From 07165f25dc2deefa77fdb20476929d9e1b363ede Mon Sep 17 00:00:00 2001 From: akatsuki-py Date: Sun, 24 May 2020 04:58:12 +0900 Subject: use rept macro --- engine/overworld/healing_machine.asm | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/engine/overworld/healing_machine.asm b/engine/overworld/healing_machine.asm index 38a44cfb..73b3fa1f 100755 --- a/engine/overworld/healing_machine.asm +++ b/engine/overworld/healing_machine.asm @@ -89,16 +89,9 @@ FlashSprite8Times: CopyHealingMachineOAM: ; copy one OAM entry and advance the pointers + rept 4 ld a, [de] inc de ld [hli], a - ld a, [de] - inc de - ld [hli], a - ld a, [de] - inc de - ld [hli], a - ld a, [de] - inc de - ld [hli], a + endr ret -- cgit v1.2.3 From 9a8811b492115a3b078a260c0e6be37b2e4c1ee4 Mon Sep 17 00:00:00 2001 From: dannye <33dannye@gmail.com> Date: Sun, 24 May 2020 18:59:05 -0500 Subject: Misc minor clean up spotted by comparing against pokeyellow --- engine/battle/animations.asm | 2 +- engine/battle/core.asm | 2 +- engine/cable_club.asm | 2 +- engine/menu/bills_pc.asm | 2 +- text/map_names.asm | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index 74e48535..7d5ab20d 100755 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -2427,7 +2427,7 @@ MoveSoundTable: db SFX_BATTLE_2A, $f0,$60 ; BUBBLEBEAM db SFX_BATTLE_28, $00,$80 ; AURORA_BEAM db SFX_BATTLE_36, $00,$80 ; HYPER_BEAM - db SFX_PECK,$01, $a0 ; PECK + db SFX_PECK, $01,$a0 ; PECK db SFX_BATTLE_13, $f0,$20 ; DRILL_PECK db SFX_BATTLE_23, $01,$c0 ; SUBMISSION db SFX_BATTLE_23, $00,$80 ; LOW_KICK diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 2b00a812..90033b53 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -2576,7 +2576,7 @@ MoveSelectionMenu: coord hl, 4, 12 ld b, 4 ld c, 14 - di ; out of pure coincidence, it is possible for vblank to occur between the di and ei + di ; out of pure coincidence, it is possible for vblank to occur between the di and ei ; so it is necessary to put the di ei block to not cause tearing call TextBoxBorder coord hl, 4, 12 diff --git a/engine/cable_club.asm b/engine/cable_club.asm index 3e72daa9..141ed396 100755 --- a/engine/cable_club.asm +++ b/engine/cable_club.asm @@ -826,7 +826,7 @@ TradeCenter_Trade: ld [wTradedEnemyMonSpecies], a ld a, 10 ld [wAudioFadeOutControl], a - ld a, $2 + ld a, BANK(Music_SafariZone) ld [wAudioSavedROMBank], a ld a, MUSIC_SAFARI_ZONE ld [wNewSoundID], a diff --git a/engine/menu/bills_pc.asm b/engine/menu/bills_pc.asm index 0864828a..a05676c4 100644 --- a/engine/menu/bills_pc.asm +++ b/engine/menu/bills_pc.asm @@ -550,5 +550,5 @@ JustAMomentText:: tx_pre_jump OpenBillsPCText OpenBillsPCText:: - db $FD ; FuncTX_BillsPC + TX_BILLS_PC diff --git a/text/map_names.asm b/text/map_names.asm index cd9f6640..c2642942 100755 --- a/text/map_names.asm +++ b/text/map_names.asm @@ -98,7 +98,7 @@ RocketHQName: SilphCoName: db "SILPH CO.@" PokemonMansionName: - db $4a," MANSION@" + db " MANSION@" SafariZoneName: db "SAFARI ZONE@" CeruleanCaveName: -- cgit v1.2.3 From f52c1bb78d5609abdabd4f2594c716bb4e0b2e69 Mon Sep 17 00:00:00 2001 From: dannye <33dannye@gmail.com> Date: Sun, 24 May 2020 19:15:21 -0500 Subject: Remove accidental file from 6ec4b00 --- pokered.sn1 | Bin 69955 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 pokered.sn1 diff --git a/pokered.sn1 b/pokered.sn1 deleted file mode 100644 index 7ff6d501..00000000 Binary files a/pokered.sn1 and /dev/null differ -- cgit v1.2.3 From 39f0bcb987ca573d86a2a22a8391236fe6534587 Mon Sep 17 00:00:00 2001 From: Nog-Frog <> Date: Tue, 26 May 2020 14:10:55 +0300 Subject: Change "Set to box" to "Sent to box" --- engine/give_pokemon.asm | 6 +++--- text.asm | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/engine/give_pokemon.asm b/engine/give_pokemon.asm index 49596782..241975c3 100755 --- a/engine/give_pokemon.asm +++ b/engine/give_pokemon.asm @@ -33,7 +33,7 @@ _GivePokemon: .next ld [hli], a ld [hl], "@" - ld hl, SetToBoxText + ld hl, SentToBoxText call PrintText scf ret @@ -73,8 +73,8 @@ GotMonText: TX_SFX_ITEM_1 db "@" -SetToBoxText: - TX_FAR _SetToBoxText +SentToBoxText: + TX_FAR _SentToBoxText db "@" BoxIsFullText: diff --git a/text.asm b/text.asm index 5a760a8e..ff87054a 100644 --- a/text.asm +++ b/text.asm @@ -2730,7 +2730,7 @@ _GotMonText:: TX_RAM wcd6d text "!@@" -_SetToBoxText:: +_SentToBoxText:: text "There's no more" line "room for #MON!" cont "@" -- cgit v1.2.3 From 18b3aa621feb498f9477b82a46611d2992732c3c Mon Sep 17 00:00:00 2001 From: akatsuki-py Date: Thu, 28 May 2020 04:15:53 +0900 Subject: fix comment in CopyDataUntil --- home.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home.asm b/home.asm index 199edbaf..28fb81c9 100644 --- a/home.asm +++ b/home.asm @@ -3560,7 +3560,7 @@ PrintLetterDelay:: pop hl ret -; Copies [hl, bc) to [de, bc - hl). +; Copies [hl, bc) to [de, de + bc - hl). ; In other words, the source data is from hl up to but not including bc, ; and the destination is de. CopyDataUntil:: -- cgit v1.2.3 From 7ecfd641fb47e4a6ed475302bc1deac17473e704 Mon Sep 17 00:00:00 2001 From: Nog-Frog Date: Fri, 29 May 2020 10:02:14 +0300 Subject: Name UnusedCD40 Every man deserves a name :) --- engine/menu/main_menu.asm | 2 +- wram.asm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/engine/menu/main_menu.asm b/engine/menu/main_menu.asm index da2e98e4..5be6bb28 100755 --- a/engine/menu/main_menu.asm +++ b/engine/menu/main_menu.asm @@ -456,7 +456,7 @@ DisplayOptionMenu: ld [wLastMenuItem], a inc a ld [wLetterPrintingDelayFlags], a - ld [wUnusedCD40], a + ld [wOptionsCancelCursorX], a ld a, 3 ; text speed cursor Y coordinate ld [wTopMenuItemY], a call SetCursorPositionsFromOptions diff --git a/wram.asm b/wram.asm index 12d52324..a506a69d 100755 --- a/wram.asm +++ b/wram.asm @@ -1046,7 +1046,7 @@ wHiddenObjectY:: ; cd40 wTrainerScreenY:: ; cd40 -wUnusedCD40:: ; cd40 +wOptionsCancelCursorX:: ; cd40 ds 1 wDayCarePerLevelCost:: ; cd41 -- cgit v1.2.3 From 20a3d843960efc48fc2e6b9e89dcf77c8341cc82 Mon Sep 17 00:00:00 2001 From: dannye <33dannye@gmail.com> Date: Fri, 29 May 2020 17:30:15 -0500 Subject: Replace hard-coded value of CRY_SFX_START --- home.asm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/home.asm b/home.asm index 28fb81c9..b8fefeb9 100644 --- a/home.asm +++ b/home.asm @@ -333,10 +333,10 @@ GetCryData:: call BankswitchBack ; Cry headers have 3 channels, - ; and start from index $14, + ; and start from index CRY_SFX_START, ; so add 3 times the cry id. ld a, b - ld c, $14 + ld c, CRY_SFX_START rlca ; * 2 add b add c -- cgit v1.2.3 From 9c01ebc14757a8b4e52033691f0807d116633492 Mon Sep 17 00:00:00 2001 From: Nog-Frog Date: Tue, 2 Jun 2020 12:39:06 +0300 Subject: Change wGrassRate to wLinkEnemyTrainerName --- text.asm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/text.asm b/text.asm index ff87054a..a97ac7c0 100644 --- a/text.asm +++ b/text.asm @@ -255,7 +255,7 @@ _TradeWentToText:: TX_RAM wcf4b text " went" line "to @" - TX_RAM wGrassRate + TX_RAM wLinkEnemyTrainerName text "." done @@ -267,7 +267,7 @@ _TradeForText:: done _TradeSendsText:: - TX_RAM wGrassRate + TX_RAM wLinkEnemyTrainerName text " sends" line "@" TX_RAM wcd6d @@ -275,7 +275,7 @@ _TradeSendsText:: done _TradeWavesFarewellText:: - TX_RAM wGrassRate + TX_RAM wLinkEnemyTrainerName text " waves" line "farewell as" done @@ -294,7 +294,7 @@ _TradeTakeCareText:: done _TradeWillTradeText:: - TX_RAM wGrassRate + TX_RAM wLinkEnemyTrainerName text " will" line "trade @" TX_RAM wcd6d -- cgit v1.2.3 From 09f07502b3aada1b6eef1e2c69944ea46b328c78 Mon Sep 17 00:00:00 2001 From: Akatsuki-py Date: Fri, 5 Jun 2020 04:32:12 +0900 Subject: fix SubtractAmountPaidFromMoney comment --- engine/subtract_paid_money.asm | 4 ++-- home.asm | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/engine/subtract_paid_money.asm b/engine/subtract_paid_money.asm index a6a6ec2e..1f12db6c 100644 --- a/engine/subtract_paid_money.asm +++ b/engine/subtract_paid_money.asm @@ -1,5 +1,5 @@ -; subtracts the amount the player paid from their money -; sets carry flag if there is enough money and unsets carry flag if not +; subtracts the amount the player paid from their money +; OUTPUT: carry = 0(success) or 1(fail because there is not enough money) SubtractAmountPaidFromMoney_: ld de, wPlayerMoney ld hl, hMoney ; total price of items diff --git a/home.asm b/home.asm index b8fefeb9..677a7253 100644 --- a/home.asm +++ b/home.asm @@ -1306,8 +1306,8 @@ CountSetBits:: ld [wNumSetBits], a ret -; subtracts the amount the player paid from their money -; sets carry flag if there is enough money and unsets carry flag if not +; subtracts the amount the player paid from their money +; OUTPUT: carry = 0(success) or 1(fail because there is not enough money) SubtractAmountPaidFromMoney:: jpba SubtractAmountPaidFromMoney_ -- cgit v1.2.3 From a3b6d69efc96f41f82a5b9c5dbe4eff3c9f84118 Mon Sep 17 00:00:00 2001 From: Akatsuki-py Date: Sat, 6 Jun 2020 10:50:05 +0900 Subject: remove two whitespaces --- engine/subtract_paid_money.asm | 2 +- home.asm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/engine/subtract_paid_money.asm b/engine/subtract_paid_money.asm index 1f12db6c..2f4c2243 100644 --- a/engine/subtract_paid_money.asm +++ b/engine/subtract_paid_money.asm @@ -1,4 +1,4 @@ -; subtracts the amount the player paid from their money +; subtracts the amount the player paid from their money ; OUTPUT: carry = 0(success) or 1(fail because there is not enough money) SubtractAmountPaidFromMoney_: ld de, wPlayerMoney diff --git a/home.asm b/home.asm index 677a7253..e0ef5539 100644 --- a/home.asm +++ b/home.asm @@ -1306,7 +1306,7 @@ CountSetBits:: ld [wNumSetBits], a ret -; subtracts the amount the player paid from their money +; subtracts the amount the player paid from their money ; OUTPUT: carry = 0(success) or 1(fail because there is not enough money) SubtractAmountPaidFromMoney:: jpba SubtractAmountPaidFromMoney_ -- cgit v1.2.3 From 0a62d48df2d73c11ca13e4c3015d3d3abfa20292 Mon Sep 17 00:00:00 2001 From: Rangi Date: Tue, 23 Jun 2020 17:50:50 -0400 Subject: Move more tables from engine/ to data/ This also splits the end of engine/battle/core.asm into engine/battle/effects.asm. --- data/battle/always_happen_effects.asm | 13 + data/battle/critical_hit_moves.asm | 6 + data/battle/residual_effects_1.asm | 20 + data/battle/residual_effects_2.asm | 32 + data/battle/set_damage_effects.asm | 6 + data/battle/special_effects.asm | 24 + data/battle/stat_modifiers.asm | 15 + data/battle/unused_critical_hit_moves.asm | 6 + data/bookshelf_tile_ids.asm | 37 + data/cut_tree_blocks.asm | 13 + data/door_tile_ids.asm | 48 + data/dungeon_maps.asm | 29 + data/effects_pointers.asm | 87 ++ data/growth_rates.asm | 12 + data/guard_drink_items.asm | 2 + data/ledge_tiles.asm | 11 + data/mon_party_sprite_pointers.asm | 140 +++ data/move_animation_pointers.asm | 81 ++ data/move_animation_special_effects.asm | 75 ++ data/move_grammar.asm | 14 + data/move_sfx.asm | 168 +++ data/overworld_items.asm | 9 + data/party_items.asm | 39 + data/predef_pointers.asm | 102 ++ data/rest_house_maps.asm | 5 + data/trainer_ai_pointers.asm | 51 + data/trainer_move_choices.asm | 50 + data/trainer_pic_money_pointers.asm | 143 +++ data/vending_prices.asm | 7 + data/warp_carpet_tile_ids.asm | 17 + data/warp_pad_hole_tile_ids.asm | 7 + data/water_tilesets.asm | 4 + data/wild_probabilities.asm | 15 + engine/battle/animations.asm | 327 +---- engine/battle/battle_transitions.asm | 30 +- engine/battle/common_text.asm | 2 +- engine/battle/core.asm | 1732 +------------------------- engine/battle/effects.asm | 1493 ++++++++++++++++++++++ engine/battle/save_trainer_name.asm | 93 +- engine/battle/trainer_ai.asm | 107 +- engine/battle/trainer_pic_money_pointers.asm | 143 --- engine/battle/wild_encounters.asm | 16 +- engine/experience.asm | 13 +- engine/hidden_object_functions3.asm | 38 +- engine/items/items.asm | 5 +- engine/menu/bills_pc.asm | 8 +- engine/menu/naming_screen.asm | 22 +- engine/menu/start_sub_menus.asm | 50 +- engine/menu/vending_machine.asm | 8 +- engine/mon_party_sprites.asm | 141 +-- engine/oak_speech2.asm | 57 +- engine/overworld/cut.asm | 14 +- engine/overworld/doors.asm | 49 +- engine/overworld/ledges.asm | 12 +- engine/overworld/player_animations.asm | 10 +- engine/overworld/player_state.asm | 28 +- engine/overworld/saffron_guards.asm | 3 +- engine/overworld/set_blackout_map.asm | 6 +- engine/predefs.asm | 103 +- main.asm | 1 + text/alphabets.asm | 5 + text/dakutens.asm | 15 + text/player_names.asm | 31 + text/player_names_list.asm | 27 + text/stat_names.asm | 7 + text/trainer_name_pointers.asm | 92 ++ 66 files changed, 3007 insertions(+), 2969 deletions(-) create mode 100644 data/battle/always_happen_effects.asm create mode 100644 data/battle/critical_hit_moves.asm create mode 100644 data/battle/residual_effects_1.asm create mode 100644 data/battle/residual_effects_2.asm create mode 100644 data/battle/set_damage_effects.asm create mode 100644 data/battle/special_effects.asm create mode 100644 data/battle/stat_modifiers.asm create mode 100644 data/battle/unused_critical_hit_moves.asm create mode 100644 data/bookshelf_tile_ids.asm create mode 100644 data/cut_tree_blocks.asm create mode 100644 data/door_tile_ids.asm create mode 100644 data/dungeon_maps.asm create mode 100644 data/effects_pointers.asm create mode 100644 data/growth_rates.asm create mode 100644 data/guard_drink_items.asm create mode 100644 data/ledge_tiles.asm create mode 100644 data/mon_party_sprite_pointers.asm create mode 100644 data/move_animation_pointers.asm create mode 100644 data/move_animation_special_effects.asm create mode 100644 data/move_grammar.asm create mode 100644 data/move_sfx.asm create mode 100644 data/overworld_items.asm create mode 100644 data/party_items.asm create mode 100644 data/predef_pointers.asm create mode 100644 data/rest_house_maps.asm create mode 100644 data/trainer_ai_pointers.asm create mode 100644 data/trainer_move_choices.asm create mode 100755 data/trainer_pic_money_pointers.asm create mode 100644 data/vending_prices.asm create mode 100644 data/warp_carpet_tile_ids.asm create mode 100644 data/warp_pad_hole_tile_ids.asm create mode 100644 data/water_tilesets.asm create mode 100644 data/wild_probabilities.asm create mode 100644 engine/battle/effects.asm delete mode 100755 engine/battle/trainer_pic_money_pointers.asm create mode 100644 text/alphabets.asm create mode 100644 text/dakutens.asm create mode 100644 text/player_names.asm create mode 100644 text/player_names_list.asm create mode 100644 text/stat_names.asm create mode 100644 text/trainer_name_pointers.asm diff --git a/data/battle/always_happen_effects.asm b/data/battle/always_happen_effects.asm new file mode 100644 index 00000000..4b6d466f --- /dev/null +++ b/data/battle/always_happen_effects.asm @@ -0,0 +1,13 @@ +AlwaysHappenSideEffects: +; Attacks that aren't finished after they faint the opponent. + db DRAIN_HP_EFFECT + db EXPLODE_EFFECT + db DREAM_EATER_EFFECT + db PAY_DAY_EFFECT + db TWO_TO_FIVE_ATTACKS_EFFECT + db $1E + db ATTACK_TWICE_EFFECT + db RECOIL_EFFECT + db TWINEEDLE_EFFECT + db RAGE_EFFECT + db -1 diff --git a/data/battle/critical_hit_moves.asm b/data/battle/critical_hit_moves.asm new file mode 100644 index 00000000..ee7543e8 --- /dev/null +++ b/data/battle/critical_hit_moves.asm @@ -0,0 +1,6 @@ +HighCriticalMoves: + db KARATE_CHOP + db RAZOR_LEAF + db CRABHAMMER + db SLASH + db $FF diff --git a/data/battle/residual_effects_1.asm b/data/battle/residual_effects_1.asm new file mode 100644 index 00000000..36e28391 --- /dev/null +++ b/data/battle/residual_effects_1.asm @@ -0,0 +1,20 @@ +; These are move effects (second value from the Moves table in bank $E). +ResidualEffects1: +; most non-side effects + db CONVERSION_EFFECT + db HAZE_EFFECT + db SWITCH_AND_TELEPORT_EFFECT + db MIST_EFFECT + db FOCUS_ENERGY_EFFECT + db CONFUSION_EFFECT + db HEAL_EFFECT + db TRANSFORM_EFFECT + db LIGHT_SCREEN_EFFECT + db REFLECT_EFFECT + db POISON_EFFECT + db PARALYZE_EFFECT + db SUBSTITUTE_EFFECT + db MIMIC_EFFECT + db LEECH_SEED_EFFECT + db SPLASH_EFFECT + db -1 diff --git a/data/battle/residual_effects_2.asm b/data/battle/residual_effects_2.asm new file mode 100644 index 00000000..cde55cc9 --- /dev/null +++ b/data/battle/residual_effects_2.asm @@ -0,0 +1,32 @@ +ResidualEffects2: +; non-side effects not included in ResidualEffects1 +; stat-affecting moves, sleep-inflicting moves, and Bide +; e.g., Meditate, Bide, Hypnosis + db $01 + db ATTACK_UP1_EFFECT + db DEFENSE_UP1_EFFECT + db SPEED_UP1_EFFECT + db SPECIAL_UP1_EFFECT + db ACCURACY_UP1_EFFECT + db EVASION_UP1_EFFECT + db ATTACK_DOWN1_EFFECT + db DEFENSE_DOWN1_EFFECT + db SPEED_DOWN1_EFFECT + db SPECIAL_DOWN1_EFFECT + db ACCURACY_DOWN1_EFFECT + db EVASION_DOWN1_EFFECT + db BIDE_EFFECT + db SLEEP_EFFECT + db ATTACK_UP2_EFFECT + db DEFENSE_UP2_EFFECT + db SPEED_UP2_EFFECT + db SPECIAL_UP2_EFFECT + db ACCURACY_UP2_EFFECT + db EVASION_UP2_EFFECT + db ATTACK_DOWN2_EFFECT + db DEFENSE_DOWN2_EFFECT + db SPEED_DOWN2_EFFECT + db SPECIAL_DOWN2_EFFECT + db ACCURACY_DOWN2_EFFECT + db EVASION_DOWN2_EFFECT + db -1 diff --git a/data/battle/set_damage_effects.asm b/data/battle/set_damage_effects.asm new file mode 100644 index 00000000..3fc75e41 --- /dev/null +++ b/data/battle/set_damage_effects.asm @@ -0,0 +1,6 @@ +SetDamageEffects: +; moves that do damage but not through normal calculations +; e.g., Super Fang, Psywave + db SUPER_FANG_EFFECT + db SPECIAL_DAMAGE_EFFECT + db -1 diff --git a/data/battle/special_effects.asm b/data/battle/special_effects.asm new file mode 100644 index 00000000..0db05b9a --- /dev/null +++ b/data/battle/special_effects.asm @@ -0,0 +1,24 @@ +SpecialEffects: +; Effects from arrays 2, 4, and 5B, minus Twineedle and Rage. +; Includes all effects that do not need to be called at the end of +; ExecutePlayerMove (or ExecuteEnemyMove), because they have already been handled + db DRAIN_HP_EFFECT + db EXPLODE_EFFECT + db DREAM_EATER_EFFECT + db PAY_DAY_EFFECT + db SWIFT_EFFECT + db TWO_TO_FIVE_ATTACKS_EFFECT + db $1E + db CHARGE_EFFECT + db SUPER_FANG_EFFECT + db SPECIAL_DAMAGE_EFFECT + db FLY_EFFECT + db ATTACK_TWICE_EFFECT + db JUMP_KICK_EFFECT + db RECOIL_EFFECT + ; fallthrough to Next EffectsArray +SpecialEffectsCont: +; damaging moves whose effect is executed prior to damage calculation + db THRASH_PETAL_DANCE_EFFECT + db TRAPPING_EFFECT + db -1 diff --git a/data/battle/stat_modifiers.asm b/data/battle/stat_modifiers.asm new file mode 100644 index 00000000..c0a6355a --- /dev/null +++ b/data/battle/stat_modifiers.asm @@ -0,0 +1,15 @@ +StatModifierRatios: +; first byte is numerator, second byte is denominator + db 25, 100 ; 0.25 + db 28, 100 ; 0.28 + db 33, 100 ; 0.33 + db 40, 100 ; 0.40 + db 50, 100 ; 0.50 + db 66, 100 ; 0.66 + db 1, 1 ; 1.00 + db 15, 10 ; 1.50 + db 2, 1 ; 2.00 + db 25, 10 ; 2.50 + db 3, 1 ; 3.00 + db 35, 10 ; 3.50 + db 4, 1 ; 4.00 diff --git a/data/battle/unused_critical_hit_moves.asm b/data/battle/unused_critical_hit_moves.asm new file mode 100644 index 00000000..84cb65ce --- /dev/null +++ b/data/battle/unused_critical_hit_moves.asm @@ -0,0 +1,6 @@ +UnusedHighCriticalMoves: + db KARATE_CHOP + db RAZOR_LEAF + db CRABHAMMER + db SLASH + db $FF diff --git a/data/bookshelf_tile_ids.asm b/data/bookshelf_tile_ids.asm new file mode 100644 index 00000000..535bf8e9 --- /dev/null +++ b/data/bookshelf_tile_ids.asm @@ -0,0 +1,37 @@ +; format: db tileset id, bookshelf tile id, text id +BookshelfTileIDs: + db PLATEAU, $30 + db_tx_pre IndigoPlateauStatues + db HOUSE, $3D + db_tx_pre TownMapText + db HOUSE, $1E + db_tx_pre BookOrSculptureText + db MANSION, $32 + db_tx_pre BookOrSculptureText + db REDS_HOUSE_1, $32 + db_tx_pre BookOrSculptureText + db LAB, $28 + db_tx_pre BookOrSculptureText + db LOBBY, $16 + db_tx_pre ElevatorText + db GYM, $1D + db_tx_pre BookOrSculptureText + db DOJO, $1D + db_tx_pre BookOrSculptureText + db GATE, $22 + db_tx_pre BookOrSculptureText + db MART, $54 + db_tx_pre PokemonStuffText + db MART, $55 + db_tx_pre PokemonStuffText + db POKECENTER, $54 + db_tx_pre PokemonStuffText + db POKECENTER, $55 + db_tx_pre PokemonStuffText + db LOBBY, $50 + db_tx_pre PokemonStuffText + db LOBBY, $52 + db_tx_pre PokemonStuffText + db SHIP, $36 + db_tx_pre BookOrSculptureText + db $FF diff --git a/data/cut_tree_blocks.asm b/data/cut_tree_blocks.asm new file mode 100644 index 00000000..eb63a712 --- /dev/null +++ b/data/cut_tree_blocks.asm @@ -0,0 +1,13 @@ +CutTreeBlockSwaps: +; first byte = tileset block containing the cut tree +; second byte = corresponding tileset block after the cut animation happens + db $32, $6D + db $33, $6C + db $34, $6F + db $35, $4C + db $60, $6E + db $0B, $0A + db $3C, $35 + db $3F, $35 + db $3D, $36 + db $FF ; list terminator diff --git a/data/door_tile_ids.asm b/data/door_tile_ids.asm new file mode 100644 index 00000000..686e418c --- /dev/null +++ b/data/door_tile_ids.asm @@ -0,0 +1,48 @@ +DoorTileIDPointers: + dbw OVERWORLD, OverworldDoorTileIDs + dbw FOREST, ForestDoorTileIDs + dbw MART, MartDoorTileIDs + dbw HOUSE, HouseDoorTileIDs + dbw FOREST_GATE, TilesetMuseumDoorTileIDs + dbw MUSEUM, TilesetMuseumDoorTileIDs + dbw GATE, TilesetMuseumDoorTileIDs + dbw SHIP, ShipDoorTileIDs + dbw LOBBY, LobbyDoorTileIDs + dbw MANSION, MansionDoorTileIDs + dbw LAB, LabDoorTileIDs + dbw FACILITY, FacilityDoorTileIDs + dbw PLATEAU, PlateauDoorTileIDs + db $ff + +OverworldDoorTileIDs: + db $1B,$58,$00 + +ForestDoorTileIDs: + db $3a,$00 + +MartDoorTileIDs: + db $5e,$00 + +HouseDoorTileIDs: + db $54,$00 + +TilesetMuseumDoorTileIDs: + db $3b,$00 + +ShipDoorTileIDs: + db $1e,$00 + +LobbyDoorTileIDs: + db $1c,$38,$1a,$00 + +MansionDoorTileIDs: + db $1a,$1c,$53,$00 + +LabDoorTileIDs: + db $34,$00 + +FacilityDoorTileIDs: + db $43,$58,$1b,$00 + +PlateauDoorTileIDs: + db $3b,$1b,$00 diff --git a/data/dungeon_maps.asm b/data/dungeon_maps.asm new file mode 100644 index 00000000..118cf46b --- /dev/null +++ b/data/dungeon_maps.asm @@ -0,0 +1,29 @@ +; GetBattleTransitionID_IsDungeonMap checks if wCurMap +; is equal to one of these maps +DungeonMaps1: + db VIRIDIAN_FOREST + db ROCK_TUNNEL_1F + db SEAFOAM_ISLANDS_1F + db ROCK_TUNNEL_B1F + db $FF + +; GetBattleTransitionID_IsDungeonMap checks if wCurMap +; is in between or equal to each pair of maps +DungeonMaps2: + ; all MT_MOON maps + db MT_MOON_1F + db MT_MOON_B2F + + ; all SS_ANNE maps, VICTORY_ROAD_1F, LANCES_ROOM, and HALL_OF_FAME + db SS_ANNE_1F + db HALL_OF_FAME + + ; all POKEMON_TOWER maps and Lavender Town buildings + db LAVENDER_POKECENTER + db LAVENDER_CUBONE_HOUSE + + ; SILPH_CO_[2-8]F, POKEMON_MANSION[2F-B1F], SAFARI_ZONE, and + ; CERULEAN_CAVE maps, except for SILPH_CO_1F + db SILPH_CO_2F + db CERULEAN_CAVE_1F + db $FF diff --git a/data/effects_pointers.asm b/data/effects_pointers.asm new file mode 100644 index 00000000..0d36e887 --- /dev/null +++ b/data/effects_pointers.asm @@ -0,0 +1,87 @@ +MoveEffectPointerTable: + dw SleepEffect ; unused effect + dw PoisonEffect ; POISON_SIDE_EFFECT1 + dw DrainHPEffect ; DRAIN_HP_EFFECT + dw FreezeBurnParalyzeEffect ; BURN_SIDE_EFFECT1 + dw FreezeBurnParalyzeEffect ; FREEZE_SIDE_EFFECT + dw FreezeBurnParalyzeEffect ; PARALYZE_SIDE_EFFECT1 + dw ExplodeEffect ; EXPLODE_EFFECT + dw DrainHPEffect ; DREAM_EATER_EFFECT + dw $0000 ; MIRROR_MOVE_EFFECT + dw StatModifierUpEffect ; ATTACK_UP1_EFFECT + dw StatModifierUpEffect ; DEFENSE_UP1_EFFECT + dw StatModifierUpEffect ; SPEED_UP1_EFFECT + dw StatModifierUpEffect ; SPECIAL_UP1_EFFECT + dw StatModifierUpEffect ; ACCURACY_UP1_EFFECT + dw StatModifierUpEffect ; EVASION_UP1_EFFECT + dw PayDayEffect ; PAY_DAY_EFFECT + dw $0000 ; SWIFT_EFFECT + dw StatModifierDownEffect ; ATTACK_DOWN1_EFFECT + dw StatModifierDownEffect ; DEFENSE_DOWN1_EFFECT + dw StatModifierDownEffect ; SPEED_DOWN1_EFFECT + dw StatModifierDownEffect ; SPECIAL_DOWN1_EFFECT + dw StatModifierDownEffect ; ACCURACY_DOWN1_EFFECT + dw StatModifierDownEffect ; EVASION_DOWN1_EFFECT + dw ConversionEffect ; CONVERSION_EFFECT + dw HazeEffect ; HAZE_EFFECT + dw BideEffect ; BIDE_EFFECT + dw ThrashPetalDanceEffect ; THRASH_PETAL_DANCE_EFFECT + dw SwitchAndTeleportEffect ; SWITCH_AND_TELEPORT_EFFECT + dw TwoToFiveAttacksEffect ; TWO_TO_FIVE_ATTACKS_EFFECT + dw TwoToFiveAttacksEffect ; unused effect + dw FlinchSideEffect ; FLINCH_SIDE_EFFECT1 + dw SleepEffect ; SLEEP_EFFECT + dw PoisonEffect ; POISON_SIDE_EFFECT2 + dw FreezeBurnParalyzeEffect ; BURN_SIDE_EFFECT2 + dw FreezeBurnParalyzeEffect ; unused effect + dw FreezeBurnParalyzeEffect ; PARALYZE_SIDE_EFFECT2 + dw FlinchSideEffect ; FLINCH_SIDE_EFFECT2 + dw OneHitKOEffect ; OHKO_EFFECT + dw ChargeEffect ; CHARGE_EFFECT + dw $0000 ; SUPER_FANG_EFFECT + dw $0000 ; SPECIAL_DAMAGE_EFFECT + dw TrappingEffect ; TRAPPING_EFFECT + dw ChargeEffect ; FLY_EFFECT + dw TwoToFiveAttacksEffect ; ATTACK_TWICE_EFFECT + dw $0000 ; JUMP_KICK_EFFECT + dw MistEffect ; MIST_EFFECT + dw FocusEnergyEffect ; FOCUS_ENERGY_EFFECT + dw RecoilEffect ; RECOIL_EFFECT + dw ConfusionEffect ; CONFUSION_EFFECT + dw StatModifierUpEffect ; ATTACK_UP2_EFFECT + dw StatModifierUpEffect ; DEFENSE_UP2_EFFECT + dw StatModifierUpEffect ; SPEED_UP2_EFFECT + dw StatModifierUpEffect ; SPECIAL_UP2_EFFECT + dw StatModifierUpEffect ; ACCURACY_UP2_EFFECT + dw StatModifierUpEffect ; EVASION_UP2_EFFECT + dw HealEffect ; HEAL_EFFECT + dw TransformEffect ; TRANSFORM_EFFECT + dw StatModifierDownEffect ; ATTACK_DOWN2_EFFECT + dw StatModifierDownEffect ; DEFENSE_DOWN2_EFFECT + dw StatModifierDownEffect ; SPEED_DOWN2_EFFECT + dw StatModifierDownEffect ; SPECIAL_DOWN2_EFFECT + dw StatModifierDownEffect ; ACCURACY_DOWN2_EFFECT + dw StatModifierDownEffect ; EVASION_DOWN2_EFFECT + dw ReflectLightScreenEffect ; LIGHT_SCREEN_EFFECT + dw ReflectLightScreenEffect ; REFLECT_EFFECT + dw PoisonEffect ; POISON_EFFECT + dw ParalyzeEffect ; PARALYZE_EFFECT + dw StatModifierDownEffect ; ATTACK_DOWN_SIDE_EFFECT + dw StatModifierDownEffect ; DEFENSE_DOWN_SIDE_EFFECT + dw StatModifierDownEffect ; SPEED_DOWN_SIDE_EFFECT + dw StatModifierDownEffect ; SPECIAL_DOWN_SIDE_EFFECT + dw StatModifierDownEffect ; unused effect + dw StatModifierDownEffect ; unused effect + dw StatModifierDownEffect ; unused effect + dw StatModifierDownEffect ; unused effect + dw ConfusionSideEffect ; CONFUSION_SIDE_EFFECT + dw TwoToFiveAttacksEffect ; TWINEEDLE_EFFECT + dw $0000 ; unused effect + dw SubstituteEffect ; SUBSTITUTE_EFFECT + dw HyperBeamEffect ; HYPER_BEAM_EFFECT + dw RageEffect ; RAGE_EFFECT + dw MimicEffect ; MIMIC_EFFECT + dw $0000 ; METRONOME_EFFECT + dw LeechSeedEffect ; LEECH_SEED_EFFECT + dw SplashEffect ; SPLASH_EFFECT + dw DisableEffect ; DISABLE_EFFECT diff --git a/data/growth_rates.asm b/data/growth_rates.asm new file mode 100644 index 00000000..6c443183 --- /dev/null +++ b/data/growth_rates.asm @@ -0,0 +1,12 @@ +; each entry has the following scheme: +; %AAAABBBB %SCCCCCCC %DDDDDDDD %EEEEEEEE +; resulting in +; (a*n^3)/b + sign*c*n^2 + d*n - e +; where sign = -1 <=> S=1 +GrowthRateTable: + db $11,$00,$00,$00 ; medium fast n^3 + db $34,$0A,$00,$1E ; (unused?) 3/4 n^3 + 10 n^2 - 30 + db $34,$14,$00,$46 ; (unused?) 3/4 n^3 + 20 n^2 - 70 + db $65,$8F,$64,$8C ; medium slow: 6/5 n^3 - 15 n^2 + 100 n - 140 + db $45,$00,$00,$00 ; fast: 4/5 n^3 + db $54,$00,$00,$00 ; slow: 5/4 n^3 diff --git a/data/guard_drink_items.asm b/data/guard_drink_items.asm new file mode 100644 index 00000000..effef203 --- /dev/null +++ b/data/guard_drink_items.asm @@ -0,0 +1,2 @@ +GuardDrinksList: + db FRESH_WATER, SODA_POP, LEMONADE, $00 diff --git a/data/ledge_tiles.asm b/data/ledge_tiles.asm new file mode 100644 index 00000000..b742af1a --- /dev/null +++ b/data/ledge_tiles.asm @@ -0,0 +1,11 @@ +LedgeTiles: + ; (player direction) (tile player standing on) (ledge tile) (input required) + db SPRITE_FACING_DOWN, $2C,$37,D_DOWN + db SPRITE_FACING_DOWN, $39,$36,D_DOWN + db SPRITE_FACING_DOWN, $39,$37,D_DOWN + db SPRITE_FACING_LEFT, $2C,$27,D_LEFT + db SPRITE_FACING_LEFT, $39,$27,D_LEFT + db SPRITE_FACING_RIGHT,$2C,$0D,D_RIGHT + db SPRITE_FACING_RIGHT,$2C,$1D,D_RIGHT + db SPRITE_FACING_RIGHT,$39,$0D,D_RIGHT + db $FF diff --git a/data/mon_party_sprite_pointers.asm b/data/mon_party_sprite_pointers.asm new file mode 100644 index 00000000..7e94b04a --- /dev/null +++ b/data/mon_party_sprite_pointers.asm @@ -0,0 +1,140 @@ +MonPartySpritePointers: + dw SlowbroSprite + $c0 + db $40 / $10 ; 40 bytes + db BANK(SlowbroSprite) + dw vSprites + + dw BallSprite + db $80 / $10 ; $80 bytes + db BANK(BallSprite) + dw vSprites + $40 + + dw ClefairySprite + $c0 + db $40 / $10 ; $40 bytes + db BANK(ClefairySprite) + dw vSprites + $c0 + + dw BirdSprite + $c0 + db $40 / $10 ; $40 bytes + db BANK(BirdSprite) + dw vSprites + $100 + + dw SeelSprite + db $40 / $10 ; $40 bytes + db BANK(SeelSprite) + dw vSprites + $140 + + dw MonPartySprites + $40 + db $10 / $10 ; $10 bytes + db BANK(MonPartySprites) + dw vSprites + $180 + + dw MonPartySprites + $50 + db $10 / $10 ; $10 bytes + db BANK(MonPartySprites) + dw vSprites + $1a0 + + dw MonPartySprites + $60 + db $10 / $10 ; $10 bytes + db BANK(MonPartySprites) + dw vSprites + $1c0 + + dw MonPartySprites + $70 + db $10 / $10 ; $10 bytes + db BANK(MonPartySprites) + dw vSprites + $1e0 + + dw MonPartySprites + $80 + db $10 / $10 ; $10 bytes + db BANK(MonPartySprites) + dw vSprites + $200 + + dw MonPartySprites + $90 + db $10 / $10 ; $10 bytes + db BANK(MonPartySprites) + dw vSprites + $220 + + dw MonPartySprites + $A0 + db $10 / $10 ; $10 bytes + db BANK(MonPartySprites) + dw vSprites + $240 + + dw MonPartySprites + $B0 + db $10 / $10 ; $10 bytes + db BANK(MonPartySprites) + dw vSprites + $260 + + dw MonPartySprites + $100 + db $40 / $10 ; $40 bytes + db BANK(MonPartySprites) + dw vSprites + $380 + + dw SlowbroSprite + db $40 / $10 ; $40 bytes + db BANK(SlowbroSprite) + dw vSprites + $400 + + dw BallSprite + db $80 / $10 ; $80 bytes + db BANK(BallSprite) + dw vSprites + $440 + + dw ClefairySprite + db $40 / $10 ; $40 bytes + db BANK(ClefairySprite) + dw vSprites + $4c0 + + dw BirdSprite + db $40 / $10 ; $40 bytes + db BANK(BirdSprite) + dw vSprites + $500 + + dw SeelSprite + $C0 + db $40 / $10 ; $40 bytes + db BANK(SeelSprite) + dw vSprites + $540 + + dw MonPartySprites + db $10 / $10 ; $10 bytes + db BANK(MonPartySprites) + dw vSprites + $580 + + dw MonPartySprites + $10 + db $10 / $10 ; $10 bytes + db BANK(MonPartySprites) + dw vSprites + $5a0 + + dw MonPartySprites + $20 + db $10 / $10 ; $10 bytes + db BANK(MonPartySprites) + dw vSprites + $5c0 + + dw MonPartySprites + $30 + db $10 / $10 ; $10 bytes + db BANK(MonPartySprites) + dw vSprites + $5E0 + + dw MonPartySprites + $C0 + db $10 / $10 ; $10 bytes + db BANK(MonPartySprites) + dw vSprites + $600 + + dw MonPartySprites + $D0 + db $10 / $10 ; $10 bytes + db BANK(MonPartySprites) + dw vSprites + $620 + + dw MonPartySprites + $E0 + db $10 / $10 ; $10 bytes + db BANK(MonPartySprites) + dw vSprites + $640 + + dw MonPartySprites + $F0 + db $10 / $10 ; $10 bytes + db BANK(MonPartySprites) + dw vSprites + $660 + + dw MonPartySprites + $140 + db $40 / $10 ; $40 bytes + db BANK(MonPartySprites) + dw vSprites + $780 diff --git a/data/move_animation_pointers.asm b/data/move_animation_pointers.asm new file mode 100644 index 00000000..ba607141 --- /dev/null +++ b/data/move_animation_pointers.asm @@ -0,0 +1,81 @@ +; Format: Special Effect ID (1 byte), Address (2 bytes) +SpecialEffectPointers: + db SE_DARK_SCREEN_FLASH ; $FE + dw AnimationFlashScreen + db SE_DARK_SCREEN_PALETTE ; $FD + dw AnimationDarkScreenPalette + db SE_RESET_SCREEN_PALETTE ; $FC + dw AnimationResetScreenPalette + db SE_SHAKE_SCREEN ; $FB + dw AnimationShakeScreen + db SE_WATER_DROPLETS_EVERYWHERE ; $FA + dw AnimationWaterDropletsEverywhere + db SE_DARKEN_MON_PALETTE ; $F9 + dw AnimationDarkenMonPalette + db SE_FLASH_SCREEN_LONG ; $F8 + dw AnimationFlashScreenLong + db SE_SLIDE_MON_UP ; $F7 + dw AnimationSlideMonUp + db SE_SLIDE_MON_DOWN ; $F6 + dw AnimationSlideMonDown + db SE_FLASH_MON_PIC ; $F5 + dw AnimationFlashMonPic + db SE_SLIDE_MON_OFF ; $F4 + dw AnimationSlideMonOff + db SE_BLINK_MON ; $F3 + dw AnimationBlinkMon + db SE_MOVE_MON_HORIZONTALLY ; $F2 + dw AnimationMoveMonHorizontally + db SE_RESET_MON_POSITION ; $F1 + dw AnimationResetMonPosition + db SE_LIGHT_SCREEN_PALETTE ; $F0 + dw AnimationLightScreenPalette + db SE_HIDE_MON_PIC ; $EF + dw AnimationHideMonPic + db SE_SQUISH_MON_PIC ; $EE + dw AnimationSquishMonPic + db SE_SHOOT_BALLS_UPWARD ; $ED + dw AnimationShootBallsUpward + db SE_SHOOT_MANY_BALLS_UPWARD ; $EC + dw AnimationShootManyBallsUpward + db SE_BOUNCE_UP_AND_DOWN ; $EB + dw AnimationBoundUpAndDown + db SE_MINIMIZE_MON ; $EA + dw AnimationMinimizeMon + db SE_SLIDE_MON_DOWN_AND_HIDE ; $E9 + dw AnimationSlideMonDownAndHide + db SE_TRANSFORM_MON ; $E8 + dw AnimationTransformMon + db SE_LEAVES_FALLING ; $E7 + dw AnimationLeavesFalling + db SE_PETALS_FALLING ; $E6 + dw AnimationPetalsFalling + db SE_SLIDE_MON_HALF_OFF ; $E5 + dw AnimationSlideMonHalfOff + db SE_SHAKE_ENEMY_HUD ; $E4 + dw AnimationShakeEnemyHUD + db SE_SHAKE_ENEMY_HUD_2 ; unused--same pointer as SE_SHAKE_ENEMY_HUD ($E4) + dw AnimationShakeEnemyHUD + db SE_SPIRAL_BALLS_INWARD ; $E2 + dw AnimationSpiralBallsInward + db SE_DELAY_ANIMATION_10 ; $E1 + dw AnimationDelay10 + db SE_FLASH_ENEMY_MON_PIC ; unused--same as SE_FLASH_MON_PIC ($F5), but for the enemy mon + dw AnimationFlashEnemyMonPic + db SE_HIDE_ENEMY_MON_PIC ; $DF + dw AnimationHideEnemyMonPic + db SE_BLINK_ENEMY_MON ; $DE + dw AnimationBlinkEnemyMon + db SE_SHOW_MON_PIC ; $DD + dw AnimationShowMonPic + db SE_SHOW_ENEMY_MON_PIC ; $DC + dw AnimationShowEnemyMonPic + db SE_SLIDE_ENEMY_MON_OFF ; $DB + dw AnimationSlideEnemyMonOff + db SE_SHAKE_BACK_AND_FORTH ; $DA + dw AnimationShakeBackAndForth + db SE_SUBSTITUTE_MON ; $D9 + dw AnimationSubstitute + db SE_WAVY_SCREEN ; $D8 + dw AnimationWavyScreen + db $FF diff --git a/data/move_animation_special_effects.asm b/data/move_animation_special_effects.asm new file mode 100644 index 00000000..9dfb5645 --- /dev/null +++ b/data/move_animation_special_effects.asm @@ -0,0 +1,75 @@ +; Format: Animation ID (1 byte), Address (2 bytes) +AnimationIdSpecialEffects: + db MEGA_PUNCH + dw AnimationFlashScreen + + db GUILLOTINE + dw AnimationFlashScreen + + db MEGA_KICK + dw AnimationFlashScreen + + db HEADBUTT + dw AnimationFlashScreen + + db TAIL_WHIP + dw TailWhipAnimationUnused + + db GROWL + dw DoGrowlSpecialEffects + + db DISABLE + dw AnimationFlashScreen + + db BLIZZARD + dw DoBlizzardSpecialEffects + + db BUBBLEBEAM + dw AnimationFlashScreen + + db HYPER_BEAM + dw FlashScreenEveryFourFrameBlocks + + db THUNDERBOLT + dw FlashScreenEveryEightFrameBlocks + + db REFLECT + dw AnimationFlashScreen + + db SELFDESTRUCT + dw DoExplodeSpecialEffects + + db SPORE + dw AnimationFlashScreen + + db EXPLOSION + dw DoExplodeSpecialEffects + + db ROCK_SLIDE + dw DoRockSlideSpecialEffects + + db TRADE_BALL_DROP_ANIM + dw TradeHidePokemon + + db TRADE_BALL_SHAKE_ANIM + dw TradeShakePokeball + + db TRADE_BALL_TILT_ANIM + dw TradeJumpPokeball + + db TOSS_ANIM + dw DoBallTossSpecialEffects + + db SHAKE_ANIM + dw DoBallShakeSpecialEffects + + db POOF_ANIM + dw DoPoofSpecialEffects + + db GREATTOSS_ANIM + dw DoBallTossSpecialEffects + + db ULTRATOSS_ANIM + dw DoBallTossSpecialEffects + + db $FF ; terminator diff --git a/data/move_grammar.asm b/data/move_grammar.asm new file mode 100644 index 00000000..8113ab7c --- /dev/null +++ b/data/move_grammar.asm @@ -0,0 +1,14 @@ +ExclamationPointMoveSets: + db SWORDS_DANCE, GROWTH + db $00 + db RECOVER, BIDE, SELFDESTRUCT, AMNESIA + db $00 + db MEDITATE, AGILITY, TELEPORT, MIMIC, DOUBLE_TEAM, BARRAGE + db $00 + db POUND, SCRATCH, VICEGRIP, WING_ATTACK, FLY, BIND, SLAM, HORN_ATTACK, BODY_SLAM + db WRAP, THRASH, TAIL_WHIP, LEER, BITE, GROWL, ROAR, SING, PECK, COUNTER + db STRENGTH, ABSORB, STRING_SHOT, EARTHQUAKE, FISSURE, DIG, TOXIC, SCREECH, HARDEN + db MINIMIZE, WITHDRAW, DEFENSE_CURL, METRONOME, LICK, CLAMP, CONSTRICT, POISON_GAS + db LEECH_LIFE, BUBBLE, FLASH, SPLASH, ACID_ARMOR, FURY_SWIPES, REST, SHARPEN, SLASH, SUBSTITUTE + db $00 + db $FF ; terminator diff --git a/data/move_sfx.asm b/data/move_sfx.asm new file mode 100644 index 00000000..28ad0b63 --- /dev/null +++ b/data/move_sfx.asm @@ -0,0 +1,168 @@ +MoveSoundTable: + ; ID, pitch mod, tempo mod + db SFX_POUND, $00,$80 ; POUND + db SFX_BATTLE_0C, $10,$80 ; KARATE_CHOP + db SFX_DOUBLESLAP, $00,$80 ; DOUBLESLAP + db SFX_BATTLE_0B, $01,$80 ; COMET_PUNCH + db SFX_BATTLE_0D, $00,$40 ; MEGA_PUNCH + db SFX_SILPH_SCOPE, $00,$ff ; PAY_DAY + db SFX_BATTLE_0D, $10,$60 ; FIRE_PUNCH + db SFX_BATTLE_0D, $20,$80 ; ICE_PUNCH + db SFX_BATTLE_0D, $00,$a0 ; THUNDERPUNCH + db SFX_DAMAGE, $00,$80 ; SCRATCH + db SFX_BATTLE_0F, $20,$40 ; VICEGRIP + db SFX_BATTLE_0F, $00,$80 ; GUILLOTINE + db SFX_BATTLE_0E, $00,$a0 ; RAZOR_WIND + db SFX_NOT_VERY_EFFECTIVE,$10,$c0 ; SWORDS_DANCE + db SFX_NOT_VERY_EFFECTIVE,$00,$a0 ; CUT + db SFX_BATTLE_12, $00,$c0 ; GUST + db SFX_BATTLE_12, $10,$a0 ; WING_ATTACK + db SFX_BATTLE_13, $00,$e0 ; WHIRLWIND + db SFX_NOT_VERY_EFFECTIVE,$20,$c0 ; FLY + db SFX_BATTLE_14, $00,$80 ; BIND + db SFX_BATTLE_22, $00,$80 ; SLAM + db SFX_VINE_WHIP, $01,$80 ; VINE_WHIP + db SFX_BATTLE_20, $00,$80 ; STOMP + db SFX_BATTLE_17, $f0,$40 ; DOUBLE_KICK + db SFX_SUPER_EFFECTIVE, $00,$80 ; MEGA_KICK + db SFX_BATTLE_17, $00,$80 ; JUMP_KICK + db SFX_BATTLE_21, $10,$80 ; ROLLING_KICK + db SFX_BATTLE_1B, $01,$a0 ; SAND_ATTACK + db SFX_BATTLE_18, $00,$80 ; HEADBUTT + db SFX_BATTLE_1E, $00,$60 ; HORN_ATTACK + db SFX_BATTLE_1E, $01,$40 ; FURY_ATTACK + db SFX_HORN_DRILL, $00,$a0 ; HORN_DRILL + db SFX_SUPER_EFFECTIVE, $10,$a0 ; TACKLE + db SFX_BATTLE_20, $00,$c0 ; BODY_SLAM + db SFX_BATTLE_14, $10,$60 ; WRAP + db SFX_SUPER_EFFECTIVE, $00,$a0 ; TAKE_DOWN + db SFX_BATTLE_22, $11,$c0 ; THRASH + db SFX_SUPER_EFFECTIVE, $20,$c0 ; DOUBLE_EDGE + db SFX_BATTLE_21, $00,$80 ; TAIL_WHIP + db SFX_BATTLE_1B, $00,$80 ; POISON_STING + db SFX_BATTLE_1B, $20,$c0 ; TWINEEDLE + db SFX_BATTLE_19, $00,$80 ; PIN_MISSILE + db SFX_BATTLE_31, $ff,$40 ; LEER + db SFX_BATTLE_1E, $00,$80 ; BITE + db SFX_BATTLE_0B, $00,$c0 ; GROWL + db SFX_BATTLE_0B, $00,$40 ; ROAR + db SFX_BATTLE_35, $00,$80 ; SING + db SFX_BATTLE_27, $40,$60 ; SUPERSONIC + db SFX_BATTLE_27, $00,$80 ; SONICBOOM + db SFX_BATTLE_27, $ff,$40 ; DISABLE + db SFX_BATTLE_2A, $80,$c0 ; ACID + db SFX_BATTLE_19, $10,$a0 ; EMBER + db SFX_BATTLE_19, $21,$e0 ; FLAMETHROWER + db SFX_BATTLE_29, $00,$80 ; MIST + db SFX_BATTLE_24, $20,$60 ; WATER_GUN + db SFX_BATTLE_2A, $00,$80 ; HYDRO_PUMP + db SFX_BATTLE_2C, $00,$80 ; SURF + db SFX_BATTLE_28, $40,$80 ; ICE_BEAM + db SFX_BATTLE_29, $f0,$e0 ; BLIZZARD + db SFX_PSYBEAM, $00,$80 ; PSYBEAM + db SFX_BATTLE_2A, $f0,$60 ; BUBBLEBEAM + db SFX_BATTLE_28, $00,$80 ; AURORA_BEAM + db SFX_BATTLE_36, $00,$80 ; HYPER_BEAM + db SFX_PECK, $01,$a0 ; PECK + db SFX_BATTLE_13, $f0,$20 ; DRILL_PECK + db SFX_BATTLE_23, $01,$c0 ; SUBMISSION + db SFX_BATTLE_23, $00,$80 ; LOW_KICK + db SFX_SUPER_EFFECTIVE, $00,$e0 ; COUNTER + db SFX_BATTLE_26, $01,$60 ; SEISMIC_TOSS + db SFX_BATTLE_26, $20,$40 ; STRENGTH + db SFX_BATTLE_24, $00,$80 ; ABSORB + db SFX_BATTLE_24, $40,$c0 ; MEGA_DRAIN + db SFX_BATTLE_1B, $03,$60 ; LEECH_SEED + db SFX_BATTLE_25, $11,$e0 ; GROWTH + db SFX_BATTLE_12, $20,$e0 ; RAZOR_LEAF + db SFX_BATTLE_2E, $00,$80 ; SOLARBEAM + db SFX_BATTLE_1C, $00,$80 ; POISONPOWDER + db SFX_BATTLE_1C, $11,$a0 ; STUN_SPORE + db SFX_BATTLE_1C, $01,$c0 ; SLEEP_POWDER + db SFX_BATTLE_13, $14,$c0 ; PETAL_DANCE + db SFX_BATTLE_1B, $02,$a0 ; STRING_SHOT + db SFX_BATTLE_29, $f0,$80 ; DRAGON_RAGE + db SFX_BATTLE_29, $20,$c0 ; FIRE_SPIN + db SFX_BATTLE_2F, $00,$20 ; THUNDERSHOCK + db SFX_BATTLE_2F, $20,$80 ; THUNDERBOLT + db SFX_BATTLE_2E, $12,$60 ; THUNDER_WAVE + db SFX_BATTLE_26, $00,$80 ; THUNDER + db SFX_BATTLE_14, $01,$e0 ; ROCK_THROW + db SFX_BATTLE_29, $0f,$e0 ; EARTHQUAKE + db SFX_BATTLE_29, $11,$20 ; FISSURE + db SFX_DAMAGE, $10,$40 ; DIG + db SFX_BATTLE_0F, $10,$c0 ; TOXIC + db SFX_BATTLE_14, $00,$20 ; CONFUSION + db SFX_PSYCHIC_M, $00,$80 ; PSYCHIC_M + db SFX_BATTLE_35, $11,$18 ; HYPNOSIS + db SFX_BATTLE_09, $20,$c0 ; MEDITATE + db SFX_FAINT_FALL, $20,$c0 ; AGILITY + db SFX_BATTLE_25, $00,$10 ; QUICK_ATTACK + db SFX_BATTLE_26, $f0,$20 ; RAGE + db SFX_BATTLE_33, $f0,$c0 ; TELEPORT + db SFX_NOT_VERY_EFFECTIVE,$f0,$e0 ; NIGHT_SHADE + db SFX_BATTLE_09, $f0,$40 ; MIMIC + db SFX_BATTLE_31, $00,$80 ; SCREECH + db SFX_BATTLE_33, $80,$40 ; DOUBLE_TEAM + db SFX_BATTLE_33, $00,$80 ; RECOVER + db SFX_BATTLE_14, $11,$20 ; HARDEN + db SFX_BATTLE_14, $22,$10 ; MINIMIZE + db SFX_BATTLE_1B, $f1,$ff ; SMOKESCREEN + db SFX_BATTLE_13, $f1,$ff ; CONFUSE_RAY + db SFX_BATTLE_14, $33,$30 ; WITHDRAW + db SFX_BATTLE_32, $40,$c0 ; DEFENSE_CURL + db SFX_BATTLE_0E, $20,$20 ; BARRIER + db SFX_BATTLE_0E, $f0,$10 ; LIGHT_SCREEN + db SFX_BATTLE_0F, $f8,$10 ; HAZE + db SFX_NOT_VERY_EFFECTIVE,$f0,$10 ; REFLECT + db SFX_BATTLE_25, $00,$80 ; FOCUS_ENERGY + db SFX_BATTLE_18, $00,$c0 ; BIDE + db SFX_BATTLE_32, $c0,$ff ; METRONOME + db SFX_BATTLE_09, $f2,$20 ; MIRROR_MOVE + db SFX_BATTLE_34, $00,$80 ; SELFDESTRUCT + db SFX_BATTLE_34, $00,$40 ; EGG_BOMB + db SFX_BATTLE_09, $00,$40 ; LICK + db SFX_NOT_VERY_EFFECTIVE,$10,$ff ; SMOG + db SFX_BATTLE_2A, $20,$20 ; SLUDGE + db SFX_BATTLE_32, $00,$80 ; BONE_CLUB + db SFX_BATTLE_29, $1f,$20 ; FIRE_BLAST + db SFX_BATTLE_25, $2f,$80 ; WATERFALL + db SFX_BATTLE_0F, $1f,$ff ; CLAMP + db SFX_BATTLE_2B, $1f,$60 ; SWIFT + db SFX_BATTLE_26, $1e,$20 ; SKULL_BASH + db SFX_BATTLE_26, $1f,$18 ; SPIKE_CANNON + db SFX_BATTLE_14, $0f,$80 ; CONSTRICT + db SFX_BATTLE_09, $f8,$10 ; AMNESIA + db SFX_FAINT_FALL, $18,$20 ; KINESIS + db SFX_BATTLE_32, $08,$40 ; SOFTBOILED + db SFX_BATTLE_17, $01,$e0 ; HI_JUMP_KICK + db SFX_NOT_VERY_EFFECTIVE,$09,$ff ; GLARE + db SFX_BATTLE_35, $42,$01 ; DREAM_EATER + db SFX_BATTLE_1C, $00,$ff ; POISON_GAS + db SFX_BATTLE_32, $08,$e0 ; BARRAGE + db SFX_BATTLE_24, $00,$80 ; LEECH_LIFE + db SFX_BATTLE_09, $88,$10 ; LOVELY_KISS + db SFX_BATTLE_25, $48,$ff ; SKY_ATTACK + db SFX_FAINT_FALL, $ff,$ff ; TRANSFORM + db SFX_BATTLE_24, $ff,$10 ; BUBBLE + db SFX_FAINT_FALL, $ff,$04 ; DIZZY_PUNCH + db SFX_BATTLE_1C, $01,$ff ; SPORE + db SFX_BATTLE_13, $f8,$ff ; FLASH + db SFX_BATTLE_0C, $f0,$f0 ; PSYWAVE + db SFX_BATTLE_0F, $08,$10 ; SPLASH + db SFX_BATTLE_0D, $f0,$ff ; ACID_ARMOR + db SFX_SUPER_EFFECTIVE, $f0,$ff ; CRABHAMMER + db SFX_BATTLE_34, $10,$ff ; EXPLOSION + db SFX_BATTLE_0E, $f0,$20 ; FURY_SWIPES + db SFX_BATTLE_2B, $f0,$60 ; BONEMERANG + db SFX_BATTLE_21, $12,$10 ; REST + db SFX_BATTLE_36, $f0,$20 ; ROCK_SLIDE + db SFX_BATTLE_1E, $12,$ff ; HYPER_FANG + db SFX_BATTLE_31, $80,$04 ; SHARPEN + db SFX_BATTLE_33, $f0,$10 ; CONVERSION + db SFX_BATTLE_29, $f8,$ff ; TRI_ATTACK + db SFX_BATTLE_26, $f0,$ff ; SUPER_FANG + db SFX_NOT_VERY_EFFECTIVE,$01,$ff ; SLASH + db SFX_BATTLE_2C, $d8,$04 ; SUBSTITUTE + db SFX_BATTLE_0B, $00,$80 ; STRUGGLE + db SFX_BATTLE_0B, $00,$80 diff --git a/data/overworld_items.asm b/data/overworld_items.asm new file mode 100644 index 00000000..c2c244fe --- /dev/null +++ b/data/overworld_items.asm @@ -0,0 +1,9 @@ +; items which close the item menu when used +UsableItems_CloseMenu: + db ESCAPE_ROPE + db ITEMFINDER + db POKE_FLUTE + db OLD_ROD + db GOOD_ROD + db SUPER_ROD + db $ff diff --git a/data/party_items.asm b/data/party_items.asm new file mode 100644 index 00000000..0126ed5e --- /dev/null +++ b/data/party_items.asm @@ -0,0 +1,39 @@ +; items which bring up the party menu when used +UsableItems_PartyMenu: + db MOON_STONE + db ANTIDOTE + db BURN_HEAL + db ICE_HEAL + db AWAKENING + db PARLYZ_HEAL + db FULL_RESTORE + db MAX_POTION + db HYPER_POTION + db SUPER_POTION + db POTION + db FIRE_STONE + db THUNDER_STONE + db WATER_STONE + db HP_UP + db PROTEIN + db IRON + db CARBOS + db CALCIUM + db RARE_CANDY + db LEAF_STONE + db FULL_HEAL + db REVIVE + db MAX_REVIVE + db FRESH_WATER + db SODA_POP + db LEMONADE + db X_ATTACK + db X_DEFEND + db X_SPEED + db X_SPECIAL + db PP_UP + db ETHER + db MAX_ETHER + db ELIXER + db MAX_ELIXER + db $ff diff --git a/data/predef_pointers.asm b/data/predef_pointers.asm new file mode 100644 index 00000000..5ce797e0 --- /dev/null +++ b/data/predef_pointers.asm @@ -0,0 +1,102 @@ +PredefPointers:: +; these are pointers to ASM routines. +; they appear to be used in overworld map scripts. + add_predef DrawPlayerHUDAndHPBar + add_predef CopyUncompressedPicToTilemap + add_predef AnimateSendingOutMon + add_predef ScaleSpriteByTwo + add_predef LoadMonBackPic + add_predef CopyDownscaledMonTiles + dbw $03,JumpMoveEffect ; wrong bank + add_predef HealParty + add_predef MoveAnimation + add_predef DivideBCDPredef + add_predef DivideBCDPredef2 + add_predef AddBCDPredef + add_predef SubBCDPredef + add_predef DivideBCDPredef3 + add_predef DivideBCDPredef4 + add_predef InitPlayerData + add_predef FlagActionPredef + add_predef HideObject + add_predef IsObjectHidden + add_predef ApplyOutOfBattlePoisonDamage + add_predef AnyPartyAlive + add_predef ShowObject + add_predef ShowObject2 + add_predef ReplaceTileBlock + add_predef InitPlayerData2 + add_predef LoadTilesetHeader + add_predef LearnMoveFromLevelUp + add_predef LearnMove + add_predef GetQuantityOfItemInBag + dbw $03,CheckForHiddenObjectOrBookshelfOrCardKeyDoor ; home bank + dbw $03,GiveItem ; home bank + add_predef ChangeBGPalColor0_4Frames + add_predef FindPathToPlayer + add_predef PredefShakeScreenVertically + add_predef CalcPositionOfPlayerRelativeToNPC + add_predef ConvertNPCMovementDirectionsToJoypadMasks + add_predef PredefShakeScreenHorizontally + add_predef UpdateHPBar + add_predef HPBarLength + add_predef Diploma_TextBoxBorder + add_predef DoubleOrHalveSelectedStats + add_predef ShowPokedexMenu + add_predef EvolutionAfterBattle + add_predef SaveSAVtoSRAM0 + add_predef InitOpponent + add_predef CableClub_Run + add_predef DrawBadges + add_predef ExternalClockTradeAnim + add_predef BattleTransition + add_predef CopyTileIDsFromList + add_predef PlayIntro + add_predef GetMoveSoundB + add_predef FlashScreen + add_predef GetTileAndCoordsInFrontOfPlayer + add_predef StatusScreen + add_predef StatusScreen2 + add_predef InternalClockTradeAnim + add_predef TrainerEngage + add_predef IndexToPokedex + add_predef DisplayPicCenteredOrUpperRight + add_predef UsedCut + add_predef ShowPokedexData + add_predef WriteMonMoves + add_predef SaveSAV + add_predef LoadSGB + add_predef MarkTownVisitedAndLoadMissableObjects + add_predef SetPartyMonTypes + add_predef CanLearnTM + add_predef TMToMove + add_predef _RunPaletteCommand + add_predef StarterDex + add_predef _AddPartyMon + add_predef UpdateHPBar2 + add_predef DrawEnemyHUDAndHPBar + add_predef LoadTownMap_Nest + add_predef PrintMonType + add_predef EmotionBubble + add_predef EmptyFunc3; return immediately + add_predef AskName + add_predef PewterGuys + add_predef SaveSAVtoSRAM2 + add_predef LoadSAV2 + add_predef LoadSAV + add_predef SaveSAVtoSRAM1 + add_predef DoInGameTradeDialogue + add_predef HallOfFamePC + add_predef DisplayDexRating + dbw $1E, _LeaveMapAnim ; wrong bank + dbw $1E, EnterMapAnim ; wrong bank + add_predef GetTileTwoStepsInFrontOfPlayer + add_predef CheckForCollisionWhenPushingBoulder + add_predef PrintStrengthTxt + add_predef PickUpItem + add_predef PrintMoveType + add_predef LoadMovePPs + add_predef DrawHP + add_predef DrawHP2 + add_predef DisplayElevatorFloorMenu + add_predef OaksAideScript diff --git a/data/rest_house_maps.asm b/data/rest_house_maps.asm new file mode 100644 index 00000000..2feb89d3 --- /dev/null +++ b/data/rest_house_maps.asm @@ -0,0 +1,5 @@ +SafariZoneRestHouses: + db SAFARI_ZONE_WEST_REST_HOUSE + db SAFARI_ZONE_EAST_REST_HOUSE + db SAFARI_ZONE_NORTH_REST_HOUSE + db -1 diff --git a/data/trainer_ai_pointers.asm b/data/trainer_ai_pointers.asm new file mode 100644 index 00000000..d7cb5f19 --- /dev/null +++ b/data/trainer_ai_pointers.asm @@ -0,0 +1,51 @@ +TrainerAIPointers: +; one entry per trainer class +; first byte, number of times (per Pokémon) it can occur +; next two bytes, pointer to AI subroutine for trainer class + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,JugglerAI ; juggler_x + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,JugglerAI ; juggler + dbw 3,GenericAI + dbw 3,GenericAI + dbw 2,BlackbeltAI ; blackbelt + dbw 3,GenericAI + dbw 3,GenericAI + dbw 1,GenericAI ; chief + dbw 3,GenericAI + dbw 1,GiovanniAI ; giovanni + dbw 3,GenericAI + dbw 2,CooltrainerMAI ; cooltrainerm + dbw 1,CooltrainerFAI ; cooltrainerf + dbw 2,BrunoAI ; bruno + dbw 5,BrockAI ; brock + dbw 1,MistyAI ; misty + dbw 1,LtSurgeAI ; surge + dbw 1,ErikaAI ; erika + dbw 2,KogaAI ; koga + dbw 2,BlaineAI ; blaine + dbw 1,SabrinaAI ; sabrina + dbw 3,GenericAI + dbw 1,Sony2AI ; sony2 + dbw 1,Sony3AI ; sony3 + dbw 2,LoreleiAI ; lorelei + dbw 3,GenericAI + dbw 2,AgathaAI ; agatha + dbw 1,LanceAI ; lance diff --git a/data/trainer_move_choices.asm b/data/trainer_move_choices.asm new file mode 100644 index 00000000..ccbae448 --- /dev/null +++ b/data/trainer_move_choices.asm @@ -0,0 +1,50 @@ +; move choice modification methods that are applied for each trainer class +; 0 is sentinel value +TrainerClassMoveChoiceModifications: + db 0 ; YOUNGSTER + db 1,0 ; BUG CATCHER + db 1,0 ; LASS + db 1,3,0 ; SAILOR + db 1,0 ; JR_TRAINER_M + db 1,0 ; JR_TRAINER_F + db 1,2,3,0; POKEMANIAC + db 1,2,0 ; SUPER_NERD + db 1,0 ; HIKER + db 1,0 ; BIKER + db 1,3,0 ; BURGLAR + db 1,0 ; ENGINEER + db 1,2,0 ; JUGGLER_X + db 1,3,0 ; FISHER + db 1,3,0 ; SWIMMER + db 0 ; CUE_BALL + db 1,0 ; GAMBLER + db 1,3,0 ; BEAUTY + db 1,2,0 ; PSYCHIC_TR + db 1,3,0 ; ROCKER + db 1,0 ; JUGGLER + db 1,0 ; TAMER + db 1,0 ; BIRD_KEEPER + db 1,0 ; BLACKBELT + db 1,0 ; SONY1 + db 1,3,0 ; PROF_OAK + db 1,2,0 ; CHIEF + db 1,2,0 ; SCIENTIST + db 1,3,0 ; GIOVANNI + db 1,0 ; ROCKET + db 1,3,0 ; COOLTRAINER_M + db 1,3,0 ; COOLTRAINER_F + db 1,0 ; BRUNO + db 1,0 ; BROCK + db 1,3,0 ; MISTY + db 1,3,0 ; LT_SURGE + db 1,3,0 ; ERIKA + db 1,3,0 ; KOGA + db 1,3,0 ; BLAINE + db 1,3,0 ; SABRINA + db 1,2,0 ; GENTLEMAN + db 1,3,0 ; SONY2 + db 1,3,0 ; SONY3 + db 1,2,3,0; LORELEI + db 1,0 ; CHANNELER + db 1,0 ; AGATHA + db 1,3,0 ; LANCE diff --git a/data/trainer_pic_money_pointers.asm b/data/trainer_pic_money_pointers.asm new file mode 100755 index 00000000..37678e74 --- /dev/null +++ b/data/trainer_pic_money_pointers.asm @@ -0,0 +1,143 @@ +TrainerPicAndMoneyPointers: +; trainer pic pointers and base money. +; money received after battle = base money × level of highest-level enemy mon + dw YoungsterPic + money 1500 + + dw BugCatcherPic + money 1000 + + dw LassPic + money 1500 + + dw SailorPic + money 3000 + + dw JrTrainerMPic + money 2000 + + dw JrTrainerFPic + money 2000 + + dw PokemaniacPic + money 5000 + + dw SuperNerdPic + money 2500 + + dw HikerPic + money 3500 + + dw BikerPic + money 2000 + + dw BurglarPic + money 9000 + + dw EngineerPic + money 5000 + + dw JugglerPic + money 3500 + + dw FisherPic + money 3500 + + dw SwimmerPic + money 500 + + dw CueBallPic + money 2500 + + dw GamblerPic + money 7000 + + dw BeautyPic + money 7000 + + dw PsychicPic + money 1000 + + dw RockerPic + money 2500 + + dw JugglerPic + money 3500 + + dw TamerPic + money 4000 + + dw BirdKeeperPic + money 2500 + + dw BlackbeltPic + money 2500 + + dw Rival1Pic + money 3500 + + dw ProfOakPic + money 9900 + + dw ChiefPic + money 3000 + + dw ScientistPic + money 5000 + + dw GiovanniPic + money 9900 + + dw RocketPic + money 3000 + + dw CooltrainerMPic + money 3500 + + dw CooltrainerFPic + money 3500 + + dw BrunoPic + money 9900 + + dw BrockPic + money 9900 + + dw MistyPic + money 9900 + + dw LtSurgePic + money 9900 + + dw ErikaPic + money 9900 + + dw KogaPic + money 9900 + + dw BlainePic + money 9900 + + dw SabrinaPic + money 9900 + + dw GentlemanPic + money 7000 + + dw Rival2Pic + money 6500 + + dw Rival3Pic + money 9900 + + dw LoreleiPic + money 9900 + + dw ChannelerPic + money 3000 + + dw AgathaPic + money 9900 + + dw LancePic + money 9900 diff --git a/data/vending_prices.asm b/data/vending_prices.asm new file mode 100644 index 00000000..9a473cc9 --- /dev/null +++ b/data/vending_prices.asm @@ -0,0 +1,7 @@ +VendingPrices: + db FRESH_WATER + money 200 + db SODA_POP + money 300 + db LEMONADE + money 350 diff --git a/data/warp_carpet_tile_ids.asm b/data/warp_carpet_tile_ids.asm new file mode 100644 index 00000000..6f312bc7 --- /dev/null +++ b/data/warp_carpet_tile_ids.asm @@ -0,0 +1,17 @@ +WarpTileListPointers: + dw .facingDownWarpTiles + dw .facingUpWarpTiles + dw .facingLeftWarpTiles + dw .facingRightWarpTiles + +.facingDownWarpTiles + db $01,$12,$17,$3D,$04,$18,$33,$FF + +.facingUpWarpTiles + db $01,$5C,$FF + +.facingLeftWarpTiles + db $1A,$4B,$FF + +.facingRightWarpTiles + db $0F,$4E,$FF diff --git a/data/warp_pad_hole_tile_ids.asm b/data/warp_pad_hole_tile_ids.asm new file mode 100644 index 00000000..3e2c1890 --- /dev/null +++ b/data/warp_pad_hole_tile_ids.asm @@ -0,0 +1,7 @@ +; format: db tileset id, tile id, value to be put in [wStandingOnWarpPadOrHole] +WarpPadAndHoleData: + db FACILITY, $20, 1 ; warp pad + db FACILITY, $11, 2 ; hole + db CAVERN, $22, 2 ; hole + db INTERIOR, $55, 1 ; warp pad + db $FF diff --git a/data/water_tilesets.asm b/data/water_tilesets.asm new file mode 100644 index 00000000..00f0ab1f --- /dev/null +++ b/data/water_tilesets.asm @@ -0,0 +1,4 @@ +; tilesets with water +WaterTilesets: + db OVERWORLD, FOREST, DOJO, GYM, SHIP, SHIP_PORT, CAVERN, FACILITY, PLATEAU + db $ff ; terminator diff --git a/data/wild_probabilities.asm b/data/wild_probabilities.asm new file mode 100644 index 00000000..9d4704c6 --- /dev/null +++ b/data/wild_probabilities.asm @@ -0,0 +1,15 @@ +WildMonEncounterSlotChances: +; There are 10 slots for wild pokemon, and this is the table that defines how common each of +; those 10 slots is. A random number is generated and then the first byte of each pair in this +; table is compared against that random number. If the random number is less than or equal +; to the first byte, then that slot is chosen. The second byte is double the slot number. + db $32, $00 ; 51/256 = 19.9% chance of slot 0 + db $65, $02 ; 51/256 = 19.9% chance of slot 1 + db $8C, $04 ; 39/256 = 15.2% chance of slot 2 + db $A5, $06 ; 25/256 = 9.8% chance of slot 3 + db $BE, $08 ; 25/256 = 9.8% chance of slot 4 + db $D7, $0A ; 25/256 = 9.8% chance of slot 5 + db $E4, $0C ; 13/256 = 5.1% chance of slot 6 + db $F1, $0E ; 13/256 = 5.1% chance of slot 7 + db $FC, $10 ; 11/256 = 4.3% chance of slot 8 + db $FF, $12 ; 3/256 = 1.2% chance of slot 9 diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index 7d5ab20d..9eb7badb 100755 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -649,81 +649,7 @@ DoSpecialEffectByAnimationId: pop hl ret -; Format: Animation ID (1 byte), Address (2 bytes) -AnimationIdSpecialEffects: - db MEGA_PUNCH - dw AnimationFlashScreen - - db GUILLOTINE - dw AnimationFlashScreen - - db MEGA_KICK - dw AnimationFlashScreen - - db HEADBUTT - dw AnimationFlashScreen - - db TAIL_WHIP - dw TailWhipAnimationUnused - - db GROWL - dw DoGrowlSpecialEffects - - db DISABLE - dw AnimationFlashScreen - - db BLIZZARD - dw DoBlizzardSpecialEffects - - db BUBBLEBEAM - dw AnimationFlashScreen - - db HYPER_BEAM - dw FlashScreenEveryFourFrameBlocks - - db THUNDERBOLT - dw FlashScreenEveryEightFrameBlocks - - db REFLECT - dw AnimationFlashScreen - - db SELFDESTRUCT - dw DoExplodeSpecialEffects - - db SPORE - dw AnimationFlashScreen - - db EXPLOSION - dw DoExplodeSpecialEffects - - db ROCK_SLIDE - dw DoRockSlideSpecialEffects - - db TRADE_BALL_DROP_ANIM - dw TradeHidePokemon - - db TRADE_BALL_SHAKE_ANIM - dw TradeShakePokeball - - db TRADE_BALL_TILT_ANIM - dw TradeJumpPokeball - - db TOSS_ANIM - dw DoBallTossSpecialEffects - - db SHAKE_ANIM - dw DoBallShakeSpecialEffects - - db POOF_ANIM - dw DoPoofSpecialEffects - - db GREATTOSS_ANIM - dw DoBallTossSpecialEffects - - db ULTRATOSS_ANIM - dw DoBallTossSpecialEffects - - db $FF ; terminator +INCLUDE "data/move_animation_special_effects.asm" DoBallTossSpecialEffects: ld a, [wcf91] @@ -985,87 +911,7 @@ TailWhipAnimationUnused: ld c, 20 jp DelayFrames -; Format: Special Effect ID (1 byte), Address (2 bytes) -SpecialEffectPointers: - db SE_DARK_SCREEN_FLASH ; $FE - dw AnimationFlashScreen - db SE_DARK_SCREEN_PALETTE ; $FD - dw AnimationDarkScreenPalette - db SE_RESET_SCREEN_PALETTE ; $FC - dw AnimationResetScreenPalette - db SE_SHAKE_SCREEN ; $FB - dw AnimationShakeScreen - db SE_WATER_DROPLETS_EVERYWHERE ; $FA - dw AnimationWaterDropletsEverywhere - db SE_DARKEN_MON_PALETTE ; $F9 - dw AnimationDarkenMonPalette - db SE_FLASH_SCREEN_LONG ; $F8 - dw AnimationFlashScreenLong - db SE_SLIDE_MON_UP ; $F7 - dw AnimationSlideMonUp - db SE_SLIDE_MON_DOWN ; $F6 - dw AnimationSlideMonDown - db SE_FLASH_MON_PIC ; $F5 - dw AnimationFlashMonPic - db SE_SLIDE_MON_OFF ; $F4 - dw AnimationSlideMonOff - db SE_BLINK_MON ; $F3 - dw AnimationBlinkMon - db SE_MOVE_MON_HORIZONTALLY ; $F2 - dw AnimationMoveMonHorizontally - db SE_RESET_MON_POSITION ; $F1 - dw AnimationResetMonPosition - db SE_LIGHT_SCREEN_PALETTE ; $F0 - dw AnimationLightScreenPalette - db SE_HIDE_MON_PIC ; $EF - dw AnimationHideMonPic - db SE_SQUISH_MON_PIC ; $EE - dw AnimationSquishMonPic - db SE_SHOOT_BALLS_UPWARD ; $ED - dw AnimationShootBallsUpward - db SE_SHOOT_MANY_BALLS_UPWARD ; $EC - dw AnimationShootManyBallsUpward - db SE_BOUNCE_UP_AND_DOWN ; $EB - dw AnimationBoundUpAndDown - db SE_MINIMIZE_MON ; $EA - dw AnimationMinimizeMon - db SE_SLIDE_MON_DOWN_AND_HIDE ; $E9 - dw AnimationSlideMonDownAndHide - db SE_TRANSFORM_MON ; $E8 - dw AnimationTransformMon - db SE_LEAVES_FALLING ; $E7 - dw AnimationLeavesFalling - db SE_PETALS_FALLING ; $E6 - dw AnimationPetalsFalling - db SE_SLIDE_MON_HALF_OFF ; $E5 - dw AnimationSlideMonHalfOff - db SE_SHAKE_ENEMY_HUD ; $E4 - dw AnimationShakeEnemyHUD - db SE_SHAKE_ENEMY_HUD_2 ; unused--same pointer as SE_SHAKE_ENEMY_HUD ($E4) - dw AnimationShakeEnemyHUD - db SE_SPIRAL_BALLS_INWARD ; $E2 - dw AnimationSpiralBallsInward - db SE_DELAY_ANIMATION_10 ; $E1 - dw AnimationDelay10 - db SE_FLASH_ENEMY_MON_PIC ; unused--same as SE_FLASH_MON_PIC ($F5), but for the enemy mon - dw AnimationFlashEnemyMonPic - db SE_HIDE_ENEMY_MON_PIC ; $DF - dw AnimationHideEnemyMonPic - db SE_BLINK_ENEMY_MON ; $DE - dw AnimationBlinkEnemyMon - db SE_SHOW_MON_PIC ; $DD - dw AnimationShowMonPic - db SE_SHOW_ENEMY_MON_PIC ; $DC - dw AnimationShowEnemyMonPic - db SE_SLIDE_ENEMY_MON_OFF ; $DB - dw AnimationSlideEnemyMonOff - db SE_SHAKE_BACK_AND_FORTH ; $DA - dw AnimationShakeBackAndForth - db SE_SUBSTITUTE_MON ; $D9 - dw AnimationSubstitute - db SE_WAVY_SCREEN ; $D8 - dw AnimationWavyScreen - db $FF +INCLUDE "data/move_animation_pointers.asm" AnimationDelay10: ld c, 10 @@ -2362,174 +2208,7 @@ IsCryMove: scf ret -MoveSoundTable: - ; ID, pitch mod, tempo mod - db SFX_POUND, $00,$80 ; POUND - db SFX_BATTLE_0C, $10,$80 ; KARATE_CHOP - db SFX_DOUBLESLAP, $00,$80 ; DOUBLESLAP - db SFX_BATTLE_0B, $01,$80 ; COMET_PUNCH - db SFX_BATTLE_0D, $00,$40 ; MEGA_PUNCH - db SFX_SILPH_SCOPE, $00,$ff ; PAY_DAY - db SFX_BATTLE_0D, $10,$60 ; FIRE_PUNCH - db SFX_BATTLE_0D, $20,$80 ; ICE_PUNCH - db SFX_BATTLE_0D, $00,$a0 ; THUNDERPUNCH - db SFX_DAMAGE, $00,$80 ; SCRATCH - db SFX_BATTLE_0F, $20,$40 ; VICEGRIP - db SFX_BATTLE_0F, $00,$80 ; GUILLOTINE - db SFX_BATTLE_0E, $00,$a0 ; RAZOR_WIND - db SFX_NOT_VERY_EFFECTIVE,$10,$c0 ; SWORDS_DANCE - db SFX_NOT_VERY_EFFECTIVE,$00,$a0 ; CUT - db SFX_BATTLE_12, $00,$c0 ; GUST - db SFX_BATTLE_12, $10,$a0 ; WING_ATTACK - db SFX_BATTLE_13, $00,$e0 ; WHIRLWIND - db SFX_NOT_VERY_EFFECTIVE,$20,$c0 ; FLY - db SFX_BATTLE_14, $00,$80 ; BIND - db SFX_BATTLE_22, $00,$80 ; SLAM - db SFX_VINE_WHIP, $01,$80 ; VINE_WHIP - db SFX_BATTLE_20, $00,$80 ; STOMP - db SFX_BATTLE_17, $f0,$40 ; DOUBLE_KICK - db SFX_SUPER_EFFECTIVE, $00,$80 ; MEGA_KICK - db SFX_BATTLE_17, $00,$80 ; JUMP_KICK - db SFX_BATTLE_21, $10,$80 ; ROLLING_KICK - db SFX_BATTLE_1B, $01,$a0 ; SAND_ATTACK - db SFX_BATTLE_18, $00,$80 ; HEADBUTT - db SFX_BATTLE_1E, $00,$60 ; HORN_ATTACK - db SFX_BATTLE_1E, $01,$40 ; FURY_ATTACK - db SFX_HORN_DRILL, $00,$a0 ; HORN_DRILL - db SFX_SUPER_EFFECTIVE, $10,$a0 ; TACKLE - db SFX_BATTLE_20, $00,$c0 ; BODY_SLAM - db SFX_BATTLE_14, $10,$60 ; WRAP - db SFX_SUPER_EFFECTIVE, $00,$a0 ; TAKE_DOWN - db SFX_BATTLE_22, $11,$c0 ; THRASH - db SFX_SUPER_EFFECTIVE, $20,$c0 ; DOUBLE_EDGE - db SFX_BATTLE_21, $00,$80 ; TAIL_WHIP - db SFX_BATTLE_1B, $00,$80 ; POISON_STING - db SFX_BATTLE_1B, $20,$c0 ; TWINEEDLE - db SFX_BATTLE_19, $00,$80 ; PIN_MISSILE - db SFX_BATTLE_31, $ff,$40 ; LEER - db SFX_BATTLE_1E, $00,$80 ; BITE - db SFX_BATTLE_0B, $00,$c0 ; GROWL - db SFX_BATTLE_0B, $00,$40 ; ROAR - db SFX_BATTLE_35, $00,$80 ; SING - db SFX_BATTLE_27, $40,$60 ; SUPERSONIC - db SFX_BATTLE_27, $00,$80 ; SONICBOOM - db SFX_BATTLE_27, $ff,$40 ; DISABLE - db SFX_BATTLE_2A, $80,$c0 ; ACID - db SFX_BATTLE_19, $10,$a0 ; EMBER - db SFX_BATTLE_19, $21,$e0 ; FLAMETHROWER - db SFX_BATTLE_29, $00,$80 ; MIST - db SFX_BATTLE_24, $20,$60 ; WATER_GUN - db SFX_BATTLE_2A, $00,$80 ; HYDRO_PUMP - db SFX_BATTLE_2C, $00,$80 ; SURF - db SFX_BATTLE_28, $40,$80 ; ICE_BEAM - db SFX_BATTLE_29, $f0,$e0 ; BLIZZARD - db SFX_PSYBEAM, $00,$80 ; PSYBEAM - db SFX_BATTLE_2A, $f0,$60 ; BUBBLEBEAM - db SFX_BATTLE_28, $00,$80 ; AURORA_BEAM - db SFX_BATTLE_36, $00,$80 ; HYPER_BEAM - db SFX_PECK, $01,$a0 ; PECK - db SFX_BATTLE_13, $f0,$20 ; DRILL_PECK - db SFX_BATTLE_23, $01,$c0 ; SUBMISSION - db SFX_BATTLE_23, $00,$80 ; LOW_KICK - db SFX_SUPER_EFFECTIVE, $00,$e0 ; COUNTER - db SFX_BATTLE_26, $01,$60 ; SEISMIC_TOSS - db SFX_BATTLE_26, $20,$40 ; STRENGTH - db SFX_BATTLE_24, $00,$80 ; ABSORB - db SFX_BATTLE_24, $40,$c0 ; MEGA_DRAIN - db SFX_BATTLE_1B, $03,$60 ; LEECH_SEED - db SFX_BATTLE_25, $11,$e0 ; GROWTH - db SFX_BATTLE_12, $20,$e0 ; RAZOR_LEAF - db SFX_BATTLE_2E, $00,$80 ; SOLARBEAM - db SFX_BATTLE_1C, $00,$80 ; POISONPOWDER - db SFX_BATTLE_1C, $11,$a0 ; STUN_SPORE - db SFX_BATTLE_1C, $01,$c0 ; SLEEP_POWDER - db SFX_BATTLE_13, $14,$c0 ; PETAL_DANCE - db SFX_BATTLE_1B, $02,$a0 ; STRING_SHOT - db SFX_BATTLE_29, $f0,$80 ; DRAGON_RAGE - db SFX_BATTLE_29, $20,$c0 ; FIRE_SPIN - db SFX_BATTLE_2F, $00,$20 ; THUNDERSHOCK - db SFX_BATTLE_2F, $20,$80 ; THUNDERBOLT - db SFX_BATTLE_2E, $12,$60 ; THUNDER_WAVE - db SFX_BATTLE_26, $00,$80 ; THUNDER - db SFX_BATTLE_14, $01,$e0 ; ROCK_THROW - db SFX_BATTLE_29, $0f,$e0 ; EARTHQUAKE - db SFX_BATTLE_29, $11,$20 ; FISSURE - db SFX_DAMAGE, $10,$40 ; DIG - db SFX_BATTLE_0F, $10,$c0 ; TOXIC - db SFX_BATTLE_14, $00,$20 ; CONFUSION - db SFX_PSYCHIC_M, $00,$80 ; PSYCHIC_M - db SFX_BATTLE_35, $11,$18 ; HYPNOSIS - db SFX_BATTLE_09, $20,$c0 ; MEDITATE - db SFX_FAINT_FALL, $20,$c0 ; AGILITY - db SFX_BATTLE_25, $00,$10 ; QUICK_ATTACK - db SFX_BATTLE_26, $f0,$20 ; RAGE - db SFX_BATTLE_33, $f0,$c0 ; TELEPORT - db SFX_NOT_VERY_EFFECTIVE,$f0,$e0 ; NIGHT_SHADE - db SFX_BATTLE_09, $f0,$40 ; MIMIC - db SFX_BATTLE_31, $00,$80 ; SCREECH - db SFX_BATTLE_33, $80,$40 ; DOUBLE_TEAM - db SFX_BATTLE_33, $00,$80 ; RECOVER - db SFX_BATTLE_14, $11,$20 ; HARDEN - db SFX_BATTLE_14, $22,$10 ; MINIMIZE - db SFX_BATTLE_1B, $f1,$ff ; SMOKESCREEN - db SFX_BATTLE_13, $f1,$ff ; CONFUSE_RAY - db SFX_BATTLE_14, $33,$30 ; WITHDRAW - db SFX_BATTLE_32, $40,$c0 ; DEFENSE_CURL - db SFX_BATTLE_0E, $20,$20 ; BARRIER - db SFX_BATTLE_0E, $f0,$10 ; LIGHT_SCREEN - db SFX_BATTLE_0F, $f8,$10 ; HAZE - db SFX_NOT_VERY_EFFECTIVE,$f0,$10 ; REFLECT - db SFX_BATTLE_25, $00,$80 ; FOCUS_ENERGY - db SFX_BATTLE_18, $00,$c0 ; BIDE - db SFX_BATTLE_32, $c0,$ff ; METRONOME - db SFX_BATTLE_09, $f2,$20 ; MIRROR_MOVE - db SFX_BATTLE_34, $00,$80 ; SELFDESTRUCT - db SFX_BATTLE_34, $00,$40 ; EGG_BOMB - db SFX_BATTLE_09, $00,$40 ; LICK - db SFX_NOT_VERY_EFFECTIVE,$10,$ff ; SMOG - db SFX_BATTLE_2A, $20,$20 ; SLUDGE - db SFX_BATTLE_32, $00,$80 ; BONE_CLUB - db SFX_BATTLE_29, $1f,$20 ; FIRE_BLAST - db SFX_BATTLE_25, $2f,$80 ; WATERFALL - db SFX_BATTLE_0F, $1f,$ff ; CLAMP - db SFX_BATTLE_2B, $1f,$60 ; SWIFT - db SFX_BATTLE_26, $1e,$20 ; SKULL_BASH - db SFX_BATTLE_26, $1f,$18 ; SPIKE_CANNON - db SFX_BATTLE_14, $0f,$80 ; CONSTRICT - db SFX_BATTLE_09, $f8,$10 ; AMNESIA - db SFX_FAINT_FALL, $18,$20 ; KINESIS - db SFX_BATTLE_32, $08,$40 ; SOFTBOILED - db SFX_BATTLE_17, $01,$e0 ; HI_JUMP_KICK - db SFX_NOT_VERY_EFFECTIVE,$09,$ff ; GLARE - db SFX_BATTLE_35, $42,$01 ; DREAM_EATER - db SFX_BATTLE_1C, $00,$ff ; POISON_GAS - db SFX_BATTLE_32, $08,$e0 ; BARRAGE - db SFX_BATTLE_24, $00,$80 ; LEECH_LIFE - db SFX_BATTLE_09, $88,$10 ; LOVELY_KISS - db SFX_BATTLE_25, $48,$ff ; SKY_ATTACK - db SFX_FAINT_FALL, $ff,$ff ; TRANSFORM - db SFX_BATTLE_24, $ff,$10 ; BUBBLE - db SFX_FAINT_FALL, $ff,$04 ; DIZZY_PUNCH - db SFX_BATTLE_1C, $01,$ff ; SPORE - db SFX_BATTLE_13, $f8,$ff ; FLASH - db SFX_BATTLE_0C, $f0,$f0 ; PSYWAVE - db SFX_BATTLE_0F, $08,$10 ; SPLASH - db SFX_BATTLE_0D, $f0,$ff ; ACID_ARMOR - db SFX_SUPER_EFFECTIVE, $f0,$ff ; CRABHAMMER - db SFX_BATTLE_34, $10,$ff ; EXPLOSION - db SFX_BATTLE_0E, $f0,$20 ; FURY_SWIPES - db SFX_BATTLE_2B, $f0,$60 ; BONEMERANG - db SFX_BATTLE_21, $12,$10 ; REST - db SFX_BATTLE_36, $f0,$20 ; ROCK_SLIDE - db SFX_BATTLE_1E, $12,$ff ; HYPER_FANG - db SFX_BATTLE_31, $80,$04 ; SHARPEN - db SFX_BATTLE_33, $f0,$10 ; CONVERSION - db SFX_BATTLE_29, $f8,$ff ; TRI_ATTACK - db SFX_BATTLE_26, $f0,$ff ; SUPER_FANG - db SFX_NOT_VERY_EFFECTIVE,$01,$ff ; SLASH - db SFX_BATTLE_2C, $d8,$04 ; SUBSTITUTE - db SFX_BATTLE_0B, $00,$80 ; STRUGGLE - db SFX_BATTLE_0B, $00,$80 +INCLUDE "data/move_sfx.asm" CopyPicTiles: ld a, [H_WHOSETURN] diff --git a/engine/battle/battle_transitions.asm b/engine/battle/battle_transitions.asm index 436e38b5..f2e26ed5 100644 --- a/engine/battle/battle_transitions.asm +++ b/engine/battle/battle_transitions.asm @@ -151,35 +151,7 @@ GetBattleTransitionID_IsDungeonMap: res 2, c ret -; GetBattleTransitionID_IsDungeonMap checks if wCurMap -; is equal to one of these maps -DungeonMaps1: - db VIRIDIAN_FOREST - db ROCK_TUNNEL_1F - db SEAFOAM_ISLANDS_1F - db ROCK_TUNNEL_B1F - db $FF - -; GetBattleTransitionID_IsDungeonMap checks if wCurMap -; is in between or equal to each pair of maps -DungeonMaps2: - ; all MT_MOON maps - db MT_MOON_1F - db MT_MOON_B2F - - ; all SS_ANNE maps, VICTORY_ROAD_1F, LANCES_ROOM, and HALL_OF_FAME - db SS_ANNE_1F - db HALL_OF_FAME - - ; all POKEMON_TOWER maps and Lavender Town buildings - db LAVENDER_POKECENTER - db LAVENDER_CUBONE_HOUSE - - ; SILPH_CO_[2-8]F, POKEMON_MANSION[2F-B1F], SAFARI_ZONE, and - ; CERULEAN_CAVE maps, except for SILPH_CO_1F - db SILPH_CO_2F - db CERULEAN_CAVE_1F - db $FF +INCLUDE "data/dungeon_maps.asm" LoadBattleTransitionTile: ld hl, vChars1 + $7f0 diff --git a/engine/battle/common_text.asm b/engine/battle/common_text.asm index 4a138048..e541d604 100644 --- a/engine/battle/common_text.asm +++ b/engine/battle/common_text.asm @@ -5,7 +5,7 @@ PrintBeginningBattleText: ld a, [wCurMap] cp POKEMON_TOWER_3F jr c, .notPokemonTower - cp MR_FUJIS_HOUSE + cp POKEMON_TOWER_7F + 1 jr c, .pokemonTower .notPokemonTower ld a, [wEnemyMonSpecies2] diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 90033b53..96ec8e2f 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -1,100 +1,10 @@ BattleCore: -; These are move effects (second value from the Moves table in bank $E). -ResidualEffects1: -; most non-side effects - db CONVERSION_EFFECT - db HAZE_EFFECT - db SWITCH_AND_TELEPORT_EFFECT - db MIST_EFFECT - db FOCUS_ENERGY_EFFECT - db CONFUSION_EFFECT - db HEAL_EFFECT - db TRANSFORM_EFFECT - db LIGHT_SCREEN_EFFECT - db REFLECT_EFFECT - db POISON_EFFECT - db PARALYZE_EFFECT - db SUBSTITUTE_EFFECT - db MIMIC_EFFECT - db LEECH_SEED_EFFECT - db SPLASH_EFFECT - db -1 -SetDamageEffects: -; moves that do damage but not through normal calculations -; e.g., Super Fang, Psywave - db SUPER_FANG_EFFECT - db SPECIAL_DAMAGE_EFFECT - db -1 -ResidualEffects2: -; non-side effects not included in ResidualEffects1 -; stat-affecting moves, sleep-inflicting moves, and Bide -; e.g., Meditate, Bide, Hypnosis - db $01 - db ATTACK_UP1_EFFECT - db DEFENSE_UP1_EFFECT - db SPEED_UP1_EFFECT - db SPECIAL_UP1_EFFECT - db ACCURACY_UP1_EFFECT - db EVASION_UP1_EFFECT - db ATTACK_DOWN1_EFFECT - db DEFENSE_DOWN1_EFFECT - db SPEED_DOWN1_EFFECT - db SPECIAL_DOWN1_EFFECT - db ACCURACY_DOWN1_EFFECT - db EVASION_DOWN1_EFFECT - db BIDE_EFFECT - db SLEEP_EFFECT - db ATTACK_UP2_EFFECT - db DEFENSE_UP2_EFFECT - db SPEED_UP2_EFFECT - db SPECIAL_UP2_EFFECT - db ACCURACY_UP2_EFFECT - db EVASION_UP2_EFFECT - db ATTACK_DOWN2_EFFECT - db DEFENSE_DOWN2_EFFECT - db SPEED_DOWN2_EFFECT - db SPECIAL_DOWN2_EFFECT - db ACCURACY_DOWN2_EFFECT - db EVASION_DOWN2_EFFECT - db -1 -AlwaysHappenSideEffects: -; Attacks that aren't finished after they faint the opponent. - db DRAIN_HP_EFFECT - db EXPLODE_EFFECT - db DREAM_EATER_EFFECT - db PAY_DAY_EFFECT - db TWO_TO_FIVE_ATTACKS_EFFECT - db $1E - db ATTACK_TWICE_EFFECT - db RECOIL_EFFECT - db TWINEEDLE_EFFECT - db RAGE_EFFECT - db -1 -SpecialEffects: -; Effects from arrays 2, 4, and 5B, minus Twineedle and Rage. -; Includes all effects that do not need to be called at the end of -; ExecutePlayerMove (or ExecuteEnemyMove), because they have already been handled - db DRAIN_HP_EFFECT - db EXPLODE_EFFECT - db DREAM_EATER_EFFECT - db PAY_DAY_EFFECT - db SWIFT_EFFECT - db TWO_TO_FIVE_ATTACKS_EFFECT - db $1E - db CHARGE_EFFECT - db SUPER_FANG_EFFECT - db SPECIAL_DAMAGE_EFFECT - db FLY_EFFECT - db ATTACK_TWICE_EFFECT - db JUMP_KICK_EFFECT - db RECOIL_EFFECT - ; fallthrough to Next EffectsArray -SpecialEffectsCont: -; damaging moves whose effect is executed prior to damage calculation - db THRASH_PETAL_DANCE_EFFECT - db TRAPPING_EFFECT - db -1 +INCLUDE "data/battle/residual_effects_1.asm" +INCLUDE "data/battle/set_damage_effects.asm" +INCLUDE "data/battle/residual_effects_2.asm" +INCLUDE "data/battle/always_happen_effects.asm" +INCLUDE "data/battle/special_effects.asm" SlidePlayerAndEnemySilhouettesOnScreen: call LoadPlayerBackPic @@ -3904,20 +3814,7 @@ DetermineExclamationPointTextNum: pop bc ret -ExclamationPointMoveSets: - db SWORDS_DANCE, GROWTH - db $00 - db RECOVER, BIDE, SELFDESTRUCT, AMNESIA - db $00 - db MEDITATE, AGILITY, TELEPORT, MIMIC, DOUBLE_TEAM, BARRAGE - db $00 - db POUND, SCRATCH, VICEGRIP, WING_ATTACK, FLY, BIND, SLAM, HORN_ATTACK, BODY_SLAM - db WRAP, THRASH, TAIL_WHIP, LEER, BITE, GROWL, ROAR, SING, PECK, COUNTER - db STRENGTH, ABSORB, STRING_SHOT, EARTHQUAKE, FISSURE, DIG, TOXIC, SCREECH, HARDEN - db MINIMIZE, WITHDRAW, DEFENSE_CURL, METRONOME, LICK, CLAMP, CONSTRICT, POISON_GAS - db LEECH_LIFE, BUBBLE, FLASH, SPLASH, ACID_ARMOR, FURY_SWIPES, REST, SHARPEN, SLASH, SUBSTITUTE - db $00 - db $FF ; terminator +INCLUDE "data/move_grammar.asm" PrintMoveFailureText: ld de, wPlayerMoveEffect @@ -4668,13 +4565,7 @@ JumpToOHKOMoveEffect: dec a ret - -UnusedHighCriticalMoves: - db KARATE_CHOP - db RAZOR_LEAF - db CRABHAMMER - db SLASH - db $FF +INCLUDE "data/battle/unused_critical_hit_moves.asm" ; determines if attack is a critical hit ; azure heights claims "the fastest pokémon (who are,not coincidentally, @@ -4745,14 +4636,7 @@ CriticalHitTest: ld [wCriticalHitOrOHKO], a ; set critical hit flag ret -; high critical hit moves -HighCriticalMoves: - db KARATE_CHOP - db RAZOR_LEAF - db CRABHAMMER - db SLASH - db $FF - +INCLUDE "data/battle/critical_hit_moves.asm" ; function to determine if Counter hits and if so, how much damage it does HandleCounterMove: @@ -7117,1603 +7001,3 @@ LoadMonBackPic: ld a, [H_LOADEDROMBANK] ld b, a jp CopyVideoData - -JumpMoveEffect: - call _JumpMoveEffect - ld b, $1 - ret - -_JumpMoveEffect: - ld a, [H_WHOSETURN] - and a - ld a, [wPlayerMoveEffect] - jr z, .next1 - ld a, [wEnemyMoveEffect] -.next1 - dec a ; subtract 1, there is no special effect for 00 - add a ; x2, 16bit pointers - ld hl, MoveEffectPointerTable - ld b, 0 - ld c, a - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - jp hl ; jump to special effect handler - -MoveEffectPointerTable: - dw SleepEffect ; unused effect - dw PoisonEffect ; POISON_SIDE_EFFECT1 - dw DrainHPEffect ; DRAIN_HP_EFFECT - dw FreezeBurnParalyzeEffect ; BURN_SIDE_EFFECT1 - dw FreezeBurnParalyzeEffect ; FREEZE_SIDE_EFFECT - dw FreezeBurnParalyzeEffect ; PARALYZE_SIDE_EFFECT1 - dw ExplodeEffect ; EXPLODE_EFFECT - dw DrainHPEffect ; DREAM_EATER_EFFECT - dw $0000 ; MIRROR_MOVE_EFFECT - dw StatModifierUpEffect ; ATTACK_UP1_EFFECT - dw StatModifierUpEffect ; DEFENSE_UP1_EFFECT - dw StatModifierUpEffect ; SPEED_UP1_EFFECT - dw StatModifierUpEffect ; SPECIAL_UP1_EFFECT - dw StatModifierUpEffect ; ACCURACY_UP1_EFFECT - dw StatModifierUpEffect ; EVASION_UP1_EFFECT - dw PayDayEffect ; PAY_DAY_EFFECT - dw $0000 ; SWIFT_EFFECT - dw StatModifierDownEffect ; ATTACK_DOWN1_EFFECT - dw StatModifierDownEffect ; DEFENSE_DOWN1_EFFECT - dw StatModifierDownEffect ; SPEED_DOWN1_EFFECT - dw StatModifierDownEffect ; SPECIAL_DOWN1_EFFECT - dw StatModifierDownEffect ; ACCURACY_DOWN1_EFFECT - dw StatModifierDownEffect ; EVASION_DOWN1_EFFECT - dw ConversionEffect ; CONVERSION_EFFECT - dw HazeEffect ; HAZE_EFFECT - dw BideEffect ; BIDE_EFFECT - dw ThrashPetalDanceEffect ; THRASH_PETAL_DANCE_EFFECT - dw SwitchAndTeleportEffect ; SWITCH_AND_TELEPORT_EFFECT - dw TwoToFiveAttacksEffect ; TWO_TO_FIVE_ATTACKS_EFFECT - dw TwoToFiveAttacksEffect ; unused effect - dw FlinchSideEffect ; FLINCH_SIDE_EFFECT1 - dw SleepEffect ; SLEEP_EFFECT - dw PoisonEffect ; POISON_SIDE_EFFECT2 - dw FreezeBurnParalyzeEffect ; BURN_SIDE_EFFECT2 - dw FreezeBurnParalyzeEffect ; unused effect - dw FreezeBurnParalyzeEffect ; PARALYZE_SIDE_EFFECT2 - dw FlinchSideEffect ; FLINCH_SIDE_EFFECT2 - dw OneHitKOEffect ; OHKO_EFFECT - dw ChargeEffect ; CHARGE_EFFECT - dw $0000 ; SUPER_FANG_EFFECT - dw $0000 ; SPECIAL_DAMAGE_EFFECT - dw TrappingEffect ; TRAPPING_EFFECT - dw ChargeEffect ; FLY_EFFECT - dw TwoToFiveAttacksEffect ; ATTACK_TWICE_EFFECT - dw $0000 ; JUMP_KICK_EFFECT - dw MistEffect ; MIST_EFFECT - dw FocusEnergyEffect ; FOCUS_ENERGY_EFFECT - dw RecoilEffect ; RECOIL_EFFECT - dw ConfusionEffect ; CONFUSION_EFFECT - dw StatModifierUpEffect ; ATTACK_UP2_EFFECT - dw StatModifierUpEffect ; DEFENSE_UP2_EFFECT - dw StatModifierUpEffect ; SPEED_UP2_EFFECT - dw StatModifierUpEffect ; SPECIAL_UP2_EFFECT - dw StatModifierUpEffect ; ACCURACY_UP2_EFFECT - dw StatModifierUpEffect ; EVASION_UP2_EFFECT - dw HealEffect ; HEAL_EFFECT - dw TransformEffect ; TRANSFORM_EFFECT - dw StatModifierDownEffect ; ATTACK_DOWN2_EFFECT - dw StatModifierDownEffect ; DEFENSE_DOWN2_EFFECT - dw StatModifierDownEffect ; SPEED_DOWN2_EFFECT - dw StatModifierDownEffect ; SPECIAL_DOWN2_EFFECT - dw StatModifierDownEffect ; ACCURACY_DOWN2_EFFECT - dw StatModifierDownEffect ; EVASION_DOWN2_EFFECT - dw ReflectLightScreenEffect ; LIGHT_SCREEN_EFFECT - dw ReflectLightScreenEffect ; REFLECT_EFFECT - dw PoisonEffect ; POISON_EFFECT - dw ParalyzeEffect ; PARALYZE_EFFECT - dw StatModifierDownEffect ; ATTACK_DOWN_SIDE_EFFECT - dw StatModifierDownEffect ; DEFENSE_DOWN_SIDE_EFFECT - dw StatModifierDownEffect ; SPEED_DOWN_SIDE_EFFECT - dw StatModifierDownEffect ; SPECIAL_DOWN_SIDE_EFFECT - dw StatModifierDownEffect ; unused effect - dw StatModifierDownEffect ; unused effect - dw StatModifierDownEffect ; unused effect - dw StatModifierDownEffect ; unused effect - dw ConfusionSideEffect ; CONFUSION_SIDE_EFFECT - dw TwoToFiveAttacksEffect ; TWINEEDLE_EFFECT - dw $0000 ; unused effect - dw SubstituteEffect ; SUBSTITUTE_EFFECT - dw HyperBeamEffect ; HYPER_BEAM_EFFECT - dw RageEffect ; RAGE_EFFECT - dw MimicEffect ; MIMIC_EFFECT - dw $0000 ; METRONOME_EFFECT - dw LeechSeedEffect ; LEECH_SEED_EFFECT - dw SplashEffect ; SPLASH_EFFECT - dw DisableEffect ; DISABLE_EFFECT - -SleepEffect: - ld de, wEnemyMonStatus - ld bc, wEnemyBattleStatus2 - ld a, [H_WHOSETURN] - and a - jp z, .sleepEffect - ld de, wBattleMonStatus - ld bc, wPlayerBattleStatus2 - -.sleepEffect - ld a, [bc] - bit NEEDS_TO_RECHARGE, a ; does the target need to recharge? (hyper beam) - res NEEDS_TO_RECHARGE, a ; target no longer needs to recharge - ld [bc], a - jr nz, .setSleepCounter ; if the target had to recharge, all hit tests will be skipped - ; including the event where the target already has another status - ld a, [de] - ld b, a - and $7 - jr z, .notAlreadySleeping ; can't affect a mon that is already asleep - ld hl, AlreadyAsleepText - jp PrintText -.notAlreadySleeping - ld a, b - and a - jr nz, .didntAffect ; can't affect a mon that is already statused - push de - call MoveHitTest ; apply accuracy tests - pop de - ld a, [wMoveMissed] - and a - jr nz, .didntAffect -.setSleepCounter -; set target's sleep counter to a random number between 1 and 7 - call BattleRandom - and $7 - jr z, .setSleepCounter - ld [de], a - call PlayCurrentMoveAnimation2 - ld hl, FellAsleepText - jp PrintText -.didntAffect - jp PrintDidntAffectText - -FellAsleepText: - TX_FAR _FellAsleepText - db "@" - -AlreadyAsleepText: - TX_FAR _AlreadyAsleepText - db "@" - -PoisonEffect: - ld hl, wEnemyMonStatus - ld de, wPlayerMoveEffect - ld a, [H_WHOSETURN] - and a - jr z, .poisonEffect - ld hl, wBattleMonStatus - ld de, wEnemyMoveEffect -.poisonEffect - call CheckTargetSubstitute - jr nz, .noEffect ; can't poison a substitute target - ld a, [hli] - ld b, a - and a - jr nz, .noEffect ; miss if target is already statused - ld a, [hli] - cp POISON ; can't poison a poison-type target - jr z, .noEffect - ld a, [hld] - cp POISON ; can't poison a poison-type target - jr z, .noEffect - ld a, [de] - cp POISON_SIDE_EFFECT1 - ld b, $34 ; ~20% chance of poisoning - jr z, .sideEffectTest - cp POISON_SIDE_EFFECT2 - ld b, $67 ; ~40% chance of poisoning - jr z, .sideEffectTest - push hl - push de - call MoveHitTest ; apply accuracy tests - pop de - pop hl - ld a, [wMoveMissed] - and a - jr nz, .didntAffect - jr .inflictPoison -.sideEffectTest - call BattleRandom - cp b ; was side effect successful? - ret nc -.inflictPoison - dec hl - set 3, [hl] ; mon is now poisoned - push de - dec de - ld a, [H_WHOSETURN] - and a - ld b, ANIM_C7 - ld hl, wPlayerBattleStatus3 - ld a, [de] - ld de, wPlayerToxicCounter - jr nz, .ok - ld b, ANIM_A9 - ld hl, wEnemyBattleStatus3 - ld de, wEnemyToxicCounter -.ok - cp TOXIC - jr nz, .normalPoison ; done if move is not Toxic - set BADLY_POISONED, [hl] ; else set Toxic battstatus - xor a - ld [de], a - ld hl, BadlyPoisonedText - jr .continue -.normalPoison - ld hl, PoisonedText -.continue - pop de - ld a, [de] - cp POISON_EFFECT - jr z, .regularPoisonEffect - ld a, b - call PlayBattleAnimation2 - jp PrintText -.regularPoisonEffect - call PlayCurrentMoveAnimation2 - jp PrintText -.noEffect - ld a, [de] - cp POISON_EFFECT - ret nz -.didntAffect - ld c, 50 - call DelayFrames - jp PrintDidntAffectText - -PoisonedText: - TX_FAR _PoisonedText - db "@" - -BadlyPoisonedText: - TX_FAR _BadlyPoisonedText - db "@" - -DrainHPEffect: - jpab DrainHPEffect_ - -ExplodeEffect: - ld hl, wBattleMonHP - ld de, wPlayerBattleStatus2 - ld a, [H_WHOSETURN] - and a - jr z, .faintUser - ld hl, wEnemyMonHP - ld de, wEnemyBattleStatus2 -.faintUser - xor a - ld [hli], a ; set the mon's HP to 0 - ld [hli], a - inc hl - ld [hl], a ; set mon's status to 0 - ld a, [de] - res SEEDED, a ; clear mon's leech seed status - ld [de], a - ret - -FreezeBurnParalyzeEffect: - xor a - ld [wAnimationType], a - call CheckTargetSubstitute ; test bit 4 of d063/d068 flags [target has substitute flag] - ret nz ; return if they have a substitute, can't effect them - ld a, [H_WHOSETURN] - and a - jp nz, opponentAttacker - ld a, [wEnemyMonStatus] - and a - jp nz, CheckDefrost ; can't inflict status if opponent is already statused - ld a, [wPlayerMoveType] - ld b, a - ld a, [wEnemyMonType1] - cp b ; do target type 1 and move type match? - ret z ; return if they match (an ice move can't freeze an ice-type, body slam can't paralyze a normal-type, etc.) - ld a, [wEnemyMonType2] - cp b ; do target type 2 and move type match? - ret z ; return if they match - ld a, [wPlayerMoveEffect] - cp PARALYZE_SIDE_EFFECT1 + 1 ; 10% status effects are 04, 05, 06 so 07 will set carry for those - ld b, $1a ; 0x1A/0x100 or 26/256 = 10.2%~ chance - jr c, .next1 ; branch ahead if this is a 10% chance effect.. - ld b, $4d ; else use 0x4D/0x100 or 77/256 = 30.1%~ chance - sub $1e ; subtract $1E to map to equivalent 10% chance effects -.next1 - push af - call BattleRandom ; get random 8bit value for probability test - cp b - pop bc - ret nc ; do nothing if random value is >= 1A or 4D [no status applied] - ld a, b ; what type of effect is this? - cp BURN_SIDE_EFFECT1 - jr z, .burn - cp FREEZE_SIDE_EFFECT - jr z, .freeze -; .paralyze - ld a, 1 << PAR - ld [wEnemyMonStatus], a - call QuarterSpeedDueToParalysis ; quarter speed of affected mon - ld a, ANIM_A9 - call PlayBattleAnimation - jp PrintMayNotAttackText ; print paralysis text -.burn - ld a, 1 << BRN - ld [wEnemyMonStatus], a - call HalveAttackDueToBurn ; halve attack of affected mon - ld a, ANIM_A9 - call PlayBattleAnimation - ld hl, BurnedText - jp PrintText -.freeze - call ClearHyperBeam ; resets hyper beam (recharge) condition from target - ld a, 1 << FRZ - ld [wEnemyMonStatus], a - ld a, ANIM_A9 - call PlayBattleAnimation - ld hl, FrozenText - jp PrintText -opponentAttacker: - ld a, [wBattleMonStatus] ; mostly same as above with addresses swapped for opponent - and a - jp nz, CheckDefrost - ld a, [wEnemyMoveType] - ld b, a - ld a, [wBattleMonType1] - cp b - ret z - ld a, [wBattleMonType2] - cp b - ret z - ld a, [wEnemyMoveEffect] - cp PARALYZE_SIDE_EFFECT1 + 1 - ld b, $1a - jr c, .next1 - ld b, $4d - sub $1e -.next1 - push af - call BattleRandom - cp b - pop bc - ret nc - ld a, b - cp BURN_SIDE_EFFECT1 - jr z, .burn - cp FREEZE_SIDE_EFFECT - jr z, .freeze - ld a, 1 << PAR - ld [wBattleMonStatus], a - call QuarterSpeedDueToParalysis - jp PrintMayNotAttackText -.burn - ld a, 1 << BRN - ld [wBattleMonStatus], a - call HalveAttackDueToBurn - ld hl, BurnedText - jp PrintText -.freeze -; hyper beam bits aren't reseted for opponent's side - ld a, 1 << FRZ - ld [wBattleMonStatus], a - ld hl, FrozenText - jp PrintText - -BurnedText: - TX_FAR _BurnedText - db "@" - -FrozenText: - TX_FAR _FrozenText - db "@" - -CheckDefrost: -; any fire-type move that has a chance inflict burn (all but Fire Spin) will defrost a frozen target - and 1 << FRZ ; are they frozen? - ret z ; return if so - ld a, [H_WHOSETURN] - and a - jr nz, .opponent - ;player [attacker] - ld a, [wPlayerMoveType] - sub FIRE - ret nz ; return if type of move used isn't fire - ld [wEnemyMonStatus], a ; set opponent status to 00 ["defrost" a frozen monster] - ld hl, wEnemyMon1Status - ld a, [wEnemyMonPartyPos] - ld bc, wEnemyMon2 - wEnemyMon1 - call AddNTimes - xor a - ld [hl], a ; clear status in roster - ld hl, FireDefrostedText - jr .common -.opponent - ld a, [wEnemyMoveType] ; same as above with addresses swapped - sub FIRE - ret nz - ld [wBattleMonStatus], a - ld hl, wPartyMon1Status - ld a, [wPlayerMonNumber] - ld bc, wPartyMon2 - wPartyMon1 - call AddNTimes - xor a - ld [hl], a - ld hl, FireDefrostedText -.common - jp PrintText - -FireDefrostedText: - TX_FAR _FireDefrostedText - db "@" - -StatModifierUpEffect: - ld hl, wPlayerMonStatMods - ld de, wPlayerMoveEffect - ld a, [H_WHOSETURN] - and a - jr z, .statModifierUpEffect - ld hl, wEnemyMonStatMods - ld de, wEnemyMoveEffect -.statModifierUpEffect - ld a, [de] - sub ATTACK_UP1_EFFECT - cp EVASION_UP1_EFFECT + $3 - ATTACK_UP1_EFFECT ; covers all +1 effects - jr c, .incrementStatMod - sub ATTACK_UP2_EFFECT - ATTACK_UP1_EFFECT ; map +2 effects to equivalent +1 effect -.incrementStatMod - ld c, a - ld b, $0 - add hl, bc - ld b, [hl] - inc b ; increment corresponding stat mod - ld a, $d - cp b ; can't raise stat past +6 ($d or 13) - jp c, PrintNothingHappenedText - ld a, [de] - cp ATTACK_UP1_EFFECT + $8 ; is it a +2 effect? - jr c, .ok - inc b ; if so, increment stat mod again - ld a, $d - cp b ; unless it's already +6 - jr nc, .ok - ld b, a -.ok - ld [hl], b - ld a, c - cp $4 - jr nc, UpdateStatDone ; jump if mod affected is evasion/accuracy - push hl - ld hl, wBattleMonAttack + 1 - ld de, wPlayerMonUnmodifiedAttack - ld a, [H_WHOSETURN] - and a - jr z, .pointToStats - ld hl, wEnemyMonAttack + 1 - ld de, wEnemyMonUnmodifiedAttack -.pointToStats - push bc - sla c - ld b, $0 - add hl, bc ; hl = modified stat - ld a, c - add e - ld e, a - jr nc, .checkIf999 - inc d ; de = unmodified (original) stat -.checkIf999 - pop bc - ld a, [hld] - sub 999 % $100 ; check if stat is already 999 - jr nz, .recalculateStat - ld a, [hl] - sbc 999 / $100 - jp z, RestoreOriginalStatModifier -.recalculateStat ; recalculate affected stat - ; paralysis and burn penalties, as well as badge boosts are ignored - push hl - push bc - ld hl, StatModifierRatios - dec b - sla b - ld c, b - ld b, $0 - add hl, bc - pop bc - xor a - ld [H_MULTIPLICAND], a - ld a, [de] - ld [H_MULTIPLICAND + 1], a - inc de - ld a, [de] - ld [H_MULTIPLICAND + 2], a - ld a, [hli] - ld [H_MULTIPLIER], a - call Multiply - ld a, [hl] - ld [H_DIVISOR], a - ld b, $4 - call Divide - pop hl -; cap at 999 - ld a, [H_PRODUCT + 3] - sub 999 % $100 - ld a, [H_PRODUCT + 2] - sbc 999 / $100 - jp c, UpdateStat - ld a, 999 / $100 - ld [H_MULTIPLICAND + 1], a - ld a, 999 % $100 - ld [H_MULTIPLICAND + 2], a - -UpdateStat: - ld a, [H_PRODUCT + 2] - ld [hli], a - ld a, [H_PRODUCT + 3] - ld [hl], a - pop hl -UpdateStatDone: - ld b, c - inc b - call PrintStatText - ld hl, wPlayerBattleStatus2 - ld de, wPlayerMoveNum - ld bc, wPlayerMonMinimized - ld a, [H_WHOSETURN] - and a - jr z, .asm_3f4e6 - ld hl, wEnemyBattleStatus2 - ld de, wEnemyMoveNum - ld bc, wEnemyMonMinimized -.asm_3f4e6 - ld a, [de] - cp MINIMIZE - jr nz, .asm_3f4f9 - ; if a substitute is up, slide off the substitute and show the mon pic before - ; playing the minimize animation - bit HAS_SUBSTITUTE_UP, [hl] - push af - push bc - ld hl, HideSubstituteShowMonAnim - ld b, BANK(HideSubstituteShowMonAnim) - push de - call nz, Bankswitch - pop de -.asm_3f4f9 - call PlayCurrentMoveAnimation - ld a, [de] - cp MINIMIZE - jr nz, .applyBadgeBoostsAndStatusPenalties - pop bc - ld a, $1 - ld [bc], a - ld hl, ReshowSubstituteAnim - ld b, BANK(ReshowSubstituteAnim) - pop af - call nz, Bankswitch -.applyBadgeBoostsAndStatusPenalties - ld a, [H_WHOSETURN] - and a - call z, ApplyBadgeStatBoosts ; whenever the player uses a stat-up move, badge boosts get reapplied again to every stat, - ; even to those not affected by the stat-up move (will be boosted further) - ld hl, MonsStatsRoseText - call PrintText - -; these shouldn't be here - call QuarterSpeedDueToParalysis ; apply speed penalty to the player whose turn is not, if it's paralyzed - jp HalveAttackDueToBurn ; apply attack penalty to the player whose turn is not, if it's burned - -RestoreOriginalStatModifier: - pop hl - dec [hl] - -PrintNothingHappenedText: - ld hl, NothingHappenedText - jp PrintText - -MonsStatsRoseText: - TX_FAR _MonsStatsRoseText - TX_ASM - ld hl, GreatlyRoseText - ld a, [H_WHOSETURN] - and a - ld a, [wPlayerMoveEffect] - jr z, .playerTurn - ld a, [wEnemyMoveEffect] -.playerTurn - cp ATTACK_DOWN1_EFFECT - ret nc - ld hl, RoseText - ret - -GreatlyRoseText: - TX_DELAY - TX_FAR _GreatlyRoseText -; fallthrough -RoseText: - TX_FAR _RoseText - db "@" - -StatModifierDownEffect: - ld hl, wEnemyMonStatMods - ld de, wPlayerMoveEffect - ld bc, wEnemyBattleStatus1 - ld a, [H_WHOSETURN] - and a - jr z, .statModifierDownEffect - ld hl, wPlayerMonStatMods - ld de, wEnemyMoveEffect - ld bc, wPlayerBattleStatus1 - ld a, [wLinkState] - cp LINK_STATE_BATTLING - jr z, .statModifierDownEffect - call BattleRandom - cp $40 ; 1/4 chance to miss by in regular battle - jp c, MoveMissed -.statModifierDownEffect - call CheckTargetSubstitute ; can't hit through substitute - jp nz, MoveMissed - ld a, [de] - cp ATTACK_DOWN_SIDE_EFFECT - jr c, .nonSideEffect - call BattleRandom - cp $55 ; 85/256 chance for side effects - jp nc, CantLowerAnymore - ld a, [de] - sub ATTACK_DOWN_SIDE_EFFECT ; map each stat to 0-3 - jr .decrementStatMod -.nonSideEffect ; non-side effects only - push hl - push de - push bc - call MoveHitTest ; apply accuracy tests - pop bc - pop de - pop hl - ld a, [wMoveMissed] - and a - jp nz, MoveMissed - ld a, [bc] - bit INVULNERABLE, a ; fly/dig - jp nz, MoveMissed - ld a, [de] - sub ATTACK_DOWN1_EFFECT - cp EVASION_DOWN1_EFFECT + $3 - ATTACK_DOWN1_EFFECT ; covers all -1 effects - jr c, .decrementStatMod - sub ATTACK_DOWN2_EFFECT - ATTACK_DOWN1_EFFECT ; map -2 effects to corresponding -1 effect -.decrementStatMod - ld c, a - ld b, $0 - add hl, bc - ld b, [hl] - dec b ; dec corresponding stat mod - jp z, CantLowerAnymore ; if stat mod is 1 (-6), can't lower anymore - ld a, [de] - cp ATTACK_DOWN2_EFFECT - $16 ; $24 - jr c, .ok - cp EVASION_DOWN2_EFFECT + $5 ; $44 - jr nc, .ok - dec b ; stat down 2 effects only (dec mod again) - jr nz, .ok - inc b ; increment mod to 1 (-6) if it would become 0 (-7) -.ok - ld [hl], b ; save modified mod - ld a, c - cp $4 - jr nc, UpdateLoweredStatDone ; jump for evasion/accuracy - push hl - push de - ld hl, wEnemyMonAttack + 1 - ld de, wEnemyMonUnmodifiedAttack - ld a, [H_WHOSETURN] - and a - jr z, .pointToStat - ld hl, wBattleMonAttack + 1 - ld de, wPlayerMonUnmodifiedAttack -.pointToStat - push bc - sla c - ld b, $0 - add hl, bc ; hl = modified stat - ld a, c - add e - ld e, a - jr nc, .noCarry - inc d ; de = unmodified stat -.noCarry - pop bc - ld a, [hld] - sub $1 ; can't lower stat below 1 (-6) - jr nz, .recalculateStat - ld a, [hl] - and a - jp z, CantLowerAnymore_Pop -.recalculateStat -; recalculate affected stat -; paralysis and burn penalties, as well as badge boosts are ignored - push hl - push bc - ld hl, StatModifierRatios - dec b - sla b - ld c, b - ld b, $0 - add hl, bc - pop bc - xor a - ld [H_MULTIPLICAND], a - ld a, [de] - ld [H_MULTIPLICAND + 1], a - inc de - ld a, [de] - ld [H_MULTIPLICAND + 2], a - ld a, [hli] - ld [H_MULTIPLIER], a - call Multiply - ld a, [hl] - ld [H_DIVISOR], a - ld b, $4 - call Divide - pop hl - ld a, [H_PRODUCT + 3] - ld b, a - ld a, [H_PRODUCT + 2] - or b - jp nz, UpdateLoweredStat - ld [H_MULTIPLICAND + 1], a - ld a, $1 - ld [H_MULTIPLICAND + 2], a - -UpdateLoweredStat: - ld a, [H_PRODUCT + 2] - ld [hli], a - ld a, [H_PRODUCT + 3] - ld [hl], a - pop de - pop hl -UpdateLoweredStatDone: - ld b, c - inc b - push de - call PrintStatText - pop de - ld a, [de] - cp $44 - jr nc, .ApplyBadgeBoostsAndStatusPenalties - call PlayCurrentMoveAnimation2 -.ApplyBadgeBoostsAndStatusPenalties - ld a, [H_WHOSETURN] - and a - call nz, ApplyBadgeStatBoosts ; whenever the player uses a stat-down move, badge boosts get reapplied again to every stat, - ; even to those not affected by the stat-up move (will be boosted further) - ld hl, MonsStatsFellText - call PrintText - -; These where probably added given that a stat-down move affecting speed or attack will override -; the stat penalties from paralysis and burn respectively. -; But they are always called regardless of the stat affected by the stat-down move. - call QuarterSpeedDueToParalysis - jp HalveAttackDueToBurn - -CantLowerAnymore_Pop: - pop de - pop hl - inc [hl] - -CantLowerAnymore: - ld a, [de] - cp ATTACK_DOWN_SIDE_EFFECT - ret nc - ld hl, NothingHappenedText - jp PrintText - -MoveMissed: - ld a, [de] - cp $44 - ret nc - jp ConditionalPrintButItFailed - -MonsStatsFellText: - TX_FAR _MonsStatsFellText - TX_ASM - ld hl, FellText - ld a, [H_WHOSETURN] - and a - ld a, [wPlayerMoveEffect] - jr z, .playerTurn - ld a, [wEnemyMoveEffect] -.playerTurn -; check if the move's effect decreases a stat by 2 - cp BIDE_EFFECT - ret c - cp ATTACK_DOWN_SIDE_EFFECT - ret nc - ld hl, GreatlyFellText - ret - -GreatlyFellText: - TX_DELAY - TX_FAR _GreatlyFellText -; fallthrough -FellText: - TX_FAR _FellText - db "@" - -PrintStatText: - ld hl, StatsTextStrings - ld c, "@" -.findStatName_outer - dec b - jr z, .foundStatName -.findStatName_inner - ld a, [hli] - cp c - jr z, .findStatName_outer - jr .findStatName_inner -.foundStatName - ld de, wcf4b - ld bc, $a - jp CopyData - -StatsTextStrings: - db "ATTACK@" - db "DEFENSE@" - db "SPEED@" - db "SPECIAL@" - db "ACCURACY@" - db "EVADE@" - -StatModifierRatios: -; first byte is numerator, second byte is denominator - db 25, 100 ; 0.25 - db 28, 100 ; 0.28 - db 33, 100 ; 0.33 - db 40, 100 ; 0.40 - db 50, 100 ; 0.50 - db 66, 100 ; 0.66 - db 1, 1 ; 1.00 - db 15, 10 ; 1.50 - db 2, 1 ; 2.00 - db 25, 10 ; 2.50 - db 3, 1 ; 3.00 - db 35, 10 ; 3.50 - db 4, 1 ; 4.00 - -BideEffect: - ld hl, wPlayerBattleStatus1 - ld de, wPlayerBideAccumulatedDamage - ld bc, wPlayerNumAttacksLeft - ld a, [H_WHOSETURN] - and a - jr z, .bideEffect - ld hl, wEnemyBattleStatus1 - ld de, wEnemyBideAccumulatedDamage - ld bc, wEnemyNumAttacksLeft -.bideEffect - set STORING_ENERGY, [hl] ; mon is now using bide - xor a - ld [de], a - inc de - ld [de], a - ld [wPlayerMoveEffect], a - ld [wEnemyMoveEffect], a - call BattleRandom - and $1 - inc a - inc a - ld [bc], a ; set Bide counter to 2 or 3 at random - ld a, [H_WHOSETURN] - add XSTATITEM_ANIM - jp PlayBattleAnimation2 - -ThrashPetalDanceEffect: - ld hl, wPlayerBattleStatus1 - ld de, wPlayerNumAttacksLeft - ld a, [H_WHOSETURN] - and a - jr z, .thrashPetalDanceEffect - ld hl, wEnemyBattleStatus1 - ld de, wEnemyNumAttacksLeft -.thrashPetalDanceEffect - set THRASHING_ABOUT, [hl] ; mon is now using thrash/petal dance - call BattleRandom - and $1 - inc a - inc a - ld [de], a ; set thrash/petal dance counter to 2 or 3 at random - ld a, [H_WHOSETURN] - add ANIM_B0 - jp PlayBattleAnimation2 - -SwitchAndTeleportEffect: - ld a, [H_WHOSETURN] - and a - jr nz, .handleEnemy - ld a, [wIsInBattle] - dec a - jr nz, .notWildBattle1 - ld a, [wCurEnemyLVL] - ld b, a - ld a, [wBattleMonLevel] - cp b ; is the player's level greater than the enemy's level? - jr nc, .playerMoveWasSuccessful ; if so, teleport will always succeed - add b - ld c, a - inc c ; c = sum of player level and enemy level -.rejectionSampleLoop1 - call BattleRandom - cp c ; get a random number between 0 and c - jr nc, .rejectionSampleLoop1 - srl b - srl b ; b = enemyLevel / 4 - cp b ; is rand[0, playerLevel + enemyLevel) >= (enemyLevel / 4)? - jr nc, .playerMoveWasSuccessful ; if so, allow teleporting - ld c, 50 - call DelayFrames - ld a, [wPlayerMoveNum] - cp TELEPORT - jp nz, PrintDidntAffectText - jp PrintButItFailedText_ -.playerMoveWasSuccessful - call ReadPlayerMonCurHPAndStatus - xor a - ld [wAnimationType], a - inc a - ld [wEscapedFromBattle], a - ld a, [wPlayerMoveNum] - jr .playAnimAndPrintText -.notWildBattle1 - ld c, 50 - call DelayFrames - ld hl, IsUnaffectedText - ld a, [wPlayerMoveNum] - cp TELEPORT - jp nz, PrintText - jp PrintButItFailedText_ -.handleEnemy - ld a, [wIsInBattle] - dec a - jr nz, .notWildBattle2 - ld a, [wBattleMonLevel] - ld b, a - ld a, [wCurEnemyLVL] - cp b - jr nc, .enemyMoveWasSuccessful - add b - ld c, a - inc c -.rejectionSampleLoop2 - call BattleRandom - cp c - jr nc, .rejectionSampleLoop2 - srl b - srl b - cp b - jr nc, .enemyMoveWasSuccessful - ld c, 50 - call DelayFrames - ld a, [wEnemyMoveNum] - cp TELEPORT - jp nz, PrintDidntAffectText - jp PrintButItFailedText_ -.enemyMoveWasSuccessful - call ReadPlayerMonCurHPAndStatus - xor a - ld [wAnimationType], a - inc a - ld [wEscapedFromBattle], a - ld a, [wEnemyMoveNum] - jr .playAnimAndPrintText -.notWildBattle2 - ld c, 50 - call DelayFrames - ld hl, IsUnaffectedText - ld a, [wEnemyMoveNum] - cp TELEPORT - jp nz, PrintText - jp ConditionalPrintButItFailed -.playAnimAndPrintText - push af - call PlayBattleAnimation - ld c, 20 - call DelayFrames - pop af - ld hl, RanFromBattleText - cp TELEPORT - jr z, .printText - ld hl, RanAwayScaredText - cp ROAR - jr z, .printText - ld hl, WasBlownAwayText -.printText - jp PrintText - -RanFromBattleText: - TX_FAR _RanFromBattleText - db "@" - -RanAwayScaredText: - TX_FAR _RanAwayScaredText - db "@" - -WasBlownAwayText: - TX_FAR _WasBlownAwayText - db "@" - -TwoToFiveAttacksEffect: - ld hl, wPlayerBattleStatus1 - ld de, wPlayerNumAttacksLeft - ld bc, wPlayerNumHits - ld a, [H_WHOSETURN] - and a - jr z, .twoToFiveAttacksEffect - ld hl, wEnemyBattleStatus1 - ld de, wEnemyNumAttacksLeft - ld bc, wEnemyNumHits -.twoToFiveAttacksEffect - bit ATTACKING_MULTIPLE_TIMES, [hl] ; is mon attacking multiple times? - ret nz - set ATTACKING_MULTIPLE_TIMES, [hl] ; mon is now attacking multiple times - ld hl, wPlayerMoveEffect - ld a, [H_WHOSETURN] - and a - jr z, .setNumberOfHits - ld hl, wEnemyMoveEffect -.setNumberOfHits - ld a, [hl] - cp TWINEEDLE_EFFECT - jr z, .twineedle - cp ATTACK_TWICE_EFFECT - ld a, $2 ; number of hits it's always 2 for ATTACK_TWICE_EFFECT - jr z, .saveNumberOfHits -; for TWO_TO_FIVE_ATTACKS_EFFECT 3/8 chance for 2 and 3 hits, and 1/8 chance for 4 and 5 hits - call BattleRandom - and $3 - cp $2 - jr c, .gotNumHits -; if the number of hits was greater than 2, re-roll again for a lower chance - call BattleRandom - and $3 -.gotNumHits - inc a - inc a -.saveNumberOfHits - ld [de], a - ld [bc], a - ret -.twineedle - ld a, POISON_SIDE_EFFECT1 - ld [hl], a ; set Twineedle's effect to poison effect - jr .saveNumberOfHits - -FlinchSideEffect: - call CheckTargetSubstitute - ret nz - ld hl, wEnemyBattleStatus1 - ld de, wPlayerMoveEffect - ld a, [H_WHOSETURN] - and a - jr z, .flinchSideEffect - ld hl, wPlayerBattleStatus1 - ld de, wEnemyMoveEffect -.flinchSideEffect - ld a, [de] - cp FLINCH_SIDE_EFFECT1 - ld b, $1a ; ~10% chance of flinch - jr z, .gotEffectChance - ld b, $4d ; ~30% chance of flinch -.gotEffectChance - call BattleRandom - cp b - ret nc - set FLINCHED, [hl] ; set mon's status to flinching - call ClearHyperBeam - ret - -OneHitKOEffect: - jpab OneHitKOEffect_ - -ChargeEffect: - ld hl, wPlayerBattleStatus1 - ld de, wPlayerMoveEffect - ld a, [H_WHOSETURN] - and a - ld b, XSTATITEM_ANIM - jr z, .chargeEffect - ld hl, wEnemyBattleStatus1 - ld de, wEnemyMoveEffect - ld b, ANIM_AF -.chargeEffect - set CHARGING_UP, [hl] - ld a, [de] - dec de ; de contains enemy or player MOVENUM - cp FLY_EFFECT - jr nz, .notFly - set INVULNERABLE, [hl] ; mon is now invulnerable to typical attacks (fly/dig) - ld b, TELEPORT ; load Teleport's animation -.notFly - ld a, [de] - cp DIG - jr nz, .notDigOrFly - set INVULNERABLE, [hl] ; mon is now invulnerable to typical attacks (fly/dig) - ld b, ANIM_C0 -.notDigOrFly - xor a - ld [wAnimationType], a - ld a, b - call PlayBattleAnimation - ld a, [de] - ld [wChargeMoveNum], a - ld hl, ChargeMoveEffectText - jp PrintText - -ChargeMoveEffectText: - TX_FAR _ChargeMoveEffectText - TX_ASM - ld a, [wChargeMoveNum] - cp RAZOR_WIND - ld hl, MadeWhirlwindText - jr z, .gotText - cp SOLARBEAM - ld hl, TookInSunlightText - jr z, .gotText - cp SKULL_BASH - ld hl, LoweredItsHeadText - jr z, .gotText - cp SKY_ATTACK - ld hl, SkyAttackGlowingText - jr z, .gotText - cp FLY - ld hl, FlewUpHighText - jr z, .gotText - cp DIG - ld hl, DugAHoleText -.gotText - ret - -MadeWhirlwindText: - TX_FAR _MadeWhirlwindText - db "@" - -TookInSunlightText: - TX_FAR _TookInSunlightText - db "@" - -LoweredItsHeadText: - TX_FAR _LoweredItsHeadText - db "@" - -SkyAttackGlowingText: - TX_FAR _SkyAttackGlowingText - db "@" - -FlewUpHighText: - TX_FAR _FlewUpHighText - db "@" - -DugAHoleText: - TX_FAR _DugAHoleText - db "@" - -TrappingEffect: - ld hl, wPlayerBattleStatus1 - ld de, wPlayerNumAttacksLeft - ld a, [H_WHOSETURN] - and a - jr z, .trappingEffect - ld hl, wEnemyBattleStatus1 - ld de, wEnemyNumAttacksLeft -.trappingEffect - bit USING_TRAPPING_MOVE, [hl] - ret nz - call ClearHyperBeam ; since this effect is called before testing whether the move will hit, - ; the target won't need to recharge even if the trapping move missed - set USING_TRAPPING_MOVE, [hl] ; mon is now using a trapping move - call BattleRandom ; 3/8 chance for 2 and 3 attacks, and 1/8 chance for 4 and 5 attacks - and $3 - cp $2 - jr c, .setTrappingCounter - call BattleRandom - and $3 -.setTrappingCounter - inc a - ld [de], a - ret - -MistEffect: - jpab MistEffect_ - -FocusEnergyEffect: - jpab FocusEnergyEffect_ - -RecoilEffect: - jpab RecoilEffect_ - -ConfusionSideEffect: - call BattleRandom - cp $19 ; ~10% chance - ret nc - jr ConfusionSideEffectSuccess - -ConfusionEffect: - call CheckTargetSubstitute - jr nz, ConfusionEffectFailed - call MoveHitTest - ld a, [wMoveMissed] - and a - jr nz, ConfusionEffectFailed - -ConfusionSideEffectSuccess: - ld a, [H_WHOSETURN] - and a - ld hl, wEnemyBattleStatus1 - ld bc, wEnemyConfusedCounter - ld a, [wPlayerMoveEffect] - jr z, .confuseTarget - ld hl, wPlayerBattleStatus1 - ld bc, wPlayerConfusedCounter - ld a, [wEnemyMoveEffect] -.confuseTarget - bit CONFUSED, [hl] ; is mon confused? - jr nz, ConfusionEffectFailed - set CONFUSED, [hl] ; mon is now confused - push af - call BattleRandom - and $3 - inc a - inc a - ld [bc], a ; confusion status will last 2-5 turns - pop af - cp CONFUSION_SIDE_EFFECT - call nz, PlayCurrentMoveAnimation2 - ld hl, BecameConfusedText - jp PrintText - -BecameConfusedText: - TX_FAR _BecameConfusedText - db "@" - -ConfusionEffectFailed: - cp CONFUSION_SIDE_EFFECT - ret z - ld c, 50 - call DelayFrames - jp ConditionalPrintButItFailed - -ParalyzeEffect: - jpab ParalyzeEffect_ - -SubstituteEffect: - jpab SubstituteEffect_ - -HyperBeamEffect: - ld hl, wPlayerBattleStatus2 - ld a, [H_WHOSETURN] - and a - jr z, .hyperBeamEffect - ld hl, wEnemyBattleStatus2 -.hyperBeamEffect - set NEEDS_TO_RECHARGE, [hl] ; mon now needs to recharge - ret - -ClearHyperBeam: - push hl - ld hl, wEnemyBattleStatus2 - ld a, [H_WHOSETURN] - and a - jr z, .playerTurn - ld hl, wPlayerBattleStatus2 -.playerTurn - res NEEDS_TO_RECHARGE, [hl] ; mon no longer needs to recharge - pop hl - ret - -RageEffect: - ld hl, wPlayerBattleStatus2 - ld a, [H_WHOSETURN] - and a - jr z, .player - ld hl, wEnemyBattleStatus2 -.player - set USING_RAGE, [hl] ; mon is now in "rage" mode - ret - -MimicEffect: - ld c, 50 - call DelayFrames - call MoveHitTest - ld a, [wMoveMissed] - and a - jr nz, .mimicMissed - ld a, [H_WHOSETURN] - and a - ld hl, wBattleMonMoves - ld a, [wPlayerBattleStatus1] - jr nz, .enemyTurn - ld a, [wLinkState] - cp LINK_STATE_BATTLING - jr nz, .letPlayerChooseMove - ld hl, wEnemyMonMoves - ld a, [wEnemyBattleStatus1] -.enemyTurn - bit INVULNERABLE, a - jr nz, .mimicMissed -.getRandomMove - push hl - call BattleRandom - and $3 - ld c, a - ld b, $0 - add hl, bc - ld a, [hl] - pop hl - and a - jr z, .getRandomMove - ld d, a - ld a, [H_WHOSETURN] - and a - ld hl, wBattleMonMoves - ld a, [wPlayerMoveListIndex] - jr z, .playerTurn - ld hl, wEnemyMonMoves - ld a, [wEnemyMoveListIndex] - jr .playerTurn -.letPlayerChooseMove - ld a, [wEnemyBattleStatus1] - bit INVULNERABLE, a - jr nz, .mimicMissed - ld a, [wCurrentMenuItem] - push af - ld a, $1 - ld [wMoveMenuType], a - call MoveSelectionMenu - call LoadScreenTilesFromBuffer1 - ld hl, wEnemyMonMoves - ld a, [wCurrentMenuItem] - ld c, a - ld b, $0 - add hl, bc - ld d, [hl] - pop af - ld hl, wBattleMonMoves -.playerTurn - ld c, a - ld b, $0 - add hl, bc - ld a, d - ld [hl], a - ld [wd11e], a - call GetMoveName - call PlayCurrentMoveAnimation - ld hl, MimicLearnedMoveText - jp PrintText -.mimicMissed - jp PrintButItFailedText_ - -MimicLearnedMoveText: - TX_FAR _MimicLearnedMoveText - db "@" - -LeechSeedEffect: - jpab LeechSeedEffect_ - -SplashEffect: - call PlayCurrentMoveAnimation - jp PrintNoEffectText - -DisableEffect: - call MoveHitTest - ld a, [wMoveMissed] - and a - jr nz, .moveMissed - ld de, wEnemyDisabledMove - ld hl, wEnemyMonMoves - ld a, [H_WHOSETURN] - and a - jr z, .disableEffect - ld de, wPlayerDisabledMove - ld hl, wBattleMonMoves -.disableEffect -; no effect if target already has a move disabled - ld a, [de] - and a - jr nz, .moveMissed -.pickMoveToDisable - push hl - call BattleRandom - and $3 - ld c, a - ld b, $0 - add hl, bc - ld a, [hl] - pop hl - and a - jr z, .pickMoveToDisable ; loop until a non-00 move slot is found - ld [wd11e], a ; store move number - push hl - ld a, [H_WHOSETURN] - and a - ld hl, wBattleMonPP - jr nz, .enemyTurn - ld a, [wLinkState] - cp LINK_STATE_BATTLING - pop hl ; wEnemyMonMoves - jr nz, .playerTurnNotLinkBattle -; .playerTurnLinkBattle - push hl - ld hl, wEnemyMonPP -.enemyTurn - push hl - ld a, [hli] - or [hl] - inc hl - or [hl] - inc hl - or [hl] - and $3f - pop hl ; wBattleMonPP or wEnemyMonPP - jr z, .moveMissedPopHL ; nothing to do if all moves have no PP left - add hl, bc - ld a, [hl] - pop hl - and a - jr z, .pickMoveToDisable ; pick another move if this one had 0 PP -.playerTurnNotLinkBattle -; non-link battle enemies have unlimited PP so the previous checks aren't needed - call BattleRandom - and $7 - inc a ; 1-8 turns disabled - inc c ; move 1-4 will be disabled - swap c - add c ; map disabled move to high nibble of wEnemyDisabledMove / wPlayerDisabledMove - ld [de], a - call PlayCurrentMoveAnimation2 - ld hl, wPlayerDisabledMoveNumber - ld a, [H_WHOSETURN] - and a - jr nz, .printDisableText - inc hl ; wEnemyDisabledMoveNumber -.printDisableText - ld a, [wd11e] ; move number - ld [hl], a - call GetMoveName - ld hl, MoveWasDisabledText - jp PrintText -.moveMissedPopHL - pop hl -.moveMissed - jp PrintButItFailedText_ - -MoveWasDisabledText: - TX_FAR _MoveWasDisabledText - db "@" - -PayDayEffect: - jpab PayDayEffect_ - -ConversionEffect: - jpab ConversionEffect_ - -HazeEffect: - jpab HazeEffect_ - -HealEffect: - jpab HealEffect_ - -TransformEffect: - jpab TransformEffect_ - -ReflectLightScreenEffect: - jpab ReflectLightScreenEffect_ - -NothingHappenedText: - TX_FAR _NothingHappenedText - db "@" - -PrintNoEffectText: - ld hl, NoEffectText - jp PrintText - -NoEffectText: - TX_FAR _NoEffectText - db "@" - -ConditionalPrintButItFailed: - ld a, [wMoveDidntMiss] - and a - ret nz ; return if the side effect failed, yet the attack was successful - -PrintButItFailedText_: - ld hl, ButItFailedText - jp PrintText - -ButItFailedText: - TX_FAR _ButItFailedText - db "@" - -PrintDidntAffectText: - ld hl, DidntAffectText - jp PrintText - -DidntAffectText: - TX_FAR _DidntAffectText - db "@" - -IsUnaffectedText: - TX_FAR _IsUnaffectedText - db "@" - -PrintMayNotAttackText: - ld hl, ParalyzedMayNotAttackText - jp PrintText - -ParalyzedMayNotAttackText: - TX_FAR _ParalyzedMayNotAttackText - db "@" - -CheckTargetSubstitute: - push hl - ld hl, wEnemyBattleStatus2 - ld a, [H_WHOSETURN] - and a - jr z, .next1 - ld hl, wPlayerBattleStatus2 -.next1 - bit HAS_SUBSTITUTE_UP, [hl] - pop hl - ret - -PlayCurrentMoveAnimation2: -; animation at MOVENUM will be played unless MOVENUM is 0 -; plays wAnimationType 3 or 6 - ld a, [H_WHOSETURN] - and a - ld a, [wPlayerMoveNum] - jr z, .notEnemyTurn - ld a, [wEnemyMoveNum] -.notEnemyTurn - and a - ret z - -PlayBattleAnimation2: -; play animation ID at a and animation type 6 or 3 - ld [wAnimationID], a - ld a, [H_WHOSETURN] - and a - ld a, $6 - jr z, .storeAnimationType - ld a, $3 -.storeAnimationType - ld [wAnimationType], a - jp PlayBattleAnimationGotID - -PlayCurrentMoveAnimation: -; animation at MOVENUM will be played unless MOVENUM is 0 -; resets wAnimationType - xor a - ld [wAnimationType], a - ld a, [H_WHOSETURN] - and a - ld a, [wPlayerMoveNum] - jr z, .notEnemyTurn - ld a, [wEnemyMoveNum] -.notEnemyTurn - and a - ret z - -PlayBattleAnimation: -; play animation ID at a and predefined animation type - ld [wAnimationID], a - -PlayBattleAnimationGotID: -; play animation at wAnimationID - push hl - push de - push bc - predef MoveAnimation - pop bc - pop de - pop hl - ret diff --git a/engine/battle/effects.asm b/engine/battle/effects.asm new file mode 100644 index 00000000..8bb22a1c --- /dev/null +++ b/engine/battle/effects.asm @@ -0,0 +1,1493 @@ +JumpMoveEffect: + call _JumpMoveEffect + ld b, $1 + ret + +_JumpMoveEffect: + ld a, [H_WHOSETURN] + and a + ld a, [wPlayerMoveEffect] + jr z, .next1 + ld a, [wEnemyMoveEffect] +.next1 + dec a ; subtract 1, there is no special effect for 00 + add a ; x2, 16bit pointers + ld hl, MoveEffectPointerTable + ld b, 0 + ld c, a + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + jp hl ; jump to special effect handler + +INCLUDE "data/effects_pointers.asm" + +SleepEffect: + ld de, wEnemyMonStatus + ld bc, wEnemyBattleStatus2 + ld a, [H_WHOSETURN] + and a + jp z, .sleepEffect + ld de, wBattleMonStatus + ld bc, wPlayerBattleStatus2 + +.sleepEffect + ld a, [bc] + bit NEEDS_TO_RECHARGE, a ; does the target need to recharge? (hyper beam) + res NEEDS_TO_RECHARGE, a ; target no longer needs to recharge + ld [bc], a + jr nz, .setSleepCounter ; if the target had to recharge, all hit tests will be skipped + ; including the event where the target already has another status + ld a, [de] + ld b, a + and $7 + jr z, .notAlreadySleeping ; can't affect a mon that is already asleep + ld hl, AlreadyAsleepText + jp PrintText +.notAlreadySleeping + ld a, b + and a + jr nz, .didntAffect ; can't affect a mon that is already statused + push de + call MoveHitTest ; apply accuracy tests + pop de + ld a, [wMoveMissed] + and a + jr nz, .didntAffect +.setSleepCounter +; set target's sleep counter to a random number between 1 and 7 + call BattleRandom + and $7 + jr z, .setSleepCounter + ld [de], a + call PlayCurrentMoveAnimation2 + ld hl, FellAsleepText + jp PrintText +.didntAffect + jp PrintDidntAffectText + +FellAsleepText: + TX_FAR _FellAsleepText + db "@" + +AlreadyAsleepText: + TX_FAR _AlreadyAsleepText + db "@" + +PoisonEffect: + ld hl, wEnemyMonStatus + ld de, wPlayerMoveEffect + ld a, [H_WHOSETURN] + and a + jr z, .poisonEffect + ld hl, wBattleMonStatus + ld de, wEnemyMoveEffect +.poisonEffect + call CheckTargetSubstitute + jr nz, .noEffect ; can't poison a substitute target + ld a, [hli] + ld b, a + and a + jr nz, .noEffect ; miss if target is already statused + ld a, [hli] + cp POISON ; can't poison a poison-type target + jr z, .noEffect + ld a, [hld] + cp POISON ; can't poison a poison-type target + jr z, .noEffect + ld a, [de] + cp POISON_SIDE_EFFECT1 + ld b, $34 ; ~20% chance of poisoning + jr z, .sideEffectTest + cp POISON_SIDE_EFFECT2 + ld b, $67 ; ~40% chance of poisoning + jr z, .sideEffectTest + push hl + push de + call MoveHitTest ; apply accuracy tests + pop de + pop hl + ld a, [wMoveMissed] + and a + jr nz, .didntAffect + jr .inflictPoison +.sideEffectTest + call BattleRandom + cp b ; was side effect successful? + ret nc +.inflictPoison + dec hl + set 3, [hl] ; mon is now poisoned + push de + dec de + ld a, [H_WHOSETURN] + and a + ld b, ANIM_C7 + ld hl, wPlayerBattleStatus3 + ld a, [de] + ld de, wPlayerToxicCounter + jr nz, .ok + ld b, ANIM_A9 + ld hl, wEnemyBattleStatus3 + ld de, wEnemyToxicCounter +.ok + cp TOXIC + jr nz, .normalPoison ; done if move is not Toxic + set BADLY_POISONED, [hl] ; else set Toxic battstatus + xor a + ld [de], a + ld hl, BadlyPoisonedText + jr .continue +.normalPoison + ld hl, PoisonedText +.continue + pop de + ld a, [de] + cp POISON_EFFECT + jr z, .regularPoisonEffect + ld a, b + call PlayBattleAnimation2 + jp PrintText +.regularPoisonEffect + call PlayCurrentMoveAnimation2 + jp PrintText +.noEffect + ld a, [de] + cp POISON_EFFECT + ret nz +.didntAffect + ld c, 50 + call DelayFrames + jp PrintDidntAffectText + +PoisonedText: + TX_FAR _PoisonedText + db "@" + +BadlyPoisonedText: + TX_FAR _BadlyPoisonedText + db "@" + +DrainHPEffect: + jpab DrainHPEffect_ + +ExplodeEffect: + ld hl, wBattleMonHP + ld de, wPlayerBattleStatus2 + ld a, [H_WHOSETURN] + and a + jr z, .faintUser + ld hl, wEnemyMonHP + ld de, wEnemyBattleStatus2 +.faintUser + xor a + ld [hli], a ; set the mon's HP to 0 + ld [hli], a + inc hl + ld [hl], a ; set mon's status to 0 + ld a, [de] + res SEEDED, a ; clear mon's leech seed status + ld [de], a + ret + +FreezeBurnParalyzeEffect: + xor a + ld [wAnimationType], a + call CheckTargetSubstitute ; test bit 4 of d063/d068 flags [target has substitute flag] + ret nz ; return if they have a substitute, can't effect them + ld a, [H_WHOSETURN] + and a + jp nz, opponentAttacker + ld a, [wEnemyMonStatus] + and a + jp nz, CheckDefrost ; can't inflict status if opponent is already statused + ld a, [wPlayerMoveType] + ld b, a + ld a, [wEnemyMonType1] + cp b ; do target type 1 and move type match? + ret z ; return if they match (an ice move can't freeze an ice-type, body slam can't paralyze a normal-type, etc.) + ld a, [wEnemyMonType2] + cp b ; do target type 2 and move type match? + ret z ; return if they match + ld a, [wPlayerMoveEffect] + cp PARALYZE_SIDE_EFFECT1 + 1 ; 10% status effects are 04, 05, 06 so 07 will set carry for those + ld b, $1a ; 0x1A/0x100 or 26/256 = 10.2%~ chance + jr c, .next1 ; branch ahead if this is a 10% chance effect.. + ld b, $4d ; else use 0x4D/0x100 or 77/256 = 30.1%~ chance + sub $1e ; subtract $1E to map to equivalent 10% chance effects +.next1 + push af + call BattleRandom ; get random 8bit value for probability test + cp b + pop bc + ret nc ; do nothing if random value is >= 1A or 4D [no status applied] + ld a, b ; what type of effect is this? + cp BURN_SIDE_EFFECT1 + jr z, .burn + cp FREEZE_SIDE_EFFECT + jr z, .freeze +; .paralyze + ld a, 1 << PAR + ld [wEnemyMonStatus], a + call QuarterSpeedDueToParalysis ; quarter speed of affected mon + ld a, ANIM_A9 + call PlayBattleAnimation + jp PrintMayNotAttackText ; print paralysis text +.burn + ld a, 1 << BRN + ld [wEnemyMonStatus], a + call HalveAttackDueToBurn ; halve attack of affected mon + ld a, ANIM_A9 + call PlayBattleAnimation + ld hl, BurnedText + jp PrintText +.freeze + call ClearHyperBeam ; resets hyper beam (recharge) condition from target + ld a, 1 << FRZ + ld [wEnemyMonStatus], a + ld a, ANIM_A9 + call PlayBattleAnimation + ld hl, FrozenText + jp PrintText +opponentAttacker: + ld a, [wBattleMonStatus] ; mostly same as above with addresses swapped for opponent + and a + jp nz, CheckDefrost + ld a, [wEnemyMoveType] + ld b, a + ld a, [wBattleMonType1] + cp b + ret z + ld a, [wBattleMonType2] + cp b + ret z + ld a, [wEnemyMoveEffect] + cp PARALYZE_SIDE_EFFECT1 + 1 + ld b, $1a + jr c, .next1 + ld b, $4d + sub $1e +.next1 + push af + call BattleRandom + cp b + pop bc + ret nc + ld a, b + cp BURN_SIDE_EFFECT1 + jr z, .burn + cp FREEZE_SIDE_EFFECT + jr z, .freeze + ld a, 1 << PAR + ld [wBattleMonStatus], a + call QuarterSpeedDueToParalysis + jp PrintMayNotAttackText +.burn + ld a, 1 << BRN + ld [wBattleMonStatus], a + call HalveAttackDueToBurn + ld hl, BurnedText + jp PrintText +.freeze +; hyper beam bits aren't reseted for opponent's side + ld a, 1 << FRZ + ld [wBattleMonStatus], a + ld hl, FrozenText + jp PrintText + +BurnedText: + TX_FAR _BurnedText + db "@" + +FrozenText: + TX_FAR _FrozenText + db "@" + +CheckDefrost: +; any fire-type move that has a chance inflict burn (all but Fire Spin) will defrost a frozen target + and 1 << FRZ ; are they frozen? + ret z ; return if so + ld a, [H_WHOSETURN] + and a + jr nz, .opponent + ;player [attacker] + ld a, [wPlayerMoveType] + sub FIRE + ret nz ; return if type of move used isn't fire + ld [wEnemyMonStatus], a ; set opponent status to 00 ["defrost" a frozen monster] + ld hl, wEnemyMon1Status + ld a, [wEnemyMonPartyPos] + ld bc, wEnemyMon2 - wEnemyMon1 + call AddNTimes + xor a + ld [hl], a ; clear status in roster + ld hl, FireDefrostedText + jr .common +.opponent + ld a, [wEnemyMoveType] ; same as above with addresses swapped + sub FIRE + ret nz + ld [wBattleMonStatus], a + ld hl, wPartyMon1Status + ld a, [wPlayerMonNumber] + ld bc, wPartyMon2 - wPartyMon1 + call AddNTimes + xor a + ld [hl], a + ld hl, FireDefrostedText +.common + jp PrintText + +FireDefrostedText: + TX_FAR _FireDefrostedText + db "@" + +StatModifierUpEffect: + ld hl, wPlayerMonStatMods + ld de, wPlayerMoveEffect + ld a, [H_WHOSETURN] + and a + jr z, .statModifierUpEffect + ld hl, wEnemyMonStatMods + ld de, wEnemyMoveEffect +.statModifierUpEffect + ld a, [de] + sub ATTACK_UP1_EFFECT + cp EVASION_UP1_EFFECT + $3 - ATTACK_UP1_EFFECT ; covers all +1 effects + jr c, .incrementStatMod + sub ATTACK_UP2_EFFECT - ATTACK_UP1_EFFECT ; map +2 effects to equivalent +1 effect +.incrementStatMod + ld c, a + ld b, $0 + add hl, bc + ld b, [hl] + inc b ; increment corresponding stat mod + ld a, $d + cp b ; can't raise stat past +6 ($d or 13) + jp c, PrintNothingHappenedText + ld a, [de] + cp ATTACK_UP1_EFFECT + $8 ; is it a +2 effect? + jr c, .ok + inc b ; if so, increment stat mod again + ld a, $d + cp b ; unless it's already +6 + jr nc, .ok + ld b, a +.ok + ld [hl], b + ld a, c + cp $4 + jr nc, UpdateStatDone ; jump if mod affected is evasion/accuracy + push hl + ld hl, wBattleMonAttack + 1 + ld de, wPlayerMonUnmodifiedAttack + ld a, [H_WHOSETURN] + and a + jr z, .pointToStats + ld hl, wEnemyMonAttack + 1 + ld de, wEnemyMonUnmodifiedAttack +.pointToStats + push bc + sla c + ld b, $0 + add hl, bc ; hl = modified stat + ld a, c + add e + ld e, a + jr nc, .checkIf999 + inc d ; de = unmodified (original) stat +.checkIf999 + pop bc + ld a, [hld] + sub 999 % $100 ; check if stat is already 999 + jr nz, .recalculateStat + ld a, [hl] + sbc 999 / $100 + jp z, RestoreOriginalStatModifier +.recalculateStat ; recalculate affected stat + ; paralysis and burn penalties, as well as badge boosts are ignored + push hl + push bc + ld hl, StatModifierRatios + dec b + sla b + ld c, b + ld b, $0 + add hl, bc + pop bc + xor a + ld [H_MULTIPLICAND], a + ld a, [de] + ld [H_MULTIPLICAND + 1], a + inc de + ld a, [de] + ld [H_MULTIPLICAND + 2], a + ld a, [hli] + ld [H_MULTIPLIER], a + call Multiply + ld a, [hl] + ld [H_DIVISOR], a + ld b, $4 + call Divide + pop hl +; cap at 999 + ld a, [H_PRODUCT + 3] + sub 999 % $100 + ld a, [H_PRODUCT + 2] + sbc 999 / $100 + jp c, UpdateStat + ld a, 999 / $100 + ld [H_MULTIPLICAND + 1], a + ld a, 999 % $100 + ld [H_MULTIPLICAND + 2], a + +UpdateStat: + ld a, [H_PRODUCT + 2] + ld [hli], a + ld a, [H_PRODUCT + 3] + ld [hl], a + pop hl +UpdateStatDone: + ld b, c + inc b + call PrintStatText + ld hl, wPlayerBattleStatus2 + ld de, wPlayerMoveNum + ld bc, wPlayerMonMinimized + ld a, [H_WHOSETURN] + and a + jr z, .asm_3f4e6 + ld hl, wEnemyBattleStatus2 + ld de, wEnemyMoveNum + ld bc, wEnemyMonMinimized +.asm_3f4e6 + ld a, [de] + cp MINIMIZE + jr nz, .asm_3f4f9 + ; if a substitute is up, slide off the substitute and show the mon pic before + ; playing the minimize animation + bit HAS_SUBSTITUTE_UP, [hl] + push af + push bc + ld hl, HideSubstituteShowMonAnim + ld b, BANK(HideSubstituteShowMonAnim) + push de + call nz, Bankswitch + pop de +.asm_3f4f9 + call PlayCurrentMoveAnimation + ld a, [de] + cp MINIMIZE + jr nz, .applyBadgeBoostsAndStatusPenalties + pop bc + ld a, $1 + ld [bc], a + ld hl, ReshowSubstituteAnim + ld b, BANK(ReshowSubstituteAnim) + pop af + call nz, Bankswitch +.applyBadgeBoostsAndStatusPenalties + ld a, [H_WHOSETURN] + and a + call z, ApplyBadgeStatBoosts ; whenever the player uses a stat-up move, badge boosts get reapplied again to every stat, + ; even to those not affected by the stat-up move (will be boosted further) + ld hl, MonsStatsRoseText + call PrintText + +; these shouldn't be here + call QuarterSpeedDueToParalysis ; apply speed penalty to the player whose turn is not, if it's paralyzed + jp HalveAttackDueToBurn ; apply attack penalty to the player whose turn is not, if it's burned + +RestoreOriginalStatModifier: + pop hl + dec [hl] + +PrintNothingHappenedText: + ld hl, NothingHappenedText + jp PrintText + +MonsStatsRoseText: + TX_FAR _MonsStatsRoseText + TX_ASM + ld hl, GreatlyRoseText + ld a, [H_WHOSETURN] + and a + ld a, [wPlayerMoveEffect] + jr z, .playerTurn + ld a, [wEnemyMoveEffect] +.playerTurn + cp ATTACK_DOWN1_EFFECT + ret nc + ld hl, RoseText + ret + +GreatlyRoseText: + TX_DELAY + TX_FAR _GreatlyRoseText +; fallthrough +RoseText: + TX_FAR _RoseText + db "@" + +StatModifierDownEffect: + ld hl, wEnemyMonStatMods + ld de, wPlayerMoveEffect + ld bc, wEnemyBattleStatus1 + ld a, [H_WHOSETURN] + and a + jr z, .statModifierDownEffect + ld hl, wPlayerMonStatMods + ld de, wEnemyMoveEffect + ld bc, wPlayerBattleStatus1 + ld a, [wLinkState] + cp LINK_STATE_BATTLING + jr z, .statModifierDownEffect + call BattleRandom + cp $40 ; 1/4 chance to miss by in regular battle + jp c, MoveMissed +.statModifierDownEffect + call CheckTargetSubstitute ; can't hit through substitute + jp nz, MoveMissed + ld a, [de] + cp ATTACK_DOWN_SIDE_EFFECT + jr c, .nonSideEffect + call BattleRandom + cp $55 ; 85/256 chance for side effects + jp nc, CantLowerAnymore + ld a, [de] + sub ATTACK_DOWN_SIDE_EFFECT ; map each stat to 0-3 + jr .decrementStatMod +.nonSideEffect ; non-side effects only + push hl + push de + push bc + call MoveHitTest ; apply accuracy tests + pop bc + pop de + pop hl + ld a, [wMoveMissed] + and a + jp nz, MoveMissed + ld a, [bc] + bit INVULNERABLE, a ; fly/dig + jp nz, MoveMissed + ld a, [de] + sub ATTACK_DOWN1_EFFECT + cp EVASION_DOWN1_EFFECT + $3 - ATTACK_DOWN1_EFFECT ; covers all -1 effects + jr c, .decrementStatMod + sub ATTACK_DOWN2_EFFECT - ATTACK_DOWN1_EFFECT ; map -2 effects to corresponding -1 effect +.decrementStatMod + ld c, a + ld b, $0 + add hl, bc + ld b, [hl] + dec b ; dec corresponding stat mod + jp z, CantLowerAnymore ; if stat mod is 1 (-6), can't lower anymore + ld a, [de] + cp ATTACK_DOWN2_EFFECT - $16 ; $24 + jr c, .ok + cp EVASION_DOWN2_EFFECT + $5 ; $44 + jr nc, .ok + dec b ; stat down 2 effects only (dec mod again) + jr nz, .ok + inc b ; increment mod to 1 (-6) if it would become 0 (-7) +.ok + ld [hl], b ; save modified mod + ld a, c + cp $4 + jr nc, UpdateLoweredStatDone ; jump for evasion/accuracy + push hl + push de + ld hl, wEnemyMonAttack + 1 + ld de, wEnemyMonUnmodifiedAttack + ld a, [H_WHOSETURN] + and a + jr z, .pointToStat + ld hl, wBattleMonAttack + 1 + ld de, wPlayerMonUnmodifiedAttack +.pointToStat + push bc + sla c + ld b, $0 + add hl, bc ; hl = modified stat + ld a, c + add e + ld e, a + jr nc, .noCarry + inc d ; de = unmodified stat +.noCarry + pop bc + ld a, [hld] + sub $1 ; can't lower stat below 1 (-6) + jr nz, .recalculateStat + ld a, [hl] + and a + jp z, CantLowerAnymore_Pop +.recalculateStat +; recalculate affected stat +; paralysis and burn penalties, as well as badge boosts are ignored + push hl + push bc + ld hl, StatModifierRatios + dec b + sla b + ld c, b + ld b, $0 + add hl, bc + pop bc + xor a + ld [H_MULTIPLICAND], a + ld a, [de] + ld [H_MULTIPLICAND + 1], a + inc de + ld a, [de] + ld [H_MULTIPLICAND + 2], a + ld a, [hli] + ld [H_MULTIPLIER], a + call Multiply + ld a, [hl] + ld [H_DIVISOR], a + ld b, $4 + call Divide + pop hl + ld a, [H_PRODUCT + 3] + ld b, a + ld a, [H_PRODUCT + 2] + or b + jp nz, UpdateLoweredStat + ld [H_MULTIPLICAND + 1], a + ld a, $1 + ld [H_MULTIPLICAND + 2], a + +UpdateLoweredStat: + ld a, [H_PRODUCT + 2] + ld [hli], a + ld a, [H_PRODUCT + 3] + ld [hl], a + pop de + pop hl +UpdateLoweredStatDone: + ld b, c + inc b + push de + call PrintStatText + pop de + ld a, [de] + cp $44 + jr nc, .ApplyBadgeBoostsAndStatusPenalties + call PlayCurrentMoveAnimation2 +.ApplyBadgeBoostsAndStatusPenalties + ld a, [H_WHOSETURN] + and a + call nz, ApplyBadgeStatBoosts ; whenever the player uses a stat-down move, badge boosts get reapplied again to every stat, + ; even to those not affected by the stat-up move (will be boosted further) + ld hl, MonsStatsFellText + call PrintText + +; These where probably added given that a stat-down move affecting speed or attack will override +; the stat penalties from paralysis and burn respectively. +; But they are always called regardless of the stat affected by the stat-down move. + call QuarterSpeedDueToParalysis + jp HalveAttackDueToBurn + +CantLowerAnymore_Pop: + pop de + pop hl + inc [hl] + +CantLowerAnymore: + ld a, [de] + cp ATTACK_DOWN_SIDE_EFFECT + ret nc + ld hl, NothingHappenedText + jp PrintText + +MoveMissed: + ld a, [de] + cp $44 + ret nc + jp ConditionalPrintButItFailed + +MonsStatsFellText: + TX_FAR _MonsStatsFellText + TX_ASM + ld hl, FellText + ld a, [H_WHOSETURN] + and a + ld a, [wPlayerMoveEffect] + jr z, .playerTurn + ld a, [wEnemyMoveEffect] +.playerTurn +; check if the move's effect decreases a stat by 2 + cp BIDE_EFFECT + ret c + cp ATTACK_DOWN_SIDE_EFFECT + ret nc + ld hl, GreatlyFellText + ret + +GreatlyFellText: + TX_DELAY + TX_FAR _GreatlyFellText +; fallthrough +FellText: + TX_FAR _FellText + db "@" + +PrintStatText: + ld hl, StatsTextStrings + ld c, "@" +.findStatName_outer + dec b + jr z, .foundStatName +.findStatName_inner + ld a, [hli] + cp c + jr z, .findStatName_outer + jr .findStatName_inner +.foundStatName + ld de, wcf4b + ld bc, $a + jp CopyData + +INCLUDE "text/stat_names.asm" + +INCLUDE "data/battle/stat_modifiers.asm" + +BideEffect: + ld hl, wPlayerBattleStatus1 + ld de, wPlayerBideAccumulatedDamage + ld bc, wPlayerNumAttacksLeft + ld a, [H_WHOSETURN] + and a + jr z, .bideEffect + ld hl, wEnemyBattleStatus1 + ld de, wEnemyBideAccumulatedDamage + ld bc, wEnemyNumAttacksLeft +.bideEffect + set STORING_ENERGY, [hl] ; mon is now using bide + xor a + ld [de], a + inc de + ld [de], a + ld [wPlayerMoveEffect], a + ld [wEnemyMoveEffect], a + call BattleRandom + and $1 + inc a + inc a + ld [bc], a ; set Bide counter to 2 or 3 at random + ld a, [H_WHOSETURN] + add XSTATITEM_ANIM + jp PlayBattleAnimation2 + +ThrashPetalDanceEffect: + ld hl, wPlayerBattleStatus1 + ld de, wPlayerNumAttacksLeft + ld a, [H_WHOSETURN] + and a + jr z, .thrashPetalDanceEffect + ld hl, wEnemyBattleStatus1 + ld de, wEnemyNumAttacksLeft +.thrashPetalDanceEffect + set THRASHING_ABOUT, [hl] ; mon is now using thrash/petal dance + call BattleRandom + and $1 + inc a + inc a + ld [de], a ; set thrash/petal dance counter to 2 or 3 at random + ld a, [H_WHOSETURN] + add ANIM_B0 + jp PlayBattleAnimation2 + +SwitchAndTeleportEffect: + ld a, [H_WHOSETURN] + and a + jr nz, .handleEnemy + ld a, [wIsInBattle] + dec a + jr nz, .notWildBattle1 + ld a, [wCurEnemyLVL] + ld b, a + ld a, [wBattleMonLevel] + cp b ; is the player's level greater than the enemy's level? + jr nc, .playerMoveWasSuccessful ; if so, teleport will always succeed + add b + ld c, a + inc c ; c = sum of player level and enemy level +.rejectionSampleLoop1 + call BattleRandom + cp c ; get a random number between 0 and c + jr nc, .rejectionSampleLoop1 + srl b + srl b ; b = enemyLevel / 4 + cp b ; is rand[0, playerLevel + enemyLevel) >= (enemyLevel / 4)? + jr nc, .playerMoveWasSuccessful ; if so, allow teleporting + ld c, 50 + call DelayFrames + ld a, [wPlayerMoveNum] + cp TELEPORT + jp nz, PrintDidntAffectText + jp PrintButItFailedText_ +.playerMoveWasSuccessful + call ReadPlayerMonCurHPAndStatus + xor a + ld [wAnimationType], a + inc a + ld [wEscapedFromBattle], a + ld a, [wPlayerMoveNum] + jr .playAnimAndPrintText +.notWildBattle1 + ld c, 50 + call DelayFrames + ld hl, IsUnaffectedText + ld a, [wPlayerMoveNum] + cp TELEPORT + jp nz, PrintText + jp PrintButItFailedText_ +.handleEnemy + ld a, [wIsInBattle] + dec a + jr nz, .notWildBattle2 + ld a, [wBattleMonLevel] + ld b, a + ld a, [wCurEnemyLVL] + cp b + jr nc, .enemyMoveWasSuccessful + add b + ld c, a + inc c +.rejectionSampleLoop2 + call BattleRandom + cp c + jr nc, .rejectionSampleLoop2 + srl b + srl b + cp b + jr nc, .enemyMoveWasSuccessful + ld c, 50 + call DelayFrames + ld a, [wEnemyMoveNum] + cp TELEPORT + jp nz, PrintDidntAffectText + jp PrintButItFailedText_ +.enemyMoveWasSuccessful + call ReadPlayerMonCurHPAndStatus + xor a + ld [wAnimationType], a + inc a + ld [wEscapedFromBattle], a + ld a, [wEnemyMoveNum] + jr .playAnimAndPrintText +.notWildBattle2 + ld c, 50 + call DelayFrames + ld hl, IsUnaffectedText + ld a, [wEnemyMoveNum] + cp TELEPORT + jp nz, PrintText + jp ConditionalPrintButItFailed +.playAnimAndPrintText + push af + call PlayBattleAnimation + ld c, 20 + call DelayFrames + pop af + ld hl, RanFromBattleText + cp TELEPORT + jr z, .printText + ld hl, RanAwayScaredText + cp ROAR + jr z, .printText + ld hl, WasBlownAwayText +.printText + jp PrintText + +RanFromBattleText: + TX_FAR _RanFromBattleText + db "@" + +RanAwayScaredText: + TX_FAR _RanAwayScaredText + db "@" + +WasBlownAwayText: + TX_FAR _WasBlownAwayText + db "@" + +TwoToFiveAttacksEffect: + ld hl, wPlayerBattleStatus1 + ld de, wPlayerNumAttacksLeft + ld bc, wPlayerNumHits + ld a, [H_WHOSETURN] + and a + jr z, .twoToFiveAttacksEffect + ld hl, wEnemyBattleStatus1 + ld de, wEnemyNumAttacksLeft + ld bc, wEnemyNumHits +.twoToFiveAttacksEffect + bit ATTACKING_MULTIPLE_TIMES, [hl] ; is mon attacking multiple times? + ret nz + set ATTACKING_MULTIPLE_TIMES, [hl] ; mon is now attacking multiple times + ld hl, wPlayerMoveEffect + ld a, [H_WHOSETURN] + and a + jr z, .setNumberOfHits + ld hl, wEnemyMoveEffect +.setNumberOfHits + ld a, [hl] + cp TWINEEDLE_EFFECT + jr z, .twineedle + cp ATTACK_TWICE_EFFECT + ld a, $2 ; number of hits it's always 2 for ATTACK_TWICE_EFFECT + jr z, .saveNumberOfHits +; for TWO_TO_FIVE_ATTACKS_EFFECT 3/8 chance for 2 and 3 hits, and 1/8 chance for 4 and 5 hits + call BattleRandom + and $3 + cp $2 + jr c, .gotNumHits +; if the number of hits was greater than 2, re-roll again for a lower chance + call BattleRandom + and $3 +.gotNumHits + inc a + inc a +.saveNumberOfHits + ld [de], a + ld [bc], a + ret +.twineedle + ld a, POISON_SIDE_EFFECT1 + ld [hl], a ; set Twineedle's effect to poison effect + jr .saveNumberOfHits + +FlinchSideEffect: + call CheckTargetSubstitute + ret nz + ld hl, wEnemyBattleStatus1 + ld de, wPlayerMoveEffect + ld a, [H_WHOSETURN] + and a + jr z, .flinchSideEffect + ld hl, wPlayerBattleStatus1 + ld de, wEnemyMoveEffect +.flinchSideEffect + ld a, [de] + cp FLINCH_SIDE_EFFECT1 + ld b, $1a ; ~10% chance of flinch + jr z, .gotEffectChance + ld b, $4d ; ~30% chance of flinch +.gotEffectChance + call BattleRandom + cp b + ret nc + set FLINCHED, [hl] ; set mon's status to flinching + call ClearHyperBeam + ret + +OneHitKOEffect: + jpab OneHitKOEffect_ + +ChargeEffect: + ld hl, wPlayerBattleStatus1 + ld de, wPlayerMoveEffect + ld a, [H_WHOSETURN] + and a + ld b, XSTATITEM_ANIM + jr z, .chargeEffect + ld hl, wEnemyBattleStatus1 + ld de, wEnemyMoveEffect + ld b, ANIM_AF +.chargeEffect + set CHARGING_UP, [hl] + ld a, [de] + dec de ; de contains enemy or player MOVENUM + cp FLY_EFFECT + jr nz, .notFly + set INVULNERABLE, [hl] ; mon is now invulnerable to typical attacks (fly/dig) + ld b, TELEPORT ; load Teleport's animation +.notFly + ld a, [de] + cp DIG + jr nz, .notDigOrFly + set INVULNERABLE, [hl] ; mon is now invulnerable to typical attacks (fly/dig) + ld b, ANIM_C0 +.notDigOrFly + xor a + ld [wAnimationType], a + ld a, b + call PlayBattleAnimation + ld a, [de] + ld [wChargeMoveNum], a + ld hl, ChargeMoveEffectText + jp PrintText + +ChargeMoveEffectText: + TX_FAR _ChargeMoveEffectText + TX_ASM + ld a, [wChargeMoveNum] + cp RAZOR_WIND + ld hl, MadeWhirlwindText + jr z, .gotText + cp SOLARBEAM + ld hl, TookInSunlightText + jr z, .gotText + cp SKULL_BASH + ld hl, LoweredItsHeadText + jr z, .gotText + cp SKY_ATTACK + ld hl, SkyAttackGlowingText + jr z, .gotText + cp FLY + ld hl, FlewUpHighText + jr z, .gotText + cp DIG + ld hl, DugAHoleText +.gotText + ret + +MadeWhirlwindText: + TX_FAR _MadeWhirlwindText + db "@" + +TookInSunlightText: + TX_FAR _TookInSunlightText + db "@" + +LoweredItsHeadText: + TX_FAR _LoweredItsHeadText + db "@" + +SkyAttackGlowingText: + TX_FAR _SkyAttackGlowingText + db "@" + +FlewUpHighText: + TX_FAR _FlewUpHighText + db "@" + +DugAHoleText: + TX_FAR _DugAHoleText + db "@" + +TrappingEffect: + ld hl, wPlayerBattleStatus1 + ld de, wPlayerNumAttacksLeft + ld a, [H_WHOSETURN] + and a + jr z, .trappingEffect + ld hl, wEnemyBattleStatus1 + ld de, wEnemyNumAttacksLeft +.trappingEffect + bit USING_TRAPPING_MOVE, [hl] + ret nz + call ClearHyperBeam ; since this effect is called before testing whether the move will hit, + ; the target won't need to recharge even if the trapping move missed + set USING_TRAPPING_MOVE, [hl] ; mon is now using a trapping move + call BattleRandom ; 3/8 chance for 2 and 3 attacks, and 1/8 chance for 4 and 5 attacks + and $3 + cp $2 + jr c, .setTrappingCounter + call BattleRandom + and $3 +.setTrappingCounter + inc a + ld [de], a + ret + +MistEffect: + jpab MistEffect_ + +FocusEnergyEffect: + jpab FocusEnergyEffect_ + +RecoilEffect: + jpab RecoilEffect_ + +ConfusionSideEffect: + call BattleRandom + cp $19 ; ~10% chance + ret nc + jr ConfusionSideEffectSuccess + +ConfusionEffect: + call CheckTargetSubstitute + jr nz, ConfusionEffectFailed + call MoveHitTest + ld a, [wMoveMissed] + and a + jr nz, ConfusionEffectFailed + +ConfusionSideEffectSuccess: + ld a, [H_WHOSETURN] + and a + ld hl, wEnemyBattleStatus1 + ld bc, wEnemyConfusedCounter + ld a, [wPlayerMoveEffect] + jr z, .confuseTarget + ld hl, wPlayerBattleStatus1 + ld bc, wPlayerConfusedCounter + ld a, [wEnemyMoveEffect] +.confuseTarget + bit CONFUSED, [hl] ; is mon confused? + jr nz, ConfusionEffectFailed + set CONFUSED, [hl] ; mon is now confused + push af + call BattleRandom + and $3 + inc a + inc a + ld [bc], a ; confusion status will last 2-5 turns + pop af + cp CONFUSION_SIDE_EFFECT + call nz, PlayCurrentMoveAnimation2 + ld hl, BecameConfusedText + jp PrintText + +BecameConfusedText: + TX_FAR _BecameConfusedText + db "@" + +ConfusionEffectFailed: + cp CONFUSION_SIDE_EFFECT + ret z + ld c, 50 + call DelayFrames + jp ConditionalPrintButItFailed + +ParalyzeEffect: + jpab ParalyzeEffect_ + +SubstituteEffect: + jpab SubstituteEffect_ + +HyperBeamEffect: + ld hl, wPlayerBattleStatus2 + ld a, [H_WHOSETURN] + and a + jr z, .hyperBeamEffect + ld hl, wEnemyBattleStatus2 +.hyperBeamEffect + set NEEDS_TO_RECHARGE, [hl] ; mon now needs to recharge + ret + +ClearHyperBeam: + push hl + ld hl, wEnemyBattleStatus2 + ld a, [H_WHOSETURN] + and a + jr z, .playerTurn + ld hl, wPlayerBattleStatus2 +.playerTurn + res NEEDS_TO_RECHARGE, [hl] ; mon no longer needs to recharge + pop hl + ret + +RageEffect: + ld hl, wPlayerBattleStatus2 + ld a, [H_WHOSETURN] + and a + jr z, .player + ld hl, wEnemyBattleStatus2 +.player + set USING_RAGE, [hl] ; mon is now in "rage" mode + ret + +MimicEffect: + ld c, 50 + call DelayFrames + call MoveHitTest + ld a, [wMoveMissed] + and a + jr nz, .mimicMissed + ld a, [H_WHOSETURN] + and a + ld hl, wBattleMonMoves + ld a, [wPlayerBattleStatus1] + jr nz, .enemyTurn + ld a, [wLinkState] + cp LINK_STATE_BATTLING + jr nz, .letPlayerChooseMove + ld hl, wEnemyMonMoves + ld a, [wEnemyBattleStatus1] +.enemyTurn + bit INVULNERABLE, a + jr nz, .mimicMissed +.getRandomMove + push hl + call BattleRandom + and $3 + ld c, a + ld b, $0 + add hl, bc + ld a, [hl] + pop hl + and a + jr z, .getRandomMove + ld d, a + ld a, [H_WHOSETURN] + and a + ld hl, wBattleMonMoves + ld a, [wPlayerMoveListIndex] + jr z, .playerTurn + ld hl, wEnemyMonMoves + ld a, [wEnemyMoveListIndex] + jr .playerTurn +.letPlayerChooseMove + ld a, [wEnemyBattleStatus1] + bit INVULNERABLE, a + jr nz, .mimicMissed + ld a, [wCurrentMenuItem] + push af + ld a, $1 + ld [wMoveMenuType], a + call MoveSelectionMenu + call LoadScreenTilesFromBuffer1 + ld hl, wEnemyMonMoves + ld a, [wCurrentMenuItem] + ld c, a + ld b, $0 + add hl, bc + ld d, [hl] + pop af + ld hl, wBattleMonMoves +.playerTurn + ld c, a + ld b, $0 + add hl, bc + ld a, d + ld [hl], a + ld [wd11e], a + call GetMoveName + call PlayCurrentMoveAnimation + ld hl, MimicLearnedMoveText + jp PrintText +.mimicMissed + jp PrintButItFailedText_ + +MimicLearnedMoveText: + TX_FAR _MimicLearnedMoveText + db "@" + +LeechSeedEffect: + jpab LeechSeedEffect_ + +SplashEffect: + call PlayCurrentMoveAnimation + jp PrintNoEffectText + +DisableEffect: + call MoveHitTest + ld a, [wMoveMissed] + and a + jr nz, .moveMissed + ld de, wEnemyDisabledMove + ld hl, wEnemyMonMoves + ld a, [H_WHOSETURN] + and a + jr z, .disableEffect + ld de, wPlayerDisabledMove + ld hl, wBattleMonMoves +.disableEffect +; no effect if target already has a move disabled + ld a, [de] + and a + jr nz, .moveMissed +.pickMoveToDisable + push hl + call BattleRandom + and $3 + ld c, a + ld b, $0 + add hl, bc + ld a, [hl] + pop hl + and a + jr z, .pickMoveToDisable ; loop until a non-00 move slot is found + ld [wd11e], a ; store move number + push hl + ld a, [H_WHOSETURN] + and a + ld hl, wBattleMonPP + jr nz, .enemyTurn + ld a, [wLinkState] + cp LINK_STATE_BATTLING + pop hl ; wEnemyMonMoves + jr nz, .playerTurnNotLinkBattle +; .playerTurnLinkBattle + push hl + ld hl, wEnemyMonPP +.enemyTurn + push hl + ld a, [hli] + or [hl] + inc hl + or [hl] + inc hl + or [hl] + and $3f + pop hl ; wBattleMonPP or wEnemyMonPP + jr z, .moveMissedPopHL ; nothing to do if all moves have no PP left + add hl, bc + ld a, [hl] + pop hl + and a + jr z, .pickMoveToDisable ; pick another move if this one had 0 PP +.playerTurnNotLinkBattle +; non-link battle enemies have unlimited PP so the previous checks aren't needed + call BattleRandom + and $7 + inc a ; 1-8 turns disabled + inc c ; move 1-4 will be disabled + swap c + add c ; map disabled move to high nibble of wEnemyDisabledMove / wPlayerDisabledMove + ld [de], a + call PlayCurrentMoveAnimation2 + ld hl, wPlayerDisabledMoveNumber + ld a, [H_WHOSETURN] + and a + jr nz, .printDisableText + inc hl ; wEnemyDisabledMoveNumber +.printDisableText + ld a, [wd11e] ; move number + ld [hl], a + call GetMoveName + ld hl, MoveWasDisabledText + jp PrintText +.moveMissedPopHL + pop hl +.moveMissed + jp PrintButItFailedText_ + +MoveWasDisabledText: + TX_FAR _MoveWasDisabledText + db "@" + +PayDayEffect: + jpab PayDayEffect_ + +ConversionEffect: + jpab ConversionEffect_ + +HazeEffect: + jpab HazeEffect_ + +HealEffect: + jpab HealEffect_ + +TransformEffect: + jpab TransformEffect_ + +ReflectLightScreenEffect: + jpab ReflectLightScreenEffect_ + +NothingHappenedText: + TX_FAR _NothingHappenedText + db "@" + +PrintNoEffectText: + ld hl, NoEffectText + jp PrintText + +NoEffectText: + TX_FAR _NoEffectText + db "@" + +ConditionalPrintButItFailed: + ld a, [wMoveDidntMiss] + and a + ret nz ; return if the side effect failed, yet the attack was successful + +PrintButItFailedText_: + ld hl, ButItFailedText + jp PrintText + +ButItFailedText: + TX_FAR _ButItFailedText + db "@" + +PrintDidntAffectText: + ld hl, DidntAffectText + jp PrintText + +DidntAffectText: + TX_FAR _DidntAffectText + db "@" + +IsUnaffectedText: + TX_FAR _IsUnaffectedText + db "@" + +PrintMayNotAttackText: + ld hl, ParalyzedMayNotAttackText + jp PrintText + +ParalyzedMayNotAttackText: + TX_FAR _ParalyzedMayNotAttackText + db "@" + +CheckTargetSubstitute: + push hl + ld hl, wEnemyBattleStatus2 + ld a, [H_WHOSETURN] + and a + jr z, .next1 + ld hl, wPlayerBattleStatus2 +.next1 + bit HAS_SUBSTITUTE_UP, [hl] + pop hl + ret + +PlayCurrentMoveAnimation2: +; animation at MOVENUM will be played unless MOVENUM is 0 +; plays wAnimationType 3 or 6 + ld a, [H_WHOSETURN] + and a + ld a, [wPlayerMoveNum] + jr z, .notEnemyTurn + ld a, [wEnemyMoveNum] +.notEnemyTurn + and a + ret z + +PlayBattleAnimation2: +; play animation ID at a and animation type 6 or 3 + ld [wAnimationID], a + ld a, [H_WHOSETURN] + and a + ld a, $6 + jr z, .storeAnimationType + ld a, $3 +.storeAnimationType + ld [wAnimationType], a + jp PlayBattleAnimationGotID + +PlayCurrentMoveAnimation: +; animation at MOVENUM will be played unless MOVENUM is 0 +; resets wAnimationType + xor a + ld [wAnimationType], a + ld a, [H_WHOSETURN] + and a + ld a, [wPlayerMoveNum] + jr z, .notEnemyTurn + ld a, [wEnemyMoveNum] +.notEnemyTurn + and a + ret z + +PlayBattleAnimation: +; play animation ID at a and predefined animation type + ld [wAnimationID], a + +PlayBattleAnimationGotID: +; play animation at wAnimationID + push hl + push de + push bc + predef MoveAnimation + pop bc + pop de + pop hl + ret diff --git a/engine/battle/save_trainer_name.asm b/engine/battle/save_trainer_name.asm index 49d0429f..114bd650 100644 --- a/engine/battle/save_trainer_name.asm +++ b/engine/battle/save_trainer_name.asm @@ -18,95 +18,4 @@ SaveTrainerName: jr nz, .CopyCharacter ret -TrainerNamePointers: -; what is the point of these? - dw YoungsterName - dw BugCatcherName - dw LassName - dw wTrainerName - dw JrTrainerMName - dw JrTrainerFName - dw PokemaniacName - dw SuperNerdName - dw wTrainerName - dw wTrainerName - dw BurglarName - dw EngineerName - dw JugglerXName - dw wTrainerName - dw SwimmerName - dw wTrainerName - dw wTrainerName - dw BeautyName - dw wTrainerName - dw RockerName - dw JugglerName - dw wTrainerName - dw wTrainerName - dw BlackbeltName - dw wTrainerName - dw ProfOakName - dw ChiefName - dw ScientistName - dw wTrainerName - dw RocketName - dw CooltrainerMName - dw CooltrainerFName - dw wTrainerName - dw wTrainerName - dw wTrainerName - dw wTrainerName - dw wTrainerName - dw wTrainerName - dw wTrainerName - dw wTrainerName - dw wTrainerName - dw wTrainerName - dw wTrainerName - dw wTrainerName - dw wTrainerName - dw wTrainerName - dw wTrainerName - -YoungsterName: - db "YOUNGSTER@" -BugCatcherName: - db "BUG CATCHER@" -LassName: - db "LASS@" -JrTrainerMName: - db "JR.TRAINER♂@" -JrTrainerFName: - db "JR.TRAINER♀@" -PokemaniacName: - db "POKéMANIAC@" -SuperNerdName: - db "SUPER NERD@" -BurglarName: - db "BURGLAR@" -EngineerName: - db "ENGINEER@" -JugglerXName: - db "JUGGLER@" -SwimmerName: - db "SWIMMER@" -BeautyName: - db "BEAUTY@" -RockerName: - db "ROCKER@" -JugglerName: - db "JUGGLER@" -BlackbeltName: - db "BLACKBELT@" -ProfOakName: - db "PROF.OAK@" -ChiefName: - db "CHIEF@" -ScientistName: - db "SCIENTIST@" -RocketName: - db "ROCKET@" -CooltrainerMName: - db "COOLTRAINER♂@" -CooltrainerFName: - db "COOLTRAINER♀@" +INCLUDE "text/trainer_name_pointers.asm" diff --git a/engine/battle/trainer_ai.asm b/engine/battle/trainer_ai.asm index ac6c1a72..7755b50f 100644 --- a/engine/battle/trainer_ai.asm +++ b/engine/battle/trainer_ai.asm @@ -273,58 +273,9 @@ ReadMove: pop hl ret -; move choice modification methods that are applied for each trainer class -; 0 is sentinel value -TrainerClassMoveChoiceModifications: - db 0 ; YOUNGSTER - db 1,0 ; BUG CATCHER - db 1,0 ; LASS - db 1,3,0 ; SAILOR - db 1,0 ; JR_TRAINER_M - db 1,0 ; JR_TRAINER_F - db 1,2,3,0; POKEMANIAC - db 1,2,0 ; SUPER_NERD - db 1,0 ; HIKER - db 1,0 ; BIKER - db 1,3,0 ; BURGLAR - db 1,0 ; ENGINEER - db 1,2,0 ; JUGGLER_X - db 1,3,0 ; FISHER - db 1,3,0 ; SWIMMER - db 0 ; CUE_BALL - db 1,0 ; GAMBLER - db 1,3,0 ; BEAUTY - db 1,2,0 ; PSYCHIC_TR - db 1,3,0 ; ROCKER - db 1,0 ; JUGGLER - db 1,0 ; TAMER - db 1,0 ; BIRD_KEEPER - db 1,0 ; BLACKBELT - db 1,0 ; SONY1 - db 1,3,0 ; PROF_OAK - db 1,2,0 ; CHIEF - db 1,2,0 ; SCIENTIST - db 1,3,0 ; GIOVANNI - db 1,0 ; ROCKET - db 1,3,0 ; COOLTRAINER_M - db 1,3,0 ; COOLTRAINER_F - db 1,0 ; BRUNO - db 1,0 ; BROCK - db 1,3,0 ; MISTY - db 1,3,0 ; LT_SURGE - db 1,3,0 ; ERIKA - db 1,3,0 ; KOGA - db 1,3,0 ; BLAINE - db 1,3,0 ; SABRINA - db 1,2,0 ; GENTLEMAN - db 1,3,0 ; SONY2 - db 1,3,0 ; SONY3 - db 1,2,3,0; LORELEI - db 1,0 ; CHANNELER - db 1,0 ; AGATHA - db 1,3,0 ; LANCE - -INCLUDE "engine/battle/trainer_pic_money_pointers.asm" +INCLUDE "data/trainer_move_choices.asm" + +INCLUDE "data/trainer_pic_money_pointers.asm" INCLUDE "text/trainer_names.asm" @@ -368,57 +319,7 @@ TrainerAI: call Random jp hl -TrainerAIPointers: -; one entry per trainer class -; first byte, number of times (per Pokémon) it can occur -; next two bytes, pointer to AI subroutine for trainer class - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,JugglerAI ; juggler_x - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,JugglerAI ; juggler - dbw 3,GenericAI - dbw 3,GenericAI - dbw 2,BlackbeltAI ; blackbelt - dbw 3,GenericAI - dbw 3,GenericAI - dbw 1,GenericAI ; chief - dbw 3,GenericAI - dbw 1,GiovanniAI ; giovanni - dbw 3,GenericAI - dbw 2,CooltrainerMAI ; cooltrainerm - dbw 1,CooltrainerFAI ; cooltrainerf - dbw 2,BrunoAI ; bruno - dbw 5,BrockAI ; brock - dbw 1,MistyAI ; misty - dbw 1,LtSurgeAI ; surge - dbw 1,ErikaAI ; erika - dbw 2,KogaAI ; koga - dbw 2,BlaineAI ; blaine - dbw 1,SabrinaAI ; sabrina - dbw 3,GenericAI - dbw 1,Sony2AI ; sony2 - dbw 1,Sony3AI ; sony3 - dbw 2,LoreleiAI ; lorelei - dbw 3,GenericAI - dbw 2,AgathaAI ; agatha - dbw 1,LanceAI ; lance +INCLUDE "data/trainer_ai_pointers.asm" JugglerAI: cp 25 percent + 1 diff --git a/engine/battle/trainer_pic_money_pointers.asm b/engine/battle/trainer_pic_money_pointers.asm deleted file mode 100755 index 37678e74..00000000 --- a/engine/battle/trainer_pic_money_pointers.asm +++ /dev/null @@ -1,143 +0,0 @@ -TrainerPicAndMoneyPointers: -; trainer pic pointers and base money. -; money received after battle = base money × level of highest-level enemy mon - dw YoungsterPic - money 1500 - - dw BugCatcherPic - money 1000 - - dw LassPic - money 1500 - - dw SailorPic - money 3000 - - dw JrTrainerMPic - money 2000 - - dw JrTrainerFPic - money 2000 - - dw PokemaniacPic - money 5000 - - dw SuperNerdPic - money 2500 - - dw HikerPic - money 3500 - - dw BikerPic - money 2000 - - dw BurglarPic - money 9000 - - dw EngineerPic - money 5000 - - dw JugglerPic - money 3500 - - dw FisherPic - money 3500 - - dw SwimmerPic - money 500 - - dw CueBallPic - money 2500 - - dw GamblerPic - money 7000 - - dw BeautyPic - money 7000 - - dw PsychicPic - money 1000 - - dw RockerPic - money 2500 - - dw JugglerPic - money 3500 - - dw TamerPic - money 4000 - - dw BirdKeeperPic - money 2500 - - dw BlackbeltPic - money 2500 - - dw Rival1Pic - money 3500 - - dw ProfOakPic - money 9900 - - dw ChiefPic - money 3000 - - dw ScientistPic - money 5000 - - dw GiovanniPic - money 9900 - - dw RocketPic - money 3000 - - dw CooltrainerMPic - money 3500 - - dw CooltrainerFPic - money 3500 - - dw BrunoPic - money 9900 - - dw BrockPic - money 9900 - - dw MistyPic - money 9900 - - dw LtSurgePic - money 9900 - - dw ErikaPic - money 9900 - - dw KogaPic - money 9900 - - dw BlainePic - money 9900 - - dw SabrinaPic - money 9900 - - dw GentlemanPic - money 7000 - - dw Rival2Pic - money 6500 - - dw Rival3Pic - money 9900 - - dw LoreleiPic - money 9900 - - dw ChannelerPic - money 3000 - - dw AgathaPic - money 9900 - - dw LancePic - money 9900 diff --git a/engine/battle/wild_encounters.asm b/engine/battle/wild_encounters.asm index 231c46e7..93409051 100644 --- a/engine/battle/wild_encounters.asm +++ b/engine/battle/wild_encounters.asm @@ -101,18 +101,4 @@ TryDoWildEncounter: xor a ret -WildMonEncounterSlotChances: -; There are 10 slots for wild pokemon, and this is the table that defines how common each of -; those 10 slots is. A random number is generated and then the first byte of each pair in this -; table is compared against that random number. If the random number is less than or equal -; to the first byte, then that slot is chosen. The second byte is double the slot number. - db $32, $00 ; 51/256 = 19.9% chance of slot 0 - db $65, $02 ; 51/256 = 19.9% chance of slot 1 - db $8C, $04 ; 39/256 = 15.2% chance of slot 2 - db $A5, $06 ; 25/256 = 9.8% chance of slot 3 - db $BE, $08 ; 25/256 = 9.8% chance of slot 4 - db $D7, $0A ; 25/256 = 9.8% chance of slot 5 - db $E4, $0C ; 13/256 = 5.1% chance of slot 6 - db $F1, $0E ; 13/256 = 5.1% chance of slot 7 - db $FC, $10 ; 11/256 = 4.3% chance of slot 8 - db $FF, $12 ; 3/256 = 1.2% chance of slot 9 +INCLUDE "data/wild_probabilities.asm" diff --git a/engine/experience.asm b/engine/experience.asm index 2efc13de..0b8d154f 100755 --- a/engine/experience.asm +++ b/engine/experience.asm @@ -146,15 +146,4 @@ CalcDSquared: ld [H_MULTIPLIER], a jp Multiply -; each entry has the following scheme: -; %AAAABBBB %SCCCCCCC %DDDDDDDD %EEEEEEEE -; resulting in -; (a*n^3)/b + sign*c*n^2 + d*n - e -; where sign = -1 <=> S=1 -GrowthRateTable: - db $11,$00,$00,$00 ; medium fast n^3 - db $34,$0A,$00,$1E ; (unused?) 3/4 n^3 + 10 n^2 - 30 - db $34,$14,$00,$46 ; (unused?) 3/4 n^3 + 20 n^2 - 70 - db $65,$8F,$64,$8C ; medium slow: 6/5 n^3 - 15 n^2 + 100 n - 140 - db $45,$00,$00,$00 ; fast: 4/5 n^3 - db $54,$00,$00,$00 ; slow: 5/4 n^3 +INCLUDE "data/growth_rates.asm" diff --git a/engine/hidden_object_functions3.asm b/engine/hidden_object_functions3.asm index aaedcbca..ade99fd7 100755 --- a/engine/hidden_object_functions3.asm +++ b/engine/hidden_object_functions3.asm @@ -36,43 +36,7 @@ PrintBookshelfText: ld [$ffdb], a jpba PrintCardKeyText -; format: db tileset id, bookshelf tile id, text id -BookshelfTileIDs: - db PLATEAU, $30 - db_tx_pre IndigoPlateauStatues - db HOUSE, $3D - db_tx_pre TownMapText - db HOUSE, $1E - db_tx_pre BookOrSculptureText - db MANSION, $32 - db_tx_pre BookOrSculptureText - db REDS_HOUSE_1, $32 - db_tx_pre BookOrSculptureText - db LAB, $28 - db_tx_pre BookOrSculptureText - db LOBBY, $16 - db_tx_pre ElevatorText - db GYM, $1D - db_tx_pre BookOrSculptureText - db DOJO, $1D - db_tx_pre BookOrSculptureText - db GATE, $22 - db_tx_pre BookOrSculptureText - db MART, $54 - db_tx_pre PokemonStuffText - db MART, $55 - db_tx_pre PokemonStuffText - db POKECENTER, $54 - db_tx_pre PokemonStuffText - db POKECENTER, $55 - db_tx_pre PokemonStuffText - db LOBBY, $50 - db_tx_pre PokemonStuffText - db LOBBY, $52 - db_tx_pre PokemonStuffText - db SHIP, $36 - db_tx_pre BookOrSculptureText - db $FF +INCLUDE "data/bookshelf_tile_ids.asm" IndigoPlateauStatues: TX_ASM diff --git a/engine/items/items.asm b/engine/items/items.asm index ec51a0d4..05dcf572 100755 --- a/engine/items/items.asm +++ b/engine/items/items.asm @@ -2881,10 +2881,7 @@ IsNextTileShoreOrWater: and a ret -; tilesets with water -WaterTilesets: - db OVERWORLD, FOREST, DOJO, GYM, SHIP, SHIP_PORT, CAVERN, FACILITY, PLATEAU - db $ff ; terminator +INCLUDE "data/water_tilesets.asm" ReadSuperRodData: ; return e = 2 if no fish on this map diff --git a/engine/menu/bills_pc.asm b/engine/menu/bills_pc.asm index a05676c4..6f643228 100644 --- a/engine/menu/bills_pc.asm +++ b/engine/menu/bills_pc.asm @@ -89,7 +89,7 @@ SomeonesPCText: db "SOMEONE's PC@" BillsPCText: db "BILL's PC@" PlayersPCText: db "'s PC@" OaksPCText: db "PROF.OAK's PC@" -PKMNLeaguePCText: db $4a, "LEAGUE@" +PKMNLeaguePCText: db "LEAGUE@" LogOffPCText: db "LOG OFF@" BillsPC_:: @@ -339,9 +339,9 @@ DisplayMonListMenu: ret BillsPCMenuText: - db "WITHDRAW ", $4a - next "DEPOSIT ", $4a - next "RELEASE ", $4a + db "WITHDRAW " + next "DEPOSIT " + next "RELEASE " next "CHANGE BOX" next "SEE YA!" db "@" diff --git a/engine/menu/naming_screen.asm b/engine/menu/naming_screen.asm index 64065c4d..91723da1 100755 --- a/engine/menu/naming_screen.asm +++ b/engine/menu/naming_screen.asm @@ -365,11 +365,7 @@ PrintAlphabet: ld [H_AUTOBGTRANSFERENABLED], a jp Delay3 -LowerCaseAlphabet: - db "abcdefghijklmnopqrstuvwxyz ×():;[]",$e1,$e2,"-?!♂♀/⠄,¥UPPER CASE@" - -UpperCaseAlphabet: - db "ABCDEFGHIJKLMNOPQRSTUVWXYZ ×():;[]",$e1,$e2,"-?!♂♀/⠄,¥lower case@" +INCLUDE "text/alphabets.asm" PrintNicknameAndUnderscores: call CalcStringLength @@ -439,21 +435,7 @@ DakutensAndHandakutens: ld [wNamingScreenLetter], a ret -Dakutens: - db "かが", "きぎ", "くぐ", "けげ", "こご" - db "さざ", "しじ", "すず", "せぜ", "そぞ" - db "ただ", "ちぢ", "つづ", "てで", "とど" - db "はば", "ひび", "ふぶ", "へべ", "ほぼ" - db "カガ", "キギ", "クグ", "ケゲ", "コゴ" - db "サザ", "シジ", "スズ", "セゼ", "ソゾ" - db "タダ", "チヂ", "ツヅ", "テデ", "トド" - db "ハバ", "ヒビ", "フブ", "へべ", "ホボ" - db $ff - -Handakutens: - db "はぱ", "ひぴ", "ふぷ", "へぺ", "ほぽ" - db "ハパ", "ヒピ", "フプ", "へぺ", "ホポ" - db $ff +INCLUDE "text/dakutens.asm" ; calculates the length of the string at wcf4b and stores it in c CalcStringLength: diff --git a/engine/menu/start_sub_menus.asm b/engine/menu/start_sub_menus.asm index 947837e3..04efe711 100755 --- a/engine/menu/start_sub_menus.asm +++ b/engine/menu/start_sub_menus.asm @@ -446,55 +446,9 @@ CannotGetOffHereText: TX_FAR _CannotGetOffHereText db "@" -; items which bring up the party menu when used -UsableItems_PartyMenu: - db MOON_STONE - db ANTIDOTE - db BURN_HEAL - db ICE_HEAL - db AWAKENING - db PARLYZ_HEAL - db FULL_RESTORE - db MAX_POTION - db HYPER_POTION - db SUPER_POTION - db POTION - db FIRE_STONE - db THUNDER_STONE - db WATER_STONE - db HP_UP - db PROTEIN - db IRON - db CARBOS - db CALCIUM - db RARE_CANDY - db LEAF_STONE - db FULL_HEAL - db REVIVE - db MAX_REVIVE - db FRESH_WATER - db SODA_POP - db LEMONADE - db X_ATTACK - db X_DEFEND - db X_SPEED - db X_SPECIAL - db PP_UP - db ETHER - db MAX_ETHER - db ELIXER - db MAX_ELIXER - db $ff +INCLUDE "data/party_items.asm" -; items which close the item menu when used -UsableItems_CloseMenu: - db ESCAPE_ROPE - db ITEMFINDER - db POKE_FLUTE - db OLD_ROD - db GOOD_ROD - db SUPER_ROD - db $ff +INCLUDE "data/overworld_items.asm" StartMenu_TrainerInfo: call GBPalWhiteOut diff --git a/engine/menu/vending_machine.asm b/engine/menu/vending_machine.asm index aab4adf4..0b5c8842 100755 --- a/engine/menu/vending_machine.asm +++ b/engine/menu/vending_machine.asm @@ -130,10 +130,4 @@ LoadVendingMachineItem: ld [hVendingMachinePrice + 2], a ret -VendingPrices: - db FRESH_WATER - money 200 - db SODA_POP - money 300 - db LEMONADE - money 350 +INCLUDE "data/vending_prices.asm" diff --git a/engine/mon_party_sprites.asm b/engine/mon_party_sprites.asm index 864ac136..a8f85748 100755 --- a/engine/mon_party_sprites.asm +++ b/engine/mon_party_sprites.asm @@ -162,146 +162,7 @@ LoadMonPartySpriteGfxWithLCDDisabled: jr nz, .loop jp EnableLCD -MonPartySpritePointers: - dw SlowbroSprite + $c0 - db $40 / $10 ; 40 bytes - db BANK(SlowbroSprite) - dw vSprites - - dw BallSprite - db $80 / $10 ; $80 bytes - db BANK(BallSprite) - dw vSprites + $40 - - dw ClefairySprite + $c0 - db $40 / $10 ; $40 bytes - db BANK(ClefairySprite) - dw vSprites + $c0 - - dw BirdSprite + $c0 - db $40 / $10 ; $40 bytes - db BANK(BirdSprite) - dw vSprites + $100 - - dw SeelSprite - db $40 / $10 ; $40 bytes - db BANK(SeelSprite) - dw vSprites + $140 - - dw MonPartySprites + $40 - db $10 / $10 ; $10 bytes - db BANK(MonPartySprites) - dw vSprites + $180 - - dw MonPartySprites + $50 - db $10 / $10 ; $10 bytes - db BANK(MonPartySprites) - dw vSprites + $1a0 - - dw MonPartySprites + $60 - db $10 / $10 ; $10 bytes - db BANK(MonPartySprites) - dw vSprites + $1c0 - - dw MonPartySprites + $70 - db $10 / $10 ; $10 bytes - db BANK(MonPartySprites) - dw vSprites + $1e0 - - dw MonPartySprites + $80 - db $10 / $10 ; $10 bytes - db BANK(MonPartySprites) - dw vSprites + $200 - - dw MonPartySprites + $90 - db $10 / $10 ; $10 bytes - db BANK(MonPartySprites) - dw vSprites + $220 - - dw MonPartySprites + $A0 - db $10 / $10 ; $10 bytes - db BANK(MonPartySprites) - dw vSprites + $240 - - dw MonPartySprites + $B0 - db $10 / $10 ; $10 bytes - db BANK(MonPartySprites) - dw vSprites + $260 - - dw MonPartySprites + $100 - db $40 / $10 ; $40 bytes - db BANK(MonPartySprites) - dw vSprites + $380 - - dw SlowbroSprite - db $40 / $10 ; $40 bytes - db BANK(SlowbroSprite) - dw vSprites + $400 - - dw BallSprite - db $80 / $10 ; $80 bytes - db BANK(BallSprite) - dw vSprites + $440 - - dw ClefairySprite - db $40 / $10 ; $40 bytes - db BANK(ClefairySprite) - dw vSprites + $4c0 - - dw BirdSprite - db $40 / $10 ; $40 bytes - db BANK(BirdSprite) - dw vSprites + $500 - - dw SeelSprite + $C0 - db $40 / $10 ; $40 bytes - db BANK(SeelSprite) - dw vSprites + $540 - - dw MonPartySprites - db $10 / $10 ; $10 bytes - db BANK(MonPartySprites) - dw vSprites + $580 - - dw MonPartySprites + $10 - db $10 / $10 ; $10 bytes - db BANK(MonPartySprites) - dw vSprites + $5a0 - - dw MonPartySprites + $20 - db $10 / $10 ; $10 bytes - db BANK(MonPartySprites) - dw vSprites + $5c0 - - dw MonPartySprites + $30 - db $10 / $10 ; $10 bytes - db BANK(MonPartySprites) - dw vSprites + $5E0 - - dw MonPartySprites + $C0 - db $10 / $10 ; $10 bytes - db BANK(MonPartySprites) - dw vSprites + $600 - - dw MonPartySprites + $D0 - db $10 / $10 ; $10 bytes - db BANK(MonPartySprites) - dw vSprites + $620 - - dw MonPartySprites + $E0 - db $10 / $10 ; $10 bytes - db BANK(MonPartySprites) - dw vSprites + $640 - - dw MonPartySprites + $F0 - db $10 / $10 ; $10 bytes - db BANK(MonPartySprites) - dw vSprites + $660 - - dw MonPartySprites + $140 - db $40 / $10 ; $40 bytes - db BANK(MonPartySprites) - dw vSprites + $780 +INCLUDE "data/mon_party_sprite_pointers.asm" WriteMonPartySpriteOAMByPartyIndex: ; Write OAM blocks for the party mon in [hPartyMonIndex]. diff --git a/engine/oak_speech2.asm b/engine/oak_speech2.asm index 1258c59b..fdc9ffa3 100755 --- a/engine/oak_speech2.asm +++ b/engine/oak_speech2.asm @@ -187,37 +187,7 @@ DisplayIntroNameTextBox: .namestring db "NAME@" -IF DEF(_RED) -DefaultNamesPlayer: - db "NEW NAME" - next "RED" - next "ASH" - next "JACK" - db "@" - -DefaultNamesRival: - db "NEW NAME" - next "BLUE" - next "GARY" - next "JOHN" - db "@" -ENDC - -IF DEF(_BLUE) -DefaultNamesPlayer: - db "NEW NAME" - next "BLUE" - next "GARY" - next "JOHN" - db "@" - -DefaultNamesRival: - db "NEW NAME" - next "RED" - next "ASH" - next "JACK" - db "@" -ENDC +INCLUDE "text/player_names.asm" GetDefaultName: ; a = name index @@ -243,30 +213,7 @@ GetDefaultName: ld bc, $14 jp CopyData -IF DEF(_RED) -DefaultNamesPlayerList: - db "NEW NAME@" - db "RED@" - db "ASH@" - db "JACK@" -DefaultNamesRivalList: - db "NEW NAME@" - db "BLUE@" - db "GARY@" - db "JOHN@" -ENDC -IF DEF(_BLUE) -DefaultNamesPlayerList: - db "NEW NAME@" - db "BLUE@" - db "GARY@" - db "JOHN@" -DefaultNamesRivalList: - db "NEW NAME@" - db "RED@" - db "ASH@" - db "JACK@" -ENDC +INCLUDE "text/player_names_list.asm" TextTerminator_6b20: db "@" diff --git a/engine/overworld/cut.asm b/engine/overworld/cut.asm index f6ae6468..f61ca65f 100755 --- a/engine/overworld/cut.asm +++ b/engine/overworld/cut.asm @@ -248,16 +248,4 @@ ReplaceTreeTileBlock: ld [hl], a ret -CutTreeBlockSwaps: -; first byte = tileset block containing the cut tree -; second byte = corresponding tileset block after the cut animation happens - db $32, $6D - db $33, $6C - db $34, $6F - db $35, $4C - db $60, $6E - db $0B, $0A - db $3C, $35 - db $3F, $35 - db $3D, $36 - db $FF ; list terminator +INCLUDE "data/cut_tree_blocks.asm" diff --git a/engine/overworld/doors.asm b/engine/overworld/doors.asm index c39e096d..1339430a 100755 --- a/engine/overworld/doors.asm +++ b/engine/overworld/doors.asm @@ -25,51 +25,4 @@ IsPlayerStandingOnDoorTile: and a ret -DoorTileIDPointers: - dbw OVERWORLD, OverworldDoorTileIDs - dbw FOREST, ForestDoorTileIDs - dbw MART, MartDoorTileIDs - dbw HOUSE, HouseDoorTileIDs - dbw FOREST_GATE, TilesetMuseumDoorTileIDs - dbw MUSEUM, TilesetMuseumDoorTileIDs - dbw GATE, TilesetMuseumDoorTileIDs - dbw SHIP, ShipDoorTileIDs - dbw LOBBY, LobbyDoorTileIDs - dbw MANSION, MansionDoorTileIDs - dbw LAB, LabDoorTileIDs - dbw FACILITY, FacilityDoorTileIDs - dbw PLATEAU, PlateauDoorTileIDs - db $ff - -OverworldDoorTileIDs: - db $1B,$58,$00 - -ForestDoorTileIDs: - db $3a,$00 - -MartDoorTileIDs: - db $5e,$00 - -HouseDoorTileIDs: - db $54,$00 - -TilesetMuseumDoorTileIDs: - db $3b,$00 - -ShipDoorTileIDs: - db $1e,$00 - -LobbyDoorTileIDs: - db $1c,$38,$1a,$00 - -MansionDoorTileIDs: - db $1a,$1c,$53,$00 - -LabDoorTileIDs: - db $34,$00 - -FacilityDoorTileIDs: - db $43,$58,$1b,$00 - -PlateauDoorTileIDs: - db $3b,$1b,$00 +INCLUDE "data/door_tile_ids.asm" diff --git a/engine/overworld/ledges.asm b/engine/overworld/ledges.asm index 342540b2..77e7bd47 100755 --- a/engine/overworld/ledges.asm +++ b/engine/overworld/ledges.asm @@ -54,17 +54,7 @@ HandleLedges: call PlaySound ret - ; (player direction) (tile player standing on) (ledge tile) (input required) -LedgeTiles: - db SPRITE_FACING_DOWN, $2C,$37,D_DOWN - db SPRITE_FACING_DOWN, $39,$36,D_DOWN - db SPRITE_FACING_DOWN, $39,$37,D_DOWN - db SPRITE_FACING_LEFT, $2C,$27,D_LEFT - db SPRITE_FACING_LEFT, $39,$27,D_LEFT - db SPRITE_FACING_RIGHT,$2C,$0D,D_RIGHT - db SPRITE_FACING_RIGHT,$2C,$1D,D_RIGHT - db SPRITE_FACING_RIGHT,$39,$0D,D_RIGHT - db $FF +INCLUDE "data/ledge_tiles.asm" LoadHoppingShadowOAM: ld hl, vChars1 + $7f0 diff --git a/engine/overworld/player_animations.asm b/engine/overworld/player_animations.asm index a17e67bd..0f17de8f 100755 --- a/engine/overworld/player_animations.asm +++ b/engine/overworld/player_animations.asm @@ -349,7 +349,7 @@ GetPlayerTeleportAnimFrameDelay: IsPlayerStandingOnWarpPadOrHole: ld b, 0 - ld hl, .warpPadAndHoleData + ld hl, WarpPadAndHoleData ld a, [wCurMapTileset] ld c, a .loop @@ -373,13 +373,7 @@ IsPlayerStandingOnWarpPadOrHole: ld [wStandingOnWarpPadOrHole], a ret -; format: db tileset id, tile id, value to be put in [wStandingOnWarpPadOrHole] -.warpPadAndHoleData: - db FACILITY, $20, 1 ; warp pad - db FACILITY, $11, 2 ; hole - db CAVERN, $22, 2 ; hole - db INTERIOR, $55, 1 ; warp pad - db $FF +INCLUDE "data/warp_pad_hole_tile_ids.asm" FishingAnim: ld c, 10 diff --git a/engine/overworld/player_state.asm b/engine/overworld/player_state.asm index 73c55da2..ba47f7eb 100644 --- a/engine/overworld/player_state.asm +++ b/engine/overworld/player_state.asm @@ -157,12 +157,12 @@ IsWarpTileInFrontOfPlayer: call _GetTileAndCoordsInFrontOfPlayer ld a, [wCurMap] cp SS_ANNE_BOW - jr z, .ssAnne5 + jr z, IsSSAnneBowWarpTileInFrontOfPlayer ld a, [wSpriteStateData1 + 9] ; player sprite's facing direction srl a ld c, a ld b, 0 - ld hl, .warpTileListPointers + ld hl, WarpTileListPointers add hl, bc ld a, [hli] ld h, [hl] @@ -176,33 +176,17 @@ IsWarpTileInFrontOfPlayer: pop hl ret -.warpTileListPointers: - dw .facingDownWarpTiles - dw .facingUpWarpTiles - dw .facingLeftWarpTiles - dw .facingRightWarpTiles +INCLUDE "data/warp_carpet_tile_ids.asm" -.facingDownWarpTiles - db $01,$12,$17,$3D,$04,$18,$33,$FF - -.facingUpWarpTiles - db $01,$5C,$FF - -.facingLeftWarpTiles - db $1A,$4B,$FF - -.facingRightWarpTiles - db $0F,$4E,$FF - -.ssAnne5 +IsSSAnneBowWarpTileInFrontOfPlayer: ld a, [wTileInFrontOfPlayer] cp $15 jr nz, .notSSAnne5Warp scf - jr .done + jr IsWarpTileInFrontOfPlayer.done .notSSAnne5Warp and a - jr .done + jr IsWarpTileInFrontOfPlayer.done IsPlayerStandingOnDoorTileOrWarpTile: push hl diff --git a/engine/overworld/saffron_guards.asm b/engine/overworld/saffron_guards.asm index 3b26b6f8..92d4847f 100755 --- a/engine/overworld/saffron_guards.asm +++ b/engine/overworld/saffron_guards.asm @@ -12,5 +12,4 @@ RemoveGuardDrink: jr z, .drinkLoop jpba RemoveItemByID -GuardDrinksList: - db FRESH_WATER, SODA_POP, LEMONADE, $00 +INCLUDE "data/guard_drink_items.asm" diff --git a/engine/overworld/set_blackout_map.asm b/engine/overworld/set_blackout_map.asm index bac2f0ca..14f0ba28 100644 --- a/engine/overworld/set_blackout_map.asm +++ b/engine/overworld/set_blackout_map.asm @@ -22,8 +22,4 @@ SetLastBlackoutMap: pop hl ret -SafariZoneRestHouses: - db SAFARI_ZONE_WEST_REST_HOUSE - db SAFARI_ZONE_EAST_REST_HOUSE - db SAFARI_ZONE_NORTH_REST_HOUSE - db -1 +INCLUDE "data/rest_house_maps.asm" diff --git a/engine/predefs.asm b/engine/predefs.asm index 6f605043..43ab7349 100755 --- a/engine/predefs.asm +++ b/engine/predefs.asm @@ -49,105 +49,4 @@ GetPredefPointer: ret -PredefPointers:: -; these are pointers to ASM routines. -; they appear to be used in overworld map scripts. - add_predef DrawPlayerHUDAndHPBar - add_predef CopyUncompressedPicToTilemap - add_predef AnimateSendingOutMon - add_predef ScaleSpriteByTwo - add_predef LoadMonBackPic - add_predef CopyDownscaledMonTiles - dbw $03,JumpMoveEffect ; wrong bank - add_predef HealParty - add_predef MoveAnimation - add_predef DivideBCDPredef - add_predef DivideBCDPredef2 - add_predef AddBCDPredef - add_predef SubBCDPredef - add_predef DivideBCDPredef3 - add_predef DivideBCDPredef4 - add_predef InitPlayerData - add_predef FlagActionPredef - add_predef HideObject - add_predef IsObjectHidden - add_predef ApplyOutOfBattlePoisonDamage - add_predef AnyPartyAlive - add_predef ShowObject - add_predef ShowObject2 - add_predef ReplaceTileBlock - add_predef InitPlayerData2 - add_predef LoadTilesetHeader - add_predef LearnMoveFromLevelUp - add_predef LearnMove - add_predef GetQuantityOfItemInBag - dbw $03,CheckForHiddenObjectOrBookshelfOrCardKeyDoor ; home bank - dbw $03,GiveItem ; home bank - add_predef ChangeBGPalColor0_4Frames - add_predef FindPathToPlayer - add_predef PredefShakeScreenVertically - add_predef CalcPositionOfPlayerRelativeToNPC - add_predef ConvertNPCMovementDirectionsToJoypadMasks - add_predef PredefShakeScreenHorizontally - add_predef UpdateHPBar - add_predef HPBarLength - add_predef Diploma_TextBoxBorder - add_predef DoubleOrHalveSelectedStats - add_predef ShowPokedexMenu - add_predef EvolutionAfterBattle - add_predef SaveSAVtoSRAM0 - add_predef InitOpponent - add_predef CableClub_Run - add_predef DrawBadges - add_predef ExternalClockTradeAnim - add_predef BattleTransition - add_predef CopyTileIDsFromList - add_predef PlayIntro - add_predef GetMoveSoundB - add_predef FlashScreen - add_predef GetTileAndCoordsInFrontOfPlayer - add_predef StatusScreen - add_predef StatusScreen2 - add_predef InternalClockTradeAnim - add_predef TrainerEngage - add_predef IndexToPokedex - add_predef DisplayPicCenteredOrUpperRight - add_predef UsedCut - add_predef ShowPokedexData - add_predef WriteMonMoves - add_predef SaveSAV - add_predef LoadSGB - add_predef MarkTownVisitedAndLoadMissableObjects - add_predef SetPartyMonTypes - add_predef CanLearnTM - add_predef TMToMove - add_predef _RunPaletteCommand - add_predef StarterDex - add_predef _AddPartyMon - add_predef UpdateHPBar2 - add_predef DrawEnemyHUDAndHPBar - add_predef LoadTownMap_Nest - add_predef PrintMonType - add_predef EmotionBubble - add_predef EmptyFunc3; return immediately - add_predef AskName - add_predef PewterGuys - add_predef SaveSAVtoSRAM2 - add_predef LoadSAV2 - add_predef LoadSAV - add_predef SaveSAVtoSRAM1 - add_predef DoInGameTradeDialogue - add_predef HallOfFamePC - add_predef DisplayDexRating - dbw $1E, _LeaveMapAnim ; wrong bank - dbw $1E, EnterMapAnim ; wrong bank - add_predef GetTileTwoStepsInFrontOfPlayer - add_predef CheckForCollisionWhenPushingBoulder - add_predef PrintStrengthTxt - add_predef PickUpItem - add_predef PrintMoveType - add_predef LoadMovePPs - add_predef DrawHP - add_predef DrawHP2 - add_predef DisplayElevatorFloorMenu - add_predef OaksAideScript +INCLUDE "data/predef_pointers.asm" diff --git a/main.asm b/main.asm index da4e691d..4373c3f7 100755 --- a/main.asm +++ b/main.asm @@ -919,6 +919,7 @@ INCLUDE "engine/battle/moveEffects/reflect_light_screen_effect.asm" SECTION "bankF", ROMX INCLUDE "engine/battle/core.asm" +INCLUDE "engine/battle/effects.asm" SECTION "bank10", ROMX diff --git a/text/alphabets.asm b/text/alphabets.asm new file mode 100644 index 00000000..9799a7e6 --- /dev/null +++ b/text/alphabets.asm @@ -0,0 +1,5 @@ +LowerCaseAlphabet: + db "abcdefghijklmnopqrstuvwxyz ×():;[]",$e1,$e2,"-?!♂♀/⠄,¥UPPER CASE@" + +UpperCaseAlphabet: + db "ABCDEFGHIJKLMNOPQRSTUVWXYZ ×():;[]",$e1,$e2,"-?!♂♀/⠄,¥lower case@" diff --git a/text/dakutens.asm b/text/dakutens.asm new file mode 100644 index 00000000..f3bf4854 --- /dev/null +++ b/text/dakutens.asm @@ -0,0 +1,15 @@ +Dakutens: + db "かが", "きぎ", "くぐ", "けげ", "こご" + db "さざ", "しじ", "すず", "せぜ", "そぞ" + db "ただ", "ちぢ", "つづ", "てで", "とど" + db "はば", "ひび", "ふぶ", "へべ", "ほぼ" + db "カガ", "キギ", "クグ", "ケゲ", "コゴ" + db "サザ", "シジ", "スズ", "セゼ", "ソゾ" + db "タダ", "チヂ", "ツヅ", "テデ", "トド" + db "ハバ", "ヒビ", "フブ", "へべ", "ホボ" + db $ff + +Handakutens: + db "はぱ", "ひぴ", "ふぷ", "へぺ", "ほぽ" + db "ハパ", "ヒピ", "フプ", "へぺ", "ホポ" + db $ff diff --git a/text/player_names.asm b/text/player_names.asm new file mode 100644 index 00000000..f57c9877 --- /dev/null +++ b/text/player_names.asm @@ -0,0 +1,31 @@ +IF DEF(_RED) +DefaultNamesPlayer: + db "NEW NAME" + next "RED" + next "ASH" + next "JACK" + db "@" + +DefaultNamesRival: + db "NEW NAME" + next "BLUE" + next "GARY" + next "JOHN" + db "@" +ENDC + +IF DEF(_BLUE) +DefaultNamesPlayer: + db "NEW NAME" + next "BLUE" + next "GARY" + next "JOHN" + db "@" + +DefaultNamesRival: + db "NEW NAME" + next "RED" + next "ASH" + next "JACK" + db "@" +ENDC diff --git a/text/player_names_list.asm b/text/player_names_list.asm new file mode 100644 index 00000000..56075df0 --- /dev/null +++ b/text/player_names_list.asm @@ -0,0 +1,27 @@ +IF DEF(_RED) +DefaultNamesPlayerList: + db "NEW NAME@" + db "RED@" + db "ASH@" + db "JACK@" + +DefaultNamesRivalList: + db "NEW NAME@" + db "BLUE@" + db "GARY@" + db "JOHN@" +ENDC + +IF DEF(_BLUE) +DefaultNamesPlayerList: + db "NEW NAME@" + db "BLUE@" + db "GARY@" + db "JOHN@" + +DefaultNamesRivalList: + db "NEW NAME@" + db "RED@" + db "ASH@" + db "JACK@" +ENDC diff --git a/text/stat_names.asm b/text/stat_names.asm new file mode 100644 index 00000000..854780c6 --- /dev/null +++ b/text/stat_names.asm @@ -0,0 +1,7 @@ +StatsTextStrings: + db "ATTACK@" + db "DEFENSE@" + db "SPEED@" + db "SPECIAL@" + db "ACCURACY@" + db "EVADE@" diff --git a/text/trainer_name_pointers.asm b/text/trainer_name_pointers.asm new file mode 100644 index 00000000..aa5e72d3 --- /dev/null +++ b/text/trainer_name_pointers.asm @@ -0,0 +1,92 @@ +TrainerNamePointers: +; what is the point of these? + dw YoungsterName + dw BugCatcherName + dw LassName + dw wTrainerName + dw JrTrainerMName + dw JrTrainerFName + dw PokemaniacName + dw SuperNerdName + dw wTrainerName + dw wTrainerName + dw BurglarName + dw EngineerName + dw JugglerXName + dw wTrainerName + dw SwimmerName + dw wTrainerName + dw wTrainerName + dw BeautyName + dw wTrainerName + dw RockerName + dw JugglerName + dw wTrainerName + dw wTrainerName + dw BlackbeltName + dw wTrainerName + dw ProfOakName + dw ChiefName + dw ScientistName + dw wTrainerName + dw RocketName + dw CooltrainerMName + dw CooltrainerFName + dw wTrainerName + dw wTrainerName + dw wTrainerName + dw wTrainerName + dw wTrainerName + dw wTrainerName + dw wTrainerName + dw wTrainerName + dw wTrainerName + dw wTrainerName + dw wTrainerName + dw wTrainerName + dw wTrainerName + dw wTrainerName + dw wTrainerName + +YoungsterName: + db "YOUNGSTER@" +BugCatcherName: + db "BUG CATCHER@" +LassName: + db "LASS@" +JrTrainerMName: + db "JR.TRAINER♂@" +JrTrainerFName: + db "JR.TRAINER♀@" +PokemaniacName: + db "POKéMANIAC@" +SuperNerdName: + db "SUPER NERD@" +BurglarName: + db "BURGLAR@" +EngineerName: + db "ENGINEER@" +JugglerXName: + db "JUGGLER@" +SwimmerName: + db "SWIMMER@" +BeautyName: + db "BEAUTY@" +RockerName: + db "ROCKER@" +JugglerName: + db "JUGGLER@" +BlackbeltName: + db "BLACKBELT@" +ProfOakName: + db "PROF.OAK@" +ChiefName: + db "CHIEF@" +ScientistName: + db "SCIENTIST@" +RocketName: + db "ROCKET@" +CooltrainerMName: + db "COOLTRAINER♂@" +CooltrainerFName: + db "COOLTRAINER♀@" -- cgit v1.2.3 From 4b853ad676e061a6c4b0fcc030855a2705776864 Mon Sep 17 00:00:00 2001 From: Rangi <35663410+Rangi42@users.noreply.github.com> Date: Sat, 27 Jun 2020 15:32:24 -0400 Subject: Separate maps.asm, pics.asm, sprites.asm, and tilesets.asm from main.asm (#251) Each new file builds its own .o, along with separate main.o and home.o, which necessitates many more "exported::" labels. --- Makefile | 17 +- audio.asm | 30 +- data/baseStats/bulbasaur.asm | 2 - data/baseStats/mew.asm | 2 +- data/base_stats.asm | 3 + data/cries.asm | 2 +- data/item_prices.asm | 2 +- data/mapHeaders/AgathasRoom.asm | 2 +- data/mapHeaders/BikeShop.asm | 2 +- data/mapHeaders/BillsHouse.asm | 2 +- data/mapHeaders/BluesHouse.asm | 2 +- data/mapHeaders/BrunosRoom.asm | 2 +- data/mapHeaders/CeladonChiefHouse.asm | 2 +- data/mapHeaders/CeladonCity.asm | 2 +- data/mapHeaders/CeladonDiner.asm | 2 +- data/mapHeaders/CeladonGym.asm | 2 +- data/mapHeaders/CeladonHotel.asm | 2 +- data/mapHeaders/CeladonMansion1F.asm | 2 +- data/mapHeaders/CeladonMansion2F.asm | 2 +- data/mapHeaders/CeladonMansion3F.asm | 2 +- data/mapHeaders/CeladonMansionRoof.asm | 2 +- data/mapHeaders/CeladonMansionRoofHouse.asm | 2 +- data/mapHeaders/CeladonMart1F.asm | 2 +- data/mapHeaders/CeladonMart2F.asm | 2 +- data/mapHeaders/CeladonMart3F.asm | 2 +- data/mapHeaders/CeladonMart4F.asm | 2 +- data/mapHeaders/CeladonMart5F.asm | 2 +- data/mapHeaders/CeladonMartElevator.asm | 2 +- data/mapHeaders/CeladonMartRoof.asm | 2 +- data/mapHeaders/CeladonPokecenter.asm | 2 +- data/mapHeaders/CeruleanBadgeHouse.asm | 2 +- data/mapHeaders/CeruleanCave1F.asm | 2 +- data/mapHeaders/CeruleanCave2F.asm | 2 +- data/mapHeaders/CeruleanCaveB1F.asm | 2 +- data/mapHeaders/CeruleanCity.asm | 2 +- data/mapHeaders/CeruleanGym.asm | 2 +- data/mapHeaders/CeruleanMart.asm | 2 +- data/mapHeaders/CeruleanPokecenter.asm | 2 +- data/mapHeaders/CeruleanTradeHouse.asm | 2 +- data/mapHeaders/CeruleanTrashedHouse.asm | 2 +- data/mapHeaders/ChampionsRoom.asm | 2 +- data/mapHeaders/CinnabarGym.asm | 2 +- data/mapHeaders/CinnabarIsland.asm | 2 +- data/mapHeaders/CinnabarLab.asm | 2 +- data/mapHeaders/CinnabarLabFossilRoom.asm | 2 +- data/mapHeaders/CinnabarLabMetronomeRoom.asm | 2 +- data/mapHeaders/CinnabarLabTradeRoom.asm | 2 +- data/mapHeaders/CinnabarMart.asm | 2 +- data/mapHeaders/CinnabarPokecenter.asm | 2 +- data/mapHeaders/Colosseum.asm | 2 +- data/mapHeaders/CopycatsHouse1F.asm | 2 +- data/mapHeaders/CopycatsHouse2F.asm | 2 +- data/mapHeaders/Daycare.asm | 2 +- data/mapHeaders/DiglettsCave.asm | 2 +- data/mapHeaders/DiglettsCaveRoute11.asm | 2 +- data/mapHeaders/DiglettsCaveRoute2.asm | 2 +- data/mapHeaders/FightingDojo.asm | 2 +- data/mapHeaders/FuchsiaBillsGrandpasHouse.asm | 2 +- data/mapHeaders/FuchsiaCity.asm | 2 +- data/mapHeaders/FuchsiaGoodRodHouse.asm | 2 +- data/mapHeaders/FuchsiaGym.asm | 2 +- data/mapHeaders/FuchsiaMart.asm | 2 +- data/mapHeaders/FuchsiaMeetingRoom.asm | 2 +- data/mapHeaders/FuchsiaPokecenter.asm | 2 +- data/mapHeaders/GameCorner.asm | 2 +- data/mapHeaders/GameCornerPrizeRoom.asm | 2 +- data/mapHeaders/HallOfFame.asm | 2 +- data/mapHeaders/IndigoPlateau.asm | 2 +- data/mapHeaders/IndigoPlateauLobby.asm | 2 +- data/mapHeaders/LancesRoom.asm | 2 +- data/mapHeaders/LavenderCuboneHouse.asm | 2 +- data/mapHeaders/LavenderMart.asm | 2 +- data/mapHeaders/LavenderPokecenter.asm | 2 +- data/mapHeaders/LavenderTown.asm | 2 +- data/mapHeaders/LoreleisRoom.asm | 2 +- data/mapHeaders/MrFujisHouse.asm | 2 +- data/mapHeaders/MrPsychicsHouse.asm | 2 +- data/mapHeaders/MtMoon1F.asm | 2 +- data/mapHeaders/MtMoonB1F.asm | 2 +- data/mapHeaders/MtMoonB2F.asm | 2 +- data/mapHeaders/MtMoonPokecenter.asm | 2 +- data/mapHeaders/Museum1F.asm | 2 +- data/mapHeaders/Museum2F.asm | 2 +- data/mapHeaders/NameRatersHouse.asm | 2 +- data/mapHeaders/OaksLab.asm | 2 +- data/mapHeaders/PalletTown.asm | 2 +- data/mapHeaders/PewterCity.asm | 2 +- data/mapHeaders/PewterGym.asm | 2 +- data/mapHeaders/PewterMart.asm | 2 +- data/mapHeaders/PewterNidoranHouse.asm | 2 +- data/mapHeaders/PewterPokecenter.asm | 2 +- data/mapHeaders/PewterSpeechHouse.asm | 2 +- data/mapHeaders/PokemonFanClub.asm | 2 +- data/mapHeaders/PokemonMansion1F.asm | 2 +- data/mapHeaders/PokemonMansion2F.asm | 2 +- data/mapHeaders/PokemonMansion3F.asm | 2 +- data/mapHeaders/PokemonMansionB1F.asm | 2 +- data/mapHeaders/PokemonTower1F.asm | 2 +- data/mapHeaders/PokemonTower2F.asm | 2 +- data/mapHeaders/PokemonTower3F.asm | 2 +- data/mapHeaders/PokemonTower4F.asm | 2 +- data/mapHeaders/PokemonTower5F.asm | 2 +- data/mapHeaders/PokemonTower6F.asm | 2 +- data/mapHeaders/PokemonTower7F.asm | 2 +- data/mapHeaders/PowerPlant.asm | 2 +- data/mapHeaders/RedsHouse1F.asm | 2 +- data/mapHeaders/RedsHouse2F.asm | 2 +- data/mapHeaders/RockTunnel1F.asm | 2 +- data/mapHeaders/RockTunnelB1F.asm | 2 +- data/mapHeaders/RockTunnelPokecenter.asm | 2 +- data/mapHeaders/RocketHideoutB1F.asm | 2 +- data/mapHeaders/RocketHideoutB2F.asm | 2 +- data/mapHeaders/RocketHideoutB3F.asm | 2 +- data/mapHeaders/RocketHideoutB4F.asm | 2 +- data/mapHeaders/RocketHideoutElevator.asm | 2 +- data/mapHeaders/Route1.asm | 2 +- data/mapHeaders/Route10.asm | 2 +- data/mapHeaders/Route11.asm | 2 +- data/mapHeaders/Route11Gate1F.asm | 2 +- data/mapHeaders/Route11Gate2F.asm | 2 +- data/mapHeaders/Route12.asm | 2 +- data/mapHeaders/Route12Gate1F.asm | 2 +- data/mapHeaders/Route12Gate2F.asm | 2 +- data/mapHeaders/Route12SuperRodHouse.asm | 2 +- data/mapHeaders/Route13.asm | 2 +- data/mapHeaders/Route14.asm | 2 +- data/mapHeaders/Route15.asm | 2 +- data/mapHeaders/Route15Gate1F.asm | 2 +- data/mapHeaders/Route15Gate2F.asm | 2 +- data/mapHeaders/Route16.asm | 2 +- data/mapHeaders/Route16FlyHouse.asm | 2 +- data/mapHeaders/Route16Gate1F.asm | 2 +- data/mapHeaders/Route16Gate2F.asm | 2 +- data/mapHeaders/Route17.asm | 2 +- data/mapHeaders/Route18.asm | 2 +- data/mapHeaders/Route18Gate1F.asm | 2 +- data/mapHeaders/Route18Gate2F.asm | 2 +- data/mapHeaders/Route19.asm | 2 +- data/mapHeaders/Route2.asm | 2 +- data/mapHeaders/Route20.asm | 2 +- data/mapHeaders/Route21.asm | 2 +- data/mapHeaders/Route22.asm | 2 +- data/mapHeaders/Route22Gate.asm | 2 +- data/mapHeaders/Route23.asm | 2 +- data/mapHeaders/Route24.asm | 2 +- data/mapHeaders/Route25.asm | 2 +- data/mapHeaders/Route2Gate.asm | 2 +- data/mapHeaders/Route2TradeHouse.asm | 2 +- data/mapHeaders/Route3.asm | 2 +- data/mapHeaders/Route4.asm | 2 +- data/mapHeaders/Route5.asm | 2 +- data/mapHeaders/Route5Gate.asm | 2 +- data/mapHeaders/Route6.asm | 2 +- data/mapHeaders/Route6Gate.asm | 2 +- data/mapHeaders/Route7.asm | 2 +- data/mapHeaders/Route7Gate.asm | 2 +- data/mapHeaders/Route8.asm | 2 +- data/mapHeaders/Route8Gate.asm | 2 +- data/mapHeaders/Route9.asm | 2 +- data/mapHeaders/SSAnne1F.asm | 2 +- data/mapHeaders/SSAnne1FRooms.asm | 2 +- data/mapHeaders/SSAnne2F.asm | 2 +- data/mapHeaders/SSAnne2FRooms.asm | 2 +- data/mapHeaders/SSAnne3F.asm | 2 +- data/mapHeaders/SSAnneB1F.asm | 2 +- data/mapHeaders/SSAnneB1FRooms.asm | 2 +- data/mapHeaders/SSAnneBow.asm | 2 +- data/mapHeaders/SSAnneCaptainsRoom.asm | 2 +- data/mapHeaders/SSAnneKitchen.asm | 2 +- data/mapHeaders/SafariZoneCenter.asm | 2 +- data/mapHeaders/SafariZoneCenterRestHouse.asm | 2 +- data/mapHeaders/SafariZoneEast.asm | 2 +- data/mapHeaders/SafariZoneEastRestHouse.asm | 2 +- data/mapHeaders/SafariZoneGate.asm | 2 +- data/mapHeaders/SafariZoneNorth.asm | 2 +- data/mapHeaders/SafariZoneNorthRestHouse.asm | 2 +- data/mapHeaders/SafariZoneSecretHouse.asm | 2 +- data/mapHeaders/SafariZoneWest.asm | 2 +- data/mapHeaders/SafariZoneWestRestHouse.asm | 2 +- data/mapHeaders/SaffronCity.asm | 2 +- data/mapHeaders/SaffronGym.asm | 2 +- data/mapHeaders/SaffronMart.asm | 2 +- data/mapHeaders/SaffronPidgeyHouse.asm | 2 +- data/mapHeaders/SaffronPokecenter.asm | 2 +- data/mapHeaders/SeafoamIslands1F.asm | 2 +- data/mapHeaders/SeafoamIslandsB1F.asm | 2 +- data/mapHeaders/SeafoamIslandsB2F.asm | 2 +- data/mapHeaders/SeafoamIslandsB3F.asm | 2 +- data/mapHeaders/SeafoamIslandsB4F.asm | 2 +- data/mapHeaders/SilphCo10F.asm | 2 +- data/mapHeaders/SilphCo11F.asm | 2 +- data/mapHeaders/SilphCo1F.asm | 2 +- data/mapHeaders/SilphCo2F.asm | 2 +- data/mapHeaders/SilphCo3F.asm | 2 +- data/mapHeaders/SilphCo4F.asm | 2 +- data/mapHeaders/SilphCo5F.asm | 2 +- data/mapHeaders/SilphCo6F.asm | 2 +- data/mapHeaders/SilphCo7F.asm | 2 +- data/mapHeaders/SilphCo8F.asm | 2 +- data/mapHeaders/SilphCo9F.asm | 2 +- data/mapHeaders/SilphCoElevator.asm | 2 +- data/mapHeaders/TradeCenter.asm | 2 +- data/mapHeaders/UndergroundPathNorthSouth.asm | 2 +- data/mapHeaders/UndergroundPathRoute5.asm | 2 +- data/mapHeaders/UndergroundPathRoute6.asm | 2 +- data/mapHeaders/UndergroundPathRoute7.asm | 2 +- data/mapHeaders/UndergroundPathRoute7Copy.asm | 2 +- data/mapHeaders/UndergroundPathRoute8.asm | 2 +- data/mapHeaders/UndergroundPathWestEast.asm | 2 +- data/mapHeaders/VermilionCity.asm | 2 +- data/mapHeaders/VermilionDock.asm | 2 +- data/mapHeaders/VermilionGym.asm | 2 +- data/mapHeaders/VermilionMart.asm | 2 +- data/mapHeaders/VermilionOldRodHouse.asm | 2 +- data/mapHeaders/VermilionPidgeyHouse.asm | 2 +- data/mapHeaders/VermilionPokecenter.asm | 2 +- data/mapHeaders/VermilionTradeHouse.asm | 2 +- data/mapHeaders/VictoryRoad1F.asm | 2 +- data/mapHeaders/VictoryRoad2F.asm | 2 +- data/mapHeaders/VictoryRoad3F.asm | 2 +- data/mapHeaders/ViridianCity.asm | 2 +- data/mapHeaders/ViridianForest.asm | 2 +- data/mapHeaders/ViridianForestNorthGate.asm | 2 +- data/mapHeaders/ViridianForestSouthGate.asm | 2 +- data/mapHeaders/ViridianGym.asm | 2 +- data/mapHeaders/ViridianMart.asm | 2 +- data/mapHeaders/ViridianNicknameHouse.asm | 2 +- data/mapHeaders/ViridianPokecenter.asm | 2 +- data/mapHeaders/ViridianSchoolHouse.asm | 2 +- data/mapHeaders/WardensHouse.asm | 2 +- data/map_header_banks.asm | 2 +- data/map_songs.asm | 2 +- data/trainer_pic_money_pointers.asm | 2 +- engine/add_mon.asm | 6 +- engine/battle/core.asm | 8 +- engine/battle/get_trainer_name.asm | 2 +- engine/battle/save_trainer_name.asm | 2 +- engine/display_pokedex.asm | 2 +- engine/display_text_id_init.asm | 2 +- engine/experience.asm | 4 +- engine/game_corner_slots.asm | 6 +- engine/game_corner_slots2.asm | 4 +- engine/give_pokemon.asm | 2 +- engine/hidden_object_functions14.asm | 12 +- engine/hidden_object_functions17.asm | 24 +- engine/hidden_object_functions18.asm | 40 +- engine/hidden_object_functions3.asm | 12 +- engine/hidden_object_functions7.asm | 28 +- engine/items/inventory.asm | 4 +- engine/items/items.asm | 6 +- engine/items/tm_prices.asm | 2 +- engine/load_mon_data.asm | 2 +- engine/menu/diploma.asm | 2 +- engine/menu/draw_start_menu.asm | 2 +- engine/menu/main_menu.asm | 2 +- engine/menu/naming_screen.asm | 2 +- engine/menu/party_menu.asm | 4 +- engine/menu/pc.asm | 4 +- engine/menu/players_pc.asm | 2 +- engine/menu/prize_menu.asm | 2 +- engine/menu/start_sub_menus.asm | 16 +- engine/menu/swap_items.asm | 2 +- engine/menu/text_box.asm | 2 +- engine/menu/vending_machine.asm | 2 +- engine/mon_party_sprites.asm | 2 +- engine/multiply_divide.asm | 4 +- engine/oam_dma.asm | 2 +- engine/overworld/cable_club_npc.asm | 2 +- engine/overworld/card_key.asm | 4 +- engine/overworld/cinnabar_lab.asm | 4 +- engine/overworld/clear_variables.asm | 2 +- engine/overworld/elevator.asm | 2 +- engine/overworld/hidden_items.asm | 8 +- engine/overworld/hidden_objects.asm | 4 +- engine/overworld/ledges.asm | 2 +- engine/overworld/map_sprite_functions1.asm | 2 +- engine/overworld/map_sprites.asm | 2 +- engine/overworld/missable_objects.asm | 2 +- engine/overworld/npc_movement.asm | 12 +- engine/overworld/oam.asm | 2 +- engine/overworld/player_animations.asm | 8 +- engine/overworld/player_state.asm | 12 +- engine/overworld/pokecenter.asm | 2 +- engine/overworld/pokemart.asm | 2 +- engine/overworld/push_boulder.asm | 4 +- engine/overworld/saffron_guards.asm | 2 +- engine/overworld/ssanne.asm | 2 +- engine/overworld/trainers.asm | 10 +- engine/overworld/wild_mons.asm | 2 +- engine/play_time.asm | 2 +- engine/predefs.asm | 2 +- engine/print_waiting_text.asm | 2 +- engine/remove_pokemon.asm | 2 +- engine/save.asm | 2 +- engine/special_warps.asm | 2 +- engine/status_ailments.asm | 2 +- engine/subtract_paid_money.asm | 2 +- engine/titlescreen.asm | 2 +- engine/town_map.asm | 4 +- engine/turn_sprite.asm | 2 +- home.asm | 5 +- home/init.asm | 2 +- layout.link | 305 +++++ main.asm | 1780 +------------------------ maps.asm | 1224 +++++++++++++++++ pics.asm | 376 ++++++ pokered.link | 273 ---- scripts/PokemonMansion1F.asm | 2 +- scripts/PokemonMansion2F.asm | 2 +- scripts/PokemonMansion3F.asm | 2 +- scripts/PokemonMansionB1F.asm | 2 +- scripts/RocketHideoutB2F.asm | 2 +- sprites.asm | 73 + text.asm | 48 +- text/item_names.asm | 2 +- text/monster_names.asm | 2 +- text/trainer_names.asm | 2 +- tilesets.asm | 64 + 318 files changed, 2530 insertions(+), 2480 deletions(-) create mode 100644 layout.link create mode 100644 maps.asm create mode 100644 pics.asm delete mode 100644 pokered.link create mode 100644 sprites.asm create mode 100644 tilesets.asm diff --git a/Makefile b/Makefile index 04a08e05..59e593e8 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,18 @@ roms := pokered.gbc pokeblue.gbc -pokered_obj := audio_red.o main_red.o text_red.o wram_red.o -pokeblue_obj := audio_blue.o main_blue.o text_blue.o wram_blue.o +rom_obj := \ +audio.o \ +home.o \ +main.o \ +maps.o \ +pics.o \ +sprites.o \ +text.o \ +tilesets.o \ +wram.o \ + +pokered_obj := $(rom_obj:.o=_red.o) +pokeblue_obj := $(rom_obj:.o=_blue.o) ### Build tools @@ -65,7 +76,7 @@ pokered_opt = -jsv -k 01 -l 0x33 -m 0x13 -p 0 -r 03 -t "POKEMON RED" pokeblue_opt = -jsv -k 01 -l 0x33 -m 0x13 -p 0 -r 03 -t "POKEMON BLUE" %.gbc: $$(%_obj) - $(RGBLINK) -d -n $*.sym -l pokered.link -o $@ $^ + $(RGBLINK) -d -n $*.sym -l layout.link -o $@ $^ $(RGBFIX) $($*_opt) $@ sort $*.sym -o $*.sym diff --git a/audio.asm b/audio.asm index 70d81649..9675c98a 100644 --- a/audio.asm +++ b/audio.asm @@ -1,27 +1,27 @@ INCLUDE "constants.asm" -SECTION "Sound Effect Headers 1", ROMX ; BANK $02 +SECTION "Sound Effect Headers 1", ROMX INCLUDE "audio/headers/sfxheaders1.asm" -SECTION "Sound Effect Headers 2", ROMX ; BANK $08 +SECTION "Sound Effect Headers 2", ROMX INCLUDE "audio/headers/sfxheaders2.asm" -SECTION "Sound Effect Headers 3", ROMX ; BANK $1f +SECTION "Sound Effect Headers 3", ROMX INCLUDE "audio/headers/sfxheaders3.asm" -SECTION "Music Headers 1", ROMX ; BANK $02 +SECTION "Music Headers 1", ROMX INCLUDE "audio/headers/musicheaders1.asm" -SECTION "Music Headers 2", ROMX ; BANK $08 +SECTION "Music Headers 2", ROMX INCLUDE "audio/headers/musicheaders2.asm" -SECTION "Music Headers 3", ROMX ; BANK $1f +SECTION "Music Headers 3", ROMX INCLUDE "audio/headers/musicheaders3.asm" -SECTION "Sound Effects 1", ROMX ; BANK $02 +SECTION "Sound Effects 1", ROMX INCLUDE "audio/sfx/noise_instrument01_1.asm" INCLUDE "audio/sfx/noise_instrument02_1.asm" @@ -120,7 +120,7 @@ INCLUDE "audio/sfx/cry21_1.asm" INCLUDE "audio/sfx/cry22_1.asm" -SECTION "Sound Effects 2", ROMX ; BANK $08 +SECTION "Sound Effects 2", ROMX INCLUDE "audio/sfx/noise_instrument01_2.asm" INCLUDE "audio/sfx/noise_instrument02_2.asm" @@ -245,7 +245,7 @@ INCLUDE "audio/sfx/cry21_2.asm" INCLUDE "audio/sfx/cry22_2.asm" -SECTION "Sound Effects 3", ROMX ; BANK $1f +SECTION "Sound Effects 3", ROMX INCLUDE "audio/sfx/noise_instrument01_3.asm" INCLUDE "audio/sfx/noise_instrument02_3.asm" @@ -353,7 +353,7 @@ INCLUDE "audio/sfx/cry22_3.asm" -SECTION "Audio Engine 1", ROMX ; BANK $02 +SECTION "Audio Engine 1", ROMX PlayBattleMusic:: xor a @@ -446,7 +446,7 @@ Music_Cities1AlternateTempo:: jp Audio1_OverwriteChannelPointer -SECTION "Audio Engine 2", ROMX ; BANK $08 +SECTION "Audio Engine 2", ROMX Music_DoLowHealthAlarm:: ld a, [wLowHealthAlarm] @@ -550,7 +550,7 @@ Audio2_OverwriteChannelPointer: ret -SECTION "Audio Engine 3", ROMX ; BANK $1f +SECTION "Audio Engine 3", ROMX PlayPokedexRatingSfx:: ld a, [$ffdc] @@ -594,7 +594,7 @@ INCLUDE "audio/engine_3.asm" -SECTION "Music 1", ROMX ; BANK $02 +SECTION "Music 1", ROMX INCLUDE "audio/music/pkmnhealed.asm" INCLUDE "audio/music/routes1.asm" @@ -623,7 +623,7 @@ INCLUDE "audio/music/gym.asm" INCLUDE "audio/music/pokecenter.asm" -SECTION "Music 2", ROMX ; BANK $08 +SECTION "Music 2", ROMX INCLUDE "audio/sfx/pokeflute_ch5_ch6.asm" INCLUDE "audio/sfx/unused2_2.asm" @@ -639,7 +639,7 @@ INCLUDE "audio/music/defeatedwildmon.asm" INCLUDE "audio/music/defeatedgymleader.asm" -SECTION "Music 3", ROMX ; BANK $1f +SECTION "Music 3", ROMX INCLUDE "audio/music/bikeriding.asm" INCLUDE "audio/music/dungeon1.asm" diff --git a/data/baseStats/bulbasaur.asm b/data/baseStats/bulbasaur.asm index 7b3567b5..32650d06 100644 --- a/data/baseStats/bulbasaur.asm +++ b/data/baseStats/bulbasaur.asm @@ -1,4 +1,3 @@ -MonBaseStats: db DEX_BULBASAUR ; pokedex id db 45 ; base hp db 49 ; base attack @@ -27,4 +26,3 @@ db 3 ; growth rate tmlearn 44 tmlearn 50,51 db 0 ; padding -MonBaseStatsEnd: diff --git a/data/baseStats/mew.asm b/data/baseStats/mew.asm index 6919fd0e..046b4d86 100644 --- a/data/baseStats/mew.asm +++ b/data/baseStats/mew.asm @@ -1,4 +1,4 @@ -MewBaseStats: +MewBaseStats:: db DEX_MEW ; pokedex id db 100 ; base hp db 100 ; base attack diff --git a/data/base_stats.asm b/data/base_stats.asm index a84693a4..7aa36735 100755 --- a/data/base_stats.asm +++ b/data/base_stats.asm @@ -1,4 +1,7 @@ +BaseStats:: +MonBaseStats:: INCLUDE "data/baseStats/bulbasaur.asm" +MonBaseStatsEnd:: INCLUDE "data/baseStats/ivysaur.asm" INCLUDE "data/baseStats/venusaur.asm" INCLUDE "data/baseStats/charmander.asm" diff --git a/data/cries.asm b/data/cries.asm index 7031536e..1fc9960f 100755 --- a/data/cries.asm +++ b/data/cries.asm @@ -1,4 +1,4 @@ -CryData: +CryData:: ;$BaseCry, $Pitch, $Length db $11, $00, $80; Rhydon db $03, $00, $80; Kangaskhan diff --git a/data/item_prices.asm b/data/item_prices.asm index 15a1bd34..f3d8f76b 100755 --- a/data/item_prices.asm +++ b/data/item_prices.asm @@ -1,4 +1,4 @@ -ItemPrices: +ItemPrices:: money 0 ; MASTER_BALL money 1200 ; ULTRA_BALL money 600 ; GREAT_BALL diff --git a/data/mapHeaders/AgathasRoom.asm b/data/mapHeaders/AgathasRoom.asm index 73cd7291..6e31225c 100755 --- a/data/mapHeaders/AgathasRoom.asm +++ b/data/mapHeaders/AgathasRoom.asm @@ -1,4 +1,4 @@ -AgathasRoom_h: +AgathasRoom_h:: db CEMETERY ; tileset db AGATHAS_ROOM_HEIGHT, AGATHAS_ROOM_WIDTH ; dimensions (y, x) dw AgathasRoom_Blocks ; blocks diff --git a/data/mapHeaders/BikeShop.asm b/data/mapHeaders/BikeShop.asm index c447fd80..ea6f8d60 100755 --- a/data/mapHeaders/BikeShop.asm +++ b/data/mapHeaders/BikeShop.asm @@ -1,4 +1,4 @@ -BikeShop_h: +BikeShop_h:: db CLUB ; tileset db BIKE_SHOP_HEIGHT, BIKE_SHOP_WIDTH ; dimensions (y, x) dw BikeShop_Blocks ; blocks diff --git a/data/mapHeaders/BillsHouse.asm b/data/mapHeaders/BillsHouse.asm index bba9cf83..e58cbd5b 100755 --- a/data/mapHeaders/BillsHouse.asm +++ b/data/mapHeaders/BillsHouse.asm @@ -1,4 +1,4 @@ -BillsHouse_h: +BillsHouse_h:: db INTERIOR ; tileset db BILLS_HOUSE_HEIGHT, BILLS_HOUSE_WIDTH ; dimensions (y, x) dw BillsHouse_Blocks ; blocks diff --git a/data/mapHeaders/BluesHouse.asm b/data/mapHeaders/BluesHouse.asm index 6ef0433e..bc9ed3de 100755 --- a/data/mapHeaders/BluesHouse.asm +++ b/data/mapHeaders/BluesHouse.asm @@ -1,4 +1,4 @@ -BluesHouse_h: +BluesHouse_h:: db HOUSE ; tileset db BLUES_HOUSE_HEIGHT, BLUES_HOUSE_WIDTH ; dimensions (y, x) dw BluesHouse_Blocks ; blocks diff --git a/data/mapHeaders/BrunosRoom.asm b/data/mapHeaders/BrunosRoom.asm index 78c7989d..03398603 100755 --- a/data/mapHeaders/BrunosRoom.asm +++ b/data/mapHeaders/BrunosRoom.asm @@ -1,4 +1,4 @@ -BrunosRoom_h: +BrunosRoom_h:: db GYM ; tileset db BRUNOS_ROOM_HEIGHT, BRUNOS_ROOM_WIDTH ; dimensions (y, x) dw BrunosRoom_Blocks ; blocks diff --git a/data/mapHeaders/CeladonChiefHouse.asm b/data/mapHeaders/CeladonChiefHouse.asm index a31c8121..e29f722f 100755 --- a/data/mapHeaders/CeladonChiefHouse.asm +++ b/data/mapHeaders/CeladonChiefHouse.asm @@ -1,4 +1,4 @@ -CeladonChiefHouse_h: +CeladonChiefHouse_h:: db MANSION ; tileset db CELADON_CHIEF_HOUSE_HEIGHT, CELADON_CHIEF_HOUSE_WIDTH ; dimensions (y, x) dw CeladonChiefHouse_Blocks ; blocks diff --git a/data/mapHeaders/CeladonCity.asm b/data/mapHeaders/CeladonCity.asm index 62243d27..f2ce1831 100755 --- a/data/mapHeaders/CeladonCity.asm +++ b/data/mapHeaders/CeladonCity.asm @@ -1,4 +1,4 @@ -CeladonCity_h: +CeladonCity_h:: db OVERWORLD ; tileset db CELADON_CITY_HEIGHT, CELADON_CITY_WIDTH ; dimensions (y, x) dw CeladonCity_Blocks ; blocks diff --git a/data/mapHeaders/CeladonDiner.asm b/data/mapHeaders/CeladonDiner.asm index d4220db7..14501d83 100755 --- a/data/mapHeaders/CeladonDiner.asm +++ b/data/mapHeaders/CeladonDiner.asm @@ -1,4 +1,4 @@ -CeladonDiner_h: +CeladonDiner_h:: db LOBBY ; tileset db CELADON_DINER_HEIGHT, CELADON_DINER_WIDTH ; dimensions (y, x) dw CeladonDiner_Blocks ; blocks diff --git a/data/mapHeaders/CeladonGym.asm b/data/mapHeaders/CeladonGym.asm index 04a9427c..b64c5e19 100755 --- a/data/mapHeaders/CeladonGym.asm +++ b/data/mapHeaders/CeladonGym.asm @@ -1,4 +1,4 @@ -CeladonGym_h: +CeladonGym_h:: db GYM ; tileset db CELADON_GYM_HEIGHT, CELADON_GYM_WIDTH ; dimensions (y, x) dw CeladonGym_Blocks ; blocks diff --git a/data/mapHeaders/CeladonHotel.asm b/data/mapHeaders/CeladonHotel.asm index e06c2fd3..ecc943c2 100755 --- a/data/mapHeaders/CeladonHotel.asm +++ b/data/mapHeaders/CeladonHotel.asm @@ -1,4 +1,4 @@ -CeladonHotel_h: +CeladonHotel_h:: db POKECENTER ; tileset db CELADON_HOTEL_HEIGHT, CELADON_HOTEL_WIDTH ; dimensions (y, x) dw CeladonHotel_Blocks ; blocks diff --git a/data/mapHeaders/CeladonMansion1F.asm b/data/mapHeaders/CeladonMansion1F.asm index d2d0ee99..b13f76a7 100755 --- a/data/mapHeaders/CeladonMansion1F.asm +++ b/data/mapHeaders/CeladonMansion1F.asm @@ -1,4 +1,4 @@ -CeladonMansion1F_h: +CeladonMansion1F_h:: db MANSION ; tileset db CELADON_MANSION_1F_HEIGHT, CELADON_MANSION_1F_WIDTH ; dimensions (y, x) dw CeladonMansion1F_Blocks ; blocks diff --git a/data/mapHeaders/CeladonMansion2F.asm b/data/mapHeaders/CeladonMansion2F.asm index eceac30e..33493510 100755 --- a/data/mapHeaders/CeladonMansion2F.asm +++ b/data/mapHeaders/CeladonMansion2F.asm @@ -1,4 +1,4 @@ -CeladonMansion2F_h: +CeladonMansion2F_h:: db MANSION ; tileset db CELADON_MANSION_2F_HEIGHT, CELADON_MANSION_2F_WIDTH ; dimensions (y, x) dw CeladonMansion2F_Blocks ; blocks diff --git a/data/mapHeaders/CeladonMansion3F.asm b/data/mapHeaders/CeladonMansion3F.asm index b5a0a705..89d0cfe6 100755 --- a/data/mapHeaders/CeladonMansion3F.asm +++ b/data/mapHeaders/CeladonMansion3F.asm @@ -1,4 +1,4 @@ -CeladonMansion3F_h: +CeladonMansion3F_h:: db MANSION ; tileset db CELADON_MANSION_3F_HEIGHT, CELADON_MANSION_3F_WIDTH ; dimensions (y, x) dw CeladonMansion3F_Blocks ; blocks diff --git a/data/mapHeaders/CeladonMansionRoof.asm b/data/mapHeaders/CeladonMansionRoof.asm index d7a050c8..7f7fa4ac 100755 --- a/data/mapHeaders/CeladonMansionRoof.asm +++ b/data/mapHeaders/CeladonMansionRoof.asm @@ -1,4 +1,4 @@ -CeladonMansionRoof_h: +CeladonMansionRoof_h:: db MANSION ; tileset db CELADON_MANSION_ROOF_HEIGHT, CELADON_MANSION_ROOF_WIDTH ; dimensions (y, x) dw CeladonMansionRoof_Blocks ; blocks diff --git a/data/mapHeaders/CeladonMansionRoofHouse.asm b/data/mapHeaders/CeladonMansionRoofHouse.asm index 7fcf49e1..de6771b7 100755 --- a/data/mapHeaders/CeladonMansionRoofHouse.asm +++ b/data/mapHeaders/CeladonMansionRoofHouse.asm @@ -1,4 +1,4 @@ -CeladonMansionRoofHouse_h: +CeladonMansionRoofHouse_h:: db HOUSE ; tileset db CELADON_MANSION_ROOF_HOUSE_HEIGHT, CELADON_MANSION_ROOF_HOUSE_WIDTH ; dimensions (y, x) dw CeladonMansionRoofHouse_Blocks ; blocks diff --git a/data/mapHeaders/CeladonMart1F.asm b/data/mapHeaders/CeladonMart1F.asm index 51e968fa..d392f8a7 100755 --- a/data/mapHeaders/CeladonMart1F.asm +++ b/data/mapHeaders/CeladonMart1F.asm @@ -1,4 +1,4 @@ -CeladonMart1F_h: +CeladonMart1F_h:: db LOBBY ; tileset db CELADON_MART_1F_HEIGHT, CELADON_MART_1F_WIDTH ; dimensions (y, x) dw CeladonMart1F_Blocks ; blocks diff --git a/data/mapHeaders/CeladonMart2F.asm b/data/mapHeaders/CeladonMart2F.asm index 77106405..ff39a08c 100755 --- a/data/mapHeaders/CeladonMart2F.asm +++ b/data/mapHeaders/CeladonMart2F.asm @@ -1,4 +1,4 @@ -CeladonMart2F_h: +CeladonMart2F_h:: db LOBBY ; tileset db CELADON_MART_2F_HEIGHT, CELADON_MART_2F_WIDTH ; dimensions (y, x) dw CeladonMart2F_Blocks ; blocks diff --git a/data/mapHeaders/CeladonMart3F.asm b/data/mapHeaders/CeladonMart3F.asm index c460945c..2bdd384f 100755 --- a/data/mapHeaders/CeladonMart3F.asm +++ b/data/mapHeaders/CeladonMart3F.asm @@ -1,4 +1,4 @@ -CeladonMart3F_h: +CeladonMart3F_h:: db LOBBY ; tileset db CELADON_MART_3F_HEIGHT, CELADON_MART_3F_WIDTH ; dimensions (y, x) dw CeladonMart3F_Blocks ; blocks diff --git a/data/mapHeaders/CeladonMart4F.asm b/data/mapHeaders/CeladonMart4F.asm index a742570b..d03bde7a 100755 --- a/data/mapHeaders/CeladonMart4F.asm +++ b/data/mapHeaders/CeladonMart4F.asm @@ -1,4 +1,4 @@ -CeladonMart4F_h: +CeladonMart4F_h:: db LOBBY ; tileset db CELADON_MART_4F_HEIGHT, CELADON_MART_4F_WIDTH ; dimensions (y, x) dw CeladonMart4F_Blocks ; blocks diff --git a/data/mapHeaders/CeladonMart5F.asm b/data/mapHeaders/CeladonMart5F.asm index 4b5223e0..e0f9c436 100755 --- a/data/mapHeaders/CeladonMart5F.asm +++ b/data/mapHeaders/CeladonMart5F.asm @@ -1,4 +1,4 @@ -CeladonMart5F_h: +CeladonMart5F_h:: db LOBBY ; tileset db CELADON_MART_5F_HEIGHT, CELADON_MART_5F_WIDTH ; dimensions (y, x) dw CeladonMart5F_Blocks ; blocks diff --git a/data/mapHeaders/CeladonMartElevator.asm b/data/mapHeaders/CeladonMartElevator.asm index 06e87608..391f65fd 100755 --- a/data/mapHeaders/CeladonMartElevator.asm +++ b/data/mapHeaders/CeladonMartElevator.asm @@ -1,4 +1,4 @@ -CeladonMartElevator_h: +CeladonMartElevator_h:: db LOBBY ; tileset db CELADON_MART_ELEVATOR_HEIGHT, CELADON_MART_ELEVATOR_WIDTH ; dimensions (y, x) dw CeladonMartElevator_Blocks ; blocks diff --git a/data/mapHeaders/CeladonMartRoof.asm b/data/mapHeaders/CeladonMartRoof.asm index 163e25ed..38f863f1 100755 --- a/data/mapHeaders/CeladonMartRoof.asm +++ b/data/mapHeaders/CeladonMartRoof.asm @@ -1,4 +1,4 @@ -CeladonMartRoof_h: +CeladonMartRoof_h:: db LOBBY ; tileset db CELADON_MART_ROOF_HEIGHT, CELADON_MART_ROOF_WIDTH ; dimensions (y, x) dw CeladonMartRoof_Blocks ; blocks diff --git a/data/mapHeaders/CeladonPokecenter.asm b/data/mapHeaders/CeladonPokecenter.asm index b5d9bd73..5b945d50 100755 --- a/data/mapHeaders/CeladonPokecenter.asm +++ b/data/mapHeaders/CeladonPokecenter.asm @@ -1,4 +1,4 @@ -CeladonPokecenter_h: +CeladonPokecenter_h:: db POKECENTER ; tileset db CELADON_POKECENTER_HEIGHT, CELADON_POKECENTER_WIDTH ; dimensions (y, x) dw CeladonPokecenter_Blocks ; blocks diff --git a/data/mapHeaders/CeruleanBadgeHouse.asm b/data/mapHeaders/CeruleanBadgeHouse.asm index a94f1912..eaf77bb7 100755 --- a/data/mapHeaders/CeruleanBadgeHouse.asm +++ b/data/mapHeaders/CeruleanBadgeHouse.asm @@ -1,4 +1,4 @@ -CeruleanBadgeHouse_h: +CeruleanBadgeHouse_h:: db SHIP ; tileset db CERULEAN_BADGE_HOUSE_HEIGHT, CERULEAN_BADGE_HOUSE_WIDTH ; dimensions (y, x) dw CeruleanBadgeHouse_Blocks ; blocks diff --git a/data/mapHeaders/CeruleanCave1F.asm b/data/mapHeaders/CeruleanCave1F.asm index 932dfb48..0ab0ecf0 100755 --- a/data/mapHeaders/CeruleanCave1F.asm +++ b/data/mapHeaders/CeruleanCave1F.asm @@ -1,4 +1,4 @@ -CeruleanCave1F_h: +CeruleanCave1F_h:: db CAVERN ; tileset db CERULEAN_CAVE_1F_HEIGHT, CERULEAN_CAVE_1F_WIDTH ; dimensions (y, x) dw CeruleanCave1F_Blocks ; blocks diff --git a/data/mapHeaders/CeruleanCave2F.asm b/data/mapHeaders/CeruleanCave2F.asm index 7cf82371..4002e73a 100755 --- a/data/mapHeaders/CeruleanCave2F.asm +++ b/data/mapHeaders/CeruleanCave2F.asm @@ -1,4 +1,4 @@ -CeruleanCave2F_h: +CeruleanCave2F_h:: db CAVERN ; tileset db CERULEAN_CAVE_2F_HEIGHT, CERULEAN_CAVE_2F_WIDTH ; dimensions (y, x) dw CeruleanCave2F_Blocks ; blocks diff --git a/data/mapHeaders/CeruleanCaveB1F.asm b/data/mapHeaders/CeruleanCaveB1F.asm index eb940faa..e3e9980f 100755 --- a/data/mapHeaders/CeruleanCaveB1F.asm +++ b/data/mapHeaders/CeruleanCaveB1F.asm @@ -1,4 +1,4 @@ -CeruleanCaveB1F_h: +CeruleanCaveB1F_h:: db CAVERN ; tileset db CERULEAN_CAVE_B1F_HEIGHT, CERULEAN_CAVE_B1F_WIDTH ; dimensions (y, x) dw CeruleanCaveB1F_Blocks ; blocks diff --git a/data/mapHeaders/CeruleanCity.asm b/data/mapHeaders/CeruleanCity.asm index cd5444ab..23206c0a 100755 --- a/data/mapHeaders/CeruleanCity.asm +++ b/data/mapHeaders/CeruleanCity.asm @@ -1,4 +1,4 @@ -CeruleanCity_h: +CeruleanCity_h:: db OVERWORLD ; tileset db CERULEAN_CITY_HEIGHT, CERULEAN_CITY_WIDTH ; dimensions (y, x) dw CeruleanCity_Blocks ; blocks diff --git a/data/mapHeaders/CeruleanGym.asm b/data/mapHeaders/CeruleanGym.asm index 3bdb0283..32bb563f 100755 --- a/data/mapHeaders/CeruleanGym.asm +++ b/data/mapHeaders/CeruleanGym.asm @@ -1,4 +1,4 @@ -CeruleanGym_h: +CeruleanGym_h:: db GYM ; tileset db CERULEAN_GYM_HEIGHT, CERULEAN_GYM_WIDTH ; dimensions (y, x) dw CeruleanGym_Blocks ; blocks diff --git a/data/mapHeaders/CeruleanMart.asm b/data/mapHeaders/CeruleanMart.asm index f020d4a3..106b664c 100755 --- a/data/mapHeaders/CeruleanMart.asm +++ b/data/mapHeaders/CeruleanMart.asm @@ -1,4 +1,4 @@ -CeruleanMart_h: +CeruleanMart_h:: db MART ; tileset db CERULEAN_MART_HEIGHT, CERULEAN_MART_WIDTH ; dimensions (y, x) dw CeruleanMart_Blocks ; blocks diff --git a/data/mapHeaders/CeruleanPokecenter.asm b/data/mapHeaders/CeruleanPokecenter.asm index 3286acbb..d81c0183 100755 --- a/data/mapHeaders/CeruleanPokecenter.asm +++ b/data/mapHeaders/CeruleanPokecenter.asm @@ -1,4 +1,4 @@ -CeruleanPokecenter_h: +CeruleanPokecenter_h:: db POKECENTER ; tileset db CERULEAN_POKECENTER_HEIGHT, CERULEAN_POKECENTER_WIDTH ; dimensions (y, x) dw CeruleanPokecenter_Blocks ; blocks diff --git a/data/mapHeaders/CeruleanTradeHouse.asm b/data/mapHeaders/CeruleanTradeHouse.asm index 23c5062c..171586fa 100755 --- a/data/mapHeaders/CeruleanTradeHouse.asm +++ b/data/mapHeaders/CeruleanTradeHouse.asm @@ -1,4 +1,4 @@ -CeruleanTradeHouse_h: +CeruleanTradeHouse_h:: db HOUSE ; tileset db CERULEAN_TRADE_HOUSE_HEIGHT, CERULEAN_TRADE_HOUSE_WIDTH ; dimensions (y, x) dw CeruleanTradeHouse_Blocks ; blocks diff --git a/data/mapHeaders/CeruleanTrashedHouse.asm b/data/mapHeaders/CeruleanTrashedHouse.asm index e105b1ed..b9d53cdb 100755 --- a/data/mapHeaders/CeruleanTrashedHouse.asm +++ b/data/mapHeaders/CeruleanTrashedHouse.asm @@ -1,4 +1,4 @@ -CeruleanTrashedHouse_h: +CeruleanTrashedHouse_h:: db HOUSE ; tileset db CERULEAN_TRASHED_HOUSE_HEIGHT, CERULEAN_TRASHED_HOUSE_WIDTH ; dimensions (y, x) dw CeruleanTrashedHouse_Blocks ; blocks diff --git a/data/mapHeaders/ChampionsRoom.asm b/data/mapHeaders/ChampionsRoom.asm index a22b236a..c6794804 100755 --- a/data/mapHeaders/ChampionsRoom.asm +++ b/data/mapHeaders/ChampionsRoom.asm @@ -1,4 +1,4 @@ -ChampionsRoom_h: +ChampionsRoom_h:: db GYM ; tileset db CHAMPIONS_ROOM_HEIGHT, CHAMPIONS_ROOM_WIDTH ; dimensions (y, x) dw ChampionsRoom_Blocks ; blocks diff --git a/data/mapHeaders/CinnabarGym.asm b/data/mapHeaders/CinnabarGym.asm index e871b8f3..96154af7 100755 --- a/data/mapHeaders/CinnabarGym.asm +++ b/data/mapHeaders/CinnabarGym.asm @@ -1,4 +1,4 @@ -CinnabarGym_h: +CinnabarGym_h:: db FACILITY ; tileset db CINNABAR_GYM_HEIGHT, CINNABAR_GYM_WIDTH ; dimensions (y, x) dw CinnabarGym_Blocks ; blocks diff --git a/data/mapHeaders/CinnabarIsland.asm b/data/mapHeaders/CinnabarIsland.asm index b8c5d7d4..3489fe3c 100755 --- a/data/mapHeaders/CinnabarIsland.asm +++ b/data/mapHeaders/CinnabarIsland.asm @@ -1,4 +1,4 @@ -CinnabarIsland_h: +CinnabarIsland_h:: db OVERWORLD ; tileset db CINNABAR_ISLAND_HEIGHT, CINNABAR_ISLAND_WIDTH ; dimensions (y, x) dw CinnabarIsland_Blocks ; blocks diff --git a/data/mapHeaders/CinnabarLab.asm b/data/mapHeaders/CinnabarLab.asm index c1167960..ffa3a037 100755 --- a/data/mapHeaders/CinnabarLab.asm +++ b/data/mapHeaders/CinnabarLab.asm @@ -1,4 +1,4 @@ -CinnabarLab_h: +CinnabarLab_h:: db LAB ; tileset db CINNABAR_LAB_HEIGHT, CINNABAR_LAB_WIDTH ; dimensions (y, x) dw CinnabarLab_Blocks ; blocks diff --git a/data/mapHeaders/CinnabarLabFossilRoom.asm b/data/mapHeaders/CinnabarLabFossilRoom.asm index 4ac2963b..8e833f70 100755 --- a/data/mapHeaders/CinnabarLabFossilRoom.asm +++ b/data/mapHeaders/CinnabarLabFossilRoom.asm @@ -1,4 +1,4 @@ -CinnabarLabFossilRoom_h: +CinnabarLabFossilRoom_h:: db LAB ; tileset db CINNABAR_LAB_FOSSIL_ROOM_HEIGHT, CINNABAR_LAB_FOSSIL_ROOM_WIDTH ; dimensions (y, x) dw CinnabarLabFossilRoom_Blocks ; blocks diff --git a/data/mapHeaders/CinnabarLabMetronomeRoom.asm b/data/mapHeaders/CinnabarLabMetronomeRoom.asm index 8eb9e502..35169504 100755 --- a/data/mapHeaders/CinnabarLabMetronomeRoom.asm +++ b/data/mapHeaders/CinnabarLabMetronomeRoom.asm @@ -1,4 +1,4 @@ -CinnabarLabMetronomeRoom_h: +CinnabarLabMetronomeRoom_h:: db LAB ; tileset db CINNABAR_LAB_METRONOME_ROOM_HEIGHT, CINNABAR_LAB_METRONOME_ROOM_WIDTH ; dimensions (y, x) dw CinnabarLabMetronomeRoom_Blocks ; blocks diff --git a/data/mapHeaders/CinnabarLabTradeRoom.asm b/data/mapHeaders/CinnabarLabTradeRoom.asm index 1e0ffd0e..a18e6eed 100755 --- a/data/mapHeaders/CinnabarLabTradeRoom.asm +++ b/data/mapHeaders/CinnabarLabTradeRoom.asm @@ -1,4 +1,4 @@ -CinnabarLabTradeRoom_h: +CinnabarLabTradeRoom_h:: db LAB ; tileset db CINNABAR_LAB_TRADE_ROOM_HEIGHT, CINNABAR_LAB_TRADE_ROOM_WIDTH ; dimensions (y, x) dw CinnabarLabTradeRoom_Blocks ; blocks diff --git a/data/mapHeaders/CinnabarMart.asm b/data/mapHeaders/CinnabarMart.asm index 5833b2ef..aac1c69f 100755 --- a/data/mapHeaders/CinnabarMart.asm +++ b/data/mapHeaders/CinnabarMart.asm @@ -1,4 +1,4 @@ -CinnabarMart_h: +CinnabarMart_h:: db MART ; tileset db CINNABAR_MART_HEIGHT, CINNABAR_MART_WIDTH ; dimensions (y, x) dw CinnabarMart_Blocks ; blocks diff --git a/data/mapHeaders/CinnabarPokecenter.asm b/data/mapHeaders/CinnabarPokecenter.asm index 9c54b9b9..d9ade14c 100755 --- a/data/mapHeaders/CinnabarPokecenter.asm +++ b/data/mapHeaders/CinnabarPokecenter.asm @@ -1,4 +1,4 @@ -CinnabarPokecenter_h: +CinnabarPokecenter_h:: db POKECENTER ; tileset db CINNABAR_POKECENTER_HEIGHT, CINNABAR_POKECENTER_WIDTH ; dimensions (y, x) dw CinnabarPokecenter_Blocks ; blocks diff --git a/data/mapHeaders/Colosseum.asm b/data/mapHeaders/Colosseum.asm index 9b106204..3375e0f1 100755 --- a/data/mapHeaders/Colosseum.asm +++ b/data/mapHeaders/Colosseum.asm @@ -1,4 +1,4 @@ -Colosseum_h: +Colosseum_h:: db CLUB ; tileset db COLOSSEUM_HEIGHT, COLOSSEUM_WIDTH ; dimensions (y, x) dw Colosseum_Blocks ; blocks diff --git a/data/mapHeaders/CopycatsHouse1F.asm b/data/mapHeaders/CopycatsHouse1F.asm index f3cfc261..b68728ae 100755 --- a/data/mapHeaders/CopycatsHouse1F.asm +++ b/data/mapHeaders/CopycatsHouse1F.asm @@ -1,4 +1,4 @@ -CopycatsHouse1F_h: +CopycatsHouse1F_h:: db REDS_HOUSE_1 ; tileset db COPYCATS_HOUSE_1F_HEIGHT, COPYCATS_HOUSE_1F_WIDTH ; dimensions (y, x) dw CopycatsHouse1F_Blocks ; blocks diff --git a/data/mapHeaders/CopycatsHouse2F.asm b/data/mapHeaders/CopycatsHouse2F.asm index 453ba455..1c7d9af9 100755 --- a/data/mapHeaders/CopycatsHouse2F.asm +++ b/data/mapHeaders/CopycatsHouse2F.asm @@ -1,4 +1,4 @@ -CopycatsHouse2F_h: +CopycatsHouse2F_h:: db REDS_HOUSE_2 ; tileset db COPYCATS_HOUSE_2F_HEIGHT, COPYCATS_HOUSE_2F_WIDTH ; dimensions (y, x) dw CopycatsHouse2F_Blocks ; blocks diff --git a/data/mapHeaders/Daycare.asm b/data/mapHeaders/Daycare.asm index 2fb7a771..4f2e41e7 100755 --- a/data/mapHeaders/Daycare.asm +++ b/data/mapHeaders/Daycare.asm @@ -1,4 +1,4 @@ -Daycare_h: +Daycare_h:: db HOUSE ; tileset db DAYCARE_HEIGHT, DAYCARE_WIDTH ; dimensions (y, x) dw Daycare_Blocks ; blocks diff --git a/data/mapHeaders/DiglettsCave.asm b/data/mapHeaders/DiglettsCave.asm index 096019de..9742d306 100755 --- a/data/mapHeaders/DiglettsCave.asm +++ b/data/mapHeaders/DiglettsCave.asm @@ -1,4 +1,4 @@ -DiglettsCave_h: +DiglettsCave_h:: db CAVERN ; tileset db DIGLETTS_CAVE_HEIGHT, DIGLETTS_CAVE_WIDTH ; dimensions (y, x) dw DiglettsCave_Blocks ; blocks diff --git a/data/mapHeaders/DiglettsCaveRoute11.asm b/data/mapHeaders/DiglettsCaveRoute11.asm index 363859b2..ac9082ed 100755 --- a/data/mapHeaders/DiglettsCaveRoute11.asm +++ b/data/mapHeaders/DiglettsCaveRoute11.asm @@ -1,4 +1,4 @@ -DiglettsCaveRoute11_h: +DiglettsCaveRoute11_h:: db CAVERN ; tileset db DIGLETTS_CAVE_ROUTE_11_HEIGHT, DIGLETTS_CAVE_ROUTE_11_WIDTH ; dimensions (y, x) dw DiglettsCaveRoute11_Blocks ; blocks diff --git a/data/mapHeaders/DiglettsCaveRoute2.asm b/data/mapHeaders/DiglettsCaveRoute2.asm index c977415b..1279e89f 100755 --- a/data/mapHeaders/DiglettsCaveRoute2.asm +++ b/data/mapHeaders/DiglettsCaveRoute2.asm @@ -1,4 +1,4 @@ -DiglettsCaveRoute2_h: +DiglettsCaveRoute2_h:: db CAVERN ; tileset db DIGLETTS_CAVE_ROUTE_2_HEIGHT, DIGLETTS_CAVE_ROUTE_2_WIDTH ; dimensions (y, x) dw DiglettsCaveRoute2_Blocks ; blocks diff --git a/data/mapHeaders/FightingDojo.asm b/data/mapHeaders/FightingDojo.asm index 5c802843..da8a589a 100755 --- a/data/mapHeaders/FightingDojo.asm +++ b/data/mapHeaders/FightingDojo.asm @@ -1,4 +1,4 @@ -FightingDojo_h: +FightingDojo_h:: db DOJO ; tileset db FIGHTING_DOJO_HEIGHT, FIGHTING_DOJO_WIDTH ; dimensions (y, x) dw FightingDojo_Blocks ; blocks diff --git a/data/mapHeaders/FuchsiaBillsGrandpasHouse.asm b/data/mapHeaders/FuchsiaBillsGrandpasHouse.asm index bc4fe8e6..cbef462c 100755 --- a/data/mapHeaders/FuchsiaBillsGrandpasHouse.asm +++ b/data/mapHeaders/FuchsiaBillsGrandpasHouse.asm @@ -1,4 +1,4 @@ -FuchsiaBillsGrandpasHouse_h: +FuchsiaBillsGrandpasHouse_h:: db HOUSE ; tileset db FUCHSIA_BILLS_GRANDPAS_HOUSE_HEIGHT, FUCHSIA_BILLS_GRANDPAS_HOUSE_WIDTH ; dimensions (y, x) dw FuchsiaBillsGrandpasHouse_Blocks ; blocks diff --git a/data/mapHeaders/FuchsiaCity.asm b/data/mapHeaders/FuchsiaCity.asm index 87398877..1b247678 100755 --- a/data/mapHeaders/FuchsiaCity.asm +++ b/data/mapHeaders/FuchsiaCity.asm @@ -1,4 +1,4 @@ -FuchsiaCity_h: +FuchsiaCity_h:: db OVERWORLD ; tileset db FUCHSIA_CITY_HEIGHT, FUCHSIA_CITY_WIDTH ; dimensions (y, x) dw FuchsiaCity_Blocks ; blocks diff --git a/data/mapHeaders/FuchsiaGoodRodHouse.asm b/data/mapHeaders/FuchsiaGoodRodHouse.asm index 4871970e..fd2e36b4 100755 --- a/data/mapHeaders/FuchsiaGoodRodHouse.asm +++ b/data/mapHeaders/FuchsiaGoodRodHouse.asm @@ -1,4 +1,4 @@ -FuchsiaGoodRodHouse_h: +FuchsiaGoodRodHouse_h:: db SHIP ; tileset db FUCHSIA_GOOD_ROD_HOUSE_HEIGHT, FUCHSIA_GOOD_ROD_HOUSE_WIDTH ; dimensions (y, x) dw FuchsiaGoodRodHouse_Blocks ; blocks diff --git a/data/mapHeaders/FuchsiaGym.asm b/data/mapHeaders/FuchsiaGym.asm index 71ef5960..ffc5c0fe 100755 --- a/data/mapHeaders/FuchsiaGym.asm +++ b/data/mapHeaders/FuchsiaGym.asm @@ -1,4 +1,4 @@ -FuchsiaGym_h: +FuchsiaGym_h:: db GYM ; tileset db FUCHSIA_GYM_HEIGHT, FUCHSIA_GYM_WIDTH ; dimensions (y, x) dw FuchsiaGym_Blocks ; blocks diff --git a/data/mapHeaders/FuchsiaMart.asm b/data/mapHeaders/FuchsiaMart.asm index 7c1c34d2..b9c0d938 100755 --- a/data/mapHeaders/FuchsiaMart.asm +++ b/data/mapHeaders/FuchsiaMart.asm @@ -1,4 +1,4 @@ -FuchsiaMart_h: +FuchsiaMart_h:: db MART ; tileset db FUCHSIA_MART_HEIGHT, FUCHSIA_MART_WIDTH ; dimensions (y, x) dw FuchsiaMart_Blocks ; blocks diff --git a/data/mapHeaders/FuchsiaMeetingRoom.asm b/data/mapHeaders/FuchsiaMeetingRoom.asm index 8bc0cdbf..a3198eea 100755 --- a/data/mapHeaders/FuchsiaMeetingRoom.asm +++ b/data/mapHeaders/FuchsiaMeetingRoom.asm @@ -1,4 +1,4 @@ -FuchsiaMeetingRoom_h: +FuchsiaMeetingRoom_h:: db LAB ; tileset db FUCHSIA_MEETING_ROOM_HEIGHT, FUCHSIA_MEETING_ROOM_WIDTH ; dimensions (y, x) dw FuchsiaMeetingRoom_Blocks ; blocks diff --git a/data/mapHeaders/FuchsiaPokecenter.asm b/data/mapHeaders/FuchsiaPokecenter.asm index bf654ea6..beea4fc2 100755 --- a/data/mapHeaders/FuchsiaPokecenter.asm +++ b/data/mapHeaders/FuchsiaPokecenter.asm @@ -1,4 +1,4 @@ -FuchsiaPokecenter_h: +FuchsiaPokecenter_h:: db POKECENTER ; tileset db FUCHSIA_POKECENTER_HEIGHT, FUCHSIA_POKECENTER_WIDTH ; dimensions (y, x) dw FuchsiaPokecenter_Blocks ; blocks diff --git a/data/mapHeaders/GameCorner.asm b/data/mapHeaders/GameCorner.asm index c8b69724..6965e276 100755 --- a/data/mapHeaders/GameCorner.asm +++ b/data/mapHeaders/GameCorner.asm @@ -1,4 +1,4 @@ -GameCorner_h: +GameCorner_h:: db LOBBY ; tileset db GAME_CORNER_HEIGHT, GAME_CORNER_WIDTH ; dimensions (y, x) dw GameCorner_Blocks ; blocks diff --git a/data/mapHeaders/GameCornerPrizeRoom.asm b/data/mapHeaders/GameCornerPrizeRoom.asm index e43d2ec7..035f1112 100755 --- a/data/mapHeaders/GameCornerPrizeRoom.asm +++ b/data/mapHeaders/GameCornerPrizeRoom.asm @@ -1,4 +1,4 @@ -GameCornerPrizeRoom_h: +GameCornerPrizeRoom_h:: db LOBBY ; tileset db GAME_CORNER_PRIZE_ROOM_HEIGHT, GAME_CORNER_PRIZE_ROOM_WIDTH ; dimensions (y, x) dw GameCornerPrizeRoom_Blocks ; blocks diff --git a/data/mapHeaders/HallOfFame.asm b/data/mapHeaders/HallOfFame.asm index e7f7a982..7752ddb5 100755 --- a/data/mapHeaders/HallOfFame.asm +++ b/data/mapHeaders/HallOfFame.asm @@ -1,4 +1,4 @@ -HallOfFame_h: +HallOfFame_h:: db GYM ; tileset db HALL_OF_FAME_HEIGHT, HALL_OF_FAME_WIDTH ; dimensions (y, x) dw HallOfFame_Blocks ; blocks diff --git a/data/mapHeaders/IndigoPlateau.asm b/data/mapHeaders/IndigoPlateau.asm index ee8b2f0c..b5dcf3de 100755 --- a/data/mapHeaders/IndigoPlateau.asm +++ b/data/mapHeaders/IndigoPlateau.asm @@ -1,4 +1,4 @@ -IndigoPlateau_h: +IndigoPlateau_h:: db PLATEAU ; tileset db INDIGO_PLATEAU_HEIGHT, INDIGO_PLATEAU_WIDTH ; dimensions (y, x) dw IndigoPlateau_Blocks ; blocks diff --git a/data/mapHeaders/IndigoPlateauLobby.asm b/data/mapHeaders/IndigoPlateauLobby.asm index f099c87d..dc32f7d1 100755 --- a/data/mapHeaders/IndigoPlateauLobby.asm +++ b/data/mapHeaders/IndigoPlateauLobby.asm @@ -1,4 +1,4 @@ -IndigoPlateauLobby_h: +IndigoPlateauLobby_h:: db MART ; tileset db INDIGO_PLATEAU_LOBBY_HEIGHT, INDIGO_PLATEAU_LOBBY_WIDTH ; dimensions (y, x) dw IndigoPlateauLobby_Blocks ; blocks diff --git a/data/mapHeaders/LancesRoom.asm b/data/mapHeaders/LancesRoom.asm index a9cea4b6..5373f010 100755 --- a/data/mapHeaders/LancesRoom.asm +++ b/data/mapHeaders/LancesRoom.asm @@ -1,4 +1,4 @@ -LancesRoom_h: +LancesRoom_h:: db DOJO ; tileset db LANCES_ROOM_HEIGHT, LANCES_ROOM_WIDTH ; dimensions (y, x) dw LancesRoom_Blocks ; blocks diff --git a/data/mapHeaders/LavenderCuboneHouse.asm b/data/mapHeaders/LavenderCuboneHouse.asm index 06e9cb40..6d883655 100755 --- a/data/mapHeaders/LavenderCuboneHouse.asm +++ b/data/mapHeaders/LavenderCuboneHouse.asm @@ -1,4 +1,4 @@ -LavenderCuboneHouse_h: +LavenderCuboneHouse_h:: db HOUSE ; tileset db LAVENDER_CUBONE_HOUSE_HEIGHT, LAVENDER_CUBONE_HOUSE_WIDTH ; dimensions (y, x) dw LavenderCuboneHouse_Blocks ; blocks diff --git a/data/mapHeaders/LavenderMart.asm b/data/mapHeaders/LavenderMart.asm index c6869d3c..500287b4 100755 --- a/data/mapHeaders/LavenderMart.asm +++ b/data/mapHeaders/LavenderMart.asm @@ -1,4 +1,4 @@ -LavenderMart_h: +LavenderMart_h:: db MART ; tileset db LAVENDER_MART_HEIGHT, LAVENDER_MART_WIDTH ; dimensions (y, x) dw LavenderMart_Blocks ; blocks diff --git a/data/mapHeaders/LavenderPokecenter.asm b/data/mapHeaders/LavenderPokecenter.asm index 820e19cd..2c87b401 100755 --- a/data/mapHeaders/LavenderPokecenter.asm +++ b/data/mapHeaders/LavenderPokecenter.asm @@ -1,4 +1,4 @@ -LavenderPokecenter_h: +LavenderPokecenter_h:: db POKECENTER ; tileset db LAVENDER_POKECENTER_HEIGHT, LAVENDER_POKECENTER_WIDTH ; dimensions (y, x) dw LavenderPokecenter_Blocks ; blocks diff --git a/data/mapHeaders/LavenderTown.asm b/data/mapHeaders/LavenderTown.asm index 99c9515d..67a88189 100755 --- a/data/mapHeaders/LavenderTown.asm +++ b/data/mapHeaders/LavenderTown.asm @@ -1,4 +1,4 @@ -LavenderTown_h: +LavenderTown_h:: db OVERWORLD ; tileset db LAVENDER_TOWN_HEIGHT, LAVENDER_TOWN_WIDTH ; dimensions (y, x) dw LavenderTown_Blocks ; blocks diff --git a/data/mapHeaders/LoreleisRoom.asm b/data/mapHeaders/LoreleisRoom.asm index 216b6621..d580d9fe 100755 --- a/data/mapHeaders/LoreleisRoom.asm +++ b/data/mapHeaders/LoreleisRoom.asm @@ -1,4 +1,4 @@ -LoreleisRoom_h: +LoreleisRoom_h:: db GYM ; tileset db LORELEIS_ROOM_HEIGHT, LORELEIS_ROOM_WIDTH ; dimensions (y, x) dw LoreleisRoom_Blocks ; blocks diff --git a/data/mapHeaders/MrFujisHouse.asm b/data/mapHeaders/MrFujisHouse.asm index 4ae9c5b7..ee82e49c 100755 --- a/data/mapHeaders/MrFujisHouse.asm +++ b/data/mapHeaders/MrFujisHouse.asm @@ -1,4 +1,4 @@ -MrFujisHouse_h: +MrFujisHouse_h:: db HOUSE ; tileset db MR_FUJIS_HOUSE_HEIGHT, MR_FUJIS_HOUSE_WIDTH ; dimensions (y, x) dw MrFujisHouse_Blocks ; blocks diff --git a/data/mapHeaders/MrPsychicsHouse.asm b/data/mapHeaders/MrPsychicsHouse.asm index 5e4ce91b..ec559ec7 100755 --- a/data/mapHeaders/MrPsychicsHouse.asm +++ b/data/mapHeaders/MrPsychicsHouse.asm @@ -1,4 +1,4 @@ -MrPsychicsHouse_h: +MrPsychicsHouse_h:: db HOUSE ; tileset db MR_PSYCHICS_HOUSE_HEIGHT, MR_PSYCHICS_HOUSE_WIDTH ; dimensions (y, x) dw MrPsychicsHouse_Blocks ; blocks diff --git a/data/mapHeaders/MtMoon1F.asm b/data/mapHeaders/MtMoon1F.asm index 29ce5d6b..37c0ba59 100755 --- a/data/mapHeaders/MtMoon1F.asm +++ b/data/mapHeaders/MtMoon1F.asm @@ -1,4 +1,4 @@ -MtMoon1F_h: +MtMoon1F_h:: db CAVERN ; tileset db MT_MOON_1F_HEIGHT, MT_MOON_1F_WIDTH ; dimensions (y, x) dw MtMoon1F_Blocks ; blocks diff --git a/data/mapHeaders/MtMoonB1F.asm b/data/mapHeaders/MtMoonB1F.asm index 7ebc3dab..c14d35d0 100755 --- a/data/mapHeaders/MtMoonB1F.asm +++ b/data/mapHeaders/MtMoonB1F.asm @@ -1,4 +1,4 @@ -MtMoonB1F_h: +MtMoonB1F_h:: db CAVERN ; tileset db MT_MOON_B1F_HEIGHT, MT_MOON_B1F_WIDTH ; dimensions (y, x) dw MtMoonB1F_Blocks ; blocks diff --git a/data/mapHeaders/MtMoonB2F.asm b/data/mapHeaders/MtMoonB2F.asm index 2ec86247..cce8454b 100755 --- a/data/mapHeaders/MtMoonB2F.asm +++ b/data/mapHeaders/MtMoonB2F.asm @@ -1,4 +1,4 @@ -MtMoonB2F_h: +MtMoonB2F_h:: db CAVERN ; tileset db MT_MOON_B2F_HEIGHT, MT_MOON_B2F_WIDTH ; dimensions (y, x) dw MtMoonB2F_Blocks ; blocks diff --git a/data/mapHeaders/MtMoonPokecenter.asm b/data/mapHeaders/MtMoonPokecenter.asm index c3c014ff..31f7ec7a 100755 --- a/data/mapHeaders/MtMoonPokecenter.asm +++ b/data/mapHeaders/MtMoonPokecenter.asm @@ -1,4 +1,4 @@ -MtMoonPokecenter_h: +MtMoonPokecenter_h:: db POKECENTER ; tileset db MT_MOON_POKECENTER_HEIGHT, MT_MOON_POKECENTER_WIDTH ; dimensions (y, x) dw MtMoonPokecenter_Blocks ; blocks diff --git a/data/mapHeaders/Museum1F.asm b/data/mapHeaders/Museum1F.asm index 55625fc4..f0c967aa 100755 --- a/data/mapHeaders/Museum1F.asm +++ b/data/mapHeaders/Museum1F.asm @@ -1,4 +1,4 @@ -Museum1F_h: +Museum1F_h:: db MUSEUM ; tileset db MUSEUM_1F_HEIGHT, MUSEUM_1F_WIDTH ; dimensions (y, x) dw Museum1F_Blocks ; blocks diff --git a/data/mapHeaders/Museum2F.asm b/data/mapHeaders/Museum2F.asm index b39e161d..9ab38801 100755 --- a/data/mapHeaders/Museum2F.asm +++ b/data/mapHeaders/Museum2F.asm @@ -1,4 +1,4 @@ -Museum2F_h: +Museum2F_h:: db MUSEUM ; tileset db MUSEUM_2F_HEIGHT, MUSEUM_2F_WIDTH ; dimensions (y, x) dw Museum2F_Blocks ; blocks diff --git a/data/mapHeaders/NameRatersHouse.asm b/data/mapHeaders/NameRatersHouse.asm index 7e3acee1..a727b334 100755 --- a/data/mapHeaders/NameRatersHouse.asm +++ b/data/mapHeaders/NameRatersHouse.asm @@ -1,4 +1,4 @@ -NameRatersHouse_h: +NameRatersHouse_h:: db HOUSE ; tileset db NAME_RATERS_HOUSE_HEIGHT, NAME_RATERS_HOUSE_WIDTH ; dimensions (y, x) dw NameRatersHouse_Blocks ; blocks diff --git a/data/mapHeaders/OaksLab.asm b/data/mapHeaders/OaksLab.asm index ffbcdd52..ceee34eb 100755 --- a/data/mapHeaders/OaksLab.asm +++ b/data/mapHeaders/OaksLab.asm @@ -1,4 +1,4 @@ -OaksLab_h: +OaksLab_h:: db DOJO ; tileset db OAKS_LAB_HEIGHT, OAKS_LAB_WIDTH ; dimensions (y, x) dw OaksLab_Blocks ; blocks diff --git a/data/mapHeaders/PalletTown.asm b/data/mapHeaders/PalletTown.asm index eb8525ae..72d138e7 100755 --- a/data/mapHeaders/PalletTown.asm +++ b/data/mapHeaders/PalletTown.asm @@ -1,4 +1,4 @@ -PalletTown_h: +PalletTown_h:: db OVERWORLD ; tileset db PALLET_TOWN_HEIGHT, PALLET_TOWN_WIDTH ; dimensions (y, x) dw PalletTown_Blocks ; blocks diff --git a/data/mapHeaders/PewterCity.asm b/data/mapHeaders/PewterCity.asm index 73610f86..17d1d2f3 100755 --- a/data/mapHeaders/PewterCity.asm +++ b/data/mapHeaders/PewterCity.asm @@ -1,4 +1,4 @@ -PewterCity_h: +PewterCity_h:: db OVERWORLD ; tileset db PEWTER_CITY_HEIGHT, PEWTER_CITY_WIDTH ; dimensions (y, x) dw PewterCity_Blocks ; blocks diff --git a/data/mapHeaders/PewterGym.asm b/data/mapHeaders/PewterGym.asm index bb9c2e84..94cdd401 100755 --- a/data/mapHeaders/PewterGym.asm +++ b/data/mapHeaders/PewterGym.asm @@ -1,4 +1,4 @@ -PewterGym_h: +PewterGym_h:: db GYM ; tileset db PEWTER_GYM_HEIGHT, PEWTER_GYM_WIDTH ; dimensions (y, x) dw PewterGym_Blocks ; blocks diff --git a/data/mapHeaders/PewterMart.asm b/data/mapHeaders/PewterMart.asm index dc8c5c78..962634f4 100755 --- a/data/mapHeaders/PewterMart.asm +++ b/data/mapHeaders/PewterMart.asm @@ -1,4 +1,4 @@ -PewterMart_h: +PewterMart_h:: db MART ; tileset db PEWTER_MART_HEIGHT, PEWTER_MART_WIDTH ; dimensions (y, x) dw PewterMart_Blocks ; blocks diff --git a/data/mapHeaders/PewterNidoranHouse.asm b/data/mapHeaders/PewterNidoranHouse.asm index ffab8473..9900360b 100755 --- a/data/mapHeaders/PewterNidoranHouse.asm +++ b/data/mapHeaders/PewterNidoranHouse.asm @@ -1,4 +1,4 @@ -PewterNidoranHouse_h: +PewterNidoranHouse_h:: db HOUSE ; tileset db PEWTER_NIDORAN_HOUSE_HEIGHT, PEWTER_NIDORAN_HOUSE_WIDTH ; dimensions (y, x) dw PewterNidoranHouse_Blocks ; blocks diff --git a/data/mapHeaders/PewterPokecenter.asm b/data/mapHeaders/PewterPokecenter.asm index 89adbb80..5738cb64 100755 --- a/data/mapHeaders/PewterPokecenter.asm +++ b/data/mapHeaders/PewterPokecenter.asm @@ -1,4 +1,4 @@ -PewterPokecenter_h: +PewterPokecenter_h:: db POKECENTER ; tileset db PEWTER_POKECENTER_HEIGHT, PEWTER_POKECENTER_WIDTH ; dimensions (y, x) dw PewterPokecenter_Blocks ; blocks diff --git a/data/mapHeaders/PewterSpeechHouse.asm b/data/mapHeaders/PewterSpeechHouse.asm index 7750c8c7..9cc2d360 100755 --- a/data/mapHeaders/PewterSpeechHouse.asm +++ b/data/mapHeaders/PewterSpeechHouse.asm @@ -1,4 +1,4 @@ -PewterSpeechHouse_h: +PewterSpeechHouse_h:: db HOUSE ; tileset db PEWTER_SPEECH_HOUSE_HEIGHT, PEWTER_SPEECH_HOUSE_WIDTH ; dimensions (y, x) dw PewterSpeechHouse_Blocks ; blocks diff --git a/data/mapHeaders/PokemonFanClub.asm b/data/mapHeaders/PokemonFanClub.asm index 18ebb923..251ac2c4 100755 --- a/data/mapHeaders/PokemonFanClub.asm +++ b/data/mapHeaders/PokemonFanClub.asm @@ -1,4 +1,4 @@ -PokemonFanClub_h: +PokemonFanClub_h:: db INTERIOR ; tileset db POKEMON_FAN_CLUB_HEIGHT, POKEMON_FAN_CLUB_WIDTH ; dimensions (y, x) dw PokemonFanClub_Blocks ; blocks diff --git a/data/mapHeaders/PokemonMansion1F.asm b/data/mapHeaders/PokemonMansion1F.asm index 357b0cbb..b3bebb5f 100755 --- a/data/mapHeaders/PokemonMansion1F.asm +++ b/data/mapHeaders/PokemonMansion1F.asm @@ -1,4 +1,4 @@ -PokemonMansion1F_h: +PokemonMansion1F_h:: db FACILITY ; tileset db POKEMON_MANSION_1F_HEIGHT, POKEMON_MANSION_1F_WIDTH ; dimensions (y, x) dw PokemonMansion1F_Blocks ; blocks diff --git a/data/mapHeaders/PokemonMansion2F.asm b/data/mapHeaders/PokemonMansion2F.asm index 71c0e3bb..d532db2a 100755 --- a/data/mapHeaders/PokemonMansion2F.asm +++ b/data/mapHeaders/PokemonMansion2F.asm @@ -1,4 +1,4 @@ -PokemonMansion2F_h: +PokemonMansion2F_h:: db FACILITY ; tileset db POKEMON_MANSION_2F_HEIGHT, POKEMON_MANSION_2F_WIDTH ; dimensions (y, x) dw PokemonMansion2F_Blocks ; blocks diff --git a/data/mapHeaders/PokemonMansion3F.asm b/data/mapHeaders/PokemonMansion3F.asm index fe4076f9..e8887551 100755 --- a/data/mapHeaders/PokemonMansion3F.asm +++ b/data/mapHeaders/PokemonMansion3F.asm @@ -1,4 +1,4 @@ -PokemonMansion3F_h: +PokemonMansion3F_h:: db FACILITY ; tileset db POKEMON_MANSION_3F_HEIGHT, POKEMON_MANSION_3F_WIDTH ; dimensions (y, x) dw PokemonMansion3F_Blocks ; blocks diff --git a/data/mapHeaders/PokemonMansionB1F.asm b/data/mapHeaders/PokemonMansionB1F.asm index ccf892b2..08ec13f4 100755 --- a/data/mapHeaders/PokemonMansionB1F.asm +++ b/data/mapHeaders/PokemonMansionB1F.asm @@ -1,4 +1,4 @@ -PokemonMansionB1F_h: +PokemonMansionB1F_h:: db FACILITY ; tileset db POKEMON_MANSION_B1F_HEIGHT, POKEMON_MANSION_B1F_WIDTH ; dimensions (y, x) dw PokemonMansionB1F_Blocks ; blocks diff --git a/data/mapHeaders/PokemonTower1F.asm b/data/mapHeaders/PokemonTower1F.asm index 561274bb..99b129e8 100755 --- a/data/mapHeaders/PokemonTower1F.asm +++ b/data/mapHeaders/PokemonTower1F.asm @@ -1,4 +1,4 @@ -PokemonTower1F_h: +PokemonTower1F_h:: db CEMETERY ; tileset db POKEMON_TOWER_1F_HEIGHT, POKEMON_TOWER_1F_WIDTH ; dimensions (y, x) dw PokemonTower1F_Blocks ; blocks diff --git a/data/mapHeaders/PokemonTower2F.asm b/data/mapHeaders/PokemonTower2F.asm index 41e3271e..ce0ea13d 100755 --- a/data/mapHeaders/PokemonTower2F.asm +++ b/data/mapHeaders/PokemonTower2F.asm @@ -1,4 +1,4 @@ -PokemonTower2F_h: +PokemonTower2F_h:: db CEMETERY ; tileset db POKEMON_TOWER_2F_HEIGHT, POKEMON_TOWER_2F_WIDTH ; dimensions (y, x) dw PokemonTower2F_Blocks ; blocks diff --git a/data/mapHeaders/PokemonTower3F.asm b/data/mapHeaders/PokemonTower3F.asm index 932c4a20..a495b30f 100755 --- a/data/mapHeaders/PokemonTower3F.asm +++ b/data/mapHeaders/PokemonTower3F.asm @@ -1,4 +1,4 @@ -PokemonTower3F_h: +PokemonTower3F_h:: db CEMETERY ; tileset db POKEMON_TOWER_3F_HEIGHT, POKEMON_TOWER_3F_WIDTH ; dimensions (y, x) dw PokemonTower3F_Blocks ; blocks diff --git a/data/mapHeaders/PokemonTower4F.asm b/data/mapHeaders/PokemonTower4F.asm index b3027cb0..b6932406 100755 --- a/data/mapHeaders/PokemonTower4F.asm +++ b/data/mapHeaders/PokemonTower4F.asm @@ -1,4 +1,4 @@ -PokemonTower4F_h: +PokemonTower4F_h:: db CEMETERY ; tileset db POKEMON_TOWER_4F_HEIGHT, POKEMON_TOWER_4F_WIDTH ; dimensions (y, x) dw PokemonTower4F_Blocks ; blocks diff --git a/data/mapHeaders/PokemonTower5F.asm b/data/mapHeaders/PokemonTower5F.asm index 9452c553..f51e6990 100755 --- a/data/mapHeaders/PokemonTower5F.asm +++ b/data/mapHeaders/PokemonTower5F.asm @@ -1,4 +1,4 @@ -PokemonTower5F_h: +PokemonTower5F_h:: db CEMETERY ; tileset db POKEMON_TOWER_5F_HEIGHT, POKEMON_TOWER_5F_WIDTH ; dimensions (y, x) dw PokemonTower5F_Blocks ; blocks diff --git a/data/mapHeaders/PokemonTower6F.asm b/data/mapHeaders/PokemonTower6F.asm index 336c8f66..5fa1a035 100755 --- a/data/mapHeaders/PokemonTower6F.asm +++ b/data/mapHeaders/PokemonTower6F.asm @@ -1,4 +1,4 @@ -PokemonTower6F_h: +PokemonTower6F_h:: db CEMETERY ; tileset db POKEMON_TOWER_6F_HEIGHT, POKEMON_TOWER_6F_WIDTH ; dimensions (y, x) dw PokemonTower6F_Blocks ; blocks diff --git a/data/mapHeaders/PokemonTower7F.asm b/data/mapHeaders/PokemonTower7F.asm index da10fa53..90fc1d8b 100755 --- a/data/mapHeaders/PokemonTower7F.asm +++ b/data/mapHeaders/PokemonTower7F.asm @@ -1,4 +1,4 @@ -PokemonTower7F_h: +PokemonTower7F_h:: db CEMETERY ; tileset db POKEMON_TOWER_7F_HEIGHT, POKEMON_TOWER_7F_WIDTH ; dimensions (y, x) dw PokemonTower7F_Blocks ; blocks diff --git a/data/mapHeaders/PowerPlant.asm b/data/mapHeaders/PowerPlant.asm index 91f03d63..3cb4efcd 100755 --- a/data/mapHeaders/PowerPlant.asm +++ b/data/mapHeaders/PowerPlant.asm @@ -1,4 +1,4 @@ -PowerPlant_h: +PowerPlant_h:: db FACILITY ; tileset db POWER_PLANT_HEIGHT, POWER_PLANT_WIDTH ; dimensions (y, x) dw PowerPlant_Blocks ; blocks diff --git a/data/mapHeaders/RedsHouse1F.asm b/data/mapHeaders/RedsHouse1F.asm index c9acc489..b13008ae 100755 --- a/data/mapHeaders/RedsHouse1F.asm +++ b/data/mapHeaders/RedsHouse1F.asm @@ -1,4 +1,4 @@ -RedsHouse1F_h: +RedsHouse1F_h:: db REDS_HOUSE_1 ; tileset db REDS_HOUSE_1F_HEIGHT, REDS_HOUSE_1F_WIDTH ; dimensions (y, x) dw RedsHouse1F_Blocks ; blocks diff --git a/data/mapHeaders/RedsHouse2F.asm b/data/mapHeaders/RedsHouse2F.asm index 42215466..8824ebf2 100755 --- a/data/mapHeaders/RedsHouse2F.asm +++ b/data/mapHeaders/RedsHouse2F.asm @@ -1,4 +1,4 @@ -RedsHouse2F_h: +RedsHouse2F_h:: db REDS_HOUSE_2 ; tileset db REDS_HOUSE_2F_HEIGHT, REDS_HOUSE_2F_WIDTH ; dimensions (y, x) dw RedsHouse2F_Blocks ; blocks diff --git a/data/mapHeaders/RockTunnel1F.asm b/data/mapHeaders/RockTunnel1F.asm index dd552ac9..8dd5929b 100755 --- a/data/mapHeaders/RockTunnel1F.asm +++ b/data/mapHeaders/RockTunnel1F.asm @@ -1,4 +1,4 @@ -RockTunnel1F_h: +RockTunnel1F_h:: db CAVERN ; tileset db ROCK_TUNNEL_1F_HEIGHT, ROCK_TUNNEL_1F_WIDTH ; dimensions (y, x) dw RockTunnel1F_Blocks ; blocks diff --git a/data/mapHeaders/RockTunnelB1F.asm b/data/mapHeaders/RockTunnelB1F.asm index 4e765f20..36cd7f37 100755 --- a/data/mapHeaders/RockTunnelB1F.asm +++ b/data/mapHeaders/RockTunnelB1F.asm @@ -1,4 +1,4 @@ -RockTunnelB1F_h: +RockTunnelB1F_h:: db CAVERN ; tileset db ROCK_TUNNEL_B1F_HEIGHT, ROCK_TUNNEL_B1F_WIDTH ; dimensions (y, x) dw RockTunnelB1F_Blocks ; blocks diff --git a/data/mapHeaders/RockTunnelPokecenter.asm b/data/mapHeaders/RockTunnelPokecenter.asm index ac29f1cf..3d0bbed0 100755 --- a/data/mapHeaders/RockTunnelPokecenter.asm +++ b/data/mapHeaders/RockTunnelPokecenter.asm @@ -1,4 +1,4 @@ -RockTunnelPokecenter_h: +RockTunnelPokecenter_h:: db POKECENTER ; tileset db ROCK_TUNNEL_POKECENTER_HEIGHT, ROCK_TUNNEL_POKECENTER_WIDTH ; dimensions (y, x) dw RockTunnelPokecenter_Blocks ; blocks diff --git a/data/mapHeaders/RocketHideoutB1F.asm b/data/mapHeaders/RocketHideoutB1F.asm index 3c842f1e..4d875a1b 100755 --- a/data/mapHeaders/RocketHideoutB1F.asm +++ b/data/mapHeaders/RocketHideoutB1F.asm @@ -1,4 +1,4 @@ -RocketHideoutB1F_h: +RocketHideoutB1F_h:: db FACILITY ; tileset db ROCKET_HIDEOUT_B1F_HEIGHT, ROCKET_HIDEOUT_B1F_WIDTH ; dimensions (y, x) dw RocketHideoutB1F_Blocks ; blocks diff --git a/data/mapHeaders/RocketHideoutB2F.asm b/data/mapHeaders/RocketHideoutB2F.asm index b570c2a6..0d56f2a1 100755 --- a/data/mapHeaders/RocketHideoutB2F.asm +++ b/data/mapHeaders/RocketHideoutB2F.asm @@ -1,4 +1,4 @@ -RocketHideoutB2F_h: +RocketHideoutB2F_h:: db FACILITY ; tileset db ROCKET_HIDEOUT_B2F_HEIGHT, ROCKET_HIDEOUT_B2F_WIDTH ; dimensions (y, x) dw RocketHideoutB2F_Blocks ; blocks diff --git a/data/mapHeaders/RocketHideoutB3F.asm b/data/mapHeaders/RocketHideoutB3F.asm index 7eab257e..e71fcff1 100755 --- a/data/mapHeaders/RocketHideoutB3F.asm +++ b/data/mapHeaders/RocketHideoutB3F.asm @@ -1,4 +1,4 @@ -RocketHideoutB3F_h: +RocketHideoutB3F_h:: db FACILITY ; tileset db ROCKET_HIDEOUT_B3F_HEIGHT, ROCKET_HIDEOUT_B3F_WIDTH ; dimensions (y, x) dw RocketHideoutB3F_Blocks ; blocks diff --git a/data/mapHeaders/RocketHideoutB4F.asm b/data/mapHeaders/RocketHideoutB4F.asm index 57797c56..05ad471a 100755 --- a/data/mapHeaders/RocketHideoutB4F.asm +++ b/data/mapHeaders/RocketHideoutB4F.asm @@ -1,4 +1,4 @@ -RocketHideoutB4F_h: +RocketHideoutB4F_h:: db FACILITY ; tileset db ROCKET_HIDEOUT_B4F_HEIGHT, ROCKET_HIDEOUT_B4F_WIDTH ; dimensions (y, x) dw RocketHideoutB4F_Blocks ; blocks diff --git a/data/mapHeaders/RocketHideoutElevator.asm b/data/mapHeaders/RocketHideoutElevator.asm index 742d0038..6221dddd 100755 --- a/data/mapHeaders/RocketHideoutElevator.asm +++ b/data/mapHeaders/RocketHideoutElevator.asm @@ -1,4 +1,4 @@ -RocketHideoutElevator_h: +RocketHideoutElevator_h:: db LOBBY ; tileset db ROCKET_HIDEOUT_ELEVATOR_HEIGHT, ROCKET_HIDEOUT_ELEVATOR_WIDTH ; dimensions (y, x) dw RocketHideoutElevator_Blocks ; blocks diff --git a/data/mapHeaders/Route1.asm b/data/mapHeaders/Route1.asm index ce460937..20d389ab 100755 --- a/data/mapHeaders/Route1.asm +++ b/data/mapHeaders/Route1.asm @@ -1,4 +1,4 @@ -Route1_h: +Route1_h:: db OVERWORLD ; tileset db ROUTE_1_HEIGHT, ROUTE_1_WIDTH ; dimensions (y, x) dw Route1_Blocks ; blocks diff --git a/data/mapHeaders/Route10.asm b/data/mapHeaders/Route10.asm index 8c51bfc6..5759483b 100755 --- a/data/mapHeaders/Route10.asm +++ b/data/mapHeaders/Route10.asm @@ -1,4 +1,4 @@ -Route10_h: +Route10_h:: db OVERWORLD ; tileset db ROUTE_10_HEIGHT, ROUTE_10_WIDTH ; dimensions (y, x) dw Route10_Blocks ; blocks diff --git a/data/mapHeaders/Route11.asm b/data/mapHeaders/Route11.asm index b7814465..6b95cebc 100755 --- a/data/mapHeaders/Route11.asm +++ b/data/mapHeaders/Route11.asm @@ -1,4 +1,4 @@ -Route11_h: +Route11_h:: db OVERWORLD ; tileset db ROUTE_11_HEIGHT, ROUTE_11_WIDTH ; dimensions (y, x) dw Route11_Blocks ; blocks diff --git a/data/mapHeaders/Route11Gate1F.asm b/data/mapHeaders/Route11Gate1F.asm index 2e01d168..0f26b117 100755 --- a/data/mapHeaders/Route11Gate1F.asm +++ b/data/mapHeaders/Route11Gate1F.asm @@ -1,4 +1,4 @@ -Route11Gate1F_h: +Route11Gate1F_h:: db GATE ; tileset db ROUTE_11_GATE_1F_HEIGHT, ROUTE_11_GATE_1F_WIDTH ; dimensions (y, x) dw Route11Gate1F_Blocks ; blocks diff --git a/data/mapHeaders/Route11Gate2F.asm b/data/mapHeaders/Route11Gate2F.asm index ecb2ab7c..b408b5a7 100755 --- a/data/mapHeaders/Route11Gate2F.asm +++ b/data/mapHeaders/Route11Gate2F.asm @@ -1,4 +1,4 @@ -Route11Gate2F_h: +Route11Gate2F_h:: db GATE ; tileset db ROUTE_11_GATE_2F_HEIGHT, ROUTE_11_GATE_2F_WIDTH ; dimensions (y, x) dw Route11Gate2F_Blocks ; blocks diff --git a/data/mapHeaders/Route12.asm b/data/mapHeaders/Route12.asm index 2f76aa27..284105fa 100755 --- a/data/mapHeaders/Route12.asm +++ b/data/mapHeaders/Route12.asm @@ -1,4 +1,4 @@ -Route12_h: +Route12_h:: db OVERWORLD ; tileset db ROUTE_12_HEIGHT, ROUTE_12_WIDTH ; dimensions (y, x) dw Route12_Blocks ; blocks diff --git a/data/mapHeaders/Route12Gate1F.asm b/data/mapHeaders/Route12Gate1F.asm index e44aecab..dbce0ab9 100755 --- a/data/mapHeaders/Route12Gate1F.asm +++ b/data/mapHeaders/Route12Gate1F.asm @@ -1,4 +1,4 @@ -Route12Gate1F_h: +Route12Gate1F_h:: db GATE ; tileset db ROUTE_12_GATE_1F_HEIGHT, ROUTE_12_GATE_1F_WIDTH ; dimensions (y, x) dw Route12Gate1F_Blocks ; blocks diff --git a/data/mapHeaders/Route12Gate2F.asm b/data/mapHeaders/Route12Gate2F.asm index 94d5d54c..f4e2330d 100755 --- a/data/mapHeaders/Route12Gate2F.asm +++ b/data/mapHeaders/Route12Gate2F.asm @@ -1,4 +1,4 @@ -Route12Gate2F_h: +Route12Gate2F_h:: db GATE ; tileset db ROUTE_12_GATE_2F_HEIGHT, ROUTE_12_GATE_2F_WIDTH ; dimensions (y, x) dw Route12Gate2F_Blocks ; blocks diff --git a/data/mapHeaders/Route12SuperRodHouse.asm b/data/mapHeaders/Route12SuperRodHouse.asm index ef5e0f2c..70357a3a 100755 --- a/data/mapHeaders/Route12SuperRodHouse.asm +++ b/data/mapHeaders/Route12SuperRodHouse.asm @@ -1,4 +1,4 @@ -Route12SuperRodHouse_h: +Route12SuperRodHouse_h:: db HOUSE ; tileset db ROUTE_12_SUPER_ROD_HOUSE_HEIGHT, ROUTE_12_SUPER_ROD_HOUSE_WIDTH ; dimensions (y, x) dw Route12SuperRodHouse_Blocks ; blocks diff --git a/data/mapHeaders/Route13.asm b/data/mapHeaders/Route13.asm index e6e244b9..fb85dd60 100755 --- a/data/mapHeaders/Route13.asm +++ b/data/mapHeaders/Route13.asm @@ -1,4 +1,4 @@ -Route13_h: +Route13_h:: db OVERWORLD ; tileset db ROUTE_13_HEIGHT, ROUTE_13_WIDTH ; dimensions (y, x) dw Route13_Blocks ; blocks diff --git a/data/mapHeaders/Route14.asm b/data/mapHeaders/Route14.asm index c3934ac5..d1484f6b 100755 --- a/data/mapHeaders/Route14.asm +++ b/data/mapHeaders/Route14.asm @@ -1,4 +1,4 @@ -Route14_h: +Route14_h:: db OVERWORLD ; tileset db ROUTE_14_HEIGHT, ROUTE_14_WIDTH ; dimensions (y, x) dw Route14_Blocks ; blocks diff --git a/data/mapHeaders/Route15.asm b/data/mapHeaders/Route15.asm index eb14d750..5f66a521 100755 --- a/data/mapHeaders/Route15.asm +++ b/data/mapHeaders/Route15.asm @@ -1,4 +1,4 @@ -Route15_h: +Route15_h:: db OVERWORLD ; tileset db ROUTE_15_HEIGHT, ROUTE_15_WIDTH ; dimensions (y, x) dw Route15_Blocks ; blocks diff --git a/data/mapHeaders/Route15Gate1F.asm b/data/mapHeaders/Route15Gate1F.asm index b1ae5662..d3f5a377 100755 --- a/data/mapHeaders/Route15Gate1F.asm +++ b/data/mapHeaders/Route15Gate1F.asm @@ -1,4 +1,4 @@ -Route15Gate1F_h: +Route15Gate1F_h:: db GATE ; tileset db ROUTE_15_GATE_1F_HEIGHT, ROUTE_15_GATE_1F_WIDTH ; dimensions (y, x) dw Route15Gate1F_Blocks ; blocks diff --git a/data/mapHeaders/Route15Gate2F.asm b/data/mapHeaders/Route15Gate2F.asm index 501da092..87b05105 100755 --- a/data/mapHeaders/Route15Gate2F.asm +++ b/data/mapHeaders/Route15Gate2F.asm @@ -1,4 +1,4 @@ -Route15Gate2F_h: +Route15Gate2F_h:: db GATE ; tileset db ROUTE_15_GATE_2F_HEIGHT, ROUTE_15_GATE_2F_WIDTH ; dimensions (y, x) dw Route15Gate2F_Blocks ; blocks diff --git a/data/mapHeaders/Route16.asm b/data/mapHeaders/Route16.asm index d12b6ea9..be436134 100755 --- a/data/mapHeaders/Route16.asm +++ b/data/mapHeaders/Route16.asm @@ -1,4 +1,4 @@ -Route16_h: +Route16_h:: db OVERWORLD ; tileset db ROUTE_16_HEIGHT, ROUTE_16_WIDTH ; dimensions (y, x) dw Route16_Blocks ; blocks diff --git a/data/mapHeaders/Route16FlyHouse.asm b/data/mapHeaders/Route16FlyHouse.asm index 0d3f828d..6bc41d1d 100755 --- a/data/mapHeaders/Route16FlyHouse.asm +++ b/data/mapHeaders/Route16FlyHouse.asm @@ -1,4 +1,4 @@ -Route16FlyHouse_h: +Route16FlyHouse_h:: db HOUSE ; tileset db ROUTE_16_FLY_HOUSE_HEIGHT, ROUTE_16_FLY_HOUSE_WIDTH ; dimensions (y, x) dw Route16FlyHouse_Blocks ; blocks diff --git a/data/mapHeaders/Route16Gate1F.asm b/data/mapHeaders/Route16Gate1F.asm index 561fb597..16bbb30b 100755 --- a/data/mapHeaders/Route16Gate1F.asm +++ b/data/mapHeaders/Route16Gate1F.asm @@ -1,4 +1,4 @@ -Route16Gate1F_h: +Route16Gate1F_h:: db GATE ; tileset db ROUTE_16_GATE_1F_HEIGHT, ROUTE_16_GATE_1F_WIDTH ; dimensions (y, x) dw Route16Gate1F_Blocks ; blocks diff --git a/data/mapHeaders/Route16Gate2F.asm b/data/mapHeaders/Route16Gate2F.asm index 90783ab7..600101c9 100755 --- a/data/mapHeaders/Route16Gate2F.asm +++ b/data/mapHeaders/Route16Gate2F.asm @@ -1,4 +1,4 @@ -Route16Gate2F_h: +Route16Gate2F_h:: db GATE ; tileset db ROUTE_16_GATE_2F_HEIGHT, ROUTE_16_GATE_2F_WIDTH ; dimensions (y, x) dw Route16Gate2F_Blocks ; blocks diff --git a/data/mapHeaders/Route17.asm b/data/mapHeaders/Route17.asm index 58a785b4..32bdb541 100755 --- a/data/mapHeaders/Route17.asm +++ b/data/mapHeaders/Route17.asm @@ -1,4 +1,4 @@ -Route17_h: +Route17_h:: db OVERWORLD ; tileset db ROUTE_17_HEIGHT, ROUTE_17_WIDTH ; dimensions (y, x) dw Route17_Blocks ; blocks diff --git a/data/mapHeaders/Route18.asm b/data/mapHeaders/Route18.asm index 5e10bdbd..e0b5daef 100755 --- a/data/mapHeaders/Route18.asm +++ b/data/mapHeaders/Route18.asm @@ -1,4 +1,4 @@ -Route18_h: +Route18_h:: db OVERWORLD ; tileset db ROUTE_18_HEIGHT, ROUTE_18_WIDTH ; dimensions (y, x) dw Route18_Blocks ; blocks diff --git a/data/mapHeaders/Route18Gate1F.asm b/data/mapHeaders/Route18Gate1F.asm index 0e4a0dc3..d04288d5 100755 --- a/data/mapHeaders/Route18Gate1F.asm +++ b/data/mapHeaders/Route18Gate1F.asm @@ -1,4 +1,4 @@ -Route18Gate1F_h: +Route18Gate1F_h:: db GATE ; tileset db ROUTE_18_GATE_1F_HEIGHT, ROUTE_18_GATE_1F_WIDTH ; dimensions (y, x) dw Route18Gate1F_Blocks ; blocks diff --git a/data/mapHeaders/Route18Gate2F.asm b/data/mapHeaders/Route18Gate2F.asm index 5d8f7126..cf8c6d6a 100755 --- a/data/mapHeaders/Route18Gate2F.asm +++ b/data/mapHeaders/Route18Gate2F.asm @@ -1,4 +1,4 @@ -Route18Gate2F_h: +Route18Gate2F_h:: db GATE ; tileset db ROUTE_18_GATE_2F_HEIGHT, ROUTE_18_GATE_2F_WIDTH ; dimensions (y, x) dw Route18Gate2F_Blocks ; blocks diff --git a/data/mapHeaders/Route19.asm b/data/mapHeaders/Route19.asm index 79972677..2b6c8ca2 100755 --- a/data/mapHeaders/Route19.asm +++ b/data/mapHeaders/Route19.asm @@ -1,4 +1,4 @@ -Route19_h: +Route19_h:: db OVERWORLD ; tileset db ROUTE_19_HEIGHT, ROUTE_19_WIDTH ; dimensions (y, x) dw Route19_Blocks ; blocks diff --git a/data/mapHeaders/Route2.asm b/data/mapHeaders/Route2.asm index 94511d06..6dc96c4e 100755 --- a/data/mapHeaders/Route2.asm +++ b/data/mapHeaders/Route2.asm @@ -1,4 +1,4 @@ -Route2_h: +Route2_h:: db OVERWORLD ; tileset db ROUTE_2_HEIGHT, ROUTE_2_WIDTH ; dimensions (y, x) dw Route2_Blocks ; blocks diff --git a/data/mapHeaders/Route20.asm b/data/mapHeaders/Route20.asm index 689f51cd..03455c54 100755 --- a/data/mapHeaders/Route20.asm +++ b/data/mapHeaders/Route20.asm @@ -1,4 +1,4 @@ -Route20_h: +Route20_h:: db OVERWORLD ; tileset db ROUTE_20_HEIGHT, ROUTE_20_WIDTH ; dimensions (y, x) dw Route20_Blocks ; blocks diff --git a/data/mapHeaders/Route21.asm b/data/mapHeaders/Route21.asm index f37869dc..81e749e0 100755 --- a/data/mapHeaders/Route21.asm +++ b/data/mapHeaders/Route21.asm @@ -1,4 +1,4 @@ -Route21_h: +Route21_h:: db OVERWORLD ; tileset db ROUTE_21_HEIGHT, ROUTE_21_WIDTH ; dimensions (y, x) dw Route21_Blocks ; blocks diff --git a/data/mapHeaders/Route22.asm b/data/mapHeaders/Route22.asm index 4d07475f..083652cc 100755 --- a/data/mapHeaders/Route22.asm +++ b/data/mapHeaders/Route22.asm @@ -1,4 +1,4 @@ -Route22_h: +Route22_h:: db OVERWORLD ; tileset db ROUTE_22_HEIGHT, ROUTE_22_WIDTH ; dimensions (y, x) dw Route22_Blocks ; blocks diff --git a/data/mapHeaders/Route22Gate.asm b/data/mapHeaders/Route22Gate.asm index 4d3ae0cc..b0fae3e4 100755 --- a/data/mapHeaders/Route22Gate.asm +++ b/data/mapHeaders/Route22Gate.asm @@ -1,4 +1,4 @@ -Route22Gate_h: +Route22Gate_h:: db GATE ; tileset db ROUTE_22_GATE_HEIGHT, ROUTE_22_GATE_WIDTH ; dimensions (y, x) dw Route22Gate_Blocks ; blocks diff --git a/data/mapHeaders/Route23.asm b/data/mapHeaders/Route23.asm index 6b1fde97..1bc27a5f 100755 --- a/data/mapHeaders/Route23.asm +++ b/data/mapHeaders/Route23.asm @@ -1,4 +1,4 @@ -Route23_h: +Route23_h:: db PLATEAU ; tileset db ROUTE_23_HEIGHT, ROUTE_23_WIDTH ; dimensions (y, x) dw Route23_Blocks ; blocks diff --git a/data/mapHeaders/Route24.asm b/data/mapHeaders/Route24.asm index 87776f60..acb98d40 100755 --- a/data/mapHeaders/Route24.asm +++ b/data/mapHeaders/Route24.asm @@ -1,4 +1,4 @@ -Route24_h: +Route24_h:: db OVERWORLD ; tileset db ROUTE_24_HEIGHT, ROUTE_24_WIDTH ; dimensions (y, x) dw Route24_Blocks ; blocks diff --git a/data/mapHeaders/Route25.asm b/data/mapHeaders/Route25.asm index c300eeb3..d8da8583 100755 --- a/data/mapHeaders/Route25.asm +++ b/data/mapHeaders/Route25.asm @@ -1,4 +1,4 @@ -Route25_h: +Route25_h:: db OVERWORLD ; tileset db ROUTE_25_HEIGHT, ROUTE_25_WIDTH ; dimensions (y, x) dw Route25_Blocks ; blocks diff --git a/data/mapHeaders/Route2Gate.asm b/data/mapHeaders/Route2Gate.asm index 9b284178..68581910 100755 --- a/data/mapHeaders/Route2Gate.asm +++ b/data/mapHeaders/Route2Gate.asm @@ -1,4 +1,4 @@ -Route2Gate_h: +Route2Gate_h:: db GATE ; tileset db ROUTE_2_GATE_HEIGHT, ROUTE_2_GATE_WIDTH ; dimensions (y, x) dw Route2Gate_Blocks ; blocks diff --git a/data/mapHeaders/Route2TradeHouse.asm b/data/mapHeaders/Route2TradeHouse.asm index 33693943..98dc7aed 100755 --- a/data/mapHeaders/Route2TradeHouse.asm +++ b/data/mapHeaders/Route2TradeHouse.asm @@ -1,4 +1,4 @@ -Route2TradeHouse_h: +Route2TradeHouse_h:: db HOUSE ; tileset db ROUTE_2_TRADE_HOUSE_HEIGHT, ROUTE_2_TRADE_HOUSE_WIDTH ; dimensions (y, x) dw Route2TradeHouse_Blocks ; blocks diff --git a/data/mapHeaders/Route3.asm b/data/mapHeaders/Route3.asm index c611e4b8..a84b5bf9 100755 --- a/data/mapHeaders/Route3.asm +++ b/data/mapHeaders/Route3.asm @@ -1,4 +1,4 @@ -Route3_h: +Route3_h:: db OVERWORLD ; tileset db ROUTE_3_HEIGHT, ROUTE_3_WIDTH ; dimensions (y, x) dw Route3_Blocks ; blocks diff --git a/data/mapHeaders/Route4.asm b/data/mapHeaders/Route4.asm index 999a1207..d0d27d9c 100755 --- a/data/mapHeaders/Route4.asm +++ b/data/mapHeaders/Route4.asm @@ -1,4 +1,4 @@ -Route4_h: +Route4_h:: db OVERWORLD ; tileset db ROUTE_4_HEIGHT, ROUTE_4_WIDTH ; dimensions (y, x) dw Route4_Blocks ; blocks diff --git a/data/mapHeaders/Route5.asm b/data/mapHeaders/Route5.asm index 6480aebd..5a0e0cd4 100755 --- a/data/mapHeaders/Route5.asm +++ b/data/mapHeaders/Route5.asm @@ -1,4 +1,4 @@ -Route5_h: +Route5_h:: db OVERWORLD ; tileset db ROUTE_5_HEIGHT, ROUTE_5_WIDTH ; dimensions (y, x) dw Route5_Blocks ; blocks diff --git a/data/mapHeaders/Route5Gate.asm b/data/mapHeaders/Route5Gate.asm index bb418182..d5de72b4 100755 --- a/data/mapHeaders/Route5Gate.asm +++ b/data/mapHeaders/Route5Gate.asm @@ -1,4 +1,4 @@ -Route5Gate_h: +Route5Gate_h:: db GATE ; tileset db ROUTE_5_GATE_HEIGHT, ROUTE_5_GATE_WIDTH ; dimensions (y, x) dw Route5Gate_Blocks ; blocks diff --git a/data/mapHeaders/Route6.asm b/data/mapHeaders/Route6.asm index 9385ce5f..85cb1054 100755 --- a/data/mapHeaders/Route6.asm +++ b/data/mapHeaders/Route6.asm @@ -1,4 +1,4 @@ -Route6_h: +Route6_h:: db OVERWORLD ; tileset db ROUTE_6_HEIGHT, ROUTE_6_WIDTH ; dimensions (y, x) dw Route6_Blocks ; blocks diff --git a/data/mapHeaders/Route6Gate.asm b/data/mapHeaders/Route6Gate.asm index 282cc5b6..e5896518 100755 --- a/data/mapHeaders/Route6Gate.asm +++ b/data/mapHeaders/Route6Gate.asm @@ -1,4 +1,4 @@ -Route6Gate_h: +Route6Gate_h:: db GATE ; tileset db ROUTE_6_GATE_HEIGHT, ROUTE_6_GATE_WIDTH ; dimensions (y, x) dw Route6Gate_Blocks ; blocks diff --git a/data/mapHeaders/Route7.asm b/data/mapHeaders/Route7.asm index 9b34ea1f..cb12c75a 100755 --- a/data/mapHeaders/Route7.asm +++ b/data/mapHeaders/Route7.asm @@ -1,4 +1,4 @@ -Route7_h: +Route7_h:: db OVERWORLD ; tileset db ROUTE_7_HEIGHT, ROUTE_7_WIDTH ; dimensions (y, x) dw Route7_Blocks ; blocks diff --git a/data/mapHeaders/Route7Gate.asm b/data/mapHeaders/Route7Gate.asm index 61771e42..d8400dae 100755 --- a/data/mapHeaders/Route7Gate.asm +++ b/data/mapHeaders/Route7Gate.asm @@ -1,4 +1,4 @@ -Route7Gate_h: +Route7Gate_h:: db GATE ; tileset db ROUTE_7_GATE_HEIGHT, ROUTE_7_GATE_WIDTH ; dimensions (y, x) dw Route7Gate_Blocks ; blocks diff --git a/data/mapHeaders/Route8.asm b/data/mapHeaders/Route8.asm index bd2ee71e..482e12f9 100755 --- a/data/mapHeaders/Route8.asm +++ b/data/mapHeaders/Route8.asm @@ -1,4 +1,4 @@ -Route8_h: +Route8_h:: db OVERWORLD ; tileset db ROUTE_8_HEIGHT, ROUTE_8_WIDTH ; dimensions (y, x) dw Route8_Blocks ; blocks diff --git a/data/mapHeaders/Route8Gate.asm b/data/mapHeaders/Route8Gate.asm index dd14a237..7599276b 100755 --- a/data/mapHeaders/Route8Gate.asm +++ b/data/mapHeaders/Route8Gate.asm @@ -1,4 +1,4 @@ -Route8Gate_h: +Route8Gate_h:: db GATE ; tileset db ROUTE_8_GATE_HEIGHT, ROUTE_8_GATE_WIDTH ; dimensions (y, x) dw Route8Gate_Blocks ; blocks diff --git a/data/mapHeaders/Route9.asm b/data/mapHeaders/Route9.asm index 3dec3b0a..a0aef316 100755 --- a/data/mapHeaders/Route9.asm +++ b/data/mapHeaders/Route9.asm @@ -1,4 +1,4 @@ -Route9_h: +Route9_h:: db OVERWORLD ; tileset db ROUTE_9_HEIGHT, ROUTE_9_WIDTH ; dimensions (y, x) dw Route9_Blocks ; blocks diff --git a/data/mapHeaders/SSAnne1F.asm b/data/mapHeaders/SSAnne1F.asm index a69423d6..3b82a4ed 100755 --- a/data/mapHeaders/SSAnne1F.asm +++ b/data/mapHeaders/SSAnne1F.asm @@ -1,4 +1,4 @@ -SSAnne1F_h: +SSAnne1F_h:: db SHIP ; tileset db SS_ANNE_1F_HEIGHT, SS_ANNE_1F_WIDTH ; dimensions (y, x) dw SSAnne1F_Blocks ; blocks diff --git a/data/mapHeaders/SSAnne1FRooms.asm b/data/mapHeaders/SSAnne1FRooms.asm index 1f8af23d..14260765 100755 --- a/data/mapHeaders/SSAnne1FRooms.asm +++ b/data/mapHeaders/SSAnne1FRooms.asm @@ -1,4 +1,4 @@ -SSAnne1FRooms_h: +SSAnne1FRooms_h:: db SHIP ; tileset db SS_ANNE_1F_ROOMS_HEIGHT, SS_ANNE_1F_ROOMS_WIDTH ; dimensions (y, x) dw SSAnne1FRooms_Blocks ; blocks diff --git a/data/mapHeaders/SSAnne2F.asm b/data/mapHeaders/SSAnne2F.asm index d42d16f4..aef34599 100755 --- a/data/mapHeaders/SSAnne2F.asm +++ b/data/mapHeaders/SSAnne2F.asm @@ -1,4 +1,4 @@ -SSAnne2F_h: +SSAnne2F_h:: db SHIP ; tileset db SS_ANNE_2F_HEIGHT, SS_ANNE_2F_WIDTH ; dimensions (y, x) dw SSAnne2F_Blocks ; blocks diff --git a/data/mapHeaders/SSAnne2FRooms.asm b/data/mapHeaders/SSAnne2FRooms.asm index f22de0fa..12ecca80 100755 --- a/data/mapHeaders/SSAnne2FRooms.asm +++ b/data/mapHeaders/SSAnne2FRooms.asm @@ -1,4 +1,4 @@ -SSAnne2FRooms_h: +SSAnne2FRooms_h:: db SHIP ; tileset db SS_ANNE_2F_ROOMS_HEIGHT, SS_ANNE_2F_ROOMS_WIDTH ; dimensions (y, x) dw SSAnne2FRooms_Blocks ; blocks diff --git a/data/mapHeaders/SSAnne3F.asm b/data/mapHeaders/SSAnne3F.asm index 1c5dafea..22ddfa03 100755 --- a/data/mapHeaders/SSAnne3F.asm +++ b/data/mapHeaders/SSAnne3F.asm @@ -1,4 +1,4 @@ -SSAnne3F_h: +SSAnne3F_h:: db SHIP ; tileset db SS_ANNE_3F_HEIGHT, SS_ANNE_3F_WIDTH ; dimensions (y, x) dw SSAnne3F_Blocks ; blocks diff --git a/data/mapHeaders/SSAnneB1F.asm b/data/mapHeaders/SSAnneB1F.asm index a3ca6dfa..28f0bbe3 100755 --- a/data/mapHeaders/SSAnneB1F.asm +++ b/data/mapHeaders/SSAnneB1F.asm @@ -1,4 +1,4 @@ -SSAnneB1F_h: +SSAnneB1F_h:: db SHIP ; tileset db SS_ANNE_B1F_HEIGHT, SS_ANNE_B1F_WIDTH ; dimensions (y, x) dw SSAnneB1F_Blocks ; blocks diff --git a/data/mapHeaders/SSAnneB1FRooms.asm b/data/mapHeaders/SSAnneB1FRooms.asm index f08e343b..3d439984 100755 --- a/data/mapHeaders/SSAnneB1FRooms.asm +++ b/data/mapHeaders/SSAnneB1FRooms.asm @@ -1,4 +1,4 @@ -SSAnneB1FRooms_h: +SSAnneB1FRooms_h:: db SHIP ; tileset db SS_ANNE_B1F_ROOMS_HEIGHT, SS_ANNE_B1F_ROOMS_WIDTH ; dimensions (y, x) dw SSAnneB1FRooms_Blocks ; blocks diff --git a/data/mapHeaders/SSAnneBow.asm b/data/mapHeaders/SSAnneBow.asm index baa71147..1b1be8cb 100755 --- a/data/mapHeaders/SSAnneBow.asm +++ b/data/mapHeaders/SSAnneBow.asm @@ -1,4 +1,4 @@ -SSAnneBow_h: +SSAnneBow_h:: db SHIP ; tileset db SS_ANNE_BOW_HEIGHT, SS_ANNE_BOW_WIDTH ; dimensions (y, x) dw SSAnneBow_Blocks ; blocks diff --git a/data/mapHeaders/SSAnneCaptainsRoom.asm b/data/mapHeaders/SSAnneCaptainsRoom.asm index 433f060a..78522804 100755 --- a/data/mapHeaders/SSAnneCaptainsRoom.asm +++ b/data/mapHeaders/SSAnneCaptainsRoom.asm @@ -1,4 +1,4 @@ -SSAnneCaptainsRoom_h: +SSAnneCaptainsRoom_h:: db SHIP ; tileset db SS_ANNE_CAPTAINS_ROOM_HEIGHT, SS_ANNE_CAPTAINS_ROOM_WIDTH ; dimensions (y, x) dw SSAnneCaptainsRoom_Blocks ; blocks diff --git a/data/mapHeaders/SSAnneKitchen.asm b/data/mapHeaders/SSAnneKitchen.asm index eacbbfb8..e4c6c472 100755 --- a/data/mapHeaders/SSAnneKitchen.asm +++ b/data/mapHeaders/SSAnneKitchen.asm @@ -1,4 +1,4 @@ -SSAnneKitchen_h: +SSAnneKitchen_h:: db SHIP ; tileset db SS_ANNE_KITCHEN_HEIGHT, SS_ANNE_KITCHEN_WIDTH ; dimensions (y, x) dw SSAnneKitchen_Blocks ; blocks diff --git a/data/mapHeaders/SafariZoneCenter.asm b/data/mapHeaders/SafariZoneCenter.asm index 8ec6c890..a6e98bc3 100755 --- a/data/mapHeaders/SafariZoneCenter.asm +++ b/data/mapHeaders/SafariZoneCenter.asm @@ -1,4 +1,4 @@ -SafariZoneCenter_h: +SafariZoneCenter_h:: db FOREST ; tileset db SAFARI_ZONE_CENTER_HEIGHT, SAFARI_ZONE_CENTER_WIDTH ; dimensions (y, x) dw SafariZoneCenter_Blocks ; blocks diff --git a/data/mapHeaders/SafariZoneCenterRestHouse.asm b/data/mapHeaders/SafariZoneCenterRestHouse.asm index 9b1064f2..3dc9fba2 100755 --- a/data/mapHeaders/SafariZoneCenterRestHouse.asm +++ b/data/mapHeaders/SafariZoneCenterRestHouse.asm @@ -1,4 +1,4 @@ -SafariZoneCenterRestHouse_h: +SafariZoneCenterRestHouse_h:: db GATE ; tileset db SAFARI_ZONE_CENTER_REST_HOUSE_HEIGHT, SAFARI_ZONE_CENTER_REST_HOUSE_WIDTH ; dimensions (y, x) dw SafariZoneCenterRestHouse_Blocks ; blocks diff --git a/data/mapHeaders/SafariZoneEast.asm b/data/mapHeaders/SafariZoneEast.asm index 99556473..4f9c0989 100755 --- a/data/mapHeaders/SafariZoneEast.asm +++ b/data/mapHeaders/SafariZoneEast.asm @@ -1,4 +1,4 @@ -SafariZoneEast_h: +SafariZoneEast_h:: db FOREST ; tileset db SAFARI_ZONE_EAST_HEIGHT, SAFARI_ZONE_EAST_WIDTH ; dimensions (y, x) dw SafariZoneEast_Blocks ; blocks diff --git a/data/mapHeaders/SafariZoneEastRestHouse.asm b/data/mapHeaders/SafariZoneEastRestHouse.asm index b9f219c5..4afa17c4 100755 --- a/data/mapHeaders/SafariZoneEastRestHouse.asm +++ b/data/mapHeaders/SafariZoneEastRestHouse.asm @@ -1,4 +1,4 @@ -SafariZoneEastRestHouse_h: +SafariZoneEastRestHouse_h:: db GATE ; tileset db SAFARI_ZONE_EAST_REST_HOUSE_HEIGHT, SAFARI_ZONE_EAST_REST_HOUSE_WIDTH ; dimensions (y, x) dw SafariZoneEastRestHouse_Blocks ; blocks diff --git a/data/mapHeaders/SafariZoneGate.asm b/data/mapHeaders/SafariZoneGate.asm index ed306ad0..49d56b52 100755 --- a/data/mapHeaders/SafariZoneGate.asm +++ b/data/mapHeaders/SafariZoneGate.asm @@ -1,4 +1,4 @@ -SafariZoneGate_h: +SafariZoneGate_h:: db GATE ; tileset db SAFARI_ZONE_GATE_HEIGHT, SAFARI_ZONE_GATE_WIDTH ; dimensions (y, x) dw SafariZoneGate_Blocks ; blocks diff --git a/data/mapHeaders/SafariZoneNorth.asm b/data/mapHeaders/SafariZoneNorth.asm index 3d1a2f51..a8364c74 100755 --- a/data/mapHeaders/SafariZoneNorth.asm +++ b/data/mapHeaders/SafariZoneNorth.asm @@ -1,4 +1,4 @@ -SafariZoneNorth_h: +SafariZoneNorth_h:: db FOREST ; tileset db SAFARI_ZONE_NORTH_HEIGHT, SAFARI_ZONE_NORTH_WIDTH ; dimensions (y, x) dw SafariZoneNorth_Blocks ; blocks diff --git a/data/mapHeaders/SafariZoneNorthRestHouse.asm b/data/mapHeaders/SafariZoneNorthRestHouse.asm index 938c15cf..faf16451 100755 --- a/data/mapHeaders/SafariZoneNorthRestHouse.asm +++ b/data/mapHeaders/SafariZoneNorthRestHouse.asm @@ -1,4 +1,4 @@ -SafariZoneNorthRestHouse_h: +SafariZoneNorthRestHouse_h:: db GATE ; tileset db SAFARI_ZONE_NORTH_REST_HOUSE_HEIGHT, SAFARI_ZONE_NORTH_REST_HOUSE_WIDTH ; dimensions (y, x) dw SafariZoneNorthRestHouse_Blocks ; blocks diff --git a/data/mapHeaders/SafariZoneSecretHouse.asm b/data/mapHeaders/SafariZoneSecretHouse.asm index 91068691..1db35d37 100755 --- a/data/mapHeaders/SafariZoneSecretHouse.asm +++ b/data/mapHeaders/SafariZoneSecretHouse.asm @@ -1,4 +1,4 @@ -SafariZoneSecretHouse_h: +SafariZoneSecretHouse_h:: db LAB ; tileset db SAFARI_ZONE_SECRET_HOUSE_HEIGHT, SAFARI_ZONE_SECRET_HOUSE_WIDTH ; dimensions (y, x) dw SafariZoneSecretHouse_Blocks ; blocks diff --git a/data/mapHeaders/SafariZoneWest.asm b/data/mapHeaders/SafariZoneWest.asm index 876169d1..00fd7d91 100755 --- a/data/mapHeaders/SafariZoneWest.asm +++ b/data/mapHeaders/SafariZoneWest.asm @@ -1,4 +1,4 @@ -SafariZoneWest_h: +SafariZoneWest_h:: db FOREST ; tileset db SAFARI_ZONE_WEST_HEIGHT, SAFARI_ZONE_WEST_WIDTH ; dimensions (y, x) dw SafariZoneWest_Blocks ; blocks diff --git a/data/mapHeaders/SafariZoneWestRestHouse.asm b/data/mapHeaders/SafariZoneWestRestHouse.asm index 886382ec..6b630df3 100755 --- a/data/mapHeaders/SafariZoneWestRestHouse.asm +++ b/data/mapHeaders/SafariZoneWestRestHouse.asm @@ -1,4 +1,4 @@ -SafariZoneWestRestHouse_h: +SafariZoneWestRestHouse_h:: db GATE ; tileset db SAFARI_ZONE_WEST_REST_HOUSE_HEIGHT, SAFARI_ZONE_WEST_REST_HOUSE_WIDTH ; dimensions (y, x) dw SafariZoneWestRestHouse_Blocks ; blocks diff --git a/data/mapHeaders/SaffronCity.asm b/data/mapHeaders/SaffronCity.asm index 13239891..c7a498de 100755 --- a/data/mapHeaders/SaffronCity.asm +++ b/data/mapHeaders/SaffronCity.asm @@ -1,4 +1,4 @@ -SaffronCity_h: +SaffronCity_h:: db OVERWORLD ; tileset db SAFFRON_CITY_HEIGHT, SAFFRON_CITY_WIDTH ; dimensions (y, x) dw SaffronCity_Blocks ; blocks diff --git a/data/mapHeaders/SaffronGym.asm b/data/mapHeaders/SaffronGym.asm index 6cbadb2c..d9ca460d 100755 --- a/data/mapHeaders/SaffronGym.asm +++ b/data/mapHeaders/SaffronGym.asm @@ -1,4 +1,4 @@ -SaffronGym_h: +SaffronGym_h:: db FACILITY ; tileset db SAFFRON_GYM_HEIGHT, SAFFRON_GYM_WIDTH ; dimensions (y, x) dw SaffronGym_Blocks ; blocks diff --git a/data/mapHeaders/SaffronMart.asm b/data/mapHeaders/SaffronMart.asm index abd537b6..d8c477a4 100755 --- a/data/mapHeaders/SaffronMart.asm +++ b/data/mapHeaders/SaffronMart.asm @@ -1,4 +1,4 @@ -SaffronMart_h: +SaffronMart_h:: db MART ; tileset db SAFFRON_MART_HEIGHT, SAFFRON_MART_WIDTH ; dimensions (y, x) dw SaffronMart_Blocks ; blocks diff --git a/data/mapHeaders/SaffronPidgeyHouse.asm b/data/mapHeaders/SaffronPidgeyHouse.asm index 5d6e21ae..8e2e8b47 100755 --- a/data/mapHeaders/SaffronPidgeyHouse.asm +++ b/data/mapHeaders/SaffronPidgeyHouse.asm @@ -1,4 +1,4 @@ -SaffronPidgeyHouse_h: +SaffronPidgeyHouse_h:: db HOUSE ; tileset db SAFFRON_PIDGEY_HOUSE_HEIGHT, SAFFRON_PIDGEY_HOUSE_WIDTH ; dimensions (y, x) dw SaffronPidgeyHouse_Blocks ; blocks diff --git a/data/mapHeaders/SaffronPokecenter.asm b/data/mapHeaders/SaffronPokecenter.asm index 32f1ec71..18f7a7de 100755 --- a/data/mapHeaders/SaffronPokecenter.asm +++ b/data/mapHeaders/SaffronPokecenter.asm @@ -1,4 +1,4 @@ -SaffronPokecenter_h: +SaffronPokecenter_h:: db POKECENTER ; tileset db SAFFRON_POKECENTER_HEIGHT, SAFFRON_POKECENTER_WIDTH ; dimensions (y, x) dw SaffronPokecenter_Blocks ; blocks diff --git a/data/mapHeaders/SeafoamIslands1F.asm b/data/mapHeaders/SeafoamIslands1F.asm index f5260cda..67df46fa 100755 --- a/data/mapHeaders/SeafoamIslands1F.asm +++ b/data/mapHeaders/SeafoamIslands1F.asm @@ -1,4 +1,4 @@ -SeafoamIslands1F_h: +SeafoamIslands1F_h:: db CAVERN ; tileset db SEAFOAM_ISLANDS_1F_HEIGHT, SEAFOAM_ISLANDS_1F_WIDTH ; dimensions (y, x) dw SeafoamIslands1F_Blocks ; blocks diff --git a/data/mapHeaders/SeafoamIslandsB1F.asm b/data/mapHeaders/SeafoamIslandsB1F.asm index 23116f74..e1a667b6 100755 --- a/data/mapHeaders/SeafoamIslandsB1F.asm +++ b/data/mapHeaders/SeafoamIslandsB1F.asm @@ -1,4 +1,4 @@ -SeafoamIslandsB1F_h: +SeafoamIslandsB1F_h:: db CAVERN ; tileset db SEAFOAM_ISLANDS_B1F_HEIGHT, SEAFOAM_ISLANDS_B1F_WIDTH ; dimensions (y, x) dw SeafoamIslandsB1F_Blocks ; blocks diff --git a/data/mapHeaders/SeafoamIslandsB2F.asm b/data/mapHeaders/SeafoamIslandsB2F.asm index 10d45dad..d8074e20 100755 --- a/data/mapHeaders/SeafoamIslandsB2F.asm +++ b/data/mapHeaders/SeafoamIslandsB2F.asm @@ -1,4 +1,4 @@ -SeafoamIslandsB2F_h: +SeafoamIslandsB2F_h:: db CAVERN ; tileset db SEAFOAM_ISLANDS_B2F_HEIGHT, SEAFOAM_ISLANDS_B2F_WIDTH ; dimensions (y, x) dw SeafoamIslandsB2F_Blocks ; blocks diff --git a/data/mapHeaders/SeafoamIslandsB3F.asm b/data/mapHeaders/SeafoamIslandsB3F.asm index 812d1121..2976a45b 100755 --- a/data/mapHeaders/SeafoamIslandsB3F.asm +++ b/data/mapHeaders/SeafoamIslandsB3F.asm @@ -1,4 +1,4 @@ -SeafoamIslandsB3F_h: +SeafoamIslandsB3F_h:: db CAVERN ; tileset db SEAFOAM_ISLANDS_B3F_HEIGHT, SEAFOAM_ISLANDS_B3F_WIDTH ; dimensions (y, x) dw SeafoamIslandsB3F_Blocks ; blocks diff --git a/data/mapHeaders/SeafoamIslandsB4F.asm b/data/mapHeaders/SeafoamIslandsB4F.asm index 96c25e06..fcc98db5 100755 --- a/data/mapHeaders/SeafoamIslandsB4F.asm +++ b/data/mapHeaders/SeafoamIslandsB4F.asm @@ -1,4 +1,4 @@ -SeafoamIslandsB4F_h: +SeafoamIslandsB4F_h:: db CAVERN ; tileset db SEAFOAM_ISLANDS_B4F_HEIGHT, SEAFOAM_ISLANDS_B4F_WIDTH ; dimensions (y, x) dw SeafoamIslandsB4F_Blocks ; blocks diff --git a/data/mapHeaders/SilphCo10F.asm b/data/mapHeaders/SilphCo10F.asm index ad040479..be016e65 100755 --- a/data/mapHeaders/SilphCo10F.asm +++ b/data/mapHeaders/SilphCo10F.asm @@ -1,4 +1,4 @@ -SilphCo10F_h: +SilphCo10F_h:: db FACILITY ; tileset db SILPH_CO_10F_HEIGHT, SILPH_CO_10F_WIDTH ; dimensions (y, x) dw SilphCo10F_Blocks ; blocks diff --git a/data/mapHeaders/SilphCo11F.asm b/data/mapHeaders/SilphCo11F.asm index 08d6d650..c16255dd 100755 --- a/data/mapHeaders/SilphCo11F.asm +++ b/data/mapHeaders/SilphCo11F.asm @@ -1,4 +1,4 @@ -SilphCo11F_h: +SilphCo11F_h:: db INTERIOR ; tileset db SILPH_CO_11F_HEIGHT, SILPH_CO_11F_WIDTH ; dimensions (y, x) dw SilphCo11F_Blocks ; blocks diff --git a/data/mapHeaders/SilphCo1F.asm b/data/mapHeaders/SilphCo1F.asm index 45e6c5bf..0109677e 100755 --- a/data/mapHeaders/SilphCo1F.asm +++ b/data/mapHeaders/SilphCo1F.asm @@ -1,4 +1,4 @@ -SilphCo1F_h: +SilphCo1F_h:: db FACILITY ; tileset db SILPH_CO_1F_HEIGHT, SILPH_CO_1F_WIDTH ; dimensions (y, x) dw SilphCo1F_Blocks ; blocks diff --git a/data/mapHeaders/SilphCo2F.asm b/data/mapHeaders/SilphCo2F.asm index 69c2fb51..c9a21b17 100755 --- a/data/mapHeaders/SilphCo2F.asm +++ b/data/mapHeaders/SilphCo2F.asm @@ -1,4 +1,4 @@ -SilphCo2F_h: +SilphCo2F_h:: db FACILITY ; tileset db SILPH_CO_2F_HEIGHT, SILPH_CO_2F_WIDTH ; dimensions (y, x) dw SilphCo2F_Blocks ; blocks diff --git a/data/mapHeaders/SilphCo3F.asm b/data/mapHeaders/SilphCo3F.asm index 6911a604..bd027dba 100755 --- a/data/mapHeaders/SilphCo3F.asm +++ b/data/mapHeaders/SilphCo3F.asm @@ -1,4 +1,4 @@ -SilphCo3F_h: +SilphCo3F_h:: db FACILITY ; tileset db SILPH_CO_3F_HEIGHT, SILPH_CO_3F_WIDTH ; dimensions (y, x) dw SilphCo3F_Blocks ; blocks diff --git a/data/mapHeaders/SilphCo4F.asm b/data/mapHeaders/SilphCo4F.asm index 591ddc07..6f45da8d 100755 --- a/data/mapHeaders/SilphCo4F.asm +++ b/data/mapHeaders/SilphCo4F.asm @@ -1,4 +1,4 @@ -SilphCo4F_h: +SilphCo4F_h:: db FACILITY ; tileset db SILPH_CO_4F_HEIGHT, SILPH_CO_4F_WIDTH ; dimensions (y, x) dw SilphCo4F_Blocks ; blocks diff --git a/data/mapHeaders/SilphCo5F.asm b/data/mapHeaders/SilphCo5F.asm index 0303ceba..355aa258 100755 --- a/data/mapHeaders/SilphCo5F.asm +++ b/data/mapHeaders/SilphCo5F.asm @@ -1,4 +1,4 @@ -SilphCo5F_h: +SilphCo5F_h:: db FACILITY ; tileset db SILPH_CO_5F_HEIGHT, SILPH_CO_5F_WIDTH ; dimensions (y, x) dw SilphCo5F_Blocks ; blocks diff --git a/data/mapHeaders/SilphCo6F.asm b/data/mapHeaders/SilphCo6F.asm index b26a7587..732248ac 100755 --- a/data/mapHeaders/SilphCo6F.asm +++ b/data/mapHeaders/SilphCo6F.asm @@ -1,4 +1,4 @@ -SilphCo6F_h: +SilphCo6F_h:: db FACILITY ; tileset db SILPH_CO_6F_HEIGHT, SILPH_CO_6F_WIDTH ; dimensions (y, x) dw SilphCo6F_Blocks ; blocks diff --git a/data/mapHeaders/SilphCo7F.asm b/data/mapHeaders/SilphCo7F.asm index 5c6ea959..116e0342 100755 --- a/data/mapHeaders/SilphCo7F.asm +++ b/data/mapHeaders/SilphCo7F.asm @@ -1,4 +1,4 @@ -SilphCo7F_h: +SilphCo7F_h:: db FACILITY ; tileset db SILPH_CO_7F_HEIGHT, SILPH_CO_7F_WIDTH ; dimensions (y, x) dw SilphCo7F_Blocks ; blocks diff --git a/data/mapHeaders/SilphCo8F.asm b/data/mapHeaders/SilphCo8F.asm index e467298e..6d1c7faf 100755 --- a/data/mapHeaders/SilphCo8F.asm +++ b/data/mapHeaders/SilphCo8F.asm @@ -1,4 +1,4 @@ -SilphCo8F_h: +SilphCo8F_h:: db FACILITY ; tileset db SILPH_CO_8F_HEIGHT, SILPH_CO_8F_WIDTH ; dimensions (y, x) dw SilphCo8F_Blocks ; blocks diff --git a/data/mapHeaders/SilphCo9F.asm b/data/mapHeaders/SilphCo9F.asm index ec591e51..3465e2fc 100755 --- a/data/mapHeaders/SilphCo9F.asm +++ b/data/mapHeaders/SilphCo9F.asm @@ -1,4 +1,4 @@ -SilphCo9F_h: +SilphCo9F_h:: db FACILITY ; tileset db SILPH_CO_9F_HEIGHT, SILPH_CO_9F_WIDTH ; dimensions (y, x) dw SilphCo9F_Blocks ; blocks diff --git a/data/mapHeaders/SilphCoElevator.asm b/data/mapHeaders/SilphCoElevator.asm index 0abe2810..5bf164da 100755 --- a/data/mapHeaders/SilphCoElevator.asm +++ b/data/mapHeaders/SilphCoElevator.asm @@ -1,4 +1,4 @@ -SilphCoElevator_h: +SilphCoElevator_h:: db LOBBY ; tileset db SILPH_CO_ELEVATOR_HEIGHT, SILPH_CO_ELEVATOR_WIDTH ; dimensions (y, x) dw SilphCoElevator_Blocks ; blocks diff --git a/data/mapHeaders/TradeCenter.asm b/data/mapHeaders/TradeCenter.asm index 39981c35..584cf3c6 100755 --- a/data/mapHeaders/TradeCenter.asm +++ b/data/mapHeaders/TradeCenter.asm @@ -1,4 +1,4 @@ -TradeCenter_h: +TradeCenter_h:: db CLUB ; tileset db TRADE_CENTER_HEIGHT, TRADE_CENTER_WIDTH ; dimensions (y, x) dw TradeCenter_Blocks ; blocks diff --git a/data/mapHeaders/UndergroundPathNorthSouth.asm b/data/mapHeaders/UndergroundPathNorthSouth.asm index 5dd8cdf8..1443d875 100755 --- a/data/mapHeaders/UndergroundPathNorthSouth.asm +++ b/data/mapHeaders/UndergroundPathNorthSouth.asm @@ -1,4 +1,4 @@ -UndergroundPathNorthSouth_h: +UndergroundPathNorthSouth_h:: db UNDERGROUND ; tileset db UNDERGROUND_PATH_NORTH_SOUTH_HEIGHT, UNDERGROUND_PATH_NORTH_SOUTH_WIDTH ; dimensions (y, x) dw UndergroundPathNorthSouth_Blocks ; blocks diff --git a/data/mapHeaders/UndergroundPathRoute5.asm b/data/mapHeaders/UndergroundPathRoute5.asm index 14c6aa4d..769bd1c0 100755 --- a/data/mapHeaders/UndergroundPathRoute5.asm +++ b/data/mapHeaders/UndergroundPathRoute5.asm @@ -1,4 +1,4 @@ -UndergroundPathRoute5_h: +UndergroundPathRoute5_h:: db GATE ; tileset db UNDERGROUND_PATH_ROUTE_5_HEIGHT, UNDERGROUND_PATH_ROUTE_5_WIDTH ; dimensions (y, x) dw UndergroundPathRoute5_Blocks ; blocks diff --git a/data/mapHeaders/UndergroundPathRoute6.asm b/data/mapHeaders/UndergroundPathRoute6.asm index 6aea459c..f2a5beb7 100755 --- a/data/mapHeaders/UndergroundPathRoute6.asm +++ b/data/mapHeaders/UndergroundPathRoute6.asm @@ -1,4 +1,4 @@ -UndergroundPathRoute6_h: +UndergroundPathRoute6_h:: db GATE ; tileset db UNDERGROUND_PATH_ROUTE_6_HEIGHT, UNDERGROUND_PATH_ROUTE_6_WIDTH ; dimensions (y, x) dw UndergroundPathRoute6_Blocks ; blocks diff --git a/data/mapHeaders/UndergroundPathRoute7.asm b/data/mapHeaders/UndergroundPathRoute7.asm index 91495ea3..b8120ef4 100755 --- a/data/mapHeaders/UndergroundPathRoute7.asm +++ b/data/mapHeaders/UndergroundPathRoute7.asm @@ -1,4 +1,4 @@ -UndergroundPathRoute7_h: +UndergroundPathRoute7_h:: db GATE ; tileset db UNDERGROUND_PATH_ROUTE_7_HEIGHT, UNDERGROUND_PATH_ROUTE_7_WIDTH ; dimensions (y, x) dw UndergroundPathRoute7_Blocks ; blocks diff --git a/data/mapHeaders/UndergroundPathRoute7Copy.asm b/data/mapHeaders/UndergroundPathRoute7Copy.asm index 9d3f4c62..2ccdac57 100755 --- a/data/mapHeaders/UndergroundPathRoute7Copy.asm +++ b/data/mapHeaders/UndergroundPathRoute7Copy.asm @@ -1,4 +1,4 @@ -UndergroundPathRoute7Copy_h: +UndergroundPathRoute7Copy_h:: db GATE ; tileset db UNDERGROUND_PATH_ROUTE_7_HEIGHT, UNDERGROUND_PATH_ROUTE_7_WIDTH ; dimensions (y, x) dw UndergroundPathRoute7Copy_Blocks ; blocks diff --git a/data/mapHeaders/UndergroundPathRoute8.asm b/data/mapHeaders/UndergroundPathRoute8.asm index f34265b8..a1971c3c 100755 --- a/data/mapHeaders/UndergroundPathRoute8.asm +++ b/data/mapHeaders/UndergroundPathRoute8.asm @@ -1,4 +1,4 @@ -UndergroundPathRoute8_h: +UndergroundPathRoute8_h:: db GATE ; tileset db UNDERGROUND_PATH_ROUTE_8_HEIGHT, UNDERGROUND_PATH_ROUTE_8_WIDTH ; dimensions (y, x) dw UndergroundPathRoute8_Blocks ; blocks diff --git a/data/mapHeaders/UndergroundPathWestEast.asm b/data/mapHeaders/UndergroundPathWestEast.asm index d084bd73..1d50c103 100755 --- a/data/mapHeaders/UndergroundPathWestEast.asm +++ b/data/mapHeaders/UndergroundPathWestEast.asm @@ -1,4 +1,4 @@ -UndergroundPathWestEast_h: +UndergroundPathWestEast_h:: db UNDERGROUND ; tileset db UNDERGROUND_PATH_WEST_EAST_HEIGHT, UNDERGROUND_PATH_WEST_EAST_WIDTH ; dimensions (y, x) dw UndergroundPathWestEast_Blocks ; blocks diff --git a/data/mapHeaders/VermilionCity.asm b/data/mapHeaders/VermilionCity.asm index 6521ad89..8026c214 100755 --- a/data/mapHeaders/VermilionCity.asm +++ b/data/mapHeaders/VermilionCity.asm @@ -1,4 +1,4 @@ -VermilionCity_h: +VermilionCity_h:: db OVERWORLD ; tileset db VERMILION_CITY_HEIGHT, VERMILION_CITY_WIDTH ; dimensions (y, x) dw VermilionCity_Blocks ; blocks diff --git a/data/mapHeaders/VermilionDock.asm b/data/mapHeaders/VermilionDock.asm index f7dca8e6..0eb0edac 100755 --- a/data/mapHeaders/VermilionDock.asm +++ b/data/mapHeaders/VermilionDock.asm @@ -1,4 +1,4 @@ -VermilionDock_h: +VermilionDock_h:: db SHIP_PORT ; tileset db VERMILION_DOCK_HEIGHT, VERMILION_DOCK_WIDTH ; dimensions (y, x) dw VermilionDock_Blocks ; blocks diff --git a/data/mapHeaders/VermilionGym.asm b/data/mapHeaders/VermilionGym.asm index fe304a2e..0b5913f1 100755 --- a/data/mapHeaders/VermilionGym.asm +++ b/data/mapHeaders/VermilionGym.asm @@ -1,4 +1,4 @@ -VermilionGym_h: +VermilionGym_h:: db GYM ; tileset db VERMILION_GYM_HEIGHT, VERMILION_GYM_WIDTH ; dimensions (y, x) dw VermilionGym_Blocks ; blocks diff --git a/data/mapHeaders/VermilionMart.asm b/data/mapHeaders/VermilionMart.asm index 67f24f59..2fc1c79a 100755 --- a/data/mapHeaders/VermilionMart.asm +++ b/data/mapHeaders/VermilionMart.asm @@ -1,4 +1,4 @@ -VermilionMart_h: +VermilionMart_h:: db MART ; tileset db VERMILION_MART_HEIGHT, VERMILION_MART_WIDTH ; dimensions (y, x) dw VermilionMart_Blocks ; blocks diff --git a/data/mapHeaders/VermilionOldRodHouse.asm b/data/mapHeaders/VermilionOldRodHouse.asm index f4b69110..88a6e5d8 100755 --- a/data/mapHeaders/VermilionOldRodHouse.asm +++ b/data/mapHeaders/VermilionOldRodHouse.asm @@ -1,4 +1,4 @@ -VermilionOldRodHouse_h: +VermilionOldRodHouse_h:: db HOUSE ; tileset db VERMILION_OLD_ROD_HOUSE_HEIGHT, VERMILION_OLD_ROD_HOUSE_WIDTH ; dimensions (y, x) dw VermilionOldRodHouse_Blocks ; blocks diff --git a/data/mapHeaders/VermilionPidgeyHouse.asm b/data/mapHeaders/VermilionPidgeyHouse.asm index af052fa6..d355805a 100755 --- a/data/mapHeaders/VermilionPidgeyHouse.asm +++ b/data/mapHeaders/VermilionPidgeyHouse.asm @@ -1,4 +1,4 @@ -VermilionPidgeyHouse_h: +VermilionPidgeyHouse_h:: db HOUSE ; tileset db VERMILION_PIDGEY_HOUSE_HEIGHT, VERMILION_PIDGEY_HOUSE_WIDTH ; dimensions (y, x) dw VermilionPidgeyHouse_Blocks ; blocks diff --git a/data/mapHeaders/VermilionPokecenter.asm b/data/mapHeaders/VermilionPokecenter.asm index 3d4c23ec..face28d6 100755 --- a/data/mapHeaders/VermilionPokecenter.asm +++ b/data/mapHeaders/VermilionPokecenter.asm @@ -1,4 +1,4 @@ -VermilionPokecenter_h: +VermilionPokecenter_h:: db POKECENTER ; tileset db VERMILION_POKECENTER_HEIGHT, VERMILION_POKECENTER_WIDTH ; dimensions (y, x) dw VermilionPokecenter_Blocks ; blocks diff --git a/data/mapHeaders/VermilionTradeHouse.asm b/data/mapHeaders/VermilionTradeHouse.asm index 21d30049..cadd14b2 100755 --- a/data/mapHeaders/VermilionTradeHouse.asm +++ b/data/mapHeaders/VermilionTradeHouse.asm @@ -1,4 +1,4 @@ -VermilionTradeHouse_h: +VermilionTradeHouse_h:: db HOUSE ; tileset db VERMILION_TRADE_HOUSE_HEIGHT, VERMILION_TRADE_HOUSE_WIDTH ; dimensions (y, x) dw VermilionTradeHouse_Blocks ; blocks diff --git a/data/mapHeaders/VictoryRoad1F.asm b/data/mapHeaders/VictoryRoad1F.asm index 3508d782..239a8de3 100755 --- a/data/mapHeaders/VictoryRoad1F.asm +++ b/data/mapHeaders/VictoryRoad1F.asm @@ -1,4 +1,4 @@ -VictoryRoad1F_h: +VictoryRoad1F_h:: db CAVERN ; tileset db VICTORY_ROAD_1F_HEIGHT, VICTORY_ROAD_1F_WIDTH ; dimensions (y, x) dw VictoryRoad1F_Blocks ; blocks diff --git a/data/mapHeaders/VictoryRoad2F.asm b/data/mapHeaders/VictoryRoad2F.asm index 31693c1c..a0138cb2 100755 --- a/data/mapHeaders/VictoryRoad2F.asm +++ b/data/mapHeaders/VictoryRoad2F.asm @@ -1,4 +1,4 @@ -VictoryRoad2F_h: +VictoryRoad2F_h:: db CAVERN ; tileset db VICTORY_ROAD_2F_HEIGHT, VICTORY_ROAD_2F_WIDTH ; dimensions (y, x) dw VictoryRoad2F_Blocks ; blocks diff --git a/data/mapHeaders/VictoryRoad3F.asm b/data/mapHeaders/VictoryRoad3F.asm index 3f5e21d2..32133afa 100755 --- a/data/mapHeaders/VictoryRoad3F.asm +++ b/data/mapHeaders/VictoryRoad3F.asm @@ -1,4 +1,4 @@ -VictoryRoad3F_h: +VictoryRoad3F_h:: db CAVERN ; tileset db VICTORY_ROAD_3F_HEIGHT, VICTORY_ROAD_3F_WIDTH ; dimensions (y, x) dw VictoryRoad3F_Blocks ; blocks diff --git a/data/mapHeaders/ViridianCity.asm b/data/mapHeaders/ViridianCity.asm index 09f7b9f4..5dc56820 100755 --- a/data/mapHeaders/ViridianCity.asm +++ b/data/mapHeaders/ViridianCity.asm @@ -1,4 +1,4 @@ -ViridianCity_h: +ViridianCity_h:: db OVERWORLD ; tileset db VIRIDIAN_CITY_HEIGHT, VIRIDIAN_CITY_WIDTH ; dimensions (y, x) dw ViridianCity_Blocks ; blocks diff --git a/data/mapHeaders/ViridianForest.asm b/data/mapHeaders/ViridianForest.asm index a8df3e6e..557b99ed 100755 --- a/data/mapHeaders/ViridianForest.asm +++ b/data/mapHeaders/ViridianForest.asm @@ -1,4 +1,4 @@ -ViridianForest_h: +ViridianForest_h:: db FOREST ; tileset db VIRIDIAN_FOREST_HEIGHT, VIRIDIAN_FOREST_WIDTH ; dimensions (y, x) dw ViridianForest_Blocks ; blocks diff --git a/data/mapHeaders/ViridianForestNorthGate.asm b/data/mapHeaders/ViridianForestNorthGate.asm index 48535977..1fd4ac7d 100755 --- a/data/mapHeaders/ViridianForestNorthGate.asm +++ b/data/mapHeaders/ViridianForestNorthGate.asm @@ -1,4 +1,4 @@ -ViridianForestNorthGate_h: +ViridianForestNorthGate_h:: db FOREST_GATE ; tileset db VIRIDIAN_FOREST_NORTH_GATE_HEIGHT, VIRIDIAN_FOREST_NORTH_GATE_WIDTH ; dimensions (y, x) dw ViridianForestNorthGate_Blocks ; blocks diff --git a/data/mapHeaders/ViridianForestSouthGate.asm b/data/mapHeaders/ViridianForestSouthGate.asm index b134ebea..65d587f8 100755 --- a/data/mapHeaders/ViridianForestSouthGate.asm +++ b/data/mapHeaders/ViridianForestSouthGate.asm @@ -1,4 +1,4 @@ -ViridianForestSouthGate_h: +ViridianForestSouthGate_h:: db FOREST_GATE ; tileset db VIRIDIAN_FOREST_SOUTH_GATE_HEIGHT, VIRIDIAN_FOREST_SOUTH_GATE_WIDTH ; dimensions (y, x) dw ViridianForestSouthGate_Blocks ; blocks diff --git a/data/mapHeaders/ViridianGym.asm b/data/mapHeaders/ViridianGym.asm index 9b27845c..136a13b5 100755 --- a/data/mapHeaders/ViridianGym.asm +++ b/data/mapHeaders/ViridianGym.asm @@ -1,4 +1,4 @@ -ViridianGym_h: +ViridianGym_h:: db GYM ; tileset db VIRIDIAN_GYM_HEIGHT, VIRIDIAN_GYM_WIDTH ; dimensions (y, x) dw ViridianGym_Blocks ; blocks diff --git a/data/mapHeaders/ViridianMart.asm b/data/mapHeaders/ViridianMart.asm index 063f3327..341caa86 100755 --- a/data/mapHeaders/ViridianMart.asm +++ b/data/mapHeaders/ViridianMart.asm @@ -1,4 +1,4 @@ -ViridianMart_h: +ViridianMart_h:: db MART ; tileset db VIRIDIAN_MART_HEIGHT, VIRIDIAN_MART_WIDTH ; dimensions (y, x) dw ViridianMart_Blocks ; blocks diff --git a/data/mapHeaders/ViridianNicknameHouse.asm b/data/mapHeaders/ViridianNicknameHouse.asm index b6a00392..db817b2f 100755 --- a/data/mapHeaders/ViridianNicknameHouse.asm +++ b/data/mapHeaders/ViridianNicknameHouse.asm @@ -1,4 +1,4 @@ -ViridianNicknameHouse_h: +ViridianNicknameHouse_h:: db HOUSE ; tileset db VIRIDIAN_NICKNAME_HOUSE_HEIGHT, VIRIDIAN_NICKNAME_HOUSE_WIDTH ; dimensions (y, x) dw ViridianNicknameHouse_Blocks ; blocks diff --git a/data/mapHeaders/ViridianPokecenter.asm b/data/mapHeaders/ViridianPokecenter.asm index 25c569d8..203abf06 100755 --- a/data/mapHeaders/ViridianPokecenter.asm +++ b/data/mapHeaders/ViridianPokecenter.asm @@ -1,4 +1,4 @@ -ViridianPokecenter_h: +ViridianPokecenter_h:: db POKECENTER ; tileset db VIRIDIAN_POKECENTER_HEIGHT, VIRIDIAN_POKECENTER_WIDTH ; dimensions (y, x) dw ViridianPokecenter_Blocks ; blocks diff --git a/data/mapHeaders/ViridianSchoolHouse.asm b/data/mapHeaders/ViridianSchoolHouse.asm index 15e5c88f..fdf1090a 100755 --- a/data/mapHeaders/ViridianSchoolHouse.asm +++ b/data/mapHeaders/ViridianSchoolHouse.asm @@ -1,4 +1,4 @@ -ViridianSchoolHouse_h: +ViridianSchoolHouse_h:: db HOUSE ; tileset db VIRIDIAN_SCHOOL_HOUSE_HEIGHT, VIRIDIAN_SCHOOL_HOUSE_WIDTH ; dimensions (y, x) dw ViridianSchoolHouse_Blocks ; blocks diff --git a/data/mapHeaders/WardensHouse.asm b/data/mapHeaders/WardensHouse.asm index 128e357a..6c6b0f6c 100755 --- a/data/mapHeaders/WardensHouse.asm +++ b/data/mapHeaders/WardensHouse.asm @@ -1,4 +1,4 @@ -WardensHouse_h: +WardensHouse_h:: db LAB ; tileset db WARDENS_HOUSE_HEIGHT, WARDENS_HOUSE_WIDTH ; dimensions (y, x) dw WardensHouse_Blocks ; blocks diff --git a/data/map_header_banks.asm b/data/map_header_banks.asm index 3dc1988a..d698cfee 100755 --- a/data/map_header_banks.asm +++ b/data/map_header_banks.asm @@ -1,5 +1,5 @@ ; see also MapHeaderPointers -MapHeaderBanks: +MapHeaderBanks:: db BANK(PalletTown_h) db BANK(ViridianCity_h) db BANK(PewterCity_h) diff --git a/data/map_songs.asm b/data/map_songs.asm index 55ec5abf..28e17223 100755 --- a/data/map_songs.asm +++ b/data/map_songs.asm @@ -1,4 +1,4 @@ -MapSongBanks: +MapSongBanks:: db MUSIC_PALLET_TOWN, BANK(Music_PalletTown) ; PALLET_TOWN db MUSIC_CITIES1, BANK(Music_Cities1) ; VIRIDIAN_CITY db MUSIC_CITIES1, BANK(Music_Cities1) ; PEWTER_CITY diff --git a/data/trainer_pic_money_pointers.asm b/data/trainer_pic_money_pointers.asm index 37678e74..85f34497 100755 --- a/data/trainer_pic_money_pointers.asm +++ b/data/trainer_pic_money_pointers.asm @@ -1,4 +1,4 @@ -TrainerPicAndMoneyPointers: +TrainerPicAndMoneyPointers:: ; trainer pic pointers and base money. ; money received after battle = base money × level of highest-level enemy mon dw YoungsterPic diff --git a/engine/add_mon.asm b/engine/add_mon.asm index b2feeb12..7627136b 100644 --- a/engine/add_mon.asm +++ b/engine/add_mon.asm @@ -1,4 +1,4 @@ -_AddPartyMon: +_AddPartyMon:: ; Adds a new mon to the player's or enemy's party. ; [wMonDataLocation] is used in an unusual way in this function. ; If the lower nybble is 0, the mon is added to the player's party, else the enemy's. @@ -277,7 +277,7 @@ AddPartyMon_WriteMovePP: ; adds enemy mon [wcf91] (at position [wWhichPokemon] in enemy list) to own party ; used in the cable club trade center -_AddEnemyMonToPlayerParty: +_AddEnemyMonToPlayerParty:: ld hl, wPartyCount ld a, [hl] cp PARTY_LENGTH @@ -338,7 +338,7 @@ _AddEnemyMonToPlayerParty: and a ret ; return success -_MoveMon: +_MoveMon:: ld a, [wMoveMonType] and a ; BOX_TO_PARTY jr z, .checkPartyMonSlots diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 96ec8e2f..96318c78 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -1451,7 +1451,7 @@ TrainerSentOutText: ; tests if the player has any pokemon that are not fainted ; sets d = 0 if all fainted, d != 0 if some mons are still alive -AnyPartyAlive: +AnyPartyAlive:: ld a, [wPartyCount] ld e, a xor a @@ -1996,7 +1996,7 @@ CenterMonName: pop de ret -DisplayBattleMenu: +DisplayBattleMenu:: call LoadScreenTilesFromBuffer1 ; restore saved screen ld a, [wBattleType] and a @@ -6718,7 +6718,7 @@ PlayMoveAnimation: call Delay3 predef_jump MoveAnimation -InitBattle: +InitBattle:: ld a, [wCurOpponent] and a jr z, DetermineWildOpponent @@ -6934,7 +6934,7 @@ CopyUncompressedPicToTilemap: ld a, [wPredefRegisters + 1] ld l, a ld a, [hStartTileID] -CopyUncompressedPicToHL: +CopyUncompressedPicToHL:: lb bc, 7, 7 ld de, SCREEN_WIDTH push af diff --git a/engine/battle/get_trainer_name.asm b/engine/battle/get_trainer_name.asm index 36ca019e..478cdc26 100644 --- a/engine/battle/get_trainer_name.asm +++ b/engine/battle/get_trainer_name.asm @@ -1,4 +1,4 @@ -GetTrainerName_: +GetTrainerName_:: ld hl, wGrassRate ld a, [wLinkState] and a diff --git a/engine/battle/save_trainer_name.asm b/engine/battle/save_trainer_name.asm index 114bd650..78e53b87 100644 --- a/engine/battle/save_trainer_name.asm +++ b/engine/battle/save_trainer_name.asm @@ -1,4 +1,4 @@ -SaveTrainerName: +SaveTrainerName:: ld hl, TrainerNamePointers ld a, [wTrainerClass] dec a diff --git a/engine/display_pokedex.asm b/engine/display_pokedex.asm index 96a2dd6c..d657ea85 100644 --- a/engine/display_pokedex.asm +++ b/engine/display_pokedex.asm @@ -1,4 +1,4 @@ -_DisplayPokedex: +_DisplayPokedex:: ld hl, wd730 set 6, [hl] predef ShowPokedexData diff --git a/engine/display_text_id_init.asm b/engine/display_text_id_init.asm index 59b3a5f8..5043ad22 100644 --- a/engine/display_text_id_init.asm +++ b/engine/display_text_id_init.asm @@ -1,5 +1,5 @@ ; function that performs initialization for DisplayTextID -DisplayTextIDInit: +DisplayTextIDInit:: xor a ld [wListMenuID], a ld a, [wAutoTextBoxDrawingControl] diff --git a/engine/experience.asm b/engine/experience.asm index 0b8d154f..3ee4b2a8 100755 --- a/engine/experience.asm +++ b/engine/experience.asm @@ -1,5 +1,5 @@ ; calculates the level a mon should be based on its current exp -CalcLevelFromExperience: +CalcLevelFromExperience:: ld a, [wLoadedMonSpecies] ld [wd0b5], a call GetMonHeader @@ -28,7 +28,7 @@ CalcLevelFromExperience: ret ; calculates the amount of experience needed for level d -CalcExperience: +CalcExperience:: ld a, [wMonHGrowthRate] add a add a diff --git a/engine/game_corner_slots.asm b/engine/game_corner_slots.asm index 3c5b3a10..2108695f 100755 --- a/engine/game_corner_slots.asm +++ b/engine/game_corner_slots.asm @@ -41,14 +41,14 @@ StartSlotMachine: call PrintPredefTextID ret -GameCornerOutOfOrderText: +GameCornerOutOfOrderText:: TX_FAR _GameCornerOutOfOrderText db "@" -GameCornerOutToLunchText: +GameCornerOutToLunchText:: TX_FAR _GameCornerOutToLunchText db "@" -GameCornerSomeonesKeysText: +GameCornerSomeonesKeysText:: TX_FAR _GameCornerSomeonesKeysText db "@" diff --git a/engine/game_corner_slots2.asm b/engine/game_corner_slots2.asm index 6bbaf72d..8f6e8374 100755 --- a/engine/game_corner_slots2.asm +++ b/engine/game_corner_slots2.asm @@ -22,10 +22,10 @@ AbleToPlaySlotsCheck: ld [wCanPlaySlots], a ret -GameCornerCoinCaseText: +GameCornerCoinCaseText:: TX_FAR _GameCornerCoinCaseText db "@" -GameCornerNoCoinsText: +GameCornerNoCoinsText:: TX_FAR _GameCornerNoCoinsText db "@" diff --git a/engine/give_pokemon.asm b/engine/give_pokemon.asm index 241975c3..03177e60 100755 --- a/engine/give_pokemon.asm +++ b/engine/give_pokemon.asm @@ -1,4 +1,4 @@ -_GivePokemon: +_GivePokemon:: ; returns success in carry ; and whether the mon was added to the party in [wAddedToParty] call EnableAutoTextBoxDrawing diff --git a/engine/hidden_object_functions14.asm b/engine/hidden_object_functions14.asm index f8cdf44e..9e14c6a7 100755 --- a/engine/hidden_object_functions14.asm +++ b/engine/hidden_object_functions14.asm @@ -5,12 +5,12 @@ PrintNotebookText: ld a, [wHiddenObjectFunctionArgument] jp PrintPredefTextID -TMNotebook: +TMNotebook:: TX_FAR TMNotebookText TX_WAIT db "@" -ViridianSchoolNotebook: +ViridianSchoolNotebook:: TX_ASM ld hl, ViridianSchoolNotebookText1 call PrintText @@ -68,7 +68,7 @@ PrintFightingDojoText2: call EnableAutoTextBoxDrawing tx_pre_jump EnemiesOnEverySideText -EnemiesOnEverySideText: +EnemiesOnEverySideText:: TX_FAR _EnemiesOnEverySideText db "@" @@ -76,7 +76,7 @@ PrintFightingDojoText3: call EnableAutoTextBoxDrawing tx_pre_jump WhatGoesAroundComesAroundText -WhatGoesAroundComesAroundText: +WhatGoesAroundComesAroundText:: TX_FAR _WhatGoesAroundComesAroundText db "@" @@ -84,7 +84,7 @@ PrintFightingDojoText: call EnableAutoTextBoxDrawing tx_pre_jump FightingDojoText -FightingDojoText: +FightingDojoText:: TX_FAR _FightingDojoText db "@" @@ -95,6 +95,6 @@ PrintIndigoPlateauHQText: call EnableAutoTextBoxDrawing tx_pre_jump IndigoPlateauHQText -IndigoPlateauHQText: +IndigoPlateauHQText:: TX_FAR _IndigoPlateauHQText db "@" diff --git a/engine/hidden_object_functions17.asm b/engine/hidden_object_functions17.asm index c1fa5aa4..bb2a358c 100755 --- a/engine/hidden_object_functions17.asm +++ b/engine/hidden_object_functions17.asm @@ -2,7 +2,7 @@ PrintRedSNESText: call EnableAutoTextBoxDrawing tx_pre_jump RedBedroomSNESText -RedBedroomSNESText: +RedBedroomSNESText:: TX_FAR _RedBedroomSNESText db "@" @@ -10,7 +10,7 @@ OpenRedsPC: call EnableAutoTextBoxDrawing tx_pre_jump RedBedroomPCText -RedBedroomPCText: +RedBedroomPCText:: TX_PLAYERS_PC Route15GateLeftBinoculars: @@ -24,7 +24,7 @@ Route15GateLeftBinoculars: call PlayCry jp DisplayMonFrontSpriteInBox -Route15UpstairsBinocularsText: +Route15UpstairsBinocularsText:: TX_FAR _Route15UpstairsBinocularsText db "@" @@ -36,7 +36,7 @@ AerodactylFossil: tx_pre AerodactylFossilText ret -AerodactylFossilText: +AerodactylFossilText:: TX_FAR _AerodactylFossilText db "@" @@ -48,7 +48,7 @@ KabutopsFossil: tx_pre KabutopsFossilText ret -KabutopsFossilText: +KabutopsFossilText:: TX_FAR _KabutopsFossilText db "@" @@ -89,7 +89,7 @@ PrintBlackboardLinkCableText: call PrintPredefTextID ret -LinkCableHelp: +LinkCableHelp:: TX_ASM call SaveScreenTilesToBuffer1 ld hl, LinkCableHelpText1 @@ -173,7 +173,7 @@ LinkCableInfoText3: TX_FAR _LinkCableInfoText3 db "@" -ViridianSchoolBlackboard: +ViridianSchoolBlackboard:: TX_ASM call SaveScreenTilesToBuffer1 ld hl, ViridianSchoolBlackboardText1 @@ -308,7 +308,7 @@ PrintTrashText: call EnableAutoTextBoxDrawing tx_pre_jump VermilionGymTrashText -VermilionGymTrashText: +VermilionGymTrashText:: TX_FAR _VermilionGymTrashText db "@" @@ -433,7 +433,7 @@ GymTrashCans: db 3, 10, 12, 14, 0 ; 13 db 2, 11, 13, 0, 0 ; 14 -VermilionGymTrashSuccessText1: +VermilionGymTrashSuccessText1:: TX_FAR _VermilionGymTrashSuccessText1 TX_ASM call WaitForSoundToFinish @@ -443,7 +443,7 @@ VermilionGymTrashSuccessText1: jp TextScriptEnd ; unused -VermilionGymTrashSuccessText2: +VermilionGymTrashSuccessText2:: TX_FAR _VermilionGymTrashSuccessText2 db "@" @@ -456,7 +456,7 @@ VermilionGymTrashSuccesPlaySfx: call WaitForSoundToFinish jp TextScriptEnd -VermilionGymTrashSuccessText3: +VermilionGymTrashSuccessText3:: TX_FAR _VermilionGymTrashSuccessText3 TX_ASM call WaitForSoundToFinish @@ -465,7 +465,7 @@ VermilionGymTrashSuccessText3: call WaitForSoundToFinish jp TextScriptEnd -VermilionGymTrashFailText: +VermilionGymTrashFailText:: TX_FAR _VermilionGymTrashFailText TX_ASM call WaitForSoundToFinish diff --git a/engine/hidden_object_functions18.asm b/engine/hidden_object_functions18.asm index c6fb3109..c0e5aa34 100755 --- a/engine/hidden_object_functions18.asm +++ b/engine/hidden_object_functions18.asm @@ -39,11 +39,11 @@ GymStatues: db VIRIDIAN_GYM, %10000000 db $ff -GymStatueText1: +GymStatueText1:: TX_FAR _GymStatueText1 db "@" -GymStatueText2: +GymStatueText2:: TX_FAR _GymStatueText2 db "@" @@ -98,59 +98,59 @@ BenchGuyTextPointers: db_tx_pre RockTunnelPokecenterBenchGuyText db $FF -ViridianCityPokecenterBenchGuyText: +ViridianCityPokecenterBenchGuyText:: TX_FAR _ViridianCityPokecenterGuyText db "@" -PewterCityPokecenterBenchGuyText: +PewterCityPokecenterBenchGuyText:: TX_FAR _PewterCityPokecenterGuyText db "@" -CeruleanCityPokecenterBenchGuyText: +CeruleanCityPokecenterBenchGuyText:: TX_FAR _CeruleanPokecenterGuyText db "@" -LavenderCityPokecenterBenchGuyText: +LavenderCityPokecenterBenchGuyText:: TX_FAR _LavenderPokecenterGuyText db "@" -MtMoonPokecenterBenchGuyText: +MtMoonPokecenterBenchGuyText:: TX_FAR _MtMoonPokecenterBenchGuyText db "@" -RockTunnelPokecenterBenchGuyText: +RockTunnelPokecenterBenchGuyText:: TX_FAR _RockTunnelPokecenterGuyText db "@" -UnusedBenchGuyText1: +UnusedBenchGuyText1:: TX_FAR _UnusedBenchGuyText1 db "@" -UnusedBenchGuyText2: +UnusedBenchGuyText2:: TX_FAR _UnusedBenchGuyText2 db "@" -UnusedBenchGuyText3: +UnusedBenchGuyText3:: TX_FAR _UnusedBenchGuyText3 db "@" -VermilionCityPokecenterBenchGuyText: +VermilionCityPokecenterBenchGuyText:: TX_FAR _VermilionPokecenterGuyText db "@" -CeladonCityPokecenterBenchGuyText: +CeladonCityPokecenterBenchGuyText:: TX_FAR _CeladonCityPokecenterGuyText db "@" -FuchsiaCityPokecenterBenchGuyText: +FuchsiaCityPokecenterBenchGuyText:: TX_FAR _FuchsiaCityPokecenterGuyText db "@" -CinnabarIslandPokecenterBenchGuyText: +CinnabarIslandPokecenterBenchGuyText:: TX_FAR _CinnabarPokecenterGuyText db "@" -SaffronCityPokecenterBenchGuyText: +SaffronCityPokecenterBenchGuyText:: TX_ASM CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI ld hl, SaffronCityPokecenterBenchGuyText2 @@ -168,20 +168,20 @@ SaffronCityPokecenterBenchGuyText2: TX_FAR _SaffronCityPokecenterGuyText2 db "@" -CeladonCityHotelText: +CeladonCityHotelText:: TX_FAR _CeladonCityHotelText db "@" ret -UnusedPredefText: +UnusedPredefText:: db "@" PrintBookcaseText: call EnableAutoTextBoxDrawing tx_pre_jump BookcaseText -BookcaseText: +BookcaseText:: TX_FAR _BookcaseText db "@" @@ -194,5 +194,5 @@ OpenPokemonCenterPC: ld [wAutoTextBoxDrawingControl], a tx_pre_jump PokemonCenterPCText -PokemonCenterPCText: +PokemonCenterPCText:: TX_POKECENTER_PC diff --git a/engine/hidden_object_functions3.asm b/engine/hidden_object_functions3.asm index ade99fd7..1237e960 100755 --- a/engine/hidden_object_functions3.asm +++ b/engine/hidden_object_functions3.asm @@ -1,5 +1,5 @@ ; prints text for bookshelves in buildings without sign events -PrintBookshelfText: +PrintBookshelfText:: ld a, [wSpriteStateData1 + 9] ; player's sprite facing direction cp SPRITE_FACING_UP jr nz, .noMatch @@ -38,7 +38,7 @@ PrintBookshelfText: INCLUDE "data/bookshelf_tile_ids.asm" -IndigoPlateauStatues: +IndigoPlateauStatues:: TX_ASM ld hl, IndigoPlateauStatuesText1 call PrintText @@ -63,7 +63,7 @@ IndigoPlateauStatuesText3: TX_FAR _IndigoPlateauStatuesText3 db "@" -BookOrSculptureText: +BookOrSculptureText:: TX_ASM ld hl, PokemonBooksText ld a, [wCurMapTileset] @@ -85,11 +85,11 @@ DiglettSculptureText: TX_FAR _DiglettSculptureText db "@" -ElevatorText: +ElevatorText:: TX_FAR _ElevatorText db "@" -TownMapText: +TownMapText:: TX_FAR _TownMapText TX_BLINK TX_ASM @@ -112,6 +112,6 @@ TownMapText: push af jp CloseTextDisplay -PokemonStuffText: +PokemonStuffText:: TX_FAR _PokemonStuffText db "@" diff --git a/engine/hidden_object_functions7.asm b/engine/hidden_object_functions7.asm index 89be94fc..e18b9570 100755 --- a/engine/hidden_object_functions7.asm +++ b/engine/hidden_object_functions7.asm @@ -2,7 +2,7 @@ PrintNewBikeText: call EnableAutoTextBoxDrawing tx_pre_jump NewBicycleText -NewBicycleText: +NewBicycleText:: TX_FAR _NewBicycleText db "@" @@ -10,7 +10,7 @@ DisplayOakLabLeftPoster: call EnableAutoTextBoxDrawing tx_pre_jump PushStartText -PushStartText: +PushStartText:: TX_FAR _PushStartText db "@" @@ -28,15 +28,15 @@ DisplayOakLabRightPoster: .ownLessThanTwo jp PrintPredefTextID -SaveOptionText: +SaveOptionText:: TX_FAR _SaveOptionText db "@" -StrengthsAndWeaknessesText: +StrengthsAndWeaknessesText:: TX_FAR _StrengthsAndWeaknessesText db "@" -SafariZoneCheck: +SafariZoneCheck:: CheckEventHL EVENT_IN_SAFARI_ZONE ; if we are not in the Safari Zone, jr z, SafariZoneGameStillGoing ; don't bother printing game over text ld a, [wNumSafariBalls] @@ -44,7 +44,7 @@ SafariZoneCheck: jr z, SafariZoneGameOver jr SafariZoneGameStillGoing -SafariZoneCheckSteps: +SafariZoneCheckSteps:: ld a, [wSafariSteps] ld b, a ld a, [wSafariSteps + 1] @@ -90,7 +90,7 @@ SafariZoneGameOver: ld [wSafariZoneGameOver], a ret -PrintSafariGameOverText: +PrintSafariGameOverText:: xor a ld [wJoyIgnore], a ld hl, SafariGameOverText @@ -123,7 +123,7 @@ PrintCinnabarQuiz: call EnableAutoTextBoxDrawing tx_pre_jump CinnabarGymQuiz -CinnabarGymQuiz: +CinnabarGymQuiz:: TX_ASM xor a ld [wOpponentAfterWrongAnswer], a @@ -258,7 +258,7 @@ CinnabarGymQuizIncorrectText: TX_FAR _CinnabarGymQuizIncorrectText db "@" -UpdateCinnabarGymGateTileBlocks_: +UpdateCinnabarGymGateTileBlocks_:: ; Update the overworld map with open floor blocks or locked gate blocks ; depending on event flags. ld a, 6 @@ -316,7 +316,7 @@ PrintMagazinesText: tx_pre MagazinesText ret -MagazinesText: +MagazinesText:: TX_FAR _MagazinesText db "@" @@ -366,11 +366,11 @@ BillsHousePC: tx_pre BillsHousePokemonList ret -BillsHouseMonitorText: +BillsHouseMonitorText:: TX_FAR _BillsHouseMonitorText db "@" -BillsHouseInitiatedText: +BillsHouseInitiatedText:: TX_FAR _BillsHouseInitiatedText TX_BLINK TX_ASM @@ -386,7 +386,7 @@ BillsHouseInitiatedText: call DelayFrames jp TextScriptEnd -BillsHousePokemonList: +BillsHousePokemonList:: TX_ASM call SaveScreenTilesToBuffer1 ld hl, BillsHousePokemonListText1 @@ -462,6 +462,6 @@ DisplayOakLabEmailText: call EnableAutoTextBoxDrawing tx_pre_jump OakLabEmailText -OakLabEmailText: +OakLabEmailText:: TX_FAR _OakLabEmailText db "@" diff --git a/engine/items/inventory.asm b/engine/items/inventory.asm index d07f64eb..7ce61cb9 100644 --- a/engine/items/inventory.asm +++ b/engine/items/inventory.asm @@ -4,7 +4,7 @@ ; [wcf91] = item ID ; [wItemQuantity] = item quantity ; sets carry flag if successful, unsets carry flag if unsuccessful -AddItemToInventory_: +AddItemToInventory_:: ld a, [wItemQuantity] ; a = item quantity push af push bc @@ -97,7 +97,7 @@ AddItemToInventory_: ; hl = address of inventory (either wNumBagItems or wNumBoxItems) ; [wWhichPokemon] = index (within the inventory) of the item to remove ; [wItemQuantity] = quantity to remove -RemoveItemFromInventory_: +RemoveItemFromInventory_:: push hl inc hl ld a, [wWhichPokemon] ; index (within the inventory) of the item being removed diff --git a/engine/items/items.asm b/engine/items/items.asm index 05dcf572..6e7bed1e 100755 --- a/engine/items/items.asm +++ b/engine/items/items.asm @@ -1,4 +1,4 @@ -UseItem_: +UseItem_:: ld a, 1 ld [wActionResultOrTookBattleTurn], a ; initialise to success value ld a, [wcf91] ;contains item_ID @@ -2588,7 +2588,7 @@ GetSelectedMoveOffset2: ; [wItemQuantity] = quantity to toss ; OUTPUT: ; clears carry flag if the item is tossed, sets carry flag if not -TossItem_: +TossItem_:: push hl ld a, [wcf91] call IsItemHM @@ -2657,7 +2657,7 @@ TooImportantToTossText: ; [wIsKeyItem] = result ; 00: item is not key item ; 01: item is key item -IsKeyItem_: +IsKeyItem_:: ld a, $01 ld [wIsKeyItem], a ld a, [wcf91] diff --git a/engine/items/tm_prices.asm b/engine/items/tm_prices.asm index 80e6bf3c..c359dc1d 100755 --- a/engine/items/tm_prices.asm +++ b/engine/items/tm_prices.asm @@ -1,4 +1,4 @@ -GetMachinePrice: +GetMachinePrice:: ; Input: [wcf91] = Item Id of a TM ; Output: Stores the TM price at hItemPrice ld a, [wcf91] ; a contains TM item id diff --git a/engine/load_mon_data.asm b/engine/load_mon_data.asm index a71a81c5..480ab1ca 100644 --- a/engine/load_mon_data.asm +++ b/engine/load_mon_data.asm @@ -1,4 +1,4 @@ -LoadMonData_: +LoadMonData_:: ; Load monster [wWhichPokemon] from list [wMonDataLocation]: ; 0: partymon ; 1: enemymon diff --git a/engine/menu/diploma.asm b/engine/menu/diploma.asm index 09ba123e..e53ef58f 100755 --- a/engine/menu/diploma.asm +++ b/engine/menu/diploma.asm @@ -1,4 +1,4 @@ -DisplayDiploma: +DisplayDiploma:: call SaveScreenTilesToBuffer2 call GBPalWhiteOutWithDelay3 call ClearScreen diff --git a/engine/menu/draw_start_menu.asm b/engine/menu/draw_start_menu.asm index 11777dc6..21e444e9 100644 --- a/engine/menu/draw_start_menu.asm +++ b/engine/menu/draw_start_menu.asm @@ -1,5 +1,5 @@ ; function that displays the start menu -DrawStartMenu: +DrawStartMenu:: CheckEvent EVENT_GOT_POKEDEX ; menu with pokedex coord hl, 10, 0 diff --git a/engine/menu/main_menu.asm b/engine/menu/main_menu.asm index 5be6bb28..8eda6744 100755 --- a/engine/menu/main_menu.asm +++ b/engine/menu/main_menu.asm @@ -312,7 +312,7 @@ StartNewGame: call DelayFrames ; enter map after using a special warp or loading the game from the main menu -SpecialEnterMap: +SpecialEnterMap:: xor a ld [hJoyPressed], a ld [hJoyHeld], a diff --git a/engine/menu/naming_screen.asm b/engine/menu/naming_screen.asm index 91723da1..e2973988 100755 --- a/engine/menu/naming_screen.asm +++ b/engine/menu/naming_screen.asm @@ -53,7 +53,7 @@ DoYouWantToNicknameText: TX_FAR _DoYouWantToNicknameText db "@" -DisplayNameRaterScreen: +DisplayNameRaterScreen:: ld hl, wBuffer xor a ld [wUpdateSpritesEnabled], a diff --git a/engine/menu/party_menu.asm b/engine/menu/party_menu.asm index 8323d0eb..41b6074b 100755 --- a/engine/menu/party_menu.asm +++ b/engine/menu/party_menu.asm @@ -17,14 +17,14 @@ ; f6: health returned ; f7: revitalized ; f8: leveled up -DrawPartyMenu_: +DrawPartyMenu_:: xor a ld [H_AUTOBGTRANSFERENABLED], a call ClearScreen call UpdateSprites callba LoadMonPartySpriteGfxWithLCDDisabled ; load pokemon icon graphics -RedrawPartyMenu_: +RedrawPartyMenu_:: ld a, [wPartyMenuTypeOrMessageID] cp SWAP_MONS_PARTY_MENU jp z, .printMessage diff --git a/engine/menu/pc.asm b/engine/menu/pc.asm index 5639bd99..6ec45f2e 100755 --- a/engine/menu/pc.asm +++ b/engine/menu/pc.asm @@ -1,4 +1,4 @@ -ActivatePC: +ActivatePC:: call SaveScreenTilesToBuffer2 ld a, SFX_TURN_ON_PC call PlaySound @@ -115,7 +115,7 @@ AccessedMyPCText: db "@" ; removes one of the specified item ID [hItemToRemoveID] from bag (if existent) -RemoveItemByID: +RemoveItemByID:: ld hl, wBagItems ld a, [hItemToRemoveID] ld b, a diff --git a/engine/menu/players_pc.asm b/engine/menu/players_pc.asm index bc2be4ef..403632fa 100755 --- a/engine/menu/players_pc.asm +++ b/engine/menu/players_pc.asm @@ -1,4 +1,4 @@ -PlayerPC: +PlayerPC:: ld hl, wd730 set 6, [hl] ld a, ITEM_NAME diff --git a/engine/menu/prize_menu.asm b/engine/menu/prize_menu.asm index bcd0d4ea..5e08bb8f 100755 --- a/engine/menu/prize_menu.asm +++ b/engine/menu/prize_menu.asm @@ -1,4 +1,4 @@ -CeladonPrizeMenu: +CeladonPrizeMenu:: ld b, COIN_CASE call IsItemInBag jr nz, .havingCoinCase diff --git a/engine/menu/start_sub_menus.asm b/engine/menu/start_sub_menus.asm index 04efe711..b81769a2 100755 --- a/engine/menu/start_sub_menus.asm +++ b/engine/menu/start_sub_menus.asm @@ -1,4 +1,4 @@ -StartMenu_Pokedex: +StartMenu_Pokedex:: predef ShowPokedexMenu call LoadScreenTilesFromBuffer2 ; restore saved screen call Delay3 @@ -6,7 +6,7 @@ StartMenu_Pokedex: call UpdateSprites jp RedisplayStartMenu -StartMenu_Pokemon: +StartMenu_Pokemon:: ld a, [wPartyCount] and a jp z, RedisplayStartMenu @@ -284,7 +284,7 @@ StartMenu_Pokemon: db "@" ; writes a blank tile to all possible menu cursor positions on the party menu -ErasePartyMenuCursors: +ErasePartyMenuCursors:: coord hl, 0, 1 ld bc, 2 * 20 ; menu cursor positions are 2 rows apart ld a, 6 ; 6 menu cursor positions @@ -299,7 +299,7 @@ ItemMenuLoop: call LoadScreenTilesFromBuffer2DisableBGTransfer ; restore saved screen call RunDefaultPaletteCommand -StartMenu_Item: +StartMenu_Item:: ld a, [wLinkState] dec a ; is the player in the Colosseum or Trade Centre? jr nz, .notInCableClubRoom @@ -450,7 +450,7 @@ INCLUDE "data/party_items.asm" INCLUDE "data/overworld_items.asm" -StartMenu_TrainerInfo: +StartMenu_TrainerInfo:: call GBPalWhiteOut call ClearScreen call UpdateSprites @@ -638,7 +638,7 @@ TrainerInfo_DrawVerticalLine: jr nz, .loop ret -StartMenu_SaveReset: +StartMenu_SaveReset:: ld a, [wd72e] bit 6, a ; is the player using the link feature? jp nz, Init @@ -646,7 +646,7 @@ StartMenu_SaveReset: call LoadScreenTilesFromBuffer2 ; restore saved screen jp HoldTextDisplayOpen -StartMenu_Option: +StartMenu_Option:: xor a ld [H_AUTOBGTRANSFERENABLED], a call ClearScreen @@ -657,7 +657,7 @@ StartMenu_Option: call UpdateSprites jp RedisplayStartMenu -SwitchPartyMon: +SwitchPartyMon:: call SwitchPartyMon_InitVarOrSwapData ; swap data ld a, [wSwappedMenuItem] call SwitchPartyMon_ClearGfx diff --git a/engine/menu/swap_items.asm b/engine/menu/swap_items.asm index 563fc7d5..826fe60b 100644 --- a/engine/menu/swap_items.asm +++ b/engine/menu/swap_items.asm @@ -1,4 +1,4 @@ -HandleItemListSwapping: +HandleItemListSwapping:: ld a, [wListMenuID] cp ITEMLISTMENU jp nz, DisplayListMenuIDLoop ; only rearrange item list menus diff --git a/engine/menu/text_box.asm b/engine/menu/text_box.asm index b9a36652..00045959 100644 --- a/engine/menu/text_box.asm +++ b/engine/menu/text_box.asm @@ -1,5 +1,5 @@ ; function to draw various text boxes -DisplayTextBoxID_: +DisplayTextBoxID_:: ld a, [wTextBoxID] cp TWO_OPTION_MENU jp z, DisplayTwoOptionMenu diff --git a/engine/menu/vending_machine.asm b/engine/menu/vending_machine.asm index 0b5c8842..554c5d4f 100755 --- a/engine/menu/vending_machine.asm +++ b/engine/menu/vending_machine.asm @@ -1,4 +1,4 @@ -VendingMachineMenu: +VendingMachineMenu:: ld hl, VendingMachineText1 call PrintText ld a, MONEY_BOX diff --git a/engine/mon_party_sprites.asm b/engine/mon_party_sprites.asm index a8f85748..1e0f9c59 100755 --- a/engine/mon_party_sprites.asm +++ b/engine/mon_party_sprites.asm @@ -9,7 +9,7 @@ AnimatePartyMon_ForceSpeed1: ; 0: green ; 1: yellow ; 2: red -AnimatePartyMon: +AnimatePartyMon:: ld hl, wPartyMenuHPBarColors ld a, [wCurrentMenuItem] ld c, a diff --git a/engine/multiply_divide.asm b/engine/multiply_divide.asm index 52e86b36..6cdc6c87 100755 --- a/engine/multiply_divide.asm +++ b/engine/multiply_divide.asm @@ -1,4 +1,4 @@ -_Multiply: +_Multiply:: ld a, $8 ld b, a xor a @@ -59,7 +59,7 @@ _Multiply: ld [H_PRODUCT], a ret -_Divide: +_Divide:: xor a ld [H_DIVIDEBUFFER], a ld [H_DIVIDEBUFFER+1], a diff --git a/engine/oam_dma.asm b/engine/oam_dma.asm index 7326445e..b0d64675 100644 --- a/engine/oam_dma.asm +++ b/engine/oam_dma.asm @@ -1,4 +1,4 @@ -WriteDMACodeToHRAM: +WriteDMACodeToHRAM:: ; Since no other memory is available during OAM DMA, ; DMARoutine is copied to HRAM and executed there. ld c, $ff80 % $100 diff --git a/engine/overworld/cable_club_npc.asm b/engine/overworld/cable_club_npc.asm index 08067412..bb0f7680 100755 --- a/engine/overworld/cable_club_npc.asm +++ b/engine/overworld/cable_club_npc.asm @@ -1,4 +1,4 @@ -CableClubNPC: +CableClubNPC:: ld hl, CableClubNPCWelcomeText call PrintText CheckEvent EVENT_GOT_POKEDEX diff --git a/engine/overworld/card_key.asm b/engine/overworld/card_key.asm index 35495c82..c77d5fcd 100755 --- a/engine/overworld/card_key.asm +++ b/engine/overworld/card_key.asm @@ -71,13 +71,13 @@ SilphCoMapList: db SILPH_CO_11F db $FF -CardKeySuccessText: +CardKeySuccessText:: TX_FAR _CardKeySuccessText1 TX_SFX_ITEM_1 TX_FAR _CardKeySuccessText2 db "@" -CardKeyFailText: +CardKeyFailText:: TX_FAR _CardKeyFailText db "@" diff --git a/engine/overworld/cinnabar_lab.asm b/engine/overworld/cinnabar_lab.asm index 13313746..e642840d 100755 --- a/engine/overworld/cinnabar_lab.asm +++ b/engine/overworld/cinnabar_lab.asm @@ -1,4 +1,4 @@ -GiveFossilToCinnabarLab: +GiveFossilToCinnabarLab:: ld hl, wd730 set 6, [hl] xor a @@ -112,7 +112,7 @@ PrintFossilsInBag: jr .loop ; loads the names of the fossil item and the resulting mon -LoadFossilItemAndMonName: +LoadFossilItemAndMonName:: ld a, [wFossilMon] ld [wd11e], a call GetMonName diff --git a/engine/overworld/clear_variables.asm b/engine/overworld/clear_variables.asm index 9a59cc7c..32dc85cd 100644 --- a/engine/overworld/clear_variables.asm +++ b/engine/overworld/clear_variables.asm @@ -1,4 +1,4 @@ -ClearVariablesOnEnterMap: +ClearVariablesOnEnterMap:: ld a, SCREEN_HEIGHT_PIXELS ld [hWY], a ld [rWY], a diff --git a/engine/overworld/elevator.asm b/engine/overworld/elevator.asm index d68e4f81..d36e2f2c 100755 --- a/engine/overworld/elevator.asm +++ b/engine/overworld/elevator.asm @@ -1,4 +1,4 @@ -ShakeElevator: +ShakeElevator:: ld de, -$20 call ShakeElevatorRedrawRow ld de, SCREEN_HEIGHT * $20 diff --git a/engine/overworld/hidden_items.asm b/engine/overworld/hidden_items.asm index 32783f83..e40b0ac7 100755 --- a/engine/overworld/hidden_items.asm +++ b/engine/overworld/hidden_items.asm @@ -20,7 +20,7 @@ HiddenItems: INCLUDE "data/hidden_item_coords.asm" -FoundHiddenItemText: +FoundHiddenItemText:: TX_FAR _FoundHiddenItemText TX_ASM ld a, [wHiddenObjectFunctionArgument] ; item ID @@ -45,7 +45,7 @@ FoundHiddenItemText: call PrintText jp TextScriptEnd -HiddenItemBagFullText: +HiddenItemBagFullText:: TX_FAR _HiddenItemBagFullText db "@" @@ -120,12 +120,12 @@ HiddenCoins: INCLUDE "data/hidden_coins.asm" -FoundHiddenCoinsText: +FoundHiddenCoinsText:: TX_FAR _FoundHiddenCoinsText TX_SFX_ITEM_2 db "@" -DroppedHiddenCoinsText: +DroppedHiddenCoinsText:: TX_FAR _FoundHiddenCoins2Text TX_SFX_ITEM_2 TX_FAR _DroppedHiddenCoinsText diff --git a/engine/overworld/hidden_objects.asm b/engine/overworld/hidden_objects.asm index dcdf8537..c93f2e1b 100755 --- a/engine/overworld/hidden_objects.asm +++ b/engine/overworld/hidden_objects.asm @@ -1,4 +1,4 @@ -IsPlayerOnDungeonWarp: +IsPlayerOnDungeonWarp:: xor a ld [wWhichDungeonWarp], a ld a, [wd72d] @@ -15,7 +15,7 @@ IsPlayerOnDungeonWarp: ret ; if a hidden object was found, stores $00 in [$ffee], else stores $ff -CheckForHiddenObject: +CheckForHiddenObject:: ld hl, $ffeb xor a ld [hli], a diff --git a/engine/overworld/ledges.asm b/engine/overworld/ledges.asm index 77e7bd47..b0ec703a 100755 --- a/engine/overworld/ledges.asm +++ b/engine/overworld/ledges.asm @@ -1,4 +1,4 @@ -HandleLedges: +HandleLedges:: ld a, [wd736] bit 6, a ; already jumping down ledge ret nz diff --git a/engine/overworld/map_sprite_functions1.asm b/engine/overworld/map_sprite_functions1.asm index d1a411fa..0e6b2d06 100644 --- a/engine/overworld/map_sprite_functions1.asm +++ b/engine/overworld/map_sprite_functions1.asm @@ -1,4 +1,4 @@ -_UpdateSprites: +_UpdateSprites:: ld h, $c1 inc h ld a, $e ; wSpriteStateData2 + $0e diff --git a/engine/overworld/map_sprites.asm b/engine/overworld/map_sprites.asm index 8a6057a0..19e25435 100755 --- a/engine/overworld/map_sprites.asm +++ b/engine/overworld/map_sprites.asm @@ -8,7 +8,7 @@ ; fields, respectively, within loops. The X is the loop index. ; If there is an inner loop, Y is the inner loop index, i.e. $C1Y* and $C2Y* ; denote fields of the sprite slots iterated over in the inner loop. -InitMapSprites: +InitMapSprites:: call InitOutsideMapSprites ret c ; return if the map is an outside map (already handled by above call) ; if the map is an inside map (i.e. mapID >= $25) diff --git a/engine/overworld/missable_objects.asm b/engine/overworld/missable_objects.asm index 8587c0f7..7d6de545 100644 --- a/engine/overworld/missable_objects.asm +++ b/engine/overworld/missable_objects.asm @@ -1,4 +1,4 @@ -MarkTownVisitedAndLoadMissableObjects: +MarkTownVisitedAndLoadMissableObjects:: ld a, [wCurMap] cp ROUTE_1 jr nc, .notInTown diff --git a/engine/overworld/npc_movement.asm b/engine/overworld/npc_movement.asm index 968615f0..e478c9ad 100755 --- a/engine/overworld/npc_movement.asm +++ b/engine/overworld/npc_movement.asm @@ -1,4 +1,4 @@ -PlayerStepOutFromDoor: +PlayerStepOutFromDoor:: ld hl, wd730 res 1, [hl] call IsPlayerStandingOnDoorTile @@ -27,7 +27,7 @@ PlayerStepOutFromDoor: res 7, [hl] ret -_EndNPCMovementScript: +_EndNPCMovementScript:: ld hl, wd730 res 7, [hl] ld hl, wd72e @@ -44,7 +44,7 @@ _EndNPCMovementScript: ld [wSimulatedJoypadStatesEnd], a ret -PalletMovementScriptPointerTable: +PalletMovementScriptPointerTable:: dw PalletMovementScript_OakMoveLeft dw PalletMovementScript_PlayerMoveLeft dw PalletMovementScript_WaitAndWalkToLab @@ -157,7 +157,7 @@ PalletMovementScript_Done: res 7, [hl] jp EndNPCMovementScript -PewterMuseumGuyMovementScriptPointerTable: +PewterMuseumGuyMovementScriptPointerTable:: dw PewterMovementScript_WalkToMuseum dw PewterMovementScript_Done @@ -213,7 +213,7 @@ PewterMovementScript_Done: res 7, [hl] jp EndNPCMovementScript -PewterGymGuyMovementScriptPointerTable: +PewterGymGuyMovementScriptPointerTable:: dw PewterMovementScript_WalkToGym dw PewterMovementScript_Done @@ -266,7 +266,7 @@ RLEList_PewterGymGuy: db NPC_MOVEMENT_RIGHT, $03 db $FF -FreezeEnemyTrainerSprite: +FreezeEnemyTrainerSprite:: ld a, [wCurMap] cp POKEMON_TOWER_7F ret z ; the Rockets on Pokemon Tower 7F leave after battling, so don't freeze them diff --git a/engine/overworld/oam.asm b/engine/overworld/oam.asm index 2c2a3dff..68128413 100644 --- a/engine/overworld/oam.asm +++ b/engine/overworld/oam.asm @@ -1,4 +1,4 @@ -PrepareOAMData: +PrepareOAMData:: ; Determine OAM data for currently visible ; sprites and write it to wOAMBuffer. diff --git a/engine/overworld/player_animations.asm b/engine/overworld/player_animations.asm index 0f17de8f..0ac4f3b2 100755 --- a/engine/overworld/player_animations.asm +++ b/engine/overworld/player_animations.asm @@ -1,4 +1,4 @@ -EnterMapAnim: +EnterMapAnim:: call InitFacingDirectionList ld a, $ec ld [wSpriteStateData1 + 4], a ; player's sprite Y screen position @@ -90,7 +90,7 @@ PlayerSpinWhileMovingDown: ld [hl], a ; wPlayerSpinWhileMovingUpOrDownAnimFrameDelay jp PlayerSpinWhileMovingUpOrDown -_LeaveMapAnim: +_LeaveMapAnim:: call InitFacingDirectionList call IsPlayerStandingOnWarpPadOrHole ld a, b @@ -347,7 +347,7 @@ GetPlayerTeleportAnimFrameDelay: inc a ret -IsPlayerStandingOnWarpPadOrHole: +IsPlayerStandingOnWarpPadOrHole:: ld b, 0 ld hl, WarpPadAndHoleData ld a, [wCurMapTileset] @@ -496,7 +496,7 @@ RedFishingTiles: db 3, BANK(RedFishingRodTiles) dw vNPCSprites2 + $7d0 -_HandleMidJump: +_HandleMidJump:: ld a, [wPlayerJumpingYScreenCoordsIndex] ld c, a inc a diff --git a/engine/overworld/player_state.asm b/engine/overworld/player_state.asm index ba47f7eb..23da664c 100644 --- a/engine/overworld/player_state.asm +++ b/engine/overworld/player_state.asm @@ -1,5 +1,5 @@ ; only used for setting bit 2 of wd736 upon entering a new map -IsPlayerStandingOnWarp: +IsPlayerStandingOnWarp:: ld a, [wNumberOfWarps] and a ret z @@ -31,7 +31,7 @@ IsPlayerStandingOnWarp: jr nz, .loop ret -CheckForceBikeOrSurf: +CheckForceBikeOrSurf:: ld hl, wd732 bit 5, [hl] ret nz @@ -84,7 +84,7 @@ CheckForceBikeOrSurf: INCLUDE "data/force_bike_surf.asm" -IsPlayerFacingEdgeOfMap: +IsPlayerFacingEdgeOfMap:: push hl push de push bc @@ -150,7 +150,7 @@ IsPlayerFacingEdgeOfMap: scf ret -IsWarpTileInFrontOfPlayer: +IsWarpTileInFrontOfPlayer:: push hl push de push bc @@ -188,7 +188,7 @@ IsSSAnneBowWarpTileInFrontOfPlayer: and a jr IsWarpTileInFrontOfPlayer.done -IsPlayerStandingOnDoorTileOrWarpTile: +IsPlayerStandingOnDoorTileOrWarpTile:: push hl push de push bc @@ -217,7 +217,7 @@ IsPlayerStandingOnDoorTileOrWarpTile: INCLUDE "data/warp_tile_ids.asm" -PrintSafariZoneSteps: +PrintSafariZoneSteps:: ld a, [wCurMap] cp SAFARI_ZONE_EAST ret c diff --git a/engine/overworld/pokecenter.asm b/engine/overworld/pokecenter.asm index f26bedf8..f340e06d 100755 --- a/engine/overworld/pokecenter.asm +++ b/engine/overworld/pokecenter.asm @@ -1,4 +1,4 @@ -DisplayPokemonCenterDialogue_: +DisplayPokemonCenterDialogue_:: call SaveScreenTilesToBuffer1 ; save screen ld hl, PokemonCenterWelcomeText call PrintText diff --git a/engine/overworld/pokemart.asm b/engine/overworld/pokemart.asm index dc5b29b5..177e8a09 100755 --- a/engine/overworld/pokemart.asm +++ b/engine/overworld/pokemart.asm @@ -1,4 +1,4 @@ -DisplayPokemartDialogue_: +DisplayPokemartDialogue_:: ld a, [wListScrollOffset] ld [wSavedListScrollOffset], a call UpdateSprites diff --git a/engine/overworld/push_boulder.asm b/engine/overworld/push_boulder.asm index c91605a8..c45554f1 100644 --- a/engine/overworld/push_boulder.asm +++ b/engine/overworld/push_boulder.asm @@ -1,4 +1,4 @@ -TryPushingBoulder: +TryPushingBoulder:: ld a, [wd728] bit 0, a ; using Strength? ret z @@ -82,7 +82,7 @@ PushBoulderLeftMovementData: PushBoulderRightMovementData: db NPC_MOVEMENT_RIGHT,$FF -DoBoulderDustAnimation: +DoBoulderDustAnimation:: ld a, [wd730] bit 0, a ret nz diff --git a/engine/overworld/saffron_guards.asm b/engine/overworld/saffron_guards.asm index 92d4847f..091cfa1a 100755 --- a/engine/overworld/saffron_guards.asm +++ b/engine/overworld/saffron_guards.asm @@ -1,4 +1,4 @@ -RemoveGuardDrink: +RemoveGuardDrink:: ld hl, GuardDrinksList .drinkLoop ld a, [hli] diff --git a/engine/overworld/ssanne.asm b/engine/overworld/ssanne.asm index ea4747ce..c226a5c5 100755 --- a/engine/overworld/ssanne.asm +++ b/engine/overworld/ssanne.asm @@ -68,7 +68,7 @@ MoveBoulderDustFunctionPointerTable: db $FF,$01 dw AdjustOAMBlockXPos -LoadSmokeTileFourTimes: +LoadSmokeTileFourTimes:: ld hl, vChars1 + $7c0 ld c, $4 .loop diff --git a/engine/overworld/trainers.asm b/engine/overworld/trainers.asm index 655c6b2a..5a68b627 100755 --- a/engine/overworld/trainers.asm +++ b/engine/overworld/trainers.asm @@ -1,4 +1,4 @@ -_GetSpritePosition1: +_GetSpritePosition1:: ld hl, wSpriteStateData1 ld de, $4 ld a, [wSpriteIndex] @@ -17,7 +17,7 @@ _GetSpritePosition1: ld [$ffee], a ret -_GetSpritePosition2: +_GetSpritePosition2:: ld hl, wSpriteStateData1 ld de, $4 ld a, [wSpriteIndex] @@ -36,7 +36,7 @@ _GetSpritePosition2: ld [wSavedSpriteMapX], a ret -_SetSpritePosition1: +_SetSpritePosition1:: ld hl, wSpriteStateData1 ld de, $4 ld a, [wSpriteIndex] @@ -55,7 +55,7 @@ _SetSpritePosition1: ld [hl], a ret -_SetSpritePosition2: +_SetSpritePosition2:: ld hl, wSpriteStateData1 ld de, 4 ld a, [wSpriteIndex] @@ -74,7 +74,7 @@ _SetSpritePosition2: ld [hl], a ; c2x5 (map X pos) ret -TrainerWalkUpToPlayer: +TrainerWalkUpToPlayer:: ld a, [wSpriteIndex] swap a ld [wTrainerSpriteOffset], a diff --git a/engine/overworld/wild_mons.asm b/engine/overworld/wild_mons.asm index dae57f23..df4d3121 100644 --- a/engine/overworld/wild_mons.asm +++ b/engine/overworld/wild_mons.asm @@ -1,4 +1,4 @@ -LoadWildData: +LoadWildData:: ld hl, WildDataPointers ld a, [wCurMap] diff --git a/engine/play_time.asm b/engine/play_time.asm index a5202cc6..504830cb 100755 --- a/engine/play_time.asm +++ b/engine/play_time.asm @@ -1,4 +1,4 @@ -TrackPlayTime: +TrackPlayTime:: call CountDownIgnoreInputBitReset ld a, [wd732] bit 0, a diff --git a/engine/predefs.asm b/engine/predefs.asm index 43ab7349..a9877739 100755 --- a/engine/predefs.asm +++ b/engine/predefs.asm @@ -1,4 +1,4 @@ -GetPredefPointer: +GetPredefPointer:: ; Store the contents of the register ; pairs (hl, de, bc) at wPredefRegisters. ; Then put the bank and address of predef diff --git a/engine/print_waiting_text.asm b/engine/print_waiting_text.asm index 7a95da2a..c48459d3 100644 --- a/engine/print_waiting_text.asm +++ b/engine/print_waiting_text.asm @@ -1,4 +1,4 @@ -PrintWaitingText: +PrintWaitingText:: coord hl, 3, 10 ld b, $1 ld c, $b diff --git a/engine/remove_pokemon.asm b/engine/remove_pokemon.asm index 1fcb5d09..6f7e91d6 100644 --- a/engine/remove_pokemon.asm +++ b/engine/remove_pokemon.asm @@ -1,4 +1,4 @@ -_RemovePokemon: +_RemovePokemon:: ld hl, wPartyCount ld a, [wRemoveMonFromBox] and a diff --git a/engine/save.asm b/engine/save.asm index 97935dbb..33a7ba8d 100755 --- a/engine/save.asm +++ b/engine/save.asm @@ -271,7 +271,7 @@ SaveSAVtoSRAM2: ld [MBC1SRamEnable], a ret -SaveSAVtoSRAM: +SaveSAVtoSRAM:: ld a, $2 ld [wSaveFileStatus], a call SaveSAVtoSRAM0 diff --git a/engine/special_warps.asm b/engine/special_warps.asm index 3a8b8b86..eee85402 100644 --- a/engine/special_warps.asm +++ b/engine/special_warps.asm @@ -1,4 +1,4 @@ -SpecialWarpIn: +SpecialWarpIn:: call LoadSpecialWarpData predef LoadTilesetHeader ld hl, wd732 diff --git a/engine/status_ailments.asm b/engine/status_ailments.asm index 787533c4..3da1fc43 100755 --- a/engine/status_ailments.asm +++ b/engine/status_ailments.asm @@ -1,4 +1,4 @@ -PrintStatusAilment: +PrintStatusAilment:: ld a, [de] bit PSN, a jr nz, .psn diff --git a/engine/subtract_paid_money.asm b/engine/subtract_paid_money.asm index 2f4c2243..fdefe3d6 100644 --- a/engine/subtract_paid_money.asm +++ b/engine/subtract_paid_money.asm @@ -1,6 +1,6 @@ ; subtracts the amount the player paid from their money ; OUTPUT: carry = 0(success) or 1(fail because there is not enough money) -SubtractAmountPaidFromMoney_: +SubtractAmountPaidFromMoney_:: ld de, wPlayerMoney ld hl, hMoney ; total price of items ld c, 3 ; length of money in bytes diff --git a/engine/titlescreen.asm b/engine/titlescreen.asm index 03a5832d..c30f83a9 100755 --- a/engine/titlescreen.asm +++ b/engine/titlescreen.asm @@ -3,7 +3,7 @@ CopyFixedLengthText: ld bc, NAME_LENGTH jp CopyData -SetDefaultNamesBeforeTitlescreen: +SetDefaultNamesBeforeTitlescreen:: ld hl, NintenText ld de, wPlayerName call CopyFixedLengthText diff --git a/engine/town_map.asm b/engine/town_map.asm index d417e0a3..1bb8d561 100755 --- a/engine/town_map.asm +++ b/engine/town_map.asm @@ -134,7 +134,7 @@ LoadTownMap_Nest: MonsNestText: db "'s NEST@" -LoadTownMap_Fly: +LoadTownMap_Fly:: call ClearSprites call LoadTownMap call LoadPlayerSpriteGraphics @@ -590,7 +590,7 @@ MonNestIcon: INCBIN "gfx/mon_nest_icon.1bpp" MonNestIconEnd: -TownMapSpriteBlinkingAnimation: +TownMapSpriteBlinkingAnimation:: ld a, [wAnimCounter] inc a cp 25 diff --git a/engine/turn_sprite.asm b/engine/turn_sprite.asm index e8a47a8f..c7f7712b 100755 --- a/engine/turn_sprite.asm +++ b/engine/turn_sprite.asm @@ -1,4 +1,4 @@ -UpdateSpriteFacingOffsetAndDelayMovement: +UpdateSpriteFacingOffsetAndDelayMovement:: ld h, $c2 ld a, [H_CURRENTSPRITEOFFSET] add $8 diff --git a/home.asm b/home.asm index e0ef5539..98ddef68 100644 --- a/home.asm +++ b/home.asm @@ -1,3 +1,6 @@ +INCLUDE "constants.asm" + + ; The rst vectors are unused. SECTION "rst 00", ROM0 rst $38 @@ -492,7 +495,7 @@ PrintStatusCondition:: and a ret -PrintStatusConditionNotFainted: +PrintStatusConditionNotFainted:: ld a, [H_LOADEDROMBANK] push af ld a, BANK(PrintStatusAilment) diff --git a/home/init.asm b/home/init.asm index cb5c6583..9e3e2c82 100644 --- a/home/init.asm +++ b/home/init.asm @@ -118,7 +118,7 @@ rLCDC_DEFAULT EQU %11100011 jp SetDefaultNamesBeforeTitlescreen -ClearVram: +ClearVram:: ld hl, $8000 ld bc, $2000 xor a diff --git a/layout.link b/layout.link new file mode 100644 index 00000000..c9ad5839 --- /dev/null +++ b/layout.link @@ -0,0 +1,305 @@ +ROM0 + org $0000 + "rst 00" + + org $0008 + "rst 08" + + org $0010 + "rst 10" + + org $0018 + "rst 18" + + org $0020 + "rst 20" + + org $0028 + "rst 28" + + org $0030 + "rst 30" + + org $0038 + "rst 38" + + org $0040 + "vblank" + + org $0048 + "hblank" + + org $0050 + "timer" + + org $0058 + "serial" + + org $0060 + "joypad" + ; $0061 + "Home" + + org $100 + "Entry" + ; $0104 + "Header" + + org $150 + "Main" + +ROMX $1 + org $4000 + "bank1" + +ROMX $2 + org $4000 + "Sound Effect Headers 1" + "Music Headers 1" + "Sound Effects 1" + "Audio Engine 1" + "Music 1" + +ROMX $3 + org $4000 + "bank3" + +ROMX $4 + org $4000 + "NPC Sprites 1" + "Graphics (BANK 4)" + "Battle (BANK 4)" + +ROMX $5 + org $4000 + "NPC Sprites 2" + "Battle (BANK 5)" + +ROMX $6 + org $4000 + "Maps 1" + "bank6_1" + "Maps 2" + "bank6_2" + +ROMX $7 + org $4000 + "Maps 3" + "bank7_1" + "Maps 4" + "bank7_2" + +ROMX $8 + org $4000 + "Sound Effect Headers 2" + "Music Headers 2" + "Sound Effects 2" + "Audio Engine 2" + "Music 2" + +ROMX $9 + org $4000 + "Pics 1" + "Battle (BANK 9)" + +ROMX $A + org $4000 + "Pics 2" + "Battle (BANK A)" + +ROMX $B + org $4000 + "Pics 3" + "Battle (BANK B)" + +ROMX $C + org $4000 + "Pics 4" + "Battle (BANK C)" + +ROMX $D + org $4000 + "Pics 5" + "Battle (BANK D)" + +ROMX $E + org $4000 + "bankE" + +ROMX $F + org $4000 + "bankF" + +ROMX $10 + org $4000 + "bank10" + +ROMX $11 + org $4000 + "Maps 5" + "bank11_1" + "Maps 6" + "bank11_2" + +ROMX $12 + org $4000 + "Maps 7" + "bank12" + "Maps 8" + +ROMX $13 + org $4000 + "Pics 6" + "Maps 9" + "bank13" + +ROMX $14 + org $4000 + "Maps 10" + "bank14" + +ROMX $15 + org $4000 + "Maps 11" + "bank15_1" + "Maps 12" + "bank15_2" + +ROMX $16 + org $4000 + "Maps 13" + "bank16_1" + "Maps 14" + "bank16_2" + +ROMX $17 + org $4000 + "Maps 15" + "bank17_1" + "Maps 16" + "bank17_2" + +ROMX $18 + org $4000 + "Maps 17" + "bank18_1" + "Maps 18" + "bank18_2" + +ROMX $19 + org $4000 + "Tilesets 1" + +ROMX $1A + org $4000 + "bank1A" + "Tilesets 2" + +ROMX $1B + org $4000 + "Tilesets 3" + +ROMX $1C + org $4000 + "bank1C" + +ROMX $1D + org $4000 + "Maps 19" + "bank1D_1" + "Maps 20" + "bank1D_2" + "Maps 21" + "bank1D_3" + +ROMX $1E + org $4000 + "bank1E" + +ROMX $1F + org $4000 + "Sound Effect Headers 3" + "Music Headers 3" + "Sound Effects 3" + "Audio Engine 3" + "Music 3" + +ROMX $20 + org $4000 + "Text 1" + +ROMX $21 + org $4000 + "Text 2" + +ROMX $22 + org $4000 + "Text 3" + +ROMX $23 + org $4000 + "Text 4" + +ROMX $24 + org $4000 + "Text 5" + +ROMX $25 + org $4000 + "Text 6" + +ROMX $26 + org $4000 + "Text 7" + +ROMX $27 + org $4000 + "Text 8" + +ROMX $28 + org $4000 + "Text 9" + +ROMX $29 + org $4000 + "Text 10" + +ROMX $2A + org $4000 + "Text 11" + +ROMX $2B + org $4000 + "Pokedex Text" + +ROMX $2C + org $4000 + "Move Names" + +WRAM0 + org $c000 + "WRAM Bank 0" + + org $c100 + "Sprite State Data" + "OAM Buffer" + + org $dfff + "Stack" + +SRAM 0 + org $a000 + "Sprite Buffers" + +SRAM 1 + org $a000 + "Save Data" + +SRAM 2 + org $a000 + "Saved Boxes 1" + +SRAM 3 + org $a000 + "Saved Boxes 2" + diff --git a/main.asm b/main.asm index 4373c3f7..1c5aa223 100755 --- a/main.asm +++ b/main.asm @@ -1,23 +1,9 @@ INCLUDE "constants.asm" -NPC_SPRITES_1 EQU $4 -NPC_SPRITES_2 EQU $5 - -GFX EQU $4 - -PICS_1 EQU $9 -PICS_2 EQU $A -PICS_3 EQU $B -PICS_4 EQU $C -PICS_5 EQU $D - -INCLUDE "home.asm" - SECTION "bank1", ROMX INCLUDE "data/facing.asm" - INCLUDE "engine/black_out.asm" MewPicFront:: INCBIN "pic/bmon/mew.pic" @@ -25,99 +11,61 @@ MewPicBack:: INCBIN "pic/monback/mewb.pic" INCLUDE "data/baseStats/mew.asm" INCLUDE "engine/battle/safari_zone.asm" - INCLUDE "engine/titlescreen.asm" INCLUDE "engine/load_mon_data.asm" - INCLUDE "data/item_prices.asm" INCLUDE "text/item_names.asm" INCLUDE "text/unused_names.asm" - INCLUDE "engine/overworld/oam.asm" INCLUDE "engine/oam_dma.asm" - INCLUDE "engine/print_waiting_text.asm" - INCLUDE "engine/overworld/map_sprite_functions1.asm" - INCLUDE "engine/test_battle.asm" - INCLUDE "engine/overworld/item.asm" INCLUDE "engine/overworld/movement.asm" - INCLUDE "engine/cable_club.asm" - INCLUDE "engine/menu/main_menu.asm" - INCLUDE "engine/oak_speech.asm" - INCLUDE "engine/special_warps.asm" - INCLUDE "engine/debug1.asm" - INCLUDE "engine/menu/naming_screen.asm" - INCLUDE "engine/oak_speech2.asm" - INCLUDE "engine/subtract_paid_money.asm" - INCLUDE "engine/menu/swap_items.asm" - INCLUDE "engine/overworld/pokemart.asm" - INCLUDE "engine/learn_move.asm" - INCLUDE "engine/overworld/pokecenter.asm" - INCLUDE "engine/overworld/set_blackout_map.asm" - INCLUDE "engine/display_text_id_init.asm" INCLUDE "engine/menu/draw_start_menu.asm" - INCLUDE "engine/overworld/cable_club_npc.asm" - INCLUDE "engine/menu/text_box.asm" - INCLUDE "engine/battle/moveEffects/drain_hp_effect.asm" - INCLUDE "engine/menu/players_pc.asm" - INCLUDE "engine/remove_pokemon.asm" - INCLUDE "engine/display_pokedex.asm" SECTION "bank3", ROMX INCLUDE "engine/joypad.asm" - INCLUDE "data/map_songs.asm" - INCLUDE "data/map_header_banks.asm" - INCLUDE "engine/overworld/clear_variables.asm" INCLUDE "engine/overworld/player_state.asm" INCLUDE "engine/overworld/poison.asm" INCLUDE "engine/overworld/tileset_header.asm" INCLUDE "engine/overworld/daycare_exp.asm" - INCLUDE "data/hide_show_data.asm" - INCLUDE "engine/overworld/field_move_messages.asm" - INCLUDE "engine/items/inventory.asm" - INCLUDE "engine/overworld/wild_mons.asm" - INCLUDE "engine/items/items.asm" - INCLUDE "engine/menu/draw_badges.asm" - INCLUDE "engine/overworld/update_map.asm" INCLUDE "engine/overworld/cut.asm" INCLUDE "engine/overworld/missable_objects.asm" INCLUDE "engine/overworld/push_boulder.asm" - INCLUDE "engine/add_mon.asm" INCLUDE "engine/flag_action.asm" INCLUDE "engine/heal_party.asm" @@ -129,45 +77,14 @@ INCLUDE "engine/hp_bar.asm" INCLUDE "engine/hidden_object_functions3.asm" -SECTION "NPC Sprites 1", ROMX ; BANK $04 - -OakAideSprite: INCBIN "gfx/sprites/oak_aide.2bpp" -RockerSprite: INCBIN "gfx/sprites/rocker.2bpp" -SwimmerSprite: INCBIN "gfx/sprites/swimmer.2bpp" -WhitePlayerSprite: INCBIN "gfx/sprites/white_player.2bpp" -GymHelperSprite: INCBIN "gfx/sprites/gym_helper.2bpp" -OldPersonSprite: INCBIN "gfx/sprites/old_person.2bpp" -MartGuySprite: INCBIN "gfx/sprites/mart_guy.2bpp" -FisherSprite: INCBIN "gfx/sprites/fisher.2bpp" -OldMediumWomanSprite: INCBIN "gfx/sprites/old_medium_woman.2bpp" -NurseSprite: INCBIN "gfx/sprites/nurse.2bpp" -CableClubWomanSprite: INCBIN "gfx/sprites/cable_club_woman.2bpp" -MrMasterballSprite: INCBIN "gfx/sprites/mr_masterball.2bpp" -LaprasGiverSprite: INCBIN "gfx/sprites/lapras_giver.2bpp" -WardenSprite: INCBIN "gfx/sprites/warden.2bpp" -SsCaptainSprite: INCBIN "gfx/sprites/ss_captain.2bpp" -Fisher2Sprite: INCBIN "gfx/sprites/fisher2.2bpp" -BlackbeltSprite: INCBIN "gfx/sprites/blackbelt.2bpp" -GuardSprite: INCBIN "gfx/sprites/guard.2bpp" -BallSprite: INCBIN "gfx/sprites/ball.2bpp" -OmanyteSprite: INCBIN "gfx/sprites/omanyte.2bpp" -BoulderSprite: INCBIN "gfx/sprites/boulder.2bpp" -PaperSheetSprite: INCBIN "gfx/sprites/paper_sheet.2bpp" -BookMapDexSprite: INCBIN "gfx/sprites/book_map_dex.2bpp" -ClipboardSprite: INCBIN "gfx/sprites/clipboard.2bpp" -SnorlaxSprite: INCBIN "gfx/sprites/snorlax.2bpp" -OldAmberSprite: INCBIN "gfx/sprites/old_amber.2bpp" -LyingOldManSprite: INCBIN "gfx/sprites/lying_old_man.2bpp" - - SECTION "Graphics (BANK 4)", ROMX PokemonLogoGraphics: INCBIN "gfx/pokemon_logo.2bpp" -FontGraphics: INCBIN "gfx/font.1bpp" -FontGraphicsEnd: +FontGraphics:: INCBIN "gfx/font.1bpp" +FontGraphicsEnd:: ABTiles: INCBIN "gfx/AB.2bpp" -HpBarAndStatusGraphics: INCBIN "gfx/hp_bar_and_status.2bpp" -HpBarAndStatusGraphicsEnd: +HpBarAndStatusGraphics:: INCBIN "gfx/hp_bar_and_status.2bpp" +HpBarAndStatusGraphicsEnd:: BattleHudTiles1: INCBIN "gfx/battle_hud1.1bpp" BattleHudTiles1End: BattleHudTiles2: INCBIN "gfx/battle_hud2.1bpp" @@ -176,8 +93,8 @@ BattleHudTiles3End: NintendoCopyrightLogoGraphics: INCBIN "gfx/copyright.2bpp" GamefreakLogoGraphics: INCBIN "gfx/gamefreak.2bpp" GamefreakLogoGraphicsEnd: -TextBoxGraphics: INCBIN "gfx/text_box.2bpp" -TextBoxGraphicsEnd: +TextBoxGraphics:: INCBIN "gfx/text_box.2bpp" +TextBoxGraphicsEnd:: PokedexTileGraphics: INCBIN "gfx/pokedex.2bpp" PokedexTileGraphicsEnd: WorldMapTileGraphics: INCBIN "gfx/town_map.2bpp" @@ -208,50 +125,6 @@ INCLUDE "engine/battle/get_trainer_name.asm" INCLUDE "engine/random.asm" -SECTION "NPC Sprites 2", ROMX ; BANK $05 - -RedCyclingSprite: INCBIN "gfx/sprites/cycling.2bpp" -RedSprite: INCBIN "gfx/sprites/red.2bpp" -BlueSprite: INCBIN "gfx/sprites/blue.2bpp" -OakSprite: INCBIN "gfx/sprites/oak.2bpp" -BugCatcherSprite: INCBIN "gfx/sprites/bug_catcher.2bpp" -SlowbroSprite: INCBIN "gfx/sprites/slowbro.2bpp" -LassSprite: INCBIN "gfx/sprites/lass.2bpp" -BlackHairBoy1Sprite: INCBIN "gfx/sprites/black_hair_boy_1.2bpp" -LittleGirlSprite: INCBIN "gfx/sprites/little_girl.2bpp" -BirdSprite: INCBIN "gfx/sprites/bird.2bpp" -FatBaldGuySprite: INCBIN "gfx/sprites/fat_bald_guy.2bpp" -GamblerSprite: INCBIN "gfx/sprites/gambler.2bpp" -BlackHairBoy2Sprite: INCBIN "gfx/sprites/black_hair_boy_2.2bpp" -GirlSprite: INCBIN "gfx/sprites/girl.2bpp" -HikerSprite: INCBIN "gfx/sprites/hiker.2bpp" -FoulardWomanSprite: INCBIN "gfx/sprites/foulard_woman.2bpp" -GentlemanSprite: INCBIN "gfx/sprites/gentleman.2bpp" -DaisySprite: INCBIN "gfx/sprites/daisy.2bpp" -BikerSprite: INCBIN "gfx/sprites/biker.2bpp" -SailorSprite: INCBIN "gfx/sprites/sailor.2bpp" -CookSprite: INCBIN "gfx/sprites/cook.2bpp" -BikeShopGuySprite: INCBIN "gfx/sprites/bike_shop_guy.2bpp" -MrFujiSprite: INCBIN "gfx/sprites/mr_fuji.2bpp" -GiovanniSprite: INCBIN "gfx/sprites/giovanni.2bpp" -RocketSprite: INCBIN "gfx/sprites/rocket.2bpp" -MediumSprite: INCBIN "gfx/sprites/medium.2bpp" -WaiterSprite: INCBIN "gfx/sprites/waiter.2bpp" -ErikaSprite: INCBIN "gfx/sprites/erika.2bpp" -MomGeishaSprite: INCBIN "gfx/sprites/mom_geisha.2bpp" -BrunetteGirlSprite: INCBIN "gfx/sprites/brunette_girl.2bpp" -LanceSprite: INCBIN "gfx/sprites/lance.2bpp" -MomSprite: INCBIN "gfx/sprites/mom.2bpp" -BaldingGuySprite: INCBIN "gfx/sprites/balding_guy.2bpp" -YoungBoySprite: INCBIN "gfx/sprites/young_boy.2bpp" -GameboyKidSprite: INCBIN "gfx/sprites/gameboy_kid.2bpp" -ClefairySprite: INCBIN "gfx/sprites/clefairy.2bpp" -AgathaSprite: INCBIN "gfx/sprites/agatha.2bpp" -BrunoSprite: INCBIN "gfx/sprites/bruno.2bpp" -LoreleiSprite: INCBIN "gfx/sprites/lorelei.2bpp" -SeelSprite: INCBIN "gfx/sprites/seel.2bpp" - - SECTION "Battle (BANK 5)", ROMX INCLUDE "engine/load_pokedex_tiles.asm" @@ -262,326 +135,31 @@ INCLUDE "engine/battle/moveEffects/substitute_effect.asm" INCLUDE "engine/menu/pc.asm" -SECTION "bank6", ROMX - -INCLUDE "data/mapHeaders/CeladonCity.asm" -INCLUDE "data/mapObjects/CeladonCity.asm" -CeladonCity_Blocks: INCBIN "maps/CeladonCity.blk" - -INCLUDE "data/mapHeaders/PalletTown.asm" -INCLUDE "data/mapObjects/PalletTown.asm" -PalletTown_Blocks: INCBIN "maps/PalletTown.blk" - -INCLUDE "data/mapHeaders/ViridianCity.asm" -INCLUDE "data/mapObjects/ViridianCity.asm" -ViridianCity_Blocks: INCBIN "maps/ViridianCity.blk" - -INCLUDE "data/mapHeaders/PewterCity.asm" - ds 1 -INCLUDE "data/mapObjects/PewterCity.asm" -PewterCity_Blocks: INCBIN "maps/PewterCity.blk" - -INCLUDE "data/mapHeaders/CeruleanCity.asm" -INCLUDE "data/mapObjects/CeruleanCity.asm" -CeruleanCity_Blocks: INCBIN "maps/CeruleanCity.blk" - -INCLUDE "data/mapHeaders/VermilionCity.asm" -INCLUDE "data/mapObjects/VermilionCity.asm" -VermilionCity_Blocks: INCBIN "maps/VermilionCity.blk" - -INCLUDE "data/mapHeaders/FuchsiaCity.asm" -INCLUDE "data/mapObjects/FuchsiaCity.asm" -FuchsiaCity_Blocks: INCBIN "maps/FuchsiaCity.blk" +SECTION "bank6_1", ROMX INCLUDE "engine/play_time.asm" -INCLUDE "scripts/PalletTown.asm" -INCLUDE "scripts/ViridianCity.asm" -INCLUDE "scripts/PewterCity.asm" -INCLUDE "scripts/CeruleanCity.asm" -INCLUDE "scripts/VermilionCity.asm" -INCLUDE "scripts/CeladonCity.asm" -INCLUDE "scripts/FuchsiaCity.asm" - -INCLUDE "data/mapHeaders/BluesHouse.asm" -INCLUDE "scripts/BluesHouse.asm" -INCLUDE "data/mapObjects/BluesHouse.asm" -BluesHouse_Blocks: INCBIN "maps/BluesHouse.blk" - -INCLUDE "data/mapHeaders/VermilionTradeHouse.asm" -INCLUDE "scripts/VermilionTradeHouse.asm" -INCLUDE "data/mapObjects/VermilionTradeHouse.asm" -VermilionTradeHouse_Blocks: INCBIN "maps/VermilionTradeHouse.blk" - -INCLUDE "data/mapHeaders/IndigoPlateauLobby.asm" -INCLUDE "scripts/IndigoPlateauLobby.asm" -INCLUDE "data/mapObjects/IndigoPlateauLobby.asm" -IndigoPlateauLobby_Blocks: INCBIN "maps/IndigoPlateauLobby.blk" - -INCLUDE "data/mapHeaders/SilphCo4F.asm" -INCLUDE "scripts/SilphCo4F.asm" -INCLUDE "data/mapObjects/SilphCo4F.asm" -SilphCo4F_Blocks: INCBIN "maps/SilphCo4F.blk" - -INCLUDE "data/mapHeaders/SilphCo5F.asm" -INCLUDE "scripts/SilphCo5F.asm" -INCLUDE "data/mapObjects/SilphCo5F.asm" -SilphCo5F_Blocks: INCBIN "maps/SilphCo5F.blk" - -INCLUDE "data/mapHeaders/SilphCo6F.asm" -INCLUDE "scripts/SilphCo6F.asm" -INCLUDE "data/mapObjects/SilphCo6F.asm" -SilphCo6F_Blocks: INCBIN "maps/SilphCo6F.blk" + +SECTION "bank6_2", ROMX INCLUDE "engine/overworld/npc_movement.asm" INCLUDE "engine/overworld/doors.asm" INCLUDE "engine/overworld/ledges.asm" -SECTION "bank7", ROMX - -INCLUDE "data/mapHeaders/CinnabarIsland.asm" -INCLUDE "data/mapObjects/CinnabarIsland.asm" -CinnabarIsland_Blocks: INCBIN "maps/CinnabarIsland.blk" - -INCLUDE "data/mapHeaders/Route1.asm" -INCLUDE "data/mapObjects/Route1.asm" -Route1_Blocks: INCBIN "maps/Route1.blk" - -UndergroundPathRoute8_Blocks: INCBIN "maps/UndergroundPathRoute8.blk" - -OaksLab_Blocks: INCBIN "maps/OaksLab.blk" - -MrPsychicsHouse_Blocks: -NameRatersHouse_Blocks: -MrFujisHouse_Blocks: -Route16FlyHouse_Blocks: -Route2TradeHouse_Blocks: -SaffronPidgeyHouse_Blocks: -VermilionPidgeyHouse_Blocks: -LavenderCuboneHouse_Blocks: -CeruleanTradeHouse_Blocks: -PewterNidoranHouse_Blocks: -PewterSpeechHouse_Blocks: -ViridianNicknameHouse_Blocks: INCBIN "maps/ViridianNicknameHouse.blk" - -CeladonMansionRoofHouse_Blocks: -ViridianSchoolHouse_Blocks: INCBIN "maps/ViridianSchoolHouse.blk" - -CeruleanTrashedHouse_Blocks: INCBIN "maps/CeruleanTrashedHouse.blk" - -DiglettsCaveRoute11_Blocks: -DiglettsCaveRoute2_Blocks: INCBIN "maps/DiglettsCaveRoute2.blk" +SECTION "bank7_1", ROMX INCLUDE "text/monster_names.asm" - INCLUDE "engine/clear_save.asm" - INCLUDE "engine/predefs7.asm" -INCLUDE "scripts/CinnabarIsland.asm" - -INCLUDE "scripts/Route1.asm" - -INCLUDE "data/mapHeaders/OaksLab.asm" -INCLUDE "scripts/OaksLab.asm" -INCLUDE "data/mapObjects/OaksLab.asm" - -INCLUDE "data/mapHeaders/ViridianMart.asm" -INCLUDE "scripts/ViridianMart.asm" -INCLUDE "data/mapObjects/ViridianMart.asm" -ViridianMart_Blocks: INCBIN "maps/ViridianMart.blk" - -INCLUDE "data/mapHeaders/ViridianSchoolHouse.asm" -INCLUDE "scripts/ViridianSchoolHouse.asm" -INCLUDE "data/mapObjects/ViridianSchoolHouse.asm" - -INCLUDE "data/mapHeaders/ViridianNicknameHouse.asm" - ds 1 -INCLUDE "scripts/ViridianNicknameHouse.asm" -INCLUDE "data/mapObjects/ViridianNicknameHouse.asm" - -INCLUDE "data/mapHeaders/PewterNidoranHouse.asm" -INCLUDE "scripts/PewterNidoranHouse.asm" -INCLUDE "data/mapObjects/PewterNidoranHouse.asm" -INCLUDE "data/mapHeaders/PewterSpeechHouse.asm" -INCLUDE "scripts/PewterSpeechHouse.asm" -INCLUDE "data/mapObjects/PewterSpeechHouse.asm" - -INCLUDE "data/mapHeaders/CeruleanTrashedHouse.asm" -INCLUDE "scripts/CeruleanTrashedHouse.asm" -INCLUDE "data/mapObjects/CeruleanTrashedHouse.asm" - -INCLUDE "data/mapHeaders/CeruleanTradeHouse.asm" -INCLUDE "scripts/CeruleanTradeHouse.asm" -INCLUDE "data/mapObjects/CeruleanTradeHouse.asm" - -INCLUDE "data/mapHeaders/BikeShop.asm" -INCLUDE "scripts/BikeShop.asm" -INCLUDE "data/mapObjects/BikeShop.asm" -BikeShop_Blocks: INCBIN "maps/BikeShop.blk" - -INCLUDE "data/mapHeaders/MrFujisHouse.asm" -INCLUDE "scripts/MrFujisHouse.asm" -INCLUDE "data/mapObjects/MrFujisHouse.asm" - -INCLUDE "data/mapHeaders/LavenderCuboneHouse.asm" -INCLUDE "scripts/LavenderCuboneHouse.asm" -INCLUDE "data/mapObjects/LavenderCuboneHouse.asm" - -INCLUDE "data/mapHeaders/NameRatersHouse.asm" -INCLUDE "scripts/NameRatersHouse.asm" -INCLUDE "data/mapObjects/NameRatersHouse.asm" - -INCLUDE "data/mapHeaders/VermilionPidgeyHouse.asm" -INCLUDE "scripts/VermilionPidgeyHouse.asm" -INCLUDE "data/mapObjects/VermilionPidgeyHouse.asm" - -INCLUDE "data/mapHeaders/VermilionDock.asm" -INCLUDE "scripts/VermilionDock.asm" -INCLUDE "data/mapObjects/VermilionDock.asm" -VermilionDock_Blocks: INCBIN "maps/VermilionDock.blk" - -INCLUDE "data/mapHeaders/CeladonMansionRoofHouse.asm" -INCLUDE "scripts/CeladonMansionRoofHouse.asm" -INCLUDE "data/mapObjects/CeladonMansionRoofHouse.asm" - -INCLUDE "data/mapHeaders/FuchsiaMart.asm" -INCLUDE "scripts/FuchsiaMart.asm" -INCLUDE "data/mapObjects/FuchsiaMart.asm" -FuchsiaMart_Blocks: INCBIN "maps/FuchsiaMart.blk" - -INCLUDE "data/mapHeaders/SaffronPidgeyHouse.asm" -INCLUDE "scripts/SaffronPidgeyHouse.asm" -INCLUDE "data/mapObjects/SaffronPidgeyHouse.asm" - -INCLUDE "data/mapHeaders/MrPsychicsHouse.asm" -INCLUDE "scripts/MrPsychicsHouse.asm" -INCLUDE "data/mapObjects/MrPsychicsHouse.asm" - -INCLUDE "data/mapHeaders/DiglettsCaveRoute2.asm" -INCLUDE "scripts/DiglettsCaveRoute2.asm" -INCLUDE "data/mapObjects/DiglettsCaveRoute2.asm" - -INCLUDE "data/mapHeaders/Route2TradeHouse.asm" -INCLUDE "scripts/Route2TradeHouse.asm" -INCLUDE "data/mapObjects/Route2TradeHouse.asm" - -INCLUDE "data/mapHeaders/Route5Gate.asm" -INCLUDE "scripts/Route5Gate.asm" -INCLUDE "data/mapObjects/Route5Gate.asm" -Route5Gate_Blocks: INCBIN "maps/Route5Gate.blk" - -INCLUDE "data/mapHeaders/Route6Gate.asm" -INCLUDE "scripts/Route6Gate.asm" -INCLUDE "data/mapObjects/Route6Gate.asm" -Route6Gate_Blocks: INCBIN "maps/Route6Gate.blk" - -INCLUDE "data/mapHeaders/Route7Gate.asm" -INCLUDE "scripts/Route7Gate.asm" -INCLUDE "data/mapObjects/Route7Gate.asm" -Route7Gate_Blocks: INCBIN "maps/Route7Gate.blk" - -INCLUDE "data/mapHeaders/Route8Gate.asm" -INCLUDE "scripts/Route8Gate.asm" -INCLUDE "data/mapObjects/Route8Gate.asm" -Route8Gate_Blocks: INCBIN "maps/Route8Gate.blk" - -INCLUDE "data/mapHeaders/UndergroundPathRoute8.asm" -INCLUDE "scripts/UndergroundPathRoute8.asm" -INCLUDE "data/mapObjects/UndergroundPathRoute8.asm" - -INCLUDE "data/mapHeaders/PowerPlant.asm" -INCLUDE "scripts/PowerPlant.asm" -INCLUDE "data/mapObjects/PowerPlant.asm" -PowerPlant_Blocks: INCBIN "maps/PowerPlant.blk" - -INCLUDE "data/mapHeaders/DiglettsCaveRoute11.asm" -INCLUDE "scripts/DiglettsCaveRoute11.asm" -INCLUDE "data/mapObjects/DiglettsCaveRoute11.asm" - -INCLUDE "data/mapHeaders/Route16FlyHouse.asm" -INCLUDE "scripts/Route16FlyHouse.asm" -INCLUDE "data/mapObjects/Route16FlyHouse.asm" - -INCLUDE "data/mapHeaders/Route22Gate.asm" -INCLUDE "scripts/Route22Gate.asm" -INCLUDE "data/mapObjects/Route22Gate.asm" -Route22Gate_Blocks: INCBIN "maps/Route22Gate.blk" - -INCLUDE "data/mapHeaders/BillsHouse.asm" -INCLUDE "scripts/BillsHouse.asm" -INCLUDE "data/mapObjects/BillsHouse.asm" -BillsHouse_Blocks: INCBIN "maps/BillsHouse.blk" +SECTION "bank7_2", ROMX INCLUDE "engine/menu/oaks_pc.asm" - INCLUDE "engine/hidden_object_functions7.asm" -SECTION "Pics 1", ROMX ; BANK $09 - -RhydonPicFront:: INCBIN "pic/bmon/rhydon.pic" -RhydonPicBack:: INCBIN "pic/monback/rhydonb.pic" -KangaskhanPicFront:: INCBIN "pic/bmon/kangaskhan.pic" -KangaskhanPicBack:: INCBIN "pic/monback/kangaskhanb.pic" -NidoranMPicFront:: INCBIN "pic/bmon/nidoranm.pic" -NidoranMPicBack:: INCBIN "pic/monback/nidoranmb.pic" -ClefairyPicFront:: INCBIN "pic/bmon/clefairy.pic" -ClefairyPicBack:: INCBIN "pic/monback/clefairyb.pic" -SpearowPicFront:: INCBIN "pic/bmon/spearow.pic" -SpearowPicBack:: INCBIN "pic/monback/spearowb.pic" -VoltorbPicFront:: INCBIN "pic/bmon/voltorb.pic" -VoltorbPicBack:: INCBIN "pic/monback/voltorbb.pic" -NidokingPicFront:: INCBIN "pic/bmon/nidoking.pic" -NidokingPicBack:: INCBIN "pic/monback/nidokingb.pic" -SlowbroPicFront:: INCBIN "pic/bmon/slowbro.pic" -SlowbroPicBack:: INCBIN "pic/monback/slowbrob.pic" -IvysaurPicFront:: INCBIN "pic/bmon/ivysaur.pic" -IvysaurPicBack:: INCBIN "pic/monback/ivysaurb.pic" -ExeggutorPicFront:: INCBIN "pic/bmon/exeggutor.pic" -ExeggutorPicBack:: INCBIN "pic/monback/exeggutorb.pic" -LickitungPicFront:: INCBIN "pic/bmon/lickitung.pic" -LickitungPicBack:: INCBIN "pic/monback/lickitungb.pic" -ExeggcutePicFront:: INCBIN "pic/bmon/exeggcute.pic" -ExeggcutePicBack:: INCBIN "pic/monback/exeggcuteb.pic" -GrimerPicFront:: INCBIN "pic/bmon/grimer.pic" -GrimerPicBack:: INCBIN "pic/monback/grimerb.pic" -GengarPicFront:: INCBIN "pic/bmon/gengar.pic" -GengarPicBack:: INCBIN "pic/monback/gengarb.pic" -NidoranFPicFront:: INCBIN "pic/bmon/nidoranf.pic" -NidoranFPicBack:: INCBIN "pic/monback/nidoranfb.pic" -NidoqueenPicFront:: INCBIN "pic/bmon/nidoqueen.pic" -NidoqueenPicBack:: INCBIN "pic/monback/nidoqueenb.pic" -CubonePicFront:: INCBIN "pic/bmon/cubone.pic" -CubonePicBack:: INCBIN "pic/monback/cuboneb.pic" -RhyhornPicFront:: INCBIN "pic/bmon/rhyhorn.pic" -RhyhornPicBack:: INCBIN "pic/monback/rhyhornb.pic" -LaprasPicFront:: INCBIN "pic/bmon/lapras.pic" -LaprasPicBack:: INCBIN "pic/monback/laprasb.pic" -ArcaninePicFront:: INCBIN "pic/bmon/arcanine.pic" -ArcaninePicBack:: INCBIN "pic/monback/arcanineb.pic" -GyaradosPicFront:: INCBIN "pic/bmon/gyarados.pic" -GyaradosPicBack:: INCBIN "pic/monback/gyaradosb.pic" -ShellderPicFront:: INCBIN "pic/bmon/shellder.pic" -ShellderPicBack:: INCBIN "pic/monback/shellderb.pic" -TentacoolPicFront:: INCBIN "pic/bmon/tentacool.pic" -TentacoolPicBack:: INCBIN "pic/monback/tentacoolb.pic" -GastlyPicFront:: INCBIN "pic/bmon/gastly.pic" -GastlyPicBack:: INCBIN "pic/monback/gastlyb.pic" -ScytherPicFront:: INCBIN "pic/bmon/scyther.pic" -ScytherPicBack:: INCBIN "pic/monback/scytherb.pic" -StaryuPicFront:: INCBIN "pic/bmon/staryu.pic" -StaryuPicBack:: INCBIN "pic/monback/staryub.pic" -BlastoisePicFront:: INCBIN "pic/bmon/blastoise.pic" -BlastoisePicBack:: INCBIN "pic/monback/blastoiseb.pic" -PinsirPicFront:: INCBIN "pic/bmon/pinsir.pic" -PinsirPicBack:: INCBIN "pic/monback/pinsirb.pic" -TangelaPicFront:: INCBIN "pic/bmon/tangela.pic" -TangelaPicBack:: INCBIN "pic/monback/tangelab.pic" - - SECTION "Battle (BANK 9)", ROMX INCLUDE "engine/battle/print_type.asm" @@ -589,153 +167,11 @@ INCLUDE "engine/battle/save_trainer_name.asm" INCLUDE "engine/battle/moveEffects/focus_energy_effect.asm" -SECTION "Pics 2", ROMX ; BANK $0A - -GrowlithePicFront:: INCBIN "pic/bmon/growlithe.pic" -GrowlithePicBack:: INCBIN "pic/monback/growlitheb.pic" -OnixPicFront:: INCBIN "pic/bmon/onix.pic" -OnixPicBack:: INCBIN "pic/monback/onixb.pic" -FearowPicFront:: INCBIN "pic/bmon/fearow.pic" -FearowPicBack:: INCBIN "pic/monback/fearowb.pic" -PidgeyPicFront:: INCBIN "pic/bmon/pidgey.pic" -PidgeyPicBack:: INCBIN "pic/monback/pidgeyb.pic" -SlowpokePicFront:: INCBIN "pic/bmon/slowpoke.pic" -SlowpokePicBack:: INCBIN "pic/monback/slowpokeb.pic" -KadabraPicFront:: INCBIN "pic/bmon/kadabra.pic" -KadabraPicBack:: INCBIN "pic/monback/kadabrab.pic" -GravelerPicFront:: INCBIN "pic/bmon/graveler.pic" -GravelerPicBack:: INCBIN "pic/monback/gravelerb.pic" -ChanseyPicFront:: INCBIN "pic/bmon/chansey.pic" -ChanseyPicBack:: INCBIN "pic/monback/chanseyb.pic" -MachokePicFront:: INCBIN "pic/bmon/machoke.pic" -MachokePicBack:: INCBIN "pic/monback/machokeb.pic" -MrMimePicFront:: INCBIN "pic/bmon/mr.mime.pic" -MrMimePicBack:: INCBIN "pic/monback/mr.mimeb.pic" -HitmonleePicFront:: INCBIN "pic/bmon/hitmonlee.pic" -HitmonleePicBack:: INCBIN "pic/monback/hitmonleeb.pic" -HitmonchanPicFront:: INCBIN "pic/bmon/hitmonchan.pic" -HitmonchanPicBack:: INCBIN "pic/monback/hitmonchanb.pic" -ArbokPicFront:: INCBIN "pic/bmon/arbok.pic" -ArbokPicBack:: INCBIN "pic/monback/arbokb.pic" -ParasectPicFront:: INCBIN "pic/bmon/parasect.pic" -ParasectPicBack:: INCBIN "pic/monback/parasectb.pic" -PsyduckPicFront:: INCBIN "pic/bmon/psyduck.pic" -PsyduckPicBack:: INCBIN "pic/monback/psyduckb.pic" -DrowzeePicFront:: INCBIN "pic/bmon/drowzee.pic" -DrowzeePicBack:: INCBIN "pic/monback/drowzeeb.pic" -GolemPicFront:: INCBIN "pic/bmon/golem.pic" -GolemPicBack:: INCBIN "pic/monback/golemb.pic" -MagmarPicFront:: INCBIN "pic/bmon/magmar.pic" -MagmarPicBack:: INCBIN "pic/monback/magmarb.pic" -ElectabuzzPicFront:: INCBIN "pic/bmon/electabuzz.pic" -ElectabuzzPicBack:: INCBIN "pic/monback/electabuzzb.pic" -MagnetonPicFront:: INCBIN "pic/bmon/magneton.pic" -MagnetonPicBack:: INCBIN "pic/monback/magnetonb.pic" -KoffingPicFront:: INCBIN "pic/bmon/koffing.pic" -KoffingPicBack:: INCBIN "pic/monback/koffingb.pic" -MankeyPicFront:: INCBIN "pic/bmon/mankey.pic" -MankeyPicBack:: INCBIN "pic/monback/mankeyb.pic" -SeelPicFront:: INCBIN "pic/bmon/seel.pic" -SeelPicBack:: INCBIN "pic/monback/seelb.pic" -DiglettPicFront:: INCBIN "pic/bmon/diglett.pic" -DiglettPicBack:: INCBIN "pic/monback/diglettb.pic" -TaurosPicFront:: INCBIN "pic/bmon/tauros.pic" -TaurosPicBack:: INCBIN "pic/monback/taurosb.pic" -FarfetchdPicFront:: INCBIN "pic/bmon/farfetchd.pic" -FarfetchdPicBack:: INCBIN "pic/monback/farfetchdb.pic" -VenonatPicFront:: INCBIN "pic/bmon/venonat.pic" -VenonatPicBack:: INCBIN "pic/monback/venonatb.pic" -DragonitePicFront:: INCBIN "pic/bmon/dragonite.pic" -DragonitePicBack:: INCBIN "pic/monback/dragoniteb.pic" -DoduoPicFront:: INCBIN "pic/bmon/doduo.pic" -DoduoPicBack:: INCBIN "pic/monback/doduob.pic" -PoliwagPicFront:: INCBIN "pic/bmon/poliwag.pic" -PoliwagPicBack:: INCBIN "pic/monback/poliwagb.pic" -JynxPicFront:: INCBIN "pic/bmon/jynx.pic" -JynxPicBack:: INCBIN "pic/monback/jynxb.pic" -MoltresPicFront:: INCBIN "pic/bmon/moltres.pic" -MoltresPicBack:: INCBIN "pic/monback/moltresb.pic" - - SECTION "Battle (BANK A)", ROMX INCLUDE "engine/battle/moveEffects/leech_seed_effect.asm" -SECTION "Pics 3", ROMX ; BANK $0B - -ArticunoPicFront:: INCBIN "pic/bmon/articuno.pic" -ArticunoPicBack:: INCBIN "pic/monback/articunob.pic" -ZapdosPicFront:: INCBIN "pic/bmon/zapdos.pic" -ZapdosPicBack:: INCBIN "pic/monback/zapdosb.pic" -DittoPicFront:: INCBIN "pic/bmon/ditto.pic" -DittoPicBack:: INCBIN "pic/monback/dittob.pic" -MeowthPicFront:: INCBIN "pic/bmon/meowth.pic" -MeowthPicBack:: INCBIN "pic/monback/meowthb.pic" -KrabbyPicFront:: INCBIN "pic/bmon/krabby.pic" -KrabbyPicBack:: INCBIN "pic/monback/krabbyb.pic" -VulpixPicFront:: INCBIN "pic/bmon/vulpix.pic" -VulpixPicBack:: INCBIN "pic/monback/vulpixb.pic" -NinetalesPicFront:: INCBIN "pic/bmon/ninetales.pic" -NinetalesPicBack:: INCBIN "pic/monback/ninetalesb.pic" -PikachuPicFront:: INCBIN "pic/bmon/pikachu.pic" -PikachuPicBack:: INCBIN "pic/monback/pikachub.pic" -RaichuPicFront:: INCBIN "pic/bmon/raichu.pic" -RaichuPicBack:: INCBIN "pic/monback/raichub.pic" -DratiniPicFront:: INCBIN "pic/bmon/dratini.pic" -DratiniPicBack:: INCBIN "pic/monback/dratinib.pic" -DragonairPicFront:: INCBIN "pic/bmon/dragonair.pic" -DragonairPicBack:: INCBIN "pic/monback/dragonairb.pic" -KabutoPicFront:: INCBIN "pic/bmon/kabuto.pic" -KabutoPicBack:: INCBIN "pic/monback/kabutob.pic" -KabutopsPicFront:: INCBIN "pic/bmon/kabutops.pic" -KabutopsPicBack:: INCBIN "pic/monback/kabutopsb.pic" -HorseaPicFront:: INCBIN "pic/bmon/horsea.pic" -HorseaPicBack:: INCBIN "pic/monback/horseab.pic" -SeadraPicFront:: INCBIN "pic/bmon/seadra.pic" -SeadraPicBack:: INCBIN "pic/monback/seadrab.pic" -SandshrewPicFront:: INCBIN "pic/bmon/sandshrew.pic" -SandshrewPicBack:: INCBIN "pic/monback/sandshrewb.pic" -SandslashPicFront:: INCBIN "pic/bmon/sandslash.pic" -SandslashPicBack:: INCBIN "pic/monback/sandslashb.pic" -OmanytePicFront:: INCBIN "pic/bmon/omanyte.pic" -OmanytePicBack:: INCBIN "pic/monback/omanyteb.pic" -OmastarPicFront:: INCBIN "pic/bmon/omastar.pic" -OmastarPicBack:: INCBIN "pic/monback/omastarb.pic" -JigglypuffPicFront:: INCBIN "pic/bmon/jigglypuff.pic" -JigglypuffPicBack:: INCBIN "pic/monback/jigglypuffb.pic" -WigglytuffPicFront:: INCBIN "pic/bmon/wigglytuff.pic" -WigglytuffPicBack:: INCBIN "pic/monback/wigglytuffb.pic" -EeveePicFront:: INCBIN "pic/bmon/eevee.pic" -EeveePicBack:: INCBIN "pic/monback/eeveeb.pic" -FlareonPicFront:: INCBIN "pic/bmon/flareon.pic" -FlareonPicBack:: INCBIN "pic/monback/flareonb.pic" -JolteonPicFront:: INCBIN "pic/bmon/jolteon.pic" -JolteonPicBack:: INCBIN "pic/monback/jolteonb.pic" -VaporeonPicFront:: INCBIN "pic/bmon/vaporeon.pic" -VaporeonPicBack:: INCBIN "pic/monback/vaporeonb.pic" -MachopPicFront:: INCBIN "pic/bmon/machop.pic" -MachopPicBack:: INCBIN "pic/monback/machopb.pic" -ZubatPicFront:: INCBIN "pic/bmon/zubat.pic" -ZubatPicBack:: INCBIN "pic/monback/zubatb.pic" -EkansPicFront:: INCBIN "pic/bmon/ekans.pic" -EkansPicBack:: INCBIN "pic/monback/ekansb.pic" -ParasPicFront:: INCBIN "pic/bmon/paras.pic" -ParasPicBack:: INCBIN "pic/monback/parasb.pic" -PoliwhirlPicFront:: INCBIN "pic/bmon/poliwhirl.pic" -PoliwhirlPicBack:: INCBIN "pic/monback/poliwhirlb.pic" -PoliwrathPicFront:: INCBIN "pic/bmon/poliwrath.pic" -PoliwrathPicBack:: INCBIN "pic/monback/poliwrathb.pic" -WeedlePicFront:: INCBIN "pic/bmon/weedle.pic" -WeedlePicBack:: INCBIN "pic/monback/weedleb.pic" -KakunaPicFront:: INCBIN "pic/bmon/kakuna.pic" -KakunaPicBack:: INCBIN "pic/monback/kakunab.pic" -BeedrillPicFront:: INCBIN "pic/bmon/beedrill.pic" -BeedrillPicBack:: INCBIN "pic/monback/beedrillb.pic" - -FossilKabutopsPic:: INCBIN "pic/bmon/fossilkabutops.pic" - - SECTION "Battle (BANK B)", ROMX INCLUDE "engine/battle/display_effectiveness.asm" @@ -752,135 +188,12 @@ INCLUDE "engine/battle/moveEffects/pay_day_effect.asm" INCLUDE "engine/game_corner_slots2.asm" -SECTION "Pics 4", ROMX ; BANK $0C - -DodrioPicFront:: INCBIN "pic/bmon/dodrio.pic" -DodrioPicBack:: INCBIN "pic/monback/dodriob.pic" -PrimeapePicFront:: INCBIN "pic/bmon/primeape.pic" -PrimeapePicBack:: INCBIN "pic/monback/primeapeb.pic" -DugtrioPicFront:: INCBIN "pic/bmon/dugtrio.pic" -DugtrioPicBack:: INCBIN "pic/monback/dugtriob.pic" -VenomothPicFront:: INCBIN "pic/bmon/venomoth.pic" -VenomothPicBack:: INCBIN "pic/monback/venomothb.pic" -DewgongPicFront:: INCBIN "pic/bmon/dewgong.pic" -DewgongPicBack:: INCBIN "pic/monback/dewgongb.pic" -CaterpiePicFront:: INCBIN "pic/bmon/caterpie.pic" -CaterpiePicBack:: INCBIN "pic/monback/caterpieb.pic" -MetapodPicFront:: INCBIN "pic/bmon/metapod.pic" -MetapodPicBack:: INCBIN "pic/monback/metapodb.pic" -ButterfreePicFront:: INCBIN "pic/bmon/butterfree.pic" -ButterfreePicBack:: INCBIN "pic/monback/butterfreeb.pic" -MachampPicFront:: INCBIN "pic/bmon/machamp.pic" -MachampPicBack:: INCBIN "pic/monback/machampb.pic" -GolduckPicFront:: INCBIN "pic/bmon/golduck.pic" -GolduckPicBack:: INCBIN "pic/monback/golduckb.pic" -HypnoPicFront:: INCBIN "pic/bmon/hypno.pic" -HypnoPicBack:: INCBIN "pic/monback/hypnob.pic" -GolbatPicFront:: INCBIN "pic/bmon/golbat.pic" -GolbatPicBack:: INCBIN "pic/monback/golbatb.pic" -MewtwoPicFront:: INCBIN "pic/bmon/mewtwo.pic" -MewtwoPicBack:: INCBIN "pic/monback/mewtwob.pic" -SnorlaxPicFront:: INCBIN "pic/bmon/snorlax.pic" -SnorlaxPicBack:: INCBIN "pic/monback/snorlaxb.pic" -MagikarpPicFront:: INCBIN "pic/bmon/magikarp.pic" -MagikarpPicBack:: INCBIN "pic/monback/magikarpb.pic" -MukPicFront:: INCBIN "pic/bmon/muk.pic" -MukPicBack:: INCBIN "pic/monback/mukb.pic" -KinglerPicFront:: INCBIN "pic/bmon/kingler.pic" -KinglerPicBack:: INCBIN "pic/monback/kinglerb.pic" -CloysterPicFront:: INCBIN "pic/bmon/cloyster.pic" -CloysterPicBack:: INCBIN "pic/monback/cloysterb.pic" -ElectrodePicFront:: INCBIN "pic/bmon/electrode.pic" -ElectrodePicBack:: INCBIN "pic/monback/electrodeb.pic" -ClefablePicFront:: INCBIN "pic/bmon/clefable.pic" -ClefablePicBack:: INCBIN "pic/monback/clefableb.pic" -WeezingPicFront:: INCBIN "pic/bmon/weezing.pic" -WeezingPicBack:: INCBIN "pic/monback/weezingb.pic" -PersianPicFront:: INCBIN "pic/bmon/persian.pic" -PersianPicBack:: INCBIN "pic/monback/persianb.pic" -MarowakPicFront:: INCBIN "pic/bmon/marowak.pic" -MarowakPicBack:: INCBIN "pic/monback/marowakb.pic" -HaunterPicFront:: INCBIN "pic/bmon/haunter.pic" -HaunterPicBack:: INCBIN "pic/monback/haunterb.pic" -AbraPicFront:: INCBIN "pic/bmon/abra.pic" -AbraPicBack:: INCBIN "pic/monback/abrab.pic" -AlakazamPicFront:: INCBIN "pic/bmon/alakazam.pic" -AlakazamPicBack:: INCBIN "pic/monback/alakazamb.pic" -PidgeottoPicFront:: INCBIN "pic/bmon/pidgeotto.pic" -PidgeottoPicBack:: INCBIN "pic/monback/pidgeottob.pic" -PidgeotPicFront:: INCBIN "pic/bmon/pidgeot.pic" -PidgeotPicBack:: INCBIN "pic/monback/pidgeotb.pic" -StarmiePicFront:: INCBIN "pic/bmon/starmie.pic" -StarmiePicBack:: INCBIN "pic/monback/starmieb.pic" - -RedPicBack:: INCBIN "pic/trainer/redb.pic" -OldManPic:: INCBIN "pic/trainer/oldman.pic" - - SECTION "Battle (BANK C)", ROMX INCLUDE "engine/battle/moveEffects/mist_effect.asm" INCLUDE "engine/battle/moveEffects/one_hit_ko_effect.asm" -SECTION "Pics 5", ROMX ; BANK $0D - -BulbasaurPicFront:: INCBIN "pic/bmon/bulbasaur.pic" -BulbasaurPicBack:: INCBIN "pic/monback/bulbasaurb.pic" -VenusaurPicFront:: INCBIN "pic/bmon/venusaur.pic" -VenusaurPicBack:: INCBIN "pic/monback/venusaurb.pic" -TentacruelPicFront:: INCBIN "pic/bmon/tentacruel.pic" -TentacruelPicBack:: INCBIN "pic/monback/tentacruelb.pic" -GoldeenPicFront:: INCBIN "pic/bmon/goldeen.pic" -GoldeenPicBack:: INCBIN "pic/monback/goldeenb.pic" -SeakingPicFront:: INCBIN "pic/bmon/seaking.pic" -SeakingPicBack:: INCBIN "pic/monback/seakingb.pic" -PonytaPicFront:: INCBIN "pic/bmon/ponyta.pic" -RapidashPicFront:: INCBIN "pic/bmon/rapidash.pic" -PonytaPicBack:: INCBIN "pic/monback/ponytab.pic" -RapidashPicBack:: INCBIN "pic/monback/rapidashb.pic" -RattataPicFront:: INCBIN "pic/bmon/rattata.pic" -RattataPicBack:: INCBIN "pic/monback/rattatab.pic" -RaticatePicFront:: INCBIN "pic/bmon/raticate.pic" -RaticatePicBack:: INCBIN "pic/monback/raticateb.pic" -NidorinoPicFront:: INCBIN "pic/bmon/nidorino.pic" -NidorinoPicBack:: INCBIN "pic/monback/nidorinob.pic" -NidorinaPicFront:: INCBIN "pic/bmon/nidorina.pic" -NidorinaPicBack:: INCBIN "pic/monback/nidorinab.pic" -GeodudePicFront:: INCBIN "pic/bmon/geodude.pic" -GeodudePicBack:: INCBIN "pic/monback/geodudeb.pic" -PorygonPicFront:: INCBIN "pic/bmon/porygon.pic" -PorygonPicBack:: INCBIN "pic/monback/porygonb.pic" -AerodactylPicFront:: INCBIN "pic/bmon/aerodactyl.pic" -AerodactylPicBack:: INCBIN "pic/monback/aerodactylb.pic" -MagnemitePicFront:: INCBIN "pic/bmon/magnemite.pic" -MagnemitePicBack:: INCBIN "pic/monback/magnemiteb.pic" -CharmanderPicFront:: INCBIN "pic/bmon/charmander.pic" -CharmanderPicBack:: INCBIN "pic/monback/charmanderb.pic" -SquirtlePicFront:: INCBIN "pic/bmon/squirtle.pic" -SquirtlePicBack:: INCBIN "pic/monback/squirtleb.pic" -CharmeleonPicFront:: INCBIN "pic/bmon/charmeleon.pic" -CharmeleonPicBack:: INCBIN "pic/monback/charmeleonb.pic" -WartortlePicFront:: INCBIN "pic/bmon/wartortle.pic" -WartortlePicBack:: INCBIN "pic/monback/wartortleb.pic" -CharizardPicFront:: INCBIN "pic/bmon/charizard.pic" -CharizardPicBack:: INCBIN "pic/monback/charizardb.pic" -FossilAerodactylPic:: INCBIN "pic/bmon/fossilaerodactyl.pic" -GhostPic:: INCBIN "pic/other/ghost.pic" -OddishPicFront:: INCBIN "pic/bmon/oddish.pic" -OddishPicBack:: INCBIN "pic/monback/oddishb.pic" -GloomPicFront:: INCBIN "pic/bmon/gloom.pic" -GloomPicBack:: INCBIN "pic/monback/gloomb.pic" -VileplumePicFront:: INCBIN "pic/bmon/vileplume.pic" -VileplumePicBack:: INCBIN "pic/monback/vileplumeb.pic" -BellsproutPicFront:: INCBIN "pic/bmon/bellsprout.pic" -BellsproutPicBack:: INCBIN "pic/monback/bellsproutb.pic" -WeepinbellPicFront:: INCBIN "pic/bmon/weepinbell.pic" -WeepinbellPicBack:: INCBIN "pic/monback/weepinbellb.pic" -VictreebelPicFront:: INCBIN "pic/bmon/victreebel.pic" -VictreebelPicBack:: INCBIN "pic/monback/victreebelb.pic" - - SECTION "Battle (BANK D)", ROMX INCLUDE "engine/titlescreen2.asm" @@ -894,7 +207,7 @@ INCLUDE "engine/game_corner_slots.asm" SECTION "bankE", ROMX INCLUDE "data/moves.asm" -BaseStats: INCLUDE "data/base_stats.asm" +INCLUDE "data/base_stats.asm" INCLUDE "data/cries.asm" INCLUDE "engine/battle/unused_stats_functions.asm" INCLUDE "engine/battle/scroll_draw_trainer_pic.asm" @@ -930,949 +243,78 @@ INCLUDE "engine/intro.asm" INCLUDE "engine/trade2.asm" -SECTION "bank11", ROMX - -INCLUDE "data/mapHeaders/LavenderTown.asm" -INCLUDE "data/mapObjects/LavenderTown.asm" -LavenderTown_Blocks: INCBIN "maps/LavenderTown.blk" - -ViridianPokecenter_Blocks: INCBIN "maps/ViridianPokecenter.blk" - -SafariZoneCenterRestHouse_Blocks: -SafariZoneWestRestHouse_Blocks: -SafariZoneEastRestHouse_Blocks: -SafariZoneNorthRestHouse_Blocks: INCBIN "maps/SafariZoneCenterRestHouse.blk" - -INCLUDE "scripts/LavenderTown.asm" +SECTION "bank11_1", ROMX INCLUDE "engine/pokedex_rating.asm" -INCLUDE "data/mapHeaders/ViridianPokecenter.asm" -INCLUDE "scripts/ViridianPokecenter.asm" -INCLUDE "data/mapObjects/ViridianPokecenter.asm" - -INCLUDE "data/mapHeaders/PokemonMansion1F.asm" -INCLUDE "scripts/PokemonMansion1F.asm" -INCLUDE "data/mapObjects/PokemonMansion1F.asm" -PokemonMansion1F_Blocks: INCBIN "maps/PokemonMansion1F.blk" - -INCLUDE "data/mapHeaders/RockTunnel1F.asm" -INCLUDE "scripts/RockTunnel1F.asm" -INCLUDE "data/mapObjects/RockTunnel1F.asm" -RockTunnel1F_Blocks: INCBIN "maps/RockTunnel1F.blk" - -INCLUDE "data/mapHeaders/SeafoamIslands1F.asm" -INCLUDE "scripts/SeafoamIslands1F.asm" -INCLUDE "data/mapObjects/SeafoamIslands1F.asm" -SeafoamIslands1F_Blocks: INCBIN "maps/SeafoamIslands1F.blk" - -INCLUDE "data/mapHeaders/SSAnne3F.asm" -INCLUDE "scripts/SSAnne3F.asm" -INCLUDE "data/mapObjects/SSAnne3F.asm" -SSAnne3F_Blocks: INCBIN "maps/SSAnne3F.blk" - -INCLUDE "data/mapHeaders/VictoryRoad3F.asm" -INCLUDE "scripts/VictoryRoad3F.asm" -INCLUDE "data/mapObjects/VictoryRoad3F.asm" -VictoryRoad3F_Blocks: INCBIN "maps/VictoryRoad3F.blk" - -INCLUDE "data/mapHeaders/RocketHideoutB1F.asm" -INCLUDE "scripts/RocketHideoutB1F.asm" -INCLUDE "data/mapObjects/RocketHideoutB1F.asm" -RocketHideoutB1F_Blocks: INCBIN "maps/RocketHideoutB1F.blk" - -INCLUDE "data/mapHeaders/RocketHideoutB2F.asm" -INCLUDE "scripts/RocketHideoutB2F.asm" -INCLUDE "data/mapObjects/RocketHideoutB2F.asm" -RocketHideoutB2F_Blocks: INCBIN "maps/RocketHideoutB2F.blk" - -INCLUDE "data/mapHeaders/RocketHideoutB3F.asm" -INCLUDE "scripts/RocketHideoutB3F.asm" -INCLUDE "data/mapObjects/RocketHideoutB3F.asm" -RocketHideoutB3F_Blocks: INCBIN "maps/RocketHideoutB3F.blk" - -INCLUDE "data/mapHeaders/RocketHideoutB4F.asm" -INCLUDE "scripts/RocketHideoutB4F.asm" -INCLUDE "data/mapObjects/RocketHideoutB4F.asm" -RocketHideoutB4F_Blocks: INCBIN "maps/RocketHideoutB4F.blk" - -INCLUDE "data/mapHeaders/RocketHideoutElevator.asm" -INCLUDE "scripts/RocketHideoutElevator.asm" -INCLUDE "data/mapObjects/RocketHideoutElevator.asm" -RocketHideoutElevator_Blocks: INCBIN "maps/RocketHideoutElevator.blk" - -INCLUDE "data/mapHeaders/SilphCoElevator.asm" -INCLUDE "scripts/SilphCoElevator.asm" -INCLUDE "data/mapObjects/SilphCoElevator.asm" -SilphCoElevator_Blocks: INCBIN "maps/SilphCoElevator.blk" - -INCLUDE "data/mapHeaders/SafariZoneEast.asm" -INCLUDE "scripts/SafariZoneEast.asm" -INCLUDE "data/mapObjects/SafariZoneEast.asm" -SafariZoneEast_Blocks: INCBIN "maps/SafariZoneEast.blk" - -INCLUDE "data/mapHeaders/SafariZoneNorth.asm" -INCLUDE "scripts/SafariZoneNorth.asm" -INCLUDE "data/mapObjects/SafariZoneNorth.asm" -SafariZoneNorth_Blocks: INCBIN "maps/SafariZoneNorth.blk" - -INCLUDE "data/mapHeaders/SafariZoneCenter.asm" -INCLUDE "scripts/SafariZoneCenter.asm" -INCLUDE "data/mapObjects/SafariZoneCenter.asm" -SafariZoneCenter_Blocks: INCBIN "maps/SafariZoneCenter.blk" - -INCLUDE "data/mapHeaders/SafariZoneCenterRestHouse.asm" -INCLUDE "scripts/SafariZoneCenterRestHouse.asm" -INCLUDE "data/mapObjects/SafariZoneCenterRestHouse.asm" - -INCLUDE "data/mapHeaders/SafariZoneWestRestHouse.asm" -INCLUDE "scripts/SafariZoneWestRestHouse.asm" -INCLUDE "data/mapObjects/SafariZoneWestRestHouse.asm" - -INCLUDE "data/mapHeaders/SafariZoneEastRestHouse.asm" -INCLUDE "scripts/SafariZoneEastRestHouse.asm" -INCLUDE "data/mapObjects/SafariZoneEastRestHouse.asm" - -INCLUDE "data/mapHeaders/SafariZoneNorthRestHouse.asm" -INCLUDE "scripts/SafariZoneNorthRestHouse.asm" -INCLUDE "data/mapObjects/SafariZoneNorthRestHouse.asm" - -INCLUDE "data/mapHeaders/CeruleanCave2F.asm" -INCLUDE "scripts/CeruleanCave2F.asm" -INCLUDE "data/mapObjects/CeruleanCave2F.asm" -CeruleanCave2F_Blocks: INCBIN "maps/CeruleanCave2F.blk" - -INCLUDE "data/mapHeaders/CeruleanCaveB1F.asm" -INCLUDE "scripts/CeruleanCaveB1F.asm" -INCLUDE "data/mapObjects/CeruleanCaveB1F.asm" -CeruleanCaveB1F_Blocks: INCBIN "maps/CeruleanCaveB1F.blk" - -INCLUDE "data/mapHeaders/RockTunnelB1F.asm" -INCLUDE "scripts/RockTunnelB1F.asm" -INCLUDE "data/mapObjects/RockTunnelB1F.asm" -RockTunnelB1F_Blocks: INCBIN "maps/RockTunnelB1F.blk" - -INCLUDE "data/mapHeaders/SeafoamIslandsB1F.asm" -INCLUDE "scripts/SeafoamIslandsB1F.asm" -INCLUDE "data/mapObjects/SeafoamIslandsB1F.asm" -SeafoamIslandsB1F_Blocks: INCBIN "maps/SeafoamIslandsB1F.blk" - -INCLUDE "data/mapHeaders/SeafoamIslandsB2F.asm" -INCLUDE "scripts/SeafoamIslandsB2F.asm" -INCLUDE "data/mapObjects/SeafoamIslandsB2F.asm" -SeafoamIslandsB2F_Blocks: INCBIN "maps/SeafoamIslandsB2F.blk" - -INCLUDE "data/mapHeaders/SeafoamIslandsB3F.asm" -INCLUDE "scripts/SeafoamIslandsB3F.asm" -INCLUDE "data/mapObjects/SeafoamIslandsB3F.asm" -SeafoamIslandsB3F_Blocks: INCBIN "maps/SeafoamIslandsB3F.blk" - -INCLUDE "data/mapHeaders/SeafoamIslandsB4F.asm" -INCLUDE "scripts/SeafoamIslandsB4F.asm" -INCLUDE "data/mapObjects/SeafoamIslandsB4F.asm" -SeafoamIslandsB4F_Blocks: INCBIN "maps/SeafoamIslandsB4F.blk" + +SECTION "bank11_2", ROMX INCLUDE "engine/overworld/hidden_objects.asm" SECTION "bank12", ROMX -INCLUDE "data/mapHeaders/Route7.asm" -INCLUDE "data/mapObjects/Route7.asm" -Route7_Blocks: INCBIN "maps/Route7.blk" - -CeladonPokecenter_Blocks: -RockTunnelPokecenter_Blocks: -MtMoonPokecenter_Blocks: INCBIN "maps/MtMoonPokecenter.blk" - -Route18Gate1F_Blocks: -Route15Gate1F_Blocks: -Route11Gate1F_Blocks: INCBIN "maps/Route11Gate1F.blk" - -Route18Gate2F_Blocks: -Route16Gate2F_Blocks: -Route15Gate2F_Blocks: -Route12Gate2F_Blocks: -Route11Gate2F_Blocks: INCBIN "maps/Route11Gate2F.blk" - INCLUDE "engine/predefs12.asm" -INCLUDE "scripts/Route7.asm" - -INCLUDE "data/mapHeaders/RedsHouse1F.asm" -INCLUDE "scripts/RedsHouse1F.asm" -INCLUDE "data/mapObjects/RedsHouse1F.asm" -RedsHouse1F_Blocks: INCBIN "maps/RedsHouse1F.blk" - -INCLUDE "data/mapHeaders/CeladonMart3F.asm" -INCLUDE "scripts/CeladonMart3F.asm" -INCLUDE "data/mapObjects/CeladonMart3F.asm" -CeladonMart3F_Blocks: INCBIN "maps/CeladonMart3F.blk" - -INCLUDE "data/mapHeaders/CeladonMart4F.asm" -INCLUDE "scripts/CeladonMart4F.asm" -INCLUDE "data/mapObjects/CeladonMart4F.asm" -CeladonMart4F_Blocks: INCBIN "maps/CeladonMart4F.blk" - -INCLUDE "data/mapHeaders/CeladonMartRoof.asm" -INCLUDE "scripts/CeladonMartRoof.asm" -INCLUDE "data/mapObjects/CeladonMartRoof.asm" -CeladonMartRoof_Blocks: INCBIN "maps/CeladonMartRoof.blk" - -INCLUDE "data/mapHeaders/CeladonMartElevator.asm" -INCLUDE "scripts/CeladonMartElevator.asm" -INCLUDE "data/mapObjects/CeladonMartElevator.asm" -CeladonMartElevator_Blocks: INCBIN "maps/CeladonMartElevator.blk" - -INCLUDE "data/mapHeaders/CeladonMansion1F.asm" -INCLUDE "scripts/CeladonMansion1F.asm" -INCLUDE "data/mapObjects/CeladonMansion1F.asm" -CeladonMansion1F_Blocks: INCBIN "maps/CeladonMansion1F.blk" - -INCLUDE "data/mapHeaders/CeladonMansion2F.asm" -INCLUDE "scripts/CeladonMansion2F.asm" -INCLUDE "data/mapObjects/CeladonMansion2F.asm" -CeladonMansion2F_Blocks: INCBIN "maps/CeladonMansion2F.blk" - -INCLUDE "data/mapHeaders/CeladonMansion3F.asm" -INCLUDE "scripts/CeladonMansion3F.asm" -INCLUDE "data/mapObjects/CeladonMansion3F.asm" -CeladonMansion3F_Blocks: INCBIN "maps/CeladonMansion3F.blk" - -INCLUDE "data/mapHeaders/CeladonMansionRoof.asm" -INCLUDE "scripts/CeladonMansionRoof.asm" -INCLUDE "data/mapObjects/CeladonMansionRoof.asm" -CeladonMansionRoof_Blocks: INCBIN "maps/CeladonMansionRoof.blk" - -INCLUDE "data/mapHeaders/CeladonPokecenter.asm" -INCLUDE "scripts/CeladonPokecenter.asm" -INCLUDE "data/mapObjects/CeladonPokecenter.asm" - -INCLUDE "data/mapHeaders/CeladonGym.asm" -INCLUDE "scripts/CeladonGym.asm" -INCLUDE "data/mapObjects/CeladonGym.asm" -CeladonGym_Blocks: INCBIN "maps/CeladonGym.blk" - -INCLUDE "data/mapHeaders/GameCorner.asm" -INCLUDE "scripts/GameCorner.asm" -INCLUDE "data/mapObjects/GameCorner.asm" -GameCorner_Blocks: INCBIN "maps/GameCorner.blk" - -INCLUDE "data/mapHeaders/CeladonMart5F.asm" -INCLUDE "scripts/CeladonMart5F.asm" -INCLUDE "data/mapObjects/CeladonMart5F.asm" -CeladonMart5F_Blocks: INCBIN "maps/CeladonMart5F.blk" - -INCLUDE "data/mapHeaders/GameCornerPrizeRoom.asm" -INCLUDE "scripts/GameCornerPrizeRoom.asm" -INCLUDE "data/mapObjects/GameCornerPrizeRoom.asm" -GameCornerPrizeRoom_Blocks: INCBIN "maps/GameCornerPrizeRoom.blk" - -INCLUDE "data/mapHeaders/CeladonDiner.asm" -INCLUDE "scripts/CeladonDiner.asm" -INCLUDE "data/mapObjects/CeladonDiner.asm" -CeladonDiner_Blocks: INCBIN "maps/CeladonDiner.blk" - -INCLUDE "data/mapHeaders/CeladonChiefHouse.asm" -INCLUDE "scripts/CeladonChiefHouse.asm" -INCLUDE "data/mapObjects/CeladonChiefHouse.asm" -CeladonChiefHouse_Blocks: INCBIN "maps/CeladonChiefHouse.blk" - -INCLUDE "data/mapHeaders/CeladonHotel.asm" -INCLUDE "scripts/CeladonHotel.asm" -INCLUDE "data/mapObjects/CeladonHotel.asm" -CeladonHotel_Blocks: INCBIN "maps/CeladonHotel.blk" - -INCLUDE "data/mapHeaders/MtMoonPokecenter.asm" -INCLUDE "scripts/MtMoonPokecenter.asm" -INCLUDE "data/mapObjects/MtMoonPokecenter.asm" - -INCLUDE "data/mapHeaders/RockTunnelPokecenter.asm" -INCLUDE "scripts/RockTunnelPokecenter.asm" -INCLUDE "data/mapObjects/RockTunnelPokecenter.asm" - -INCLUDE "data/mapHeaders/Route11Gate1F.asm" -INCLUDE "scripts/Route11Gate1F.asm" -INCLUDE "data/mapObjects/Route11Gate1F.asm" - -INCLUDE "data/mapHeaders/Route11Gate2F.asm" -INCLUDE "scripts/Route11Gate2F.asm" -INCLUDE "data/mapObjects/Route11Gate2F.asm" - -INCLUDE "data/mapHeaders/Route12Gate1F.asm" -INCLUDE "scripts/Route12Gate1F.asm" -INCLUDE "data/mapObjects/Route12Gate1F.asm" -Route12Gate1F_Blocks: INCBIN "maps/Route12Gate1F.blk" - -INCLUDE "data/mapHeaders/Route12Gate2F.asm" -INCLUDE "scripts/Route12Gate2F.asm" -INCLUDE "data/mapObjects/Route12Gate2F.asm" - -INCLUDE "data/mapHeaders/Route15Gate1F.asm" -INCLUDE "scripts/Route15Gate1F.asm" -INCLUDE "data/mapObjects/Route15Gate1F.asm" - -INCLUDE "data/mapHeaders/Route15Gate2F.asm" -INCLUDE "scripts/Route15Gate2F.asm" -INCLUDE "data/mapObjects/Route15Gate2F.asm" - -INCLUDE "data/mapHeaders/Route16Gate1F.asm" -INCLUDE "scripts/Route16Gate1F.asm" -INCLUDE "data/mapObjects/Route16Gate1F.asm" -Route16Gate1F_Blocks: INCBIN "maps/Route16Gate1F.blk" - -INCLUDE "data/mapHeaders/Route16Gate2F.asm" -INCLUDE "scripts/Route16Gate2F.asm" -INCLUDE "data/mapObjects/Route16Gate2F.asm" - -INCLUDE "data/mapHeaders/Route18Gate1F.asm" -INCLUDE "scripts/Route18Gate1F.asm" -INCLUDE "data/mapObjects/Route18Gate1F.asm" - -INCLUDE "data/mapHeaders/Route18Gate2F.asm" -INCLUDE "scripts/Route18Gate2F.asm" -INCLUDE "data/mapObjects/Route18Gate2F.asm" - -INCLUDE "data/mapHeaders/MtMoon1F.asm" -INCLUDE "scripts/MtMoon1F.asm" -INCLUDE "data/mapObjects/MtMoon1F.asm" -MtMoon1F_Blocks: INCBIN "maps/MtMoon1F.blk" - -INCLUDE "data/mapHeaders/MtMoonB2F.asm" -INCLUDE "scripts/MtMoonB2F.asm" -INCLUDE "data/mapObjects/MtMoonB2F.asm" -MtMoonB2F_Blocks: INCBIN "maps/MtMoonB2F.blk" - -INCLUDE "data/mapHeaders/SafariZoneWest.asm" -INCLUDE "scripts/SafariZoneWest.asm" -INCLUDE "data/mapObjects/SafariZoneWest.asm" -SafariZoneWest_Blocks: INCBIN "maps/SafariZoneWest.blk" - -INCLUDE "data/mapHeaders/SafariZoneSecretHouse.asm" -INCLUDE "scripts/SafariZoneSecretHouse.asm" -INCLUDE "data/mapObjects/SafariZoneSecretHouse.asm" -SafariZoneSecretHouse_Blocks: INCBIN "maps/SafariZoneSecretHouse.blk" - SECTION "bank13", ROMX -TrainerPics:: -YoungsterPic:: INCBIN "pic/trainer/youngster.pic" -BugCatcherPic:: INCBIN "pic/trainer/bugcatcher.pic" -LassPic:: INCBIN "pic/trainer/lass.pic" -SailorPic:: INCBIN "pic/trainer/sailor.pic" -JrTrainerMPic:: INCBIN "pic/trainer/jr.trainerm.pic" -JrTrainerFPic:: INCBIN "pic/trainer/jr.trainerf.pic" -PokemaniacPic:: INCBIN "pic/trainer/pokemaniac.pic" -SuperNerdPic:: INCBIN "pic/trainer/supernerd.pic" -HikerPic:: INCBIN "pic/trainer/hiker.pic" -BikerPic:: INCBIN "pic/trainer/biker.pic" -BurglarPic:: INCBIN "pic/trainer/burglar.pic" -EngineerPic:: INCBIN "pic/trainer/engineer.pic" -FisherPic:: INCBIN "pic/trainer/fisher.pic" -SwimmerPic:: INCBIN "pic/trainer/swimmer.pic" -CueBallPic:: INCBIN "pic/trainer/cueball.pic" -GamblerPic:: INCBIN "pic/trainer/gambler.pic" -BeautyPic:: INCBIN "pic/trainer/beauty.pic" -PsychicPic:: INCBIN "pic/trainer/psychic.pic" -RockerPic:: INCBIN "pic/trainer/rocker.pic" -JugglerPic:: INCBIN "pic/trainer/juggler.pic" -TamerPic:: INCBIN "pic/trainer/tamer.pic" -BirdKeeperPic:: INCBIN "pic/trainer/birdkeeper.pic" -BlackbeltPic:: INCBIN "pic/trainer/blackbelt.pic" -Rival1Pic:: INCBIN "pic/trainer/rival1.pic" -ProfOakPic:: INCBIN "pic/trainer/prof.oak.pic" -ChiefPic:: -ScientistPic:: INCBIN "pic/trainer/scientist.pic" -GiovanniPic:: INCBIN "pic/trainer/giovanni.pic" -RocketPic:: INCBIN "pic/trainer/rocket.pic" -CooltrainerMPic:: INCBIN "pic/trainer/cooltrainerm.pic" -CooltrainerFPic:: INCBIN "pic/trainer/cooltrainerf.pic" -BrunoPic:: INCBIN "pic/trainer/bruno.pic" -BrockPic:: INCBIN "pic/trainer/brock.pic" -MistyPic:: INCBIN "pic/trainer/misty.pic" -LtSurgePic:: INCBIN "pic/trainer/lt.surge.pic" -ErikaPic:: INCBIN "pic/trainer/erika.pic" -KogaPic:: INCBIN "pic/trainer/koga.pic" -BlainePic:: INCBIN "pic/trainer/blaine.pic" -SabrinaPic:: INCBIN "pic/trainer/sabrina.pic" -GentlemanPic:: INCBIN "pic/trainer/gentleman.pic" -Rival2Pic:: INCBIN "pic/trainer/rival2.pic" -Rival3Pic:: INCBIN "pic/trainer/rival3.pic" -LoreleiPic:: INCBIN "pic/trainer/lorelei.pic" -ChannelerPic:: INCBIN "pic/trainer/channeler.pic" -AgathaPic:: INCBIN "pic/trainer/agatha.pic" -LancePic:: INCBIN "pic/trainer/lance.pic" - -INCLUDE "data/mapHeaders/TradeCenter.asm" -INCLUDE "scripts/TradeCenter.asm" -INCLUDE "data/mapObjects/TradeCenter.asm" -TradeCenter_Blocks: INCBIN "maps/TradeCenter.blk" - -INCLUDE "data/mapHeaders/Colosseum.asm" -INCLUDE "scripts/Colosseum.asm" -INCLUDE "data/mapObjects/Colosseum.asm" -Colosseum_Blocks: INCBIN "maps/Colosseum.blk" - INCLUDE "engine/give_pokemon.asm" - INCLUDE "engine/predefs.asm" SECTION "bank14", ROMX -INCLUDE "data/mapHeaders/Route22.asm" -INCLUDE "data/mapObjects/Route22.asm" -Route22_Blocks: INCBIN "maps/Route22.blk" - -INCLUDE "data/mapHeaders/Route20.asm" -INCLUDE "data/mapObjects/Route20.asm" -Route20_Blocks: INCBIN "maps/Route20.blk" - -INCLUDE "data/mapHeaders/Route23.asm" -INCLUDE "data/mapObjects/Route23.asm" -Route23_Blocks: INCBIN "maps/Route23.blk" - -INCLUDE "data/mapHeaders/Route24.asm" -INCLUDE "data/mapObjects/Route24.asm" -Route24_Blocks: INCBIN "maps/Route24.blk" - -INCLUDE "data/mapHeaders/Route25.asm" -INCLUDE "data/mapObjects/Route25.asm" -Route25_Blocks: INCBIN "maps/Route25.blk" - -INCLUDE "data/mapHeaders/IndigoPlateau.asm" -INCLUDE "scripts/IndigoPlateau.asm" -INCLUDE "data/mapObjects/IndigoPlateau.asm" -IndigoPlateau_Blocks: INCBIN "maps/IndigoPlateau.blk" - -INCLUDE "data/mapHeaders/SaffronCity.asm" -INCLUDE "data/mapObjects/SaffronCity.asm" -SaffronCity_Blocks: INCBIN "maps/SaffronCity.blk" -INCLUDE "scripts/SaffronCity.asm" - -INCLUDE "scripts/Route20.asm" -INCLUDE "scripts/Route22.asm" -INCLUDE "scripts/Route23.asm" -INCLUDE "scripts/Route24.asm" -INCLUDE "scripts/Route25.asm" - -INCLUDE "data/mapHeaders/VictoryRoad2F.asm" -INCLUDE "scripts/VictoryRoad2F.asm" -INCLUDE "data/mapObjects/VictoryRoad2F.asm" -VictoryRoad2F_Blocks: INCBIN "maps/VictoryRoad2F.blk" - -INCLUDE "data/mapHeaders/MtMoonB1F.asm" -INCLUDE "scripts/MtMoonB1F.asm" -INCLUDE "data/mapObjects/MtMoonB1F.asm" -MtMoonB1F_Blocks: INCBIN "maps/MtMoonB1F.blk" - -INCLUDE "data/mapHeaders/SilphCo7F.asm" -INCLUDE "scripts/SilphCo7F.asm" -INCLUDE "data/mapObjects/SilphCo7F.asm" -SilphCo7F_Blocks: INCBIN "maps/SilphCo7F.blk" - -INCLUDE "data/mapHeaders/PokemonMansion2F.asm" -INCLUDE "scripts/PokemonMansion2F.asm" -INCLUDE "data/mapObjects/PokemonMansion2F.asm" -PokemonMansion2F_Blocks: INCBIN "maps/PokemonMansion2F.blk" - -INCLUDE "data/mapHeaders/PokemonMansion3F.asm" -INCLUDE "scripts/PokemonMansion3F.asm" -INCLUDE "data/mapObjects/PokemonMansion3F.asm" -PokemonMansion3F_Blocks: INCBIN "maps/PokemonMansion3F.blk" - -INCLUDE "data/mapHeaders/PokemonMansionB1F.asm" -INCLUDE "scripts/PokemonMansionB1F.asm" -INCLUDE "data/mapObjects/PokemonMansionB1F.asm" -PokemonMansionB1F_Blocks: INCBIN "maps/PokemonMansionB1F.blk" - INCLUDE "engine/battle/init_battle_variables.asm" INCLUDE "engine/battle/moveEffects/paralyze_effect.asm" - INCLUDE "engine/overworld/card_key.asm" - INCLUDE "engine/menu/prize_menu.asm" - INCLUDE "engine/hidden_object_functions14.asm" -SECTION "bank15", ROMX - -INCLUDE "data/mapHeaders/Route2.asm" -INCLUDE "data/mapObjects/Route2.asm" -Route2_Blocks: INCBIN "maps/Route2.blk" - -INCLUDE "data/mapHeaders/Route3.asm" -INCLUDE "data/mapObjects/Route3.asm" -Route3_Blocks: INCBIN "maps/Route3.blk" - -INCLUDE "data/mapHeaders/Route4.asm" -INCLUDE "data/mapObjects/Route4.asm" -Route4_Blocks: INCBIN "maps/Route4.blk" - -INCLUDE "data/mapHeaders/Route5.asm" -INCLUDE "data/mapObjects/Route5.asm" -Route5_Blocks: INCBIN "maps/Route5.blk" - -INCLUDE "data/mapHeaders/Route9.asm" -INCLUDE "data/mapObjects/Route9.asm" -Route9_Blocks: INCBIN "maps/Route9.blk" - -INCLUDE "data/mapHeaders/Route13.asm" -INCLUDE "data/mapObjects/Route13.asm" -Route13_Blocks: INCBIN "maps/Route13.blk" - -INCLUDE "data/mapHeaders/Route14.asm" -INCLUDE "data/mapObjects/Route14.asm" -Route14_Blocks: INCBIN "maps/Route14.blk" - -INCLUDE "data/mapHeaders/Route17.asm" -INCLUDE "data/mapObjects/Route17.asm" -Route17_Blocks: INCBIN "maps/Route17.blk" - -INCLUDE "data/mapHeaders/Route19.asm" -INCLUDE "data/mapObjects/Route19.asm" -Route19_Blocks: INCBIN "maps/Route19.blk" - -INCLUDE "data/mapHeaders/Route21.asm" -INCLUDE "data/mapObjects/Route21.asm" -Route21_Blocks: INCBIN "maps/Route21.blk" - -VermilionOldRodHouse_Blocks: -Route12SuperRodHouse_Blocks: -Daycare_Blocks: INCBIN "maps/Daycare.blk" - -FuchsiaGoodRodHouse_Blocks: INCBIN "maps/FuchsiaGoodRodHouse.blk" +SECTION "bank15_1", ROMX INCLUDE "engine/battle/experience.asm" -INCLUDE "scripts/Route2.asm" -INCLUDE "scripts/Route3.asm" -INCLUDE "scripts/Route4.asm" -INCLUDE "scripts/Route5.asm" -INCLUDE "scripts/Route9.asm" -INCLUDE "scripts/Route13.asm" -INCLUDE "scripts/Route14.asm" -INCLUDE "scripts/Route17.asm" -INCLUDE "scripts/Route19.asm" -INCLUDE "scripts/Route21.asm" - -INCLUDE "data/mapHeaders/VermilionOldRodHouse.asm" -INCLUDE "scripts/VermilionOldRodHouse.asm" -INCLUDE "data/mapObjects/VermilionOldRodHouse.asm" - -INCLUDE "data/mapHeaders/CeladonMart2F.asm" -INCLUDE "scripts/CeladonMart2F.asm" -INCLUDE "data/mapObjects/CeladonMart2F.asm" -CeladonMart2F_Blocks: INCBIN "maps/CeladonMart2F.blk" - -INCLUDE "data/mapHeaders/FuchsiaGoodRodHouse.asm" -INCLUDE "scripts/FuchsiaGoodRodHouse.asm" -INCLUDE "data/mapObjects/FuchsiaGoodRodHouse.asm" - -INCLUDE "data/mapHeaders/Daycare.asm" -INCLUDE "scripts/Daycare.asm" -INCLUDE "data/mapObjects/Daycare.asm" - -INCLUDE "data/mapHeaders/Route12SuperRodHouse.asm" -INCLUDE "scripts/Route12SuperRodHouse.asm" -INCLUDE "data/mapObjects/Route12SuperRodHouse.asm" - -INCLUDE "data/mapHeaders/SilphCo8F.asm" -INCLUDE "scripts/SilphCo8F.asm" -INCLUDE "data/mapObjects/SilphCo8F.asm" -SilphCo8F_Blocks: INCBIN "maps/SilphCo8F.blk" -INCLUDE "engine/menu/diploma.asm" +SECTION "bank15_2", ROMX +INCLUDE "engine/menu/diploma.asm" INCLUDE "engine/overworld/trainers.asm" -SECTION "bank16", ROMX - -INCLUDE "data/mapHeaders/Route6.asm" -INCLUDE "data/mapObjects/Route6.asm" -Route6_Blocks: INCBIN "maps/Route6.blk" - -INCLUDE "data/mapHeaders/Route8.asm" -INCLUDE "data/mapObjects/Route8.asm" -Route8_Blocks: INCBIN "maps/Route8.blk" - -INCLUDE "data/mapHeaders/Route10.asm" -INCLUDE "data/mapObjects/Route10.asm" -Route10_Blocks: INCBIN "maps/Route10.blk" - -INCLUDE "data/mapHeaders/Route11.asm" -INCLUDE "data/mapObjects/Route11.asm" -Route11_Blocks: INCBIN "maps/Route11.blk" - -INCLUDE "data/mapHeaders/Route12.asm" -INCLUDE "data/mapObjects/Route12.asm" -Route12_Blocks: INCBIN "maps/Route12.blk" - -INCLUDE "data/mapHeaders/Route15.asm" -INCLUDE "data/mapObjects/Route15.asm" -Route15_Blocks: INCBIN "maps/Route15.blk" - -INCLUDE "data/mapHeaders/Route16.asm" -INCLUDE "data/mapObjects/Route16.asm" -Route16_Blocks: INCBIN "maps/Route16.blk" - -INCLUDE "data/mapHeaders/Route18.asm" -INCLUDE "data/mapObjects/Route18.asm" -Route18_Blocks: INCBIN "maps/Route18.blk" - - INCBIN "maps/UnusedPokecenterCopy.blk" +SECTION "bank16_1", ROMX INCLUDE "engine/battle/common_text.asm" - INCLUDE "engine/experience.asm" - INCLUDE "engine/overworld/oaks_aide.asm" -INCLUDE "scripts/Route6.asm" -INCLUDE "scripts/Route8.asm" -INCLUDE "scripts/Route10.asm" -INCLUDE "scripts/Route11.asm" -INCLUDE "scripts/Route12.asm" -INCLUDE "scripts/Route15.asm" -INCLUDE "scripts/Route16.asm" -INCLUDE "scripts/Route18.asm" - -INCLUDE "data/mapHeaders/PokemonFanClub.asm" -INCLUDE "scripts/PokemonFanClub.asm" -INCLUDE "data/mapObjects/PokemonFanClub.asm" -PokemonFanClub_Blocks: INCBIN "maps/PokemonFanClub.blk" - -INCLUDE "data/mapHeaders/SilphCo2F.asm" -INCLUDE "scripts/SilphCo2F.asm" -INCLUDE "data/mapObjects/SilphCo2F.asm" -SilphCo2F_Blocks: INCBIN "maps/SilphCo2F.blk" - -INCLUDE "data/mapHeaders/SilphCo3F.asm" -INCLUDE "scripts/SilphCo3F.asm" -INCLUDE "data/mapObjects/SilphCo3F.asm" -SilphCo3F_Blocks: INCBIN "maps/SilphCo3F.blk" - -INCLUDE "data/mapHeaders/SilphCo10F.asm" -INCLUDE "scripts/SilphCo10F.asm" -INCLUDE "data/mapObjects/SilphCo10F.asm" -SilphCo10F_Blocks: INCBIN "maps/SilphCo10F.blk" - -INCLUDE "data/mapHeaders/LancesRoom.asm" -INCLUDE "scripts/LancesRoom.asm" -INCLUDE "data/mapObjects/LancesRoom.asm" -LancesRoom_Blocks: INCBIN "maps/LancesRoom.blk" - -INCLUDE "data/mapHeaders/HallOfFame.asm" -INCLUDE "scripts/HallOfFame.asm" -INCLUDE "data/mapObjects/HallOfFame.asm" -HallOfFame_Blocks: INCBIN "maps/HallOfFame.blk" - -INCLUDE "engine/overworld/saffron_guards.asm" - - -SECTION "bank17", ROMX - -SaffronMart_Blocks: -LavenderMart_Blocks: -CeruleanMart_Blocks: -VermilionMart_Blocks: INCBIN "maps/VermilionMart.blk" -CopycatsHouse2F_Blocks: -RedsHouse2F_Blocks: INCBIN "maps/RedsHouse2F.blk" +SECTION "bank16_2", ROMX -Museum1F_Blocks: INCBIN "maps/Museum1F.blk" - -Museum2F_Blocks: INCBIN "maps/Museum2F.blk" - -SaffronPokecenter_Blocks: -VermilionPokecenter_Blocks: -LavenderPokecenter_Blocks: -PewterPokecenter_Blocks: INCBIN "maps/PewterPokecenter.blk" - -UndergroundPathRoute7_Blocks: -UndergroundPathRoute7Copy_Blocks: -UndergroundPathRoute6_Blocks: -UndergroundPathRoute5_Blocks: INCBIN "maps/UndergroundPathRoute5.blk" +INCLUDE "engine/overworld/saffron_guards.asm" -Route2Gate_Blocks: -ViridianForestSouthGate_Blocks: -ViridianForestNorthGate_Blocks: INCBIN "maps/ViridianForestNorthGate.blk" -INCLUDE "data/mapHeaders/RedsHouse2F.asm" -INCLUDE "scripts/RedsHouse2F.asm" -INCLUDE "data/mapObjects/RedsHouse2F.asm" +SECTION "bank17_1", ROMX INCLUDE "engine/predefs17.asm" -INCLUDE "data/mapHeaders/Museum1F.asm" -INCLUDE "scripts/Museum1F.asm" -INCLUDE "data/mapObjects/Museum1F.asm" - -INCLUDE "data/mapHeaders/Museum2F.asm" -INCLUDE "scripts/Museum2F.asm" -INCLUDE "data/mapObjects/Museum2F.asm" - -INCLUDE "data/mapHeaders/PewterGym.asm" -INCLUDE "scripts/PewterGym.asm" -INCLUDE "data/mapObjects/PewterGym.asm" -PewterGym_Blocks: INCBIN "maps/PewterGym.blk" - -INCLUDE "data/mapHeaders/PewterPokecenter.asm" -INCLUDE "scripts/PewterPokecenter.asm" -INCLUDE "data/mapObjects/PewterPokecenter.asm" - -INCLUDE "data/mapHeaders/CeruleanPokecenter.asm" -INCLUDE "scripts/CeruleanPokecenter.asm" -INCLUDE "data/mapObjects/CeruleanPokecenter.asm" -CeruleanPokecenter_Blocks: INCBIN "maps/CeruleanPokecenter.blk" - -INCLUDE "data/mapHeaders/CeruleanGym.asm" -INCLUDE "scripts/CeruleanGym.asm" -INCLUDE "data/mapObjects/CeruleanGym.asm" -CeruleanGym_Blocks: INCBIN "maps/CeruleanGym.blk" - -INCLUDE "data/mapHeaders/CeruleanMart.asm" -INCLUDE "scripts/CeruleanMart.asm" -INCLUDE "data/mapObjects/CeruleanMart.asm" - -INCLUDE "data/mapHeaders/LavenderPokecenter.asm" -INCLUDE "scripts/LavenderPokecenter.asm" -INCLUDE "data/mapObjects/LavenderPokecenter.asm" - -INCLUDE "data/mapHeaders/LavenderMart.asm" -INCLUDE "scripts/LavenderMart.asm" -INCLUDE "data/mapObjects/LavenderMart.asm" - -INCLUDE "data/mapHeaders/VermilionPokecenter.asm" -INCLUDE "scripts/VermilionPokecenter.asm" -INCLUDE "data/mapObjects/VermilionPokecenter.asm" - -INCLUDE "data/mapHeaders/VermilionMart.asm" -INCLUDE "scripts/VermilionMart.asm" -INCLUDE "data/mapObjects/VermilionMart.asm" - -INCLUDE "data/mapHeaders/VermilionGym.asm" -INCLUDE "scripts/VermilionGym.asm" -INCLUDE "data/mapObjects/VermilionGym.asm" -VermilionGym_Blocks: INCBIN "maps/VermilionGym.blk" - -INCLUDE "data/mapHeaders/CopycatsHouse2F.asm" -INCLUDE "scripts/CopycatsHouse2F.asm" -INCLUDE "data/mapObjects/CopycatsHouse2F.asm" - -INCLUDE "data/mapHeaders/FightingDojo.asm" -INCLUDE "scripts/FightingDojo.asm" -INCLUDE "data/mapObjects/FightingDojo.asm" -FightingDojo_Blocks: INCBIN "maps/FightingDojo.blk" - -INCLUDE "data/mapHeaders/SaffronGym.asm" -INCLUDE "scripts/SaffronGym.asm" -INCLUDE "data/mapObjects/SaffronGym.asm" -SaffronGym_Blocks: INCBIN "maps/SaffronGym.blk" - -INCLUDE "data/mapHeaders/SaffronMart.asm" -INCLUDE "scripts/SaffronMart.asm" -INCLUDE "data/mapObjects/SaffronMart.asm" - -INCLUDE "data/mapHeaders/SilphCo1F.asm" -INCLUDE "scripts/SilphCo1F.asm" -INCLUDE "data/mapObjects/SilphCo1F.asm" -SilphCo1F_Blocks: INCBIN "maps/SilphCo1F.blk" - -INCLUDE "data/mapHeaders/SaffronPokecenter.asm" -INCLUDE "scripts/SaffronPokecenter.asm" -INCLUDE "data/mapObjects/SaffronPokecenter.asm" - -INCLUDE "data/mapHeaders/ViridianForestNorthGate.asm" -INCLUDE "scripts/ViridianForestNorthGate.asm" -INCLUDE "data/mapObjects/ViridianForestNorthGate.asm" - -INCLUDE "data/mapHeaders/Route2Gate.asm" -INCLUDE "scripts/Route2Gate.asm" -INCLUDE "data/mapObjects/Route2Gate.asm" - -INCLUDE "data/mapHeaders/ViridianForestSouthGate.asm" -INCLUDE "scripts/ViridianForestSouthGate.asm" -INCLUDE "data/mapObjects/ViridianForestSouthGate.asm" - -INCLUDE "data/mapHeaders/UndergroundPathRoute5.asm" -INCLUDE "scripts/UndergroundPathRoute5.asm" -INCLUDE "data/mapObjects/UndergroundPathRoute5.asm" - -INCLUDE "data/mapHeaders/UndergroundPathRoute6.asm" -INCLUDE "scripts/UndergroundPathRoute6.asm" -INCLUDE "data/mapObjects/UndergroundPathRoute6.asm" - -INCLUDE "data/mapHeaders/UndergroundPathRoute7.asm" -INCLUDE "scripts/UndergroundPathRoute7.asm" -INCLUDE "data/mapObjects/UndergroundPathRoute7.asm" - -INCLUDE "data/mapHeaders/UndergroundPathRoute7Copy.asm" -INCLUDE "scripts/UndergroundPathRoute7Copy.asm" -INCLUDE "data/mapObjects/UndergroundPathRoute7Copy.asm" - -INCLUDE "data/mapHeaders/SilphCo9F.asm" -INCLUDE "scripts/SilphCo9F.asm" -INCLUDE "data/mapObjects/SilphCo9F.asm" -SilphCo9F_Blocks: INCBIN "maps/SilphCo9F.blk" - -INCLUDE "data/mapHeaders/VictoryRoad1F.asm" -INCLUDE "scripts/VictoryRoad1F.asm" -INCLUDE "data/mapObjects/VictoryRoad1F.asm" -VictoryRoad1F_Blocks: INCBIN "maps/VictoryRoad1F.blk" -INCLUDE "engine/predefs17_2.asm" +SECTION "bank17_2", ROMX +INCLUDE "engine/predefs17_2.asm" INCLUDE "engine/hidden_object_functions17.asm" -SECTION "bank18", ROMX - -ViridianForest_Blocks: INCBIN "maps/ViridianForest.blk" -UndergroundPathNorthSouth_Blocks: INCBIN "maps/UndergroundPathNorthSouth.blk" -UndergroundPathWestEast_Blocks: INCBIN "maps/UndergroundPathWestEast.blk" - - INCBIN "maps/UnusedDiglettsCaveCopy.blk" - -SSAnneB1FRooms_Blocks: -SSAnne2FRooms_Blocks: INCBIN "maps/SSAnne2FRooms.blk" - -INCLUDE "data/mapHeaders/PokemonTower1F.asm" -INCLUDE "scripts/PokemonTower1F.asm" -INCLUDE "data/mapObjects/PokemonTower1F.asm" -PokemonTower1F_Blocks: INCBIN "maps/PokemonTower1F.blk" - -INCLUDE "data/mapHeaders/PokemonTower2F.asm" -INCLUDE "scripts/PokemonTower2F.asm" -INCLUDE "data/mapObjects/PokemonTower2F.asm" -PokemonTower2F_Blocks: INCBIN "maps/PokemonTower2F.blk" - -INCLUDE "data/mapHeaders/PokemonTower3F.asm" -INCLUDE "scripts/PokemonTower3F.asm" -INCLUDE "data/mapObjects/PokemonTower3F.asm" -PokemonTower3F_Blocks: INCBIN "maps/PokemonTower3F.blk" - -INCLUDE "data/mapHeaders/PokemonTower4F.asm" -INCLUDE "scripts/PokemonTower4F.asm" -INCLUDE "data/mapObjects/PokemonTower4F.asm" -PokemonTower4F_Blocks: INCBIN "maps/PokemonTower4F.blk" - -INCLUDE "data/mapHeaders/PokemonTower5F.asm" -INCLUDE "scripts/PokemonTower5F.asm" -INCLUDE "data/mapObjects/PokemonTower5F.asm" -PokemonTower5F_Blocks: INCBIN "maps/PokemonTower5F.blk" - -INCLUDE "data/mapHeaders/PokemonTower6F.asm" -INCLUDE "scripts/PokemonTower6F.asm" -INCLUDE "data/mapObjects/PokemonTower6F.asm" -PokemonTower6F_Blocks: INCBIN "maps/PokemonTower6F.blk" - - INCBIN "maps/UnusedEmptyMap.blk" - -INCLUDE "data/mapHeaders/PokemonTower7F.asm" -INCLUDE "scripts/PokemonTower7F.asm" -INCLUDE "data/mapObjects/PokemonTower7F.asm" -PokemonTower7F_Blocks: INCBIN "maps/PokemonTower7F.blk" - -INCLUDE "data/mapHeaders/CeladonMart1F.asm" -INCLUDE "scripts/CeladonMart1F.asm" -INCLUDE "data/mapObjects/CeladonMart1F.asm" -CeladonMart1F_Blocks: INCBIN "maps/CeladonMart1F.blk" +SECTION "bank18_1", ROMX INCLUDE "engine/overworld/cinnabar_lab.asm" -INCLUDE "data/mapHeaders/ViridianForest.asm" -INCLUDE "scripts/ViridianForest.asm" -INCLUDE "data/mapObjects/ViridianForest.asm" - -INCLUDE "data/mapHeaders/SSAnne1F.asm" -INCLUDE "scripts/SSAnne1F.asm" -INCLUDE "data/mapObjects/SSAnne1F.asm" -SSAnne1F_Blocks: INCBIN "maps/SSAnne1F.blk" - -INCLUDE "data/mapHeaders/SSAnne2F.asm" -INCLUDE "scripts/SSAnne2F.asm" -INCLUDE "data/mapObjects/SSAnne2F.asm" -SSAnne2F_Blocks: INCBIN "maps/SSAnne2F.blk" - -INCLUDE "data/mapHeaders/SSAnneB1F.asm" -INCLUDE "scripts/SSAnneB1F.asm" -INCLUDE "data/mapObjects/SSAnneB1F.asm" -SSAnneB1F_Blocks: INCBIN "maps/SSAnneB1F.blk" - -INCLUDE "data/mapHeaders/SSAnneBow.asm" -INCLUDE "scripts/SSAnneBow.asm" -INCLUDE "data/mapObjects/SSAnneBow.asm" -SSAnneBow_Blocks: INCBIN "maps/SSAnneBow.blk" - -INCLUDE "data/mapHeaders/SSAnneKitchen.asm" -INCLUDE "scripts/SSAnneKitchen.asm" -INCLUDE "data/mapObjects/SSAnneKitchen.asm" -SSAnneKitchen_Blocks: INCBIN "maps/SSAnneKitchen.blk" - -INCLUDE "data/mapHeaders/SSAnneCaptainsRoom.asm" -INCLUDE "scripts/SSAnneCaptainsRoom.asm" -INCLUDE "data/mapObjects/SSAnneCaptainsRoom.asm" -SSAnneCaptainsRoom_Blocks: INCBIN "maps/SSAnneCaptainsRoom.blk" - -INCLUDE "data/mapHeaders/SSAnne1FRooms.asm" -INCLUDE "scripts/SSAnne1FRooms.asm" -INCLUDE "data/mapObjects/SSAnne1FRooms.asm" -SSAnne1FRooms_Blocks: INCBIN "maps/SSAnne1FRooms.blk" - -INCLUDE "data/mapHeaders/SSAnne2FRooms.asm" -INCLUDE "scripts/SSAnne2FRooms.asm" -INCLUDE "data/mapObjects/SSAnne2FRooms.asm" - -INCLUDE "data/mapHeaders/SSAnneB1FRooms.asm" -INCLUDE "scripts/SSAnneB1FRooms.asm" -INCLUDE "data/mapObjects/SSAnneB1FRooms.asm" - -INCLUDE "data/mapHeaders/UndergroundPathNorthSouth.asm" -INCLUDE "scripts/UndergroundPathNorthSouth.asm" -INCLUDE "data/mapObjects/UndergroundPathNorthSouth.asm" - -INCLUDE "data/mapHeaders/UndergroundPathWestEast.asm" -INCLUDE "scripts/UndergroundPathWestEast.asm" -INCLUDE "data/mapObjects/UndergroundPathWestEast.asm" - -INCLUDE "data/mapHeaders/DiglettsCave.asm" -INCLUDE "scripts/DiglettsCave.asm" -INCLUDE "data/mapObjects/DiglettsCave.asm" -DiglettsCave_Blocks: INCBIN "maps/DiglettsCave.blk" - -INCLUDE "data/mapHeaders/SilphCo11F.asm" -INCLUDE "scripts/SilphCo11F.asm" -INCLUDE "data/mapObjects/SilphCo11F.asm" -SilphCo11F_Blocks: INCBIN "maps/SilphCo11F.blk" - -INCLUDE "engine/hidden_object_functions18.asm" - -SECTION "bank19", ROMX +SECTION "bank18_2", ROMX -Overworld_GFX: INCBIN "gfx/tilesets/overworld.2bpp" -Overworld_Block: INCBIN "gfx/blocksets/overworld.bst" - -RedsHouse1_GFX: -RedsHouse2_GFX: INCBIN "gfx/tilesets/reds_house.2bpp" - ds 16 -RedsHouse1_Block: -RedsHouse2_Block: INCBIN "gfx/blocksets/reds_house.bst" - -House_GFX: INCBIN "gfx/tilesets/house.2bpp" -House_Block: INCBIN "gfx/blocksets/house.bst" -Mansion_GFX: INCBIN "gfx/tilesets/mansion.2bpp" -Mansion_Block: INCBIN "gfx/blocksets/mansion.bst" -ShipPort_GFX: INCBIN "gfx/tilesets/ship_port.2bpp" -ShipPort_Block: INCBIN "gfx/blocksets/ship_port.bst" -Interior_GFX: INCBIN "gfx/tilesets/interior.2bpp" -Interior_Block: INCBIN "gfx/blocksets/interior.bst" -Plateau_GFX: INCBIN "gfx/tilesets/plateau.2bpp" -Plateau_Block: INCBIN "gfx/blocksets/plateau.bst" +INCLUDE "engine/hidden_object_functions18.asm" SECTION "bank1A", ROMX @@ -1888,47 +330,6 @@ IF DEF(_BLUE) ENDC Version_GFXEnd: -Dojo_GFX: -Gym_GFX: INCBIN "gfx/tilesets/gym.2bpp" -Dojo_Block: -Gym_Block: INCBIN "gfx/blocksets/gym.bst" - -Mart_GFX: -Pokecenter_GFX: INCBIN "gfx/tilesets/pokecenter.2bpp" -Mart_Block: -Pokecenter_Block: INCBIN "gfx/blocksets/pokecenter.bst" - -ForestGate_GFX: -Museum_GFX: -Gate_GFX: INCBIN "gfx/tilesets/gate.2bpp" -ForestGate_Block: -Museum_Block: -Gate_Block: INCBIN "gfx/blocksets/gate.bst" - -Forest_GFX: INCBIN "gfx/tilesets/forest.2bpp" -Forest_Block: INCBIN "gfx/blocksets/forest.bst" -Facility_GFX: INCBIN "gfx/tilesets/facility.2bpp" -Facility_Block: INCBIN "gfx/blocksets/facility.bst" - ds 1 - - -SECTION "bank1B", ROMX - -Cemetery_GFX: INCBIN "gfx/tilesets/cemetery.2bpp" -Cemetery_Block: INCBIN "gfx/blocksets/cemetery.bst" -Cavern_GFX: INCBIN "gfx/tilesets/cavern.2bpp" -Cavern_Block: INCBIN "gfx/blocksets/cavern.bst" -Lobby_GFX: INCBIN "gfx/tilesets/lobby.2bpp" -Lobby_Block: INCBIN "gfx/blocksets/lobby.bst" -Ship_GFX: INCBIN "gfx/tilesets/ship.2bpp" -Ship_Block: INCBIN "gfx/blocksets/ship.bst" -Lab_GFX: INCBIN "gfx/tilesets/lab.2bpp" -Lab_Block: INCBIN "gfx/blocksets/lab.bst" -Club_GFX: INCBIN "gfx/tilesets/club.2bpp" -Club_Block: INCBIN "gfx/blocksets/club.bst" -Underground_GFX: INCBIN "gfx/tilesets/underground.2bpp" -Underground_Block: INCBIN "gfx/blocksets/underground.bst" - SECTION "bank1C", ROMX @@ -1945,144 +346,28 @@ INCLUDE "engine/palettes.asm" INCLUDE "engine/save.asm" -SECTION "bank1D", ROMX - -CopycatsHouse1F_Blocks: INCBIN "maps/CopycatsHouse1F.blk" - -CinnabarMart_Blocks: -PewterMart_Blocks: INCBIN "maps/PewterMart.blk" - -FuchsiaBillsGrandpasHouse_Blocks: INCBIN "maps/FuchsiaBillsGrandpasHouse.blk" - -CinnabarPokecenter_Blocks: -FuchsiaPokecenter_Blocks: INCBIN "maps/FuchsiaPokecenter.blk" - -CeruleanBadgeHouse_Blocks: INCBIN "maps/CeruleanBadgeHouse.blk" +SECTION "bank1D_1", ROMX INCLUDE "engine/HoF_room_pc.asm" - INCLUDE "engine/status_ailments.asm" - INCLUDE "engine/items/itemfinder.asm" -INCLUDE "scripts/CeruleanCity_2.asm" -INCLUDE "data/mapHeaders/ViridianGym.asm" -INCLUDE "scripts/ViridianGym.asm" -INCLUDE "data/mapObjects/ViridianGym.asm" -ViridianGym_Blocks: INCBIN "maps/ViridianGym.blk" - -INCLUDE "data/mapHeaders/PewterMart.asm" -INCLUDE "scripts/PewterMart.asm" -INCLUDE "data/mapObjects/PewterMart.asm" - -INCLUDE "data/mapHeaders/CeruleanCave1F.asm" -INCLUDE "scripts/CeruleanCave1F.asm" -INCLUDE "data/mapObjects/CeruleanCave1F.asm" -CeruleanCave1F_Blocks: INCBIN "maps/CeruleanCave1F.blk" - -INCLUDE "data/mapHeaders/CeruleanBadgeHouse.asm" -INCLUDE "scripts/CeruleanBadgeHouse.asm" -INCLUDE "data/mapObjects/CeruleanBadgeHouse.asm" +SECTION "bank1D_2", ROMX INCLUDE "engine/menu/vending_machine.asm" -INCLUDE "data/mapHeaders/FuchsiaBillsGrandpasHouse.asm" -INCLUDE "scripts/FuchsiaBillsGrandpasHouse.asm" -INCLUDE "data/mapObjects/FuchsiaBillsGrandpasHouse.asm" - -INCLUDE "data/mapHeaders/FuchsiaPokecenter.asm" -INCLUDE "scripts/FuchsiaPokecenter.asm" -INCLUDE "data/mapObjects/FuchsiaPokecenter.asm" - -INCLUDE "data/mapHeaders/WardensHouse.asm" -INCLUDE "scripts/WardensHouse.asm" -INCLUDE "data/mapObjects/WardensHouse.asm" -WardensHouse_Blocks: INCBIN "maps/WardensHouse.blk" - -INCLUDE "data/mapHeaders/SafariZoneGate.asm" -INCLUDE "scripts/SafariZoneGate.asm" -INCLUDE "data/mapObjects/SafariZoneGate.asm" -SafariZoneGate_Blocks: INCBIN "maps/SafariZoneGate.blk" - -INCLUDE "data/mapHeaders/FuchsiaGym.asm" -INCLUDE "scripts/FuchsiaGym.asm" -INCLUDE "data/mapObjects/FuchsiaGym.asm" -FuchsiaGym_Blocks: INCBIN "maps/FuchsiaGym.blk" - -INCLUDE "data/mapHeaders/FuchsiaMeetingRoom.asm" -INCLUDE "scripts/FuchsiaMeetingRoom.asm" -INCLUDE "data/mapObjects/FuchsiaMeetingRoom.asm" -FuchsiaMeetingRoom_Blocks: INCBIN "maps/FuchsiaMeetingRoom.blk" - -INCLUDE "data/mapHeaders/CinnabarGym.asm" -INCLUDE "scripts/CinnabarGym.asm" -INCLUDE "data/mapObjects/CinnabarGym.asm" -CinnabarGym_Blocks: INCBIN "maps/CinnabarGym.blk" - -INCLUDE "data/mapHeaders/CinnabarLab.asm" -INCLUDE "scripts/CinnabarLab.asm" -INCLUDE "data/mapObjects/CinnabarLab.asm" -CinnabarLab_Blocks: INCBIN "maps/CinnabarLab.blk" - -INCLUDE "data/mapHeaders/CinnabarLabTradeRoom.asm" -INCLUDE "scripts/CinnabarLabTradeRoom.asm" -INCLUDE "data/mapObjects/CinnabarLabTradeRoom.asm" -CinnabarLabTradeRoom_Blocks: INCBIN "maps/CinnabarLabTradeRoom.blk" - -INCLUDE "data/mapHeaders/CinnabarLabMetronomeRoom.asm" -INCLUDE "scripts/CinnabarLabMetronomeRoom.asm" -INCLUDE "data/mapObjects/CinnabarLabMetronomeRoom.asm" -CinnabarLabMetronomeRoom_Blocks: INCBIN "maps/CinnabarLabMetronomeRoom.blk" - -INCLUDE "data/mapHeaders/CinnabarLabFossilRoom.asm" -INCLUDE "scripts/CinnabarLabFossilRoom.asm" -INCLUDE "data/mapObjects/CinnabarLabFossilRoom.asm" -CinnabarLabFossilRoom_Blocks: INCBIN "maps/CinnabarLabFossilRoom.blk" - -INCLUDE "data/mapHeaders/CinnabarPokecenter.asm" -INCLUDE "scripts/CinnabarPokecenter.asm" -INCLUDE "data/mapObjects/CinnabarPokecenter.asm" - -INCLUDE "data/mapHeaders/CinnabarMart.asm" -INCLUDE "scripts/CinnabarMart.asm" -INCLUDE "data/mapObjects/CinnabarMart.asm" - -INCLUDE "data/mapHeaders/CopycatsHouse1F.asm" -INCLUDE "scripts/CopycatsHouse1F.asm" -INCLUDE "data/mapObjects/CopycatsHouse1F.asm" - -INCLUDE "data/mapHeaders/ChampionsRoom.asm" -INCLUDE "scripts/ChampionsRoom.asm" -INCLUDE "data/mapObjects/ChampionsRoom.asm" -ChampionsRoom_Blocks: INCBIN "maps/ChampionsRoom.blk" - -INCLUDE "data/mapHeaders/LoreleisRoom.asm" -INCLUDE "scripts/LoreleisRoom.asm" -INCLUDE "data/mapObjects/LoreleisRoom.asm" -LoreleisRoom_Blocks: INCBIN "maps/LoreleisRoom.blk" - -INCLUDE "data/mapHeaders/BrunosRoom.asm" -INCLUDE "scripts/BrunosRoom.asm" -INCLUDE "data/mapObjects/BrunosRoom.asm" -BrunosRoom_Blocks: INCBIN "maps/BrunosRoom.blk" - -INCLUDE "data/mapHeaders/AgathasRoom.asm" -INCLUDE "scripts/AgathasRoom.asm" -INCLUDE "data/mapObjects/AgathasRoom.asm" -AgathasRoom_Blocks: INCBIN "maps/AgathasRoom.blk" -INCLUDE "engine/menu/league_pc.asm" +SECTION "bank1D_3", ROMX +INCLUDE "engine/menu/league_pc.asm" INCLUDE "engine/overworld/hidden_items.asm" SECTION "bank1E", ROMX INCLUDE "engine/battle/animations.asm" - INCLUDE "engine/overworld/cut2.asm" - INCLUDE "engine/overworld/ssanne.asm" RedFishingTilesFront: INCBIN "gfx/red_fishing_tile_front.2bpp" @@ -2091,9 +376,6 @@ RedFishingTilesSide: INCBIN "gfx/red_fishing_tile_side.2bpp" RedFishingRodTiles: INCBIN "gfx/red_fishingrod_tiles.2bpp" INCLUDE "data/animations.asm" - INCLUDE "engine/evolution.asm" - INCLUDE "engine/overworld/elevator.asm" - INCLUDE "engine/items/tm_prices.asm" diff --git a/maps.asm b/maps.asm new file mode 100644 index 00000000..8b3cbea4 --- /dev/null +++ b/maps.asm @@ -0,0 +1,1224 @@ +INCLUDE "constants.asm" + + +SECTION "Maps 1", ROMX + +INCLUDE "data/mapHeaders/CeladonCity.asm" +INCLUDE "data/mapObjects/CeladonCity.asm" +CeladonCity_Blocks: INCBIN "maps/CeladonCity.blk" + +INCLUDE "data/mapHeaders/PalletTown.asm" +INCLUDE "data/mapObjects/PalletTown.asm" +PalletTown_Blocks: INCBIN "maps/PalletTown.blk" + +INCLUDE "data/mapHeaders/ViridianCity.asm" +INCLUDE "data/mapObjects/ViridianCity.asm" +ViridianCity_Blocks: INCBIN "maps/ViridianCity.blk" + +INCLUDE "data/mapHeaders/PewterCity.asm" + ds 1 +INCLUDE "data/mapObjects/PewterCity.asm" +PewterCity_Blocks: INCBIN "maps/PewterCity.blk" + +INCLUDE "data/mapHeaders/CeruleanCity.asm" +INCLUDE "data/mapObjects/CeruleanCity.asm" +CeruleanCity_Blocks: INCBIN "maps/CeruleanCity.blk" + +INCLUDE "data/mapHeaders/VermilionCity.asm" +INCLUDE "data/mapObjects/VermilionCity.asm" +VermilionCity_Blocks: INCBIN "maps/VermilionCity.blk" + +INCLUDE "data/mapHeaders/FuchsiaCity.asm" +INCLUDE "data/mapObjects/FuchsiaCity.asm" +FuchsiaCity_Blocks: INCBIN "maps/FuchsiaCity.blk" + + +SECTION "Maps 2", ROMX + +INCLUDE "scripts/PalletTown.asm" +INCLUDE "scripts/ViridianCity.asm" +INCLUDE "scripts/PewterCity.asm" +INCLUDE "scripts/CeruleanCity.asm" +INCLUDE "scripts/VermilionCity.asm" +INCLUDE "scripts/CeladonCity.asm" +INCLUDE "scripts/FuchsiaCity.asm" + +INCLUDE "data/mapHeaders/BluesHouse.asm" +INCLUDE "scripts/BluesHouse.asm" +INCLUDE "data/mapObjects/BluesHouse.asm" +BluesHouse_Blocks: INCBIN "maps/BluesHouse.blk" + +INCLUDE "data/mapHeaders/VermilionTradeHouse.asm" +INCLUDE "scripts/VermilionTradeHouse.asm" +INCLUDE "data/mapObjects/VermilionTradeHouse.asm" +VermilionTradeHouse_Blocks: INCBIN "maps/VermilionTradeHouse.blk" + +INCLUDE "data/mapHeaders/IndigoPlateauLobby.asm" +INCLUDE "scripts/IndigoPlateauLobby.asm" +INCLUDE "data/mapObjects/IndigoPlateauLobby.asm" +IndigoPlateauLobby_Blocks: INCBIN "maps/IndigoPlateauLobby.blk" + +INCLUDE "data/mapHeaders/SilphCo4F.asm" +INCLUDE "scripts/SilphCo4F.asm" +INCLUDE "data/mapObjects/SilphCo4F.asm" +SilphCo4F_Blocks: INCBIN "maps/SilphCo4F.blk" + +INCLUDE "data/mapHeaders/SilphCo5F.asm" +INCLUDE "scripts/SilphCo5F.asm" +INCLUDE "data/mapObjects/SilphCo5F.asm" +SilphCo5F_Blocks: INCBIN "maps/SilphCo5F.blk" + +INCLUDE "data/mapHeaders/SilphCo6F.asm" +INCLUDE "scripts/SilphCo6F.asm" +INCLUDE "data/mapObjects/SilphCo6F.asm" +SilphCo6F_Blocks: INCBIN "maps/SilphCo6F.blk" + + +SECTION "Maps 3", ROMX + +INCLUDE "data/mapHeaders/CinnabarIsland.asm" +INCLUDE "data/mapObjects/CinnabarIsland.asm" +CinnabarIsland_Blocks: INCBIN "maps/CinnabarIsland.blk" + +INCLUDE "data/mapHeaders/Route1.asm" +INCLUDE "data/mapObjects/Route1.asm" +Route1_Blocks: INCBIN "maps/Route1.blk" + +UndergroundPathRoute8_Blocks: INCBIN "maps/UndergroundPathRoute8.blk" + +OaksLab_Blocks: INCBIN "maps/OaksLab.blk" + +MrPsychicsHouse_Blocks: +NameRatersHouse_Blocks: +MrFujisHouse_Blocks: +Route16FlyHouse_Blocks: +Route2TradeHouse_Blocks: +SaffronPidgeyHouse_Blocks: +VermilionPidgeyHouse_Blocks: +LavenderCuboneHouse_Blocks: +CeruleanTradeHouse_Blocks: +PewterNidoranHouse_Blocks: +PewterSpeechHouse_Blocks: +ViridianNicknameHouse_Blocks: INCBIN "maps/ViridianNicknameHouse.blk" + +CeladonMansionRoofHouse_Blocks: +ViridianSchoolHouse_Blocks: INCBIN "maps/ViridianSchoolHouse.blk" + +CeruleanTrashedHouse_Blocks: INCBIN "maps/CeruleanTrashedHouse.blk" + +DiglettsCaveRoute11_Blocks: +DiglettsCaveRoute2_Blocks: INCBIN "maps/DiglettsCaveRoute2.blk" + + +SECTION "Maps 4", ROMX + +INCLUDE "scripts/CinnabarIsland.asm" + +INCLUDE "scripts/Route1.asm" + +INCLUDE "data/mapHeaders/OaksLab.asm" +INCLUDE "scripts/OaksLab.asm" +INCLUDE "data/mapObjects/OaksLab.asm" + +INCLUDE "data/mapHeaders/ViridianMart.asm" +INCLUDE "scripts/ViridianMart.asm" +INCLUDE "data/mapObjects/ViridianMart.asm" +ViridianMart_Blocks: INCBIN "maps/ViridianMart.blk" + +INCLUDE "data/mapHeaders/ViridianSchoolHouse.asm" +INCLUDE "scripts/ViridianSchoolHouse.asm" +INCLUDE "data/mapObjects/ViridianSchoolHouse.asm" + +INCLUDE "data/mapHeaders/ViridianNicknameHouse.asm" + ds 1 +INCLUDE "scripts/ViridianNicknameHouse.asm" +INCLUDE "data/mapObjects/ViridianNicknameHouse.asm" + +INCLUDE "data/mapHeaders/PewterNidoranHouse.asm" +INCLUDE "scripts/PewterNidoranHouse.asm" +INCLUDE "data/mapObjects/PewterNidoranHouse.asm" + +INCLUDE "data/mapHeaders/PewterSpeechHouse.asm" +INCLUDE "scripts/PewterSpeechHouse.asm" +INCLUDE "data/mapObjects/PewterSpeechHouse.asm" + +INCLUDE "data/mapHeaders/CeruleanTrashedHouse.asm" +INCLUDE "scripts/CeruleanTrashedHouse.asm" +INCLUDE "data/mapObjects/CeruleanTrashedHouse.asm" + +INCLUDE "data/mapHeaders/CeruleanTradeHouse.asm" +INCLUDE "scripts/CeruleanTradeHouse.asm" +INCLUDE "data/mapObjects/CeruleanTradeHouse.asm" + +INCLUDE "data/mapHeaders/BikeShop.asm" +INCLUDE "scripts/BikeShop.asm" +INCLUDE "data/mapObjects/BikeShop.asm" +BikeShop_Blocks: INCBIN "maps/BikeShop.blk" + +INCLUDE "data/mapHeaders/MrFujisHouse.asm" +INCLUDE "scripts/MrFujisHouse.asm" +INCLUDE "data/mapObjects/MrFujisHouse.asm" + +INCLUDE "data/mapHeaders/LavenderCuboneHouse.asm" +INCLUDE "scripts/LavenderCuboneHouse.asm" +INCLUDE "data/mapObjects/LavenderCuboneHouse.asm" + +INCLUDE "data/mapHeaders/NameRatersHouse.asm" +INCLUDE "scripts/NameRatersHouse.asm" +INCLUDE "data/mapObjects/NameRatersHouse.asm" + +INCLUDE "data/mapHeaders/VermilionPidgeyHouse.asm" +INCLUDE "scripts/VermilionPidgeyHouse.asm" +INCLUDE "data/mapObjects/VermilionPidgeyHouse.asm" + +INCLUDE "data/mapHeaders/VermilionDock.asm" +INCLUDE "scripts/VermilionDock.asm" +INCLUDE "data/mapObjects/VermilionDock.asm" +VermilionDock_Blocks: INCBIN "maps/VermilionDock.blk" + +INCLUDE "data/mapHeaders/CeladonMansionRoofHouse.asm" +INCLUDE "scripts/CeladonMansionRoofHouse.asm" +INCLUDE "data/mapObjects/CeladonMansionRoofHouse.asm" + +INCLUDE "data/mapHeaders/FuchsiaMart.asm" +INCLUDE "scripts/FuchsiaMart.asm" +INCLUDE "data/mapObjects/FuchsiaMart.asm" +FuchsiaMart_Blocks: INCBIN "maps/FuchsiaMart.blk" + +INCLUDE "data/mapHeaders/SaffronPidgeyHouse.asm" +INCLUDE "scripts/SaffronPidgeyHouse.asm" +INCLUDE "data/mapObjects/SaffronPidgeyHouse.asm" + +INCLUDE "data/mapHeaders/MrPsychicsHouse.asm" +INCLUDE "scripts/MrPsychicsHouse.asm" +INCLUDE "data/mapObjects/MrPsychicsHouse.asm" + +INCLUDE "data/mapHeaders/DiglettsCaveRoute2.asm" +INCLUDE "scripts/DiglettsCaveRoute2.asm" +INCLUDE "data/mapObjects/DiglettsCaveRoute2.asm" + +INCLUDE "data/mapHeaders/Route2TradeHouse.asm" +INCLUDE "scripts/Route2TradeHouse.asm" +INCLUDE "data/mapObjects/Route2TradeHouse.asm" + +INCLUDE "data/mapHeaders/Route5Gate.asm" +INCLUDE "scripts/Route5Gate.asm" +INCLUDE "data/mapObjects/Route5Gate.asm" +Route5Gate_Blocks: INCBIN "maps/Route5Gate.blk" + +INCLUDE "data/mapHeaders/Route6Gate.asm" +INCLUDE "scripts/Route6Gate.asm" +INCLUDE "data/mapObjects/Route6Gate.asm" +Route6Gate_Blocks: INCBIN "maps/Route6Gate.blk" + +INCLUDE "data/mapHeaders/Route7Gate.asm" +INCLUDE "scripts/Route7Gate.asm" +INCLUDE "data/mapObjects/Route7Gate.asm" +Route7Gate_Blocks: INCBIN "maps/Route7Gate.blk" + +INCLUDE "data/mapHeaders/Route8Gate.asm" +INCLUDE "scripts/Route8Gate.asm" +INCLUDE "data/mapObjects/Route8Gate.asm" +Route8Gate_Blocks: INCBIN "maps/Route8Gate.blk" + +INCLUDE "data/mapHeaders/UndergroundPathRoute8.asm" +INCLUDE "scripts/UndergroundPathRoute8.asm" +INCLUDE "data/mapObjects/UndergroundPathRoute8.asm" + +INCLUDE "data/mapHeaders/PowerPlant.asm" +INCLUDE "scripts/PowerPlant.asm" +INCLUDE "data/mapObjects/PowerPlant.asm" +PowerPlant_Blocks: INCBIN "maps/PowerPlant.blk" + +INCLUDE "data/mapHeaders/DiglettsCaveRoute11.asm" +INCLUDE "scripts/DiglettsCaveRoute11.asm" +INCLUDE "data/mapObjects/DiglettsCaveRoute11.asm" + +INCLUDE "data/mapHeaders/Route16FlyHouse.asm" +INCLUDE "scripts/Route16FlyHouse.asm" +INCLUDE "data/mapObjects/Route16FlyHouse.asm" + +INCLUDE "data/mapHeaders/Route22Gate.asm" +INCLUDE "scripts/Route22Gate.asm" +INCLUDE "data/mapObjects/Route22Gate.asm" +Route22Gate_Blocks: INCBIN "maps/Route22Gate.blk" + +INCLUDE "data/mapHeaders/BillsHouse.asm" +INCLUDE "scripts/BillsHouse.asm" +INCLUDE "data/mapObjects/BillsHouse.asm" +BillsHouse_Blocks: INCBIN "maps/BillsHouse.blk" + + +SECTION "Maps 5", ROMX + +INCLUDE "data/mapHeaders/LavenderTown.asm" +INCLUDE "data/mapObjects/LavenderTown.asm" +LavenderTown_Blocks: INCBIN "maps/LavenderTown.blk" + +ViridianPokecenter_Blocks: INCBIN "maps/ViridianPokecenter.blk" + +SafariZoneCenterRestHouse_Blocks: +SafariZoneWestRestHouse_Blocks: +SafariZoneEastRestHouse_Blocks: +SafariZoneNorthRestHouse_Blocks: INCBIN "maps/SafariZoneCenterRestHouse.blk" + +INCLUDE "scripts/LavenderTown.asm" + + +SECTION "Maps 6", ROMX + +INCLUDE "data/mapHeaders/ViridianPokecenter.asm" +INCLUDE "scripts/ViridianPokecenter.asm" +INCLUDE "data/mapObjects/ViridianPokecenter.asm" + +INCLUDE "data/mapHeaders/PokemonMansion1F.asm" +INCLUDE "scripts/PokemonMansion1F.asm" +INCLUDE "data/mapObjects/PokemonMansion1F.asm" +PokemonMansion1F_Blocks: INCBIN "maps/PokemonMansion1F.blk" + +INCLUDE "data/mapHeaders/RockTunnel1F.asm" +INCLUDE "scripts/RockTunnel1F.asm" +INCLUDE "data/mapObjects/RockTunnel1F.asm" +RockTunnel1F_Blocks: INCBIN "maps/RockTunnel1F.blk" + +INCLUDE "data/mapHeaders/SeafoamIslands1F.asm" +INCLUDE "scripts/SeafoamIslands1F.asm" +INCLUDE "data/mapObjects/SeafoamIslands1F.asm" +SeafoamIslands1F_Blocks: INCBIN "maps/SeafoamIslands1F.blk" + +INCLUDE "data/mapHeaders/SSAnne3F.asm" +INCLUDE "scripts/SSAnne3F.asm" +INCLUDE "data/mapObjects/SSAnne3F.asm" +SSAnne3F_Blocks: INCBIN "maps/SSAnne3F.blk" + +INCLUDE "data/mapHeaders/VictoryRoad3F.asm" +INCLUDE "scripts/VictoryRoad3F.asm" +INCLUDE "data/mapObjects/VictoryRoad3F.asm" +VictoryRoad3F_Blocks: INCBIN "maps/VictoryRoad3F.blk" + +INCLUDE "data/mapHeaders/RocketHideoutB1F.asm" +INCLUDE "scripts/RocketHideoutB1F.asm" +INCLUDE "data/mapObjects/RocketHideoutB1F.asm" +RocketHideoutB1F_Blocks: INCBIN "maps/RocketHideoutB1F.blk" + +INCLUDE "data/mapHeaders/RocketHideoutB2F.asm" +INCLUDE "scripts/RocketHideoutB2F.asm" +INCLUDE "data/mapObjects/RocketHideoutB2F.asm" +RocketHideoutB2F_Blocks: INCBIN "maps/RocketHideoutB2F.blk" + +INCLUDE "data/mapHeaders/RocketHideoutB3F.asm" +INCLUDE "scripts/RocketHideoutB3F.asm" +INCLUDE "data/mapObjects/RocketHideoutB3F.asm" +RocketHideoutB3F_Blocks: INCBIN "maps/RocketHideoutB3F.blk" + +INCLUDE "data/mapHeaders/RocketHideoutB4F.asm" +INCLUDE "scripts/RocketHideoutB4F.asm" +INCLUDE "data/mapObjects/RocketHideoutB4F.asm" +RocketHideoutB4F_Blocks: INCBIN "maps/RocketHideoutB4F.blk" + +INCLUDE "data/mapHeaders/RocketHideoutElevator.asm" +INCLUDE "scripts/RocketHideoutElevator.asm" +INCLUDE "data/mapObjects/RocketHideoutElevator.asm" +RocketHideoutElevator_Blocks: INCBIN "maps/RocketHideoutElevator.blk" + +INCLUDE "data/mapHeaders/SilphCoElevator.asm" +INCLUDE "scripts/SilphCoElevator.asm" +INCLUDE "data/mapObjects/SilphCoElevator.asm" +SilphCoElevator_Blocks: INCBIN "maps/SilphCoElevator.blk" + +INCLUDE "data/mapHeaders/SafariZoneEast.asm" +INCLUDE "scripts/SafariZoneEast.asm" +INCLUDE "data/mapObjects/SafariZoneEast.asm" +SafariZoneEast_Blocks: INCBIN "maps/SafariZoneEast.blk" + +INCLUDE "data/mapHeaders/SafariZoneNorth.asm" +INCLUDE "scripts/SafariZoneNorth.asm" +INCLUDE "data/mapObjects/SafariZoneNorth.asm" +SafariZoneNorth_Blocks: INCBIN "maps/SafariZoneNorth.blk" + +INCLUDE "data/mapHeaders/SafariZoneCenter.asm" +INCLUDE "scripts/SafariZoneCenter.asm" +INCLUDE "data/mapObjects/SafariZoneCenter.asm" +SafariZoneCenter_Blocks: INCBIN "maps/SafariZoneCenter.blk" + +INCLUDE "data/mapHeaders/SafariZoneCenterRestHouse.asm" +INCLUDE "scripts/SafariZoneCenterRestHouse.asm" +INCLUDE "data/mapObjects/SafariZoneCenterRestHouse.asm" + +INCLUDE "data/mapHeaders/SafariZoneWestRestHouse.asm" +INCLUDE "scripts/SafariZoneWestRestHouse.asm" +INCLUDE "data/mapObjects/SafariZoneWestRestHouse.asm" + +INCLUDE "data/mapHeaders/SafariZoneEastRestHouse.asm" +INCLUDE "scripts/SafariZoneEastRestHouse.asm" +INCLUDE "data/mapObjects/SafariZoneEastRestHouse.asm" + +INCLUDE "data/mapHeaders/SafariZoneNorthRestHouse.asm" +INCLUDE "scripts/SafariZoneNorthRestHouse.asm" +INCLUDE "data/mapObjects/SafariZoneNorthRestHouse.asm" + +INCLUDE "data/mapHeaders/CeruleanCave2F.asm" +INCLUDE "scripts/CeruleanCave2F.asm" +INCLUDE "data/mapObjects/CeruleanCave2F.asm" +CeruleanCave2F_Blocks: INCBIN "maps/CeruleanCave2F.blk" + +INCLUDE "data/mapHeaders/CeruleanCaveB1F.asm" +INCLUDE "scripts/CeruleanCaveB1F.asm" +INCLUDE "data/mapObjects/CeruleanCaveB1F.asm" +CeruleanCaveB1F_Blocks: INCBIN "maps/CeruleanCaveB1F.blk" + +INCLUDE "data/mapHeaders/RockTunnelB1F.asm" +INCLUDE "scripts/RockTunnelB1F.asm" +INCLUDE "data/mapObjects/RockTunnelB1F.asm" +RockTunnelB1F_Blocks: INCBIN "maps/RockTunnelB1F.blk" + +INCLUDE "data/mapHeaders/SeafoamIslandsB1F.asm" +INCLUDE "scripts/SeafoamIslandsB1F.asm" +INCLUDE "data/mapObjects/SeafoamIslandsB1F.asm" +SeafoamIslandsB1F_Blocks: INCBIN "maps/SeafoamIslandsB1F.blk" + +INCLUDE "data/mapHeaders/SeafoamIslandsB2F.asm" +INCLUDE "scripts/SeafoamIslandsB2F.asm" +INCLUDE "data/mapObjects/SeafoamIslandsB2F.asm" +SeafoamIslandsB2F_Blocks: INCBIN "maps/SeafoamIslandsB2F.blk" + +INCLUDE "data/mapHeaders/SeafoamIslandsB3F.asm" +INCLUDE "scripts/SeafoamIslandsB3F.asm" +INCLUDE "data/mapObjects/SeafoamIslandsB3F.asm" +SeafoamIslandsB3F_Blocks: INCBIN "maps/SeafoamIslandsB3F.blk" + +INCLUDE "data/mapHeaders/SeafoamIslandsB4F.asm" +INCLUDE "scripts/SeafoamIslandsB4F.asm" +INCLUDE "data/mapObjects/SeafoamIslandsB4F.asm" +SeafoamIslandsB4F_Blocks: INCBIN "maps/SeafoamIslandsB4F.blk" + + +SECTION "Maps 7", ROMX + +INCLUDE "data/mapHeaders/Route7.asm" +INCLUDE "data/mapObjects/Route7.asm" +Route7_Blocks: INCBIN "maps/Route7.blk" + +CeladonPokecenter_Blocks: +RockTunnelPokecenter_Blocks: +MtMoonPokecenter_Blocks: INCBIN "maps/MtMoonPokecenter.blk" + +Route18Gate1F_Blocks: +Route15Gate1F_Blocks: +Route11Gate1F_Blocks: INCBIN "maps/Route11Gate1F.blk" + +Route18Gate2F_Blocks: +Route16Gate2F_Blocks: +Route15Gate2F_Blocks: +Route12Gate2F_Blocks: +Route11Gate2F_Blocks: INCBIN "maps/Route11Gate2F.blk" + + +SECTION "Maps 8", ROMX + +INCLUDE "scripts/Route7.asm" + +INCLUDE "data/mapHeaders/RedsHouse1F.asm" +INCLUDE "scripts/RedsHouse1F.asm" +INCLUDE "data/mapObjects/RedsHouse1F.asm" +RedsHouse1F_Blocks: INCBIN "maps/RedsHouse1F.blk" + +INCLUDE "data/mapHeaders/CeladonMart3F.asm" +INCLUDE "scripts/CeladonMart3F.asm" +INCLUDE "data/mapObjects/CeladonMart3F.asm" +CeladonMart3F_Blocks: INCBIN "maps/CeladonMart3F.blk" + +INCLUDE "data/mapHeaders/CeladonMart4F.asm" +INCLUDE "scripts/CeladonMart4F.asm" +INCLUDE "data/mapObjects/CeladonMart4F.asm" +CeladonMart4F_Blocks: INCBIN "maps/CeladonMart4F.blk" + +INCLUDE "data/mapHeaders/CeladonMartRoof.asm" +INCLUDE "scripts/CeladonMartRoof.asm" +INCLUDE "data/mapObjects/CeladonMartRoof.asm" +CeladonMartRoof_Blocks: INCBIN "maps/CeladonMartRoof.blk" + +INCLUDE "data/mapHeaders/CeladonMartElevator.asm" +INCLUDE "scripts/CeladonMartElevator.asm" +INCLUDE "data/mapObjects/CeladonMartElevator.asm" +CeladonMartElevator_Blocks: INCBIN "maps/CeladonMartElevator.blk" + +INCLUDE "data/mapHeaders/CeladonMansion1F.asm" +INCLUDE "scripts/CeladonMansion1F.asm" +INCLUDE "data/mapObjects/CeladonMansion1F.asm" +CeladonMansion1F_Blocks: INCBIN "maps/CeladonMansion1F.blk" + +INCLUDE "data/mapHeaders/CeladonMansion2F.asm" +INCLUDE "scripts/CeladonMansion2F.asm" +INCLUDE "data/mapObjects/CeladonMansion2F.asm" +CeladonMansion2F_Blocks: INCBIN "maps/CeladonMansion2F.blk" + +INCLUDE "data/mapHeaders/CeladonMansion3F.asm" +INCLUDE "scripts/CeladonMansion3F.asm" +INCLUDE "data/mapObjects/CeladonMansion3F.asm" +CeladonMansion3F_Blocks: INCBIN "maps/CeladonMansion3F.blk" + +INCLUDE "data/mapHeaders/CeladonMansionRoof.asm" +INCLUDE "scripts/CeladonMansionRoof.asm" +INCLUDE "data/mapObjects/CeladonMansionRoof.asm" +CeladonMansionRoof_Blocks: INCBIN "maps/CeladonMansionRoof.blk" + +INCLUDE "data/mapHeaders/CeladonPokecenter.asm" +INCLUDE "scripts/CeladonPokecenter.asm" +INCLUDE "data/mapObjects/CeladonPokecenter.asm" + +INCLUDE "data/mapHeaders/CeladonGym.asm" +INCLUDE "scripts/CeladonGym.asm" +INCLUDE "data/mapObjects/CeladonGym.asm" +CeladonGym_Blocks: INCBIN "maps/CeladonGym.blk" + +INCLUDE "data/mapHeaders/GameCorner.asm" +INCLUDE "scripts/GameCorner.asm" +INCLUDE "data/mapObjects/GameCorner.asm" +GameCorner_Blocks: INCBIN "maps/GameCorner.blk" + +INCLUDE "data/mapHeaders/CeladonMart5F.asm" +INCLUDE "scripts/CeladonMart5F.asm" +INCLUDE "data/mapObjects/CeladonMart5F.asm" +CeladonMart5F_Blocks: INCBIN "maps/CeladonMart5F.blk" + +INCLUDE "data/mapHeaders/GameCornerPrizeRoom.asm" +INCLUDE "scripts/GameCornerPrizeRoom.asm" +INCLUDE "data/mapObjects/GameCornerPrizeRoom.asm" +GameCornerPrizeRoom_Blocks: INCBIN "maps/GameCornerPrizeRoom.blk" + +INCLUDE "data/mapHeaders/CeladonDiner.asm" +INCLUDE "scripts/CeladonDiner.asm" +INCLUDE "data/mapObjects/CeladonDiner.asm" +CeladonDiner_Blocks: INCBIN "maps/CeladonDiner.blk" + +INCLUDE "data/mapHeaders/CeladonChiefHouse.asm" +INCLUDE "scripts/CeladonChiefHouse.asm" +INCLUDE "data/mapObjects/CeladonChiefHouse.asm" +CeladonChiefHouse_Blocks: INCBIN "maps/CeladonChiefHouse.blk" + +INCLUDE "data/mapHeaders/CeladonHotel.asm" +INCLUDE "scripts/CeladonHotel.asm" +INCLUDE "data/mapObjects/CeladonHotel.asm" +CeladonHotel_Blocks: INCBIN "maps/CeladonHotel.blk" + +INCLUDE "data/mapHeaders/MtMoonPokecenter.asm" +INCLUDE "scripts/MtMoonPokecenter.asm" +INCLUDE "data/mapObjects/MtMoonPokecenter.asm" + +INCLUDE "data/mapHeaders/RockTunnelPokecenter.asm" +INCLUDE "scripts/RockTunnelPokecenter.asm" +INCLUDE "data/mapObjects/RockTunnelPokecenter.asm" + +INCLUDE "data/mapHeaders/Route11Gate1F.asm" +INCLUDE "scripts/Route11Gate1F.asm" +INCLUDE "data/mapObjects/Route11Gate1F.asm" + +INCLUDE "data/mapHeaders/Route11Gate2F.asm" +INCLUDE "scripts/Route11Gate2F.asm" +INCLUDE "data/mapObjects/Route11Gate2F.asm" + +INCLUDE "data/mapHeaders/Route12Gate1F.asm" +INCLUDE "scripts/Route12Gate1F.asm" +INCLUDE "data/mapObjects/Route12Gate1F.asm" +Route12Gate1F_Blocks: INCBIN "maps/Route12Gate1F.blk" + +INCLUDE "data/mapHeaders/Route12Gate2F.asm" +INCLUDE "scripts/Route12Gate2F.asm" +INCLUDE "data/mapObjects/Route12Gate2F.asm" + +INCLUDE "data/mapHeaders/Route15Gate1F.asm" +INCLUDE "scripts/Route15Gate1F.asm" +INCLUDE "data/mapObjects/Route15Gate1F.asm" + +INCLUDE "data/mapHeaders/Route15Gate2F.asm" +INCLUDE "scripts/Route15Gate2F.asm" +INCLUDE "data/mapObjects/Route15Gate2F.asm" + +INCLUDE "data/mapHeaders/Route16Gate1F.asm" +INCLUDE "scripts/Route16Gate1F.asm" +INCLUDE "data/mapObjects/Route16Gate1F.asm" +Route16Gate1F_Blocks: INCBIN "maps/Route16Gate1F.blk" + +INCLUDE "data/mapHeaders/Route16Gate2F.asm" +INCLUDE "scripts/Route16Gate2F.asm" +INCLUDE "data/mapObjects/Route16Gate2F.asm" + +INCLUDE "data/mapHeaders/Route18Gate1F.asm" +INCLUDE "scripts/Route18Gate1F.asm" +INCLUDE "data/mapObjects/Route18Gate1F.asm" + +INCLUDE "data/mapHeaders/Route18Gate2F.asm" +INCLUDE "scripts/Route18Gate2F.asm" +INCLUDE "data/mapObjects/Route18Gate2F.asm" + +INCLUDE "data/mapHeaders/MtMoon1F.asm" +INCLUDE "scripts/MtMoon1F.asm" +INCLUDE "data/mapObjects/MtMoon1F.asm" +MtMoon1F_Blocks: INCBIN "maps/MtMoon1F.blk" + +INCLUDE "data/mapHeaders/MtMoonB2F.asm" +INCLUDE "scripts/MtMoonB2F.asm" +INCLUDE "data/mapObjects/MtMoonB2F.asm" +MtMoonB2F_Blocks: INCBIN "maps/MtMoonB2F.blk" + +INCLUDE "data/mapHeaders/SafariZoneWest.asm" +INCLUDE "scripts/SafariZoneWest.asm" +INCLUDE "data/mapObjects/SafariZoneWest.asm" +SafariZoneWest_Blocks: INCBIN "maps/SafariZoneWest.blk" + +INCLUDE "data/mapHeaders/SafariZoneSecretHouse.asm" +INCLUDE "scripts/SafariZoneSecretHouse.asm" +INCLUDE "data/mapObjects/SafariZoneSecretHouse.asm" +SafariZoneSecretHouse_Blocks: INCBIN "maps/SafariZoneSecretHouse.blk" + + +SECTION "Maps 9", ROMX + +INCLUDE "data/mapHeaders/TradeCenter.asm" +INCLUDE "scripts/TradeCenter.asm" +INCLUDE "data/mapObjects/TradeCenter.asm" +TradeCenter_Blocks: INCBIN "maps/TradeCenter.blk" + +INCLUDE "data/mapHeaders/Colosseum.asm" +INCLUDE "scripts/Colosseum.asm" +INCLUDE "data/mapObjects/Colosseum.asm" +Colosseum_Blocks: INCBIN "maps/Colosseum.blk" + + +SECTION "Maps 10", ROMX + +INCLUDE "data/mapHeaders/Route22.asm" +INCLUDE "data/mapObjects/Route22.asm" +Route22_Blocks: INCBIN "maps/Route22.blk" + +INCLUDE "data/mapHeaders/Route20.asm" +INCLUDE "data/mapObjects/Route20.asm" +Route20_Blocks: INCBIN "maps/Route20.blk" + +INCLUDE "data/mapHeaders/Route23.asm" +INCLUDE "data/mapObjects/Route23.asm" +Route23_Blocks: INCBIN "maps/Route23.blk" + +INCLUDE "data/mapHeaders/Route24.asm" +INCLUDE "data/mapObjects/Route24.asm" +Route24_Blocks: INCBIN "maps/Route24.blk" + +INCLUDE "data/mapHeaders/Route25.asm" +INCLUDE "data/mapObjects/Route25.asm" +Route25_Blocks: INCBIN "maps/Route25.blk" + +INCLUDE "data/mapHeaders/IndigoPlateau.asm" +INCLUDE "scripts/IndigoPlateau.asm" +INCLUDE "data/mapObjects/IndigoPlateau.asm" +IndigoPlateau_Blocks: INCBIN "maps/IndigoPlateau.blk" + +INCLUDE "data/mapHeaders/SaffronCity.asm" +INCLUDE "data/mapObjects/SaffronCity.asm" +SaffronCity_Blocks: INCBIN "maps/SaffronCity.blk" +INCLUDE "scripts/SaffronCity.asm" + +INCLUDE "scripts/Route20.asm" +INCLUDE "scripts/Route22.asm" +INCLUDE "scripts/Route23.asm" +INCLUDE "scripts/Route24.asm" +INCLUDE "scripts/Route25.asm" + +INCLUDE "data/mapHeaders/VictoryRoad2F.asm" +INCLUDE "scripts/VictoryRoad2F.asm" +INCLUDE "data/mapObjects/VictoryRoad2F.asm" +VictoryRoad2F_Blocks: INCBIN "maps/VictoryRoad2F.blk" + +INCLUDE "data/mapHeaders/MtMoonB1F.asm" +INCLUDE "scripts/MtMoonB1F.asm" +INCLUDE "data/mapObjects/MtMoonB1F.asm" +MtMoonB1F_Blocks: INCBIN "maps/MtMoonB1F.blk" + +INCLUDE "data/mapHeaders/SilphCo7F.asm" +INCLUDE "scripts/SilphCo7F.asm" +INCLUDE "data/mapObjects/SilphCo7F.asm" +SilphCo7F_Blocks: INCBIN "maps/SilphCo7F.blk" + +INCLUDE "data/mapHeaders/PokemonMansion2F.asm" +INCLUDE "scripts/PokemonMansion2F.asm" +INCLUDE "data/mapObjects/PokemonMansion2F.asm" +PokemonMansion2F_Blocks: INCBIN "maps/PokemonMansion2F.blk" + +INCLUDE "data/mapHeaders/PokemonMansion3F.asm" +INCLUDE "scripts/PokemonMansion3F.asm" +INCLUDE "data/mapObjects/PokemonMansion3F.asm" +PokemonMansion3F_Blocks: INCBIN "maps/PokemonMansion3F.blk" + +INCLUDE "data/mapHeaders/PokemonMansionB1F.asm" +INCLUDE "scripts/PokemonMansionB1F.asm" +INCLUDE "data/mapObjects/PokemonMansionB1F.asm" +PokemonMansionB1F_Blocks: INCBIN "maps/PokemonMansionB1F.blk" + + +SECTION "Maps 11", ROMX + +INCLUDE "data/mapHeaders/Route2.asm" +INCLUDE "data/mapObjects/Route2.asm" +Route2_Blocks: INCBIN "maps/Route2.blk" + +INCLUDE "data/mapHeaders/Route3.asm" +INCLUDE "data/mapObjects/Route3.asm" +Route3_Blocks: INCBIN "maps/Route3.blk" + +INCLUDE "data/mapHeaders/Route4.asm" +INCLUDE "data/mapObjects/Route4.asm" +Route4_Blocks: INCBIN "maps/Route4.blk" + +INCLUDE "data/mapHeaders/Route5.asm" +INCLUDE "data/mapObjects/Route5.asm" +Route5_Blocks: INCBIN "maps/Route5.blk" + +INCLUDE "data/mapHeaders/Route9.asm" +INCLUDE "data/mapObjects/Route9.asm" +Route9_Blocks: INCBIN "maps/Route9.blk" + +INCLUDE "data/mapHeaders/Route13.asm" +INCLUDE "data/mapObjects/Route13.asm" +Route13_Blocks: INCBIN "maps/Route13.blk" + +INCLUDE "data/mapHeaders/Route14.asm" +INCLUDE "data/mapObjects/Route14.asm" +Route14_Blocks: INCBIN "maps/Route14.blk" + +INCLUDE "data/mapHeaders/Route17.asm" +INCLUDE "data/mapObjects/Route17.asm" +Route17_Blocks: INCBIN "maps/Route17.blk" + +INCLUDE "data/mapHeaders/Route19.asm" +INCLUDE "data/mapObjects/Route19.asm" +Route19_Blocks: INCBIN "maps/Route19.blk" + +INCLUDE "data/mapHeaders/Route21.asm" +INCLUDE "data/mapObjects/Route21.asm" +Route21_Blocks: INCBIN "maps/Route21.blk" + +VermilionOldRodHouse_Blocks: +Route12SuperRodHouse_Blocks: +Daycare_Blocks: INCBIN "maps/Daycare.blk" + +FuchsiaGoodRodHouse_Blocks: INCBIN "maps/FuchsiaGoodRodHouse.blk" + + +SECTION "Maps 12", ROMX + +INCLUDE "scripts/Route2.asm" +INCLUDE "scripts/Route3.asm" +INCLUDE "scripts/Route4.asm" +INCLUDE "scripts/Route5.asm" +INCLUDE "scripts/Route9.asm" +INCLUDE "scripts/Route13.asm" +INCLUDE "scripts/Route14.asm" +INCLUDE "scripts/Route17.asm" +INCLUDE "scripts/Route19.asm" +INCLUDE "scripts/Route21.asm" + +INCLUDE "data/mapHeaders/VermilionOldRodHouse.asm" +INCLUDE "scripts/VermilionOldRodHouse.asm" +INCLUDE "data/mapObjects/VermilionOldRodHouse.asm" + +INCLUDE "data/mapHeaders/CeladonMart2F.asm" +INCLUDE "scripts/CeladonMart2F.asm" +INCLUDE "data/mapObjects/CeladonMart2F.asm" +CeladonMart2F_Blocks: INCBIN "maps/CeladonMart2F.blk" + +INCLUDE "data/mapHeaders/FuchsiaGoodRodHouse.asm" +INCLUDE "scripts/FuchsiaGoodRodHouse.asm" +INCLUDE "data/mapObjects/FuchsiaGoodRodHouse.asm" + +INCLUDE "data/mapHeaders/Daycare.asm" +INCLUDE "scripts/Daycare.asm" +INCLUDE "data/mapObjects/Daycare.asm" + +INCLUDE "data/mapHeaders/Route12SuperRodHouse.asm" +INCLUDE "scripts/Route12SuperRodHouse.asm" +INCLUDE "data/mapObjects/Route12SuperRodHouse.asm" + +INCLUDE "data/mapHeaders/SilphCo8F.asm" +INCLUDE "scripts/SilphCo8F.asm" +INCLUDE "data/mapObjects/SilphCo8F.asm" +SilphCo8F_Blocks: INCBIN "maps/SilphCo8F.blk" + + +SECTION "Maps 13", ROMX + +INCLUDE "data/mapHeaders/Route6.asm" +INCLUDE "data/mapObjects/Route6.asm" +Route6_Blocks: INCBIN "maps/Route6.blk" + +INCLUDE "data/mapHeaders/Route8.asm" +INCLUDE "data/mapObjects/Route8.asm" +Route8_Blocks: INCBIN "maps/Route8.blk" + +INCLUDE "data/mapHeaders/Route10.asm" +INCLUDE "data/mapObjects/Route10.asm" +Route10_Blocks: INCBIN "maps/Route10.blk" + +INCLUDE "data/mapHeaders/Route11.asm" +INCLUDE "data/mapObjects/Route11.asm" +Route11_Blocks: INCBIN "maps/Route11.blk" + +INCLUDE "data/mapHeaders/Route12.asm" +INCLUDE "data/mapObjects/Route12.asm" +Route12_Blocks: INCBIN "maps/Route12.blk" + +INCLUDE "data/mapHeaders/Route15.asm" +INCLUDE "data/mapObjects/Route15.asm" +Route15_Blocks: INCBIN "maps/Route15.blk" + +INCLUDE "data/mapHeaders/Route16.asm" +INCLUDE "data/mapObjects/Route16.asm" +Route16_Blocks: INCBIN "maps/Route16.blk" + +INCLUDE "data/mapHeaders/Route18.asm" +INCLUDE "data/mapObjects/Route18.asm" +Route18_Blocks: INCBIN "maps/Route18.blk" + + INCBIN "maps/UnusedPokecenterCopy.blk" + + +SECTION "Maps 14", ROMX + +INCLUDE "scripts/Route6.asm" +INCLUDE "scripts/Route8.asm" +INCLUDE "scripts/Route10.asm" +INCLUDE "scripts/Route11.asm" +INCLUDE "scripts/Route12.asm" +INCLUDE "scripts/Route15.asm" +INCLUDE "scripts/Route16.asm" +INCLUDE "scripts/Route18.asm" + +INCLUDE "data/mapHeaders/PokemonFanClub.asm" +INCLUDE "scripts/PokemonFanClub.asm" +INCLUDE "data/mapObjects/PokemonFanClub.asm" +PokemonFanClub_Blocks: INCBIN "maps/PokemonFanClub.blk" + +INCLUDE "data/mapHeaders/SilphCo2F.asm" +INCLUDE "scripts/SilphCo2F.asm" +INCLUDE "data/mapObjects/SilphCo2F.asm" +SilphCo2F_Blocks: INCBIN "maps/SilphCo2F.blk" + +INCLUDE "data/mapHeaders/SilphCo3F.asm" +INCLUDE "scripts/SilphCo3F.asm" +INCLUDE "data/mapObjects/SilphCo3F.asm" +SilphCo3F_Blocks: INCBIN "maps/SilphCo3F.blk" + +INCLUDE "data/mapHeaders/SilphCo10F.asm" +INCLUDE "scripts/SilphCo10F.asm" +INCLUDE "data/mapObjects/SilphCo10F.asm" +SilphCo10F_Blocks: INCBIN "maps/SilphCo10F.blk" + +INCLUDE "data/mapHeaders/LancesRoom.asm" +INCLUDE "scripts/LancesRoom.asm" +INCLUDE "data/mapObjects/LancesRoom.asm" +LancesRoom_Blocks: INCBIN "maps/LancesRoom.blk" + +INCLUDE "data/mapHeaders/HallOfFame.asm" +INCLUDE "scripts/HallOfFame.asm" +INCLUDE "data/mapObjects/HallOfFame.asm" +HallOfFame_Blocks: INCBIN "maps/HallOfFame.blk" + + +SECTION "Maps 15", ROMX + +SaffronMart_Blocks: +LavenderMart_Blocks: +CeruleanMart_Blocks: +VermilionMart_Blocks: INCBIN "maps/VermilionMart.blk" + +CopycatsHouse2F_Blocks: +RedsHouse2F_Blocks: INCBIN "maps/RedsHouse2F.blk" + +Museum1F_Blocks: INCBIN "maps/Museum1F.blk" + +Museum2F_Blocks: INCBIN "maps/Museum2F.blk" + +SaffronPokecenter_Blocks: +VermilionPokecenter_Blocks: +LavenderPokecenter_Blocks: +PewterPokecenter_Blocks: INCBIN "maps/PewterPokecenter.blk" + +UndergroundPathRoute7_Blocks: +UndergroundPathRoute7Copy_Blocks: +UndergroundPathRoute6_Blocks: +UndergroundPathRoute5_Blocks: INCBIN "maps/UndergroundPathRoute5.blk" + +Route2Gate_Blocks: +ViridianForestSouthGate_Blocks: +ViridianForestNorthGate_Blocks: INCBIN "maps/ViridianForestNorthGate.blk" + +INCLUDE "data/mapHeaders/RedsHouse2F.asm" +INCLUDE "scripts/RedsHouse2F.asm" +INCLUDE "data/mapObjects/RedsHouse2F.asm" + + +SECTION "Maps 16", ROMX + +INCLUDE "data/mapHeaders/Museum1F.asm" +INCLUDE "scripts/Museum1F.asm" +INCLUDE "data/mapObjects/Museum1F.asm" + +INCLUDE "data/mapHeaders/Museum2F.asm" +INCLUDE "scripts/Museum2F.asm" +INCLUDE "data/mapObjects/Museum2F.asm" + +INCLUDE "data/mapHeaders/PewterGym.asm" +INCLUDE "scripts/PewterGym.asm" +INCLUDE "data/mapObjects/PewterGym.asm" +PewterGym_Blocks: INCBIN "maps/PewterGym.blk" + +INCLUDE "data/mapHeaders/PewterPokecenter.asm" +INCLUDE "scripts/PewterPokecenter.asm" +INCLUDE "data/mapObjects/PewterPokecenter.asm" + +INCLUDE "data/mapHeaders/CeruleanPokecenter.asm" +INCLUDE "scripts/CeruleanPokecenter.asm" +INCLUDE "data/mapObjects/CeruleanPokecenter.asm" +CeruleanPokecenter_Blocks: INCBIN "maps/CeruleanPokecenter.blk" + +INCLUDE "data/mapHeaders/CeruleanGym.asm" +INCLUDE "scripts/CeruleanGym.asm" +INCLUDE "data/mapObjects/CeruleanGym.asm" +CeruleanGym_Blocks: INCBIN "maps/CeruleanGym.blk" + +INCLUDE "data/mapHeaders/CeruleanMart.asm" +INCLUDE "scripts/CeruleanMart.asm" +INCLUDE "data/mapObjects/CeruleanMart.asm" + +INCLUDE "data/mapHeaders/LavenderPokecenter.asm" +INCLUDE "scripts/LavenderPokecenter.asm" +INCLUDE "data/mapObjects/LavenderPokecenter.asm" + +INCLUDE "data/mapHeaders/LavenderMart.asm" +INCLUDE "scripts/LavenderMart.asm" +INCLUDE "data/mapObjects/LavenderMart.asm" + +INCLUDE "data/mapHeaders/VermilionPokecenter.asm" +INCLUDE "scripts/VermilionPokecenter.asm" +INCLUDE "data/mapObjects/VermilionPokecenter.asm" + +INCLUDE "data/mapHeaders/VermilionMart.asm" +INCLUDE "scripts/VermilionMart.asm" +INCLUDE "data/mapObjects/VermilionMart.asm" + +INCLUDE "data/mapHeaders/VermilionGym.asm" +INCLUDE "scripts/VermilionGym.asm" +INCLUDE "data/mapObjects/VermilionGym.asm" +VermilionGym_Blocks: INCBIN "maps/VermilionGym.blk" + +INCLUDE "data/mapHeaders/CopycatsHouse2F.asm" +INCLUDE "scripts/CopycatsHouse2F.asm" +INCLUDE "data/mapObjects/CopycatsHouse2F.asm" + +INCLUDE "data/mapHeaders/FightingDojo.asm" +INCLUDE "scripts/FightingDojo.asm" +INCLUDE "data/mapObjects/FightingDojo.asm" +FightingDojo_Blocks: INCBIN "maps/FightingDojo.blk" + +INCLUDE "data/mapHeaders/SaffronGym.asm" +INCLUDE "scripts/SaffronGym.asm" +INCLUDE "data/mapObjects/SaffronGym.asm" +SaffronGym_Blocks: INCBIN "maps/SaffronGym.blk" + +INCLUDE "data/mapHeaders/SaffronMart.asm" +INCLUDE "scripts/SaffronMart.asm" +INCLUDE "data/mapObjects/SaffronMart.asm" + +INCLUDE "data/mapHeaders/SilphCo1F.asm" +INCLUDE "scripts/SilphCo1F.asm" +INCLUDE "data/mapObjects/SilphCo1F.asm" +SilphCo1F_Blocks: INCBIN "maps/SilphCo1F.blk" + +INCLUDE "data/mapHeaders/SaffronPokecenter.asm" +INCLUDE "scripts/SaffronPokecenter.asm" +INCLUDE "data/mapObjects/SaffronPokecenter.asm" + +INCLUDE "data/mapHeaders/ViridianForestNorthGate.asm" +INCLUDE "scripts/ViridianForestNorthGate.asm" +INCLUDE "data/mapObjects/ViridianForestNorthGate.asm" + +INCLUDE "data/mapHeaders/Route2Gate.asm" +INCLUDE "scripts/Route2Gate.asm" +INCLUDE "data/mapObjects/Route2Gate.asm" + +INCLUDE "data/mapHeaders/ViridianForestSouthGate.asm" +INCLUDE "scripts/ViridianForestSouthGate.asm" +INCLUDE "data/mapObjects/ViridianForestSouthGate.asm" + +INCLUDE "data/mapHeaders/UndergroundPathRoute5.asm" +INCLUDE "scripts/UndergroundPathRoute5.asm" +INCLUDE "data/mapObjects/UndergroundPathRoute5.asm" + +INCLUDE "data/mapHeaders/UndergroundPathRoute6.asm" +INCLUDE "scripts/UndergroundPathRoute6.asm" +INCLUDE "data/mapObjects/UndergroundPathRoute6.asm" + +INCLUDE "data/mapHeaders/UndergroundPathRoute7.asm" +INCLUDE "scripts/UndergroundPathRoute7.asm" +INCLUDE "data/mapObjects/UndergroundPathRoute7.asm" + +INCLUDE "data/mapHeaders/UndergroundPathRoute7Copy.asm" +INCLUDE "scripts/UndergroundPathRoute7Copy.asm" +INCLUDE "data/mapObjects/UndergroundPathRoute7Copy.asm" + +INCLUDE "data/mapHeaders/SilphCo9F.asm" +INCLUDE "scripts/SilphCo9F.asm" +INCLUDE "data/mapObjects/SilphCo9F.asm" +SilphCo9F_Blocks: INCBIN "maps/SilphCo9F.blk" + +INCLUDE "data/mapHeaders/VictoryRoad1F.asm" +INCLUDE "scripts/VictoryRoad1F.asm" +INCLUDE "data/mapObjects/VictoryRoad1F.asm" +VictoryRoad1F_Blocks: INCBIN "maps/VictoryRoad1F.blk" + + +SECTION "Maps 17", ROMX + +ViridianForest_Blocks: INCBIN "maps/ViridianForest.blk" +UndergroundPathNorthSouth_Blocks: INCBIN "maps/UndergroundPathNorthSouth.blk" +UndergroundPathWestEast_Blocks: INCBIN "maps/UndergroundPathWestEast.blk" + + INCBIN "maps/UnusedDiglettsCaveCopy.blk" + +SSAnneB1FRooms_Blocks: +SSAnne2FRooms_Blocks: INCBIN "maps/SSAnne2FRooms.blk" + +INCLUDE "data/mapHeaders/PokemonTower1F.asm" +INCLUDE "scripts/PokemonTower1F.asm" +INCLUDE "data/mapObjects/PokemonTower1F.asm" +PokemonTower1F_Blocks: INCBIN "maps/PokemonTower1F.blk" + +INCLUDE "data/mapHeaders/PokemonTower2F.asm" +INCLUDE "scripts/PokemonTower2F.asm" +INCLUDE "data/mapObjects/PokemonTower2F.asm" +PokemonTower2F_Blocks: INCBIN "maps/PokemonTower2F.blk" + +INCLUDE "data/mapHeaders/PokemonTower3F.asm" +INCLUDE "scripts/PokemonTower3F.asm" +INCLUDE "data/mapObjects/PokemonTower3F.asm" +PokemonTower3F_Blocks: INCBIN "maps/PokemonTower3F.blk" + +INCLUDE "data/mapHeaders/PokemonTower4F.asm" +INCLUDE "scripts/PokemonTower4F.asm" +INCLUDE "data/mapObjects/PokemonTower4F.asm" +PokemonTower4F_Blocks: INCBIN "maps/PokemonTower4F.blk" + +INCLUDE "data/mapHeaders/PokemonTower5F.asm" +INCLUDE "scripts/PokemonTower5F.asm" +INCLUDE "data/mapObjects/PokemonTower5F.asm" +PokemonTower5F_Blocks: INCBIN "maps/PokemonTower5F.blk" + +INCLUDE "data/mapHeaders/PokemonTower6F.asm" +INCLUDE "scripts/PokemonTower6F.asm" +INCLUDE "data/mapObjects/PokemonTower6F.asm" +PokemonTower6F_Blocks: INCBIN "maps/PokemonTower6F.blk" + + INCBIN "maps/UnusedEmptyMap.blk" + +INCLUDE "data/mapHeaders/PokemonTower7F.asm" +INCLUDE "scripts/PokemonTower7F.asm" +INCLUDE "data/mapObjects/PokemonTower7F.asm" +PokemonTower7F_Blocks: INCBIN "maps/PokemonTower7F.blk" + +INCLUDE "data/mapHeaders/CeladonMart1F.asm" +INCLUDE "scripts/CeladonMart1F.asm" +INCLUDE "data/mapObjects/CeladonMart1F.asm" +CeladonMart1F_Blocks: INCBIN "maps/CeladonMart1F.blk" + + +SECTION "Maps 18", ROMX + +INCLUDE "data/mapHeaders/ViridianForest.asm" +INCLUDE "scripts/ViridianForest.asm" +INCLUDE "data/mapObjects/ViridianForest.asm" + +INCLUDE "data/mapHeaders/SSAnne1F.asm" +INCLUDE "scripts/SSAnne1F.asm" +INCLUDE "data/mapObjects/SSAnne1F.asm" +SSAnne1F_Blocks: INCBIN "maps/SSAnne1F.blk" + +INCLUDE "data/mapHeaders/SSAnne2F.asm" +INCLUDE "scripts/SSAnne2F.asm" +INCLUDE "data/mapObjects/SSAnne2F.asm" +SSAnne2F_Blocks: INCBIN "maps/SSAnne2F.blk" + +INCLUDE "data/mapHeaders/SSAnneB1F.asm" +INCLUDE "scripts/SSAnneB1F.asm" +INCLUDE "data/mapObjects/SSAnneB1F.asm" +SSAnneB1F_Blocks: INCBIN "maps/SSAnneB1F.blk" + +INCLUDE "data/mapHeaders/SSAnneBow.asm" +INCLUDE "scripts/SSAnneBow.asm" +INCLUDE "data/mapObjects/SSAnneBow.asm" +SSAnneBow_Blocks: INCBIN "maps/SSAnneBow.blk" + +INCLUDE "data/mapHeaders/SSAnneKitchen.asm" +INCLUDE "scripts/SSAnneKitchen.asm" +INCLUDE "data/mapObjects/SSAnneKitchen.asm" +SSAnneKitchen_Blocks: INCBIN "maps/SSAnneKitchen.blk" + +INCLUDE "data/mapHeaders/SSAnneCaptainsRoom.asm" +INCLUDE "scripts/SSAnneCaptainsRoom.asm" +INCLUDE "data/mapObjects/SSAnneCaptainsRoom.asm" +SSAnneCaptainsRoom_Blocks: INCBIN "maps/SSAnneCaptainsRoom.blk" + +INCLUDE "data/mapHeaders/SSAnne1FRooms.asm" +INCLUDE "scripts/SSAnne1FRooms.asm" +INCLUDE "data/mapObjects/SSAnne1FRooms.asm" +SSAnne1FRooms_Blocks: INCBIN "maps/SSAnne1FRooms.blk" + +INCLUDE "data/mapHeaders/SSAnne2FRooms.asm" +INCLUDE "scripts/SSAnne2FRooms.asm" +INCLUDE "data/mapObjects/SSAnne2FRooms.asm" + +INCLUDE "data/mapHeaders/SSAnneB1FRooms.asm" +INCLUDE "scripts/SSAnneB1FRooms.asm" +INCLUDE "data/mapObjects/SSAnneB1FRooms.asm" + +INCLUDE "data/mapHeaders/UndergroundPathNorthSouth.asm" +INCLUDE "scripts/UndergroundPathNorthSouth.asm" +INCLUDE "data/mapObjects/UndergroundPathNorthSouth.asm" + +INCLUDE "data/mapHeaders/UndergroundPathWestEast.asm" +INCLUDE "scripts/UndergroundPathWestEast.asm" +INCLUDE "data/mapObjects/UndergroundPathWestEast.asm" + +INCLUDE "data/mapHeaders/DiglettsCave.asm" +INCLUDE "scripts/DiglettsCave.asm" +INCLUDE "data/mapObjects/DiglettsCave.asm" +DiglettsCave_Blocks: INCBIN "maps/DiglettsCave.blk" + +INCLUDE "data/mapHeaders/SilphCo11F.asm" +INCLUDE "scripts/SilphCo11F.asm" +INCLUDE "data/mapObjects/SilphCo11F.asm" +SilphCo11F_Blocks: INCBIN "maps/SilphCo11F.blk" + + +SECTION "Maps 19", ROMX + +CopycatsHouse1F_Blocks: INCBIN "maps/CopycatsHouse1F.blk" + +CinnabarMart_Blocks: +PewterMart_Blocks: INCBIN "maps/PewterMart.blk" + +FuchsiaBillsGrandpasHouse_Blocks: INCBIN "maps/FuchsiaBillsGrandpasHouse.blk" + +CinnabarPokecenter_Blocks: +FuchsiaPokecenter_Blocks: INCBIN "maps/FuchsiaPokecenter.blk" + +CeruleanBadgeHouse_Blocks: INCBIN "maps/CeruleanBadgeHouse.blk" + + +SECTION "Maps 20", ROMX + +INCLUDE "scripts/CeruleanCity_2.asm" + +INCLUDE "data/mapHeaders/ViridianGym.asm" +INCLUDE "scripts/ViridianGym.asm" +INCLUDE "data/mapObjects/ViridianGym.asm" +ViridianGym_Blocks: INCBIN "maps/ViridianGym.blk" + +INCLUDE "data/mapHeaders/PewterMart.asm" +INCLUDE "scripts/PewterMart.asm" +INCLUDE "data/mapObjects/PewterMart.asm" + +INCLUDE "data/mapHeaders/CeruleanCave1F.asm" +INCLUDE "scripts/CeruleanCave1F.asm" +INCLUDE "data/mapObjects/CeruleanCave1F.asm" +CeruleanCave1F_Blocks: INCBIN "maps/CeruleanCave1F.blk" + +INCLUDE "data/mapHeaders/CeruleanBadgeHouse.asm" +INCLUDE "scripts/CeruleanBadgeHouse.asm" +INCLUDE "data/mapObjects/CeruleanBadgeHouse.asm" + + +SECTION "Maps 21", ROMX + +INCLUDE "data/mapHeaders/FuchsiaBillsGrandpasHouse.asm" +INCLUDE "scripts/FuchsiaBillsGrandpasHouse.asm" +INCLUDE "data/mapObjects/FuchsiaBillsGrandpasHouse.asm" + +INCLUDE "data/mapHeaders/FuchsiaPokecenter.asm" +INCLUDE "scripts/FuchsiaPokecenter.asm" +INCLUDE "data/mapObjects/FuchsiaPokecenter.asm" + +INCLUDE "data/mapHeaders/WardensHouse.asm" +INCLUDE "scripts/WardensHouse.asm" +INCLUDE "data/mapObjects/WardensHouse.asm" +WardensHouse_Blocks: INCBIN "maps/WardensHouse.blk" + +INCLUDE "data/mapHeaders/SafariZoneGate.asm" +INCLUDE "scripts/SafariZoneGate.asm" +INCLUDE "data/mapObjects/SafariZoneGate.asm" +SafariZoneGate_Blocks: INCBIN "maps/SafariZoneGate.blk" + +INCLUDE "data/mapHeaders/FuchsiaGym.asm" +INCLUDE "scripts/FuchsiaGym.asm" +INCLUDE "data/mapObjects/FuchsiaGym.asm" +FuchsiaGym_Blocks: INCBIN "maps/FuchsiaGym.blk" + +INCLUDE "data/mapHeaders/FuchsiaMeetingRoom.asm" +INCLUDE "scripts/FuchsiaMeetingRoom.asm" +INCLUDE "data/mapObjects/FuchsiaMeetingRoom.asm" +FuchsiaMeetingRoom_Blocks: INCBIN "maps/FuchsiaMeetingRoom.blk" + +INCLUDE "data/mapHeaders/CinnabarGym.asm" +INCLUDE "scripts/CinnabarGym.asm" +INCLUDE "data/mapObjects/CinnabarGym.asm" +CinnabarGym_Blocks: INCBIN "maps/CinnabarGym.blk" + +INCLUDE "data/mapHeaders/CinnabarLab.asm" +INCLUDE "scripts/CinnabarLab.asm" +INCLUDE "data/mapObjects/CinnabarLab.asm" +CinnabarLab_Blocks: INCBIN "maps/CinnabarLab.blk" + +INCLUDE "data/mapHeaders/CinnabarLabTradeRoom.asm" +INCLUDE "scripts/CinnabarLabTradeRoom.asm" +INCLUDE "data/mapObjects/CinnabarLabTradeRoom.asm" +CinnabarLabTradeRoom_Blocks: INCBIN "maps/CinnabarLabTradeRoom.blk" + +INCLUDE "data/mapHeaders/CinnabarLabMetronomeRoom.asm" +INCLUDE "scripts/CinnabarLabMetronomeRoom.asm" +INCLUDE "data/mapObjects/CinnabarLabMetronomeRoom.asm" +CinnabarLabMetronomeRoom_Blocks: INCBIN "maps/CinnabarLabMetronomeRoom.blk" + +INCLUDE "data/mapHeaders/CinnabarLabFossilRoom.asm" +INCLUDE "scripts/CinnabarLabFossilRoom.asm" +INCLUDE "data/mapObjects/CinnabarLabFossilRoom.asm" +CinnabarLabFossilRoom_Blocks: INCBIN "maps/CinnabarLabFossilRoom.blk" + +INCLUDE "data/mapHeaders/CinnabarPokecenter.asm" +INCLUDE "scripts/CinnabarPokecenter.asm" +INCLUDE "data/mapObjects/CinnabarPokecenter.asm" + +INCLUDE "data/mapHeaders/CinnabarMart.asm" +INCLUDE "scripts/CinnabarMart.asm" +INCLUDE "data/mapObjects/CinnabarMart.asm" + +INCLUDE "data/mapHeaders/CopycatsHouse1F.asm" +INCLUDE "scripts/CopycatsHouse1F.asm" +INCLUDE "data/mapObjects/CopycatsHouse1F.asm" + +INCLUDE "data/mapHeaders/ChampionsRoom.asm" +INCLUDE "scripts/ChampionsRoom.asm" +INCLUDE "data/mapObjects/ChampionsRoom.asm" +ChampionsRoom_Blocks: INCBIN "maps/ChampionsRoom.blk" + +INCLUDE "data/mapHeaders/LoreleisRoom.asm" +INCLUDE "scripts/LoreleisRoom.asm" +INCLUDE "data/mapObjects/LoreleisRoom.asm" +LoreleisRoom_Blocks: INCBIN "maps/LoreleisRoom.blk" + +INCLUDE "data/mapHeaders/BrunosRoom.asm" +INCLUDE "scripts/BrunosRoom.asm" +INCLUDE "data/mapObjects/BrunosRoom.asm" +BrunosRoom_Blocks: INCBIN "maps/BrunosRoom.blk" + +INCLUDE "data/mapHeaders/AgathasRoom.asm" +INCLUDE "scripts/AgathasRoom.asm" +INCLUDE "data/mapObjects/AgathasRoom.asm" +AgathasRoom_Blocks: INCBIN "maps/AgathasRoom.blk" diff --git a/pics.asm b/pics.asm new file mode 100644 index 00000000..93f68b35 --- /dev/null +++ b/pics.asm @@ -0,0 +1,376 @@ +SECTION "Pics 1", ROMX + +RhydonPicFront:: INCBIN "pic/bmon/rhydon.pic" +RhydonPicBack:: INCBIN "pic/monback/rhydonb.pic" +KangaskhanPicFront:: INCBIN "pic/bmon/kangaskhan.pic" +KangaskhanPicBack:: INCBIN "pic/monback/kangaskhanb.pic" +NidoranMPicFront:: INCBIN "pic/bmon/nidoranm.pic" +NidoranMPicBack:: INCBIN "pic/monback/nidoranmb.pic" +ClefairyPicFront:: INCBIN "pic/bmon/clefairy.pic" +ClefairyPicBack:: INCBIN "pic/monback/clefairyb.pic" +SpearowPicFront:: INCBIN "pic/bmon/spearow.pic" +SpearowPicBack:: INCBIN "pic/monback/spearowb.pic" +VoltorbPicFront:: INCBIN "pic/bmon/voltorb.pic" +VoltorbPicBack:: INCBIN "pic/monback/voltorbb.pic" +NidokingPicFront:: INCBIN "pic/bmon/nidoking.pic" +NidokingPicBack:: INCBIN "pic/monback/nidokingb.pic" +SlowbroPicFront:: INCBIN "pic/bmon/slowbro.pic" +SlowbroPicBack:: INCBIN "pic/monback/slowbrob.pic" +IvysaurPicFront:: INCBIN "pic/bmon/ivysaur.pic" +IvysaurPicBack:: INCBIN "pic/monback/ivysaurb.pic" +ExeggutorPicFront:: INCBIN "pic/bmon/exeggutor.pic" +ExeggutorPicBack:: INCBIN "pic/monback/exeggutorb.pic" +LickitungPicFront:: INCBIN "pic/bmon/lickitung.pic" +LickitungPicBack:: INCBIN "pic/monback/lickitungb.pic" +ExeggcutePicFront:: INCBIN "pic/bmon/exeggcute.pic" +ExeggcutePicBack:: INCBIN "pic/monback/exeggcuteb.pic" +GrimerPicFront:: INCBIN "pic/bmon/grimer.pic" +GrimerPicBack:: INCBIN "pic/monback/grimerb.pic" +GengarPicFront:: INCBIN "pic/bmon/gengar.pic" +GengarPicBack:: INCBIN "pic/monback/gengarb.pic" +NidoranFPicFront:: INCBIN "pic/bmon/nidoranf.pic" +NidoranFPicBack:: INCBIN "pic/monback/nidoranfb.pic" +NidoqueenPicFront:: INCBIN "pic/bmon/nidoqueen.pic" +NidoqueenPicBack:: INCBIN "pic/monback/nidoqueenb.pic" +CubonePicFront:: INCBIN "pic/bmon/cubone.pic" +CubonePicBack:: INCBIN "pic/monback/cuboneb.pic" +RhyhornPicFront:: INCBIN "pic/bmon/rhyhorn.pic" +RhyhornPicBack:: INCBIN "pic/monback/rhyhornb.pic" +LaprasPicFront:: INCBIN "pic/bmon/lapras.pic" +LaprasPicBack:: INCBIN "pic/monback/laprasb.pic" +ArcaninePicFront:: INCBIN "pic/bmon/arcanine.pic" +ArcaninePicBack:: INCBIN "pic/monback/arcanineb.pic" +GyaradosPicFront:: INCBIN "pic/bmon/gyarados.pic" +GyaradosPicBack:: INCBIN "pic/monback/gyaradosb.pic" +ShellderPicFront:: INCBIN "pic/bmon/shellder.pic" +ShellderPicBack:: INCBIN "pic/monback/shellderb.pic" +TentacoolPicFront:: INCBIN "pic/bmon/tentacool.pic" +TentacoolPicBack:: INCBIN "pic/monback/tentacoolb.pic" +GastlyPicFront:: INCBIN "pic/bmon/gastly.pic" +GastlyPicBack:: INCBIN "pic/monback/gastlyb.pic" +ScytherPicFront:: INCBIN "pic/bmon/scyther.pic" +ScytherPicBack:: INCBIN "pic/monback/scytherb.pic" +StaryuPicFront:: INCBIN "pic/bmon/staryu.pic" +StaryuPicBack:: INCBIN "pic/monback/staryub.pic" +BlastoisePicFront:: INCBIN "pic/bmon/blastoise.pic" +BlastoisePicBack:: INCBIN "pic/monback/blastoiseb.pic" +PinsirPicFront:: INCBIN "pic/bmon/pinsir.pic" +PinsirPicBack:: INCBIN "pic/monback/pinsirb.pic" +TangelaPicFront:: INCBIN "pic/bmon/tangela.pic" +TangelaPicBack:: INCBIN "pic/monback/tangelab.pic" + + +SECTION "Pics 2", ROMX + +GrowlithePicFront:: INCBIN "pic/bmon/growlithe.pic" +GrowlithePicBack:: INCBIN "pic/monback/growlitheb.pic" +OnixPicFront:: INCBIN "pic/bmon/onix.pic" +OnixPicBack:: INCBIN "pic/monback/onixb.pic" +FearowPicFront:: INCBIN "pic/bmon/fearow.pic" +FearowPicBack:: INCBIN "pic/monback/fearowb.pic" +PidgeyPicFront:: INCBIN "pic/bmon/pidgey.pic" +PidgeyPicBack:: INCBIN "pic/monback/pidgeyb.pic" +SlowpokePicFront:: INCBIN "pic/bmon/slowpoke.pic" +SlowpokePicBack:: INCBIN "pic/monback/slowpokeb.pic" +KadabraPicFront:: INCBIN "pic/bmon/kadabra.pic" +KadabraPicBack:: INCBIN "pic/monback/kadabrab.pic" +GravelerPicFront:: INCBIN "pic/bmon/graveler.pic" +GravelerPicBack:: INCBIN "pic/monback/gravelerb.pic" +ChanseyPicFront:: INCBIN "pic/bmon/chansey.pic" +ChanseyPicBack:: INCBIN "pic/monback/chanseyb.pic" +MachokePicFront:: INCBIN "pic/bmon/machoke.pic" +MachokePicBack:: INCBIN "pic/monback/machokeb.pic" +MrMimePicFront:: INCBIN "pic/bmon/mr.mime.pic" +MrMimePicBack:: INCBIN "pic/monback/mr.mimeb.pic" +HitmonleePicFront:: INCBIN "pic/bmon/hitmonlee.pic" +HitmonleePicBack:: INCBIN "pic/monback/hitmonleeb.pic" +HitmonchanPicFront:: INCBIN "pic/bmon/hitmonchan.pic" +HitmonchanPicBack:: INCBIN "pic/monback/hitmonchanb.pic" +ArbokPicFront:: INCBIN "pic/bmon/arbok.pic" +ArbokPicBack:: INCBIN "pic/monback/arbokb.pic" +ParasectPicFront:: INCBIN "pic/bmon/parasect.pic" +ParasectPicBack:: INCBIN "pic/monback/parasectb.pic" +PsyduckPicFront:: INCBIN "pic/bmon/psyduck.pic" +PsyduckPicBack:: INCBIN "pic/monback/psyduckb.pic" +DrowzeePicFront:: INCBIN "pic/bmon/drowzee.pic" +DrowzeePicBack:: INCBIN "pic/monback/drowzeeb.pic" +GolemPicFront:: INCBIN "pic/bmon/golem.pic" +GolemPicBack:: INCBIN "pic/monback/golemb.pic" +MagmarPicFront:: INCBIN "pic/bmon/magmar.pic" +MagmarPicBack:: INCBIN "pic/monback/magmarb.pic" +ElectabuzzPicFront:: INCBIN "pic/bmon/electabuzz.pic" +ElectabuzzPicBack:: INCBIN "pic/monback/electabuzzb.pic" +MagnetonPicFront:: INCBIN "pic/bmon/magneton.pic" +MagnetonPicBack:: INCBIN "pic/monback/magnetonb.pic" +KoffingPicFront:: INCBIN "pic/bmon/koffing.pic" +KoffingPicBack:: INCBIN "pic/monback/koffingb.pic" +MankeyPicFront:: INCBIN "pic/bmon/mankey.pic" +MankeyPicBack:: INCBIN "pic/monback/mankeyb.pic" +SeelPicFront:: INCBIN "pic/bmon/seel.pic" +SeelPicBack:: INCBIN "pic/monback/seelb.pic" +DiglettPicFront:: INCBIN "pic/bmon/diglett.pic" +DiglettPicBack:: INCBIN "pic/monback/diglettb.pic" +TaurosPicFront:: INCBIN "pic/bmon/tauros.pic" +TaurosPicBack:: INCBIN "pic/monback/taurosb.pic" +FarfetchdPicFront:: INCBIN "pic/bmon/farfetchd.pic" +FarfetchdPicBack:: INCBIN "pic/monback/farfetchdb.pic" +VenonatPicFront:: INCBIN "pic/bmon/venonat.pic" +VenonatPicBack:: INCBIN "pic/monback/venonatb.pic" +DragonitePicFront:: INCBIN "pic/bmon/dragonite.pic" +DragonitePicBack:: INCBIN "pic/monback/dragoniteb.pic" +DoduoPicFront:: INCBIN "pic/bmon/doduo.pic" +DoduoPicBack:: INCBIN "pic/monback/doduob.pic" +PoliwagPicFront:: INCBIN "pic/bmon/poliwag.pic" +PoliwagPicBack:: INCBIN "pic/monback/poliwagb.pic" +JynxPicFront:: INCBIN "pic/bmon/jynx.pic" +JynxPicBack:: INCBIN "pic/monback/jynxb.pic" +MoltresPicFront:: INCBIN "pic/bmon/moltres.pic" +MoltresPicBack:: INCBIN "pic/monback/moltresb.pic" + + +SECTION "Pics 3", ROMX + +ArticunoPicFront:: INCBIN "pic/bmon/articuno.pic" +ArticunoPicBack:: INCBIN "pic/monback/articunob.pic" +ZapdosPicFront:: INCBIN "pic/bmon/zapdos.pic" +ZapdosPicBack:: INCBIN "pic/monback/zapdosb.pic" +DittoPicFront:: INCBIN "pic/bmon/ditto.pic" +DittoPicBack:: INCBIN "pic/monback/dittob.pic" +MeowthPicFront:: INCBIN "pic/bmon/meowth.pic" +MeowthPicBack:: INCBIN "pic/monback/meowthb.pic" +KrabbyPicFront:: INCBIN "pic/bmon/krabby.pic" +KrabbyPicBack:: INCBIN "pic/monback/krabbyb.pic" +VulpixPicFront:: INCBIN "pic/bmon/vulpix.pic" +VulpixPicBack:: INCBIN "pic/monback/vulpixb.pic" +NinetalesPicFront:: INCBIN "pic/bmon/ninetales.pic" +NinetalesPicBack:: INCBIN "pic/monback/ninetalesb.pic" +PikachuPicFront:: INCBIN "pic/bmon/pikachu.pic" +PikachuPicBack:: INCBIN "pic/monback/pikachub.pic" +RaichuPicFront:: INCBIN "pic/bmon/raichu.pic" +RaichuPicBack:: INCBIN "pic/monback/raichub.pic" +DratiniPicFront:: INCBIN "pic/bmon/dratini.pic" +DratiniPicBack:: INCBIN "pic/monback/dratinib.pic" +DragonairPicFront:: INCBIN "pic/bmon/dragonair.pic" +DragonairPicBack:: INCBIN "pic/monback/dragonairb.pic" +KabutoPicFront:: INCBIN "pic/bmon/kabuto.pic" +KabutoPicBack:: INCBIN "pic/monback/kabutob.pic" +KabutopsPicFront:: INCBIN "pic/bmon/kabutops.pic" +KabutopsPicBack:: INCBIN "pic/monback/kabutopsb.pic" +HorseaPicFront:: INCBIN "pic/bmon/horsea.pic" +HorseaPicBack:: INCBIN "pic/monback/horseab.pic" +SeadraPicFront:: INCBIN "pic/bmon/seadra.pic" +SeadraPicBack:: INCBIN "pic/monback/seadrab.pic" +SandshrewPicFront:: INCBIN "pic/bmon/sandshrew.pic" +SandshrewPicBack:: INCBIN "pic/monback/sandshrewb.pic" +SandslashPicFront:: INCBIN "pic/bmon/sandslash.pic" +SandslashPicBack:: INCBIN "pic/monback/sandslashb.pic" +OmanytePicFront:: INCBIN "pic/bmon/omanyte.pic" +OmanytePicBack:: INCBIN "pic/monback/omanyteb.pic" +OmastarPicFront:: INCBIN "pic/bmon/omastar.pic" +OmastarPicBack:: INCBIN "pic/monback/omastarb.pic" +JigglypuffPicFront:: INCBIN "pic/bmon/jigglypuff.pic" +JigglypuffPicBack:: INCBIN "pic/monback/jigglypuffb.pic" +WigglytuffPicFront:: INCBIN "pic/bmon/wigglytuff.pic" +WigglytuffPicBack:: INCBIN "pic/monback/wigglytuffb.pic" +EeveePicFront:: INCBIN "pic/bmon/eevee.pic" +EeveePicBack:: INCBIN "pic/monback/eeveeb.pic" +FlareonPicFront:: INCBIN "pic/bmon/flareon.pic" +FlareonPicBack:: INCBIN "pic/monback/flareonb.pic" +JolteonPicFront:: INCBIN "pic/bmon/jolteon.pic" +JolteonPicBack:: INCBIN "pic/monback/jolteonb.pic" +VaporeonPicFront:: INCBIN "pic/bmon/vaporeon.pic" +VaporeonPicBack:: INCBIN "pic/monback/vaporeonb.pic" +MachopPicFront:: INCBIN "pic/bmon/machop.pic" +MachopPicBack:: INCBIN "pic/monback/machopb.pic" +ZubatPicFront:: INCBIN "pic/bmon/zubat.pic" +ZubatPicBack:: INCBIN "pic/monback/zubatb.pic" +EkansPicFront:: INCBIN "pic/bmon/ekans.pic" +EkansPicBack:: INCBIN "pic/monback/ekansb.pic" +ParasPicFront:: INCBIN "pic/bmon/paras.pic" +ParasPicBack:: INCBIN "pic/monback/parasb.pic" +PoliwhirlPicFront:: INCBIN "pic/bmon/poliwhirl.pic" +PoliwhirlPicBack:: INCBIN "pic/monback/poliwhirlb.pic" +PoliwrathPicFront:: INCBIN "pic/bmon/poliwrath.pic" +PoliwrathPicBack:: INCBIN "pic/monback/poliwrathb.pic" +WeedlePicFront:: INCBIN "pic/bmon/weedle.pic" +WeedlePicBack:: INCBIN "pic/monback/weedleb.pic" +KakunaPicFront:: INCBIN "pic/bmon/kakuna.pic" +KakunaPicBack:: INCBIN "pic/monback/kakunab.pic" +BeedrillPicFront:: INCBIN "pic/bmon/beedrill.pic" +BeedrillPicBack:: INCBIN "pic/monback/beedrillb.pic" + +FossilKabutopsPic:: INCBIN "pic/bmon/fossilkabutops.pic" + + +SECTION "Pics 4", ROMX + +DodrioPicFront:: INCBIN "pic/bmon/dodrio.pic" +DodrioPicBack:: INCBIN "pic/monback/dodriob.pic" +PrimeapePicFront:: INCBIN "pic/bmon/primeape.pic" +PrimeapePicBack:: INCBIN "pic/monback/primeapeb.pic" +DugtrioPicFront:: INCBIN "pic/bmon/dugtrio.pic" +DugtrioPicBack:: INCBIN "pic/monback/dugtriob.pic" +VenomothPicFront:: INCBIN "pic/bmon/venomoth.pic" +VenomothPicBack:: INCBIN "pic/monback/venomothb.pic" +DewgongPicFront:: INCBIN "pic/bmon/dewgong.pic" +DewgongPicBack:: INCBIN "pic/monback/dewgongb.pic" +CaterpiePicFront:: INCBIN "pic/bmon/caterpie.pic" +CaterpiePicBack:: INCBIN "pic/monback/caterpieb.pic" +MetapodPicFront:: INCBIN "pic/bmon/metapod.pic" +MetapodPicBack:: INCBIN "pic/monback/metapodb.pic" +ButterfreePicFront:: INCBIN "pic/bmon/butterfree.pic" +ButterfreePicBack:: INCBIN "pic/monback/butterfreeb.pic" +MachampPicFront:: INCBIN "pic/bmon/machamp.pic" +MachampPicBack:: INCBIN "pic/monback/machampb.pic" +GolduckPicFront:: INCBIN "pic/bmon/golduck.pic" +GolduckPicBack:: INCBIN "pic/monback/golduckb.pic" +HypnoPicFront:: INCBIN "pic/bmon/hypno.pic" +HypnoPicBack:: INCBIN "pic/monback/hypnob.pic" +GolbatPicFront:: INCBIN "pic/bmon/golbat.pic" +GolbatPicBack:: INCBIN "pic/monback/golbatb.pic" +MewtwoPicFront:: INCBIN "pic/bmon/mewtwo.pic" +MewtwoPicBack:: INCBIN "pic/monback/mewtwob.pic" +SnorlaxPicFront:: INCBIN "pic/bmon/snorlax.pic" +SnorlaxPicBack:: INCBIN "pic/monback/snorlaxb.pic" +MagikarpPicFront:: INCBIN "pic/bmon/magikarp.pic" +MagikarpPicBack:: INCBIN "pic/monback/magikarpb.pic" +MukPicFront:: INCBIN "pic/bmon/muk.pic" +MukPicBack:: INCBIN "pic/monback/mukb.pic" +KinglerPicFront:: INCBIN "pic/bmon/kingler.pic" +KinglerPicBack:: INCBIN "pic/monback/kinglerb.pic" +CloysterPicFront:: INCBIN "pic/bmon/cloyster.pic" +CloysterPicBack:: INCBIN "pic/monback/cloysterb.pic" +ElectrodePicFront:: INCBIN "pic/bmon/electrode.pic" +ElectrodePicBack:: INCBIN "pic/monback/electrodeb.pic" +ClefablePicFront:: INCBIN "pic/bmon/clefable.pic" +ClefablePicBack:: INCBIN "pic/monback/clefableb.pic" +WeezingPicFront:: INCBIN "pic/bmon/weezing.pic" +WeezingPicBack:: INCBIN "pic/monback/weezingb.pic" +PersianPicFront:: INCBIN "pic/bmon/persian.pic" +PersianPicBack:: INCBIN "pic/monback/persianb.pic" +MarowakPicFront:: INCBIN "pic/bmon/marowak.pic" +MarowakPicBack:: INCBIN "pic/monback/marowakb.pic" +HaunterPicFront:: INCBIN "pic/bmon/haunter.pic" +HaunterPicBack:: INCBIN "pic/monback/haunterb.pic" +AbraPicFront:: INCBIN "pic/bmon/abra.pic" +AbraPicBack:: INCBIN "pic/monback/abrab.pic" +AlakazamPicFront:: INCBIN "pic/bmon/alakazam.pic" +AlakazamPicBack:: INCBIN "pic/monback/alakazamb.pic" +PidgeottoPicFront:: INCBIN "pic/bmon/pidgeotto.pic" +PidgeottoPicBack:: INCBIN "pic/monback/pidgeottob.pic" +PidgeotPicFront:: INCBIN "pic/bmon/pidgeot.pic" +PidgeotPicBack:: INCBIN "pic/monback/pidgeotb.pic" +StarmiePicFront:: INCBIN "pic/bmon/starmie.pic" +StarmiePicBack:: INCBIN "pic/monback/starmieb.pic" + +RedPicBack:: INCBIN "pic/trainer/redb.pic" +OldManPic:: INCBIN "pic/trainer/oldman.pic" + + +SECTION "Pics 5", ROMX + +BulbasaurPicFront:: INCBIN "pic/bmon/bulbasaur.pic" +BulbasaurPicBack:: INCBIN "pic/monback/bulbasaurb.pic" +VenusaurPicFront:: INCBIN "pic/bmon/venusaur.pic" +VenusaurPicBack:: INCBIN "pic/monback/venusaurb.pic" +TentacruelPicFront:: INCBIN "pic/bmon/tentacruel.pic" +TentacruelPicBack:: INCBIN "pic/monback/tentacruelb.pic" +GoldeenPicFront:: INCBIN "pic/bmon/goldeen.pic" +GoldeenPicBack:: INCBIN "pic/monback/goldeenb.pic" +SeakingPicFront:: INCBIN "pic/bmon/seaking.pic" +SeakingPicBack:: INCBIN "pic/monback/seakingb.pic" +PonytaPicFront:: INCBIN "pic/bmon/ponyta.pic" +RapidashPicFront:: INCBIN "pic/bmon/rapidash.pic" +PonytaPicBack:: INCBIN "pic/monback/ponytab.pic" +RapidashPicBack:: INCBIN "pic/monback/rapidashb.pic" +RattataPicFront:: INCBIN "pic/bmon/rattata.pic" +RattataPicBack:: INCBIN "pic/monback/rattatab.pic" +RaticatePicFront:: INCBIN "pic/bmon/raticate.pic" +RaticatePicBack:: INCBIN "pic/monback/raticateb.pic" +NidorinoPicFront:: INCBIN "pic/bmon/nidorino.pic" +NidorinoPicBack:: INCBIN "pic/monback/nidorinob.pic" +NidorinaPicFront:: INCBIN "pic/bmon/nidorina.pic" +NidorinaPicBack:: INCBIN "pic/monback/nidorinab.pic" +GeodudePicFront:: INCBIN "pic/bmon/geodude.pic" +GeodudePicBack:: INCBIN "pic/monback/geodudeb.pic" +PorygonPicFront:: INCBIN "pic/bmon/porygon.pic" +PorygonPicBack:: INCBIN "pic/monback/porygonb.pic" +AerodactylPicFront:: INCBIN "pic/bmon/aerodactyl.pic" +AerodactylPicBack:: INCBIN "pic/monback/aerodactylb.pic" +MagnemitePicFront:: INCBIN "pic/bmon/magnemite.pic" +MagnemitePicBack:: INCBIN "pic/monback/magnemiteb.pic" +CharmanderPicFront:: INCBIN "pic/bmon/charmander.pic" +CharmanderPicBack:: INCBIN "pic/monback/charmanderb.pic" +SquirtlePicFront:: INCBIN "pic/bmon/squirtle.pic" +SquirtlePicBack:: INCBIN "pic/monback/squirtleb.pic" +CharmeleonPicFront:: INCBIN "pic/bmon/charmeleon.pic" +CharmeleonPicBack:: INCBIN "pic/monback/charmeleonb.pic" +WartortlePicFront:: INCBIN "pic/bmon/wartortle.pic" +WartortlePicBack:: INCBIN "pic/monback/wartortleb.pic" +CharizardPicFront:: INCBIN "pic/bmon/charizard.pic" +CharizardPicBack:: INCBIN "pic/monback/charizardb.pic" +FossilAerodactylPic:: INCBIN "pic/bmon/fossilaerodactyl.pic" +GhostPic:: INCBIN "pic/other/ghost.pic" +OddishPicFront:: INCBIN "pic/bmon/oddish.pic" +OddishPicBack:: INCBIN "pic/monback/oddishb.pic" +GloomPicFront:: INCBIN "pic/bmon/gloom.pic" +GloomPicBack:: INCBIN "pic/monback/gloomb.pic" +VileplumePicFront:: INCBIN "pic/bmon/vileplume.pic" +VileplumePicBack:: INCBIN "pic/monback/vileplumeb.pic" +BellsproutPicFront:: INCBIN "pic/bmon/bellsprout.pic" +BellsproutPicBack:: INCBIN "pic/monback/bellsproutb.pic" +WeepinbellPicFront:: INCBIN "pic/bmon/weepinbell.pic" +WeepinbellPicBack:: INCBIN "pic/monback/weepinbellb.pic" +VictreebelPicFront:: INCBIN "pic/bmon/victreebel.pic" +VictreebelPicBack:: INCBIN "pic/monback/victreebelb.pic" + + +SECTION "Pics 6", ROMX + +TrainerPics:: +YoungsterPic:: INCBIN "pic/trainer/youngster.pic" +BugCatcherPic:: INCBIN "pic/trainer/bugcatcher.pic" +LassPic:: INCBIN "pic/trainer/lass.pic" +SailorPic:: INCBIN "pic/trainer/sailor.pic" +JrTrainerMPic:: INCBIN "pic/trainer/jr.trainerm.pic" +JrTrainerFPic:: INCBIN "pic/trainer/jr.trainerf.pic" +PokemaniacPic:: INCBIN "pic/trainer/pokemaniac.pic" +SuperNerdPic:: INCBIN "pic/trainer/supernerd.pic" +HikerPic:: INCBIN "pic/trainer/hiker.pic" +BikerPic:: INCBIN "pic/trainer/biker.pic" +BurglarPic:: INCBIN "pic/trainer/burglar.pic" +EngineerPic:: INCBIN "pic/trainer/engineer.pic" +FisherPic:: INCBIN "pic/trainer/fisher.pic" +SwimmerPic:: INCBIN "pic/trainer/swimmer.pic" +CueBallPic:: INCBIN "pic/trainer/cueball.pic" +GamblerPic:: INCBIN "pic/trainer/gambler.pic" +BeautyPic:: INCBIN "pic/trainer/beauty.pic" +PsychicPic:: INCBIN "pic/trainer/psychic.pic" +RockerPic:: INCBIN "pic/trainer/rocker.pic" +JugglerPic:: INCBIN "pic/trainer/juggler.pic" +TamerPic:: INCBIN "pic/trainer/tamer.pic" +BirdKeeperPic:: INCBIN "pic/trainer/birdkeeper.pic" +BlackbeltPic:: INCBIN "pic/trainer/blackbelt.pic" +Rival1Pic:: INCBIN "pic/trainer/rival1.pic" +ProfOakPic:: INCBIN "pic/trainer/prof.oak.pic" +ChiefPic:: +ScientistPic:: INCBIN "pic/trainer/scientist.pic" +GiovanniPic:: INCBIN "pic/trainer/giovanni.pic" +RocketPic:: INCBIN "pic/trainer/rocket.pic" +CooltrainerMPic:: INCBIN "pic/trainer/cooltrainerm.pic" +CooltrainerFPic:: INCBIN "pic/trainer/cooltrainerf.pic" +BrunoPic:: INCBIN "pic/trainer/bruno.pic" +BrockPic:: INCBIN "pic/trainer/brock.pic" +MistyPic:: INCBIN "pic/trainer/misty.pic" +LtSurgePic:: INCBIN "pic/trainer/lt.surge.pic" +ErikaPic:: INCBIN "pic/trainer/erika.pic" +KogaPic:: INCBIN "pic/trainer/koga.pic" +BlainePic:: INCBIN "pic/trainer/blaine.pic" +SabrinaPic:: INCBIN "pic/trainer/sabrina.pic" +GentlemanPic:: INCBIN "pic/trainer/gentleman.pic" +Rival2Pic:: INCBIN "pic/trainer/rival2.pic" +Rival3Pic:: INCBIN "pic/trainer/rival3.pic" +LoreleiPic:: INCBIN "pic/trainer/lorelei.pic" +ChannelerPic:: INCBIN "pic/trainer/channeler.pic" +AgathaPic:: INCBIN "pic/trainer/agatha.pic" +LancePic:: INCBIN "pic/trainer/lance.pic" diff --git a/pokered.link b/pokered.link deleted file mode 100644 index 2c110d4c..00000000 --- a/pokered.link +++ /dev/null @@ -1,273 +0,0 @@ -ROM0 - org $0000 - "rst 00" - - org $0008 - "rst 08" - - org $0010 - "rst 10" - - org $0018 - "rst 18" - - org $0020 - "rst 20" - - org $0028 - "rst 28" - - org $0030 - "rst 30" - - org $0038 - "rst 38" - - org $0040 - "vblank" - - org $0048 - "hblank" - - org $0050 - "timer" - - org $0058 - "serial" - - org $0060 - "joypad" - ; $0061 - "Home" - - org $100 - "Entry" - ; $0104 - "Header" - - org $150 - "Main" - -ROMX $1 - org $4000 - "bank1" - -ROMX $2 - org $4000 - "Sound Effect Headers 1" ; AUDIO_1 - "Music Headers 1" - "Sound Effects 1" - "Audio Engine 1" - "Music 1" - -ROMX $3 - org $4000 - "bank3" - -ROMX $4 - org $4000 - "NPC Sprites 1" ; NPC_SPRITES_1 - "Graphics (BANK 4)" ; GFX - "Battle (BANK 4)" - -ROMX $5 - org $4000 - "NPC Sprites 2" ; NPC_SPRITES_2 - "Battle (BANK 5)" - -ROMX $6 - org $4000 - "bank6" - -ROMX $7 - org $4000 - "bank7" - -ROMX $8 - org $4000 - "Sound Effect Headers 2" ; AUDIO_2 - "Music Headers 2" - "Sound Effects 2" - "Audio Engine 2" - "Music 2" - -ROMX $9 - org $4000 - "Pics 1" ; PICS_1 - "Battle (BANK 9)" - -ROMX $A - org $4000 - "Pics 2" ; PICS_2 - "Battle (BANK A)" - -ROMX $B - org $4000 - "Pics 3" ; PICS_3 - "Battle (BANK B)" - -ROMX $C - org $4000 - "Pics 4" ; PICS_4 - "Battle (BANK C)" - -ROMX $D - org $4000 - "Pics 5" ; PICS_5 - "Battle (BANK D)" - -ROMX $E - org $4000 - "bankE" - -ROMX $F - org $4000 - "bankF" - -ROMX $10 - org $4000 - "bank10" - -ROMX $11 - org $4000 - "bank11" - -ROMX $12 - org $4000 - "bank12" - -ROMX $13 - org $4000 - "bank13" - -ROMX $14 - org $4000 - "bank14" - -ROMX $15 - org $4000 - "bank15" - -ROMX $16 - org $4000 - "bank16" - -ROMX $17 - org $4000 - "bank17" - -ROMX $18 - org $4000 - "bank18" - -ROMX $19 - org $4000 - "bank19" - -ROMX $1A - org $4000 - "bank1A" - -ROMX $1B - org $4000 - "bank1B" - -ROMX $1C - org $4000 - "bank1C" - -ROMX $1D - org $4000 - "bank1D" - -ROMX $1E - org $4000 - "bank1E" - -ROMX $1F - org $4000 - "Sound Effect Headers 3" ; AUDIO_3 - "Music Headers 3" - "Sound Effects 3" - "Audio Engine 3" - "Music 3" - -ROMX $20 - org $4000 - "Text 1" ; TEXT_1 - -ROMX $21 - org $4000 - "Text 2" ; TEXT_2 - -ROMX $22 - org $4000 - "Text 3" ; TEXT_3 - -ROMX $23 - org $4000 - "Text 4" ; TEXT_4 - -ROMX $24 - org $4000 - "Text 5" ; TEXT_5 - -ROMX $25 - org $4000 - "Text 6" ; TEXT_6 - -ROMX $26 - org $4000 - "Text 7" ; TEXT_7 - -ROMX $27 - org $4000 - "Text 8" ; TEXT_8 - -ROMX $28 - org $4000 - "Text 9" ; TEXT_9 - -ROMX $29 - org $4000 - "Text 10" ; TEXT_10 - -ROMX $2A - org $4000 - "Text 11" ; TEXT_11 - -ROMX $2B - org $4000 - "Pokedex Text" ; POKEDEX_TEXT - -ROMX $2C - org $4000 - "Move Names" ; MOVE_NAMES - -WRAM0 - org $c000 - "WRAM Bank 0" - - org $c100 - "Sprite State Data" - "OAM Buffer" - - org $dfff - "Stack" - -SRAM 0 - org $a000 - "Sprite Buffers" - -SRAM 1 - org $a000 - "Save Data" - -SRAM 2 - org $a000 - "Saved Boxes 1" - -SRAM 3 - org $a000 - "Saved Boxes 2" - diff --git a/scripts/PokemonMansion1F.asm b/scripts/PokemonMansion1F.asm index 41f40635..028097af 100755 --- a/scripts/PokemonMansion1F.asm +++ b/scripts/PokemonMansion1F.asm @@ -45,7 +45,7 @@ Mansion1ReplaceBlock: predef ReplaceTileBlock ret -Mansion1Script_Switches: +Mansion1Script_Switches:: ld a, [wSpriteStateData1 + 9] cp SPRITE_FACING_UP ret nz diff --git a/scripts/PokemonMansion2F.asm b/scripts/PokemonMansion2F.asm index a7b90bcd..f5643dad 100755 --- a/scripts/PokemonMansion2F.asm +++ b/scripts/PokemonMansion2F.asm @@ -41,7 +41,7 @@ Mansion2Script_5202f: ld [wNewTileBlockID], a predef_jump ReplaceTileBlock -Mansion2Script_Switches: +Mansion2Script_Switches:: ld a, [wSpriteStateData1 + 9] cp SPRITE_FACING_UP ret nz diff --git a/scripts/PokemonMansion3F.asm b/scripts/PokemonMansion3F.asm index ff172413..532394d4 100755 --- a/scripts/PokemonMansion3F.asm +++ b/scripts/PokemonMansion3F.asm @@ -72,7 +72,7 @@ Mansion3Script_5225b: set 4, [hl] ret -Mansion3Script_Switches: +Mansion3Script_Switches:: ld a, [wSpriteStateData1 + 9] cp SPRITE_FACING_UP ret nz diff --git a/scripts/PokemonMansionB1F.asm b/scripts/PokemonMansionB1F.asm index 887b4762..f8a20590 100755 --- a/scripts/PokemonMansionB1F.asm +++ b/scripts/PokemonMansionB1F.asm @@ -43,7 +43,7 @@ Mansion4Script_523cf: call Mansion2Script_5202f ret -Mansion4Script_Switches: +Mansion4Script_Switches:: ld a, [wSpriteStateData1 + 9] cp SPRITE_FACING_UP ret nz diff --git a/scripts/RocketHideoutB2F.asm b/scripts/RocketHideoutB2F.asm index 1b487df2..7805f67a 100755 --- a/scripts/RocketHideoutB2F.asm +++ b/scripts/RocketHideoutB2F.asm @@ -313,7 +313,7 @@ RocketHideout2Script3: ld [wCurMapScript], a ret -LoadSpinnerArrowTiles: +LoadSpinnerArrowTiles:: ld a, [wSpriteStateData1 + 2] srl a srl a diff --git a/sprites.asm b/sprites.asm new file mode 100644 index 00000000..4548bbe3 --- /dev/null +++ b/sprites.asm @@ -0,0 +1,73 @@ +SECTION "NPC Sprites 1", ROMX + +OakAideSprite:: INCBIN "gfx/sprites/oak_aide.2bpp" +RockerSprite:: INCBIN "gfx/sprites/rocker.2bpp" +SwimmerSprite:: INCBIN "gfx/sprites/swimmer.2bpp" +WhitePlayerSprite:: INCBIN "gfx/sprites/white_player.2bpp" +GymHelperSprite:: INCBIN "gfx/sprites/gym_helper.2bpp" +OldPersonSprite:: INCBIN "gfx/sprites/old_person.2bpp" +MartGuySprite:: INCBIN "gfx/sprites/mart_guy.2bpp" +FisherSprite:: INCBIN "gfx/sprites/fisher.2bpp" +OldMediumWomanSprite:: INCBIN "gfx/sprites/old_medium_woman.2bpp" +NurseSprite:: INCBIN "gfx/sprites/nurse.2bpp" +CableClubWomanSprite:: INCBIN "gfx/sprites/cable_club_woman.2bpp" +MrMasterballSprite:: INCBIN "gfx/sprites/mr_masterball.2bpp" +LaprasGiverSprite:: INCBIN "gfx/sprites/lapras_giver.2bpp" +WardenSprite:: INCBIN "gfx/sprites/warden.2bpp" +SsCaptainSprite:: INCBIN "gfx/sprites/ss_captain.2bpp" +Fisher2Sprite:: INCBIN "gfx/sprites/fisher2.2bpp" +BlackbeltSprite:: INCBIN "gfx/sprites/blackbelt.2bpp" +GuardSprite:: INCBIN "gfx/sprites/guard.2bpp" +BallSprite:: INCBIN "gfx/sprites/ball.2bpp" +OmanyteSprite:: INCBIN "gfx/sprites/omanyte.2bpp" +BoulderSprite:: INCBIN "gfx/sprites/boulder.2bpp" +PaperSheetSprite:: INCBIN "gfx/sprites/paper_sheet.2bpp" +BookMapDexSprite:: INCBIN "gfx/sprites/book_map_dex.2bpp" +ClipboardSprite:: INCBIN "gfx/sprites/clipboard.2bpp" +SnorlaxSprite:: INCBIN "gfx/sprites/snorlax.2bpp" +OldAmberSprite:: INCBIN "gfx/sprites/old_amber.2bpp" +LyingOldManSprite:: INCBIN "gfx/sprites/lying_old_man.2bpp" + + +SECTION "NPC Sprites 2", ROMX + +RedCyclingSprite:: INCBIN "gfx/sprites/cycling.2bpp" +RedSprite:: INCBIN "gfx/sprites/red.2bpp" +BlueSprite:: INCBIN "gfx/sprites/blue.2bpp" +OakSprite:: INCBIN "gfx/sprites/oak.2bpp" +BugCatcherSprite:: INCBIN "gfx/sprites/bug_catcher.2bpp" +SlowbroSprite:: INCBIN "gfx/sprites/slowbro.2bpp" +LassSprite:: INCBIN "gfx/sprites/lass.2bpp" +BlackHairBoy1Sprite:: INCBIN "gfx/sprites/black_hair_boy_1.2bpp" +LittleGirlSprite:: INCBIN "gfx/sprites/little_girl.2bpp" +BirdSprite:: INCBIN "gfx/sprites/bird.2bpp" +FatBaldGuySprite:: INCBIN "gfx/sprites/fat_bald_guy.2bpp" +GamblerSprite:: INCBIN "gfx/sprites/gambler.2bpp" +BlackHairBoy2Sprite:: INCBIN "gfx/sprites/black_hair_boy_2.2bpp" +GirlSprite:: INCBIN "gfx/sprites/girl.2bpp" +HikerSprite:: INCBIN "gfx/sprites/hiker.2bpp" +FoulardWomanSprite:: INCBIN "gfx/sprites/foulard_woman.2bpp" +GentlemanSprite:: INCBIN "gfx/sprites/gentleman.2bpp" +DaisySprite:: INCBIN "gfx/sprites/daisy.2bpp" +BikerSprite:: INCBIN "gfx/sprites/biker.2bpp" +SailorSprite:: INCBIN "gfx/sprites/sailor.2bpp" +CookSprite:: INCBIN "gfx/sprites/cook.2bpp" +BikeShopGuySprite:: INCBIN "gfx/sprites/bike_shop_guy.2bpp" +MrFujiSprite:: INCBIN "gfx/sprites/mr_fuji.2bpp" +GiovanniSprite:: INCBIN "gfx/sprites/giovanni.2bpp" +RocketSprite:: INCBIN "gfx/sprites/rocket.2bpp" +MediumSprite:: INCBIN "gfx/sprites/medium.2bpp" +WaiterSprite:: INCBIN "gfx/sprites/waiter.2bpp" +ErikaSprite:: INCBIN "gfx/sprites/erika.2bpp" +MomGeishaSprite:: INCBIN "gfx/sprites/mom_geisha.2bpp" +BrunetteGirlSprite:: INCBIN "gfx/sprites/brunette_girl.2bpp" +LanceSprite:: INCBIN "gfx/sprites/lance.2bpp" +MomSprite:: INCBIN "gfx/sprites/mom.2bpp" +BaldingGuySprite:: INCBIN "gfx/sprites/balding_guy.2bpp" +YoungBoySprite:: INCBIN "gfx/sprites/young_boy.2bpp" +GameboyKidSprite:: INCBIN "gfx/sprites/gameboy_kid.2bpp" +ClefairySprite:: INCBIN "gfx/sprites/clefairy.2bpp" +AgathaSprite:: INCBIN "gfx/sprites/agatha.2bpp" +BrunoSprite:: INCBIN "gfx/sprites/bruno.2bpp" +LoreleiSprite:: INCBIN "gfx/sprites/lorelei.2bpp" +SeelSprite:: INCBIN "gfx/sprites/seel.2bpp" diff --git a/text.asm b/text.asm index a97ac7c0..a426de39 100644 --- a/text.asm +++ b/text.asm @@ -1,28 +1,12 @@ -INCLUDE "charmap.asm" - -INCLUDE "constants/text_constants.asm" - -TEXT_1 EQU $20 -TEXT_2 EQU TEXT_1 + 1 -TEXT_3 EQU TEXT_2 + 1 -TEXT_4 EQU TEXT_3 + 1 -TEXT_5 EQU TEXT_4 + 1 -TEXT_6 EQU TEXT_5 + 1 -TEXT_7 EQU TEXT_6 + 1 -TEXT_8 EQU TEXT_7 + 1 -TEXT_9 EQU TEXT_8 + 1 -TEXT_10 EQU TEXT_9 + 1 -TEXT_11 EQU TEXT_10 + 1 - -POKEDEX_TEXT EQU TEXT_11 + 1 -MOVE_NAMES EQU POKEDEX_TEXT + 1 - INCLUDE "macros.asm" +INCLUDE "charmap.asm" INCLUDE "hram.asm" +INCLUDE "constants/text_constants.asm" + -SECTION "Text 1", ROMX ; BANK $20 +SECTION "Text 1", ROMX _CardKeySuccessText1:: text "Bingo!@@" @@ -195,7 +179,7 @@ INCLUDE "text/maps/SilphCo4F.asm" INCLUDE "text/maps/SilphCo5F.asm" -SECTION "Text 2", ROMX ; BANK $21 +SECTION "Text 2", ROMX INCLUDE "text/maps/SilphCo5F_2.asm" INCLUDE "text/maps/SilphCo6F.asm" @@ -227,7 +211,7 @@ INCLUDE "text/maps/AgathasRoom.asm" INCLUDE "text/maps/RockTunnelB1F.asm" -SECTION "Text 3", ROMX ; BANK $22 +SECTION "Text 3", ROMX INCLUDE "text/maps/RockTunnelB1F_2.asm" INCLUDE "text/maps/SeafoamIslandsB4F.asm" @@ -1942,7 +1926,7 @@ INCLUDE "text/maps/SaffronGates.asm" INCLUDE "text/maps/Daycare.asm" -SECTION "Text 4", ROMX ; BANK $23 +SECTION "Text 4", ROMX INCLUDE "text/maps/Daycare_2.asm" INCLUDE "text/maps/UndergroundPathRoute6.asm" @@ -1981,7 +1965,7 @@ INCLUDE "text/maps/Route10.asm" INCLUDE "text/maps/Route11.asm" -SECTION "Text 5", ROMX ; BANK $24 +SECTION "Text 5", ROMX INCLUDE "text/maps/Route11_2.asm" INCLUDE "text/maps/Route12.asm" @@ -1999,7 +1983,7 @@ INCLUDE "text/maps/Route23.asm" INCLUDE "text/maps/Route24.asm" -SECTION "Text 6", ROMX ; BANK $25 +SECTION "Text 6", ROMX INCLUDE "text/maps/Route24_2.asm" INCLUDE "text/maps/Route25.asm" @@ -2342,7 +2326,7 @@ INCLUDE "text/maps/Museum2F.asm" INCLUDE "text/maps/PewterGym.asm" -SECTION "Text 7", ROMX ; BANK $26 +SECTION "Text 7", ROMX INCLUDE "text/maps/PewterGym_2.asm" INCLUDE "text/maps/PewterNidoranHouse.asm" @@ -2374,7 +2358,7 @@ INCLUDE "text/maps/VermilionMart.asm" INCLUDE "text/maps/VermilionGym.asm" -SECTION "Text 8", ROMX ; BANK $27 +SECTION "Text 8", ROMX INCLUDE "text/maps/VermilionGym_2.asm" INCLUDE "text/maps/VermilionPidgeyHouse.asm" @@ -2406,7 +2390,7 @@ INCLUDE "text/maps/SafariZoneGate.asm" INCLUDE "text/maps/FuchsiaGym.asm" -SECTION "Text 9", ROMX ; BANK $28 +SECTION "Text 9", ROMX INCLUDE "text/maps/FuchsiaGym_2.asm" INCLUDE "text/maps/FuchsiaMeetingRoom.asm" @@ -2649,7 +2633,7 @@ _CableClubNPCLinkClosedBecauseOfInactivityText:: done -SECTION "Text 10", ROMX ; BANK $29 +SECTION "Text 10", ROMX _CableClubNPCPleaseComeAgainText:: text "Please come again!" @@ -2995,7 +2979,7 @@ _BoxFullCannotThrowBallText:: prompt -SECTION "Text 11", ROMX ; BANK $2a +SECTION "Text 11", ROMX _ItemUseText001:: text " used@@" @@ -3195,11 +3179,11 @@ _UsedCutText:: prompt -SECTION "Pokedex Text", ROMX ; BANK $2b +SECTION "Pokedex Text", ROMX INCLUDE "text/pokedex.asm" -SECTION "Move Names", ROMX ; BANK $2c +SECTION "Move Names", ROMX INCLUDE "text/move_names.asm" diff --git a/text/item_names.asm b/text/item_names.asm index e436d74d..0c07fe5d 100755 --- a/text/item_names.asm +++ b/text/item_names.asm @@ -1,4 +1,4 @@ -ItemNames: +ItemNames:: db "MASTER BALL@" db "ULTRA BALL@" db "GREAT BALL@" diff --git a/text/monster_names.asm b/text/monster_names.asm index a62b1bd9..83a45b77 100755 --- a/text/monster_names.asm +++ b/text/monster_names.asm @@ -1,4 +1,4 @@ -MonsterNames: +MonsterNames:: db "RHYDON@@@@" db "KANGASKHAN" db "NIDORAN♂@@" diff --git a/text/trainer_names.asm b/text/trainer_names.asm index 7736738b..d8e1f550 100755 --- a/text/trainer_names.asm +++ b/text/trainer_names.asm @@ -1,4 +1,4 @@ -TrainerNames: +TrainerNames:: db "YOUNGSTER@" db "BUG CATCHER@" db "LASS@" diff --git a/tilesets.asm b/tilesets.asm new file mode 100644 index 00000000..01a8f933 --- /dev/null +++ b/tilesets.asm @@ -0,0 +1,64 @@ +SECTION "Tilesets 1", ROMX + +Overworld_GFX:: INCBIN "gfx/tilesets/overworld.2bpp" +Overworld_Block:: INCBIN "gfx/blocksets/overworld.bst" + +RedsHouse1_GFX:: +RedsHouse2_GFX:: INCBIN "gfx/tilesets/reds_house.2bpp" + ds 16 +RedsHouse1_Block:: +RedsHouse2_Block:: INCBIN "gfx/blocksets/reds_house.bst" + +House_GFX:: INCBIN "gfx/tilesets/house.2bpp" +House_Block:: INCBIN "gfx/blocksets/house.bst" +Mansion_GFX:: INCBIN "gfx/tilesets/mansion.2bpp" +Mansion_Block:: INCBIN "gfx/blocksets/mansion.bst" +ShipPort_GFX:: INCBIN "gfx/tilesets/ship_port.2bpp" +ShipPort_Block:: INCBIN "gfx/blocksets/ship_port.bst" +Interior_GFX:: INCBIN "gfx/tilesets/interior.2bpp" +Interior_Block:: INCBIN "gfx/blocksets/interior.bst" +Plateau_GFX:: INCBIN "gfx/tilesets/plateau.2bpp" +Plateau_Block:: INCBIN "gfx/blocksets/plateau.bst" + + +SECTION "Tilesets 2", ROMX + +Dojo_GFX:: +Gym_GFX:: INCBIN "gfx/tilesets/gym.2bpp" +Dojo_Block:: +Gym_Block:: INCBIN "gfx/blocksets/gym.bst" + +Mart_GFX:: +Pokecenter_GFX:: INCBIN "gfx/tilesets/pokecenter.2bpp" +Mart_Block:: +Pokecenter_Block:: INCBIN "gfx/blocksets/pokecenter.bst" + +ForestGate_GFX:: +Museum_GFX:: +Gate_GFX:: INCBIN "gfx/tilesets/gate.2bpp" +ForestGate_Block:: +Museum_Block:: +Gate_Block:: INCBIN "gfx/blocksets/gate.bst" + +Forest_GFX:: INCBIN "gfx/tilesets/forest.2bpp" +Forest_Block:: INCBIN "gfx/blocksets/forest.bst" +Facility_GFX:: INCBIN "gfx/tilesets/facility.2bpp" +Facility_Block:: INCBIN "gfx/blocksets/facility.bst" + + +SECTION "Tilesets 3", ROMX + +Cemetery_GFX:: INCBIN "gfx/tilesets/cemetery.2bpp" +Cemetery_Block:: INCBIN "gfx/blocksets/cemetery.bst" +Cavern_GFX:: INCBIN "gfx/tilesets/cavern.2bpp" +Cavern_Block:: INCBIN "gfx/blocksets/cavern.bst" +Lobby_GFX:: INCBIN "gfx/tilesets/lobby.2bpp" +Lobby_Block:: INCBIN "gfx/blocksets/lobby.bst" +Ship_GFX:: INCBIN "gfx/tilesets/ship.2bpp" +Ship_Block:: INCBIN "gfx/blocksets/ship.bst" +Lab_GFX:: INCBIN "gfx/tilesets/lab.2bpp" +Lab_Block:: INCBIN "gfx/blocksets/lab.bst" +Club_GFX:: INCBIN "gfx/tilesets/club.2bpp" +Club_Block:: INCBIN "gfx/blocksets/club.bst" +Underground_GFX:: INCBIN "gfx/tilesets/underground.2bpp" +Underground_Block:: INCBIN "gfx/blocksets/underground.bst" -- cgit v1.2.3 From d5089d3c623e2b147b035cf12569810d604bf47d Mon Sep 17 00:00:00 2001 From: Rangi Date: Sat, 27 Jun 2020 16:27:30 -0400 Subject: Organize gfx/ --- .gitattributes | 2 +- Makefile | 23 ++++++++------ data/sgb_border.asm | 8 ++--- engine/HoF_room_pc.asm | 2 +- engine/battle/animations.asm | 10 +++--- engine/battle/battle_transitions.asm | 2 +- engine/battle/draw_hud_pokeball_gfx.asm | 2 +- engine/gamefreak.asm | 2 +- engine/intro.asm | 24 +++++++------- engine/menu/draw_badges.asm | 2 +- engine/menu/naming_screen.asm | 2 +- engine/menu/status_screen.asm | 4 +-- engine/mon_party_sprites.asm | 2 +- engine/overworld/emotion_bubbles.asm | 10 +++--- engine/overworld/healing_machine.asm | 2 +- engine/overworld/ledges.asm | 2 +- engine/overworld/ssanne.asm | 2 +- engine/slot_machine.asm | 6 ++-- engine/town_map.asm | 9 +++--- gfx/AB.png | Bin 90 -> 0 bytes gfx/ED_tile.png | Bin 79 -> 0 bytes gfx/attack_anim_1.png | Bin 1042 -> 0 bytes gfx/attack_anim_2.png | Bin 999 -> 0 bytes gfx/badge_numbers.png | Bin 135 -> 0 bytes gfx/badges.png | Bin 924 -> 0 bytes gfx/battle/attack_anim_1.png | Bin 0 -> 977 bytes gfx/battle/attack_anim_2.png | Bin 0 -> 936 bytes gfx/battle/balls.png | Bin 0 -> 115 bytes gfx/battle/battle_hud_1.png | Bin 0 -> 102 bytes gfx/battle/battle_hud_2.png | Bin 0 -> 88 bytes gfx/battle/battle_hud_3.png | Bin 0 -> 93 bytes gfx/battle/minimize.png | Bin 0 -> 74 bytes gfx/battle_hud1.png | Bin 94 -> 0 bytes gfx/battle_hud2.png | Bin 79 -> 0 bytes gfx/battle_hud3.png | Bin 88 -> 0 bytes gfx/battle_transition.png | Bin 68 -> 0 bytes gfx/blank_leader_names.png | Bin 73 -> 0 bytes gfx/blue/blueversion.png | Bin 116 -> 0 bytes gfx/blue/intro_purin_1.png | Bin 366 -> 0 bytes gfx/blue/intro_purin_2.png | Bin 360 -> 0 bytes gfx/blue/intro_purin_3.png | Bin 416 -> 0 bytes gfx/blue/sgbborder.map | Bin 1792 -> 0 bytes gfx/blue/sgbborder.png | Bin 1117 -> 0 bytes gfx/blue/slotmachine1.png | Bin 459 -> 0 bytes gfx/blue/slotmachine2.png | Bin 314 -> 0 bytes gfx/circle_tile.png | Bin 81 -> 0 bytes gfx/copyright.png | Bin 220 -> 0 bytes gfx/emotes/happy.png | Bin 0 -> 125 bytes gfx/emotes/question.png | Bin 0 -> 124 bytes gfx/emotes/shock.png | Bin 0 -> 110 bytes gfx/emotion_bubbles.png | Bin 149 -> 0 bytes gfx/falling_star.png | Bin 90 -> 0 bytes gfx/font.png | Bin 625 -> 0 bytes gfx/font/AB.png | Bin 0 -> 90 bytes gfx/font/ED.png | Bin 0 -> 79 bytes gfx/font/P.png | Bin 0 -> 77 bytes gfx/font/font.png | Bin 0 -> 625 bytes gfx/font/font_battle_extra.png | Bin 0 -> 252 bytes gfx/font/font_extra.png | Bin 0 -> 283 bytes gfx/game_boy.png | Bin 246 -> 0 bytes gfx/gamefreak.png | Bin 147 -> 0 bytes gfx/gamefreak_intro.png | Bin 180 -> 0 bytes gfx/gamefreak_logo.png | Bin 139 -> 0 bytes gfx/hp_bar_and_status.png | Bin 262 -> 0 bytes gfx/intro_credits/blue_jigglypuff_1.png | Bin 0 -> 366 bytes gfx/intro_credits/blue_jigglypuff_2.png | Bin 0 -> 360 bytes gfx/intro_credits/blue_jigglypuff_3.png | Bin 0 -> 416 bytes gfx/intro_credits/copyright.png | Bin 0 -> 220 bytes gfx/intro_credits/falling_star.png | Bin 0 -> 90 bytes gfx/intro_credits/gamefreak_logo.png | Bin 0 -> 139 bytes gfx/intro_credits/gamefreak_presents.png | Bin 0 -> 180 bytes gfx/intro_credits/gengar.png | Bin 0 -> 1082 bytes gfx/intro_credits/red_nidorino_1.png | Bin 0 -> 462 bytes gfx/intro_credits/red_nidorino_2.png | Bin 0 -> 449 bytes gfx/intro_credits/red_nidorino_3.png | Bin 0 -> 495 bytes gfx/intro_credits/the_end.png | Bin 0 -> 139 bytes gfx/intro_fight.png | Bin 1099 -> 0 bytes gfx/ledge_hopping_shadow.png | Bin 77 -> 0 bytes gfx/link_cable.png | Bin 207 -> 0 bytes gfx/minimized_mon_sprite.png | Bin 74 -> 0 bytes gfx/mon_nest_icon.png | Bin 80 -> 0 bytes gfx/mon_ow_sprites.png | Bin 324 -> 0 bytes gfx/overworld/battle_transition.png | Bin 0 -> 68 bytes gfx/overworld/fishing_rod.png | Bin 0 -> 108 bytes gfx/overworld/heal_machine.png | Bin 0 -> 93 bytes gfx/overworld/red_fish_back.png | Bin 0 -> 114 bytes gfx/overworld/red_fish_front.png | Bin 0 -> 107 bytes gfx/overworld/red_fish_side.png | Bin 0 -> 111 bytes gfx/overworld/shadow.png | Bin 0 -> 77 bytes gfx/overworld/smoke.png | Bin 0 -> 90 bytes gfx/overworld/spinners.png | Bin 0 -> 131 bytes gfx/p_tile.png | Bin 77 -> 0 bytes gfx/player_title.png | Bin 450 -> 0 bytes gfx/pokeball.png | Bin 124 -> 0 bytes gfx/pokecenter_ball.png | Bin 93 -> 0 bytes gfx/pokedex.png | Bin 179 -> 0 bytes gfx/pokedex/mon_nest_icon.png | Bin 0 -> 80 bytes gfx/pokedex/pokedex.png | Bin 0 -> 179 bytes gfx/pokemon_logo.png | Bin 926 -> 0 bytes gfx/red/intro_nido_1.png | Bin 462 -> 0 bytes gfx/red/intro_nido_2.png | Bin 449 -> 0 bytes gfx/red/intro_nido_3.png | Bin 495 -> 0 bytes gfx/red/redgreenversion.png | Bin 126 -> 0 bytes gfx/red/sgbborder.map | Bin 1792 -> 0 bytes gfx/red/sgbborder.png | Bin 1048 -> 0 bytes gfx/red/slotmachine1.png | Bin 471 -> 0 bytes gfx/red/slotmachine2.png | Bin 346 -> 0 bytes gfx/red_fishing_tile_back.png | Bin 114 -> 0 bytes gfx/red_fishing_tile_front.png | Bin 107 -> 0 bytes gfx/red_fishing_tile_side.png | Bin 111 -> 0 bytes gfx/red_fishingrod_tiles.png | Bin 108 -> 0 bytes gfx/sgb/blue_border.png | Bin 0 -> 1117 bytes gfx/sgb/blue_border.tilemap | Bin 0 -> 1792 bytes gfx/sgb/red_border.png | Bin 0 -> 1048 bytes gfx/sgb/red_border.tilemap | Bin 0 -> 1792 bytes gfx/slots/blue_slots_1.png | Bin 0 -> 459 bytes gfx/slots/blue_slots_2.png | Bin 0 -> 314 bytes gfx/slots/red_slots_1.png | Bin 0 -> 471 bytes gfx/slots/red_slots_2.png | Bin 0 -> 346 bytes gfx/slots/slots.tilemap | Bin 0 -> 236 bytes gfx/spinner_arrow.png | Bin 131 -> 0 bytes gfx/ss_anne_smoke_puff.png | Bin 90 -> 0 bytes gfx/text_box.png | Bin 295 -> 0 bytes gfx/theend.png | Bin 139 -> 0 bytes gfx/tilemaps/slotmachine.map | Bin 240 -> 0 bytes gfx/title/blue_version.png | Bin 0 -> 116 bytes gfx/title/gamefreak_inc.png | Bin 0 -> 147 bytes gfx/title/player.png | Bin 0 -> 450 bytes gfx/title/pokemon_logo.png | Bin 0 -> 926 bytes gfx/title/red_version.png | Bin 0 -> 126 bytes gfx/town_map.png | Bin 256 -> 0 bytes gfx/town_map.rle | Bin 171 -> 0 bytes gfx/town_map/town_map.png | Bin 0 -> 256 bytes gfx/town_map/town_map.rle | Bin 0 -> 171 bytes gfx/town_map/town_map_cursor.png | Bin 0 -> 82 bytes gfx/town_map/up_arrow.png | Bin 0 -> 80 bytes gfx/town_map_cursor.png | Bin 82 -> 0 bytes gfx/trade/cable_ball.png | Bin 0 -> 126 bytes gfx/trade/game_boy.png | Bin 0 -> 246 bytes gfx/trade/link_cable.png | Bin 0 -> 207 bytes gfx/trade/mon_ow_sprites.png | Bin 0 -> 324 bytes gfx/trade2.png | Bin 126 -> 0 bytes gfx/trainer_card/badge_numbers.png | Bin 0 -> 135 bytes gfx/trainer_card/badges.png | Bin 0 -> 924 bytes gfx/trainer_card/blank_leader_names.png | Bin 0 -> 73 bytes gfx/trainer_card/circle_tile.png | Bin 0 -> 81 bytes gfx/trainer_card/trainer_info.png | Bin 0 -> 175 bytes gfx/trainer_info.png | Bin 175 -> 0 bytes gfx/up_arrow.png | Bin 80 -> 0 bytes gfx/yellow/slotmachine1.png | Bin 470 -> 0 bytes gfx/yellow/slotmachine2.png | Bin 379 -> 0 bytes main.asm | 52 +++++++++++++++---------------- scripts/RocketHideoutB2F.asm | 2 +- tilesets.asm | 2 +- 154 files changed, 88 insertions(+), 84 deletions(-) delete mode 100644 gfx/AB.png delete mode 100644 gfx/ED_tile.png delete mode 100644 gfx/attack_anim_1.png delete mode 100644 gfx/attack_anim_2.png delete mode 100644 gfx/badge_numbers.png delete mode 100644 gfx/badges.png create mode 100644 gfx/battle/attack_anim_1.png create mode 100644 gfx/battle/attack_anim_2.png create mode 100644 gfx/battle/balls.png create mode 100644 gfx/battle/battle_hud_1.png create mode 100644 gfx/battle/battle_hud_2.png create mode 100644 gfx/battle/battle_hud_3.png create mode 100644 gfx/battle/minimize.png delete mode 100644 gfx/battle_hud1.png delete mode 100644 gfx/battle_hud2.png delete mode 100644 gfx/battle_hud3.png delete mode 100644 gfx/battle_transition.png delete mode 100644 gfx/blank_leader_names.png delete mode 100644 gfx/blue/blueversion.png delete mode 100644 gfx/blue/intro_purin_1.png delete mode 100644 gfx/blue/intro_purin_2.png delete mode 100644 gfx/blue/intro_purin_3.png delete mode 100644 gfx/blue/sgbborder.map delete mode 100644 gfx/blue/sgbborder.png delete mode 100644 gfx/blue/slotmachine1.png delete mode 100644 gfx/blue/slotmachine2.png delete mode 100644 gfx/circle_tile.png delete mode 100644 gfx/copyright.png create mode 100644 gfx/emotes/happy.png create mode 100644 gfx/emotes/question.png create mode 100644 gfx/emotes/shock.png delete mode 100644 gfx/emotion_bubbles.png delete mode 100644 gfx/falling_star.png delete mode 100644 gfx/font.png create mode 100644 gfx/font/AB.png create mode 100644 gfx/font/ED.png create mode 100644 gfx/font/P.png create mode 100644 gfx/font/font.png create mode 100644 gfx/font/font_battle_extra.png create mode 100644 gfx/font/font_extra.png delete mode 100644 gfx/game_boy.png delete mode 100644 gfx/gamefreak.png delete mode 100644 gfx/gamefreak_intro.png delete mode 100644 gfx/gamefreak_logo.png delete mode 100644 gfx/hp_bar_and_status.png create mode 100644 gfx/intro_credits/blue_jigglypuff_1.png create mode 100644 gfx/intro_credits/blue_jigglypuff_2.png create mode 100644 gfx/intro_credits/blue_jigglypuff_3.png create mode 100644 gfx/intro_credits/copyright.png create mode 100644 gfx/intro_credits/falling_star.png create mode 100644 gfx/intro_credits/gamefreak_logo.png create mode 100644 gfx/intro_credits/gamefreak_presents.png create mode 100644 gfx/intro_credits/gengar.png create mode 100644 gfx/intro_credits/red_nidorino_1.png create mode 100644 gfx/intro_credits/red_nidorino_2.png create mode 100644 gfx/intro_credits/red_nidorino_3.png create mode 100644 gfx/intro_credits/the_end.png delete mode 100644 gfx/intro_fight.png delete mode 100644 gfx/ledge_hopping_shadow.png delete mode 100644 gfx/link_cable.png delete mode 100644 gfx/minimized_mon_sprite.png delete mode 100644 gfx/mon_nest_icon.png delete mode 100644 gfx/mon_ow_sprites.png create mode 100644 gfx/overworld/battle_transition.png create mode 100644 gfx/overworld/fishing_rod.png create mode 100644 gfx/overworld/heal_machine.png create mode 100644 gfx/overworld/red_fish_back.png create mode 100644 gfx/overworld/red_fish_front.png create mode 100644 gfx/overworld/red_fish_side.png create mode 100644 gfx/overworld/shadow.png create mode 100644 gfx/overworld/smoke.png create mode 100644 gfx/overworld/spinners.png delete mode 100644 gfx/p_tile.png delete mode 100644 gfx/player_title.png delete mode 100644 gfx/pokeball.png delete mode 100644 gfx/pokecenter_ball.png delete mode 100644 gfx/pokedex.png create mode 100644 gfx/pokedex/mon_nest_icon.png create mode 100644 gfx/pokedex/pokedex.png delete mode 100644 gfx/pokemon_logo.png delete mode 100644 gfx/red/intro_nido_1.png delete mode 100644 gfx/red/intro_nido_2.png delete mode 100644 gfx/red/intro_nido_3.png delete mode 100644 gfx/red/redgreenversion.png delete mode 100644 gfx/red/sgbborder.map delete mode 100644 gfx/red/sgbborder.png delete mode 100644 gfx/red/slotmachine1.png delete mode 100644 gfx/red/slotmachine2.png delete mode 100644 gfx/red_fishing_tile_back.png delete mode 100644 gfx/red_fishing_tile_front.png delete mode 100644 gfx/red_fishing_tile_side.png delete mode 100644 gfx/red_fishingrod_tiles.png create mode 100644 gfx/sgb/blue_border.png create mode 100644 gfx/sgb/blue_border.tilemap create mode 100644 gfx/sgb/red_border.png create mode 100644 gfx/sgb/red_border.tilemap create mode 100644 gfx/slots/blue_slots_1.png create mode 100644 gfx/slots/blue_slots_2.png create mode 100644 gfx/slots/red_slots_1.png create mode 100644 gfx/slots/red_slots_2.png create mode 100644 gfx/slots/slots.tilemap delete mode 100644 gfx/spinner_arrow.png delete mode 100644 gfx/ss_anne_smoke_puff.png delete mode 100644 gfx/text_box.png delete mode 100644 gfx/theend.png delete mode 100644 gfx/tilemaps/slotmachine.map create mode 100644 gfx/title/blue_version.png create mode 100644 gfx/title/gamefreak_inc.png create mode 100644 gfx/title/player.png create mode 100644 gfx/title/pokemon_logo.png create mode 100644 gfx/title/red_version.png delete mode 100644 gfx/town_map.png delete mode 100755 gfx/town_map.rle create mode 100644 gfx/town_map/town_map.png create mode 100755 gfx/town_map/town_map.rle create mode 100644 gfx/town_map/town_map_cursor.png create mode 100644 gfx/town_map/up_arrow.png delete mode 100644 gfx/town_map_cursor.png create mode 100644 gfx/trade/cable_ball.png create mode 100644 gfx/trade/game_boy.png create mode 100644 gfx/trade/link_cable.png create mode 100644 gfx/trade/mon_ow_sprites.png delete mode 100644 gfx/trade2.png create mode 100644 gfx/trainer_card/badge_numbers.png create mode 100644 gfx/trainer_card/badges.png create mode 100644 gfx/trainer_card/blank_leader_names.png create mode 100644 gfx/trainer_card/circle_tile.png create mode 100644 gfx/trainer_card/trainer_info.png delete mode 100644 gfx/trainer_info.png delete mode 100644 gfx/up_arrow.png delete mode 100644 gfx/yellow/slotmachine1.png delete mode 100644 gfx/yellow/slotmachine2.png diff --git a/.gitattributes b/.gitattributes index bc973be0..4f4d8c38 100644 --- a/.gitattributes +++ b/.gitattributes @@ -12,7 +12,7 @@ *.rle binary *.tilecoll binary *.bst binary -*.map binary +*.tilemap binary *.wav binary *.blk binary *.pic binary diff --git a/Makefile b/Makefile index 59e593e8..2b077082 100644 --- a/Makefile +++ b/Makefile @@ -83,17 +83,22 @@ pokeblue_opt = -jsv -k 01 -l 0x33 -m 0x13 -p 0 -r 03 -t "POKEMON BLUE" ### Misc file-specific graphics rules -gfx/blue/intro_purin_1.2bpp: $(RGBGFX) += -h -gfx/blue/intro_purin_2.2bpp: $(RGBGFX) += -h -gfx/blue/intro_purin_3.2bpp: $(RGBGFX) += -h -gfx/red/intro_nido_1.2bpp: $(RGBGFX) += -h -gfx/red/intro_nido_2.2bpp: $(RGBGFX) += -h -gfx/red/intro_nido_3.2bpp: $(RGBGFX) += -h - -gfx/game_boy.2bpp: tools/gfx += --remove-duplicates -gfx/theend.2bpp: tools/gfx += --interleave --png=$< +gfx/battle/attack_anim_1.2bpp: tools/gfx += --trim-whitespace +gfx/battle/attack_anim_2.2bpp: tools/gfx += --trim-whitespace + +gfx/intro_credits/blue_jigglypuff_1.2bpp: $(RGBGFX) += -h +gfx/intro_credits/blue_jigglypuff_2.2bpp: $(RGBGFX) += -h +gfx/intro_credits/blue_jigglypuff_3.2bpp: $(RGBGFX) += -h +gfx/intro_credits/red_nidorino_1.2bpp: $(RGBGFX) += -h +gfx/intro_credits/red_nidorino_2.2bpp: $(RGBGFX) += -h +gfx/intro_credits/red_nidorino_3.2bpp: $(RGBGFX) += -h + +gfx/intro_credits/the_end.2bpp: tools/gfx += --interleave --png=$< + gfx/tilesets/%.2bpp: tools/gfx += --trim-whitespace +gfx/trade/game_boy.2bpp: tools/gfx += --remove-duplicates + ### Catch-all graphics rules diff --git a/data/sgb_border.asm b/data/sgb_border.asm index c2afc193..aa11a326 100755 --- a/data/sgb_border.asm +++ b/data/sgb_border.asm @@ -1,9 +1,9 @@ BorderPalettes: IF DEF(_RED) - INCBIN "gfx/red/sgbborder.map" + INCBIN "gfx/sgb/red_border.tilemap" ENDC IF DEF(_BLUE) - INCBIN "gfx/blue/sgbborder.map" + INCBIN "gfx/sgb/blue_border.tilemap" ENDC ds $100 @@ -55,8 +55,8 @@ ENDC SGBBorderGraphics: IF DEF(_RED) - INCBIN "gfx/red/sgbborder.2bpp" + INCBIN "gfx/sgb/red_border.2bpp" ENDC IF DEF(_BLUE) - INCBIN "gfx/blue/sgbborder.2bpp" + INCBIN "gfx/sgb/blue_border.2bpp" ENDC diff --git a/engine/HoF_room_pc.asm b/engine/HoF_room_pc.asm index 7e08631c..f820aae3 100755 --- a/engine/HoF_room_pc.asm +++ b/engine/HoF_room_pc.asm @@ -266,5 +266,5 @@ INCLUDE "data/credits_order.asm" INCLUDE "text/credits_text.asm" TheEndGfx: - INCBIN "gfx/theend.2bpp" + INCBIN "gfx/intro_credits/the_end.2bpp" TheEndGfxEnd: diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index 9eb7badb..fcc3c99f 100755 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -361,17 +361,17 @@ AnimationTilesetPointers: db $FF AnimationTileset1: - INCBIN "gfx/attack_anim_1.2bpp" + INCBIN "gfx/battle/attack_anim_1.2bpp" AnimationTileset2: - INCBIN "gfx/attack_anim_2.2bpp" + INCBIN "gfx/battle/attack_anim_2.2bpp" SlotMachineTiles2: IF DEF(_RED) - INCBIN "gfx/red/slotmachine2.2bpp" + INCBIN "gfx/slots/red_slots_2.2bpp" ENDC IF DEF(_BLUE) - INCBIN "gfx/blue/slotmachine2.2bpp" + INCBIN "gfx/slots/blue_slots_2.2bpp" ENDC MoveAnimation: @@ -1710,7 +1710,7 @@ AnimationMinimizeMon: jp AnimationShowMonPic MinimizedMonSprite: - INCBIN "gfx/minimized_mon_sprite.1bpp" + INCBIN "gfx/battle/minimize.1bpp" MinimizedMonSpriteEnd: AnimationSlideMonDownAndHide: diff --git a/engine/battle/battle_transitions.asm b/engine/battle/battle_transitions.asm index f2e26ed5..62b023b0 100644 --- a/engine/battle/battle_transitions.asm +++ b/engine/battle/battle_transitions.asm @@ -160,7 +160,7 @@ LoadBattleTransitionTile: jp CopyVideoData BattleTransitionTile: - INCBIN "gfx/battle_transition.2bpp" + INCBIN "gfx/overworld/battle_transition.2bpp" BattleTransitionTileEnd: BattleTransition_BlackScreen: diff --git a/engine/battle/draw_hud_pokeball_gfx.asm b/engine/battle/draw_hud_pokeball_gfx.asm index 323dd167..c0a91949 100644 --- a/engine/battle/draw_hud_pokeball_gfx.asm +++ b/engine/battle/draw_hud_pokeball_gfx.asm @@ -188,5 +188,5 @@ SetupPlayerAndEnemyPokeballs: ; four tiles: pokeball, black pokeball (status ailment), crossed out pokeball (fainted) and pokeball slot (no mon) PokeballTileGraphics:: - INCBIN "gfx/pokeball.2bpp" + INCBIN "gfx/battle/balls.2bpp" PokeballTileGraphicsEnd: diff --git a/engine/gamefreak.asm b/engine/gamefreak.asm index 5226072b..78e48384 100755 --- a/engine/gamefreak.asm +++ b/engine/gamefreak.asm @@ -239,5 +239,5 @@ GameFreakShootingStarOAMData: GameFreakShootingStarOAMDataEnd: FallingStar: - INCBIN "gfx/falling_star.2bpp" + INCBIN "gfx/intro_credits/falling_star.2bpp" FallingStarEnd: diff --git a/engine/intro.asm b/engine/intro.asm index a016b365..9a13c96f 100755 --- a/engine/intro.asm +++ b/engine/intro.asm @@ -438,35 +438,33 @@ IntroNidorinoAnimation7: db ANIMATION_END GameFreakIntro: - INCBIN "gfx/gamefreak_intro.2bpp" - INCBIN "gfx/gamefreak_logo.2bpp" - rept 16 - db $00 ; blank tile - endr + INCBIN "gfx/intro_credits/gamefreak_presents.2bpp" + INCBIN "gfx/intro_credits/gamefreak_logo.2bpp" + ds 16, $00 ; blank tile GameFreakIntroEnd: FightIntroBackMon: - INCBIN "gfx/intro_fight.2bpp" + INCBIN "gfx/intro_credits/gengar.2bpp" FightIntroBackMonEnd: FightIntroFrontMon: IF DEF(_RED) - INCBIN "gfx/red/intro_nido_1.2bpp" + INCBIN "gfx/intro_credits/red_nidorino_1.2bpp" FightIntroFrontMon2: - INCBIN "gfx/red/intro_nido_2.2bpp" + INCBIN "gfx/intro_credits/red_nidorino_2.2bpp" FightIntroFrontMon3: - INCBIN "gfx/red/intro_nido_3.2bpp" + INCBIN "gfx/intro_credits/red_nidorino_3.2bpp" ENDC IF DEF(_BLUE) - INCBIN "gfx/blue/intro_purin_1.2bpp" + INCBIN "gfx/intro_credits/blue_jigglypuff_1.2bpp" FightIntroFrontMon2: - INCBIN "gfx/blue/intro_purin_2.2bpp" + INCBIN "gfx/intro_credits/blue_jigglypuff_2.2bpp" FightIntroFrontMon3: - INCBIN "gfx/blue/intro_purin_3.2bpp" + INCBIN "gfx/intro_credits/blue_jigglypuff_3.2bpp" ENDC FightIntroFrontMonEnd: - ds $10 ; blank tile + ds 16, $00 ; blank tile diff --git a/engine/menu/draw_badges.asm b/engine/menu/draw_badges.asm index 9e6262a0..1888e32f 100644 --- a/engine/menu/draw_badges.asm +++ b/engine/menu/draw_badges.asm @@ -117,4 +117,4 @@ DrawBadges: db $20, $28, $30, $38, $40, $48, $50, $58 GymLeaderFaceAndBadgeTileGraphics: - INCBIN "gfx/badges.2bpp" + INCBIN "gfx/trainer_card/badges.2bpp" diff --git a/engine/menu/naming_screen.asm b/engine/menu/naming_screen.asm index e2973988..2b86d6f4 100755 --- a/engine/menu/naming_screen.asm +++ b/engine/menu/naming_screen.asm @@ -332,7 +332,7 @@ LoadEDTile: jp CopyVideoDataDouble ED_Tile: - INCBIN "gfx/ED_tile.1bpp" + INCBIN "gfx/font/ED.1bpp" ED_TileEnd: PrintAlphabet: diff --git a/engine/menu/status_screen.asm b/engine/menu/status_screen.asm index ef94f13c..20bee0ee 100755 --- a/engine/menu/status_screen.asm +++ b/engine/menu/status_screen.asm @@ -241,8 +241,8 @@ DrawLineBox: ld [hl], $6f ; ← (halfarrow ending) ret -PTile: ; This is a single 1bpp "P" tile - INCBIN "gfx/p_tile.1bpp" +PTile: + INCBIN "gfx/font/P.1bpp" PTileEnd: PrintStatsBox: diff --git a/engine/mon_party_sprites.asm b/engine/mon_party_sprites.asm index 1e0f9c59..994f5086 100755 --- a/engine/mon_party_sprites.asm +++ b/engine/mon_party_sprites.asm @@ -281,4 +281,4 @@ GetPartyMonSpriteID: INCLUDE "data/mon_party_sprites.asm" MonPartySprites: - INCBIN "gfx/mon_ow_sprites.2bpp" + INCBIN "gfx/trade/mon_ow_sprites.2bpp" diff --git a/engine/overworld/emotion_bubbles.asm b/engine/overworld/emotion_bubbles.asm index ac4276bd..20309fc1 100755 --- a/engine/overworld/emotion_bubbles.asm +++ b/engine/overworld/emotion_bubbles.asm @@ -62,13 +62,15 @@ EmotionBubble: jp UpdateSprites EmotionBubblesPointerTable: - dw EmotionBubbles - dw EmotionBubbles + $40 - dw EmotionBubbles + $80 + dw ShockEmote + dw QuestionEmote + dw HappyEmote EmotionBubblesOAM: db $F8,$00,$F9,$00 db $FA,$00,$FB,$00 EmotionBubbles: - INCBIN "gfx/emotion_bubbles.2bpp" +ShockEmote: INCBIN "gfx/emotes/shock.2bpp" +QuestionEmote: INCBIN "gfx/emotes/question.2bpp" +HappyEmote: INCBIN "gfx/emotes/happy.2bpp" diff --git a/engine/overworld/healing_machine.asm b/engine/overworld/healing_machine.asm index 73b3fa1f..510f963b 100755 --- a/engine/overworld/healing_machine.asm +++ b/engine/overworld/healing_machine.asm @@ -63,7 +63,7 @@ AnimateHealingMachine: jp UpdateSprites PokeCenterFlashingMonitorAndHealBall: - INCBIN "gfx/pokecenter_ball.2bpp" + INCBIN "gfx/overworld/heal_machine.2bpp" PokeCenterOAMData: db $24,$34,$7C,$10 ; heal machine monitor diff --git a/engine/overworld/ledges.asm b/engine/overworld/ledges.asm index b0ec703a..290c8c80 100755 --- a/engine/overworld/ledges.asm +++ b/engine/overworld/ledges.asm @@ -68,7 +68,7 @@ LoadHoppingShadowOAM: ret LedgeHoppingShadow: - INCBIN "gfx/ledge_hopping_shadow.1bpp" + INCBIN "gfx/overworld/shadow.1bpp" LedgeHoppingShadowEnd: LedgeHoppingShadowOAM: diff --git a/engine/overworld/ssanne.asm b/engine/overworld/ssanne.asm index c226a5c5..6c26b712 100755 --- a/engine/overworld/ssanne.asm +++ b/engine/overworld/ssanne.asm @@ -89,5 +89,5 @@ LoadSmokeTile: jp CopyVideoData SSAnneSmokePuffTile: - INCBIN "gfx/ss_anne_smoke_puff.2bpp" + INCBIN "gfx/overworld/smoke.2bpp" SSAnneSmokePuffTileEnd: diff --git a/engine/slot_machine.asm b/engine/slot_machine.asm index 3a46687f..0a92c69b 100755 --- a/engine/slot_machine.asm +++ b/engine/slot_machine.asm @@ -878,15 +878,15 @@ LoadSlotMachineTiles: jp SlotMachine_AnimWheel3 SlotMachineMap: - INCBIN "gfx/tilemaps/slotmachine.map" + INCBIN "gfx/slots/slots.tilemap" SlotMachineMapEnd: INCLUDE "data/slot_machine_wheels.asm" SlotMachineTiles1: IF DEF(_RED) - INCBIN "gfx/red/slotmachine1.2bpp" + INCBIN "gfx/slots/red_slots_1.2bpp" ENDC IF DEF(_BLUE) - INCBIN "gfx/blue/slotmachine1.2bpp" + INCBIN "gfx/slots/blue_slots_1.2bpp" ENDC diff --git a/engine/town_map.asm b/engine/town_map.asm index 1bb8d561..9cc55161 100755 --- a/engine/town_map.asm +++ b/engine/town_map.asm @@ -106,7 +106,7 @@ DisplayTownMap: INCLUDE "data/town_map_order.asm" TownMapCursor: - INCBIN "gfx/town_map_cursor.1bpp" + INCBIN "gfx/town_map/town_map_cursor.1bpp" TownMapCursorEnd: LoadTownMap_Nest: @@ -271,7 +271,7 @@ BuildFlyLocationsList: ret TownMapUpArrow: - INCBIN "gfx/up_arrow.1bpp" + INCBIN "gfx/town_map/up_arrow.1bpp" TownMapUpArrowEnd: LoadTownMap: @@ -325,8 +325,7 @@ LoadTownMap: ret CompressedMap: -; you can decompress this file with the redrle program in the extras/ dir - INCBIN "gfx/town_map.rle" + INCBIN "gfx/town_map/town_map.rle" ExitTownMap: ; clear town map graphics data and load usual graphics data @@ -587,7 +586,7 @@ INCLUDE "data/town_map_entries.asm" INCLUDE "text/map_names.asm" MonNestIcon: - INCBIN "gfx/mon_nest_icon.1bpp" + INCBIN "gfx/pokedex/mon_nest_icon.1bpp" MonNestIconEnd: TownMapSpriteBlinkingAnimation:: diff --git a/gfx/AB.png b/gfx/AB.png deleted file mode 100644 index 89ac01db..00000000 Binary files a/gfx/AB.png and /dev/null differ diff --git a/gfx/ED_tile.png b/gfx/ED_tile.png deleted file mode 100644 index 352489d6..00000000 Binary files a/gfx/ED_tile.png and /dev/null differ diff --git a/gfx/attack_anim_1.png b/gfx/attack_anim_1.png deleted file mode 100644 index 12bd7aa2..00000000 Binary files a/gfx/attack_anim_1.png and /dev/null differ diff --git a/gfx/attack_anim_2.png b/gfx/attack_anim_2.png deleted file mode 100644 index 57abbfde..00000000 Binary files a/gfx/attack_anim_2.png and /dev/null differ diff --git a/gfx/badge_numbers.png b/gfx/badge_numbers.png deleted file mode 100644 index c9283065..00000000 Binary files a/gfx/badge_numbers.png and /dev/null differ diff --git a/gfx/badges.png b/gfx/badges.png deleted file mode 100644 index 8b0fc516..00000000 Binary files a/gfx/badges.png and /dev/null differ diff --git a/gfx/battle/attack_anim_1.png b/gfx/battle/attack_anim_1.png new file mode 100644 index 00000000..f3728737 Binary files /dev/null and b/gfx/battle/attack_anim_1.png differ diff --git a/gfx/battle/attack_anim_2.png b/gfx/battle/attack_anim_2.png new file mode 100644 index 00000000..6867d650 Binary files /dev/null and b/gfx/battle/attack_anim_2.png differ diff --git a/gfx/battle/balls.png b/gfx/battle/balls.png new file mode 100644 index 00000000..21bb5e37 Binary files /dev/null and b/gfx/battle/balls.png differ diff --git a/gfx/battle/battle_hud_1.png b/gfx/battle/battle_hud_1.png new file mode 100644 index 00000000..ed9d4a56 Binary files /dev/null and b/gfx/battle/battle_hud_1.png differ diff --git a/gfx/battle/battle_hud_2.png b/gfx/battle/battle_hud_2.png new file mode 100644 index 00000000..0f6954b5 Binary files /dev/null and b/gfx/battle/battle_hud_2.png differ diff --git a/gfx/battle/battle_hud_3.png b/gfx/battle/battle_hud_3.png new file mode 100644 index 00000000..fd1c57f7 Binary files /dev/null and b/gfx/battle/battle_hud_3.png differ diff --git a/gfx/battle/minimize.png b/gfx/battle/minimize.png new file mode 100644 index 00000000..35ca75cb Binary files /dev/null and b/gfx/battle/minimize.png differ diff --git a/gfx/battle_hud1.png b/gfx/battle_hud1.png deleted file mode 100644 index 74e6361f..00000000 Binary files a/gfx/battle_hud1.png and /dev/null differ diff --git a/gfx/battle_hud2.png b/gfx/battle_hud2.png deleted file mode 100644 index a5df75c8..00000000 Binary files a/gfx/battle_hud2.png and /dev/null differ diff --git a/gfx/battle_hud3.png b/gfx/battle_hud3.png deleted file mode 100644 index 00643de7..00000000 Binary files a/gfx/battle_hud3.png and /dev/null differ diff --git a/gfx/battle_transition.png b/gfx/battle_transition.png deleted file mode 100644 index e2bd6299..00000000 Binary files a/gfx/battle_transition.png and /dev/null differ diff --git a/gfx/blank_leader_names.png b/gfx/blank_leader_names.png deleted file mode 100644 index 867a39fe..00000000 Binary files a/gfx/blank_leader_names.png and /dev/null differ diff --git a/gfx/blue/blueversion.png b/gfx/blue/blueversion.png deleted file mode 100644 index a9c87be8..00000000 Binary files a/gfx/blue/blueversion.png and /dev/null differ diff --git a/gfx/blue/intro_purin_1.png b/gfx/blue/intro_purin_1.png deleted file mode 100644 index 0e53582c..00000000 Binary files a/gfx/blue/intro_purin_1.png and /dev/null differ diff --git a/gfx/blue/intro_purin_2.png b/gfx/blue/intro_purin_2.png deleted file mode 100644 index 21107af0..00000000 Binary files a/gfx/blue/intro_purin_2.png and /dev/null differ diff --git a/gfx/blue/intro_purin_3.png b/gfx/blue/intro_purin_3.png deleted file mode 100644 index 1c30a0e8..00000000 Binary files a/gfx/blue/intro_purin_3.png and /dev/null differ diff --git a/gfx/blue/sgbborder.map b/gfx/blue/sgbborder.map deleted file mode 100644 index b0b0b94b..00000000 Binary files a/gfx/blue/sgbborder.map and /dev/null differ diff --git a/gfx/blue/sgbborder.png b/gfx/blue/sgbborder.png deleted file mode 100644 index 098df2b6..00000000 Binary files a/gfx/blue/sgbborder.png and /dev/null differ diff --git a/gfx/blue/slotmachine1.png b/gfx/blue/slotmachine1.png deleted file mode 100644 index 41ebfdea..00000000 Binary files a/gfx/blue/slotmachine1.png and /dev/null differ diff --git a/gfx/blue/slotmachine2.png b/gfx/blue/slotmachine2.png deleted file mode 100644 index ee8c688e..00000000 Binary files a/gfx/blue/slotmachine2.png and /dev/null differ diff --git a/gfx/circle_tile.png b/gfx/circle_tile.png deleted file mode 100644 index 64c00c9f..00000000 Binary files a/gfx/circle_tile.png and /dev/null differ diff --git a/gfx/copyright.png b/gfx/copyright.png deleted file mode 100644 index 49174349..00000000 Binary files a/gfx/copyright.png and /dev/null differ diff --git a/gfx/emotes/happy.png b/gfx/emotes/happy.png new file mode 100644 index 00000000..dd65f4d1 Binary files /dev/null and b/gfx/emotes/happy.png differ diff --git a/gfx/emotes/question.png b/gfx/emotes/question.png new file mode 100644 index 00000000..ef1d770b Binary files /dev/null and b/gfx/emotes/question.png differ diff --git a/gfx/emotes/shock.png b/gfx/emotes/shock.png new file mode 100644 index 00000000..f15cf50f Binary files /dev/null and b/gfx/emotes/shock.png differ diff --git a/gfx/emotion_bubbles.png b/gfx/emotion_bubbles.png deleted file mode 100644 index 31deacf4..00000000 Binary files a/gfx/emotion_bubbles.png and /dev/null differ diff --git a/gfx/falling_star.png b/gfx/falling_star.png deleted file mode 100644 index 9093bef4..00000000 Binary files a/gfx/falling_star.png and /dev/null differ diff --git a/gfx/font.png b/gfx/font.png deleted file mode 100644 index 34e86b4a..00000000 Binary files a/gfx/font.png and /dev/null differ diff --git a/gfx/font/AB.png b/gfx/font/AB.png new file mode 100644 index 00000000..89ac01db Binary files /dev/null and b/gfx/font/AB.png differ diff --git a/gfx/font/ED.png b/gfx/font/ED.png new file mode 100644 index 00000000..352489d6 Binary files /dev/null and b/gfx/font/ED.png differ diff --git a/gfx/font/P.png b/gfx/font/P.png new file mode 100644 index 00000000..3df11133 Binary files /dev/null and b/gfx/font/P.png differ diff --git a/gfx/font/font.png b/gfx/font/font.png new file mode 100644 index 00000000..34e86b4a Binary files /dev/null and b/gfx/font/font.png differ diff --git a/gfx/font/font_battle_extra.png b/gfx/font/font_battle_extra.png new file mode 100644 index 00000000..d00ae7bc Binary files /dev/null and b/gfx/font/font_battle_extra.png differ diff --git a/gfx/font/font_extra.png b/gfx/font/font_extra.png new file mode 100644 index 00000000..243acda0 Binary files /dev/null and b/gfx/font/font_extra.png differ diff --git a/gfx/game_boy.png b/gfx/game_boy.png deleted file mode 100644 index 62144956..00000000 Binary files a/gfx/game_boy.png and /dev/null differ diff --git a/gfx/gamefreak.png b/gfx/gamefreak.png deleted file mode 100644 index 509232bd..00000000 Binary files a/gfx/gamefreak.png and /dev/null differ diff --git a/gfx/gamefreak_intro.png b/gfx/gamefreak_intro.png deleted file mode 100644 index f65c64ed..00000000 Binary files a/gfx/gamefreak_intro.png and /dev/null differ diff --git a/gfx/gamefreak_logo.png b/gfx/gamefreak_logo.png deleted file mode 100644 index 1671943b..00000000 Binary files a/gfx/gamefreak_logo.png and /dev/null differ diff --git a/gfx/hp_bar_and_status.png b/gfx/hp_bar_and_status.png deleted file mode 100644 index 1a832831..00000000 Binary files a/gfx/hp_bar_and_status.png and /dev/null differ diff --git a/gfx/intro_credits/blue_jigglypuff_1.png b/gfx/intro_credits/blue_jigglypuff_1.png new file mode 100644 index 00000000..0e53582c Binary files /dev/null and b/gfx/intro_credits/blue_jigglypuff_1.png differ diff --git a/gfx/intro_credits/blue_jigglypuff_2.png b/gfx/intro_credits/blue_jigglypuff_2.png new file mode 100644 index 00000000..21107af0 Binary files /dev/null and b/gfx/intro_credits/blue_jigglypuff_2.png differ diff --git a/gfx/intro_credits/blue_jigglypuff_3.png b/gfx/intro_credits/blue_jigglypuff_3.png new file mode 100644 index 00000000..1c30a0e8 Binary files /dev/null and b/gfx/intro_credits/blue_jigglypuff_3.png differ diff --git a/gfx/intro_credits/copyright.png b/gfx/intro_credits/copyright.png new file mode 100644 index 00000000..49174349 Binary files /dev/null and b/gfx/intro_credits/copyright.png differ diff --git a/gfx/intro_credits/falling_star.png b/gfx/intro_credits/falling_star.png new file mode 100644 index 00000000..9093bef4 Binary files /dev/null and b/gfx/intro_credits/falling_star.png differ diff --git a/gfx/intro_credits/gamefreak_logo.png b/gfx/intro_credits/gamefreak_logo.png new file mode 100644 index 00000000..1671943b Binary files /dev/null and b/gfx/intro_credits/gamefreak_logo.png differ diff --git a/gfx/intro_credits/gamefreak_presents.png b/gfx/intro_credits/gamefreak_presents.png new file mode 100644 index 00000000..f65c64ed Binary files /dev/null and b/gfx/intro_credits/gamefreak_presents.png differ diff --git a/gfx/intro_credits/gengar.png b/gfx/intro_credits/gengar.png new file mode 100644 index 00000000..99fcda8d Binary files /dev/null and b/gfx/intro_credits/gengar.png differ diff --git a/gfx/intro_credits/red_nidorino_1.png b/gfx/intro_credits/red_nidorino_1.png new file mode 100644 index 00000000..4c7804a1 Binary files /dev/null and b/gfx/intro_credits/red_nidorino_1.png differ diff --git a/gfx/intro_credits/red_nidorino_2.png b/gfx/intro_credits/red_nidorino_2.png new file mode 100644 index 00000000..a29a4814 Binary files /dev/null and b/gfx/intro_credits/red_nidorino_2.png differ diff --git a/gfx/intro_credits/red_nidorino_3.png b/gfx/intro_credits/red_nidorino_3.png new file mode 100644 index 00000000..e920d55d Binary files /dev/null and b/gfx/intro_credits/red_nidorino_3.png differ diff --git a/gfx/intro_credits/the_end.png b/gfx/intro_credits/the_end.png new file mode 100644 index 00000000..025ebb61 Binary files /dev/null and b/gfx/intro_credits/the_end.png differ diff --git a/gfx/intro_fight.png b/gfx/intro_fight.png deleted file mode 100644 index d7774c01..00000000 Binary files a/gfx/intro_fight.png and /dev/null differ diff --git a/gfx/ledge_hopping_shadow.png b/gfx/ledge_hopping_shadow.png deleted file mode 100644 index 8e760056..00000000 Binary files a/gfx/ledge_hopping_shadow.png and /dev/null differ diff --git a/gfx/link_cable.png b/gfx/link_cable.png deleted file mode 100644 index d0421472..00000000 Binary files a/gfx/link_cable.png and /dev/null differ diff --git a/gfx/minimized_mon_sprite.png b/gfx/minimized_mon_sprite.png deleted file mode 100644 index 35ca75cb..00000000 Binary files a/gfx/minimized_mon_sprite.png and /dev/null differ diff --git a/gfx/mon_nest_icon.png b/gfx/mon_nest_icon.png deleted file mode 100644 index ade69944..00000000 Binary files a/gfx/mon_nest_icon.png and /dev/null differ diff --git a/gfx/mon_ow_sprites.png b/gfx/mon_ow_sprites.png deleted file mode 100644 index 8402af2d..00000000 Binary files a/gfx/mon_ow_sprites.png and /dev/null differ diff --git a/gfx/overworld/battle_transition.png b/gfx/overworld/battle_transition.png new file mode 100644 index 00000000..e2bd6299 Binary files /dev/null and b/gfx/overworld/battle_transition.png differ diff --git a/gfx/overworld/fishing_rod.png b/gfx/overworld/fishing_rod.png new file mode 100644 index 00000000..e097c6c9 Binary files /dev/null and b/gfx/overworld/fishing_rod.png differ diff --git a/gfx/overworld/heal_machine.png b/gfx/overworld/heal_machine.png new file mode 100644 index 00000000..1832c842 Binary files /dev/null and b/gfx/overworld/heal_machine.png differ diff --git a/gfx/overworld/red_fish_back.png b/gfx/overworld/red_fish_back.png new file mode 100644 index 00000000..0972377c Binary files /dev/null and b/gfx/overworld/red_fish_back.png differ diff --git a/gfx/overworld/red_fish_front.png b/gfx/overworld/red_fish_front.png new file mode 100644 index 00000000..e18a27d8 Binary files /dev/null and b/gfx/overworld/red_fish_front.png differ diff --git a/gfx/overworld/red_fish_side.png b/gfx/overworld/red_fish_side.png new file mode 100644 index 00000000..11f25c2a Binary files /dev/null and b/gfx/overworld/red_fish_side.png differ diff --git a/gfx/overworld/shadow.png b/gfx/overworld/shadow.png new file mode 100644 index 00000000..8e760056 Binary files /dev/null and b/gfx/overworld/shadow.png differ diff --git a/gfx/overworld/smoke.png b/gfx/overworld/smoke.png new file mode 100644 index 00000000..5bcaf18a Binary files /dev/null and b/gfx/overworld/smoke.png differ diff --git a/gfx/overworld/spinners.png b/gfx/overworld/spinners.png new file mode 100644 index 00000000..aea0672b Binary files /dev/null and b/gfx/overworld/spinners.png differ diff --git a/gfx/p_tile.png b/gfx/p_tile.png deleted file mode 100644 index 3df11133..00000000 Binary files a/gfx/p_tile.png and /dev/null differ diff --git a/gfx/player_title.png b/gfx/player_title.png deleted file mode 100644 index 093664d1..00000000 Binary files a/gfx/player_title.png and /dev/null differ diff --git a/gfx/pokeball.png b/gfx/pokeball.png deleted file mode 100644 index 830f72b2..00000000 Binary files a/gfx/pokeball.png and /dev/null differ diff --git a/gfx/pokecenter_ball.png b/gfx/pokecenter_ball.png deleted file mode 100644 index 1832c842..00000000 Binary files a/gfx/pokecenter_ball.png and /dev/null differ diff --git a/gfx/pokedex.png b/gfx/pokedex.png deleted file mode 100644 index 0a2c89ea..00000000 Binary files a/gfx/pokedex.png and /dev/null differ diff --git a/gfx/pokedex/mon_nest_icon.png b/gfx/pokedex/mon_nest_icon.png new file mode 100644 index 00000000..ade69944 Binary files /dev/null and b/gfx/pokedex/mon_nest_icon.png differ diff --git a/gfx/pokedex/pokedex.png b/gfx/pokedex/pokedex.png new file mode 100644 index 00000000..0a2c89ea Binary files /dev/null and b/gfx/pokedex/pokedex.png differ diff --git a/gfx/pokemon_logo.png b/gfx/pokemon_logo.png deleted file mode 100644 index cc7582c5..00000000 Binary files a/gfx/pokemon_logo.png and /dev/null differ diff --git a/gfx/red/intro_nido_1.png b/gfx/red/intro_nido_1.png deleted file mode 100644 index 4c7804a1..00000000 Binary files a/gfx/red/intro_nido_1.png and /dev/null differ diff --git a/gfx/red/intro_nido_2.png b/gfx/red/intro_nido_2.png deleted file mode 100644 index a29a4814..00000000 Binary files a/gfx/red/intro_nido_2.png and /dev/null differ diff --git a/gfx/red/intro_nido_3.png b/gfx/red/intro_nido_3.png deleted file mode 100644 index e920d55d..00000000 Binary files a/gfx/red/intro_nido_3.png and /dev/null differ diff --git a/gfx/red/redgreenversion.png b/gfx/red/redgreenversion.png deleted file mode 100644 index e41b4295..00000000 Binary files a/gfx/red/redgreenversion.png and /dev/null differ diff --git a/gfx/red/sgbborder.map b/gfx/red/sgbborder.map deleted file mode 100644 index 4077ed8e..00000000 Binary files a/gfx/red/sgbborder.map and /dev/null differ diff --git a/gfx/red/sgbborder.png b/gfx/red/sgbborder.png deleted file mode 100644 index 7549bb47..00000000 Binary files a/gfx/red/sgbborder.png and /dev/null differ diff --git a/gfx/red/slotmachine1.png b/gfx/red/slotmachine1.png deleted file mode 100644 index 785c74f9..00000000 Binary files a/gfx/red/slotmachine1.png and /dev/null differ diff --git a/gfx/red/slotmachine2.png b/gfx/red/slotmachine2.png deleted file mode 100644 index 779d0cd8..00000000 Binary files a/gfx/red/slotmachine2.png and /dev/null differ diff --git a/gfx/red_fishing_tile_back.png b/gfx/red_fishing_tile_back.png deleted file mode 100644 index 0972377c..00000000 Binary files a/gfx/red_fishing_tile_back.png and /dev/null differ diff --git a/gfx/red_fishing_tile_front.png b/gfx/red_fishing_tile_front.png deleted file mode 100644 index e18a27d8..00000000 Binary files a/gfx/red_fishing_tile_front.png and /dev/null differ diff --git a/gfx/red_fishing_tile_side.png b/gfx/red_fishing_tile_side.png deleted file mode 100644 index 11f25c2a..00000000 Binary files a/gfx/red_fishing_tile_side.png and /dev/null differ diff --git a/gfx/red_fishingrod_tiles.png b/gfx/red_fishingrod_tiles.png deleted file mode 100644 index e097c6c9..00000000 Binary files a/gfx/red_fishingrod_tiles.png and /dev/null differ diff --git a/gfx/sgb/blue_border.png b/gfx/sgb/blue_border.png new file mode 100644 index 00000000..098df2b6 Binary files /dev/null and b/gfx/sgb/blue_border.png differ diff --git a/gfx/sgb/blue_border.tilemap b/gfx/sgb/blue_border.tilemap new file mode 100644 index 00000000..b0b0b94b Binary files /dev/null and b/gfx/sgb/blue_border.tilemap differ diff --git a/gfx/sgb/red_border.png b/gfx/sgb/red_border.png new file mode 100644 index 00000000..7549bb47 Binary files /dev/null and b/gfx/sgb/red_border.png differ diff --git a/gfx/sgb/red_border.tilemap b/gfx/sgb/red_border.tilemap new file mode 100644 index 00000000..4077ed8e Binary files /dev/null and b/gfx/sgb/red_border.tilemap differ diff --git a/gfx/slots/blue_slots_1.png b/gfx/slots/blue_slots_1.png new file mode 100644 index 00000000..41ebfdea Binary files /dev/null and b/gfx/slots/blue_slots_1.png differ diff --git a/gfx/slots/blue_slots_2.png b/gfx/slots/blue_slots_2.png new file mode 100644 index 00000000..ee8c688e Binary files /dev/null and b/gfx/slots/blue_slots_2.png differ diff --git a/gfx/slots/red_slots_1.png b/gfx/slots/red_slots_1.png new file mode 100644 index 00000000..785c74f9 Binary files /dev/null and b/gfx/slots/red_slots_1.png differ diff --git a/gfx/slots/red_slots_2.png b/gfx/slots/red_slots_2.png new file mode 100644 index 00000000..779d0cd8 Binary files /dev/null and b/gfx/slots/red_slots_2.png differ diff --git a/gfx/slots/slots.tilemap b/gfx/slots/slots.tilemap new file mode 100644 index 00000000..8af0cdd3 Binary files /dev/null and b/gfx/slots/slots.tilemap differ diff --git a/gfx/spinner_arrow.png b/gfx/spinner_arrow.png deleted file mode 100644 index aea0672b..00000000 Binary files a/gfx/spinner_arrow.png and /dev/null differ diff --git a/gfx/ss_anne_smoke_puff.png b/gfx/ss_anne_smoke_puff.png deleted file mode 100644 index 5bcaf18a..00000000 Binary files a/gfx/ss_anne_smoke_puff.png and /dev/null differ diff --git a/gfx/text_box.png b/gfx/text_box.png deleted file mode 100644 index 3673e74c..00000000 Binary files a/gfx/text_box.png and /dev/null differ diff --git a/gfx/theend.png b/gfx/theend.png deleted file mode 100644 index 025ebb61..00000000 Binary files a/gfx/theend.png and /dev/null differ diff --git a/gfx/tilemaps/slotmachine.map b/gfx/tilemaps/slotmachine.map deleted file mode 100644 index 68807bbd..00000000 Binary files a/gfx/tilemaps/slotmachine.map and /dev/null differ diff --git a/gfx/title/blue_version.png b/gfx/title/blue_version.png new file mode 100644 index 00000000..a9c87be8 Binary files /dev/null and b/gfx/title/blue_version.png differ diff --git a/gfx/title/gamefreak_inc.png b/gfx/title/gamefreak_inc.png new file mode 100644 index 00000000..509232bd Binary files /dev/null and b/gfx/title/gamefreak_inc.png differ diff --git a/gfx/title/player.png b/gfx/title/player.png new file mode 100644 index 00000000..093664d1 Binary files /dev/null and b/gfx/title/player.png differ diff --git a/gfx/title/pokemon_logo.png b/gfx/title/pokemon_logo.png new file mode 100644 index 00000000..cc7582c5 Binary files /dev/null and b/gfx/title/pokemon_logo.png differ diff --git a/gfx/title/red_version.png b/gfx/title/red_version.png new file mode 100644 index 00000000..e41b4295 Binary files /dev/null and b/gfx/title/red_version.png differ diff --git a/gfx/town_map.png b/gfx/town_map.png deleted file mode 100644 index 23e52130..00000000 Binary files a/gfx/town_map.png and /dev/null differ diff --git a/gfx/town_map.rle b/gfx/town_map.rle deleted file mode 100755 index f9ede0ec..00000000 Binary files a/gfx/town_map.rle and /dev/null differ diff --git a/gfx/town_map/town_map.png b/gfx/town_map/town_map.png new file mode 100644 index 00000000..23e52130 Binary files /dev/null and b/gfx/town_map/town_map.png differ diff --git a/gfx/town_map/town_map.rle b/gfx/town_map/town_map.rle new file mode 100755 index 00000000..f9ede0ec Binary files /dev/null and b/gfx/town_map/town_map.rle differ diff --git a/gfx/town_map/town_map_cursor.png b/gfx/town_map/town_map_cursor.png new file mode 100644 index 00000000..39cf2c2e Binary files /dev/null and b/gfx/town_map/town_map_cursor.png differ diff --git a/gfx/town_map/up_arrow.png b/gfx/town_map/up_arrow.png new file mode 100644 index 00000000..6ebd7bfd Binary files /dev/null and b/gfx/town_map/up_arrow.png differ diff --git a/gfx/town_map_cursor.png b/gfx/town_map_cursor.png deleted file mode 100644 index 39cf2c2e..00000000 Binary files a/gfx/town_map_cursor.png and /dev/null differ diff --git a/gfx/trade/cable_ball.png b/gfx/trade/cable_ball.png new file mode 100644 index 00000000..ccd3a222 Binary files /dev/null and b/gfx/trade/cable_ball.png differ diff --git a/gfx/trade/game_boy.png b/gfx/trade/game_boy.png new file mode 100644 index 00000000..62144956 Binary files /dev/null and b/gfx/trade/game_boy.png differ diff --git a/gfx/trade/link_cable.png b/gfx/trade/link_cable.png new file mode 100644 index 00000000..d0421472 Binary files /dev/null and b/gfx/trade/link_cable.png differ diff --git a/gfx/trade/mon_ow_sprites.png b/gfx/trade/mon_ow_sprites.png new file mode 100644 index 00000000..8402af2d Binary files /dev/null and b/gfx/trade/mon_ow_sprites.png differ diff --git a/gfx/trade2.png b/gfx/trade2.png deleted file mode 100644 index ccd3a222..00000000 Binary files a/gfx/trade2.png and /dev/null differ diff --git a/gfx/trainer_card/badge_numbers.png b/gfx/trainer_card/badge_numbers.png new file mode 100644 index 00000000..c9283065 Binary files /dev/null and b/gfx/trainer_card/badge_numbers.png differ diff --git a/gfx/trainer_card/badges.png b/gfx/trainer_card/badges.png new file mode 100644 index 00000000..8b0fc516 Binary files /dev/null and b/gfx/trainer_card/badges.png differ diff --git a/gfx/trainer_card/blank_leader_names.png b/gfx/trainer_card/blank_leader_names.png new file mode 100644 index 00000000..867a39fe Binary files /dev/null and b/gfx/trainer_card/blank_leader_names.png differ diff --git a/gfx/trainer_card/circle_tile.png b/gfx/trainer_card/circle_tile.png new file mode 100644 index 00000000..64c00c9f Binary files /dev/null and b/gfx/trainer_card/circle_tile.png differ diff --git a/gfx/trainer_card/trainer_info.png b/gfx/trainer_card/trainer_info.png new file mode 100644 index 00000000..d3ac169f Binary files /dev/null and b/gfx/trainer_card/trainer_info.png differ diff --git a/gfx/trainer_info.png b/gfx/trainer_info.png deleted file mode 100644 index d3ac169f..00000000 Binary files a/gfx/trainer_info.png and /dev/null differ diff --git a/gfx/up_arrow.png b/gfx/up_arrow.png deleted file mode 100644 index 6ebd7bfd..00000000 Binary files a/gfx/up_arrow.png and /dev/null differ diff --git a/gfx/yellow/slotmachine1.png b/gfx/yellow/slotmachine1.png deleted file mode 100644 index 335ce97c..00000000 Binary files a/gfx/yellow/slotmachine1.png and /dev/null differ diff --git a/gfx/yellow/slotmachine2.png b/gfx/yellow/slotmachine2.png deleted file mode 100644 index b4bdf8a8..00000000 Binary files a/gfx/yellow/slotmachine2.png and /dev/null differ diff --git a/main.asm b/main.asm index 1c5aa223..abe13d5b 100755 --- a/main.asm +++ b/main.asm @@ -79,27 +79,27 @@ INCLUDE "engine/hidden_object_functions3.asm" SECTION "Graphics (BANK 4)", ROMX -PokemonLogoGraphics: INCBIN "gfx/pokemon_logo.2bpp" -FontGraphics:: INCBIN "gfx/font.1bpp" +PokemonLogoGraphics: INCBIN "gfx/title/pokemon_logo.2bpp" +FontGraphics:: INCBIN "gfx/font/font.1bpp" FontGraphicsEnd:: -ABTiles: INCBIN "gfx/AB.2bpp" -HpBarAndStatusGraphics:: INCBIN "gfx/hp_bar_and_status.2bpp" +ABTiles: INCBIN "gfx/font/AB.2bpp" +HpBarAndStatusGraphics:: INCBIN "gfx/font/font_battle_extra.2bpp" HpBarAndStatusGraphicsEnd:: -BattleHudTiles1: INCBIN "gfx/battle_hud1.1bpp" +BattleHudTiles1: INCBIN "gfx/battle/battle_hud_1.1bpp" BattleHudTiles1End: -BattleHudTiles2: INCBIN "gfx/battle_hud2.1bpp" -BattleHudTiles3: INCBIN "gfx/battle_hud3.1bpp" +BattleHudTiles2: INCBIN "gfx/battle/battle_hud_2.1bpp" +BattleHudTiles3: INCBIN "gfx/battle/battle_hud_3.1bpp" BattleHudTiles3End: -NintendoCopyrightLogoGraphics: INCBIN "gfx/copyright.2bpp" -GamefreakLogoGraphics: INCBIN "gfx/gamefreak.2bpp" +NintendoCopyrightLogoGraphics: INCBIN "gfx/intro_credits/copyright.2bpp" +GamefreakLogoGraphics: INCBIN "gfx/title/gamefreak_inc.2bpp" GamefreakLogoGraphicsEnd: -TextBoxGraphics:: INCBIN "gfx/text_box.2bpp" +TextBoxGraphics:: INCBIN "gfx/font/font_extra.2bpp" TextBoxGraphicsEnd:: -PokedexTileGraphics: INCBIN "gfx/pokedex.2bpp" +PokedexTileGraphics: INCBIN "gfx/pokedex/pokedex.2bpp" PokedexTileGraphicsEnd: -WorldMapTileGraphics: INCBIN "gfx/town_map.2bpp" +WorldMapTileGraphics: INCBIN "gfx/town_map/town_map.2bpp" WorldMapTileGraphicsEnd: -PlayerCharacterTitleGraphics: INCBIN "gfx/player_title.2bpp" +PlayerCharacterTitleGraphics: INCBIN "gfx/title/player.2bpp" PlayerCharacterTitleGraphicsEnd: @@ -176,11 +176,11 @@ SECTION "Battle (BANK B)", ROMX INCLUDE "engine/battle/display_effectiveness.asm" -TrainerInfoTextBoxTileGraphics: INCBIN "gfx/trainer_info.2bpp" +TrainerInfoTextBoxTileGraphics: INCBIN "gfx/trainer_card/trainer_info.2bpp" TrainerInfoTextBoxTileGraphicsEnd: -BlankLeaderNames: INCBIN "gfx/blank_leader_names.2bpp" -CircleTile: INCBIN "gfx/circle_tile.2bpp" -BadgeNumbersTileGraphics: INCBIN "gfx/badge_numbers.2bpp" +BlankLeaderNames: INCBIN "gfx/trainer_card/blank_leader_names.2bpp" +CircleTile: INCBIN "gfx/trainer_card/circle_tile.2bpp" +BadgeNumbersTileGraphics: INCBIN "gfx/trainer_card/badge_numbers.2bpp" INCLUDE "engine/items/tmhm.asm" INCLUDE "engine/battle/scale_sprites.asm" @@ -215,12 +215,12 @@ INCLUDE "engine/battle/trainer_ai.asm" INCLUDE "engine/battle/draw_hud_pokeball_gfx.asm" TradingAnimationGraphics: -INCBIN "gfx/game_boy.2bpp" -INCBIN "gfx/link_cable.2bpp" +INCBIN "gfx/trade/game_boy.2bpp" +INCBIN "gfx/trade/link_cable.2bpp" TradingAnimationGraphicsEnd: ; Pokeball traveling through the link cable. -TradingAnimationGraphics2: INCBIN "gfx/trade2.2bpp" +TradingAnimationGraphics2: INCBIN "gfx/trade/cable_ball.2bpp" TradingAnimationGraphics2End: INCLUDE "engine/evos_moves.asm" @@ -323,10 +323,10 @@ INCLUDE "engine/battle/decrement_pp.asm" Version_GFX: IF DEF(_RED) - INCBIN "gfx/red/redgreenversion.1bpp" ; 10 tiles + INCBIN "gfx/title/red_version.1bpp" ; 10 tiles ENDC IF DEF(_BLUE) - INCBIN "gfx/blue/blueversion.1bpp" ; 8 tiles + INCBIN "gfx/title/blue_version.1bpp" ; 8 tiles ENDC Version_GFXEnd: @@ -370,10 +370,10 @@ INCLUDE "engine/battle/animations.asm" INCLUDE "engine/overworld/cut2.asm" INCLUDE "engine/overworld/ssanne.asm" -RedFishingTilesFront: INCBIN "gfx/red_fishing_tile_front.2bpp" -RedFishingTilesBack: INCBIN "gfx/red_fishing_tile_back.2bpp" -RedFishingTilesSide: INCBIN "gfx/red_fishing_tile_side.2bpp" -RedFishingRodTiles: INCBIN "gfx/red_fishingrod_tiles.2bpp" +RedFishingTilesFront: INCBIN "gfx/overworld/red_fish_front.2bpp" +RedFishingTilesBack: INCBIN "gfx/overworld/red_fish_back.2bpp" +RedFishingTilesSide: INCBIN "gfx/overworld/red_fish_side.2bpp" +RedFishingRodTiles: INCBIN "gfx/overworld/fishing_rod.2bpp" INCLUDE "data/animations.asm" INCLUDE "engine/evolution.asm" diff --git a/scripts/RocketHideoutB2F.asm b/scripts/RocketHideoutB2F.asm index 7805f67a..40e2acc4 100755 --- a/scripts/RocketHideoutB2F.asm +++ b/scripts/RocketHideoutB2F.asm @@ -411,7 +411,7 @@ SpinnerPlayerFacingDirections: ; these tiles are the animation for the tiles that push the player in dungeons like Rocket HQ SpinnerArrowAnimTiles: - INCBIN "gfx/spinner_arrow.2bpp" + INCBIN "gfx/overworld/spinners.2bpp" RocketHideoutB2F_TextPointers: dw RocketHideout2Text1 diff --git a/tilesets.asm b/tilesets.asm index 01a8f933..ed6b6223 100644 --- a/tilesets.asm +++ b/tilesets.asm @@ -5,7 +5,7 @@ Overworld_Block:: INCBIN "gfx/blocksets/overworld.bst" RedsHouse1_GFX:: RedsHouse2_GFX:: INCBIN "gfx/tilesets/reds_house.2bpp" - ds 16 + ds 16, $00 ; blank tile RedsHouse1_Block:: RedsHouse2_Block:: INCBIN "gfx/blocksets/reds_house.bst" -- cgit v1.2.3 From e770ee77cebcb56facf2b011dfd011435dc16f46 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sat, 27 Jun 2020 17:02:08 -0400 Subject: Replace .tilecoll files with tile ID db data --- .gitattributes | 1 - data/collision.asm | 24 ----------- data/collision_tile_ids.asm | 82 ++++++++++++++++++++++++++++++++++++++ gfx/tilesets/cavern.tilecoll | 1 - gfx/tilesets/cemetery.tilecoll | 1 - gfx/tilesets/club.tilecoll | 1 - gfx/tilesets/facility.tilecoll | 1 - gfx/tilesets/forest.tilecoll | 1 - gfx/tilesets/gate.tilecoll | 1 - gfx/tilesets/gym.tilecoll | 1 - gfx/tilesets/house.tilecoll | 1 - gfx/tilesets/interior.tilecoll | 1 - gfx/tilesets/lab.tilecoll | 1 - gfx/tilesets/lobby.tilecoll | 1 - gfx/tilesets/mansion.tilecoll | 1 - gfx/tilesets/overworld.tilecoll | Bin 20 -> 0 bytes gfx/tilesets/plateau.tilecoll | 1 - gfx/tilesets/pokecenter.tilecoll | 1 - gfx/tilesets/reds_house.tilecoll | 1 - gfx/tilesets/ship.tilecoll | 1 - gfx/tilesets/ship_port.tilecoll | 2 - gfx/tilesets/underground.tilecoll | 1 - home.asm | 2 +- 23 files changed, 83 insertions(+), 45 deletions(-) delete mode 100644 data/collision.asm create mode 100644 data/collision_tile_ids.asm delete mode 100644 gfx/tilesets/cavern.tilecoll delete mode 100644 gfx/tilesets/cemetery.tilecoll delete mode 100644 gfx/tilesets/club.tilecoll delete mode 100644 gfx/tilesets/facility.tilecoll delete mode 100644 gfx/tilesets/forest.tilecoll delete mode 100644 gfx/tilesets/gate.tilecoll delete mode 100644 gfx/tilesets/gym.tilecoll delete mode 100644 gfx/tilesets/house.tilecoll delete mode 100644 gfx/tilesets/interior.tilecoll delete mode 100644 gfx/tilesets/lab.tilecoll delete mode 100644 gfx/tilesets/lobby.tilecoll delete mode 100644 gfx/tilesets/mansion.tilecoll delete mode 100644 gfx/tilesets/overworld.tilecoll delete mode 100644 gfx/tilesets/plateau.tilecoll delete mode 100644 gfx/tilesets/pokecenter.tilecoll delete mode 100644 gfx/tilesets/reds_house.tilecoll delete mode 100644 gfx/tilesets/ship.tilecoll delete mode 100644 gfx/tilesets/ship_port.tilecoll delete mode 100644 gfx/tilesets/underground.tilecoll diff --git a/.gitattributes b/.gitattributes index 4f4d8c38..48b1085c 100644 --- a/.gitattributes +++ b/.gitattributes @@ -10,7 +10,6 @@ *.2bpp binary *.1bpp binary *.rle binary -*.tilecoll binary *.bst binary *.tilemap binary *.wav binary diff --git a/data/collision.asm b/data/collision.asm deleted file mode 100644 index 78579242..00000000 --- a/data/collision.asm +++ /dev/null @@ -1,24 +0,0 @@ -Underground_Coll:: INCBIN "gfx/tilesets/underground.tilecoll" -Overworld_Coll:: INCBIN "gfx/tilesets/overworld.tilecoll" -RedsHouse1_Coll:: -RedsHouse2_Coll:: INCBIN "gfx/tilesets/reds_house.tilecoll" -Mart_Coll:: -Pokecenter_Coll:: INCBIN "gfx/tilesets/pokecenter.tilecoll" -Dojo_Coll:: -Gym_Coll:: INCBIN "gfx/tilesets/gym.tilecoll" -Forest_Coll:: INCBIN "gfx/tilesets/forest.tilecoll" -House_Coll:: INCBIN "gfx/tilesets/house.tilecoll" -ForestGate_Coll:: -Museum_Coll:: -Gate_Coll:: INCBIN "gfx/tilesets/gate.tilecoll" -Ship_Coll:: INCBIN "gfx/tilesets/ship.tilecoll" -ShipPort_Coll:: INCBIN "gfx/tilesets/ship_port.tilecoll" -Cemetery_Coll:: INCBIN "gfx/tilesets/cemetery.tilecoll" -Interior_Coll:: INCBIN "gfx/tilesets/interior.tilecoll" -Cavern_Coll:: INCBIN "gfx/tilesets/cavern.tilecoll" -Lobby_Coll:: INCBIN "gfx/tilesets/lobby.tilecoll" -Mansion_Coll:: INCBIN "gfx/tilesets/mansion.tilecoll" -Lab_Coll:: INCBIN "gfx/tilesets/lab.tilecoll" -Club_Coll:: INCBIN "gfx/tilesets/club.tilecoll" -Facility_Coll:: INCBIN "gfx/tilesets/facility.tilecoll" -Plateau_Coll:: INCBIN "gfx/tilesets/plateau.tilecoll" diff --git a/data/collision_tile_ids.asm b/data/collision_tile_ids.asm new file mode 100644 index 00000000..c18a7e72 --- /dev/null +++ b/data/collision_tile_ids.asm @@ -0,0 +1,82 @@ +Underground_Coll:: + db $0b, $0c, $13, $15, $18 + db -1 ; end + +Overworld_Coll:: + db $00, $10, $1b, $20, $21, $23, $2c, $2d, $2e, $30, $31, $33, $39, $3c, $3e, $52, $54, $58, $5b + db -1 ; end + +RedsHouse1_Coll:: +RedsHouse2_Coll:: + db $01, $02, $03, $11, $12, $13, $14, $1c, $1a + db -1 ; end + +Mart_Coll:: +Pokecenter_Coll:: + db $11, $1a, $1c, $3c, $5e + db -1 ; end + +Dojo_Coll:: +Gym_Coll:: + db $11, $16, $19, $2b, $3c, $3d, $3f, $4a, $4c, $4d, $03 + db -1 ; end + +Forest_Coll:: + db $1e, $20, $2e, $30, $34, $37, $39, $3a, $40, $51, $52, $5a, $5c, $5e, $5f + db -1 ; end + +House_Coll:: + db $01, $12, $14, $28, $32, $37, $44, $54, $5c + db -1 ; end + +ForestGate_Coll:: +Museum_Coll:: +Gate_Coll:: + db $01, $12, $14, $1a, $1c, $37, $38, $3b, $3c, $5e + db -1 ; end + +Ship_Coll:: + db $04, $0d, $17, $1d, $1e, $23, $34, $37, $39, $4a + db -1 ; end + +ShipPort_Coll:: + db $0a, $1a, $32, $3b + db -1 ; end + +Cemetery_Coll:: + db $01, $10, $13, $1b, $22, $42, $52 + db -1 ; end + +Interior_Coll:: + db $04, $0f, $15, $1f, $3b, $45, $47, $55, $56 + db -1 ; end + +Cavern_Coll:: + db $05, $15, $18, $1a, $20, $21, $22, $2a, $2d, $30 + db -1 ; end + + db -1 ; unused + +Lobby_Coll:: + db $14, $17, $1a, $1c, $20, $38, $45 + db -1 ; end + +Mansion_Coll:: + db $01, $05, $11, $12, $14, $1a, $1c, $2c, $53 + db -1 ; end + +Lab_Coll:: + db $0c, $26, $16, $1e, $34, $37 + db -1 ; end + +Club_Coll:: + db $0f, $1a, $1f, $26, $28, $29, $2c, $2d, $2e, $2f, $41 + db -1 ; end + +Facility_Coll:: + db $01, $10, $11, $13, $1b, $20, $21, $22, $30, $31, $32, $42, $43, $48, $52, $55, $58, $5e + db -1 ; end + +Plateau_Coll:: + db $1b, $23, $2c, $2d, $3b, $45 + db -1 ; end diff --git a/gfx/tilesets/cavern.tilecoll b/gfx/tilesets/cavern.tilecoll deleted file mode 100644 index dab3e10f..00000000 --- a/gfx/tilesets/cavern.tilecoll +++ /dev/null @@ -1 +0,0 @@ - !"*-0 \ No newline at end of file diff --git a/gfx/tilesets/cemetery.tilecoll b/gfx/tilesets/cemetery.tilecoll deleted file mode 100644 index f4bee2ee..00000000 --- a/gfx/tilesets/cemetery.tilecoll +++ /dev/null @@ -1 +0,0 @@ -"BR \ No newline at end of file diff --git a/gfx/tilesets/club.tilecoll b/gfx/tilesets/club.tilecoll deleted file mode 100644 index 9bd5f3ba..00000000 --- a/gfx/tilesets/club.tilecoll +++ /dev/null @@ -1 +0,0 @@ -&(),-./A \ No newline at end of file diff --git a/gfx/tilesets/facility.tilecoll b/gfx/tilesets/facility.tilecoll deleted file mode 100644 index d55b119b..00000000 --- a/gfx/tilesets/facility.tilecoll +++ /dev/null @@ -1 +0,0 @@ - !"012BCHRUX^ \ No newline at end of file diff --git a/gfx/tilesets/forest.tilecoll b/gfx/tilesets/forest.tilecoll deleted file mode 100644 index 45bf737e..00000000 --- a/gfx/tilesets/forest.tilecoll +++ /dev/null @@ -1 +0,0 @@ - .0479:@QRZ\^_ \ No newline at end of file diff --git a/gfx/tilesets/gate.tilecoll b/gfx/tilesets/gate.tilecoll deleted file mode 100644 index dd06b044..00000000 --- a/gfx/tilesets/gate.tilecoll +++ /dev/null @@ -1 +0,0 @@ -78;<^ \ No newline at end of file diff --git a/gfx/tilesets/gym.tilecoll b/gfx/tilesets/gym.tilecoll deleted file mode 100644 index 916e2579..00000000 --- a/gfx/tilesets/gym.tilecoll +++ /dev/null @@ -1 +0,0 @@ -+<=?JLM \ No newline at end of file diff --git a/gfx/tilesets/house.tilecoll b/gfx/tilesets/house.tilecoll deleted file mode 100644 index 95497e70..00000000 --- a/gfx/tilesets/house.tilecoll +++ /dev/null @@ -1 +0,0 @@ -(27DT\ \ No newline at end of file diff --git a/gfx/tilesets/interior.tilecoll b/gfx/tilesets/interior.tilecoll deleted file mode 100644 index b5d32687..00000000 --- a/gfx/tilesets/interior.tilecoll +++ /dev/null @@ -1 +0,0 @@ -;EGUV \ No newline at end of file diff --git a/gfx/tilesets/lab.tilecoll b/gfx/tilesets/lab.tilecoll deleted file mode 100644 index c171ba99..00000000 --- a/gfx/tilesets/lab.tilecoll +++ /dev/null @@ -1 +0,0 @@ - &47 \ No newline at end of file diff --git a/gfx/tilesets/lobby.tilecoll b/gfx/tilesets/lobby.tilecoll deleted file mode 100644 index 6388083c..00000000 --- a/gfx/tilesets/lobby.tilecoll +++ /dev/null @@ -1 +0,0 @@ - 8E \ No newline at end of file diff --git a/gfx/tilesets/mansion.tilecoll b/gfx/tilesets/mansion.tilecoll deleted file mode 100644 index e07ea10a..00000000 --- a/gfx/tilesets/mansion.tilecoll +++ /dev/null @@ -1 +0,0 @@ -,S \ No newline at end of file diff --git a/gfx/tilesets/overworld.tilecoll b/gfx/tilesets/overworld.tilecoll deleted file mode 100644 index dae824f1..00000000 Binary files a/gfx/tilesets/overworld.tilecoll and /dev/null differ diff --git a/gfx/tilesets/plateau.tilecoll b/gfx/tilesets/plateau.tilecoll deleted file mode 100644 index 5958688e..00000000 --- a/gfx/tilesets/plateau.tilecoll +++ /dev/null @@ -1 +0,0 @@ -#,-;E \ No newline at end of file diff --git a/gfx/tilesets/pokecenter.tilecoll b/gfx/tilesets/pokecenter.tilecoll deleted file mode 100644 index 928af693..00000000 --- a/gfx/tilesets/pokecenter.tilecoll +++ /dev/null @@ -1 +0,0 @@ -<^ \ No newline at end of file diff --git a/gfx/tilesets/reds_house.tilecoll b/gfx/tilesets/reds_house.tilecoll deleted file mode 100644 index b19db300..00000000 --- a/gfx/tilesets/reds_house.tilecoll +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/gfx/tilesets/ship.tilecoll b/gfx/tilesets/ship.tilecoll deleted file mode 100644 index d78bcc45..00000000 --- a/gfx/tilesets/ship.tilecoll +++ /dev/null @@ -1 +0,0 @@ - #479J \ No newline at end of file diff --git a/gfx/tilesets/ship_port.tilecoll b/gfx/tilesets/ship_port.tilecoll deleted file mode 100644 index 2dc99b5c..00000000 --- a/gfx/tilesets/ship_port.tilecoll +++ /dev/null @@ -1,2 +0,0 @@ - -2; \ No newline at end of file diff --git a/gfx/tilesets/underground.tilecoll b/gfx/tilesets/underground.tilecoll deleted file mode 100644 index 75efd22b..00000000 --- a/gfx/tilesets/underground.tilecoll +++ /dev/null @@ -1 +0,0 @@ -  \ No newline at end of file diff --git a/home.asm b/home.asm index 98ddef68..cd5352cb 100644 --- a/home.asm +++ b/home.asm @@ -910,7 +910,7 @@ InterlaceMergeSpriteBuffers:: jp CopyVideoData -INCLUDE "data/collision.asm" +INCLUDE "data/collision_tile_ids.asm" INCLUDE "home/copy2.asm" INCLUDE "home/text.asm" INCLUDE "home/vcopy.asm" -- cgit v1.2.3 From 77df64ba9c5dff5dcafad6545eefa6cd614c66b3 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sat, 27 Jun 2020 17:22:33 -0400 Subject: Fix the slot machine tilemap, and adjust the slot graphics --- Makefile | 3 +++ gfx/slots/blue_slots_1.png | Bin 459 -> 469 bytes gfx/slots/red_slots_1.png | Bin 471 -> 470 bytes gfx/slots/slots.tilemap | Bin 236 -> 240 bytes 4 files changed, 3 insertions(+) diff --git a/Makefile b/Makefile index 2b077082..5daa6a74 100644 --- a/Makefile +++ b/Makefile @@ -95,6 +95,9 @@ gfx/intro_credits/red_nidorino_3.2bpp: $(RGBGFX) += -h gfx/intro_credits/the_end.2bpp: tools/gfx += --interleave --png=$< +gfx/slots/red_slots_1.2bpp: tools/gfx += --trim-whitespace +gfx/slots/blue_slots_1.2bpp: tools/gfx += --trim-whitespace + gfx/tilesets/%.2bpp: tools/gfx += --trim-whitespace gfx/trade/game_boy.2bpp: tools/gfx += --remove-duplicates diff --git a/gfx/slots/blue_slots_1.png b/gfx/slots/blue_slots_1.png index 41ebfdea..ea4cf0bd 100644 Binary files a/gfx/slots/blue_slots_1.png and b/gfx/slots/blue_slots_1.png differ diff --git a/gfx/slots/red_slots_1.png b/gfx/slots/red_slots_1.png index 785c74f9..b27d5801 100644 Binary files a/gfx/slots/red_slots_1.png and b/gfx/slots/red_slots_1.png differ diff --git a/gfx/slots/slots.tilemap b/gfx/slots/slots.tilemap index 8af0cdd3..68807bbd 100644 Binary files a/gfx/slots/slots.tilemap and b/gfx/slots/slots.tilemap differ -- cgit v1.2.3 From 209ecc1919f561e4a0a5a79fb1fbb4956c3338ba Mon Sep 17 00:00:00 2001 From: Rangi Date: Sat, 27 Jun 2020 18:02:08 -0400 Subject: Merge pic/ into gfx/ --- Makefile | 2 +- data/baseStats/abra.asm | 2 +- data/baseStats/aerodactyl.asm | 2 +- data/baseStats/alakazam.asm | 2 +- data/baseStats/arbok.asm | 2 +- data/baseStats/arcanine.asm | 2 +- data/baseStats/articuno.asm | 2 +- data/baseStats/beedrill.asm | 2 +- data/baseStats/bellsprout.asm | 2 +- data/baseStats/blastoise.asm | 2 +- data/baseStats/bulbasaur.asm | 2 +- data/baseStats/butterfree.asm | 2 +- data/baseStats/caterpie.asm | 2 +- data/baseStats/chansey.asm | 2 +- data/baseStats/charizard.asm | 2 +- data/baseStats/charmander.asm | 2 +- data/baseStats/charmeleon.asm | 2 +- data/baseStats/clefable.asm | 2 +- data/baseStats/clefairy.asm | 2 +- data/baseStats/cloyster.asm | 2 +- data/baseStats/cubone.asm | 2 +- data/baseStats/dewgong.asm | 2 +- data/baseStats/diglett.asm | 2 +- data/baseStats/ditto.asm | 2 +- data/baseStats/dodrio.asm | 2 +- data/baseStats/doduo.asm | 2 +- data/baseStats/dragonair.asm | 2 +- data/baseStats/dragonite.asm | 2 +- data/baseStats/dratini.asm | 2 +- data/baseStats/drowzee.asm | 2 +- data/baseStats/dugtrio.asm | 2 +- data/baseStats/eevee.asm | 2 +- data/baseStats/ekans.asm | 2 +- data/baseStats/electabuzz.asm | 2 +- data/baseStats/electrode.asm | 2 +- data/baseStats/exeggcute.asm | 2 +- data/baseStats/exeggutor.asm | 2 +- data/baseStats/farfetchd.asm | 2 +- data/baseStats/fearow.asm | 2 +- data/baseStats/flareon.asm | 2 +- data/baseStats/gastly.asm | 2 +- data/baseStats/gengar.asm | 2 +- data/baseStats/geodude.asm | 2 +- data/baseStats/gloom.asm | 2 +- data/baseStats/golbat.asm | 2 +- data/baseStats/goldeen.asm | 2 +- data/baseStats/golduck.asm | 2 +- data/baseStats/golem.asm | 2 +- data/baseStats/graveler.asm | 2 +- data/baseStats/grimer.asm | 2 +- data/baseStats/growlithe.asm | 2 +- data/baseStats/gyarados.asm | 2 +- data/baseStats/haunter.asm | 2 +- data/baseStats/hitmonchan.asm | 2 +- data/baseStats/hitmonlee.asm | 2 +- data/baseStats/horsea.asm | 2 +- data/baseStats/hypno.asm | 2 +- data/baseStats/ivysaur.asm | 2 +- data/baseStats/jigglypuff.asm | 2 +- data/baseStats/jolteon.asm | 2 +- data/baseStats/jynx.asm | 2 +- data/baseStats/kabuto.asm | 2 +- data/baseStats/kabutops.asm | 2 +- data/baseStats/kadabra.asm | 2 +- data/baseStats/kakuna.asm | 2 +- data/baseStats/kangaskhan.asm | 2 +- data/baseStats/kingler.asm | 2 +- data/baseStats/koffing.asm | 2 +- data/baseStats/krabby.asm | 2 +- data/baseStats/lapras.asm | 2 +- data/baseStats/lickitung.asm | 2 +- data/baseStats/machamp.asm | 2 +- data/baseStats/machoke.asm | 2 +- data/baseStats/machop.asm | 2 +- data/baseStats/magikarp.asm | 2 +- data/baseStats/magmar.asm | 2 +- data/baseStats/magnemite.asm | 2 +- data/baseStats/magneton.asm | 2 +- data/baseStats/mankey.asm | 2 +- data/baseStats/marowak.asm | 2 +- data/baseStats/meowth.asm | 2 +- data/baseStats/metapod.asm | 2 +- data/baseStats/mew.asm | 2 +- data/baseStats/mewtwo.asm | 2 +- data/baseStats/moltres.asm | 2 +- data/baseStats/mrmime.asm | 2 +- data/baseStats/muk.asm | 2 +- data/baseStats/nidoking.asm | 2 +- data/baseStats/nidoqueen.asm | 2 +- data/baseStats/nidoranf.asm | 2 +- data/baseStats/nidoranm.asm | 2 +- data/baseStats/nidorina.asm | 2 +- data/baseStats/nidorino.asm | 2 +- data/baseStats/ninetales.asm | 2 +- data/baseStats/oddish.asm | 2 +- data/baseStats/omanyte.asm | 2 +- data/baseStats/omastar.asm | 2 +- data/baseStats/onix.asm | 2 +- data/baseStats/paras.asm | 2 +- data/baseStats/parasect.asm | 2 +- data/baseStats/persian.asm | 2 +- data/baseStats/pidgeot.asm | 2 +- data/baseStats/pidgeotto.asm | 2 +- data/baseStats/pidgey.asm | 2 +- data/baseStats/pikachu.asm | 2 +- data/baseStats/pinsir.asm | 2 +- data/baseStats/poliwag.asm | 2 +- data/baseStats/poliwhirl.asm | 2 +- data/baseStats/poliwrath.asm | 2 +- data/baseStats/ponyta.asm | 2 +- data/baseStats/porygon.asm | 2 +- data/baseStats/primeape.asm | 2 +- data/baseStats/psyduck.asm | 2 +- data/baseStats/raichu.asm | 2 +- data/baseStats/rapidash.asm | 2 +- data/baseStats/raticate.asm | 2 +- data/baseStats/rattata.asm | 2 +- data/baseStats/rhydon.asm | 2 +- data/baseStats/rhyhorn.asm | 2 +- data/baseStats/sandshrew.asm | 2 +- data/baseStats/sandslash.asm | 2 +- data/baseStats/scyther.asm | 2 +- data/baseStats/seadra.asm | 2 +- data/baseStats/seaking.asm | 2 +- data/baseStats/seel.asm | 2 +- data/baseStats/shellder.asm | 2 +- data/baseStats/slowbro.asm | 2 +- data/baseStats/slowpoke.asm | 2 +- data/baseStats/snorlax.asm | 2 +- data/baseStats/spearow.asm | 2 +- data/baseStats/squirtle.asm | 2 +- data/baseStats/starmie.asm | 2 +- data/baseStats/staryu.asm | 2 +- data/baseStats/tangela.asm | 2 +- data/baseStats/tauros.asm | 2 +- data/baseStats/tentacool.asm | 2 +- data/baseStats/tentacruel.asm | 2 +- data/baseStats/vaporeon.asm | 2 +- data/baseStats/venomoth.asm | 2 +- data/baseStats/venonat.asm | 2 +- data/baseStats/venusaur.asm | 2 +- data/baseStats/victreebel.asm | 2 +- data/baseStats/vileplume.asm | 2 +- data/baseStats/voltorb.asm | 2 +- data/baseStats/vulpix.asm | 2 +- data/baseStats/wartortle.asm | 2 +- data/baseStats/weedle.asm | 2 +- data/baseStats/weepinbell.asm | 2 +- data/baseStats/weezing.asm | 2 +- data/baseStats/wigglytuff.asm | 2 +- data/baseStats/zapdos.asm | 2 +- data/baseStats/zubat.asm | 2 +- gfx/battle/ghost.png | Bin 0 -> 497 bytes gfx/battle/oldman.png | Bin 0 -> 259 bytes gfx/player/red.png | Bin 0 -> 410 bytes gfx/player/redb.png | Bin 0 -> 256 bytes gfx/player/shrink1.png | Bin 0 -> 196 bytes gfx/player/shrink2.png | Bin 0 -> 139 bytes gfx/pokemon/back/abrab.png | Bin 0 -> 244 bytes gfx/pokemon/back/aerodactylb.png | Bin 0 -> 259 bytes gfx/pokemon/back/alakazamb.png | Bin 0 -> 267 bytes gfx/pokemon/back/arbokb.png | Bin 0 -> 263 bytes gfx/pokemon/back/arcanineb.png | Bin 0 -> 271 bytes gfx/pokemon/back/articunob.png | Bin 0 -> 203 bytes gfx/pokemon/back/beedrillb.png | Bin 0 -> 222 bytes gfx/pokemon/back/bellsproutb.png | Bin 0 -> 225 bytes gfx/pokemon/back/blastoiseb.png | Bin 0 -> 246 bytes gfx/pokemon/back/bulbasaurb.png | Bin 0 -> 209 bytes gfx/pokemon/back/butterfreeb.png | Bin 0 -> 234 bytes gfx/pokemon/back/caterpieb.png | Bin 0 -> 174 bytes gfx/pokemon/back/chanseyb.png | Bin 0 -> 203 bytes gfx/pokemon/back/charizardb.png | Bin 0 -> 263 bytes gfx/pokemon/back/charmanderb.png | Bin 0 -> 178 bytes gfx/pokemon/back/charmeleonb.png | Bin 0 -> 220 bytes gfx/pokemon/back/clefableb.png | Bin 0 -> 259 bytes gfx/pokemon/back/clefairyb.png | Bin 0 -> 179 bytes gfx/pokemon/back/cloysterb.png | Bin 0 -> 292 bytes gfx/pokemon/back/cuboneb.png | Bin 0 -> 220 bytes gfx/pokemon/back/dewgongb.png | Bin 0 -> 223 bytes gfx/pokemon/back/diglettb.png | Bin 0 -> 197 bytes gfx/pokemon/back/dittob.png | Bin 0 -> 159 bytes gfx/pokemon/back/dodriob.png | Bin 0 -> 273 bytes gfx/pokemon/back/doduob.png | Bin 0 -> 207 bytes gfx/pokemon/back/dragonairb.png | Bin 0 -> 237 bytes gfx/pokemon/back/dragoniteb.png | Bin 0 -> 277 bytes gfx/pokemon/back/dratinib.png | Bin 0 -> 196 bytes gfx/pokemon/back/drowzeeb.png | Bin 0 -> 215 bytes gfx/pokemon/back/dugtriob.png | Bin 0 -> 249 bytes gfx/pokemon/back/eeveeb.png | Bin 0 -> 199 bytes gfx/pokemon/back/ekansb.png | Bin 0 -> 158 bytes gfx/pokemon/back/electabuzzb.png | Bin 0 -> 258 bytes gfx/pokemon/back/electrodeb.png | Bin 0 -> 199 bytes gfx/pokemon/back/exeggcuteb.png | Bin 0 -> 236 bytes gfx/pokemon/back/exeggutorb.png | Bin 0 -> 272 bytes gfx/pokemon/back/farfetchdb.png | Bin 0 -> 265 bytes gfx/pokemon/back/fearowb.png | Bin 0 -> 238 bytes gfx/pokemon/back/flareonb.png | Bin 0 -> 254 bytes gfx/pokemon/back/gastlyb.png | Bin 0 -> 227 bytes gfx/pokemon/back/gengarb.png | Bin 0 -> 206 bytes gfx/pokemon/back/geodudeb.png | Bin 0 -> 169 bytes gfx/pokemon/back/gloomb.png | Bin 0 -> 285 bytes gfx/pokemon/back/golbatb.png | Bin 0 -> 193 bytes gfx/pokemon/back/goldeenb.png | Bin 0 -> 202 bytes gfx/pokemon/back/golduckb.png | Bin 0 -> 248 bytes gfx/pokemon/back/golemb.png | Bin 0 -> 206 bytes gfx/pokemon/back/gravelerb.png | Bin 0 -> 276 bytes gfx/pokemon/back/grimerb.png | Bin 0 -> 291 bytes gfx/pokemon/back/growlitheb.png | Bin 0 -> 201 bytes gfx/pokemon/back/gyaradosb.png | Bin 0 -> 254 bytes gfx/pokemon/back/haunterb.png | Bin 0 -> 232 bytes gfx/pokemon/back/hitmonchanb.png | Bin 0 -> 228 bytes gfx/pokemon/back/hitmonleeb.png | Bin 0 -> 207 bytes gfx/pokemon/back/horseab.png | Bin 0 -> 168 bytes gfx/pokemon/back/hypnob.png | Bin 0 -> 239 bytes gfx/pokemon/back/ivysaurb.png | Bin 0 -> 223 bytes gfx/pokemon/back/jigglypuffb.png | Bin 0 -> 151 bytes gfx/pokemon/back/jolteonb.png | Bin 0 -> 271 bytes gfx/pokemon/back/jynxb.png | Bin 0 -> 225 bytes gfx/pokemon/back/kabutob.png | Bin 0 -> 174 bytes gfx/pokemon/back/kabutopsb.png | Bin 0 -> 252 bytes gfx/pokemon/back/kadabrab.png | Bin 0 -> 242 bytes gfx/pokemon/back/kakunab.png | Bin 0 -> 169 bytes gfx/pokemon/back/kangaskhanb.png | Bin 0 -> 260 bytes gfx/pokemon/back/kinglerb.png | Bin 0 -> 276 bytes gfx/pokemon/back/koffingb.png | Bin 0 -> 275 bytes gfx/pokemon/back/krabbyb.png | Bin 0 -> 205 bytes gfx/pokemon/back/laprasb.png | Bin 0 -> 238 bytes gfx/pokemon/back/lickitungb.png | Bin 0 -> 266 bytes gfx/pokemon/back/machampb.png | Bin 0 -> 236 bytes gfx/pokemon/back/machokeb.png | Bin 0 -> 245 bytes gfx/pokemon/back/machopb.png | Bin 0 -> 216 bytes gfx/pokemon/back/magikarpb.png | Bin 0 -> 247 bytes gfx/pokemon/back/magmarb.png | Bin 0 -> 286 bytes gfx/pokemon/back/magnemiteb.png | Bin 0 -> 165 bytes gfx/pokemon/back/magnetonb.png | Bin 0 -> 230 bytes gfx/pokemon/back/mankeyb.png | Bin 0 -> 207 bytes gfx/pokemon/back/marowakb.png | Bin 0 -> 249 bytes gfx/pokemon/back/meowthb.png | Bin 0 -> 181 bytes gfx/pokemon/back/metapodb.png | Bin 0 -> 214 bytes gfx/pokemon/back/mewb.png | Bin 0 -> 188 bytes gfx/pokemon/back/mewtwob.png | Bin 0 -> 278 bytes gfx/pokemon/back/moltresb.png | Bin 0 -> 263 bytes gfx/pokemon/back/mr.mimeb.png | Bin 0 -> 232 bytes gfx/pokemon/back/mukb.png | Bin 0 -> 229 bytes gfx/pokemon/back/nidokingb.png | Bin 0 -> 292 bytes gfx/pokemon/back/nidoqueenb.png | Bin 0 -> 306 bytes gfx/pokemon/back/nidoranfb.png | Bin 0 -> 151 bytes gfx/pokemon/back/nidoranmb.png | Bin 0 -> 191 bytes gfx/pokemon/back/nidorinab.png | Bin 0 -> 246 bytes gfx/pokemon/back/nidorinob.png | Bin 0 -> 276 bytes gfx/pokemon/back/ninetalesb.png | Bin 0 -> 255 bytes gfx/pokemon/back/oddishb.png | Bin 0 -> 264 bytes gfx/pokemon/back/omanyteb.png | Bin 0 -> 176 bytes gfx/pokemon/back/omastarb.png | Bin 0 -> 282 bytes gfx/pokemon/back/onixb.png | Bin 0 -> 250 bytes gfx/pokemon/back/parasb.png | Bin 0 -> 195 bytes gfx/pokemon/back/parasectb.png | Bin 0 -> 221 bytes gfx/pokemon/back/persianb.png | Bin 0 -> 256 bytes gfx/pokemon/back/pidgeotb.png | Bin 0 -> 270 bytes gfx/pokemon/back/pidgeottob.png | Bin 0 -> 199 bytes gfx/pokemon/back/pidgeyb.png | Bin 0 -> 149 bytes gfx/pokemon/back/pikachub.png | Bin 0 -> 238 bytes gfx/pokemon/back/pinsirb.png | Bin 0 -> 267 bytes gfx/pokemon/back/poliwagb.png | Bin 0 -> 171 bytes gfx/pokemon/back/poliwhirlb.png | Bin 0 -> 211 bytes gfx/pokemon/back/poliwrathb.png | Bin 0 -> 181 bytes gfx/pokemon/back/ponytab.png | Bin 0 -> 251 bytes gfx/pokemon/back/porygonb.png | Bin 0 -> 198 bytes gfx/pokemon/back/primeapeb.png | Bin 0 -> 240 bytes gfx/pokemon/back/psyduckb.png | Bin 0 -> 208 bytes gfx/pokemon/back/raichub.png | Bin 0 -> 258 bytes gfx/pokemon/back/rapidashb.png | Bin 0 -> 286 bytes gfx/pokemon/back/raticateb.png | Bin 0 -> 220 bytes gfx/pokemon/back/rattatab.png | Bin 0 -> 140 bytes gfx/pokemon/back/rhydonb.png | Bin 0 -> 273 bytes gfx/pokemon/back/rhyhornb.png | Bin 0 -> 299 bytes gfx/pokemon/back/sandshrewb.png | Bin 0 -> 216 bytes gfx/pokemon/back/sandslashb.png | Bin 0 -> 244 bytes gfx/pokemon/back/scytherb.png | Bin 0 -> 263 bytes gfx/pokemon/back/seadrab.png | Bin 0 -> 273 bytes gfx/pokemon/back/seakingb.png | Bin 0 -> 285 bytes gfx/pokemon/back/seelb.png | Bin 0 -> 184 bytes gfx/pokemon/back/shellderb.png | Bin 0 -> 185 bytes gfx/pokemon/back/slowbrob.png | Bin 0 -> 277 bytes gfx/pokemon/back/slowpokeb.png | Bin 0 -> 217 bytes gfx/pokemon/back/snorlaxb.png | Bin 0 -> 189 bytes gfx/pokemon/back/spearowb.png | Bin 0 -> 172 bytes gfx/pokemon/back/squirtleb.png | Bin 0 -> 225 bytes gfx/pokemon/back/starmieb.png | Bin 0 -> 180 bytes gfx/pokemon/back/staryub.png | Bin 0 -> 160 bytes gfx/pokemon/back/tangelab.png | Bin 0 -> 203 bytes gfx/pokemon/back/taurosb.png | Bin 0 -> 260 bytes gfx/pokemon/back/tentacoolb.png | Bin 0 -> 172 bytes gfx/pokemon/back/tentacruelb.png | Bin 0 -> 288 bytes gfx/pokemon/back/vaporeonb.png | Bin 0 -> 262 bytes gfx/pokemon/back/venomothb.png | Bin 0 -> 184 bytes gfx/pokemon/back/venonatb.png | Bin 0 -> 192 bytes gfx/pokemon/back/venusaurb.png | Bin 0 -> 289 bytes gfx/pokemon/back/victreebelb.png | Bin 0 -> 257 bytes gfx/pokemon/back/vileplumeb.png | Bin 0 -> 233 bytes gfx/pokemon/back/voltorbb.png | Bin 0 -> 187 bytes gfx/pokemon/back/vulpixb.png | Bin 0 -> 201 bytes gfx/pokemon/back/wartortleb.png | Bin 0 -> 260 bytes gfx/pokemon/back/weedleb.png | Bin 0 -> 182 bytes gfx/pokemon/back/weepinbellb.png | Bin 0 -> 219 bytes gfx/pokemon/back/weezingb.png | Bin 0 -> 287 bytes gfx/pokemon/back/wigglytuffb.png | Bin 0 -> 220 bytes gfx/pokemon/back/zapdosb.png | Bin 0 -> 252 bytes gfx/pokemon/back/zubatb.png | Bin 0 -> 177 bytes gfx/pokemon/front/abra.png | Bin 0 -> 390 bytes gfx/pokemon/front/aerodactyl.png | Bin 0 -> 583 bytes gfx/pokemon/front/alakazam.png | Bin 0 -> 688 bytes gfx/pokemon/front/arbok.png | Bin 0 -> 728 bytes gfx/pokemon/front/arcanine.png | Bin 0 -> 722 bytes gfx/pokemon/front/articuno.png | Bin 0 -> 705 bytes gfx/pokemon/front/beedrill.png | Bin 0 -> 666 bytes gfx/pokemon/front/bellsprout.png | Bin 0 -> 313 bytes gfx/pokemon/front/blastoise.png | Bin 0 -> 685 bytes gfx/pokemon/front/bulbasaur.png | Bin 0 -> 362 bytes gfx/pokemon/front/butterfree.png | Bin 0 -> 628 bytes gfx/pokemon/front/caterpie.png | Bin 0 -> 243 bytes gfx/pokemon/front/chansey.png | Bin 0 -> 496 bytes gfx/pokemon/front/charizard.png | Bin 0 -> 676 bytes gfx/pokemon/front/charmander.png | Bin 0 -> 394 bytes gfx/pokemon/front/charmeleon.png | Bin 0 -> 461 bytes gfx/pokemon/front/clefable.png | Bin 0 -> 425 bytes gfx/pokemon/front/clefairy.png | Bin 0 -> 375 bytes gfx/pokemon/front/cloyster.png | Bin 0 -> 690 bytes gfx/pokemon/front/cubone.png | Bin 0 -> 360 bytes gfx/pokemon/front/dewgong.png | Bin 0 -> 460 bytes gfx/pokemon/front/diglett.png | Bin 0 -> 314 bytes gfx/pokemon/front/ditto.png | Bin 0 -> 275 bytes gfx/pokemon/front/dodrio.png | Bin 0 -> 592 bytes gfx/pokemon/front/doduo.png | Bin 0 -> 348 bytes gfx/pokemon/front/dragonair.png | Bin 0 -> 459 bytes gfx/pokemon/front/dragonite.png | Bin 0 -> 638 bytes gfx/pokemon/front/dratini.png | Bin 0 -> 357 bytes gfx/pokemon/front/drowzee.png | Bin 0 -> 499 bytes gfx/pokemon/front/dugtrio.png | Bin 0 -> 565 bytes gfx/pokemon/front/eevee.png | Bin 0 -> 374 bytes gfx/pokemon/front/ekans.png | Bin 0 -> 376 bytes gfx/pokemon/front/electabuzz.png | Bin 0 -> 515 bytes gfx/pokemon/front/electrode.png | Bin 0 -> 323 bytes gfx/pokemon/front/exeggcute.png | Bin 0 -> 664 bytes gfx/pokemon/front/exeggutor.png | Bin 0 -> 713 bytes gfx/pokemon/front/farfetchd.png | Bin 0 -> 614 bytes gfx/pokemon/front/fearow.png | Bin 0 -> 564 bytes gfx/pokemon/front/flareon.png | Bin 0 -> 515 bytes gfx/pokemon/front/fossilaerodactyl.png | Bin 0 -> 539 bytes gfx/pokemon/front/fossilkabutops.png | Bin 0 -> 546 bytes gfx/pokemon/front/gastly.png | Bin 0 -> 668 bytes gfx/pokemon/front/gengar.png | Bin 0 -> 447 bytes gfx/pokemon/front/geodude.png | Bin 0 -> 321 bytes gfx/pokemon/front/gloom.png | Bin 0 -> 429 bytes gfx/pokemon/front/golbat.png | Bin 0 -> 691 bytes gfx/pokemon/front/goldeen.png | Bin 0 -> 415 bytes gfx/pokemon/front/golduck.png | Bin 0 -> 596 bytes gfx/pokemon/front/golem.png | Bin 0 -> 519 bytes gfx/pokemon/front/graveler.png | Bin 0 -> 568 bytes gfx/pokemon/front/grimer.png | Bin 0 -> 441 bytes gfx/pokemon/front/growlithe.png | Bin 0 -> 388 bytes gfx/pokemon/front/gyarados.png | Bin 0 -> 759 bytes gfx/pokemon/front/haunter.png | Bin 0 -> 555 bytes gfx/pokemon/front/hitmonchan.png | Bin 0 -> 538 bytes gfx/pokemon/front/hitmonlee.png | Bin 0 -> 587 bytes gfx/pokemon/front/horsea.png | Bin 0 -> 291 bytes gfx/pokemon/front/hypno.png | Bin 0 -> 638 bytes gfx/pokemon/front/ivysaur.png | Bin 0 -> 431 bytes gfx/pokemon/front/jigglypuff.png | Bin 0 -> 348 bytes gfx/pokemon/front/jolteon.png | Bin 0 -> 514 bytes gfx/pokemon/front/jynx.png | Bin 0 -> 578 bytes gfx/pokemon/front/kabuto.png | Bin 0 -> 326 bytes gfx/pokemon/front/kabutops.png | Bin 0 -> 560 bytes gfx/pokemon/front/kadabra.png | Bin 0 -> 523 bytes gfx/pokemon/front/kakuna.png | Bin 0 -> 316 bytes gfx/pokemon/front/kangaskhan.png | Bin 0 -> 673 bytes gfx/pokemon/front/kingler.png | Bin 0 -> 616 bytes gfx/pokemon/front/koffing.png | Bin 0 -> 599 bytes gfx/pokemon/front/krabby.png | Bin 0 -> 436 bytes gfx/pokemon/front/lapras.png | Bin 0 -> 574 bytes gfx/pokemon/front/lickitung.png | Bin 0 -> 514 bytes gfx/pokemon/front/machamp.png | Bin 0 -> 653 bytes gfx/pokemon/front/machoke.png | Bin 0 -> 633 bytes gfx/pokemon/front/machop.png | Bin 0 -> 381 bytes gfx/pokemon/front/magikarp.png | Bin 0 -> 533 bytes gfx/pokemon/front/magmar.png | Bin 0 -> 496 bytes gfx/pokemon/front/magnemite.png | Bin 0 -> 215 bytes gfx/pokemon/front/magneton.png | Bin 0 -> 552 bytes gfx/pokemon/front/mankey.png | Bin 0 -> 395 bytes gfx/pokemon/front/marowak.png | Bin 0 -> 501 bytes gfx/pokemon/front/meowth.png | Bin 0 -> 383 bytes gfx/pokemon/front/metapod.png | Bin 0 -> 259 bytes gfx/pokemon/front/mew.png | Bin 0 -> 365 bytes gfx/pokemon/front/mewtwo.png | Bin 0 -> 652 bytes gfx/pokemon/front/moltres.png | Bin 0 -> 747 bytes gfx/pokemon/front/mr.mime.png | Bin 0 -> 475 bytes gfx/pokemon/front/muk.png | Bin 0 -> 685 bytes gfx/pokemon/front/nidoking.png | Bin 0 -> 752 bytes gfx/pokemon/front/nidoqueen.png | Bin 0 -> 652 bytes gfx/pokemon/front/nidoranf.png | Bin 0 -> 264 bytes gfx/pokemon/front/nidoranm.png | Bin 0 -> 353 bytes gfx/pokemon/front/nidorina.png | Bin 0 -> 438 bytes gfx/pokemon/front/nidorino.png | Bin 0 -> 517 bytes gfx/pokemon/front/ninetales.png | Bin 0 -> 658 bytes gfx/pokemon/front/oddish.png | Bin 0 -> 267 bytes gfx/pokemon/front/omanyte.png | Bin 0 -> 331 bytes gfx/pokemon/front/omastar.png | Bin 0 -> 585 bytes gfx/pokemon/front/onix.png | Bin 0 -> 558 bytes gfx/pokemon/front/paras.png | Bin 0 -> 307 bytes gfx/pokemon/front/parasect.png | Bin 0 -> 598 bytes gfx/pokemon/front/persian.png | Bin 0 -> 619 bytes gfx/pokemon/front/pidgeot.png | Bin 0 -> 581 bytes gfx/pokemon/front/pidgeotto.png | Bin 0 -> 487 bytes gfx/pokemon/front/pidgey.png | Bin 0 -> 303 bytes gfx/pokemon/front/pikachu.png | Bin 0 -> 396 bytes gfx/pokemon/front/pinsir.png | Bin 0 -> 617 bytes gfx/pokemon/front/poliwag.png | Bin 0 -> 318 bytes gfx/pokemon/front/poliwhirl.png | Bin 0 -> 478 bytes gfx/pokemon/front/poliwrath.png | Bin 0 -> 513 bytes gfx/pokemon/front/ponyta.png | Bin 0 -> 503 bytes gfx/pokemon/front/porygon.png | Bin 0 -> 496 bytes gfx/pokemon/front/primeape.png | Bin 0 -> 607 bytes gfx/pokemon/front/psyduck.png | Bin 0 -> 423 bytes gfx/pokemon/front/raichu.png | Bin 0 -> 595 bytes gfx/pokemon/front/rapidash.png | Bin 0 -> 710 bytes gfx/pokemon/front/raticate.png | Bin 0 -> 539 bytes gfx/pokemon/front/rattata.png | Bin 0 -> 325 bytes gfx/pokemon/front/rhydon.png | Bin 0 -> 657 bytes gfx/pokemon/front/rhyhorn.png | Bin 0 -> 661 bytes gfx/pokemon/front/sandshrew.png | Bin 0 -> 407 bytes gfx/pokemon/front/sandslash.png | Bin 0 -> 556 bytes gfx/pokemon/front/scyther.png | Bin 0 -> 690 bytes gfx/pokemon/front/seadra.png | Bin 0 -> 482 bytes gfx/pokemon/front/seaking.png | Bin 0 -> 627 bytes gfx/pokemon/front/seel.png | Bin 0 -> 490 bytes gfx/pokemon/front/shellder.png | Bin 0 -> 396 bytes gfx/pokemon/front/slowbro.png | Bin 0 -> 765 bytes gfx/pokemon/front/slowpoke.png | Bin 0 -> 428 bytes gfx/pokemon/front/snorlax.png | Bin 0 -> 610 bytes gfx/pokemon/front/spearow.png | Bin 0 -> 337 bytes gfx/pokemon/front/squirtle.png | Bin 0 -> 318 bytes gfx/pokemon/front/starmie.png | Bin 0 -> 537 bytes gfx/pokemon/front/staryu.png | Bin 0 -> 401 bytes gfx/pokemon/front/tangela.png | Bin 0 -> 532 bytes gfx/pokemon/front/tauros.png | Bin 0 -> 622 bytes gfx/pokemon/front/tentacool.png | Bin 0 -> 364 bytes gfx/pokemon/front/tentacruel.png | Bin 0 -> 483 bytes gfx/pokemon/front/vaporeon.png | Bin 0 -> 492 bytes gfx/pokemon/front/venomoth.png | Bin 0 -> 597 bytes gfx/pokemon/front/venonat.png | Bin 0 -> 390 bytes gfx/pokemon/front/venusaur.png | Bin 0 -> 658 bytes gfx/pokemon/front/victreebel.png | Bin 0 -> 603 bytes gfx/pokemon/front/vileplume.png | Bin 0 -> 473 bytes gfx/pokemon/front/voltorb.png | Bin 0 -> 245 bytes gfx/pokemon/front/vulpix.png | Bin 0 -> 501 bytes gfx/pokemon/front/wartortle.png | Bin 0 -> 451 bytes gfx/pokemon/front/weedle.png | Bin 0 -> 286 bytes gfx/pokemon/front/weepinbell.png | Bin 0 -> 436 bytes gfx/pokemon/front/weezing.png | Bin 0 -> 709 bytes gfx/pokemon/front/wigglytuff.png | Bin 0 -> 513 bytes gfx/pokemon/front/zapdos.png | Bin 0 -> 621 bytes gfx/pokemon/front/zubat.png | Bin 0 -> 389 bytes gfx/pokemon/front_rg/abra.png | Bin 0 -> 465 bytes gfx/pokemon/front_rg/aerodactyl.png | Bin 0 -> 625 bytes gfx/pokemon/front_rg/alakazam.png | Bin 0 -> 707 bytes gfx/pokemon/front_rg/arbok.png | Bin 0 -> 665 bytes gfx/pokemon/front_rg/arcanine.png | Bin 0 -> 702 bytes gfx/pokemon/front_rg/articuno.png | Bin 0 -> 655 bytes gfx/pokemon/front_rg/beedrill.png | Bin 0 -> 657 bytes gfx/pokemon/front_rg/bellsprout.png | Bin 0 -> 288 bytes gfx/pokemon/front_rg/blastoise.png | Bin 0 -> 659 bytes gfx/pokemon/front_rg/bulbasaur.png | Bin 0 -> 333 bytes gfx/pokemon/front_rg/butterfree.png | Bin 0 -> 729 bytes gfx/pokemon/front_rg/caterpie.png | Bin 0 -> 242 bytes gfx/pokemon/front_rg/chansey.png | Bin 0 -> 486 bytes gfx/pokemon/front_rg/charizard.png | Bin 0 -> 726 bytes gfx/pokemon/front_rg/charmander.png | Bin 0 -> 381 bytes gfx/pokemon/front_rg/charmeleon.png | Bin 0 -> 509 bytes gfx/pokemon/front_rg/clefable.png | Bin 0 -> 444 bytes gfx/pokemon/front_rg/clefairy.png | Bin 0 -> 333 bytes gfx/pokemon/front_rg/cloyster.png | Bin 0 -> 739 bytes gfx/pokemon/front_rg/cubone.png | Bin 0 -> 398 bytes gfx/pokemon/front_rg/dewgong.png | Bin 0 -> 472 bytes gfx/pokemon/front_rg/diglett.png | Bin 0 -> 226 bytes gfx/pokemon/front_rg/ditto.png | Bin 0 -> 252 bytes gfx/pokemon/front_rg/dodrio.png | Bin 0 -> 673 bytes gfx/pokemon/front_rg/doduo.png | Bin 0 -> 373 bytes gfx/pokemon/front_rg/dragonair.png | Bin 0 -> 506 bytes gfx/pokemon/front_rg/dragonite.png | Bin 0 -> 693 bytes gfx/pokemon/front_rg/dratini.png | Bin 0 -> 347 bytes gfx/pokemon/front_rg/drowzee.png | Bin 0 -> 480 bytes gfx/pokemon/front_rg/dugtrio.png | Bin 0 -> 523 bytes gfx/pokemon/front_rg/eevee.png | Bin 0 -> 347 bytes gfx/pokemon/front_rg/ekans.png | Bin 0 -> 323 bytes gfx/pokemon/front_rg/electabuzz.png | Bin 0 -> 598 bytes gfx/pokemon/front_rg/electrode.png | Bin 0 -> 350 bytes gfx/pokemon/front_rg/exeggcute.png | Bin 0 -> 658 bytes gfx/pokemon/front_rg/exeggutor.png | Bin 0 -> 728 bytes gfx/pokemon/front_rg/farfetchd.png | Bin 0 -> 531 bytes gfx/pokemon/front_rg/fearow.png | Bin 0 -> 699 bytes gfx/pokemon/front_rg/flareon.png | Bin 0 -> 571 bytes gfx/pokemon/front_rg/fossilaerodactyl.png | Bin 0 -> 549 bytes gfx/pokemon/front_rg/fossilkabutops.png | Bin 0 -> 489 bytes gfx/pokemon/front_rg/gastly.png | Bin 0 -> 652 bytes gfx/pokemon/front_rg/gengar.png | Bin 0 -> 456 bytes gfx/pokemon/front_rg/geodude.png | Bin 0 -> 281 bytes gfx/pokemon/front_rg/gloom.png | Bin 0 -> 476 bytes gfx/pokemon/front_rg/golbat.png | Bin 0 -> 598 bytes gfx/pokemon/front_rg/goldeen.png | Bin 0 -> 472 bytes gfx/pokemon/front_rg/golduck.png | Bin 0 -> 619 bytes gfx/pokemon/front_rg/golem.png | Bin 0 -> 565 bytes gfx/pokemon/front_rg/graveler.png | Bin 0 -> 562 bytes gfx/pokemon/front_rg/grimer.png | Bin 0 -> 387 bytes gfx/pokemon/front_rg/growlithe.png | Bin 0 -> 367 bytes gfx/pokemon/front_rg/gyarados.png | Bin 0 -> 732 bytes gfx/pokemon/front_rg/haunter.png | Bin 0 -> 558 bytes gfx/pokemon/front_rg/hitmonchan.png | Bin 0 -> 488 bytes gfx/pokemon/front_rg/hitmonlee.png | Bin 0 -> 555 bytes gfx/pokemon/front_rg/horsea.png | Bin 0 -> 286 bytes gfx/pokemon/front_rg/hypno.png | Bin 0 -> 657 bytes gfx/pokemon/front_rg/ivysaur.png | Bin 0 -> 433 bytes gfx/pokemon/front_rg/jigglypuff.png | Bin 0 -> 317 bytes gfx/pokemon/front_rg/jolteon.png | Bin 0 -> 543 bytes gfx/pokemon/front_rg/jynx.png | Bin 0 -> 561 bytes gfx/pokemon/front_rg/kabuto.png | Bin 0 -> 267 bytes gfx/pokemon/front_rg/kabutops.png | Bin 0 -> 496 bytes gfx/pokemon/front_rg/kadabra.png | Bin 0 -> 615 bytes gfx/pokemon/front_rg/kakuna.png | Bin 0 -> 308 bytes gfx/pokemon/front_rg/kangaskhan.png | Bin 0 -> 662 bytes gfx/pokemon/front_rg/kingler.png | Bin 0 -> 659 bytes gfx/pokemon/front_rg/koffing.png | Bin 0 -> 584 bytes gfx/pokemon/front_rg/krabby.png | Bin 0 -> 415 bytes gfx/pokemon/front_rg/lapras.png | Bin 0 -> 600 bytes gfx/pokemon/front_rg/lickitung.png | Bin 0 -> 604 bytes gfx/pokemon/front_rg/machamp.png | Bin 0 -> 725 bytes gfx/pokemon/front_rg/machoke.png | Bin 0 -> 658 bytes gfx/pokemon/front_rg/machop.png | Bin 0 -> 383 bytes gfx/pokemon/front_rg/magikarp.png | Bin 0 -> 499 bytes gfx/pokemon/front_rg/magmar.png | Bin 0 -> 573 bytes gfx/pokemon/front_rg/magnemite.png | Bin 0 -> 217 bytes gfx/pokemon/front_rg/magneton.png | Bin 0 -> 567 bytes gfx/pokemon/front_rg/mankey.png | Bin 0 -> 401 bytes gfx/pokemon/front_rg/marowak.png | Bin 0 -> 532 bytes gfx/pokemon/front_rg/meowth.png | Bin 0 -> 341 bytes gfx/pokemon/front_rg/metapod.png | Bin 0 -> 264 bytes gfx/pokemon/front_rg/mew.png | Bin 0 -> 366 bytes gfx/pokemon/front_rg/mewtwo.png | Bin 0 -> 583 bytes gfx/pokemon/front_rg/moltres.png | Bin 0 -> 836 bytes gfx/pokemon/front_rg/mr.mime.png | Bin 0 -> 554 bytes gfx/pokemon/front_rg/muk.png | Bin 0 -> 593 bytes gfx/pokemon/front_rg/nidoking.png | Bin 0 -> 735 bytes gfx/pokemon/front_rg/nidoqueen.png | Bin 0 -> 662 bytes gfx/pokemon/front_rg/nidoranf.png | Bin 0 -> 313 bytes gfx/pokemon/front_rg/nidoranm.png | Bin 0 -> 340 bytes gfx/pokemon/front_rg/nidorina.png | Bin 0 -> 502 bytes gfx/pokemon/front_rg/nidorino.png | Bin 0 -> 519 bytes gfx/pokemon/front_rg/ninetales.png | Bin 0 -> 701 bytes gfx/pokemon/front_rg/oddish.png | Bin 0 -> 355 bytes gfx/pokemon/front_rg/omanyte.png | Bin 0 -> 327 bytes gfx/pokemon/front_rg/omastar.png | Bin 0 -> 591 bytes gfx/pokemon/front_rg/onix.png | Bin 0 -> 606 bytes gfx/pokemon/front_rg/paras.png | Bin 0 -> 339 bytes gfx/pokemon/front_rg/parasect.png | Bin 0 -> 610 bytes gfx/pokemon/front_rg/persian.png | Bin 0 -> 568 bytes gfx/pokemon/front_rg/pidgeot.png | Bin 0 -> 722 bytes gfx/pokemon/front_rg/pidgeotto.png | Bin 0 -> 577 bytes gfx/pokemon/front_rg/pidgey.png | Bin 0 -> 318 bytes gfx/pokemon/front_rg/pikachu.png | Bin 0 -> 399 bytes gfx/pokemon/front_rg/pinsir.png | Bin 0 -> 632 bytes gfx/pokemon/front_rg/poliwag.png | Bin 0 -> 319 bytes gfx/pokemon/front_rg/poliwhirl.png | Bin 0 -> 414 bytes gfx/pokemon/front_rg/poliwrath.png | Bin 0 -> 551 bytes gfx/pokemon/front_rg/ponyta.png | Bin 0 -> 543 bytes gfx/pokemon/front_rg/porygon.png | Bin 0 -> 402 bytes gfx/pokemon/front_rg/primeape.png | Bin 0 -> 645 bytes gfx/pokemon/front_rg/psyduck.png | Bin 0 -> 393 bytes gfx/pokemon/front_rg/raichu.png | Bin 0 -> 613 bytes gfx/pokemon/front_rg/rapidash.png | Bin 0 -> 652 bytes gfx/pokemon/front_rg/raticate.png | Bin 0 -> 479 bytes gfx/pokemon/front_rg/rattata.png | Bin 0 -> 304 bytes gfx/pokemon/front_rg/rhydon.png | Bin 0 -> 722 bytes gfx/pokemon/front_rg/rhyhorn.png | Bin 0 -> 679 bytes gfx/pokemon/front_rg/sandshrew.png | Bin 0 -> 355 bytes gfx/pokemon/front_rg/sandslash.png | Bin 0 -> 592 bytes gfx/pokemon/front_rg/scyther.png | Bin 0 -> 704 bytes gfx/pokemon/front_rg/seadra.png | Bin 0 -> 504 bytes gfx/pokemon/front_rg/seaking.png | Bin 0 -> 717 bytes gfx/pokemon/front_rg/seel.png | Bin 0 -> 452 bytes gfx/pokemon/front_rg/shellder.png | Bin 0 -> 313 bytes gfx/pokemon/front_rg/slowbro.png | Bin 0 -> 740 bytes gfx/pokemon/front_rg/slowpoke.png | Bin 0 -> 375 bytes gfx/pokemon/front_rg/snorlax.png | Bin 0 -> 453 bytes gfx/pokemon/front_rg/spearow.png | Bin 0 -> 342 bytes gfx/pokemon/front_rg/squirtle.png | Bin 0 -> 319 bytes gfx/pokemon/front_rg/starmie.png | Bin 0 -> 571 bytes gfx/pokemon/front_rg/staryu.png | Bin 0 -> 425 bytes gfx/pokemon/front_rg/tangela.png | Bin 0 -> 573 bytes gfx/pokemon/front_rg/tauros.png | Bin 0 -> 610 bytes gfx/pokemon/front_rg/tentacool.png | Bin 0 -> 363 bytes gfx/pokemon/front_rg/tentacruel.png | Bin 0 -> 539 bytes gfx/pokemon/front_rg/vaporeon.png | Bin 0 -> 618 bytes gfx/pokemon/front_rg/venomoth.png | Bin 0 -> 663 bytes gfx/pokemon/front_rg/venonat.png | Bin 0 -> 374 bytes gfx/pokemon/front_rg/venusaur.png | Bin 0 -> 756 bytes gfx/pokemon/front_rg/victreebel.png | Bin 0 -> 567 bytes gfx/pokemon/front_rg/vileplume.png | Bin 0 -> 575 bytes gfx/pokemon/front_rg/voltorb.png | Bin 0 -> 238 bytes gfx/pokemon/front_rg/vulpix.png | Bin 0 -> 418 bytes gfx/pokemon/front_rg/wartortle.png | Bin 0 -> 485 bytes gfx/pokemon/front_rg/weedle.png | Bin 0 -> 266 bytes gfx/pokemon/front_rg/weepinbell.png | Bin 0 -> 461 bytes gfx/pokemon/front_rg/weezing.png | Bin 0 -> 636 bytes gfx/pokemon/front_rg/wigglytuff.png | Bin 0 -> 518 bytes gfx/pokemon/front_rg/zapdos.png | Bin 0 -> 645 bytes gfx/pokemon/front_rg/zubat.png | Bin 0 -> 366 bytes gfx/trainers/agatha.png | Bin 0 -> 470 bytes gfx/trainers/beauty.png | Bin 0 -> 476 bytes gfx/trainers/biker.png | Bin 0 -> 618 bytes gfx/trainers/birdkeeper.png | Bin 0 -> 561 bytes gfx/trainers/blackbelt.png | Bin 0 -> 594 bytes gfx/trainers/blaine.png | Bin 0 -> 402 bytes gfx/trainers/brock.png | Bin 0 -> 394 bytes gfx/trainers/bruno.png | Bin 0 -> 648 bytes gfx/trainers/bugcatcher.png | Bin 0 -> 413 bytes gfx/trainers/burglar.png | Bin 0 -> 486 bytes gfx/trainers/channeler.png | Bin 0 -> 605 bytes gfx/trainers/cooltrainerf.png | Bin 0 -> 530 bytes gfx/trainers/cooltrainerm.png | Bin 0 -> 549 bytes gfx/trainers/cueball.png | Bin 0 -> 615 bytes gfx/trainers/engineer.png | Bin 0 -> 532 bytes gfx/trainers/erika.png | Bin 0 -> 433 bytes gfx/trainers/fisher.png | Bin 0 -> 569 bytes gfx/trainers/gambler.png | Bin 0 -> 584 bytes gfx/trainers/gentleman.png | Bin 0 -> 360 bytes gfx/trainers/giovanni.png | Bin 0 -> 368 bytes gfx/trainers/hiker.png | Bin 0 -> 605 bytes gfx/trainers/jr.trainerf.png | Bin 0 -> 458 bytes gfx/trainers/jr.trainerm.png | Bin 0 -> 443 bytes gfx/trainers/juggler.png | Bin 0 -> 613 bytes gfx/trainers/koga.png | Bin 0 -> 535 bytes gfx/trainers/lance.png | Bin 0 -> 511 bytes gfx/trainers/lass.png | Bin 0 -> 365 bytes gfx/trainers/lorelei.png | Bin 0 -> 445 bytes gfx/trainers/lt.surge.png | Bin 0 -> 536 bytes gfx/trainers/misty.png | Bin 0 -> 381 bytes gfx/trainers/pokemaniac.png | Bin 0 -> 440 bytes gfx/trainers/prof.oak.png | Bin 0 -> 421 bytes gfx/trainers/psychic.png | Bin 0 -> 420 bytes gfx/trainers/rival1.png | Bin 0 -> 423 bytes gfx/trainers/rival2.png | Bin 0 -> 497 bytes gfx/trainers/rival3.png | Bin 0 -> 482 bytes gfx/trainers/rocker.png | Bin 0 -> 460 bytes gfx/trainers/rocket.png | Bin 0 -> 556 bytes gfx/trainers/sabrina.png | Bin 0 -> 548 bytes gfx/trainers/sailor.png | Bin 0 -> 522 bytes gfx/trainers/scientist.png | Bin 0 -> 474 bytes gfx/trainers/supernerd.png | Bin 0 -> 365 bytes gfx/trainers/swimmer.png | Bin 0 -> 408 bytes gfx/trainers/tamer.png | Bin 0 -> 566 bytes gfx/trainers/youngster.png | Bin 0 -> 324 bytes main.asm | 10 +- pic/bmon/abra.png | Bin 390 -> 0 bytes pic/bmon/aerodactyl.png | Bin 583 -> 0 bytes pic/bmon/alakazam.png | Bin 688 -> 0 bytes pic/bmon/arbok.png | Bin 728 -> 0 bytes pic/bmon/arcanine.png | Bin 722 -> 0 bytes pic/bmon/articuno.png | Bin 705 -> 0 bytes pic/bmon/beedrill.png | Bin 666 -> 0 bytes pic/bmon/bellsprout.png | Bin 313 -> 0 bytes pic/bmon/blastoise.png | Bin 685 -> 0 bytes pic/bmon/bulbasaur.png | Bin 362 -> 0 bytes pic/bmon/butterfree.png | Bin 628 -> 0 bytes pic/bmon/caterpie.png | Bin 243 -> 0 bytes pic/bmon/chansey.png | Bin 496 -> 0 bytes pic/bmon/charizard.png | Bin 676 -> 0 bytes pic/bmon/charmander.png | Bin 394 -> 0 bytes pic/bmon/charmeleon.png | Bin 461 -> 0 bytes pic/bmon/clefable.png | Bin 425 -> 0 bytes pic/bmon/clefairy.png | Bin 375 -> 0 bytes pic/bmon/cloyster.png | Bin 690 -> 0 bytes pic/bmon/cubone.png | Bin 360 -> 0 bytes pic/bmon/dewgong.png | Bin 460 -> 0 bytes pic/bmon/diglett.png | Bin 314 -> 0 bytes pic/bmon/ditto.png | Bin 275 -> 0 bytes pic/bmon/dodrio.png | Bin 592 -> 0 bytes pic/bmon/doduo.png | Bin 348 -> 0 bytes pic/bmon/dragonair.png | Bin 459 -> 0 bytes pic/bmon/dragonite.png | Bin 638 -> 0 bytes pic/bmon/dratini.png | Bin 357 -> 0 bytes pic/bmon/drowzee.png | Bin 499 -> 0 bytes pic/bmon/dugtrio.png | Bin 565 -> 0 bytes pic/bmon/eevee.png | Bin 374 -> 0 bytes pic/bmon/ekans.png | Bin 376 -> 0 bytes pic/bmon/electabuzz.png | Bin 515 -> 0 bytes pic/bmon/electrode.png | Bin 323 -> 0 bytes pic/bmon/exeggcute.png | Bin 664 -> 0 bytes pic/bmon/exeggutor.png | Bin 713 -> 0 bytes pic/bmon/farfetchd.png | Bin 614 -> 0 bytes pic/bmon/fearow.png | Bin 564 -> 0 bytes pic/bmon/flareon.png | Bin 515 -> 0 bytes pic/bmon/fossilaerodactyl.png | Bin 539 -> 0 bytes pic/bmon/fossilkabutops.png | Bin 546 -> 0 bytes pic/bmon/gastly.png | Bin 668 -> 0 bytes pic/bmon/gengar.png | Bin 447 -> 0 bytes pic/bmon/geodude.png | Bin 321 -> 0 bytes pic/bmon/gloom.png | Bin 429 -> 0 bytes pic/bmon/golbat.png | Bin 691 -> 0 bytes pic/bmon/goldeen.png | Bin 415 -> 0 bytes pic/bmon/golduck.png | Bin 596 -> 0 bytes pic/bmon/golem.png | Bin 519 -> 0 bytes pic/bmon/graveler.png | Bin 568 -> 0 bytes pic/bmon/grimer.png | Bin 441 -> 0 bytes pic/bmon/growlithe.png | Bin 388 -> 0 bytes pic/bmon/gyarados.png | Bin 759 -> 0 bytes pic/bmon/haunter.png | Bin 555 -> 0 bytes pic/bmon/hitmonchan.png | Bin 538 -> 0 bytes pic/bmon/hitmonlee.png | Bin 587 -> 0 bytes pic/bmon/horsea.png | Bin 291 -> 0 bytes pic/bmon/hypno.png | Bin 638 -> 0 bytes pic/bmon/ivysaur.png | Bin 431 -> 0 bytes pic/bmon/jigglypuff.png | Bin 348 -> 0 bytes pic/bmon/jolteon.png | Bin 514 -> 0 bytes pic/bmon/jynx.png | Bin 578 -> 0 bytes pic/bmon/kabuto.png | Bin 326 -> 0 bytes pic/bmon/kabutops.png | Bin 560 -> 0 bytes pic/bmon/kadabra.png | Bin 523 -> 0 bytes pic/bmon/kakuna.png | Bin 316 -> 0 bytes pic/bmon/kangaskhan.png | Bin 673 -> 0 bytes pic/bmon/kingler.png | Bin 616 -> 0 bytes pic/bmon/koffing.png | Bin 599 -> 0 bytes pic/bmon/krabby.png | Bin 436 -> 0 bytes pic/bmon/lapras.png | Bin 574 -> 0 bytes pic/bmon/lickitung.png | Bin 514 -> 0 bytes pic/bmon/machamp.png | Bin 653 -> 0 bytes pic/bmon/machoke.png | Bin 633 -> 0 bytes pic/bmon/machop.png | Bin 381 -> 0 bytes pic/bmon/magikarp.png | Bin 533 -> 0 bytes pic/bmon/magmar.png | Bin 496 -> 0 bytes pic/bmon/magnemite.png | Bin 215 -> 0 bytes pic/bmon/magneton.png | Bin 552 -> 0 bytes pic/bmon/mankey.png | Bin 395 -> 0 bytes pic/bmon/marowak.png | Bin 501 -> 0 bytes pic/bmon/meowth.png | Bin 383 -> 0 bytes pic/bmon/metapod.png | Bin 259 -> 0 bytes pic/bmon/mew.png | Bin 365 -> 0 bytes pic/bmon/mewtwo.png | Bin 652 -> 0 bytes pic/bmon/moltres.png | Bin 747 -> 0 bytes pic/bmon/mr.mime.png | Bin 475 -> 0 bytes pic/bmon/muk.png | Bin 685 -> 0 bytes pic/bmon/nidoking.png | Bin 752 -> 0 bytes pic/bmon/nidoqueen.png | Bin 652 -> 0 bytes pic/bmon/nidoranf.png | Bin 264 -> 0 bytes pic/bmon/nidoranm.png | Bin 353 -> 0 bytes pic/bmon/nidorina.png | Bin 438 -> 0 bytes pic/bmon/nidorino.png | Bin 517 -> 0 bytes pic/bmon/ninetales.png | Bin 658 -> 0 bytes pic/bmon/oddish.png | Bin 267 -> 0 bytes pic/bmon/omanyte.png | Bin 331 -> 0 bytes pic/bmon/omastar.png | Bin 585 -> 0 bytes pic/bmon/onix.png | Bin 558 -> 0 bytes pic/bmon/paras.png | Bin 307 -> 0 bytes pic/bmon/parasect.png | Bin 598 -> 0 bytes pic/bmon/persian.png | Bin 619 -> 0 bytes pic/bmon/pidgeot.png | Bin 581 -> 0 bytes pic/bmon/pidgeotto.png | Bin 487 -> 0 bytes pic/bmon/pidgey.png | Bin 303 -> 0 bytes pic/bmon/pikachu.png | Bin 396 -> 0 bytes pic/bmon/pinsir.png | Bin 617 -> 0 bytes pic/bmon/poliwag.png | Bin 318 -> 0 bytes pic/bmon/poliwhirl.png | Bin 478 -> 0 bytes pic/bmon/poliwrath.png | Bin 513 -> 0 bytes pic/bmon/ponyta.png | Bin 503 -> 0 bytes pic/bmon/porygon.png | Bin 496 -> 0 bytes pic/bmon/primeape.png | Bin 607 -> 0 bytes pic/bmon/psyduck.png | Bin 423 -> 0 bytes pic/bmon/raichu.png | Bin 595 -> 0 bytes pic/bmon/rapidash.png | Bin 710 -> 0 bytes pic/bmon/raticate.png | Bin 539 -> 0 bytes pic/bmon/rattata.png | Bin 325 -> 0 bytes pic/bmon/rhydon.png | Bin 657 -> 0 bytes pic/bmon/rhyhorn.png | Bin 661 -> 0 bytes pic/bmon/sandshrew.png | Bin 407 -> 0 bytes pic/bmon/sandslash.png | Bin 556 -> 0 bytes pic/bmon/scyther.png | Bin 690 -> 0 bytes pic/bmon/seadra.png | Bin 482 -> 0 bytes pic/bmon/seaking.png | Bin 627 -> 0 bytes pic/bmon/seel.png | Bin 490 -> 0 bytes pic/bmon/shellder.png | Bin 396 -> 0 bytes pic/bmon/slowbro.png | Bin 765 -> 0 bytes pic/bmon/slowpoke.png | Bin 428 -> 0 bytes pic/bmon/snorlax.png | Bin 610 -> 0 bytes pic/bmon/spearow.png | Bin 337 -> 0 bytes pic/bmon/squirtle.png | Bin 318 -> 0 bytes pic/bmon/starmie.png | Bin 537 -> 0 bytes pic/bmon/staryu.png | Bin 401 -> 0 bytes pic/bmon/tangela.png | Bin 532 -> 0 bytes pic/bmon/tauros.png | Bin 622 -> 0 bytes pic/bmon/tentacool.png | Bin 364 -> 0 bytes pic/bmon/tentacruel.png | Bin 483 -> 0 bytes pic/bmon/vaporeon.png | Bin 492 -> 0 bytes pic/bmon/venomoth.png | Bin 597 -> 0 bytes pic/bmon/venonat.png | Bin 390 -> 0 bytes pic/bmon/venusaur.png | Bin 658 -> 0 bytes pic/bmon/victreebel.png | Bin 603 -> 0 bytes pic/bmon/vileplume.png | Bin 473 -> 0 bytes pic/bmon/voltorb.png | Bin 245 -> 0 bytes pic/bmon/vulpix.png | Bin 501 -> 0 bytes pic/bmon/wartortle.png | Bin 451 -> 0 bytes pic/bmon/weedle.png | Bin 286 -> 0 bytes pic/bmon/weepinbell.png | Bin 436 -> 0 bytes pic/bmon/weezing.png | Bin 709 -> 0 bytes pic/bmon/wigglytuff.png | Bin 513 -> 0 bytes pic/bmon/zapdos.png | Bin 621 -> 0 bytes pic/bmon/zubat.png | Bin 389 -> 0 bytes pic/monback/abrab.png | Bin 244 -> 0 bytes pic/monback/aerodactylb.png | Bin 259 -> 0 bytes pic/monback/alakazamb.png | Bin 267 -> 0 bytes pic/monback/arbokb.png | Bin 263 -> 0 bytes pic/monback/arcanineb.png | Bin 271 -> 0 bytes pic/monback/articunob.png | Bin 203 -> 0 bytes pic/monback/beedrillb.png | Bin 222 -> 0 bytes pic/monback/bellsproutb.png | Bin 225 -> 0 bytes pic/monback/blastoiseb.png | Bin 246 -> 0 bytes pic/monback/bulbasaurb.png | Bin 209 -> 0 bytes pic/monback/butterfreeb.png | Bin 234 -> 0 bytes pic/monback/caterpieb.png | Bin 174 -> 0 bytes pic/monback/chanseyb.png | Bin 203 -> 0 bytes pic/monback/charizardb.png | Bin 263 -> 0 bytes pic/monback/charmanderb.png | Bin 178 -> 0 bytes pic/monback/charmeleonb.png | Bin 220 -> 0 bytes pic/monback/clefableb.png | Bin 259 -> 0 bytes pic/monback/clefairyb.png | Bin 179 -> 0 bytes pic/monback/cloysterb.png | Bin 292 -> 0 bytes pic/monback/cuboneb.png | Bin 220 -> 0 bytes pic/monback/dewgongb.png | Bin 223 -> 0 bytes pic/monback/diglettb.png | Bin 197 -> 0 bytes pic/monback/dittob.png | Bin 159 -> 0 bytes pic/monback/dodriob.png | Bin 273 -> 0 bytes pic/monback/doduob.png | Bin 207 -> 0 bytes pic/monback/dragonairb.png | Bin 237 -> 0 bytes pic/monback/dragoniteb.png | Bin 277 -> 0 bytes pic/monback/dratinib.png | Bin 196 -> 0 bytes pic/monback/drowzeeb.png | Bin 215 -> 0 bytes pic/monback/dugtriob.png | Bin 249 -> 0 bytes pic/monback/eeveeb.png | Bin 199 -> 0 bytes pic/monback/ekansb.png | Bin 158 -> 0 bytes pic/monback/electabuzzb.png | Bin 258 -> 0 bytes pic/monback/electrodeb.png | Bin 199 -> 0 bytes pic/monback/exeggcuteb.png | Bin 236 -> 0 bytes pic/monback/exeggutorb.png | Bin 272 -> 0 bytes pic/monback/farfetchdb.png | Bin 265 -> 0 bytes pic/monback/fearowb.png | Bin 238 -> 0 bytes pic/monback/flareonb.png | Bin 254 -> 0 bytes pic/monback/gastlyb.png | Bin 227 -> 0 bytes pic/monback/gengarb.png | Bin 206 -> 0 bytes pic/monback/geodudeb.png | Bin 169 -> 0 bytes pic/monback/gloomb.png | Bin 285 -> 0 bytes pic/monback/golbatb.png | Bin 193 -> 0 bytes pic/monback/goldeenb.png | Bin 202 -> 0 bytes pic/monback/golduckb.png | Bin 248 -> 0 bytes pic/monback/golemb.png | Bin 206 -> 0 bytes pic/monback/gravelerb.png | Bin 276 -> 0 bytes pic/monback/grimerb.png | Bin 291 -> 0 bytes pic/monback/growlitheb.png | Bin 201 -> 0 bytes pic/monback/gyaradosb.png | Bin 254 -> 0 bytes pic/monback/haunterb.png | Bin 232 -> 0 bytes pic/monback/hitmonchanb.png | Bin 228 -> 0 bytes pic/monback/hitmonleeb.png | Bin 207 -> 0 bytes pic/monback/horseab.png | Bin 168 -> 0 bytes pic/monback/hypnob.png | Bin 239 -> 0 bytes pic/monback/ivysaurb.png | Bin 223 -> 0 bytes pic/monback/jigglypuffb.png | Bin 151 -> 0 bytes pic/monback/jolteonb.png | Bin 271 -> 0 bytes pic/monback/jynxb.png | Bin 225 -> 0 bytes pic/monback/kabutob.png | Bin 174 -> 0 bytes pic/monback/kabutopsb.png | Bin 252 -> 0 bytes pic/monback/kadabrab.png | Bin 242 -> 0 bytes pic/monback/kakunab.png | Bin 169 -> 0 bytes pic/monback/kangaskhanb.png | Bin 260 -> 0 bytes pic/monback/kinglerb.png | Bin 276 -> 0 bytes pic/monback/koffingb.png | Bin 275 -> 0 bytes pic/monback/krabbyb.png | Bin 205 -> 0 bytes pic/monback/laprasb.png | Bin 238 -> 0 bytes pic/monback/lickitungb.png | Bin 266 -> 0 bytes pic/monback/machampb.png | Bin 236 -> 0 bytes pic/monback/machokeb.png | Bin 245 -> 0 bytes pic/monback/machopb.png | Bin 216 -> 0 bytes pic/monback/magikarpb.png | Bin 247 -> 0 bytes pic/monback/magmarb.png | Bin 286 -> 0 bytes pic/monback/magnemiteb.png | Bin 165 -> 0 bytes pic/monback/magnetonb.png | Bin 230 -> 0 bytes pic/monback/mankeyb.png | Bin 207 -> 0 bytes pic/monback/marowakb.png | Bin 249 -> 0 bytes pic/monback/meowthb.png | Bin 181 -> 0 bytes pic/monback/metapodb.png | Bin 214 -> 0 bytes pic/monback/mewb.png | Bin 188 -> 0 bytes pic/monback/mewtwob.png | Bin 278 -> 0 bytes pic/monback/moltresb.png | Bin 263 -> 0 bytes pic/monback/mr.mimeb.png | Bin 232 -> 0 bytes pic/monback/mukb.png | Bin 229 -> 0 bytes pic/monback/nidokingb.png | Bin 292 -> 0 bytes pic/monback/nidoqueenb.png | Bin 306 -> 0 bytes pic/monback/nidoranfb.png | Bin 151 -> 0 bytes pic/monback/nidoranmb.png | Bin 191 -> 0 bytes pic/monback/nidorinab.png | Bin 246 -> 0 bytes pic/monback/nidorinob.png | Bin 276 -> 0 bytes pic/monback/ninetalesb.png | Bin 255 -> 0 bytes pic/monback/oddishb.png | Bin 264 -> 0 bytes pic/monback/omanyteb.png | Bin 176 -> 0 bytes pic/monback/omastarb.png | Bin 282 -> 0 bytes pic/monback/onixb.png | Bin 250 -> 0 bytes pic/monback/parasb.png | Bin 195 -> 0 bytes pic/monback/parasectb.png | Bin 221 -> 0 bytes pic/monback/persianb.png | Bin 256 -> 0 bytes pic/monback/pidgeotb.png | Bin 270 -> 0 bytes pic/monback/pidgeottob.png | Bin 199 -> 0 bytes pic/monback/pidgeyb.png | Bin 149 -> 0 bytes pic/monback/pikachub.png | Bin 238 -> 0 bytes pic/monback/pinsirb.png | Bin 267 -> 0 bytes pic/monback/poliwagb.png | Bin 171 -> 0 bytes pic/monback/poliwhirlb.png | Bin 211 -> 0 bytes pic/monback/poliwrathb.png | Bin 181 -> 0 bytes pic/monback/ponytab.png | Bin 251 -> 0 bytes pic/monback/porygonb.png | Bin 198 -> 0 bytes pic/monback/primeapeb.png | Bin 240 -> 0 bytes pic/monback/psyduckb.png | Bin 208 -> 0 bytes pic/monback/raichub.png | Bin 258 -> 0 bytes pic/monback/rapidashb.png | Bin 286 -> 0 bytes pic/monback/raticateb.png | Bin 220 -> 0 bytes pic/monback/rattatab.png | Bin 140 -> 0 bytes pic/monback/rhydonb.png | Bin 273 -> 0 bytes pic/monback/rhyhornb.png | Bin 299 -> 0 bytes pic/monback/sandshrewb.png | Bin 216 -> 0 bytes pic/monback/sandslashb.png | Bin 244 -> 0 bytes pic/monback/scytherb.png | Bin 263 -> 0 bytes pic/monback/seadrab.png | Bin 273 -> 0 bytes pic/monback/seakingb.png | Bin 285 -> 0 bytes pic/monback/seelb.png | Bin 184 -> 0 bytes pic/monback/shellderb.png | Bin 185 -> 0 bytes pic/monback/slowbrob.png | Bin 277 -> 0 bytes pic/monback/slowpokeb.png | Bin 217 -> 0 bytes pic/monback/snorlaxb.png | Bin 189 -> 0 bytes pic/monback/spearowb.png | Bin 172 -> 0 bytes pic/monback/squirtleb.png | Bin 225 -> 0 bytes pic/monback/starmieb.png | Bin 180 -> 0 bytes pic/monback/staryub.png | Bin 160 -> 0 bytes pic/monback/tangelab.png | Bin 203 -> 0 bytes pic/monback/taurosb.png | Bin 260 -> 0 bytes pic/monback/tentacoolb.png | Bin 172 -> 0 bytes pic/monback/tentacruelb.png | Bin 288 -> 0 bytes pic/monback/vaporeonb.png | Bin 262 -> 0 bytes pic/monback/venomothb.png | Bin 184 -> 0 bytes pic/monback/venonatb.png | Bin 192 -> 0 bytes pic/monback/venusaurb.png | Bin 289 -> 0 bytes pic/monback/victreebelb.png | Bin 257 -> 0 bytes pic/monback/vileplumeb.png | Bin 233 -> 0 bytes pic/monback/voltorbb.png | Bin 187 -> 0 bytes pic/monback/vulpixb.png | Bin 201 -> 0 bytes pic/monback/wartortleb.png | Bin 260 -> 0 bytes pic/monback/weedleb.png | Bin 182 -> 0 bytes pic/monback/weepinbellb.png | Bin 219 -> 0 bytes pic/monback/weezingb.png | Bin 287 -> 0 bytes pic/monback/wigglytuffb.png | Bin 220 -> 0 bytes pic/monback/zapdosb.png | Bin 252 -> 0 bytes pic/monback/zubatb.png | Bin 177 -> 0 bytes pic/other/ghost.png | Bin 497 -> 0 bytes pic/rgmon/abra.png | Bin 465 -> 0 bytes pic/rgmon/aerodactyl.png | Bin 625 -> 0 bytes pic/rgmon/alakazam.png | Bin 707 -> 0 bytes pic/rgmon/arbok.png | Bin 665 -> 0 bytes pic/rgmon/arcanine.png | Bin 702 -> 0 bytes pic/rgmon/articuno.png | Bin 655 -> 0 bytes pic/rgmon/beedrill.png | Bin 657 -> 0 bytes pic/rgmon/bellsprout.png | Bin 288 -> 0 bytes pic/rgmon/blastoise.png | Bin 659 -> 0 bytes pic/rgmon/bulbasaur.png | Bin 333 -> 0 bytes pic/rgmon/butterfree.png | Bin 729 -> 0 bytes pic/rgmon/caterpie.png | Bin 242 -> 0 bytes pic/rgmon/chansey.png | Bin 486 -> 0 bytes pic/rgmon/charizard.png | Bin 726 -> 0 bytes pic/rgmon/charmander.png | Bin 381 -> 0 bytes pic/rgmon/charmeleon.png | Bin 509 -> 0 bytes pic/rgmon/clefable.png | Bin 444 -> 0 bytes pic/rgmon/clefairy.png | Bin 333 -> 0 bytes pic/rgmon/cloyster.png | Bin 739 -> 0 bytes pic/rgmon/cubone.png | Bin 398 -> 0 bytes pic/rgmon/dewgong.png | Bin 472 -> 0 bytes pic/rgmon/diglett.png | Bin 226 -> 0 bytes pic/rgmon/ditto.png | Bin 252 -> 0 bytes pic/rgmon/dodrio.png | Bin 673 -> 0 bytes pic/rgmon/doduo.png | Bin 373 -> 0 bytes pic/rgmon/dragonair.png | Bin 506 -> 0 bytes pic/rgmon/dragonite.png | Bin 693 -> 0 bytes pic/rgmon/dratini.png | Bin 347 -> 0 bytes pic/rgmon/drowzee.png | Bin 480 -> 0 bytes pic/rgmon/dugtrio.png | Bin 523 -> 0 bytes pic/rgmon/eevee.png | Bin 347 -> 0 bytes pic/rgmon/ekans.png | Bin 323 -> 0 bytes pic/rgmon/electabuzz.png | Bin 598 -> 0 bytes pic/rgmon/electrode.png | Bin 350 -> 0 bytes pic/rgmon/exeggcute.png | Bin 658 -> 0 bytes pic/rgmon/exeggutor.png | Bin 728 -> 0 bytes pic/rgmon/farfetchd.png | Bin 531 -> 0 bytes pic/rgmon/fearow.png | Bin 699 -> 0 bytes pic/rgmon/flareon.png | Bin 571 -> 0 bytes pic/rgmon/fossilaerodactyl.png | Bin 549 -> 0 bytes pic/rgmon/fossilkabutops.png | Bin 489 -> 0 bytes pic/rgmon/gastly.png | Bin 652 -> 0 bytes pic/rgmon/gengar.png | Bin 456 -> 0 bytes pic/rgmon/geodude.png | Bin 281 -> 0 bytes pic/rgmon/gloom.png | Bin 476 -> 0 bytes pic/rgmon/golbat.png | Bin 598 -> 0 bytes pic/rgmon/goldeen.png | Bin 472 -> 0 bytes pic/rgmon/golduck.png | Bin 619 -> 0 bytes pic/rgmon/golem.png | Bin 565 -> 0 bytes pic/rgmon/graveler.png | Bin 562 -> 0 bytes pic/rgmon/grimer.png | Bin 387 -> 0 bytes pic/rgmon/growlithe.png | Bin 367 -> 0 bytes pic/rgmon/gyarados.png | Bin 732 -> 0 bytes pic/rgmon/haunter.png | Bin 558 -> 0 bytes pic/rgmon/hitmonchan.png | Bin 488 -> 0 bytes pic/rgmon/hitmonlee.png | Bin 555 -> 0 bytes pic/rgmon/horsea.png | Bin 286 -> 0 bytes pic/rgmon/hypno.png | Bin 657 -> 0 bytes pic/rgmon/ivysaur.png | Bin 433 -> 0 bytes pic/rgmon/jigglypuff.png | Bin 317 -> 0 bytes pic/rgmon/jolteon.png | Bin 543 -> 0 bytes pic/rgmon/jynx.png | Bin 561 -> 0 bytes pic/rgmon/kabuto.png | Bin 267 -> 0 bytes pic/rgmon/kabutops.png | Bin 496 -> 0 bytes pic/rgmon/kadabra.png | Bin 615 -> 0 bytes pic/rgmon/kakuna.png | Bin 308 -> 0 bytes pic/rgmon/kangaskhan.png | Bin 662 -> 0 bytes pic/rgmon/kingler.png | Bin 659 -> 0 bytes pic/rgmon/koffing.png | Bin 584 -> 0 bytes pic/rgmon/krabby.png | Bin 415 -> 0 bytes pic/rgmon/lapras.png | Bin 600 -> 0 bytes pic/rgmon/lickitung.png | Bin 604 -> 0 bytes pic/rgmon/machamp.png | Bin 725 -> 0 bytes pic/rgmon/machoke.png | Bin 658 -> 0 bytes pic/rgmon/machop.png | Bin 383 -> 0 bytes pic/rgmon/magikarp.png | Bin 499 -> 0 bytes pic/rgmon/magmar.png | Bin 573 -> 0 bytes pic/rgmon/magnemite.png | Bin 217 -> 0 bytes pic/rgmon/magneton.png | Bin 567 -> 0 bytes pic/rgmon/mankey.png | Bin 401 -> 0 bytes pic/rgmon/marowak.png | Bin 532 -> 0 bytes pic/rgmon/meowth.png | Bin 341 -> 0 bytes pic/rgmon/metapod.png | Bin 264 -> 0 bytes pic/rgmon/mew.png | Bin 366 -> 0 bytes pic/rgmon/mewtwo.png | Bin 583 -> 0 bytes pic/rgmon/moltres.png | Bin 836 -> 0 bytes pic/rgmon/mr.mime.png | Bin 554 -> 0 bytes pic/rgmon/muk.png | Bin 593 -> 0 bytes pic/rgmon/nidoking.png | Bin 735 -> 0 bytes pic/rgmon/nidoqueen.png | Bin 662 -> 0 bytes pic/rgmon/nidoranf.png | Bin 313 -> 0 bytes pic/rgmon/nidoranm.png | Bin 340 -> 0 bytes pic/rgmon/nidorina.png | Bin 502 -> 0 bytes pic/rgmon/nidorino.png | Bin 519 -> 0 bytes pic/rgmon/ninetales.png | Bin 701 -> 0 bytes pic/rgmon/oddish.png | Bin 355 -> 0 bytes pic/rgmon/omanyte.png | Bin 327 -> 0 bytes pic/rgmon/omastar.png | Bin 591 -> 0 bytes pic/rgmon/onix.png | Bin 606 -> 0 bytes pic/rgmon/paras.png | Bin 339 -> 0 bytes pic/rgmon/parasect.png | Bin 610 -> 0 bytes pic/rgmon/persian.png | Bin 568 -> 0 bytes pic/rgmon/pidgeot.png | Bin 722 -> 0 bytes pic/rgmon/pidgeotto.png | Bin 577 -> 0 bytes pic/rgmon/pidgey.png | Bin 318 -> 0 bytes pic/rgmon/pikachu.png | Bin 399 -> 0 bytes pic/rgmon/pinsir.png | Bin 632 -> 0 bytes pic/rgmon/poliwag.png | Bin 319 -> 0 bytes pic/rgmon/poliwhirl.png | Bin 414 -> 0 bytes pic/rgmon/poliwrath.png | Bin 551 -> 0 bytes pic/rgmon/ponyta.png | Bin 543 -> 0 bytes pic/rgmon/porygon.png | Bin 402 -> 0 bytes pic/rgmon/primeape.png | Bin 645 -> 0 bytes pic/rgmon/psyduck.png | Bin 393 -> 0 bytes pic/rgmon/raichu.png | Bin 613 -> 0 bytes pic/rgmon/rapidash.png | Bin 652 -> 0 bytes pic/rgmon/raticate.png | Bin 479 -> 0 bytes pic/rgmon/rattata.png | Bin 304 -> 0 bytes pic/rgmon/rhydon.png | Bin 722 -> 0 bytes pic/rgmon/rhyhorn.png | Bin 679 -> 0 bytes pic/rgmon/sandshrew.png | Bin 355 -> 0 bytes pic/rgmon/sandslash.png | Bin 592 -> 0 bytes pic/rgmon/scyther.png | Bin 704 -> 0 bytes pic/rgmon/seadra.png | Bin 504 -> 0 bytes pic/rgmon/seaking.png | Bin 717 -> 0 bytes pic/rgmon/seel.png | Bin 452 -> 0 bytes pic/rgmon/shellder.png | Bin 313 -> 0 bytes pic/rgmon/slowbro.png | Bin 740 -> 0 bytes pic/rgmon/slowpoke.png | Bin 375 -> 0 bytes pic/rgmon/snorlax.png | Bin 453 -> 0 bytes pic/rgmon/spearow.png | Bin 342 -> 0 bytes pic/rgmon/squirtle.png | Bin 319 -> 0 bytes pic/rgmon/starmie.png | Bin 571 -> 0 bytes pic/rgmon/staryu.png | Bin 425 -> 0 bytes pic/rgmon/tangela.png | Bin 573 -> 0 bytes pic/rgmon/tauros.png | Bin 610 -> 0 bytes pic/rgmon/tentacool.png | Bin 363 -> 0 bytes pic/rgmon/tentacruel.png | Bin 539 -> 0 bytes pic/rgmon/vaporeon.png | Bin 618 -> 0 bytes pic/rgmon/venomoth.png | Bin 663 -> 0 bytes pic/rgmon/venonat.png | Bin 374 -> 0 bytes pic/rgmon/venusaur.png | Bin 756 -> 0 bytes pic/rgmon/victreebel.png | Bin 567 -> 0 bytes pic/rgmon/vileplume.png | Bin 575 -> 0 bytes pic/rgmon/voltorb.png | Bin 238 -> 0 bytes pic/rgmon/vulpix.png | Bin 418 -> 0 bytes pic/rgmon/wartortle.png | Bin 485 -> 0 bytes pic/rgmon/weedle.png | Bin 266 -> 0 bytes pic/rgmon/weepinbell.png | Bin 461 -> 0 bytes pic/rgmon/weezing.png | Bin 636 -> 0 bytes pic/rgmon/wigglytuff.png | Bin 518 -> 0 bytes pic/rgmon/zapdos.png | Bin 645 -> 0 bytes pic/rgmon/zubat.png | Bin 366 -> 0 bytes pic/trainer/agatha.png | Bin 470 -> 0 bytes pic/trainer/beauty.png | Bin 476 -> 0 bytes pic/trainer/biker.png | Bin 618 -> 0 bytes pic/trainer/birdkeeper.png | Bin 561 -> 0 bytes pic/trainer/blackbelt.png | Bin 594 -> 0 bytes pic/trainer/blaine.png | Bin 402 -> 0 bytes pic/trainer/brock.png | Bin 394 -> 0 bytes pic/trainer/bruno.png | Bin 648 -> 0 bytes pic/trainer/bugcatcher.png | Bin 413 -> 0 bytes pic/trainer/burglar.png | Bin 486 -> 0 bytes pic/trainer/channeler.png | Bin 605 -> 0 bytes pic/trainer/cooltrainerf.png | Bin 530 -> 0 bytes pic/trainer/cooltrainerm.png | Bin 549 -> 0 bytes pic/trainer/cueball.png | Bin 615 -> 0 bytes pic/trainer/engineer.png | Bin 532 -> 0 bytes pic/trainer/erika.png | Bin 433 -> 0 bytes pic/trainer/fisher.png | Bin 569 -> 0 bytes pic/trainer/gambler.png | Bin 584 -> 0 bytes pic/trainer/gentleman.png | Bin 360 -> 0 bytes pic/trainer/giovanni.png | Bin 368 -> 0 bytes pic/trainer/hiker.png | Bin 605 -> 0 bytes pic/trainer/jr.trainerf.png | Bin 458 -> 0 bytes pic/trainer/jr.trainerm.png | Bin 443 -> 0 bytes pic/trainer/juggler.png | Bin 613 -> 0 bytes pic/trainer/koga.png | Bin 535 -> 0 bytes pic/trainer/lance.png | Bin 511 -> 0 bytes pic/trainer/lass.png | Bin 365 -> 0 bytes pic/trainer/lorelei.png | Bin 445 -> 0 bytes pic/trainer/lt.surge.png | Bin 536 -> 0 bytes pic/trainer/misty.png | Bin 381 -> 0 bytes pic/trainer/oldman.png | Bin 259 -> 0 bytes pic/trainer/pokemaniac.png | Bin 440 -> 0 bytes pic/trainer/prof.oak.png | Bin 421 -> 0 bytes pic/trainer/psychic.png | Bin 420 -> 0 bytes pic/trainer/red.png | Bin 410 -> 0 bytes pic/trainer/redb.png | Bin 256 -> 0 bytes pic/trainer/rival1.png | Bin 423 -> 0 bytes pic/trainer/rival2.png | Bin 497 -> 0 bytes pic/trainer/rival3.png | Bin 482 -> 0 bytes pic/trainer/rocker.png | Bin 460 -> 0 bytes pic/trainer/rocket.png | Bin 556 -> 0 bytes pic/trainer/sabrina.png | Bin 548 -> 0 bytes pic/trainer/sailor.png | Bin 522 -> 0 bytes pic/trainer/scientist.png | Bin 474 -> 0 bytes pic/trainer/shrink1.png | Bin 196 -> 0 bytes pic/trainer/shrink2.png | Bin 139 -> 0 bytes pic/trainer/supernerd.png | Bin 365 -> 0 bytes pic/trainer/swimmer.png | Bin 408 -> 0 bytes pic/trainer/tamer.png | Bin 566 -> 0 bytes pic/trainer/youngster.png | Bin 324 -> 0 bytes pic/ymon/abra.png | Bin 394 -> 0 bytes pic/ymon/aerodactyl.png | Bin 566 -> 0 bytes pic/ymon/alakazam.png | Bin 652 -> 0 bytes pic/ymon/arbok.png | Bin 596 -> 0 bytes pic/ymon/arcanine.png | Bin 657 -> 0 bytes pic/ymon/articuno.png | Bin 706 -> 0 bytes pic/ymon/beedrill.png | Bin 665 -> 0 bytes pic/ymon/bellsprout.png | Bin 333 -> 0 bytes pic/ymon/blastoise.png | Bin 673 -> 0 bytes pic/ymon/bulbasaur.png | Bin 356 -> 0 bytes pic/ymon/butterfree.png | Bin 600 -> 0 bytes pic/ymon/caterpie.png | Bin 346 -> 0 bytes pic/ymon/chansey.png | Bin 417 -> 0 bytes pic/ymon/charizard.png | Bin 733 -> 0 bytes pic/ymon/charmander.png | Bin 391 -> 0 bytes pic/ymon/charmeleon.png | Bin 502 -> 0 bytes pic/ymon/clefable.png | Bin 491 -> 0 bytes pic/ymon/clefairy.png | Bin 349 -> 0 bytes pic/ymon/cloyster.png | Bin 657 -> 0 bytes pic/ymon/cubone.png | Bin 411 -> 0 bytes pic/ymon/dewgong.png | Bin 562 -> 0 bytes pic/ymon/diglett.png | Bin 259 -> 0 bytes pic/ymon/ditto.png | Bin 261 -> 0 bytes pic/ymon/dodrio.png | Bin 594 -> 0 bytes pic/ymon/doduo.png | Bin 452 -> 0 bytes pic/ymon/dragonair.png | Bin 443 -> 0 bytes pic/ymon/dragonite.png | Bin 676 -> 0 bytes pic/ymon/dratini.png | Bin 351 -> 0 bytes pic/ymon/drowzee.png | Bin 481 -> 0 bytes pic/ymon/dugtrio.png | Bin 497 -> 0 bytes pic/ymon/eevee.png | Bin 407 -> 0 bytes pic/ymon/ekans.png | Bin 383 -> 0 bytes pic/ymon/electabuzz.png | Bin 570 -> 0 bytes pic/ymon/electrode.png | Bin 659 -> 0 bytes pic/ymon/exeggcute.png | Bin 615 -> 0 bytes pic/ymon/exeggutor.png | Bin 597 -> 0 bytes pic/ymon/farfetchd.png | Bin 548 -> 0 bytes pic/ymon/fearow.png | Bin 655 -> 0 bytes pic/ymon/flareon.png | Bin 479 -> 0 bytes pic/ymon/gastly.png | Bin 342 -> 0 bytes pic/ymon/gengar.png | Bin 446 -> 0 bytes pic/ymon/geodude.png | Bin 403 -> 0 bytes pic/ymon/gloom.png | Bin 416 -> 0 bytes pic/ymon/golbat.png | Bin 550 -> 0 bytes pic/ymon/goldeen.png | Bin 496 -> 0 bytes pic/ymon/golduck.png | Bin 612 -> 0 bytes pic/ymon/golem.png | Bin 545 -> 0 bytes pic/ymon/graveler.png | Bin 553 -> 0 bytes pic/ymon/grimer.png | Bin 410 -> 0 bytes pic/ymon/growlithe.png | Bin 425 -> 0 bytes pic/ymon/gyarados.png | Bin 741 -> 0 bytes pic/ymon/haunter.png | Bin 476 -> 0 bytes pic/ymon/hitmonchan.png | Bin 440 -> 0 bytes pic/ymon/hitmonlee.png | Bin 567 -> 0 bytes pic/ymon/horsea.png | Bin 364 -> 0 bytes pic/ymon/hypno.png | Bin 583 -> 0 bytes pic/ymon/ivysaur.png | Bin 543 -> 0 bytes pic/ymon/jigglypuff.png | Bin 349 -> 0 bytes pic/ymon/jolteon.png | Bin 573 -> 0 bytes pic/ymon/jynx.png | Bin 569 -> 0 bytes pic/ymon/kabuto.png | Bin 306 -> 0 bytes pic/ymon/kabutops.png | Bin 555 -> 0 bytes pic/ymon/kadabra.png | Bin 558 -> 0 bytes pic/ymon/kakuna.png | Bin 319 -> 0 bytes pic/ymon/kangaskhan.png | Bin 732 -> 0 bytes pic/ymon/kingler.png | Bin 640 -> 0 bytes pic/ymon/koffing.png | Bin 428 -> 0 bytes pic/ymon/krabby.png | Bin 357 -> 0 bytes pic/ymon/lapras.png | Bin 597 -> 0 bytes pic/ymon/lickitung.png | Bin 600 -> 0 bytes pic/ymon/machamp.png | Bin 679 -> 0 bytes pic/ymon/machoke.png | Bin 550 -> 0 bytes pic/ymon/machop.png | Bin 383 -> 0 bytes pic/ymon/magikarp.png | Bin 501 -> 0 bytes pic/ymon/magmar.png | Bin 576 -> 0 bytes pic/ymon/magnemite.png | Bin 322 -> 0 bytes pic/ymon/magneton.png | Bin 518 -> 0 bytes pic/ymon/mankey.png | Bin 480 -> 0 bytes pic/ymon/marowak.png | Bin 508 -> 0 bytes pic/ymon/meowth.png | Bin 403 -> 0 bytes pic/ymon/metapod.png | Bin 295 -> 0 bytes pic/ymon/mew.png | Bin 395 -> 0 bytes pic/ymon/mewtwo.png | Bin 614 -> 0 bytes pic/ymon/moltres.png | Bin 609 -> 0 bytes pic/ymon/mr.mime.png | Bin 554 -> 0 bytes pic/ymon/muk.png | Bin 498 -> 0 bytes pic/ymon/nidoking.png | Bin 686 -> 0 bytes pic/ymon/nidoqueen.png | Bin 676 -> 0 bytes pic/ymon/nidoranf.png | Bin 355 -> 0 bytes pic/ymon/nidoranm.png | Bin 367 -> 0 bytes pic/ymon/nidorina.png | Bin 532 -> 0 bytes pic/ymon/nidorino.png | Bin 491 -> 0 bytes pic/ymon/ninetales.png | Bin 690 -> 0 bytes pic/ymon/oddish.png | Bin 346 -> 0 bytes pic/ymon/omanyte.png | Bin 332 -> 0 bytes pic/ymon/omastar.png | Bin 511 -> 0 bytes pic/ymon/onix.png | Bin 522 -> 0 bytes pic/ymon/paras.png | Bin 362 -> 0 bytes pic/ymon/parasect.png | Bin 525 -> 0 bytes pic/ymon/persian.png | Bin 558 -> 0 bytes pic/ymon/pidgeot.png | Bin 704 -> 0 bytes pic/ymon/pidgeotto.png | Bin 482 -> 0 bytes pic/ymon/pidgey.png | Bin 344 -> 0 bytes pic/ymon/pikachu.png | Bin 357 -> 0 bytes pic/ymon/pinsir.png | Bin 678 -> 0 bytes pic/ymon/poliwag.png | Bin 346 -> 0 bytes pic/ymon/poliwhirl.png | Bin 479 -> 0 bytes pic/ymon/poliwrath.png | Bin 603 -> 0 bytes pic/ymon/ponyta.png | Bin 524 -> 0 bytes pic/ymon/porygon.png | Bin 387 -> 0 bytes pic/ymon/primeape.png | Bin 614 -> 0 bytes pic/ymon/psyduck.png | Bin 388 -> 0 bytes pic/ymon/raichu.png | Bin 616 -> 0 bytes pic/ymon/rapidash.png | Bin 681 -> 0 bytes pic/ymon/raticate.png | Bin 579 -> 0 bytes pic/ymon/rattata.png | Bin 351 -> 0 bytes pic/ymon/rhydon.png | Bin 681 -> 0 bytes pic/ymon/rhyhorn.png | Bin 566 -> 0 bytes pic/ymon/sandshrew.png | Bin 397 -> 0 bytes pic/ymon/sandslash.png | Bin 560 -> 0 bytes pic/ymon/scyther.png | Bin 653 -> 0 bytes pic/ymon/seadra.png | Bin 500 -> 0 bytes pic/ymon/seaking.png | Bin 657 -> 0 bytes pic/ymon/seel.png | Bin 452 -> 0 bytes pic/ymon/shellder.png | Bin 309 -> 0 bytes pic/ymon/slowbro.png | Bin 623 -> 0 bytes pic/ymon/slowpoke.png | Bin 313 -> 0 bytes pic/ymon/snorlax.png | Bin 512 -> 0 bytes pic/ymon/spearow.png | Bin 325 -> 0 bytes pic/ymon/squirtle.png | Bin 370 -> 0 bytes pic/ymon/starmie.png | Bin 505 -> 0 bytes pic/ymon/staryu.png | Bin 339 -> 0 bytes pic/ymon/tangela.png | Bin 459 -> 0 bytes pic/ymon/tauros.png | Bin 579 -> 0 bytes pic/ymon/tentacool.png | Bin 384 -> 0 bytes pic/ymon/tentacruel.png | Bin 549 -> 0 bytes pic/ymon/vaporeon.png | Bin 530 -> 0 bytes pic/ymon/venomoth.png | Bin 599 -> 0 bytes pic/ymon/venonat.png | Bin 377 -> 0 bytes pic/ymon/venusaur.png | Bin 661 -> 0 bytes pic/ymon/victreebel.png | Bin 617 -> 0 bytes pic/ymon/vileplume.png | Bin 425 -> 0 bytes pic/ymon/voltorb.png | Bin 281 -> 0 bytes pic/ymon/vulpix.png | Bin 453 -> 0 bytes pic/ymon/wartortle.png | Bin 515 -> 0 bytes pic/ymon/weedle.png | Bin 298 -> 0 bytes pic/ymon/weepinbell.png | Bin 389 -> 0 bytes pic/ymon/weezing.png | Bin 484 -> 0 bytes pic/ymon/wigglytuff.png | Bin 526 -> 0 bytes pic/ymon/zapdos.png | Bin 601 -> 0 bytes pic/ymon/zubat.png | Bin 349 -> 0 bytes pic/ytrainer/brock.png | Bin 371 -> 0 bytes pic/ytrainer/erika.png | Bin 434 -> 0 bytes pic/ytrainer/jessiejames.png | Bin 641 -> 0 bytes pic/ytrainer/misty.png | Bin 406 -> 0 bytes pic/ytrainer/prof.oakb.png | Bin 224 -> 0 bytes pic/ytrainer/red.png | Bin 414 -> 0 bytes pic/ytrainer/rival1.png | Bin 378 -> 0 bytes pic/ytrainer/rival2.png | Bin 445 -> 0 bytes pic/ytrainer/rival3.png | Bin 418 -> 0 bytes pics.asm | 700 +++++++++++++++--------------- 1330 files changed, 507 insertions(+), 507 deletions(-) create mode 100644 gfx/battle/ghost.png create mode 100644 gfx/battle/oldman.png create mode 100644 gfx/player/red.png create mode 100644 gfx/player/redb.png create mode 100644 gfx/player/shrink1.png create mode 100644 gfx/player/shrink2.png create mode 100644 gfx/pokemon/back/abrab.png create mode 100644 gfx/pokemon/back/aerodactylb.png create mode 100644 gfx/pokemon/back/alakazamb.png create mode 100644 gfx/pokemon/back/arbokb.png create mode 100644 gfx/pokemon/back/arcanineb.png create mode 100644 gfx/pokemon/back/articunob.png create mode 100644 gfx/pokemon/back/beedrillb.png create mode 100644 gfx/pokemon/back/bellsproutb.png create mode 100644 gfx/pokemon/back/blastoiseb.png create mode 100644 gfx/pokemon/back/bulbasaurb.png create mode 100644 gfx/pokemon/back/butterfreeb.png create mode 100644 gfx/pokemon/back/caterpieb.png create mode 100644 gfx/pokemon/back/chanseyb.png create mode 100644 gfx/pokemon/back/charizardb.png create mode 100644 gfx/pokemon/back/charmanderb.png create mode 100644 gfx/pokemon/back/charmeleonb.png create mode 100644 gfx/pokemon/back/clefableb.png create mode 100644 gfx/pokemon/back/clefairyb.png create mode 100644 gfx/pokemon/back/cloysterb.png create mode 100644 gfx/pokemon/back/cuboneb.png create mode 100644 gfx/pokemon/back/dewgongb.png create mode 100644 gfx/pokemon/back/diglettb.png create mode 100644 gfx/pokemon/back/dittob.png create mode 100644 gfx/pokemon/back/dodriob.png create mode 100644 gfx/pokemon/back/doduob.png create mode 100644 gfx/pokemon/back/dragonairb.png create mode 100644 gfx/pokemon/back/dragoniteb.png create mode 100644 gfx/pokemon/back/dratinib.png create mode 100644 gfx/pokemon/back/drowzeeb.png create mode 100644 gfx/pokemon/back/dugtriob.png create mode 100644 gfx/pokemon/back/eeveeb.png create mode 100644 gfx/pokemon/back/ekansb.png create mode 100644 gfx/pokemon/back/electabuzzb.png create mode 100644 gfx/pokemon/back/electrodeb.png create mode 100644 gfx/pokemon/back/exeggcuteb.png create mode 100644 gfx/pokemon/back/exeggutorb.png create mode 100644 gfx/pokemon/back/farfetchdb.png create mode 100644 gfx/pokemon/back/fearowb.png create mode 100644 gfx/pokemon/back/flareonb.png create mode 100644 gfx/pokemon/back/gastlyb.png create mode 100644 gfx/pokemon/back/gengarb.png create mode 100644 gfx/pokemon/back/geodudeb.png create mode 100644 gfx/pokemon/back/gloomb.png create mode 100644 gfx/pokemon/back/golbatb.png create mode 100644 gfx/pokemon/back/goldeenb.png create mode 100644 gfx/pokemon/back/golduckb.png create mode 100644 gfx/pokemon/back/golemb.png create mode 100644 gfx/pokemon/back/gravelerb.png create mode 100644 gfx/pokemon/back/grimerb.png create mode 100644 gfx/pokemon/back/growlitheb.png create mode 100644 gfx/pokemon/back/gyaradosb.png create mode 100644 gfx/pokemon/back/haunterb.png create mode 100644 gfx/pokemon/back/hitmonchanb.png create mode 100644 gfx/pokemon/back/hitmonleeb.png create mode 100644 gfx/pokemon/back/horseab.png create mode 100644 gfx/pokemon/back/hypnob.png create mode 100644 gfx/pokemon/back/ivysaurb.png create mode 100644 gfx/pokemon/back/jigglypuffb.png create mode 100644 gfx/pokemon/back/jolteonb.png create mode 100644 gfx/pokemon/back/jynxb.png create mode 100644 gfx/pokemon/back/kabutob.png create mode 100644 gfx/pokemon/back/kabutopsb.png create mode 100644 gfx/pokemon/back/kadabrab.png create mode 100644 gfx/pokemon/back/kakunab.png create mode 100644 gfx/pokemon/back/kangaskhanb.png create mode 100644 gfx/pokemon/back/kinglerb.png create mode 100644 gfx/pokemon/back/koffingb.png create mode 100644 gfx/pokemon/back/krabbyb.png create mode 100644 gfx/pokemon/back/laprasb.png create mode 100644 gfx/pokemon/back/lickitungb.png create mode 100644 gfx/pokemon/back/machampb.png create mode 100644 gfx/pokemon/back/machokeb.png create mode 100644 gfx/pokemon/back/machopb.png create mode 100644 gfx/pokemon/back/magikarpb.png create mode 100644 gfx/pokemon/back/magmarb.png create mode 100644 gfx/pokemon/back/magnemiteb.png create mode 100644 gfx/pokemon/back/magnetonb.png create mode 100644 gfx/pokemon/back/mankeyb.png create mode 100644 gfx/pokemon/back/marowakb.png create mode 100644 gfx/pokemon/back/meowthb.png create mode 100644 gfx/pokemon/back/metapodb.png create mode 100644 gfx/pokemon/back/mewb.png create mode 100644 gfx/pokemon/back/mewtwob.png create mode 100644 gfx/pokemon/back/moltresb.png create mode 100644 gfx/pokemon/back/mr.mimeb.png create mode 100644 gfx/pokemon/back/mukb.png create mode 100644 gfx/pokemon/back/nidokingb.png create mode 100644 gfx/pokemon/back/nidoqueenb.png create mode 100644 gfx/pokemon/back/nidoranfb.png create mode 100644 gfx/pokemon/back/nidoranmb.png create mode 100644 gfx/pokemon/back/nidorinab.png create mode 100644 gfx/pokemon/back/nidorinob.png create mode 100644 gfx/pokemon/back/ninetalesb.png create mode 100644 gfx/pokemon/back/oddishb.png create mode 100644 gfx/pokemon/back/omanyteb.png create mode 100644 gfx/pokemon/back/omastarb.png create mode 100644 gfx/pokemon/back/onixb.png create mode 100644 gfx/pokemon/back/parasb.png create mode 100644 gfx/pokemon/back/parasectb.png create mode 100644 gfx/pokemon/back/persianb.png create mode 100644 gfx/pokemon/back/pidgeotb.png create mode 100644 gfx/pokemon/back/pidgeottob.png create mode 100644 gfx/pokemon/back/pidgeyb.png create mode 100644 gfx/pokemon/back/pikachub.png create mode 100644 gfx/pokemon/back/pinsirb.png create mode 100644 gfx/pokemon/back/poliwagb.png create mode 100644 gfx/pokemon/back/poliwhirlb.png create mode 100644 gfx/pokemon/back/poliwrathb.png create mode 100644 gfx/pokemon/back/ponytab.png create mode 100644 gfx/pokemon/back/porygonb.png create mode 100644 gfx/pokemon/back/primeapeb.png create mode 100644 gfx/pokemon/back/psyduckb.png create mode 100644 gfx/pokemon/back/raichub.png create mode 100644 gfx/pokemon/back/rapidashb.png create mode 100644 gfx/pokemon/back/raticateb.png create mode 100644 gfx/pokemon/back/rattatab.png create mode 100644 gfx/pokemon/back/rhydonb.png create mode 100644 gfx/pokemon/back/rhyhornb.png create mode 100644 gfx/pokemon/back/sandshrewb.png create mode 100644 gfx/pokemon/back/sandslashb.png create mode 100644 gfx/pokemon/back/scytherb.png create mode 100644 gfx/pokemon/back/seadrab.png create mode 100644 gfx/pokemon/back/seakingb.png create mode 100644 gfx/pokemon/back/seelb.png create mode 100644 gfx/pokemon/back/shellderb.png create mode 100644 gfx/pokemon/back/slowbrob.png create mode 100644 gfx/pokemon/back/slowpokeb.png create mode 100644 gfx/pokemon/back/snorlaxb.png create mode 100644 gfx/pokemon/back/spearowb.png create mode 100644 gfx/pokemon/back/squirtleb.png create mode 100644 gfx/pokemon/back/starmieb.png create mode 100644 gfx/pokemon/back/staryub.png create mode 100644 gfx/pokemon/back/tangelab.png create mode 100644 gfx/pokemon/back/taurosb.png create mode 100644 gfx/pokemon/back/tentacoolb.png create mode 100644 gfx/pokemon/back/tentacruelb.png create mode 100644 gfx/pokemon/back/vaporeonb.png create mode 100644 gfx/pokemon/back/venomothb.png create mode 100644 gfx/pokemon/back/venonatb.png create mode 100644 gfx/pokemon/back/venusaurb.png create mode 100644 gfx/pokemon/back/victreebelb.png create mode 100644 gfx/pokemon/back/vileplumeb.png create mode 100644 gfx/pokemon/back/voltorbb.png create mode 100644 gfx/pokemon/back/vulpixb.png create mode 100644 gfx/pokemon/back/wartortleb.png create mode 100644 gfx/pokemon/back/weedleb.png create mode 100644 gfx/pokemon/back/weepinbellb.png create mode 100644 gfx/pokemon/back/weezingb.png create mode 100644 gfx/pokemon/back/wigglytuffb.png create mode 100644 gfx/pokemon/back/zapdosb.png create mode 100644 gfx/pokemon/back/zubatb.png create mode 100644 gfx/pokemon/front/abra.png create mode 100644 gfx/pokemon/front/aerodactyl.png create mode 100644 gfx/pokemon/front/alakazam.png create mode 100644 gfx/pokemon/front/arbok.png create mode 100644 gfx/pokemon/front/arcanine.png create mode 100644 gfx/pokemon/front/articuno.png create mode 100644 gfx/pokemon/front/beedrill.png create mode 100644 gfx/pokemon/front/bellsprout.png create mode 100644 gfx/pokemon/front/blastoise.png create mode 100644 gfx/pokemon/front/bulbasaur.png create mode 100644 gfx/pokemon/front/butterfree.png create mode 100644 gfx/pokemon/front/caterpie.png create mode 100644 gfx/pokemon/front/chansey.png create mode 100644 gfx/pokemon/front/charizard.png create mode 100644 gfx/pokemon/front/charmander.png create mode 100644 gfx/pokemon/front/charmeleon.png create mode 100644 gfx/pokemon/front/clefable.png create mode 100644 gfx/pokemon/front/clefairy.png create mode 100644 gfx/pokemon/front/cloyster.png create mode 100644 gfx/pokemon/front/cubone.png create mode 100644 gfx/pokemon/front/dewgong.png create mode 100644 gfx/pokemon/front/diglett.png create mode 100644 gfx/pokemon/front/ditto.png create mode 100644 gfx/pokemon/front/dodrio.png create mode 100644 gfx/pokemon/front/doduo.png create mode 100644 gfx/pokemon/front/dragonair.png create mode 100644 gfx/pokemon/front/dragonite.png create mode 100644 gfx/pokemon/front/dratini.png create mode 100644 gfx/pokemon/front/drowzee.png create mode 100644 gfx/pokemon/front/dugtrio.png create mode 100644 gfx/pokemon/front/eevee.png create mode 100644 gfx/pokemon/front/ekans.png create mode 100644 gfx/pokemon/front/electabuzz.png create mode 100644 gfx/pokemon/front/electrode.png create mode 100644 gfx/pokemon/front/exeggcute.png create mode 100644 gfx/pokemon/front/exeggutor.png create mode 100644 gfx/pokemon/front/farfetchd.png create mode 100644 gfx/pokemon/front/fearow.png create mode 100644 gfx/pokemon/front/flareon.png create mode 100644 gfx/pokemon/front/fossilaerodactyl.png create mode 100644 gfx/pokemon/front/fossilkabutops.png create mode 100644 gfx/pokemon/front/gastly.png create mode 100644 gfx/pokemon/front/gengar.png create mode 100644 gfx/pokemon/front/geodude.png create mode 100644 gfx/pokemon/front/gloom.png create mode 100644 gfx/pokemon/front/golbat.png create mode 100644 gfx/pokemon/front/goldeen.png create mode 100644 gfx/pokemon/front/golduck.png create mode 100644 gfx/pokemon/front/golem.png create mode 100644 gfx/pokemon/front/graveler.png create mode 100644 gfx/pokemon/front/grimer.png create mode 100644 gfx/pokemon/front/growlithe.png create mode 100644 gfx/pokemon/front/gyarados.png create mode 100644 gfx/pokemon/front/haunter.png create mode 100644 gfx/pokemon/front/hitmonchan.png create mode 100644 gfx/pokemon/front/hitmonlee.png create mode 100644 gfx/pokemon/front/horsea.png create mode 100644 gfx/pokemon/front/hypno.png create mode 100644 gfx/pokemon/front/ivysaur.png create mode 100644 gfx/pokemon/front/jigglypuff.png create mode 100644 gfx/pokemon/front/jolteon.png create mode 100644 gfx/pokemon/front/jynx.png create mode 100644 gfx/pokemon/front/kabuto.png create mode 100644 gfx/pokemon/front/kabutops.png create mode 100644 gfx/pokemon/front/kadabra.png create mode 100644 gfx/pokemon/front/kakuna.png create mode 100644 gfx/pokemon/front/kangaskhan.png create mode 100644 gfx/pokemon/front/kingler.png create mode 100644 gfx/pokemon/front/koffing.png create mode 100644 gfx/pokemon/front/krabby.png create mode 100644 gfx/pokemon/front/lapras.png create mode 100644 gfx/pokemon/front/lickitung.png create mode 100644 gfx/pokemon/front/machamp.png create mode 100644 gfx/pokemon/front/machoke.png create mode 100644 gfx/pokemon/front/machop.png create mode 100644 gfx/pokemon/front/magikarp.png create mode 100644 gfx/pokemon/front/magmar.png create mode 100644 gfx/pokemon/front/magnemite.png create mode 100644 gfx/pokemon/front/magneton.png create mode 100644 gfx/pokemon/front/mankey.png create mode 100644 gfx/pokemon/front/marowak.png create mode 100644 gfx/pokemon/front/meowth.png create mode 100644 gfx/pokemon/front/metapod.png create mode 100644 gfx/pokemon/front/mew.png create mode 100644 gfx/pokemon/front/mewtwo.png create mode 100644 gfx/pokemon/front/moltres.png create mode 100644 gfx/pokemon/front/mr.mime.png create mode 100644 gfx/pokemon/front/muk.png create mode 100644 gfx/pokemon/front/nidoking.png create mode 100644 gfx/pokemon/front/nidoqueen.png create mode 100644 gfx/pokemon/front/nidoranf.png create mode 100644 gfx/pokemon/front/nidoranm.png create mode 100644 gfx/pokemon/front/nidorina.png create mode 100644 gfx/pokemon/front/nidorino.png create mode 100644 gfx/pokemon/front/ninetales.png create mode 100644 gfx/pokemon/front/oddish.png create mode 100644 gfx/pokemon/front/omanyte.png create mode 100644 gfx/pokemon/front/omastar.png create mode 100644 gfx/pokemon/front/onix.png create mode 100644 gfx/pokemon/front/paras.png create mode 100644 gfx/pokemon/front/parasect.png create mode 100644 gfx/pokemon/front/persian.png create mode 100644 gfx/pokemon/front/pidgeot.png create mode 100644 gfx/pokemon/front/pidgeotto.png create mode 100644 gfx/pokemon/front/pidgey.png create mode 100644 gfx/pokemon/front/pikachu.png create mode 100644 gfx/pokemon/front/pinsir.png create mode 100644 gfx/pokemon/front/poliwag.png create mode 100644 gfx/pokemon/front/poliwhirl.png create mode 100644 gfx/pokemon/front/poliwrath.png create mode 100644 gfx/pokemon/front/ponyta.png create mode 100644 gfx/pokemon/front/porygon.png create mode 100644 gfx/pokemon/front/primeape.png create mode 100644 gfx/pokemon/front/psyduck.png create mode 100644 gfx/pokemon/front/raichu.png create mode 100644 gfx/pokemon/front/rapidash.png create mode 100644 gfx/pokemon/front/raticate.png create mode 100644 gfx/pokemon/front/rattata.png create mode 100644 gfx/pokemon/front/rhydon.png create mode 100644 gfx/pokemon/front/rhyhorn.png create mode 100644 gfx/pokemon/front/sandshrew.png create mode 100644 gfx/pokemon/front/sandslash.png create mode 100644 gfx/pokemon/front/scyther.png create mode 100644 gfx/pokemon/front/seadra.png create mode 100644 gfx/pokemon/front/seaking.png create mode 100644 gfx/pokemon/front/seel.png create mode 100644 gfx/pokemon/front/shellder.png create mode 100644 gfx/pokemon/front/slowbro.png create mode 100644 gfx/pokemon/front/slowpoke.png create mode 100644 gfx/pokemon/front/snorlax.png create mode 100644 gfx/pokemon/front/spearow.png create mode 100644 gfx/pokemon/front/squirtle.png create mode 100644 gfx/pokemon/front/starmie.png create mode 100644 gfx/pokemon/front/staryu.png create mode 100644 gfx/pokemon/front/tangela.png create mode 100644 gfx/pokemon/front/tauros.png create mode 100644 gfx/pokemon/front/tentacool.png create mode 100644 gfx/pokemon/front/tentacruel.png create mode 100644 gfx/pokemon/front/vaporeon.png create mode 100644 gfx/pokemon/front/venomoth.png create mode 100644 gfx/pokemon/front/venonat.png create mode 100644 gfx/pokemon/front/venusaur.png create mode 100644 gfx/pokemon/front/victreebel.png create mode 100644 gfx/pokemon/front/vileplume.png create mode 100644 gfx/pokemon/front/voltorb.png create mode 100644 gfx/pokemon/front/vulpix.png create mode 100644 gfx/pokemon/front/wartortle.png create mode 100644 gfx/pokemon/front/weedle.png create mode 100644 gfx/pokemon/front/weepinbell.png create mode 100644 gfx/pokemon/front/weezing.png create mode 100644 gfx/pokemon/front/wigglytuff.png create mode 100644 gfx/pokemon/front/zapdos.png create mode 100644 gfx/pokemon/front/zubat.png create mode 100644 gfx/pokemon/front_rg/abra.png create mode 100644 gfx/pokemon/front_rg/aerodactyl.png create mode 100644 gfx/pokemon/front_rg/alakazam.png create mode 100644 gfx/pokemon/front_rg/arbok.png create mode 100644 gfx/pokemon/front_rg/arcanine.png create mode 100644 gfx/pokemon/front_rg/articuno.png create mode 100644 gfx/pokemon/front_rg/beedrill.png create mode 100644 gfx/pokemon/front_rg/bellsprout.png create mode 100644 gfx/pokemon/front_rg/blastoise.png create mode 100644 gfx/pokemon/front_rg/bulbasaur.png create mode 100644 gfx/pokemon/front_rg/butterfree.png create mode 100644 gfx/pokemon/front_rg/caterpie.png create mode 100644 gfx/pokemon/front_rg/chansey.png create mode 100644 gfx/pokemon/front_rg/charizard.png create mode 100644 gfx/pokemon/front_rg/charmander.png create mode 100644 gfx/pokemon/front_rg/charmeleon.png create mode 100644 gfx/pokemon/front_rg/clefable.png create mode 100644 gfx/pokemon/front_rg/clefairy.png create mode 100644 gfx/pokemon/front_rg/cloyster.png create mode 100644 gfx/pokemon/front_rg/cubone.png create mode 100644 gfx/pokemon/front_rg/dewgong.png create mode 100644 gfx/pokemon/front_rg/diglett.png create mode 100644 gfx/pokemon/front_rg/ditto.png create mode 100644 gfx/pokemon/front_rg/dodrio.png create mode 100644 gfx/pokemon/front_rg/doduo.png create mode 100644 gfx/pokemon/front_rg/dragonair.png create mode 100644 gfx/pokemon/front_rg/dragonite.png create mode 100644 gfx/pokemon/front_rg/dratini.png create mode 100644 gfx/pokemon/front_rg/drowzee.png create mode 100644 gfx/pokemon/front_rg/dugtrio.png create mode 100644 gfx/pokemon/front_rg/eevee.png create mode 100644 gfx/pokemon/front_rg/ekans.png create mode 100644 gfx/pokemon/front_rg/electabuzz.png create mode 100644 gfx/pokemon/front_rg/electrode.png create mode 100644 gfx/pokemon/front_rg/exeggcute.png create mode 100644 gfx/pokemon/front_rg/exeggutor.png create mode 100644 gfx/pokemon/front_rg/farfetchd.png create mode 100644 gfx/pokemon/front_rg/fearow.png create mode 100644 gfx/pokemon/front_rg/flareon.png create mode 100644 gfx/pokemon/front_rg/fossilaerodactyl.png create mode 100644 gfx/pokemon/front_rg/fossilkabutops.png create mode 100644 gfx/pokemon/front_rg/gastly.png create mode 100644 gfx/pokemon/front_rg/gengar.png create mode 100644 gfx/pokemon/front_rg/geodude.png create mode 100644 gfx/pokemon/front_rg/gloom.png create mode 100644 gfx/pokemon/front_rg/golbat.png create mode 100644 gfx/pokemon/front_rg/goldeen.png create mode 100644 gfx/pokemon/front_rg/golduck.png create mode 100644 gfx/pokemon/front_rg/golem.png create mode 100644 gfx/pokemon/front_rg/graveler.png create mode 100644 gfx/pokemon/front_rg/grimer.png create mode 100644 gfx/pokemon/front_rg/growlithe.png create mode 100644 gfx/pokemon/front_rg/gyarados.png create mode 100644 gfx/pokemon/front_rg/haunter.png create mode 100644 gfx/pokemon/front_rg/hitmonchan.png create mode 100644 gfx/pokemon/front_rg/hitmonlee.png create mode 100644 gfx/pokemon/front_rg/horsea.png create mode 100644 gfx/pokemon/front_rg/hypno.png create mode 100644 gfx/pokemon/front_rg/ivysaur.png create mode 100644 gfx/pokemon/front_rg/jigglypuff.png create mode 100644 gfx/pokemon/front_rg/jolteon.png create mode 100644 gfx/pokemon/front_rg/jynx.png create mode 100644 gfx/pokemon/front_rg/kabuto.png create mode 100644 gfx/pokemon/front_rg/kabutops.png create mode 100644 gfx/pokemon/front_rg/kadabra.png create mode 100644 gfx/pokemon/front_rg/kakuna.png create mode 100644 gfx/pokemon/front_rg/kangaskhan.png create mode 100644 gfx/pokemon/front_rg/kingler.png create mode 100644 gfx/pokemon/front_rg/koffing.png create mode 100644 gfx/pokemon/front_rg/krabby.png create mode 100644 gfx/pokemon/front_rg/lapras.png create mode 100644 gfx/pokemon/front_rg/lickitung.png create mode 100644 gfx/pokemon/front_rg/machamp.png create mode 100644 gfx/pokemon/front_rg/machoke.png create mode 100644 gfx/pokemon/front_rg/machop.png create mode 100644 gfx/pokemon/front_rg/magikarp.png create mode 100644 gfx/pokemon/front_rg/magmar.png create mode 100644 gfx/pokemon/front_rg/magnemite.png create mode 100644 gfx/pokemon/front_rg/magneton.png create mode 100644 gfx/pokemon/front_rg/mankey.png create mode 100644 gfx/pokemon/front_rg/marowak.png create mode 100644 gfx/pokemon/front_rg/meowth.png create mode 100644 gfx/pokemon/front_rg/metapod.png create mode 100644 gfx/pokemon/front_rg/mew.png create mode 100644 gfx/pokemon/front_rg/mewtwo.png create mode 100644 gfx/pokemon/front_rg/moltres.png create mode 100644 gfx/pokemon/front_rg/mr.mime.png create mode 100644 gfx/pokemon/front_rg/muk.png create mode 100644 gfx/pokemon/front_rg/nidoking.png create mode 100644 gfx/pokemon/front_rg/nidoqueen.png create mode 100644 gfx/pokemon/front_rg/nidoranf.png create mode 100644 gfx/pokemon/front_rg/nidoranm.png create mode 100644 gfx/pokemon/front_rg/nidorina.png create mode 100644 gfx/pokemon/front_rg/nidorino.png create mode 100644 gfx/pokemon/front_rg/ninetales.png create mode 100644 gfx/pokemon/front_rg/oddish.png create mode 100644 gfx/pokemon/front_rg/omanyte.png create mode 100644 gfx/pokemon/front_rg/omastar.png create mode 100644 gfx/pokemon/front_rg/onix.png create mode 100644 gfx/pokemon/front_rg/paras.png create mode 100644 gfx/pokemon/front_rg/parasect.png create mode 100644 gfx/pokemon/front_rg/persian.png create mode 100644 gfx/pokemon/front_rg/pidgeot.png create mode 100644 gfx/pokemon/front_rg/pidgeotto.png create mode 100644 gfx/pokemon/front_rg/pidgey.png create mode 100644 gfx/pokemon/front_rg/pikachu.png create mode 100644 gfx/pokemon/front_rg/pinsir.png create mode 100644 gfx/pokemon/front_rg/poliwag.png create mode 100644 gfx/pokemon/front_rg/poliwhirl.png create mode 100644 gfx/pokemon/front_rg/poliwrath.png create mode 100644 gfx/pokemon/front_rg/ponyta.png create mode 100644 gfx/pokemon/front_rg/porygon.png create mode 100644 gfx/pokemon/front_rg/primeape.png create mode 100644 gfx/pokemon/front_rg/psyduck.png create mode 100644 gfx/pokemon/front_rg/raichu.png create mode 100644 gfx/pokemon/front_rg/rapidash.png create mode 100644 gfx/pokemon/front_rg/raticate.png create mode 100644 gfx/pokemon/front_rg/rattata.png create mode 100644 gfx/pokemon/front_rg/rhydon.png create mode 100644 gfx/pokemon/front_rg/rhyhorn.png create mode 100644 gfx/pokemon/front_rg/sandshrew.png create mode 100644 gfx/pokemon/front_rg/sandslash.png create mode 100644 gfx/pokemon/front_rg/scyther.png create mode 100644 gfx/pokemon/front_rg/seadra.png create mode 100644 gfx/pokemon/front_rg/seaking.png create mode 100644 gfx/pokemon/front_rg/seel.png create mode 100644 gfx/pokemon/front_rg/shellder.png create mode 100644 gfx/pokemon/front_rg/slowbro.png create mode 100644 gfx/pokemon/front_rg/slowpoke.png create mode 100644 gfx/pokemon/front_rg/snorlax.png create mode 100644 gfx/pokemon/front_rg/spearow.png create mode 100644 gfx/pokemon/front_rg/squirtle.png create mode 100644 gfx/pokemon/front_rg/starmie.png create mode 100644 gfx/pokemon/front_rg/staryu.png create mode 100644 gfx/pokemon/front_rg/tangela.png create mode 100644 gfx/pokemon/front_rg/tauros.png create mode 100644 gfx/pokemon/front_rg/tentacool.png create mode 100644 gfx/pokemon/front_rg/tentacruel.png create mode 100644 gfx/pokemon/front_rg/vaporeon.png create mode 100644 gfx/pokemon/front_rg/venomoth.png create mode 100644 gfx/pokemon/front_rg/venonat.png create mode 100644 gfx/pokemon/front_rg/venusaur.png create mode 100644 gfx/pokemon/front_rg/victreebel.png create mode 100644 gfx/pokemon/front_rg/vileplume.png create mode 100644 gfx/pokemon/front_rg/voltorb.png create mode 100644 gfx/pokemon/front_rg/vulpix.png create mode 100644 gfx/pokemon/front_rg/wartortle.png create mode 100644 gfx/pokemon/front_rg/weedle.png create mode 100644 gfx/pokemon/front_rg/weepinbell.png create mode 100644 gfx/pokemon/front_rg/weezing.png create mode 100644 gfx/pokemon/front_rg/wigglytuff.png create mode 100644 gfx/pokemon/front_rg/zapdos.png create mode 100644 gfx/pokemon/front_rg/zubat.png create mode 100644 gfx/trainers/agatha.png create mode 100644 gfx/trainers/beauty.png create mode 100644 gfx/trainers/biker.png create mode 100644 gfx/trainers/birdkeeper.png create mode 100644 gfx/trainers/blackbelt.png create mode 100644 gfx/trainers/blaine.png create mode 100644 gfx/trainers/brock.png create mode 100644 gfx/trainers/bruno.png create mode 100644 gfx/trainers/bugcatcher.png create mode 100644 gfx/trainers/burglar.png create mode 100644 gfx/trainers/channeler.png create mode 100644 gfx/trainers/cooltrainerf.png create mode 100644 gfx/trainers/cooltrainerm.png create mode 100644 gfx/trainers/cueball.png create mode 100644 gfx/trainers/engineer.png create mode 100644 gfx/trainers/erika.png create mode 100644 gfx/trainers/fisher.png create mode 100644 gfx/trainers/gambler.png create mode 100644 gfx/trainers/gentleman.png create mode 100644 gfx/trainers/giovanni.png create mode 100644 gfx/trainers/hiker.png create mode 100644 gfx/trainers/jr.trainerf.png create mode 100644 gfx/trainers/jr.trainerm.png create mode 100644 gfx/trainers/juggler.png create mode 100644 gfx/trainers/koga.png create mode 100644 gfx/trainers/lance.png create mode 100644 gfx/trainers/lass.png create mode 100644 gfx/trainers/lorelei.png create mode 100644 gfx/trainers/lt.surge.png create mode 100644 gfx/trainers/misty.png create mode 100644 gfx/trainers/pokemaniac.png create mode 100644 gfx/trainers/prof.oak.png create mode 100644 gfx/trainers/psychic.png create mode 100644 gfx/trainers/rival1.png create mode 100644 gfx/trainers/rival2.png create mode 100644 gfx/trainers/rival3.png create mode 100644 gfx/trainers/rocker.png create mode 100644 gfx/trainers/rocket.png create mode 100644 gfx/trainers/sabrina.png create mode 100644 gfx/trainers/sailor.png create mode 100644 gfx/trainers/scientist.png create mode 100644 gfx/trainers/supernerd.png create mode 100644 gfx/trainers/swimmer.png create mode 100644 gfx/trainers/tamer.png create mode 100644 gfx/trainers/youngster.png delete mode 100644 pic/bmon/abra.png delete mode 100644 pic/bmon/aerodactyl.png delete mode 100644 pic/bmon/alakazam.png delete mode 100644 pic/bmon/arbok.png delete mode 100644 pic/bmon/arcanine.png delete mode 100644 pic/bmon/articuno.png delete mode 100644 pic/bmon/beedrill.png delete mode 100644 pic/bmon/bellsprout.png delete mode 100644 pic/bmon/blastoise.png delete mode 100644 pic/bmon/bulbasaur.png delete mode 100644 pic/bmon/butterfree.png delete mode 100644 pic/bmon/caterpie.png delete mode 100644 pic/bmon/chansey.png delete mode 100644 pic/bmon/charizard.png delete mode 100644 pic/bmon/charmander.png delete mode 100644 pic/bmon/charmeleon.png delete mode 100644 pic/bmon/clefable.png delete mode 100644 pic/bmon/clefairy.png delete mode 100644 pic/bmon/cloyster.png delete mode 100644 pic/bmon/cubone.png delete mode 100644 pic/bmon/dewgong.png delete mode 100644 pic/bmon/diglett.png delete mode 100644 pic/bmon/ditto.png delete mode 100644 pic/bmon/dodrio.png delete mode 100644 pic/bmon/doduo.png delete mode 100644 pic/bmon/dragonair.png delete mode 100644 pic/bmon/dragonite.png delete mode 100644 pic/bmon/dratini.png delete mode 100644 pic/bmon/drowzee.png delete mode 100644 pic/bmon/dugtrio.png delete mode 100644 pic/bmon/eevee.png delete mode 100644 pic/bmon/ekans.png delete mode 100644 pic/bmon/electabuzz.png delete mode 100644 pic/bmon/electrode.png delete mode 100644 pic/bmon/exeggcute.png delete mode 100644 pic/bmon/exeggutor.png delete mode 100644 pic/bmon/farfetchd.png delete mode 100644 pic/bmon/fearow.png delete mode 100644 pic/bmon/flareon.png delete mode 100644 pic/bmon/fossilaerodactyl.png delete mode 100644 pic/bmon/fossilkabutops.png delete mode 100644 pic/bmon/gastly.png delete mode 100644 pic/bmon/gengar.png delete mode 100644 pic/bmon/geodude.png delete mode 100644 pic/bmon/gloom.png delete mode 100644 pic/bmon/golbat.png delete mode 100644 pic/bmon/goldeen.png delete mode 100644 pic/bmon/golduck.png delete mode 100644 pic/bmon/golem.png delete mode 100644 pic/bmon/graveler.png delete mode 100644 pic/bmon/grimer.png delete mode 100644 pic/bmon/growlithe.png delete mode 100644 pic/bmon/gyarados.png delete mode 100644 pic/bmon/haunter.png delete mode 100644 pic/bmon/hitmonchan.png delete mode 100644 pic/bmon/hitmonlee.png delete mode 100644 pic/bmon/horsea.png delete mode 100644 pic/bmon/hypno.png delete mode 100644 pic/bmon/ivysaur.png delete mode 100644 pic/bmon/jigglypuff.png delete mode 100644 pic/bmon/jolteon.png delete mode 100644 pic/bmon/jynx.png delete mode 100644 pic/bmon/kabuto.png delete mode 100644 pic/bmon/kabutops.png delete mode 100644 pic/bmon/kadabra.png delete mode 100644 pic/bmon/kakuna.png delete mode 100644 pic/bmon/kangaskhan.png delete mode 100644 pic/bmon/kingler.png delete mode 100644 pic/bmon/koffing.png delete mode 100644 pic/bmon/krabby.png delete mode 100644 pic/bmon/lapras.png delete mode 100644 pic/bmon/lickitung.png delete mode 100644 pic/bmon/machamp.png delete mode 100644 pic/bmon/machoke.png delete mode 100644 pic/bmon/machop.png delete mode 100644 pic/bmon/magikarp.png delete mode 100644 pic/bmon/magmar.png delete mode 100644 pic/bmon/magnemite.png delete mode 100644 pic/bmon/magneton.png delete mode 100644 pic/bmon/mankey.png delete mode 100644 pic/bmon/marowak.png delete mode 100644 pic/bmon/meowth.png delete mode 100644 pic/bmon/metapod.png delete mode 100644 pic/bmon/mew.png delete mode 100644 pic/bmon/mewtwo.png delete mode 100644 pic/bmon/moltres.png delete mode 100644 pic/bmon/mr.mime.png delete mode 100644 pic/bmon/muk.png delete mode 100644 pic/bmon/nidoking.png delete mode 100644 pic/bmon/nidoqueen.png delete mode 100644 pic/bmon/nidoranf.png delete mode 100644 pic/bmon/nidoranm.png delete mode 100644 pic/bmon/nidorina.png delete mode 100644 pic/bmon/nidorino.png delete mode 100644 pic/bmon/ninetales.png delete mode 100644 pic/bmon/oddish.png delete mode 100644 pic/bmon/omanyte.png delete mode 100644 pic/bmon/omastar.png delete mode 100644 pic/bmon/onix.png delete mode 100644 pic/bmon/paras.png delete mode 100644 pic/bmon/parasect.png delete mode 100644 pic/bmon/persian.png delete mode 100644 pic/bmon/pidgeot.png delete mode 100644 pic/bmon/pidgeotto.png delete mode 100644 pic/bmon/pidgey.png delete mode 100644 pic/bmon/pikachu.png delete mode 100644 pic/bmon/pinsir.png delete mode 100644 pic/bmon/poliwag.png delete mode 100644 pic/bmon/poliwhirl.png delete mode 100644 pic/bmon/poliwrath.png delete mode 100644 pic/bmon/ponyta.png delete mode 100644 pic/bmon/porygon.png delete mode 100644 pic/bmon/primeape.png delete mode 100644 pic/bmon/psyduck.png delete mode 100644 pic/bmon/raichu.png delete mode 100644 pic/bmon/rapidash.png delete mode 100644 pic/bmon/raticate.png delete mode 100644 pic/bmon/rattata.png delete mode 100644 pic/bmon/rhydon.png delete mode 100644 pic/bmon/rhyhorn.png delete mode 100644 pic/bmon/sandshrew.png delete mode 100644 pic/bmon/sandslash.png delete mode 100644 pic/bmon/scyther.png delete mode 100644 pic/bmon/seadra.png delete mode 100644 pic/bmon/seaking.png delete mode 100644 pic/bmon/seel.png delete mode 100644 pic/bmon/shellder.png delete mode 100644 pic/bmon/slowbro.png delete mode 100644 pic/bmon/slowpoke.png delete mode 100644 pic/bmon/snorlax.png delete mode 100644 pic/bmon/spearow.png delete mode 100644 pic/bmon/squirtle.png delete mode 100644 pic/bmon/starmie.png delete mode 100644 pic/bmon/staryu.png delete mode 100644 pic/bmon/tangela.png delete mode 100644 pic/bmon/tauros.png delete mode 100644 pic/bmon/tentacool.png delete mode 100644 pic/bmon/tentacruel.png delete mode 100644 pic/bmon/vaporeon.png delete mode 100644 pic/bmon/venomoth.png delete mode 100644 pic/bmon/venonat.png delete mode 100644 pic/bmon/venusaur.png delete mode 100644 pic/bmon/victreebel.png delete mode 100644 pic/bmon/vileplume.png delete mode 100644 pic/bmon/voltorb.png delete mode 100644 pic/bmon/vulpix.png delete mode 100644 pic/bmon/wartortle.png delete mode 100644 pic/bmon/weedle.png delete mode 100644 pic/bmon/weepinbell.png delete mode 100644 pic/bmon/weezing.png delete mode 100644 pic/bmon/wigglytuff.png delete mode 100644 pic/bmon/zapdos.png delete mode 100644 pic/bmon/zubat.png delete mode 100644 pic/monback/abrab.png delete mode 100644 pic/monback/aerodactylb.png delete mode 100644 pic/monback/alakazamb.png delete mode 100644 pic/monback/arbokb.png delete mode 100644 pic/monback/arcanineb.png delete mode 100644 pic/monback/articunob.png delete mode 100644 pic/monback/beedrillb.png delete mode 100644 pic/monback/bellsproutb.png delete mode 100644 pic/monback/blastoiseb.png delete mode 100644 pic/monback/bulbasaurb.png delete mode 100644 pic/monback/butterfreeb.png delete mode 100644 pic/monback/caterpieb.png delete mode 100644 pic/monback/chanseyb.png delete mode 100644 pic/monback/charizardb.png delete mode 100644 pic/monback/charmanderb.png delete mode 100644 pic/monback/charmeleonb.png delete mode 100644 pic/monback/clefableb.png delete mode 100644 pic/monback/clefairyb.png delete mode 100644 pic/monback/cloysterb.png delete mode 100644 pic/monback/cuboneb.png delete mode 100644 pic/monback/dewgongb.png delete mode 100644 pic/monback/diglettb.png delete mode 100644 pic/monback/dittob.png delete mode 100644 pic/monback/dodriob.png delete mode 100644 pic/monback/doduob.png delete mode 100644 pic/monback/dragonairb.png delete mode 100644 pic/monback/dragoniteb.png delete mode 100644 pic/monback/dratinib.png delete mode 100644 pic/monback/drowzeeb.png delete mode 100644 pic/monback/dugtriob.png delete mode 100644 pic/monback/eeveeb.png delete mode 100644 pic/monback/ekansb.png delete mode 100644 pic/monback/electabuzzb.png delete mode 100644 pic/monback/electrodeb.png delete mode 100644 pic/monback/exeggcuteb.png delete mode 100644 pic/monback/exeggutorb.png delete mode 100644 pic/monback/farfetchdb.png delete mode 100644 pic/monback/fearowb.png delete mode 100644 pic/monback/flareonb.png delete mode 100644 pic/monback/gastlyb.png delete mode 100644 pic/monback/gengarb.png delete mode 100644 pic/monback/geodudeb.png delete mode 100644 pic/monback/gloomb.png delete mode 100644 pic/monback/golbatb.png delete mode 100644 pic/monback/goldeenb.png delete mode 100644 pic/monback/golduckb.png delete mode 100644 pic/monback/golemb.png delete mode 100644 pic/monback/gravelerb.png delete mode 100644 pic/monback/grimerb.png delete mode 100644 pic/monback/growlitheb.png delete mode 100644 pic/monback/gyaradosb.png delete mode 100644 pic/monback/haunterb.png delete mode 100644 pic/monback/hitmonchanb.png delete mode 100644 pic/monback/hitmonleeb.png delete mode 100644 pic/monback/horseab.png delete mode 100644 pic/monback/hypnob.png delete mode 100644 pic/monback/ivysaurb.png delete mode 100644 pic/monback/jigglypuffb.png delete mode 100644 pic/monback/jolteonb.png delete mode 100644 pic/monback/jynxb.png delete mode 100644 pic/monback/kabutob.png delete mode 100644 pic/monback/kabutopsb.png delete mode 100644 pic/monback/kadabrab.png delete mode 100644 pic/monback/kakunab.png delete mode 100644 pic/monback/kangaskhanb.png delete mode 100644 pic/monback/kinglerb.png delete mode 100644 pic/monback/koffingb.png delete mode 100644 pic/monback/krabbyb.png delete mode 100644 pic/monback/laprasb.png delete mode 100644 pic/monback/lickitungb.png delete mode 100644 pic/monback/machampb.png delete mode 100644 pic/monback/machokeb.png delete mode 100644 pic/monback/machopb.png delete mode 100644 pic/monback/magikarpb.png delete mode 100644 pic/monback/magmarb.png delete mode 100644 pic/monback/magnemiteb.png delete mode 100644 pic/monback/magnetonb.png delete mode 100644 pic/monback/mankeyb.png delete mode 100644 pic/monback/marowakb.png delete mode 100644 pic/monback/meowthb.png delete mode 100644 pic/monback/metapodb.png delete mode 100644 pic/monback/mewb.png delete mode 100644 pic/monback/mewtwob.png delete mode 100644 pic/monback/moltresb.png delete mode 100644 pic/monback/mr.mimeb.png delete mode 100644 pic/monback/mukb.png delete mode 100644 pic/monback/nidokingb.png delete mode 100644 pic/monback/nidoqueenb.png delete mode 100644 pic/monback/nidoranfb.png delete mode 100644 pic/monback/nidoranmb.png delete mode 100644 pic/monback/nidorinab.png delete mode 100644 pic/monback/nidorinob.png delete mode 100644 pic/monback/ninetalesb.png delete mode 100644 pic/monback/oddishb.png delete mode 100644 pic/monback/omanyteb.png delete mode 100644 pic/monback/omastarb.png delete mode 100644 pic/monback/onixb.png delete mode 100644 pic/monback/parasb.png delete mode 100644 pic/monback/parasectb.png delete mode 100644 pic/monback/persianb.png delete mode 100644 pic/monback/pidgeotb.png delete mode 100644 pic/monback/pidgeottob.png delete mode 100644 pic/monback/pidgeyb.png delete mode 100644 pic/monback/pikachub.png delete mode 100644 pic/monback/pinsirb.png delete mode 100644 pic/monback/poliwagb.png delete mode 100644 pic/monback/poliwhirlb.png delete mode 100644 pic/monback/poliwrathb.png delete mode 100644 pic/monback/ponytab.png delete mode 100644 pic/monback/porygonb.png delete mode 100644 pic/monback/primeapeb.png delete mode 100644 pic/monback/psyduckb.png delete mode 100644 pic/monback/raichub.png delete mode 100644 pic/monback/rapidashb.png delete mode 100644 pic/monback/raticateb.png delete mode 100644 pic/monback/rattatab.png delete mode 100644 pic/monback/rhydonb.png delete mode 100644 pic/monback/rhyhornb.png delete mode 100644 pic/monback/sandshrewb.png delete mode 100644 pic/monback/sandslashb.png delete mode 100644 pic/monback/scytherb.png delete mode 100644 pic/monback/seadrab.png delete mode 100644 pic/monback/seakingb.png delete mode 100644 pic/monback/seelb.png delete mode 100644 pic/monback/shellderb.png delete mode 100644 pic/monback/slowbrob.png delete mode 100644 pic/monback/slowpokeb.png delete mode 100644 pic/monback/snorlaxb.png delete mode 100644 pic/monback/spearowb.png delete mode 100644 pic/monback/squirtleb.png delete mode 100644 pic/monback/starmieb.png delete mode 100644 pic/monback/staryub.png delete mode 100644 pic/monback/tangelab.png delete mode 100644 pic/monback/taurosb.png delete mode 100644 pic/monback/tentacoolb.png delete mode 100644 pic/monback/tentacruelb.png delete mode 100644 pic/monback/vaporeonb.png delete mode 100644 pic/monback/venomothb.png delete mode 100644 pic/monback/venonatb.png delete mode 100644 pic/monback/venusaurb.png delete mode 100644 pic/monback/victreebelb.png delete mode 100644 pic/monback/vileplumeb.png delete mode 100644 pic/monback/voltorbb.png delete mode 100644 pic/monback/vulpixb.png delete mode 100644 pic/monback/wartortleb.png delete mode 100644 pic/monback/weedleb.png delete mode 100644 pic/monback/weepinbellb.png delete mode 100644 pic/monback/weezingb.png delete mode 100644 pic/monback/wigglytuffb.png delete mode 100644 pic/monback/zapdosb.png delete mode 100644 pic/monback/zubatb.png delete mode 100644 pic/other/ghost.png delete mode 100644 pic/rgmon/abra.png delete mode 100644 pic/rgmon/aerodactyl.png delete mode 100644 pic/rgmon/alakazam.png delete mode 100644 pic/rgmon/arbok.png delete mode 100644 pic/rgmon/arcanine.png delete mode 100644 pic/rgmon/articuno.png delete mode 100644 pic/rgmon/beedrill.png delete mode 100644 pic/rgmon/bellsprout.png delete mode 100644 pic/rgmon/blastoise.png delete mode 100644 pic/rgmon/bulbasaur.png delete mode 100644 pic/rgmon/butterfree.png delete mode 100644 pic/rgmon/caterpie.png delete mode 100644 pic/rgmon/chansey.png delete mode 100644 pic/rgmon/charizard.png delete mode 100644 pic/rgmon/charmander.png delete mode 100644 pic/rgmon/charmeleon.png delete mode 100644 pic/rgmon/clefable.png delete mode 100644 pic/rgmon/clefairy.png delete mode 100644 pic/rgmon/cloyster.png delete mode 100644 pic/rgmon/cubone.png delete mode 100644 pic/rgmon/dewgong.png delete mode 100644 pic/rgmon/diglett.png delete mode 100644 pic/rgmon/ditto.png delete mode 100644 pic/rgmon/dodrio.png delete mode 100644 pic/rgmon/doduo.png delete mode 100644 pic/rgmon/dragonair.png delete mode 100644 pic/rgmon/dragonite.png delete mode 100644 pic/rgmon/dratini.png delete mode 100644 pic/rgmon/drowzee.png delete mode 100644 pic/rgmon/dugtrio.png delete mode 100644 pic/rgmon/eevee.png delete mode 100644 pic/rgmon/ekans.png delete mode 100644 pic/rgmon/electabuzz.png delete mode 100644 pic/rgmon/electrode.png delete mode 100644 pic/rgmon/exeggcute.png delete mode 100644 pic/rgmon/exeggutor.png delete mode 100644 pic/rgmon/farfetchd.png delete mode 100644 pic/rgmon/fearow.png delete mode 100644 pic/rgmon/flareon.png delete mode 100644 pic/rgmon/fossilaerodactyl.png delete mode 100644 pic/rgmon/fossilkabutops.png delete mode 100644 pic/rgmon/gastly.png delete mode 100644 pic/rgmon/gengar.png delete mode 100644 pic/rgmon/geodude.png delete mode 100644 pic/rgmon/gloom.png delete mode 100644 pic/rgmon/golbat.png delete mode 100644 pic/rgmon/goldeen.png delete mode 100644 pic/rgmon/golduck.png delete mode 100644 pic/rgmon/golem.png delete mode 100644 pic/rgmon/graveler.png delete mode 100644 pic/rgmon/grimer.png delete mode 100644 pic/rgmon/growlithe.png delete mode 100644 pic/rgmon/gyarados.png delete mode 100644 pic/rgmon/haunter.png delete mode 100644 pic/rgmon/hitmonchan.png delete mode 100644 pic/rgmon/hitmonlee.png delete mode 100644 pic/rgmon/horsea.png delete mode 100644 pic/rgmon/hypno.png delete mode 100644 pic/rgmon/ivysaur.png delete mode 100644 pic/rgmon/jigglypuff.png delete mode 100644 pic/rgmon/jolteon.png delete mode 100644 pic/rgmon/jynx.png delete mode 100644 pic/rgmon/kabuto.png delete mode 100644 pic/rgmon/kabutops.png delete mode 100644 pic/rgmon/kadabra.png delete mode 100644 pic/rgmon/kakuna.png delete mode 100644 pic/rgmon/kangaskhan.png delete mode 100644 pic/rgmon/kingler.png delete mode 100644 pic/rgmon/koffing.png delete mode 100644 pic/rgmon/krabby.png delete mode 100644 pic/rgmon/lapras.png delete mode 100644 pic/rgmon/lickitung.png delete mode 100644 pic/rgmon/machamp.png delete mode 100644 pic/rgmon/machoke.png delete mode 100644 pic/rgmon/machop.png delete mode 100644 pic/rgmon/magikarp.png delete mode 100644 pic/rgmon/magmar.png delete mode 100644 pic/rgmon/magnemite.png delete mode 100644 pic/rgmon/magneton.png delete mode 100644 pic/rgmon/mankey.png delete mode 100644 pic/rgmon/marowak.png delete mode 100644 pic/rgmon/meowth.png delete mode 100644 pic/rgmon/metapod.png delete mode 100644 pic/rgmon/mew.png delete mode 100644 pic/rgmon/mewtwo.png delete mode 100644 pic/rgmon/moltres.png delete mode 100644 pic/rgmon/mr.mime.png delete mode 100644 pic/rgmon/muk.png delete mode 100644 pic/rgmon/nidoking.png delete mode 100644 pic/rgmon/nidoqueen.png delete mode 100644 pic/rgmon/nidoranf.png delete mode 100644 pic/rgmon/nidoranm.png delete mode 100644 pic/rgmon/nidorina.png delete mode 100644 pic/rgmon/nidorino.png delete mode 100644 pic/rgmon/ninetales.png delete mode 100644 pic/rgmon/oddish.png delete mode 100644 pic/rgmon/omanyte.png delete mode 100644 pic/rgmon/omastar.png delete mode 100644 pic/rgmon/onix.png delete mode 100644 pic/rgmon/paras.png delete mode 100644 pic/rgmon/parasect.png delete mode 100644 pic/rgmon/persian.png delete mode 100644 pic/rgmon/pidgeot.png delete mode 100644 pic/rgmon/pidgeotto.png delete mode 100644 pic/rgmon/pidgey.png delete mode 100644 pic/rgmon/pikachu.png delete mode 100644 pic/rgmon/pinsir.png delete mode 100644 pic/rgmon/poliwag.png delete mode 100644 pic/rgmon/poliwhirl.png delete mode 100644 pic/rgmon/poliwrath.png delete mode 100644 pic/rgmon/ponyta.png delete mode 100644 pic/rgmon/porygon.png delete mode 100644 pic/rgmon/primeape.png delete mode 100644 pic/rgmon/psyduck.png delete mode 100644 pic/rgmon/raichu.png delete mode 100644 pic/rgmon/rapidash.png delete mode 100644 pic/rgmon/raticate.png delete mode 100644 pic/rgmon/rattata.png delete mode 100644 pic/rgmon/rhydon.png delete mode 100644 pic/rgmon/rhyhorn.png delete mode 100644 pic/rgmon/sandshrew.png delete mode 100644 pic/rgmon/sandslash.png delete mode 100644 pic/rgmon/scyther.png delete mode 100644 pic/rgmon/seadra.png delete mode 100644 pic/rgmon/seaking.png delete mode 100644 pic/rgmon/seel.png delete mode 100644 pic/rgmon/shellder.png delete mode 100644 pic/rgmon/slowbro.png delete mode 100644 pic/rgmon/slowpoke.png delete mode 100644 pic/rgmon/snorlax.png delete mode 100644 pic/rgmon/spearow.png delete mode 100644 pic/rgmon/squirtle.png delete mode 100644 pic/rgmon/starmie.png delete mode 100644 pic/rgmon/staryu.png delete mode 100644 pic/rgmon/tangela.png delete mode 100644 pic/rgmon/tauros.png delete mode 100644 pic/rgmon/tentacool.png delete mode 100644 pic/rgmon/tentacruel.png delete mode 100644 pic/rgmon/vaporeon.png delete mode 100644 pic/rgmon/venomoth.png delete mode 100644 pic/rgmon/venonat.png delete mode 100644 pic/rgmon/venusaur.png delete mode 100644 pic/rgmon/victreebel.png delete mode 100644 pic/rgmon/vileplume.png delete mode 100644 pic/rgmon/voltorb.png delete mode 100644 pic/rgmon/vulpix.png delete mode 100644 pic/rgmon/wartortle.png delete mode 100644 pic/rgmon/weedle.png delete mode 100644 pic/rgmon/weepinbell.png delete mode 100644 pic/rgmon/weezing.png delete mode 100644 pic/rgmon/wigglytuff.png delete mode 100644 pic/rgmon/zapdos.png delete mode 100644 pic/rgmon/zubat.png delete mode 100644 pic/trainer/agatha.png delete mode 100644 pic/trainer/beauty.png delete mode 100644 pic/trainer/biker.png delete mode 100644 pic/trainer/birdkeeper.png delete mode 100644 pic/trainer/blackbelt.png delete mode 100644 pic/trainer/blaine.png delete mode 100644 pic/trainer/brock.png delete mode 100644 pic/trainer/bruno.png delete mode 100644 pic/trainer/bugcatcher.png delete mode 100644 pic/trainer/burglar.png delete mode 100644 pic/trainer/channeler.png delete mode 100644 pic/trainer/cooltrainerf.png delete mode 100644 pic/trainer/cooltrainerm.png delete mode 100644 pic/trainer/cueball.png delete mode 100644 pic/trainer/engineer.png delete mode 100644 pic/trainer/erika.png delete mode 100644 pic/trainer/fisher.png delete mode 100644 pic/trainer/gambler.png delete mode 100644 pic/trainer/gentleman.png delete mode 100644 pic/trainer/giovanni.png delete mode 100644 pic/trainer/hiker.png delete mode 100644 pic/trainer/jr.trainerf.png delete mode 100644 pic/trainer/jr.trainerm.png delete mode 100644 pic/trainer/juggler.png delete mode 100644 pic/trainer/koga.png delete mode 100644 pic/trainer/lance.png delete mode 100644 pic/trainer/lass.png delete mode 100644 pic/trainer/lorelei.png delete mode 100644 pic/trainer/lt.surge.png delete mode 100644 pic/trainer/misty.png delete mode 100644 pic/trainer/oldman.png delete mode 100644 pic/trainer/pokemaniac.png delete mode 100644 pic/trainer/prof.oak.png delete mode 100644 pic/trainer/psychic.png delete mode 100644 pic/trainer/red.png delete mode 100644 pic/trainer/redb.png delete mode 100644 pic/trainer/rival1.png delete mode 100644 pic/trainer/rival2.png delete mode 100644 pic/trainer/rival3.png delete mode 100644 pic/trainer/rocker.png delete mode 100644 pic/trainer/rocket.png delete mode 100644 pic/trainer/sabrina.png delete mode 100644 pic/trainer/sailor.png delete mode 100644 pic/trainer/scientist.png delete mode 100644 pic/trainer/shrink1.png delete mode 100644 pic/trainer/shrink2.png delete mode 100644 pic/trainer/supernerd.png delete mode 100644 pic/trainer/swimmer.png delete mode 100644 pic/trainer/tamer.png delete mode 100644 pic/trainer/youngster.png delete mode 100644 pic/ymon/abra.png delete mode 100644 pic/ymon/aerodactyl.png delete mode 100644 pic/ymon/alakazam.png delete mode 100644 pic/ymon/arbok.png delete mode 100644 pic/ymon/arcanine.png delete mode 100644 pic/ymon/articuno.png delete mode 100644 pic/ymon/beedrill.png delete mode 100644 pic/ymon/bellsprout.png delete mode 100644 pic/ymon/blastoise.png delete mode 100644 pic/ymon/bulbasaur.png delete mode 100644 pic/ymon/butterfree.png delete mode 100644 pic/ymon/caterpie.png delete mode 100644 pic/ymon/chansey.png delete mode 100644 pic/ymon/charizard.png delete mode 100644 pic/ymon/charmander.png delete mode 100644 pic/ymon/charmeleon.png delete mode 100644 pic/ymon/clefable.png delete mode 100644 pic/ymon/clefairy.png delete mode 100644 pic/ymon/cloyster.png delete mode 100644 pic/ymon/cubone.png delete mode 100644 pic/ymon/dewgong.png delete mode 100644 pic/ymon/diglett.png delete mode 100644 pic/ymon/ditto.png delete mode 100644 pic/ymon/dodrio.png delete mode 100644 pic/ymon/doduo.png delete mode 100644 pic/ymon/dragonair.png delete mode 100644 pic/ymon/dragonite.png delete mode 100644 pic/ymon/dratini.png delete mode 100644 pic/ymon/drowzee.png delete mode 100644 pic/ymon/dugtrio.png delete mode 100644 pic/ymon/eevee.png delete mode 100644 pic/ymon/ekans.png delete mode 100644 pic/ymon/electabuzz.png delete mode 100755 pic/ymon/electrode.png delete mode 100644 pic/ymon/exeggcute.png delete mode 100644 pic/ymon/exeggutor.png delete mode 100644 pic/ymon/farfetchd.png delete mode 100644 pic/ymon/fearow.png delete mode 100644 pic/ymon/flareon.png delete mode 100644 pic/ymon/gastly.png delete mode 100644 pic/ymon/gengar.png delete mode 100644 pic/ymon/geodude.png delete mode 100644 pic/ymon/gloom.png delete mode 100644 pic/ymon/golbat.png delete mode 100644 pic/ymon/goldeen.png delete mode 100644 pic/ymon/golduck.png delete mode 100644 pic/ymon/golem.png delete mode 100644 pic/ymon/graveler.png delete mode 100644 pic/ymon/grimer.png delete mode 100644 pic/ymon/growlithe.png delete mode 100644 pic/ymon/gyarados.png delete mode 100644 pic/ymon/haunter.png delete mode 100644 pic/ymon/hitmonchan.png delete mode 100644 pic/ymon/hitmonlee.png delete mode 100644 pic/ymon/horsea.png delete mode 100644 pic/ymon/hypno.png delete mode 100644 pic/ymon/ivysaur.png delete mode 100644 pic/ymon/jigglypuff.png delete mode 100644 pic/ymon/jolteon.png delete mode 100644 pic/ymon/jynx.png delete mode 100644 pic/ymon/kabuto.png delete mode 100644 pic/ymon/kabutops.png delete mode 100644 pic/ymon/kadabra.png delete mode 100644 pic/ymon/kakuna.png delete mode 100644 pic/ymon/kangaskhan.png delete mode 100644 pic/ymon/kingler.png delete mode 100644 pic/ymon/koffing.png delete mode 100644 pic/ymon/krabby.png delete mode 100644 pic/ymon/lapras.png delete mode 100644 pic/ymon/lickitung.png delete mode 100644 pic/ymon/machamp.png delete mode 100644 pic/ymon/machoke.png delete mode 100644 pic/ymon/machop.png delete mode 100644 pic/ymon/magikarp.png delete mode 100644 pic/ymon/magmar.png delete mode 100644 pic/ymon/magnemite.png delete mode 100644 pic/ymon/magneton.png delete mode 100644 pic/ymon/mankey.png delete mode 100644 pic/ymon/marowak.png delete mode 100644 pic/ymon/meowth.png delete mode 100644 pic/ymon/metapod.png delete mode 100644 pic/ymon/mew.png delete mode 100644 pic/ymon/mewtwo.png delete mode 100644 pic/ymon/moltres.png delete mode 100644 pic/ymon/mr.mime.png delete mode 100644 pic/ymon/muk.png delete mode 100644 pic/ymon/nidoking.png delete mode 100644 pic/ymon/nidoqueen.png delete mode 100644 pic/ymon/nidoranf.png delete mode 100644 pic/ymon/nidoranm.png delete mode 100644 pic/ymon/nidorina.png delete mode 100644 pic/ymon/nidorino.png delete mode 100644 pic/ymon/ninetales.png delete mode 100644 pic/ymon/oddish.png delete mode 100644 pic/ymon/omanyte.png delete mode 100644 pic/ymon/omastar.png delete mode 100644 pic/ymon/onix.png delete mode 100644 pic/ymon/paras.png delete mode 100644 pic/ymon/parasect.png delete mode 100644 pic/ymon/persian.png delete mode 100644 pic/ymon/pidgeot.png delete mode 100644 pic/ymon/pidgeotto.png delete mode 100644 pic/ymon/pidgey.png delete mode 100644 pic/ymon/pikachu.png delete mode 100644 pic/ymon/pinsir.png delete mode 100644 pic/ymon/poliwag.png delete mode 100644 pic/ymon/poliwhirl.png delete mode 100644 pic/ymon/poliwrath.png delete mode 100644 pic/ymon/ponyta.png delete mode 100644 pic/ymon/porygon.png delete mode 100644 pic/ymon/primeape.png delete mode 100644 pic/ymon/psyduck.png delete mode 100644 pic/ymon/raichu.png delete mode 100644 pic/ymon/rapidash.png delete mode 100644 pic/ymon/raticate.png delete mode 100644 pic/ymon/rattata.png delete mode 100644 pic/ymon/rhydon.png delete mode 100644 pic/ymon/rhyhorn.png delete mode 100644 pic/ymon/sandshrew.png delete mode 100644 pic/ymon/sandslash.png delete mode 100644 pic/ymon/scyther.png delete mode 100644 pic/ymon/seadra.png delete mode 100644 pic/ymon/seaking.png delete mode 100644 pic/ymon/seel.png delete mode 100644 pic/ymon/shellder.png delete mode 100644 pic/ymon/slowbro.png delete mode 100644 pic/ymon/slowpoke.png delete mode 100644 pic/ymon/snorlax.png delete mode 100644 pic/ymon/spearow.png delete mode 100644 pic/ymon/squirtle.png delete mode 100644 pic/ymon/starmie.png delete mode 100644 pic/ymon/staryu.png delete mode 100644 pic/ymon/tangela.png delete mode 100644 pic/ymon/tauros.png delete mode 100644 pic/ymon/tentacool.png delete mode 100644 pic/ymon/tentacruel.png delete mode 100644 pic/ymon/vaporeon.png delete mode 100644 pic/ymon/venomoth.png delete mode 100644 pic/ymon/venonat.png delete mode 100644 pic/ymon/venusaur.png delete mode 100644 pic/ymon/victreebel.png delete mode 100644 pic/ymon/vileplume.png delete mode 100644 pic/ymon/voltorb.png delete mode 100644 pic/ymon/vulpix.png delete mode 100644 pic/ymon/wartortle.png delete mode 100644 pic/ymon/weedle.png delete mode 100644 pic/ymon/weepinbell.png delete mode 100644 pic/ymon/weezing.png delete mode 100644 pic/ymon/wigglytuff.png delete mode 100644 pic/ymon/zapdos.png delete mode 100644 pic/ymon/zubat.png delete mode 100644 pic/ytrainer/brock.png delete mode 100644 pic/ytrainer/erika.png delete mode 100644 pic/ytrainer/jessiejames.png delete mode 100644 pic/ytrainer/misty.png delete mode 100644 pic/ytrainer/prof.oakb.png delete mode 100644 pic/ytrainer/red.png delete mode 100644 pic/ytrainer/rival1.png delete mode 100644 pic/ytrainer/rival2.png delete mode 100644 pic/ytrainer/rival3.png diff --git a/Makefile b/Makefile index 5daa6a74..20462319 100644 --- a/Makefile +++ b/Makefile @@ -117,5 +117,5 @@ gfx/trade/game_boy.2bpp: tools/gfx += --remove-duplicates $(if $(tools/gfx),\ tools/gfx $(tools/gfx) -d1 -o $@ $@) -%.pic: %.2bpp +%.pic: %.2bpp tools/pkmncompress $< $@ diff --git a/data/baseStats/abra.asm b/data/baseStats/abra.asm index 1a41bb5c..dfb446ca 100644 --- a/data/baseStats/abra.asm +++ b/data/baseStats/abra.asm @@ -8,7 +8,7 @@ db PSYCHIC ; species type 1 db PSYCHIC ; species type 2 db 200 ; catch rate db 73 ; base exp yield -INCBIN "pic/bmon/abra.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/abra.pic",0,1 ; 55, sprite dimensions dw AbraPicFront dw AbraPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/aerodactyl.asm b/data/baseStats/aerodactyl.asm index 874dd57d..564fc831 100644 --- a/data/baseStats/aerodactyl.asm +++ b/data/baseStats/aerodactyl.asm @@ -8,7 +8,7 @@ db ROCK ; species type 1 db FLYING ; species type 2 db 45 ; catch rate db 202 ; base exp yield -INCBIN "pic/bmon/aerodactyl.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/aerodactyl.pic",0,1 ; 77, sprite dimensions dw AerodactylPicFront dw AerodactylPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/alakazam.asm b/data/baseStats/alakazam.asm index c20b6c41..57f7f516 100644 --- a/data/baseStats/alakazam.asm +++ b/data/baseStats/alakazam.asm @@ -8,7 +8,7 @@ db PSYCHIC ; species type 1 db PSYCHIC ; species type 2 db 50 ; catch rate db 186 ; base exp yield -INCBIN "pic/bmon/alakazam.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/alakazam.pic",0,1 ; 77, sprite dimensions dw AlakazamPicFront dw AlakazamPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/arbok.asm b/data/baseStats/arbok.asm index 6beee569..1e88289f 100644 --- a/data/baseStats/arbok.asm +++ b/data/baseStats/arbok.asm @@ -8,7 +8,7 @@ db POISON ; species type 1 db POISON ; species type 2 db 90 ; catch rate db 147 ; base exp yield -INCBIN "pic/bmon/arbok.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/arbok.pic",0,1 ; 77, sprite dimensions dw ArbokPicFront dw ArbokPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/arcanine.asm b/data/baseStats/arcanine.asm index 2a2dda3b..c661cc88 100644 --- a/data/baseStats/arcanine.asm +++ b/data/baseStats/arcanine.asm @@ -8,7 +8,7 @@ db FIRE ; species type 1 db FIRE ; species type 2 db 75 ; catch rate db 213 ; base exp yield -INCBIN "pic/bmon/arcanine.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/arcanine.pic",0,1 ; 77, sprite dimensions dw ArcaninePicFront dw ArcaninePicBack ; attacks known at lvl 0 diff --git a/data/baseStats/articuno.asm b/data/baseStats/articuno.asm index ef791055..6265c654 100644 --- a/data/baseStats/articuno.asm +++ b/data/baseStats/articuno.asm @@ -8,7 +8,7 @@ db ICE ; species type 1 db FLYING ; species type 2 db 3 ; catch rate db 215 ; base exp yield -INCBIN "pic/bmon/articuno.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/articuno.pic",0,1 ; 77, sprite dimensions dw ArticunoPicFront dw ArticunoPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/beedrill.asm b/data/baseStats/beedrill.asm index 6bf091b8..516f5747 100644 --- a/data/baseStats/beedrill.asm +++ b/data/baseStats/beedrill.asm @@ -8,7 +8,7 @@ db BUG ; species type 1 db POISON ; species type 2 db 45 ; catch rate db 159 ; base exp yield -INCBIN "pic/bmon/beedrill.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/beedrill.pic",0,1 ; 77, sprite dimensions dw BeedrillPicFront dw BeedrillPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/bellsprout.asm b/data/baseStats/bellsprout.asm index 1c908bbb..42c1a22c 100644 --- a/data/baseStats/bellsprout.asm +++ b/data/baseStats/bellsprout.asm @@ -8,7 +8,7 @@ db GRASS ; species type 1 db POISON ; species type 2 db 255 ; catch rate db 84 ; base exp yield -INCBIN "pic/bmon/bellsprout.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/bellsprout.pic",0,1 ; 55, sprite dimensions dw BellsproutPicFront dw BellsproutPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/blastoise.asm b/data/baseStats/blastoise.asm index eaf18b41..1e073c26 100644 --- a/data/baseStats/blastoise.asm +++ b/data/baseStats/blastoise.asm @@ -8,7 +8,7 @@ db WATER ; species type 1 db WATER ; species type 2 db 45 ; catch rate db 210 ; base exp yield -INCBIN "pic/bmon/blastoise.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/blastoise.pic",0,1 ; 77, sprite dimensions dw BlastoisePicFront dw BlastoisePicBack ; attacks known at lvl 0 diff --git a/data/baseStats/bulbasaur.asm b/data/baseStats/bulbasaur.asm index 32650d06..08e171ef 100644 --- a/data/baseStats/bulbasaur.asm +++ b/data/baseStats/bulbasaur.asm @@ -8,7 +8,7 @@ db GRASS ; species type 1 db POISON ; species type 2 db 45 ; catch rate db 64 ; base exp yield -INCBIN "pic/bmon/bulbasaur.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/bulbasaur.pic",0,1 ; 55, sprite dimensions dw BulbasaurPicFront dw BulbasaurPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/butterfree.asm b/data/baseStats/butterfree.asm index c0fb5f6c..2f0dae18 100644 --- a/data/baseStats/butterfree.asm +++ b/data/baseStats/butterfree.asm @@ -8,7 +8,7 @@ db BUG ; species type 1 db FLYING ; species type 2 db 45 ; catch rate db 160 ; base exp yield -INCBIN "pic/bmon/butterfree.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/butterfree.pic",0,1 ; 77, sprite dimensions dw ButterfreePicFront dw ButterfreePicBack ; attacks known at lvl 0 diff --git a/data/baseStats/caterpie.asm b/data/baseStats/caterpie.asm index d26bc5d9..75270144 100644 --- a/data/baseStats/caterpie.asm +++ b/data/baseStats/caterpie.asm @@ -8,7 +8,7 @@ db BUG ; species type 1 db BUG ; species type 2 db 255 ; catch rate db 53 ; base exp yield -INCBIN "pic/bmon/caterpie.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/caterpie.pic",0,1 ; 55, sprite dimensions dw CaterpiePicFront dw CaterpiePicBack ; attacks known at lvl 0 diff --git a/data/baseStats/chansey.asm b/data/baseStats/chansey.asm index 434b1c26..7f0cf16e 100644 --- a/data/baseStats/chansey.asm +++ b/data/baseStats/chansey.asm @@ -8,7 +8,7 @@ db NORMAL ; species type 1 db NORMAL ; species type 2 db 30 ; catch rate db 255 ; base exp yield -INCBIN "pic/bmon/chansey.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/chansey.pic",0,1 ; 66, sprite dimensions dw ChanseyPicFront dw ChanseyPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/charizard.asm b/data/baseStats/charizard.asm index 2479a60c..c0df120e 100644 --- a/data/baseStats/charizard.asm +++ b/data/baseStats/charizard.asm @@ -8,7 +8,7 @@ db FIRE ; species type 1 db FLYING ; species type 2 db 45 ; catch rate db 209 ; base exp yield -INCBIN "pic/bmon/charizard.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/charizard.pic",0,1 ; 77, sprite dimensions dw CharizardPicFront dw CharizardPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/charmander.asm b/data/baseStats/charmander.asm index ccd53458..a296b609 100644 --- a/data/baseStats/charmander.asm +++ b/data/baseStats/charmander.asm @@ -8,7 +8,7 @@ db FIRE ; species type 1 db FIRE ; species type 2 db 45 ; catch rate db 65 ; base exp yield -INCBIN "pic/bmon/charmander.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/charmander.pic",0,1 ; 55, sprite dimensions dw CharmanderPicFront dw CharmanderPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/charmeleon.asm b/data/baseStats/charmeleon.asm index 80aa2bca..62e8eb89 100644 --- a/data/baseStats/charmeleon.asm +++ b/data/baseStats/charmeleon.asm @@ -8,7 +8,7 @@ db FIRE ; species type 1 db FIRE ; species type 2 db 45 ; catch rate db 142 ; base exp yield -INCBIN "pic/bmon/charmeleon.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/charmeleon.pic",0,1 ; 66, sprite dimensions dw CharmeleonPicFront dw CharmeleonPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/clefable.asm b/data/baseStats/clefable.asm index 17837da4..407a5170 100644 --- a/data/baseStats/clefable.asm +++ b/data/baseStats/clefable.asm @@ -8,7 +8,7 @@ db NORMAL ; species type 1 db NORMAL ; species type 2 db 25 ; catch rate db 129 ; base exp yield -INCBIN "pic/bmon/clefable.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/clefable.pic",0,1 ; 66, sprite dimensions dw ClefablePicFront dw ClefablePicBack ; attacks known at lvl 0 diff --git a/data/baseStats/clefairy.asm b/data/baseStats/clefairy.asm index 952391c7..2e3bbf92 100644 --- a/data/baseStats/clefairy.asm +++ b/data/baseStats/clefairy.asm @@ -8,7 +8,7 @@ db NORMAL ; species type 1 db NORMAL ; species type 2 db 150 ; catch rate db 68 ; base exp yield -INCBIN "pic/bmon/clefairy.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/clefairy.pic",0,1 ; 55, sprite dimensions dw ClefairyPicFront dw ClefairyPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/cloyster.asm b/data/baseStats/cloyster.asm index 10f38bdb..9b79bd78 100644 --- a/data/baseStats/cloyster.asm +++ b/data/baseStats/cloyster.asm @@ -8,7 +8,7 @@ db WATER ; species type 1 db ICE ; species type 2 db 60 ; catch rate db 203 ; base exp yield -INCBIN "pic/bmon/cloyster.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/cloyster.pic",0,1 ; 77, sprite dimensions dw CloysterPicFront dw CloysterPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/cubone.asm b/data/baseStats/cubone.asm index b1222d98..776a771c 100644 --- a/data/baseStats/cubone.asm +++ b/data/baseStats/cubone.asm @@ -8,7 +8,7 @@ db GROUND ; species type 1 db GROUND ; species type 2 db 190 ; catch rate db 87 ; base exp yield -INCBIN "pic/bmon/cubone.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/cubone.pic",0,1 ; 55, sprite dimensions dw CubonePicFront dw CubonePicBack ; attacks known at lvl 0 diff --git a/data/baseStats/dewgong.asm b/data/baseStats/dewgong.asm index fb0cf2c2..59ab04b0 100644 --- a/data/baseStats/dewgong.asm +++ b/data/baseStats/dewgong.asm @@ -8,7 +8,7 @@ db WATER ; species type 1 db ICE ; species type 2 db 75 ; catch rate db 176 ; base exp yield -INCBIN "pic/bmon/dewgong.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/dewgong.pic",0,1 ; 66, sprite dimensions dw DewgongPicFront dw DewgongPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/diglett.asm b/data/baseStats/diglett.asm index 8ef6e381..da8648d8 100644 --- a/data/baseStats/diglett.asm +++ b/data/baseStats/diglett.asm @@ -8,7 +8,7 @@ db GROUND ; species type 1 db GROUND ; species type 2 db 255 ; catch rate db 81 ; base exp yield -INCBIN "pic/bmon/diglett.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/diglett.pic",0,1 ; 55, sprite dimensions dw DiglettPicFront dw DiglettPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/ditto.asm b/data/baseStats/ditto.asm index 90ea4c5e..aff87275 100644 --- a/data/baseStats/ditto.asm +++ b/data/baseStats/ditto.asm @@ -8,7 +8,7 @@ db NORMAL ; species type 1 db NORMAL ; species type 2 db 35 ; catch rate db 61 ; base exp yield -INCBIN "pic/bmon/ditto.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/ditto.pic",0,1 ; 55, sprite dimensions dw DittoPicFront dw DittoPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/dodrio.asm b/data/baseStats/dodrio.asm index 99608f48..baf1fd8a 100644 --- a/data/baseStats/dodrio.asm +++ b/data/baseStats/dodrio.asm @@ -8,7 +8,7 @@ db NORMAL ; species type 1 db FLYING ; species type 2 db 45 ; catch rate db 158 ; base exp yield -INCBIN "pic/bmon/dodrio.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/dodrio.pic",0,1 ; 77, sprite dimensions dw DodrioPicFront dw DodrioPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/doduo.asm b/data/baseStats/doduo.asm index 760c258b..33d1506a 100644 --- a/data/baseStats/doduo.asm +++ b/data/baseStats/doduo.asm @@ -8,7 +8,7 @@ db NORMAL ; species type 1 db FLYING ; species type 2 db 190 ; catch rate db 96 ; base exp yield -INCBIN "pic/bmon/doduo.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/doduo.pic",0,1 ; 55, sprite dimensions dw DoduoPicFront dw DoduoPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/dragonair.asm b/data/baseStats/dragonair.asm index 041300e0..9d8ab0c2 100644 --- a/data/baseStats/dragonair.asm +++ b/data/baseStats/dragonair.asm @@ -8,7 +8,7 @@ db DRAGON ; species type 1 db DRAGON ; species type 2 db 45 ; catch rate db 144 ; base exp yield -INCBIN "pic/bmon/dragonair.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/dragonair.pic",0,1 ; 66, sprite dimensions dw DragonairPicFront dw DragonairPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/dragonite.asm b/data/baseStats/dragonite.asm index 442275b2..22653bcc 100644 --- a/data/baseStats/dragonite.asm +++ b/data/baseStats/dragonite.asm @@ -8,7 +8,7 @@ db DRAGON ; species type 1 db FLYING ; species type 2 db 45 ; catch rate db 218 ; base exp yield -INCBIN "pic/bmon/dragonite.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/dragonite.pic",0,1 ; 77, sprite dimensions dw DragonitePicFront dw DragonitePicBack ; attacks known at lvl 0 diff --git a/data/baseStats/dratini.asm b/data/baseStats/dratini.asm index 5fb5c75d..c377c217 100644 --- a/data/baseStats/dratini.asm +++ b/data/baseStats/dratini.asm @@ -8,7 +8,7 @@ db DRAGON ; species type 1 db DRAGON ; species type 2 db 45 ; catch rate db 67 ; base exp yield -INCBIN "pic/bmon/dratini.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/dratini.pic",0,1 ; 55, sprite dimensions dw DratiniPicFront dw DratiniPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/drowzee.asm b/data/baseStats/drowzee.asm index 452db1bc..075158c4 100644 --- a/data/baseStats/drowzee.asm +++ b/data/baseStats/drowzee.asm @@ -8,7 +8,7 @@ db PSYCHIC ; species type 1 db PSYCHIC ; species type 2 db 190 ; catch rate db 102 ; base exp yield -INCBIN "pic/bmon/drowzee.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/drowzee.pic",0,1 ; 66, sprite dimensions dw DrowzeePicFront dw DrowzeePicBack ; attacks known at lvl 0 diff --git a/data/baseStats/dugtrio.asm b/data/baseStats/dugtrio.asm index c763680f..86a55e22 100644 --- a/data/baseStats/dugtrio.asm +++ b/data/baseStats/dugtrio.asm @@ -8,7 +8,7 @@ db GROUND ; species type 1 db GROUND ; species type 2 db 50 ; catch rate db 153 ; base exp yield -INCBIN "pic/bmon/dugtrio.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/dugtrio.pic",0,1 ; 66, sprite dimensions dw DugtrioPicFront dw DugtrioPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/eevee.asm b/data/baseStats/eevee.asm index 51e36621..d5cbaa9b 100644 --- a/data/baseStats/eevee.asm +++ b/data/baseStats/eevee.asm @@ -8,7 +8,7 @@ db NORMAL ; species type 1 db NORMAL ; species type 2 db 45 ; catch rate db 92 ; base exp yield -INCBIN "pic/bmon/eevee.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/eevee.pic",0,1 ; 55, sprite dimensions dw EeveePicFront dw EeveePicBack ; attacks known at lvl 0 diff --git a/data/baseStats/ekans.asm b/data/baseStats/ekans.asm index b029a67c..94295b51 100644 --- a/data/baseStats/ekans.asm +++ b/data/baseStats/ekans.asm @@ -8,7 +8,7 @@ db POISON ; species type 1 db POISON ; species type 2 db 255 ; catch rate db 62 ; base exp yield -INCBIN "pic/bmon/ekans.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/ekans.pic",0,1 ; 55, sprite dimensions dw EkansPicFront dw EkansPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/electabuzz.asm b/data/baseStats/electabuzz.asm index 4b44604e..5a1bc59f 100644 --- a/data/baseStats/electabuzz.asm +++ b/data/baseStats/electabuzz.asm @@ -8,7 +8,7 @@ db ELECTRIC ; species type 1 db ELECTRIC ; species type 2 db 45 ; catch rate db 156 ; base exp yield -INCBIN "pic/bmon/electabuzz.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/electabuzz.pic",0,1 ; 66, sprite dimensions dw ElectabuzzPicFront dw ElectabuzzPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/electrode.asm b/data/baseStats/electrode.asm index 1b292f2f..86b023c3 100644 --- a/data/baseStats/electrode.asm +++ b/data/baseStats/electrode.asm @@ -8,7 +8,7 @@ db ELECTRIC ; species type 1 db ELECTRIC ; species type 2 db 60 ; catch rate db 150 ; base exp yield -INCBIN "pic/bmon/electrode.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/electrode.pic",0,1 ; 55, sprite dimensions dw ElectrodePicFront dw ElectrodePicBack ; attacks known at lvl 0 diff --git a/data/baseStats/exeggcute.asm b/data/baseStats/exeggcute.asm index 8503889b..6499362a 100644 --- a/data/baseStats/exeggcute.asm +++ b/data/baseStats/exeggcute.asm @@ -8,7 +8,7 @@ db GRASS ; species type 1 db PSYCHIC ; species type 2 db 90 ; catch rate db 98 ; base exp yield -INCBIN "pic/bmon/exeggcute.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/exeggcute.pic",0,1 ; 77, sprite dimensions dw ExeggcutePicFront dw ExeggcutePicBack ; attacks known at lvl 0 diff --git a/data/baseStats/exeggutor.asm b/data/baseStats/exeggutor.asm index 4d739430..17b1f6a6 100644 --- a/data/baseStats/exeggutor.asm +++ b/data/baseStats/exeggutor.asm @@ -8,7 +8,7 @@ db GRASS ; species type 1 db PSYCHIC ; species type 2 db 45 ; catch rate db 212 ; base exp yield -INCBIN "pic/bmon/exeggutor.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/exeggutor.pic",0,1 ; 77, sprite dimensions dw ExeggutorPicFront dw ExeggutorPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/farfetchd.asm b/data/baseStats/farfetchd.asm index 2aa7eca0..ffbb70f1 100644 --- a/data/baseStats/farfetchd.asm +++ b/data/baseStats/farfetchd.asm @@ -8,7 +8,7 @@ db NORMAL ; species type 1 db FLYING ; species type 2 db 45 ; catch rate db 94 ; base exp yield -INCBIN "pic/bmon/farfetchd.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/farfetchd.pic",0,1 ; 66, sprite dimensions dw FarfetchdPicFront dw FarfetchdPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/fearow.asm b/data/baseStats/fearow.asm index 4ad88723..d03722ba 100644 --- a/data/baseStats/fearow.asm +++ b/data/baseStats/fearow.asm @@ -8,7 +8,7 @@ db NORMAL ; species type 1 db FLYING ; species type 2 db 90 ; catch rate db 162 ; base exp yield -INCBIN "pic/bmon/fearow.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/fearow.pic",0,1 ; 77, sprite dimensions dw FearowPicFront dw FearowPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/flareon.asm b/data/baseStats/flareon.asm index 70621a6a..8ebe4ede 100644 --- a/data/baseStats/flareon.asm +++ b/data/baseStats/flareon.asm @@ -8,7 +8,7 @@ db FIRE ; species type 1 db FIRE ; species type 2 db 45 ; catch rate db 198 ; base exp yield -INCBIN "pic/bmon/flareon.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/flareon.pic",0,1 ; 66, sprite dimensions dw FlareonPicFront dw FlareonPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/gastly.asm b/data/baseStats/gastly.asm index fdcaaa71..b68d431b 100644 --- a/data/baseStats/gastly.asm +++ b/data/baseStats/gastly.asm @@ -8,7 +8,7 @@ db GHOST ; species type 1 db POISON ; species type 2 db 190 ; catch rate db 95 ; base exp yield -INCBIN "pic/bmon/gastly.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/gastly.pic",0,1 ; 77, sprite dimensions dw GastlyPicFront dw GastlyPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/gengar.asm b/data/baseStats/gengar.asm index 0e3e877c..bdbe5de6 100644 --- a/data/baseStats/gengar.asm +++ b/data/baseStats/gengar.asm @@ -8,7 +8,7 @@ db GHOST ; species type 1 db POISON ; species type 2 db 45 ; catch rate db 190 ; base exp yield -INCBIN "pic/bmon/gengar.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/gengar.pic",0,1 ; 66, sprite dimensions dw GengarPicFront dw GengarPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/geodude.asm b/data/baseStats/geodude.asm index a47a993a..9ffd1c86 100644 --- a/data/baseStats/geodude.asm +++ b/data/baseStats/geodude.asm @@ -8,7 +8,7 @@ db ROCK ; species type 1 db GROUND ; species type 2 db 255 ; catch rate db 86 ; base exp yield -INCBIN "pic/bmon/geodude.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/geodude.pic",0,1 ; 55, sprite dimensions dw GeodudePicFront dw GeodudePicBack ; attacks known at lvl 0 diff --git a/data/baseStats/gloom.asm b/data/baseStats/gloom.asm index f2153e5c..6c08287e 100644 --- a/data/baseStats/gloom.asm +++ b/data/baseStats/gloom.asm @@ -8,7 +8,7 @@ db GRASS ; species type 1 db POISON ; species type 2 db 120 ; catch rate db 132 ; base exp yield -INCBIN "pic/bmon/gloom.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/gloom.pic",0,1 ; 66, sprite dimensions dw GloomPicFront dw GloomPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/golbat.asm b/data/baseStats/golbat.asm index 845adf4b..de93ee3f 100644 --- a/data/baseStats/golbat.asm +++ b/data/baseStats/golbat.asm @@ -8,7 +8,7 @@ db POISON ; species type 1 db FLYING ; species type 2 db 90 ; catch rate db 171 ; base exp yield -INCBIN "pic/bmon/golbat.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/golbat.pic",0,1 ; 77, sprite dimensions dw GolbatPicFront dw GolbatPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/goldeen.asm b/data/baseStats/goldeen.asm index ed3a4fdb..32c89599 100644 --- a/data/baseStats/goldeen.asm +++ b/data/baseStats/goldeen.asm @@ -8,7 +8,7 @@ db WATER ; species type 1 db WATER ; species type 2 db 225 ; catch rate db 111 ; base exp yield -INCBIN "pic/bmon/goldeen.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/goldeen.pic",0,1 ; 66, sprite dimensions dw GoldeenPicFront dw GoldeenPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/golduck.asm b/data/baseStats/golduck.asm index cce89da7..6f2cc6a9 100644 --- a/data/baseStats/golduck.asm +++ b/data/baseStats/golduck.asm @@ -8,7 +8,7 @@ db WATER ; species type 1 db WATER ; species type 2 db 75 ; catch rate db 174 ; base exp yield -INCBIN "pic/bmon/golduck.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/golduck.pic",0,1 ; 77, sprite dimensions dw GolduckPicFront dw GolduckPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/golem.asm b/data/baseStats/golem.asm index 28f2a326..b5506372 100644 --- a/data/baseStats/golem.asm +++ b/data/baseStats/golem.asm @@ -8,7 +8,7 @@ db ROCK ; species type 1 db GROUND ; species type 2 db 45 ; catch rate db 177 ; base exp yield -INCBIN "pic/bmon/golem.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/golem.pic",0,1 ; 66, sprite dimensions dw GolemPicFront dw GolemPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/graveler.asm b/data/baseStats/graveler.asm index 08776ab1..0525c587 100644 --- a/data/baseStats/graveler.asm +++ b/data/baseStats/graveler.asm @@ -8,7 +8,7 @@ db ROCK ; species type 1 db GROUND ; species type 2 db 120 ; catch rate db 134 ; base exp yield -INCBIN "pic/bmon/graveler.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/graveler.pic",0,1 ; 66, sprite dimensions dw GravelerPicFront dw GravelerPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/grimer.asm b/data/baseStats/grimer.asm index 5f7a64a7..63533c00 100644 --- a/data/baseStats/grimer.asm +++ b/data/baseStats/grimer.asm @@ -8,7 +8,7 @@ db POISON ; species type 1 db POISON ; species type 2 db 190 ; catch rate db 90 ; base exp yield -INCBIN "pic/bmon/grimer.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/grimer.pic",0,1 ; 55, sprite dimensions dw GrimerPicFront dw GrimerPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/growlithe.asm b/data/baseStats/growlithe.asm index df305636..9bf5e036 100644 --- a/data/baseStats/growlithe.asm +++ b/data/baseStats/growlithe.asm @@ -8,7 +8,7 @@ db FIRE ; species type 1 db FIRE ; species type 2 db 190 ; catch rate db 91 ; base exp yield -INCBIN "pic/bmon/growlithe.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/growlithe.pic",0,1 ; 55, sprite dimensions dw GrowlithePicFront dw GrowlithePicBack ; attacks known at lvl 0 diff --git a/data/baseStats/gyarados.asm b/data/baseStats/gyarados.asm index 6bfc34a0..3cd2e213 100644 --- a/data/baseStats/gyarados.asm +++ b/data/baseStats/gyarados.asm @@ -8,7 +8,7 @@ db WATER ; species type 1 db FLYING ; species type 2 db 45 ; catch rate db 214 ; base exp yield -INCBIN "pic/bmon/gyarados.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/gyarados.pic",0,1 ; 77, sprite dimensions dw GyaradosPicFront dw GyaradosPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/haunter.asm b/data/baseStats/haunter.asm index bd39eaf4..879b75d4 100644 --- a/data/baseStats/haunter.asm +++ b/data/baseStats/haunter.asm @@ -8,7 +8,7 @@ db GHOST ; species type 1 db POISON ; species type 2 db 90 ; catch rate db 126 ; base exp yield -INCBIN "pic/bmon/haunter.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/haunter.pic",0,1 ; 66, sprite dimensions dw HaunterPicFront dw HaunterPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/hitmonchan.asm b/data/baseStats/hitmonchan.asm index 37021f65..f34bf086 100644 --- a/data/baseStats/hitmonchan.asm +++ b/data/baseStats/hitmonchan.asm @@ -8,7 +8,7 @@ db FIGHTING ; species type 1 db FIGHTING ; species type 2 db 45 ; catch rate db 140 ; base exp yield -INCBIN "pic/bmon/hitmonchan.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/hitmonchan.pic",0,1 ; 66, sprite dimensions dw HitmonchanPicFront dw HitmonchanPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/hitmonlee.asm b/data/baseStats/hitmonlee.asm index d16db130..2590bfb0 100644 --- a/data/baseStats/hitmonlee.asm +++ b/data/baseStats/hitmonlee.asm @@ -8,7 +8,7 @@ db FIGHTING ; species type 1 db FIGHTING ; species type 2 db 45 ; catch rate db 139 ; base exp yield -INCBIN "pic/bmon/hitmonlee.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/hitmonlee.pic",0,1 ; 77, sprite dimensions dw HitmonleePicFront dw HitmonleePicBack ; attacks known at lvl 0 diff --git a/data/baseStats/horsea.asm b/data/baseStats/horsea.asm index 01de3ff6..ecf98197 100644 --- a/data/baseStats/horsea.asm +++ b/data/baseStats/horsea.asm @@ -8,7 +8,7 @@ db WATER ; species type 1 db WATER ; species type 2 db 225 ; catch rate db 83 ; base exp yield -INCBIN "pic/bmon/horsea.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/horsea.pic",0,1 ; 55, sprite dimensions dw HorseaPicFront dw HorseaPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/hypno.asm b/data/baseStats/hypno.asm index 4e4959b4..9d251cd6 100644 --- a/data/baseStats/hypno.asm +++ b/data/baseStats/hypno.asm @@ -8,7 +8,7 @@ db PSYCHIC ; species type 1 db PSYCHIC ; species type 2 db 75 ; catch rate db 165 ; base exp yield -INCBIN "pic/bmon/hypno.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/hypno.pic",0,1 ; 77, sprite dimensions dw HypnoPicFront dw HypnoPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/ivysaur.asm b/data/baseStats/ivysaur.asm index 3e19f2a1..f90549b9 100644 --- a/data/baseStats/ivysaur.asm +++ b/data/baseStats/ivysaur.asm @@ -8,7 +8,7 @@ db GRASS ; species type 1 db POISON ; species type 2 db 45 ; catch rate db 141 ; base exp yield -INCBIN "pic/bmon/ivysaur.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/ivysaur.pic",0,1 ; 66, sprite dimensions dw IvysaurPicFront dw IvysaurPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/jigglypuff.asm b/data/baseStats/jigglypuff.asm index fac03fc9..0a6bdf49 100644 --- a/data/baseStats/jigglypuff.asm +++ b/data/baseStats/jigglypuff.asm @@ -8,7 +8,7 @@ db NORMAL ; species type 1 db NORMAL ; species type 2 db 170 ; catch rate db 76 ; base exp yield -INCBIN "pic/bmon/jigglypuff.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/jigglypuff.pic",0,1 ; 55, sprite dimensions dw JigglypuffPicFront dw JigglypuffPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/jolteon.asm b/data/baseStats/jolteon.asm index b33d6327..1752354b 100644 --- a/data/baseStats/jolteon.asm +++ b/data/baseStats/jolteon.asm @@ -8,7 +8,7 @@ db ELECTRIC ; species type 1 db ELECTRIC ; species type 2 db 45 ; catch rate db 197 ; base exp yield -INCBIN "pic/bmon/jolteon.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/jolteon.pic",0,1 ; 66, sprite dimensions dw JolteonPicFront dw JolteonPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/jynx.asm b/data/baseStats/jynx.asm index e69b87b9..f82796e5 100644 --- a/data/baseStats/jynx.asm +++ b/data/baseStats/jynx.asm @@ -8,7 +8,7 @@ db ICE ; species type 1 db PSYCHIC ; species type 2 db 45 ; catch rate db 137 ; base exp yield -INCBIN "pic/bmon/jynx.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/jynx.pic",0,1 ; 66, sprite dimensions dw JynxPicFront dw JynxPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/kabuto.asm b/data/baseStats/kabuto.asm index 60f3e959..fc2df213 100644 --- a/data/baseStats/kabuto.asm +++ b/data/baseStats/kabuto.asm @@ -8,7 +8,7 @@ db ROCK ; species type 1 db WATER ; species type 2 db 45 ; catch rate db 119 ; base exp yield -INCBIN "pic/bmon/kabuto.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/kabuto.pic",0,1 ; 55, sprite dimensions dw KabutoPicFront dw KabutoPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/kabutops.asm b/data/baseStats/kabutops.asm index dbddab2e..ca35e56a 100644 --- a/data/baseStats/kabutops.asm +++ b/data/baseStats/kabutops.asm @@ -8,7 +8,7 @@ db ROCK ; species type 1 db WATER ; species type 2 db 45 ; catch rate db 201 ; base exp yield -INCBIN "pic/bmon/kabutops.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/kabutops.pic",0,1 ; 66, sprite dimensions dw KabutopsPicFront dw KabutopsPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/kadabra.asm b/data/baseStats/kadabra.asm index 472cc4c5..652f762a 100644 --- a/data/baseStats/kadabra.asm +++ b/data/baseStats/kadabra.asm @@ -8,7 +8,7 @@ db PSYCHIC ; species type 1 db PSYCHIC ; species type 2 db 100 ; catch rate db 145 ; base exp yield -INCBIN "pic/bmon/kadabra.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/kadabra.pic",0,1 ; 66, sprite dimensions dw KadabraPicFront dw KadabraPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/kakuna.asm b/data/baseStats/kakuna.asm index ec593f91..4a7ec5b4 100644 --- a/data/baseStats/kakuna.asm +++ b/data/baseStats/kakuna.asm @@ -8,7 +8,7 @@ db BUG ; species type 1 db POISON ; species type 2 db 120 ; catch rate db 71 ; base exp yield -INCBIN "pic/bmon/kakuna.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/kakuna.pic",0,1 ; 55, sprite dimensions dw KakunaPicFront dw KakunaPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/kangaskhan.asm b/data/baseStats/kangaskhan.asm index 6dcd1e3c..381c8879 100644 --- a/data/baseStats/kangaskhan.asm +++ b/data/baseStats/kangaskhan.asm @@ -8,7 +8,7 @@ db NORMAL ; species type 1 db NORMAL ; species type 2 db 45 ; catch rate db 175 ; base exp yield -INCBIN "pic/bmon/kangaskhan.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/kangaskhan.pic",0,1 ; 77, sprite dimensions dw KangaskhanPicFront dw KangaskhanPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/kingler.asm b/data/baseStats/kingler.asm index 8708d5cf..d4b426fb 100644 --- a/data/baseStats/kingler.asm +++ b/data/baseStats/kingler.asm @@ -8,7 +8,7 @@ db WATER ; species type 1 db WATER ; species type 2 db 60 ; catch rate db 206 ; base exp yield -INCBIN "pic/bmon/kingler.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/kingler.pic",0,1 ; 77, sprite dimensions dw KinglerPicFront dw KinglerPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/koffing.asm b/data/baseStats/koffing.asm index fced6246..ca3e1029 100644 --- a/data/baseStats/koffing.asm +++ b/data/baseStats/koffing.asm @@ -8,7 +8,7 @@ db POISON ; species type 1 db POISON ; species type 2 db 190 ; catch rate db 114 ; base exp yield -INCBIN "pic/bmon/koffing.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/koffing.pic",0,1 ; 66, sprite dimensions dw KoffingPicFront dw KoffingPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/krabby.asm b/data/baseStats/krabby.asm index 88d690b6..d1839d26 100644 --- a/data/baseStats/krabby.asm +++ b/data/baseStats/krabby.asm @@ -8,7 +8,7 @@ db WATER ; species type 1 db WATER ; species type 2 db 225 ; catch rate db 115 ; base exp yield -INCBIN "pic/bmon/krabby.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/krabby.pic",0,1 ; 55, sprite dimensions dw KrabbyPicFront dw KrabbyPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/lapras.asm b/data/baseStats/lapras.asm index 3a897525..17b80461 100644 --- a/data/baseStats/lapras.asm +++ b/data/baseStats/lapras.asm @@ -8,7 +8,7 @@ db WATER ; species type 1 db ICE ; species type 2 db 45 ; catch rate db 219 ; base exp yield -INCBIN "pic/bmon/lapras.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/lapras.pic",0,1 ; 77, sprite dimensions dw LaprasPicFront dw LaprasPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/lickitung.asm b/data/baseStats/lickitung.asm index 05020627..5c772dd3 100644 --- a/data/baseStats/lickitung.asm +++ b/data/baseStats/lickitung.asm @@ -8,7 +8,7 @@ db NORMAL ; species type 1 db NORMAL ; species type 2 db 45 ; catch rate db 127 ; base exp yield -INCBIN "pic/bmon/lickitung.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/lickitung.pic",0,1 ; 77, sprite dimensions dw LickitungPicFront dw LickitungPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/machamp.asm b/data/baseStats/machamp.asm index b461d45a..825766a6 100644 --- a/data/baseStats/machamp.asm +++ b/data/baseStats/machamp.asm @@ -8,7 +8,7 @@ db FIGHTING ; species type 1 db FIGHTING ; species type 2 db 45 ; catch rate db 193 ; base exp yield -INCBIN "pic/bmon/machamp.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/machamp.pic",0,1 ; 77, sprite dimensions dw MachampPicFront dw MachampPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/machoke.asm b/data/baseStats/machoke.asm index b8a41efd..9bc5df42 100644 --- a/data/baseStats/machoke.asm +++ b/data/baseStats/machoke.asm @@ -8,7 +8,7 @@ db FIGHTING ; species type 1 db FIGHTING ; species type 2 db 90 ; catch rate db 146 ; base exp yield -INCBIN "pic/bmon/machoke.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/machoke.pic",0,1 ; 77, sprite dimensions dw MachokePicFront dw MachokePicBack ; attacks known at lvl 0 diff --git a/data/baseStats/machop.asm b/data/baseStats/machop.asm index 9ed22dc2..a691183a 100644 --- a/data/baseStats/machop.asm +++ b/data/baseStats/machop.asm @@ -8,7 +8,7 @@ db FIGHTING ; species type 1 db FIGHTING ; species type 2 db 180 ; catch rate db 88 ; base exp yield -INCBIN "pic/bmon/machop.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/machop.pic",0,1 ; 55, sprite dimensions dw MachopPicFront dw MachopPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/magikarp.asm b/data/baseStats/magikarp.asm index 50cc651c..5185e3f0 100644 --- a/data/baseStats/magikarp.asm +++ b/data/baseStats/magikarp.asm @@ -8,7 +8,7 @@ db WATER ; species type 1 db WATER ; species type 2 db 255 ; catch rate db 20 ; base exp yield -INCBIN "pic/bmon/magikarp.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/magikarp.pic",0,1 ; 66, sprite dimensions dw MagikarpPicFront dw MagikarpPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/magmar.asm b/data/baseStats/magmar.asm index 379e91df..b24f519c 100644 --- a/data/baseStats/magmar.asm +++ b/data/baseStats/magmar.asm @@ -8,7 +8,7 @@ db FIRE ; species type 1 db FIRE ; species type 2 db 45 ; catch rate db 167 ; base exp yield -INCBIN "pic/bmon/magmar.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/magmar.pic",0,1 ; 66, sprite dimensions dw MagmarPicFront dw MagmarPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/magnemite.asm b/data/baseStats/magnemite.asm index ce042457..f7fe0b00 100644 --- a/data/baseStats/magnemite.asm +++ b/data/baseStats/magnemite.asm @@ -8,7 +8,7 @@ db ELECTRIC ; species type 1 db ELECTRIC ; species type 2 db 190 ; catch rate db 89 ; base exp yield -INCBIN "pic/bmon/magnemite.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/magnemite.pic",0,1 ; 55, sprite dimensions dw MagnemitePicFront dw MagnemitePicBack ; attacks known at lvl 0 diff --git a/data/baseStats/magneton.asm b/data/baseStats/magneton.asm index a2890bbd..7c32d059 100644 --- a/data/baseStats/magneton.asm +++ b/data/baseStats/magneton.asm @@ -8,7 +8,7 @@ db ELECTRIC ; species type 1 db ELECTRIC ; species type 2 db 60 ; catch rate db 161 ; base exp yield -INCBIN "pic/bmon/magneton.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/magneton.pic",0,1 ; 66, sprite dimensions dw MagnetonPicFront dw MagnetonPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/mankey.asm b/data/baseStats/mankey.asm index 406a1364..07b961c5 100644 --- a/data/baseStats/mankey.asm +++ b/data/baseStats/mankey.asm @@ -8,7 +8,7 @@ db FIGHTING ; species type 1 db FIGHTING ; species type 2 db 190 ; catch rate db 74 ; base exp yield -INCBIN "pic/bmon/mankey.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/mankey.pic",0,1 ; 55, sprite dimensions dw MankeyPicFront dw MankeyPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/marowak.asm b/data/baseStats/marowak.asm index 3b90dbb1..a2c5a4c6 100644 --- a/data/baseStats/marowak.asm +++ b/data/baseStats/marowak.asm @@ -8,7 +8,7 @@ db GROUND ; species type 1 db GROUND ; species type 2 db 75 ; catch rate db 124 ; base exp yield -INCBIN "pic/bmon/marowak.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/marowak.pic",0,1 ; 66, sprite dimensions dw MarowakPicFront dw MarowakPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/meowth.asm b/data/baseStats/meowth.asm index dc146cf3..aa1904ba 100644 --- a/data/baseStats/meowth.asm +++ b/data/baseStats/meowth.asm @@ -8,7 +8,7 @@ db NORMAL ; species type 1 db NORMAL ; species type 2 db 255 ; catch rate db 69 ; base exp yield -INCBIN "pic/bmon/meowth.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/meowth.pic",0,1 ; 55, sprite dimensions dw MeowthPicFront dw MeowthPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/metapod.asm b/data/baseStats/metapod.asm index 9da351ad..cf4f52b7 100644 --- a/data/baseStats/metapod.asm +++ b/data/baseStats/metapod.asm @@ -8,7 +8,7 @@ db BUG ; species type 1 db BUG ; species type 2 db 120 ; catch rate db 72 ; base exp yield -INCBIN "pic/bmon/metapod.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/metapod.pic",0,1 ; 55, sprite dimensions dw MetapodPicFront dw MetapodPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/mew.asm b/data/baseStats/mew.asm index 046b4d86..f89a2864 100644 --- a/data/baseStats/mew.asm +++ b/data/baseStats/mew.asm @@ -9,7 +9,7 @@ db PSYCHIC ; species type 1 db PSYCHIC ; species type 2 db 45 ; catch rate db 64 ; base exp yield -INCBIN "pic/bmon/mew.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/mew.pic",0,1 ; 55, sprite dimensions dw MewPicFront dw MewPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/mewtwo.asm b/data/baseStats/mewtwo.asm index dc597345..6e85291d 100644 --- a/data/baseStats/mewtwo.asm +++ b/data/baseStats/mewtwo.asm @@ -8,7 +8,7 @@ db PSYCHIC ; species type 1 db PSYCHIC ; species type 2 db 3 ; catch rate db 220 ; base exp yield -INCBIN "pic/bmon/mewtwo.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/mewtwo.pic",0,1 ; 77, sprite dimensions dw MewtwoPicFront dw MewtwoPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/moltres.asm b/data/baseStats/moltres.asm index e9437405..4c54cf44 100644 --- a/data/baseStats/moltres.asm +++ b/data/baseStats/moltres.asm @@ -8,7 +8,7 @@ db FIRE ; species type 1 db FLYING ; species type 2 db 3 ; catch rate db 217 ; base exp yield -INCBIN "pic/bmon/moltres.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/moltres.pic",0,1 ; 77, sprite dimensions dw MoltresPicFront dw MoltresPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/mrmime.asm b/data/baseStats/mrmime.asm index 8640e340..95f2655a 100644 --- a/data/baseStats/mrmime.asm +++ b/data/baseStats/mrmime.asm @@ -8,7 +8,7 @@ db PSYCHIC ; species type 1 db PSYCHIC ; species type 2 db 45 ; catch rate db 136 ; base exp yield -INCBIN "pic/bmon/mr.mime.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/mr.mime.pic",0,1 ; 66, sprite dimensions dw MrMimePicFront dw MrMimePicBack ; attacks known at lvl 0 diff --git a/data/baseStats/muk.asm b/data/baseStats/muk.asm index cb15563e..45f7921f 100644 --- a/data/baseStats/muk.asm +++ b/data/baseStats/muk.asm @@ -8,7 +8,7 @@ db POISON ; species type 1 db POISON ; species type 2 db 75 ; catch rate db 157 ; base exp yield -INCBIN "pic/bmon/muk.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/muk.pic",0,1 ; 77, sprite dimensions dw MukPicFront dw MukPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/nidoking.asm b/data/baseStats/nidoking.asm index ebef0965..7d5ff438 100644 --- a/data/baseStats/nidoking.asm +++ b/data/baseStats/nidoking.asm @@ -8,7 +8,7 @@ db POISON ; species type 1 db GROUND ; species type 2 db 45 ; catch rate db 195 ; base exp yield -INCBIN "pic/bmon/nidoking.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/nidoking.pic",0,1 ; 77, sprite dimensions dw NidokingPicFront dw NidokingPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/nidoqueen.asm b/data/baseStats/nidoqueen.asm index 9ea29a31..9b635e3e 100644 --- a/data/baseStats/nidoqueen.asm +++ b/data/baseStats/nidoqueen.asm @@ -8,7 +8,7 @@ db POISON ; species type 1 db GROUND ; species type 2 db 45 ; catch rate db 194 ; base exp yield -INCBIN "pic/bmon/nidoqueen.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/nidoqueen.pic",0,1 ; 77, sprite dimensions dw NidoqueenPicFront dw NidoqueenPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/nidoranf.asm b/data/baseStats/nidoranf.asm index 67832f18..f58e971d 100644 --- a/data/baseStats/nidoranf.asm +++ b/data/baseStats/nidoranf.asm @@ -8,7 +8,7 @@ db POISON ; species type 1 db POISON ; species type 2 db 235 ; catch rate db 59 ; base exp yield -INCBIN "pic/bmon/nidoranf.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/nidoranf.pic",0,1 ; 55, sprite dimensions dw NidoranFPicFront dw NidoranFPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/nidoranm.asm b/data/baseStats/nidoranm.asm index a7882766..2c5374ba 100644 --- a/data/baseStats/nidoranm.asm +++ b/data/baseStats/nidoranm.asm @@ -8,7 +8,7 @@ db POISON ; species type 1 db POISON ; species type 2 db 235 ; catch rate db 60 ; base exp yield -INCBIN "pic/bmon/nidoranm.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/nidoranm.pic",0,1 ; 55, sprite dimensions dw NidoranMPicFront dw NidoranMPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/nidorina.asm b/data/baseStats/nidorina.asm index 0ddecf70..ae7681c4 100644 --- a/data/baseStats/nidorina.asm +++ b/data/baseStats/nidorina.asm @@ -8,7 +8,7 @@ db POISON ; species type 1 db POISON ; species type 2 db 120 ; catch rate db 117 ; base exp yield -INCBIN "pic/bmon/nidorina.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/nidorina.pic",0,1 ; 66, sprite dimensions dw NidorinaPicFront dw NidorinaPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/nidorino.asm b/data/baseStats/nidorino.asm index fc435fc4..c9c87c25 100644 --- a/data/baseStats/nidorino.asm +++ b/data/baseStats/nidorino.asm @@ -8,7 +8,7 @@ db POISON ; species type 1 db POISON ; species type 2 db 120 ; catch rate db 118 ; base exp yield -INCBIN "pic/bmon/nidorino.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/nidorino.pic",0,1 ; 66, sprite dimensions dw NidorinoPicFront dw NidorinoPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/ninetales.asm b/data/baseStats/ninetales.asm index e98028dc..88d95329 100644 --- a/data/baseStats/ninetales.asm +++ b/data/baseStats/ninetales.asm @@ -8,7 +8,7 @@ db FIRE ; species type 1 db FIRE ; species type 2 db 75 ; catch rate db 178 ; base exp yield -INCBIN "pic/bmon/ninetales.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/ninetales.pic",0,1 ; 77, sprite dimensions dw NinetalesPicFront dw NinetalesPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/oddish.asm b/data/baseStats/oddish.asm index c91c5138..d0309427 100644 --- a/data/baseStats/oddish.asm +++ b/data/baseStats/oddish.asm @@ -8,7 +8,7 @@ db GRASS ; species type 1 db POISON ; species type 2 db 255 ; catch rate db 78 ; base exp yield -INCBIN "pic/bmon/oddish.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/oddish.pic",0,1 ; 55, sprite dimensions dw OddishPicFront dw OddishPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/omanyte.asm b/data/baseStats/omanyte.asm index 3c461876..33541539 100644 --- a/data/baseStats/omanyte.asm +++ b/data/baseStats/omanyte.asm @@ -8,7 +8,7 @@ db ROCK ; species type 1 db WATER ; species type 2 db 45 ; catch rate db 120 ; base exp yield -INCBIN "pic/bmon/omanyte.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/omanyte.pic",0,1 ; 55, sprite dimensions dw OmanytePicFront dw OmanytePicBack ; attacks known at lvl 0 diff --git a/data/baseStats/omastar.asm b/data/baseStats/omastar.asm index 09a2ae77..dfd5c7a2 100644 --- a/data/baseStats/omastar.asm +++ b/data/baseStats/omastar.asm @@ -8,7 +8,7 @@ db ROCK ; species type 1 db WATER ; species type 2 db 45 ; catch rate db 199 ; base exp yield -INCBIN "pic/bmon/omastar.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/omastar.pic",0,1 ; 66, sprite dimensions dw OmastarPicFront dw OmastarPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/onix.asm b/data/baseStats/onix.asm index 6f3be4df..a0ad840e 100644 --- a/data/baseStats/onix.asm +++ b/data/baseStats/onix.asm @@ -8,7 +8,7 @@ db ROCK ; species type 1 db GROUND ; species type 2 db 45 ; catch rate db 108 ; base exp yield -INCBIN "pic/bmon/onix.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/onix.pic",0,1 ; 77, sprite dimensions dw OnixPicFront dw OnixPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/paras.asm b/data/baseStats/paras.asm index 2c918e68..47d2d490 100644 --- a/data/baseStats/paras.asm +++ b/data/baseStats/paras.asm @@ -8,7 +8,7 @@ db BUG ; species type 1 db GRASS ; species type 2 db 190 ; catch rate db 70 ; base exp yield -INCBIN "pic/bmon/paras.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/paras.pic",0,1 ; 55, sprite dimensions dw ParasPicFront dw ParasPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/parasect.asm b/data/baseStats/parasect.asm index dfa0c73e..8e39c90e 100644 --- a/data/baseStats/parasect.asm +++ b/data/baseStats/parasect.asm @@ -8,7 +8,7 @@ db BUG ; species type 1 db GRASS ; species type 2 db 75 ; catch rate db 128 ; base exp yield -INCBIN "pic/bmon/parasect.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/parasect.pic",0,1 ; 77, sprite dimensions dw ParasectPicFront dw ParasectPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/persian.asm b/data/baseStats/persian.asm index 2f5ef125..40a9d70c 100644 --- a/data/baseStats/persian.asm +++ b/data/baseStats/persian.asm @@ -8,7 +8,7 @@ db NORMAL ; species type 1 db NORMAL ; species type 2 db 90 ; catch rate db 148 ; base exp yield -INCBIN "pic/bmon/persian.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/persian.pic",0,1 ; 77, sprite dimensions dw PersianPicFront dw PersianPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/pidgeot.asm b/data/baseStats/pidgeot.asm index 05350d07..9c770dd6 100644 --- a/data/baseStats/pidgeot.asm +++ b/data/baseStats/pidgeot.asm @@ -8,7 +8,7 @@ db NORMAL ; species type 1 db FLYING ; species type 2 db 45 ; catch rate db 172 ; base exp yield -INCBIN "pic/bmon/pidgeot.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/pidgeot.pic",0,1 ; 77, sprite dimensions dw PidgeotPicFront dw PidgeotPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/pidgeotto.asm b/data/baseStats/pidgeotto.asm index 74440fcc..1a2962e7 100644 --- a/data/baseStats/pidgeotto.asm +++ b/data/baseStats/pidgeotto.asm @@ -8,7 +8,7 @@ db NORMAL ; species type 1 db FLYING ; species type 2 db 120 ; catch rate db 113 ; base exp yield -INCBIN "pic/bmon/pidgeotto.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/pidgeotto.pic",0,1 ; 66, sprite dimensions dw PidgeottoPicFront dw PidgeottoPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/pidgey.asm b/data/baseStats/pidgey.asm index ec032d6b..ca167e3b 100644 --- a/data/baseStats/pidgey.asm +++ b/data/baseStats/pidgey.asm @@ -8,7 +8,7 @@ db NORMAL ; species type 1 db FLYING ; species type 2 db 255 ; catch rate db 55 ; base exp yield -INCBIN "pic/bmon/pidgey.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/pidgey.pic",0,1 ; 55, sprite dimensions dw PidgeyPicFront dw PidgeyPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/pikachu.asm b/data/baseStats/pikachu.asm index 09971b79..36391ed8 100644 --- a/data/baseStats/pikachu.asm +++ b/data/baseStats/pikachu.asm @@ -8,7 +8,7 @@ db ELECTRIC ; species type 1 db ELECTRIC ; species type 2 db 190 ; catch rate db 82 ; base exp yield -INCBIN "pic/bmon/pikachu.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/pikachu.pic",0,1 ; 55, sprite dimensions dw PikachuPicFront dw PikachuPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/pinsir.asm b/data/baseStats/pinsir.asm index 08c0e95a..db749370 100644 --- a/data/baseStats/pinsir.asm +++ b/data/baseStats/pinsir.asm @@ -8,7 +8,7 @@ db BUG ; species type 1 db BUG ; species type 2 db 45 ; catch rate db 200 ; base exp yield -INCBIN "pic/bmon/pinsir.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/pinsir.pic",0,1 ; 77, sprite dimensions dw PinsirPicFront dw PinsirPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/poliwag.asm b/data/baseStats/poliwag.asm index 8014811e..a4e260ba 100644 --- a/data/baseStats/poliwag.asm +++ b/data/baseStats/poliwag.asm @@ -8,7 +8,7 @@ db WATER ; species type 1 db WATER ; species type 2 db 255 ; catch rate db 77 ; base exp yield -INCBIN "pic/bmon/poliwag.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/poliwag.pic",0,1 ; 55, sprite dimensions dw PoliwagPicFront dw PoliwagPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/poliwhirl.asm b/data/baseStats/poliwhirl.asm index 6209da68..706bd498 100644 --- a/data/baseStats/poliwhirl.asm +++ b/data/baseStats/poliwhirl.asm @@ -8,7 +8,7 @@ db WATER ; species type 1 db WATER ; species type 2 db 120 ; catch rate db 131 ; base exp yield -INCBIN "pic/bmon/poliwhirl.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/poliwhirl.pic",0,1 ; 66, sprite dimensions dw PoliwhirlPicFront dw PoliwhirlPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/poliwrath.asm b/data/baseStats/poliwrath.asm index 9489a6a3..6f7d4b78 100644 --- a/data/baseStats/poliwrath.asm +++ b/data/baseStats/poliwrath.asm @@ -8,7 +8,7 @@ db WATER ; species type 1 db FIGHTING ; species type 2 db 45 ; catch rate db 185 ; base exp yield -INCBIN "pic/bmon/poliwrath.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/poliwrath.pic",0,1 ; 77, sprite dimensions dw PoliwrathPicFront dw PoliwrathPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/ponyta.asm b/data/baseStats/ponyta.asm index a6ff9e4b..667d3cc9 100644 --- a/data/baseStats/ponyta.asm +++ b/data/baseStats/ponyta.asm @@ -8,7 +8,7 @@ db FIRE ; species type 1 db FIRE ; species type 2 db 190 ; catch rate db 152 ; base exp yield -INCBIN "pic/bmon/ponyta.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/ponyta.pic",0,1 ; 66, sprite dimensions dw PonytaPicFront dw PonytaPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/porygon.asm b/data/baseStats/porygon.asm index a049fa7f..71a37154 100644 --- a/data/baseStats/porygon.asm +++ b/data/baseStats/porygon.asm @@ -8,7 +8,7 @@ db NORMAL ; species type 1 db NORMAL ; species type 2 db 45 ; catch rate db 130 ; base exp yield -INCBIN "pic/bmon/porygon.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/porygon.pic",0,1 ; 66, sprite dimensions dw PorygonPicFront dw PorygonPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/primeape.asm b/data/baseStats/primeape.asm index 659edefd..2d00ee76 100644 --- a/data/baseStats/primeape.asm +++ b/data/baseStats/primeape.asm @@ -8,7 +8,7 @@ db FIGHTING ; species type 1 db FIGHTING ; species type 2 db 75 ; catch rate db 149 ; base exp yield -INCBIN "pic/bmon/primeape.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/primeape.pic",0,1 ; 77, sprite dimensions dw PrimeapePicFront dw PrimeapePicBack ; attacks known at lvl 0 diff --git a/data/baseStats/psyduck.asm b/data/baseStats/psyduck.asm index db3ac79f..163f851e 100644 --- a/data/baseStats/psyduck.asm +++ b/data/baseStats/psyduck.asm @@ -8,7 +8,7 @@ db WATER ; species type 1 db WATER ; species type 2 db 190 ; catch rate db 80 ; base exp yield -INCBIN "pic/bmon/psyduck.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/psyduck.pic",0,1 ; 55, sprite dimensions dw PsyduckPicFront dw PsyduckPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/raichu.asm b/data/baseStats/raichu.asm index c830483c..c2c0c6a9 100644 --- a/data/baseStats/raichu.asm +++ b/data/baseStats/raichu.asm @@ -8,7 +8,7 @@ db ELECTRIC ; species type 1 db ELECTRIC ; species type 2 db 75 ; catch rate db 122 ; base exp yield -INCBIN "pic/bmon/raichu.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/raichu.pic",0,1 ; 77, sprite dimensions dw RaichuPicFront dw RaichuPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/rapidash.asm b/data/baseStats/rapidash.asm index c452159e..53dcbe4a 100644 --- a/data/baseStats/rapidash.asm +++ b/data/baseStats/rapidash.asm @@ -8,7 +8,7 @@ db FIRE ; species type 1 db FIRE ; species type 2 db 60 ; catch rate db 192 ; base exp yield -INCBIN "pic/bmon/rapidash.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/rapidash.pic",0,1 ; 77, sprite dimensions dw RapidashPicFront dw RapidashPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/raticate.asm b/data/baseStats/raticate.asm index ff8373d5..157b22bb 100644 --- a/data/baseStats/raticate.asm +++ b/data/baseStats/raticate.asm @@ -8,7 +8,7 @@ db NORMAL ; species type 1 db NORMAL ; species type 2 db 90 ; catch rate db 116 ; base exp yield -INCBIN "pic/bmon/raticate.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/raticate.pic",0,1 ; 66, sprite dimensions dw RaticatePicFront dw RaticatePicBack ; attacks known at lvl 0 diff --git a/data/baseStats/rattata.asm b/data/baseStats/rattata.asm index 7edfb626..5dfafddb 100644 --- a/data/baseStats/rattata.asm +++ b/data/baseStats/rattata.asm @@ -8,7 +8,7 @@ db NORMAL ; species type 1 db NORMAL ; species type 2 db 255 ; catch rate db 57 ; base exp yield -INCBIN "pic/bmon/rattata.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/rattata.pic",0,1 ; 55, sprite dimensions dw RattataPicFront dw RattataPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/rhydon.asm b/data/baseStats/rhydon.asm index d7066906..9f611a83 100644 --- a/data/baseStats/rhydon.asm +++ b/data/baseStats/rhydon.asm @@ -8,7 +8,7 @@ db GROUND ; species type 1 db ROCK ; species type 2 db 60 ; catch rate db 204 ; base exp yield -INCBIN "pic/bmon/rhydon.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/rhydon.pic",0,1 ; 77, sprite dimensions dw RhydonPicFront dw RhydonPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/rhyhorn.asm b/data/baseStats/rhyhorn.asm index a6491bd5..b7fc9137 100644 --- a/data/baseStats/rhyhorn.asm +++ b/data/baseStats/rhyhorn.asm @@ -8,7 +8,7 @@ db GROUND ; species type 1 db ROCK ; species type 2 db 120 ; catch rate db 135 ; base exp yield -INCBIN "pic/bmon/rhyhorn.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/rhyhorn.pic",0,1 ; 77, sprite dimensions dw RhyhornPicFront dw RhyhornPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/sandshrew.asm b/data/baseStats/sandshrew.asm index a9875a8e..a098678e 100644 --- a/data/baseStats/sandshrew.asm +++ b/data/baseStats/sandshrew.asm @@ -8,7 +8,7 @@ db GROUND ; species type 1 db GROUND ; species type 2 db 255 ; catch rate db 93 ; base exp yield -INCBIN "pic/bmon/sandshrew.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/sandshrew.pic",0,1 ; 55, sprite dimensions dw SandshrewPicFront dw SandshrewPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/sandslash.asm b/data/baseStats/sandslash.asm index 30477eb4..c596265c 100644 --- a/data/baseStats/sandslash.asm +++ b/data/baseStats/sandslash.asm @@ -8,7 +8,7 @@ db GROUND ; species type 1 db GROUND ; species type 2 db 90 ; catch rate db 163 ; base exp yield -INCBIN "pic/bmon/sandslash.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/sandslash.pic",0,1 ; 66, sprite dimensions dw SandslashPicFront dw SandslashPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/scyther.asm b/data/baseStats/scyther.asm index 13de0d2b..303a33c1 100644 --- a/data/baseStats/scyther.asm +++ b/data/baseStats/scyther.asm @@ -8,7 +8,7 @@ db BUG ; species type 1 db FLYING ; species type 2 db 45 ; catch rate db 187 ; base exp yield -INCBIN "pic/bmon/scyther.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/scyther.pic",0,1 ; 77, sprite dimensions dw ScytherPicFront dw ScytherPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/seadra.asm b/data/baseStats/seadra.asm index 9f28001b..cd9bbc3f 100644 --- a/data/baseStats/seadra.asm +++ b/data/baseStats/seadra.asm @@ -8,7 +8,7 @@ db WATER ; species type 1 db WATER ; species type 2 db 75 ; catch rate db 155 ; base exp yield -INCBIN "pic/bmon/seadra.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/seadra.pic",0,1 ; 66, sprite dimensions dw SeadraPicFront dw SeadraPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/seaking.asm b/data/baseStats/seaking.asm index d4fbe8ea..c14b095b 100644 --- a/data/baseStats/seaking.asm +++ b/data/baseStats/seaking.asm @@ -8,7 +8,7 @@ db WATER ; species type 1 db WATER ; species type 2 db 60 ; catch rate db 170 ; base exp yield -INCBIN "pic/bmon/seaking.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/seaking.pic",0,1 ; 77, sprite dimensions dw SeakingPicFront dw SeakingPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/seel.asm b/data/baseStats/seel.asm index ef9c2898..64c0cd7f 100644 --- a/data/baseStats/seel.asm +++ b/data/baseStats/seel.asm @@ -8,7 +8,7 @@ db WATER ; species type 1 db WATER ; species type 2 db 190 ; catch rate db 100 ; base exp yield -INCBIN "pic/bmon/seel.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/seel.pic",0,1 ; 66, sprite dimensions dw SeelPicFront dw SeelPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/shellder.asm b/data/baseStats/shellder.asm index 7c2cdf9d..c051f2f5 100644 --- a/data/baseStats/shellder.asm +++ b/data/baseStats/shellder.asm @@ -8,7 +8,7 @@ db WATER ; species type 1 db WATER ; species type 2 db 190 ; catch rate db 97 ; base exp yield -INCBIN "pic/bmon/shellder.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/shellder.pic",0,1 ; 55, sprite dimensions dw ShellderPicFront dw ShellderPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/slowbro.asm b/data/baseStats/slowbro.asm index ffeda79e..51d3f564 100644 --- a/data/baseStats/slowbro.asm +++ b/data/baseStats/slowbro.asm @@ -8,7 +8,7 @@ db WATER ; species type 1 db PSYCHIC ; species type 2 db 75 ; catch rate db 164 ; base exp yield -INCBIN "pic/bmon/slowbro.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/slowbro.pic",0,1 ; 77, sprite dimensions dw SlowbroPicFront dw SlowbroPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/slowpoke.asm b/data/baseStats/slowpoke.asm index ea238a6e..60e47ea8 100644 --- a/data/baseStats/slowpoke.asm +++ b/data/baseStats/slowpoke.asm @@ -8,7 +8,7 @@ db WATER ; species type 1 db PSYCHIC ; species type 2 db 190 ; catch rate db 99 ; base exp yield -INCBIN "pic/bmon/slowpoke.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/slowpoke.pic",0,1 ; 55, sprite dimensions dw SlowpokePicFront dw SlowpokePicBack ; attacks known at lvl 0 diff --git a/data/baseStats/snorlax.asm b/data/baseStats/snorlax.asm index 2d1fd6e3..c1d47cd6 100644 --- a/data/baseStats/snorlax.asm +++ b/data/baseStats/snorlax.asm @@ -8,7 +8,7 @@ db NORMAL ; species type 1 db NORMAL ; species type 2 db 25 ; catch rate db 154 ; base exp yield -INCBIN "pic/bmon/snorlax.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/snorlax.pic",0,1 ; 77, sprite dimensions dw SnorlaxPicFront dw SnorlaxPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/spearow.asm b/data/baseStats/spearow.asm index eb8ab1ec..9b8db91d 100644 --- a/data/baseStats/spearow.asm +++ b/data/baseStats/spearow.asm @@ -8,7 +8,7 @@ db NORMAL ; species type 1 db FLYING ; species type 2 db 255 ; catch rate db 58 ; base exp yield -INCBIN "pic/bmon/spearow.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/spearow.pic",0,1 ; 55, sprite dimensions dw SpearowPicFront dw SpearowPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/squirtle.asm b/data/baseStats/squirtle.asm index f8dcd0a1..639809f9 100644 --- a/data/baseStats/squirtle.asm +++ b/data/baseStats/squirtle.asm @@ -8,7 +8,7 @@ db WATER ; species type 1 db WATER ; species type 2 db 45 ; catch rate db 66 ; base exp yield -INCBIN "pic/bmon/squirtle.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/squirtle.pic",0,1 ; 55, sprite dimensions dw SquirtlePicFront dw SquirtlePicBack ; attacks known at lvl 0 diff --git a/data/baseStats/starmie.asm b/data/baseStats/starmie.asm index 686dfa57..23858638 100644 --- a/data/baseStats/starmie.asm +++ b/data/baseStats/starmie.asm @@ -8,7 +8,7 @@ db WATER ; species type 1 db PSYCHIC ; species type 2 db 60 ; catch rate db 207 ; base exp yield -INCBIN "pic/bmon/starmie.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/starmie.pic",0,1 ; 66, sprite dimensions dw StarmiePicFront dw StarmiePicBack ; attacks known at lvl 0 diff --git a/data/baseStats/staryu.asm b/data/baseStats/staryu.asm index 35f51a6a..ffbb1f21 100644 --- a/data/baseStats/staryu.asm +++ b/data/baseStats/staryu.asm @@ -8,7 +8,7 @@ db WATER ; species type 1 db WATER ; species type 2 db 225 ; catch rate db 106 ; base exp yield -INCBIN "pic/bmon/staryu.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/staryu.pic",0,1 ; 66, sprite dimensions dw StaryuPicFront dw StaryuPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/tangela.asm b/data/baseStats/tangela.asm index b50a57bc..65570b3c 100644 --- a/data/baseStats/tangela.asm +++ b/data/baseStats/tangela.asm @@ -8,7 +8,7 @@ db GRASS ; species type 1 db GRASS ; species type 2 db 45 ; catch rate db 166 ; base exp yield -INCBIN "pic/bmon/tangela.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/tangela.pic",0,1 ; 66, sprite dimensions dw TangelaPicFront dw TangelaPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/tauros.asm b/data/baseStats/tauros.asm index 87f28ec6..e66980d7 100644 --- a/data/baseStats/tauros.asm +++ b/data/baseStats/tauros.asm @@ -8,7 +8,7 @@ db NORMAL ; species type 1 db NORMAL ; species type 2 db 45 ; catch rate db 211 ; base exp yield -INCBIN "pic/bmon/tauros.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/tauros.pic",0,1 ; 77, sprite dimensions dw TaurosPicFront dw TaurosPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/tentacool.asm b/data/baseStats/tentacool.asm index 7237f083..0b1b840d 100644 --- a/data/baseStats/tentacool.asm +++ b/data/baseStats/tentacool.asm @@ -8,7 +8,7 @@ db WATER ; species type 1 db POISON ; species type 2 db 190 ; catch rate db 105 ; base exp yield -INCBIN "pic/bmon/tentacool.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/tentacool.pic",0,1 ; 55, sprite dimensions dw TentacoolPicFront dw TentacoolPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/tentacruel.asm b/data/baseStats/tentacruel.asm index d3d93919..ef82c764 100644 --- a/data/baseStats/tentacruel.asm +++ b/data/baseStats/tentacruel.asm @@ -8,7 +8,7 @@ db WATER ; species type 1 db POISON ; species type 2 db 60 ; catch rate db 205 ; base exp yield -INCBIN "pic/bmon/tentacruel.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/tentacruel.pic",0,1 ; 66, sprite dimensions dw TentacruelPicFront dw TentacruelPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/vaporeon.asm b/data/baseStats/vaporeon.asm index e22b3185..a01c9ade 100644 --- a/data/baseStats/vaporeon.asm +++ b/data/baseStats/vaporeon.asm @@ -8,7 +8,7 @@ db WATER ; species type 1 db WATER ; species type 2 db 45 ; catch rate db 196 ; base exp yield -INCBIN "pic/bmon/vaporeon.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/vaporeon.pic",0,1 ; 66, sprite dimensions dw VaporeonPicFront dw VaporeonPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/venomoth.asm b/data/baseStats/venomoth.asm index 7a5bd981..7518f31e 100644 --- a/data/baseStats/venomoth.asm +++ b/data/baseStats/venomoth.asm @@ -8,7 +8,7 @@ db BUG ; species type 1 db POISON ; species type 2 db 75 ; catch rate db 138 ; base exp yield -INCBIN "pic/bmon/venomoth.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/venomoth.pic",0,1 ; 77, sprite dimensions dw VenomothPicFront dw VenomothPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/venonat.asm b/data/baseStats/venonat.asm index aeadc6cd..1e88d9ae 100644 --- a/data/baseStats/venonat.asm +++ b/data/baseStats/venonat.asm @@ -8,7 +8,7 @@ db BUG ; species type 1 db POISON ; species type 2 db 190 ; catch rate db 75 ; base exp yield -INCBIN "pic/bmon/venonat.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/venonat.pic",0,1 ; 55, sprite dimensions dw VenonatPicFront dw VenonatPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/venusaur.asm b/data/baseStats/venusaur.asm index 0a457321..bda8a528 100644 --- a/data/baseStats/venusaur.asm +++ b/data/baseStats/venusaur.asm @@ -8,7 +8,7 @@ db GRASS ; species type 1 db POISON ; species type 2 db 45 ; catch rate db 208 ; base exp yield -INCBIN "pic/bmon/venusaur.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/venusaur.pic",0,1 ; 77, sprite dimensions dw VenusaurPicFront dw VenusaurPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/victreebel.asm b/data/baseStats/victreebel.asm index 7a82c86e..ce528805 100644 --- a/data/baseStats/victreebel.asm +++ b/data/baseStats/victreebel.asm @@ -8,7 +8,7 @@ db GRASS ; species type 1 db POISON ; species type 2 db 45 ; catch rate db 191 ; base exp yield -INCBIN "pic/bmon/victreebel.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/victreebel.pic",0,1 ; 77, sprite dimensions dw VictreebelPicFront dw VictreebelPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/vileplume.asm b/data/baseStats/vileplume.asm index 17bb9739..2ec67131 100644 --- a/data/baseStats/vileplume.asm +++ b/data/baseStats/vileplume.asm @@ -8,7 +8,7 @@ db GRASS ; species type 1 db POISON ; species type 2 db 45 ; catch rate db 184 ; base exp yield -INCBIN "pic/bmon/vileplume.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/vileplume.pic",0,1 ; 77, sprite dimensions dw VileplumePicFront dw VileplumePicBack ; attacks known at lvl 0 diff --git a/data/baseStats/voltorb.asm b/data/baseStats/voltorb.asm index 92d2ccb3..6cb55714 100644 --- a/data/baseStats/voltorb.asm +++ b/data/baseStats/voltorb.asm @@ -8,7 +8,7 @@ db ELECTRIC ; species type 1 db ELECTRIC ; species type 2 db 190 ; catch rate db 103 ; base exp yield -INCBIN "pic/bmon/voltorb.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/voltorb.pic",0,1 ; 55, sprite dimensions dw VoltorbPicFront dw VoltorbPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/vulpix.asm b/data/baseStats/vulpix.asm index 9577ae30..9285df13 100644 --- a/data/baseStats/vulpix.asm +++ b/data/baseStats/vulpix.asm @@ -8,7 +8,7 @@ db FIRE ; species type 1 db FIRE ; species type 2 db 190 ; catch rate db 63 ; base exp yield -INCBIN "pic/bmon/vulpix.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/vulpix.pic",0,1 ; 66, sprite dimensions dw VulpixPicFront dw VulpixPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/wartortle.asm b/data/baseStats/wartortle.asm index bc86bd6f..ce37e7b3 100644 --- a/data/baseStats/wartortle.asm +++ b/data/baseStats/wartortle.asm @@ -8,7 +8,7 @@ db WATER ; species type 1 db WATER ; species type 2 db 45 ; catch rate db 143 ; base exp yield -INCBIN "pic/bmon/wartortle.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/wartortle.pic",0,1 ; 66, sprite dimensions dw WartortlePicFront dw WartortlePicBack ; attacks known at lvl 0 diff --git a/data/baseStats/weedle.asm b/data/baseStats/weedle.asm index 8370dc41..7434d93a 100644 --- a/data/baseStats/weedle.asm +++ b/data/baseStats/weedle.asm @@ -8,7 +8,7 @@ db BUG ; species type 1 db POISON ; species type 2 db 255 ; catch rate db 52 ; base exp yield -INCBIN "pic/bmon/weedle.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/weedle.pic",0,1 ; 55, sprite dimensions dw WeedlePicFront dw WeedlePicBack ; attacks known at lvl 0 diff --git a/data/baseStats/weepinbell.asm b/data/baseStats/weepinbell.asm index 735a453f..48e18a31 100644 --- a/data/baseStats/weepinbell.asm +++ b/data/baseStats/weepinbell.asm @@ -8,7 +8,7 @@ db GRASS ; species type 1 db POISON ; species type 2 db 120 ; catch rate db 151 ; base exp yield -INCBIN "pic/bmon/weepinbell.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/weepinbell.pic",0,1 ; 66, sprite dimensions dw WeepinbellPicFront dw WeepinbellPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/weezing.asm b/data/baseStats/weezing.asm index 0dd09dfe..21779741 100644 --- a/data/baseStats/weezing.asm +++ b/data/baseStats/weezing.asm @@ -8,7 +8,7 @@ db POISON ; species type 1 db POISON ; species type 2 db 60 ; catch rate db 173 ; base exp yield -INCBIN "pic/bmon/weezing.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/weezing.pic",0,1 ; 77, sprite dimensions dw WeezingPicFront dw WeezingPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/wigglytuff.asm b/data/baseStats/wigglytuff.asm index d5fd08e2..4f7fec95 100644 --- a/data/baseStats/wigglytuff.asm +++ b/data/baseStats/wigglytuff.asm @@ -8,7 +8,7 @@ db NORMAL ; species type 1 db NORMAL ; species type 2 db 50 ; catch rate db 109 ; base exp yield -INCBIN "pic/bmon/wigglytuff.pic",0,1 ; 66, sprite dimensions +INCBIN "gfx/pokemon/front/wigglytuff.pic",0,1 ; 66, sprite dimensions dw WigglytuffPicFront dw WigglytuffPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/zapdos.asm b/data/baseStats/zapdos.asm index 487052ba..560f78c4 100644 --- a/data/baseStats/zapdos.asm +++ b/data/baseStats/zapdos.asm @@ -8,7 +8,7 @@ db ELECTRIC ; species type 1 db FLYING ; species type 2 db 3 ; catch rate db 216 ; base exp yield -INCBIN "pic/bmon/zapdos.pic",0,1 ; 77, sprite dimensions +INCBIN "gfx/pokemon/front/zapdos.pic",0,1 ; 77, sprite dimensions dw ZapdosPicFront dw ZapdosPicBack ; attacks known at lvl 0 diff --git a/data/baseStats/zubat.asm b/data/baseStats/zubat.asm index 1caa4259..55b7ac4c 100644 --- a/data/baseStats/zubat.asm +++ b/data/baseStats/zubat.asm @@ -8,7 +8,7 @@ db POISON ; species type 1 db FLYING ; species type 2 db 255 ; catch rate db 54 ; base exp yield -INCBIN "pic/bmon/zubat.pic",0,1 ; 55, sprite dimensions +INCBIN "gfx/pokemon/front/zubat.pic",0,1 ; 55, sprite dimensions dw ZubatPicFront dw ZubatPicBack ; attacks known at lvl 0 diff --git a/gfx/battle/ghost.png b/gfx/battle/ghost.png new file mode 100644 index 00000000..bfe7ef12 Binary files /dev/null and b/gfx/battle/ghost.png differ diff --git a/gfx/battle/oldman.png b/gfx/battle/oldman.png new file mode 100644 index 00000000..6d48000f Binary files /dev/null and b/gfx/battle/oldman.png differ diff --git a/gfx/player/red.png b/gfx/player/red.png new file mode 100644 index 00000000..9098fc76 Binary files /dev/null and b/gfx/player/red.png differ diff --git a/gfx/player/redb.png b/gfx/player/redb.png new file mode 100644 index 00000000..6e8d9eec Binary files /dev/null and b/gfx/player/redb.png differ diff --git a/gfx/player/shrink1.png b/gfx/player/shrink1.png new file mode 100644 index 00000000..ef7a61ae Binary files /dev/null and b/gfx/player/shrink1.png differ diff --git a/gfx/player/shrink2.png b/gfx/player/shrink2.png new file mode 100644 index 00000000..01706b22 Binary files /dev/null and b/gfx/player/shrink2.png differ diff --git a/gfx/pokemon/back/abrab.png b/gfx/pokemon/back/abrab.png new file mode 100644 index 00000000..828c063c Binary files /dev/null and b/gfx/pokemon/back/abrab.png differ diff --git a/gfx/pokemon/back/aerodactylb.png b/gfx/pokemon/back/aerodactylb.png new file mode 100644 index 00000000..88643489 Binary files /dev/null and b/gfx/pokemon/back/aerodactylb.png differ diff --git a/gfx/pokemon/back/alakazamb.png b/gfx/pokemon/back/alakazamb.png new file mode 100644 index 00000000..acee9083 Binary files /dev/null and b/gfx/pokemon/back/alakazamb.png differ diff --git a/gfx/pokemon/back/arbokb.png b/gfx/pokemon/back/arbokb.png new file mode 100644 index 00000000..8aed21b5 Binary files /dev/null and b/gfx/pokemon/back/arbokb.png differ diff --git a/gfx/pokemon/back/arcanineb.png b/gfx/pokemon/back/arcanineb.png new file mode 100644 index 00000000..bc46be7f Binary files /dev/null and b/gfx/pokemon/back/arcanineb.png differ diff --git a/gfx/pokemon/back/articunob.png b/gfx/pokemon/back/articunob.png new file mode 100644 index 00000000..b4529453 Binary files /dev/null and b/gfx/pokemon/back/articunob.png differ diff --git a/gfx/pokemon/back/beedrillb.png b/gfx/pokemon/back/beedrillb.png new file mode 100644 index 00000000..66787e7c Binary files /dev/null and b/gfx/pokemon/back/beedrillb.png differ diff --git a/gfx/pokemon/back/bellsproutb.png b/gfx/pokemon/back/bellsproutb.png new file mode 100644 index 00000000..e8682420 Binary files /dev/null and b/gfx/pokemon/back/bellsproutb.png differ diff --git a/gfx/pokemon/back/blastoiseb.png b/gfx/pokemon/back/blastoiseb.png new file mode 100644 index 00000000..0df4ec2c Binary files /dev/null and b/gfx/pokemon/back/blastoiseb.png differ diff --git a/gfx/pokemon/back/bulbasaurb.png b/gfx/pokemon/back/bulbasaurb.png new file mode 100644 index 00000000..dbe2e487 Binary files /dev/null and b/gfx/pokemon/back/bulbasaurb.png differ diff --git a/gfx/pokemon/back/butterfreeb.png b/gfx/pokemon/back/butterfreeb.png new file mode 100644 index 00000000..5f3d5ac8 Binary files /dev/null and b/gfx/pokemon/back/butterfreeb.png differ diff --git a/gfx/pokemon/back/caterpieb.png b/gfx/pokemon/back/caterpieb.png new file mode 100644 index 00000000..f9568087 Binary files /dev/null and b/gfx/pokemon/back/caterpieb.png differ diff --git a/gfx/pokemon/back/chanseyb.png b/gfx/pokemon/back/chanseyb.png new file mode 100644 index 00000000..c2f5ac3b Binary files /dev/null and b/gfx/pokemon/back/chanseyb.png differ diff --git a/gfx/pokemon/back/charizardb.png b/gfx/pokemon/back/charizardb.png new file mode 100644 index 00000000..f5540842 Binary files /dev/null and b/gfx/pokemon/back/charizardb.png differ diff --git a/gfx/pokemon/back/charmanderb.png b/gfx/pokemon/back/charmanderb.png new file mode 100644 index 00000000..ed75d27d Binary files /dev/null and b/gfx/pokemon/back/charmanderb.png differ diff --git a/gfx/pokemon/back/charmeleonb.png b/gfx/pokemon/back/charmeleonb.png new file mode 100644 index 00000000..fedd2f10 Binary files /dev/null and b/gfx/pokemon/back/charmeleonb.png differ diff --git a/gfx/pokemon/back/clefableb.png b/gfx/pokemon/back/clefableb.png new file mode 100644 index 00000000..341b48b9 Binary files /dev/null and b/gfx/pokemon/back/clefableb.png differ diff --git a/gfx/pokemon/back/clefairyb.png b/gfx/pokemon/back/clefairyb.png new file mode 100644 index 00000000..ea0590fc Binary files /dev/null and b/gfx/pokemon/back/clefairyb.png differ diff --git a/gfx/pokemon/back/cloysterb.png b/gfx/pokemon/back/cloysterb.png new file mode 100644 index 00000000..0cfb046e Binary files /dev/null and b/gfx/pokemon/back/cloysterb.png differ diff --git a/gfx/pokemon/back/cuboneb.png b/gfx/pokemon/back/cuboneb.png new file mode 100644 index 00000000..dc82e13f Binary files /dev/null and b/gfx/pokemon/back/cuboneb.png differ diff --git a/gfx/pokemon/back/dewgongb.png b/gfx/pokemon/back/dewgongb.png new file mode 100644 index 00000000..cbbd148d Binary files /dev/null and b/gfx/pokemon/back/dewgongb.png differ diff --git a/gfx/pokemon/back/diglettb.png b/gfx/pokemon/back/diglettb.png new file mode 100644 index 00000000..15f4dc47 Binary files /dev/null and b/gfx/pokemon/back/diglettb.png differ diff --git a/gfx/pokemon/back/dittob.png b/gfx/pokemon/back/dittob.png new file mode 100644 index 00000000..9b95a5db Binary files /dev/null and b/gfx/pokemon/back/dittob.png differ diff --git a/gfx/pokemon/back/dodriob.png b/gfx/pokemon/back/dodriob.png new file mode 100644 index 00000000..7b5796aa Binary files /dev/null and b/gfx/pokemon/back/dodriob.png differ diff --git a/gfx/pokemon/back/doduob.png b/gfx/pokemon/back/doduob.png new file mode 100644 index 00000000..007b9994 Binary files /dev/null and b/gfx/pokemon/back/doduob.png differ diff --git a/gfx/pokemon/back/dragonairb.png b/gfx/pokemon/back/dragonairb.png new file mode 100644 index 00000000..581d5d6a Binary files /dev/null and b/gfx/pokemon/back/dragonairb.png differ diff --git a/gfx/pokemon/back/dragoniteb.png b/gfx/pokemon/back/dragoniteb.png new file mode 100644 index 00000000..53f14038 Binary files /dev/null and b/gfx/pokemon/back/dragoniteb.png differ diff --git a/gfx/pokemon/back/dratinib.png b/gfx/pokemon/back/dratinib.png new file mode 100644 index 00000000..3d40256d Binary files /dev/null and b/gfx/pokemon/back/dratinib.png differ diff --git a/gfx/pokemon/back/drowzeeb.png b/gfx/pokemon/back/drowzeeb.png new file mode 100644 index 00000000..682c1797 Binary files /dev/null and b/gfx/pokemon/back/drowzeeb.png differ diff --git a/gfx/pokemon/back/dugtriob.png b/gfx/pokemon/back/dugtriob.png new file mode 100644 index 00000000..4e72aa93 Binary files /dev/null and b/gfx/pokemon/back/dugtriob.png differ diff --git a/gfx/pokemon/back/eeveeb.png b/gfx/pokemon/back/eeveeb.png new file mode 100644 index 00000000..56cfcd2c Binary files /dev/null and b/gfx/pokemon/back/eeveeb.png differ diff --git a/gfx/pokemon/back/ekansb.png b/gfx/pokemon/back/ekansb.png new file mode 100644 index 00000000..82dd96dd Binary files /dev/null and b/gfx/pokemon/back/ekansb.png differ diff --git a/gfx/pokemon/back/electabuzzb.png b/gfx/pokemon/back/electabuzzb.png new file mode 100644 index 00000000..12442d39 Binary files /dev/null and b/gfx/pokemon/back/electabuzzb.png differ diff --git a/gfx/pokemon/back/electrodeb.png b/gfx/pokemon/back/electrodeb.png new file mode 100644 index 00000000..ab1a5550 Binary files /dev/null and b/gfx/pokemon/back/electrodeb.png differ diff --git a/gfx/pokemon/back/exeggcuteb.png b/gfx/pokemon/back/exeggcuteb.png new file mode 100644 index 00000000..6af005b6 Binary files /dev/null and b/gfx/pokemon/back/exeggcuteb.png differ diff --git a/gfx/pokemon/back/exeggutorb.png b/gfx/pokemon/back/exeggutorb.png new file mode 100644 index 00000000..95777871 Binary files /dev/null and b/gfx/pokemon/back/exeggutorb.png differ diff --git a/gfx/pokemon/back/farfetchdb.png b/gfx/pokemon/back/farfetchdb.png new file mode 100644 index 00000000..389dd556 Binary files /dev/null and b/gfx/pokemon/back/farfetchdb.png differ diff --git a/gfx/pokemon/back/fearowb.png b/gfx/pokemon/back/fearowb.png new file mode 100644 index 00000000..542cd06a Binary files /dev/null and b/gfx/pokemon/back/fearowb.png differ diff --git a/gfx/pokemon/back/flareonb.png b/gfx/pokemon/back/flareonb.png new file mode 100644 index 00000000..d73544b2 Binary files /dev/null and b/gfx/pokemon/back/flareonb.png differ diff --git a/gfx/pokemon/back/gastlyb.png b/gfx/pokemon/back/gastlyb.png new file mode 100644 index 00000000..b9c9584b Binary files /dev/null and b/gfx/pokemon/back/gastlyb.png differ diff --git a/gfx/pokemon/back/gengarb.png b/gfx/pokemon/back/gengarb.png new file mode 100644 index 00000000..64ecc4c6 Binary files /dev/null and b/gfx/pokemon/back/gengarb.png differ diff --git a/gfx/pokemon/back/geodudeb.png b/gfx/pokemon/back/geodudeb.png new file mode 100644 index 00000000..e6d6f2a7 Binary files /dev/null and b/gfx/pokemon/back/geodudeb.png differ diff --git a/gfx/pokemon/back/gloomb.png b/gfx/pokemon/back/gloomb.png new file mode 100644 index 00000000..e05973b6 Binary files /dev/null and b/gfx/pokemon/back/gloomb.png differ diff --git a/gfx/pokemon/back/golbatb.png b/gfx/pokemon/back/golbatb.png new file mode 100644 index 00000000..bbce03c5 Binary files /dev/null and b/gfx/pokemon/back/golbatb.png differ diff --git a/gfx/pokemon/back/goldeenb.png b/gfx/pokemon/back/goldeenb.png new file mode 100644 index 00000000..e7d242df Binary files /dev/null and b/gfx/pokemon/back/goldeenb.png differ diff --git a/gfx/pokemon/back/golduckb.png b/gfx/pokemon/back/golduckb.png new file mode 100644 index 00000000..634605e2 Binary files /dev/null and b/gfx/pokemon/back/golduckb.png differ diff --git a/gfx/pokemon/back/golemb.png b/gfx/pokemon/back/golemb.png new file mode 100644 index 00000000..1242d7b5 Binary files /dev/null and b/gfx/pokemon/back/golemb.png differ diff --git a/gfx/pokemon/back/gravelerb.png b/gfx/pokemon/back/gravelerb.png new file mode 100644 index 00000000..18a9c317 Binary files /dev/null and b/gfx/pokemon/back/gravelerb.png differ diff --git a/gfx/pokemon/back/grimerb.png b/gfx/pokemon/back/grimerb.png new file mode 100644 index 00000000..d4b6baf3 Binary files /dev/null and b/gfx/pokemon/back/grimerb.png differ diff --git a/gfx/pokemon/back/growlitheb.png b/gfx/pokemon/back/growlitheb.png new file mode 100644 index 00000000..b5dd0f7f Binary files /dev/null and b/gfx/pokemon/back/growlitheb.png differ diff --git a/gfx/pokemon/back/gyaradosb.png b/gfx/pokemon/back/gyaradosb.png new file mode 100644 index 00000000..3c6e05a4 Binary files /dev/null and b/gfx/pokemon/back/gyaradosb.png differ diff --git a/gfx/pokemon/back/haunterb.png b/gfx/pokemon/back/haunterb.png new file mode 100644 index 00000000..3767db06 Binary files /dev/null and b/gfx/pokemon/back/haunterb.png differ diff --git a/gfx/pokemon/back/hitmonchanb.png b/gfx/pokemon/back/hitmonchanb.png new file mode 100644 index 00000000..7b7f0ee6 Binary files /dev/null and b/gfx/pokemon/back/hitmonchanb.png differ diff --git a/gfx/pokemon/back/hitmonleeb.png b/gfx/pokemon/back/hitmonleeb.png new file mode 100644 index 00000000..17251aff Binary files /dev/null and b/gfx/pokemon/back/hitmonleeb.png differ diff --git a/gfx/pokemon/back/horseab.png b/gfx/pokemon/back/horseab.png new file mode 100644 index 00000000..39e9163e Binary files /dev/null and b/gfx/pokemon/back/horseab.png differ diff --git a/gfx/pokemon/back/hypnob.png b/gfx/pokemon/back/hypnob.png new file mode 100644 index 00000000..90bcd0e7 Binary files /dev/null and b/gfx/pokemon/back/hypnob.png differ diff --git a/gfx/pokemon/back/ivysaurb.png b/gfx/pokemon/back/ivysaurb.png new file mode 100644 index 00000000..c6070b7a Binary files /dev/null and b/gfx/pokemon/back/ivysaurb.png differ diff --git a/gfx/pokemon/back/jigglypuffb.png b/gfx/pokemon/back/jigglypuffb.png new file mode 100644 index 00000000..cb224907 Binary files /dev/null and b/gfx/pokemon/back/jigglypuffb.png differ diff --git a/gfx/pokemon/back/jolteonb.png b/gfx/pokemon/back/jolteonb.png new file mode 100644 index 00000000..30e92499 Binary files /dev/null and b/gfx/pokemon/back/jolteonb.png differ diff --git a/gfx/pokemon/back/jynxb.png b/gfx/pokemon/back/jynxb.png new file mode 100644 index 00000000..00c2ad04 Binary files /dev/null and b/gfx/pokemon/back/jynxb.png differ diff --git a/gfx/pokemon/back/kabutob.png b/gfx/pokemon/back/kabutob.png new file mode 100644 index 00000000..8c744494 Binary files /dev/null and b/gfx/pokemon/back/kabutob.png differ diff --git a/gfx/pokemon/back/kabutopsb.png b/gfx/pokemon/back/kabutopsb.png new file mode 100644 index 00000000..cdd1be4f Binary files /dev/null and b/gfx/pokemon/back/kabutopsb.png differ diff --git a/gfx/pokemon/back/kadabrab.png b/gfx/pokemon/back/kadabrab.png new file mode 100644 index 00000000..a82d2f11 Binary files /dev/null and b/gfx/pokemon/back/kadabrab.png differ diff --git a/gfx/pokemon/back/kakunab.png b/gfx/pokemon/back/kakunab.png new file mode 100644 index 00000000..b9fba0ae Binary files /dev/null and b/gfx/pokemon/back/kakunab.png differ diff --git a/gfx/pokemon/back/kangaskhanb.png b/gfx/pokemon/back/kangaskhanb.png new file mode 100644 index 00000000..9d39e9bc Binary files /dev/null and b/gfx/pokemon/back/kangaskhanb.png differ diff --git a/gfx/pokemon/back/kinglerb.png b/gfx/pokemon/back/kinglerb.png new file mode 100644 index 00000000..b7db5dc0 Binary files /dev/null and b/gfx/pokemon/back/kinglerb.png differ diff --git a/gfx/pokemon/back/koffingb.png b/gfx/pokemon/back/koffingb.png new file mode 100644 index 00000000..f3942061 Binary files /dev/null and b/gfx/pokemon/back/koffingb.png differ diff --git a/gfx/pokemon/back/krabbyb.png b/gfx/pokemon/back/krabbyb.png new file mode 100644 index 00000000..d2e72cf8 Binary files /dev/null and b/gfx/pokemon/back/krabbyb.png differ diff --git a/gfx/pokemon/back/laprasb.png b/gfx/pokemon/back/laprasb.png new file mode 100644 index 00000000..83e852f3 Binary files /dev/null and b/gfx/pokemon/back/laprasb.png differ diff --git a/gfx/pokemon/back/lickitungb.png b/gfx/pokemon/back/lickitungb.png new file mode 100644 index 00000000..34a8dc7f Binary files /dev/null and b/gfx/pokemon/back/lickitungb.png differ diff --git a/gfx/pokemon/back/machampb.png b/gfx/pokemon/back/machampb.png new file mode 100644 index 00000000..816584bc Binary files /dev/null and b/gfx/pokemon/back/machampb.png differ diff --git a/gfx/pokemon/back/machokeb.png b/gfx/pokemon/back/machokeb.png new file mode 100644 index 00000000..f621546f Binary files /dev/null and b/gfx/pokemon/back/machokeb.png differ diff --git a/gfx/pokemon/back/machopb.png b/gfx/pokemon/back/machopb.png new file mode 100644 index 00000000..154f9623 Binary files /dev/null and b/gfx/pokemon/back/machopb.png differ diff --git a/gfx/pokemon/back/magikarpb.png b/gfx/pokemon/back/magikarpb.png new file mode 100644 index 00000000..e4e93564 Binary files /dev/null and b/gfx/pokemon/back/magikarpb.png differ diff --git a/gfx/pokemon/back/magmarb.png b/gfx/pokemon/back/magmarb.png new file mode 100644 index 00000000..3278b43c Binary files /dev/null and b/gfx/pokemon/back/magmarb.png differ diff --git a/gfx/pokemon/back/magnemiteb.png b/gfx/pokemon/back/magnemiteb.png new file mode 100644 index 00000000..be2aeadb Binary files /dev/null and b/gfx/pokemon/back/magnemiteb.png differ diff --git a/gfx/pokemon/back/magnetonb.png b/gfx/pokemon/back/magnetonb.png new file mode 100644 index 00000000..19874b61 Binary files /dev/null and b/gfx/pokemon/back/magnetonb.png differ diff --git a/gfx/pokemon/back/mankeyb.png b/gfx/pokemon/back/mankeyb.png new file mode 100644 index 00000000..bba4907b Binary files /dev/null and b/gfx/pokemon/back/mankeyb.png differ diff --git a/gfx/pokemon/back/marowakb.png b/gfx/pokemon/back/marowakb.png new file mode 100644 index 00000000..62907099 Binary files /dev/null and b/gfx/pokemon/back/marowakb.png differ diff --git a/gfx/pokemon/back/meowthb.png b/gfx/pokemon/back/meowthb.png new file mode 100644 index 00000000..c9d7057b Binary files /dev/null and b/gfx/pokemon/back/meowthb.png differ diff --git a/gfx/pokemon/back/metapodb.png b/gfx/pokemon/back/metapodb.png new file mode 100644 index 00000000..db7d4e06 Binary files /dev/null and b/gfx/pokemon/back/metapodb.png differ diff --git a/gfx/pokemon/back/mewb.png b/gfx/pokemon/back/mewb.png new file mode 100644 index 00000000..89816a6f Binary files /dev/null and b/gfx/pokemon/back/mewb.png differ diff --git a/gfx/pokemon/back/mewtwob.png b/gfx/pokemon/back/mewtwob.png new file mode 100644 index 00000000..c57ffe5d Binary files /dev/null and b/gfx/pokemon/back/mewtwob.png differ diff --git a/gfx/pokemon/back/moltresb.png b/gfx/pokemon/back/moltresb.png new file mode 100644 index 00000000..992708c9 Binary files /dev/null and b/gfx/pokemon/back/moltresb.png differ diff --git a/gfx/pokemon/back/mr.mimeb.png b/gfx/pokemon/back/mr.mimeb.png new file mode 100644 index 00000000..3902dace Binary files /dev/null and b/gfx/pokemon/back/mr.mimeb.png differ diff --git a/gfx/pokemon/back/mukb.png b/gfx/pokemon/back/mukb.png new file mode 100644 index 00000000..9fcaab51 Binary files /dev/null and b/gfx/pokemon/back/mukb.png differ diff --git a/gfx/pokemon/back/nidokingb.png b/gfx/pokemon/back/nidokingb.png new file mode 100644 index 00000000..cfd9c689 Binary files /dev/null and b/gfx/pokemon/back/nidokingb.png differ diff --git a/gfx/pokemon/back/nidoqueenb.png b/gfx/pokemon/back/nidoqueenb.png new file mode 100644 index 00000000..c6114752 Binary files /dev/null and b/gfx/pokemon/back/nidoqueenb.png differ diff --git a/gfx/pokemon/back/nidoranfb.png b/gfx/pokemon/back/nidoranfb.png new file mode 100644 index 00000000..803ac656 Binary files /dev/null and b/gfx/pokemon/back/nidoranfb.png differ diff --git a/gfx/pokemon/back/nidoranmb.png b/gfx/pokemon/back/nidoranmb.png new file mode 100644 index 00000000..756fe9bf Binary files /dev/null and b/gfx/pokemon/back/nidoranmb.png differ diff --git a/gfx/pokemon/back/nidorinab.png b/gfx/pokemon/back/nidorinab.png new file mode 100644 index 00000000..7b369bcc Binary files /dev/null and b/gfx/pokemon/back/nidorinab.png differ diff --git a/gfx/pokemon/back/nidorinob.png b/gfx/pokemon/back/nidorinob.png new file mode 100644 index 00000000..a5df5095 Binary files /dev/null and b/gfx/pokemon/back/nidorinob.png differ diff --git a/gfx/pokemon/back/ninetalesb.png b/gfx/pokemon/back/ninetalesb.png new file mode 100644 index 00000000..8c5e5953 Binary files /dev/null and b/gfx/pokemon/back/ninetalesb.png differ diff --git a/gfx/pokemon/back/oddishb.png b/gfx/pokemon/back/oddishb.png new file mode 100644 index 00000000..022491c4 Binary files /dev/null and b/gfx/pokemon/back/oddishb.png differ diff --git a/gfx/pokemon/back/omanyteb.png b/gfx/pokemon/back/omanyteb.png new file mode 100644 index 00000000..fd3152e8 Binary files /dev/null and b/gfx/pokemon/back/omanyteb.png differ diff --git a/gfx/pokemon/back/omastarb.png b/gfx/pokemon/back/omastarb.png new file mode 100644 index 00000000..38defee4 Binary files /dev/null and b/gfx/pokemon/back/omastarb.png differ diff --git a/gfx/pokemon/back/onixb.png b/gfx/pokemon/back/onixb.png new file mode 100644 index 00000000..c2f35005 Binary files /dev/null and b/gfx/pokemon/back/onixb.png differ diff --git a/gfx/pokemon/back/parasb.png b/gfx/pokemon/back/parasb.png new file mode 100644 index 00000000..810cac1a Binary files /dev/null and b/gfx/pokemon/back/parasb.png differ diff --git a/gfx/pokemon/back/parasectb.png b/gfx/pokemon/back/parasectb.png new file mode 100644 index 00000000..1cbaade2 Binary files /dev/null and b/gfx/pokemon/back/parasectb.png differ diff --git a/gfx/pokemon/back/persianb.png b/gfx/pokemon/back/persianb.png new file mode 100644 index 00000000..6fe4545d Binary files /dev/null and b/gfx/pokemon/back/persianb.png differ diff --git a/gfx/pokemon/back/pidgeotb.png b/gfx/pokemon/back/pidgeotb.png new file mode 100644 index 00000000..06131268 Binary files /dev/null and b/gfx/pokemon/back/pidgeotb.png differ diff --git a/gfx/pokemon/back/pidgeottob.png b/gfx/pokemon/back/pidgeottob.png new file mode 100644 index 00000000..b7b5f707 Binary files /dev/null and b/gfx/pokemon/back/pidgeottob.png differ diff --git a/gfx/pokemon/back/pidgeyb.png b/gfx/pokemon/back/pidgeyb.png new file mode 100644 index 00000000..c7eec098 Binary files /dev/null and b/gfx/pokemon/back/pidgeyb.png differ diff --git a/gfx/pokemon/back/pikachub.png b/gfx/pokemon/back/pikachub.png new file mode 100644 index 00000000..a0cb1faf Binary files /dev/null and b/gfx/pokemon/back/pikachub.png differ diff --git a/gfx/pokemon/back/pinsirb.png b/gfx/pokemon/back/pinsirb.png new file mode 100644 index 00000000..14b65dc5 Binary files /dev/null and b/gfx/pokemon/back/pinsirb.png differ diff --git a/gfx/pokemon/back/poliwagb.png b/gfx/pokemon/back/poliwagb.png new file mode 100644 index 00000000..d46d804f Binary files /dev/null and b/gfx/pokemon/back/poliwagb.png differ diff --git a/gfx/pokemon/back/poliwhirlb.png b/gfx/pokemon/back/poliwhirlb.png new file mode 100644 index 00000000..0b078460 Binary files /dev/null and b/gfx/pokemon/back/poliwhirlb.png differ diff --git a/gfx/pokemon/back/poliwrathb.png b/gfx/pokemon/back/poliwrathb.png new file mode 100644 index 00000000..9d80eafc Binary files /dev/null and b/gfx/pokemon/back/poliwrathb.png differ diff --git a/gfx/pokemon/back/ponytab.png b/gfx/pokemon/back/ponytab.png new file mode 100644 index 00000000..1efc01af Binary files /dev/null and b/gfx/pokemon/back/ponytab.png differ diff --git a/gfx/pokemon/back/porygonb.png b/gfx/pokemon/back/porygonb.png new file mode 100644 index 00000000..c9f94319 Binary files /dev/null and b/gfx/pokemon/back/porygonb.png differ diff --git a/gfx/pokemon/back/primeapeb.png b/gfx/pokemon/back/primeapeb.png new file mode 100644 index 00000000..0a4da28f Binary files /dev/null and b/gfx/pokemon/back/primeapeb.png differ diff --git a/gfx/pokemon/back/psyduckb.png b/gfx/pokemon/back/psyduckb.png new file mode 100644 index 00000000..7d77dc75 Binary files /dev/null and b/gfx/pokemon/back/psyduckb.png differ diff --git a/gfx/pokemon/back/raichub.png b/gfx/pokemon/back/raichub.png new file mode 100644 index 00000000..3d8d93c7 Binary files /dev/null and b/gfx/pokemon/back/raichub.png differ diff --git a/gfx/pokemon/back/rapidashb.png b/gfx/pokemon/back/rapidashb.png new file mode 100644 index 00000000..36258b71 Binary files /dev/null and b/gfx/pokemon/back/rapidashb.png differ diff --git a/gfx/pokemon/back/raticateb.png b/gfx/pokemon/back/raticateb.png new file mode 100644 index 00000000..bbc1ac5a Binary files /dev/null and b/gfx/pokemon/back/raticateb.png differ diff --git a/gfx/pokemon/back/rattatab.png b/gfx/pokemon/back/rattatab.png new file mode 100644 index 00000000..e1aa812d Binary files /dev/null and b/gfx/pokemon/back/rattatab.png differ diff --git a/gfx/pokemon/back/rhydonb.png b/gfx/pokemon/back/rhydonb.png new file mode 100644 index 00000000..12a20582 Binary files /dev/null and b/gfx/pokemon/back/rhydonb.png differ diff --git a/gfx/pokemon/back/rhyhornb.png b/gfx/pokemon/back/rhyhornb.png new file mode 100644 index 00000000..88dc72c1 Binary files /dev/null and b/gfx/pokemon/back/rhyhornb.png differ diff --git a/gfx/pokemon/back/sandshrewb.png b/gfx/pokemon/back/sandshrewb.png new file mode 100644 index 00000000..439c59f0 Binary files /dev/null and b/gfx/pokemon/back/sandshrewb.png differ diff --git a/gfx/pokemon/back/sandslashb.png b/gfx/pokemon/back/sandslashb.png new file mode 100644 index 00000000..18a5490f Binary files /dev/null and b/gfx/pokemon/back/sandslashb.png differ diff --git a/gfx/pokemon/back/scytherb.png b/gfx/pokemon/back/scytherb.png new file mode 100644 index 00000000..d68204b0 Binary files /dev/null and b/gfx/pokemon/back/scytherb.png differ diff --git a/gfx/pokemon/back/seadrab.png b/gfx/pokemon/back/seadrab.png new file mode 100644 index 00000000..a7ab0daf Binary files /dev/null and b/gfx/pokemon/back/seadrab.png differ diff --git a/gfx/pokemon/back/seakingb.png b/gfx/pokemon/back/seakingb.png new file mode 100644 index 00000000..a46b61b8 Binary files /dev/null and b/gfx/pokemon/back/seakingb.png differ diff --git a/gfx/pokemon/back/seelb.png b/gfx/pokemon/back/seelb.png new file mode 100644 index 00000000..f8b1a190 Binary files /dev/null and b/gfx/pokemon/back/seelb.png differ diff --git a/gfx/pokemon/back/shellderb.png b/gfx/pokemon/back/shellderb.png new file mode 100644 index 00000000..e7288bf6 Binary files /dev/null and b/gfx/pokemon/back/shellderb.png differ diff --git a/gfx/pokemon/back/slowbrob.png b/gfx/pokemon/back/slowbrob.png new file mode 100644 index 00000000..d1a58548 Binary files /dev/null and b/gfx/pokemon/back/slowbrob.png differ diff --git a/gfx/pokemon/back/slowpokeb.png b/gfx/pokemon/back/slowpokeb.png new file mode 100644 index 00000000..ddb3a878 Binary files /dev/null and b/gfx/pokemon/back/slowpokeb.png differ diff --git a/gfx/pokemon/back/snorlaxb.png b/gfx/pokemon/back/snorlaxb.png new file mode 100644 index 00000000..ea704f80 Binary files /dev/null and b/gfx/pokemon/back/snorlaxb.png differ diff --git a/gfx/pokemon/back/spearowb.png b/gfx/pokemon/back/spearowb.png new file mode 100644 index 00000000..7bd385a9 Binary files /dev/null and b/gfx/pokemon/back/spearowb.png differ diff --git a/gfx/pokemon/back/squirtleb.png b/gfx/pokemon/back/squirtleb.png new file mode 100644 index 00000000..a5679293 Binary files /dev/null and b/gfx/pokemon/back/squirtleb.png differ diff --git a/gfx/pokemon/back/starmieb.png b/gfx/pokemon/back/starmieb.png new file mode 100644 index 00000000..f01303b8 Binary files /dev/null and b/gfx/pokemon/back/starmieb.png differ diff --git a/gfx/pokemon/back/staryub.png b/gfx/pokemon/back/staryub.png new file mode 100644 index 00000000..2e35efa8 Binary files /dev/null and b/gfx/pokemon/back/staryub.png differ diff --git a/gfx/pokemon/back/tangelab.png b/gfx/pokemon/back/tangelab.png new file mode 100644 index 00000000..cbb035d9 Binary files /dev/null and b/gfx/pokemon/back/tangelab.png differ diff --git a/gfx/pokemon/back/taurosb.png b/gfx/pokemon/back/taurosb.png new file mode 100644 index 00000000..9e835e80 Binary files /dev/null and b/gfx/pokemon/back/taurosb.png differ diff --git a/gfx/pokemon/back/tentacoolb.png b/gfx/pokemon/back/tentacoolb.png new file mode 100644 index 00000000..5aa3b9cd Binary files /dev/null and b/gfx/pokemon/back/tentacoolb.png differ diff --git a/gfx/pokemon/back/tentacruelb.png b/gfx/pokemon/back/tentacruelb.png new file mode 100644 index 00000000..8510367f Binary files /dev/null and b/gfx/pokemon/back/tentacruelb.png differ diff --git a/gfx/pokemon/back/vaporeonb.png b/gfx/pokemon/back/vaporeonb.png new file mode 100644 index 00000000..dd7f7818 Binary files /dev/null and b/gfx/pokemon/back/vaporeonb.png differ diff --git a/gfx/pokemon/back/venomothb.png b/gfx/pokemon/back/venomothb.png new file mode 100644 index 00000000..8282fa45 Binary files /dev/null and b/gfx/pokemon/back/venomothb.png differ diff --git a/gfx/pokemon/back/venonatb.png b/gfx/pokemon/back/venonatb.png new file mode 100644 index 00000000..1eafa547 Binary files /dev/null and b/gfx/pokemon/back/venonatb.png differ diff --git a/gfx/pokemon/back/venusaurb.png b/gfx/pokemon/back/venusaurb.png new file mode 100644 index 00000000..f0f85d44 Binary files /dev/null and b/gfx/pokemon/back/venusaurb.png differ diff --git a/gfx/pokemon/back/victreebelb.png b/gfx/pokemon/back/victreebelb.png new file mode 100644 index 00000000..7f1c8057 Binary files /dev/null and b/gfx/pokemon/back/victreebelb.png differ diff --git a/gfx/pokemon/back/vileplumeb.png b/gfx/pokemon/back/vileplumeb.png new file mode 100644 index 00000000..34ac2d95 Binary files /dev/null and b/gfx/pokemon/back/vileplumeb.png differ diff --git a/gfx/pokemon/back/voltorbb.png b/gfx/pokemon/back/voltorbb.png new file mode 100644 index 00000000..119bce73 Binary files /dev/null and b/gfx/pokemon/back/voltorbb.png differ diff --git a/gfx/pokemon/back/vulpixb.png b/gfx/pokemon/back/vulpixb.png new file mode 100644 index 00000000..29bb2ff9 Binary files /dev/null and b/gfx/pokemon/back/vulpixb.png differ diff --git a/gfx/pokemon/back/wartortleb.png b/gfx/pokemon/back/wartortleb.png new file mode 100644 index 00000000..d0e6ad69 Binary files /dev/null and b/gfx/pokemon/back/wartortleb.png differ diff --git a/gfx/pokemon/back/weedleb.png b/gfx/pokemon/back/weedleb.png new file mode 100644 index 00000000..2acaf4ee Binary files /dev/null and b/gfx/pokemon/back/weedleb.png differ diff --git a/gfx/pokemon/back/weepinbellb.png b/gfx/pokemon/back/weepinbellb.png new file mode 100644 index 00000000..6362db7e Binary files /dev/null and b/gfx/pokemon/back/weepinbellb.png differ diff --git a/gfx/pokemon/back/weezingb.png b/gfx/pokemon/back/weezingb.png new file mode 100644 index 00000000..20d59b12 Binary files /dev/null and b/gfx/pokemon/back/weezingb.png differ diff --git a/gfx/pokemon/back/wigglytuffb.png b/gfx/pokemon/back/wigglytuffb.png new file mode 100644 index 00000000..235bc319 Binary files /dev/null and b/gfx/pokemon/back/wigglytuffb.png differ diff --git a/gfx/pokemon/back/zapdosb.png b/gfx/pokemon/back/zapdosb.png new file mode 100644 index 00000000..72831372 Binary files /dev/null and b/gfx/pokemon/back/zapdosb.png differ diff --git a/gfx/pokemon/back/zubatb.png b/gfx/pokemon/back/zubatb.png new file mode 100644 index 00000000..2738acd8 Binary files /dev/null and b/gfx/pokemon/back/zubatb.png differ diff --git a/gfx/pokemon/front/abra.png b/gfx/pokemon/front/abra.png new file mode 100644 index 00000000..12045ee3 Binary files /dev/null and b/gfx/pokemon/front/abra.png differ diff --git a/gfx/pokemon/front/aerodactyl.png b/gfx/pokemon/front/aerodactyl.png new file mode 100644 index 00000000..4cbfdeeb Binary files /dev/null and b/gfx/pokemon/front/aerodactyl.png differ diff --git a/gfx/pokemon/front/alakazam.png b/gfx/pokemon/front/alakazam.png new file mode 100644 index 00000000..9c379b6a Binary files /dev/null and b/gfx/pokemon/front/alakazam.png differ diff --git a/gfx/pokemon/front/arbok.png b/gfx/pokemon/front/arbok.png new file mode 100644 index 00000000..bd8da001 Binary files /dev/null and b/gfx/pokemon/front/arbok.png differ diff --git a/gfx/pokemon/front/arcanine.png b/gfx/pokemon/front/arcanine.png new file mode 100644 index 00000000..5d25961d Binary files /dev/null and b/gfx/pokemon/front/arcanine.png differ diff --git a/gfx/pokemon/front/articuno.png b/gfx/pokemon/front/articuno.png new file mode 100644 index 00000000..66986add Binary files /dev/null and b/gfx/pokemon/front/articuno.png differ diff --git a/gfx/pokemon/front/beedrill.png b/gfx/pokemon/front/beedrill.png new file mode 100644 index 00000000..36b4a06f Binary files /dev/null and b/gfx/pokemon/front/beedrill.png differ diff --git a/gfx/pokemon/front/bellsprout.png b/gfx/pokemon/front/bellsprout.png new file mode 100644 index 00000000..e4fc5e18 Binary files /dev/null and b/gfx/pokemon/front/bellsprout.png differ diff --git a/gfx/pokemon/front/blastoise.png b/gfx/pokemon/front/blastoise.png new file mode 100644 index 00000000..2192b43a Binary files /dev/null and b/gfx/pokemon/front/blastoise.png differ diff --git a/gfx/pokemon/front/bulbasaur.png b/gfx/pokemon/front/bulbasaur.png new file mode 100644 index 00000000..a2a924c7 Binary files /dev/null and b/gfx/pokemon/front/bulbasaur.png differ diff --git a/gfx/pokemon/front/butterfree.png b/gfx/pokemon/front/butterfree.png new file mode 100644 index 00000000..8f1a69aa Binary files /dev/null and b/gfx/pokemon/front/butterfree.png differ diff --git a/gfx/pokemon/front/caterpie.png b/gfx/pokemon/front/caterpie.png new file mode 100644 index 00000000..8e1a49dd Binary files /dev/null and b/gfx/pokemon/front/caterpie.png differ diff --git a/gfx/pokemon/front/chansey.png b/gfx/pokemon/front/chansey.png new file mode 100644 index 00000000..832ba27c Binary files /dev/null and b/gfx/pokemon/front/chansey.png differ diff --git a/gfx/pokemon/front/charizard.png b/gfx/pokemon/front/charizard.png new file mode 100644 index 00000000..ad29e489 Binary files /dev/null and b/gfx/pokemon/front/charizard.png differ diff --git a/gfx/pokemon/front/charmander.png b/gfx/pokemon/front/charmander.png new file mode 100644 index 00000000..12d16f01 Binary files /dev/null and b/gfx/pokemon/front/charmander.png differ diff --git a/gfx/pokemon/front/charmeleon.png b/gfx/pokemon/front/charmeleon.png new file mode 100644 index 00000000..a5cff72f Binary files /dev/null and b/gfx/pokemon/front/charmeleon.png differ diff --git a/gfx/pokemon/front/clefable.png b/gfx/pokemon/front/clefable.png new file mode 100644 index 00000000..2fcfac0a Binary files /dev/null and b/gfx/pokemon/front/clefable.png differ diff --git a/gfx/pokemon/front/clefairy.png b/gfx/pokemon/front/clefairy.png new file mode 100644 index 00000000..5a7f3721 Binary files /dev/null and b/gfx/pokemon/front/clefairy.png differ diff --git a/gfx/pokemon/front/cloyster.png b/gfx/pokemon/front/cloyster.png new file mode 100644 index 00000000..71f63a7f Binary files /dev/null and b/gfx/pokemon/front/cloyster.png differ diff --git a/gfx/pokemon/front/cubone.png b/gfx/pokemon/front/cubone.png new file mode 100644 index 00000000..23e3a23a Binary files /dev/null and b/gfx/pokemon/front/cubone.png differ diff --git a/gfx/pokemon/front/dewgong.png b/gfx/pokemon/front/dewgong.png new file mode 100644 index 00000000..aac4e65c Binary files /dev/null and b/gfx/pokemon/front/dewgong.png differ diff --git a/gfx/pokemon/front/diglett.png b/gfx/pokemon/front/diglett.png new file mode 100644 index 00000000..f92ae5bc Binary files /dev/null and b/gfx/pokemon/front/diglett.png differ diff --git a/gfx/pokemon/front/ditto.png b/gfx/pokemon/front/ditto.png new file mode 100644 index 00000000..4485e6ec Binary files /dev/null and b/gfx/pokemon/front/ditto.png differ diff --git a/gfx/pokemon/front/dodrio.png b/gfx/pokemon/front/dodrio.png new file mode 100644 index 00000000..92e6839d Binary files /dev/null and b/gfx/pokemon/front/dodrio.png differ diff --git a/gfx/pokemon/front/doduo.png b/gfx/pokemon/front/doduo.png new file mode 100644 index 00000000..20cba7ba Binary files /dev/null and b/gfx/pokemon/front/doduo.png differ diff --git a/gfx/pokemon/front/dragonair.png b/gfx/pokemon/front/dragonair.png new file mode 100644 index 00000000..55d1ef5b Binary files /dev/null and b/gfx/pokemon/front/dragonair.png differ diff --git a/gfx/pokemon/front/dragonite.png b/gfx/pokemon/front/dragonite.png new file mode 100644 index 00000000..4c387c3e Binary files /dev/null and b/gfx/pokemon/front/dragonite.png differ diff --git a/gfx/pokemon/front/dratini.png b/gfx/pokemon/front/dratini.png new file mode 100644 index 00000000..9df332e4 Binary files /dev/null and b/gfx/pokemon/front/dratini.png differ diff --git a/gfx/pokemon/front/drowzee.png b/gfx/pokemon/front/drowzee.png new file mode 100644 index 00000000..cc85510b Binary files /dev/null and b/gfx/pokemon/front/drowzee.png differ diff --git a/gfx/pokemon/front/dugtrio.png b/gfx/pokemon/front/dugtrio.png new file mode 100644 index 00000000..433f95ef Binary files /dev/null and b/gfx/pokemon/front/dugtrio.png differ diff --git a/gfx/pokemon/front/eevee.png b/gfx/pokemon/front/eevee.png new file mode 100644 index 00000000..956f8ce0 Binary files /dev/null and b/gfx/pokemon/front/eevee.png differ diff --git a/gfx/pokemon/front/ekans.png b/gfx/pokemon/front/ekans.png new file mode 100644 index 00000000..6dffaf84 Binary files /dev/null and b/gfx/pokemon/front/ekans.png differ diff --git a/gfx/pokemon/front/electabuzz.png b/gfx/pokemon/front/electabuzz.png new file mode 100644 index 00000000..0ddccbe1 Binary files /dev/null and b/gfx/pokemon/front/electabuzz.png differ diff --git a/gfx/pokemon/front/electrode.png b/gfx/pokemon/front/electrode.png new file mode 100644 index 00000000..8df79e6a Binary files /dev/null and b/gfx/pokemon/front/electrode.png differ diff --git a/gfx/pokemon/front/exeggcute.png b/gfx/pokemon/front/exeggcute.png new file mode 100644 index 00000000..0ddf8e32 Binary files /dev/null and b/gfx/pokemon/front/exeggcute.png differ diff --git a/gfx/pokemon/front/exeggutor.png b/gfx/pokemon/front/exeggutor.png new file mode 100644 index 00000000..89ccbdc4 Binary files /dev/null and b/gfx/pokemon/front/exeggutor.png differ diff --git a/gfx/pokemon/front/farfetchd.png b/gfx/pokemon/front/farfetchd.png new file mode 100644 index 00000000..490e2b7c Binary files /dev/null and b/gfx/pokemon/front/farfetchd.png differ diff --git a/gfx/pokemon/front/fearow.png b/gfx/pokemon/front/fearow.png new file mode 100644 index 00000000..c2c65257 Binary files /dev/null and b/gfx/pokemon/front/fearow.png differ diff --git a/gfx/pokemon/front/flareon.png b/gfx/pokemon/front/flareon.png new file mode 100644 index 00000000..eadebd27 Binary files /dev/null and b/gfx/pokemon/front/flareon.png differ diff --git a/gfx/pokemon/front/fossilaerodactyl.png b/gfx/pokemon/front/fossilaerodactyl.png new file mode 100644 index 00000000..eb7fc3a3 Binary files /dev/null and b/gfx/pokemon/front/fossilaerodactyl.png differ diff --git a/gfx/pokemon/front/fossilkabutops.png b/gfx/pokemon/front/fossilkabutops.png new file mode 100644 index 00000000..dd8d41ea Binary files /dev/null and b/gfx/pokemon/front/fossilkabutops.png differ diff --git a/gfx/pokemon/front/gastly.png b/gfx/pokemon/front/gastly.png new file mode 100644 index 00000000..081b121d Binary files /dev/null and b/gfx/pokemon/front/gastly.png differ diff --git a/gfx/pokemon/front/gengar.png b/gfx/pokemon/front/gengar.png new file mode 100644 index 00000000..450662d7 Binary files /dev/null and b/gfx/pokemon/front/gengar.png differ diff --git a/gfx/pokemon/front/geodude.png b/gfx/pokemon/front/geodude.png new file mode 100644 index 00000000..4202192a Binary files /dev/null and b/gfx/pokemon/front/geodude.png differ diff --git a/gfx/pokemon/front/gloom.png b/gfx/pokemon/front/gloom.png new file mode 100644 index 00000000..c2ea9ba4 Binary files /dev/null and b/gfx/pokemon/front/gloom.png differ diff --git a/gfx/pokemon/front/golbat.png b/gfx/pokemon/front/golbat.png new file mode 100644 index 00000000..6abc6f0a Binary files /dev/null and b/gfx/pokemon/front/golbat.png differ diff --git a/gfx/pokemon/front/goldeen.png b/gfx/pokemon/front/goldeen.png new file mode 100644 index 00000000..e8cbfddc Binary files /dev/null and b/gfx/pokemon/front/goldeen.png differ diff --git a/gfx/pokemon/front/golduck.png b/gfx/pokemon/front/golduck.png new file mode 100644 index 00000000..5448f7c8 Binary files /dev/null and b/gfx/pokemon/front/golduck.png differ diff --git a/gfx/pokemon/front/golem.png b/gfx/pokemon/front/golem.png new file mode 100644 index 00000000..1dba6a67 Binary files /dev/null and b/gfx/pokemon/front/golem.png differ diff --git a/gfx/pokemon/front/graveler.png b/gfx/pokemon/front/graveler.png new file mode 100644 index 00000000..0d9da672 Binary files /dev/null and b/gfx/pokemon/front/graveler.png differ diff --git a/gfx/pokemon/front/grimer.png b/gfx/pokemon/front/grimer.png new file mode 100644 index 00000000..255b10b9 Binary files /dev/null and b/gfx/pokemon/front/grimer.png differ diff --git a/gfx/pokemon/front/growlithe.png b/gfx/pokemon/front/growlithe.png new file mode 100644 index 00000000..b753bce7 Binary files /dev/null and b/gfx/pokemon/front/growlithe.png differ diff --git a/gfx/pokemon/front/gyarados.png b/gfx/pokemon/front/gyarados.png new file mode 100644 index 00000000..a7ed0c17 Binary files /dev/null and b/gfx/pokemon/front/gyarados.png differ diff --git a/gfx/pokemon/front/haunter.png b/gfx/pokemon/front/haunter.png new file mode 100644 index 00000000..4d6c758d Binary files /dev/null and b/gfx/pokemon/front/haunter.png differ diff --git a/gfx/pokemon/front/hitmonchan.png b/gfx/pokemon/front/hitmonchan.png new file mode 100644 index 00000000..d8a6ffd3 Binary files /dev/null and b/gfx/pokemon/front/hitmonchan.png differ diff --git a/gfx/pokemon/front/hitmonlee.png b/gfx/pokemon/front/hitmonlee.png new file mode 100644 index 00000000..36042c68 Binary files /dev/null and b/gfx/pokemon/front/hitmonlee.png differ diff --git a/gfx/pokemon/front/horsea.png b/gfx/pokemon/front/horsea.png new file mode 100644 index 00000000..cd28df8c Binary files /dev/null and b/gfx/pokemon/front/horsea.png differ diff --git a/gfx/pokemon/front/hypno.png b/gfx/pokemon/front/hypno.png new file mode 100644 index 00000000..e7434ea4 Binary files /dev/null and b/gfx/pokemon/front/hypno.png differ diff --git a/gfx/pokemon/front/ivysaur.png b/gfx/pokemon/front/ivysaur.png new file mode 100644 index 00000000..dad10ae0 Binary files /dev/null and b/gfx/pokemon/front/ivysaur.png differ diff --git a/gfx/pokemon/front/jigglypuff.png b/gfx/pokemon/front/jigglypuff.png new file mode 100644 index 00000000..a5475777 Binary files /dev/null and b/gfx/pokemon/front/jigglypuff.png differ diff --git a/gfx/pokemon/front/jolteon.png b/gfx/pokemon/front/jolteon.png new file mode 100644 index 00000000..7ecd6fbb Binary files /dev/null and b/gfx/pokemon/front/jolteon.png differ diff --git a/gfx/pokemon/front/jynx.png b/gfx/pokemon/front/jynx.png new file mode 100644 index 00000000..583bd5da Binary files /dev/null and b/gfx/pokemon/front/jynx.png differ diff --git a/gfx/pokemon/front/kabuto.png b/gfx/pokemon/front/kabuto.png new file mode 100644 index 00000000..e8e44e15 Binary files /dev/null and b/gfx/pokemon/front/kabuto.png differ diff --git a/gfx/pokemon/front/kabutops.png b/gfx/pokemon/front/kabutops.png new file mode 100644 index 00000000..39fcb900 Binary files /dev/null and b/gfx/pokemon/front/kabutops.png differ diff --git a/gfx/pokemon/front/kadabra.png b/gfx/pokemon/front/kadabra.png new file mode 100644 index 00000000..36589440 Binary files /dev/null and b/gfx/pokemon/front/kadabra.png differ diff --git a/gfx/pokemon/front/kakuna.png b/gfx/pokemon/front/kakuna.png new file mode 100644 index 00000000..ee350ffd Binary files /dev/null and b/gfx/pokemon/front/kakuna.png differ diff --git a/gfx/pokemon/front/kangaskhan.png b/gfx/pokemon/front/kangaskhan.png new file mode 100644 index 00000000..1c0ba99c Binary files /dev/null and b/gfx/pokemon/front/kangaskhan.png differ diff --git a/gfx/pokemon/front/kingler.png b/gfx/pokemon/front/kingler.png new file mode 100644 index 00000000..b2bd7418 Binary files /dev/null and b/gfx/pokemon/front/kingler.png differ diff --git a/gfx/pokemon/front/koffing.png b/gfx/pokemon/front/koffing.png new file mode 100644 index 00000000..36961502 Binary files /dev/null and b/gfx/pokemon/front/koffing.png differ diff --git a/gfx/pokemon/front/krabby.png b/gfx/pokemon/front/krabby.png new file mode 100644 index 00000000..b280e8db Binary files /dev/null and b/gfx/pokemon/front/krabby.png differ diff --git a/gfx/pokemon/front/lapras.png b/gfx/pokemon/front/lapras.png new file mode 100644 index 00000000..822c00e9 Binary files /dev/null and b/gfx/pokemon/front/lapras.png differ diff --git a/gfx/pokemon/front/lickitung.png b/gfx/pokemon/front/lickitung.png new file mode 100644 index 00000000..050f7d23 Binary files /dev/null and b/gfx/pokemon/front/lickitung.png differ diff --git a/gfx/pokemon/front/machamp.png b/gfx/pokemon/front/machamp.png new file mode 100644 index 00000000..c854a2cf Binary files /dev/null and b/gfx/pokemon/front/machamp.png differ diff --git a/gfx/pokemon/front/machoke.png b/gfx/pokemon/front/machoke.png new file mode 100644 index 00000000..317dad96 Binary files /dev/null and b/gfx/pokemon/front/machoke.png differ diff --git a/gfx/pokemon/front/machop.png b/gfx/pokemon/front/machop.png new file mode 100644 index 00000000..63909c11 Binary files /dev/null and b/gfx/pokemon/front/machop.png differ diff --git a/gfx/pokemon/front/magikarp.png b/gfx/pokemon/front/magikarp.png new file mode 100644 index 00000000..e71402f8 Binary files /dev/null and b/gfx/pokemon/front/magikarp.png differ diff --git a/gfx/pokemon/front/magmar.png b/gfx/pokemon/front/magmar.png new file mode 100644 index 00000000..9bc1d929 Binary files /dev/null and b/gfx/pokemon/front/magmar.png differ diff --git a/gfx/pokemon/front/magnemite.png b/gfx/pokemon/front/magnemite.png new file mode 100644 index 00000000..f2254bed Binary files /dev/null and b/gfx/pokemon/front/magnemite.png differ diff --git a/gfx/pokemon/front/magneton.png b/gfx/pokemon/front/magneton.png new file mode 100644 index 00000000..4d0f2cc7 Binary files /dev/null and b/gfx/pokemon/front/magneton.png differ diff --git a/gfx/pokemon/front/mankey.png b/gfx/pokemon/front/mankey.png new file mode 100644 index 00000000..303ce1f2 Binary files /dev/null and b/gfx/pokemon/front/mankey.png differ diff --git a/gfx/pokemon/front/marowak.png b/gfx/pokemon/front/marowak.png new file mode 100644 index 00000000..b2d18437 Binary files /dev/null and b/gfx/pokemon/front/marowak.png differ diff --git a/gfx/pokemon/front/meowth.png b/gfx/pokemon/front/meowth.png new file mode 100644 index 00000000..0e706c35 Binary files /dev/null and b/gfx/pokemon/front/meowth.png differ diff --git a/gfx/pokemon/front/metapod.png b/gfx/pokemon/front/metapod.png new file mode 100644 index 00000000..cbfa6e1e Binary files /dev/null and b/gfx/pokemon/front/metapod.png differ diff --git a/gfx/pokemon/front/mew.png b/gfx/pokemon/front/mew.png new file mode 100644 index 00000000..7e25a96d Binary files /dev/null and b/gfx/pokemon/front/mew.png differ diff --git a/gfx/pokemon/front/mewtwo.png b/gfx/pokemon/front/mewtwo.png new file mode 100644 index 00000000..b7a31296 Binary files /dev/null and b/gfx/pokemon/front/mewtwo.png differ diff --git a/gfx/pokemon/front/moltres.png b/gfx/pokemon/front/moltres.png new file mode 100644 index 00000000..7c153998 Binary files /dev/null and b/gfx/pokemon/front/moltres.png differ diff --git a/gfx/pokemon/front/mr.mime.png b/gfx/pokemon/front/mr.mime.png new file mode 100644 index 00000000..d9085ec6 Binary files /dev/null and b/gfx/pokemon/front/mr.mime.png differ diff --git a/gfx/pokemon/front/muk.png b/gfx/pokemon/front/muk.png new file mode 100644 index 00000000..f69b83b7 Binary files /dev/null and b/gfx/pokemon/front/muk.png differ diff --git a/gfx/pokemon/front/nidoking.png b/gfx/pokemon/front/nidoking.png new file mode 100644 index 00000000..24330538 Binary files /dev/null and b/gfx/pokemon/front/nidoking.png differ diff --git a/gfx/pokemon/front/nidoqueen.png b/gfx/pokemon/front/nidoqueen.png new file mode 100644 index 00000000..c0043e1b Binary files /dev/null and b/gfx/pokemon/front/nidoqueen.png differ diff --git a/gfx/pokemon/front/nidoranf.png b/gfx/pokemon/front/nidoranf.png new file mode 100644 index 00000000..6b58b274 Binary files /dev/null and b/gfx/pokemon/front/nidoranf.png differ diff --git a/gfx/pokemon/front/nidoranm.png b/gfx/pokemon/front/nidoranm.png new file mode 100644 index 00000000..92d0cb49 Binary files /dev/null and b/gfx/pokemon/front/nidoranm.png differ diff --git a/gfx/pokemon/front/nidorina.png b/gfx/pokemon/front/nidorina.png new file mode 100644 index 00000000..68aca7c4 Binary files /dev/null and b/gfx/pokemon/front/nidorina.png differ diff --git a/gfx/pokemon/front/nidorino.png b/gfx/pokemon/front/nidorino.png new file mode 100644 index 00000000..795bf0c5 Binary files /dev/null and b/gfx/pokemon/front/nidorino.png differ diff --git a/gfx/pokemon/front/ninetales.png b/gfx/pokemon/front/ninetales.png new file mode 100644 index 00000000..ed6bb398 Binary files /dev/null and b/gfx/pokemon/front/ninetales.png differ diff --git a/gfx/pokemon/front/oddish.png b/gfx/pokemon/front/oddish.png new file mode 100644 index 00000000..e47dabe1 Binary files /dev/null and b/gfx/pokemon/front/oddish.png differ diff --git a/gfx/pokemon/front/omanyte.png b/gfx/pokemon/front/omanyte.png new file mode 100644 index 00000000..bdfa5440 Binary files /dev/null and b/gfx/pokemon/front/omanyte.png differ diff --git a/gfx/pokemon/front/omastar.png b/gfx/pokemon/front/omastar.png new file mode 100644 index 00000000..3221d3d8 Binary files /dev/null and b/gfx/pokemon/front/omastar.png differ diff --git a/gfx/pokemon/front/onix.png b/gfx/pokemon/front/onix.png new file mode 100644 index 00000000..44a21a61 Binary files /dev/null and b/gfx/pokemon/front/onix.png differ diff --git a/gfx/pokemon/front/paras.png b/gfx/pokemon/front/paras.png new file mode 100644 index 00000000..f4909bbd Binary files /dev/null and b/gfx/pokemon/front/paras.png differ diff --git a/gfx/pokemon/front/parasect.png b/gfx/pokemon/front/parasect.png new file mode 100644 index 00000000..938bf53b Binary files /dev/null and b/gfx/pokemon/front/parasect.png differ diff --git a/gfx/pokemon/front/persian.png b/gfx/pokemon/front/persian.png new file mode 100644 index 00000000..cc15677a Binary files /dev/null and b/gfx/pokemon/front/persian.png differ diff --git a/gfx/pokemon/front/pidgeot.png b/gfx/pokemon/front/pidgeot.png new file mode 100644 index 00000000..7daf609f Binary files /dev/null and b/gfx/pokemon/front/pidgeot.png differ diff --git a/gfx/pokemon/front/pidgeotto.png b/gfx/pokemon/front/pidgeotto.png new file mode 100644 index 00000000..c86b86f1 Binary files /dev/null and b/gfx/pokemon/front/pidgeotto.png differ diff --git a/gfx/pokemon/front/pidgey.png b/gfx/pokemon/front/pidgey.png new file mode 100644 index 00000000..70d9dd4a Binary files /dev/null and b/gfx/pokemon/front/pidgey.png differ diff --git a/gfx/pokemon/front/pikachu.png b/gfx/pokemon/front/pikachu.png new file mode 100644 index 00000000..159e47e9 Binary files /dev/null and b/gfx/pokemon/front/pikachu.png differ diff --git a/gfx/pokemon/front/pinsir.png b/gfx/pokemon/front/pinsir.png new file mode 100644 index 00000000..320c79cb Binary files /dev/null and b/gfx/pokemon/front/pinsir.png differ diff --git a/gfx/pokemon/front/poliwag.png b/gfx/pokemon/front/poliwag.png new file mode 100644 index 00000000..397d2e66 Binary files /dev/null and b/gfx/pokemon/front/poliwag.png differ diff --git a/gfx/pokemon/front/poliwhirl.png b/gfx/pokemon/front/poliwhirl.png new file mode 100644 index 00000000..a7039145 Binary files /dev/null and b/gfx/pokemon/front/poliwhirl.png differ diff --git a/gfx/pokemon/front/poliwrath.png b/gfx/pokemon/front/poliwrath.png new file mode 100644 index 00000000..f31d0680 Binary files /dev/null and b/gfx/pokemon/front/poliwrath.png differ diff --git a/gfx/pokemon/front/ponyta.png b/gfx/pokemon/front/ponyta.png new file mode 100644 index 00000000..4d8c1bee Binary files /dev/null and b/gfx/pokemon/front/ponyta.png differ diff --git a/gfx/pokemon/front/porygon.png b/gfx/pokemon/front/porygon.png new file mode 100644 index 00000000..ba3500c6 Binary files /dev/null and b/gfx/pokemon/front/porygon.png differ diff --git a/gfx/pokemon/front/primeape.png b/gfx/pokemon/front/primeape.png new file mode 100644 index 00000000..7c5a1a09 Binary files /dev/null and b/gfx/pokemon/front/primeape.png differ diff --git a/gfx/pokemon/front/psyduck.png b/gfx/pokemon/front/psyduck.png new file mode 100644 index 00000000..86772256 Binary files /dev/null and b/gfx/pokemon/front/psyduck.png differ diff --git a/gfx/pokemon/front/raichu.png b/gfx/pokemon/front/raichu.png new file mode 100644 index 00000000..a29731e5 Binary files /dev/null and b/gfx/pokemon/front/raichu.png differ diff --git a/gfx/pokemon/front/rapidash.png b/gfx/pokemon/front/rapidash.png new file mode 100644 index 00000000..62d47506 Binary files /dev/null and b/gfx/pokemon/front/rapidash.png differ diff --git a/gfx/pokemon/front/raticate.png b/gfx/pokemon/front/raticate.png new file mode 100644 index 00000000..64340846 Binary files /dev/null and b/gfx/pokemon/front/raticate.png differ diff --git a/gfx/pokemon/front/rattata.png b/gfx/pokemon/front/rattata.png new file mode 100644 index 00000000..9b391cca Binary files /dev/null and b/gfx/pokemon/front/rattata.png differ diff --git a/gfx/pokemon/front/rhydon.png b/gfx/pokemon/front/rhydon.png new file mode 100644 index 00000000..92406476 Binary files /dev/null and b/gfx/pokemon/front/rhydon.png differ diff --git a/gfx/pokemon/front/rhyhorn.png b/gfx/pokemon/front/rhyhorn.png new file mode 100644 index 00000000..9452b701 Binary files /dev/null and b/gfx/pokemon/front/rhyhorn.png differ diff --git a/gfx/pokemon/front/sandshrew.png b/gfx/pokemon/front/sandshrew.png new file mode 100644 index 00000000..bcf52215 Binary files /dev/null and b/gfx/pokemon/front/sandshrew.png differ diff --git a/gfx/pokemon/front/sandslash.png b/gfx/pokemon/front/sandslash.png new file mode 100644 index 00000000..3b212a60 Binary files /dev/null and b/gfx/pokemon/front/sandslash.png differ diff --git a/gfx/pokemon/front/scyther.png b/gfx/pokemon/front/scyther.png new file mode 100644 index 00000000..3fe6eeae Binary files /dev/null and b/gfx/pokemon/front/scyther.png differ diff --git a/gfx/pokemon/front/seadra.png b/gfx/pokemon/front/seadra.png new file mode 100644 index 00000000..e8af292f Binary files /dev/null and b/gfx/pokemon/front/seadra.png differ diff --git a/gfx/pokemon/front/seaking.png b/gfx/pokemon/front/seaking.png new file mode 100644 index 00000000..ebe70c7e Binary files /dev/null and b/gfx/pokemon/front/seaking.png differ diff --git a/gfx/pokemon/front/seel.png b/gfx/pokemon/front/seel.png new file mode 100644 index 00000000..c4b2315a Binary files /dev/null and b/gfx/pokemon/front/seel.png differ diff --git a/gfx/pokemon/front/shellder.png b/gfx/pokemon/front/shellder.png new file mode 100644 index 00000000..cf44a7fe Binary files /dev/null and b/gfx/pokemon/front/shellder.png differ diff --git a/gfx/pokemon/front/slowbro.png b/gfx/pokemon/front/slowbro.png new file mode 100644 index 00000000..e61ad34b Binary files /dev/null and b/gfx/pokemon/front/slowbro.png differ diff --git a/gfx/pokemon/front/slowpoke.png b/gfx/pokemon/front/slowpoke.png new file mode 100644 index 00000000..fdf701d7 Binary files /dev/null and b/gfx/pokemon/front/slowpoke.png differ diff --git a/gfx/pokemon/front/snorlax.png b/gfx/pokemon/front/snorlax.png new file mode 100644 index 00000000..5b571a18 Binary files /dev/null and b/gfx/pokemon/front/snorlax.png differ diff --git a/gfx/pokemon/front/spearow.png b/gfx/pokemon/front/spearow.png new file mode 100644 index 00000000..835800a5 Binary files /dev/null and b/gfx/pokemon/front/spearow.png differ diff --git a/gfx/pokemon/front/squirtle.png b/gfx/pokemon/front/squirtle.png new file mode 100644 index 00000000..bc0c9979 Binary files /dev/null and b/gfx/pokemon/front/squirtle.png differ diff --git a/gfx/pokemon/front/starmie.png b/gfx/pokemon/front/starmie.png new file mode 100644 index 00000000..24025ddf Binary files /dev/null and b/gfx/pokemon/front/starmie.png differ diff --git a/gfx/pokemon/front/staryu.png b/gfx/pokemon/front/staryu.png new file mode 100644 index 00000000..394732e9 Binary files /dev/null and b/gfx/pokemon/front/staryu.png differ diff --git a/gfx/pokemon/front/tangela.png b/gfx/pokemon/front/tangela.png new file mode 100644 index 00000000..eff9c5a5 Binary files /dev/null and b/gfx/pokemon/front/tangela.png differ diff --git a/gfx/pokemon/front/tauros.png b/gfx/pokemon/front/tauros.png new file mode 100644 index 00000000..3a4edfee Binary files /dev/null and b/gfx/pokemon/front/tauros.png differ diff --git a/gfx/pokemon/front/tentacool.png b/gfx/pokemon/front/tentacool.png new file mode 100644 index 00000000..534e5496 Binary files /dev/null and b/gfx/pokemon/front/tentacool.png differ diff --git a/gfx/pokemon/front/tentacruel.png b/gfx/pokemon/front/tentacruel.png new file mode 100644 index 00000000..7a26a305 Binary files /dev/null and b/gfx/pokemon/front/tentacruel.png differ diff --git a/gfx/pokemon/front/vaporeon.png b/gfx/pokemon/front/vaporeon.png new file mode 100644 index 00000000..48dafce6 Binary files /dev/null and b/gfx/pokemon/front/vaporeon.png differ diff --git a/gfx/pokemon/front/venomoth.png b/gfx/pokemon/front/venomoth.png new file mode 100644 index 00000000..e28b1017 Binary files /dev/null and b/gfx/pokemon/front/venomoth.png differ diff --git a/gfx/pokemon/front/venonat.png b/gfx/pokemon/front/venonat.png new file mode 100644 index 00000000..edf15889 Binary files /dev/null and b/gfx/pokemon/front/venonat.png differ diff --git a/gfx/pokemon/front/venusaur.png b/gfx/pokemon/front/venusaur.png new file mode 100644 index 00000000..dd39184a Binary files /dev/null and b/gfx/pokemon/front/venusaur.png differ diff --git a/gfx/pokemon/front/victreebel.png b/gfx/pokemon/front/victreebel.png new file mode 100644 index 00000000..29a471c8 Binary files /dev/null and b/gfx/pokemon/front/victreebel.png differ diff --git a/gfx/pokemon/front/vileplume.png b/gfx/pokemon/front/vileplume.png new file mode 100644 index 00000000..e788425e Binary files /dev/null and b/gfx/pokemon/front/vileplume.png differ diff --git a/gfx/pokemon/front/voltorb.png b/gfx/pokemon/front/voltorb.png new file mode 100644 index 00000000..22d0c675 Binary files /dev/null and b/gfx/pokemon/front/voltorb.png differ diff --git a/gfx/pokemon/front/vulpix.png b/gfx/pokemon/front/vulpix.png new file mode 100644 index 00000000..f4780ef2 Binary files /dev/null and b/gfx/pokemon/front/vulpix.png differ diff --git a/gfx/pokemon/front/wartortle.png b/gfx/pokemon/front/wartortle.png new file mode 100644 index 00000000..bd844562 Binary files /dev/null and b/gfx/pokemon/front/wartortle.png differ diff --git a/gfx/pokemon/front/weedle.png b/gfx/pokemon/front/weedle.png new file mode 100644 index 00000000..445fe8f3 Binary files /dev/null and b/gfx/pokemon/front/weedle.png differ diff --git a/gfx/pokemon/front/weepinbell.png b/gfx/pokemon/front/weepinbell.png new file mode 100644 index 00000000..6ee57334 Binary files /dev/null and b/gfx/pokemon/front/weepinbell.png differ diff --git a/gfx/pokemon/front/weezing.png b/gfx/pokemon/front/weezing.png new file mode 100644 index 00000000..deb2a623 Binary files /dev/null and b/gfx/pokemon/front/weezing.png differ diff --git a/gfx/pokemon/front/wigglytuff.png b/gfx/pokemon/front/wigglytuff.png new file mode 100644 index 00000000..c7cd495b Binary files /dev/null and b/gfx/pokemon/front/wigglytuff.png differ diff --git a/gfx/pokemon/front/zapdos.png b/gfx/pokemon/front/zapdos.png new file mode 100644 index 00000000..0bd71f4e Binary files /dev/null and b/gfx/pokemon/front/zapdos.png differ diff --git a/gfx/pokemon/front/zubat.png b/gfx/pokemon/front/zubat.png new file mode 100644 index 00000000..73078725 Binary files /dev/null and b/gfx/pokemon/front/zubat.png differ diff --git a/gfx/pokemon/front_rg/abra.png b/gfx/pokemon/front_rg/abra.png new file mode 100644 index 00000000..bc0cb24b Binary files /dev/null and b/gfx/pokemon/front_rg/abra.png differ diff --git a/gfx/pokemon/front_rg/aerodactyl.png b/gfx/pokemon/front_rg/aerodactyl.png new file mode 100644 index 00000000..89812b32 Binary files /dev/null and b/gfx/pokemon/front_rg/aerodactyl.png differ diff --git a/gfx/pokemon/front_rg/alakazam.png b/gfx/pokemon/front_rg/alakazam.png new file mode 100644 index 00000000..3a8b32d1 Binary files /dev/null and b/gfx/pokemon/front_rg/alakazam.png differ diff --git a/gfx/pokemon/front_rg/arbok.png b/gfx/pokemon/front_rg/arbok.png new file mode 100644 index 00000000..dab294f5 Binary files /dev/null and b/gfx/pokemon/front_rg/arbok.png differ diff --git a/gfx/pokemon/front_rg/arcanine.png b/gfx/pokemon/front_rg/arcanine.png new file mode 100644 index 00000000..0149138b Binary files /dev/null and b/gfx/pokemon/front_rg/arcanine.png differ diff --git a/gfx/pokemon/front_rg/articuno.png b/gfx/pokemon/front_rg/articuno.png new file mode 100644 index 00000000..99b6385d Binary files /dev/null and b/gfx/pokemon/front_rg/articuno.png differ diff --git a/gfx/pokemon/front_rg/beedrill.png b/gfx/pokemon/front_rg/beedrill.png new file mode 100644 index 00000000..b6f31036 Binary files /dev/null and b/gfx/pokemon/front_rg/beedrill.png differ diff --git a/gfx/pokemon/front_rg/bellsprout.png b/gfx/pokemon/front_rg/bellsprout.png new file mode 100644 index 00000000..380913d5 Binary files /dev/null and b/gfx/pokemon/front_rg/bellsprout.png differ diff --git a/gfx/pokemon/front_rg/blastoise.png b/gfx/pokemon/front_rg/blastoise.png new file mode 100644 index 00000000..97bf497b Binary files /dev/null and b/gfx/pokemon/front_rg/blastoise.png differ diff --git a/gfx/pokemon/front_rg/bulbasaur.png b/gfx/pokemon/front_rg/bulbasaur.png new file mode 100644 index 00000000..1a4676a1 Binary files /dev/null and b/gfx/pokemon/front_rg/bulbasaur.png differ diff --git a/gfx/pokemon/front_rg/butterfree.png b/gfx/pokemon/front_rg/butterfree.png new file mode 100644 index 00000000..0b3044d4 Binary files /dev/null and b/gfx/pokemon/front_rg/butterfree.png differ diff --git a/gfx/pokemon/front_rg/caterpie.png b/gfx/pokemon/front_rg/caterpie.png new file mode 100644 index 00000000..dca52b88 Binary files /dev/null and b/gfx/pokemon/front_rg/caterpie.png differ diff --git a/gfx/pokemon/front_rg/chansey.png b/gfx/pokemon/front_rg/chansey.png new file mode 100644 index 00000000..fa47540e Binary files /dev/null and b/gfx/pokemon/front_rg/chansey.png differ diff --git a/gfx/pokemon/front_rg/charizard.png b/gfx/pokemon/front_rg/charizard.png new file mode 100644 index 00000000..a8b87e05 Binary files /dev/null and b/gfx/pokemon/front_rg/charizard.png differ diff --git a/gfx/pokemon/front_rg/charmander.png b/gfx/pokemon/front_rg/charmander.png new file mode 100644 index 00000000..153f9381 Binary files /dev/null and b/gfx/pokemon/front_rg/charmander.png differ diff --git a/gfx/pokemon/front_rg/charmeleon.png b/gfx/pokemon/front_rg/charmeleon.png new file mode 100644 index 00000000..f60d1294 Binary files /dev/null and b/gfx/pokemon/front_rg/charmeleon.png differ diff --git a/gfx/pokemon/front_rg/clefable.png b/gfx/pokemon/front_rg/clefable.png new file mode 100644 index 00000000..8ef6be5f Binary files /dev/null and b/gfx/pokemon/front_rg/clefable.png differ diff --git a/gfx/pokemon/front_rg/clefairy.png b/gfx/pokemon/front_rg/clefairy.png new file mode 100644 index 00000000..632844d5 Binary files /dev/null and b/gfx/pokemon/front_rg/clefairy.png differ diff --git a/gfx/pokemon/front_rg/cloyster.png b/gfx/pokemon/front_rg/cloyster.png new file mode 100644 index 00000000..b6e16485 Binary files /dev/null and b/gfx/pokemon/front_rg/cloyster.png differ diff --git a/gfx/pokemon/front_rg/cubone.png b/gfx/pokemon/front_rg/cubone.png new file mode 100644 index 00000000..1312b7c7 Binary files /dev/null and b/gfx/pokemon/front_rg/cubone.png differ diff --git a/gfx/pokemon/front_rg/dewgong.png b/gfx/pokemon/front_rg/dewgong.png new file mode 100644 index 00000000..823b7125 Binary files /dev/null and b/gfx/pokemon/front_rg/dewgong.png differ diff --git a/gfx/pokemon/front_rg/diglett.png b/gfx/pokemon/front_rg/diglett.png new file mode 100644 index 00000000..69b93a90 Binary files /dev/null and b/gfx/pokemon/front_rg/diglett.png differ diff --git a/gfx/pokemon/front_rg/ditto.png b/gfx/pokemon/front_rg/ditto.png new file mode 100644 index 00000000..1a38c474 Binary files /dev/null and b/gfx/pokemon/front_rg/ditto.png differ diff --git a/gfx/pokemon/front_rg/dodrio.png b/gfx/pokemon/front_rg/dodrio.png new file mode 100644 index 00000000..c88fa388 Binary files /dev/null and b/gfx/pokemon/front_rg/dodrio.png differ diff --git a/gfx/pokemon/front_rg/doduo.png b/gfx/pokemon/front_rg/doduo.png new file mode 100644 index 00000000..c95aae73 Binary files /dev/null and b/gfx/pokemon/front_rg/doduo.png differ diff --git a/gfx/pokemon/front_rg/dragonair.png b/gfx/pokemon/front_rg/dragonair.png new file mode 100644 index 00000000..fe097cfa Binary files /dev/null and b/gfx/pokemon/front_rg/dragonair.png differ diff --git a/gfx/pokemon/front_rg/dragonite.png b/gfx/pokemon/front_rg/dragonite.png new file mode 100644 index 00000000..49474a4d Binary files /dev/null and b/gfx/pokemon/front_rg/dragonite.png differ diff --git a/gfx/pokemon/front_rg/dratini.png b/gfx/pokemon/front_rg/dratini.png new file mode 100644 index 00000000..9c7e454d Binary files /dev/null and b/gfx/pokemon/front_rg/dratini.png differ diff --git a/gfx/pokemon/front_rg/drowzee.png b/gfx/pokemon/front_rg/drowzee.png new file mode 100644 index 00000000..b8cdf0db Binary files /dev/null and b/gfx/pokemon/front_rg/drowzee.png differ diff --git a/gfx/pokemon/front_rg/dugtrio.png b/gfx/pokemon/front_rg/dugtrio.png new file mode 100644 index 00000000..1619ab92 Binary files /dev/null and b/gfx/pokemon/front_rg/dugtrio.png differ diff --git a/gfx/pokemon/front_rg/eevee.png b/gfx/pokemon/front_rg/eevee.png new file mode 100644 index 00000000..b8fcab5a Binary files /dev/null and b/gfx/pokemon/front_rg/eevee.png differ diff --git a/gfx/pokemon/front_rg/ekans.png b/gfx/pokemon/front_rg/ekans.png new file mode 100644 index 00000000..cd43c69c Binary files /dev/null and b/gfx/pokemon/front_rg/ekans.png differ diff --git a/gfx/pokemon/front_rg/electabuzz.png b/gfx/pokemon/front_rg/electabuzz.png new file mode 100644 index 00000000..24791e64 Binary files /dev/null and b/gfx/pokemon/front_rg/electabuzz.png differ diff --git a/gfx/pokemon/front_rg/electrode.png b/gfx/pokemon/front_rg/electrode.png new file mode 100644 index 00000000..ff812003 Binary files /dev/null and b/gfx/pokemon/front_rg/electrode.png differ diff --git a/gfx/pokemon/front_rg/exeggcute.png b/gfx/pokemon/front_rg/exeggcute.png new file mode 100644 index 00000000..63b55927 Binary files /dev/null and b/gfx/pokemon/front_rg/exeggcute.png differ diff --git a/gfx/pokemon/front_rg/exeggutor.png b/gfx/pokemon/front_rg/exeggutor.png new file mode 100644 index 00000000..dc1f7287 Binary files /dev/null and b/gfx/pokemon/front_rg/exeggutor.png differ diff --git a/gfx/pokemon/front_rg/farfetchd.png b/gfx/pokemon/front_rg/farfetchd.png new file mode 100644 index 00000000..bd97b9e8 Binary files /dev/null and b/gfx/pokemon/front_rg/farfetchd.png differ diff --git a/gfx/pokemon/front_rg/fearow.png b/gfx/pokemon/front_rg/fearow.png new file mode 100644 index 00000000..93d7a847 Binary files /dev/null and b/gfx/pokemon/front_rg/fearow.png differ diff --git a/gfx/pokemon/front_rg/flareon.png b/gfx/pokemon/front_rg/flareon.png new file mode 100644 index 00000000..7a39866a Binary files /dev/null and b/gfx/pokemon/front_rg/flareon.png differ diff --git a/gfx/pokemon/front_rg/fossilaerodactyl.png b/gfx/pokemon/front_rg/fossilaerodactyl.png new file mode 100644 index 00000000..27d5c3ac Binary files /dev/null and b/gfx/pokemon/front_rg/fossilaerodactyl.png differ diff --git a/gfx/pokemon/front_rg/fossilkabutops.png b/gfx/pokemon/front_rg/fossilkabutops.png new file mode 100644 index 00000000..d37edb02 Binary files /dev/null and b/gfx/pokemon/front_rg/fossilkabutops.png differ diff --git a/gfx/pokemon/front_rg/gastly.png b/gfx/pokemon/front_rg/gastly.png new file mode 100644 index 00000000..a5c0f406 Binary files /dev/null and b/gfx/pokemon/front_rg/gastly.png differ diff --git a/gfx/pokemon/front_rg/gengar.png b/gfx/pokemon/front_rg/gengar.png new file mode 100644 index 00000000..cb31fecf Binary files /dev/null and b/gfx/pokemon/front_rg/gengar.png differ diff --git a/gfx/pokemon/front_rg/geodude.png b/gfx/pokemon/front_rg/geodude.png new file mode 100644 index 00000000..02b690e9 Binary files /dev/null and b/gfx/pokemon/front_rg/geodude.png differ diff --git a/gfx/pokemon/front_rg/gloom.png b/gfx/pokemon/front_rg/gloom.png new file mode 100644 index 00000000..c2fd2aa7 Binary files /dev/null and b/gfx/pokemon/front_rg/gloom.png differ diff --git a/gfx/pokemon/front_rg/golbat.png b/gfx/pokemon/front_rg/golbat.png new file mode 100644 index 00000000..1fb2a341 Binary files /dev/null and b/gfx/pokemon/front_rg/golbat.png differ diff --git a/gfx/pokemon/front_rg/goldeen.png b/gfx/pokemon/front_rg/goldeen.png new file mode 100644 index 00000000..bee7de2a Binary files /dev/null and b/gfx/pokemon/front_rg/goldeen.png differ diff --git a/gfx/pokemon/front_rg/golduck.png b/gfx/pokemon/front_rg/golduck.png new file mode 100644 index 00000000..a0827b54 Binary files /dev/null and b/gfx/pokemon/front_rg/golduck.png differ diff --git a/gfx/pokemon/front_rg/golem.png b/gfx/pokemon/front_rg/golem.png new file mode 100644 index 00000000..86ea3c68 Binary files /dev/null and b/gfx/pokemon/front_rg/golem.png differ diff --git a/gfx/pokemon/front_rg/graveler.png b/gfx/pokemon/front_rg/graveler.png new file mode 100644 index 00000000..5e876f0b Binary files /dev/null and b/gfx/pokemon/front_rg/graveler.png differ diff --git a/gfx/pokemon/front_rg/grimer.png b/gfx/pokemon/front_rg/grimer.png new file mode 100644 index 00000000..cc6931fb Binary files /dev/null and b/gfx/pokemon/front_rg/grimer.png differ diff --git a/gfx/pokemon/front_rg/growlithe.png b/gfx/pokemon/front_rg/growlithe.png new file mode 100644 index 00000000..1aafd535 Binary files /dev/null and b/gfx/pokemon/front_rg/growlithe.png differ diff --git a/gfx/pokemon/front_rg/gyarados.png b/gfx/pokemon/front_rg/gyarados.png new file mode 100644 index 00000000..4d25aabb Binary files /dev/null and b/gfx/pokemon/front_rg/gyarados.png differ diff --git a/gfx/pokemon/front_rg/haunter.png b/gfx/pokemon/front_rg/haunter.png new file mode 100644 index 00000000..531c8a62 Binary files /dev/null and b/gfx/pokemon/front_rg/haunter.png differ diff --git a/gfx/pokemon/front_rg/hitmonchan.png b/gfx/pokemon/front_rg/hitmonchan.png new file mode 100644 index 00000000..1774dd18 Binary files /dev/null and b/gfx/pokemon/front_rg/hitmonchan.png differ diff --git a/gfx/pokemon/front_rg/hitmonlee.png b/gfx/pokemon/front_rg/hitmonlee.png new file mode 100644 index 00000000..04ca9be3 Binary files /dev/null and b/gfx/pokemon/front_rg/hitmonlee.png differ diff --git a/gfx/pokemon/front_rg/horsea.png b/gfx/pokemon/front_rg/horsea.png new file mode 100644 index 00000000..0d11d78c Binary files /dev/null and b/gfx/pokemon/front_rg/horsea.png differ diff --git a/gfx/pokemon/front_rg/hypno.png b/gfx/pokemon/front_rg/hypno.png new file mode 100644 index 00000000..f29559c2 Binary files /dev/null and b/gfx/pokemon/front_rg/hypno.png differ diff --git a/gfx/pokemon/front_rg/ivysaur.png b/gfx/pokemon/front_rg/ivysaur.png new file mode 100644 index 00000000..337bc27d Binary files /dev/null and b/gfx/pokemon/front_rg/ivysaur.png differ diff --git a/gfx/pokemon/front_rg/jigglypuff.png b/gfx/pokemon/front_rg/jigglypuff.png new file mode 100644 index 00000000..607c429e Binary files /dev/null and b/gfx/pokemon/front_rg/jigglypuff.png differ diff --git a/gfx/pokemon/front_rg/jolteon.png b/gfx/pokemon/front_rg/jolteon.png new file mode 100644 index 00000000..fab34a30 Binary files /dev/null and b/gfx/pokemon/front_rg/jolteon.png differ diff --git a/gfx/pokemon/front_rg/jynx.png b/gfx/pokemon/front_rg/jynx.png new file mode 100644 index 00000000..6966ce34 Binary files /dev/null and b/gfx/pokemon/front_rg/jynx.png differ diff --git a/gfx/pokemon/front_rg/kabuto.png b/gfx/pokemon/front_rg/kabuto.png new file mode 100644 index 00000000..b8923ad7 Binary files /dev/null and b/gfx/pokemon/front_rg/kabuto.png differ diff --git a/gfx/pokemon/front_rg/kabutops.png b/gfx/pokemon/front_rg/kabutops.png new file mode 100644 index 00000000..0f33c4d0 Binary files /dev/null and b/gfx/pokemon/front_rg/kabutops.png differ diff --git a/gfx/pokemon/front_rg/kadabra.png b/gfx/pokemon/front_rg/kadabra.png new file mode 100644 index 00000000..8b8abc1a Binary files /dev/null and b/gfx/pokemon/front_rg/kadabra.png differ diff --git a/gfx/pokemon/front_rg/kakuna.png b/gfx/pokemon/front_rg/kakuna.png new file mode 100644 index 00000000..0cc6eabf Binary files /dev/null and b/gfx/pokemon/front_rg/kakuna.png differ diff --git a/gfx/pokemon/front_rg/kangaskhan.png b/gfx/pokemon/front_rg/kangaskhan.png new file mode 100644 index 00000000..c9d3361d Binary files /dev/null and b/gfx/pokemon/front_rg/kangaskhan.png differ diff --git a/gfx/pokemon/front_rg/kingler.png b/gfx/pokemon/front_rg/kingler.png new file mode 100644 index 00000000..c1302fbf Binary files /dev/null and b/gfx/pokemon/front_rg/kingler.png differ diff --git a/gfx/pokemon/front_rg/koffing.png b/gfx/pokemon/front_rg/koffing.png new file mode 100644 index 00000000..e6dfee04 Binary files /dev/null and b/gfx/pokemon/front_rg/koffing.png differ diff --git a/gfx/pokemon/front_rg/krabby.png b/gfx/pokemon/front_rg/krabby.png new file mode 100644 index 00000000..2740128f Binary files /dev/null and b/gfx/pokemon/front_rg/krabby.png differ diff --git a/gfx/pokemon/front_rg/lapras.png b/gfx/pokemon/front_rg/lapras.png new file mode 100644 index 00000000..b696b8d9 Binary files /dev/null and b/gfx/pokemon/front_rg/lapras.png differ diff --git a/gfx/pokemon/front_rg/lickitung.png b/gfx/pokemon/front_rg/lickitung.png new file mode 100644 index 00000000..3deb9b12 Binary files /dev/null and b/gfx/pokemon/front_rg/lickitung.png differ diff --git a/gfx/pokemon/front_rg/machamp.png b/gfx/pokemon/front_rg/machamp.png new file mode 100644 index 00000000..a6f773a0 Binary files /dev/null and b/gfx/pokemon/front_rg/machamp.png differ diff --git a/gfx/pokemon/front_rg/machoke.png b/gfx/pokemon/front_rg/machoke.png new file mode 100644 index 00000000..ed637897 Binary files /dev/null and b/gfx/pokemon/front_rg/machoke.png differ diff --git a/gfx/pokemon/front_rg/machop.png b/gfx/pokemon/front_rg/machop.png new file mode 100644 index 00000000..a5e20532 Binary files /dev/null and b/gfx/pokemon/front_rg/machop.png differ diff --git a/gfx/pokemon/front_rg/magikarp.png b/gfx/pokemon/front_rg/magikarp.png new file mode 100644 index 00000000..68bc4f8c Binary files /dev/null and b/gfx/pokemon/front_rg/magikarp.png differ diff --git a/gfx/pokemon/front_rg/magmar.png b/gfx/pokemon/front_rg/magmar.png new file mode 100644 index 00000000..f12bd2f2 Binary files /dev/null and b/gfx/pokemon/front_rg/magmar.png differ diff --git a/gfx/pokemon/front_rg/magnemite.png b/gfx/pokemon/front_rg/magnemite.png new file mode 100644 index 00000000..fc807398 Binary files /dev/null and b/gfx/pokemon/front_rg/magnemite.png differ diff --git a/gfx/pokemon/front_rg/magneton.png b/gfx/pokemon/front_rg/magneton.png new file mode 100644 index 00000000..51a3f12c Binary files /dev/null and b/gfx/pokemon/front_rg/magneton.png differ diff --git a/gfx/pokemon/front_rg/mankey.png b/gfx/pokemon/front_rg/mankey.png new file mode 100644 index 00000000..9ae43757 Binary files /dev/null and b/gfx/pokemon/front_rg/mankey.png differ diff --git a/gfx/pokemon/front_rg/marowak.png b/gfx/pokemon/front_rg/marowak.png new file mode 100644 index 00000000..8ac6c6ee Binary files /dev/null and b/gfx/pokemon/front_rg/marowak.png differ diff --git a/gfx/pokemon/front_rg/meowth.png b/gfx/pokemon/front_rg/meowth.png new file mode 100644 index 00000000..d00a08db Binary files /dev/null and b/gfx/pokemon/front_rg/meowth.png differ diff --git a/gfx/pokemon/front_rg/metapod.png b/gfx/pokemon/front_rg/metapod.png new file mode 100644 index 00000000..5d7514f4 Binary files /dev/null and b/gfx/pokemon/front_rg/metapod.png differ diff --git a/gfx/pokemon/front_rg/mew.png b/gfx/pokemon/front_rg/mew.png new file mode 100644 index 00000000..0d9bef36 Binary files /dev/null and b/gfx/pokemon/front_rg/mew.png differ diff --git a/gfx/pokemon/front_rg/mewtwo.png b/gfx/pokemon/front_rg/mewtwo.png new file mode 100644 index 00000000..b41409ca Binary files /dev/null and b/gfx/pokemon/front_rg/mewtwo.png differ diff --git a/gfx/pokemon/front_rg/moltres.png b/gfx/pokemon/front_rg/moltres.png new file mode 100644 index 00000000..52259f4a Binary files /dev/null and b/gfx/pokemon/front_rg/moltres.png differ diff --git a/gfx/pokemon/front_rg/mr.mime.png b/gfx/pokemon/front_rg/mr.mime.png new file mode 100644 index 00000000..6dca1791 Binary files /dev/null and b/gfx/pokemon/front_rg/mr.mime.png differ diff --git a/gfx/pokemon/front_rg/muk.png b/gfx/pokemon/front_rg/muk.png new file mode 100644 index 00000000..8816e939 Binary files /dev/null and b/gfx/pokemon/front_rg/muk.png differ diff --git a/gfx/pokemon/front_rg/nidoking.png b/gfx/pokemon/front_rg/nidoking.png new file mode 100644 index 00000000..c181e60c Binary files /dev/null and b/gfx/pokemon/front_rg/nidoking.png differ diff --git a/gfx/pokemon/front_rg/nidoqueen.png b/gfx/pokemon/front_rg/nidoqueen.png new file mode 100644 index 00000000..86cba6d6 Binary files /dev/null and b/gfx/pokemon/front_rg/nidoqueen.png differ diff --git a/gfx/pokemon/front_rg/nidoranf.png b/gfx/pokemon/front_rg/nidoranf.png new file mode 100644 index 00000000..8d99c920 Binary files /dev/null and b/gfx/pokemon/front_rg/nidoranf.png differ diff --git a/gfx/pokemon/front_rg/nidoranm.png b/gfx/pokemon/front_rg/nidoranm.png new file mode 100644 index 00000000..9a93e864 Binary files /dev/null and b/gfx/pokemon/front_rg/nidoranm.png differ diff --git a/gfx/pokemon/front_rg/nidorina.png b/gfx/pokemon/front_rg/nidorina.png new file mode 100644 index 00000000..a8d277b8 Binary files /dev/null and b/gfx/pokemon/front_rg/nidorina.png differ diff --git a/gfx/pokemon/front_rg/nidorino.png b/gfx/pokemon/front_rg/nidorino.png new file mode 100644 index 00000000..4d6c9e55 Binary files /dev/null and b/gfx/pokemon/front_rg/nidorino.png differ diff --git a/gfx/pokemon/front_rg/ninetales.png b/gfx/pokemon/front_rg/ninetales.png new file mode 100644 index 00000000..128e8e53 Binary files /dev/null and b/gfx/pokemon/front_rg/ninetales.png differ diff --git a/gfx/pokemon/front_rg/oddish.png b/gfx/pokemon/front_rg/oddish.png new file mode 100644 index 00000000..55aa2d09 Binary files /dev/null and b/gfx/pokemon/front_rg/oddish.png differ diff --git a/gfx/pokemon/front_rg/omanyte.png b/gfx/pokemon/front_rg/omanyte.png new file mode 100644 index 00000000..d042710e Binary files /dev/null and b/gfx/pokemon/front_rg/omanyte.png differ diff --git a/gfx/pokemon/front_rg/omastar.png b/gfx/pokemon/front_rg/omastar.png new file mode 100644 index 00000000..af84f55f Binary files /dev/null and b/gfx/pokemon/front_rg/omastar.png differ diff --git a/gfx/pokemon/front_rg/onix.png b/gfx/pokemon/front_rg/onix.png new file mode 100644 index 00000000..3b731ece Binary files /dev/null and b/gfx/pokemon/front_rg/onix.png differ diff --git a/gfx/pokemon/front_rg/paras.png b/gfx/pokemon/front_rg/paras.png new file mode 100644 index 00000000..b8ee6517 Binary files /dev/null and b/gfx/pokemon/front_rg/paras.png differ diff --git a/gfx/pokemon/front_rg/parasect.png b/gfx/pokemon/front_rg/parasect.png new file mode 100644 index 00000000..3d58b8e5 Binary files /dev/null and b/gfx/pokemon/front_rg/parasect.png differ diff --git a/gfx/pokemon/front_rg/persian.png b/gfx/pokemon/front_rg/persian.png new file mode 100644 index 00000000..aed4d6dc Binary files /dev/null and b/gfx/pokemon/front_rg/persian.png differ diff --git a/gfx/pokemon/front_rg/pidgeot.png b/gfx/pokemon/front_rg/pidgeot.png new file mode 100644 index 00000000..4b4aa72f Binary files /dev/null and b/gfx/pokemon/front_rg/pidgeot.png differ diff --git a/gfx/pokemon/front_rg/pidgeotto.png b/gfx/pokemon/front_rg/pidgeotto.png new file mode 100644 index 00000000..58a51f5d Binary files /dev/null and b/gfx/pokemon/front_rg/pidgeotto.png differ diff --git a/gfx/pokemon/front_rg/pidgey.png b/gfx/pokemon/front_rg/pidgey.png new file mode 100644 index 00000000..7636fb67 Binary files /dev/null and b/gfx/pokemon/front_rg/pidgey.png differ diff --git a/gfx/pokemon/front_rg/pikachu.png b/gfx/pokemon/front_rg/pikachu.png new file mode 100644 index 00000000..5a3eb782 Binary files /dev/null and b/gfx/pokemon/front_rg/pikachu.png differ diff --git a/gfx/pokemon/front_rg/pinsir.png b/gfx/pokemon/front_rg/pinsir.png new file mode 100644 index 00000000..2944c453 Binary files /dev/null and b/gfx/pokemon/front_rg/pinsir.png differ diff --git a/gfx/pokemon/front_rg/poliwag.png b/gfx/pokemon/front_rg/poliwag.png new file mode 100644 index 00000000..a1ad26c8 Binary files /dev/null and b/gfx/pokemon/front_rg/poliwag.png differ diff --git a/gfx/pokemon/front_rg/poliwhirl.png b/gfx/pokemon/front_rg/poliwhirl.png new file mode 100644 index 00000000..d18311d6 Binary files /dev/null and b/gfx/pokemon/front_rg/poliwhirl.png differ diff --git a/gfx/pokemon/front_rg/poliwrath.png b/gfx/pokemon/front_rg/poliwrath.png new file mode 100644 index 00000000..49f07b96 Binary files /dev/null and b/gfx/pokemon/front_rg/poliwrath.png differ diff --git a/gfx/pokemon/front_rg/ponyta.png b/gfx/pokemon/front_rg/ponyta.png new file mode 100644 index 00000000..c3a67849 Binary files /dev/null and b/gfx/pokemon/front_rg/ponyta.png differ diff --git a/gfx/pokemon/front_rg/porygon.png b/gfx/pokemon/front_rg/porygon.png new file mode 100644 index 00000000..1ed804ff Binary files /dev/null and b/gfx/pokemon/front_rg/porygon.png differ diff --git a/gfx/pokemon/front_rg/primeape.png b/gfx/pokemon/front_rg/primeape.png new file mode 100644 index 00000000..42c03f6d Binary files /dev/null and b/gfx/pokemon/front_rg/primeape.png differ diff --git a/gfx/pokemon/front_rg/psyduck.png b/gfx/pokemon/front_rg/psyduck.png new file mode 100644 index 00000000..cd0a5e9e Binary files /dev/null and b/gfx/pokemon/front_rg/psyduck.png differ diff --git a/gfx/pokemon/front_rg/raichu.png b/gfx/pokemon/front_rg/raichu.png new file mode 100644 index 00000000..961d2aeb Binary files /dev/null and b/gfx/pokemon/front_rg/raichu.png differ diff --git a/gfx/pokemon/front_rg/rapidash.png b/gfx/pokemon/front_rg/rapidash.png new file mode 100644 index 00000000..d118b947 Binary files /dev/null and b/gfx/pokemon/front_rg/rapidash.png differ diff --git a/gfx/pokemon/front_rg/raticate.png b/gfx/pokemon/front_rg/raticate.png new file mode 100644 index 00000000..895c1006 Binary files /dev/null and b/gfx/pokemon/front_rg/raticate.png differ diff --git a/gfx/pokemon/front_rg/rattata.png b/gfx/pokemon/front_rg/rattata.png new file mode 100644 index 00000000..8d114876 Binary files /dev/null and b/gfx/pokemon/front_rg/rattata.png differ diff --git a/gfx/pokemon/front_rg/rhydon.png b/gfx/pokemon/front_rg/rhydon.png new file mode 100644 index 00000000..772e64d8 Binary files /dev/null and b/gfx/pokemon/front_rg/rhydon.png differ diff --git a/gfx/pokemon/front_rg/rhyhorn.png b/gfx/pokemon/front_rg/rhyhorn.png new file mode 100644 index 00000000..1b968785 Binary files /dev/null and b/gfx/pokemon/front_rg/rhyhorn.png differ diff --git a/gfx/pokemon/front_rg/sandshrew.png b/gfx/pokemon/front_rg/sandshrew.png new file mode 100644 index 00000000..e078d6d3 Binary files /dev/null and b/gfx/pokemon/front_rg/sandshrew.png differ diff --git a/gfx/pokemon/front_rg/sandslash.png b/gfx/pokemon/front_rg/sandslash.png new file mode 100644 index 00000000..55320b96 Binary files /dev/null and b/gfx/pokemon/front_rg/sandslash.png differ diff --git a/gfx/pokemon/front_rg/scyther.png b/gfx/pokemon/front_rg/scyther.png new file mode 100644 index 00000000..de4d89ed Binary files /dev/null and b/gfx/pokemon/front_rg/scyther.png differ diff --git a/gfx/pokemon/front_rg/seadra.png b/gfx/pokemon/front_rg/seadra.png new file mode 100644 index 00000000..17cdf4ea Binary files /dev/null and b/gfx/pokemon/front_rg/seadra.png differ diff --git a/gfx/pokemon/front_rg/seaking.png b/gfx/pokemon/front_rg/seaking.png new file mode 100644 index 00000000..184f0556 Binary files /dev/null and b/gfx/pokemon/front_rg/seaking.png differ diff --git a/gfx/pokemon/front_rg/seel.png b/gfx/pokemon/front_rg/seel.png new file mode 100644 index 00000000..cb2f7f2e Binary files /dev/null and b/gfx/pokemon/front_rg/seel.png differ diff --git a/gfx/pokemon/front_rg/shellder.png b/gfx/pokemon/front_rg/shellder.png new file mode 100644 index 00000000..b7c41dd2 Binary files /dev/null and b/gfx/pokemon/front_rg/shellder.png differ diff --git a/gfx/pokemon/front_rg/slowbro.png b/gfx/pokemon/front_rg/slowbro.png new file mode 100644 index 00000000..b67bbc08 Binary files /dev/null and b/gfx/pokemon/front_rg/slowbro.png differ diff --git a/gfx/pokemon/front_rg/slowpoke.png b/gfx/pokemon/front_rg/slowpoke.png new file mode 100644 index 00000000..d59e9008 Binary files /dev/null and b/gfx/pokemon/front_rg/slowpoke.png differ diff --git a/gfx/pokemon/front_rg/snorlax.png b/gfx/pokemon/front_rg/snorlax.png new file mode 100644 index 00000000..c249327d Binary files /dev/null and b/gfx/pokemon/front_rg/snorlax.png differ diff --git a/gfx/pokemon/front_rg/spearow.png b/gfx/pokemon/front_rg/spearow.png new file mode 100644 index 00000000..c1fce869 Binary files /dev/null and b/gfx/pokemon/front_rg/spearow.png differ diff --git a/gfx/pokemon/front_rg/squirtle.png b/gfx/pokemon/front_rg/squirtle.png new file mode 100644 index 00000000..3139cddc Binary files /dev/null and b/gfx/pokemon/front_rg/squirtle.png differ diff --git a/gfx/pokemon/front_rg/starmie.png b/gfx/pokemon/front_rg/starmie.png new file mode 100644 index 00000000..395fd857 Binary files /dev/null and b/gfx/pokemon/front_rg/starmie.png differ diff --git a/gfx/pokemon/front_rg/staryu.png b/gfx/pokemon/front_rg/staryu.png new file mode 100644 index 00000000..740089e8 Binary files /dev/null and b/gfx/pokemon/front_rg/staryu.png differ diff --git a/gfx/pokemon/front_rg/tangela.png b/gfx/pokemon/front_rg/tangela.png new file mode 100644 index 00000000..a6f6327c Binary files /dev/null and b/gfx/pokemon/front_rg/tangela.png differ diff --git a/gfx/pokemon/front_rg/tauros.png b/gfx/pokemon/front_rg/tauros.png new file mode 100644 index 00000000..ae57f111 Binary files /dev/null and b/gfx/pokemon/front_rg/tauros.png differ diff --git a/gfx/pokemon/front_rg/tentacool.png b/gfx/pokemon/front_rg/tentacool.png new file mode 100644 index 00000000..59a979c2 Binary files /dev/null and b/gfx/pokemon/front_rg/tentacool.png differ diff --git a/gfx/pokemon/front_rg/tentacruel.png b/gfx/pokemon/front_rg/tentacruel.png new file mode 100644 index 00000000..aaf4d426 Binary files /dev/null and b/gfx/pokemon/front_rg/tentacruel.png differ diff --git a/gfx/pokemon/front_rg/vaporeon.png b/gfx/pokemon/front_rg/vaporeon.png new file mode 100644 index 00000000..72db05da Binary files /dev/null and b/gfx/pokemon/front_rg/vaporeon.png differ diff --git a/gfx/pokemon/front_rg/venomoth.png b/gfx/pokemon/front_rg/venomoth.png new file mode 100644 index 00000000..e677255e Binary files /dev/null and b/gfx/pokemon/front_rg/venomoth.png differ diff --git a/gfx/pokemon/front_rg/venonat.png b/gfx/pokemon/front_rg/venonat.png new file mode 100644 index 00000000..cf2f4df1 Binary files /dev/null and b/gfx/pokemon/front_rg/venonat.png differ diff --git a/gfx/pokemon/front_rg/venusaur.png b/gfx/pokemon/front_rg/venusaur.png new file mode 100644 index 00000000..f444a234 Binary files /dev/null and b/gfx/pokemon/front_rg/venusaur.png differ diff --git a/gfx/pokemon/front_rg/victreebel.png b/gfx/pokemon/front_rg/victreebel.png new file mode 100644 index 00000000..62193011 Binary files /dev/null and b/gfx/pokemon/front_rg/victreebel.png differ diff --git a/gfx/pokemon/front_rg/vileplume.png b/gfx/pokemon/front_rg/vileplume.png new file mode 100644 index 00000000..e39d50e0 Binary files /dev/null and b/gfx/pokemon/front_rg/vileplume.png differ diff --git a/gfx/pokemon/front_rg/voltorb.png b/gfx/pokemon/front_rg/voltorb.png new file mode 100644 index 00000000..c2159e6c Binary files /dev/null and b/gfx/pokemon/front_rg/voltorb.png differ diff --git a/gfx/pokemon/front_rg/vulpix.png b/gfx/pokemon/front_rg/vulpix.png new file mode 100644 index 00000000..8b8810ad Binary files /dev/null and b/gfx/pokemon/front_rg/vulpix.png differ diff --git a/gfx/pokemon/front_rg/wartortle.png b/gfx/pokemon/front_rg/wartortle.png new file mode 100644 index 00000000..6e65bb7c Binary files /dev/null and b/gfx/pokemon/front_rg/wartortle.png differ diff --git a/gfx/pokemon/front_rg/weedle.png b/gfx/pokemon/front_rg/weedle.png new file mode 100644 index 00000000..3efbd49d Binary files /dev/null and b/gfx/pokemon/front_rg/weedle.png differ diff --git a/gfx/pokemon/front_rg/weepinbell.png b/gfx/pokemon/front_rg/weepinbell.png new file mode 100644 index 00000000..18b44783 Binary files /dev/null and b/gfx/pokemon/front_rg/weepinbell.png differ diff --git a/gfx/pokemon/front_rg/weezing.png b/gfx/pokemon/front_rg/weezing.png new file mode 100644 index 00000000..5b30b4e0 Binary files /dev/null and b/gfx/pokemon/front_rg/weezing.png differ diff --git a/gfx/pokemon/front_rg/wigglytuff.png b/gfx/pokemon/front_rg/wigglytuff.png new file mode 100644 index 00000000..e986affd Binary files /dev/null and b/gfx/pokemon/front_rg/wigglytuff.png differ diff --git a/gfx/pokemon/front_rg/zapdos.png b/gfx/pokemon/front_rg/zapdos.png new file mode 100644 index 00000000..534ac4a9 Binary files /dev/null and b/gfx/pokemon/front_rg/zapdos.png differ diff --git a/gfx/pokemon/front_rg/zubat.png b/gfx/pokemon/front_rg/zubat.png new file mode 100644 index 00000000..14dc9118 Binary files /dev/null and b/gfx/pokemon/front_rg/zubat.png differ diff --git a/gfx/trainers/agatha.png b/gfx/trainers/agatha.png new file mode 100644 index 00000000..d95b77be Binary files /dev/null and b/gfx/trainers/agatha.png differ diff --git a/gfx/trainers/beauty.png b/gfx/trainers/beauty.png new file mode 100644 index 00000000..a7e53c13 Binary files /dev/null and b/gfx/trainers/beauty.png differ diff --git a/gfx/trainers/biker.png b/gfx/trainers/biker.png new file mode 100644 index 00000000..b64809f9 Binary files /dev/null and b/gfx/trainers/biker.png differ diff --git a/gfx/trainers/birdkeeper.png b/gfx/trainers/birdkeeper.png new file mode 100644 index 00000000..6e06d839 Binary files /dev/null and b/gfx/trainers/birdkeeper.png differ diff --git a/gfx/trainers/blackbelt.png b/gfx/trainers/blackbelt.png new file mode 100644 index 00000000..8ba5480f Binary files /dev/null and b/gfx/trainers/blackbelt.png differ diff --git a/gfx/trainers/blaine.png b/gfx/trainers/blaine.png new file mode 100644 index 00000000..0698b3b9 Binary files /dev/null and b/gfx/trainers/blaine.png differ diff --git a/gfx/trainers/brock.png b/gfx/trainers/brock.png new file mode 100644 index 00000000..fc8f2378 Binary files /dev/null and b/gfx/trainers/brock.png differ diff --git a/gfx/trainers/bruno.png b/gfx/trainers/bruno.png new file mode 100644 index 00000000..651b7c9c Binary files /dev/null and b/gfx/trainers/bruno.png differ diff --git a/gfx/trainers/bugcatcher.png b/gfx/trainers/bugcatcher.png new file mode 100644 index 00000000..0d108f40 Binary files /dev/null and b/gfx/trainers/bugcatcher.png differ diff --git a/gfx/trainers/burglar.png b/gfx/trainers/burglar.png new file mode 100644 index 00000000..d4af219b Binary files /dev/null and b/gfx/trainers/burglar.png differ diff --git a/gfx/trainers/channeler.png b/gfx/trainers/channeler.png new file mode 100644 index 00000000..3fd174a5 Binary files /dev/null and b/gfx/trainers/channeler.png differ diff --git a/gfx/trainers/cooltrainerf.png b/gfx/trainers/cooltrainerf.png new file mode 100644 index 00000000..0a90c5e5 Binary files /dev/null and b/gfx/trainers/cooltrainerf.png differ diff --git a/gfx/trainers/cooltrainerm.png b/gfx/trainers/cooltrainerm.png new file mode 100644 index 00000000..2482bc2b Binary files /dev/null and b/gfx/trainers/cooltrainerm.png differ diff --git a/gfx/trainers/cueball.png b/gfx/trainers/cueball.png new file mode 100644 index 00000000..6d3ae768 Binary files /dev/null and b/gfx/trainers/cueball.png differ diff --git a/gfx/trainers/engineer.png b/gfx/trainers/engineer.png new file mode 100644 index 00000000..dd0ab2c0 Binary files /dev/null and b/gfx/trainers/engineer.png differ diff --git a/gfx/trainers/erika.png b/gfx/trainers/erika.png new file mode 100644 index 00000000..961d094b Binary files /dev/null and b/gfx/trainers/erika.png differ diff --git a/gfx/trainers/fisher.png b/gfx/trainers/fisher.png new file mode 100644 index 00000000..ccc9d705 Binary files /dev/null and b/gfx/trainers/fisher.png differ diff --git a/gfx/trainers/gambler.png b/gfx/trainers/gambler.png new file mode 100644 index 00000000..d3ec85b7 Binary files /dev/null and b/gfx/trainers/gambler.png differ diff --git a/gfx/trainers/gentleman.png b/gfx/trainers/gentleman.png new file mode 100644 index 00000000..62a2ffb7 Binary files /dev/null and b/gfx/trainers/gentleman.png differ diff --git a/gfx/trainers/giovanni.png b/gfx/trainers/giovanni.png new file mode 100644 index 00000000..505adebd Binary files /dev/null and b/gfx/trainers/giovanni.png differ diff --git a/gfx/trainers/hiker.png b/gfx/trainers/hiker.png new file mode 100644 index 00000000..5223a7d0 Binary files /dev/null and b/gfx/trainers/hiker.png differ diff --git a/gfx/trainers/jr.trainerf.png b/gfx/trainers/jr.trainerf.png new file mode 100644 index 00000000..55ceef30 Binary files /dev/null and b/gfx/trainers/jr.trainerf.png differ diff --git a/gfx/trainers/jr.trainerm.png b/gfx/trainers/jr.trainerm.png new file mode 100644 index 00000000..48392bf5 Binary files /dev/null and b/gfx/trainers/jr.trainerm.png differ diff --git a/gfx/trainers/juggler.png b/gfx/trainers/juggler.png new file mode 100644 index 00000000..58dd61ee Binary files /dev/null and b/gfx/trainers/juggler.png differ diff --git a/gfx/trainers/koga.png b/gfx/trainers/koga.png new file mode 100644 index 00000000..6caa7da5 Binary files /dev/null and b/gfx/trainers/koga.png differ diff --git a/gfx/trainers/lance.png b/gfx/trainers/lance.png new file mode 100644 index 00000000..d836b284 Binary files /dev/null and b/gfx/trainers/lance.png differ diff --git a/gfx/trainers/lass.png b/gfx/trainers/lass.png new file mode 100644 index 00000000..432f4090 Binary files /dev/null and b/gfx/trainers/lass.png differ diff --git a/gfx/trainers/lorelei.png b/gfx/trainers/lorelei.png new file mode 100644 index 00000000..608107bf Binary files /dev/null and b/gfx/trainers/lorelei.png differ diff --git a/gfx/trainers/lt.surge.png b/gfx/trainers/lt.surge.png new file mode 100644 index 00000000..5a06a320 Binary files /dev/null and b/gfx/trainers/lt.surge.png differ diff --git a/gfx/trainers/misty.png b/gfx/trainers/misty.png new file mode 100644 index 00000000..ea2e655a Binary files /dev/null and b/gfx/trainers/misty.png differ diff --git a/gfx/trainers/pokemaniac.png b/gfx/trainers/pokemaniac.png new file mode 100644 index 00000000..954bbc43 Binary files /dev/null and b/gfx/trainers/pokemaniac.png differ diff --git a/gfx/trainers/prof.oak.png b/gfx/trainers/prof.oak.png new file mode 100644 index 00000000..4334e1d0 Binary files /dev/null and b/gfx/trainers/prof.oak.png differ diff --git a/gfx/trainers/psychic.png b/gfx/trainers/psychic.png new file mode 100644 index 00000000..58244d80 Binary files /dev/null and b/gfx/trainers/psychic.png differ diff --git a/gfx/trainers/rival1.png b/gfx/trainers/rival1.png new file mode 100644 index 00000000..6b94fd27 Binary files /dev/null and b/gfx/trainers/rival1.png differ diff --git a/gfx/trainers/rival2.png b/gfx/trainers/rival2.png new file mode 100644 index 00000000..df9b2524 Binary files /dev/null and b/gfx/trainers/rival2.png differ diff --git a/gfx/trainers/rival3.png b/gfx/trainers/rival3.png new file mode 100644 index 00000000..5e6fc5ff Binary files /dev/null and b/gfx/trainers/rival3.png differ diff --git a/gfx/trainers/rocker.png b/gfx/trainers/rocker.png new file mode 100644 index 00000000..70ecf4e8 Binary files /dev/null and b/gfx/trainers/rocker.png differ diff --git a/gfx/trainers/rocket.png b/gfx/trainers/rocket.png new file mode 100644 index 00000000..a5e73de3 Binary files /dev/null and b/gfx/trainers/rocket.png differ diff --git a/gfx/trainers/sabrina.png b/gfx/trainers/sabrina.png new file mode 100644 index 00000000..391144fc Binary files /dev/null and b/gfx/trainers/sabrina.png differ diff --git a/gfx/trainers/sailor.png b/gfx/trainers/sailor.png new file mode 100644 index 00000000..b3b06e4c Binary files /dev/null and b/gfx/trainers/sailor.png differ diff --git a/gfx/trainers/scientist.png b/gfx/trainers/scientist.png new file mode 100644 index 00000000..eef66fe7 Binary files /dev/null and b/gfx/trainers/scientist.png differ diff --git a/gfx/trainers/supernerd.png b/gfx/trainers/supernerd.png new file mode 100644 index 00000000..37ef663e Binary files /dev/null and b/gfx/trainers/supernerd.png differ diff --git a/gfx/trainers/swimmer.png b/gfx/trainers/swimmer.png new file mode 100644 index 00000000..06bae30c Binary files /dev/null and b/gfx/trainers/swimmer.png differ diff --git a/gfx/trainers/tamer.png b/gfx/trainers/tamer.png new file mode 100644 index 00000000..14fe7a53 Binary files /dev/null and b/gfx/trainers/tamer.png differ diff --git a/gfx/trainers/youngster.png b/gfx/trainers/youngster.png new file mode 100644 index 00000000..51fa5e0f Binary files /dev/null and b/gfx/trainers/youngster.png differ diff --git a/main.asm b/main.asm index abe13d5b..126bf943 100755 --- a/main.asm +++ b/main.asm @@ -6,8 +6,8 @@ SECTION "bank1", ROMX INCLUDE "data/facing.asm" INCLUDE "engine/black_out.asm" -MewPicFront:: INCBIN "pic/bmon/mew.pic" -MewPicBack:: INCBIN "pic/monback/mewb.pic" +MewPicFront:: INCBIN "gfx/pokemon/front/mew.pic" +MewPicBack:: INCBIN "gfx/pokemon/back/mewb.pic" INCLUDE "data/baseStats/mew.asm" INCLUDE "engine/battle/safari_zone.asm" @@ -109,9 +109,9 @@ INCLUDE "engine/overworld/is_player_just_outside_map.asm" INCLUDE "engine/menu/status_screen.asm" INCLUDE "engine/menu/party_menu.asm" -RedPicFront:: INCBIN "pic/trainer/red.pic" -ShrinkPic1:: INCBIN "pic/trainer/shrink1.pic" -ShrinkPic2:: INCBIN "pic/trainer/shrink2.pic" +RedPicFront:: INCBIN "gfx/player/red.pic" +ShrinkPic1:: INCBIN "gfx/player/shrink1.pic" +ShrinkPic2:: INCBIN "gfx/player/shrink2.pic" INCLUDE "engine/turn_sprite.asm" INCLUDE "engine/menu/start_sub_menus.asm" diff --git a/pic/bmon/abra.png b/pic/bmon/abra.png deleted file mode 100644 index 12045ee3..00000000 Binary files a/pic/bmon/abra.png and /dev/null differ diff --git a/pic/bmon/aerodactyl.png b/pic/bmon/aerodactyl.png deleted file mode 100644 index 4cbfdeeb..00000000 Binary files a/pic/bmon/aerodactyl.png and /dev/null differ diff --git a/pic/bmon/alakazam.png b/pic/bmon/alakazam.png deleted file mode 100644 index 9c379b6a..00000000 Binary files a/pic/bmon/alakazam.png and /dev/null differ diff --git a/pic/bmon/arbok.png b/pic/bmon/arbok.png deleted file mode 100644 index bd8da001..00000000 Binary files a/pic/bmon/arbok.png and /dev/null differ diff --git a/pic/bmon/arcanine.png b/pic/bmon/arcanine.png deleted file mode 100644 index 5d25961d..00000000 Binary files a/pic/bmon/arcanine.png and /dev/null differ diff --git a/pic/bmon/articuno.png b/pic/bmon/articuno.png deleted file mode 100644 index 66986add..00000000 Binary files a/pic/bmon/articuno.png and /dev/null differ diff --git a/pic/bmon/beedrill.png b/pic/bmon/beedrill.png deleted file mode 100644 index 36b4a06f..00000000 Binary files a/pic/bmon/beedrill.png and /dev/null differ diff --git a/pic/bmon/bellsprout.png b/pic/bmon/bellsprout.png deleted file mode 100644 index e4fc5e18..00000000 Binary files a/pic/bmon/bellsprout.png and /dev/null differ diff --git a/pic/bmon/blastoise.png b/pic/bmon/blastoise.png deleted file mode 100644 index 2192b43a..00000000 Binary files a/pic/bmon/blastoise.png and /dev/null differ diff --git a/pic/bmon/bulbasaur.png b/pic/bmon/bulbasaur.png deleted file mode 100644 index a2a924c7..00000000 Binary files a/pic/bmon/bulbasaur.png and /dev/null differ diff --git a/pic/bmon/butterfree.png b/pic/bmon/butterfree.png deleted file mode 100644 index 8f1a69aa..00000000 Binary files a/pic/bmon/butterfree.png and /dev/null differ diff --git a/pic/bmon/caterpie.png b/pic/bmon/caterpie.png deleted file mode 100644 index 8e1a49dd..00000000 Binary files a/pic/bmon/caterpie.png and /dev/null differ diff --git a/pic/bmon/chansey.png b/pic/bmon/chansey.png deleted file mode 100644 index 832ba27c..00000000 Binary files a/pic/bmon/chansey.png and /dev/null differ diff --git a/pic/bmon/charizard.png b/pic/bmon/charizard.png deleted file mode 100644 index ad29e489..00000000 Binary files a/pic/bmon/charizard.png and /dev/null differ diff --git a/pic/bmon/charmander.png b/pic/bmon/charmander.png deleted file mode 100644 index 12d16f01..00000000 Binary files a/pic/bmon/charmander.png and /dev/null differ diff --git a/pic/bmon/charmeleon.png b/pic/bmon/charmeleon.png deleted file mode 100644 index a5cff72f..00000000 Binary files a/pic/bmon/charmeleon.png and /dev/null differ diff --git a/pic/bmon/clefable.png b/pic/bmon/clefable.png deleted file mode 100644 index 2fcfac0a..00000000 Binary files a/pic/bmon/clefable.png and /dev/null differ diff --git a/pic/bmon/clefairy.png b/pic/bmon/clefairy.png deleted file mode 100644 index 5a7f3721..00000000 Binary files a/pic/bmon/clefairy.png and /dev/null differ diff --git a/pic/bmon/cloyster.png b/pic/bmon/cloyster.png deleted file mode 100644 index 71f63a7f..00000000 Binary files a/pic/bmon/cloyster.png and /dev/null differ diff --git a/pic/bmon/cubone.png b/pic/bmon/cubone.png deleted file mode 100644 index 23e3a23a..00000000 Binary files a/pic/bmon/cubone.png and /dev/null differ diff --git a/pic/bmon/dewgong.png b/pic/bmon/dewgong.png deleted file mode 100644 index aac4e65c..00000000 Binary files a/pic/bmon/dewgong.png and /dev/null differ diff --git a/pic/bmon/diglett.png b/pic/bmon/diglett.png deleted file mode 100644 index f92ae5bc..00000000 Binary files a/pic/bmon/diglett.png and /dev/null differ diff --git a/pic/bmon/ditto.png b/pic/bmon/ditto.png deleted file mode 100644 index 4485e6ec..00000000 Binary files a/pic/bmon/ditto.png and /dev/null differ diff --git a/pic/bmon/dodrio.png b/pic/bmon/dodrio.png deleted file mode 100644 index 92e6839d..00000000 Binary files a/pic/bmon/dodrio.png and /dev/null differ diff --git a/pic/bmon/doduo.png b/pic/bmon/doduo.png deleted file mode 100644 index 20cba7ba..00000000 Binary files a/pic/bmon/doduo.png and /dev/null differ diff --git a/pic/bmon/dragonair.png b/pic/bmon/dragonair.png deleted file mode 100644 index 55d1ef5b..00000000 Binary files a/pic/bmon/dragonair.png and /dev/null differ diff --git a/pic/bmon/dragonite.png b/pic/bmon/dragonite.png deleted file mode 100644 index 4c387c3e..00000000 Binary files a/pic/bmon/dragonite.png and /dev/null differ diff --git a/pic/bmon/dratini.png b/pic/bmon/dratini.png deleted file mode 100644 index 9df332e4..00000000 Binary files a/pic/bmon/dratini.png and /dev/null differ diff --git a/pic/bmon/drowzee.png b/pic/bmon/drowzee.png deleted file mode 100644 index cc85510b..00000000 Binary files a/pic/bmon/drowzee.png and /dev/null differ diff --git a/pic/bmon/dugtrio.png b/pic/bmon/dugtrio.png deleted file mode 100644 index 433f95ef..00000000 Binary files a/pic/bmon/dugtrio.png and /dev/null differ diff --git a/pic/bmon/eevee.png b/pic/bmon/eevee.png deleted file mode 100644 index 956f8ce0..00000000 Binary files a/pic/bmon/eevee.png and /dev/null differ diff --git a/pic/bmon/ekans.png b/pic/bmon/ekans.png deleted file mode 100644 index 6dffaf84..00000000 Binary files a/pic/bmon/ekans.png and /dev/null differ diff --git a/pic/bmon/electabuzz.png b/pic/bmon/electabuzz.png deleted file mode 100644 index 0ddccbe1..00000000 Binary files a/pic/bmon/electabuzz.png and /dev/null differ diff --git a/pic/bmon/electrode.png b/pic/bmon/electrode.png deleted file mode 100644 index 8df79e6a..00000000 Binary files a/pic/bmon/electrode.png and /dev/null differ diff --git a/pic/bmon/exeggcute.png b/pic/bmon/exeggcute.png deleted file mode 100644 index 0ddf8e32..00000000 Binary files a/pic/bmon/exeggcute.png and /dev/null differ diff --git a/pic/bmon/exeggutor.png b/pic/bmon/exeggutor.png deleted file mode 100644 index 89ccbdc4..00000000 Binary files a/pic/bmon/exeggutor.png and /dev/null differ diff --git a/pic/bmon/farfetchd.png b/pic/bmon/farfetchd.png deleted file mode 100644 index 490e2b7c..00000000 Binary files a/pic/bmon/farfetchd.png and /dev/null differ diff --git a/pic/bmon/fearow.png b/pic/bmon/fearow.png deleted file mode 100644 index c2c65257..00000000 Binary files a/pic/bmon/fearow.png and /dev/null differ diff --git a/pic/bmon/flareon.png b/pic/bmon/flareon.png deleted file mode 100644 index eadebd27..00000000 Binary files a/pic/bmon/flareon.png and /dev/null differ diff --git a/pic/bmon/fossilaerodactyl.png b/pic/bmon/fossilaerodactyl.png deleted file mode 100644 index eb7fc3a3..00000000 Binary files a/pic/bmon/fossilaerodactyl.png and /dev/null differ diff --git a/pic/bmon/fossilkabutops.png b/pic/bmon/fossilkabutops.png deleted file mode 100644 index dd8d41ea..00000000 Binary files a/pic/bmon/fossilkabutops.png and /dev/null differ diff --git a/pic/bmon/gastly.png b/pic/bmon/gastly.png deleted file mode 100644 index 081b121d..00000000 Binary files a/pic/bmon/gastly.png and /dev/null differ diff --git a/pic/bmon/gengar.png b/pic/bmon/gengar.png deleted file mode 100644 index 450662d7..00000000 Binary files a/pic/bmon/gengar.png and /dev/null differ diff --git a/pic/bmon/geodude.png b/pic/bmon/geodude.png deleted file mode 100644 index 4202192a..00000000 Binary files a/pic/bmon/geodude.png and /dev/null differ diff --git a/pic/bmon/gloom.png b/pic/bmon/gloom.png deleted file mode 100644 index c2ea9ba4..00000000 Binary files a/pic/bmon/gloom.png and /dev/null differ diff --git a/pic/bmon/golbat.png b/pic/bmon/golbat.png deleted file mode 100644 index 6abc6f0a..00000000 Binary files a/pic/bmon/golbat.png and /dev/null differ diff --git a/pic/bmon/goldeen.png b/pic/bmon/goldeen.png deleted file mode 100644 index e8cbfddc..00000000 Binary files a/pic/bmon/goldeen.png and /dev/null differ diff --git a/pic/bmon/golduck.png b/pic/bmon/golduck.png deleted file mode 100644 index 5448f7c8..00000000 Binary files a/pic/bmon/golduck.png and /dev/null differ diff --git a/pic/bmon/golem.png b/pic/bmon/golem.png deleted file mode 100644 index 1dba6a67..00000000 Binary files a/pic/bmon/golem.png and /dev/null differ diff --git a/pic/bmon/graveler.png b/pic/bmon/graveler.png deleted file mode 100644 index 0d9da672..00000000 Binary files a/pic/bmon/graveler.png and /dev/null differ diff --git a/pic/bmon/grimer.png b/pic/bmon/grimer.png deleted file mode 100644 index 255b10b9..00000000 Binary files a/pic/bmon/grimer.png and /dev/null differ diff --git a/pic/bmon/growlithe.png b/pic/bmon/growlithe.png deleted file mode 100644 index b753bce7..00000000 Binary files a/pic/bmon/growlithe.png and /dev/null differ diff --git a/pic/bmon/gyarados.png b/pic/bmon/gyarados.png deleted file mode 100644 index a7ed0c17..00000000 Binary files a/pic/bmon/gyarados.png and /dev/null differ diff --git a/pic/bmon/haunter.png b/pic/bmon/haunter.png deleted file mode 100644 index 4d6c758d..00000000 Binary files a/pic/bmon/haunter.png and /dev/null differ diff --git a/pic/bmon/hitmonchan.png b/pic/bmon/hitmonchan.png deleted file mode 100644 index d8a6ffd3..00000000 Binary files a/pic/bmon/hitmonchan.png and /dev/null differ diff --git a/pic/bmon/hitmonlee.png b/pic/bmon/hitmonlee.png deleted file mode 100644 index 36042c68..00000000 Binary files a/pic/bmon/hitmonlee.png and /dev/null differ diff --git a/pic/bmon/horsea.png b/pic/bmon/horsea.png deleted file mode 100644 index cd28df8c..00000000 Binary files a/pic/bmon/horsea.png and /dev/null differ diff --git a/pic/bmon/hypno.png b/pic/bmon/hypno.png deleted file mode 100644 index e7434ea4..00000000 Binary files a/pic/bmon/hypno.png and /dev/null differ diff --git a/pic/bmon/ivysaur.png b/pic/bmon/ivysaur.png deleted file mode 100644 index dad10ae0..00000000 Binary files a/pic/bmon/ivysaur.png and /dev/null differ diff --git a/pic/bmon/jigglypuff.png b/pic/bmon/jigglypuff.png deleted file mode 100644 index a5475777..00000000 Binary files a/pic/bmon/jigglypuff.png and /dev/null differ diff --git a/pic/bmon/jolteon.png b/pic/bmon/jolteon.png deleted file mode 100644 index 7ecd6fbb..00000000 Binary files a/pic/bmon/jolteon.png and /dev/null differ diff --git a/pic/bmon/jynx.png b/pic/bmon/jynx.png deleted file mode 100644 index 583bd5da..00000000 Binary files a/pic/bmon/jynx.png and /dev/null differ diff --git a/pic/bmon/kabuto.png b/pic/bmon/kabuto.png deleted file mode 100644 index e8e44e15..00000000 Binary files a/pic/bmon/kabuto.png and /dev/null differ diff --git a/pic/bmon/kabutops.png b/pic/bmon/kabutops.png deleted file mode 100644 index 39fcb900..00000000 Binary files a/pic/bmon/kabutops.png and /dev/null differ diff --git a/pic/bmon/kadabra.png b/pic/bmon/kadabra.png deleted file mode 100644 index 36589440..00000000 Binary files a/pic/bmon/kadabra.png and /dev/null differ diff --git a/pic/bmon/kakuna.png b/pic/bmon/kakuna.png deleted file mode 100644 index ee350ffd..00000000 Binary files a/pic/bmon/kakuna.png and /dev/null differ diff --git a/pic/bmon/kangaskhan.png b/pic/bmon/kangaskhan.png deleted file mode 100644 index 1c0ba99c..00000000 Binary files a/pic/bmon/kangaskhan.png and /dev/null differ diff --git a/pic/bmon/kingler.png b/pic/bmon/kingler.png deleted file mode 100644 index b2bd7418..00000000 Binary files a/pic/bmon/kingler.png and /dev/null differ diff --git a/pic/bmon/koffing.png b/pic/bmon/koffing.png deleted file mode 100644 index 36961502..00000000 Binary files a/pic/bmon/koffing.png and /dev/null differ diff --git a/pic/bmon/krabby.png b/pic/bmon/krabby.png deleted file mode 100644 index b280e8db..00000000 Binary files a/pic/bmon/krabby.png and /dev/null differ diff --git a/pic/bmon/lapras.png b/pic/bmon/lapras.png deleted file mode 100644 index 822c00e9..00000000 Binary files a/pic/bmon/lapras.png and /dev/null differ diff --git a/pic/bmon/lickitung.png b/pic/bmon/lickitung.png deleted file mode 100644 index 050f7d23..00000000 Binary files a/pic/bmon/lickitung.png and /dev/null differ diff --git a/pic/bmon/machamp.png b/pic/bmon/machamp.png deleted file mode 100644 index c854a2cf..00000000 Binary files a/pic/bmon/machamp.png and /dev/null differ diff --git a/pic/bmon/machoke.png b/pic/bmon/machoke.png deleted file mode 100644 index 317dad96..00000000 Binary files a/pic/bmon/machoke.png and /dev/null differ diff --git a/pic/bmon/machop.png b/pic/bmon/machop.png deleted file mode 100644 index 63909c11..00000000 Binary files a/pic/bmon/machop.png and /dev/null differ diff --git a/pic/bmon/magikarp.png b/pic/bmon/magikarp.png deleted file mode 100644 index e71402f8..00000000 Binary files a/pic/bmon/magikarp.png and /dev/null differ diff --git a/pic/bmon/magmar.png b/pic/bmon/magmar.png deleted file mode 100644 index 9bc1d929..00000000 Binary files a/pic/bmon/magmar.png and /dev/null differ diff --git a/pic/bmon/magnemite.png b/pic/bmon/magnemite.png deleted file mode 100644 index f2254bed..00000000 Binary files a/pic/bmon/magnemite.png and /dev/null differ diff --git a/pic/bmon/magneton.png b/pic/bmon/magneton.png deleted file mode 100644 index 4d0f2cc7..00000000 Binary files a/pic/bmon/magneton.png and /dev/null differ diff --git a/pic/bmon/mankey.png b/pic/bmon/mankey.png deleted file mode 100644 index 303ce1f2..00000000 Binary files a/pic/bmon/mankey.png and /dev/null differ diff --git a/pic/bmon/marowak.png b/pic/bmon/marowak.png deleted file mode 100644 index b2d18437..00000000 Binary files a/pic/bmon/marowak.png and /dev/null differ diff --git a/pic/bmon/meowth.png b/pic/bmon/meowth.png deleted file mode 100644 index 0e706c35..00000000 Binary files a/pic/bmon/meowth.png and /dev/null differ diff --git a/pic/bmon/metapod.png b/pic/bmon/metapod.png deleted file mode 100644 index cbfa6e1e..00000000 Binary files a/pic/bmon/metapod.png and /dev/null differ diff --git a/pic/bmon/mew.png b/pic/bmon/mew.png deleted file mode 100644 index 7e25a96d..00000000 Binary files a/pic/bmon/mew.png and /dev/null differ diff --git a/pic/bmon/mewtwo.png b/pic/bmon/mewtwo.png deleted file mode 100644 index b7a31296..00000000 Binary files a/pic/bmon/mewtwo.png and /dev/null differ diff --git a/pic/bmon/moltres.png b/pic/bmon/moltres.png deleted file mode 100644 index 7c153998..00000000 Binary files a/pic/bmon/moltres.png and /dev/null differ diff --git a/pic/bmon/mr.mime.png b/pic/bmon/mr.mime.png deleted file mode 100644 index d9085ec6..00000000 Binary files a/pic/bmon/mr.mime.png and /dev/null differ diff --git a/pic/bmon/muk.png b/pic/bmon/muk.png deleted file mode 100644 index f69b83b7..00000000 Binary files a/pic/bmon/muk.png and /dev/null differ diff --git a/pic/bmon/nidoking.png b/pic/bmon/nidoking.png deleted file mode 100644 index 24330538..00000000 Binary files a/pic/bmon/nidoking.png and /dev/null differ diff --git a/pic/bmon/nidoqueen.png b/pic/bmon/nidoqueen.png deleted file mode 100644 index c0043e1b..00000000 Binary files a/pic/bmon/nidoqueen.png and /dev/null differ diff --git a/pic/bmon/nidoranf.png b/pic/bmon/nidoranf.png deleted file mode 100644 index 6b58b274..00000000 Binary files a/pic/bmon/nidoranf.png and /dev/null differ diff --git a/pic/bmon/nidoranm.png b/pic/bmon/nidoranm.png deleted file mode 100644 index 92d0cb49..00000000 Binary files a/pic/bmon/nidoranm.png and /dev/null differ diff --git a/pic/bmon/nidorina.png b/pic/bmon/nidorina.png deleted file mode 100644 index 68aca7c4..00000000 Binary files a/pic/bmon/nidorina.png and /dev/null differ diff --git a/pic/bmon/nidorino.png b/pic/bmon/nidorino.png deleted file mode 100644 index 795bf0c5..00000000 Binary files a/pic/bmon/nidorino.png and /dev/null differ diff --git a/pic/bmon/ninetales.png b/pic/bmon/ninetales.png deleted file mode 100644 index ed6bb398..00000000 Binary files a/pic/bmon/ninetales.png and /dev/null differ diff --git a/pic/bmon/oddish.png b/pic/bmon/oddish.png deleted file mode 100644 index e47dabe1..00000000 Binary files a/pic/bmon/oddish.png and /dev/null differ diff --git a/pic/bmon/omanyte.png b/pic/bmon/omanyte.png deleted file mode 100644 index bdfa5440..00000000 Binary files a/pic/bmon/omanyte.png and /dev/null differ diff --git a/pic/bmon/omastar.png b/pic/bmon/omastar.png deleted file mode 100644 index 3221d3d8..00000000 Binary files a/pic/bmon/omastar.png and /dev/null differ diff --git a/pic/bmon/onix.png b/pic/bmon/onix.png deleted file mode 100644 index 44a21a61..00000000 Binary files a/pic/bmon/onix.png and /dev/null differ diff --git a/pic/bmon/paras.png b/pic/bmon/paras.png deleted file mode 100644 index f4909bbd..00000000 Binary files a/pic/bmon/paras.png and /dev/null differ diff --git a/pic/bmon/parasect.png b/pic/bmon/parasect.png deleted file mode 100644 index 938bf53b..00000000 Binary files a/pic/bmon/parasect.png and /dev/null differ diff --git a/pic/bmon/persian.png b/pic/bmon/persian.png deleted file mode 100644 index cc15677a..00000000 Binary files a/pic/bmon/persian.png and /dev/null differ diff --git a/pic/bmon/pidgeot.png b/pic/bmon/pidgeot.png deleted file mode 100644 index 7daf609f..00000000 Binary files a/pic/bmon/pidgeot.png and /dev/null differ diff --git a/pic/bmon/pidgeotto.png b/pic/bmon/pidgeotto.png deleted file mode 100644 index c86b86f1..00000000 Binary files a/pic/bmon/pidgeotto.png and /dev/null differ diff --git a/pic/bmon/pidgey.png b/pic/bmon/pidgey.png deleted file mode 100644 index 70d9dd4a..00000000 Binary files a/pic/bmon/pidgey.png and /dev/null differ diff --git a/pic/bmon/pikachu.png b/pic/bmon/pikachu.png deleted file mode 100644 index 159e47e9..00000000 Binary files a/pic/bmon/pikachu.png and /dev/null differ diff --git a/pic/bmon/pinsir.png b/pic/bmon/pinsir.png deleted file mode 100644 index 320c79cb..00000000 Binary files a/pic/bmon/pinsir.png and /dev/null differ diff --git a/pic/bmon/poliwag.png b/pic/bmon/poliwag.png deleted file mode 100644 index 397d2e66..00000000 Binary files a/pic/bmon/poliwag.png and /dev/null differ diff --git a/pic/bmon/poliwhirl.png b/pic/bmon/poliwhirl.png deleted file mode 100644 index a7039145..00000000 Binary files a/pic/bmon/poliwhirl.png and /dev/null differ diff --git a/pic/bmon/poliwrath.png b/pic/bmon/poliwrath.png deleted file mode 100644 index f31d0680..00000000 Binary files a/pic/bmon/poliwrath.png and /dev/null differ diff --git a/pic/bmon/ponyta.png b/pic/bmon/ponyta.png deleted file mode 100644 index 4d8c1bee..00000000 Binary files a/pic/bmon/ponyta.png and /dev/null differ diff --git a/pic/bmon/porygon.png b/pic/bmon/porygon.png deleted file mode 100644 index ba3500c6..00000000 Binary files a/pic/bmon/porygon.png and /dev/null differ diff --git a/pic/bmon/primeape.png b/pic/bmon/primeape.png deleted file mode 100644 index 7c5a1a09..00000000 Binary files a/pic/bmon/primeape.png and /dev/null differ diff --git a/pic/bmon/psyduck.png b/pic/bmon/psyduck.png deleted file mode 100644 index 86772256..00000000 Binary files a/pic/bmon/psyduck.png and /dev/null differ diff --git a/pic/bmon/raichu.png b/pic/bmon/raichu.png deleted file mode 100644 index a29731e5..00000000 Binary files a/pic/bmon/raichu.png and /dev/null differ diff --git a/pic/bmon/rapidash.png b/pic/bmon/rapidash.png deleted file mode 100644 index 62d47506..00000000 Binary files a/pic/bmon/rapidash.png and /dev/null differ diff --git a/pic/bmon/raticate.png b/pic/bmon/raticate.png deleted file mode 100644 index 64340846..00000000 Binary files a/pic/bmon/raticate.png and /dev/null differ diff --git a/pic/bmon/rattata.png b/pic/bmon/rattata.png deleted file mode 100644 index 9b391cca..00000000 Binary files a/pic/bmon/rattata.png and /dev/null differ diff --git a/pic/bmon/rhydon.png b/pic/bmon/rhydon.png deleted file mode 100644 index 92406476..00000000 Binary files a/pic/bmon/rhydon.png and /dev/null differ diff --git a/pic/bmon/rhyhorn.png b/pic/bmon/rhyhorn.png deleted file mode 100644 index 9452b701..00000000 Binary files a/pic/bmon/rhyhorn.png and /dev/null differ diff --git a/pic/bmon/sandshrew.png b/pic/bmon/sandshrew.png deleted file mode 100644 index bcf52215..00000000 Binary files a/pic/bmon/sandshrew.png and /dev/null differ diff --git a/pic/bmon/sandslash.png b/pic/bmon/sandslash.png deleted file mode 100644 index 3b212a60..00000000 Binary files a/pic/bmon/sandslash.png and /dev/null differ diff --git a/pic/bmon/scyther.png b/pic/bmon/scyther.png deleted file mode 100644 index 3fe6eeae..00000000 Binary files a/pic/bmon/scyther.png and /dev/null differ diff --git a/pic/bmon/seadra.png b/pic/bmon/seadra.png deleted file mode 100644 index e8af292f..00000000 Binary files a/pic/bmon/seadra.png and /dev/null differ diff --git a/pic/bmon/seaking.png b/pic/bmon/seaking.png deleted file mode 100644 index ebe70c7e..00000000 Binary files a/pic/bmon/seaking.png and /dev/null differ diff --git a/pic/bmon/seel.png b/pic/bmon/seel.png deleted file mode 100644 index c4b2315a..00000000 Binary files a/pic/bmon/seel.png and /dev/null differ diff --git a/pic/bmon/shellder.png b/pic/bmon/shellder.png deleted file mode 100644 index cf44a7fe..00000000 Binary files a/pic/bmon/shellder.png and /dev/null differ diff --git a/pic/bmon/slowbro.png b/pic/bmon/slowbro.png deleted file mode 100644 index e61ad34b..00000000 Binary files a/pic/bmon/slowbro.png and /dev/null differ diff --git a/pic/bmon/slowpoke.png b/pic/bmon/slowpoke.png deleted file mode 100644 index fdf701d7..00000000 Binary files a/pic/bmon/slowpoke.png and /dev/null differ diff --git a/pic/bmon/snorlax.png b/pic/bmon/snorlax.png deleted file mode 100644 index 5b571a18..00000000 Binary files a/pic/bmon/snorlax.png and /dev/null differ diff --git a/pic/bmon/spearow.png b/pic/bmon/spearow.png deleted file mode 100644 index 835800a5..00000000 Binary files a/pic/bmon/spearow.png and /dev/null differ diff --git a/pic/bmon/squirtle.png b/pic/bmon/squirtle.png deleted file mode 100644 index bc0c9979..00000000 Binary files a/pic/bmon/squirtle.png and /dev/null differ diff --git a/pic/bmon/starmie.png b/pic/bmon/starmie.png deleted file mode 100644 index 24025ddf..00000000 Binary files a/pic/bmon/starmie.png and /dev/null differ diff --git a/pic/bmon/staryu.png b/pic/bmon/staryu.png deleted file mode 100644 index 394732e9..00000000 Binary files a/pic/bmon/staryu.png and /dev/null differ diff --git a/pic/bmon/tangela.png b/pic/bmon/tangela.png deleted file mode 100644 index eff9c5a5..00000000 Binary files a/pic/bmon/tangela.png and /dev/null differ diff --git a/pic/bmon/tauros.png b/pic/bmon/tauros.png deleted file mode 100644 index 3a4edfee..00000000 Binary files a/pic/bmon/tauros.png and /dev/null differ diff --git a/pic/bmon/tentacool.png b/pic/bmon/tentacool.png deleted file mode 100644 index 534e5496..00000000 Binary files a/pic/bmon/tentacool.png and /dev/null differ diff --git a/pic/bmon/tentacruel.png b/pic/bmon/tentacruel.png deleted file mode 100644 index 7a26a305..00000000 Binary files a/pic/bmon/tentacruel.png and /dev/null differ diff --git a/pic/bmon/vaporeon.png b/pic/bmon/vaporeon.png deleted file mode 100644 index 48dafce6..00000000 Binary files a/pic/bmon/vaporeon.png and /dev/null differ diff --git a/pic/bmon/venomoth.png b/pic/bmon/venomoth.png deleted file mode 100644 index e28b1017..00000000 Binary files a/pic/bmon/venomoth.png and /dev/null differ diff --git a/pic/bmon/venonat.png b/pic/bmon/venonat.png deleted file mode 100644 index edf15889..00000000 Binary files a/pic/bmon/venonat.png and /dev/null differ diff --git a/pic/bmon/venusaur.png b/pic/bmon/venusaur.png deleted file mode 100644 index dd39184a..00000000 Binary files a/pic/bmon/venusaur.png and /dev/null differ diff --git a/pic/bmon/victreebel.png b/pic/bmon/victreebel.png deleted file mode 100644 index 29a471c8..00000000 Binary files a/pic/bmon/victreebel.png and /dev/null differ diff --git a/pic/bmon/vileplume.png b/pic/bmon/vileplume.png deleted file mode 100644 index e788425e..00000000 Binary files a/pic/bmon/vileplume.png and /dev/null differ diff --git a/pic/bmon/voltorb.png b/pic/bmon/voltorb.png deleted file mode 100644 index 22d0c675..00000000 Binary files a/pic/bmon/voltorb.png and /dev/null differ diff --git a/pic/bmon/vulpix.png b/pic/bmon/vulpix.png deleted file mode 100644 index f4780ef2..00000000 Binary files a/pic/bmon/vulpix.png and /dev/null differ diff --git a/pic/bmon/wartortle.png b/pic/bmon/wartortle.png deleted file mode 100644 index bd844562..00000000 Binary files a/pic/bmon/wartortle.png and /dev/null differ diff --git a/pic/bmon/weedle.png b/pic/bmon/weedle.png deleted file mode 100644 index 445fe8f3..00000000 Binary files a/pic/bmon/weedle.png and /dev/null differ diff --git a/pic/bmon/weepinbell.png b/pic/bmon/weepinbell.png deleted file mode 100644 index 6ee57334..00000000 Binary files a/pic/bmon/weepinbell.png and /dev/null differ diff --git a/pic/bmon/weezing.png b/pic/bmon/weezing.png deleted file mode 100644 index deb2a623..00000000 Binary files a/pic/bmon/weezing.png and /dev/null differ diff --git a/pic/bmon/wigglytuff.png b/pic/bmon/wigglytuff.png deleted file mode 100644 index c7cd495b..00000000 Binary files a/pic/bmon/wigglytuff.png and /dev/null differ diff --git a/pic/bmon/zapdos.png b/pic/bmon/zapdos.png deleted file mode 100644 index 0bd71f4e..00000000 Binary files a/pic/bmon/zapdos.png and /dev/null differ diff --git a/pic/bmon/zubat.png b/pic/bmon/zubat.png deleted file mode 100644 index 73078725..00000000 Binary files a/pic/bmon/zubat.png and /dev/null differ diff --git a/pic/monback/abrab.png b/pic/monback/abrab.png deleted file mode 100644 index 828c063c..00000000 Binary files a/pic/monback/abrab.png and /dev/null differ diff --git a/pic/monback/aerodactylb.png b/pic/monback/aerodactylb.png deleted file mode 100644 index 88643489..00000000 Binary files a/pic/monback/aerodactylb.png and /dev/null differ diff --git a/pic/monback/alakazamb.png b/pic/monback/alakazamb.png deleted file mode 100644 index acee9083..00000000 Binary files a/pic/monback/alakazamb.png and /dev/null differ diff --git a/pic/monback/arbokb.png b/pic/monback/arbokb.png deleted file mode 100644 index 8aed21b5..00000000 Binary files a/pic/monback/arbokb.png and /dev/null differ diff --git a/pic/monback/arcanineb.png b/pic/monback/arcanineb.png deleted file mode 100644 index bc46be7f..00000000 Binary files a/pic/monback/arcanineb.png and /dev/null differ diff --git a/pic/monback/articunob.png b/pic/monback/articunob.png deleted file mode 100644 index b4529453..00000000 Binary files a/pic/monback/articunob.png and /dev/null differ diff --git a/pic/monback/beedrillb.png b/pic/monback/beedrillb.png deleted file mode 100644 index 66787e7c..00000000 Binary files a/pic/monback/beedrillb.png and /dev/null differ diff --git a/pic/monback/bellsproutb.png b/pic/monback/bellsproutb.png deleted file mode 100644 index e8682420..00000000 Binary files a/pic/monback/bellsproutb.png and /dev/null differ diff --git a/pic/monback/blastoiseb.png b/pic/monback/blastoiseb.png deleted file mode 100644 index 0df4ec2c..00000000 Binary files a/pic/monback/blastoiseb.png and /dev/null differ diff --git a/pic/monback/bulbasaurb.png b/pic/monback/bulbasaurb.png deleted file mode 100644 index dbe2e487..00000000 Binary files a/pic/monback/bulbasaurb.png and /dev/null differ diff --git a/pic/monback/butterfreeb.png b/pic/monback/butterfreeb.png deleted file mode 100644 index 5f3d5ac8..00000000 Binary files a/pic/monback/butterfreeb.png and /dev/null differ diff --git a/pic/monback/caterpieb.png b/pic/monback/caterpieb.png deleted file mode 100644 index f9568087..00000000 Binary files a/pic/monback/caterpieb.png and /dev/null differ diff --git a/pic/monback/chanseyb.png b/pic/monback/chanseyb.png deleted file mode 100644 index c2f5ac3b..00000000 Binary files a/pic/monback/chanseyb.png and /dev/null differ diff --git a/pic/monback/charizardb.png b/pic/monback/charizardb.png deleted file mode 100644 index f5540842..00000000 Binary files a/pic/monback/charizardb.png and /dev/null differ diff --git a/pic/monback/charmanderb.png b/pic/monback/charmanderb.png deleted file mode 100644 index ed75d27d..00000000 Binary files a/pic/monback/charmanderb.png and /dev/null differ diff --git a/pic/monback/charmeleonb.png b/pic/monback/charmeleonb.png deleted file mode 100644 index fedd2f10..00000000 Binary files a/pic/monback/charmeleonb.png and /dev/null differ diff --git a/pic/monback/clefableb.png b/pic/monback/clefableb.png deleted file mode 100644 index 341b48b9..00000000 Binary files a/pic/monback/clefableb.png and /dev/null differ diff --git a/pic/monback/clefairyb.png b/pic/monback/clefairyb.png deleted file mode 100644 index ea0590fc..00000000 Binary files a/pic/monback/clefairyb.png and /dev/null differ diff --git a/pic/monback/cloysterb.png b/pic/monback/cloysterb.png deleted file mode 100644 index 0cfb046e..00000000 Binary files a/pic/monback/cloysterb.png and /dev/null differ diff --git a/pic/monback/cuboneb.png b/pic/monback/cuboneb.png deleted file mode 100644 index dc82e13f..00000000 Binary files a/pic/monback/cuboneb.png and /dev/null differ diff --git a/pic/monback/dewgongb.png b/pic/monback/dewgongb.png deleted file mode 100644 index cbbd148d..00000000 Binary files a/pic/monback/dewgongb.png and /dev/null differ diff --git a/pic/monback/diglettb.png b/pic/monback/diglettb.png deleted file mode 100644 index 15f4dc47..00000000 Binary files a/pic/monback/diglettb.png and /dev/null differ diff --git a/pic/monback/dittob.png b/pic/monback/dittob.png deleted file mode 100644 index 9b95a5db..00000000 Binary files a/pic/monback/dittob.png and /dev/null differ diff --git a/pic/monback/dodriob.png b/pic/monback/dodriob.png deleted file mode 100644 index 7b5796aa..00000000 Binary files a/pic/monback/dodriob.png and /dev/null differ diff --git a/pic/monback/doduob.png b/pic/monback/doduob.png deleted file mode 100644 index 007b9994..00000000 Binary files a/pic/monback/doduob.png and /dev/null differ diff --git a/pic/monback/dragonairb.png b/pic/monback/dragonairb.png deleted file mode 100644 index 581d5d6a..00000000 Binary files a/pic/monback/dragonairb.png and /dev/null differ diff --git a/pic/monback/dragoniteb.png b/pic/monback/dragoniteb.png deleted file mode 100644 index 53f14038..00000000 Binary files a/pic/monback/dragoniteb.png and /dev/null differ diff --git a/pic/monback/dratinib.png b/pic/monback/dratinib.png deleted file mode 100644 index 3d40256d..00000000 Binary files a/pic/monback/dratinib.png and /dev/null differ diff --git a/pic/monback/drowzeeb.png b/pic/monback/drowzeeb.png deleted file mode 100644 index 682c1797..00000000 Binary files a/pic/monback/drowzeeb.png and /dev/null differ diff --git a/pic/monback/dugtriob.png b/pic/monback/dugtriob.png deleted file mode 100644 index 4e72aa93..00000000 Binary files a/pic/monback/dugtriob.png and /dev/null differ diff --git a/pic/monback/eeveeb.png b/pic/monback/eeveeb.png deleted file mode 100644 index 56cfcd2c..00000000 Binary files a/pic/monback/eeveeb.png and /dev/null differ diff --git a/pic/monback/ekansb.png b/pic/monback/ekansb.png deleted file mode 100644 index 82dd96dd..00000000 Binary files a/pic/monback/ekansb.png and /dev/null differ diff --git a/pic/monback/electabuzzb.png b/pic/monback/electabuzzb.png deleted file mode 100644 index 12442d39..00000000 Binary files a/pic/monback/electabuzzb.png and /dev/null differ diff --git a/pic/monback/electrodeb.png b/pic/monback/electrodeb.png deleted file mode 100644 index ab1a5550..00000000 Binary files a/pic/monback/electrodeb.png and /dev/null differ diff --git a/pic/monback/exeggcuteb.png b/pic/monback/exeggcuteb.png deleted file mode 100644 index 6af005b6..00000000 Binary files a/pic/monback/exeggcuteb.png and /dev/null differ diff --git a/pic/monback/exeggutorb.png b/pic/monback/exeggutorb.png deleted file mode 100644 index 95777871..00000000 Binary files a/pic/monback/exeggutorb.png and /dev/null differ diff --git a/pic/monback/farfetchdb.png b/pic/monback/farfetchdb.png deleted file mode 100644 index 389dd556..00000000 Binary files a/pic/monback/farfetchdb.png and /dev/null differ diff --git a/pic/monback/fearowb.png b/pic/monback/fearowb.png deleted file mode 100644 index 542cd06a..00000000 Binary files a/pic/monback/fearowb.png and /dev/null differ diff --git a/pic/monback/flareonb.png b/pic/monback/flareonb.png deleted file mode 100644 index d73544b2..00000000 Binary files a/pic/monback/flareonb.png and /dev/null differ diff --git a/pic/monback/gastlyb.png b/pic/monback/gastlyb.png deleted file mode 100644 index b9c9584b..00000000 Binary files a/pic/monback/gastlyb.png and /dev/null differ diff --git a/pic/monback/gengarb.png b/pic/monback/gengarb.png deleted file mode 100644 index 64ecc4c6..00000000 Binary files a/pic/monback/gengarb.png and /dev/null differ diff --git a/pic/monback/geodudeb.png b/pic/monback/geodudeb.png deleted file mode 100644 index e6d6f2a7..00000000 Binary files a/pic/monback/geodudeb.png and /dev/null differ diff --git a/pic/monback/gloomb.png b/pic/monback/gloomb.png deleted file mode 100644 index e05973b6..00000000 Binary files a/pic/monback/gloomb.png and /dev/null differ diff --git a/pic/monback/golbatb.png b/pic/monback/golbatb.png deleted file mode 100644 index bbce03c5..00000000 Binary files a/pic/monback/golbatb.png and /dev/null differ diff --git a/pic/monback/goldeenb.png b/pic/monback/goldeenb.png deleted file mode 100644 index e7d242df..00000000 Binary files a/pic/monback/goldeenb.png and /dev/null differ diff --git a/pic/monback/golduckb.png b/pic/monback/golduckb.png deleted file mode 100644 index 634605e2..00000000 Binary files a/pic/monback/golduckb.png and /dev/null differ diff --git a/pic/monback/golemb.png b/pic/monback/golemb.png deleted file mode 100644 index 1242d7b5..00000000 Binary files a/pic/monback/golemb.png and /dev/null differ diff --git a/pic/monback/gravelerb.png b/pic/monback/gravelerb.png deleted file mode 100644 index 18a9c317..00000000 Binary files a/pic/monback/gravelerb.png and /dev/null differ diff --git a/pic/monback/grimerb.png b/pic/monback/grimerb.png deleted file mode 100644 index d4b6baf3..00000000 Binary files a/pic/monback/grimerb.png and /dev/null differ diff --git a/pic/monback/growlitheb.png b/pic/monback/growlitheb.png deleted file mode 100644 index b5dd0f7f..00000000 Binary files a/pic/monback/growlitheb.png and /dev/null differ diff --git a/pic/monback/gyaradosb.png b/pic/monback/gyaradosb.png deleted file mode 100644 index 3c6e05a4..00000000 Binary files a/pic/monback/gyaradosb.png and /dev/null differ diff --git a/pic/monback/haunterb.png b/pic/monback/haunterb.png deleted file mode 100644 index 3767db06..00000000 Binary files a/pic/monback/haunterb.png and /dev/null differ diff --git a/pic/monback/hitmonchanb.png b/pic/monback/hitmonchanb.png deleted file mode 100644 index 7b7f0ee6..00000000 Binary files a/pic/monback/hitmonchanb.png and /dev/null differ diff --git a/pic/monback/hitmonleeb.png b/pic/monback/hitmonleeb.png deleted file mode 100644 index 17251aff..00000000 Binary files a/pic/monback/hitmonleeb.png and /dev/null differ diff --git a/pic/monback/horseab.png b/pic/monback/horseab.png deleted file mode 100644 index 39e9163e..00000000 Binary files a/pic/monback/horseab.png and /dev/null differ diff --git a/pic/monback/hypnob.png b/pic/monback/hypnob.png deleted file mode 100644 index 90bcd0e7..00000000 Binary files a/pic/monback/hypnob.png and /dev/null differ diff --git a/pic/monback/ivysaurb.png b/pic/monback/ivysaurb.png deleted file mode 100644 index c6070b7a..00000000 Binary files a/pic/monback/ivysaurb.png and /dev/null differ diff --git a/pic/monback/jigglypuffb.png b/pic/monback/jigglypuffb.png deleted file mode 100644 index cb224907..00000000 Binary files a/pic/monback/jigglypuffb.png and /dev/null differ diff --git a/pic/monback/jolteonb.png b/pic/monback/jolteonb.png deleted file mode 100644 index 30e92499..00000000 Binary files a/pic/monback/jolteonb.png and /dev/null differ diff --git a/pic/monback/jynxb.png b/pic/monback/jynxb.png deleted file mode 100644 index 00c2ad04..00000000 Binary files a/pic/monback/jynxb.png and /dev/null differ diff --git a/pic/monback/kabutob.png b/pic/monback/kabutob.png deleted file mode 100644 index 8c744494..00000000 Binary files a/pic/monback/kabutob.png and /dev/null differ diff --git a/pic/monback/kabutopsb.png b/pic/monback/kabutopsb.png deleted file mode 100644 index cdd1be4f..00000000 Binary files a/pic/monback/kabutopsb.png and /dev/null differ diff --git a/pic/monback/kadabrab.png b/pic/monback/kadabrab.png deleted file mode 100644 index a82d2f11..00000000 Binary files a/pic/monback/kadabrab.png and /dev/null differ diff --git a/pic/monback/kakunab.png b/pic/monback/kakunab.png deleted file mode 100644 index b9fba0ae..00000000 Binary files a/pic/monback/kakunab.png and /dev/null differ diff --git a/pic/monback/kangaskhanb.png b/pic/monback/kangaskhanb.png deleted file mode 100644 index 9d39e9bc..00000000 Binary files a/pic/monback/kangaskhanb.png and /dev/null differ diff --git a/pic/monback/kinglerb.png b/pic/monback/kinglerb.png deleted file mode 100644 index b7db5dc0..00000000 Binary files a/pic/monback/kinglerb.png and /dev/null differ diff --git a/pic/monback/koffingb.png b/pic/monback/koffingb.png deleted file mode 100644 index f3942061..00000000 Binary files a/pic/monback/koffingb.png and /dev/null differ diff --git a/pic/monback/krabbyb.png b/pic/monback/krabbyb.png deleted file mode 100644 index d2e72cf8..00000000 Binary files a/pic/monback/krabbyb.png and /dev/null differ diff --git a/pic/monback/laprasb.png b/pic/monback/laprasb.png deleted file mode 100644 index 83e852f3..00000000 Binary files a/pic/monback/laprasb.png and /dev/null differ diff --git a/pic/monback/lickitungb.png b/pic/monback/lickitungb.png deleted file mode 100644 index 34a8dc7f..00000000 Binary files a/pic/monback/lickitungb.png and /dev/null differ diff --git a/pic/monback/machampb.png b/pic/monback/machampb.png deleted file mode 100644 index 816584bc..00000000 Binary files a/pic/monback/machampb.png and /dev/null differ diff --git a/pic/monback/machokeb.png b/pic/monback/machokeb.png deleted file mode 100644 index f621546f..00000000 Binary files a/pic/monback/machokeb.png and /dev/null differ diff --git a/pic/monback/machopb.png b/pic/monback/machopb.png deleted file mode 100644 index 154f9623..00000000 Binary files a/pic/monback/machopb.png and /dev/null differ diff --git a/pic/monback/magikarpb.png b/pic/monback/magikarpb.png deleted file mode 100644 index e4e93564..00000000 Binary files a/pic/monback/magikarpb.png and /dev/null differ diff --git a/pic/monback/magmarb.png b/pic/monback/magmarb.png deleted file mode 100644 index 3278b43c..00000000 Binary files a/pic/monback/magmarb.png and /dev/null differ diff --git a/pic/monback/magnemiteb.png b/pic/monback/magnemiteb.png deleted file mode 100644 index be2aeadb..00000000 Binary files a/pic/monback/magnemiteb.png and /dev/null differ diff --git a/pic/monback/magnetonb.png b/pic/monback/magnetonb.png deleted file mode 100644 index 19874b61..00000000 Binary files a/pic/monback/magnetonb.png and /dev/null differ diff --git a/pic/monback/mankeyb.png b/pic/monback/mankeyb.png deleted file mode 100644 index bba4907b..00000000 Binary files a/pic/monback/mankeyb.png and /dev/null differ diff --git a/pic/monback/marowakb.png b/pic/monback/marowakb.png deleted file mode 100644 index 62907099..00000000 Binary files a/pic/monback/marowakb.png and /dev/null differ diff --git a/pic/monback/meowthb.png b/pic/monback/meowthb.png deleted file mode 100644 index c9d7057b..00000000 Binary files a/pic/monback/meowthb.png and /dev/null differ diff --git a/pic/monback/metapodb.png b/pic/monback/metapodb.png deleted file mode 100644 index db7d4e06..00000000 Binary files a/pic/monback/metapodb.png and /dev/null differ diff --git a/pic/monback/mewb.png b/pic/monback/mewb.png deleted file mode 100644 index 89816a6f..00000000 Binary files a/pic/monback/mewb.png and /dev/null differ diff --git a/pic/monback/mewtwob.png b/pic/monback/mewtwob.png deleted file mode 100644 index c57ffe5d..00000000 Binary files a/pic/monback/mewtwob.png and /dev/null differ diff --git a/pic/monback/moltresb.png b/pic/monback/moltresb.png deleted file mode 100644 index 992708c9..00000000 Binary files a/pic/monback/moltresb.png and /dev/null differ diff --git a/pic/monback/mr.mimeb.png b/pic/monback/mr.mimeb.png deleted file mode 100644 index 3902dace..00000000 Binary files a/pic/monback/mr.mimeb.png and /dev/null differ diff --git a/pic/monback/mukb.png b/pic/monback/mukb.png deleted file mode 100644 index 9fcaab51..00000000 Binary files a/pic/monback/mukb.png and /dev/null differ diff --git a/pic/monback/nidokingb.png b/pic/monback/nidokingb.png deleted file mode 100644 index cfd9c689..00000000 Binary files a/pic/monback/nidokingb.png and /dev/null differ diff --git a/pic/monback/nidoqueenb.png b/pic/monback/nidoqueenb.png deleted file mode 100644 index c6114752..00000000 Binary files a/pic/monback/nidoqueenb.png and /dev/null differ diff --git a/pic/monback/nidoranfb.png b/pic/monback/nidoranfb.png deleted file mode 100644 index 803ac656..00000000 Binary files a/pic/monback/nidoranfb.png and /dev/null differ diff --git a/pic/monback/nidoranmb.png b/pic/monback/nidoranmb.png deleted file mode 100644 index 756fe9bf..00000000 Binary files a/pic/monback/nidoranmb.png and /dev/null differ diff --git a/pic/monback/nidorinab.png b/pic/monback/nidorinab.png deleted file mode 100644 index 7b369bcc..00000000 Binary files a/pic/monback/nidorinab.png and /dev/null differ diff --git a/pic/monback/nidorinob.png b/pic/monback/nidorinob.png deleted file mode 100644 index a5df5095..00000000 Binary files a/pic/monback/nidorinob.png and /dev/null differ diff --git a/pic/monback/ninetalesb.png b/pic/monback/ninetalesb.png deleted file mode 100644 index 8c5e5953..00000000 Binary files a/pic/monback/ninetalesb.png and /dev/null differ diff --git a/pic/monback/oddishb.png b/pic/monback/oddishb.png deleted file mode 100644 index 022491c4..00000000 Binary files a/pic/monback/oddishb.png and /dev/null differ diff --git a/pic/monback/omanyteb.png b/pic/monback/omanyteb.png deleted file mode 100644 index fd3152e8..00000000 Binary files a/pic/monback/omanyteb.png and /dev/null differ diff --git a/pic/monback/omastarb.png b/pic/monback/omastarb.png deleted file mode 100644 index 38defee4..00000000 Binary files a/pic/monback/omastarb.png and /dev/null differ diff --git a/pic/monback/onixb.png b/pic/monback/onixb.png deleted file mode 100644 index c2f35005..00000000 Binary files a/pic/monback/onixb.png and /dev/null differ diff --git a/pic/monback/parasb.png b/pic/monback/parasb.png deleted file mode 100644 index 810cac1a..00000000 Binary files a/pic/monback/parasb.png and /dev/null differ diff --git a/pic/monback/parasectb.png b/pic/monback/parasectb.png deleted file mode 100644 index 1cbaade2..00000000 Binary files a/pic/monback/parasectb.png and /dev/null differ diff --git a/pic/monback/persianb.png b/pic/monback/persianb.png deleted file mode 100644 index 6fe4545d..00000000 Binary files a/pic/monback/persianb.png and /dev/null differ diff --git a/pic/monback/pidgeotb.png b/pic/monback/pidgeotb.png deleted file mode 100644 index 06131268..00000000 Binary files a/pic/monback/pidgeotb.png and /dev/null differ diff --git a/pic/monback/pidgeottob.png b/pic/monback/pidgeottob.png deleted file mode 100644 index b7b5f707..00000000 Binary files a/pic/monback/pidgeottob.png and /dev/null differ diff --git a/pic/monback/pidgeyb.png b/pic/monback/pidgeyb.png deleted file mode 100644 index c7eec098..00000000 Binary files a/pic/monback/pidgeyb.png and /dev/null differ diff --git a/pic/monback/pikachub.png b/pic/monback/pikachub.png deleted file mode 100644 index a0cb1faf..00000000 Binary files a/pic/monback/pikachub.png and /dev/null differ diff --git a/pic/monback/pinsirb.png b/pic/monback/pinsirb.png deleted file mode 100644 index 14b65dc5..00000000 Binary files a/pic/monback/pinsirb.png and /dev/null differ diff --git a/pic/monback/poliwagb.png b/pic/monback/poliwagb.png deleted file mode 100644 index d46d804f..00000000 Binary files a/pic/monback/poliwagb.png and /dev/null differ diff --git a/pic/monback/poliwhirlb.png b/pic/monback/poliwhirlb.png deleted file mode 100644 index 0b078460..00000000 Binary files a/pic/monback/poliwhirlb.png and /dev/null differ diff --git a/pic/monback/poliwrathb.png b/pic/monback/poliwrathb.png deleted file mode 100644 index 9d80eafc..00000000 Binary files a/pic/monback/poliwrathb.png and /dev/null differ diff --git a/pic/monback/ponytab.png b/pic/monback/ponytab.png deleted file mode 100644 index 1efc01af..00000000 Binary files a/pic/monback/ponytab.png and /dev/null differ diff --git a/pic/monback/porygonb.png b/pic/monback/porygonb.png deleted file mode 100644 index c9f94319..00000000 Binary files a/pic/monback/porygonb.png and /dev/null differ diff --git a/pic/monback/primeapeb.png b/pic/monback/primeapeb.png deleted file mode 100644 index 0a4da28f..00000000 Binary files a/pic/monback/primeapeb.png and /dev/null differ diff --git a/pic/monback/psyduckb.png b/pic/monback/psyduckb.png deleted file mode 100644 index 7d77dc75..00000000 Binary files a/pic/monback/psyduckb.png and /dev/null differ diff --git a/pic/monback/raichub.png b/pic/monback/raichub.png deleted file mode 100644 index 3d8d93c7..00000000 Binary files a/pic/monback/raichub.png and /dev/null differ diff --git a/pic/monback/rapidashb.png b/pic/monback/rapidashb.png deleted file mode 100644 index 36258b71..00000000 Binary files a/pic/monback/rapidashb.png and /dev/null differ diff --git a/pic/monback/raticateb.png b/pic/monback/raticateb.png deleted file mode 100644 index bbc1ac5a..00000000 Binary files a/pic/monback/raticateb.png and /dev/null differ diff --git a/pic/monback/rattatab.png b/pic/monback/rattatab.png deleted file mode 100644 index e1aa812d..00000000 Binary files a/pic/monback/rattatab.png and /dev/null differ diff --git a/pic/monback/rhydonb.png b/pic/monback/rhydonb.png deleted file mode 100644 index 12a20582..00000000 Binary files a/pic/monback/rhydonb.png and /dev/null differ diff --git a/pic/monback/rhyhornb.png b/pic/monback/rhyhornb.png deleted file mode 100644 index 88dc72c1..00000000 Binary files a/pic/monback/rhyhornb.png and /dev/null differ diff --git a/pic/monback/sandshrewb.png b/pic/monback/sandshrewb.png deleted file mode 100644 index 439c59f0..00000000 Binary files a/pic/monback/sandshrewb.png and /dev/null differ diff --git a/pic/monback/sandslashb.png b/pic/monback/sandslashb.png deleted file mode 100644 index 18a5490f..00000000 Binary files a/pic/monback/sandslashb.png and /dev/null differ diff --git a/pic/monback/scytherb.png b/pic/monback/scytherb.png deleted file mode 100644 index d68204b0..00000000 Binary files a/pic/monback/scytherb.png and /dev/null differ diff --git a/pic/monback/seadrab.png b/pic/monback/seadrab.png deleted file mode 100644 index a7ab0daf..00000000 Binary files a/pic/monback/seadrab.png and /dev/null differ diff --git a/pic/monback/seakingb.png b/pic/monback/seakingb.png deleted file mode 100644 index a46b61b8..00000000 Binary files a/pic/monback/seakingb.png and /dev/null differ diff --git a/pic/monback/seelb.png b/pic/monback/seelb.png deleted file mode 100644 index f8b1a190..00000000 Binary files a/pic/monback/seelb.png and /dev/null differ diff --git a/pic/monback/shellderb.png b/pic/monback/shellderb.png deleted file mode 100644 index e7288bf6..00000000 Binary files a/pic/monback/shellderb.png and /dev/null differ diff --git a/pic/monback/slowbrob.png b/pic/monback/slowbrob.png deleted file mode 100644 index d1a58548..00000000 Binary files a/pic/monback/slowbrob.png and /dev/null differ diff --git a/pic/monback/slowpokeb.png b/pic/monback/slowpokeb.png deleted file mode 100644 index ddb3a878..00000000 Binary files a/pic/monback/slowpokeb.png and /dev/null differ diff --git a/pic/monback/snorlaxb.png b/pic/monback/snorlaxb.png deleted file mode 100644 index ea704f80..00000000 Binary files a/pic/monback/snorlaxb.png and /dev/null differ diff --git a/pic/monback/spearowb.png b/pic/monback/spearowb.png deleted file mode 100644 index 7bd385a9..00000000 Binary files a/pic/monback/spearowb.png and /dev/null differ diff --git a/pic/monback/squirtleb.png b/pic/monback/squirtleb.png deleted file mode 100644 index a5679293..00000000 Binary files a/pic/monback/squirtleb.png and /dev/null differ diff --git a/pic/monback/starmieb.png b/pic/monback/starmieb.png deleted file mode 100644 index f01303b8..00000000 Binary files a/pic/monback/starmieb.png and /dev/null differ diff --git a/pic/monback/staryub.png b/pic/monback/staryub.png deleted file mode 100644 index 2e35efa8..00000000 Binary files a/pic/monback/staryub.png and /dev/null differ diff --git a/pic/monback/tangelab.png b/pic/monback/tangelab.png deleted file mode 100644 index cbb035d9..00000000 Binary files a/pic/monback/tangelab.png and /dev/null differ diff --git a/pic/monback/taurosb.png b/pic/monback/taurosb.png deleted file mode 100644 index 9e835e80..00000000 Binary files a/pic/monback/taurosb.png and /dev/null differ diff --git a/pic/monback/tentacoolb.png b/pic/monback/tentacoolb.png deleted file mode 100644 index 5aa3b9cd..00000000 Binary files a/pic/monback/tentacoolb.png and /dev/null differ diff --git a/pic/monback/tentacruelb.png b/pic/monback/tentacruelb.png deleted file mode 100644 index 8510367f..00000000 Binary files a/pic/monback/tentacruelb.png and /dev/null differ diff --git a/pic/monback/vaporeonb.png b/pic/monback/vaporeonb.png deleted file mode 100644 index dd7f7818..00000000 Binary files a/pic/monback/vaporeonb.png and /dev/null differ diff --git a/pic/monback/venomothb.png b/pic/monback/venomothb.png deleted file mode 100644 index 8282fa45..00000000 Binary files a/pic/monback/venomothb.png and /dev/null differ diff --git a/pic/monback/venonatb.png b/pic/monback/venonatb.png deleted file mode 100644 index 1eafa547..00000000 Binary files a/pic/monback/venonatb.png and /dev/null differ diff --git a/pic/monback/venusaurb.png b/pic/monback/venusaurb.png deleted file mode 100644 index f0f85d44..00000000 Binary files a/pic/monback/venusaurb.png and /dev/null differ diff --git a/pic/monback/victreebelb.png b/pic/monback/victreebelb.png deleted file mode 100644 index 7f1c8057..00000000 Binary files a/pic/monback/victreebelb.png and /dev/null differ diff --git a/pic/monback/vileplumeb.png b/pic/monback/vileplumeb.png deleted file mode 100644 index 34ac2d95..00000000 Binary files a/pic/monback/vileplumeb.png and /dev/null differ diff --git a/pic/monback/voltorbb.png b/pic/monback/voltorbb.png deleted file mode 100644 index 119bce73..00000000 Binary files a/pic/monback/voltorbb.png and /dev/null differ diff --git a/pic/monback/vulpixb.png b/pic/monback/vulpixb.png deleted file mode 100644 index 29bb2ff9..00000000 Binary files a/pic/monback/vulpixb.png and /dev/null differ diff --git a/pic/monback/wartortleb.png b/pic/monback/wartortleb.png deleted file mode 100644 index d0e6ad69..00000000 Binary files a/pic/monback/wartortleb.png and /dev/null differ diff --git a/pic/monback/weedleb.png b/pic/monback/weedleb.png deleted file mode 100644 index 2acaf4ee..00000000 Binary files a/pic/monback/weedleb.png and /dev/null differ diff --git a/pic/monback/weepinbellb.png b/pic/monback/weepinbellb.png deleted file mode 100644 index 6362db7e..00000000 Binary files a/pic/monback/weepinbellb.png and /dev/null differ diff --git a/pic/monback/weezingb.png b/pic/monback/weezingb.png deleted file mode 100644 index 20d59b12..00000000 Binary files a/pic/monback/weezingb.png and /dev/null differ diff --git a/pic/monback/wigglytuffb.png b/pic/monback/wigglytuffb.png deleted file mode 100644 index 235bc319..00000000 Binary files a/pic/monback/wigglytuffb.png and /dev/null differ diff --git a/pic/monback/zapdosb.png b/pic/monback/zapdosb.png deleted file mode 100644 index 72831372..00000000 Binary files a/pic/monback/zapdosb.png and /dev/null differ diff --git a/pic/monback/zubatb.png b/pic/monback/zubatb.png deleted file mode 100644 index 2738acd8..00000000 Binary files a/pic/monback/zubatb.png and /dev/null differ diff --git a/pic/other/ghost.png b/pic/other/ghost.png deleted file mode 100644 index bfe7ef12..00000000 Binary files a/pic/other/ghost.png and /dev/null differ diff --git a/pic/rgmon/abra.png b/pic/rgmon/abra.png deleted file mode 100644 index bc0cb24b..00000000 Binary files a/pic/rgmon/abra.png and /dev/null differ diff --git a/pic/rgmon/aerodactyl.png b/pic/rgmon/aerodactyl.png deleted file mode 100644 index 89812b32..00000000 Binary files a/pic/rgmon/aerodactyl.png and /dev/null differ diff --git a/pic/rgmon/alakazam.png b/pic/rgmon/alakazam.png deleted file mode 100644 index 3a8b32d1..00000000 Binary files a/pic/rgmon/alakazam.png and /dev/null differ diff --git a/pic/rgmon/arbok.png b/pic/rgmon/arbok.png deleted file mode 100644 index dab294f5..00000000 Binary files a/pic/rgmon/arbok.png and /dev/null differ diff --git a/pic/rgmon/arcanine.png b/pic/rgmon/arcanine.png deleted file mode 100644 index 0149138b..00000000 Binary files a/pic/rgmon/arcanine.png and /dev/null differ diff --git a/pic/rgmon/articuno.png b/pic/rgmon/articuno.png deleted file mode 100644 index 99b6385d..00000000 Binary files a/pic/rgmon/articuno.png and /dev/null differ diff --git a/pic/rgmon/beedrill.png b/pic/rgmon/beedrill.png deleted file mode 100644 index b6f31036..00000000 Binary files a/pic/rgmon/beedrill.png and /dev/null differ diff --git a/pic/rgmon/bellsprout.png b/pic/rgmon/bellsprout.png deleted file mode 100644 index 380913d5..00000000 Binary files a/pic/rgmon/bellsprout.png and /dev/null differ diff --git a/pic/rgmon/blastoise.png b/pic/rgmon/blastoise.png deleted file mode 100644 index 97bf497b..00000000 Binary files a/pic/rgmon/blastoise.png and /dev/null differ diff --git a/pic/rgmon/bulbasaur.png b/pic/rgmon/bulbasaur.png deleted file mode 100644 index 1a4676a1..00000000 Binary files a/pic/rgmon/bulbasaur.png and /dev/null differ diff --git a/pic/rgmon/butterfree.png b/pic/rgmon/butterfree.png deleted file mode 100644 index 0b3044d4..00000000 Binary files a/pic/rgmon/butterfree.png and /dev/null differ diff --git a/pic/rgmon/caterpie.png b/pic/rgmon/caterpie.png deleted file mode 100644 index dca52b88..00000000 Binary files a/pic/rgmon/caterpie.png and /dev/null differ diff --git a/pic/rgmon/chansey.png b/pic/rgmon/chansey.png deleted file mode 100644 index fa47540e..00000000 Binary files a/pic/rgmon/chansey.png and /dev/null differ diff --git a/pic/rgmon/charizard.png b/pic/rgmon/charizard.png deleted file mode 100644 index a8b87e05..00000000 Binary files a/pic/rgmon/charizard.png and /dev/null differ diff --git a/pic/rgmon/charmander.png b/pic/rgmon/charmander.png deleted file mode 100644 index 153f9381..00000000 Binary files a/pic/rgmon/charmander.png and /dev/null differ diff --git a/pic/rgmon/charmeleon.png b/pic/rgmon/charmeleon.png deleted file mode 100644 index f60d1294..00000000 Binary files a/pic/rgmon/charmeleon.png and /dev/null differ diff --git a/pic/rgmon/clefable.png b/pic/rgmon/clefable.png deleted file mode 100644 index 8ef6be5f..00000000 Binary files a/pic/rgmon/clefable.png and /dev/null differ diff --git a/pic/rgmon/clefairy.png b/pic/rgmon/clefairy.png deleted file mode 100644 index 632844d5..00000000 Binary files a/pic/rgmon/clefairy.png and /dev/null differ diff --git a/pic/rgmon/cloyster.png b/pic/rgmon/cloyster.png deleted file mode 100644 index b6e16485..00000000 Binary files a/pic/rgmon/cloyster.png and /dev/null differ diff --git a/pic/rgmon/cubone.png b/pic/rgmon/cubone.png deleted file mode 100644 index 1312b7c7..00000000 Binary files a/pic/rgmon/cubone.png and /dev/null differ diff --git a/pic/rgmon/dewgong.png b/pic/rgmon/dewgong.png deleted file mode 100644 index 823b7125..00000000 Binary files a/pic/rgmon/dewgong.png and /dev/null differ diff --git a/pic/rgmon/diglett.png b/pic/rgmon/diglett.png deleted file mode 100644 index 69b93a90..00000000 Binary files a/pic/rgmon/diglett.png and /dev/null differ diff --git a/pic/rgmon/ditto.png b/pic/rgmon/ditto.png deleted file mode 100644 index 1a38c474..00000000 Binary files a/pic/rgmon/ditto.png and /dev/null differ diff --git a/pic/rgmon/dodrio.png b/pic/rgmon/dodrio.png deleted file mode 100644 index c88fa388..00000000 Binary files a/pic/rgmon/dodrio.png and /dev/null differ diff --git a/pic/rgmon/doduo.png b/pic/rgmon/doduo.png deleted file mode 100644 index c95aae73..00000000 Binary files a/pic/rgmon/doduo.png and /dev/null differ diff --git a/pic/rgmon/dragonair.png b/pic/rgmon/dragonair.png deleted file mode 100644 index fe097cfa..00000000 Binary files a/pic/rgmon/dragonair.png and /dev/null differ diff --git a/pic/rgmon/dragonite.png b/pic/rgmon/dragonite.png deleted file mode 100644 index 49474a4d..00000000 Binary files a/pic/rgmon/dragonite.png and /dev/null differ diff --git a/pic/rgmon/dratini.png b/pic/rgmon/dratini.png deleted file mode 100644 index 9c7e454d..00000000 Binary files a/pic/rgmon/dratini.png and /dev/null differ diff --git a/pic/rgmon/drowzee.png b/pic/rgmon/drowzee.png deleted file mode 100644 index b8cdf0db..00000000 Binary files a/pic/rgmon/drowzee.png and /dev/null differ diff --git a/pic/rgmon/dugtrio.png b/pic/rgmon/dugtrio.png deleted file mode 100644 index 1619ab92..00000000 Binary files a/pic/rgmon/dugtrio.png and /dev/null differ diff --git a/pic/rgmon/eevee.png b/pic/rgmon/eevee.png deleted file mode 100644 index b8fcab5a..00000000 Binary files a/pic/rgmon/eevee.png and /dev/null differ diff --git a/pic/rgmon/ekans.png b/pic/rgmon/ekans.png deleted file mode 100644 index cd43c69c..00000000 Binary files a/pic/rgmon/ekans.png and /dev/null differ diff --git a/pic/rgmon/electabuzz.png b/pic/rgmon/electabuzz.png deleted file mode 100644 index 24791e64..00000000 Binary files a/pic/rgmon/electabuzz.png and /dev/null differ diff --git a/pic/rgmon/electrode.png b/pic/rgmon/electrode.png deleted file mode 100644 index ff812003..00000000 Binary files a/pic/rgmon/electrode.png and /dev/null differ diff --git a/pic/rgmon/exeggcute.png b/pic/rgmon/exeggcute.png deleted file mode 100644 index 63b55927..00000000 Binary files a/pic/rgmon/exeggcute.png and /dev/null differ diff --git a/pic/rgmon/exeggutor.png b/pic/rgmon/exeggutor.png deleted file mode 100644 index dc1f7287..00000000 Binary files a/pic/rgmon/exeggutor.png and /dev/null differ diff --git a/pic/rgmon/farfetchd.png b/pic/rgmon/farfetchd.png deleted file mode 100644 index bd97b9e8..00000000 Binary files a/pic/rgmon/farfetchd.png and /dev/null differ diff --git a/pic/rgmon/fearow.png b/pic/rgmon/fearow.png deleted file mode 100644 index 93d7a847..00000000 Binary files a/pic/rgmon/fearow.png and /dev/null differ diff --git a/pic/rgmon/flareon.png b/pic/rgmon/flareon.png deleted file mode 100644 index 7a39866a..00000000 Binary files a/pic/rgmon/flareon.png and /dev/null differ diff --git a/pic/rgmon/fossilaerodactyl.png b/pic/rgmon/fossilaerodactyl.png deleted file mode 100644 index 27d5c3ac..00000000 Binary files a/pic/rgmon/fossilaerodactyl.png and /dev/null differ diff --git a/pic/rgmon/fossilkabutops.png b/pic/rgmon/fossilkabutops.png deleted file mode 100644 index d37edb02..00000000 Binary files a/pic/rgmon/fossilkabutops.png and /dev/null differ diff --git a/pic/rgmon/gastly.png b/pic/rgmon/gastly.png deleted file mode 100644 index a5c0f406..00000000 Binary files a/pic/rgmon/gastly.png and /dev/null differ diff --git a/pic/rgmon/gengar.png b/pic/rgmon/gengar.png deleted file mode 100644 index cb31fecf..00000000 Binary files a/pic/rgmon/gengar.png and /dev/null differ diff --git a/pic/rgmon/geodude.png b/pic/rgmon/geodude.png deleted file mode 100644 index 02b690e9..00000000 Binary files a/pic/rgmon/geodude.png and /dev/null differ diff --git a/pic/rgmon/gloom.png b/pic/rgmon/gloom.png deleted file mode 100644 index c2fd2aa7..00000000 Binary files a/pic/rgmon/gloom.png and /dev/null differ diff --git a/pic/rgmon/golbat.png b/pic/rgmon/golbat.png deleted file mode 100644 index 1fb2a341..00000000 Binary files a/pic/rgmon/golbat.png and /dev/null differ diff --git a/pic/rgmon/goldeen.png b/pic/rgmon/goldeen.png deleted file mode 100644 index bee7de2a..00000000 Binary files a/pic/rgmon/goldeen.png and /dev/null differ diff --git a/pic/rgmon/golduck.png b/pic/rgmon/golduck.png deleted file mode 100644 index a0827b54..00000000 Binary files a/pic/rgmon/golduck.png and /dev/null differ diff --git a/pic/rgmon/golem.png b/pic/rgmon/golem.png deleted file mode 100644 index 86ea3c68..00000000 Binary files a/pic/rgmon/golem.png and /dev/null differ diff --git a/pic/rgmon/graveler.png b/pic/rgmon/graveler.png deleted file mode 100644 index 5e876f0b..00000000 Binary files a/pic/rgmon/graveler.png and /dev/null differ diff --git a/pic/rgmon/grimer.png b/pic/rgmon/grimer.png deleted file mode 100644 index cc6931fb..00000000 Binary files a/pic/rgmon/grimer.png and /dev/null differ diff --git a/pic/rgmon/growlithe.png b/pic/rgmon/growlithe.png deleted file mode 100644 index 1aafd535..00000000 Binary files a/pic/rgmon/growlithe.png and /dev/null differ diff --git a/pic/rgmon/gyarados.png b/pic/rgmon/gyarados.png deleted file mode 100644 index 4d25aabb..00000000 Binary files a/pic/rgmon/gyarados.png and /dev/null differ diff --git a/pic/rgmon/haunter.png b/pic/rgmon/haunter.png deleted file mode 100644 index 531c8a62..00000000 Binary files a/pic/rgmon/haunter.png and /dev/null differ diff --git a/pic/rgmon/hitmonchan.png b/pic/rgmon/hitmonchan.png deleted file mode 100644 index 1774dd18..00000000 Binary files a/pic/rgmon/hitmonchan.png and /dev/null differ diff --git a/pic/rgmon/hitmonlee.png b/pic/rgmon/hitmonlee.png deleted file mode 100644 index 04ca9be3..00000000 Binary files a/pic/rgmon/hitmonlee.png and /dev/null differ diff --git a/pic/rgmon/horsea.png b/pic/rgmon/horsea.png deleted file mode 100644 index 0d11d78c..00000000 Binary files a/pic/rgmon/horsea.png and /dev/null differ diff --git a/pic/rgmon/hypno.png b/pic/rgmon/hypno.png deleted file mode 100644 index f29559c2..00000000 Binary files a/pic/rgmon/hypno.png and /dev/null differ diff --git a/pic/rgmon/ivysaur.png b/pic/rgmon/ivysaur.png deleted file mode 100644 index 337bc27d..00000000 Binary files a/pic/rgmon/ivysaur.png and /dev/null differ diff --git a/pic/rgmon/jigglypuff.png b/pic/rgmon/jigglypuff.png deleted file mode 100644 index 607c429e..00000000 Binary files a/pic/rgmon/jigglypuff.png and /dev/null differ diff --git a/pic/rgmon/jolteon.png b/pic/rgmon/jolteon.png deleted file mode 100644 index fab34a30..00000000 Binary files a/pic/rgmon/jolteon.png and /dev/null differ diff --git a/pic/rgmon/jynx.png b/pic/rgmon/jynx.png deleted file mode 100644 index 6966ce34..00000000 Binary files a/pic/rgmon/jynx.png and /dev/null differ diff --git a/pic/rgmon/kabuto.png b/pic/rgmon/kabuto.png deleted file mode 100644 index b8923ad7..00000000 Binary files a/pic/rgmon/kabuto.png and /dev/null differ diff --git a/pic/rgmon/kabutops.png b/pic/rgmon/kabutops.png deleted file mode 100644 index 0f33c4d0..00000000 Binary files a/pic/rgmon/kabutops.png and /dev/null differ diff --git a/pic/rgmon/kadabra.png b/pic/rgmon/kadabra.png deleted file mode 100644 index 8b8abc1a..00000000 Binary files a/pic/rgmon/kadabra.png and /dev/null differ diff --git a/pic/rgmon/kakuna.png b/pic/rgmon/kakuna.png deleted file mode 100644 index 0cc6eabf..00000000 Binary files a/pic/rgmon/kakuna.png and /dev/null differ diff --git a/pic/rgmon/kangaskhan.png b/pic/rgmon/kangaskhan.png deleted file mode 100644 index c9d3361d..00000000 Binary files a/pic/rgmon/kangaskhan.png and /dev/null differ diff --git a/pic/rgmon/kingler.png b/pic/rgmon/kingler.png deleted file mode 100644 index c1302fbf..00000000 Binary files a/pic/rgmon/kingler.png and /dev/null differ diff --git a/pic/rgmon/koffing.png b/pic/rgmon/koffing.png deleted file mode 100644 index e6dfee04..00000000 Binary files a/pic/rgmon/koffing.png and /dev/null differ diff --git a/pic/rgmon/krabby.png b/pic/rgmon/krabby.png deleted file mode 100644 index 2740128f..00000000 Binary files a/pic/rgmon/krabby.png and /dev/null differ diff --git a/pic/rgmon/lapras.png b/pic/rgmon/lapras.png deleted file mode 100644 index b696b8d9..00000000 Binary files a/pic/rgmon/lapras.png and /dev/null differ diff --git a/pic/rgmon/lickitung.png b/pic/rgmon/lickitung.png deleted file mode 100644 index 3deb9b12..00000000 Binary files a/pic/rgmon/lickitung.png and /dev/null differ diff --git a/pic/rgmon/machamp.png b/pic/rgmon/machamp.png deleted file mode 100644 index a6f773a0..00000000 Binary files a/pic/rgmon/machamp.png and /dev/null differ diff --git a/pic/rgmon/machoke.png b/pic/rgmon/machoke.png deleted file mode 100644 index ed637897..00000000 Binary files a/pic/rgmon/machoke.png and /dev/null differ diff --git a/pic/rgmon/machop.png b/pic/rgmon/machop.png deleted file mode 100644 index a5e20532..00000000 Binary files a/pic/rgmon/machop.png and /dev/null differ diff --git a/pic/rgmon/magikarp.png b/pic/rgmon/magikarp.png deleted file mode 100644 index 68bc4f8c..00000000 Binary files a/pic/rgmon/magikarp.png and /dev/null differ diff --git a/pic/rgmon/magmar.png b/pic/rgmon/magmar.png deleted file mode 100644 index f12bd2f2..00000000 Binary files a/pic/rgmon/magmar.png and /dev/null differ diff --git a/pic/rgmon/magnemite.png b/pic/rgmon/magnemite.png deleted file mode 100644 index fc807398..00000000 Binary files a/pic/rgmon/magnemite.png and /dev/null differ diff --git a/pic/rgmon/magneton.png b/pic/rgmon/magneton.png deleted file mode 100644 index 51a3f12c..00000000 Binary files a/pic/rgmon/magneton.png and /dev/null differ diff --git a/pic/rgmon/mankey.png b/pic/rgmon/mankey.png deleted file mode 100644 index 9ae43757..00000000 Binary files a/pic/rgmon/mankey.png and /dev/null differ diff --git a/pic/rgmon/marowak.png b/pic/rgmon/marowak.png deleted file mode 100644 index 8ac6c6ee..00000000 Binary files a/pic/rgmon/marowak.png and /dev/null differ diff --git a/pic/rgmon/meowth.png b/pic/rgmon/meowth.png deleted file mode 100644 index d00a08db..00000000 Binary files a/pic/rgmon/meowth.png and /dev/null differ diff --git a/pic/rgmon/metapod.png b/pic/rgmon/metapod.png deleted file mode 100644 index 5d7514f4..00000000 Binary files a/pic/rgmon/metapod.png and /dev/null differ diff --git a/pic/rgmon/mew.png b/pic/rgmon/mew.png deleted file mode 100644 index 0d9bef36..00000000 Binary files a/pic/rgmon/mew.png and /dev/null differ diff --git a/pic/rgmon/mewtwo.png b/pic/rgmon/mewtwo.png deleted file mode 100644 index b41409ca..00000000 Binary files a/pic/rgmon/mewtwo.png and /dev/null differ diff --git a/pic/rgmon/moltres.png b/pic/rgmon/moltres.png deleted file mode 100644 index 52259f4a..00000000 Binary files a/pic/rgmon/moltres.png and /dev/null differ diff --git a/pic/rgmon/mr.mime.png b/pic/rgmon/mr.mime.png deleted file mode 100644 index 6dca1791..00000000 Binary files a/pic/rgmon/mr.mime.png and /dev/null differ diff --git a/pic/rgmon/muk.png b/pic/rgmon/muk.png deleted file mode 100644 index 8816e939..00000000 Binary files a/pic/rgmon/muk.png and /dev/null differ diff --git a/pic/rgmon/nidoking.png b/pic/rgmon/nidoking.png deleted file mode 100644 index c181e60c..00000000 Binary files a/pic/rgmon/nidoking.png and /dev/null differ diff --git a/pic/rgmon/nidoqueen.png b/pic/rgmon/nidoqueen.png deleted file mode 100644 index 86cba6d6..00000000 Binary files a/pic/rgmon/nidoqueen.png and /dev/null differ diff --git a/pic/rgmon/nidoranf.png b/pic/rgmon/nidoranf.png deleted file mode 100644 index 8d99c920..00000000 Binary files a/pic/rgmon/nidoranf.png and /dev/null differ diff --git a/pic/rgmon/nidoranm.png b/pic/rgmon/nidoranm.png deleted file mode 100644 index 9a93e864..00000000 Binary files a/pic/rgmon/nidoranm.png and /dev/null differ diff --git a/pic/rgmon/nidorina.png b/pic/rgmon/nidorina.png deleted file mode 100644 index a8d277b8..00000000 Binary files a/pic/rgmon/nidorina.png and /dev/null differ diff --git a/pic/rgmon/nidorino.png b/pic/rgmon/nidorino.png deleted file mode 100644 index 4d6c9e55..00000000 Binary files a/pic/rgmon/nidorino.png and /dev/null differ diff --git a/pic/rgmon/ninetales.png b/pic/rgmon/ninetales.png deleted file mode 100644 index 128e8e53..00000000 Binary files a/pic/rgmon/ninetales.png and /dev/null differ diff --git a/pic/rgmon/oddish.png b/pic/rgmon/oddish.png deleted file mode 100644 index 55aa2d09..00000000 Binary files a/pic/rgmon/oddish.png and /dev/null differ diff --git a/pic/rgmon/omanyte.png b/pic/rgmon/omanyte.png deleted file mode 100644 index d042710e..00000000 Binary files a/pic/rgmon/omanyte.png and /dev/null differ diff --git a/pic/rgmon/omastar.png b/pic/rgmon/omastar.png deleted file mode 100644 index af84f55f..00000000 Binary files a/pic/rgmon/omastar.png and /dev/null differ diff --git a/pic/rgmon/onix.png b/pic/rgmon/onix.png deleted file mode 100644 index 3b731ece..00000000 Binary files a/pic/rgmon/onix.png and /dev/null differ diff --git a/pic/rgmon/paras.png b/pic/rgmon/paras.png deleted file mode 100644 index b8ee6517..00000000 Binary files a/pic/rgmon/paras.png and /dev/null differ diff --git a/pic/rgmon/parasect.png b/pic/rgmon/parasect.png deleted file mode 100644 index 3d58b8e5..00000000 Binary files a/pic/rgmon/parasect.png and /dev/null differ diff --git a/pic/rgmon/persian.png b/pic/rgmon/persian.png deleted file mode 100644 index aed4d6dc..00000000 Binary files a/pic/rgmon/persian.png and /dev/null differ diff --git a/pic/rgmon/pidgeot.png b/pic/rgmon/pidgeot.png deleted file mode 100644 index 4b4aa72f..00000000 Binary files a/pic/rgmon/pidgeot.png and /dev/null differ diff --git a/pic/rgmon/pidgeotto.png b/pic/rgmon/pidgeotto.png deleted file mode 100644 index 58a51f5d..00000000 Binary files a/pic/rgmon/pidgeotto.png and /dev/null differ diff --git a/pic/rgmon/pidgey.png b/pic/rgmon/pidgey.png deleted file mode 100644 index 7636fb67..00000000 Binary files a/pic/rgmon/pidgey.png and /dev/null differ diff --git a/pic/rgmon/pikachu.png b/pic/rgmon/pikachu.png deleted file mode 100644 index 5a3eb782..00000000 Binary files a/pic/rgmon/pikachu.png and /dev/null differ diff --git a/pic/rgmon/pinsir.png b/pic/rgmon/pinsir.png deleted file mode 100644 index 2944c453..00000000 Binary files a/pic/rgmon/pinsir.png and /dev/null differ diff --git a/pic/rgmon/poliwag.png b/pic/rgmon/poliwag.png deleted file mode 100644 index a1ad26c8..00000000 Binary files a/pic/rgmon/poliwag.png and /dev/null differ diff --git a/pic/rgmon/poliwhirl.png b/pic/rgmon/poliwhirl.png deleted file mode 100644 index d18311d6..00000000 Binary files a/pic/rgmon/poliwhirl.png and /dev/null differ diff --git a/pic/rgmon/poliwrath.png b/pic/rgmon/poliwrath.png deleted file mode 100644 index 49f07b96..00000000 Binary files a/pic/rgmon/poliwrath.png and /dev/null differ diff --git a/pic/rgmon/ponyta.png b/pic/rgmon/ponyta.png deleted file mode 100644 index c3a67849..00000000 Binary files a/pic/rgmon/ponyta.png and /dev/null differ diff --git a/pic/rgmon/porygon.png b/pic/rgmon/porygon.png deleted file mode 100644 index 1ed804ff..00000000 Binary files a/pic/rgmon/porygon.png and /dev/null differ diff --git a/pic/rgmon/primeape.png b/pic/rgmon/primeape.png deleted file mode 100644 index 42c03f6d..00000000 Binary files a/pic/rgmon/primeape.png and /dev/null differ diff --git a/pic/rgmon/psyduck.png b/pic/rgmon/psyduck.png deleted file mode 100644 index cd0a5e9e..00000000 Binary files a/pic/rgmon/psyduck.png and /dev/null differ diff --git a/pic/rgmon/raichu.png b/pic/rgmon/raichu.png deleted file mode 100644 index 961d2aeb..00000000 Binary files a/pic/rgmon/raichu.png and /dev/null differ diff --git a/pic/rgmon/rapidash.png b/pic/rgmon/rapidash.png deleted file mode 100644 index d118b947..00000000 Binary files a/pic/rgmon/rapidash.png and /dev/null differ diff --git a/pic/rgmon/raticate.png b/pic/rgmon/raticate.png deleted file mode 100644 index 895c1006..00000000 Binary files a/pic/rgmon/raticate.png and /dev/null differ diff --git a/pic/rgmon/rattata.png b/pic/rgmon/rattata.png deleted file mode 100644 index 8d114876..00000000 Binary files a/pic/rgmon/rattata.png and /dev/null differ diff --git a/pic/rgmon/rhydon.png b/pic/rgmon/rhydon.png deleted file mode 100644 index 772e64d8..00000000 Binary files a/pic/rgmon/rhydon.png and /dev/null differ diff --git a/pic/rgmon/rhyhorn.png b/pic/rgmon/rhyhorn.png deleted file mode 100644 index 1b968785..00000000 Binary files a/pic/rgmon/rhyhorn.png and /dev/null differ diff --git a/pic/rgmon/sandshrew.png b/pic/rgmon/sandshrew.png deleted file mode 100644 index e078d6d3..00000000 Binary files a/pic/rgmon/sandshrew.png and /dev/null differ diff --git a/pic/rgmon/sandslash.png b/pic/rgmon/sandslash.png deleted file mode 100644 index 55320b96..00000000 Binary files a/pic/rgmon/sandslash.png and /dev/null differ diff --git a/pic/rgmon/scyther.png b/pic/rgmon/scyther.png deleted file mode 100644 index de4d89ed..00000000 Binary files a/pic/rgmon/scyther.png and /dev/null differ diff --git a/pic/rgmon/seadra.png b/pic/rgmon/seadra.png deleted file mode 100644 index 17cdf4ea..00000000 Binary files a/pic/rgmon/seadra.png and /dev/null differ diff --git a/pic/rgmon/seaking.png b/pic/rgmon/seaking.png deleted file mode 100644 index 184f0556..00000000 Binary files a/pic/rgmon/seaking.png and /dev/null differ diff --git a/pic/rgmon/seel.png b/pic/rgmon/seel.png deleted file mode 100644 index cb2f7f2e..00000000 Binary files a/pic/rgmon/seel.png and /dev/null differ diff --git a/pic/rgmon/shellder.png b/pic/rgmon/shellder.png deleted file mode 100644 index b7c41dd2..00000000 Binary files a/pic/rgmon/shellder.png and /dev/null differ diff --git a/pic/rgmon/slowbro.png b/pic/rgmon/slowbro.png deleted file mode 100644 index b67bbc08..00000000 Binary files a/pic/rgmon/slowbro.png and /dev/null differ diff --git a/pic/rgmon/slowpoke.png b/pic/rgmon/slowpoke.png deleted file mode 100644 index d59e9008..00000000 Binary files a/pic/rgmon/slowpoke.png and /dev/null differ diff --git a/pic/rgmon/snorlax.png b/pic/rgmon/snorlax.png deleted file mode 100644 index c249327d..00000000 Binary files a/pic/rgmon/snorlax.png and /dev/null differ diff --git a/pic/rgmon/spearow.png b/pic/rgmon/spearow.png deleted file mode 100644 index c1fce869..00000000 Binary files a/pic/rgmon/spearow.png and /dev/null differ diff --git a/pic/rgmon/squirtle.png b/pic/rgmon/squirtle.png deleted file mode 100644 index 3139cddc..00000000 Binary files a/pic/rgmon/squirtle.png and /dev/null differ diff --git a/pic/rgmon/starmie.png b/pic/rgmon/starmie.png deleted file mode 100644 index 395fd857..00000000 Binary files a/pic/rgmon/starmie.png and /dev/null differ diff --git a/pic/rgmon/staryu.png b/pic/rgmon/staryu.png deleted file mode 100644 index 740089e8..00000000 Binary files a/pic/rgmon/staryu.png and /dev/null differ diff --git a/pic/rgmon/tangela.png b/pic/rgmon/tangela.png deleted file mode 100644 index a6f6327c..00000000 Binary files a/pic/rgmon/tangela.png and /dev/null differ diff --git a/pic/rgmon/tauros.png b/pic/rgmon/tauros.png deleted file mode 100644 index ae57f111..00000000 Binary files a/pic/rgmon/tauros.png and /dev/null differ diff --git a/pic/rgmon/tentacool.png b/pic/rgmon/tentacool.png deleted file mode 100644 index 59a979c2..00000000 Binary files a/pic/rgmon/tentacool.png and /dev/null differ diff --git a/pic/rgmon/tentacruel.png b/pic/rgmon/tentacruel.png deleted file mode 100644 index aaf4d426..00000000 Binary files a/pic/rgmon/tentacruel.png and /dev/null differ diff --git a/pic/rgmon/vaporeon.png b/pic/rgmon/vaporeon.png deleted file mode 100644 index 72db05da..00000000 Binary files a/pic/rgmon/vaporeon.png and /dev/null differ diff --git a/pic/rgmon/venomoth.png b/pic/rgmon/venomoth.png deleted file mode 100644 index e677255e..00000000 Binary files a/pic/rgmon/venomoth.png and /dev/null differ diff --git a/pic/rgmon/venonat.png b/pic/rgmon/venonat.png deleted file mode 100644 index cf2f4df1..00000000 Binary files a/pic/rgmon/venonat.png and /dev/null differ diff --git a/pic/rgmon/venusaur.png b/pic/rgmon/venusaur.png deleted file mode 100644 index f444a234..00000000 Binary files a/pic/rgmon/venusaur.png and /dev/null differ diff --git a/pic/rgmon/victreebel.png b/pic/rgmon/victreebel.png deleted file mode 100644 index 62193011..00000000 Binary files a/pic/rgmon/victreebel.png and /dev/null differ diff --git a/pic/rgmon/vileplume.png b/pic/rgmon/vileplume.png deleted file mode 100644 index e39d50e0..00000000 Binary files a/pic/rgmon/vileplume.png and /dev/null differ diff --git a/pic/rgmon/voltorb.png b/pic/rgmon/voltorb.png deleted file mode 100644 index c2159e6c..00000000 Binary files a/pic/rgmon/voltorb.png and /dev/null differ diff --git a/pic/rgmon/vulpix.png b/pic/rgmon/vulpix.png deleted file mode 100644 index 8b8810ad..00000000 Binary files a/pic/rgmon/vulpix.png and /dev/null differ diff --git a/pic/rgmon/wartortle.png b/pic/rgmon/wartortle.png deleted file mode 100644 index 6e65bb7c..00000000 Binary files a/pic/rgmon/wartortle.png and /dev/null differ diff --git a/pic/rgmon/weedle.png b/pic/rgmon/weedle.png deleted file mode 100644 index 3efbd49d..00000000 Binary files a/pic/rgmon/weedle.png and /dev/null differ diff --git a/pic/rgmon/weepinbell.png b/pic/rgmon/weepinbell.png deleted file mode 100644 index 18b44783..00000000 Binary files a/pic/rgmon/weepinbell.png and /dev/null differ diff --git a/pic/rgmon/weezing.png b/pic/rgmon/weezing.png deleted file mode 100644 index 5b30b4e0..00000000 Binary files a/pic/rgmon/weezing.png and /dev/null differ diff --git a/pic/rgmon/wigglytuff.png b/pic/rgmon/wigglytuff.png deleted file mode 100644 index e986affd..00000000 Binary files a/pic/rgmon/wigglytuff.png and /dev/null differ diff --git a/pic/rgmon/zapdos.png b/pic/rgmon/zapdos.png deleted file mode 100644 index 534ac4a9..00000000 Binary files a/pic/rgmon/zapdos.png and /dev/null differ diff --git a/pic/rgmon/zubat.png b/pic/rgmon/zubat.png deleted file mode 100644 index 14dc9118..00000000 Binary files a/pic/rgmon/zubat.png and /dev/null differ diff --git a/pic/trainer/agatha.png b/pic/trainer/agatha.png deleted file mode 100644 index d95b77be..00000000 Binary files a/pic/trainer/agatha.png and /dev/null differ diff --git a/pic/trainer/beauty.png b/pic/trainer/beauty.png deleted file mode 100644 index a7e53c13..00000000 Binary files a/pic/trainer/beauty.png and /dev/null differ diff --git a/pic/trainer/biker.png b/pic/trainer/biker.png deleted file mode 100644 index b64809f9..00000000 Binary files a/pic/trainer/biker.png and /dev/null differ diff --git a/pic/trainer/birdkeeper.png b/pic/trainer/birdkeeper.png deleted file mode 100644 index 6e06d839..00000000 Binary files a/pic/trainer/birdkeeper.png and /dev/null differ diff --git a/pic/trainer/blackbelt.png b/pic/trainer/blackbelt.png deleted file mode 100644 index 8ba5480f..00000000 Binary files a/pic/trainer/blackbelt.png and /dev/null differ diff --git a/pic/trainer/blaine.png b/pic/trainer/blaine.png deleted file mode 100644 index 0698b3b9..00000000 Binary files a/pic/trainer/blaine.png and /dev/null differ diff --git a/pic/trainer/brock.png b/pic/trainer/brock.png deleted file mode 100644 index fc8f2378..00000000 Binary files a/pic/trainer/brock.png and /dev/null differ diff --git a/pic/trainer/bruno.png b/pic/trainer/bruno.png deleted file mode 100644 index 651b7c9c..00000000 Binary files a/pic/trainer/bruno.png and /dev/null differ diff --git a/pic/trainer/bugcatcher.png b/pic/trainer/bugcatcher.png deleted file mode 100644 index 0d108f40..00000000 Binary files a/pic/trainer/bugcatcher.png and /dev/null differ diff --git a/pic/trainer/burglar.png b/pic/trainer/burglar.png deleted file mode 100644 index d4af219b..00000000 Binary files a/pic/trainer/burglar.png and /dev/null differ diff --git a/pic/trainer/channeler.png b/pic/trainer/channeler.png deleted file mode 100644 index 3fd174a5..00000000 Binary files a/pic/trainer/channeler.png and /dev/null differ diff --git a/pic/trainer/cooltrainerf.png b/pic/trainer/cooltrainerf.png deleted file mode 100644 index 0a90c5e5..00000000 Binary files a/pic/trainer/cooltrainerf.png and /dev/null differ diff --git a/pic/trainer/cooltrainerm.png b/pic/trainer/cooltrainerm.png deleted file mode 100644 index 2482bc2b..00000000 Binary files a/pic/trainer/cooltrainerm.png and /dev/null differ diff --git a/pic/trainer/cueball.png b/pic/trainer/cueball.png deleted file mode 100644 index 6d3ae768..00000000 Binary files a/pic/trainer/cueball.png and /dev/null differ diff --git a/pic/trainer/engineer.png b/pic/trainer/engineer.png deleted file mode 100644 index dd0ab2c0..00000000 Binary files a/pic/trainer/engineer.png and /dev/null differ diff --git a/pic/trainer/erika.png b/pic/trainer/erika.png deleted file mode 100644 index 961d094b..00000000 Binary files a/pic/trainer/erika.png and /dev/null differ diff --git a/pic/trainer/fisher.png b/pic/trainer/fisher.png deleted file mode 100644 index ccc9d705..00000000 Binary files a/pic/trainer/fisher.png and /dev/null differ diff --git a/pic/trainer/gambler.png b/pic/trainer/gambler.png deleted file mode 100644 index d3ec85b7..00000000 Binary files a/pic/trainer/gambler.png and /dev/null differ diff --git a/pic/trainer/gentleman.png b/pic/trainer/gentleman.png deleted file mode 100644 index 62a2ffb7..00000000 Binary files a/pic/trainer/gentleman.png and /dev/null differ diff --git a/pic/trainer/giovanni.png b/pic/trainer/giovanni.png deleted file mode 100644 index 505adebd..00000000 Binary files a/pic/trainer/giovanni.png and /dev/null differ diff --git a/pic/trainer/hiker.png b/pic/trainer/hiker.png deleted file mode 100644 index 5223a7d0..00000000 Binary files a/pic/trainer/hiker.png and /dev/null differ diff --git a/pic/trainer/jr.trainerf.png b/pic/trainer/jr.trainerf.png deleted file mode 100644 index 55ceef30..00000000 Binary files a/pic/trainer/jr.trainerf.png and /dev/null differ diff --git a/pic/trainer/jr.trainerm.png b/pic/trainer/jr.trainerm.png deleted file mode 100644 index 48392bf5..00000000 Binary files a/pic/trainer/jr.trainerm.png and /dev/null differ diff --git a/pic/trainer/juggler.png b/pic/trainer/juggler.png deleted file mode 100644 index 58dd61ee..00000000 Binary files a/pic/trainer/juggler.png and /dev/null differ diff --git a/pic/trainer/koga.png b/pic/trainer/koga.png deleted file mode 100644 index 6caa7da5..00000000 Binary files a/pic/trainer/koga.png and /dev/null differ diff --git a/pic/trainer/lance.png b/pic/trainer/lance.png deleted file mode 100644 index d836b284..00000000 Binary files a/pic/trainer/lance.png and /dev/null differ diff --git a/pic/trainer/lass.png b/pic/trainer/lass.png deleted file mode 100644 index 432f4090..00000000 Binary files a/pic/trainer/lass.png and /dev/null differ diff --git a/pic/trainer/lorelei.png b/pic/trainer/lorelei.png deleted file mode 100644 index 608107bf..00000000 Binary files a/pic/trainer/lorelei.png and /dev/null differ diff --git a/pic/trainer/lt.surge.png b/pic/trainer/lt.surge.png deleted file mode 100644 index 5a06a320..00000000 Binary files a/pic/trainer/lt.surge.png and /dev/null differ diff --git a/pic/trainer/misty.png b/pic/trainer/misty.png deleted file mode 100644 index ea2e655a..00000000 Binary files a/pic/trainer/misty.png and /dev/null differ diff --git a/pic/trainer/oldman.png b/pic/trainer/oldman.png deleted file mode 100644 index 6d48000f..00000000 Binary files a/pic/trainer/oldman.png and /dev/null differ diff --git a/pic/trainer/pokemaniac.png b/pic/trainer/pokemaniac.png deleted file mode 100644 index 954bbc43..00000000 Binary files a/pic/trainer/pokemaniac.png and /dev/null differ diff --git a/pic/trainer/prof.oak.png b/pic/trainer/prof.oak.png deleted file mode 100644 index 4334e1d0..00000000 Binary files a/pic/trainer/prof.oak.png and /dev/null differ diff --git a/pic/trainer/psychic.png b/pic/trainer/psychic.png deleted file mode 100644 index 58244d80..00000000 Binary files a/pic/trainer/psychic.png and /dev/null differ diff --git a/pic/trainer/red.png b/pic/trainer/red.png deleted file mode 100644 index 9098fc76..00000000 Binary files a/pic/trainer/red.png and /dev/null differ diff --git a/pic/trainer/redb.png b/pic/trainer/redb.png deleted file mode 100644 index 6e8d9eec..00000000 Binary files a/pic/trainer/redb.png and /dev/null differ diff --git a/pic/trainer/rival1.png b/pic/trainer/rival1.png deleted file mode 100644 index 6b94fd27..00000000 Binary files a/pic/trainer/rival1.png and /dev/null differ diff --git a/pic/trainer/rival2.png b/pic/trainer/rival2.png deleted file mode 100644 index df9b2524..00000000 Binary files a/pic/trainer/rival2.png and /dev/null differ diff --git a/pic/trainer/rival3.png b/pic/trainer/rival3.png deleted file mode 100644 index 5e6fc5ff..00000000 Binary files a/pic/trainer/rival3.png and /dev/null differ diff --git a/pic/trainer/rocker.png b/pic/trainer/rocker.png deleted file mode 100644 index 70ecf4e8..00000000 Binary files a/pic/trainer/rocker.png and /dev/null differ diff --git a/pic/trainer/rocket.png b/pic/trainer/rocket.png deleted file mode 100644 index a5e73de3..00000000 Binary files a/pic/trainer/rocket.png and /dev/null differ diff --git a/pic/trainer/sabrina.png b/pic/trainer/sabrina.png deleted file mode 100644 index 391144fc..00000000 Binary files a/pic/trainer/sabrina.png and /dev/null differ diff --git a/pic/trainer/sailor.png b/pic/trainer/sailor.png deleted file mode 100644 index b3b06e4c..00000000 Binary files a/pic/trainer/sailor.png and /dev/null differ diff --git a/pic/trainer/scientist.png b/pic/trainer/scientist.png deleted file mode 100644 index eef66fe7..00000000 Binary files a/pic/trainer/scientist.png and /dev/null differ diff --git a/pic/trainer/shrink1.png b/pic/trainer/shrink1.png deleted file mode 100644 index ef7a61ae..00000000 Binary files a/pic/trainer/shrink1.png and /dev/null differ diff --git a/pic/trainer/shrink2.png b/pic/trainer/shrink2.png deleted file mode 100644 index 01706b22..00000000 Binary files a/pic/trainer/shrink2.png and /dev/null differ diff --git a/pic/trainer/supernerd.png b/pic/trainer/supernerd.png deleted file mode 100644 index 37ef663e..00000000 Binary files a/pic/trainer/supernerd.png and /dev/null differ diff --git a/pic/trainer/swimmer.png b/pic/trainer/swimmer.png deleted file mode 100644 index 06bae30c..00000000 Binary files a/pic/trainer/swimmer.png and /dev/null differ diff --git a/pic/trainer/tamer.png b/pic/trainer/tamer.png deleted file mode 100644 index 14fe7a53..00000000 Binary files a/pic/trainer/tamer.png and /dev/null differ diff --git a/pic/trainer/youngster.png b/pic/trainer/youngster.png deleted file mode 100644 index 51fa5e0f..00000000 Binary files a/pic/trainer/youngster.png and /dev/null differ diff --git a/pic/ymon/abra.png b/pic/ymon/abra.png deleted file mode 100644 index 3573a040..00000000 Binary files a/pic/ymon/abra.png and /dev/null differ diff --git a/pic/ymon/aerodactyl.png b/pic/ymon/aerodactyl.png deleted file mode 100644 index cf0212a0..00000000 Binary files a/pic/ymon/aerodactyl.png and /dev/null differ diff --git a/pic/ymon/alakazam.png b/pic/ymon/alakazam.png deleted file mode 100644 index 613ae5ad..00000000 Binary files a/pic/ymon/alakazam.png and /dev/null differ diff --git a/pic/ymon/arbok.png b/pic/ymon/arbok.png deleted file mode 100644 index 45df87b1..00000000 Binary files a/pic/ymon/arbok.png and /dev/null differ diff --git a/pic/ymon/arcanine.png b/pic/ymon/arcanine.png deleted file mode 100644 index 77bb89b0..00000000 Binary files a/pic/ymon/arcanine.png and /dev/null differ diff --git a/pic/ymon/articuno.png b/pic/ymon/articuno.png deleted file mode 100644 index e8ae875e..00000000 Binary files a/pic/ymon/articuno.png and /dev/null differ diff --git a/pic/ymon/beedrill.png b/pic/ymon/beedrill.png deleted file mode 100644 index bc9ca73d..00000000 Binary files a/pic/ymon/beedrill.png and /dev/null differ diff --git a/pic/ymon/bellsprout.png b/pic/ymon/bellsprout.png deleted file mode 100644 index f3d2ff1c..00000000 Binary files a/pic/ymon/bellsprout.png and /dev/null differ diff --git a/pic/ymon/blastoise.png b/pic/ymon/blastoise.png deleted file mode 100644 index 6cdd8e30..00000000 Binary files a/pic/ymon/blastoise.png and /dev/null differ diff --git a/pic/ymon/bulbasaur.png b/pic/ymon/bulbasaur.png deleted file mode 100644 index 27abe273..00000000 Binary files a/pic/ymon/bulbasaur.png and /dev/null differ diff --git a/pic/ymon/butterfree.png b/pic/ymon/butterfree.png deleted file mode 100644 index 951ae4c4..00000000 Binary files a/pic/ymon/butterfree.png and /dev/null differ diff --git a/pic/ymon/caterpie.png b/pic/ymon/caterpie.png deleted file mode 100644 index 8e3205c9..00000000 Binary files a/pic/ymon/caterpie.png and /dev/null differ diff --git a/pic/ymon/chansey.png b/pic/ymon/chansey.png deleted file mode 100644 index d517535a..00000000 Binary files a/pic/ymon/chansey.png and /dev/null differ diff --git a/pic/ymon/charizard.png b/pic/ymon/charizard.png deleted file mode 100644 index 100416d4..00000000 Binary files a/pic/ymon/charizard.png and /dev/null differ diff --git a/pic/ymon/charmander.png b/pic/ymon/charmander.png deleted file mode 100644 index 155a68a4..00000000 Binary files a/pic/ymon/charmander.png and /dev/null differ diff --git a/pic/ymon/charmeleon.png b/pic/ymon/charmeleon.png deleted file mode 100644 index 63808b25..00000000 Binary files a/pic/ymon/charmeleon.png and /dev/null differ diff --git a/pic/ymon/clefable.png b/pic/ymon/clefable.png deleted file mode 100644 index 8e5111f9..00000000 Binary files a/pic/ymon/clefable.png and /dev/null differ diff --git a/pic/ymon/clefairy.png b/pic/ymon/clefairy.png deleted file mode 100644 index 4a26be0b..00000000 Binary files a/pic/ymon/clefairy.png and /dev/null differ diff --git a/pic/ymon/cloyster.png b/pic/ymon/cloyster.png deleted file mode 100644 index 67542d93..00000000 Binary files a/pic/ymon/cloyster.png and /dev/null differ diff --git a/pic/ymon/cubone.png b/pic/ymon/cubone.png deleted file mode 100644 index c5dec329..00000000 Binary files a/pic/ymon/cubone.png and /dev/null differ diff --git a/pic/ymon/dewgong.png b/pic/ymon/dewgong.png deleted file mode 100644 index c7bb5424..00000000 Binary files a/pic/ymon/dewgong.png and /dev/null differ diff --git a/pic/ymon/diglett.png b/pic/ymon/diglett.png deleted file mode 100644 index a9becda8..00000000 Binary files a/pic/ymon/diglett.png and /dev/null differ diff --git a/pic/ymon/ditto.png b/pic/ymon/ditto.png deleted file mode 100644 index 3c662491..00000000 Binary files a/pic/ymon/ditto.png and /dev/null differ diff --git a/pic/ymon/dodrio.png b/pic/ymon/dodrio.png deleted file mode 100644 index 45606e63..00000000 Binary files a/pic/ymon/dodrio.png and /dev/null differ diff --git a/pic/ymon/doduo.png b/pic/ymon/doduo.png deleted file mode 100644 index 0aa722c0..00000000 Binary files a/pic/ymon/doduo.png and /dev/null differ diff --git a/pic/ymon/dragonair.png b/pic/ymon/dragonair.png deleted file mode 100644 index e7fc1448..00000000 Binary files a/pic/ymon/dragonair.png and /dev/null differ diff --git a/pic/ymon/dragonite.png b/pic/ymon/dragonite.png deleted file mode 100644 index 7ac78924..00000000 Binary files a/pic/ymon/dragonite.png and /dev/null differ diff --git a/pic/ymon/dratini.png b/pic/ymon/dratini.png deleted file mode 100644 index 5a1a880f..00000000 Binary files a/pic/ymon/dratini.png and /dev/null differ diff --git a/pic/ymon/drowzee.png b/pic/ymon/drowzee.png deleted file mode 100644 index 16d3edfc..00000000 Binary files a/pic/ymon/drowzee.png and /dev/null differ diff --git a/pic/ymon/dugtrio.png b/pic/ymon/dugtrio.png deleted file mode 100644 index c20d01b6..00000000 Binary files a/pic/ymon/dugtrio.png and /dev/null differ diff --git a/pic/ymon/eevee.png b/pic/ymon/eevee.png deleted file mode 100644 index 7bc62ae9..00000000 Binary files a/pic/ymon/eevee.png and /dev/null differ diff --git a/pic/ymon/ekans.png b/pic/ymon/ekans.png deleted file mode 100644 index 1d454a13..00000000 Binary files a/pic/ymon/ekans.png and /dev/null differ diff --git a/pic/ymon/electabuzz.png b/pic/ymon/electabuzz.png deleted file mode 100644 index 77647d26..00000000 Binary files a/pic/ymon/electabuzz.png and /dev/null differ diff --git a/pic/ymon/electrode.png b/pic/ymon/electrode.png deleted file mode 100755 index f5e05464..00000000 Binary files a/pic/ymon/electrode.png and /dev/null differ diff --git a/pic/ymon/exeggcute.png b/pic/ymon/exeggcute.png deleted file mode 100644 index 901e2244..00000000 Binary files a/pic/ymon/exeggcute.png and /dev/null differ diff --git a/pic/ymon/exeggutor.png b/pic/ymon/exeggutor.png deleted file mode 100644 index 3e8d37cb..00000000 Binary files a/pic/ymon/exeggutor.png and /dev/null differ diff --git a/pic/ymon/farfetchd.png b/pic/ymon/farfetchd.png deleted file mode 100644 index 8412e767..00000000 Binary files a/pic/ymon/farfetchd.png and /dev/null differ diff --git a/pic/ymon/fearow.png b/pic/ymon/fearow.png deleted file mode 100644 index 7b54a854..00000000 Binary files a/pic/ymon/fearow.png and /dev/null differ diff --git a/pic/ymon/flareon.png b/pic/ymon/flareon.png deleted file mode 100644 index 5b0e5376..00000000 Binary files a/pic/ymon/flareon.png and /dev/null differ diff --git a/pic/ymon/gastly.png b/pic/ymon/gastly.png deleted file mode 100644 index 9d236e5a..00000000 Binary files a/pic/ymon/gastly.png and /dev/null differ diff --git a/pic/ymon/gengar.png b/pic/ymon/gengar.png deleted file mode 100644 index 1993bcfc..00000000 Binary files a/pic/ymon/gengar.png and /dev/null differ diff --git a/pic/ymon/geodude.png b/pic/ymon/geodude.png deleted file mode 100644 index c28db680..00000000 Binary files a/pic/ymon/geodude.png and /dev/null differ diff --git a/pic/ymon/gloom.png b/pic/ymon/gloom.png deleted file mode 100644 index 6071ea5d..00000000 Binary files a/pic/ymon/gloom.png and /dev/null differ diff --git a/pic/ymon/golbat.png b/pic/ymon/golbat.png deleted file mode 100644 index 7d2b17da..00000000 Binary files a/pic/ymon/golbat.png and /dev/null differ diff --git a/pic/ymon/goldeen.png b/pic/ymon/goldeen.png deleted file mode 100644 index c6bbeae5..00000000 Binary files a/pic/ymon/goldeen.png and /dev/null differ diff --git a/pic/ymon/golduck.png b/pic/ymon/golduck.png deleted file mode 100644 index 299b6300..00000000 Binary files a/pic/ymon/golduck.png and /dev/null differ diff --git a/pic/ymon/golem.png b/pic/ymon/golem.png deleted file mode 100644 index 7d317b7d..00000000 Binary files a/pic/ymon/golem.png and /dev/null differ diff --git a/pic/ymon/graveler.png b/pic/ymon/graveler.png deleted file mode 100644 index 26d4b0a1..00000000 Binary files a/pic/ymon/graveler.png and /dev/null differ diff --git a/pic/ymon/grimer.png b/pic/ymon/grimer.png deleted file mode 100644 index a72c9e45..00000000 Binary files a/pic/ymon/grimer.png and /dev/null differ diff --git a/pic/ymon/growlithe.png b/pic/ymon/growlithe.png deleted file mode 100644 index e75173cf..00000000 Binary files a/pic/ymon/growlithe.png and /dev/null differ diff --git a/pic/ymon/gyarados.png b/pic/ymon/gyarados.png deleted file mode 100644 index 387c2725..00000000 Binary files a/pic/ymon/gyarados.png and /dev/null differ diff --git a/pic/ymon/haunter.png b/pic/ymon/haunter.png deleted file mode 100644 index d7f96e3d..00000000 Binary files a/pic/ymon/haunter.png and /dev/null differ diff --git a/pic/ymon/hitmonchan.png b/pic/ymon/hitmonchan.png deleted file mode 100644 index 2fb7122b..00000000 Binary files a/pic/ymon/hitmonchan.png and /dev/null differ diff --git a/pic/ymon/hitmonlee.png b/pic/ymon/hitmonlee.png deleted file mode 100644 index acbe68ff..00000000 Binary files a/pic/ymon/hitmonlee.png and /dev/null differ diff --git a/pic/ymon/horsea.png b/pic/ymon/horsea.png deleted file mode 100644 index 390c419d..00000000 Binary files a/pic/ymon/horsea.png and /dev/null differ diff --git a/pic/ymon/hypno.png b/pic/ymon/hypno.png deleted file mode 100644 index ed100f66..00000000 Binary files a/pic/ymon/hypno.png and /dev/null differ diff --git a/pic/ymon/ivysaur.png b/pic/ymon/ivysaur.png deleted file mode 100644 index 4da5664b..00000000 Binary files a/pic/ymon/ivysaur.png and /dev/null differ diff --git a/pic/ymon/jigglypuff.png b/pic/ymon/jigglypuff.png deleted file mode 100644 index d11ec165..00000000 Binary files a/pic/ymon/jigglypuff.png and /dev/null differ diff --git a/pic/ymon/jolteon.png b/pic/ymon/jolteon.png deleted file mode 100644 index a1942ec6..00000000 Binary files a/pic/ymon/jolteon.png and /dev/null differ diff --git a/pic/ymon/jynx.png b/pic/ymon/jynx.png deleted file mode 100644 index 699ab3f5..00000000 Binary files a/pic/ymon/jynx.png and /dev/null differ diff --git a/pic/ymon/kabuto.png b/pic/ymon/kabuto.png deleted file mode 100644 index 58f27e0f..00000000 Binary files a/pic/ymon/kabuto.png and /dev/null differ diff --git a/pic/ymon/kabutops.png b/pic/ymon/kabutops.png deleted file mode 100644 index e898ca12..00000000 Binary files a/pic/ymon/kabutops.png and /dev/null differ diff --git a/pic/ymon/kadabra.png b/pic/ymon/kadabra.png deleted file mode 100644 index 58aff19a..00000000 Binary files a/pic/ymon/kadabra.png and /dev/null differ diff --git a/pic/ymon/kakuna.png b/pic/ymon/kakuna.png deleted file mode 100644 index fb4ec863..00000000 Binary files a/pic/ymon/kakuna.png and /dev/null differ diff --git a/pic/ymon/kangaskhan.png b/pic/ymon/kangaskhan.png deleted file mode 100644 index 56ab2619..00000000 Binary files a/pic/ymon/kangaskhan.png and /dev/null differ diff --git a/pic/ymon/kingler.png b/pic/ymon/kingler.png deleted file mode 100644 index c7610d11..00000000 Binary files a/pic/ymon/kingler.png and /dev/null differ diff --git a/pic/ymon/koffing.png b/pic/ymon/koffing.png deleted file mode 100644 index 9d394cdc..00000000 Binary files a/pic/ymon/koffing.png and /dev/null differ diff --git a/pic/ymon/krabby.png b/pic/ymon/krabby.png deleted file mode 100644 index fe463732..00000000 Binary files a/pic/ymon/krabby.png and /dev/null differ diff --git a/pic/ymon/lapras.png b/pic/ymon/lapras.png deleted file mode 100644 index ee954079..00000000 Binary files a/pic/ymon/lapras.png and /dev/null differ diff --git a/pic/ymon/lickitung.png b/pic/ymon/lickitung.png deleted file mode 100644 index 3b480655..00000000 Binary files a/pic/ymon/lickitung.png and /dev/null differ diff --git a/pic/ymon/machamp.png b/pic/ymon/machamp.png deleted file mode 100644 index f2bf5a0b..00000000 Binary files a/pic/ymon/machamp.png and /dev/null differ diff --git a/pic/ymon/machoke.png b/pic/ymon/machoke.png deleted file mode 100644 index 7079a52b..00000000 Binary files a/pic/ymon/machoke.png and /dev/null differ diff --git a/pic/ymon/machop.png b/pic/ymon/machop.png deleted file mode 100644 index cd6d6891..00000000 Binary files a/pic/ymon/machop.png and /dev/null differ diff --git a/pic/ymon/magikarp.png b/pic/ymon/magikarp.png deleted file mode 100644 index 881aa50a..00000000 Binary files a/pic/ymon/magikarp.png and /dev/null differ diff --git a/pic/ymon/magmar.png b/pic/ymon/magmar.png deleted file mode 100644 index 839fa204..00000000 Binary files a/pic/ymon/magmar.png and /dev/null differ diff --git a/pic/ymon/magnemite.png b/pic/ymon/magnemite.png deleted file mode 100644 index 4cb5e3da..00000000 Binary files a/pic/ymon/magnemite.png and /dev/null differ diff --git a/pic/ymon/magneton.png b/pic/ymon/magneton.png deleted file mode 100644 index 5d2a3eaa..00000000 Binary files a/pic/ymon/magneton.png and /dev/null differ diff --git a/pic/ymon/mankey.png b/pic/ymon/mankey.png deleted file mode 100644 index f3266f29..00000000 Binary files a/pic/ymon/mankey.png and /dev/null differ diff --git a/pic/ymon/marowak.png b/pic/ymon/marowak.png deleted file mode 100644 index d90e4627..00000000 Binary files a/pic/ymon/marowak.png and /dev/null differ diff --git a/pic/ymon/meowth.png b/pic/ymon/meowth.png deleted file mode 100644 index de82b0c2..00000000 Binary files a/pic/ymon/meowth.png and /dev/null differ diff --git a/pic/ymon/metapod.png b/pic/ymon/metapod.png deleted file mode 100644 index 6268ed9a..00000000 Binary files a/pic/ymon/metapod.png and /dev/null differ diff --git a/pic/ymon/mew.png b/pic/ymon/mew.png deleted file mode 100644 index a00783a9..00000000 Binary files a/pic/ymon/mew.png and /dev/null differ diff --git a/pic/ymon/mewtwo.png b/pic/ymon/mewtwo.png deleted file mode 100644 index 40c6f217..00000000 Binary files a/pic/ymon/mewtwo.png and /dev/null differ diff --git a/pic/ymon/moltres.png b/pic/ymon/moltres.png deleted file mode 100644 index e5e3d02e..00000000 Binary files a/pic/ymon/moltres.png and /dev/null differ diff --git a/pic/ymon/mr.mime.png b/pic/ymon/mr.mime.png deleted file mode 100644 index 5a3642d3..00000000 Binary files a/pic/ymon/mr.mime.png and /dev/null differ diff --git a/pic/ymon/muk.png b/pic/ymon/muk.png deleted file mode 100644 index d7d98e37..00000000 Binary files a/pic/ymon/muk.png and /dev/null differ diff --git a/pic/ymon/nidoking.png b/pic/ymon/nidoking.png deleted file mode 100644 index 785adc67..00000000 Binary files a/pic/ymon/nidoking.png and /dev/null differ diff --git a/pic/ymon/nidoqueen.png b/pic/ymon/nidoqueen.png deleted file mode 100644 index 24f786c7..00000000 Binary files a/pic/ymon/nidoqueen.png and /dev/null differ diff --git a/pic/ymon/nidoranf.png b/pic/ymon/nidoranf.png deleted file mode 100644 index 1f6532d2..00000000 Binary files a/pic/ymon/nidoranf.png and /dev/null differ diff --git a/pic/ymon/nidoranm.png b/pic/ymon/nidoranm.png deleted file mode 100644 index bb960e01..00000000 Binary files a/pic/ymon/nidoranm.png and /dev/null differ diff --git a/pic/ymon/nidorina.png b/pic/ymon/nidorina.png deleted file mode 100644 index 76edf719..00000000 Binary files a/pic/ymon/nidorina.png and /dev/null differ diff --git a/pic/ymon/nidorino.png b/pic/ymon/nidorino.png deleted file mode 100644 index c68dbdd1..00000000 Binary files a/pic/ymon/nidorino.png and /dev/null differ diff --git a/pic/ymon/ninetales.png b/pic/ymon/ninetales.png deleted file mode 100644 index f7ff9ff6..00000000 Binary files a/pic/ymon/ninetales.png and /dev/null differ diff --git a/pic/ymon/oddish.png b/pic/ymon/oddish.png deleted file mode 100644 index 17281e3b..00000000 Binary files a/pic/ymon/oddish.png and /dev/null differ diff --git a/pic/ymon/omanyte.png b/pic/ymon/omanyte.png deleted file mode 100644 index eafbd593..00000000 Binary files a/pic/ymon/omanyte.png and /dev/null differ diff --git a/pic/ymon/omastar.png b/pic/ymon/omastar.png deleted file mode 100644 index 2eb40d37..00000000 Binary files a/pic/ymon/omastar.png and /dev/null differ diff --git a/pic/ymon/onix.png b/pic/ymon/onix.png deleted file mode 100644 index 1e49634f..00000000 Binary files a/pic/ymon/onix.png and /dev/null differ diff --git a/pic/ymon/paras.png b/pic/ymon/paras.png deleted file mode 100644 index 73c805c8..00000000 Binary files a/pic/ymon/paras.png and /dev/null differ diff --git a/pic/ymon/parasect.png b/pic/ymon/parasect.png deleted file mode 100644 index def9e493..00000000 Binary files a/pic/ymon/parasect.png and /dev/null differ diff --git a/pic/ymon/persian.png b/pic/ymon/persian.png deleted file mode 100644 index 831a9da8..00000000 Binary files a/pic/ymon/persian.png and /dev/null differ diff --git a/pic/ymon/pidgeot.png b/pic/ymon/pidgeot.png deleted file mode 100644 index 4bb98422..00000000 Binary files a/pic/ymon/pidgeot.png and /dev/null differ diff --git a/pic/ymon/pidgeotto.png b/pic/ymon/pidgeotto.png deleted file mode 100644 index 0490003c..00000000 Binary files a/pic/ymon/pidgeotto.png and /dev/null differ diff --git a/pic/ymon/pidgey.png b/pic/ymon/pidgey.png deleted file mode 100644 index fe507e6d..00000000 Binary files a/pic/ymon/pidgey.png and /dev/null differ diff --git a/pic/ymon/pikachu.png b/pic/ymon/pikachu.png deleted file mode 100644 index 4fc61c87..00000000 Binary files a/pic/ymon/pikachu.png and /dev/null differ diff --git a/pic/ymon/pinsir.png b/pic/ymon/pinsir.png deleted file mode 100644 index 0f8d8639..00000000 Binary files a/pic/ymon/pinsir.png and /dev/null differ diff --git a/pic/ymon/poliwag.png b/pic/ymon/poliwag.png deleted file mode 100644 index 1c19fd1c..00000000 Binary files a/pic/ymon/poliwag.png and /dev/null differ diff --git a/pic/ymon/poliwhirl.png b/pic/ymon/poliwhirl.png deleted file mode 100644 index f56f75df..00000000 Binary files a/pic/ymon/poliwhirl.png and /dev/null differ diff --git a/pic/ymon/poliwrath.png b/pic/ymon/poliwrath.png deleted file mode 100644 index 20fe9e6c..00000000 Binary files a/pic/ymon/poliwrath.png and /dev/null differ diff --git a/pic/ymon/ponyta.png b/pic/ymon/ponyta.png deleted file mode 100644 index b4ec63b2..00000000 Binary files a/pic/ymon/ponyta.png and /dev/null differ diff --git a/pic/ymon/porygon.png b/pic/ymon/porygon.png deleted file mode 100644 index f991dd6e..00000000 Binary files a/pic/ymon/porygon.png and /dev/null differ diff --git a/pic/ymon/primeape.png b/pic/ymon/primeape.png deleted file mode 100644 index a14234f5..00000000 Binary files a/pic/ymon/primeape.png and /dev/null differ diff --git a/pic/ymon/psyduck.png b/pic/ymon/psyduck.png deleted file mode 100644 index 75cd2f17..00000000 Binary files a/pic/ymon/psyduck.png and /dev/null differ diff --git a/pic/ymon/raichu.png b/pic/ymon/raichu.png deleted file mode 100644 index 1ef39dc9..00000000 Binary files a/pic/ymon/raichu.png and /dev/null differ diff --git a/pic/ymon/rapidash.png b/pic/ymon/rapidash.png deleted file mode 100644 index 804e7829..00000000 Binary files a/pic/ymon/rapidash.png and /dev/null differ diff --git a/pic/ymon/raticate.png b/pic/ymon/raticate.png deleted file mode 100644 index 95018e0b..00000000 Binary files a/pic/ymon/raticate.png and /dev/null differ diff --git a/pic/ymon/rattata.png b/pic/ymon/rattata.png deleted file mode 100644 index 423299bb..00000000 Binary files a/pic/ymon/rattata.png and /dev/null differ diff --git a/pic/ymon/rhydon.png b/pic/ymon/rhydon.png deleted file mode 100644 index 6d75e4be..00000000 Binary files a/pic/ymon/rhydon.png and /dev/null differ diff --git a/pic/ymon/rhyhorn.png b/pic/ymon/rhyhorn.png deleted file mode 100644 index dcf9dd6a..00000000 Binary files a/pic/ymon/rhyhorn.png and /dev/null differ diff --git a/pic/ymon/sandshrew.png b/pic/ymon/sandshrew.png deleted file mode 100644 index 010908fd..00000000 Binary files a/pic/ymon/sandshrew.png and /dev/null differ diff --git a/pic/ymon/sandslash.png b/pic/ymon/sandslash.png deleted file mode 100644 index d37a8de1..00000000 Binary files a/pic/ymon/sandslash.png and /dev/null differ diff --git a/pic/ymon/scyther.png b/pic/ymon/scyther.png deleted file mode 100644 index 51663342..00000000 Binary files a/pic/ymon/scyther.png and /dev/null differ diff --git a/pic/ymon/seadra.png b/pic/ymon/seadra.png deleted file mode 100644 index 150416dc..00000000 Binary files a/pic/ymon/seadra.png and /dev/null differ diff --git a/pic/ymon/seaking.png b/pic/ymon/seaking.png deleted file mode 100644 index 75060461..00000000 Binary files a/pic/ymon/seaking.png and /dev/null differ diff --git a/pic/ymon/seel.png b/pic/ymon/seel.png deleted file mode 100644 index ef3574b0..00000000 Binary files a/pic/ymon/seel.png and /dev/null differ diff --git a/pic/ymon/shellder.png b/pic/ymon/shellder.png deleted file mode 100644 index d7ddfa48..00000000 Binary files a/pic/ymon/shellder.png and /dev/null differ diff --git a/pic/ymon/slowbro.png b/pic/ymon/slowbro.png deleted file mode 100644 index e506c9ec..00000000 Binary files a/pic/ymon/slowbro.png and /dev/null differ diff --git a/pic/ymon/slowpoke.png b/pic/ymon/slowpoke.png deleted file mode 100644 index 1328f4a0..00000000 Binary files a/pic/ymon/slowpoke.png and /dev/null differ diff --git a/pic/ymon/snorlax.png b/pic/ymon/snorlax.png deleted file mode 100644 index 00c78d27..00000000 Binary files a/pic/ymon/snorlax.png and /dev/null differ diff --git a/pic/ymon/spearow.png b/pic/ymon/spearow.png deleted file mode 100644 index d9349987..00000000 Binary files a/pic/ymon/spearow.png and /dev/null differ diff --git a/pic/ymon/squirtle.png b/pic/ymon/squirtle.png deleted file mode 100644 index db7aa6c7..00000000 Binary files a/pic/ymon/squirtle.png and /dev/null differ diff --git a/pic/ymon/starmie.png b/pic/ymon/starmie.png deleted file mode 100644 index 2ed93b4d..00000000 Binary files a/pic/ymon/starmie.png and /dev/null differ diff --git a/pic/ymon/staryu.png b/pic/ymon/staryu.png deleted file mode 100644 index 320fb6a6..00000000 Binary files a/pic/ymon/staryu.png and /dev/null differ diff --git a/pic/ymon/tangela.png b/pic/ymon/tangela.png deleted file mode 100644 index 43d04726..00000000 Binary files a/pic/ymon/tangela.png and /dev/null differ diff --git a/pic/ymon/tauros.png b/pic/ymon/tauros.png deleted file mode 100644 index 8086fd13..00000000 Binary files a/pic/ymon/tauros.png and /dev/null differ diff --git a/pic/ymon/tentacool.png b/pic/ymon/tentacool.png deleted file mode 100644 index 88d7fde3..00000000 Binary files a/pic/ymon/tentacool.png and /dev/null differ diff --git a/pic/ymon/tentacruel.png b/pic/ymon/tentacruel.png deleted file mode 100644 index 47383372..00000000 Binary files a/pic/ymon/tentacruel.png and /dev/null differ diff --git a/pic/ymon/vaporeon.png b/pic/ymon/vaporeon.png deleted file mode 100644 index 2c35af22..00000000 Binary files a/pic/ymon/vaporeon.png and /dev/null differ diff --git a/pic/ymon/venomoth.png b/pic/ymon/venomoth.png deleted file mode 100644 index 9d801497..00000000 Binary files a/pic/ymon/venomoth.png and /dev/null differ diff --git a/pic/ymon/venonat.png b/pic/ymon/venonat.png deleted file mode 100644 index 574ed26b..00000000 Binary files a/pic/ymon/venonat.png and /dev/null differ diff --git a/pic/ymon/venusaur.png b/pic/ymon/venusaur.png deleted file mode 100644 index f6a964e3..00000000 Binary files a/pic/ymon/venusaur.png and /dev/null differ diff --git a/pic/ymon/victreebel.png b/pic/ymon/victreebel.png deleted file mode 100644 index 115c45a3..00000000 Binary files a/pic/ymon/victreebel.png and /dev/null differ diff --git a/pic/ymon/vileplume.png b/pic/ymon/vileplume.png deleted file mode 100644 index af4f0862..00000000 Binary files a/pic/ymon/vileplume.png and /dev/null differ diff --git a/pic/ymon/voltorb.png b/pic/ymon/voltorb.png deleted file mode 100644 index 8b4bc64d..00000000 Binary files a/pic/ymon/voltorb.png and /dev/null differ diff --git a/pic/ymon/vulpix.png b/pic/ymon/vulpix.png deleted file mode 100644 index cef8fbd8..00000000 Binary files a/pic/ymon/vulpix.png and /dev/null differ diff --git a/pic/ymon/wartortle.png b/pic/ymon/wartortle.png deleted file mode 100644 index 961aaf4f..00000000 Binary files a/pic/ymon/wartortle.png and /dev/null differ diff --git a/pic/ymon/weedle.png b/pic/ymon/weedle.png deleted file mode 100644 index 989b57b5..00000000 Binary files a/pic/ymon/weedle.png and /dev/null differ diff --git a/pic/ymon/weepinbell.png b/pic/ymon/weepinbell.png deleted file mode 100644 index 8dd8fc34..00000000 Binary files a/pic/ymon/weepinbell.png and /dev/null differ diff --git a/pic/ymon/weezing.png b/pic/ymon/weezing.png deleted file mode 100644 index 445556b3..00000000 Binary files a/pic/ymon/weezing.png and /dev/null differ diff --git a/pic/ymon/wigglytuff.png b/pic/ymon/wigglytuff.png deleted file mode 100644 index c9ae89ad..00000000 Binary files a/pic/ymon/wigglytuff.png and /dev/null differ diff --git a/pic/ymon/zapdos.png b/pic/ymon/zapdos.png deleted file mode 100644 index 47b63d6a..00000000 Binary files a/pic/ymon/zapdos.png and /dev/null differ diff --git a/pic/ymon/zubat.png b/pic/ymon/zubat.png deleted file mode 100644 index 86ac4710..00000000 Binary files a/pic/ymon/zubat.png and /dev/null differ diff --git a/pic/ytrainer/brock.png b/pic/ytrainer/brock.png deleted file mode 100644 index 8b33e8b9..00000000 Binary files a/pic/ytrainer/brock.png and /dev/null differ diff --git a/pic/ytrainer/erika.png b/pic/ytrainer/erika.png deleted file mode 100644 index 446ed6aa..00000000 Binary files a/pic/ytrainer/erika.png and /dev/null differ diff --git a/pic/ytrainer/jessiejames.png b/pic/ytrainer/jessiejames.png deleted file mode 100644 index 764e5af4..00000000 Binary files a/pic/ytrainer/jessiejames.png and /dev/null differ diff --git a/pic/ytrainer/misty.png b/pic/ytrainer/misty.png deleted file mode 100644 index a7fdd6bc..00000000 Binary files a/pic/ytrainer/misty.png and /dev/null differ diff --git a/pic/ytrainer/prof.oakb.png b/pic/ytrainer/prof.oakb.png deleted file mode 100644 index fb96bbf9..00000000 Binary files a/pic/ytrainer/prof.oakb.png and /dev/null differ diff --git a/pic/ytrainer/red.png b/pic/ytrainer/red.png deleted file mode 100644 index dff68167..00000000 Binary files a/pic/ytrainer/red.png and /dev/null differ diff --git a/pic/ytrainer/rival1.png b/pic/ytrainer/rival1.png deleted file mode 100644 index 4a0ba97c..00000000 Binary files a/pic/ytrainer/rival1.png and /dev/null differ diff --git a/pic/ytrainer/rival2.png b/pic/ytrainer/rival2.png deleted file mode 100644 index e8718589..00000000 Binary files a/pic/ytrainer/rival2.png and /dev/null differ diff --git a/pic/ytrainer/rival3.png b/pic/ytrainer/rival3.png deleted file mode 100644 index 08e22813..00000000 Binary files a/pic/ytrainer/rival3.png and /dev/null differ diff --git a/pics.asm b/pics.asm index 93f68b35..0e2adc24 100644 --- a/pics.asm +++ b/pics.asm @@ -1,376 +1,376 @@ SECTION "Pics 1", ROMX -RhydonPicFront:: INCBIN "pic/bmon/rhydon.pic" -RhydonPicBack:: INCBIN "pic/monback/rhydonb.pic" -KangaskhanPicFront:: INCBIN "pic/bmon/kangaskhan.pic" -KangaskhanPicBack:: INCBIN "pic/monback/kangaskhanb.pic" -NidoranMPicFront:: INCBIN "pic/bmon/nidoranm.pic" -NidoranMPicBack:: INCBIN "pic/monback/nidoranmb.pic" -ClefairyPicFront:: INCBIN "pic/bmon/clefairy.pic" -ClefairyPicBack:: INCBIN "pic/monback/clefairyb.pic" -SpearowPicFront:: INCBIN "pic/bmon/spearow.pic" -SpearowPicBack:: INCBIN "pic/monback/spearowb.pic" -VoltorbPicFront:: INCBIN "pic/bmon/voltorb.pic" -VoltorbPicBack:: INCBIN "pic/monback/voltorbb.pic" -NidokingPicFront:: INCBIN "pic/bmon/nidoking.pic" -NidokingPicBack:: INCBIN "pic/monback/nidokingb.pic" -SlowbroPicFront:: INCBIN "pic/bmon/slowbro.pic" -SlowbroPicBack:: INCBIN "pic/monback/slowbrob.pic" -IvysaurPicFront:: INCBIN "pic/bmon/ivysaur.pic" -IvysaurPicBack:: INCBIN "pic/monback/ivysaurb.pic" -ExeggutorPicFront:: INCBIN "pic/bmon/exeggutor.pic" -ExeggutorPicBack:: INCBIN "pic/monback/exeggutorb.pic" -LickitungPicFront:: INCBIN "pic/bmon/lickitung.pic" -LickitungPicBack:: INCBIN "pic/monback/lickitungb.pic" -ExeggcutePicFront:: INCBIN "pic/bmon/exeggcute.pic" -ExeggcutePicBack:: INCBIN "pic/monback/exeggcuteb.pic" -GrimerPicFront:: INCBIN "pic/bmon/grimer.pic" -GrimerPicBack:: INCBIN "pic/monback/grimerb.pic" -GengarPicFront:: INCBIN "pic/bmon/gengar.pic" -GengarPicBack:: INCBIN "pic/monback/gengarb.pic" -NidoranFPicFront:: INCBIN "pic/bmon/nidoranf.pic" -NidoranFPicBack:: INCBIN "pic/monback/nidoranfb.pic" -NidoqueenPicFront:: INCBIN "pic/bmon/nidoqueen.pic" -NidoqueenPicBack:: INCBIN "pic/monback/nidoqueenb.pic" -CubonePicFront:: INCBIN "pic/bmon/cubone.pic" -CubonePicBack:: INCBIN "pic/monback/cuboneb.pic" -RhyhornPicFront:: INCBIN "pic/bmon/rhyhorn.pic" -RhyhornPicBack:: INCBIN "pic/monback/rhyhornb.pic" -LaprasPicFront:: INCBIN "pic/bmon/lapras.pic" -LaprasPicBack:: INCBIN "pic/monback/laprasb.pic" -ArcaninePicFront:: INCBIN "pic/bmon/arcanine.pic" -ArcaninePicBack:: INCBIN "pic/monback/arcanineb.pic" -GyaradosPicFront:: INCBIN "pic/bmon/gyarados.pic" -GyaradosPicBack:: INCBIN "pic/monback/gyaradosb.pic" -ShellderPicFront:: INCBIN "pic/bmon/shellder.pic" -ShellderPicBack:: INCBIN "pic/monback/shellderb.pic" -TentacoolPicFront:: INCBIN "pic/bmon/tentacool.pic" -TentacoolPicBack:: INCBIN "pic/monback/tentacoolb.pic" -GastlyPicFront:: INCBIN "pic/bmon/gastly.pic" -GastlyPicBack:: INCBIN "pic/monback/gastlyb.pic" -ScytherPicFront:: INCBIN "pic/bmon/scyther.pic" -ScytherPicBack:: INCBIN "pic/monback/scytherb.pic" -StaryuPicFront:: INCBIN "pic/bmon/staryu.pic" -StaryuPicBack:: INCBIN "pic/monback/staryub.pic" -BlastoisePicFront:: INCBIN "pic/bmon/blastoise.pic" -BlastoisePicBack:: INCBIN "pic/monback/blastoiseb.pic" -PinsirPicFront:: INCBIN "pic/bmon/pinsir.pic" -PinsirPicBack:: INCBIN "pic/monback/pinsirb.pic" -TangelaPicFront:: INCBIN "pic/bmon/tangela.pic" -TangelaPicBack:: INCBIN "pic/monback/tangelab.pic" +RhydonPicFront:: INCBIN "gfx/pokemon/front/rhydon.pic" +RhydonPicBack:: INCBIN "gfx/pokemon/back/rhydonb.pic" +KangaskhanPicFront:: INCBIN "gfx/pokemon/front/kangaskhan.pic" +KangaskhanPicBack:: INCBIN "gfx/pokemon/back/kangaskhanb.pic" +NidoranMPicFront:: INCBIN "gfx/pokemon/front/nidoranm.pic" +NidoranMPicBack:: INCBIN "gfx/pokemon/back/nidoranmb.pic" +ClefairyPicFront:: INCBIN "gfx/pokemon/front/clefairy.pic" +ClefairyPicBack:: INCBIN "gfx/pokemon/back/clefairyb.pic" +SpearowPicFront:: INCBIN "gfx/pokemon/front/spearow.pic" +SpearowPicBack:: INCBIN "gfx/pokemon/back/spearowb.pic" +VoltorbPicFront:: INCBIN "gfx/pokemon/front/voltorb.pic" +VoltorbPicBack:: INCBIN "gfx/pokemon/back/voltorbb.pic" +NidokingPicFront:: INCBIN "gfx/pokemon/front/nidoking.pic" +NidokingPicBack:: INCBIN "gfx/pokemon/back/nidokingb.pic" +SlowbroPicFront:: INCBIN "gfx/pokemon/front/slowbro.pic" +SlowbroPicBack:: INCBIN "gfx/pokemon/back/slowbrob.pic" +IvysaurPicFront:: INCBIN "gfx/pokemon/front/ivysaur.pic" +IvysaurPicBack:: INCBIN "gfx/pokemon/back/ivysaurb.pic" +ExeggutorPicFront:: INCBIN "gfx/pokemon/front/exeggutor.pic" +ExeggutorPicBack:: INCBIN "gfx/pokemon/back/exeggutorb.pic" +LickitungPicFront:: INCBIN "gfx/pokemon/front/lickitung.pic" +LickitungPicBack:: INCBIN "gfx/pokemon/back/lickitungb.pic" +ExeggcutePicFront:: INCBIN "gfx/pokemon/front/exeggcute.pic" +ExeggcutePicBack:: INCBIN "gfx/pokemon/back/exeggcuteb.pic" +GrimerPicFront:: INCBIN "gfx/pokemon/front/grimer.pic" +GrimerPicBack:: INCBIN "gfx/pokemon/back/grimerb.pic" +GengarPicFront:: INCBIN "gfx/pokemon/front/gengar.pic" +GengarPicBack:: INCBIN "gfx/pokemon/back/gengarb.pic" +NidoranFPicFront:: INCBIN "gfx/pokemon/front/nidoranf.pic" +NidoranFPicBack:: INCBIN "gfx/pokemon/back/nidoranfb.pic" +NidoqueenPicFront:: INCBIN "gfx/pokemon/front/nidoqueen.pic" +NidoqueenPicBack:: INCBIN "gfx/pokemon/back/nidoqueenb.pic" +CubonePicFront:: INCBIN "gfx/pokemon/front/cubone.pic" +CubonePicBack:: INCBIN "gfx/pokemon/back/cuboneb.pic" +RhyhornPicFront:: INCBIN "gfx/pokemon/front/rhyhorn.pic" +RhyhornPicBack:: INCBIN "gfx/pokemon/back/rhyhornb.pic" +LaprasPicFront:: INCBIN "gfx/pokemon/front/lapras.pic" +LaprasPicBack:: INCBIN "gfx/pokemon/back/laprasb.pic" +ArcaninePicFront:: INCBIN "gfx/pokemon/front/arcanine.pic" +ArcaninePicBack:: INCBIN "gfx/pokemon/back/arcanineb.pic" +GyaradosPicFront:: INCBIN "gfx/pokemon/front/gyarados.pic" +GyaradosPicBack:: INCBIN "gfx/pokemon/back/gyaradosb.pic" +ShellderPicFront:: INCBIN "gfx/pokemon/front/shellder.pic" +ShellderPicBack:: INCBIN "gfx/pokemon/back/shellderb.pic" +TentacoolPicFront:: INCBIN "gfx/pokemon/front/tentacool.pic" +TentacoolPicBack:: INCBIN "gfx/pokemon/back/tentacoolb.pic" +GastlyPicFront:: INCBIN "gfx/pokemon/front/gastly.pic" +GastlyPicBack:: INCBIN "gfx/pokemon/back/gastlyb.pic" +ScytherPicFront:: INCBIN "gfx/pokemon/front/scyther.pic" +ScytherPicBack:: INCBIN "gfx/pokemon/back/scytherb.pic" +StaryuPicFront:: INCBIN "gfx/pokemon/front/staryu.pic" +StaryuPicBack:: INCBIN "gfx/pokemon/back/staryub.pic" +BlastoisePicFront:: INCBIN "gfx/pokemon/front/blastoise.pic" +BlastoisePicBack:: INCBIN "gfx/pokemon/back/blastoiseb.pic" +PinsirPicFront:: INCBIN "gfx/pokemon/front/pinsir.pic" +PinsirPicBack:: INCBIN "gfx/pokemon/back/pinsirb.pic" +TangelaPicFront:: INCBIN "gfx/pokemon/front/tangela.pic" +TangelaPicBack:: INCBIN "gfx/pokemon/back/tangelab.pic" SECTION "Pics 2", ROMX -GrowlithePicFront:: INCBIN "pic/bmon/growlithe.pic" -GrowlithePicBack:: INCBIN "pic/monback/growlitheb.pic" -OnixPicFront:: INCBIN "pic/bmon/onix.pic" -OnixPicBack:: INCBIN "pic/monback/onixb.pic" -FearowPicFront:: INCBIN "pic/bmon/fearow.pic" -FearowPicBack:: INCBIN "pic/monback/fearowb.pic" -PidgeyPicFront:: INCBIN "pic/bmon/pidgey.pic" -PidgeyPicBack:: INCBIN "pic/monback/pidgeyb.pic" -SlowpokePicFront:: INCBIN "pic/bmon/slowpoke.pic" -SlowpokePicBack:: INCBIN "pic/monback/slowpokeb.pic" -KadabraPicFront:: INCBIN "pic/bmon/kadabra.pic" -KadabraPicBack:: INCBIN "pic/monback/kadabrab.pic" -GravelerPicFront:: INCBIN "pic/bmon/graveler.pic" -GravelerPicBack:: INCBIN "pic/monback/gravelerb.pic" -ChanseyPicFront:: INCBIN "pic/bmon/chansey.pic" -ChanseyPicBack:: INCBIN "pic/monback/chanseyb.pic" -MachokePicFront:: INCBIN "pic/bmon/machoke.pic" -MachokePicBack:: INCBIN "pic/monback/machokeb.pic" -MrMimePicFront:: INCBIN "pic/bmon/mr.mime.pic" -MrMimePicBack:: INCBIN "pic/monback/mr.mimeb.pic" -HitmonleePicFront:: INCBIN "pic/bmon/hitmonlee.pic" -HitmonleePicBack:: INCBIN "pic/monback/hitmonleeb.pic" -HitmonchanPicFront:: INCBIN "pic/bmon/hitmonchan.pic" -HitmonchanPicBack:: INCBIN "pic/monback/hitmonchanb.pic" -ArbokPicFront:: INCBIN "pic/bmon/arbok.pic" -ArbokPicBack:: INCBIN "pic/monback/arbokb.pic" -ParasectPicFront:: INCBIN "pic/bmon/parasect.pic" -ParasectPicBack:: INCBIN "pic/monback/parasectb.pic" -PsyduckPicFront:: INCBIN "pic/bmon/psyduck.pic" -PsyduckPicBack:: INCBIN "pic/monback/psyduckb.pic" -DrowzeePicFront:: INCBIN "pic/bmon/drowzee.pic" -DrowzeePicBack:: INCBIN "pic/monback/drowzeeb.pic" -GolemPicFront:: INCBIN "pic/bmon/golem.pic" -GolemPicBack:: INCBIN "pic/monback/golemb.pic" -MagmarPicFront:: INCBIN "pic/bmon/magmar.pic" -MagmarPicBack:: INCBIN "pic/monback/magmarb.pic" -ElectabuzzPicFront:: INCBIN "pic/bmon/electabuzz.pic" -ElectabuzzPicBack:: INCBIN "pic/monback/electabuzzb.pic" -MagnetonPicFront:: INCBIN "pic/bmon/magneton.pic" -MagnetonPicBack:: INCBIN "pic/monback/magnetonb.pic" -KoffingPicFront:: INCBIN "pic/bmon/koffing.pic" -KoffingPicBack:: INCBIN "pic/monback/koffingb.pic" -MankeyPicFront:: INCBIN "pic/bmon/mankey.pic" -MankeyPicBack:: INCBIN "pic/monback/mankeyb.pic" -SeelPicFront:: INCBIN "pic/bmon/seel.pic" -SeelPicBack:: INCBIN "pic/monback/seelb.pic" -DiglettPicFront:: INCBIN "pic/bmon/diglett.pic" -DiglettPicBack:: INCBIN "pic/monback/diglettb.pic" -TaurosPicFront:: INCBIN "pic/bmon/tauros.pic" -TaurosPicBack:: INCBIN "pic/monback/taurosb.pic" -FarfetchdPicFront:: INCBIN "pic/bmon/farfetchd.pic" -FarfetchdPicBack:: INCBIN "pic/monback/farfetchdb.pic" -VenonatPicFront:: INCBIN "pic/bmon/venonat.pic" -VenonatPicBack:: INCBIN "pic/monback/venonatb.pic" -DragonitePicFront:: INCBIN "pic/bmon/dragonite.pic" -DragonitePicBack:: INCBIN "pic/monback/dragoniteb.pic" -DoduoPicFront:: INCBIN "pic/bmon/doduo.pic" -DoduoPicBack:: INCBIN "pic/monback/doduob.pic" -PoliwagPicFront:: INCBIN "pic/bmon/poliwag.pic" -PoliwagPicBack:: INCBIN "pic/monback/poliwagb.pic" -JynxPicFront:: INCBIN "pic/bmon/jynx.pic" -JynxPicBack:: INCBIN "pic/monback/jynxb.pic" -MoltresPicFront:: INCBIN "pic/bmon/moltres.pic" -MoltresPicBack:: INCBIN "pic/monback/moltresb.pic" +GrowlithePicFront:: INCBIN "gfx/pokemon/front/growlithe.pic" +GrowlithePicBack:: INCBIN "gfx/pokemon/back/growlitheb.pic" +OnixPicFront:: INCBIN "gfx/pokemon/front/onix.pic" +OnixPicBack:: INCBIN "gfx/pokemon/back/onixb.pic" +FearowPicFront:: INCBIN "gfx/pokemon/front/fearow.pic" +FearowPicBack:: INCBIN "gfx/pokemon/back/fearowb.pic" +PidgeyPicFront:: INCBIN "gfx/pokemon/front/pidgey.pic" +PidgeyPicBack:: INCBIN "gfx/pokemon/back/pidgeyb.pic" +SlowpokePicFront:: INCBIN "gfx/pokemon/front/slowpoke.pic" +SlowpokePicBack:: INCBIN "gfx/pokemon/back/slowpokeb.pic" +KadabraPicFront:: INCBIN "gfx/pokemon/front/kadabra.pic" +KadabraPicBack:: INCBIN "gfx/pokemon/back/kadabrab.pic" +GravelerPicFront:: INCBIN "gfx/pokemon/front/graveler.pic" +GravelerPicBack:: INCBIN "gfx/pokemon/back/gravelerb.pic" +ChanseyPicFront:: INCBIN "gfx/pokemon/front/chansey.pic" +ChanseyPicBack:: INCBIN "gfx/pokemon/back/chanseyb.pic" +MachokePicFront:: INCBIN "gfx/pokemon/front/machoke.pic" +MachokePicBack:: INCBIN "gfx/pokemon/back/machokeb.pic" +MrMimePicFront:: INCBIN "gfx/pokemon/front/mr.mime.pic" +MrMimePicBack:: INCBIN "gfx/pokemon/back/mr.mimeb.pic" +HitmonleePicFront:: INCBIN "gfx/pokemon/front/hitmonlee.pic" +HitmonleePicBack:: INCBIN "gfx/pokemon/back/hitmonleeb.pic" +HitmonchanPicFront:: INCBIN "gfx/pokemon/front/hitmonchan.pic" +HitmonchanPicBack:: INCBIN "gfx/pokemon/back/hitmonchanb.pic" +ArbokPicFront:: INCBIN "gfx/pokemon/front/arbok.pic" +ArbokPicBack:: INCBIN "gfx/pokemon/back/arbokb.pic" +ParasectPicFront:: INCBIN "gfx/pokemon/front/parasect.pic" +ParasectPicBack:: INCBIN "gfx/pokemon/back/parasectb.pic" +PsyduckPicFront:: INCBIN "gfx/pokemon/front/psyduck.pic" +PsyduckPicBack:: INCBIN "gfx/pokemon/back/psyduckb.pic" +DrowzeePicFront:: INCBIN "gfx/pokemon/front/drowzee.pic" +DrowzeePicBack:: INCBIN "gfx/pokemon/back/drowzeeb.pic" +GolemPicFront:: INCBIN "gfx/pokemon/front/golem.pic" +GolemPicBack:: INCBIN "gfx/pokemon/back/golemb.pic" +MagmarPicFront:: INCBIN "gfx/pokemon/front/magmar.pic" +MagmarPicBack:: INCBIN "gfx/pokemon/back/magmarb.pic" +ElectabuzzPicFront:: INCBIN "gfx/pokemon/front/electabuzz.pic" +ElectabuzzPicBack:: INCBIN "gfx/pokemon/back/electabuzzb.pic" +MagnetonPicFront:: INCBIN "gfx/pokemon/front/magneton.pic" +MagnetonPicBack:: INCBIN "gfx/pokemon/back/magnetonb.pic" +KoffingPicFront:: INCBIN "gfx/pokemon/front/koffing.pic" +KoffingPicBack:: INCBIN "gfx/pokemon/back/koffingb.pic" +MankeyPicFront:: INCBIN "gfx/pokemon/front/mankey.pic" +MankeyPicBack:: INCBIN "gfx/pokemon/back/mankeyb.pic" +SeelPicFront:: INCBIN "gfx/pokemon/front/seel.pic" +SeelPicBack:: INCBIN "gfx/pokemon/back/seelb.pic" +DiglettPicFront:: INCBIN "gfx/pokemon/front/diglett.pic" +DiglettPicBack:: INCBIN "gfx/pokemon/back/diglettb.pic" +TaurosPicFront:: INCBIN "gfx/pokemon/front/tauros.pic" +TaurosPicBack:: INCBIN "gfx/pokemon/back/taurosb.pic" +FarfetchdPicFront:: INCBIN "gfx/pokemon/front/farfetchd.pic" +FarfetchdPicBack:: INCBIN "gfx/pokemon/back/farfetchdb.pic" +VenonatPicFront:: INCBIN "gfx/pokemon/front/venonat.pic" +VenonatPicBack:: INCBIN "gfx/pokemon/back/venonatb.pic" +DragonitePicFront:: INCBIN "gfx/pokemon/front/dragonite.pic" +DragonitePicBack:: INCBIN "gfx/pokemon/back/dragoniteb.pic" +DoduoPicFront:: INCBIN "gfx/pokemon/front/doduo.pic" +DoduoPicBack:: INCBIN "gfx/pokemon/back/doduob.pic" +PoliwagPicFront:: INCBIN "gfx/pokemon/front/poliwag.pic" +PoliwagPicBack:: INCBIN "gfx/pokemon/back/poliwagb.pic" +JynxPicFront:: INCBIN "gfx/pokemon/front/jynx.pic" +JynxPicBack:: INCBIN "gfx/pokemon/back/jynxb.pic" +MoltresPicFront:: INCBIN "gfx/pokemon/front/moltres.pic" +MoltresPicBack:: INCBIN "gfx/pokemon/back/moltresb.pic" SECTION "Pics 3", ROMX -ArticunoPicFront:: INCBIN "pic/bmon/articuno.pic" -ArticunoPicBack:: INCBIN "pic/monback/articunob.pic" -ZapdosPicFront:: INCBIN "pic/bmon/zapdos.pic" -ZapdosPicBack:: INCBIN "pic/monback/zapdosb.pic" -DittoPicFront:: INCBIN "pic/bmon/ditto.pic" -DittoPicBack:: INCBIN "pic/monback/dittob.pic" -MeowthPicFront:: INCBIN "pic/bmon/meowth.pic" -MeowthPicBack:: INCBIN "pic/monback/meowthb.pic" -KrabbyPicFront:: INCBIN "pic/bmon/krabby.pic" -KrabbyPicBack:: INCBIN "pic/monback/krabbyb.pic" -VulpixPicFront:: INCBIN "pic/bmon/vulpix.pic" -VulpixPicBack:: INCBIN "pic/monback/vulpixb.pic" -NinetalesPicFront:: INCBIN "pic/bmon/ninetales.pic" -NinetalesPicBack:: INCBIN "pic/monback/ninetalesb.pic" -PikachuPicFront:: INCBIN "pic/bmon/pikachu.pic" -PikachuPicBack:: INCBIN "pic/monback/pikachub.pic" -RaichuPicFront:: INCBIN "pic/bmon/raichu.pic" -RaichuPicBack:: INCBIN "pic/monback/raichub.pic" -DratiniPicFront:: INCBIN "pic/bmon/dratini.pic" -DratiniPicBack:: INCBIN "pic/monback/dratinib.pic" -DragonairPicFront:: INCBIN "pic/bmon/dragonair.pic" -DragonairPicBack:: INCBIN "pic/monback/dragonairb.pic" -KabutoPicFront:: INCBIN "pic/bmon/kabuto.pic" -KabutoPicBack:: INCBIN "pic/monback/kabutob.pic" -KabutopsPicFront:: INCBIN "pic/bmon/kabutops.pic" -KabutopsPicBack:: INCBIN "pic/monback/kabutopsb.pic" -HorseaPicFront:: INCBIN "pic/bmon/horsea.pic" -HorseaPicBack:: INCBIN "pic/monback/horseab.pic" -SeadraPicFront:: INCBIN "pic/bmon/seadra.pic" -SeadraPicBack:: INCBIN "pic/monback/seadrab.pic" -SandshrewPicFront:: INCBIN "pic/bmon/sandshrew.pic" -SandshrewPicBack:: INCBIN "pic/monback/sandshrewb.pic" -SandslashPicFront:: INCBIN "pic/bmon/sandslash.pic" -SandslashPicBack:: INCBIN "pic/monback/sandslashb.pic" -OmanytePicFront:: INCBIN "pic/bmon/omanyte.pic" -OmanytePicBack:: INCBIN "pic/monback/omanyteb.pic" -OmastarPicFront:: INCBIN "pic/bmon/omastar.pic" -OmastarPicBack:: INCBIN "pic/monback/omastarb.pic" -JigglypuffPicFront:: INCBIN "pic/bmon/jigglypuff.pic" -JigglypuffPicBack:: INCBIN "pic/monback/jigglypuffb.pic" -WigglytuffPicFront:: INCBIN "pic/bmon/wigglytuff.pic" -WigglytuffPicBack:: INCBIN "pic/monback/wigglytuffb.pic" -EeveePicFront:: INCBIN "pic/bmon/eevee.pic" -EeveePicBack:: INCBIN "pic/monback/eeveeb.pic" -FlareonPicFront:: INCBIN "pic/bmon/flareon.pic" -FlareonPicBack:: INCBIN "pic/monback/flareonb.pic" -JolteonPicFront:: INCBIN "pic/bmon/jolteon.pic" -JolteonPicBack:: INCBIN "pic/monback/jolteonb.pic" -VaporeonPicFront:: INCBIN "pic/bmon/vaporeon.pic" -VaporeonPicBack:: INCBIN "pic/monback/vaporeonb.pic" -MachopPicFront:: INCBIN "pic/bmon/machop.pic" -MachopPicBack:: INCBIN "pic/monback/machopb.pic" -ZubatPicFront:: INCBIN "pic/bmon/zubat.pic" -ZubatPicBack:: INCBIN "pic/monback/zubatb.pic" -EkansPicFront:: INCBIN "pic/bmon/ekans.pic" -EkansPicBack:: INCBIN "pic/monback/ekansb.pic" -ParasPicFront:: INCBIN "pic/bmon/paras.pic" -ParasPicBack:: INCBIN "pic/monback/parasb.pic" -PoliwhirlPicFront:: INCBIN "pic/bmon/poliwhirl.pic" -PoliwhirlPicBack:: INCBIN "pic/monback/poliwhirlb.pic" -PoliwrathPicFront:: INCBIN "pic/bmon/poliwrath.pic" -PoliwrathPicBack:: INCBIN "pic/monback/poliwrathb.pic" -WeedlePicFront:: INCBIN "pic/bmon/weedle.pic" -WeedlePicBack:: INCBIN "pic/monback/weedleb.pic" -KakunaPicFront:: INCBIN "pic/bmon/kakuna.pic" -KakunaPicBack:: INCBIN "pic/monback/kakunab.pic" -BeedrillPicFront:: INCBIN "pic/bmon/beedrill.pic" -BeedrillPicBack:: INCBIN "pic/monback/beedrillb.pic" +ArticunoPicFront:: INCBIN "gfx/pokemon/front/articuno.pic" +ArticunoPicBack:: INCBIN "gfx/pokemon/back/articunob.pic" +ZapdosPicFront:: INCBIN "gfx/pokemon/front/zapdos.pic" +ZapdosPicBack:: INCBIN "gfx/pokemon/back/zapdosb.pic" +DittoPicFront:: INCBIN "gfx/pokemon/front/ditto.pic" +DittoPicBack:: INCBIN "gfx/pokemon/back/dittob.pic" +MeowthPicFront:: INCBIN "gfx/pokemon/front/meowth.pic" +MeowthPicBack:: INCBIN "gfx/pokemon/back/meowthb.pic" +KrabbyPicFront:: INCBIN "gfx/pokemon/front/krabby.pic" +KrabbyPicBack:: INCBIN "gfx/pokemon/back/krabbyb.pic" +VulpixPicFront:: INCBIN "gfx/pokemon/front/vulpix.pic" +VulpixPicBack:: INCBIN "gfx/pokemon/back/vulpixb.pic" +NinetalesPicFront:: INCBIN "gfx/pokemon/front/ninetales.pic" +NinetalesPicBack:: INCBIN "gfx/pokemon/back/ninetalesb.pic" +PikachuPicFront:: INCBIN "gfx/pokemon/front/pikachu.pic" +PikachuPicBack:: INCBIN "gfx/pokemon/back/pikachub.pic" +RaichuPicFront:: INCBIN "gfx/pokemon/front/raichu.pic" +RaichuPicBack:: INCBIN "gfx/pokemon/back/raichub.pic" +DratiniPicFront:: INCBIN "gfx/pokemon/front/dratini.pic" +DratiniPicBack:: INCBIN "gfx/pokemon/back/dratinib.pic" +DragonairPicFront:: INCBIN "gfx/pokemon/front/dragonair.pic" +DragonairPicBack:: INCBIN "gfx/pokemon/back/dragonairb.pic" +KabutoPicFront:: INCBIN "gfx/pokemon/front/kabuto.pic" +KabutoPicBack:: INCBIN "gfx/pokemon/back/kabutob.pic" +KabutopsPicFront:: INCBIN "gfx/pokemon/front/kabutops.pic" +KabutopsPicBack:: INCBIN "gfx/pokemon/back/kabutopsb.pic" +HorseaPicFront:: INCBIN "gfx/pokemon/front/horsea.pic" +HorseaPicBack:: INCBIN "gfx/pokemon/back/horseab.pic" +SeadraPicFront:: INCBIN "gfx/pokemon/front/seadra.pic" +SeadraPicBack:: INCBIN "gfx/pokemon/back/seadrab.pic" +SandshrewPicFront:: INCBIN "gfx/pokemon/front/sandshrew.pic" +SandshrewPicBack:: INCBIN "gfx/pokemon/back/sandshrewb.pic" +SandslashPicFront:: INCBIN "gfx/pokemon/front/sandslash.pic" +SandslashPicBack:: INCBIN "gfx/pokemon/back/sandslashb.pic" +OmanytePicFront:: INCBIN "gfx/pokemon/front/omanyte.pic" +OmanytePicBack:: INCBIN "gfx/pokemon/back/omanyteb.pic" +OmastarPicFront:: INCBIN "gfx/pokemon/front/omastar.pic" +OmastarPicBack:: INCBIN "gfx/pokemon/back/omastarb.pic" +JigglypuffPicFront:: INCBIN "gfx/pokemon/front/jigglypuff.pic" +JigglypuffPicBack:: INCBIN "gfx/pokemon/back/jigglypuffb.pic" +WigglytuffPicFront:: INCBIN "gfx/pokemon/front/wigglytuff.pic" +WigglytuffPicBack:: INCBIN "gfx/pokemon/back/wigglytuffb.pic" +EeveePicFront:: INCBIN "gfx/pokemon/front/eevee.pic" +EeveePicBack:: INCBIN "gfx/pokemon/back/eeveeb.pic" +FlareonPicFront:: INCBIN "gfx/pokemon/front/flareon.pic" +FlareonPicBack:: INCBIN "gfx/pokemon/back/flareonb.pic" +JolteonPicFront:: INCBIN "gfx/pokemon/front/jolteon.pic" +JolteonPicBack:: INCBIN "gfx/pokemon/back/jolteonb.pic" +VaporeonPicFront:: INCBIN "gfx/pokemon/front/vaporeon.pic" +VaporeonPicBack:: INCBIN "gfx/pokemon/back/vaporeonb.pic" +MachopPicFront:: INCBIN "gfx/pokemon/front/machop.pic" +MachopPicBack:: INCBIN "gfx/pokemon/back/machopb.pic" +ZubatPicFront:: INCBIN "gfx/pokemon/front/zubat.pic" +ZubatPicBack:: INCBIN "gfx/pokemon/back/zubatb.pic" +EkansPicFront:: INCBIN "gfx/pokemon/front/ekans.pic" +EkansPicBack:: INCBIN "gfx/pokemon/back/ekansb.pic" +ParasPicFront:: INCBIN "gfx/pokemon/front/paras.pic" +ParasPicBack:: INCBIN "gfx/pokemon/back/parasb.pic" +PoliwhirlPicFront:: INCBIN "gfx/pokemon/front/poliwhirl.pic" +PoliwhirlPicBack:: INCBIN "gfx/pokemon/back/poliwhirlb.pic" +PoliwrathPicFront:: INCBIN "gfx/pokemon/front/poliwrath.pic" +PoliwrathPicBack:: INCBIN "gfx/pokemon/back/poliwrathb.pic" +WeedlePicFront:: INCBIN "gfx/pokemon/front/weedle.pic" +WeedlePicBack:: INCBIN "gfx/pokemon/back/weedleb.pic" +KakunaPicFront:: INCBIN "gfx/pokemon/front/kakuna.pic" +KakunaPicBack:: INCBIN "gfx/pokemon/back/kakunab.pic" +BeedrillPicFront:: INCBIN "gfx/pokemon/front/beedrill.pic" +BeedrillPicBack:: INCBIN "gfx/pokemon/back/beedrillb.pic" -FossilKabutopsPic:: INCBIN "pic/bmon/fossilkabutops.pic" +FossilKabutopsPic:: INCBIN "gfx/pokemon/front/fossilkabutops.pic" SECTION "Pics 4", ROMX -DodrioPicFront:: INCBIN "pic/bmon/dodrio.pic" -DodrioPicBack:: INCBIN "pic/monback/dodriob.pic" -PrimeapePicFront:: INCBIN "pic/bmon/primeape.pic" -PrimeapePicBack:: INCBIN "pic/monback/primeapeb.pic" -DugtrioPicFront:: INCBIN "pic/bmon/dugtrio.pic" -DugtrioPicBack:: INCBIN "pic/monback/dugtriob.pic" -VenomothPicFront:: INCBIN "pic/bmon/venomoth.pic" -VenomothPicBack:: INCBIN "pic/monback/venomothb.pic" -DewgongPicFront:: INCBIN "pic/bmon/dewgong.pic" -DewgongPicBack:: INCBIN "pic/monback/dewgongb.pic" -CaterpiePicFront:: INCBIN "pic/bmon/caterpie.pic" -CaterpiePicBack:: INCBIN "pic/monback/caterpieb.pic" -MetapodPicFront:: INCBIN "pic/bmon/metapod.pic" -MetapodPicBack:: INCBIN "pic/monback/metapodb.pic" -ButterfreePicFront:: INCBIN "pic/bmon/butterfree.pic" -ButterfreePicBack:: INCBIN "pic/monback/butterfreeb.pic" -MachampPicFront:: INCBIN "pic/bmon/machamp.pic" -MachampPicBack:: INCBIN "pic/monback/machampb.pic" -GolduckPicFront:: INCBIN "pic/bmon/golduck.pic" -GolduckPicBack:: INCBIN "pic/monback/golduckb.pic" -HypnoPicFront:: INCBIN "pic/bmon/hypno.pic" -HypnoPicBack:: INCBIN "pic/monback/hypnob.pic" -GolbatPicFront:: INCBIN "pic/bmon/golbat.pic" -GolbatPicBack:: INCBIN "pic/monback/golbatb.pic" -MewtwoPicFront:: INCBIN "pic/bmon/mewtwo.pic" -MewtwoPicBack:: INCBIN "pic/monback/mewtwob.pic" -SnorlaxPicFront:: INCBIN "pic/bmon/snorlax.pic" -SnorlaxPicBack:: INCBIN "pic/monback/snorlaxb.pic" -MagikarpPicFront:: INCBIN "pic/bmon/magikarp.pic" -MagikarpPicBack:: INCBIN "pic/monback/magikarpb.pic" -MukPicFront:: INCBIN "pic/bmon/muk.pic" -MukPicBack:: INCBIN "pic/monback/mukb.pic" -KinglerPicFront:: INCBIN "pic/bmon/kingler.pic" -KinglerPicBack:: INCBIN "pic/monback/kinglerb.pic" -CloysterPicFront:: INCBIN "pic/bmon/cloyster.pic" -CloysterPicBack:: INCBIN "pic/monback/cloysterb.pic" -ElectrodePicFront:: INCBIN "pic/bmon/electrode.pic" -ElectrodePicBack:: INCBIN "pic/monback/electrodeb.pic" -ClefablePicFront:: INCBIN "pic/bmon/clefable.pic" -ClefablePicBack:: INCBIN "pic/monback/clefableb.pic" -WeezingPicFront:: INCBIN "pic/bmon/weezing.pic" -WeezingPicBack:: INCBIN "pic/monback/weezingb.pic" -PersianPicFront:: INCBIN "pic/bmon/persian.pic" -PersianPicBack:: INCBIN "pic/monback/persianb.pic" -MarowakPicFront:: INCBIN "pic/bmon/marowak.pic" -MarowakPicBack:: INCBIN "pic/monback/marowakb.pic" -HaunterPicFront:: INCBIN "pic/bmon/haunter.pic" -HaunterPicBack:: INCBIN "pic/monback/haunterb.pic" -AbraPicFront:: INCBIN "pic/bmon/abra.pic" -AbraPicBack:: INCBIN "pic/monback/abrab.pic" -AlakazamPicFront:: INCBIN "pic/bmon/alakazam.pic" -AlakazamPicBack:: INCBIN "pic/monback/alakazamb.pic" -PidgeottoPicFront:: INCBIN "pic/bmon/pidgeotto.pic" -PidgeottoPicBack:: INCBIN "pic/monback/pidgeottob.pic" -PidgeotPicFront:: INCBIN "pic/bmon/pidgeot.pic" -PidgeotPicBack:: INCBIN "pic/monback/pidgeotb.pic" -StarmiePicFront:: INCBIN "pic/bmon/starmie.pic" -StarmiePicBack:: INCBIN "pic/monback/starmieb.pic" +DodrioPicFront:: INCBIN "gfx/pokemon/front/dodrio.pic" +DodrioPicBack:: INCBIN "gfx/pokemon/back/dodriob.pic" +PrimeapePicFront:: INCBIN "gfx/pokemon/front/primeape.pic" +PrimeapePicBack:: INCBIN "gfx/pokemon/back/primeapeb.pic" +DugtrioPicFront:: INCBIN "gfx/pokemon/front/dugtrio.pic" +DugtrioPicBack:: INCBIN "gfx/pokemon/back/dugtriob.pic" +VenomothPicFront:: INCBIN "gfx/pokemon/front/venomoth.pic" +VenomothPicBack:: INCBIN "gfx/pokemon/back/venomothb.pic" +DewgongPicFront:: INCBIN "gfx/pokemon/front/dewgong.pic" +DewgongPicBack:: INCBIN "gfx/pokemon/back/dewgongb.pic" +CaterpiePicFront:: INCBIN "gfx/pokemon/front/caterpie.pic" +CaterpiePicBack:: INCBIN "gfx/pokemon/back/caterpieb.pic" +MetapodPicFront:: INCBIN "gfx/pokemon/front/metapod.pic" +MetapodPicBack:: INCBIN "gfx/pokemon/back/metapodb.pic" +ButterfreePicFront:: INCBIN "gfx/pokemon/front/butterfree.pic" +ButterfreePicBack:: INCBIN "gfx/pokemon/back/butterfreeb.pic" +MachampPicFront:: INCBIN "gfx/pokemon/front/machamp.pic" +MachampPicBack:: INCBIN "gfx/pokemon/back/machampb.pic" +GolduckPicFront:: INCBIN "gfx/pokemon/front/golduck.pic" +GolduckPicBack:: INCBIN "gfx/pokemon/back/golduckb.pic" +HypnoPicFront:: INCBIN "gfx/pokemon/front/hypno.pic" +HypnoPicBack:: INCBIN "gfx/pokemon/back/hypnob.pic" +GolbatPicFront:: INCBIN "gfx/pokemon/front/golbat.pic" +GolbatPicBack:: INCBIN "gfx/pokemon/back/golbatb.pic" +MewtwoPicFront:: INCBIN "gfx/pokemon/front/mewtwo.pic" +MewtwoPicBack:: INCBIN "gfx/pokemon/back/mewtwob.pic" +SnorlaxPicFront:: INCBIN "gfx/pokemon/front/snorlax.pic" +SnorlaxPicBack:: INCBIN "gfx/pokemon/back/snorlaxb.pic" +MagikarpPicFront:: INCBIN "gfx/pokemon/front/magikarp.pic" +MagikarpPicBack:: INCBIN "gfx/pokemon/back/magikarpb.pic" +MukPicFront:: INCBIN "gfx/pokemon/front/muk.pic" +MukPicBack:: INCBIN "gfx/pokemon/back/mukb.pic" +KinglerPicFront:: INCBIN "gfx/pokemon/front/kingler.pic" +KinglerPicBack:: INCBIN "gfx/pokemon/back/kinglerb.pic" +CloysterPicFront:: INCBIN "gfx/pokemon/front/cloyster.pic" +CloysterPicBack:: INCBIN "gfx/pokemon/back/cloysterb.pic" +ElectrodePicFront:: INCBIN "gfx/pokemon/front/electrode.pic" +ElectrodePicBack:: INCBIN "gfx/pokemon/back/electrodeb.pic" +ClefablePicFront:: INCBIN "gfx/pokemon/front/clefable.pic" +ClefablePicBack:: INCBIN "gfx/pokemon/back/clefableb.pic" +WeezingPicFront:: INCBIN "gfx/pokemon/front/weezing.pic" +WeezingPicBack:: INCBIN "gfx/pokemon/back/weezingb.pic" +PersianPicFront:: INCBIN "gfx/pokemon/front/persian.pic" +PersianPicBack:: INCBIN "gfx/pokemon/back/persianb.pic" +MarowakPicFront:: INCBIN "gfx/pokemon/front/marowak.pic" +MarowakPicBack:: INCBIN "gfx/pokemon/back/marowakb.pic" +HaunterPicFront:: INCBIN "gfx/pokemon/front/haunter.pic" +HaunterPicBack:: INCBIN "gfx/pokemon/back/haunterb.pic" +AbraPicFront:: INCBIN "gfx/pokemon/front/abra.pic" +AbraPicBack:: INCBIN "gfx/pokemon/back/abrab.pic" +AlakazamPicFront:: INCBIN "gfx/pokemon/front/alakazam.pic" +AlakazamPicBack:: INCBIN "gfx/pokemon/back/alakazamb.pic" +PidgeottoPicFront:: INCBIN "gfx/pokemon/front/pidgeotto.pic" +PidgeottoPicBack:: INCBIN "gfx/pokemon/back/pidgeottob.pic" +PidgeotPicFront:: INCBIN "gfx/pokemon/front/pidgeot.pic" +PidgeotPicBack:: INCBIN "gfx/pokemon/back/pidgeotb.pic" +StarmiePicFront:: INCBIN "gfx/pokemon/front/starmie.pic" +StarmiePicBack:: INCBIN "gfx/pokemon/back/starmieb.pic" -RedPicBack:: INCBIN "pic/trainer/redb.pic" -OldManPic:: INCBIN "pic/trainer/oldman.pic" +RedPicBack:: INCBIN "gfx/player/redb.pic" +OldManPic:: INCBIN "gfx/battle/oldman.pic" SECTION "Pics 5", ROMX -BulbasaurPicFront:: INCBIN "pic/bmon/bulbasaur.pic" -BulbasaurPicBack:: INCBIN "pic/monback/bulbasaurb.pic" -VenusaurPicFront:: INCBIN "pic/bmon/venusaur.pic" -VenusaurPicBack:: INCBIN "pic/monback/venusaurb.pic" -TentacruelPicFront:: INCBIN "pic/bmon/tentacruel.pic" -TentacruelPicBack:: INCBIN "pic/monback/tentacruelb.pic" -GoldeenPicFront:: INCBIN "pic/bmon/goldeen.pic" -GoldeenPicBack:: INCBIN "pic/monback/goldeenb.pic" -SeakingPicFront:: INCBIN "pic/bmon/seaking.pic" -SeakingPicBack:: INCBIN "pic/monback/seakingb.pic" -PonytaPicFront:: INCBIN "pic/bmon/ponyta.pic" -RapidashPicFront:: INCBIN "pic/bmon/rapidash.pic" -PonytaPicBack:: INCBIN "pic/monback/ponytab.pic" -RapidashPicBack:: INCBIN "pic/monback/rapidashb.pic" -RattataPicFront:: INCBIN "pic/bmon/rattata.pic" -RattataPicBack:: INCBIN "pic/monback/rattatab.pic" -RaticatePicFront:: INCBIN "pic/bmon/raticate.pic" -RaticatePicBack:: INCBIN "pic/monback/raticateb.pic" -NidorinoPicFront:: INCBIN "pic/bmon/nidorino.pic" -NidorinoPicBack:: INCBIN "pic/monback/nidorinob.pic" -NidorinaPicFront:: INCBIN "pic/bmon/nidorina.pic" -NidorinaPicBack:: INCBIN "pic/monback/nidorinab.pic" -GeodudePicFront:: INCBIN "pic/bmon/geodude.pic" -GeodudePicBack:: INCBIN "pic/monback/geodudeb.pic" -PorygonPicFront:: INCBIN "pic/bmon/porygon.pic" -PorygonPicBack:: INCBIN "pic/monback/porygonb.pic" -AerodactylPicFront:: INCBIN "pic/bmon/aerodactyl.pic" -AerodactylPicBack:: INCBIN "pic/monback/aerodactylb.pic" -MagnemitePicFront:: INCBIN "pic/bmon/magnemite.pic" -MagnemitePicBack:: INCBIN "pic/monback/magnemiteb.pic" -CharmanderPicFront:: INCBIN "pic/bmon/charmander.pic" -CharmanderPicBack:: INCBIN "pic/monback/charmanderb.pic" -SquirtlePicFront:: INCBIN "pic/bmon/squirtle.pic" -SquirtlePicBack:: INCBIN "pic/monback/squirtleb.pic" -CharmeleonPicFront:: INCBIN "pic/bmon/charmeleon.pic" -CharmeleonPicBack:: INCBIN "pic/monback/charmeleonb.pic" -WartortlePicFront:: INCBIN "pic/bmon/wartortle.pic" -WartortlePicBack:: INCBIN "pic/monback/wartortleb.pic" -CharizardPicFront:: INCBIN "pic/bmon/charizard.pic" -CharizardPicBack:: INCBIN "pic/monback/charizardb.pic" -FossilAerodactylPic:: INCBIN "pic/bmon/fossilaerodactyl.pic" -GhostPic:: INCBIN "pic/other/ghost.pic" -OddishPicFront:: INCBIN "pic/bmon/oddish.pic" -OddishPicBack:: INCBIN "pic/monback/oddishb.pic" -GloomPicFront:: INCBIN "pic/bmon/gloom.pic" -GloomPicBack:: INCBIN "pic/monback/gloomb.pic" -VileplumePicFront:: INCBIN "pic/bmon/vileplume.pic" -VileplumePicBack:: INCBIN "pic/monback/vileplumeb.pic" -BellsproutPicFront:: INCBIN "pic/bmon/bellsprout.pic" -BellsproutPicBack:: INCBIN "pic/monback/bellsproutb.pic" -WeepinbellPicFront:: INCBIN "pic/bmon/weepinbell.pic" -WeepinbellPicBack:: INCBIN "pic/monback/weepinbellb.pic" -VictreebelPicFront:: INCBIN "pic/bmon/victreebel.pic" -VictreebelPicBack:: INCBIN "pic/monback/victreebelb.pic" +BulbasaurPicFront:: INCBIN "gfx/pokemon/front/bulbasaur.pic" +BulbasaurPicBack:: INCBIN "gfx/pokemon/back/bulbasaurb.pic" +VenusaurPicFront:: INCBIN "gfx/pokemon/front/venusaur.pic" +VenusaurPicBack:: INCBIN "gfx/pokemon/back/venusaurb.pic" +TentacruelPicFront:: INCBIN "gfx/pokemon/front/tentacruel.pic" +TentacruelPicBack:: INCBIN "gfx/pokemon/back/tentacruelb.pic" +GoldeenPicFront:: INCBIN "gfx/pokemon/front/goldeen.pic" +GoldeenPicBack:: INCBIN "gfx/pokemon/back/goldeenb.pic" +SeakingPicFront:: INCBIN "gfx/pokemon/front/seaking.pic" +SeakingPicBack:: INCBIN "gfx/pokemon/back/seakingb.pic" +PonytaPicFront:: INCBIN "gfx/pokemon/front/ponyta.pic" +RapidashPicFront:: INCBIN "gfx/pokemon/front/rapidash.pic" +PonytaPicBack:: INCBIN "gfx/pokemon/back/ponytab.pic" +RapidashPicBack:: INCBIN "gfx/pokemon/back/rapidashb.pic" +RattataPicFront:: INCBIN "gfx/pokemon/front/rattata.pic" +RattataPicBack:: INCBIN "gfx/pokemon/back/rattatab.pic" +RaticatePicFront:: INCBIN "gfx/pokemon/front/raticate.pic" +RaticatePicBack:: INCBIN "gfx/pokemon/back/raticateb.pic" +NidorinoPicFront:: INCBIN "gfx/pokemon/front/nidorino.pic" +NidorinoPicBack:: INCBIN "gfx/pokemon/back/nidorinob.pic" +NidorinaPicFront:: INCBIN "gfx/pokemon/front/nidorina.pic" +NidorinaPicBack:: INCBIN "gfx/pokemon/back/nidorinab.pic" +GeodudePicFront:: INCBIN "gfx/pokemon/front/geodude.pic" +GeodudePicBack:: INCBIN "gfx/pokemon/back/geodudeb.pic" +PorygonPicFront:: INCBIN "gfx/pokemon/front/porygon.pic" +PorygonPicBack:: INCBIN "gfx/pokemon/back/porygonb.pic" +AerodactylPicFront:: INCBIN "gfx/pokemon/front/aerodactyl.pic" +AerodactylPicBack:: INCBIN "gfx/pokemon/back/aerodactylb.pic" +MagnemitePicFront:: INCBIN "gfx/pokemon/front/magnemite.pic" +MagnemitePicBack:: INCBIN "gfx/pokemon/back/magnemiteb.pic" +CharmanderPicFront:: INCBIN "gfx/pokemon/front/charmander.pic" +CharmanderPicBack:: INCBIN "gfx/pokemon/back/charmanderb.pic" +SquirtlePicFront:: INCBIN "gfx/pokemon/front/squirtle.pic" +SquirtlePicBack:: INCBIN "gfx/pokemon/back/squirtleb.pic" +CharmeleonPicFront:: INCBIN "gfx/pokemon/front/charmeleon.pic" +CharmeleonPicBack:: INCBIN "gfx/pokemon/back/charmeleonb.pic" +WartortlePicFront:: INCBIN "gfx/pokemon/front/wartortle.pic" +WartortlePicBack:: INCBIN "gfx/pokemon/back/wartortleb.pic" +CharizardPicFront:: INCBIN "gfx/pokemon/front/charizard.pic" +CharizardPicBack:: INCBIN "gfx/pokemon/back/charizardb.pic" +FossilAerodactylPic:: INCBIN "gfx/pokemon/front/fossilaerodactyl.pic" +GhostPic:: INCBIN "gfx/battle/ghost.pic" +OddishPicFront:: INCBIN "gfx/pokemon/front/oddish.pic" +OddishPicBack:: INCBIN "gfx/pokemon/back/oddishb.pic" +GloomPicFront:: INCBIN "gfx/pokemon/front/gloom.pic" +GloomPicBack:: INCBIN "gfx/pokemon/back/gloomb.pic" +VileplumePicFront:: INCBIN "gfx/pokemon/front/vileplume.pic" +VileplumePicBack:: INCBIN "gfx/pokemon/back/vileplumeb.pic" +BellsproutPicFront:: INCBIN "gfx/pokemon/front/bellsprout.pic" +BellsproutPicBack:: INCBIN "gfx/pokemon/back/bellsproutb.pic" +WeepinbellPicFront:: INCBIN "gfx/pokemon/front/weepinbell.pic" +WeepinbellPicBack:: INCBIN "gfx/pokemon/back/weepinbellb.pic" +VictreebelPicFront:: INCBIN "gfx/pokemon/front/victreebel.pic" +VictreebelPicBack:: INCBIN "gfx/pokemon/back/victreebelb.pic" SECTION "Pics 6", ROMX TrainerPics:: -YoungsterPic:: INCBIN "pic/trainer/youngster.pic" -BugCatcherPic:: INCBIN "pic/trainer/bugcatcher.pic" -LassPic:: INCBIN "pic/trainer/lass.pic" -SailorPic:: INCBIN "pic/trainer/sailor.pic" -JrTrainerMPic:: INCBIN "pic/trainer/jr.trainerm.pic" -JrTrainerFPic:: INCBIN "pic/trainer/jr.trainerf.pic" -PokemaniacPic:: INCBIN "pic/trainer/pokemaniac.pic" -SuperNerdPic:: INCBIN "pic/trainer/supernerd.pic" -HikerPic:: INCBIN "pic/trainer/hiker.pic" -BikerPic:: INCBIN "pic/trainer/biker.pic" -BurglarPic:: INCBIN "pic/trainer/burglar.pic" -EngineerPic:: INCBIN "pic/trainer/engineer.pic" -FisherPic:: INCBIN "pic/trainer/fisher.pic" -SwimmerPic:: INCBIN "pic/trainer/swimmer.pic" -CueBallPic:: INCBIN "pic/trainer/cueball.pic" -GamblerPic:: INCBIN "pic/trainer/gambler.pic" -BeautyPic:: INCBIN "pic/trainer/beauty.pic" -PsychicPic:: INCBIN "pic/trainer/psychic.pic" -RockerPic:: INCBIN "pic/trainer/rocker.pic" -JugglerPic:: INCBIN "pic/trainer/juggler.pic" -TamerPic:: INCBIN "pic/trainer/tamer.pic" -BirdKeeperPic:: INCBIN "pic/trainer/birdkeeper.pic" -BlackbeltPic:: INCBIN "pic/trainer/blackbelt.pic" -Rival1Pic:: INCBIN "pic/trainer/rival1.pic" -ProfOakPic:: INCBIN "pic/trainer/prof.oak.pic" +YoungsterPic:: INCBIN "gfx/trainers/youngster.pic" +BugCatcherPic:: INCBIN "gfx/trainers/bugcatcher.pic" +LassPic:: INCBIN "gfx/trainers/lass.pic" +SailorPic:: INCBIN "gfx/trainers/sailor.pic" +JrTrainerMPic:: INCBIN "gfx/trainers/jr.trainerm.pic" +JrTrainerFPic:: INCBIN "gfx/trainers/jr.trainerf.pic" +PokemaniacPic:: INCBIN "gfx/trainers/pokemaniac.pic" +SuperNerdPic:: INCBIN "gfx/trainers/supernerd.pic" +HikerPic:: INCBIN "gfx/trainers/hiker.pic" +BikerPic:: INCBIN "gfx/trainers/biker.pic" +BurglarPic:: INCBIN "gfx/trainers/burglar.pic" +EngineerPic:: INCBIN "gfx/trainers/engineer.pic" +FisherPic:: INCBIN "gfx/trainers/fisher.pic" +SwimmerPic:: INCBIN "gfx/trainers/swimmer.pic" +CueBallPic:: INCBIN "gfx/trainers/cueball.pic" +GamblerPic:: INCBIN "gfx/trainers/gambler.pic" +BeautyPic:: INCBIN "gfx/trainers/beauty.pic" +PsychicPic:: INCBIN "gfx/trainers/psychic.pic" +RockerPic:: INCBIN "gfx/trainers/rocker.pic" +JugglerPic:: INCBIN "gfx/trainers/juggler.pic" +TamerPic:: INCBIN "gfx/trainers/tamer.pic" +BirdKeeperPic:: INCBIN "gfx/trainers/birdkeeper.pic" +BlackbeltPic:: INCBIN "gfx/trainers/blackbelt.pic" +Rival1Pic:: INCBIN "gfx/trainers/rival1.pic" +ProfOakPic:: INCBIN "gfx/trainers/prof.oak.pic" ChiefPic:: -ScientistPic:: INCBIN "pic/trainer/scientist.pic" -GiovanniPic:: INCBIN "pic/trainer/giovanni.pic" -RocketPic:: INCBIN "pic/trainer/rocket.pic" -CooltrainerMPic:: INCBIN "pic/trainer/cooltrainerm.pic" -CooltrainerFPic:: INCBIN "pic/trainer/cooltrainerf.pic" -BrunoPic:: INCBIN "pic/trainer/bruno.pic" -BrockPic:: INCBIN "pic/trainer/brock.pic" -MistyPic:: INCBIN "pic/trainer/misty.pic" -LtSurgePic:: INCBIN "pic/trainer/lt.surge.pic" -ErikaPic:: INCBIN "pic/trainer/erika.pic" -KogaPic:: INCBIN "pic/trainer/koga.pic" -BlainePic:: INCBIN "pic/trainer/blaine.pic" -SabrinaPic:: INCBIN "pic/trainer/sabrina.pic" -GentlemanPic:: INCBIN "pic/trainer/gentleman.pic" -Rival2Pic:: INCBIN "pic/trainer/rival2.pic" -Rival3Pic:: INCBIN "pic/trainer/rival3.pic" -LoreleiPic:: INCBIN "pic/trainer/lorelei.pic" -ChannelerPic:: INCBIN "pic/trainer/channeler.pic" -AgathaPic:: INCBIN "pic/trainer/agatha.pic" -LancePic:: INCBIN "pic/trainer/lance.pic" +ScientistPic:: INCBIN "gfx/trainers/scientist.pic" +GiovanniPic:: INCBIN "gfx/trainers/giovanni.pic" +RocketPic:: INCBIN "gfx/trainers/rocket.pic" +CooltrainerMPic:: INCBIN "gfx/trainers/cooltrainerm.pic" +CooltrainerFPic:: INCBIN "gfx/trainers/cooltrainerf.pic" +BrunoPic:: INCBIN "gfx/trainers/bruno.pic" +BrockPic:: INCBIN "gfx/trainers/brock.pic" +MistyPic:: INCBIN "gfx/trainers/misty.pic" +LtSurgePic:: INCBIN "gfx/trainers/lt.surge.pic" +ErikaPic:: INCBIN "gfx/trainers/erika.pic" +KogaPic:: INCBIN "gfx/trainers/koga.pic" +BlainePic:: INCBIN "gfx/trainers/blaine.pic" +SabrinaPic:: INCBIN "gfx/trainers/sabrina.pic" +GentlemanPic:: INCBIN "gfx/trainers/gentleman.pic" +Rival2Pic:: INCBIN "gfx/trainers/rival2.pic" +Rival3Pic:: INCBIN "gfx/trainers/rival3.pic" +LoreleiPic:: INCBIN "gfx/trainers/lorelei.pic" +ChannelerPic:: INCBIN "gfx/trainers/channeler.pic" +AgathaPic:: INCBIN "gfx/trainers/agatha.pic" +LancePic:: INCBIN "gfx/trainers/lance.pic" -- cgit v1.2.3 From 412d3c7a920659615af70097f942e7ffe6d95a21 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sat, 27 Jun 2020 18:05:51 -0400 Subject: Create .map files, and don't sort .sym files since rgbds 0.4.0 does that --- .gitignore | 1 + Makefile | 7 +++---- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.gitignore b/.gitignore index e2a884db..dd1b5a9d 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,7 @@ *.gb # rgbds extras +*.map *.sym # converted image data diff --git a/Makefile b/Makefile index 20462319..06cbcd7a 100644 --- a/Makefile +++ b/Makefile @@ -43,12 +43,12 @@ compare: $(roms) @$(MD5) roms.md5 clean: - rm -f $(roms) $(pokered_obj) $(pokeblue_obj) $(roms:.gbc=.sym) + rm -f $(roms) $(pokered_obj) $(pokeblue_obj) $(roms:.gbc=.map) $(roms:.gbc=.sym) find . \( -iname '*.1bpp' -o -iname '*.2bpp' -o -iname '*.pic' \) -exec rm {} + $(MAKE) clean -C tools/ tidy: - rm -f $(roms) $(pokered_obj) $(pokeblue_obj) $(roms:.gbc=.sym) + rm -f $(roms) $(pokered_obj) $(pokeblue_obj) $(roms:.gbc=.map) $(roms:.gbc=.sym) $(MAKE) clean -C tools/ tools: @@ -76,9 +76,8 @@ pokered_opt = -jsv -k 01 -l 0x33 -m 0x13 -p 0 -r 03 -t "POKEMON RED" pokeblue_opt = -jsv -k 01 -l 0x33 -m 0x13 -p 0 -r 03 -t "POKEMON BLUE" %.gbc: $$(%_obj) - $(RGBLINK) -d -n $*.sym -l layout.link -o $@ $^ + $(RGBLINK) -d -m $*.map -n $*.sym -l layout.link -o $@ $^ $(RGBFIX) $($*_opt) $@ - sort $*.sym -o $*.sym ### Misc file-specific graphics rules -- cgit v1.2.3 From 6a1e077d2d20904c19b80a6baa455c8c9d7ce1f1 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sat, 27 Jun 2020 18:18:12 -0400 Subject: Travis builds with rgbds 0.4.0 from source --- .travis.yml | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/.travis.yml b/.travis.yml index d3cce374..59258508 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,14 +1,14 @@ language: c +os: + - linux + - osx install: - |- - path="$(pwd)"; cd; - wget https://github.com/rednex/rgbds/archive/v0.3.3.tar.gz -O rgbds.tar.gz && - tar xf rgbds.tar.gz && - cd rgbds-0.3.3 && - sudo make install && - cd - && - rm -rf rgbds && - cd "$path" + ( cd + git clone -b v0.4.0 --depth=1 https://github.com/rednex/rgbds + sudo make -C rgbds install + rm -rf rgbds + ) before_script: - |- function check_status() { @@ -19,6 +19,5 @@ before_script: fi; } script: - - make -j2 - - make compare + - make -j2 compare - check_status -- cgit v1.2.3 From 76d02feca02652febd87444a9f408e7c06ba0058 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sat, 27 Jun 2020 21:39:06 -0400 Subject: Move mon_nest_icon.png to gfx/town_map --- engine/town_map.asm | 2 +- gfx/pokedex/mon_nest_icon.png | Bin 80 -> 0 bytes gfx/town_map/mon_nest_icon.png | Bin 0 -> 80 bytes 3 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 gfx/pokedex/mon_nest_icon.png create mode 100644 gfx/town_map/mon_nest_icon.png diff --git a/engine/town_map.asm b/engine/town_map.asm index 9cc55161..84a92994 100755 --- a/engine/town_map.asm +++ b/engine/town_map.asm @@ -586,7 +586,7 @@ INCLUDE "data/town_map_entries.asm" INCLUDE "text/map_names.asm" MonNestIcon: - INCBIN "gfx/pokedex/mon_nest_icon.1bpp" + INCBIN "gfx/town_map/mon_nest_icon.1bpp" MonNestIconEnd: TownMapSpriteBlinkingAnimation:: diff --git a/gfx/pokedex/mon_nest_icon.png b/gfx/pokedex/mon_nest_icon.png deleted file mode 100644 index ade69944..00000000 Binary files a/gfx/pokedex/mon_nest_icon.png and /dev/null differ diff --git a/gfx/town_map/mon_nest_icon.png b/gfx/town_map/mon_nest_icon.png new file mode 100644 index 00000000..ade69944 Binary files /dev/null and b/gfx/town_map/mon_nest_icon.png differ -- cgit v1.2.3 From eeb45036e2083f22d5d20ea3b06b26d56f560f53 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sat, 27 Jun 2020 22:16:01 -0400 Subject: Individual images for party menu icon graphics --- constants/sprite_constants.asm | 20 ++--- data/mon_party_sprite_pointers.asm | 72 +++++++++--------- data/mon_party_sprites.asm | 152 ++++++++++++++++++------------------- engine/mon_party_sprites.asm | 23 ++++-- gfx/icons/bug.png | Bin 0 -> 131 bytes gfx/icons/plant.png | Bin 0 -> 140 bytes gfx/icons/quadruped.png | Bin 0 -> 129 bytes gfx/icons/snake.png | Bin 0 -> 123 bytes gfx/icons/trade_bubble.png | Bin 0 -> 143 bytes gfx/trade/mon_ow_sprites.png | Bin 324 -> 0 bytes 10 files changed, 139 insertions(+), 128 deletions(-) create mode 100644 gfx/icons/bug.png create mode 100644 gfx/icons/plant.png create mode 100644 gfx/icons/quadruped.png create mode 100644 gfx/icons/snake.png create mode 100644 gfx/icons/trade_bubble.png delete mode 100644 gfx/trade/mon_ow_sprites.png diff --git a/constants/sprite_constants.asm b/constants/sprite_constants.asm index 11973648..54d2f191 100755 --- a/constants/sprite_constants.asm +++ b/constants/sprite_constants.asm @@ -1,16 +1,16 @@ ; pokemon's overworld sprites const_value = 0 - const SPRITE_MON ; $0 - const SPRITE_BALL_M ; $1 - const SPRITE_HELIX ; $2 - const SPRITE_FAIRY ; $3 - const SPRITE_BIRD_M ; $4 - const SPRITE_WATER ; $5 - const SPRITE_BUG ; $6 - const SPRITE_GRASS ; $7 - const SPRITE_SNAKE ; $8 - const SPRITE_QUADRUPED ; $9 + const ICON_MON ; $0 + const ICON_BALL ; $1 + const ICON_HELIX ; $2 + const ICON_FAIRY ; $3 + const ICON_BIRD ; $4 + const ICON_WATER ; $5 + const ICON_BUG ; $6 + const ICON_GRASS ; $7 + const ICON_SNAKE ; $8 + const ICON_QUADRUPED ; $9 ; overworld sprites const_value = 1 diff --git a/data/mon_party_sprite_pointers.asm b/data/mon_party_sprite_pointers.asm index 7e94b04a..b615798e 100644 --- a/data/mon_party_sprite_pointers.asm +++ b/data/mon_party_sprite_pointers.asm @@ -24,49 +24,49 @@ MonPartySpritePointers: db BANK(SeelSprite) dw vSprites + $140 - dw MonPartySprites + $40 + dw BugIconFrame2 db $10 / $10 ; $10 bytes - db BANK(MonPartySprites) + db BANK(BugIconFrame2) dw vSprites + $180 - dw MonPartySprites + $50 + dw BugIconFrame2 + $10 db $10 / $10 ; $10 bytes - db BANK(MonPartySprites) + db BANK(BugIconFrame2) dw vSprites + $1a0 - dw MonPartySprites + $60 + dw PlantIconFrame2 db $10 / $10 ; $10 bytes - db BANK(MonPartySprites) + db BANK(PlantIconFrame2) dw vSprites + $1c0 - dw MonPartySprites + $70 + dw PlantIconFrame2 + $10 db $10 / $10 ; $10 bytes - db BANK(MonPartySprites) + db BANK(PlantIconFrame2) dw vSprites + $1e0 - dw MonPartySprites + $80 + dw SnakeIconFrame1 db $10 / $10 ; $10 bytes - db BANK(MonPartySprites) + db BANK(SnakeIconFrame1) dw vSprites + $200 - dw MonPartySprites + $90 + dw SnakeIconFrame1 + $10 db $10 / $10 ; $10 bytes - db BANK(MonPartySprites) + db BANK(SnakeIconFrame1) dw vSprites + $220 - dw MonPartySprites + $A0 + dw QuadrupedIconFrame1 db $10 / $10 ; $10 bytes - db BANK(MonPartySprites) + db BANK(QuadrupedIconFrame1) dw vSprites + $240 - dw MonPartySprites + $B0 + dw QuadrupedIconFrame1 + $10 db $10 / $10 ; $10 bytes - db BANK(MonPartySprites) + db BANK(QuadrupedIconFrame1) dw vSprites + $260 - dw MonPartySprites + $100 + dw TradeBubbleIconGFX db $40 / $10 ; $40 bytes - db BANK(MonPartySprites) + db BANK(TradeBubbleIconGFX) dw vSprites + $380 dw SlowbroSprite @@ -94,47 +94,47 @@ MonPartySpritePointers: db BANK(SeelSprite) dw vSprites + $540 - dw MonPartySprites + dw BugIconFrame1 db $10 / $10 ; $10 bytes - db BANK(MonPartySprites) + db BANK(BugIconFrame1) dw vSprites + $580 - dw MonPartySprites + $10 + dw BugIconFrame1 + $10 db $10 / $10 ; $10 bytes - db BANK(MonPartySprites) + db BANK(BugIconFrame1) dw vSprites + $5a0 - dw MonPartySprites + $20 + dw PlantIconFrame1 db $10 / $10 ; $10 bytes - db BANK(MonPartySprites) + db BANK(PlantIconFrame1) dw vSprites + $5c0 - dw MonPartySprites + $30 + dw PlantIconFrame1 + $10 db $10 / $10 ; $10 bytes - db BANK(MonPartySprites) + db BANK(PlantIconFrame1) dw vSprites + $5E0 - dw MonPartySprites + $C0 + dw SnakeIconFrame2 db $10 / $10 ; $10 bytes - db BANK(MonPartySprites) + db BANK(SnakeIconFrame2) dw vSprites + $600 - dw MonPartySprites + $D0 + dw SnakeIconFrame2 + $10 db $10 / $10 ; $10 bytes - db BANK(MonPartySprites) + db BANK(SnakeIconFrame2) dw vSprites + $620 - dw MonPartySprites + $E0 + dw QuadrupedIconFrame2 db $10 / $10 ; $10 bytes - db BANK(MonPartySprites) + db BANK(QuadrupedIconFrame2) dw vSprites + $640 - dw MonPartySprites + $F0 + dw QuadrupedIconFrame2 + $10 db $10 / $10 ; $10 bytes - db BANK(MonPartySprites) + db BANK(QuadrupedIconFrame2) dw vSprites + $660 - dw MonPartySprites + $140 + dw TradeBubbleIconGFX + $40 db $40 / $10 ; $40 bytes - db BANK(MonPartySprites) + db BANK(TradeBubbleIconGFX) dw vSprites + $780 diff --git a/data/mon_party_sprites.asm b/data/mon_party_sprites.asm index 987d8d28..471ee846 100755 --- a/data/mon_party_sprites.asm +++ b/data/mon_party_sprites.asm @@ -1,77 +1,77 @@ MonPartyData: - dn SPRITE_GRASS, SPRITE_GRASS ;Bulbasaur/Ivysaur - dn SPRITE_GRASS, SPRITE_MON ;Venusaur/Charmander - dn SPRITE_MON, SPRITE_MON ;Charmeleon/Charizard - dn SPRITE_WATER, SPRITE_WATER ;Squirtle/Wartortle - dn SPRITE_WATER, SPRITE_BUG ;Blastoise/Caterpie - dn SPRITE_BUG, SPRITE_BUG ;Metapod/Butterfree - dn SPRITE_BUG, SPRITE_BUG ;Weedle/Kakuna - dn SPRITE_BUG, SPRITE_BIRD_M ;Beedrill/Pidgey - dn SPRITE_BIRD_M, SPRITE_BIRD_M ;Pidgeotto/Pidgeot - dn SPRITE_QUADRUPED, SPRITE_QUADRUPED ;Rattata/Raticate - dn SPRITE_BIRD_M, SPRITE_BIRD_M ;Spearow/Fearow - dn SPRITE_SNAKE, SPRITE_SNAKE ;Ekans/Arbok - dn SPRITE_FAIRY, SPRITE_FAIRY ;Pikachu/Raichu - dn SPRITE_MON, SPRITE_MON ;Sandshrew/Sandslash - dn SPRITE_MON, SPRITE_MON ;NidoranF/Nidorina - dn SPRITE_MON, SPRITE_MON ;Nidoqueen/NidoranM - dn SPRITE_MON, SPRITE_MON ;Nidorino/Nidoking - dn SPRITE_FAIRY, SPRITE_FAIRY ;Clefairy/Clefable - dn SPRITE_QUADRUPED, SPRITE_QUADRUPED ;Vulpix/Ninetales - dn SPRITE_FAIRY, SPRITE_FAIRY ;Jigglypuff/Wigglytuff - dn SPRITE_MON, SPRITE_MON ;Zubat/Golbat - dn SPRITE_GRASS, SPRITE_GRASS ;Oddish/Gloom - dn SPRITE_GRASS, SPRITE_BUG ;Vileplume/Paras - dn SPRITE_BUG, SPRITE_BUG ;Parasect/Venonat - dn SPRITE_BUG, SPRITE_MON ;Venomoth/Diglett - dn SPRITE_MON, SPRITE_MON ;Dugtrio/Meowth - dn SPRITE_MON, SPRITE_MON ;Persian/Psyduck - dn SPRITE_MON, SPRITE_MON ;Golduck/Mankey - dn SPRITE_MON, SPRITE_QUADRUPED ;Primeape/Growlithe - dn SPRITE_QUADRUPED, SPRITE_MON ;Arcanine/Poliwag - dn SPRITE_MON, SPRITE_MON ;Poliwhirl/Poliwrath - dn SPRITE_MON, SPRITE_MON ;Abra/Kadabra - dn SPRITE_MON, SPRITE_MON ;Alakazam/Machop - dn SPRITE_MON, SPRITE_MON ;Machoke/Machamp - dn SPRITE_GRASS, SPRITE_GRASS ;Bellsprout/Weepinbell - dn SPRITE_GRASS, SPRITE_WATER ;Victreebel/Tentacool - dn SPRITE_WATER, SPRITE_MON ;Tentacruel/Geodude - dn SPRITE_MON, SPRITE_MON ;Graveler/Golem - dn SPRITE_QUADRUPED, SPRITE_QUADRUPED ;Ponyta/Rapidash - dn SPRITE_QUADRUPED, SPRITE_MON ;Slowpoke/Slowbro - dn SPRITE_BALL_M, SPRITE_BALL_M ;Magnemite/Magneton - dn SPRITE_BIRD_M, SPRITE_BIRD_M ;Farfetch'd/Doduo - dn SPRITE_BIRD_M, SPRITE_WATER ;Dodrio/Seel - dn SPRITE_WATER, SPRITE_MON ;Dewgong/Grimer - dn SPRITE_MON, SPRITE_HELIX ;Muk/Shellder - dn SPRITE_HELIX, SPRITE_MON ;Cloyster/Gastly - dn SPRITE_MON, SPRITE_MON ;Haunter/Gengar - dn SPRITE_SNAKE, SPRITE_MON ;Onix/Drowzee - dn SPRITE_MON, SPRITE_WATER ;Hypno/Krabby - dn SPRITE_WATER, SPRITE_BALL_M ;Kingler/Voltorb - dn SPRITE_BALL_M, SPRITE_GRASS ;Electrode/Exeggcute - dn SPRITE_GRASS, SPRITE_MON ;Exeggutor/Cubone - dn SPRITE_MON, SPRITE_MON ;Marowak/Hitmonlee - dn SPRITE_MON, SPRITE_MON ;Hitmonchan/Lickitung - dn SPRITE_MON, SPRITE_MON ;Koffing/Weezing - dn SPRITE_QUADRUPED, SPRITE_MON ;Rhyhorn/Rhydon - dn SPRITE_FAIRY, SPRITE_GRASS ;Chansey/Tangela - dn SPRITE_MON, SPRITE_WATER ;Kangaskhan/Horsea - dn SPRITE_WATER, SPRITE_WATER ;Seadra/Goldeen - dn SPRITE_WATER, SPRITE_HELIX ;Seaking/Staryu - dn SPRITE_HELIX, SPRITE_MON ;Starmie/Mr.Mime - dn SPRITE_BUG, SPRITE_MON ;Scyther/Jynx - dn SPRITE_MON, SPRITE_MON ;Electabuzz/Magmar - dn SPRITE_BUG, SPRITE_QUADRUPED ;Pinsir/Tauros - dn SPRITE_WATER, SPRITE_SNAKE ;Magikarp/Gyarados - dn SPRITE_WATER, SPRITE_MON ;Lapras/Ditto - dn SPRITE_QUADRUPED, SPRITE_QUADRUPED ;Eevee/Vaporeon - dn SPRITE_QUADRUPED, SPRITE_QUADRUPED ;Jolteon/Flareon - dn SPRITE_MON, SPRITE_HELIX ;Porygon/Omanyte - dn SPRITE_HELIX, SPRITE_HELIX ;Omastar/Kabuto - dn SPRITE_HELIX, SPRITE_BIRD_M ;Kabutops/Aerodactyl - dn SPRITE_MON, SPRITE_BIRD_M ;Snorlax/Articuno - dn SPRITE_BIRD_M, SPRITE_BIRD_M ;Zapdos/Moltres - dn SPRITE_SNAKE, SPRITE_SNAKE ;Dratini/Dragonair - dn SPRITE_SNAKE, SPRITE_MON ;Dragonite/Mewtwo - dn SPRITE_MON, 0 ;Mew/Padding + dn ICON_GRASS, ICON_GRASS ; Bulbasaur / Ivysaur + dn ICON_GRASS, ICON_MON ; Venusaur / Charmander + dn ICON_MON, ICON_MON ; Charmeleon / Charizard + dn ICON_WATER, ICON_WATER ; Squirtle / Wartortle + dn ICON_WATER, ICON_BUG ; Blastoise / Caterpie + dn ICON_BUG, ICON_BUG ; Metapod / Butterfree + dn ICON_BUG, ICON_BUG ; Weedle / Kakuna + dn ICON_BUG, ICON_BIRD ; Beedrill / Pidgey + dn ICON_BIRD, ICON_BIRD ; Pidgeotto / Pidgeot + dn ICON_QUADRUPED, ICON_QUADRUPED ; Rattata / Raticate + dn ICON_BIRD, ICON_BIRD ; Spearow / Fearow + dn ICON_SNAKE, ICON_SNAKE ; Ekans / Arbok + dn ICON_FAIRY, ICON_FAIRY ; Pikachu / Raichu + dn ICON_MON, ICON_MON ; Sandshrew / Sandslash + dn ICON_MON, ICON_MON ; NidoranF / Nidorina + dn ICON_MON, ICON_MON ; Nidoqueen / NidoranM + dn ICON_MON, ICON_MON ; Nidorino / Nidoking + dn ICON_FAIRY, ICON_FAIRY ; Clefairy / Clefable + dn ICON_QUADRUPED, ICON_QUADRUPED ; Vulpix / Ninetales + dn ICON_FAIRY, ICON_FAIRY ; Jigglypuff / Wigglytuff + dn ICON_MON, ICON_MON ; Zubat / Golbat + dn ICON_GRASS, ICON_GRASS ; Oddish / Gloom + dn ICON_GRASS, ICON_BUG ; Vileplume / Paras + dn ICON_BUG, ICON_BUG ; Parasect / Venonat + dn ICON_BUG, ICON_MON ; Venomoth / Diglett + dn ICON_MON, ICON_MON ; Dugtrio / Meowth + dn ICON_MON, ICON_MON ; Persian / Psyduck + dn ICON_MON, ICON_MON ; Golduck / Mankey + dn ICON_MON, ICON_QUADRUPED ; Primeape / Growlithe + dn ICON_QUADRUPED, ICON_MON ; Arcanine / Poliwag + dn ICON_MON, ICON_MON ; Poliwhirl / Poliwrath + dn ICON_MON, ICON_MON ; Abra / Kadabra + dn ICON_MON, ICON_MON ; Alakazam / Machop + dn ICON_MON, ICON_MON ; Machoke / Machamp + dn ICON_GRASS, ICON_GRASS ; Bellsprout / Weepinbell + dn ICON_GRASS, ICON_WATER ; Victreebel / Tentacool + dn ICON_WATER, ICON_MON ; Tentacruel / Geodude + dn ICON_MON, ICON_MON ; Graveler / Golem + dn ICON_QUADRUPED, ICON_QUADRUPED ; Ponyta / Rapidash + dn ICON_QUADRUPED, ICON_MON ; Slowpoke / Slowbro + dn ICON_BALL, ICON_BALL ; Magnemite / Magneton + dn ICON_BIRD, ICON_BIRD ; Farfetch'd / Doduo + dn ICON_BIRD, ICON_WATER ; Dodrio / Seel + dn ICON_WATER, ICON_MON ; Dewgong / Grimer + dn ICON_MON, ICON_HELIX ; Muk / Shellder + dn ICON_HELIX, ICON_MON ; Cloyster / Gastly + dn ICON_MON, ICON_MON ; Haunter / Gengar + dn ICON_SNAKE, ICON_MON ; Onix / Drowzee + dn ICON_MON, ICON_WATER ; Hypno / Krabby + dn ICON_WATER, ICON_BALL ; Kingler / Voltorb + dn ICON_BALL, ICON_GRASS ; Electrode / Exeggcute + dn ICON_GRASS, ICON_MON ; Exeggutor / Cubone + dn ICON_MON, ICON_MON ; Marowak / Hitmonlee + dn ICON_MON, ICON_MON ; Hitmonchan / Lickitung + dn ICON_MON, ICON_MON ; Koffing / Weezing + dn ICON_QUADRUPED, ICON_MON ; Rhyhorn / Rhydon + dn ICON_FAIRY, ICON_GRASS ; Chansey / Tangela + dn ICON_MON, ICON_WATER ; Kangaskhan / Horsea + dn ICON_WATER, ICON_WATER ; Seadra / Goldeen + dn ICON_WATER, ICON_HELIX ; Seaking / Staryu + dn ICON_HELIX, ICON_MON ; Starmie / Mr.Mime + dn ICON_BUG, ICON_MON ; Scyther / Jynx + dn ICON_MON, ICON_MON ; Electabuzz / Magmar + dn ICON_BUG, ICON_QUADRUPED ; Pinsir / Tauros + dn ICON_WATER, ICON_SNAKE ; Magikarp / Gyarados + dn ICON_WATER, ICON_MON ; Lapras / Ditto + dn ICON_QUADRUPED, ICON_QUADRUPED ; Eevee / Vaporeon + dn ICON_QUADRUPED, ICON_QUADRUPED ; Jolteon / Flareon + dn ICON_MON, ICON_HELIX ; Porygon / Omanyte + dn ICON_HELIX, ICON_HELIX ; Omastar / Kabuto + dn ICON_HELIX, ICON_BIRD ; Kabutops / Aerodactyl + dn ICON_MON, ICON_BIRD ; Snorlax / Articuno + dn ICON_BIRD, ICON_BIRD ; Zapdos / Moltres + dn ICON_SNAKE, ICON_SNAKE ; Dratini / Dragonair + dn ICON_SNAKE, ICON_MON ; Dragonite / Mewtwo + dn ICON_MON, 0 ; Mew / padding diff --git a/engine/mon_party_sprites.asm b/engine/mon_party_sprites.asm index 994f5086..47da94dd 100755 --- a/engine/mon_party_sprites.asm +++ b/engine/mon_party_sprites.asm @@ -57,11 +57,11 @@ GetAnimationSpeed: call AddNTimes ld c, $40 ; amount to increase the tile id by ld a, [hl] - cp $4 ; tile ID for SPRITE_BALL_M + cp $4 ; tile ID for ICON_BALL jr z, .editCoords - cp $8 ; tile ID for SPRITE_HELIX + cp $8 ; tile ID for ICON_HELIX jr nz, .editTileIDS -; SPRITE_BALL_M and SPRITE_HELIX only shake up and down +; ICON_BALL and ICON_HELIX only shake up and down .editCoords dec hl dec hl ; dec hl to the OAM y coord @@ -243,7 +243,7 @@ WriteMonPartySpriteOAM: add $10 ld b, a pop af - cp SPRITE_HELIX << 2 + cp ICON_HELIX << 2 jr z, .helix call WriteSymmetricMonPartySpriteOAM jr .makeCopy @@ -280,5 +280,16 @@ GetPartyMonSpriteID: INCLUDE "data/mon_party_sprites.asm" -MonPartySprites: - INCBIN "gfx/trade/mon_ow_sprites.2bpp" +INC_FRAME_1 EQUS "0, $20" +INC_FRAME_2 EQUS "$20, $20" + +BugIconFrame1: INCBIN "gfx/icons/bug.2bpp", INC_FRAME_1 +PlantIconFrame1: INCBIN "gfx/icons/plant.2bpp", INC_FRAME_1 +BugIconFrame2: INCBIN "gfx/icons/bug.2bpp", INC_FRAME_2 +PlantIconFrame2: INCBIN "gfx/icons/plant.2bpp", INC_FRAME_2 +SnakeIconFrame1: INCBIN "gfx/icons/snake.2bpp", INC_FRAME_1 +QuadrupedIconFrame1: INCBIN "gfx/icons/quadruped.2bpp", INC_FRAME_1 +SnakeIconFrame2: INCBIN "gfx/icons/snake.2bpp", INC_FRAME_2 +QuadrupedIconFrame2: INCBIN "gfx/icons/quadruped.2bpp", INC_FRAME_2 + +TradeBubbleIconGFX: INCBIN "gfx/icons/trade_bubble.2bpp" diff --git a/gfx/icons/bug.png b/gfx/icons/bug.png new file mode 100644 index 00000000..40611eb6 Binary files /dev/null and b/gfx/icons/bug.png differ diff --git a/gfx/icons/plant.png b/gfx/icons/plant.png new file mode 100644 index 00000000..41b7aea3 Binary files /dev/null and b/gfx/icons/plant.png differ diff --git a/gfx/icons/quadruped.png b/gfx/icons/quadruped.png new file mode 100644 index 00000000..c9307b10 Binary files /dev/null and b/gfx/icons/quadruped.png differ diff --git a/gfx/icons/snake.png b/gfx/icons/snake.png new file mode 100644 index 00000000..a6076700 Binary files /dev/null and b/gfx/icons/snake.png differ diff --git a/gfx/icons/trade_bubble.png b/gfx/icons/trade_bubble.png new file mode 100644 index 00000000..93611a60 Binary files /dev/null and b/gfx/icons/trade_bubble.png differ diff --git a/gfx/trade/mon_ow_sprites.png b/gfx/trade/mon_ow_sprites.png deleted file mode 100644 index 8402af2d..00000000 Binary files a/gfx/trade/mon_ow_sprites.png and /dev/null differ -- cgit v1.2.3 From 2d562a673bbef2c8ecb7cfb9d5b1d080552dd465 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sat, 27 Jun 2020 22:24:13 -0400 Subject: Factor out shared audio/notes.asm --- audio/engine_1.asm | 13 +------------ audio/engine_2.asm | 13 +------------ audio/engine_3.asm | 13 +------------ audio/notes.asm | 12 ++++++++++++ 4 files changed, 15 insertions(+), 36 deletions(-) create mode 100644 audio/notes.asm diff --git a/audio/engine_1.asm b/audio/engine_1.asm index 11962d55..0f76f576 100644 --- a/audio/engine_1.asm +++ b/audio/engine_1.asm @@ -1723,15 +1723,4 @@ Audio1_HWChannelEnableMasks: db HW_CH1_ENABLE_MASK, HW_CH2_ENABLE_MASK, HW_CH3_ENABLE_MASK, HW_CH4_ENABLE_MASK ; channels 4-7 Audio1_Pitches: - dw $F82C ; C_ - dw $F89D ; C# - dw $F907 ; D_ - dw $F96B ; D# - dw $F9CA ; E_ - dw $FA23 ; F_ - dw $FA77 ; F# - dw $FAC7 ; G_ - dw $FB12 ; G# - dw $FB58 ; A_ - dw $FB9B ; A# - dw $FBDA ; B_ +INCLUDE "audio/notes.asm" diff --git a/audio/engine_2.asm b/audio/engine_2.asm index 026ade7c..2e0aad0d 100644 --- a/audio/engine_2.asm +++ b/audio/engine_2.asm @@ -1786,15 +1786,4 @@ Audio2_HWChannelEnableMasks: db HW_CH1_ENABLE_MASK, HW_CH2_ENABLE_MASK, HW_CH3_ENABLE_MASK, HW_CH4_ENABLE_MASK ; channels 4-7 Audio2_Pitches: - dw $F82C ; C_ - dw $F89D ; C# - dw $F907 ; D_ - dw $F96B ; D# - dw $F9CA ; E_ - dw $FA23 ; F_ - dw $FA77 ; F# - dw $FAC7 ; G_ - dw $FB12 ; G# - dw $FB58 ; A_ - dw $FB9B ; A# - dw $FBDA ; B_ +INCLUDE "audio/notes.asm" diff --git a/audio/engine_3.asm b/audio/engine_3.asm index 4085dd3c..771b44df 100644 --- a/audio/engine_3.asm +++ b/audio/engine_3.asm @@ -1723,15 +1723,4 @@ Audio3_HWChannelEnableMasks: db HW_CH1_ENABLE_MASK, HW_CH2_ENABLE_MASK, HW_CH3_ENABLE_MASK, HW_CH4_ENABLE_MASK ; channels 4-7 Audio3_Pitches: - dw $F82C ; C_ - dw $F89D ; C# - dw $F907 ; D_ - dw $F96B ; D# - dw $F9CA ; E_ - dw $FA23 ; F_ - dw $FA77 ; F# - dw $FAC7 ; G_ - dw $FB12 ; G# - dw $FB58 ; A_ - dw $FB9B ; A# - dw $FBDA ; B_ +INCLUDE "audio/notes.asm" diff --git a/audio/notes.asm b/audio/notes.asm new file mode 100644 index 00000000..025eb6a8 --- /dev/null +++ b/audio/notes.asm @@ -0,0 +1,12 @@ + dw $F82C ; C_ + dw $F89D ; C# + dw $F907 ; D_ + dw $F96B ; D# + dw $F9CA ; E_ + dw $FA23 ; F_ + dw $FA77 ; F# + dw $FAC7 ; G_ + dw $FB12 ; G# + dw $FB58 ; A_ + dw $FB9B ; A# + dw $FBDA ; B_ -- cgit v1.2.3 From 6b19b301f481e404a34ec3d90f35b23fba74b716 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sat, 27 Jun 2020 22:44:05 -0400 Subject: Move trade bubble from gfx/icons to gfx/trade --- engine/mon_party_sprites.asm | 2 +- gfx/icons/trade_bubble.png | Bin 143 -> 0 bytes gfx/trade/bubble.png | Bin 0 -> 143 bytes 3 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 gfx/icons/trade_bubble.png create mode 100644 gfx/trade/bubble.png diff --git a/engine/mon_party_sprites.asm b/engine/mon_party_sprites.asm index 47da94dd..d2913715 100755 --- a/engine/mon_party_sprites.asm +++ b/engine/mon_party_sprites.asm @@ -292,4 +292,4 @@ QuadrupedIconFrame1: INCBIN "gfx/icons/quadruped.2bpp", INC_FRAME_1 SnakeIconFrame2: INCBIN "gfx/icons/snake.2bpp", INC_FRAME_2 QuadrupedIconFrame2: INCBIN "gfx/icons/quadruped.2bpp", INC_FRAME_2 -TradeBubbleIconGFX: INCBIN "gfx/icons/trade_bubble.2bpp" +TradeBubbleIconGFX: INCBIN "gfx/trade/bubble.2bpp" diff --git a/gfx/icons/trade_bubble.png b/gfx/icons/trade_bubble.png deleted file mode 100644 index 93611a60..00000000 Binary files a/gfx/icons/trade_bubble.png and /dev/null differ diff --git a/gfx/trade/bubble.png b/gfx/trade/bubble.png new file mode 100644 index 00000000..93611a60 Binary files /dev/null and b/gfx/trade/bubble.png differ -- cgit v1.2.3 From 929c7f6f7d62b4b22e1de2003b3df1943268321c Mon Sep 17 00:00:00 2001 From: Rangi Date: Sat, 27 Jun 2020 23:03:39 -0400 Subject: Remove RAM address comments --- engine/battle/core.asm | 6 +- engine/battle/moveEffects/substitute_effect.asm | 2 +- sram.asm | 54 +- wram.asm | 1737 +++++++++++------------ 4 files changed, 899 insertions(+), 900 deletions(-) diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 96318c78..75841ccf 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -5054,11 +5054,11 @@ BuildingRageText: ; copy last move for Mirror Move ; sets zero flag on failure and unsets zero flag on success MirrorMoveCopyMove: -; Mirror Move makes use of ccf1 (wPlayerUsedMove) and ccf2 (wEnemyUsedMove) addresses, +; Mirror Move makes use of wPlayerUsedMove and wEnemyUsedMove, ; which are mainly used to print the "[Pokemon] used [Move]" text. ; Both are set to 0 whenever a new Pokemon is sent out -; ccf1 is also set to 0 whenever the player is fast asleep or frozen solid. -; ccf2 is also set to 0 whenever the enemy is fast asleep or frozen solid. +; wPlayerUsedMove is also set to 0 whenever the player is fast asleep or frozen solid. +; wEnemyUsedMove is also set to 0 whenever the enemy is fast asleep or frozen solid. ld a, [H_WHOSETURN] and a diff --git a/engine/battle/moveEffects/substitute_effect.asm b/engine/battle/moveEffects/substitute_effect.asm index b5d006fc..1bb6c887 100644 --- a/engine/battle/moveEffects/substitute_effect.asm +++ b/engine/battle/moveEffects/substitute_effect.asm @@ -28,7 +28,7 @@ SubstituteEffect_: add hl, de ; point hl to current HP low byte pop de ld a, b - ld [de], a ; save copy of HP to subtract in ccd7/ccd8 [how much HP substitute has] + ld [de], a ; save copy of HP to subtract in wPlayerSubstituteHP/wEnemySubstituteHP ld a, [hld] ; subtract [max hp / 4] to current HP sub b diff --git a/sram.asm b/sram.asm index 966ccba3..07cfdfba 100644 --- a/sram.asm +++ b/sram.asm @@ -1,45 +1,45 @@ SECTION "Sprite Buffers", SRAM ; BANK 0 -sSpriteBuffer0:: ds SPRITEBUFFERSIZE ; a000 -sSpriteBuffer1:: ds SPRITEBUFFERSIZE ; a188 -sSpriteBuffer2:: ds SPRITEBUFFERSIZE ; a310 +sSpriteBuffer0:: ds SPRITEBUFFERSIZE +sSpriteBuffer1:: ds SPRITEBUFFERSIZE +sSpriteBuffer2:: ds SPRITEBUFFERSIZE ds $100 -sHallOfFame:: ds HOF_TEAM * HOF_TEAM_CAPACITY ; a598 +sHallOfFame:: ds HOF_TEAM * HOF_TEAM_CAPACITY SECTION "Save Data", SRAM ; BANK 1 ds $598 -sPlayerName:: ds NAME_LENGTH ; a598 -sMainData:: ds wMainDataEnd - wMainDataStart ; a5a3 -sSpriteData:: ds wSpriteDataEnd - wSpriteDataStart ; ad2c -sPartyData:: ds wPartyDataEnd - wPartyDataStart ; af2c -sCurBoxData:: ds wBoxDataEnd - wBoxDataStart ; b0c0 -sTilesetType:: ds 1 ; b522 -sMainDataCheckSum:: ds 1 ; b523 +sPlayerName:: ds NAME_LENGTH +sMainData:: ds wMainDataEnd - wMainDataStart +sSpriteData:: ds wSpriteDataEnd - wSpriteDataStart +sPartyData:: ds wPartyDataEnd - wPartyDataStart +sCurBoxData:: ds wBoxDataEnd - wBoxDataStart +sTilesetType:: ds 1 +sMainDataCheckSum:: ds 1 SECTION "Saved Boxes 1", SRAM ; BANK 2 -sBox1:: ds wBoxDataEnd - wBoxDataStart ; a000 -sBox2:: ds wBoxDataEnd - wBoxDataStart ; a462 -sBox3:: ds wBoxDataEnd - wBoxDataStart ; a8c4 -sBox4:: ds wBoxDataEnd - wBoxDataStart ; ad26 -sBox5:: ds wBoxDataEnd - wBoxDataStart ; b188 -sBox6:: ds wBoxDataEnd - wBoxDataStart ; b5ea -sBank2AllBoxesChecksum:: ds 1 ; ba4c -sBank2IndividualBoxChecksums:: ds 6 ; ba4d +sBox1:: ds wBoxDataEnd - wBoxDataStart +sBox2:: ds wBoxDataEnd - wBoxDataStart +sBox3:: ds wBoxDataEnd - wBoxDataStart +sBox4:: ds wBoxDataEnd - wBoxDataStart +sBox5:: ds wBoxDataEnd - wBoxDataStart +sBox6:: ds wBoxDataEnd - wBoxDataStart +sBank2AllBoxesChecksum:: ds 1 +sBank2IndividualBoxChecksums:: ds 6 SECTION "Saved Boxes 2", SRAM ; BANK 3 -sBox7:: ds wBoxDataEnd - wBoxDataStart ; a000 -sBox8:: ds wBoxDataEnd - wBoxDataStart ; a462 -sBox9:: ds wBoxDataEnd - wBoxDataStart ; a8c4 -sBox10:: ds wBoxDataEnd - wBoxDataStart ; ad26 -sBox11:: ds wBoxDataEnd - wBoxDataStart ; b188 -sBox12:: ds wBoxDataEnd - wBoxDataStart ; b5ea -sBank3AllBoxesChecksum:: ds 1 ; ba4c -sBank3IndividualBoxChecksums:: ds 6 ; ba4d +sBox7:: ds wBoxDataEnd - wBoxDataStart +sBox8:: ds wBoxDataEnd - wBoxDataStart +sBox9:: ds wBoxDataEnd - wBoxDataStart +sBox10:: ds wBoxDataEnd - wBoxDataStart +sBox11:: ds wBoxDataEnd - wBoxDataStart +sBox12:: ds wBoxDataEnd - wBoxDataStart +sBank3AllBoxesChecksum:: ds 1 +sBank3IndividualBoxChecksums:: ds 6 diff --git a/wram.asm b/wram.asm index a506a69d..40e1604a 100755 --- a/wram.asm +++ b/wram.asm @@ -62,13 +62,13 @@ ENDM SECTION "WRAM Bank 0", WRAM0 -wUnusedC000:: ; c000 +wUnusedC000:: ds 1 -wSoundID:: ; c001 +wSoundID:: ds 1 -wMuteAudioAndPauseMusic:: ; c002 +wMuteAudioAndPauseMusic:: ; bit 7: whether sound has been muted ; all bits: whether the effective is active ; Store 1 to activate effect (any value in the range [1, 127] works). @@ -77,97 +77,97 @@ wMuteAudioAndPauseMusic:: ; c002 ; Store 0 to resume music. ds 1 -wDisableChannelOutputWhenSfxEnds:: ; c003 +wDisableChannelOutputWhenSfxEnds:: ds 1 -wStereoPanning:: ; c004 +wStereoPanning:: ds 1 -wSavedVolume:: ; c005 +wSavedVolume:: ds 1 -wChannelCommandPointers:: ; c006 +wChannelCommandPointers:: ds 16 -wChannelReturnAddresses:: ; c016 +wChannelReturnAddresses:: ds 16 -wChannelSoundIDs:: ; c026 +wChannelSoundIDs:: ds 8 -wChannelFlags1:: ; c02e +wChannelFlags1:: ds 8 -wChannelFlags2:: ; c036 +wChannelFlags2:: ds 8 -wChannelDutyCycles:: ; c03e +wChannelDutyCycles:: ds 8 -wChannelDutyCyclePatterns:: ; c046 +wChannelDutyCyclePatterns:: ds 8 -wChannelVibratoDelayCounters:: ; c04e +wChannelVibratoDelayCounters:: ; reloaded at the beginning of a note. counts down until the vibrato begins. ds 8 -wChannelVibratoExtents:: ; c056 +wChannelVibratoExtents:: ds 8 -wChannelVibratoRates:: ; c05e +wChannelVibratoRates:: ; high nybble is rate (counter reload value) and low nybble is counter. ; time between applications of vibrato. ds 8 -wChannelFrequencyLowBytes:: ; c066 +wChannelFrequencyLowBytes:: ds 8 -wChannelVibratoDelayCounterReloadValues:: ; c06e +wChannelVibratoDelayCounterReloadValues:: ; delay of the beginning of the vibrato from the start of the note ds 8 -wChannelPitchSlideLengthModifiers:: ; c076 +wChannelPitchSlideLengthModifiers:: ds 8 -wChannelPitchSlideFrequencySteps:: ; c07e +wChannelPitchSlideFrequencySteps:: ds 8 -wChannelPitchSlideFrequencyStepsFractionalPart:: ; c086 +wChannelPitchSlideFrequencyStepsFractionalPart:: ds 8 -wChannelPitchSlideCurrentFrequencyFractionalPart:: ; c08e +wChannelPitchSlideCurrentFrequencyFractionalPart:: ds 8 -wChannelPitchSlideCurrentFrequencyHighBytes:: ; c096 +wChannelPitchSlideCurrentFrequencyHighBytes:: ds 8 -wChannelPitchSlideCurrentFrequencyLowBytes:: ; c09e +wChannelPitchSlideCurrentFrequencyLowBytes:: ds 8 -wChannelPitchSlideTargetFrequencyHighBytes:: ; c0a6 +wChannelPitchSlideTargetFrequencyHighBytes:: ds 8 -wChannelPitchSlideTargetFrequencyLowBytes:: ; c0ae +wChannelPitchSlideTargetFrequencyLowBytes:: ds 8 -wChannelNoteDelayCounters:: ; c0b6 +wChannelNoteDelayCounters:: ; Note delays are stored as 16-bit fixed-point numbers where the integer part ; is 8 bits and the fractional part is 8 bits. ds 8 -wChannelLoopCounters:: ; c0be +wChannelLoopCounters:: ds 8 -wChannelNoteSpeeds:: ; c0c6 +wChannelNoteSpeeds:: ds 8 -wChannelNoteDelayCountersFractionalPart:: ; c0ce +wChannelNoteDelayCountersFractionalPart:: ds 8 -wChannelOctaves:: ; c0d6 +wChannelOctaves:: ds 8 -wChannelVolumes:: ; c0de +wChannelVolumes:: ; also includes fade for hardware channels that support it ds 8 @@ -177,28 +177,28 @@ wMusicWaveInstrument:: wSfxWaveInstrument:: ds 1 -wMusicTempo:: ; c0e8 +wMusicTempo:: ds 2 -wSfxTempo:: ; c0ea +wSfxTempo:: ds 2 -wSfxHeaderPointer:: ; c0ec +wSfxHeaderPointer:: ds 2 -wNewSoundID:: ; c0ee +wNewSoundID:: ds 1 -wAudioROMBank:: ; c0ef +wAudioROMBank:: ds 1 -wAudioSavedROMBank:: ; c0f0 +wAudioSavedROMBank:: ds 1 -wFrequencyModifier:: ; c0f1 +wFrequencyModifier:: ds 1 -wTempoModifier:: ; c0f2 +wTempoModifier:: ds 1 ds 13 @@ -208,7 +208,7 @@ SECTION "Sprite State Data", WRAM0 wSpriteDataStart:: -wSpriteStateData1:: ; c100 +wSpriteStateData1:: ; data for all sprites on the current map ; holds info for 16 sprites with $10 bytes each ; player sprite is always sprite 0 @@ -260,7 +260,7 @@ wSprite13StateData1:: spritestatedata1 wSprite13StateData1 wSprite14StateData1:: spritestatedata1 wSprite14StateData1 wSprite15StateData1:: spritestatedata1 wSprite15StateData1 -wSpriteStateData2:: ; c200 +wSpriteStateData2:: ; more data for all sprites on the current map ; holds info for 16 sprites with $10 bytes each ; player sprite is always sprite 0 @@ -319,69 +319,69 @@ wSpriteDataEnd:: SECTION "OAM Buffer", WRAM0 -wOAMBuffer:: ; c300 +wOAMBuffer:: ; buffer for OAM data. Copied to OAM by DMA ds 4 * 40 -wTileMap:: ; c3a0 +wTileMap:: ; buffer for tiles that are visible on screen (20 columns by 18 rows) ds 20 * 18 -wSerialPartyMonsPatchList:: ; c508 +wSerialPartyMonsPatchList:: ; list of indexes to patch with SERIAL_NO_DATA_BYTE after transfer -wTileMapBackup:: ; c508 +wTileMapBackup:: ; buffer for temporarily saving and restoring current screen's tiles ; (e.g. if menus are drawn on top) ; ds 20 * 18 ds 200 -wSerialEnemyMonsPatchList:: ; c5d0 +wSerialEnemyMonsPatchList:: ; list of indexes to patch with SERIAL_NO_DATA_BYTE after transfer ds 200 ds 80 wTempPic:: -wOverworldMap:: ; c6e8 +wOverworldMap:: ds 1300 wOverworldMapEnd:: -wRedrawRowOrColumnSrcTiles:: ; cbfc +wRedrawRowOrColumnSrcTiles:: ; the tiles of the row or column to be redrawn by RedrawRowOrColumn ds SCREEN_WIDTH * 2 ; coordinates of the position of the cursor for the top menu item (id 0) -wTopMenuItemY:: ; cc24 +wTopMenuItemY:: ds 1 -wTopMenuItemX:: ; cc25 +wTopMenuItemX:: ds 1 -wCurrentMenuItem:: ; cc26 +wCurrentMenuItem:: ; the id of the currently selected menu item ; the top item has id 0, the one below that has id 1, etc. ; note that the "top item" means the top item currently visible on the screen ; add this value to [wListScrollOffset] to get the item's position within the list ds 1 -wTileBehindCursor:: ; cc27 +wTileBehindCursor:: ; the tile that was behind the menu cursor's current location ds 1 -wMaxMenuItem:: ; cc28 +wMaxMenuItem:: ; id of the bottom menu item ds 1 -wMenuWatchedKeys:: ; cc29 +wMenuWatchedKeys:: ; bit mask of keys that the menu will respond to ds 1 -wLastMenuItem:: ; cc2a +wLastMenuItem:: ; id of previously selected menu item ds 1 -wPartyAndBillsPCSavedMenuItem:: ; cc2b +wPartyAndBillsPCSavedMenuItem:: ; It is mainly used by the party menu to remember the cursor position while the ; menu isn't active. ; It is also used to remember the cursor position of mon lists (for the @@ -390,107 +390,107 @@ wPartyAndBillsPCSavedMenuItem:: ; cc2b ; you return to the main Bill's PC menu. ds 1 -wBagSavedMenuItem:: ; cc2c +wBagSavedMenuItem:: ; It is used by the bag list to remember the cursor position while the menu ; isn't active. ds 1 -wBattleAndStartSavedMenuItem:: ; cc2d +wBattleAndStartSavedMenuItem:: ; It is used by the start menu to remember the cursor position while the menu ; isn't active. ; The battle menu uses it so that the cursor position doesn't get lost when ; a sub-menu is shown. It's reset at the start of each battle. ds 1 -wPlayerMoveListIndex:: ; cc2e +wPlayerMoveListIndex:: ds 1 -wPlayerMonNumber:: ; cc2f +wPlayerMonNumber:: ; index in party of currently battling mon ds 1 -wMenuCursorLocation:: ; cc30 +wMenuCursorLocation:: ; the address of the menu cursor's current location within wTileMap ds 2 ds 2 -wMenuJoypadPollCount:: ; cc34 +wMenuJoypadPollCount:: ; how many times should HandleMenuInput poll the joypad state before it returns? ds 1 -wMenuItemToSwap:: ; cc35 +wMenuItemToSwap:: ; id of menu item selected for swapping (counts from 1) (0 means that no menu item has been selected for swapping) ds 1 -wListScrollOffset:: ; cc36 +wListScrollOffset:: ; offset of the current top menu item from the beginning of the list ; keeps track of what section of the list is on screen ds 1 -wMenuWatchMovingOutOfBounds:: ; cc37 +wMenuWatchMovingOutOfBounds:: ; If non-zero, then when wrapping is disabled and the player tries to go past ; the top or bottom of the menu, return from HandleMenuInput. This is useful for ; menus that have too many items to display at once on the screen because it ; allows the caller to scroll the entire menu up or down when this happens. ds 1 -wTradeCenterPointerTableIndex:: ; cc38 +wTradeCenterPointerTableIndex:: ds 1 ds 1 -wTextDest:: ; cc3a +wTextDest:: ; destination pointer for text output ; this variable is written to, but is never read from ds 2 -wDoNotWaitForButtonPressAfterDisplayingText:: ; cc3c +wDoNotWaitForButtonPressAfterDisplayingText:: ; if non-zero, skip waiting for a button press after displaying text in DisplayTextID ds 1 -wSerialSyncAndExchangeNybbleReceiveData:: ; cc3d +wSerialSyncAndExchangeNybbleReceiveData:: ; the final received nybble is stored here by Serial_SyncAndExchangeNybble -wSerialExchangeNybbleTempReceiveData:: ; cc3d +wSerialExchangeNybbleTempReceiveData:: ; temporary nybble used by Serial_ExchangeNybble -wLinkMenuSelectionReceiveBuffer:: ; cc3d +wLinkMenuSelectionReceiveBuffer:: ; two byte buffer ; the received menu selection is stored twice ds 1 -wSerialExchangeNybbleReceiveData:: ; cc3e +wSerialExchangeNybbleReceiveData:: ; the final received nybble is stored here by Serial_ExchangeNybble ds 1 ds 3 -wSerialExchangeNybbleSendData:: ; cc42 +wSerialExchangeNybbleSendData:: ; this nybble is sent when using Serial_SyncAndExchangeNybble or Serial_ExchangeNybble -wLinkMenuSelectionSendBuffer:: ; cc42 +wLinkMenuSelectionSendBuffer:: ; two byte buffer ; the menu selection byte is stored twice before sending ds 5 -wLinkTimeoutCounter:: ; cc47 +wLinkTimeoutCounter:: ; 1 byte -wUnknownSerialCounter:: ; cc47 +wUnknownSerialCounter:: ; 2 bytes -wEnteringCableClub:: ; cc47 +wEnteringCableClub:: ds 1 ds 1 -wWhichTradeMonSelectionMenu:: ; cc49 +wWhichTradeMonSelectionMenu:: ; $00 = player mons ; $01 = enemy mons -wMonDataLocation:: ; cc49 +wMonDataLocation:: ; 0 = player's party ; 1 = enemy party ; 2 = current box @@ -502,251 +502,251 @@ wMonDataLocation:: ; cc49 ; If the entire value is 0, then the player is allowed to name the mon. ds 1 -wMenuWrappingEnabled:: ; cc4a +wMenuWrappingEnabled:: ; set to 1 if you can go from the bottom to the top or top to bottom of a menu ; set to 0 if you can't go past the top or bottom of the menu ds 1 -wCheckFor180DegreeTurn:: ; cc4b +wCheckFor180DegreeTurn:: ; whether to check for 180-degree turn (0 = don't, 1 = do) ds 1 ds 1 -wMissableObjectIndex:: ; cc4d +wMissableObjectIndex:: ds 1 -wPredefID:: ; cc4e +wPredefID:: ds 1 -wPredefRegisters:: ; cc4f +wPredefRegisters:: ds 6 -wTrainerHeaderFlagBit:: ; cc55 +wTrainerHeaderFlagBit:: ds 1 ds 1 -wNPCMovementScriptPointerTableNum:: ; cc57 +wNPCMovementScriptPointerTableNum:: ; which NPC movement script pointer is being used ; 0 if an NPC movement script is not running ds 1 -wNPCMovementScriptBank:: ; cc58 +wNPCMovementScriptBank:: ; ROM bank of current NPC movement script ds 1 ds 2 -wUnusedCC5B:: ; cc5b +wUnusedCC5B:: -wVermilionDockTileMapBuffer:: ; cc5b +wVermilionDockTileMapBuffer:: ; 180 bytes -wOaksAideRewardItemName:: ; cc5b +wOaksAideRewardItemName:: -wDexRatingNumMonsSeen:: ; cc5b +wDexRatingNumMonsSeen:: -wFilteredBagItems:: ; cc5b +wFilteredBagItems:: ; List of bag items that has been filtered to a certain type of items, ; such as drinks or fossils. -wElevatorWarpMaps:: ; cc5b +wElevatorWarpMaps:: -wMonPartySpritesSavedOAM:: ; cc5b +wMonPartySpritesSavedOAM:: ; Saved copy of OAM for the first frame of the animation to make it easy to ; flip back from the second frame. ; $60 bytes -wTrainerCardBlkPacket:: ; cc5b +wTrainerCardBlkPacket:: ; $40 bytes -wSlotMachineSevenAndBarModeChance:: ; cc5b +wSlotMachineSevenAndBarModeChance:: ; If a random number greater than this value is generated, then the player is ; allowed to have three 7 symbols or bar symbols line up. ; So, this value is actually the chance of NOT entering that mode. ; If the slot is lucky, it equals 250, giving a 5/256 (~2%) chance. ; Otherwise, it equals 253, giving a 2/256 (~0.8%) chance. -wHallOfFame:: ; cc5b -wBoostExpByExpAll:: ; cc5b -wAnimationType:: ; cc5b +wHallOfFame:: +wBoostExpByExpAll:: +wAnimationType:: ; values between 0-6. Shake screen horizontally, shake screen vertically, blink Pokemon... -wNPCMovementDirections:: ; cc5b +wNPCMovementDirections:: ds 1 -wDexRatingNumMonsOwned:: ; cc5c +wDexRatingNumMonsOwned:: ds 1 -wDexRatingText:: ; cc5d +wDexRatingText:: ds 1 -wSlotMachineSavedROMBank:: ; cc5e +wSlotMachineSavedROMBank:: ; ROM back to return to when the player is done with the slot machine ds 1 ds 26 -wAnimPalette:: ; cc79 +wAnimPalette:: ds 1 ds 29 -wNPCMovementDirections2:: ; cc97 +wNPCMovementDirections2:: -wSwitchPartyMonTempBuffer:: ; cc97 +wSwitchPartyMonTempBuffer:: ; temporary buffer when swapping party mon data ds 10 -wNumStepsToTake:: ; cca1 +wNumStepsToTake:: ; used in Pallet Town scripted movement ds 49 -wRLEByteCount:: ; ccd2 +wRLEByteCount:: ds 1 -wAddedToParty:: ; ccd3 +wAddedToParty:: ; 0 = not added ; 1 = added -wSimulatedJoypadStatesEnd:: ; ccd3 +wSimulatedJoypadStatesEnd:: ; this is the end of the joypad states ; the list starts above this address and extends downwards in memory until here ; overloaded with below labels -wParentMenuItem:: ; ccd3 +wParentMenuItem:: -wCanEvolveFlags:: ; ccd3 +wCanEvolveFlags:: ; 1 flag for each party member indicating whether it can evolve ; The purpose of these flags is to track which mons levelled up during the ; current battle at the end of the battle when evolution occurs. ; Other methods of evolution simply set it by calling TryEvolvingMon. ds 1 -wForceEvolution:: ; ccd4 +wForceEvolution:: ds 1 -; if [ccd5] != 1, the second AI layer is not applied -wAILayer2Encouragement:: ; ccd5 +; if [wAILayer2Encouragement] != 1, the second AI layer is not applied +wAILayer2Encouragement:: ds 1 ds 1 ; current HP of player and enemy substitutes -wPlayerSubstituteHP:: ; ccd7 +wPlayerSubstituteHP:: ds 1 -wEnemySubstituteHP:: ; ccd8 +wEnemySubstituteHP:: ds 1 -wTestBattlePlayerSelectedMove:: ; ccd9 +wTestBattlePlayerSelectedMove:: ; The player's selected move during a test battle. ; InitBattleVariables sets it to the move Pound. ds 1 ds 1 -wMoveMenuType:: ; ccdb +wMoveMenuType:: ; 0=regular, 1=mimic, 2=above message box (relearn, heal pp..) ds 1 -wPlayerSelectedMove:: ; ccdc +wPlayerSelectedMove:: ds 1 -wEnemySelectedMove:: ; ccdd +wEnemySelectedMove:: ds 1 -wLinkBattleRandomNumberListIndex:: ; ccde +wLinkBattleRandomNumberListIndex:: ds 1 -wAICount:: ; ccdf +wAICount:: ; number of times remaining that AI action can occur ds 1 ds 2 -wEnemyMoveListIndex:: ; cce2 +wEnemyMoveListIndex:: ds 1 -wLastSwitchInEnemyMonHP:: ; cce3 +wLastSwitchInEnemyMonHP:: ; The enemy mon's HP when it was switched in or when the current player mon ; was switched in, which was more recent. ; It's used to determine the message to print when switching out the player mon. ds 2 -wTotalPayDayMoney:: ; cce5 +wTotalPayDayMoney:: ; total amount of money made using Pay Day during the current battle ds 3 -wSafariEscapeFactor:: ; cce8 +wSafariEscapeFactor:: ds 1 -wSafariBaitFactor:: ; cce9 +wSafariBaitFactor:: ds 1; ds 1 -wTransformedEnemyMonOriginalDVs:: ; cceb +wTransformedEnemyMonOriginalDVs:: ds 2 -wMonIsDisobedient:: ds 1 ; cced +wMonIsDisobedient:: ds 1 -wPlayerDisabledMoveNumber:: ds 1 ; ccee -wEnemyDisabledMoveNumber:: ds 1 ; ccef +wPlayerDisabledMoveNumber:: ds 1 +wEnemyDisabledMoveNumber:: ds 1 -wInHandlePlayerMonFainted:: ; ccf0 +wInHandlePlayerMonFainted:: ; When running in the scope of HandlePlayerMonFainted, it equals 1. ; When running in the scope of HandleEnemyMonFainted, it equals 0. ds 1 -wPlayerUsedMove:: ds 1 ; ccf1 -wEnemyUsedMove:: ds 1 ; ccf2 +wPlayerUsedMove:: ds 1 +wEnemyUsedMove:: ds 1 -wEnemyMonMinimized:: ds 1 ; ccf3 +wEnemyMonMinimized:: ds 1 -wMoveDidntMiss:: ds 1 ; ccf4 +wMoveDidntMiss:: ds 1 -wPartyFoughtCurrentEnemyFlags:: ; ccf5 +wPartyFoughtCurrentEnemyFlags:: ; flags that indicate which party members have fought the current enemy mon flag_array 6 -wLowHealthAlarmDisabled:: ; ccf6 +wLowHealthAlarmDisabled:: ; Whether the low health alarm has been disabled due to the player winning the ; battle. ds 1 -wPlayerMonMinimized:: ; ccf7 +wPlayerMonMinimized:: ds 1 ds 13 -wLuckySlotHiddenObjectIndex:: ; cd05 +wLuckySlotHiddenObjectIndex:: -wEnemyNumHits:: ; cd05 +wEnemyNumHits:: ; number of hits by enemy in attacks like Double Slap, etc. -wEnemyBideAccumulatedDamage:: ; cd05 +wEnemyBideAccumulatedDamage:: ; the amount of damage accumulated by the enemy while biding (2 bytes) ds 10 -wInGameTradeGiveMonSpecies:: ; cd0f +wInGameTradeGiveMonSpecies:: -wPlayerMonUnmodifiedLevel:: ; cd0f +wPlayerMonUnmodifiedLevel:: ds 1 -wInGameTradeTextPointerTablePointer:: ; cd10 +wInGameTradeTextPointerTablePointer:: -wPlayerMonUnmodifiedMaxHP:: ; cd10 +wPlayerMonUnmodifiedMaxHP:: ds 2 -wInGameTradeTextPointerTableIndex:: ; cd12 +wInGameTradeTextPointerTableIndex:: -wPlayerMonUnmodifiedAttack:: ; cd12 +wPlayerMonUnmodifiedAttack:: ds 1 -wInGameTradeGiveMonName:: ; cd13 +wInGameTradeGiveMonName:: ds 1 -wPlayerMonUnmodifiedDefense:: ; cd14 +wPlayerMonUnmodifiedDefense:: ds 2 -wPlayerMonUnmodifiedSpeed:: ; cd16 +wPlayerMonUnmodifiedSpeed:: ds 2 -wPlayerMonUnmodifiedSpecial:: ; cd18 +wPlayerMonUnmodifiedSpecial:: ds 2 ; stat modifiers for the player's current pokemon @@ -754,44 +754,44 @@ wPlayerMonUnmodifiedSpecial:: ; cd18 ; 7 is normal wPlayerMonStatMods:: -wPlayerMonAttackMod:: ; cd1a +wPlayerMonAttackMod:: ds 1 -wPlayerMonDefenseMod:: ; cd1b +wPlayerMonDefenseMod:: ds 1 -wPlayerMonSpeedMod:: ; cd1c +wPlayerMonSpeedMod:: ds 1 -wPlayerMonSpecialMod:: ; cd1d +wPlayerMonSpecialMod:: ds 1 -wInGameTradeReceiveMonName:: ; cd1e +wInGameTradeReceiveMonName:: -wPlayerMonAccuracyMod:: ; cd1e +wPlayerMonAccuracyMod:: ds 1 -wPlayerMonEvasionMod:: ; cd1f +wPlayerMonEvasionMod:: ds 1 ds 3 -wEnemyMonUnmodifiedLevel:: ; cd23 +wEnemyMonUnmodifiedLevel:: ds 1 -wEnemyMonUnmodifiedMaxHP:: ; cd24 +wEnemyMonUnmodifiedMaxHP:: ds 2 -wEnemyMonUnmodifiedAttack:: ; cd26 +wEnemyMonUnmodifiedAttack:: ds 2 -wEnemyMonUnmodifiedDefense:: ; cd28 +wEnemyMonUnmodifiedDefense:: ds 1 -wInGameTradeMonNick:: ; cd29 +wInGameTradeMonNick:: ds 1 -wEnemyMonUnmodifiedSpeed:: ; cd2a +wEnemyMonUnmodifiedSpeed:: ds 2 -wEnemyMonUnmodifiedSpecial:: ; cd2c +wEnemyMonUnmodifiedSpecial:: ds 1 -wEngagedTrainerClass:: ; cd2d +wEngagedTrainerClass:: ds 1 -wEngagedTrainerSet:: ; cd2e +wEngagedTrainerSet:: ; ds 1 ; stat modifiers for the enemy's current pokemon @@ -799,17 +799,17 @@ wEngagedTrainerSet:: ; cd2e ; 7 is normal wEnemyMonStatMods:: -wEnemyMonAttackMod:: ; cd2e +wEnemyMonAttackMod:: ds 1 -wEnemyMonDefenseMod:: ; cd2f +wEnemyMonDefenseMod:: ds 1 -wEnemyMonSpeedMod:: ; cd30 +wEnemyMonSpeedMod:: ds 1 -wEnemyMonSpecialMod:: ; cd31 +wEnemyMonSpecialMod:: ds 1 -wEnemyMonAccuracyMod:: ; cd32 +wEnemyMonAccuracyMod:: ds 1 -wEnemyMonEvasionMod:: ; cd33 +wEnemyMonEvasionMod:: ds 1 wInGameTradeReceiveMonSpecies:: @@ -817,301 +817,301 @@ wInGameTradeReceiveMonSpecies:: ds 2 -wNPCMovementDirections2Index:: ; cd37 +wNPCMovementDirections2Index:: -wUnusedCD37:: ; cd37 +wUnusedCD37:: -wFilteredBagItemsCount:: ; cd37 +wFilteredBagItemsCount:: ; number of items in wFilteredBagItems list ds 1 -wSimulatedJoypadStatesIndex:: ; cd38 +wSimulatedJoypadStatesIndex:: ; the next simulated joypad state is at wSimulatedJoypadStatesEnd plus this value minus 1 ; 0 if the joypad state is not being simulated ds 1 -wWastedByteCD39:: ; cd39 +wWastedByteCD39:: ; written to but nothing ever reads it ds 1 -wWastedByteCD3A:: ; cd3a +wWastedByteCD3A:: ; written to but nothing ever reads it ds 1 -wOverrideSimulatedJoypadStatesMask:: ; cd3b +wOverrideSimulatedJoypadStatesMask:: ; mask indicating which real button presses can override simulated ones ; XXX is it ever not 0? ds 1 ds 1 -wFallingObjectsMovementData:: ; cd3d +wFallingObjectsMovementData:: ; up to 20 bytes (one byte for each falling object) -wSavedY:: ; cd3d +wSavedY:: -wTempSCX:: ; cd3d +wTempSCX:: -wBattleTransitionCircleScreenQuadrantY:: ; cd3d +wBattleTransitionCircleScreenQuadrantY:: ; 0 = upper half (Y < 9) ; 1 = lower half (Y >= 9) -wBattleTransitionCopyTilesOffset:: ; cd3d +wBattleTransitionCopyTilesOffset:: ; 2 bytes ; after 1 row/column has been copied, the offset to the next one to copy from -wInwardSpiralUpdateScreenCounter:: ; cd3d +wInwardSpiralUpdateScreenCounter:: ; counts down from 7 so that every time 7 more tiles of the spiral have been ; placed, the tile map buffer is copied to VRAM so that progress is visible -wHoFTeamIndex:: ; cd3d +wHoFTeamIndex:: -wSSAnneSmokeDriftAmount:: ; cd3d +wSSAnneSmokeDriftAmount:: ; multiplied by 16 to get the number of times to go right by 2 pixels -wRivalStarterTemp:: ; cd3d +wRivalStarterTemp:: -wBoxMonCounts:: ; cd3d +wBoxMonCounts:: ; 12 bytes ; array of the number of mons in each box -wDexMaxSeenMon:: ; cd3d +wDexMaxSeenMon:: -wPPRestoreItem:: ; cd3d +wPPRestoreItem:: -wWereAnyMonsAsleep:: ; cd3d +wWereAnyMonsAsleep:: -wCanPlaySlots:: ; cd3d +wCanPlaySlots:: -wNumShakes:: ; cd3d +wNumShakes:: -wDayCareStartLevel:: ; cd3d +wDayCareStartLevel:: ; the level of the mon at the time it entered day care -wWhichBadge:: ; cd3d +wWhichBadge:: -wPriceTemp:: ; cd3d +wPriceTemp:: ; 3-byte BCD number -wTitleMonSpecies:: ; cd3d +wTitleMonSpecies:: -wPlayerCharacterOAMTile:: ; cd3d +wPlayerCharacterOAMTile:: -wMoveDownSmallStarsOAMCount:: ; cd3d +wMoveDownSmallStarsOAMCount:: ; the number of small stars OAM entries to move down -wChargeMoveNum:: ; cd3d +wChargeMoveNum:: -wCoordIndex:: ; cd3d +wCoordIndex:: -wOptionsTextSpeedCursorX:: ; cd3d +wOptionsTextSpeedCursorX:: -wBoxNumString:: ; cd3d +wBoxNumString:: -wTrainerInfoTextBoxWidthPlus1:: ; cd3d +wTrainerInfoTextBoxWidthPlus1:: -wSwappedMenuItem:: ; cd3d +wSwappedMenuItem:: -wHoFMonSpecies:: ; cd3d +wHoFMonSpecies:: -wFieldMoves:: ; cd3d +wFieldMoves:: ; 4 bytes ; the current mon's field moves -wBadgeNumberTile:: ; cd3d +wBadgeNumberTile:: ; tile ID of the badge number being drawn -wRodResponse:: ; cd3d +wRodResponse:: ; 0 = no bite ; 1 = bite ; 2 = no fish on map -wWhichTownMapLocation:: ; cd3d +wWhichTownMapLocation:: -wStoppingWhichSlotMachineWheel:: ; cd3d +wStoppingWhichSlotMachineWheel:: ; which wheel the player is trying to stop ; 0 = none, 1 = wheel 1, 2 = wheel 2, 3 or greater = wheel 3 -wTradedPlayerMonSpecies:: ; cd3d +wTradedPlayerMonSpecies:: -wTradingWhichPlayerMon:: ; cd3d +wTradingWhichPlayerMon:: -wChangeBoxSavedMapTextPointer:: ; cd3d +wChangeBoxSavedMapTextPointer:: -wFlyAnimUsingCoordList:: ; cd3d +wFlyAnimUsingCoordList:: -wPlayerSpinInPlaceAnimFrameDelay:: ; cd3d +wPlayerSpinInPlaceAnimFrameDelay:: -wPlayerSpinWhileMovingUpOrDownAnimDeltaY:: ; cd3d +wPlayerSpinWhileMovingUpOrDownAnimDeltaY:: -wHiddenObjectFunctionArgument:: ; cd3d +wHiddenObjectFunctionArgument:: -wWhichTrade:: ; cd3d +wWhichTrade:: ; which entry from TradeMons to select -wTrainerSpriteOffset:: ; cd3d +wTrainerSpriteOffset:: -wUnusedCD3D:: ; cd3d +wUnusedCD3D:: ds 1 -wHUDPokeballGfxOffsetX:: ; cd3e +wHUDPokeballGfxOffsetX:: ; difference in X between the next ball and the current one -wBattleTransitionCircleScreenQuadrantX:: ; cd3e +wBattleTransitionCircleScreenQuadrantX:: ; 0 = left half (X < 10) ; 1 = right half (X >= 10) -wSSAnneSmokeX:: ; cd3e +wSSAnneSmokeX:: -wRivalStarterBallSpriteIndex:: ; cd3e +wRivalStarterBallSpriteIndex:: -wDayCareNumLevelsGrown:: ; cd3e +wDayCareNumLevelsGrown:: -wOptionsBattleAnimCursorX:: ; cd3e +wOptionsBattleAnimCursorX:: -wTrainerInfoTextBoxWidth:: ; cd3e +wTrainerInfoTextBoxWidth:: -wHoFPartyMonIndex:: ; cd3e +wHoFPartyMonIndex:: -wNumCreditsMonsDisplayed:: ; cd3e +wNumCreditsMonsDisplayed:: ; the number of credits mons that have been displayed so far -wBadgeNameTile:: ; cd3e +wBadgeNameTile:: ; first tile ID of the name being drawn -wFlyLocationsList:: ; cd3e +wFlyLocationsList:: ; 11 bytes plus $ff sentinel values at each end -wSlotMachineWheel1Offset:: ; cd3e +wSlotMachineWheel1Offset:: -wTradedEnemyMonSpecies:: ; cd3e +wTradedEnemyMonSpecies:: -wTradingWhichEnemyMon:: ; cd3e +wTradingWhichEnemyMon:: -wFlyAnimCounter:: ; cd3e +wFlyAnimCounter:: -wPlayerSpinInPlaceAnimFrameDelayDelta:: ; cd3e +wPlayerSpinInPlaceAnimFrameDelayDelta:: -wPlayerSpinWhileMovingUpOrDownAnimMaxY:: ; cd3e +wPlayerSpinWhileMovingUpOrDownAnimMaxY:: -wHiddenObjectFunctionRomBank:: ; cd3e +wHiddenObjectFunctionRomBank:: -wTrainerEngageDistance:: ; cd3e +wTrainerEngageDistance:: ds 1 -wHUDGraphicsTiles:: ; cd3f +wHUDGraphicsTiles:: ; 3 bytes -wDayCareTotalCost:: ; cd3f +wDayCareTotalCost:: ; 2-byte BCD number -wJigglypuffFacingDirections:: ; cd3f +wJigglypuffFacingDirections:: -wOptionsBattleStyleCursorX:: ; cd3f +wOptionsBattleStyleCursorX:: -wTrainerInfoTextBoxNextRowOffset:: ; cd3f +wTrainerInfoTextBoxNextRowOffset:: -wHoFMonLevel:: ; cd3f +wHoFMonLevel:: -wBadgeOrFaceTiles:: ; cd3f +wBadgeOrFaceTiles:: ; 8 bytes ; a list of the first tile IDs of each badge or face (depending on whether the ; badge is owned) to be drawn on the trainer screen -wSlotMachineWheel2Offset:: ; cd3f +wSlotMachineWheel2Offset:: -wNameOfPlayerMonToBeTraded:: ; cd3f +wNameOfPlayerMonToBeTraded:: -wFlyAnimBirdSpriteImageIndex:: ; cd3f +wFlyAnimBirdSpriteImageIndex:: -wPlayerSpinInPlaceAnimFrameDelayEndValue:: ; cd3f +wPlayerSpinInPlaceAnimFrameDelayEndValue:: -wPlayerSpinWhileMovingUpOrDownAnimFrameDelay:: ; cd3f +wPlayerSpinWhileMovingUpOrDownAnimFrameDelay:: -wHiddenObjectIndex:: ; cd3f +wHiddenObjectIndex:: -wTrainerFacingDirection:: ; cd3f +wTrainerFacingDirection:: ds 1 -wHoFMonOrPlayer:: ; cd40 +wHoFMonOrPlayer:: ; show mon or show player? ; 0 = mon ; 1 = player -wSlotMachineWheel3Offset:: ; cd40 +wSlotMachineWheel3Offset:: -wPlayerSpinInPlaceAnimSoundID:: ; cd40 +wPlayerSpinInPlaceAnimSoundID:: -wHiddenObjectY:: ; cd40 +wHiddenObjectY:: -wTrainerScreenY:: ; cd40 +wTrainerScreenY:: -wOptionsCancelCursorX:: ; cd40 +wOptionsCancelCursorX:: ds 1 -wDayCarePerLevelCost:: ; cd41 +wDayCarePerLevelCost:: ; 2-byte BCD number (always set to $0100) -wHoFTeamIndex2:: ; cd41 +wHoFTeamIndex2:: -wHiddenItemOrCoinsIndex:: ; cd41 +wHiddenItemOrCoinsIndex:: -wTradedPlayerMonOT:: ; cd41 +wTradedPlayerMonOT:: -wHiddenObjectX:: ; cd41 +wHiddenObjectX:: -wSlotMachineWinningSymbol:: ; cd41 +wSlotMachineWinningSymbol:: ; the OAM tile number of the upper left corner of the winning symbol minus 2 -wNumFieldMoves:: ; cd41 +wNumFieldMoves:: -wSlotMachineWheel1BottomTile:: ; cd41 +wSlotMachineWheel1BottomTile:: -wTrainerScreenX:: ; cd41 +wTrainerScreenX:: ds 1 ; a lot of the uses for these values use more than the said address -wHoFTeamNo:: ; cd42 +wHoFTeamNo:: -wSlotMachineWheel1MiddleTile:: ; cd42 +wSlotMachineWheel1MiddleTile:: -wFieldMovesLeftmostXCoord:: ; cd42 +wFieldMovesLeftmostXCoord:: ds 1 -wLastFieldMoveID:: ; cd43 +wLastFieldMoveID:: ; unused -wSlotMachineWheel1TopTile:: ; cd43 +wSlotMachineWheel1TopTile:: ds 1 -wSlotMachineWheel2BottomTile:: ; cd44 +wSlotMachineWheel2BottomTile:: ds 1 -wSlotMachineWheel2MiddleTile:: ; cd45 +wSlotMachineWheel2MiddleTile:: ds 1 -wTempCoins1:: ; cd46 +wTempCoins1:: ; 2 bytes ; temporary variable used to add payout amount to the player's coins -wSlotMachineWheel2TopTile:: ; cd46 +wSlotMachineWheel2TopTile:: ds 1 -wBattleTransitionSpiralDirection:: ; cd47 +wBattleTransitionSpiralDirection:: ; 0 = outward, 1 = inward -wSlotMachineWheel3BottomTile:: ; cd47 +wSlotMachineWheel3BottomTile:: ds 1 -wSlotMachineWheel3MiddleTile:: ; cd48 +wSlotMachineWheel3MiddleTile:: -wFacingDirectionList:: ; cd48 -; 4 bytes (also, the byte before the start of the list (cd47) is used a temp -; variable when the list is rotated) +wFacingDirectionList:: +; 4 bytes (also, the byte before the start of the list (wSlotMachineWheel3BottomTile) +; is used a temp variable when the list is rotated) ; used when spinning the player's sprite ds 1 -wSlotMachineWheel3TopTile:: ; cd49 +wSlotMachineWheel3TopTile:: wTempObtainedBadgesBooleans:: ; 8 bytes @@ -1119,85 +1119,85 @@ wTempObtainedBadgesBooleans:: ; one byte for each badge; 0 = not obtained, 1 = obtained ds 1 -wTempCoins2:: ; cd4a +wTempCoins2:: ; 2 bytes ; temporary variable used to subtract the bet amount from the player's coins -wPayoutCoins:: ; cd4a +wPayoutCoins:: ; 2 bytes ds 2 -wTradedPlayerMonOTID:: ; cd4c +wTradedPlayerMonOTID:: -wSlotMachineFlags:: ; cd4c +wSlotMachineFlags:: ; These flags are set randomly and control when the wheels stop. ; bit 6: allow the player to win in general ; bit 7: allow the player to win with 7 or bar (plus the effect of bit 6) ds 1 -wSlotMachineWheel1SlipCounter:: ; cd4d +wSlotMachineWheel1SlipCounter:: ; wheel 1 can "slip" while this is non-zero -wCutTile:: ; cd4d +wCutTile:: ; $3d = tree tile ; $52 = grass tile ds 1 -wSlotMachineWheel2SlipCounter:: ; cd4e +wSlotMachineWheel2SlipCounter:: ; wheel 2 can "slip" while this is non-zero -wTradedEnemyMonOT:: ; cd4e +wTradedEnemyMonOT:: ds 1 -wSavedPlayerScreenY:: ; cd4f +wSavedPlayerScreenY:: -wSlotMachineRerollCounter:: ; cd4f +wSlotMachineRerollCounter:: ; The remaining number of times wheel 3 will roll down a symbol until a match is ; found, when winning is enabled. It's initialized to 4 each bet. -wEmotionBubbleSpriteIndex:: ; cd4f +wEmotionBubbleSpriteIndex:: ; the index of the sprite the emotion bubble is to be displayed above ds 1 -wWhichEmotionBubble:: ; cd50 +wWhichEmotionBubble:: -wSlotMachineBet:: ; cd50 +wSlotMachineBet:: ; how many coins the player bet on the slot machine (1 to 3) -wSavedPlayerFacingDirection:: ; cd50 +wSavedPlayerFacingDirection:: -wWhichAnimationOffsets:: ; cd50 +wWhichAnimationOffsets:: ; 0 = cut animation, 1 = boulder dust animation ds 9 -wTradedEnemyMonOTID:: ; cd59 +wTradedEnemyMonOTID:: ds 2 -wStandingOnWarpPadOrHole:: ; cd5b +wStandingOnWarpPadOrHole:: ; 0 = neither ; 1 = warp pad ; 2 = hole -wOAMBaseTile:: ; cd5b +wOAMBaseTile:: -wGymTrashCanIndex:: ; cd5b +wGymTrashCanIndex:: ds 1 -wSymmetricSpriteOAMAttributes:: ; cd5c +wSymmetricSpriteOAMAttributes:: ds 1 -wMonPartySpriteSpecies:: ; cd5d +wMonPartySpriteSpecies:: ds 1 -wLeftGBMonSpecies:: ; cd5e +wLeftGBMonSpecies:: ; in the trade animation, the mon that leaves the left gameboy ds 1 -wRightGBMonSpecies:: ; cd5f +wRightGBMonSpecies:: ; in the trade animation, the mon that leaves the right gameboy ds 1 -wFlags_0xcd60:: ; cd60 +wFlags_0xcd60:: ; bit 0: is player engaged by trainer (to avoid being engaged by multiple trainers simultaneously) ; bit 1: boulder dust animation (from using Strength) pending ; bit 3: using generic PC @@ -1207,7 +1207,7 @@ wFlags_0xcd60:: ; cd60 ds 9 -wActionResultOrTookBattleTurn:: ; cd6a +wActionResultOrTookBattleTurn:: ; This has overlapping related uses. ; When the player tries to use an item or use certain field moves, 0 is stored ; when the attempt fails and 1 is stored when the attempt succeeds. @@ -1219,16 +1219,16 @@ wActionResultOrTookBattleTurn:: ; cd6a ; and the player is not allowed to make a move and the two uses are compatible. ds 1 -wJoyIgnore:: ; cd6b +wJoyIgnore:: ; Set buttons are ignored. ds 1 -wDownscaledMonSize:: ; cd6c +wDownscaledMonSize:: ; size of downscaled mon pic used in pokeball entering/exiting animation ; $00 = 5×5 ; $01 = 3×3 -wNumMovesMinusOne:: ; cd6c +wNumMovesMinusOne:: ; FormatMovesString stores the number of moves minus one here ds 1 @@ -1236,13 +1236,13 @@ UNION wcd6d:: ds 4 ; buffer for various data -wStatusScreenCurrentPP:: ; cd71 +wStatusScreenCurrentPP:: ; temp variable used to print a move's current PP on the status screen ds 1 ds 6 -wNormalMaxPPList:: ; cd78 +wNormalMaxPPList:: ; list of normal max PP (without PP up) values ds 9 @@ -1253,269 +1253,269 @@ wEvosMoves:: ds MAX_EVOLUTIONS * EVOLUTION_SIZE + 1 ENDU -wSerialOtherGameboyRandomNumberListBlock:: ; cd81 +wSerialOtherGameboyRandomNumberListBlock:: ; buffer for transferring the random number list generated by the other gameboy -wTileMapBackup2:: ; cd81 +wTileMapBackup2:: ; second buffer for temporarily saving and restoring current screen's tiles (e.g. if menus are drawn on top) ds 20 * 18 -wNamingScreenNameLength:: ; cee9 +wNamingScreenNameLength:: -wEvoOldSpecies:: ; cee9 +wEvoOldSpecies:: -wBuffer:: ; cee9 +wBuffer:: ; Temporary storage area of 30 bytes. -wTownMapCoords:: ; cee9 +wTownMapCoords:: ; lower nybble is x, upper nybble is y -wLearningMovesFromDayCare:: ; cee9 +wLearningMovesFromDayCare:: ; whether WriteMonMoves is being used to make a mon learn moves from day care ; non-zero if so -wChangeMonPicEnemyTurnSpecies:: ; cee9 +wChangeMonPicEnemyTurnSpecies:: -wHPBarMaxHP:: ; cee9 +wHPBarMaxHP:: ds 1 -wNamingScreenSubmitName:: ; ceea +wNamingScreenSubmitName:: ; non-zero when the player has chosen to submit the name -wChangeMonPicPlayerTurnSpecies:: ; ceea +wChangeMonPicPlayerTurnSpecies:: -wEvoNewSpecies:: ; ceea +wEvoNewSpecies:: ds 1 -wAlphabetCase:: ; ceeb +wAlphabetCase:: ; 0 = upper case ; 1 = lower case -wEvoMonTileOffset:: ; ceeb +wEvoMonTileOffset:: -wHPBarOldHP:: ; ceeb +wHPBarOldHP:: ds 1 -wEvoCancelled:: ; ceec +wEvoCancelled:: ds 1 -wNamingScreenLetter:: ; ceed +wNamingScreenLetter:: -wHPBarNewHP:: ; ceed +wHPBarNewHP:: ds 2 -wHPBarDelta:: ; ceef +wHPBarDelta:: ds 1 -wHPBarTempHP:: ; cef0 +wHPBarTempHP:: ds 2 ds 11 -wHPBarHPDifference:: ; cefd +wHPBarHPDifference:: ds 1 ds 7 -wAIItem:: ; cf05 +wAIItem:: ; the item that the AI used ds 1 -wUsedItemOnWhichPokemon:: ; cf06 +wUsedItemOnWhichPokemon:: ds 1 -wAnimSoundID:: ; cf07 +wAnimSoundID:: ; sound ID during battle animations ds 1 -wBankswitchHomeSavedROMBank:: ; cf08 +wBankswitchHomeSavedROMBank:: ; used as a storage value for the bank to return to after a BankswitchHome (bankswitch in homebank) ds 1 -wBankswitchHomeTemp:: ; cf09 +wBankswitchHomeTemp:: ; used as a temp storage value for the bank to switch to ds 1 -wBoughtOrSoldItemInMart:: ; cf0a +wBoughtOrSoldItemInMart:: ; 0 = nothing bought or sold in pokemart ; 1 = bought or sold something in pokemart ; this value is not used for anything ds 1 -wBattleResult:: ; cf0b +wBattleResult:: ; $00 - win ; $01 - lose ; $02 - draw ds 1 -wAutoTextBoxDrawingControl:: ; cf0c +wAutoTextBoxDrawingControl:: ; bit 0: if set, DisplayTextID automatically draws a text box ds 1 wcf0d:: ds 1 ; used with some overworld scripts (not exactly sure what it's used for) -wTilePlayerStandingOn:: ; cf0e +wTilePlayerStandingOn:: ; used in CheckForTilePairCollisions2 to store the tile the player is on ds 1 -wNPCNumScriptedSteps:: ds 1 ; cf0f +wNPCNumScriptedSteps:: ds 1 -wNPCMovementScriptFunctionNum:: ; cf10 +wNPCMovementScriptFunctionNum:: ; which script function within the pointer table indicated by ; wNPCMovementScriptPointerTableNum ds 1 -wTextPredefFlag:: ; cf11 +wTextPredefFlag:: ; bit 0: set when printing a text predef so that DisplayTextID doesn't switch ; to the current map's bank ds 1 -wPredefParentBank:: ; cf12 +wPredefParentBank:: ds 1 wSpriteIndex:: ds 1 -wCurSpriteMovement2:: ; cf14 +wCurSpriteMovement2:: ; movement byte 2 of current sprite ds 1 ds 2 -wNPCMovementScriptSpriteOffset:: ; cf17 +wNPCMovementScriptSpriteOffset:: ; sprite offset of sprite being controlled by NPC movement script ds 1 -wScriptedNPCWalkCounter:: ; cf18 +wScriptedNPCWalkCounter:: ds 1 ds 1 -wGBC:: ; cf1a +wGBC:: ds 1 -wOnSGB:: ; cf1b +wOnSGB:: ; if running on SGB, it's 1, else it's 0 ds 1 -wDefaultPaletteCommand:: ; cf1c +wDefaultPaletteCommand:: ds 1 -wPlayerHPBarColor:: ; cf1d +wPlayerHPBarColor:: -wWholeScreenPaletteMonSpecies:: ; cf1d +wWholeScreenPaletteMonSpecies:: ; species of the mon whose palette is used for the whole screen ds 1 -wEnemyHPBarColor:: ; cf1e +wEnemyHPBarColor:: ds 1 ; 0: green ; 1: yellow ; 2: red -wPartyMenuHPBarColors:: ; cf1f +wPartyMenuHPBarColors:: ds 6 -wStatusScreenHPBarColor:: ; cf25 +wStatusScreenHPBarColor:: ds 1 ds 7 -wCopyingSGBTileData:: ; cf2d +wCopyingSGBTileData:: -wWhichPartyMenuHPBar:: ; cf2d +wWhichPartyMenuHPBar:: -wPalPacket:: ; cf2d +wPalPacket:: ds 1 -wPartyMenuBlkPacket:: ; cf2e +wPartyMenuBlkPacket:: ; $30 bytes ds 29 -wExpAmountGained:: ; cf4b +wExpAmountGained:: ; 2-byte big-endian number ; the total amount of exp a mon gained wcf4b:: ds 2 ; storage buffer for various strings -wGainBoostedExp:: ; cf4d +wGainBoostedExp:: ds 1 ds 17 -wGymCityName:: ; cf5f +wGymCityName:: ds 17 -wGymLeaderName:: ; cf70 +wGymLeaderName:: ds NAME_LENGTH -wItemList:: ; cf7b +wItemList:: ds 16 -wListPointer:: ; cf8b +wListPointer:: ds 2 -wUnusedCF8D:: ; cf8d +wUnusedCF8D:: ; 2 bytes ; used to store pointers, but never read ds 2 -wItemPrices:: ; cf8f +wItemPrices:: ds 2 wcf91:: ds 1 ; used with a lot of things (too much to list here) -wWhichPokemon:: ; cf92 +wWhichPokemon:: ; which pokemon you selected ds 1 -wPrintItemPrices:: ; cf93 +wPrintItemPrices:: ; if non-zero, then print item prices when displaying lists ds 1 -wHPBarType:: ; cf94 +wHPBarType:: ; type of HP bar ; $00 = enemy HUD in battle ; $01 = player HUD in battle / status screen ; $02 = party menu -wListMenuID:: ; cf94 +wListMenuID:: ; ID used by DisplayListMenuID ds 1 -wRemoveMonFromBox:: ; cf95 +wRemoveMonFromBox:: ; if non-zero, RemovePokemon will remove the mon from the current box, ; else it will remove the mon from the party -wMoveMonType:: ; cf95 +wMoveMonType:: ; 0 = move from box to party ; 1 = move from party to box ; 2 = move from daycare to party ; 3 = move from party to daycare ds 1 -wItemQuantity:: ; cf96 +wItemQuantity:: ds 1 -wMaxItemQuantity:: ; cf97 +wMaxItemQuantity:: ds 1 ; LoadMonData copies mon data here -wLoadedMon:: party_struct wLoadedMon ; cf98 +wLoadedMon:: party_struct wLoadedMon -wFontLoaded:: ; cfc4 +wFontLoaded:: ; bit 0: The space in VRAM that is used to store walk animation tile patterns ; for the player and NPCs is in use for font tile patterns. ; This means that NPC movement must be disabled. ; The other bits are unused. ds 1 -wWalkCounter:: ; cfc5 +wWalkCounter:: ; walk animation counter ds 1 -wTileInFrontOfPlayer:: ; cfc6 +wTileInFrontOfPlayer:: ; background tile number in front of the player (either 1 or 2 steps ahead) ds 1 -wAudioFadeOutControl:: ; cfc7 +wAudioFadeOutControl:: ; The desired fade counter reload value is stored here prior to calling ; PlaySound in order to cause the current music to fade out before the new ; music begins playing. Storing 0 causes no fade out to occur and the new music @@ -1527,13 +1527,13 @@ wAudioFadeOutControl:: ; cfc7 ; audio, it zeroes this variable and starts playing the sound ID stored in it. ds 1 -wAudioFadeOutCounterReloadValue:: ; cfc8 +wAudioFadeOutCounterReloadValue:: ds 1 -wAudioFadeOutCounter:: ; cfc9 +wAudioFadeOutCounter:: ds 1 -wLastMusicSoundID:: ; cfca +wLastMusicSoundID:: ; This is used to determine whether the default music is already playing when ; attempting to play the default music (in order to avoid restarting the same ; music) and whether the music has already been stopped when attempting to @@ -1545,110 +1545,110 @@ wLastMusicSoundID:: ; cfca ; the music). ds 1 -wUpdateSpritesEnabled:: ; cfcb +wUpdateSpritesEnabled:: ; $00 = causes sprites to be hidden and the value to change to $ff ; $01 = enabled ; $ff = disabled ; other values aren't used ds 1 -wEnemyMoveNum:: ; cfcc +wEnemyMoveNum:: ds 1 -wEnemyMoveEffect:: ; cfcd +wEnemyMoveEffect:: ds 1 -wEnemyMovePower:: ; cfce +wEnemyMovePower:: ds 1 -wEnemyMoveType:: ; cfcf +wEnemyMoveType:: ds 1 -wEnemyMoveAccuracy:: ; cfd0 +wEnemyMoveAccuracy:: ds 1 -wEnemyMoveMaxPP:: ; cfd1 +wEnemyMoveMaxPP:: ds 1 -wPlayerMoveNum:: ; cfd2 +wPlayerMoveNum:: ds 1 -wPlayerMoveEffect:: ; cfd3 +wPlayerMoveEffect:: ds 1 -wPlayerMovePower:: ; cfd4 +wPlayerMovePower:: ds 1 -wPlayerMoveType:: ; cfd5 +wPlayerMoveType:: ds 1 -wPlayerMoveAccuracy:: ; cfd6 +wPlayerMoveAccuracy:: ds 1 -wPlayerMoveMaxPP:: ; cfd7 +wPlayerMoveMaxPP:: ds 1 -wEnemyMonSpecies2:: ; cfd8 +wEnemyMonSpecies2:: ds 1 -wBattleMonSpecies2:: ; cfd9 +wBattleMonSpecies2:: ds 1 -wEnemyMonNick:: ds NAME_LENGTH ; cfda +wEnemyMonNick:: ds NAME_LENGTH -wEnemyMon:: battle_struct wEnemyMon ; cfe5 +wEnemyMon:: battle_struct wEnemyMon wEnemyMonBaseStats:: ds 5 wEnemyMonActualCatchRate:: ds 1 wEnemyMonBaseExp:: ds 1 -wBattleMonNick:: ds NAME_LENGTH ; d009 -wBattleMon:: battle_struct wBattleMon ; d014 +wBattleMonNick:: ds NAME_LENGTH +wBattleMon:: battle_struct wBattleMon -wTrainerClass:: ; d031 +wTrainerClass:: ds 1 ds 1 -wTrainerPicPointer:: ; d033 +wTrainerPicPointer:: ds 2 ds 1 -wTempMoveNameBuffer:: ; d036 +wTempMoveNameBuffer:: -wLearnMoveMonName:: ; d036 +wLearnMoveMonName:: ; The name of the mon that is learning a move. ds 16 -wTrainerBaseMoney:: ; d046 +wTrainerBaseMoney:: ; 2-byte BCD number ; money received after battle = base money × level of highest-level enemy mon ds 2 -wMissableObjectCounter:: ; d048 +wMissableObjectCounter:: ds 1 ds 1 -wTrainerName:: ; d04a +wTrainerName:: ; 13 bytes for the letters of the opposing trainer ; the name is terminated with $50 with possible ; unused trailing letters ds 13 -wIsInBattle:: ; d057 +wIsInBattle:: ; lost battle, this is -1 ; no battle, this is 0 ; wild battle, this is 1 ; trainer battle, this is 2 ds 1 -wPartyGainExpFlags:: ; d058 +wPartyGainExpFlags:: ; flags that indicate which party members should be be given exp when GainExperience is called flag_array 6 -wCurOpponent:: ; d059 +wCurOpponent:: ; in a wild battle, this is the species of pokemon ; in a trainer battle, this is the trainer class + OPP_ID_OFFSET ds 1 -wBattleType:: ; d05a +wBattleType:: ; in normal battle, this is 0 ; in old man battle, this is 1 ; in safari battle, this is 2 ds 1 -wDamageMultipliers:: ; d05b +wDamageMultipliers:: ; bits 0-6: Effectiveness ; $0 = immune ; $5 = not very effective @@ -1657,34 +1657,34 @@ wDamageMultipliers:: ; d05b ; bit 7: STAB ds 1 -wLoneAttackNo:: ; d05c +wLoneAttackNo:: ; which entry in LoneAttacks to use -wGymLeaderNo:: ; d05c +wGymLeaderNo:: ; it's actually the same thing as ^ ds 1 -wTrainerNo:: ; d05d +wTrainerNo:: ; which instance of [youngster, lass, etc] is this? ds 1 -wCriticalHitOrOHKO:: ; d05e +wCriticalHitOrOHKO:: ; $00 = normal attack ; $01 = critical hit ; $02 = successful OHKO ; $ff = failed OHKO ds 1 -wMoveMissed:: ; d05f +wMoveMissed:: ds 1 -wPlayerStatsToDouble:: ; d060 +wPlayerStatsToDouble:: ; always 0 ds 1 -wPlayerStatsToHalve:: ; d061 +wPlayerStatsToHalve:: ; always 0 ds 1 -wPlayerBattleStatus1:: ; d062 +wPlayerBattleStatus1:: ; bit 0 - bide ; bit 1 - thrash / petal dance ; bit 2 - attacking multiple times (e.g. double kick) @@ -1695,7 +1695,7 @@ wPlayerBattleStatus1:: ; d062 ; bit 7 - confusion ds 1 -wPlayerBattleStatus2:: ; d063 +wPlayerBattleStatus2:: ; bit 0 - X Accuracy effect ; bit 1 - protected by "mist" ; bit 2 - focus energy effect @@ -1705,69 +1705,69 @@ wPlayerBattleStatus2:: ; d063 ; bit 7 - leech seeded ds 1 -wPlayerBattleStatus3:: ; d064 +wPlayerBattleStatus3:: ; bit 0 - toxic ; bit 1 - light screen ; bit 2 - reflect ; bit 3 - transformed ds 1 -wEnemyStatsToDouble:: ; d065 +wEnemyStatsToDouble:: ; always 0 ds 1 -wEnemyStatsToHalve:: ; d066 +wEnemyStatsToHalve:: ; always 0 ds 1 -wEnemyBattleStatus1:: ; d067 +wEnemyBattleStatus1:: ds 1 -wEnemyBattleStatus2:: ; d068 +wEnemyBattleStatus2:: ds 1 -wEnemyBattleStatus3:: ; d069 +wEnemyBattleStatus3:: ds 1 wPlayerNumAttacksLeft:: ; when the player is attacking multiple times, the number of attacks left ds 1 -wPlayerConfusedCounter:: ; d06b +wPlayerConfusedCounter:: ds 1 -wPlayerToxicCounter:: ; d06c +wPlayerToxicCounter:: ds 1 -wPlayerDisabledMove:: ; d06d +wPlayerDisabledMove:: ; high nibble: which move is disabled (1-4) ; low nibble: disable turns left ds 1 ds 1 -wEnemyNumAttacksLeft:: ; d06f +wEnemyNumAttacksLeft:: ; when the enemy is attacking multiple times, the number of attacks left ds 1 -wEnemyConfusedCounter:: ; d070 +wEnemyConfusedCounter:: ds 1 -wEnemyToxicCounter:: ; d071 +wEnemyToxicCounter:: ds 1 -wEnemyDisabledMove:: ; d072 +wEnemyDisabledMove:: ; high nibble: which move is disabled (1-4) ; low nibble: disable turns left ds 1 ds 1 -wPlayerNumHits:: ; d074 +wPlayerNumHits:: ; number of hits by player in attacks like Double Slap, etc. -wPlayerBideAccumulatedDamage:: ; d074 +wPlayerBideAccumulatedDamage:: ; the amount of damage accumulated by the player while biding (2 bytes) -wUnknownSerialCounter2:: ; d074 +wUnknownSerialCounter2:: ; 2 bytes ds 4 @@ -1776,35 +1776,35 @@ wEscapedFromBattle:: ; non-zero when an item or move that allows escape from battle was used ds 1 -wAmountMoneyWon:: ; d079 +wAmountMoneyWon:: ; 3-byte BCD number -wObjectToHide:: ; d079 +wObjectToHide:: ds 1 -wObjectToShow:: ; d07a +wObjectToShow:: ds 1 ds 1 -wDefaultMap:: ; d07c +wDefaultMap:: ; the map you will start at when the debug bit is set -wMenuItemOffset:: ; d07c +wMenuItemOffset:: -wAnimationID:: ; d07c +wAnimationID:: ; ID number of the current battle animation ds 1 -wNamingScreenType:: ; d07d +wNamingScreenType:: -wPartyMenuTypeOrMessageID:: ; d07d +wPartyMenuTypeOrMessageID:: -wTempTilesetNumTiles:: ; d07d +wTempTilesetNumTiles:: ; temporary storage for the number of tiles in a tileset ds 1 -wSavedListScrollOffset:: ; d07e +wSavedListScrollOffset:: ; used by the pokemart code to save the existing value of wListScrollOffset ; so that it can be restored when the player is done with the pokemart NPC ds 1 @@ -1812,71 +1812,71 @@ wSavedListScrollOffset:: ; d07e ds 2 ; base coordinates of frame block -wBaseCoordX:: ; d081 +wBaseCoordX:: ds 1 -wBaseCoordY:: ; d082 +wBaseCoordY:: ds 1 ; low health alarm counter/enable ; high bit = enable, others = timer to cycle frequencies -wLowHealthAlarm:: ds 1 ; d083 +wLowHealthAlarm:: ds 1 -wFBTileCounter:: ; d084 +wFBTileCounter:: ; counts how many tiles of the current frame block have been drawn ds 1 -wMovingBGTilesCounter2:: ; d085 +wMovingBGTilesCounter2:: ds 1 -wSubAnimFrameDelay:: ; d086 +wSubAnimFrameDelay:: ; duration of each frame of the current subanimation in terms of screen refreshes ds 1 -wSubAnimCounter:: ; d087 +wSubAnimCounter:: ; counts the number of subentries left in the current subanimation ds 1 -wSaveFileStatus:: ; d088 +wSaveFileStatus:: ; 1 = no save file or save file is corrupted ; 2 = save file exists and no corruption has been detected ds 1 -wNumFBTiles:: ; d089 +wNumFBTiles:: ; number of tiles in current battle animation frame block ds 1 -wFlashScreenLongCounter:: ; d08a +wFlashScreenLongCounter:: -wSpiralBallsBaseY:: ; d08a +wSpiralBallsBaseY:: -wFallingObjectMovementByte:: ; d08a +wFallingObjectMovementByte:: ; bits 0-6: index into FallingObjects_DeltaXs array (0 - 8) ; bit 7: direction; 0 = right, 1 = left -wNumShootingBalls:: ; d08a +wNumShootingBalls:: -wTradedMonMovingRight:: ; d08a +wTradedMonMovingRight:: ; $01 if mon is moving from left gameboy to right gameboy; $00 if vice versa -wOptionsInitialized:: ; d08a +wOptionsInitialized:: -wNewSlotMachineBallTile:: ; d08a +wNewSlotMachineBallTile:: -wCoordAdjustmentAmount:: ; d08a +wCoordAdjustmentAmount:: ; how much to add to the X/Y coord -wUnusedD08A:: ; d08a +wUnusedD08A:: ds 1 -wSpiralBallsBaseX:: ; d08b +wSpiralBallsBaseX:: -wNumFallingObjects:: ; d08b +wNumFallingObjects:: -wSlideMonDelay:: ; d08b +wSlideMonDelay:: -wAnimCounter:: ; d08b +wAnimCounter:: ; generic counter variable for various animations -wSubAnimTransform:: ; d08b +wSubAnimTransform:: ; controls what transformations are applied to the subanimation ; 01: flip horizontally and vertically ; 02: flip horizontally and translate downwards 40 pixels @@ -1884,52 +1884,52 @@ wSubAnimTransform:: ; d08b ; 04: reverse the subanimation ds 1 -wEndBattleWinTextPointer:: ; d08c +wEndBattleWinTextPointer:: ds 2 -wEndBattleLoseTextPointer:: ; d08e +wEndBattleLoseTextPointer:: ds 2 ds 2 -wEndBattleTextRomBank:: ; d092 +wEndBattleTextRomBank:: ds 1 ds 1 -wSubAnimAddrPtr:: ; d094 +wSubAnimAddrPtr:: ; the address _of the address_ of the current subanimation entry ds 2 -wSlotMachineAllowMatchesCounter:: ; d096 +wSlotMachineAllowMatchesCounter:: ; If non-zero, the allow matches flag is always set. ; There is a 1/256 (~0.4%) chance that this value will be set to 60, which is ; the only way it can increase. Winning certain payout amounts will decrement it ; or zero it. -wSubAnimSubEntryAddr:: ; d096 +wSubAnimSubEntryAddr:: ; the address of the current subentry of the current subanimation ds 2 ds 2 -wOutwardSpiralTileMapPointer:: ; d09a +wOutwardSpiralTileMapPointer:: ds 1 -wPartyMenuAnimMonEnabled:: ; d09b +wPartyMenuAnimMonEnabled:: -wTownMapSpriteBlinkingEnabled:: ; d09b +wTownMapSpriteBlinkingEnabled:: ; non-zero when enabled. causes nest locations to blink on and off. ; the town selection cursor will blink regardless of what this value is -wUnusedD09B:: ; d09b +wUnusedD09B:: ds 1 -wFBDestAddr:: ; d09c +wFBDestAddr:: ; current destination address in OAM for frame blocks (big endian) ds 2 -wFBMode:: ; d09e +wFBMode:: ; controls how the frame blocks are put together to form frames ; specifically, after finishing drawing the frame block, the frame block's mode determines what happens ; 00: clean OAM buffer and delay @@ -1938,173 +1938,173 @@ wFBMode:: ; d09e ; 04: delay, without cleaning OAM buffer, and do not advance [wFBDestAddr], so that the next frame block will overwrite this one ds 1 -wLinkCableAnimBulgeToggle:: ; d09f +wLinkCableAnimBulgeToggle:: ; 0 = small ; 1 = big -wIntroNidorinoBaseTile:: ; d09f +wIntroNidorinoBaseTile:: -wOutwardSpiralCurrentDirection:: ; d09f +wOutwardSpiralCurrentDirection:: -wDropletTile:: ; d09f +wDropletTile:: -wNewTileBlockID:: ; d09f +wNewTileBlockID:: -wWhichBattleAnimTileset:: ; d09f +wWhichBattleAnimTileset:: -wSquishMonCurrentDirection:: ; d09f +wSquishMonCurrentDirection:: ; 0 = left ; 1 = right -wSlideMonUpBottomRowLeftTile:: ; d09f +wSlideMonUpBottomRowLeftTile:: ; the tile ID of the leftmost tile in the bottom row in AnimationSlideMonUp_ ds 1 wDisableVBlankWYUpdate:: ds 1 ; if non-zero, don't update WY during V-blank -wSpriteCurPosX:: ; d0a1 +wSpriteCurPosX:: ds 1 -wSpriteCurPosY:: ; d0a2 +wSpriteCurPosY:: ds 1 -wSpriteWidth:: ; d0a3 +wSpriteWidth:: ds 1 -wSpriteHeight:: ; d0a4 +wSpriteHeight:: ds 1 -wSpriteInputCurByte:: ; d0a5 +wSpriteInputCurByte:: ; current input byte ds 1 -wSpriteInputBitCounter:: ; d0a6 +wSpriteInputBitCounter:: ; bit offset of last read input bit ds 1 -wSpriteOutputBitOffset:: ; d0a7; determines where in the output byte the two bits are placed. Each byte contains four columns (2bpp data) +wSpriteOutputBitOffset:: ; determines where in the output byte the two bits are placed. Each byte contains four columns (2bpp data) ; 3 -> XX000000 1st column ; 2 -> 00XX0000 2nd column ; 1 -> 0000XX00 3rd column ; 0 -> 000000XX 4th column ds 1 -wSpriteLoadFlags:: ; d0a8 +wSpriteLoadFlags:: ; bit 0 determines used buffer (0 -> $a188, 1 -> $a310) ; bit 1 loading last sprite chunk? (there are at most 2 chunks per load operation) ds 1 -wSpriteUnpackMode:: ; d0a9 +wSpriteUnpackMode:: ds 1 -wSpriteFlipped:: ; d0aa +wSpriteFlipped:: ds 1 -wSpriteInputPtr:: ; d0ab +wSpriteInputPtr:: ; pointer to next input byte ds 2 -wSpriteOutputPtr:: ; d0ad +wSpriteOutputPtr:: ; pointer to current output byte ds 2 -wSpriteOutputPtrCached:: ; d0af +wSpriteOutputPtrCached:: ; used to revert pointer for different bit offsets ds 2 -wSpriteDecodeTable0Ptr:: ; d0b1 +wSpriteDecodeTable0Ptr:: ; pointer to differential decoding table (assuming initial value 0) ds 2 -wSpriteDecodeTable1Ptr:: ; d0b3 +wSpriteDecodeTable1Ptr:: ; pointer to differential decoding table (assuming initial value 1) ds 2 wd0b5:: ds 1 ; used as a temp storage area for Pokemon Species, and other Pokemon/Battle related things -wNameListType:: ; d0b6 +wNameListType:: ds 1 -wPredefBank:: ; d0b7 +wPredefBank:: ds 1 -wMonHeader:: ; d0b8 +wMonHeader:: -wMonHIndex:: ; d0b8 +wMonHIndex:: ; In the ROM base stats data structure, this is the dex number, but it is ; overwritten with the internal index number after the header is copied to WRAM. ds 1 -wMonHBaseStats:: ; d0b9 -wMonHBaseHP:: ; d0b9 +wMonHBaseStats:: +wMonHBaseHP:: ds 1 -wMonHBaseAttack:: ; d0ba +wMonHBaseAttack:: ds 1 -wMonHBaseDefense:: ; d0bb +wMonHBaseDefense:: ds 1 -wMonHBaseSpeed:: ; d0bc +wMonHBaseSpeed:: ds 1 -wMonHBaseSpecial:: ; d0bd +wMonHBaseSpecial:: ds 1 -wMonHTypes:: ; d0be -wMonHType1:: ; d0be +wMonHTypes:: +wMonHType1:: ds 1 -wMonHType2:: ; d0bf +wMonHType2:: ds 1 -wMonHCatchRate:: ; d0c0 +wMonHCatchRate:: ds 1 -wMonHBaseEXP:: ; d0c1 +wMonHBaseEXP:: ds 1 -wMonHSpriteDim:: ; d0c2 +wMonHSpriteDim:: ds 1 -wMonHFrontSprite:: ; d0c3 +wMonHFrontSprite:: ds 2 -wMonHBackSprite:: ; d0c5 +wMonHBackSprite:: ds 2 -wMonHMoves:: ; d0c7 +wMonHMoves:: ds NUM_MOVES -wMonHGrowthRate:: ; d0cb +wMonHGrowthRate:: ds 1 -wMonHLearnset:: ; d0cc +wMonHLearnset:: ; bit field flag_array 50 + 5 ds 1 -wSavedTilesetType:: ; d0d4 +wSavedTilesetType:: ; saved at the start of a battle and then written back at the end of the battle ds 1 ds 2 -wDamage:: ; d0d7 +wDamage:: ds 2 ds 2 -wRepelRemainingSteps:: ; d0db +wRepelRemainingSteps:: ds 1 -wMoves:: ; d0dc +wMoves:: ; list of moves for FormatMovesString ds 4 -wMoveNum:: ; d0e0 +wMoveNum:: ds 1 -wMovesString:: ; d0e1 +wMovesString:: ds 56 -wUnusedD119:: ; d119 +wUnusedD119:: ds 1 -wWalkBikeSurfStateCopy:: ; d11a +wWalkBikeSurfStateCopy:: ; wWalkBikeSurfState is sometimes copied here, but it doesn't seem to be used for anything ds 1 -wInitListType:: ; d11b +wInitListType:: ; the type of list for InitList to init ds 1 -wCapturedMonSpecies:: ; d11c +wCapturedMonSpecies:: ; 0 if no mon was captured ds 1 -wFirstMonsNotOutYet:: ; d11d +wFirstMonsNotOutYet:: ; Non-zero when the first player mon and enemy mon haven't been sent out yet. ; It prevents the game from asking if the player wants to choose another mon ; when the enemy sends out their first mon and suppresses the "no will to fight" @@ -2112,28 +2112,28 @@ wFirstMonsNotOutYet:: ; d11d ; which will be the first mon sent out. ds 1 -wPokeBallCaptureCalcTemp:: ; d11e +wPokeBallCaptureCalcTemp:: ; lower nybble: number of shakes ; upper nybble: number of animations to play -wPokeBallAnimData:: ; d11e +wPokeBallAnimData:: -wUsingPPUp:: ; d11e +wUsingPPUp:: -wMaxPP:: ; d11e +wMaxPP:: ; 0 for player, non-zero for enemy -wCalculateWhoseStats:: ; d11e +wCalculateWhoseStats:: -wTypeEffectiveness:: ; d11e +wTypeEffectiveness:: -wMoveType:: ; d11e +wMoveType:: -wNumSetBits:: ; d11e +wNumSetBits:: wd11e:: ds 1 ; used as a Pokemon and Item storage value. Also used as an output value for CountSetBits -wForcePlayerToChooseMon:: ; d11f +wForcePlayerToChooseMon:: ; When this value is non-zero, the player isn't allowed to exit the party menu ; by pressing B and not choosing a mon. ds 1 @@ -2142,26 +2142,26 @@ wNumRunAttempts:: ; number of times the player has tried to run from battle ds 1 -wEvolutionOccurred:: ; d121 +wEvolutionOccurred:: ds 1 -wVBlankSavedROMBank:: ; d122 +wVBlankSavedROMBank:: ds 1 ds 1 -wIsKeyItem:: ; d124 +wIsKeyItem:: ds 1 -wTextBoxID:: ; d125 +wTextBoxID:: ds 1 wCurrentMapScriptFlags:: ds 1 ; not exactly sure what this is used for, but it seems to be used as a multipurpose temp flag value -wCurEnemyLVL:: ; d127 +wCurEnemyLVL:: ds 1 -wItemListPointer:: ; d128 +wItemListPointer:: ; pointer to list of items terminated by $FF ds 2 @@ -2169,20 +2169,20 @@ wListCount:: ; number of entries in a list ds 1 -wLinkState:: ; d12b +wLinkState:: ds 1 -wTwoOptionMenuID:: ; d12c +wTwoOptionMenuID:: ds 1 -wChosenMenuItem:: ; d12d +wChosenMenuItem:: ; the id of the menu item the player ultimately chose -wOutOfBattleBlackout:: ; d12d +wOutOfBattleBlackout:: ; non-zero when the whole party has fainted due to out-of-battle poison damage ds 1 -wMenuExitMethod:: ; d12e +wMenuExitMethod:: ; the way the user exited a menu ; for list menus and the buy/sell/quit menu: ; $01 = the user pressed A to choose a menu item @@ -2192,147 +2192,147 @@ wMenuExitMethod:: ; d12e ; $02 = the user pressed B or pressed A with the second menu item selected ds 1 -wDungeonWarpDataEntrySize:: ; d12f +wDungeonWarpDataEntrySize:: ; the size is always 6, so they didn't need a variable in RAM for this -wWhichPewterGuy:: ; d12f +wWhichPewterGuy:: ; 0 = museum guy ; 1 = gym guy -wWhichPrizeWindow:: ; d12f +wWhichPrizeWindow:: ; there are 3 windows, from 0 to 2 -wGymGateTileBlock:: ; d12f +wGymGateTileBlock:: ; a horizontal or vertical gate block ds 1 -wSavedSpriteScreenY:: ; d130 +wSavedSpriteScreenY:: ds 1 -wSavedSpriteScreenX:: ; d131 +wSavedSpriteScreenX:: ds 1 -wSavedSpriteMapY:: ; d132 +wSavedSpriteMapY:: ds 1 -wSavedSpriteMapX:: ; d133 +wSavedSpriteMapX:: ds 1 ds 5 -wWhichPrize:: ; d139 +wWhichPrize:: ds 1 -wIgnoreInputCounter:: ; d13a +wIgnoreInputCounter:: ; counts downward each frame ; when it hits 0, bit 5 (ignore input bit) of wd730 is reset ds 1 -wStepCounter:: ; d13b +wStepCounter:: ; counts down once every step ds 1 -wNumberOfNoRandomBattleStepsLeft:: ; d13c +wNumberOfNoRandomBattleStepsLeft:: ; after a battle, you have at least 3 steps before a random battle can occur ds 1 -wPrize1:: ; d13d +wPrize1:: ds 1 -wPrize2:: ; d13e +wPrize2:: ds 1 -wPrize3:: ; d13f +wPrize3:: ds 1 ds 1 -wSerialRandomNumberListBlock:: ; d141 +wSerialRandomNumberListBlock:: ; the first 7 bytes are the preamble -wPrize1Price:: ; d141 +wPrize1Price:: ds 2 -wPrize2Price:: ; d143 +wPrize2Price:: ds 2 -wPrize3Price:: ; d145 +wPrize3Price:: ds 2 ds 1 -wLinkBattleRandomNumberList:: ; d148 +wLinkBattleRandomNumberList:: ; shared list of 9 random numbers, indexed by wLinkBattleRandomNumberListIndex ds 10 -wSerialPlayerDataBlock:: ; d152 +wSerialPlayerDataBlock:: ; the first 6 bytes are the preamble -wPseudoItemID:: ; d152 +wPseudoItemID:: ; When a real item is being used, this is 0. ; When a move is acting as an item, this is the ID of the item it's acting as. ; For example, out-of-battle Dig is executed using a fake Escape Rope item. In ; that case, this would be ESCAPE_ROPE. ds 1 -wUnusedD153:: ; d153 +wUnusedD153:: ds 1 ds 2 -wEvoStoneItemID:: ; d156 +wEvoStoneItemID:: ds 1 -wSavedNPCMovementDirections2Index:: ; d157 +wSavedNPCMovementDirections2Index:: ds 1 -wPlayerName:: ; d158 +wPlayerName:: ds NAME_LENGTH wPartyDataStart:: -wPartyCount:: ds 1 ; d163 -wPartySpecies:: ds PARTY_LENGTH ; d164 -wPartyEnd:: ds 1 ; d16a +wPartyCount:: ds 1 +wPartySpecies:: ds PARTY_LENGTH +wPartyEnd:: ds 1 wPartyMons:: -wPartyMon1:: party_struct wPartyMon1 ; d16b -wPartyMon2:: party_struct wPartyMon2 ; d197 -wPartyMon3:: party_struct wPartyMon3 ; d1c3 -wPartyMon4:: party_struct wPartyMon4 ; d1ef -wPartyMon5:: party_struct wPartyMon5 ; d21b -wPartyMon6:: party_struct wPartyMon6 ; d247 +wPartyMon1:: party_struct wPartyMon1 +wPartyMon2:: party_struct wPartyMon2 +wPartyMon3:: party_struct wPartyMon3 +wPartyMon4:: party_struct wPartyMon4 +wPartyMon5:: party_struct wPartyMon5 +wPartyMon6:: party_struct wPartyMon6 -wPartyMonOT:: ds NAME_LENGTH * PARTY_LENGTH ; d273 -wPartyMonNicks:: ds NAME_LENGTH * PARTY_LENGTH ; d2b5 +wPartyMonOT:: ds NAME_LENGTH * PARTY_LENGTH +wPartyMonNicks:: ds NAME_LENGTH * PARTY_LENGTH wPartyDataEnd:: wMainDataStart:: -wPokedexOwned:: ; d2f7 +wPokedexOwned:: flag_array NUM_POKEMON wPokedexOwnedEnd:: -wPokedexSeen:: ; d30a +wPokedexSeen:: flag_array NUM_POKEMON wPokedexSeenEnd:: -wNumBagItems:: ; d31d +wNumBagItems:: ds 1 -wBagItems:: ; d31e +wBagItems:: ; item, quantity ds BAG_ITEM_CAPACITY * 2 ds 1 ; end -wPlayerMoney:: ; d347 +wPlayerMoney:: ds 3 ; BCD -wRivalName:: ; d34a +wRivalName:: ds NAME_LENGTH -wOptions:: ; d355 +wOptions:: ; bit 7 = battle animation ; 0: On ; 1: Off @@ -2345,316 +2345,316 @@ wOptions:: ; d355 ; 5: Slow ds 1 -wObtainedBadges:: ; d356 +wObtainedBadges:: flag_array 8 ds 1 -wLetterPrintingDelayFlags:: ; d358 +wLetterPrintingDelayFlags:: ; bit 0: If 0, limit the delay to 1 frame. Note that this has no effect if ; the delay has been disabled entirely through bit 1 of this variable ; or bit 6 of wd730. ; bit 1: If 0, no delay. ds 1 -wPlayerID:: ; d359 +wPlayerID:: ds 2 -wMapMusicSoundID:: ; d35b +wMapMusicSoundID:: ds 1 -wMapMusicROMBank:: ; d35c +wMapMusicROMBank:: ds 1 -wMapPalOffset:: ; d35d +wMapPalOffset:: ; offset subtracted from FadePal4 to get the background and object palettes for the current map ; normally, it is 0. it is 6 when Flash is needed, causing FadePal2 to be used instead of FadePal4 ds 1 -wCurMap:: ; d35e +wCurMap:: ds 1 -wCurrentTileBlockMapViewPointer:: ; d35f +wCurrentTileBlockMapViewPointer:: ; pointer to the upper left corner of the current view in the tile block map ds 2 -wYCoord:: ; d361 +wYCoord:: ; player’s position on the current map ds 1 -wXCoord:: ; d362 +wXCoord:: ds 1 -wYBlockCoord:: ; d363 +wYBlockCoord:: ; player's y position (by block) ds 1 -wXBlockCoord:: ; d364 +wXBlockCoord:: ds 1 -wLastMap:: ; d365 +wLastMap:: ds 1 -wUnusedD366:: ; d366 +wUnusedD366:: ds 1 -wCurMapTileset:: ; d367 +wCurMapTileset:: ds 1 -wCurMapHeight:: ; d368 +wCurMapHeight:: ; blocks ds 1 -wCurMapWidth:: ; d369 +wCurMapWidth:: ; blocks ds 1 -wMapDataPtr:: ; d36a +wMapDataPtr:: ds 2 -wMapTextPtr:: ; d36c +wMapTextPtr:: ds 2 -wMapScriptPtr:: ; d36e +wMapScriptPtr:: ds 2 -wMapConnections:: ; d370 +wMapConnections:: ; connection byte ds 1 -wMapConn1Ptr:: ; d371 +wMapConn1Ptr:: ds 1 -wNorthConnectionStripSrc:: ; d372 +wNorthConnectionStripSrc:: ds 2 -wNorthConnectionStripDest:: ; d374 +wNorthConnectionStripDest:: ds 2 -wNorthConnectionStripWidth:: ; d376 +wNorthConnectionStripWidth:: ds 1 -wNorthConnectedMapWidth:: ; d377 +wNorthConnectedMapWidth:: ds 1 -wNorthConnectedMapYAlignment:: ; d378 +wNorthConnectedMapYAlignment:: ds 1 -wNorthConnectedMapXAlignment:: ; d379 +wNorthConnectedMapXAlignment:: ds 1 -wNorthConnectedMapViewPointer:: ; d37a +wNorthConnectedMapViewPointer:: ds 2 -wMapConn2Ptr:: ; d37c +wMapConn2Ptr:: ds 1 -wSouthConnectionStripSrc:: ; d37d +wSouthConnectionStripSrc:: ds 2 -wSouthConnectionStripDest:: ; d37f: +wSouthConnectionStripDest:: ds 2 -wSouthConnectionStripWidth:: ; d381 +wSouthConnectionStripWidth:: ds 1 -wSouthConnectedMapWidth:: ; d382 +wSouthConnectedMapWidth:: ds 1 -wSouthConnectedMapYAlignment:: ; d383 +wSouthConnectedMapYAlignment:: ds 1 -wSouthConnectedMapXAlignment:: ; d384 +wSouthConnectedMapXAlignment:: ds 1 -wSouthConnectedMapViewPointer:: ; d385 +wSouthConnectedMapViewPointer:: ds 2 -wMapConn3Ptr:: ; d387 +wMapConn3Ptr:: ds 1 -wWestConnectionStripSrc:: ; d388 +wWestConnectionStripSrc:: ds 2 -wWestConnectionStripDest:: ; d38a +wWestConnectionStripDest:: ds 2 -wWestConnectionStripHeight:: ; d38c +wWestConnectionStripHeight:: ds 1 -wWestConnectedMapWidth:: ; d38d +wWestConnectedMapWidth:: ds 1 -wWestConnectedMapYAlignment:: ; d38e +wWestConnectedMapYAlignment:: ds 1 -wWestConnectedMapXAlignment:: ; d38f +wWestConnectedMapXAlignment:: ds 1 -wWestConnectedMapViewPointer:: ; d390 +wWestConnectedMapViewPointer:: ds 2 -wMapConn4Ptr:: ; d392 +wMapConn4Ptr:: ds 1 -wEastConnectionStripSrc:: ; d393 +wEastConnectionStripSrc:: ds 2 -wEastConnectionStripDest:: ; d395 +wEastConnectionStripDest:: ds 2 -wEastConnectionStripHeight:: ; d397 +wEastConnectionStripHeight:: ds 1 -wEastConnectedMapWidth:: ; d398 +wEastConnectedMapWidth:: ds 1 -wEastConnectedMapYAlignment:: ; d399 +wEastConnectedMapYAlignment:: ds 1 -wEastConnectedMapXAlignment:: ; d39a +wEastConnectedMapXAlignment:: ds 1 -wEastConnectedMapViewPointer:: ; d39b +wEastConnectedMapViewPointer:: ds 2 -wSpriteSet:: ; d39d +wSpriteSet:: ; sprite set for the current map (11 sprite picture ID's) ds 11 -wSpriteSetID:: ; d3a8 +wSpriteSetID:: ; sprite set ID for the current map ds 1 -wObjectDataPointerTemp:: ; d3a9 +wObjectDataPointerTemp:: ds 2 ds 2 -wMapBackgroundTile:: ; d3ad +wMapBackgroundTile:: ; the tile shown outside the boundaries of the map ds 1 -wNumberOfWarps:: ; d3ae +wNumberOfWarps:: ; number of warps in current map ds 1 -wWarpEntries:: ; d3af +wWarpEntries:: ; current map warp entries ds 128 -wDestinationWarpID:: ; d42f +wDestinationWarpID:: ; if $ff, the player's coordinates are not updated when entering the map ds 1 ds 128 -wNumSigns:: ; d4b0 +wNumSigns:: ; number of signs in the current map (up to 16) ds 1 -wSignCoords:: ; d4b1 +wSignCoords:: ; 2 bytes each ; Y, X ds 32 -wSignTextIDs:: ; d4d1 +wSignTextIDs:: ds 16 -wNumSprites:: ; d4e1 +wNumSprites:: ; number of sprites on the current map ds 1 ; these two variables track the X and Y offset in blocks from the last special warp used ; they don't seem to be used for anything -wYOffsetSinceLastSpecialWarp:: ; d4e2 +wYOffsetSinceLastSpecialWarp:: ds 1 -wXOffsetSinceLastSpecialWarp:: ; d4e3 +wXOffsetSinceLastSpecialWarp:: ds 1 -wMapSpriteData:: ; d4e4 +wMapSpriteData:: ; two bytes per sprite (movement byte 2, text ID) ds 32 -wMapSpriteExtraData:: ; d504 +wMapSpriteExtraData:: ; two bytes per sprite (trainer class/item ID, trainer set ID) ds 32 -wCurrentMapHeight2:: ; d524 +wCurrentMapHeight2:: ; map height in 2x2 meta-tiles ds 1 -wCurrentMapWidth2:: ; d525 +wCurrentMapWidth2:: ; map width in 2x2 meta-tiles ds 1 -wMapViewVRAMPointer:: ; d526 +wMapViewVRAMPointer:: ; the address of the upper left corner of the visible portion of the BG tile map in VRAM ds 2 ; In the comments for the player direction variables below, "moving" refers to ; both walking and changing facing direction without taking a step. -wPlayerMovingDirection:: ; d528 +wPlayerMovingDirection:: ; if the player is moving, the current direction ; if the player is not moving, zero ; map scripts write to this in order to change the player's facing direction ds 1 -wPlayerLastStopDirection:: ; d529 +wPlayerLastStopDirection:: ; the direction in which the player was moving before the player last stopped ds 1 -wPlayerDirection:: ; d52a +wPlayerDirection:: ; if the player is moving, the current direction ; if the player is not moving, the last the direction in which the player moved ds 1 -wTilesetBank:: ; d52b +wTilesetBank:: ds 1 -wTilesetBlocksPtr:: ; d52c +wTilesetBlocksPtr:: ; maps blocks (4x4 tiles) to tiles ds 2 -wTilesetGfxPtr:: ; d52e +wTilesetGfxPtr:: ds 2 -wTilesetCollisionPtr:: ; d530 +wTilesetCollisionPtr:: ; list of all walkable tiles ds 2 -wTilesetTalkingOverTiles:: ; d532 +wTilesetTalkingOverTiles:: ds 3 -wGrassTile:: ; d535 +wGrassTile:: ds 1 ds 4 -wNumBoxItems:: ; d53a +wNumBoxItems:: ds 1 -wBoxItems:: ; d53b +wBoxItems:: ; item, quantity ds PC_ITEM_CAPACITY * 2 ds 1 ; end -wCurrentBoxNum:: ; d5a0 +wCurrentBoxNum:: ; bits 0-6: box number ; bit 7: whether the player has changed boxes before ds 2 -wNumHoFTeams:: ; d5a2 +wNumHoFTeams:: ; number of HOF teams ds 1 -wUnusedD5A3:: ; d5a3 +wUnusedD5A3:: ds 1 -wPlayerCoins:: ; d5a4 +wPlayerCoins:: ds 2 ; BCD -wMissableObjectFlags:: ; d5a6 +wMissableObjectFlags:: ; bit array of missable objects. set = removed ds 32 wMissableObjectFlagsEnd:: @@ -2663,221 +2663,221 @@ wMissableObjectFlagsEnd:: wd5cd:: ds 1 ; temp copy of c1x2 (sprite facing/anim) -wMissableObjectList:: ; d5ce +wMissableObjectList:: ; each entry consists of 2 bytes ; * the sprite ID (depending on the current map) ; * the missable object index (global, used for wMissableObjectFlags) ; terminated with $FF ds 17 * 2 -wGameProgressFlags:: ; d5f0 +wGameProgressFlags:: ; $c8 bytes -wOaksLabCurScript:: ; d5f0 +wOaksLabCurScript:: ds 1 -wPalletTownCurScript:: ; d5f1 +wPalletTownCurScript:: ds 1 ds 1 -wBluesHouseCurScript:: ; d5f3 +wBluesHouseCurScript:: ds 1 -wViridianCityCurScript:: ; d5f4 +wViridianCityCurScript:: ds 1 ds 2 -wPewterCityCurScript:: ; d5f7 +wPewterCityCurScript:: ds 1 -wRoute3CurScript:: ; d5f8 +wRoute3CurScript:: ds 1 -wRoute4CurScript:: ; d5f9 +wRoute4CurScript:: ds 1 ds 1 -wViridianGymCurScript:: ; d5fb +wViridianGymCurScript:: ds 1 -wPewterGymCurScript:: ; d5fc +wPewterGymCurScript:: ds 1 -wCeruleanGymCurScript:: ; d5fd +wCeruleanGymCurScript:: ds 1 -wVermilionGymCurScript:: ; d5fe +wVermilionGymCurScript:: ds 1 -wCeladonGymCurScript:: ; d5ff +wCeladonGymCurScript:: ds 1 -wRoute6CurScript:: ; d600 +wRoute6CurScript:: ds 1 -wRoute8CurScript:: ; d601 +wRoute8CurScript:: ds 1 -wRoute24CurScript:: ; d602 +wRoute24CurScript:: ds 1 -wRoute25CurScript:: ; d603 +wRoute25CurScript:: ds 1 -wRoute9CurScript:: ; d604 +wRoute9CurScript:: ds 1 -wRoute10CurScript:: ; d605 +wRoute10CurScript:: ds 1 -wMtMoon1FCurScript:: ; d606 +wMtMoon1FCurScript:: ds 1 -wMtMoonB2FCurScript:: ; d607 +wMtMoonB2FCurScript:: ds 1 -wSSAnne1FRoomsCurScript:: ; d608 +wSSAnne1FRoomsCurScript:: ds 1 -wSSAnne2FRoomsCurScript:: ; d609 +wSSAnne2FRoomsCurScript:: ds 1 -wRoute22CurScript:: ; d60a +wRoute22CurScript:: ds 1 ds 1 -wRedsHouse2FCurScript:: ; d60c +wRedsHouse2FCurScript:: ds 1 -wViridianMartCurScript:: ; d60d +wViridianMartCurScript:: ds 1 -wRoute22GateCurScript:: ; d60e +wRoute22GateCurScript:: ds 1 -wCeruleanCityCurScript:: ; d60f +wCeruleanCityCurScript:: ds 1 ds 7 -wSSAnneBowCurScript:: ; d617 +wSSAnneBowCurScript:: ds 1 -wViridianForestCurScript:: ; d618 +wViridianForestCurScript:: ds 1 -wMuseum1FCurScript:: ; d619 +wMuseum1FCurScript:: ds 1 -wRoute13CurScript:: ; d61a +wRoute13CurScript:: ds 1 -wRoute14CurScript:: ; d61b +wRoute14CurScript:: ds 1 -wRoute17CurScript:: ; d61c +wRoute17CurScript:: ds 1 -wRoute19CurScript:: ; d61d +wRoute19CurScript:: ds 1 -wRoute21CurScript:: ; d61e +wRoute21CurScript:: ds 1 -wSafariZoneGateCurScript:: ; d61f +wSafariZoneGateCurScript:: ds 1 -wRockTunnelB1FCurScript:: ; d620 +wRockTunnelB1FCurScript:: ds 1 -wRockTunnel1FCurScript:: ; d621 +wRockTunnel1FCurScript:: ds 1 ds 1 -wRoute11CurScript:: ; d623 +wRoute11CurScript:: ds 1 -wRoute12CurScript:: ; d624 +wRoute12CurScript:: ds 1 -wRoute15CurScript:: ; d625 +wRoute15CurScript:: ds 1 -wRoute16CurScript:: ; d626 +wRoute16CurScript:: ds 1 -wRoute18CurScript:: ; d627 +wRoute18CurScript:: ds 1 -wRoute20CurScript:: ; d628 +wRoute20CurScript:: ds 1 -wSSAnneB1FRoomsCurScript:: ; d629 +wSSAnneB1FRoomsCurScript:: ds 1 -wVermilionCityCurScript:: ; d62a +wVermilionCityCurScript:: ds 1 -wPokemonTower2FCurScript:: ; d62b +wPokemonTower2FCurScript:: ds 1 -wPokemonTower3FCurScript:: ; d62c +wPokemonTower3FCurScript:: ds 1 -wPokemonTower4FCurScript:: ; d62d +wPokemonTower4FCurScript:: ds 1 -wPokemonTower5FCurScript:: ; d62e +wPokemonTower5FCurScript:: ds 1 -wPokemonTower6FCurScript:: ; d62f +wPokemonTower6FCurScript:: ds 1 -wPokemonTower7FCurScript:: ; d630 +wPokemonTower7FCurScript:: ds 1 -wRocketHideoutB1FCurScript:: ; d631 +wRocketHideoutB1FCurScript:: ds 1 -wRocketHideoutB2FCurScript:: ; d632 +wRocketHideoutB2FCurScript:: ds 1 -wRocketHideoutB3FCurScript:: ; d633 +wRocketHideoutB3FCurScript:: ds 1 -wRocketHideoutB4FCurScript:: ; d634 +wRocketHideoutB4FCurScript:: ds 2 -wRoute6GateCurScript:: ; d636 +wRoute6GateCurScript:: ds 1 -wRoute8GateCurScript:: ; d637 +wRoute8GateCurScript:: ds 2 -wCinnabarIslandCurScript:: ; d639 +wCinnabarIslandCurScript:: ds 1 -wPokemonMansion1FCurScript:: ; d63a +wPokemonMansion1FCurScript:: ds 2 -wPokemonMansion2FCurScript:: ; d63c +wPokemonMansion2FCurScript:: ds 1 -wPokemonMansion3FCurScript:: ; d63d +wPokemonMansion3FCurScript:: ds 1 -wPokemonMansionB1FCurScript:: ; d63e +wPokemonMansionB1FCurScript:: ds 1 -wVictoryRoad2FCurScript:: ; d63f +wVictoryRoad2FCurScript:: ds 1 -wVictoryRoad3FCurScript:: ; d640 +wVictoryRoad3FCurScript:: ds 2 -wFightingDojoCurScript:: ; d642 +wFightingDojoCurScript:: ds 1 -wSilphCo2FCurScript:: ; d643 +wSilphCo2FCurScript:: ds 1 -wSilphCo3FCurScript:: ; d644 +wSilphCo3FCurScript:: ds 1 -wSilphCo4FCurScript:: ; d645 +wSilphCo4FCurScript:: ds 1 -wSilphCo5FCurScript:: ; d646 +wSilphCo5FCurScript:: ds 1 -wSilphCo6FCurScript:: ; d647 +wSilphCo6FCurScript:: ds 1 -wSilphCo7FCurScript:: ; d648 +wSilphCo7FCurScript:: ds 1 -wSilphCo8FCurScript:: ; d649 +wSilphCo8FCurScript:: ds 1 -wSilphCo9FCurScript:: ; d64a +wSilphCo9FCurScript:: ds 1 -wHallOfFameCurScript:: ; d64b +wHallOfFameCurScript:: ds 1 -wChampionsRoomCurScript:: ; d64c +wChampionsRoomCurScript:: ds 1 -wLoreleisRoomCurScript:: ; d64d +wLoreleisRoomCurScript:: ds 1 -wBrunosRoomCurScript:: ; d64e +wBrunosRoomCurScript:: ds 1 -wAgathasRoomCurScript:: ; d64f +wAgathasRoomCurScript:: ds 1 -wCeruleanCaveB1FCurScript:: ; d650 +wCeruleanCaveB1FCurScript:: ds 1 -wVictoryRoad1FCurScript:: ; d651 +wVictoryRoad1FCurScript:: ds 1 ds 1 -wLancesRoomCurScript:: ; d653 +wLancesRoomCurScript:: ds 1 ds 4 -wSilphCo10FCurScript:: ; d658 +wSilphCo10FCurScript:: ds 1 -wSilphCo11FCurScript:: ; d659 +wSilphCo11FCurScript:: ds 1 ds 1 -wFuchsiaGymCurScript:: ; d65b +wFuchsiaGymCurScript:: ds 1 -wSaffronGymCurScript:: ; d65c +wSaffronGymCurScript:: ds 1 ds 1 -wCinnabarGymCurScript:: ; d65e +wCinnabarGymCurScript:: ds 1 -wGameCornerCurScript:: ; d65f +wGameCornerCurScript:: ds 1 -wRoute16Gate1FCurScript:: ; d660 +wRoute16Gate1FCurScript:: ds 1 -wBillsHouseCurScript:: ; d661 +wBillsHouseCurScript:: ds 1 -wRoute5GateCurScript:: ; d662 +wRoute5GateCurScript:: ds 1 -wPowerPlantCurScript:: ; d663 -wRoute7GateCurScript:: ; d663 +wPowerPlantCurScript:: +wRoute7GateCurScript:: ; overload ds 1 ds 1 -wSSAnne2FCurScript:: ; d665 +wSSAnne2FCurScript:: ds 1 -wSeafoamIslandsB3FCurScript:: ; d666 +wSeafoamIslandsB3FCurScript:: ds 1 -wRoute23CurScript:: ; d667 +wRoute23CurScript:: ds 1 -wSeafoamIslandsB4FCurScript:: ; d668 +wSeafoamIslandsB4FCurScript:: ds 1 -wRoute18Gate1FCurScript:: ; d669 +wRoute18Gate1FCurScript:: ds 1 ds 78 @@ -2891,7 +2891,7 @@ wObtainedHiddenItemsFlags:: wObtainedHiddenCoinsFlags:: ds 2 -wWalkBikeSurfState:: ; d700 +wWalkBikeSurfState:: ; $00 = walking ; $01 = biking ; $02 = surfing @@ -2899,71 +2899,71 @@ wWalkBikeSurfState:: ; d700 ds 10 -wTownVisitedFlag:: ; d70b +wTownVisitedFlag:: flag_array 13 -wSafariSteps:: ; d70d +wSafariSteps:: ; starts at 502 ds 2 -wFossilItem:: ; d70f +wFossilItem:: ; item given to cinnabar lab ds 1 -wFossilMon:: ; d710 +wFossilMon:: ; mon that will result from the item ds 1 ds 2 -wEnemyMonOrTrainerClass:: ; d713 +wEnemyMonOrTrainerClass:: ; trainer classes start at OPP_ID_OFFSET ds 1 -wPlayerJumpingYScreenCoordsIndex:: ; d714 +wPlayerJumpingYScreenCoordsIndex:: ds 1 -wRivalStarter:: ; d715 +wRivalStarter:: ds 1 ds 1 -wPlayerStarter:: ; d717 +wPlayerStarter:: ds 1 -wBoulderSpriteIndex:: ; d718 +wBoulderSpriteIndex:: ; sprite index of the boulder the player is trying to push ds 1 -wLastBlackoutMap:: ; d719 +wLastBlackoutMap:: ds 1 -wDestinationMap:: ; d71a +wDestinationMap:: ; destination map (for certain types of special warps, not ordinary walking) ds 1 -wUnusedD71B:: ; d71b +wUnusedD71B:: ds 1 -wTileInFrontOfBoulderAndBoulderCollisionResult:: ; d71c +wTileInFrontOfBoulderAndBoulderCollisionResult:: ; used to store the tile in front of the boulder when trying to push a boulder ; also used to store the result of the collision check ($ff for a collision and $00 for no collision) ds 1 -wDungeonWarpDestinationMap:: ; d71d +wDungeonWarpDestinationMap:: ; destination map for dungeon warps ds 1 -wWhichDungeonWarp:: ; d71e +wWhichDungeonWarp:: ; which dungeon warp within the source map was used ds 1 -wUnusedD71F:: ; d71f +wUnusedD71F:: ds 1 ds 8 -wd728:: ; d728 +wd728:: ; bit 0: using Strength outside of battle ; bit 1: set by IsSurfingAllowed when surfing's allowed, but the caller resets it after checking the result ; bit 3: received Old Rod @@ -2975,19 +2975,19 @@ wd728:: ; d728 ds 1 -wBeatGymFlags:: ; d72a +wBeatGymFlags:: ; redundant because it matches wObtainedBadges ; used to determine whether to show name on statue and in two NPC text scripts ds 1 ds 1 -wd72c:: ; d72c +wd72c:: ; bit 0: if not set, the 3 minimum steps between random battles have passed ; bit 1: prevent audio fade out ds 1 -wd72d:: ; d72d +wd72d:: ; This variable is used for temporary flags and as the destination map when ; warping to the Trade Center or Colosseum. ; bit 0: sprite facing directions have been initialised in the Trade Center @@ -3000,7 +3000,7 @@ wd72d:: ; d72d ; battles anyway). ds 1 -wd72e:: ; d72e +wd72e:: ; bit 0: the player has received Lapras in the Silph Co. building ; bit 1: set in various places, but doesn't appear to have an effect ; bit 2: the player has healed pokemon at a pokemon center at least once @@ -3013,7 +3013,7 @@ wd72e:: ; d72e ds 1 -wd730:: ; d730 +wd730:: ; bit 0: NPC sprite being moved by script ; bit 5: ignore joypad input ; bit 6: print text with no delay between each letter @@ -3022,7 +3022,7 @@ wd730:: ; d730 ds 1 -wd732:: ; d732 +wd732:: ; bit 0: play time being counted ; bit 1: remnant of debug mode? not set by the game code. ; if it is set @@ -3036,7 +3036,7 @@ wd732:: ; d732 ; bit 6: map destination is [wLastBlackoutMap] (usually the last used pokemon center, but could be the player's house) ds 1 -wFlags_D733:: ; d733 +wFlags_D733:: ; bit 0: running a test battle ; bit 1: prevent music from changing when entering new map ; bit 2: skip the joypad check in CheckWarpsNoCollision (used for the forced warp down the waterfall in the Seafoam Islands) @@ -3045,12 +3045,12 @@ wFlags_D733:: ; d733 ; bit 7: used fly out of battle ds 1 -wBeatLorelei:: ; d734 +wBeatLorelei:: ; bit 1: set when you beat Lorelei and reset in Indigo Plateau lobby ; the game uses this to tell when Elite 4 events need to be reset ds 2 -wd736:: ; d736 +wd736:: ; bit 0: check if the player is standing on a door and make him walk down a step if so ; bit 1: the player is currently stepping down from a door ; bit 2: standing on a warp @@ -3058,63 +3058,63 @@ wd736:: ; d736 ; bit 7: player sprite spinning due to spin tiles (Rocket hideout / Viridian Gym) ds 1 -wCompletedInGameTradeFlags:: ; d737 +wCompletedInGameTradeFlags:: ds 2 ds 2 -wWarpedFromWhichWarp:: ; d73b +wWarpedFromWhichWarp:: ds 1 -wWarpedFromWhichMap:: ; d73c +wWarpedFromWhichMap:: ds 1 ds 2 -wCardKeyDoorY:: ; d73f +wCardKeyDoorY:: ds 1 -wCardKeyDoorX:: ; d740 +wCardKeyDoorX:: ds 1 ds 2 -wFirstLockTrashCanIndex:: ; d743 +wFirstLockTrashCanIndex:: ds 1 -wSecondLockTrashCanIndex:: ; d744 +wSecondLockTrashCanIndex:: ds 1 ds 2 -wEventFlags:: ; d747 +wEventFlags:: ds 320 -wLinkEnemyTrainerName:: ; d887 +wLinkEnemyTrainerName:: ; linked game's trainer name -wGrassRate:: ; d887 +wGrassRate:: ds 1 -wGrassMons:: ; d888 +wGrassMons:: ;ds 20 ds 11 ; Overload wGrassMons -wSerialEnemyDataBlock:: ; d893 +wSerialEnemyDataBlock:: ds 9 -wEnemyPartyCount:: ds 1 ; d89c -wEnemyPartyMons:: ds PARTY_LENGTH + 1 ; d89d +wEnemyPartyCount:: ds 1 +wEnemyPartyMons:: ds PARTY_LENGTH + 1 ; Overload enemy party data UNION -wWaterRate:: db ; d8a4 -wWaterMons:: db ; d8a5 +wWaterRate:: db +wWaterMons:: db NEXTU -wEnemyMons:: ; d8a4 +wEnemyMons:: wEnemyMon1:: party_struct wEnemyMon1 wEnemyMon2:: party_struct wEnemyMon2 wEnemyMon3:: party_struct wEnemyMon3 @@ -3122,81 +3122,80 @@ wEnemyMon4:: party_struct wEnemyMon4 wEnemyMon5:: party_struct wEnemyMon5 wEnemyMon6:: party_struct wEnemyMon6 -wEnemyMonOT:: ds NAME_LENGTH * PARTY_LENGTH ; d9ac -wEnemyMonNicks:: ds NAME_LENGTH * PARTY_LENGTH ; d9ee +wEnemyMonOT:: ds NAME_LENGTH * PARTY_LENGTH +wEnemyMonNicks:: ds NAME_LENGTH * PARTY_LENGTH ENDU -wTrainerHeaderPtr:: ; da30 +wTrainerHeaderPtr:: ds 2 ds 6 -wOpponentAfterWrongAnswer:: ; da38 +wOpponentAfterWrongAnswer:: ; the trainer the player must face after getting a wrong answer in the Cinnabar ; gym quiz -wUnusedDA38:: ; da38 +wUnusedDA38:: ds 1 -wCurMapScript:: ; da39 +wCurMapScript:: ; index of current map script, mostly used as index for function pointer array ; mostly copied from map-specific map script pointer and written back later ds 1 ds 7 -wPlayTimeHours:: ; da41 +wPlayTimeHours:: ds 1 -wPlayTimeMaxed:: ; da42 +wPlayTimeMaxed:: ds 1 -wPlayTimeMinutes:: ; da43 +wPlayTimeMinutes:: ds 1 -wPlayTimeSeconds:: ; da44 +wPlayTimeSeconds:: ds 1 -wPlayTimeFrames:: ; da45 +wPlayTimeFrames:: ds 1 -wSafariZoneGameOver:: ; da46 +wSafariZoneGameOver:: ds 1 -wNumSafariBalls:: ; da47 +wNumSafariBalls:: ds 1 -wDayCareInUse:: ; da48 +wDayCareInUse:: ; 0 if no pokemon is in the daycare ; 1 if pokemon is in the daycare ds 1 -wDayCareMonName:: ds NAME_LENGTH ; da49 -wDayCareMonOT:: ds NAME_LENGTH ; da54 +wDayCareMonName:: ds NAME_LENGTH +wDayCareMonOT:: ds NAME_LENGTH -wDayCareMon:: box_struct wDayCareMon ; da5f +wDayCareMon:: box_struct wDayCareMon wMainDataEnd:: wBoxDataStart:: -wNumInBox:: ds 1 ; da80 +wNumInBox:: ds 1 wBoxSpecies:: ds MONS_PER_BOX + 1 wBoxMons:: -wBoxMon1:: box_struct wBoxMon1 ; da96 -wBoxMon2:: ds box_struct_length * (MONS_PER_BOX + -1) ; dab7 +wBoxMon1:: box_struct wBoxMon1 +wBoxMon2:: ds box_struct_length * (MONS_PER_BOX + -1) -wBoxMonOT:: ds NAME_LENGTH * MONS_PER_BOX ; dd2a -wBoxMonNicks:: ds NAME_LENGTH * MONS_PER_BOX ; de06 -wBoxMonNicksEnd:: ; dee2 +wBoxMonOT:: ds NAME_LENGTH * MONS_PER_BOX +wBoxMonNicks:: ds NAME_LENGTH * MONS_PER_BOX +wBoxMonNicksEnd:: wBoxDataEnd:: -; dee2 SECTION "Stack", WRAM0 -wStack:: ; dfff +wStack:: INCLUDE "sram.asm" -- cgit v1.2.3 From e71e28a1eef5f09dd2dfe060cacd4b1eae123529 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sat, 27 Jun 2020 23:40:23 -0400 Subject: Add original Red/Green tileset graphics which differ from Red/Blue MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This is just for convenience, like the Red/Green Pokémon front sprites. --- gfx/tilesets/tilesets_rg/flower.png | Bin 0 -> 108 bytes gfx/tilesets/tilesets_rg/forest.png | Bin 0 -> 1416 bytes gfx/tilesets/tilesets_rg/overworld.png | Bin 0 -> 1288 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 gfx/tilesets/tilesets_rg/flower.png create mode 100644 gfx/tilesets/tilesets_rg/forest.png create mode 100644 gfx/tilesets/tilesets_rg/overworld.png diff --git a/gfx/tilesets/tilesets_rg/flower.png b/gfx/tilesets/tilesets_rg/flower.png new file mode 100644 index 00000000..bb54085a Binary files /dev/null and b/gfx/tilesets/tilesets_rg/flower.png differ diff --git a/gfx/tilesets/tilesets_rg/forest.png b/gfx/tilesets/tilesets_rg/forest.png new file mode 100644 index 00000000..bd01b7cf Binary files /dev/null and b/gfx/tilesets/tilesets_rg/forest.png differ diff --git a/gfx/tilesets/tilesets_rg/overworld.png b/gfx/tilesets/tilesets_rg/overworld.png new file mode 100644 index 00000000..009c1359 Binary files /dev/null and b/gfx/tilesets/tilesets_rg/overworld.png differ -- cgit v1.2.3 From 2ebbb0d95eead4f40ec0bb7e9edd19526c2b2f3a Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 28 Jun 2020 00:17:10 -0400 Subject: Add original Red/Green SGB border and slot machine graphics --- gfx/sgb/green_border.png | Bin 0 -> 1051 bytes gfx/sgb/green_border.tilemap | Bin 0 -> 1792 bytes gfx/slots/green_slots_1.png | Bin 0 -> 461 bytes gfx/slots/green_slots_2.png | Bin 0 -> 308 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 gfx/sgb/green_border.png create mode 100644 gfx/sgb/green_border.tilemap create mode 100644 gfx/slots/green_slots_1.png create mode 100644 gfx/slots/green_slots_2.png diff --git a/gfx/sgb/green_border.png b/gfx/sgb/green_border.png new file mode 100644 index 00000000..939f2240 Binary files /dev/null and b/gfx/sgb/green_border.png differ diff --git a/gfx/sgb/green_border.tilemap b/gfx/sgb/green_border.tilemap new file mode 100644 index 00000000..5381bb17 Binary files /dev/null and b/gfx/sgb/green_border.tilemap differ diff --git a/gfx/slots/green_slots_1.png b/gfx/slots/green_slots_1.png new file mode 100644 index 00000000..dc7bffdd Binary files /dev/null and b/gfx/slots/green_slots_1.png differ diff --git a/gfx/slots/green_slots_2.png b/gfx/slots/green_slots_2.png new file mode 100644 index 00000000..5072b556 Binary files /dev/null and b/gfx/slots/green_slots_2.png differ -- cgit v1.2.3 From f887cf3ee0e914e7e51517788ef969be6fe06c7f Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 28 Jun 2020 20:00:58 -0400 Subject: Update tools/gfx to support --preserve --- tools/gfx.c | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++---------- 1 file changed, 60 insertions(+), 11 deletions(-) diff --git a/tools/gfx.c b/tools/gfx.c index 8c4066ab..7d6dd0ee 100644 --- a/tools/gfx.c +++ b/tools/gfx.c @@ -8,7 +8,7 @@ #include "common.h" static void usage(void) { - fprintf(stderr, "Usage: gfx [--trim-whitespace] [--remove-whitespace] [--interleave] [--remove-duplicates [--keep-whitespace]] [--remove-xflip] [--remove-yflip] [--png filename] [-d depth] [-h] [-o outfile] infile\n"); + fprintf(stderr, "Usage: gfx [--trim-whitespace] [--remove-whitespace] [--interleave] [--remove-duplicates [--keep-whitespace]] [--remove-xflip] [--remove-yflip] [--preserve indexes] [--png filename] [-d depth] [-h] [-o outfile] infile\n"); } static void error(char *message) { @@ -27,6 +27,8 @@ struct Options { int keep_whitespace; int remove_xflip; int remove_yflip; + int *preserved; + int num_preserved; char *png_file; }; @@ -43,11 +45,13 @@ void get_args(int argc, char *argv[]) { {"keep-whitespace", no_argument, &Options.keep_whitespace, 1}, {"remove-xflip", no_argument, &Options.remove_xflip, 1}, {"remove-yflip", no_argument, &Options.remove_yflip, 1}, + {"preserve", required_argument, 0, 'r'}, {"png", required_argument, 0, 'p'}, {"depth", required_argument, 0, 'd'}, {"help", no_argument, 0, 'h'}, {0} }; + char *token; for (int opt = 0; opt != -1;) { switch (opt = getopt_long(argc, argv, "ho:d:p:", long_options)) { case 'h': @@ -59,6 +63,15 @@ void get_args(int argc, char *argv[]) { case 'd': Options.depth = strtoul(optarg, NULL, 0); break; + case 'r': + token = strtok(optarg, ","); + while (token) { + Options.num_preserved++; + Options.preserved = realloc(Options.preserved, Options.num_preserved * sizeof(int)); + Options.preserved[Options.num_preserved-1] = strtoul(token, NULL, 0); + token = strtok(NULL, ","); + } + break; case 'p': Options.png_file = optarg; break; @@ -73,6 +86,23 @@ void get_args(int argc, char *argv[]) { } } +bool is_preserved(int index) { + for (int i = 0; i < Options.num_preserved; i++) { + if (Options.preserved[i] == index) { + return true; + } + } + return false; +} + +void shift_preserved(int removed_index) { + for (int i = 0; i < Options.num_preserved; i++) { + if (Options.preserved[i] >= removed_index) { + Options.preserved[i]--; + } + } +} + struct Graphic { int size; uint8_t *data; @@ -91,7 +121,7 @@ bool is_whitespace(uint8_t *tile, int tile_size) { void trim_whitespace(struct Graphic *graphic) { int tile_size = Options.depth * 8; for (int i = graphic->size - tile_size; i > 0; i -= tile_size) { - if (is_whitespace(&graphic->data[i], tile_size)) { + if (is_whitespace(&graphic->data[i], tile_size) && !is_preserved(i / tile_size)) { graphic->size = i; } else { break; @@ -102,9 +132,15 @@ void trim_whitespace(struct Graphic *graphic) { void remove_whitespace(struct Graphic *graphic) { int tile_size = Options.depth * 8; if (Options.interleave) tile_size *= 2; + + // Make sure we have a whole number of tiles, round down if required + graphic->size &= ~(tile_size - 1); + int i = 0; - for (int j = 0; i < graphic->size && j < graphic->size; i += tile_size, j += tile_size) { - while (is_whitespace(&graphic->data[j], tile_size)) { + for (int j = 0, d = 0; i < graphic->size && j < graphic->size; i += tile_size, j += tile_size) { + while (j < graphic->size && is_whitespace(&graphic->data[j], tile_size) && !is_preserved(j / tile_size - d)) { + shift_preserved(j / tile_size - d); + d++; j += tile_size; } if (j >= graphic->size) { @@ -136,11 +172,17 @@ void remove_duplicates(struct Graphic *graphic) { int tile_size = Options.depth * 8; if (Options.interleave) tile_size *= 2; int num_tiles = 0; - for (int i = 0, j = 0; i < graphic->size && j < graphic->size; i += tile_size, j += tile_size) { - while (tile_exists(&graphic->data[j], graphic->data, tile_size, num_tiles)) { - if (Options.keep_whitespace && is_whitespace(&graphic->data[j], tile_size)) { + + // Make sure we have a whole number of tiles, round down if required + graphic->size &= ~(tile_size - 1); + + for (int i = 0, j = 0, d = 0; i < graphic->size && j < graphic->size; i += tile_size, j += tile_size) { + while (j < graphic->size && tile_exists(&graphic->data[j], graphic->data, tile_size, num_tiles)) { + if ((Options.keep_whitespace && is_whitespace(&graphic->data[j], tile_size)) || is_preserved(j / tile_size - d)) { break; } + shift_preserved(j / tile_size - d); + d++; j += tile_size; } if (j >= graphic->size) { @@ -155,7 +197,8 @@ void remove_duplicates(struct Graphic *graphic) { } bool flip_exists(uint8_t *tile, uint8_t *tiles, int tile_size, int num_tiles, bool xflip, bool yflip) { - uint8_t *flip = calloc(tile_size, 1); + uint8_t flip[tile_size]; + memset(flip, 0, sizeof(flip)); int half_size = tile_size / 2; for (int i = 0; i < tile_size; i++) { int byte = i; @@ -183,11 +226,17 @@ void remove_flip(struct Graphic *graphic, bool xflip, bool yflip) { int tile_size = Options.depth * 8; if (Options.interleave) tile_size *= 2; int num_tiles = 0; - for (int i = 0, j = 0; i < graphic->size && j < graphic->size; i += tile_size, j += tile_size) { - while (flip_exists(&graphic->data[j], graphic->data, tile_size, num_tiles, xflip, yflip)) { - if (Options.keep_whitespace && is_whitespace(&graphic->data[j], tile_size)) { + + // Make sure we have a whole number of tiles, round down if required + graphic->size &= ~(tile_size - 1); + + for (int i = 0, j = 0, d = 0; i < graphic->size && j < graphic->size; i += tile_size, j += tile_size) { + while (j < graphic->size && flip_exists(&graphic->data[j], graphic->data, tile_size, num_tiles, xflip, yflip)) { + if ((Options.keep_whitespace && is_whitespace(&graphic->data[j], tile_size)) || is_preserved(j / tile_size - d)) { break; } + shift_preserved(j / tile_size - d); + d++; j += tile_size; } if (j >= graphic->size) { -- cgit v1.2.3 From 35a09298a61dcd6b52481be2d06e28b60f51dc9c Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 28 Jun 2020 20:05:17 -0400 Subject: Use --preserve instead of a hard-coded blank tile --- Makefile | 1 + tilesets.asm | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 06cbcd7a..9475c377 100644 --- a/Makefile +++ b/Makefile @@ -98,6 +98,7 @@ gfx/slots/red_slots_1.2bpp: tools/gfx += --trim-whitespace gfx/slots/blue_slots_1.2bpp: tools/gfx += --trim-whitespace gfx/tilesets/%.2bpp: tools/gfx += --trim-whitespace +gfx/tilesets/reds_house.2bpp: tools/gfx += --preserve=0x48 gfx/trade/game_boy.2bpp: tools/gfx += --remove-duplicates diff --git a/tilesets.asm b/tilesets.asm index ed6b6223..f64dc20a 100644 --- a/tilesets.asm +++ b/tilesets.asm @@ -5,7 +5,6 @@ Overworld_Block:: INCBIN "gfx/blocksets/overworld.bst" RedsHouse1_GFX:: RedsHouse2_GFX:: INCBIN "gfx/tilesets/reds_house.2bpp" - ds 16, $00 ; blank tile RedsHouse1_Block:: RedsHouse2_Block:: INCBIN "gfx/blocksets/reds_house.bst" -- cgit v1.2.3 From c1512d39a7de1e811272efa7d0755c2e4cb84e06 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 28 Jun 2020 20:23:26 -0400 Subject: Add Travis webhook for tools/unnamed.py --- .travis/webhook.sh | 15 ++++++++ tools/unnamed.py | 106 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 121 insertions(+) create mode 100755 .travis/webhook.sh create mode 100755 tools/unnamed.py diff --git a/.travis/webhook.sh b/.travis/webhook.sh new file mode 100755 index 00000000..e50f3c29 --- /dev/null +++ b/.travis/webhook.sh @@ -0,0 +1,15 @@ +#!/bin/sh +set -e + +root="$(readlink -e "$(dirname "$0")/..")" + +# Report unnamed symbols +content="$("$root/tools/unnamed.py" -r "$root" "$root/pokered.sym" | head)" + +curl -H 'Content-Type: application/json' -X POST "$POKERED_DISCORD_WEBHOOK_URL" -d@- << EOF +{ + "username": "$POKERED_DISCORD_WEBHOOK_USERNAME", + "avatar_url": "$POKERED_DISCORD_WEBHOOK_AVATAR_URL", + "content": "\`\`\`$(echo "$content" | sed -E ':a;N;$!ba;s/\r{0,1}\n/\\n/g')\`\`\`" +} +EOF diff --git a/tools/unnamed.py b/tools/unnamed.py new file mode 100755 index 00000000..560d8833 --- /dev/null +++ b/tools/unnamed.py @@ -0,0 +1,106 @@ +#!/usr/bin/env python3 + +from sys import stderr, exit +from subprocess import Popen, PIPE +from struct import unpack, calcsize +from enum import Enum + +class symtype(Enum): + LOCAL = 0 + IMPORT = 1 + EXPORT = 2 + +def unpack_file(fmt, file): + size = calcsize(fmt) + return unpack(fmt, file.read(size)) + +def read_string(file): + buf = bytearray() + while True: + b = file.read(1) + if b is None or b == b'\0': + return buf.decode() + else: + buf += b + + +# Fix broken pipe when using `head` +from signal import signal, SIGPIPE, SIG_DFL +signal(SIGPIPE,SIG_DFL) + +import argparse +parser = argparse.ArgumentParser(description="Parse the symfile to find unnamed symbols") +parser.add_argument('symfile', type=argparse.FileType('r'), help="the list of symbols") +parser.add_argument('-r', '--rootdir', type=str, help="scan the output files to obtain a list of files with unnamed symbols (NOTE: will rebuild objects as necessary)") +args = parser.parse_args() + +# Get list of object files +objects = None +if args.rootdir: + for line in Popen(["make", "-C", args.rootdir, "-s", "-p"], + stdout=PIPE).stdout.read().decode().split("\n"): + if line.startswith("pokered_obj := "): + objects = line[15:].strip().split() + break + else: + print("Error: Object files not found!", file=stderr) + exit(1) + +# Scan all unnamed symbols from the symfile +symbols_total = 0 +symbols = set() +for line in args.symfile: + line = line.split(";")[0].strip() + split = line.split(" ") + if len(split) < 2: + continue + + symbols_total += 1 + + symbol = " ".join(split[1:]).strip() + if symbol[-3:].lower() == split[0][-3:].lower(): + symbols.add(symbol) + +# If no object files were provided, just print what we know and exit +print("Unnamed pokered symbols: %d (%.2f%% complete)" % (len(symbols), + (symbols_total - len(symbols)) / symbols_total * 100)) +if not objects: + for sym in symbols: + print(sym) + exit() + +# Count the amount of symbols in each file +files = {} +for objfile in objects: + f = open(objfile, "rb") + obj_ver = None + + magic = unpack_file("4s", f)[0] + if magic == b'RGB6': + obj_ver = 6 + elif magic == b'RGB9': + obj_ver = 10 + unpack_file(" Date: Sun, 28 Jun 2020 20:26:44 -0400 Subject: Actually run .travis/webhook.sh --- .travis.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.travis.yml b/.travis.yml index 59258508..04fe1de0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,3 +21,8 @@ before_script: script: - make -j2 compare - check_status +after_success: + - |- + if [ "$TRAVIS_BRANCH" = master -a "$TRAVIS_PULL_REQUEST" = false -a "$TRAVIS_OS_NAME" = linux ]; then + ./.travis/webhook.sh + fi -- cgit v1.2.3 From f275790aec4a796ed969b099364abfdf25385967 Mon Sep 17 00:00:00 2001 From: Rangi Date: Thu, 2 Jul 2020 23:30:21 -0400 Subject: Add subdirectories to engine/ similar to pokecrystal --- audio.asm | 234 +- audio/alternate_tempo.asm | 50 + audio/low_health_alarm.asm | 75 + audio/notes.asm | 2 + audio/play_battle_music.asm | 34 + audio/poke_flute.asm | 18 + audio/pokedex_rating_sfx.asm | 36 + audio/wave_instruments.asm | 2 + data/hm_moves.asm | 7 + engine/HoF_room_pc.asm | 270 -- engine/add_mon.asm | 516 ---- engine/battle/bank_e_misc.asm | 122 - engine/battle/misc.asm | 122 + engine/battle/moveEffects/conversion_effect.asm | 35 - engine/battle/moveEffects/drain_hp_effect.asm | 104 - engine/battle/moveEffects/focus_energy_effect.asm | 22 - engine/battle/moveEffects/haze_effect.asm | 81 - engine/battle/moveEffects/heal_effect.asm | 120 - engine/battle/moveEffects/leech_seed_effect.asm | 40 - engine/battle/moveEffects/mist_effect.asm | 19 - engine/battle/moveEffects/one_hit_ko_effect.asm | 38 - engine/battle/moveEffects/paralyze_effect.asm | 47 - engine/battle/moveEffects/pay_day_effect.asm | 45 - engine/battle/moveEffects/recoil_effect.asm | 70 - .../moveEffects/reflect_light_screen_effect.asm | 45 - engine/battle/moveEffects/substitute_effect.asm | 77 - engine/battle/moveEffects/transform_effect.asm | 148 - engine/battle/move_effects/conversion.asm | 35 + engine/battle/move_effects/drain_hp.asm | 104 + engine/battle/move_effects/focus_energy.asm | 22 + engine/battle/move_effects/haze.asm | 81 + engine/battle/move_effects/heal.asm | 120 + engine/battle/move_effects/leech_seed.asm | 40 + engine/battle/move_effects/mist.asm | 19 + engine/battle/move_effects/one_hit_ko.asm | 38 + engine/battle/move_effects/paralyze.asm | 47 + engine/battle/move_effects/pay_day.asm | 45 + engine/battle/move_effects/recoil.asm | 70 + .../battle/move_effects/reflect_light_screen.asm | 45 + engine/battle/move_effects/substitute.asm | 77 + engine/battle/move_effects/transform.asm | 148 + engine/battle/trainer_ai.asm | 2 +- engine/bcd.asm | 214 -- engine/black_out.asm | 46 - engine/cable_club.asm | 977 ------- engine/clear_save.asm | 23 - engine/debug/debug_party.asm | 33 + engine/debug/test_battle.asm | 45 + engine/debug1.asm | 33 - engine/display_pokedex.asm | 19 - engine/display_text_id_init.asm | 78 - engine/events/black_out.asm | 46 + engine/events/card_key.asm | 112 + engine/events/cinnabar_lab.asm | 123 + engine/events/diploma.asm | 113 + engine/events/display_pokedex.asm | 19 + engine/events/elevator.asm | 48 + engine/events/evolve_trade.asm | 44 + engine/events/give_pokemon.asm | 82 + engine/events/heal_party.asm | 99 + engine/events/hidden_items.asm | 161 ++ engine/events/hidden_object_functions14.asm | 100 + engine/events/hidden_object_functions17.asm | 475 ++++ engine/events/hidden_object_functions18.asm | 198 ++ engine/events/hidden_object_functions3.asm | 117 + engine/events/hidden_object_functions7.asm | 467 +++ engine/events/in_game_trades.asm | 330 +++ engine/events/oaks_aide.asm | 71 + engine/events/pewter_guys.asm | 102 + engine/events/pick_up_item.asm | 54 + engine/events/poison.asm | 112 + engine/events/pokecenter.asm | 68 + engine/events/pokedex_rating.asm | 154 + engine/events/pokemart.asm | 272 ++ engine/events/prize_menu.asm | 306 ++ engine/events/saffron_guards.asm | 15 + engine/events/set_blackout_map.asm | 25 + engine/events/starter_dex.asm | 9 + engine/events/vending_machine.asm | 133 + engine/evolution.asm | 160 -- engine/evolve_trade.asm | 44 - engine/evos_moves.asm | 513 ---- engine/experience.asm | 149 - engine/game_corner_slots.asm | 54 - engine/game_corner_slots2.asm | 31 - engine/gamefreak.asm | 243 -- engine/get_bag_item_quantity.asm | 18 - engine/gfx/hp_bar.asm | 270 ++ engine/gfx/load_pokedex_tiles.asm | 11 + engine/gfx/mon_icons.asm | 295 ++ engine/gfx/oam_dma.asm | 26 + engine/gfx/palettes.asm | 641 +++++ engine/gfx/screen_effects.asm | 71 + engine/gfx/sprite_oam.asm | 189 ++ engine/give_pokemon.asm | 82 - engine/hall_of_fame.asm | 288 -- engine/heal_party.asm | 99 - engine/hidden_object_functions14.asm | 100 - engine/hidden_object_functions17.asm | 475 ---- engine/hidden_object_functions18.asm | 198 -- engine/hidden_object_functions3.asm | 117 - engine/hidden_object_functions7.asm | 467 --- engine/hp_bar.asm | 270 -- engine/in_game_trades.asm | 330 --- engine/init_player_data.asm | 55 - engine/intro.asm | 470 --- engine/items/get_bag_item_quantity.asm | 18 + engine/items/item_effects.asm | 2986 ++++++++++++++++++++ engine/items/items.asm | 2986 -------------------- engine/items/subtract_paid_money.asm | 17 + engine/items/town_map.asm | 618 ++++ engine/learn_move.asm | 226 -- engine/link/cable_club.asm | 977 +++++++ engine/link/cable_club_npc.asm | 151 + engine/link/print_waiting_text.asm | 20 + engine/load_mon_data.asm | 49 - engine/load_pokedex_tiles.asm | 11 - engine/math/bcd.asm | 214 ++ engine/math/multiply_divide.asm | 143 + engine/math/random.asm | 13 + engine/menu/bills_pc.asm | 554 ---- engine/menu/diploma.asm | 113 - engine/menu/draw_badges.asm | 120 - engine/menu/draw_start_menu.asm | 89 - engine/menu/league_pc.asm | 120 - engine/menu/main_menu.asm | 712 ----- engine/menu/naming_screen.asm | 494 ---- engine/menu/oaks_pc.asm | 28 - engine/menu/party_menu.asm | 325 --- engine/menu/pc.asm | 141 - engine/menu/players_pc.asm | 303 -- engine/menu/pokedex.asm | 665 ----- engine/menu/prize_menu.asm | 306 -- engine/menu/start_menu.asm | 85 - engine/menu/start_sub_menus.asm | 808 ------ engine/menu/status_screen.asm | 481 ---- engine/menu/swap_items.asm | 149 - engine/menu/text_box.asm | 767 ----- engine/menu/vending_machine.asm | 133 - engine/menus/display_text_id_init.asm | 78 + engine/menus/draw_badges.asm | 120 + engine/menus/draw_start_menu.asm | 89 + engine/menus/league_pc.asm | 120 + engine/menus/main_menu.asm | 712 +++++ engine/menus/naming_screen.asm | 494 ++++ engine/menus/oaks_pc.asm | 28 + engine/menus/party_menu.asm | 325 +++ engine/menus/pc.asm | 141 + engine/menus/players_pc.asm | 303 ++ engine/menus/pokedex.asm | 665 +++++ engine/menus/save.asm | 708 +++++ engine/menus/start_sub_menus.asm | 808 ++++++ engine/menus/swap_items.asm | 149 + engine/menus/text_box.asm | 767 +++++ engine/mon_party_sprites.asm | 295 -- engine/movie/clear_save.asm | 23 + engine/movie/credits.asm | 270 ++ engine/movie/evolution.asm | 160 ++ engine/movie/gamefreak.asm | 243 ++ engine/movie/hall_of_fame.asm | 288 ++ engine/movie/init_player_data.asm | 55 + engine/movie/intro.asm | 470 +++ engine/movie/oak_speech.asm | 233 ++ engine/movie/oak_speech2.asm | 219 ++ engine/movie/titlescreen.asm | 403 +++ engine/movie/titlescreen2.asm | 120 + engine/movie/trade.asm | 853 ++++++ engine/movie/trade2.asm | 48 + engine/multiply_divide.asm | 143 - engine/oak_speech.asm | 233 -- engine/oak_speech2.asm | 219 -- engine/oam_dma.asm | 26 - engine/overworld/auto_movement.asm | 292 ++ engine/overworld/cable_club_npc.asm | 151 - engine/overworld/card_key.asm | 112 - engine/overworld/cinnabar_lab.asm | 123 - engine/overworld/dust_smoke.asm | 93 + engine/overworld/hidden_items.asm | 161 -- engine/overworld/item.asm | 54 - engine/overworld/map_sprite_functions1.asm | 356 --- engine/overworld/npc_movement.asm | 292 -- engine/overworld/oaks_aide.asm | 71 - engine/overworld/oam.asm | 189 -- engine/overworld/pathfinding.asm | 201 ++ engine/overworld/pewter_guys.asm | 102 - engine/overworld/poison.asm | 112 - engine/overworld/pokecenter.asm | 68 - engine/overworld/pokemart.asm | 272 -- engine/overworld/saffron_guards.asm | 15 - engine/overworld/set_blackout_map.asm | 25 - engine/overworld/special_warps.asm | 149 + engine/overworld/sprite_collisions.asm | 356 +++ engine/overworld/ssanne.asm | 93 - engine/overworld/tileset_header.asm | 60 - engine/overworld/tilesets.asm | 60 + engine/overworld/trainer_sight.asm | 349 +++ engine/overworld/trainers.asm | 349 --- engine/overworld/turn_sprite.asm | 25 + engine/palettes.asm | 641 ----- engine/pathfinding.asm | 201 -- engine/pokedex_rating.asm | 154 - engine/pokemon/add_mon.asm | 516 ++++ engine/pokemon/bills_pc.asm | 548 ++++ engine/pokemon/evos_moves.asm | 513 ++++ engine/pokemon/experience.asm | 149 + engine/pokemon/learn_move.asm | 226 ++ engine/pokemon/load_mon_data.asm | 49 + engine/pokemon/remove_mon.asm | 95 + engine/pokemon/set_types.asm | 15 + engine/pokemon/status_ailments.asm | 46 + engine/pokemon/status_screen.asm | 481 ++++ engine/predefs12.asm | 71 - engine/predefs17.asm | 9 - engine/predefs17_2.asm | 15 - engine/predefs7.asm | 48 - engine/print_waiting_text.asm | 20 - engine/random.asm | 13 - engine/remove_pokemon.asm | 95 - engine/save.asm | 708 ----- engine/slot_machine.asm | 892 ------ engine/slots/game_corner_slots.asm | 54 + engine/slots/game_corner_slots2.asm | 31 + engine/slots/slot_machine.asm | 892 ++++++ engine/special_warps.asm | 149 - engine/status_ailments.asm | 46 - engine/subtract_paid_money.asm | 17 - engine/test_battle.asm | 45 - engine/titlescreen.asm | 403 --- engine/titlescreen2.asm | 120 - engine/town_map.asm | 618 ---- engine/trade.asm | 853 ------ engine/trade2.asm | 48 - engine/turn_sprite.asm | 25 - home.asm | 2 +- home/start_menu.asm | 85 + main.asm | 218 +- 236 files changed, 26064 insertions(+), 26068 deletions(-) create mode 100644 audio/alternate_tempo.asm create mode 100644 audio/low_health_alarm.asm create mode 100644 audio/play_battle_music.asm create mode 100644 audio/poke_flute.asm create mode 100644 audio/pokedex_rating_sfx.asm create mode 100644 data/hm_moves.asm delete mode 100755 engine/HoF_room_pc.asm delete mode 100644 engine/add_mon.asm delete mode 100755 engine/battle/bank_e_misc.asm create mode 100755 engine/battle/misc.asm delete mode 100644 engine/battle/moveEffects/conversion_effect.asm delete mode 100644 engine/battle/moveEffects/drain_hp_effect.asm delete mode 100644 engine/battle/moveEffects/focus_energy_effect.asm delete mode 100644 engine/battle/moveEffects/haze_effect.asm delete mode 100644 engine/battle/moveEffects/heal_effect.asm delete mode 100644 engine/battle/moveEffects/leech_seed_effect.asm delete mode 100644 engine/battle/moveEffects/mist_effect.asm delete mode 100644 engine/battle/moveEffects/one_hit_ko_effect.asm delete mode 100644 engine/battle/moveEffects/paralyze_effect.asm delete mode 100644 engine/battle/moveEffects/pay_day_effect.asm delete mode 100644 engine/battle/moveEffects/recoil_effect.asm delete mode 100644 engine/battle/moveEffects/reflect_light_screen_effect.asm delete mode 100644 engine/battle/moveEffects/substitute_effect.asm delete mode 100644 engine/battle/moveEffects/transform_effect.asm create mode 100644 engine/battle/move_effects/conversion.asm create mode 100644 engine/battle/move_effects/drain_hp.asm create mode 100644 engine/battle/move_effects/focus_energy.asm create mode 100644 engine/battle/move_effects/haze.asm create mode 100644 engine/battle/move_effects/heal.asm create mode 100644 engine/battle/move_effects/leech_seed.asm create mode 100644 engine/battle/move_effects/mist.asm create mode 100644 engine/battle/move_effects/one_hit_ko.asm create mode 100644 engine/battle/move_effects/paralyze.asm create mode 100644 engine/battle/move_effects/pay_day.asm create mode 100644 engine/battle/move_effects/recoil.asm create mode 100644 engine/battle/move_effects/reflect_light_screen.asm create mode 100644 engine/battle/move_effects/substitute.asm create mode 100644 engine/battle/move_effects/transform.asm delete mode 100644 engine/bcd.asm delete mode 100644 engine/black_out.asm delete mode 100755 engine/cable_club.asm delete mode 100755 engine/clear_save.asm create mode 100644 engine/debug/debug_party.asm create mode 100644 engine/debug/test_battle.asm delete mode 100644 engine/debug1.asm delete mode 100644 engine/display_pokedex.asm delete mode 100644 engine/display_text_id_init.asm create mode 100644 engine/events/black_out.asm create mode 100755 engine/events/card_key.asm create mode 100755 engine/events/cinnabar_lab.asm create mode 100755 engine/events/diploma.asm create mode 100644 engine/events/display_pokedex.asm create mode 100755 engine/events/elevator.asm create mode 100755 engine/events/evolve_trade.asm create mode 100755 engine/events/give_pokemon.asm create mode 100644 engine/events/heal_party.asm create mode 100755 engine/events/hidden_items.asm create mode 100755 engine/events/hidden_object_functions14.asm create mode 100755 engine/events/hidden_object_functions17.asm create mode 100755 engine/events/hidden_object_functions18.asm create mode 100755 engine/events/hidden_object_functions3.asm create mode 100755 engine/events/hidden_object_functions7.asm create mode 100755 engine/events/in_game_trades.asm create mode 100755 engine/events/oaks_aide.asm create mode 100755 engine/events/pewter_guys.asm create mode 100644 engine/events/pick_up_item.asm create mode 100644 engine/events/poison.asm create mode 100755 engine/events/pokecenter.asm create mode 100755 engine/events/pokedex_rating.asm create mode 100755 engine/events/pokemart.asm create mode 100755 engine/events/prize_menu.asm create mode 100755 engine/events/saffron_guards.asm create mode 100644 engine/events/set_blackout_map.asm create mode 100755 engine/events/starter_dex.asm create mode 100755 engine/events/vending_machine.asm delete mode 100755 engine/evolution.asm delete mode 100755 engine/evolve_trade.asm delete mode 100755 engine/evos_moves.asm delete mode 100755 engine/experience.asm delete mode 100755 engine/game_corner_slots.asm delete mode 100755 engine/game_corner_slots2.asm delete mode 100755 engine/gamefreak.asm delete mode 100644 engine/get_bag_item_quantity.asm create mode 100755 engine/gfx/hp_bar.asm create mode 100755 engine/gfx/load_pokedex_tiles.asm create mode 100755 engine/gfx/mon_icons.asm create mode 100644 engine/gfx/oam_dma.asm create mode 100755 engine/gfx/palettes.asm create mode 100755 engine/gfx/screen_effects.asm create mode 100644 engine/gfx/sprite_oam.asm delete mode 100755 engine/give_pokemon.asm delete mode 100755 engine/hall_of_fame.asm delete mode 100644 engine/heal_party.asm delete mode 100755 engine/hidden_object_functions14.asm delete mode 100755 engine/hidden_object_functions17.asm delete mode 100755 engine/hidden_object_functions18.asm delete mode 100755 engine/hidden_object_functions3.asm delete mode 100755 engine/hidden_object_functions7.asm delete mode 100755 engine/hp_bar.asm delete mode 100755 engine/in_game_trades.asm delete mode 100644 engine/init_player_data.asm delete mode 100755 engine/intro.asm create mode 100644 engine/items/get_bag_item_quantity.asm create mode 100755 engine/items/item_effects.asm delete mode 100755 engine/items/items.asm create mode 100644 engine/items/subtract_paid_money.asm create mode 100755 engine/items/town_map.asm delete mode 100755 engine/learn_move.asm create mode 100755 engine/link/cable_club.asm create mode 100755 engine/link/cable_club_npc.asm create mode 100644 engine/link/print_waiting_text.asm delete mode 100644 engine/load_mon_data.asm delete mode 100755 engine/load_pokedex_tiles.asm create mode 100644 engine/math/bcd.asm create mode 100755 engine/math/multiply_divide.asm create mode 100755 engine/math/random.asm delete mode 100644 engine/menu/bills_pc.asm delete mode 100755 engine/menu/diploma.asm delete mode 100644 engine/menu/draw_badges.asm delete mode 100644 engine/menu/draw_start_menu.asm delete mode 100755 engine/menu/league_pc.asm delete mode 100755 engine/menu/main_menu.asm delete mode 100755 engine/menu/naming_screen.asm delete mode 100755 engine/menu/oaks_pc.asm delete mode 100755 engine/menu/party_menu.asm delete mode 100755 engine/menu/pc.asm delete mode 100755 engine/menu/players_pc.asm delete mode 100755 engine/menu/pokedex.asm delete mode 100755 engine/menu/prize_menu.asm delete mode 100755 engine/menu/start_menu.asm delete mode 100755 engine/menu/start_sub_menus.asm delete mode 100755 engine/menu/status_screen.asm delete mode 100644 engine/menu/swap_items.asm delete mode 100644 engine/menu/text_box.asm delete mode 100755 engine/menu/vending_machine.asm create mode 100644 engine/menus/display_text_id_init.asm create mode 100644 engine/menus/draw_badges.asm create mode 100644 engine/menus/draw_start_menu.asm create mode 100755 engine/menus/league_pc.asm create mode 100755 engine/menus/main_menu.asm create mode 100755 engine/menus/naming_screen.asm create mode 100755 engine/menus/oaks_pc.asm create mode 100755 engine/menus/party_menu.asm create mode 100755 engine/menus/pc.asm create mode 100755 engine/menus/players_pc.asm create mode 100755 engine/menus/pokedex.asm create mode 100755 engine/menus/save.asm create mode 100755 engine/menus/start_sub_menus.asm create mode 100644 engine/menus/swap_items.asm create mode 100644 engine/menus/text_box.asm delete mode 100755 engine/mon_party_sprites.asm create mode 100755 engine/movie/clear_save.asm create mode 100755 engine/movie/credits.asm create mode 100755 engine/movie/evolution.asm create mode 100755 engine/movie/gamefreak.asm create mode 100755 engine/movie/hall_of_fame.asm create mode 100644 engine/movie/init_player_data.asm create mode 100755 engine/movie/intro.asm create mode 100755 engine/movie/oak_speech.asm create mode 100755 engine/movie/oak_speech2.asm create mode 100755 engine/movie/titlescreen.asm create mode 100755 engine/movie/titlescreen2.asm create mode 100755 engine/movie/trade.asm create mode 100755 engine/movie/trade2.asm delete mode 100755 engine/multiply_divide.asm delete mode 100755 engine/oak_speech.asm delete mode 100755 engine/oak_speech2.asm delete mode 100644 engine/oam_dma.asm create mode 100755 engine/overworld/auto_movement.asm delete mode 100755 engine/overworld/cable_club_npc.asm delete mode 100755 engine/overworld/card_key.asm delete mode 100755 engine/overworld/cinnabar_lab.asm create mode 100755 engine/overworld/dust_smoke.asm delete mode 100755 engine/overworld/hidden_items.asm delete mode 100644 engine/overworld/item.asm delete mode 100644 engine/overworld/map_sprite_functions1.asm delete mode 100755 engine/overworld/npc_movement.asm delete mode 100755 engine/overworld/oaks_aide.asm delete mode 100644 engine/overworld/oam.asm create mode 100644 engine/overworld/pathfinding.asm delete mode 100755 engine/overworld/pewter_guys.asm delete mode 100644 engine/overworld/poison.asm delete mode 100755 engine/overworld/pokecenter.asm delete mode 100755 engine/overworld/pokemart.asm delete mode 100755 engine/overworld/saffron_guards.asm delete mode 100644 engine/overworld/set_blackout_map.asm create mode 100644 engine/overworld/special_warps.asm create mode 100644 engine/overworld/sprite_collisions.asm delete mode 100755 engine/overworld/ssanne.asm delete mode 100644 engine/overworld/tileset_header.asm create mode 100644 engine/overworld/tilesets.asm create mode 100755 engine/overworld/trainer_sight.asm delete mode 100755 engine/overworld/trainers.asm create mode 100755 engine/overworld/turn_sprite.asm delete mode 100755 engine/palettes.asm delete mode 100644 engine/pathfinding.asm delete mode 100755 engine/pokedex_rating.asm create mode 100644 engine/pokemon/add_mon.asm create mode 100644 engine/pokemon/bills_pc.asm create mode 100755 engine/pokemon/evos_moves.asm create mode 100755 engine/pokemon/experience.asm create mode 100755 engine/pokemon/learn_move.asm create mode 100644 engine/pokemon/load_mon_data.asm create mode 100644 engine/pokemon/remove_mon.asm create mode 100755 engine/pokemon/set_types.asm create mode 100755 engine/pokemon/status_ailments.asm create mode 100755 engine/pokemon/status_screen.asm delete mode 100755 engine/predefs12.asm delete mode 100755 engine/predefs17.asm delete mode 100755 engine/predefs17_2.asm delete mode 100755 engine/predefs7.asm delete mode 100644 engine/print_waiting_text.asm delete mode 100755 engine/random.asm delete mode 100644 engine/remove_pokemon.asm delete mode 100755 engine/save.asm delete mode 100755 engine/slot_machine.asm create mode 100755 engine/slots/game_corner_slots.asm create mode 100755 engine/slots/game_corner_slots2.asm create mode 100755 engine/slots/slot_machine.asm delete mode 100644 engine/special_warps.asm delete mode 100755 engine/status_ailments.asm delete mode 100644 engine/subtract_paid_money.asm delete mode 100644 engine/test_battle.asm delete mode 100755 engine/titlescreen.asm delete mode 100755 engine/titlescreen2.asm delete mode 100755 engine/town_map.asm delete mode 100755 engine/trade.asm delete mode 100755 engine/trade2.asm delete mode 100755 engine/turn_sprite.asm create mode 100755 home/start_menu.asm diff --git a/audio.asm b/audio.asm index 9675c98a..effcb6f7 100644 --- a/audio.asm +++ b/audio.asm @@ -352,248 +352,27 @@ INCLUDE "audio/sfx/cry21_3.asm" INCLUDE "audio/sfx/cry22_3.asm" - SECTION "Audio Engine 1", ROMX -PlayBattleMusic:: - xor a - ld [wAudioFadeOutControl], a - ld [wLowHealthAlarm], a - dec a - ld [wNewSoundID], a - call PlaySound ; stop music - call DelayFrame - ld c, BANK(Music_GymLeaderBattle) - ld a, [wGymLeaderNo] - and a - jr z, .notGymLeaderBattle - ld a, MUSIC_GYM_LEADER_BATTLE - jr .playSong -.notGymLeaderBattle - ld a, [wCurOpponent] - cp OPP_ID_OFFSET - jr c, .wildBattle - cp OPP_SONY3 - jr z, .finalBattle - cp OPP_LANCE - jr nz, .normalTrainerBattle - ld a, MUSIC_GYM_LEADER_BATTLE ; lance also plays gym leader theme - jr .playSong -.normalTrainerBattle - ld a, MUSIC_TRAINER_BATTLE - jr .playSong -.finalBattle - ld a, MUSIC_FINAL_BATTLE - jr .playSong -.wildBattle - ld a, MUSIC_WILD_BATTLE -.playSong - jp PlayMusic - - +INCLUDE "audio/play_battle_music.asm" INCLUDE "audio/engine_1.asm" - - -; an alternate start for MeetRival which has a different first measure -Music_RivalAlternateStart:: - ld c, BANK(Music_MeetRival) - ld a, MUSIC_MEET_RIVAL - call PlayMusic - ld hl, wChannelCommandPointers - ld de, Music_MeetRival_branch_b1a2 - call Audio1_OverwriteChannelPointer - ld de, Music_MeetRival_branch_b21d - call Audio1_OverwriteChannelPointer - ld de, Music_MeetRival_branch_b2b5 - -Audio1_OverwriteChannelPointer: - ld a, e - ld [hli], a - ld a, d - ld [hli], a - ret - -; an alternate tempo for MeetRival which is slightly slower -Music_RivalAlternateTempo:: - ld c, BANK(Music_MeetRival) - ld a, MUSIC_MEET_RIVAL - call PlayMusic - ld hl, wChannelCommandPointers - ld de, Music_MeetRival_branch_b119 - jp Audio1_OverwriteChannelPointer - -; applies both the alternate start and alternate tempo -Music_RivalAlternateStartAndTempo:: - call Music_RivalAlternateStart - ld hl, wChannelCommandPointers - ld de, Music_MeetRival_branch_b19b - jp Audio1_OverwriteChannelPointer - -; an alternate tempo for Cities1 which is used for the Hall of Fame room -Music_Cities1AlternateTempo:: - ld a, 10 - ld [wAudioFadeOutCounterReloadValue], a - ld [wAudioFadeOutCounter], a - ld a, $ff ; stop playing music after the fade-out is finished - ld [wAudioFadeOutControl], a - ld c, 100 - call DelayFrames ; wait for the fade-out to finish - ld c, BANK(Music_Cities1) - ld a, MUSIC_CITIES1 - call PlayMusic - ld hl, wChannelCommandPointers - ld de, Music_Cities1_branch_aa6f - jp Audio1_OverwriteChannelPointer +INCLUDE "audio/alternate_tempo.asm" SECTION "Audio Engine 2", ROMX -Music_DoLowHealthAlarm:: - ld a, [wLowHealthAlarm] - cp $ff - jr z, .disableAlarm - - bit 7, a ;alarm enabled? - ret z ;nope - - and $7f ;low 7 bits are the timer. - jr nz, .asm_21383 ;if timer > 0, play low tone. - - call .playToneHi - ld a, 30 ;keep this tone for 30 frames. - jr .asm_21395 ;reset the timer. - -.asm_21383 - cp 20 - jr nz, .asm_2138a ;if timer == 20, - call .playToneLo ;actually set the sound registers. - -.asm_2138a - ld a, $86 - ld [wChannelSoundIDs + Ch5], a ;disable sound channel? - ld a, [wLowHealthAlarm] - and $7f ;decrement alarm timer. - dec a - -.asm_21395 - ; reset the timer and enable flag. - set 7, a - ld [wLowHealthAlarm], a - ret - -.disableAlarm - xor a - ld [wLowHealthAlarm], a ;disable alarm - ld [wChannelSoundIDs + Ch5], a ;re-enable sound channel? - ld de, .toneDataSilence - jr .playTone - -;update the sound registers to change the frequency. -;the tone set here stays until we change it. -.playToneHi - ld de, .toneDataHi - jr .playTone - -.playToneLo - ld de, .toneDataLo - -;update sound channel 1 to play the alarm, overriding all other sounds. -.playTone - ld hl, rNR10 ;channel 1 sound register - ld c, $5 - xor a - -.copyLoop - ld [hli], a - ld a, [de] - inc de - dec c - jr nz, .copyLoop - ret - -;bytes to write to sound channel 1 registers for health alarm. -;starting at FF11 (FF10 is always zeroed), so these bytes are: -;length, envelope, freq lo, freq hi -.toneDataHi - db $A0,$E2,$50,$87 - -.toneDataLo - db $B0,$E2,$EE,$86 - -;written to stop the alarm -.toneDataSilence - db $00,$00,$00,$80 - - -INCLUDE "engine/menu/bills_pc.asm" - +INCLUDE "audio/low_health_alarm.asm" +INCLUDE "engine/pokemon/bills_pc.asm" INCLUDE "audio/engine_2.asm" - - -Music_PokeFluteInBattle:: - ; begin playing the "caught mon" sound effect - ld a, SFX_CAUGHT_MON - call PlaySoundWaitForCurrent - ; then immediately overwrite the channel pointers - ld hl, wChannelCommandPointers + Ch5 * 2 - ld de, SFX_Pokeflute_Ch5 - call Audio2_OverwriteChannelPointer - ld de, SFX_Pokeflute_Ch6 - call Audio2_OverwriteChannelPointer - ld de, SFX_Pokeflute_Ch7 - -Audio2_OverwriteChannelPointer: - ld a, e - ld [hli], a - ld a, d - ld [hli], a - ret +INCLUDE "audio/poke_flute.asm" SECTION "Audio Engine 3", ROMX -PlayPokedexRatingSfx:: - ld a, [$ffdc] - ld c, $0 - ld hl, OwnedMonValues -.getSfxPointer - cp [hl] - jr c, .gotSfxPointer - inc c - inc hl - jr .getSfxPointer -.gotSfxPointer - push bc - ld a, $ff - ld [wNewSoundID], a - call PlaySoundWaitForCurrent - pop bc - ld b, $0 - ld hl, PokedexRatingSfxPointers - add hl, bc - add hl, bc - ld a, [hli] - ld c, [hl] - call PlayMusic - jp PlayDefaultMusic - -PokedexRatingSfxPointers: - db SFX_DENIED, BANK(SFX_Denied_3) - db SFX_POKEDEX_RATING, BANK(SFX_Pokedex_Rating_1) - db SFX_GET_ITEM_1, BANK(SFX_Get_Item1_1) - db SFX_CAUGHT_MON, BANK(SFX_Caught_Mon) - db SFX_LEVEL_UP, BANK(SFX_Level_Up) - db SFX_GET_KEY_ITEM, BANK(SFX_Get_Key_Item_1) - db SFX_GET_ITEM_2, BANK(SFX_Get_Item2_1) - -OwnedMonValues: - db 10, 40, 60, 90, 120, 150, $ff - - +INCLUDE "audio/pokedex_rating_sfx.asm" INCLUDE "audio/engine_3.asm" - SECTION "Music 1", ROMX INCLUDE "audio/music/pkmnhealed.asm" @@ -663,4 +442,3 @@ INCLUDE "audio/music/surfing.asm" INCLUDE "audio/music/jigglypuffsong.asm" INCLUDE "audio/music/halloffame.asm" INCLUDE "audio/music/credits.asm" - diff --git a/audio/alternate_tempo.asm b/audio/alternate_tempo.asm new file mode 100644 index 00000000..6c2cdc49 --- /dev/null +++ b/audio/alternate_tempo.asm @@ -0,0 +1,50 @@ +; an alternate start for MeetRival which has a different first measure +Music_RivalAlternateStart:: + ld c, BANK(Music_MeetRival) + ld a, MUSIC_MEET_RIVAL + call PlayMusic + ld hl, wChannelCommandPointers + ld de, Music_MeetRival_branch_b1a2 + call Audio1_OverwriteChannelPointer + ld de, Music_MeetRival_branch_b21d + call Audio1_OverwriteChannelPointer + ld de, Music_MeetRival_branch_b2b5 + +Audio1_OverwriteChannelPointer: + ld a, e + ld [hli], a + ld a, d + ld [hli], a + ret + +; an alternate tempo for MeetRival which is slightly slower +Music_RivalAlternateTempo:: + ld c, BANK(Music_MeetRival) + ld a, MUSIC_MEET_RIVAL + call PlayMusic + ld hl, wChannelCommandPointers + ld de, Music_MeetRival_branch_b119 + jp Audio1_OverwriteChannelPointer + +; applies both the alternate start and alternate tempo +Music_RivalAlternateStartAndTempo:: + call Music_RivalAlternateStart + ld hl, wChannelCommandPointers + ld de, Music_MeetRival_branch_b19b + jp Audio1_OverwriteChannelPointer + +; an alternate tempo for Cities1 which is used for the Hall of Fame room +Music_Cities1AlternateTempo:: + ld a, 10 + ld [wAudioFadeOutCounterReloadValue], a + ld [wAudioFadeOutCounter], a + ld a, $ff ; stop playing music after the fade-out is finished + ld [wAudioFadeOutControl], a + ld c, 100 + call DelayFrames ; wait for the fade-out to finish + ld c, BANK(Music_Cities1) + ld a, MUSIC_CITIES1 + call PlayMusic + ld hl, wChannelCommandPointers + ld de, Music_Cities1_branch_aa6f + jp Audio1_OverwriteChannelPointer diff --git a/audio/low_health_alarm.asm b/audio/low_health_alarm.asm new file mode 100644 index 00000000..514db55f --- /dev/null +++ b/audio/low_health_alarm.asm @@ -0,0 +1,75 @@ +Music_DoLowHealthAlarm:: + ld a, [wLowHealthAlarm] + cp $ff + jr z, .disableAlarm + + bit 7, a ;alarm enabled? + ret z ;nope + + and $7f ;low 7 bits are the timer. + jr nz, .asm_21383 ;if timer > 0, play low tone. + + call .playToneHi + ld a, 30 ;keep this tone for 30 frames. + jr .asm_21395 ;reset the timer. + +.asm_21383 + cp 20 + jr nz, .asm_2138a ;if timer == 20, + call .playToneLo ;actually set the sound registers. + +.asm_2138a + ld a, $86 + ld [wChannelSoundIDs + Ch5], a ;disable sound channel? + ld a, [wLowHealthAlarm] + and $7f ;decrement alarm timer. + dec a + +.asm_21395 + ; reset the timer and enable flag. + set 7, a + ld [wLowHealthAlarm], a + ret + +.disableAlarm + xor a + ld [wLowHealthAlarm], a ;disable alarm + ld [wChannelSoundIDs + Ch5], a ;re-enable sound channel? + ld de, .toneDataSilence + jr .playTone + +;update the sound registers to change the frequency. +;the tone set here stays until we change it. +.playToneHi + ld de, .toneDataHi + jr .playTone + +.playToneLo + ld de, .toneDataLo + +;update sound channel 1 to play the alarm, overriding all other sounds. +.playTone + ld hl, rNR10 ;channel 1 sound register + ld c, $5 + xor a + +.copyLoop + ld [hli], a + ld a, [de] + inc de + dec c + jr nz, .copyLoop + ret + +;bytes to write to sound channel 1 registers for health alarm. +;starting at FF11 (FF10 is always zeroed), so these bytes are: +;length, envelope, freq lo, freq hi +.toneDataHi + db $A0,$E2,$50,$87 + +.toneDataLo + db $B0,$E2,$EE,$86 + +;written to stop the alarm +.toneDataSilence + db $00,$00,$00,$80 diff --git a/audio/notes.asm b/audio/notes.asm index 025eb6a8..75e1a0b7 100644 --- a/audio/notes.asm +++ b/audio/notes.asm @@ -1,3 +1,5 @@ +; This file is INCLUDEd three times, once in each audio engine. + dw $F82C ; C_ dw $F89D ; C# dw $F907 ; D_ diff --git a/audio/play_battle_music.asm b/audio/play_battle_music.asm new file mode 100644 index 00000000..35dd19ad --- /dev/null +++ b/audio/play_battle_music.asm @@ -0,0 +1,34 @@ +PlayBattleMusic:: + xor a + ld [wAudioFadeOutControl], a + ld [wLowHealthAlarm], a + dec a + ld [wNewSoundID], a + call PlaySound ; stop music + call DelayFrame + ld c, BANK(Music_GymLeaderBattle) + ld a, [wGymLeaderNo] + and a + jr z, .notGymLeaderBattle + ld a, MUSIC_GYM_LEADER_BATTLE + jr .playSong +.notGymLeaderBattle + ld a, [wCurOpponent] + cp OPP_ID_OFFSET + jr c, .wildBattle + cp OPP_SONY3 + jr z, .finalBattle + cp OPP_LANCE + jr nz, .normalTrainerBattle + ld a, MUSIC_GYM_LEADER_BATTLE ; lance also plays gym leader theme + jr .playSong +.normalTrainerBattle + ld a, MUSIC_TRAINER_BATTLE + jr .playSong +.finalBattle + ld a, MUSIC_FINAL_BATTLE + jr .playSong +.wildBattle + ld a, MUSIC_WILD_BATTLE +.playSong + jp PlayMusic diff --git a/audio/poke_flute.asm b/audio/poke_flute.asm new file mode 100644 index 00000000..f55a2a1f --- /dev/null +++ b/audio/poke_flute.asm @@ -0,0 +1,18 @@ +Music_PokeFluteInBattle:: + ; begin playing the "caught mon" sound effect + ld a, SFX_CAUGHT_MON + call PlaySoundWaitForCurrent + ; then immediately overwrite the channel pointers + ld hl, wChannelCommandPointers + Ch5 * 2 + ld de, SFX_Pokeflute_Ch5 + call Audio2_OverwriteChannelPointer + ld de, SFX_Pokeflute_Ch6 + call Audio2_OverwriteChannelPointer + ld de, SFX_Pokeflute_Ch7 + +Audio2_OverwriteChannelPointer: + ld a, e + ld [hli], a + ld a, d + ld [hli], a + ret diff --git a/audio/pokedex_rating_sfx.asm b/audio/pokedex_rating_sfx.asm new file mode 100644 index 00000000..a218d5e6 --- /dev/null +++ b/audio/pokedex_rating_sfx.asm @@ -0,0 +1,36 @@ +PlayPokedexRatingSfx:: + ld a, [$ffdc] + ld c, $0 + ld hl, OwnedMonValues +.getSfxPointer + cp [hl] + jr c, .gotSfxPointer + inc c + inc hl + jr .getSfxPointer +.gotSfxPointer + push bc + ld a, $ff + ld [wNewSoundID], a + call PlaySoundWaitForCurrent + pop bc + ld b, $0 + ld hl, PokedexRatingSfxPointers + add hl, bc + add hl, bc + ld a, [hli] + ld c, [hl] + call PlayMusic + jp PlayDefaultMusic + +PokedexRatingSfxPointers: + db SFX_DENIED, BANK(SFX_Denied_3) + db SFX_POKEDEX_RATING, BANK(SFX_Pokedex_Rating_1) + db SFX_GET_ITEM_1, BANK(SFX_Get_Item1_1) + db SFX_CAUGHT_MON, BANK(SFX_Caught_Mon) + db SFX_LEVEL_UP, BANK(SFX_Level_Up) + db SFX_GET_KEY_ITEM, BANK(SFX_Get_Key_Item_1) + db SFX_GET_ITEM_2, BANK(SFX_Get_Item2_1) + +OwnedMonValues: + db 10, 40, 60, 90, 120, 150, $ff diff --git a/audio/wave_instruments.asm b/audio/wave_instruments.asm index fede06af..c915f18a 100644 --- a/audio/wave_instruments.asm +++ b/audio/wave_instruments.asm @@ -1,3 +1,5 @@ +; This file is INCLUDEd three times, once for each audio engine. + dw .wave0 dw .wave1 dw .wave2 diff --git a/data/hm_moves.asm b/data/hm_moves.asm new file mode 100644 index 00000000..d72eddfe --- /dev/null +++ b/data/hm_moves.asm @@ -0,0 +1,7 @@ +HMMoveArray: + db CUT + db FLY + db SURF + db STRENGTH + db FLASH + db -1 diff --git a/engine/HoF_room_pc.asm b/engine/HoF_room_pc.asm deleted file mode 100755 index f820aae3..00000000 --- a/engine/HoF_room_pc.asm +++ /dev/null @@ -1,270 +0,0 @@ -HallOfFamePC: - callba AnimateHallOfFame - call ClearScreen - ld c, 100 - call DelayFrames - call DisableLCD - ld hl, vFont - ld bc, $800 / 2 - call ZeroMemory - ld hl, vChars2 + $600 - ld bc, $200 / 2 - call ZeroMemory - ld hl, vChars2 + $7e0 - ld bc, $10 - ld a, $ff - call FillMemory - coord hl, 0, 0 - call FillFourRowsWithBlack - coord hl, 0, 14 - call FillFourRowsWithBlack - ld a, %11000000 - ld [rBGP], a - call EnableLCD - ld a, $ff - call PlaySoundWaitForCurrent - ld c, BANK(Music_Credits) - ld a, MUSIC_CREDITS - call PlayMusic - ld c, 128 - call DelayFrames - xor a - ld [wUnusedCD3D], a ; not read - ld [wNumCreditsMonsDisplayed], a - jp Credits - -FadeInCreditsText: - ld hl, HoFGBPalettes - ld b, 4 -.loop - ld a, [hli] - ld [rBGP], a - ld c, 5 - call DelayFrames - dec b - jr nz, .loop - ret - -DisplayCreditsMon: - xor a - ld [H_AUTOBGTRANSFERENABLED], a - call SaveScreenTilesToBuffer1 - call FillMiddleOfScreenWithWhite - - ; display the next monster from CreditsMons - ld hl, wNumCreditsMonsDisplayed - ld c, [hl] ; how many monsters have we displayed so far? - inc [hl] - ld b, 0 - ld hl, CreditsMons - add hl, bc ; go that far in the list of monsters and get the next one - ld a, [hl] - ld [wcf91], a - ld [wd0b5], a - coord hl, 8, 6 - call GetMonHeader - call LoadFrontSpriteByMonIndex - ld hl, vBGMap0 + $c - call CreditsCopyTileMapToVRAM - xor a - ld [H_AUTOBGTRANSFERENABLED], a - call LoadScreenTilesFromBuffer1 - ld hl, vBGMap0 - call CreditsCopyTileMapToVRAM - ld a, $A7 - ld [rWX], a - ld hl, vBGMap1 - call CreditsCopyTileMapToVRAM - call FillMiddleOfScreenWithWhite - ld a, %11111100 ; make the mon a black silhouette - ld [rBGP], a - -; scroll the mon left by one tile 7 times - ld bc, 7 -.scrollLoop1 - call ScrollCreditsMonLeft - dec c - jr nz, .scrollLoop1 - -; scroll the mon left by one tile 20 times -; This time, we have to move the window left too in order to hide the text that -; is wrapping around to the right side of the screen. - ld c, 20 -.scrollLoop2 - call ScrollCreditsMonLeft - ld a, [rWX] - sub 8 - ld [rWX], a - dec c - jr nz, .scrollLoop2 - - xor a - ld [hWY], a - ld a, %11000000 - ld [rBGP], a - ret - -INCLUDE "data/credit_mons.asm" - -ScrollCreditsMonLeft: - ld h, b - ld l, $20 - call ScrollCreditsMonLeft_SetSCX - ld h, $0 - ld l, $70 - call ScrollCreditsMonLeft_SetSCX - ld a, b - add $8 - ld b, a - ret - -ScrollCreditsMonLeft_SetSCX: - ld a, [rLY] - cp l - jr nz, ScrollCreditsMonLeft_SetSCX - ld a, h - ld [rSCX], a -.loop - ld a, [rLY] - cp h - jr z, .loop - ret - -HoFGBPalettes: - db %11000000 - db %11010000 - db %11100000 - db %11110000 - -CreditsCopyTileMapToVRAM: - ld a, l - ld [H_AUTOBGTRANSFERDEST], a - ld a, h - ld [H_AUTOBGTRANSFERDEST + 1], a - ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a - jp Delay3 - -ZeroMemory: -; zero bc bytes at hl - ld [hl], 0 - inc hl - inc hl - dec bc - ld a, b - or c - jr nz, ZeroMemory - ret - -FillFourRowsWithBlack: - ld bc, SCREEN_WIDTH * 4 - ld a, $7e - jp FillMemory - -FillMiddleOfScreenWithWhite: - coord hl, 0, 4 - ld bc, SCREEN_WIDTH * 10 - ld a, " " - jp FillMemory - -Credits: - ld de, CreditsOrder - push de -.nextCreditsScreen - pop de - coord hl, 9, 6 - push hl - call FillMiddleOfScreenWithWhite - pop hl -.nextCreditsCommand - ld a, [de] - inc de - push de - cp $ff - jr z, .fadeInTextAndShowMon - cp $fe - jr z, .showTextAndShowMon - cp $fd - jr z, .fadeInText - cp $fc - jr z, .showText - cp $fb - jr z, .showCopyrightText - cp $fa - jr z, .showTheEnd - push hl - push hl - ld hl, CreditsTextPointers - add a - ld c, a - ld b, 0 - add hl, bc - ld e, [hl] - inc hl - ld d, [hl] - ld a, [de] - inc de - ld c, a - ld b, $ff - pop hl - add hl, bc - call PlaceString - pop hl - ld bc, SCREEN_WIDTH * 2 - add hl, bc - pop de - jr .nextCreditsCommand -.fadeInTextAndShowMon - call FadeInCreditsText - ld c, 90 - jr .next1 -.showTextAndShowMon - ld c, 110 -.next1 - call DelayFrames - call DisplayCreditsMon - jr .nextCreditsScreen -.fadeInText - call FadeInCreditsText - ld c, 120 - jr .next2 -.showText - ld c, 140 -.next2 - call DelayFrames - jr .nextCreditsScreen -.showCopyrightText - push de - callba LoadCopyrightTiles - pop de - pop de - jr .nextCreditsCommand -.showTheEnd - ld c, 16 - call DelayFrames - call FillMiddleOfScreenWithWhite - pop de - ld de, TheEndGfx - ld hl, vChars2 + $600 - lb bc, BANK(TheEndGfx), (TheEndGfxEnd - TheEndGfx) / $10 - call CopyVideoData - coord hl, 4, 8 - ld de, TheEndTextString - call PlaceString - coord hl, 4, 9 - inc de - call PlaceString - jp FadeInCreditsText - -TheEndTextString: -; "T H E E N D" - db $60," ",$62," ",$64," ",$64," ",$66," ",$68,"@" - db $61," ",$63," ",$65," ",$65," ",$67," ",$69,"@" - -INCLUDE "data/credits_order.asm" - -INCLUDE "text/credits_text.asm" - -TheEndGfx: - INCBIN "gfx/intro_credits/the_end.2bpp" -TheEndGfxEnd: diff --git a/engine/add_mon.asm b/engine/add_mon.asm deleted file mode 100644 index 7627136b..00000000 --- a/engine/add_mon.asm +++ /dev/null @@ -1,516 +0,0 @@ -_AddPartyMon:: -; Adds a new mon to the player's or enemy's party. -; [wMonDataLocation] is used in an unusual way in this function. -; If the lower nybble is 0, the mon is added to the player's party, else the enemy's. -; If the entire value is 0, then the player is allowed to name the mon. - ld de, wPartyCount - ld a, [wMonDataLocation] - and $f - jr z, .next - ld de, wEnemyPartyCount -.next - ld a, [de] - inc a - cp PARTY_LENGTH + 1 - ret nc ; return if the party is already full - ld [de], a - ld a, [de] - ld [hNewPartyLength], a - add e - ld e, a - jr nc, .noCarry - inc d -.noCarry - ld a, [wcf91] - ld [de], a ; write species of new mon in party list - inc de - ld a, $ff ; terminator - ld [de], a - ld hl, wPartyMonOT - ld a, [wMonDataLocation] - and $f - jr z, .next2 - ld hl, wEnemyMonOT -.next2 - ld a, [hNewPartyLength] - dec a - call SkipFixedLengthTextEntries - ld d, h - ld e, l - ld hl, wPlayerName - ld bc, NAME_LENGTH - call CopyData - ld a, [wMonDataLocation] - and a - jr nz, .skipNaming - ld hl, wPartyMonNicks - ld a, [hNewPartyLength] - dec a - call SkipFixedLengthTextEntries - ld a, NAME_MON_SCREEN - ld [wNamingScreenType], a - predef AskName -.skipNaming - ld hl, wPartyMons - ld a, [wMonDataLocation] - and $f - jr z, .next3 - ld hl, wEnemyMons -.next3 - ld a, [hNewPartyLength] - dec a - ld bc, wPartyMon2 - wPartyMon1 - call AddNTimes - ld e, l - ld d, h - push hl - ld a, [wcf91] - ld [wd0b5], a - call GetMonHeader - ld hl, wMonHeader - ld a, [hli] - ld [de], a ; species - inc de - pop hl - push hl - ld a, [wMonDataLocation] - and $f - ld a, $98 ; set enemy trainer mon IVs to fixed average values - ld b, $88 - jr nz, .next4 - -; If the mon is being added to the player's party, update the pokedex. - ld a, [wcf91] - ld [wd11e], a - push de - predef IndexToPokedex - pop de - ld a, [wd11e] - dec a - ld c, a - ld b, FLAG_TEST - ld hl, wPokedexOwned - call FlagAction - ld a, c ; whether the mon was already flagged as owned - ld [wUnusedD153], a ; not read - ld a, [wd11e] - dec a - ld c, a - ld b, FLAG_SET - push bc - call FlagAction - pop bc - ld hl, wPokedexSeen - call FlagAction - - pop hl - push hl - - ld a, [wIsInBattle] - and a ; is this a wild mon caught in battle? - jr nz, .copyEnemyMonData - -; Not wild. - call Random ; generate random IVs - ld b, a - call Random - -.next4 - push bc - ld bc, wPartyMon1DVs - wPartyMon1 - add hl, bc - pop bc - ld [hli], a - ld [hl], b ; write IVs - ld bc, (wPartyMon1HPExp - 1) - (wPartyMon1DVs + 1) - add hl, bc - ld a, 1 - ld c, a - xor a - ld b, a - call CalcStat ; calc HP stat (set cur Hp to max HP) - ld a, [H_MULTIPLICAND+1] - ld [de], a - inc de - ld a, [H_MULTIPLICAND+2] - ld [de], a - inc de - xor a - ld [de], a ; box level - inc de - ld [de], a ; status ailments - inc de - jr .copyMonTypesAndMoves -.copyEnemyMonData - ld bc, wEnemyMon1DVs - wEnemyMon1 - add hl, bc - ld a, [wEnemyMonDVs] ; copy IVs from cur enemy mon - ld [hli], a - ld a, [wEnemyMonDVs + 1] - ld [hl], a - ld a, [wEnemyMonHP] ; copy HP from cur enemy mon - ld [de], a - inc de - ld a, [wEnemyMonHP+1] - ld [de], a - inc de - xor a - ld [de], a ; box level - inc de - ld a, [wEnemyMonStatus] ; copy status ailments from cur enemy mon - ld [de], a - inc de -.copyMonTypesAndMoves - ld hl, wMonHTypes - ld a, [hli] ; type 1 - ld [de], a - inc de - ld a, [hli] ; type 2 - ld [de], a - inc de - ld a, [hli] ; catch rate (held item in gen 2) - ld [de], a - ld hl, wMonHMoves - ld a, [hli] - inc de - push de - ld [de], a - ld a, [hli] - inc de - ld [de], a - ld a, [hli] - inc de - ld [de], a - ld a, [hli] - inc de - ld [de], a - push de - dec de - dec de - dec de - xor a - ld [wLearningMovesFromDayCare], a - predef WriteMonMoves - pop de - ld a, [wPlayerID] ; set trainer ID to player ID - inc de - ld [de], a - ld a, [wPlayerID + 1] - inc de - ld [de], a - push de - ld a, [wCurEnemyLVL] - ld d, a - callab CalcExperience - pop de - inc de - ld a, [hExperience] ; write experience - ld [de], a - inc de - ld a, [hExperience + 1] - ld [de], a - inc de - ld a, [hExperience + 2] - ld [de], a - xor a - ld b, NUM_STATS * 2 -.writeEVsLoop ; set all EVs to 0 - inc de - ld [de], a - dec b - jr nz, .writeEVsLoop - inc de - inc de - pop hl - call AddPartyMon_WriteMovePP - inc de - ld a, [wCurEnemyLVL] - ld [de], a - inc de - ld a, [wIsInBattle] - dec a - jr nz, .calcFreshStats - ld hl, wEnemyMonMaxHP - ld bc, $a - call CopyData ; copy stats of cur enemy mon - pop hl - jr .done -.calcFreshStats - pop hl - ld bc, wPartyMon1HPExp - 1 - wPartyMon1 - add hl, bc - ld b, $0 - call CalcStats ; calculate fresh set of stats -.done - scf - ret - -LoadMovePPs: - call GetPredefRegisters - ; fallthrough -AddPartyMon_WriteMovePP: - ld b, NUM_MOVES -.pploop - ld a, [hli] ; read move ID - and a - jr z, .empty - dec a - push hl - push de - push bc - ld hl, Moves - ld bc, MoveEnd - Moves - call AddNTimes - ld de, wcd6d - ld a, BANK(Moves) - call FarCopyData - pop bc - pop de - pop hl - ld a, [wcd6d + 5] ; PP is byte 5 of move data -.empty - inc de - ld [de], a - dec b - jr nz, .pploop ; there are still moves to read - ret - -; adds enemy mon [wcf91] (at position [wWhichPokemon] in enemy list) to own party -; used in the cable club trade center -_AddEnemyMonToPlayerParty:: - ld hl, wPartyCount - ld a, [hl] - cp PARTY_LENGTH - scf - ret z ; party full, return failure - inc a - ld [hl], a ; add 1 to party members - ld c, a - ld b, $0 - add hl, bc - ld a, [wcf91] - ld [hli], a ; add mon as last list entry - ld [hl], $ff ; write new sentinel - ld hl, wPartyMons - ld a, [wPartyCount] - dec a - ld bc, wPartyMon2 - wPartyMon1 - call AddNTimes - ld e, l - ld d, h - ld hl, wLoadedMon - call CopyData ; write new mon's data (from wLoadedMon) - ld hl, wPartyMonOT - ld a, [wPartyCount] - dec a - call SkipFixedLengthTextEntries - ld d, h - ld e, l - ld hl, wEnemyMonOT - ld a, [wWhichPokemon] - call SkipFixedLengthTextEntries - ld bc, NAME_LENGTH - call CopyData ; write new mon's OT name (from an enemy mon) - ld hl, wPartyMonNicks - ld a, [wPartyCount] - dec a - call SkipFixedLengthTextEntries - ld d, h - ld e, l - ld hl, wEnemyMonNicks - ld a, [wWhichPokemon] - call SkipFixedLengthTextEntries - ld bc, NAME_LENGTH - call CopyData ; write new mon's nickname (from an enemy mon) - ld a, [wcf91] - ld [wd11e], a - predef IndexToPokedex - ld a, [wd11e] - dec a - ld c, a - ld b, FLAG_SET - ld hl, wPokedexOwned - push bc - call FlagAction ; add to owned pokemon - pop bc - ld hl, wPokedexSeen - call FlagAction ; add to seen pokemon - and a - ret ; return success - -_MoveMon:: - ld a, [wMoveMonType] - and a ; BOX_TO_PARTY - jr z, .checkPartyMonSlots - cp DAYCARE_TO_PARTY - jr z, .checkPartyMonSlots - cp PARTY_TO_DAYCARE - ld hl, wDayCareMon - jr z, .findMonDataSrc - ; else it's PARTY_TO_BOX - ld hl, wNumInBox - ld a, [hl] - cp MONS_PER_BOX - jr nz, .partyOrBoxNotFull - jr .boxFull -.checkPartyMonSlots - ld hl, wPartyCount - ld a, [hl] - cp PARTY_LENGTH - jr nz, .partyOrBoxNotFull -.boxFull - scf - ret -.partyOrBoxNotFull - inc a - ld [hl], a ; increment number of mons in party/box - ld c, a - ld b, 0 - add hl, bc - ld a, [wMoveMonType] - cp DAYCARE_TO_PARTY - ld a, [wDayCareMon] - jr z, .copySpecies - ld a, [wcf91] -.copySpecies - ld [hli], a ; write new mon ID - ld [hl], $ff ; write new sentinel -.findMonDataDest - ld a, [wMoveMonType] - dec a - ld hl, wPartyMons - ld bc, wPartyMon2 - wPartyMon1 ; $2c - ld a, [wPartyCount] - jr nz, .addMonOffset - ; if it's PARTY_TO_BOX - ld hl, wBoxMons - ld bc, wBoxMon2 - wBoxMon1 ; $21 - ld a, [wNumInBox] -.addMonOffset - dec a - call AddNTimes -.findMonDataSrc - push hl - ld e, l - ld d, h - ld a, [wMoveMonType] - and a - ld hl, wBoxMons - ld bc, wBoxMon2 - wBoxMon1 ; $21 - jr z, .addMonOffset2 - cp DAYCARE_TO_PARTY - ld hl, wDayCareMon - jr z, .copyMonData - ld hl, wPartyMons - ld bc, wPartyMon2 - wPartyMon1 ; $2c -.addMonOffset2 - ld a, [wWhichPokemon] - call AddNTimes -.copyMonData - push hl - push de - ld bc, wBoxMon2 - wBoxMon1 - call CopyData - pop de - pop hl - ld a, [wMoveMonType] - and a ; BOX_TO_PARTY - jr z, .findOTdest - cp DAYCARE_TO_PARTY - jr z, .findOTdest - ld bc, wBoxMon2 - wBoxMon1 - add hl, bc - ld a, [hl] ; hl = Level - inc de - inc de - inc de - ld [de], a ; de = BoxLevel -.findOTdest - ld a, [wMoveMonType] - cp PARTY_TO_DAYCARE - ld de, wDayCareMonOT - jr z, .findOTsrc - dec a - ld hl, wPartyMonOT - ld a, [wPartyCount] - jr nz, .addOToffset - ld hl, wBoxMonOT - ld a, [wNumInBox] -.addOToffset - dec a - call SkipFixedLengthTextEntries - ld d, h - ld e, l -.findOTsrc - ld hl, wBoxMonOT - ld a, [wMoveMonType] - and a - jr z, .addOToffset2 - ld hl, wDayCareMonOT - cp DAYCARE_TO_PARTY - jr z, .copyOT - ld hl, wPartyMonOT -.addOToffset2 - ld a, [wWhichPokemon] - call SkipFixedLengthTextEntries -.copyOT - ld bc, NAME_LENGTH - call CopyData - ld a, [wMoveMonType] -.findNickDest - cp PARTY_TO_DAYCARE - ld de, wDayCareMonName - jr z, .findNickSrc - dec a - ld hl, wPartyMonNicks - ld a, [wPartyCount] - jr nz, .addNickOffset - ld hl, wBoxMonNicks - ld a, [wNumInBox] -.addNickOffset - dec a - call SkipFixedLengthTextEntries - ld d, h - ld e, l -.findNickSrc - ld hl, wBoxMonNicks - ld a, [wMoveMonType] - and a - jr z, .addNickOffset2 - ld hl, wDayCareMonName - cp DAYCARE_TO_PARTY - jr z, .copyNick - ld hl, wPartyMonNicks -.addNickOffset2 - ld a, [wWhichPokemon] - call SkipFixedLengthTextEntries -.copyNick - ld bc, NAME_LENGTH - call CopyData - pop hl - ld a, [wMoveMonType] - cp PARTY_TO_BOX - jr z, .done - cp PARTY_TO_DAYCARE - jr z, .done - push hl - srl a - add $2 - ld [wMonDataLocation], a - call LoadMonData - callba CalcLevelFromExperience - ld a, d - ld [wCurEnemyLVL], a - pop hl - ld bc, wBoxMon2 - wBoxMon1 - add hl, bc - ld [hli], a - ld d, h - ld e, l - ld bc, -18 - add hl, bc - ld b, $1 - call CalcStats -.done - and a - ret diff --git a/engine/battle/bank_e_misc.asm b/engine/battle/bank_e_misc.asm deleted file mode 100755 index 33af6f6f..00000000 --- a/engine/battle/bank_e_misc.asm +++ /dev/null @@ -1,122 +0,0 @@ -; formats a string at wMovesString that lists the moves at wMoves -FormatMovesString: - ld hl, wMoves - ld de, wMovesString - ld b, $0 -.printMoveNameLoop - ld a, [hli] - and a ; end of move list? - jr z, .printDashLoop ; print dashes when no moves are left - push hl - ld [wd0b5], a - ld a, BANK(MoveNames) - ld [wPredefBank], a - ld a, MOVE_NAME - ld [wNameListType], a - call GetName - ld hl, wcd6d -.copyNameLoop - ld a, [hli] - cp $50 - jr z, .doneCopyingName - ld [de], a - inc de - jr .copyNameLoop -.doneCopyingName - ld a, b - ld [wNumMovesMinusOne], a - inc b - ld a, $4e ; line break - ld [de], a - inc de - pop hl - ld a, b - cp NUM_MOVES - jr z, .done - jr .printMoveNameLoop -.printDashLoop - ld a, "-" - ld [de], a - inc de - inc b - ld a, b - cp NUM_MOVES - jr z, .done - ld a, $4e ; line break - ld [de], a - inc de - jr .printDashLoop -.done - ld a, "@" - ld [de], a - ret - -; XXX this is called in a few places, but it doesn't appear to do anything useful -InitList: - ld a, [wInitListType] - cp INIT_ENEMYOT_LIST - jr nz, .notEnemy - ld hl, wEnemyPartyCount - ld de, wEnemyMonOT - ld a, ENEMYOT_NAME - jr .done -.notEnemy - cp INIT_PLAYEROT_LIST - jr nz, .notPlayer - ld hl, wPartyCount - ld de, wPartyMonOT - ld a, PLAYEROT_NAME - jr .done -.notPlayer - cp INIT_MON_LIST - jr nz, .notMonster - ld hl, wItemList - ld de, MonsterNames - ld a, MONSTER_NAME - jr .done -.notMonster - cp INIT_BAG_ITEM_LIST - jr nz, .notBag - ld hl, wNumBagItems - ld de, ItemNames - ld a, ITEM_NAME - jr .done -.notBag - ld hl, wItemList - ld de, ItemNames - ld a, ITEM_NAME -.done - ld [wNameListType], a - ld a, l - ld [wListPointer], a - ld a, h - ld [wListPointer + 1], a - ld a, e - ld [wUnusedCF8D], a - ld a, d - ld [wUnusedCF8D + 1], a - ld bc, ItemPrices - ld a, c - ld [wItemPrices], a - ld a, b - ld [wItemPrices + 1], a - ret - -; get species of mon e in list [wMonDataLocation] for LoadMonData -GetMonSpecies: - ld hl, wPartySpecies - ld a, [wMonDataLocation] - and a - jr z, .getSpecies - dec a - jr z, .enemyParty - ld hl, wBoxSpecies - jr .getSpecies -.enemyParty - ld hl, wEnemyPartyMons -.getSpecies - ld d, 0 - add hl, de - ld a, [hl] - ld [wcf91], a - ret diff --git a/engine/battle/misc.asm b/engine/battle/misc.asm new file mode 100755 index 00000000..33af6f6f --- /dev/null +++ b/engine/battle/misc.asm @@ -0,0 +1,122 @@ +; formats a string at wMovesString that lists the moves at wMoves +FormatMovesString: + ld hl, wMoves + ld de, wMovesString + ld b, $0 +.printMoveNameLoop + ld a, [hli] + and a ; end of move list? + jr z, .printDashLoop ; print dashes when no moves are left + push hl + ld [wd0b5], a + ld a, BANK(MoveNames) + ld [wPredefBank], a + ld a, MOVE_NAME + ld [wNameListType], a + call GetName + ld hl, wcd6d +.copyNameLoop + ld a, [hli] + cp $50 + jr z, .doneCopyingName + ld [de], a + inc de + jr .copyNameLoop +.doneCopyingName + ld a, b + ld [wNumMovesMinusOne], a + inc b + ld a, $4e ; line break + ld [de], a + inc de + pop hl + ld a, b + cp NUM_MOVES + jr z, .done + jr .printMoveNameLoop +.printDashLoop + ld a, "-" + ld [de], a + inc de + inc b + ld a, b + cp NUM_MOVES + jr z, .done + ld a, $4e ; line break + ld [de], a + inc de + jr .printDashLoop +.done + ld a, "@" + ld [de], a + ret + +; XXX this is called in a few places, but it doesn't appear to do anything useful +InitList: + ld a, [wInitListType] + cp INIT_ENEMYOT_LIST + jr nz, .notEnemy + ld hl, wEnemyPartyCount + ld de, wEnemyMonOT + ld a, ENEMYOT_NAME + jr .done +.notEnemy + cp INIT_PLAYEROT_LIST + jr nz, .notPlayer + ld hl, wPartyCount + ld de, wPartyMonOT + ld a, PLAYEROT_NAME + jr .done +.notPlayer + cp INIT_MON_LIST + jr nz, .notMonster + ld hl, wItemList + ld de, MonsterNames + ld a, MONSTER_NAME + jr .done +.notMonster + cp INIT_BAG_ITEM_LIST + jr nz, .notBag + ld hl, wNumBagItems + ld de, ItemNames + ld a, ITEM_NAME + jr .done +.notBag + ld hl, wItemList + ld de, ItemNames + ld a, ITEM_NAME +.done + ld [wNameListType], a + ld a, l + ld [wListPointer], a + ld a, h + ld [wListPointer + 1], a + ld a, e + ld [wUnusedCF8D], a + ld a, d + ld [wUnusedCF8D + 1], a + ld bc, ItemPrices + ld a, c + ld [wItemPrices], a + ld a, b + ld [wItemPrices + 1], a + ret + +; get species of mon e in list [wMonDataLocation] for LoadMonData +GetMonSpecies: + ld hl, wPartySpecies + ld a, [wMonDataLocation] + and a + jr z, .getSpecies + dec a + jr z, .enemyParty + ld hl, wBoxSpecies + jr .getSpecies +.enemyParty + ld hl, wEnemyPartyMons +.getSpecies + ld d, 0 + add hl, de + ld a, [hl] + ld [wcf91], a + ret diff --git a/engine/battle/moveEffects/conversion_effect.asm b/engine/battle/moveEffects/conversion_effect.asm deleted file mode 100644 index f23c3d70..00000000 --- a/engine/battle/moveEffects/conversion_effect.asm +++ /dev/null @@ -1,35 +0,0 @@ -ConversionEffect_: - ld hl, wEnemyMonType1 - ld de, wBattleMonType1 - ld a, [H_WHOSETURN] - and a - ld a, [wEnemyBattleStatus1] - jr z, .conversionEffect - push hl - ld h, d - ld l, e - pop de - ld a, [wPlayerBattleStatus1] -.conversionEffect - bit INVULNERABLE, a ; is mon immune to typical attacks (dig/fly) - jr nz, PrintButItFailedText -; copy target's types to user - ld a, [hli] - ld [de], a - inc de - ld a, [hl] - ld [de], a - ld hl, PlayCurrentMoveAnimation - call CallBankF - ld hl, ConvertedTypeText - jp PrintText - -ConvertedTypeText: - TX_FAR _ConvertedTypeText - db "@" - -PrintButItFailedText: - ld hl, PrintButItFailedText_ -CallBankF: - ld b, BANK(PrintButItFailedText_) - jp Bankswitch diff --git a/engine/battle/moveEffects/drain_hp_effect.asm b/engine/battle/moveEffects/drain_hp_effect.asm deleted file mode 100644 index e5f4681a..00000000 --- a/engine/battle/moveEffects/drain_hp_effect.asm +++ /dev/null @@ -1,104 +0,0 @@ -DrainHPEffect_: - ld hl, wDamage - ld a, [hl] - srl a ; divide damage by 2 - ld [hli], a - ld a, [hl] - rr a - ld [hld], a - or [hl] ; is damage 0? - jr nz, .getAttackerHP -; if damage is 0, increase to 1 so that the attacker gains at least 1 HP - inc hl - inc [hl] -.getAttackerHP - ld hl, wBattleMonHP - ld de, wBattleMonMaxHP - ld a, [H_WHOSETURN] - and a - jp z, .addDamageToAttackerHP - ld hl, wEnemyMonHP - ld de, wEnemyMonMaxHP -.addDamageToAttackerHP - ld bc, wHPBarOldHP+1 -; copy current HP to wHPBarOldHP - ld a, [hli] - ld [bc], a - ld a, [hl] - dec bc - ld [bc], a -; copy max HP to wHPBarMaxHP - ld a, [de] - dec bc - ld [bc], a - inc de - ld a, [de] - dec bc - ld [bc], a -; add damage to attacker's HP and copy new HP to wHPBarNewHP - ld a, [wDamage + 1] - ld b, [hl] - add b - ld [hld], a - ld [wHPBarNewHP], a - ld a, [wDamage] - ld b, [hl] - adc b - ld [hli], a - ld [wHPBarNewHP+1], a - jr c, .capToMaxHP ; if HP > 65,535, cap to max HP -; compare HP with max HP - ld a, [hld] - ld b, a - ld a, [de] - dec de - sub b - ld a, [hli] - ld b, a - ld a, [de] - inc de - sbc b - jr nc, .next -.capToMaxHP - ld a, [de] - ld [hld], a - ld [wHPBarNewHP], a - dec de - ld a, [de] - ld [hli], a - ld [wHPBarNewHP+1], a - inc de -.next - ld a, [H_WHOSETURN] - and a - coord hl, 10, 9 - ld a, $1 - jr z, .next2 - coord hl, 2, 2 - xor a -.next2 - ld [wHPBarType], a - predef UpdateHPBar2 - predef DrawPlayerHUDAndHPBar - predef DrawEnemyHUDAndHPBar - callab ReadPlayerMonCurHPAndStatus - ld hl, SuckedHealthText - ld a, [H_WHOSETURN] - and a - ld a, [wPlayerMoveEffect] - jr z, .next3 - ld a, [wEnemyMoveEffect] -.next3 - cp DREAM_EATER_EFFECT - jr nz, .printText - ld hl, DreamWasEatenText -.printText - jp PrintText - -SuckedHealthText: - TX_FAR _SuckedHealthText - db "@" - -DreamWasEatenText: - TX_FAR _DreamWasEatenText - db "@" diff --git a/engine/battle/moveEffects/focus_energy_effect.asm b/engine/battle/moveEffects/focus_energy_effect.asm deleted file mode 100644 index 16dad7bb..00000000 --- a/engine/battle/moveEffects/focus_energy_effect.asm +++ /dev/null @@ -1,22 +0,0 @@ -FocusEnergyEffect_: - ld hl, wPlayerBattleStatus2 - ld a, [H_WHOSETURN] - and a - jr z, .notEnemy - ld hl, wEnemyBattleStatus2 -.notEnemy - bit GETTING_PUMPED, [hl] ; is mon already using focus energy? - jr nz, .alreadyUsing - set GETTING_PUMPED, [hl] ; mon is now using focus energy - callab PlayCurrentMoveAnimation - ld hl, GettingPumpedText - jp PrintText -.alreadyUsing - ld c, 50 - call DelayFrames - jpab PrintButItFailedText_ - -GettingPumpedText: - TX_DELAY - TX_FAR _GettingPumpedText - db "@" diff --git a/engine/battle/moveEffects/haze_effect.asm b/engine/battle/moveEffects/haze_effect.asm deleted file mode 100644 index 47723ba2..00000000 --- a/engine/battle/moveEffects/haze_effect.asm +++ /dev/null @@ -1,81 +0,0 @@ -HazeEffect_: - ld a, $7 -; store 7 on every stat mod - ld hl, wPlayerMonAttackMod - call ResetStatMods - ld hl, wEnemyMonAttackMod - call ResetStatMods -; copy unmodified stats to battle stats - ld hl, wPlayerMonUnmodifiedAttack - ld de, wBattleMonAttack - call ResetStats - ld hl, wEnemyMonUnmodifiedAttack - ld de, wEnemyMonAttack - call ResetStats -; cure non-volatile status, but only for the target - ld hl, wEnemyMonStatus - ld de, wEnemySelectedMove - ld a, [H_WHOSETURN] - and a - jr z, .cureStatuses - ld hl, wBattleMonStatus - dec de ; wPlayerSelectedMove - -.cureStatuses - ld a, [hl] - ld [hl], $0 - and SLP | (1 << FRZ) - jr z, .cureVolatileStatuses -; prevent the Pokemon from executing a move if it was asleep or frozen - ld a, $ff - ld [de], a - -.cureVolatileStatuses - xor a - ld [wPlayerDisabledMove], a - ld [wEnemyDisabledMove], a - ld hl, wPlayerDisabledMoveNumber - ld [hli], a - ld [hl], a - ld hl, wPlayerBattleStatus1 - call CureVolatileStatuses - ld hl, wEnemyBattleStatus1 - call CureVolatileStatuses - ld hl, PlayCurrentMoveAnimation - call CallBankF - ld hl, StatusChangesEliminatedText - jp PrintText - -CureVolatileStatuses: - res CONFUSED, [hl] - inc hl ; BATTSTATUS2 - ld a, [hl] - ; clear USING_X_ACCURACY, PROTECTED_BY_MIST, GETTING_PUMPED, and SEEDED statuses - and $ff ^((1 << USING_X_ACCURACY) | (1 << PROTECTED_BY_MIST) | (1 << GETTING_PUMPED) | (1 << SEEDED)) - ld [hli], a ; BATTSTATUS3 - ld a, [hl] - and %11110000 | (1 << TRANSFORMED) ; clear Bad Poison, Reflect and Light Screen statuses - ld [hl], a - ret - -ResetStatMods: - ld b, $8 -.loop - ld [hli], a - dec b - jr nz, .loop - ret - -ResetStats: - ld b, $8 -.loop - ld a, [hli] - ld [de], a - inc de - dec b - jr nz, .loop - ret - -StatusChangesEliminatedText: - TX_FAR _StatusChangesEliminatedText - db "@" diff --git a/engine/battle/moveEffects/heal_effect.asm b/engine/battle/moveEffects/heal_effect.asm deleted file mode 100644 index 2e68acc0..00000000 --- a/engine/battle/moveEffects/heal_effect.asm +++ /dev/null @@ -1,120 +0,0 @@ -HealEffect_: - ld a, [H_WHOSETURN] - and a - ld de, wBattleMonHP - ld hl, wBattleMonMaxHP - ld a, [wPlayerMoveNum] - jr z, .healEffect - ld de, wEnemyMonHP - ld hl, wEnemyMonMaxHP - ld a, [wEnemyMoveNum] -.healEffect - ld b, a - ld a, [de] - cp [hl] ; most significant bytes comparison is ignored - ; causes the move to miss if max HP is 255 or 511 points higher than the current HP - inc de - inc hl - ld a, [de] - sbc [hl] - jp z, .failed ; no effect if user's HP is already at its maximum - ld a, b - cp REST - jr nz, .healHP - push hl - push de - push af - ld c, 50 - call DelayFrames - ld hl, wBattleMonStatus - ld a, [H_WHOSETURN] - and a - jr z, .restEffect - ld hl, wEnemyMonStatus -.restEffect - ld a, [hl] - and a - ld [hl], 2 ; clear status and set number of turns asleep to 2 - ld hl, StartedSleepingEffect ; if mon didn't have an status - jr z, .printRestText - ld hl, FellAsleepBecameHealthyText ; if mon had an status -.printRestText - call PrintText - pop af - pop de - pop hl -.healHP - ld a, [hld] - ld [wHPBarMaxHP], a - ld c, a - ld a, [hl] - ld [wHPBarMaxHP+1], a - ld b, a - jr z, .gotHPAmountToHeal -; Recover and Softboiled only heal for half the mon's max HP - srl b - rr c -.gotHPAmountToHeal -; update HP - ld a, [de] - ld [wHPBarOldHP], a - add c - ld [de], a - ld [wHPBarNewHP], a - dec de - ld a, [de] - ld [wHPBarOldHP+1], a - adc b - ld [de], a - ld [wHPBarNewHP+1], a - inc hl - inc de - ld a, [de] - dec de - sub [hl] - dec hl - ld a, [de] - sbc [hl] - jr c, .playAnim -; copy max HP to current HP if an overflow occurred - ld a, [hli] - ld [de], a - ld [wHPBarNewHP+1], a - inc de - ld a, [hl] - ld [de], a - ld [wHPBarNewHP], a -.playAnim - ld hl, PlayCurrentMoveAnimation - call BankswitchEtoF - ld a, [H_WHOSETURN] - and a - coord hl, 10, 9 - ld a, $1 - jr z, .updateHPBar - coord hl, 2, 2 - xor a -.updateHPBar - ld [wHPBarType], a - predef UpdateHPBar2 - ld hl, DrawHUDsAndHPBars - call BankswitchEtoF - ld hl, RegainedHealthText - jp PrintText -.failed - ld c, 50 - call DelayFrames - ld hl, PrintButItFailedText_ - jp BankswitchEtoF - -StartedSleepingEffect: - TX_FAR _StartedSleepingEffect - db "@" - -FellAsleepBecameHealthyText: - TX_FAR _FellAsleepBecameHealthyText - db "@" - -RegainedHealthText: - TX_FAR _RegainedHealthText - db "@" diff --git a/engine/battle/moveEffects/leech_seed_effect.asm b/engine/battle/moveEffects/leech_seed_effect.asm deleted file mode 100644 index f4d3ee9c..00000000 --- a/engine/battle/moveEffects/leech_seed_effect.asm +++ /dev/null @@ -1,40 +0,0 @@ -LeechSeedEffect_: - callab MoveHitTest - ld a, [wMoveMissed] - and a - jr nz, .moveMissed - ld hl, wEnemyBattleStatus2 - ld de, wEnemyMonType1 - ld a, [H_WHOSETURN] - and a - jr z, .leechSeedEffect - ld hl, wPlayerBattleStatus2 - ld de, wBattleMonType1 -.leechSeedEffect -; miss if the target is grass-type or already seeded - ld a, [de] - cp GRASS - jr z, .moveMissed - inc de - ld a, [de] - cp GRASS - jr z, .moveMissed - bit SEEDED, [hl] - jr nz, .moveMissed - set SEEDED, [hl] - callab PlayCurrentMoveAnimation - ld hl, WasSeededText - jp PrintText -.moveMissed - ld c, 50 - call DelayFrames - ld hl, EvadedAttackText - jp PrintText - -WasSeededText: - TX_FAR _WasSeededText - db "@" - -EvadedAttackText: - TX_FAR _EvadedAttackText - db "@" diff --git a/engine/battle/moveEffects/mist_effect.asm b/engine/battle/moveEffects/mist_effect.asm deleted file mode 100644 index 65070a3e..00000000 --- a/engine/battle/moveEffects/mist_effect.asm +++ /dev/null @@ -1,19 +0,0 @@ -MistEffect_: - ld hl, wPlayerBattleStatus2 - ld a, [H_WHOSETURN] - and a - jr z, .mistEffect - ld hl, wEnemyBattleStatus2 -.mistEffect - bit PROTECTED_BY_MIST, [hl] ; is mon protected by mist? - jr nz, .mistAlreadyInUse - set PROTECTED_BY_MIST, [hl] ; mon is now protected by mist - callab PlayCurrentMoveAnimation - ld hl, ShroudedInMistText - jp PrintText -.mistAlreadyInUse - jpab PrintButItFailedText_ - -ShroudedInMistText: - TX_FAR _ShroudedInMistText - db "@" diff --git a/engine/battle/moveEffects/one_hit_ko_effect.asm b/engine/battle/moveEffects/one_hit_ko_effect.asm deleted file mode 100644 index 827e2197..00000000 --- a/engine/battle/moveEffects/one_hit_ko_effect.asm +++ /dev/null @@ -1,38 +0,0 @@ -OneHitKOEffect_: - ld hl, wDamage - xor a - ld [hli], a - ld [hl], a ; set the damage output to zero - dec a - ld [wCriticalHitOrOHKO], a - ld hl, wBattleMonSpeed + 1 - ld de, wEnemyMonSpeed + 1 - ld a, [H_WHOSETURN] - and a - jr z, .compareSpeed - ld hl, wEnemyMonSpeed + 1 - ld de, wBattleMonSpeed + 1 -.compareSpeed -; set damage to 65535 and OHKO flag is the user's current speed is higher than the target's - ld a, [de] - dec de - ld b, a - ld a, [hld] - sub b - ld a, [de] - ld b, a - ld a, [hl] - sbc b - jr c, .userIsSlower - ld hl, wDamage - ld a, $ff - ld [hli], a - ld [hl], a - ld a, $2 - ld [wCriticalHitOrOHKO], a - ret -.userIsSlower -; keep damage at 0 and set move missed flag if target's current speed is higher instead - ld a, $1 - ld [wMoveMissed], a - ret diff --git a/engine/battle/moveEffects/paralyze_effect.asm b/engine/battle/moveEffects/paralyze_effect.asm deleted file mode 100644 index 95979ae6..00000000 --- a/engine/battle/moveEffects/paralyze_effect.asm +++ /dev/null @@ -1,47 +0,0 @@ -ParalyzeEffect_: - ld hl, wEnemyMonStatus - ld de, wPlayerMoveType - ld a, [H_WHOSETURN] - and a - jp z, .next - ld hl, wBattleMonStatus - ld de, wEnemyMoveType -.next - ld a, [hl] - and a ; does the target already have a status ailment? - jr nz, .didntAffect -; check if the target is immune due to types - ld a, [de] - cp ELECTRIC - jr nz, .hitTest - ld b, h - ld c, l - inc bc - ld a, [bc] - cp GROUND - jr z, .doesntAffect - inc bc - ld a, [bc] - cp GROUND - jr z, .doesntAffect -.hitTest - push hl - callab MoveHitTest - pop hl - ld a, [wMoveMissed] - and a - jr nz, .didntAffect - set PAR, [hl] - callab QuarterSpeedDueToParalysis - ld c, 30 - call DelayFrames - callab PlayCurrentMoveAnimation - jpab PrintMayNotAttackText -.didntAffect - ld c, 50 - call DelayFrames - jpab PrintDidntAffectText -.doesntAffect - ld c, 50 - call DelayFrames - jpab PrintDoesntAffectText diff --git a/engine/battle/moveEffects/pay_day_effect.asm b/engine/battle/moveEffects/pay_day_effect.asm deleted file mode 100644 index e5daf014..00000000 --- a/engine/battle/moveEffects/pay_day_effect.asm +++ /dev/null @@ -1,45 +0,0 @@ -PayDayEffect_: - xor a - ld hl, wcd6d - ld [hli], a - ld a, [H_WHOSETURN] - and a - ld a, [wBattleMonLevel] - jr z, .payDayEffect - ld a, [wEnemyMonLevel] -.payDayEffect -; level * 2 - add a - ld [H_DIVIDEND + 3], a - xor a - ld [H_DIVIDEND], a - ld [H_DIVIDEND + 1], a - ld [H_DIVIDEND + 2], a -; convert to BCD - ld a, 100 - ld [H_DIVISOR], a - ld b, $4 - call Divide - ld a, [H_QUOTIENT + 3] - ld [hli], a - ld a, [H_REMAINDER] - ld [H_DIVIDEND + 3], a - ld a, 10 - ld [H_DIVISOR], a - ld b, $4 - call Divide - ld a, [H_QUOTIENT + 3] - swap a - ld b, a - ld a, [H_REMAINDER] - add b - ld [hl], a - ld de, wTotalPayDayMoney + 2 - ld c, $3 - predef AddBCDPredef - ld hl, CoinsScatteredText - jp PrintText - -CoinsScatteredText: - TX_FAR _CoinsScatteredText - db "@" diff --git a/engine/battle/moveEffects/recoil_effect.asm b/engine/battle/moveEffects/recoil_effect.asm deleted file mode 100644 index 0f2f087b..00000000 --- a/engine/battle/moveEffects/recoil_effect.asm +++ /dev/null @@ -1,70 +0,0 @@ -RecoilEffect_: - ld a, [H_WHOSETURN] - and a - ld a, [wPlayerMoveNum] - ld hl, wBattleMonMaxHP - jr z, .recoilEffect - ld a, [wEnemyMoveNum] - ld hl, wEnemyMonMaxHP -.recoilEffect - ld d, a - ld a, [wDamage] - ld b, a - ld a, [wDamage + 1] - ld c, a - srl b - rr c - ld a, d - cp STRUGGLE ; struggle deals 50% recoil damage - jr z, .gotRecoilDamage - srl b - rr c -.gotRecoilDamage - ld a, b - or c - jr nz, .updateHP - inc c ; minimum recoil damage is 1 -.updateHP -; subtract HP from user due to the recoil damage - ld a, [hli] - ld [wHPBarMaxHP+1], a - ld a, [hl] - ld [wHPBarMaxHP], a - push bc - ld bc, wBattleMonHP - wBattleMonMaxHP - add hl, bc - pop bc - ld a, [hl] - ld [wHPBarOldHP], a - sub c - ld [hld], a - ld [wHPBarNewHP], a - ld a, [hl] - ld [wHPBarOldHP+1], a - sbc b - ld [hl], a - ld [wHPBarNewHP+1], a - jr nc, .getHPBarCoords -; if recoil damage is higher than the Pokemon's HP, set its HP to 0 - xor a - ld [hli], a - ld [hl], a - ld hl, wHPBarNewHP - ld [hli], a - ld [hl], a -.getHPBarCoords - coord hl, 10, 9 - ld a, [H_WHOSETURN] - and a - ld a, $1 - jr z, .updateHPBar - coord hl, 2, 2 - xor a -.updateHPBar - ld [wHPBarType], a - predef UpdateHPBar2 - ld hl, HitWithRecoilText - jp PrintText -HitWithRecoilText: - TX_FAR _HitWithRecoilText - db "@" diff --git a/engine/battle/moveEffects/reflect_light_screen_effect.asm b/engine/battle/moveEffects/reflect_light_screen_effect.asm deleted file mode 100644 index 2805a969..00000000 --- a/engine/battle/moveEffects/reflect_light_screen_effect.asm +++ /dev/null @@ -1,45 +0,0 @@ -ReflectLightScreenEffect_: - ld hl, wPlayerBattleStatus3 - ld de, wPlayerMoveEffect - ld a, [H_WHOSETURN] - and a - jr z, .reflectLightScreenEffect - ld hl, wEnemyBattleStatus3 - ld de, wEnemyMoveEffect -.reflectLightScreenEffect - ld a, [de] - cp LIGHT_SCREEN_EFFECT - jr nz, .reflect - bit HAS_LIGHT_SCREEN_UP, [hl] ; is mon already protected by light screen? - jr nz, .moveFailed - set HAS_LIGHT_SCREEN_UP, [hl] ; mon is now protected by light screen - ld hl, LightScreenProtectedText - jr .playAnim -.reflect - bit HAS_REFLECT_UP, [hl] ; is mon already protected by reflect? - jr nz, .moveFailed - set HAS_REFLECT_UP, [hl] ; mon is now protected by reflect - ld hl, ReflectGainedArmorText -.playAnim - push hl - ld hl, PlayCurrentMoveAnimation - call BankswitchEtoF - pop hl - jp PrintText -.moveFailed - ld c, 50 - call DelayFrames - ld hl, PrintButItFailedText_ - jp BankswitchEtoF - -LightScreenProtectedText: - TX_FAR _LightScreenProtectedText - db "@" - -ReflectGainedArmorText: - TX_FAR _ReflectGainedArmorText - db "@" - -BankswitchEtoF: - ld b, BANK(BattleCore) - jp Bankswitch diff --git a/engine/battle/moveEffects/substitute_effect.asm b/engine/battle/moveEffects/substitute_effect.asm deleted file mode 100644 index 1bb6c887..00000000 --- a/engine/battle/moveEffects/substitute_effect.asm +++ /dev/null @@ -1,77 +0,0 @@ -SubstituteEffect_: - ld c, 50 - call DelayFrames - ld hl, wBattleMonMaxHP - ld de, wPlayerSubstituteHP - ld bc, wPlayerBattleStatus2 - ld a, [H_WHOSETURN] - and a - jr z, .notEnemy - ld hl, wEnemyMonMaxHP - ld de, wEnemySubstituteHP - ld bc, wEnemyBattleStatus2 -.notEnemy - ld a, [bc] - bit HAS_SUBSTITUTE_UP, a ; user already has substitute? - jr nz, .alreadyHasSubstitute -; quarter health to remove from user -; assumes max HP is 1023 or lower - push bc - ld a, [hli] - ld b, [hl] - srl a - rr b - srl a - rr b ; max hp / 4 - push de - ld de, wBattleMonHP - wBattleMonMaxHP - add hl, de ; point hl to current HP low byte - pop de - ld a, b - ld [de], a ; save copy of HP to subtract in wPlayerSubstituteHP/wEnemySubstituteHP - ld a, [hld] -; subtract [max hp / 4] to current HP - sub b - ld d, a - ld a, [hl] - sbc 0 - pop bc - jr c, .notEnoughHP ; underflow means user would be left with negative health - ; bug: since it only branches on carry, it will possibly leave user with 0 HP -.userHasZeroOrMoreHP - ldi [hl], a ; save resulting HP after subtraction into current HP - ld [hl], d - ld h, b - ld l, c - set HAS_SUBSTITUTE_UP, [hl] - ld a, [wOptions] - bit 7, a ; battle animation is enabled? - ld hl, PlayCurrentMoveAnimation - ld b, BANK(PlayCurrentMoveAnimation) - jr z, .animationEnabled - ld hl, AnimationSubstitute - ld b, BANK(AnimationSubstitute) -.animationEnabled - call Bankswitch ; jump to routine depending on animation setting - ld hl, SubstituteText - call PrintText - jpab DrawHUDsAndHPBars -.alreadyHasSubstitute - ld hl, HasSubstituteText - jr .printText -.notEnoughHP - ld hl, TooWeakSubstituteText -.printText - jp PrintText - -SubstituteText: - TX_FAR _SubstituteText - db "@" - -HasSubstituteText: - TX_FAR _HasSubstituteText - db "@" - -TooWeakSubstituteText: - TX_FAR _TooWeakSubstituteText - db "@" diff --git a/engine/battle/moveEffects/transform_effect.asm b/engine/battle/moveEffects/transform_effect.asm deleted file mode 100644 index 9a5de9cc..00000000 --- a/engine/battle/moveEffects/transform_effect.asm +++ /dev/null @@ -1,148 +0,0 @@ -TransformEffect_: - ld hl, wBattleMonSpecies - ld de, wEnemyMonSpecies - ld bc, wEnemyBattleStatus3 - ld a, [wEnemyBattleStatus1] - ld a, [H_WHOSETURN] - and a - jr nz, .hitTest - ld hl, wEnemyMonSpecies - ld de, wBattleMonSpecies - ld bc, wPlayerBattleStatus3 - ld [wPlayerMoveListIndex], a - ld a, [wPlayerBattleStatus1] -.hitTest - bit INVULNERABLE, a ; is mon invulnerable to typical attacks? (fly/dig) - jp nz, .failed - push hl - push de - push bc - ld hl, wPlayerBattleStatus2 - ld a, [H_WHOSETURN] - and a - jr z, .transformEffect - ld hl, wEnemyBattleStatus2 -.transformEffect -; animation(s) played are different if target has Substitute up - bit HAS_SUBSTITUTE_UP, [hl] - push af - ld hl, HideSubstituteShowMonAnim - ld b, BANK(HideSubstituteShowMonAnim) - call nz, Bankswitch - ld a, [wOptions] - add a - ld hl, PlayCurrentMoveAnimation - ld b, BANK(PlayCurrentMoveAnimation) - jr nc, .gotAnimToPlay - ld hl, AnimationTransformMon - ld b, BANK(AnimationTransformMon) -.gotAnimToPlay - call Bankswitch - ld hl, ReshowSubstituteAnim - ld b, BANK(ReshowSubstituteAnim) - pop af - call nz, Bankswitch - pop bc - ld a, [bc] - set TRANSFORMED, a ; mon is now transformed - ld [bc], a - pop de - pop hl - push hl -; transform user into opposing Pokemon -; species - ld a, [hl] - ld [de], a -; type 1, type 2, catch rate, and moves - ld bc, $5 - add hl, bc - inc de - inc de - inc de - inc de - inc de - inc bc - inc bc - call CopyData - ld a, [H_WHOSETURN] - and a - jr z, .next -; save enemy mon DVs at wTransformedEnemyMonOriginalDVs - ld a, [de] - ld [wTransformedEnemyMonOriginalDVs], a - inc de - ld a, [de] - ld [wTransformedEnemyMonOriginalDVs + 1], a - dec de -.next -; DVs - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - inc de -; Attack, Defense, Speed, and Special stats - inc hl - inc hl - inc hl - inc de - inc de - inc de - ld bc, $8 - call CopyData - ld bc, wBattleMonMoves - wBattleMonPP - add hl, bc ; ld hl, wBattleMonMoves - ld b, NUM_MOVES -.copyPPLoop -; 5 PP for all moves - ld a, [hli] - and a - jr z, .lessThanFourMoves - ld a, $5 - ld [de], a - inc de - dec b - jr nz, .copyPPLoop - jr .copyStats -.lessThanFourMoves -; 0 PP for blank moves - xor a - ld [de], a - inc de - dec b - jr nz, .lessThanFourMoves -.copyStats -; original (unmodified) stats and stat mods - pop hl - ld a, [hl] - ld [wd11e], a - call GetMonName - ld hl, wEnemyMonUnmodifiedAttack - ld de, wPlayerMonUnmodifiedAttack - call .copyBasedOnTurn ; original (unmodified) stats - ld hl, wEnemyMonStatMods - ld de, wPlayerMonStatMods - call .copyBasedOnTurn ; stat mods - ld hl, TransformedText - jp PrintText - -.copyBasedOnTurn - ld a, [H_WHOSETURN] - and a - jr z, .gotStatsOrModsToCopy - push hl - ld h, d - ld l, e - pop de -.gotStatsOrModsToCopy - ld bc, $8 - jp CopyData - -.failed - ld hl, PrintButItFailedText_ - jp BankswitchEtoF - -TransformedText: - TX_FAR _TransformedText - db "@" diff --git a/engine/battle/move_effects/conversion.asm b/engine/battle/move_effects/conversion.asm new file mode 100644 index 00000000..f23c3d70 --- /dev/null +++ b/engine/battle/move_effects/conversion.asm @@ -0,0 +1,35 @@ +ConversionEffect_: + ld hl, wEnemyMonType1 + ld de, wBattleMonType1 + ld a, [H_WHOSETURN] + and a + ld a, [wEnemyBattleStatus1] + jr z, .conversionEffect + push hl + ld h, d + ld l, e + pop de + ld a, [wPlayerBattleStatus1] +.conversionEffect + bit INVULNERABLE, a ; is mon immune to typical attacks (dig/fly) + jr nz, PrintButItFailedText +; copy target's types to user + ld a, [hli] + ld [de], a + inc de + ld a, [hl] + ld [de], a + ld hl, PlayCurrentMoveAnimation + call CallBankF + ld hl, ConvertedTypeText + jp PrintText + +ConvertedTypeText: + TX_FAR _ConvertedTypeText + db "@" + +PrintButItFailedText: + ld hl, PrintButItFailedText_ +CallBankF: + ld b, BANK(PrintButItFailedText_) + jp Bankswitch diff --git a/engine/battle/move_effects/drain_hp.asm b/engine/battle/move_effects/drain_hp.asm new file mode 100644 index 00000000..e5f4681a --- /dev/null +++ b/engine/battle/move_effects/drain_hp.asm @@ -0,0 +1,104 @@ +DrainHPEffect_: + ld hl, wDamage + ld a, [hl] + srl a ; divide damage by 2 + ld [hli], a + ld a, [hl] + rr a + ld [hld], a + or [hl] ; is damage 0? + jr nz, .getAttackerHP +; if damage is 0, increase to 1 so that the attacker gains at least 1 HP + inc hl + inc [hl] +.getAttackerHP + ld hl, wBattleMonHP + ld de, wBattleMonMaxHP + ld a, [H_WHOSETURN] + and a + jp z, .addDamageToAttackerHP + ld hl, wEnemyMonHP + ld de, wEnemyMonMaxHP +.addDamageToAttackerHP + ld bc, wHPBarOldHP+1 +; copy current HP to wHPBarOldHP + ld a, [hli] + ld [bc], a + ld a, [hl] + dec bc + ld [bc], a +; copy max HP to wHPBarMaxHP + ld a, [de] + dec bc + ld [bc], a + inc de + ld a, [de] + dec bc + ld [bc], a +; add damage to attacker's HP and copy new HP to wHPBarNewHP + ld a, [wDamage + 1] + ld b, [hl] + add b + ld [hld], a + ld [wHPBarNewHP], a + ld a, [wDamage] + ld b, [hl] + adc b + ld [hli], a + ld [wHPBarNewHP+1], a + jr c, .capToMaxHP ; if HP > 65,535, cap to max HP +; compare HP with max HP + ld a, [hld] + ld b, a + ld a, [de] + dec de + sub b + ld a, [hli] + ld b, a + ld a, [de] + inc de + sbc b + jr nc, .next +.capToMaxHP + ld a, [de] + ld [hld], a + ld [wHPBarNewHP], a + dec de + ld a, [de] + ld [hli], a + ld [wHPBarNewHP+1], a + inc de +.next + ld a, [H_WHOSETURN] + and a + coord hl, 10, 9 + ld a, $1 + jr z, .next2 + coord hl, 2, 2 + xor a +.next2 + ld [wHPBarType], a + predef UpdateHPBar2 + predef DrawPlayerHUDAndHPBar + predef DrawEnemyHUDAndHPBar + callab ReadPlayerMonCurHPAndStatus + ld hl, SuckedHealthText + ld a, [H_WHOSETURN] + and a + ld a, [wPlayerMoveEffect] + jr z, .next3 + ld a, [wEnemyMoveEffect] +.next3 + cp DREAM_EATER_EFFECT + jr nz, .printText + ld hl, DreamWasEatenText +.printText + jp PrintText + +SuckedHealthText: + TX_FAR _SuckedHealthText + db "@" + +DreamWasEatenText: + TX_FAR _DreamWasEatenText + db "@" diff --git a/engine/battle/move_effects/focus_energy.asm b/engine/battle/move_effects/focus_energy.asm new file mode 100644 index 00000000..16dad7bb --- /dev/null +++ b/engine/battle/move_effects/focus_energy.asm @@ -0,0 +1,22 @@ +FocusEnergyEffect_: + ld hl, wPlayerBattleStatus2 + ld a, [H_WHOSETURN] + and a + jr z, .notEnemy + ld hl, wEnemyBattleStatus2 +.notEnemy + bit GETTING_PUMPED, [hl] ; is mon already using focus energy? + jr nz, .alreadyUsing + set GETTING_PUMPED, [hl] ; mon is now using focus energy + callab PlayCurrentMoveAnimation + ld hl, GettingPumpedText + jp PrintText +.alreadyUsing + ld c, 50 + call DelayFrames + jpab PrintButItFailedText_ + +GettingPumpedText: + TX_DELAY + TX_FAR _GettingPumpedText + db "@" diff --git a/engine/battle/move_effects/haze.asm b/engine/battle/move_effects/haze.asm new file mode 100644 index 00000000..47723ba2 --- /dev/null +++ b/engine/battle/move_effects/haze.asm @@ -0,0 +1,81 @@ +HazeEffect_: + ld a, $7 +; store 7 on every stat mod + ld hl, wPlayerMonAttackMod + call ResetStatMods + ld hl, wEnemyMonAttackMod + call ResetStatMods +; copy unmodified stats to battle stats + ld hl, wPlayerMonUnmodifiedAttack + ld de, wBattleMonAttack + call ResetStats + ld hl, wEnemyMonUnmodifiedAttack + ld de, wEnemyMonAttack + call ResetStats +; cure non-volatile status, but only for the target + ld hl, wEnemyMonStatus + ld de, wEnemySelectedMove + ld a, [H_WHOSETURN] + and a + jr z, .cureStatuses + ld hl, wBattleMonStatus + dec de ; wPlayerSelectedMove + +.cureStatuses + ld a, [hl] + ld [hl], $0 + and SLP | (1 << FRZ) + jr z, .cureVolatileStatuses +; prevent the Pokemon from executing a move if it was asleep or frozen + ld a, $ff + ld [de], a + +.cureVolatileStatuses + xor a + ld [wPlayerDisabledMove], a + ld [wEnemyDisabledMove], a + ld hl, wPlayerDisabledMoveNumber + ld [hli], a + ld [hl], a + ld hl, wPlayerBattleStatus1 + call CureVolatileStatuses + ld hl, wEnemyBattleStatus1 + call CureVolatileStatuses + ld hl, PlayCurrentMoveAnimation + call CallBankF + ld hl, StatusChangesEliminatedText + jp PrintText + +CureVolatileStatuses: + res CONFUSED, [hl] + inc hl ; BATTSTATUS2 + ld a, [hl] + ; clear USING_X_ACCURACY, PROTECTED_BY_MIST, GETTING_PUMPED, and SEEDED statuses + and $ff ^((1 << USING_X_ACCURACY) | (1 << PROTECTED_BY_MIST) | (1 << GETTING_PUMPED) | (1 << SEEDED)) + ld [hli], a ; BATTSTATUS3 + ld a, [hl] + and %11110000 | (1 << TRANSFORMED) ; clear Bad Poison, Reflect and Light Screen statuses + ld [hl], a + ret + +ResetStatMods: + ld b, $8 +.loop + ld [hli], a + dec b + jr nz, .loop + ret + +ResetStats: + ld b, $8 +.loop + ld a, [hli] + ld [de], a + inc de + dec b + jr nz, .loop + ret + +StatusChangesEliminatedText: + TX_FAR _StatusChangesEliminatedText + db "@" diff --git a/engine/battle/move_effects/heal.asm b/engine/battle/move_effects/heal.asm new file mode 100644 index 00000000..2e68acc0 --- /dev/null +++ b/engine/battle/move_effects/heal.asm @@ -0,0 +1,120 @@ +HealEffect_: + ld a, [H_WHOSETURN] + and a + ld de, wBattleMonHP + ld hl, wBattleMonMaxHP + ld a, [wPlayerMoveNum] + jr z, .healEffect + ld de, wEnemyMonHP + ld hl, wEnemyMonMaxHP + ld a, [wEnemyMoveNum] +.healEffect + ld b, a + ld a, [de] + cp [hl] ; most significant bytes comparison is ignored + ; causes the move to miss if max HP is 255 or 511 points higher than the current HP + inc de + inc hl + ld a, [de] + sbc [hl] + jp z, .failed ; no effect if user's HP is already at its maximum + ld a, b + cp REST + jr nz, .healHP + push hl + push de + push af + ld c, 50 + call DelayFrames + ld hl, wBattleMonStatus + ld a, [H_WHOSETURN] + and a + jr z, .restEffect + ld hl, wEnemyMonStatus +.restEffect + ld a, [hl] + and a + ld [hl], 2 ; clear status and set number of turns asleep to 2 + ld hl, StartedSleepingEffect ; if mon didn't have an status + jr z, .printRestText + ld hl, FellAsleepBecameHealthyText ; if mon had an status +.printRestText + call PrintText + pop af + pop de + pop hl +.healHP + ld a, [hld] + ld [wHPBarMaxHP], a + ld c, a + ld a, [hl] + ld [wHPBarMaxHP+1], a + ld b, a + jr z, .gotHPAmountToHeal +; Recover and Softboiled only heal for half the mon's max HP + srl b + rr c +.gotHPAmountToHeal +; update HP + ld a, [de] + ld [wHPBarOldHP], a + add c + ld [de], a + ld [wHPBarNewHP], a + dec de + ld a, [de] + ld [wHPBarOldHP+1], a + adc b + ld [de], a + ld [wHPBarNewHP+1], a + inc hl + inc de + ld a, [de] + dec de + sub [hl] + dec hl + ld a, [de] + sbc [hl] + jr c, .playAnim +; copy max HP to current HP if an overflow occurred + ld a, [hli] + ld [de], a + ld [wHPBarNewHP+1], a + inc de + ld a, [hl] + ld [de], a + ld [wHPBarNewHP], a +.playAnim + ld hl, PlayCurrentMoveAnimation + call BankswitchEtoF + ld a, [H_WHOSETURN] + and a + coord hl, 10, 9 + ld a, $1 + jr z, .updateHPBar + coord hl, 2, 2 + xor a +.updateHPBar + ld [wHPBarType], a + predef UpdateHPBar2 + ld hl, DrawHUDsAndHPBars + call BankswitchEtoF + ld hl, RegainedHealthText + jp PrintText +.failed + ld c, 50 + call DelayFrames + ld hl, PrintButItFailedText_ + jp BankswitchEtoF + +StartedSleepingEffect: + TX_FAR _StartedSleepingEffect + db "@" + +FellAsleepBecameHealthyText: + TX_FAR _FellAsleepBecameHealthyText + db "@" + +RegainedHealthText: + TX_FAR _RegainedHealthText + db "@" diff --git a/engine/battle/move_effects/leech_seed.asm b/engine/battle/move_effects/leech_seed.asm new file mode 100644 index 00000000..f4d3ee9c --- /dev/null +++ b/engine/battle/move_effects/leech_seed.asm @@ -0,0 +1,40 @@ +LeechSeedEffect_: + callab MoveHitTest + ld a, [wMoveMissed] + and a + jr nz, .moveMissed + ld hl, wEnemyBattleStatus2 + ld de, wEnemyMonType1 + ld a, [H_WHOSETURN] + and a + jr z, .leechSeedEffect + ld hl, wPlayerBattleStatus2 + ld de, wBattleMonType1 +.leechSeedEffect +; miss if the target is grass-type or already seeded + ld a, [de] + cp GRASS + jr z, .moveMissed + inc de + ld a, [de] + cp GRASS + jr z, .moveMissed + bit SEEDED, [hl] + jr nz, .moveMissed + set SEEDED, [hl] + callab PlayCurrentMoveAnimation + ld hl, WasSeededText + jp PrintText +.moveMissed + ld c, 50 + call DelayFrames + ld hl, EvadedAttackText + jp PrintText + +WasSeededText: + TX_FAR _WasSeededText + db "@" + +EvadedAttackText: + TX_FAR _EvadedAttackText + db "@" diff --git a/engine/battle/move_effects/mist.asm b/engine/battle/move_effects/mist.asm new file mode 100644 index 00000000..65070a3e --- /dev/null +++ b/engine/battle/move_effects/mist.asm @@ -0,0 +1,19 @@ +MistEffect_: + ld hl, wPlayerBattleStatus2 + ld a, [H_WHOSETURN] + and a + jr z, .mistEffect + ld hl, wEnemyBattleStatus2 +.mistEffect + bit PROTECTED_BY_MIST, [hl] ; is mon protected by mist? + jr nz, .mistAlreadyInUse + set PROTECTED_BY_MIST, [hl] ; mon is now protected by mist + callab PlayCurrentMoveAnimation + ld hl, ShroudedInMistText + jp PrintText +.mistAlreadyInUse + jpab PrintButItFailedText_ + +ShroudedInMistText: + TX_FAR _ShroudedInMistText + db "@" diff --git a/engine/battle/move_effects/one_hit_ko.asm b/engine/battle/move_effects/one_hit_ko.asm new file mode 100644 index 00000000..827e2197 --- /dev/null +++ b/engine/battle/move_effects/one_hit_ko.asm @@ -0,0 +1,38 @@ +OneHitKOEffect_: + ld hl, wDamage + xor a + ld [hli], a + ld [hl], a ; set the damage output to zero + dec a + ld [wCriticalHitOrOHKO], a + ld hl, wBattleMonSpeed + 1 + ld de, wEnemyMonSpeed + 1 + ld a, [H_WHOSETURN] + and a + jr z, .compareSpeed + ld hl, wEnemyMonSpeed + 1 + ld de, wBattleMonSpeed + 1 +.compareSpeed +; set damage to 65535 and OHKO flag is the user's current speed is higher than the target's + ld a, [de] + dec de + ld b, a + ld a, [hld] + sub b + ld a, [de] + ld b, a + ld a, [hl] + sbc b + jr c, .userIsSlower + ld hl, wDamage + ld a, $ff + ld [hli], a + ld [hl], a + ld a, $2 + ld [wCriticalHitOrOHKO], a + ret +.userIsSlower +; keep damage at 0 and set move missed flag if target's current speed is higher instead + ld a, $1 + ld [wMoveMissed], a + ret diff --git a/engine/battle/move_effects/paralyze.asm b/engine/battle/move_effects/paralyze.asm new file mode 100644 index 00000000..95979ae6 --- /dev/null +++ b/engine/battle/move_effects/paralyze.asm @@ -0,0 +1,47 @@ +ParalyzeEffect_: + ld hl, wEnemyMonStatus + ld de, wPlayerMoveType + ld a, [H_WHOSETURN] + and a + jp z, .next + ld hl, wBattleMonStatus + ld de, wEnemyMoveType +.next + ld a, [hl] + and a ; does the target already have a status ailment? + jr nz, .didntAffect +; check if the target is immune due to types + ld a, [de] + cp ELECTRIC + jr nz, .hitTest + ld b, h + ld c, l + inc bc + ld a, [bc] + cp GROUND + jr z, .doesntAffect + inc bc + ld a, [bc] + cp GROUND + jr z, .doesntAffect +.hitTest + push hl + callab MoveHitTest + pop hl + ld a, [wMoveMissed] + and a + jr nz, .didntAffect + set PAR, [hl] + callab QuarterSpeedDueToParalysis + ld c, 30 + call DelayFrames + callab PlayCurrentMoveAnimation + jpab PrintMayNotAttackText +.didntAffect + ld c, 50 + call DelayFrames + jpab PrintDidntAffectText +.doesntAffect + ld c, 50 + call DelayFrames + jpab PrintDoesntAffectText diff --git a/engine/battle/move_effects/pay_day.asm b/engine/battle/move_effects/pay_day.asm new file mode 100644 index 00000000..e5daf014 --- /dev/null +++ b/engine/battle/move_effects/pay_day.asm @@ -0,0 +1,45 @@ +PayDayEffect_: + xor a + ld hl, wcd6d + ld [hli], a + ld a, [H_WHOSETURN] + and a + ld a, [wBattleMonLevel] + jr z, .payDayEffect + ld a, [wEnemyMonLevel] +.payDayEffect +; level * 2 + add a + ld [H_DIVIDEND + 3], a + xor a + ld [H_DIVIDEND], a + ld [H_DIVIDEND + 1], a + ld [H_DIVIDEND + 2], a +; convert to BCD + ld a, 100 + ld [H_DIVISOR], a + ld b, $4 + call Divide + ld a, [H_QUOTIENT + 3] + ld [hli], a + ld a, [H_REMAINDER] + ld [H_DIVIDEND + 3], a + ld a, 10 + ld [H_DIVISOR], a + ld b, $4 + call Divide + ld a, [H_QUOTIENT + 3] + swap a + ld b, a + ld a, [H_REMAINDER] + add b + ld [hl], a + ld de, wTotalPayDayMoney + 2 + ld c, $3 + predef AddBCDPredef + ld hl, CoinsScatteredText + jp PrintText + +CoinsScatteredText: + TX_FAR _CoinsScatteredText + db "@" diff --git a/engine/battle/move_effects/recoil.asm b/engine/battle/move_effects/recoil.asm new file mode 100644 index 00000000..0f2f087b --- /dev/null +++ b/engine/battle/move_effects/recoil.asm @@ -0,0 +1,70 @@ +RecoilEffect_: + ld a, [H_WHOSETURN] + and a + ld a, [wPlayerMoveNum] + ld hl, wBattleMonMaxHP + jr z, .recoilEffect + ld a, [wEnemyMoveNum] + ld hl, wEnemyMonMaxHP +.recoilEffect + ld d, a + ld a, [wDamage] + ld b, a + ld a, [wDamage + 1] + ld c, a + srl b + rr c + ld a, d + cp STRUGGLE ; struggle deals 50% recoil damage + jr z, .gotRecoilDamage + srl b + rr c +.gotRecoilDamage + ld a, b + or c + jr nz, .updateHP + inc c ; minimum recoil damage is 1 +.updateHP +; subtract HP from user due to the recoil damage + ld a, [hli] + ld [wHPBarMaxHP+1], a + ld a, [hl] + ld [wHPBarMaxHP], a + push bc + ld bc, wBattleMonHP - wBattleMonMaxHP + add hl, bc + pop bc + ld a, [hl] + ld [wHPBarOldHP], a + sub c + ld [hld], a + ld [wHPBarNewHP], a + ld a, [hl] + ld [wHPBarOldHP+1], a + sbc b + ld [hl], a + ld [wHPBarNewHP+1], a + jr nc, .getHPBarCoords +; if recoil damage is higher than the Pokemon's HP, set its HP to 0 + xor a + ld [hli], a + ld [hl], a + ld hl, wHPBarNewHP + ld [hli], a + ld [hl], a +.getHPBarCoords + coord hl, 10, 9 + ld a, [H_WHOSETURN] + and a + ld a, $1 + jr z, .updateHPBar + coord hl, 2, 2 + xor a +.updateHPBar + ld [wHPBarType], a + predef UpdateHPBar2 + ld hl, HitWithRecoilText + jp PrintText +HitWithRecoilText: + TX_FAR _HitWithRecoilText + db "@" diff --git a/engine/battle/move_effects/reflect_light_screen.asm b/engine/battle/move_effects/reflect_light_screen.asm new file mode 100644 index 00000000..2805a969 --- /dev/null +++ b/engine/battle/move_effects/reflect_light_screen.asm @@ -0,0 +1,45 @@ +ReflectLightScreenEffect_: + ld hl, wPlayerBattleStatus3 + ld de, wPlayerMoveEffect + ld a, [H_WHOSETURN] + and a + jr z, .reflectLightScreenEffect + ld hl, wEnemyBattleStatus3 + ld de, wEnemyMoveEffect +.reflectLightScreenEffect + ld a, [de] + cp LIGHT_SCREEN_EFFECT + jr nz, .reflect + bit HAS_LIGHT_SCREEN_UP, [hl] ; is mon already protected by light screen? + jr nz, .moveFailed + set HAS_LIGHT_SCREEN_UP, [hl] ; mon is now protected by light screen + ld hl, LightScreenProtectedText + jr .playAnim +.reflect + bit HAS_REFLECT_UP, [hl] ; is mon already protected by reflect? + jr nz, .moveFailed + set HAS_REFLECT_UP, [hl] ; mon is now protected by reflect + ld hl, ReflectGainedArmorText +.playAnim + push hl + ld hl, PlayCurrentMoveAnimation + call BankswitchEtoF + pop hl + jp PrintText +.moveFailed + ld c, 50 + call DelayFrames + ld hl, PrintButItFailedText_ + jp BankswitchEtoF + +LightScreenProtectedText: + TX_FAR _LightScreenProtectedText + db "@" + +ReflectGainedArmorText: + TX_FAR _ReflectGainedArmorText + db "@" + +BankswitchEtoF: + ld b, BANK(BattleCore) + jp Bankswitch diff --git a/engine/battle/move_effects/substitute.asm b/engine/battle/move_effects/substitute.asm new file mode 100644 index 00000000..1bb6c887 --- /dev/null +++ b/engine/battle/move_effects/substitute.asm @@ -0,0 +1,77 @@ +SubstituteEffect_: + ld c, 50 + call DelayFrames + ld hl, wBattleMonMaxHP + ld de, wPlayerSubstituteHP + ld bc, wPlayerBattleStatus2 + ld a, [H_WHOSETURN] + and a + jr z, .notEnemy + ld hl, wEnemyMonMaxHP + ld de, wEnemySubstituteHP + ld bc, wEnemyBattleStatus2 +.notEnemy + ld a, [bc] + bit HAS_SUBSTITUTE_UP, a ; user already has substitute? + jr nz, .alreadyHasSubstitute +; quarter health to remove from user +; assumes max HP is 1023 or lower + push bc + ld a, [hli] + ld b, [hl] + srl a + rr b + srl a + rr b ; max hp / 4 + push de + ld de, wBattleMonHP - wBattleMonMaxHP + add hl, de ; point hl to current HP low byte + pop de + ld a, b + ld [de], a ; save copy of HP to subtract in wPlayerSubstituteHP/wEnemySubstituteHP + ld a, [hld] +; subtract [max hp / 4] to current HP + sub b + ld d, a + ld a, [hl] + sbc 0 + pop bc + jr c, .notEnoughHP ; underflow means user would be left with negative health + ; bug: since it only branches on carry, it will possibly leave user with 0 HP +.userHasZeroOrMoreHP + ldi [hl], a ; save resulting HP after subtraction into current HP + ld [hl], d + ld h, b + ld l, c + set HAS_SUBSTITUTE_UP, [hl] + ld a, [wOptions] + bit 7, a ; battle animation is enabled? + ld hl, PlayCurrentMoveAnimation + ld b, BANK(PlayCurrentMoveAnimation) + jr z, .animationEnabled + ld hl, AnimationSubstitute + ld b, BANK(AnimationSubstitute) +.animationEnabled + call Bankswitch ; jump to routine depending on animation setting + ld hl, SubstituteText + call PrintText + jpab DrawHUDsAndHPBars +.alreadyHasSubstitute + ld hl, HasSubstituteText + jr .printText +.notEnoughHP + ld hl, TooWeakSubstituteText +.printText + jp PrintText + +SubstituteText: + TX_FAR _SubstituteText + db "@" + +HasSubstituteText: + TX_FAR _HasSubstituteText + db "@" + +TooWeakSubstituteText: + TX_FAR _TooWeakSubstituteText + db "@" diff --git a/engine/battle/move_effects/transform.asm b/engine/battle/move_effects/transform.asm new file mode 100644 index 00000000..9a5de9cc --- /dev/null +++ b/engine/battle/move_effects/transform.asm @@ -0,0 +1,148 @@ +TransformEffect_: + ld hl, wBattleMonSpecies + ld de, wEnemyMonSpecies + ld bc, wEnemyBattleStatus3 + ld a, [wEnemyBattleStatus1] + ld a, [H_WHOSETURN] + and a + jr nz, .hitTest + ld hl, wEnemyMonSpecies + ld de, wBattleMonSpecies + ld bc, wPlayerBattleStatus3 + ld [wPlayerMoveListIndex], a + ld a, [wPlayerBattleStatus1] +.hitTest + bit INVULNERABLE, a ; is mon invulnerable to typical attacks? (fly/dig) + jp nz, .failed + push hl + push de + push bc + ld hl, wPlayerBattleStatus2 + ld a, [H_WHOSETURN] + and a + jr z, .transformEffect + ld hl, wEnemyBattleStatus2 +.transformEffect +; animation(s) played are different if target has Substitute up + bit HAS_SUBSTITUTE_UP, [hl] + push af + ld hl, HideSubstituteShowMonAnim + ld b, BANK(HideSubstituteShowMonAnim) + call nz, Bankswitch + ld a, [wOptions] + add a + ld hl, PlayCurrentMoveAnimation + ld b, BANK(PlayCurrentMoveAnimation) + jr nc, .gotAnimToPlay + ld hl, AnimationTransformMon + ld b, BANK(AnimationTransformMon) +.gotAnimToPlay + call Bankswitch + ld hl, ReshowSubstituteAnim + ld b, BANK(ReshowSubstituteAnim) + pop af + call nz, Bankswitch + pop bc + ld a, [bc] + set TRANSFORMED, a ; mon is now transformed + ld [bc], a + pop de + pop hl + push hl +; transform user into opposing Pokemon +; species + ld a, [hl] + ld [de], a +; type 1, type 2, catch rate, and moves + ld bc, $5 + add hl, bc + inc de + inc de + inc de + inc de + inc de + inc bc + inc bc + call CopyData + ld a, [H_WHOSETURN] + and a + jr z, .next +; save enemy mon DVs at wTransformedEnemyMonOriginalDVs + ld a, [de] + ld [wTransformedEnemyMonOriginalDVs], a + inc de + ld a, [de] + ld [wTransformedEnemyMonOriginalDVs + 1], a + dec de +.next +; DVs + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + inc de +; Attack, Defense, Speed, and Special stats + inc hl + inc hl + inc hl + inc de + inc de + inc de + ld bc, $8 + call CopyData + ld bc, wBattleMonMoves - wBattleMonPP + add hl, bc ; ld hl, wBattleMonMoves + ld b, NUM_MOVES +.copyPPLoop +; 5 PP for all moves + ld a, [hli] + and a + jr z, .lessThanFourMoves + ld a, $5 + ld [de], a + inc de + dec b + jr nz, .copyPPLoop + jr .copyStats +.lessThanFourMoves +; 0 PP for blank moves + xor a + ld [de], a + inc de + dec b + jr nz, .lessThanFourMoves +.copyStats +; original (unmodified) stats and stat mods + pop hl + ld a, [hl] + ld [wd11e], a + call GetMonName + ld hl, wEnemyMonUnmodifiedAttack + ld de, wPlayerMonUnmodifiedAttack + call .copyBasedOnTurn ; original (unmodified) stats + ld hl, wEnemyMonStatMods + ld de, wPlayerMonStatMods + call .copyBasedOnTurn ; stat mods + ld hl, TransformedText + jp PrintText + +.copyBasedOnTurn + ld a, [H_WHOSETURN] + and a + jr z, .gotStatsOrModsToCopy + push hl + ld h, d + ld l, e + pop de +.gotStatsOrModsToCopy + ld bc, $8 + jp CopyData + +.failed + ld hl, PrintButItFailedText_ + jp BankswitchEtoF + +TransformedText: + TX_FAR _TransformedText + db "@" diff --git a/engine/battle/trainer_ai.asm b/engine/battle/trainer_ai.asm index 7755b50f..2850b9c2 100644 --- a/engine/battle/trainer_ai.asm +++ b/engine/battle/trainer_ai.asm @@ -279,7 +279,7 @@ INCLUDE "data/trainer_pic_money_pointers.asm" INCLUDE "text/trainer_names.asm" -INCLUDE "engine/battle/bank_e_misc.asm" +INCLUDE "engine/battle/misc.asm" INCLUDE "engine/battle/read_trainer_party.asm" diff --git a/engine/bcd.asm b/engine/bcd.asm deleted file mode 100644 index 2d0b43df..00000000 --- a/engine/bcd.asm +++ /dev/null @@ -1,214 +0,0 @@ -DivideBCDPredef:: -DivideBCDPredef2:: -DivideBCDPredef3:: -DivideBCDPredef4:: - call GetPredefRegisters - -DivideBCD:: - xor a - ld [hDivideBCDBuffer], a - ld [hDivideBCDBuffer+1], a - ld [hDivideBCDBuffer+2], a - ld d, $1 -.mulBy10Loop -; multiply the divisor by 10 until the leading digit is nonzero -; to set up the standard long division algorithm - ld a, [hDivideBCDDivisor] - and $f0 - jr nz, .next - inc d - ld a, [hDivideBCDDivisor] - swap a - and $f0 - ld b, a - ld a, [hDivideBCDDivisor+1] - swap a - ld [hDivideBCDDivisor+1], a - and $f - or b - ld [hDivideBCDDivisor], a - ld a, [hDivideBCDDivisor+1] - and $f0 - ld b, a - ld a, [hDivideBCDDivisor+2] - swap a - ld [hDivideBCDDivisor+2], a - and $f - or b - ld [hDivideBCDDivisor+1], a - ld a, [hDivideBCDDivisor+2] - and $f0 - ld [hDivideBCDDivisor+2], a - jr .mulBy10Loop -.next - push de - push de - call DivideBCD_getNextDigit - pop de - ld a, b - swap a - and $f0 - ld [hDivideBCDBuffer], a - dec d - jr z, .next2 - push de - call DivideBCD_divDivisorBy10 - call DivideBCD_getNextDigit - pop de - ld a, [hDivideBCDBuffer] - or b - ld [hDivideBCDBuffer], a - dec d - jr z, .next2 - push de - call DivideBCD_divDivisorBy10 - call DivideBCD_getNextDigit - pop de - ld a, b - swap a - and $f0 - ld [hDivideBCDBuffer+1], a - dec d - jr z, .next2 - push de - call DivideBCD_divDivisorBy10 - call DivideBCD_getNextDigit - pop de - ld a, [hDivideBCDBuffer+1] - or b - ld [hDivideBCDBuffer+1], a - dec d - jr z, .next2 - push de - call DivideBCD_divDivisorBy10 - call DivideBCD_getNextDigit - pop de - ld a, b - swap a - and $f0 - ld [hDivideBCDBuffer+2], a - dec d - jr z, .next2 - push de - call DivideBCD_divDivisorBy10 - call DivideBCD_getNextDigit - pop de - ld a, [hDivideBCDBuffer+2] - or b - ld [hDivideBCDBuffer+2], a -.next2 - ld a, [hDivideBCDBuffer] - ld [hDivideBCDQuotient], a ; the same memory location as hDivideBCDDivisor - ld a, [hDivideBCDBuffer+1] - ld [hDivideBCDQuotient+1], a - ld a, [hDivideBCDBuffer+2] - ld [hDivideBCDQuotient+2], a - pop de - ld a, $6 - sub d - and a - ret z -.divResultBy10loop - push af - call DivideBCD_divDivisorBy10 - pop af - dec a - jr nz, .divResultBy10loop - ret - -DivideBCD_divDivisorBy10: - ld a, [hDivideBCDDivisor+2] - swap a - and $f - ld b, a - ld a, [hDivideBCDDivisor+1] - swap a - ld [hDivideBCDDivisor+1], a - and $f0 - or b - ld [hDivideBCDDivisor+2], a - ld a, [hDivideBCDDivisor+1] - and $f - ld b, a - ld a, [hDivideBCDDivisor] - swap a - ld [hDivideBCDDivisor], a - and $f0 - or b - ld [hDivideBCDDivisor+1], a - ld a, [hDivideBCDDivisor] - and $f - ld [hDivideBCDDivisor], a - ret - -DivideBCD_getNextDigit: - ld bc, $3 -.loop - ld de, hMoney ; the dividend - ld hl, hDivideBCDDivisor - push bc - call StringCmp - pop bc - ret c - inc b - ld de, hMoney+2 ; since SubBCD works starting from the least significant digit - ld hl, hDivideBCDDivisor+2 - push bc - call SubBCD - pop bc - jr .loop - - -AddBCDPredef:: - call GetPredefRegisters - -AddBCD:: - and a - ld b, c -.add - ld a, [de] - adc [hl] - daa - ld [de], a - dec de - dec hl - dec c - jr nz, .add - jr nc, .done - ld a, $99 - inc de -.fill - ld [de], a - inc de - dec b - jr nz, .fill -.done - ret - - -SubBCDPredef:: - call GetPredefRegisters - -SubBCD:: - and a - ld b, c -.sub - ld a, [de] - sbc [hl] - daa - ld [de], a - dec de - dec hl - dec c - jr nz, .sub - jr nc, .done - ld a, $00 - inc de -.fill - ld [de], a - inc de - dec b - jr nz, .fill - scf -.done - ret diff --git a/engine/black_out.asm b/engine/black_out.asm deleted file mode 100644 index 6c358ce3..00000000 --- a/engine/black_out.asm +++ /dev/null @@ -1,46 +0,0 @@ -ResetStatusAndHalveMoneyOnBlackout:: -; Reset player status on blackout. - xor a - ld [wBattleResult], a - ld [wWalkBikeSurfState], a - ld [wIsInBattle], a - ld [wMapPalOffset], a - ld [wNPCMovementScriptFunctionNum], a - ld [hJoyHeld], a - ld [wNPCMovementScriptPointerTableNum], a - ld [wFlags_0xcd60], a - - ld [hMoney], a - ld [hMoney + 1], a - ld [hMoney + 2], a - call HasEnoughMoney - jr c, .lostmoney ; never happens - - ; Halve the player's money. - ld a, [wPlayerMoney] - ld [hMoney], a - ld a, [wPlayerMoney + 1] - ld [hMoney + 1], a - ld a, [wPlayerMoney + 2] - ld [hMoney + 2], a - xor a - ld [hDivideBCDDivisor], a - ld [hDivideBCDDivisor + 1], a - ld a, 2 - ld [hDivideBCDDivisor + 2], a - predef DivideBCDPredef3 - ld a, [hDivideBCDQuotient] - ld [wPlayerMoney], a - ld a, [hDivideBCDQuotient + 1] - ld [wPlayerMoney + 1], a - ld a, [hDivideBCDQuotient + 2] - ld [wPlayerMoney + 2], a - -.lostmoney - ld hl, wd732 - set 2, [hl] - res 3, [hl] - set 6, [hl] - ld a, %11111111 - ld [wJoyIgnore], a - predef_jump HealParty diff --git a/engine/cable_club.asm b/engine/cable_club.asm deleted file mode 100755 index 141ed396..00000000 --- a/engine/cable_club.asm +++ /dev/null @@ -1,977 +0,0 @@ -; performs the appropriate action when the player uses the gameboy on the table in the Colosseum or Trade Center -; In the Colosseum, it starts a battle. In the Trade Center, it displays the trade selection screen. -; Before doing either action, it swaps random numbers, trainer names and party data with the other gameboy. -CableClub_DoBattleOrTrade: - ld c, 80 - call DelayFrames - call ClearScreen - call UpdateSprites - call LoadFontTilePatterns - call LoadHpBarAndStatusTilePatterns - call LoadTrainerInfoTextBoxTiles - coord hl, 3, 8 - ld b, 2 - ld c, 12 - call CableClub_TextBoxBorder - coord hl, 4, 10 - ld de, PleaseWaitString - call PlaceString - ld hl, wPlayerNumHits - xor a - ld [hli], a - ld [hl], $50 - ; fall through - -; This is called after completing a trade. -CableClub_DoBattleOrTradeAgain: - ld hl, wSerialPlayerDataBlock - ld a, SERIAL_PREAMBLE_BYTE - ld b, 6 -.writePlayerDataBlockPreambleLoop - ld [hli], a - dec b - jr nz, .writePlayerDataBlockPreambleLoop - ld hl, wSerialRandomNumberListBlock - ld a, SERIAL_PREAMBLE_BYTE - ld b, 7 -.writeRandomNumberListPreambleLoop - ld [hli], a - dec b - jr nz, .writeRandomNumberListPreambleLoop - ld b, 10 -.generateRandomNumberListLoop - call Random - cp SERIAL_PREAMBLE_BYTE ; all the random numbers have to be less than the preamble byte - jr nc, .generateRandomNumberListLoop - ld [hli], a - dec b - jr nz, .generateRandomNumberListLoop - ld hl, wSerialPartyMonsPatchList - ld a, SERIAL_PREAMBLE_BYTE - ld [hli], a - ld [hli], a - ld [hli], a - ld b, $c8 - xor a -.zeroPlayerDataPatchListLoop - ld [hli], a - dec b - jr nz, .zeroPlayerDataPatchListLoop - ld hl, wGrassRate - ld bc, wTrainerHeaderPtr - wGrassRate -.zeroEnemyPartyLoop - xor a - ld [hli], a - dec bc - ld a, b - or c - jr nz, .zeroEnemyPartyLoop - ld hl, wPartyMons - 1 - ld de, wSerialPartyMonsPatchList + 10 - ld bc, 0 -.patchPartyMonsLoop - inc c - ld a, c - cp SERIAL_PREAMBLE_BYTE - jr z, .startPatchListPart2 - ld a, b - dec a ; are we in part 2 of the patch list? - jr nz, .checkPlayerDataByte ; jump if in part 1 -; if we're in part 2 - ld a, c - cp (wPartyMonOT - (wPartyMons - 1)) - (SERIAL_PREAMBLE_BYTE - 1) - jr z, .finishedPatchingPlayerData -.checkPlayerDataByte - inc hl - ld a, [hl] - cp SERIAL_NO_DATA_BYTE - jr nz, .patchPartyMonsLoop -; if the player data byte matches SERIAL_NO_DATA_BYTE, patch it with $FF and record the offset in the patch list - ld a, c - ld [de], a - inc de - ld [hl], $ff - jr .patchPartyMonsLoop -.startPatchListPart2 - ld a, SERIAL_PATCH_LIST_PART_TERMINATOR - ld [de], a ; end of part 1 - inc de - lb bc, 1, 0 - jr .patchPartyMonsLoop -.finishedPatchingPlayerData - ld a, SERIAL_PATCH_LIST_PART_TERMINATOR - ld [de], a ; end of part 2 - call Serial_SyncAndExchangeNybble - ld a, [hSerialConnectionStatus] - cp USING_INTERNAL_CLOCK - jr nz, .skipSendingTwoZeroBytes -; if using internal clock -; send two zero bytes for syncing purposes? - call Delay3 - xor a - ld [hSerialSendData], a - ld a, START_TRANSFER_INTERNAL_CLOCK - ld [rSC], a - call DelayFrame - xor a - ld [hSerialSendData], a - ld a, START_TRANSFER_INTERNAL_CLOCK - ld [rSC], a -.skipSendingTwoZeroBytes - call Delay3 - ld a, (1 << SERIAL) - ld [rIE], a - ld hl, wSerialRandomNumberListBlock - ld de, wSerialOtherGameboyRandomNumberListBlock - ld bc, $11 - call Serial_ExchangeBytes - ld a, SERIAL_NO_DATA_BYTE - ld [de], a - ld hl, wSerialPlayerDataBlock - ld de, wSerialEnemyDataBlock - ld bc, $1a8 - call Serial_ExchangeBytes - ld a, SERIAL_NO_DATA_BYTE - ld [de], a - ld hl, wSerialPartyMonsPatchList - ld de, wSerialEnemyMonsPatchList - ld bc, $c8 - call Serial_ExchangeBytes - ld a, (1 << SERIAL) | (1 << TIMER) | (1 << VBLANK) - ld [rIE], a - ld a, $ff - call PlaySound - ld a, [hSerialConnectionStatus] - cp USING_INTERNAL_CLOCK - jr z, .skipCopyingRandomNumberList ; the list generated by the gameboy clocking the connection is used by both gameboys - ld hl, wSerialOtherGameboyRandomNumberListBlock -.findStartOfRandomNumberListLoop - ld a, [hli] - and a - jr z, .findStartOfRandomNumberListLoop - cp SERIAL_PREAMBLE_BYTE - jr z, .findStartOfRandomNumberListLoop - cp SERIAL_NO_DATA_BYTE - jr z, .findStartOfRandomNumberListLoop - dec hl - ld de, wLinkBattleRandomNumberList - ld c, 10 -.copyRandomNumberListLoop - ld a, [hli] - cp SERIAL_NO_DATA_BYTE - jr z, .copyRandomNumberListLoop - ld [de], a - inc de - dec c - jr nz, .copyRandomNumberListLoop -.skipCopyingRandomNumberList - ld hl, wSerialEnemyDataBlock + 3 -.findStartOfEnemyNameLoop - ld a, [hli] - and a - jr z, .findStartOfEnemyNameLoop - cp SERIAL_PREAMBLE_BYTE - jr z, .findStartOfEnemyNameLoop - cp SERIAL_NO_DATA_BYTE - jr z, .findStartOfEnemyNameLoop - dec hl - ld de, wLinkEnemyTrainerName - ld c, NAME_LENGTH -.copyEnemyNameLoop - ld a, [hli] - cp SERIAL_NO_DATA_BYTE - jr z, .copyEnemyNameLoop - ld [de], a - inc de - dec c - jr nz, .copyEnemyNameLoop - ld de, wEnemyPartyCount - ld bc, wTrainerHeaderPtr - wEnemyPartyCount -.copyEnemyPartyLoop - ld a, [hli] - cp SERIAL_NO_DATA_BYTE - jr z, .copyEnemyPartyLoop - ld [de], a - inc de - dec bc - ld a, b - or c - jr nz, .copyEnemyPartyLoop - ld de, wSerialPartyMonsPatchList - ld hl, wPartyMons - ld c, 2 ; patch list has 2 parts -.unpatchPartyMonsLoop - ld a, [de] - inc de - and a - jr z, .unpatchPartyMonsLoop - cp SERIAL_PREAMBLE_BYTE - jr z, .unpatchPartyMonsLoop - cp SERIAL_NO_DATA_BYTE - jr z, .unpatchPartyMonsLoop - cp SERIAL_PATCH_LIST_PART_TERMINATOR - jr z, .finishedPartyMonsPatchListPart - push hl - push bc - ld b, 0 - dec a - ld c, a - add hl, bc - ld a, SERIAL_NO_DATA_BYTE - ld [hl], a - pop bc - pop hl - jr .unpatchPartyMonsLoop -.finishedPartyMonsPatchListPart - ld hl, wPartyMons + (SERIAL_PREAMBLE_BYTE - 1) - dec c ; is there another part? - jr nz, .unpatchPartyMonsLoop - ld de, wSerialEnemyMonsPatchList - ld hl, wEnemyMons - ld c, 2 ; patch list has 2 parts -.unpatchEnemyMonsLoop - ld a, [de] - inc de - and a - jr z, .unpatchEnemyMonsLoop - cp SERIAL_PREAMBLE_BYTE - jr z, .unpatchEnemyMonsLoop - cp SERIAL_NO_DATA_BYTE - jr z, .unpatchEnemyMonsLoop - cp SERIAL_PATCH_LIST_PART_TERMINATOR - jr z, .finishedEnemyMonsPatchListPart - push hl - push bc - ld b, 0 - dec a - ld c, a - add hl, bc - ld a, SERIAL_NO_DATA_BYTE - ld [hl], a - pop bc - pop hl - jr .unpatchEnemyMonsLoop -.finishedEnemyMonsPatchListPart - ld hl, wEnemyMons + (SERIAL_PREAMBLE_BYTE - 1) - dec c - jr nz, .unpatchEnemyMonsLoop - ld a, wEnemyMonOT % $100 - ld [wUnusedCF8D], a - ld a, wEnemyMonOT / $100 - ld [wUnusedCF8D + 1], a - xor a - ld [wTradeCenterPointerTableIndex], a - ld a, $ff - call PlaySound - ld a, [hSerialConnectionStatus] - cp USING_INTERNAL_CLOCK - ld c, 66 - call z, DelayFrames ; delay if using internal clock - ld a, [wLinkState] - cp LINK_STATE_START_BATTLE - ld a, LINK_STATE_TRADING - ld [wLinkState], a - jr nz, .trading - ld a, LINK_STATE_BATTLING - ld [wLinkState], a - ld a, OPP_SONY1 - ld [wCurOpponent], a - call ClearScreen - call Delay3 - ld hl, wOptions - res 7, [hl] - predef InitOpponent - predef HealParty - jp ReturnToCableClubRoom -.trading - ld c, BANK(Music_GameCorner) - ld a, MUSIC_GAME_CORNER - call PlayMusic - jr CallCurrentTradeCenterFunction - -PleaseWaitString: - db "PLEASE WAIT!@" - -CallCurrentTradeCenterFunction: - ld hl, TradeCenterPointerTable - ld b, 0 - ld a, [wTradeCenterPointerTableIndex] - cp $ff - jp z, DisplayTitleScreen - add a - ld c, a - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - jp hl - -TradeCenter_SelectMon: - call ClearScreen - call LoadTrainerInfoTextBoxTiles - call TradeCenter_DrawPartyLists - call TradeCenter_DrawCancelBox - xor a - ld hl, wSerialSyncAndExchangeNybbleReceiveData - ld [hli], a - ld [hli], a - ld [hli], a - ld [hl], a - ld [wMenuWatchMovingOutOfBounds], a - ld [wCurrentMenuItem], a - ld [wLastMenuItem], a - ld [wMenuJoypadPollCount], a - inc a - ld [wSerialExchangeNybbleSendData], a - jp .playerMonMenu -.enemyMonMenu - xor a - ld [wMenuWatchMovingOutOfBounds], a - inc a - ld [wWhichTradeMonSelectionMenu], a - ld a, D_DOWN | D_LEFT | A_BUTTON - ld [wMenuWatchedKeys], a - ld a, [wEnemyPartyCount] - ld [wMaxMenuItem], a - ld a, 9 - ld [wTopMenuItemY], a - ld a, 1 - ld [wTopMenuItemX], a -.enemyMonMenu_HandleInput - ld hl, hFlags_0xFFF6 - set 1, [hl] - call HandleMenuInput - ld hl, hFlags_0xFFF6 - res 1, [hl] - and a - jp z, .getNewInput - bit 0, a ; A button pressed? - jr z, .enemyMonMenu_ANotPressed -; if A button pressed - ld a, [wMaxMenuItem] - ld c, a - ld a, [wCurrentMenuItem] - cp c - jr c, .displayEnemyMonStats - ld a, [wMaxMenuItem] - dec a - ld [wCurrentMenuItem], a -.displayEnemyMonStats - ld a, INIT_ENEMYOT_LIST - ld [wInitListType], a - callab InitList ; the list isn't used - ld hl, wEnemyMons - call TradeCenter_DisplayStats - jp .getNewInput -.enemyMonMenu_ANotPressed - bit 5, a ; Left pressed? - jr z, .enemyMonMenu_LeftNotPressed -; if Left pressed, switch back to the player mon menu - xor a ; player mon menu - ld [wWhichTradeMonSelectionMenu], a - ld a, [wMenuCursorLocation] - ld l, a - ld a, [wMenuCursorLocation + 1] - ld h, a - ld a, [wTileBehindCursor] - ld [hl], a - ld a, [wCurrentMenuItem] - ld b, a - ld a, [wPartyCount] - dec a - cp b - jr nc, .playerMonMenu - ld [wCurrentMenuItem], a - jr .playerMonMenu -.enemyMonMenu_LeftNotPressed - bit 7, a ; Down pressed? - jp z, .getNewInput - jp .selectedCancelMenuItem ; jump if Down pressed -.playerMonMenu - xor a ; player mon menu - ld [wWhichTradeMonSelectionMenu], a - ld [wMenuWatchMovingOutOfBounds], a - ld a, D_DOWN | D_RIGHT | A_BUTTON - ld [wMenuWatchedKeys], a - ld a, [wPartyCount] - ld [wMaxMenuItem], a - ld a, 1 - ld [wTopMenuItemY], a - ld a, 1 - ld [wTopMenuItemX], a - coord hl, 1, 1 - lb bc, 6, 1 - call ClearScreenArea -.playerMonMenu_HandleInput - ld hl, hFlags_0xFFF6 - set 1, [hl] - call HandleMenuInput - ld hl, hFlags_0xFFF6 - res 1, [hl] - and a ; was anything pressed? - jr nz, .playerMonMenu_SomethingPressed - jp .getNewInput -.playerMonMenu_SomethingPressed - bit 0, a ; A button pressed? - jr z, .playerMonMenu_ANotPressed - jp .chosePlayerMon ; jump if A button pressed -; unreachable code - ld a, INIT_PLAYEROT_LIST - ld [wInitListType], a - callab InitList ; the list isn't used - call TradeCenter_DisplayStats - jp .getNewInput -.playerMonMenu_ANotPressed - bit 4, a ; Right pressed? - jr z, .playerMonMenu_RightNotPressed -; if Right pressed, switch to the enemy mon menu - ld a, $1 ; enemy mon menu - ld [wWhichTradeMonSelectionMenu], a - ld a, [wMenuCursorLocation] - ld l, a - ld a, [wMenuCursorLocation + 1] - ld h, a - ld a, [wTileBehindCursor] - ld [hl], a - ld a, [wCurrentMenuItem] - ld b, a - ld a, [wEnemyPartyCount] - dec a - cp b - jr nc, .notPastLastEnemyMon -; when switching to the enemy mon menu, if the menu selection would be past the last enemy mon, select the last enemy mon - ld [wCurrentMenuItem], a -.notPastLastEnemyMon - jp .enemyMonMenu -.playerMonMenu_RightNotPressed - bit 7, a ; Down pressed? - jr z, .getNewInput - jp .selectedCancelMenuItem ; jump if Down pressed -.getNewInput - ld a, [wWhichTradeMonSelectionMenu] - and a - jp z, .playerMonMenu_HandleInput - jp .enemyMonMenu_HandleInput -.chosePlayerMon - call SaveScreenTilesToBuffer1 - call PlaceUnfilledArrowMenuCursor - ld a, [wMaxMenuItem] - ld c, a - ld a, [wCurrentMenuItem] - cp c - jr c, .displayStatsTradeMenu - ld a, [wMaxMenuItem] - dec a -.displayStatsTradeMenu - push af - coord hl, 0, 14 - ld b, 2 - ld c, 18 - call CableClub_TextBoxBorder - coord hl, 2, 16 - ld de, .statsTrade - call PlaceString - xor a - ld [wCurrentMenuItem], a - ld [wLastMenuItem], a - ld [wMenuJoypadPollCount], a - ld [wMaxMenuItem], a - ld a, 16 - ld [wTopMenuItemY], a -.selectStatsMenuItem - ld a, " " - Coorda 11, 16 - ld a, D_RIGHT | B_BUTTON | A_BUTTON - ld [wMenuWatchedKeys], a - ld a, 1 - ld [wTopMenuItemX], a - call HandleMenuInput - bit 4, a ; Right pressed? - jr nz, .selectTradeMenuItem - bit 1, a ; B button pressed? - jr z, .displayPlayerMonStats -.cancelPlayerMonChoice - pop af - ld [wCurrentMenuItem], a - call LoadScreenTilesFromBuffer1 - jp .playerMonMenu -.selectTradeMenuItem - ld a, " " - Coorda 1, 16 - ld a, D_LEFT | B_BUTTON | A_BUTTON - ld [wMenuWatchedKeys], a - ld a, 11 - ld [wTopMenuItemX], a - call HandleMenuInput - bit 5, a ; Left pressed? - jr nz, .selectStatsMenuItem - bit 1, a ; B button pressed? - jr nz, .cancelPlayerMonChoice - jr .choseTrade -.displayPlayerMonStats - pop af - ld [wCurrentMenuItem], a - ld a, INIT_PLAYEROT_LIST - ld [wInitListType], a - callab InitList ; the list isn't used - call TradeCenter_DisplayStats - call LoadScreenTilesFromBuffer1 - jp .playerMonMenu -.choseTrade - call PlaceUnfilledArrowMenuCursor - pop af - ld [wCurrentMenuItem], a - ld [wTradingWhichPlayerMon], a - ld [wSerialExchangeNybbleSendData], a - call Serial_PrintWaitingTextAndSyncAndExchangeNybble - ld a, [wSerialSyncAndExchangeNybbleReceiveData] - cp $f - jp z, CallCurrentTradeCenterFunction ; go back to the beginning of the trade selection menu if the other person cancelled - ld [wTradingWhichEnemyMon], a - call TradeCenter_PlaceSelectedEnemyMonMenuCursor - ld a, $1 ; TradeCenter_Trade - ld [wTradeCenterPointerTableIndex], a - jp CallCurrentTradeCenterFunction -.statsTrade - db "STATS TRADE@" -.selectedCancelMenuItem - ld a, [wCurrentMenuItem] - ld b, a - ld a, [wMaxMenuItem] - cp b - jp nz, .getNewInput - ld a, [wMenuCursorLocation] - ld l, a - ld a, [wMenuCursorLocation + 1] - ld h, a - ld a, " " - ld [hl], a -.cancelMenuItem_Loop - ld a, "▶" ; filled arrow cursor - Coorda 1, 16 -.cancelMenuItem_JoypadLoop - call JoypadLowSensitivity - ld a, [hJoy5] - and a ; pressed anything? - jr z, .cancelMenuItem_JoypadLoop - bit 0, a ; A button pressed? - jr nz, .cancelMenuItem_APressed - bit 6, a ; Up pressed? - jr z, .cancelMenuItem_JoypadLoop -; if Up pressed - ld a, " " - Coorda 1, 16 - ld a, [wPartyCount] - dec a - ld [wCurrentMenuItem], a - jp .playerMonMenu -.cancelMenuItem_APressed - ld a, "▷" ; unfilled arrow cursor - Coorda 1, 16 - ld a, $f - ld [wSerialExchangeNybbleSendData], a - call Serial_PrintWaitingTextAndSyncAndExchangeNybble - ld a, [wSerialSyncAndExchangeNybbleReceiveData] - cp $f ; did the other person choose Cancel too? - jr nz, .cancelMenuItem_Loop - ; fall through - -ReturnToCableClubRoom: - call GBPalWhiteOutWithDelay3 - ld hl, wFontLoaded - ld a, [hl] - push af - push hl - res 0, [hl] - xor a - ld [wd72d], a - dec a - ld [wDestinationWarpID], a - call LoadMapData - callba ClearVariablesOnEnterMap - pop hl - pop af - ld [hl], a - call GBFadeInFromWhite - ret - -TradeCenter_DrawCancelBox: - coord hl, 11, 15 - ld a, $7e - ld bc, 2 * SCREEN_WIDTH + 9 - call FillMemory - coord hl, 0, 15 - ld b, 1 - ld c, 9 - call CableClub_TextBoxBorder - coord hl, 2, 16 - ld de, CancelTextString - jp PlaceString - -CancelTextString: - db "CANCEL@" - -TradeCenter_PlaceSelectedEnemyMonMenuCursor: - ld a, [wSerialSyncAndExchangeNybbleReceiveData] - coord hl, 1, 9 - ld bc, SCREEN_WIDTH - call AddNTimes - ld [hl], "▷" ; cursor - ret - -TradeCenter_DisplayStats: - ld a, [wCurrentMenuItem] - ld [wWhichPokemon], a - predef StatusScreen - predef StatusScreen2 - call GBPalNormal - call LoadTrainerInfoTextBoxTiles - call TradeCenter_DrawPartyLists - jp TradeCenter_DrawCancelBox - -TradeCenter_DrawPartyLists: - coord hl, 0, 0 - ld b, 6 - ld c, 18 - call CableClub_TextBoxBorder - coord hl, 0, 8 - ld b, 6 - ld c, 18 - call CableClub_TextBoxBorder - coord hl, 5, 0 - ld de, wPlayerName - call PlaceString - coord hl, 5, 8 - ld de, wLinkEnemyTrainerName - call PlaceString - coord hl, 2, 1 - ld de, wPartySpecies - call TradeCenter_PrintPartyListNames - coord hl, 2, 9 - ld de, wEnemyPartyMons - ; fall through - -TradeCenter_PrintPartyListNames: - ld c, $0 -.loop - ld a, [de] - cp $ff - ret z - ld [wd11e], a - push bc - push hl - push de - push hl - ld a, c - ld [$ff95], a - call GetMonName - pop hl - call PlaceString - pop de - inc de - pop hl - ld bc, 20 - add hl, bc - pop bc - inc c - jr .loop - -TradeCenter_Trade: - ld c, 100 - call DelayFrames - xor a - ld [wSerialExchangeNybbleSendData + 1], a ; unnecessary - ld [wSerialExchangeNybbleReceiveData], a - ld [wMenuWatchMovingOutOfBounds], a - ld [wMenuJoypadPollCount], a - coord hl, 0, 12 - ld b, 4 - ld c, 18 - call CableClub_TextBoxBorder - ld a, [wTradingWhichPlayerMon] - ld hl, wPartySpecies - ld c, a - ld b, 0 - add hl, bc - ld a, [hl] - ld [wd11e], a - call GetMonName - ld hl, wcd6d - ld de, wNameOfPlayerMonToBeTraded - ld bc, NAME_LENGTH - call CopyData - ld a, [wTradingWhichEnemyMon] - ld hl, wEnemyPartyMons - ld c, a - ld b, 0 - add hl, bc - ld a, [hl] - ld [wd11e], a - call GetMonName - ld hl, WillBeTradedText - coord bc, 1, 14 - call TextCommandProcessor - call SaveScreenTilesToBuffer1 - coord hl, 10, 7 - lb bc, 8, 11 - ld a, TRADE_CANCEL_MENU - ld [wTwoOptionMenuID], a - ld a, TWO_OPTION_MENU - ld [wTextBoxID], a - call DisplayTextBoxID - call LoadScreenTilesFromBuffer1 - ld a, [wCurrentMenuItem] - and a - jr z, .tradeConfirmed -; if trade cancelled - ld a, $1 - ld [wSerialExchangeNybbleSendData], a - coord hl, 0, 12 - ld b, 4 - ld c, 18 - call CableClub_TextBoxBorder - coord hl, 1, 14 - ld de, TradeCanceled - call PlaceString - call Serial_PrintWaitingTextAndSyncAndExchangeNybble - jp .tradeCancelled -.tradeConfirmed - ld a, $2 - ld [wSerialExchangeNybbleSendData], a - call Serial_PrintWaitingTextAndSyncAndExchangeNybble - ld a, [wSerialSyncAndExchangeNybbleReceiveData] - dec a ; did the other person cancel? - jr nz, .doTrade -; if the other person cancelled - coord hl, 0, 12 - ld b, 4 - ld c, 18 - call CableClub_TextBoxBorder - coord hl, 1, 14 - ld de, TradeCanceled - call PlaceString - jp .tradeCancelled -.doTrade - ld a, [wTradingWhichPlayerMon] - ld hl, wPartyMonOT - call SkipFixedLengthTextEntries - ld de, wTradedPlayerMonOT - ld bc, NAME_LENGTH - call CopyData - ld hl, wPartyMon1Species - ld a, [wTradingWhichPlayerMon] - ld bc, wPartyMon2 - wPartyMon1 - call AddNTimes - ld bc, wPartyMon1OTID - wPartyMon1 - add hl, bc - ld a, [hli] - ld [wTradedPlayerMonOTID], a - ld a, [hl] - ld [wTradedPlayerMonOTID + 1], a - ld a, [wTradingWhichEnemyMon] - ld hl, wEnemyMonOT - call SkipFixedLengthTextEntries - ld de, wTradedEnemyMonOT - ld bc, NAME_LENGTH - call CopyData - ld hl, wEnemyMons - ld a, [wTradingWhichEnemyMon] - ld bc, wEnemyMon2 - wEnemyMon1 - call AddNTimes - ld bc, wEnemyMon1OTID - wEnemyMon1 - add hl, bc - ld a, [hli] - ld [wTradedEnemyMonOTID], a - ld a, [hl] - ld [wTradedEnemyMonOTID + 1], a - ld a, [wTradingWhichPlayerMon] - ld [wWhichPokemon], a - ld hl, wPartySpecies - ld b, 0 - ld c, a - add hl, bc - ld a, [hl] - ld [wTradedPlayerMonSpecies], a - xor a - ld [wRemoveMonFromBox], a - call RemovePokemon - ld a, [wTradingWhichEnemyMon] - ld c, a - ld [wWhichPokemon], a - ld hl, wEnemyPartyMons - ld d, 0 - ld e, a - add hl, de - ld a, [hl] - ld [wcf91], a - ld hl, wEnemyMons - ld a, c - ld bc, wEnemyMon2 - wEnemyMon1 - call AddNTimes - ld de, wLoadedMon - ld bc, wEnemyMon2 - wEnemyMon1 - call CopyData - call AddEnemyMonToPlayerParty - ld a, [wPartyCount] - dec a - ld [wWhichPokemon], a - ld a, $1 - ld [wForceEvolution], a - ld a, [wTradingWhichEnemyMon] - ld hl, wEnemyPartyMons - ld b, 0 - ld c, a - add hl, bc - ld a, [hl] - ld [wTradedEnemyMonSpecies], a - ld a, 10 - ld [wAudioFadeOutControl], a - ld a, BANK(Music_SafariZone) - ld [wAudioSavedROMBank], a - ld a, MUSIC_SAFARI_ZONE - ld [wNewSoundID], a - call PlaySound - ld c, 100 - call DelayFrames - call ClearScreen - call LoadHpBarAndStatusTilePatterns - xor a - ld [wUnusedCC5B], a - ld a, [hSerialConnectionStatus] - cp USING_EXTERNAL_CLOCK - jr z, .usingExternalClock - predef InternalClockTradeAnim - jr .tradeCompleted -.usingExternalClock - predef ExternalClockTradeAnim -.tradeCompleted - callab TryEvolvingMon - call ClearScreen - call LoadTrainerInfoTextBoxTiles - call Serial_PrintWaitingTextAndSyncAndExchangeNybble - ld c, 40 - call DelayFrames - coord hl, 0, 12 - ld b, 4 - ld c, 18 - call CableClub_TextBoxBorder - coord hl, 1, 14 - ld de, TradeCompleted - call PlaceString - predef SaveSAVtoSRAM2 - ld c, 50 - call DelayFrames - xor a - ld [wTradeCenterPointerTableIndex], a - jp CableClub_DoBattleOrTradeAgain -.tradeCancelled - ld c, 100 - call DelayFrames - xor a ; TradeCenter_SelectMon - ld [wTradeCenterPointerTableIndex], a - jp CallCurrentTradeCenterFunction - -WillBeTradedText: - TX_FAR _WillBeTradedText - db "@" - -TradeCompleted: - db "Trade completed!@" - -TradeCanceled: - db "Too bad! The trade" - next "was canceled!@" - -TradeCenterPointerTable: - dw TradeCenter_SelectMon - dw TradeCenter_Trade - -CableClub_Run: - ld a, [wLinkState] - cp LINK_STATE_START_TRADE - jr z, .doBattleOrTrade - cp LINK_STATE_START_BATTLE - jr z, .doBattleOrTrade - cp LINK_STATE_RESET ; this is never used - ret nz - predef EmptyFunc3 - jp Init -.doBattleOrTrade - call CableClub_DoBattleOrTrade - ld hl, Club_GFX - ld a, h - ld [wTilesetGfxPtr + 1], a - ld a, l - ld [wTilesetGfxPtr], a - ld a, Bank(Club_GFX) - ld [wTilesetBank], a - ld hl, Club_Coll - ld a, h - ld [wTilesetCollisionPtr + 1], a - ld a, l - ld [wTilesetCollisionPtr], a - xor a - ld [wGrassRate], a - inc a ; LINK_STATE_IN_CABLE_CLUB - ld [wLinkState], a - ld [hJoy5], a - ld a, 10 - ld [wAudioFadeOutControl], a - ld a, BANK(Music_Celadon) - ld [wAudioSavedROMBank], a - ld a, MUSIC_CELADON - ld [wNewSoundID], a - jp PlaySound - -EmptyFunc3: - ret - -Diploma_TextBoxBorder: - call GetPredefRegisters - -; b = height -; c = width -CableClub_TextBoxBorder: - push hl - ld a, $78 ; border upper left corner tile - ld [hli], a - inc a ; border top horizontal line tile - call CableClub_DrawHorizontalLine - inc a ; border upper right corner tile - ld [hl], a - pop hl - ld de, 20 - add hl, de -.loop - push hl - ld a, $7b ; border left vertical line tile - ld [hli], a - ld a, " " - call CableClub_DrawHorizontalLine - ld [hl], $77 ; border right vertical line tile - pop hl - ld de, 20 - add hl, de - dec b - jr nz, .loop - ld a, $7c ; border lower left corner tile - ld [hli], a - ld a, $76 ; border bottom horizontal line tile - call CableClub_DrawHorizontalLine - ld [hl], $7d ; border lower right corner tile - ret - -; c = width -CableClub_DrawHorizontalLine: - ld d, c -.loop - ld [hli], a - dec d - jr nz, .loop - ret - -LoadTrainerInfoTextBoxTiles: - ld de, TrainerInfoTextBoxTileGraphics - ld hl, vChars2 + $760 - lb bc, BANK(TrainerInfoTextBoxTileGraphics), (TrainerInfoTextBoxTileGraphicsEnd - TrainerInfoTextBoxTileGraphics) / $10 - jp CopyVideoData diff --git a/engine/clear_save.asm b/engine/clear_save.asm deleted file mode 100755 index b47cd6c4..00000000 --- a/engine/clear_save.asm +++ /dev/null @@ -1,23 +0,0 @@ -DoClearSaveDialogue: - call ClearScreen - call RunDefaultPaletteCommand - call LoadFontTilePatterns - call LoadTextBoxTilePatterns - ld hl, ClearSaveDataText - call PrintText - coord hl, 14, 7 - lb bc, 8, 15 - ld a, NO_YES_MENU - ld [wTwoOptionMenuID], a - ld a, TWO_OPTION_MENU - ld [wTextBoxID], a - call DisplayTextBoxID - ld a, [wCurrentMenuItem] - and a - jp z, Init - callba ClearSAV - jp Init - -ClearSaveDataText: - TX_FAR _ClearSaveDataText - db "@" diff --git a/engine/debug/debug_party.asm b/engine/debug/debug_party.asm new file mode 100644 index 00000000..a5eb7dde --- /dev/null +++ b/engine/debug/debug_party.asm @@ -0,0 +1,33 @@ +; This function appears to never be used. +; It is likely a debugging feature to give the player Tsunekazu Ishihara's +; favorite Pokemon. This is indicated by the overpowered Exeggutor, which +; Ishihara (president of Creatures Inc.) said was his favorite Pokemon in an ABC +; interview on February 8, 2000. +; "Exeggutor is my favorite. That's because I was always using this character +; while I was debugging the program." +; http://www.ign.com/articles/2000/02/09/abc-news-pokamon-chat-transcript + +SetIshiharaTeam: + ld de, IshiharaTeam +.loop + ld a, [de] + cp $ff + ret z + ld [wcf91], a + inc de + ld a, [de] + ld [wCurEnemyLVL], a + inc de + call AddPartyMon + jr .loop + +IshiharaTeam: + db EXEGGUTOR,90 + db MEW,20 + db JOLTEON,56 + db DUGTRIO,56 + db ARTICUNO,57 + db $FF + +EmptyFunc: + ret diff --git a/engine/debug/test_battle.asm b/engine/debug/test_battle.asm new file mode 100644 index 00000000..d9dcf1fa --- /dev/null +++ b/engine/debug/test_battle.asm @@ -0,0 +1,45 @@ +TestBattle: + ret + +.loop + call GBPalNormal + + ; Don't mess around + ; with obedience. + ld a, %10000000 ; EARTHBADGE + ld [wObtainedBadges], a + + ld hl, wFlags_D733 + set BIT_TEST_BATTLE, [hl] + + ; Reset the party. + ld hl, wPartyCount + xor a + ld [hli], a + dec a + ld [hl], a + + ; Give the player a + ; level 20 Rhydon. + ld a, RHYDON + ld [wcf91], a + ld a, 20 + ld [wCurEnemyLVL], a + xor a + ld [wMonDataLocation], a + ld [wCurMap], a + call AddPartyMon + + ; Fight against a + ; level 20 Rhydon. + ld a, RHYDON + ld [wCurOpponent], a + + predef InitOpponent + + ; When the battle ends, + ; do it all again. + ld a, 1 + ld [wUpdateSpritesEnabled], a + ld [H_AUTOBGTRANSFERENABLED], a + jr .loop diff --git a/engine/debug1.asm b/engine/debug1.asm deleted file mode 100644 index a5eb7dde..00000000 --- a/engine/debug1.asm +++ /dev/null @@ -1,33 +0,0 @@ -; This function appears to never be used. -; It is likely a debugging feature to give the player Tsunekazu Ishihara's -; favorite Pokemon. This is indicated by the overpowered Exeggutor, which -; Ishihara (president of Creatures Inc.) said was his favorite Pokemon in an ABC -; interview on February 8, 2000. -; "Exeggutor is my favorite. That's because I was always using this character -; while I was debugging the program." -; http://www.ign.com/articles/2000/02/09/abc-news-pokamon-chat-transcript - -SetIshiharaTeam: - ld de, IshiharaTeam -.loop - ld a, [de] - cp $ff - ret z - ld [wcf91], a - inc de - ld a, [de] - ld [wCurEnemyLVL], a - inc de - call AddPartyMon - jr .loop - -IshiharaTeam: - db EXEGGUTOR,90 - db MEW,20 - db JOLTEON,56 - db DUGTRIO,56 - db ARTICUNO,57 - db $FF - -EmptyFunc: - ret diff --git a/engine/display_pokedex.asm b/engine/display_pokedex.asm deleted file mode 100644 index d657ea85..00000000 --- a/engine/display_pokedex.asm +++ /dev/null @@ -1,19 +0,0 @@ -_DisplayPokedex:: - ld hl, wd730 - set 6, [hl] - predef ShowPokedexData - ld hl, wd730 - res 6, [hl] - call ReloadMapData - ld c, 10 - call DelayFrames - predef IndexToPokedex - ld a, [wd11e] - dec a - ld c, a - ld b, FLAG_SET - ld hl, wPokedexSeen - predef FlagActionPredef - ld a, $1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ret diff --git a/engine/display_text_id_init.asm b/engine/display_text_id_init.asm deleted file mode 100644 index 5043ad22..00000000 --- a/engine/display_text_id_init.asm +++ /dev/null @@ -1,78 +0,0 @@ -; function that performs initialization for DisplayTextID -DisplayTextIDInit:: - xor a - ld [wListMenuID], a - ld a, [wAutoTextBoxDrawingControl] - bit 0, a - jr nz, .skipDrawingTextBoxBorder - ld a, [hSpriteIndexOrTextID] ; text ID (or sprite ID) - and a - jr nz, .notStartMenu -; if text ID is 0 (i.e. the start menu) -; Note that the start menu text border is also drawn in the function directly -; below this, so this seems unnecessary. - CheckEvent EVENT_GOT_POKEDEX -; start menu with pokedex - coord hl, 10, 0 - ld b, $0e - ld c, $08 - jr nz, .drawTextBoxBorder -; start menu without pokedex - coord hl, 10, 0 - ld b, $0c - ld c, $08 - jr .drawTextBoxBorder -; if text ID is not 0 (i.e. not the start menu) then do a standard dialogue text box -.notStartMenu - coord hl, 0, 12 - ld b, $04 - ld c, $12 -.drawTextBoxBorder - call TextBoxBorder -.skipDrawingTextBoxBorder - ld hl, wFontLoaded - set 0, [hl] - ld hl, wFlags_0xcd60 - bit 4, [hl] - res 4, [hl] - jr nz, .skipMovingSprites - call UpdateSprites -.skipMovingSprites -; loop to copy C1X9 (direction the sprite is facing) to C2X9 for each sprite -; this is done because when you talk to an NPC, they turn to look your way -; the original direction they were facing must be restored after the dialogue is over - ld hl, wSpriteStateData1 + $19 - ld c, $0f - ld de, $0010 -.spriteFacingDirectionCopyLoop - ld a, [hl] - inc h - ld [hl], a - dec h - add hl, de - dec c - jr nz, .spriteFacingDirectionCopyLoop -; loop to force all the sprites in the middle of animation to stand still -; (so that they don't like they're frozen mid-step during the dialogue) - ld hl, wSpriteStateData1 + 2 - ld de, $0010 - ld c, e -.spriteStandStillLoop - ld a, [hl] - cp $ff ; is the sprite visible? - jr z, .nextSprite -; if it is visible - and $fc - ld [hl], a -.nextSprite - add hl, de - dec c - jr nz, .spriteStandStillLoop - ld b, $9c ; window background address - call CopyScreenTileBufferToVRAM ; transfer background in WRAM to VRAM - xor a - ld [hWY], a ; put the window on the screen - call LoadFontTilePatterns - ld a, $01 - ld [H_AUTOBGTRANSFERENABLED], a ; enable continuous WRAM to VRAM transfer each V-blank - ret diff --git a/engine/events/black_out.asm b/engine/events/black_out.asm new file mode 100644 index 00000000..6c358ce3 --- /dev/null +++ b/engine/events/black_out.asm @@ -0,0 +1,46 @@ +ResetStatusAndHalveMoneyOnBlackout:: +; Reset player status on blackout. + xor a + ld [wBattleResult], a + ld [wWalkBikeSurfState], a + ld [wIsInBattle], a + ld [wMapPalOffset], a + ld [wNPCMovementScriptFunctionNum], a + ld [hJoyHeld], a + ld [wNPCMovementScriptPointerTableNum], a + ld [wFlags_0xcd60], a + + ld [hMoney], a + ld [hMoney + 1], a + ld [hMoney + 2], a + call HasEnoughMoney + jr c, .lostmoney ; never happens + + ; Halve the player's money. + ld a, [wPlayerMoney] + ld [hMoney], a + ld a, [wPlayerMoney + 1] + ld [hMoney + 1], a + ld a, [wPlayerMoney + 2] + ld [hMoney + 2], a + xor a + ld [hDivideBCDDivisor], a + ld [hDivideBCDDivisor + 1], a + ld a, 2 + ld [hDivideBCDDivisor + 2], a + predef DivideBCDPredef3 + ld a, [hDivideBCDQuotient] + ld [wPlayerMoney], a + ld a, [hDivideBCDQuotient + 1] + ld [wPlayerMoney + 1], a + ld a, [hDivideBCDQuotient + 2] + ld [wPlayerMoney + 2], a + +.lostmoney + ld hl, wd732 + set 2, [hl] + res 3, [hl] + set 6, [hl] + ld a, %11111111 + ld [wJoyIgnore], a + predef_jump HealParty diff --git a/engine/events/card_key.asm b/engine/events/card_key.asm new file mode 100755 index 00000000..c77d5fcd --- /dev/null +++ b/engine/events/card_key.asm @@ -0,0 +1,112 @@ +PrintCardKeyText: + ld hl, SilphCoMapList + ld a, [wCurMap] + ld b, a +.silphCoMapListLoop + ld a, [hli] + cp $ff + ret z + cp b + jr nz, .silphCoMapListLoop + predef GetTileAndCoordsInFrontOfPlayer + ld a, [wTileInFrontOfPlayer] + cp $18 + jr z, .cardKeyDoorInFrontOfPlayer + cp $24 + jr z, .cardKeyDoorInFrontOfPlayer + ld b, a + ld a, [wCurMap] + cp SILPH_CO_11F + ret nz + ld a, b + cp $5e + ret nz +.cardKeyDoorInFrontOfPlayer + ld b, CARD_KEY + call IsItemInBag + jr z, .noCardKey + call GetCoordsInFrontOfPlayer + push de + tx_pre_id CardKeySuccessText + ld [hSpriteIndexOrTextID], a + call PrintPredefTextID + pop de + srl d + ld a, d + ld b, a + ld [wCardKeyDoorY], a + srl e + ld a, e + ld c, a + ld [wCardKeyDoorX], a + ld a, [wCurMap] + cp SILPH_CO_11F + jr nz, .notSilphCo11F + ld a, $3 + jr .replaceCardKeyDoorTileBlock +.notSilphCo11F + ld a, $e +.replaceCardKeyDoorTileBlock + ld [wNewTileBlockID], a + predef ReplaceTileBlock + ld hl, wCurrentMapScriptFlags + set 5, [hl] + ld a, SFX_GO_INSIDE + jp PlaySound +.noCardKey + tx_pre_id CardKeyFailText + ld [hSpriteIndexOrTextID], a + jp PrintPredefTextID + +SilphCoMapList: + db SILPH_CO_2F + db SILPH_CO_3F + db SILPH_CO_4F + db SILPH_CO_5F + db SILPH_CO_6F + db SILPH_CO_7F + db SILPH_CO_8F + db SILPH_CO_9F + db SILPH_CO_10F + db SILPH_CO_11F + db $FF + +CardKeySuccessText:: + TX_FAR _CardKeySuccessText1 + TX_SFX_ITEM_1 + TX_FAR _CardKeySuccessText2 + db "@" + +CardKeyFailText:: + TX_FAR _CardKeyFailText + db "@" + +; d = Y +; e = X +GetCoordsInFrontOfPlayer: + ld a, [wYCoord] + ld d, a + ld a, [wXCoord] + ld e, a + ld a, [wSpriteStateData1 + 9] ; player's sprite facing direction + and a + jr nz, .notFacingDown +; facing down + inc d + ret +.notFacingDown + cp SPRITE_FACING_UP + jr nz, .notFacingUp +; facing up + dec d + ret +.notFacingUp + cp SPRITE_FACING_LEFT + jr nz, .notFacingLeft +; facing left + dec e + ret +.notFacingLeft +; facing right + inc e + ret diff --git a/engine/events/cinnabar_lab.asm b/engine/events/cinnabar_lab.asm new file mode 100755 index 00000000..e642840d --- /dev/null +++ b/engine/events/cinnabar_lab.asm @@ -0,0 +1,123 @@ +GiveFossilToCinnabarLab:: + ld hl, wd730 + set 6, [hl] + xor a + ld [wCurrentMenuItem], a + ld a, A_BUTTON | B_BUTTON + ld [wMenuWatchedKeys], a + ld a, [wFilteredBagItemsCount] + dec a + ld [wMaxMenuItem], a + ld a, 2 + ld [wTopMenuItemY], a + ld a, 1 + ld [wTopMenuItemX], a + ld a, [wFilteredBagItemsCount] + dec a + ld bc, 2 + ld hl, 3 + call AddNTimes + dec l + ld b, l + ld c, $d + coord hl, 0, 0 + call TextBoxBorder + call UpdateSprites + call PrintFossilsInBag + ld hl, wd730 + res 6, [hl] + call HandleMenuInput + bit 1, a ; pressed B? + jr nz, .cancelledGivingFossil + ld hl, wFilteredBagItems + ld a, [wCurrentMenuItem] + ld d, 0 + ld e, a + add hl, de + ld a, [hl] + ld [$ffdb], a + cp DOME_FOSSIL + jr z, .choseDomeFossil + cp HELIX_FOSSIL + jr z, .choseHelixFossil + ld b, AERODACTYL + jr .fossilSelected +.choseHelixFossil + ld b, OMANYTE + jr .fossilSelected +.choseDomeFossil + ld b, KABUTO +.fossilSelected + ld [wFossilItem], a + ld a, b + ld [wFossilMon], a + call LoadFossilItemAndMonName + ld hl, LabFossil_610ae + call PrintText + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + jr nz, .cancelledGivingFossil + ld hl, LabFossil_610b3 + call PrintText + ld a, [wFossilItem] + ld [hItemToRemoveID], a + callba RemoveItemByID + ld hl, LabFossil_610b8 + call PrintText + SetEvents EVENT_GAVE_FOSSIL_TO_LAB, EVENT_LAB_STILL_REVIVING_FOSSIL + ret +.cancelledGivingFossil + ld hl, LabFossil_610bd + call PrintText + ret + +LabFossil_610ae: + TX_FAR _Lab4Text_610ae + db "@" + +LabFossil_610b3: + TX_FAR _Lab4Text_610b3 + db "@" + +LabFossil_610b8: + TX_FAR _Lab4Text_610b8 + db "@" + +LabFossil_610bd: + TX_FAR _Lab4Text_610bd + db "@" + +PrintFossilsInBag: +; Prints each fossil in the player's bag on a separate line in the menu. + ld hl, wFilteredBagItems + xor a + ld [hItemCounter], a +.loop + ld a, [hli] + cp $ff + ret z + push hl + ld [wd11e], a + call GetItemName + coord hl, 2, 2 + ld a, [hItemCounter] + ld bc, SCREEN_WIDTH * 2 + call AddNTimes + ld de, wcd6d + call PlaceString + ld hl, hItemCounter + inc [hl] + pop hl + jr .loop + +; loads the names of the fossil item and the resulting mon +LoadFossilItemAndMonName:: + ld a, [wFossilMon] + ld [wd11e], a + call GetMonName + call CopyStringToCF4B + ld a, [wFossilItem] + ld [wd11e], a + call GetItemName + ret diff --git a/engine/events/diploma.asm b/engine/events/diploma.asm new file mode 100755 index 00000000..e53ef58f --- /dev/null +++ b/engine/events/diploma.asm @@ -0,0 +1,113 @@ +DisplayDiploma:: + call SaveScreenTilesToBuffer2 + call GBPalWhiteOutWithDelay3 + call ClearScreen + xor a + ld [wUpdateSpritesEnabled], a + ld hl, wd730 + set 6, [hl] + call DisableLCD + ld hl, CircleTile + ld de, vChars2 + $700 + ld bc, $0010 + ld a, BANK(CircleTile) + call FarCopyData2 + coord hl, 0, 0 + lb bc, 16, 18 + predef Diploma_TextBoxBorder + ld hl, DiplomaTextPointersAndCoords + ld c, $5 +.asm_56715 + push bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + push hl + ld h, [hl] + ld l, a + call PlaceString + pop hl + inc hl + pop bc + dec c + jr nz, .asm_56715 + coord hl, 10, 4 + ld de, wPlayerName + call PlaceString + callba DrawPlayerCharacter + +; Move the player 33 pixels right and set the priority bit so he appears +; behind the background layer. + ld hl, wOAMBuffer + $01 + lb bc, $80, $28 +.adjustPlayerGfxLoop + ld a, [hl] ; X + add 33 + ld [hli], a + inc hl + ld a, b + ld [hli], a ; attributes + inc hl + dec c + jr nz, .adjustPlayerGfxLoop + + call EnableLCD + callba LoadTrainerInfoTextBoxTiles + ld b, SET_PAL_GENERIC + call RunPaletteCommand + call Delay3 + call GBPalNormal + ld a, $90 + ld [rOBP0], a + call WaitForTextScrollButtonPress + ld hl, wd730 + res 6, [hl] + call GBPalWhiteOutWithDelay3 + call RestoreScreenTilesAndReloadTilePatterns + call Delay3 + jp GBPalNormal + +UnusedPlayerNameLengthFunc: +; Unused function that does a calculation involving the length of the player's +; name. + ld hl, wPlayerName + ld bc, $ff00 +.loop + ld a, [hli] + cp "@" + ret z + dec c + jr .loop + +DiplomaTextPointersAndCoords: + dw DiplomaText + dwCoord 5, 2 + dw DiplomaPlayer + dwCoord 3, 4 + dw DiplomaEmptyText + dwCoord 15, 4 + dw DiplomaCongrats + dwCoord 2, 6 + dw DiplomaGameFreak + dwCoord 9, 16 + +DiplomaText: + db $70,"Diploma",$70,"@" + +DiplomaPlayer: + db "Player@" + +DiplomaEmptyText: + db "@" + +DiplomaCongrats: + db "Congrats! This" + next "diploma certifies" + next "that you have" + next "completed your" + next "#DEX.@" + +DiplomaGameFreak: + db "GAME FREAK@" diff --git a/engine/events/display_pokedex.asm b/engine/events/display_pokedex.asm new file mode 100644 index 00000000..d657ea85 --- /dev/null +++ b/engine/events/display_pokedex.asm @@ -0,0 +1,19 @@ +_DisplayPokedex:: + ld hl, wd730 + set 6, [hl] + predef ShowPokedexData + ld hl, wd730 + res 6, [hl] + call ReloadMapData + ld c, 10 + call DelayFrames + predef IndexToPokedex + ld a, [wd11e] + dec a + ld c, a + ld b, FLAG_SET + ld hl, wPokedexSeen + predef FlagActionPredef + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ret diff --git a/engine/events/elevator.asm b/engine/events/elevator.asm new file mode 100755 index 00000000..752bdd1a --- /dev/null +++ b/engine/events/elevator.asm @@ -0,0 +1,48 @@ +DisplayElevatorFloorMenu: + ld hl, WhichFloorText + call PrintText + ld hl, wItemList + ld a, l + ld [wListPointer], a + ld a, h + ld [wListPointer + 1], a + ld a, [wListScrollOffset] + push af + xor a + ld [wCurrentMenuItem], a + ld [wListScrollOffset], a + ld [wPrintItemPrices], a + ld a, SPECIALLISTMENU + ld [wListMenuID], a + call DisplayListMenuID + pop bc + ld a, b + ld [wListScrollOffset], a + ret c + ld hl, wCurrentMapScriptFlags + set 7, [hl] + ld hl, wElevatorWarpMaps + ld a, [wWhichPokemon] + add a + ld d, 0 + ld e, a + add hl, de + ld a, [hli] + ld b, a + ld a, [hl] + ld c, a + ld hl, wWarpEntries + call .UpdateWarp + +.UpdateWarp + inc hl + inc hl + ld a, b + ld [hli], a ; destination warp ID + ld a, c + ld [hli], a ; destination map ID + ret + +WhichFloorText: + TX_FAR _WhichFloorText + db "@" diff --git a/engine/events/evolve_trade.asm b/engine/events/evolve_trade.asm new file mode 100755 index 00000000..e17fc05c --- /dev/null +++ b/engine/events/evolve_trade.asm @@ -0,0 +1,44 @@ +EvolveTradeMon: +; Verify the TradeMon's species name before +; attempting to initiate a trade evolution. + +; The names of the trade evolutions in Blue (JP) +; are checked. In that version, TradeMons that +; can evolve are Graveler and Haunter. + +; In localization, this check was translated +; before monster names were finalized. +; Then, Haunter's name was "Spectre". +; Since its name no longer starts with +; "SP", it is prevented from evolving. + +; This may have been why Red/Green's trades +; were used instead, where none can evolve. + +; This was fixed in Yellow. + + ld a, [wInGameTradeReceiveMonName] + + ; GRAVELER + cp "G" + jr z, .ok + + ; "SPECTRE" (HAUNTER) + cp "S" + ret nz + ld a, [wInGameTradeReceiveMonName + 1] + cp "P" + ret nz + +.ok + ld a, [wPartyCount] + dec a + ld [wWhichPokemon], a + ld a, $1 + ld [wForceEvolution], a + ld a, LINK_STATE_TRADING + ld [wLinkState], a + callab TryEvolvingMon + xor a ; LINK_STATE_NONE + ld [wLinkState], a + jp PlayDefaultMusic diff --git a/engine/events/give_pokemon.asm b/engine/events/give_pokemon.asm new file mode 100755 index 00000000..03177e60 --- /dev/null +++ b/engine/events/give_pokemon.asm @@ -0,0 +1,82 @@ +_GivePokemon:: +; returns success in carry +; and whether the mon was added to the party in [wAddedToParty] + call EnableAutoTextBoxDrawing + xor a + ld [wAddedToParty], a + ld a, [wPartyCount] + cp PARTY_LENGTH + jr c, .addToParty + ld a, [wNumInBox] + cp MONS_PER_BOX + jr nc, .boxFull +; add to box + xor a + ld [wEnemyBattleStatus3], a + ld a, [wcf91] + ld [wEnemyMonSpecies2], a + callab LoadEnemyMonData + call SetPokedexOwnedFlag + callab SendNewMonToBox + ld hl, wcf4b + ld a, [wCurrentBoxNum] + and $7f + cp 9 + jr c, .singleDigitBoxNum + sub 9 + ld [hl], "1" + inc hl + add "0" + jr .next +.singleDigitBoxNum + add "1" +.next + ld [hli], a + ld [hl], "@" + ld hl, SentToBoxText + call PrintText + scf + ret +.boxFull + ld hl, BoxIsFullText + call PrintText + and a + ret +.addToParty + call SetPokedexOwnedFlag + call AddPartyMon + ld a, 1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld [wAddedToParty], a + scf + ret + +SetPokedexOwnedFlag: + ld a, [wcf91] + push af + ld [wd11e], a + predef IndexToPokedex + ld a, [wd11e] + dec a + ld c, a + ld hl, wPokedexOwned + ld b, FLAG_SET + predef FlagActionPredef + pop af + ld [wd11e], a + call GetMonName + ld hl, GotMonText + jp PrintText + +GotMonText: + TX_FAR _GotMonText + TX_SFX_ITEM_1 + db "@" + +SentToBoxText: + TX_FAR _SentToBoxText + db "@" + +BoxIsFullText: + TX_FAR _BoxIsFullText + db "@" diff --git a/engine/events/heal_party.asm b/engine/events/heal_party.asm new file mode 100644 index 00000000..7aaa1bd1 --- /dev/null +++ b/engine/events/heal_party.asm @@ -0,0 +1,99 @@ +HealParty: +; Restore HP and PP. + + ld hl, wPartySpecies + ld de, wPartyMon1HP +.healmon + ld a, [hli] + cp $ff + jr z, .done + + push hl + push de + + ld hl, wPartyMon1Status - wPartyMon1HP + add hl, de + xor a + ld [hl], a + + push de + ld b, NUM_MOVES ; A Pokémon has 4 moves +.pp + ld hl, wPartyMon1Moves - wPartyMon1HP + add hl, de + + ld a, [hl] + and a + jr z, .nextmove + + dec a + ld hl, wPartyMon1PP - wPartyMon1HP + add hl, de + + push hl + push de + push bc + + ld hl, Moves + ld bc, MoveEnd - Moves + call AddNTimes + ld de, wcd6d + ld a, BANK(Moves) + call FarCopyData + ld a, [wcd6d + 5] ; PP is byte 5 of move data + + pop bc + pop de + pop hl + + inc de + push bc + ld b, a + ld a, [hl] + and $c0 + add b + ld [hl], a + pop bc + +.nextmove + dec b + jr nz, .pp + pop de + + ld hl, wPartyMon1MaxHP - wPartyMon1HP + add hl, de + ld a, [hli] + ld [de], a + inc de + ld a, [hl] + ld [de], a + + pop de + pop hl + + push hl + ld bc, wPartyMon2 - wPartyMon1 + ld h, d + ld l, e + add hl, bc + ld d, h + ld e, l + pop hl + jr .healmon + +.done + xor a + ld [wWhichPokemon], a + ld [wd11e], a + + ld a, [wPartyCount] + ld b, a +.ppup + push bc + call RestoreBonusPP + pop bc + ld hl, wWhichPokemon + inc [hl] + dec b + jr nz, .ppup + ret diff --git a/engine/events/hidden_items.asm b/engine/events/hidden_items.asm new file mode 100755 index 00000000..e40b0ac7 --- /dev/null +++ b/engine/events/hidden_items.asm @@ -0,0 +1,161 @@ +HiddenItems: + ld hl, HiddenItemCoords + call FindHiddenItemOrCoinsIndex + ld [wHiddenItemOrCoinsIndex], a + ld hl, wObtainedHiddenItemsFlags + ld a, [wHiddenItemOrCoinsIndex] + ld c, a + ld b, FLAG_TEST + predef FlagActionPredef + ld a, c + and a + ret nz + call EnableAutoTextBoxDrawing + ld a, 1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld a, [wHiddenObjectFunctionArgument] ; item ID + ld [wd11e], a + call GetItemName + tx_pre_jump FoundHiddenItemText + +INCLUDE "data/hidden_item_coords.asm" + +FoundHiddenItemText:: + TX_FAR _FoundHiddenItemText + TX_ASM + ld a, [wHiddenObjectFunctionArgument] ; item ID + ld b, a + ld c, 1 + call GiveItem + jr nc, .bagFull + ld hl, wObtainedHiddenItemsFlags + ld a, [wHiddenItemOrCoinsIndex] + ld c, a + ld b, FLAG_SET + predef FlagActionPredef + ld a, SFX_GET_ITEM_2 + call PlaySoundWaitForCurrent + call WaitForSoundToFinish + jp TextScriptEnd +.bagFull + call WaitForTextScrollButtonPress ; wait for button press + xor a + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld hl, HiddenItemBagFullText + call PrintText + jp TextScriptEnd + +HiddenItemBagFullText:: + TX_FAR _HiddenItemBagFullText + db "@" + +HiddenCoins: + ld b, COIN_CASE + predef GetQuantityOfItemInBag + ld a, b + and a + ret z + ld hl, HiddenCoinCoords + call FindHiddenItemOrCoinsIndex + ld [wHiddenItemOrCoinsIndex], a + ld hl, wObtainedHiddenCoinsFlags + ld a, [wHiddenItemOrCoinsIndex] + ld c, a + ld b, FLAG_TEST + predef FlagActionPredef + ld a, c + and a + ret nz + xor a + ld [hUnusedCoinsByte], a + ld [hCoins], a + ld [hCoins + 1], a + ld a, [wHiddenObjectFunctionArgument] + sub COIN + cp 10 + jr z, .bcd10 + cp 20 + jr z, .bcd20 + cp 40 + jr z, .bcd20 ; should be bcd40 + jr .bcd100 +.bcd10 + ld a, $10 + ld [hCoins + 1], a + jr .bcdDone +.bcd20 + ld a, $20 + ld [hCoins + 1], a + jr .bcdDone +.bcd40 ; due to a typo, this is never used + ld a, $40 + ld [hCoins + 1], a + jr .bcdDone +.bcd100 + ld a, $1 + ld [hCoins], a +.bcdDone + ld de, wPlayerCoins + 1 + ld hl, hCoins + 1 + ld c, $2 + predef AddBCDPredef + ld hl, wObtainedHiddenCoinsFlags + ld a, [wHiddenItemOrCoinsIndex] + ld c, a + ld b, FLAG_SET + predef FlagActionPredef + call EnableAutoTextBoxDrawing + ld a, [wPlayerCoins] + cp $99 + jr nz, .roomInCoinCase + ld a, [wPlayerCoins + 1] + cp $99 + jr nz, .roomInCoinCase + tx_pre_id DroppedHiddenCoinsText + jr .done +.roomInCoinCase + tx_pre_id FoundHiddenCoinsText +.done + jp PrintPredefTextID + +INCLUDE "data/hidden_coins.asm" + +FoundHiddenCoinsText:: + TX_FAR _FoundHiddenCoinsText + TX_SFX_ITEM_2 + db "@" + +DroppedHiddenCoinsText:: + TX_FAR _FoundHiddenCoins2Text + TX_SFX_ITEM_2 + TX_FAR _DroppedHiddenCoinsText + db "@" + +FindHiddenItemOrCoinsIndex: + ld a, [wHiddenObjectY] + ld d, a + ld a, [wHiddenObjectX] + ld e, a + ld a, [wCurMap] + ld b, a + ld c, -1 +.loop + inc c + ld a, [hli] + cp $ff ; end of the list? + ret z ; if so, we're done here + cp b + jr nz, .next1 + ld a, [hli] + cp d + jr nz, .next2 + ld a, [hli] + cp e + jr nz, .loop + ld a, c + ret +.next1 + inc hl +.next2 + inc hl + jr .loop diff --git a/engine/events/hidden_object_functions14.asm b/engine/events/hidden_object_functions14.asm new file mode 100755 index 00000000..9e14c6a7 --- /dev/null +++ b/engine/events/hidden_object_functions14.asm @@ -0,0 +1,100 @@ +PrintNotebookText: + call EnableAutoTextBoxDrawing + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld a, [wHiddenObjectFunctionArgument] + jp PrintPredefTextID + +TMNotebook:: + TX_FAR TMNotebookText + TX_WAIT + db "@" + +ViridianSchoolNotebook:: + TX_ASM + ld hl, ViridianSchoolNotebookText1 + call PrintText + call TurnPageSchoolNotebook + jr nz, .doneReading + ld hl, ViridianSchoolNotebookText2 + call PrintText + call TurnPageSchoolNotebook + jr nz, .doneReading + ld hl, ViridianSchoolNotebookText3 + call PrintText + call TurnPageSchoolNotebook + jr nz, .doneReading + ld hl, ViridianSchoolNotebookText4 + call PrintText + ld hl, ViridianSchoolNotebookText5 + call PrintText +.doneReading + jp TextScriptEnd + +TurnPageSchoolNotebook: + ld hl, TurnPageText + call PrintText + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + ret + +TurnPageText: + TX_FAR _TurnPageText + db "@" + +ViridianSchoolNotebookText5: + TX_FAR _ViridianSchoolNotebookText5 + TX_WAIT + db "@" + +ViridianSchoolNotebookText1: + TX_FAR _ViridianSchoolNotebookText1 + db "@" + +ViridianSchoolNotebookText2: + TX_FAR _ViridianSchoolNotebookText2 + db "@" + +ViridianSchoolNotebookText3: + TX_FAR _ViridianSchoolNotebookText3 + db "@" + +ViridianSchoolNotebookText4: + TX_FAR _ViridianSchoolNotebookText4 + db "@" + +PrintFightingDojoText2: + call EnableAutoTextBoxDrawing + tx_pre_jump EnemiesOnEverySideText + +EnemiesOnEverySideText:: + TX_FAR _EnemiesOnEverySideText + db "@" + +PrintFightingDojoText3: + call EnableAutoTextBoxDrawing + tx_pre_jump WhatGoesAroundComesAroundText + +WhatGoesAroundComesAroundText:: + TX_FAR _WhatGoesAroundComesAroundText + db "@" + +PrintFightingDojoText: + call EnableAutoTextBoxDrawing + tx_pre_jump FightingDojoText + +FightingDojoText:: + TX_FAR _FightingDojoText + db "@" + +PrintIndigoPlateauHQText: + ld a, [wSpriteStateData1 + 9] + cp SPRITE_FACING_UP + ret nz + call EnableAutoTextBoxDrawing + tx_pre_jump IndigoPlateauHQText + +IndigoPlateauHQText:: + TX_FAR _IndigoPlateauHQText + db "@" diff --git a/engine/events/hidden_object_functions17.asm b/engine/events/hidden_object_functions17.asm new file mode 100755 index 00000000..bb2a358c --- /dev/null +++ b/engine/events/hidden_object_functions17.asm @@ -0,0 +1,475 @@ +PrintRedSNESText: + call EnableAutoTextBoxDrawing + tx_pre_jump RedBedroomSNESText + +RedBedroomSNESText:: + TX_FAR _RedBedroomSNESText + db "@" + +OpenRedsPC: + call EnableAutoTextBoxDrawing + tx_pre_jump RedBedroomPCText + +RedBedroomPCText:: + TX_PLAYERS_PC + +Route15GateLeftBinoculars: + ld a, [wSpriteStateData1 + 9] + cp SPRITE_FACING_UP + ret nz + call EnableAutoTextBoxDrawing + tx_pre Route15UpstairsBinocularsText + ld a, ARTICUNO + ld [wcf91], a + call PlayCry + jp DisplayMonFrontSpriteInBox + +Route15UpstairsBinocularsText:: + TX_FAR _Route15UpstairsBinocularsText + db "@" + +AerodactylFossil: + ld a, FOSSIL_AERODACTYL + ld [wcf91], a + call DisplayMonFrontSpriteInBox + call EnableAutoTextBoxDrawing + tx_pre AerodactylFossilText + ret + +AerodactylFossilText:: + TX_FAR _AerodactylFossilText + db "@" + +KabutopsFossil: + ld a, FOSSIL_KABUTOPS + ld [wcf91], a + call DisplayMonFrontSpriteInBox + call EnableAutoTextBoxDrawing + tx_pre KabutopsFossilText + ret + +KabutopsFossilText:: + TX_FAR _KabutopsFossilText + db "@" + +DisplayMonFrontSpriteInBox: +; Displays a pokemon's front sprite in a pop-up window. +; [wcf91] = pokemon internal id number + ld a, 1 + ld [H_AUTOBGTRANSFERENABLED], a + call Delay3 + xor a + ld [hWY], a + call SaveScreenTilesToBuffer1 + ld a, MON_SPRITE_POPUP + ld [wTextBoxID], a + call DisplayTextBoxID + call UpdateSprites + ld a, [wcf91] + ld [wd0b5], a + call GetMonHeader + ld de, vChars1 + $310 + call LoadMonFrontSprite + ld a, $80 + ld [hStartTileID], a + coord hl, 10, 11 + predef AnimateSendingOutMon + call WaitForTextScrollButtonPress + call LoadScreenTilesFromBuffer1 + call Delay3 + ld a, $90 + ld [hWY], a + ret + +PrintBlackboardLinkCableText: + call EnableAutoTextBoxDrawing + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld a, [wHiddenObjectFunctionArgument] + call PrintPredefTextID + ret + +LinkCableHelp:: + TX_ASM + call SaveScreenTilesToBuffer1 + ld hl, LinkCableHelpText1 + call PrintText + xor a + ld [wMenuItemOffset], a ; not used + ld [wCurrentMenuItem], a + ld [wLastMenuItem], a + ld a, A_BUTTON | B_BUTTON + ld [wMenuWatchedKeys], a + ld a, 3 + ld [wMaxMenuItem], a + ld a, 2 + ld [wTopMenuItemY], a + ld a, 1 + ld [wTopMenuItemX], a +.linkHelpLoop + ld hl, wd730 + set 6, [hl] + coord hl, 0, 0 + ld b, 8 + ld c, 13 + call TextBoxBorder + coord hl, 2, 2 + ld de, HowToLinkText + call PlaceString + ld hl, LinkCableHelpText2 + call PrintText + call HandleMenuInput + bit 1, a ; pressed b + jr nz, .exit + ld a, [wCurrentMenuItem] + cp 3 ; pressed a on "STOP READING" + jr z, .exit + ld hl, wd730 + res 6, [hl] + ld hl, LinkCableInfoTexts + add a + ld d, 0 + ld e, a + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + call PrintText + jp .linkHelpLoop +.exit + ld hl, wd730 + res 6, [hl] + call LoadScreenTilesFromBuffer1 + jp TextScriptEnd + +LinkCableHelpText1: + TX_FAR _LinkCableHelpText1 + db "@" + +LinkCableHelpText2: + TX_FAR _LinkCableHelpText2 + db "@" + +HowToLinkText: + db "HOW TO LINK" + next "COLOSSEUM" + next "TRADE CENTER" + next "STOP READING@" + +LinkCableInfoTexts: + dw LinkCableInfoText1 + dw LinkCableInfoText2 + dw LinkCableInfoText3 + +LinkCableInfoText1: + TX_FAR _LinkCableInfoText1 + db "@" + +LinkCableInfoText2: + TX_FAR _LinkCableInfoText2 + db "@" + +LinkCableInfoText3: + TX_FAR _LinkCableInfoText3 + db "@" + +ViridianSchoolBlackboard:: + TX_ASM + call SaveScreenTilesToBuffer1 + ld hl, ViridianSchoolBlackboardText1 + call PrintText + xor a + ld [wMenuItemOffset], a + ld [wCurrentMenuItem], a + ld [wLastMenuItem], a + ld a, D_LEFT | D_RIGHT | A_BUTTON | B_BUTTON + ld [wMenuWatchedKeys], a + ld a, 2 + ld [wMaxMenuItem], a + ld a, 2 + ld [wTopMenuItemY], a + ld a, 1 + ld [wTopMenuItemX], a +.blackboardLoop + ld hl, wd730 + set 6, [hl] + coord hl, 0, 0 + lb bc, 6, 10 + call TextBoxBorder + coord hl, 1, 2 + ld de, StatusAilmentText1 + call PlaceString + coord hl, 6, 2 + ld de, StatusAilmentText2 + call PlaceString + ld hl, ViridianSchoolBlackboardText2 + call PrintText + call HandleMenuInput ; pressing up and down is handled in here + bit 1, a ; pressed b + jr nz, .exitBlackboard + bit 4, a ; pressed right + jr z, .didNotPressRight + ; move cursor to right column + ld a, 2 + ld [wMaxMenuItem], a + ld a, 2 + ld [wTopMenuItemY], a + ld a, 6 + ld [wTopMenuItemX], a + ld a, 3 ; in the the right column, use an offset to prevent overlap + ld [wMenuItemOffset], a + jr .blackboardLoop +.didNotPressRight + bit 5, a ; pressed left + jr z, .didNotPressLeftOrRight + ; move cursor to left column + ld a, 2 + ld [wMaxMenuItem], a + ld a, 2 + ld [wTopMenuItemY], a + ld a, 1 + ld [wTopMenuItemX], a + xor a + ld [wMenuItemOffset], a + jr .blackboardLoop +.didNotPressLeftOrRight + ld a, [wCurrentMenuItem] + ld b, a + ld a, [wMenuItemOffset] + add b + cp 5 ; cursor is pointing to "QUIT" + jr z, .exitBlackboard + ; we must have pressed a on a status condition + ; so print the text + ld hl, wd730 + res 6, [hl] + ld hl, ViridianBlackboardStatusPointers + add a + ld d, 0 + ld e, a + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + call PrintText + jp .blackboardLoop +.exitBlackboard + ld hl, wd730 + res 6, [hl] + call LoadScreenTilesFromBuffer1 + jp TextScriptEnd + +ViridianSchoolBlackboardText1: + TX_FAR _ViridianSchoolBlackboardText1 + db "@" + +ViridianSchoolBlackboardText2: + TX_FAR _ViridianSchoolBlackboardText2 + db "@" + +StatusAilmentText1: + db " SLP" + next " PSN" + next " PAR@" + +StatusAilmentText2: + db " BRN" + next " FRZ" + next " QUIT@@" + +ViridianBlackboardStatusPointers: + dw ViridianBlackboardSleepText + dw ViridianBlackboardPoisonText + dw ViridianBlackboardPrlzText + dw ViridianBlackboardBurnText + dw ViridianBlackboardFrozenText + +ViridianBlackboardSleepText: + TX_FAR _ViridianBlackboardSleepText + db "@" + +ViridianBlackboardPoisonText: + TX_FAR _ViridianBlackboardPoisonText + db "@" + +ViridianBlackboardPrlzText: + TX_FAR _ViridianBlackboardPrlzText + db "@" + +ViridianBlackboardBurnText: + TX_FAR _ViridianBlackboardBurnText + db "@" + +ViridianBlackboardFrozenText: + TX_FAR _ViridianBlackboardFrozenText + db "@" + +PrintTrashText: + call EnableAutoTextBoxDrawing + tx_pre_jump VermilionGymTrashText + +VermilionGymTrashText:: + TX_FAR _VermilionGymTrashText + db "@" + +GymTrashScript: + call EnableAutoTextBoxDrawing + ld a, [wHiddenObjectFunctionArgument] + ld [wGymTrashCanIndex], a + +; Don't do the trash can puzzle if it's already been done. + CheckEvent EVENT_2ND_LOCK_OPENED + jr z, .ok + + tx_pre_jump VermilionGymTrashText + +.ok + CheckEventReuseA EVENT_1ST_LOCK_OPENED + jr nz, .trySecondLock + + ld a, [wFirstLockTrashCanIndex] + ld b, a + ld a, [wGymTrashCanIndex] + cp b + jr z, .openFirstLock + + tx_pre_id VermilionGymTrashText + jr .done + +.openFirstLock +; Next can is trying for the second switch. + SetEvent EVENT_1ST_LOCK_OPENED + + ld hl, GymTrashCans + ld a, [wGymTrashCanIndex] + ; * 5 + ld b, a + add a + add a + add b + + ld d, 0 + ld e, a + add hl, de + ld a, [hli] + +; There is a bug in this code. It should calculate a value in the range [0, 3] +; but if the mask and random number don't have any 1 bits in common, then +; the result of the AND will be 0. When 1 is subtracted from that, the value +; will become $ff. This will result in 255 being added to hl, which will cause +; hl to point to one of the zero bytes that pad the end of the ROM bank. +; Trash can 0 was intended to be able to have the second lock only when the +; first lock was in trash can 1 or 3. However, due to this bug, trash can 0 can +; have the second lock regardless of which trash can had the first lock. + + ld [hGymTrashCanRandNumMask], a + push hl + call Random + swap a + ld b, a + ld a, [hGymTrashCanRandNumMask] + and b + dec a + pop hl + + ld d, 0 + ld e, a + add hl, de + ld a, [hl] + and $f + ld [wSecondLockTrashCanIndex], a + + tx_pre_id VermilionGymTrashSuccessText1 + jr .done + +.trySecondLock + ld a, [wSecondLockTrashCanIndex] + ld b, a + ld a, [wGymTrashCanIndex] + cp b + jr z, .openSecondLock + +; Reset the cans. + ResetEvent EVENT_1ST_LOCK_OPENED + call Random + + and $e + ld [wFirstLockTrashCanIndex], a + + tx_pre_id VermilionGymTrashFailText + jr .done + +.openSecondLock +; Completed the trash can puzzle. + SetEvent EVENT_2ND_LOCK_OPENED + ld hl, wCurrentMapScriptFlags + set 6, [hl] + + tx_pre_id VermilionGymTrashSuccessText3 + +.done + jp PrintPredefTextID + +GymTrashCans: +; byte 0: mask for random number +; bytes 1-4: indices of the trash cans that can have the second lock +; (but see the comment above explaining a bug regarding this) +; Note that the mask is simply the number of valid trash can indices that +; follow. The remaining bytes are filled with 0 to pad the length of each entry +; to 5 bytes. + db 2, 1, 3, 0, 0 ; 0 + db 3, 0, 2, 4, 0 ; 1 + db 2, 1, 5, 0, 0 ; 2 + db 3, 0, 4, 6, 0 ; 3 + db 4, 1, 3, 5, 7 ; 4 + db 3, 2, 4, 8, 0 ; 5 + db 3, 3, 7, 9, 0 ; 6 + db 4, 4, 6, 8, 10 ; 7 + db 3, 5, 7, 11, 0 ; 8 + db 3, 6, 10, 12, 0 ; 9 + db 4, 7, 9, 11, 13 ; 10 + db 3, 8, 10, 14, 0 ; 11 + db 2, 9, 13, 0, 0 ; 12 + db 3, 10, 12, 14, 0 ; 13 + db 2, 11, 13, 0, 0 ; 14 + +VermilionGymTrashSuccessText1:: + TX_FAR _VermilionGymTrashSuccessText1 + TX_ASM + call WaitForSoundToFinish + ld a, SFX_SWITCH + call PlaySound + call WaitForSoundToFinish + jp TextScriptEnd + +; unused +VermilionGymTrashSuccessText2:: + TX_FAR _VermilionGymTrashSuccessText2 + db "@" + +; unused +VermilionGymTrashSuccesPlaySfx: + TX_ASM + call WaitForSoundToFinish + ld a, SFX_SWITCH + call PlaySound + call WaitForSoundToFinish + jp TextScriptEnd + +VermilionGymTrashSuccessText3:: + TX_FAR _VermilionGymTrashSuccessText3 + TX_ASM + call WaitForSoundToFinish + ld a, SFX_GO_INSIDE + call PlaySound + call WaitForSoundToFinish + jp TextScriptEnd + +VermilionGymTrashFailText:: + TX_FAR _VermilionGymTrashFailText + TX_ASM + call WaitForSoundToFinish + ld a, SFX_DENIED + call PlaySound + call WaitForSoundToFinish + jp TextScriptEnd diff --git a/engine/events/hidden_object_functions18.asm b/engine/events/hidden_object_functions18.asm new file mode 100755 index 00000000..c0e5aa34 --- /dev/null +++ b/engine/events/hidden_object_functions18.asm @@ -0,0 +1,198 @@ +GymStatues: +; if in a gym and have the corresponding badge, a = GymStatueText2_id and jp PrintPredefTextID +; if in a gym and don’t have the corresponding badge, a = GymStatueText1_id and jp PrintPredefTextID +; else ret + call EnableAutoTextBoxDrawing + ld a, [wSpriteStateData1 + 9] + cp SPRITE_FACING_UP + ret nz + ld hl, .BadgeFlags + ld a, [wCurMap] + ld b, a +.loop + ld a, [hli] + cp $ff + ret z + cp b + jr z, .match + inc hl + jr .loop +.match + ld b, [hl] + ld a, [wBeatGymFlags] + and b + cp b + tx_pre_id GymStatueText2 + jr z, .haveBadge + tx_pre_id GymStatueText1 +.haveBadge + jp PrintPredefTextID + +.BadgeFlags: + db PEWTER_GYM, %00000001 + db CERULEAN_GYM, %00000010 + db VERMILION_GYM,%00000100 + db CELADON_GYM, %00001000 + db FUCHSIA_GYM, %00010000 + db SAFFRON_GYM, %00100000 + db CINNABAR_GYM, %01000000 + db VIRIDIAN_GYM, %10000000 + db $ff + +GymStatueText1:: + TX_FAR _GymStatueText1 + db "@" + +GymStatueText2:: + TX_FAR _GymStatueText2 + db "@" + +PrintBenchGuyText: + call EnableAutoTextBoxDrawing + ld hl, BenchGuyTextPointers + ld a, [wCurMap] + ld b, a +.loop + ld a, [hli] + cp $ff + ret z + cp b + jr z, .match + inc hl + inc hl + jr .loop +.match + ld a, [hli] + ld b, a + ld a, [wSpriteStateData1 + 9] + cp b + jr nz, .loop ; player isn't facing left at the bench guy + ld a, [hl] + jp PrintPredefTextID + +; format: db map id, player sprite facing direction, text id of PredefTextIDPointerTable +BenchGuyTextPointers: + db VIRIDIAN_POKECENTER, SPRITE_FACING_LEFT + db_tx_pre ViridianCityPokecenterBenchGuyText + db PEWTER_POKECENTER, SPRITE_FACING_LEFT + db_tx_pre PewterCityPokecenterBenchGuyText + db CERULEAN_POKECENTER, SPRITE_FACING_LEFT + db_tx_pre CeruleanCityPokecenterBenchGuyText + db LAVENDER_POKECENTER, SPRITE_FACING_LEFT + db_tx_pre LavenderCityPokecenterBenchGuyText + db VERMILION_POKECENTER, SPRITE_FACING_LEFT + db_tx_pre VermilionCityPokecenterBenchGuyText + db CELADON_POKECENTER, SPRITE_FACING_LEFT + db_tx_pre CeladonCityPokecenterBenchGuyText + db CELADON_HOTEL, SPRITE_FACING_LEFT + db_tx_pre CeladonCityHotelText + db FUCHSIA_POKECENTER, SPRITE_FACING_LEFT + db_tx_pre FuchsiaCityPokecenterBenchGuyText + db CINNABAR_POKECENTER, SPRITE_FACING_LEFT + db_tx_pre CinnabarIslandPokecenterBenchGuyText + db SAFFRON_POKECENTER, SPRITE_FACING_LEFT + db_tx_pre SaffronCityPokecenterBenchGuyText + db MT_MOON_POKECENTER, SPRITE_FACING_LEFT + db_tx_pre MtMoonPokecenterBenchGuyText + db ROCK_TUNNEL_POKECENTER,SPRITE_FACING_LEFT + db_tx_pre RockTunnelPokecenterBenchGuyText + db $FF + +ViridianCityPokecenterBenchGuyText:: + TX_FAR _ViridianCityPokecenterGuyText + db "@" + +PewterCityPokecenterBenchGuyText:: + TX_FAR _PewterCityPokecenterGuyText + db "@" + +CeruleanCityPokecenterBenchGuyText:: + TX_FAR _CeruleanPokecenterGuyText + db "@" + +LavenderCityPokecenterBenchGuyText:: + TX_FAR _LavenderPokecenterGuyText + db "@" + +MtMoonPokecenterBenchGuyText:: + TX_FAR _MtMoonPokecenterBenchGuyText + db "@" + +RockTunnelPokecenterBenchGuyText:: + TX_FAR _RockTunnelPokecenterGuyText + db "@" + +UnusedBenchGuyText1:: + TX_FAR _UnusedBenchGuyText1 + db "@" + +UnusedBenchGuyText2:: + TX_FAR _UnusedBenchGuyText2 + db "@" + +UnusedBenchGuyText3:: + TX_FAR _UnusedBenchGuyText3 + db "@" + +VermilionCityPokecenterBenchGuyText:: + TX_FAR _VermilionPokecenterGuyText + db "@" + +CeladonCityPokecenterBenchGuyText:: + TX_FAR _CeladonCityPokecenterGuyText + db "@" + +FuchsiaCityPokecenterBenchGuyText:: + TX_FAR _FuchsiaCityPokecenterGuyText + db "@" + +CinnabarIslandPokecenterBenchGuyText:: + TX_FAR _CinnabarPokecenterGuyText + db "@" + +SaffronCityPokecenterBenchGuyText:: + TX_ASM + CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI + ld hl, SaffronCityPokecenterBenchGuyText2 + jr nz, .asm_624f2 + ld hl, SaffronCityPokecenterBenchGuyText1 +.asm_624f2 + call PrintText + jp TextScriptEnd + +SaffronCityPokecenterBenchGuyText1: + TX_FAR _SaffronCityPokecenterGuyText1 + db "@" + +SaffronCityPokecenterBenchGuyText2: + TX_FAR _SaffronCityPokecenterGuyText2 + db "@" + +CeladonCityHotelText:: + TX_FAR _CeladonCityHotelText + db "@" + + ret + +UnusedPredefText:: + db "@" + +PrintBookcaseText: + call EnableAutoTextBoxDrawing + tx_pre_jump BookcaseText + +BookcaseText:: + TX_FAR _BookcaseText + db "@" + +OpenPokemonCenterPC: + ld a, [wSpriteStateData1 + 9] + cp SPRITE_FACING_UP ; check to see if player is facing up + ret nz + call EnableAutoTextBoxDrawing + ld a, $1 + ld [wAutoTextBoxDrawingControl], a + tx_pre_jump PokemonCenterPCText + +PokemonCenterPCText:: + TX_POKECENTER_PC diff --git a/engine/events/hidden_object_functions3.asm b/engine/events/hidden_object_functions3.asm new file mode 100755 index 00000000..1237e960 --- /dev/null +++ b/engine/events/hidden_object_functions3.asm @@ -0,0 +1,117 @@ +; prints text for bookshelves in buildings without sign events +PrintBookshelfText:: + ld a, [wSpriteStateData1 + 9] ; player's sprite facing direction + cp SPRITE_FACING_UP + jr nz, .noMatch +; facing up + ld a, [wCurMapTileset] + ld b, a + aCoord 8, 7 + ld c, a + ld hl, BookshelfTileIDs +.loop + ld a, [hli] + cp $ff + jr z, .noMatch + cp b + jr nz, .nextBookshelfEntry1 + ld a, [hli] + cp c + jr nz, .nextBookshelfEntry2 + ld a, [hl] + push af + call EnableAutoTextBoxDrawing + pop af + call PrintPredefTextID + xor a + ld [$ffdb], a + ret +.nextBookshelfEntry1 + inc hl +.nextBookshelfEntry2 + inc hl + jr .loop +.noMatch + ld a, $ff + ld [$ffdb], a + jpba PrintCardKeyText + +INCLUDE "data/bookshelf_tile_ids.asm" + +IndigoPlateauStatues:: + TX_ASM + ld hl, IndigoPlateauStatuesText1 + call PrintText + ld a, [wXCoord] + bit 0, a + ld hl, IndigoPlateauStatuesText2 + jr nz, .ok + ld hl, IndigoPlateauStatuesText3 +.ok + call PrintText + jp TextScriptEnd + +IndigoPlateauStatuesText1: + TX_FAR _IndigoPlateauStatuesText1 + db "@" + +IndigoPlateauStatuesText2: + TX_FAR _IndigoPlateauStatuesText2 + db "@" + +IndigoPlateauStatuesText3: + TX_FAR _IndigoPlateauStatuesText3 + db "@" + +BookOrSculptureText:: + TX_ASM + ld hl, PokemonBooksText + ld a, [wCurMapTileset] + cp MANSION ; Celadon Mansion tileset + jr nz, .ok + aCoord 8, 6 + cp $38 + jr nz, .ok + ld hl, DiglettSculptureText +.ok + call PrintText + jp TextScriptEnd + +PokemonBooksText: + TX_FAR _PokemonBooksText + db "@" + +DiglettSculptureText: + TX_FAR _DiglettSculptureText + db "@" + +ElevatorText:: + TX_FAR _ElevatorText + db "@" + +TownMapText:: + TX_FAR _TownMapText + TX_BLINK + TX_ASM + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld hl, wd730 + set 6, [hl] + call GBPalWhiteOutWithDelay3 + xor a + ld [hWY], a + inc a + ld [H_AUTOBGTRANSFERENABLED], a + call LoadFontTilePatterns + callba DisplayTownMap + ld hl, wd730 + res 6, [hl] + ld de, TextScriptEnd + push de + ld a, [H_LOADEDROMBANK] + push af + jp CloseTextDisplay + +PokemonStuffText:: + TX_FAR _PokemonStuffText + db "@" diff --git a/engine/events/hidden_object_functions7.asm b/engine/events/hidden_object_functions7.asm new file mode 100755 index 00000000..e18b9570 --- /dev/null +++ b/engine/events/hidden_object_functions7.asm @@ -0,0 +1,467 @@ +PrintNewBikeText: + call EnableAutoTextBoxDrawing + tx_pre_jump NewBicycleText + +NewBicycleText:: + TX_FAR _NewBicycleText + db "@" + +DisplayOakLabLeftPoster: + call EnableAutoTextBoxDrawing + tx_pre_jump PushStartText + +PushStartText:: + TX_FAR _PushStartText + db "@" + +DisplayOakLabRightPoster: + call EnableAutoTextBoxDrawing + ld hl, wPokedexOwned + ld b, wPokedexOwnedEnd - wPokedexOwned + call CountSetBits + ld a, [wNumSetBits] + cp 2 + tx_pre_id SaveOptionText + jr c, .ownLessThanTwo + ; own two or more mon + tx_pre_id StrengthsAndWeaknessesText +.ownLessThanTwo + jp PrintPredefTextID + +SaveOptionText:: + TX_FAR _SaveOptionText + db "@" + +StrengthsAndWeaknessesText:: + TX_FAR _StrengthsAndWeaknessesText + db "@" + +SafariZoneCheck:: + CheckEventHL EVENT_IN_SAFARI_ZONE ; if we are not in the Safari Zone, + jr z, SafariZoneGameStillGoing ; don't bother printing game over text + ld a, [wNumSafariBalls] + and a + jr z, SafariZoneGameOver + jr SafariZoneGameStillGoing + +SafariZoneCheckSteps:: + ld a, [wSafariSteps] + ld b, a + ld a, [wSafariSteps + 1] + ld c, a + or b + jr z, SafariZoneGameOver + dec bc + ld a, b + ld [wSafariSteps], a + ld a, c + ld [wSafariSteps + 1], a +SafariZoneGameStillGoing: + xor a + ld [wSafariZoneGameOver], a + ret + +SafariZoneGameOver: + call EnableAutoTextBoxDrawing + xor a + ld [wAudioFadeOutControl], a + dec a + call PlaySound + ld c, BANK(SFX_Safari_Zone_PA) + ld a, SFX_SAFARI_ZONE_PA + call PlayMusic +.waitForMusicToPlay + ld a, [wChannelSoundIDs + Ch5] + cp SFX_SAFARI_ZONE_PA + jr nz, .waitForMusicToPlay + ld a, TEXT_SAFARI_GAME_OVER + ld [hSpriteIndexOrTextID], a + call DisplayTextID + xor a + ld [wPlayerMovingDirection], a + ld a, SAFARI_ZONE_GATE + ld [hWarpDestinationMap], a + ld a, $3 + ld [wDestinationWarpID], a + ld a, $5 + ld [wSafariZoneGateCurScript], a + SetEvent EVENT_SAFARI_GAME_OVER + ld a, 1 + ld [wSafariZoneGameOver], a + ret + +PrintSafariGameOverText:: + xor a + ld [wJoyIgnore], a + ld hl, SafariGameOverText + jp PrintText + +SafariGameOverText: + TX_ASM + ld a, [wNumSafariBalls] + and a + jr z, .noMoreSafariBalls + ld hl, TimesUpText + call PrintText +.noMoreSafariBalls + ld hl, GameOverText + call PrintText + jp TextScriptEnd + +TimesUpText: + TX_FAR _TimesUpText + db "@" + +GameOverText: + TX_FAR _GameOverText + db "@" + +PrintCinnabarQuiz: + ld a, [wSpriteStateData1 + 9] + cp SPRITE_FACING_UP + ret nz + call EnableAutoTextBoxDrawing + tx_pre_jump CinnabarGymQuiz + +CinnabarGymQuiz:: + TX_ASM + xor a + ld [wOpponentAfterWrongAnswer], a + ld a, [wHiddenObjectFunctionArgument] + push af + and $f + ld [hGymGateIndex], a + pop af + and $f0 + swap a + ld [$ffdc], a + ld hl, CinnabarGymQuizIntroText + call PrintText + ld a, [hGymGateIndex] + dec a + add a + ld d, 0 + ld e, a + ld hl, CinnabarQuizQuestions + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + call PrintText + ld a, 1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + call CinnabarGymQuiz_1ea92 + jp TextScriptEnd + +CinnabarGymQuizIntroText: + TX_FAR _CinnabarGymQuizIntroText + db "@" + +CinnabarQuizQuestions: + dw CinnabarQuizQuestionsText1 + dw CinnabarQuizQuestionsText2 + dw CinnabarQuizQuestionsText3 + dw CinnabarQuizQuestionsText4 + dw CinnabarQuizQuestionsText5 + dw CinnabarQuizQuestionsText6 + +CinnabarQuizQuestionsText1: + TX_FAR _CinnabarQuizQuestionsText1 + db "@" + +CinnabarQuizQuestionsText2: + TX_FAR _CinnabarQuizQuestionsText2 + db "@" + +CinnabarQuizQuestionsText3: + TX_FAR _CinnabarQuizQuestionsText3 + db "@" + +CinnabarQuizQuestionsText4: + TX_FAR _CinnabarQuizQuestionsText4 + db "@" + +CinnabarQuizQuestionsText5: + TX_FAR _CinnabarQuizQuestionsText5 + db "@" + +CinnabarQuizQuestionsText6: + TX_FAR _CinnabarQuizQuestionsText6 + db "@" + +CinnabarGymGateFlagAction: + EventFlagAddress hl, EVENT_CINNABAR_GYM_GATE0_UNLOCKED + predef_jump FlagActionPredef + +CinnabarGymQuiz_1ea92: + call YesNoChoice + ld a, [$ffdc] + ld c, a + ld a, [wCurrentMenuItem] + cp c + jr nz, .wrongAnswer + ld hl, wCurrentMapScriptFlags + set 5, [hl] + ld a, [hGymGateIndex] + ld [$ffe0], a + ld hl, CinnabarGymQuizCorrectText + call PrintText + ld a, [$ffe0] + AdjustEventBit EVENT_CINNABAR_GYM_GATE0_UNLOCKED, 0 + ld c, a + ld b, FLAG_SET + call CinnabarGymGateFlagAction + jp UpdateCinnabarGymGateTileBlocks_ +.wrongAnswer + call WaitForSoundToFinish + ld a, SFX_DENIED + call PlaySound + call WaitForSoundToFinish + ld hl, CinnabarGymQuizIncorrectText + call PrintText + ld a, [hGymGateIndex] + add $2 + AdjustEventBit EVENT_BEAT_CINNABAR_GYM_TRAINER_0, 2 + ld c, a + ld b, FLAG_TEST + EventFlagAddress hl, EVENT_BEAT_CINNABAR_GYM_TRAINER_0 + predef FlagActionPredef + ld a, c + and a + ret nz + ld a, [hGymGateIndex] + add $2 + ld [wOpponentAfterWrongAnswer], a + ret + +CinnabarGymQuizCorrectText: + TX_SFX_ITEM_1 + TX_FAR _CinnabarGymQuizCorrectText + TX_BLINK + TX_ASM + + ld a, [$ffe0] + AdjustEventBit EVENT_CINNABAR_GYM_GATE0_UNLOCKED, 0 + ld c, a + ld b, FLAG_TEST + call CinnabarGymGateFlagAction + ld a, c + and a + jp nz, TextScriptEnd + call WaitForSoundToFinish + ld a, SFX_GO_INSIDE + call PlaySound + call WaitForSoundToFinish + jp TextScriptEnd + +CinnabarGymQuizIncorrectText: + TX_FAR _CinnabarGymQuizIncorrectText + db "@" + +UpdateCinnabarGymGateTileBlocks_:: +; Update the overworld map with open floor blocks or locked gate blocks +; depending on event flags. + ld a, 6 + ld [hGymGateIndex], a +.loop + ld a, [hGymGateIndex] + dec a + add a + add a + ld d, 0 + ld e, a + ld hl, CinnabarGymGateCoords + add hl, de + ld a, [hli] + ld b, [hl] + ld c, a + inc hl + ld a, [hl] + ld [wGymGateTileBlock], a + push bc + ld a, [hGymGateIndex] + ld [$ffe0], a + AdjustEventBit EVENT_CINNABAR_GYM_GATE0_UNLOCKED, 0 + ld c, a + ld b, FLAG_TEST + call CinnabarGymGateFlagAction + ld a, c + and a + jr nz, .unlocked + ld a, [wGymGateTileBlock] + jr .next +.unlocked + ld a, $e +.next + pop bc + ld [wNewTileBlockID], a + predef ReplaceTileBlock + ld hl, hGymGateIndex + dec [hl] + jr nz, .loop + ret + +CinnabarGymGateCoords: + ; format: x-coord, y-coord, direction, padding + ; direction: $54 = horizontal gate, $5f = vertical gate + db $09,$03,$54,$00 + db $06,$03,$54,$00 + db $06,$06,$54,$00 + db $03,$08,$5f,$00 + db $02,$06,$54,$00 + db $02,$03,$54,$00 + +PrintMagazinesText: + call EnableAutoTextBoxDrawing + tx_pre MagazinesText + ret + +MagazinesText:: + TX_FAR _MagazinesText + db "@" + +BillsHousePC: + call EnableAutoTextBoxDrawing + ld a, [wSpriteStateData1 + 9] + cp SPRITE_FACING_UP + ret nz + CheckEvent EVENT_LEFT_BILLS_HOUSE_AFTER_HELPING + jr nz, .displayBillsHousePokemonList + CheckEventReuseA EVENT_USED_CELL_SEPARATOR_ON_BILL + jr nz, .displayBillsHouseMonitorText + CheckEventReuseA EVENT_BILL_SAID_USE_CELL_SEPARATOR + jr nz, .doCellSeparator +.displayBillsHouseMonitorText + tx_pre_jump BillsHouseMonitorText +.doCellSeparator + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + tx_pre BillsHouseInitiatedText + ld c, 32 + call DelayFrames + ld a, SFX_TINK + call PlaySound + call WaitForSoundToFinish + ld c, 80 + call DelayFrames + ld a, SFX_SHRINK + call PlaySound + call WaitForSoundToFinish + ld c, 48 + call DelayFrames + ld a, SFX_TINK + call PlaySound + call WaitForSoundToFinish + ld c, 32 + call DelayFrames + ld a, SFX_GET_ITEM_1 + call PlaySound + call WaitForSoundToFinish + call PlayDefaultMusic + SetEvent EVENT_USED_CELL_SEPARATOR_ON_BILL + ret +.displayBillsHousePokemonList + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + tx_pre BillsHousePokemonList + ret + +BillsHouseMonitorText:: + TX_FAR _BillsHouseMonitorText + db "@" + +BillsHouseInitiatedText:: + TX_FAR _BillsHouseInitiatedText + TX_BLINK + TX_ASM + ld a, $ff + ld [wNewSoundID], a + call PlaySound + ld c, 16 + call DelayFrames + ld a, SFX_SWITCH + call PlaySound + call WaitForSoundToFinish + ld c, 60 + call DelayFrames + jp TextScriptEnd + +BillsHousePokemonList:: + TX_ASM + call SaveScreenTilesToBuffer1 + ld hl, BillsHousePokemonListText1 + call PrintText + xor a + ld [wMenuItemOffset], a ; not used + ld [wCurrentMenuItem], a + ld [wLastMenuItem], a + ld a, A_BUTTON | B_BUTTON + ld [wMenuWatchedKeys], a + ld a, 4 + ld [wMaxMenuItem], a + ld a, 2 + ld [wTopMenuItemY], a + ld a, 1 + ld [wTopMenuItemX], a +.billsPokemonLoop + ld hl, wd730 + set 6, [hl] + coord hl, 0, 0 + ld b, 10 + ld c, 9 + call TextBoxBorder + coord hl, 2, 2 + ld de, BillsMonListText + call PlaceString + ld hl, BillsHousePokemonListText2 + call PrintText + call SaveScreenTilesToBuffer2 + call HandleMenuInput + bit 1, a ; pressed b + jr nz, .cancel + ld a, [wCurrentMenuItem] + add EEVEE + cp EEVEE + jr z, .displayPokedex + cp FLAREON + jr z, .displayPokedex + cp JOLTEON + jr z, .displayPokedex + cp VAPOREON + jr z, .displayPokedex + jr .cancel +.displayPokedex + call DisplayPokedex + call LoadScreenTilesFromBuffer2 + jr .billsPokemonLoop +.cancel + ld hl, wd730 + res 6, [hl] + call LoadScreenTilesFromBuffer2 + jp TextScriptEnd + +BillsHousePokemonListText1: + TX_FAR _BillsHousePokemonListText1 + db "@" + +BillsMonListText: + db "EEVEE" + next "FLAREON" + next "JOLTEON" + next "VAPOREON" + next "CANCEL@" + +BillsHousePokemonListText2: + TX_FAR _BillsHousePokemonListText2 + db "@" + +DisplayOakLabEmailText: + ld a, [wSpriteStateData1 + 9] + cp SPRITE_FACING_UP + ret nz + call EnableAutoTextBoxDrawing + tx_pre_jump OakLabEmailText + +OakLabEmailText:: + TX_FAR _OakLabEmailText + db "@" diff --git a/engine/events/in_game_trades.asm b/engine/events/in_game_trades.asm new file mode 100755 index 00000000..c01bc3c3 --- /dev/null +++ b/engine/events/in_game_trades.asm @@ -0,0 +1,330 @@ +DoInGameTradeDialogue: +; trigger the trade offer/action specified by wWhichTrade + call SaveScreenTilesToBuffer2 + ld hl, TradeMons + ld a, [wWhichTrade] + ld b, a + swap a + sub b + sub b + ld c, a + ld b, 0 + add hl, bc + ld a, [hli] + ld [wInGameTradeGiveMonSpecies], a + ld a, [hli] + ld [wInGameTradeReceiveMonSpecies], a + ld a, [hli] + push af + ld de, wInGameTradeMonNick + ld bc, NAME_LENGTH + call CopyData + pop af + ld l, a + ld h, 0 + ld de, InGameTradeTextPointers + add hl, hl + add hl, de + ld a, [hli] + ld [wInGameTradeTextPointerTablePointer], a + ld a, [hl] + ld [wInGameTradeTextPointerTablePointer + 1], a + ld a, [wInGameTradeGiveMonSpecies] + ld de, wInGameTradeGiveMonName + call InGameTrade_GetMonName + ld a, [wInGameTradeReceiveMonSpecies] + ld de, wInGameTradeReceiveMonName + call InGameTrade_GetMonName + ld hl, wCompletedInGameTradeFlags + ld a, [wWhichTrade] + ld c, a + ld b, FLAG_TEST + predef FlagActionPredef + ld a, c + and a + ld a, $4 + ld [wInGameTradeTextPointerTableIndex], a + jr nz, .printText +; if the trade hasn't been done yet + xor a + ld [wInGameTradeTextPointerTableIndex], a + call .printText + ld a, $1 + ld [wInGameTradeTextPointerTableIndex], a + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + jr nz, .printText + call InGameTrade_DoTrade + jr c, .printText + ld hl, TradedForText + call PrintText +.printText + ld hl, wInGameTradeTextPointerTableIndex + ld a, [hld] ; wInGameTradeTextPointerTableIndex + ld e, a + ld d, 0 + ld a, [hld] ; wInGameTradeTextPointerTablePointer + 1 + ld l, [hl] ; wInGameTradeTextPointerTablePointer + ld h, a + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp PrintText + +; copies name of species a to hl +InGameTrade_GetMonName: + push de + ld [wd11e], a + call GetMonName + ld hl, wcd6d + pop de + ld bc, NAME_LENGTH + jp CopyData + +INCLUDE "data/trades.asm" + +InGameTrade_DoTrade: + xor a ; NORMAL_PARTY_MENU + ld [wPartyMenuTypeOrMessageID], a + dec a + ld [wUpdateSpritesEnabled], a + call DisplayPartyMenu + push af + call InGameTrade_RestoreScreen + pop af + ld a, $1 + jp c, .tradeFailed ; jump if the player didn't select a pokemon + ld a, [wInGameTradeGiveMonSpecies] + ld b, a + ld a, [wcf91] + cp b + ld a, $2 + jr nz, .tradeFailed ; jump if the selected mon's species is not the required one + ld a, [wWhichPokemon] + ld hl, wPartyMon1Level + ld bc, wPartyMon2 - wPartyMon1 + call AddNTimes + ld a, [hl] + ld [wCurEnemyLVL], a + ld hl, wCompletedInGameTradeFlags + ld a, [wWhichTrade] + ld c, a + ld b, FLAG_SET + predef FlagActionPredef + ld hl, ConnectCableText + call PrintText + ld a, [wWhichPokemon] + push af + ld a, [wCurEnemyLVL] + push af + call LoadHpBarAndStatusTilePatterns + call InGameTrade_PrepareTradeData + predef InternalClockTradeAnim + pop af + ld [wCurEnemyLVL], a + pop af + ld [wWhichPokemon], a + ld a, [wInGameTradeReceiveMonSpecies] + ld [wcf91], a + xor a + ld [wMonDataLocation], a ; not used + ld [wRemoveMonFromBox], a + call RemovePokemon + ld a, $80 ; prevent the player from naming the mon + ld [wMonDataLocation], a + call AddPartyMon + call InGameTrade_CopyDataToReceivedMon + callab EvolveTradeMon + call ClearScreen + call InGameTrade_RestoreScreen + callba RedrawMapView + and a + ld a, $3 + jr .tradeSucceeded +.tradeFailed + scf +.tradeSucceeded + ld [wInGameTradeTextPointerTableIndex], a + ret + +InGameTrade_RestoreScreen: + call GBPalWhiteOutWithDelay3 + call RestoreScreenTilesAndReloadTilePatterns + call ReloadTilesetTilePatterns + call LoadScreenTilesFromBuffer2 + call Delay3 + call LoadGBPal + ld c, 10 + call DelayFrames + jpba LoadWildData + +InGameTrade_PrepareTradeData: + ld hl, wTradedPlayerMonSpecies + ld a, [wInGameTradeGiveMonSpecies] + ld [hli], a ; wTradedPlayerMonSpecies + ld a, [wInGameTradeReceiveMonSpecies] + ld [hl], a ; wTradedEnemyMonSpecies + ld hl, wPartyMonOT + ld bc, NAME_LENGTH + ld a, [wWhichPokemon] + call AddNTimes + ld de, wTradedPlayerMonOT + ld bc, NAME_LENGTH + call InGameTrade_CopyData + ld hl, InGameTrade_TrainerString + ld de, wTradedEnemyMonOT + call InGameTrade_CopyData + ld de, wLinkEnemyTrainerName + call InGameTrade_CopyData + ld hl, wPartyMon1OTID + ld bc, wPartyMon2 - wPartyMon1 + ld a, [wWhichPokemon] + call AddNTimes + ld de, wTradedPlayerMonOTID + ld bc, $2 + call InGameTrade_CopyData + call Random + ld hl, hRandomAdd + ld de, wTradedEnemyMonOTID + jp CopyData + +InGameTrade_CopyData: + push hl + push bc + call CopyData + pop bc + pop hl + ret + +InGameTrade_CopyDataToReceivedMon: + ld hl, wPartyMonNicks + ld bc, NAME_LENGTH + call InGameTrade_GetReceivedMonPointer + ld hl, wInGameTradeMonNick + ld bc, NAME_LENGTH + call CopyData + ld hl, wPartyMonOT + ld bc, NAME_LENGTH + call InGameTrade_GetReceivedMonPointer + ld hl, InGameTrade_TrainerString + ld bc, NAME_LENGTH + call CopyData + ld hl, wPartyMon1OTID + ld bc, wPartyMon2 - wPartyMon1 + call InGameTrade_GetReceivedMonPointer + ld hl, wTradedEnemyMonOTID + ld bc, $2 + jp CopyData + +; the received mon's index is (partyCount - 1), +; so this adds bc to hl (partyCount - 1) times and moves the result to de +InGameTrade_GetReceivedMonPointer: + ld a, [wPartyCount] + dec a + call AddNTimes + ld e, l + ld d, h + ret + +InGameTrade_TrainerString: + ; "TRAINER@@@@@@@@@@" + db $5d, "@@@@@@@@@@" + +InGameTradeTextPointers: + dw TradeTextPointers1 + dw TradeTextPointers2 + dw TradeTextPointers3 + +TradeTextPointers1: + dw WannaTrade1Text + dw NoTrade1Text + dw WrongMon1Text + dw Thanks1Text + dw AfterTrade1Text + +TradeTextPointers2: + dw WannaTrade2Text + dw NoTrade2Text + dw WrongMon2Text + dw Thanks2Text + dw AfterTrade2Text + +TradeTextPointers3: + dw WannaTrade3Text + dw NoTrade3Text + dw WrongMon3Text + dw Thanks3Text + dw AfterTrade3Text + +ConnectCableText: + TX_FAR _ConnectCableText + db "@" + +TradedForText: + TX_FAR _TradedForText + TX_SFX_KEY_ITEM + TX_DELAY + db "@" + +WannaTrade1Text: + TX_FAR _WannaTrade1Text + db "@" + +NoTrade1Text: + TX_FAR _NoTrade1Text + db "@" + +WrongMon1Text: + TX_FAR _WrongMon1Text + db "@" + +Thanks1Text: + TX_FAR _Thanks1Text + db "@" + +AfterTrade1Text: + TX_FAR _AfterTrade1Text + db "@" + +WannaTrade2Text: + TX_FAR _WannaTrade2Text + db "@" + +NoTrade2Text: + TX_FAR _NoTrade2Text + db "@" + +WrongMon2Text: + TX_FAR _WrongMon2Text + db "@" + +Thanks2Text: + TX_FAR _Thanks2Text + db "@" + +AfterTrade2Text: + TX_FAR _AfterTrade2Text + db "@" + +WannaTrade3Text: + TX_FAR _WannaTrade3Text + db "@" + +NoTrade3Text: + TX_FAR _NoTrade3Text + db "@" + +WrongMon3Text: + TX_FAR _WrongMon3Text + db "@" + +Thanks3Text: + TX_FAR _Thanks3Text + db "@" + +AfterTrade3Text: + TX_FAR _AfterTrade3Text + db "@" diff --git a/engine/events/oaks_aide.asm b/engine/events/oaks_aide.asm new file mode 100755 index 00000000..f5068fda --- /dev/null +++ b/engine/events/oaks_aide.asm @@ -0,0 +1,71 @@ +OaksAideScript: + ld hl, OaksAideHiText + call PrintText + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + jr nz, .choseNo + ld hl, wPokedexOwned + ld b, wPokedexOwnedEnd - wPokedexOwned + call CountSetBits + ld a, [wNumSetBits] + ld [hOaksAideNumMonsOwned], a + ld b, a + ld a, [hOaksAideRequirement] + cp b + jr z, .giveItem + jr nc, .notEnoughOwnedMons +.giveItem + ld hl, OaksAideHereYouGoText + call PrintText + ld a, [hOaksAideRewardItem] + ld b, a + ld c, 1 + call GiveItem + jr nc, .bagFull + ld hl, OaksAideGotItemText + call PrintText + ld a, $1 + jr .done +.bagFull + ld hl, OaksAideNoRoomText + call PrintText + xor a + jr .done +.notEnoughOwnedMons + ld hl, OaksAideUhOhText + call PrintText + ld a, $80 + jr .done +.choseNo + ld hl, OaksAideComeBackText + call PrintText + ld a, $ff +.done + ld [hOaksAideResult], a + ret + +OaksAideHiText: + TX_FAR _OaksAideHiText + db "@" + +OaksAideUhOhText: + TX_FAR _OaksAideUhOhText + db "@" + +OaksAideComeBackText: + TX_FAR _OaksAideComeBackText + db "@" + +OaksAideHereYouGoText: + TX_FAR _OaksAideHereYouGoText + db "@" + +OaksAideGotItemText: + TX_FAR _OaksAideGotItemText + TX_SFX_ITEM_1 + db "@" + +OaksAideNoRoomText: + TX_FAR _OaksAideNoRoomText + db "@" diff --git a/engine/events/pewter_guys.asm b/engine/events/pewter_guys.asm new file mode 100755 index 00000000..532fa4bf --- /dev/null +++ b/engine/events/pewter_guys.asm @@ -0,0 +1,102 @@ +PewterGuys: + ld hl, wSimulatedJoypadStatesEnd + ld a, [wSimulatedJoypadStatesIndex] + dec a ; this decrement causes it to overwrite the last byte before $FF in the list + ld [wSimulatedJoypadStatesIndex], a + ld d, 0 + ld e, a + add hl, de + ld d, h + ld e, l + ld hl, PointerTable_37ce6 + ld a, [wWhichPewterGuy] + add a + ld b, 0 + ld c, a + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [wYCoord] + ld b, a + ld a, [wXCoord] + ld c, a +.findMatchingCoordsLoop + ld a, [hli] + cp b + jr nz, .nextEntry1 + ld a, [hli] + cp c + jr nz, .nextEntry2 + ld a, [hli] + ld h, [hl] + ld l, a +.copyMovementDataLoop + ld a, [hli] + cp $ff + ret z + ld [de], a + inc de + ld a, [wSimulatedJoypadStatesIndex] + inc a + ld [wSimulatedJoypadStatesIndex], a + jr .copyMovementDataLoop +.nextEntry1 + inc hl +.nextEntry2 + inc hl + inc hl + jr .findMatchingCoordsLoop + +PointerTable_37ce6: + dw PewterMuseumGuyCoords + dw PewterGymGuyCoords + +; these are the four coordinates of the spaces below, above, to the left and +; to the right of the museum guy, and pointers to different movements for +; the player to make to get positioned before the main movement. +PewterMuseumGuyCoords: + db 18, 27 + dw .down + db 16, 27 + dw .up + db 17, 26 + dw .left + db 17, 28 + dw .right + +.down + db D_UP, D_UP, $ff +.up + db D_RIGHT, D_LEFT, $ff +.left + db D_UP, D_RIGHT, $ff +.right + db D_UP, D_LEFT, $ff + +; these are the five coordinates which trigger the gym guy and pointers to +; different movements for the player to make to get positioned before the +; main movement +; $00 is a pause +PewterGymGuyCoords: + db 16, 34 + dw .one + db 17, 35 + dw .two + db 18, 37 + dw .three + db 19, 37 + dw .four + db 17, 36 + dw .five + +.one + db D_LEFT, D_DOWN, D_DOWN, D_RIGHT, $ff +.two + db D_LEFT, D_DOWN, D_RIGHT, D_LEFT, $ff +.three + db D_LEFT, D_LEFT, D_LEFT, $00, $00, $00, $00, $00, $00, $00, $00, $ff +.four + db D_LEFT, D_LEFT, D_UP, D_LEFT, $ff +.five + db D_LEFT, D_DOWN, D_LEFT, $00, $00, $00, $00, $00, $00, $00, $00, $ff diff --git a/engine/events/pick_up_item.asm b/engine/events/pick_up_item.asm new file mode 100644 index 00000000..9f19100a --- /dev/null +++ b/engine/events/pick_up_item.asm @@ -0,0 +1,54 @@ +PickUpItem: + call EnableAutoTextBoxDrawing + + ld a, [hSpriteIndexOrTextID] + ld b, a + ld hl, wMissableObjectList +.missableObjectsListLoop + ld a, [hli] + cp $ff + ret z + cp b + jr z, .isMissable + inc hl + jr .missableObjectsListLoop + +.isMissable + ld a, [hl] + ld [$ffdb], a + + ld hl, wMapSpriteExtraData + ld a, [hSpriteIndexOrTextID] + dec a + add a + ld d, 0 + ld e, a + add hl, de + ld a, [hl] + ld b, a ; item + ld c, 1 ; quantity + call GiveItem + jr nc, .BagFull + + ld a, [$ffdb] + ld [wMissableObjectIndex], a + predef HideObject + ld a, 1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld hl, FoundItemText + jr .print + +.BagFull + ld hl, NoMoreRoomForItemText +.print + call PrintText + ret + +FoundItemText: + TX_FAR _FoundItemText + TX_SFX_ITEM_1 + db "@" + +NoMoreRoomForItemText: + TX_FAR _NoMoreRoomForItemText + db "@" diff --git a/engine/events/poison.asm b/engine/events/poison.asm new file mode 100644 index 00000000..5d8eb9fd --- /dev/null +++ b/engine/events/poison.asm @@ -0,0 +1,112 @@ +ApplyOutOfBattlePoisonDamage: + ld a, [wd730] + add a + jp c, .noBlackOut ; no black out if joypad states are being simulated + ld a, [wPartyCount] + and a + jp z, .noBlackOut + call IncrementDayCareMonExp + ld a, [wStepCounter] + and $3 ; is the counter a multiple of 4? + jp nz, .noBlackOut ; only apply poison damage every fourth step + ld [wWhichPokemon], a + ld hl, wPartyMon1Status + ld de, wPartySpecies +.applyDamageLoop + ld a, [hl] + and (1 << PSN) + jr z, .nextMon2 ; not poisoned + dec hl + dec hl + ld a, [hld] + ld b, a + ld a, [hli] + or b + jr z, .nextMon ; already fainted +; subtract 1 from HP + ld a, [hl] + dec a + ld [hld], a + inc a + jr nz, .noBorrow +; borrow 1 from upper byte of HP + dec [hl] + inc hl + jr .nextMon +.noBorrow + ld a, [hli] + or [hl] + jr nz, .nextMon ; didn't faint from damage +; the mon fainted from the damage + push hl + inc hl + inc hl + ld [hl], a + ld a, [de] + ld [wd11e], a + push de + ld a, [wWhichPokemon] + ld hl, wPartyMonNicks + call GetPartyMonName + xor a + ld [wJoyIgnore], a + call EnableAutoTextBoxDrawing + ld a, TEXT_MON_FAINTED + ld [hSpriteIndexOrTextID], a + call DisplayTextID + pop de + pop hl +.nextMon + inc hl + inc hl +.nextMon2 + inc de + ld a, [de] + inc a + jr z, .applyDamageLoopDone + ld bc, wPartyMon2 - wPartyMon1 + add hl, bc + push hl + ld hl, wWhichPokemon + inc [hl] + pop hl + jr .applyDamageLoop +.applyDamageLoopDone + ld hl, wPartyMon1Status + ld a, [wPartyCount] + ld d, a + ld e, 0 +.countPoisonedLoop + ld a, [hl] + and (1 << PSN) + or e + ld e, a + ld bc, wPartyMon2 - wPartyMon1 + add hl, bc + dec d + jr nz, .countPoisonedLoop + ld a, e + and a ; are any party members poisoned? + jr z, .skipPoisonEffectAndSound + ld b, $2 + predef ChangeBGPalColor0_4Frames ; change BG white to dark grey for 4 frames + ld a, SFX_POISONED + call PlaySound +.skipPoisonEffectAndSound + predef AnyPartyAlive + ld a, d + and a + jr nz, .noBlackOut + call EnableAutoTextBoxDrawing + ld a, TEXT_BLACKED_OUT + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ld hl, wd72e + set 5, [hl] + ld a, $ff + jr .done +.noBlackOut + xor a +.done + ld [wOutOfBattleBlackout], a + ret diff --git a/engine/events/pokecenter.asm b/engine/events/pokecenter.asm new file mode 100755 index 00000000..f340e06d --- /dev/null +++ b/engine/events/pokecenter.asm @@ -0,0 +1,68 @@ +DisplayPokemonCenterDialogue_:: + call SaveScreenTilesToBuffer1 ; save screen + ld hl, PokemonCenterWelcomeText + call PrintText + ld hl, wd72e + bit 2, [hl] + set 1, [hl] + set 2, [hl] + jr nz, .skipShallWeHealYourPokemon + ld hl, ShallWeHealYourPokemonText + call PrintText +.skipShallWeHealYourPokemon + call YesNoChoicePokeCenter ; yes/no menu + ld a, [wCurrentMenuItem] + and a + jr nz, .declinedHealing ; if the player chose No + call SetLastBlackoutMap + call LoadScreenTilesFromBuffer1 ; restore screen + ld hl, NeedYourPokemonText + call PrintText + ld a, $18 + ld [wSpriteStateData1 + $12], a ; make the nurse turn to face the machine + call Delay3 + predef HealParty + callba AnimateHealingMachine ; do the healing machine animation + xor a + ld [wAudioFadeOutControl], a + ld a, [wAudioSavedROMBank] + ld [wAudioROMBank], a + ld a, [wMapMusicSoundID] + ld [wLastMusicSoundID], a + ld [wNewSoundID], a + call PlaySound + ld hl, PokemonFightingFitText + call PrintText + ld a, $14 + ld [wSpriteStateData1 + $12], a ; make the nurse bow + ld c, a + call DelayFrames + jr .done +.declinedHealing + call LoadScreenTilesFromBuffer1 ; restore screen +.done + ld hl, PokemonCenterFarewellText + call PrintText + jp UpdateSprites + +PokemonCenterWelcomeText: + TX_FAR _PokemonCenterWelcomeText + db "@" + +ShallWeHealYourPokemonText: + TX_DELAY + TX_FAR _ShallWeHealYourPokemonText + db "@" + +NeedYourPokemonText: + TX_FAR _NeedYourPokemonText + db "@" + +PokemonFightingFitText: + TX_FAR _PokemonFightingFitText + db "@" + +PokemonCenterFarewellText: + TX_DELAY + TX_FAR _PokemonCenterFarewellText + db "@" diff --git a/engine/events/pokedex_rating.asm b/engine/events/pokedex_rating.asm new file mode 100755 index 00000000..f1aaf618 --- /dev/null +++ b/engine/events/pokedex_rating.asm @@ -0,0 +1,154 @@ +DisplayDexRating: + ld hl, wPokedexSeen + ld b, wPokedexSeenEnd - wPokedexSeen + call CountSetBits + ld a, [wNumSetBits] + ld [hDexRatingNumMonsSeen], a + ld hl, wPokedexOwned + ld b, wPokedexOwnedEnd - wPokedexOwned + call CountSetBits + ld a, [wNumSetBits] + ld [hDexRatingNumMonsOwned], a + ld hl, DexRatingsTable +.findRating + ld a, [hli] + ld b, a + ld a, [hDexRatingNumMonsOwned] + cp b + jr c, .foundRating + inc hl + inc hl + jr .findRating +.foundRating + ld a, [hli] + ld h, [hl] + ld l, a ; load text pointer into hl + CheckAndResetEventA EVENT_HALL_OF_FAME_DEX_RATING + jr nz, .hallOfFame + push hl + ld hl, PokedexRatingText_441cc + call PrintText + pop hl + call PrintText + callba PlayPokedexRatingSfx + jp WaitForTextScrollButtonPress +.hallOfFame + ld de, wDexRatingNumMonsSeen + ld a, [hDexRatingNumMonsSeen] + ld [de], a + inc de + ld a, [hDexRatingNumMonsOwned] + ld [de], a + inc de +.copyRatingTextLoop + ld a, [hli] + cp "@" + jr z, .doneCopying + ld [de], a + inc de + jr .copyRatingTextLoop +.doneCopying + ld [de], a + ret + +PokedexRatingText_441cc: + TX_FAR _OaksLabText_441cc + db "@" + +DexRatingsTable: + db 10 + dw PokedexRatingText_44201 + db 20 + dw PokedexRatingText_44206 + db 30 + dw PokedexRatingText_4420b + db 40 + dw PokedexRatingText_44210 + db 50 + dw PokedexRatingText_44215 + db 60 + dw PokedexRatingText_4421a + db 70 + dw PokedexRatingText_4421f + db 80 + dw PokedexRatingText_44224 + db 90 + dw PokedexRatingText_44229 + db 100 + dw PokedexRatingText_4422e + db 110 + dw PokedexRatingText_44233 + db 120 + dw PokedexRatingText_44238 + db 130 + dw PokedexRatingText_4423d + db 140 + dw PokedexRatingText_44242 + db 150 + dw PokedexRatingText_44247 + db NUM_POKEMON + 1 + dw PokedexRatingText_4424c + +PokedexRatingText_44201: + TX_FAR _OaksLabText_44201 + db "@" + +PokedexRatingText_44206: + TX_FAR _OaksLabText_44206 + db "@" + +PokedexRatingText_4420b: + TX_FAR _OaksLabText_4420b + db "@" + +PokedexRatingText_44210: + TX_FAR _OaksLabText_44210 + db "@" + +PokedexRatingText_44215: + TX_FAR _OaksLabText_44215 + db "@" + +PokedexRatingText_4421a: + TX_FAR _OaksLabText_4421a + db "@" + +PokedexRatingText_4421f: + TX_FAR _OaksLabText_4421f + db "@" + +PokedexRatingText_44224: + TX_FAR _OaksLabText_44224 + db "@" + +PokedexRatingText_44229: + TX_FAR _OaksLabText_44229 + db "@" + +PokedexRatingText_4422e: + TX_FAR _OaksLabText_4422e + db "@" + +PokedexRatingText_44233: + TX_FAR _OaksLabText_44233 + db "@" + +PokedexRatingText_44238: + TX_FAR _OaksLabText_44238 + db "@" + +PokedexRatingText_4423d: + TX_FAR _OaksLabText_4423d + db "@" + +PokedexRatingText_44242: + TX_FAR _OaksLabText_44242 + db "@" + +PokedexRatingText_44247: + TX_FAR _OaksLabText_44247 + db "@" + +PokedexRatingText_4424c: + TX_FAR _OaksLabText_4424c + db "@" diff --git a/engine/events/pokemart.asm b/engine/events/pokemart.asm new file mode 100755 index 00000000..177e8a09 --- /dev/null +++ b/engine/events/pokemart.asm @@ -0,0 +1,272 @@ +DisplayPokemartDialogue_:: + ld a, [wListScrollOffset] + ld [wSavedListScrollOffset], a + call UpdateSprites + xor a + ld [wBoughtOrSoldItemInMart], a +.loop + xor a + ld [wListScrollOffset], a + ld [wCurrentMenuItem], a + ld [wPlayerMonNumber], a + inc a + ld [wPrintItemPrices], a + ld a, MONEY_BOX + ld [wTextBoxID], a + call DisplayTextBoxID + ld a, BUY_SELL_QUIT_MENU + ld [wTextBoxID], a + call DisplayTextBoxID + +; This code is useless. It copies the address of the pokemart's inventory to hl, +; but the address is never used. + ld hl, wItemListPointer + ld a, [hli] + ld l, [hl] + ld h, a + + ld a, [wMenuExitMethod] + cp CANCELLED_MENU + jp z, .done + ld a, [wChosenMenuItem] + and a ; buying? + jp z, .buyMenu + dec a ; selling? + jp z, .sellMenu + dec a ; quitting? + jp z, .done +.sellMenu + +; the same variables are set again below, so this code has no effect + xor a + ld [wPrintItemPrices], a + ld a, INIT_BAG_ITEM_LIST + ld [wInitListType], a + callab InitList + + ld a, [wNumBagItems] + and a + jp z, .bagEmpty + ld hl, PokemonSellingGreetingText + call PrintText + call SaveScreenTilesToBuffer1 ; save screen +.sellMenuLoop + call LoadScreenTilesFromBuffer1 ; restore saved screen + ld a, MONEY_BOX + ld [wTextBoxID], a + call DisplayTextBoxID ; draw money text box + ld hl, wNumBagItems + ld a, l + ld [wListPointer], a + ld a, h + ld [wListPointer + 1], a + xor a + ld [wPrintItemPrices], a + ld [wCurrentMenuItem], a + ld a, ITEMLISTMENU + ld [wListMenuID], a + call DisplayListMenuID + jp c, .returnToMainPokemartMenu ; if the player closed the menu +.confirmItemSale ; if the player is trying to sell a specific item + call IsKeyItem + ld a, [wIsKeyItem] + and a + jr nz, .unsellableItem + ld a, [wcf91] + call IsItemHM + jr c, .unsellableItem + ld a, PRICEDITEMLISTMENU + ld [wListMenuID], a + ld [hHalveItemPrices], a ; halve prices when selling + call DisplayChooseQuantityMenu + inc a + jr z, .sellMenuLoop ; if the player closed the choose quantity menu with the B button + ld hl, PokemartTellSellPriceText + lb bc, 14, 1 ; location that PrintText always prints to, this is useless + call PrintText + coord hl, 14, 7 + lb bc, 8, 15 + ld a, TWO_OPTION_MENU + ld [wTextBoxID], a + call DisplayTextBoxID ; yes/no menu + ld a, [wMenuExitMethod] + cp CHOSE_SECOND_ITEM + jr z, .sellMenuLoop ; if the player chose No or pressed the B button + +; The following code is supposed to check if the player chose No, but the above +; check already catches it. + ld a, [wChosenMenuItem] + dec a + jr z, .sellMenuLoop + +.sellItem + ld a, [wBoughtOrSoldItemInMart] + and a + jr nz, .skipSettingFlag1 + inc a + ld [wBoughtOrSoldItemInMart], a +.skipSettingFlag1 + call AddAmountSoldToMoney + ld hl, wNumBagItems + call RemoveItemFromInventory + jp .sellMenuLoop +.unsellableItem + ld hl, PokemartUnsellableItemText + call PrintText + jp .returnToMainPokemartMenu +.bagEmpty + ld hl, PokemartItemBagEmptyText + call PrintText + call SaveScreenTilesToBuffer1 + jp .returnToMainPokemartMenu +.buyMenu + +; the same variables are set again below, so this code has no effect + ld a, 1 + ld [wPrintItemPrices], a + ld a, INIT_OTHER_ITEM_LIST + ld [wInitListType], a + callab InitList + + ld hl, PokemartBuyingGreetingText + call PrintText + call SaveScreenTilesToBuffer1 +.buyMenuLoop + call LoadScreenTilesFromBuffer1 + ld a, MONEY_BOX + ld [wTextBoxID], a + call DisplayTextBoxID + ld hl, wItemList + ld a, l + ld [wListPointer], a + ld a, h + ld [wListPointer + 1], a + xor a + ld [wCurrentMenuItem], a + inc a + ld [wPrintItemPrices], a + inc a ; a = 2 (PRICEDITEMLISTMENU) + ld [wListMenuID], a + call DisplayListMenuID + jr c, .returnToMainPokemartMenu ; if the player closed the menu + ld a, 99 + ld [wMaxItemQuantity], a + xor a + ld [hHalveItemPrices], a ; don't halve item prices when buying + call DisplayChooseQuantityMenu + inc a + jr z, .buyMenuLoop ; if the player closed the choose quantity menu with the B button + ld a, [wcf91] ; item ID + ld [wd11e], a ; store item ID for GetItemName + call GetItemName + call CopyStringToCF4B ; copy name to wcf4b + ld hl, PokemartTellBuyPriceText + call PrintText + coord hl, 14, 7 + lb bc, 8, 15 + ld a, TWO_OPTION_MENU + ld [wTextBoxID], a + call DisplayTextBoxID ; yes/no menu + ld a, [wMenuExitMethod] + cp CHOSE_SECOND_ITEM + jp z, .buyMenuLoop ; if the player chose No or pressed the B button + +; The following code is supposed to check if the player chose No, but the above +; check already catches it. + ld a, [wChosenMenuItem] + dec a + jr z, .buyMenuLoop + +.buyItem + call .isThereEnoughMoney + jr c, .notEnoughMoney + ld hl, wNumBagItems + call AddItemToInventory + jr nc, .bagFull + call SubtractAmountPaidFromMoney + ld a, [wBoughtOrSoldItemInMart] + and a + jr nz, .skipSettingFlag2 + ld a, 1 + ld [wBoughtOrSoldItemInMart], a +.skipSettingFlag2 + ld a, SFX_PURCHASE + call PlaySoundWaitForCurrent + call WaitForSoundToFinish + ld hl, PokemartBoughtItemText + call PrintText + jp .buyMenuLoop +.returnToMainPokemartMenu + call LoadScreenTilesFromBuffer1 + ld a, MONEY_BOX + ld [wTextBoxID], a + call DisplayTextBoxID + ld hl, PokemartAnythingElseText + call PrintText + jp .loop +.isThereEnoughMoney + ld de, wPlayerMoney + ld hl, hMoney + ld c, 3 ; length of money in bytes + jp StringCmp +.notEnoughMoney + ld hl, PokemartNotEnoughMoneyText + call PrintText + jr .returnToMainPokemartMenu +.bagFull + ld hl, PokemartItemBagFullText + call PrintText + jr .returnToMainPokemartMenu +.done + ld hl, PokemartThankYouText + call PrintText + ld a, 1 + ld [wUpdateSpritesEnabled], a + call UpdateSprites + ld a, [wSavedListScrollOffset] + ld [wListScrollOffset], a + ret + +PokemartBuyingGreetingText: + TX_FAR _PokemartBuyingGreetingText + db "@" + +PokemartTellBuyPriceText: + TX_FAR _PokemartTellBuyPriceText + db "@" + +PokemartBoughtItemText: + TX_FAR _PokemartBoughtItemText + db "@" + +PokemartNotEnoughMoneyText: + TX_FAR _PokemartNotEnoughMoneyText + db "@" + +PokemartItemBagFullText: + TX_FAR _PokemartItemBagFullText + db "@" + +PokemonSellingGreetingText: + TX_FAR _PokemonSellingGreetingText + db "@" + +PokemartTellSellPriceText: + TX_FAR _PokemartTellSellPriceText + db "@" + +PokemartItemBagEmptyText: + TX_FAR _PokemartItemBagEmptyText + db "@" + +PokemartUnsellableItemText: + TX_FAR _PokemartUnsellableItemText + db "@" + +PokemartThankYouText: + TX_FAR _PokemartThankYouText + db "@" + +PokemartAnythingElseText: + TX_FAR _PokemartAnythingElseText + db "@" diff --git a/engine/events/prize_menu.asm b/engine/events/prize_menu.asm new file mode 100755 index 00000000..5e08bb8f --- /dev/null +++ b/engine/events/prize_menu.asm @@ -0,0 +1,306 @@ +CeladonPrizeMenu:: + ld b, COIN_CASE + call IsItemInBag + jr nz, .havingCoinCase + ld hl, RequireCoinCaseTextPtr + jp PrintText +.havingCoinCase + ld hl, wd730 + set 6, [hl] ; disable letter-printing delay + ld hl, ExchangeCoinsForPrizesTextPtr + call PrintText +; the following are the menu settings + xor a + ld [wCurrentMenuItem], a + ld [wLastMenuItem], a + ld a, A_BUTTON | B_BUTTON + ld [wMenuWatchedKeys], a + ld a, $03 + ld [wMaxMenuItem], a + ld a, $04 + ld [wTopMenuItemY], a + ld a, $01 + ld [wTopMenuItemX], a + call PrintPrizePrice + coord hl, 0, 2 + ld b, 8 + ld c, 16 + call TextBoxBorder + call GetPrizeMenuId + call UpdateSprites + ld hl, WhichPrizeTextPtr + call PrintText + call HandleMenuInput ; menu choice handler + bit 1, a ; keypress = B (Cancel) + jr nz, .noChoice + ld a, [wCurrentMenuItem] + cp 3 ; "NO,THANKS" choice + jr z, .noChoice + call HandlePrizeChoice +.noChoice + ld hl, wd730 + res 6, [hl] + ret + +RequireCoinCaseTextPtr: + TX_FAR _RequireCoinCaseText + TX_WAIT + db "@" + +ExchangeCoinsForPrizesTextPtr: + TX_FAR _ExchangeCoinsForPrizesText + db "@" + +WhichPrizeTextPtr: + TX_FAR _WhichPrizeText + db "@" + +GetPrizeMenuId: +; determine which one among the three +; prize-texts has been selected +; using the text ID (stored in [hSpriteIndexOrTextID]) +; load the three prizes at wd13d-wd13f +; load the three prices at wd141-wd146 +; display the three prizes' names +; (distinguishing between Pokemon names +; and Items (specifically TMs) names) + ld a, [hSpriteIndexOrTextID] + sub 3 ; prize-texts' id are 3, 4 and 5 + ld [wWhichPrizeWindow], a ; prize-texts' id (relative, i.e. 0, 1 or 2) + add a + add a + ld d, 0 + ld e, a + ld hl, PrizeDifferentMenuPtrs + add hl, de + ld a, [hli] + ld d, [hl] + ld e, a + inc hl + push hl + ld hl, wPrize1 + call CopyString + pop hl + ld a, [hli] + ld h, [hl] + ld l, a + ld de, wPrize1Price + ld bc, 6 + call CopyData + ld a, [wWhichPrizeWindow] + cp 2 ;is TM_menu? + jr nz, .putMonName + ld a, [wPrize1] + ld [wd11e], a + call GetItemName + coord hl, 2, 4 + call PlaceString + ld a, [wPrize2] + ld [wd11e], a + call GetItemName + coord hl, 2, 6 + call PlaceString + ld a, [wPrize3] + ld [wd11e], a + call GetItemName + coord hl, 2, 8 + call PlaceString + jr .putNoThanksText +.putMonName + ld a, [wPrize1] + ld [wd11e], a + call GetMonName + coord hl, 2, 4 + call PlaceString + ld a, [wPrize2] + ld [wd11e], a + call GetMonName + coord hl, 2, 6 + call PlaceString + ld a, [wPrize3] + ld [wd11e], a + call GetMonName + coord hl, 2, 8 + call PlaceString +.putNoThanksText + coord hl, 2, 10 + ld de, NoThanksText + call PlaceString +; put prices on the right side of the textbox + ld de, wPrize1Price + coord hl, 13, 5 +; reg. c: +; [low nybble] number of bytes +; [bit 765 = %100] space-padding (not zero-padding) + ld c, (1 << 7 | 2) +; Function $15CD displays BCD value (same routine +; used by text-command $02) + call PrintBCDNumber + ld de, wPrize2Price + coord hl, 13, 7 + ld c, (1 << 7 | 2) + call PrintBCDNumber + ld de, wPrize3Price + coord hl, 13, 9 + ld c, (1 << 7 | 2) + jp PrintBCDNumber + +INCLUDE "data/prizes.asm" + +PrintPrizePrice: + coord hl, 11, 0 + ld b, 1 + ld c, 7 + call TextBoxBorder + call UpdateSprites + coord hl, 12, 0 + ld de, .CoinString + call PlaceString + coord hl, 13, 1 + ld de, .SixSpacesString + call PlaceString + coord hl, 13, 1 + ld de, wPlayerCoins + ld c, %10000010 + call PrintBCDNumber + ret + +.CoinString: + db "COIN@" + +.SixSpacesString: + db " @" + +LoadCoinsToSubtract: + ld a, [wWhichPrize] + add a + ld d, 0 + ld e, a + ld hl, wPrize1Price + add hl, de ; get selected prize's price + xor a + ld [hUnusedCoinsByte], a + ld a, [hli] + ld [hCoins], a + ld a, [hl] + ld [hCoins + 1], a + ret + +HandlePrizeChoice: + ld a, [wCurrentMenuItem] + ld [wWhichPrize], a + ld d, 0 + ld e, a + ld hl, wPrize1 + add hl, de + ld a, [hl] + ld [wd11e], a + ld a, [wWhichPrizeWindow] + cp 2 ; is prize a TM? + jr nz, .getMonName + call GetItemName + jr .givePrize +.getMonName + call GetMonName +.givePrize + ld hl, SoYouWantPrizeTextPtr + call PrintText + call YesNoChoice + ld a, [wCurrentMenuItem] ; yes/no answer (Y=0, N=1) + and a + jr nz, .printOhFineThen + call LoadCoinsToSubtract + call HasEnoughCoins + jr c, .notEnoughCoins + ld a, [wWhichPrizeWindow] + cp $02 + jr nz, .giveMon + ld a, [wd11e] + ld b, a + ld a, 1 + ld c, a + call GiveItem + jr nc, .bagFull + jr .subtractCoins +.giveMon + ld a, [wd11e] + ld [wcf91], a + push af + call GetPrizeMonLevel + ld c, a + pop af + ld b, a + call GivePokemon + +; If either the party or box was full, wait after displaying message. + push af + ld a, [wAddedToParty] + and a + call z, WaitForTextScrollButtonPress + pop af + +; If the mon couldn't be given to the player (because both the party and box +; were full), return without subtracting coins. + ret nc + +.subtractCoins + call LoadCoinsToSubtract + ld hl, hCoins + 1 + ld de, wPlayerCoins + 1 + ld c, $02 ; how many bytes + predef SubBCDPredef + jp PrintPrizePrice +.bagFull + ld hl, PrizeRoomBagIsFullTextPtr + jp PrintText +.notEnoughCoins + ld hl, SorryNeedMoreCoinsText + jp PrintText +.printOhFineThen + ld hl, OhFineThenTextPtr + jp PrintText + +UnknownPrizeData: +; XXX what's this? + db $00,$01,$00,$01,$00,$01,$00,$00,$01 + +HereYouGoTextPtr: + TX_FAR _HereYouGoText + TX_WAIT + db "@" + +SoYouWantPrizeTextPtr: + TX_FAR _SoYouWantPrizeText + db "@" + +SorryNeedMoreCoinsText: + TX_FAR _SorryNeedMoreCoinsText + TX_WAIT + db "@" + +PrizeRoomBagIsFullTextPtr: + TX_FAR _OopsYouDontHaveEnoughRoomText + TX_WAIT + db "@" + +OhFineThenTextPtr: + TX_FAR _OhFineThenText + TX_WAIT + db "@" + +GetPrizeMonLevel: + ld a, [wcf91] + ld b, a + ld hl, PrizeMonLevelDictionary +.loop + ld a, [hli] + cp b + jr z, .matchFound + inc hl + jr .loop +.matchFound + ld a, [hl] + ld [wCurEnemyLVL], a + ret + +INCLUDE "data/prize_mon_levels.asm" diff --git a/engine/events/saffron_guards.asm b/engine/events/saffron_guards.asm new file mode 100755 index 00000000..091cfa1a --- /dev/null +++ b/engine/events/saffron_guards.asm @@ -0,0 +1,15 @@ +RemoveGuardDrink:: + ld hl, GuardDrinksList +.drinkLoop + ld a, [hli] + ld [$ffdb], a + and a + ret z + push hl + ld b, a + call IsItemInBag + pop hl + jr z, .drinkLoop + jpba RemoveItemByID + +INCLUDE "data/guard_drink_items.asm" diff --git a/engine/events/set_blackout_map.asm b/engine/events/set_blackout_map.asm new file mode 100644 index 00000000..14f0ba28 --- /dev/null +++ b/engine/events/set_blackout_map.asm @@ -0,0 +1,25 @@ +SetLastBlackoutMap: +; Set the map to return to when +; blacking out or using Teleport or Dig. +; Safari rest houses don't count. + + push hl + ld hl, SafariZoneRestHouses + ld a, [wCurMap] + ld b, a +.loop + ld a, [hli] + cp -1 + jr z, .notresthouse + cp b + jr nz, .loop + jr .done + +.notresthouse + ld a, [wLastMap] + ld [wLastBlackoutMap], a +.done + pop hl + ret + +INCLUDE "data/rest_house_maps.asm" diff --git a/engine/events/starter_dex.asm b/engine/events/starter_dex.asm new file mode 100755 index 00000000..21289c6a --- /dev/null +++ b/engine/events/starter_dex.asm @@ -0,0 +1,9 @@ +; this function temporarily makes the starters (and Ivysaur) seen +; so that the full Pokedex information gets displayed in Oak's lab +StarterDex: + ld a, %01001011 ; set starter flags + ld [wPokedexOwned], a + predef ShowPokedexData + xor a ; unset starter flags + ld [wPokedexOwned], a + ret diff --git a/engine/events/vending_machine.asm b/engine/events/vending_machine.asm new file mode 100755 index 00000000..554c5d4f --- /dev/null +++ b/engine/events/vending_machine.asm @@ -0,0 +1,133 @@ +VendingMachineMenu:: + ld hl, VendingMachineText1 + call PrintText + ld a, MONEY_BOX + ld [wTextBoxID], a + call DisplayTextBoxID + xor a + ld [wCurrentMenuItem], a + ld [wLastMenuItem], a + ld a, A_BUTTON | B_BUTTON + ld [wMenuWatchedKeys], a + ld a, 3 + ld [wMaxMenuItem], a + ld a, 5 + ld [wTopMenuItemY], a + ld a, 1 + ld [wTopMenuItemX], a + ld hl, wd730 + set 6, [hl] + coord hl, 0, 3 + ld b, 8 + ld c, 12 + call TextBoxBorder + call UpdateSprites + coord hl, 2, 5 + ld de, DrinkText + call PlaceString + coord hl, 9, 6 + ld de, DrinkPriceText + call PlaceString + ld hl, wd730 + res 6, [hl] + call HandleMenuInput + bit 1, a ; pressed B? + jr nz, .notThirsty + ld a, [wCurrentMenuItem] + cp 3 ; chose Cancel? + jr z, .notThirsty + xor a + ld [hMoney], a + ld [hMoney + 2], a + ld a, $2 + ld [hMoney + 1], a + call HasEnoughMoney + jr nc, .enoughMoney + ld hl, VendingMachineText4 + jp PrintText +.enoughMoney + call LoadVendingMachineItem + ld a, [hVendingMachineItem] + ld b, a + ld c, 1 + call GiveItem + jr nc, .BagFull + + ld b, 60 ; number of times to play the "brrrrr" sound +.playDeliverySound + ld c, 2 + call DelayFrames + push bc + ld a, SFX_PUSH_BOULDER + call PlaySound + pop bc + dec b + jr nz, .playDeliverySound + + ld hl, VendingMachineText5 + call PrintText + ld hl, hVendingMachinePrice + 2 + ld de, wPlayerMoney + 2 + ld c, $3 + predef SubBCDPredef + ld a, MONEY_BOX + ld [wTextBoxID], a + jp DisplayTextBoxID +.BagFull + ld hl, VendingMachineText6 + jp PrintText +.notThirsty + ld hl, VendingMachineText7 + jp PrintText + +VendingMachineText1: + TX_FAR _VendingMachineText1 + db "@" + +DrinkText: + db "FRESH WATER" + next "SODA POP" + next "LEMONADE" + next "CANCEL@" + +DrinkPriceText: + db "¥200" + next "¥300" + next "¥350" + next "@" + +VendingMachineText4: + TX_FAR _VendingMachineText4 + db "@" + +VendingMachineText5: + TX_FAR _VendingMachineText5 + db "@" + +VendingMachineText6: + TX_FAR _VendingMachineText6 + db "@" + +VendingMachineText7: + TX_FAR _VendingMachineText7 + db "@" + +LoadVendingMachineItem: + ld hl, VendingPrices + ld a, [wCurrentMenuItem] + add a + add a + ld d, 0 + ld e, a + add hl, de + ld a, [hli] + ld [hVendingMachineItem], a + ld a, [hli] + ld [hVendingMachinePrice], a + ld a, [hli] + ld [hVendingMachinePrice + 1], a + ld a, [hl] + ld [hVendingMachinePrice + 2], a + ret + +INCLUDE "data/vending_prices.asm" diff --git a/engine/evolution.asm b/engine/evolution.asm deleted file mode 100755 index 731735c5..00000000 --- a/engine/evolution.asm +++ /dev/null @@ -1,160 +0,0 @@ -EvolveMon: - push hl - push de - push bc - ld a, [wcf91] - push af - ld a, [wd0b5] - push af - xor a - ld [wLowHealthAlarm], a - ld [wChannelSoundIDs + Ch5], a - dec a - ld [wNewSoundID], a - call PlaySound - ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a - ld a, SFX_TINK - call PlaySound - call Delay3 - xor a - ld [H_AUTOBGTRANSFERENABLED], a - ld [hTilesetType], a - ld a, [wEvoOldSpecies] - ld [wWholeScreenPaletteMonSpecies], a - ld c, 0 - call EvolutionSetWholeScreenPalette - ld a, [wEvoNewSpecies] - ld [wcf91], a - ld [wd0b5], a - call Evolution_LoadPic - ld de, vFrontPic - ld hl, vBackPic - ld bc, 7 * 7 - call CopyVideoData - ld a, [wEvoOldSpecies] - ld [wcf91], a - ld [wd0b5], a - call Evolution_LoadPic - ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a - ld a, [wEvoOldSpecies] - call PlayCry - call WaitForSoundToFinish - ld c, BANK(Music_SafariZone) - ld a, MUSIC_SAFARI_ZONE - call PlayMusic - ld c, 80 - call DelayFrames - ld c, 1 ; set PAL_BLACK instead of mon palette - call EvolutionSetWholeScreenPalette - lb bc, $1, $10 -.animLoop - push bc - call Evolution_CheckForCancel - jr c, .evolutionCancelled - call Evolution_BackAndForthAnim - pop bc - inc b - dec c - dec c - jr nz, .animLoop - xor a - ld [wEvoCancelled], a - ld a, $31 - ld [wEvoMonTileOffset], a - call Evolution_ChangeMonPic ; show the new species pic - ld a, [wEvoNewSpecies] -.done - ld [wWholeScreenPaletteMonSpecies], a - ld a, $ff - ld [wNewSoundID], a - call PlaySound - ld a, [wWholeScreenPaletteMonSpecies] - call PlayCry - ld c, 0 - call EvolutionSetWholeScreenPalette - pop af - ld [wd0b5], a - pop af - ld [wcf91], a - pop bc - pop de - pop hl - ld a, [wEvoCancelled] - and a - ret z - scf - ret -.evolutionCancelled - pop bc - ld a, 1 - ld [wEvoCancelled], a - ld a, [wEvoOldSpecies] - jr .done - -EvolutionSetWholeScreenPalette: - ld b, SET_PAL_POKEMON_WHOLE_SCREEN - jp RunPaletteCommand - -Evolution_LoadPic: - call GetMonHeader - coord hl, 7, 2 - jp LoadFlippedFrontSpriteByMonIndex - -Evolution_BackAndForthAnim: -; show the mon change back and forth between the new and old species b times - ld a, $31 - ld [wEvoMonTileOffset], a - call Evolution_ChangeMonPic - ld a, -$31 - ld [wEvoMonTileOffset], a - call Evolution_ChangeMonPic - dec b - jr nz, Evolution_BackAndForthAnim - ret - -Evolution_ChangeMonPic: - push bc - xor a - ld [H_AUTOBGTRANSFERENABLED], a - coord hl, 7, 2 - lb bc, 7, 7 - ld de, SCREEN_WIDTH - 7 -.loop - push bc -.innerLoop - ld a, [wEvoMonTileOffset] - add [hl] - ld [hli], a - dec c - jr nz, .innerLoop - pop bc - add hl, de - dec b - jr nz, .loop - ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a - call Delay3 - pop bc - ret - -Evolution_CheckForCancel: - call DelayFrame - push bc - call JoypadLowSensitivity - ld a, [hJoy5] - pop bc - and B_BUTTON - jr nz, .pressedB -.notAllowedToCancel - dec c - jr nz, Evolution_CheckForCancel - and a - ret -.pressedB - ld a, [wForceEvolution] - and a - jr nz, .notAllowedToCancel - scf - ret diff --git a/engine/evolve_trade.asm b/engine/evolve_trade.asm deleted file mode 100755 index e17fc05c..00000000 --- a/engine/evolve_trade.asm +++ /dev/null @@ -1,44 +0,0 @@ -EvolveTradeMon: -; Verify the TradeMon's species name before -; attempting to initiate a trade evolution. - -; The names of the trade evolutions in Blue (JP) -; are checked. In that version, TradeMons that -; can evolve are Graveler and Haunter. - -; In localization, this check was translated -; before monster names were finalized. -; Then, Haunter's name was "Spectre". -; Since its name no longer starts with -; "SP", it is prevented from evolving. - -; This may have been why Red/Green's trades -; were used instead, where none can evolve. - -; This was fixed in Yellow. - - ld a, [wInGameTradeReceiveMonName] - - ; GRAVELER - cp "G" - jr z, .ok - - ; "SPECTRE" (HAUNTER) - cp "S" - ret nz - ld a, [wInGameTradeReceiveMonName + 1] - cp "P" - ret nz - -.ok - ld a, [wPartyCount] - dec a - ld [wWhichPokemon], a - ld a, $1 - ld [wForceEvolution], a - ld a, LINK_STATE_TRADING - ld [wLinkState], a - callab TryEvolvingMon - xor a ; LINK_STATE_NONE - ld [wLinkState], a - jp PlayDefaultMusic diff --git a/engine/evos_moves.asm b/engine/evos_moves.asm deleted file mode 100755 index f50f8081..00000000 --- a/engine/evos_moves.asm +++ /dev/null @@ -1,513 +0,0 @@ -; try to evolve the mon in [wWhichPokemon] -TryEvolvingMon: - ld hl, wCanEvolveFlags - xor a - ld [hl], a - ld a, [wWhichPokemon] - ld c, a - ld b, FLAG_SET - call Evolution_FlagAction - -; this is only called after battle -; it is supposed to do level up evolutions, though there is a bug that allows item evolutions to occur -EvolutionAfterBattle: - ld a, [hTilesetType] - push af - xor a - ld [wEvolutionOccurred], a - dec a - ld [wWhichPokemon], a - push hl - push bc - push de - ld hl, wPartyCount - push hl - -Evolution_PartyMonLoop: ; loop over party mons - ld hl, wWhichPokemon - inc [hl] - pop hl - inc hl - ld a, [hl] - cp $ff ; have we reached the end of the party? - jp z, .done - ld [wEvoOldSpecies], a - push hl - ld a, [wWhichPokemon] - ld c, a - ld hl, wCanEvolveFlags - ld b, FLAG_TEST - call Evolution_FlagAction - ld a, c - and a ; is the mon's bit set? - jp z, Evolution_PartyMonLoop ; if not, go to the next mon - ld a, [wEvoOldSpecies] - dec a - ld b, 0 - ld hl, EvosMovesPointerTable - add a - rl b - ld c, a - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - push hl - ld a, [wcf91] - push af - xor a ; PLAYER_PARTY_DATA - ld [wMonDataLocation], a - call LoadMonData - pop af - ld [wcf91], a - pop hl - -.evoEntryLoop ; loop over evolution entries - ld a, [hli] - and a ; have we reached the end of the evolution data? - jr z, Evolution_PartyMonLoop - ld b, a ; evolution type - cp EV_TRADE - jr z, .checkTradeEvo -; not trade evolution - ld a, [wLinkState] - cp LINK_STATE_TRADING - jr z, Evolution_PartyMonLoop ; if trading, go the next mon - ld a, b - cp EV_ITEM - jr z, .checkItemEvo - ld a, [wForceEvolution] - and a - jr nz, Evolution_PartyMonLoop - ld a, b - cp EV_LEVEL - jr z, .checkLevel -.checkTradeEvo - ld a, [wLinkState] - cp LINK_STATE_TRADING - jp nz, .nextEvoEntry1 ; if not trading, go to the next evolution entry - ld a, [hli] ; level requirement - ld b, a - ld a, [wLoadedMonLevel] - cp b ; is the mon's level greater than the evolution requirement? - jp c, Evolution_PartyMonLoop ; if so, go the next mon - jr .doEvolution -.checkItemEvo - ld a, [hli] - ld b, a ; evolution item - ld a, [wcf91] ; this is supposed to be the last item used, but it is also used to hold species numbers - cp b ; was the evolution item in this entry used? - jp nz, .nextEvoEntry1 ; if not, go to the next evolution entry -.checkLevel - ld a, [hli] ; level requirement - ld b, a - ld a, [wLoadedMonLevel] - cp b ; is the mon's level greater than the evolution requirement? - jp c, .nextEvoEntry2 ; if so, go the next evolution entry -.doEvolution - ld [wCurEnemyLVL], a - ld a, 1 - ld [wEvolutionOccurred], a - push hl - ld a, [hl] - ld [wEvoNewSpecies], a - ld a, [wWhichPokemon] - ld hl, wPartyMonNicks - call GetPartyMonName - call CopyStringToCF4B - ld hl, IsEvolvingText - call PrintText - ld c, 50 - call DelayFrames - xor a - ld [H_AUTOBGTRANSFERENABLED], a - coord hl, 0, 0 - lb bc, 12, 20 - call ClearScreenArea - ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a - ld a, $ff - ld [wUpdateSpritesEnabled], a - call ClearSprites - callab EvolveMon - jp c, CancelledEvolution - ld hl, EvolvedText - call PrintText - pop hl - ld a, [hl] - ld [wd0b5], a - ld [wLoadedMonSpecies], a - ld [wEvoNewSpecies], a - ld a, MONSTER_NAME - ld [wNameListType], a - ld a, BANK(TrainerNames) ; bank is not used for monster names - ld [wPredefBank], a - call GetName - push hl - ld hl, IntoText - call PrintText_NoCreatingTextBox - ld a, SFX_GET_ITEM_2 - call PlaySoundWaitForCurrent - call WaitForSoundToFinish - ld c, 40 - call DelayFrames - call ClearScreen - call RenameEvolvedMon - ld a, [wd11e] - push af - ld a, [wd0b5] - ld [wd11e], a - predef IndexToPokedex - ld a, [wd11e] - dec a - ld hl, BaseStats - ld bc, MonBaseStatsEnd - MonBaseStats - call AddNTimes - ld de, wMonHeader - call CopyData - ld a, [wd0b5] - ld [wMonHIndex], a - pop af - ld [wd11e], a - ld hl, wLoadedMonHPExp - 1 - ld de, wLoadedMonStats - ld b, $1 - call CalcStats - ld a, [wWhichPokemon] - ld hl, wPartyMon1 - ld bc, wPartyMon2 - wPartyMon1 - call AddNTimes - ld e, l - ld d, h - push hl - push bc - ld bc, wPartyMon1MaxHP - wPartyMon1 - add hl, bc - ld a, [hli] - ld b, a - ld c, [hl] - ld hl, wLoadedMonMaxHP + 1 - ld a, [hld] - sub c - ld c, a - ld a, [hl] - sbc b - ld b, a - ld hl, wLoadedMonHP + 1 - ld a, [hl] - add c - ld [hld], a - ld a, [hl] - adc b - ld [hl], a - dec hl - pop bc - call CopyData - ld a, [wd0b5] - ld [wd11e], a - xor a - ld [wMonDataLocation], a - call LearnMoveFromLevelUp - pop hl - predef SetPartyMonTypes - ld a, [wIsInBattle] - and a - call z, Evolution_ReloadTilesetTilePatterns - predef IndexToPokedex - ld a, [wd11e] - dec a - ld c, a - ld b, FLAG_SET - ld hl, wPokedexOwned - push bc - call Evolution_FlagAction - pop bc - ld hl, wPokedexSeen - call Evolution_FlagAction - pop de - pop hl - ld a, [wLoadedMonSpecies] - ld [hl], a - push hl - ld l, e - ld h, d - jr .nextEvoEntry2 - -.nextEvoEntry1 - inc hl - -.nextEvoEntry2 - inc hl - jp .evoEntryLoop - -.done - pop de - pop bc - pop hl - pop af - ld [hTilesetType], a - ld a, [wLinkState] - cp LINK_STATE_TRADING - ret z - ld a, [wIsInBattle] - and a - ret nz - ld a, [wEvolutionOccurred] - and a - call nz, PlayDefaultMusic - ret - -RenameEvolvedMon: -; Renames the mon to its new, evolved form's standard name unless it had a -; nickname, in which case the nickname is kept. - ld a, [wd0b5] - push af - ld a, [wMonHIndex] - ld [wd0b5], a - call GetName - pop af - ld [wd0b5], a - ld hl, wcd6d - ld de, wcf4b -.compareNamesLoop - ld a, [de] - inc de - cp [hl] - inc hl - ret nz - cp "@" - jr nz, .compareNamesLoop - ld a, [wWhichPokemon] - ld bc, NAME_LENGTH - ld hl, wPartyMonNicks - call AddNTimes - push hl - call GetName - ld hl, wcd6d - pop de - jp CopyData - -CancelledEvolution: - ld hl, StoppedEvolvingText - call PrintText - call ClearScreen - pop hl - call Evolution_ReloadTilesetTilePatterns - jp Evolution_PartyMonLoop - -EvolvedText: - TX_FAR _EvolvedText - db "@" - -IntoText: - TX_FAR _IntoText - db "@" - -StoppedEvolvingText: - TX_FAR _StoppedEvolvingText - db "@" - -IsEvolvingText: - TX_FAR _IsEvolvingText - db "@" - -Evolution_ReloadTilesetTilePatterns: - ld a, [wLinkState] - cp LINK_STATE_TRADING - ret z - jp ReloadTilesetTilePatterns - -LearnMoveFromLevelUp: - ld hl, EvosMovesPointerTable - ld a, [wd11e] ; species - ld [wcf91], a - dec a - ld bc, 0 - ld hl, EvosMovesPointerTable - add a - rl b - ld c, a - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a -.skipEvolutionDataLoop ; loop to skip past the evolution data, which comes before the move data - ld a, [hli] - and a ; have we reached the end of the evolution data? - jr nz, .skipEvolutionDataLoop ; if not, jump back up -.learnSetLoop ; loop over the learn set until we reach a move that is learnt at the current level or the end of the list - ld a, [hli] - and a ; have we reached the end of the learn set? - jr z, .done ; if we've reached the end of the learn set, jump - ld b, a ; level the move is learnt at - ld a, [wCurEnemyLVL] - cp b ; is the move learnt at the mon's current level? - ld a, [hli] ; move ID - jr nz, .learnSetLoop - ld d, a ; ID of move to learn - ld a, [wMonDataLocation] - and a - jr nz, .next -; If [wMonDataLocation] is 0 (PLAYER_PARTY_DATA), get the address of the mon's -; current moves in party data. Every call to this function sets -; [wMonDataLocation] to 0 because other data locations are not supported. -; If it is not 0, this function will not work properly. - ld hl, wPartyMon1Moves - ld a, [wWhichPokemon] - ld bc, wPartyMon2 - wPartyMon1 - call AddNTimes -.next - ld b, NUM_MOVES -.checkCurrentMovesLoop ; check if the move to learn is already known - ld a, [hli] - cp d - jr z, .done ; if already known, jump - dec b - jr nz, .checkCurrentMovesLoop - ld a, d - ld [wMoveNum], a - ld [wd11e], a - call GetMoveName - call CopyStringToCF4B - predef LearnMove -.done - ld a, [wcf91] - ld [wd11e], a - ret - -; writes the moves a mon has at level [wCurEnemyLVL] to [de] -; move slots are being filled up sequentially and shifted if all slots are full -WriteMonMoves: - call GetPredefRegisters - push hl - push de - push bc - ld hl, EvosMovesPointerTable - ld b, 0 - ld a, [wcf91] ; cur mon ID - dec a - add a - rl b - ld c, a - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a -.skipEvoEntriesLoop - ld a, [hli] - and a - jr nz, .skipEvoEntriesLoop - jr .firstMove -.nextMove - pop de -.nextMove2 - inc hl -.firstMove - ld a, [hli] ; read level of next move in learnset - and a - jp z, .done ; end of list - ld b, a - ld a, [wCurEnemyLVL] - cp b - jp c, .done ; mon level < move level (assumption: learnset is sorted by level) - ld a, [wLearningMovesFromDayCare] - and a - jr z, .skipMinLevelCheck - ld a, [wDayCareStartLevel] - cp b - jr nc, .nextMove2 ; min level >= move level - -.skipMinLevelCheck - -; check if the move is already known - push de - ld c, NUM_MOVES -.alreadyKnowsCheckLoop - ld a, [de] - inc de - cp [hl] - jr z, .nextMove - dec c - jr nz, .alreadyKnowsCheckLoop - -; try to find an empty move slot - pop de - push de - ld c, NUM_MOVES -.findEmptySlotLoop - ld a, [de] - and a - jr z, .writeMoveToSlot2 - inc de - dec c - jr nz, .findEmptySlotLoop - -; no empty move slots found - pop de - push de - push hl - ld h, d - ld l, e - call WriteMonMoves_ShiftMoveData ; shift all moves one up (deleting move 1) - ld a, [wLearningMovesFromDayCare] - and a - jr z, .writeMoveToSlot - -; shift PP as well if learning moves from day care - push de - ld bc, wPartyMon1PP - (wPartyMon1Moves + 3) - add hl, bc - ld d, h - ld e, l - call WriteMonMoves_ShiftMoveData ; shift all move PP data one up - pop de - -.writeMoveToSlot - pop hl -.writeMoveToSlot2 - ld a, [hl] - ld [de], a - ld a, [wLearningMovesFromDayCare] - and a - jr z, .nextMove - -; write move PP value if learning moves from day care - push hl - ld a, [hl] - ld hl, wPartyMon1PP - wPartyMon1Moves - add hl, de - push hl - dec a - ld hl, Moves - ld bc, MoveEnd - Moves - call AddNTimes - ld de, wBuffer - ld a, BANK(Moves) - call FarCopyData - ld a, [wBuffer + 5] - pop hl - ld [hl], a - pop hl - jr .nextMove - -.done - pop bc - pop de - pop hl - ret - -; shifts all move data one up (freeing 4th move slot) -WriteMonMoves_ShiftMoveData: - ld c, NUM_MOVES - 1 -.loop - inc de - ld a, [de] - ld [hli], a - dec c - jr nz, .loop - ret - -Evolution_FlagAction: - predef_jump FlagActionPredef - -INCLUDE "data/evos_moves.asm" diff --git a/engine/experience.asm b/engine/experience.asm deleted file mode 100755 index 3ee4b2a8..00000000 --- a/engine/experience.asm +++ /dev/null @@ -1,149 +0,0 @@ -; calculates the level a mon should be based on its current exp -CalcLevelFromExperience:: - ld a, [wLoadedMonSpecies] - ld [wd0b5], a - call GetMonHeader - ld d, $1 ; init level to 1 -.loop - inc d ; increment level - call CalcExperience - push hl - ld hl, wLoadedMonExp + 2 ; current exp -; compare exp needed for level d with current exp - ld a, [hExperience + 2] - ld c, a - ld a, [hld] - sub c - ld a, [hExperience + 1] - ld c, a - ld a, [hld] - sbc c - ld a, [hExperience] - ld c, a - ld a, [hl] - sbc c - pop hl - jr nc, .loop ; if exp needed for level d is not greater than exp, try the next level - dec d ; since the exp was too high on the last loop iteration, go back to the previous value and return - ret - -; calculates the amount of experience needed for level d -CalcExperience:: - ld a, [wMonHGrowthRate] - add a - add a - ld c, a - ld b, 0 - ld hl, GrowthRateTable - add hl, bc - call CalcDSquared - ld a, d - ld [H_MULTIPLIER], a - call Multiply - ld a, [hl] - and $f0 - swap a - ld [H_MULTIPLIER], a - call Multiply - ld a, [hli] - and $f - ld [H_DIVISOR], a - ld b, $4 - call Divide - ld a, [H_QUOTIENT + 1] - push af - ld a, [H_QUOTIENT + 2] - push af - ld a, [H_QUOTIENT + 3] - push af - call CalcDSquared - ld a, [hl] - and $7f - ld [H_MULTIPLIER], a - call Multiply - ld a, [H_PRODUCT + 1] - push af - ld a, [H_PRODUCT + 2] - push af - ld a, [H_PRODUCT + 3] - push af - ld a, [hli] - push af - xor a - ld [H_MULTIPLICAND], a - ld [H_MULTIPLICAND + 1], a - ld a, d - ld [H_MULTIPLICAND + 2], a - ld a, [hli] - ld [H_MULTIPLIER], a - call Multiply - ld b, [hl] - ld a, [H_PRODUCT + 3] - sub b - ld [H_PRODUCT + 3], a - ld b, $0 - ld a, [H_PRODUCT + 2] - sbc b - ld [H_PRODUCT + 2], a - ld a, [H_PRODUCT + 1] - sbc b - ld [H_PRODUCT + 1], a -; The difference of the linear term and the constant term consists of 3 bytes -; starting at H_PRODUCT + 1. Below, hExperience (an alias of that address) will -; be used instead for the further work of adding or subtracting the squared -; term and adding the cubed term. - pop af - and $80 - jr nz, .subtractSquaredTerm ; check sign - pop bc - ld a, [hExperience + 2] - add b - ld [hExperience + 2], a - pop bc - ld a, [hExperience + 1] - adc b - ld [hExperience + 1], a - pop bc - ld a, [hExperience] - adc b - ld [hExperience], a - jr .addCubedTerm -.subtractSquaredTerm - pop bc - ld a, [hExperience + 2] - sub b - ld [hExperience + 2], a - pop bc - ld a, [hExperience + 1] - sbc b - ld [hExperience + 1], a - pop bc - ld a, [hExperience] - sbc b - ld [hExperience], a -.addCubedTerm - pop bc - ld a, [hExperience + 2] - add b - ld [hExperience + 2], a - pop bc - ld a, [hExperience + 1] - adc b - ld [hExperience + 1], a - pop bc - ld a, [hExperience] - adc b - ld [hExperience], a - ret - -; calculates d*d -CalcDSquared: - xor a - ld [H_MULTIPLICAND], a - ld [H_MULTIPLICAND + 1], a - ld a, d - ld [H_MULTIPLICAND + 2], a - ld [H_MULTIPLIER], a - jp Multiply - -INCLUDE "data/growth_rates.asm" diff --git a/engine/game_corner_slots.asm b/engine/game_corner_slots.asm deleted file mode 100755 index 2108695f..00000000 --- a/engine/game_corner_slots.asm +++ /dev/null @@ -1,54 +0,0 @@ -StartSlotMachine: - ld a, [wHiddenObjectFunctionArgument] - cp $fd - jr z, .printOutOfOrder - cp $fe - jr z, .printOutToLunch - cp $ff - jr z, .printSomeonesKeys - callba AbleToPlaySlotsCheck - ld a, [wCanPlaySlots] - and a - ret z - ld a, [wLuckySlotHiddenObjectIndex] - ld b, a - ld a, [wHiddenObjectIndex] - inc a - cp b - jr z, .match - ld a, 253 - jr .next -.match - ld a, 250 -.next - ld [wSlotMachineSevenAndBarModeChance], a - ld a, [H_LOADEDROMBANK] - ld [wSlotMachineSavedROMBank], a - call PromptUserToPlaySlots - ret -.printOutOfOrder - tx_pre_id GameCornerOutOfOrderText - jr .printText -.printOutToLunch - tx_pre_id GameCornerOutToLunchText - jr .printText -.printSomeonesKeys - tx_pre_id GameCornerSomeonesKeysText -.printText - push af - call EnableAutoTextBoxDrawing - pop af - call PrintPredefTextID - ret - -GameCornerOutOfOrderText:: - TX_FAR _GameCornerOutOfOrderText - db "@" - -GameCornerOutToLunchText:: - TX_FAR _GameCornerOutToLunchText - db "@" - -GameCornerSomeonesKeysText:: - TX_FAR _GameCornerSomeonesKeysText - db "@" diff --git a/engine/game_corner_slots2.asm b/engine/game_corner_slots2.asm deleted file mode 100755 index 8f6e8374..00000000 --- a/engine/game_corner_slots2.asm +++ /dev/null @@ -1,31 +0,0 @@ -AbleToPlaySlotsCheck: - ld a, [wSpriteStateData1 + 2] - and $8 - jr z, .done ; not able - ld b, COIN_CASE - predef GetQuantityOfItemInBag - ld a, b - and a - ld b, (GameCornerCoinCaseText_id - TextPredefs) / 2 + 1 - jr z, .printCoinCaseRequired - ld hl, wPlayerCoins - ld a, [hli] - or [hl] - jr nz, .done ; able to play - ld b, (GameCornerNoCoinsText_id - TextPredefs) / 2 + 1 -.printCoinCaseRequired - call EnableAutoTextBoxDrawing - ld a, b - call PrintPredefTextID - xor a -.done - ld [wCanPlaySlots], a - ret - -GameCornerCoinCaseText:: - TX_FAR _GameCornerCoinCaseText - db "@" - -GameCornerNoCoinsText:: - TX_FAR _GameCornerNoCoinsText - db "@" diff --git a/engine/gamefreak.asm b/engine/gamefreak.asm deleted file mode 100755 index 78e48384..00000000 --- a/engine/gamefreak.asm +++ /dev/null @@ -1,243 +0,0 @@ -LoadShootingStarGraphics: - ld a, $f9 - ld [rOBP0], a - ld a, $a4 - ld [rOBP1], a - ld de, AnimationTileset2 + $30 ; star tile (top left quadrant) - ld hl, vChars1 + $200 - lb bc, BANK(AnimationTileset2), $01 - call CopyVideoData - ld de, AnimationTileset2 + $130 ; star tile (bottom left quadrant) - ld hl, vChars1 + $210 - lb bc, BANK(AnimationTileset2), $01 - call CopyVideoData - ld de, FallingStar - ld hl, vChars1 + $220 - lb bc, BANK(FallingStar), (FallingStarEnd - FallingStar) / $10 - call CopyVideoData - ld hl, GameFreakLogoOAMData - ld de, wOAMBuffer + $60 - ld bc, GameFreakLogoOAMDataEnd - GameFreakLogoOAMData - call CopyData - ld hl, GameFreakShootingStarOAMData - ld de, wOAMBuffer - ld bc, GameFreakShootingStarOAMDataEnd - GameFreakShootingStarOAMData - jp CopyData - -AnimateShootingStar: - call LoadShootingStarGraphics - ld a, SFX_SHOOTING_STAR - call PlaySound - -; Move the big star down and left across the screen. - ld hl, wOAMBuffer - lb bc, $a0, $4 -.bigStarLoop - push hl - push bc -.bigStarInnerLoop - ld a, [hl] ; Y - add 4 - ld [hli], a - ld a, [hl] ; X - add -4 - ld [hli], a - inc hl - inc hl - dec c - jr nz, .bigStarInnerLoop - ld c, 1 - call CheckForUserInterruption - pop bc - pop hl - ret c - ld a, [hl] - cp 80 - jr nz, .next - jr .bigStarLoop -.next - cp b - jr nz, .bigStarLoop - -; Clear big star OAM. - ld hl, wOAMBuffer - ld c, 4 - ld de, 4 -.clearOAMLoop - ld [hl], 160 - add hl, de - dec c - jr nz, .clearOAMLoop - -; Make Gamefreak logo flash. - ld b, 3 -.flashLogoLoop - ld hl, rOBP0 - rrc [hl] - rrc [hl] - ld c, 10 - call CheckForUserInterruption - ret c - dec b - jr nz, .flashLogoLoop - -; Copy 24 instances of the small stars OAM data. -; Note that their coordinates put them off-screen. - ld de, wOAMBuffer - ld a, 24 -.initSmallStarsOAMLoop - push af - ld hl, SmallStarsOAM - ld bc, SmallStarsOAMEnd - SmallStarsOAM - call CopyData - pop af - dec a - jr nz, .initSmallStarsOAMLoop - -; Animate the small stars falling from the Gamefreak logo. - xor a - ld [wMoveDownSmallStarsOAMCount], a - ld hl, SmallStarsWaveCoordsPointerTable - ld c, 6 -.smallStarsLoop - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - push bc - push hl - ld hl, wOAMBuffer + $50 - ld c, 4 -.smallStarsInnerLoop ; introduce new wave of 4 small stars OAM entries - ld a, [de] - cp $ff - jr z, .next2 - ld [hli], a ; Y - inc de - ld a, [de] - ld [hli], a ; X - inc de - inc hl - inc hl - dec c - jr nz, .smallStarsInnerLoop - ld a, [wMoveDownSmallStarsOAMCount] - cp 24 - jr z, .next2 - add 6 ; should be 4, but the extra 2 aren't visible on screen - ld [wMoveDownSmallStarsOAMCount], a -.next2 - call MoveDownSmallStars - push af - -; shift the existing OAM entries down to make room for the next wave - ld hl, wOAMBuffer + $10 - ld de, wOAMBuffer - ld bc, $50 - call CopyData - - pop af - pop hl - pop bc - ret c - dec c - jr nz, .smallStarsLoop - and a - ret - -SmallStarsOAM: - db $00,$00,$A2,$90 -SmallStarsOAMEnd: - -SmallStarsWaveCoordsPointerTable: - dw SmallStarsWave1Coords - dw SmallStarsWave2Coords - dw SmallStarsWave3Coords - dw SmallStarsWave4Coords - dw SmallStarsEmptyWave - dw SmallStarsEmptyWave - -; The stars that fall from the Gamefreak logo come in 4 waves of 4 OAM entries. -; These arrays contain the Y and X coordinates of each OAM entry. - -SmallStarsWave1Coords: - db $68,$30 - db $68,$40 - db $68,$58 - db $68,$78 - -SmallStarsWave2Coords: - db $68,$38 - db $68,$48 - db $68,$60 - db $68,$70 - -SmallStarsWave3Coords: - db $68,$34 - db $68,$4C - db $68,$54 - db $68,$64 - -SmallStarsWave4Coords: - db $68,$3C - db $68,$5C - db $68,$6C - db $68,$74 - -SmallStarsEmptyWave: - db $FF - -MoveDownSmallStars: - ld b, 8 -.loop - ld hl, wOAMBuffer + $5c - ld a, [wMoveDownSmallStarsOAMCount] - ld de, -4 - ld c, a -.innerLoop - inc [hl] ; Y - add hl, de - dec c - jr nz, .innerLoop -; Toggle the palette so that the lower star in the small stars tile blinks in -; and out. - ld a, [rOBP1] - xor %10100000 - ld [rOBP1], a - - ld c, 3 - call CheckForUserInterruption - ret c - dec b - jr nz, .loop - ret - -GameFreakLogoOAMData: - db $48,$50,$8D,$00 - db $48,$58,$8E,$00 - db $50,$50,$8F,$00 - db $50,$58,$90,$00 - db $58,$50,$91,$00 - db $58,$58,$92,$00 - db $60,$30,$80,$00 - db $60,$38,$81,$00 - db $60,$40,$82,$00 - db $60,$48,$83,$00 - db $60,$50,$93,$00 - db $60,$58,$84,$00 - db $60,$60,$85,$00 - db $60,$68,$83,$00 - db $60,$70,$81,$00 - db $60,$78,$86,$00 -GameFreakLogoOAMDataEnd: - -GameFreakShootingStarOAMData: - db $00,$A0,$A0,$10 - db $00,$A8,$A0,$30 - db $08,$A0,$A1,$10 - db $08,$A8,$A1,$30 -GameFreakShootingStarOAMDataEnd: - -FallingStar: - INCBIN "gfx/intro_credits/falling_star.2bpp" -FallingStarEnd: diff --git a/engine/get_bag_item_quantity.asm b/engine/get_bag_item_quantity.asm deleted file mode 100644 index f10df1a0..00000000 --- a/engine/get_bag_item_quantity.asm +++ /dev/null @@ -1,18 +0,0 @@ -GetQuantityOfItemInBag: -; In: b = item ID -; Out: b = how many of that item are in the bag - call GetPredefRegisters - ld hl, wNumBagItems -.loop - inc hl - ld a, [hli] - cp $ff - jr z, .notInBag - cp b - jr nz, .loop - ld a, [hl] - ld b, a - ret -.notInBag - ld b, 0 - ret diff --git a/engine/gfx/hp_bar.asm b/engine/gfx/hp_bar.asm new file mode 100755 index 00000000..221bd7a9 --- /dev/null +++ b/engine/gfx/hp_bar.asm @@ -0,0 +1,270 @@ +HPBarLength: + call GetPredefRegisters + +; calculates bc * 48 / de, the number of pixels the HP bar has +; the result is always at least 1 +GetHPBarLength: + push hl + xor a + ld hl, H_MULTIPLICAND + ld [hli], a + ld a, b + ld [hli], a + ld a, c + ld [hli], a + ld [hl], $30 + call Multiply ; 48 * bc (hp bar is 48 pixels long) + ld a, d + and a + jr z, .maxHPSmaller256 + srl d ; make HP in de fit into 1 byte by dividing by 4 + rr e + srl d + rr e + ld a, [H_MULTIPLICAND+1] + ld b, a + ld a, [H_MULTIPLICAND+2] + srl b ; divide multiplication result as well + rr a + srl b + rr a + ld [H_MULTIPLICAND+2], a + ld a, b + ld [H_MULTIPLICAND+1], a +.maxHPSmaller256 + ld a, e + ld [H_DIVISOR], a + ld b, $4 + call Divide + ld a, [H_MULTIPLICAND+2] + ld e, a ; e = bc * 48 / de (num of pixels of HP bar) + pop hl + and a + ret nz + ld e, $1 ; make result at least 1 + ret + +; predef $48 +UpdateHPBar: +UpdateHPBar2: + push hl + ld hl, wHPBarOldHP + ld a, [hli] + ld c, a ; old HP into bc + ld a, [hli] + ld b, a + ld a, [hli] + ld e, a ; new HP into de + ld d, [hl] + pop hl + push de + push bc + call UpdateHPBar_CalcHPDifference + ld a, e + ld [wHPBarHPDifference+1], a + ld a, d + ld [wHPBarHPDifference], a + pop bc + pop de + call UpdateHPBar_CompareNewHPToOldHP + ret z + ld a, $ff + jr c, .HPdecrease + ld a, $1 +.HPdecrease + ld [wHPBarDelta], a + call GetPredefRegisters + ld a, [wHPBarNewHP] + ld e, a + ld a, [wHPBarNewHP+1] + ld d, a +.animateHPBarLoop + push de + ld a, [wHPBarOldHP] + ld c, a + ld a, [wHPBarOldHP+1] + ld b, a + call UpdateHPBar_CompareNewHPToOldHP + jr z, .animateHPBarDone + jr nc, .HPIncrease +; HP decrease + dec bc ; subtract 1 HP + ld a, c + ld [wHPBarNewHP], a + ld a, b + ld [wHPBarNewHP+1], a + call UpdateHPBar_CalcOldNewHPBarPixels + ld a, e + sub d ; calc pixel difference + jr .ok +.HPIncrease + inc bc ; add 1 HP + ld a, c + ld [wHPBarNewHP], a + ld a, b + ld [wHPBarNewHP+1], a + call UpdateHPBar_CalcOldNewHPBarPixels + ld a, d + sub e ; calc pixel difference +.ok + call UpdateHPBar_PrintHPNumber + and a + jr z, .noPixelDifference + call UpdateHPBar_AnimateHPBar +.noPixelDifference + ld a, [wHPBarNewHP] + ld [wHPBarOldHP], a + ld a, [wHPBarNewHP+1] + ld [wHPBarOldHP+1], a + pop de + jr .animateHPBarLoop +.animateHPBarDone + pop de + ld a, e + ld [wHPBarOldHP], a + ld a, d + ld [wHPBarOldHP+1], a + or e + jr z, .monFainted + call UpdateHPBar_CalcOldNewHPBarPixels + ld d, e +.monFainted + call UpdateHPBar_PrintHPNumber + ld a, $1 + call UpdateHPBar_AnimateHPBar + jp Delay3 + +; animates the HP bar going up or down for (a) ticks (two waiting frames each) +; stops prematurely if bar is filled up +; e: current health (in pixels) to start with +UpdateHPBar_AnimateHPBar: + push hl +.barAnimationLoop + push af + push de + ld d, $6 + call DrawHPBar + ld c, 2 + call DelayFrames + pop de + ld a, [wHPBarDelta] ; +1 or -1 + add e + cp $31 + jr nc, .barFilledUp + ld e, a + pop af + dec a + jr nz, .barAnimationLoop + pop hl + ret +.barFilledUp + pop af + pop hl + ret + +; compares old HP and new HP and sets c and z flags accordingly +UpdateHPBar_CompareNewHPToOldHP: + ld a, d + sub b + ret nz + ld a, e + sub c + ret + +; calcs HP difference between bc and de (into de) +UpdateHPBar_CalcHPDifference: + ld a, d + sub b + jr c, .oldHPGreater + jr z, .testLowerByte +.newHPGreater + ld a, e + sub c + ld e, a + ld a, d + sbc b + ld d, a + ret +.oldHPGreater + ld a, c + sub e + ld e, a + ld a, b + sbc d + ld d, a + ret +.testLowerByte + ld a, e + sub c + jr c, .oldHPGreater + jr nz, .newHPGreater + ld de, $0 + ret + +UpdateHPBar_PrintHPNumber: + push af + push de + ld a, [wHPBarType] + and a + jr z, .done ; don't print number in enemy HUD +; convert from little-endian to big-endian for PrintNumber + ld a, [wHPBarOldHP] + ld [wHPBarTempHP + 1], a + ld a, [wHPBarOldHP + 1] + ld [wHPBarTempHP], a + push hl + ld a, [hFlags_0xFFF6] + bit 0, a + jr z, .asm_fb15 + ld de, $9 + jr .next +.asm_fb15 + ld de, $15 +.next + add hl, de + push hl + ld a, " " + ld [hli], a + ld [hli], a + ld [hli], a + pop hl + ld de, wHPBarTempHP + lb bc, 2, 3 + call PrintNumber + call DelayFrame + pop hl +.done + pop de + pop af + ret + +; calcs number of HP bar pixels for old and new HP value +; d: new pixels +; e: old pixels +UpdateHPBar_CalcOldNewHPBarPixels: + push hl + ld hl, wHPBarMaxHP + ld a, [hli] ; max HP into de + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] ; old HP into bc + ld c, a + ld a, [hli] + ld b, a + ld a, [hli] ; new HP into hl + ld h, [hl] + ld l, a + push hl + push de + call GetHPBarLength ; calc num pixels for old HP + ld a, e + pop de + pop bc + push af + call GetHPBarLength ; calc num pixels for new HP + pop af + ld d, e + ld e, a + pop hl + ret diff --git a/engine/gfx/load_pokedex_tiles.asm b/engine/gfx/load_pokedex_tiles.asm new file mode 100755 index 00000000..70bcf04d --- /dev/null +++ b/engine/gfx/load_pokedex_tiles.asm @@ -0,0 +1,11 @@ +; Loads tile patterns for tiles used in the pokedex. +LoadPokedexTilePatterns: + call LoadHpBarAndStatusTilePatterns + ld de, PokedexTileGraphics + ld hl, vChars2 + $600 + lb bc, BANK(PokedexTileGraphics), (PokedexTileGraphicsEnd - PokedexTileGraphics) / $10 + call CopyVideoData + ld de, PokeballTileGraphics + ld hl, vChars2 + $720 + lb bc, BANK(PokeballTileGraphics), $01 + jp CopyVideoData ; load pokeball tile for marking caught mons diff --git a/engine/gfx/mon_icons.asm b/engine/gfx/mon_icons.asm new file mode 100755 index 00000000..d2913715 --- /dev/null +++ b/engine/gfx/mon_icons.asm @@ -0,0 +1,295 @@ +AnimatePartyMon_ForceSpeed1: + xor a + ld [wCurrentMenuItem], a + ld b, a + inc a + jr GetAnimationSpeed + +; wPartyMenuHPBarColors contains the party mon's health bar colors +; 0: green +; 1: yellow +; 2: red +AnimatePartyMon:: + ld hl, wPartyMenuHPBarColors + ld a, [wCurrentMenuItem] + ld c, a + ld b, 0 + add hl, bc + ld a, [hl] + +GetAnimationSpeed: + ld c, a + ld hl, PartyMonSpeeds + add hl, bc + ld a, [wOnSGB] + xor $1 + add [hl] + ld c, a + add a + ld b, a + ld a, [wAnimCounter] + and a + jr z, .resetSprites + cp c + jr z, .animateSprite +.incTimer + inc a + cp b + jr nz, .skipResetTimer + xor a ; reset timer +.skipResetTimer + ld [wAnimCounter], a + jp DelayFrame +.resetSprites + push bc + ld hl, wMonPartySpritesSavedOAM + ld de, wOAMBuffer + ld bc, $60 + call CopyData + pop bc + xor a + jr .incTimer +.animateSprite + push bc + ld hl, wOAMBuffer + $02 ; OAM tile id + ld bc, $10 + ld a, [wCurrentMenuItem] + call AddNTimes + ld c, $40 ; amount to increase the tile id by + ld a, [hl] + cp $4 ; tile ID for ICON_BALL + jr z, .editCoords + cp $8 ; tile ID for ICON_HELIX + jr nz, .editTileIDS +; ICON_BALL and ICON_HELIX only shake up and down +.editCoords + dec hl + dec hl ; dec hl to the OAM y coord + ld c, $1 ; amount to increase the y coord by +; otherwise, load a second sprite frame +.editTileIDS + ld b, $4 + ld de, $4 +.loop + ld a, [hl] + add c + ld [hl], a + add hl, de + dec b + jr nz, .loop + pop bc + ld a, c + jr .incTimer + +; Party mon animations cycle between 2 frames. +; The members of the PartyMonSpeeds array specify the number of V-blanks +; that each frame lasts for green HP, yellow HP, and red HP in order. +; On the naming screen, the yellow HP speed is always used. +PartyMonSpeeds: + db 5, 16, 32 + +LoadMonPartySpriteGfx: +; Load mon party sprite tile patterns into VRAM during V-blank. + ld hl, MonPartySpritePointers + ld a, $1c + +LoadAnimSpriteGfx: +; Load animated sprite tile patterns into VRAM during V-blank. hl is the address +; of an array of structures that contain arguments for CopyVideoData and a is +; the number of structures in the array. + ld bc, $0 +.loop + push af + push bc + push hl + add hl, bc + 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 h, [hl] + ld l, a + call CopyVideoData + pop hl + pop bc + ld a, $6 + add c + ld c, a + pop af + dec a + jr nz, .loop + ret + +LoadMonPartySpriteGfxWithLCDDisabled: +; Load mon party sprite tile patterns into VRAM immediately by disabling the +; LCD. + call DisableLCD + ld hl, MonPartySpritePointers + ld a, $1c + ld bc, $0 +.loop + push af + push bc + push hl + add hl, bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + push de + ld a, [hli] + ld c, a + swap c + ld b, $0 + ld a, [hli] + ld e, [hl] + inc hl + ld d, [hl] + pop hl + call FarCopyData2 + pop hl + pop bc + ld a, $6 + add c + ld c, a + pop af + dec a + jr nz, .loop + jp EnableLCD + +INCLUDE "data/mon_party_sprite_pointers.asm" + +WriteMonPartySpriteOAMByPartyIndex: +; Write OAM blocks for the party mon in [hPartyMonIndex]. + push hl + push de + push bc + ld a, [hPartyMonIndex] + ld hl, wPartySpecies + ld e, a + ld d, 0 + add hl, de + ld a, [hl] + call GetPartyMonSpriteID + ld [wOAMBaseTile], a + call WriteMonPartySpriteOAM + pop bc + pop de + pop hl + ret + +WriteMonPartySpriteOAMBySpecies: +; Write OAM blocks for the party sprite of the species in +; [wMonPartySpriteSpecies]. + xor a + ld [hPartyMonIndex], a + ld a, [wMonPartySpriteSpecies] + call GetPartyMonSpriteID + ld [wOAMBaseTile], a + jr WriteMonPartySpriteOAM + +UnusedPartyMonSpriteFunction: +; This function is unused and doesn't appear to do anything useful. It looks +; like it may have been intended to load the tile patterns and OAM data for +; the mon party sprite associated with the species in [wcf91]. +; However, its calculations are off and it loads garbage data. + ld a, [wcf91] + call GetPartyMonSpriteID + push af + ld hl, vSprites + call .LoadTilePatterns + pop af + add $54 + ld hl, vSprites + $40 + call .LoadTilePatterns + xor a + ld [wMonPartySpriteSpecies], a + jr WriteMonPartySpriteOAMBySpecies + +.LoadTilePatterns + push hl + add a + ld c, a + ld b, 0 + ld hl, MonPartySpritePointers + add hl, bc + add hl, bc + add hl, bc + 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 + jp CopyVideoData + +WriteMonPartySpriteOAM: +; Write the OAM blocks for the first animation frame into the OAM buffer and +; make a copy at wMonPartySpritesSavedOAM. + push af + ld c, $10 + ld h, wOAMBuffer / $100 + ld a, [hPartyMonIndex] + swap a + ld l, a + add $10 + ld b, a + pop af + cp ICON_HELIX << 2 + jr z, .helix + call WriteSymmetricMonPartySpriteOAM + jr .makeCopy +.helix + call WriteAsymmetricMonPartySpriteOAM +; Make a copy of the OAM buffer with the first animation frame written so that +; we can flip back to it from the second frame by copying it back. +.makeCopy + ld hl, wOAMBuffer + ld de, wMonPartySpritesSavedOAM + ld bc, $60 + jp CopyData + +GetPartyMonSpriteID: + ld [wd11e], a + predef IndexToPokedex + ld a, [wd11e] + ld c, a + dec a + srl a + ld hl, MonPartyData + ld e, a + ld d, 0 + add hl, de + ld a, [hl] + bit 0, c + jr nz, .skipSwap + swap a ; use lower nybble if pokedex num is even +.skipSwap + and $f0 + srl a + srl a + ret + +INCLUDE "data/mon_party_sprites.asm" + +INC_FRAME_1 EQUS "0, $20" +INC_FRAME_2 EQUS "$20, $20" + +BugIconFrame1: INCBIN "gfx/icons/bug.2bpp", INC_FRAME_1 +PlantIconFrame1: INCBIN "gfx/icons/plant.2bpp", INC_FRAME_1 +BugIconFrame2: INCBIN "gfx/icons/bug.2bpp", INC_FRAME_2 +PlantIconFrame2: INCBIN "gfx/icons/plant.2bpp", INC_FRAME_2 +SnakeIconFrame1: INCBIN "gfx/icons/snake.2bpp", INC_FRAME_1 +QuadrupedIconFrame1: INCBIN "gfx/icons/quadruped.2bpp", INC_FRAME_1 +SnakeIconFrame2: INCBIN "gfx/icons/snake.2bpp", INC_FRAME_2 +QuadrupedIconFrame2: INCBIN "gfx/icons/quadruped.2bpp", INC_FRAME_2 + +TradeBubbleIconGFX: INCBIN "gfx/trade/bubble.2bpp" diff --git a/engine/gfx/oam_dma.asm b/engine/gfx/oam_dma.asm new file mode 100644 index 00000000..b0d64675 --- /dev/null +++ b/engine/gfx/oam_dma.asm @@ -0,0 +1,26 @@ +WriteDMACodeToHRAM:: +; Since no other memory is available during OAM DMA, +; DMARoutine is copied to HRAM and executed there. + ld c, $ff80 % $100 + ld b, DMARoutineEnd - DMARoutine + ld hl, DMARoutine +.copy + ld a, [hli] + ld [$ff00+c], a + inc c + dec b + jr nz, .copy + ret + +DMARoutine: + ; initiate DMA + ld a, wOAMBuffer / $100 + ld [rDMA], a + + ; wait for DMA to finish + ld a, $28 +.wait + dec a + jr nz, .wait + ret +DMARoutineEnd: diff --git a/engine/gfx/palettes.asm b/engine/gfx/palettes.asm new file mode 100755 index 00000000..39991d48 --- /dev/null +++ b/engine/gfx/palettes.asm @@ -0,0 +1,641 @@ +_RunPaletteCommand: + call GetPredefRegisters + ld a, b + cp $ff + jr nz, .next + ld a, [wDefaultPaletteCommand] ; use default command if command ID is $ff +.next + cp UPDATE_PARTY_MENU_BLK_PACKET + jp z, UpdatePartyMenuBlkPacket + ld l, a + ld h, 0 + add hl, hl + ld de, SetPalFunctions + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + ld de, SendSGBPackets + push de + jp hl + +SetPal_BattleBlack: + ld hl, PalPacket_Black + ld de, BlkPacket_Battle + ret + +; uses PalPacket_Empty to build a packet based on mon IDs and health color +SetPal_Battle: + ld hl, PalPacket_Empty + ld de, wPalPacket + ld bc, $10 + call CopyData + ld a, [wPlayerBattleStatus3] + ld hl, wBattleMonSpecies + call DeterminePaletteID + ld b, a + ld a, [wEnemyBattleStatus3] + ld hl, wEnemyMonSpecies2 + call DeterminePaletteID + ld c, a + ld hl, wPalPacket + 1 + ld a, [wPlayerHPBarColor] + add PAL_GREENBAR + ld [hli], a + inc hl + ld a, [wEnemyHPBarColor] + add PAL_GREENBAR + ld [hli], a + inc hl + ld a, b + ld [hli], a + inc hl + ld a, c + ld [hl], a + ld hl, wPalPacket + ld de, BlkPacket_Battle + ld a, SET_PAL_BATTLE + ld [wDefaultPaletteCommand], a + ret + +SetPal_TownMap: + ld hl, PalPacket_TownMap + ld de, BlkPacket_WholeScreen + ret + +; uses PalPacket_Empty to build a packet based the mon ID +SetPal_StatusScreen: + ld hl, PalPacket_Empty + ld de, wPalPacket + ld bc, $10 + call CopyData + ld a, [wcf91] + cp NUM_POKEMON_INDEXES + 1 + jr c, .pokemon + ld a, $1 ; not pokemon +.pokemon + call DeterminePaletteIDOutOfBattle + push af + ld hl, wPalPacket + 1 + ld a, [wStatusScreenHPBarColor] + add PAL_GREENBAR + ld [hli], a + inc hl + pop af + ld [hl], a + ld hl, wPalPacket + ld de, BlkPacket_StatusScreen + ret + +SetPal_PartyMenu: + ld hl, PalPacket_PartyMenu + ld de, wPartyMenuBlkPacket + ret + +SetPal_Pokedex: + ld hl, PalPacket_Pokedex + ld de, wPalPacket + ld bc, $10 + call CopyData + ld a, [wcf91] + call DeterminePaletteIDOutOfBattle + ld hl, wPalPacket + 3 + ld [hl], a + ld hl, wPalPacket + ld de, BlkPacket_Pokedex + ret + +SetPal_Slots: + ld hl, PalPacket_Slots + ld de, BlkPacket_Slots + ret + +SetPal_TitleScreen: + ld hl, PalPacket_Titlescreen + ld de, BlkPacket_Titlescreen + ret + +; used mostly for menus and the Oak intro +SetPal_Generic: + ld hl, PalPacket_Generic + ld de, BlkPacket_WholeScreen + ret + +SetPal_NidorinoIntro: + ld hl, PalPacket_NidorinoIntro + ld de, BlkPacket_NidorinoIntro + ret + +SetPal_GameFreakIntro: + ld hl, PalPacket_GameFreakIntro + ld de, BlkPacket_GameFreakIntro + ld a, SET_PAL_GENERIC + ld [wDefaultPaletteCommand], a + ret + +; uses PalPacket_Empty to build a packet based on the current map +SetPal_Overworld: + ld hl, PalPacket_Empty + ld de, wPalPacket + ld bc, $10 + call CopyData + ld a, [wCurMapTileset] + cp CEMETERY + jr z, .PokemonTowerOrAgatha + cp CAVERN + jr z, .caveOrBruno + ld a, [wCurMap] + cp REDS_HOUSE_1F + jr c, .townOrRoute + cp CERULEAN_CAVE_2F + jr c, .normalDungeonOrBuilding + cp NAME_RATERS_HOUSE + jr c, .caveOrBruno + cp LORELEIS_ROOM + jr z, .Lorelei + cp BRUNOS_ROOM + jr z, .caveOrBruno +.normalDungeonOrBuilding + ld a, [wLastMap] ; town or route that current dungeon or building is located +.townOrRoute + cp SAFFRON_CITY + 1 + jr c, .town + ld a, PAL_ROUTE - 1 +.town + inc a ; a town's palette ID is its map ID + 1 + ld hl, wPalPacket + 1 + ld [hld], a + ld de, BlkPacket_WholeScreen + ld a, SET_PAL_OVERWORLD + ld [wDefaultPaletteCommand], a + ret +.PokemonTowerOrAgatha + ld a, PAL_GREYMON - 1 + jr .town +.caveOrBruno + ld a, PAL_CAVE - 1 + jr .town +.Lorelei + xor a + jr .town + +; used when a Pokemon is the only thing on the screen +; such as evolution, trading and the Hall of Fame +SetPal_PokemonWholeScreen: + push bc + ld hl, PalPacket_Empty + ld de, wPalPacket + ld bc, $10 + call CopyData + pop bc + ld a, c + and a + ld a, PAL_BLACK + jr nz, .next + ld a, [wWholeScreenPaletteMonSpecies] + call DeterminePaletteIDOutOfBattle +.next + ld [wPalPacket + 1], a + ld hl, wPalPacket + ld de, BlkPacket_WholeScreen + ret + +SetPal_TrainerCard: + ld hl, BlkPacket_TrainerCard + ld de, wTrainerCardBlkPacket + ld bc, $40 + call CopyData + ld de, BadgeBlkDataLengths + ld hl, wTrainerCardBlkPacket + 2 + ld a, [wObtainedBadges] + ld c, 8 +.badgeLoop + srl a + push af + jr c, .haveBadge +; The player doens't have the badge, so zero the badge's blk data. + push bc + ld a, [de] + ld c, a + xor a +.zeroBadgeDataLoop + ld [hli], a + dec c + jr nz, .zeroBadgeDataLoop + pop bc + jr .nextBadge +.haveBadge +; The player does have the badge, so skip past the badge's blk data. + ld a, [de] +.skipBadgeDataLoop + inc hl + dec a + jr nz, .skipBadgeDataLoop +.nextBadge + pop af + inc de + dec c + jr nz, .badgeLoop + ld hl, PalPacket_TrainerCard + ld de, wTrainerCardBlkPacket + ret + +SetPalFunctions: + dw SetPal_BattleBlack + dw SetPal_Battle + dw SetPal_TownMap + dw SetPal_StatusScreen + dw SetPal_Pokedex + dw SetPal_Slots + dw SetPal_TitleScreen + dw SetPal_NidorinoIntro + dw SetPal_Generic + dw SetPal_Overworld + dw SetPal_PartyMenu + dw SetPal_PokemonWholeScreen + dw SetPal_GameFreakIntro + dw SetPal_TrainerCard + +; The length of the blk data of each badge on the Trainer Card. +; The Rainbow Badge has 3 entries because of its many colors. +BadgeBlkDataLengths: + db 6 ; Boulder Badge + db 6 ; Cascade Badge + db 6 ; Thunder Badge + db 6 * 3 ; Rainbow Badge + db 6 ; Soul Badge + db 6 ; Marsh Badge + db 6 ; Volcano Badge + db 6 ; Earth Badge + +DeterminePaletteID: + bit TRANSFORMED, a ; a is battle status 3 + ld a, PAL_GREYMON ; if the mon has used Transform, use Ditto's palette + ret nz + ld a, [hl] +DeterminePaletteIDOutOfBattle: + ld [wd11e], a + and a ; is the mon index 0? + jr z, .skipDexNumConversion + push bc + predef IndexToPokedex + pop bc + ld a, [wd11e] +.skipDexNumConversion + ld e, a + ld d, 0 + ld hl, MonsterPalettes ; not just for Pokemon, Trainers use it too + add hl, de + ld a, [hl] + ret + +InitPartyMenuBlkPacket: + ld hl, BlkPacket_PartyMenu + ld de, wPartyMenuBlkPacket + ld bc, $30 + jp CopyData + +UpdatePartyMenuBlkPacket: +; Update the blk packet with the palette of the HP bar that is +; specified in [wWhichPartyMenuHPBar]. + ld hl, wPartyMenuHPBarColors + ld a, [wWhichPartyMenuHPBar] + ld e, a + ld d, 0 + add hl, de + ld e, l + ld d, h + ld a, [de] + and a + ld e, (1 << 2) | 1 ; green + jr z, .next + dec a + ld e, (2 << 2) | 2 ; yellow + jr z, .next + ld e, (3 << 2) | 3 ; red +.next + push de + ld hl, wPartyMenuBlkPacket + 8 + 1 + ld bc, 6 + ld a, [wWhichPartyMenuHPBar] + call AddNTimes + pop de + ld [hl], e + ret + +SendSGBPacket: +;check number of packets + ld a, [hl] + and $07 + ret z +; store number of packets in B + ld b, a +.loop2 +; save B for later use + push bc +; disable ReadJoypad to prevent it from interfering with sending the packet + ld a, 1 + ld [hDisableJoypadPolling], a +; send RESET signal (P14=LOW, P15=LOW) + xor a + ld [rJOYP], a +; set P14=HIGH, P15=HIGH + ld a, $30 + ld [rJOYP], a +;load length of packets (16 bytes) + ld b, $10 +.nextByte +;set bit counter (8 bits per byte) + ld e, $08 +; get next byte in the packet + ld a, [hli] + ld d, a +.nextBit0 + bit 0, d +; if 0th bit is not zero set P14=HIGH,P15=LOW (send bit 1) + ld a, $10 + jr nz, .next0 +; else (if 0th bit is zero) set P14=LOW,P15=HIGH (send bit 0) + ld a, $20 +.next0 + ld [rJOYP], a +; must set P14=HIGH,P15=HIGH between each "pulse" + ld a, $30 + ld [rJOYP], a +; rotation will put next bit in 0th position (so we can always use command +; "bit 0,d" to fetch the bit that has to be sent) + rr d +; decrease bit counter so we know when we have sent all 8 bits of current byte + dec e + jr nz, .nextBit0 + dec b + jr nz, .nextByte +; send bit 1 as a "stop bit" (end of parameter data) + ld a, $20 + ld [rJOYP], a +; set P14=HIGH,P15=HIGH + ld a, $30 + ld [rJOYP], a + xor a + ld [hDisableJoypadPolling], a +; wait for about 70000 cycles + call Wait7000 +; restore (previously pushed) number of packets + pop bc + dec b +; return if there are no more packets + ret z +; else send 16 more bytes + jr .loop2 + +LoadSGB: + xor a + ld [wOnSGB], a + call CheckSGB + ret nc + ld a, 1 + ld [wOnSGB], a + ld a, [wGBC] + and a + jr z, .notGBC + ret +.notGBC + di + call PrepareSuperNintendoVRAMTransfer + ei + ld a, 1 + ld [wCopyingSGBTileData], a + ld de, ChrTrnPacket + ld hl, SGBBorderGraphics + call CopyGfxToSuperNintendoVRAM + xor a + ld [wCopyingSGBTileData], a + ld de, PctTrnPacket + ld hl, BorderPalettes + call CopyGfxToSuperNintendoVRAM + xor a + ld [wCopyingSGBTileData], a + ld de, PalTrnPacket + ld hl, SuperPalettes + call CopyGfxToSuperNintendoVRAM + call ClearVram + ld hl, MaskEnCancelPacket + jp SendSGBPacket + +PrepareSuperNintendoVRAMTransfer: + ld hl, .packetPointers + ld c, 9 +.loop + push bc + ld a, [hli] + push hl + ld h, [hl] + ld l, a + call SendSGBPacket + pop hl + inc hl + pop bc + dec c + jr nz, .loop + ret + +.packetPointers +; Only the first packet is needed. + dw MaskEnFreezePacket + dw DataSnd_72548 + dw DataSnd_72558 + dw DataSnd_72568 + dw DataSnd_72578 + dw DataSnd_72588 + dw DataSnd_72598 + dw DataSnd_725a8 + dw DataSnd_725b8 + +CheckSGB: +; Returns whether the game is running on an SGB in carry. + ld hl, MltReq2Packet + di + call SendSGBPacket + ld a, 1 + ld [hDisableJoypadPolling], a + ei + call Wait7000 + ld a, [rJOYP] + and $3 + cp $3 + jr nz, .isSGB + ld a, $20 + ld [rJOYP], a + ld a, [rJOYP] + ld a, [rJOYP] + call Wait7000 + call Wait7000 + ld a, $30 + ld [rJOYP], a + call Wait7000 + call Wait7000 + ld a, $10 + ld [rJOYP], a + ld a, [rJOYP] + ld a, [rJOYP] + ld a, [rJOYP] + ld a, [rJOYP] + ld a, [rJOYP] + ld a, [rJOYP] + call Wait7000 + call Wait7000 + ld a, $30 + ld [rJOYP], a + ld a, [rJOYP] + ld a, [rJOYP] + ld a, [rJOYP] + call Wait7000 + call Wait7000 + ld a, [rJOYP] + and $3 + cp $3 + jr nz, .isSGB + call SendMltReq1Packet + and a + ret +.isSGB + call SendMltReq1Packet + scf + ret + +SendMltReq1Packet: + ld hl, MltReq1Packet + call SendSGBPacket + jp Wait7000 + +CopyGfxToSuperNintendoVRAM: + di + push de + call DisableLCD + ld a, $e4 + ld [rBGP], a + ld de, vChars1 + ld a, [wCopyingSGBTileData] + and a + jr z, .notCopyingTileData + call CopySGBBorderTiles + jr .next +.notCopyingTileData + ld bc, $1000 + call CopyData +.next + ld hl, vBGMap0 + ld de, $c + ld a, $80 + ld c, $d +.loop + ld b, $14 +.innerLoop + ld [hli], a + inc a + dec b + jr nz, .innerLoop + add hl, de + dec c + jr nz, .loop + ld a, $e3 + ld [rLCDC], a + pop hl + call SendSGBPacket + xor a + ld [rBGP], a + ei + ret + +Wait7000: +; Each loop takes 9 cycles so this routine actually waits 63000 cycles. + ld de, 7000 +.loop + nop + nop + nop + dec de + ld a, d + or e + jr nz, .loop + ret + +SendSGBPackets: + ld a, [wGBC] + and a + jr z, .notGBC + push de + call InitGBCPalettes + pop hl + call EmptyFunc5 + ret +.notGBC + push de + call SendSGBPacket + pop hl + jp SendSGBPacket + +InitGBCPalettes: + ld a, $80 ; index 0 with auto-increment + ld [rBGPI], a + inc hl + ld c, $20 +.loop + ld a, [hli] + inc hl + add a + add a + add a + ld de, SuperPalettes + add e + jr nc, .noCarry + inc d +.noCarry + ld a, [de] + ld [rBGPD], a + dec c + jr nz, .loop + ret + +EmptyFunc5: + ret + +CopySGBBorderTiles: +; SGB tile data is stored in a 4BPP planar format. +; Each tile is 32 bytes. The first 16 bytes contain bit planes 1 and 2, while +; the second 16 bytes contain bit planes 3 and 4. +; This function converts 2BPP planar data into this format by mapping +; 2BPP colors 0-3 to 4BPP colors 0-3. 4BPP colors 4-15 are not used. + ld b, 128 + +.tileLoop + +; Copy bit planes 1 and 2 of the tile data. + ld c, 16 +.copyLoop + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .copyLoop + +; Zero bit planes 3 and 4. + ld c, 16 + xor a +.zeroLoop + ld [de], a + inc de + dec c + jr nz, .zeroLoop + + dec b + jr nz, .tileLoop + ret + +INCLUDE "data/sgb_packets.asm" + +INCLUDE "data/mon_palettes.asm" + +INCLUDE "data/super_palettes.asm" + +INCLUDE "data/sgb_border.asm" diff --git a/engine/gfx/screen_effects.asm b/engine/gfx/screen_effects.asm new file mode 100755 index 00000000..95f0ea25 --- /dev/null +++ b/engine/gfx/screen_effects.asm @@ -0,0 +1,71 @@ +; b = new colour for BG colour 0 (usually white) for 4 frames +ChangeBGPalColor0_4Frames: + call GetPredefRegisters + ld a, [rBGP] + or b + ld [rBGP], a + ld c, 4 + call DelayFrames + ld a, [rBGP] + and %11111100 + ld [rBGP], a + ret + +PredefShakeScreenVertically: +; Moves the window down and then back in a sequence of progressively smaller +; numbers of pixels, starting at b. + call GetPredefRegisters + ld a, 1 + ld [wDisableVBlankWYUpdate], a + xor a +.loop + ld [$ff96], a + call .MutateWY + call .MutateWY + dec b + ld a, b + jr nz, .loop + xor a + ld [wDisableVBlankWYUpdate], a + ret + +.MutateWY + ld a, [$ff96] + xor b + ld [$ff96], a + ld [rWY], a + ld c, 3 + jp DelayFrames + +PredefShakeScreenHorizontally: +; Moves the window right and then back in a sequence of progressively smaller +; numbers of pixels, starting at b. + call GetPredefRegisters + xor a +.loop + ld [$ff97], a + call .MutateWX + ld c, 1 + call DelayFrames + call .MutateWX + dec b + ld a, b + jr nz, .loop + +; restore normal WX + ld a, 7 + ld [rWX], a + ret + +.MutateWX + ld a, [$ff97] + xor b + ld [$ff97], a + bit 7, a + jr z, .skipZeroing + xor a ; zero a if it's negative +.skipZeroing + add 7 + ld [rWX], a + ld c, 4 + jp DelayFrames diff --git a/engine/gfx/sprite_oam.asm b/engine/gfx/sprite_oam.asm new file mode 100644 index 00000000..68128413 --- /dev/null +++ b/engine/gfx/sprite_oam.asm @@ -0,0 +1,189 @@ +PrepareOAMData:: +; Determine OAM data for currently visible +; sprites and write it to wOAMBuffer. + + ld a, [wUpdateSpritesEnabled] + dec a + jr z, .updateEnabled + + cp -1 + ret nz + ld [wUpdateSpritesEnabled], a + jp HideSprites + +.updateEnabled + xor a + ld [hOAMBufferOffset], a + +.spriteLoop + ld [hSpriteOffset2], a + + ld d, wSpriteStateData1 / $100 + ld a, [hSpriteOffset2] + ld e, a + ld a, [de] ; c1x0 + and a + jp z, .nextSprite + + inc e + inc e + ld a, [de] ; c1x2 (facing/anim) + ld [wd5cd], a + cp $ff ; off-screen (don't draw) + jr nz, .visible + + call GetSpriteScreenXY + jr .nextSprite + +.visible + cp $a0 ; is the sprite unchanging like an item ball or boulder? + jr c, .usefacing + +; unchanging + and $f + add $10 ; skip to the second half of the table which doesn't account for facing direction + jr .next + +.usefacing + and $f + +.next + ld l, a + +; get sprite priority + push de + inc d + ld a, e + add $5 + ld e, a + ld a, [de] ; c2x7 + and $80 + ld [hSpritePriority], a ; temp store sprite priority + pop de + +; read the entry from the table + ld h, 0 + ld bc, SpriteFacingAndAnimationTable + add hl, hl + add hl, hl + add hl, bc + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld a, [hli] + ld h, [hl] + ld l, a + + call GetSpriteScreenXY + + ld a, [hOAMBufferOffset] + ld e, a + ld d, wOAMBuffer / $100 + +.tileLoop + ld a, [hSpriteScreenY] ; temp for sprite Y position + add $10 ; Y=16 is top of screen (Y=0 is invisible) + add [hl] ; add Y offset from table + ld [de], a ; write new sprite OAM Y position + inc hl + ld a, [hSpriteScreenX] ; temp for sprite X position + add $8 ; X=8 is left of screen (X=0 is invisible) + add [hl] ; add X offset from table + inc e + ld [de], a ; write new sprite OAM X position + inc e + ld a, [bc] ; read pattern number offset (accommodates orientation (offset 0,4 or 8) and animation (offset 0 or $80)) + inc bc + push bc + ld b, a + + ld a, [wd5cd] ; temp copy of c1x2 + swap a ; high nybble determines sprite used (0 is always player sprite, next are some npcs) + and $f + + ; Sprites $a and $b have one face (and therefore 4 tiles instead of 12). + ; As a result, sprite $b's tile offset is less than normal. + cp $b + jr nz, .notFourTileSprite + ld a, $a * 12 + 4 + jr .next2 + +.notFourTileSprite + ; a *= 12 + sla a + sla a + ld c, a + sla a + add c + +.next2 + add b ; add the tile offset from the table (based on frame and facing direction) + pop bc + ld [de], a ; tile id + inc hl + inc e + ld a, [hl] + bit 1, a ; is the tile allowed to set the sprite priority bit? + jr z, .skipPriority + ld a, [hSpritePriority] + or [hl] +.skipPriority + inc hl + ld [de], a + inc e + bit 0, a ; OAMFLAG_ENDOFDATA + jr z, .tileLoop + + ld a, e + ld [hOAMBufferOffset], a + +.nextSprite + ld a, [hSpriteOffset2] + add $10 + cp $100 % $100 + jp nz, .spriteLoop + + ; Clear unused OAM. + ld a, [hOAMBufferOffset] + ld l, a + ld h, wOAMBuffer / $100 + ld de, $4 + ld b, $a0 + ld a, [wd736] + bit 6, a ; jumping down ledge or fishing animation? + ld a, $a0 + jr z, .clear + +; Don't clear the last 4 entries because they are used for the shadow in the +; jumping down ledge animation and the rod in the fishing animation. + ld a, $90 + +.clear + cp l + ret z + ld [hl], b + add hl, de + jr .clear + +GetSpriteScreenXY: + inc e + inc e + ld a, [de] ; c1x4 + ld [hSpriteScreenY], a + inc e + inc e + ld a, [de] ; c1x6 + ld [hSpriteScreenX], a + ld a, 4 + add e + ld e, a + ld a, [hSpriteScreenY] + add 4 + and $f0 + ld [de], a ; c1xa (y) + inc e + ld a, [hSpriteScreenX] + and $f0 + ld [de], a ; c1xb (x) + ret diff --git a/engine/give_pokemon.asm b/engine/give_pokemon.asm deleted file mode 100755 index 03177e60..00000000 --- a/engine/give_pokemon.asm +++ /dev/null @@ -1,82 +0,0 @@ -_GivePokemon:: -; returns success in carry -; and whether the mon was added to the party in [wAddedToParty] - call EnableAutoTextBoxDrawing - xor a - ld [wAddedToParty], a - ld a, [wPartyCount] - cp PARTY_LENGTH - jr c, .addToParty - ld a, [wNumInBox] - cp MONS_PER_BOX - jr nc, .boxFull -; add to box - xor a - ld [wEnemyBattleStatus3], a - ld a, [wcf91] - ld [wEnemyMonSpecies2], a - callab LoadEnemyMonData - call SetPokedexOwnedFlag - callab SendNewMonToBox - ld hl, wcf4b - ld a, [wCurrentBoxNum] - and $7f - cp 9 - jr c, .singleDigitBoxNum - sub 9 - ld [hl], "1" - inc hl - add "0" - jr .next -.singleDigitBoxNum - add "1" -.next - ld [hli], a - ld [hl], "@" - ld hl, SentToBoxText - call PrintText - scf - ret -.boxFull - ld hl, BoxIsFullText - call PrintText - and a - ret -.addToParty - call SetPokedexOwnedFlag - call AddPartyMon - ld a, 1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld [wAddedToParty], a - scf - ret - -SetPokedexOwnedFlag: - ld a, [wcf91] - push af - ld [wd11e], a - predef IndexToPokedex - ld a, [wd11e] - dec a - ld c, a - ld hl, wPokedexOwned - ld b, FLAG_SET - predef FlagActionPredef - pop af - ld [wd11e], a - call GetMonName - ld hl, GotMonText - jp PrintText - -GotMonText: - TX_FAR _GotMonText - TX_SFX_ITEM_1 - db "@" - -SentToBoxText: - TX_FAR _SentToBoxText - db "@" - -BoxIsFullText: - TX_FAR _BoxIsFullText - db "@" diff --git a/engine/hall_of_fame.asm b/engine/hall_of_fame.asm deleted file mode 100755 index 3c9b1723..00000000 --- a/engine/hall_of_fame.asm +++ /dev/null @@ -1,288 +0,0 @@ -AnimateHallOfFame: - call HoFFadeOutScreenAndMusic - call ClearScreen - ld c, 100 - call DelayFrames - call LoadFontTilePatterns - call LoadTextBoxTilePatterns - call DisableLCD - ld hl, vBGMap0 - ld bc, $800 - ld a, " " - call FillMemory - call EnableLCD - ld hl, rLCDC - set 3, [hl] - xor a - ld hl, wHallOfFame - ld bc, HOF_TEAM - call FillMemory - xor a - ld [wUpdateSpritesEnabled], a - ld [hTilesetType], a - ld [wSpriteFlipped], a - ld [wLetterPrintingDelayFlags], a ; no delay - ld [wHoFMonOrPlayer], a ; mon - inc a - ld [H_AUTOBGTRANSFERENABLED], a - ld hl, wNumHoFTeams - ld a, [hl] - inc a - jr z, .skipInc ; don't wrap around to 0 - inc [hl] -.skipInc - ld a, $90 - ld [hWY], a - ld c, BANK(Music_HallOfFame) - ld a, MUSIC_HALL_OF_FAME - call PlayMusic - ld hl, wPartySpecies - ld c, $ff -.partyMonLoop - ld a, [hli] - cp $ff - jr z, .doneShowingParty - inc c - push hl - push bc - ld [wHoFMonSpecies], a - ld a, c - ld [wHoFPartyMonIndex], a - ld hl, wPartyMon1Level - ld bc, wPartyMon2 - wPartyMon1 - call AddNTimes - ld a, [hl] - ld [wHoFMonLevel], a - call HoFShowMonOrPlayer - call HoFDisplayAndRecordMonInfo - ld c, 80 - call DelayFrames - coord hl, 2, 13 - ld b, 3 - ld c, 14 - call TextBoxBorder - coord hl, 4, 15 - ld de, HallOfFameText - call PlaceString - ld c, 180 - call DelayFrames - call GBFadeOutToWhite - pop bc - pop hl - jr .partyMonLoop -.doneShowingParty - ld a, c - inc a - ld hl, wHallOfFame - ld bc, HOF_MON - call AddNTimes - ld [hl], $ff - call SaveHallOfFameTeams - xor a - ld [wHoFMonSpecies], a - inc a - ld [wHoFMonOrPlayer], a ; player - call HoFShowMonOrPlayer - call HoFDisplayPlayerStats - call HoFFadeOutScreenAndMusic - xor a - ld [hWY], a - ld hl, rLCDC - res 3, [hl] - ret - -HallOfFameText: - db "HALL OF FAME@" - -HoFShowMonOrPlayer: - call ClearScreen - ld a, $d0 - ld [hSCY], a - ld a, $c0 - ld [hSCX], a - ld a, [wHoFMonSpecies] - ld [wcf91], a - ld [wd0b5], a - ld [wBattleMonSpecies2], a - ld [wWholeScreenPaletteMonSpecies], a - ld a, [wHoFMonOrPlayer] - and a - jr z, .showMon -; show player - call HoFLoadPlayerPics - jr .next1 -.showMon - coord hl, 12, 5 - call GetMonHeader - call LoadFrontSpriteByMonIndex - predef LoadMonBackPic -.next1 - ld b, SET_PAL_POKEMON_WHOLE_SCREEN - ld c, 0 - call RunPaletteCommand - ld a, %11100100 - ld [rBGP], a - ld c, $31 ; back pic - call HoFLoadMonPlayerPicTileIDs - ld d, $a0 - ld e, 4 - ld a, [wOnSGB] - and a - jr z, .next2 - sla e ; scroll more slowly on SGB -.next2 - call .ScrollPic ; scroll back pic left - xor a - ld [hSCY], a - ld c, a ; front pic - call HoFLoadMonPlayerPicTileIDs - ld d, 0 - ld e, -4 -; scroll front pic right - -.ScrollPic - call DelayFrame - ld a, [hSCX] - add e - ld [hSCX], a - cp d - jr nz, .ScrollPic - ret - -HoFDisplayAndRecordMonInfo: - ld a, [wHoFPartyMonIndex] - ld hl, wPartyMonNicks - call GetPartyMonName - call HoFDisplayMonInfo - jp HoFRecordMonInfo - -HoFDisplayMonInfo: - coord hl, 0, 2 - ld b, 9 - ld c, 10 - call TextBoxBorder - coord hl, 2, 6 - ld de, HoFMonInfoText - call PlaceString - coord hl, 1, 4 - ld de, wcd6d - call PlaceString - ld a, [wHoFMonLevel] - coord hl, 8, 7 - call PrintLevelCommon - ld a, [wHoFMonSpecies] - ld [wd0b5], a - coord hl, 3, 9 - predef PrintMonType - ld a, [wHoFMonSpecies] - jp PlayCry - -HoFMonInfoText: - db "LEVEL/" - next "TYPE1/" - next "TYPE2/@" - -HoFLoadPlayerPics: - ld de, RedPicFront - ld a, BANK(RedPicFront) - call UncompressSpriteFromDE - ld hl, sSpriteBuffer1 - ld de, sSpriteBuffer0 - ld bc, $310 - call CopyData - ld de, vFrontPic - call InterlaceMergeSpriteBuffers - ld de, RedPicBack - ld a, BANK(RedPicBack) - call UncompressSpriteFromDE - predef ScaleSpriteByTwo - ld de, vBackPic - call InterlaceMergeSpriteBuffers - ld c, $1 - -HoFLoadMonPlayerPicTileIDs: -; c = base tile ID - ld b, 0 - coord hl, 12, 5 - predef_jump CopyTileIDsFromList - -HoFDisplayPlayerStats: - SetEvent EVENT_HALL_OF_FAME_DEX_RATING - predef DisplayDexRating - coord hl, 0, 4 - ld b, 6 - ld c, 10 - call TextBoxBorder - coord hl, 5, 0 - ld b, 2 - ld c, 9 - call TextBoxBorder - coord hl, 7, 2 - ld de, wPlayerName - call PlaceString - coord hl, 1, 6 - ld de, HoFPlayTimeText - call PlaceString - coord hl, 5, 7 - ld de, wPlayTimeHours - lb bc, 1, 3 - call PrintNumber - ld [hl], $6d - inc hl - ld de, wPlayTimeMinutes - lb bc, LEADING_ZEROES | 1, 2 - call PrintNumber - coord hl, 1, 9 - ld de, HoFMoneyText - call PlaceString - coord hl, 4, 10 - ld de, wPlayerMoney - ld c, $a3 - call PrintBCDNumber - ld hl, DexSeenOwnedText - call HoFPrintTextAndDelay - ld hl, DexRatingText - call HoFPrintTextAndDelay - ld hl, wDexRatingText - -HoFPrintTextAndDelay: - call PrintText - ld c, 120 - jp DelayFrames - -HoFPlayTimeText: - db "PLAY TIME@" - -HoFMoneyText: - db "MONEY@" - -DexSeenOwnedText: - TX_FAR _DexSeenOwnedText - db "@" - -DexRatingText: - TX_FAR _DexRatingText - db "@" - -HoFRecordMonInfo: - ld hl, wHallOfFame - ld bc, HOF_MON - ld a, [wHoFPartyMonIndex] - call AddNTimes - ld a, [wHoFMonSpecies] - ld [hli], a - ld a, [wHoFMonLevel] - ld [hli], a - ld e, l - ld d, h - ld hl, wcd6d - ld bc, NAME_LENGTH - jp CopyData - -HoFFadeOutScreenAndMusic: - ld a, 10 - ld [wAudioFadeOutCounterReloadValue], a - ld [wAudioFadeOutCounter], a - ld a, $ff - ld [wAudioFadeOutControl], a - jp GBFadeOutToWhite diff --git a/engine/heal_party.asm b/engine/heal_party.asm deleted file mode 100644 index 7aaa1bd1..00000000 --- a/engine/heal_party.asm +++ /dev/null @@ -1,99 +0,0 @@ -HealParty: -; Restore HP and PP. - - ld hl, wPartySpecies - ld de, wPartyMon1HP -.healmon - ld a, [hli] - cp $ff - jr z, .done - - push hl - push de - - ld hl, wPartyMon1Status - wPartyMon1HP - add hl, de - xor a - ld [hl], a - - push de - ld b, NUM_MOVES ; A Pokémon has 4 moves -.pp - ld hl, wPartyMon1Moves - wPartyMon1HP - add hl, de - - ld a, [hl] - and a - jr z, .nextmove - - dec a - ld hl, wPartyMon1PP - wPartyMon1HP - add hl, de - - push hl - push de - push bc - - ld hl, Moves - ld bc, MoveEnd - Moves - call AddNTimes - ld de, wcd6d - ld a, BANK(Moves) - call FarCopyData - ld a, [wcd6d + 5] ; PP is byte 5 of move data - - pop bc - pop de - pop hl - - inc de - push bc - ld b, a - ld a, [hl] - and $c0 - add b - ld [hl], a - pop bc - -.nextmove - dec b - jr nz, .pp - pop de - - ld hl, wPartyMon1MaxHP - wPartyMon1HP - add hl, de - ld a, [hli] - ld [de], a - inc de - ld a, [hl] - ld [de], a - - pop de - pop hl - - push hl - ld bc, wPartyMon2 - wPartyMon1 - ld h, d - ld l, e - add hl, bc - ld d, h - ld e, l - pop hl - jr .healmon - -.done - xor a - ld [wWhichPokemon], a - ld [wd11e], a - - ld a, [wPartyCount] - ld b, a -.ppup - push bc - call RestoreBonusPP - pop bc - ld hl, wWhichPokemon - inc [hl] - dec b - jr nz, .ppup - ret diff --git a/engine/hidden_object_functions14.asm b/engine/hidden_object_functions14.asm deleted file mode 100755 index 9e14c6a7..00000000 --- a/engine/hidden_object_functions14.asm +++ /dev/null @@ -1,100 +0,0 @@ -PrintNotebookText: - call EnableAutoTextBoxDrawing - ld a, $1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld a, [wHiddenObjectFunctionArgument] - jp PrintPredefTextID - -TMNotebook:: - TX_FAR TMNotebookText - TX_WAIT - db "@" - -ViridianSchoolNotebook:: - TX_ASM - ld hl, ViridianSchoolNotebookText1 - call PrintText - call TurnPageSchoolNotebook - jr nz, .doneReading - ld hl, ViridianSchoolNotebookText2 - call PrintText - call TurnPageSchoolNotebook - jr nz, .doneReading - ld hl, ViridianSchoolNotebookText3 - call PrintText - call TurnPageSchoolNotebook - jr nz, .doneReading - ld hl, ViridianSchoolNotebookText4 - call PrintText - ld hl, ViridianSchoolNotebookText5 - call PrintText -.doneReading - jp TextScriptEnd - -TurnPageSchoolNotebook: - ld hl, TurnPageText - call PrintText - call YesNoChoice - ld a, [wCurrentMenuItem] - and a - ret - -TurnPageText: - TX_FAR _TurnPageText - db "@" - -ViridianSchoolNotebookText5: - TX_FAR _ViridianSchoolNotebookText5 - TX_WAIT - db "@" - -ViridianSchoolNotebookText1: - TX_FAR _ViridianSchoolNotebookText1 - db "@" - -ViridianSchoolNotebookText2: - TX_FAR _ViridianSchoolNotebookText2 - db "@" - -ViridianSchoolNotebookText3: - TX_FAR _ViridianSchoolNotebookText3 - db "@" - -ViridianSchoolNotebookText4: - TX_FAR _ViridianSchoolNotebookText4 - db "@" - -PrintFightingDojoText2: - call EnableAutoTextBoxDrawing - tx_pre_jump EnemiesOnEverySideText - -EnemiesOnEverySideText:: - TX_FAR _EnemiesOnEverySideText - db "@" - -PrintFightingDojoText3: - call EnableAutoTextBoxDrawing - tx_pre_jump WhatGoesAroundComesAroundText - -WhatGoesAroundComesAroundText:: - TX_FAR _WhatGoesAroundComesAroundText - db "@" - -PrintFightingDojoText: - call EnableAutoTextBoxDrawing - tx_pre_jump FightingDojoText - -FightingDojoText:: - TX_FAR _FightingDojoText - db "@" - -PrintIndigoPlateauHQText: - ld a, [wSpriteStateData1 + 9] - cp SPRITE_FACING_UP - ret nz - call EnableAutoTextBoxDrawing - tx_pre_jump IndigoPlateauHQText - -IndigoPlateauHQText:: - TX_FAR _IndigoPlateauHQText - db "@" diff --git a/engine/hidden_object_functions17.asm b/engine/hidden_object_functions17.asm deleted file mode 100755 index bb2a358c..00000000 --- a/engine/hidden_object_functions17.asm +++ /dev/null @@ -1,475 +0,0 @@ -PrintRedSNESText: - call EnableAutoTextBoxDrawing - tx_pre_jump RedBedroomSNESText - -RedBedroomSNESText:: - TX_FAR _RedBedroomSNESText - db "@" - -OpenRedsPC: - call EnableAutoTextBoxDrawing - tx_pre_jump RedBedroomPCText - -RedBedroomPCText:: - TX_PLAYERS_PC - -Route15GateLeftBinoculars: - ld a, [wSpriteStateData1 + 9] - cp SPRITE_FACING_UP - ret nz - call EnableAutoTextBoxDrawing - tx_pre Route15UpstairsBinocularsText - ld a, ARTICUNO - ld [wcf91], a - call PlayCry - jp DisplayMonFrontSpriteInBox - -Route15UpstairsBinocularsText:: - TX_FAR _Route15UpstairsBinocularsText - db "@" - -AerodactylFossil: - ld a, FOSSIL_AERODACTYL - ld [wcf91], a - call DisplayMonFrontSpriteInBox - call EnableAutoTextBoxDrawing - tx_pre AerodactylFossilText - ret - -AerodactylFossilText:: - TX_FAR _AerodactylFossilText - db "@" - -KabutopsFossil: - ld a, FOSSIL_KABUTOPS - ld [wcf91], a - call DisplayMonFrontSpriteInBox - call EnableAutoTextBoxDrawing - tx_pre KabutopsFossilText - ret - -KabutopsFossilText:: - TX_FAR _KabutopsFossilText - db "@" - -DisplayMonFrontSpriteInBox: -; Displays a pokemon's front sprite in a pop-up window. -; [wcf91] = pokemon internal id number - ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a - call Delay3 - xor a - ld [hWY], a - call SaveScreenTilesToBuffer1 - ld a, MON_SPRITE_POPUP - ld [wTextBoxID], a - call DisplayTextBoxID - call UpdateSprites - ld a, [wcf91] - ld [wd0b5], a - call GetMonHeader - ld de, vChars1 + $310 - call LoadMonFrontSprite - ld a, $80 - ld [hStartTileID], a - coord hl, 10, 11 - predef AnimateSendingOutMon - call WaitForTextScrollButtonPress - call LoadScreenTilesFromBuffer1 - call Delay3 - ld a, $90 - ld [hWY], a - ret - -PrintBlackboardLinkCableText: - call EnableAutoTextBoxDrawing - ld a, $1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld a, [wHiddenObjectFunctionArgument] - call PrintPredefTextID - ret - -LinkCableHelp:: - TX_ASM - call SaveScreenTilesToBuffer1 - ld hl, LinkCableHelpText1 - call PrintText - xor a - ld [wMenuItemOffset], a ; not used - ld [wCurrentMenuItem], a - ld [wLastMenuItem], a - ld a, A_BUTTON | B_BUTTON - ld [wMenuWatchedKeys], a - ld a, 3 - ld [wMaxMenuItem], a - ld a, 2 - ld [wTopMenuItemY], a - ld a, 1 - ld [wTopMenuItemX], a -.linkHelpLoop - ld hl, wd730 - set 6, [hl] - coord hl, 0, 0 - ld b, 8 - ld c, 13 - call TextBoxBorder - coord hl, 2, 2 - ld de, HowToLinkText - call PlaceString - ld hl, LinkCableHelpText2 - call PrintText - call HandleMenuInput - bit 1, a ; pressed b - jr nz, .exit - ld a, [wCurrentMenuItem] - cp 3 ; pressed a on "STOP READING" - jr z, .exit - ld hl, wd730 - res 6, [hl] - ld hl, LinkCableInfoTexts - add a - ld d, 0 - ld e, a - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - call PrintText - jp .linkHelpLoop -.exit - ld hl, wd730 - res 6, [hl] - call LoadScreenTilesFromBuffer1 - jp TextScriptEnd - -LinkCableHelpText1: - TX_FAR _LinkCableHelpText1 - db "@" - -LinkCableHelpText2: - TX_FAR _LinkCableHelpText2 - db "@" - -HowToLinkText: - db "HOW TO LINK" - next "COLOSSEUM" - next "TRADE CENTER" - next "STOP READING@" - -LinkCableInfoTexts: - dw LinkCableInfoText1 - dw LinkCableInfoText2 - dw LinkCableInfoText3 - -LinkCableInfoText1: - TX_FAR _LinkCableInfoText1 - db "@" - -LinkCableInfoText2: - TX_FAR _LinkCableInfoText2 - db "@" - -LinkCableInfoText3: - TX_FAR _LinkCableInfoText3 - db "@" - -ViridianSchoolBlackboard:: - TX_ASM - call SaveScreenTilesToBuffer1 - ld hl, ViridianSchoolBlackboardText1 - call PrintText - xor a - ld [wMenuItemOffset], a - ld [wCurrentMenuItem], a - ld [wLastMenuItem], a - ld a, D_LEFT | D_RIGHT | A_BUTTON | B_BUTTON - ld [wMenuWatchedKeys], a - ld a, 2 - ld [wMaxMenuItem], a - ld a, 2 - ld [wTopMenuItemY], a - ld a, 1 - ld [wTopMenuItemX], a -.blackboardLoop - ld hl, wd730 - set 6, [hl] - coord hl, 0, 0 - lb bc, 6, 10 - call TextBoxBorder - coord hl, 1, 2 - ld de, StatusAilmentText1 - call PlaceString - coord hl, 6, 2 - ld de, StatusAilmentText2 - call PlaceString - ld hl, ViridianSchoolBlackboardText2 - call PrintText - call HandleMenuInput ; pressing up and down is handled in here - bit 1, a ; pressed b - jr nz, .exitBlackboard - bit 4, a ; pressed right - jr z, .didNotPressRight - ; move cursor to right column - ld a, 2 - ld [wMaxMenuItem], a - ld a, 2 - ld [wTopMenuItemY], a - ld a, 6 - ld [wTopMenuItemX], a - ld a, 3 ; in the the right column, use an offset to prevent overlap - ld [wMenuItemOffset], a - jr .blackboardLoop -.didNotPressRight - bit 5, a ; pressed left - jr z, .didNotPressLeftOrRight - ; move cursor to left column - ld a, 2 - ld [wMaxMenuItem], a - ld a, 2 - ld [wTopMenuItemY], a - ld a, 1 - ld [wTopMenuItemX], a - xor a - ld [wMenuItemOffset], a - jr .blackboardLoop -.didNotPressLeftOrRight - ld a, [wCurrentMenuItem] - ld b, a - ld a, [wMenuItemOffset] - add b - cp 5 ; cursor is pointing to "QUIT" - jr z, .exitBlackboard - ; we must have pressed a on a status condition - ; so print the text - ld hl, wd730 - res 6, [hl] - ld hl, ViridianBlackboardStatusPointers - add a - ld d, 0 - ld e, a - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - call PrintText - jp .blackboardLoop -.exitBlackboard - ld hl, wd730 - res 6, [hl] - call LoadScreenTilesFromBuffer1 - jp TextScriptEnd - -ViridianSchoolBlackboardText1: - TX_FAR _ViridianSchoolBlackboardText1 - db "@" - -ViridianSchoolBlackboardText2: - TX_FAR _ViridianSchoolBlackboardText2 - db "@" - -StatusAilmentText1: - db " SLP" - next " PSN" - next " PAR@" - -StatusAilmentText2: - db " BRN" - next " FRZ" - next " QUIT@@" - -ViridianBlackboardStatusPointers: - dw ViridianBlackboardSleepText - dw ViridianBlackboardPoisonText - dw ViridianBlackboardPrlzText - dw ViridianBlackboardBurnText - dw ViridianBlackboardFrozenText - -ViridianBlackboardSleepText: - TX_FAR _ViridianBlackboardSleepText - db "@" - -ViridianBlackboardPoisonText: - TX_FAR _ViridianBlackboardPoisonText - db "@" - -ViridianBlackboardPrlzText: - TX_FAR _ViridianBlackboardPrlzText - db "@" - -ViridianBlackboardBurnText: - TX_FAR _ViridianBlackboardBurnText - db "@" - -ViridianBlackboardFrozenText: - TX_FAR _ViridianBlackboardFrozenText - db "@" - -PrintTrashText: - call EnableAutoTextBoxDrawing - tx_pre_jump VermilionGymTrashText - -VermilionGymTrashText:: - TX_FAR _VermilionGymTrashText - db "@" - -GymTrashScript: - call EnableAutoTextBoxDrawing - ld a, [wHiddenObjectFunctionArgument] - ld [wGymTrashCanIndex], a - -; Don't do the trash can puzzle if it's already been done. - CheckEvent EVENT_2ND_LOCK_OPENED - jr z, .ok - - tx_pre_jump VermilionGymTrashText - -.ok - CheckEventReuseA EVENT_1ST_LOCK_OPENED - jr nz, .trySecondLock - - ld a, [wFirstLockTrashCanIndex] - ld b, a - ld a, [wGymTrashCanIndex] - cp b - jr z, .openFirstLock - - tx_pre_id VermilionGymTrashText - jr .done - -.openFirstLock -; Next can is trying for the second switch. - SetEvent EVENT_1ST_LOCK_OPENED - - ld hl, GymTrashCans - ld a, [wGymTrashCanIndex] - ; * 5 - ld b, a - add a - add a - add b - - ld d, 0 - ld e, a - add hl, de - ld a, [hli] - -; There is a bug in this code. It should calculate a value in the range [0, 3] -; but if the mask and random number don't have any 1 bits in common, then -; the result of the AND will be 0. When 1 is subtracted from that, the value -; will become $ff. This will result in 255 being added to hl, which will cause -; hl to point to one of the zero bytes that pad the end of the ROM bank. -; Trash can 0 was intended to be able to have the second lock only when the -; first lock was in trash can 1 or 3. However, due to this bug, trash can 0 can -; have the second lock regardless of which trash can had the first lock. - - ld [hGymTrashCanRandNumMask], a - push hl - call Random - swap a - ld b, a - ld a, [hGymTrashCanRandNumMask] - and b - dec a - pop hl - - ld d, 0 - ld e, a - add hl, de - ld a, [hl] - and $f - ld [wSecondLockTrashCanIndex], a - - tx_pre_id VermilionGymTrashSuccessText1 - jr .done - -.trySecondLock - ld a, [wSecondLockTrashCanIndex] - ld b, a - ld a, [wGymTrashCanIndex] - cp b - jr z, .openSecondLock - -; Reset the cans. - ResetEvent EVENT_1ST_LOCK_OPENED - call Random - - and $e - ld [wFirstLockTrashCanIndex], a - - tx_pre_id VermilionGymTrashFailText - jr .done - -.openSecondLock -; Completed the trash can puzzle. - SetEvent EVENT_2ND_LOCK_OPENED - ld hl, wCurrentMapScriptFlags - set 6, [hl] - - tx_pre_id VermilionGymTrashSuccessText3 - -.done - jp PrintPredefTextID - -GymTrashCans: -; byte 0: mask for random number -; bytes 1-4: indices of the trash cans that can have the second lock -; (but see the comment above explaining a bug regarding this) -; Note that the mask is simply the number of valid trash can indices that -; follow. The remaining bytes are filled with 0 to pad the length of each entry -; to 5 bytes. - db 2, 1, 3, 0, 0 ; 0 - db 3, 0, 2, 4, 0 ; 1 - db 2, 1, 5, 0, 0 ; 2 - db 3, 0, 4, 6, 0 ; 3 - db 4, 1, 3, 5, 7 ; 4 - db 3, 2, 4, 8, 0 ; 5 - db 3, 3, 7, 9, 0 ; 6 - db 4, 4, 6, 8, 10 ; 7 - db 3, 5, 7, 11, 0 ; 8 - db 3, 6, 10, 12, 0 ; 9 - db 4, 7, 9, 11, 13 ; 10 - db 3, 8, 10, 14, 0 ; 11 - db 2, 9, 13, 0, 0 ; 12 - db 3, 10, 12, 14, 0 ; 13 - db 2, 11, 13, 0, 0 ; 14 - -VermilionGymTrashSuccessText1:: - TX_FAR _VermilionGymTrashSuccessText1 - TX_ASM - call WaitForSoundToFinish - ld a, SFX_SWITCH - call PlaySound - call WaitForSoundToFinish - jp TextScriptEnd - -; unused -VermilionGymTrashSuccessText2:: - TX_FAR _VermilionGymTrashSuccessText2 - db "@" - -; unused -VermilionGymTrashSuccesPlaySfx: - TX_ASM - call WaitForSoundToFinish - ld a, SFX_SWITCH - call PlaySound - call WaitForSoundToFinish - jp TextScriptEnd - -VermilionGymTrashSuccessText3:: - TX_FAR _VermilionGymTrashSuccessText3 - TX_ASM - call WaitForSoundToFinish - ld a, SFX_GO_INSIDE - call PlaySound - call WaitForSoundToFinish - jp TextScriptEnd - -VermilionGymTrashFailText:: - TX_FAR _VermilionGymTrashFailText - TX_ASM - call WaitForSoundToFinish - ld a, SFX_DENIED - call PlaySound - call WaitForSoundToFinish - jp TextScriptEnd diff --git a/engine/hidden_object_functions18.asm b/engine/hidden_object_functions18.asm deleted file mode 100755 index c0e5aa34..00000000 --- a/engine/hidden_object_functions18.asm +++ /dev/null @@ -1,198 +0,0 @@ -GymStatues: -; if in a gym and have the corresponding badge, a = GymStatueText2_id and jp PrintPredefTextID -; if in a gym and don’t have the corresponding badge, a = GymStatueText1_id and jp PrintPredefTextID -; else ret - call EnableAutoTextBoxDrawing - ld a, [wSpriteStateData1 + 9] - cp SPRITE_FACING_UP - ret nz - ld hl, .BadgeFlags - ld a, [wCurMap] - ld b, a -.loop - ld a, [hli] - cp $ff - ret z - cp b - jr z, .match - inc hl - jr .loop -.match - ld b, [hl] - ld a, [wBeatGymFlags] - and b - cp b - tx_pre_id GymStatueText2 - jr z, .haveBadge - tx_pre_id GymStatueText1 -.haveBadge - jp PrintPredefTextID - -.BadgeFlags: - db PEWTER_GYM, %00000001 - db CERULEAN_GYM, %00000010 - db VERMILION_GYM,%00000100 - db CELADON_GYM, %00001000 - db FUCHSIA_GYM, %00010000 - db SAFFRON_GYM, %00100000 - db CINNABAR_GYM, %01000000 - db VIRIDIAN_GYM, %10000000 - db $ff - -GymStatueText1:: - TX_FAR _GymStatueText1 - db "@" - -GymStatueText2:: - TX_FAR _GymStatueText2 - db "@" - -PrintBenchGuyText: - call EnableAutoTextBoxDrawing - ld hl, BenchGuyTextPointers - ld a, [wCurMap] - ld b, a -.loop - ld a, [hli] - cp $ff - ret z - cp b - jr z, .match - inc hl - inc hl - jr .loop -.match - ld a, [hli] - ld b, a - ld a, [wSpriteStateData1 + 9] - cp b - jr nz, .loop ; player isn't facing left at the bench guy - ld a, [hl] - jp PrintPredefTextID - -; format: db map id, player sprite facing direction, text id of PredefTextIDPointerTable -BenchGuyTextPointers: - db VIRIDIAN_POKECENTER, SPRITE_FACING_LEFT - db_tx_pre ViridianCityPokecenterBenchGuyText - db PEWTER_POKECENTER, SPRITE_FACING_LEFT - db_tx_pre PewterCityPokecenterBenchGuyText - db CERULEAN_POKECENTER, SPRITE_FACING_LEFT - db_tx_pre CeruleanCityPokecenterBenchGuyText - db LAVENDER_POKECENTER, SPRITE_FACING_LEFT - db_tx_pre LavenderCityPokecenterBenchGuyText - db VERMILION_POKECENTER, SPRITE_FACING_LEFT - db_tx_pre VermilionCityPokecenterBenchGuyText - db CELADON_POKECENTER, SPRITE_FACING_LEFT - db_tx_pre CeladonCityPokecenterBenchGuyText - db CELADON_HOTEL, SPRITE_FACING_LEFT - db_tx_pre CeladonCityHotelText - db FUCHSIA_POKECENTER, SPRITE_FACING_LEFT - db_tx_pre FuchsiaCityPokecenterBenchGuyText - db CINNABAR_POKECENTER, SPRITE_FACING_LEFT - db_tx_pre CinnabarIslandPokecenterBenchGuyText - db SAFFRON_POKECENTER, SPRITE_FACING_LEFT - db_tx_pre SaffronCityPokecenterBenchGuyText - db MT_MOON_POKECENTER, SPRITE_FACING_LEFT - db_tx_pre MtMoonPokecenterBenchGuyText - db ROCK_TUNNEL_POKECENTER,SPRITE_FACING_LEFT - db_tx_pre RockTunnelPokecenterBenchGuyText - db $FF - -ViridianCityPokecenterBenchGuyText:: - TX_FAR _ViridianCityPokecenterGuyText - db "@" - -PewterCityPokecenterBenchGuyText:: - TX_FAR _PewterCityPokecenterGuyText - db "@" - -CeruleanCityPokecenterBenchGuyText:: - TX_FAR _CeruleanPokecenterGuyText - db "@" - -LavenderCityPokecenterBenchGuyText:: - TX_FAR _LavenderPokecenterGuyText - db "@" - -MtMoonPokecenterBenchGuyText:: - TX_FAR _MtMoonPokecenterBenchGuyText - db "@" - -RockTunnelPokecenterBenchGuyText:: - TX_FAR _RockTunnelPokecenterGuyText - db "@" - -UnusedBenchGuyText1:: - TX_FAR _UnusedBenchGuyText1 - db "@" - -UnusedBenchGuyText2:: - TX_FAR _UnusedBenchGuyText2 - db "@" - -UnusedBenchGuyText3:: - TX_FAR _UnusedBenchGuyText3 - db "@" - -VermilionCityPokecenterBenchGuyText:: - TX_FAR _VermilionPokecenterGuyText - db "@" - -CeladonCityPokecenterBenchGuyText:: - TX_FAR _CeladonCityPokecenterGuyText - db "@" - -FuchsiaCityPokecenterBenchGuyText:: - TX_FAR _FuchsiaCityPokecenterGuyText - db "@" - -CinnabarIslandPokecenterBenchGuyText:: - TX_FAR _CinnabarPokecenterGuyText - db "@" - -SaffronCityPokecenterBenchGuyText:: - TX_ASM - CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI - ld hl, SaffronCityPokecenterBenchGuyText2 - jr nz, .asm_624f2 - ld hl, SaffronCityPokecenterBenchGuyText1 -.asm_624f2 - call PrintText - jp TextScriptEnd - -SaffronCityPokecenterBenchGuyText1: - TX_FAR _SaffronCityPokecenterGuyText1 - db "@" - -SaffronCityPokecenterBenchGuyText2: - TX_FAR _SaffronCityPokecenterGuyText2 - db "@" - -CeladonCityHotelText:: - TX_FAR _CeladonCityHotelText - db "@" - - ret - -UnusedPredefText:: - db "@" - -PrintBookcaseText: - call EnableAutoTextBoxDrawing - tx_pre_jump BookcaseText - -BookcaseText:: - TX_FAR _BookcaseText - db "@" - -OpenPokemonCenterPC: - ld a, [wSpriteStateData1 + 9] - cp SPRITE_FACING_UP ; check to see if player is facing up - ret nz - call EnableAutoTextBoxDrawing - ld a, $1 - ld [wAutoTextBoxDrawingControl], a - tx_pre_jump PokemonCenterPCText - -PokemonCenterPCText:: - TX_POKECENTER_PC diff --git a/engine/hidden_object_functions3.asm b/engine/hidden_object_functions3.asm deleted file mode 100755 index 1237e960..00000000 --- a/engine/hidden_object_functions3.asm +++ /dev/null @@ -1,117 +0,0 @@ -; prints text for bookshelves in buildings without sign events -PrintBookshelfText:: - ld a, [wSpriteStateData1 + 9] ; player's sprite facing direction - cp SPRITE_FACING_UP - jr nz, .noMatch -; facing up - ld a, [wCurMapTileset] - ld b, a - aCoord 8, 7 - ld c, a - ld hl, BookshelfTileIDs -.loop - ld a, [hli] - cp $ff - jr z, .noMatch - cp b - jr nz, .nextBookshelfEntry1 - ld a, [hli] - cp c - jr nz, .nextBookshelfEntry2 - ld a, [hl] - push af - call EnableAutoTextBoxDrawing - pop af - call PrintPredefTextID - xor a - ld [$ffdb], a - ret -.nextBookshelfEntry1 - inc hl -.nextBookshelfEntry2 - inc hl - jr .loop -.noMatch - ld a, $ff - ld [$ffdb], a - jpba PrintCardKeyText - -INCLUDE "data/bookshelf_tile_ids.asm" - -IndigoPlateauStatues:: - TX_ASM - ld hl, IndigoPlateauStatuesText1 - call PrintText - ld a, [wXCoord] - bit 0, a - ld hl, IndigoPlateauStatuesText2 - jr nz, .ok - ld hl, IndigoPlateauStatuesText3 -.ok - call PrintText - jp TextScriptEnd - -IndigoPlateauStatuesText1: - TX_FAR _IndigoPlateauStatuesText1 - db "@" - -IndigoPlateauStatuesText2: - TX_FAR _IndigoPlateauStatuesText2 - db "@" - -IndigoPlateauStatuesText3: - TX_FAR _IndigoPlateauStatuesText3 - db "@" - -BookOrSculptureText:: - TX_ASM - ld hl, PokemonBooksText - ld a, [wCurMapTileset] - cp MANSION ; Celadon Mansion tileset - jr nz, .ok - aCoord 8, 6 - cp $38 - jr nz, .ok - ld hl, DiglettSculptureText -.ok - call PrintText - jp TextScriptEnd - -PokemonBooksText: - TX_FAR _PokemonBooksText - db "@" - -DiglettSculptureText: - TX_FAR _DiglettSculptureText - db "@" - -ElevatorText:: - TX_FAR _ElevatorText - db "@" - -TownMapText:: - TX_FAR _TownMapText - TX_BLINK - TX_ASM - ld a, $1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld hl, wd730 - set 6, [hl] - call GBPalWhiteOutWithDelay3 - xor a - ld [hWY], a - inc a - ld [H_AUTOBGTRANSFERENABLED], a - call LoadFontTilePatterns - callba DisplayTownMap - ld hl, wd730 - res 6, [hl] - ld de, TextScriptEnd - push de - ld a, [H_LOADEDROMBANK] - push af - jp CloseTextDisplay - -PokemonStuffText:: - TX_FAR _PokemonStuffText - db "@" diff --git a/engine/hidden_object_functions7.asm b/engine/hidden_object_functions7.asm deleted file mode 100755 index e18b9570..00000000 --- a/engine/hidden_object_functions7.asm +++ /dev/null @@ -1,467 +0,0 @@ -PrintNewBikeText: - call EnableAutoTextBoxDrawing - tx_pre_jump NewBicycleText - -NewBicycleText:: - TX_FAR _NewBicycleText - db "@" - -DisplayOakLabLeftPoster: - call EnableAutoTextBoxDrawing - tx_pre_jump PushStartText - -PushStartText:: - TX_FAR _PushStartText - db "@" - -DisplayOakLabRightPoster: - call EnableAutoTextBoxDrawing - ld hl, wPokedexOwned - ld b, wPokedexOwnedEnd - wPokedexOwned - call CountSetBits - ld a, [wNumSetBits] - cp 2 - tx_pre_id SaveOptionText - jr c, .ownLessThanTwo - ; own two or more mon - tx_pre_id StrengthsAndWeaknessesText -.ownLessThanTwo - jp PrintPredefTextID - -SaveOptionText:: - TX_FAR _SaveOptionText - db "@" - -StrengthsAndWeaknessesText:: - TX_FAR _StrengthsAndWeaknessesText - db "@" - -SafariZoneCheck:: - CheckEventHL EVENT_IN_SAFARI_ZONE ; if we are not in the Safari Zone, - jr z, SafariZoneGameStillGoing ; don't bother printing game over text - ld a, [wNumSafariBalls] - and a - jr z, SafariZoneGameOver - jr SafariZoneGameStillGoing - -SafariZoneCheckSteps:: - ld a, [wSafariSteps] - ld b, a - ld a, [wSafariSteps + 1] - ld c, a - or b - jr z, SafariZoneGameOver - dec bc - ld a, b - ld [wSafariSteps], a - ld a, c - ld [wSafariSteps + 1], a -SafariZoneGameStillGoing: - xor a - ld [wSafariZoneGameOver], a - ret - -SafariZoneGameOver: - call EnableAutoTextBoxDrawing - xor a - ld [wAudioFadeOutControl], a - dec a - call PlaySound - ld c, BANK(SFX_Safari_Zone_PA) - ld a, SFX_SAFARI_ZONE_PA - call PlayMusic -.waitForMusicToPlay - ld a, [wChannelSoundIDs + Ch5] - cp SFX_SAFARI_ZONE_PA - jr nz, .waitForMusicToPlay - ld a, TEXT_SAFARI_GAME_OVER - ld [hSpriteIndexOrTextID], a - call DisplayTextID - xor a - ld [wPlayerMovingDirection], a - ld a, SAFARI_ZONE_GATE - ld [hWarpDestinationMap], a - ld a, $3 - ld [wDestinationWarpID], a - ld a, $5 - ld [wSafariZoneGateCurScript], a - SetEvent EVENT_SAFARI_GAME_OVER - ld a, 1 - ld [wSafariZoneGameOver], a - ret - -PrintSafariGameOverText:: - xor a - ld [wJoyIgnore], a - ld hl, SafariGameOverText - jp PrintText - -SafariGameOverText: - TX_ASM - ld a, [wNumSafariBalls] - and a - jr z, .noMoreSafariBalls - ld hl, TimesUpText - call PrintText -.noMoreSafariBalls - ld hl, GameOverText - call PrintText - jp TextScriptEnd - -TimesUpText: - TX_FAR _TimesUpText - db "@" - -GameOverText: - TX_FAR _GameOverText - db "@" - -PrintCinnabarQuiz: - ld a, [wSpriteStateData1 + 9] - cp SPRITE_FACING_UP - ret nz - call EnableAutoTextBoxDrawing - tx_pre_jump CinnabarGymQuiz - -CinnabarGymQuiz:: - TX_ASM - xor a - ld [wOpponentAfterWrongAnswer], a - ld a, [wHiddenObjectFunctionArgument] - push af - and $f - ld [hGymGateIndex], a - pop af - and $f0 - swap a - ld [$ffdc], a - ld hl, CinnabarGymQuizIntroText - call PrintText - ld a, [hGymGateIndex] - dec a - add a - ld d, 0 - ld e, a - ld hl, CinnabarQuizQuestions - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - call PrintText - ld a, 1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - call CinnabarGymQuiz_1ea92 - jp TextScriptEnd - -CinnabarGymQuizIntroText: - TX_FAR _CinnabarGymQuizIntroText - db "@" - -CinnabarQuizQuestions: - dw CinnabarQuizQuestionsText1 - dw CinnabarQuizQuestionsText2 - dw CinnabarQuizQuestionsText3 - dw CinnabarQuizQuestionsText4 - dw CinnabarQuizQuestionsText5 - dw CinnabarQuizQuestionsText6 - -CinnabarQuizQuestionsText1: - TX_FAR _CinnabarQuizQuestionsText1 - db "@" - -CinnabarQuizQuestionsText2: - TX_FAR _CinnabarQuizQuestionsText2 - db "@" - -CinnabarQuizQuestionsText3: - TX_FAR _CinnabarQuizQuestionsText3 - db "@" - -CinnabarQuizQuestionsText4: - TX_FAR _CinnabarQuizQuestionsText4 - db "@" - -CinnabarQuizQuestionsText5: - TX_FAR _CinnabarQuizQuestionsText5 - db "@" - -CinnabarQuizQuestionsText6: - TX_FAR _CinnabarQuizQuestionsText6 - db "@" - -CinnabarGymGateFlagAction: - EventFlagAddress hl, EVENT_CINNABAR_GYM_GATE0_UNLOCKED - predef_jump FlagActionPredef - -CinnabarGymQuiz_1ea92: - call YesNoChoice - ld a, [$ffdc] - ld c, a - ld a, [wCurrentMenuItem] - cp c - jr nz, .wrongAnswer - ld hl, wCurrentMapScriptFlags - set 5, [hl] - ld a, [hGymGateIndex] - ld [$ffe0], a - ld hl, CinnabarGymQuizCorrectText - call PrintText - ld a, [$ffe0] - AdjustEventBit EVENT_CINNABAR_GYM_GATE0_UNLOCKED, 0 - ld c, a - ld b, FLAG_SET - call CinnabarGymGateFlagAction - jp UpdateCinnabarGymGateTileBlocks_ -.wrongAnswer - call WaitForSoundToFinish - ld a, SFX_DENIED - call PlaySound - call WaitForSoundToFinish - ld hl, CinnabarGymQuizIncorrectText - call PrintText - ld a, [hGymGateIndex] - add $2 - AdjustEventBit EVENT_BEAT_CINNABAR_GYM_TRAINER_0, 2 - ld c, a - ld b, FLAG_TEST - EventFlagAddress hl, EVENT_BEAT_CINNABAR_GYM_TRAINER_0 - predef FlagActionPredef - ld a, c - and a - ret nz - ld a, [hGymGateIndex] - add $2 - ld [wOpponentAfterWrongAnswer], a - ret - -CinnabarGymQuizCorrectText: - TX_SFX_ITEM_1 - TX_FAR _CinnabarGymQuizCorrectText - TX_BLINK - TX_ASM - - ld a, [$ffe0] - AdjustEventBit EVENT_CINNABAR_GYM_GATE0_UNLOCKED, 0 - ld c, a - ld b, FLAG_TEST - call CinnabarGymGateFlagAction - ld a, c - and a - jp nz, TextScriptEnd - call WaitForSoundToFinish - ld a, SFX_GO_INSIDE - call PlaySound - call WaitForSoundToFinish - jp TextScriptEnd - -CinnabarGymQuizIncorrectText: - TX_FAR _CinnabarGymQuizIncorrectText - db "@" - -UpdateCinnabarGymGateTileBlocks_:: -; Update the overworld map with open floor blocks or locked gate blocks -; depending on event flags. - ld a, 6 - ld [hGymGateIndex], a -.loop - ld a, [hGymGateIndex] - dec a - add a - add a - ld d, 0 - ld e, a - ld hl, CinnabarGymGateCoords - add hl, de - ld a, [hli] - ld b, [hl] - ld c, a - inc hl - ld a, [hl] - ld [wGymGateTileBlock], a - push bc - ld a, [hGymGateIndex] - ld [$ffe0], a - AdjustEventBit EVENT_CINNABAR_GYM_GATE0_UNLOCKED, 0 - ld c, a - ld b, FLAG_TEST - call CinnabarGymGateFlagAction - ld a, c - and a - jr nz, .unlocked - ld a, [wGymGateTileBlock] - jr .next -.unlocked - ld a, $e -.next - pop bc - ld [wNewTileBlockID], a - predef ReplaceTileBlock - ld hl, hGymGateIndex - dec [hl] - jr nz, .loop - ret - -CinnabarGymGateCoords: - ; format: x-coord, y-coord, direction, padding - ; direction: $54 = horizontal gate, $5f = vertical gate - db $09,$03,$54,$00 - db $06,$03,$54,$00 - db $06,$06,$54,$00 - db $03,$08,$5f,$00 - db $02,$06,$54,$00 - db $02,$03,$54,$00 - -PrintMagazinesText: - call EnableAutoTextBoxDrawing - tx_pre MagazinesText - ret - -MagazinesText:: - TX_FAR _MagazinesText - db "@" - -BillsHousePC: - call EnableAutoTextBoxDrawing - ld a, [wSpriteStateData1 + 9] - cp SPRITE_FACING_UP - ret nz - CheckEvent EVENT_LEFT_BILLS_HOUSE_AFTER_HELPING - jr nz, .displayBillsHousePokemonList - CheckEventReuseA EVENT_USED_CELL_SEPARATOR_ON_BILL - jr nz, .displayBillsHouseMonitorText - CheckEventReuseA EVENT_BILL_SAID_USE_CELL_SEPARATOR - jr nz, .doCellSeparator -.displayBillsHouseMonitorText - tx_pre_jump BillsHouseMonitorText -.doCellSeparator - ld a, $1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - tx_pre BillsHouseInitiatedText - ld c, 32 - call DelayFrames - ld a, SFX_TINK - call PlaySound - call WaitForSoundToFinish - ld c, 80 - call DelayFrames - ld a, SFX_SHRINK - call PlaySound - call WaitForSoundToFinish - ld c, 48 - call DelayFrames - ld a, SFX_TINK - call PlaySound - call WaitForSoundToFinish - ld c, 32 - call DelayFrames - ld a, SFX_GET_ITEM_1 - call PlaySound - call WaitForSoundToFinish - call PlayDefaultMusic - SetEvent EVENT_USED_CELL_SEPARATOR_ON_BILL - ret -.displayBillsHousePokemonList - ld a, $1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - tx_pre BillsHousePokemonList - ret - -BillsHouseMonitorText:: - TX_FAR _BillsHouseMonitorText - db "@" - -BillsHouseInitiatedText:: - TX_FAR _BillsHouseInitiatedText - TX_BLINK - TX_ASM - ld a, $ff - ld [wNewSoundID], a - call PlaySound - ld c, 16 - call DelayFrames - ld a, SFX_SWITCH - call PlaySound - call WaitForSoundToFinish - ld c, 60 - call DelayFrames - jp TextScriptEnd - -BillsHousePokemonList:: - TX_ASM - call SaveScreenTilesToBuffer1 - ld hl, BillsHousePokemonListText1 - call PrintText - xor a - ld [wMenuItemOffset], a ; not used - ld [wCurrentMenuItem], a - ld [wLastMenuItem], a - ld a, A_BUTTON | B_BUTTON - ld [wMenuWatchedKeys], a - ld a, 4 - ld [wMaxMenuItem], a - ld a, 2 - ld [wTopMenuItemY], a - ld a, 1 - ld [wTopMenuItemX], a -.billsPokemonLoop - ld hl, wd730 - set 6, [hl] - coord hl, 0, 0 - ld b, 10 - ld c, 9 - call TextBoxBorder - coord hl, 2, 2 - ld de, BillsMonListText - call PlaceString - ld hl, BillsHousePokemonListText2 - call PrintText - call SaveScreenTilesToBuffer2 - call HandleMenuInput - bit 1, a ; pressed b - jr nz, .cancel - ld a, [wCurrentMenuItem] - add EEVEE - cp EEVEE - jr z, .displayPokedex - cp FLAREON - jr z, .displayPokedex - cp JOLTEON - jr z, .displayPokedex - cp VAPOREON - jr z, .displayPokedex - jr .cancel -.displayPokedex - call DisplayPokedex - call LoadScreenTilesFromBuffer2 - jr .billsPokemonLoop -.cancel - ld hl, wd730 - res 6, [hl] - call LoadScreenTilesFromBuffer2 - jp TextScriptEnd - -BillsHousePokemonListText1: - TX_FAR _BillsHousePokemonListText1 - db "@" - -BillsMonListText: - db "EEVEE" - next "FLAREON" - next "JOLTEON" - next "VAPOREON" - next "CANCEL@" - -BillsHousePokemonListText2: - TX_FAR _BillsHousePokemonListText2 - db "@" - -DisplayOakLabEmailText: - ld a, [wSpriteStateData1 + 9] - cp SPRITE_FACING_UP - ret nz - call EnableAutoTextBoxDrawing - tx_pre_jump OakLabEmailText - -OakLabEmailText:: - TX_FAR _OakLabEmailText - db "@" diff --git a/engine/hp_bar.asm b/engine/hp_bar.asm deleted file mode 100755 index 221bd7a9..00000000 --- a/engine/hp_bar.asm +++ /dev/null @@ -1,270 +0,0 @@ -HPBarLength: - call GetPredefRegisters - -; calculates bc * 48 / de, the number of pixels the HP bar has -; the result is always at least 1 -GetHPBarLength: - push hl - xor a - ld hl, H_MULTIPLICAND - ld [hli], a - ld a, b - ld [hli], a - ld a, c - ld [hli], a - ld [hl], $30 - call Multiply ; 48 * bc (hp bar is 48 pixels long) - ld a, d - and a - jr z, .maxHPSmaller256 - srl d ; make HP in de fit into 1 byte by dividing by 4 - rr e - srl d - rr e - ld a, [H_MULTIPLICAND+1] - ld b, a - ld a, [H_MULTIPLICAND+2] - srl b ; divide multiplication result as well - rr a - srl b - rr a - ld [H_MULTIPLICAND+2], a - ld a, b - ld [H_MULTIPLICAND+1], a -.maxHPSmaller256 - ld a, e - ld [H_DIVISOR], a - ld b, $4 - call Divide - ld a, [H_MULTIPLICAND+2] - ld e, a ; e = bc * 48 / de (num of pixels of HP bar) - pop hl - and a - ret nz - ld e, $1 ; make result at least 1 - ret - -; predef $48 -UpdateHPBar: -UpdateHPBar2: - push hl - ld hl, wHPBarOldHP - ld a, [hli] - ld c, a ; old HP into bc - ld a, [hli] - ld b, a - ld a, [hli] - ld e, a ; new HP into de - ld d, [hl] - pop hl - push de - push bc - call UpdateHPBar_CalcHPDifference - ld a, e - ld [wHPBarHPDifference+1], a - ld a, d - ld [wHPBarHPDifference], a - pop bc - pop de - call UpdateHPBar_CompareNewHPToOldHP - ret z - ld a, $ff - jr c, .HPdecrease - ld a, $1 -.HPdecrease - ld [wHPBarDelta], a - call GetPredefRegisters - ld a, [wHPBarNewHP] - ld e, a - ld a, [wHPBarNewHP+1] - ld d, a -.animateHPBarLoop - push de - ld a, [wHPBarOldHP] - ld c, a - ld a, [wHPBarOldHP+1] - ld b, a - call UpdateHPBar_CompareNewHPToOldHP - jr z, .animateHPBarDone - jr nc, .HPIncrease -; HP decrease - dec bc ; subtract 1 HP - ld a, c - ld [wHPBarNewHP], a - ld a, b - ld [wHPBarNewHP+1], a - call UpdateHPBar_CalcOldNewHPBarPixels - ld a, e - sub d ; calc pixel difference - jr .ok -.HPIncrease - inc bc ; add 1 HP - ld a, c - ld [wHPBarNewHP], a - ld a, b - ld [wHPBarNewHP+1], a - call UpdateHPBar_CalcOldNewHPBarPixels - ld a, d - sub e ; calc pixel difference -.ok - call UpdateHPBar_PrintHPNumber - and a - jr z, .noPixelDifference - call UpdateHPBar_AnimateHPBar -.noPixelDifference - ld a, [wHPBarNewHP] - ld [wHPBarOldHP], a - ld a, [wHPBarNewHP+1] - ld [wHPBarOldHP+1], a - pop de - jr .animateHPBarLoop -.animateHPBarDone - pop de - ld a, e - ld [wHPBarOldHP], a - ld a, d - ld [wHPBarOldHP+1], a - or e - jr z, .monFainted - call UpdateHPBar_CalcOldNewHPBarPixels - ld d, e -.monFainted - call UpdateHPBar_PrintHPNumber - ld a, $1 - call UpdateHPBar_AnimateHPBar - jp Delay3 - -; animates the HP bar going up or down for (a) ticks (two waiting frames each) -; stops prematurely if bar is filled up -; e: current health (in pixels) to start with -UpdateHPBar_AnimateHPBar: - push hl -.barAnimationLoop - push af - push de - ld d, $6 - call DrawHPBar - ld c, 2 - call DelayFrames - pop de - ld a, [wHPBarDelta] ; +1 or -1 - add e - cp $31 - jr nc, .barFilledUp - ld e, a - pop af - dec a - jr nz, .barAnimationLoop - pop hl - ret -.barFilledUp - pop af - pop hl - ret - -; compares old HP and new HP and sets c and z flags accordingly -UpdateHPBar_CompareNewHPToOldHP: - ld a, d - sub b - ret nz - ld a, e - sub c - ret - -; calcs HP difference between bc and de (into de) -UpdateHPBar_CalcHPDifference: - ld a, d - sub b - jr c, .oldHPGreater - jr z, .testLowerByte -.newHPGreater - ld a, e - sub c - ld e, a - ld a, d - sbc b - ld d, a - ret -.oldHPGreater - ld a, c - sub e - ld e, a - ld a, b - sbc d - ld d, a - ret -.testLowerByte - ld a, e - sub c - jr c, .oldHPGreater - jr nz, .newHPGreater - ld de, $0 - ret - -UpdateHPBar_PrintHPNumber: - push af - push de - ld a, [wHPBarType] - and a - jr z, .done ; don't print number in enemy HUD -; convert from little-endian to big-endian for PrintNumber - ld a, [wHPBarOldHP] - ld [wHPBarTempHP + 1], a - ld a, [wHPBarOldHP + 1] - ld [wHPBarTempHP], a - push hl - ld a, [hFlags_0xFFF6] - bit 0, a - jr z, .asm_fb15 - ld de, $9 - jr .next -.asm_fb15 - ld de, $15 -.next - add hl, de - push hl - ld a, " " - ld [hli], a - ld [hli], a - ld [hli], a - pop hl - ld de, wHPBarTempHP - lb bc, 2, 3 - call PrintNumber - call DelayFrame - pop hl -.done - pop de - pop af - ret - -; calcs number of HP bar pixels for old and new HP value -; d: new pixels -; e: old pixels -UpdateHPBar_CalcOldNewHPBarPixels: - push hl - ld hl, wHPBarMaxHP - ld a, [hli] ; max HP into de - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] ; old HP into bc - ld c, a - ld a, [hli] - ld b, a - ld a, [hli] ; new HP into hl - ld h, [hl] - ld l, a - push hl - push de - call GetHPBarLength ; calc num pixels for old HP - ld a, e - pop de - pop bc - push af - call GetHPBarLength ; calc num pixels for new HP - pop af - ld d, e - ld e, a - pop hl - ret diff --git a/engine/in_game_trades.asm b/engine/in_game_trades.asm deleted file mode 100755 index c01bc3c3..00000000 --- a/engine/in_game_trades.asm +++ /dev/null @@ -1,330 +0,0 @@ -DoInGameTradeDialogue: -; trigger the trade offer/action specified by wWhichTrade - call SaveScreenTilesToBuffer2 - ld hl, TradeMons - ld a, [wWhichTrade] - ld b, a - swap a - sub b - sub b - ld c, a - ld b, 0 - add hl, bc - ld a, [hli] - ld [wInGameTradeGiveMonSpecies], a - ld a, [hli] - ld [wInGameTradeReceiveMonSpecies], a - ld a, [hli] - push af - ld de, wInGameTradeMonNick - ld bc, NAME_LENGTH - call CopyData - pop af - ld l, a - ld h, 0 - ld de, InGameTradeTextPointers - add hl, hl - add hl, de - ld a, [hli] - ld [wInGameTradeTextPointerTablePointer], a - ld a, [hl] - ld [wInGameTradeTextPointerTablePointer + 1], a - ld a, [wInGameTradeGiveMonSpecies] - ld de, wInGameTradeGiveMonName - call InGameTrade_GetMonName - ld a, [wInGameTradeReceiveMonSpecies] - ld de, wInGameTradeReceiveMonName - call InGameTrade_GetMonName - ld hl, wCompletedInGameTradeFlags - ld a, [wWhichTrade] - ld c, a - ld b, FLAG_TEST - predef FlagActionPredef - ld a, c - and a - ld a, $4 - ld [wInGameTradeTextPointerTableIndex], a - jr nz, .printText -; if the trade hasn't been done yet - xor a - ld [wInGameTradeTextPointerTableIndex], a - call .printText - ld a, $1 - ld [wInGameTradeTextPointerTableIndex], a - call YesNoChoice - ld a, [wCurrentMenuItem] - and a - jr nz, .printText - call InGameTrade_DoTrade - jr c, .printText - ld hl, TradedForText - call PrintText -.printText - ld hl, wInGameTradeTextPointerTableIndex - ld a, [hld] ; wInGameTradeTextPointerTableIndex - ld e, a - ld d, 0 - ld a, [hld] ; wInGameTradeTextPointerTablePointer + 1 - ld l, [hl] ; wInGameTradeTextPointerTablePointer - ld h, a - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp PrintText - -; copies name of species a to hl -InGameTrade_GetMonName: - push de - ld [wd11e], a - call GetMonName - ld hl, wcd6d - pop de - ld bc, NAME_LENGTH - jp CopyData - -INCLUDE "data/trades.asm" - -InGameTrade_DoTrade: - xor a ; NORMAL_PARTY_MENU - ld [wPartyMenuTypeOrMessageID], a - dec a - ld [wUpdateSpritesEnabled], a - call DisplayPartyMenu - push af - call InGameTrade_RestoreScreen - pop af - ld a, $1 - jp c, .tradeFailed ; jump if the player didn't select a pokemon - ld a, [wInGameTradeGiveMonSpecies] - ld b, a - ld a, [wcf91] - cp b - ld a, $2 - jr nz, .tradeFailed ; jump if the selected mon's species is not the required one - ld a, [wWhichPokemon] - ld hl, wPartyMon1Level - ld bc, wPartyMon2 - wPartyMon1 - call AddNTimes - ld a, [hl] - ld [wCurEnemyLVL], a - ld hl, wCompletedInGameTradeFlags - ld a, [wWhichTrade] - ld c, a - ld b, FLAG_SET - predef FlagActionPredef - ld hl, ConnectCableText - call PrintText - ld a, [wWhichPokemon] - push af - ld a, [wCurEnemyLVL] - push af - call LoadHpBarAndStatusTilePatterns - call InGameTrade_PrepareTradeData - predef InternalClockTradeAnim - pop af - ld [wCurEnemyLVL], a - pop af - ld [wWhichPokemon], a - ld a, [wInGameTradeReceiveMonSpecies] - ld [wcf91], a - xor a - ld [wMonDataLocation], a ; not used - ld [wRemoveMonFromBox], a - call RemovePokemon - ld a, $80 ; prevent the player from naming the mon - ld [wMonDataLocation], a - call AddPartyMon - call InGameTrade_CopyDataToReceivedMon - callab EvolveTradeMon - call ClearScreen - call InGameTrade_RestoreScreen - callba RedrawMapView - and a - ld a, $3 - jr .tradeSucceeded -.tradeFailed - scf -.tradeSucceeded - ld [wInGameTradeTextPointerTableIndex], a - ret - -InGameTrade_RestoreScreen: - call GBPalWhiteOutWithDelay3 - call RestoreScreenTilesAndReloadTilePatterns - call ReloadTilesetTilePatterns - call LoadScreenTilesFromBuffer2 - call Delay3 - call LoadGBPal - ld c, 10 - call DelayFrames - jpba LoadWildData - -InGameTrade_PrepareTradeData: - ld hl, wTradedPlayerMonSpecies - ld a, [wInGameTradeGiveMonSpecies] - ld [hli], a ; wTradedPlayerMonSpecies - ld a, [wInGameTradeReceiveMonSpecies] - ld [hl], a ; wTradedEnemyMonSpecies - ld hl, wPartyMonOT - ld bc, NAME_LENGTH - ld a, [wWhichPokemon] - call AddNTimes - ld de, wTradedPlayerMonOT - ld bc, NAME_LENGTH - call InGameTrade_CopyData - ld hl, InGameTrade_TrainerString - ld de, wTradedEnemyMonOT - call InGameTrade_CopyData - ld de, wLinkEnemyTrainerName - call InGameTrade_CopyData - ld hl, wPartyMon1OTID - ld bc, wPartyMon2 - wPartyMon1 - ld a, [wWhichPokemon] - call AddNTimes - ld de, wTradedPlayerMonOTID - ld bc, $2 - call InGameTrade_CopyData - call Random - ld hl, hRandomAdd - ld de, wTradedEnemyMonOTID - jp CopyData - -InGameTrade_CopyData: - push hl - push bc - call CopyData - pop bc - pop hl - ret - -InGameTrade_CopyDataToReceivedMon: - ld hl, wPartyMonNicks - ld bc, NAME_LENGTH - call InGameTrade_GetReceivedMonPointer - ld hl, wInGameTradeMonNick - ld bc, NAME_LENGTH - call CopyData - ld hl, wPartyMonOT - ld bc, NAME_LENGTH - call InGameTrade_GetReceivedMonPointer - ld hl, InGameTrade_TrainerString - ld bc, NAME_LENGTH - call CopyData - ld hl, wPartyMon1OTID - ld bc, wPartyMon2 - wPartyMon1 - call InGameTrade_GetReceivedMonPointer - ld hl, wTradedEnemyMonOTID - ld bc, $2 - jp CopyData - -; the received mon's index is (partyCount - 1), -; so this adds bc to hl (partyCount - 1) times and moves the result to de -InGameTrade_GetReceivedMonPointer: - ld a, [wPartyCount] - dec a - call AddNTimes - ld e, l - ld d, h - ret - -InGameTrade_TrainerString: - ; "TRAINER@@@@@@@@@@" - db $5d, "@@@@@@@@@@" - -InGameTradeTextPointers: - dw TradeTextPointers1 - dw TradeTextPointers2 - dw TradeTextPointers3 - -TradeTextPointers1: - dw WannaTrade1Text - dw NoTrade1Text - dw WrongMon1Text - dw Thanks1Text - dw AfterTrade1Text - -TradeTextPointers2: - dw WannaTrade2Text - dw NoTrade2Text - dw WrongMon2Text - dw Thanks2Text - dw AfterTrade2Text - -TradeTextPointers3: - dw WannaTrade3Text - dw NoTrade3Text - dw WrongMon3Text - dw Thanks3Text - dw AfterTrade3Text - -ConnectCableText: - TX_FAR _ConnectCableText - db "@" - -TradedForText: - TX_FAR _TradedForText - TX_SFX_KEY_ITEM - TX_DELAY - db "@" - -WannaTrade1Text: - TX_FAR _WannaTrade1Text - db "@" - -NoTrade1Text: - TX_FAR _NoTrade1Text - db "@" - -WrongMon1Text: - TX_FAR _WrongMon1Text - db "@" - -Thanks1Text: - TX_FAR _Thanks1Text - db "@" - -AfterTrade1Text: - TX_FAR _AfterTrade1Text - db "@" - -WannaTrade2Text: - TX_FAR _WannaTrade2Text - db "@" - -NoTrade2Text: - TX_FAR _NoTrade2Text - db "@" - -WrongMon2Text: - TX_FAR _WrongMon2Text - db "@" - -Thanks2Text: - TX_FAR _Thanks2Text - db "@" - -AfterTrade2Text: - TX_FAR _AfterTrade2Text - db "@" - -WannaTrade3Text: - TX_FAR _WannaTrade3Text - db "@" - -NoTrade3Text: - TX_FAR _NoTrade3Text - db "@" - -WrongMon3Text: - TX_FAR _WrongMon3Text - db "@" - -Thanks3Text: - TX_FAR _Thanks3Text - db "@" - -AfterTrade3Text: - TX_FAR _AfterTrade3Text - db "@" diff --git a/engine/init_player_data.asm b/engine/init_player_data.asm deleted file mode 100644 index c576e65a..00000000 --- a/engine/init_player_data.asm +++ /dev/null @@ -1,55 +0,0 @@ -InitPlayerData: -InitPlayerData2: - - call Random - ld a, [hRandomSub] - ld [wPlayerID], a - - call Random - ld a, [hRandomAdd] - ld [wPlayerID + 1], a - - ld a, $ff - ld [wUnusedD71B], a - - ld hl, wPartyCount - call InitializeEmptyList - ld hl, wNumInBox - call InitializeEmptyList - ld hl, wNumBagItems - call InitializeEmptyList - ld hl, wNumBoxItems - call InitializeEmptyList - -START_MONEY EQU $3000 - ld hl, wPlayerMoney + 1 - ld a, START_MONEY / $100 - ld [hld], a - xor a - ld [hli], a - inc hl - ld [hl], a - - ld [wMonDataLocation], a - - ld hl, wObtainedBadges - ld [hli], a - - ld [hl], a - - ld hl, wPlayerCoins - ld [hli], a - ld [hl], a - - ld hl, wGameProgressFlags - ld bc, wGameProgressFlagsEnd - wGameProgressFlags - call FillMemory ; clear all game progress flags - - jp InitializeMissableObjectsFlags - -InitializeEmptyList: - xor a ; count - ld [hli], a - dec a ; terminator - ld [hl], a - ret diff --git a/engine/intro.asm b/engine/intro.asm deleted file mode 100755 index 9a13c96f..00000000 --- a/engine/intro.asm +++ /dev/null @@ -1,470 +0,0 @@ -const_value = -1 - const MOVE_NIDORINO_RIGHT - const MOVE_GENGAR_RIGHT - const MOVE_GENGAR_LEFT - -ANIMATION_END EQU 80 - -const_value = 3 - const GENGAR_INTRO_TILES1 - const GENGAR_INTRO_TILES2 - const GENGAR_INTRO_TILES3 - -PlayIntro: - xor a - ld [hJoyHeld], a - inc a - ld [H_AUTOBGTRANSFERENABLED], a - call PlayShootingStar - call PlayIntroScene - call GBFadeOutToWhite - xor a - ld [hSCX], a - ld [H_AUTOBGTRANSFERENABLED], a - call ClearSprites - call DelayFrame - ret - -PlayIntroScene: - ld b, SET_PAL_NIDORINO_INTRO - call RunPaletteCommand - ldPal a, BLACK, DARK_GRAY, LIGHT_GRAY, WHITE - ld [rBGP], a - ld [rOBP0], a - ld [rOBP1], a - xor a - ld [hSCX], a - ld b, GENGAR_INTRO_TILES1 - call IntroCopyTiles - ld a, 0 - ld [wBaseCoordX], a - ld a, 80 - ld [wBaseCoordY], a - lb bc, 6, 6 - call InitIntroNidorinoOAM - lb de, 80 / 2, MOVE_NIDORINO_RIGHT - call IntroMoveMon - ret c - -; hip - ld a, SFX_INTRO_HIP - call PlaySound - xor a - ld [wIntroNidorinoBaseTile], a - ld de, IntroNidorinoAnimation1 - call AnimateIntroNidorino -; hop - ld a, SFX_INTRO_HOP - call PlaySound - ld de, IntroNidorinoAnimation2 - call AnimateIntroNidorino - ld c, 10 - call CheckForUserInterruption - ret c - -; hip - ld a, SFX_INTRO_HIP - call PlaySound - ld de, IntroNidorinoAnimation1 - call AnimateIntroNidorino -; hop - ld a, SFX_INTRO_HOP - call PlaySound - ld de, IntroNidorinoAnimation2 - call AnimateIntroNidorino - ld c, 30 - call CheckForUserInterruption - ret c - -; raise - ld b, GENGAR_INTRO_TILES2 - call IntroCopyTiles - ld a, SFX_INTRO_RAISE - call PlaySound - lb de, 8 / 2, MOVE_GENGAR_LEFT - call IntroMoveMon - ld c, 30 - call CheckForUserInterruption - ret c - -; slash - ld b, GENGAR_INTRO_TILES3 - call IntroCopyTiles - ld a, SFX_INTRO_CRASH - call PlaySound - lb de, 16 / 2, MOVE_GENGAR_RIGHT - call IntroMoveMon -; hip - ld a, SFX_INTRO_HIP - call PlaySound - ld a, (FightIntroFrontMon2 - FightIntroFrontMon) / BYTES_PER_TILE - ld [wIntroNidorinoBaseTile], a - ld de, IntroNidorinoAnimation3 - call AnimateIntroNidorino - ld c, 30 - call CheckForUserInterruption - ret c - - lb de, 8 / 2, MOVE_GENGAR_LEFT - call IntroMoveMon - ld b, GENGAR_INTRO_TILES1 - call IntroCopyTiles - ld c, 60 - call CheckForUserInterruption - ret c - -; hip - ld a, SFX_INTRO_HIP - call PlaySound - xor a - ld [wIntroNidorinoBaseTile], a - ld de, IntroNidorinoAnimation4 - call AnimateIntroNidorino -; hop - ld a, SFX_INTRO_HOP - call PlaySound - ld de, IntroNidorinoAnimation5 - call AnimateIntroNidorino - ld c, 20 - call CheckForUserInterruption - ret c - - ld a, (FightIntroFrontMon2 - FightIntroFrontMon) / BYTES_PER_TILE - ld [wIntroNidorinoBaseTile], a - ld de, IntroNidorinoAnimation6 - call AnimateIntroNidorino - ld c, 30 - call CheckForUserInterruption - ret c - -; lunge - ld a, SFX_INTRO_LUNGE - call PlaySound - ld a, (FightIntroFrontMon3 - FightIntroFrontMon) / BYTES_PER_TILE - ld [wIntroNidorinoBaseTile], a - ld de, IntroNidorinoAnimation7 - jp AnimateIntroNidorino - -AnimateIntroNidorino: - ld a, [de] - cp ANIMATION_END - ret z - ld [wBaseCoordY], a - inc de - ld a, [de] - ld [wBaseCoordX], a - push de - ld c, 6 * 6 - call UpdateIntroNidorinoOAM - ld c, 5 - call DelayFrames - pop de - inc de - jr AnimateIntroNidorino - -UpdateIntroNidorinoOAM: - ld hl, wOAMBuffer - ld a, [wIntroNidorinoBaseTile] - ld d, a -.loop - ld a, [wBaseCoordY] - add [hl] - ld [hli], a ; Y - ld a, [wBaseCoordX] - add [hl] - ld [hli], a ; X - ld a, d - ld [hli], a ; tile - inc hl - inc d - dec c - jr nz, .loop - ret - -InitIntroNidorinoOAM: - ld hl, wOAMBuffer - ld d, 0 -.loop - push bc - ld a, [wBaseCoordY] - ld e, a -.innerLoop - ld a, e - add 8 - ld e, a - ld [hli], a ; Y - ld a, [wBaseCoordX] - ld [hli], a ; X - ld a, d - ld [hli], a ; tile - ld a, OAM_BEHIND_BG - ld [hli], a ; attributes - inc d - dec c - jr nz, .innerLoop - ld a, [wBaseCoordX] - add 8 - ld [wBaseCoordX], a - pop bc - dec b - jr nz, .loop - ret - -IntroClearScreen: - ld hl, vBGMap1 - ld bc, BG_MAP_WIDTH * SCREEN_HEIGHT - jr IntroClearCommon - -IntroClearMiddleOfScreen: -; clear the area of the tile map between the black bars on the top and bottom - coord hl, 0, 4 - ld bc, SCREEN_WIDTH * 10 - -IntroClearCommon: - ld [hl], 0 - inc hl - dec bc - ld a, b - or c - jr nz, IntroClearCommon - ret - -IntroPlaceBlackTiles: - ld a, 1 -.loop - ld [hli], a - dec c - jr nz, .loop - ret - -IntroMoveMon: -; d = number of times to move the mon (2 pixels each time) - ld a, e - cp MOVE_NIDORINO_RIGHT - jr z, .moveNidorinoRight - cp MOVE_GENGAR_LEFT - jr z, .moveGengarLeft -; move Gengar right - ld a, [hSCX] - dec a - dec a - jr .next -.moveNidorinoRight - push de - ld a, 2 - ld [wBaseCoordX], a - xor a - ld [wBaseCoordY], a - ld c, 6 * 6 - call UpdateIntroNidorinoOAM - pop de -.moveGengarLeft - ld a, [hSCX] - inc a - inc a -.next - ld [hSCX], a - push de - ld c, 2 - call CheckForUserInterruption - pop de - ret c - dec d - jr nz, IntroMoveMon - ret - -IntroCopyTiles: - coord hl, 13, 7 - -CopyTileIDsFromList_ZeroBaseTileID: - ld c, 0 - predef_jump CopyTileIDsFromList - -PlayMoveSoundB: -; unused - predef GetMoveSoundB - ld a, b - jp PlaySound - -LoadIntroGraphics: - ld hl, FightIntroBackMon - ld de, vChars2 - ld bc, FightIntroBackMonEnd - FightIntroBackMon - ld a, BANK(FightIntroBackMon) - call FarCopyData2 - ld hl, GameFreakIntro - ld de, vChars2 + (FightIntroBackMonEnd - FightIntroBackMon) - ld bc, GameFreakIntroEnd - GameFreakIntro - ld a, BANK(GameFreakIntro) - call FarCopyData2 - ld hl, GameFreakIntro - ld de, vChars1 - ld bc, GameFreakIntroEnd - GameFreakIntro - ld a, BANK(GameFreakIntro) - call FarCopyData2 - ld hl, FightIntroFrontMon - ld de, vChars0 - ld bc, FightIntroFrontMonEnd - FightIntroFrontMon - ld a, BANK(FightIntroFrontMon) - jp FarCopyData2 - -PlayShootingStar: - ld b, SET_PAL_GAME_FREAK_INTRO - call RunPaletteCommand - callba LoadCopyrightAndTextBoxTiles - ldPal a, BLACK, DARK_GRAY, LIGHT_GRAY, WHITE - ld [rBGP], a - ld c, 180 - call DelayFrames - call ClearScreen - call DisableLCD - xor a - ld [wCurOpponent], a - call IntroDrawBlackBars - call LoadIntroGraphics - call EnableLCD - ld hl, rLCDC - res 5, [hl] - set 3, [hl] - ld c, 64 - call DelayFrames - callba AnimateShootingStar - push af - pop af - jr c, .next ; skip the delay if the user interrupted the animation - ld c, 40 - call DelayFrames -.next - ld a, BANK(Music_IntroBattle) - ld [wAudioROMBank], a - ld [wAudioSavedROMBank], a - ld a, MUSIC_INTRO_BATTLE - ld [wNewSoundID], a - call PlaySound - call IntroClearMiddleOfScreen - call ClearSprites - jp Delay3 - -IntroDrawBlackBars: -; clear the screen and draw black bars on the top and bottom - call IntroClearScreen - coord hl, 0, 0 - ld c, SCREEN_WIDTH * 4 - call IntroPlaceBlackTiles - coord hl, 0, 14 - ld c, SCREEN_WIDTH * 4 - call IntroPlaceBlackTiles - ld hl, vBGMap1 - ld c, BG_MAP_WIDTH * 4 - call IntroPlaceBlackTiles - ld hl, vBGMap1 + BG_MAP_WIDTH * 14 - ld c, BG_MAP_WIDTH * 4 - jp IntroPlaceBlackTiles - -EmptyFunc4: - ret - -IntroNidorinoAnimation0: - db 0, 0 - db ANIMATION_END - -IntroNidorinoAnimation1: -; This is a sequence of pixel movements for part of the Nidorino animation. This -; list describes how Nidorino should hop. -; First byte is y movement, second byte is x movement - db 0, 0 - db -2, 2 - db -1, 2 - db 1, 2 - db 2, 2 - db ANIMATION_END - -IntroNidorinoAnimation2: -; This is a sequence of pixel movements for part of the Nidorino animation. -; First byte is y movement, second byte is x movement - db 0, 0 - db -2, -2 - db -1, -2 - db 1, -2 - db 2, -2 - db ANIMATION_END - -IntroNidorinoAnimation3: -; This is a sequence of pixel movements for part of the Nidorino animation. -; First byte is y movement, second byte is x movement - db 0, 0 - db -12, 6 - db -8, 6 - db 8, 6 - db 12, 6 - db ANIMATION_END - -IntroNidorinoAnimation4: -; This is a sequence of pixel movements for part of the Nidorino animation. -; First byte is y movement, second byte is x movement - db 0, 0 - db -8, -4 - db -4, -4 - db 4, -4 - db 8, -4 - db ANIMATION_END - -IntroNidorinoAnimation5: -; This is a sequence of pixel movements for part of the Nidorino animation. -; First byte is y movement, second byte is x movement - db 0, 0 - db -8, 4 - db -4, 4 - db 4, 4 - db 8, 4 - db ANIMATION_END - -IntroNidorinoAnimation6: -; This is a sequence of pixel movements for part of the Nidorino animation. -; First byte is y movement, second byte is x movement - db 0, 0 - db 2, 0 - db 2, 0 - db 0, 0 - db ANIMATION_END - -IntroNidorinoAnimation7: -; This is a sequence of pixel movements for part of the Nidorino animation. -; First byte is y movement, second byte is x movement - db -8, -16 - db -7, -14 - db -6, -12 - db -4, -10 - db ANIMATION_END - -GameFreakIntro: - INCBIN "gfx/intro_credits/gamefreak_presents.2bpp" - INCBIN "gfx/intro_credits/gamefreak_logo.2bpp" - ds 16, $00 ; blank tile -GameFreakIntroEnd: - -FightIntroBackMon: - INCBIN "gfx/intro_credits/gengar.2bpp" -FightIntroBackMonEnd: - -FightIntroFrontMon: - -IF DEF(_RED) - INCBIN "gfx/intro_credits/red_nidorino_1.2bpp" -FightIntroFrontMon2: - INCBIN "gfx/intro_credits/red_nidorino_2.2bpp" -FightIntroFrontMon3: - INCBIN "gfx/intro_credits/red_nidorino_3.2bpp" -ENDC - -IF DEF(_BLUE) - INCBIN "gfx/intro_credits/blue_jigglypuff_1.2bpp" -FightIntroFrontMon2: - INCBIN "gfx/intro_credits/blue_jigglypuff_2.2bpp" -FightIntroFrontMon3: - INCBIN "gfx/intro_credits/blue_jigglypuff_3.2bpp" -ENDC - -FightIntroFrontMonEnd: - - ds 16, $00 ; blank tile diff --git a/engine/items/get_bag_item_quantity.asm b/engine/items/get_bag_item_quantity.asm new file mode 100644 index 00000000..f10df1a0 --- /dev/null +++ b/engine/items/get_bag_item_quantity.asm @@ -0,0 +1,18 @@ +GetQuantityOfItemInBag: +; In: b = item ID +; Out: b = how many of that item are in the bag + call GetPredefRegisters + ld hl, wNumBagItems +.loop + inc hl + ld a, [hli] + cp $ff + jr z, .notInBag + cp b + jr nz, .loop + ld a, [hl] + ld b, a + ret +.notInBag + ld b, 0 + ret diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm new file mode 100755 index 00000000..6e7bed1e --- /dev/null +++ b/engine/items/item_effects.asm @@ -0,0 +1,2986 @@ +UseItem_:: + ld a, 1 + ld [wActionResultOrTookBattleTurn], a ; initialise to success value + ld a, [wcf91] ;contains item_ID + cp HM_01 + jp nc, ItemUseTMHM + ld hl, ItemUsePtrTable + dec a + add a + ld c, a + ld b, 0 + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + jp hl + +ItemUsePtrTable: + dw ItemUseBall ; MASTER_BALL + dw ItemUseBall ; ULTRA_BALL + dw ItemUseBall ; GREAT_BALL + dw ItemUseBall ; POKE_BALL + dw ItemUseTownMap ; TOWN_MAP + dw ItemUseBicycle ; BICYCLE + dw ItemUseSurfboard ; out-of-battle Surf effect + dw ItemUseBall ; SAFARI_BALL + dw ItemUsePokedex ; POKEDEX + dw ItemUseEvoStone ; MOON_STONE + dw ItemUseMedicine ; ANTIDOTE + dw ItemUseMedicine ; BURN_HEAL + dw ItemUseMedicine ; ICE_HEAL + dw ItemUseMedicine ; AWAKENING + dw ItemUseMedicine ; PARLYZ_HEAL + dw ItemUseMedicine ; FULL_RESTORE + dw ItemUseMedicine ; MAX_POTION + dw ItemUseMedicine ; HYPER_POTION + dw ItemUseMedicine ; SUPER_POTION + dw ItemUseMedicine ; POTION + dw ItemUseBait ; BOULDERBADGE + dw ItemUseRock ; CASCADEBADGE + dw UnusableItem ; THUNDERBADGE + dw UnusableItem ; RAINBOWBADGE + dw UnusableItem ; SOULBADGE + dw UnusableItem ; MARSHBADGE + dw UnusableItem ; VOLCANOBADGE + dw UnusableItem ; EARTHBADGE + dw ItemUseEscapeRope ; ESCAPE_ROPE + dw ItemUseRepel ; REPEL + dw UnusableItem ; OLD_AMBER + dw ItemUseEvoStone ; FIRE_STONE + dw ItemUseEvoStone ; THUNDER_STONE + dw ItemUseEvoStone ; WATER_STONE + dw ItemUseVitamin ; HP_UP + dw ItemUseVitamin ; PROTEIN + dw ItemUseVitamin ; IRON + dw ItemUseVitamin ; CARBOS + dw ItemUseVitamin ; CALCIUM + dw ItemUseVitamin ; RARE_CANDY + dw UnusableItem ; DOME_FOSSIL + dw UnusableItem ; HELIX_FOSSIL + dw UnusableItem ; SECRET_KEY + dw UnusableItem + dw UnusableItem ; BIKE_VOUCHER + dw ItemUseXAccuracy ; X_ACCURACY + dw ItemUseEvoStone ; LEAF_STONE + dw ItemUseCardKey ; CARD_KEY + dw UnusableItem ; NUGGET + dw UnusableItem ; ??? PP_UP + dw ItemUsePokedoll ; POKE_DOLL + dw ItemUseMedicine ; FULL_HEAL + dw ItemUseMedicine ; REVIVE + dw ItemUseMedicine ; MAX_REVIVE + dw ItemUseGuardSpec ; GUARD_SPEC + dw ItemUseSuperRepel ; SUPER_REPL + dw ItemUseMaxRepel ; MAX_REPEL + dw ItemUseDireHit ; DIRE_HIT + dw UnusableItem ; COIN + dw ItemUseMedicine ; FRESH_WATER + dw ItemUseMedicine ; SODA_POP + dw ItemUseMedicine ; LEMONADE + dw UnusableItem ; S_S_TICKET + dw UnusableItem ; GOLD_TEETH + dw ItemUseXStat ; X_ATTACK + dw ItemUseXStat ; X_DEFEND + dw ItemUseXStat ; X_SPEED + dw ItemUseXStat ; X_SPECIAL + dw ItemUseCoinCase ; COIN_CASE + dw ItemUseOaksParcel ; OAKS_PARCEL + dw ItemUseItemfinder ; ITEMFINDER + dw UnusableItem ; SILPH_SCOPE + dw ItemUsePokeflute ; POKE_FLUTE + dw UnusableItem ; LIFT_KEY + dw UnusableItem ; EXP_ALL + dw ItemUseOldRod ; OLD_ROD + dw ItemUseGoodRod ; GOOD_ROD + dw ItemUseSuperRod ; SUPER_ROD + dw ItemUsePPUp ; PP_UP (real one) + dw ItemUsePPRestore ; ETHER + dw ItemUsePPRestore ; MAX_ETHER + dw ItemUsePPRestore ; ELIXER + dw ItemUsePPRestore ; MAX_ELIXER + +ItemUseBall: + +; Balls can't be used out of battle. + ld a, [wIsInBattle] + and a + jp z, ItemUseNotTime + +; Balls can't catch trainers' Pokémon. + dec a + jp nz, ThrowBallAtTrainerMon + +; If this is for the old man battle, skip checking if the party & box are full. + ld a, [wBattleType] + dec a + jr z, .canUseBall + + ld a, [wPartyCount] ; is party full? + cp PARTY_LENGTH + jr nz, .canUseBall + ld a, [wNumInBox] ; is box full? + cp MONS_PER_BOX + jp z, BoxFullCannotThrowBall + +.canUseBall + xor a + ld [wCapturedMonSpecies], a + + ld a, [wBattleType] + cp BATTLE_TYPE_SAFARI + jr nz, .skipSafariZoneCode + +.safariZone + ld hl, wNumSafariBalls + dec [hl] ; remove a Safari Ball + +.skipSafariZoneCode + call RunDefaultPaletteCommand + + ld a, $43 ; successful capture value + ld [wPokeBallAnimData], a + + call LoadScreenTilesFromBuffer1 + ld hl, ItemUseText00 + call PrintText + +; If the player is fighting an unidentified ghost, set the value that indicates +; the Pokémon can't be caught and skip the capture calculations. + callab IsGhostBattle + ld b, $10 ; can't be caught value + jp z, .setAnimData + + ld a, [wBattleType] + dec a + jr nz, .notOldManBattle + +.oldManBattle + ld hl, wGrassRate + ld de, wPlayerName + ld bc, NAME_LENGTH + call CopyData ; save the player's name in the Wild Monster data (part of the Cinnabar Island Missingno. glitch) + jp .captured + +.notOldManBattle +; If the player is fighting the ghost Marowak, set the value that indicates the +; Pokémon can't be caught and skip the capture calculations. + ld a, [wCurMap] + cp POKEMON_TOWER_6F + jr nz, .loop + ld a, [wEnemyMonSpecies2] + cp MAROWAK + ld b, $10 ; can't be caught value + jp z, .setAnimData + +; Get the first random number. Let it be called Rand1. +; Rand1 must be within a certain range according the kind of ball being thrown. +; The ranges are as follows. +; Poké Ball: [0, 255] +; Great Ball: [0, 200] +; Ultra/Safari Ball: [0, 150] +; Loop until an acceptable number is found. + +.loop + call Random + ld b, a + +; Get the item ID. + ld hl, wcf91 + ld a, [hl] + +; The Master Ball always succeeds. + cp MASTER_BALL + jp z, .captured + +; Anything will do for the basic Poké Ball. + cp POKE_BALL + jr z, .checkForAilments + +; If it's a Great/Ultra/Safari Ball and Rand1 is greater than 200, try again. + ld a, 200 + cp b + jr c, .loop + +; Less than or equal to 200 is good enough for a Great Ball. + ld a, [hl] + cp GREAT_BALL + jr z, .checkForAilments + +; If it's an Ultra/Safari Ball and Rand1 is greater than 150, try again. + ld a, 150 + cp b + jr c, .loop + +.checkForAilments +; Pokémon can be caught more easily with a status ailment. +; Depending on the status ailment, a certain value will be subtracted from +; Rand1. Let this value be called Status. +; The larger Status is, the more easily the Pokémon can be caught. +; no status ailment: Status = 0 +; Burn/Paralysis/Poison: Status = 12 +; Freeze/Sleep: Status = 25 +; If Status is greater than Rand1, the Pokémon will be caught for sure. + ld a, [wEnemyMonStatus] + and a + jr z, .skipAilmentValueSubtraction ; no ailments + and 1 << FRZ | SLP + ld c, 12 + jr z, .notFrozenOrAsleep + ld c, 25 +.notFrozenOrAsleep + ld a, b + sub c + jp c, .captured + ld b, a + +.skipAilmentValueSubtraction + push bc ; save (Rand1 - Status) + +; Calculate MaxHP * 255. + xor a + ld [H_MULTIPLICAND], a + ld hl, wEnemyMonMaxHP + ld a, [hli] + ld [H_MULTIPLICAND + 1], a + ld a, [hl] + ld [H_MULTIPLICAND + 2], a + ld a, 255 + ld [H_MULTIPLIER], a + call Multiply + +; Determine BallFactor. It's 8 for Great Balls and 12 for the others. + ld a, [wcf91] + cp GREAT_BALL + ld a, 12 + jr nz, .skip1 + ld a, 8 + +.skip1 +; Note that the results of all division operations are floored. + +; Calculate (MaxHP * 255) / BallFactor. + ld [H_DIVISOR], a + ld b, 4 ; number of bytes in dividend + call Divide + +; Divide the enemy's current HP by 4. HP is not supposed to exceed 999 so +; the result should fit in a. If the division results in a quotient of 0, +; change it to 1. + ld hl, wEnemyMonHP + ld a, [hli] + ld b, a + ld a, [hl] + srl b + rr a + srl b + rr a + and a + jr nz, .skip2 + inc a + +.skip2 +; Let W = ((MaxHP * 255) / BallFactor) / max(HP / 4, 1). Calculate W. + ld [H_DIVISOR], a + ld b, 4 + call Divide + +; If W > 255, store 255 in [H_QUOTIENT + 3]. +; Let X = min(W, 255) = [H_QUOTIENT + 3]. + ld a, [H_QUOTIENT + 2] + and a + jr z, .skip3 + ld a, 255 + ld [H_QUOTIENT + 3], a + +.skip3 + pop bc ; b = Rand1 - Status + +; If Rand1 - Status > CatchRate, the ball fails to capture the Pokémon. + ld a, [wEnemyMonActualCatchRate] + cp b + jr c, .failedToCapture + +; If W > 255, the ball captures the Pokémon. + ld a, [H_QUOTIENT + 2] + and a + jr nz, .captured + + call Random ; Let this random number be called Rand2. + +; If Rand2 > X, the ball fails to capture the Pokémon. + ld b, a + ld a, [H_QUOTIENT + 3] + cp b + jr c, .failedToCapture + +.captured + jr .skipShakeCalculations + +.failedToCapture + ld a, [H_QUOTIENT + 3] + ld [wPokeBallCaptureCalcTemp], a ; Save X. + +; Calculate CatchRate * 100. + xor a + ld [H_MULTIPLICAND], a + ld [H_MULTIPLICAND + 1], a + ld a, [wEnemyMonActualCatchRate] + ld [H_MULTIPLICAND + 2], a + ld a, 100 + ld [H_MULTIPLIER], a + call Multiply + +; Determine BallFactor2. +; Poké Ball: BallFactor2 = 255 +; Great Ball: BallFactor2 = 200 +; Ultra/Safari Ball: BallFactor2 = 150 + ld a, [wcf91] + ld b, 255 + cp POKE_BALL + jr z, .skip4 + ld b, 200 + cp GREAT_BALL + jr z, .skip4 + ld b, 150 + cp ULTRA_BALL + jr z, .skip4 + +.skip4 +; Let Y = (CatchRate * 100) / BallFactor2. Calculate Y. + ld a, b + ld [H_DIVISOR], a + ld b, 4 + call Divide + +; If Y > 255, there are 3 shakes. +; Note that this shouldn't be possible. +; The maximum value of Y is (255 * 100) / 150 = 170. + ld a, [H_QUOTIENT + 2] + and a + ld b, $63 ; 3 shakes + jr nz, .setAnimData + +; Calculate X * Y. + ld a, [wPokeBallCaptureCalcTemp] + ld [H_MULTIPLIER], a + call Multiply + +; Calculate (X * Y) / 255. + ld a, 255 + ld [H_DIVISOR], a + ld b, 4 + call Divide + +; Determine Status2. +; no status ailment: Status2 = 0 +; Burn/Paralysis/Poison: Status2 = 5 +; Freeze/Sleep: Status2 = 10 + ld a, [wEnemyMonStatus] + and a + jr z, .skip5 + and 1 << FRZ | SLP + ld b, 5 + jr z, .addAilmentValue + ld b, 10 + +.addAilmentValue +; If the Pokémon has a status ailment, add Status2. + ld a, [H_QUOTIENT + 3] + add b + ld [H_QUOTIENT + 3], a + +.skip5 +; Finally determine the number of shakes. +; Let Z = ((X * Y) / 255) + Status2 = [H_QUOTIENT + 3]. +; The number of shakes depend on the range Z is in. +; 0 ≤ Z < 10: 0 shakes (the ball misses) +; 10 ≤ Z < 30: 1 shake +; 30 ≤ Z < 70: 2 shakes +; 70 ≤ Z: 3 shakes + ld a, [H_QUOTIENT + 3] + cp 10 + ld b, $20 + jr c, .setAnimData + cp 30 + ld b, $61 + jr c, .setAnimData + cp 70 + ld b, $62 + jr c, .setAnimData + ld b, $63 + +.setAnimData + ld a, b + ld [wPokeBallAnimData], a + +.skipShakeCalculations + ld c, 20 + call DelayFrames + +; Do the animation. + ld a, TOSS_ANIM + ld [wAnimationID], a + xor a + ld [H_WHOSETURN], a + ld [wAnimationType], a + ld [wDamageMultipliers], a + ld a, [wWhichPokemon] + push af + ld a, [wcf91] + push af + predef MoveAnimation + pop af + ld [wcf91], a + pop af + ld [wWhichPokemon], a + +; Determine the message to display from the animation. + ld a, [wPokeBallAnimData] + cp $10 + ld hl, ItemUseBallText00 + jp z, .printMessage + cp $20 + ld hl, ItemUseBallText01 + jp z, .printMessage + cp $61 + ld hl, ItemUseBallText02 + jp z, .printMessage + cp $62 + ld hl, ItemUseBallText03 + jp z, .printMessage + cp $63 + ld hl, ItemUseBallText04 + jp z, .printMessage + +; Save current HP. + ld hl, wEnemyMonHP + ld a, [hli] + push af + ld a, [hli] + push af + +; Save status ailment. + inc hl + ld a, [hl] + push af + + push hl + +; If the Pokémon is transformed, the Pokémon is assumed to be a Ditto. +; This is a bug because a wild Pokémon could have used Transform via +; Mirror Move even though the only wild Pokémon that knows Transform is Ditto. + ld hl, wEnemyBattleStatus3 + bit TRANSFORMED, [hl] + jr z, .notTransformed + ld a, DITTO + ld [wEnemyMonSpecies2], a + jr .skip6 + +.notTransformed +; If the Pokémon is not transformed, set the transformed bit and copy the +; DVs to wTransformedEnemyMonOriginalDVs so that LoadEnemyMonData won't generate +; new DVs. + set TRANSFORMED, [hl] + ld hl, wTransformedEnemyMonOriginalDVs + ld a, [wEnemyMonDVs] + ld [hli], a + ld a, [wEnemyMonDVs + 1] + ld [hl], a + +.skip6 + ld a, [wcf91] + push af + ld a, [wEnemyMonSpecies2] + ld [wcf91], a + ld a, [wEnemyMonLevel] + ld [wCurEnemyLVL], a + callab LoadEnemyMonData + pop af + ld [wcf91], a + pop hl + pop af + ld [hld], a + dec hl + pop af + ld [hld], a + pop af + ld [hl], a + ld a, [wEnemyMonSpecies] + ld [wCapturedMonSpecies], a + ld [wcf91], a + ld [wd11e], a + ld a, [wBattleType] + dec a ; is this the old man battle? + jr z, .oldManCaughtMon ; if so, don't give the player the caught Pokémon + + ld hl, ItemUseBallText05 + call PrintText + +; Add the caught Pokémon to the Pokédex. + predef IndexToPokedex + ld a, [wd11e] + dec a + ld c, a + ld b, FLAG_TEST + ld hl, wPokedexOwned + predef FlagActionPredef + ld a, c + push af + ld a, [wd11e] + dec a + ld c, a + ld b, FLAG_SET + predef FlagActionPredef + pop af + + and a ; was the Pokémon already in the Pokédex? + jr nz, .skipShowingPokedexData ; if so, don't show the Pokédex data + + ld hl, ItemUseBallText06 + call PrintText + call ClearSprites + ld a, [wEnemyMonSpecies] + ld [wd11e], a + predef ShowPokedexData + +.skipShowingPokedexData + ld a, [wPartyCount] + cp PARTY_LENGTH ; is party full? + jr z, .sendToBox + xor a ; PLAYER_PARTY_DATA + ld [wMonDataLocation], a + call ClearSprites + call AddPartyMon + jr .done + +.sendToBox + call ClearSprites + call SendNewMonToBox + ld hl, ItemUseBallText07 + CheckEvent EVENT_MET_BILL + jr nz, .printTransferredToPCText + ld hl, ItemUseBallText08 +.printTransferredToPCText + call PrintText + jr .done + +.oldManCaughtMon + ld hl, ItemUseBallText05 + +.printMessage + call PrintText + call ClearSprites + +.done + ld a, [wBattleType] + and a ; is this the old man battle? + ret nz ; if so, don't remove a ball from the bag + +; Remove a ball from the bag. + ld hl, wNumBagItems + inc a + ld [wItemQuantity], a + jp RemoveItemFromInventory + +ItemUseBallText00: +;"It dodged the thrown ball!" +;"This pokemon can't be caught" + TX_FAR _ItemUseBallText00 + db "@" +ItemUseBallText01: +;"You missed the pokemon!" + TX_FAR _ItemUseBallText01 + db "@" +ItemUseBallText02: +;"Darn! The pokemon broke free!" + TX_FAR _ItemUseBallText02 + db "@" +ItemUseBallText03: +;"Aww! It appeared to be caught!" + TX_FAR _ItemUseBallText03 + db "@" +ItemUseBallText04: +;"Shoot! It was so close too!" + TX_FAR _ItemUseBallText04 + db "@" +ItemUseBallText05: +;"All right! {MonName} was caught!" +;play sound + TX_FAR _ItemUseBallText05 + TX_SFX_CAUGHT_MON + TX_BLINK + db "@" +ItemUseBallText07: +;"X was transferred to Bill's PC" + TX_FAR _ItemUseBallText07 + db "@" +ItemUseBallText08: +;"X was transferred to someone's PC" + TX_FAR _ItemUseBallText08 + db "@" + +ItemUseBallText06: +;"New DEX data will be added..." +;play sound + TX_FAR _ItemUseBallText06 + TX_SFX_DEX_PAGE_ADDED + TX_BLINK + db "@" + +ItemUseTownMap: + ld a, [wIsInBattle] + and a + jp nz, ItemUseNotTime + jpba DisplayTownMap + +ItemUseBicycle: + ld a, [wIsInBattle] + and a + jp nz, ItemUseNotTime + ld a, [wWalkBikeSurfState] + ld [wWalkBikeSurfStateCopy], a + cp 2 ; is the player surfing? + jp z, ItemUseNotTime + dec a ; is player already bicycling? + jr nz, .tryToGetOnBike +.getOffBike + call ItemUseReloadOverworldData + xor a + ld [wWalkBikeSurfState], a ; change player state to walking + call PlayDefaultMusic ; play walking music + ld hl, GotOffBicycleText + jr .printText +.tryToGetOnBike + call IsBikeRidingAllowed + jp nc, NoCyclingAllowedHere + call ItemUseReloadOverworldData + xor a ; no keys pressed + ld [hJoyHeld], a ; current joypad state + inc a + ld [wWalkBikeSurfState], a ; change player state to bicycling + ld hl, GotOnBicycleText + call PlayDefaultMusic ; play bike riding music +.printText + jp PrintText + +; used for Surf out-of-battle effect +ItemUseSurfboard: + ld a, [wWalkBikeSurfState] + ld [wWalkBikeSurfStateCopy], a + cp 2 ; is the player already surfing? + jr z, .tryToStopSurfing +.tryToSurf + call IsNextTileShoreOrWater + jp c, SurfingAttemptFailed + ld hl, TilePairCollisionsWater + call CheckForTilePairCollisions + jp c, SurfingAttemptFailed +.surf + call .makePlayerMoveForward + ld hl, wd730 + set 7, [hl] + ld a, 2 + ld [wWalkBikeSurfState], a ; change player state to surfing + call PlayDefaultMusic ; play surfing music + ld hl, SurfingGotOnText + jp PrintText +.tryToStopSurfing + xor a + ld [hSpriteIndexOrTextID], a + ld d, 16 ; talking range in pixels (normal range) + call IsSpriteInFrontOfPlayer2 + res 7, [hl] + ld a, [hSpriteIndexOrTextID] + and a ; is there a sprite in the way? + jr nz, .cannotStopSurfing + ld hl, TilePairCollisionsWater + call CheckForTilePairCollisions + jr c, .cannotStopSurfing + ld hl, wTilesetCollisionPtr ; pointer to list of passable tiles + ld a, [hli] + ld h, [hl] + ld l, a ; hl now points to passable tiles + ld a, [wTileInFrontOfPlayer] ; tile in front of the player + ld b, a +.passableTileLoop + ld a, [hli] + cp b + jr z, .stopSurfing + cp $ff + jr nz, .passableTileLoop +.cannotStopSurfing + ld hl, SurfingNoPlaceToGetOffText + jp PrintText +.stopSurfing + call .makePlayerMoveForward + ld hl, wd730 + set 7, [hl] + xor a + ld [wWalkBikeSurfState], a ; change player state to walking + dec a + ld [wJoyIgnore], a + call PlayDefaultMusic ; play walking music + jp LoadWalkingPlayerSpriteGraphics +; uses a simulated button press to make the player move forward +.makePlayerMoveForward + ld a, [wPlayerDirection] ; direction the player is going + bit PLAYER_DIR_BIT_UP, a + ld b, D_UP + jr nz, .storeSimulatedButtonPress + bit PLAYER_DIR_BIT_DOWN, a + ld b, D_DOWN + jr nz, .storeSimulatedButtonPress + bit PLAYER_DIR_BIT_LEFT, a + ld b, D_LEFT + jr nz, .storeSimulatedButtonPress + ld b, D_RIGHT +.storeSimulatedButtonPress + ld a, b + ld [wSimulatedJoypadStatesEnd], a + xor a + ld [wWastedByteCD39], a + inc a + ld [wSimulatedJoypadStatesIndex], a + ret + +SurfingGotOnText: + TX_FAR _SurfingGotOnText + db "@" + +SurfingNoPlaceToGetOffText: + TX_FAR _SurfingNoPlaceToGetOffText + db "@" + +ItemUsePokedex: + predef_jump ShowPokedexMenu + +ItemUseEvoStone: + ld a, [wIsInBattle] + and a + jp nz, ItemUseNotTime + ld a, [wWhichPokemon] + push af + ld a, [wcf91] + ld [wEvoStoneItemID], a + push af + ld a, EVO_STONE_PARTY_MENU + ld [wPartyMenuTypeOrMessageID], a + ld a, $ff + ld [wUpdateSpritesEnabled], a + call DisplayPartyMenu + pop bc + jr c, .canceledItemUse + ld a, b + ld [wcf91], a + ld a, $01 + ld [wForceEvolution], a + ld a, SFX_HEAL_AILMENT + call PlaySoundWaitForCurrent + call WaitForSoundToFinish + callab TryEvolvingMon ; try to evolve pokemon + ld a, [wEvolutionOccurred] + and a + jr z, .noEffect + pop af + ld [wWhichPokemon], a + ld hl, wNumBagItems + ld a, 1 ; remove 1 stone + ld [wItemQuantity], a + jp RemoveItemFromInventory +.noEffect + call ItemUseNoEffect +.canceledItemUse + xor a + ld [wActionResultOrTookBattleTurn], a ; item not used + pop af + ret + +ItemUseVitamin: + ld a, [wIsInBattle] + and a + jp nz, ItemUseNotTime + +ItemUseMedicine: + ld a, [wPartyCount] + and a + jp z, .emptyParty + ld a, [wWhichPokemon] + push af + ld a, [wcf91] + push af + ld a, USE_ITEM_PARTY_MENU + ld [wPartyMenuTypeOrMessageID], a + ld a, $ff + ld [wUpdateSpritesEnabled], a + ld a, [wPseudoItemID] + and a ; using Softboiled? + jr z, .notUsingSoftboiled +; if using softboiled + call GoBackToPartyMenu + jr .getPartyMonDataAddress +.emptyParty + ld hl, .emptyPartyText + xor a + ld [wActionResultOrTookBattleTurn], a ; item use failed + jp PrintText +.emptyPartyText + text "You don't have" + line "any #MON!" + prompt +.notUsingSoftboiled + call DisplayPartyMenu +.getPartyMonDataAddress + jp c, .canceledItemUse + ld hl, wPartyMons + ld bc, wPartyMon2 - wPartyMon1 + ld a, [wWhichPokemon] + call AddNTimes + ld a, [wWhichPokemon] + ld [wUsedItemOnWhichPokemon], a + ld d, a + ld a, [wcf91] + ld e, a + ld [wd0b5], a + pop af + ld [wcf91], a + pop af + ld [wWhichPokemon], a + ld a, [wPseudoItemID] + and a ; using Softboiled? + jr z, .checkItemType +; if using softboiled + ld a, [wWhichPokemon] + cp d ; is the pokemon trying to use softboiled on itself? + jr z, ItemUseMedicine ; if so, force another choice +.checkItemType + ld a, [wcf91] + cp REVIVE + jr nc, .healHP ; if it's a Revive or Max Revive + cp FULL_HEAL + jr z, .cureStatusAilment ; if it's a Full Heal + cp HP_UP + jp nc, .useVitamin ; if it's a vitamin or Rare Candy + cp FULL_RESTORE + jr nc, .healHP ; if it's a Full Restore or one of the potions +; fall through if it's one of the status-specific healing items +.cureStatusAilment + ld bc, wPartyMon1Status - wPartyMon1 + add hl, bc ; hl now points to status + ld a, [wcf91] + lb bc, ANTIDOTE_MSG, 1 << PSN + cp ANTIDOTE + jr z, .checkMonStatus + lb bc, BURN_HEAL_MSG, 1 << BRN + cp BURN_HEAL + jr z, .checkMonStatus + lb bc, ICE_HEAL_MSG, 1 << FRZ + cp ICE_HEAL + jr z, .checkMonStatus + lb bc, AWAKENING_MSG, SLP + cp AWAKENING + jr z, .checkMonStatus + lb bc, PARALYZ_HEAL_MSG, 1 << PAR + cp PARLYZ_HEAL + jr z, .checkMonStatus + lb bc, FULL_HEAL_MSG, $ff ; Full Heal +.checkMonStatus + ld a, [hl] ; pokemon's status + and c ; does the pokemon have a status ailment the item can cure? + jp z, .healingItemNoEffect +; if the pokemon has a status the item can heal + xor a + ld [hl], a ; remove the status ailment in the party data + ld a, b + ld [wPartyMenuTypeOrMessageID], a ; the message to display for the item used + ld a, [wPlayerMonNumber] + cp d ; is pokemon the item was used on active in battle? + jp nz, .doneHealing +; if it is active in battle + xor a + ld [wBattleMonStatus], a ; remove the status ailment in the in-battle pokemon data + push hl + ld hl, wPlayerBattleStatus3 + res BADLY_POISONED, [hl] ; heal Toxic status + pop hl + ld bc, wPartyMon1Stats - wPartyMon1Status + add hl, bc ; hl now points to party stats + ld de, wBattleMonStats + ld bc, NUM_STATS * 2 + call CopyData ; copy party stats to in-battle stat data + predef DoubleOrHalveSelectedStats + jp .doneHealing +.healHP + inc hl ; hl = address of current HP + ld a, [hli] + ld b, a + ld [wHPBarOldHP+1], a + ld a, [hl] + ld c, a + ld [wHPBarOldHP], a ; current HP stored at wHPBarOldHP (2 bytes, big-endian) + or b + jr nz, .notFainted +.fainted + ld a, [wcf91] + cp REVIVE + jr z, .updateInBattleFaintedData + cp MAX_REVIVE + jr z, .updateInBattleFaintedData + jp .healingItemNoEffect +.updateInBattleFaintedData + ld a, [wIsInBattle] + and a + jr z, .compareCurrentHPToMaxHP + push hl + push de + push bc + ld a, [wUsedItemOnWhichPokemon] + ld c, a + ld hl, wPartyFoughtCurrentEnemyFlags + ld b, FLAG_TEST + predef FlagActionPredef + ld a, c + and a + jr z, .next + ld a, [wUsedItemOnWhichPokemon] + ld c, a + ld hl, wPartyGainExpFlags + ld b, FLAG_SET + predef FlagActionPredef +.next + pop bc + pop de + pop hl + jr .compareCurrentHPToMaxHP +.notFainted + ld a, [wcf91] + cp REVIVE + jp z, .healingItemNoEffect + cp MAX_REVIVE + jp z, .healingItemNoEffect +.compareCurrentHPToMaxHP + push hl + push bc + ld bc, wPartyMon1MaxHP - (wPartyMon1HP + 1) + add hl, bc ; hl now points to max HP + pop bc + ld a, [hli] + cp b + jr nz, .skipComparingLSB ; no need to compare the LSB's if the MSB's don't match + ld a, [hl] + cp c +.skipComparingLSB + pop hl + jr nz, .notFullHP +.fullHP ; if the pokemon's current HP equals its max HP + ld a, [wcf91] + cp FULL_RESTORE + jp nz, .healingItemNoEffect + inc hl + inc hl + ld a, [hld] ; status ailment + and a ; does the pokemon have a status ailment? + jp z, .healingItemNoEffect + ld a, FULL_HEAL + ld [wcf91], a + dec hl + dec hl + dec hl + jp .cureStatusAilment +.notFullHP ; if the pokemon's current HP doesn't equal its max HP + xor a + ld [wLowHealthAlarm], a ;disable low health alarm + ld [wChannelSoundIDs + Ch5], a + push hl + push de + ld bc, wPartyMon1MaxHP - (wPartyMon1HP + 1) + add hl, bc ; hl now points to max HP + ld a, [hli] + ld [wHPBarMaxHP+1], a + ld a, [hl] + ld [wHPBarMaxHP], a ; max HP stored at wHPBarMaxHP (2 bytes, big-endian) + ld a, [wPseudoItemID] + and a ; using Softboiled? + jp z, .notUsingSoftboiled2 +; if using softboiled + ld hl, wHPBarMaxHP + ld a, [hli] + push af + ld a, [hli] + push af + ld a, [hli] + push af + ld a, [hl] + push af + ld hl, wPartyMon1MaxHP + ld a, [wWhichPokemon] + ld bc, wPartyMon2 - wPartyMon1 + call AddNTimes + ld a, [hli] + ld [wHPBarMaxHP + 1], a + ld [H_DIVIDEND], a + ld a, [hl] + ld [wHPBarMaxHP], a + ld [H_DIVIDEND + 1], a + ld a, 5 + ld [H_DIVISOR], a + ld b, 2 ; number of bytes + call Divide ; get 1/5 of max HP of pokemon that used Softboiled + ld bc, (wPartyMon1HP + 1) - (wPartyMon1MaxHP + 1) + add hl, bc ; hl now points to LSB of current HP of pokemon that used Softboiled +; subtract 1/5 of max HP from current HP of pokemon that used Softboiled + ld a, [H_QUOTIENT + 3] + push af + ld b, a + ld a, [hl] + ld [wHPBarOldHP], a + sub b + ld [hld], a + ld [wHPBarNewHP], a + ld a, [H_QUOTIENT + 2] + ld b, a + ld a, [hl] + ld [wHPBarOldHP+1], a + sbc b + ld [hl], a + ld [wHPBarNewHP+1], a + coord hl, 4, 1 + ld a, [wWhichPokemon] + ld bc, 2 * SCREEN_WIDTH + call AddNTimes ; calculate coordinates of HP bar of pokemon that used Softboiled + ld a, SFX_HEAL_HP + call PlaySoundWaitForCurrent + ld a, [hFlags_0xFFF6] + set 0, a + ld [hFlags_0xFFF6], a + ld a, $02 + ld [wHPBarType], a + predef UpdateHPBar2 ; animate HP bar decrease of pokemon that used Softboiled + ld a, [hFlags_0xFFF6] + res 0, a + ld [hFlags_0xFFF6], a + pop af + ld b, a ; store heal amount (1/5 of max HP) + ld hl, wHPBarOldHP + 1 + pop af + ld [hld], a + pop af + ld [hld], a + pop af + ld [hld], a + pop af + ld [hl], a + jr .addHealAmount +.notUsingSoftboiled2 + ld a, [wcf91] + cp SODA_POP + ld b, 60 ; Soda Pop heal amount + jr z, .addHealAmount + ld b, 80 ; Lemonade heal amount + jr nc, .addHealAmount + cp FRESH_WATER + ld b, 50 ; Fresh Water heal amount + jr z, .addHealAmount + cp SUPER_POTION + ld b, 200 ; Hyper Potion heal amount + jr c, .addHealAmount + ld b, 50 ; Super Potion heal amount + jr z, .addHealAmount + ld b, 20 ; Potion heal amount +.addHealAmount + pop de + pop hl + ld a, [hl] + add b + ld [hld], a + ld [wHPBarNewHP], a + ld a, [hl] + ld [wHPBarNewHP+1], a + jr nc, .noCarry + inc [hl] + ld a, [hl] + ld [wHPBarNewHP + 1], a +.noCarry + push de + inc hl + ld d, h + ld e, l ; de now points to current HP + ld hl, (wPartyMon1MaxHP + 1) - (wPartyMon1HP + 1) + add hl, de ; hl now points to max HP + ld a, [wcf91] + cp REVIVE + jr z, .setCurrentHPToHalfMaxHP + ld a, [hld] + ld b, a + ld a, [de] + sub b + dec de + ld b, [hl] + ld a, [de] + sbc b + jr nc, .setCurrentHPToMaxHp ; if current HP exceeds max HP after healing + ld a, [wcf91] + cp HYPER_POTION + jr c, .setCurrentHPToMaxHp ; if using a Full Restore or Max Potion + cp MAX_REVIVE + jr z, .setCurrentHPToMaxHp ; if using a Max Revive + jr .updateInBattleData +.setCurrentHPToHalfMaxHP + dec hl + dec de + ld a, [hli] + srl a + ld [de], a + ld [wHPBarNewHP+1], a + ld a, [hl] + rr a + inc de + ld [de], a + ld [wHPBarNewHP], a + dec de + jr .doneHealingPartyHP +.setCurrentHPToMaxHp + ld a, [hli] + ld [de], a + ld [wHPBarNewHP+1], a + inc de + ld a, [hl] + ld [de], a + ld [wHPBarNewHP], a + dec de +.doneHealingPartyHP ; done updating the pokemon's current HP in the party data structure + ld a, [wcf91] + cp FULL_RESTORE + jr nz, .updateInBattleData + ld bc, wPartyMon1Status - (wPartyMon1MaxHP + 1) + add hl, bc + xor a + ld [hl], a ; remove the status ailment in the party data +.updateInBattleData + ld h, d + ld l, e + pop de + ld a, [wPlayerMonNumber] + cp d ; is pokemon the item was used on active in battle? + jr nz, .calculateHPBarCoords +; copy party HP to in-battle HP + ld a, [hli] + ld [wBattleMonHP], a + ld a, [hld] + ld [wBattleMonHP + 1], a + ld a, [wcf91] + cp FULL_RESTORE + jr nz, .calculateHPBarCoords + xor a + ld [wBattleMonStatus], a ; remove the status ailment in the in-battle pokemon data +.calculateHPBarCoords + ld hl, wOAMBuffer + $90 + ld bc, 2 * SCREEN_WIDTH + inc d +.calculateHPBarCoordsLoop + add hl, bc + dec d + jr nz, .calculateHPBarCoordsLoop + jr .doneHealing +.healingItemNoEffect + call ItemUseNoEffect + jp .done +.doneHealing + ld a, [wPseudoItemID] + and a ; using Softboiled? + jr nz, .skipRemovingItem ; no item to remove if using Softboiled + push hl + call RemoveUsedItem + pop hl +.skipRemovingItem + ld a, [wcf91] + cp FULL_RESTORE + jr c, .playStatusAilmentCuringSound + cp FULL_HEAL + jr z, .playStatusAilmentCuringSound + ld a, SFX_HEAL_HP + call PlaySoundWaitForCurrent + ld a, [hFlags_0xFFF6] + set 0, a + ld [hFlags_0xFFF6], a + ld a, $02 + ld [wHPBarType], a + predef UpdateHPBar2 ; animate the HP bar lengthening + ld a, [hFlags_0xFFF6] + res 0, a + ld [hFlags_0xFFF6], a + ld a, REVIVE_MSG + ld [wPartyMenuTypeOrMessageID], a + ld a, [wcf91] + cp REVIVE + jr z, .showHealingItemMessage + cp MAX_REVIVE + jr z, .showHealingItemMessage + ld a, POTION_MSG + ld [wPartyMenuTypeOrMessageID], a + jr .showHealingItemMessage +.playStatusAilmentCuringSound + ld a, SFX_HEAL_AILMENT + call PlaySoundWaitForCurrent +.showHealingItemMessage + xor a + ld [H_AUTOBGTRANSFERENABLED], a + call ClearScreen + dec a + ld [wUpdateSpritesEnabled], a + call RedrawPartyMenu ; redraws the party menu and displays the message + ld a, 1 + ld [H_AUTOBGTRANSFERENABLED], a + ld c, 50 + call DelayFrames + call WaitForTextScrollButtonPress + jr .done +.canceledItemUse + xor a + ld [wActionResultOrTookBattleTurn], a ; item use failed + pop af + pop af +.done + ld a, [wPseudoItemID] + and a ; using Softboiled? + ret nz ; if so, return + call GBPalWhiteOut + call z, RunDefaultPaletteCommand + ld a, [wIsInBattle] + and a + ret nz + jp ReloadMapData +.useVitamin + push hl + ld a, [hl] + ld [wd0b5], a + ld [wd11e], a + ld bc, wPartyMon1Level - wPartyMon1 + add hl, bc ; hl now points to level + ld a, [hl] ; a = level + ld [wCurEnemyLVL], a ; store level + call GetMonHeader + push de + ld a, d + ld hl, wPartyMonNicks + call GetPartyMonName + pop de + pop hl + ld a, [wcf91] + cp RARE_CANDY + jp z, .useRareCandy + push hl + sub HP_UP + add a + ld bc, wPartyMon1HPExp - wPartyMon1 + add hl, bc + add l + ld l, a + jr nc, .noCarry2 + inc h +.noCarry2 + ld a, 10 + ld b, a + ld a, [hl] ; a = MSB of stat experience of the appropriate stat + cp 100 ; is there already at least 25600 (256 * 100) stat experience? + jr nc, .vitaminNoEffect ; if so, vitamins can't add any more + add b ; add 2560 (256 * 10) stat experience + jr nc, .noCarry3 ; a carry should be impossible here, so this will always jump + ld a, 255 +.noCarry3 + ld [hl], a + pop hl + call .recalculateStats + ld hl, VitaminText + ld a, [wcf91] + sub HP_UP - 1 + ld c, a +.statNameLoop ; loop to get the address of the name of the stat the vitamin increases + dec c + jr z, .gotStatName +.statNameInnerLoop + ld a, [hli] + ld b, a + ld a, $50 + cp b + jr nz, .statNameInnerLoop + jr .statNameLoop +.gotStatName + ld de, wcf4b + ld bc, 10 + call CopyData ; copy the stat's name to wcf4b + ld a, SFX_HEAL_AILMENT + call PlaySound + ld hl, VitaminStatRoseText + call PrintText + jp RemoveUsedItem +.vitaminNoEffect + pop hl + ld hl, VitaminNoEffectText + call PrintText + jp GBPalWhiteOut +.recalculateStats + ld bc, wPartyMon1Stats - wPartyMon1 + add hl, bc + ld d, h + ld e, l ; de now points to stats + ld bc, (wPartyMon1Exp + 2) - wPartyMon1Stats + add hl, bc ; hl now points to LSB of experience + ld b, 1 + jp CalcStats ; recalculate stats +.useRareCandy + push hl + ld bc, wPartyMon1Level - wPartyMon1 + add hl, bc ; hl now points to level + ld a, [hl] ; a = level + cp MAX_LEVEL + jr z, .vitaminNoEffect ; can't raise level above 100 + inc a + ld [hl], a ; store incremented level + ld [wCurEnemyLVL], a + push hl + push de + ld d, a + callab CalcExperience ; calculate experience for next level and store it at $ff96 + pop de + pop hl + ld bc, wPartyMon1Exp - wPartyMon1Level + add hl, bc ; hl now points to MSB of experience +; update experience to minimum for new level + ld a, [hExperience] + ld [hli], a + ld a, [hExperience + 1] + ld [hli], a + ld a, [hExperience + 2] + ld [hl], a + pop hl + ld a, [wWhichPokemon] + push af + ld a, [wcf91] + push af + push de + push hl + ld bc, wPartyMon1MaxHP - wPartyMon1 + add hl, bc ; hl now points to MSB of max HP + ld a, [hli] + ld b, a + ld c, [hl] + pop hl + push bc + push hl + call .recalculateStats + pop hl + ld bc, (wPartyMon1MaxHP + 1) - wPartyMon1 + add hl, bc ; hl now points to LSB of max HP + pop bc + ld a, [hld] + sub c + ld c, a + ld a, [hl] + sbc b + ld b, a ; bc = the amount of max HP gained from leveling up +; add the amount gained to the current HP + ld de, (wPartyMon1HP + 1) - wPartyMon1MaxHP + add hl, de ; hl now points to LSB of current HP + ld a, [hl] + add c + ld [hld], a + ld a, [hl] + adc b + ld [hl], a + ld a, RARE_CANDY_MSG + ld [wPartyMenuTypeOrMessageID], a + call RedrawPartyMenu + pop de + ld a, d + ld [wWhichPokemon], a + ld a, e + ld [wd11e], a + xor a ; PLAYER_PARTY_DATA + ld [wMonDataLocation], a + call LoadMonData + ld d, $01 + callab PrintStatsBox ; display new stats text box + call WaitForTextScrollButtonPress ; wait for button press + xor a ; PLAYER_PARTY_DATA + ld [wMonDataLocation], a + predef LearnMoveFromLevelUp ; learn level up move, if any + xor a + ld [wForceEvolution], a + callab TryEvolvingMon ; evolve pokemon, if appropriate + ld a, $01 + ld [wUpdateSpritesEnabled], a + pop af + ld [wcf91], a + pop af + ld [wWhichPokemon], a + jp RemoveUsedItem + +VitaminStatRoseText: + TX_FAR _VitaminStatRoseText + db "@" + +VitaminNoEffectText: + TX_FAR _VitaminNoEffectText + db "@" + +VitaminText: + db "HEALTH@" + db "ATTACK@" + db "DEFENSE@" + db "SPEED@" + db "SPECIAL@" + +ItemUseBait: + ld hl, ThrewBaitText + call PrintText + ld hl, wEnemyMonActualCatchRate ; catch rate + srl [hl] ; halve catch rate + ld a, BAIT_ANIM + ld hl, wSafariBaitFactor ; bait factor + ld de, wSafariEscapeFactor ; escape factor + jr BaitRockCommon + +ItemUseRock: + ld hl, ThrewRockText + call PrintText + ld hl, wEnemyMonActualCatchRate ; catch rate + ld a, [hl] + add a ; double catch rate + jr nc, .noCarry + ld a, $ff +.noCarry + ld [hl], a + ld a, ROCK_ANIM + ld hl, wSafariEscapeFactor ; escape factor + ld de, wSafariBaitFactor ; bait factor + +BaitRockCommon: + ld [wAnimationID], a + xor a + ld [wAnimationType], a + ld [H_WHOSETURN], a + ld [de], a ; zero escape factor (for bait), zero bait factor (for rock) +.randomLoop ; loop until a random number less than 5 is generated + call Random + and 7 + cp 5 + jr nc, .randomLoop + inc a ; increment the random number, giving a range from 1 to 5 inclusive + ld b, a + ld a, [hl] + add b ; increase bait factor (for bait), increase escape factor (for rock) + jr nc, .noCarry + ld a, $ff +.noCarry + ld [hl], a + predef MoveAnimation ; do animation + ld c, 70 + jp DelayFrames + +ThrewBaitText: + TX_FAR _ThrewBaitText + db "@" + +ThrewRockText: + TX_FAR _ThrewRockText + db "@" + +; also used for Dig out-of-battle effect +ItemUseEscapeRope: + ld a, [wIsInBattle] + and a + jr nz, .notUsable + ld a, [wCurMap] + cp AGATHAS_ROOM + jr z, .notUsable + ld a, [wCurMapTileset] + ld b, a + ld hl, EscapeRopeTilesets +.loop + ld a, [hli] + cp $ff + jr z, .notUsable + cp b + jr nz, .loop + ld hl, wd732 + set 3, [hl] + set 6, [hl] + ld hl, wd72e + res 4, [hl] + ResetEvent EVENT_IN_SAFARI_ZONE + xor a + ld [wNumSafariBalls], a + ld [wSafariZoneGateCurScript], a + inc a + ld [wEscapedFromBattle], a + ld [wActionResultOrTookBattleTurn], a ; item used + ld a, [wPseudoItemID] + and a ; using Dig? + ret nz ; if so, return + call ItemUseReloadOverworldData + ld c, 30 + call DelayFrames + jp RemoveUsedItem +.notUsable + jp ItemUseNotTime + +EscapeRopeTilesets: + db FOREST, CEMETERY, CAVERN, FACILITY, INTERIOR + db $ff ; terminator + +ItemUseRepel: + ld b, 100 + +ItemUseRepelCommon: + ld a, [wIsInBattle] + and a + jp nz, ItemUseNotTime + ld a, b + ld [wRepelRemainingSteps], a + jp PrintItemUseTextAndRemoveItem + +; handles X Accuracy item +ItemUseXAccuracy: + ld a, [wIsInBattle] + and a + jp z, ItemUseNotTime + ld hl, wPlayerBattleStatus2 + set USING_X_ACCURACY, [hl] ; X Accuracy bit + jp PrintItemUseTextAndRemoveItem + +; This function is bugged and never works. It always jumps to ItemUseNotTime. +; The Card Key is handled in a different way. +ItemUseCardKey: + xor a + ld [wUnusedD71F], a + call GetTileAndCoordsInFrontOfPlayer + ld a, [GetTileAndCoordsInFrontOfPlayer] + cp $18 + jr nz, .next0 + ld hl, CardKeyTable1 + jr .next1 +.next0 + cp $24 + jr nz, .next2 + ld hl, CardKeyTable2 + jr .next1 +.next2 + cp $5e + jp nz, ItemUseNotTime + ld hl, CardKeyTable3 +.next1 + ld a, [wCurMap] + ld b, a +.loop + ld a, [hli] + cp $ff + jp z, ItemUseNotTime + cp b + jr nz, .nextEntry1 + ld a, [hli] + cp d + jr nz, .nextEntry2 + ld a, [hli] + cp e + jr nz, .nextEntry3 + ld a, [hl] + ld [wUnusedD71F], a + jr .done +.nextEntry1 + inc hl +.nextEntry2 + inc hl +.nextEntry3 + inc hl + jr .loop +.done + ld hl, ItemUseText00 + call PrintText + ld hl, wd728 + set 7, [hl] + ret + +; These tables are probably supposed to be door locations in Silph Co., +; but they are unused. +; The reason there are 3 tables is unknown. + +; Format: +; 00: Map ID +; 01: Y +; 02: X +; 03: ID? + +CardKeyTable1: + db SILPH_CO_2F,$04,$04,$00 + db SILPH_CO_2F,$04,$05,$01 + db SILPH_CO_4F,$0C,$04,$02 + db SILPH_CO_4F,$0C,$05,$03 + db SILPH_CO_7F,$06,$0A,$04 + db SILPH_CO_7F,$06,$0B,$05 + db SILPH_CO_9F,$04,$12,$06 + db SILPH_CO_9F,$04,$13,$07 + db SILPH_CO_10F,$08,$0A,$08 + db SILPH_CO_10F,$08,$0B,$09 + db $ff + +CardKeyTable2: + db SILPH_CO_3F,$08,$09,$0A + db SILPH_CO_3F,$09,$09,$0B + db SILPH_CO_5F,$04,$07,$0C + db SILPH_CO_5F,$05,$07,$0D + db SILPH_CO_6F,$0C,$05,$0E + db SILPH_CO_6F,$0D,$05,$0F + db SILPH_CO_8F,$08,$07,$10 + db SILPH_CO_8F,$09,$07,$11 + db SILPH_CO_9F,$08,$03,$12 + db SILPH_CO_9F,$09,$03,$13 + db $ff + +CardKeyTable3: + db SILPH_CO_11F,$08,$09,$14 + db SILPH_CO_11F,$09,$09,$15 + db $ff + +ItemUsePokedoll: + ld a, [wIsInBattle] + dec a + jp nz, ItemUseNotTime + ld a, $01 + ld [wEscapedFromBattle], a + jp PrintItemUseTextAndRemoveItem + +ItemUseGuardSpec: + ld a, [wIsInBattle] + and a + jp z, ItemUseNotTime + ld hl, wPlayerBattleStatus2 + set PROTECTED_BY_MIST, [hl] ; Mist bit + jp PrintItemUseTextAndRemoveItem + +ItemUseSuperRepel: + ld b, 200 + jp ItemUseRepelCommon + +ItemUseMaxRepel: + ld b, 250 + jp ItemUseRepelCommon + +ItemUseDireHit: + ld a, [wIsInBattle] + and a + jp z, ItemUseNotTime + ld hl, wPlayerBattleStatus2 + set GETTING_PUMPED, [hl] ; Focus Energy bit + jp PrintItemUseTextAndRemoveItem + +ItemUseXStat: + ld a, [wIsInBattle] + and a + jr nz, .inBattle + call ItemUseNotTime + ld a, 2 + ld [wActionResultOrTookBattleTurn], a ; item not used + ret +.inBattle + ld hl, wPlayerMoveNum + ld a, [hli] + push af ; save [wPlayerMoveNum] + ld a, [hl] + push af ; save [wPlayerMoveEffect] + push hl + ld a, [wcf91] + sub X_ATTACK - ATTACK_UP1_EFFECT + ld [hl], a ; store player move effect + call PrintItemUseTextAndRemoveItem + ld a, XSTATITEM_ANIM ; X stat item animation ID + ld [wPlayerMoveNum], a + call LoadScreenTilesFromBuffer1 ; restore saved screen + call Delay3 + xor a + ld [H_WHOSETURN], a ; set turn to player's turn + callba StatModifierUpEffect ; do stat increase move + pop hl + pop af + ld [hld], a ; restore [wPlayerMoveEffect] + pop af + ld [hl], a ; restore [wPlayerMoveNum] + ret + +ItemUsePokeflute: + ld a, [wIsInBattle] + and a + jr nz, .inBattle +; if not in battle + call ItemUseReloadOverworldData + ld a, [wCurMap] + cp ROUTE_12 + jr nz, .notRoute12 + CheckEvent EVENT_BEAT_ROUTE12_SNORLAX + jr nz, .noSnorlaxToWakeUp +; if the player hasn't beaten Route 12 Snorlax + ld hl, Route12SnorlaxFluteCoords + call ArePlayerCoordsInArray + jr nc, .noSnorlaxToWakeUp + ld hl, PlayedFluteHadEffectText + call PrintText + SetEvent EVENT_FIGHT_ROUTE12_SNORLAX + ret +.notRoute12 + cp ROUTE_16 + jr nz, .noSnorlaxToWakeUp + CheckEvent EVENT_BEAT_ROUTE16_SNORLAX + jr nz, .noSnorlaxToWakeUp +; if the player hasn't beaten Route 16 Snorlax + ld hl, Route16SnorlaxFluteCoords + call ArePlayerCoordsInArray + jr nc, .noSnorlaxToWakeUp + ld hl, PlayedFluteHadEffectText + call PrintText + SetEvent EVENT_FIGHT_ROUTE16_SNORLAX + ret +.noSnorlaxToWakeUp + ld hl, PlayedFluteNoEffectText + jp PrintText +.inBattle + xor a + ld [wWereAnyMonsAsleep], a + ld b, ~SLP & $ff + ld hl, wPartyMon1Status + call WakeUpEntireParty + ld a, [wIsInBattle] + dec a ; is it a trainer battle? + jr z, .skipWakingUpEnemyParty +; if it's a trainer battle + ld hl, wEnemyMon1Status + call WakeUpEntireParty +.skipWakingUpEnemyParty + ld hl, wBattleMonStatus + ld a, [hl] + and b ; remove Sleep status + ld [hl], a + ld hl, wEnemyMonStatus + ld a, [hl] + and b ; remove Sleep status + ld [hl], a + call LoadScreenTilesFromBuffer2 ; restore saved screen + ld a, [wWereAnyMonsAsleep] + and a ; were any pokemon asleep before playing the flute? + ld hl, PlayedFluteNoEffectText + jp z, PrintText ; if no pokemon were asleep +; if some pokemon were asleep + ld hl, PlayedFluteHadEffectText + call PrintText + ld a, [wLowHealthAlarm] + and $80 + jr nz, .skipMusic + call WaitForSoundToFinish ; wait for sound to end + callba Music_PokeFluteInBattle ; play in-battle pokeflute music +.musicWaitLoop ; wait for music to finish playing + ld a, [wChannelSoundIDs + Ch7] + and a ; music off? + jr nz, .musicWaitLoop +.skipMusic + ld hl, FluteWokeUpText + jp PrintText + +; wakes up all party pokemon +; INPUT: +; hl must point to status of first pokemon in party (player's or enemy's) +; b must equal ~SLP +; [wWereAnyMonsAsleep] should be initialized to 0 +; OUTPUT: +; [wWereAnyMonsAsleep]: set to 1 if any pokemon were asleep +WakeUpEntireParty: + ld de, 44 + ld c, 6 +.loop + ld a, [hl] + push af + and SLP ; is pokemon asleep? + jr z, .notAsleep + ld a, 1 + ld [wWereAnyMonsAsleep], a ; indicate that a pokemon had to be woken up +.notAsleep + pop af + and b ; remove Sleep status + ld [hl], a + add hl, de + dec c + jr nz, .loop + ret + +; Format: +; 00: Y +; 01: X +Route12SnorlaxFluteCoords: + db 62,9 ; one space West of Snorlax + db 61,10 ; one space North of Snorlax + db 63,10 ; one space South of Snorlax + db 62,11 ; one space East of Snorlax + db $ff ; terminator + +; Format: +; 00: Y +; 01: X +Route16SnorlaxFluteCoords: + db 10,27 ; one space East of Snorlax + db 10,25 ; one space West of Snorlax + db $ff ; terminator + +PlayedFluteNoEffectText: + TX_FAR _PlayedFluteNoEffectText + db "@" + +FluteWokeUpText: + TX_FAR _FluteWokeUpText + db "@" + +PlayedFluteHadEffectText: + TX_FAR _PlayedFluteHadEffectText + TX_BLINK + TX_ASM + ld a, [wIsInBattle] + and a + jr nz, .done +; play out-of-battle pokeflute music + ld a, $ff + call PlaySound ; turn off music + ld a, SFX_POKEFLUTE + ld c, BANK(SFX_Pokeflute) + call PlayMusic +.musicWaitLoop ; wait for music to finish playing + ld a, [wChannelSoundIDs + Ch3] + cp SFX_POKEFLUTE + jr z, .musicWaitLoop + call PlayDefaultMusic ; start playing normal music again +.done + jp TextScriptEnd ; end text + +ItemUseCoinCase: + ld a, [wIsInBattle] + and a + jp nz, ItemUseNotTime + ld hl, CoinCaseNumCoinsText + jp PrintText + +CoinCaseNumCoinsText: + TX_FAR _CoinCaseNumCoinsText + db "@" + +ItemUseOldRod: + call FishingInit + jp c, ItemUseNotTime + lb bc, 5, MAGIKARP + ld a, $1 ; set bite + jr RodResponse + +ItemUseGoodRod: + call FishingInit + jp c, ItemUseNotTime +.RandomLoop + call Random + srl a + jr c, .SetBite + and %11 + cp 2 + jr nc, .RandomLoop + ; choose which monster appears + ld hl, GoodRodMons + add a + ld c, a + ld b, 0 + add hl, bc + ld b, [hl] + inc hl + ld c, [hl] + and a +.SetBite + ld a, 0 + rla + xor 1 + jr RodResponse + +INCLUDE "data/good_rod.asm" + +ItemUseSuperRod: + call FishingInit + jp c, ItemUseNotTime + call ReadSuperRodData + ld a, e +RodResponse: + ld [wRodResponse], a + + dec a ; is there a bite? + jr nz, .next + ; if yes, store level and species data + ld a, 1 + ld [wMoveMissed], a + ld a, b ; level + ld [wCurEnemyLVL], a + ld a, c ; species + ld [wCurOpponent], a + +.next + ld hl, wWalkBikeSurfState + ld a, [hl] ; store the value in a + push af + push hl + ld [hl], 0 + callba FishingAnim + pop hl + pop af + ld [hl], a + ret + +; checks if fishing is possible and if so, runs initialization code common to all rods +; unsets carry if fishing is possible, sets carry if not +FishingInit: + ld a, [wIsInBattle] + and a + jr z, .notInBattle + scf ; can't fish during battle + ret +.notInBattle + call IsNextTileShoreOrWater + ret c + ld a, [wWalkBikeSurfState] + cp 2 ; Surfing? + jr z, .surfing + call ItemUseReloadOverworldData + ld hl, ItemUseText00 + call PrintText + ld a, SFX_HEAL_AILMENT + call PlaySound + ld c, 80 + call DelayFrames + and a + ret +.surfing + scf ; can't fish when surfing + ret + +ItemUseOaksParcel: + jp ItemUseNotYoursToUse + +ItemUseItemfinder: + ld a, [wIsInBattle] + and a + jp nz, ItemUseNotTime + call ItemUseReloadOverworldData + callba HiddenItemNear ; check for hidden items + ld hl, ItemfinderFoundNothingText + jr nc, .printText ; if no hidden items + ld c, 4 +.loop + ld a, SFX_HEALING_MACHINE + call PlaySoundWaitForCurrent + ld a, SFX_PURCHASE + call PlaySoundWaitForCurrent + dec c + jr nz, .loop + ld hl, ItemfinderFoundItemText +.printText + jp PrintText + +ItemfinderFoundItemText: + TX_FAR _ItemfinderFoundItemText + db "@" + +ItemfinderFoundNothingText: + TX_FAR _ItemfinderFoundNothingText + db "@" + +ItemUsePPUp: + ld a, [wIsInBattle] + and a + jp nz, ItemUseNotTime + +ItemUsePPRestore: + ld a, [wWhichPokemon] + push af + ld a, [wcf91] + ld [wPPRestoreItem], a +.chooseMon + xor a + ld [wUpdateSpritesEnabled], a + ld a, USE_ITEM_PARTY_MENU + ld [wPartyMenuTypeOrMessageID], a + call DisplayPartyMenu + jr nc, .chooseMove + jp .itemNotUsed +.chooseMove + ld a, [wPPRestoreItem] + cp ELIXER + jp nc, .useElixir ; if Elixir or Max Elixir + ld a, $02 + ld [wMoveMenuType], a + ld hl, RaisePPWhichTechniqueText + ld a, [wPPRestoreItem] + cp ETHER ; is it a PP Up? + jr c, .printWhichTechniqueMessage ; if so, print the raise PP message + ld hl, RestorePPWhichTechniqueText ; otherwise, print the restore PP message +.printWhichTechniqueMessage + call PrintText + xor a + ld [wPlayerMoveListIndex], a + callab MoveSelectionMenu ; move selection menu + ld a, 0 + ld [wPlayerMoveListIndex], a + jr nz, .chooseMon + ld hl, wPartyMon1Moves + ld bc, wPartyMon2 - wPartyMon1 + call GetSelectedMoveOffset + push hl + ld a, [hl] + ld [wd11e], a + call GetMoveName + call CopyStringToCF4B ; copy name to wcf4b + pop hl + ld a, [wPPRestoreItem] + cp ETHER + jr nc, .useEther ; if Ether or Max Ether +.usePPUp + ld bc, wPartyMon1PP - wPartyMon1Moves + add hl, bc + ld a, [hl] ; move PP + cp 3 << 6 ; have 3 PP Ups already been used? + jr c, .PPNotMaxedOut + ld hl, PPMaxedOutText + call PrintText + jr .chooseMove +.PPNotMaxedOut + ld a, [hl] + add 1 << 6 ; increase PP Up count by 1 + ld [hl], a + ld a, 1 ; 1 PP Up used + ld [wd11e], a + call RestoreBonusPP ; add the bonus PP to current PP + ld hl, PPIncreasedText + call PrintText +.done + pop af + ld [wWhichPokemon], a + call GBPalWhiteOut + call RunDefaultPaletteCommand + jp RemoveUsedItem +.afterRestoringPP ; after using a (Max) Ether/Elixir + ld a, [wWhichPokemon] + ld b, a + ld a, [wPlayerMonNumber] + cp b ; is the pokemon whose PP was restored active in battle? + jr nz, .skipUpdatingInBattleData + ld hl, wPartyMon1PP + ld bc, wPartyMon2 - wPartyMon1 + call AddNTimes + ld de, wBattleMonPP + ld bc, 4 + call CopyData ; copy party data to in-battle data +.skipUpdatingInBattleData + ld a, SFX_HEAL_AILMENT + call PlaySound + ld hl, PPRestoredText + call PrintText + jr .done +.useEther + call .restorePP + jr nz, .afterRestoringPP + jp .noEffect +; unsets zero flag if PP was restored, sets zero flag if not +; however, this is bugged for Max Ethers and Max Elixirs (see below) +.restorePP + xor a ; PLAYER_PARTY_DATA + ld [wMonDataLocation], a + call GetMaxPP + ld hl, wPartyMon1Moves + ld bc, wPartyMon2 - wPartyMon1 + call GetSelectedMoveOffset + ld bc, wPartyMon1PP - wPartyMon1Moves + add hl, bc ; hl now points to move's PP + ld a, [wMaxPP] + ld b, a + ld a, [wPPRestoreItem] + cp MAX_ETHER + jr z, .fullyRestorePP + ld a, [hl] ; move PP + and %00111111 ; lower 6 bit bits store current PP + cp b ; does current PP equal max PP? + ret z ; if so, return + add 10 ; increase current PP by 10 +; b holds the max PP amount and b will hold the new PP amount. +; So, if the new amount meets or exceeds the max amount, +; cap the amount to the max amount by leaving b unchanged. +; Otherwise, store the new amount in b. + cp b ; does the new amount meet or exceed the maximum? + jr nc, .storeNewAmount + ld b, a +.storeNewAmount + ld a, [hl] ; move PP + and %11000000 ; PP Up counter bits + add b + ld [hl], a + ret +.fullyRestorePP + ld a, [hl] ; move PP +; Note that this code has a bug. It doesn't mask out the upper two bits, which +; are used to count how many PP Ups have been used on the move. So, Max Ethers +; and Max Elixirs will not be detected as having no effect on a move with full +; PP if the move has had any PP Ups used on it. + cp b ; does current PP equal max PP? + ret z + jr .storeNewAmount +.useElixir +; decrement the item ID so that ELIXER becomes ETHER and MAX_ELIXER becomes MAX_ETHER + ld hl, wPPRestoreItem + dec [hl] + dec [hl] + xor a + ld hl, wCurrentMenuItem + ld [hli], a + ld [hl], a ; zero the counter for number of moves that had their PP restored + ld b, 4 +; loop through each move and restore PP +.elixirLoop + push bc + ld hl, wPartyMon1Moves + ld bc, wPartyMon2 - wPartyMon1 + call GetSelectedMoveOffset + ld a, [hl] + and a ; does the current slot have a move? + jr z, .nextMove + call .restorePP + jr z, .nextMove +; if some PP was restored + ld hl, wTileBehindCursor ; counter for number of moves that had their PP restored + inc [hl] +.nextMove + ld hl, wCurrentMenuItem + inc [hl] + pop bc + dec b + jr nz, .elixirLoop + ld a, [wTileBehindCursor] + and a ; did any moves have their PP restored? + jp nz, .afterRestoringPP +.noEffect + call ItemUseNoEffect +.itemNotUsed + call GBPalWhiteOut + call RunDefaultPaletteCommand + pop af + xor a + ld [wActionResultOrTookBattleTurn], a ; item use failed + ret + +RaisePPWhichTechniqueText: + TX_FAR _RaisePPWhichTechniqueText + db "@" + +RestorePPWhichTechniqueText: + TX_FAR _RestorePPWhichTechniqueText + db "@" + +PPMaxedOutText: + TX_FAR _PPMaxedOutText + db "@" + +PPIncreasedText: + TX_FAR _PPIncreasedText + db "@" + +PPRestoredText: + TX_FAR _PPRestoredText + db "@" + +; for items that can't be used from the Item menu +UnusableItem: + jp ItemUseNotTime + +ItemUseTMHM: + ld a, [wIsInBattle] + and a + jp nz, ItemUseNotTime + ld a, [wcf91] + sub TM_01 + push af + jr nc, .skipAdding + add 55 ; if item is an HM, add 55 +.skipAdding + inc a + ld [wd11e], a + predef TMToMove ; get move ID from TM/HM ID + ld a, [wd11e] + ld [wMoveNum], a + call GetMoveName + call CopyStringToCF4B ; copy name to wcf4b + pop af + ld hl, BootedUpTMText + jr nc, .printBootedUpMachineText + ld hl, BootedUpHMText +.printBootedUpMachineText + call PrintText + ld hl, TeachMachineMoveText + call PrintText + coord hl, 14, 7 + lb bc, 8, 15 + ld a, TWO_OPTION_MENU + ld [wTextBoxID], a + call DisplayTextBoxID ; yes/no menu + ld a, [wCurrentMenuItem] + and a + jr z, .useMachine + ld a, 2 + ld [wActionResultOrTookBattleTurn], a ; item not used + ret +.useMachine + ld a, [wWhichPokemon] + push af + ld a, [wcf91] + push af +.chooseMon + ld hl, wcf4b + ld de, wTempMoveNameBuffer + ld bc, 14 + call CopyData ; save the move name because DisplayPartyMenu will overwrite it + ld a, $ff + ld [wUpdateSpritesEnabled], a + ld a, TMHM_PARTY_MENU + ld [wPartyMenuTypeOrMessageID], a + call DisplayPartyMenu + push af + ld hl, wTempMoveNameBuffer + ld de, wcf4b + ld bc, 14 + call CopyData + pop af + jr nc, .checkIfAbleToLearnMove +; if the player canceled teaching the move + pop af + pop af + call GBPalWhiteOutWithDelay3 + call ClearSprites + call RunDefaultPaletteCommand + jp LoadScreenTilesFromBuffer1 ; restore saved screen +.checkIfAbleToLearnMove + predef CanLearnTM ; check if the pokemon can learn the move + push bc + ld a, [wWhichPokemon] + ld hl, wPartyMonNicks + call GetPartyMonName + pop bc + ld a, c + and a ; can the pokemon learn the move? + jr nz, .checkIfAlreadyLearnedMove +; if the pokemon can't learn the move + ld a, SFX_DENIED + call PlaySoundWaitForCurrent + ld hl, MonCannotLearnMachineMoveText + call PrintText + jr .chooseMon +.checkIfAlreadyLearnedMove + callab CheckIfMoveIsKnown ; check if the pokemon already knows the move + jr c, .chooseMon + predef LearnMove ; teach move + pop af + ld [wcf91], a + pop af + ld [wWhichPokemon], a + ld a, b + and a + ret z + ld a, [wcf91] + call IsItemHM + ret c + jp RemoveUsedItem + +BootedUpTMText: + TX_FAR _BootedUpTMText + db "@" + +BootedUpHMText: + TX_FAR _BootedUpHMText + db "@" + +TeachMachineMoveText: + TX_FAR _TeachMachineMoveText + db "@" + +MonCannotLearnMachineMoveText: + TX_FAR _MonCannotLearnMachineMoveText + db "@" + +PrintItemUseTextAndRemoveItem: + ld hl, ItemUseText00 + call PrintText + ld a, SFX_HEAL_AILMENT + call PlaySound + call WaitForTextScrollButtonPress ; wait for button press + +RemoveUsedItem: + ld hl, wNumBagItems + ld a, 1 ; one item + ld [wItemQuantity], a + jp RemoveItemFromInventory + +ItemUseNoEffect: + ld hl, ItemUseNoEffectText + jr ItemUseFailed + +ItemUseNotTime: + ld hl, ItemUseNotTimeText + jr ItemUseFailed + +ItemUseNotYoursToUse: + ld hl, ItemUseNotYoursToUseText + jr ItemUseFailed + +ThrowBallAtTrainerMon: + call RunDefaultPaletteCommand + call LoadScreenTilesFromBuffer1 ; restore saved screen + call Delay3 + ld a, TOSS_ANIM + ld [wAnimationID], a + predef MoveAnimation ; do animation + ld hl, ThrowBallAtTrainerMonText1 + call PrintText + ld hl, ThrowBallAtTrainerMonText2 + call PrintText + jr RemoveUsedItem + +NoCyclingAllowedHere: + ld hl, NoCyclingAllowedHereText + jr ItemUseFailed + +BoxFullCannotThrowBall: + ld hl, BoxFullCannotThrowBallText + jr ItemUseFailed + +SurfingAttemptFailed: + ld hl, NoSurfingHereText + +ItemUseFailed: + xor a + ld [wActionResultOrTookBattleTurn], a ; item use failed + jp PrintText + +ItemUseNotTimeText: + TX_FAR _ItemUseNotTimeText + db "@" + +ItemUseNotYoursToUseText: + TX_FAR _ItemUseNotYoursToUseText + db "@" + +ItemUseNoEffectText: + TX_FAR _ItemUseNoEffectText + db "@" + +ThrowBallAtTrainerMonText1: + TX_FAR _ThrowBallAtTrainerMonText1 + db "@" + +ThrowBallAtTrainerMonText2: + TX_FAR _ThrowBallAtTrainerMonText2 + db "@" + +NoCyclingAllowedHereText: + TX_FAR _NoCyclingAllowedHereText + db "@" + +NoSurfingHereText: + TX_FAR _NoSurfingHereText + db "@" + +BoxFullCannotThrowBallText: + TX_FAR _BoxFullCannotThrowBallText + db "@" + +ItemUseText00: + TX_FAR _ItemUseText001 + TX_LINE + TX_FAR _ItemUseText002 + db "@" + +GotOnBicycleText: + TX_FAR _GotOnBicycleText1 + TX_LINE + TX_FAR _GotOnBicycleText2 + db "@" + +GotOffBicycleText: + TX_FAR _GotOffBicycleText1 + TX_LINE + TX_FAR _GotOffBicycleText2 + db "@" + +; restores bonus PP (from PP Ups) when healing at a pokemon center +; also, when a PP Up is used, it increases the current PP by one PP Up bonus +; INPUT: +; [wWhichPokemon] = index of pokemon in party +; [wCurrentMenuItem] = index of move (when using a PP Up) +RestoreBonusPP: + ld hl, wPartyMon1Moves + ld bc, wPartyMon2 - wPartyMon1 + ld a, [wWhichPokemon] + call AddNTimes + push hl + ld de, wNormalMaxPPList - 1 + predef LoadMovePPs ; loads the normal max PP of each of the pokemon's moves to wNormalMaxPPList + pop hl + ld c, wPartyMon1PP - wPartyMon1Moves + ld b, 0 + add hl, bc ; hl now points to move 1 PP + ld de, wNormalMaxPPList + ld b, 0 ; initialize move counter to zero +; loop through the pokemon's moves +.loop + inc b + ld a, b + cp 5 ; reached the end of the pokemon's moves? + ret z ; if so, return + ld a, [wUsingPPUp] + dec a ; using a PP Up? + jr nz, .skipMenuItemIDCheck +; if using a PP Up, check if this is the move it's being used on + ld a, [wCurrentMenuItem] + inc a + cp b + jr nz, .nextMove +.skipMenuItemIDCheck + ld a, [hl] + and %11000000 ; have any PP Ups been used? + call nz, AddBonusPP ; if so, add bonus PP +.nextMove + inc hl + inc de + jr .loop + +; adds bonus PP from PP Ups to current PP +; 1/5 of normal max PP (capped at 7) is added for each PP Up +; INPUT: +; [de] = normal max PP +; [hl] = move PP +AddBonusPP: + push bc + ld a, [de] ; normal max PP of move + ld [H_DIVIDEND + 3], a + xor a + ld [H_DIVIDEND], a + ld [H_DIVIDEND + 1], a + ld [H_DIVIDEND + 2], a + ld a, 5 + ld [H_DIVISOR], a + ld b, 4 + call Divide + ld a, [hl] ; move PP + ld b, a + swap a + and %00001111 + srl a + srl a + ld c, a ; c = number of PP Ups used +.loop + ld a, [H_QUOTIENT + 3] + cp 8 ; is the amount greater than or equal to 8? + jr c, .addAmount + ld a, 7 ; cap the amount at 7 +.addAmount + add b + ld b, a + ld a, [wUsingPPUp] + dec a ; is the player using a PP Up right now? + jr z, .done ; if so, only add the bonus once + dec c + jr nz, .loop +.done + ld [hl], b + pop bc + ret + +; gets max PP of a pokemon's move (including PP from PP Ups) +; INPUT: +; [wWhichPokemon] = index of pokemon within party/box +; [wMonDataLocation] = pokemon source +; 00: player's party +; 01: enemy's party +; 02: current box +; 03: daycare +; 04: player's in-battle pokemon +; [wCurrentMenuItem] = move index +; OUTPUT: +; [wMaxPP] = max PP +GetMaxPP: + ld a, [wMonDataLocation] + and a + ld hl, wPartyMon1Moves + ld bc, wPartyMon2 - wPartyMon1 + jr z, .sourceWithMultipleMon + ld hl, wEnemyMon1Moves + dec a + jr z, .sourceWithMultipleMon + ld hl, wBoxMon1Moves + ld bc, wBoxMon2 - wBoxMon1 + dec a + jr z, .sourceWithMultipleMon + ld hl, wDayCareMonMoves + dec a + jr z, .sourceWithOneMon + ld hl, wBattleMonMoves ; player's in-battle pokemon +.sourceWithOneMon + call GetSelectedMoveOffset2 + jr .next +.sourceWithMultipleMon + call GetSelectedMoveOffset +.next + ld a, [hl] + dec a + push hl + ld hl, Moves + ld bc, MoveEnd - Moves + call AddNTimes + ld de, wcd6d + ld a, BANK(Moves) + call FarCopyData + ld de, wcd6d + 5 ; PP is byte 5 of move data + ld a, [de] + ld b, a ; b = normal max PP + pop hl + push bc + ld bc, wPartyMon1PP - wPartyMon1Moves ; PP offset if not player's in-battle pokemon data + ld a, [wMonDataLocation] + cp 4 ; player's in-battle pokemon? + jr nz, .addPPOffset + ld bc, wBattleMonPP - wBattleMonMoves ; PP offset if player's in-battle pokemon data +.addPPOffset + add hl, bc + ld a, [hl] ; a = current PP + and %11000000 ; get PP Up count + pop bc + or b ; place normal max PP in 6 lower bits of a + ld h, d + ld l, e + inc hl ; hl = wcd73 + ld [hl], a + xor a ; add the bonus for the existing PP Up count + ld [wUsingPPUp], a + call AddBonusPP ; add bonus PP from PP Ups + ld a, [hl] + and %00111111 ; mask out the PP Up count + ld [wMaxPP], a ; store max PP + ret + +GetSelectedMoveOffset: + ld a, [wWhichPokemon] + call AddNTimes + +GetSelectedMoveOffset2: + ld a, [wCurrentMenuItem] + ld c, a + ld b, 0 + add hl, bc + ret + +; confirms the item toss and then tosses the item +; INPUT: +; hl = address of inventory (either wNumBagItems or wNumBoxItems) +; [wcf91] = item ID +; [wWhichPokemon] = index of item within inventory +; [wItemQuantity] = quantity to toss +; OUTPUT: +; clears carry flag if the item is tossed, sets carry flag if not +TossItem_:: + push hl + ld a, [wcf91] + call IsItemHM + pop hl + jr c, .tooImportantToToss + push hl + call IsKeyItem_ + ld a, [wIsKeyItem] + pop hl + and a + jr nz, .tooImportantToToss + push hl + ld a, [wcf91] + ld [wd11e], a + call GetItemName + call CopyStringToCF4B ; copy name to wcf4b + ld hl, IsItOKToTossItemText + call PrintText + coord hl, 14, 7 + lb bc, 8, 15 + ld a, TWO_OPTION_MENU + ld [wTextBoxID], a + call DisplayTextBoxID ; yes/no menu + ld a, [wMenuExitMethod] + cp CHOSE_SECOND_ITEM + pop hl + scf + ret z ; return if the player chose No +; if the player chose Yes + push hl + ld a, [wWhichPokemon] + call RemoveItemFromInventory + ld a, [wcf91] + ld [wd11e], a + call GetItemName + call CopyStringToCF4B ; copy name to wcf4b + ld hl, ThrewAwayItemText + call PrintText + pop hl + and a + ret +.tooImportantToToss + push hl + ld hl, TooImportantToTossText + call PrintText + pop hl + scf + ret + +ThrewAwayItemText: + TX_FAR _ThrewAwayItemText + db "@" + +IsItOKToTossItemText: + TX_FAR _IsItOKToTossItemText + db "@" + +TooImportantToTossText: + TX_FAR _TooImportantToTossText + db "@" + +; checks if an item is a key item +; INPUT: +; [wcf91] = item ID +; OUTPUT: +; [wIsKeyItem] = result +; 00: item is not key item +; 01: item is key item +IsKeyItem_:: + ld a, $01 + ld [wIsKeyItem], a + ld a, [wcf91] + cp HM_01 ; is the item an HM or TM? + jr nc, .checkIfItemIsHM +; if the item is not an HM or TM + push af + ld hl, KeyItemBitfield + ld de, wBuffer + ld bc, 15 ; only 11 bytes are actually used + call CopyData + pop af + dec a + ld c, a + ld hl, wBuffer + ld b, FLAG_TEST + predef FlagActionPredef + ld a, c + and a + ret nz +.checkIfItemIsHM + ld a, [wcf91] + call IsItemHM + ret c + xor a + ld [wIsKeyItem], a + ret + +INCLUDE "data/key_items.asm" + +SendNewMonToBox: + ld de, wNumInBox + ld a, [de] + inc a + ld [de], a + ld a, [wcf91] + ld [wd0b5], a + ld c, a +.asm_e7b1 + inc de + ld a, [de] + ld b, a + ld a, c + ld c, b + ld [de], a + cp $ff + jr nz, .asm_e7b1 + call GetMonHeader + ld hl, wBoxMonOT + ld bc, NAME_LENGTH + ld a, [wNumInBox] + dec a + jr z, .asm_e7ee + dec a + call AddNTimes + push hl + ld bc, NAME_LENGTH + add hl, bc + ld d, h + ld e, l + pop hl + ld a, [wNumInBox] + dec a + ld b, a +.asm_e7db + push bc + push hl + ld bc, NAME_LENGTH + call CopyData + pop hl + ld d, h + ld e, l + ld bc, -NAME_LENGTH + add hl, bc + pop bc + dec b + jr nz, .asm_e7db +.asm_e7ee + ld hl, wPlayerName + ld de, wBoxMonOT + ld bc, NAME_LENGTH + call CopyData + ld a, [wNumInBox] + dec a + jr z, .asm_e82a + ld hl, wBoxMonNicks + ld bc, NAME_LENGTH + dec a + call AddNTimes + push hl + ld bc, NAME_LENGTH + add hl, bc + ld d, h + ld e, l + pop hl + ld a, [wNumInBox] + dec a + ld b, a +.asm_e817 + push bc + push hl + ld bc, NAME_LENGTH + call CopyData + pop hl + ld d, h + ld e, l + ld bc, -NAME_LENGTH + add hl, bc + pop bc + dec b + jr nz, .asm_e817 +.asm_e82a + ld hl, wBoxMonNicks + ld a, NAME_MON_SCREEN + ld [wNamingScreenType], a + predef AskName + ld a, [wNumInBox] + dec a + jr z, .asm_e867 + ld hl, wBoxMons + ld bc, wBoxMon2 - wBoxMon1 + dec a + call AddNTimes + push hl + ld bc, wBoxMon2 - wBoxMon1 + add hl, bc + ld d, h + ld e, l + pop hl + ld a, [wNumInBox] + dec a + ld b, a +.asm_e854 + push bc + push hl + ld bc, wBoxMon2 - wBoxMon1 + call CopyData + pop hl + ld d, h + ld e, l + ld bc, wBoxMon1 - wBoxMon2 + add hl, bc + pop bc + dec b + jr nz, .asm_e854 +.asm_e867 + ld a, [wEnemyMonLevel] + ld [wEnemyMonBoxLevel], a + ld hl, wEnemyMon + ld de, wBoxMon1 + ld bc, wEnemyMonDVs - wEnemyMon + call CopyData + ld hl, wPlayerID + ld a, [hli] + ld [de], a + inc de + ld a, [hl] + ld [de], a + inc de + push de + ld a, [wCurEnemyLVL] + ld d, a + callab CalcExperience + pop de + ld a, [hExperience] + ld [de], a + inc de + ld a, [hExperience + 1] + ld [de], a + inc de + ld a, [hExperience + 2] + ld [de], a + inc de + xor a + ld b, NUM_STATS * 2 +.asm_e89f + ld [de], a + inc de + dec b + jr nz, .asm_e89f + ld hl, wEnemyMonDVs + ld a, [hli] + ld [de], a + inc de + ld a, [hli] + ld [de], a + ld hl, wEnemyMonPP + ld b, NUM_MOVES +.asm_e8b1 + ld a, [hli] + inc de + ld [de], a + dec b + jr nz, .asm_e8b1 + ret + +; checks if the tile in front of the player is a shore or water tile +; used for surfing and fishing +; unsets carry if it is, sets carry if not +IsNextTileShoreOrWater: + ld a, [wCurMapTileset] + ld hl, WaterTilesets + ld de, 1 + call IsInArray + jr nc, .notShoreOrWater + ld a, [wCurMapTileset] + cp SHIP_PORT ; Vermilion Dock tileset + ld a, [wTileInFrontOfPlayer] ; tile in front of player + jr z, .skipShoreTiles ; if it's the Vermilion Dock tileset + cp $48 ; eastern shore tile in Safari Zone + jr z, .shoreOrWater + cp $32 ; usual eastern shore tile + jr z, .shoreOrWater +.skipShoreTiles + cp $14 ; water tile + jr z, .shoreOrWater +.notShoreOrWater + scf + ret +.shoreOrWater + and a + ret + +INCLUDE "data/water_tilesets.asm" + +ReadSuperRodData: +; return e = 2 if no fish on this map +; return e = 1 if a bite, bc = level,species +; return e = 0 if no bite + ld a, [wCurMap] + ld de, 3 ; each fishing group is three bytes wide + ld hl, SuperRodData + call IsInArray + jr c, .ReadFishingGroup + ld e, $2 ; $2 if no fishing groups found + ret + +.ReadFishingGroup +; hl points to the fishing group entry in the index + inc hl ; skip map id + + ; read fishing group address + ld a, [hli] + ld h, [hl] + ld l, a + + ld b, [hl] ; how many mons in group + inc hl ; point to data + ld e, $0 ; no bite yet + +.RandomLoop + call Random + srl a + ret c ; 50% chance of no battle + + and %11 ; 2-bit random number + cp b + jr nc, .RandomLoop ; if a is greater than the number of mons, regenerate + + ; get the mon + add a + ld c, a + ld b, $0 + add hl, bc + ld b, [hl] ; level + inc hl + ld c, [hl] ; species + ld e, $1 ; $1 if there's a bite + ret + +INCLUDE "data/super_rod.asm" + +; reloads map view and processes sprite data +; for items that cause the overworld to be displayed +ItemUseReloadOverworldData: + call LoadCurrentMapView + jp UpdateSprites + +; creates a list at wBuffer of maps where the mon in [wd11e] can be found. +; this is used by the pokedex to display locations the mon can be found on the map. +FindWildLocationsOfMon: + ld hl, WildDataPointers + ld de, wBuffer + ld c, $0 +.loop + inc hl + ld a, [hld] + inc a + jr z, .done + push hl + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [hli] + and a + call nz, CheckMapForMon ; land + ld a, [hli] + and a + call nz, CheckMapForMon ; water + pop hl + inc hl + inc hl + inc c + jr .loop +.done + ld a, $ff ; list terminator + ld [de], a + ret + +CheckMapForMon: + inc hl + ld b, $a +.loop + ld a, [wd11e] + cp [hl] + jr nz, .nextEntry + ld a, c + ld [de], a + inc de +.nextEntry + inc hl + inc hl + dec b + jr nz, .loop + dec hl + ret diff --git a/engine/items/items.asm b/engine/items/items.asm deleted file mode 100755 index 6e7bed1e..00000000 --- a/engine/items/items.asm +++ /dev/null @@ -1,2986 +0,0 @@ -UseItem_:: - ld a, 1 - ld [wActionResultOrTookBattleTurn], a ; initialise to success value - ld a, [wcf91] ;contains item_ID - cp HM_01 - jp nc, ItemUseTMHM - ld hl, ItemUsePtrTable - dec a - add a - ld c, a - ld b, 0 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - jp hl - -ItemUsePtrTable: - dw ItemUseBall ; MASTER_BALL - dw ItemUseBall ; ULTRA_BALL - dw ItemUseBall ; GREAT_BALL - dw ItemUseBall ; POKE_BALL - dw ItemUseTownMap ; TOWN_MAP - dw ItemUseBicycle ; BICYCLE - dw ItemUseSurfboard ; out-of-battle Surf effect - dw ItemUseBall ; SAFARI_BALL - dw ItemUsePokedex ; POKEDEX - dw ItemUseEvoStone ; MOON_STONE - dw ItemUseMedicine ; ANTIDOTE - dw ItemUseMedicine ; BURN_HEAL - dw ItemUseMedicine ; ICE_HEAL - dw ItemUseMedicine ; AWAKENING - dw ItemUseMedicine ; PARLYZ_HEAL - dw ItemUseMedicine ; FULL_RESTORE - dw ItemUseMedicine ; MAX_POTION - dw ItemUseMedicine ; HYPER_POTION - dw ItemUseMedicine ; SUPER_POTION - dw ItemUseMedicine ; POTION - dw ItemUseBait ; BOULDERBADGE - dw ItemUseRock ; CASCADEBADGE - dw UnusableItem ; THUNDERBADGE - dw UnusableItem ; RAINBOWBADGE - dw UnusableItem ; SOULBADGE - dw UnusableItem ; MARSHBADGE - dw UnusableItem ; VOLCANOBADGE - dw UnusableItem ; EARTHBADGE - dw ItemUseEscapeRope ; ESCAPE_ROPE - dw ItemUseRepel ; REPEL - dw UnusableItem ; OLD_AMBER - dw ItemUseEvoStone ; FIRE_STONE - dw ItemUseEvoStone ; THUNDER_STONE - dw ItemUseEvoStone ; WATER_STONE - dw ItemUseVitamin ; HP_UP - dw ItemUseVitamin ; PROTEIN - dw ItemUseVitamin ; IRON - dw ItemUseVitamin ; CARBOS - dw ItemUseVitamin ; CALCIUM - dw ItemUseVitamin ; RARE_CANDY - dw UnusableItem ; DOME_FOSSIL - dw UnusableItem ; HELIX_FOSSIL - dw UnusableItem ; SECRET_KEY - dw UnusableItem - dw UnusableItem ; BIKE_VOUCHER - dw ItemUseXAccuracy ; X_ACCURACY - dw ItemUseEvoStone ; LEAF_STONE - dw ItemUseCardKey ; CARD_KEY - dw UnusableItem ; NUGGET - dw UnusableItem ; ??? PP_UP - dw ItemUsePokedoll ; POKE_DOLL - dw ItemUseMedicine ; FULL_HEAL - dw ItemUseMedicine ; REVIVE - dw ItemUseMedicine ; MAX_REVIVE - dw ItemUseGuardSpec ; GUARD_SPEC - dw ItemUseSuperRepel ; SUPER_REPL - dw ItemUseMaxRepel ; MAX_REPEL - dw ItemUseDireHit ; DIRE_HIT - dw UnusableItem ; COIN - dw ItemUseMedicine ; FRESH_WATER - dw ItemUseMedicine ; SODA_POP - dw ItemUseMedicine ; LEMONADE - dw UnusableItem ; S_S_TICKET - dw UnusableItem ; GOLD_TEETH - dw ItemUseXStat ; X_ATTACK - dw ItemUseXStat ; X_DEFEND - dw ItemUseXStat ; X_SPEED - dw ItemUseXStat ; X_SPECIAL - dw ItemUseCoinCase ; COIN_CASE - dw ItemUseOaksParcel ; OAKS_PARCEL - dw ItemUseItemfinder ; ITEMFINDER - dw UnusableItem ; SILPH_SCOPE - dw ItemUsePokeflute ; POKE_FLUTE - dw UnusableItem ; LIFT_KEY - dw UnusableItem ; EXP_ALL - dw ItemUseOldRod ; OLD_ROD - dw ItemUseGoodRod ; GOOD_ROD - dw ItemUseSuperRod ; SUPER_ROD - dw ItemUsePPUp ; PP_UP (real one) - dw ItemUsePPRestore ; ETHER - dw ItemUsePPRestore ; MAX_ETHER - dw ItemUsePPRestore ; ELIXER - dw ItemUsePPRestore ; MAX_ELIXER - -ItemUseBall: - -; Balls can't be used out of battle. - ld a, [wIsInBattle] - and a - jp z, ItemUseNotTime - -; Balls can't catch trainers' Pokémon. - dec a - jp nz, ThrowBallAtTrainerMon - -; If this is for the old man battle, skip checking if the party & box are full. - ld a, [wBattleType] - dec a - jr z, .canUseBall - - ld a, [wPartyCount] ; is party full? - cp PARTY_LENGTH - jr nz, .canUseBall - ld a, [wNumInBox] ; is box full? - cp MONS_PER_BOX - jp z, BoxFullCannotThrowBall - -.canUseBall - xor a - ld [wCapturedMonSpecies], a - - ld a, [wBattleType] - cp BATTLE_TYPE_SAFARI - jr nz, .skipSafariZoneCode - -.safariZone - ld hl, wNumSafariBalls - dec [hl] ; remove a Safari Ball - -.skipSafariZoneCode - call RunDefaultPaletteCommand - - ld a, $43 ; successful capture value - ld [wPokeBallAnimData], a - - call LoadScreenTilesFromBuffer1 - ld hl, ItemUseText00 - call PrintText - -; If the player is fighting an unidentified ghost, set the value that indicates -; the Pokémon can't be caught and skip the capture calculations. - callab IsGhostBattle - ld b, $10 ; can't be caught value - jp z, .setAnimData - - ld a, [wBattleType] - dec a - jr nz, .notOldManBattle - -.oldManBattle - ld hl, wGrassRate - ld de, wPlayerName - ld bc, NAME_LENGTH - call CopyData ; save the player's name in the Wild Monster data (part of the Cinnabar Island Missingno. glitch) - jp .captured - -.notOldManBattle -; If the player is fighting the ghost Marowak, set the value that indicates the -; Pokémon can't be caught and skip the capture calculations. - ld a, [wCurMap] - cp POKEMON_TOWER_6F - jr nz, .loop - ld a, [wEnemyMonSpecies2] - cp MAROWAK - ld b, $10 ; can't be caught value - jp z, .setAnimData - -; Get the first random number. Let it be called Rand1. -; Rand1 must be within a certain range according the kind of ball being thrown. -; The ranges are as follows. -; Poké Ball: [0, 255] -; Great Ball: [0, 200] -; Ultra/Safari Ball: [0, 150] -; Loop until an acceptable number is found. - -.loop - call Random - ld b, a - -; Get the item ID. - ld hl, wcf91 - ld a, [hl] - -; The Master Ball always succeeds. - cp MASTER_BALL - jp z, .captured - -; Anything will do for the basic Poké Ball. - cp POKE_BALL - jr z, .checkForAilments - -; If it's a Great/Ultra/Safari Ball and Rand1 is greater than 200, try again. - ld a, 200 - cp b - jr c, .loop - -; Less than or equal to 200 is good enough for a Great Ball. - ld a, [hl] - cp GREAT_BALL - jr z, .checkForAilments - -; If it's an Ultra/Safari Ball and Rand1 is greater than 150, try again. - ld a, 150 - cp b - jr c, .loop - -.checkForAilments -; Pokémon can be caught more easily with a status ailment. -; Depending on the status ailment, a certain value will be subtracted from -; Rand1. Let this value be called Status. -; The larger Status is, the more easily the Pokémon can be caught. -; no status ailment: Status = 0 -; Burn/Paralysis/Poison: Status = 12 -; Freeze/Sleep: Status = 25 -; If Status is greater than Rand1, the Pokémon will be caught for sure. - ld a, [wEnemyMonStatus] - and a - jr z, .skipAilmentValueSubtraction ; no ailments - and 1 << FRZ | SLP - ld c, 12 - jr z, .notFrozenOrAsleep - ld c, 25 -.notFrozenOrAsleep - ld a, b - sub c - jp c, .captured - ld b, a - -.skipAilmentValueSubtraction - push bc ; save (Rand1 - Status) - -; Calculate MaxHP * 255. - xor a - ld [H_MULTIPLICAND], a - ld hl, wEnemyMonMaxHP - ld a, [hli] - ld [H_MULTIPLICAND + 1], a - ld a, [hl] - ld [H_MULTIPLICAND + 2], a - ld a, 255 - ld [H_MULTIPLIER], a - call Multiply - -; Determine BallFactor. It's 8 for Great Balls and 12 for the others. - ld a, [wcf91] - cp GREAT_BALL - ld a, 12 - jr nz, .skip1 - ld a, 8 - -.skip1 -; Note that the results of all division operations are floored. - -; Calculate (MaxHP * 255) / BallFactor. - ld [H_DIVISOR], a - ld b, 4 ; number of bytes in dividend - call Divide - -; Divide the enemy's current HP by 4. HP is not supposed to exceed 999 so -; the result should fit in a. If the division results in a quotient of 0, -; change it to 1. - ld hl, wEnemyMonHP - ld a, [hli] - ld b, a - ld a, [hl] - srl b - rr a - srl b - rr a - and a - jr nz, .skip2 - inc a - -.skip2 -; Let W = ((MaxHP * 255) / BallFactor) / max(HP / 4, 1). Calculate W. - ld [H_DIVISOR], a - ld b, 4 - call Divide - -; If W > 255, store 255 in [H_QUOTIENT + 3]. -; Let X = min(W, 255) = [H_QUOTIENT + 3]. - ld a, [H_QUOTIENT + 2] - and a - jr z, .skip3 - ld a, 255 - ld [H_QUOTIENT + 3], a - -.skip3 - pop bc ; b = Rand1 - Status - -; If Rand1 - Status > CatchRate, the ball fails to capture the Pokémon. - ld a, [wEnemyMonActualCatchRate] - cp b - jr c, .failedToCapture - -; If W > 255, the ball captures the Pokémon. - ld a, [H_QUOTIENT + 2] - and a - jr nz, .captured - - call Random ; Let this random number be called Rand2. - -; If Rand2 > X, the ball fails to capture the Pokémon. - ld b, a - ld a, [H_QUOTIENT + 3] - cp b - jr c, .failedToCapture - -.captured - jr .skipShakeCalculations - -.failedToCapture - ld a, [H_QUOTIENT + 3] - ld [wPokeBallCaptureCalcTemp], a ; Save X. - -; Calculate CatchRate * 100. - xor a - ld [H_MULTIPLICAND], a - ld [H_MULTIPLICAND + 1], a - ld a, [wEnemyMonActualCatchRate] - ld [H_MULTIPLICAND + 2], a - ld a, 100 - ld [H_MULTIPLIER], a - call Multiply - -; Determine BallFactor2. -; Poké Ball: BallFactor2 = 255 -; Great Ball: BallFactor2 = 200 -; Ultra/Safari Ball: BallFactor2 = 150 - ld a, [wcf91] - ld b, 255 - cp POKE_BALL - jr z, .skip4 - ld b, 200 - cp GREAT_BALL - jr z, .skip4 - ld b, 150 - cp ULTRA_BALL - jr z, .skip4 - -.skip4 -; Let Y = (CatchRate * 100) / BallFactor2. Calculate Y. - ld a, b - ld [H_DIVISOR], a - ld b, 4 - call Divide - -; If Y > 255, there are 3 shakes. -; Note that this shouldn't be possible. -; The maximum value of Y is (255 * 100) / 150 = 170. - ld a, [H_QUOTIENT + 2] - and a - ld b, $63 ; 3 shakes - jr nz, .setAnimData - -; Calculate X * Y. - ld a, [wPokeBallCaptureCalcTemp] - ld [H_MULTIPLIER], a - call Multiply - -; Calculate (X * Y) / 255. - ld a, 255 - ld [H_DIVISOR], a - ld b, 4 - call Divide - -; Determine Status2. -; no status ailment: Status2 = 0 -; Burn/Paralysis/Poison: Status2 = 5 -; Freeze/Sleep: Status2 = 10 - ld a, [wEnemyMonStatus] - and a - jr z, .skip5 - and 1 << FRZ | SLP - ld b, 5 - jr z, .addAilmentValue - ld b, 10 - -.addAilmentValue -; If the Pokémon has a status ailment, add Status2. - ld a, [H_QUOTIENT + 3] - add b - ld [H_QUOTIENT + 3], a - -.skip5 -; Finally determine the number of shakes. -; Let Z = ((X * Y) / 255) + Status2 = [H_QUOTIENT + 3]. -; The number of shakes depend on the range Z is in. -; 0 ≤ Z < 10: 0 shakes (the ball misses) -; 10 ≤ Z < 30: 1 shake -; 30 ≤ Z < 70: 2 shakes -; 70 ≤ Z: 3 shakes - ld a, [H_QUOTIENT + 3] - cp 10 - ld b, $20 - jr c, .setAnimData - cp 30 - ld b, $61 - jr c, .setAnimData - cp 70 - ld b, $62 - jr c, .setAnimData - ld b, $63 - -.setAnimData - ld a, b - ld [wPokeBallAnimData], a - -.skipShakeCalculations - ld c, 20 - call DelayFrames - -; Do the animation. - ld a, TOSS_ANIM - ld [wAnimationID], a - xor a - ld [H_WHOSETURN], a - ld [wAnimationType], a - ld [wDamageMultipliers], a - ld a, [wWhichPokemon] - push af - ld a, [wcf91] - push af - predef MoveAnimation - pop af - ld [wcf91], a - pop af - ld [wWhichPokemon], a - -; Determine the message to display from the animation. - ld a, [wPokeBallAnimData] - cp $10 - ld hl, ItemUseBallText00 - jp z, .printMessage - cp $20 - ld hl, ItemUseBallText01 - jp z, .printMessage - cp $61 - ld hl, ItemUseBallText02 - jp z, .printMessage - cp $62 - ld hl, ItemUseBallText03 - jp z, .printMessage - cp $63 - ld hl, ItemUseBallText04 - jp z, .printMessage - -; Save current HP. - ld hl, wEnemyMonHP - ld a, [hli] - push af - ld a, [hli] - push af - -; Save status ailment. - inc hl - ld a, [hl] - push af - - push hl - -; If the Pokémon is transformed, the Pokémon is assumed to be a Ditto. -; This is a bug because a wild Pokémon could have used Transform via -; Mirror Move even though the only wild Pokémon that knows Transform is Ditto. - ld hl, wEnemyBattleStatus3 - bit TRANSFORMED, [hl] - jr z, .notTransformed - ld a, DITTO - ld [wEnemyMonSpecies2], a - jr .skip6 - -.notTransformed -; If the Pokémon is not transformed, set the transformed bit and copy the -; DVs to wTransformedEnemyMonOriginalDVs so that LoadEnemyMonData won't generate -; new DVs. - set TRANSFORMED, [hl] - ld hl, wTransformedEnemyMonOriginalDVs - ld a, [wEnemyMonDVs] - ld [hli], a - ld a, [wEnemyMonDVs + 1] - ld [hl], a - -.skip6 - ld a, [wcf91] - push af - ld a, [wEnemyMonSpecies2] - ld [wcf91], a - ld a, [wEnemyMonLevel] - ld [wCurEnemyLVL], a - callab LoadEnemyMonData - pop af - ld [wcf91], a - pop hl - pop af - ld [hld], a - dec hl - pop af - ld [hld], a - pop af - ld [hl], a - ld a, [wEnemyMonSpecies] - ld [wCapturedMonSpecies], a - ld [wcf91], a - ld [wd11e], a - ld a, [wBattleType] - dec a ; is this the old man battle? - jr z, .oldManCaughtMon ; if so, don't give the player the caught Pokémon - - ld hl, ItemUseBallText05 - call PrintText - -; Add the caught Pokémon to the Pokédex. - predef IndexToPokedex - ld a, [wd11e] - dec a - ld c, a - ld b, FLAG_TEST - ld hl, wPokedexOwned - predef FlagActionPredef - ld a, c - push af - ld a, [wd11e] - dec a - ld c, a - ld b, FLAG_SET - predef FlagActionPredef - pop af - - and a ; was the Pokémon already in the Pokédex? - jr nz, .skipShowingPokedexData ; if so, don't show the Pokédex data - - ld hl, ItemUseBallText06 - call PrintText - call ClearSprites - ld a, [wEnemyMonSpecies] - ld [wd11e], a - predef ShowPokedexData - -.skipShowingPokedexData - ld a, [wPartyCount] - cp PARTY_LENGTH ; is party full? - jr z, .sendToBox - xor a ; PLAYER_PARTY_DATA - ld [wMonDataLocation], a - call ClearSprites - call AddPartyMon - jr .done - -.sendToBox - call ClearSprites - call SendNewMonToBox - ld hl, ItemUseBallText07 - CheckEvent EVENT_MET_BILL - jr nz, .printTransferredToPCText - ld hl, ItemUseBallText08 -.printTransferredToPCText - call PrintText - jr .done - -.oldManCaughtMon - ld hl, ItemUseBallText05 - -.printMessage - call PrintText - call ClearSprites - -.done - ld a, [wBattleType] - and a ; is this the old man battle? - ret nz ; if so, don't remove a ball from the bag - -; Remove a ball from the bag. - ld hl, wNumBagItems - inc a - ld [wItemQuantity], a - jp RemoveItemFromInventory - -ItemUseBallText00: -;"It dodged the thrown ball!" -;"This pokemon can't be caught" - TX_FAR _ItemUseBallText00 - db "@" -ItemUseBallText01: -;"You missed the pokemon!" - TX_FAR _ItemUseBallText01 - db "@" -ItemUseBallText02: -;"Darn! The pokemon broke free!" - TX_FAR _ItemUseBallText02 - db "@" -ItemUseBallText03: -;"Aww! It appeared to be caught!" - TX_FAR _ItemUseBallText03 - db "@" -ItemUseBallText04: -;"Shoot! It was so close too!" - TX_FAR _ItemUseBallText04 - db "@" -ItemUseBallText05: -;"All right! {MonName} was caught!" -;play sound - TX_FAR _ItemUseBallText05 - TX_SFX_CAUGHT_MON - TX_BLINK - db "@" -ItemUseBallText07: -;"X was transferred to Bill's PC" - TX_FAR _ItemUseBallText07 - db "@" -ItemUseBallText08: -;"X was transferred to someone's PC" - TX_FAR _ItemUseBallText08 - db "@" - -ItemUseBallText06: -;"New DEX data will be added..." -;play sound - TX_FAR _ItemUseBallText06 - TX_SFX_DEX_PAGE_ADDED - TX_BLINK - db "@" - -ItemUseTownMap: - ld a, [wIsInBattle] - and a - jp nz, ItemUseNotTime - jpba DisplayTownMap - -ItemUseBicycle: - ld a, [wIsInBattle] - and a - jp nz, ItemUseNotTime - ld a, [wWalkBikeSurfState] - ld [wWalkBikeSurfStateCopy], a - cp 2 ; is the player surfing? - jp z, ItemUseNotTime - dec a ; is player already bicycling? - jr nz, .tryToGetOnBike -.getOffBike - call ItemUseReloadOverworldData - xor a - ld [wWalkBikeSurfState], a ; change player state to walking - call PlayDefaultMusic ; play walking music - ld hl, GotOffBicycleText - jr .printText -.tryToGetOnBike - call IsBikeRidingAllowed - jp nc, NoCyclingAllowedHere - call ItemUseReloadOverworldData - xor a ; no keys pressed - ld [hJoyHeld], a ; current joypad state - inc a - ld [wWalkBikeSurfState], a ; change player state to bicycling - ld hl, GotOnBicycleText - call PlayDefaultMusic ; play bike riding music -.printText - jp PrintText - -; used for Surf out-of-battle effect -ItemUseSurfboard: - ld a, [wWalkBikeSurfState] - ld [wWalkBikeSurfStateCopy], a - cp 2 ; is the player already surfing? - jr z, .tryToStopSurfing -.tryToSurf - call IsNextTileShoreOrWater - jp c, SurfingAttemptFailed - ld hl, TilePairCollisionsWater - call CheckForTilePairCollisions - jp c, SurfingAttemptFailed -.surf - call .makePlayerMoveForward - ld hl, wd730 - set 7, [hl] - ld a, 2 - ld [wWalkBikeSurfState], a ; change player state to surfing - call PlayDefaultMusic ; play surfing music - ld hl, SurfingGotOnText - jp PrintText -.tryToStopSurfing - xor a - ld [hSpriteIndexOrTextID], a - ld d, 16 ; talking range in pixels (normal range) - call IsSpriteInFrontOfPlayer2 - res 7, [hl] - ld a, [hSpriteIndexOrTextID] - and a ; is there a sprite in the way? - jr nz, .cannotStopSurfing - ld hl, TilePairCollisionsWater - call CheckForTilePairCollisions - jr c, .cannotStopSurfing - ld hl, wTilesetCollisionPtr ; pointer to list of passable tiles - ld a, [hli] - ld h, [hl] - ld l, a ; hl now points to passable tiles - ld a, [wTileInFrontOfPlayer] ; tile in front of the player - ld b, a -.passableTileLoop - ld a, [hli] - cp b - jr z, .stopSurfing - cp $ff - jr nz, .passableTileLoop -.cannotStopSurfing - ld hl, SurfingNoPlaceToGetOffText - jp PrintText -.stopSurfing - call .makePlayerMoveForward - ld hl, wd730 - set 7, [hl] - xor a - ld [wWalkBikeSurfState], a ; change player state to walking - dec a - ld [wJoyIgnore], a - call PlayDefaultMusic ; play walking music - jp LoadWalkingPlayerSpriteGraphics -; uses a simulated button press to make the player move forward -.makePlayerMoveForward - ld a, [wPlayerDirection] ; direction the player is going - bit PLAYER_DIR_BIT_UP, a - ld b, D_UP - jr nz, .storeSimulatedButtonPress - bit PLAYER_DIR_BIT_DOWN, a - ld b, D_DOWN - jr nz, .storeSimulatedButtonPress - bit PLAYER_DIR_BIT_LEFT, a - ld b, D_LEFT - jr nz, .storeSimulatedButtonPress - ld b, D_RIGHT -.storeSimulatedButtonPress - ld a, b - ld [wSimulatedJoypadStatesEnd], a - xor a - ld [wWastedByteCD39], a - inc a - ld [wSimulatedJoypadStatesIndex], a - ret - -SurfingGotOnText: - TX_FAR _SurfingGotOnText - db "@" - -SurfingNoPlaceToGetOffText: - TX_FAR _SurfingNoPlaceToGetOffText - db "@" - -ItemUsePokedex: - predef_jump ShowPokedexMenu - -ItemUseEvoStone: - ld a, [wIsInBattle] - and a - jp nz, ItemUseNotTime - ld a, [wWhichPokemon] - push af - ld a, [wcf91] - ld [wEvoStoneItemID], a - push af - ld a, EVO_STONE_PARTY_MENU - ld [wPartyMenuTypeOrMessageID], a - ld a, $ff - ld [wUpdateSpritesEnabled], a - call DisplayPartyMenu - pop bc - jr c, .canceledItemUse - ld a, b - ld [wcf91], a - ld a, $01 - ld [wForceEvolution], a - ld a, SFX_HEAL_AILMENT - call PlaySoundWaitForCurrent - call WaitForSoundToFinish - callab TryEvolvingMon ; try to evolve pokemon - ld a, [wEvolutionOccurred] - and a - jr z, .noEffect - pop af - ld [wWhichPokemon], a - ld hl, wNumBagItems - ld a, 1 ; remove 1 stone - ld [wItemQuantity], a - jp RemoveItemFromInventory -.noEffect - call ItemUseNoEffect -.canceledItemUse - xor a - ld [wActionResultOrTookBattleTurn], a ; item not used - pop af - ret - -ItemUseVitamin: - ld a, [wIsInBattle] - and a - jp nz, ItemUseNotTime - -ItemUseMedicine: - ld a, [wPartyCount] - and a - jp z, .emptyParty - ld a, [wWhichPokemon] - push af - ld a, [wcf91] - push af - ld a, USE_ITEM_PARTY_MENU - ld [wPartyMenuTypeOrMessageID], a - ld a, $ff - ld [wUpdateSpritesEnabled], a - ld a, [wPseudoItemID] - and a ; using Softboiled? - jr z, .notUsingSoftboiled -; if using softboiled - call GoBackToPartyMenu - jr .getPartyMonDataAddress -.emptyParty - ld hl, .emptyPartyText - xor a - ld [wActionResultOrTookBattleTurn], a ; item use failed - jp PrintText -.emptyPartyText - text "You don't have" - line "any #MON!" - prompt -.notUsingSoftboiled - call DisplayPartyMenu -.getPartyMonDataAddress - jp c, .canceledItemUse - ld hl, wPartyMons - ld bc, wPartyMon2 - wPartyMon1 - ld a, [wWhichPokemon] - call AddNTimes - ld a, [wWhichPokemon] - ld [wUsedItemOnWhichPokemon], a - ld d, a - ld a, [wcf91] - ld e, a - ld [wd0b5], a - pop af - ld [wcf91], a - pop af - ld [wWhichPokemon], a - ld a, [wPseudoItemID] - and a ; using Softboiled? - jr z, .checkItemType -; if using softboiled - ld a, [wWhichPokemon] - cp d ; is the pokemon trying to use softboiled on itself? - jr z, ItemUseMedicine ; if so, force another choice -.checkItemType - ld a, [wcf91] - cp REVIVE - jr nc, .healHP ; if it's a Revive or Max Revive - cp FULL_HEAL - jr z, .cureStatusAilment ; if it's a Full Heal - cp HP_UP - jp nc, .useVitamin ; if it's a vitamin or Rare Candy - cp FULL_RESTORE - jr nc, .healHP ; if it's a Full Restore or one of the potions -; fall through if it's one of the status-specific healing items -.cureStatusAilment - ld bc, wPartyMon1Status - wPartyMon1 - add hl, bc ; hl now points to status - ld a, [wcf91] - lb bc, ANTIDOTE_MSG, 1 << PSN - cp ANTIDOTE - jr z, .checkMonStatus - lb bc, BURN_HEAL_MSG, 1 << BRN - cp BURN_HEAL - jr z, .checkMonStatus - lb bc, ICE_HEAL_MSG, 1 << FRZ - cp ICE_HEAL - jr z, .checkMonStatus - lb bc, AWAKENING_MSG, SLP - cp AWAKENING - jr z, .checkMonStatus - lb bc, PARALYZ_HEAL_MSG, 1 << PAR - cp PARLYZ_HEAL - jr z, .checkMonStatus - lb bc, FULL_HEAL_MSG, $ff ; Full Heal -.checkMonStatus - ld a, [hl] ; pokemon's status - and c ; does the pokemon have a status ailment the item can cure? - jp z, .healingItemNoEffect -; if the pokemon has a status the item can heal - xor a - ld [hl], a ; remove the status ailment in the party data - ld a, b - ld [wPartyMenuTypeOrMessageID], a ; the message to display for the item used - ld a, [wPlayerMonNumber] - cp d ; is pokemon the item was used on active in battle? - jp nz, .doneHealing -; if it is active in battle - xor a - ld [wBattleMonStatus], a ; remove the status ailment in the in-battle pokemon data - push hl - ld hl, wPlayerBattleStatus3 - res BADLY_POISONED, [hl] ; heal Toxic status - pop hl - ld bc, wPartyMon1Stats - wPartyMon1Status - add hl, bc ; hl now points to party stats - ld de, wBattleMonStats - ld bc, NUM_STATS * 2 - call CopyData ; copy party stats to in-battle stat data - predef DoubleOrHalveSelectedStats - jp .doneHealing -.healHP - inc hl ; hl = address of current HP - ld a, [hli] - ld b, a - ld [wHPBarOldHP+1], a - ld a, [hl] - ld c, a - ld [wHPBarOldHP], a ; current HP stored at wHPBarOldHP (2 bytes, big-endian) - or b - jr nz, .notFainted -.fainted - ld a, [wcf91] - cp REVIVE - jr z, .updateInBattleFaintedData - cp MAX_REVIVE - jr z, .updateInBattleFaintedData - jp .healingItemNoEffect -.updateInBattleFaintedData - ld a, [wIsInBattle] - and a - jr z, .compareCurrentHPToMaxHP - push hl - push de - push bc - ld a, [wUsedItemOnWhichPokemon] - ld c, a - ld hl, wPartyFoughtCurrentEnemyFlags - ld b, FLAG_TEST - predef FlagActionPredef - ld a, c - and a - jr z, .next - ld a, [wUsedItemOnWhichPokemon] - ld c, a - ld hl, wPartyGainExpFlags - ld b, FLAG_SET - predef FlagActionPredef -.next - pop bc - pop de - pop hl - jr .compareCurrentHPToMaxHP -.notFainted - ld a, [wcf91] - cp REVIVE - jp z, .healingItemNoEffect - cp MAX_REVIVE - jp z, .healingItemNoEffect -.compareCurrentHPToMaxHP - push hl - push bc - ld bc, wPartyMon1MaxHP - (wPartyMon1HP + 1) - add hl, bc ; hl now points to max HP - pop bc - ld a, [hli] - cp b - jr nz, .skipComparingLSB ; no need to compare the LSB's if the MSB's don't match - ld a, [hl] - cp c -.skipComparingLSB - pop hl - jr nz, .notFullHP -.fullHP ; if the pokemon's current HP equals its max HP - ld a, [wcf91] - cp FULL_RESTORE - jp nz, .healingItemNoEffect - inc hl - inc hl - ld a, [hld] ; status ailment - and a ; does the pokemon have a status ailment? - jp z, .healingItemNoEffect - ld a, FULL_HEAL - ld [wcf91], a - dec hl - dec hl - dec hl - jp .cureStatusAilment -.notFullHP ; if the pokemon's current HP doesn't equal its max HP - xor a - ld [wLowHealthAlarm], a ;disable low health alarm - ld [wChannelSoundIDs + Ch5], a - push hl - push de - ld bc, wPartyMon1MaxHP - (wPartyMon1HP + 1) - add hl, bc ; hl now points to max HP - ld a, [hli] - ld [wHPBarMaxHP+1], a - ld a, [hl] - ld [wHPBarMaxHP], a ; max HP stored at wHPBarMaxHP (2 bytes, big-endian) - ld a, [wPseudoItemID] - and a ; using Softboiled? - jp z, .notUsingSoftboiled2 -; if using softboiled - ld hl, wHPBarMaxHP - ld a, [hli] - push af - ld a, [hli] - push af - ld a, [hli] - push af - ld a, [hl] - push af - ld hl, wPartyMon1MaxHP - ld a, [wWhichPokemon] - ld bc, wPartyMon2 - wPartyMon1 - call AddNTimes - ld a, [hli] - ld [wHPBarMaxHP + 1], a - ld [H_DIVIDEND], a - ld a, [hl] - ld [wHPBarMaxHP], a - ld [H_DIVIDEND + 1], a - ld a, 5 - ld [H_DIVISOR], a - ld b, 2 ; number of bytes - call Divide ; get 1/5 of max HP of pokemon that used Softboiled - ld bc, (wPartyMon1HP + 1) - (wPartyMon1MaxHP + 1) - add hl, bc ; hl now points to LSB of current HP of pokemon that used Softboiled -; subtract 1/5 of max HP from current HP of pokemon that used Softboiled - ld a, [H_QUOTIENT + 3] - push af - ld b, a - ld a, [hl] - ld [wHPBarOldHP], a - sub b - ld [hld], a - ld [wHPBarNewHP], a - ld a, [H_QUOTIENT + 2] - ld b, a - ld a, [hl] - ld [wHPBarOldHP+1], a - sbc b - ld [hl], a - ld [wHPBarNewHP+1], a - coord hl, 4, 1 - ld a, [wWhichPokemon] - ld bc, 2 * SCREEN_WIDTH - call AddNTimes ; calculate coordinates of HP bar of pokemon that used Softboiled - ld a, SFX_HEAL_HP - call PlaySoundWaitForCurrent - ld a, [hFlags_0xFFF6] - set 0, a - ld [hFlags_0xFFF6], a - ld a, $02 - ld [wHPBarType], a - predef UpdateHPBar2 ; animate HP bar decrease of pokemon that used Softboiled - ld a, [hFlags_0xFFF6] - res 0, a - ld [hFlags_0xFFF6], a - pop af - ld b, a ; store heal amount (1/5 of max HP) - ld hl, wHPBarOldHP + 1 - pop af - ld [hld], a - pop af - ld [hld], a - pop af - ld [hld], a - pop af - ld [hl], a - jr .addHealAmount -.notUsingSoftboiled2 - ld a, [wcf91] - cp SODA_POP - ld b, 60 ; Soda Pop heal amount - jr z, .addHealAmount - ld b, 80 ; Lemonade heal amount - jr nc, .addHealAmount - cp FRESH_WATER - ld b, 50 ; Fresh Water heal amount - jr z, .addHealAmount - cp SUPER_POTION - ld b, 200 ; Hyper Potion heal amount - jr c, .addHealAmount - ld b, 50 ; Super Potion heal amount - jr z, .addHealAmount - ld b, 20 ; Potion heal amount -.addHealAmount - pop de - pop hl - ld a, [hl] - add b - ld [hld], a - ld [wHPBarNewHP], a - ld a, [hl] - ld [wHPBarNewHP+1], a - jr nc, .noCarry - inc [hl] - ld a, [hl] - ld [wHPBarNewHP + 1], a -.noCarry - push de - inc hl - ld d, h - ld e, l ; de now points to current HP - ld hl, (wPartyMon1MaxHP + 1) - (wPartyMon1HP + 1) - add hl, de ; hl now points to max HP - ld a, [wcf91] - cp REVIVE - jr z, .setCurrentHPToHalfMaxHP - ld a, [hld] - ld b, a - ld a, [de] - sub b - dec de - ld b, [hl] - ld a, [de] - sbc b - jr nc, .setCurrentHPToMaxHp ; if current HP exceeds max HP after healing - ld a, [wcf91] - cp HYPER_POTION - jr c, .setCurrentHPToMaxHp ; if using a Full Restore or Max Potion - cp MAX_REVIVE - jr z, .setCurrentHPToMaxHp ; if using a Max Revive - jr .updateInBattleData -.setCurrentHPToHalfMaxHP - dec hl - dec de - ld a, [hli] - srl a - ld [de], a - ld [wHPBarNewHP+1], a - ld a, [hl] - rr a - inc de - ld [de], a - ld [wHPBarNewHP], a - dec de - jr .doneHealingPartyHP -.setCurrentHPToMaxHp - ld a, [hli] - ld [de], a - ld [wHPBarNewHP+1], a - inc de - ld a, [hl] - ld [de], a - ld [wHPBarNewHP], a - dec de -.doneHealingPartyHP ; done updating the pokemon's current HP in the party data structure - ld a, [wcf91] - cp FULL_RESTORE - jr nz, .updateInBattleData - ld bc, wPartyMon1Status - (wPartyMon1MaxHP + 1) - add hl, bc - xor a - ld [hl], a ; remove the status ailment in the party data -.updateInBattleData - ld h, d - ld l, e - pop de - ld a, [wPlayerMonNumber] - cp d ; is pokemon the item was used on active in battle? - jr nz, .calculateHPBarCoords -; copy party HP to in-battle HP - ld a, [hli] - ld [wBattleMonHP], a - ld a, [hld] - ld [wBattleMonHP + 1], a - ld a, [wcf91] - cp FULL_RESTORE - jr nz, .calculateHPBarCoords - xor a - ld [wBattleMonStatus], a ; remove the status ailment in the in-battle pokemon data -.calculateHPBarCoords - ld hl, wOAMBuffer + $90 - ld bc, 2 * SCREEN_WIDTH - inc d -.calculateHPBarCoordsLoop - add hl, bc - dec d - jr nz, .calculateHPBarCoordsLoop - jr .doneHealing -.healingItemNoEffect - call ItemUseNoEffect - jp .done -.doneHealing - ld a, [wPseudoItemID] - and a ; using Softboiled? - jr nz, .skipRemovingItem ; no item to remove if using Softboiled - push hl - call RemoveUsedItem - pop hl -.skipRemovingItem - ld a, [wcf91] - cp FULL_RESTORE - jr c, .playStatusAilmentCuringSound - cp FULL_HEAL - jr z, .playStatusAilmentCuringSound - ld a, SFX_HEAL_HP - call PlaySoundWaitForCurrent - ld a, [hFlags_0xFFF6] - set 0, a - ld [hFlags_0xFFF6], a - ld a, $02 - ld [wHPBarType], a - predef UpdateHPBar2 ; animate the HP bar lengthening - ld a, [hFlags_0xFFF6] - res 0, a - ld [hFlags_0xFFF6], a - ld a, REVIVE_MSG - ld [wPartyMenuTypeOrMessageID], a - ld a, [wcf91] - cp REVIVE - jr z, .showHealingItemMessage - cp MAX_REVIVE - jr z, .showHealingItemMessage - ld a, POTION_MSG - ld [wPartyMenuTypeOrMessageID], a - jr .showHealingItemMessage -.playStatusAilmentCuringSound - ld a, SFX_HEAL_AILMENT - call PlaySoundWaitForCurrent -.showHealingItemMessage - xor a - ld [H_AUTOBGTRANSFERENABLED], a - call ClearScreen - dec a - ld [wUpdateSpritesEnabled], a - call RedrawPartyMenu ; redraws the party menu and displays the message - ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a - ld c, 50 - call DelayFrames - call WaitForTextScrollButtonPress - jr .done -.canceledItemUse - xor a - ld [wActionResultOrTookBattleTurn], a ; item use failed - pop af - pop af -.done - ld a, [wPseudoItemID] - and a ; using Softboiled? - ret nz ; if so, return - call GBPalWhiteOut - call z, RunDefaultPaletteCommand - ld a, [wIsInBattle] - and a - ret nz - jp ReloadMapData -.useVitamin - push hl - ld a, [hl] - ld [wd0b5], a - ld [wd11e], a - ld bc, wPartyMon1Level - wPartyMon1 - add hl, bc ; hl now points to level - ld a, [hl] ; a = level - ld [wCurEnemyLVL], a ; store level - call GetMonHeader - push de - ld a, d - ld hl, wPartyMonNicks - call GetPartyMonName - pop de - pop hl - ld a, [wcf91] - cp RARE_CANDY - jp z, .useRareCandy - push hl - sub HP_UP - add a - ld bc, wPartyMon1HPExp - wPartyMon1 - add hl, bc - add l - ld l, a - jr nc, .noCarry2 - inc h -.noCarry2 - ld a, 10 - ld b, a - ld a, [hl] ; a = MSB of stat experience of the appropriate stat - cp 100 ; is there already at least 25600 (256 * 100) stat experience? - jr nc, .vitaminNoEffect ; if so, vitamins can't add any more - add b ; add 2560 (256 * 10) stat experience - jr nc, .noCarry3 ; a carry should be impossible here, so this will always jump - ld a, 255 -.noCarry3 - ld [hl], a - pop hl - call .recalculateStats - ld hl, VitaminText - ld a, [wcf91] - sub HP_UP - 1 - ld c, a -.statNameLoop ; loop to get the address of the name of the stat the vitamin increases - dec c - jr z, .gotStatName -.statNameInnerLoop - ld a, [hli] - ld b, a - ld a, $50 - cp b - jr nz, .statNameInnerLoop - jr .statNameLoop -.gotStatName - ld de, wcf4b - ld bc, 10 - call CopyData ; copy the stat's name to wcf4b - ld a, SFX_HEAL_AILMENT - call PlaySound - ld hl, VitaminStatRoseText - call PrintText - jp RemoveUsedItem -.vitaminNoEffect - pop hl - ld hl, VitaminNoEffectText - call PrintText - jp GBPalWhiteOut -.recalculateStats - ld bc, wPartyMon1Stats - wPartyMon1 - add hl, bc - ld d, h - ld e, l ; de now points to stats - ld bc, (wPartyMon1Exp + 2) - wPartyMon1Stats - add hl, bc ; hl now points to LSB of experience - ld b, 1 - jp CalcStats ; recalculate stats -.useRareCandy - push hl - ld bc, wPartyMon1Level - wPartyMon1 - add hl, bc ; hl now points to level - ld a, [hl] ; a = level - cp MAX_LEVEL - jr z, .vitaminNoEffect ; can't raise level above 100 - inc a - ld [hl], a ; store incremented level - ld [wCurEnemyLVL], a - push hl - push de - ld d, a - callab CalcExperience ; calculate experience for next level and store it at $ff96 - pop de - pop hl - ld bc, wPartyMon1Exp - wPartyMon1Level - add hl, bc ; hl now points to MSB of experience -; update experience to minimum for new level - ld a, [hExperience] - ld [hli], a - ld a, [hExperience + 1] - ld [hli], a - ld a, [hExperience + 2] - ld [hl], a - pop hl - ld a, [wWhichPokemon] - push af - ld a, [wcf91] - push af - push de - push hl - ld bc, wPartyMon1MaxHP - wPartyMon1 - add hl, bc ; hl now points to MSB of max HP - ld a, [hli] - ld b, a - ld c, [hl] - pop hl - push bc - push hl - call .recalculateStats - pop hl - ld bc, (wPartyMon1MaxHP + 1) - wPartyMon1 - add hl, bc ; hl now points to LSB of max HP - pop bc - ld a, [hld] - sub c - ld c, a - ld a, [hl] - sbc b - ld b, a ; bc = the amount of max HP gained from leveling up -; add the amount gained to the current HP - ld de, (wPartyMon1HP + 1) - wPartyMon1MaxHP - add hl, de ; hl now points to LSB of current HP - ld a, [hl] - add c - ld [hld], a - ld a, [hl] - adc b - ld [hl], a - ld a, RARE_CANDY_MSG - ld [wPartyMenuTypeOrMessageID], a - call RedrawPartyMenu - pop de - ld a, d - ld [wWhichPokemon], a - ld a, e - ld [wd11e], a - xor a ; PLAYER_PARTY_DATA - ld [wMonDataLocation], a - call LoadMonData - ld d, $01 - callab PrintStatsBox ; display new stats text box - call WaitForTextScrollButtonPress ; wait for button press - xor a ; PLAYER_PARTY_DATA - ld [wMonDataLocation], a - predef LearnMoveFromLevelUp ; learn level up move, if any - xor a - ld [wForceEvolution], a - callab TryEvolvingMon ; evolve pokemon, if appropriate - ld a, $01 - ld [wUpdateSpritesEnabled], a - pop af - ld [wcf91], a - pop af - ld [wWhichPokemon], a - jp RemoveUsedItem - -VitaminStatRoseText: - TX_FAR _VitaminStatRoseText - db "@" - -VitaminNoEffectText: - TX_FAR _VitaminNoEffectText - db "@" - -VitaminText: - db "HEALTH@" - db "ATTACK@" - db "DEFENSE@" - db "SPEED@" - db "SPECIAL@" - -ItemUseBait: - ld hl, ThrewBaitText - call PrintText - ld hl, wEnemyMonActualCatchRate ; catch rate - srl [hl] ; halve catch rate - ld a, BAIT_ANIM - ld hl, wSafariBaitFactor ; bait factor - ld de, wSafariEscapeFactor ; escape factor - jr BaitRockCommon - -ItemUseRock: - ld hl, ThrewRockText - call PrintText - ld hl, wEnemyMonActualCatchRate ; catch rate - ld a, [hl] - add a ; double catch rate - jr nc, .noCarry - ld a, $ff -.noCarry - ld [hl], a - ld a, ROCK_ANIM - ld hl, wSafariEscapeFactor ; escape factor - ld de, wSafariBaitFactor ; bait factor - -BaitRockCommon: - ld [wAnimationID], a - xor a - ld [wAnimationType], a - ld [H_WHOSETURN], a - ld [de], a ; zero escape factor (for bait), zero bait factor (for rock) -.randomLoop ; loop until a random number less than 5 is generated - call Random - and 7 - cp 5 - jr nc, .randomLoop - inc a ; increment the random number, giving a range from 1 to 5 inclusive - ld b, a - ld a, [hl] - add b ; increase bait factor (for bait), increase escape factor (for rock) - jr nc, .noCarry - ld a, $ff -.noCarry - ld [hl], a - predef MoveAnimation ; do animation - ld c, 70 - jp DelayFrames - -ThrewBaitText: - TX_FAR _ThrewBaitText - db "@" - -ThrewRockText: - TX_FAR _ThrewRockText - db "@" - -; also used for Dig out-of-battle effect -ItemUseEscapeRope: - ld a, [wIsInBattle] - and a - jr nz, .notUsable - ld a, [wCurMap] - cp AGATHAS_ROOM - jr z, .notUsable - ld a, [wCurMapTileset] - ld b, a - ld hl, EscapeRopeTilesets -.loop - ld a, [hli] - cp $ff - jr z, .notUsable - cp b - jr nz, .loop - ld hl, wd732 - set 3, [hl] - set 6, [hl] - ld hl, wd72e - res 4, [hl] - ResetEvent EVENT_IN_SAFARI_ZONE - xor a - ld [wNumSafariBalls], a - ld [wSafariZoneGateCurScript], a - inc a - ld [wEscapedFromBattle], a - ld [wActionResultOrTookBattleTurn], a ; item used - ld a, [wPseudoItemID] - and a ; using Dig? - ret nz ; if so, return - call ItemUseReloadOverworldData - ld c, 30 - call DelayFrames - jp RemoveUsedItem -.notUsable - jp ItemUseNotTime - -EscapeRopeTilesets: - db FOREST, CEMETERY, CAVERN, FACILITY, INTERIOR - db $ff ; terminator - -ItemUseRepel: - ld b, 100 - -ItemUseRepelCommon: - ld a, [wIsInBattle] - and a - jp nz, ItemUseNotTime - ld a, b - ld [wRepelRemainingSteps], a - jp PrintItemUseTextAndRemoveItem - -; handles X Accuracy item -ItemUseXAccuracy: - ld a, [wIsInBattle] - and a - jp z, ItemUseNotTime - ld hl, wPlayerBattleStatus2 - set USING_X_ACCURACY, [hl] ; X Accuracy bit - jp PrintItemUseTextAndRemoveItem - -; This function is bugged and never works. It always jumps to ItemUseNotTime. -; The Card Key is handled in a different way. -ItemUseCardKey: - xor a - ld [wUnusedD71F], a - call GetTileAndCoordsInFrontOfPlayer - ld a, [GetTileAndCoordsInFrontOfPlayer] - cp $18 - jr nz, .next0 - ld hl, CardKeyTable1 - jr .next1 -.next0 - cp $24 - jr nz, .next2 - ld hl, CardKeyTable2 - jr .next1 -.next2 - cp $5e - jp nz, ItemUseNotTime - ld hl, CardKeyTable3 -.next1 - ld a, [wCurMap] - ld b, a -.loop - ld a, [hli] - cp $ff - jp z, ItemUseNotTime - cp b - jr nz, .nextEntry1 - ld a, [hli] - cp d - jr nz, .nextEntry2 - ld a, [hli] - cp e - jr nz, .nextEntry3 - ld a, [hl] - ld [wUnusedD71F], a - jr .done -.nextEntry1 - inc hl -.nextEntry2 - inc hl -.nextEntry3 - inc hl - jr .loop -.done - ld hl, ItemUseText00 - call PrintText - ld hl, wd728 - set 7, [hl] - ret - -; These tables are probably supposed to be door locations in Silph Co., -; but they are unused. -; The reason there are 3 tables is unknown. - -; Format: -; 00: Map ID -; 01: Y -; 02: X -; 03: ID? - -CardKeyTable1: - db SILPH_CO_2F,$04,$04,$00 - db SILPH_CO_2F,$04,$05,$01 - db SILPH_CO_4F,$0C,$04,$02 - db SILPH_CO_4F,$0C,$05,$03 - db SILPH_CO_7F,$06,$0A,$04 - db SILPH_CO_7F,$06,$0B,$05 - db SILPH_CO_9F,$04,$12,$06 - db SILPH_CO_9F,$04,$13,$07 - db SILPH_CO_10F,$08,$0A,$08 - db SILPH_CO_10F,$08,$0B,$09 - db $ff - -CardKeyTable2: - db SILPH_CO_3F,$08,$09,$0A - db SILPH_CO_3F,$09,$09,$0B - db SILPH_CO_5F,$04,$07,$0C - db SILPH_CO_5F,$05,$07,$0D - db SILPH_CO_6F,$0C,$05,$0E - db SILPH_CO_6F,$0D,$05,$0F - db SILPH_CO_8F,$08,$07,$10 - db SILPH_CO_8F,$09,$07,$11 - db SILPH_CO_9F,$08,$03,$12 - db SILPH_CO_9F,$09,$03,$13 - db $ff - -CardKeyTable3: - db SILPH_CO_11F,$08,$09,$14 - db SILPH_CO_11F,$09,$09,$15 - db $ff - -ItemUsePokedoll: - ld a, [wIsInBattle] - dec a - jp nz, ItemUseNotTime - ld a, $01 - ld [wEscapedFromBattle], a - jp PrintItemUseTextAndRemoveItem - -ItemUseGuardSpec: - ld a, [wIsInBattle] - and a - jp z, ItemUseNotTime - ld hl, wPlayerBattleStatus2 - set PROTECTED_BY_MIST, [hl] ; Mist bit - jp PrintItemUseTextAndRemoveItem - -ItemUseSuperRepel: - ld b, 200 - jp ItemUseRepelCommon - -ItemUseMaxRepel: - ld b, 250 - jp ItemUseRepelCommon - -ItemUseDireHit: - ld a, [wIsInBattle] - and a - jp z, ItemUseNotTime - ld hl, wPlayerBattleStatus2 - set GETTING_PUMPED, [hl] ; Focus Energy bit - jp PrintItemUseTextAndRemoveItem - -ItemUseXStat: - ld a, [wIsInBattle] - and a - jr nz, .inBattle - call ItemUseNotTime - ld a, 2 - ld [wActionResultOrTookBattleTurn], a ; item not used - ret -.inBattle - ld hl, wPlayerMoveNum - ld a, [hli] - push af ; save [wPlayerMoveNum] - ld a, [hl] - push af ; save [wPlayerMoveEffect] - push hl - ld a, [wcf91] - sub X_ATTACK - ATTACK_UP1_EFFECT - ld [hl], a ; store player move effect - call PrintItemUseTextAndRemoveItem - ld a, XSTATITEM_ANIM ; X stat item animation ID - ld [wPlayerMoveNum], a - call LoadScreenTilesFromBuffer1 ; restore saved screen - call Delay3 - xor a - ld [H_WHOSETURN], a ; set turn to player's turn - callba StatModifierUpEffect ; do stat increase move - pop hl - pop af - ld [hld], a ; restore [wPlayerMoveEffect] - pop af - ld [hl], a ; restore [wPlayerMoveNum] - ret - -ItemUsePokeflute: - ld a, [wIsInBattle] - and a - jr nz, .inBattle -; if not in battle - call ItemUseReloadOverworldData - ld a, [wCurMap] - cp ROUTE_12 - jr nz, .notRoute12 - CheckEvent EVENT_BEAT_ROUTE12_SNORLAX - jr nz, .noSnorlaxToWakeUp -; if the player hasn't beaten Route 12 Snorlax - ld hl, Route12SnorlaxFluteCoords - call ArePlayerCoordsInArray - jr nc, .noSnorlaxToWakeUp - ld hl, PlayedFluteHadEffectText - call PrintText - SetEvent EVENT_FIGHT_ROUTE12_SNORLAX - ret -.notRoute12 - cp ROUTE_16 - jr nz, .noSnorlaxToWakeUp - CheckEvent EVENT_BEAT_ROUTE16_SNORLAX - jr nz, .noSnorlaxToWakeUp -; if the player hasn't beaten Route 16 Snorlax - ld hl, Route16SnorlaxFluteCoords - call ArePlayerCoordsInArray - jr nc, .noSnorlaxToWakeUp - ld hl, PlayedFluteHadEffectText - call PrintText - SetEvent EVENT_FIGHT_ROUTE16_SNORLAX - ret -.noSnorlaxToWakeUp - ld hl, PlayedFluteNoEffectText - jp PrintText -.inBattle - xor a - ld [wWereAnyMonsAsleep], a - ld b, ~SLP & $ff - ld hl, wPartyMon1Status - call WakeUpEntireParty - ld a, [wIsInBattle] - dec a ; is it a trainer battle? - jr z, .skipWakingUpEnemyParty -; if it's a trainer battle - ld hl, wEnemyMon1Status - call WakeUpEntireParty -.skipWakingUpEnemyParty - ld hl, wBattleMonStatus - ld a, [hl] - and b ; remove Sleep status - ld [hl], a - ld hl, wEnemyMonStatus - ld a, [hl] - and b ; remove Sleep status - ld [hl], a - call LoadScreenTilesFromBuffer2 ; restore saved screen - ld a, [wWereAnyMonsAsleep] - and a ; were any pokemon asleep before playing the flute? - ld hl, PlayedFluteNoEffectText - jp z, PrintText ; if no pokemon were asleep -; if some pokemon were asleep - ld hl, PlayedFluteHadEffectText - call PrintText - ld a, [wLowHealthAlarm] - and $80 - jr nz, .skipMusic - call WaitForSoundToFinish ; wait for sound to end - callba Music_PokeFluteInBattle ; play in-battle pokeflute music -.musicWaitLoop ; wait for music to finish playing - ld a, [wChannelSoundIDs + Ch7] - and a ; music off? - jr nz, .musicWaitLoop -.skipMusic - ld hl, FluteWokeUpText - jp PrintText - -; wakes up all party pokemon -; INPUT: -; hl must point to status of first pokemon in party (player's or enemy's) -; b must equal ~SLP -; [wWereAnyMonsAsleep] should be initialized to 0 -; OUTPUT: -; [wWereAnyMonsAsleep]: set to 1 if any pokemon were asleep -WakeUpEntireParty: - ld de, 44 - ld c, 6 -.loop - ld a, [hl] - push af - and SLP ; is pokemon asleep? - jr z, .notAsleep - ld a, 1 - ld [wWereAnyMonsAsleep], a ; indicate that a pokemon had to be woken up -.notAsleep - pop af - and b ; remove Sleep status - ld [hl], a - add hl, de - dec c - jr nz, .loop - ret - -; Format: -; 00: Y -; 01: X -Route12SnorlaxFluteCoords: - db 62,9 ; one space West of Snorlax - db 61,10 ; one space North of Snorlax - db 63,10 ; one space South of Snorlax - db 62,11 ; one space East of Snorlax - db $ff ; terminator - -; Format: -; 00: Y -; 01: X -Route16SnorlaxFluteCoords: - db 10,27 ; one space East of Snorlax - db 10,25 ; one space West of Snorlax - db $ff ; terminator - -PlayedFluteNoEffectText: - TX_FAR _PlayedFluteNoEffectText - db "@" - -FluteWokeUpText: - TX_FAR _FluteWokeUpText - db "@" - -PlayedFluteHadEffectText: - TX_FAR _PlayedFluteHadEffectText - TX_BLINK - TX_ASM - ld a, [wIsInBattle] - and a - jr nz, .done -; play out-of-battle pokeflute music - ld a, $ff - call PlaySound ; turn off music - ld a, SFX_POKEFLUTE - ld c, BANK(SFX_Pokeflute) - call PlayMusic -.musicWaitLoop ; wait for music to finish playing - ld a, [wChannelSoundIDs + Ch3] - cp SFX_POKEFLUTE - jr z, .musicWaitLoop - call PlayDefaultMusic ; start playing normal music again -.done - jp TextScriptEnd ; end text - -ItemUseCoinCase: - ld a, [wIsInBattle] - and a - jp nz, ItemUseNotTime - ld hl, CoinCaseNumCoinsText - jp PrintText - -CoinCaseNumCoinsText: - TX_FAR _CoinCaseNumCoinsText - db "@" - -ItemUseOldRod: - call FishingInit - jp c, ItemUseNotTime - lb bc, 5, MAGIKARP - ld a, $1 ; set bite - jr RodResponse - -ItemUseGoodRod: - call FishingInit - jp c, ItemUseNotTime -.RandomLoop - call Random - srl a - jr c, .SetBite - and %11 - cp 2 - jr nc, .RandomLoop - ; choose which monster appears - ld hl, GoodRodMons - add a - ld c, a - ld b, 0 - add hl, bc - ld b, [hl] - inc hl - ld c, [hl] - and a -.SetBite - ld a, 0 - rla - xor 1 - jr RodResponse - -INCLUDE "data/good_rod.asm" - -ItemUseSuperRod: - call FishingInit - jp c, ItemUseNotTime - call ReadSuperRodData - ld a, e -RodResponse: - ld [wRodResponse], a - - dec a ; is there a bite? - jr nz, .next - ; if yes, store level and species data - ld a, 1 - ld [wMoveMissed], a - ld a, b ; level - ld [wCurEnemyLVL], a - ld a, c ; species - ld [wCurOpponent], a - -.next - ld hl, wWalkBikeSurfState - ld a, [hl] ; store the value in a - push af - push hl - ld [hl], 0 - callba FishingAnim - pop hl - pop af - ld [hl], a - ret - -; checks if fishing is possible and if so, runs initialization code common to all rods -; unsets carry if fishing is possible, sets carry if not -FishingInit: - ld a, [wIsInBattle] - and a - jr z, .notInBattle - scf ; can't fish during battle - ret -.notInBattle - call IsNextTileShoreOrWater - ret c - ld a, [wWalkBikeSurfState] - cp 2 ; Surfing? - jr z, .surfing - call ItemUseReloadOverworldData - ld hl, ItemUseText00 - call PrintText - ld a, SFX_HEAL_AILMENT - call PlaySound - ld c, 80 - call DelayFrames - and a - ret -.surfing - scf ; can't fish when surfing - ret - -ItemUseOaksParcel: - jp ItemUseNotYoursToUse - -ItemUseItemfinder: - ld a, [wIsInBattle] - and a - jp nz, ItemUseNotTime - call ItemUseReloadOverworldData - callba HiddenItemNear ; check for hidden items - ld hl, ItemfinderFoundNothingText - jr nc, .printText ; if no hidden items - ld c, 4 -.loop - ld a, SFX_HEALING_MACHINE - call PlaySoundWaitForCurrent - ld a, SFX_PURCHASE - call PlaySoundWaitForCurrent - dec c - jr nz, .loop - ld hl, ItemfinderFoundItemText -.printText - jp PrintText - -ItemfinderFoundItemText: - TX_FAR _ItemfinderFoundItemText - db "@" - -ItemfinderFoundNothingText: - TX_FAR _ItemfinderFoundNothingText - db "@" - -ItemUsePPUp: - ld a, [wIsInBattle] - and a - jp nz, ItemUseNotTime - -ItemUsePPRestore: - ld a, [wWhichPokemon] - push af - ld a, [wcf91] - ld [wPPRestoreItem], a -.chooseMon - xor a - ld [wUpdateSpritesEnabled], a - ld a, USE_ITEM_PARTY_MENU - ld [wPartyMenuTypeOrMessageID], a - call DisplayPartyMenu - jr nc, .chooseMove - jp .itemNotUsed -.chooseMove - ld a, [wPPRestoreItem] - cp ELIXER - jp nc, .useElixir ; if Elixir or Max Elixir - ld a, $02 - ld [wMoveMenuType], a - ld hl, RaisePPWhichTechniqueText - ld a, [wPPRestoreItem] - cp ETHER ; is it a PP Up? - jr c, .printWhichTechniqueMessage ; if so, print the raise PP message - ld hl, RestorePPWhichTechniqueText ; otherwise, print the restore PP message -.printWhichTechniqueMessage - call PrintText - xor a - ld [wPlayerMoveListIndex], a - callab MoveSelectionMenu ; move selection menu - ld a, 0 - ld [wPlayerMoveListIndex], a - jr nz, .chooseMon - ld hl, wPartyMon1Moves - ld bc, wPartyMon2 - wPartyMon1 - call GetSelectedMoveOffset - push hl - ld a, [hl] - ld [wd11e], a - call GetMoveName - call CopyStringToCF4B ; copy name to wcf4b - pop hl - ld a, [wPPRestoreItem] - cp ETHER - jr nc, .useEther ; if Ether or Max Ether -.usePPUp - ld bc, wPartyMon1PP - wPartyMon1Moves - add hl, bc - ld a, [hl] ; move PP - cp 3 << 6 ; have 3 PP Ups already been used? - jr c, .PPNotMaxedOut - ld hl, PPMaxedOutText - call PrintText - jr .chooseMove -.PPNotMaxedOut - ld a, [hl] - add 1 << 6 ; increase PP Up count by 1 - ld [hl], a - ld a, 1 ; 1 PP Up used - ld [wd11e], a - call RestoreBonusPP ; add the bonus PP to current PP - ld hl, PPIncreasedText - call PrintText -.done - pop af - ld [wWhichPokemon], a - call GBPalWhiteOut - call RunDefaultPaletteCommand - jp RemoveUsedItem -.afterRestoringPP ; after using a (Max) Ether/Elixir - ld a, [wWhichPokemon] - ld b, a - ld a, [wPlayerMonNumber] - cp b ; is the pokemon whose PP was restored active in battle? - jr nz, .skipUpdatingInBattleData - ld hl, wPartyMon1PP - ld bc, wPartyMon2 - wPartyMon1 - call AddNTimes - ld de, wBattleMonPP - ld bc, 4 - call CopyData ; copy party data to in-battle data -.skipUpdatingInBattleData - ld a, SFX_HEAL_AILMENT - call PlaySound - ld hl, PPRestoredText - call PrintText - jr .done -.useEther - call .restorePP - jr nz, .afterRestoringPP - jp .noEffect -; unsets zero flag if PP was restored, sets zero flag if not -; however, this is bugged for Max Ethers and Max Elixirs (see below) -.restorePP - xor a ; PLAYER_PARTY_DATA - ld [wMonDataLocation], a - call GetMaxPP - ld hl, wPartyMon1Moves - ld bc, wPartyMon2 - wPartyMon1 - call GetSelectedMoveOffset - ld bc, wPartyMon1PP - wPartyMon1Moves - add hl, bc ; hl now points to move's PP - ld a, [wMaxPP] - ld b, a - ld a, [wPPRestoreItem] - cp MAX_ETHER - jr z, .fullyRestorePP - ld a, [hl] ; move PP - and %00111111 ; lower 6 bit bits store current PP - cp b ; does current PP equal max PP? - ret z ; if so, return - add 10 ; increase current PP by 10 -; b holds the max PP amount and b will hold the new PP amount. -; So, if the new amount meets or exceeds the max amount, -; cap the amount to the max amount by leaving b unchanged. -; Otherwise, store the new amount in b. - cp b ; does the new amount meet or exceed the maximum? - jr nc, .storeNewAmount - ld b, a -.storeNewAmount - ld a, [hl] ; move PP - and %11000000 ; PP Up counter bits - add b - ld [hl], a - ret -.fullyRestorePP - ld a, [hl] ; move PP -; Note that this code has a bug. It doesn't mask out the upper two bits, which -; are used to count how many PP Ups have been used on the move. So, Max Ethers -; and Max Elixirs will not be detected as having no effect on a move with full -; PP if the move has had any PP Ups used on it. - cp b ; does current PP equal max PP? - ret z - jr .storeNewAmount -.useElixir -; decrement the item ID so that ELIXER becomes ETHER and MAX_ELIXER becomes MAX_ETHER - ld hl, wPPRestoreItem - dec [hl] - dec [hl] - xor a - ld hl, wCurrentMenuItem - ld [hli], a - ld [hl], a ; zero the counter for number of moves that had their PP restored - ld b, 4 -; loop through each move and restore PP -.elixirLoop - push bc - ld hl, wPartyMon1Moves - ld bc, wPartyMon2 - wPartyMon1 - call GetSelectedMoveOffset - ld a, [hl] - and a ; does the current slot have a move? - jr z, .nextMove - call .restorePP - jr z, .nextMove -; if some PP was restored - ld hl, wTileBehindCursor ; counter for number of moves that had their PP restored - inc [hl] -.nextMove - ld hl, wCurrentMenuItem - inc [hl] - pop bc - dec b - jr nz, .elixirLoop - ld a, [wTileBehindCursor] - and a ; did any moves have their PP restored? - jp nz, .afterRestoringPP -.noEffect - call ItemUseNoEffect -.itemNotUsed - call GBPalWhiteOut - call RunDefaultPaletteCommand - pop af - xor a - ld [wActionResultOrTookBattleTurn], a ; item use failed - ret - -RaisePPWhichTechniqueText: - TX_FAR _RaisePPWhichTechniqueText - db "@" - -RestorePPWhichTechniqueText: - TX_FAR _RestorePPWhichTechniqueText - db "@" - -PPMaxedOutText: - TX_FAR _PPMaxedOutText - db "@" - -PPIncreasedText: - TX_FAR _PPIncreasedText - db "@" - -PPRestoredText: - TX_FAR _PPRestoredText - db "@" - -; for items that can't be used from the Item menu -UnusableItem: - jp ItemUseNotTime - -ItemUseTMHM: - ld a, [wIsInBattle] - and a - jp nz, ItemUseNotTime - ld a, [wcf91] - sub TM_01 - push af - jr nc, .skipAdding - add 55 ; if item is an HM, add 55 -.skipAdding - inc a - ld [wd11e], a - predef TMToMove ; get move ID from TM/HM ID - ld a, [wd11e] - ld [wMoveNum], a - call GetMoveName - call CopyStringToCF4B ; copy name to wcf4b - pop af - ld hl, BootedUpTMText - jr nc, .printBootedUpMachineText - ld hl, BootedUpHMText -.printBootedUpMachineText - call PrintText - ld hl, TeachMachineMoveText - call PrintText - coord hl, 14, 7 - lb bc, 8, 15 - ld a, TWO_OPTION_MENU - ld [wTextBoxID], a - call DisplayTextBoxID ; yes/no menu - ld a, [wCurrentMenuItem] - and a - jr z, .useMachine - ld a, 2 - ld [wActionResultOrTookBattleTurn], a ; item not used - ret -.useMachine - ld a, [wWhichPokemon] - push af - ld a, [wcf91] - push af -.chooseMon - ld hl, wcf4b - ld de, wTempMoveNameBuffer - ld bc, 14 - call CopyData ; save the move name because DisplayPartyMenu will overwrite it - ld a, $ff - ld [wUpdateSpritesEnabled], a - ld a, TMHM_PARTY_MENU - ld [wPartyMenuTypeOrMessageID], a - call DisplayPartyMenu - push af - ld hl, wTempMoveNameBuffer - ld de, wcf4b - ld bc, 14 - call CopyData - pop af - jr nc, .checkIfAbleToLearnMove -; if the player canceled teaching the move - pop af - pop af - call GBPalWhiteOutWithDelay3 - call ClearSprites - call RunDefaultPaletteCommand - jp LoadScreenTilesFromBuffer1 ; restore saved screen -.checkIfAbleToLearnMove - predef CanLearnTM ; check if the pokemon can learn the move - push bc - ld a, [wWhichPokemon] - ld hl, wPartyMonNicks - call GetPartyMonName - pop bc - ld a, c - and a ; can the pokemon learn the move? - jr nz, .checkIfAlreadyLearnedMove -; if the pokemon can't learn the move - ld a, SFX_DENIED - call PlaySoundWaitForCurrent - ld hl, MonCannotLearnMachineMoveText - call PrintText - jr .chooseMon -.checkIfAlreadyLearnedMove - callab CheckIfMoveIsKnown ; check if the pokemon already knows the move - jr c, .chooseMon - predef LearnMove ; teach move - pop af - ld [wcf91], a - pop af - ld [wWhichPokemon], a - ld a, b - and a - ret z - ld a, [wcf91] - call IsItemHM - ret c - jp RemoveUsedItem - -BootedUpTMText: - TX_FAR _BootedUpTMText - db "@" - -BootedUpHMText: - TX_FAR _BootedUpHMText - db "@" - -TeachMachineMoveText: - TX_FAR _TeachMachineMoveText - db "@" - -MonCannotLearnMachineMoveText: - TX_FAR _MonCannotLearnMachineMoveText - db "@" - -PrintItemUseTextAndRemoveItem: - ld hl, ItemUseText00 - call PrintText - ld a, SFX_HEAL_AILMENT - call PlaySound - call WaitForTextScrollButtonPress ; wait for button press - -RemoveUsedItem: - ld hl, wNumBagItems - ld a, 1 ; one item - ld [wItemQuantity], a - jp RemoveItemFromInventory - -ItemUseNoEffect: - ld hl, ItemUseNoEffectText - jr ItemUseFailed - -ItemUseNotTime: - ld hl, ItemUseNotTimeText - jr ItemUseFailed - -ItemUseNotYoursToUse: - ld hl, ItemUseNotYoursToUseText - jr ItemUseFailed - -ThrowBallAtTrainerMon: - call RunDefaultPaletteCommand - call LoadScreenTilesFromBuffer1 ; restore saved screen - call Delay3 - ld a, TOSS_ANIM - ld [wAnimationID], a - predef MoveAnimation ; do animation - ld hl, ThrowBallAtTrainerMonText1 - call PrintText - ld hl, ThrowBallAtTrainerMonText2 - call PrintText - jr RemoveUsedItem - -NoCyclingAllowedHere: - ld hl, NoCyclingAllowedHereText - jr ItemUseFailed - -BoxFullCannotThrowBall: - ld hl, BoxFullCannotThrowBallText - jr ItemUseFailed - -SurfingAttemptFailed: - ld hl, NoSurfingHereText - -ItemUseFailed: - xor a - ld [wActionResultOrTookBattleTurn], a ; item use failed - jp PrintText - -ItemUseNotTimeText: - TX_FAR _ItemUseNotTimeText - db "@" - -ItemUseNotYoursToUseText: - TX_FAR _ItemUseNotYoursToUseText - db "@" - -ItemUseNoEffectText: - TX_FAR _ItemUseNoEffectText - db "@" - -ThrowBallAtTrainerMonText1: - TX_FAR _ThrowBallAtTrainerMonText1 - db "@" - -ThrowBallAtTrainerMonText2: - TX_FAR _ThrowBallAtTrainerMonText2 - db "@" - -NoCyclingAllowedHereText: - TX_FAR _NoCyclingAllowedHereText - db "@" - -NoSurfingHereText: - TX_FAR _NoSurfingHereText - db "@" - -BoxFullCannotThrowBallText: - TX_FAR _BoxFullCannotThrowBallText - db "@" - -ItemUseText00: - TX_FAR _ItemUseText001 - TX_LINE - TX_FAR _ItemUseText002 - db "@" - -GotOnBicycleText: - TX_FAR _GotOnBicycleText1 - TX_LINE - TX_FAR _GotOnBicycleText2 - db "@" - -GotOffBicycleText: - TX_FAR _GotOffBicycleText1 - TX_LINE - TX_FAR _GotOffBicycleText2 - db "@" - -; restores bonus PP (from PP Ups) when healing at a pokemon center -; also, when a PP Up is used, it increases the current PP by one PP Up bonus -; INPUT: -; [wWhichPokemon] = index of pokemon in party -; [wCurrentMenuItem] = index of move (when using a PP Up) -RestoreBonusPP: - ld hl, wPartyMon1Moves - ld bc, wPartyMon2 - wPartyMon1 - ld a, [wWhichPokemon] - call AddNTimes - push hl - ld de, wNormalMaxPPList - 1 - predef LoadMovePPs ; loads the normal max PP of each of the pokemon's moves to wNormalMaxPPList - pop hl - ld c, wPartyMon1PP - wPartyMon1Moves - ld b, 0 - add hl, bc ; hl now points to move 1 PP - ld de, wNormalMaxPPList - ld b, 0 ; initialize move counter to zero -; loop through the pokemon's moves -.loop - inc b - ld a, b - cp 5 ; reached the end of the pokemon's moves? - ret z ; if so, return - ld a, [wUsingPPUp] - dec a ; using a PP Up? - jr nz, .skipMenuItemIDCheck -; if using a PP Up, check if this is the move it's being used on - ld a, [wCurrentMenuItem] - inc a - cp b - jr nz, .nextMove -.skipMenuItemIDCheck - ld a, [hl] - and %11000000 ; have any PP Ups been used? - call nz, AddBonusPP ; if so, add bonus PP -.nextMove - inc hl - inc de - jr .loop - -; adds bonus PP from PP Ups to current PP -; 1/5 of normal max PP (capped at 7) is added for each PP Up -; INPUT: -; [de] = normal max PP -; [hl] = move PP -AddBonusPP: - push bc - ld a, [de] ; normal max PP of move - ld [H_DIVIDEND + 3], a - xor a - ld [H_DIVIDEND], a - ld [H_DIVIDEND + 1], a - ld [H_DIVIDEND + 2], a - ld a, 5 - ld [H_DIVISOR], a - ld b, 4 - call Divide - ld a, [hl] ; move PP - ld b, a - swap a - and %00001111 - srl a - srl a - ld c, a ; c = number of PP Ups used -.loop - ld a, [H_QUOTIENT + 3] - cp 8 ; is the amount greater than or equal to 8? - jr c, .addAmount - ld a, 7 ; cap the amount at 7 -.addAmount - add b - ld b, a - ld a, [wUsingPPUp] - dec a ; is the player using a PP Up right now? - jr z, .done ; if so, only add the bonus once - dec c - jr nz, .loop -.done - ld [hl], b - pop bc - ret - -; gets max PP of a pokemon's move (including PP from PP Ups) -; INPUT: -; [wWhichPokemon] = index of pokemon within party/box -; [wMonDataLocation] = pokemon source -; 00: player's party -; 01: enemy's party -; 02: current box -; 03: daycare -; 04: player's in-battle pokemon -; [wCurrentMenuItem] = move index -; OUTPUT: -; [wMaxPP] = max PP -GetMaxPP: - ld a, [wMonDataLocation] - and a - ld hl, wPartyMon1Moves - ld bc, wPartyMon2 - wPartyMon1 - jr z, .sourceWithMultipleMon - ld hl, wEnemyMon1Moves - dec a - jr z, .sourceWithMultipleMon - ld hl, wBoxMon1Moves - ld bc, wBoxMon2 - wBoxMon1 - dec a - jr z, .sourceWithMultipleMon - ld hl, wDayCareMonMoves - dec a - jr z, .sourceWithOneMon - ld hl, wBattleMonMoves ; player's in-battle pokemon -.sourceWithOneMon - call GetSelectedMoveOffset2 - jr .next -.sourceWithMultipleMon - call GetSelectedMoveOffset -.next - ld a, [hl] - dec a - push hl - ld hl, Moves - ld bc, MoveEnd - Moves - call AddNTimes - ld de, wcd6d - ld a, BANK(Moves) - call FarCopyData - ld de, wcd6d + 5 ; PP is byte 5 of move data - ld a, [de] - ld b, a ; b = normal max PP - pop hl - push bc - ld bc, wPartyMon1PP - wPartyMon1Moves ; PP offset if not player's in-battle pokemon data - ld a, [wMonDataLocation] - cp 4 ; player's in-battle pokemon? - jr nz, .addPPOffset - ld bc, wBattleMonPP - wBattleMonMoves ; PP offset if player's in-battle pokemon data -.addPPOffset - add hl, bc - ld a, [hl] ; a = current PP - and %11000000 ; get PP Up count - pop bc - or b ; place normal max PP in 6 lower bits of a - ld h, d - ld l, e - inc hl ; hl = wcd73 - ld [hl], a - xor a ; add the bonus for the existing PP Up count - ld [wUsingPPUp], a - call AddBonusPP ; add bonus PP from PP Ups - ld a, [hl] - and %00111111 ; mask out the PP Up count - ld [wMaxPP], a ; store max PP - ret - -GetSelectedMoveOffset: - ld a, [wWhichPokemon] - call AddNTimes - -GetSelectedMoveOffset2: - ld a, [wCurrentMenuItem] - ld c, a - ld b, 0 - add hl, bc - ret - -; confirms the item toss and then tosses the item -; INPUT: -; hl = address of inventory (either wNumBagItems or wNumBoxItems) -; [wcf91] = item ID -; [wWhichPokemon] = index of item within inventory -; [wItemQuantity] = quantity to toss -; OUTPUT: -; clears carry flag if the item is tossed, sets carry flag if not -TossItem_:: - push hl - ld a, [wcf91] - call IsItemHM - pop hl - jr c, .tooImportantToToss - push hl - call IsKeyItem_ - ld a, [wIsKeyItem] - pop hl - and a - jr nz, .tooImportantToToss - push hl - ld a, [wcf91] - ld [wd11e], a - call GetItemName - call CopyStringToCF4B ; copy name to wcf4b - ld hl, IsItOKToTossItemText - call PrintText - coord hl, 14, 7 - lb bc, 8, 15 - ld a, TWO_OPTION_MENU - ld [wTextBoxID], a - call DisplayTextBoxID ; yes/no menu - ld a, [wMenuExitMethod] - cp CHOSE_SECOND_ITEM - pop hl - scf - ret z ; return if the player chose No -; if the player chose Yes - push hl - ld a, [wWhichPokemon] - call RemoveItemFromInventory - ld a, [wcf91] - ld [wd11e], a - call GetItemName - call CopyStringToCF4B ; copy name to wcf4b - ld hl, ThrewAwayItemText - call PrintText - pop hl - and a - ret -.tooImportantToToss - push hl - ld hl, TooImportantToTossText - call PrintText - pop hl - scf - ret - -ThrewAwayItemText: - TX_FAR _ThrewAwayItemText - db "@" - -IsItOKToTossItemText: - TX_FAR _IsItOKToTossItemText - db "@" - -TooImportantToTossText: - TX_FAR _TooImportantToTossText - db "@" - -; checks if an item is a key item -; INPUT: -; [wcf91] = item ID -; OUTPUT: -; [wIsKeyItem] = result -; 00: item is not key item -; 01: item is key item -IsKeyItem_:: - ld a, $01 - ld [wIsKeyItem], a - ld a, [wcf91] - cp HM_01 ; is the item an HM or TM? - jr nc, .checkIfItemIsHM -; if the item is not an HM or TM - push af - ld hl, KeyItemBitfield - ld de, wBuffer - ld bc, 15 ; only 11 bytes are actually used - call CopyData - pop af - dec a - ld c, a - ld hl, wBuffer - ld b, FLAG_TEST - predef FlagActionPredef - ld a, c - and a - ret nz -.checkIfItemIsHM - ld a, [wcf91] - call IsItemHM - ret c - xor a - ld [wIsKeyItem], a - ret - -INCLUDE "data/key_items.asm" - -SendNewMonToBox: - ld de, wNumInBox - ld a, [de] - inc a - ld [de], a - ld a, [wcf91] - ld [wd0b5], a - ld c, a -.asm_e7b1 - inc de - ld a, [de] - ld b, a - ld a, c - ld c, b - ld [de], a - cp $ff - jr nz, .asm_e7b1 - call GetMonHeader - ld hl, wBoxMonOT - ld bc, NAME_LENGTH - ld a, [wNumInBox] - dec a - jr z, .asm_e7ee - dec a - call AddNTimes - push hl - ld bc, NAME_LENGTH - add hl, bc - ld d, h - ld e, l - pop hl - ld a, [wNumInBox] - dec a - ld b, a -.asm_e7db - push bc - push hl - ld bc, NAME_LENGTH - call CopyData - pop hl - ld d, h - ld e, l - ld bc, -NAME_LENGTH - add hl, bc - pop bc - dec b - jr nz, .asm_e7db -.asm_e7ee - ld hl, wPlayerName - ld de, wBoxMonOT - ld bc, NAME_LENGTH - call CopyData - ld a, [wNumInBox] - dec a - jr z, .asm_e82a - ld hl, wBoxMonNicks - ld bc, NAME_LENGTH - dec a - call AddNTimes - push hl - ld bc, NAME_LENGTH - add hl, bc - ld d, h - ld e, l - pop hl - ld a, [wNumInBox] - dec a - ld b, a -.asm_e817 - push bc - push hl - ld bc, NAME_LENGTH - call CopyData - pop hl - ld d, h - ld e, l - ld bc, -NAME_LENGTH - add hl, bc - pop bc - dec b - jr nz, .asm_e817 -.asm_e82a - ld hl, wBoxMonNicks - ld a, NAME_MON_SCREEN - ld [wNamingScreenType], a - predef AskName - ld a, [wNumInBox] - dec a - jr z, .asm_e867 - ld hl, wBoxMons - ld bc, wBoxMon2 - wBoxMon1 - dec a - call AddNTimes - push hl - ld bc, wBoxMon2 - wBoxMon1 - add hl, bc - ld d, h - ld e, l - pop hl - ld a, [wNumInBox] - dec a - ld b, a -.asm_e854 - push bc - push hl - ld bc, wBoxMon2 - wBoxMon1 - call CopyData - pop hl - ld d, h - ld e, l - ld bc, wBoxMon1 - wBoxMon2 - add hl, bc - pop bc - dec b - jr nz, .asm_e854 -.asm_e867 - ld a, [wEnemyMonLevel] - ld [wEnemyMonBoxLevel], a - ld hl, wEnemyMon - ld de, wBoxMon1 - ld bc, wEnemyMonDVs - wEnemyMon - call CopyData - ld hl, wPlayerID - ld a, [hli] - ld [de], a - inc de - ld a, [hl] - ld [de], a - inc de - push de - ld a, [wCurEnemyLVL] - ld d, a - callab CalcExperience - pop de - ld a, [hExperience] - ld [de], a - inc de - ld a, [hExperience + 1] - ld [de], a - inc de - ld a, [hExperience + 2] - ld [de], a - inc de - xor a - ld b, NUM_STATS * 2 -.asm_e89f - ld [de], a - inc de - dec b - jr nz, .asm_e89f - ld hl, wEnemyMonDVs - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - ld hl, wEnemyMonPP - ld b, NUM_MOVES -.asm_e8b1 - ld a, [hli] - inc de - ld [de], a - dec b - jr nz, .asm_e8b1 - ret - -; checks if the tile in front of the player is a shore or water tile -; used for surfing and fishing -; unsets carry if it is, sets carry if not -IsNextTileShoreOrWater: - ld a, [wCurMapTileset] - ld hl, WaterTilesets - ld de, 1 - call IsInArray - jr nc, .notShoreOrWater - ld a, [wCurMapTileset] - cp SHIP_PORT ; Vermilion Dock tileset - ld a, [wTileInFrontOfPlayer] ; tile in front of player - jr z, .skipShoreTiles ; if it's the Vermilion Dock tileset - cp $48 ; eastern shore tile in Safari Zone - jr z, .shoreOrWater - cp $32 ; usual eastern shore tile - jr z, .shoreOrWater -.skipShoreTiles - cp $14 ; water tile - jr z, .shoreOrWater -.notShoreOrWater - scf - ret -.shoreOrWater - and a - ret - -INCLUDE "data/water_tilesets.asm" - -ReadSuperRodData: -; return e = 2 if no fish on this map -; return e = 1 if a bite, bc = level,species -; return e = 0 if no bite - ld a, [wCurMap] - ld de, 3 ; each fishing group is three bytes wide - ld hl, SuperRodData - call IsInArray - jr c, .ReadFishingGroup - ld e, $2 ; $2 if no fishing groups found - ret - -.ReadFishingGroup -; hl points to the fishing group entry in the index - inc hl ; skip map id - - ; read fishing group address - ld a, [hli] - ld h, [hl] - ld l, a - - ld b, [hl] ; how many mons in group - inc hl ; point to data - ld e, $0 ; no bite yet - -.RandomLoop - call Random - srl a - ret c ; 50% chance of no battle - - and %11 ; 2-bit random number - cp b - jr nc, .RandomLoop ; if a is greater than the number of mons, regenerate - - ; get the mon - add a - ld c, a - ld b, $0 - add hl, bc - ld b, [hl] ; level - inc hl - ld c, [hl] ; species - ld e, $1 ; $1 if there's a bite - ret - -INCLUDE "data/super_rod.asm" - -; reloads map view and processes sprite data -; for items that cause the overworld to be displayed -ItemUseReloadOverworldData: - call LoadCurrentMapView - jp UpdateSprites - -; creates a list at wBuffer of maps where the mon in [wd11e] can be found. -; this is used by the pokedex to display locations the mon can be found on the map. -FindWildLocationsOfMon: - ld hl, WildDataPointers - ld de, wBuffer - ld c, $0 -.loop - inc hl - ld a, [hld] - inc a - jr z, .done - push hl - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [hli] - and a - call nz, CheckMapForMon ; land - ld a, [hli] - and a - call nz, CheckMapForMon ; water - pop hl - inc hl - inc hl - inc c - jr .loop -.done - ld a, $ff ; list terminator - ld [de], a - ret - -CheckMapForMon: - inc hl - ld b, $a -.loop - ld a, [wd11e] - cp [hl] - jr nz, .nextEntry - ld a, c - ld [de], a - inc de -.nextEntry - inc hl - inc hl - dec b - jr nz, .loop - dec hl - ret diff --git a/engine/items/subtract_paid_money.asm b/engine/items/subtract_paid_money.asm new file mode 100644 index 00000000..fdefe3d6 --- /dev/null +++ b/engine/items/subtract_paid_money.asm @@ -0,0 +1,17 @@ +; subtracts the amount the player paid from their money +; OUTPUT: carry = 0(success) or 1(fail because there is not enough money) +SubtractAmountPaidFromMoney_:: + ld de, wPlayerMoney + ld hl, hMoney ; total price of items + ld c, 3 ; length of money in bytes + call StringCmp + ret c + ld de, wPlayerMoney + 2 + ld hl, hMoney + 2 ; total price of items + ld c, 3 ; length of money in bytes + predef SubBCDPredef ; subtract total price from money + ld a, MONEY_BOX + ld [wTextBoxID], a + call DisplayTextBoxID ; redraw money text box + and a + ret diff --git a/engine/items/town_map.asm b/engine/items/town_map.asm new file mode 100755 index 00000000..84a92994 --- /dev/null +++ b/engine/items/town_map.asm @@ -0,0 +1,618 @@ +DisplayTownMap: + call LoadTownMap + ld hl, wUpdateSpritesEnabled + ld a, [hl] + push af + ld [hl], $ff + push hl + ld a, $1 + ld [hJoy7], a + ld a, [wCurMap] + push af + ld b, $0 + call DrawPlayerOrBirdSprite ; player sprite + coord hl, 1, 0 + ld de, wcd6d + call PlaceString + ld hl, wOAMBuffer + ld de, wTileMapBackup + ld bc, $10 + call CopyData + ld hl, vSprites + $40 + ld de, TownMapCursor + lb bc, BANK(TownMapCursor), (TownMapCursorEnd - TownMapCursor) / $8 + call CopyVideoDataDouble + xor a + ld [wWhichTownMapLocation], a + pop af + jr .enterLoop + +.townMapLoop + coord hl, 0, 0 + lb bc, 1, 20 + call ClearScreenArea + ld hl, TownMapOrder + ld a, [wWhichTownMapLocation] + ld c, a + ld b, 0 + add hl, bc + ld a, [hl] +.enterLoop + ld de, wTownMapCoords + call LoadTownMapEntry + ld a, [de] + push hl + call TownMapCoordsToOAMCoords + ld a, $4 + ld [wOAMBaseTile], a + ld hl, wOAMBuffer + $10 + call WriteTownMapSpriteOAM ; town map cursor sprite + pop hl + ld de, wcd6d +.copyMapName + ld a, [hli] + ld [de], a + inc de + cp $50 + jr nz, .copyMapName + coord hl, 1, 0 + ld de, wcd6d + call PlaceString + ld hl, wOAMBuffer + $10 + ld de, wTileMapBackup + 16 + ld bc, $10 + call CopyData +.inputLoop + call TownMapSpriteBlinkingAnimation + call JoypadLowSensitivity + ld a, [hJoy5] + ld b, a + and A_BUTTON | B_BUTTON | D_UP | D_DOWN + jr z, .inputLoop + ld a, SFX_TINK + call PlaySound + bit 6, b + jr nz, .pressedUp + bit 7, b + jr nz, .pressedDown + xor a + ld [wTownMapSpriteBlinkingEnabled], a + ld [hJoy7], a + ld [wAnimCounter], a + call ExitTownMap + pop hl + pop af + ld [hl], a + ret +.pressedUp + ld a, [wWhichTownMapLocation] + inc a + cp TownMapOrderEnd - TownMapOrder ; number of list items + 1 + jr nz, .noOverflow + xor a +.noOverflow + ld [wWhichTownMapLocation], a + jp .townMapLoop +.pressedDown + ld a, [wWhichTownMapLocation] + dec a + cp -1 + jr nz, .noUnderflow + ld a, TownMapOrderEnd - TownMapOrder - 1 ; number of list items +.noUnderflow + ld [wWhichTownMapLocation], a + jp .townMapLoop + +INCLUDE "data/town_map_order.asm" + +TownMapCursor: + INCBIN "gfx/town_map/town_map_cursor.1bpp" +TownMapCursorEnd: + +LoadTownMap_Nest: + call LoadTownMap + ld hl, wUpdateSpritesEnabled + ld a, [hl] + push af + ld [hl], $ff + push hl + call DisplayWildLocations + call GetMonName + coord hl, 1, 0 + call PlaceString + ld h, b + ld l, c + ld de, MonsNestText + call PlaceString + call WaitForTextScrollButtonPress + call ExitTownMap + pop hl + pop af + ld [hl], a + ret + +MonsNestText: + db "'s NEST@" + +LoadTownMap_Fly:: + call ClearSprites + call LoadTownMap + call LoadPlayerSpriteGraphics + call LoadFontTilePatterns + ld de, BirdSprite + ld hl, vSprites + $40 + lb bc, BANK(BirdSprite), $c + call CopyVideoData + ld de, TownMapUpArrow + ld hl, vChars1 + $6d0 + lb bc, BANK(TownMapUpArrow), (TownMapUpArrowEnd - TownMapUpArrow) / $8 + call CopyVideoDataDouble + call BuildFlyLocationsList + ld hl, wUpdateSpritesEnabled + ld a, [hl] + push af + ld [hl], $ff + push hl + coord hl, 0, 0 + ld de, ToText + call PlaceString + ld a, [wCurMap] + ld b, $0 + call DrawPlayerOrBirdSprite + ld hl, wFlyLocationsList + coord de, 18, 0 +.townMapFlyLoop + ld a, " " + ld [de], a + push hl + push hl + coord hl, 3, 0 + lb bc, 1, 15 + call ClearScreenArea + pop hl + ld a, [hl] + ld b, $4 + call DrawPlayerOrBirdSprite ; draw bird sprite + coord hl, 3, 0 + ld de, wcd6d + call PlaceString + ld c, 15 + call DelayFrames + coord hl, 18, 0 + ld [hl], "▲" + coord hl, 19, 0 + ld [hl], "▼" + pop hl +.inputLoop + push hl + call DelayFrame + call JoypadLowSensitivity + ld a, [hJoy5] + ld b, a + pop hl + and A_BUTTON | B_BUTTON | D_UP | D_DOWN + jr z, .inputLoop + bit 0, b + jr nz, .pressedA + ld a, SFX_TINK + call PlaySound + bit 6, b + jr nz, .pressedUp + bit 7, b + jr nz, .pressedDown + jr .pressedB +.pressedA + ld a, SFX_HEAL_AILMENT + call PlaySound + ld a, [hl] + ld [wDestinationMap], a + ld hl, wd732 + set 3, [hl] + inc hl + set 7, [hl] +.pressedB + xor a + ld [wTownMapSpriteBlinkingEnabled], a + call GBPalWhiteOutWithDelay3 + pop hl + pop af + ld [hl], a + ret +.pressedUp + coord de, 18, 0 + inc hl + ld a, [hl] + cp $ff + jr z, .wrapToStartOfList + cp $fe + jr z, .pressedUp ; skip past unvisited towns + jp .townMapFlyLoop +.wrapToStartOfList + ld hl, wFlyLocationsList + jp .townMapFlyLoop +.pressedDown + coord de, 19, 0 + dec hl + ld a, [hl] + cp $ff + jr z, .wrapToEndOfList + cp $fe + jr z, .pressedDown ; skip past unvisited towns + jp .townMapFlyLoop +.wrapToEndOfList + ld hl, wFlyLocationsList + 11 + jr .pressedDown + +ToText: + db "To@" + +BuildFlyLocationsList: + ld hl, wFlyLocationsList - 1 + ld [hl], $ff + inc hl + ld a, [wTownVisitedFlag] + ld e, a + ld a, [wTownVisitedFlag + 1] + ld d, a + ld bc, SAFFRON_CITY + 1 +.loop + srl d + rr e + ld a, $fe ; store $fe if the town hasn't been visited + jr nc, .notVisited + ld a, b ; store the map number of the town if it has been visited +.notVisited + ld [hl], a + inc hl + inc b + dec c + jr nz, .loop + ld [hl], $ff + ret + +TownMapUpArrow: + INCBIN "gfx/town_map/up_arrow.1bpp" +TownMapUpArrowEnd: + +LoadTownMap: + call GBPalWhiteOutWithDelay3 + call ClearScreen + call UpdateSprites + coord hl, 0, 0 + ld b, $12 + ld c, $12 + call TextBoxBorder + call DisableLCD + ld hl, WorldMapTileGraphics + ld de, vChars2 + $600 + ld bc, WorldMapTileGraphicsEnd - WorldMapTileGraphics + ld a, BANK(WorldMapTileGraphics) + call FarCopyData2 + ld hl, MonNestIcon + ld de, vSprites + $40 + ld bc, MonNestIconEnd - MonNestIcon + ld a, BANK(MonNestIcon) + call FarCopyDataDouble + coord hl, 0, 0 + ld de, CompressedMap +.nextTile + ld a, [de] + and a + jr z, .done + ld b, a + and $f + ld c, a + ld a, b + swap a + and $f + add $60 +.writeRunLoop + ld [hli], a + dec c + jr nz, .writeRunLoop + inc de + jr .nextTile +.done + call EnableLCD + ld b, SET_PAL_TOWN_MAP + call RunPaletteCommand + call Delay3 + call GBPalNormal + xor a + ld [wAnimCounter], a + inc a + ld [wTownMapSpriteBlinkingEnabled], a + ret + +CompressedMap: + INCBIN "gfx/town_map/town_map.rle" + +ExitTownMap: +; clear town map graphics data and load usual graphics data + xor a + ld [wTownMapSpriteBlinkingEnabled], a + call GBPalWhiteOut + call ClearScreen + call ClearSprites + call LoadPlayerSpriteGraphics + call LoadFontTilePatterns + call UpdateSprites + jp RunDefaultPaletteCommand + +DrawPlayerOrBirdSprite: +; a = map number +; b = OAM base tile + push af + ld a, b + ld [wOAMBaseTile], a + pop af + ld de, wTownMapCoords + call LoadTownMapEntry + ld a, [de] + push hl + call TownMapCoordsToOAMCoords + call WritePlayerOrBirdSpriteOAM + pop hl + ld de, wcd6d +.loop + ld a, [hli] + ld [de], a + inc de + cp "@" + jr nz, .loop + ld hl, wOAMBuffer + ld de, wTileMapBackup + ld bc, $a0 + jp CopyData + +DisplayWildLocations: + callba FindWildLocationsOfMon + call ZeroOutDuplicatesInList + ld hl, wOAMBuffer + ld de, wTownMapCoords +.loop + ld a, [de] + cp $ff + jr z, .exitLoop + and a + jr z, .nextEntry + push hl + call LoadTownMapEntry + pop hl + ld a, [de] + cp $19 ; Cerulean Cave's coordinates + jr z, .nextEntry ; skip Cerulean Cave + call TownMapCoordsToOAMCoords + ld a, $4 ; nest icon tile no. + ld [hli], a + xor a + ld [hli], a +.nextEntry + inc de + jr .loop +.exitLoop + ld a, l + and a ; were any OAM entries written? + jr nz, .drawPlayerSprite +; if no OAM entries were written, print area unknown text + coord hl, 1, 7 + ld b, 2 + ld c, 15 + call TextBoxBorder + coord hl, 2, 9 + ld de, AreaUnknownText + call PlaceString + jr .done +.drawPlayerSprite + ld a, [wCurMap] + ld b, $0 + call DrawPlayerOrBirdSprite +.done + ld hl, wOAMBuffer + ld de, wTileMapBackup + ld bc, $a0 + jp CopyData + +AreaUnknownText: + db " AREA UNKNOWN@" + +TownMapCoordsToOAMCoords: +; in: lower nybble of a = x, upper nybble of a = y +; out: b and [hl] = (y * 8) + 24, c and [hl+1] = (x * 8) + 24 + push af + and $f0 + srl a + add 24 + ld b, a + ld [hli], a + pop af + and $f + swap a + srl a + add 24 + ld c, a + ld [hli], a + ret + +WritePlayerOrBirdSpriteOAM: + ld a, [wOAMBaseTile] + and a + ld hl, wOAMBuffer + $90 ; for player sprite + jr z, WriteTownMapSpriteOAM + ld hl, wOAMBuffer + $80 ; for bird sprite + +WriteTownMapSpriteOAM: + push hl + +; Subtract 4 from c (X coord) and 4 from b (Y coord). However, the carry from c +; is added to b, so the net result is that only 3 is subtracted from b. + lb hl, -4, -4 + add hl, bc + + ld b, h + ld c, l + pop hl + +WriteAsymmetricMonPartySpriteOAM: +; Writes 4 OAM blocks for a helix mon party sprite, since it does not have +; a vertical line of symmetry. + lb de, 2, 2 +.loop + push de + push bc +.innerLoop + ld a, b + ld [hli], a + ld a, c + ld [hli], a + ld a, [wOAMBaseTile] + ld [hli], a + inc a + ld [wOAMBaseTile], a + xor a + ld [hli], a + inc d + ld a, 8 + add c + ld c, a + dec e + jr nz, .innerLoop + pop bc + pop de + ld a, 8 + add b + ld b, a + dec d + jr nz, .loop + ret + +WriteSymmetricMonPartySpriteOAM: +; Writes 4 OAM blocks for a mon party sprite other than a helix. All the +; sprites other than the helix one have a vertical line of symmetry which allows +; the X-flip OAM bit to be used so that only 2 rather than 4 tile patterns are +; needed. + xor a + ld [wSymmetricSpriteOAMAttributes], a + lb de, 2, 2 +.loop + push de + push bc +.innerLoop + ld a, b + ld [hli], a ; Y + ld a, c + ld [hli], a ; X + ld a, [wOAMBaseTile] + ld [hli], a ; tile + ld a, [wSymmetricSpriteOAMAttributes] + ld [hli], a ; attributes + xor (1 << OAM_X_FLIP) + ld [wSymmetricSpriteOAMAttributes], a + inc d + ld a, 8 + add c + ld c, a + dec e + jr nz, .innerLoop + pop bc + pop de + push hl + ld hl, wOAMBaseTile + inc [hl] + inc [hl] + pop hl + ld a, 8 + add b + ld b, a + dec d + jr nz, .loop + ret + +ZeroOutDuplicatesInList: +; replace duplicate bytes in the list of wild pokemon locations with 0 + ld de, wBuffer +.loop + ld a, [de] + inc de + cp $ff + ret z + ld c, a + ld l, e + ld h, d +.zeroDuplicatesLoop + ld a, [hl] + cp $ff + jr z, .loop + cp c + jr nz, .skipZeroing + xor a + ld [hl], a +.skipZeroing + inc hl + jr .zeroDuplicatesLoop + +LoadTownMapEntry: +; in: a = map number +; out: lower nybble of [de] = x, upper nybble of [de] = y, hl = address of name + cp REDS_HOUSE_1F + jr c, .external + ld bc, 4 + ld hl, InternalMapEntries +.loop + cp [hl] + jr c, .foundEntry + add hl, bc + jr .loop +.foundEntry + inc hl + jr .readEntry +.external + ld hl, ExternalMapEntries + ld c, a + ld b, 0 + add hl, bc + add hl, bc + add hl, bc +.readEntry + ld a, [hli] + ld [de], a + ld a, [hli] + ld h, [hl] + ld l, a + ret + +INCLUDE "data/town_map_entries.asm" + +INCLUDE "text/map_names.asm" + +MonNestIcon: + INCBIN "gfx/town_map/mon_nest_icon.1bpp" +MonNestIconEnd: + +TownMapSpriteBlinkingAnimation:: + ld a, [wAnimCounter] + inc a + cp 25 + jr z, .hideSprites + cp 50 + jr nz, .done +; show sprites when the counter reaches 50 + ld hl, wTileMapBackup + ld de, wOAMBuffer + ld bc, $90 + call CopyData + xor a + jr .done +.hideSprites + ld hl, wOAMBuffer + ld b, $24 + ld de, $4 +.hideSpritesLoop + ld [hl], $a0 + add hl, de + dec b + jr nz, .hideSpritesLoop + ld a, 25 +.done + ld [wAnimCounter], a + jp DelayFrame diff --git a/engine/learn_move.asm b/engine/learn_move.asm deleted file mode 100755 index 53c7f87e..00000000 --- a/engine/learn_move.asm +++ /dev/null @@ -1,226 +0,0 @@ -LearnMove: - call SaveScreenTilesToBuffer1 - ld a, [wWhichPokemon] - ld hl, wPartyMonNicks - call GetPartyMonName - ld hl, wcd6d - ld de, wLearnMoveMonName - ld bc, NAME_LENGTH - call CopyData - -DontAbandonLearning: - ld hl, wPartyMon1Moves - ld bc, wPartyMon2Moves - wPartyMon1Moves - ld a, [wWhichPokemon] - call AddNTimes - ld d, h - ld e, l - ld b, NUM_MOVES -.findEmptyMoveSlotLoop - ld a, [hl] - and a - jr z, .next - inc hl - dec b - jr nz, .findEmptyMoveSlotLoop - push de - call TryingToLearn - pop de - jp c, AbandonLearning - push hl - push de - ld [wd11e], a - call GetMoveName - ld hl, OneTwoAndText - call PrintText - pop de - pop hl -.next - ld a, [wMoveNum] - ld [hl], a - ld bc, wPartyMon1PP - wPartyMon1Moves - add hl, bc - push hl - push de - dec a - ld hl, Moves - ld bc, MoveEnd - Moves - call AddNTimes - ld de, wBuffer - ld a, BANK(Moves) - call FarCopyData - ld a, [wBuffer + 5] ; a = move's max PP - pop de - pop hl - ld [hl], a - ld a, [wIsInBattle] - and a - jp z, PrintLearnedMove - ld a, [wWhichPokemon] - ld b, a - ld a, [wPlayerMonNumber] - cp b - jp nz, PrintLearnedMove - ld h, d - ld l, e - ld de, wBattleMonMoves - ld bc, NUM_MOVES - call CopyData - ld bc, wPartyMon1PP - wPartyMon1OTID - add hl, bc - ld de, wBattleMonPP - ld bc, NUM_MOVES - call CopyData - jp PrintLearnedMove - -AbandonLearning: - ld hl, AbandonLearningText - call PrintText - coord hl, 14, 7 - lb bc, 8, 15 - ld a, TWO_OPTION_MENU - ld [wTextBoxID], a - call DisplayTextBoxID ; yes/no menu - ld a, [wCurrentMenuItem] - and a - jp nz, DontAbandonLearning - ld hl, DidNotLearnText - call PrintText - ld b, 0 - ret - -PrintLearnedMove: - ld hl, LearnedMove1Text - call PrintText - ld b, 1 - ret - -TryingToLearn: - push hl - ld hl, TryingToLearnText - call PrintText - coord hl, 14, 7 - lb bc, 8, 15 - ld a, TWO_OPTION_MENU - ld [wTextBoxID], a - call DisplayTextBoxID ; yes/no menu - pop hl - ld a, [wCurrentMenuItem] - rra - ret c - ld bc, -NUM_MOVES - add hl, bc - push hl - ld de, wMoves - ld bc, NUM_MOVES - call CopyData - callab FormatMovesString - pop hl -.loop - push hl - ld hl, WhichMoveToForgetText - call PrintText - coord hl, 4, 7 - ld b, 4 - ld c, 14 - call TextBoxBorder - coord hl, 6, 8 - ld de, wMovesString - ld a, [hFlags_0xFFF6] - set 2, a - ld [hFlags_0xFFF6], a - call PlaceString - ld a, [hFlags_0xFFF6] - res 2, a - ld [hFlags_0xFFF6], a - ld hl, wTopMenuItemY - ld a, 8 - ld [hli], a ; wTopMenuItemY - ld a, 5 - ld [hli], a ; wTopMenuItemX - xor a - ld [hli], a ; wCurrentMenuItem - inc hl - ld a, [wNumMovesMinusOne] - ld [hli], a ; wMaxMenuItem - ld a, A_BUTTON | B_BUTTON - ld [hli], a ; wMenuWatchedKeys - ld [hl], 0 ; wLastMenuItem - ld hl, hFlags_0xFFF6 - set 1, [hl] - call HandleMenuInput - ld hl, hFlags_0xFFF6 - res 1, [hl] - push af - call LoadScreenTilesFromBuffer1 - pop af - pop hl - bit 1, a ; pressed b - jr nz, .cancel - push hl - ld a, [wCurrentMenuItem] - ld c, a - ld b, 0 - add hl, bc - ld a, [hl] - push af - push bc - call IsMoveHM - pop bc - pop de - ld a, d - jr c, .hm - pop hl - add hl, bc - and a - ret -.hm - ld hl, HMCantDeleteText - call PrintText - pop hl - jr .loop -.cancel - scf - ret - -LearnedMove1Text: - TX_FAR _LearnedMove1Text - TX_SFX_ITEM_1 ; plays SFX_GET_ITEM_1 in the party menu (rare candy) and plays SFX_LEVEL_UP in battle - TX_BLINK - db "@" - -WhichMoveToForgetText: - TX_FAR _WhichMoveToForgetText - db "@" - -AbandonLearningText: - TX_FAR _AbandonLearningText - db "@" - -DidNotLearnText: - TX_FAR _DidNotLearnText - db "@" - -TryingToLearnText: - TX_FAR _TryingToLearnText - db "@" - -OneTwoAndText: - TX_FAR _OneTwoAndText - TX_DELAY - TX_ASM - ld a, SFX_SWAP - call PlaySoundWaitForCurrent - ld hl, PoofText - ret - -PoofText: - TX_FAR _PoofText - TX_DELAY -ForgotAndText: - TX_FAR _ForgotAndText - db "@" - -HMCantDeleteText: - TX_FAR _HMCantDeleteText - db "@" diff --git a/engine/link/cable_club.asm b/engine/link/cable_club.asm new file mode 100755 index 00000000..141ed396 --- /dev/null +++ b/engine/link/cable_club.asm @@ -0,0 +1,977 @@ +; performs the appropriate action when the player uses the gameboy on the table in the Colosseum or Trade Center +; In the Colosseum, it starts a battle. In the Trade Center, it displays the trade selection screen. +; Before doing either action, it swaps random numbers, trainer names and party data with the other gameboy. +CableClub_DoBattleOrTrade: + ld c, 80 + call DelayFrames + call ClearScreen + call UpdateSprites + call LoadFontTilePatterns + call LoadHpBarAndStatusTilePatterns + call LoadTrainerInfoTextBoxTiles + coord hl, 3, 8 + ld b, 2 + ld c, 12 + call CableClub_TextBoxBorder + coord hl, 4, 10 + ld de, PleaseWaitString + call PlaceString + ld hl, wPlayerNumHits + xor a + ld [hli], a + ld [hl], $50 + ; fall through + +; This is called after completing a trade. +CableClub_DoBattleOrTradeAgain: + ld hl, wSerialPlayerDataBlock + ld a, SERIAL_PREAMBLE_BYTE + ld b, 6 +.writePlayerDataBlockPreambleLoop + ld [hli], a + dec b + jr nz, .writePlayerDataBlockPreambleLoop + ld hl, wSerialRandomNumberListBlock + ld a, SERIAL_PREAMBLE_BYTE + ld b, 7 +.writeRandomNumberListPreambleLoop + ld [hli], a + dec b + jr nz, .writeRandomNumberListPreambleLoop + ld b, 10 +.generateRandomNumberListLoop + call Random + cp SERIAL_PREAMBLE_BYTE ; all the random numbers have to be less than the preamble byte + jr nc, .generateRandomNumberListLoop + ld [hli], a + dec b + jr nz, .generateRandomNumberListLoop + ld hl, wSerialPartyMonsPatchList + ld a, SERIAL_PREAMBLE_BYTE + ld [hli], a + ld [hli], a + ld [hli], a + ld b, $c8 + xor a +.zeroPlayerDataPatchListLoop + ld [hli], a + dec b + jr nz, .zeroPlayerDataPatchListLoop + ld hl, wGrassRate + ld bc, wTrainerHeaderPtr - wGrassRate +.zeroEnemyPartyLoop + xor a + ld [hli], a + dec bc + ld a, b + or c + jr nz, .zeroEnemyPartyLoop + ld hl, wPartyMons - 1 + ld de, wSerialPartyMonsPatchList + 10 + ld bc, 0 +.patchPartyMonsLoop + inc c + ld a, c + cp SERIAL_PREAMBLE_BYTE + jr z, .startPatchListPart2 + ld a, b + dec a ; are we in part 2 of the patch list? + jr nz, .checkPlayerDataByte ; jump if in part 1 +; if we're in part 2 + ld a, c + cp (wPartyMonOT - (wPartyMons - 1)) - (SERIAL_PREAMBLE_BYTE - 1) + jr z, .finishedPatchingPlayerData +.checkPlayerDataByte + inc hl + ld a, [hl] + cp SERIAL_NO_DATA_BYTE + jr nz, .patchPartyMonsLoop +; if the player data byte matches SERIAL_NO_DATA_BYTE, patch it with $FF and record the offset in the patch list + ld a, c + ld [de], a + inc de + ld [hl], $ff + jr .patchPartyMonsLoop +.startPatchListPart2 + ld a, SERIAL_PATCH_LIST_PART_TERMINATOR + ld [de], a ; end of part 1 + inc de + lb bc, 1, 0 + jr .patchPartyMonsLoop +.finishedPatchingPlayerData + ld a, SERIAL_PATCH_LIST_PART_TERMINATOR + ld [de], a ; end of part 2 + call Serial_SyncAndExchangeNybble + ld a, [hSerialConnectionStatus] + cp USING_INTERNAL_CLOCK + jr nz, .skipSendingTwoZeroBytes +; if using internal clock +; send two zero bytes for syncing purposes? + call Delay3 + xor a + ld [hSerialSendData], a + ld a, START_TRANSFER_INTERNAL_CLOCK + ld [rSC], a + call DelayFrame + xor a + ld [hSerialSendData], a + ld a, START_TRANSFER_INTERNAL_CLOCK + ld [rSC], a +.skipSendingTwoZeroBytes + call Delay3 + ld a, (1 << SERIAL) + ld [rIE], a + ld hl, wSerialRandomNumberListBlock + ld de, wSerialOtherGameboyRandomNumberListBlock + ld bc, $11 + call Serial_ExchangeBytes + ld a, SERIAL_NO_DATA_BYTE + ld [de], a + ld hl, wSerialPlayerDataBlock + ld de, wSerialEnemyDataBlock + ld bc, $1a8 + call Serial_ExchangeBytes + ld a, SERIAL_NO_DATA_BYTE + ld [de], a + ld hl, wSerialPartyMonsPatchList + ld de, wSerialEnemyMonsPatchList + ld bc, $c8 + call Serial_ExchangeBytes + ld a, (1 << SERIAL) | (1 << TIMER) | (1 << VBLANK) + ld [rIE], a + ld a, $ff + call PlaySound + ld a, [hSerialConnectionStatus] + cp USING_INTERNAL_CLOCK + jr z, .skipCopyingRandomNumberList ; the list generated by the gameboy clocking the connection is used by both gameboys + ld hl, wSerialOtherGameboyRandomNumberListBlock +.findStartOfRandomNumberListLoop + ld a, [hli] + and a + jr z, .findStartOfRandomNumberListLoop + cp SERIAL_PREAMBLE_BYTE + jr z, .findStartOfRandomNumberListLoop + cp SERIAL_NO_DATA_BYTE + jr z, .findStartOfRandomNumberListLoop + dec hl + ld de, wLinkBattleRandomNumberList + ld c, 10 +.copyRandomNumberListLoop + ld a, [hli] + cp SERIAL_NO_DATA_BYTE + jr z, .copyRandomNumberListLoop + ld [de], a + inc de + dec c + jr nz, .copyRandomNumberListLoop +.skipCopyingRandomNumberList + ld hl, wSerialEnemyDataBlock + 3 +.findStartOfEnemyNameLoop + ld a, [hli] + and a + jr z, .findStartOfEnemyNameLoop + cp SERIAL_PREAMBLE_BYTE + jr z, .findStartOfEnemyNameLoop + cp SERIAL_NO_DATA_BYTE + jr z, .findStartOfEnemyNameLoop + dec hl + ld de, wLinkEnemyTrainerName + ld c, NAME_LENGTH +.copyEnemyNameLoop + ld a, [hli] + cp SERIAL_NO_DATA_BYTE + jr z, .copyEnemyNameLoop + ld [de], a + inc de + dec c + jr nz, .copyEnemyNameLoop + ld de, wEnemyPartyCount + ld bc, wTrainerHeaderPtr - wEnemyPartyCount +.copyEnemyPartyLoop + ld a, [hli] + cp SERIAL_NO_DATA_BYTE + jr z, .copyEnemyPartyLoop + ld [de], a + inc de + dec bc + ld a, b + or c + jr nz, .copyEnemyPartyLoop + ld de, wSerialPartyMonsPatchList + ld hl, wPartyMons + ld c, 2 ; patch list has 2 parts +.unpatchPartyMonsLoop + ld a, [de] + inc de + and a + jr z, .unpatchPartyMonsLoop + cp SERIAL_PREAMBLE_BYTE + jr z, .unpatchPartyMonsLoop + cp SERIAL_NO_DATA_BYTE + jr z, .unpatchPartyMonsLoop + cp SERIAL_PATCH_LIST_PART_TERMINATOR + jr z, .finishedPartyMonsPatchListPart + push hl + push bc + ld b, 0 + dec a + ld c, a + add hl, bc + ld a, SERIAL_NO_DATA_BYTE + ld [hl], a + pop bc + pop hl + jr .unpatchPartyMonsLoop +.finishedPartyMonsPatchListPart + ld hl, wPartyMons + (SERIAL_PREAMBLE_BYTE - 1) + dec c ; is there another part? + jr nz, .unpatchPartyMonsLoop + ld de, wSerialEnemyMonsPatchList + ld hl, wEnemyMons + ld c, 2 ; patch list has 2 parts +.unpatchEnemyMonsLoop + ld a, [de] + inc de + and a + jr z, .unpatchEnemyMonsLoop + cp SERIAL_PREAMBLE_BYTE + jr z, .unpatchEnemyMonsLoop + cp SERIAL_NO_DATA_BYTE + jr z, .unpatchEnemyMonsLoop + cp SERIAL_PATCH_LIST_PART_TERMINATOR + jr z, .finishedEnemyMonsPatchListPart + push hl + push bc + ld b, 0 + dec a + ld c, a + add hl, bc + ld a, SERIAL_NO_DATA_BYTE + ld [hl], a + pop bc + pop hl + jr .unpatchEnemyMonsLoop +.finishedEnemyMonsPatchListPart + ld hl, wEnemyMons + (SERIAL_PREAMBLE_BYTE - 1) + dec c + jr nz, .unpatchEnemyMonsLoop + ld a, wEnemyMonOT % $100 + ld [wUnusedCF8D], a + ld a, wEnemyMonOT / $100 + ld [wUnusedCF8D + 1], a + xor a + ld [wTradeCenterPointerTableIndex], a + ld a, $ff + call PlaySound + ld a, [hSerialConnectionStatus] + cp USING_INTERNAL_CLOCK + ld c, 66 + call z, DelayFrames ; delay if using internal clock + ld a, [wLinkState] + cp LINK_STATE_START_BATTLE + ld a, LINK_STATE_TRADING + ld [wLinkState], a + jr nz, .trading + ld a, LINK_STATE_BATTLING + ld [wLinkState], a + ld a, OPP_SONY1 + ld [wCurOpponent], a + call ClearScreen + call Delay3 + ld hl, wOptions + res 7, [hl] + predef InitOpponent + predef HealParty + jp ReturnToCableClubRoom +.trading + ld c, BANK(Music_GameCorner) + ld a, MUSIC_GAME_CORNER + call PlayMusic + jr CallCurrentTradeCenterFunction + +PleaseWaitString: + db "PLEASE WAIT!@" + +CallCurrentTradeCenterFunction: + ld hl, TradeCenterPointerTable + ld b, 0 + ld a, [wTradeCenterPointerTableIndex] + cp $ff + jp z, DisplayTitleScreen + add a + ld c, a + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + jp hl + +TradeCenter_SelectMon: + call ClearScreen + call LoadTrainerInfoTextBoxTiles + call TradeCenter_DrawPartyLists + call TradeCenter_DrawCancelBox + xor a + ld hl, wSerialSyncAndExchangeNybbleReceiveData + ld [hli], a + ld [hli], a + ld [hli], a + ld [hl], a + ld [wMenuWatchMovingOutOfBounds], a + ld [wCurrentMenuItem], a + ld [wLastMenuItem], a + ld [wMenuJoypadPollCount], a + inc a + ld [wSerialExchangeNybbleSendData], a + jp .playerMonMenu +.enemyMonMenu + xor a + ld [wMenuWatchMovingOutOfBounds], a + inc a + ld [wWhichTradeMonSelectionMenu], a + ld a, D_DOWN | D_LEFT | A_BUTTON + ld [wMenuWatchedKeys], a + ld a, [wEnemyPartyCount] + ld [wMaxMenuItem], a + ld a, 9 + ld [wTopMenuItemY], a + ld a, 1 + ld [wTopMenuItemX], a +.enemyMonMenu_HandleInput + ld hl, hFlags_0xFFF6 + set 1, [hl] + call HandleMenuInput + ld hl, hFlags_0xFFF6 + res 1, [hl] + and a + jp z, .getNewInput + bit 0, a ; A button pressed? + jr z, .enemyMonMenu_ANotPressed +; if A button pressed + ld a, [wMaxMenuItem] + ld c, a + ld a, [wCurrentMenuItem] + cp c + jr c, .displayEnemyMonStats + ld a, [wMaxMenuItem] + dec a + ld [wCurrentMenuItem], a +.displayEnemyMonStats + ld a, INIT_ENEMYOT_LIST + ld [wInitListType], a + callab InitList ; the list isn't used + ld hl, wEnemyMons + call TradeCenter_DisplayStats + jp .getNewInput +.enemyMonMenu_ANotPressed + bit 5, a ; Left pressed? + jr z, .enemyMonMenu_LeftNotPressed +; if Left pressed, switch back to the player mon menu + xor a ; player mon menu + ld [wWhichTradeMonSelectionMenu], a + ld a, [wMenuCursorLocation] + ld l, a + ld a, [wMenuCursorLocation + 1] + ld h, a + ld a, [wTileBehindCursor] + ld [hl], a + ld a, [wCurrentMenuItem] + ld b, a + ld a, [wPartyCount] + dec a + cp b + jr nc, .playerMonMenu + ld [wCurrentMenuItem], a + jr .playerMonMenu +.enemyMonMenu_LeftNotPressed + bit 7, a ; Down pressed? + jp z, .getNewInput + jp .selectedCancelMenuItem ; jump if Down pressed +.playerMonMenu + xor a ; player mon menu + ld [wWhichTradeMonSelectionMenu], a + ld [wMenuWatchMovingOutOfBounds], a + ld a, D_DOWN | D_RIGHT | A_BUTTON + ld [wMenuWatchedKeys], a + ld a, [wPartyCount] + ld [wMaxMenuItem], a + ld a, 1 + ld [wTopMenuItemY], a + ld a, 1 + ld [wTopMenuItemX], a + coord hl, 1, 1 + lb bc, 6, 1 + call ClearScreenArea +.playerMonMenu_HandleInput + ld hl, hFlags_0xFFF6 + set 1, [hl] + call HandleMenuInput + ld hl, hFlags_0xFFF6 + res 1, [hl] + and a ; was anything pressed? + jr nz, .playerMonMenu_SomethingPressed + jp .getNewInput +.playerMonMenu_SomethingPressed + bit 0, a ; A button pressed? + jr z, .playerMonMenu_ANotPressed + jp .chosePlayerMon ; jump if A button pressed +; unreachable code + ld a, INIT_PLAYEROT_LIST + ld [wInitListType], a + callab InitList ; the list isn't used + call TradeCenter_DisplayStats + jp .getNewInput +.playerMonMenu_ANotPressed + bit 4, a ; Right pressed? + jr z, .playerMonMenu_RightNotPressed +; if Right pressed, switch to the enemy mon menu + ld a, $1 ; enemy mon menu + ld [wWhichTradeMonSelectionMenu], a + ld a, [wMenuCursorLocation] + ld l, a + ld a, [wMenuCursorLocation + 1] + ld h, a + ld a, [wTileBehindCursor] + ld [hl], a + ld a, [wCurrentMenuItem] + ld b, a + ld a, [wEnemyPartyCount] + dec a + cp b + jr nc, .notPastLastEnemyMon +; when switching to the enemy mon menu, if the menu selection would be past the last enemy mon, select the last enemy mon + ld [wCurrentMenuItem], a +.notPastLastEnemyMon + jp .enemyMonMenu +.playerMonMenu_RightNotPressed + bit 7, a ; Down pressed? + jr z, .getNewInput + jp .selectedCancelMenuItem ; jump if Down pressed +.getNewInput + ld a, [wWhichTradeMonSelectionMenu] + and a + jp z, .playerMonMenu_HandleInput + jp .enemyMonMenu_HandleInput +.chosePlayerMon + call SaveScreenTilesToBuffer1 + call PlaceUnfilledArrowMenuCursor + ld a, [wMaxMenuItem] + ld c, a + ld a, [wCurrentMenuItem] + cp c + jr c, .displayStatsTradeMenu + ld a, [wMaxMenuItem] + dec a +.displayStatsTradeMenu + push af + coord hl, 0, 14 + ld b, 2 + ld c, 18 + call CableClub_TextBoxBorder + coord hl, 2, 16 + ld de, .statsTrade + call PlaceString + xor a + ld [wCurrentMenuItem], a + ld [wLastMenuItem], a + ld [wMenuJoypadPollCount], a + ld [wMaxMenuItem], a + ld a, 16 + ld [wTopMenuItemY], a +.selectStatsMenuItem + ld a, " " + Coorda 11, 16 + ld a, D_RIGHT | B_BUTTON | A_BUTTON + ld [wMenuWatchedKeys], a + ld a, 1 + ld [wTopMenuItemX], a + call HandleMenuInput + bit 4, a ; Right pressed? + jr nz, .selectTradeMenuItem + bit 1, a ; B button pressed? + jr z, .displayPlayerMonStats +.cancelPlayerMonChoice + pop af + ld [wCurrentMenuItem], a + call LoadScreenTilesFromBuffer1 + jp .playerMonMenu +.selectTradeMenuItem + ld a, " " + Coorda 1, 16 + ld a, D_LEFT | B_BUTTON | A_BUTTON + ld [wMenuWatchedKeys], a + ld a, 11 + ld [wTopMenuItemX], a + call HandleMenuInput + bit 5, a ; Left pressed? + jr nz, .selectStatsMenuItem + bit 1, a ; B button pressed? + jr nz, .cancelPlayerMonChoice + jr .choseTrade +.displayPlayerMonStats + pop af + ld [wCurrentMenuItem], a + ld a, INIT_PLAYEROT_LIST + ld [wInitListType], a + callab InitList ; the list isn't used + call TradeCenter_DisplayStats + call LoadScreenTilesFromBuffer1 + jp .playerMonMenu +.choseTrade + call PlaceUnfilledArrowMenuCursor + pop af + ld [wCurrentMenuItem], a + ld [wTradingWhichPlayerMon], a + ld [wSerialExchangeNybbleSendData], a + call Serial_PrintWaitingTextAndSyncAndExchangeNybble + ld a, [wSerialSyncAndExchangeNybbleReceiveData] + cp $f + jp z, CallCurrentTradeCenterFunction ; go back to the beginning of the trade selection menu if the other person cancelled + ld [wTradingWhichEnemyMon], a + call TradeCenter_PlaceSelectedEnemyMonMenuCursor + ld a, $1 ; TradeCenter_Trade + ld [wTradeCenterPointerTableIndex], a + jp CallCurrentTradeCenterFunction +.statsTrade + db "STATS TRADE@" +.selectedCancelMenuItem + ld a, [wCurrentMenuItem] + ld b, a + ld a, [wMaxMenuItem] + cp b + jp nz, .getNewInput + ld a, [wMenuCursorLocation] + ld l, a + ld a, [wMenuCursorLocation + 1] + ld h, a + ld a, " " + ld [hl], a +.cancelMenuItem_Loop + ld a, "▶" ; filled arrow cursor + Coorda 1, 16 +.cancelMenuItem_JoypadLoop + call JoypadLowSensitivity + ld a, [hJoy5] + and a ; pressed anything? + jr z, .cancelMenuItem_JoypadLoop + bit 0, a ; A button pressed? + jr nz, .cancelMenuItem_APressed + bit 6, a ; Up pressed? + jr z, .cancelMenuItem_JoypadLoop +; if Up pressed + ld a, " " + Coorda 1, 16 + ld a, [wPartyCount] + dec a + ld [wCurrentMenuItem], a + jp .playerMonMenu +.cancelMenuItem_APressed + ld a, "▷" ; unfilled arrow cursor + Coorda 1, 16 + ld a, $f + ld [wSerialExchangeNybbleSendData], a + call Serial_PrintWaitingTextAndSyncAndExchangeNybble + ld a, [wSerialSyncAndExchangeNybbleReceiveData] + cp $f ; did the other person choose Cancel too? + jr nz, .cancelMenuItem_Loop + ; fall through + +ReturnToCableClubRoom: + call GBPalWhiteOutWithDelay3 + ld hl, wFontLoaded + ld a, [hl] + push af + push hl + res 0, [hl] + xor a + ld [wd72d], a + dec a + ld [wDestinationWarpID], a + call LoadMapData + callba ClearVariablesOnEnterMap + pop hl + pop af + ld [hl], a + call GBFadeInFromWhite + ret + +TradeCenter_DrawCancelBox: + coord hl, 11, 15 + ld a, $7e + ld bc, 2 * SCREEN_WIDTH + 9 + call FillMemory + coord hl, 0, 15 + ld b, 1 + ld c, 9 + call CableClub_TextBoxBorder + coord hl, 2, 16 + ld de, CancelTextString + jp PlaceString + +CancelTextString: + db "CANCEL@" + +TradeCenter_PlaceSelectedEnemyMonMenuCursor: + ld a, [wSerialSyncAndExchangeNybbleReceiveData] + coord hl, 1, 9 + ld bc, SCREEN_WIDTH + call AddNTimes + ld [hl], "▷" ; cursor + ret + +TradeCenter_DisplayStats: + ld a, [wCurrentMenuItem] + ld [wWhichPokemon], a + predef StatusScreen + predef StatusScreen2 + call GBPalNormal + call LoadTrainerInfoTextBoxTiles + call TradeCenter_DrawPartyLists + jp TradeCenter_DrawCancelBox + +TradeCenter_DrawPartyLists: + coord hl, 0, 0 + ld b, 6 + ld c, 18 + call CableClub_TextBoxBorder + coord hl, 0, 8 + ld b, 6 + ld c, 18 + call CableClub_TextBoxBorder + coord hl, 5, 0 + ld de, wPlayerName + call PlaceString + coord hl, 5, 8 + ld de, wLinkEnemyTrainerName + call PlaceString + coord hl, 2, 1 + ld de, wPartySpecies + call TradeCenter_PrintPartyListNames + coord hl, 2, 9 + ld de, wEnemyPartyMons + ; fall through + +TradeCenter_PrintPartyListNames: + ld c, $0 +.loop + ld a, [de] + cp $ff + ret z + ld [wd11e], a + push bc + push hl + push de + push hl + ld a, c + ld [$ff95], a + call GetMonName + pop hl + call PlaceString + pop de + inc de + pop hl + ld bc, 20 + add hl, bc + pop bc + inc c + jr .loop + +TradeCenter_Trade: + ld c, 100 + call DelayFrames + xor a + ld [wSerialExchangeNybbleSendData + 1], a ; unnecessary + ld [wSerialExchangeNybbleReceiveData], a + ld [wMenuWatchMovingOutOfBounds], a + ld [wMenuJoypadPollCount], a + coord hl, 0, 12 + ld b, 4 + ld c, 18 + call CableClub_TextBoxBorder + ld a, [wTradingWhichPlayerMon] + ld hl, wPartySpecies + ld c, a + ld b, 0 + add hl, bc + ld a, [hl] + ld [wd11e], a + call GetMonName + ld hl, wcd6d + ld de, wNameOfPlayerMonToBeTraded + ld bc, NAME_LENGTH + call CopyData + ld a, [wTradingWhichEnemyMon] + ld hl, wEnemyPartyMons + ld c, a + ld b, 0 + add hl, bc + ld a, [hl] + ld [wd11e], a + call GetMonName + ld hl, WillBeTradedText + coord bc, 1, 14 + call TextCommandProcessor + call SaveScreenTilesToBuffer1 + coord hl, 10, 7 + lb bc, 8, 11 + ld a, TRADE_CANCEL_MENU + ld [wTwoOptionMenuID], a + ld a, TWO_OPTION_MENU + ld [wTextBoxID], a + call DisplayTextBoxID + call LoadScreenTilesFromBuffer1 + ld a, [wCurrentMenuItem] + and a + jr z, .tradeConfirmed +; if trade cancelled + ld a, $1 + ld [wSerialExchangeNybbleSendData], a + coord hl, 0, 12 + ld b, 4 + ld c, 18 + call CableClub_TextBoxBorder + coord hl, 1, 14 + ld de, TradeCanceled + call PlaceString + call Serial_PrintWaitingTextAndSyncAndExchangeNybble + jp .tradeCancelled +.tradeConfirmed + ld a, $2 + ld [wSerialExchangeNybbleSendData], a + call Serial_PrintWaitingTextAndSyncAndExchangeNybble + ld a, [wSerialSyncAndExchangeNybbleReceiveData] + dec a ; did the other person cancel? + jr nz, .doTrade +; if the other person cancelled + coord hl, 0, 12 + ld b, 4 + ld c, 18 + call CableClub_TextBoxBorder + coord hl, 1, 14 + ld de, TradeCanceled + call PlaceString + jp .tradeCancelled +.doTrade + ld a, [wTradingWhichPlayerMon] + ld hl, wPartyMonOT + call SkipFixedLengthTextEntries + ld de, wTradedPlayerMonOT + ld bc, NAME_LENGTH + call CopyData + ld hl, wPartyMon1Species + ld a, [wTradingWhichPlayerMon] + ld bc, wPartyMon2 - wPartyMon1 + call AddNTimes + ld bc, wPartyMon1OTID - wPartyMon1 + add hl, bc + ld a, [hli] + ld [wTradedPlayerMonOTID], a + ld a, [hl] + ld [wTradedPlayerMonOTID + 1], a + ld a, [wTradingWhichEnemyMon] + ld hl, wEnemyMonOT + call SkipFixedLengthTextEntries + ld de, wTradedEnemyMonOT + ld bc, NAME_LENGTH + call CopyData + ld hl, wEnemyMons + ld a, [wTradingWhichEnemyMon] + ld bc, wEnemyMon2 - wEnemyMon1 + call AddNTimes + ld bc, wEnemyMon1OTID - wEnemyMon1 + add hl, bc + ld a, [hli] + ld [wTradedEnemyMonOTID], a + ld a, [hl] + ld [wTradedEnemyMonOTID + 1], a + ld a, [wTradingWhichPlayerMon] + ld [wWhichPokemon], a + ld hl, wPartySpecies + ld b, 0 + ld c, a + add hl, bc + ld a, [hl] + ld [wTradedPlayerMonSpecies], a + xor a + ld [wRemoveMonFromBox], a + call RemovePokemon + ld a, [wTradingWhichEnemyMon] + ld c, a + ld [wWhichPokemon], a + ld hl, wEnemyPartyMons + ld d, 0 + ld e, a + add hl, de + ld a, [hl] + ld [wcf91], a + ld hl, wEnemyMons + ld a, c + ld bc, wEnemyMon2 - wEnemyMon1 + call AddNTimes + ld de, wLoadedMon + ld bc, wEnemyMon2 - wEnemyMon1 + call CopyData + call AddEnemyMonToPlayerParty + ld a, [wPartyCount] + dec a + ld [wWhichPokemon], a + ld a, $1 + ld [wForceEvolution], a + ld a, [wTradingWhichEnemyMon] + ld hl, wEnemyPartyMons + ld b, 0 + ld c, a + add hl, bc + ld a, [hl] + ld [wTradedEnemyMonSpecies], a + ld a, 10 + ld [wAudioFadeOutControl], a + ld a, BANK(Music_SafariZone) + ld [wAudioSavedROMBank], a + ld a, MUSIC_SAFARI_ZONE + ld [wNewSoundID], a + call PlaySound + ld c, 100 + call DelayFrames + call ClearScreen + call LoadHpBarAndStatusTilePatterns + xor a + ld [wUnusedCC5B], a + ld a, [hSerialConnectionStatus] + cp USING_EXTERNAL_CLOCK + jr z, .usingExternalClock + predef InternalClockTradeAnim + jr .tradeCompleted +.usingExternalClock + predef ExternalClockTradeAnim +.tradeCompleted + callab TryEvolvingMon + call ClearScreen + call LoadTrainerInfoTextBoxTiles + call Serial_PrintWaitingTextAndSyncAndExchangeNybble + ld c, 40 + call DelayFrames + coord hl, 0, 12 + ld b, 4 + ld c, 18 + call CableClub_TextBoxBorder + coord hl, 1, 14 + ld de, TradeCompleted + call PlaceString + predef SaveSAVtoSRAM2 + ld c, 50 + call DelayFrames + xor a + ld [wTradeCenterPointerTableIndex], a + jp CableClub_DoBattleOrTradeAgain +.tradeCancelled + ld c, 100 + call DelayFrames + xor a ; TradeCenter_SelectMon + ld [wTradeCenterPointerTableIndex], a + jp CallCurrentTradeCenterFunction + +WillBeTradedText: + TX_FAR _WillBeTradedText + db "@" + +TradeCompleted: + db "Trade completed!@" + +TradeCanceled: + db "Too bad! The trade" + next "was canceled!@" + +TradeCenterPointerTable: + dw TradeCenter_SelectMon + dw TradeCenter_Trade + +CableClub_Run: + ld a, [wLinkState] + cp LINK_STATE_START_TRADE + jr z, .doBattleOrTrade + cp LINK_STATE_START_BATTLE + jr z, .doBattleOrTrade + cp LINK_STATE_RESET ; this is never used + ret nz + predef EmptyFunc3 + jp Init +.doBattleOrTrade + call CableClub_DoBattleOrTrade + ld hl, Club_GFX + ld a, h + ld [wTilesetGfxPtr + 1], a + ld a, l + ld [wTilesetGfxPtr], a + ld a, Bank(Club_GFX) + ld [wTilesetBank], a + ld hl, Club_Coll + ld a, h + ld [wTilesetCollisionPtr + 1], a + ld a, l + ld [wTilesetCollisionPtr], a + xor a + ld [wGrassRate], a + inc a ; LINK_STATE_IN_CABLE_CLUB + ld [wLinkState], a + ld [hJoy5], a + ld a, 10 + ld [wAudioFadeOutControl], a + ld a, BANK(Music_Celadon) + ld [wAudioSavedROMBank], a + ld a, MUSIC_CELADON + ld [wNewSoundID], a + jp PlaySound + +EmptyFunc3: + ret + +Diploma_TextBoxBorder: + call GetPredefRegisters + +; b = height +; c = width +CableClub_TextBoxBorder: + push hl + ld a, $78 ; border upper left corner tile + ld [hli], a + inc a ; border top horizontal line tile + call CableClub_DrawHorizontalLine + inc a ; border upper right corner tile + ld [hl], a + pop hl + ld de, 20 + add hl, de +.loop + push hl + ld a, $7b ; border left vertical line tile + ld [hli], a + ld a, " " + call CableClub_DrawHorizontalLine + ld [hl], $77 ; border right vertical line tile + pop hl + ld de, 20 + add hl, de + dec b + jr nz, .loop + ld a, $7c ; border lower left corner tile + ld [hli], a + ld a, $76 ; border bottom horizontal line tile + call CableClub_DrawHorizontalLine + ld [hl], $7d ; border lower right corner tile + ret + +; c = width +CableClub_DrawHorizontalLine: + ld d, c +.loop + ld [hli], a + dec d + jr nz, .loop + ret + +LoadTrainerInfoTextBoxTiles: + ld de, TrainerInfoTextBoxTileGraphics + ld hl, vChars2 + $760 + lb bc, BANK(TrainerInfoTextBoxTileGraphics), (TrainerInfoTextBoxTileGraphicsEnd - TrainerInfoTextBoxTileGraphics) / $10 + jp CopyVideoData diff --git a/engine/link/cable_club_npc.asm b/engine/link/cable_club_npc.asm new file mode 100755 index 00000000..bb0f7680 --- /dev/null +++ b/engine/link/cable_club_npc.asm @@ -0,0 +1,151 @@ +CableClubNPC:: + ld hl, CableClubNPCWelcomeText + call PrintText + CheckEvent EVENT_GOT_POKEDEX + jp nz, .receivedPokedex +; if the player hasn't received the pokedex + ld c, 60 + call DelayFrames + ld hl, CableClubNPCMakingPreparationsText + call PrintText + jp .didNotConnect +.receivedPokedex + ld a, $1 + ld [wMenuJoypadPollCount], a + ld a, 90 + ld [wLinkTimeoutCounter], a +.establishConnectionLoop + ld a, [hSerialConnectionStatus] + cp USING_INTERNAL_CLOCK + jr z, .establishedConnection + cp USING_EXTERNAL_CLOCK + jr z, .establishedConnection + ld a, CONNECTION_NOT_ESTABLISHED + ld [hSerialConnectionStatus], a + ld a, ESTABLISH_CONNECTION_WITH_EXTERNAL_CLOCK + ld [rSB], a + xor a + ld [hSerialReceiveData], a + ld a, START_TRANSFER_EXTERNAL_CLOCK + ld [rSC], a + ld a, [wLinkTimeoutCounter] + dec a + ld [wLinkTimeoutCounter], a + jr z, .failedToEstablishConnection + ld a, ESTABLISH_CONNECTION_WITH_INTERNAL_CLOCK + ld [rSB], a + ld a, START_TRANSFER_INTERNAL_CLOCK + ld [rSC], a + call DelayFrame + jr .establishConnectionLoop +.establishedConnection + call Serial_SendZeroByte + call DelayFrame + call Serial_SendZeroByte + ld c, 50 + call DelayFrames + ld hl, CableClubNPCPleaseApplyHereHaveToSaveText + call PrintText + xor a + ld [wMenuJoypadPollCount], a + call YesNoChoice + ld a, $1 + ld [wMenuJoypadPollCount], a + ld a, [wCurrentMenuItem] + and a + jr nz, .choseNo + callab SaveSAVtoSRAM + call WaitForSoundToFinish + ld a, SFX_SAVE + call PlaySoundWaitForCurrent + ld hl, CableClubNPCPleaseWaitText + call PrintText + ld hl, wUnknownSerialCounter + ld a, $3 + ld [hli], a + xor a + ld [hl], a + ld [hSerialReceivedNewData], a + ld [wSerialExchangeNybbleSendData], a + call Serial_SyncAndExchangeNybble + ld hl, wUnknownSerialCounter + ld a, [hli] + inc a + jr nz, .connected + ld a, [hl] + inc a + jr nz, .connected + ld b, 10 +.syncLoop + call DelayFrame + call Serial_SendZeroByte + dec b + jr nz, .syncLoop + call CloseLinkConnection + ld hl, CableClubNPCLinkClosedBecauseOfInactivityText + call PrintText + jr .didNotConnect +.failedToEstablishConnection + ld hl, CableClubNPCAreaReservedFor2FriendsLinkedByCableText + call PrintText + jr .didNotConnect +.choseNo + call CloseLinkConnection + ld hl, CableClubNPCPleaseComeAgainText + call PrintText +.didNotConnect + xor a + ld hl, wUnknownSerialCounter + ld [hli], a + ld [hl], a + ld hl, wd72e + res 6, [hl] + xor a + ld [wMenuJoypadPollCount], a + ret +.connected + xor a + ld [hld], a + ld [hl], a + jpab LinkMenu + +CableClubNPCAreaReservedFor2FriendsLinkedByCableText: + TX_FAR _CableClubNPCAreaReservedFor2FriendsLinkedByCableText + db "@" + +CableClubNPCWelcomeText: + TX_FAR _CableClubNPCWelcomeText + db "@" + +CableClubNPCPleaseApplyHereHaveToSaveText: + TX_FAR _CableClubNPCPleaseApplyHereHaveToSaveText + db "@" + +CableClubNPCPleaseWaitText: + TX_FAR _CableClubNPCPleaseWaitText + TX_DELAY + db "@" + +CableClubNPCLinkClosedBecauseOfInactivityText: + TX_FAR _CableClubNPCLinkClosedBecauseOfInactivityText + db "@" + +CableClubNPCPleaseComeAgainText: + TX_FAR _CableClubNPCPleaseComeAgainText + db "@" + +CableClubNPCMakingPreparationsText: + TX_FAR _CableClubNPCMakingPreparationsText + db "@" + +CloseLinkConnection: + call Delay3 + ld a, CONNECTION_NOT_ESTABLISHED + ld [hSerialConnectionStatus], a + ld a, ESTABLISH_CONNECTION_WITH_EXTERNAL_CLOCK + ld [rSB], a + xor a + ld [hSerialReceiveData], a + ld a, START_TRANSFER_EXTERNAL_CLOCK + ld [rSC], a + ret diff --git a/engine/link/print_waiting_text.asm b/engine/link/print_waiting_text.asm new file mode 100644 index 00000000..c48459d3 --- /dev/null +++ b/engine/link/print_waiting_text.asm @@ -0,0 +1,20 @@ +PrintWaitingText:: + coord hl, 3, 10 + ld b, $1 + ld c, $b + ld a, [wIsInBattle] + and a + jr z, .asm_4c17 + call TextBoxBorder + jr .asm_4c1a +.asm_4c17 + call CableClub_TextBoxBorder +.asm_4c1a + coord hl, 4, 11 + ld de, WaitingText + call PlaceString + ld c, 50 + jp DelayFrames + +WaitingText: + db "Waiting...!@" diff --git a/engine/load_mon_data.asm b/engine/load_mon_data.asm deleted file mode 100644 index 480ab1ca..00000000 --- a/engine/load_mon_data.asm +++ /dev/null @@ -1,49 +0,0 @@ -LoadMonData_:: -; Load monster [wWhichPokemon] from list [wMonDataLocation]: -; 0: partymon -; 1: enemymon -; 2: boxmon -; 3: daycaremon -; Return monster id at wcf91 and its data at wLoadedMon. -; Also load base stats at wMonHeader for convenience. - - ld a, [wDayCareMonSpecies] - ld [wcf91], a - ld a, [wMonDataLocation] - cp DAYCARE_DATA - jr z, .GetMonHeader - - ld a, [wWhichPokemon] - ld e, a - callab GetMonSpecies - -.GetMonHeader - ld a, [wcf91] - ld [wd0b5], a ; input for GetMonHeader - call GetMonHeader - - ld hl, wPartyMons - ld bc, wPartyMon2 - wPartyMon1 - ld a, [wMonDataLocation] - cp ENEMY_PARTY_DATA - jr c, .getMonEntry - - ld hl, wEnemyMons - jr z, .getMonEntry - - cp 2 - ld hl, wBoxMons - ld bc, wBoxMon2 - wBoxMon1 - jr z, .getMonEntry - - ld hl, wDayCareMon - jr .copyMonData - -.getMonEntry - ld a, [wWhichPokemon] - call AddNTimes - -.copyMonData - ld de, wLoadedMon - ld bc, wPartyMon2 - wPartyMon1 - jp CopyData diff --git a/engine/load_pokedex_tiles.asm b/engine/load_pokedex_tiles.asm deleted file mode 100755 index 70bcf04d..00000000 --- a/engine/load_pokedex_tiles.asm +++ /dev/null @@ -1,11 +0,0 @@ -; Loads tile patterns for tiles used in the pokedex. -LoadPokedexTilePatterns: - call LoadHpBarAndStatusTilePatterns - ld de, PokedexTileGraphics - ld hl, vChars2 + $600 - lb bc, BANK(PokedexTileGraphics), (PokedexTileGraphicsEnd - PokedexTileGraphics) / $10 - call CopyVideoData - ld de, PokeballTileGraphics - ld hl, vChars2 + $720 - lb bc, BANK(PokeballTileGraphics), $01 - jp CopyVideoData ; load pokeball tile for marking caught mons diff --git a/engine/math/bcd.asm b/engine/math/bcd.asm new file mode 100644 index 00000000..2d0b43df --- /dev/null +++ b/engine/math/bcd.asm @@ -0,0 +1,214 @@ +DivideBCDPredef:: +DivideBCDPredef2:: +DivideBCDPredef3:: +DivideBCDPredef4:: + call GetPredefRegisters + +DivideBCD:: + xor a + ld [hDivideBCDBuffer], a + ld [hDivideBCDBuffer+1], a + ld [hDivideBCDBuffer+2], a + ld d, $1 +.mulBy10Loop +; multiply the divisor by 10 until the leading digit is nonzero +; to set up the standard long division algorithm + ld a, [hDivideBCDDivisor] + and $f0 + jr nz, .next + inc d + ld a, [hDivideBCDDivisor] + swap a + and $f0 + ld b, a + ld a, [hDivideBCDDivisor+1] + swap a + ld [hDivideBCDDivisor+1], a + and $f + or b + ld [hDivideBCDDivisor], a + ld a, [hDivideBCDDivisor+1] + and $f0 + ld b, a + ld a, [hDivideBCDDivisor+2] + swap a + ld [hDivideBCDDivisor+2], a + and $f + or b + ld [hDivideBCDDivisor+1], a + ld a, [hDivideBCDDivisor+2] + and $f0 + ld [hDivideBCDDivisor+2], a + jr .mulBy10Loop +.next + push de + push de + call DivideBCD_getNextDigit + pop de + ld a, b + swap a + and $f0 + ld [hDivideBCDBuffer], a + dec d + jr z, .next2 + push de + call DivideBCD_divDivisorBy10 + call DivideBCD_getNextDigit + pop de + ld a, [hDivideBCDBuffer] + or b + ld [hDivideBCDBuffer], a + dec d + jr z, .next2 + push de + call DivideBCD_divDivisorBy10 + call DivideBCD_getNextDigit + pop de + ld a, b + swap a + and $f0 + ld [hDivideBCDBuffer+1], a + dec d + jr z, .next2 + push de + call DivideBCD_divDivisorBy10 + call DivideBCD_getNextDigit + pop de + ld a, [hDivideBCDBuffer+1] + or b + ld [hDivideBCDBuffer+1], a + dec d + jr z, .next2 + push de + call DivideBCD_divDivisorBy10 + call DivideBCD_getNextDigit + pop de + ld a, b + swap a + and $f0 + ld [hDivideBCDBuffer+2], a + dec d + jr z, .next2 + push de + call DivideBCD_divDivisorBy10 + call DivideBCD_getNextDigit + pop de + ld a, [hDivideBCDBuffer+2] + or b + ld [hDivideBCDBuffer+2], a +.next2 + ld a, [hDivideBCDBuffer] + ld [hDivideBCDQuotient], a ; the same memory location as hDivideBCDDivisor + ld a, [hDivideBCDBuffer+1] + ld [hDivideBCDQuotient+1], a + ld a, [hDivideBCDBuffer+2] + ld [hDivideBCDQuotient+2], a + pop de + ld a, $6 + sub d + and a + ret z +.divResultBy10loop + push af + call DivideBCD_divDivisorBy10 + pop af + dec a + jr nz, .divResultBy10loop + ret + +DivideBCD_divDivisorBy10: + ld a, [hDivideBCDDivisor+2] + swap a + and $f + ld b, a + ld a, [hDivideBCDDivisor+1] + swap a + ld [hDivideBCDDivisor+1], a + and $f0 + or b + ld [hDivideBCDDivisor+2], a + ld a, [hDivideBCDDivisor+1] + and $f + ld b, a + ld a, [hDivideBCDDivisor] + swap a + ld [hDivideBCDDivisor], a + and $f0 + or b + ld [hDivideBCDDivisor+1], a + ld a, [hDivideBCDDivisor] + and $f + ld [hDivideBCDDivisor], a + ret + +DivideBCD_getNextDigit: + ld bc, $3 +.loop + ld de, hMoney ; the dividend + ld hl, hDivideBCDDivisor + push bc + call StringCmp + pop bc + ret c + inc b + ld de, hMoney+2 ; since SubBCD works starting from the least significant digit + ld hl, hDivideBCDDivisor+2 + push bc + call SubBCD + pop bc + jr .loop + + +AddBCDPredef:: + call GetPredefRegisters + +AddBCD:: + and a + ld b, c +.add + ld a, [de] + adc [hl] + daa + ld [de], a + dec de + dec hl + dec c + jr nz, .add + jr nc, .done + ld a, $99 + inc de +.fill + ld [de], a + inc de + dec b + jr nz, .fill +.done + ret + + +SubBCDPredef:: + call GetPredefRegisters + +SubBCD:: + and a + ld b, c +.sub + ld a, [de] + sbc [hl] + daa + ld [de], a + dec de + dec hl + dec c + jr nz, .sub + jr nc, .done + ld a, $00 + inc de +.fill + ld [de], a + inc de + dec b + jr nz, .fill + scf +.done + ret diff --git a/engine/math/multiply_divide.asm b/engine/math/multiply_divide.asm new file mode 100755 index 00000000..6cdc6c87 --- /dev/null +++ b/engine/math/multiply_divide.asm @@ -0,0 +1,143 @@ +_Multiply:: + ld a, $8 + ld b, a + xor a + ld [H_PRODUCT], a + ld [H_MULTIPLYBUFFER], a + ld [H_MULTIPLYBUFFER+1], a + ld [H_MULTIPLYBUFFER+2], a + ld [H_MULTIPLYBUFFER+3], a +.loop + ld a, [H_MULTIPLIER] + srl a + ld [H_MULTIPLIER], a ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN) + jr nc, .smallMultiplier + ld a, [H_MULTIPLYBUFFER+3] + ld c, a + ld a, [H_MULTIPLICAND+2] + add c + ld [H_MULTIPLYBUFFER+3], a + ld a, [H_MULTIPLYBUFFER+2] + ld c, a + ld a, [H_MULTIPLICAND+1] + adc c + ld [H_MULTIPLYBUFFER+2], a + ld a, [H_MULTIPLYBUFFER+1] + ld c, a + ld a, [H_MULTIPLICAND] ; (aliases: H_MULTIPLICAND) + adc c + ld [H_MULTIPLYBUFFER+1], a + ld a, [H_MULTIPLYBUFFER] + ld c, a + ld a, [H_PRODUCT] ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT) + adc c + ld [H_MULTIPLYBUFFER], a +.smallMultiplier + dec b + jr z, .done + ld a, [H_MULTIPLICAND+2] + sla a + ld [H_MULTIPLICAND+2], a + ld a, [H_MULTIPLICAND+1] + rl a + ld [H_MULTIPLICAND+1], a + ld a, [H_MULTIPLICAND] + rl a + ld [H_MULTIPLICAND], a + ld a, [H_PRODUCT] + rl a + ld [H_PRODUCT], a + jr .loop +.done + ld a, [H_MULTIPLYBUFFER+3] + ld [H_PRODUCT+3], a + ld a, [H_MULTIPLYBUFFER+2] + ld [H_PRODUCT+2], a + ld a, [H_MULTIPLYBUFFER+1] + ld [H_PRODUCT+1], a + ld a, [H_MULTIPLYBUFFER] + ld [H_PRODUCT], a + ret + +_Divide:: + xor a + ld [H_DIVIDEBUFFER], a + ld [H_DIVIDEBUFFER+1], a + ld [H_DIVIDEBUFFER+2], a + ld [H_DIVIDEBUFFER+3], a + ld [H_DIVIDEBUFFER+4], a + ld a, $9 + ld e, a +.asm_37db3 + ld a, [H_DIVIDEBUFFER] + ld c, a + ld a, [H_DIVIDEND+1] ; (aliases: H_MULTIPLICAND) + sub c + ld d, a + ld a, [H_DIVISOR] ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN) + ld c, a + ld a, [H_DIVIDEND] ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT) + sbc c + jr c, .asm_37dce + ld [H_DIVIDEND], a ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT) + ld a, d + ld [H_DIVIDEND+1], a ; (aliases: H_MULTIPLICAND) + ld a, [H_DIVIDEBUFFER+4] + inc a + ld [H_DIVIDEBUFFER+4], a + jr .asm_37db3 +.asm_37dce + ld a, b + cp $1 + jr z, .asm_37e18 + ld a, [H_DIVIDEBUFFER+4] + sla a + ld [H_DIVIDEBUFFER+4], a + ld a, [H_DIVIDEBUFFER+3] + rl a + ld [H_DIVIDEBUFFER+3], a + ld a, [H_DIVIDEBUFFER+2] + rl a + ld [H_DIVIDEBUFFER+2], a + ld a, [H_DIVIDEBUFFER+1] + rl a + ld [H_DIVIDEBUFFER+1], a + dec e + jr nz, .asm_37e04 + ld a, $8 + ld e, a + ld a, [H_DIVIDEBUFFER] + ld [H_DIVISOR], a ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN) + xor a + ld [H_DIVIDEBUFFER], a + ld a, [H_DIVIDEND+1] ; (aliases: H_MULTIPLICAND) + ld [H_DIVIDEND], a ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT) + ld a, [H_DIVIDEND+2] + ld [H_DIVIDEND+1], a ; (aliases: H_MULTIPLICAND) + ld a, [H_DIVIDEND+3] + ld [H_DIVIDEND+2], a +.asm_37e04 + ld a, e + cp $1 + jr nz, .asm_37e0a + dec b +.asm_37e0a + ld a, [H_DIVISOR] ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN) + srl a + ld [H_DIVISOR], a ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN) + ld a, [H_DIVIDEBUFFER] + rr a + ld [H_DIVIDEBUFFER], a + jr .asm_37db3 +.asm_37e18 + ld a, [H_DIVIDEND+1] ; (aliases: H_MULTIPLICAND) + ld [H_REMAINDER], a ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN) + ld a, [H_DIVIDEBUFFER+4] + ld [H_QUOTIENT+3], a + ld a, [H_DIVIDEBUFFER+3] + ld [H_QUOTIENT+2], a + ld a, [H_DIVIDEBUFFER+2] + ld [H_QUOTIENT+1], a ; (aliases: H_MULTIPLICAND) + ld a, [H_DIVIDEBUFFER+1] + ld [H_DIVIDEND], a ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT) + ret diff --git a/engine/math/random.asm b/engine/math/random.asm new file mode 100755 index 00000000..2fc83f6f --- /dev/null +++ b/engine/math/random.asm @@ -0,0 +1,13 @@ +Random_:: +; Generate a random 16-bit value. + ld a, [rDIV] + ld b, a + ld a, [hRandomAdd] + adc b + ld [hRandomAdd], a + ld a, [rDIV] + ld b, a + ld a, [hRandomSub] + sbc b + ld [hRandomSub], a + ret diff --git a/engine/menu/bills_pc.asm b/engine/menu/bills_pc.asm deleted file mode 100644 index 6f643228..00000000 --- a/engine/menu/bills_pc.asm +++ /dev/null @@ -1,554 +0,0 @@ -DisplayPCMainMenu:: - xor a - ld [H_AUTOBGTRANSFERENABLED], a - call SaveScreenTilesToBuffer2 - ld a, [wNumHoFTeams] - and a - jr nz, .leaguePCAvailable - CheckEvent EVENT_GOT_POKEDEX - jr z, .noOaksPC - ld a, [wNumHoFTeams] - and a - jr nz, .leaguePCAvailable - coord hl, 0, 0 - ld b, 8 - ld c, 14 - jr .next -.noOaksPC - coord hl, 0, 0 - ld b, 6 - ld c, 14 - jr .next -.leaguePCAvailable - coord hl, 0, 0 - ld b, 10 - ld c, 14 -.next - call TextBoxBorder - call UpdateSprites - ld a, 3 - ld [wMaxMenuItem], a - CheckEvent EVENT_MET_BILL - jr nz, .metBill - coord hl, 2, 2 - ld de, SomeonesPCText - jr .next2 -.metBill - coord hl, 2, 2 - ld de, BillsPCText -.next2 - call PlaceString - coord hl, 2, 4 - ld de, wPlayerName - call PlaceString - ld l, c - ld h, b - ld de, PlayersPCText - call PlaceString - CheckEvent EVENT_GOT_POKEDEX - jr z, .noOaksPC2 - coord hl, 2, 6 - ld de, OaksPCText - call PlaceString - ld a, [wNumHoFTeams] - and a - jr z, .noLeaguePC - ld a, 4 - ld [wMaxMenuItem], a - coord hl, 2, 8 - ld de, PKMNLeaguePCText - call PlaceString - coord hl, 2, 10 - ld de, LogOffPCText - jr .next3 -.noLeaguePC - coord hl, 2, 8 - ld de, LogOffPCText - jr .next3 -.noOaksPC2 - ld a, $2 - ld [wMaxMenuItem], a - coord hl, 2, 6 - ld de, LogOffPCText -.next3 - call PlaceString - ld a, A_BUTTON | B_BUTTON - ld [wMenuWatchedKeys], a - ld a, 2 - ld [wTopMenuItemY], a - ld a, 1 - ld [wTopMenuItemX], a - xor a - ld [wCurrentMenuItem], a - ld [wLastMenuItem], a - ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a - ret - -SomeonesPCText: db "SOMEONE's PC@" -BillsPCText: db "BILL's PC@" -PlayersPCText: db "'s PC@" -OaksPCText: db "PROF.OAK's PC@" -PKMNLeaguePCText: db "LEAGUE@" -LogOffPCText: db "LOG OFF@" - -BillsPC_:: - ld hl, wd730 - set 6, [hl] - xor a - ld [wParentMenuItem], a - inc a ; MONSTER_NAME - ld [wNameListType], a - call LoadHpBarAndStatusTilePatterns - ld a, [wListScrollOffset] - push af - ld a, [wFlags_0xcd60] - bit 3, a ; accessing Bill's PC through another PC? - jr nz, BillsPCMenu -; accessing it directly - ld a, SFX_TURN_ON_PC - call PlaySound - ld hl, SwitchOnText - call PrintText - -BillsPCMenu: - ld a, [wParentMenuItem] - ld [wCurrentMenuItem], a - ld hl, vChars2 + $780 - ld de, PokeballTileGraphics - lb bc, BANK(PokeballTileGraphics), $01 - call CopyVideoData - call LoadScreenTilesFromBuffer2DisableBGTransfer - coord hl, 0, 0 - ld b, 10 - ld c, 12 - call TextBoxBorder - coord hl, 2, 2 - ld de, BillsPCMenuText - call PlaceString - ld hl, wTopMenuItemY - ld a, 2 - ld [hli], a ; wTopMenuItemY - dec a - ld [hli], a ; wTopMenuItemX - inc hl - inc hl - ld a, 4 - ld [hli], a ; wMaxMenuItem - ld a, A_BUTTON | B_BUTTON - ld [hli], a ; wMenuWatchedKeys - xor a - ld [hli], a ; wLastMenuItem - ld [hli], a ; wPartyAndBillsPCSavedMenuItem - ld hl, wListScrollOffset - ld [hli], a ; wListScrollOffset - ld [hl], a ; wMenuWatchMovingOutOfBounds - ld [wPlayerMonNumber], a - ld hl, WhatText - call PrintText - coord hl, 9, 14 - ld b, 2 - ld c, 9 - call TextBoxBorder - ld a, [wCurrentBoxNum] - and $7f - cp 9 - jr c, .singleDigitBoxNum -; two digit box num - sub 9 - coord hl, 17, 16 - ld [hl], "1" - add "0" - jr .next -.singleDigitBoxNum - add "1" -.next - Coorda 18, 16 - coord hl, 10, 16 - ld de, BoxNoPCText - call PlaceString - ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a - call Delay3 - call HandleMenuInput - bit 1, a - jp nz, ExitBillsPC ; b button - call PlaceUnfilledArrowMenuCursor - ld a, [wCurrentMenuItem] - ld [wParentMenuItem], a - and a - jp z, BillsPCWithdraw ; withdraw - cp $1 - jp z, BillsPCDeposit ; deposit - cp $2 - jp z, BillsPCRelease ; release - cp $3 - jp z, BillsPCChangeBox ; change box - -ExitBillsPC: - ld a, [wFlags_0xcd60] - bit 3, a ; accessing Bill's PC through another PC? - jr nz, .next -; accessing it directly - call LoadTextBoxTilePatterns - ld a, SFX_TURN_OFF_PC - call PlaySound - call WaitForSoundToFinish -.next - ld hl, wFlags_0xcd60 - res 5, [hl] - call LoadScreenTilesFromBuffer2 - pop af - ld [wListScrollOffset], a - ld hl, wd730 - res 6, [hl] - ret - -BillsPCDeposit: - ld a, [wPartyCount] - dec a - jr nz, .partyLargeEnough - ld hl, CantDepositLastMonText - call PrintText - jp BillsPCMenu -.partyLargeEnough - ld a, [wNumInBox] - cp MONS_PER_BOX - jr nz, .boxNotFull - ld hl, BoxFullText - call PrintText - jp BillsPCMenu -.boxNotFull - ld hl, wPartyCount - call DisplayMonListMenu - jp c, BillsPCMenu - call DisplayDepositWithdrawMenu - jp nc, BillsPCMenu - ld a, [wcf91] - call GetCryData - call PlaySoundWaitForCurrent - ld a, PARTY_TO_BOX - ld [wMoveMonType], a - call MoveMon - xor a - ld [wRemoveMonFromBox], a - call RemovePokemon - call WaitForSoundToFinish - ld hl, wBoxNumString - ld a, [wCurrentBoxNum] - and $7f - cp 9 - jr c, .singleDigitBoxNum - sub 9 - ld [hl], "1" - inc hl - add "0" - jr .next -.singleDigitBoxNum - add "1" -.next - ld [hli], a - ld [hl], "@" - ld hl, MonWasStoredText - call PrintText - jp BillsPCMenu - -BillsPCWithdraw: - ld a, [wNumInBox] - and a - jr nz, .boxNotEmpty - ld hl, NoMonText - call PrintText - jp BillsPCMenu -.boxNotEmpty - ld a, [wPartyCount] - cp PARTY_LENGTH - jr nz, .partyNotFull - ld hl, CantTakeMonText - call PrintText - jp BillsPCMenu -.partyNotFull - ld hl, wNumInBox - call DisplayMonListMenu - jp c, BillsPCMenu - call DisplayDepositWithdrawMenu - jp nc, BillsPCMenu - ld a, [wWhichPokemon] - ld hl, wBoxMonNicks - call GetPartyMonName - ld a, [wcf91] - call GetCryData - call PlaySoundWaitForCurrent - xor a ; BOX_TO_PARTY - ld [wMoveMonType], a - call MoveMon - ld a, 1 - ld [wRemoveMonFromBox], a - call RemovePokemon - call WaitForSoundToFinish - ld hl, MonIsTakenOutText - call PrintText - jp BillsPCMenu - -BillsPCRelease: - ld a, [wNumInBox] - and a - jr nz, .loop - ld hl, NoMonText - call PrintText - jp BillsPCMenu -.loop - ld hl, wNumInBox - call DisplayMonListMenu - jp c, BillsPCMenu - ld hl, OnceReleasedText - call PrintText - call YesNoChoice - ld a, [wCurrentMenuItem] - and a - jr nz, .loop - inc a - ld [wRemoveMonFromBox], a - call RemovePokemon - call WaitForSoundToFinish - ld a, [wcf91] - call PlayCry - ld hl, MonWasReleasedText - call PrintText - jp BillsPCMenu - -BillsPCChangeBox: - callba ChangeBox - jp BillsPCMenu - -DisplayMonListMenu: - ld a, l - ld [wListPointer], a - ld a, h - ld [wListPointer + 1], a - xor a - ld [wPrintItemPrices], a - ld [wListMenuID], a - inc a ; MONSTER_NAME - ld [wNameListType], a - ld a, [wPartyAndBillsPCSavedMenuItem] - ld [wCurrentMenuItem], a - call DisplayListMenuID - ld a, [wCurrentMenuItem] - ld [wPartyAndBillsPCSavedMenuItem], a - ret - -BillsPCMenuText: - db "WITHDRAW " - next "DEPOSIT " - next "RELEASE " - next "CHANGE BOX" - next "SEE YA!" - db "@" - -BoxNoPCText: - db "BOX No.@" - -KnowsHMMove:: -; returns whether mon with party index [wWhichPokemon] knows an HM move - ld hl, wPartyMon1Moves - ld bc, wPartyMon2 - wPartyMon1 - jr .next -; unreachable - ld hl, wBoxMon1Moves - ld bc, wBoxMon2 - wBoxMon1 -.next - ld a, [wWhichPokemon] - call AddNTimes - ld b, NUM_MOVES -.loop - ld a, [hli] - push hl - push bc - ld hl, HMMoveArray - ld de, 1 - call IsInArray - pop bc - pop hl - ret c - dec b - jr nz, .loop - and a - ret - -HMMoveArray: - db CUT - db FLY - db SURF - db STRENGTH - db FLASH - db -1 - -DisplayDepositWithdrawMenu: - coord hl, 9, 10 - ld b, 6 - ld c, 9 - call TextBoxBorder - ld a, [wParentMenuItem] - and a ; was the Deposit or Withdraw item selected in the parent menu? - ld de, DepositPCText - jr nz, .next - ld de, WithdrawPCText -.next - coord hl, 11, 12 - call PlaceString - coord hl, 11, 14 - ld de, StatsCancelPCText - call PlaceString - ld hl, wTopMenuItemY - ld a, 12 - ld [hli], a ; wTopMenuItemY - ld a, 10 - ld [hli], a ; wTopMenuItemX - xor a - ld [hli], a ; wCurrentMenuItem - inc hl - ld a, 2 - ld [hli], a ; wMaxMenuItem - ld a, A_BUTTON | B_BUTTON - ld [hli], a ; wMenuWatchedKeys - xor a - ld [hl], a ; wLastMenuItem - ld hl, wListScrollOffset - ld [hli], a ; wListScrollOffset - ld [hl], a ; wMenuWatchMovingOutOfBounds - ld [wPlayerMonNumber], a - ld [wPartyAndBillsPCSavedMenuItem], a -.loop - call HandleMenuInput - bit 1, a ; pressed B? - jr nz, .exit - ld a, [wCurrentMenuItem] - and a - jr z, .choseDepositWithdraw - dec a - jr z, .viewStats -.exit - and a - ret -.choseDepositWithdraw - scf - ret -.viewStats - call SaveScreenTilesToBuffer1 - ld a, [wParentMenuItem] - and a - ld a, PLAYER_PARTY_DATA - jr nz, .next2 - ld a, BOX_DATA -.next2 - ld [wMonDataLocation], a - predef StatusScreen - predef StatusScreen2 - call LoadScreenTilesFromBuffer1 - call ReloadTilesetTilePatterns - call RunDefaultPaletteCommand - call LoadGBPal - jr .loop - -DepositPCText: db "DEPOSIT@" -WithdrawPCText: db "WITHDRAW@" -StatsCancelPCText: - db "STATS" - next "CANCEL@" - -SwitchOnText: - TX_FAR _SwitchOnText - db "@" - -WhatText: - TX_FAR _WhatText - db "@" - -DepositWhichMonText: - TX_FAR _DepositWhichMonText - db "@" - -MonWasStoredText: - TX_FAR _MonWasStoredText - db "@" - -CantDepositLastMonText: - TX_FAR _CantDepositLastMonText - db "@" - -BoxFullText: - TX_FAR _BoxFullText - db "@" - -MonIsTakenOutText: - TX_FAR _MonIsTakenOutText - db "@" - -NoMonText: - TX_FAR _NoMonText - db "@" - -CantTakeMonText: - TX_FAR _CantTakeMonText - db "@" - -ReleaseWhichMonText: - TX_FAR _ReleaseWhichMonText - db "@" - -OnceReleasedText: - TX_FAR _OnceReleasedText - db "@" - -MonWasReleasedText: - TX_FAR _MonWasReleasedText - db "@" - -CableClubLeftGameboy:: - ld a, [hSerialConnectionStatus] - cp USING_EXTERNAL_CLOCK - ret z - ld a, [wSpriteStateData1 + 9] ; player's sprite facing direction - cp SPRITE_FACING_RIGHT - ret nz - ld a, [wCurMap] - cp TRADE_CENTER - ld a, LINK_STATE_START_TRADE - jr z, .next - inc a ; LINK_STATE_START_BATTLE -.next - ld [wLinkState], a - call EnableAutoTextBoxDrawing - tx_pre_jump JustAMomentText - -CableClubRightGameboy:: - ld a, [hSerialConnectionStatus] - cp USING_INTERNAL_CLOCK - ret z - ld a, [wSpriteStateData1 + 9] ; player's sprite facing direction - cp SPRITE_FACING_LEFT - ret nz - ld a, [wCurMap] - cp TRADE_CENTER - ld a, LINK_STATE_START_TRADE - jr z, .next - inc a ; LINK_STATE_START_BATTLE -.next - ld [wLinkState], a - call EnableAutoTextBoxDrawing - tx_pre_jump JustAMomentText - -JustAMomentText:: - TX_FAR _JustAMomentText - db "@" - - ld a, [wSpriteStateData1 + 9] ; player's sprite facing direction - cp SPRITE_FACING_UP - ret nz - call EnableAutoTextBoxDrawing - tx_pre_jump OpenBillsPCText - -OpenBillsPCText:: - TX_BILLS_PC - diff --git a/engine/menu/diploma.asm b/engine/menu/diploma.asm deleted file mode 100755 index e53ef58f..00000000 --- a/engine/menu/diploma.asm +++ /dev/null @@ -1,113 +0,0 @@ -DisplayDiploma:: - call SaveScreenTilesToBuffer2 - call GBPalWhiteOutWithDelay3 - call ClearScreen - xor a - ld [wUpdateSpritesEnabled], a - ld hl, wd730 - set 6, [hl] - call DisableLCD - ld hl, CircleTile - ld de, vChars2 + $700 - ld bc, $0010 - ld a, BANK(CircleTile) - call FarCopyData2 - coord hl, 0, 0 - lb bc, 16, 18 - predef Diploma_TextBoxBorder - ld hl, DiplomaTextPointersAndCoords - ld c, $5 -.asm_56715 - push bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - push hl - ld h, [hl] - ld l, a - call PlaceString - pop hl - inc hl - pop bc - dec c - jr nz, .asm_56715 - coord hl, 10, 4 - ld de, wPlayerName - call PlaceString - callba DrawPlayerCharacter - -; Move the player 33 pixels right and set the priority bit so he appears -; behind the background layer. - ld hl, wOAMBuffer + $01 - lb bc, $80, $28 -.adjustPlayerGfxLoop - ld a, [hl] ; X - add 33 - ld [hli], a - inc hl - ld a, b - ld [hli], a ; attributes - inc hl - dec c - jr nz, .adjustPlayerGfxLoop - - call EnableLCD - callba LoadTrainerInfoTextBoxTiles - ld b, SET_PAL_GENERIC - call RunPaletteCommand - call Delay3 - call GBPalNormal - ld a, $90 - ld [rOBP0], a - call WaitForTextScrollButtonPress - ld hl, wd730 - res 6, [hl] - call GBPalWhiteOutWithDelay3 - call RestoreScreenTilesAndReloadTilePatterns - call Delay3 - jp GBPalNormal - -UnusedPlayerNameLengthFunc: -; Unused function that does a calculation involving the length of the player's -; name. - ld hl, wPlayerName - ld bc, $ff00 -.loop - ld a, [hli] - cp "@" - ret z - dec c - jr .loop - -DiplomaTextPointersAndCoords: - dw DiplomaText - dwCoord 5, 2 - dw DiplomaPlayer - dwCoord 3, 4 - dw DiplomaEmptyText - dwCoord 15, 4 - dw DiplomaCongrats - dwCoord 2, 6 - dw DiplomaGameFreak - dwCoord 9, 16 - -DiplomaText: - db $70,"Diploma",$70,"@" - -DiplomaPlayer: - db "Player@" - -DiplomaEmptyText: - db "@" - -DiplomaCongrats: - db "Congrats! This" - next "diploma certifies" - next "that you have" - next "completed your" - next "#DEX.@" - -DiplomaGameFreak: - db "GAME FREAK@" diff --git a/engine/menu/draw_badges.asm b/engine/menu/draw_badges.asm deleted file mode 100644 index 1888e32f..00000000 --- a/engine/menu/draw_badges.asm +++ /dev/null @@ -1,120 +0,0 @@ -DrawBadges: -; Draw 4x2 gym leader faces, with the faces replaced by -; badges if they are owned. Used in the player status screen. - -; In Japanese versions, names are displayed above faces. -; Instead of removing relevant code, the name graphics were erased. - -; Tile ids for face/badge graphics. - ld de, wBadgeOrFaceTiles - ld hl, .FaceBadgeTiles - ld bc, 8 - call CopyData - -; Booleans for each badge. - ld hl, wTempObtainedBadgesBooleans - ld bc, 8 - xor a - call FillMemory - -; Alter these based on owned badges. - ld de, wTempObtainedBadgesBooleans - ld hl, wBadgeOrFaceTiles - ld a, [wObtainedBadges] - ld b, a - ld c, 8 -.CheckBadge - srl b - jr nc, .NextBadge - ld a, [hl] - add 4 ; Badge graphics are after each face - ld [hl], a - ld a, 1 - ld [de], a -.NextBadge - inc hl - inc de - dec c - jr nz, .CheckBadge - -; Draw two rows of badges. - ld hl, wBadgeNumberTile - ld a, $d8 ; [1] - ld [hli], a - ld [hl], $60 ; First name - - coord hl, 2, 11 - ld de, wTempObtainedBadgesBooleans - call .DrawBadgeRow - - coord hl, 2, 14 - ld de, wTempObtainedBadgesBooleans + 4 -; call .DrawBadgeRow -; ret - -.DrawBadgeRow -; Draw 4 badges. - - ld c, 4 -.DrawBadge - push de - push hl - -; Badge no. - ld a, [wBadgeNumberTile] - ld [hli], a - inc a - ld [wBadgeNumberTile], a - -; Names aren't printed if the badge is owned. - ld a, [de] - and a - ld a, [wBadgeNameTile] - jr nz, .SkipName - call .PlaceTiles - jr .PlaceBadge - -.SkipName - inc a - inc a - inc hl - -.PlaceBadge - ld [wBadgeNameTile], a - ld de, SCREEN_WIDTH - 1 - add hl, de - ld a, [wBadgeOrFaceTiles] - call .PlaceTiles - add hl, de - call .PlaceTiles - -; Shift badge array back one byte. - push bc - ld hl, wBadgeOrFaceTiles + 1 - ld de, wBadgeOrFaceTiles - ld bc, 8 - call CopyData - pop bc - - pop hl - ld de, 4 - add hl, de - - pop de - inc de - dec c - jr nz, .DrawBadge - ret - -.PlaceTiles - ld [hli], a - inc a - ld [hl], a - inc a - ret - -.FaceBadgeTiles - db $20, $28, $30, $38, $40, $48, $50, $58 - -GymLeaderFaceAndBadgeTileGraphics: - INCBIN "gfx/trainer_card/badges.2bpp" diff --git a/engine/menu/draw_start_menu.asm b/engine/menu/draw_start_menu.asm deleted file mode 100644 index 21e444e9..00000000 --- a/engine/menu/draw_start_menu.asm +++ /dev/null @@ -1,89 +0,0 @@ -; function that displays the start menu -DrawStartMenu:: - CheckEvent EVENT_GOT_POKEDEX -; menu with pokedex - coord hl, 10, 0 - ld b, $0e - ld c, $08 - jr nz, .drawTextBoxBorder -; shorter menu if the player doesn't have the pokedex - coord hl, 10, 0 - ld b, $0c - ld c, $08 -.drawTextBoxBorder - call TextBoxBorder - ld a, D_DOWN | D_UP | START | B_BUTTON | A_BUTTON - ld [wMenuWatchedKeys], a - ld a, $02 - ld [wTopMenuItemY], a ; Y position of first menu choice - ld a, $0b - ld [wTopMenuItemX], a ; X position of first menu choice - ld a, [wBattleAndStartSavedMenuItem] ; remembered menu selection from last time - ld [wCurrentMenuItem], a - ld [wLastMenuItem], a - xor a - ld [wMenuWatchMovingOutOfBounds], a - ld hl, wd730 - set 6, [hl] ; no pauses between printing each letter - coord hl, 12, 2 - CheckEvent EVENT_GOT_POKEDEX -; case for not having pokedex - ld a, $06 - jr z, .storeMenuItemCount -; case for having pokedex - ld de, StartMenuPokedexText - call PrintStartMenuItem - ld a, $07 -.storeMenuItemCount - ld [wMaxMenuItem], a ; number of menu items - ld de, StartMenuPokemonText - call PrintStartMenuItem - ld de, StartMenuItemText - call PrintStartMenuItem - ld de, wPlayerName ; player's name - call PrintStartMenuItem - ld a, [wd72e] - bit 6, a ; is the player using the link feature? -; case for not using link feature - ld de, StartMenuSaveText - jr z, .printSaveOrResetText -; case for using link feature - ld de, StartMenuResetText -.printSaveOrResetText - call PrintStartMenuItem - ld de, StartMenuOptionText - call PrintStartMenuItem - ld de, StartMenuExitText - call PlaceString - ld hl, wd730 - res 6, [hl] ; turn pauses between printing letters back on - ret - -StartMenuPokedexText: - db "POKéDEX@" - -StartMenuPokemonText: - db "POKéMON@" - -StartMenuItemText: - db "ITEM@" - -StartMenuSaveText: - db "SAVE@" - -StartMenuResetText: - db "RESET@" - -StartMenuExitText: - db "EXIT@" - -StartMenuOptionText: - db "OPTION@" - -PrintStartMenuItem: - push hl - call PlaceString - pop hl - ld de, SCREEN_WIDTH * 2 - add hl, de - ret diff --git a/engine/menu/league_pc.asm b/engine/menu/league_pc.asm deleted file mode 100755 index 170c0ef3..00000000 --- a/engine/menu/league_pc.asm +++ /dev/null @@ -1,120 +0,0 @@ -PKMNLeaguePC: - ld hl, AccessedHoFPCText - call PrintText - ld hl, wd730 - set 6, [hl] - push hl - ld a, [wUpdateSpritesEnabled] - push af - ld a, [hTilesetType] - push af - xor a - ld [hTilesetType], a - ld [wSpriteFlipped], a - ld [wUpdateSpritesEnabled], a - ld [wHoFTeamIndex2], a - ld [wHoFTeamNo], a - ld a, [wNumHoFTeams] - ld b, a - cp HOF_TEAM_CAPACITY + 1 - jr c, .loop -; If the total number of hall of fame teams is greater than the storage -; capacity, then calculate the number of the first team that is still recorded. - ld b, HOF_TEAM_CAPACITY - sub b - ld [wHoFTeamNo], a -.loop - ld hl, wHoFTeamNo - inc [hl] - push bc - ld a, [wHoFTeamIndex2] - ld [wHoFTeamIndex], a - callba LoadHallOfFameTeams - call LeaguePCShowTeam - pop bc - jr c, .doneShowingTeams - ld hl, wHoFTeamIndex2 - inc [hl] - ld a, [hl] - cp b - jr nz, .loop -.doneShowingTeams - pop af - ld [hTilesetType], a - pop af - ld [wUpdateSpritesEnabled], a - pop hl - res 6, [hl] - call GBPalWhiteOutWithDelay3 - call ClearScreen - call RunDefaultPaletteCommand - jp GBPalNormal - -LeaguePCShowTeam: - ld c, PARTY_LENGTH -.loop - push bc - call LeaguePCShowMon - call WaitForTextScrollButtonPress - ld a, [hJoyHeld] - bit 1, a - jr nz, .exit - ld hl, wHallOfFame + HOF_MON - ld de, wHallOfFame - ld bc, HOF_TEAM - HOF_MON - call CopyData - pop bc - ld a, [wHallOfFame + 0] - cp $ff - jr z, .done - dec c - jr nz, .loop -.done - and a - ret -.exit - pop bc - scf - ret - -LeaguePCShowMon: - call GBPalWhiteOutWithDelay3 - call ClearScreen - ld hl, wHallOfFame - ld a, [hli] - ld [wHoFMonSpecies], a - ld [wcf91], a - ld [wd0b5], a - ld [wBattleMonSpecies2], a - ld [wWholeScreenPaletteMonSpecies], a - ld a, [hli] - ld [wHoFMonLevel], a - ld de, wcd6d - ld bc, NAME_LENGTH - call CopyData - ld b, SET_PAL_POKEMON_WHOLE_SCREEN - ld c, 0 - call RunPaletteCommand - coord hl, 12, 5 - call GetMonHeader - call LoadFrontSpriteByMonIndex - call GBPalNormal - coord hl, 0, 13 - ld b, 2 - ld c, $12 - call TextBoxBorder - coord hl, 1, 15 - ld de, HallOfFameNoText - call PlaceString - coord hl, 16, 15 - ld de, wHoFTeamNo - lb bc, 1, 3 - call PrintNumber - jpba HoFDisplayMonInfo - -HallOfFameNoText: - db "HALL OF FAME No @" - -AccessedHoFPCText: - TX_FAR _AccessedHoFPCText - db "@" diff --git a/engine/menu/main_menu.asm b/engine/menu/main_menu.asm deleted file mode 100755 index 8eda6744..00000000 --- a/engine/menu/main_menu.asm +++ /dev/null @@ -1,712 +0,0 @@ -MainMenu: -; Check save file - call InitOptions - xor a - ld [wOptionsInitialized], a - inc a - ld [wSaveFileStatus], a - call CheckForPlayerNameInSRAM - jr nc, .mainMenuLoop - - predef LoadSAV - -.mainMenuLoop - ld c, 20 - call DelayFrames - xor a ; LINK_STATE_NONE - ld [wLinkState], a - ld hl, wPartyAndBillsPCSavedMenuItem - ld [hli], a - ld [hli], a - ld [hli], a - ld [hl], a - ld [wDefaultMap], a - ld hl, wd72e - res 6, [hl] - call ClearScreen - call RunDefaultPaletteCommand - call LoadTextBoxTilePatterns - call LoadFontTilePatterns - ld hl, wd730 - set 6, [hl] - ld a, [wSaveFileStatus] - cp 1 - jr z, .noSaveFile -; there's a save file - coord hl, 0, 0 - ld b, 6 - ld c, 13 - call TextBoxBorder - coord hl, 2, 2 - ld de, ContinueText - call PlaceString - jr .next2 -.noSaveFile - coord hl, 0, 0 - ld b, 4 - ld c, 13 - call TextBoxBorder - coord hl, 2, 2 - ld de, NewGameText - call PlaceString -.next2 - ld hl, wd730 - res 6, [hl] - call UpdateSprites - xor a - ld [wCurrentMenuItem], a - ld [wLastMenuItem], a - ld [wMenuJoypadPollCount], a - inc a - ld [wTopMenuItemX], a - inc a - ld [wTopMenuItemY], a - ld a, A_BUTTON | B_BUTTON | START - ld [wMenuWatchedKeys], a - ld a, [wSaveFileStatus] - ld [wMaxMenuItem], a - call HandleMenuInput - bit 1, a ; pressed B? - jp nz, DisplayTitleScreen ; if so, go back to the title screen - ld c, 20 - call DelayFrames - ld a, [wCurrentMenuItem] - ld b, a - ld a, [wSaveFileStatus] - cp 2 - jp z, .skipInc -; If there's no save file, increment the current menu item so that the numbers -; are the same whether or not there's a save file. - inc b -.skipInc - ld a, b - and a - jr z, .choseContinue - cp 1 - jp z, StartNewGame - call DisplayOptionMenu - ld a, 1 - ld [wOptionsInitialized], a - jp .mainMenuLoop -.choseContinue - call DisplayContinueGameInfo - ld hl, wCurrentMapScriptFlags - set 5, [hl] -.inputLoop - xor a - ld [hJoyPressed], a - ld [hJoyReleased], a - ld [hJoyHeld], a - call Joypad - ld a, [hJoyHeld] - bit 0, a - jr nz, .pressedA - bit 1, a - jp nz, .mainMenuLoop ; pressed B - jr .inputLoop -.pressedA - call GBPalWhiteOutWithDelay3 - call ClearScreen - ld a, PLAYER_DIR_DOWN - ld [wPlayerDirection], a - ld c, 10 - call DelayFrames - ld a, [wNumHoFTeams] - and a - jp z, SpecialEnterMap - ld a, [wCurMap] ; map ID - cp HALL_OF_FAME - jp nz, SpecialEnterMap - xor a - ld [wDestinationMap], a - ld hl, wd732 - set 2, [hl] ; fly warp or dungeon warp - call SpecialWarpIn - jp SpecialEnterMap - -InitOptions: - ld a, 1 ; no delay - ld [wLetterPrintingDelayFlags], a - ld a, 3 ; medium speed - ld [wOptions], a - ret - -LinkMenu: - xor a - ld [wLetterPrintingDelayFlags], a - ld hl, wd72e - set 6, [hl] - ld hl, TextTerminator_6b20 - call PrintText - call SaveScreenTilesToBuffer1 - ld hl, WhereWouldYouLikeText - call PrintText - coord hl, 5, 5 - ld b, $6 - ld c, $d - call TextBoxBorder - call UpdateSprites - coord hl, 7, 7 - ld de, CableClubOptionsText - call PlaceString - xor a - ld [wUnusedCD37], a - ld [wd72d], a - ld hl, wTopMenuItemY - ld a, $7 - ld [hli], a - ld a, $6 - ld [hli], a - xor a - ld [hli], a - inc hl - ld a, $2 - ld [hli], a - inc a - ; ld a, A_BUTTON | B_BUTTON - ld [hli], a ; wMenuWatchedKeys - xor a - ld [hl], a -.waitForInputLoop - call HandleMenuInput - and A_BUTTON | B_BUTTON - add a - add a - ld b, a - ld a, [wCurrentMenuItem] - add b - add $d0 - ld [wLinkMenuSelectionSendBuffer], a - ld [wLinkMenuSelectionSendBuffer + 1], a -.exchangeMenuSelectionLoop - call Serial_ExchangeLinkMenuSelection - ld a, [wLinkMenuSelectionReceiveBuffer] - ld b, a - and $f0 - cp $d0 - jr z, .asm_5c7d - ld a, [wLinkMenuSelectionReceiveBuffer + 1] - ld b, a - and $f0 - cp $d0 - jr nz, .exchangeMenuSelectionLoop -.asm_5c7d - ld a, b - and $c ; did the enemy press A or B? - jr nz, .enemyPressedAOrB -; the enemy didn't press A or B - ld a, [wLinkMenuSelectionSendBuffer] - and $c ; did the player press A or B? - jr z, .waitForInputLoop ; if neither the player nor the enemy pressed A or B, try again - jr .doneChoosingMenuSelection ; if the player pressed A or B but the enemy didn't, use the player's selection -.enemyPressedAOrB - ld a, [wLinkMenuSelectionSendBuffer] - and $c ; did the player press A or B? - jr z, .useEnemyMenuSelection ; if the enemy pressed A or B but the player didn't, use the enemy's selection -; the enemy and the player both pressed A or B -; The gameboy that is clocking the connection wins. - ld a, [hSerialConnectionStatus] - cp USING_INTERNAL_CLOCK - jr z, .doneChoosingMenuSelection -.useEnemyMenuSelection - ld a, b - ld [wLinkMenuSelectionSendBuffer], a - and $3 - ld [wCurrentMenuItem], a -.doneChoosingMenuSelection - ld a, [hSerialConnectionStatus] - cp USING_INTERNAL_CLOCK - jr nz, .skipStartingTransfer - call DelayFrame - call DelayFrame - ld a, START_TRANSFER_INTERNAL_CLOCK - ld [rSC], a -.skipStartingTransfer - ld b, $7f - ld c, $7f - ld d, $ec - ld a, [wLinkMenuSelectionSendBuffer] - and (B_BUTTON << 2) ; was B button pressed? - jr nz, .updateCursorPosition -; A button was pressed - ld a, [wCurrentMenuItem] - cp $2 - jr z, .updateCursorPosition - ld c, d - ld d, b - dec a - jr z, .updateCursorPosition - ld b, c - ld c, d -.updateCursorPosition - ld a, b - Coorda 6, 7 - ld a, c - Coorda 6, 9 - ld a, d - Coorda 6, 11 - ld c, 40 - call DelayFrames - call LoadScreenTilesFromBuffer1 - ld a, [wLinkMenuSelectionSendBuffer] - and (B_BUTTON << 2) ; was B button pressed? - jr nz, .choseCancel ; cancel if B pressed - ld a, [wCurrentMenuItem] - cp $2 - jr z, .choseCancel - xor a - ld [wWalkBikeSurfState], a ; start walking - ld a, [wCurrentMenuItem] - and a - ld a, COLOSSEUM - jr nz, .next - ld a, TRADE_CENTER -.next - ld [wd72d], a - ld hl, PleaseWaitText - call PrintText - ld c, 50 - call DelayFrames - ld hl, wd732 - res 1, [hl] - ld a, [wDefaultMap] - ld [wDestinationMap], a - call SpecialWarpIn - ld c, 20 - call DelayFrames - xor a - ld [wMenuJoypadPollCount], a - ld [wSerialExchangeNybbleSendData], a - inc a ; LINK_STATE_IN_CABLE_CLUB - ld [wLinkState], a - ld [wEnteringCableClub], a - jr SpecialEnterMap -.choseCancel - xor a - ld [wMenuJoypadPollCount], a - call Delay3 - call CloseLinkConnection - ld hl, LinkCanceledText - call PrintText - ld hl, wd72e - res 6, [hl] - ret - -WhereWouldYouLikeText: - TX_FAR _WhereWouldYouLikeText - db "@" - -PleaseWaitText: - TX_FAR _PleaseWaitText - db "@" - -LinkCanceledText: - TX_FAR _LinkCanceledText - db "@" - -StartNewGame: - ld hl, wd732 - res 1, [hl] - call OakSpeech - ld c, 20 - call DelayFrames - -; enter map after using a special warp or loading the game from the main menu -SpecialEnterMap:: - xor a - ld [hJoyPressed], a - ld [hJoyHeld], a - ld [hJoy5], a - ld [wd72d], a - ld hl, wd732 - set 0, [hl] ; count play time - call ResetPlayerSpriteData - ld c, 20 - call DelayFrames - ld a, [wEnteringCableClub] - and a - ret nz - jp EnterMap - -ContinueText: - db "CONTINUE", $4e - -NewGameText: - db "NEW GAME" - next "OPTION@" - -CableClubOptionsText: - db "TRADE CENTER" - next "COLOSSEUM" - next "CANCEL@" - -DisplayContinueGameInfo: - xor a - ld [H_AUTOBGTRANSFERENABLED], a - coord hl, 4, 7 - ld b, 8 - ld c, 14 - call TextBoxBorder - coord hl, 5, 9 - ld de, SaveScreenInfoText - call PlaceString - coord hl, 12, 9 - ld de, wPlayerName - call PlaceString - coord hl, 17, 11 - call PrintNumBadges - coord hl, 16, 13 - call PrintNumOwnedMons - coord hl, 13, 15 - call PrintPlayTime - ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a - ld c, 30 - jp DelayFrames - -PrintSaveScreenText: - xor a - ld [H_AUTOBGTRANSFERENABLED], a - coord hl, 4, 0 - ld b, $8 - ld c, $e - call TextBoxBorder - call LoadTextBoxTilePatterns - call UpdateSprites - coord hl, 5, 2 - ld de, SaveScreenInfoText - call PlaceString - coord hl, 12, 2 - ld de, wPlayerName - call PlaceString - coord hl, 17, 4 - call PrintNumBadges - coord hl, 16, 6 - call PrintNumOwnedMons - coord hl, 13, 8 - call PrintPlayTime - ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a - ld c, 30 - jp DelayFrames - -PrintNumBadges: - push hl - ld hl, wObtainedBadges - ld b, $1 - call CountSetBits - pop hl - ld de, wNumSetBits - lb bc, 1, 2 - jp PrintNumber - -PrintNumOwnedMons: - push hl - ld hl, wPokedexOwned - ld b, wPokedexOwnedEnd - wPokedexOwned - call CountSetBits - pop hl - ld de, wNumSetBits - lb bc, 1, 3 - jp PrintNumber - -PrintPlayTime: - ld de, wPlayTimeHours - lb bc, 1, 3 - call PrintNumber - ld [hl], $6d - inc hl - ld de, wPlayTimeMinutes - lb bc, LEADING_ZEROES | 1, 2 - jp PrintNumber - -SaveScreenInfoText: - db "PLAYER" - next "BADGES " - next "#DEX " - next "TIME@" - -DisplayOptionMenu: - coord hl, 0, 0 - ld b, 3 - ld c, 18 - call TextBoxBorder - coord hl, 0, 5 - ld b, 3 - ld c, 18 - call TextBoxBorder - coord hl, 0, 10 - ld b, 3 - ld c, 18 - call TextBoxBorder - coord hl, 1, 1 - ld de, TextSpeedOptionText - call PlaceString - coord hl, 1, 6 - ld de, BattleAnimationOptionText - call PlaceString - coord hl, 1, 11 - ld de, BattleStyleOptionText - call PlaceString - coord hl, 2, 16 - ld de, OptionMenuCancelText - call PlaceString - xor a - ld [wCurrentMenuItem], a - ld [wLastMenuItem], a - inc a - ld [wLetterPrintingDelayFlags], a - ld [wOptionsCancelCursorX], a - ld a, 3 ; text speed cursor Y coordinate - ld [wTopMenuItemY], a - call SetCursorPositionsFromOptions - ld a, [wOptionsTextSpeedCursorX] ; text speed cursor X coordinate - ld [wTopMenuItemX], a - ld a, $01 - ld [H_AUTOBGTRANSFERENABLED], a ; enable auto background transfer - call Delay3 -.loop - call PlaceMenuCursor - call SetOptionsFromCursorPositions -.getJoypadStateLoop - call JoypadLowSensitivity - ld a, [hJoy5] - ld b, a - and A_BUTTON | B_BUTTON | START | D_RIGHT | D_LEFT | D_UP | D_DOWN ; any key besides select pressed? - jr z, .getJoypadStateLoop - bit 1, b ; B button pressed? - jr nz, .exitMenu - bit 3, b ; Start button pressed? - jr nz, .exitMenu - bit 0, b ; A button pressed? - jr z, .checkDirectionKeys - ld a, [wTopMenuItemY] - cp 16 ; is the cursor on Cancel? - jr nz, .loop -.exitMenu - ld a, SFX_PRESS_AB - call PlaySound - ret -.eraseOldMenuCursor - ld [wTopMenuItemX], a - call EraseMenuCursor - jp .loop -.checkDirectionKeys - ld a, [wTopMenuItemY] - bit 7, b ; Down pressed? - jr nz, .downPressed - bit 6, b ; Up pressed? - jr nz, .upPressed - cp 8 ; cursor in Battle Animation section? - jr z, .cursorInBattleAnimation - cp 13 ; cursor in Battle Style section? - jr z, .cursorInBattleStyle - cp 16 ; cursor on Cancel? - jr z, .loop -.cursorInTextSpeed - bit 5, b ; Left pressed? - jp nz, .pressedLeftInTextSpeed - jp .pressedRightInTextSpeed -.downPressed - cp 16 - ld b, -13 - ld hl, wOptionsTextSpeedCursorX - jr z, .updateMenuVariables - ld b, 5 - cp 3 - inc hl - jr z, .updateMenuVariables - cp 8 - inc hl - jr z, .updateMenuVariables - ld b, 3 - inc hl - jr .updateMenuVariables -.upPressed - cp 8 - ld b, -5 - ld hl, wOptionsTextSpeedCursorX - jr z, .updateMenuVariables - cp 13 - inc hl - jr z, .updateMenuVariables - cp 16 - ld b, -3 - inc hl - jr z, .updateMenuVariables - ld b, 13 - inc hl -.updateMenuVariables - add b - ld [wTopMenuItemY], a - ld a, [hl] - ld [wTopMenuItemX], a - call PlaceUnfilledArrowMenuCursor - jp .loop -.cursorInBattleAnimation - ld a, [wOptionsBattleAnimCursorX] ; battle animation cursor X coordinate - xor $0b ; toggle between 1 and 10 - ld [wOptionsBattleAnimCursorX], a - jp .eraseOldMenuCursor -.cursorInBattleStyle - ld a, [wOptionsBattleStyleCursorX] ; battle style cursor X coordinate - xor $0b ; toggle between 1 and 10 - ld [wOptionsBattleStyleCursorX], a - jp .eraseOldMenuCursor -.pressedLeftInTextSpeed - ld a, [wOptionsTextSpeedCursorX] ; text speed cursor X coordinate - cp 1 - jr z, .updateTextSpeedXCoord - cp 7 - jr nz, .fromSlowToMedium - sub 6 - jr .updateTextSpeedXCoord -.fromSlowToMedium - sub 7 - jr .updateTextSpeedXCoord -.pressedRightInTextSpeed - ld a, [wOptionsTextSpeedCursorX] ; text speed cursor X coordinate - cp 14 - jr z, .updateTextSpeedXCoord - cp 7 - jr nz, .fromFastToMedium - add 7 - jr .updateTextSpeedXCoord -.fromFastToMedium - add 6 -.updateTextSpeedXCoord - ld [wOptionsTextSpeedCursorX], a ; text speed cursor X coordinate - jp .eraseOldMenuCursor - -TextSpeedOptionText: - db "TEXT SPEED" - next " FAST MEDIUM SLOW@" - -BattleAnimationOptionText: - db "BATTLE ANIMATION" - next " ON OFF@" - -BattleStyleOptionText: - db "BATTLE STYLE" - next " SHIFT SET@" - -OptionMenuCancelText: - db "CANCEL@" - -; sets the options variable according to the current placement of the menu cursors in the options menu -SetOptionsFromCursorPositions: - ld hl, TextSpeedOptionData - ld a, [wOptionsTextSpeedCursorX] ; text speed cursor X coordinate - ld c, a -.loop - ld a, [hli] - cp c - jr z, .textSpeedMatchFound - inc hl - jr .loop -.textSpeedMatchFound - ld a, [hl] - ld d, a - ld a, [wOptionsBattleAnimCursorX] ; battle animation cursor X coordinate - dec a - jr z, .battleAnimationOn -.battleAnimationOff - set 7, d - jr .checkBattleStyle -.battleAnimationOn - res 7, d -.checkBattleStyle - ld a, [wOptionsBattleStyleCursorX] ; battle style cursor X coordinate - dec a - jr z, .battleStyleShift -.battleStyleSet - set 6, d - jr .storeOptions -.battleStyleShift - res 6, d -.storeOptions - ld a, d - ld [wOptions], a - ret - -; reads the options variable and places menu cursors in the correct positions within the options menu -SetCursorPositionsFromOptions: - ld hl, TextSpeedOptionData + 1 - ld a, [wOptions] - ld c, a - and $3f - push bc - ld de, 2 - call IsInArray - pop bc - dec hl - ld a, [hl] - ld [wOptionsTextSpeedCursorX], a ; text speed cursor X coordinate - coord hl, 0, 3 - call .placeUnfilledRightArrow - sla c - ld a, 1 ; On - jr nc, .storeBattleAnimationCursorX - ld a, 10 ; Off -.storeBattleAnimationCursorX - ld [wOptionsBattleAnimCursorX], a ; battle animation cursor X coordinate - coord hl, 0, 8 - call .placeUnfilledRightArrow - sla c - ld a, 1 - jr nc, .storeBattleStyleCursorX - ld a, 10 -.storeBattleStyleCursorX - ld [wOptionsBattleStyleCursorX], a ; battle style cursor X coordinate - coord hl, 0, 13 - call .placeUnfilledRightArrow -; cursor in front of Cancel - coord hl, 0, 16 - ld a, 1 -.placeUnfilledRightArrow - ld e, a - ld d, 0 - add hl, de - ld [hl], $ec ; unfilled right arrow menu cursor - ret - -; table that indicates how the 3 text speed options affect frame delays -; Format: -; 00: X coordinate of menu cursor -; 01: delay after printing a letter (in frames) -TextSpeedOptionData: - db 14,5 ; Slow - db 7,3 ; Medium - db 1,1 ; Fast - db 7 ; default X coordinate (Medium) - db $ff ; terminator - -CheckForPlayerNameInSRAM: -; Check if the player name data in SRAM has a string terminator character -; (indicating that a name may have been saved there) and return whether it does -; in carry. - ld a, SRAM_ENABLE - ld [MBC1SRamEnable], a - ld a, $1 - ld [MBC1SRamBankingMode], a - ld [MBC1SRamBank], a - ld b, NAME_LENGTH - ld hl, sPlayerName -.loop - ld a, [hli] - cp "@" - jr z, .found - dec b - jr nz, .loop -; not found - xor a - ld [MBC1SRamEnable], a - ld [MBC1SRamBankingMode], a - and a - ret -.found - xor a - ld [MBC1SRamEnable], a - ld [MBC1SRamBankingMode], a - scf - ret diff --git a/engine/menu/naming_screen.asm b/engine/menu/naming_screen.asm deleted file mode 100755 index 2b86d6f4..00000000 --- a/engine/menu/naming_screen.asm +++ /dev/null @@ -1,494 +0,0 @@ -AskName: - call SaveScreenTilesToBuffer1 - call GetPredefRegisters - push hl - ld a, [wIsInBattle] - dec a - coord hl, 0, 0 - ld b, 4 - ld c, 11 - call z, ClearScreenArea ; only if in wild battle - ld a, [wcf91] - ld [wd11e], a - call GetMonName - ld hl, DoYouWantToNicknameText - call PrintText - coord hl, 14, 7 - lb bc, 8, 15 - ld a, TWO_OPTION_MENU - ld [wTextBoxID], a - call DisplayTextBoxID - pop hl - ld a, [wCurrentMenuItem] - and a - jr nz, .declinedNickname - ld a, [wUpdateSpritesEnabled] - push af - xor a - ld [wUpdateSpritesEnabled], a - push hl - ld a, NAME_MON_SCREEN - ld [wNamingScreenType], a - call DisplayNamingScreen - ld a, [wIsInBattle] - and a - jr nz, .inBattle - call ReloadMapSpriteTilePatterns -.inBattle - call LoadScreenTilesFromBuffer1 - pop hl - pop af - ld [wUpdateSpritesEnabled], a - ld a, [wcf4b] - cp "@" - ret nz -.declinedNickname - ld d, h - ld e, l - ld hl, wcd6d - ld bc, NAME_LENGTH - jp CopyData - -DoYouWantToNicknameText: - TX_FAR _DoYouWantToNicknameText - db "@" - -DisplayNameRaterScreen:: - ld hl, wBuffer - xor a - ld [wUpdateSpritesEnabled], a - ld a, NAME_MON_SCREEN - ld [wNamingScreenType], a - call DisplayNamingScreen - call GBPalWhiteOutWithDelay3 - call RestoreScreenTilesAndReloadTilePatterns - call LoadGBPal - ld a, [wcf4b] - cp "@" - jr z, .playerCancelled - ld hl, wPartyMonNicks - ld bc, NAME_LENGTH - ld a, [wWhichPokemon] - call AddNTimes - ld e, l - ld d, h - ld hl, wBuffer - ld bc, NAME_LENGTH - call CopyData - and a - ret -.playerCancelled - scf - ret - -DisplayNamingScreen: - push hl - ld hl, wd730 - set 6, [hl] - call GBPalWhiteOutWithDelay3 - call ClearScreen - call UpdateSprites - ld b, SET_PAL_GENERIC - call RunPaletteCommand - call LoadHpBarAndStatusTilePatterns - call LoadEDTile - callba LoadMonPartySpriteGfx - coord hl, 0, 4 - ld b, 9 - ld c, 18 - call TextBoxBorder - call PrintNamingText - ld a, 3 - ld [wTopMenuItemY], a - ld a, 1 - ld [wTopMenuItemX], a - ld [wLastMenuItem], a - ld [wCurrentMenuItem], a - ld a, $ff - ld [wMenuWatchedKeys], a - ld a, 7 - ld [wMaxMenuItem], a - ld a, "@" - ld [wcf4b], a - xor a - ld hl, wNamingScreenSubmitName - ld [hli], a - ld [hli], a - ld [wAnimCounter], a -.selectReturnPoint - call PrintAlphabet - call GBPalNormal -.ABStartReturnPoint - ld a, [wNamingScreenSubmitName] - and a - jr nz, .submitNickname - call PrintNicknameAndUnderscores -.dPadReturnPoint - call PlaceMenuCursor -.inputLoop - ld a, [wCurrentMenuItem] - push af - callba AnimatePartyMon_ForceSpeed1 - pop af - ld [wCurrentMenuItem], a - call JoypadLowSensitivity - ld a, [hJoyPressed] - and a - jr z, .inputLoop - ld hl, .namingScreenButtonFunctions -.checkForPressedButton - sla a - jr c, .foundPressedButton - inc hl - inc hl - inc hl - inc hl - jr .checkForPressedButton -.foundPressedButton - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - ld a, [hli] - ld h, [hl] - ld l, a - push de - jp hl - -.submitNickname - pop de - ld hl, wcf4b - ld bc, NAME_LENGTH - call CopyData - call GBPalWhiteOutWithDelay3 - call ClearScreen - call ClearSprites - call RunDefaultPaletteCommand - call GBPalNormal - xor a - ld [wAnimCounter], a - ld hl, wd730 - res 6, [hl] - ld a, [wIsInBattle] - and a - jp z, LoadTextBoxTilePatterns - jpab LoadHudTilePatterns - -.namingScreenButtonFunctions - dw .dPadReturnPoint - dw .pressedDown - dw .dPadReturnPoint - dw .pressedUp - dw .dPadReturnPoint - dw .pressedLeft - dw .dPadReturnPoint - dw .pressedRight - dw .ABStartReturnPoint - dw .pressedStart - dw .selectReturnPoint - dw .pressedSelect - dw .ABStartReturnPoint - dw .pressedB - dw .ABStartReturnPoint - dw .pressedA - -.pressedA_changedCase - pop de - ld de, .selectReturnPoint - push de -.pressedSelect - ld a, [wAlphabetCase] - xor $1 - ld [wAlphabetCase], a - ret - -.pressedStart - ld a, 1 - ld [wNamingScreenSubmitName], a - ret - -.pressedA - ld a, [wCurrentMenuItem] - cp $5 ; "ED" row - jr nz, .didNotPressED - ld a, [wTopMenuItemX] - cp $11 ; "ED" column - jr z, .pressedStart -.didNotPressED - ld a, [wCurrentMenuItem] - cp $6 ; case switch row - jr nz, .didNotPressCaseSwtich - ld a, [wTopMenuItemX] - cp $1 ; case switch column - jr z, .pressedA_changedCase -.didNotPressCaseSwtich - ld hl, wMenuCursorLocation - ld a, [hli] - ld h, [hl] - ld l, a - inc hl - ld a, [hl] - ld [wNamingScreenLetter], a - call CalcStringLength - ld a, [wNamingScreenLetter] - cp $e5 - ld de, Dakutens - jr z, .dakutensAndHandakutens - cp $e4 - ld de, Handakutens - jr z, .dakutensAndHandakutens - ld a, [wNamingScreenType] - cp NAME_MON_SCREEN - jr nc, .checkMonNameLength - ld a, [wNamingScreenNameLength] - cp $7 ; max length of player/rival names - jr .checkNameLength -.checkMonNameLength - ld a, [wNamingScreenNameLength] - cp $a ; max length of pokemon nicknames -.checkNameLength - jr c, .addLetter - ret - -.dakutensAndHandakutens - push hl - call DakutensAndHandakutens - pop hl - ret nc - dec hl -.addLetter - ld a, [wNamingScreenLetter] - ld [hli], a - ld [hl], "@" - ld a, SFX_PRESS_AB - call PlaySound - ret -.pressedB - ld a, [wNamingScreenNameLength] - and a - ret z - call CalcStringLength - dec hl - ld [hl], "@" - ret -.pressedRight - ld a, [wCurrentMenuItem] - cp $6 - ret z ; can't scroll right on bottom row - ld a, [wTopMenuItemX] - cp $11 ; max - jp z, .wrapToFirstColumn - inc a - inc a - jr .done -.wrapToFirstColumn - ld a, $1 - jr .done -.pressedLeft - ld a, [wCurrentMenuItem] - cp $6 - ret z ; can't scroll right on bottom row - ld a, [wTopMenuItemX] - dec a - jp z, .wrapToLastColumn - dec a - jr .done -.wrapToLastColumn - ld a, $11 ; max - jr .done -.pressedUp - ld a, [wCurrentMenuItem] - dec a - ld [wCurrentMenuItem], a - and a - ret nz - ld a, $6 ; wrap to bottom row - ld [wCurrentMenuItem], a - ld a, $1 ; force left column - jr .done -.pressedDown - ld a, [wCurrentMenuItem] - inc a - ld [wCurrentMenuItem], a - cp $7 - jr nz, .wrapToTopRow - ld a, $1 - ld [wCurrentMenuItem], a - jr .done -.wrapToTopRow - cp $6 - ret nz - ld a, $1 -.done - ld [wTopMenuItemX], a - jp EraseMenuCursor - -LoadEDTile: - ld de, ED_Tile - ld hl, vFont + $700 - ld bc, (ED_TileEnd - ED_Tile) / $8 - ; to fix the graphical bug on poor emulators - ;lb bc, BANK(ED_Tile), (ED_TileEnd - ED_Tile) / $8 - jp CopyVideoDataDouble - -ED_Tile: - INCBIN "gfx/font/ED.1bpp" -ED_TileEnd: - -PrintAlphabet: - xor a - ld [H_AUTOBGTRANSFERENABLED], a - ld a, [wAlphabetCase] - and a - ld de, LowerCaseAlphabet - jr nz, .lowercase - ld de, UpperCaseAlphabet -.lowercase - coord hl, 2, 5 - lb bc, 5, 9 ; 5 rows, 9 columns -.outerLoop - push bc -.innerLoop - ld a, [de] - ld [hli], a - inc hl - inc de - dec c - jr nz, .innerLoop - ld bc, SCREEN_WIDTH + 2 - add hl, bc - pop bc - dec b - jr nz, .outerLoop - call PlaceString - ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a - jp Delay3 - -INCLUDE "text/alphabets.asm" - -PrintNicknameAndUnderscores: - call CalcStringLength - ld a, c - ld [wNamingScreenNameLength], a - coord hl, 10, 2 - lb bc, 1, 10 - call ClearScreenArea - coord hl, 10, 2 - ld de, wcf4b - call PlaceString - coord hl, 10, 3 - ld a, [wNamingScreenType] - cp NAME_MON_SCREEN - jr nc, .pokemon1 - ld b, 7 ; player or rival max name length - jr .playerOrRival1 -.pokemon1 - ld b, 10 ; pokemon max name length -.playerOrRival1 - ld a, $76 ; underscore tile id -.placeUnderscoreLoop - ld [hli], a - dec b - jr nz, .placeUnderscoreLoop - ld a, [wNamingScreenType] - cp NAME_MON_SCREEN - ld a, [wNamingScreenNameLength] - jr nc, .pokemon2 - cp 7 ; player or rival max name length - jr .playerOrRival2 -.pokemon2 - cp 10 ; pokemon max name length -.playerOrRival2 - jr nz, .emptySpacesRemaining - ; when all spaces are filled, force the cursor onto the ED tile - call EraseMenuCursor - ld a, $11 ; "ED" x coord - ld [wTopMenuItemX], a - ld a, $5 ; "ED" y coord - ld [wCurrentMenuItem], a - ld a, [wNamingScreenType] - cp NAME_MON_SCREEN - ld a, 9 ; keep the last underscore raised - jr nc, .pokemon3 - ld a, 6 ; keep the last underscore raised -.pokemon3 -.emptySpacesRemaining - ld c, a - ld b, $0 - coord hl, 10, 3 - add hl, bc - ld [hl], $77 ; raised underscore tile id - ret - -DakutensAndHandakutens: - push de - call CalcStringLength - dec hl - ld a, [hl] - pop hl - ld de, $2 - call IsInArray - ret nc - inc hl - ld a, [hl] - ld [wNamingScreenLetter], a - ret - -INCLUDE "text/dakutens.asm" - -; calculates the length of the string at wcf4b and stores it in c -CalcStringLength: - ld hl, wcf4b - ld c, $0 -.loop - ld a, [hl] - cp "@" - ret z - inc hl - inc c - jr .loop - -PrintNamingText: - coord hl, 0, 1 - ld a, [wNamingScreenType] - ld de, YourTextString - and a - jr z, .notNickname - ld de, RivalsTextString - dec a - jr z, .notNickname - ld a, [wcf91] - ld [wMonPartySpriteSpecies], a - push af - callba WriteMonPartySpriteOAMBySpecies - pop af - ld [wd11e], a - call GetMonName - coord hl, 4, 1 - call PlaceString - ld hl, $1 - add hl, bc - ld [hl], $c9 - coord hl, 1, 3 - ld de, NicknameTextString - jr .placeString -.notNickname - call PlaceString - ld l, c - ld h, b - ld de, NameTextString -.placeString - jp PlaceString - -YourTextString: - db "YOUR @" - -RivalsTextString: - db "RIVAL's @" - -NameTextString: - db "NAME?@" - -NicknameTextString: - db "NICKNAME?@" diff --git a/engine/menu/oaks_pc.asm b/engine/menu/oaks_pc.asm deleted file mode 100755 index 03c9b8f1..00000000 --- a/engine/menu/oaks_pc.asm +++ /dev/null @@ -1,28 +0,0 @@ -OpenOaksPC: - call SaveScreenTilesToBuffer2 - ld hl, AccessedOaksPCText - call PrintText - ld hl, GetDexRatedText - call PrintText - call YesNoChoice - ld a, [wCurrentMenuItem] - and a - jr nz, .closePC - predef DisplayDexRating -.closePC - ld hl, ClosedOaksPCText - call PrintText - jp LoadScreenTilesFromBuffer2 - -GetDexRatedText: - TX_FAR _GetDexRatedText - db "@" - -ClosedOaksPCText: - TX_FAR _ClosedOaksPCText - TX_WAIT - db "@" - -AccessedOaksPCText: - TX_FAR _AccessedOaksPCText - db "@" diff --git a/engine/menu/party_menu.asm b/engine/menu/party_menu.asm deleted file mode 100755 index 41b6074b..00000000 --- a/engine/menu/party_menu.asm +++ /dev/null @@ -1,325 +0,0 @@ -; [wPartyMenuTypeOrMessageID] = menu type / message ID -; if less than $F0, it is a menu type -; menu types: -; 00: normal pokemon menu (e.g. Start menu) -; 01: use healing item on pokemon menu -; 02: in-battle switch pokemon menu -; 03: learn TM/HM menu -; 04: swap pokemon positions menu -; 05: use evolution stone on pokemon menu -; otherwise, it is a message ID -; f0: poison healed -; f1: burn healed -; f2: freeze healed -; f3: sleep healed -; f4: paralysis healed -; f5: HP healed -; f6: health returned -; f7: revitalized -; f8: leveled up -DrawPartyMenu_:: - xor a - ld [H_AUTOBGTRANSFERENABLED], a - call ClearScreen - call UpdateSprites - callba LoadMonPartySpriteGfxWithLCDDisabled ; load pokemon icon graphics - -RedrawPartyMenu_:: - ld a, [wPartyMenuTypeOrMessageID] - cp SWAP_MONS_PARTY_MENU - jp z, .printMessage - call ErasePartyMenuCursors - callba InitPartyMenuBlkPacket - coord hl, 3, 0 - ld de, wPartySpecies - xor a - ld c, a - ld [hPartyMonIndex], a - ld [wWhichPartyMenuHPBar], a -.loop - ld a, [de] - cp $FF ; reached the terminator? - jp z, .afterDrawingMonEntries - push bc - push de - push hl - ld a, c - push hl - ld hl, wPartyMonNicks - call GetPartyMonName - pop hl - call PlaceString ; print the pokemon's name - callba WriteMonPartySpriteOAMByPartyIndex ; place the appropriate pokemon icon - ld a, [hPartyMonIndex] - ld [wWhichPokemon], a - inc a - ld [hPartyMonIndex], a - call LoadMonData - pop hl - push hl - ld a, [wMenuItemToSwap] - and a ; is the player swapping pokemon positions? - jr z, .skipUnfilledRightArrow -; if the player is swapping pokemon positions - dec a - ld b, a - ld a, [wWhichPokemon] - cp b ; is the player swapping the current pokemon in the list? - jr nz, .skipUnfilledRightArrow -; the player is swapping the current pokemon in the list - dec hl - dec hl - dec hl - ld a, "▷" ; unfilled right arrow menu cursor - ld [hli], a ; place the cursor - inc hl - inc hl -.skipUnfilledRightArrow - ld a, [wPartyMenuTypeOrMessageID] ; menu type - cp TMHM_PARTY_MENU - jr z, .teachMoveMenu - cp EVO_STONE_PARTY_MENU - jr z, .evolutionStoneMenu - push hl - ld bc, 14 ; 14 columns to the right - add hl, bc - ld de, wLoadedMonStatus - call PrintStatusCondition - pop hl - push hl - ld bc, SCREEN_WIDTH + 1 ; down 1 row and right 1 column - ld a, [hFlags_0xFFF6] - set 0, a - ld [hFlags_0xFFF6], a - add hl, bc - predef DrawHP2 ; draw HP bar and prints current / max HP - ld a, [hFlags_0xFFF6] - res 0, a - ld [hFlags_0xFFF6], a - call SetPartyMenuHPBarColor ; color the HP bar (on SGB) - pop hl - jr .printLevel -.teachMoveMenu - push hl - predef CanLearnTM ; check if the pokemon can learn the move - pop hl - ld de, .ableToLearnMoveText - ld a, c - and a - jr nz, .placeMoveLearnabilityString - ld de, .notAbleToLearnMoveText -.placeMoveLearnabilityString - ld bc, 20 + 9 ; down 1 row and right 9 columns - push hl - add hl, bc - call PlaceString - pop hl -.printLevel - ld bc, 10 ; move 10 columns to the right - add hl, bc - call PrintLevel - pop hl - pop de - inc de - ld bc, 2 * 20 - add hl, bc - pop bc - inc c - jp .loop -.ableToLearnMoveText - db "ABLE@" -.notAbleToLearnMoveText - db "NOT ABLE@" -.evolutionStoneMenu - push hl - ld hl, EvosMovesPointerTable - ld b, 0 - ld a, [wLoadedMonSpecies] - dec a - add a - rl b - ld c, a - add hl, bc - ld de, wEvosMoves - ld a, BANK(EvosMovesPointerTable) - ld bc, 2 - call FarCopyData - ld hl, wEvosMoves - ld a, [hli] - ld h, [hl] - ld l, a - ld de, wEvosMoves - ld a, BANK(EvosMovesPointerTable) - ld bc, wEvosMoves.end - wEvosMoves - call FarCopyData - ld hl, wEvosMoves - ld de, .notAbleToEvolveText -; loop through the pokemon's evolution entries -.checkEvolutionsLoop - ld a, [hli] - and a ; reached terminator? - jr z, .placeEvolutionStoneString ; if so, place the "NOT ABLE" string - inc hl - inc hl - cp EV_ITEM - jr nz, .checkEvolutionsLoop -; if it's a stone evolution entry - dec hl - dec hl - ld b, [hl] - ld a, [wEvoStoneItemID] ; the stone the player used - inc hl - inc hl - inc hl - cp b ; does the player's stone match this evolution entry's stone? - jr nz, .checkEvolutionsLoop -; if it does match - ld de, .ableToEvolveText -.placeEvolutionStoneString - ld bc, 20 + 9 ; down 1 row and right 9 columns - pop hl - push hl - add hl, bc - call PlaceString - pop hl - jr .printLevel -.ableToEvolveText - db "ABLE@" -.notAbleToEvolveText - db "NOT ABLE@" -.afterDrawingMonEntries - ld b, SET_PAL_PARTY_MENU - call RunPaletteCommand -.printMessage - ld hl, wd730 - ld a, [hl] - push af - push hl - set 6, [hl] ; turn off letter printing delay - ld a, [wPartyMenuTypeOrMessageID] ; message ID - cp $F0 - jr nc, .printItemUseMessage - add a - ld hl, PartyMenuMessagePointers - ld b, 0 - ld c, a - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - call PrintText -.done - pop hl - pop af - ld [hl], a - ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a - call Delay3 - jp GBPalNormal -.printItemUseMessage - and $0F - ld hl, PartyMenuItemUseMessagePointers - add a - ld c, a - ld b, 0 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - push hl - ld a, [wUsedItemOnWhichPokemon] - ld hl, wPartyMonNicks - call GetPartyMonName - pop hl - call PrintText - jr .done - -PartyMenuItemUseMessagePointers: - dw AntidoteText - dw BurnHealText - dw IceHealText - dw AwakeningText - dw ParlyzHealText - dw PotionText - dw FullHealText - dw ReviveText - dw RareCandyText - -PartyMenuMessagePointers: - dw PartyMenuNormalText - dw PartyMenuItemUseText - dw PartyMenuBattleText - dw PartyMenuUseTMText - dw PartyMenuSwapMonText - dw PartyMenuItemUseText - -PartyMenuNormalText: - TX_FAR _PartyMenuNormalText - db "@" - -PartyMenuItemUseText: - TX_FAR _PartyMenuItemUseText - db "@" - -PartyMenuBattleText: - TX_FAR _PartyMenuBattleText - db "@" - -PartyMenuUseTMText: - TX_FAR _PartyMenuUseTMText - db "@" - -PartyMenuSwapMonText: - TX_FAR _PartyMenuSwapMonText - db "@" - -PotionText: - TX_FAR _PotionText - db "@" - -AntidoteText: - TX_FAR _AntidoteText - db "@" - -ParlyzHealText: - TX_FAR _ParlyzHealText - db "@" - -BurnHealText: - TX_FAR _BurnHealText - db "@" - -IceHealText: - TX_FAR _IceHealText - db "@" - -AwakeningText: - TX_FAR _AwakeningText - db "@" - -FullHealText: - TX_FAR _FullHealText - db "@" - -ReviveText: - TX_FAR _ReviveText - db "@" - -RareCandyText: - TX_FAR _RareCandyText - TX_SFX_ITEM_1 ; probably supposed to play SFX_LEVEL_UP but the wrong music bank is loaded - TX_BLINK - db "@" - -SetPartyMenuHPBarColor: - ld hl, wPartyMenuHPBarColors - ld a, [wWhichPartyMenuHPBar] - ld c, a - ld b, 0 - add hl, bc - call GetHealthBarColor - ld b, UPDATE_PARTY_MENU_BLK_PACKET - call RunPaletteCommand - ld hl, wWhichPartyMenuHPBar - inc [hl] - ret diff --git a/engine/menu/pc.asm b/engine/menu/pc.asm deleted file mode 100755 index 6ec45f2e..00000000 --- a/engine/menu/pc.asm +++ /dev/null @@ -1,141 +0,0 @@ -ActivatePC:: - call SaveScreenTilesToBuffer2 - ld a, SFX_TURN_ON_PC - call PlaySound - ld hl, TurnedOnPC1Text - call PrintText - call WaitForSoundToFinish - ld hl, wFlags_0xcd60 - set 3, [hl] - call LoadScreenTilesFromBuffer2 - call Delay3 -PCMainMenu: - callba DisplayPCMainMenu - ld hl, wFlags_0xcd60 - set 5, [hl] - call HandleMenuInput - bit 1, a ;if player pressed B - jp nz, LogOff - ld a, [wMaxMenuItem] - cp 2 - jr nz, .next ;if not 2 menu items (not counting log off) (2 occurs before you get the pokedex) - ld a, [wCurrentMenuItem] - and a - jp z, BillsPC ;if current menu item id is 0, it's bills pc - cp 1 - jr z, .playersPC ;if current menu item id is 1, it's players pc - jp LogOff ;otherwise, it's 2, and you're logging off -.next - cp 3 - jr nz, .next2 ;if not 3 menu items (not counting log off) (3 occurs after you get the pokedex, before you beat the pokemon league) - ld a, [wCurrentMenuItem] - and a - jp z, BillsPC ;if current menu item id is 0, it's bills pc - cp 1 - jr z, .playersPC ;if current menu item id is 1, it's players pc - cp 2 - jp z, OaksPC ;if current menu item id is 2, it's oaks pc - jp LogOff ;otherwise, it's 3, and you're logging off -.next2 - ld a, [wCurrentMenuItem] - and a - jp z, BillsPC ;if current menu item id is 0, it's bills pc - cp 1 - jr z, .playersPC ;if current menu item id is 1, it's players pc - cp 2 - jp z, OaksPC ;if current menu item id is 2, it's oaks pc - cp 3 - jp z, PKMNLeague ;if current menu item id is 3, it's pkmnleague - jp LogOff ;otherwise, it's 4, and you're logging off -.playersPC - ld hl, wFlags_0xcd60 - res 5, [hl] - set 3, [hl] - ld a, SFX_ENTER_PC - call PlaySound - call WaitForSoundToFinish - ld hl, AccessedMyPCText - call PrintText - callba PlayerPC - jr ReloadMainMenu -OaksPC: - ld a, SFX_ENTER_PC - call PlaySound - call WaitForSoundToFinish - callba OpenOaksPC - jr ReloadMainMenu -PKMNLeague: - ld a, SFX_ENTER_PC - call PlaySound - call WaitForSoundToFinish - callba PKMNLeaguePC - jr ReloadMainMenu -BillsPC: - ld a, SFX_ENTER_PC - call PlaySound - call WaitForSoundToFinish - CheckEvent EVENT_MET_BILL - jr nz, .billsPC ;if you've met bill, use that bill's instead of someone's - ld hl, AccessedSomeonesPCText - jr .printText -.billsPC - ld hl, AccessedBillsPCText -.printText - call PrintText - callba BillsPC_ -ReloadMainMenu: - xor a - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - call ReloadMapData - call UpdateSprites - jp PCMainMenu -LogOff: - ld a, SFX_TURN_OFF_PC - call PlaySound - call WaitForSoundToFinish - ld hl, wFlags_0xcd60 - res 3, [hl] - res 5, [hl] - ret - -TurnedOnPC1Text: - TX_FAR _TurnedOnPC1Text - db "@" - -AccessedBillsPCText: - TX_FAR _AccessedBillsPCText - db "@" - -AccessedSomeonesPCText: - TX_FAR _AccessedSomeonesPCText - db "@" - -AccessedMyPCText: - TX_FAR _AccessedMyPCText - db "@" - -; removes one of the specified item ID [hItemToRemoveID] from bag (if existent) -RemoveItemByID:: - ld hl, wBagItems - ld a, [hItemToRemoveID] - ld b, a - xor a - ld [hItemToRemoveIndex], a -.loop - ld a, [hli] - cp -1 ; reached terminator? - ret z - cp b - jr z, .foundItem - inc hl - ld a, [hItemToRemoveIndex] - inc a - ld [hItemToRemoveIndex], a - jr .loop -.foundItem - ld a, $1 - ld [wItemQuantity], a - ld a, [hItemToRemoveIndex] - ld [wWhichPokemon], a - ld hl, wNumBagItems - jp RemoveItemFromInventory diff --git a/engine/menu/players_pc.asm b/engine/menu/players_pc.asm deleted file mode 100755 index 403632fa..00000000 --- a/engine/menu/players_pc.asm +++ /dev/null @@ -1,303 +0,0 @@ -PlayerPC:: - ld hl, wd730 - set 6, [hl] - ld a, ITEM_NAME - ld [wNameListType], a - call SaveScreenTilesToBuffer1 - xor a - ld [wBagSavedMenuItem], a - ld [wParentMenuItem], a - ld a, [wFlags_0xcd60] - bit 3, a ; accessing player's PC through another PC? - jr nz, PlayerPCMenu -; accessing it directly - ld a, SFX_TURN_ON_PC - call PlaySound - ld hl, TurnedOnPC2Text - call PrintText - -PlayerPCMenu: - ld a, [wParentMenuItem] - ld [wCurrentMenuItem], a - ld hl, wFlags_0xcd60 - set 5, [hl] - call LoadScreenTilesFromBuffer2 - coord hl, 0, 0 - ld b, $8 - ld c, $e - call TextBoxBorder - call UpdateSprites - coord hl, 2, 2 - ld de, PlayersPCMenuEntries - call PlaceString - ld hl, wTopMenuItemY - ld a, 2 - ld [hli], a ; wTopMenuItemY - dec a - ld [hli], a ; wTopMenuItemX - inc hl - inc hl - ld a, 3 - ld [hli], a ; wMaxMenuItem - ld a, A_BUTTON | B_BUTTON - ld [hli], a ; wMenuWatchedKeys - xor a - ld [hl], a - ld hl, wListScrollOffset - ld [hli], a ; wListScrollOffset - ld [hl], a ; wMenuWatchMovingOutOfBounds - ld [wPlayerMonNumber], a - ld hl, WhatDoYouWantText - call PrintText - call HandleMenuInput - bit 1, a - jp nz, ExitPlayerPC - call PlaceUnfilledArrowMenuCursor - ld a, [wCurrentMenuItem] - ld [wParentMenuItem], a - and a - jp z, PlayerPCWithdraw - dec a - jp z, PlayerPCDeposit - dec a - jp z, PlayerPCToss - -ExitPlayerPC: - ld a, [wFlags_0xcd60] - bit 3, a ; accessing player's PC through another PC? - jr nz, .next -; accessing it directly - ld a, SFX_TURN_OFF_PC - call PlaySound - call WaitForSoundToFinish -.next - ld hl, wFlags_0xcd60 - res 5, [hl] - call LoadScreenTilesFromBuffer2 - xor a - ld [wListScrollOffset], a - ld [wBagSavedMenuItem], a - ld hl, wd730 - res 6, [hl] - xor a - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ret - -PlayerPCDeposit: - xor a - ld [wCurrentMenuItem], a - ld [wListScrollOffset], a - ld a, [wNumBagItems] - and a - jr nz, .loop - ld hl, NothingToDepositText - call PrintText - jp PlayerPCMenu -.loop - ld hl, WhatToDepositText - call PrintText - ld hl, wNumBagItems - ld a, l - ld [wListPointer], a - ld a, h - ld [wListPointer + 1], a - xor a - ld [wPrintItemPrices], a - ld a, ITEMLISTMENU - ld [wListMenuID], a - call DisplayListMenuID - jp c, PlayerPCMenu - call IsKeyItem - ld a, 1 - ld [wItemQuantity], a - ld a, [wIsKeyItem] - and a - jr nz, .next -; if it's not a key item, there can be more than one of the item - ld hl, DepositHowManyText - call PrintText - call DisplayChooseQuantityMenu - cp $ff - jp z, .loop -.next - ld hl, wNumBoxItems - call AddItemToInventory - jr c, .roomAvailable - ld hl, NoRoomToStoreText - call PrintText - jp .loop -.roomAvailable - ld hl, wNumBagItems - call RemoveItemFromInventory - call WaitForSoundToFinish - ld a, SFX_WITHDRAW_DEPOSIT - call PlaySound - call WaitForSoundToFinish - ld hl, ItemWasStoredText - call PrintText - jp .loop - -PlayerPCWithdraw: - xor a - ld [wCurrentMenuItem], a - ld [wListScrollOffset], a - ld a, [wNumBoxItems] - and a - jr nz, .loop - ld hl, NothingStoredText - call PrintText - jp PlayerPCMenu -.loop - ld hl, WhatToWithdrawText - call PrintText - ld hl, wNumBoxItems - ld a, l - ld [wListPointer], a - ld a, h - ld [wListPointer + 1], a - xor a - ld [wPrintItemPrices], a - ld a, ITEMLISTMENU - ld [wListMenuID], a - call DisplayListMenuID - jp c, PlayerPCMenu - call IsKeyItem - ld a, 1 - ld [wItemQuantity], a - ld a, [wIsKeyItem] - and a - jr nz, .next -; if it's not a key item, there can be more than one of the item - ld hl, WithdrawHowManyText - call PrintText - call DisplayChooseQuantityMenu - cp $ff - jp z, .loop -.next - ld hl, wNumBagItems - call AddItemToInventory - jr c, .roomAvailable - ld hl, CantCarryMoreText - call PrintText - jp .loop -.roomAvailable - ld hl, wNumBoxItems - call RemoveItemFromInventory - call WaitForSoundToFinish - ld a, SFX_WITHDRAW_DEPOSIT - call PlaySound - call WaitForSoundToFinish - ld hl, WithdrewItemText - call PrintText - jp .loop - -PlayerPCToss: - xor a - ld [wCurrentMenuItem], a - ld [wListScrollOffset], a - ld a, [wNumBoxItems] - and a - jr nz, .loop - ld hl, NothingStoredText - call PrintText - jp PlayerPCMenu -.loop - ld hl, WhatToTossText - call PrintText - ld hl, wNumBoxItems - ld a, l - ld [wListPointer], a - ld a, h - ld [wListPointer + 1], a - xor a - ld [wPrintItemPrices], a - ld a, ITEMLISTMENU - ld [wListMenuID], a - push hl - call DisplayListMenuID - pop hl - jp c, PlayerPCMenu - push hl - call IsKeyItem - pop hl - ld a, 1 - ld [wItemQuantity], a - ld a, [wIsKeyItem] - and a - jr nz, .next - ld a, [wcf91] - call IsItemHM - jr c, .next -; if it's not a key item, there can be more than one of the item - push hl - ld hl, TossHowManyText - call PrintText - call DisplayChooseQuantityMenu - pop hl - cp $ff - jp z, .loop -.next - call TossItem ; disallows tossing key items - jp .loop - -PlayersPCMenuEntries: - db "WITHDRAW ITEM" - next "DEPOSIT ITEM" - next "TOSS ITEM" - next "LOG OFF@" - -TurnedOnPC2Text: - TX_FAR _TurnedOnPC2Text - db "@" - -WhatDoYouWantText: - TX_FAR _WhatDoYouWantText - db "@" - -WhatToDepositText: - TX_FAR _WhatToDepositText - db "@" - -DepositHowManyText: - TX_FAR _DepositHowManyText - db "@" - -ItemWasStoredText: - TX_FAR _ItemWasStoredText - db "@" - -NothingToDepositText: - TX_FAR _NothingToDepositText - db "@" - -NoRoomToStoreText: - TX_FAR _NoRoomToStoreText - db "@" - -WhatToWithdrawText: - TX_FAR _WhatToWithdrawText - db "@" - -WithdrawHowManyText: - TX_FAR _WithdrawHowManyText - db "@" - -WithdrewItemText: - TX_FAR _WithdrewItemText - db "@" - -NothingStoredText: - TX_FAR _NothingStoredText - db "@" - -CantCarryMoreText: - TX_FAR _CantCarryMoreText - db "@" - -WhatToTossText: - TX_FAR _WhatToTossText - db "@" - -TossHowManyText: - TX_FAR _TossHowManyText - db "@" diff --git a/engine/menu/pokedex.asm b/engine/menu/pokedex.asm deleted file mode 100755 index 8e1fd480..00000000 --- a/engine/menu/pokedex.asm +++ /dev/null @@ -1,665 +0,0 @@ -ShowPokedexMenu: - call GBPalWhiteOut - call ClearScreen - call UpdateSprites - ld a, [wListScrollOffset] - push af - xor a - ld [wCurrentMenuItem], a - ld [wListScrollOffset], a - ld [wLastMenuItem], a - inc a - ld [wd11e], a - ld [hJoy7], a -.setUpGraphics - ld b, SET_PAL_GENERIC - call RunPaletteCommand - callab LoadPokedexTilePatterns -.doPokemonListMenu - ld hl, wTopMenuItemY - ld a, 3 - ld [hli], a ; top menu item Y - xor a - ld [hli], a ; top menu item X - inc a - ld [wMenuWatchMovingOutOfBounds], a - inc hl - inc hl - ld a, 6 - ld [hli], a ; max menu item ID - ld [hl], D_LEFT | D_RIGHT | B_BUTTON | A_BUTTON - call HandlePokedexListMenu - jr c, .goToSideMenu ; if the player chose a pokemon from the list -.exitPokedex - xor a - ld [wMenuWatchMovingOutOfBounds], a - ld [wCurrentMenuItem], a - ld [wLastMenuItem], a - ld [hJoy7], a - ld [wWastedByteCD3A], a - ld [wOverrideSimulatedJoypadStatesMask], a - pop af - ld [wListScrollOffset], a - call GBPalWhiteOutWithDelay3 - call RunDefaultPaletteCommand - jp ReloadMapData -.goToSideMenu - call HandlePokedexSideMenu - dec b - jr z, .exitPokedex ; if the player chose Quit - dec b - jr z, .doPokemonListMenu ; if pokemon not seen or player pressed B button - jp .setUpGraphics ; if pokemon data or area was shown - -; handles the menu on the lower right in the pokedex screen -; OUTPUT: -; b = reason for exiting menu -; 00: showed pokemon data or area -; 01: the player chose Quit -; 02: the pokemon has not been seen yet or the player pressed the B button -HandlePokedexSideMenu: - call PlaceUnfilledArrowMenuCursor - ld a, [wCurrentMenuItem] - push af - ld b, a - ld a, [wLastMenuItem] - push af - ld a, [wListScrollOffset] - push af - add b - inc a - ld [wd11e], a - ld a, [wd11e] - push af - ld a, [wDexMaxSeenMon] - push af ; this doesn't need to be preserved - ld hl, wPokedexSeen - call IsPokemonBitSet - ld b, 2 - jr z, .exitSideMenu - call PokedexToIndex - ld hl, wTopMenuItemY - ld a, 10 - ld [hli], a ; top menu item Y - ld a, 15 - ld [hli], a ; top menu item X - xor a - ld [hli], a ; current menu item ID - inc hl - ld a, 3 - ld [hli], a ; max menu item ID - ;ld a, A_BUTTON | B_BUTTON - ld [hli], a ; menu watched keys (A button and B button) - xor a - ld [hli], a ; old menu item ID - ld [wMenuWatchMovingOutOfBounds], a -.handleMenuInput - call HandleMenuInput - bit 1, a ; was the B button pressed? - ld b, 2 - jr nz, .buttonBPressed - ld a, [wCurrentMenuItem] - and a - jr z, .choseData - dec a - jr z, .choseCry - dec a - jr z, .choseArea -.choseQuit - ld b, 1 -.exitSideMenu - pop af - ld [wDexMaxSeenMon], a - pop af - ld [wd11e], a - pop af - ld [wListScrollOffset], a - pop af - ld [wLastMenuItem], a - pop af - ld [wCurrentMenuItem], a - push bc - coord hl, 0, 3 - ld de, 20 - lb bc, " ", 13 - call DrawTileLine ; cover up the menu cursor in the pokemon list - pop bc - ret - -.buttonBPressed - push bc - coord hl, 15, 10 - ld de, 20 - lb bc, " ", 7 - call DrawTileLine ; cover up the menu cursor in the side menu - pop bc - jr .exitSideMenu - -.choseData - call ShowPokedexDataInternal - ld b, 0 - jr .exitSideMenu - -; play pokemon cry -.choseCry - ld a, [wd11e] - call GetCryData - call PlaySound - jr .handleMenuInput - -.choseArea - predef LoadTownMap_Nest ; display pokemon areas - ld b, 0 - jr .exitSideMenu - -; handles the list of pokemon on the left of the pokedex screen -; sets carry flag if player presses A, unsets carry flag if player presses B -HandlePokedexListMenu: - xor a - ld [H_AUTOBGTRANSFERENABLED], a -; draw the horizontal line separating the seen and owned amounts from the menu - coord hl, 15, 8 - ld a, "─" - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hli], a - coord hl, 14, 0 - ld [hl], $71 ; vertical line tile - coord hl, 14, 1 - call DrawPokedexVerticalLine - coord hl, 14, 9 - call DrawPokedexVerticalLine - ld hl, wPokedexSeen - ld b, wPokedexSeenEnd - wPokedexSeen - call CountSetBits - ld de, wNumSetBits - coord hl, 16, 3 - lb bc, 1, 3 - call PrintNumber ; print number of seen pokemon - ld hl, wPokedexOwned - ld b, wPokedexOwnedEnd - wPokedexOwned - call CountSetBits - ld de, wNumSetBits - coord hl, 16, 6 - lb bc, 1, 3 - call PrintNumber ; print number of owned pokemon - coord hl, 16, 2 - ld de, PokedexSeenText - call PlaceString - coord hl, 16, 5 - ld de, PokedexOwnText - call PlaceString - coord hl, 1, 1 - ld de, PokedexContentsText - call PlaceString - coord hl, 16, 10 - ld de, PokedexMenuItemsText - call PlaceString -; find the highest pokedex number among the pokemon the player has seen - ld hl, wPokedexSeenEnd - 1 - ld b, (wPokedexSeenEnd - wPokedexSeen) * 8 + 1 -.maxSeenPokemonLoop - ld a, [hld] - ld c, 8 -.maxSeenPokemonInnerLoop - dec b - sla a - jr c, .storeMaxSeenPokemon - dec c - jr nz, .maxSeenPokemonInnerLoop - jr .maxSeenPokemonLoop - -.storeMaxSeenPokemon - ld a, b - ld [wDexMaxSeenMon], a -.loop - xor a - ld [H_AUTOBGTRANSFERENABLED], a - coord hl, 4, 2 - lb bc, 14, 10 - call ClearScreenArea - coord hl, 1, 3 - ld a, [wListScrollOffset] - ld [wd11e], a - ld d, 7 - ld a, [wDexMaxSeenMon] - cp 7 - jr nc, .printPokemonLoop - ld d, a - dec a - ld [wMaxMenuItem], a -; loop to print pokemon pokedex numbers and names -; if the player has owned the pokemon, it puts a pokeball beside the name -.printPokemonLoop - ld a, [wd11e] - inc a - ld [wd11e], a - push af - push de - push hl - ld de, -SCREEN_WIDTH - add hl, de - ld de, wd11e - lb bc, LEADING_ZEROES | 1, 3 - call PrintNumber ; print the pokedex number - ld de, SCREEN_WIDTH - add hl, de - dec hl - push hl - ld hl, wPokedexOwned - call IsPokemonBitSet - pop hl - ld a, " " - jr z, .writeTile - ld a, $72 ; pokeball tile -.writeTile - ld [hl], a ; put a pokeball next to pokemon that the player has owned - push hl - ld hl, wPokedexSeen - call IsPokemonBitSet - jr nz, .getPokemonName ; if the player has seen the pokemon - ld de, .dashedLine ; print a dashed line in place of the name if the player hasn't seen the pokemon - jr .skipGettingName -.dashedLine ; for unseen pokemon in the list - db "----------@" -.getPokemonName - call PokedexToIndex - call GetMonName -.skipGettingName - pop hl - inc hl - call PlaceString - pop hl - ld bc, 2 * SCREEN_WIDTH - add hl, bc - pop de - pop af - ld [wd11e], a - dec d - jr nz, .printPokemonLoop - ld a, 01 - ld [H_AUTOBGTRANSFERENABLED], a - call Delay3 - call GBPalNormal - call HandleMenuInput - bit 1, a ; was the B button pressed? - jp nz, .buttonBPressed -.checkIfUpPressed - bit 6, a ; was Up pressed? - jr z, .checkIfDownPressed -.upPressed ; scroll up one row - ld a, [wListScrollOffset] - and a - jp z, .loop - dec a - ld [wListScrollOffset], a - jp .loop -.checkIfDownPressed - bit 7, a ; was Down pressed? - jr z, .checkIfRightPressed -.downPressed ; scroll down one row - ld a, [wDexMaxSeenMon] - cp 7 - jp c, .loop ; can't if the list is shorter than 7 - sub 7 - ld b, a - ld a, [wListScrollOffset] - cp b - jp z, .loop - inc a - ld [wListScrollOffset], a - jp .loop -.checkIfRightPressed - bit 4, a ; was Right pressed? - jr z, .checkIfLeftPressed -.rightPressed ; scroll down 7 rows - ld a, [wDexMaxSeenMon] - cp 7 - jp c, .loop ; can't if the list is shorter than 7 - sub 6 - ld b, a - ld a, [wListScrollOffset] - add 7 - ld [wListScrollOffset], a - cp b - jp c, .loop - dec b - ld a, b - ld [wListScrollOffset], a - jp .loop -.checkIfLeftPressed ; scroll up 7 rows - bit 5, a ; was Left pressed? - jr z, .buttonAPressed -.leftPressed - ld a, [wListScrollOffset] - sub 7 - ld [wListScrollOffset], a - jp nc, .loop - xor a - ld [wListScrollOffset], a - jp .loop -.buttonAPressed - scf - ret -.buttonBPressed - and a - ret - -DrawPokedexVerticalLine: - ld c, 9 ; height of line - ld de, SCREEN_WIDTH - ld a, $71 ; vertical line tile -.loop - ld [hl], a - add hl, de - xor 1 ; toggle between vertical line tile and box tile - dec c - jr nz, .loop - ret - -PokedexSeenText: - db "SEEN@" - -PokedexOwnText: - db "OWN@" - -PokedexContentsText: - db "CONTENTS@" - -PokedexMenuItemsText: - db "DATA" - next "CRY" - next "AREA" - next "QUIT@" - -; tests if a pokemon's bit is set in the seen or owned pokemon bit fields -; INPUT: -; [wd11e] = pokedex number -; hl = address of bit field -IsPokemonBitSet: - ld a, [wd11e] - dec a - ld c, a - ld b, FLAG_TEST - predef FlagActionPredef - ld a, c - and a - ret - -; function to display pokedex data from outside the pokedex -ShowPokedexData: - call GBPalWhiteOutWithDelay3 - call ClearScreen - call UpdateSprites - callab LoadPokedexTilePatterns ; load pokedex tiles - -; function to display pokedex data from inside the pokedex -ShowPokedexDataInternal: - ld hl, wd72c - set 1, [hl] - ld a, $33 ; 3/7 volume - ld [rNR50], a - call GBPalWhiteOut ; zero all palettes - call ClearScreen - ld a, [wd11e] ; pokemon ID - ld [wcf91], a - push af - ld b, SET_PAL_POKEDEX - call RunPaletteCommand - pop af - ld [wd11e], a - ld a, [hTilesetType] - push af - xor a - ld [hTilesetType], a - - coord hl, 0, 0 - ld de, 1 - lb bc, $64, SCREEN_WIDTH - call DrawTileLine ; draw top border - - coord hl, 0, 17 - ld b, $6f - call DrawTileLine ; draw bottom border - - coord hl, 0, 1 - ld de, 20 - lb bc, $66, $10 - call DrawTileLine ; draw left border - - coord hl, 19, 1 - ld b, $67 - call DrawTileLine ; draw right border - - ld a, $63 ; upper left corner tile - Coorda 0, 0 - ld a, $65 ; upper right corner tile - Coorda 19, 0 - ld a, $6c ; lower left corner tile - Coorda 0, 17 - ld a, $6e ; lower right corner tile - Coorda 19, 17 - - coord hl, 0, 9 - ld de, PokedexDataDividerLine - call PlaceString ; draw horizontal divider line - - coord hl, 9, 6 - ld de, HeightWeightText - call PlaceString - - call GetMonName - coord hl, 9, 2 - call PlaceString - - ld hl, PokedexEntryPointers - ld a, [wd11e] - dec a - ld e, a - ld d, 0 - add hl, de - add hl, de - ld a, [hli] - ld e, a - ld d, [hl] ; de = address of pokedex entry - - coord hl, 9, 4 - call PlaceString ; print species name - - ld h, b - ld l, c - push de - ld a, [wd11e] - push af - call IndexToPokedex - - coord hl, 2, 8 - ld a, "№" - ld [hli], a - ld a, "⠄" - ld [hli], a - ld de, wd11e - lb bc, LEADING_ZEROES | 1, 3 - call PrintNumber ; print pokedex number - - ld hl, wPokedexOwned - call IsPokemonBitSet - pop af - ld [wd11e], a - ld a, [wcf91] - ld [wd0b5], a - pop de - - push af - push bc - push de - push hl - - call Delay3 - call GBPalNormal - call GetMonHeader ; load pokemon picture location - coord hl, 1, 1 - call LoadFlippedFrontSpriteByMonIndex ; draw pokemon picture - ld a, [wcf91] - call PlayCry ; play pokemon cry - - pop hl - pop de - pop bc - pop af - - ld a, c - and a - jp z, .waitForButtonPress ; if the pokemon has not been owned, don't print the height, weight, or description - inc de ; de = address of feet (height) - ld a, [de] ; reads feet, but a is overwritten without being used - coord hl, 12, 6 - lb bc, 1, 2 - call PrintNumber ; print feet (height) - ld a, $60 ; feet symbol tile (one tick) - ld [hl], a - inc de - inc de ; de = address of inches (height) - coord hl, 15, 6 - lb bc, LEADING_ZEROES | 1, 2 - call PrintNumber ; print inches (height) - ld a, $61 ; inches symbol tile (two ticks) - ld [hl], a -; now print the weight (note that weight is stored in tenths of pounds internally) - inc de - inc de - inc de ; de = address of upper byte of weight - push de -; put weight in big-endian order at hDexWeight - ld hl, hDexWeight - ld a, [hl] ; save existing value of [hDexWeight] - push af - ld a, [de] ; a = upper byte of weight - ld [hli], a ; store upper byte of weight in [hDexWeight] - ld a, [hl] ; save existing value of [hDexWeight + 1] - push af - dec de - ld a, [de] ; a = lower byte of weight - ld [hl], a ; store lower byte of weight in [hDexWeight + 1] - ld de, hDexWeight - coord hl, 11, 8 - lb bc, 2, 5 ; 2 bytes, 5 digits - call PrintNumber ; print weight - coord hl, 14, 8 - ld a, [hDexWeight + 1] - sub 10 - ld a, [hDexWeight] - sbc 0 - jr nc, .next - ld [hl], "0" ; if the weight is less than 10, put a 0 before the decimal point -.next - inc hl - ld a, [hli] - ld [hld], a ; make space for the decimal point by moving the last digit forward one tile - ld [hl], "⠄" ; decimal point tile - pop af - ld [hDexWeight + 1], a ; restore original value of [hDexWeight + 1] - pop af - ld [hDexWeight], a ; restore original value of [hDexWeight] - pop hl - inc hl ; hl = address of pokedex description text - coord bc, 1, 11 - ld a, 2 - ld [$fff4], a - call TextCommandProcessor ; print pokedex description text - xor a - ld [$fff4], a -.waitForButtonPress - call JoypadLowSensitivity - ld a, [hJoy5] - and A_BUTTON | B_BUTTON - jr z, .waitForButtonPress - pop af - ld [hTilesetType], a - call GBPalWhiteOut - call ClearScreen - call RunDefaultPaletteCommand - call LoadTextBoxTilePatterns - call GBPalNormal - ld hl, wd72c - res 1, [hl] - ld a, $77 ; max volume - ld [rNR50], a - ret - -HeightWeightText: - db "HT ?",$60,"??",$61 - next "WT ???lb@" - -; XXX does anything point to this? -PokeText: - db "#@" - -; horizontal line that divides the pokedex text description from the rest of the data -PokedexDataDividerLine: - db $68,$69,$6B,$69,$6B - db $69,$6B,$69,$6B,$6B - db $6B,$6B,$69,$6B,$69 - db $6B,$69,$6B,$69,$6A - db "@" - -; draws a line of tiles -; INPUT: -; b = tile ID -; c = number of tile ID's to write -; de = amount to destination address after each tile (1 for horizontal, 20 for vertical) -; hl = destination address -DrawTileLine: - push bc - push de -.loop - ld [hl], b - add hl, de - dec c - jr nz, .loop - pop de - pop bc - ret - -INCLUDE "data/pokedex_entries.asm" - -PokedexToIndex: - ; converts the Pokédex number at wd11e to an index - push bc - push hl - ld a, [wd11e] - ld b, a - ld c, 0 - ld hl, PokedexOrder - -.loop ; go through the list until we find an entry with a matching dex number - inc c - ld a, [hli] - cp b - jr nz, .loop - - ld a, c - ld [wd11e], a - pop hl - pop bc - ret - -IndexToPokedex: - ; converts the index number at wd11e to a Pokédex number - push bc - push hl - ld a, [wd11e] - dec a - ld hl, PokedexOrder - ld b, 0 - ld c, a - add hl, bc - ld a, [hl] - ld [wd11e], a - pop hl - pop bc - ret - -INCLUDE "data/pokedex_order.asm" diff --git a/engine/menu/prize_menu.asm b/engine/menu/prize_menu.asm deleted file mode 100755 index 5e08bb8f..00000000 --- a/engine/menu/prize_menu.asm +++ /dev/null @@ -1,306 +0,0 @@ -CeladonPrizeMenu:: - ld b, COIN_CASE - call IsItemInBag - jr nz, .havingCoinCase - ld hl, RequireCoinCaseTextPtr - jp PrintText -.havingCoinCase - ld hl, wd730 - set 6, [hl] ; disable letter-printing delay - ld hl, ExchangeCoinsForPrizesTextPtr - call PrintText -; the following are the menu settings - xor a - ld [wCurrentMenuItem], a - ld [wLastMenuItem], a - ld a, A_BUTTON | B_BUTTON - ld [wMenuWatchedKeys], a - ld a, $03 - ld [wMaxMenuItem], a - ld a, $04 - ld [wTopMenuItemY], a - ld a, $01 - ld [wTopMenuItemX], a - call PrintPrizePrice - coord hl, 0, 2 - ld b, 8 - ld c, 16 - call TextBoxBorder - call GetPrizeMenuId - call UpdateSprites - ld hl, WhichPrizeTextPtr - call PrintText - call HandleMenuInput ; menu choice handler - bit 1, a ; keypress = B (Cancel) - jr nz, .noChoice - ld a, [wCurrentMenuItem] - cp 3 ; "NO,THANKS" choice - jr z, .noChoice - call HandlePrizeChoice -.noChoice - ld hl, wd730 - res 6, [hl] - ret - -RequireCoinCaseTextPtr: - TX_FAR _RequireCoinCaseText - TX_WAIT - db "@" - -ExchangeCoinsForPrizesTextPtr: - TX_FAR _ExchangeCoinsForPrizesText - db "@" - -WhichPrizeTextPtr: - TX_FAR _WhichPrizeText - db "@" - -GetPrizeMenuId: -; determine which one among the three -; prize-texts has been selected -; using the text ID (stored in [hSpriteIndexOrTextID]) -; load the three prizes at wd13d-wd13f -; load the three prices at wd141-wd146 -; display the three prizes' names -; (distinguishing between Pokemon names -; and Items (specifically TMs) names) - ld a, [hSpriteIndexOrTextID] - sub 3 ; prize-texts' id are 3, 4 and 5 - ld [wWhichPrizeWindow], a ; prize-texts' id (relative, i.e. 0, 1 or 2) - add a - add a - ld d, 0 - ld e, a - ld hl, PrizeDifferentMenuPtrs - add hl, de - ld a, [hli] - ld d, [hl] - ld e, a - inc hl - push hl - ld hl, wPrize1 - call CopyString - pop hl - ld a, [hli] - ld h, [hl] - ld l, a - ld de, wPrize1Price - ld bc, 6 - call CopyData - ld a, [wWhichPrizeWindow] - cp 2 ;is TM_menu? - jr nz, .putMonName - ld a, [wPrize1] - ld [wd11e], a - call GetItemName - coord hl, 2, 4 - call PlaceString - ld a, [wPrize2] - ld [wd11e], a - call GetItemName - coord hl, 2, 6 - call PlaceString - ld a, [wPrize3] - ld [wd11e], a - call GetItemName - coord hl, 2, 8 - call PlaceString - jr .putNoThanksText -.putMonName - ld a, [wPrize1] - ld [wd11e], a - call GetMonName - coord hl, 2, 4 - call PlaceString - ld a, [wPrize2] - ld [wd11e], a - call GetMonName - coord hl, 2, 6 - call PlaceString - ld a, [wPrize3] - ld [wd11e], a - call GetMonName - coord hl, 2, 8 - call PlaceString -.putNoThanksText - coord hl, 2, 10 - ld de, NoThanksText - call PlaceString -; put prices on the right side of the textbox - ld de, wPrize1Price - coord hl, 13, 5 -; reg. c: -; [low nybble] number of bytes -; [bit 765 = %100] space-padding (not zero-padding) - ld c, (1 << 7 | 2) -; Function $15CD displays BCD value (same routine -; used by text-command $02) - call PrintBCDNumber - ld de, wPrize2Price - coord hl, 13, 7 - ld c, (1 << 7 | 2) - call PrintBCDNumber - ld de, wPrize3Price - coord hl, 13, 9 - ld c, (1 << 7 | 2) - jp PrintBCDNumber - -INCLUDE "data/prizes.asm" - -PrintPrizePrice: - coord hl, 11, 0 - ld b, 1 - ld c, 7 - call TextBoxBorder - call UpdateSprites - coord hl, 12, 0 - ld de, .CoinString - call PlaceString - coord hl, 13, 1 - ld de, .SixSpacesString - call PlaceString - coord hl, 13, 1 - ld de, wPlayerCoins - ld c, %10000010 - call PrintBCDNumber - ret - -.CoinString: - db "COIN@" - -.SixSpacesString: - db " @" - -LoadCoinsToSubtract: - ld a, [wWhichPrize] - add a - ld d, 0 - ld e, a - ld hl, wPrize1Price - add hl, de ; get selected prize's price - xor a - ld [hUnusedCoinsByte], a - ld a, [hli] - ld [hCoins], a - ld a, [hl] - ld [hCoins + 1], a - ret - -HandlePrizeChoice: - ld a, [wCurrentMenuItem] - ld [wWhichPrize], a - ld d, 0 - ld e, a - ld hl, wPrize1 - add hl, de - ld a, [hl] - ld [wd11e], a - ld a, [wWhichPrizeWindow] - cp 2 ; is prize a TM? - jr nz, .getMonName - call GetItemName - jr .givePrize -.getMonName - call GetMonName -.givePrize - ld hl, SoYouWantPrizeTextPtr - call PrintText - call YesNoChoice - ld a, [wCurrentMenuItem] ; yes/no answer (Y=0, N=1) - and a - jr nz, .printOhFineThen - call LoadCoinsToSubtract - call HasEnoughCoins - jr c, .notEnoughCoins - ld a, [wWhichPrizeWindow] - cp $02 - jr nz, .giveMon - ld a, [wd11e] - ld b, a - ld a, 1 - ld c, a - call GiveItem - jr nc, .bagFull - jr .subtractCoins -.giveMon - ld a, [wd11e] - ld [wcf91], a - push af - call GetPrizeMonLevel - ld c, a - pop af - ld b, a - call GivePokemon - -; If either the party or box was full, wait after displaying message. - push af - ld a, [wAddedToParty] - and a - call z, WaitForTextScrollButtonPress - pop af - -; If the mon couldn't be given to the player (because both the party and box -; were full), return without subtracting coins. - ret nc - -.subtractCoins - call LoadCoinsToSubtract - ld hl, hCoins + 1 - ld de, wPlayerCoins + 1 - ld c, $02 ; how many bytes - predef SubBCDPredef - jp PrintPrizePrice -.bagFull - ld hl, PrizeRoomBagIsFullTextPtr - jp PrintText -.notEnoughCoins - ld hl, SorryNeedMoreCoinsText - jp PrintText -.printOhFineThen - ld hl, OhFineThenTextPtr - jp PrintText - -UnknownPrizeData: -; XXX what's this? - db $00,$01,$00,$01,$00,$01,$00,$00,$01 - -HereYouGoTextPtr: - TX_FAR _HereYouGoText - TX_WAIT - db "@" - -SoYouWantPrizeTextPtr: - TX_FAR _SoYouWantPrizeText - db "@" - -SorryNeedMoreCoinsText: - TX_FAR _SorryNeedMoreCoinsText - TX_WAIT - db "@" - -PrizeRoomBagIsFullTextPtr: - TX_FAR _OopsYouDontHaveEnoughRoomText - TX_WAIT - db "@" - -OhFineThenTextPtr: - TX_FAR _OhFineThenText - TX_WAIT - db "@" - -GetPrizeMonLevel: - ld a, [wcf91] - ld b, a - ld hl, PrizeMonLevelDictionary -.loop - ld a, [hli] - cp b - jr z, .matchFound - inc hl - jr .loop -.matchFound - ld a, [hl] - ld [wCurEnemyLVL], a - ret - -INCLUDE "data/prize_mon_levels.asm" diff --git a/engine/menu/start_menu.asm b/engine/menu/start_menu.asm deleted file mode 100755 index eb4b4f2d..00000000 --- a/engine/menu/start_menu.asm +++ /dev/null @@ -1,85 +0,0 @@ -DisplayStartMenu:: - ld a, BANK(StartMenu_Pokedex) - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - ld a, [wWalkBikeSurfState] ; walking/biking/surfing - ld [wWalkBikeSurfStateCopy], a - ld a, SFX_START_MENU - call PlaySound - -RedisplayStartMenu:: - callba DrawStartMenu - callba PrintSafariZoneSteps ; print Safari Zone info, if in Safari Zone - call UpdateSprites -.loop - call HandleMenuInput - ld b, a -.checkIfUpPressed - bit 6, a ; was Up pressed? - jr z, .checkIfDownPressed - ld a, [wCurrentMenuItem] ; menu selection - and a - jr nz, .loop - ld a, [wLastMenuItem] - and a - jr nz, .loop -; if the player pressed tried to go past the top item, wrap around to the bottom - CheckEvent EVENT_GOT_POKEDEX - ld a, 6 ; there are 7 menu items with the pokedex, so the max index is 6 - jr nz, .wrapMenuItemId - dec a ; there are only 6 menu items without the pokedex -.wrapMenuItemId - ld [wCurrentMenuItem], a - call EraseMenuCursor - jr .loop -.checkIfDownPressed - bit 7, a - jr z, .buttonPressed -; if the player pressed tried to go past the bottom item, wrap around to the top - CheckEvent EVENT_GOT_POKEDEX - ld a, [wCurrentMenuItem] - ld c, 7 ; there are 7 menu items with the pokedex - jr nz, .checkIfPastBottom - dec c ; there are only 6 menu items without the pokedex -.checkIfPastBottom - cp c - jr nz, .loop -; the player went past the bottom, so wrap to the top - xor a - ld [wCurrentMenuItem], a - call EraseMenuCursor - jr .loop -.buttonPressed ; A, B, or Start button pressed - call PlaceUnfilledArrowMenuCursor - ld a, [wCurrentMenuItem] - ld [wBattleAndStartSavedMenuItem], a ; save current menu selection - ld a, b - and %00001010 ; was the Start button or B button pressed? - jp nz, CloseStartMenu - call SaveScreenTilesToBuffer2 ; copy background from wTileMap to wTileMapBackup2 - CheckEvent EVENT_GOT_POKEDEX - ld a, [wCurrentMenuItem] - jr nz, .displayMenuItem - inc a ; adjust position to account for missing pokedex menu item -.displayMenuItem - cp 0 - jp z, StartMenu_Pokedex - cp 1 - jp z, StartMenu_Pokemon - cp 2 - jp z, StartMenu_Item - cp 3 - jp z, StartMenu_TrainerInfo - cp 4 - jp z, StartMenu_SaveReset - cp 5 - jp z, StartMenu_Option - -; EXIT falls through to here -CloseStartMenu:: - call Joypad - ld a, [hJoyPressed] - bit 0, a ; was A button newly pressed? - jr nz, CloseStartMenu - call LoadTextBoxTilePatterns - jp CloseTextDisplay diff --git a/engine/menu/start_sub_menus.asm b/engine/menu/start_sub_menus.asm deleted file mode 100755 index b81769a2..00000000 --- a/engine/menu/start_sub_menus.asm +++ /dev/null @@ -1,808 +0,0 @@ -StartMenu_Pokedex:: - predef ShowPokedexMenu - call LoadScreenTilesFromBuffer2 ; restore saved screen - call Delay3 - call LoadGBPal - call UpdateSprites - jp RedisplayStartMenu - -StartMenu_Pokemon:: - ld a, [wPartyCount] - and a - jp z, RedisplayStartMenu - xor a - ld [wMenuItemToSwap], a - ld [wPartyMenuTypeOrMessageID], a - ld [wUpdateSpritesEnabled], a - call DisplayPartyMenu - jr .checkIfPokemonChosen -.loop - xor a - ld [wMenuItemToSwap], a - ld [wPartyMenuTypeOrMessageID], a - call GoBackToPartyMenu -.checkIfPokemonChosen - jr nc, .chosePokemon -.exitMenu - call GBPalWhiteOutWithDelay3 - call RestoreScreenTilesAndReloadTilePatterns - call LoadGBPal - jp RedisplayStartMenu -.chosePokemon - call SaveScreenTilesToBuffer1 - ld a, FIELD_MOVE_MON_MENU - ld [wTextBoxID], a - call DisplayTextBoxID ; display pokemon menu options - ld hl, wFieldMoves - lb bc, 2, 12 ; max menu item ID, top menu item Y - ld e, 5 -.adjustMenuVariablesLoop - dec e - jr z, .storeMenuVariables - ld a, [hli] - and a ; end of field moves? - jr z, .storeMenuVariables - inc b - dec c - dec c - jr .adjustMenuVariablesLoop -.storeMenuVariables - ld hl, wTopMenuItemY - ld a, c - ld [hli], a ; top menu item Y - ld a, [hFieldMoveMonMenuTopMenuItemX] - ld [hli], a ; top menu item X - xor a - ld [hli], a ; current menu item ID - inc hl - ld a, b - ld [hli], a ; max menu item ID - ld a, A_BUTTON | B_BUTTON - ld [hli], a ; menu watched keys - xor a - ld [hl], a - call HandleMenuInput - push af - call LoadScreenTilesFromBuffer1 ; restore saved screen - pop af - bit 1, a ; was the B button pressed? - jp nz, .loop -; if the B button wasn't pressed - ld a, [wMaxMenuItem] - ld b, a - ld a, [wCurrentMenuItem] ; menu selection - cp b - jp z, .exitMenu ; if the player chose Cancel - dec b - cp b - jr z, .choseSwitch - dec b - cp b - jp z, .choseStats - ld c, a - ld b, 0 - ld hl, wFieldMoves - add hl, bc - jp .choseOutOfBattleMove -.choseSwitch - ld a, [wPartyCount] - cp 2 ; is there more than one pokemon in the party? - jp c, StartMenu_Pokemon ; if not, no switching - call SwitchPartyMon_InitVarOrSwapData ; init [wMenuItemToSwap] - ld a, SWAP_MONS_PARTY_MENU - ld [wPartyMenuTypeOrMessageID], a - call GoBackToPartyMenu - jp .checkIfPokemonChosen -.choseStats - call ClearSprites - xor a ; PLAYER_PARTY_DATA - ld [wMonDataLocation], a - predef StatusScreen - predef StatusScreen2 - call ReloadMapData - jp StartMenu_Pokemon -.choseOutOfBattleMove - push hl - ld a, [wWhichPokemon] - ld hl, wPartyMonNicks - call GetPartyMonName - pop hl - ld a, [hl] - dec a - add a - ld b, 0 - ld c, a - ld hl, .outOfBattleMovePointers - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [wObtainedBadges] ; badges obtained - jp hl -.outOfBattleMovePointers - dw .cut - dw .fly - dw .surf - dw .surf - dw .strength - dw .flash - dw .dig - dw .teleport - dw .softboiled -.fly - bit 2, a ; does the player have the Thunder Badge? - jp z, .newBadgeRequired - call CheckIfInOutsideMap - jr z, .canFly - ld a, [wWhichPokemon] - ld hl, wPartyMonNicks - call GetPartyMonName - ld hl, .cannotFlyHereText - call PrintText - jp .loop -.canFly - call ChooseFlyDestination - ld a, [wd732] - bit 3, a ; did the player decide to fly? - jp nz, .goBackToMap - call LoadFontTilePatterns - ld hl, wd72e - set 1, [hl] - jp StartMenu_Pokemon -.cut - bit 1, a ; does the player have the Cascade Badge? - jp z, .newBadgeRequired - predef UsedCut - ld a, [wActionResultOrTookBattleTurn] - and a - jp z, .loop - jp CloseTextDisplay -.surf - bit 4, a ; does the player have the Soul Badge? - jp z, .newBadgeRequired - callba IsSurfingAllowed - ld hl, wd728 - bit 1, [hl] - res 1, [hl] - jp z, .loop - ld a, SURFBOARD - ld [wcf91], a - ld [wPseudoItemID], a - call UseItem - ld a, [wActionResultOrTookBattleTurn] - and a - jp z, .loop - call GBPalWhiteOutWithDelay3 - jp .goBackToMap -.strength - bit 3, a ; does the player have the Rainbow Badge? - jp z, .newBadgeRequired - predef PrintStrengthTxt - call GBPalWhiteOutWithDelay3 - jp .goBackToMap -.flash - bit 0, a ; does the player have the Boulder Badge? - jp z, .newBadgeRequired - xor a - ld [wMapPalOffset], a - ld hl, .flashLightsAreaText - call PrintText - call GBPalWhiteOutWithDelay3 - jp .goBackToMap -.flashLightsAreaText - TX_FAR _FlashLightsAreaText - db "@" -.dig - ld a, ESCAPE_ROPE - ld [wcf91], a - ld [wPseudoItemID], a - call UseItem - ld a, [wActionResultOrTookBattleTurn] - and a - jp z, .loop - call GBPalWhiteOutWithDelay3 - jp .goBackToMap -.teleport - call CheckIfInOutsideMap - jr z, .canTeleport - ld a, [wWhichPokemon] - ld hl, wPartyMonNicks - call GetPartyMonName - ld hl, .cannotUseTeleportNowText - call PrintText - jp .loop -.canTeleport - ld hl, .warpToLastPokemonCenterText - call PrintText - ld hl, wd732 - set 3, [hl] - set 6, [hl] - ld hl, wd72e - set 1, [hl] - res 4, [hl] - ld c, 60 - call DelayFrames - call GBPalWhiteOutWithDelay3 - jp .goBackToMap -.warpToLastPokemonCenterText - TX_FAR _WarpToLastPokemonCenterText - db "@" -.cannotUseTeleportNowText - TX_FAR _CannotUseTeleportNowText - db "@" -.cannotFlyHereText - TX_FAR _CannotFlyHereText - db "@" -.softboiled - ld hl, wPartyMon1MaxHP - ld a, [wWhichPokemon] - ld bc, wPartyMon2 - wPartyMon1 - call AddNTimes - ld a, [hli] - ld [H_DIVIDEND], a - ld a, [hl] - ld [H_DIVIDEND + 1], a - ld a, 5 - ld [H_DIVISOR], a - ld b, 2 ; number of bytes - call Divide - ld bc, wPartyMon1HP - wPartyMon1MaxHP - add hl, bc - ld a, [hld] - ld b, a - ld a, [H_QUOTIENT + 3] - sub b - ld b, [hl] - ld a, [H_QUOTIENT + 2] - sbc b - jp nc, .notHealthyEnough - ld a, [wPartyAndBillsPCSavedMenuItem] - push af - ld a, POTION - ld [wcf91], a - ld [wPseudoItemID], a - call UseItem - pop af - ld [wPartyAndBillsPCSavedMenuItem], a - jp .loop -.notHealthyEnough ; if current HP is less than 1/5 of max HP - ld hl, .notHealthyEnoughText - call PrintText - jp .loop -.notHealthyEnoughText - TX_FAR _NotHealthyEnoughText - db "@" -.goBackToMap - call RestoreScreenTilesAndReloadTilePatterns - jp CloseTextDisplay -.newBadgeRequired - ld hl, .newBadgeRequiredText - call PrintText - jp .loop -.newBadgeRequiredText - TX_FAR _NewBadgeRequiredText - db "@" - -; writes a blank tile to all possible menu cursor positions on the party menu -ErasePartyMenuCursors:: - coord hl, 0, 1 - ld bc, 2 * 20 ; menu cursor positions are 2 rows apart - ld a, 6 ; 6 menu cursor positions -.loop - ld [hl], " " - add hl, bc - dec a - jr nz, .loop - ret - -ItemMenuLoop: - call LoadScreenTilesFromBuffer2DisableBGTransfer ; restore saved screen - call RunDefaultPaletteCommand - -StartMenu_Item:: - ld a, [wLinkState] - dec a ; is the player in the Colosseum or Trade Centre? - jr nz, .notInCableClubRoom - ld hl, CannotUseItemsHereText - call PrintText - jr .exitMenu -.notInCableClubRoom - ld bc, wNumBagItems - ld hl, wListPointer - ld a, c - ld [hli], a - ld [hl], b ; store item bag pointer in wListPointer (for DisplayListMenuID) - xor a - ld [wPrintItemPrices], a - ld a, ITEMLISTMENU - ld [wListMenuID], a - ld a, [wBagSavedMenuItem] - ld [wCurrentMenuItem], a - call DisplayListMenuID - ld a, [wCurrentMenuItem] - ld [wBagSavedMenuItem], a - jr nc, .choseItem -.exitMenu - call LoadScreenTilesFromBuffer2 ; restore saved screen - call LoadTextBoxTilePatterns - call UpdateSprites - jp RedisplayStartMenu -.choseItem -; erase menu cursor (blank each tile in front of an item name) - ld a, " " - Coorda 5, 4 - Coorda 5, 6 - Coorda 5, 8 - Coorda 5, 10 - call PlaceUnfilledArrowMenuCursor - xor a - ld [wMenuItemToSwap], a - ld a, [wcf91] - cp BICYCLE - jp z, .useOrTossItem -.notBicycle1 - ld a, USE_TOSS_MENU_TEMPLATE - ld [wTextBoxID], a - call DisplayTextBoxID - ld hl, wTopMenuItemY - ld a, 11 - ld [hli], a ; top menu item Y - ld a, 14 - ld [hli], a ; top menu item X - xor a - ld [hli], a ; current menu item ID - inc hl - inc a ; a = 1 - ld [hli], a ; max menu item ID - ld a, A_BUTTON | B_BUTTON - ld [hli], a ; menu watched keys - xor a - ld [hl], a ; old menu item id - call HandleMenuInput - call PlaceUnfilledArrowMenuCursor - bit 1, a ; was the B button pressed? - jr z, .useOrTossItem - jp ItemMenuLoop -.useOrTossItem ; if the player made the choice to use or toss the item - ld a, [wcf91] - ld [wd11e], a - call GetItemName - call CopyStringToCF4B ; copy name to wcf4b - ld a, [wcf91] - cp BICYCLE - jr nz, .notBicycle2 - ld a, [wd732] - bit 5, a - jr z, .useItem_closeMenu - ld hl, CannotGetOffHereText - call PrintText - jp ItemMenuLoop -.notBicycle2 - ld a, [wCurrentMenuItem] - and a - jr nz, .tossItem -; use item - ld [wPseudoItemID], a ; a must be 0 due to above conditional jump - ld a, [wcf91] - cp HM_01 - jr nc, .useItem_partyMenu - ld hl, UsableItems_CloseMenu - ld de, 1 - call IsInArray - jr c, .useItem_closeMenu - ld a, [wcf91] - ld hl, UsableItems_PartyMenu - ld de, 1 - call IsInArray - jr c, .useItem_partyMenu - call UseItem - jp ItemMenuLoop -.useItem_closeMenu - xor a - ld [wPseudoItemID], a - call UseItem - ld a, [wActionResultOrTookBattleTurn] - and a - jp z, ItemMenuLoop - jp CloseStartMenu -.useItem_partyMenu - ld a, [wUpdateSpritesEnabled] - push af - call UseItem - ld a, [wActionResultOrTookBattleTurn] - cp $02 - jp z, .partyMenuNotDisplayed - call GBPalWhiteOutWithDelay3 - call RestoreScreenTilesAndReloadTilePatterns - pop af - ld [wUpdateSpritesEnabled], a - jp StartMenu_Item -.partyMenuNotDisplayed - pop af - ld [wUpdateSpritesEnabled], a - jp ItemMenuLoop -.tossItem - call IsKeyItem - ld a, [wIsKeyItem] - and a - jr nz, .skipAskingQuantity - ld a, [wcf91] - call IsItemHM - jr c, .skipAskingQuantity - call DisplayChooseQuantityMenu - inc a - jr z, .tossZeroItems -.skipAskingQuantity - ld hl, wNumBagItems - call TossItem -.tossZeroItems - jp ItemMenuLoop - -CannotUseItemsHereText: - TX_FAR _CannotUseItemsHereText - db "@" - -CannotGetOffHereText: - TX_FAR _CannotGetOffHereText - db "@" - -INCLUDE "data/party_items.asm" - -INCLUDE "data/overworld_items.asm" - -StartMenu_TrainerInfo:: - call GBPalWhiteOut - call ClearScreen - call UpdateSprites - ld a, [hTilesetType] - push af - xor a - ld [hTilesetType], a - call DrawTrainerInfo - predef DrawBadges ; draw badges - ld b, SET_PAL_TRAINER_CARD - call RunPaletteCommand - call GBPalNormal - call WaitForTextScrollButtonPress ; wait for button press - call GBPalWhiteOut - call LoadFontTilePatterns - call LoadScreenTilesFromBuffer2 ; restore saved screen - call RunDefaultPaletteCommand - call ReloadMapData - call LoadGBPal - pop af - ld [hTilesetType], a - jp RedisplayStartMenu - -; loads tile patterns and draws everything except for gym leader faces / badges -DrawTrainerInfo: - ld de, RedPicFront - lb bc, BANK(RedPicFront), $01 - predef DisplayPicCenteredOrUpperRight - call DisableLCD - coord hl, 0, 2 - ld a, " " - call TrainerInfo_DrawVerticalLine - coord hl, 1, 2 - call TrainerInfo_DrawVerticalLine - ld hl, vChars2 + $70 - ld de, vChars2 - ld bc, $70 * 4 - call CopyData - ld hl, TrainerInfoTextBoxTileGraphics ; trainer info text box tile patterns - ld de, vChars2 + $770 - ld bc, $0080 - push bc - call TrainerInfo_FarCopyData - ld hl, BlankLeaderNames - ld de, vChars2 + $600 - ld bc, $0170 - call TrainerInfo_FarCopyData - pop bc - ld hl, BadgeNumbersTileGraphics ; badge number tile patterns - ld de, vChars1 + $580 - call TrainerInfo_FarCopyData - ld hl, GymLeaderFaceAndBadgeTileGraphics ; gym leader face and badge tile patterns - ld de, vChars2 + $200 - ld bc, $0400 - ld a, $03 - call FarCopyData2 - ld hl, TextBoxGraphics - ld de, $00d0 - add hl, de ; hl = colon tile pattern - ld de, vChars1 + $560 - ld bc, $0010 - ld a, $04 - push bc - call FarCopyData2 - pop bc - ld hl, TrainerInfoTextBoxTileGraphics + $80 ; background tile pattern - ld de, vChars1 + $570 - call TrainerInfo_FarCopyData - call EnableLCD - ld hl, wTrainerInfoTextBoxWidthPlus1 - ld a, 18 + 1 - ld [hli], a - dec a - ld [hli], a - ld [hl], 1 - coord hl, 0, 0 - call TrainerInfo_DrawTextBox - ld hl, wTrainerInfoTextBoxWidthPlus1 - ld a, 16 + 1 - ld [hli], a - dec a - ld [hli], a - ld [hl], 3 - coord hl, 1, 10 - call TrainerInfo_DrawTextBox - coord hl, 0, 10 - ld a, $d7 - call TrainerInfo_DrawVerticalLine - coord hl, 19, 10 - call TrainerInfo_DrawVerticalLine - coord hl, 6, 9 - ld de, TrainerInfo_BadgesText - call PlaceString - coord hl, 2, 2 - ld de, TrainerInfo_NameMoneyTimeText - call PlaceString - coord hl, 7, 2 - ld de, wPlayerName - call PlaceString - coord hl, 8, 4 - ld de, wPlayerMoney - ld c, $e3 - call PrintBCDNumber - coord hl, 9, 6 - ld de, wPlayTimeHours ; hours - lb bc, LEFT_ALIGN | 1, 3 - call PrintNumber - ld [hl], $d6 ; colon tile ID - inc hl - ld de, wPlayTimeMinutes ; minutes - lb bc, LEADING_ZEROES | 1, 2 - jp PrintNumber - -TrainerInfo_FarCopyData: - ld a, BANK(TrainerInfoTextBoxTileGraphics) - jp FarCopyData2 - -TrainerInfo_NameMoneyTimeText: - db "NAME/" - next "MONEY/" - next "TIME/@" - -; $76 is a circle tile -TrainerInfo_BadgesText: - db $76,"BADGES",$76,"@" - -; draws a text box on the trainer info screen -; height is always 6 -; INPUT: -; hl = destination address -; [wTrainerInfoTextBoxWidthPlus1] = width -; [wTrainerInfoTextBoxWidth] = width - 1 -; [wTrainerInfoTextBoxNextRowOffset] = distance from the end of a text box row to the start of the next -TrainerInfo_DrawTextBox: - ld a, $79 ; upper left corner tile ID - lb de, $7a, $7b ; top edge and upper right corner tile ID's - call TrainerInfo_DrawHorizontalEdge ; draw top edge - call TrainerInfo_NextTextBoxRow - ld a, [wTrainerInfoTextBoxWidthPlus1] - ld e, a - ld d, 0 - ld c, 6 ; height of the text box -.loop - ld [hl], $7c ; left edge tile ID - add hl, de - ld [hl], $78 ; right edge tile ID - call TrainerInfo_NextTextBoxRow - dec c - jr nz, .loop - ld a, $7d ; lower left corner tile ID - lb de, $77, $7e ; bottom edge and lower right corner tile ID's - -TrainerInfo_DrawHorizontalEdge: - ld [hli], a ; place left corner tile - ld a, [wTrainerInfoTextBoxWidth] - ld c, a - ld a, d -.loop - ld [hli], a ; place edge tile - dec c - jr nz, .loop - ld a, e - ld [hl], a ; place right corner tile - ret - -TrainerInfo_NextTextBoxRow: - ld a, [wTrainerInfoTextBoxNextRowOffset] ; distance to the start of the next row -.loop - inc hl - dec a - jr nz, .loop - ret - -; draws a vertical line -; INPUT: -; hl = address of top tile in the line -; a = tile ID -TrainerInfo_DrawVerticalLine: - ld de, SCREEN_WIDTH - ld c, 8 -.loop - ld [hl], a - add hl, de - dec c - jr nz, .loop - ret - -StartMenu_SaveReset:: - ld a, [wd72e] - bit 6, a ; is the player using the link feature? - jp nz, Init - predef SaveSAV ; save the game - call LoadScreenTilesFromBuffer2 ; restore saved screen - jp HoldTextDisplayOpen - -StartMenu_Option:: - xor a - ld [H_AUTOBGTRANSFERENABLED], a - call ClearScreen - call UpdateSprites - callab DisplayOptionMenu - call LoadScreenTilesFromBuffer2 ; restore saved screen - call LoadTextBoxTilePatterns - call UpdateSprites - jp RedisplayStartMenu - -SwitchPartyMon:: - call SwitchPartyMon_InitVarOrSwapData ; swap data - ld a, [wSwappedMenuItem] - call SwitchPartyMon_ClearGfx - ld a, [wCurrentMenuItem] - call SwitchPartyMon_ClearGfx - jp RedrawPartyMenu_ - -SwitchPartyMon_ClearGfx: - push af - coord hl, 0, 0 - ld bc, SCREEN_WIDTH * 2 - call AddNTimes - ld c, SCREEN_WIDTH * 2 - ld a, " " -.clearMonBGLoop ; clear the mon's row in the party menu - ld [hli], a - dec c - jr nz, .clearMonBGLoop - pop af - ld hl, wOAMBuffer - ld bc, $10 - call AddNTimes - ld de, $4 - ld c, e -.clearMonOAMLoop - ld [hl], $a0 - add hl, de - dec c - jr nz, .clearMonOAMLoop - call WaitForSoundToFinish - ld a, SFX_SWAP - jp PlaySound - -SwitchPartyMon_InitVarOrSwapData: -; This is used to initialise [wMenuItemToSwap] and to actually swap the data. - ld a, [wMenuItemToSwap] - and a ; has [wMenuItemToSwap] been initialised yet? - jr nz, .pickedMonsToSwap -; If not, initialise [wMenuItemToSwap] so that it matches the current mon. - ld a, [wWhichPokemon] - inc a ; [wMenuItemToSwap] counts from 1 - ld [wMenuItemToSwap], a - ret -.pickedMonsToSwap - xor a - ld [wPartyMenuTypeOrMessageID], a - ld a, [wMenuItemToSwap] - dec a - ld b, a - ld a, [wCurrentMenuItem] - ld [wSwappedMenuItem], a - cp b ; swapping a mon with itself? - jr nz, .swappingDifferentMons -; can't swap a mon with itself - xor a - ld [wMenuItemToSwap], a - ld [wPartyMenuTypeOrMessageID], a - ret -.swappingDifferentMons - ld a, b - ld [wMenuItemToSwap], a - push hl - push de - ld hl, wPartySpecies - ld d, h - ld e, l - ld a, [wCurrentMenuItem] - add l - ld l, a - jr nc, .noCarry - inc h -.noCarry - ld a, [wMenuItemToSwap] - add e - ld e, a - jr nc, .noCarry2 - inc d -.noCarry2 - ld a, [hl] - ld [hSwapTemp], a - ld a, [de] - ld [hl], a - ld a, [hSwapTemp] - ld [de], a - ld hl, wPartyMons - ld bc, wPartyMon2 - wPartyMon1 - ld a, [wCurrentMenuItem] - call AddNTimes - push hl - ld de, wSwitchPartyMonTempBuffer - ld bc, wPartyMon2 - wPartyMon1 - call CopyData - ld hl, wPartyMons - ld bc, wPartyMon2 - wPartyMon1 - ld a, [wMenuItemToSwap] - call AddNTimes - pop de - push hl - ld bc, wPartyMon2 - wPartyMon1 - call CopyData - pop de - ld hl, wSwitchPartyMonTempBuffer - ld bc, wPartyMon2 - wPartyMon1 - call CopyData - ld hl, wPartyMonOT - ld a, [wCurrentMenuItem] - call SkipFixedLengthTextEntries - push hl - ld de, wSwitchPartyMonTempBuffer - ld bc, NAME_LENGTH - call CopyData - ld hl, wPartyMonOT - ld a, [wMenuItemToSwap] - call SkipFixedLengthTextEntries - pop de - push hl - ld bc, NAME_LENGTH - call CopyData - pop de - ld hl, wSwitchPartyMonTempBuffer - ld bc, NAME_LENGTH - call CopyData - ld hl, wPartyMonNicks - ld a, [wCurrentMenuItem] - call SkipFixedLengthTextEntries - push hl - ld de, wSwitchPartyMonTempBuffer - ld bc, NAME_LENGTH - call CopyData - ld hl, wPartyMonNicks - ld a, [wMenuItemToSwap] - call SkipFixedLengthTextEntries - pop de - push hl - ld bc, NAME_LENGTH - call CopyData - pop de - ld hl, wSwitchPartyMonTempBuffer - ld bc, NAME_LENGTH - call CopyData - ld a, [wMenuItemToSwap] - ld [wSwappedMenuItem], a - xor a - ld [wMenuItemToSwap], a - ld [wPartyMenuTypeOrMessageID], a - pop de - pop hl - ret diff --git a/engine/menu/status_screen.asm b/engine/menu/status_screen.asm deleted file mode 100755 index 20bee0ee..00000000 --- a/engine/menu/status_screen.asm +++ /dev/null @@ -1,481 +0,0 @@ -DrawHP: -; Draws the HP bar in the stats screen - call GetPredefRegisters - ld a, $1 - jr DrawHP_ - -DrawHP2: -; Draws the HP bar in the party screen - call GetPredefRegisters - ld a, $2 - -DrawHP_: - ld [wHPBarType], a - push hl - ld a, [wLoadedMonHP] - ld b, a - ld a, [wLoadedMonHP + 1] - ld c, a - or b - jr nz, .nonzeroHP - xor a - ld c, a - ld e, a - ld a, $6 - ld d, a - jp .drawHPBarAndPrintFraction -.nonzeroHP - ld a, [wLoadedMonMaxHP] - ld d, a - ld a, [wLoadedMonMaxHP + 1] - ld e, a - predef HPBarLength - ld a, $6 - ld d, a - ld c, a -.drawHPBarAndPrintFraction - pop hl - push de - push hl - push hl - call DrawHPBar - pop hl - ld a, [hFlags_0xFFF6] - bit 0, a - jr z, .printFractionBelowBar - ld bc, $9 ; right of bar - jr .printFraction -.printFractionBelowBar - ld bc, SCREEN_WIDTH + 1 ; below bar -.printFraction - add hl, bc - ld de, wLoadedMonHP - lb bc, 2, 3 - call PrintNumber - ld a, "/" - ld [hli], a - ld de, wLoadedMonMaxHP - lb bc, 2, 3 - call PrintNumber - pop hl - pop de - ret - - -; Predef 0x37 -StatusScreen: - call LoadMonData - ld a, [wMonDataLocation] - cp BOX_DATA - jr c, .DontRecalculate -; mon is in a box or daycare - ld a, [wLoadedMonBoxLevel] - ld [wLoadedMonLevel], a - ld [wCurEnemyLVL], a - ld hl, wLoadedMonHPExp - 1 - ld de, wLoadedMonStats - ld b, $1 - call CalcStats ; Recalculate stats -.DontRecalculate - ld hl, wd72c - set 1, [hl] - ld a, $33 - ld [rNR50], a ; Reduce the volume - call GBPalWhiteOutWithDelay3 - call ClearScreen - call UpdateSprites - call LoadHpBarAndStatusTilePatterns - ld de, BattleHudTiles1 ; source - ld hl, vChars2 + $6d0 ; dest - lb bc, BANK(BattleHudTiles1), $03 - call CopyVideoDataDouble ; ·│ :L and halfarrow line end - ld de, BattleHudTiles2 - ld hl, vChars2 + $780 - lb bc, BANK(BattleHudTiles2), $01 - call CopyVideoDataDouble ; │ - ld de, BattleHudTiles3 - ld hl, vChars2 + $760 - lb bc, BANK(BattleHudTiles3), $02 - call CopyVideoDataDouble ; ─┘ - ld de, PTile - ld hl, vChars2 + $720 - lb bc, BANK(PTile), (PTileEnd - PTile) / $8 - call CopyVideoDataDouble ; P (for PP), inline - ld a, [hTilesetType] - push af - xor a - ld [hTilesetType], a - coord hl, 19, 1 - lb bc, 6, 10 - call DrawLineBox ; Draws the box around name, HP and status - ld de, -6 - add hl, de - ld [hl], "⠄" ; . after No ("." is a different one) - dec hl - ld [hl], "№" - coord hl, 19, 9 - lb bc, 8, 6 - call DrawLineBox ; Draws the box around types, ID No. and OT - coord hl, 10, 9 - ld de, Type1Text - call PlaceString ; "TYPE1/" - coord hl, 11, 3 - predef DrawHP - ld hl, wStatusScreenHPBarColor - call GetHealthBarColor - ld b, SET_PAL_STATUS_SCREEN - call RunPaletteCommand - coord hl, 16, 6 - ld de, wLoadedMonStatus - call PrintStatusCondition - jr nz, .StatusWritten - coord hl, 16, 6 - ld de, OKText - call PlaceString ; "OK" -.StatusWritten - coord hl, 9, 6 - ld de, StatusText - call PlaceString ; "STATUS/" - coord hl, 14, 2 - call PrintLevel ; Pokémon level - ld a, [wMonHIndex] - ld [wd11e], a - ld [wd0b5], a - predef IndexToPokedex - coord hl, 3, 7 - ld de, wd11e - lb bc, LEADING_ZEROES | 1, 3 - call PrintNumber ; Pokémon no. - coord hl, 11, 10 - predef PrintMonType - ld hl, NamePointers2 - call .GetStringPointer - ld d, h - ld e, l - coord hl, 9, 1 - call PlaceString ; Pokémon name - ld hl, OTPointers - call .GetStringPointer - ld d, h - ld e, l - coord hl, 12, 16 - call PlaceString ; OT - coord hl, 12, 14 - ld de, wLoadedMonOTID - lb bc, LEADING_ZEROES | 2, 5 - call PrintNumber ; ID Number - ld d, $0 - call PrintStatsBox - call Delay3 - call GBPalNormal - coord hl, 1, 0 - call LoadFlippedFrontSpriteByMonIndex ; draw Pokémon picture - ld a, [wcf91] - call PlayCry ; play Pokémon cry - call WaitForTextScrollButtonPress ; wait for button - pop af - ld [hTilesetType], a - ret - -.GetStringPointer - ld a, [wMonDataLocation] - add a - ld c, a - ld b, 0 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [wMonDataLocation] - cp DAYCARE_DATA - ret z - ld a, [wWhichPokemon] - jp SkipFixedLengthTextEntries - -OTPointers: - dw wPartyMonOT - dw wEnemyMonOT - dw wBoxMonOT - dw wDayCareMonOT - -NamePointers2: - dw wPartyMonNicks - dw wEnemyMonNicks - dw wBoxMonNicks - dw wDayCareMonName - -Type1Text: - db "TYPE1/", $4e - -Type2Text: - db "TYPE2/", $4e - -IDNoText: - db $73, "№/", $4e - -OTText: - db "OT/" - next "@" - -StatusText: - db "STATUS/@" - -OKText: - db "OK@" - -; Draws a line starting from hl high b and wide c -DrawLineBox: - ld de, SCREEN_WIDTH ; New line -.PrintVerticalLine - ld [hl], $78 ; │ - add hl, de - dec b - jr nz, .PrintVerticalLine - ld [hl], $77 ; ┘ - dec hl -.PrintHorizLine - ld [hl], $76 ; ─ - dec hl - dec c - jr nz, .PrintHorizLine - ld [hl], $6f ; ← (halfarrow ending) - ret - -PTile: - INCBIN "gfx/font/P.1bpp" -PTileEnd: - -PrintStatsBox: - ld a, d - and a ; a is 0 from the status screen - jr nz, .DifferentBox - coord hl, 0, 8 - ld b, 8 - ld c, 8 - call TextBoxBorder ; Draws the box - coord hl, 1, 9 ; Start printing stats from here - ld bc, $0019 ; Number offset - jr .PrintStats -.DifferentBox - coord hl, 9, 2 - ld b, 8 - ld c, 9 - call TextBoxBorder - coord hl, 11, 3 - ld bc, $0018 -.PrintStats - push bc - push hl - ld de, StatsText - call PlaceString - pop hl - pop bc - add hl, bc - ld de, wLoadedMonAttack - lb bc, 2, 3 - call PrintStat - ld de, wLoadedMonDefense - call PrintStat - ld de, wLoadedMonSpeed - call PrintStat - ld de, wLoadedMonSpecial - jp PrintNumber -PrintStat: - push hl - call PrintNumber - pop hl - ld de, SCREEN_WIDTH * 2 - add hl, de - ret - -StatsText: - db "ATTACK" - next "DEFENSE" - next "SPEED" - next "SPECIAL@" - -StatusScreen2: - ld a, [hTilesetType] - push af - xor a - ld [hTilesetType], a - ld [H_AUTOBGTRANSFERENABLED], a - ld bc, NUM_MOVES + 1 - ld hl, wMoves - call FillMemory - ld hl, wLoadedMonMoves - ld de, wMoves - ld bc, NUM_MOVES - call CopyData - callab FormatMovesString - coord hl, 9, 2 - lb bc, 5, 10 - call ClearScreenArea ; Clear under name - coord hl, 19, 3 - ld [hl], $78 - coord hl, 0, 8 - ld b, 8 - ld c, 18 - call TextBoxBorder ; Draw move container - coord hl, 2, 9 - ld de, wMovesString - call PlaceString ; Print moves - ld a, [wNumMovesMinusOne] - inc a - ld c, a - ld a, $4 - sub c - ld b, a ; Number of moves ? - coord hl, 11, 10 - ld de, SCREEN_WIDTH * 2 - ld a, $72 ; special P tile id - call StatusScreen_PrintPP ; Print "PP" - ld a, b - and a - jr z, .InitPP - ld c, a - ld a, "-" - call StatusScreen_PrintPP ; Fill the rest with -- -.InitPP - ld hl, wLoadedMonMoves - coord de, 14, 10 - ld b, 0 -.PrintPP - ld a, [hli] - and a - jr z, .PPDone - push bc - push hl - push de - ld hl, wCurrentMenuItem - ld a, [hl] - push af - ld a, b - ld [hl], a - push hl - callab GetMaxPP - pop hl - pop af - ld [hl], a - pop de - pop hl - push hl - ld bc, wPartyMon1PP - wPartyMon1Moves - 1 - add hl, bc - ld a, [hl] - and $3f - ld [wStatusScreenCurrentPP], a - ld h, d - ld l, e - push hl - ld de, wStatusScreenCurrentPP - lb bc, 1, 2 - call PrintNumber - ld a, "/" - ld [hli], a - ld de, wMaxPP - lb bc, 1, 2 - call PrintNumber - pop hl - ld de, SCREEN_WIDTH * 2 - add hl, de - ld d, h - ld e, l - pop hl - pop bc - inc b - ld a, b - cp $4 - jr nz, .PrintPP -.PPDone - coord hl, 9, 3 - ld de, StatusScreenExpText - call PlaceString - ld a, [wLoadedMonLevel] - push af - cp MAX_LEVEL - jr z, .Level100 - inc a - ld [wLoadedMonLevel], a ; Increase temporarily if not 100 -.Level100 - coord hl, 14, 6 - ld [hl], $70 ; 1-tile "to" - inc hl - inc hl - call PrintLevel - pop af - ld [wLoadedMonLevel], a - ld de, wLoadedMonExp - coord hl, 12, 4 - lb bc, 3, 7 - call PrintNumber ; exp - call CalcExpToLevelUp - ld de, wLoadedMonExp - coord hl, 7, 6 - lb bc, 3, 7 - call PrintNumber ; exp needed to level up - coord hl, 9, 0 - call StatusScreen_ClearName - coord hl, 9, 1 - call StatusScreen_ClearName - ld a, [wMonHIndex] - ld [wd11e], a - call GetMonName - coord hl, 9, 1 - call PlaceString - ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a - call Delay3 - call WaitForTextScrollButtonPress ; wait for button - pop af - ld [hTilesetType], a - ld hl, wd72c - res 1, [hl] - ld a, $77 - ld [rNR50], a - call GBPalWhiteOut - jp ClearScreen - -CalcExpToLevelUp: - ld a, [wLoadedMonLevel] - cp MAX_LEVEL - jr z, .atMaxLevel - inc a - ld d, a - callab CalcExperience - ld hl, wLoadedMonExp + 2 - ld a, [hExperience + 2] - sub [hl] - ld [hld], a - ld a, [hExperience + 1] - sbc [hl] - ld [hld], a - ld a, [hExperience] - sbc [hl] - ld [hld], a - ret -.atMaxLevel - ld hl, wLoadedMonExp - xor a - ld [hli], a - ld [hli], a - ld [hl], a - ret - -StatusScreenExpText: - db "EXP POINTS" - next "LEVEL UP@" - -StatusScreen_ClearName: - ld bc, 10 - ld a, " " - jp FillMemory - -StatusScreen_PrintPP: -; print PP or -- c times, going down two rows each time - ld [hli], a - ld [hld], a - add hl, de - dec c - jr nz, StatusScreen_PrintPP - ret diff --git a/engine/menu/swap_items.asm b/engine/menu/swap_items.asm deleted file mode 100644 index 826fe60b..00000000 --- a/engine/menu/swap_items.asm +++ /dev/null @@ -1,149 +0,0 @@ -HandleItemListSwapping:: - ld a, [wListMenuID] - cp ITEMLISTMENU - jp nz, DisplayListMenuIDLoop ; only rearrange item list menus - push hl - ld hl, wListPointer - ld a, [hli] - ld h, [hl] - ld l, a - inc hl ; hl = beginning of list entries - ld a, [wCurrentMenuItem] - ld b, a - ld a, [wListScrollOffset] - add b - add a - ld c, a - ld b, 0 - add hl, bc ; hl = address of currently selected item entry - ld a, [hl] - pop hl - inc a - jp z, DisplayListMenuIDLoop ; ignore attempts to swap the Cancel menu item - ld a, [wMenuItemToSwap] ; ID of item chosen for swapping (counts from 1) - and a ; has the first item to swap already been chosen? - jr nz, .swapItems -; if not, set the currently selected item as the first item - ld a, [wCurrentMenuItem] - inc a - ld b, a - ld a, [wListScrollOffset] ; index of top (visible) menu item within the list - add b - ld [wMenuItemToSwap], a ; ID of item chosen for swapping (counts from 1) - ld c, 20 - call DelayFrames - jp DisplayListMenuIDLoop -.swapItems - ld a, [wCurrentMenuItem] - inc a - ld b, a - ld a, [wListScrollOffset] - add b - ld b, a - ld a, [wMenuItemToSwap] ; ID of item chosen for swapping (counts from 1) - cp b ; is the currently selected item the same as the first item to swap? - jp z, DisplayListMenuIDLoop ; ignore attempts to swap an item with itself - dec a - ld [wMenuItemToSwap], a ; ID of item chosen for swapping (counts from 1) - ld c, 20 - call DelayFrames - push hl - push de - ld hl, wListPointer - ld a, [hli] - ld h, [hl] - ld l, a - inc hl ; hl = beginning of list entries - ld d, h - ld e, l ; de = beginning of list entries - ld a, [wCurrentMenuItem] - ld b, a - ld a, [wListScrollOffset] - add b - add a - ld c, a - ld b, 0 - add hl, bc ; hl = address of currently selected item entry - ld a, [wMenuItemToSwap] ; ID of item chosen for swapping (counts from 1) - add a - add e - ld e, a - jr nc, .noCarry - inc d -.noCarry ; de = address of first item to swap - ld a, [de] - ld b, a - ld a, [hli] - cp b - jr z, .swapSameItemType -.swapDifferentItems - ld [$ff95], a ; [$ff95] = second item ID - ld a, [hld] - ld [$ff96], a ; [$ff96] = second item quantity - ld a, [de] - ld [hli], a ; put first item ID in second item slot - inc de - ld a, [de] - ld [hl], a ; put first item quantity in second item slot - ld a, [$ff96] - ld [de], a ; put second item quantity in first item slot - dec de - ld a, [$ff95] - ld [de], a ; put second item ID in first item slot - xor a - ld [wMenuItemToSwap], a ; 0 means no item is currently being swapped - pop de - pop hl - jp DisplayListMenuIDLoop -.swapSameItemType - inc de - ld a, [hl] - ld b, a - ld a, [de] - add b ; a = sum of both item quantities - cp 100 ; is the sum too big for one item slot? - jr c, .combineItemSlots -; swap enough items from the first slot to max out the second slot if they can't be combined - sub 99 - ld [de], a - ld a, 99 - ld [hl], a - jr .done -.combineItemSlots - ld [hl], a ; put the sum in the second item slot - ld hl, wListPointer - ld a, [hli] - ld h, [hl] - ld l, a - dec [hl] ; decrease the number of items - ld a, [hl] - ld [wListCount], a ; update number of items variable - cp 1 - jr nz, .skipSettingMaxMenuItemID - ld [wMaxMenuItem], a ; if the number of items is only one now, update the max menu item ID -.skipSettingMaxMenuItemID - dec de - ld h, d - ld l, e - inc hl - inc hl ; hl = address of item after first item to swap -.moveItemsUpLoop ; erase the first item slot and move up all the following item slots to fill the gap - ld a, [hli] - ld [de], a - inc de - inc a ; reached the $ff terminator? - jr z, .afterMovingItemsUp - ld a, [hli] - ld [de], a - inc de - jr .moveItemsUpLoop -.afterMovingItemsUp - xor a - ld [wListScrollOffset], a - ld [wCurrentMenuItem], a -.done - xor a - ld [wMenuItemToSwap], a ; 0 means no item is currently being swapped - pop de - pop hl - jp DisplayListMenuIDLoop diff --git a/engine/menu/text_box.asm b/engine/menu/text_box.asm deleted file mode 100644 index 00045959..00000000 --- a/engine/menu/text_box.asm +++ /dev/null @@ -1,767 +0,0 @@ -; function to draw various text boxes -DisplayTextBoxID_:: - ld a, [wTextBoxID] - cp TWO_OPTION_MENU - jp z, DisplayTwoOptionMenu - ld c, a - ld hl, TextBoxFunctionTable - ld de, 3 - call SearchTextBoxTable - jr c, .functionTableMatch - ld hl, TextBoxCoordTable - ld de, 5 - call SearchTextBoxTable - jr c, .coordTableMatch - ld hl, TextBoxTextAndCoordTable - ld de, 9 - call SearchTextBoxTable - jr c, .textAndCoordTableMatch -.done - ret -.functionTableMatch - ld a, [hli] - ld h, [hl] - ld l, a ; hl = address of function - ld de, .done - push de - jp hl ; jump to the function -.coordTableMatch - call GetTextBoxIDCoords - call GetAddressOfScreenCoords - call TextBoxBorder - ret -.textAndCoordTableMatch - call GetTextBoxIDCoords - push hl - call GetAddressOfScreenCoords - call TextBoxBorder - pop hl - call GetTextBoxIDText - ld a, [wd730] - push af - ld a, [wd730] - set 6, a ; no pauses between printing each letter - ld [wd730], a - call PlaceString - pop af - ld [wd730], a - call UpdateSprites - ret - -; function to search a table terminated with $ff for a byte matching c in increments of de -; sets carry flag if a match is found and clears carry flag if not -SearchTextBoxTable: - dec de -.loop - ld a, [hli] - cp $ff - jr z, .notFound - cp c - jr z, .found - add hl, de - jr .loop -.found - scf -.notFound - ret - -; function to load coordinates from the TextBoxCoordTable or the TextBoxTextAndCoordTable -; INPUT: -; hl = address of coordinates -; OUTPUT: -; b = height -; c = width -; d = row of upper left corner -; e = column of upper left corner -GetTextBoxIDCoords: - ld a, [hli] ; column of upper left corner - ld e, a - ld a, [hli] ; row of upper left corner - ld d, a - ld a, [hli] ; column of lower right corner - sub e - dec a - ld c, a ; c = width - ld a, [hli] ; row of lower right corner - sub d - dec a - ld b, a ; b = height - ret - -; function to load a text address and text coordinates from the TextBoxTextAndCoordTable -GetTextBoxIDText: - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a ; de = address of text - push de ; save text address - ld a, [hli] - ld e, a ; column of upper left corner of text - ld a, [hl] - ld d, a ; row of upper left corner of text - call GetAddressOfScreenCoords - pop de ; restore text address - ret - -; function to point hl to the screen coordinates -; INPUT: -; d = row -; e = column -; OUTPUT: -; hl = address of upper left corner of text box -GetAddressOfScreenCoords: - push bc - coord hl, 0, 0 - ld bc, 20 -.loop ; loop to add d rows to the base address - ld a, d - and a - jr z, .addedRows - add hl, bc - dec d - jr .loop -.addedRows - pop bc - add hl, de - ret - -; Format: -; 00: text box ID -; 01-02: function address -TextBoxFunctionTable: - dbw MONEY_BOX, DisplayMoneyBox - dbw BUY_SELL_QUIT_MENU, DoBuySellQuitMenu - dbw FIELD_MOVE_MON_MENU, DisplayFieldMoveMonMenu - db $ff ; terminator - -; Format: -; 00: text box ID -; 01: column of upper left corner -; 02: row of upper left corner -; 03: column of lower right corner -; 04: row of lower right corner -TextBoxCoordTable: - db MESSAGE_BOX, 0, 12, 19, 17 - db $03, 0, 0, 19, 14 - db $07, 0, 0, 11, 6 - db LIST_MENU_BOX, 4, 2, 19, 12 - db $10, 7, 0, 19, 17 - db MON_SPRITE_POPUP, 6, 4, 14, 13 - db $ff ; terminator - -; Format: -; 00: text box ID -; 01: column of upper left corner -; 02: row of upper left corner -; 03: column of lower right corner -; 04: row of lower right corner -; 05-06: address of text -; 07: column of beginning of text -; 08: row of beginning of text -; table of window positions and corresponding text [key, start column, start row, end column, end row, text pointer [2 bytes], text column, text row] -TextBoxTextAndCoordTable: - db JP_MOCHIMONO_MENU_TEMPLATE - db 0,0,14,17 ; text box coordinates - dw JapaneseMochimonoText - db 3,0 ; text coordinates - - db USE_TOSS_MENU_TEMPLATE - db 13,10,19,14 ; text box coordinates - dw UseTossText - db 15,11 ; text coordinates - - db JP_SAVE_MESSAGE_MENU_TEMPLATE - db 0,0,7,5 ; text box coordinates - dw JapaneseSaveMessageText - db 2,2 ; text coordinates - - db JP_SPEED_OPTIONS_MENU_TEMPLATE - db 0,6,5,10 ; text box coordinates - dw JapaneseSpeedOptionsText - db 2,7 ; text coordinates - - db BATTLE_MENU_TEMPLATE - db 8,12,19,17 ; text box coordinates - dw BattleMenuText - db 10,14 ; text coordinates - - db SAFARI_BATTLE_MENU_TEMPLATE - db 0,12,19,17 ; text box coordinates - dw SafariZoneBattleMenuText - db 2,14 ; text coordinates - - db SWITCH_STATS_CANCEL_MENU_TEMPLATE - db 11,11,19,17 ; text box coordinates - dw SwitchStatsCancelText - db 13,12 ; text coordinates - - db BUY_SELL_QUIT_MENU_TEMPLATE - db 0,0,10,6 ; text box coordinates - dw BuySellQuitText - db 2,1 ; text coordinates - - db MONEY_BOX_TEMPLATE - db 11,0,19,2 ; text box coordinates - dw MoneyText - db 13,0 ; text coordinates - - db JP_AH_MENU_TEMPLATE - db 7,6,11,10 ; text box coordinates - dw JapaneseAhText - db 8,8 ; text coordinates - - db JP_POKEDEX_MENU_TEMPLATE - db 11,8,19,17 ; text box coordinates - dw JapanesePokedexMenu - db 12,10 ; text coordinates - -; note that there is no terminator - -BuySellQuitText: - db "BUY" - next "SELL" - next "QUIT@@" - -UseTossText: - db "USE" - next "TOSS@" - -JapaneseSaveMessageText: - db "きろく" - next "メッセージ@" - -JapaneseSpeedOptionsText: - db "はやい" - next "おそい@" - -MoneyText: - db "MONEY@" - -JapaneseMochimonoText: - db "もちもの@" - -JapaneseMainMenuText: - db "つづきから" - next "さいしょから@" - -BattleMenuText: - db "FIGHT ",$E1,$E2 - next "ITEM RUN@" - -SafariZoneBattleMenuText: - db "BALL× BAIT" - next "THROW ROCK RUN@" - -SwitchStatsCancelText: - db "SWITCH" - next "STATS" - next "CANCEL@" - -JapaneseAhText: - db "アッ!@" - -JapanesePokedexMenu: - db "データをみる" - next "なきごえ" - next "ぶんぷをみる" - next "キャンセル@" - -DisplayMoneyBox: - ld hl, wd730 - set 6, [hl] - ld a, MONEY_BOX_TEMPLATE - ld [wTextBoxID], a - call DisplayTextBoxID - coord hl, 13, 1 - ld b, 1 - ld c, 6 - call ClearScreenArea - coord hl, 12, 1 - ld de, wPlayerMoney - ld c, $a3 - call PrintBCDNumber - ld hl, wd730 - res 6, [hl] - ret - -CurrencyString: - db " ¥@" - -DoBuySellQuitMenu: - ld a, [wd730] - set 6, a ; no printing delay - ld [wd730], a - xor a - ld [wChosenMenuItem], a - ld a, BUY_SELL_QUIT_MENU_TEMPLATE - ld [wTextBoxID], a - call DisplayTextBoxID - ld a, A_BUTTON | B_BUTTON - ld [wMenuWatchedKeys], a - ld a, $2 - ld [wMaxMenuItem], a - ld a, $1 - ld [wTopMenuItemY], a - ld a, $1 - ld [wTopMenuItemX], a - xor a - ld [wCurrentMenuItem], a - ld [wLastMenuItem], a - ld [wMenuWatchMovingOutOfBounds], a - ld a, [wd730] - res 6, a ; turn on the printing delay - ld [wd730], a - call HandleMenuInput - call PlaceUnfilledArrowMenuCursor - bit 0, a ; was A pressed? - jr nz, .pressedA - bit 1, a ; was B pressed? (always true since only A/B are watched) - jr z, .pressedA - ld a, CANCELLED_MENU - ld [wMenuExitMethod], a - jr .quit -.pressedA - ld a, CHOSE_MENU_ITEM - ld [wMenuExitMethod], a - ld a, [wCurrentMenuItem] - ld [wChosenMenuItem], a - ld b, a - ld a, [wMaxMenuItem] - cp b - jr z, .quit - ret -.quit - ld a, CANCELLED_MENU - ld [wMenuExitMethod], a - ld a, [wCurrentMenuItem] - ld [wChosenMenuItem], a - scf - ret - -; displays a menu with two options to choose from -; b = Y of upper left corner of text region -; c = X of upper left corner of text region -; hl = address where the text box border should be drawn -DisplayTwoOptionMenu: - push hl - ld a, [wd730] - set 6, a ; no printing delay - ld [wd730], a - -; pointless because both values are overwritten before they are read - xor a - ld [wChosenMenuItem], a - ld [wMenuExitMethod], a - - ld a, A_BUTTON | B_BUTTON - ld [wMenuWatchedKeys], a - ld a, $1 - ld [wMaxMenuItem], a - ld a, b - ld [wTopMenuItemY], a - ld a, c - ld [wTopMenuItemX], a - xor a - ld [wLastMenuItem], a - ld [wMenuWatchMovingOutOfBounds], a - push hl - ld hl, wTwoOptionMenuID - bit 7, [hl] ; select second menu item by default? - res 7, [hl] - jr z, .storeCurrentMenuItem - inc a -.storeCurrentMenuItem - ld [wCurrentMenuItem], a - pop hl - push hl - push hl - call TwoOptionMenu_SaveScreenTiles - ld a, [wTwoOptionMenuID] - ld hl, TwoOptionMenuStrings - ld e, a - ld d, $0 - ld a, $5 -.menuStringLoop - add hl, de - dec a - jr nz, .menuStringLoop - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld e, l - ld d, h - pop hl - push de - ld a, [wTwoOptionMenuID] - cp TRADE_CANCEL_MENU - jr nz, .notTradeCancelMenu - call CableClub_TextBoxBorder - jr .afterTextBoxBorder -.notTradeCancelMenu - call TextBoxBorder -.afterTextBoxBorder - call UpdateSprites - pop hl - ld a, [hli] - and a ; put blank line before first menu item? - ld bc, 20 + 2 - jr z, .noBlankLine - ld bc, 2 * 20 + 2 -.noBlankLine - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - pop hl - add hl, bc - call PlaceString - ld hl, wd730 - res 6, [hl] ; turn on the printing delay - ld a, [wTwoOptionMenuID] - cp NO_YES_MENU - jr nz, .notNoYesMenu -; No/Yes menu -; this menu type ignores the B button -; it only seems to be used when confirming the deletion of a save file - xor a - ld [wTwoOptionMenuID], a - ld a, [wFlags_0xcd60] - push af - push hl - ld hl, wFlags_0xcd60 - bit 5, [hl] - set 5, [hl] ; don't play sound when A or B is pressed in menu - pop hl -.noYesMenuInputLoop - call HandleMenuInput - bit 1, a ; A button pressed? - jr nz, .noYesMenuInputLoop ; try again if A was not pressed - pop af - pop hl - ld [wFlags_0xcd60], a - ld a, SFX_PRESS_AB - call PlaySound - jr .pressedAButton -.notNoYesMenu - xor a - ld [wTwoOptionMenuID], a - call HandleMenuInput - pop hl - bit 1, a ; A button pressed? - jr nz, .choseSecondMenuItem ; automatically choose the second option if B is pressed -.pressedAButton - ld a, [wCurrentMenuItem] - ld [wChosenMenuItem], a - and a - jr nz, .choseSecondMenuItem -; chose first menu item - ld a, CHOSE_FIRST_ITEM - ld [wMenuExitMethod], a - ld c, 15 - call DelayFrames - call TwoOptionMenu_RestoreScreenTiles - and a - ret -.choseSecondMenuItem - ld a, 1 - ld [wCurrentMenuItem], a - ld [wChosenMenuItem], a - ld a, CHOSE_SECOND_ITEM - ld [wMenuExitMethod], a - ld c, 15 - call DelayFrames - call TwoOptionMenu_RestoreScreenTiles - scf - ret - -; Some of the wider/taller two option menus will not have the screen areas -; they cover be fully saved/restored by the two functions below. -; The bottom and right edges of the menu may remain after the function returns. - -TwoOptionMenu_SaveScreenTiles: - ld de, wBuffer - lb bc, 5, 6 -.loop - ld a, [hli] - ld [de], a - inc de - dec c - jr nz, .loop - push bc - ld bc, SCREEN_WIDTH - 6 - add hl, bc - pop bc - ld c, $6 - dec b - jr nz, .loop - ret - -TwoOptionMenu_RestoreScreenTiles: - ld de, wBuffer - lb bc, 5, 6 -.loop - ld a, [de] - inc de - ld [hli], a - dec c - jr nz, .loop - push bc - ld bc, SCREEN_WIDTH - 6 - add hl, bc - pop bc - ld c, 6 - dec b - jr nz, .loop - call UpdateSprites - ret - -; Format: -; 00: byte width -; 01: byte height -; 02: byte put blank line before first menu item -; 03: word text pointer -TwoOptionMenuStrings: - db 4,3,0 - dw .YesNoMenu - db 6,3,0 - dw .NorthWestMenu - db 6,3,0 - dw .SouthEastMenu - db 6,3,0 - dw .YesNoMenu - db 6,3,0 - dw .NorthEastMenu - db 7,3,0 - dw .TradeCancelMenu - db 7,4,1 - dw .HealCancelMenu - db 4,3,0 - dw .NoYesMenu - -.NoYesMenu - db "NO" - next "YES@" -.YesNoMenu - db "YES" - next "NO@" -.NorthWestMenu - db "NORTH" - next "WEST@" -.SouthEastMenu - db "SOUTH" - next "EAST@" -.NorthEastMenu - db "NORTH" - next "EAST@" -.TradeCancelMenu - db "TRADE" - next "CANCEL@" -.HealCancelMenu - db "HEAL" - next "CANCEL@" - -DisplayFieldMoveMonMenu: - xor a - ld hl, wFieldMoves - ld [hli], a ; wFieldMoves - ld [hli], a ; wFieldMoves + 1 - ld [hli], a ; wFieldMoves + 2 - ld [hli], a ; wFieldMoves + 3 - ld [hli], a ; wNumFieldMoves - ld [hl], 12 ; wFieldMovesLeftmostXCoord - call GetMonFieldMoves - ld a, [wNumFieldMoves] - and a - jr nz, .fieldMovesExist - -; no field moves - coord hl, 11, 11 - ld b, 5 - ld c, 7 - call TextBoxBorder - call UpdateSprites - ld a, 12 - ld [hFieldMoveMonMenuTopMenuItemX], a - coord hl, 13, 12 - ld de, PokemonMenuEntries - jp PlaceString - -.fieldMovesExist - push af - -; Calculate the text box position and dimensions based on the leftmost X coord -; of the field move names before adjusting for the number of field moves. - coord hl, 0, 11 - ld a, [wFieldMovesLeftmostXCoord] - dec a - ld e, a - ld d, 0 - add hl, de - ld b, 5 - ld a, 18 - sub e - ld c, a - pop af - -; For each field move, move the top of the text box up 2 rows while the leaving -; the bottom of the text box at the bottom of the screen. - ld de, -SCREEN_WIDTH * 2 -.textBoxHeightLoop - add hl, de - inc b - inc b - dec a - jr nz, .textBoxHeightLoop - -; Make space for an extra blank row above the top field move. - ld de, -SCREEN_WIDTH - add hl, de - inc b - - call TextBoxBorder - call UpdateSprites - -; Calculate the position of the first field move name to print. - coord hl, 0, 12 - ld a, [wFieldMovesLeftmostXCoord] - inc a - ld e, a - ld d, 0 - add hl, de - ld de, -SCREEN_WIDTH * 2 - ld a, [wNumFieldMoves] -.calcFirstFieldMoveYLoop - add hl, de - dec a - jr nz, .calcFirstFieldMoveYLoop - - xor a - ld [wNumFieldMoves], a - ld de, wFieldMoves -.printNamesLoop - push hl - ld hl, FieldMoveNames - ld a, [de] - and a - jr z, .donePrintingNames - inc de - ld b, a ; index of name -.skipNamesLoop ; skip past names before the name we want - dec b - jr z, .reachedName -.skipNameLoop ; skip past current name - ld a, [hli] - cp "@" - jr nz, .skipNameLoop - jr .skipNamesLoop -.reachedName - ld b, h - ld c, l - pop hl - push de - ld d, b - ld e, c - call PlaceString - ld bc, SCREEN_WIDTH * 2 - add hl, bc - pop de - jr .printNamesLoop - -.donePrintingNames - pop hl - ld a, [wFieldMovesLeftmostXCoord] - ld [hFieldMoveMonMenuTopMenuItemX], a - coord hl, 0, 12 - ld a, [wFieldMovesLeftmostXCoord] - inc a - ld e, a - ld d, 0 - add hl, de - ld de, PokemonMenuEntries - jp PlaceString - -FieldMoveNames: - db "CUT@" - db "FLY@" - db "@" - db "SURF@" - db "STRENGTH@" - db "FLASH@" - db "DIG@" - db "TELEPORT@" - db "SOFTBOILED@" - -PokemonMenuEntries: - db "STATS" - next "SWITCH" - next "CANCEL@" - -GetMonFieldMoves: - ld a, [wWhichPokemon] - ld hl, wPartyMon1Moves - ld bc, wPartyMon2 - wPartyMon1 - call AddNTimes - ld d, h - ld e, l - ld c, NUM_MOVES + 1 - ld hl, wFieldMoves -.loop - push hl -.nextMove - dec c - jr z, .done - ld a, [de] ; move ID - and a - jr z, .done - ld b, a - inc de - ld hl, FieldMoveDisplayData -.fieldMoveLoop - ld a, [hli] - cp $ff - jr z, .nextMove ; if the move is not a field move - cp b - jr z, .foundFieldMove - inc hl - inc hl - jr .fieldMoveLoop -.foundFieldMove - ld a, b - ld [wLastFieldMoveID], a - ld a, [hli] ; field move name index - ld b, [hl] ; field move leftmost X coordinate - pop hl - ld [hli], a ; store name index in wFieldMoves - ld a, [wNumFieldMoves] - inc a - ld [wNumFieldMoves], a - ld a, [wFieldMovesLeftmostXCoord] - cp b - jr c, .skipUpdatingLeftmostXCoord - ld a, b - ld [wFieldMovesLeftmostXCoord], a -.skipUpdatingLeftmostXCoord - ld a, [wLastFieldMoveID] - ld b, a - jr .loop -.done - pop hl - ret - -; Format: [Move id], [name index], [leftmost tile] -; Move id = id of move -; Name index = index of name in FieldMoveNames -; Leftmost tile = -1 + tile column in which the first letter of the move's name should be displayed -; "SOFTBOILED" is $08 because it has 4 more letters than "SURF", for example, whose value is $0C -FieldMoveDisplayData: - db CUT, $01, $0C - db FLY, $02, $0C - db $B4, $03, $0C ; unused field move - db SURF, $04, $0C - db STRENGTH, $05, $0A - db FLASH, $06, $0C - db DIG, $07, $0C - db TELEPORT, $08, $0A - db SOFTBOILED, $09, $08 - db $ff ; list terminator diff --git a/engine/menu/vending_machine.asm b/engine/menu/vending_machine.asm deleted file mode 100755 index 554c5d4f..00000000 --- a/engine/menu/vending_machine.asm +++ /dev/null @@ -1,133 +0,0 @@ -VendingMachineMenu:: - ld hl, VendingMachineText1 - call PrintText - ld a, MONEY_BOX - ld [wTextBoxID], a - call DisplayTextBoxID - xor a - ld [wCurrentMenuItem], a - ld [wLastMenuItem], a - ld a, A_BUTTON | B_BUTTON - ld [wMenuWatchedKeys], a - ld a, 3 - ld [wMaxMenuItem], a - ld a, 5 - ld [wTopMenuItemY], a - ld a, 1 - ld [wTopMenuItemX], a - ld hl, wd730 - set 6, [hl] - coord hl, 0, 3 - ld b, 8 - ld c, 12 - call TextBoxBorder - call UpdateSprites - coord hl, 2, 5 - ld de, DrinkText - call PlaceString - coord hl, 9, 6 - ld de, DrinkPriceText - call PlaceString - ld hl, wd730 - res 6, [hl] - call HandleMenuInput - bit 1, a ; pressed B? - jr nz, .notThirsty - ld a, [wCurrentMenuItem] - cp 3 ; chose Cancel? - jr z, .notThirsty - xor a - ld [hMoney], a - ld [hMoney + 2], a - ld a, $2 - ld [hMoney + 1], a - call HasEnoughMoney - jr nc, .enoughMoney - ld hl, VendingMachineText4 - jp PrintText -.enoughMoney - call LoadVendingMachineItem - ld a, [hVendingMachineItem] - ld b, a - ld c, 1 - call GiveItem - jr nc, .BagFull - - ld b, 60 ; number of times to play the "brrrrr" sound -.playDeliverySound - ld c, 2 - call DelayFrames - push bc - ld a, SFX_PUSH_BOULDER - call PlaySound - pop bc - dec b - jr nz, .playDeliverySound - - ld hl, VendingMachineText5 - call PrintText - ld hl, hVendingMachinePrice + 2 - ld de, wPlayerMoney + 2 - ld c, $3 - predef SubBCDPredef - ld a, MONEY_BOX - ld [wTextBoxID], a - jp DisplayTextBoxID -.BagFull - ld hl, VendingMachineText6 - jp PrintText -.notThirsty - ld hl, VendingMachineText7 - jp PrintText - -VendingMachineText1: - TX_FAR _VendingMachineText1 - db "@" - -DrinkText: - db "FRESH WATER" - next "SODA POP" - next "LEMONADE" - next "CANCEL@" - -DrinkPriceText: - db "¥200" - next "¥300" - next "¥350" - next "@" - -VendingMachineText4: - TX_FAR _VendingMachineText4 - db "@" - -VendingMachineText5: - TX_FAR _VendingMachineText5 - db "@" - -VendingMachineText6: - TX_FAR _VendingMachineText6 - db "@" - -VendingMachineText7: - TX_FAR _VendingMachineText7 - db "@" - -LoadVendingMachineItem: - ld hl, VendingPrices - ld a, [wCurrentMenuItem] - add a - add a - ld d, 0 - ld e, a - add hl, de - ld a, [hli] - ld [hVendingMachineItem], a - ld a, [hli] - ld [hVendingMachinePrice], a - ld a, [hli] - ld [hVendingMachinePrice + 1], a - ld a, [hl] - ld [hVendingMachinePrice + 2], a - ret - -INCLUDE "data/vending_prices.asm" diff --git a/engine/menus/display_text_id_init.asm b/engine/menus/display_text_id_init.asm new file mode 100644 index 00000000..5043ad22 --- /dev/null +++ b/engine/menus/display_text_id_init.asm @@ -0,0 +1,78 @@ +; function that performs initialization for DisplayTextID +DisplayTextIDInit:: + xor a + ld [wListMenuID], a + ld a, [wAutoTextBoxDrawingControl] + bit 0, a + jr nz, .skipDrawingTextBoxBorder + ld a, [hSpriteIndexOrTextID] ; text ID (or sprite ID) + and a + jr nz, .notStartMenu +; if text ID is 0 (i.e. the start menu) +; Note that the start menu text border is also drawn in the function directly +; below this, so this seems unnecessary. + CheckEvent EVENT_GOT_POKEDEX +; start menu with pokedex + coord hl, 10, 0 + ld b, $0e + ld c, $08 + jr nz, .drawTextBoxBorder +; start menu without pokedex + coord hl, 10, 0 + ld b, $0c + ld c, $08 + jr .drawTextBoxBorder +; if text ID is not 0 (i.e. not the start menu) then do a standard dialogue text box +.notStartMenu + coord hl, 0, 12 + ld b, $04 + ld c, $12 +.drawTextBoxBorder + call TextBoxBorder +.skipDrawingTextBoxBorder + ld hl, wFontLoaded + set 0, [hl] + ld hl, wFlags_0xcd60 + bit 4, [hl] + res 4, [hl] + jr nz, .skipMovingSprites + call UpdateSprites +.skipMovingSprites +; loop to copy C1X9 (direction the sprite is facing) to C2X9 for each sprite +; this is done because when you talk to an NPC, they turn to look your way +; the original direction they were facing must be restored after the dialogue is over + ld hl, wSpriteStateData1 + $19 + ld c, $0f + ld de, $0010 +.spriteFacingDirectionCopyLoop + ld a, [hl] + inc h + ld [hl], a + dec h + add hl, de + dec c + jr nz, .spriteFacingDirectionCopyLoop +; loop to force all the sprites in the middle of animation to stand still +; (so that they don't like they're frozen mid-step during the dialogue) + ld hl, wSpriteStateData1 + 2 + ld de, $0010 + ld c, e +.spriteStandStillLoop + ld a, [hl] + cp $ff ; is the sprite visible? + jr z, .nextSprite +; if it is visible + and $fc + ld [hl], a +.nextSprite + add hl, de + dec c + jr nz, .spriteStandStillLoop + ld b, $9c ; window background address + call CopyScreenTileBufferToVRAM ; transfer background in WRAM to VRAM + xor a + ld [hWY], a ; put the window on the screen + call LoadFontTilePatterns + ld a, $01 + ld [H_AUTOBGTRANSFERENABLED], a ; enable continuous WRAM to VRAM transfer each V-blank + ret diff --git a/engine/menus/draw_badges.asm b/engine/menus/draw_badges.asm new file mode 100644 index 00000000..1888e32f --- /dev/null +++ b/engine/menus/draw_badges.asm @@ -0,0 +1,120 @@ +DrawBadges: +; Draw 4x2 gym leader faces, with the faces replaced by +; badges if they are owned. Used in the player status screen. + +; In Japanese versions, names are displayed above faces. +; Instead of removing relevant code, the name graphics were erased. + +; Tile ids for face/badge graphics. + ld de, wBadgeOrFaceTiles + ld hl, .FaceBadgeTiles + ld bc, 8 + call CopyData + +; Booleans for each badge. + ld hl, wTempObtainedBadgesBooleans + ld bc, 8 + xor a + call FillMemory + +; Alter these based on owned badges. + ld de, wTempObtainedBadgesBooleans + ld hl, wBadgeOrFaceTiles + ld a, [wObtainedBadges] + ld b, a + ld c, 8 +.CheckBadge + srl b + jr nc, .NextBadge + ld a, [hl] + add 4 ; Badge graphics are after each face + ld [hl], a + ld a, 1 + ld [de], a +.NextBadge + inc hl + inc de + dec c + jr nz, .CheckBadge + +; Draw two rows of badges. + ld hl, wBadgeNumberTile + ld a, $d8 ; [1] + ld [hli], a + ld [hl], $60 ; First name + + coord hl, 2, 11 + ld de, wTempObtainedBadgesBooleans + call .DrawBadgeRow + + coord hl, 2, 14 + ld de, wTempObtainedBadgesBooleans + 4 +; call .DrawBadgeRow +; ret + +.DrawBadgeRow +; Draw 4 badges. + + ld c, 4 +.DrawBadge + push de + push hl + +; Badge no. + ld a, [wBadgeNumberTile] + ld [hli], a + inc a + ld [wBadgeNumberTile], a + +; Names aren't printed if the badge is owned. + ld a, [de] + and a + ld a, [wBadgeNameTile] + jr nz, .SkipName + call .PlaceTiles + jr .PlaceBadge + +.SkipName + inc a + inc a + inc hl + +.PlaceBadge + ld [wBadgeNameTile], a + ld de, SCREEN_WIDTH - 1 + add hl, de + ld a, [wBadgeOrFaceTiles] + call .PlaceTiles + add hl, de + call .PlaceTiles + +; Shift badge array back one byte. + push bc + ld hl, wBadgeOrFaceTiles + 1 + ld de, wBadgeOrFaceTiles + ld bc, 8 + call CopyData + pop bc + + pop hl + ld de, 4 + add hl, de + + pop de + inc de + dec c + jr nz, .DrawBadge + ret + +.PlaceTiles + ld [hli], a + inc a + ld [hl], a + inc a + ret + +.FaceBadgeTiles + db $20, $28, $30, $38, $40, $48, $50, $58 + +GymLeaderFaceAndBadgeTileGraphics: + INCBIN "gfx/trainer_card/badges.2bpp" diff --git a/engine/menus/draw_start_menu.asm b/engine/menus/draw_start_menu.asm new file mode 100644 index 00000000..21e444e9 --- /dev/null +++ b/engine/menus/draw_start_menu.asm @@ -0,0 +1,89 @@ +; function that displays the start menu +DrawStartMenu:: + CheckEvent EVENT_GOT_POKEDEX +; menu with pokedex + coord hl, 10, 0 + ld b, $0e + ld c, $08 + jr nz, .drawTextBoxBorder +; shorter menu if the player doesn't have the pokedex + coord hl, 10, 0 + ld b, $0c + ld c, $08 +.drawTextBoxBorder + call TextBoxBorder + ld a, D_DOWN | D_UP | START | B_BUTTON | A_BUTTON + ld [wMenuWatchedKeys], a + ld a, $02 + ld [wTopMenuItemY], a ; Y position of first menu choice + ld a, $0b + ld [wTopMenuItemX], a ; X position of first menu choice + ld a, [wBattleAndStartSavedMenuItem] ; remembered menu selection from last time + ld [wCurrentMenuItem], a + ld [wLastMenuItem], a + xor a + ld [wMenuWatchMovingOutOfBounds], a + ld hl, wd730 + set 6, [hl] ; no pauses between printing each letter + coord hl, 12, 2 + CheckEvent EVENT_GOT_POKEDEX +; case for not having pokedex + ld a, $06 + jr z, .storeMenuItemCount +; case for having pokedex + ld de, StartMenuPokedexText + call PrintStartMenuItem + ld a, $07 +.storeMenuItemCount + ld [wMaxMenuItem], a ; number of menu items + ld de, StartMenuPokemonText + call PrintStartMenuItem + ld de, StartMenuItemText + call PrintStartMenuItem + ld de, wPlayerName ; player's name + call PrintStartMenuItem + ld a, [wd72e] + bit 6, a ; is the player using the link feature? +; case for not using link feature + ld de, StartMenuSaveText + jr z, .printSaveOrResetText +; case for using link feature + ld de, StartMenuResetText +.printSaveOrResetText + call PrintStartMenuItem + ld de, StartMenuOptionText + call PrintStartMenuItem + ld de, StartMenuExitText + call PlaceString + ld hl, wd730 + res 6, [hl] ; turn pauses between printing letters back on + ret + +StartMenuPokedexText: + db "POKéDEX@" + +StartMenuPokemonText: + db "POKéMON@" + +StartMenuItemText: + db "ITEM@" + +StartMenuSaveText: + db "SAVE@" + +StartMenuResetText: + db "RESET@" + +StartMenuExitText: + db "EXIT@" + +StartMenuOptionText: + db "OPTION@" + +PrintStartMenuItem: + push hl + call PlaceString + pop hl + ld de, SCREEN_WIDTH * 2 + add hl, de + ret diff --git a/engine/menus/league_pc.asm b/engine/menus/league_pc.asm new file mode 100755 index 00000000..170c0ef3 --- /dev/null +++ b/engine/menus/league_pc.asm @@ -0,0 +1,120 @@ +PKMNLeaguePC: + ld hl, AccessedHoFPCText + call PrintText + ld hl, wd730 + set 6, [hl] + push hl + ld a, [wUpdateSpritesEnabled] + push af + ld a, [hTilesetType] + push af + xor a + ld [hTilesetType], a + ld [wSpriteFlipped], a + ld [wUpdateSpritesEnabled], a + ld [wHoFTeamIndex2], a + ld [wHoFTeamNo], a + ld a, [wNumHoFTeams] + ld b, a + cp HOF_TEAM_CAPACITY + 1 + jr c, .loop +; If the total number of hall of fame teams is greater than the storage +; capacity, then calculate the number of the first team that is still recorded. + ld b, HOF_TEAM_CAPACITY + sub b + ld [wHoFTeamNo], a +.loop + ld hl, wHoFTeamNo + inc [hl] + push bc + ld a, [wHoFTeamIndex2] + ld [wHoFTeamIndex], a + callba LoadHallOfFameTeams + call LeaguePCShowTeam + pop bc + jr c, .doneShowingTeams + ld hl, wHoFTeamIndex2 + inc [hl] + ld a, [hl] + cp b + jr nz, .loop +.doneShowingTeams + pop af + ld [hTilesetType], a + pop af + ld [wUpdateSpritesEnabled], a + pop hl + res 6, [hl] + call GBPalWhiteOutWithDelay3 + call ClearScreen + call RunDefaultPaletteCommand + jp GBPalNormal + +LeaguePCShowTeam: + ld c, PARTY_LENGTH +.loop + push bc + call LeaguePCShowMon + call WaitForTextScrollButtonPress + ld a, [hJoyHeld] + bit 1, a + jr nz, .exit + ld hl, wHallOfFame + HOF_MON + ld de, wHallOfFame + ld bc, HOF_TEAM - HOF_MON + call CopyData + pop bc + ld a, [wHallOfFame + 0] + cp $ff + jr z, .done + dec c + jr nz, .loop +.done + and a + ret +.exit + pop bc + scf + ret + +LeaguePCShowMon: + call GBPalWhiteOutWithDelay3 + call ClearScreen + ld hl, wHallOfFame + ld a, [hli] + ld [wHoFMonSpecies], a + ld [wcf91], a + ld [wd0b5], a + ld [wBattleMonSpecies2], a + ld [wWholeScreenPaletteMonSpecies], a + ld a, [hli] + ld [wHoFMonLevel], a + ld de, wcd6d + ld bc, NAME_LENGTH + call CopyData + ld b, SET_PAL_POKEMON_WHOLE_SCREEN + ld c, 0 + call RunPaletteCommand + coord hl, 12, 5 + call GetMonHeader + call LoadFrontSpriteByMonIndex + call GBPalNormal + coord hl, 0, 13 + ld b, 2 + ld c, $12 + call TextBoxBorder + coord hl, 1, 15 + ld de, HallOfFameNoText + call PlaceString + coord hl, 16, 15 + ld de, wHoFTeamNo + lb bc, 1, 3 + call PrintNumber + jpba HoFDisplayMonInfo + +HallOfFameNoText: + db "HALL OF FAME No @" + +AccessedHoFPCText: + TX_FAR _AccessedHoFPCText + db "@" diff --git a/engine/menus/main_menu.asm b/engine/menus/main_menu.asm new file mode 100755 index 00000000..8eda6744 --- /dev/null +++ b/engine/menus/main_menu.asm @@ -0,0 +1,712 @@ +MainMenu: +; Check save file + call InitOptions + xor a + ld [wOptionsInitialized], a + inc a + ld [wSaveFileStatus], a + call CheckForPlayerNameInSRAM + jr nc, .mainMenuLoop + + predef LoadSAV + +.mainMenuLoop + ld c, 20 + call DelayFrames + xor a ; LINK_STATE_NONE + ld [wLinkState], a + ld hl, wPartyAndBillsPCSavedMenuItem + ld [hli], a + ld [hli], a + ld [hli], a + ld [hl], a + ld [wDefaultMap], a + ld hl, wd72e + res 6, [hl] + call ClearScreen + call RunDefaultPaletteCommand + call LoadTextBoxTilePatterns + call LoadFontTilePatterns + ld hl, wd730 + set 6, [hl] + ld a, [wSaveFileStatus] + cp 1 + jr z, .noSaveFile +; there's a save file + coord hl, 0, 0 + ld b, 6 + ld c, 13 + call TextBoxBorder + coord hl, 2, 2 + ld de, ContinueText + call PlaceString + jr .next2 +.noSaveFile + coord hl, 0, 0 + ld b, 4 + ld c, 13 + call TextBoxBorder + coord hl, 2, 2 + ld de, NewGameText + call PlaceString +.next2 + ld hl, wd730 + res 6, [hl] + call UpdateSprites + xor a + ld [wCurrentMenuItem], a + ld [wLastMenuItem], a + ld [wMenuJoypadPollCount], a + inc a + ld [wTopMenuItemX], a + inc a + ld [wTopMenuItemY], a + ld a, A_BUTTON | B_BUTTON | START + ld [wMenuWatchedKeys], a + ld a, [wSaveFileStatus] + ld [wMaxMenuItem], a + call HandleMenuInput + bit 1, a ; pressed B? + jp nz, DisplayTitleScreen ; if so, go back to the title screen + ld c, 20 + call DelayFrames + ld a, [wCurrentMenuItem] + ld b, a + ld a, [wSaveFileStatus] + cp 2 + jp z, .skipInc +; If there's no save file, increment the current menu item so that the numbers +; are the same whether or not there's a save file. + inc b +.skipInc + ld a, b + and a + jr z, .choseContinue + cp 1 + jp z, StartNewGame + call DisplayOptionMenu + ld a, 1 + ld [wOptionsInitialized], a + jp .mainMenuLoop +.choseContinue + call DisplayContinueGameInfo + ld hl, wCurrentMapScriptFlags + set 5, [hl] +.inputLoop + xor a + ld [hJoyPressed], a + ld [hJoyReleased], a + ld [hJoyHeld], a + call Joypad + ld a, [hJoyHeld] + bit 0, a + jr nz, .pressedA + bit 1, a + jp nz, .mainMenuLoop ; pressed B + jr .inputLoop +.pressedA + call GBPalWhiteOutWithDelay3 + call ClearScreen + ld a, PLAYER_DIR_DOWN + ld [wPlayerDirection], a + ld c, 10 + call DelayFrames + ld a, [wNumHoFTeams] + and a + jp z, SpecialEnterMap + ld a, [wCurMap] ; map ID + cp HALL_OF_FAME + jp nz, SpecialEnterMap + xor a + ld [wDestinationMap], a + ld hl, wd732 + set 2, [hl] ; fly warp or dungeon warp + call SpecialWarpIn + jp SpecialEnterMap + +InitOptions: + ld a, 1 ; no delay + ld [wLetterPrintingDelayFlags], a + ld a, 3 ; medium speed + ld [wOptions], a + ret + +LinkMenu: + xor a + ld [wLetterPrintingDelayFlags], a + ld hl, wd72e + set 6, [hl] + ld hl, TextTerminator_6b20 + call PrintText + call SaveScreenTilesToBuffer1 + ld hl, WhereWouldYouLikeText + call PrintText + coord hl, 5, 5 + ld b, $6 + ld c, $d + call TextBoxBorder + call UpdateSprites + coord hl, 7, 7 + ld de, CableClubOptionsText + call PlaceString + xor a + ld [wUnusedCD37], a + ld [wd72d], a + ld hl, wTopMenuItemY + ld a, $7 + ld [hli], a + ld a, $6 + ld [hli], a + xor a + ld [hli], a + inc hl + ld a, $2 + ld [hli], a + inc a + ; ld a, A_BUTTON | B_BUTTON + ld [hli], a ; wMenuWatchedKeys + xor a + ld [hl], a +.waitForInputLoop + call HandleMenuInput + and A_BUTTON | B_BUTTON + add a + add a + ld b, a + ld a, [wCurrentMenuItem] + add b + add $d0 + ld [wLinkMenuSelectionSendBuffer], a + ld [wLinkMenuSelectionSendBuffer + 1], a +.exchangeMenuSelectionLoop + call Serial_ExchangeLinkMenuSelection + ld a, [wLinkMenuSelectionReceiveBuffer] + ld b, a + and $f0 + cp $d0 + jr z, .asm_5c7d + ld a, [wLinkMenuSelectionReceiveBuffer + 1] + ld b, a + and $f0 + cp $d0 + jr nz, .exchangeMenuSelectionLoop +.asm_5c7d + ld a, b + and $c ; did the enemy press A or B? + jr nz, .enemyPressedAOrB +; the enemy didn't press A or B + ld a, [wLinkMenuSelectionSendBuffer] + and $c ; did the player press A or B? + jr z, .waitForInputLoop ; if neither the player nor the enemy pressed A or B, try again + jr .doneChoosingMenuSelection ; if the player pressed A or B but the enemy didn't, use the player's selection +.enemyPressedAOrB + ld a, [wLinkMenuSelectionSendBuffer] + and $c ; did the player press A or B? + jr z, .useEnemyMenuSelection ; if the enemy pressed A or B but the player didn't, use the enemy's selection +; the enemy and the player both pressed A or B +; The gameboy that is clocking the connection wins. + ld a, [hSerialConnectionStatus] + cp USING_INTERNAL_CLOCK + jr z, .doneChoosingMenuSelection +.useEnemyMenuSelection + ld a, b + ld [wLinkMenuSelectionSendBuffer], a + and $3 + ld [wCurrentMenuItem], a +.doneChoosingMenuSelection + ld a, [hSerialConnectionStatus] + cp USING_INTERNAL_CLOCK + jr nz, .skipStartingTransfer + call DelayFrame + call DelayFrame + ld a, START_TRANSFER_INTERNAL_CLOCK + ld [rSC], a +.skipStartingTransfer + ld b, $7f + ld c, $7f + ld d, $ec + ld a, [wLinkMenuSelectionSendBuffer] + and (B_BUTTON << 2) ; was B button pressed? + jr nz, .updateCursorPosition +; A button was pressed + ld a, [wCurrentMenuItem] + cp $2 + jr z, .updateCursorPosition + ld c, d + ld d, b + dec a + jr z, .updateCursorPosition + ld b, c + ld c, d +.updateCursorPosition + ld a, b + Coorda 6, 7 + ld a, c + Coorda 6, 9 + ld a, d + Coorda 6, 11 + ld c, 40 + call DelayFrames + call LoadScreenTilesFromBuffer1 + ld a, [wLinkMenuSelectionSendBuffer] + and (B_BUTTON << 2) ; was B button pressed? + jr nz, .choseCancel ; cancel if B pressed + ld a, [wCurrentMenuItem] + cp $2 + jr z, .choseCancel + xor a + ld [wWalkBikeSurfState], a ; start walking + ld a, [wCurrentMenuItem] + and a + ld a, COLOSSEUM + jr nz, .next + ld a, TRADE_CENTER +.next + ld [wd72d], a + ld hl, PleaseWaitText + call PrintText + ld c, 50 + call DelayFrames + ld hl, wd732 + res 1, [hl] + ld a, [wDefaultMap] + ld [wDestinationMap], a + call SpecialWarpIn + ld c, 20 + call DelayFrames + xor a + ld [wMenuJoypadPollCount], a + ld [wSerialExchangeNybbleSendData], a + inc a ; LINK_STATE_IN_CABLE_CLUB + ld [wLinkState], a + ld [wEnteringCableClub], a + jr SpecialEnterMap +.choseCancel + xor a + ld [wMenuJoypadPollCount], a + call Delay3 + call CloseLinkConnection + ld hl, LinkCanceledText + call PrintText + ld hl, wd72e + res 6, [hl] + ret + +WhereWouldYouLikeText: + TX_FAR _WhereWouldYouLikeText + db "@" + +PleaseWaitText: + TX_FAR _PleaseWaitText + db "@" + +LinkCanceledText: + TX_FAR _LinkCanceledText + db "@" + +StartNewGame: + ld hl, wd732 + res 1, [hl] + call OakSpeech + ld c, 20 + call DelayFrames + +; enter map after using a special warp or loading the game from the main menu +SpecialEnterMap:: + xor a + ld [hJoyPressed], a + ld [hJoyHeld], a + ld [hJoy5], a + ld [wd72d], a + ld hl, wd732 + set 0, [hl] ; count play time + call ResetPlayerSpriteData + ld c, 20 + call DelayFrames + ld a, [wEnteringCableClub] + and a + ret nz + jp EnterMap + +ContinueText: + db "CONTINUE", $4e + +NewGameText: + db "NEW GAME" + next "OPTION@" + +CableClubOptionsText: + db "TRADE CENTER" + next "COLOSSEUM" + next "CANCEL@" + +DisplayContinueGameInfo: + xor a + ld [H_AUTOBGTRANSFERENABLED], a + coord hl, 4, 7 + ld b, 8 + ld c, 14 + call TextBoxBorder + coord hl, 5, 9 + ld de, SaveScreenInfoText + call PlaceString + coord hl, 12, 9 + ld de, wPlayerName + call PlaceString + coord hl, 17, 11 + call PrintNumBadges + coord hl, 16, 13 + call PrintNumOwnedMons + coord hl, 13, 15 + call PrintPlayTime + ld a, 1 + ld [H_AUTOBGTRANSFERENABLED], a + ld c, 30 + jp DelayFrames + +PrintSaveScreenText: + xor a + ld [H_AUTOBGTRANSFERENABLED], a + coord hl, 4, 0 + ld b, $8 + ld c, $e + call TextBoxBorder + call LoadTextBoxTilePatterns + call UpdateSprites + coord hl, 5, 2 + ld de, SaveScreenInfoText + call PlaceString + coord hl, 12, 2 + ld de, wPlayerName + call PlaceString + coord hl, 17, 4 + call PrintNumBadges + coord hl, 16, 6 + call PrintNumOwnedMons + coord hl, 13, 8 + call PrintPlayTime + ld a, $1 + ld [H_AUTOBGTRANSFERENABLED], a + ld c, 30 + jp DelayFrames + +PrintNumBadges: + push hl + ld hl, wObtainedBadges + ld b, $1 + call CountSetBits + pop hl + ld de, wNumSetBits + lb bc, 1, 2 + jp PrintNumber + +PrintNumOwnedMons: + push hl + ld hl, wPokedexOwned + ld b, wPokedexOwnedEnd - wPokedexOwned + call CountSetBits + pop hl + ld de, wNumSetBits + lb bc, 1, 3 + jp PrintNumber + +PrintPlayTime: + ld de, wPlayTimeHours + lb bc, 1, 3 + call PrintNumber + ld [hl], $6d + inc hl + ld de, wPlayTimeMinutes + lb bc, LEADING_ZEROES | 1, 2 + jp PrintNumber + +SaveScreenInfoText: + db "PLAYER" + next "BADGES " + next "#DEX " + next "TIME@" + +DisplayOptionMenu: + coord hl, 0, 0 + ld b, 3 + ld c, 18 + call TextBoxBorder + coord hl, 0, 5 + ld b, 3 + ld c, 18 + call TextBoxBorder + coord hl, 0, 10 + ld b, 3 + ld c, 18 + call TextBoxBorder + coord hl, 1, 1 + ld de, TextSpeedOptionText + call PlaceString + coord hl, 1, 6 + ld de, BattleAnimationOptionText + call PlaceString + coord hl, 1, 11 + ld de, BattleStyleOptionText + call PlaceString + coord hl, 2, 16 + ld de, OptionMenuCancelText + call PlaceString + xor a + ld [wCurrentMenuItem], a + ld [wLastMenuItem], a + inc a + ld [wLetterPrintingDelayFlags], a + ld [wOptionsCancelCursorX], a + ld a, 3 ; text speed cursor Y coordinate + ld [wTopMenuItemY], a + call SetCursorPositionsFromOptions + ld a, [wOptionsTextSpeedCursorX] ; text speed cursor X coordinate + ld [wTopMenuItemX], a + ld a, $01 + ld [H_AUTOBGTRANSFERENABLED], a ; enable auto background transfer + call Delay3 +.loop + call PlaceMenuCursor + call SetOptionsFromCursorPositions +.getJoypadStateLoop + call JoypadLowSensitivity + ld a, [hJoy5] + ld b, a + and A_BUTTON | B_BUTTON | START | D_RIGHT | D_LEFT | D_UP | D_DOWN ; any key besides select pressed? + jr z, .getJoypadStateLoop + bit 1, b ; B button pressed? + jr nz, .exitMenu + bit 3, b ; Start button pressed? + jr nz, .exitMenu + bit 0, b ; A button pressed? + jr z, .checkDirectionKeys + ld a, [wTopMenuItemY] + cp 16 ; is the cursor on Cancel? + jr nz, .loop +.exitMenu + ld a, SFX_PRESS_AB + call PlaySound + ret +.eraseOldMenuCursor + ld [wTopMenuItemX], a + call EraseMenuCursor + jp .loop +.checkDirectionKeys + ld a, [wTopMenuItemY] + bit 7, b ; Down pressed? + jr nz, .downPressed + bit 6, b ; Up pressed? + jr nz, .upPressed + cp 8 ; cursor in Battle Animation section? + jr z, .cursorInBattleAnimation + cp 13 ; cursor in Battle Style section? + jr z, .cursorInBattleStyle + cp 16 ; cursor on Cancel? + jr z, .loop +.cursorInTextSpeed + bit 5, b ; Left pressed? + jp nz, .pressedLeftInTextSpeed + jp .pressedRightInTextSpeed +.downPressed + cp 16 + ld b, -13 + ld hl, wOptionsTextSpeedCursorX + jr z, .updateMenuVariables + ld b, 5 + cp 3 + inc hl + jr z, .updateMenuVariables + cp 8 + inc hl + jr z, .updateMenuVariables + ld b, 3 + inc hl + jr .updateMenuVariables +.upPressed + cp 8 + ld b, -5 + ld hl, wOptionsTextSpeedCursorX + jr z, .updateMenuVariables + cp 13 + inc hl + jr z, .updateMenuVariables + cp 16 + ld b, -3 + inc hl + jr z, .updateMenuVariables + ld b, 13 + inc hl +.updateMenuVariables + add b + ld [wTopMenuItemY], a + ld a, [hl] + ld [wTopMenuItemX], a + call PlaceUnfilledArrowMenuCursor + jp .loop +.cursorInBattleAnimation + ld a, [wOptionsBattleAnimCursorX] ; battle animation cursor X coordinate + xor $0b ; toggle between 1 and 10 + ld [wOptionsBattleAnimCursorX], a + jp .eraseOldMenuCursor +.cursorInBattleStyle + ld a, [wOptionsBattleStyleCursorX] ; battle style cursor X coordinate + xor $0b ; toggle between 1 and 10 + ld [wOptionsBattleStyleCursorX], a + jp .eraseOldMenuCursor +.pressedLeftInTextSpeed + ld a, [wOptionsTextSpeedCursorX] ; text speed cursor X coordinate + cp 1 + jr z, .updateTextSpeedXCoord + cp 7 + jr nz, .fromSlowToMedium + sub 6 + jr .updateTextSpeedXCoord +.fromSlowToMedium + sub 7 + jr .updateTextSpeedXCoord +.pressedRightInTextSpeed + ld a, [wOptionsTextSpeedCursorX] ; text speed cursor X coordinate + cp 14 + jr z, .updateTextSpeedXCoord + cp 7 + jr nz, .fromFastToMedium + add 7 + jr .updateTextSpeedXCoord +.fromFastToMedium + add 6 +.updateTextSpeedXCoord + ld [wOptionsTextSpeedCursorX], a ; text speed cursor X coordinate + jp .eraseOldMenuCursor + +TextSpeedOptionText: + db "TEXT SPEED" + next " FAST MEDIUM SLOW@" + +BattleAnimationOptionText: + db "BATTLE ANIMATION" + next " ON OFF@" + +BattleStyleOptionText: + db "BATTLE STYLE" + next " SHIFT SET@" + +OptionMenuCancelText: + db "CANCEL@" + +; sets the options variable according to the current placement of the menu cursors in the options menu +SetOptionsFromCursorPositions: + ld hl, TextSpeedOptionData + ld a, [wOptionsTextSpeedCursorX] ; text speed cursor X coordinate + ld c, a +.loop + ld a, [hli] + cp c + jr z, .textSpeedMatchFound + inc hl + jr .loop +.textSpeedMatchFound + ld a, [hl] + ld d, a + ld a, [wOptionsBattleAnimCursorX] ; battle animation cursor X coordinate + dec a + jr z, .battleAnimationOn +.battleAnimationOff + set 7, d + jr .checkBattleStyle +.battleAnimationOn + res 7, d +.checkBattleStyle + ld a, [wOptionsBattleStyleCursorX] ; battle style cursor X coordinate + dec a + jr z, .battleStyleShift +.battleStyleSet + set 6, d + jr .storeOptions +.battleStyleShift + res 6, d +.storeOptions + ld a, d + ld [wOptions], a + ret + +; reads the options variable and places menu cursors in the correct positions within the options menu +SetCursorPositionsFromOptions: + ld hl, TextSpeedOptionData + 1 + ld a, [wOptions] + ld c, a + and $3f + push bc + ld de, 2 + call IsInArray + pop bc + dec hl + ld a, [hl] + ld [wOptionsTextSpeedCursorX], a ; text speed cursor X coordinate + coord hl, 0, 3 + call .placeUnfilledRightArrow + sla c + ld a, 1 ; On + jr nc, .storeBattleAnimationCursorX + ld a, 10 ; Off +.storeBattleAnimationCursorX + ld [wOptionsBattleAnimCursorX], a ; battle animation cursor X coordinate + coord hl, 0, 8 + call .placeUnfilledRightArrow + sla c + ld a, 1 + jr nc, .storeBattleStyleCursorX + ld a, 10 +.storeBattleStyleCursorX + ld [wOptionsBattleStyleCursorX], a ; battle style cursor X coordinate + coord hl, 0, 13 + call .placeUnfilledRightArrow +; cursor in front of Cancel + coord hl, 0, 16 + ld a, 1 +.placeUnfilledRightArrow + ld e, a + ld d, 0 + add hl, de + ld [hl], $ec ; unfilled right arrow menu cursor + ret + +; table that indicates how the 3 text speed options affect frame delays +; Format: +; 00: X coordinate of menu cursor +; 01: delay after printing a letter (in frames) +TextSpeedOptionData: + db 14,5 ; Slow + db 7,3 ; Medium + db 1,1 ; Fast + db 7 ; default X coordinate (Medium) + db $ff ; terminator + +CheckForPlayerNameInSRAM: +; Check if the player name data in SRAM has a string terminator character +; (indicating that a name may have been saved there) and return whether it does +; in carry. + ld a, SRAM_ENABLE + ld [MBC1SRamEnable], a + ld a, $1 + ld [MBC1SRamBankingMode], a + ld [MBC1SRamBank], a + ld b, NAME_LENGTH + ld hl, sPlayerName +.loop + ld a, [hli] + cp "@" + jr z, .found + dec b + jr nz, .loop +; not found + xor a + ld [MBC1SRamEnable], a + ld [MBC1SRamBankingMode], a + and a + ret +.found + xor a + ld [MBC1SRamEnable], a + ld [MBC1SRamBankingMode], a + scf + ret diff --git a/engine/menus/naming_screen.asm b/engine/menus/naming_screen.asm new file mode 100755 index 00000000..2b86d6f4 --- /dev/null +++ b/engine/menus/naming_screen.asm @@ -0,0 +1,494 @@ +AskName: + call SaveScreenTilesToBuffer1 + call GetPredefRegisters + push hl + ld a, [wIsInBattle] + dec a + coord hl, 0, 0 + ld b, 4 + ld c, 11 + call z, ClearScreenArea ; only if in wild battle + ld a, [wcf91] + ld [wd11e], a + call GetMonName + ld hl, DoYouWantToNicknameText + call PrintText + coord hl, 14, 7 + lb bc, 8, 15 + ld a, TWO_OPTION_MENU + ld [wTextBoxID], a + call DisplayTextBoxID + pop hl + ld a, [wCurrentMenuItem] + and a + jr nz, .declinedNickname + ld a, [wUpdateSpritesEnabled] + push af + xor a + ld [wUpdateSpritesEnabled], a + push hl + ld a, NAME_MON_SCREEN + ld [wNamingScreenType], a + call DisplayNamingScreen + ld a, [wIsInBattle] + and a + jr nz, .inBattle + call ReloadMapSpriteTilePatterns +.inBattle + call LoadScreenTilesFromBuffer1 + pop hl + pop af + ld [wUpdateSpritesEnabled], a + ld a, [wcf4b] + cp "@" + ret nz +.declinedNickname + ld d, h + ld e, l + ld hl, wcd6d + ld bc, NAME_LENGTH + jp CopyData + +DoYouWantToNicknameText: + TX_FAR _DoYouWantToNicknameText + db "@" + +DisplayNameRaterScreen:: + ld hl, wBuffer + xor a + ld [wUpdateSpritesEnabled], a + ld a, NAME_MON_SCREEN + ld [wNamingScreenType], a + call DisplayNamingScreen + call GBPalWhiteOutWithDelay3 + call RestoreScreenTilesAndReloadTilePatterns + call LoadGBPal + ld a, [wcf4b] + cp "@" + jr z, .playerCancelled + ld hl, wPartyMonNicks + ld bc, NAME_LENGTH + ld a, [wWhichPokemon] + call AddNTimes + ld e, l + ld d, h + ld hl, wBuffer + ld bc, NAME_LENGTH + call CopyData + and a + ret +.playerCancelled + scf + ret + +DisplayNamingScreen: + push hl + ld hl, wd730 + set 6, [hl] + call GBPalWhiteOutWithDelay3 + call ClearScreen + call UpdateSprites + ld b, SET_PAL_GENERIC + call RunPaletteCommand + call LoadHpBarAndStatusTilePatterns + call LoadEDTile + callba LoadMonPartySpriteGfx + coord hl, 0, 4 + ld b, 9 + ld c, 18 + call TextBoxBorder + call PrintNamingText + ld a, 3 + ld [wTopMenuItemY], a + ld a, 1 + ld [wTopMenuItemX], a + ld [wLastMenuItem], a + ld [wCurrentMenuItem], a + ld a, $ff + ld [wMenuWatchedKeys], a + ld a, 7 + ld [wMaxMenuItem], a + ld a, "@" + ld [wcf4b], a + xor a + ld hl, wNamingScreenSubmitName + ld [hli], a + ld [hli], a + ld [wAnimCounter], a +.selectReturnPoint + call PrintAlphabet + call GBPalNormal +.ABStartReturnPoint + ld a, [wNamingScreenSubmitName] + and a + jr nz, .submitNickname + call PrintNicknameAndUnderscores +.dPadReturnPoint + call PlaceMenuCursor +.inputLoop + ld a, [wCurrentMenuItem] + push af + callba AnimatePartyMon_ForceSpeed1 + pop af + ld [wCurrentMenuItem], a + call JoypadLowSensitivity + ld a, [hJoyPressed] + and a + jr z, .inputLoop + ld hl, .namingScreenButtonFunctions +.checkForPressedButton + sla a + jr c, .foundPressedButton + inc hl + inc hl + inc hl + inc hl + jr .checkForPressedButton +.foundPressedButton + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld h, [hl] + ld l, a + push de + jp hl + +.submitNickname + pop de + ld hl, wcf4b + ld bc, NAME_LENGTH + call CopyData + call GBPalWhiteOutWithDelay3 + call ClearScreen + call ClearSprites + call RunDefaultPaletteCommand + call GBPalNormal + xor a + ld [wAnimCounter], a + ld hl, wd730 + res 6, [hl] + ld a, [wIsInBattle] + and a + jp z, LoadTextBoxTilePatterns + jpab LoadHudTilePatterns + +.namingScreenButtonFunctions + dw .dPadReturnPoint + dw .pressedDown + dw .dPadReturnPoint + dw .pressedUp + dw .dPadReturnPoint + dw .pressedLeft + dw .dPadReturnPoint + dw .pressedRight + dw .ABStartReturnPoint + dw .pressedStart + dw .selectReturnPoint + dw .pressedSelect + dw .ABStartReturnPoint + dw .pressedB + dw .ABStartReturnPoint + dw .pressedA + +.pressedA_changedCase + pop de + ld de, .selectReturnPoint + push de +.pressedSelect + ld a, [wAlphabetCase] + xor $1 + ld [wAlphabetCase], a + ret + +.pressedStart + ld a, 1 + ld [wNamingScreenSubmitName], a + ret + +.pressedA + ld a, [wCurrentMenuItem] + cp $5 ; "ED" row + jr nz, .didNotPressED + ld a, [wTopMenuItemX] + cp $11 ; "ED" column + jr z, .pressedStart +.didNotPressED + ld a, [wCurrentMenuItem] + cp $6 ; case switch row + jr nz, .didNotPressCaseSwtich + ld a, [wTopMenuItemX] + cp $1 ; case switch column + jr z, .pressedA_changedCase +.didNotPressCaseSwtich + ld hl, wMenuCursorLocation + ld a, [hli] + ld h, [hl] + ld l, a + inc hl + ld a, [hl] + ld [wNamingScreenLetter], a + call CalcStringLength + ld a, [wNamingScreenLetter] + cp $e5 + ld de, Dakutens + jr z, .dakutensAndHandakutens + cp $e4 + ld de, Handakutens + jr z, .dakutensAndHandakutens + ld a, [wNamingScreenType] + cp NAME_MON_SCREEN + jr nc, .checkMonNameLength + ld a, [wNamingScreenNameLength] + cp $7 ; max length of player/rival names + jr .checkNameLength +.checkMonNameLength + ld a, [wNamingScreenNameLength] + cp $a ; max length of pokemon nicknames +.checkNameLength + jr c, .addLetter + ret + +.dakutensAndHandakutens + push hl + call DakutensAndHandakutens + pop hl + ret nc + dec hl +.addLetter + ld a, [wNamingScreenLetter] + ld [hli], a + ld [hl], "@" + ld a, SFX_PRESS_AB + call PlaySound + ret +.pressedB + ld a, [wNamingScreenNameLength] + and a + ret z + call CalcStringLength + dec hl + ld [hl], "@" + ret +.pressedRight + ld a, [wCurrentMenuItem] + cp $6 + ret z ; can't scroll right on bottom row + ld a, [wTopMenuItemX] + cp $11 ; max + jp z, .wrapToFirstColumn + inc a + inc a + jr .done +.wrapToFirstColumn + ld a, $1 + jr .done +.pressedLeft + ld a, [wCurrentMenuItem] + cp $6 + ret z ; can't scroll right on bottom row + ld a, [wTopMenuItemX] + dec a + jp z, .wrapToLastColumn + dec a + jr .done +.wrapToLastColumn + ld a, $11 ; max + jr .done +.pressedUp + ld a, [wCurrentMenuItem] + dec a + ld [wCurrentMenuItem], a + and a + ret nz + ld a, $6 ; wrap to bottom row + ld [wCurrentMenuItem], a + ld a, $1 ; force left column + jr .done +.pressedDown + ld a, [wCurrentMenuItem] + inc a + ld [wCurrentMenuItem], a + cp $7 + jr nz, .wrapToTopRow + ld a, $1 + ld [wCurrentMenuItem], a + jr .done +.wrapToTopRow + cp $6 + ret nz + ld a, $1 +.done + ld [wTopMenuItemX], a + jp EraseMenuCursor + +LoadEDTile: + ld de, ED_Tile + ld hl, vFont + $700 + ld bc, (ED_TileEnd - ED_Tile) / $8 + ; to fix the graphical bug on poor emulators + ;lb bc, BANK(ED_Tile), (ED_TileEnd - ED_Tile) / $8 + jp CopyVideoDataDouble + +ED_Tile: + INCBIN "gfx/font/ED.1bpp" +ED_TileEnd: + +PrintAlphabet: + xor a + ld [H_AUTOBGTRANSFERENABLED], a + ld a, [wAlphabetCase] + and a + ld de, LowerCaseAlphabet + jr nz, .lowercase + ld de, UpperCaseAlphabet +.lowercase + coord hl, 2, 5 + lb bc, 5, 9 ; 5 rows, 9 columns +.outerLoop + push bc +.innerLoop + ld a, [de] + ld [hli], a + inc hl + inc de + dec c + jr nz, .innerLoop + ld bc, SCREEN_WIDTH + 2 + add hl, bc + pop bc + dec b + jr nz, .outerLoop + call PlaceString + ld a, $1 + ld [H_AUTOBGTRANSFERENABLED], a + jp Delay3 + +INCLUDE "text/alphabets.asm" + +PrintNicknameAndUnderscores: + call CalcStringLength + ld a, c + ld [wNamingScreenNameLength], a + coord hl, 10, 2 + lb bc, 1, 10 + call ClearScreenArea + coord hl, 10, 2 + ld de, wcf4b + call PlaceString + coord hl, 10, 3 + ld a, [wNamingScreenType] + cp NAME_MON_SCREEN + jr nc, .pokemon1 + ld b, 7 ; player or rival max name length + jr .playerOrRival1 +.pokemon1 + ld b, 10 ; pokemon max name length +.playerOrRival1 + ld a, $76 ; underscore tile id +.placeUnderscoreLoop + ld [hli], a + dec b + jr nz, .placeUnderscoreLoop + ld a, [wNamingScreenType] + cp NAME_MON_SCREEN + ld a, [wNamingScreenNameLength] + jr nc, .pokemon2 + cp 7 ; player or rival max name length + jr .playerOrRival2 +.pokemon2 + cp 10 ; pokemon max name length +.playerOrRival2 + jr nz, .emptySpacesRemaining + ; when all spaces are filled, force the cursor onto the ED tile + call EraseMenuCursor + ld a, $11 ; "ED" x coord + ld [wTopMenuItemX], a + ld a, $5 ; "ED" y coord + ld [wCurrentMenuItem], a + ld a, [wNamingScreenType] + cp NAME_MON_SCREEN + ld a, 9 ; keep the last underscore raised + jr nc, .pokemon3 + ld a, 6 ; keep the last underscore raised +.pokemon3 +.emptySpacesRemaining + ld c, a + ld b, $0 + coord hl, 10, 3 + add hl, bc + ld [hl], $77 ; raised underscore tile id + ret + +DakutensAndHandakutens: + push de + call CalcStringLength + dec hl + ld a, [hl] + pop hl + ld de, $2 + call IsInArray + ret nc + inc hl + ld a, [hl] + ld [wNamingScreenLetter], a + ret + +INCLUDE "text/dakutens.asm" + +; calculates the length of the string at wcf4b and stores it in c +CalcStringLength: + ld hl, wcf4b + ld c, $0 +.loop + ld a, [hl] + cp "@" + ret z + inc hl + inc c + jr .loop + +PrintNamingText: + coord hl, 0, 1 + ld a, [wNamingScreenType] + ld de, YourTextString + and a + jr z, .notNickname + ld de, RivalsTextString + dec a + jr z, .notNickname + ld a, [wcf91] + ld [wMonPartySpriteSpecies], a + push af + callba WriteMonPartySpriteOAMBySpecies + pop af + ld [wd11e], a + call GetMonName + coord hl, 4, 1 + call PlaceString + ld hl, $1 + add hl, bc + ld [hl], $c9 + coord hl, 1, 3 + ld de, NicknameTextString + jr .placeString +.notNickname + call PlaceString + ld l, c + ld h, b + ld de, NameTextString +.placeString + jp PlaceString + +YourTextString: + db "YOUR @" + +RivalsTextString: + db "RIVAL's @" + +NameTextString: + db "NAME?@" + +NicknameTextString: + db "NICKNAME?@" diff --git a/engine/menus/oaks_pc.asm b/engine/menus/oaks_pc.asm new file mode 100755 index 00000000..03c9b8f1 --- /dev/null +++ b/engine/menus/oaks_pc.asm @@ -0,0 +1,28 @@ +OpenOaksPC: + call SaveScreenTilesToBuffer2 + ld hl, AccessedOaksPCText + call PrintText + ld hl, GetDexRatedText + call PrintText + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + jr nz, .closePC + predef DisplayDexRating +.closePC + ld hl, ClosedOaksPCText + call PrintText + jp LoadScreenTilesFromBuffer2 + +GetDexRatedText: + TX_FAR _GetDexRatedText + db "@" + +ClosedOaksPCText: + TX_FAR _ClosedOaksPCText + TX_WAIT + db "@" + +AccessedOaksPCText: + TX_FAR _AccessedOaksPCText + db "@" diff --git a/engine/menus/party_menu.asm b/engine/menus/party_menu.asm new file mode 100755 index 00000000..41b6074b --- /dev/null +++ b/engine/menus/party_menu.asm @@ -0,0 +1,325 @@ +; [wPartyMenuTypeOrMessageID] = menu type / message ID +; if less than $F0, it is a menu type +; menu types: +; 00: normal pokemon menu (e.g. Start menu) +; 01: use healing item on pokemon menu +; 02: in-battle switch pokemon menu +; 03: learn TM/HM menu +; 04: swap pokemon positions menu +; 05: use evolution stone on pokemon menu +; otherwise, it is a message ID +; f0: poison healed +; f1: burn healed +; f2: freeze healed +; f3: sleep healed +; f4: paralysis healed +; f5: HP healed +; f6: health returned +; f7: revitalized +; f8: leveled up +DrawPartyMenu_:: + xor a + ld [H_AUTOBGTRANSFERENABLED], a + call ClearScreen + call UpdateSprites + callba LoadMonPartySpriteGfxWithLCDDisabled ; load pokemon icon graphics + +RedrawPartyMenu_:: + ld a, [wPartyMenuTypeOrMessageID] + cp SWAP_MONS_PARTY_MENU + jp z, .printMessage + call ErasePartyMenuCursors + callba InitPartyMenuBlkPacket + coord hl, 3, 0 + ld de, wPartySpecies + xor a + ld c, a + ld [hPartyMonIndex], a + ld [wWhichPartyMenuHPBar], a +.loop + ld a, [de] + cp $FF ; reached the terminator? + jp z, .afterDrawingMonEntries + push bc + push de + push hl + ld a, c + push hl + ld hl, wPartyMonNicks + call GetPartyMonName + pop hl + call PlaceString ; print the pokemon's name + callba WriteMonPartySpriteOAMByPartyIndex ; place the appropriate pokemon icon + ld a, [hPartyMonIndex] + ld [wWhichPokemon], a + inc a + ld [hPartyMonIndex], a + call LoadMonData + pop hl + push hl + ld a, [wMenuItemToSwap] + and a ; is the player swapping pokemon positions? + jr z, .skipUnfilledRightArrow +; if the player is swapping pokemon positions + dec a + ld b, a + ld a, [wWhichPokemon] + cp b ; is the player swapping the current pokemon in the list? + jr nz, .skipUnfilledRightArrow +; the player is swapping the current pokemon in the list + dec hl + dec hl + dec hl + ld a, "▷" ; unfilled right arrow menu cursor + ld [hli], a ; place the cursor + inc hl + inc hl +.skipUnfilledRightArrow + ld a, [wPartyMenuTypeOrMessageID] ; menu type + cp TMHM_PARTY_MENU + jr z, .teachMoveMenu + cp EVO_STONE_PARTY_MENU + jr z, .evolutionStoneMenu + push hl + ld bc, 14 ; 14 columns to the right + add hl, bc + ld de, wLoadedMonStatus + call PrintStatusCondition + pop hl + push hl + ld bc, SCREEN_WIDTH + 1 ; down 1 row and right 1 column + ld a, [hFlags_0xFFF6] + set 0, a + ld [hFlags_0xFFF6], a + add hl, bc + predef DrawHP2 ; draw HP bar and prints current / max HP + ld a, [hFlags_0xFFF6] + res 0, a + ld [hFlags_0xFFF6], a + call SetPartyMenuHPBarColor ; color the HP bar (on SGB) + pop hl + jr .printLevel +.teachMoveMenu + push hl + predef CanLearnTM ; check if the pokemon can learn the move + pop hl + ld de, .ableToLearnMoveText + ld a, c + and a + jr nz, .placeMoveLearnabilityString + ld de, .notAbleToLearnMoveText +.placeMoveLearnabilityString + ld bc, 20 + 9 ; down 1 row and right 9 columns + push hl + add hl, bc + call PlaceString + pop hl +.printLevel + ld bc, 10 ; move 10 columns to the right + add hl, bc + call PrintLevel + pop hl + pop de + inc de + ld bc, 2 * 20 + add hl, bc + pop bc + inc c + jp .loop +.ableToLearnMoveText + db "ABLE@" +.notAbleToLearnMoveText + db "NOT ABLE@" +.evolutionStoneMenu + push hl + ld hl, EvosMovesPointerTable + ld b, 0 + ld a, [wLoadedMonSpecies] + dec a + add a + rl b + ld c, a + add hl, bc + ld de, wEvosMoves + ld a, BANK(EvosMovesPointerTable) + ld bc, 2 + call FarCopyData + ld hl, wEvosMoves + ld a, [hli] + ld h, [hl] + ld l, a + ld de, wEvosMoves + ld a, BANK(EvosMovesPointerTable) + ld bc, wEvosMoves.end - wEvosMoves + call FarCopyData + ld hl, wEvosMoves + ld de, .notAbleToEvolveText +; loop through the pokemon's evolution entries +.checkEvolutionsLoop + ld a, [hli] + and a ; reached terminator? + jr z, .placeEvolutionStoneString ; if so, place the "NOT ABLE" string + inc hl + inc hl + cp EV_ITEM + jr nz, .checkEvolutionsLoop +; if it's a stone evolution entry + dec hl + dec hl + ld b, [hl] + ld a, [wEvoStoneItemID] ; the stone the player used + inc hl + inc hl + inc hl + cp b ; does the player's stone match this evolution entry's stone? + jr nz, .checkEvolutionsLoop +; if it does match + ld de, .ableToEvolveText +.placeEvolutionStoneString + ld bc, 20 + 9 ; down 1 row and right 9 columns + pop hl + push hl + add hl, bc + call PlaceString + pop hl + jr .printLevel +.ableToEvolveText + db "ABLE@" +.notAbleToEvolveText + db "NOT ABLE@" +.afterDrawingMonEntries + ld b, SET_PAL_PARTY_MENU + call RunPaletteCommand +.printMessage + ld hl, wd730 + ld a, [hl] + push af + push hl + set 6, [hl] ; turn off letter printing delay + ld a, [wPartyMenuTypeOrMessageID] ; message ID + cp $F0 + jr nc, .printItemUseMessage + add a + ld hl, PartyMenuMessagePointers + ld b, 0 + ld c, a + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + call PrintText +.done + pop hl + pop af + ld [hl], a + ld a, 1 + ld [H_AUTOBGTRANSFERENABLED], a + call Delay3 + jp GBPalNormal +.printItemUseMessage + and $0F + ld hl, PartyMenuItemUseMessagePointers + add a + ld c, a + ld b, 0 + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + push hl + ld a, [wUsedItemOnWhichPokemon] + ld hl, wPartyMonNicks + call GetPartyMonName + pop hl + call PrintText + jr .done + +PartyMenuItemUseMessagePointers: + dw AntidoteText + dw BurnHealText + dw IceHealText + dw AwakeningText + dw ParlyzHealText + dw PotionText + dw FullHealText + dw ReviveText + dw RareCandyText + +PartyMenuMessagePointers: + dw PartyMenuNormalText + dw PartyMenuItemUseText + dw PartyMenuBattleText + dw PartyMenuUseTMText + dw PartyMenuSwapMonText + dw PartyMenuItemUseText + +PartyMenuNormalText: + TX_FAR _PartyMenuNormalText + db "@" + +PartyMenuItemUseText: + TX_FAR _PartyMenuItemUseText + db "@" + +PartyMenuBattleText: + TX_FAR _PartyMenuBattleText + db "@" + +PartyMenuUseTMText: + TX_FAR _PartyMenuUseTMText + db "@" + +PartyMenuSwapMonText: + TX_FAR _PartyMenuSwapMonText + db "@" + +PotionText: + TX_FAR _PotionText + db "@" + +AntidoteText: + TX_FAR _AntidoteText + db "@" + +ParlyzHealText: + TX_FAR _ParlyzHealText + db "@" + +BurnHealText: + TX_FAR _BurnHealText + db "@" + +IceHealText: + TX_FAR _IceHealText + db "@" + +AwakeningText: + TX_FAR _AwakeningText + db "@" + +FullHealText: + TX_FAR _FullHealText + db "@" + +ReviveText: + TX_FAR _ReviveText + db "@" + +RareCandyText: + TX_FAR _RareCandyText + TX_SFX_ITEM_1 ; probably supposed to play SFX_LEVEL_UP but the wrong music bank is loaded + TX_BLINK + db "@" + +SetPartyMenuHPBarColor: + ld hl, wPartyMenuHPBarColors + ld a, [wWhichPartyMenuHPBar] + ld c, a + ld b, 0 + add hl, bc + call GetHealthBarColor + ld b, UPDATE_PARTY_MENU_BLK_PACKET + call RunPaletteCommand + ld hl, wWhichPartyMenuHPBar + inc [hl] + ret diff --git a/engine/menus/pc.asm b/engine/menus/pc.asm new file mode 100755 index 00000000..6ec45f2e --- /dev/null +++ b/engine/menus/pc.asm @@ -0,0 +1,141 @@ +ActivatePC:: + call SaveScreenTilesToBuffer2 + ld a, SFX_TURN_ON_PC + call PlaySound + ld hl, TurnedOnPC1Text + call PrintText + call WaitForSoundToFinish + ld hl, wFlags_0xcd60 + set 3, [hl] + call LoadScreenTilesFromBuffer2 + call Delay3 +PCMainMenu: + callba DisplayPCMainMenu + ld hl, wFlags_0xcd60 + set 5, [hl] + call HandleMenuInput + bit 1, a ;if player pressed B + jp nz, LogOff + ld a, [wMaxMenuItem] + cp 2 + jr nz, .next ;if not 2 menu items (not counting log off) (2 occurs before you get the pokedex) + ld a, [wCurrentMenuItem] + and a + jp z, BillsPC ;if current menu item id is 0, it's bills pc + cp 1 + jr z, .playersPC ;if current menu item id is 1, it's players pc + jp LogOff ;otherwise, it's 2, and you're logging off +.next + cp 3 + jr nz, .next2 ;if not 3 menu items (not counting log off) (3 occurs after you get the pokedex, before you beat the pokemon league) + ld a, [wCurrentMenuItem] + and a + jp z, BillsPC ;if current menu item id is 0, it's bills pc + cp 1 + jr z, .playersPC ;if current menu item id is 1, it's players pc + cp 2 + jp z, OaksPC ;if current menu item id is 2, it's oaks pc + jp LogOff ;otherwise, it's 3, and you're logging off +.next2 + ld a, [wCurrentMenuItem] + and a + jp z, BillsPC ;if current menu item id is 0, it's bills pc + cp 1 + jr z, .playersPC ;if current menu item id is 1, it's players pc + cp 2 + jp z, OaksPC ;if current menu item id is 2, it's oaks pc + cp 3 + jp z, PKMNLeague ;if current menu item id is 3, it's pkmnleague + jp LogOff ;otherwise, it's 4, and you're logging off +.playersPC + ld hl, wFlags_0xcd60 + res 5, [hl] + set 3, [hl] + ld a, SFX_ENTER_PC + call PlaySound + call WaitForSoundToFinish + ld hl, AccessedMyPCText + call PrintText + callba PlayerPC + jr ReloadMainMenu +OaksPC: + ld a, SFX_ENTER_PC + call PlaySound + call WaitForSoundToFinish + callba OpenOaksPC + jr ReloadMainMenu +PKMNLeague: + ld a, SFX_ENTER_PC + call PlaySound + call WaitForSoundToFinish + callba PKMNLeaguePC + jr ReloadMainMenu +BillsPC: + ld a, SFX_ENTER_PC + call PlaySound + call WaitForSoundToFinish + CheckEvent EVENT_MET_BILL + jr nz, .billsPC ;if you've met bill, use that bill's instead of someone's + ld hl, AccessedSomeonesPCText + jr .printText +.billsPC + ld hl, AccessedBillsPCText +.printText + call PrintText + callba BillsPC_ +ReloadMainMenu: + xor a + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + call ReloadMapData + call UpdateSprites + jp PCMainMenu +LogOff: + ld a, SFX_TURN_OFF_PC + call PlaySound + call WaitForSoundToFinish + ld hl, wFlags_0xcd60 + res 3, [hl] + res 5, [hl] + ret + +TurnedOnPC1Text: + TX_FAR _TurnedOnPC1Text + db "@" + +AccessedBillsPCText: + TX_FAR _AccessedBillsPCText + db "@" + +AccessedSomeonesPCText: + TX_FAR _AccessedSomeonesPCText + db "@" + +AccessedMyPCText: + TX_FAR _AccessedMyPCText + db "@" + +; removes one of the specified item ID [hItemToRemoveID] from bag (if existent) +RemoveItemByID:: + ld hl, wBagItems + ld a, [hItemToRemoveID] + ld b, a + xor a + ld [hItemToRemoveIndex], a +.loop + ld a, [hli] + cp -1 ; reached terminator? + ret z + cp b + jr z, .foundItem + inc hl + ld a, [hItemToRemoveIndex] + inc a + ld [hItemToRemoveIndex], a + jr .loop +.foundItem + ld a, $1 + ld [wItemQuantity], a + ld a, [hItemToRemoveIndex] + ld [wWhichPokemon], a + ld hl, wNumBagItems + jp RemoveItemFromInventory diff --git a/engine/menus/players_pc.asm b/engine/menus/players_pc.asm new file mode 100755 index 00000000..403632fa --- /dev/null +++ b/engine/menus/players_pc.asm @@ -0,0 +1,303 @@ +PlayerPC:: + ld hl, wd730 + set 6, [hl] + ld a, ITEM_NAME + ld [wNameListType], a + call SaveScreenTilesToBuffer1 + xor a + ld [wBagSavedMenuItem], a + ld [wParentMenuItem], a + ld a, [wFlags_0xcd60] + bit 3, a ; accessing player's PC through another PC? + jr nz, PlayerPCMenu +; accessing it directly + ld a, SFX_TURN_ON_PC + call PlaySound + ld hl, TurnedOnPC2Text + call PrintText + +PlayerPCMenu: + ld a, [wParentMenuItem] + ld [wCurrentMenuItem], a + ld hl, wFlags_0xcd60 + set 5, [hl] + call LoadScreenTilesFromBuffer2 + coord hl, 0, 0 + ld b, $8 + ld c, $e + call TextBoxBorder + call UpdateSprites + coord hl, 2, 2 + ld de, PlayersPCMenuEntries + call PlaceString + ld hl, wTopMenuItemY + ld a, 2 + ld [hli], a ; wTopMenuItemY + dec a + ld [hli], a ; wTopMenuItemX + inc hl + inc hl + ld a, 3 + ld [hli], a ; wMaxMenuItem + ld a, A_BUTTON | B_BUTTON + ld [hli], a ; wMenuWatchedKeys + xor a + ld [hl], a + ld hl, wListScrollOffset + ld [hli], a ; wListScrollOffset + ld [hl], a ; wMenuWatchMovingOutOfBounds + ld [wPlayerMonNumber], a + ld hl, WhatDoYouWantText + call PrintText + call HandleMenuInput + bit 1, a + jp nz, ExitPlayerPC + call PlaceUnfilledArrowMenuCursor + ld a, [wCurrentMenuItem] + ld [wParentMenuItem], a + and a + jp z, PlayerPCWithdraw + dec a + jp z, PlayerPCDeposit + dec a + jp z, PlayerPCToss + +ExitPlayerPC: + ld a, [wFlags_0xcd60] + bit 3, a ; accessing player's PC through another PC? + jr nz, .next +; accessing it directly + ld a, SFX_TURN_OFF_PC + call PlaySound + call WaitForSoundToFinish +.next + ld hl, wFlags_0xcd60 + res 5, [hl] + call LoadScreenTilesFromBuffer2 + xor a + ld [wListScrollOffset], a + ld [wBagSavedMenuItem], a + ld hl, wd730 + res 6, [hl] + xor a + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ret + +PlayerPCDeposit: + xor a + ld [wCurrentMenuItem], a + ld [wListScrollOffset], a + ld a, [wNumBagItems] + and a + jr nz, .loop + ld hl, NothingToDepositText + call PrintText + jp PlayerPCMenu +.loop + ld hl, WhatToDepositText + call PrintText + ld hl, wNumBagItems + ld a, l + ld [wListPointer], a + ld a, h + ld [wListPointer + 1], a + xor a + ld [wPrintItemPrices], a + ld a, ITEMLISTMENU + ld [wListMenuID], a + call DisplayListMenuID + jp c, PlayerPCMenu + call IsKeyItem + ld a, 1 + ld [wItemQuantity], a + ld a, [wIsKeyItem] + and a + jr nz, .next +; if it's not a key item, there can be more than one of the item + ld hl, DepositHowManyText + call PrintText + call DisplayChooseQuantityMenu + cp $ff + jp z, .loop +.next + ld hl, wNumBoxItems + call AddItemToInventory + jr c, .roomAvailable + ld hl, NoRoomToStoreText + call PrintText + jp .loop +.roomAvailable + ld hl, wNumBagItems + call RemoveItemFromInventory + call WaitForSoundToFinish + ld a, SFX_WITHDRAW_DEPOSIT + call PlaySound + call WaitForSoundToFinish + ld hl, ItemWasStoredText + call PrintText + jp .loop + +PlayerPCWithdraw: + xor a + ld [wCurrentMenuItem], a + ld [wListScrollOffset], a + ld a, [wNumBoxItems] + and a + jr nz, .loop + ld hl, NothingStoredText + call PrintText + jp PlayerPCMenu +.loop + ld hl, WhatToWithdrawText + call PrintText + ld hl, wNumBoxItems + ld a, l + ld [wListPointer], a + ld a, h + ld [wListPointer + 1], a + xor a + ld [wPrintItemPrices], a + ld a, ITEMLISTMENU + ld [wListMenuID], a + call DisplayListMenuID + jp c, PlayerPCMenu + call IsKeyItem + ld a, 1 + ld [wItemQuantity], a + ld a, [wIsKeyItem] + and a + jr nz, .next +; if it's not a key item, there can be more than one of the item + ld hl, WithdrawHowManyText + call PrintText + call DisplayChooseQuantityMenu + cp $ff + jp z, .loop +.next + ld hl, wNumBagItems + call AddItemToInventory + jr c, .roomAvailable + ld hl, CantCarryMoreText + call PrintText + jp .loop +.roomAvailable + ld hl, wNumBoxItems + call RemoveItemFromInventory + call WaitForSoundToFinish + ld a, SFX_WITHDRAW_DEPOSIT + call PlaySound + call WaitForSoundToFinish + ld hl, WithdrewItemText + call PrintText + jp .loop + +PlayerPCToss: + xor a + ld [wCurrentMenuItem], a + ld [wListScrollOffset], a + ld a, [wNumBoxItems] + and a + jr nz, .loop + ld hl, NothingStoredText + call PrintText + jp PlayerPCMenu +.loop + ld hl, WhatToTossText + call PrintText + ld hl, wNumBoxItems + ld a, l + ld [wListPointer], a + ld a, h + ld [wListPointer + 1], a + xor a + ld [wPrintItemPrices], a + ld a, ITEMLISTMENU + ld [wListMenuID], a + push hl + call DisplayListMenuID + pop hl + jp c, PlayerPCMenu + push hl + call IsKeyItem + pop hl + ld a, 1 + ld [wItemQuantity], a + ld a, [wIsKeyItem] + and a + jr nz, .next + ld a, [wcf91] + call IsItemHM + jr c, .next +; if it's not a key item, there can be more than one of the item + push hl + ld hl, TossHowManyText + call PrintText + call DisplayChooseQuantityMenu + pop hl + cp $ff + jp z, .loop +.next + call TossItem ; disallows tossing key items + jp .loop + +PlayersPCMenuEntries: + db "WITHDRAW ITEM" + next "DEPOSIT ITEM" + next "TOSS ITEM" + next "LOG OFF@" + +TurnedOnPC2Text: + TX_FAR _TurnedOnPC2Text + db "@" + +WhatDoYouWantText: + TX_FAR _WhatDoYouWantText + db "@" + +WhatToDepositText: + TX_FAR _WhatToDepositText + db "@" + +DepositHowManyText: + TX_FAR _DepositHowManyText + db "@" + +ItemWasStoredText: + TX_FAR _ItemWasStoredText + db "@" + +NothingToDepositText: + TX_FAR _NothingToDepositText + db "@" + +NoRoomToStoreText: + TX_FAR _NoRoomToStoreText + db "@" + +WhatToWithdrawText: + TX_FAR _WhatToWithdrawText + db "@" + +WithdrawHowManyText: + TX_FAR _WithdrawHowManyText + db "@" + +WithdrewItemText: + TX_FAR _WithdrewItemText + db "@" + +NothingStoredText: + TX_FAR _NothingStoredText + db "@" + +CantCarryMoreText: + TX_FAR _CantCarryMoreText + db "@" + +WhatToTossText: + TX_FAR _WhatToTossText + db "@" + +TossHowManyText: + TX_FAR _TossHowManyText + db "@" diff --git a/engine/menus/pokedex.asm b/engine/menus/pokedex.asm new file mode 100755 index 00000000..8e1fd480 --- /dev/null +++ b/engine/menus/pokedex.asm @@ -0,0 +1,665 @@ +ShowPokedexMenu: + call GBPalWhiteOut + call ClearScreen + call UpdateSprites + ld a, [wListScrollOffset] + push af + xor a + ld [wCurrentMenuItem], a + ld [wListScrollOffset], a + ld [wLastMenuItem], a + inc a + ld [wd11e], a + ld [hJoy7], a +.setUpGraphics + ld b, SET_PAL_GENERIC + call RunPaletteCommand + callab LoadPokedexTilePatterns +.doPokemonListMenu + ld hl, wTopMenuItemY + ld a, 3 + ld [hli], a ; top menu item Y + xor a + ld [hli], a ; top menu item X + inc a + ld [wMenuWatchMovingOutOfBounds], a + inc hl + inc hl + ld a, 6 + ld [hli], a ; max menu item ID + ld [hl], D_LEFT | D_RIGHT | B_BUTTON | A_BUTTON + call HandlePokedexListMenu + jr c, .goToSideMenu ; if the player chose a pokemon from the list +.exitPokedex + xor a + ld [wMenuWatchMovingOutOfBounds], a + ld [wCurrentMenuItem], a + ld [wLastMenuItem], a + ld [hJoy7], a + ld [wWastedByteCD3A], a + ld [wOverrideSimulatedJoypadStatesMask], a + pop af + ld [wListScrollOffset], a + call GBPalWhiteOutWithDelay3 + call RunDefaultPaletteCommand + jp ReloadMapData +.goToSideMenu + call HandlePokedexSideMenu + dec b + jr z, .exitPokedex ; if the player chose Quit + dec b + jr z, .doPokemonListMenu ; if pokemon not seen or player pressed B button + jp .setUpGraphics ; if pokemon data or area was shown + +; handles the menu on the lower right in the pokedex screen +; OUTPUT: +; b = reason for exiting menu +; 00: showed pokemon data or area +; 01: the player chose Quit +; 02: the pokemon has not been seen yet or the player pressed the B button +HandlePokedexSideMenu: + call PlaceUnfilledArrowMenuCursor + ld a, [wCurrentMenuItem] + push af + ld b, a + ld a, [wLastMenuItem] + push af + ld a, [wListScrollOffset] + push af + add b + inc a + ld [wd11e], a + ld a, [wd11e] + push af + ld a, [wDexMaxSeenMon] + push af ; this doesn't need to be preserved + ld hl, wPokedexSeen + call IsPokemonBitSet + ld b, 2 + jr z, .exitSideMenu + call PokedexToIndex + ld hl, wTopMenuItemY + ld a, 10 + ld [hli], a ; top menu item Y + ld a, 15 + ld [hli], a ; top menu item X + xor a + ld [hli], a ; current menu item ID + inc hl + ld a, 3 + ld [hli], a ; max menu item ID + ;ld a, A_BUTTON | B_BUTTON + ld [hli], a ; menu watched keys (A button and B button) + xor a + ld [hli], a ; old menu item ID + ld [wMenuWatchMovingOutOfBounds], a +.handleMenuInput + call HandleMenuInput + bit 1, a ; was the B button pressed? + ld b, 2 + jr nz, .buttonBPressed + ld a, [wCurrentMenuItem] + and a + jr z, .choseData + dec a + jr z, .choseCry + dec a + jr z, .choseArea +.choseQuit + ld b, 1 +.exitSideMenu + pop af + ld [wDexMaxSeenMon], a + pop af + ld [wd11e], a + pop af + ld [wListScrollOffset], a + pop af + ld [wLastMenuItem], a + pop af + ld [wCurrentMenuItem], a + push bc + coord hl, 0, 3 + ld de, 20 + lb bc, " ", 13 + call DrawTileLine ; cover up the menu cursor in the pokemon list + pop bc + ret + +.buttonBPressed + push bc + coord hl, 15, 10 + ld de, 20 + lb bc, " ", 7 + call DrawTileLine ; cover up the menu cursor in the side menu + pop bc + jr .exitSideMenu + +.choseData + call ShowPokedexDataInternal + ld b, 0 + jr .exitSideMenu + +; play pokemon cry +.choseCry + ld a, [wd11e] + call GetCryData + call PlaySound + jr .handleMenuInput + +.choseArea + predef LoadTownMap_Nest ; display pokemon areas + ld b, 0 + jr .exitSideMenu + +; handles the list of pokemon on the left of the pokedex screen +; sets carry flag if player presses A, unsets carry flag if player presses B +HandlePokedexListMenu: + xor a + ld [H_AUTOBGTRANSFERENABLED], a +; draw the horizontal line separating the seen and owned amounts from the menu + coord hl, 15, 8 + ld a, "─" + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + ld [hli], a + coord hl, 14, 0 + ld [hl], $71 ; vertical line tile + coord hl, 14, 1 + call DrawPokedexVerticalLine + coord hl, 14, 9 + call DrawPokedexVerticalLine + ld hl, wPokedexSeen + ld b, wPokedexSeenEnd - wPokedexSeen + call CountSetBits + ld de, wNumSetBits + coord hl, 16, 3 + lb bc, 1, 3 + call PrintNumber ; print number of seen pokemon + ld hl, wPokedexOwned + ld b, wPokedexOwnedEnd - wPokedexOwned + call CountSetBits + ld de, wNumSetBits + coord hl, 16, 6 + lb bc, 1, 3 + call PrintNumber ; print number of owned pokemon + coord hl, 16, 2 + ld de, PokedexSeenText + call PlaceString + coord hl, 16, 5 + ld de, PokedexOwnText + call PlaceString + coord hl, 1, 1 + ld de, PokedexContentsText + call PlaceString + coord hl, 16, 10 + ld de, PokedexMenuItemsText + call PlaceString +; find the highest pokedex number among the pokemon the player has seen + ld hl, wPokedexSeenEnd - 1 + ld b, (wPokedexSeenEnd - wPokedexSeen) * 8 + 1 +.maxSeenPokemonLoop + ld a, [hld] + ld c, 8 +.maxSeenPokemonInnerLoop + dec b + sla a + jr c, .storeMaxSeenPokemon + dec c + jr nz, .maxSeenPokemonInnerLoop + jr .maxSeenPokemonLoop + +.storeMaxSeenPokemon + ld a, b + ld [wDexMaxSeenMon], a +.loop + xor a + ld [H_AUTOBGTRANSFERENABLED], a + coord hl, 4, 2 + lb bc, 14, 10 + call ClearScreenArea + coord hl, 1, 3 + ld a, [wListScrollOffset] + ld [wd11e], a + ld d, 7 + ld a, [wDexMaxSeenMon] + cp 7 + jr nc, .printPokemonLoop + ld d, a + dec a + ld [wMaxMenuItem], a +; loop to print pokemon pokedex numbers and names +; if the player has owned the pokemon, it puts a pokeball beside the name +.printPokemonLoop + ld a, [wd11e] + inc a + ld [wd11e], a + push af + push de + push hl + ld de, -SCREEN_WIDTH + add hl, de + ld de, wd11e + lb bc, LEADING_ZEROES | 1, 3 + call PrintNumber ; print the pokedex number + ld de, SCREEN_WIDTH + add hl, de + dec hl + push hl + ld hl, wPokedexOwned + call IsPokemonBitSet + pop hl + ld a, " " + jr z, .writeTile + ld a, $72 ; pokeball tile +.writeTile + ld [hl], a ; put a pokeball next to pokemon that the player has owned + push hl + ld hl, wPokedexSeen + call IsPokemonBitSet + jr nz, .getPokemonName ; if the player has seen the pokemon + ld de, .dashedLine ; print a dashed line in place of the name if the player hasn't seen the pokemon + jr .skipGettingName +.dashedLine ; for unseen pokemon in the list + db "----------@" +.getPokemonName + call PokedexToIndex + call GetMonName +.skipGettingName + pop hl + inc hl + call PlaceString + pop hl + ld bc, 2 * SCREEN_WIDTH + add hl, bc + pop de + pop af + ld [wd11e], a + dec d + jr nz, .printPokemonLoop + ld a, 01 + ld [H_AUTOBGTRANSFERENABLED], a + call Delay3 + call GBPalNormal + call HandleMenuInput + bit 1, a ; was the B button pressed? + jp nz, .buttonBPressed +.checkIfUpPressed + bit 6, a ; was Up pressed? + jr z, .checkIfDownPressed +.upPressed ; scroll up one row + ld a, [wListScrollOffset] + and a + jp z, .loop + dec a + ld [wListScrollOffset], a + jp .loop +.checkIfDownPressed + bit 7, a ; was Down pressed? + jr z, .checkIfRightPressed +.downPressed ; scroll down one row + ld a, [wDexMaxSeenMon] + cp 7 + jp c, .loop ; can't if the list is shorter than 7 + sub 7 + ld b, a + ld a, [wListScrollOffset] + cp b + jp z, .loop + inc a + ld [wListScrollOffset], a + jp .loop +.checkIfRightPressed + bit 4, a ; was Right pressed? + jr z, .checkIfLeftPressed +.rightPressed ; scroll down 7 rows + ld a, [wDexMaxSeenMon] + cp 7 + jp c, .loop ; can't if the list is shorter than 7 + sub 6 + ld b, a + ld a, [wListScrollOffset] + add 7 + ld [wListScrollOffset], a + cp b + jp c, .loop + dec b + ld a, b + ld [wListScrollOffset], a + jp .loop +.checkIfLeftPressed ; scroll up 7 rows + bit 5, a ; was Left pressed? + jr z, .buttonAPressed +.leftPressed + ld a, [wListScrollOffset] + sub 7 + ld [wListScrollOffset], a + jp nc, .loop + xor a + ld [wListScrollOffset], a + jp .loop +.buttonAPressed + scf + ret +.buttonBPressed + and a + ret + +DrawPokedexVerticalLine: + ld c, 9 ; height of line + ld de, SCREEN_WIDTH + ld a, $71 ; vertical line tile +.loop + ld [hl], a + add hl, de + xor 1 ; toggle between vertical line tile and box tile + dec c + jr nz, .loop + ret + +PokedexSeenText: + db "SEEN@" + +PokedexOwnText: + db "OWN@" + +PokedexContentsText: + db "CONTENTS@" + +PokedexMenuItemsText: + db "DATA" + next "CRY" + next "AREA" + next "QUIT@" + +; tests if a pokemon's bit is set in the seen or owned pokemon bit fields +; INPUT: +; [wd11e] = pokedex number +; hl = address of bit field +IsPokemonBitSet: + ld a, [wd11e] + dec a + ld c, a + ld b, FLAG_TEST + predef FlagActionPredef + ld a, c + and a + ret + +; function to display pokedex data from outside the pokedex +ShowPokedexData: + call GBPalWhiteOutWithDelay3 + call ClearScreen + call UpdateSprites + callab LoadPokedexTilePatterns ; load pokedex tiles + +; function to display pokedex data from inside the pokedex +ShowPokedexDataInternal: + ld hl, wd72c + set 1, [hl] + ld a, $33 ; 3/7 volume + ld [rNR50], a + call GBPalWhiteOut ; zero all palettes + call ClearScreen + ld a, [wd11e] ; pokemon ID + ld [wcf91], a + push af + ld b, SET_PAL_POKEDEX + call RunPaletteCommand + pop af + ld [wd11e], a + ld a, [hTilesetType] + push af + xor a + ld [hTilesetType], a + + coord hl, 0, 0 + ld de, 1 + lb bc, $64, SCREEN_WIDTH + call DrawTileLine ; draw top border + + coord hl, 0, 17 + ld b, $6f + call DrawTileLine ; draw bottom border + + coord hl, 0, 1 + ld de, 20 + lb bc, $66, $10 + call DrawTileLine ; draw left border + + coord hl, 19, 1 + ld b, $67 + call DrawTileLine ; draw right border + + ld a, $63 ; upper left corner tile + Coorda 0, 0 + ld a, $65 ; upper right corner tile + Coorda 19, 0 + ld a, $6c ; lower left corner tile + Coorda 0, 17 + ld a, $6e ; lower right corner tile + Coorda 19, 17 + + coord hl, 0, 9 + ld de, PokedexDataDividerLine + call PlaceString ; draw horizontal divider line + + coord hl, 9, 6 + ld de, HeightWeightText + call PlaceString + + call GetMonName + coord hl, 9, 2 + call PlaceString + + ld hl, PokedexEntryPointers + ld a, [wd11e] + dec a + ld e, a + ld d, 0 + add hl, de + add hl, de + ld a, [hli] + ld e, a + ld d, [hl] ; de = address of pokedex entry + + coord hl, 9, 4 + call PlaceString ; print species name + + ld h, b + ld l, c + push de + ld a, [wd11e] + push af + call IndexToPokedex + + coord hl, 2, 8 + ld a, "№" + ld [hli], a + ld a, "⠄" + ld [hli], a + ld de, wd11e + lb bc, LEADING_ZEROES | 1, 3 + call PrintNumber ; print pokedex number + + ld hl, wPokedexOwned + call IsPokemonBitSet + pop af + ld [wd11e], a + ld a, [wcf91] + ld [wd0b5], a + pop de + + push af + push bc + push de + push hl + + call Delay3 + call GBPalNormal + call GetMonHeader ; load pokemon picture location + coord hl, 1, 1 + call LoadFlippedFrontSpriteByMonIndex ; draw pokemon picture + ld a, [wcf91] + call PlayCry ; play pokemon cry + + pop hl + pop de + pop bc + pop af + + ld a, c + and a + jp z, .waitForButtonPress ; if the pokemon has not been owned, don't print the height, weight, or description + inc de ; de = address of feet (height) + ld a, [de] ; reads feet, but a is overwritten without being used + coord hl, 12, 6 + lb bc, 1, 2 + call PrintNumber ; print feet (height) + ld a, $60 ; feet symbol tile (one tick) + ld [hl], a + inc de + inc de ; de = address of inches (height) + coord hl, 15, 6 + lb bc, LEADING_ZEROES | 1, 2 + call PrintNumber ; print inches (height) + ld a, $61 ; inches symbol tile (two ticks) + ld [hl], a +; now print the weight (note that weight is stored in tenths of pounds internally) + inc de + inc de + inc de ; de = address of upper byte of weight + push de +; put weight in big-endian order at hDexWeight + ld hl, hDexWeight + ld a, [hl] ; save existing value of [hDexWeight] + push af + ld a, [de] ; a = upper byte of weight + ld [hli], a ; store upper byte of weight in [hDexWeight] + ld a, [hl] ; save existing value of [hDexWeight + 1] + push af + dec de + ld a, [de] ; a = lower byte of weight + ld [hl], a ; store lower byte of weight in [hDexWeight + 1] + ld de, hDexWeight + coord hl, 11, 8 + lb bc, 2, 5 ; 2 bytes, 5 digits + call PrintNumber ; print weight + coord hl, 14, 8 + ld a, [hDexWeight + 1] + sub 10 + ld a, [hDexWeight] + sbc 0 + jr nc, .next + ld [hl], "0" ; if the weight is less than 10, put a 0 before the decimal point +.next + inc hl + ld a, [hli] + ld [hld], a ; make space for the decimal point by moving the last digit forward one tile + ld [hl], "⠄" ; decimal point tile + pop af + ld [hDexWeight + 1], a ; restore original value of [hDexWeight + 1] + pop af + ld [hDexWeight], a ; restore original value of [hDexWeight] + pop hl + inc hl ; hl = address of pokedex description text + coord bc, 1, 11 + ld a, 2 + ld [$fff4], a + call TextCommandProcessor ; print pokedex description text + xor a + ld [$fff4], a +.waitForButtonPress + call JoypadLowSensitivity + ld a, [hJoy5] + and A_BUTTON | B_BUTTON + jr z, .waitForButtonPress + pop af + ld [hTilesetType], a + call GBPalWhiteOut + call ClearScreen + call RunDefaultPaletteCommand + call LoadTextBoxTilePatterns + call GBPalNormal + ld hl, wd72c + res 1, [hl] + ld a, $77 ; max volume + ld [rNR50], a + ret + +HeightWeightText: + db "HT ?",$60,"??",$61 + next "WT ???lb@" + +; XXX does anything point to this? +PokeText: + db "#@" + +; horizontal line that divides the pokedex text description from the rest of the data +PokedexDataDividerLine: + db $68,$69,$6B,$69,$6B + db $69,$6B,$69,$6B,$6B + db $6B,$6B,$69,$6B,$69 + db $6B,$69,$6B,$69,$6A + db "@" + +; draws a line of tiles +; INPUT: +; b = tile ID +; c = number of tile ID's to write +; de = amount to destination address after each tile (1 for horizontal, 20 for vertical) +; hl = destination address +DrawTileLine: + push bc + push de +.loop + ld [hl], b + add hl, de + dec c + jr nz, .loop + pop de + pop bc + ret + +INCLUDE "data/pokedex_entries.asm" + +PokedexToIndex: + ; converts the Pokédex number at wd11e to an index + push bc + push hl + ld a, [wd11e] + ld b, a + ld c, 0 + ld hl, PokedexOrder + +.loop ; go through the list until we find an entry with a matching dex number + inc c + ld a, [hli] + cp b + jr nz, .loop + + ld a, c + ld [wd11e], a + pop hl + pop bc + ret + +IndexToPokedex: + ; converts the index number at wd11e to a Pokédex number + push bc + push hl + ld a, [wd11e] + dec a + ld hl, PokedexOrder + ld b, 0 + ld c, a + add hl, bc + ld a, [hl] + ld [wd11e], a + pop hl + pop bc + ret + +INCLUDE "data/pokedex_order.asm" diff --git a/engine/menus/save.asm b/engine/menus/save.asm new file mode 100755 index 00000000..33a7ba8d --- /dev/null +++ b/engine/menus/save.asm @@ -0,0 +1,708 @@ +LoadSAV: +;(if carry -> write +;"the file data is destroyed") + call ClearScreen + call LoadFontTilePatterns + call LoadTextBoxTilePatterns + call LoadSAV0 + jr c, .badsum + call LoadSAV1 + jr c, .badsum + call LoadSAV2 + jr c, .badsum + ld a, $2 ; good checksum + jr .goodsum +.badsum + ld hl, wd730 + push hl + set 6, [hl] + ld hl, FileDataDestroyedText + call PrintText + ld c, 100 + call DelayFrames + pop hl + res 6, [hl] + ld a, $1 ; bad checksum +.goodsum + ld [wSaveFileStatus], a + ret + +FileDataDestroyedText: + TX_FAR _FileDataDestroyedText + db "@" + +LoadSAV0: + ld a, SRAM_ENABLE + ld [MBC1SRamEnable], a + ld a, $1 + ld [MBC1SRamBankingMode], a + ld [MBC1SRamBank], a + ld hl, sPlayerName ; hero name located in SRAM + ld bc, sMainDataCheckSum - sPlayerName ; but here checks the full SAV + call SAVCheckSum + ld c, a + ld a, [sMainDataCheckSum] ; SAV's checksum + cp c + jp z, .checkSumsMatched + +; If the computed checksum didn't match the saved on, try again. + ld hl, sPlayerName + ld bc, sMainDataCheckSum - sPlayerName + call SAVCheckSum + ld c, a + ld a, [sMainDataCheckSum] ; SAV's checksum + cp c + jp nz, SAVBadCheckSum + +.checkSumsMatched + ld hl, sPlayerName + ld de, wPlayerName + ld bc, NAME_LENGTH + call CopyData + ld hl, sMainData + ld de, wMainDataStart + ld bc, wMainDataEnd - wMainDataStart + call CopyData + ld hl, wCurMapTileset + set 7, [hl] + ld hl, sSpriteData + ld de, wSpriteDataStart + ld bc, wSpriteDataEnd - wSpriteDataStart + call CopyData + ld a, [sTilesetType] + ld [hTilesetType], a + ld hl, sCurBoxData + ld de, wBoxDataStart + ld bc, wBoxDataEnd - wBoxDataStart + call CopyData + and a + jp SAVGoodChecksum + +LoadSAV1: + ld a, SRAM_ENABLE + ld [MBC1SRamEnable], a + ld a, $1 + ld [MBC1SRamBankingMode], a + ld [MBC1SRamBank], a + ld hl, sPlayerName ; hero name located in SRAM + ld bc, sMainDataCheckSum - sPlayerName ; but here checks the full SAV + call SAVCheckSum + ld c, a + ld a, [sMainDataCheckSum] ; SAV's checksum + cp c + jr nz, SAVBadCheckSum + ld hl, sCurBoxData + ld de, wBoxDataStart + ld bc, wBoxDataEnd - wBoxDataStart + call CopyData + and a + jp SAVGoodChecksum + +LoadSAV2: + ld a, SRAM_ENABLE + ld [MBC1SRamEnable], a + ld a, $1 + ld [MBC1SRamBankingMode], a + ld [MBC1SRamBank], a + ld hl, sPlayerName ; hero name located in SRAM + ld bc, sMainDataCheckSum - sPlayerName ; but here checks the full SAV + call SAVCheckSum + ld c, a + ld a, [sMainDataCheckSum] ; SAV's checksum + cp c + jp nz, SAVBadCheckSum + ld hl, sPartyData + ld de, wPartyDataStart + ld bc, wPartyDataEnd - wPartyDataStart + call CopyData + ld hl, sMainData + ld de, wPokedexOwned + ld bc, wPokedexSeenEnd - wPokedexOwned + call CopyData + and a + jp SAVGoodChecksum + +SAVBadCheckSum: + scf + +SAVGoodChecksum: + ld a, $0 + ld [MBC1SRamBankingMode], a + ld [MBC1SRamEnable], a + ret + +LoadSAVIgnoreBadCheckSum: +; unused function that loads save data and ignores bad checksums + call LoadSAV0 + call LoadSAV1 + jp LoadSAV2 + +SaveSAV: + callba PrintSaveScreenText + ld hl, WouldYouLikeToSaveText + call SaveSAVConfirm + and a ;|0 = Yes|1 = No| + ret nz + ld a, [wSaveFileStatus] + dec a + jr z, .save + call SAVCheckRandomID + jr z, .save + ld hl, OlderFileWillBeErasedText + call SaveSAVConfirm + and a + ret nz +.save + call SaveSAVtoSRAM + coord hl, 1, 13 + lb bc, 4, 18 + call ClearScreenArea + coord hl, 1, 14 + ld de, NowSavingString + call PlaceString + ld c, 120 + call DelayFrames + ld hl, GameSavedText + call PrintText + ld a, SFX_SAVE + call PlaySoundWaitForCurrent + call WaitForSoundToFinish + ld c, 30 + jp DelayFrames + +NowSavingString: + db "Now saving...@" + +SaveSAVConfirm: + call PrintText + coord hl, 0, 7 + lb bc, 8, 1 + ld a, TWO_OPTION_MENU + ld [wTextBoxID], a + call DisplayTextBoxID ; yes/no menu + ld a, [wCurrentMenuItem] + ret + +WouldYouLikeToSaveText: + TX_FAR _WouldYouLikeToSaveText + db "@" + +GameSavedText: + TX_FAR _GameSavedText + db "@" + +OlderFileWillBeErasedText: + TX_FAR _OlderFileWillBeErasedText + db "@" + +SaveSAVtoSRAM0: + ld a, SRAM_ENABLE + ld [MBC1SRamEnable], a + ld a, $1 + ld [MBC1SRamBankingMode], a + ld [MBC1SRamBank], a + ld hl, wPlayerName + ld de, sPlayerName + ld bc, NAME_LENGTH + call CopyData + ld hl, wMainDataStart + ld de, sMainData + ld bc, wMainDataEnd - wMainDataStart + call CopyData + ld hl, wSpriteDataStart + ld de, sSpriteData + ld bc, wSpriteDataEnd - wSpriteDataStart + call CopyData + ld hl, wBoxDataStart + ld de, sCurBoxData + ld bc, wBoxDataEnd - wBoxDataStart + call CopyData + ld a, [hTilesetType] + ld [sTilesetType], a + ld hl, sPlayerName + ld bc, sMainDataCheckSum - sPlayerName + call SAVCheckSum + ld [sMainDataCheckSum], a + xor a + ld [MBC1SRamBankingMode], a + ld [MBC1SRamEnable], a + ret + +SaveSAVtoSRAM1: +; stored pokémon + ld a, SRAM_ENABLE + ld [MBC1SRamEnable], a + ld a, $1 + ld [MBC1SRamBankingMode], a + ld [MBC1SRamBank], a + ld hl, wBoxDataStart + ld de, sCurBoxData + ld bc, wBoxDataEnd - wBoxDataStart + call CopyData + ld hl, sPlayerName + ld bc, sMainDataCheckSum - sPlayerName + call SAVCheckSum + ld [sMainDataCheckSum], a + xor a + ld [MBC1SRamBankingMode], a + ld [MBC1SRamEnable], a + ret + +SaveSAVtoSRAM2: + ld a, SRAM_ENABLE + ld [MBC1SRamEnable], a + ld a, $1 + ld [MBC1SRamBankingMode], a + ld [MBC1SRamBank], a + ld hl, wPartyDataStart + ld de, sPartyData + ld bc, wPartyDataEnd - wPartyDataStart + call CopyData + ld hl, wPokedexOwned ; pokédex only + ld de, sMainData + ld bc, wPokedexSeenEnd - wPokedexOwned + call CopyData + ld hl, sPlayerName + ld bc, sMainDataCheckSum - sPlayerName + call SAVCheckSum + ld [sMainDataCheckSum], a + xor a + ld [MBC1SRamBankingMode], a + ld [MBC1SRamEnable], a + ret + +SaveSAVtoSRAM:: + ld a, $2 + ld [wSaveFileStatus], a + call SaveSAVtoSRAM0 + call SaveSAVtoSRAM1 + jp SaveSAVtoSRAM2 + +SAVCheckSum: +;Check Sum (result[1 byte] is complemented) + ld d, 0 +.loop + ld a, [hli] + add d + ld d, a + dec bc + ld a, b + or c + jr nz, .loop + ld a, d + cpl + ret + +CalcIndividualBoxCheckSums: + ld hl, sBox1 ; sBox7 + ld de, sBank2IndividualBoxChecksums ; sBank3IndividualBoxChecksums + ld b, NUM_BOXES / 2 +.loop + push bc + push de + ld bc, wBoxDataEnd - wBoxDataStart + call SAVCheckSum + pop de + ld [de], a + inc de + pop bc + dec b + jr nz, .loop + ret + +GetBoxSRAMLocation: +; in: a = box num +; out: b = box SRAM bank, hl = pointer to start of box + ld hl, BoxSRAMPointerTable + ld a, [wCurrentBoxNum] + and $7f + cp NUM_BOXES / 2 + ld b, 2 + jr c, .next + inc b + sub NUM_BOXES / 2 +.next + ld e, a + ld d, 0 + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + ret + +BoxSRAMPointerTable: + dw sBox1 ; sBox7 + dw sBox2 ; sBox8 + dw sBox3 ; sBox9 + dw sBox4 ; sBox10 + dw sBox5 ; sBox11 + dw sBox6 ; sBox12 + +ChangeBox:: + ld hl, WhenYouChangeBoxText + call PrintText + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + ret nz ; return if No was chosen + ld hl, wCurrentBoxNum + bit 7, [hl] ; is it the first time player is changing the box? + call z, EmptyAllSRAMBoxes ; if so, empty all boxes in SRAM + call DisplayChangeBoxMenu + call UpdateSprites + ld hl, hFlags_0xFFF6 + set 1, [hl] + call HandleMenuInput + ld hl, hFlags_0xFFF6 + res 1, [hl] + bit 1, a ; pressed b + ret nz + call GetBoxSRAMLocation + ld e, l + ld d, h + ld hl, wBoxDataStart + call CopyBoxToOrFromSRAM ; copy old box from WRAM to SRAM + ld a, [wCurrentMenuItem] + set 7, a + ld [wCurrentBoxNum], a + call GetBoxSRAMLocation + ld de, wBoxDataStart + call CopyBoxToOrFromSRAM ; copy new box from SRAM to WRAM + ld hl, wMapTextPtr + ld de, wChangeBoxSavedMapTextPointer + ld a, [hli] + ld [de], a + inc de + ld a, [hl] + ld [de], a + call RestoreMapTextPointer + call SaveSAVtoSRAM + ld hl, wChangeBoxSavedMapTextPointer + call SetMapTextPointer + ld a, SFX_SAVE + call PlaySoundWaitForCurrent + call WaitForSoundToFinish + ret + +WhenYouChangeBoxText: + TX_FAR _WhenYouChangeBoxText + db "@" + +CopyBoxToOrFromSRAM: +; copy an entire box from hl to de with b as the SRAM bank + push hl + ld a, SRAM_ENABLE + ld [MBC1SRamEnable], a + ld a, $1 + ld [MBC1SRamBankingMode], a + ld a, b + ld [MBC1SRamBank], a + ld bc, wBoxDataEnd - wBoxDataStart + call CopyData + pop hl + +; mark the memory that the box was copied from as am empty box + xor a + ld [hli], a + dec a + ld [hl], a + + ld hl, sBox1 ; sBox7 + ld bc, sBank2AllBoxesChecksum - sBox1 + call SAVCheckSum + ld [sBank2AllBoxesChecksum], a ; sBank3AllBoxesChecksum + call CalcIndividualBoxCheckSums + xor a + ld [MBC1SRamBankingMode], a + ld [MBC1SRamEnable], a + ret + +DisplayChangeBoxMenu: + xor a + ld [H_AUTOBGTRANSFERENABLED], a + ld a, A_BUTTON | B_BUTTON + ld [wMenuWatchedKeys], a + ld a, 11 + ld [wMaxMenuItem], a + ld a, 1 + ld [wTopMenuItemY], a + ld a, 12 + ld [wTopMenuItemX], a + xor a + ld [wMenuWatchMovingOutOfBounds], a + ld a, [wCurrentBoxNum] + and $7f + ld [wCurrentMenuItem], a + ld [wLastMenuItem], a + coord hl, 0, 0 + ld b, 2 + ld c, 9 + call TextBoxBorder + ld hl, ChooseABoxText + call PrintText + coord hl, 11, 0 + ld b, 12 + ld c, 7 + call TextBoxBorder + ld hl, hFlags_0xFFF6 + set 2, [hl] + ld de, BoxNames + coord hl, 13, 1 + call PlaceString + ld hl, hFlags_0xFFF6 + res 2, [hl] + ld a, [wCurrentBoxNum] + and $7f + cp 9 + jr c, .singleDigitBoxNum + sub 9 + coord hl, 8, 2 + ld [hl], "1" + add "0" + jr .next +.singleDigitBoxNum + add "1" +.next + Coorda 9, 2 + coord hl, 1, 2 + ld de, BoxNoText + call PlaceString + call GetMonCountsForAllBoxes + coord hl, 18, 1 + ld de, wBoxMonCounts + ld bc, SCREEN_WIDTH + ld a, $c +.loop + push af + ld a, [de] + and a ; is the box empty? + jr z, .skipPlacingPokeball + ld [hl], $78 ; place pokeball tile next to box name if box not empty +.skipPlacingPokeball + add hl, bc + inc de + pop af + dec a + jr nz, .loop + ld a, 1 + ld [H_AUTOBGTRANSFERENABLED], a + ret + +ChooseABoxText: + TX_FAR _ChooseABoxText + db "@" + +BoxNames: + db "BOX 1" + next "BOX 2" + next "BOX 3" + next "BOX 4" + next "BOX 5" + next "BOX 6" + next "BOX 7" + next "BOX 8" + next "BOX 9" + next "BOX10" + next "BOX11" + next "BOX12@" + +BoxNoText: + db "BOX No.@" + +EmptyAllSRAMBoxes: +; marks all boxes in SRAM as empty (initialisation for the first time the +; player changes the box) + ld a, SRAM_ENABLE + ld [MBC1SRamEnable], a + ld a, $1 + ld [MBC1SRamBankingMode], a + ld a, 2 + ld [MBC1SRamBank], a + call EmptySRAMBoxesInBank + ld a, 3 + ld [MBC1SRamBank], a + call EmptySRAMBoxesInBank + xor a + ld [MBC1SRamBankingMode], a + ld [MBC1SRamEnable], a + ret + +EmptySRAMBoxesInBank: +; marks every box in the current SRAM bank as empty + ld hl, sBox1 ; sBox7 + call EmptySRAMBox + ld hl, sBox2 ; sBox8 + call EmptySRAMBox + ld hl, sBox3 ; sBox9 + call EmptySRAMBox + ld hl, sBox4 ; sBox10 + call EmptySRAMBox + ld hl, sBox5 ; sBox11 + call EmptySRAMBox + ld hl, sBox6 ; sBox12 + call EmptySRAMBox + ld hl, sBox1 ; sBox7 + ld bc, sBank2AllBoxesChecksum - sBox1 + call SAVCheckSum + ld [sBank2AllBoxesChecksum], a ; sBank3AllBoxesChecksum + call CalcIndividualBoxCheckSums + ret + +EmptySRAMBox: + xor a + ld [hli], a + dec a + ld [hl], a + ret + +GetMonCountsForAllBoxes: + ld hl, wBoxMonCounts + push hl + ld a, SRAM_ENABLE + ld [MBC1SRamEnable], a + ld a, $1 + ld [MBC1SRamBankingMode], a + ld a, $2 + ld [MBC1SRamBank], a + call GetMonCountsForBoxesInBank + ld a, $3 + ld [MBC1SRamBank], a + call GetMonCountsForBoxesInBank + xor a + ld [MBC1SRamBankingMode], a + ld [MBC1SRamEnable], a + pop hl + +; copy the count for the current box from WRAM + ld a, [wCurrentBoxNum] + and $7f + ld c, a + ld b, 0 + add hl, bc + ld a, [wNumInBox] + ld [hl], a + + ret + +GetMonCountsForBoxesInBank: + ld a, [sBox1] ; sBox7 + ld [hli], a + ld a, [sBox2] ; sBox8 + ld [hli], a + ld a, [sBox3] ; sBox9 + ld [hli], a + ld a, [sBox4] ; sBox10 + ld [hli], a + ld a, [sBox5] ; sBox11 + ld [hli], a + ld a, [sBox6] ; sBox12 + ld [hli], a + ret + +SAVCheckRandomID: +;checks if Sav file is the same by checking player's name 1st letter ($a598) +; and the two random numbers generated at game beginning +;(which are stored at wPlayerID)s + ld a, $0a + ld [MBC1SRamEnable], a + ld a, $01 + ld [MBC1SRamBankingMode], a + ld [MBC1SRamBank], a + ld a, [sPlayerName] + and a + jr z, .next + ld hl, sPlayerName + ld bc, sMainDataCheckSum - sPlayerName + call SAVCheckSum + ld c, a + ld a, [sMainDataCheckSum] + cp c + jr nz, .next + ld hl, sMainData + (wPlayerID - wMainDataStart) ; player ID + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [wPlayerID] + cp l + jr nz, .next + ld a, [wPlayerID + 1] + cp h +.next + ld a, $00 + ld [MBC1SRamBankingMode], a + ld [MBC1SRamEnable], a + ret + +SaveHallOfFameTeams: + ld a, [wNumHoFTeams] + dec a + cp HOF_TEAM_CAPACITY + jr nc, .shiftHOFTeams + ld hl, sHallOfFame + ld bc, HOF_TEAM + call AddNTimes + ld e, l + ld d, h + ld hl, wHallOfFame + ld bc, HOF_TEAM + jr HallOfFame_Copy + +.shiftHOFTeams +; if the space designated for HOF teams is full, then shift all HOF teams to the next slot, making space for the new HOF team +; this deletes the last HOF team though + ld hl, sHallOfFame + HOF_TEAM + ld de, sHallOfFame + ld bc, HOF_TEAM * (HOF_TEAM_CAPACITY - 1) + call HallOfFame_Copy + ld hl, wHallOfFame + ld de, sHallOfFame + HOF_TEAM * (HOF_TEAM_CAPACITY - 1) + ld bc, HOF_TEAM + jr HallOfFame_Copy + +LoadHallOfFameTeams: + ld hl, sHallOfFame + ld bc, HOF_TEAM + ld a, [wHoFTeamIndex] + call AddNTimes + ld de, wHallOfFame + ld bc, HOF_TEAM + ; fallthrough + +HallOfFame_Copy: + ld a, SRAM_ENABLE + ld [MBC1SRamEnable], a + ld a, $1 + ld [MBC1SRamBankingMode], a + xor a + ld [MBC1SRamBank], a + call CopyData + xor a + ld [MBC1SRamBankingMode], a + ld [MBC1SRamEnable], a + ret + +ClearSAV: + ld a, SRAM_ENABLE + ld [MBC1SRamEnable], a + ld a, $1 + ld [MBC1SRamBankingMode], a + xor a + call PadSRAM_FF + ld a, $1 + call PadSRAM_FF + ld a, $2 + call PadSRAM_FF + ld a, $3 + call PadSRAM_FF + xor a + ld [MBC1SRamBankingMode], a + ld [MBC1SRamEnable], a + ret + +PadSRAM_FF: + ld [MBC1SRamBank], a + ld hl, $a000 + ld bc, $2000 + ld a, $ff + jp FillMemory diff --git a/engine/menus/start_sub_menus.asm b/engine/menus/start_sub_menus.asm new file mode 100755 index 00000000..b81769a2 --- /dev/null +++ b/engine/menus/start_sub_menus.asm @@ -0,0 +1,808 @@ +StartMenu_Pokedex:: + predef ShowPokedexMenu + call LoadScreenTilesFromBuffer2 ; restore saved screen + call Delay3 + call LoadGBPal + call UpdateSprites + jp RedisplayStartMenu + +StartMenu_Pokemon:: + ld a, [wPartyCount] + and a + jp z, RedisplayStartMenu + xor a + ld [wMenuItemToSwap], a + ld [wPartyMenuTypeOrMessageID], a + ld [wUpdateSpritesEnabled], a + call DisplayPartyMenu + jr .checkIfPokemonChosen +.loop + xor a + ld [wMenuItemToSwap], a + ld [wPartyMenuTypeOrMessageID], a + call GoBackToPartyMenu +.checkIfPokemonChosen + jr nc, .chosePokemon +.exitMenu + call GBPalWhiteOutWithDelay3 + call RestoreScreenTilesAndReloadTilePatterns + call LoadGBPal + jp RedisplayStartMenu +.chosePokemon + call SaveScreenTilesToBuffer1 + ld a, FIELD_MOVE_MON_MENU + ld [wTextBoxID], a + call DisplayTextBoxID ; display pokemon menu options + ld hl, wFieldMoves + lb bc, 2, 12 ; max menu item ID, top menu item Y + ld e, 5 +.adjustMenuVariablesLoop + dec e + jr z, .storeMenuVariables + ld a, [hli] + and a ; end of field moves? + jr z, .storeMenuVariables + inc b + dec c + dec c + jr .adjustMenuVariablesLoop +.storeMenuVariables + ld hl, wTopMenuItemY + ld a, c + ld [hli], a ; top menu item Y + ld a, [hFieldMoveMonMenuTopMenuItemX] + ld [hli], a ; top menu item X + xor a + ld [hli], a ; current menu item ID + inc hl + ld a, b + ld [hli], a ; max menu item ID + ld a, A_BUTTON | B_BUTTON + ld [hli], a ; menu watched keys + xor a + ld [hl], a + call HandleMenuInput + push af + call LoadScreenTilesFromBuffer1 ; restore saved screen + pop af + bit 1, a ; was the B button pressed? + jp nz, .loop +; if the B button wasn't pressed + ld a, [wMaxMenuItem] + ld b, a + ld a, [wCurrentMenuItem] ; menu selection + cp b + jp z, .exitMenu ; if the player chose Cancel + dec b + cp b + jr z, .choseSwitch + dec b + cp b + jp z, .choseStats + ld c, a + ld b, 0 + ld hl, wFieldMoves + add hl, bc + jp .choseOutOfBattleMove +.choseSwitch + ld a, [wPartyCount] + cp 2 ; is there more than one pokemon in the party? + jp c, StartMenu_Pokemon ; if not, no switching + call SwitchPartyMon_InitVarOrSwapData ; init [wMenuItemToSwap] + ld a, SWAP_MONS_PARTY_MENU + ld [wPartyMenuTypeOrMessageID], a + call GoBackToPartyMenu + jp .checkIfPokemonChosen +.choseStats + call ClearSprites + xor a ; PLAYER_PARTY_DATA + ld [wMonDataLocation], a + predef StatusScreen + predef StatusScreen2 + call ReloadMapData + jp StartMenu_Pokemon +.choseOutOfBattleMove + push hl + ld a, [wWhichPokemon] + ld hl, wPartyMonNicks + call GetPartyMonName + pop hl + ld a, [hl] + dec a + add a + ld b, 0 + ld c, a + ld hl, .outOfBattleMovePointers + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [wObtainedBadges] ; badges obtained + jp hl +.outOfBattleMovePointers + dw .cut + dw .fly + dw .surf + dw .surf + dw .strength + dw .flash + dw .dig + dw .teleport + dw .softboiled +.fly + bit 2, a ; does the player have the Thunder Badge? + jp z, .newBadgeRequired + call CheckIfInOutsideMap + jr z, .canFly + ld a, [wWhichPokemon] + ld hl, wPartyMonNicks + call GetPartyMonName + ld hl, .cannotFlyHereText + call PrintText + jp .loop +.canFly + call ChooseFlyDestination + ld a, [wd732] + bit 3, a ; did the player decide to fly? + jp nz, .goBackToMap + call LoadFontTilePatterns + ld hl, wd72e + set 1, [hl] + jp StartMenu_Pokemon +.cut + bit 1, a ; does the player have the Cascade Badge? + jp z, .newBadgeRequired + predef UsedCut + ld a, [wActionResultOrTookBattleTurn] + and a + jp z, .loop + jp CloseTextDisplay +.surf + bit 4, a ; does the player have the Soul Badge? + jp z, .newBadgeRequired + callba IsSurfingAllowed + ld hl, wd728 + bit 1, [hl] + res 1, [hl] + jp z, .loop + ld a, SURFBOARD + ld [wcf91], a + ld [wPseudoItemID], a + call UseItem + ld a, [wActionResultOrTookBattleTurn] + and a + jp z, .loop + call GBPalWhiteOutWithDelay3 + jp .goBackToMap +.strength + bit 3, a ; does the player have the Rainbow Badge? + jp z, .newBadgeRequired + predef PrintStrengthTxt + call GBPalWhiteOutWithDelay3 + jp .goBackToMap +.flash + bit 0, a ; does the player have the Boulder Badge? + jp z, .newBadgeRequired + xor a + ld [wMapPalOffset], a + ld hl, .flashLightsAreaText + call PrintText + call GBPalWhiteOutWithDelay3 + jp .goBackToMap +.flashLightsAreaText + TX_FAR _FlashLightsAreaText + db "@" +.dig + ld a, ESCAPE_ROPE + ld [wcf91], a + ld [wPseudoItemID], a + call UseItem + ld a, [wActionResultOrTookBattleTurn] + and a + jp z, .loop + call GBPalWhiteOutWithDelay3 + jp .goBackToMap +.teleport + call CheckIfInOutsideMap + jr z, .canTeleport + ld a, [wWhichPokemon] + ld hl, wPartyMonNicks + call GetPartyMonName + ld hl, .cannotUseTeleportNowText + call PrintText + jp .loop +.canTeleport + ld hl, .warpToLastPokemonCenterText + call PrintText + ld hl, wd732 + set 3, [hl] + set 6, [hl] + ld hl, wd72e + set 1, [hl] + res 4, [hl] + ld c, 60 + call DelayFrames + call GBPalWhiteOutWithDelay3 + jp .goBackToMap +.warpToLastPokemonCenterText + TX_FAR _WarpToLastPokemonCenterText + db "@" +.cannotUseTeleportNowText + TX_FAR _CannotUseTeleportNowText + db "@" +.cannotFlyHereText + TX_FAR _CannotFlyHereText + db "@" +.softboiled + ld hl, wPartyMon1MaxHP + ld a, [wWhichPokemon] + ld bc, wPartyMon2 - wPartyMon1 + call AddNTimes + ld a, [hli] + ld [H_DIVIDEND], a + ld a, [hl] + ld [H_DIVIDEND + 1], a + ld a, 5 + ld [H_DIVISOR], a + ld b, 2 ; number of bytes + call Divide + ld bc, wPartyMon1HP - wPartyMon1MaxHP + add hl, bc + ld a, [hld] + ld b, a + ld a, [H_QUOTIENT + 3] + sub b + ld b, [hl] + ld a, [H_QUOTIENT + 2] + sbc b + jp nc, .notHealthyEnough + ld a, [wPartyAndBillsPCSavedMenuItem] + push af + ld a, POTION + ld [wcf91], a + ld [wPseudoItemID], a + call UseItem + pop af + ld [wPartyAndBillsPCSavedMenuItem], a + jp .loop +.notHealthyEnough ; if current HP is less than 1/5 of max HP + ld hl, .notHealthyEnoughText + call PrintText + jp .loop +.notHealthyEnoughText + TX_FAR _NotHealthyEnoughText + db "@" +.goBackToMap + call RestoreScreenTilesAndReloadTilePatterns + jp CloseTextDisplay +.newBadgeRequired + ld hl, .newBadgeRequiredText + call PrintText + jp .loop +.newBadgeRequiredText + TX_FAR _NewBadgeRequiredText + db "@" + +; writes a blank tile to all possible menu cursor positions on the party menu +ErasePartyMenuCursors:: + coord hl, 0, 1 + ld bc, 2 * 20 ; menu cursor positions are 2 rows apart + ld a, 6 ; 6 menu cursor positions +.loop + ld [hl], " " + add hl, bc + dec a + jr nz, .loop + ret + +ItemMenuLoop: + call LoadScreenTilesFromBuffer2DisableBGTransfer ; restore saved screen + call RunDefaultPaletteCommand + +StartMenu_Item:: + ld a, [wLinkState] + dec a ; is the player in the Colosseum or Trade Centre? + jr nz, .notInCableClubRoom + ld hl, CannotUseItemsHereText + call PrintText + jr .exitMenu +.notInCableClubRoom + ld bc, wNumBagItems + ld hl, wListPointer + ld a, c + ld [hli], a + ld [hl], b ; store item bag pointer in wListPointer (for DisplayListMenuID) + xor a + ld [wPrintItemPrices], a + ld a, ITEMLISTMENU + ld [wListMenuID], a + ld a, [wBagSavedMenuItem] + ld [wCurrentMenuItem], a + call DisplayListMenuID + ld a, [wCurrentMenuItem] + ld [wBagSavedMenuItem], a + jr nc, .choseItem +.exitMenu + call LoadScreenTilesFromBuffer2 ; restore saved screen + call LoadTextBoxTilePatterns + call UpdateSprites + jp RedisplayStartMenu +.choseItem +; erase menu cursor (blank each tile in front of an item name) + ld a, " " + Coorda 5, 4 + Coorda 5, 6 + Coorda 5, 8 + Coorda 5, 10 + call PlaceUnfilledArrowMenuCursor + xor a + ld [wMenuItemToSwap], a + ld a, [wcf91] + cp BICYCLE + jp z, .useOrTossItem +.notBicycle1 + ld a, USE_TOSS_MENU_TEMPLATE + ld [wTextBoxID], a + call DisplayTextBoxID + ld hl, wTopMenuItemY + ld a, 11 + ld [hli], a ; top menu item Y + ld a, 14 + ld [hli], a ; top menu item X + xor a + ld [hli], a ; current menu item ID + inc hl + inc a ; a = 1 + ld [hli], a ; max menu item ID + ld a, A_BUTTON | B_BUTTON + ld [hli], a ; menu watched keys + xor a + ld [hl], a ; old menu item id + call HandleMenuInput + call PlaceUnfilledArrowMenuCursor + bit 1, a ; was the B button pressed? + jr z, .useOrTossItem + jp ItemMenuLoop +.useOrTossItem ; if the player made the choice to use or toss the item + ld a, [wcf91] + ld [wd11e], a + call GetItemName + call CopyStringToCF4B ; copy name to wcf4b + ld a, [wcf91] + cp BICYCLE + jr nz, .notBicycle2 + ld a, [wd732] + bit 5, a + jr z, .useItem_closeMenu + ld hl, CannotGetOffHereText + call PrintText + jp ItemMenuLoop +.notBicycle2 + ld a, [wCurrentMenuItem] + and a + jr nz, .tossItem +; use item + ld [wPseudoItemID], a ; a must be 0 due to above conditional jump + ld a, [wcf91] + cp HM_01 + jr nc, .useItem_partyMenu + ld hl, UsableItems_CloseMenu + ld de, 1 + call IsInArray + jr c, .useItem_closeMenu + ld a, [wcf91] + ld hl, UsableItems_PartyMenu + ld de, 1 + call IsInArray + jr c, .useItem_partyMenu + call UseItem + jp ItemMenuLoop +.useItem_closeMenu + xor a + ld [wPseudoItemID], a + call UseItem + ld a, [wActionResultOrTookBattleTurn] + and a + jp z, ItemMenuLoop + jp CloseStartMenu +.useItem_partyMenu + ld a, [wUpdateSpritesEnabled] + push af + call UseItem + ld a, [wActionResultOrTookBattleTurn] + cp $02 + jp z, .partyMenuNotDisplayed + call GBPalWhiteOutWithDelay3 + call RestoreScreenTilesAndReloadTilePatterns + pop af + ld [wUpdateSpritesEnabled], a + jp StartMenu_Item +.partyMenuNotDisplayed + pop af + ld [wUpdateSpritesEnabled], a + jp ItemMenuLoop +.tossItem + call IsKeyItem + ld a, [wIsKeyItem] + and a + jr nz, .skipAskingQuantity + ld a, [wcf91] + call IsItemHM + jr c, .skipAskingQuantity + call DisplayChooseQuantityMenu + inc a + jr z, .tossZeroItems +.skipAskingQuantity + ld hl, wNumBagItems + call TossItem +.tossZeroItems + jp ItemMenuLoop + +CannotUseItemsHereText: + TX_FAR _CannotUseItemsHereText + db "@" + +CannotGetOffHereText: + TX_FAR _CannotGetOffHereText + db "@" + +INCLUDE "data/party_items.asm" + +INCLUDE "data/overworld_items.asm" + +StartMenu_TrainerInfo:: + call GBPalWhiteOut + call ClearScreen + call UpdateSprites + ld a, [hTilesetType] + push af + xor a + ld [hTilesetType], a + call DrawTrainerInfo + predef DrawBadges ; draw badges + ld b, SET_PAL_TRAINER_CARD + call RunPaletteCommand + call GBPalNormal + call WaitForTextScrollButtonPress ; wait for button press + call GBPalWhiteOut + call LoadFontTilePatterns + call LoadScreenTilesFromBuffer2 ; restore saved screen + call RunDefaultPaletteCommand + call ReloadMapData + call LoadGBPal + pop af + ld [hTilesetType], a + jp RedisplayStartMenu + +; loads tile patterns and draws everything except for gym leader faces / badges +DrawTrainerInfo: + ld de, RedPicFront + lb bc, BANK(RedPicFront), $01 + predef DisplayPicCenteredOrUpperRight + call DisableLCD + coord hl, 0, 2 + ld a, " " + call TrainerInfo_DrawVerticalLine + coord hl, 1, 2 + call TrainerInfo_DrawVerticalLine + ld hl, vChars2 + $70 + ld de, vChars2 + ld bc, $70 * 4 + call CopyData + ld hl, TrainerInfoTextBoxTileGraphics ; trainer info text box tile patterns + ld de, vChars2 + $770 + ld bc, $0080 + push bc + call TrainerInfo_FarCopyData + ld hl, BlankLeaderNames + ld de, vChars2 + $600 + ld bc, $0170 + call TrainerInfo_FarCopyData + pop bc + ld hl, BadgeNumbersTileGraphics ; badge number tile patterns + ld de, vChars1 + $580 + call TrainerInfo_FarCopyData + ld hl, GymLeaderFaceAndBadgeTileGraphics ; gym leader face and badge tile patterns + ld de, vChars2 + $200 + ld bc, $0400 + ld a, $03 + call FarCopyData2 + ld hl, TextBoxGraphics + ld de, $00d0 + add hl, de ; hl = colon tile pattern + ld de, vChars1 + $560 + ld bc, $0010 + ld a, $04 + push bc + call FarCopyData2 + pop bc + ld hl, TrainerInfoTextBoxTileGraphics + $80 ; background tile pattern + ld de, vChars1 + $570 + call TrainerInfo_FarCopyData + call EnableLCD + ld hl, wTrainerInfoTextBoxWidthPlus1 + ld a, 18 + 1 + ld [hli], a + dec a + ld [hli], a + ld [hl], 1 + coord hl, 0, 0 + call TrainerInfo_DrawTextBox + ld hl, wTrainerInfoTextBoxWidthPlus1 + ld a, 16 + 1 + ld [hli], a + dec a + ld [hli], a + ld [hl], 3 + coord hl, 1, 10 + call TrainerInfo_DrawTextBox + coord hl, 0, 10 + ld a, $d7 + call TrainerInfo_DrawVerticalLine + coord hl, 19, 10 + call TrainerInfo_DrawVerticalLine + coord hl, 6, 9 + ld de, TrainerInfo_BadgesText + call PlaceString + coord hl, 2, 2 + ld de, TrainerInfo_NameMoneyTimeText + call PlaceString + coord hl, 7, 2 + ld de, wPlayerName + call PlaceString + coord hl, 8, 4 + ld de, wPlayerMoney + ld c, $e3 + call PrintBCDNumber + coord hl, 9, 6 + ld de, wPlayTimeHours ; hours + lb bc, LEFT_ALIGN | 1, 3 + call PrintNumber + ld [hl], $d6 ; colon tile ID + inc hl + ld de, wPlayTimeMinutes ; minutes + lb bc, LEADING_ZEROES | 1, 2 + jp PrintNumber + +TrainerInfo_FarCopyData: + ld a, BANK(TrainerInfoTextBoxTileGraphics) + jp FarCopyData2 + +TrainerInfo_NameMoneyTimeText: + db "NAME/" + next "MONEY/" + next "TIME/@" + +; $76 is a circle tile +TrainerInfo_BadgesText: + db $76,"BADGES",$76,"@" + +; draws a text box on the trainer info screen +; height is always 6 +; INPUT: +; hl = destination address +; [wTrainerInfoTextBoxWidthPlus1] = width +; [wTrainerInfoTextBoxWidth] = width - 1 +; [wTrainerInfoTextBoxNextRowOffset] = distance from the end of a text box row to the start of the next +TrainerInfo_DrawTextBox: + ld a, $79 ; upper left corner tile ID + lb de, $7a, $7b ; top edge and upper right corner tile ID's + call TrainerInfo_DrawHorizontalEdge ; draw top edge + call TrainerInfo_NextTextBoxRow + ld a, [wTrainerInfoTextBoxWidthPlus1] + ld e, a + ld d, 0 + ld c, 6 ; height of the text box +.loop + ld [hl], $7c ; left edge tile ID + add hl, de + ld [hl], $78 ; right edge tile ID + call TrainerInfo_NextTextBoxRow + dec c + jr nz, .loop + ld a, $7d ; lower left corner tile ID + lb de, $77, $7e ; bottom edge and lower right corner tile ID's + +TrainerInfo_DrawHorizontalEdge: + ld [hli], a ; place left corner tile + ld a, [wTrainerInfoTextBoxWidth] + ld c, a + ld a, d +.loop + ld [hli], a ; place edge tile + dec c + jr nz, .loop + ld a, e + ld [hl], a ; place right corner tile + ret + +TrainerInfo_NextTextBoxRow: + ld a, [wTrainerInfoTextBoxNextRowOffset] ; distance to the start of the next row +.loop + inc hl + dec a + jr nz, .loop + ret + +; draws a vertical line +; INPUT: +; hl = address of top tile in the line +; a = tile ID +TrainerInfo_DrawVerticalLine: + ld de, SCREEN_WIDTH + ld c, 8 +.loop + ld [hl], a + add hl, de + dec c + jr nz, .loop + ret + +StartMenu_SaveReset:: + ld a, [wd72e] + bit 6, a ; is the player using the link feature? + jp nz, Init + predef SaveSAV ; save the game + call LoadScreenTilesFromBuffer2 ; restore saved screen + jp HoldTextDisplayOpen + +StartMenu_Option:: + xor a + ld [H_AUTOBGTRANSFERENABLED], a + call ClearScreen + call UpdateSprites + callab DisplayOptionMenu + call LoadScreenTilesFromBuffer2 ; restore saved screen + call LoadTextBoxTilePatterns + call UpdateSprites + jp RedisplayStartMenu + +SwitchPartyMon:: + call SwitchPartyMon_InitVarOrSwapData ; swap data + ld a, [wSwappedMenuItem] + call SwitchPartyMon_ClearGfx + ld a, [wCurrentMenuItem] + call SwitchPartyMon_ClearGfx + jp RedrawPartyMenu_ + +SwitchPartyMon_ClearGfx: + push af + coord hl, 0, 0 + ld bc, SCREEN_WIDTH * 2 + call AddNTimes + ld c, SCREEN_WIDTH * 2 + ld a, " " +.clearMonBGLoop ; clear the mon's row in the party menu + ld [hli], a + dec c + jr nz, .clearMonBGLoop + pop af + ld hl, wOAMBuffer + ld bc, $10 + call AddNTimes + ld de, $4 + ld c, e +.clearMonOAMLoop + ld [hl], $a0 + add hl, de + dec c + jr nz, .clearMonOAMLoop + call WaitForSoundToFinish + ld a, SFX_SWAP + jp PlaySound + +SwitchPartyMon_InitVarOrSwapData: +; This is used to initialise [wMenuItemToSwap] and to actually swap the data. + ld a, [wMenuItemToSwap] + and a ; has [wMenuItemToSwap] been initialised yet? + jr nz, .pickedMonsToSwap +; If not, initialise [wMenuItemToSwap] so that it matches the current mon. + ld a, [wWhichPokemon] + inc a ; [wMenuItemToSwap] counts from 1 + ld [wMenuItemToSwap], a + ret +.pickedMonsToSwap + xor a + ld [wPartyMenuTypeOrMessageID], a + ld a, [wMenuItemToSwap] + dec a + ld b, a + ld a, [wCurrentMenuItem] + ld [wSwappedMenuItem], a + cp b ; swapping a mon with itself? + jr nz, .swappingDifferentMons +; can't swap a mon with itself + xor a + ld [wMenuItemToSwap], a + ld [wPartyMenuTypeOrMessageID], a + ret +.swappingDifferentMons + ld a, b + ld [wMenuItemToSwap], a + push hl + push de + ld hl, wPartySpecies + ld d, h + ld e, l + ld a, [wCurrentMenuItem] + add l + ld l, a + jr nc, .noCarry + inc h +.noCarry + ld a, [wMenuItemToSwap] + add e + ld e, a + jr nc, .noCarry2 + inc d +.noCarry2 + ld a, [hl] + ld [hSwapTemp], a + ld a, [de] + ld [hl], a + ld a, [hSwapTemp] + ld [de], a + ld hl, wPartyMons + ld bc, wPartyMon2 - wPartyMon1 + ld a, [wCurrentMenuItem] + call AddNTimes + push hl + ld de, wSwitchPartyMonTempBuffer + ld bc, wPartyMon2 - wPartyMon1 + call CopyData + ld hl, wPartyMons + ld bc, wPartyMon2 - wPartyMon1 + ld a, [wMenuItemToSwap] + call AddNTimes + pop de + push hl + ld bc, wPartyMon2 - wPartyMon1 + call CopyData + pop de + ld hl, wSwitchPartyMonTempBuffer + ld bc, wPartyMon2 - wPartyMon1 + call CopyData + ld hl, wPartyMonOT + ld a, [wCurrentMenuItem] + call SkipFixedLengthTextEntries + push hl + ld de, wSwitchPartyMonTempBuffer + ld bc, NAME_LENGTH + call CopyData + ld hl, wPartyMonOT + ld a, [wMenuItemToSwap] + call SkipFixedLengthTextEntries + pop de + push hl + ld bc, NAME_LENGTH + call CopyData + pop de + ld hl, wSwitchPartyMonTempBuffer + ld bc, NAME_LENGTH + call CopyData + ld hl, wPartyMonNicks + ld a, [wCurrentMenuItem] + call SkipFixedLengthTextEntries + push hl + ld de, wSwitchPartyMonTempBuffer + ld bc, NAME_LENGTH + call CopyData + ld hl, wPartyMonNicks + ld a, [wMenuItemToSwap] + call SkipFixedLengthTextEntries + pop de + push hl + ld bc, NAME_LENGTH + call CopyData + pop de + ld hl, wSwitchPartyMonTempBuffer + ld bc, NAME_LENGTH + call CopyData + ld a, [wMenuItemToSwap] + ld [wSwappedMenuItem], a + xor a + ld [wMenuItemToSwap], a + ld [wPartyMenuTypeOrMessageID], a + pop de + pop hl + ret diff --git a/engine/menus/swap_items.asm b/engine/menus/swap_items.asm new file mode 100644 index 00000000..826fe60b --- /dev/null +++ b/engine/menus/swap_items.asm @@ -0,0 +1,149 @@ +HandleItemListSwapping:: + ld a, [wListMenuID] + cp ITEMLISTMENU + jp nz, DisplayListMenuIDLoop ; only rearrange item list menus + push hl + ld hl, wListPointer + ld a, [hli] + ld h, [hl] + ld l, a + inc hl ; hl = beginning of list entries + ld a, [wCurrentMenuItem] + ld b, a + ld a, [wListScrollOffset] + add b + add a + ld c, a + ld b, 0 + add hl, bc ; hl = address of currently selected item entry + ld a, [hl] + pop hl + inc a + jp z, DisplayListMenuIDLoop ; ignore attempts to swap the Cancel menu item + ld a, [wMenuItemToSwap] ; ID of item chosen for swapping (counts from 1) + and a ; has the first item to swap already been chosen? + jr nz, .swapItems +; if not, set the currently selected item as the first item + ld a, [wCurrentMenuItem] + inc a + ld b, a + ld a, [wListScrollOffset] ; index of top (visible) menu item within the list + add b + ld [wMenuItemToSwap], a ; ID of item chosen for swapping (counts from 1) + ld c, 20 + call DelayFrames + jp DisplayListMenuIDLoop +.swapItems + ld a, [wCurrentMenuItem] + inc a + ld b, a + ld a, [wListScrollOffset] + add b + ld b, a + ld a, [wMenuItemToSwap] ; ID of item chosen for swapping (counts from 1) + cp b ; is the currently selected item the same as the first item to swap? + jp z, DisplayListMenuIDLoop ; ignore attempts to swap an item with itself + dec a + ld [wMenuItemToSwap], a ; ID of item chosen for swapping (counts from 1) + ld c, 20 + call DelayFrames + push hl + push de + ld hl, wListPointer + ld a, [hli] + ld h, [hl] + ld l, a + inc hl ; hl = beginning of list entries + ld d, h + ld e, l ; de = beginning of list entries + ld a, [wCurrentMenuItem] + ld b, a + ld a, [wListScrollOffset] + add b + add a + ld c, a + ld b, 0 + add hl, bc ; hl = address of currently selected item entry + ld a, [wMenuItemToSwap] ; ID of item chosen for swapping (counts from 1) + add a + add e + ld e, a + jr nc, .noCarry + inc d +.noCarry ; de = address of first item to swap + ld a, [de] + ld b, a + ld a, [hli] + cp b + jr z, .swapSameItemType +.swapDifferentItems + ld [$ff95], a ; [$ff95] = second item ID + ld a, [hld] + ld [$ff96], a ; [$ff96] = second item quantity + ld a, [de] + ld [hli], a ; put first item ID in second item slot + inc de + ld a, [de] + ld [hl], a ; put first item quantity in second item slot + ld a, [$ff96] + ld [de], a ; put second item quantity in first item slot + dec de + ld a, [$ff95] + ld [de], a ; put second item ID in first item slot + xor a + ld [wMenuItemToSwap], a ; 0 means no item is currently being swapped + pop de + pop hl + jp DisplayListMenuIDLoop +.swapSameItemType + inc de + ld a, [hl] + ld b, a + ld a, [de] + add b ; a = sum of both item quantities + cp 100 ; is the sum too big for one item slot? + jr c, .combineItemSlots +; swap enough items from the first slot to max out the second slot if they can't be combined + sub 99 + ld [de], a + ld a, 99 + ld [hl], a + jr .done +.combineItemSlots + ld [hl], a ; put the sum in the second item slot + ld hl, wListPointer + ld a, [hli] + ld h, [hl] + ld l, a + dec [hl] ; decrease the number of items + ld a, [hl] + ld [wListCount], a ; update number of items variable + cp 1 + jr nz, .skipSettingMaxMenuItemID + ld [wMaxMenuItem], a ; if the number of items is only one now, update the max menu item ID +.skipSettingMaxMenuItemID + dec de + ld h, d + ld l, e + inc hl + inc hl ; hl = address of item after first item to swap +.moveItemsUpLoop ; erase the first item slot and move up all the following item slots to fill the gap + ld a, [hli] + ld [de], a + inc de + inc a ; reached the $ff terminator? + jr z, .afterMovingItemsUp + ld a, [hli] + ld [de], a + inc de + jr .moveItemsUpLoop +.afterMovingItemsUp + xor a + ld [wListScrollOffset], a + ld [wCurrentMenuItem], a +.done + xor a + ld [wMenuItemToSwap], a ; 0 means no item is currently being swapped + pop de + pop hl + jp DisplayListMenuIDLoop diff --git a/engine/menus/text_box.asm b/engine/menus/text_box.asm new file mode 100644 index 00000000..00045959 --- /dev/null +++ b/engine/menus/text_box.asm @@ -0,0 +1,767 @@ +; function to draw various text boxes +DisplayTextBoxID_:: + ld a, [wTextBoxID] + cp TWO_OPTION_MENU + jp z, DisplayTwoOptionMenu + ld c, a + ld hl, TextBoxFunctionTable + ld de, 3 + call SearchTextBoxTable + jr c, .functionTableMatch + ld hl, TextBoxCoordTable + ld de, 5 + call SearchTextBoxTable + jr c, .coordTableMatch + ld hl, TextBoxTextAndCoordTable + ld de, 9 + call SearchTextBoxTable + jr c, .textAndCoordTableMatch +.done + ret +.functionTableMatch + ld a, [hli] + ld h, [hl] + ld l, a ; hl = address of function + ld de, .done + push de + jp hl ; jump to the function +.coordTableMatch + call GetTextBoxIDCoords + call GetAddressOfScreenCoords + call TextBoxBorder + ret +.textAndCoordTableMatch + call GetTextBoxIDCoords + push hl + call GetAddressOfScreenCoords + call TextBoxBorder + pop hl + call GetTextBoxIDText + ld a, [wd730] + push af + ld a, [wd730] + set 6, a ; no pauses between printing each letter + ld [wd730], a + call PlaceString + pop af + ld [wd730], a + call UpdateSprites + ret + +; function to search a table terminated with $ff for a byte matching c in increments of de +; sets carry flag if a match is found and clears carry flag if not +SearchTextBoxTable: + dec de +.loop + ld a, [hli] + cp $ff + jr z, .notFound + cp c + jr z, .found + add hl, de + jr .loop +.found + scf +.notFound + ret + +; function to load coordinates from the TextBoxCoordTable or the TextBoxTextAndCoordTable +; INPUT: +; hl = address of coordinates +; OUTPUT: +; b = height +; c = width +; d = row of upper left corner +; e = column of upper left corner +GetTextBoxIDCoords: + ld a, [hli] ; column of upper left corner + ld e, a + ld a, [hli] ; row of upper left corner + ld d, a + ld a, [hli] ; column of lower right corner + sub e + dec a + ld c, a ; c = width + ld a, [hli] ; row of lower right corner + sub d + dec a + ld b, a ; b = height + ret + +; function to load a text address and text coordinates from the TextBoxTextAndCoordTable +GetTextBoxIDText: + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a ; de = address of text + push de ; save text address + ld a, [hli] + ld e, a ; column of upper left corner of text + ld a, [hl] + ld d, a ; row of upper left corner of text + call GetAddressOfScreenCoords + pop de ; restore text address + ret + +; function to point hl to the screen coordinates +; INPUT: +; d = row +; e = column +; OUTPUT: +; hl = address of upper left corner of text box +GetAddressOfScreenCoords: + push bc + coord hl, 0, 0 + ld bc, 20 +.loop ; loop to add d rows to the base address + ld a, d + and a + jr z, .addedRows + add hl, bc + dec d + jr .loop +.addedRows + pop bc + add hl, de + ret + +; Format: +; 00: text box ID +; 01-02: function address +TextBoxFunctionTable: + dbw MONEY_BOX, DisplayMoneyBox + dbw BUY_SELL_QUIT_MENU, DoBuySellQuitMenu + dbw FIELD_MOVE_MON_MENU, DisplayFieldMoveMonMenu + db $ff ; terminator + +; Format: +; 00: text box ID +; 01: column of upper left corner +; 02: row of upper left corner +; 03: column of lower right corner +; 04: row of lower right corner +TextBoxCoordTable: + db MESSAGE_BOX, 0, 12, 19, 17 + db $03, 0, 0, 19, 14 + db $07, 0, 0, 11, 6 + db LIST_MENU_BOX, 4, 2, 19, 12 + db $10, 7, 0, 19, 17 + db MON_SPRITE_POPUP, 6, 4, 14, 13 + db $ff ; terminator + +; Format: +; 00: text box ID +; 01: column of upper left corner +; 02: row of upper left corner +; 03: column of lower right corner +; 04: row of lower right corner +; 05-06: address of text +; 07: column of beginning of text +; 08: row of beginning of text +; table of window positions and corresponding text [key, start column, start row, end column, end row, text pointer [2 bytes], text column, text row] +TextBoxTextAndCoordTable: + db JP_MOCHIMONO_MENU_TEMPLATE + db 0,0,14,17 ; text box coordinates + dw JapaneseMochimonoText + db 3,0 ; text coordinates + + db USE_TOSS_MENU_TEMPLATE + db 13,10,19,14 ; text box coordinates + dw UseTossText + db 15,11 ; text coordinates + + db JP_SAVE_MESSAGE_MENU_TEMPLATE + db 0,0,7,5 ; text box coordinates + dw JapaneseSaveMessageText + db 2,2 ; text coordinates + + db JP_SPEED_OPTIONS_MENU_TEMPLATE + db 0,6,5,10 ; text box coordinates + dw JapaneseSpeedOptionsText + db 2,7 ; text coordinates + + db BATTLE_MENU_TEMPLATE + db 8,12,19,17 ; text box coordinates + dw BattleMenuText + db 10,14 ; text coordinates + + db SAFARI_BATTLE_MENU_TEMPLATE + db 0,12,19,17 ; text box coordinates + dw SafariZoneBattleMenuText + db 2,14 ; text coordinates + + db SWITCH_STATS_CANCEL_MENU_TEMPLATE + db 11,11,19,17 ; text box coordinates + dw SwitchStatsCancelText + db 13,12 ; text coordinates + + db BUY_SELL_QUIT_MENU_TEMPLATE + db 0,0,10,6 ; text box coordinates + dw BuySellQuitText + db 2,1 ; text coordinates + + db MONEY_BOX_TEMPLATE + db 11,0,19,2 ; text box coordinates + dw MoneyText + db 13,0 ; text coordinates + + db JP_AH_MENU_TEMPLATE + db 7,6,11,10 ; text box coordinates + dw JapaneseAhText + db 8,8 ; text coordinates + + db JP_POKEDEX_MENU_TEMPLATE + db 11,8,19,17 ; text box coordinates + dw JapanesePokedexMenu + db 12,10 ; text coordinates + +; note that there is no terminator + +BuySellQuitText: + db "BUY" + next "SELL" + next "QUIT@@" + +UseTossText: + db "USE" + next "TOSS@" + +JapaneseSaveMessageText: + db "きろく" + next "メッセージ@" + +JapaneseSpeedOptionsText: + db "はやい" + next "おそい@" + +MoneyText: + db "MONEY@" + +JapaneseMochimonoText: + db "もちもの@" + +JapaneseMainMenuText: + db "つづきから" + next "さいしょから@" + +BattleMenuText: + db "FIGHT ",$E1,$E2 + next "ITEM RUN@" + +SafariZoneBattleMenuText: + db "BALL× BAIT" + next "THROW ROCK RUN@" + +SwitchStatsCancelText: + db "SWITCH" + next "STATS" + next "CANCEL@" + +JapaneseAhText: + db "アッ!@" + +JapanesePokedexMenu: + db "データをみる" + next "なきごえ" + next "ぶんぷをみる" + next "キャンセル@" + +DisplayMoneyBox: + ld hl, wd730 + set 6, [hl] + ld a, MONEY_BOX_TEMPLATE + ld [wTextBoxID], a + call DisplayTextBoxID + coord hl, 13, 1 + ld b, 1 + ld c, 6 + call ClearScreenArea + coord hl, 12, 1 + ld de, wPlayerMoney + ld c, $a3 + call PrintBCDNumber + ld hl, wd730 + res 6, [hl] + ret + +CurrencyString: + db " ¥@" + +DoBuySellQuitMenu: + ld a, [wd730] + set 6, a ; no printing delay + ld [wd730], a + xor a + ld [wChosenMenuItem], a + ld a, BUY_SELL_QUIT_MENU_TEMPLATE + ld [wTextBoxID], a + call DisplayTextBoxID + ld a, A_BUTTON | B_BUTTON + ld [wMenuWatchedKeys], a + ld a, $2 + ld [wMaxMenuItem], a + ld a, $1 + ld [wTopMenuItemY], a + ld a, $1 + ld [wTopMenuItemX], a + xor a + ld [wCurrentMenuItem], a + ld [wLastMenuItem], a + ld [wMenuWatchMovingOutOfBounds], a + ld a, [wd730] + res 6, a ; turn on the printing delay + ld [wd730], a + call HandleMenuInput + call PlaceUnfilledArrowMenuCursor + bit 0, a ; was A pressed? + jr nz, .pressedA + bit 1, a ; was B pressed? (always true since only A/B are watched) + jr z, .pressedA + ld a, CANCELLED_MENU + ld [wMenuExitMethod], a + jr .quit +.pressedA + ld a, CHOSE_MENU_ITEM + ld [wMenuExitMethod], a + ld a, [wCurrentMenuItem] + ld [wChosenMenuItem], a + ld b, a + ld a, [wMaxMenuItem] + cp b + jr z, .quit + ret +.quit + ld a, CANCELLED_MENU + ld [wMenuExitMethod], a + ld a, [wCurrentMenuItem] + ld [wChosenMenuItem], a + scf + ret + +; displays a menu with two options to choose from +; b = Y of upper left corner of text region +; c = X of upper left corner of text region +; hl = address where the text box border should be drawn +DisplayTwoOptionMenu: + push hl + ld a, [wd730] + set 6, a ; no printing delay + ld [wd730], a + +; pointless because both values are overwritten before they are read + xor a + ld [wChosenMenuItem], a + ld [wMenuExitMethod], a + + ld a, A_BUTTON | B_BUTTON + ld [wMenuWatchedKeys], a + ld a, $1 + ld [wMaxMenuItem], a + ld a, b + ld [wTopMenuItemY], a + ld a, c + ld [wTopMenuItemX], a + xor a + ld [wLastMenuItem], a + ld [wMenuWatchMovingOutOfBounds], a + push hl + ld hl, wTwoOptionMenuID + bit 7, [hl] ; select second menu item by default? + res 7, [hl] + jr z, .storeCurrentMenuItem + inc a +.storeCurrentMenuItem + ld [wCurrentMenuItem], a + pop hl + push hl + push hl + call TwoOptionMenu_SaveScreenTiles + ld a, [wTwoOptionMenuID] + ld hl, TwoOptionMenuStrings + ld e, a + ld d, $0 + ld a, $5 +.menuStringLoop + add hl, de + dec a + jr nz, .menuStringLoop + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + ld e, l + ld d, h + pop hl + push de + ld a, [wTwoOptionMenuID] + cp TRADE_CANCEL_MENU + jr nz, .notTradeCancelMenu + call CableClub_TextBoxBorder + jr .afterTextBoxBorder +.notTradeCancelMenu + call TextBoxBorder +.afterTextBoxBorder + call UpdateSprites + pop hl + ld a, [hli] + and a ; put blank line before first menu item? + ld bc, 20 + 2 + jr z, .noBlankLine + ld bc, 2 * 20 + 2 +.noBlankLine + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + pop hl + add hl, bc + call PlaceString + ld hl, wd730 + res 6, [hl] ; turn on the printing delay + ld a, [wTwoOptionMenuID] + cp NO_YES_MENU + jr nz, .notNoYesMenu +; No/Yes menu +; this menu type ignores the B button +; it only seems to be used when confirming the deletion of a save file + xor a + ld [wTwoOptionMenuID], a + ld a, [wFlags_0xcd60] + push af + push hl + ld hl, wFlags_0xcd60 + bit 5, [hl] + set 5, [hl] ; don't play sound when A or B is pressed in menu + pop hl +.noYesMenuInputLoop + call HandleMenuInput + bit 1, a ; A button pressed? + jr nz, .noYesMenuInputLoop ; try again if A was not pressed + pop af + pop hl + ld [wFlags_0xcd60], a + ld a, SFX_PRESS_AB + call PlaySound + jr .pressedAButton +.notNoYesMenu + xor a + ld [wTwoOptionMenuID], a + call HandleMenuInput + pop hl + bit 1, a ; A button pressed? + jr nz, .choseSecondMenuItem ; automatically choose the second option if B is pressed +.pressedAButton + ld a, [wCurrentMenuItem] + ld [wChosenMenuItem], a + and a + jr nz, .choseSecondMenuItem +; chose first menu item + ld a, CHOSE_FIRST_ITEM + ld [wMenuExitMethod], a + ld c, 15 + call DelayFrames + call TwoOptionMenu_RestoreScreenTiles + and a + ret +.choseSecondMenuItem + ld a, 1 + ld [wCurrentMenuItem], a + ld [wChosenMenuItem], a + ld a, CHOSE_SECOND_ITEM + ld [wMenuExitMethod], a + ld c, 15 + call DelayFrames + call TwoOptionMenu_RestoreScreenTiles + scf + ret + +; Some of the wider/taller two option menus will not have the screen areas +; they cover be fully saved/restored by the two functions below. +; The bottom and right edges of the menu may remain after the function returns. + +TwoOptionMenu_SaveScreenTiles: + ld de, wBuffer + lb bc, 5, 6 +.loop + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .loop + push bc + ld bc, SCREEN_WIDTH - 6 + add hl, bc + pop bc + ld c, $6 + dec b + jr nz, .loop + ret + +TwoOptionMenu_RestoreScreenTiles: + ld de, wBuffer + lb bc, 5, 6 +.loop + ld a, [de] + inc de + ld [hli], a + dec c + jr nz, .loop + push bc + ld bc, SCREEN_WIDTH - 6 + add hl, bc + pop bc + ld c, 6 + dec b + jr nz, .loop + call UpdateSprites + ret + +; Format: +; 00: byte width +; 01: byte height +; 02: byte put blank line before first menu item +; 03: word text pointer +TwoOptionMenuStrings: + db 4,3,0 + dw .YesNoMenu + db 6,3,0 + dw .NorthWestMenu + db 6,3,0 + dw .SouthEastMenu + db 6,3,0 + dw .YesNoMenu + db 6,3,0 + dw .NorthEastMenu + db 7,3,0 + dw .TradeCancelMenu + db 7,4,1 + dw .HealCancelMenu + db 4,3,0 + dw .NoYesMenu + +.NoYesMenu + db "NO" + next "YES@" +.YesNoMenu + db "YES" + next "NO@" +.NorthWestMenu + db "NORTH" + next "WEST@" +.SouthEastMenu + db "SOUTH" + next "EAST@" +.NorthEastMenu + db "NORTH" + next "EAST@" +.TradeCancelMenu + db "TRADE" + next "CANCEL@" +.HealCancelMenu + db "HEAL" + next "CANCEL@" + +DisplayFieldMoveMonMenu: + xor a + ld hl, wFieldMoves + ld [hli], a ; wFieldMoves + ld [hli], a ; wFieldMoves + 1 + ld [hli], a ; wFieldMoves + 2 + ld [hli], a ; wFieldMoves + 3 + ld [hli], a ; wNumFieldMoves + ld [hl], 12 ; wFieldMovesLeftmostXCoord + call GetMonFieldMoves + ld a, [wNumFieldMoves] + and a + jr nz, .fieldMovesExist + +; no field moves + coord hl, 11, 11 + ld b, 5 + ld c, 7 + call TextBoxBorder + call UpdateSprites + ld a, 12 + ld [hFieldMoveMonMenuTopMenuItemX], a + coord hl, 13, 12 + ld de, PokemonMenuEntries + jp PlaceString + +.fieldMovesExist + push af + +; Calculate the text box position and dimensions based on the leftmost X coord +; of the field move names before adjusting for the number of field moves. + coord hl, 0, 11 + ld a, [wFieldMovesLeftmostXCoord] + dec a + ld e, a + ld d, 0 + add hl, de + ld b, 5 + ld a, 18 + sub e + ld c, a + pop af + +; For each field move, move the top of the text box up 2 rows while the leaving +; the bottom of the text box at the bottom of the screen. + ld de, -SCREEN_WIDTH * 2 +.textBoxHeightLoop + add hl, de + inc b + inc b + dec a + jr nz, .textBoxHeightLoop + +; Make space for an extra blank row above the top field move. + ld de, -SCREEN_WIDTH + add hl, de + inc b + + call TextBoxBorder + call UpdateSprites + +; Calculate the position of the first field move name to print. + coord hl, 0, 12 + ld a, [wFieldMovesLeftmostXCoord] + inc a + ld e, a + ld d, 0 + add hl, de + ld de, -SCREEN_WIDTH * 2 + ld a, [wNumFieldMoves] +.calcFirstFieldMoveYLoop + add hl, de + dec a + jr nz, .calcFirstFieldMoveYLoop + + xor a + ld [wNumFieldMoves], a + ld de, wFieldMoves +.printNamesLoop + push hl + ld hl, FieldMoveNames + ld a, [de] + and a + jr z, .donePrintingNames + inc de + ld b, a ; index of name +.skipNamesLoop ; skip past names before the name we want + dec b + jr z, .reachedName +.skipNameLoop ; skip past current name + ld a, [hli] + cp "@" + jr nz, .skipNameLoop + jr .skipNamesLoop +.reachedName + ld b, h + ld c, l + pop hl + push de + ld d, b + ld e, c + call PlaceString + ld bc, SCREEN_WIDTH * 2 + add hl, bc + pop de + jr .printNamesLoop + +.donePrintingNames + pop hl + ld a, [wFieldMovesLeftmostXCoord] + ld [hFieldMoveMonMenuTopMenuItemX], a + coord hl, 0, 12 + ld a, [wFieldMovesLeftmostXCoord] + inc a + ld e, a + ld d, 0 + add hl, de + ld de, PokemonMenuEntries + jp PlaceString + +FieldMoveNames: + db "CUT@" + db "FLY@" + db "@" + db "SURF@" + db "STRENGTH@" + db "FLASH@" + db "DIG@" + db "TELEPORT@" + db "SOFTBOILED@" + +PokemonMenuEntries: + db "STATS" + next "SWITCH" + next "CANCEL@" + +GetMonFieldMoves: + ld a, [wWhichPokemon] + ld hl, wPartyMon1Moves + ld bc, wPartyMon2 - wPartyMon1 + call AddNTimes + ld d, h + ld e, l + ld c, NUM_MOVES + 1 + ld hl, wFieldMoves +.loop + push hl +.nextMove + dec c + jr z, .done + ld a, [de] ; move ID + and a + jr z, .done + ld b, a + inc de + ld hl, FieldMoveDisplayData +.fieldMoveLoop + ld a, [hli] + cp $ff + jr z, .nextMove ; if the move is not a field move + cp b + jr z, .foundFieldMove + inc hl + inc hl + jr .fieldMoveLoop +.foundFieldMove + ld a, b + ld [wLastFieldMoveID], a + ld a, [hli] ; field move name index + ld b, [hl] ; field move leftmost X coordinate + pop hl + ld [hli], a ; store name index in wFieldMoves + ld a, [wNumFieldMoves] + inc a + ld [wNumFieldMoves], a + ld a, [wFieldMovesLeftmostXCoord] + cp b + jr c, .skipUpdatingLeftmostXCoord + ld a, b + ld [wFieldMovesLeftmostXCoord], a +.skipUpdatingLeftmostXCoord + ld a, [wLastFieldMoveID] + ld b, a + jr .loop +.done + pop hl + ret + +; Format: [Move id], [name index], [leftmost tile] +; Move id = id of move +; Name index = index of name in FieldMoveNames +; Leftmost tile = -1 + tile column in which the first letter of the move's name should be displayed +; "SOFTBOILED" is $08 because it has 4 more letters than "SURF", for example, whose value is $0C +FieldMoveDisplayData: + db CUT, $01, $0C + db FLY, $02, $0C + db $B4, $03, $0C ; unused field move + db SURF, $04, $0C + db STRENGTH, $05, $0A + db FLASH, $06, $0C + db DIG, $07, $0C + db TELEPORT, $08, $0A + db SOFTBOILED, $09, $08 + db $ff ; list terminator diff --git a/engine/mon_party_sprites.asm b/engine/mon_party_sprites.asm deleted file mode 100755 index d2913715..00000000 --- a/engine/mon_party_sprites.asm +++ /dev/null @@ -1,295 +0,0 @@ -AnimatePartyMon_ForceSpeed1: - xor a - ld [wCurrentMenuItem], a - ld b, a - inc a - jr GetAnimationSpeed - -; wPartyMenuHPBarColors contains the party mon's health bar colors -; 0: green -; 1: yellow -; 2: red -AnimatePartyMon:: - ld hl, wPartyMenuHPBarColors - ld a, [wCurrentMenuItem] - ld c, a - ld b, 0 - add hl, bc - ld a, [hl] - -GetAnimationSpeed: - ld c, a - ld hl, PartyMonSpeeds - add hl, bc - ld a, [wOnSGB] - xor $1 - add [hl] - ld c, a - add a - ld b, a - ld a, [wAnimCounter] - and a - jr z, .resetSprites - cp c - jr z, .animateSprite -.incTimer - inc a - cp b - jr nz, .skipResetTimer - xor a ; reset timer -.skipResetTimer - ld [wAnimCounter], a - jp DelayFrame -.resetSprites - push bc - ld hl, wMonPartySpritesSavedOAM - ld de, wOAMBuffer - ld bc, $60 - call CopyData - pop bc - xor a - jr .incTimer -.animateSprite - push bc - ld hl, wOAMBuffer + $02 ; OAM tile id - ld bc, $10 - ld a, [wCurrentMenuItem] - call AddNTimes - ld c, $40 ; amount to increase the tile id by - ld a, [hl] - cp $4 ; tile ID for ICON_BALL - jr z, .editCoords - cp $8 ; tile ID for ICON_HELIX - jr nz, .editTileIDS -; ICON_BALL and ICON_HELIX only shake up and down -.editCoords - dec hl - dec hl ; dec hl to the OAM y coord - ld c, $1 ; amount to increase the y coord by -; otherwise, load a second sprite frame -.editTileIDS - ld b, $4 - ld de, $4 -.loop - ld a, [hl] - add c - ld [hl], a - add hl, de - dec b - jr nz, .loop - pop bc - ld a, c - jr .incTimer - -; Party mon animations cycle between 2 frames. -; The members of the PartyMonSpeeds array specify the number of V-blanks -; that each frame lasts for green HP, yellow HP, and red HP in order. -; On the naming screen, the yellow HP speed is always used. -PartyMonSpeeds: - db 5, 16, 32 - -LoadMonPartySpriteGfx: -; Load mon party sprite tile patterns into VRAM during V-blank. - ld hl, MonPartySpritePointers - ld a, $1c - -LoadAnimSpriteGfx: -; Load animated sprite tile patterns into VRAM during V-blank. hl is the address -; of an array of structures that contain arguments for CopyVideoData and a is -; the number of structures in the array. - ld bc, $0 -.loop - push af - push bc - push hl - add hl, bc - 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 h, [hl] - ld l, a - call CopyVideoData - pop hl - pop bc - ld a, $6 - add c - ld c, a - pop af - dec a - jr nz, .loop - ret - -LoadMonPartySpriteGfxWithLCDDisabled: -; Load mon party sprite tile patterns into VRAM immediately by disabling the -; LCD. - call DisableLCD - ld hl, MonPartySpritePointers - ld a, $1c - ld bc, $0 -.loop - push af - push bc - push hl - add hl, bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - push de - ld a, [hli] - ld c, a - swap c - ld b, $0 - ld a, [hli] - ld e, [hl] - inc hl - ld d, [hl] - pop hl - call FarCopyData2 - pop hl - pop bc - ld a, $6 - add c - ld c, a - pop af - dec a - jr nz, .loop - jp EnableLCD - -INCLUDE "data/mon_party_sprite_pointers.asm" - -WriteMonPartySpriteOAMByPartyIndex: -; Write OAM blocks for the party mon in [hPartyMonIndex]. - push hl - push de - push bc - ld a, [hPartyMonIndex] - ld hl, wPartySpecies - ld e, a - ld d, 0 - add hl, de - ld a, [hl] - call GetPartyMonSpriteID - ld [wOAMBaseTile], a - call WriteMonPartySpriteOAM - pop bc - pop de - pop hl - ret - -WriteMonPartySpriteOAMBySpecies: -; Write OAM blocks for the party sprite of the species in -; [wMonPartySpriteSpecies]. - xor a - ld [hPartyMonIndex], a - ld a, [wMonPartySpriteSpecies] - call GetPartyMonSpriteID - ld [wOAMBaseTile], a - jr WriteMonPartySpriteOAM - -UnusedPartyMonSpriteFunction: -; This function is unused and doesn't appear to do anything useful. It looks -; like it may have been intended to load the tile patterns and OAM data for -; the mon party sprite associated with the species in [wcf91]. -; However, its calculations are off and it loads garbage data. - ld a, [wcf91] - call GetPartyMonSpriteID - push af - ld hl, vSprites - call .LoadTilePatterns - pop af - add $54 - ld hl, vSprites + $40 - call .LoadTilePatterns - xor a - ld [wMonPartySpriteSpecies], a - jr WriteMonPartySpriteOAMBySpecies - -.LoadTilePatterns - push hl - add a - ld c, a - ld b, 0 - ld hl, MonPartySpritePointers - add hl, bc - add hl, bc - add hl, bc - 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 - jp CopyVideoData - -WriteMonPartySpriteOAM: -; Write the OAM blocks for the first animation frame into the OAM buffer and -; make a copy at wMonPartySpritesSavedOAM. - push af - ld c, $10 - ld h, wOAMBuffer / $100 - ld a, [hPartyMonIndex] - swap a - ld l, a - add $10 - ld b, a - pop af - cp ICON_HELIX << 2 - jr z, .helix - call WriteSymmetricMonPartySpriteOAM - jr .makeCopy -.helix - call WriteAsymmetricMonPartySpriteOAM -; Make a copy of the OAM buffer with the first animation frame written so that -; we can flip back to it from the second frame by copying it back. -.makeCopy - ld hl, wOAMBuffer - ld de, wMonPartySpritesSavedOAM - ld bc, $60 - jp CopyData - -GetPartyMonSpriteID: - ld [wd11e], a - predef IndexToPokedex - ld a, [wd11e] - ld c, a - dec a - srl a - ld hl, MonPartyData - ld e, a - ld d, 0 - add hl, de - ld a, [hl] - bit 0, c - jr nz, .skipSwap - swap a ; use lower nybble if pokedex num is even -.skipSwap - and $f0 - srl a - srl a - ret - -INCLUDE "data/mon_party_sprites.asm" - -INC_FRAME_1 EQUS "0, $20" -INC_FRAME_2 EQUS "$20, $20" - -BugIconFrame1: INCBIN "gfx/icons/bug.2bpp", INC_FRAME_1 -PlantIconFrame1: INCBIN "gfx/icons/plant.2bpp", INC_FRAME_1 -BugIconFrame2: INCBIN "gfx/icons/bug.2bpp", INC_FRAME_2 -PlantIconFrame2: INCBIN "gfx/icons/plant.2bpp", INC_FRAME_2 -SnakeIconFrame1: INCBIN "gfx/icons/snake.2bpp", INC_FRAME_1 -QuadrupedIconFrame1: INCBIN "gfx/icons/quadruped.2bpp", INC_FRAME_1 -SnakeIconFrame2: INCBIN "gfx/icons/snake.2bpp", INC_FRAME_2 -QuadrupedIconFrame2: INCBIN "gfx/icons/quadruped.2bpp", INC_FRAME_2 - -TradeBubbleIconGFX: INCBIN "gfx/trade/bubble.2bpp" diff --git a/engine/movie/clear_save.asm b/engine/movie/clear_save.asm new file mode 100755 index 00000000..b47cd6c4 --- /dev/null +++ b/engine/movie/clear_save.asm @@ -0,0 +1,23 @@ +DoClearSaveDialogue: + call ClearScreen + call RunDefaultPaletteCommand + call LoadFontTilePatterns + call LoadTextBoxTilePatterns + ld hl, ClearSaveDataText + call PrintText + coord hl, 14, 7 + lb bc, 8, 15 + ld a, NO_YES_MENU + ld [wTwoOptionMenuID], a + ld a, TWO_OPTION_MENU + ld [wTextBoxID], a + call DisplayTextBoxID + ld a, [wCurrentMenuItem] + and a + jp z, Init + callba ClearSAV + jp Init + +ClearSaveDataText: + TX_FAR _ClearSaveDataText + db "@" diff --git a/engine/movie/credits.asm b/engine/movie/credits.asm new file mode 100755 index 00000000..f820aae3 --- /dev/null +++ b/engine/movie/credits.asm @@ -0,0 +1,270 @@ +HallOfFamePC: + callba AnimateHallOfFame + call ClearScreen + ld c, 100 + call DelayFrames + call DisableLCD + ld hl, vFont + ld bc, $800 / 2 + call ZeroMemory + ld hl, vChars2 + $600 + ld bc, $200 / 2 + call ZeroMemory + ld hl, vChars2 + $7e0 + ld bc, $10 + ld a, $ff + call FillMemory + coord hl, 0, 0 + call FillFourRowsWithBlack + coord hl, 0, 14 + call FillFourRowsWithBlack + ld a, %11000000 + ld [rBGP], a + call EnableLCD + ld a, $ff + call PlaySoundWaitForCurrent + ld c, BANK(Music_Credits) + ld a, MUSIC_CREDITS + call PlayMusic + ld c, 128 + call DelayFrames + xor a + ld [wUnusedCD3D], a ; not read + ld [wNumCreditsMonsDisplayed], a + jp Credits + +FadeInCreditsText: + ld hl, HoFGBPalettes + ld b, 4 +.loop + ld a, [hli] + ld [rBGP], a + ld c, 5 + call DelayFrames + dec b + jr nz, .loop + ret + +DisplayCreditsMon: + xor a + ld [H_AUTOBGTRANSFERENABLED], a + call SaveScreenTilesToBuffer1 + call FillMiddleOfScreenWithWhite + + ; display the next monster from CreditsMons + ld hl, wNumCreditsMonsDisplayed + ld c, [hl] ; how many monsters have we displayed so far? + inc [hl] + ld b, 0 + ld hl, CreditsMons + add hl, bc ; go that far in the list of monsters and get the next one + ld a, [hl] + ld [wcf91], a + ld [wd0b5], a + coord hl, 8, 6 + call GetMonHeader + call LoadFrontSpriteByMonIndex + ld hl, vBGMap0 + $c + call CreditsCopyTileMapToVRAM + xor a + ld [H_AUTOBGTRANSFERENABLED], a + call LoadScreenTilesFromBuffer1 + ld hl, vBGMap0 + call CreditsCopyTileMapToVRAM + ld a, $A7 + ld [rWX], a + ld hl, vBGMap1 + call CreditsCopyTileMapToVRAM + call FillMiddleOfScreenWithWhite + ld a, %11111100 ; make the mon a black silhouette + ld [rBGP], a + +; scroll the mon left by one tile 7 times + ld bc, 7 +.scrollLoop1 + call ScrollCreditsMonLeft + dec c + jr nz, .scrollLoop1 + +; scroll the mon left by one tile 20 times +; This time, we have to move the window left too in order to hide the text that +; is wrapping around to the right side of the screen. + ld c, 20 +.scrollLoop2 + call ScrollCreditsMonLeft + ld a, [rWX] + sub 8 + ld [rWX], a + dec c + jr nz, .scrollLoop2 + + xor a + ld [hWY], a + ld a, %11000000 + ld [rBGP], a + ret + +INCLUDE "data/credit_mons.asm" + +ScrollCreditsMonLeft: + ld h, b + ld l, $20 + call ScrollCreditsMonLeft_SetSCX + ld h, $0 + ld l, $70 + call ScrollCreditsMonLeft_SetSCX + ld a, b + add $8 + ld b, a + ret + +ScrollCreditsMonLeft_SetSCX: + ld a, [rLY] + cp l + jr nz, ScrollCreditsMonLeft_SetSCX + ld a, h + ld [rSCX], a +.loop + ld a, [rLY] + cp h + jr z, .loop + ret + +HoFGBPalettes: + db %11000000 + db %11010000 + db %11100000 + db %11110000 + +CreditsCopyTileMapToVRAM: + ld a, l + ld [H_AUTOBGTRANSFERDEST], a + ld a, h + ld [H_AUTOBGTRANSFERDEST + 1], a + ld a, 1 + ld [H_AUTOBGTRANSFERENABLED], a + jp Delay3 + +ZeroMemory: +; zero bc bytes at hl + ld [hl], 0 + inc hl + inc hl + dec bc + ld a, b + or c + jr nz, ZeroMemory + ret + +FillFourRowsWithBlack: + ld bc, SCREEN_WIDTH * 4 + ld a, $7e + jp FillMemory + +FillMiddleOfScreenWithWhite: + coord hl, 0, 4 + ld bc, SCREEN_WIDTH * 10 + ld a, " " + jp FillMemory + +Credits: + ld de, CreditsOrder + push de +.nextCreditsScreen + pop de + coord hl, 9, 6 + push hl + call FillMiddleOfScreenWithWhite + pop hl +.nextCreditsCommand + ld a, [de] + inc de + push de + cp $ff + jr z, .fadeInTextAndShowMon + cp $fe + jr z, .showTextAndShowMon + cp $fd + jr z, .fadeInText + cp $fc + jr z, .showText + cp $fb + jr z, .showCopyrightText + cp $fa + jr z, .showTheEnd + push hl + push hl + ld hl, CreditsTextPointers + add a + ld c, a + ld b, 0 + add hl, bc + ld e, [hl] + inc hl + ld d, [hl] + ld a, [de] + inc de + ld c, a + ld b, $ff + pop hl + add hl, bc + call PlaceString + pop hl + ld bc, SCREEN_WIDTH * 2 + add hl, bc + pop de + jr .nextCreditsCommand +.fadeInTextAndShowMon + call FadeInCreditsText + ld c, 90 + jr .next1 +.showTextAndShowMon + ld c, 110 +.next1 + call DelayFrames + call DisplayCreditsMon + jr .nextCreditsScreen +.fadeInText + call FadeInCreditsText + ld c, 120 + jr .next2 +.showText + ld c, 140 +.next2 + call DelayFrames + jr .nextCreditsScreen +.showCopyrightText + push de + callba LoadCopyrightTiles + pop de + pop de + jr .nextCreditsCommand +.showTheEnd + ld c, 16 + call DelayFrames + call FillMiddleOfScreenWithWhite + pop de + ld de, TheEndGfx + ld hl, vChars2 + $600 + lb bc, BANK(TheEndGfx), (TheEndGfxEnd - TheEndGfx) / $10 + call CopyVideoData + coord hl, 4, 8 + ld de, TheEndTextString + call PlaceString + coord hl, 4, 9 + inc de + call PlaceString + jp FadeInCreditsText + +TheEndTextString: +; "T H E E N D" + db $60," ",$62," ",$64," ",$64," ",$66," ",$68,"@" + db $61," ",$63," ",$65," ",$65," ",$67," ",$69,"@" + +INCLUDE "data/credits_order.asm" + +INCLUDE "text/credits_text.asm" + +TheEndGfx: + INCBIN "gfx/intro_credits/the_end.2bpp" +TheEndGfxEnd: diff --git a/engine/movie/evolution.asm b/engine/movie/evolution.asm new file mode 100755 index 00000000..731735c5 --- /dev/null +++ b/engine/movie/evolution.asm @@ -0,0 +1,160 @@ +EvolveMon: + push hl + push de + push bc + ld a, [wcf91] + push af + ld a, [wd0b5] + push af + xor a + ld [wLowHealthAlarm], a + ld [wChannelSoundIDs + Ch5], a + dec a + ld [wNewSoundID], a + call PlaySound + ld a, $1 + ld [H_AUTOBGTRANSFERENABLED], a + ld a, SFX_TINK + call PlaySound + call Delay3 + xor a + ld [H_AUTOBGTRANSFERENABLED], a + ld [hTilesetType], a + ld a, [wEvoOldSpecies] + ld [wWholeScreenPaletteMonSpecies], a + ld c, 0 + call EvolutionSetWholeScreenPalette + ld a, [wEvoNewSpecies] + ld [wcf91], a + ld [wd0b5], a + call Evolution_LoadPic + ld de, vFrontPic + ld hl, vBackPic + ld bc, 7 * 7 + call CopyVideoData + ld a, [wEvoOldSpecies] + ld [wcf91], a + ld [wd0b5], a + call Evolution_LoadPic + ld a, $1 + ld [H_AUTOBGTRANSFERENABLED], a + ld a, [wEvoOldSpecies] + call PlayCry + call WaitForSoundToFinish + ld c, BANK(Music_SafariZone) + ld a, MUSIC_SAFARI_ZONE + call PlayMusic + ld c, 80 + call DelayFrames + ld c, 1 ; set PAL_BLACK instead of mon palette + call EvolutionSetWholeScreenPalette + lb bc, $1, $10 +.animLoop + push bc + call Evolution_CheckForCancel + jr c, .evolutionCancelled + call Evolution_BackAndForthAnim + pop bc + inc b + dec c + dec c + jr nz, .animLoop + xor a + ld [wEvoCancelled], a + ld a, $31 + ld [wEvoMonTileOffset], a + call Evolution_ChangeMonPic ; show the new species pic + ld a, [wEvoNewSpecies] +.done + ld [wWholeScreenPaletteMonSpecies], a + ld a, $ff + ld [wNewSoundID], a + call PlaySound + ld a, [wWholeScreenPaletteMonSpecies] + call PlayCry + ld c, 0 + call EvolutionSetWholeScreenPalette + pop af + ld [wd0b5], a + pop af + ld [wcf91], a + pop bc + pop de + pop hl + ld a, [wEvoCancelled] + and a + ret z + scf + ret +.evolutionCancelled + pop bc + ld a, 1 + ld [wEvoCancelled], a + ld a, [wEvoOldSpecies] + jr .done + +EvolutionSetWholeScreenPalette: + ld b, SET_PAL_POKEMON_WHOLE_SCREEN + jp RunPaletteCommand + +Evolution_LoadPic: + call GetMonHeader + coord hl, 7, 2 + jp LoadFlippedFrontSpriteByMonIndex + +Evolution_BackAndForthAnim: +; show the mon change back and forth between the new and old species b times + ld a, $31 + ld [wEvoMonTileOffset], a + call Evolution_ChangeMonPic + ld a, -$31 + ld [wEvoMonTileOffset], a + call Evolution_ChangeMonPic + dec b + jr nz, Evolution_BackAndForthAnim + ret + +Evolution_ChangeMonPic: + push bc + xor a + ld [H_AUTOBGTRANSFERENABLED], a + coord hl, 7, 2 + lb bc, 7, 7 + ld de, SCREEN_WIDTH - 7 +.loop + push bc +.innerLoop + ld a, [wEvoMonTileOffset] + add [hl] + ld [hli], a + dec c + jr nz, .innerLoop + pop bc + add hl, de + dec b + jr nz, .loop + ld a, 1 + ld [H_AUTOBGTRANSFERENABLED], a + call Delay3 + pop bc + ret + +Evolution_CheckForCancel: + call DelayFrame + push bc + call JoypadLowSensitivity + ld a, [hJoy5] + pop bc + and B_BUTTON + jr nz, .pressedB +.notAllowedToCancel + dec c + jr nz, Evolution_CheckForCancel + and a + ret +.pressedB + ld a, [wForceEvolution] + and a + jr nz, .notAllowedToCancel + scf + ret diff --git a/engine/movie/gamefreak.asm b/engine/movie/gamefreak.asm new file mode 100755 index 00000000..78e48384 --- /dev/null +++ b/engine/movie/gamefreak.asm @@ -0,0 +1,243 @@ +LoadShootingStarGraphics: + ld a, $f9 + ld [rOBP0], a + ld a, $a4 + ld [rOBP1], a + ld de, AnimationTileset2 + $30 ; star tile (top left quadrant) + ld hl, vChars1 + $200 + lb bc, BANK(AnimationTileset2), $01 + call CopyVideoData + ld de, AnimationTileset2 + $130 ; star tile (bottom left quadrant) + ld hl, vChars1 + $210 + lb bc, BANK(AnimationTileset2), $01 + call CopyVideoData + ld de, FallingStar + ld hl, vChars1 + $220 + lb bc, BANK(FallingStar), (FallingStarEnd - FallingStar) / $10 + call CopyVideoData + ld hl, GameFreakLogoOAMData + ld de, wOAMBuffer + $60 + ld bc, GameFreakLogoOAMDataEnd - GameFreakLogoOAMData + call CopyData + ld hl, GameFreakShootingStarOAMData + ld de, wOAMBuffer + ld bc, GameFreakShootingStarOAMDataEnd - GameFreakShootingStarOAMData + jp CopyData + +AnimateShootingStar: + call LoadShootingStarGraphics + ld a, SFX_SHOOTING_STAR + call PlaySound + +; Move the big star down and left across the screen. + ld hl, wOAMBuffer + lb bc, $a0, $4 +.bigStarLoop + push hl + push bc +.bigStarInnerLoop + ld a, [hl] ; Y + add 4 + ld [hli], a + ld a, [hl] ; X + add -4 + ld [hli], a + inc hl + inc hl + dec c + jr nz, .bigStarInnerLoop + ld c, 1 + call CheckForUserInterruption + pop bc + pop hl + ret c + ld a, [hl] + cp 80 + jr nz, .next + jr .bigStarLoop +.next + cp b + jr nz, .bigStarLoop + +; Clear big star OAM. + ld hl, wOAMBuffer + ld c, 4 + ld de, 4 +.clearOAMLoop + ld [hl], 160 + add hl, de + dec c + jr nz, .clearOAMLoop + +; Make Gamefreak logo flash. + ld b, 3 +.flashLogoLoop + ld hl, rOBP0 + rrc [hl] + rrc [hl] + ld c, 10 + call CheckForUserInterruption + ret c + dec b + jr nz, .flashLogoLoop + +; Copy 24 instances of the small stars OAM data. +; Note that their coordinates put them off-screen. + ld de, wOAMBuffer + ld a, 24 +.initSmallStarsOAMLoop + push af + ld hl, SmallStarsOAM + ld bc, SmallStarsOAMEnd - SmallStarsOAM + call CopyData + pop af + dec a + jr nz, .initSmallStarsOAMLoop + +; Animate the small stars falling from the Gamefreak logo. + xor a + ld [wMoveDownSmallStarsOAMCount], a + ld hl, SmallStarsWaveCoordsPointerTable + ld c, 6 +.smallStarsLoop + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + push bc + push hl + ld hl, wOAMBuffer + $50 + ld c, 4 +.smallStarsInnerLoop ; introduce new wave of 4 small stars OAM entries + ld a, [de] + cp $ff + jr z, .next2 + ld [hli], a ; Y + inc de + ld a, [de] + ld [hli], a ; X + inc de + inc hl + inc hl + dec c + jr nz, .smallStarsInnerLoop + ld a, [wMoveDownSmallStarsOAMCount] + cp 24 + jr z, .next2 + add 6 ; should be 4, but the extra 2 aren't visible on screen + ld [wMoveDownSmallStarsOAMCount], a +.next2 + call MoveDownSmallStars + push af + +; shift the existing OAM entries down to make room for the next wave + ld hl, wOAMBuffer + $10 + ld de, wOAMBuffer + ld bc, $50 + call CopyData + + pop af + pop hl + pop bc + ret c + dec c + jr nz, .smallStarsLoop + and a + ret + +SmallStarsOAM: + db $00,$00,$A2,$90 +SmallStarsOAMEnd: + +SmallStarsWaveCoordsPointerTable: + dw SmallStarsWave1Coords + dw SmallStarsWave2Coords + dw SmallStarsWave3Coords + dw SmallStarsWave4Coords + dw SmallStarsEmptyWave + dw SmallStarsEmptyWave + +; The stars that fall from the Gamefreak logo come in 4 waves of 4 OAM entries. +; These arrays contain the Y and X coordinates of each OAM entry. + +SmallStarsWave1Coords: + db $68,$30 + db $68,$40 + db $68,$58 + db $68,$78 + +SmallStarsWave2Coords: + db $68,$38 + db $68,$48 + db $68,$60 + db $68,$70 + +SmallStarsWave3Coords: + db $68,$34 + db $68,$4C + db $68,$54 + db $68,$64 + +SmallStarsWave4Coords: + db $68,$3C + db $68,$5C + db $68,$6C + db $68,$74 + +SmallStarsEmptyWave: + db $FF + +MoveDownSmallStars: + ld b, 8 +.loop + ld hl, wOAMBuffer + $5c + ld a, [wMoveDownSmallStarsOAMCount] + ld de, -4 + ld c, a +.innerLoop + inc [hl] ; Y + add hl, de + dec c + jr nz, .innerLoop +; Toggle the palette so that the lower star in the small stars tile blinks in +; and out. + ld a, [rOBP1] + xor %10100000 + ld [rOBP1], a + + ld c, 3 + call CheckForUserInterruption + ret c + dec b + jr nz, .loop + ret + +GameFreakLogoOAMData: + db $48,$50,$8D,$00 + db $48,$58,$8E,$00 + db $50,$50,$8F,$00 + db $50,$58,$90,$00 + db $58,$50,$91,$00 + db $58,$58,$92,$00 + db $60,$30,$80,$00 + db $60,$38,$81,$00 + db $60,$40,$82,$00 + db $60,$48,$83,$00 + db $60,$50,$93,$00 + db $60,$58,$84,$00 + db $60,$60,$85,$00 + db $60,$68,$83,$00 + db $60,$70,$81,$00 + db $60,$78,$86,$00 +GameFreakLogoOAMDataEnd: + +GameFreakShootingStarOAMData: + db $00,$A0,$A0,$10 + db $00,$A8,$A0,$30 + db $08,$A0,$A1,$10 + db $08,$A8,$A1,$30 +GameFreakShootingStarOAMDataEnd: + +FallingStar: + INCBIN "gfx/intro_credits/falling_star.2bpp" +FallingStarEnd: diff --git a/engine/movie/hall_of_fame.asm b/engine/movie/hall_of_fame.asm new file mode 100755 index 00000000..3c9b1723 --- /dev/null +++ b/engine/movie/hall_of_fame.asm @@ -0,0 +1,288 @@ +AnimateHallOfFame: + call HoFFadeOutScreenAndMusic + call ClearScreen + ld c, 100 + call DelayFrames + call LoadFontTilePatterns + call LoadTextBoxTilePatterns + call DisableLCD + ld hl, vBGMap0 + ld bc, $800 + ld a, " " + call FillMemory + call EnableLCD + ld hl, rLCDC + set 3, [hl] + xor a + ld hl, wHallOfFame + ld bc, HOF_TEAM + call FillMemory + xor a + ld [wUpdateSpritesEnabled], a + ld [hTilesetType], a + ld [wSpriteFlipped], a + ld [wLetterPrintingDelayFlags], a ; no delay + ld [wHoFMonOrPlayer], a ; mon + inc a + ld [H_AUTOBGTRANSFERENABLED], a + ld hl, wNumHoFTeams + ld a, [hl] + inc a + jr z, .skipInc ; don't wrap around to 0 + inc [hl] +.skipInc + ld a, $90 + ld [hWY], a + ld c, BANK(Music_HallOfFame) + ld a, MUSIC_HALL_OF_FAME + call PlayMusic + ld hl, wPartySpecies + ld c, $ff +.partyMonLoop + ld a, [hli] + cp $ff + jr z, .doneShowingParty + inc c + push hl + push bc + ld [wHoFMonSpecies], a + ld a, c + ld [wHoFPartyMonIndex], a + ld hl, wPartyMon1Level + ld bc, wPartyMon2 - wPartyMon1 + call AddNTimes + ld a, [hl] + ld [wHoFMonLevel], a + call HoFShowMonOrPlayer + call HoFDisplayAndRecordMonInfo + ld c, 80 + call DelayFrames + coord hl, 2, 13 + ld b, 3 + ld c, 14 + call TextBoxBorder + coord hl, 4, 15 + ld de, HallOfFameText + call PlaceString + ld c, 180 + call DelayFrames + call GBFadeOutToWhite + pop bc + pop hl + jr .partyMonLoop +.doneShowingParty + ld a, c + inc a + ld hl, wHallOfFame + ld bc, HOF_MON + call AddNTimes + ld [hl], $ff + call SaveHallOfFameTeams + xor a + ld [wHoFMonSpecies], a + inc a + ld [wHoFMonOrPlayer], a ; player + call HoFShowMonOrPlayer + call HoFDisplayPlayerStats + call HoFFadeOutScreenAndMusic + xor a + ld [hWY], a + ld hl, rLCDC + res 3, [hl] + ret + +HallOfFameText: + db "HALL OF FAME@" + +HoFShowMonOrPlayer: + call ClearScreen + ld a, $d0 + ld [hSCY], a + ld a, $c0 + ld [hSCX], a + ld a, [wHoFMonSpecies] + ld [wcf91], a + ld [wd0b5], a + ld [wBattleMonSpecies2], a + ld [wWholeScreenPaletteMonSpecies], a + ld a, [wHoFMonOrPlayer] + and a + jr z, .showMon +; show player + call HoFLoadPlayerPics + jr .next1 +.showMon + coord hl, 12, 5 + call GetMonHeader + call LoadFrontSpriteByMonIndex + predef LoadMonBackPic +.next1 + ld b, SET_PAL_POKEMON_WHOLE_SCREEN + ld c, 0 + call RunPaletteCommand + ld a, %11100100 + ld [rBGP], a + ld c, $31 ; back pic + call HoFLoadMonPlayerPicTileIDs + ld d, $a0 + ld e, 4 + ld a, [wOnSGB] + and a + jr z, .next2 + sla e ; scroll more slowly on SGB +.next2 + call .ScrollPic ; scroll back pic left + xor a + ld [hSCY], a + ld c, a ; front pic + call HoFLoadMonPlayerPicTileIDs + ld d, 0 + ld e, -4 +; scroll front pic right + +.ScrollPic + call DelayFrame + ld a, [hSCX] + add e + ld [hSCX], a + cp d + jr nz, .ScrollPic + ret + +HoFDisplayAndRecordMonInfo: + ld a, [wHoFPartyMonIndex] + ld hl, wPartyMonNicks + call GetPartyMonName + call HoFDisplayMonInfo + jp HoFRecordMonInfo + +HoFDisplayMonInfo: + coord hl, 0, 2 + ld b, 9 + ld c, 10 + call TextBoxBorder + coord hl, 2, 6 + ld de, HoFMonInfoText + call PlaceString + coord hl, 1, 4 + ld de, wcd6d + call PlaceString + ld a, [wHoFMonLevel] + coord hl, 8, 7 + call PrintLevelCommon + ld a, [wHoFMonSpecies] + ld [wd0b5], a + coord hl, 3, 9 + predef PrintMonType + ld a, [wHoFMonSpecies] + jp PlayCry + +HoFMonInfoText: + db "LEVEL/" + next "TYPE1/" + next "TYPE2/@" + +HoFLoadPlayerPics: + ld de, RedPicFront + ld a, BANK(RedPicFront) + call UncompressSpriteFromDE + ld hl, sSpriteBuffer1 + ld de, sSpriteBuffer0 + ld bc, $310 + call CopyData + ld de, vFrontPic + call InterlaceMergeSpriteBuffers + ld de, RedPicBack + ld a, BANK(RedPicBack) + call UncompressSpriteFromDE + predef ScaleSpriteByTwo + ld de, vBackPic + call InterlaceMergeSpriteBuffers + ld c, $1 + +HoFLoadMonPlayerPicTileIDs: +; c = base tile ID + ld b, 0 + coord hl, 12, 5 + predef_jump CopyTileIDsFromList + +HoFDisplayPlayerStats: + SetEvent EVENT_HALL_OF_FAME_DEX_RATING + predef DisplayDexRating + coord hl, 0, 4 + ld b, 6 + ld c, 10 + call TextBoxBorder + coord hl, 5, 0 + ld b, 2 + ld c, 9 + call TextBoxBorder + coord hl, 7, 2 + ld de, wPlayerName + call PlaceString + coord hl, 1, 6 + ld de, HoFPlayTimeText + call PlaceString + coord hl, 5, 7 + ld de, wPlayTimeHours + lb bc, 1, 3 + call PrintNumber + ld [hl], $6d + inc hl + ld de, wPlayTimeMinutes + lb bc, LEADING_ZEROES | 1, 2 + call PrintNumber + coord hl, 1, 9 + ld de, HoFMoneyText + call PlaceString + coord hl, 4, 10 + ld de, wPlayerMoney + ld c, $a3 + call PrintBCDNumber + ld hl, DexSeenOwnedText + call HoFPrintTextAndDelay + ld hl, DexRatingText + call HoFPrintTextAndDelay + ld hl, wDexRatingText + +HoFPrintTextAndDelay: + call PrintText + ld c, 120 + jp DelayFrames + +HoFPlayTimeText: + db "PLAY TIME@" + +HoFMoneyText: + db "MONEY@" + +DexSeenOwnedText: + TX_FAR _DexSeenOwnedText + db "@" + +DexRatingText: + TX_FAR _DexRatingText + db "@" + +HoFRecordMonInfo: + ld hl, wHallOfFame + ld bc, HOF_MON + ld a, [wHoFPartyMonIndex] + call AddNTimes + ld a, [wHoFMonSpecies] + ld [hli], a + ld a, [wHoFMonLevel] + ld [hli], a + ld e, l + ld d, h + ld hl, wcd6d + ld bc, NAME_LENGTH + jp CopyData + +HoFFadeOutScreenAndMusic: + ld a, 10 + ld [wAudioFadeOutCounterReloadValue], a + ld [wAudioFadeOutCounter], a + ld a, $ff + ld [wAudioFadeOutControl], a + jp GBFadeOutToWhite diff --git a/engine/movie/init_player_data.asm b/engine/movie/init_player_data.asm new file mode 100644 index 00000000..c576e65a --- /dev/null +++ b/engine/movie/init_player_data.asm @@ -0,0 +1,55 @@ +InitPlayerData: +InitPlayerData2: + + call Random + ld a, [hRandomSub] + ld [wPlayerID], a + + call Random + ld a, [hRandomAdd] + ld [wPlayerID + 1], a + + ld a, $ff + ld [wUnusedD71B], a + + ld hl, wPartyCount + call InitializeEmptyList + ld hl, wNumInBox + call InitializeEmptyList + ld hl, wNumBagItems + call InitializeEmptyList + ld hl, wNumBoxItems + call InitializeEmptyList + +START_MONEY EQU $3000 + ld hl, wPlayerMoney + 1 + ld a, START_MONEY / $100 + ld [hld], a + xor a + ld [hli], a + inc hl + ld [hl], a + + ld [wMonDataLocation], a + + ld hl, wObtainedBadges + ld [hli], a + + ld [hl], a + + ld hl, wPlayerCoins + ld [hli], a + ld [hl], a + + ld hl, wGameProgressFlags + ld bc, wGameProgressFlagsEnd - wGameProgressFlags + call FillMemory ; clear all game progress flags + + jp InitializeMissableObjectsFlags + +InitializeEmptyList: + xor a ; count + ld [hli], a + dec a ; terminator + ld [hl], a + ret diff --git a/engine/movie/intro.asm b/engine/movie/intro.asm new file mode 100755 index 00000000..9a13c96f --- /dev/null +++ b/engine/movie/intro.asm @@ -0,0 +1,470 @@ +const_value = -1 + const MOVE_NIDORINO_RIGHT + const MOVE_GENGAR_RIGHT + const MOVE_GENGAR_LEFT + +ANIMATION_END EQU 80 + +const_value = 3 + const GENGAR_INTRO_TILES1 + const GENGAR_INTRO_TILES2 + const GENGAR_INTRO_TILES3 + +PlayIntro: + xor a + ld [hJoyHeld], a + inc a + ld [H_AUTOBGTRANSFERENABLED], a + call PlayShootingStar + call PlayIntroScene + call GBFadeOutToWhite + xor a + ld [hSCX], a + ld [H_AUTOBGTRANSFERENABLED], a + call ClearSprites + call DelayFrame + ret + +PlayIntroScene: + ld b, SET_PAL_NIDORINO_INTRO + call RunPaletteCommand + ldPal a, BLACK, DARK_GRAY, LIGHT_GRAY, WHITE + ld [rBGP], a + ld [rOBP0], a + ld [rOBP1], a + xor a + ld [hSCX], a + ld b, GENGAR_INTRO_TILES1 + call IntroCopyTiles + ld a, 0 + ld [wBaseCoordX], a + ld a, 80 + ld [wBaseCoordY], a + lb bc, 6, 6 + call InitIntroNidorinoOAM + lb de, 80 / 2, MOVE_NIDORINO_RIGHT + call IntroMoveMon + ret c + +; hip + ld a, SFX_INTRO_HIP + call PlaySound + xor a + ld [wIntroNidorinoBaseTile], a + ld de, IntroNidorinoAnimation1 + call AnimateIntroNidorino +; hop + ld a, SFX_INTRO_HOP + call PlaySound + ld de, IntroNidorinoAnimation2 + call AnimateIntroNidorino + ld c, 10 + call CheckForUserInterruption + ret c + +; hip + ld a, SFX_INTRO_HIP + call PlaySound + ld de, IntroNidorinoAnimation1 + call AnimateIntroNidorino +; hop + ld a, SFX_INTRO_HOP + call PlaySound + ld de, IntroNidorinoAnimation2 + call AnimateIntroNidorino + ld c, 30 + call CheckForUserInterruption + ret c + +; raise + ld b, GENGAR_INTRO_TILES2 + call IntroCopyTiles + ld a, SFX_INTRO_RAISE + call PlaySound + lb de, 8 / 2, MOVE_GENGAR_LEFT + call IntroMoveMon + ld c, 30 + call CheckForUserInterruption + ret c + +; slash + ld b, GENGAR_INTRO_TILES3 + call IntroCopyTiles + ld a, SFX_INTRO_CRASH + call PlaySound + lb de, 16 / 2, MOVE_GENGAR_RIGHT + call IntroMoveMon +; hip + ld a, SFX_INTRO_HIP + call PlaySound + ld a, (FightIntroFrontMon2 - FightIntroFrontMon) / BYTES_PER_TILE + ld [wIntroNidorinoBaseTile], a + ld de, IntroNidorinoAnimation3 + call AnimateIntroNidorino + ld c, 30 + call CheckForUserInterruption + ret c + + lb de, 8 / 2, MOVE_GENGAR_LEFT + call IntroMoveMon + ld b, GENGAR_INTRO_TILES1 + call IntroCopyTiles + ld c, 60 + call CheckForUserInterruption + ret c + +; hip + ld a, SFX_INTRO_HIP + call PlaySound + xor a + ld [wIntroNidorinoBaseTile], a + ld de, IntroNidorinoAnimation4 + call AnimateIntroNidorino +; hop + ld a, SFX_INTRO_HOP + call PlaySound + ld de, IntroNidorinoAnimation5 + call AnimateIntroNidorino + ld c, 20 + call CheckForUserInterruption + ret c + + ld a, (FightIntroFrontMon2 - FightIntroFrontMon) / BYTES_PER_TILE + ld [wIntroNidorinoBaseTile], a + ld de, IntroNidorinoAnimation6 + call AnimateIntroNidorino + ld c, 30 + call CheckForUserInterruption + ret c + +; lunge + ld a, SFX_INTRO_LUNGE + call PlaySound + ld a, (FightIntroFrontMon3 - FightIntroFrontMon) / BYTES_PER_TILE + ld [wIntroNidorinoBaseTile], a + ld de, IntroNidorinoAnimation7 + jp AnimateIntroNidorino + +AnimateIntroNidorino: + ld a, [de] + cp ANIMATION_END + ret z + ld [wBaseCoordY], a + inc de + ld a, [de] + ld [wBaseCoordX], a + push de + ld c, 6 * 6 + call UpdateIntroNidorinoOAM + ld c, 5 + call DelayFrames + pop de + inc de + jr AnimateIntroNidorino + +UpdateIntroNidorinoOAM: + ld hl, wOAMBuffer + ld a, [wIntroNidorinoBaseTile] + ld d, a +.loop + ld a, [wBaseCoordY] + add [hl] + ld [hli], a ; Y + ld a, [wBaseCoordX] + add [hl] + ld [hli], a ; X + ld a, d + ld [hli], a ; tile + inc hl + inc d + dec c + jr nz, .loop + ret + +InitIntroNidorinoOAM: + ld hl, wOAMBuffer + ld d, 0 +.loop + push bc + ld a, [wBaseCoordY] + ld e, a +.innerLoop + ld a, e + add 8 + ld e, a + ld [hli], a ; Y + ld a, [wBaseCoordX] + ld [hli], a ; X + ld a, d + ld [hli], a ; tile + ld a, OAM_BEHIND_BG + ld [hli], a ; attributes + inc d + dec c + jr nz, .innerLoop + ld a, [wBaseCoordX] + add 8 + ld [wBaseCoordX], a + pop bc + dec b + jr nz, .loop + ret + +IntroClearScreen: + ld hl, vBGMap1 + ld bc, BG_MAP_WIDTH * SCREEN_HEIGHT + jr IntroClearCommon + +IntroClearMiddleOfScreen: +; clear the area of the tile map between the black bars on the top and bottom + coord hl, 0, 4 + ld bc, SCREEN_WIDTH * 10 + +IntroClearCommon: + ld [hl], 0 + inc hl + dec bc + ld a, b + or c + jr nz, IntroClearCommon + ret + +IntroPlaceBlackTiles: + ld a, 1 +.loop + ld [hli], a + dec c + jr nz, .loop + ret + +IntroMoveMon: +; d = number of times to move the mon (2 pixels each time) + ld a, e + cp MOVE_NIDORINO_RIGHT + jr z, .moveNidorinoRight + cp MOVE_GENGAR_LEFT + jr z, .moveGengarLeft +; move Gengar right + ld a, [hSCX] + dec a + dec a + jr .next +.moveNidorinoRight + push de + ld a, 2 + ld [wBaseCoordX], a + xor a + ld [wBaseCoordY], a + ld c, 6 * 6 + call UpdateIntroNidorinoOAM + pop de +.moveGengarLeft + ld a, [hSCX] + inc a + inc a +.next + ld [hSCX], a + push de + ld c, 2 + call CheckForUserInterruption + pop de + ret c + dec d + jr nz, IntroMoveMon + ret + +IntroCopyTiles: + coord hl, 13, 7 + +CopyTileIDsFromList_ZeroBaseTileID: + ld c, 0 + predef_jump CopyTileIDsFromList + +PlayMoveSoundB: +; unused + predef GetMoveSoundB + ld a, b + jp PlaySound + +LoadIntroGraphics: + ld hl, FightIntroBackMon + ld de, vChars2 + ld bc, FightIntroBackMonEnd - FightIntroBackMon + ld a, BANK(FightIntroBackMon) + call FarCopyData2 + ld hl, GameFreakIntro + ld de, vChars2 + (FightIntroBackMonEnd - FightIntroBackMon) + ld bc, GameFreakIntroEnd - GameFreakIntro + ld a, BANK(GameFreakIntro) + call FarCopyData2 + ld hl, GameFreakIntro + ld de, vChars1 + ld bc, GameFreakIntroEnd - GameFreakIntro + ld a, BANK(GameFreakIntro) + call FarCopyData2 + ld hl, FightIntroFrontMon + ld de, vChars0 + ld bc, FightIntroFrontMonEnd - FightIntroFrontMon + ld a, BANK(FightIntroFrontMon) + jp FarCopyData2 + +PlayShootingStar: + ld b, SET_PAL_GAME_FREAK_INTRO + call RunPaletteCommand + callba LoadCopyrightAndTextBoxTiles + ldPal a, BLACK, DARK_GRAY, LIGHT_GRAY, WHITE + ld [rBGP], a + ld c, 180 + call DelayFrames + call ClearScreen + call DisableLCD + xor a + ld [wCurOpponent], a + call IntroDrawBlackBars + call LoadIntroGraphics + call EnableLCD + ld hl, rLCDC + res 5, [hl] + set 3, [hl] + ld c, 64 + call DelayFrames + callba AnimateShootingStar + push af + pop af + jr c, .next ; skip the delay if the user interrupted the animation + ld c, 40 + call DelayFrames +.next + ld a, BANK(Music_IntroBattle) + ld [wAudioROMBank], a + ld [wAudioSavedROMBank], a + ld a, MUSIC_INTRO_BATTLE + ld [wNewSoundID], a + call PlaySound + call IntroClearMiddleOfScreen + call ClearSprites + jp Delay3 + +IntroDrawBlackBars: +; clear the screen and draw black bars on the top and bottom + call IntroClearScreen + coord hl, 0, 0 + ld c, SCREEN_WIDTH * 4 + call IntroPlaceBlackTiles + coord hl, 0, 14 + ld c, SCREEN_WIDTH * 4 + call IntroPlaceBlackTiles + ld hl, vBGMap1 + ld c, BG_MAP_WIDTH * 4 + call IntroPlaceBlackTiles + ld hl, vBGMap1 + BG_MAP_WIDTH * 14 + ld c, BG_MAP_WIDTH * 4 + jp IntroPlaceBlackTiles + +EmptyFunc4: + ret + +IntroNidorinoAnimation0: + db 0, 0 + db ANIMATION_END + +IntroNidorinoAnimation1: +; This is a sequence of pixel movements for part of the Nidorino animation. This +; list describes how Nidorino should hop. +; First byte is y movement, second byte is x movement + db 0, 0 + db -2, 2 + db -1, 2 + db 1, 2 + db 2, 2 + db ANIMATION_END + +IntroNidorinoAnimation2: +; This is a sequence of pixel movements for part of the Nidorino animation. +; First byte is y movement, second byte is x movement + db 0, 0 + db -2, -2 + db -1, -2 + db 1, -2 + db 2, -2 + db ANIMATION_END + +IntroNidorinoAnimation3: +; This is a sequence of pixel movements for part of the Nidorino animation. +; First byte is y movement, second byte is x movement + db 0, 0 + db -12, 6 + db -8, 6 + db 8, 6 + db 12, 6 + db ANIMATION_END + +IntroNidorinoAnimation4: +; This is a sequence of pixel movements for part of the Nidorino animation. +; First byte is y movement, second byte is x movement + db 0, 0 + db -8, -4 + db -4, -4 + db 4, -4 + db 8, -4 + db ANIMATION_END + +IntroNidorinoAnimation5: +; This is a sequence of pixel movements for part of the Nidorino animation. +; First byte is y movement, second byte is x movement + db 0, 0 + db -8, 4 + db -4, 4 + db 4, 4 + db 8, 4 + db ANIMATION_END + +IntroNidorinoAnimation6: +; This is a sequence of pixel movements for part of the Nidorino animation. +; First byte is y movement, second byte is x movement + db 0, 0 + db 2, 0 + db 2, 0 + db 0, 0 + db ANIMATION_END + +IntroNidorinoAnimation7: +; This is a sequence of pixel movements for part of the Nidorino animation. +; First byte is y movement, second byte is x movement + db -8, -16 + db -7, -14 + db -6, -12 + db -4, -10 + db ANIMATION_END + +GameFreakIntro: + INCBIN "gfx/intro_credits/gamefreak_presents.2bpp" + INCBIN "gfx/intro_credits/gamefreak_logo.2bpp" + ds 16, $00 ; blank tile +GameFreakIntroEnd: + +FightIntroBackMon: + INCBIN "gfx/intro_credits/gengar.2bpp" +FightIntroBackMonEnd: + +FightIntroFrontMon: + +IF DEF(_RED) + INCBIN "gfx/intro_credits/red_nidorino_1.2bpp" +FightIntroFrontMon2: + INCBIN "gfx/intro_credits/red_nidorino_2.2bpp" +FightIntroFrontMon3: + INCBIN "gfx/intro_credits/red_nidorino_3.2bpp" +ENDC + +IF DEF(_BLUE) + INCBIN "gfx/intro_credits/blue_jigglypuff_1.2bpp" +FightIntroFrontMon2: + INCBIN "gfx/intro_credits/blue_jigglypuff_2.2bpp" +FightIntroFrontMon3: + INCBIN "gfx/intro_credits/blue_jigglypuff_3.2bpp" +ENDC + +FightIntroFrontMonEnd: + + ds 16, $00 ; blank tile diff --git a/engine/movie/oak_speech.asm b/engine/movie/oak_speech.asm new file mode 100755 index 00000000..b1acfb65 --- /dev/null +++ b/engine/movie/oak_speech.asm @@ -0,0 +1,233 @@ +SetDefaultNames: + ld a, [wLetterPrintingDelayFlags] + push af + ld a, [wOptions] + push af + ld a, [wd732] + push af + ld hl, wPlayerName + ld bc, wBoxDataEnd - wPlayerName + xor a + call FillMemory + ld hl, wSpriteStateData1 + ld bc, $200 + xor a + call FillMemory + pop af + ld [wd732], a + pop af + ld [wOptions], a + pop af + ld [wLetterPrintingDelayFlags], a + ld a, [wOptionsInitialized] + and a + call z, InitOptions + ld hl, NintenText + ld de, wPlayerName + ld bc, NAME_LENGTH + call CopyData + ld hl, SonyText + ld de, wRivalName + ld bc, NAME_LENGTH + jp CopyData + +OakSpeech: + ld a, $FF + call PlaySound ; stop music + ld a, BANK(Music_Routes2) + ld c, a + ld a, MUSIC_ROUTES2 + call PlayMusic + call ClearScreen + call LoadTextBoxTilePatterns + call SetDefaultNames + predef InitPlayerData2 + ld hl, wNumBoxItems + ld a, POTION + ld [wcf91], a + ld a, 1 + ld [wItemQuantity], a + call AddItemToInventory ; give one potion + ld a, [wDefaultMap] + ld [wDestinationMap], a + call SpecialWarpIn + xor a + ld [hTilesetType], a + ld a, [wd732] + bit 1, a ; possibly a debug mode bit + jp nz, .skipChoosingNames + ld de, ProfOakPic + lb bc, Bank(ProfOakPic), $00 + call IntroDisplayPicCenteredOrUpperRight + call FadeInIntroPic + ld hl, OakSpeechText1 + call PrintText + call GBFadeOutToWhite + call ClearScreen + ld a, NIDORINO + ld [wd0b5], a + ld [wcf91], a + call GetMonHeader + coord hl, 6, 4 + call LoadFlippedFrontSpriteByMonIndex + call MovePicLeft + ld hl, OakSpeechText2 + call PrintText + call GBFadeOutToWhite + call ClearScreen + ld de, RedPicFront + lb bc, Bank(RedPicFront), $00 + call IntroDisplayPicCenteredOrUpperRight + call MovePicLeft + ld hl, IntroducePlayerText + call PrintText + call ChoosePlayerName + call GBFadeOutToWhite + call ClearScreen + ld de, Rival1Pic + lb bc, Bank(Rival1Pic), $00 + call IntroDisplayPicCenteredOrUpperRight + call FadeInIntroPic + ld hl, IntroduceRivalText + call PrintText + call ChooseRivalName +.skipChoosingNames + call GBFadeOutToWhite + call ClearScreen + ld de, RedPicFront + lb bc, Bank(RedPicFront), $00 + call IntroDisplayPicCenteredOrUpperRight + call GBFadeInFromWhite + ld a, [wd72d] + and a + jr nz, .next + ld hl, OakSpeechText3 + call PrintText +.next + ld a, [H_LOADEDROMBANK] + push af + ld a, SFX_SHRINK + call PlaySound + pop af + ld [H_LOADEDROMBANK], a + ld [MBC1RomBank], a + ld c, 4 + call DelayFrames + ld de, RedSprite + ld hl, vSprites + lb bc, BANK(RedSprite), $0C + call CopyVideoData + ld de, ShrinkPic1 + lb bc, BANK(ShrinkPic1), $00 + call IntroDisplayPicCenteredOrUpperRight + ld c, 4 + call DelayFrames + ld de, ShrinkPic2 + lb bc, BANK(ShrinkPic2), $00 + call IntroDisplayPicCenteredOrUpperRight + call ResetPlayerSpriteData + ld a, [H_LOADEDROMBANK] + push af + ld a, BANK(Music_PalletTown) + ld [wAudioROMBank], a + ld [wAudioSavedROMBank], a + ld a, 10 + ld [wAudioFadeOutControl], a + ld a, $FF + ld [wNewSoundID], a + call PlaySound ; stop music + pop af + ld [H_LOADEDROMBANK], a + ld [MBC1RomBank], a + ld c, 20 + call DelayFrames + coord hl, 6, 5 + ld b, 7 + ld c, 7 + call ClearScreenArea + call LoadTextBoxTilePatterns + ld a, 1 + ld [wUpdateSpritesEnabled], a + ld c, 50 + call DelayFrames + call GBFadeOutToWhite + jp ClearScreen +OakSpeechText1: + TX_FAR _OakSpeechText1 + db "@" +OakSpeechText2: + TX_FAR _OakSpeechText2A + TX_CRY_NIDORINA + TX_FAR _OakSpeechText2B + db "@" +IntroducePlayerText: + TX_FAR _IntroducePlayerText + db "@" +IntroduceRivalText: + TX_FAR _IntroduceRivalText + db "@" +OakSpeechText3: + TX_FAR _OakSpeechText3 + db "@" + +FadeInIntroPic: + ld hl, IntroFadePalettes + ld b, 6 +.next + ld a, [hli] + ld [rBGP], a + ld c, 10 + call DelayFrames + dec b + jr nz, .next + ret + +IntroFadePalettes: + db %01010100 + db %10101000 + db %11111100 + db %11111000 + db %11110100 + db %11100100 + +MovePicLeft: + ld a, 119 + ld [rWX], a + call DelayFrame + + ld a, %11100100 + ld [rBGP], a +.next + call DelayFrame + ld a, [rWX] + sub 8 + cp $FF + ret z + ld [rWX], a + jr .next + +DisplayPicCenteredOrUpperRight: + call GetPredefRegisters +IntroDisplayPicCenteredOrUpperRight: +; b = bank +; de = address of compressed pic +; c: 0 = centred, non-zero = upper-right + push bc + ld a, b + call UncompressSpriteFromDE + ld hl, sSpriteBuffer1 + ld de, sSpriteBuffer0 + ld bc, $310 + call CopyData + ld de, vFrontPic + call InterlaceMergeSpriteBuffers + pop bc + ld a, c + and a + coord hl, 15, 1 + jr nz, .next + coord hl, 6, 4 +.next + xor a + ld [hStartTileID], a + predef_jump CopyUncompressedPicToTilemap diff --git a/engine/movie/oak_speech2.asm b/engine/movie/oak_speech2.asm new file mode 100755 index 00000000..fdc9ffa3 --- /dev/null +++ b/engine/movie/oak_speech2.asm @@ -0,0 +1,219 @@ +ChoosePlayerName: + call OakSpeechSlidePicRight + ld de, DefaultNamesPlayer + call DisplayIntroNameTextBox + ld a, [wCurrentMenuItem] + and a + jr z, .customName + ld hl, DefaultNamesPlayerList + call GetDefaultName + ld de, wPlayerName + call OakSpeechSlidePicLeft + jr .done +.customName + ld hl, wPlayerName + xor a ; NAME_PLAYER_SCREEN + ld [wNamingScreenType], a + call DisplayNamingScreen + ld a, [wcf4b] + cp "@" + jr z, .customName + call ClearScreen + call Delay3 + ld de, RedPicFront + ld b, BANK(RedPicFront) + call IntroDisplayPicCenteredOrUpperRight +.done + ld hl, YourNameIsText + jp PrintText + +YourNameIsText: + TX_FAR _YourNameIsText + db "@" + +ChooseRivalName: + call OakSpeechSlidePicRight + ld de, DefaultNamesRival + call DisplayIntroNameTextBox + ld a, [wCurrentMenuItem] + and a + jr z, .customName + ld hl, DefaultNamesRivalList + call GetDefaultName + ld de, wRivalName + call OakSpeechSlidePicLeft + jr .done +.customName + ld hl, wRivalName + ld a, NAME_RIVAL_SCREEN + ld [wNamingScreenType], a + call DisplayNamingScreen + ld a, [wcf4b] + cp "@" + jr z, .customName + call ClearScreen + call Delay3 + ld de, Rival1Pic + ld b, $13 + call IntroDisplayPicCenteredOrUpperRight +.done + ld hl, HisNameIsText + jp PrintText + +HisNameIsText: + TX_FAR _HisNameIsText + db "@" + +OakSpeechSlidePicLeft: + push de + coord hl, 0, 0 + lb bc, 12, 11 + call ClearScreenArea ; clear the name list text box + ld c, 10 + call DelayFrames + pop de + ld hl, wcd6d + ld bc, NAME_LENGTH + call CopyData + call Delay3 + coord hl, 12, 4 + lb de, 6, 6 * SCREEN_WIDTH + 5 + ld a, $ff + jr OakSpeechSlidePicCommon + +OakSpeechSlidePicRight: + coord hl, 5, 4 + lb de, 6, 6 * SCREEN_WIDTH + 5 + xor a + +OakSpeechSlidePicCommon: + push hl + push de + push bc + ld [hSlideDirection], a + ld a, d + ld [hSlideAmount], a + ld a, e + ld [hSlidingRegionSize], a + ld c, a + ld a, [hSlideDirection] + and a + jr nz, .next +; If sliding right, point hl to the end of the pic's tiles. + ld d, 0 + add hl, de +.next + ld d, h + ld e, l +.loop + xor a + ld [H_AUTOBGTRANSFERENABLED], a + ld a, [hSlideDirection] + and a + jr nz, .slideLeft +; sliding right + ld a, [hli] + ld [hld], a + dec hl + jr .next2 +.slideLeft + ld a, [hld] + ld [hli], a + inc hl +.next2 + dec c + jr nz, .loop + ld a, [hSlideDirection] + and a + jr z, .next3 +; If sliding left, we need to zero the last tile in the pic (there is no need +; to take a corresponding action when sliding right because hl initially points +; to a 0 tile in that case). + xor a + dec hl + ld [hl], a +.next3 + ld a, 1 + ld [H_AUTOBGTRANSFERENABLED], a + call Delay3 + ld a, [hSlidingRegionSize] + ld c, a + ld h, d + ld l, e + ld a, [hSlideDirection] + and a + jr nz, .slideLeft2 + inc hl + jr .next4 +.slideLeft2 + dec hl +.next4 + ld d, h + ld e, l + ld a, [hSlideAmount] + dec a + ld [hSlideAmount], a + jr nz, .loop + pop bc + pop de + pop hl + ret + +DisplayIntroNameTextBox: + push de + coord hl, 0, 0 + ld b, $a + ld c, $9 + call TextBoxBorder + coord hl, 3, 0 + ld de, .namestring + call PlaceString + pop de + coord hl, 2, 2 + call PlaceString + call UpdateSprites + xor a + ld [wCurrentMenuItem], a + ld [wLastMenuItem], a + inc a + ld [wTopMenuItemX], a + ld [wMenuWatchedKeys], a ; A_BUTTON + inc a + ld [wTopMenuItemY], a + inc a + ld [wMaxMenuItem], a + jp HandleMenuInput + +.namestring + db "NAME@" + +INCLUDE "text/player_names.asm" + +GetDefaultName: +; a = name index +; hl = name list + ld b, a + ld c, 0 +.loop + ld d, h + ld e, l +.innerLoop + ld a, [hli] + cp "@" + jr nz, .innerLoop + ld a, b + cp c + jr z, .foundName + inc c + jr .loop +.foundName + ld h, d + ld l, e + ld de, wcd6d + ld bc, $14 + jp CopyData + +INCLUDE "text/player_names_list.asm" + +TextTerminator_6b20: + db "@" diff --git a/engine/movie/titlescreen.asm b/engine/movie/titlescreen.asm new file mode 100755 index 00000000..c30f83a9 --- /dev/null +++ b/engine/movie/titlescreen.asm @@ -0,0 +1,403 @@ +; copy text of fixed length NAME_LENGTH (like player name, rival name, mon names, ...) +CopyFixedLengthText: + ld bc, NAME_LENGTH + jp CopyData + +SetDefaultNamesBeforeTitlescreen:: + ld hl, NintenText + ld de, wPlayerName + call CopyFixedLengthText + ld hl, SonyText + ld de, wRivalName + call CopyFixedLengthText + xor a + ld [hWY], a + ld [wLetterPrintingDelayFlags], a + ld hl, wd732 + ld [hli], a + ld [hli], a + ld [hl], a + ld a, BANK(Music_TitleScreen) + ld [wAudioROMBank], a + ld [wAudioSavedROMBank], a + +DisplayTitleScreen: + call GBPalWhiteOut + ld a, $1 + ld [H_AUTOBGTRANSFERENABLED], a + xor a + ld [hTilesetType], a + ld [hSCX], a + ld a, $40 + ld [hSCY], a + ld a, $90 + ld [hWY], a + call ClearScreen + call DisableLCD + call LoadFontTilePatterns + ld hl, NintendoCopyrightLogoGraphics + ld de, vTitleLogo2 + $100 + ld bc, $50 + ld a, BANK(NintendoCopyrightLogoGraphics) + call FarCopyData2 + ld hl, GamefreakLogoGraphics + ld de, vTitleLogo2 + $100 + $50 + ld bc, $90 + ld a, BANK(GamefreakLogoGraphics) + call FarCopyData2 + ld hl, PokemonLogoGraphics + ld de, vTitleLogo + ld bc, $600 + ld a, BANK(PokemonLogoGraphics) + call FarCopyData2 ; first chunk + ld hl, PokemonLogoGraphics+$600 + ld de, vTitleLogo2 + ld bc, $100 + ld a, BANK(PokemonLogoGraphics) + call FarCopyData2 ; second chunk + ld hl, Version_GFX + ld de, vChars2 + $600 - (Version_GFXEnd - Version_GFX - $50) + ld bc, Version_GFXEnd - Version_GFX + ld a, BANK(Version_GFX) + call FarCopyDataDouble + call ClearBothBGMaps + +; place tiles for pokemon logo (except for the last row) + coord hl, 2, 1 + ld a, $80 + ld de, SCREEN_WIDTH + ld c, 6 +.pokemonLogoTileLoop + ld b, $10 + push hl +.pokemonLogoTileRowLoop ; place tiles for one row + ld [hli], a + inc a + dec b + jr nz, .pokemonLogoTileRowLoop + pop hl + add hl, de + dec c + jr nz, .pokemonLogoTileLoop + +; place tiles for the last row of the pokemon logo + coord hl, 2, 7 + ld a, $31 + ld b, $10 +.pokemonLogoLastTileRowLoop + ld [hli], a + inc a + dec b + jr nz, .pokemonLogoLastTileRowLoop + + call DrawPlayerCharacter + +; put a pokeball in the player's hand + ld hl, wOAMBuffer + $28 + ld a, $74 + ld [hl], a + +; place tiles for title screen copyright + coord hl, 2, 17 + ld de, .tileScreenCopyrightTiles + ld b, $10 +.tileScreenCopyrightTilesLoop + ld a, [de] + ld [hli], a + inc de + dec b + jr nz, .tileScreenCopyrightTilesLoop + + jr .next + +.tileScreenCopyrightTiles + db $41,$42,$43,$42,$44,$42,$45,$46,$47,$48,$49,$4A,$4B,$4C,$4D,$4E ; ©'95.'96.'98 GAME FREAK inc. + +.next + call SaveScreenTilesToBuffer2 + call LoadScreenTilesFromBuffer2 + call EnableLCD +IF DEF(_RED) + ld a, CHARMANDER ; which Pokemon to show first on the title screen +ENDC +IF DEF(_BLUE) + ld a, SQUIRTLE ; which Pokemon to show first on the title screen +ENDC + + ld [wTitleMonSpecies], a + call LoadTitleMonSprite + ld a, (vBGMap0 + $300) / $100 + call TitleScreenCopyTileMapToVRAM + call SaveScreenTilesToBuffer1 + ld a, $40 + ld [hWY], a + call LoadScreenTilesFromBuffer2 + ld a, vBGMap0 / $100 + call TitleScreenCopyTileMapToVRAM + ld b, SET_PAL_TITLE_SCREEN + call RunPaletteCommand + call GBPalNormal + ld a, %11100100 + ld [rOBP0], a + +; make pokemon logo bounce up and down + ld bc, hSCY ; background scroll Y + ld hl, .TitleScreenPokemonLogoYScrolls +.bouncePokemonLogoLoop + ld a, [hli] + and a + jr z, .finishedBouncingPokemonLogo + ld d, a + cp -3 + jr nz, .skipPlayingSound + ld a, SFX_INTRO_CRASH + call PlaySound +.skipPlayingSound + ld a, [hli] + ld e, a + call .ScrollTitleScreenPokemonLogo + jr .bouncePokemonLogoLoop + +.TitleScreenPokemonLogoYScrolls: +; Controls the bouncing effect of the Pokemon logo on the title screen + db -4,16 ; y scroll amount, number of times to scroll + db 3,4 + db -3,4 + db 2,2 + db -2,2 + db 1,2 + db -1,2 + db 0 ; terminate list with 0 + +.ScrollTitleScreenPokemonLogo: +; Scrolls the Pokemon logo on the title screen to create the bouncing effect +; Scrolls d pixels e times + call DelayFrame + ld a, [bc] ; background scroll Y + add d + ld [bc], a + dec e + jr nz, .ScrollTitleScreenPokemonLogo + ret + +.finishedBouncingPokemonLogo + call LoadScreenTilesFromBuffer1 + ld c, 36 + call DelayFrames + ld a, SFX_INTRO_WHOOSH + call PlaySound + +; scroll game version in from the right + call PrintGameVersionOnTitleScreen + ld a, SCREEN_HEIGHT_PIXELS + ld [hWY], a + ld d, 144 +.scrollTitleScreenGameVersionLoop + ld h, d + ld l, 64 + call ScrollTitleScreenGameVersion + ld h, 0 + ld l, 80 + call ScrollTitleScreenGameVersion + ld a, d + add 4 + ld d, a + and a + jr nz, .scrollTitleScreenGameVersionLoop + + ld a, vBGMap1 / $100 + call TitleScreenCopyTileMapToVRAM + call LoadScreenTilesFromBuffer2 + call PrintGameVersionOnTitleScreen + call Delay3 + call WaitForSoundToFinish + ld a, MUSIC_TITLE_SCREEN + ld [wNewSoundID], a + call PlaySound + xor a + ld [wUnusedCC5B], a + +; Keep scrolling in new mons indefinitely until the user performs input. +.awaitUserInterruptionLoop + ld c, 200 + call CheckForUserInterruption + jr c, .finishedWaiting + call TitleScreenScrollInMon + ld c, 1 + call CheckForUserInterruption + jr c, .finishedWaiting + callba TitleScreenAnimateBallIfStarterOut + call TitleScreenPickNewMon + jr .awaitUserInterruptionLoop + +.finishedWaiting + ld a, [wTitleMonSpecies] + call PlayCry + call WaitForSoundToFinish + call GBPalWhiteOutWithDelay3 + call ClearSprites + xor a + ld [hWY], a + inc a + ld [H_AUTOBGTRANSFERENABLED], a + call ClearScreen + ld a, vBGMap0 / $100 + call TitleScreenCopyTileMapToVRAM + ld a, vBGMap1 / $100 + call TitleScreenCopyTileMapToVRAM + call Delay3 + call LoadGBPal + ld a, [hJoyHeld] + ld b, a + and D_UP | SELECT | B_BUTTON + cp D_UP | SELECT | B_BUTTON + jp z, .doClearSaveDialogue + jp MainMenu + +.doClearSaveDialogue + jpba DoClearSaveDialogue + +TitleScreenPickNewMon: + ld a, vBGMap0 / $100 + call TitleScreenCopyTileMapToVRAM + +.loop +; Keep looping until a mon different from the current one is picked. + call Random + and $f + ld c, a + ld b, 0 + ld hl, TitleMons + add hl, bc + ld a, [hl] + ld hl, wTitleMonSpecies + +; Can't be the same as before. + cp [hl] + jr z, .loop + + ld [hl], a + call LoadTitleMonSprite + + ld a, $90 + ld [hWY], a + ld d, 1 ; scroll out + callba TitleScroll + ret + +TitleScreenScrollInMon: + ld d, 0 ; scroll in + callba TitleScroll + xor a + ld [hWY], a + ret + +ScrollTitleScreenGameVersion: +.wait + ld a, [rLY] + cp l + jr nz, .wait + + ld a, h + ld [rSCX], a + +.wait2 + ld a, [rLY] + cp h + jr z, .wait2 + ret + +DrawPlayerCharacter: + ld hl, PlayerCharacterTitleGraphics + ld de, vSprites + ld bc, PlayerCharacterTitleGraphicsEnd - PlayerCharacterTitleGraphics + ld a, BANK(PlayerCharacterTitleGraphics) + call FarCopyData2 + call ClearSprites + xor a + ld [wPlayerCharacterOAMTile], a + ld hl, wOAMBuffer + ld de, $605a + ld b, 7 +.loop + push de + ld c, 5 +.innerLoop + ld a, d + ld [hli], a ; Y + ld a, e + ld [hli], a ; X + add 8 + ld e, a + ld a, [wPlayerCharacterOAMTile] + ld [hli], a ; tile + inc a + ld [wPlayerCharacterOAMTile], a + inc hl + dec c + jr nz, .innerLoop + pop de + ld a, 8 + add d + ld d, a + dec b + jr nz, .loop + ret + +ClearBothBGMaps: + ld hl, vBGMap0 + ld bc, $400 * 2 + ld a, " " + jp FillMemory + +LoadTitleMonSprite: + ld [wcf91], a + ld [wd0b5], a + coord hl, 5, 10 + call GetMonHeader + jp LoadFrontSpriteByMonIndex + +TitleScreenCopyTileMapToVRAM: + ld [H_AUTOBGTRANSFERDEST + 1], a + jp Delay3 + +LoadCopyrightAndTextBoxTiles: + xor a + ld [hWY], a + call ClearScreen + call LoadTextBoxTilePatterns + +LoadCopyrightTiles: + ld de, NintendoCopyrightLogoGraphics + ld hl, vChars2 + $600 + lb bc, BANK(NintendoCopyrightLogoGraphics), (GamefreakLogoGraphicsEnd - NintendoCopyrightLogoGraphics) / $10 + call CopyVideoData + coord hl, 2, 7 + ld de, CopyrightTextString + jp PlaceString + +CopyrightTextString: + db $60,$61,$62,$61,$63,$61,$64,$7F,$65,$66,$67,$68,$69,$6A ; ©'95.'96.'98 Nintendo + next $60,$61,$62,$61,$63,$61,$64,$7F,$6B,$6C,$6D,$6E,$6F,$70,$71,$72 ; ©'95.'96.'98 Creatures inc. + next $60,$61,$62,$61,$63,$61,$64,$7F,$73,$74,$75,$76,$77,$78,$79,$7A,$7B ; ©'95.'96.'98 GAME FREAK inc. + db "@" + +INCLUDE "data/title_mons.asm" + +; prints version text (red, blue) +PrintGameVersionOnTitleScreen: + coord hl, 7, 8 + ld de, VersionOnTitleScreenText + jp PlaceString + +; these point to special tiles specifically loaded for that purpose and are not usual text +VersionOnTitleScreenText: +IF DEF(_RED) + db $60,$61,$7F,$65,$66,$67,$68,$69,"@" ; "Red Version" +ENDC +IF DEF(_BLUE) + db $61,$62,$63,$64,$65,$66,$67,$68,"@" ; "Blue Version" +ENDC + +NintenText: db "NINTEN@" +SonyText: db "SONY@" diff --git a/engine/movie/titlescreen2.asm b/engine/movie/titlescreen2.asm new file mode 100755 index 00000000..2346fcc5 --- /dev/null +++ b/engine/movie/titlescreen2.asm @@ -0,0 +1,120 @@ +TitleScroll_WaitBall: +; Wait around for the TitleBall animation to play out. +; hi: speed +; lo: duration + db $05, $05, 0 + +TitleScroll_In: +; Scroll a TitleMon in from the right. +; hi: speed +; lo: duration + db $a2, $94, $84, $63, $52, $31, $11, 0 + +TitleScroll_Out: +; Scroll a TitleMon out to the left. +; hi: speed +; lo: duration + db $12, $22, $32, $42, $52, $62, $83, $93, 0 + +TitleScroll: + ld a, d + + ld bc, TitleScroll_In + ld d, $88 + ld e, 0 ; don't animate titleball + + and a + jr nz, .ok + + ld bc, TitleScroll_Out + ld d, $00 + ld e, 0 ; don't animate titleball +.ok + +_TitleScroll: + ld a, [bc] + and a + ret z + + inc bc + push bc + + ld b, a + and $f + ld c, a + ld a, b + and $f0 + swap a + ld b, a + +.loop + ld h, d + ld l, $48 + call .ScrollBetween + + ld h, $00 + ld l, $88 + call .ScrollBetween + + ld a, d + add b + ld d, a + + call GetTitleBallY + dec c + jr nz, .loop + + pop bc + jr _TitleScroll + +.ScrollBetween: +.wait + ld a, [rLY] ; rLY + cp l + jr nz, .wait + + ld a, h + ld [rSCX], a + +.wait2 + ld a, [rLY] ; rLY + cp h + jr z, .wait2 + ret + +TitleBallYTable: +; OBJ y-positions for the Poke Ball held by Red in the title screen. +; This is really two 0-terminated lists. Initiated with an index of 1. + db 0, $71, $6f, $6e, $6d, $6c, $6d, $6e, $6f, $71, $74, 0 + +TitleScreenAnimateBallIfStarterOut: +; Animate the TitleBall if a starter just got scrolled out. + ld a, [wTitleMonSpecies] + cp STARTER1 + jr z, .ok + cp STARTER2 + jr z, .ok + cp STARTER3 + ret nz +.ok + ld e, 1 ; animate titleball + ld bc, TitleScroll_WaitBall + ld d, 0 + jp _TitleScroll + +GetTitleBallY: +; Get position e from TitleBallYTable + push de + push hl + xor a + ld d, a + ld hl, TitleBallYTable + add hl, de + ld a, [hl] + pop hl + pop de + and a + ret z + ld [wOAMBuffer + $28], a + inc e + ret diff --git a/engine/movie/trade.asm b/engine/movie/trade.asm new file mode 100755 index 00000000..8bc8e3bc --- /dev/null +++ b/engine/movie/trade.asm @@ -0,0 +1,853 @@ +InternalClockTradeAnim: +; Do the trading animation with the player's gameboy on the left. +; In-game trades and internally clocked link cable trades use this. + ld a, [wTradedPlayerMonSpecies] + ld [wLeftGBMonSpecies], a + ld a, [wTradedEnemyMonSpecies] + ld [wRightGBMonSpecies], a + ld de, InternalClockTradeFuncSequence + jr TradeAnimCommon + +ExternalClockTradeAnim: +; Do the trading animation with the player's gameboy on the right. +; Externally clocked link cable trades use this. + ld a, [wTradedEnemyMonSpecies] + ld [wLeftGBMonSpecies], a + ld a, [wTradedPlayerMonSpecies] + ld [wRightGBMonSpecies], a + ld de, ExternalClockTradeFuncSequence + +TradeAnimCommon: + ld a, [wOptions] + push af + ld a, [hSCY] + push af + ld a, [hSCX] + push af + xor a + ld [wOptions], a + ld [hSCY], a + ld [hSCX], a + push de +.loop + pop de + ld a, [de] + cp $ff + jr z, .done + inc de + push de + ld hl, TradeFuncPointerTable + add a + ld c, a + ld b, $0 + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld de, .loop + push de + jp hl ; call trade func, which will return to the top of the loop +.done + pop af + ld [hSCX], a + pop af + ld [hSCY], a + pop af + ld [wOptions], a + ret + +addtradefunc: MACRO +\1TradeFunc:: + dw \1 + ENDM + +tradefunc: MACRO + db (\1TradeFunc - TradeFuncPointerTable) / 2 + ENDM + +; The functions in the sequences below are executed in order by TradeFuncCommon. +; They are from opposite perspectives. The external clock one makes use of +; Trade_SwapNames to swap the player and enemy names for some functions. + +InternalClockTradeFuncSequence: + tradefunc LoadTradingGFXAndMonNames + tradefunc Trade_ShowPlayerMon + tradefunc Trade_DrawOpenEndOfLinkCable + tradefunc Trade_AnimateBallEnteringLinkCable + tradefunc Trade_AnimLeftToRight + tradefunc Trade_Delay100 + tradefunc Trade_ShowClearedWindow + tradefunc PrintTradeWentToText + tradefunc PrintTradeForSendsText + tradefunc PrintTradeFarewellText + tradefunc Trade_AnimRightToLeft + tradefunc Trade_ShowClearedWindow + tradefunc Trade_DrawOpenEndOfLinkCable + tradefunc Trade_ShowEnemyMon + tradefunc Trade_Delay100 + tradefunc Trade_Cleanup + db $FF + +ExternalClockTradeFuncSequence: + tradefunc LoadTradingGFXAndMonNames + tradefunc Trade_ShowClearedWindow + tradefunc PrintTradeWillTradeText + tradefunc PrintTradeFarewellText + tradefunc Trade_SwapNames + tradefunc Trade_AnimLeftToRight + tradefunc Trade_SwapNames + tradefunc Trade_ShowClearedWindow + tradefunc Trade_DrawOpenEndOfLinkCable + tradefunc Trade_ShowEnemyMon + tradefunc Trade_SlideTextBoxOffScreen + tradefunc Trade_ShowPlayerMon + tradefunc Trade_DrawOpenEndOfLinkCable + tradefunc Trade_AnimateBallEnteringLinkCable + tradefunc Trade_SwapNames + tradefunc Trade_AnimRightToLeft + tradefunc Trade_SwapNames + tradefunc Trade_Delay100 + tradefunc Trade_ShowClearedWindow + tradefunc PrintTradeWentToText + tradefunc Trade_Cleanup + db $FF + +TradeFuncPointerTable: + addtradefunc LoadTradingGFXAndMonNames + addtradefunc Trade_ShowPlayerMon + addtradefunc Trade_DrawOpenEndOfLinkCable + addtradefunc Trade_AnimateBallEnteringLinkCable + addtradefunc Trade_ShowEnemyMon + addtradefunc Trade_AnimLeftToRight + addtradefunc Trade_AnimRightToLeft + addtradefunc Trade_Delay100 + addtradefunc Trade_ShowClearedWindow + addtradefunc PrintTradeWentToText + addtradefunc PrintTradeForSendsText + addtradefunc PrintTradeFarewellText + addtradefunc PrintTradeTakeCareText + addtradefunc PrintTradeWillTradeText + addtradefunc Trade_Cleanup + addtradefunc Trade_SlideTextBoxOffScreen + addtradefunc Trade_SwapNames + +Trade_Delay100: + ld c, 100 + jp DelayFrames + +Trade_CopyTileMapToVRAM: + ld a, $1 + ld [H_AUTOBGTRANSFERENABLED], a + call Delay3 + xor a + ld [H_AUTOBGTRANSFERENABLED], a + ret + +Trade_Delay80: + ld c, 80 + jp DelayFrames + +Trade_ClearTileMap: + coord hl, 0, 0 + ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + ld a, " " + jp FillMemory + +LoadTradingGFXAndMonNames: + call Trade_ClearTileMap + call DisableLCD + ld hl, TradingAnimationGraphics + ld de, vChars2 + $310 + ld bc, TradingAnimationGraphicsEnd - TradingAnimationGraphics + ld a, BANK(TradingAnimationGraphics) + call FarCopyData2 + ld hl, TradingAnimationGraphics2 + ld de, vSprites + $7c0 + ld bc, TradingAnimationGraphics2End - TradingAnimationGraphics2 + ld a, BANK(TradingAnimationGraphics2) + call FarCopyData2 + ld hl, vBGMap0 + ld bc, $800 + ld a, " " + call FillMemory + call ClearSprites + ld a, $ff + ld [wUpdateSpritesEnabled], a + ld hl, wd730 + set 6, [hl] ; turn on instant text printing + ld a, [wOnSGB] + and a + ld a, $e4 ; non-SGB OBP0 + jr z, .next + ld a, $f0 ; SGB OBP0 +.next + ld [rOBP0], a + call EnableLCD + xor a + ld [H_AUTOBGTRANSFERENABLED], a + ld a, [wTradedPlayerMonSpecies] + ld [wd11e], a + call GetMonName + ld hl, wcd6d + ld de, wcf4b + ld bc, NAME_LENGTH + call CopyData + ld a, [wTradedEnemyMonSpecies] + ld [wd11e], a + jp GetMonName + +Trade_LoadMonPartySpriteGfx: + ld a, %11010000 + ld [rOBP1], a + jpba LoadMonPartySpriteGfx + +Trade_SwapNames: + ld hl, wPlayerName + ld de, wBuffer + ld bc, NAME_LENGTH + call CopyData + ld hl, wLinkEnemyTrainerName + ld de, wPlayerName + ld bc, NAME_LENGTH + call CopyData + ld hl, wBuffer + ld de, wLinkEnemyTrainerName + ld bc, NAME_LENGTH + jp CopyData + +Trade_Cleanup: + xor a + call LoadGBPal + ld hl, wd730 + res 6, [hl] ; turn off instant text printing + ret + +Trade_ShowPlayerMon: + ld a, %10101011 + ld [rLCDC], a + ld a, $50 + ld [hWY], a + ld a, $86 + ld [rWX], a + ld [hSCX], a + xor a + ld [H_AUTOBGTRANSFERENABLED], a + coord hl, 4, 0 + ld b, 6 + ld c, 10 + call TextBoxBorder + call Trade_PrintPlayerMonInfoText + ld b, vBGMap0 / $100 + call CopyScreenTileBufferToVRAM + call ClearScreen + ld a, [wTradedPlayerMonSpecies] + call Trade_LoadMonSprite + ld a, $7e +.slideScreenLoop + push af + call DelayFrame + pop af + ld [rWX], a + ld [hSCX], a + dec a + dec a + and a + jr nz, .slideScreenLoop + call Trade_Delay80 + ld a, TRADE_BALL_POOF_ANIM + call Trade_ShowAnimation + ld a, TRADE_BALL_DROP_ANIM + call Trade_ShowAnimation ; clears mon pic + ld a, [wTradedPlayerMonSpecies] + call PlayCry + xor a + ld [H_AUTOBGTRANSFERENABLED], a + ret + +Trade_DrawOpenEndOfLinkCable: + call Trade_ClearTileMap + ld b, vBGMap0 / $100 + call CopyScreenTileBufferToVRAM + ld b, SET_PAL_GENERIC + call RunPaletteCommand + +; This function call is pointless. It just copies blank tiles to VRAM that was +; already filled with blank tiles. + ld hl, vBGMap1 + $8c + call Trade_CopyCableTilesOffScreen + + ld a, $a0 + ld [hSCX], a + call DelayFrame + ld a, %10001011 + ld [rLCDC], a + coord hl, 6, 2 + ld b, $7 ; open end of link cable tile ID list index + call CopyTileIDsFromList_ZeroBaseTileID + call Trade_CopyTileMapToVRAM + ld a, SFX_HEAL_HP + call PlaySound + ld c, 20 +.loop + ld a, [hSCX] + add 4 + ld [hSCX], a + dec c + jr nz, .loop + ret + +Trade_AnimateBallEnteringLinkCable: + ld a, TRADE_BALL_SHAKE_ANIM + call Trade_ShowAnimation + ld c, 10 + call DelayFrames + ld a, %11100100 + ld [rOBP0], a + xor a + ld [wLinkCableAnimBulgeToggle], a + lb bc, $20, $60 +.moveBallInsideLinkCableLoop + push bc + xor a + ld de, Trade_BallInsideLinkCableOAM + call WriteOAMBlock + ld a, [wLinkCableAnimBulgeToggle] + xor $1 + ld [wLinkCableAnimBulgeToggle], a + add $7e + ld hl, wOAMBuffer + $02 + ld de, 4 + ld c, e +.cycleLinkCableBulgeTile + ld [hl], a + add hl, de + dec c + jr nz, .cycleLinkCableBulgeTile + call Delay3 + pop bc + ld a, c + add $4 + ld c, a + cp $a0 + jr nc, .ballSpriteReachedEdgeOfScreen + ld a, SFX_TINK + call PlaySound + jr .moveBallInsideLinkCableLoop +.ballSpriteReachedEdgeOfScreen + call ClearSprites + ld a, $1 + ld [H_AUTOBGTRANSFERENABLED], a + call ClearScreen + ld b, $98 + call CopyScreenTileBufferToVRAM + call Delay3 + xor a + ld [H_AUTOBGTRANSFERENABLED], a + ret + +Trade_BallInsideLinkCableOAM: + db $7E,$00,$7E,$20 + db $7E,$40,$7E,$60 + +Trade_ShowEnemyMon: + ld a, TRADE_BALL_TILT_ANIM + call Trade_ShowAnimation + call Trade_ShowClearedWindow + coord hl, 4, 10 + ld b, 6 + ld c, 10 + call TextBoxBorder + call Trade_PrintEnemyMonInfoText + call Trade_CopyTileMapToVRAM + ld a, $1 + ld [H_AUTOBGTRANSFERENABLED], a + ld a, [wTradedEnemyMonSpecies] + call Trade_LoadMonSprite + ld a, TRADE_BALL_POOF_ANIM + call Trade_ShowAnimation + ld a, $1 + ld [H_AUTOBGTRANSFERENABLED], a + ld a, [wTradedEnemyMonSpecies] + call PlayCry + call Trade_Delay100 + coord hl, 4, 10 + lb bc, 8, 12 + call ClearScreenArea + jp PrintTradeTakeCareText + +Trade_AnimLeftToRight: +; Animates the mon moving from the left GB to the right one. + call Trade_InitGameboyTransferGfx + ld a, $1 + ld [wTradedMonMovingRight], a + ld a, %11100100 + ld [rOBP0], a + ld a, $54 + ld [wBaseCoordX], a + ld a, $1c + ld [wBaseCoordY], a + ld a, [wLeftGBMonSpecies] + ld [wMonPartySpriteSpecies], a + call Trade_WriteCircledMonOAM + call Trade_DrawLeftGameboy + call Trade_CopyTileMapToVRAM + call Trade_DrawCableAcrossScreen + ld hl, vBGMap1 + $8c + call Trade_CopyCableTilesOffScreen + ld b, $6 + call Trade_AnimMonMoveHorizontal + ld a, $1 + ld [H_AUTOBGTRANSFERENABLED], a + call Trade_DrawCableAcrossScreen + ld b, $4 + call Trade_AnimMonMoveHorizontal + call Trade_DrawRightGameboy + ld b, $6 + call Trade_AnimMonMoveHorizontal + xor a + ld [H_AUTOBGTRANSFERENABLED], a + call Trade_AnimMonMoveVertical + jp ClearSprites + +Trade_AnimRightToLeft: +; Animates the mon moving from the right GB to the left one. + call Trade_InitGameboyTransferGfx + xor a + ld [wTradedMonMovingRight], a + ld a, $64 + ld [wBaseCoordX], a + ld a, $44 + ld [wBaseCoordY], a + ld a, [wRightGBMonSpecies] + ld [wMonPartySpriteSpecies], a + call Trade_WriteCircledMonOAM + call Trade_DrawRightGameboy + call Trade_CopyTileMapToVRAM + call Trade_DrawCableAcrossScreen + ld hl, vBGMap1 + $94 + call Trade_CopyCableTilesOffScreen + call Trade_AnimMonMoveVertical + ld b, $6 + call Trade_AnimMonMoveHorizontal + ld a, $1 + ld [H_AUTOBGTRANSFERENABLED], a + call Trade_DrawCableAcrossScreen + ld b, $4 + call Trade_AnimMonMoveHorizontal + call Trade_DrawLeftGameboy + ld b, $6 + call Trade_AnimMonMoveHorizontal + xor a + ld [H_AUTOBGTRANSFERENABLED], a + jp ClearSprites + +Trade_InitGameboyTransferGfx: +; Initialises the graphics for showing a mon moving between gameboys. + ld a, $1 + ld [H_AUTOBGTRANSFERENABLED], a + call ClearScreen + xor a + ld [H_AUTOBGTRANSFERENABLED], a + call Trade_LoadMonPartySpriteGfx + call DelayFrame + ld a, %10101011 + ld [rLCDC], a + xor a + ld [hSCX], a + ld a, $90 + ld [hWY], a + ret + +Trade_DrawLeftGameboy: + call Trade_ClearTileMap + +; draw link cable + coord hl, 11, 4 + ld a, $5d + ld [hli], a + ld a, $5e + ld c, 8 +.loop + ld [hli], a + dec c + jr nz, .loop + +; draw gameboy pic + coord hl, 5, 3 + ld b, $6 + call CopyTileIDsFromList_ZeroBaseTileID + +; draw text box with player name below gameboy pic + coord hl, 4, 12 + ld b, 2 + ld c, 7 + call TextBoxBorder + coord hl, 5, 14 + ld de, wPlayerName + call PlaceString + + jp DelayFrame + +Trade_DrawRightGameboy: + call Trade_ClearTileMap + +; draw horizontal segment of link cable + coord hl, 0, 4 + ld a, $5e + ld c, $e +.loop + ld [hli], a + dec c + jr nz, .loop + +; draw vertical segment of link cable + ld a, $5f + ld [hl], a + ld de, SCREEN_WIDTH + add hl, de + ld a, $61 + ld [hl], a + add hl, de + ld [hl], a + add hl, de + ld [hl], a + add hl, de + ld [hl], a + add hl, de + ld a, $60 + ld [hld], a + ld a, $5d + ld [hl], a + +; draw gameboy pic + coord hl, 7, 8 + ld b, $6 + call CopyTileIDsFromList_ZeroBaseTileID + +; draw text box with enemy name above link cable + coord hl, 6, 0 + ld b, 2 + ld c, 7 + call TextBoxBorder + coord hl, 7, 2 + ld de, wLinkEnemyTrainerName + call PlaceString + + jp DelayFrame + +Trade_DrawCableAcrossScreen: +; Draws the link cable across the screen. + call Trade_ClearTileMap + coord hl, 0, 4 + ld a, $5e + ld c, SCREEN_WIDTH +.loop + ld [hli], a + dec c + jr nz, .loop + ret + +Trade_CopyCableTilesOffScreen: +; This is used to copy the link cable tiles off screen so that the cable +; continues when the screen is scrolled. + push hl + coord hl, 0, 4 + call CopyToRedrawRowOrColumnSrcTiles + pop hl + ld a, h + ld [hRedrawRowOrColumnDest + 1], a + ld a, l + ld [hRedrawRowOrColumnDest], a + ld a, REDRAW_ROW + ld [hRedrawRowOrColumnMode], a + ld c, 10 + jp DelayFrames + +Trade_AnimMonMoveHorizontal: +; Animates the mon going through the link cable horizontally over a distance of +; b 16-pixel units. + ld a, [wTradedMonMovingRight] + ld e, a + ld d, $8 +.scrollLoop + ld a, e + dec a + jr z, .movingRight +; moving left + ld a, [hSCX] + sub $2 + jr .next +.movingRight + ld a, [hSCX] + add $2 +.next + ld [hSCX], a + call DelayFrame + dec d + jr nz, .scrollLoop + call Trade_AnimCircledMon + dec b + jr nz, Trade_AnimMonMoveHorizontal + ret + +Trade_AnimCircledMon: +; Cycles between the two animation frames of the mon party sprite, cycles +; between a circle and an oval around the mon sprite, and makes the cable flash. + push de + push bc + push hl + ld a, [rBGP] + xor $3c ; make link cable flash + ld [rBGP], a + ld hl, wOAMBuffer + $02 + ld de, $4 + ld c, $14 +.loop + ld a, [hl] + xor $40 + ld [hl], a + add hl, de + dec c + jr nz, .loop + pop hl + pop bc + pop de + ret + +Trade_WriteCircledMonOAM: + callba WriteMonPartySpriteOAMBySpecies + call Trade_WriteCircleOAM + +Trade_AddOffsetsToOAMCoords: + ld hl, wOAMBuffer + ld c, $14 +.loop + ld a, [wBaseCoordY] + add [hl] + ld [hli], a + ld a, [wBaseCoordX] + add [hl] + ld [hli], a + inc hl + inc hl + dec c + jr nz, .loop + ret + +Trade_AnimMonMoveVertical: +; Animates the mon going through the link cable vertically as well as +; horizontally for a bit. The last bit of horizontal movement (when moving +; right) or the first bit of horizontal movement (when moving left) are done +; here instead of Trade_AnimMonMoveHorizontal because this function moves the +; sprite itself rather than scrolling the screen around the sprite. Moving the +; sprite itself is necessary because the vertical segment of the link cable is +; to the right of the screen position that the mon sprite has when +; Trade_AnimMonMoveHorizontal is executing. + ld a, [wTradedMonMovingRight] + and a + jr z, .movingLeft +; moving right + lb bc, 4, 0 ; move right + call .doAnim + lb bc, 0, 10 ; move down + jr .doAnim +.movingLeft + lb bc, 0, -10 ; move up + call .doAnim + lb bc, -4, 0 ; move left +.doAnim + ld a, b + ld [wBaseCoordX], a + ld a, c + ld [wBaseCoordY], a + ld d, $4 +.loop + call Trade_AddOffsetsToOAMCoords + call Trade_AnimCircledMon + ld c, 8 + call DelayFrames + dec d + jr nz, .loop + ret + +Trade_WriteCircleOAM: +; Writes the OAM blocks for the circle around the traded mon as it passes +; the link cable. + ld hl, Trade_CircleOAMPointers + ld c, $4 + xor a +.loop + push bc + ld e, [hl] + inc hl + ld d, [hl] + inc hl + ld c, [hl] + inc hl + ld b, [hl] + inc hl + push hl + inc a + push af + call WriteOAMBlock + pop af + pop hl + pop bc + dec c + jr nz, .loop + ret + +Trade_CircleOAMPointers: + dw Trade_CircleOAM0 + db $08,$08 + dw Trade_CircleOAM1 + db $18,$08 + dw Trade_CircleOAM2 + db $08,$18 + dw Trade_CircleOAM3 + db $18,$18 + +Trade_CircleOAM0: + db $38,$10,$39,$10 + db $3A,$10,$3B,$10 + +Trade_CircleOAM1: + db $39,$30,$38,$30 + db $3B,$30,$3A,$30 + +Trade_CircleOAM2: + db $3A,$50,$3B,$50 + db $38,$50,$39,$50 + +Trade_CircleOAM3: + db $3B,$70,$3A,$70 + db $39,$70,$38,$70 + +; a = species +Trade_LoadMonSprite: + ld [wcf91], a + ld [wd0b5], a + ld [wWholeScreenPaletteMonSpecies], a + ld b, SET_PAL_POKEMON_WHOLE_SCREEN + ld c, 0 + call RunPaletteCommand + ld a, [H_AUTOBGTRANSFERENABLED] + xor $1 + ld [H_AUTOBGTRANSFERENABLED], a + call GetMonHeader + coord hl, 7, 2 + call LoadFlippedFrontSpriteByMonIndex + ld c, 10 + jp DelayFrames + +Trade_ShowClearedWindow: +; clears the window and covers the BG entirely with the window + ld a, $1 + ld [H_AUTOBGTRANSFERENABLED], a + call ClearScreen + ld a, %11100011 + ld [rLCDC], a + ld a, $7 + ld [rWX], a + xor a + ld [hWY], a + ld a, $90 + ld [hSCX], a + ret + +Trade_SlideTextBoxOffScreen: +; Slides the window right until it's off screen. The window usually just has +; a text box at the bottom when this is called. However, when this is called +; after Trade_ShowEnemyMon in the external clock sequence, there is a mon pic +; above the text box and it is also scrolled off the screen. + ld c, 50 + call DelayFrames +.loop + call DelayFrame + ld a, [rWX] + inc a + inc a + ld [rWX], a + cp $a1 + jr nz, .loop + call Trade_ClearTileMap + ld c, 10 + call DelayFrames + ld a, $7 + ld [rWX], a + ret + +PrintTradeWentToText: + ld hl, TradeWentToText + call PrintText + ld c, 200 + call DelayFrames + jp Trade_SlideTextBoxOffScreen + +TradeWentToText: + TX_FAR _TradeWentToText + db "@" + +PrintTradeForSendsText: + ld hl, TradeForText + call PrintText + call Trade_Delay80 + ld hl, TradeSendsText + call PrintText + jp Trade_Delay80 + +TradeForText: + TX_FAR _TradeForText + db "@" + +TradeSendsText: + TX_FAR _TradeSendsText + db "@" + +PrintTradeFarewellText: + ld hl, TradeWavesFarewellText + call PrintText + call Trade_Delay80 + ld hl, TradeTransferredText + call PrintText + call Trade_Delay80 + jp Trade_SlideTextBoxOffScreen + +TradeWavesFarewellText: + TX_FAR _TradeWavesFarewellText + db "@" + +TradeTransferredText: + TX_FAR _TradeTransferredText + db "@" + +PrintTradeTakeCareText: + ld hl, TradeTakeCareText + call PrintText + jp Trade_Delay80 + +TradeTakeCareText: + TX_FAR _TradeTakeCareText + db "@" + +PrintTradeWillTradeText: + ld hl, TradeWillTradeText + call PrintText + call Trade_Delay80 + ld hl, TradeforText + call PrintText + jp Trade_Delay80 + +TradeWillTradeText: + TX_FAR _TradeWillTradeText + db "@" + +TradeforText: + TX_FAR _TradeforText + db "@" + +Trade_ShowAnimation: + ld [wAnimationID], a + xor a + ld [wAnimationType], a + predef_jump MoveAnimation diff --git a/engine/movie/trade2.asm b/engine/movie/trade2.asm new file mode 100755 index 00000000..2c79e077 --- /dev/null +++ b/engine/movie/trade2.asm @@ -0,0 +1,48 @@ +Trade_PrintPlayerMonInfoText: + coord hl, 5, 0 + ld de, Trade_MonInfoText + call PlaceString + ld a, [wTradedPlayerMonSpecies] + ld [wd11e], a + predef IndexToPokedex + coord hl, 9, 0 + ld de, wd11e + lb bc, LEADING_ZEROES | 1, 3 + call PrintNumber + coord hl, 5, 2 + ld de, wcf4b + call PlaceString + coord hl, 8, 4 + ld de, wTradedPlayerMonOT + call PlaceString + coord hl, 8, 6 + ld de, wTradedPlayerMonOTID + lb bc, LEADING_ZEROES | 2, 5 + jp PrintNumber + +Trade_PrintEnemyMonInfoText: + coord hl, 5, 10 + ld de, Trade_MonInfoText + call PlaceString + ld a, [wTradedEnemyMonSpecies] + ld [wd11e], a + predef IndexToPokedex + coord hl, 9, 10 + ld de, wd11e + lb bc, LEADING_ZEROES | 1, 3 + call PrintNumber + coord hl, 5, 12 + ld de, wcd6d + call PlaceString + coord hl, 8, 14 + ld de, wTradedEnemyMonOT + call PlaceString + coord hl, 8, 16 + ld de, wTradedEnemyMonOTID + lb bc, LEADING_ZEROES | 2, 5 + jp PrintNumber + +Trade_MonInfoText: + db "──№⠄",$4E + next "OT/" + next $73,"№⠄","@" diff --git a/engine/multiply_divide.asm b/engine/multiply_divide.asm deleted file mode 100755 index 6cdc6c87..00000000 --- a/engine/multiply_divide.asm +++ /dev/null @@ -1,143 +0,0 @@ -_Multiply:: - ld a, $8 - ld b, a - xor a - ld [H_PRODUCT], a - ld [H_MULTIPLYBUFFER], a - ld [H_MULTIPLYBUFFER+1], a - ld [H_MULTIPLYBUFFER+2], a - ld [H_MULTIPLYBUFFER+3], a -.loop - ld a, [H_MULTIPLIER] - srl a - ld [H_MULTIPLIER], a ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN) - jr nc, .smallMultiplier - ld a, [H_MULTIPLYBUFFER+3] - ld c, a - ld a, [H_MULTIPLICAND+2] - add c - ld [H_MULTIPLYBUFFER+3], a - ld a, [H_MULTIPLYBUFFER+2] - ld c, a - ld a, [H_MULTIPLICAND+1] - adc c - ld [H_MULTIPLYBUFFER+2], a - ld a, [H_MULTIPLYBUFFER+1] - ld c, a - ld a, [H_MULTIPLICAND] ; (aliases: H_MULTIPLICAND) - adc c - ld [H_MULTIPLYBUFFER+1], a - ld a, [H_MULTIPLYBUFFER] - ld c, a - ld a, [H_PRODUCT] ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT) - adc c - ld [H_MULTIPLYBUFFER], a -.smallMultiplier - dec b - jr z, .done - ld a, [H_MULTIPLICAND+2] - sla a - ld [H_MULTIPLICAND+2], a - ld a, [H_MULTIPLICAND+1] - rl a - ld [H_MULTIPLICAND+1], a - ld a, [H_MULTIPLICAND] - rl a - ld [H_MULTIPLICAND], a - ld a, [H_PRODUCT] - rl a - ld [H_PRODUCT], a - jr .loop -.done - ld a, [H_MULTIPLYBUFFER+3] - ld [H_PRODUCT+3], a - ld a, [H_MULTIPLYBUFFER+2] - ld [H_PRODUCT+2], a - ld a, [H_MULTIPLYBUFFER+1] - ld [H_PRODUCT+1], a - ld a, [H_MULTIPLYBUFFER] - ld [H_PRODUCT], a - ret - -_Divide:: - xor a - ld [H_DIVIDEBUFFER], a - ld [H_DIVIDEBUFFER+1], a - ld [H_DIVIDEBUFFER+2], a - ld [H_DIVIDEBUFFER+3], a - ld [H_DIVIDEBUFFER+4], a - ld a, $9 - ld e, a -.asm_37db3 - ld a, [H_DIVIDEBUFFER] - ld c, a - ld a, [H_DIVIDEND+1] ; (aliases: H_MULTIPLICAND) - sub c - ld d, a - ld a, [H_DIVISOR] ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN) - ld c, a - ld a, [H_DIVIDEND] ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT) - sbc c - jr c, .asm_37dce - ld [H_DIVIDEND], a ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT) - ld a, d - ld [H_DIVIDEND+1], a ; (aliases: H_MULTIPLICAND) - ld a, [H_DIVIDEBUFFER+4] - inc a - ld [H_DIVIDEBUFFER+4], a - jr .asm_37db3 -.asm_37dce - ld a, b - cp $1 - jr z, .asm_37e18 - ld a, [H_DIVIDEBUFFER+4] - sla a - ld [H_DIVIDEBUFFER+4], a - ld a, [H_DIVIDEBUFFER+3] - rl a - ld [H_DIVIDEBUFFER+3], a - ld a, [H_DIVIDEBUFFER+2] - rl a - ld [H_DIVIDEBUFFER+2], a - ld a, [H_DIVIDEBUFFER+1] - rl a - ld [H_DIVIDEBUFFER+1], a - dec e - jr nz, .asm_37e04 - ld a, $8 - ld e, a - ld a, [H_DIVIDEBUFFER] - ld [H_DIVISOR], a ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN) - xor a - ld [H_DIVIDEBUFFER], a - ld a, [H_DIVIDEND+1] ; (aliases: H_MULTIPLICAND) - ld [H_DIVIDEND], a ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT) - ld a, [H_DIVIDEND+2] - ld [H_DIVIDEND+1], a ; (aliases: H_MULTIPLICAND) - ld a, [H_DIVIDEND+3] - ld [H_DIVIDEND+2], a -.asm_37e04 - ld a, e - cp $1 - jr nz, .asm_37e0a - dec b -.asm_37e0a - ld a, [H_DIVISOR] ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN) - srl a - ld [H_DIVISOR], a ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN) - ld a, [H_DIVIDEBUFFER] - rr a - ld [H_DIVIDEBUFFER], a - jr .asm_37db3 -.asm_37e18 - ld a, [H_DIVIDEND+1] ; (aliases: H_MULTIPLICAND) - ld [H_REMAINDER], a ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN) - ld a, [H_DIVIDEBUFFER+4] - ld [H_QUOTIENT+3], a - ld a, [H_DIVIDEBUFFER+3] - ld [H_QUOTIENT+2], a - ld a, [H_DIVIDEBUFFER+2] - ld [H_QUOTIENT+1], a ; (aliases: H_MULTIPLICAND) - ld a, [H_DIVIDEBUFFER+1] - ld [H_DIVIDEND], a ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT) - ret diff --git a/engine/oak_speech.asm b/engine/oak_speech.asm deleted file mode 100755 index b1acfb65..00000000 --- a/engine/oak_speech.asm +++ /dev/null @@ -1,233 +0,0 @@ -SetDefaultNames: - ld a, [wLetterPrintingDelayFlags] - push af - ld a, [wOptions] - push af - ld a, [wd732] - push af - ld hl, wPlayerName - ld bc, wBoxDataEnd - wPlayerName - xor a - call FillMemory - ld hl, wSpriteStateData1 - ld bc, $200 - xor a - call FillMemory - pop af - ld [wd732], a - pop af - ld [wOptions], a - pop af - ld [wLetterPrintingDelayFlags], a - ld a, [wOptionsInitialized] - and a - call z, InitOptions - ld hl, NintenText - ld de, wPlayerName - ld bc, NAME_LENGTH - call CopyData - ld hl, SonyText - ld de, wRivalName - ld bc, NAME_LENGTH - jp CopyData - -OakSpeech: - ld a, $FF - call PlaySound ; stop music - ld a, BANK(Music_Routes2) - ld c, a - ld a, MUSIC_ROUTES2 - call PlayMusic - call ClearScreen - call LoadTextBoxTilePatterns - call SetDefaultNames - predef InitPlayerData2 - ld hl, wNumBoxItems - ld a, POTION - ld [wcf91], a - ld a, 1 - ld [wItemQuantity], a - call AddItemToInventory ; give one potion - ld a, [wDefaultMap] - ld [wDestinationMap], a - call SpecialWarpIn - xor a - ld [hTilesetType], a - ld a, [wd732] - bit 1, a ; possibly a debug mode bit - jp nz, .skipChoosingNames - ld de, ProfOakPic - lb bc, Bank(ProfOakPic), $00 - call IntroDisplayPicCenteredOrUpperRight - call FadeInIntroPic - ld hl, OakSpeechText1 - call PrintText - call GBFadeOutToWhite - call ClearScreen - ld a, NIDORINO - ld [wd0b5], a - ld [wcf91], a - call GetMonHeader - coord hl, 6, 4 - call LoadFlippedFrontSpriteByMonIndex - call MovePicLeft - ld hl, OakSpeechText2 - call PrintText - call GBFadeOutToWhite - call ClearScreen - ld de, RedPicFront - lb bc, Bank(RedPicFront), $00 - call IntroDisplayPicCenteredOrUpperRight - call MovePicLeft - ld hl, IntroducePlayerText - call PrintText - call ChoosePlayerName - call GBFadeOutToWhite - call ClearScreen - ld de, Rival1Pic - lb bc, Bank(Rival1Pic), $00 - call IntroDisplayPicCenteredOrUpperRight - call FadeInIntroPic - ld hl, IntroduceRivalText - call PrintText - call ChooseRivalName -.skipChoosingNames - call GBFadeOutToWhite - call ClearScreen - ld de, RedPicFront - lb bc, Bank(RedPicFront), $00 - call IntroDisplayPicCenteredOrUpperRight - call GBFadeInFromWhite - ld a, [wd72d] - and a - jr nz, .next - ld hl, OakSpeechText3 - call PrintText -.next - ld a, [H_LOADEDROMBANK] - push af - ld a, SFX_SHRINK - call PlaySound - pop af - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - ld c, 4 - call DelayFrames - ld de, RedSprite - ld hl, vSprites - lb bc, BANK(RedSprite), $0C - call CopyVideoData - ld de, ShrinkPic1 - lb bc, BANK(ShrinkPic1), $00 - call IntroDisplayPicCenteredOrUpperRight - ld c, 4 - call DelayFrames - ld de, ShrinkPic2 - lb bc, BANK(ShrinkPic2), $00 - call IntroDisplayPicCenteredOrUpperRight - call ResetPlayerSpriteData - ld a, [H_LOADEDROMBANK] - push af - ld a, BANK(Music_PalletTown) - ld [wAudioROMBank], a - ld [wAudioSavedROMBank], a - ld a, 10 - ld [wAudioFadeOutControl], a - ld a, $FF - ld [wNewSoundID], a - call PlaySound ; stop music - pop af - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - ld c, 20 - call DelayFrames - coord hl, 6, 5 - ld b, 7 - ld c, 7 - call ClearScreenArea - call LoadTextBoxTilePatterns - ld a, 1 - ld [wUpdateSpritesEnabled], a - ld c, 50 - call DelayFrames - call GBFadeOutToWhite - jp ClearScreen -OakSpeechText1: - TX_FAR _OakSpeechText1 - db "@" -OakSpeechText2: - TX_FAR _OakSpeechText2A - TX_CRY_NIDORINA - TX_FAR _OakSpeechText2B - db "@" -IntroducePlayerText: - TX_FAR _IntroducePlayerText - db "@" -IntroduceRivalText: - TX_FAR _IntroduceRivalText - db "@" -OakSpeechText3: - TX_FAR _OakSpeechText3 - db "@" - -FadeInIntroPic: - ld hl, IntroFadePalettes - ld b, 6 -.next - ld a, [hli] - ld [rBGP], a - ld c, 10 - call DelayFrames - dec b - jr nz, .next - ret - -IntroFadePalettes: - db %01010100 - db %10101000 - db %11111100 - db %11111000 - db %11110100 - db %11100100 - -MovePicLeft: - ld a, 119 - ld [rWX], a - call DelayFrame - - ld a, %11100100 - ld [rBGP], a -.next - call DelayFrame - ld a, [rWX] - sub 8 - cp $FF - ret z - ld [rWX], a - jr .next - -DisplayPicCenteredOrUpperRight: - call GetPredefRegisters -IntroDisplayPicCenteredOrUpperRight: -; b = bank -; de = address of compressed pic -; c: 0 = centred, non-zero = upper-right - push bc - ld a, b - call UncompressSpriteFromDE - ld hl, sSpriteBuffer1 - ld de, sSpriteBuffer0 - ld bc, $310 - call CopyData - ld de, vFrontPic - call InterlaceMergeSpriteBuffers - pop bc - ld a, c - and a - coord hl, 15, 1 - jr nz, .next - coord hl, 6, 4 -.next - xor a - ld [hStartTileID], a - predef_jump CopyUncompressedPicToTilemap diff --git a/engine/oak_speech2.asm b/engine/oak_speech2.asm deleted file mode 100755 index fdc9ffa3..00000000 --- a/engine/oak_speech2.asm +++ /dev/null @@ -1,219 +0,0 @@ -ChoosePlayerName: - call OakSpeechSlidePicRight - ld de, DefaultNamesPlayer - call DisplayIntroNameTextBox - ld a, [wCurrentMenuItem] - and a - jr z, .customName - ld hl, DefaultNamesPlayerList - call GetDefaultName - ld de, wPlayerName - call OakSpeechSlidePicLeft - jr .done -.customName - ld hl, wPlayerName - xor a ; NAME_PLAYER_SCREEN - ld [wNamingScreenType], a - call DisplayNamingScreen - ld a, [wcf4b] - cp "@" - jr z, .customName - call ClearScreen - call Delay3 - ld de, RedPicFront - ld b, BANK(RedPicFront) - call IntroDisplayPicCenteredOrUpperRight -.done - ld hl, YourNameIsText - jp PrintText - -YourNameIsText: - TX_FAR _YourNameIsText - db "@" - -ChooseRivalName: - call OakSpeechSlidePicRight - ld de, DefaultNamesRival - call DisplayIntroNameTextBox - ld a, [wCurrentMenuItem] - and a - jr z, .customName - ld hl, DefaultNamesRivalList - call GetDefaultName - ld de, wRivalName - call OakSpeechSlidePicLeft - jr .done -.customName - ld hl, wRivalName - ld a, NAME_RIVAL_SCREEN - ld [wNamingScreenType], a - call DisplayNamingScreen - ld a, [wcf4b] - cp "@" - jr z, .customName - call ClearScreen - call Delay3 - ld de, Rival1Pic - ld b, $13 - call IntroDisplayPicCenteredOrUpperRight -.done - ld hl, HisNameIsText - jp PrintText - -HisNameIsText: - TX_FAR _HisNameIsText - db "@" - -OakSpeechSlidePicLeft: - push de - coord hl, 0, 0 - lb bc, 12, 11 - call ClearScreenArea ; clear the name list text box - ld c, 10 - call DelayFrames - pop de - ld hl, wcd6d - ld bc, NAME_LENGTH - call CopyData - call Delay3 - coord hl, 12, 4 - lb de, 6, 6 * SCREEN_WIDTH + 5 - ld a, $ff - jr OakSpeechSlidePicCommon - -OakSpeechSlidePicRight: - coord hl, 5, 4 - lb de, 6, 6 * SCREEN_WIDTH + 5 - xor a - -OakSpeechSlidePicCommon: - push hl - push de - push bc - ld [hSlideDirection], a - ld a, d - ld [hSlideAmount], a - ld a, e - ld [hSlidingRegionSize], a - ld c, a - ld a, [hSlideDirection] - and a - jr nz, .next -; If sliding right, point hl to the end of the pic's tiles. - ld d, 0 - add hl, de -.next - ld d, h - ld e, l -.loop - xor a - ld [H_AUTOBGTRANSFERENABLED], a - ld a, [hSlideDirection] - and a - jr nz, .slideLeft -; sliding right - ld a, [hli] - ld [hld], a - dec hl - jr .next2 -.slideLeft - ld a, [hld] - ld [hli], a - inc hl -.next2 - dec c - jr nz, .loop - ld a, [hSlideDirection] - and a - jr z, .next3 -; If sliding left, we need to zero the last tile in the pic (there is no need -; to take a corresponding action when sliding right because hl initially points -; to a 0 tile in that case). - xor a - dec hl - ld [hl], a -.next3 - ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a - call Delay3 - ld a, [hSlidingRegionSize] - ld c, a - ld h, d - ld l, e - ld a, [hSlideDirection] - and a - jr nz, .slideLeft2 - inc hl - jr .next4 -.slideLeft2 - dec hl -.next4 - ld d, h - ld e, l - ld a, [hSlideAmount] - dec a - ld [hSlideAmount], a - jr nz, .loop - pop bc - pop de - pop hl - ret - -DisplayIntroNameTextBox: - push de - coord hl, 0, 0 - ld b, $a - ld c, $9 - call TextBoxBorder - coord hl, 3, 0 - ld de, .namestring - call PlaceString - pop de - coord hl, 2, 2 - call PlaceString - call UpdateSprites - xor a - ld [wCurrentMenuItem], a - ld [wLastMenuItem], a - inc a - ld [wTopMenuItemX], a - ld [wMenuWatchedKeys], a ; A_BUTTON - inc a - ld [wTopMenuItemY], a - inc a - ld [wMaxMenuItem], a - jp HandleMenuInput - -.namestring - db "NAME@" - -INCLUDE "text/player_names.asm" - -GetDefaultName: -; a = name index -; hl = name list - ld b, a - ld c, 0 -.loop - ld d, h - ld e, l -.innerLoop - ld a, [hli] - cp "@" - jr nz, .innerLoop - ld a, b - cp c - jr z, .foundName - inc c - jr .loop -.foundName - ld h, d - ld l, e - ld de, wcd6d - ld bc, $14 - jp CopyData - -INCLUDE "text/player_names_list.asm" - -TextTerminator_6b20: - db "@" diff --git a/engine/oam_dma.asm b/engine/oam_dma.asm deleted file mode 100644 index b0d64675..00000000 --- a/engine/oam_dma.asm +++ /dev/null @@ -1,26 +0,0 @@ -WriteDMACodeToHRAM:: -; Since no other memory is available during OAM DMA, -; DMARoutine is copied to HRAM and executed there. - ld c, $ff80 % $100 - ld b, DMARoutineEnd - DMARoutine - ld hl, DMARoutine -.copy - ld a, [hli] - ld [$ff00+c], a - inc c - dec b - jr nz, .copy - ret - -DMARoutine: - ; initiate DMA - ld a, wOAMBuffer / $100 - ld [rDMA], a - - ; wait for DMA to finish - ld a, $28 -.wait - dec a - jr nz, .wait - ret -DMARoutineEnd: diff --git a/engine/overworld/auto_movement.asm b/engine/overworld/auto_movement.asm new file mode 100755 index 00000000..e478c9ad --- /dev/null +++ b/engine/overworld/auto_movement.asm @@ -0,0 +1,292 @@ +PlayerStepOutFromDoor:: + ld hl, wd730 + res 1, [hl] + call IsPlayerStandingOnDoorTile + jr nc, .notStandingOnDoor + ld a, $fc + ld [wJoyIgnore], a + ld hl, wd736 + set 1, [hl] + ld a, $1 + ld [wSimulatedJoypadStatesIndex], a + ld a, D_DOWN + ld [wSimulatedJoypadStatesEnd], a + xor a + ld [wSpriteStateData1 + 2], a + call StartSimulatingJoypadStates + ret +.notStandingOnDoor + xor a + ld [wWastedByteCD3A], a + ld [wSimulatedJoypadStatesIndex], a + ld [wSimulatedJoypadStatesEnd], a + ld hl, wd736 + res 0, [hl] + res 1, [hl] + ld hl, wd730 + res 7, [hl] + ret + +_EndNPCMovementScript:: + ld hl, wd730 + res 7, [hl] + ld hl, wd72e + res 7, [hl] + ld hl, wd736 + res 0, [hl] + res 1, [hl] + xor a + ld [wNPCMovementScriptSpriteOffset], a + ld [wNPCMovementScriptPointerTableNum], a + ld [wNPCMovementScriptFunctionNum], a + ld [wWastedByteCD3A], a + ld [wSimulatedJoypadStatesIndex], a + ld [wSimulatedJoypadStatesEnd], a + ret + +PalletMovementScriptPointerTable:: + dw PalletMovementScript_OakMoveLeft + dw PalletMovementScript_PlayerMoveLeft + dw PalletMovementScript_WaitAndWalkToLab + dw PalletMovementScript_WalkToLab + dw PalletMovementScript_Done + +PalletMovementScript_OakMoveLeft: + ld a, [wXCoord] + sub $a + ld [wNumStepsToTake], a + jr z, .playerOnLeftTile +; The player is on the right tile of the northern path out of Pallet Town and +; Prof. Oak is below. +; Make Prof. Oak step to the left. + ld b, 0 + ld c, a + ld hl, wNPCMovementDirections2 + ld a, NPC_MOVEMENT_LEFT + call FillMemory + ld [hl], $ff + ld a, [wSpriteIndex] + ld [H_SPRITEINDEX], a + ld de, wNPCMovementDirections2 + call MoveSprite + ld a, $1 + ld [wNPCMovementScriptFunctionNum], a + jr .done +; The player is on the left tile of the northern path out of Pallet Town and +; Prof. Oak is below. +; Prof. Oak is already where he needs to be. +.playerOnLeftTile + ld a, $3 + ld [wNPCMovementScriptFunctionNum], a +.done + ld hl, wFlags_D733 + set 1, [hl] + ld a, $fc + ld [wJoyIgnore], a + ret + +PalletMovementScript_PlayerMoveLeft: + ld a, [wd730] + bit 0, a ; is an NPC being moved by a script? + ret nz ; return if Oak is still moving + ld a, [wNumStepsToTake] + ld [wSimulatedJoypadStatesIndex], a + ld [hNPCMovementDirections2Index], a + predef ConvertNPCMovementDirectionsToJoypadMasks + call StartSimulatingJoypadStates + ld a, $2 + ld [wNPCMovementScriptFunctionNum], a + ret + +PalletMovementScript_WaitAndWalkToLab: + ld a, [wSimulatedJoypadStatesIndex] + and a ; is the player done moving left yet? + ret nz + +PalletMovementScript_WalkToLab: + xor a + ld [wOverrideSimulatedJoypadStatesMask], a + ld a, [wSpriteIndex] + swap a + ld [wNPCMovementScriptSpriteOffset], a + xor a + ld [wSpriteStateData2 + $06], a + ld hl, wSimulatedJoypadStatesEnd + ld de, RLEList_PlayerWalkToLab + call DecodeRLEList + dec a + ld [wSimulatedJoypadStatesIndex], a + ld hl, wNPCMovementDirections2 + ld de, RLEList_ProfOakWalkToLab + call DecodeRLEList + ld hl, wd72e + res 7, [hl] + ld hl, wd730 + set 7, [hl] + ld a, $4 + ld [wNPCMovementScriptFunctionNum], a + ret + +RLEList_ProfOakWalkToLab: + db NPC_MOVEMENT_DOWN, $05 + db NPC_MOVEMENT_LEFT, $01 + db NPC_MOVEMENT_DOWN, $05 + db NPC_MOVEMENT_RIGHT, $03 + db NPC_MOVEMENT_UP, $01 + db $E0, $01 ; stand still + db $FF + +RLEList_PlayerWalkToLab: + db D_UP, $02 + db D_RIGHT, $03 + db D_DOWN, $05 + db D_LEFT, $01 + db D_DOWN, $06 + db $FF + +PalletMovementScript_Done: + ld a, [wSimulatedJoypadStatesIndex] + and a + ret nz + ld a, HS_PALLET_TOWN_OAK + ld [wMissableObjectIndex], a + predef HideObject + ld hl, wd730 + res 7, [hl] + ld hl, wd72e + res 7, [hl] + jp EndNPCMovementScript + +PewterMuseumGuyMovementScriptPointerTable:: + dw PewterMovementScript_WalkToMuseum + dw PewterMovementScript_Done + +PewterMovementScript_WalkToMuseum: + ld a, BANK(Music_MuseumGuy) + ld [wAudioROMBank], a + ld [wAudioSavedROMBank], a + ld a, MUSIC_MUSEUM_GUY + ld [wNewSoundID], a + call PlaySound + ld a, [wSpriteIndex] + swap a + ld [wNPCMovementScriptSpriteOffset], a + call StartSimulatingJoypadStates + ld hl, wSimulatedJoypadStatesEnd + ld de, RLEList_PewterMuseumPlayer + call DecodeRLEList + dec a + ld [wSimulatedJoypadStatesIndex], a + xor a + ld [wWhichPewterGuy], a + predef PewterGuys + ld hl, wNPCMovementDirections2 + ld de, RLEList_PewterMuseumGuy + call DecodeRLEList + ld hl, wd72e + res 7, [hl] + ld a, $1 + ld [wNPCMovementScriptFunctionNum], a + ret + +RLEList_PewterMuseumPlayer: + db 0, $01 + db D_UP, $03 + db D_LEFT, $0D + db D_UP, $06 + db $FF + +RLEList_PewterMuseumGuy: + db NPC_MOVEMENT_UP, $06 + db NPC_MOVEMENT_LEFT, $0D + db NPC_MOVEMENT_UP, $03 + db NPC_MOVEMENT_LEFT, $01 + db $FF + +PewterMovementScript_Done: + ld a, [wSimulatedJoypadStatesIndex] + and a + ret nz + ld hl, wd730 + res 7, [hl] + ld hl, wd72e + res 7, [hl] + jp EndNPCMovementScript + +PewterGymGuyMovementScriptPointerTable:: + dw PewterMovementScript_WalkToGym + dw PewterMovementScript_Done + +PewterMovementScript_WalkToGym: + ld a, BANK(Music_MuseumGuy) + ld [wAudioROMBank], a + ld [wAudioSavedROMBank], a + ld a, MUSIC_MUSEUM_GUY + ld [wNewSoundID], a + call PlaySound + ld a, [wSpriteIndex] + swap a + ld [wNPCMovementScriptSpriteOffset], a + xor a + ld [wSpriteStateData2 + $06], a + ld hl, wSimulatedJoypadStatesEnd + ld de, RLEList_PewterGymPlayer + call DecodeRLEList + dec a + ld [wSimulatedJoypadStatesIndex], a + ld a, 1 + ld [wWhichPewterGuy], a + predef PewterGuys + ld hl, wNPCMovementDirections2 + ld de, RLEList_PewterGymGuy + call DecodeRLEList + ld hl, wd72e + res 7, [hl] + ld hl, wd730 + set 7, [hl] + ld a, $1 + ld [wNPCMovementScriptFunctionNum], a + ret + +RLEList_PewterGymPlayer: + db 0, $01 + db D_RIGHT, $02 + db D_DOWN, $05 + db D_LEFT, $0B + db D_UP, $05 + db D_LEFT, $0F + db $FF + +RLEList_PewterGymGuy: + db NPC_MOVEMENT_DOWN, $02 + db NPC_MOVEMENT_LEFT, $0F + db NPC_MOVEMENT_UP, $05 + db NPC_MOVEMENT_LEFT, $0B + db NPC_MOVEMENT_DOWN, $05 + db NPC_MOVEMENT_RIGHT, $03 + db $FF + +FreezeEnemyTrainerSprite:: + ld a, [wCurMap] + cp POKEMON_TOWER_7F + ret z ; the Rockets on Pokemon Tower 7F leave after battling, so don't freeze them + ld hl, RivalIDs + ld a, [wEngagedTrainerClass] + ld b, a +.loop + ld a, [hli] + cp $ff + jr z, .notRival + cp b + ret z ; the rival leaves after battling, so don't freeze him + jr .loop +.notRival + ld a, [wSpriteIndex] + ld [H_SPRITEINDEX], a + jp SetSpriteMovementBytesToFF + +RivalIDs: + db OPP_SONY1 + db OPP_SONY2 + db OPP_SONY3 + db $ff diff --git a/engine/overworld/cable_club_npc.asm b/engine/overworld/cable_club_npc.asm deleted file mode 100755 index bb0f7680..00000000 --- a/engine/overworld/cable_club_npc.asm +++ /dev/null @@ -1,151 +0,0 @@ -CableClubNPC:: - ld hl, CableClubNPCWelcomeText - call PrintText - CheckEvent EVENT_GOT_POKEDEX - jp nz, .receivedPokedex -; if the player hasn't received the pokedex - ld c, 60 - call DelayFrames - ld hl, CableClubNPCMakingPreparationsText - call PrintText - jp .didNotConnect -.receivedPokedex - ld a, $1 - ld [wMenuJoypadPollCount], a - ld a, 90 - ld [wLinkTimeoutCounter], a -.establishConnectionLoop - ld a, [hSerialConnectionStatus] - cp USING_INTERNAL_CLOCK - jr z, .establishedConnection - cp USING_EXTERNAL_CLOCK - jr z, .establishedConnection - ld a, CONNECTION_NOT_ESTABLISHED - ld [hSerialConnectionStatus], a - ld a, ESTABLISH_CONNECTION_WITH_EXTERNAL_CLOCK - ld [rSB], a - xor a - ld [hSerialReceiveData], a - ld a, START_TRANSFER_EXTERNAL_CLOCK - ld [rSC], a - ld a, [wLinkTimeoutCounter] - dec a - ld [wLinkTimeoutCounter], a - jr z, .failedToEstablishConnection - ld a, ESTABLISH_CONNECTION_WITH_INTERNAL_CLOCK - ld [rSB], a - ld a, START_TRANSFER_INTERNAL_CLOCK - ld [rSC], a - call DelayFrame - jr .establishConnectionLoop -.establishedConnection - call Serial_SendZeroByte - call DelayFrame - call Serial_SendZeroByte - ld c, 50 - call DelayFrames - ld hl, CableClubNPCPleaseApplyHereHaveToSaveText - call PrintText - xor a - ld [wMenuJoypadPollCount], a - call YesNoChoice - ld a, $1 - ld [wMenuJoypadPollCount], a - ld a, [wCurrentMenuItem] - and a - jr nz, .choseNo - callab SaveSAVtoSRAM - call WaitForSoundToFinish - ld a, SFX_SAVE - call PlaySoundWaitForCurrent - ld hl, CableClubNPCPleaseWaitText - call PrintText - ld hl, wUnknownSerialCounter - ld a, $3 - ld [hli], a - xor a - ld [hl], a - ld [hSerialReceivedNewData], a - ld [wSerialExchangeNybbleSendData], a - call Serial_SyncAndExchangeNybble - ld hl, wUnknownSerialCounter - ld a, [hli] - inc a - jr nz, .connected - ld a, [hl] - inc a - jr nz, .connected - ld b, 10 -.syncLoop - call DelayFrame - call Serial_SendZeroByte - dec b - jr nz, .syncLoop - call CloseLinkConnection - ld hl, CableClubNPCLinkClosedBecauseOfInactivityText - call PrintText - jr .didNotConnect -.failedToEstablishConnection - ld hl, CableClubNPCAreaReservedFor2FriendsLinkedByCableText - call PrintText - jr .didNotConnect -.choseNo - call CloseLinkConnection - ld hl, CableClubNPCPleaseComeAgainText - call PrintText -.didNotConnect - xor a - ld hl, wUnknownSerialCounter - ld [hli], a - ld [hl], a - ld hl, wd72e - res 6, [hl] - xor a - ld [wMenuJoypadPollCount], a - ret -.connected - xor a - ld [hld], a - ld [hl], a - jpab LinkMenu - -CableClubNPCAreaReservedFor2FriendsLinkedByCableText: - TX_FAR _CableClubNPCAreaReservedFor2FriendsLinkedByCableText - db "@" - -CableClubNPCWelcomeText: - TX_FAR _CableClubNPCWelcomeText - db "@" - -CableClubNPCPleaseApplyHereHaveToSaveText: - TX_FAR _CableClubNPCPleaseApplyHereHaveToSaveText - db "@" - -CableClubNPCPleaseWaitText: - TX_FAR _CableClubNPCPleaseWaitText - TX_DELAY - db "@" - -CableClubNPCLinkClosedBecauseOfInactivityText: - TX_FAR _CableClubNPCLinkClosedBecauseOfInactivityText - db "@" - -CableClubNPCPleaseComeAgainText: - TX_FAR _CableClubNPCPleaseComeAgainText - db "@" - -CableClubNPCMakingPreparationsText: - TX_FAR _CableClubNPCMakingPreparationsText - db "@" - -CloseLinkConnection: - call Delay3 - ld a, CONNECTION_NOT_ESTABLISHED - ld [hSerialConnectionStatus], a - ld a, ESTABLISH_CONNECTION_WITH_EXTERNAL_CLOCK - ld [rSB], a - xor a - ld [hSerialReceiveData], a - ld a, START_TRANSFER_EXTERNAL_CLOCK - ld [rSC], a - ret diff --git a/engine/overworld/card_key.asm b/engine/overworld/card_key.asm deleted file mode 100755 index c77d5fcd..00000000 --- a/engine/overworld/card_key.asm +++ /dev/null @@ -1,112 +0,0 @@ -PrintCardKeyText: - ld hl, SilphCoMapList - ld a, [wCurMap] - ld b, a -.silphCoMapListLoop - ld a, [hli] - cp $ff - ret z - cp b - jr nz, .silphCoMapListLoop - predef GetTileAndCoordsInFrontOfPlayer - ld a, [wTileInFrontOfPlayer] - cp $18 - jr z, .cardKeyDoorInFrontOfPlayer - cp $24 - jr z, .cardKeyDoorInFrontOfPlayer - ld b, a - ld a, [wCurMap] - cp SILPH_CO_11F - ret nz - ld a, b - cp $5e - ret nz -.cardKeyDoorInFrontOfPlayer - ld b, CARD_KEY - call IsItemInBag - jr z, .noCardKey - call GetCoordsInFrontOfPlayer - push de - tx_pre_id CardKeySuccessText - ld [hSpriteIndexOrTextID], a - call PrintPredefTextID - pop de - srl d - ld a, d - ld b, a - ld [wCardKeyDoorY], a - srl e - ld a, e - ld c, a - ld [wCardKeyDoorX], a - ld a, [wCurMap] - cp SILPH_CO_11F - jr nz, .notSilphCo11F - ld a, $3 - jr .replaceCardKeyDoorTileBlock -.notSilphCo11F - ld a, $e -.replaceCardKeyDoorTileBlock - ld [wNewTileBlockID], a - predef ReplaceTileBlock - ld hl, wCurrentMapScriptFlags - set 5, [hl] - ld a, SFX_GO_INSIDE - jp PlaySound -.noCardKey - tx_pre_id CardKeyFailText - ld [hSpriteIndexOrTextID], a - jp PrintPredefTextID - -SilphCoMapList: - db SILPH_CO_2F - db SILPH_CO_3F - db SILPH_CO_4F - db SILPH_CO_5F - db SILPH_CO_6F - db SILPH_CO_7F - db SILPH_CO_8F - db SILPH_CO_9F - db SILPH_CO_10F - db SILPH_CO_11F - db $FF - -CardKeySuccessText:: - TX_FAR _CardKeySuccessText1 - TX_SFX_ITEM_1 - TX_FAR _CardKeySuccessText2 - db "@" - -CardKeyFailText:: - TX_FAR _CardKeyFailText - db "@" - -; d = Y -; e = X -GetCoordsInFrontOfPlayer: - ld a, [wYCoord] - ld d, a - ld a, [wXCoord] - ld e, a - ld a, [wSpriteStateData1 + 9] ; player's sprite facing direction - and a - jr nz, .notFacingDown -; facing down - inc d - ret -.notFacingDown - cp SPRITE_FACING_UP - jr nz, .notFacingUp -; facing up - dec d - ret -.notFacingUp - cp SPRITE_FACING_LEFT - jr nz, .notFacingLeft -; facing left - dec e - ret -.notFacingLeft -; facing right - inc e - ret diff --git a/engine/overworld/cinnabar_lab.asm b/engine/overworld/cinnabar_lab.asm deleted file mode 100755 index e642840d..00000000 --- a/engine/overworld/cinnabar_lab.asm +++ /dev/null @@ -1,123 +0,0 @@ -GiveFossilToCinnabarLab:: - ld hl, wd730 - set 6, [hl] - xor a - ld [wCurrentMenuItem], a - ld a, A_BUTTON | B_BUTTON - ld [wMenuWatchedKeys], a - ld a, [wFilteredBagItemsCount] - dec a - ld [wMaxMenuItem], a - ld a, 2 - ld [wTopMenuItemY], a - ld a, 1 - ld [wTopMenuItemX], a - ld a, [wFilteredBagItemsCount] - dec a - ld bc, 2 - ld hl, 3 - call AddNTimes - dec l - ld b, l - ld c, $d - coord hl, 0, 0 - call TextBoxBorder - call UpdateSprites - call PrintFossilsInBag - ld hl, wd730 - res 6, [hl] - call HandleMenuInput - bit 1, a ; pressed B? - jr nz, .cancelledGivingFossil - ld hl, wFilteredBagItems - ld a, [wCurrentMenuItem] - ld d, 0 - ld e, a - add hl, de - ld a, [hl] - ld [$ffdb], a - cp DOME_FOSSIL - jr z, .choseDomeFossil - cp HELIX_FOSSIL - jr z, .choseHelixFossil - ld b, AERODACTYL - jr .fossilSelected -.choseHelixFossil - ld b, OMANYTE - jr .fossilSelected -.choseDomeFossil - ld b, KABUTO -.fossilSelected - ld [wFossilItem], a - ld a, b - ld [wFossilMon], a - call LoadFossilItemAndMonName - ld hl, LabFossil_610ae - call PrintText - call YesNoChoice - ld a, [wCurrentMenuItem] - and a - jr nz, .cancelledGivingFossil - ld hl, LabFossil_610b3 - call PrintText - ld a, [wFossilItem] - ld [hItemToRemoveID], a - callba RemoveItemByID - ld hl, LabFossil_610b8 - call PrintText - SetEvents EVENT_GAVE_FOSSIL_TO_LAB, EVENT_LAB_STILL_REVIVING_FOSSIL - ret -.cancelledGivingFossil - ld hl, LabFossil_610bd - call PrintText - ret - -LabFossil_610ae: - TX_FAR _Lab4Text_610ae - db "@" - -LabFossil_610b3: - TX_FAR _Lab4Text_610b3 - db "@" - -LabFossil_610b8: - TX_FAR _Lab4Text_610b8 - db "@" - -LabFossil_610bd: - TX_FAR _Lab4Text_610bd - db "@" - -PrintFossilsInBag: -; Prints each fossil in the player's bag on a separate line in the menu. - ld hl, wFilteredBagItems - xor a - ld [hItemCounter], a -.loop - ld a, [hli] - cp $ff - ret z - push hl - ld [wd11e], a - call GetItemName - coord hl, 2, 2 - ld a, [hItemCounter] - ld bc, SCREEN_WIDTH * 2 - call AddNTimes - ld de, wcd6d - call PlaceString - ld hl, hItemCounter - inc [hl] - pop hl - jr .loop - -; loads the names of the fossil item and the resulting mon -LoadFossilItemAndMonName:: - ld a, [wFossilMon] - ld [wd11e], a - call GetMonName - call CopyStringToCF4B - ld a, [wFossilItem] - ld [wd11e], a - call GetItemName - ret diff --git a/engine/overworld/dust_smoke.asm b/engine/overworld/dust_smoke.asm new file mode 100755 index 00000000..6c26b712 --- /dev/null +++ b/engine/overworld/dust_smoke.asm @@ -0,0 +1,93 @@ +AnimateBoulderDust: + ld a, $1 + ld [wWhichAnimationOffsets], a ; select the boulder dust offsets + ld a, [wUpdateSpritesEnabled] + push af + ld a, $ff + ld [wUpdateSpritesEnabled], a + ld a, %11100100 + ld [rOBP1], a + call LoadSmokeTileFourTimes + callba WriteCutOrBoulderDustAnimationOAMBlock + ld c, 8 ; number of steps in animation +.loop + push bc + call GetMoveBoulderDustFunctionPointer + ld bc, .returnAddress + push bc + ld c, 4 + jp hl +.returnAddress + ld a, [rOBP1] + xor %01100100 + ld [rOBP1], a + call Delay3 + pop bc + dec c + jr nz, .loop + pop af + ld [wUpdateSpritesEnabled], a + jp LoadPlayerSpriteGraphics + +GetMoveBoulderDustFunctionPointer: + ld a, [wSpriteStateData1 + 9] ; player's sprite facing direction + ld hl, MoveBoulderDustFunctionPointerTable + ld c, a + ld b, $0 + add hl, bc + ld a, [hli] + ld [wCoordAdjustmentAmount], a + ld a, [hli] + ld e, a + ld a, [hli] + ld h, [hl] + ld l, a + push hl + ld hl, wOAMBuffer + $90 + ld d, $0 + add hl, de + ld e, l + ld d, h + pop hl + ret + +MoveBoulderDustFunctionPointerTable: +; facing down + db $FF,$00 + dw AdjustOAMBlockYPos + +; facing up + db $01,$00 + dw AdjustOAMBlockYPos + +; facing left + db $01,$01 + dw AdjustOAMBlockXPos + +; facing right + db $FF,$01 + dw AdjustOAMBlockXPos + +LoadSmokeTileFourTimes:: + ld hl, vChars1 + $7c0 + ld c, $4 +.loop + push bc + push hl + call LoadSmokeTile + pop hl + ld bc, $10 + add hl, bc + pop bc + dec c + jr nz, .loop + ret + +LoadSmokeTile: + ld de, SSAnneSmokePuffTile + lb bc, BANK(SSAnneSmokePuffTile), (SSAnneSmokePuffTileEnd - SSAnneSmokePuffTile) / $10 + jp CopyVideoData + +SSAnneSmokePuffTile: + INCBIN "gfx/overworld/smoke.2bpp" +SSAnneSmokePuffTileEnd: diff --git a/engine/overworld/hidden_items.asm b/engine/overworld/hidden_items.asm deleted file mode 100755 index e40b0ac7..00000000 --- a/engine/overworld/hidden_items.asm +++ /dev/null @@ -1,161 +0,0 @@ -HiddenItems: - ld hl, HiddenItemCoords - call FindHiddenItemOrCoinsIndex - ld [wHiddenItemOrCoinsIndex], a - ld hl, wObtainedHiddenItemsFlags - ld a, [wHiddenItemOrCoinsIndex] - ld c, a - ld b, FLAG_TEST - predef FlagActionPredef - ld a, c - and a - ret nz - call EnableAutoTextBoxDrawing - ld a, 1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld a, [wHiddenObjectFunctionArgument] ; item ID - ld [wd11e], a - call GetItemName - tx_pre_jump FoundHiddenItemText - -INCLUDE "data/hidden_item_coords.asm" - -FoundHiddenItemText:: - TX_FAR _FoundHiddenItemText - TX_ASM - ld a, [wHiddenObjectFunctionArgument] ; item ID - ld b, a - ld c, 1 - call GiveItem - jr nc, .bagFull - ld hl, wObtainedHiddenItemsFlags - ld a, [wHiddenItemOrCoinsIndex] - ld c, a - ld b, FLAG_SET - predef FlagActionPredef - ld a, SFX_GET_ITEM_2 - call PlaySoundWaitForCurrent - call WaitForSoundToFinish - jp TextScriptEnd -.bagFull - call WaitForTextScrollButtonPress ; wait for button press - xor a - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld hl, HiddenItemBagFullText - call PrintText - jp TextScriptEnd - -HiddenItemBagFullText:: - TX_FAR _HiddenItemBagFullText - db "@" - -HiddenCoins: - ld b, COIN_CASE - predef GetQuantityOfItemInBag - ld a, b - and a - ret z - ld hl, HiddenCoinCoords - call FindHiddenItemOrCoinsIndex - ld [wHiddenItemOrCoinsIndex], a - ld hl, wObtainedHiddenCoinsFlags - ld a, [wHiddenItemOrCoinsIndex] - ld c, a - ld b, FLAG_TEST - predef FlagActionPredef - ld a, c - and a - ret nz - xor a - ld [hUnusedCoinsByte], a - ld [hCoins], a - ld [hCoins + 1], a - ld a, [wHiddenObjectFunctionArgument] - sub COIN - cp 10 - jr z, .bcd10 - cp 20 - jr z, .bcd20 - cp 40 - jr z, .bcd20 ; should be bcd40 - jr .bcd100 -.bcd10 - ld a, $10 - ld [hCoins + 1], a - jr .bcdDone -.bcd20 - ld a, $20 - ld [hCoins + 1], a - jr .bcdDone -.bcd40 ; due to a typo, this is never used - ld a, $40 - ld [hCoins + 1], a - jr .bcdDone -.bcd100 - ld a, $1 - ld [hCoins], a -.bcdDone - ld de, wPlayerCoins + 1 - ld hl, hCoins + 1 - ld c, $2 - predef AddBCDPredef - ld hl, wObtainedHiddenCoinsFlags - ld a, [wHiddenItemOrCoinsIndex] - ld c, a - ld b, FLAG_SET - predef FlagActionPredef - call EnableAutoTextBoxDrawing - ld a, [wPlayerCoins] - cp $99 - jr nz, .roomInCoinCase - ld a, [wPlayerCoins + 1] - cp $99 - jr nz, .roomInCoinCase - tx_pre_id DroppedHiddenCoinsText - jr .done -.roomInCoinCase - tx_pre_id FoundHiddenCoinsText -.done - jp PrintPredefTextID - -INCLUDE "data/hidden_coins.asm" - -FoundHiddenCoinsText:: - TX_FAR _FoundHiddenCoinsText - TX_SFX_ITEM_2 - db "@" - -DroppedHiddenCoinsText:: - TX_FAR _FoundHiddenCoins2Text - TX_SFX_ITEM_2 - TX_FAR _DroppedHiddenCoinsText - db "@" - -FindHiddenItemOrCoinsIndex: - ld a, [wHiddenObjectY] - ld d, a - ld a, [wHiddenObjectX] - ld e, a - ld a, [wCurMap] - ld b, a - ld c, -1 -.loop - inc c - ld a, [hli] - cp $ff ; end of the list? - ret z ; if so, we're done here - cp b - jr nz, .next1 - ld a, [hli] - cp d - jr nz, .next2 - ld a, [hli] - cp e - jr nz, .loop - ld a, c - ret -.next1 - inc hl -.next2 - inc hl - jr .loop diff --git a/engine/overworld/item.asm b/engine/overworld/item.asm deleted file mode 100644 index 9f19100a..00000000 --- a/engine/overworld/item.asm +++ /dev/null @@ -1,54 +0,0 @@ -PickUpItem: - call EnableAutoTextBoxDrawing - - ld a, [hSpriteIndexOrTextID] - ld b, a - ld hl, wMissableObjectList -.missableObjectsListLoop - ld a, [hli] - cp $ff - ret z - cp b - jr z, .isMissable - inc hl - jr .missableObjectsListLoop - -.isMissable - ld a, [hl] - ld [$ffdb], a - - ld hl, wMapSpriteExtraData - ld a, [hSpriteIndexOrTextID] - dec a - add a - ld d, 0 - ld e, a - add hl, de - ld a, [hl] - ld b, a ; item - ld c, 1 ; quantity - call GiveItem - jr nc, .BagFull - - ld a, [$ffdb] - ld [wMissableObjectIndex], a - predef HideObject - ld a, 1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld hl, FoundItemText - jr .print - -.BagFull - ld hl, NoMoreRoomForItemText -.print - call PrintText - ret - -FoundItemText: - TX_FAR _FoundItemText - TX_SFX_ITEM_1 - db "@" - -NoMoreRoomForItemText: - TX_FAR _NoMoreRoomForItemText - db "@" diff --git a/engine/overworld/map_sprite_functions1.asm b/engine/overworld/map_sprite_functions1.asm deleted file mode 100644 index 0e6b2d06..00000000 --- a/engine/overworld/map_sprite_functions1.asm +++ /dev/null @@ -1,356 +0,0 @@ -_UpdateSprites:: - ld h, $c1 - inc h - ld a, $e ; wSpriteStateData2 + $0e -.spriteLoop - ld l, a - sub $e - ld c, a - ld [H_CURRENTSPRITEOFFSET], a - ld a, [hl] - and a - jr z, .skipSprite ; tests $c2Xe - push hl - push de - push bc - call .updateCurrentSprite - pop bc - pop de - pop hl -.skipSprite - ld a, l - add $10 ; move to next sprite - cp $e ; test for overflow (back at $0e) - jr nz, .spriteLoop - ret -.updateCurrentSprite - cp $1 - jp nz, UpdateNonPlayerSprite - jp UpdatePlayerSprite - -UpdateNonPlayerSprite: - dec a - swap a - ld [$ff93], a ; $10 * sprite# - ld a, [wNPCMovementScriptSpriteOffset] ; some sprite offset? - ld b, a - ld a, [H_CURRENTSPRITEOFFSET] - cp b - jr nz, .unequal - jp DoScriptedNPCMovement -.unequal - jp UpdateNPCSprite - -; This detects if the current sprite (whose offset is at H_CURRENTSPRITEOFFSET) -; is going to collide with another sprite by looping over the other sprites. -; The current sprite's offset will be labelled with i (e.g. $c1i0). -; The loop sprite's offset will labelled with j (e.g. $c1j0). -; -; Note that the Y coordinate of the sprite (in [$c1k4]) is one of the following -; 9 values when the sprite is aligned with the grid: $fc, $0c, $1c, $2c, ..., $7c. -; The reason that 4 is added below to the coordinate is to make it align with a -; multiple of $10 to make comparisons easier. -DetectCollisionBetweenSprites: - nop - - ld h, wSpriteStateData1 / $100 - ld a, [H_CURRENTSPRITEOFFSET] - add wSpriteStateData1 % $100 - ld l, a - - ld a, [hl] ; a = [$c1i0] (picture) (0 if slot is unused) - and a ; is this sprite slot slot used? - ret z ; return if not used - - ld a, l - add 3 - ld l, a - - ld a, [hli] ; a = [$c1i3] (delta Y) (-1, 0, or 1) - call SetSpriteCollisionValues - - ld a, [hli] ; a = [$C1i4] (Y screen coordinate) - add 4 ; align with multiple of $10 - -; The effect of the following 3 lines is to -; add 7 to a if moving south or -; subtract 7 from a if moving north. - add b - and $f0 - or c - - ld [$ff90], a ; store Y coordinate adjusted for direction of movement - - ld a, [hli] ; a = [$c1i5] (delta X) (-1, 0, or 1) - call SetSpriteCollisionValues - ld a, [hl] ; a = [$C1i6] (X screen coordinate) - -; The effect of the following 3 lines is to -; add 7 to a if moving east or -; subtract 7 from a if moving west. - add b - and $f0 - or c - - ld [$ff91], a ; store X coordinate adjusted for direction of movement - - ld a, l - add 7 - ld l, a - - xor a - ld [hld], a ; zero [$c1id] XXX what's [$c1id] for? - ld [hld], a ; zero [$c1ic] (directions in which collisions occurred) - - ld a, [$ff91] - ld [hld], a ; [$c1ib] = adjusted X coordinate - ld a, [$ff90] - ld [hl], a ; [$c1ia] = adjusted Y coordinate - - xor a ; zero the loop counter - -.loop - ld [$ff8f], a ; store loop counter - swap a - ld e, a - ld a, [H_CURRENTSPRITEOFFSET] - cp e ; does the loop sprite match the current sprite? - jp z, .next ; go to the next sprite if they match - - ld d, h - ld a, [de] ; a = [$c1j0] (picture) (0 if slot is unused) - and a ; is this sprite slot slot used? - jp z, .next ; go the next sprite if not used - - inc e - inc e - ld a, [de] ; a = [$c1j2] ($ff means the sprite is offscreen) - inc a - jp z, .next ; go the next sprite if offscreen - - ld a, [H_CURRENTSPRITEOFFSET] - add 10 - ld l, a - - inc e - ld a, [de] ; a = [$c1j3] (delta Y) - call SetSpriteCollisionValues - - inc e - ld a, [de] ; a = [$C1j4] (Y screen coordinate) - add 4 ; align with multiple of $10 - -; The effect of the following 3 lines is to -; add 7 to a if moving south or -; subtract 7 from a if moving north. - add b - and $f0 - or c - - sub [hl] ; subtract the adjusted Y coordinate of sprite i ([$c1ia]) from that of sprite j - -; calculate the absolute value of the difference to get the distance - jr nc, .noCarry1 - cpl - inc a -.noCarry1 - ld [$ff90], a ; store the distance between the two sprites' adjusted Y values - -; Use the carry flag set by the above subtraction to determine which sprite's -; Y coordinate is larger. This information is used later to set [$c1ic], -; which stores which direction the collision occurred in. -; The following 5 lines set the lowest 2 bits of c, which are later shifted left by 2. -; If sprite i's Y is larger, set lowest 2 bits of c to 10. -; If sprite j's Y is larger or both are equal, set lowest 2 bits of c to 01. - push af - rl c - pop af - ccf - rl c - -; If sprite i's delta Y is 0, then b = 7, else b = 9. - ld b, 7 - ld a, [hl] ; a = [$c1ia] (adjusted Y coordinate) - and $f - jr z, .next1 - ld b, 9 - -.next1 - ld a, [$ff90] ; a = distance between adjusted Y coordinates - sub b - ld [$ff92], a ; store distance adjusted using sprite i's direction - ld a, b - ld [$ff90], a ; store 7 or 9 depending on sprite i's delta Y - jr c, .checkXDistance - -; If sprite j's delta Y is 0, then b = 7, else b = 9. - ld b, 7 - dec e - ld a, [de] ; a = [$c1j3] (delta Y) - inc e - and a - jr z, .next2 - ld b, 9 - -.next2 - ld a, [$ff92] ; a = distance adjusted using sprite i's direction - sub b ; adjust distance using sprite j's direction - jr z, .checkXDistance - jr nc, .next ; go to next sprite if distance is still positive after both adjustments - -.checkXDistance - inc e - inc l - ld a, [de] ; a = [$c1j5] (delta X) - - push bc - - call SetSpriteCollisionValues - inc e - ld a, [de] ; a = [$c1j6] (X screen coordinate) - -; The effect of the following 3 lines is to -; add 7 to a if moving east or -; subtract 7 from a if moving west. - add b - and $f0 - or c - - pop bc - - sub [hl] ; subtract the adjusted X coordinate of sprite i ([$c1ib]) from that of sprite j - -; calculate the absolute value of the difference to get the distance - jr nc, .noCarry2 - cpl - inc a -.noCarry2 - ld [$ff91], a ; store the distance between the two sprites' adjusted X values - -; Use the carry flag set by the above subtraction to determine which sprite's -; X coordinate is larger. This information is used later to set [$c1ic], -; which stores which direction the collision occurred in. -; The following 5 lines set the lowest 2 bits of c. -; If sprite i's X is larger, set lowest 2 bits of c to 10. -; If sprite j's X is larger or both are equal, set lowest 2 bits of c to 01. - push af - rl c - pop af - ccf - rl c - -; If sprite i's delta X is 0, then b = 7, else b = 9. - ld b, 7 - ld a, [hl] ; a = [$c1ib] (adjusted X coordinate) - and $f - jr z, .next3 - ld b, 9 - -.next3 - ld a, [$ff91] ; a = distance between adjusted X coordinates - sub b - ld [$ff92], a ; store distance adjusted using sprite i's direction - ld a, b - ld [$ff91], a ; store 7 or 9 depending on sprite i's delta X - jr c, .collision - -; If sprite j's delta X is 0, then b = 7, else b = 9. - ld b, 7 - dec e - ld a, [de] ; a = [$c1j5] (delta X) - inc e - and a - jr z, .next4 - ld b, 9 - -.next4 - ld a, [$ff92] ; a = distance adjusted using sprite i's direction - sub b ; adjust distance using sprite j's direction - jr z, .collision - jr nc, .next ; go to next sprite if distance is still positive after both adjustments - -.collision - ld a, [$ff91] ; a = 7 or 9 depending on sprite i's delta X - ld b, a - ld a, [$ff90] ; a = 7 or 9 depending on sprite i's delta Y - inc l - -; If delta X isn't 0 and delta Y is 0, then b = %0011, else b = %1100. -; (note that normally if delta X isn't 0, then delta Y must be 0 and vice versa) - cp b - jr c, .next5 - ld b, %1100 - jr .next6 -.next5 - ld b, %0011 - -.next6 - ld a, c ; c has 2 bits set (one of bits 0-1 is set for the X axis and one of bits 2-3 for the Y axis) - and b ; we select either the bit in bits 0-1 or bits 2-3 based on the calculation immediately above - or [hl] ; or with existing collision direction bits in [$c1ic] - ld [hl], a ; store new value - ld a, c ; useless code because a is overwritten before being used again - -; set bit in [$c1ie] or [$c1if] to indicate which sprite the collision occurred with - inc l - inc l - ld a, [$ff8f] ; a = loop counter - ld de, SpriteCollisionBitTable - add a - add e - ld e, a - jr nc, .noCarry3 - inc d -.noCarry3 - ld a, [de] - or [hl] - ld [hli], a - inc de - ld a, [de] - or [hl] - ld [hl], a - -.next - ld a, [$ff8f] ; a = loop counter - inc a - cp $10 - jp nz, .loop - ret - -; takes delta X or delta Y in a -; b = delta X/Y -; c = 0 if delta X/Y is 0 -; c = 7 if delta X/Y is 1 -; c = 9 if delta X/Y is -1 -SetSpriteCollisionValues: - and a - ld b, 0 - ld c, 0 - jr z, .done - ld c, 9 - cp -1 - jr z, .ok - ld c, 7 - ld a, 0 -.ok - ld b, a -.done - ret - -SpriteCollisionBitTable: - db %00000000,%00000001 - db %00000000,%00000010 - db %00000000,%00000100 - db %00000000,%00001000 - db %00000000,%00010000 - db %00000000,%00100000 - db %00000000,%01000000 - db %00000000,%10000000 - db %00000001,%00000000 - db %00000010,%00000000 - db %00000100,%00000000 - db %00001000,%00000000 - db %00010000,%00000000 - db %00100000,%00000000 - db %01000000,%00000000 - db %10000000,%00000000 diff --git a/engine/overworld/npc_movement.asm b/engine/overworld/npc_movement.asm deleted file mode 100755 index e478c9ad..00000000 --- a/engine/overworld/npc_movement.asm +++ /dev/null @@ -1,292 +0,0 @@ -PlayerStepOutFromDoor:: - ld hl, wd730 - res 1, [hl] - call IsPlayerStandingOnDoorTile - jr nc, .notStandingOnDoor - ld a, $fc - ld [wJoyIgnore], a - ld hl, wd736 - set 1, [hl] - ld a, $1 - ld [wSimulatedJoypadStatesIndex], a - ld a, D_DOWN - ld [wSimulatedJoypadStatesEnd], a - xor a - ld [wSpriteStateData1 + 2], a - call StartSimulatingJoypadStates - ret -.notStandingOnDoor - xor a - ld [wWastedByteCD3A], a - ld [wSimulatedJoypadStatesIndex], a - ld [wSimulatedJoypadStatesEnd], a - ld hl, wd736 - res 0, [hl] - res 1, [hl] - ld hl, wd730 - res 7, [hl] - ret - -_EndNPCMovementScript:: - ld hl, wd730 - res 7, [hl] - ld hl, wd72e - res 7, [hl] - ld hl, wd736 - res 0, [hl] - res 1, [hl] - xor a - ld [wNPCMovementScriptSpriteOffset], a - ld [wNPCMovementScriptPointerTableNum], a - ld [wNPCMovementScriptFunctionNum], a - ld [wWastedByteCD3A], a - ld [wSimulatedJoypadStatesIndex], a - ld [wSimulatedJoypadStatesEnd], a - ret - -PalletMovementScriptPointerTable:: - dw PalletMovementScript_OakMoveLeft - dw PalletMovementScript_PlayerMoveLeft - dw PalletMovementScript_WaitAndWalkToLab - dw PalletMovementScript_WalkToLab - dw PalletMovementScript_Done - -PalletMovementScript_OakMoveLeft: - ld a, [wXCoord] - sub $a - ld [wNumStepsToTake], a - jr z, .playerOnLeftTile -; The player is on the right tile of the northern path out of Pallet Town and -; Prof. Oak is below. -; Make Prof. Oak step to the left. - ld b, 0 - ld c, a - ld hl, wNPCMovementDirections2 - ld a, NPC_MOVEMENT_LEFT - call FillMemory - ld [hl], $ff - ld a, [wSpriteIndex] - ld [H_SPRITEINDEX], a - ld de, wNPCMovementDirections2 - call MoveSprite - ld a, $1 - ld [wNPCMovementScriptFunctionNum], a - jr .done -; The player is on the left tile of the northern path out of Pallet Town and -; Prof. Oak is below. -; Prof. Oak is already where he needs to be. -.playerOnLeftTile - ld a, $3 - ld [wNPCMovementScriptFunctionNum], a -.done - ld hl, wFlags_D733 - set 1, [hl] - ld a, $fc - ld [wJoyIgnore], a - ret - -PalletMovementScript_PlayerMoveLeft: - ld a, [wd730] - bit 0, a ; is an NPC being moved by a script? - ret nz ; return if Oak is still moving - ld a, [wNumStepsToTake] - ld [wSimulatedJoypadStatesIndex], a - ld [hNPCMovementDirections2Index], a - predef ConvertNPCMovementDirectionsToJoypadMasks - call StartSimulatingJoypadStates - ld a, $2 - ld [wNPCMovementScriptFunctionNum], a - ret - -PalletMovementScript_WaitAndWalkToLab: - ld a, [wSimulatedJoypadStatesIndex] - and a ; is the player done moving left yet? - ret nz - -PalletMovementScript_WalkToLab: - xor a - ld [wOverrideSimulatedJoypadStatesMask], a - ld a, [wSpriteIndex] - swap a - ld [wNPCMovementScriptSpriteOffset], a - xor a - ld [wSpriteStateData2 + $06], a - ld hl, wSimulatedJoypadStatesEnd - ld de, RLEList_PlayerWalkToLab - call DecodeRLEList - dec a - ld [wSimulatedJoypadStatesIndex], a - ld hl, wNPCMovementDirections2 - ld de, RLEList_ProfOakWalkToLab - call DecodeRLEList - ld hl, wd72e - res 7, [hl] - ld hl, wd730 - set 7, [hl] - ld a, $4 - ld [wNPCMovementScriptFunctionNum], a - ret - -RLEList_ProfOakWalkToLab: - db NPC_MOVEMENT_DOWN, $05 - db NPC_MOVEMENT_LEFT, $01 - db NPC_MOVEMENT_DOWN, $05 - db NPC_MOVEMENT_RIGHT, $03 - db NPC_MOVEMENT_UP, $01 - db $E0, $01 ; stand still - db $FF - -RLEList_PlayerWalkToLab: - db D_UP, $02 - db D_RIGHT, $03 - db D_DOWN, $05 - db D_LEFT, $01 - db D_DOWN, $06 - db $FF - -PalletMovementScript_Done: - ld a, [wSimulatedJoypadStatesIndex] - and a - ret nz - ld a, HS_PALLET_TOWN_OAK - ld [wMissableObjectIndex], a - predef HideObject - ld hl, wd730 - res 7, [hl] - ld hl, wd72e - res 7, [hl] - jp EndNPCMovementScript - -PewterMuseumGuyMovementScriptPointerTable:: - dw PewterMovementScript_WalkToMuseum - dw PewterMovementScript_Done - -PewterMovementScript_WalkToMuseum: - ld a, BANK(Music_MuseumGuy) - ld [wAudioROMBank], a - ld [wAudioSavedROMBank], a - ld a, MUSIC_MUSEUM_GUY - ld [wNewSoundID], a - call PlaySound - ld a, [wSpriteIndex] - swap a - ld [wNPCMovementScriptSpriteOffset], a - call StartSimulatingJoypadStates - ld hl, wSimulatedJoypadStatesEnd - ld de, RLEList_PewterMuseumPlayer - call DecodeRLEList - dec a - ld [wSimulatedJoypadStatesIndex], a - xor a - ld [wWhichPewterGuy], a - predef PewterGuys - ld hl, wNPCMovementDirections2 - ld de, RLEList_PewterMuseumGuy - call DecodeRLEList - ld hl, wd72e - res 7, [hl] - ld a, $1 - ld [wNPCMovementScriptFunctionNum], a - ret - -RLEList_PewterMuseumPlayer: - db 0, $01 - db D_UP, $03 - db D_LEFT, $0D - db D_UP, $06 - db $FF - -RLEList_PewterMuseumGuy: - db NPC_MOVEMENT_UP, $06 - db NPC_MOVEMENT_LEFT, $0D - db NPC_MOVEMENT_UP, $03 - db NPC_MOVEMENT_LEFT, $01 - db $FF - -PewterMovementScript_Done: - ld a, [wSimulatedJoypadStatesIndex] - and a - ret nz - ld hl, wd730 - res 7, [hl] - ld hl, wd72e - res 7, [hl] - jp EndNPCMovementScript - -PewterGymGuyMovementScriptPointerTable:: - dw PewterMovementScript_WalkToGym - dw PewterMovementScript_Done - -PewterMovementScript_WalkToGym: - ld a, BANK(Music_MuseumGuy) - ld [wAudioROMBank], a - ld [wAudioSavedROMBank], a - ld a, MUSIC_MUSEUM_GUY - ld [wNewSoundID], a - call PlaySound - ld a, [wSpriteIndex] - swap a - ld [wNPCMovementScriptSpriteOffset], a - xor a - ld [wSpriteStateData2 + $06], a - ld hl, wSimulatedJoypadStatesEnd - ld de, RLEList_PewterGymPlayer - call DecodeRLEList - dec a - ld [wSimulatedJoypadStatesIndex], a - ld a, 1 - ld [wWhichPewterGuy], a - predef PewterGuys - ld hl, wNPCMovementDirections2 - ld de, RLEList_PewterGymGuy - call DecodeRLEList - ld hl, wd72e - res 7, [hl] - ld hl, wd730 - set 7, [hl] - ld a, $1 - ld [wNPCMovementScriptFunctionNum], a - ret - -RLEList_PewterGymPlayer: - db 0, $01 - db D_RIGHT, $02 - db D_DOWN, $05 - db D_LEFT, $0B - db D_UP, $05 - db D_LEFT, $0F - db $FF - -RLEList_PewterGymGuy: - db NPC_MOVEMENT_DOWN, $02 - db NPC_MOVEMENT_LEFT, $0F - db NPC_MOVEMENT_UP, $05 - db NPC_MOVEMENT_LEFT, $0B - db NPC_MOVEMENT_DOWN, $05 - db NPC_MOVEMENT_RIGHT, $03 - db $FF - -FreezeEnemyTrainerSprite:: - ld a, [wCurMap] - cp POKEMON_TOWER_7F - ret z ; the Rockets on Pokemon Tower 7F leave after battling, so don't freeze them - ld hl, RivalIDs - ld a, [wEngagedTrainerClass] - ld b, a -.loop - ld a, [hli] - cp $ff - jr z, .notRival - cp b - ret z ; the rival leaves after battling, so don't freeze him - jr .loop -.notRival - ld a, [wSpriteIndex] - ld [H_SPRITEINDEX], a - jp SetSpriteMovementBytesToFF - -RivalIDs: - db OPP_SONY1 - db OPP_SONY2 - db OPP_SONY3 - db $ff diff --git a/engine/overworld/oaks_aide.asm b/engine/overworld/oaks_aide.asm deleted file mode 100755 index f5068fda..00000000 --- a/engine/overworld/oaks_aide.asm +++ /dev/null @@ -1,71 +0,0 @@ -OaksAideScript: - ld hl, OaksAideHiText - call PrintText - call YesNoChoice - ld a, [wCurrentMenuItem] - and a - jr nz, .choseNo - ld hl, wPokedexOwned - ld b, wPokedexOwnedEnd - wPokedexOwned - call CountSetBits - ld a, [wNumSetBits] - ld [hOaksAideNumMonsOwned], a - ld b, a - ld a, [hOaksAideRequirement] - cp b - jr z, .giveItem - jr nc, .notEnoughOwnedMons -.giveItem - ld hl, OaksAideHereYouGoText - call PrintText - ld a, [hOaksAideRewardItem] - ld b, a - ld c, 1 - call GiveItem - jr nc, .bagFull - ld hl, OaksAideGotItemText - call PrintText - ld a, $1 - jr .done -.bagFull - ld hl, OaksAideNoRoomText - call PrintText - xor a - jr .done -.notEnoughOwnedMons - ld hl, OaksAideUhOhText - call PrintText - ld a, $80 - jr .done -.choseNo - ld hl, OaksAideComeBackText - call PrintText - ld a, $ff -.done - ld [hOaksAideResult], a - ret - -OaksAideHiText: - TX_FAR _OaksAideHiText - db "@" - -OaksAideUhOhText: - TX_FAR _OaksAideUhOhText - db "@" - -OaksAideComeBackText: - TX_FAR _OaksAideComeBackText - db "@" - -OaksAideHereYouGoText: - TX_FAR _OaksAideHereYouGoText - db "@" - -OaksAideGotItemText: - TX_FAR _OaksAideGotItemText - TX_SFX_ITEM_1 - db "@" - -OaksAideNoRoomText: - TX_FAR _OaksAideNoRoomText - db "@" diff --git a/engine/overworld/oam.asm b/engine/overworld/oam.asm deleted file mode 100644 index 68128413..00000000 --- a/engine/overworld/oam.asm +++ /dev/null @@ -1,189 +0,0 @@ -PrepareOAMData:: -; Determine OAM data for currently visible -; sprites and write it to wOAMBuffer. - - ld a, [wUpdateSpritesEnabled] - dec a - jr z, .updateEnabled - - cp -1 - ret nz - ld [wUpdateSpritesEnabled], a - jp HideSprites - -.updateEnabled - xor a - ld [hOAMBufferOffset], a - -.spriteLoop - ld [hSpriteOffset2], a - - ld d, wSpriteStateData1 / $100 - ld a, [hSpriteOffset2] - ld e, a - ld a, [de] ; c1x0 - and a - jp z, .nextSprite - - inc e - inc e - ld a, [de] ; c1x2 (facing/anim) - ld [wd5cd], a - cp $ff ; off-screen (don't draw) - jr nz, .visible - - call GetSpriteScreenXY - jr .nextSprite - -.visible - cp $a0 ; is the sprite unchanging like an item ball or boulder? - jr c, .usefacing - -; unchanging - and $f - add $10 ; skip to the second half of the table which doesn't account for facing direction - jr .next - -.usefacing - and $f - -.next - ld l, a - -; get sprite priority - push de - inc d - ld a, e - add $5 - ld e, a - ld a, [de] ; c2x7 - and $80 - ld [hSpritePriority], a ; temp store sprite priority - pop de - -; read the entry from the table - ld h, 0 - ld bc, SpriteFacingAndAnimationTable - add hl, hl - add hl, hl - add hl, bc - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - ld a, [hli] - ld h, [hl] - ld l, a - - call GetSpriteScreenXY - - ld a, [hOAMBufferOffset] - ld e, a - ld d, wOAMBuffer / $100 - -.tileLoop - ld a, [hSpriteScreenY] ; temp for sprite Y position - add $10 ; Y=16 is top of screen (Y=0 is invisible) - add [hl] ; add Y offset from table - ld [de], a ; write new sprite OAM Y position - inc hl - ld a, [hSpriteScreenX] ; temp for sprite X position - add $8 ; X=8 is left of screen (X=0 is invisible) - add [hl] ; add X offset from table - inc e - ld [de], a ; write new sprite OAM X position - inc e - ld a, [bc] ; read pattern number offset (accommodates orientation (offset 0,4 or 8) and animation (offset 0 or $80)) - inc bc - push bc - ld b, a - - ld a, [wd5cd] ; temp copy of c1x2 - swap a ; high nybble determines sprite used (0 is always player sprite, next are some npcs) - and $f - - ; Sprites $a and $b have one face (and therefore 4 tiles instead of 12). - ; As a result, sprite $b's tile offset is less than normal. - cp $b - jr nz, .notFourTileSprite - ld a, $a * 12 + 4 - jr .next2 - -.notFourTileSprite - ; a *= 12 - sla a - sla a - ld c, a - sla a - add c - -.next2 - add b ; add the tile offset from the table (based on frame and facing direction) - pop bc - ld [de], a ; tile id - inc hl - inc e - ld a, [hl] - bit 1, a ; is the tile allowed to set the sprite priority bit? - jr z, .skipPriority - ld a, [hSpritePriority] - or [hl] -.skipPriority - inc hl - ld [de], a - inc e - bit 0, a ; OAMFLAG_ENDOFDATA - jr z, .tileLoop - - ld a, e - ld [hOAMBufferOffset], a - -.nextSprite - ld a, [hSpriteOffset2] - add $10 - cp $100 % $100 - jp nz, .spriteLoop - - ; Clear unused OAM. - ld a, [hOAMBufferOffset] - ld l, a - ld h, wOAMBuffer / $100 - ld de, $4 - ld b, $a0 - ld a, [wd736] - bit 6, a ; jumping down ledge or fishing animation? - ld a, $a0 - jr z, .clear - -; Don't clear the last 4 entries because they are used for the shadow in the -; jumping down ledge animation and the rod in the fishing animation. - ld a, $90 - -.clear - cp l - ret z - ld [hl], b - add hl, de - jr .clear - -GetSpriteScreenXY: - inc e - inc e - ld a, [de] ; c1x4 - ld [hSpriteScreenY], a - inc e - inc e - ld a, [de] ; c1x6 - ld [hSpriteScreenX], a - ld a, 4 - add e - ld e, a - ld a, [hSpriteScreenY] - add 4 - and $f0 - ld [de], a ; c1xa (y) - inc e - ld a, [hSpriteScreenX] - and $f0 - ld [de], a ; c1xb (x) - ret diff --git a/engine/overworld/pathfinding.asm b/engine/overworld/pathfinding.asm new file mode 100644 index 00000000..ba052d38 --- /dev/null +++ b/engine/overworld/pathfinding.asm @@ -0,0 +1,201 @@ +FindPathToPlayer: + xor a + ld hl, hFindPathNumSteps + ld [hli], a ; hFindPathNumSteps + ld [hli], a ; hFindPathFlags + ld [hli], a ; hFindPathYProgress + ld [hl], a ; hFindPathXProgress + ld hl, wNPCMovementDirections2 + ld de, $0 +.loop + ld a, [hFindPathYProgress] + ld b, a + ld a, [hNPCPlayerYDistance] ; Y distance in steps + call CalcDifference + ld d, a + and a + jr nz, .asm_f8da + ld a, [hFindPathFlags] + set 0, a ; current end of path matches the player's Y coordinate + ld [hFindPathFlags], a +.asm_f8da + ld a, [hFindPathXProgress] + ld b, a + ld a, [hNPCPlayerXDistance] ; X distance in steps + call CalcDifference + ld e, a + and a + jr nz, .asm_f8ec + ld a, [hFindPathFlags] + set 1, a ; current end of path matches the player's X coordinate + ld [hFindPathFlags], a +.asm_f8ec + ld a, [hFindPathFlags] + cp $3 ; has the end of the path reached the player's position? + jr z, .done +; Compare whether the X distance between the player and the current of the path +; is greater or if the Y distance is. Then, try to reduce whichever is greater. + ld a, e + cp d + jr c, .yDistanceGreater +; x distance is greater + ld a, [hNPCPlayerRelativePosFlags] + bit 1, a + jr nz, .playerIsLeftOfNPC + ld d, NPC_MOVEMENT_RIGHT + jr .next1 +.playerIsLeftOfNPC + ld d, NPC_MOVEMENT_LEFT +.next1 + ld a, [hFindPathXProgress] + add 1 + ld [hFindPathXProgress], a + jr .storeDirection +.yDistanceGreater + ld a, [hNPCPlayerRelativePosFlags] + bit 0, a + jr nz, .playerIsAboveNPC + ld d, NPC_MOVEMENT_DOWN + jr .next2 +.playerIsAboveNPC + ld d, NPC_MOVEMENT_UP +.next2 + ld a, [hFindPathYProgress] + add 1 + ld [hFindPathYProgress], a +.storeDirection + ld a, d + ld [hli], a + ld a, [hFindPathNumSteps] + inc a + ld [hFindPathNumSteps], a + jp .loop +.done + ld [hl], $ff + ret + +CalcPositionOfPlayerRelativeToNPC: + xor a + ld [hNPCPlayerRelativePosFlags], a + ld a, [wSpriteStateData1 + 4] ; player's sprite screen Y position in pixels + ld d, a + ld a, [wSpriteStateData1 + 6] ; player's sprite screen X position in pixels + ld e, a + ld hl, wSpriteStateData1 + ld a, [hNPCSpriteOffset] + add l + add $4 + ld l, a + jr nc, .noCarry + inc h +.noCarry + ld a, d + ld b, a + ld a, [hli] ; NPC sprite screen Y position in pixels + call CalcDifference + jr nc, .NPCSouthOfOrAlignedWithPlayer +.NPCNorthOfPlayer + push hl + ld hl, hNPCPlayerRelativePosFlags + bit 0, [hl] + set 0, [hl] + pop hl + jr .divideYDistance +.NPCSouthOfOrAlignedWithPlayer + push hl + ld hl, hNPCPlayerRelativePosFlags + bit 0, [hl] + res 0, [hl] + pop hl +.divideYDistance + push hl + ld hl, hDividend2 + ld [hli], a + ld a, 16 + ld [hli], a + call DivideBytes ; divide Y absolute distance by 16 + ld a, [hl] ; quotient + ld [hNPCPlayerYDistance], a + pop hl + inc hl + ld b, e + ld a, [hl] ; NPC sprite screen X position in pixels + call CalcDifference + jr nc, .NPCEastOfOrAlignedWithPlayer +.NPCWestOfPlayer + push hl + ld hl, hNPCPlayerRelativePosFlags + bit 1, [hl] + set 1, [hl] + pop hl + jr .divideXDistance +.NPCEastOfOrAlignedWithPlayer + push hl + ld hl, hNPCPlayerRelativePosFlags + bit 1, [hl] + res 1, [hl] + pop hl +.divideXDistance + ld [hDividend2], a + ld a, 16 + ld [hDivisor2], a + call DivideBytes ; divide X absolute distance by 16 + ld a, [hQuotient2] + ld [hNPCPlayerXDistance], a + ld a, [hNPCPlayerRelativePosPerspective] + and a + ret z + ld a, [hNPCPlayerRelativePosFlags] + cpl + and $3 + ld [hNPCPlayerRelativePosFlags], a + ret + +ConvertNPCMovementDirectionsToJoypadMasks: + ld a, [hNPCMovementDirections2Index] + ld [wNPCMovementDirections2Index], a + dec a + ld de, wSimulatedJoypadStatesEnd + ld hl, wNPCMovementDirections2 + add l + ld l, a + jr nc, .loop + inc h +.loop + ld a, [hld] + call ConvertNPCMovementDirectionToJoypadMask + ld [de], a + inc de + ld a, [hNPCMovementDirections2Index] + dec a + ld [hNPCMovementDirections2Index], a + jr nz, .loop + ret + +ConvertNPCMovementDirectionToJoypadMask: + push hl + ld b, a + ld hl, NPCMovementDirectionsToJoypadMasksTable +.loop + ld a, [hli] + cp $ff + jr z, .done + cp b + jr z, .loadJoypadMask + inc hl + jr .loop +.loadJoypadMask + ld a, [hl] +.done + pop hl + ret + +NPCMovementDirectionsToJoypadMasksTable: + db NPC_MOVEMENT_UP, D_UP + db NPC_MOVEMENT_DOWN, D_DOWN + db NPC_MOVEMENT_LEFT, D_LEFT + db NPC_MOVEMENT_RIGHT, D_RIGHT + db $ff + +; unreferenced + ret diff --git a/engine/overworld/pewter_guys.asm b/engine/overworld/pewter_guys.asm deleted file mode 100755 index 532fa4bf..00000000 --- a/engine/overworld/pewter_guys.asm +++ /dev/null @@ -1,102 +0,0 @@ -PewterGuys: - ld hl, wSimulatedJoypadStatesEnd - ld a, [wSimulatedJoypadStatesIndex] - dec a ; this decrement causes it to overwrite the last byte before $FF in the list - ld [wSimulatedJoypadStatesIndex], a - ld d, 0 - ld e, a - add hl, de - ld d, h - ld e, l - ld hl, PointerTable_37ce6 - ld a, [wWhichPewterGuy] - add a - ld b, 0 - ld c, a - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [wYCoord] - ld b, a - ld a, [wXCoord] - ld c, a -.findMatchingCoordsLoop - ld a, [hli] - cp b - jr nz, .nextEntry1 - ld a, [hli] - cp c - jr nz, .nextEntry2 - ld a, [hli] - ld h, [hl] - ld l, a -.copyMovementDataLoop - ld a, [hli] - cp $ff - ret z - ld [de], a - inc de - ld a, [wSimulatedJoypadStatesIndex] - inc a - ld [wSimulatedJoypadStatesIndex], a - jr .copyMovementDataLoop -.nextEntry1 - inc hl -.nextEntry2 - inc hl - inc hl - jr .findMatchingCoordsLoop - -PointerTable_37ce6: - dw PewterMuseumGuyCoords - dw PewterGymGuyCoords - -; these are the four coordinates of the spaces below, above, to the left and -; to the right of the museum guy, and pointers to different movements for -; the player to make to get positioned before the main movement. -PewterMuseumGuyCoords: - db 18, 27 - dw .down - db 16, 27 - dw .up - db 17, 26 - dw .left - db 17, 28 - dw .right - -.down - db D_UP, D_UP, $ff -.up - db D_RIGHT, D_LEFT, $ff -.left - db D_UP, D_RIGHT, $ff -.right - db D_UP, D_LEFT, $ff - -; these are the five coordinates which trigger the gym guy and pointers to -; different movements for the player to make to get positioned before the -; main movement -; $00 is a pause -PewterGymGuyCoords: - db 16, 34 - dw .one - db 17, 35 - dw .two - db 18, 37 - dw .three - db 19, 37 - dw .four - db 17, 36 - dw .five - -.one - db D_LEFT, D_DOWN, D_DOWN, D_RIGHT, $ff -.two - db D_LEFT, D_DOWN, D_RIGHT, D_LEFT, $ff -.three - db D_LEFT, D_LEFT, D_LEFT, $00, $00, $00, $00, $00, $00, $00, $00, $ff -.four - db D_LEFT, D_LEFT, D_UP, D_LEFT, $ff -.five - db D_LEFT, D_DOWN, D_LEFT, $00, $00, $00, $00, $00, $00, $00, $00, $ff diff --git a/engine/overworld/poison.asm b/engine/overworld/poison.asm deleted file mode 100644 index 5d8eb9fd..00000000 --- a/engine/overworld/poison.asm +++ /dev/null @@ -1,112 +0,0 @@ -ApplyOutOfBattlePoisonDamage: - ld a, [wd730] - add a - jp c, .noBlackOut ; no black out if joypad states are being simulated - ld a, [wPartyCount] - and a - jp z, .noBlackOut - call IncrementDayCareMonExp - ld a, [wStepCounter] - and $3 ; is the counter a multiple of 4? - jp nz, .noBlackOut ; only apply poison damage every fourth step - ld [wWhichPokemon], a - ld hl, wPartyMon1Status - ld de, wPartySpecies -.applyDamageLoop - ld a, [hl] - and (1 << PSN) - jr z, .nextMon2 ; not poisoned - dec hl - dec hl - ld a, [hld] - ld b, a - ld a, [hli] - or b - jr z, .nextMon ; already fainted -; subtract 1 from HP - ld a, [hl] - dec a - ld [hld], a - inc a - jr nz, .noBorrow -; borrow 1 from upper byte of HP - dec [hl] - inc hl - jr .nextMon -.noBorrow - ld a, [hli] - or [hl] - jr nz, .nextMon ; didn't faint from damage -; the mon fainted from the damage - push hl - inc hl - inc hl - ld [hl], a - ld a, [de] - ld [wd11e], a - push de - ld a, [wWhichPokemon] - ld hl, wPartyMonNicks - call GetPartyMonName - xor a - ld [wJoyIgnore], a - call EnableAutoTextBoxDrawing - ld a, TEXT_MON_FAINTED - ld [hSpriteIndexOrTextID], a - call DisplayTextID - pop de - pop hl -.nextMon - inc hl - inc hl -.nextMon2 - inc de - ld a, [de] - inc a - jr z, .applyDamageLoopDone - ld bc, wPartyMon2 - wPartyMon1 - add hl, bc - push hl - ld hl, wWhichPokemon - inc [hl] - pop hl - jr .applyDamageLoop -.applyDamageLoopDone - ld hl, wPartyMon1Status - ld a, [wPartyCount] - ld d, a - ld e, 0 -.countPoisonedLoop - ld a, [hl] - and (1 << PSN) - or e - ld e, a - ld bc, wPartyMon2 - wPartyMon1 - add hl, bc - dec d - jr nz, .countPoisonedLoop - ld a, e - and a ; are any party members poisoned? - jr z, .skipPoisonEffectAndSound - ld b, $2 - predef ChangeBGPalColor0_4Frames ; change BG white to dark grey for 4 frames - ld a, SFX_POISONED - call PlaySound -.skipPoisonEffectAndSound - predef AnyPartyAlive - ld a, d - and a - jr nz, .noBlackOut - call EnableAutoTextBoxDrawing - ld a, TEXT_BLACKED_OUT - ld [hSpriteIndexOrTextID], a - call DisplayTextID - ld hl, wd72e - set 5, [hl] - ld a, $ff - jr .done -.noBlackOut - xor a -.done - ld [wOutOfBattleBlackout], a - ret diff --git a/engine/overworld/pokecenter.asm b/engine/overworld/pokecenter.asm deleted file mode 100755 index f340e06d..00000000 --- a/engine/overworld/pokecenter.asm +++ /dev/null @@ -1,68 +0,0 @@ -DisplayPokemonCenterDialogue_:: - call SaveScreenTilesToBuffer1 ; save screen - ld hl, PokemonCenterWelcomeText - call PrintText - ld hl, wd72e - bit 2, [hl] - set 1, [hl] - set 2, [hl] - jr nz, .skipShallWeHealYourPokemon - ld hl, ShallWeHealYourPokemonText - call PrintText -.skipShallWeHealYourPokemon - call YesNoChoicePokeCenter ; yes/no menu - ld a, [wCurrentMenuItem] - and a - jr nz, .declinedHealing ; if the player chose No - call SetLastBlackoutMap - call LoadScreenTilesFromBuffer1 ; restore screen - ld hl, NeedYourPokemonText - call PrintText - ld a, $18 - ld [wSpriteStateData1 + $12], a ; make the nurse turn to face the machine - call Delay3 - predef HealParty - callba AnimateHealingMachine ; do the healing machine animation - xor a - ld [wAudioFadeOutControl], a - ld a, [wAudioSavedROMBank] - ld [wAudioROMBank], a - ld a, [wMapMusicSoundID] - ld [wLastMusicSoundID], a - ld [wNewSoundID], a - call PlaySound - ld hl, PokemonFightingFitText - call PrintText - ld a, $14 - ld [wSpriteStateData1 + $12], a ; make the nurse bow - ld c, a - call DelayFrames - jr .done -.declinedHealing - call LoadScreenTilesFromBuffer1 ; restore screen -.done - ld hl, PokemonCenterFarewellText - call PrintText - jp UpdateSprites - -PokemonCenterWelcomeText: - TX_FAR _PokemonCenterWelcomeText - db "@" - -ShallWeHealYourPokemonText: - TX_DELAY - TX_FAR _ShallWeHealYourPokemonText - db "@" - -NeedYourPokemonText: - TX_FAR _NeedYourPokemonText - db "@" - -PokemonFightingFitText: - TX_FAR _PokemonFightingFitText - db "@" - -PokemonCenterFarewellText: - TX_DELAY - TX_FAR _PokemonCenterFarewellText - db "@" diff --git a/engine/overworld/pokemart.asm b/engine/overworld/pokemart.asm deleted file mode 100755 index 177e8a09..00000000 --- a/engine/overworld/pokemart.asm +++ /dev/null @@ -1,272 +0,0 @@ -DisplayPokemartDialogue_:: - ld a, [wListScrollOffset] - ld [wSavedListScrollOffset], a - call UpdateSprites - xor a - ld [wBoughtOrSoldItemInMart], a -.loop - xor a - ld [wListScrollOffset], a - ld [wCurrentMenuItem], a - ld [wPlayerMonNumber], a - inc a - ld [wPrintItemPrices], a - ld a, MONEY_BOX - ld [wTextBoxID], a - call DisplayTextBoxID - ld a, BUY_SELL_QUIT_MENU - ld [wTextBoxID], a - call DisplayTextBoxID - -; This code is useless. It copies the address of the pokemart's inventory to hl, -; but the address is never used. - ld hl, wItemListPointer - ld a, [hli] - ld l, [hl] - ld h, a - - ld a, [wMenuExitMethod] - cp CANCELLED_MENU - jp z, .done - ld a, [wChosenMenuItem] - and a ; buying? - jp z, .buyMenu - dec a ; selling? - jp z, .sellMenu - dec a ; quitting? - jp z, .done -.sellMenu - -; the same variables are set again below, so this code has no effect - xor a - ld [wPrintItemPrices], a - ld a, INIT_BAG_ITEM_LIST - ld [wInitListType], a - callab InitList - - ld a, [wNumBagItems] - and a - jp z, .bagEmpty - ld hl, PokemonSellingGreetingText - call PrintText - call SaveScreenTilesToBuffer1 ; save screen -.sellMenuLoop - call LoadScreenTilesFromBuffer1 ; restore saved screen - ld a, MONEY_BOX - ld [wTextBoxID], a - call DisplayTextBoxID ; draw money text box - ld hl, wNumBagItems - ld a, l - ld [wListPointer], a - ld a, h - ld [wListPointer + 1], a - xor a - ld [wPrintItemPrices], a - ld [wCurrentMenuItem], a - ld a, ITEMLISTMENU - ld [wListMenuID], a - call DisplayListMenuID - jp c, .returnToMainPokemartMenu ; if the player closed the menu -.confirmItemSale ; if the player is trying to sell a specific item - call IsKeyItem - ld a, [wIsKeyItem] - and a - jr nz, .unsellableItem - ld a, [wcf91] - call IsItemHM - jr c, .unsellableItem - ld a, PRICEDITEMLISTMENU - ld [wListMenuID], a - ld [hHalveItemPrices], a ; halve prices when selling - call DisplayChooseQuantityMenu - inc a - jr z, .sellMenuLoop ; if the player closed the choose quantity menu with the B button - ld hl, PokemartTellSellPriceText - lb bc, 14, 1 ; location that PrintText always prints to, this is useless - call PrintText - coord hl, 14, 7 - lb bc, 8, 15 - ld a, TWO_OPTION_MENU - ld [wTextBoxID], a - call DisplayTextBoxID ; yes/no menu - ld a, [wMenuExitMethod] - cp CHOSE_SECOND_ITEM - jr z, .sellMenuLoop ; if the player chose No or pressed the B button - -; The following code is supposed to check if the player chose No, but the above -; check already catches it. - ld a, [wChosenMenuItem] - dec a - jr z, .sellMenuLoop - -.sellItem - ld a, [wBoughtOrSoldItemInMart] - and a - jr nz, .skipSettingFlag1 - inc a - ld [wBoughtOrSoldItemInMart], a -.skipSettingFlag1 - call AddAmountSoldToMoney - ld hl, wNumBagItems - call RemoveItemFromInventory - jp .sellMenuLoop -.unsellableItem - ld hl, PokemartUnsellableItemText - call PrintText - jp .returnToMainPokemartMenu -.bagEmpty - ld hl, PokemartItemBagEmptyText - call PrintText - call SaveScreenTilesToBuffer1 - jp .returnToMainPokemartMenu -.buyMenu - -; the same variables are set again below, so this code has no effect - ld a, 1 - ld [wPrintItemPrices], a - ld a, INIT_OTHER_ITEM_LIST - ld [wInitListType], a - callab InitList - - ld hl, PokemartBuyingGreetingText - call PrintText - call SaveScreenTilesToBuffer1 -.buyMenuLoop - call LoadScreenTilesFromBuffer1 - ld a, MONEY_BOX - ld [wTextBoxID], a - call DisplayTextBoxID - ld hl, wItemList - ld a, l - ld [wListPointer], a - ld a, h - ld [wListPointer + 1], a - xor a - ld [wCurrentMenuItem], a - inc a - ld [wPrintItemPrices], a - inc a ; a = 2 (PRICEDITEMLISTMENU) - ld [wListMenuID], a - call DisplayListMenuID - jr c, .returnToMainPokemartMenu ; if the player closed the menu - ld a, 99 - ld [wMaxItemQuantity], a - xor a - ld [hHalveItemPrices], a ; don't halve item prices when buying - call DisplayChooseQuantityMenu - inc a - jr z, .buyMenuLoop ; if the player closed the choose quantity menu with the B button - ld a, [wcf91] ; item ID - ld [wd11e], a ; store item ID for GetItemName - call GetItemName - call CopyStringToCF4B ; copy name to wcf4b - ld hl, PokemartTellBuyPriceText - call PrintText - coord hl, 14, 7 - lb bc, 8, 15 - ld a, TWO_OPTION_MENU - ld [wTextBoxID], a - call DisplayTextBoxID ; yes/no menu - ld a, [wMenuExitMethod] - cp CHOSE_SECOND_ITEM - jp z, .buyMenuLoop ; if the player chose No or pressed the B button - -; The following code is supposed to check if the player chose No, but the above -; check already catches it. - ld a, [wChosenMenuItem] - dec a - jr z, .buyMenuLoop - -.buyItem - call .isThereEnoughMoney - jr c, .notEnoughMoney - ld hl, wNumBagItems - call AddItemToInventory - jr nc, .bagFull - call SubtractAmountPaidFromMoney - ld a, [wBoughtOrSoldItemInMart] - and a - jr nz, .skipSettingFlag2 - ld a, 1 - ld [wBoughtOrSoldItemInMart], a -.skipSettingFlag2 - ld a, SFX_PURCHASE - call PlaySoundWaitForCurrent - call WaitForSoundToFinish - ld hl, PokemartBoughtItemText - call PrintText - jp .buyMenuLoop -.returnToMainPokemartMenu - call LoadScreenTilesFromBuffer1 - ld a, MONEY_BOX - ld [wTextBoxID], a - call DisplayTextBoxID - ld hl, PokemartAnythingElseText - call PrintText - jp .loop -.isThereEnoughMoney - ld de, wPlayerMoney - ld hl, hMoney - ld c, 3 ; length of money in bytes - jp StringCmp -.notEnoughMoney - ld hl, PokemartNotEnoughMoneyText - call PrintText - jr .returnToMainPokemartMenu -.bagFull - ld hl, PokemartItemBagFullText - call PrintText - jr .returnToMainPokemartMenu -.done - ld hl, PokemartThankYouText - call PrintText - ld a, 1 - ld [wUpdateSpritesEnabled], a - call UpdateSprites - ld a, [wSavedListScrollOffset] - ld [wListScrollOffset], a - ret - -PokemartBuyingGreetingText: - TX_FAR _PokemartBuyingGreetingText - db "@" - -PokemartTellBuyPriceText: - TX_FAR _PokemartTellBuyPriceText - db "@" - -PokemartBoughtItemText: - TX_FAR _PokemartBoughtItemText - db "@" - -PokemartNotEnoughMoneyText: - TX_FAR _PokemartNotEnoughMoneyText - db "@" - -PokemartItemBagFullText: - TX_FAR _PokemartItemBagFullText - db "@" - -PokemonSellingGreetingText: - TX_FAR _PokemonSellingGreetingText - db "@" - -PokemartTellSellPriceText: - TX_FAR _PokemartTellSellPriceText - db "@" - -PokemartItemBagEmptyText: - TX_FAR _PokemartItemBagEmptyText - db "@" - -PokemartUnsellableItemText: - TX_FAR _PokemartUnsellableItemText - db "@" - -PokemartThankYouText: - TX_FAR _PokemartThankYouText - db "@" - -PokemartAnythingElseText: - TX_FAR _PokemartAnythingElseText - db "@" diff --git a/engine/overworld/saffron_guards.asm b/engine/overworld/saffron_guards.asm deleted file mode 100755 index 091cfa1a..00000000 --- a/engine/overworld/saffron_guards.asm +++ /dev/null @@ -1,15 +0,0 @@ -RemoveGuardDrink:: - ld hl, GuardDrinksList -.drinkLoop - ld a, [hli] - ld [$ffdb], a - and a - ret z - push hl - ld b, a - call IsItemInBag - pop hl - jr z, .drinkLoop - jpba RemoveItemByID - -INCLUDE "data/guard_drink_items.asm" diff --git a/engine/overworld/set_blackout_map.asm b/engine/overworld/set_blackout_map.asm deleted file mode 100644 index 14f0ba28..00000000 --- a/engine/overworld/set_blackout_map.asm +++ /dev/null @@ -1,25 +0,0 @@ -SetLastBlackoutMap: -; Set the map to return to when -; blacking out or using Teleport or Dig. -; Safari rest houses don't count. - - push hl - ld hl, SafariZoneRestHouses - ld a, [wCurMap] - ld b, a -.loop - ld a, [hli] - cp -1 - jr z, .notresthouse - cp b - jr nz, .loop - jr .done - -.notresthouse - ld a, [wLastMap] - ld [wLastBlackoutMap], a -.done - pop hl - ret - -INCLUDE "data/rest_house_maps.asm" diff --git a/engine/overworld/special_warps.asm b/engine/overworld/special_warps.asm new file mode 100644 index 00000000..eee85402 --- /dev/null +++ b/engine/overworld/special_warps.asm @@ -0,0 +1,149 @@ +SpecialWarpIn:: + call LoadSpecialWarpData + predef LoadTilesetHeader + ld hl, wd732 + bit 2, [hl] ; dungeon warp or fly warp? + res 2, [hl] + jr z, .next +; if dungeon warp or fly warp + ld a, [wDestinationMap] + jr .next2 +.next + bit 1, [hl] + jr z, .next3 + call EmptyFunc +.next3 + ld a, 0 +.next2 + ld b, a + ld a, [wd72d] + and a + jr nz, .next4 + ld a, b +.next4 + ld hl, wd732 + bit 4, [hl] ; dungeon warp? + ret nz +; if not dungeon warp + ld [wLastMap], a + ret + +; gets the map ID, tile block map view pointer, tileset, and coordinates +LoadSpecialWarpData: + ld a, [wd72d] + cp TRADE_CENTER + jr nz, .notTradeCenter + ld hl, TradeCenterSpec1 + ld a, [hSerialConnectionStatus] + cp USING_INTERNAL_CLOCK ; which gameboy is clocking determines who is on the left and who is on the right + jr z, .copyWarpData + ld hl, TradeCenterSpec2 + jr .copyWarpData +.notTradeCenter + cp COLOSSEUM + jr nz, .notColosseum + ld hl, ColosseumSpec1 + ld a, [hSerialConnectionStatus] + cp USING_INTERNAL_CLOCK + jr z, .copyWarpData + ld hl, ColosseumSpec2 + jr .copyWarpData +.notColosseum + ld a, [wd732] + bit 1, a + jr nz, .notFirstMap + bit 2, a + jr nz, .notFirstMap + ld hl, FirstMapSpec +.copyWarpData + ld de, wCurMap + ld c, $7 +.copyWarpDataLoop + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .copyWarpDataLoop + ld a, [hli] + ld [wCurMapTileset], a + xor a + jr .done +.notFirstMap + ld a, [wLastMap] ; this value is overwritten before it's ever read + ld hl, wd732 + bit 4, [hl] ; used dungeon warp (jumped down hole/waterfall)? + jr nz, .usedDunegonWarp + bit 6, [hl] ; return to last pokemon center (or player's house)? + res 6, [hl] + jr z, .otherDestination +; return to last pokemon center or player's house + ld a, [wLastBlackoutMap] + jr .usedFlyWarp +.usedDunegonWarp + ld hl, wd72d + res 4, [hl] + ld a, [wDungeonWarpDestinationMap] + ld b, a + ld [wCurMap], a + ld a, [wWhichDungeonWarp] + ld c, a + ld hl, DungeonWarpList + ld de, 0 + ld a, 6 + ld [wDungeonWarpDataEntrySize], a +.dungeonWarpListLoop + ld a, [hli] + cp b + jr z, .matchedDungeonWarpDestinationMap + inc hl + jr .nextDungeonWarp +.matchedDungeonWarpDestinationMap + ld a, [hli] + cp c + jr z, .matchedDungeonWarpID +.nextDungeonWarp + ld a, [wDungeonWarpDataEntrySize] + add e + ld e, a + jr .dungeonWarpListLoop +.matchedDungeonWarpID + ld hl, DungeonWarpData + add hl, de + jr .copyWarpData2 +.otherDestination + ld a, [wDestinationMap] +.usedFlyWarp + ld b, a + ld [wCurMap], a + ld hl, FlyWarpDataPtr +.flyWarpDataPtrLoop + ld a, [hli] + inc hl + cp b + jr z, .foundFlyWarpMatch + inc hl + inc hl + jr .flyWarpDataPtrLoop +.foundFlyWarpMatch + ld a, [hli] + ld h, [hl] + ld l, a +.copyWarpData2 + ld de, wCurrentTileBlockMapViewPointer + ld c, $6 +.copyWarpDataLoop2 + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .copyWarpDataLoop2 + xor a ; OVERWORLD + ld [wCurMapTileset], a +.done + ld [wYOffsetSinceLastSpecialWarp], a + ld [wXOffsetSinceLastSpecialWarp], a + ld a, $ff ; the player's coordinates have already been updated using a special warp, so don't use any of the normal warps + ld [wDestinationWarpID], a + ret + +INCLUDE "data/special_warps.asm" diff --git a/engine/overworld/sprite_collisions.asm b/engine/overworld/sprite_collisions.asm new file mode 100644 index 00000000..0e6b2d06 --- /dev/null +++ b/engine/overworld/sprite_collisions.asm @@ -0,0 +1,356 @@ +_UpdateSprites:: + ld h, $c1 + inc h + ld a, $e ; wSpriteStateData2 + $0e +.spriteLoop + ld l, a + sub $e + ld c, a + ld [H_CURRENTSPRITEOFFSET], a + ld a, [hl] + and a + jr z, .skipSprite ; tests $c2Xe + push hl + push de + push bc + call .updateCurrentSprite + pop bc + pop de + pop hl +.skipSprite + ld a, l + add $10 ; move to next sprite + cp $e ; test for overflow (back at $0e) + jr nz, .spriteLoop + ret +.updateCurrentSprite + cp $1 + jp nz, UpdateNonPlayerSprite + jp UpdatePlayerSprite + +UpdateNonPlayerSprite: + dec a + swap a + ld [$ff93], a ; $10 * sprite# + ld a, [wNPCMovementScriptSpriteOffset] ; some sprite offset? + ld b, a + ld a, [H_CURRENTSPRITEOFFSET] + cp b + jr nz, .unequal + jp DoScriptedNPCMovement +.unequal + jp UpdateNPCSprite + +; This detects if the current sprite (whose offset is at H_CURRENTSPRITEOFFSET) +; is going to collide with another sprite by looping over the other sprites. +; The current sprite's offset will be labelled with i (e.g. $c1i0). +; The loop sprite's offset will labelled with j (e.g. $c1j0). +; +; Note that the Y coordinate of the sprite (in [$c1k4]) is one of the following +; 9 values when the sprite is aligned with the grid: $fc, $0c, $1c, $2c, ..., $7c. +; The reason that 4 is added below to the coordinate is to make it align with a +; multiple of $10 to make comparisons easier. +DetectCollisionBetweenSprites: + nop + + ld h, wSpriteStateData1 / $100 + ld a, [H_CURRENTSPRITEOFFSET] + add wSpriteStateData1 % $100 + ld l, a + + ld a, [hl] ; a = [$c1i0] (picture) (0 if slot is unused) + and a ; is this sprite slot slot used? + ret z ; return if not used + + ld a, l + add 3 + ld l, a + + ld a, [hli] ; a = [$c1i3] (delta Y) (-1, 0, or 1) + call SetSpriteCollisionValues + + ld a, [hli] ; a = [$C1i4] (Y screen coordinate) + add 4 ; align with multiple of $10 + +; The effect of the following 3 lines is to +; add 7 to a if moving south or +; subtract 7 from a if moving north. + add b + and $f0 + or c + + ld [$ff90], a ; store Y coordinate adjusted for direction of movement + + ld a, [hli] ; a = [$c1i5] (delta X) (-1, 0, or 1) + call SetSpriteCollisionValues + ld a, [hl] ; a = [$C1i6] (X screen coordinate) + +; The effect of the following 3 lines is to +; add 7 to a if moving east or +; subtract 7 from a if moving west. + add b + and $f0 + or c + + ld [$ff91], a ; store X coordinate adjusted for direction of movement + + ld a, l + add 7 + ld l, a + + xor a + ld [hld], a ; zero [$c1id] XXX what's [$c1id] for? + ld [hld], a ; zero [$c1ic] (directions in which collisions occurred) + + ld a, [$ff91] + ld [hld], a ; [$c1ib] = adjusted X coordinate + ld a, [$ff90] + ld [hl], a ; [$c1ia] = adjusted Y coordinate + + xor a ; zero the loop counter + +.loop + ld [$ff8f], a ; store loop counter + swap a + ld e, a + ld a, [H_CURRENTSPRITEOFFSET] + cp e ; does the loop sprite match the current sprite? + jp z, .next ; go to the next sprite if they match + + ld d, h + ld a, [de] ; a = [$c1j0] (picture) (0 if slot is unused) + and a ; is this sprite slot slot used? + jp z, .next ; go the next sprite if not used + + inc e + inc e + ld a, [de] ; a = [$c1j2] ($ff means the sprite is offscreen) + inc a + jp z, .next ; go the next sprite if offscreen + + ld a, [H_CURRENTSPRITEOFFSET] + add 10 + ld l, a + + inc e + ld a, [de] ; a = [$c1j3] (delta Y) + call SetSpriteCollisionValues + + inc e + ld a, [de] ; a = [$C1j4] (Y screen coordinate) + add 4 ; align with multiple of $10 + +; The effect of the following 3 lines is to +; add 7 to a if moving south or +; subtract 7 from a if moving north. + add b + and $f0 + or c + + sub [hl] ; subtract the adjusted Y coordinate of sprite i ([$c1ia]) from that of sprite j + +; calculate the absolute value of the difference to get the distance + jr nc, .noCarry1 + cpl + inc a +.noCarry1 + ld [$ff90], a ; store the distance between the two sprites' adjusted Y values + +; Use the carry flag set by the above subtraction to determine which sprite's +; Y coordinate is larger. This information is used later to set [$c1ic], +; which stores which direction the collision occurred in. +; The following 5 lines set the lowest 2 bits of c, which are later shifted left by 2. +; If sprite i's Y is larger, set lowest 2 bits of c to 10. +; If sprite j's Y is larger or both are equal, set lowest 2 bits of c to 01. + push af + rl c + pop af + ccf + rl c + +; If sprite i's delta Y is 0, then b = 7, else b = 9. + ld b, 7 + ld a, [hl] ; a = [$c1ia] (adjusted Y coordinate) + and $f + jr z, .next1 + ld b, 9 + +.next1 + ld a, [$ff90] ; a = distance between adjusted Y coordinates + sub b + ld [$ff92], a ; store distance adjusted using sprite i's direction + ld a, b + ld [$ff90], a ; store 7 or 9 depending on sprite i's delta Y + jr c, .checkXDistance + +; If sprite j's delta Y is 0, then b = 7, else b = 9. + ld b, 7 + dec e + ld a, [de] ; a = [$c1j3] (delta Y) + inc e + and a + jr z, .next2 + ld b, 9 + +.next2 + ld a, [$ff92] ; a = distance adjusted using sprite i's direction + sub b ; adjust distance using sprite j's direction + jr z, .checkXDistance + jr nc, .next ; go to next sprite if distance is still positive after both adjustments + +.checkXDistance + inc e + inc l + ld a, [de] ; a = [$c1j5] (delta X) + + push bc + + call SetSpriteCollisionValues + inc e + ld a, [de] ; a = [$c1j6] (X screen coordinate) + +; The effect of the following 3 lines is to +; add 7 to a if moving east or +; subtract 7 from a if moving west. + add b + and $f0 + or c + + pop bc + + sub [hl] ; subtract the adjusted X coordinate of sprite i ([$c1ib]) from that of sprite j + +; calculate the absolute value of the difference to get the distance + jr nc, .noCarry2 + cpl + inc a +.noCarry2 + ld [$ff91], a ; store the distance between the two sprites' adjusted X values + +; Use the carry flag set by the above subtraction to determine which sprite's +; X coordinate is larger. This information is used later to set [$c1ic], +; which stores which direction the collision occurred in. +; The following 5 lines set the lowest 2 bits of c. +; If sprite i's X is larger, set lowest 2 bits of c to 10. +; If sprite j's X is larger or both are equal, set lowest 2 bits of c to 01. + push af + rl c + pop af + ccf + rl c + +; If sprite i's delta X is 0, then b = 7, else b = 9. + ld b, 7 + ld a, [hl] ; a = [$c1ib] (adjusted X coordinate) + and $f + jr z, .next3 + ld b, 9 + +.next3 + ld a, [$ff91] ; a = distance between adjusted X coordinates + sub b + ld [$ff92], a ; store distance adjusted using sprite i's direction + ld a, b + ld [$ff91], a ; store 7 or 9 depending on sprite i's delta X + jr c, .collision + +; If sprite j's delta X is 0, then b = 7, else b = 9. + ld b, 7 + dec e + ld a, [de] ; a = [$c1j5] (delta X) + inc e + and a + jr z, .next4 + ld b, 9 + +.next4 + ld a, [$ff92] ; a = distance adjusted using sprite i's direction + sub b ; adjust distance using sprite j's direction + jr z, .collision + jr nc, .next ; go to next sprite if distance is still positive after both adjustments + +.collision + ld a, [$ff91] ; a = 7 or 9 depending on sprite i's delta X + ld b, a + ld a, [$ff90] ; a = 7 or 9 depending on sprite i's delta Y + inc l + +; If delta X isn't 0 and delta Y is 0, then b = %0011, else b = %1100. +; (note that normally if delta X isn't 0, then delta Y must be 0 and vice versa) + cp b + jr c, .next5 + ld b, %1100 + jr .next6 +.next5 + ld b, %0011 + +.next6 + ld a, c ; c has 2 bits set (one of bits 0-1 is set for the X axis and one of bits 2-3 for the Y axis) + and b ; we select either the bit in bits 0-1 or bits 2-3 based on the calculation immediately above + or [hl] ; or with existing collision direction bits in [$c1ic] + ld [hl], a ; store new value + ld a, c ; useless code because a is overwritten before being used again + +; set bit in [$c1ie] or [$c1if] to indicate which sprite the collision occurred with + inc l + inc l + ld a, [$ff8f] ; a = loop counter + ld de, SpriteCollisionBitTable + add a + add e + ld e, a + jr nc, .noCarry3 + inc d +.noCarry3 + ld a, [de] + or [hl] + ld [hli], a + inc de + ld a, [de] + or [hl] + ld [hl], a + +.next + ld a, [$ff8f] ; a = loop counter + inc a + cp $10 + jp nz, .loop + ret + +; takes delta X or delta Y in a +; b = delta X/Y +; c = 0 if delta X/Y is 0 +; c = 7 if delta X/Y is 1 +; c = 9 if delta X/Y is -1 +SetSpriteCollisionValues: + and a + ld b, 0 + ld c, 0 + jr z, .done + ld c, 9 + cp -1 + jr z, .ok + ld c, 7 + ld a, 0 +.ok + ld b, a +.done + ret + +SpriteCollisionBitTable: + db %00000000,%00000001 + db %00000000,%00000010 + db %00000000,%00000100 + db %00000000,%00001000 + db %00000000,%00010000 + db %00000000,%00100000 + db %00000000,%01000000 + db %00000000,%10000000 + db %00000001,%00000000 + db %00000010,%00000000 + db %00000100,%00000000 + db %00001000,%00000000 + db %00010000,%00000000 + db %00100000,%00000000 + db %01000000,%00000000 + db %10000000,%00000000 diff --git a/engine/overworld/ssanne.asm b/engine/overworld/ssanne.asm deleted file mode 100755 index 6c26b712..00000000 --- a/engine/overworld/ssanne.asm +++ /dev/null @@ -1,93 +0,0 @@ -AnimateBoulderDust: - ld a, $1 - ld [wWhichAnimationOffsets], a ; select the boulder dust offsets - ld a, [wUpdateSpritesEnabled] - push af - ld a, $ff - ld [wUpdateSpritesEnabled], a - ld a, %11100100 - ld [rOBP1], a - call LoadSmokeTileFourTimes - callba WriteCutOrBoulderDustAnimationOAMBlock - ld c, 8 ; number of steps in animation -.loop - push bc - call GetMoveBoulderDustFunctionPointer - ld bc, .returnAddress - push bc - ld c, 4 - jp hl -.returnAddress - ld a, [rOBP1] - xor %01100100 - ld [rOBP1], a - call Delay3 - pop bc - dec c - jr nz, .loop - pop af - ld [wUpdateSpritesEnabled], a - jp LoadPlayerSpriteGraphics - -GetMoveBoulderDustFunctionPointer: - ld a, [wSpriteStateData1 + 9] ; player's sprite facing direction - ld hl, MoveBoulderDustFunctionPointerTable - ld c, a - ld b, $0 - add hl, bc - ld a, [hli] - ld [wCoordAdjustmentAmount], a - ld a, [hli] - ld e, a - ld a, [hli] - ld h, [hl] - ld l, a - push hl - ld hl, wOAMBuffer + $90 - ld d, $0 - add hl, de - ld e, l - ld d, h - pop hl - ret - -MoveBoulderDustFunctionPointerTable: -; facing down - db $FF,$00 - dw AdjustOAMBlockYPos - -; facing up - db $01,$00 - dw AdjustOAMBlockYPos - -; facing left - db $01,$01 - dw AdjustOAMBlockXPos - -; facing right - db $FF,$01 - dw AdjustOAMBlockXPos - -LoadSmokeTileFourTimes:: - ld hl, vChars1 + $7c0 - ld c, $4 -.loop - push bc - push hl - call LoadSmokeTile - pop hl - ld bc, $10 - add hl, bc - pop bc - dec c - jr nz, .loop - ret - -LoadSmokeTile: - ld de, SSAnneSmokePuffTile - lb bc, BANK(SSAnneSmokePuffTile), (SSAnneSmokePuffTileEnd - SSAnneSmokePuffTile) / $10 - jp CopyVideoData - -SSAnneSmokePuffTile: - INCBIN "gfx/overworld/smoke.2bpp" -SSAnneSmokePuffTileEnd: diff --git a/engine/overworld/tileset_header.asm b/engine/overworld/tileset_header.asm deleted file mode 100644 index 6e33974f..00000000 --- a/engine/overworld/tileset_header.asm +++ /dev/null @@ -1,60 +0,0 @@ -LoadTilesetHeader: - call GetPredefRegisters - push hl - ld d, 0 - ld a, [wCurMapTileset] - add a - add a - ld b, a - add a - add b ; a = tileset * 12 - jr nc, .noCarry - inc d -.noCarry - ld e, a - ld hl, Tilesets - add hl, de - ld de, wTilesetBank - ld c, $b -.copyTilesetHeaderLoop - ld a, [hli] - ld [de], a - inc de - dec c - jr nz, .copyTilesetHeaderLoop - ld a, [hl] - ld [hTilesetType], a - xor a - ld [$ffd8], a - pop hl - ld a, [wCurMapTileset] - push hl - push de - ld hl, DungeonTilesets - ld de, $1 - call IsInArray - pop de - pop hl - jr c, .asm_c797 - ld a, [wCurMapTileset] - ld b, a - ld a, [hPreviousTileset] - cp b - jr z, .done -.asm_c797 - ld a, [wDestinationWarpID] - cp $ff - jr z, .done - call LoadDestinationWarpPosition - ld a, [wYCoord] - and $1 - ld [wYBlockCoord], a - ld a, [wXCoord] - and $1 - ld [wXBlockCoord], a -.done - ret - -INCLUDE "data/dungeon_tilesets.asm" - -INCLUDE "data/tileset_headers.asm" diff --git a/engine/overworld/tilesets.asm b/engine/overworld/tilesets.asm new file mode 100644 index 00000000..6e33974f --- /dev/null +++ b/engine/overworld/tilesets.asm @@ -0,0 +1,60 @@ +LoadTilesetHeader: + call GetPredefRegisters + push hl + ld d, 0 + ld a, [wCurMapTileset] + add a + add a + ld b, a + add a + add b ; a = tileset * 12 + jr nc, .noCarry + inc d +.noCarry + ld e, a + ld hl, Tilesets + add hl, de + ld de, wTilesetBank + ld c, $b +.copyTilesetHeaderLoop + ld a, [hli] + ld [de], a + inc de + dec c + jr nz, .copyTilesetHeaderLoop + ld a, [hl] + ld [hTilesetType], a + xor a + ld [$ffd8], a + pop hl + ld a, [wCurMapTileset] + push hl + push de + ld hl, DungeonTilesets + ld de, $1 + call IsInArray + pop de + pop hl + jr c, .asm_c797 + ld a, [wCurMapTileset] + ld b, a + ld a, [hPreviousTileset] + cp b + jr z, .done +.asm_c797 + ld a, [wDestinationWarpID] + cp $ff + jr z, .done + call LoadDestinationWarpPosition + ld a, [wYCoord] + and $1 + ld [wYBlockCoord], a + ld a, [wXCoord] + and $1 + ld [wXBlockCoord], a +.done + ret + +INCLUDE "data/dungeon_tilesets.asm" + +INCLUDE "data/tileset_headers.asm" diff --git a/engine/overworld/trainer_sight.asm b/engine/overworld/trainer_sight.asm new file mode 100755 index 00000000..5a68b627 --- /dev/null +++ b/engine/overworld/trainer_sight.asm @@ -0,0 +1,349 @@ +_GetSpritePosition1:: + ld hl, wSpriteStateData1 + ld de, $4 + ld a, [wSpriteIndex] + ld [H_SPRITEINDEX], a + call GetSpriteDataPointer + ld a, [hli] ; c1x4 (screen Y pos) + ld [$ffeb], a + inc hl + ld a, [hl] ; c1x6 (screen X pos) + ld [$ffec], a + ld de, (wSpriteStateData2 + $4) - (wSpriteStateData1 + $6) + add hl, de + ld a, [hli] ; c2x4 (map Y pos) + ld [$ffed], a + ld a, [hl] ; c2x5 (map X pos) + ld [$ffee], a + ret + +_GetSpritePosition2:: + ld hl, wSpriteStateData1 + ld de, $4 + ld a, [wSpriteIndex] + ld [H_SPRITEINDEX], a + call GetSpriteDataPointer + ld a, [hli] ; c1x4 (screen Y pos) + ld [wSavedSpriteScreenY], a + inc hl + ld a, [hl] ; c1x6 (screen X pos) + ld [wSavedSpriteScreenX], a + ld de, (wSpriteStateData2 + $4) - (wSpriteStateData1 + $6) + add hl, de + ld a, [hli] ; c2x4 (map Y pos) + ld [wSavedSpriteMapY], a + ld a, [hl] ; c2x5 (map X pos) + ld [wSavedSpriteMapX], a + ret + +_SetSpritePosition1:: + ld hl, wSpriteStateData1 + ld de, $4 + ld a, [wSpriteIndex] + ld [H_SPRITEINDEX], a + call GetSpriteDataPointer + ld a, [$ffeb] ; c1x4 (screen Y pos) + ld [hli], a + inc hl + ld a, [$ffec] ; c1x6 (screen X pos) + ld [hl], a + ld de, (wSpriteStateData2 + $4) - (wSpriteStateData1 + $6) + add hl, de + ld a, [$ffed] ; c2x4 (map Y pos) + ld [hli], a + ld a, [$ffee] ; c2x5 (map X pos) + ld [hl], a + ret + +_SetSpritePosition2:: + ld hl, wSpriteStateData1 + ld de, 4 + ld a, [wSpriteIndex] + ld [H_SPRITEINDEX], a + call GetSpriteDataPointer + ld a, [wSavedSpriteScreenY] + ld [hli], a ; c1x4 (screen Y pos) + inc hl + ld a, [wSavedSpriteScreenX] + ld [hl], a ; c1x6 (screen X pos) + ld de, (wSpriteStateData2 + $4) - (wSpriteStateData1 + $6) + add hl, de + ld a, [wSavedSpriteMapY] + ld [hli], a ; c2x4 (map Y pos) + ld a, [wSavedSpriteMapX] + ld [hl], a ; c2x5 (map X pos) + ret + +TrainerWalkUpToPlayer:: + ld a, [wSpriteIndex] + swap a + ld [wTrainerSpriteOffset], a + call ReadTrainerScreenPosition + ld a, [wTrainerFacingDirection] + and a ; SPRITE_FACING_DOWN + jr z, .facingDown + cp SPRITE_FACING_UP + jr z, .facingUp + cp SPRITE_FACING_LEFT + jr z, .facingLeft + jr .facingRight +.facingDown + ld a, [wTrainerScreenY] + ld b, a + ld a, $3c ; (fixed) player screen Y pos + call CalcDifference + cp $10 ; trainer is right above player + ret z + swap a + dec a + ld c, a ; bc = steps yet to go to reach player + xor a + ld b, a ; a = direction to go to + jr .writeWalkScript +.facingUp + ld a, [wTrainerScreenY] + ld b, a + ld a, $3c ; (fixed) player screen Y pos + call CalcDifference + cp $10 ; trainer is right below player + ret z + swap a + dec a + ld c, a ; bc = steps yet to go to reach player + ld b, $0 + ld a, $40 ; a = direction to go to + jr .writeWalkScript +.facingRight + ld a, [wTrainerScreenX] + ld b, a + ld a, $40 ; (fixed) player screen X pos + call CalcDifference + cp $10 ; trainer is directly left of player + ret z + swap a + dec a + ld c, a ; bc = steps yet to go to reach player + ld b, $0 + ld a, $c0 ; a = direction to go to + jr .writeWalkScript +.facingLeft + ld a, [wTrainerScreenX] + ld b, a + ld a, $40 ; (fixed) player screen X pos + call CalcDifference + cp $10 ; trainer is directly right of player + ret z + swap a + dec a + ld c, a ; bc = steps yet to go to reach player + ld b, $0 + ld a, $80 ; a = direction to go to +.writeWalkScript + ld hl, wNPCMovementDirections2 + ld de, wNPCMovementDirections2 + call FillMemory ; write the necessary steps to reach player + ld [hl], $ff ; write end of list sentinel + ld a, [wSpriteIndex] + ld [H_SPRITEINDEX], a + jp MoveSprite_ + +; input: de = offset within sprite entry +; output: hl = pointer to sprite data +GetSpriteDataPointer: + push de + add hl, de + ld a, [H_SPRITEINDEX] + swap a + ld d, $0 + ld e, a + add hl, de + pop de + ret + +; tests if this trainer is in the right position to engage the player and do so if she is. +TrainerEngage: + push hl + push de + ld a, [wTrainerSpriteOffset] + add $2 + ld d, $0 + ld e, a + ld hl, wSpriteStateData1 + add hl, de + ld a, [hl] ; c1x2: sprite image index + sub $ff + jr nz, .spriteOnScreen ; test if sprite is on screen + jp .noEngage +.spriteOnScreen + ld a, [wTrainerSpriteOffset] + add $9 + ld d, $0 + ld e, a + ld hl, wSpriteStateData1 + add hl, de + ld a, [hl] ; c1x9: facing direction + ld [wTrainerFacingDirection], a + call ReadTrainerScreenPosition + ld a, [wTrainerScreenY] ; sprite screen Y pos + ld b, a + ld a, $3c + cp b + jr z, .linedUpY + ld a, [wTrainerScreenX] ; sprite screen X pos + ld b, a + ld a, $40 + cp b + jr z, .linedUpX + xor a + jp .noEngage +.linedUpY + ld a, [wTrainerScreenX] ; sprite screen X pos + ld b, a + ld a, $40 ; (fixed) player X position + call CalcDifference ; calc distance + jr z, .noEngage ; exact same position as player + call CheckSpriteCanSeePlayer + jr c, .engage + xor a + jr .noEngage +.linedUpX + ld a, [wTrainerScreenY] ; sprite screen Y pos + ld b, a + ld a, $3c ; (fixed) player Y position + call CalcDifference ; calc distance + jr z, .noEngage ; exact same position as player + call CheckSpriteCanSeePlayer + jr c, .engage + xor a + jp .noEngage +.engage + call CheckPlayerIsInFrontOfSprite + ld a, [wTrainerSpriteOffset] + and a + jr z, .noEngage + ld hl, wFlags_0xcd60 + set 0, [hl] + call EngageMapTrainer + ld a, $ff +.noEngage + ld [wTrainerSpriteOffset], a + pop de + pop hl + ret + +; reads trainer's Y position to wTrainerScreenY and X position to wTrainerScreenX +ReadTrainerScreenPosition: + ld a, [wTrainerSpriteOffset] + add $4 + ld d, $0 + ld e, a + ld hl, wSpriteStateData1 + add hl, de + ld a, [hl] ; c1x4 (sprite Y pos) + ld [wTrainerScreenY], a + ld a, [wTrainerSpriteOffset] + add $6 + ld d, $0 + ld e, a + ld hl, wSpriteStateData1 + add hl, de + ld a, [hl] ; c1x6 (sprite X pos) + ld [wTrainerScreenX], a + ret + +; checks if the sprite is properly lined up with the player with respect to the direction it's looking. Also checks the distance between player and sprite +; note that this does not necessarily mean the sprite is seeing the player, he could be behind it's back +; a: distance player to sprite +CheckSpriteCanSeePlayer: + ld b, a + ld a, [wTrainerEngageDistance] ; how far the trainer can see + cp b + jr nc, .checkIfLinedUp + jr .notInLine ; player too far away +.checkIfLinedUp + ld a, [wTrainerFacingDirection] ; sprite facing direction + cp SPRITE_FACING_DOWN + jr z, .checkXCoord + cp SPRITE_FACING_UP + jr z, .checkXCoord + cp SPRITE_FACING_LEFT + jr z, .checkYCoord + cp SPRITE_FACING_RIGHT + jr z, .checkYCoord + jr .notInLine +.checkXCoord + ld a, [wTrainerScreenX] ; sprite screen X position + ld b, a + cp $40 + jr z, .inLine + jr .notInLine +.checkYCoord + ld a, [wTrainerScreenY] ; sprite screen Y position + ld b, a + cp $3c + jr nz, .notInLine +.inLine + scf + ret +.notInLine + and a + ret + +; tests if the player is in front of the sprite (rather than behind it) +CheckPlayerIsInFrontOfSprite: + ld a, [wCurMap] + cp POWER_PLANT + jp z, .engage ; bypass this for power plant to get voltorb fake items to work + ld a, [wTrainerSpriteOffset] + add $4 + ld d, $0 + ld e, a + ld hl, wSpriteStateData1 + add hl, de + ld a, [hl] ; c1x4 (sprite screen Y pos) + cp $fc + jr nz, .notOnTopmostTile ; special case if sprite is on topmost tile (Y = $fc (-4)), make it come down a block + ld a, $c +.notOnTopmostTile + ld [wTrainerScreenY], a + ld a, [wTrainerSpriteOffset] + add $6 + ld d, $0 + ld e, a + ld hl, wSpriteStateData1 + add hl, de + ld a, [hl] ; c1x6 (sprite screen X pos) + ld [wTrainerScreenX], a + ld a, [wTrainerFacingDirection] ; facing direction + cp SPRITE_FACING_DOWN + jr nz, .notFacingDown + ld a, [wTrainerScreenY] ; sprite screen Y pos + cp $3c + jr c, .engage ; sprite above player + jr .noEngage ; sprite below player +.notFacingDown + cp SPRITE_FACING_UP + jr nz, .notFacingUp + ld a, [wTrainerScreenY] ; sprite screen Y pos + cp $3c + jr nc, .engage ; sprite below player + jr .noEngage ; sprite above player +.notFacingUp + cp SPRITE_FACING_LEFT + jr nz, .notFacingLeft + ld a, [wTrainerScreenX] ; sprite screen X pos + cp $40 + jr nc, .engage ; sprite right of player + jr .noEngage ; sprite left of player +.notFacingLeft + ld a, [wTrainerScreenX] ; sprite screen X pos + cp $40 + jr nc, .noEngage ; sprite right of player +.engage + ld a, $ff + jr .done +.noEngage + xor a +.done + ld [wTrainerSpriteOffset], a + ret diff --git a/engine/overworld/trainers.asm b/engine/overworld/trainers.asm deleted file mode 100755 index 5a68b627..00000000 --- a/engine/overworld/trainers.asm +++ /dev/null @@ -1,349 +0,0 @@ -_GetSpritePosition1:: - ld hl, wSpriteStateData1 - ld de, $4 - ld a, [wSpriteIndex] - ld [H_SPRITEINDEX], a - call GetSpriteDataPointer - ld a, [hli] ; c1x4 (screen Y pos) - ld [$ffeb], a - inc hl - ld a, [hl] ; c1x6 (screen X pos) - ld [$ffec], a - ld de, (wSpriteStateData2 + $4) - (wSpriteStateData1 + $6) - add hl, de - ld a, [hli] ; c2x4 (map Y pos) - ld [$ffed], a - ld a, [hl] ; c2x5 (map X pos) - ld [$ffee], a - ret - -_GetSpritePosition2:: - ld hl, wSpriteStateData1 - ld de, $4 - ld a, [wSpriteIndex] - ld [H_SPRITEINDEX], a - call GetSpriteDataPointer - ld a, [hli] ; c1x4 (screen Y pos) - ld [wSavedSpriteScreenY], a - inc hl - ld a, [hl] ; c1x6 (screen X pos) - ld [wSavedSpriteScreenX], a - ld de, (wSpriteStateData2 + $4) - (wSpriteStateData1 + $6) - add hl, de - ld a, [hli] ; c2x4 (map Y pos) - ld [wSavedSpriteMapY], a - ld a, [hl] ; c2x5 (map X pos) - ld [wSavedSpriteMapX], a - ret - -_SetSpritePosition1:: - ld hl, wSpriteStateData1 - ld de, $4 - ld a, [wSpriteIndex] - ld [H_SPRITEINDEX], a - call GetSpriteDataPointer - ld a, [$ffeb] ; c1x4 (screen Y pos) - ld [hli], a - inc hl - ld a, [$ffec] ; c1x6 (screen X pos) - ld [hl], a - ld de, (wSpriteStateData2 + $4) - (wSpriteStateData1 + $6) - add hl, de - ld a, [$ffed] ; c2x4 (map Y pos) - ld [hli], a - ld a, [$ffee] ; c2x5 (map X pos) - ld [hl], a - ret - -_SetSpritePosition2:: - ld hl, wSpriteStateData1 - ld de, 4 - ld a, [wSpriteIndex] - ld [H_SPRITEINDEX], a - call GetSpriteDataPointer - ld a, [wSavedSpriteScreenY] - ld [hli], a ; c1x4 (screen Y pos) - inc hl - ld a, [wSavedSpriteScreenX] - ld [hl], a ; c1x6 (screen X pos) - ld de, (wSpriteStateData2 + $4) - (wSpriteStateData1 + $6) - add hl, de - ld a, [wSavedSpriteMapY] - ld [hli], a ; c2x4 (map Y pos) - ld a, [wSavedSpriteMapX] - ld [hl], a ; c2x5 (map X pos) - ret - -TrainerWalkUpToPlayer:: - ld a, [wSpriteIndex] - swap a - ld [wTrainerSpriteOffset], a - call ReadTrainerScreenPosition - ld a, [wTrainerFacingDirection] - and a ; SPRITE_FACING_DOWN - jr z, .facingDown - cp SPRITE_FACING_UP - jr z, .facingUp - cp SPRITE_FACING_LEFT - jr z, .facingLeft - jr .facingRight -.facingDown - ld a, [wTrainerScreenY] - ld b, a - ld a, $3c ; (fixed) player screen Y pos - call CalcDifference - cp $10 ; trainer is right above player - ret z - swap a - dec a - ld c, a ; bc = steps yet to go to reach player - xor a - ld b, a ; a = direction to go to - jr .writeWalkScript -.facingUp - ld a, [wTrainerScreenY] - ld b, a - ld a, $3c ; (fixed) player screen Y pos - call CalcDifference - cp $10 ; trainer is right below player - ret z - swap a - dec a - ld c, a ; bc = steps yet to go to reach player - ld b, $0 - ld a, $40 ; a = direction to go to - jr .writeWalkScript -.facingRight - ld a, [wTrainerScreenX] - ld b, a - ld a, $40 ; (fixed) player screen X pos - call CalcDifference - cp $10 ; trainer is directly left of player - ret z - swap a - dec a - ld c, a ; bc = steps yet to go to reach player - ld b, $0 - ld a, $c0 ; a = direction to go to - jr .writeWalkScript -.facingLeft - ld a, [wTrainerScreenX] - ld b, a - ld a, $40 ; (fixed) player screen X pos - call CalcDifference - cp $10 ; trainer is directly right of player - ret z - swap a - dec a - ld c, a ; bc = steps yet to go to reach player - ld b, $0 - ld a, $80 ; a = direction to go to -.writeWalkScript - ld hl, wNPCMovementDirections2 - ld de, wNPCMovementDirections2 - call FillMemory ; write the necessary steps to reach player - ld [hl], $ff ; write end of list sentinel - ld a, [wSpriteIndex] - ld [H_SPRITEINDEX], a - jp MoveSprite_ - -; input: de = offset within sprite entry -; output: hl = pointer to sprite data -GetSpriteDataPointer: - push de - add hl, de - ld a, [H_SPRITEINDEX] - swap a - ld d, $0 - ld e, a - add hl, de - pop de - ret - -; tests if this trainer is in the right position to engage the player and do so if she is. -TrainerEngage: - push hl - push de - ld a, [wTrainerSpriteOffset] - add $2 - ld d, $0 - ld e, a - ld hl, wSpriteStateData1 - add hl, de - ld a, [hl] ; c1x2: sprite image index - sub $ff - jr nz, .spriteOnScreen ; test if sprite is on screen - jp .noEngage -.spriteOnScreen - ld a, [wTrainerSpriteOffset] - add $9 - ld d, $0 - ld e, a - ld hl, wSpriteStateData1 - add hl, de - ld a, [hl] ; c1x9: facing direction - ld [wTrainerFacingDirection], a - call ReadTrainerScreenPosition - ld a, [wTrainerScreenY] ; sprite screen Y pos - ld b, a - ld a, $3c - cp b - jr z, .linedUpY - ld a, [wTrainerScreenX] ; sprite screen X pos - ld b, a - ld a, $40 - cp b - jr z, .linedUpX - xor a - jp .noEngage -.linedUpY - ld a, [wTrainerScreenX] ; sprite screen X pos - ld b, a - ld a, $40 ; (fixed) player X position - call CalcDifference ; calc distance - jr z, .noEngage ; exact same position as player - call CheckSpriteCanSeePlayer - jr c, .engage - xor a - jr .noEngage -.linedUpX - ld a, [wTrainerScreenY] ; sprite screen Y pos - ld b, a - ld a, $3c ; (fixed) player Y position - call CalcDifference ; calc distance - jr z, .noEngage ; exact same position as player - call CheckSpriteCanSeePlayer - jr c, .engage - xor a - jp .noEngage -.engage - call CheckPlayerIsInFrontOfSprite - ld a, [wTrainerSpriteOffset] - and a - jr z, .noEngage - ld hl, wFlags_0xcd60 - set 0, [hl] - call EngageMapTrainer - ld a, $ff -.noEngage - ld [wTrainerSpriteOffset], a - pop de - pop hl - ret - -; reads trainer's Y position to wTrainerScreenY and X position to wTrainerScreenX -ReadTrainerScreenPosition: - ld a, [wTrainerSpriteOffset] - add $4 - ld d, $0 - ld e, a - ld hl, wSpriteStateData1 - add hl, de - ld a, [hl] ; c1x4 (sprite Y pos) - ld [wTrainerScreenY], a - ld a, [wTrainerSpriteOffset] - add $6 - ld d, $0 - ld e, a - ld hl, wSpriteStateData1 - add hl, de - ld a, [hl] ; c1x6 (sprite X pos) - ld [wTrainerScreenX], a - ret - -; checks if the sprite is properly lined up with the player with respect to the direction it's looking. Also checks the distance between player and sprite -; note that this does not necessarily mean the sprite is seeing the player, he could be behind it's back -; a: distance player to sprite -CheckSpriteCanSeePlayer: - ld b, a - ld a, [wTrainerEngageDistance] ; how far the trainer can see - cp b - jr nc, .checkIfLinedUp - jr .notInLine ; player too far away -.checkIfLinedUp - ld a, [wTrainerFacingDirection] ; sprite facing direction - cp SPRITE_FACING_DOWN - jr z, .checkXCoord - cp SPRITE_FACING_UP - jr z, .checkXCoord - cp SPRITE_FACING_LEFT - jr z, .checkYCoord - cp SPRITE_FACING_RIGHT - jr z, .checkYCoord - jr .notInLine -.checkXCoord - ld a, [wTrainerScreenX] ; sprite screen X position - ld b, a - cp $40 - jr z, .inLine - jr .notInLine -.checkYCoord - ld a, [wTrainerScreenY] ; sprite screen Y position - ld b, a - cp $3c - jr nz, .notInLine -.inLine - scf - ret -.notInLine - and a - ret - -; tests if the player is in front of the sprite (rather than behind it) -CheckPlayerIsInFrontOfSprite: - ld a, [wCurMap] - cp POWER_PLANT - jp z, .engage ; bypass this for power plant to get voltorb fake items to work - ld a, [wTrainerSpriteOffset] - add $4 - ld d, $0 - ld e, a - ld hl, wSpriteStateData1 - add hl, de - ld a, [hl] ; c1x4 (sprite screen Y pos) - cp $fc - jr nz, .notOnTopmostTile ; special case if sprite is on topmost tile (Y = $fc (-4)), make it come down a block - ld a, $c -.notOnTopmostTile - ld [wTrainerScreenY], a - ld a, [wTrainerSpriteOffset] - add $6 - ld d, $0 - ld e, a - ld hl, wSpriteStateData1 - add hl, de - ld a, [hl] ; c1x6 (sprite screen X pos) - ld [wTrainerScreenX], a - ld a, [wTrainerFacingDirection] ; facing direction - cp SPRITE_FACING_DOWN - jr nz, .notFacingDown - ld a, [wTrainerScreenY] ; sprite screen Y pos - cp $3c - jr c, .engage ; sprite above player - jr .noEngage ; sprite below player -.notFacingDown - cp SPRITE_FACING_UP - jr nz, .notFacingUp - ld a, [wTrainerScreenY] ; sprite screen Y pos - cp $3c - jr nc, .engage ; sprite below player - jr .noEngage ; sprite above player -.notFacingUp - cp SPRITE_FACING_LEFT - jr nz, .notFacingLeft - ld a, [wTrainerScreenX] ; sprite screen X pos - cp $40 - jr nc, .engage ; sprite right of player - jr .noEngage ; sprite left of player -.notFacingLeft - ld a, [wTrainerScreenX] ; sprite screen X pos - cp $40 - jr nc, .noEngage ; sprite right of player -.engage - ld a, $ff - jr .done -.noEngage - xor a -.done - ld [wTrainerSpriteOffset], a - ret diff --git a/engine/overworld/turn_sprite.asm b/engine/overworld/turn_sprite.asm new file mode 100755 index 00000000..c7f7712b --- /dev/null +++ b/engine/overworld/turn_sprite.asm @@ -0,0 +1,25 @@ +UpdateSpriteFacingOffsetAndDelayMovement:: + ld h, $c2 + ld a, [H_CURRENTSPRITEOFFSET] + add $8 + ld l, a + ld a, $7f ; maximum movement delay + ld [hl], a ; c2x8 (movement delay) + dec h + ld a, [H_CURRENTSPRITEOFFSET] + add $9 + ld l, a + ld a, [hld] ; c1x9 (facing direction) + ld b, a + xor a + ld [hld], a + ld [hl], a ; c1x8 (walk animation frame) + ld a, [H_CURRENTSPRITEOFFSET] + add $2 + ld l, a + ld a, [hl] ; c1x2 (facing and animation table offset) + or b ; or in the facing direction + ld [hld], a + ld a, $2 ; delayed movement status + ld [hl], a ; c1x1 (movement status) + ret diff --git a/engine/palettes.asm b/engine/palettes.asm deleted file mode 100755 index 39991d48..00000000 --- a/engine/palettes.asm +++ /dev/null @@ -1,641 +0,0 @@ -_RunPaletteCommand: - call GetPredefRegisters - ld a, b - cp $ff - jr nz, .next - ld a, [wDefaultPaletteCommand] ; use default command if command ID is $ff -.next - cp UPDATE_PARTY_MENU_BLK_PACKET - jp z, UpdatePartyMenuBlkPacket - ld l, a - ld h, 0 - add hl, hl - ld de, SetPalFunctions - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - ld de, SendSGBPackets - push de - jp hl - -SetPal_BattleBlack: - ld hl, PalPacket_Black - ld de, BlkPacket_Battle - ret - -; uses PalPacket_Empty to build a packet based on mon IDs and health color -SetPal_Battle: - ld hl, PalPacket_Empty - ld de, wPalPacket - ld bc, $10 - call CopyData - ld a, [wPlayerBattleStatus3] - ld hl, wBattleMonSpecies - call DeterminePaletteID - ld b, a - ld a, [wEnemyBattleStatus3] - ld hl, wEnemyMonSpecies2 - call DeterminePaletteID - ld c, a - ld hl, wPalPacket + 1 - ld a, [wPlayerHPBarColor] - add PAL_GREENBAR - ld [hli], a - inc hl - ld a, [wEnemyHPBarColor] - add PAL_GREENBAR - ld [hli], a - inc hl - ld a, b - ld [hli], a - inc hl - ld a, c - ld [hl], a - ld hl, wPalPacket - ld de, BlkPacket_Battle - ld a, SET_PAL_BATTLE - ld [wDefaultPaletteCommand], a - ret - -SetPal_TownMap: - ld hl, PalPacket_TownMap - ld de, BlkPacket_WholeScreen - ret - -; uses PalPacket_Empty to build a packet based the mon ID -SetPal_StatusScreen: - ld hl, PalPacket_Empty - ld de, wPalPacket - ld bc, $10 - call CopyData - ld a, [wcf91] - cp NUM_POKEMON_INDEXES + 1 - jr c, .pokemon - ld a, $1 ; not pokemon -.pokemon - call DeterminePaletteIDOutOfBattle - push af - ld hl, wPalPacket + 1 - ld a, [wStatusScreenHPBarColor] - add PAL_GREENBAR - ld [hli], a - inc hl - pop af - ld [hl], a - ld hl, wPalPacket - ld de, BlkPacket_StatusScreen - ret - -SetPal_PartyMenu: - ld hl, PalPacket_PartyMenu - ld de, wPartyMenuBlkPacket - ret - -SetPal_Pokedex: - ld hl, PalPacket_Pokedex - ld de, wPalPacket - ld bc, $10 - call CopyData - ld a, [wcf91] - call DeterminePaletteIDOutOfBattle - ld hl, wPalPacket + 3 - ld [hl], a - ld hl, wPalPacket - ld de, BlkPacket_Pokedex - ret - -SetPal_Slots: - ld hl, PalPacket_Slots - ld de, BlkPacket_Slots - ret - -SetPal_TitleScreen: - ld hl, PalPacket_Titlescreen - ld de, BlkPacket_Titlescreen - ret - -; used mostly for menus and the Oak intro -SetPal_Generic: - ld hl, PalPacket_Generic - ld de, BlkPacket_WholeScreen - ret - -SetPal_NidorinoIntro: - ld hl, PalPacket_NidorinoIntro - ld de, BlkPacket_NidorinoIntro - ret - -SetPal_GameFreakIntro: - ld hl, PalPacket_GameFreakIntro - ld de, BlkPacket_GameFreakIntro - ld a, SET_PAL_GENERIC - ld [wDefaultPaletteCommand], a - ret - -; uses PalPacket_Empty to build a packet based on the current map -SetPal_Overworld: - ld hl, PalPacket_Empty - ld de, wPalPacket - ld bc, $10 - call CopyData - ld a, [wCurMapTileset] - cp CEMETERY - jr z, .PokemonTowerOrAgatha - cp CAVERN - jr z, .caveOrBruno - ld a, [wCurMap] - cp REDS_HOUSE_1F - jr c, .townOrRoute - cp CERULEAN_CAVE_2F - jr c, .normalDungeonOrBuilding - cp NAME_RATERS_HOUSE - jr c, .caveOrBruno - cp LORELEIS_ROOM - jr z, .Lorelei - cp BRUNOS_ROOM - jr z, .caveOrBruno -.normalDungeonOrBuilding - ld a, [wLastMap] ; town or route that current dungeon or building is located -.townOrRoute - cp SAFFRON_CITY + 1 - jr c, .town - ld a, PAL_ROUTE - 1 -.town - inc a ; a town's palette ID is its map ID + 1 - ld hl, wPalPacket + 1 - ld [hld], a - ld de, BlkPacket_WholeScreen - ld a, SET_PAL_OVERWORLD - ld [wDefaultPaletteCommand], a - ret -.PokemonTowerOrAgatha - ld a, PAL_GREYMON - 1 - jr .town -.caveOrBruno - ld a, PAL_CAVE - 1 - jr .town -.Lorelei - xor a - jr .town - -; used when a Pokemon is the only thing on the screen -; such as evolution, trading and the Hall of Fame -SetPal_PokemonWholeScreen: - push bc - ld hl, PalPacket_Empty - ld de, wPalPacket - ld bc, $10 - call CopyData - pop bc - ld a, c - and a - ld a, PAL_BLACK - jr nz, .next - ld a, [wWholeScreenPaletteMonSpecies] - call DeterminePaletteIDOutOfBattle -.next - ld [wPalPacket + 1], a - ld hl, wPalPacket - ld de, BlkPacket_WholeScreen - ret - -SetPal_TrainerCard: - ld hl, BlkPacket_TrainerCard - ld de, wTrainerCardBlkPacket - ld bc, $40 - call CopyData - ld de, BadgeBlkDataLengths - ld hl, wTrainerCardBlkPacket + 2 - ld a, [wObtainedBadges] - ld c, 8 -.badgeLoop - srl a - push af - jr c, .haveBadge -; The player doens't have the badge, so zero the badge's blk data. - push bc - ld a, [de] - ld c, a - xor a -.zeroBadgeDataLoop - ld [hli], a - dec c - jr nz, .zeroBadgeDataLoop - pop bc - jr .nextBadge -.haveBadge -; The player does have the badge, so skip past the badge's blk data. - ld a, [de] -.skipBadgeDataLoop - inc hl - dec a - jr nz, .skipBadgeDataLoop -.nextBadge - pop af - inc de - dec c - jr nz, .badgeLoop - ld hl, PalPacket_TrainerCard - ld de, wTrainerCardBlkPacket - ret - -SetPalFunctions: - dw SetPal_BattleBlack - dw SetPal_Battle - dw SetPal_TownMap - dw SetPal_StatusScreen - dw SetPal_Pokedex - dw SetPal_Slots - dw SetPal_TitleScreen - dw SetPal_NidorinoIntro - dw SetPal_Generic - dw SetPal_Overworld - dw SetPal_PartyMenu - dw SetPal_PokemonWholeScreen - dw SetPal_GameFreakIntro - dw SetPal_TrainerCard - -; The length of the blk data of each badge on the Trainer Card. -; The Rainbow Badge has 3 entries because of its many colors. -BadgeBlkDataLengths: - db 6 ; Boulder Badge - db 6 ; Cascade Badge - db 6 ; Thunder Badge - db 6 * 3 ; Rainbow Badge - db 6 ; Soul Badge - db 6 ; Marsh Badge - db 6 ; Volcano Badge - db 6 ; Earth Badge - -DeterminePaletteID: - bit TRANSFORMED, a ; a is battle status 3 - ld a, PAL_GREYMON ; if the mon has used Transform, use Ditto's palette - ret nz - ld a, [hl] -DeterminePaletteIDOutOfBattle: - ld [wd11e], a - and a ; is the mon index 0? - jr z, .skipDexNumConversion - push bc - predef IndexToPokedex - pop bc - ld a, [wd11e] -.skipDexNumConversion - ld e, a - ld d, 0 - ld hl, MonsterPalettes ; not just for Pokemon, Trainers use it too - add hl, de - ld a, [hl] - ret - -InitPartyMenuBlkPacket: - ld hl, BlkPacket_PartyMenu - ld de, wPartyMenuBlkPacket - ld bc, $30 - jp CopyData - -UpdatePartyMenuBlkPacket: -; Update the blk packet with the palette of the HP bar that is -; specified in [wWhichPartyMenuHPBar]. - ld hl, wPartyMenuHPBarColors - ld a, [wWhichPartyMenuHPBar] - ld e, a - ld d, 0 - add hl, de - ld e, l - ld d, h - ld a, [de] - and a - ld e, (1 << 2) | 1 ; green - jr z, .next - dec a - ld e, (2 << 2) | 2 ; yellow - jr z, .next - ld e, (3 << 2) | 3 ; red -.next - push de - ld hl, wPartyMenuBlkPacket + 8 + 1 - ld bc, 6 - ld a, [wWhichPartyMenuHPBar] - call AddNTimes - pop de - ld [hl], e - ret - -SendSGBPacket: -;check number of packets - ld a, [hl] - and $07 - ret z -; store number of packets in B - ld b, a -.loop2 -; save B for later use - push bc -; disable ReadJoypad to prevent it from interfering with sending the packet - ld a, 1 - ld [hDisableJoypadPolling], a -; send RESET signal (P14=LOW, P15=LOW) - xor a - ld [rJOYP], a -; set P14=HIGH, P15=HIGH - ld a, $30 - ld [rJOYP], a -;load length of packets (16 bytes) - ld b, $10 -.nextByte -;set bit counter (8 bits per byte) - ld e, $08 -; get next byte in the packet - ld a, [hli] - ld d, a -.nextBit0 - bit 0, d -; if 0th bit is not zero set P14=HIGH,P15=LOW (send bit 1) - ld a, $10 - jr nz, .next0 -; else (if 0th bit is zero) set P14=LOW,P15=HIGH (send bit 0) - ld a, $20 -.next0 - ld [rJOYP], a -; must set P14=HIGH,P15=HIGH between each "pulse" - ld a, $30 - ld [rJOYP], a -; rotation will put next bit in 0th position (so we can always use command -; "bit 0,d" to fetch the bit that has to be sent) - rr d -; decrease bit counter so we know when we have sent all 8 bits of current byte - dec e - jr nz, .nextBit0 - dec b - jr nz, .nextByte -; send bit 1 as a "stop bit" (end of parameter data) - ld a, $20 - ld [rJOYP], a -; set P14=HIGH,P15=HIGH - ld a, $30 - ld [rJOYP], a - xor a - ld [hDisableJoypadPolling], a -; wait for about 70000 cycles - call Wait7000 -; restore (previously pushed) number of packets - pop bc - dec b -; return if there are no more packets - ret z -; else send 16 more bytes - jr .loop2 - -LoadSGB: - xor a - ld [wOnSGB], a - call CheckSGB - ret nc - ld a, 1 - ld [wOnSGB], a - ld a, [wGBC] - and a - jr z, .notGBC - ret -.notGBC - di - call PrepareSuperNintendoVRAMTransfer - ei - ld a, 1 - ld [wCopyingSGBTileData], a - ld de, ChrTrnPacket - ld hl, SGBBorderGraphics - call CopyGfxToSuperNintendoVRAM - xor a - ld [wCopyingSGBTileData], a - ld de, PctTrnPacket - ld hl, BorderPalettes - call CopyGfxToSuperNintendoVRAM - xor a - ld [wCopyingSGBTileData], a - ld de, PalTrnPacket - ld hl, SuperPalettes - call CopyGfxToSuperNintendoVRAM - call ClearVram - ld hl, MaskEnCancelPacket - jp SendSGBPacket - -PrepareSuperNintendoVRAMTransfer: - ld hl, .packetPointers - ld c, 9 -.loop - push bc - ld a, [hli] - push hl - ld h, [hl] - ld l, a - call SendSGBPacket - pop hl - inc hl - pop bc - dec c - jr nz, .loop - ret - -.packetPointers -; Only the first packet is needed. - dw MaskEnFreezePacket - dw DataSnd_72548 - dw DataSnd_72558 - dw DataSnd_72568 - dw DataSnd_72578 - dw DataSnd_72588 - dw DataSnd_72598 - dw DataSnd_725a8 - dw DataSnd_725b8 - -CheckSGB: -; Returns whether the game is running on an SGB in carry. - ld hl, MltReq2Packet - di - call SendSGBPacket - ld a, 1 - ld [hDisableJoypadPolling], a - ei - call Wait7000 - ld a, [rJOYP] - and $3 - cp $3 - jr nz, .isSGB - ld a, $20 - ld [rJOYP], a - ld a, [rJOYP] - ld a, [rJOYP] - call Wait7000 - call Wait7000 - ld a, $30 - ld [rJOYP], a - call Wait7000 - call Wait7000 - ld a, $10 - ld [rJOYP], a - ld a, [rJOYP] - ld a, [rJOYP] - ld a, [rJOYP] - ld a, [rJOYP] - ld a, [rJOYP] - ld a, [rJOYP] - call Wait7000 - call Wait7000 - ld a, $30 - ld [rJOYP], a - ld a, [rJOYP] - ld a, [rJOYP] - ld a, [rJOYP] - call Wait7000 - call Wait7000 - ld a, [rJOYP] - and $3 - cp $3 - jr nz, .isSGB - call SendMltReq1Packet - and a - ret -.isSGB - call SendMltReq1Packet - scf - ret - -SendMltReq1Packet: - ld hl, MltReq1Packet - call SendSGBPacket - jp Wait7000 - -CopyGfxToSuperNintendoVRAM: - di - push de - call DisableLCD - ld a, $e4 - ld [rBGP], a - ld de, vChars1 - ld a, [wCopyingSGBTileData] - and a - jr z, .notCopyingTileData - call CopySGBBorderTiles - jr .next -.notCopyingTileData - ld bc, $1000 - call CopyData -.next - ld hl, vBGMap0 - ld de, $c - ld a, $80 - ld c, $d -.loop - ld b, $14 -.innerLoop - ld [hli], a - inc a - dec b - jr nz, .innerLoop - add hl, de - dec c - jr nz, .loop - ld a, $e3 - ld [rLCDC], a - pop hl - call SendSGBPacket - xor a - ld [rBGP], a - ei - ret - -Wait7000: -; Each loop takes 9 cycles so this routine actually waits 63000 cycles. - ld de, 7000 -.loop - nop - nop - nop - dec de - ld a, d - or e - jr nz, .loop - ret - -SendSGBPackets: - ld a, [wGBC] - and a - jr z, .notGBC - push de - call InitGBCPalettes - pop hl - call EmptyFunc5 - ret -.notGBC - push de - call SendSGBPacket - pop hl - jp SendSGBPacket - -InitGBCPalettes: - ld a, $80 ; index 0 with auto-increment - ld [rBGPI], a - inc hl - ld c, $20 -.loop - ld a, [hli] - inc hl - add a - add a - add a - ld de, SuperPalettes - add e - jr nc, .noCarry - inc d -.noCarry - ld a, [de] - ld [rBGPD], a - dec c - jr nz, .loop - ret - -EmptyFunc5: - ret - -CopySGBBorderTiles: -; SGB tile data is stored in a 4BPP planar format. -; Each tile is 32 bytes. The first 16 bytes contain bit planes 1 and 2, while -; the second 16 bytes contain bit planes 3 and 4. -; This function converts 2BPP planar data into this format by mapping -; 2BPP colors 0-3 to 4BPP colors 0-3. 4BPP colors 4-15 are not used. - ld b, 128 - -.tileLoop - -; Copy bit planes 1 and 2 of the tile data. - ld c, 16 -.copyLoop - ld a, [hli] - ld [de], a - inc de - dec c - jr nz, .copyLoop - -; Zero bit planes 3 and 4. - ld c, 16 - xor a -.zeroLoop - ld [de], a - inc de - dec c - jr nz, .zeroLoop - - dec b - jr nz, .tileLoop - ret - -INCLUDE "data/sgb_packets.asm" - -INCLUDE "data/mon_palettes.asm" - -INCLUDE "data/super_palettes.asm" - -INCLUDE "data/sgb_border.asm" diff --git a/engine/pathfinding.asm b/engine/pathfinding.asm deleted file mode 100644 index ba052d38..00000000 --- a/engine/pathfinding.asm +++ /dev/null @@ -1,201 +0,0 @@ -FindPathToPlayer: - xor a - ld hl, hFindPathNumSteps - ld [hli], a ; hFindPathNumSteps - ld [hli], a ; hFindPathFlags - ld [hli], a ; hFindPathYProgress - ld [hl], a ; hFindPathXProgress - ld hl, wNPCMovementDirections2 - ld de, $0 -.loop - ld a, [hFindPathYProgress] - ld b, a - ld a, [hNPCPlayerYDistance] ; Y distance in steps - call CalcDifference - ld d, a - and a - jr nz, .asm_f8da - ld a, [hFindPathFlags] - set 0, a ; current end of path matches the player's Y coordinate - ld [hFindPathFlags], a -.asm_f8da - ld a, [hFindPathXProgress] - ld b, a - ld a, [hNPCPlayerXDistance] ; X distance in steps - call CalcDifference - ld e, a - and a - jr nz, .asm_f8ec - ld a, [hFindPathFlags] - set 1, a ; current end of path matches the player's X coordinate - ld [hFindPathFlags], a -.asm_f8ec - ld a, [hFindPathFlags] - cp $3 ; has the end of the path reached the player's position? - jr z, .done -; Compare whether the X distance between the player and the current of the path -; is greater or if the Y distance is. Then, try to reduce whichever is greater. - ld a, e - cp d - jr c, .yDistanceGreater -; x distance is greater - ld a, [hNPCPlayerRelativePosFlags] - bit 1, a - jr nz, .playerIsLeftOfNPC - ld d, NPC_MOVEMENT_RIGHT - jr .next1 -.playerIsLeftOfNPC - ld d, NPC_MOVEMENT_LEFT -.next1 - ld a, [hFindPathXProgress] - add 1 - ld [hFindPathXProgress], a - jr .storeDirection -.yDistanceGreater - ld a, [hNPCPlayerRelativePosFlags] - bit 0, a - jr nz, .playerIsAboveNPC - ld d, NPC_MOVEMENT_DOWN - jr .next2 -.playerIsAboveNPC - ld d, NPC_MOVEMENT_UP -.next2 - ld a, [hFindPathYProgress] - add 1 - ld [hFindPathYProgress], a -.storeDirection - ld a, d - ld [hli], a - ld a, [hFindPathNumSteps] - inc a - ld [hFindPathNumSteps], a - jp .loop -.done - ld [hl], $ff - ret - -CalcPositionOfPlayerRelativeToNPC: - xor a - ld [hNPCPlayerRelativePosFlags], a - ld a, [wSpriteStateData1 + 4] ; player's sprite screen Y position in pixels - ld d, a - ld a, [wSpriteStateData1 + 6] ; player's sprite screen X position in pixels - ld e, a - ld hl, wSpriteStateData1 - ld a, [hNPCSpriteOffset] - add l - add $4 - ld l, a - jr nc, .noCarry - inc h -.noCarry - ld a, d - ld b, a - ld a, [hli] ; NPC sprite screen Y position in pixels - call CalcDifference - jr nc, .NPCSouthOfOrAlignedWithPlayer -.NPCNorthOfPlayer - push hl - ld hl, hNPCPlayerRelativePosFlags - bit 0, [hl] - set 0, [hl] - pop hl - jr .divideYDistance -.NPCSouthOfOrAlignedWithPlayer - push hl - ld hl, hNPCPlayerRelativePosFlags - bit 0, [hl] - res 0, [hl] - pop hl -.divideYDistance - push hl - ld hl, hDividend2 - ld [hli], a - ld a, 16 - ld [hli], a - call DivideBytes ; divide Y absolute distance by 16 - ld a, [hl] ; quotient - ld [hNPCPlayerYDistance], a - pop hl - inc hl - ld b, e - ld a, [hl] ; NPC sprite screen X position in pixels - call CalcDifference - jr nc, .NPCEastOfOrAlignedWithPlayer -.NPCWestOfPlayer - push hl - ld hl, hNPCPlayerRelativePosFlags - bit 1, [hl] - set 1, [hl] - pop hl - jr .divideXDistance -.NPCEastOfOrAlignedWithPlayer - push hl - ld hl, hNPCPlayerRelativePosFlags - bit 1, [hl] - res 1, [hl] - pop hl -.divideXDistance - ld [hDividend2], a - ld a, 16 - ld [hDivisor2], a - call DivideBytes ; divide X absolute distance by 16 - ld a, [hQuotient2] - ld [hNPCPlayerXDistance], a - ld a, [hNPCPlayerRelativePosPerspective] - and a - ret z - ld a, [hNPCPlayerRelativePosFlags] - cpl - and $3 - ld [hNPCPlayerRelativePosFlags], a - ret - -ConvertNPCMovementDirectionsToJoypadMasks: - ld a, [hNPCMovementDirections2Index] - ld [wNPCMovementDirections2Index], a - dec a - ld de, wSimulatedJoypadStatesEnd - ld hl, wNPCMovementDirections2 - add l - ld l, a - jr nc, .loop - inc h -.loop - ld a, [hld] - call ConvertNPCMovementDirectionToJoypadMask - ld [de], a - inc de - ld a, [hNPCMovementDirections2Index] - dec a - ld [hNPCMovementDirections2Index], a - jr nz, .loop - ret - -ConvertNPCMovementDirectionToJoypadMask: - push hl - ld b, a - ld hl, NPCMovementDirectionsToJoypadMasksTable -.loop - ld a, [hli] - cp $ff - jr z, .done - cp b - jr z, .loadJoypadMask - inc hl - jr .loop -.loadJoypadMask - ld a, [hl] -.done - pop hl - ret - -NPCMovementDirectionsToJoypadMasksTable: - db NPC_MOVEMENT_UP, D_UP - db NPC_MOVEMENT_DOWN, D_DOWN - db NPC_MOVEMENT_LEFT, D_LEFT - db NPC_MOVEMENT_RIGHT, D_RIGHT - db $ff - -; unreferenced - ret diff --git a/engine/pokedex_rating.asm b/engine/pokedex_rating.asm deleted file mode 100755 index f1aaf618..00000000 --- a/engine/pokedex_rating.asm +++ /dev/null @@ -1,154 +0,0 @@ -DisplayDexRating: - ld hl, wPokedexSeen - ld b, wPokedexSeenEnd - wPokedexSeen - call CountSetBits - ld a, [wNumSetBits] - ld [hDexRatingNumMonsSeen], a - ld hl, wPokedexOwned - ld b, wPokedexOwnedEnd - wPokedexOwned - call CountSetBits - ld a, [wNumSetBits] - ld [hDexRatingNumMonsOwned], a - ld hl, DexRatingsTable -.findRating - ld a, [hli] - ld b, a - ld a, [hDexRatingNumMonsOwned] - cp b - jr c, .foundRating - inc hl - inc hl - jr .findRating -.foundRating - ld a, [hli] - ld h, [hl] - ld l, a ; load text pointer into hl - CheckAndResetEventA EVENT_HALL_OF_FAME_DEX_RATING - jr nz, .hallOfFame - push hl - ld hl, PokedexRatingText_441cc - call PrintText - pop hl - call PrintText - callba PlayPokedexRatingSfx - jp WaitForTextScrollButtonPress -.hallOfFame - ld de, wDexRatingNumMonsSeen - ld a, [hDexRatingNumMonsSeen] - ld [de], a - inc de - ld a, [hDexRatingNumMonsOwned] - ld [de], a - inc de -.copyRatingTextLoop - ld a, [hli] - cp "@" - jr z, .doneCopying - ld [de], a - inc de - jr .copyRatingTextLoop -.doneCopying - ld [de], a - ret - -PokedexRatingText_441cc: - TX_FAR _OaksLabText_441cc - db "@" - -DexRatingsTable: - db 10 - dw PokedexRatingText_44201 - db 20 - dw PokedexRatingText_44206 - db 30 - dw PokedexRatingText_4420b - db 40 - dw PokedexRatingText_44210 - db 50 - dw PokedexRatingText_44215 - db 60 - dw PokedexRatingText_4421a - db 70 - dw PokedexRatingText_4421f - db 80 - dw PokedexRatingText_44224 - db 90 - dw PokedexRatingText_44229 - db 100 - dw PokedexRatingText_4422e - db 110 - dw PokedexRatingText_44233 - db 120 - dw PokedexRatingText_44238 - db 130 - dw PokedexRatingText_4423d - db 140 - dw PokedexRatingText_44242 - db 150 - dw PokedexRatingText_44247 - db NUM_POKEMON + 1 - dw PokedexRatingText_4424c - -PokedexRatingText_44201: - TX_FAR _OaksLabText_44201 - db "@" - -PokedexRatingText_44206: - TX_FAR _OaksLabText_44206 - db "@" - -PokedexRatingText_4420b: - TX_FAR _OaksLabText_4420b - db "@" - -PokedexRatingText_44210: - TX_FAR _OaksLabText_44210 - db "@" - -PokedexRatingText_44215: - TX_FAR _OaksLabText_44215 - db "@" - -PokedexRatingText_4421a: - TX_FAR _OaksLabText_4421a - db "@" - -PokedexRatingText_4421f: - TX_FAR _OaksLabText_4421f - db "@" - -PokedexRatingText_44224: - TX_FAR _OaksLabText_44224 - db "@" - -PokedexRatingText_44229: - TX_FAR _OaksLabText_44229 - db "@" - -PokedexRatingText_4422e: - TX_FAR _OaksLabText_4422e - db "@" - -PokedexRatingText_44233: - TX_FAR _OaksLabText_44233 - db "@" - -PokedexRatingText_44238: - TX_FAR _OaksLabText_44238 - db "@" - -PokedexRatingText_4423d: - TX_FAR _OaksLabText_4423d - db "@" - -PokedexRatingText_44242: - TX_FAR _OaksLabText_44242 - db "@" - -PokedexRatingText_44247: - TX_FAR _OaksLabText_44247 - db "@" - -PokedexRatingText_4424c: - TX_FAR _OaksLabText_4424c - db "@" diff --git a/engine/pokemon/add_mon.asm b/engine/pokemon/add_mon.asm new file mode 100644 index 00000000..7627136b --- /dev/null +++ b/engine/pokemon/add_mon.asm @@ -0,0 +1,516 @@ +_AddPartyMon:: +; Adds a new mon to the player's or enemy's party. +; [wMonDataLocation] is used in an unusual way in this function. +; If the lower nybble is 0, the mon is added to the player's party, else the enemy's. +; If the entire value is 0, then the player is allowed to name the mon. + ld de, wPartyCount + ld a, [wMonDataLocation] + and $f + jr z, .next + ld de, wEnemyPartyCount +.next + ld a, [de] + inc a + cp PARTY_LENGTH + 1 + ret nc ; return if the party is already full + ld [de], a + ld a, [de] + ld [hNewPartyLength], a + add e + ld e, a + jr nc, .noCarry + inc d +.noCarry + ld a, [wcf91] + ld [de], a ; write species of new mon in party list + inc de + ld a, $ff ; terminator + ld [de], a + ld hl, wPartyMonOT + ld a, [wMonDataLocation] + and $f + jr z, .next2 + ld hl, wEnemyMonOT +.next2 + ld a, [hNewPartyLength] + dec a + call SkipFixedLengthTextEntries + ld d, h + ld e, l + ld hl, wPlayerName + ld bc, NAME_LENGTH + call CopyData + ld a, [wMonDataLocation] + and a + jr nz, .skipNaming + ld hl, wPartyMonNicks + ld a, [hNewPartyLength] + dec a + call SkipFixedLengthTextEntries + ld a, NAME_MON_SCREEN + ld [wNamingScreenType], a + predef AskName +.skipNaming + ld hl, wPartyMons + ld a, [wMonDataLocation] + and $f + jr z, .next3 + ld hl, wEnemyMons +.next3 + ld a, [hNewPartyLength] + dec a + ld bc, wPartyMon2 - wPartyMon1 + call AddNTimes + ld e, l + ld d, h + push hl + ld a, [wcf91] + ld [wd0b5], a + call GetMonHeader + ld hl, wMonHeader + ld a, [hli] + ld [de], a ; species + inc de + pop hl + push hl + ld a, [wMonDataLocation] + and $f + ld a, $98 ; set enemy trainer mon IVs to fixed average values + ld b, $88 + jr nz, .next4 + +; If the mon is being added to the player's party, update the pokedex. + ld a, [wcf91] + ld [wd11e], a + push de + predef IndexToPokedex + pop de + ld a, [wd11e] + dec a + ld c, a + ld b, FLAG_TEST + ld hl, wPokedexOwned + call FlagAction + ld a, c ; whether the mon was already flagged as owned + ld [wUnusedD153], a ; not read + ld a, [wd11e] + dec a + ld c, a + ld b, FLAG_SET + push bc + call FlagAction + pop bc + ld hl, wPokedexSeen + call FlagAction + + pop hl + push hl + + ld a, [wIsInBattle] + and a ; is this a wild mon caught in battle? + jr nz, .copyEnemyMonData + +; Not wild. + call Random ; generate random IVs + ld b, a + call Random + +.next4 + push bc + ld bc, wPartyMon1DVs - wPartyMon1 + add hl, bc + pop bc + ld [hli], a + ld [hl], b ; write IVs + ld bc, (wPartyMon1HPExp - 1) - (wPartyMon1DVs + 1) + add hl, bc + ld a, 1 + ld c, a + xor a + ld b, a + call CalcStat ; calc HP stat (set cur Hp to max HP) + ld a, [H_MULTIPLICAND+1] + ld [de], a + inc de + ld a, [H_MULTIPLICAND+2] + ld [de], a + inc de + xor a + ld [de], a ; box level + inc de + ld [de], a ; status ailments + inc de + jr .copyMonTypesAndMoves +.copyEnemyMonData + ld bc, wEnemyMon1DVs - wEnemyMon1 + add hl, bc + ld a, [wEnemyMonDVs] ; copy IVs from cur enemy mon + ld [hli], a + ld a, [wEnemyMonDVs + 1] + ld [hl], a + ld a, [wEnemyMonHP] ; copy HP from cur enemy mon + ld [de], a + inc de + ld a, [wEnemyMonHP+1] + ld [de], a + inc de + xor a + ld [de], a ; box level + inc de + ld a, [wEnemyMonStatus] ; copy status ailments from cur enemy mon + ld [de], a + inc de +.copyMonTypesAndMoves + ld hl, wMonHTypes + ld a, [hli] ; type 1 + ld [de], a + inc de + ld a, [hli] ; type 2 + ld [de], a + inc de + ld a, [hli] ; catch rate (held item in gen 2) + ld [de], a + ld hl, wMonHMoves + ld a, [hli] + inc de + push de + ld [de], a + ld a, [hli] + inc de + ld [de], a + ld a, [hli] + inc de + ld [de], a + ld a, [hli] + inc de + ld [de], a + push de + dec de + dec de + dec de + xor a + ld [wLearningMovesFromDayCare], a + predef WriteMonMoves + pop de + ld a, [wPlayerID] ; set trainer ID to player ID + inc de + ld [de], a + ld a, [wPlayerID + 1] + inc de + ld [de], a + push de + ld a, [wCurEnemyLVL] + ld d, a + callab CalcExperience + pop de + inc de + ld a, [hExperience] ; write experience + ld [de], a + inc de + ld a, [hExperience + 1] + ld [de], a + inc de + ld a, [hExperience + 2] + ld [de], a + xor a + ld b, NUM_STATS * 2 +.writeEVsLoop ; set all EVs to 0 + inc de + ld [de], a + dec b + jr nz, .writeEVsLoop + inc de + inc de + pop hl + call AddPartyMon_WriteMovePP + inc de + ld a, [wCurEnemyLVL] + ld [de], a + inc de + ld a, [wIsInBattle] + dec a + jr nz, .calcFreshStats + ld hl, wEnemyMonMaxHP + ld bc, $a + call CopyData ; copy stats of cur enemy mon + pop hl + jr .done +.calcFreshStats + pop hl + ld bc, wPartyMon1HPExp - 1 - wPartyMon1 + add hl, bc + ld b, $0 + call CalcStats ; calculate fresh set of stats +.done + scf + ret + +LoadMovePPs: + call GetPredefRegisters + ; fallthrough +AddPartyMon_WriteMovePP: + ld b, NUM_MOVES +.pploop + ld a, [hli] ; read move ID + and a + jr z, .empty + dec a + push hl + push de + push bc + ld hl, Moves + ld bc, MoveEnd - Moves + call AddNTimes + ld de, wcd6d + ld a, BANK(Moves) + call FarCopyData + pop bc + pop de + pop hl + ld a, [wcd6d + 5] ; PP is byte 5 of move data +.empty + inc de + ld [de], a + dec b + jr nz, .pploop ; there are still moves to read + ret + +; adds enemy mon [wcf91] (at position [wWhichPokemon] in enemy list) to own party +; used in the cable club trade center +_AddEnemyMonToPlayerParty:: + ld hl, wPartyCount + ld a, [hl] + cp PARTY_LENGTH + scf + ret z ; party full, return failure + inc a + ld [hl], a ; add 1 to party members + ld c, a + ld b, $0 + add hl, bc + ld a, [wcf91] + ld [hli], a ; add mon as last list entry + ld [hl], $ff ; write new sentinel + ld hl, wPartyMons + ld a, [wPartyCount] + dec a + ld bc, wPartyMon2 - wPartyMon1 + call AddNTimes + ld e, l + ld d, h + ld hl, wLoadedMon + call CopyData ; write new mon's data (from wLoadedMon) + ld hl, wPartyMonOT + ld a, [wPartyCount] + dec a + call SkipFixedLengthTextEntries + ld d, h + ld e, l + ld hl, wEnemyMonOT + ld a, [wWhichPokemon] + call SkipFixedLengthTextEntries + ld bc, NAME_LENGTH + call CopyData ; write new mon's OT name (from an enemy mon) + ld hl, wPartyMonNicks + ld a, [wPartyCount] + dec a + call SkipFixedLengthTextEntries + ld d, h + ld e, l + ld hl, wEnemyMonNicks + ld a, [wWhichPokemon] + call SkipFixedLengthTextEntries + ld bc, NAME_LENGTH + call CopyData ; write new mon's nickname (from an enemy mon) + ld a, [wcf91] + ld [wd11e], a + predef IndexToPokedex + ld a, [wd11e] + dec a + ld c, a + ld b, FLAG_SET + ld hl, wPokedexOwned + push bc + call FlagAction ; add to owned pokemon + pop bc + ld hl, wPokedexSeen + call FlagAction ; add to seen pokemon + and a + ret ; return success + +_MoveMon:: + ld a, [wMoveMonType] + and a ; BOX_TO_PARTY + jr z, .checkPartyMonSlots + cp DAYCARE_TO_PARTY + jr z, .checkPartyMonSlots + cp PARTY_TO_DAYCARE + ld hl, wDayCareMon + jr z, .findMonDataSrc + ; else it's PARTY_TO_BOX + ld hl, wNumInBox + ld a, [hl] + cp MONS_PER_BOX + jr nz, .partyOrBoxNotFull + jr .boxFull +.checkPartyMonSlots + ld hl, wPartyCount + ld a, [hl] + cp PARTY_LENGTH + jr nz, .partyOrBoxNotFull +.boxFull + scf + ret +.partyOrBoxNotFull + inc a + ld [hl], a ; increment number of mons in party/box + ld c, a + ld b, 0 + add hl, bc + ld a, [wMoveMonType] + cp DAYCARE_TO_PARTY + ld a, [wDayCareMon] + jr z, .copySpecies + ld a, [wcf91] +.copySpecies + ld [hli], a ; write new mon ID + ld [hl], $ff ; write new sentinel +.findMonDataDest + ld a, [wMoveMonType] + dec a + ld hl, wPartyMons + ld bc, wPartyMon2 - wPartyMon1 ; $2c + ld a, [wPartyCount] + jr nz, .addMonOffset + ; if it's PARTY_TO_BOX + ld hl, wBoxMons + ld bc, wBoxMon2 - wBoxMon1 ; $21 + ld a, [wNumInBox] +.addMonOffset + dec a + call AddNTimes +.findMonDataSrc + push hl + ld e, l + ld d, h + ld a, [wMoveMonType] + and a + ld hl, wBoxMons + ld bc, wBoxMon2 - wBoxMon1 ; $21 + jr z, .addMonOffset2 + cp DAYCARE_TO_PARTY + ld hl, wDayCareMon + jr z, .copyMonData + ld hl, wPartyMons + ld bc, wPartyMon2 - wPartyMon1 ; $2c +.addMonOffset2 + ld a, [wWhichPokemon] + call AddNTimes +.copyMonData + push hl + push de + ld bc, wBoxMon2 - wBoxMon1 + call CopyData + pop de + pop hl + ld a, [wMoveMonType] + and a ; BOX_TO_PARTY + jr z, .findOTdest + cp DAYCARE_TO_PARTY + jr z, .findOTdest + ld bc, wBoxMon2 - wBoxMon1 + add hl, bc + ld a, [hl] ; hl = Level + inc de + inc de + inc de + ld [de], a ; de = BoxLevel +.findOTdest + ld a, [wMoveMonType] + cp PARTY_TO_DAYCARE + ld de, wDayCareMonOT + jr z, .findOTsrc + dec a + ld hl, wPartyMonOT + ld a, [wPartyCount] + jr nz, .addOToffset + ld hl, wBoxMonOT + ld a, [wNumInBox] +.addOToffset + dec a + call SkipFixedLengthTextEntries + ld d, h + ld e, l +.findOTsrc + ld hl, wBoxMonOT + ld a, [wMoveMonType] + and a + jr z, .addOToffset2 + ld hl, wDayCareMonOT + cp DAYCARE_TO_PARTY + jr z, .copyOT + ld hl, wPartyMonOT +.addOToffset2 + ld a, [wWhichPokemon] + call SkipFixedLengthTextEntries +.copyOT + ld bc, NAME_LENGTH + call CopyData + ld a, [wMoveMonType] +.findNickDest + cp PARTY_TO_DAYCARE + ld de, wDayCareMonName + jr z, .findNickSrc + dec a + ld hl, wPartyMonNicks + ld a, [wPartyCount] + jr nz, .addNickOffset + ld hl, wBoxMonNicks + ld a, [wNumInBox] +.addNickOffset + dec a + call SkipFixedLengthTextEntries + ld d, h + ld e, l +.findNickSrc + ld hl, wBoxMonNicks + ld a, [wMoveMonType] + and a + jr z, .addNickOffset2 + ld hl, wDayCareMonName + cp DAYCARE_TO_PARTY + jr z, .copyNick + ld hl, wPartyMonNicks +.addNickOffset2 + ld a, [wWhichPokemon] + call SkipFixedLengthTextEntries +.copyNick + ld bc, NAME_LENGTH + call CopyData + pop hl + ld a, [wMoveMonType] + cp PARTY_TO_BOX + jr z, .done + cp PARTY_TO_DAYCARE + jr z, .done + push hl + srl a + add $2 + ld [wMonDataLocation], a + call LoadMonData + callba CalcLevelFromExperience + ld a, d + ld [wCurEnemyLVL], a + pop hl + ld bc, wBoxMon2 - wBoxMon1 + add hl, bc + ld [hli], a + ld d, h + ld e, l + ld bc, -18 + add hl, bc + ld b, $1 + call CalcStats +.done + and a + ret diff --git a/engine/pokemon/bills_pc.asm b/engine/pokemon/bills_pc.asm new file mode 100644 index 00000000..e5855f1d --- /dev/null +++ b/engine/pokemon/bills_pc.asm @@ -0,0 +1,548 @@ +DisplayPCMainMenu:: + xor a + ld [H_AUTOBGTRANSFERENABLED], a + call SaveScreenTilesToBuffer2 + ld a, [wNumHoFTeams] + and a + jr nz, .leaguePCAvailable + CheckEvent EVENT_GOT_POKEDEX + jr z, .noOaksPC + ld a, [wNumHoFTeams] + and a + jr nz, .leaguePCAvailable + coord hl, 0, 0 + ld b, 8 + ld c, 14 + jr .next +.noOaksPC + coord hl, 0, 0 + ld b, 6 + ld c, 14 + jr .next +.leaguePCAvailable + coord hl, 0, 0 + ld b, 10 + ld c, 14 +.next + call TextBoxBorder + call UpdateSprites + ld a, 3 + ld [wMaxMenuItem], a + CheckEvent EVENT_MET_BILL + jr nz, .metBill + coord hl, 2, 2 + ld de, SomeonesPCText + jr .next2 +.metBill + coord hl, 2, 2 + ld de, BillsPCText +.next2 + call PlaceString + coord hl, 2, 4 + ld de, wPlayerName + call PlaceString + ld l, c + ld h, b + ld de, PlayersPCText + call PlaceString + CheckEvent EVENT_GOT_POKEDEX + jr z, .noOaksPC2 + coord hl, 2, 6 + ld de, OaksPCText + call PlaceString + ld a, [wNumHoFTeams] + and a + jr z, .noLeaguePC + ld a, 4 + ld [wMaxMenuItem], a + coord hl, 2, 8 + ld de, PKMNLeaguePCText + call PlaceString + coord hl, 2, 10 + ld de, LogOffPCText + jr .next3 +.noLeaguePC + coord hl, 2, 8 + ld de, LogOffPCText + jr .next3 +.noOaksPC2 + ld a, $2 + ld [wMaxMenuItem], a + coord hl, 2, 6 + ld de, LogOffPCText +.next3 + call PlaceString + ld a, A_BUTTON | B_BUTTON + ld [wMenuWatchedKeys], a + ld a, 2 + ld [wTopMenuItemY], a + ld a, 1 + ld [wTopMenuItemX], a + xor a + ld [wCurrentMenuItem], a + ld [wLastMenuItem], a + ld a, 1 + ld [H_AUTOBGTRANSFERENABLED], a + ret + +SomeonesPCText: db "SOMEONE's PC@" +BillsPCText: db "BILL's PC@" +PlayersPCText: db "'s PC@" +OaksPCText: db "PROF.OAK's PC@" +PKMNLeaguePCText: db "LEAGUE@" +LogOffPCText: db "LOG OFF@" + +BillsPC_:: + ld hl, wd730 + set 6, [hl] + xor a + ld [wParentMenuItem], a + inc a ; MONSTER_NAME + ld [wNameListType], a + call LoadHpBarAndStatusTilePatterns + ld a, [wListScrollOffset] + push af + ld a, [wFlags_0xcd60] + bit 3, a ; accessing Bill's PC through another PC? + jr nz, BillsPCMenu +; accessing it directly + ld a, SFX_TURN_ON_PC + call PlaySound + ld hl, SwitchOnText + call PrintText + +BillsPCMenu: + ld a, [wParentMenuItem] + ld [wCurrentMenuItem], a + ld hl, vChars2 + $780 + ld de, PokeballTileGraphics + lb bc, BANK(PokeballTileGraphics), $01 + call CopyVideoData + call LoadScreenTilesFromBuffer2DisableBGTransfer + coord hl, 0, 0 + ld b, 10 + ld c, 12 + call TextBoxBorder + coord hl, 2, 2 + ld de, BillsPCMenuText + call PlaceString + ld hl, wTopMenuItemY + ld a, 2 + ld [hli], a ; wTopMenuItemY + dec a + ld [hli], a ; wTopMenuItemX + inc hl + inc hl + ld a, 4 + ld [hli], a ; wMaxMenuItem + ld a, A_BUTTON | B_BUTTON + ld [hli], a ; wMenuWatchedKeys + xor a + ld [hli], a ; wLastMenuItem + ld [hli], a ; wPartyAndBillsPCSavedMenuItem + ld hl, wListScrollOffset + ld [hli], a ; wListScrollOffset + ld [hl], a ; wMenuWatchMovingOutOfBounds + ld [wPlayerMonNumber], a + ld hl, WhatText + call PrintText + coord hl, 9, 14 + ld b, 2 + ld c, 9 + call TextBoxBorder + ld a, [wCurrentBoxNum] + and $7f + cp 9 + jr c, .singleDigitBoxNum +; two digit box num + sub 9 + coord hl, 17, 16 + ld [hl], "1" + add "0" + jr .next +.singleDigitBoxNum + add "1" +.next + Coorda 18, 16 + coord hl, 10, 16 + ld de, BoxNoPCText + call PlaceString + ld a, 1 + ld [H_AUTOBGTRANSFERENABLED], a + call Delay3 + call HandleMenuInput + bit 1, a + jp nz, ExitBillsPC ; b button + call PlaceUnfilledArrowMenuCursor + ld a, [wCurrentMenuItem] + ld [wParentMenuItem], a + and a + jp z, BillsPCWithdraw ; withdraw + cp $1 + jp z, BillsPCDeposit ; deposit + cp $2 + jp z, BillsPCRelease ; release + cp $3 + jp z, BillsPCChangeBox ; change box + +ExitBillsPC: + ld a, [wFlags_0xcd60] + bit 3, a ; accessing Bill's PC through another PC? + jr nz, .next +; accessing it directly + call LoadTextBoxTilePatterns + ld a, SFX_TURN_OFF_PC + call PlaySound + call WaitForSoundToFinish +.next + ld hl, wFlags_0xcd60 + res 5, [hl] + call LoadScreenTilesFromBuffer2 + pop af + ld [wListScrollOffset], a + ld hl, wd730 + res 6, [hl] + ret + +BillsPCDeposit: + ld a, [wPartyCount] + dec a + jr nz, .partyLargeEnough + ld hl, CantDepositLastMonText + call PrintText + jp BillsPCMenu +.partyLargeEnough + ld a, [wNumInBox] + cp MONS_PER_BOX + jr nz, .boxNotFull + ld hl, BoxFullText + call PrintText + jp BillsPCMenu +.boxNotFull + ld hl, wPartyCount + call DisplayMonListMenu + jp c, BillsPCMenu + call DisplayDepositWithdrawMenu + jp nc, BillsPCMenu + ld a, [wcf91] + call GetCryData + call PlaySoundWaitForCurrent + ld a, PARTY_TO_BOX + ld [wMoveMonType], a + call MoveMon + xor a + ld [wRemoveMonFromBox], a + call RemovePokemon + call WaitForSoundToFinish + ld hl, wBoxNumString + ld a, [wCurrentBoxNum] + and $7f + cp 9 + jr c, .singleDigitBoxNum + sub 9 + ld [hl], "1" + inc hl + add "0" + jr .next +.singleDigitBoxNum + add "1" +.next + ld [hli], a + ld [hl], "@" + ld hl, MonWasStoredText + call PrintText + jp BillsPCMenu + +BillsPCWithdraw: + ld a, [wNumInBox] + and a + jr nz, .boxNotEmpty + ld hl, NoMonText + call PrintText + jp BillsPCMenu +.boxNotEmpty + ld a, [wPartyCount] + cp PARTY_LENGTH + jr nz, .partyNotFull + ld hl, CantTakeMonText + call PrintText + jp BillsPCMenu +.partyNotFull + ld hl, wNumInBox + call DisplayMonListMenu + jp c, BillsPCMenu + call DisplayDepositWithdrawMenu + jp nc, BillsPCMenu + ld a, [wWhichPokemon] + ld hl, wBoxMonNicks + call GetPartyMonName + ld a, [wcf91] + call GetCryData + call PlaySoundWaitForCurrent + xor a ; BOX_TO_PARTY + ld [wMoveMonType], a + call MoveMon + ld a, 1 + ld [wRemoveMonFromBox], a + call RemovePokemon + call WaitForSoundToFinish + ld hl, MonIsTakenOutText + call PrintText + jp BillsPCMenu + +BillsPCRelease: + ld a, [wNumInBox] + and a + jr nz, .loop + ld hl, NoMonText + call PrintText + jp BillsPCMenu +.loop + ld hl, wNumInBox + call DisplayMonListMenu + jp c, BillsPCMenu + ld hl, OnceReleasedText + call PrintText + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + jr nz, .loop + inc a + ld [wRemoveMonFromBox], a + call RemovePokemon + call WaitForSoundToFinish + ld a, [wcf91] + call PlayCry + ld hl, MonWasReleasedText + call PrintText + jp BillsPCMenu + +BillsPCChangeBox: + callba ChangeBox + jp BillsPCMenu + +DisplayMonListMenu: + ld a, l + ld [wListPointer], a + ld a, h + ld [wListPointer + 1], a + xor a + ld [wPrintItemPrices], a + ld [wListMenuID], a + inc a ; MONSTER_NAME + ld [wNameListType], a + ld a, [wPartyAndBillsPCSavedMenuItem] + ld [wCurrentMenuItem], a + call DisplayListMenuID + ld a, [wCurrentMenuItem] + ld [wPartyAndBillsPCSavedMenuItem], a + ret + +BillsPCMenuText: + db "WITHDRAW " + next "DEPOSIT " + next "RELEASE " + next "CHANGE BOX" + next "SEE YA!" + db "@" + +BoxNoPCText: + db "BOX No.@" + +KnowsHMMove:: +; returns whether mon with party index [wWhichPokemon] knows an HM move + ld hl, wPartyMon1Moves + ld bc, wPartyMon2 - wPartyMon1 + jr .next +; unreachable + ld hl, wBoxMon1Moves + ld bc, wBoxMon2 - wBoxMon1 +.next + ld a, [wWhichPokemon] + call AddNTimes + ld b, NUM_MOVES +.loop + ld a, [hli] + push hl + push bc + ld hl, HMMoveArray + ld de, 1 + call IsInArray + pop bc + pop hl + ret c + dec b + jr nz, .loop + and a + ret + +INCLUDE "data/hm_moves.asm" + +DisplayDepositWithdrawMenu: + coord hl, 9, 10 + ld b, 6 + ld c, 9 + call TextBoxBorder + ld a, [wParentMenuItem] + and a ; was the Deposit or Withdraw item selected in the parent menu? + ld de, DepositPCText + jr nz, .next + ld de, WithdrawPCText +.next + coord hl, 11, 12 + call PlaceString + coord hl, 11, 14 + ld de, StatsCancelPCText + call PlaceString + ld hl, wTopMenuItemY + ld a, 12 + ld [hli], a ; wTopMenuItemY + ld a, 10 + ld [hli], a ; wTopMenuItemX + xor a + ld [hli], a ; wCurrentMenuItem + inc hl + ld a, 2 + ld [hli], a ; wMaxMenuItem + ld a, A_BUTTON | B_BUTTON + ld [hli], a ; wMenuWatchedKeys + xor a + ld [hl], a ; wLastMenuItem + ld hl, wListScrollOffset + ld [hli], a ; wListScrollOffset + ld [hl], a ; wMenuWatchMovingOutOfBounds + ld [wPlayerMonNumber], a + ld [wPartyAndBillsPCSavedMenuItem], a +.loop + call HandleMenuInput + bit 1, a ; pressed B? + jr nz, .exit + ld a, [wCurrentMenuItem] + and a + jr z, .choseDepositWithdraw + dec a + jr z, .viewStats +.exit + and a + ret +.choseDepositWithdraw + scf + ret +.viewStats + call SaveScreenTilesToBuffer1 + ld a, [wParentMenuItem] + and a + ld a, PLAYER_PARTY_DATA + jr nz, .next2 + ld a, BOX_DATA +.next2 + ld [wMonDataLocation], a + predef StatusScreen + predef StatusScreen2 + call LoadScreenTilesFromBuffer1 + call ReloadTilesetTilePatterns + call RunDefaultPaletteCommand + call LoadGBPal + jr .loop + +DepositPCText: db "DEPOSIT@" +WithdrawPCText: db "WITHDRAW@" +StatsCancelPCText: + db "STATS" + next "CANCEL@" + +SwitchOnText: + TX_FAR _SwitchOnText + db "@" + +WhatText: + TX_FAR _WhatText + db "@" + +DepositWhichMonText: + TX_FAR _DepositWhichMonText + db "@" + +MonWasStoredText: + TX_FAR _MonWasStoredText + db "@" + +CantDepositLastMonText: + TX_FAR _CantDepositLastMonText + db "@" + +BoxFullText: + TX_FAR _BoxFullText + db "@" + +MonIsTakenOutText: + TX_FAR _MonIsTakenOutText + db "@" + +NoMonText: + TX_FAR _NoMonText + db "@" + +CantTakeMonText: + TX_FAR _CantTakeMonText + db "@" + +ReleaseWhichMonText: + TX_FAR _ReleaseWhichMonText + db "@" + +OnceReleasedText: + TX_FAR _OnceReleasedText + db "@" + +MonWasReleasedText: + TX_FAR _MonWasReleasedText + db "@" + +CableClubLeftGameboy:: + ld a, [hSerialConnectionStatus] + cp USING_EXTERNAL_CLOCK + ret z + ld a, [wSpriteStateData1 + 9] ; player's sprite facing direction + cp SPRITE_FACING_RIGHT + ret nz + ld a, [wCurMap] + cp TRADE_CENTER + ld a, LINK_STATE_START_TRADE + jr z, .next + inc a ; LINK_STATE_START_BATTLE +.next + ld [wLinkState], a + call EnableAutoTextBoxDrawing + tx_pre_jump JustAMomentText + +CableClubRightGameboy:: + ld a, [hSerialConnectionStatus] + cp USING_INTERNAL_CLOCK + ret z + ld a, [wSpriteStateData1 + 9] ; player's sprite facing direction + cp SPRITE_FACING_LEFT + ret nz + ld a, [wCurMap] + cp TRADE_CENTER + ld a, LINK_STATE_START_TRADE + jr z, .next + inc a ; LINK_STATE_START_BATTLE +.next + ld [wLinkState], a + call EnableAutoTextBoxDrawing + tx_pre_jump JustAMomentText + +JustAMomentText:: + TX_FAR _JustAMomentText + db "@" + + ld a, [wSpriteStateData1 + 9] ; player's sprite facing direction + cp SPRITE_FACING_UP + ret nz + call EnableAutoTextBoxDrawing + tx_pre_jump OpenBillsPCText + +OpenBillsPCText:: + TX_BILLS_PC + diff --git a/engine/pokemon/evos_moves.asm b/engine/pokemon/evos_moves.asm new file mode 100755 index 00000000..f50f8081 --- /dev/null +++ b/engine/pokemon/evos_moves.asm @@ -0,0 +1,513 @@ +; try to evolve the mon in [wWhichPokemon] +TryEvolvingMon: + ld hl, wCanEvolveFlags + xor a + ld [hl], a + ld a, [wWhichPokemon] + ld c, a + ld b, FLAG_SET + call Evolution_FlagAction + +; this is only called after battle +; it is supposed to do level up evolutions, though there is a bug that allows item evolutions to occur +EvolutionAfterBattle: + ld a, [hTilesetType] + push af + xor a + ld [wEvolutionOccurred], a + dec a + ld [wWhichPokemon], a + push hl + push bc + push de + ld hl, wPartyCount + push hl + +Evolution_PartyMonLoop: ; loop over party mons + ld hl, wWhichPokemon + inc [hl] + pop hl + inc hl + ld a, [hl] + cp $ff ; have we reached the end of the party? + jp z, .done + ld [wEvoOldSpecies], a + push hl + ld a, [wWhichPokemon] + ld c, a + ld hl, wCanEvolveFlags + ld b, FLAG_TEST + call Evolution_FlagAction + ld a, c + and a ; is the mon's bit set? + jp z, Evolution_PartyMonLoop ; if not, go to the next mon + ld a, [wEvoOldSpecies] + dec a + ld b, 0 + ld hl, EvosMovesPointerTable + add a + rl b + ld c, a + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + push hl + ld a, [wcf91] + push af + xor a ; PLAYER_PARTY_DATA + ld [wMonDataLocation], a + call LoadMonData + pop af + ld [wcf91], a + pop hl + +.evoEntryLoop ; loop over evolution entries + ld a, [hli] + and a ; have we reached the end of the evolution data? + jr z, Evolution_PartyMonLoop + ld b, a ; evolution type + cp EV_TRADE + jr z, .checkTradeEvo +; not trade evolution + ld a, [wLinkState] + cp LINK_STATE_TRADING + jr z, Evolution_PartyMonLoop ; if trading, go the next mon + ld a, b + cp EV_ITEM + jr z, .checkItemEvo + ld a, [wForceEvolution] + and a + jr nz, Evolution_PartyMonLoop + ld a, b + cp EV_LEVEL + jr z, .checkLevel +.checkTradeEvo + ld a, [wLinkState] + cp LINK_STATE_TRADING + jp nz, .nextEvoEntry1 ; if not trading, go to the next evolution entry + ld a, [hli] ; level requirement + ld b, a + ld a, [wLoadedMonLevel] + cp b ; is the mon's level greater than the evolution requirement? + jp c, Evolution_PartyMonLoop ; if so, go the next mon + jr .doEvolution +.checkItemEvo + ld a, [hli] + ld b, a ; evolution item + ld a, [wcf91] ; this is supposed to be the last item used, but it is also used to hold species numbers + cp b ; was the evolution item in this entry used? + jp nz, .nextEvoEntry1 ; if not, go to the next evolution entry +.checkLevel + ld a, [hli] ; level requirement + ld b, a + ld a, [wLoadedMonLevel] + cp b ; is the mon's level greater than the evolution requirement? + jp c, .nextEvoEntry2 ; if so, go the next evolution entry +.doEvolution + ld [wCurEnemyLVL], a + ld a, 1 + ld [wEvolutionOccurred], a + push hl + ld a, [hl] + ld [wEvoNewSpecies], a + ld a, [wWhichPokemon] + ld hl, wPartyMonNicks + call GetPartyMonName + call CopyStringToCF4B + ld hl, IsEvolvingText + call PrintText + ld c, 50 + call DelayFrames + xor a + ld [H_AUTOBGTRANSFERENABLED], a + coord hl, 0, 0 + lb bc, 12, 20 + call ClearScreenArea + ld a, $1 + ld [H_AUTOBGTRANSFERENABLED], a + ld a, $ff + ld [wUpdateSpritesEnabled], a + call ClearSprites + callab EvolveMon + jp c, CancelledEvolution + ld hl, EvolvedText + call PrintText + pop hl + ld a, [hl] + ld [wd0b5], a + ld [wLoadedMonSpecies], a + ld [wEvoNewSpecies], a + ld a, MONSTER_NAME + ld [wNameListType], a + ld a, BANK(TrainerNames) ; bank is not used for monster names + ld [wPredefBank], a + call GetName + push hl + ld hl, IntoText + call PrintText_NoCreatingTextBox + ld a, SFX_GET_ITEM_2 + call PlaySoundWaitForCurrent + call WaitForSoundToFinish + ld c, 40 + call DelayFrames + call ClearScreen + call RenameEvolvedMon + ld a, [wd11e] + push af + ld a, [wd0b5] + ld [wd11e], a + predef IndexToPokedex + ld a, [wd11e] + dec a + ld hl, BaseStats + ld bc, MonBaseStatsEnd - MonBaseStats + call AddNTimes + ld de, wMonHeader + call CopyData + ld a, [wd0b5] + ld [wMonHIndex], a + pop af + ld [wd11e], a + ld hl, wLoadedMonHPExp - 1 + ld de, wLoadedMonStats + ld b, $1 + call CalcStats + ld a, [wWhichPokemon] + ld hl, wPartyMon1 + ld bc, wPartyMon2 - wPartyMon1 + call AddNTimes + ld e, l + ld d, h + push hl + push bc + ld bc, wPartyMon1MaxHP - wPartyMon1 + add hl, bc + ld a, [hli] + ld b, a + ld c, [hl] + ld hl, wLoadedMonMaxHP + 1 + ld a, [hld] + sub c + ld c, a + ld a, [hl] + sbc b + ld b, a + ld hl, wLoadedMonHP + 1 + ld a, [hl] + add c + ld [hld], a + ld a, [hl] + adc b + ld [hl], a + dec hl + pop bc + call CopyData + ld a, [wd0b5] + ld [wd11e], a + xor a + ld [wMonDataLocation], a + call LearnMoveFromLevelUp + pop hl + predef SetPartyMonTypes + ld a, [wIsInBattle] + and a + call z, Evolution_ReloadTilesetTilePatterns + predef IndexToPokedex + ld a, [wd11e] + dec a + ld c, a + ld b, FLAG_SET + ld hl, wPokedexOwned + push bc + call Evolution_FlagAction + pop bc + ld hl, wPokedexSeen + call Evolution_FlagAction + pop de + pop hl + ld a, [wLoadedMonSpecies] + ld [hl], a + push hl + ld l, e + ld h, d + jr .nextEvoEntry2 + +.nextEvoEntry1 + inc hl + +.nextEvoEntry2 + inc hl + jp .evoEntryLoop + +.done + pop de + pop bc + pop hl + pop af + ld [hTilesetType], a + ld a, [wLinkState] + cp LINK_STATE_TRADING + ret z + ld a, [wIsInBattle] + and a + ret nz + ld a, [wEvolutionOccurred] + and a + call nz, PlayDefaultMusic + ret + +RenameEvolvedMon: +; Renames the mon to its new, evolved form's standard name unless it had a +; nickname, in which case the nickname is kept. + ld a, [wd0b5] + push af + ld a, [wMonHIndex] + ld [wd0b5], a + call GetName + pop af + ld [wd0b5], a + ld hl, wcd6d + ld de, wcf4b +.compareNamesLoop + ld a, [de] + inc de + cp [hl] + inc hl + ret nz + cp "@" + jr nz, .compareNamesLoop + ld a, [wWhichPokemon] + ld bc, NAME_LENGTH + ld hl, wPartyMonNicks + call AddNTimes + push hl + call GetName + ld hl, wcd6d + pop de + jp CopyData + +CancelledEvolution: + ld hl, StoppedEvolvingText + call PrintText + call ClearScreen + pop hl + call Evolution_ReloadTilesetTilePatterns + jp Evolution_PartyMonLoop + +EvolvedText: + TX_FAR _EvolvedText + db "@" + +IntoText: + TX_FAR _IntoText + db "@" + +StoppedEvolvingText: + TX_FAR _StoppedEvolvingText + db "@" + +IsEvolvingText: + TX_FAR _IsEvolvingText + db "@" + +Evolution_ReloadTilesetTilePatterns: + ld a, [wLinkState] + cp LINK_STATE_TRADING + ret z + jp ReloadTilesetTilePatterns + +LearnMoveFromLevelUp: + ld hl, EvosMovesPointerTable + ld a, [wd11e] ; species + ld [wcf91], a + dec a + ld bc, 0 + ld hl, EvosMovesPointerTable + add a + rl b + ld c, a + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a +.skipEvolutionDataLoop ; loop to skip past the evolution data, which comes before the move data + ld a, [hli] + and a ; have we reached the end of the evolution data? + jr nz, .skipEvolutionDataLoop ; if not, jump back up +.learnSetLoop ; loop over the learn set until we reach a move that is learnt at the current level or the end of the list + ld a, [hli] + and a ; have we reached the end of the learn set? + jr z, .done ; if we've reached the end of the learn set, jump + ld b, a ; level the move is learnt at + ld a, [wCurEnemyLVL] + cp b ; is the move learnt at the mon's current level? + ld a, [hli] ; move ID + jr nz, .learnSetLoop + ld d, a ; ID of move to learn + ld a, [wMonDataLocation] + and a + jr nz, .next +; If [wMonDataLocation] is 0 (PLAYER_PARTY_DATA), get the address of the mon's +; current moves in party data. Every call to this function sets +; [wMonDataLocation] to 0 because other data locations are not supported. +; If it is not 0, this function will not work properly. + ld hl, wPartyMon1Moves + ld a, [wWhichPokemon] + ld bc, wPartyMon2 - wPartyMon1 + call AddNTimes +.next + ld b, NUM_MOVES +.checkCurrentMovesLoop ; check if the move to learn is already known + ld a, [hli] + cp d + jr z, .done ; if already known, jump + dec b + jr nz, .checkCurrentMovesLoop + ld a, d + ld [wMoveNum], a + ld [wd11e], a + call GetMoveName + call CopyStringToCF4B + predef LearnMove +.done + ld a, [wcf91] + ld [wd11e], a + ret + +; writes the moves a mon has at level [wCurEnemyLVL] to [de] +; move slots are being filled up sequentially and shifted if all slots are full +WriteMonMoves: + call GetPredefRegisters + push hl + push de + push bc + ld hl, EvosMovesPointerTable + ld b, 0 + ld a, [wcf91] ; cur mon ID + dec a + add a + rl b + ld c, a + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a +.skipEvoEntriesLoop + ld a, [hli] + and a + jr nz, .skipEvoEntriesLoop + jr .firstMove +.nextMove + pop de +.nextMove2 + inc hl +.firstMove + ld a, [hli] ; read level of next move in learnset + and a + jp z, .done ; end of list + ld b, a + ld a, [wCurEnemyLVL] + cp b + jp c, .done ; mon level < move level (assumption: learnset is sorted by level) + ld a, [wLearningMovesFromDayCare] + and a + jr z, .skipMinLevelCheck + ld a, [wDayCareStartLevel] + cp b + jr nc, .nextMove2 ; min level >= move level + +.skipMinLevelCheck + +; check if the move is already known + push de + ld c, NUM_MOVES +.alreadyKnowsCheckLoop + ld a, [de] + inc de + cp [hl] + jr z, .nextMove + dec c + jr nz, .alreadyKnowsCheckLoop + +; try to find an empty move slot + pop de + push de + ld c, NUM_MOVES +.findEmptySlotLoop + ld a, [de] + and a + jr z, .writeMoveToSlot2 + inc de + dec c + jr nz, .findEmptySlotLoop + +; no empty move slots found + pop de + push de + push hl + ld h, d + ld l, e + call WriteMonMoves_ShiftMoveData ; shift all moves one up (deleting move 1) + ld a, [wLearningMovesFromDayCare] + and a + jr z, .writeMoveToSlot + +; shift PP as well if learning moves from day care + push de + ld bc, wPartyMon1PP - (wPartyMon1Moves + 3) + add hl, bc + ld d, h + ld e, l + call WriteMonMoves_ShiftMoveData ; shift all move PP data one up + pop de + +.writeMoveToSlot + pop hl +.writeMoveToSlot2 + ld a, [hl] + ld [de], a + ld a, [wLearningMovesFromDayCare] + and a + jr z, .nextMove + +; write move PP value if learning moves from day care + push hl + ld a, [hl] + ld hl, wPartyMon1PP - wPartyMon1Moves + add hl, de + push hl + dec a + ld hl, Moves + ld bc, MoveEnd - Moves + call AddNTimes + ld de, wBuffer + ld a, BANK(Moves) + call FarCopyData + ld a, [wBuffer + 5] + pop hl + ld [hl], a + pop hl + jr .nextMove + +.done + pop bc + pop de + pop hl + ret + +; shifts all move data one up (freeing 4th move slot) +WriteMonMoves_ShiftMoveData: + ld c, NUM_MOVES - 1 +.loop + inc de + ld a, [de] + ld [hli], a + dec c + jr nz, .loop + ret + +Evolution_FlagAction: + predef_jump FlagActionPredef + +INCLUDE "data/evos_moves.asm" diff --git a/engine/pokemon/experience.asm b/engine/pokemon/experience.asm new file mode 100755 index 00000000..3ee4b2a8 --- /dev/null +++ b/engine/pokemon/experience.asm @@ -0,0 +1,149 @@ +; calculates the level a mon should be based on its current exp +CalcLevelFromExperience:: + ld a, [wLoadedMonSpecies] + ld [wd0b5], a + call GetMonHeader + ld d, $1 ; init level to 1 +.loop + inc d ; increment level + call CalcExperience + push hl + ld hl, wLoadedMonExp + 2 ; current exp +; compare exp needed for level d with current exp + ld a, [hExperience + 2] + ld c, a + ld a, [hld] + sub c + ld a, [hExperience + 1] + ld c, a + ld a, [hld] + sbc c + ld a, [hExperience] + ld c, a + ld a, [hl] + sbc c + pop hl + jr nc, .loop ; if exp needed for level d is not greater than exp, try the next level + dec d ; since the exp was too high on the last loop iteration, go back to the previous value and return + ret + +; calculates the amount of experience needed for level d +CalcExperience:: + ld a, [wMonHGrowthRate] + add a + add a + ld c, a + ld b, 0 + ld hl, GrowthRateTable + add hl, bc + call CalcDSquared + ld a, d + ld [H_MULTIPLIER], a + call Multiply + ld a, [hl] + and $f0 + swap a + ld [H_MULTIPLIER], a + call Multiply + ld a, [hli] + and $f + ld [H_DIVISOR], a + ld b, $4 + call Divide + ld a, [H_QUOTIENT + 1] + push af + ld a, [H_QUOTIENT + 2] + push af + ld a, [H_QUOTIENT + 3] + push af + call CalcDSquared + ld a, [hl] + and $7f + ld [H_MULTIPLIER], a + call Multiply + ld a, [H_PRODUCT + 1] + push af + ld a, [H_PRODUCT + 2] + push af + ld a, [H_PRODUCT + 3] + push af + ld a, [hli] + push af + xor a + ld [H_MULTIPLICAND], a + ld [H_MULTIPLICAND + 1], a + ld a, d + ld [H_MULTIPLICAND + 2], a + ld a, [hli] + ld [H_MULTIPLIER], a + call Multiply + ld b, [hl] + ld a, [H_PRODUCT + 3] + sub b + ld [H_PRODUCT + 3], a + ld b, $0 + ld a, [H_PRODUCT + 2] + sbc b + ld [H_PRODUCT + 2], a + ld a, [H_PRODUCT + 1] + sbc b + ld [H_PRODUCT + 1], a +; The difference of the linear term and the constant term consists of 3 bytes +; starting at H_PRODUCT + 1. Below, hExperience (an alias of that address) will +; be used instead for the further work of adding or subtracting the squared +; term and adding the cubed term. + pop af + and $80 + jr nz, .subtractSquaredTerm ; check sign + pop bc + ld a, [hExperience + 2] + add b + ld [hExperience + 2], a + pop bc + ld a, [hExperience + 1] + adc b + ld [hExperience + 1], a + pop bc + ld a, [hExperience] + adc b + ld [hExperience], a + jr .addCubedTerm +.subtractSquaredTerm + pop bc + ld a, [hExperience + 2] + sub b + ld [hExperience + 2], a + pop bc + ld a, [hExperience + 1] + sbc b + ld [hExperience + 1], a + pop bc + ld a, [hExperience] + sbc b + ld [hExperience], a +.addCubedTerm + pop bc + ld a, [hExperience + 2] + add b + ld [hExperience + 2], a + pop bc + ld a, [hExperience + 1] + adc b + ld [hExperience + 1], a + pop bc + ld a, [hExperience] + adc b + ld [hExperience], a + ret + +; calculates d*d +CalcDSquared: + xor a + ld [H_MULTIPLICAND], a + ld [H_MULTIPLICAND + 1], a + ld a, d + ld [H_MULTIPLICAND + 2], a + ld [H_MULTIPLIER], a + jp Multiply + +INCLUDE "data/growth_rates.asm" diff --git a/engine/pokemon/learn_move.asm b/engine/pokemon/learn_move.asm new file mode 100755 index 00000000..53c7f87e --- /dev/null +++ b/engine/pokemon/learn_move.asm @@ -0,0 +1,226 @@ +LearnMove: + call SaveScreenTilesToBuffer1 + ld a, [wWhichPokemon] + ld hl, wPartyMonNicks + call GetPartyMonName + ld hl, wcd6d + ld de, wLearnMoveMonName + ld bc, NAME_LENGTH + call CopyData + +DontAbandonLearning: + ld hl, wPartyMon1Moves + ld bc, wPartyMon2Moves - wPartyMon1Moves + ld a, [wWhichPokemon] + call AddNTimes + ld d, h + ld e, l + ld b, NUM_MOVES +.findEmptyMoveSlotLoop + ld a, [hl] + and a + jr z, .next + inc hl + dec b + jr nz, .findEmptyMoveSlotLoop + push de + call TryingToLearn + pop de + jp c, AbandonLearning + push hl + push de + ld [wd11e], a + call GetMoveName + ld hl, OneTwoAndText + call PrintText + pop de + pop hl +.next + ld a, [wMoveNum] + ld [hl], a + ld bc, wPartyMon1PP - wPartyMon1Moves + add hl, bc + push hl + push de + dec a + ld hl, Moves + ld bc, MoveEnd - Moves + call AddNTimes + ld de, wBuffer + ld a, BANK(Moves) + call FarCopyData + ld a, [wBuffer + 5] ; a = move's max PP + pop de + pop hl + ld [hl], a + ld a, [wIsInBattle] + and a + jp z, PrintLearnedMove + ld a, [wWhichPokemon] + ld b, a + ld a, [wPlayerMonNumber] + cp b + jp nz, PrintLearnedMove + ld h, d + ld l, e + ld de, wBattleMonMoves + ld bc, NUM_MOVES + call CopyData + ld bc, wPartyMon1PP - wPartyMon1OTID + add hl, bc + ld de, wBattleMonPP + ld bc, NUM_MOVES + call CopyData + jp PrintLearnedMove + +AbandonLearning: + ld hl, AbandonLearningText + call PrintText + coord hl, 14, 7 + lb bc, 8, 15 + ld a, TWO_OPTION_MENU + ld [wTextBoxID], a + call DisplayTextBoxID ; yes/no menu + ld a, [wCurrentMenuItem] + and a + jp nz, DontAbandonLearning + ld hl, DidNotLearnText + call PrintText + ld b, 0 + ret + +PrintLearnedMove: + ld hl, LearnedMove1Text + call PrintText + ld b, 1 + ret + +TryingToLearn: + push hl + ld hl, TryingToLearnText + call PrintText + coord hl, 14, 7 + lb bc, 8, 15 + ld a, TWO_OPTION_MENU + ld [wTextBoxID], a + call DisplayTextBoxID ; yes/no menu + pop hl + ld a, [wCurrentMenuItem] + rra + ret c + ld bc, -NUM_MOVES + add hl, bc + push hl + ld de, wMoves + ld bc, NUM_MOVES + call CopyData + callab FormatMovesString + pop hl +.loop + push hl + ld hl, WhichMoveToForgetText + call PrintText + coord hl, 4, 7 + ld b, 4 + ld c, 14 + call TextBoxBorder + coord hl, 6, 8 + ld de, wMovesString + ld a, [hFlags_0xFFF6] + set 2, a + ld [hFlags_0xFFF6], a + call PlaceString + ld a, [hFlags_0xFFF6] + res 2, a + ld [hFlags_0xFFF6], a + ld hl, wTopMenuItemY + ld a, 8 + ld [hli], a ; wTopMenuItemY + ld a, 5 + ld [hli], a ; wTopMenuItemX + xor a + ld [hli], a ; wCurrentMenuItem + inc hl + ld a, [wNumMovesMinusOne] + ld [hli], a ; wMaxMenuItem + ld a, A_BUTTON | B_BUTTON + ld [hli], a ; wMenuWatchedKeys + ld [hl], 0 ; wLastMenuItem + ld hl, hFlags_0xFFF6 + set 1, [hl] + call HandleMenuInput + ld hl, hFlags_0xFFF6 + res 1, [hl] + push af + call LoadScreenTilesFromBuffer1 + pop af + pop hl + bit 1, a ; pressed b + jr nz, .cancel + push hl + ld a, [wCurrentMenuItem] + ld c, a + ld b, 0 + add hl, bc + ld a, [hl] + push af + push bc + call IsMoveHM + pop bc + pop de + ld a, d + jr c, .hm + pop hl + add hl, bc + and a + ret +.hm + ld hl, HMCantDeleteText + call PrintText + pop hl + jr .loop +.cancel + scf + ret + +LearnedMove1Text: + TX_FAR _LearnedMove1Text + TX_SFX_ITEM_1 ; plays SFX_GET_ITEM_1 in the party menu (rare candy) and plays SFX_LEVEL_UP in battle + TX_BLINK + db "@" + +WhichMoveToForgetText: + TX_FAR _WhichMoveToForgetText + db "@" + +AbandonLearningText: + TX_FAR _AbandonLearningText + db "@" + +DidNotLearnText: + TX_FAR _DidNotLearnText + db "@" + +TryingToLearnText: + TX_FAR _TryingToLearnText + db "@" + +OneTwoAndText: + TX_FAR _OneTwoAndText + TX_DELAY + TX_ASM + ld a, SFX_SWAP + call PlaySoundWaitForCurrent + ld hl, PoofText + ret + +PoofText: + TX_FAR _PoofText + TX_DELAY +ForgotAndText: + TX_FAR _ForgotAndText + db "@" + +HMCantDeleteText: + TX_FAR _HMCantDeleteText + db "@" diff --git a/engine/pokemon/load_mon_data.asm b/engine/pokemon/load_mon_data.asm new file mode 100644 index 00000000..480ab1ca --- /dev/null +++ b/engine/pokemon/load_mon_data.asm @@ -0,0 +1,49 @@ +LoadMonData_:: +; Load monster [wWhichPokemon] from list [wMonDataLocation]: +; 0: partymon +; 1: enemymon +; 2: boxmon +; 3: daycaremon +; Return monster id at wcf91 and its data at wLoadedMon. +; Also load base stats at wMonHeader for convenience. + + ld a, [wDayCareMonSpecies] + ld [wcf91], a + ld a, [wMonDataLocation] + cp DAYCARE_DATA + jr z, .GetMonHeader + + ld a, [wWhichPokemon] + ld e, a + callab GetMonSpecies + +.GetMonHeader + ld a, [wcf91] + ld [wd0b5], a ; input for GetMonHeader + call GetMonHeader + + ld hl, wPartyMons + ld bc, wPartyMon2 - wPartyMon1 + ld a, [wMonDataLocation] + cp ENEMY_PARTY_DATA + jr c, .getMonEntry + + ld hl, wEnemyMons + jr z, .getMonEntry + + cp 2 + ld hl, wBoxMons + ld bc, wBoxMon2 - wBoxMon1 + jr z, .getMonEntry + + ld hl, wDayCareMon + jr .copyMonData + +.getMonEntry + ld a, [wWhichPokemon] + call AddNTimes + +.copyMonData + ld de, wLoadedMon + ld bc, wPartyMon2 - wPartyMon1 + jp CopyData diff --git a/engine/pokemon/remove_mon.asm b/engine/pokemon/remove_mon.asm new file mode 100644 index 00000000..6f7e91d6 --- /dev/null +++ b/engine/pokemon/remove_mon.asm @@ -0,0 +1,95 @@ +_RemovePokemon:: + ld hl, wPartyCount + ld a, [wRemoveMonFromBox] + and a + jr z, .asm_7b74 + ld hl, wNumInBox +.asm_7b74 + ld a, [hl] + dec a + ld [hli], a + ld a, [wWhichPokemon] + ld c, a + ld b, $0 + add hl, bc + ld e, l + ld d, h + inc de +.asm_7b81 + ld a, [de] + inc de + ld [hli], a + inc a + jr nz, .asm_7b81 + ld hl, wPartyMonOT + ld d, $5 + ld a, [wRemoveMonFromBox] + and a + jr z, .asm_7b97 + ld hl, wBoxMonOT + ld d, $13 +.asm_7b97 + ld a, [wWhichPokemon] + call SkipFixedLengthTextEntries + ld a, [wWhichPokemon] + cp d + jr nz, .asm_7ba6 + ld [hl], $ff + ret +.asm_7ba6 + ld d, h + ld e, l + ld bc, NAME_LENGTH + add hl, bc + ld bc, wPartyMonNicks + ld a, [wRemoveMonFromBox] + and a + jr z, .asm_7bb8 + ld bc, wBoxMonNicks +.asm_7bb8 + call CopyDataUntil + ld hl, wPartyMons + ld bc, wPartyMon2 - wPartyMon1 + ld a, [wRemoveMonFromBox] + and a + jr z, .asm_7bcd + ld hl, wBoxMons + ld bc, wBoxMon2 - wBoxMon1 +.asm_7bcd + ld a, [wWhichPokemon] + call AddNTimes + ld d, h + ld e, l + ld a, [wRemoveMonFromBox] + and a + jr z, .asm_7be4 + ld bc, wBoxMon2 - wBoxMon1 + add hl, bc + ld bc, wBoxMonOT + jr .asm_7beb +.asm_7be4 + ld bc, wPartyMon2 - wPartyMon1 + add hl, bc + ld bc, wPartyMonOT +.asm_7beb + call CopyDataUntil + ld hl, wPartyMonNicks + ld a, [wRemoveMonFromBox] + and a + jr z, .asm_7bfa + ld hl, wBoxMonNicks +.asm_7bfa + ld bc, NAME_LENGTH + ld a, [wWhichPokemon] + call AddNTimes + ld d, h + ld e, l + ld bc, NAME_LENGTH + add hl, bc + ld bc, wPokedexOwned + ld a, [wRemoveMonFromBox] + and a + jr z, .asm_7c15 + ld bc, wBoxMonNicksEnd +.asm_7c15 + jp CopyDataUntil diff --git a/engine/pokemon/set_types.asm b/engine/pokemon/set_types.asm new file mode 100755 index 00000000..e9235f13 --- /dev/null +++ b/engine/pokemon/set_types.asm @@ -0,0 +1,15 @@ +; updates the types of a party mon (pointed to in hl) to the ones of the mon specified in wd11e +SetPartyMonTypes: + call GetPredefRegisters + ld bc, wPartyMon1Type - wPartyMon1 ; $5 + add hl, bc + ld a, [wd11e] + ld [wd0b5], a + push hl + call GetMonHeader + pop hl + ld a, [wMonHType1] + ld [hli], a + ld a, [wMonHType2] + ld [hl], a + ret diff --git a/engine/pokemon/status_ailments.asm b/engine/pokemon/status_ailments.asm new file mode 100755 index 00000000..3da1fc43 --- /dev/null +++ b/engine/pokemon/status_ailments.asm @@ -0,0 +1,46 @@ +PrintStatusAilment:: + ld a, [de] + bit PSN, a + jr nz, .psn + bit BRN, a + jr nz, .brn + bit FRZ, a + jr nz, .frz + bit PAR, a + jr nz, .par + and SLP + ret z + ld a, "S" + ld [hli], a + ld a, "L" + ld [hli], a + ld [hl], "P" + ret +.psn + ld a, "P" + ld [hli], a + ld a, "S" + ld [hli], a + ld [hl], "N" + ret +.brn + ld a, "B" + ld [hli], a + ld a, "R" + ld [hli], a + ld [hl], "N" + ret +.frz + ld a, "F" + ld [hli], a + ld a, "R" + ld [hli], a + ld [hl], "Z" + ret +.par + ld a, "P" + ld [hli], a + ld a, "A" + ld [hli], a + ld [hl], "R" + ret diff --git a/engine/pokemon/status_screen.asm b/engine/pokemon/status_screen.asm new file mode 100755 index 00000000..20bee0ee --- /dev/null +++ b/engine/pokemon/status_screen.asm @@ -0,0 +1,481 @@ +DrawHP: +; Draws the HP bar in the stats screen + call GetPredefRegisters + ld a, $1 + jr DrawHP_ + +DrawHP2: +; Draws the HP bar in the party screen + call GetPredefRegisters + ld a, $2 + +DrawHP_: + ld [wHPBarType], a + push hl + ld a, [wLoadedMonHP] + ld b, a + ld a, [wLoadedMonHP + 1] + ld c, a + or b + jr nz, .nonzeroHP + xor a + ld c, a + ld e, a + ld a, $6 + ld d, a + jp .drawHPBarAndPrintFraction +.nonzeroHP + ld a, [wLoadedMonMaxHP] + ld d, a + ld a, [wLoadedMonMaxHP + 1] + ld e, a + predef HPBarLength + ld a, $6 + ld d, a + ld c, a +.drawHPBarAndPrintFraction + pop hl + push de + push hl + push hl + call DrawHPBar + pop hl + ld a, [hFlags_0xFFF6] + bit 0, a + jr z, .printFractionBelowBar + ld bc, $9 ; right of bar + jr .printFraction +.printFractionBelowBar + ld bc, SCREEN_WIDTH + 1 ; below bar +.printFraction + add hl, bc + ld de, wLoadedMonHP + lb bc, 2, 3 + call PrintNumber + ld a, "/" + ld [hli], a + ld de, wLoadedMonMaxHP + lb bc, 2, 3 + call PrintNumber + pop hl + pop de + ret + + +; Predef 0x37 +StatusScreen: + call LoadMonData + ld a, [wMonDataLocation] + cp BOX_DATA + jr c, .DontRecalculate +; mon is in a box or daycare + ld a, [wLoadedMonBoxLevel] + ld [wLoadedMonLevel], a + ld [wCurEnemyLVL], a + ld hl, wLoadedMonHPExp - 1 + ld de, wLoadedMonStats + ld b, $1 + call CalcStats ; Recalculate stats +.DontRecalculate + ld hl, wd72c + set 1, [hl] + ld a, $33 + ld [rNR50], a ; Reduce the volume + call GBPalWhiteOutWithDelay3 + call ClearScreen + call UpdateSprites + call LoadHpBarAndStatusTilePatterns + ld de, BattleHudTiles1 ; source + ld hl, vChars2 + $6d0 ; dest + lb bc, BANK(BattleHudTiles1), $03 + call CopyVideoDataDouble ; ·│ :L and halfarrow line end + ld de, BattleHudTiles2 + ld hl, vChars2 + $780 + lb bc, BANK(BattleHudTiles2), $01 + call CopyVideoDataDouble ; │ + ld de, BattleHudTiles3 + ld hl, vChars2 + $760 + lb bc, BANK(BattleHudTiles3), $02 + call CopyVideoDataDouble ; ─┘ + ld de, PTile + ld hl, vChars2 + $720 + lb bc, BANK(PTile), (PTileEnd - PTile) / $8 + call CopyVideoDataDouble ; P (for PP), inline + ld a, [hTilesetType] + push af + xor a + ld [hTilesetType], a + coord hl, 19, 1 + lb bc, 6, 10 + call DrawLineBox ; Draws the box around name, HP and status + ld de, -6 + add hl, de + ld [hl], "⠄" ; . after No ("." is a different one) + dec hl + ld [hl], "№" + coord hl, 19, 9 + lb bc, 8, 6 + call DrawLineBox ; Draws the box around types, ID No. and OT + coord hl, 10, 9 + ld de, Type1Text + call PlaceString ; "TYPE1/" + coord hl, 11, 3 + predef DrawHP + ld hl, wStatusScreenHPBarColor + call GetHealthBarColor + ld b, SET_PAL_STATUS_SCREEN + call RunPaletteCommand + coord hl, 16, 6 + ld de, wLoadedMonStatus + call PrintStatusCondition + jr nz, .StatusWritten + coord hl, 16, 6 + ld de, OKText + call PlaceString ; "OK" +.StatusWritten + coord hl, 9, 6 + ld de, StatusText + call PlaceString ; "STATUS/" + coord hl, 14, 2 + call PrintLevel ; Pokémon level + ld a, [wMonHIndex] + ld [wd11e], a + ld [wd0b5], a + predef IndexToPokedex + coord hl, 3, 7 + ld de, wd11e + lb bc, LEADING_ZEROES | 1, 3 + call PrintNumber ; Pokémon no. + coord hl, 11, 10 + predef PrintMonType + ld hl, NamePointers2 + call .GetStringPointer + ld d, h + ld e, l + coord hl, 9, 1 + call PlaceString ; Pokémon name + ld hl, OTPointers + call .GetStringPointer + ld d, h + ld e, l + coord hl, 12, 16 + call PlaceString ; OT + coord hl, 12, 14 + ld de, wLoadedMonOTID + lb bc, LEADING_ZEROES | 2, 5 + call PrintNumber ; ID Number + ld d, $0 + call PrintStatsBox + call Delay3 + call GBPalNormal + coord hl, 1, 0 + call LoadFlippedFrontSpriteByMonIndex ; draw Pokémon picture + ld a, [wcf91] + call PlayCry ; play Pokémon cry + call WaitForTextScrollButtonPress ; wait for button + pop af + ld [hTilesetType], a + ret + +.GetStringPointer + ld a, [wMonDataLocation] + add a + ld c, a + ld b, 0 + add hl, bc + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [wMonDataLocation] + cp DAYCARE_DATA + ret z + ld a, [wWhichPokemon] + jp SkipFixedLengthTextEntries + +OTPointers: + dw wPartyMonOT + dw wEnemyMonOT + dw wBoxMonOT + dw wDayCareMonOT + +NamePointers2: + dw wPartyMonNicks + dw wEnemyMonNicks + dw wBoxMonNicks + dw wDayCareMonName + +Type1Text: + db "TYPE1/", $4e + +Type2Text: + db "TYPE2/", $4e + +IDNoText: + db $73, "№/", $4e + +OTText: + db "OT/" + next "@" + +StatusText: + db "STATUS/@" + +OKText: + db "OK@" + +; Draws a line starting from hl high b and wide c +DrawLineBox: + ld de, SCREEN_WIDTH ; New line +.PrintVerticalLine + ld [hl], $78 ; │ + add hl, de + dec b + jr nz, .PrintVerticalLine + ld [hl], $77 ; ┘ + dec hl +.PrintHorizLine + ld [hl], $76 ; ─ + dec hl + dec c + jr nz, .PrintHorizLine + ld [hl], $6f ; ← (halfarrow ending) + ret + +PTile: + INCBIN "gfx/font/P.1bpp" +PTileEnd: + +PrintStatsBox: + ld a, d + and a ; a is 0 from the status screen + jr nz, .DifferentBox + coord hl, 0, 8 + ld b, 8 + ld c, 8 + call TextBoxBorder ; Draws the box + coord hl, 1, 9 ; Start printing stats from here + ld bc, $0019 ; Number offset + jr .PrintStats +.DifferentBox + coord hl, 9, 2 + ld b, 8 + ld c, 9 + call TextBoxBorder + coord hl, 11, 3 + ld bc, $0018 +.PrintStats + push bc + push hl + ld de, StatsText + call PlaceString + pop hl + pop bc + add hl, bc + ld de, wLoadedMonAttack + lb bc, 2, 3 + call PrintStat + ld de, wLoadedMonDefense + call PrintStat + ld de, wLoadedMonSpeed + call PrintStat + ld de, wLoadedMonSpecial + jp PrintNumber +PrintStat: + push hl + call PrintNumber + pop hl + ld de, SCREEN_WIDTH * 2 + add hl, de + ret + +StatsText: + db "ATTACK" + next "DEFENSE" + next "SPEED" + next "SPECIAL@" + +StatusScreen2: + ld a, [hTilesetType] + push af + xor a + ld [hTilesetType], a + ld [H_AUTOBGTRANSFERENABLED], a + ld bc, NUM_MOVES + 1 + ld hl, wMoves + call FillMemory + ld hl, wLoadedMonMoves + ld de, wMoves + ld bc, NUM_MOVES + call CopyData + callab FormatMovesString + coord hl, 9, 2 + lb bc, 5, 10 + call ClearScreenArea ; Clear under name + coord hl, 19, 3 + ld [hl], $78 + coord hl, 0, 8 + ld b, 8 + ld c, 18 + call TextBoxBorder ; Draw move container + coord hl, 2, 9 + ld de, wMovesString + call PlaceString ; Print moves + ld a, [wNumMovesMinusOne] + inc a + ld c, a + ld a, $4 + sub c + ld b, a ; Number of moves ? + coord hl, 11, 10 + ld de, SCREEN_WIDTH * 2 + ld a, $72 ; special P tile id + call StatusScreen_PrintPP ; Print "PP" + ld a, b + and a + jr z, .InitPP + ld c, a + ld a, "-" + call StatusScreen_PrintPP ; Fill the rest with -- +.InitPP + ld hl, wLoadedMonMoves + coord de, 14, 10 + ld b, 0 +.PrintPP + ld a, [hli] + and a + jr z, .PPDone + push bc + push hl + push de + ld hl, wCurrentMenuItem + ld a, [hl] + push af + ld a, b + ld [hl], a + push hl + callab GetMaxPP + pop hl + pop af + ld [hl], a + pop de + pop hl + push hl + ld bc, wPartyMon1PP - wPartyMon1Moves - 1 + add hl, bc + ld a, [hl] + and $3f + ld [wStatusScreenCurrentPP], a + ld h, d + ld l, e + push hl + ld de, wStatusScreenCurrentPP + lb bc, 1, 2 + call PrintNumber + ld a, "/" + ld [hli], a + ld de, wMaxPP + lb bc, 1, 2 + call PrintNumber + pop hl + ld de, SCREEN_WIDTH * 2 + add hl, de + ld d, h + ld e, l + pop hl + pop bc + inc b + ld a, b + cp $4 + jr nz, .PrintPP +.PPDone + coord hl, 9, 3 + ld de, StatusScreenExpText + call PlaceString + ld a, [wLoadedMonLevel] + push af + cp MAX_LEVEL + jr z, .Level100 + inc a + ld [wLoadedMonLevel], a ; Increase temporarily if not 100 +.Level100 + coord hl, 14, 6 + ld [hl], $70 ; 1-tile "to" + inc hl + inc hl + call PrintLevel + pop af + ld [wLoadedMonLevel], a + ld de, wLoadedMonExp + coord hl, 12, 4 + lb bc, 3, 7 + call PrintNumber ; exp + call CalcExpToLevelUp + ld de, wLoadedMonExp + coord hl, 7, 6 + lb bc, 3, 7 + call PrintNumber ; exp needed to level up + coord hl, 9, 0 + call StatusScreen_ClearName + coord hl, 9, 1 + call StatusScreen_ClearName + ld a, [wMonHIndex] + ld [wd11e], a + call GetMonName + coord hl, 9, 1 + call PlaceString + ld a, $1 + ld [H_AUTOBGTRANSFERENABLED], a + call Delay3 + call WaitForTextScrollButtonPress ; wait for button + pop af + ld [hTilesetType], a + ld hl, wd72c + res 1, [hl] + ld a, $77 + ld [rNR50], a + call GBPalWhiteOut + jp ClearScreen + +CalcExpToLevelUp: + ld a, [wLoadedMonLevel] + cp MAX_LEVEL + jr z, .atMaxLevel + inc a + ld d, a + callab CalcExperience + ld hl, wLoadedMonExp + 2 + ld a, [hExperience + 2] + sub [hl] + ld [hld], a + ld a, [hExperience + 1] + sbc [hl] + ld [hld], a + ld a, [hExperience] + sbc [hl] + ld [hld], a + ret +.atMaxLevel + ld hl, wLoadedMonExp + xor a + ld [hli], a + ld [hli], a + ld [hl], a + ret + +StatusScreenExpText: + db "EXP POINTS" + next "LEVEL UP@" + +StatusScreen_ClearName: + ld bc, 10 + ld a, " " + jp FillMemory + +StatusScreen_PrintPP: +; print PP or -- c times, going down two rows each time + ld [hli], a + ld [hld], a + add hl, de + dec c + jr nz, StatusScreen_PrintPP + ret diff --git a/engine/predefs12.asm b/engine/predefs12.asm deleted file mode 100755 index 95f0ea25..00000000 --- a/engine/predefs12.asm +++ /dev/null @@ -1,71 +0,0 @@ -; b = new colour for BG colour 0 (usually white) for 4 frames -ChangeBGPalColor0_4Frames: - call GetPredefRegisters - ld a, [rBGP] - or b - ld [rBGP], a - ld c, 4 - call DelayFrames - ld a, [rBGP] - and %11111100 - ld [rBGP], a - ret - -PredefShakeScreenVertically: -; Moves the window down and then back in a sequence of progressively smaller -; numbers of pixels, starting at b. - call GetPredefRegisters - ld a, 1 - ld [wDisableVBlankWYUpdate], a - xor a -.loop - ld [$ff96], a - call .MutateWY - call .MutateWY - dec b - ld a, b - jr nz, .loop - xor a - ld [wDisableVBlankWYUpdate], a - ret - -.MutateWY - ld a, [$ff96] - xor b - ld [$ff96], a - ld [rWY], a - ld c, 3 - jp DelayFrames - -PredefShakeScreenHorizontally: -; Moves the window right and then back in a sequence of progressively smaller -; numbers of pixels, starting at b. - call GetPredefRegisters - xor a -.loop - ld [$ff97], a - call .MutateWX - ld c, 1 - call DelayFrames - call .MutateWX - dec b - ld a, b - jr nz, .loop - -; restore normal WX - ld a, 7 - ld [rWX], a - ret - -.MutateWX - ld a, [$ff97] - xor b - ld [$ff97], a - bit 7, a - jr z, .skipZeroing - xor a ; zero a if it's negative -.skipZeroing - add 7 - ld [rWX], a - ld c, 4 - jp DelayFrames diff --git a/engine/predefs17.asm b/engine/predefs17.asm deleted file mode 100755 index 21289c6a..00000000 --- a/engine/predefs17.asm +++ /dev/null @@ -1,9 +0,0 @@ -; this function temporarily makes the starters (and Ivysaur) seen -; so that the full Pokedex information gets displayed in Oak's lab -StarterDex: - ld a, %01001011 ; set starter flags - ld [wPokedexOwned], a - predef ShowPokedexData - xor a ; unset starter flags - ld [wPokedexOwned], a - ret diff --git a/engine/predefs17_2.asm b/engine/predefs17_2.asm deleted file mode 100755 index e9235f13..00000000 --- a/engine/predefs17_2.asm +++ /dev/null @@ -1,15 +0,0 @@ -; updates the types of a party mon (pointed to in hl) to the ones of the mon specified in wd11e -SetPartyMonTypes: - call GetPredefRegisters - ld bc, wPartyMon1Type - wPartyMon1 ; $5 - add hl, bc - ld a, [wd11e] - ld [wd0b5], a - push hl - call GetMonHeader - pop hl - ld a, [wMonHType1] - ld [hli], a - ld a, [wMonHType2] - ld [hl], a - ret diff --git a/engine/predefs7.asm b/engine/predefs7.asm deleted file mode 100755 index 752bdd1a..00000000 --- a/engine/predefs7.asm +++ /dev/null @@ -1,48 +0,0 @@ -DisplayElevatorFloorMenu: - ld hl, WhichFloorText - call PrintText - ld hl, wItemList - ld a, l - ld [wListPointer], a - ld a, h - ld [wListPointer + 1], a - ld a, [wListScrollOffset] - push af - xor a - ld [wCurrentMenuItem], a - ld [wListScrollOffset], a - ld [wPrintItemPrices], a - ld a, SPECIALLISTMENU - ld [wListMenuID], a - call DisplayListMenuID - pop bc - ld a, b - ld [wListScrollOffset], a - ret c - ld hl, wCurrentMapScriptFlags - set 7, [hl] - ld hl, wElevatorWarpMaps - ld a, [wWhichPokemon] - add a - ld d, 0 - ld e, a - add hl, de - ld a, [hli] - ld b, a - ld a, [hl] - ld c, a - ld hl, wWarpEntries - call .UpdateWarp - -.UpdateWarp - inc hl - inc hl - ld a, b - ld [hli], a ; destination warp ID - ld a, c - ld [hli], a ; destination map ID - ret - -WhichFloorText: - TX_FAR _WhichFloorText - db "@" diff --git a/engine/print_waiting_text.asm b/engine/print_waiting_text.asm deleted file mode 100644 index c48459d3..00000000 --- a/engine/print_waiting_text.asm +++ /dev/null @@ -1,20 +0,0 @@ -PrintWaitingText:: - coord hl, 3, 10 - ld b, $1 - ld c, $b - ld a, [wIsInBattle] - and a - jr z, .asm_4c17 - call TextBoxBorder - jr .asm_4c1a -.asm_4c17 - call CableClub_TextBoxBorder -.asm_4c1a - coord hl, 4, 11 - ld de, WaitingText - call PlaceString - ld c, 50 - jp DelayFrames - -WaitingText: - db "Waiting...!@" diff --git a/engine/random.asm b/engine/random.asm deleted file mode 100755 index 2fc83f6f..00000000 --- a/engine/random.asm +++ /dev/null @@ -1,13 +0,0 @@ -Random_:: -; Generate a random 16-bit value. - ld a, [rDIV] - ld b, a - ld a, [hRandomAdd] - adc b - ld [hRandomAdd], a - ld a, [rDIV] - ld b, a - ld a, [hRandomSub] - sbc b - ld [hRandomSub], a - ret diff --git a/engine/remove_pokemon.asm b/engine/remove_pokemon.asm deleted file mode 100644 index 6f7e91d6..00000000 --- a/engine/remove_pokemon.asm +++ /dev/null @@ -1,95 +0,0 @@ -_RemovePokemon:: - ld hl, wPartyCount - ld a, [wRemoveMonFromBox] - and a - jr z, .asm_7b74 - ld hl, wNumInBox -.asm_7b74 - ld a, [hl] - dec a - ld [hli], a - ld a, [wWhichPokemon] - ld c, a - ld b, $0 - add hl, bc - ld e, l - ld d, h - inc de -.asm_7b81 - ld a, [de] - inc de - ld [hli], a - inc a - jr nz, .asm_7b81 - ld hl, wPartyMonOT - ld d, $5 - ld a, [wRemoveMonFromBox] - and a - jr z, .asm_7b97 - ld hl, wBoxMonOT - ld d, $13 -.asm_7b97 - ld a, [wWhichPokemon] - call SkipFixedLengthTextEntries - ld a, [wWhichPokemon] - cp d - jr nz, .asm_7ba6 - ld [hl], $ff - ret -.asm_7ba6 - ld d, h - ld e, l - ld bc, NAME_LENGTH - add hl, bc - ld bc, wPartyMonNicks - ld a, [wRemoveMonFromBox] - and a - jr z, .asm_7bb8 - ld bc, wBoxMonNicks -.asm_7bb8 - call CopyDataUntil - ld hl, wPartyMons - ld bc, wPartyMon2 - wPartyMon1 - ld a, [wRemoveMonFromBox] - and a - jr z, .asm_7bcd - ld hl, wBoxMons - ld bc, wBoxMon2 - wBoxMon1 -.asm_7bcd - ld a, [wWhichPokemon] - call AddNTimes - ld d, h - ld e, l - ld a, [wRemoveMonFromBox] - and a - jr z, .asm_7be4 - ld bc, wBoxMon2 - wBoxMon1 - add hl, bc - ld bc, wBoxMonOT - jr .asm_7beb -.asm_7be4 - ld bc, wPartyMon2 - wPartyMon1 - add hl, bc - ld bc, wPartyMonOT -.asm_7beb - call CopyDataUntil - ld hl, wPartyMonNicks - ld a, [wRemoveMonFromBox] - and a - jr z, .asm_7bfa - ld hl, wBoxMonNicks -.asm_7bfa - ld bc, NAME_LENGTH - ld a, [wWhichPokemon] - call AddNTimes - ld d, h - ld e, l - ld bc, NAME_LENGTH - add hl, bc - ld bc, wPokedexOwned - ld a, [wRemoveMonFromBox] - and a - jr z, .asm_7c15 - ld bc, wBoxMonNicksEnd -.asm_7c15 - jp CopyDataUntil diff --git a/engine/save.asm b/engine/save.asm deleted file mode 100755 index 33a7ba8d..00000000 --- a/engine/save.asm +++ /dev/null @@ -1,708 +0,0 @@ -LoadSAV: -;(if carry -> write -;"the file data is destroyed") - call ClearScreen - call LoadFontTilePatterns - call LoadTextBoxTilePatterns - call LoadSAV0 - jr c, .badsum - call LoadSAV1 - jr c, .badsum - call LoadSAV2 - jr c, .badsum - ld a, $2 ; good checksum - jr .goodsum -.badsum - ld hl, wd730 - push hl - set 6, [hl] - ld hl, FileDataDestroyedText - call PrintText - ld c, 100 - call DelayFrames - pop hl - res 6, [hl] - ld a, $1 ; bad checksum -.goodsum - ld [wSaveFileStatus], a - ret - -FileDataDestroyedText: - TX_FAR _FileDataDestroyedText - db "@" - -LoadSAV0: - ld a, SRAM_ENABLE - ld [MBC1SRamEnable], a - ld a, $1 - ld [MBC1SRamBankingMode], a - ld [MBC1SRamBank], a - ld hl, sPlayerName ; hero name located in SRAM - ld bc, sMainDataCheckSum - sPlayerName ; but here checks the full SAV - call SAVCheckSum - ld c, a - ld a, [sMainDataCheckSum] ; SAV's checksum - cp c - jp z, .checkSumsMatched - -; If the computed checksum didn't match the saved on, try again. - ld hl, sPlayerName - ld bc, sMainDataCheckSum - sPlayerName - call SAVCheckSum - ld c, a - ld a, [sMainDataCheckSum] ; SAV's checksum - cp c - jp nz, SAVBadCheckSum - -.checkSumsMatched - ld hl, sPlayerName - ld de, wPlayerName - ld bc, NAME_LENGTH - call CopyData - ld hl, sMainData - ld de, wMainDataStart - ld bc, wMainDataEnd - wMainDataStart - call CopyData - ld hl, wCurMapTileset - set 7, [hl] - ld hl, sSpriteData - ld de, wSpriteDataStart - ld bc, wSpriteDataEnd - wSpriteDataStart - call CopyData - ld a, [sTilesetType] - ld [hTilesetType], a - ld hl, sCurBoxData - ld de, wBoxDataStart - ld bc, wBoxDataEnd - wBoxDataStart - call CopyData - and a - jp SAVGoodChecksum - -LoadSAV1: - ld a, SRAM_ENABLE - ld [MBC1SRamEnable], a - ld a, $1 - ld [MBC1SRamBankingMode], a - ld [MBC1SRamBank], a - ld hl, sPlayerName ; hero name located in SRAM - ld bc, sMainDataCheckSum - sPlayerName ; but here checks the full SAV - call SAVCheckSum - ld c, a - ld a, [sMainDataCheckSum] ; SAV's checksum - cp c - jr nz, SAVBadCheckSum - ld hl, sCurBoxData - ld de, wBoxDataStart - ld bc, wBoxDataEnd - wBoxDataStart - call CopyData - and a - jp SAVGoodChecksum - -LoadSAV2: - ld a, SRAM_ENABLE - ld [MBC1SRamEnable], a - ld a, $1 - ld [MBC1SRamBankingMode], a - ld [MBC1SRamBank], a - ld hl, sPlayerName ; hero name located in SRAM - ld bc, sMainDataCheckSum - sPlayerName ; but here checks the full SAV - call SAVCheckSum - ld c, a - ld a, [sMainDataCheckSum] ; SAV's checksum - cp c - jp nz, SAVBadCheckSum - ld hl, sPartyData - ld de, wPartyDataStart - ld bc, wPartyDataEnd - wPartyDataStart - call CopyData - ld hl, sMainData - ld de, wPokedexOwned - ld bc, wPokedexSeenEnd - wPokedexOwned - call CopyData - and a - jp SAVGoodChecksum - -SAVBadCheckSum: - scf - -SAVGoodChecksum: - ld a, $0 - ld [MBC1SRamBankingMode], a - ld [MBC1SRamEnable], a - ret - -LoadSAVIgnoreBadCheckSum: -; unused function that loads save data and ignores bad checksums - call LoadSAV0 - call LoadSAV1 - jp LoadSAV2 - -SaveSAV: - callba PrintSaveScreenText - ld hl, WouldYouLikeToSaveText - call SaveSAVConfirm - and a ;|0 = Yes|1 = No| - ret nz - ld a, [wSaveFileStatus] - dec a - jr z, .save - call SAVCheckRandomID - jr z, .save - ld hl, OlderFileWillBeErasedText - call SaveSAVConfirm - and a - ret nz -.save - call SaveSAVtoSRAM - coord hl, 1, 13 - lb bc, 4, 18 - call ClearScreenArea - coord hl, 1, 14 - ld de, NowSavingString - call PlaceString - ld c, 120 - call DelayFrames - ld hl, GameSavedText - call PrintText - ld a, SFX_SAVE - call PlaySoundWaitForCurrent - call WaitForSoundToFinish - ld c, 30 - jp DelayFrames - -NowSavingString: - db "Now saving...@" - -SaveSAVConfirm: - call PrintText - coord hl, 0, 7 - lb bc, 8, 1 - ld a, TWO_OPTION_MENU - ld [wTextBoxID], a - call DisplayTextBoxID ; yes/no menu - ld a, [wCurrentMenuItem] - ret - -WouldYouLikeToSaveText: - TX_FAR _WouldYouLikeToSaveText - db "@" - -GameSavedText: - TX_FAR _GameSavedText - db "@" - -OlderFileWillBeErasedText: - TX_FAR _OlderFileWillBeErasedText - db "@" - -SaveSAVtoSRAM0: - ld a, SRAM_ENABLE - ld [MBC1SRamEnable], a - ld a, $1 - ld [MBC1SRamBankingMode], a - ld [MBC1SRamBank], a - ld hl, wPlayerName - ld de, sPlayerName - ld bc, NAME_LENGTH - call CopyData - ld hl, wMainDataStart - ld de, sMainData - ld bc, wMainDataEnd - wMainDataStart - call CopyData - ld hl, wSpriteDataStart - ld de, sSpriteData - ld bc, wSpriteDataEnd - wSpriteDataStart - call CopyData - ld hl, wBoxDataStart - ld de, sCurBoxData - ld bc, wBoxDataEnd - wBoxDataStart - call CopyData - ld a, [hTilesetType] - ld [sTilesetType], a - ld hl, sPlayerName - ld bc, sMainDataCheckSum - sPlayerName - call SAVCheckSum - ld [sMainDataCheckSum], a - xor a - ld [MBC1SRamBankingMode], a - ld [MBC1SRamEnable], a - ret - -SaveSAVtoSRAM1: -; stored pokémon - ld a, SRAM_ENABLE - ld [MBC1SRamEnable], a - ld a, $1 - ld [MBC1SRamBankingMode], a - ld [MBC1SRamBank], a - ld hl, wBoxDataStart - ld de, sCurBoxData - ld bc, wBoxDataEnd - wBoxDataStart - call CopyData - ld hl, sPlayerName - ld bc, sMainDataCheckSum - sPlayerName - call SAVCheckSum - ld [sMainDataCheckSum], a - xor a - ld [MBC1SRamBankingMode], a - ld [MBC1SRamEnable], a - ret - -SaveSAVtoSRAM2: - ld a, SRAM_ENABLE - ld [MBC1SRamEnable], a - ld a, $1 - ld [MBC1SRamBankingMode], a - ld [MBC1SRamBank], a - ld hl, wPartyDataStart - ld de, sPartyData - ld bc, wPartyDataEnd - wPartyDataStart - call CopyData - ld hl, wPokedexOwned ; pokédex only - ld de, sMainData - ld bc, wPokedexSeenEnd - wPokedexOwned - call CopyData - ld hl, sPlayerName - ld bc, sMainDataCheckSum - sPlayerName - call SAVCheckSum - ld [sMainDataCheckSum], a - xor a - ld [MBC1SRamBankingMode], a - ld [MBC1SRamEnable], a - ret - -SaveSAVtoSRAM:: - ld a, $2 - ld [wSaveFileStatus], a - call SaveSAVtoSRAM0 - call SaveSAVtoSRAM1 - jp SaveSAVtoSRAM2 - -SAVCheckSum: -;Check Sum (result[1 byte] is complemented) - ld d, 0 -.loop - ld a, [hli] - add d - ld d, a - dec bc - ld a, b - or c - jr nz, .loop - ld a, d - cpl - ret - -CalcIndividualBoxCheckSums: - ld hl, sBox1 ; sBox7 - ld de, sBank2IndividualBoxChecksums ; sBank3IndividualBoxChecksums - ld b, NUM_BOXES / 2 -.loop - push bc - push de - ld bc, wBoxDataEnd - wBoxDataStart - call SAVCheckSum - pop de - ld [de], a - inc de - pop bc - dec b - jr nz, .loop - ret - -GetBoxSRAMLocation: -; in: a = box num -; out: b = box SRAM bank, hl = pointer to start of box - ld hl, BoxSRAMPointerTable - ld a, [wCurrentBoxNum] - and $7f - cp NUM_BOXES / 2 - ld b, 2 - jr c, .next - inc b - sub NUM_BOXES / 2 -.next - ld e, a - ld d, 0 - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - ret - -BoxSRAMPointerTable: - dw sBox1 ; sBox7 - dw sBox2 ; sBox8 - dw sBox3 ; sBox9 - dw sBox4 ; sBox10 - dw sBox5 ; sBox11 - dw sBox6 ; sBox12 - -ChangeBox:: - ld hl, WhenYouChangeBoxText - call PrintText - call YesNoChoice - ld a, [wCurrentMenuItem] - and a - ret nz ; return if No was chosen - ld hl, wCurrentBoxNum - bit 7, [hl] ; is it the first time player is changing the box? - call z, EmptyAllSRAMBoxes ; if so, empty all boxes in SRAM - call DisplayChangeBoxMenu - call UpdateSprites - ld hl, hFlags_0xFFF6 - set 1, [hl] - call HandleMenuInput - ld hl, hFlags_0xFFF6 - res 1, [hl] - bit 1, a ; pressed b - ret nz - call GetBoxSRAMLocation - ld e, l - ld d, h - ld hl, wBoxDataStart - call CopyBoxToOrFromSRAM ; copy old box from WRAM to SRAM - ld a, [wCurrentMenuItem] - set 7, a - ld [wCurrentBoxNum], a - call GetBoxSRAMLocation - ld de, wBoxDataStart - call CopyBoxToOrFromSRAM ; copy new box from SRAM to WRAM - ld hl, wMapTextPtr - ld de, wChangeBoxSavedMapTextPointer - ld a, [hli] - ld [de], a - inc de - ld a, [hl] - ld [de], a - call RestoreMapTextPointer - call SaveSAVtoSRAM - ld hl, wChangeBoxSavedMapTextPointer - call SetMapTextPointer - ld a, SFX_SAVE - call PlaySoundWaitForCurrent - call WaitForSoundToFinish - ret - -WhenYouChangeBoxText: - TX_FAR _WhenYouChangeBoxText - db "@" - -CopyBoxToOrFromSRAM: -; copy an entire box from hl to de with b as the SRAM bank - push hl - ld a, SRAM_ENABLE - ld [MBC1SRamEnable], a - ld a, $1 - ld [MBC1SRamBankingMode], a - ld a, b - ld [MBC1SRamBank], a - ld bc, wBoxDataEnd - wBoxDataStart - call CopyData - pop hl - -; mark the memory that the box was copied from as am empty box - xor a - ld [hli], a - dec a - ld [hl], a - - ld hl, sBox1 ; sBox7 - ld bc, sBank2AllBoxesChecksum - sBox1 - call SAVCheckSum - ld [sBank2AllBoxesChecksum], a ; sBank3AllBoxesChecksum - call CalcIndividualBoxCheckSums - xor a - ld [MBC1SRamBankingMode], a - ld [MBC1SRamEnable], a - ret - -DisplayChangeBoxMenu: - xor a - ld [H_AUTOBGTRANSFERENABLED], a - ld a, A_BUTTON | B_BUTTON - ld [wMenuWatchedKeys], a - ld a, 11 - ld [wMaxMenuItem], a - ld a, 1 - ld [wTopMenuItemY], a - ld a, 12 - ld [wTopMenuItemX], a - xor a - ld [wMenuWatchMovingOutOfBounds], a - ld a, [wCurrentBoxNum] - and $7f - ld [wCurrentMenuItem], a - ld [wLastMenuItem], a - coord hl, 0, 0 - ld b, 2 - ld c, 9 - call TextBoxBorder - ld hl, ChooseABoxText - call PrintText - coord hl, 11, 0 - ld b, 12 - ld c, 7 - call TextBoxBorder - ld hl, hFlags_0xFFF6 - set 2, [hl] - ld de, BoxNames - coord hl, 13, 1 - call PlaceString - ld hl, hFlags_0xFFF6 - res 2, [hl] - ld a, [wCurrentBoxNum] - and $7f - cp 9 - jr c, .singleDigitBoxNum - sub 9 - coord hl, 8, 2 - ld [hl], "1" - add "0" - jr .next -.singleDigitBoxNum - add "1" -.next - Coorda 9, 2 - coord hl, 1, 2 - ld de, BoxNoText - call PlaceString - call GetMonCountsForAllBoxes - coord hl, 18, 1 - ld de, wBoxMonCounts - ld bc, SCREEN_WIDTH - ld a, $c -.loop - push af - ld a, [de] - and a ; is the box empty? - jr z, .skipPlacingPokeball - ld [hl], $78 ; place pokeball tile next to box name if box not empty -.skipPlacingPokeball - add hl, bc - inc de - pop af - dec a - jr nz, .loop - ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a - ret - -ChooseABoxText: - TX_FAR _ChooseABoxText - db "@" - -BoxNames: - db "BOX 1" - next "BOX 2" - next "BOX 3" - next "BOX 4" - next "BOX 5" - next "BOX 6" - next "BOX 7" - next "BOX 8" - next "BOX 9" - next "BOX10" - next "BOX11" - next "BOX12@" - -BoxNoText: - db "BOX No.@" - -EmptyAllSRAMBoxes: -; marks all boxes in SRAM as empty (initialisation for the first time the -; player changes the box) - ld a, SRAM_ENABLE - ld [MBC1SRamEnable], a - ld a, $1 - ld [MBC1SRamBankingMode], a - ld a, 2 - ld [MBC1SRamBank], a - call EmptySRAMBoxesInBank - ld a, 3 - ld [MBC1SRamBank], a - call EmptySRAMBoxesInBank - xor a - ld [MBC1SRamBankingMode], a - ld [MBC1SRamEnable], a - ret - -EmptySRAMBoxesInBank: -; marks every box in the current SRAM bank as empty - ld hl, sBox1 ; sBox7 - call EmptySRAMBox - ld hl, sBox2 ; sBox8 - call EmptySRAMBox - ld hl, sBox3 ; sBox9 - call EmptySRAMBox - ld hl, sBox4 ; sBox10 - call EmptySRAMBox - ld hl, sBox5 ; sBox11 - call EmptySRAMBox - ld hl, sBox6 ; sBox12 - call EmptySRAMBox - ld hl, sBox1 ; sBox7 - ld bc, sBank2AllBoxesChecksum - sBox1 - call SAVCheckSum - ld [sBank2AllBoxesChecksum], a ; sBank3AllBoxesChecksum - call CalcIndividualBoxCheckSums - ret - -EmptySRAMBox: - xor a - ld [hli], a - dec a - ld [hl], a - ret - -GetMonCountsForAllBoxes: - ld hl, wBoxMonCounts - push hl - ld a, SRAM_ENABLE - ld [MBC1SRamEnable], a - ld a, $1 - ld [MBC1SRamBankingMode], a - ld a, $2 - ld [MBC1SRamBank], a - call GetMonCountsForBoxesInBank - ld a, $3 - ld [MBC1SRamBank], a - call GetMonCountsForBoxesInBank - xor a - ld [MBC1SRamBankingMode], a - ld [MBC1SRamEnable], a - pop hl - -; copy the count for the current box from WRAM - ld a, [wCurrentBoxNum] - and $7f - ld c, a - ld b, 0 - add hl, bc - ld a, [wNumInBox] - ld [hl], a - - ret - -GetMonCountsForBoxesInBank: - ld a, [sBox1] ; sBox7 - ld [hli], a - ld a, [sBox2] ; sBox8 - ld [hli], a - ld a, [sBox3] ; sBox9 - ld [hli], a - ld a, [sBox4] ; sBox10 - ld [hli], a - ld a, [sBox5] ; sBox11 - ld [hli], a - ld a, [sBox6] ; sBox12 - ld [hli], a - ret - -SAVCheckRandomID: -;checks if Sav file is the same by checking player's name 1st letter ($a598) -; and the two random numbers generated at game beginning -;(which are stored at wPlayerID)s - ld a, $0a - ld [MBC1SRamEnable], a - ld a, $01 - ld [MBC1SRamBankingMode], a - ld [MBC1SRamBank], a - ld a, [sPlayerName] - and a - jr z, .next - ld hl, sPlayerName - ld bc, sMainDataCheckSum - sPlayerName - call SAVCheckSum - ld c, a - ld a, [sMainDataCheckSum] - cp c - jr nz, .next - ld hl, sMainData + (wPlayerID - wMainDataStart) ; player ID - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [wPlayerID] - cp l - jr nz, .next - ld a, [wPlayerID + 1] - cp h -.next - ld a, $00 - ld [MBC1SRamBankingMode], a - ld [MBC1SRamEnable], a - ret - -SaveHallOfFameTeams: - ld a, [wNumHoFTeams] - dec a - cp HOF_TEAM_CAPACITY - jr nc, .shiftHOFTeams - ld hl, sHallOfFame - ld bc, HOF_TEAM - call AddNTimes - ld e, l - ld d, h - ld hl, wHallOfFame - ld bc, HOF_TEAM - jr HallOfFame_Copy - -.shiftHOFTeams -; if the space designated for HOF teams is full, then shift all HOF teams to the next slot, making space for the new HOF team -; this deletes the last HOF team though - ld hl, sHallOfFame + HOF_TEAM - ld de, sHallOfFame - ld bc, HOF_TEAM * (HOF_TEAM_CAPACITY - 1) - call HallOfFame_Copy - ld hl, wHallOfFame - ld de, sHallOfFame + HOF_TEAM * (HOF_TEAM_CAPACITY - 1) - ld bc, HOF_TEAM - jr HallOfFame_Copy - -LoadHallOfFameTeams: - ld hl, sHallOfFame - ld bc, HOF_TEAM - ld a, [wHoFTeamIndex] - call AddNTimes - ld de, wHallOfFame - ld bc, HOF_TEAM - ; fallthrough - -HallOfFame_Copy: - ld a, SRAM_ENABLE - ld [MBC1SRamEnable], a - ld a, $1 - ld [MBC1SRamBankingMode], a - xor a - ld [MBC1SRamBank], a - call CopyData - xor a - ld [MBC1SRamBankingMode], a - ld [MBC1SRamEnable], a - ret - -ClearSAV: - ld a, SRAM_ENABLE - ld [MBC1SRamEnable], a - ld a, $1 - ld [MBC1SRamBankingMode], a - xor a - call PadSRAM_FF - ld a, $1 - call PadSRAM_FF - ld a, $2 - call PadSRAM_FF - ld a, $3 - call PadSRAM_FF - xor a - ld [MBC1SRamBankingMode], a - ld [MBC1SRamEnable], a - ret - -PadSRAM_FF: - ld [MBC1SRamBank], a - ld hl, $a000 - ld bc, $2000 - ld a, $ff - jp FillMemory diff --git a/engine/slot_machine.asm b/engine/slot_machine.asm deleted file mode 100755 index 0a92c69b..00000000 --- a/engine/slot_machine.asm +++ /dev/null @@ -1,892 +0,0 @@ -PromptUserToPlaySlots: - call SaveScreenTilesToBuffer2 - ld a, BANK(DisplayTextIDInit) - ld [wAutoTextBoxDrawingControl], a - ld b, a - ld hl, DisplayTextIDInit - call Bankswitch - ld hl, PlaySlotMachineText - call PrintText - call YesNoChoice - ld a, [wCurrentMenuItem] - and a - jr nz, .done ; if player chose No - dec a - ld [wUpdateSpritesEnabled], a - ld hl, wSlotMachineRerollCounter - xor a - ld [hli], a - ld [hl], SMILE_BUBBLE - predef EmotionBubble - call GBPalWhiteOutWithDelay3 - call LoadSlotMachineTiles - call LoadFontTilePatterns - ld b, SET_PAL_SLOTS - call RunPaletteCommand - call GBPalNormal - ld a, $e4 - ld [rOBP0], a - ld hl, wd730 - set 6, [hl] - xor a - ld [wSlotMachineAllowMatchesCounter], a - ld hl, wStoppingWhichSlotMachineWheel - ld bc, $0014 - call FillMemory - call MainSlotMachineLoop - ld hl, wd730 - res 6, [hl] - xor a - ld [wSlotMachineAllowMatchesCounter], a - call GBPalWhiteOutWithDelay3 - ld a, $1 - ld [wUpdateSpritesEnabled], a - call RunDefaultPaletteCommand - call ReloadMapSpriteTilePatterns - call ReloadTilesetTilePatterns -.done - call LoadScreenTilesFromBuffer2 - call Delay3 - call GBPalNormal - ld a, [wSlotMachineSavedROMBank] - push af - jp CloseTextDisplay - -PlaySlotMachineText: - TX_FAR _PlaySlotMachineText - db "@" - -MainSlotMachineLoop: - call SlotMachine_PrintCreditCoins - xor a - ld hl, wPayoutCoins - ld [hli], a - ld [hl], a - call SlotMachine_PrintPayoutCoins - ld hl, BetHowManySlotMachineText - call PrintText - call SaveScreenTilesToBuffer1 -.loop - ld a, A_BUTTON | B_BUTTON - ld [wMenuWatchedKeys], a - ld a, 2 - ld [wMaxMenuItem], a - ld a, 12 - ld [wTopMenuItemY], a - ld a, 15 - ld [wTopMenuItemX], a - xor a - ld [wCurrentMenuItem], a - ld [wLastMenuItem], a - ld [wMenuWatchMovingOutOfBounds], a - coord hl, 14, 11 - ld b, 5 - ld c, 4 - call TextBoxBorder - coord hl, 16, 12 - ld de, CoinMultiplierSlotMachineText - call PlaceString - call HandleMenuInput - and B_BUTTON - jp nz, LoadScreenTilesFromBuffer1 - ld a, [wCurrentMenuItem] - ld b, a - ld a, 3 - sub b - ld [wSlotMachineBet], a - ld hl, wPlayerCoins - ld c, a - ld a, [hli] - and a - jr nz, .skip1 - ld a, [hl] - cp c - jr nc, .skip1 - ld hl, NotEnoughCoinsSlotMachineText - call PrintText - jr .loop -.skip1 - call LoadScreenTilesFromBuffer1 - call SlotMachine_SubtractBetFromPlayerCoins - call SlotMachine_LightBalls - call SlotMachine_SetFlags - ld a, 4 - ld hl, wSlotMachineWheel1SlipCounter - ld [hli], a - ld [hli], a - ld [hl], a - call WaitForSoundToFinish - ld a, SFX_SLOTS_NEW_SPIN - call PlaySound - ld hl, StartSlotMachineText - call PrintText - call SlotMachine_SpinWheels - call SlotMachine_CheckForMatches - ld hl, wPlayerCoins - ld a, [hli] - or [hl] - jr nz, .skip2 - ld hl, OutOfCoinsSlotMachineText - call PrintText - ld c, 60 - jp DelayFrames -.skip2 - ld hl, OneMoreGoSlotMachineText - call PrintText - coord hl, 14, 12 - lb bc, 13, 15 - xor a ; YES_NO_MENU - ld [wTwoOptionMenuID], a - ld a, TWO_OPTION_MENU - ld [wTextBoxID], a - call DisplayTextBoxID - ld a, [wCurrentMenuItem] - and a - ret nz - call SlotMachine_PutOutLitBalls - jp MainSlotMachineLoop - -CoinMultiplierSlotMachineText: - db "×3" - next "×2" - next "×1@" - -OutOfCoinsSlotMachineText: - TX_FAR _OutOfCoinsSlotMachineText - db "@" - -BetHowManySlotMachineText: - TX_FAR _BetHowManySlotMachineText - db "@" - -StartSlotMachineText: - TX_FAR _StartSlotMachineText - db "@" - -NotEnoughCoinsSlotMachineText: - TX_FAR _NotEnoughCoinsSlotMachineText - db "@" - -OneMoreGoSlotMachineText: - TX_FAR _OneMoreGoSlotMachineText - db "@" - -SlotMachine_SetFlags: - ld hl, wSlotMachineFlags - bit 7, [hl] - ret nz - ld a, [wSlotMachineAllowMatchesCounter] - and a - jr nz, .allowMatches - call Random - and a - jr z, .setAllowMatchesCounter ; 1/256 (~0.4%) chance - ld b, a - ld a, [wSlotMachineSevenAndBarModeChance] - cp b - jr c, .allowSevenAndBarMatches - ld a, 210 - cp b - jr c, .allowMatches ; 55/256 (~21.5%) chance - ld [hl], 0 - ret -.allowMatches - set 6, [hl] - ret -.setAllowMatchesCounter - ld a, 60 - ld [wSlotMachineAllowMatchesCounter], a - ret -.allowSevenAndBarMatches - set 7, [hl] - ret - -SlotMachine_SpinWheels: - ld c, 20 -.loop1 - push bc - call SlotMachine_AnimWheel1 - call SlotMachine_AnimWheel2 - call SlotMachine_AnimWheel3 - ld c, 2 - call DelayFrames - pop bc - dec c - jr nz, .loop1 - xor a - ld [wStoppingWhichSlotMachineWheel], a -.loop2 - call SlotMachine_HandleInputWhileWheelsSpin - call SlotMachine_StopOrAnimWheel1 - call SlotMachine_StopOrAnimWheel2 - call SlotMachine_StopOrAnimWheel3 - ret c - ld a, [wOnSGB] - xor $1 - inc a - ld c, a - call DelayFrames - jr .loop2 - -; Note that the wheels can only stop when a symbol is centred in the wheel -; and thus 3 full symbols rather than 2 full symbols and 2 half symbols are -; visible. The 3 functions below ensure this by checking if the wheel offset -; is even before stopping the wheel. - -SlotMachine_StopOrAnimWheel1: - ld a, [wStoppingWhichSlotMachineWheel] - cp 1 - jr c, .animWheel - ld de, wSlotMachineWheel1Offset - ld a, [de] - rra - jr nc, .animWheel ; check that a symbol is centred in the wheel - ld hl, wSlotMachineWheel1SlipCounter - ld a, [hl] - and a - ret z - dec [hl] - call SlotMachine_StopWheel1Early - ret nz -.animWheel - jp SlotMachine_AnimWheel1 - -SlotMachine_StopOrAnimWheel2: - ld a, [wStoppingWhichSlotMachineWheel] - cp 2 - jr c, .animWheel - ld de, wSlotMachineWheel2Offset - ld a, [de] - rra - jr nc, .animWheel ; check that a symbol is centred in the wheel - ld hl, wSlotMachineWheel2SlipCounter - ld a, [hl] - and a - ret z - dec [hl] - call SlotMachine_StopWheel2Early - ret z -.animWheel - jp SlotMachine_AnimWheel2 - -SlotMachine_StopOrAnimWheel3: - ld a, [wStoppingWhichSlotMachineWheel] - cp 3 - jr c, .animWheel - ld de, wSlotMachineWheel3Offset - ld a, [de] - rra - jr nc, .animWheel ; check that a symbol is centred in the wheel -; wheel 3 stops as soon as possible - scf - ret -.animWheel - call SlotMachine_AnimWheel3 - and a - ret - -SlotMachine_StopWheel1Early: - call SlotMachine_GetWheel1Tiles - ld hl, wSlotMachineWheel1BottomTile - ld a, [wSlotMachineFlags] - and $80 - jr nz, .sevenAndBarMode -; Stop early if the middle symbol is not a cherry. - inc hl - ld a, [hl] - cp SLOTSCHERRY >> 8 - jr nz, .stopWheel - ret -; It looks like this was intended to make the wheel stop when a 7 symbol was -; visible, but it has a bug and so the wheel stops randomly. -.sevenAndBarMode - ld c, $3 -.loop - ld a, [hli] - cp SLOTS7 >> 8 - jr c, .stopWheel ; condition never true - dec c - jr nz, .loop - ret -.stopWheel - inc a - ld hl, wSlotMachineWheel1SlipCounter - ld [hl], 0 - ret - -SlotMachine_StopWheel2Early: - call SlotMachine_GetWheel2Tiles - ld a, [wSlotMachineFlags] - and $80 - jr nz, .sevenAndBarMode -; Stop early if any symbols are lined up in the first two wheels. - call SlotMachine_FindWheel1Wheel2Matches - ret nz - jr .stopWheel -; Stop early if two 7 symbols or two bar symbols are lined up in the first two -; wheels OR if no symbols are lined up and the bottom symbol in wheel 2 is a -; 7 symbol or bar symbol. The second part could be a bug or a way to reduce the -; player's odds. -.sevenAndBarMode - call SlotMachine_FindWheel1Wheel2Matches - ld a, [de] - cp (SLOTSBAR >> 8) + 1 - ret nc -.stopWheel - xor a - ld [wSlotMachineWheel2SlipCounter], a - ret - -SlotMachine_FindWheel1Wheel2Matches: -; return whether wheel 1 and wheel 2's current positions allow a match (given -; that wheel 3 stops in a good position) in Z - ld hl, wSlotMachineWheel1BottomTile - ld de, wSlotMachineWheel2BottomTile - ld a, [de] - cp [hl] ; wheel 1 bottom, wheel 2 bottom - ret z - inc de - ld a, [de] - cp [hl] ; wheel 1 bottom, wheel 2 middle - ret z - inc hl - cp [hl] ; wheel 1 middle, wheel 2 middle - ret z - inc hl - cp [hl] ; wheel 1 top, wheel 2 middle - ret z - inc de - ld a, [de] - cp [hl] ; wheel 1 top, wheel 2 top - ret z - dec de - dec de - ret - -SlotMachine_CheckForMatches: - call SlotMachine_GetWheel3Tiles - ld a, [wSlotMachineBet] - cp 2 - jr z, .checkMatchesFor2CoinBet - cp 1 - jr z, .checkMatchFor1CoinBet -; 3 coin bet allows diagonal matches (plus the matches for 1/2 coin bets) - ld hl, wSlotMachineWheel1BottomTile - ld de, wSlotMachineWheel2MiddleTile - ld bc, wSlotMachineWheel3TopTile - call SlotMachine_CheckForMatch - jp z, .foundMatch - ld hl, wSlotMachineWheel1TopTile - ld de, wSlotMachineWheel2MiddleTile - ld bc, wSlotMachineWheel3BottomTile - call SlotMachine_CheckForMatch - jr z, .foundMatch -; 2 coin bet allows top/bottom horizontal matches (plus the match for a 1 coin bet) -.checkMatchesFor2CoinBet - ld hl, wSlotMachineWheel1TopTile - ld de, wSlotMachineWheel2TopTile - ld bc, wSlotMachineWheel3TopTile - call SlotMachine_CheckForMatch - jr z, .foundMatch - ld hl, wSlotMachineWheel1BottomTile - ld de, wSlotMachineWheel2BottomTile - ld bc, wSlotMachineWheel3BottomTile - call SlotMachine_CheckForMatch - jr z, .foundMatch -; 1 coin bet only allows a middle horizontal match -.checkMatchFor1CoinBet - ld hl, wSlotMachineWheel1MiddleTile - ld de, wSlotMachineWheel2MiddleTile - ld bc, wSlotMachineWheel3MiddleTile - call SlotMachine_CheckForMatch - jr z, .foundMatch - ld a, [wSlotMachineFlags] - and $c0 - jr z, .noMatch - ld hl, wSlotMachineRerollCounter - dec [hl] - jr nz, .rollWheel3DownByOneSymbol -.noMatch - ld hl, NotThisTimeText - call PrintText -.done - xor a - ld [wMuteAudioAndPauseMusic], a - ret -.rollWheel3DownByOneSymbol - call SlotMachine_AnimWheel3 - call DelayFrame - call SlotMachine_AnimWheel3 - call DelayFrame - jp SlotMachine_CheckForMatches -.foundMatch - ld a, [wSlotMachineFlags] - and $c0 - jr z, .rollWheel3DownByOneSymbol ; roll wheel if player isn't allowed to win - and $80 - jr nz, .acceptMatch -; if 7/bar matches aren't enabled and the match was a 7/bar symbol, roll wheel - ld a, [hl] - cp (SLOTSBAR >> 8) + 1 - jr c, .rollWheel3DownByOneSymbol -.acceptMatch - ld a, [hl] - sub $2 - ld [wSlotMachineWinningSymbol], a - ld hl, SlotRewardPointers - ld c, a - ld b, 0 - add hl, bc - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - push de - ld a, [hli] - ld h, [hl] - ld l, a - ld de, wcf4b - ld bc, 4 - call CopyData - pop hl - ld de, .flashScreenLoop - push de - jp hl - -.flashScreenLoop - ld a, [rBGP] - xor $40 - ld [rBGP], a - ld c, 5 - call DelayFrames - dec b - jr nz, .flashScreenLoop - ld hl, wPayoutCoins - ld [hl], d - inc hl - ld [hl], e - call SlotMachine_PrintPayoutCoins - ld hl, SymbolLinedUpSlotMachineText - call PrintText - call WaitForTextScrollButtonPress - call SlotMachine_PayCoinsToPlayer - call SlotMachine_PrintPayoutCoins - ld a, $e4 - ld [rOBP0], a - jp .done - -SymbolLinedUpSlotMachineText: - TX_ASM - push bc - call SlotMachine_PrintWinningSymbol - ld hl, LinedUpText - pop bc - inc bc - inc bc - inc bc - inc bc - ret - -LinedUpText: - TX_FAR _LinedUpText - db "@" - -SlotRewardPointers: - dw SlotReward300Func - dw SlotReward300Text - dw SlotReward100Func - dw SlotReward100Text - dw SlotReward8Func - dw SlotReward8Text - dw SlotReward15Func - dw SlotReward15Text - dw SlotReward15Func - dw SlotReward15Text - dw SlotReward15Func - dw SlotReward15Text - -SlotReward300Text: - db "300@" - -SlotReward100Text: - db "100@" - -SlotReward8Text: - db "8@" - -SlotReward15Text: - db "15@" - -NotThisTimeText: - TX_FAR _NotThisTimeText - db "@" - -; compares the slot machine tiles at bc, de, and hl -SlotMachine_CheckForMatch: - ld a, [de] - cp [hl] - ret nz - ld a, [bc] - cp [hl] - ret - -SlotMachine_GetWheel3Tiles: - ld de, wSlotMachineWheel3BottomTile - ld hl, SlotMachineWheel3 - ld a, [wSlotMachineWheel3Offset] - call SlotMachine_GetWheelTiles - -SlotMachine_GetWheel2Tiles: - ld de, wSlotMachineWheel2BottomTile - ld hl, SlotMachineWheel2 - ld a, [wSlotMachineWheel2Offset] - call SlotMachine_GetWheelTiles - -SlotMachine_GetWheel1Tiles: - ld de, wSlotMachineWheel1BottomTile - ld hl, SlotMachineWheel1 - ld a, [wSlotMachineWheel1Offset] - -SlotMachine_GetWheelTiles: - ld c, a - ld b, 0 - add hl, bc - ld c, 3 -.loop - ld a, [hli] - ld [de], a - inc de - inc hl - dec c - jr nz, .loop - ret - -SlotReward8Func: - ld hl, wSlotMachineAllowMatchesCounter - ld a, [hl] - and a - jr z, .skip - dec [hl] -.skip - ld b, $2 - ld de, 8 - ret - -SlotReward15Func: - ld hl, wSlotMachineAllowMatchesCounter - ld a, [hl] - and a - jr z, .skip - dec [hl] -.skip - ld b, $4 - ld de, 15 - ret - -SlotReward100Func: - ld a, SFX_GET_KEY_ITEM - call PlaySound - xor a - ld [wSlotMachineFlags], a - ld b, $8 - ld de, 100 - ret - -SlotReward300Func: - ld hl, YeahText - call PrintText - ld a, SFX_GET_ITEM_2 - call PlaySound - call Random - cp $80 - ld a, $0 - jr c, .skip - ld [wSlotMachineFlags], a -.skip - ld [wSlotMachineAllowMatchesCounter], a - ld b, $14 - ld de, 300 - ret - -YeahText: - TX_FAR _YeahText - TX_DELAY - db "@" - -SlotMachine_PrintWinningSymbol: -; prints winning symbol and down arrow in text box - coord hl, 2, 14 - ld a, [wSlotMachineWinningSymbol] - add $25 - ld [hli], a - inc a - ld [hld], a - inc a - ld de, -SCREEN_WIDTH - add hl, de - ld [hli], a - inc a - ld [hl], a - coord hl, 18, 16 - ld [hl], "▼" - ret - -SlotMachine_SubtractBetFromPlayerCoins: - ld hl, wTempCoins2 + 1 - ld a, [wSlotMachineBet] - ld [hld], a - xor a - ld [hli], a - ld de, wPlayerCoins + 1 - ld c, $2 - predef SubBCDPredef - -SlotMachine_PrintCreditCoins: - coord hl, 5, 1 - ld de, wPlayerCoins - ld c, $2 - jp PrintBCDNumber - -SlotMachine_PrintPayoutCoins: - coord hl, 11, 1 - ld de, wPayoutCoins - lb bc, LEADING_ZEROES | 2, 4 ; 2 bytes, 4 digits - jp PrintNumber - -SlotMachine_PayCoinsToPlayer: - ld a, $1 - ld [wMuteAudioAndPauseMusic], a - call WaitForSoundToFinish - -; Put 1 in the temp coins variable. This value is added to the player's coins -; repeatedly so the player can watch the value go up 1 coin at a time. - ld hl, wTempCoins1 - xor a - ld [hli], a - inc a - ld [hl], a - - ld a, 5 - ld [wAnimCounter], a - -; Subtract 1 from the payout amount and add 1 to the player's coins each -; iteration until the payout amount reaches 0. -.loop - ld a, [wPayoutCoins + 1] - ld l, a - ld a, [wPayoutCoins] - ld h, a - or l - ret z - ld de, -1 - add hl, de - ld a, l - ld [wPayoutCoins + 1], a - ld a, h - ld [wPayoutCoins], a - ld hl, wTempCoins1 + 1 - ld de, wPlayerCoins + 1 - ld c, $2 - predef AddBCDPredef - call SlotMachine_PrintCreditCoins - call SlotMachine_PrintPayoutCoins - ld a, SFX_SLOTS_REWARD - call PlaySound - ld a, [wAnimCounter] - dec a - jr nz, .skip1 - ld a, [rOBP0] - xor $40 ; make the slot wheel symbols flash - ld [rOBP0], a - ld a, 5 -.skip1 - ld [wAnimCounter], a - ld a, [wSlotMachineWinningSymbol] - cp (SLOTSBAR >> 8) + 1 - ld c, 8 - jr nc, .skip2 - srl c ; c = 4 (make the the coins transfer faster if the symbol was 7 or bar) -.skip2 - call DelayFrames - jr .loop - -SlotMachine_PutOutLitBalls: - ld a, $23 - ld [wNewSlotMachineBallTile], a - jr SlotMachine_UpdateThreeCoinBallTiles - -SlotMachine_LightBalls: - ld a, $14 - ld [wNewSlotMachineBallTile], a - ld a, [wSlotMachineBet] - dec a - jr z, SlotMachine_UpdateOneCoinBallTiles - dec a - jr z, SlotMachine_UpdateTwoCoinBallTiles - -SlotMachine_UpdateThreeCoinBallTiles: - coord hl, 3, 2 - call SlotMachine_UpdateBallTiles - coord hl, 3, 10 - call SlotMachine_UpdateBallTiles - -SlotMachine_UpdateTwoCoinBallTiles: - coord hl, 3, 4 - call SlotMachine_UpdateBallTiles - coord hl, 3, 8 - call SlotMachine_UpdateBallTiles - -SlotMachine_UpdateOneCoinBallTiles: - coord hl, 3, 6 - -SlotMachine_UpdateBallTiles: - ld a, [wNewSlotMachineBallTile] - ld [hl], a - ld bc, 13 - add hl, bc - ld [hl], a - ld bc, 7 - add hl, bc - inc a - ld [hl], a - ld bc, 13 - add hl, bc - ld [hl], a - ret - -SlotMachine_AnimWheel1: - ld bc, SlotMachineWheel1 - ld de, wSlotMachineWheel1Offset - ld hl, wOAMBuffer - ld a, $30 - ld [wBaseCoordX], a - jr SlotMachine_AnimWheel - -SlotMachine_AnimWheel2: - ld bc, SlotMachineWheel2 - ld de, wSlotMachineWheel2Offset - ld hl, wOAMBuffer + $30 - ld a, $50 - ld [wBaseCoordX], a - jr SlotMachine_AnimWheel - -SlotMachine_AnimWheel3: - ld bc, SlotMachineWheel3 - ld de, wSlotMachineWheel3Offset - ld hl, wOAMBuffer + $60 - ld a, $70 - ld [wBaseCoordX], a - -SlotMachine_AnimWheel: - ld a, $58 - ld [wBaseCoordY], a - push de - ld a, [de] - ld d, b - add c - ld e, a - jr nc, .loop - inc d -.loop - ld a, [wBaseCoordY] - ld [hli], a - ld a, [wBaseCoordX] - ld [hli], a - ld a, [de] - ld [hli], a - ld a, $80 - ld [hli], a - ld a, [wBaseCoordY] - ld [hli], a - ld a, [wBaseCoordX] - add $8 - ld [hli], a - ld a, [de] - inc a - ld [hli], a - ld a, $80 - ld [hli], a - inc de - ld a, [wBaseCoordY] - sub $8 - ld [wBaseCoordY], a - cp $28 - jr nz, .loop - pop de - ld a, [de] - inc a ; advance the offset so that the wheel animates - cp 30 - jr nz, .skip - xor a ; wrap around to 0 when the offset reaches 30 -.skip - ld [de], a - ret - -SlotMachine_HandleInputWhileWheelsSpin: - call DelayFrame - call JoypadLowSensitivity - ld a, [hJoy5] - and A_BUTTON - ret z - ld hl, wStoppingWhichSlotMachineWheel - ld a, [hl] - dec a - ld de, wSlotMachineWheel1SlipCounter - jr z, .skip - dec a - ld de, wSlotMachineWheel2SlipCounter - jr z, .skip -.loop - inc [hl] - ld a, SFX_SLOTS_STOP_WHEEL - jp PlaySound -.skip - ld a, [de] - and a - ret nz - jr .loop - -LoadSlotMachineTiles: - call DisableLCD - ld hl, SlotMachineTiles2 - ld de, vChars0 - ld bc, $1c0 - ld a, BANK(SlotMachineTiles2) - call FarCopyData2 - ld hl, SlotMachineTiles1 - ld de, vChars2 - ld bc, $250 - ld a, BANK(SlotMachineTiles1) - call FarCopyData2 - ld hl, SlotMachineTiles2 - ld de, vChars2 + $250 - ld bc, $1c0 - ld a, BANK(SlotMachineTiles2) - call FarCopyData2 - ld hl, SlotMachineMap - coord de, 0, 0 - ld bc, SlotMachineMapEnd - SlotMachineMap - call CopyData - call EnableLCD - ld hl, wSlotMachineWheel1Offset - ld a, $1c - ld [hli], a - ld [hli], a - ld [hl], a - call SlotMachine_AnimWheel1 - call SlotMachine_AnimWheel2 - jp SlotMachine_AnimWheel3 - -SlotMachineMap: - INCBIN "gfx/slots/slots.tilemap" -SlotMachineMapEnd: - -INCLUDE "data/slot_machine_wheels.asm" - -SlotMachineTiles1: -IF DEF(_RED) - INCBIN "gfx/slots/red_slots_1.2bpp" -ENDC -IF DEF(_BLUE) - INCBIN "gfx/slots/blue_slots_1.2bpp" -ENDC diff --git a/engine/slots/game_corner_slots.asm b/engine/slots/game_corner_slots.asm new file mode 100755 index 00000000..2108695f --- /dev/null +++ b/engine/slots/game_corner_slots.asm @@ -0,0 +1,54 @@ +StartSlotMachine: + ld a, [wHiddenObjectFunctionArgument] + cp $fd + jr z, .printOutOfOrder + cp $fe + jr z, .printOutToLunch + cp $ff + jr z, .printSomeonesKeys + callba AbleToPlaySlotsCheck + ld a, [wCanPlaySlots] + and a + ret z + ld a, [wLuckySlotHiddenObjectIndex] + ld b, a + ld a, [wHiddenObjectIndex] + inc a + cp b + jr z, .match + ld a, 253 + jr .next +.match + ld a, 250 +.next + ld [wSlotMachineSevenAndBarModeChance], a + ld a, [H_LOADEDROMBANK] + ld [wSlotMachineSavedROMBank], a + call PromptUserToPlaySlots + ret +.printOutOfOrder + tx_pre_id GameCornerOutOfOrderText + jr .printText +.printOutToLunch + tx_pre_id GameCornerOutToLunchText + jr .printText +.printSomeonesKeys + tx_pre_id GameCornerSomeonesKeysText +.printText + push af + call EnableAutoTextBoxDrawing + pop af + call PrintPredefTextID + ret + +GameCornerOutOfOrderText:: + TX_FAR _GameCornerOutOfOrderText + db "@" + +GameCornerOutToLunchText:: + TX_FAR _GameCornerOutToLunchText + db "@" + +GameCornerSomeonesKeysText:: + TX_FAR _GameCornerSomeonesKeysText + db "@" diff --git a/engine/slots/game_corner_slots2.asm b/engine/slots/game_corner_slots2.asm new file mode 100755 index 00000000..8f6e8374 --- /dev/null +++ b/engine/slots/game_corner_slots2.asm @@ -0,0 +1,31 @@ +AbleToPlaySlotsCheck: + ld a, [wSpriteStateData1 + 2] + and $8 + jr z, .done ; not able + ld b, COIN_CASE + predef GetQuantityOfItemInBag + ld a, b + and a + ld b, (GameCornerCoinCaseText_id - TextPredefs) / 2 + 1 + jr z, .printCoinCaseRequired + ld hl, wPlayerCoins + ld a, [hli] + or [hl] + jr nz, .done ; able to play + ld b, (GameCornerNoCoinsText_id - TextPredefs) / 2 + 1 +.printCoinCaseRequired + call EnableAutoTextBoxDrawing + ld a, b + call PrintPredefTextID + xor a +.done + ld [wCanPlaySlots], a + ret + +GameCornerCoinCaseText:: + TX_FAR _GameCornerCoinCaseText + db "@" + +GameCornerNoCoinsText:: + TX_FAR _GameCornerNoCoinsText + db "@" diff --git a/engine/slots/slot_machine.asm b/engine/slots/slot_machine.asm new file mode 100755 index 00000000..0a92c69b --- /dev/null +++ b/engine/slots/slot_machine.asm @@ -0,0 +1,892 @@ +PromptUserToPlaySlots: + call SaveScreenTilesToBuffer2 + ld a, BANK(DisplayTextIDInit) + ld [wAutoTextBoxDrawingControl], a + ld b, a + ld hl, DisplayTextIDInit + call Bankswitch + ld hl, PlaySlotMachineText + call PrintText + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + jr nz, .done ; if player chose No + dec a + ld [wUpdateSpritesEnabled], a + ld hl, wSlotMachineRerollCounter + xor a + ld [hli], a + ld [hl], SMILE_BUBBLE + predef EmotionBubble + call GBPalWhiteOutWithDelay3 + call LoadSlotMachineTiles + call LoadFontTilePatterns + ld b, SET_PAL_SLOTS + call RunPaletteCommand + call GBPalNormal + ld a, $e4 + ld [rOBP0], a + ld hl, wd730 + set 6, [hl] + xor a + ld [wSlotMachineAllowMatchesCounter], a + ld hl, wStoppingWhichSlotMachineWheel + ld bc, $0014 + call FillMemory + call MainSlotMachineLoop + ld hl, wd730 + res 6, [hl] + xor a + ld [wSlotMachineAllowMatchesCounter], a + call GBPalWhiteOutWithDelay3 + ld a, $1 + ld [wUpdateSpritesEnabled], a + call RunDefaultPaletteCommand + call ReloadMapSpriteTilePatterns + call ReloadTilesetTilePatterns +.done + call LoadScreenTilesFromBuffer2 + call Delay3 + call GBPalNormal + ld a, [wSlotMachineSavedROMBank] + push af + jp CloseTextDisplay + +PlaySlotMachineText: + TX_FAR _PlaySlotMachineText + db "@" + +MainSlotMachineLoop: + call SlotMachine_PrintCreditCoins + xor a + ld hl, wPayoutCoins + ld [hli], a + ld [hl], a + call SlotMachine_PrintPayoutCoins + ld hl, BetHowManySlotMachineText + call PrintText + call SaveScreenTilesToBuffer1 +.loop + ld a, A_BUTTON | B_BUTTON + ld [wMenuWatchedKeys], a + ld a, 2 + ld [wMaxMenuItem], a + ld a, 12 + ld [wTopMenuItemY], a + ld a, 15 + ld [wTopMenuItemX], a + xor a + ld [wCurrentMenuItem], a + ld [wLastMenuItem], a + ld [wMenuWatchMovingOutOfBounds], a + coord hl, 14, 11 + ld b, 5 + ld c, 4 + call TextBoxBorder + coord hl, 16, 12 + ld de, CoinMultiplierSlotMachineText + call PlaceString + call HandleMenuInput + and B_BUTTON + jp nz, LoadScreenTilesFromBuffer1 + ld a, [wCurrentMenuItem] + ld b, a + ld a, 3 + sub b + ld [wSlotMachineBet], a + ld hl, wPlayerCoins + ld c, a + ld a, [hli] + and a + jr nz, .skip1 + ld a, [hl] + cp c + jr nc, .skip1 + ld hl, NotEnoughCoinsSlotMachineText + call PrintText + jr .loop +.skip1 + call LoadScreenTilesFromBuffer1 + call SlotMachine_SubtractBetFromPlayerCoins + call SlotMachine_LightBalls + call SlotMachine_SetFlags + ld a, 4 + ld hl, wSlotMachineWheel1SlipCounter + ld [hli], a + ld [hli], a + ld [hl], a + call WaitForSoundToFinish + ld a, SFX_SLOTS_NEW_SPIN + call PlaySound + ld hl, StartSlotMachineText + call PrintText + call SlotMachine_SpinWheels + call SlotMachine_CheckForMatches + ld hl, wPlayerCoins + ld a, [hli] + or [hl] + jr nz, .skip2 + ld hl, OutOfCoinsSlotMachineText + call PrintText + ld c, 60 + jp DelayFrames +.skip2 + ld hl, OneMoreGoSlotMachineText + call PrintText + coord hl, 14, 12 + lb bc, 13, 15 + xor a ; YES_NO_MENU + ld [wTwoOptionMenuID], a + ld a, TWO_OPTION_MENU + ld [wTextBoxID], a + call DisplayTextBoxID + ld a, [wCurrentMenuItem] + and a + ret nz + call SlotMachine_PutOutLitBalls + jp MainSlotMachineLoop + +CoinMultiplierSlotMachineText: + db "×3" + next "×2" + next "×1@" + +OutOfCoinsSlotMachineText: + TX_FAR _OutOfCoinsSlotMachineText + db "@" + +BetHowManySlotMachineText: + TX_FAR _BetHowManySlotMachineText + db "@" + +StartSlotMachineText: + TX_FAR _StartSlotMachineText + db "@" + +NotEnoughCoinsSlotMachineText: + TX_FAR _NotEnoughCoinsSlotMachineText + db "@" + +OneMoreGoSlotMachineText: + TX_FAR _OneMoreGoSlotMachineText + db "@" + +SlotMachine_SetFlags: + ld hl, wSlotMachineFlags + bit 7, [hl] + ret nz + ld a, [wSlotMachineAllowMatchesCounter] + and a + jr nz, .allowMatches + call Random + and a + jr z, .setAllowMatchesCounter ; 1/256 (~0.4%) chance + ld b, a + ld a, [wSlotMachineSevenAndBarModeChance] + cp b + jr c, .allowSevenAndBarMatches + ld a, 210 + cp b + jr c, .allowMatches ; 55/256 (~21.5%) chance + ld [hl], 0 + ret +.allowMatches + set 6, [hl] + ret +.setAllowMatchesCounter + ld a, 60 + ld [wSlotMachineAllowMatchesCounter], a + ret +.allowSevenAndBarMatches + set 7, [hl] + ret + +SlotMachine_SpinWheels: + ld c, 20 +.loop1 + push bc + call SlotMachine_AnimWheel1 + call SlotMachine_AnimWheel2 + call SlotMachine_AnimWheel3 + ld c, 2 + call DelayFrames + pop bc + dec c + jr nz, .loop1 + xor a + ld [wStoppingWhichSlotMachineWheel], a +.loop2 + call SlotMachine_HandleInputWhileWheelsSpin + call SlotMachine_StopOrAnimWheel1 + call SlotMachine_StopOrAnimWheel2 + call SlotMachine_StopOrAnimWheel3 + ret c + ld a, [wOnSGB] + xor $1 + inc a + ld c, a + call DelayFrames + jr .loop2 + +; Note that the wheels can only stop when a symbol is centred in the wheel +; and thus 3 full symbols rather than 2 full symbols and 2 half symbols are +; visible. The 3 functions below ensure this by checking if the wheel offset +; is even before stopping the wheel. + +SlotMachine_StopOrAnimWheel1: + ld a, [wStoppingWhichSlotMachineWheel] + cp 1 + jr c, .animWheel + ld de, wSlotMachineWheel1Offset + ld a, [de] + rra + jr nc, .animWheel ; check that a symbol is centred in the wheel + ld hl, wSlotMachineWheel1SlipCounter + ld a, [hl] + and a + ret z + dec [hl] + call SlotMachine_StopWheel1Early + ret nz +.animWheel + jp SlotMachine_AnimWheel1 + +SlotMachine_StopOrAnimWheel2: + ld a, [wStoppingWhichSlotMachineWheel] + cp 2 + jr c, .animWheel + ld de, wSlotMachineWheel2Offset + ld a, [de] + rra + jr nc, .animWheel ; check that a symbol is centred in the wheel + ld hl, wSlotMachineWheel2SlipCounter + ld a, [hl] + and a + ret z + dec [hl] + call SlotMachine_StopWheel2Early + ret z +.animWheel + jp SlotMachine_AnimWheel2 + +SlotMachine_StopOrAnimWheel3: + ld a, [wStoppingWhichSlotMachineWheel] + cp 3 + jr c, .animWheel + ld de, wSlotMachineWheel3Offset + ld a, [de] + rra + jr nc, .animWheel ; check that a symbol is centred in the wheel +; wheel 3 stops as soon as possible + scf + ret +.animWheel + call SlotMachine_AnimWheel3 + and a + ret + +SlotMachine_StopWheel1Early: + call SlotMachine_GetWheel1Tiles + ld hl, wSlotMachineWheel1BottomTile + ld a, [wSlotMachineFlags] + and $80 + jr nz, .sevenAndBarMode +; Stop early if the middle symbol is not a cherry. + inc hl + ld a, [hl] + cp SLOTSCHERRY >> 8 + jr nz, .stopWheel + ret +; It looks like this was intended to make the wheel stop when a 7 symbol was +; visible, but it has a bug and so the wheel stops randomly. +.sevenAndBarMode + ld c, $3 +.loop + ld a, [hli] + cp SLOTS7 >> 8 + jr c, .stopWheel ; condition never true + dec c + jr nz, .loop + ret +.stopWheel + inc a + ld hl, wSlotMachineWheel1SlipCounter + ld [hl], 0 + ret + +SlotMachine_StopWheel2Early: + call SlotMachine_GetWheel2Tiles + ld a, [wSlotMachineFlags] + and $80 + jr nz, .sevenAndBarMode +; Stop early if any symbols are lined up in the first two wheels. + call SlotMachine_FindWheel1Wheel2Matches + ret nz + jr .stopWheel +; Stop early if two 7 symbols or two bar symbols are lined up in the first two +; wheels OR if no symbols are lined up and the bottom symbol in wheel 2 is a +; 7 symbol or bar symbol. The second part could be a bug or a way to reduce the +; player's odds. +.sevenAndBarMode + call SlotMachine_FindWheel1Wheel2Matches + ld a, [de] + cp (SLOTSBAR >> 8) + 1 + ret nc +.stopWheel + xor a + ld [wSlotMachineWheel2SlipCounter], a + ret + +SlotMachine_FindWheel1Wheel2Matches: +; return whether wheel 1 and wheel 2's current positions allow a match (given +; that wheel 3 stops in a good position) in Z + ld hl, wSlotMachineWheel1BottomTile + ld de, wSlotMachineWheel2BottomTile + ld a, [de] + cp [hl] ; wheel 1 bottom, wheel 2 bottom + ret z + inc de + ld a, [de] + cp [hl] ; wheel 1 bottom, wheel 2 middle + ret z + inc hl + cp [hl] ; wheel 1 middle, wheel 2 middle + ret z + inc hl + cp [hl] ; wheel 1 top, wheel 2 middle + ret z + inc de + ld a, [de] + cp [hl] ; wheel 1 top, wheel 2 top + ret z + dec de + dec de + ret + +SlotMachine_CheckForMatches: + call SlotMachine_GetWheel3Tiles + ld a, [wSlotMachineBet] + cp 2 + jr z, .checkMatchesFor2CoinBet + cp 1 + jr z, .checkMatchFor1CoinBet +; 3 coin bet allows diagonal matches (plus the matches for 1/2 coin bets) + ld hl, wSlotMachineWheel1BottomTile + ld de, wSlotMachineWheel2MiddleTile + ld bc, wSlotMachineWheel3TopTile + call SlotMachine_CheckForMatch + jp z, .foundMatch + ld hl, wSlotMachineWheel1TopTile + ld de, wSlotMachineWheel2MiddleTile + ld bc, wSlotMachineWheel3BottomTile + call SlotMachine_CheckForMatch + jr z, .foundMatch +; 2 coin bet allows top/bottom horizontal matches (plus the match for a 1 coin bet) +.checkMatchesFor2CoinBet + ld hl, wSlotMachineWheel1TopTile + ld de, wSlotMachineWheel2TopTile + ld bc, wSlotMachineWheel3TopTile + call SlotMachine_CheckForMatch + jr z, .foundMatch + ld hl, wSlotMachineWheel1BottomTile + ld de, wSlotMachineWheel2BottomTile + ld bc, wSlotMachineWheel3BottomTile + call SlotMachine_CheckForMatch + jr z, .foundMatch +; 1 coin bet only allows a middle horizontal match +.checkMatchFor1CoinBet + ld hl, wSlotMachineWheel1MiddleTile + ld de, wSlotMachineWheel2MiddleTile + ld bc, wSlotMachineWheel3MiddleTile + call SlotMachine_CheckForMatch + jr z, .foundMatch + ld a, [wSlotMachineFlags] + and $c0 + jr z, .noMatch + ld hl, wSlotMachineRerollCounter + dec [hl] + jr nz, .rollWheel3DownByOneSymbol +.noMatch + ld hl, NotThisTimeText + call PrintText +.done + xor a + ld [wMuteAudioAndPauseMusic], a + ret +.rollWheel3DownByOneSymbol + call SlotMachine_AnimWheel3 + call DelayFrame + call SlotMachine_AnimWheel3 + call DelayFrame + jp SlotMachine_CheckForMatches +.foundMatch + ld a, [wSlotMachineFlags] + and $c0 + jr z, .rollWheel3DownByOneSymbol ; roll wheel if player isn't allowed to win + and $80 + jr nz, .acceptMatch +; if 7/bar matches aren't enabled and the match was a 7/bar symbol, roll wheel + ld a, [hl] + cp (SLOTSBAR >> 8) + 1 + jr c, .rollWheel3DownByOneSymbol +.acceptMatch + ld a, [hl] + sub $2 + ld [wSlotMachineWinningSymbol], a + ld hl, SlotRewardPointers + ld c, a + ld b, 0 + add hl, bc + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + push de + ld a, [hli] + ld h, [hl] + ld l, a + ld de, wcf4b + ld bc, 4 + call CopyData + pop hl + ld de, .flashScreenLoop + push de + jp hl + +.flashScreenLoop + ld a, [rBGP] + xor $40 + ld [rBGP], a + ld c, 5 + call DelayFrames + dec b + jr nz, .flashScreenLoop + ld hl, wPayoutCoins + ld [hl], d + inc hl + ld [hl], e + call SlotMachine_PrintPayoutCoins + ld hl, SymbolLinedUpSlotMachineText + call PrintText + call WaitForTextScrollButtonPress + call SlotMachine_PayCoinsToPlayer + call SlotMachine_PrintPayoutCoins + ld a, $e4 + ld [rOBP0], a + jp .done + +SymbolLinedUpSlotMachineText: + TX_ASM + push bc + call SlotMachine_PrintWinningSymbol + ld hl, LinedUpText + pop bc + inc bc + inc bc + inc bc + inc bc + ret + +LinedUpText: + TX_FAR _LinedUpText + db "@" + +SlotRewardPointers: + dw SlotReward300Func + dw SlotReward300Text + dw SlotReward100Func + dw SlotReward100Text + dw SlotReward8Func + dw SlotReward8Text + dw SlotReward15Func + dw SlotReward15Text + dw SlotReward15Func + dw SlotReward15Text + dw SlotReward15Func + dw SlotReward15Text + +SlotReward300Text: + db "300@" + +SlotReward100Text: + db "100@" + +SlotReward8Text: + db "8@" + +SlotReward15Text: + db "15@" + +NotThisTimeText: + TX_FAR _NotThisTimeText + db "@" + +; compares the slot machine tiles at bc, de, and hl +SlotMachine_CheckForMatch: + ld a, [de] + cp [hl] + ret nz + ld a, [bc] + cp [hl] + ret + +SlotMachine_GetWheel3Tiles: + ld de, wSlotMachineWheel3BottomTile + ld hl, SlotMachineWheel3 + ld a, [wSlotMachineWheel3Offset] + call SlotMachine_GetWheelTiles + +SlotMachine_GetWheel2Tiles: + ld de, wSlotMachineWheel2BottomTile + ld hl, SlotMachineWheel2 + ld a, [wSlotMachineWheel2Offset] + call SlotMachine_GetWheelTiles + +SlotMachine_GetWheel1Tiles: + ld de, wSlotMachineWheel1BottomTile + ld hl, SlotMachineWheel1 + ld a, [wSlotMachineWheel1Offset] + +SlotMachine_GetWheelTiles: + ld c, a + ld b, 0 + add hl, bc + ld c, 3 +.loop + ld a, [hli] + ld [de], a + inc de + inc hl + dec c + jr nz, .loop + ret + +SlotReward8Func: + ld hl, wSlotMachineAllowMatchesCounter + ld a, [hl] + and a + jr z, .skip + dec [hl] +.skip + ld b, $2 + ld de, 8 + ret + +SlotReward15Func: + ld hl, wSlotMachineAllowMatchesCounter + ld a, [hl] + and a + jr z, .skip + dec [hl] +.skip + ld b, $4 + ld de, 15 + ret + +SlotReward100Func: + ld a, SFX_GET_KEY_ITEM + call PlaySound + xor a + ld [wSlotMachineFlags], a + ld b, $8 + ld de, 100 + ret + +SlotReward300Func: + ld hl, YeahText + call PrintText + ld a, SFX_GET_ITEM_2 + call PlaySound + call Random + cp $80 + ld a, $0 + jr c, .skip + ld [wSlotMachineFlags], a +.skip + ld [wSlotMachineAllowMatchesCounter], a + ld b, $14 + ld de, 300 + ret + +YeahText: + TX_FAR _YeahText + TX_DELAY + db "@" + +SlotMachine_PrintWinningSymbol: +; prints winning symbol and down arrow in text box + coord hl, 2, 14 + ld a, [wSlotMachineWinningSymbol] + add $25 + ld [hli], a + inc a + ld [hld], a + inc a + ld de, -SCREEN_WIDTH + add hl, de + ld [hli], a + inc a + ld [hl], a + coord hl, 18, 16 + ld [hl], "▼" + ret + +SlotMachine_SubtractBetFromPlayerCoins: + ld hl, wTempCoins2 + 1 + ld a, [wSlotMachineBet] + ld [hld], a + xor a + ld [hli], a + ld de, wPlayerCoins + 1 + ld c, $2 + predef SubBCDPredef + +SlotMachine_PrintCreditCoins: + coord hl, 5, 1 + ld de, wPlayerCoins + ld c, $2 + jp PrintBCDNumber + +SlotMachine_PrintPayoutCoins: + coord hl, 11, 1 + ld de, wPayoutCoins + lb bc, LEADING_ZEROES | 2, 4 ; 2 bytes, 4 digits + jp PrintNumber + +SlotMachine_PayCoinsToPlayer: + ld a, $1 + ld [wMuteAudioAndPauseMusic], a + call WaitForSoundToFinish + +; Put 1 in the temp coins variable. This value is added to the player's coins +; repeatedly so the player can watch the value go up 1 coin at a time. + ld hl, wTempCoins1 + xor a + ld [hli], a + inc a + ld [hl], a + + ld a, 5 + ld [wAnimCounter], a + +; Subtract 1 from the payout amount and add 1 to the player's coins each +; iteration until the payout amount reaches 0. +.loop + ld a, [wPayoutCoins + 1] + ld l, a + ld a, [wPayoutCoins] + ld h, a + or l + ret z + ld de, -1 + add hl, de + ld a, l + ld [wPayoutCoins + 1], a + ld a, h + ld [wPayoutCoins], a + ld hl, wTempCoins1 + 1 + ld de, wPlayerCoins + 1 + ld c, $2 + predef AddBCDPredef + call SlotMachine_PrintCreditCoins + call SlotMachine_PrintPayoutCoins + ld a, SFX_SLOTS_REWARD + call PlaySound + ld a, [wAnimCounter] + dec a + jr nz, .skip1 + ld a, [rOBP0] + xor $40 ; make the slot wheel symbols flash + ld [rOBP0], a + ld a, 5 +.skip1 + ld [wAnimCounter], a + ld a, [wSlotMachineWinningSymbol] + cp (SLOTSBAR >> 8) + 1 + ld c, 8 + jr nc, .skip2 + srl c ; c = 4 (make the the coins transfer faster if the symbol was 7 or bar) +.skip2 + call DelayFrames + jr .loop + +SlotMachine_PutOutLitBalls: + ld a, $23 + ld [wNewSlotMachineBallTile], a + jr SlotMachine_UpdateThreeCoinBallTiles + +SlotMachine_LightBalls: + ld a, $14 + ld [wNewSlotMachineBallTile], a + ld a, [wSlotMachineBet] + dec a + jr z, SlotMachine_UpdateOneCoinBallTiles + dec a + jr z, SlotMachine_UpdateTwoCoinBallTiles + +SlotMachine_UpdateThreeCoinBallTiles: + coord hl, 3, 2 + call SlotMachine_UpdateBallTiles + coord hl, 3, 10 + call SlotMachine_UpdateBallTiles + +SlotMachine_UpdateTwoCoinBallTiles: + coord hl, 3, 4 + call SlotMachine_UpdateBallTiles + coord hl, 3, 8 + call SlotMachine_UpdateBallTiles + +SlotMachine_UpdateOneCoinBallTiles: + coord hl, 3, 6 + +SlotMachine_UpdateBallTiles: + ld a, [wNewSlotMachineBallTile] + ld [hl], a + ld bc, 13 + add hl, bc + ld [hl], a + ld bc, 7 + add hl, bc + inc a + ld [hl], a + ld bc, 13 + add hl, bc + ld [hl], a + ret + +SlotMachine_AnimWheel1: + ld bc, SlotMachineWheel1 + ld de, wSlotMachineWheel1Offset + ld hl, wOAMBuffer + ld a, $30 + ld [wBaseCoordX], a + jr SlotMachine_AnimWheel + +SlotMachine_AnimWheel2: + ld bc, SlotMachineWheel2 + ld de, wSlotMachineWheel2Offset + ld hl, wOAMBuffer + $30 + ld a, $50 + ld [wBaseCoordX], a + jr SlotMachine_AnimWheel + +SlotMachine_AnimWheel3: + ld bc, SlotMachineWheel3 + ld de, wSlotMachineWheel3Offset + ld hl, wOAMBuffer + $60 + ld a, $70 + ld [wBaseCoordX], a + +SlotMachine_AnimWheel: + ld a, $58 + ld [wBaseCoordY], a + push de + ld a, [de] + ld d, b + add c + ld e, a + jr nc, .loop + inc d +.loop + ld a, [wBaseCoordY] + ld [hli], a + ld a, [wBaseCoordX] + ld [hli], a + ld a, [de] + ld [hli], a + ld a, $80 + ld [hli], a + ld a, [wBaseCoordY] + ld [hli], a + ld a, [wBaseCoordX] + add $8 + ld [hli], a + ld a, [de] + inc a + ld [hli], a + ld a, $80 + ld [hli], a + inc de + ld a, [wBaseCoordY] + sub $8 + ld [wBaseCoordY], a + cp $28 + jr nz, .loop + pop de + ld a, [de] + inc a ; advance the offset so that the wheel animates + cp 30 + jr nz, .skip + xor a ; wrap around to 0 when the offset reaches 30 +.skip + ld [de], a + ret + +SlotMachine_HandleInputWhileWheelsSpin: + call DelayFrame + call JoypadLowSensitivity + ld a, [hJoy5] + and A_BUTTON + ret z + ld hl, wStoppingWhichSlotMachineWheel + ld a, [hl] + dec a + ld de, wSlotMachineWheel1SlipCounter + jr z, .skip + dec a + ld de, wSlotMachineWheel2SlipCounter + jr z, .skip +.loop + inc [hl] + ld a, SFX_SLOTS_STOP_WHEEL + jp PlaySound +.skip + ld a, [de] + and a + ret nz + jr .loop + +LoadSlotMachineTiles: + call DisableLCD + ld hl, SlotMachineTiles2 + ld de, vChars0 + ld bc, $1c0 + ld a, BANK(SlotMachineTiles2) + call FarCopyData2 + ld hl, SlotMachineTiles1 + ld de, vChars2 + ld bc, $250 + ld a, BANK(SlotMachineTiles1) + call FarCopyData2 + ld hl, SlotMachineTiles2 + ld de, vChars2 + $250 + ld bc, $1c0 + ld a, BANK(SlotMachineTiles2) + call FarCopyData2 + ld hl, SlotMachineMap + coord de, 0, 0 + ld bc, SlotMachineMapEnd - SlotMachineMap + call CopyData + call EnableLCD + ld hl, wSlotMachineWheel1Offset + ld a, $1c + ld [hli], a + ld [hli], a + ld [hl], a + call SlotMachine_AnimWheel1 + call SlotMachine_AnimWheel2 + jp SlotMachine_AnimWheel3 + +SlotMachineMap: + INCBIN "gfx/slots/slots.tilemap" +SlotMachineMapEnd: + +INCLUDE "data/slot_machine_wheels.asm" + +SlotMachineTiles1: +IF DEF(_RED) + INCBIN "gfx/slots/red_slots_1.2bpp" +ENDC +IF DEF(_BLUE) + INCBIN "gfx/slots/blue_slots_1.2bpp" +ENDC diff --git a/engine/special_warps.asm b/engine/special_warps.asm deleted file mode 100644 index eee85402..00000000 --- a/engine/special_warps.asm +++ /dev/null @@ -1,149 +0,0 @@ -SpecialWarpIn:: - call LoadSpecialWarpData - predef LoadTilesetHeader - ld hl, wd732 - bit 2, [hl] ; dungeon warp or fly warp? - res 2, [hl] - jr z, .next -; if dungeon warp or fly warp - ld a, [wDestinationMap] - jr .next2 -.next - bit 1, [hl] - jr z, .next3 - call EmptyFunc -.next3 - ld a, 0 -.next2 - ld b, a - ld a, [wd72d] - and a - jr nz, .next4 - ld a, b -.next4 - ld hl, wd732 - bit 4, [hl] ; dungeon warp? - ret nz -; if not dungeon warp - ld [wLastMap], a - ret - -; gets the map ID, tile block map view pointer, tileset, and coordinates -LoadSpecialWarpData: - ld a, [wd72d] - cp TRADE_CENTER - jr nz, .notTradeCenter - ld hl, TradeCenterSpec1 - ld a, [hSerialConnectionStatus] - cp USING_INTERNAL_CLOCK ; which gameboy is clocking determines who is on the left and who is on the right - jr z, .copyWarpData - ld hl, TradeCenterSpec2 - jr .copyWarpData -.notTradeCenter - cp COLOSSEUM - jr nz, .notColosseum - ld hl, ColosseumSpec1 - ld a, [hSerialConnectionStatus] - cp USING_INTERNAL_CLOCK - jr z, .copyWarpData - ld hl, ColosseumSpec2 - jr .copyWarpData -.notColosseum - ld a, [wd732] - bit 1, a - jr nz, .notFirstMap - bit 2, a - jr nz, .notFirstMap - ld hl, FirstMapSpec -.copyWarpData - ld de, wCurMap - ld c, $7 -.copyWarpDataLoop - ld a, [hli] - ld [de], a - inc de - dec c - jr nz, .copyWarpDataLoop - ld a, [hli] - ld [wCurMapTileset], a - xor a - jr .done -.notFirstMap - ld a, [wLastMap] ; this value is overwritten before it's ever read - ld hl, wd732 - bit 4, [hl] ; used dungeon warp (jumped down hole/waterfall)? - jr nz, .usedDunegonWarp - bit 6, [hl] ; return to last pokemon center (or player's house)? - res 6, [hl] - jr z, .otherDestination -; return to last pokemon center or player's house - ld a, [wLastBlackoutMap] - jr .usedFlyWarp -.usedDunegonWarp - ld hl, wd72d - res 4, [hl] - ld a, [wDungeonWarpDestinationMap] - ld b, a - ld [wCurMap], a - ld a, [wWhichDungeonWarp] - ld c, a - ld hl, DungeonWarpList - ld de, 0 - ld a, 6 - ld [wDungeonWarpDataEntrySize], a -.dungeonWarpListLoop - ld a, [hli] - cp b - jr z, .matchedDungeonWarpDestinationMap - inc hl - jr .nextDungeonWarp -.matchedDungeonWarpDestinationMap - ld a, [hli] - cp c - jr z, .matchedDungeonWarpID -.nextDungeonWarp - ld a, [wDungeonWarpDataEntrySize] - add e - ld e, a - jr .dungeonWarpListLoop -.matchedDungeonWarpID - ld hl, DungeonWarpData - add hl, de - jr .copyWarpData2 -.otherDestination - ld a, [wDestinationMap] -.usedFlyWarp - ld b, a - ld [wCurMap], a - ld hl, FlyWarpDataPtr -.flyWarpDataPtrLoop - ld a, [hli] - inc hl - cp b - jr z, .foundFlyWarpMatch - inc hl - inc hl - jr .flyWarpDataPtrLoop -.foundFlyWarpMatch - ld a, [hli] - ld h, [hl] - ld l, a -.copyWarpData2 - ld de, wCurrentTileBlockMapViewPointer - ld c, $6 -.copyWarpDataLoop2 - ld a, [hli] - ld [de], a - inc de - dec c - jr nz, .copyWarpDataLoop2 - xor a ; OVERWORLD - ld [wCurMapTileset], a -.done - ld [wYOffsetSinceLastSpecialWarp], a - ld [wXOffsetSinceLastSpecialWarp], a - ld a, $ff ; the player's coordinates have already been updated using a special warp, so don't use any of the normal warps - ld [wDestinationWarpID], a - ret - -INCLUDE "data/special_warps.asm" diff --git a/engine/status_ailments.asm b/engine/status_ailments.asm deleted file mode 100755 index 3da1fc43..00000000 --- a/engine/status_ailments.asm +++ /dev/null @@ -1,46 +0,0 @@ -PrintStatusAilment:: - ld a, [de] - bit PSN, a - jr nz, .psn - bit BRN, a - jr nz, .brn - bit FRZ, a - jr nz, .frz - bit PAR, a - jr nz, .par - and SLP - ret z - ld a, "S" - ld [hli], a - ld a, "L" - ld [hli], a - ld [hl], "P" - ret -.psn - ld a, "P" - ld [hli], a - ld a, "S" - ld [hli], a - ld [hl], "N" - ret -.brn - ld a, "B" - ld [hli], a - ld a, "R" - ld [hli], a - ld [hl], "N" - ret -.frz - ld a, "F" - ld [hli], a - ld a, "R" - ld [hli], a - ld [hl], "Z" - ret -.par - ld a, "P" - ld [hli], a - ld a, "A" - ld [hli], a - ld [hl], "R" - ret diff --git a/engine/subtract_paid_money.asm b/engine/subtract_paid_money.asm deleted file mode 100644 index fdefe3d6..00000000 --- a/engine/subtract_paid_money.asm +++ /dev/null @@ -1,17 +0,0 @@ -; subtracts the amount the player paid from their money -; OUTPUT: carry = 0(success) or 1(fail because there is not enough money) -SubtractAmountPaidFromMoney_:: - ld de, wPlayerMoney - ld hl, hMoney ; total price of items - ld c, 3 ; length of money in bytes - call StringCmp - ret c - ld de, wPlayerMoney + 2 - ld hl, hMoney + 2 ; total price of items - ld c, 3 ; length of money in bytes - predef SubBCDPredef ; subtract total price from money - ld a, MONEY_BOX - ld [wTextBoxID], a - call DisplayTextBoxID ; redraw money text box - and a - ret diff --git a/engine/test_battle.asm b/engine/test_battle.asm deleted file mode 100644 index d9dcf1fa..00000000 --- a/engine/test_battle.asm +++ /dev/null @@ -1,45 +0,0 @@ -TestBattle: - ret - -.loop - call GBPalNormal - - ; Don't mess around - ; with obedience. - ld a, %10000000 ; EARTHBADGE - ld [wObtainedBadges], a - - ld hl, wFlags_D733 - set BIT_TEST_BATTLE, [hl] - - ; Reset the party. - ld hl, wPartyCount - xor a - ld [hli], a - dec a - ld [hl], a - - ; Give the player a - ; level 20 Rhydon. - ld a, RHYDON - ld [wcf91], a - ld a, 20 - ld [wCurEnemyLVL], a - xor a - ld [wMonDataLocation], a - ld [wCurMap], a - call AddPartyMon - - ; Fight against a - ; level 20 Rhydon. - ld a, RHYDON - ld [wCurOpponent], a - - predef InitOpponent - - ; When the battle ends, - ; do it all again. - ld a, 1 - ld [wUpdateSpritesEnabled], a - ld [H_AUTOBGTRANSFERENABLED], a - jr .loop diff --git a/engine/titlescreen.asm b/engine/titlescreen.asm deleted file mode 100755 index c30f83a9..00000000 --- a/engine/titlescreen.asm +++ /dev/null @@ -1,403 +0,0 @@ -; copy text of fixed length NAME_LENGTH (like player name, rival name, mon names, ...) -CopyFixedLengthText: - ld bc, NAME_LENGTH - jp CopyData - -SetDefaultNamesBeforeTitlescreen:: - ld hl, NintenText - ld de, wPlayerName - call CopyFixedLengthText - ld hl, SonyText - ld de, wRivalName - call CopyFixedLengthText - xor a - ld [hWY], a - ld [wLetterPrintingDelayFlags], a - ld hl, wd732 - ld [hli], a - ld [hli], a - ld [hl], a - ld a, BANK(Music_TitleScreen) - ld [wAudioROMBank], a - ld [wAudioSavedROMBank], a - -DisplayTitleScreen: - call GBPalWhiteOut - ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a - xor a - ld [hTilesetType], a - ld [hSCX], a - ld a, $40 - ld [hSCY], a - ld a, $90 - ld [hWY], a - call ClearScreen - call DisableLCD - call LoadFontTilePatterns - ld hl, NintendoCopyrightLogoGraphics - ld de, vTitleLogo2 + $100 - ld bc, $50 - ld a, BANK(NintendoCopyrightLogoGraphics) - call FarCopyData2 - ld hl, GamefreakLogoGraphics - ld de, vTitleLogo2 + $100 + $50 - ld bc, $90 - ld a, BANK(GamefreakLogoGraphics) - call FarCopyData2 - ld hl, PokemonLogoGraphics - ld de, vTitleLogo - ld bc, $600 - ld a, BANK(PokemonLogoGraphics) - call FarCopyData2 ; first chunk - ld hl, PokemonLogoGraphics+$600 - ld de, vTitleLogo2 - ld bc, $100 - ld a, BANK(PokemonLogoGraphics) - call FarCopyData2 ; second chunk - ld hl, Version_GFX - ld de, vChars2 + $600 - (Version_GFXEnd - Version_GFX - $50) - ld bc, Version_GFXEnd - Version_GFX - ld a, BANK(Version_GFX) - call FarCopyDataDouble - call ClearBothBGMaps - -; place tiles for pokemon logo (except for the last row) - coord hl, 2, 1 - ld a, $80 - ld de, SCREEN_WIDTH - ld c, 6 -.pokemonLogoTileLoop - ld b, $10 - push hl -.pokemonLogoTileRowLoop ; place tiles for one row - ld [hli], a - inc a - dec b - jr nz, .pokemonLogoTileRowLoop - pop hl - add hl, de - dec c - jr nz, .pokemonLogoTileLoop - -; place tiles for the last row of the pokemon logo - coord hl, 2, 7 - ld a, $31 - ld b, $10 -.pokemonLogoLastTileRowLoop - ld [hli], a - inc a - dec b - jr nz, .pokemonLogoLastTileRowLoop - - call DrawPlayerCharacter - -; put a pokeball in the player's hand - ld hl, wOAMBuffer + $28 - ld a, $74 - ld [hl], a - -; place tiles for title screen copyright - coord hl, 2, 17 - ld de, .tileScreenCopyrightTiles - ld b, $10 -.tileScreenCopyrightTilesLoop - ld a, [de] - ld [hli], a - inc de - dec b - jr nz, .tileScreenCopyrightTilesLoop - - jr .next - -.tileScreenCopyrightTiles - db $41,$42,$43,$42,$44,$42,$45,$46,$47,$48,$49,$4A,$4B,$4C,$4D,$4E ; ©'95.'96.'98 GAME FREAK inc. - -.next - call SaveScreenTilesToBuffer2 - call LoadScreenTilesFromBuffer2 - call EnableLCD -IF DEF(_RED) - ld a, CHARMANDER ; which Pokemon to show first on the title screen -ENDC -IF DEF(_BLUE) - ld a, SQUIRTLE ; which Pokemon to show first on the title screen -ENDC - - ld [wTitleMonSpecies], a - call LoadTitleMonSprite - ld a, (vBGMap0 + $300) / $100 - call TitleScreenCopyTileMapToVRAM - call SaveScreenTilesToBuffer1 - ld a, $40 - ld [hWY], a - call LoadScreenTilesFromBuffer2 - ld a, vBGMap0 / $100 - call TitleScreenCopyTileMapToVRAM - ld b, SET_PAL_TITLE_SCREEN - call RunPaletteCommand - call GBPalNormal - ld a, %11100100 - ld [rOBP0], a - -; make pokemon logo bounce up and down - ld bc, hSCY ; background scroll Y - ld hl, .TitleScreenPokemonLogoYScrolls -.bouncePokemonLogoLoop - ld a, [hli] - and a - jr z, .finishedBouncingPokemonLogo - ld d, a - cp -3 - jr nz, .skipPlayingSound - ld a, SFX_INTRO_CRASH - call PlaySound -.skipPlayingSound - ld a, [hli] - ld e, a - call .ScrollTitleScreenPokemonLogo - jr .bouncePokemonLogoLoop - -.TitleScreenPokemonLogoYScrolls: -; Controls the bouncing effect of the Pokemon logo on the title screen - db -4,16 ; y scroll amount, number of times to scroll - db 3,4 - db -3,4 - db 2,2 - db -2,2 - db 1,2 - db -1,2 - db 0 ; terminate list with 0 - -.ScrollTitleScreenPokemonLogo: -; Scrolls the Pokemon logo on the title screen to create the bouncing effect -; Scrolls d pixels e times - call DelayFrame - ld a, [bc] ; background scroll Y - add d - ld [bc], a - dec e - jr nz, .ScrollTitleScreenPokemonLogo - ret - -.finishedBouncingPokemonLogo - call LoadScreenTilesFromBuffer1 - ld c, 36 - call DelayFrames - ld a, SFX_INTRO_WHOOSH - call PlaySound - -; scroll game version in from the right - call PrintGameVersionOnTitleScreen - ld a, SCREEN_HEIGHT_PIXELS - ld [hWY], a - ld d, 144 -.scrollTitleScreenGameVersionLoop - ld h, d - ld l, 64 - call ScrollTitleScreenGameVersion - ld h, 0 - ld l, 80 - call ScrollTitleScreenGameVersion - ld a, d - add 4 - ld d, a - and a - jr nz, .scrollTitleScreenGameVersionLoop - - ld a, vBGMap1 / $100 - call TitleScreenCopyTileMapToVRAM - call LoadScreenTilesFromBuffer2 - call PrintGameVersionOnTitleScreen - call Delay3 - call WaitForSoundToFinish - ld a, MUSIC_TITLE_SCREEN - ld [wNewSoundID], a - call PlaySound - xor a - ld [wUnusedCC5B], a - -; Keep scrolling in new mons indefinitely until the user performs input. -.awaitUserInterruptionLoop - ld c, 200 - call CheckForUserInterruption - jr c, .finishedWaiting - call TitleScreenScrollInMon - ld c, 1 - call CheckForUserInterruption - jr c, .finishedWaiting - callba TitleScreenAnimateBallIfStarterOut - call TitleScreenPickNewMon - jr .awaitUserInterruptionLoop - -.finishedWaiting - ld a, [wTitleMonSpecies] - call PlayCry - call WaitForSoundToFinish - call GBPalWhiteOutWithDelay3 - call ClearSprites - xor a - ld [hWY], a - inc a - ld [H_AUTOBGTRANSFERENABLED], a - call ClearScreen - ld a, vBGMap0 / $100 - call TitleScreenCopyTileMapToVRAM - ld a, vBGMap1 / $100 - call TitleScreenCopyTileMapToVRAM - call Delay3 - call LoadGBPal - ld a, [hJoyHeld] - ld b, a - and D_UP | SELECT | B_BUTTON - cp D_UP | SELECT | B_BUTTON - jp z, .doClearSaveDialogue - jp MainMenu - -.doClearSaveDialogue - jpba DoClearSaveDialogue - -TitleScreenPickNewMon: - ld a, vBGMap0 / $100 - call TitleScreenCopyTileMapToVRAM - -.loop -; Keep looping until a mon different from the current one is picked. - call Random - and $f - ld c, a - ld b, 0 - ld hl, TitleMons - add hl, bc - ld a, [hl] - ld hl, wTitleMonSpecies - -; Can't be the same as before. - cp [hl] - jr z, .loop - - ld [hl], a - call LoadTitleMonSprite - - ld a, $90 - ld [hWY], a - ld d, 1 ; scroll out - callba TitleScroll - ret - -TitleScreenScrollInMon: - ld d, 0 ; scroll in - callba TitleScroll - xor a - ld [hWY], a - ret - -ScrollTitleScreenGameVersion: -.wait - ld a, [rLY] - cp l - jr nz, .wait - - ld a, h - ld [rSCX], a - -.wait2 - ld a, [rLY] - cp h - jr z, .wait2 - ret - -DrawPlayerCharacter: - ld hl, PlayerCharacterTitleGraphics - ld de, vSprites - ld bc, PlayerCharacterTitleGraphicsEnd - PlayerCharacterTitleGraphics - ld a, BANK(PlayerCharacterTitleGraphics) - call FarCopyData2 - call ClearSprites - xor a - ld [wPlayerCharacterOAMTile], a - ld hl, wOAMBuffer - ld de, $605a - ld b, 7 -.loop - push de - ld c, 5 -.innerLoop - ld a, d - ld [hli], a ; Y - ld a, e - ld [hli], a ; X - add 8 - ld e, a - ld a, [wPlayerCharacterOAMTile] - ld [hli], a ; tile - inc a - ld [wPlayerCharacterOAMTile], a - inc hl - dec c - jr nz, .innerLoop - pop de - ld a, 8 - add d - ld d, a - dec b - jr nz, .loop - ret - -ClearBothBGMaps: - ld hl, vBGMap0 - ld bc, $400 * 2 - ld a, " " - jp FillMemory - -LoadTitleMonSprite: - ld [wcf91], a - ld [wd0b5], a - coord hl, 5, 10 - call GetMonHeader - jp LoadFrontSpriteByMonIndex - -TitleScreenCopyTileMapToVRAM: - ld [H_AUTOBGTRANSFERDEST + 1], a - jp Delay3 - -LoadCopyrightAndTextBoxTiles: - xor a - ld [hWY], a - call ClearScreen - call LoadTextBoxTilePatterns - -LoadCopyrightTiles: - ld de, NintendoCopyrightLogoGraphics - ld hl, vChars2 + $600 - lb bc, BANK(NintendoCopyrightLogoGraphics), (GamefreakLogoGraphicsEnd - NintendoCopyrightLogoGraphics) / $10 - call CopyVideoData - coord hl, 2, 7 - ld de, CopyrightTextString - jp PlaceString - -CopyrightTextString: - db $60,$61,$62,$61,$63,$61,$64,$7F,$65,$66,$67,$68,$69,$6A ; ©'95.'96.'98 Nintendo - next $60,$61,$62,$61,$63,$61,$64,$7F,$6B,$6C,$6D,$6E,$6F,$70,$71,$72 ; ©'95.'96.'98 Creatures inc. - next $60,$61,$62,$61,$63,$61,$64,$7F,$73,$74,$75,$76,$77,$78,$79,$7A,$7B ; ©'95.'96.'98 GAME FREAK inc. - db "@" - -INCLUDE "data/title_mons.asm" - -; prints version text (red, blue) -PrintGameVersionOnTitleScreen: - coord hl, 7, 8 - ld de, VersionOnTitleScreenText - jp PlaceString - -; these point to special tiles specifically loaded for that purpose and are not usual text -VersionOnTitleScreenText: -IF DEF(_RED) - db $60,$61,$7F,$65,$66,$67,$68,$69,"@" ; "Red Version" -ENDC -IF DEF(_BLUE) - db $61,$62,$63,$64,$65,$66,$67,$68,"@" ; "Blue Version" -ENDC - -NintenText: db "NINTEN@" -SonyText: db "SONY@" diff --git a/engine/titlescreen2.asm b/engine/titlescreen2.asm deleted file mode 100755 index 2346fcc5..00000000 --- a/engine/titlescreen2.asm +++ /dev/null @@ -1,120 +0,0 @@ -TitleScroll_WaitBall: -; Wait around for the TitleBall animation to play out. -; hi: speed -; lo: duration - db $05, $05, 0 - -TitleScroll_In: -; Scroll a TitleMon in from the right. -; hi: speed -; lo: duration - db $a2, $94, $84, $63, $52, $31, $11, 0 - -TitleScroll_Out: -; Scroll a TitleMon out to the left. -; hi: speed -; lo: duration - db $12, $22, $32, $42, $52, $62, $83, $93, 0 - -TitleScroll: - ld a, d - - ld bc, TitleScroll_In - ld d, $88 - ld e, 0 ; don't animate titleball - - and a - jr nz, .ok - - ld bc, TitleScroll_Out - ld d, $00 - ld e, 0 ; don't animate titleball -.ok - -_TitleScroll: - ld a, [bc] - and a - ret z - - inc bc - push bc - - ld b, a - and $f - ld c, a - ld a, b - and $f0 - swap a - ld b, a - -.loop - ld h, d - ld l, $48 - call .ScrollBetween - - ld h, $00 - ld l, $88 - call .ScrollBetween - - ld a, d - add b - ld d, a - - call GetTitleBallY - dec c - jr nz, .loop - - pop bc - jr _TitleScroll - -.ScrollBetween: -.wait - ld a, [rLY] ; rLY - cp l - jr nz, .wait - - ld a, h - ld [rSCX], a - -.wait2 - ld a, [rLY] ; rLY - cp h - jr z, .wait2 - ret - -TitleBallYTable: -; OBJ y-positions for the Poke Ball held by Red in the title screen. -; This is really two 0-terminated lists. Initiated with an index of 1. - db 0, $71, $6f, $6e, $6d, $6c, $6d, $6e, $6f, $71, $74, 0 - -TitleScreenAnimateBallIfStarterOut: -; Animate the TitleBall if a starter just got scrolled out. - ld a, [wTitleMonSpecies] - cp STARTER1 - jr z, .ok - cp STARTER2 - jr z, .ok - cp STARTER3 - ret nz -.ok - ld e, 1 ; animate titleball - ld bc, TitleScroll_WaitBall - ld d, 0 - jp _TitleScroll - -GetTitleBallY: -; Get position e from TitleBallYTable - push de - push hl - xor a - ld d, a - ld hl, TitleBallYTable - add hl, de - ld a, [hl] - pop hl - pop de - and a - ret z - ld [wOAMBuffer + $28], a - inc e - ret diff --git a/engine/town_map.asm b/engine/town_map.asm deleted file mode 100755 index 84a92994..00000000 --- a/engine/town_map.asm +++ /dev/null @@ -1,618 +0,0 @@ -DisplayTownMap: - call LoadTownMap - ld hl, wUpdateSpritesEnabled - ld a, [hl] - push af - ld [hl], $ff - push hl - ld a, $1 - ld [hJoy7], a - ld a, [wCurMap] - push af - ld b, $0 - call DrawPlayerOrBirdSprite ; player sprite - coord hl, 1, 0 - ld de, wcd6d - call PlaceString - ld hl, wOAMBuffer - ld de, wTileMapBackup - ld bc, $10 - call CopyData - ld hl, vSprites + $40 - ld de, TownMapCursor - lb bc, BANK(TownMapCursor), (TownMapCursorEnd - TownMapCursor) / $8 - call CopyVideoDataDouble - xor a - ld [wWhichTownMapLocation], a - pop af - jr .enterLoop - -.townMapLoop - coord hl, 0, 0 - lb bc, 1, 20 - call ClearScreenArea - ld hl, TownMapOrder - ld a, [wWhichTownMapLocation] - ld c, a - ld b, 0 - add hl, bc - ld a, [hl] -.enterLoop - ld de, wTownMapCoords - call LoadTownMapEntry - ld a, [de] - push hl - call TownMapCoordsToOAMCoords - ld a, $4 - ld [wOAMBaseTile], a - ld hl, wOAMBuffer + $10 - call WriteTownMapSpriteOAM ; town map cursor sprite - pop hl - ld de, wcd6d -.copyMapName - ld a, [hli] - ld [de], a - inc de - cp $50 - jr nz, .copyMapName - coord hl, 1, 0 - ld de, wcd6d - call PlaceString - ld hl, wOAMBuffer + $10 - ld de, wTileMapBackup + 16 - ld bc, $10 - call CopyData -.inputLoop - call TownMapSpriteBlinkingAnimation - call JoypadLowSensitivity - ld a, [hJoy5] - ld b, a - and A_BUTTON | B_BUTTON | D_UP | D_DOWN - jr z, .inputLoop - ld a, SFX_TINK - call PlaySound - bit 6, b - jr nz, .pressedUp - bit 7, b - jr nz, .pressedDown - xor a - ld [wTownMapSpriteBlinkingEnabled], a - ld [hJoy7], a - ld [wAnimCounter], a - call ExitTownMap - pop hl - pop af - ld [hl], a - ret -.pressedUp - ld a, [wWhichTownMapLocation] - inc a - cp TownMapOrderEnd - TownMapOrder ; number of list items + 1 - jr nz, .noOverflow - xor a -.noOverflow - ld [wWhichTownMapLocation], a - jp .townMapLoop -.pressedDown - ld a, [wWhichTownMapLocation] - dec a - cp -1 - jr nz, .noUnderflow - ld a, TownMapOrderEnd - TownMapOrder - 1 ; number of list items -.noUnderflow - ld [wWhichTownMapLocation], a - jp .townMapLoop - -INCLUDE "data/town_map_order.asm" - -TownMapCursor: - INCBIN "gfx/town_map/town_map_cursor.1bpp" -TownMapCursorEnd: - -LoadTownMap_Nest: - call LoadTownMap - ld hl, wUpdateSpritesEnabled - ld a, [hl] - push af - ld [hl], $ff - push hl - call DisplayWildLocations - call GetMonName - coord hl, 1, 0 - call PlaceString - ld h, b - ld l, c - ld de, MonsNestText - call PlaceString - call WaitForTextScrollButtonPress - call ExitTownMap - pop hl - pop af - ld [hl], a - ret - -MonsNestText: - db "'s NEST@" - -LoadTownMap_Fly:: - call ClearSprites - call LoadTownMap - call LoadPlayerSpriteGraphics - call LoadFontTilePatterns - ld de, BirdSprite - ld hl, vSprites + $40 - lb bc, BANK(BirdSprite), $c - call CopyVideoData - ld de, TownMapUpArrow - ld hl, vChars1 + $6d0 - lb bc, BANK(TownMapUpArrow), (TownMapUpArrowEnd - TownMapUpArrow) / $8 - call CopyVideoDataDouble - call BuildFlyLocationsList - ld hl, wUpdateSpritesEnabled - ld a, [hl] - push af - ld [hl], $ff - push hl - coord hl, 0, 0 - ld de, ToText - call PlaceString - ld a, [wCurMap] - ld b, $0 - call DrawPlayerOrBirdSprite - ld hl, wFlyLocationsList - coord de, 18, 0 -.townMapFlyLoop - ld a, " " - ld [de], a - push hl - push hl - coord hl, 3, 0 - lb bc, 1, 15 - call ClearScreenArea - pop hl - ld a, [hl] - ld b, $4 - call DrawPlayerOrBirdSprite ; draw bird sprite - coord hl, 3, 0 - ld de, wcd6d - call PlaceString - ld c, 15 - call DelayFrames - coord hl, 18, 0 - ld [hl], "▲" - coord hl, 19, 0 - ld [hl], "▼" - pop hl -.inputLoop - push hl - call DelayFrame - call JoypadLowSensitivity - ld a, [hJoy5] - ld b, a - pop hl - and A_BUTTON | B_BUTTON | D_UP | D_DOWN - jr z, .inputLoop - bit 0, b - jr nz, .pressedA - ld a, SFX_TINK - call PlaySound - bit 6, b - jr nz, .pressedUp - bit 7, b - jr nz, .pressedDown - jr .pressedB -.pressedA - ld a, SFX_HEAL_AILMENT - call PlaySound - ld a, [hl] - ld [wDestinationMap], a - ld hl, wd732 - set 3, [hl] - inc hl - set 7, [hl] -.pressedB - xor a - ld [wTownMapSpriteBlinkingEnabled], a - call GBPalWhiteOutWithDelay3 - pop hl - pop af - ld [hl], a - ret -.pressedUp - coord de, 18, 0 - inc hl - ld a, [hl] - cp $ff - jr z, .wrapToStartOfList - cp $fe - jr z, .pressedUp ; skip past unvisited towns - jp .townMapFlyLoop -.wrapToStartOfList - ld hl, wFlyLocationsList - jp .townMapFlyLoop -.pressedDown - coord de, 19, 0 - dec hl - ld a, [hl] - cp $ff - jr z, .wrapToEndOfList - cp $fe - jr z, .pressedDown ; skip past unvisited towns - jp .townMapFlyLoop -.wrapToEndOfList - ld hl, wFlyLocationsList + 11 - jr .pressedDown - -ToText: - db "To@" - -BuildFlyLocationsList: - ld hl, wFlyLocationsList - 1 - ld [hl], $ff - inc hl - ld a, [wTownVisitedFlag] - ld e, a - ld a, [wTownVisitedFlag + 1] - ld d, a - ld bc, SAFFRON_CITY + 1 -.loop - srl d - rr e - ld a, $fe ; store $fe if the town hasn't been visited - jr nc, .notVisited - ld a, b ; store the map number of the town if it has been visited -.notVisited - ld [hl], a - inc hl - inc b - dec c - jr nz, .loop - ld [hl], $ff - ret - -TownMapUpArrow: - INCBIN "gfx/town_map/up_arrow.1bpp" -TownMapUpArrowEnd: - -LoadTownMap: - call GBPalWhiteOutWithDelay3 - call ClearScreen - call UpdateSprites - coord hl, 0, 0 - ld b, $12 - ld c, $12 - call TextBoxBorder - call DisableLCD - ld hl, WorldMapTileGraphics - ld de, vChars2 + $600 - ld bc, WorldMapTileGraphicsEnd - WorldMapTileGraphics - ld a, BANK(WorldMapTileGraphics) - call FarCopyData2 - ld hl, MonNestIcon - ld de, vSprites + $40 - ld bc, MonNestIconEnd - MonNestIcon - ld a, BANK(MonNestIcon) - call FarCopyDataDouble - coord hl, 0, 0 - ld de, CompressedMap -.nextTile - ld a, [de] - and a - jr z, .done - ld b, a - and $f - ld c, a - ld a, b - swap a - and $f - add $60 -.writeRunLoop - ld [hli], a - dec c - jr nz, .writeRunLoop - inc de - jr .nextTile -.done - call EnableLCD - ld b, SET_PAL_TOWN_MAP - call RunPaletteCommand - call Delay3 - call GBPalNormal - xor a - ld [wAnimCounter], a - inc a - ld [wTownMapSpriteBlinkingEnabled], a - ret - -CompressedMap: - INCBIN "gfx/town_map/town_map.rle" - -ExitTownMap: -; clear town map graphics data and load usual graphics data - xor a - ld [wTownMapSpriteBlinkingEnabled], a - call GBPalWhiteOut - call ClearScreen - call ClearSprites - call LoadPlayerSpriteGraphics - call LoadFontTilePatterns - call UpdateSprites - jp RunDefaultPaletteCommand - -DrawPlayerOrBirdSprite: -; a = map number -; b = OAM base tile - push af - ld a, b - ld [wOAMBaseTile], a - pop af - ld de, wTownMapCoords - call LoadTownMapEntry - ld a, [de] - push hl - call TownMapCoordsToOAMCoords - call WritePlayerOrBirdSpriteOAM - pop hl - ld de, wcd6d -.loop - ld a, [hli] - ld [de], a - inc de - cp "@" - jr nz, .loop - ld hl, wOAMBuffer - ld de, wTileMapBackup - ld bc, $a0 - jp CopyData - -DisplayWildLocations: - callba FindWildLocationsOfMon - call ZeroOutDuplicatesInList - ld hl, wOAMBuffer - ld de, wTownMapCoords -.loop - ld a, [de] - cp $ff - jr z, .exitLoop - and a - jr z, .nextEntry - push hl - call LoadTownMapEntry - pop hl - ld a, [de] - cp $19 ; Cerulean Cave's coordinates - jr z, .nextEntry ; skip Cerulean Cave - call TownMapCoordsToOAMCoords - ld a, $4 ; nest icon tile no. - ld [hli], a - xor a - ld [hli], a -.nextEntry - inc de - jr .loop -.exitLoop - ld a, l - and a ; were any OAM entries written? - jr nz, .drawPlayerSprite -; if no OAM entries were written, print area unknown text - coord hl, 1, 7 - ld b, 2 - ld c, 15 - call TextBoxBorder - coord hl, 2, 9 - ld de, AreaUnknownText - call PlaceString - jr .done -.drawPlayerSprite - ld a, [wCurMap] - ld b, $0 - call DrawPlayerOrBirdSprite -.done - ld hl, wOAMBuffer - ld de, wTileMapBackup - ld bc, $a0 - jp CopyData - -AreaUnknownText: - db " AREA UNKNOWN@" - -TownMapCoordsToOAMCoords: -; in: lower nybble of a = x, upper nybble of a = y -; out: b and [hl] = (y * 8) + 24, c and [hl+1] = (x * 8) + 24 - push af - and $f0 - srl a - add 24 - ld b, a - ld [hli], a - pop af - and $f - swap a - srl a - add 24 - ld c, a - ld [hli], a - ret - -WritePlayerOrBirdSpriteOAM: - ld a, [wOAMBaseTile] - and a - ld hl, wOAMBuffer + $90 ; for player sprite - jr z, WriteTownMapSpriteOAM - ld hl, wOAMBuffer + $80 ; for bird sprite - -WriteTownMapSpriteOAM: - push hl - -; Subtract 4 from c (X coord) and 4 from b (Y coord). However, the carry from c -; is added to b, so the net result is that only 3 is subtracted from b. - lb hl, -4, -4 - add hl, bc - - ld b, h - ld c, l - pop hl - -WriteAsymmetricMonPartySpriteOAM: -; Writes 4 OAM blocks for a helix mon party sprite, since it does not have -; a vertical line of symmetry. - lb de, 2, 2 -.loop - push de - push bc -.innerLoop - ld a, b - ld [hli], a - ld a, c - ld [hli], a - ld a, [wOAMBaseTile] - ld [hli], a - inc a - ld [wOAMBaseTile], a - xor a - ld [hli], a - inc d - ld a, 8 - add c - ld c, a - dec e - jr nz, .innerLoop - pop bc - pop de - ld a, 8 - add b - ld b, a - dec d - jr nz, .loop - ret - -WriteSymmetricMonPartySpriteOAM: -; Writes 4 OAM blocks for a mon party sprite other than a helix. All the -; sprites other than the helix one have a vertical line of symmetry which allows -; the X-flip OAM bit to be used so that only 2 rather than 4 tile patterns are -; needed. - xor a - ld [wSymmetricSpriteOAMAttributes], a - lb de, 2, 2 -.loop - push de - push bc -.innerLoop - ld a, b - ld [hli], a ; Y - ld a, c - ld [hli], a ; X - ld a, [wOAMBaseTile] - ld [hli], a ; tile - ld a, [wSymmetricSpriteOAMAttributes] - ld [hli], a ; attributes - xor (1 << OAM_X_FLIP) - ld [wSymmetricSpriteOAMAttributes], a - inc d - ld a, 8 - add c - ld c, a - dec e - jr nz, .innerLoop - pop bc - pop de - push hl - ld hl, wOAMBaseTile - inc [hl] - inc [hl] - pop hl - ld a, 8 - add b - ld b, a - dec d - jr nz, .loop - ret - -ZeroOutDuplicatesInList: -; replace duplicate bytes in the list of wild pokemon locations with 0 - ld de, wBuffer -.loop - ld a, [de] - inc de - cp $ff - ret z - ld c, a - ld l, e - ld h, d -.zeroDuplicatesLoop - ld a, [hl] - cp $ff - jr z, .loop - cp c - jr nz, .skipZeroing - xor a - ld [hl], a -.skipZeroing - inc hl - jr .zeroDuplicatesLoop - -LoadTownMapEntry: -; in: a = map number -; out: lower nybble of [de] = x, upper nybble of [de] = y, hl = address of name - cp REDS_HOUSE_1F - jr c, .external - ld bc, 4 - ld hl, InternalMapEntries -.loop - cp [hl] - jr c, .foundEntry - add hl, bc - jr .loop -.foundEntry - inc hl - jr .readEntry -.external - ld hl, ExternalMapEntries - ld c, a - ld b, 0 - add hl, bc - add hl, bc - add hl, bc -.readEntry - ld a, [hli] - ld [de], a - ld a, [hli] - ld h, [hl] - ld l, a - ret - -INCLUDE "data/town_map_entries.asm" - -INCLUDE "text/map_names.asm" - -MonNestIcon: - INCBIN "gfx/town_map/mon_nest_icon.1bpp" -MonNestIconEnd: - -TownMapSpriteBlinkingAnimation:: - ld a, [wAnimCounter] - inc a - cp 25 - jr z, .hideSprites - cp 50 - jr nz, .done -; show sprites when the counter reaches 50 - ld hl, wTileMapBackup - ld de, wOAMBuffer - ld bc, $90 - call CopyData - xor a - jr .done -.hideSprites - ld hl, wOAMBuffer - ld b, $24 - ld de, $4 -.hideSpritesLoop - ld [hl], $a0 - add hl, de - dec b - jr nz, .hideSpritesLoop - ld a, 25 -.done - ld [wAnimCounter], a - jp DelayFrame diff --git a/engine/trade.asm b/engine/trade.asm deleted file mode 100755 index 8bc8e3bc..00000000 --- a/engine/trade.asm +++ /dev/null @@ -1,853 +0,0 @@ -InternalClockTradeAnim: -; Do the trading animation with the player's gameboy on the left. -; In-game trades and internally clocked link cable trades use this. - ld a, [wTradedPlayerMonSpecies] - ld [wLeftGBMonSpecies], a - ld a, [wTradedEnemyMonSpecies] - ld [wRightGBMonSpecies], a - ld de, InternalClockTradeFuncSequence - jr TradeAnimCommon - -ExternalClockTradeAnim: -; Do the trading animation with the player's gameboy on the right. -; Externally clocked link cable trades use this. - ld a, [wTradedEnemyMonSpecies] - ld [wLeftGBMonSpecies], a - ld a, [wTradedPlayerMonSpecies] - ld [wRightGBMonSpecies], a - ld de, ExternalClockTradeFuncSequence - -TradeAnimCommon: - ld a, [wOptions] - push af - ld a, [hSCY] - push af - ld a, [hSCX] - push af - xor a - ld [wOptions], a - ld [hSCY], a - ld [hSCX], a - push de -.loop - pop de - ld a, [de] - cp $ff - jr z, .done - inc de - push de - ld hl, TradeFuncPointerTable - add a - ld c, a - ld b, $0 - add hl, bc - ld a, [hli] - ld h, [hl] - ld l, a - ld de, .loop - push de - jp hl ; call trade func, which will return to the top of the loop -.done - pop af - ld [hSCX], a - pop af - ld [hSCY], a - pop af - ld [wOptions], a - ret - -addtradefunc: MACRO -\1TradeFunc:: - dw \1 - ENDM - -tradefunc: MACRO - db (\1TradeFunc - TradeFuncPointerTable) / 2 - ENDM - -; The functions in the sequences below are executed in order by TradeFuncCommon. -; They are from opposite perspectives. The external clock one makes use of -; Trade_SwapNames to swap the player and enemy names for some functions. - -InternalClockTradeFuncSequence: - tradefunc LoadTradingGFXAndMonNames - tradefunc Trade_ShowPlayerMon - tradefunc Trade_DrawOpenEndOfLinkCable - tradefunc Trade_AnimateBallEnteringLinkCable - tradefunc Trade_AnimLeftToRight - tradefunc Trade_Delay100 - tradefunc Trade_ShowClearedWindow - tradefunc PrintTradeWentToText - tradefunc PrintTradeForSendsText - tradefunc PrintTradeFarewellText - tradefunc Trade_AnimRightToLeft - tradefunc Trade_ShowClearedWindow - tradefunc Trade_DrawOpenEndOfLinkCable - tradefunc Trade_ShowEnemyMon - tradefunc Trade_Delay100 - tradefunc Trade_Cleanup - db $FF - -ExternalClockTradeFuncSequence: - tradefunc LoadTradingGFXAndMonNames - tradefunc Trade_ShowClearedWindow - tradefunc PrintTradeWillTradeText - tradefunc PrintTradeFarewellText - tradefunc Trade_SwapNames - tradefunc Trade_AnimLeftToRight - tradefunc Trade_SwapNames - tradefunc Trade_ShowClearedWindow - tradefunc Trade_DrawOpenEndOfLinkCable - tradefunc Trade_ShowEnemyMon - tradefunc Trade_SlideTextBoxOffScreen - tradefunc Trade_ShowPlayerMon - tradefunc Trade_DrawOpenEndOfLinkCable - tradefunc Trade_AnimateBallEnteringLinkCable - tradefunc Trade_SwapNames - tradefunc Trade_AnimRightToLeft - tradefunc Trade_SwapNames - tradefunc Trade_Delay100 - tradefunc Trade_ShowClearedWindow - tradefunc PrintTradeWentToText - tradefunc Trade_Cleanup - db $FF - -TradeFuncPointerTable: - addtradefunc LoadTradingGFXAndMonNames - addtradefunc Trade_ShowPlayerMon - addtradefunc Trade_DrawOpenEndOfLinkCable - addtradefunc Trade_AnimateBallEnteringLinkCable - addtradefunc Trade_ShowEnemyMon - addtradefunc Trade_AnimLeftToRight - addtradefunc Trade_AnimRightToLeft - addtradefunc Trade_Delay100 - addtradefunc Trade_ShowClearedWindow - addtradefunc PrintTradeWentToText - addtradefunc PrintTradeForSendsText - addtradefunc PrintTradeFarewellText - addtradefunc PrintTradeTakeCareText - addtradefunc PrintTradeWillTradeText - addtradefunc Trade_Cleanup - addtradefunc Trade_SlideTextBoxOffScreen - addtradefunc Trade_SwapNames - -Trade_Delay100: - ld c, 100 - jp DelayFrames - -Trade_CopyTileMapToVRAM: - ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a - call Delay3 - xor a - ld [H_AUTOBGTRANSFERENABLED], a - ret - -Trade_Delay80: - ld c, 80 - jp DelayFrames - -Trade_ClearTileMap: - coord hl, 0, 0 - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT - ld a, " " - jp FillMemory - -LoadTradingGFXAndMonNames: - call Trade_ClearTileMap - call DisableLCD - ld hl, TradingAnimationGraphics - ld de, vChars2 + $310 - ld bc, TradingAnimationGraphicsEnd - TradingAnimationGraphics - ld a, BANK(TradingAnimationGraphics) - call FarCopyData2 - ld hl, TradingAnimationGraphics2 - ld de, vSprites + $7c0 - ld bc, TradingAnimationGraphics2End - TradingAnimationGraphics2 - ld a, BANK(TradingAnimationGraphics2) - call FarCopyData2 - ld hl, vBGMap0 - ld bc, $800 - ld a, " " - call FillMemory - call ClearSprites - ld a, $ff - ld [wUpdateSpritesEnabled], a - ld hl, wd730 - set 6, [hl] ; turn on instant text printing - ld a, [wOnSGB] - and a - ld a, $e4 ; non-SGB OBP0 - jr z, .next - ld a, $f0 ; SGB OBP0 -.next - ld [rOBP0], a - call EnableLCD - xor a - ld [H_AUTOBGTRANSFERENABLED], a - ld a, [wTradedPlayerMonSpecies] - ld [wd11e], a - call GetMonName - ld hl, wcd6d - ld de, wcf4b - ld bc, NAME_LENGTH - call CopyData - ld a, [wTradedEnemyMonSpecies] - ld [wd11e], a - jp GetMonName - -Trade_LoadMonPartySpriteGfx: - ld a, %11010000 - ld [rOBP1], a - jpba LoadMonPartySpriteGfx - -Trade_SwapNames: - ld hl, wPlayerName - ld de, wBuffer - ld bc, NAME_LENGTH - call CopyData - ld hl, wLinkEnemyTrainerName - ld de, wPlayerName - ld bc, NAME_LENGTH - call CopyData - ld hl, wBuffer - ld de, wLinkEnemyTrainerName - ld bc, NAME_LENGTH - jp CopyData - -Trade_Cleanup: - xor a - call LoadGBPal - ld hl, wd730 - res 6, [hl] ; turn off instant text printing - ret - -Trade_ShowPlayerMon: - ld a, %10101011 - ld [rLCDC], a - ld a, $50 - ld [hWY], a - ld a, $86 - ld [rWX], a - ld [hSCX], a - xor a - ld [H_AUTOBGTRANSFERENABLED], a - coord hl, 4, 0 - ld b, 6 - ld c, 10 - call TextBoxBorder - call Trade_PrintPlayerMonInfoText - ld b, vBGMap0 / $100 - call CopyScreenTileBufferToVRAM - call ClearScreen - ld a, [wTradedPlayerMonSpecies] - call Trade_LoadMonSprite - ld a, $7e -.slideScreenLoop - push af - call DelayFrame - pop af - ld [rWX], a - ld [hSCX], a - dec a - dec a - and a - jr nz, .slideScreenLoop - call Trade_Delay80 - ld a, TRADE_BALL_POOF_ANIM - call Trade_ShowAnimation - ld a, TRADE_BALL_DROP_ANIM - call Trade_ShowAnimation ; clears mon pic - ld a, [wTradedPlayerMonSpecies] - call PlayCry - xor a - ld [H_AUTOBGTRANSFERENABLED], a - ret - -Trade_DrawOpenEndOfLinkCable: - call Trade_ClearTileMap - ld b, vBGMap0 / $100 - call CopyScreenTileBufferToVRAM - ld b, SET_PAL_GENERIC - call RunPaletteCommand - -; This function call is pointless. It just copies blank tiles to VRAM that was -; already filled with blank tiles. - ld hl, vBGMap1 + $8c - call Trade_CopyCableTilesOffScreen - - ld a, $a0 - ld [hSCX], a - call DelayFrame - ld a, %10001011 - ld [rLCDC], a - coord hl, 6, 2 - ld b, $7 ; open end of link cable tile ID list index - call CopyTileIDsFromList_ZeroBaseTileID - call Trade_CopyTileMapToVRAM - ld a, SFX_HEAL_HP - call PlaySound - ld c, 20 -.loop - ld a, [hSCX] - add 4 - ld [hSCX], a - dec c - jr nz, .loop - ret - -Trade_AnimateBallEnteringLinkCable: - ld a, TRADE_BALL_SHAKE_ANIM - call Trade_ShowAnimation - ld c, 10 - call DelayFrames - ld a, %11100100 - ld [rOBP0], a - xor a - ld [wLinkCableAnimBulgeToggle], a - lb bc, $20, $60 -.moveBallInsideLinkCableLoop - push bc - xor a - ld de, Trade_BallInsideLinkCableOAM - call WriteOAMBlock - ld a, [wLinkCableAnimBulgeToggle] - xor $1 - ld [wLinkCableAnimBulgeToggle], a - add $7e - ld hl, wOAMBuffer + $02 - ld de, 4 - ld c, e -.cycleLinkCableBulgeTile - ld [hl], a - add hl, de - dec c - jr nz, .cycleLinkCableBulgeTile - call Delay3 - pop bc - ld a, c - add $4 - ld c, a - cp $a0 - jr nc, .ballSpriteReachedEdgeOfScreen - ld a, SFX_TINK - call PlaySound - jr .moveBallInsideLinkCableLoop -.ballSpriteReachedEdgeOfScreen - call ClearSprites - ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a - call ClearScreen - ld b, $98 - call CopyScreenTileBufferToVRAM - call Delay3 - xor a - ld [H_AUTOBGTRANSFERENABLED], a - ret - -Trade_BallInsideLinkCableOAM: - db $7E,$00,$7E,$20 - db $7E,$40,$7E,$60 - -Trade_ShowEnemyMon: - ld a, TRADE_BALL_TILT_ANIM - call Trade_ShowAnimation - call Trade_ShowClearedWindow - coord hl, 4, 10 - ld b, 6 - ld c, 10 - call TextBoxBorder - call Trade_PrintEnemyMonInfoText - call Trade_CopyTileMapToVRAM - ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a - ld a, [wTradedEnemyMonSpecies] - call Trade_LoadMonSprite - ld a, TRADE_BALL_POOF_ANIM - call Trade_ShowAnimation - ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a - ld a, [wTradedEnemyMonSpecies] - call PlayCry - call Trade_Delay100 - coord hl, 4, 10 - lb bc, 8, 12 - call ClearScreenArea - jp PrintTradeTakeCareText - -Trade_AnimLeftToRight: -; Animates the mon moving from the left GB to the right one. - call Trade_InitGameboyTransferGfx - ld a, $1 - ld [wTradedMonMovingRight], a - ld a, %11100100 - ld [rOBP0], a - ld a, $54 - ld [wBaseCoordX], a - ld a, $1c - ld [wBaseCoordY], a - ld a, [wLeftGBMonSpecies] - ld [wMonPartySpriteSpecies], a - call Trade_WriteCircledMonOAM - call Trade_DrawLeftGameboy - call Trade_CopyTileMapToVRAM - call Trade_DrawCableAcrossScreen - ld hl, vBGMap1 + $8c - call Trade_CopyCableTilesOffScreen - ld b, $6 - call Trade_AnimMonMoveHorizontal - ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a - call Trade_DrawCableAcrossScreen - ld b, $4 - call Trade_AnimMonMoveHorizontal - call Trade_DrawRightGameboy - ld b, $6 - call Trade_AnimMonMoveHorizontal - xor a - ld [H_AUTOBGTRANSFERENABLED], a - call Trade_AnimMonMoveVertical - jp ClearSprites - -Trade_AnimRightToLeft: -; Animates the mon moving from the right GB to the left one. - call Trade_InitGameboyTransferGfx - xor a - ld [wTradedMonMovingRight], a - ld a, $64 - ld [wBaseCoordX], a - ld a, $44 - ld [wBaseCoordY], a - ld a, [wRightGBMonSpecies] - ld [wMonPartySpriteSpecies], a - call Trade_WriteCircledMonOAM - call Trade_DrawRightGameboy - call Trade_CopyTileMapToVRAM - call Trade_DrawCableAcrossScreen - ld hl, vBGMap1 + $94 - call Trade_CopyCableTilesOffScreen - call Trade_AnimMonMoveVertical - ld b, $6 - call Trade_AnimMonMoveHorizontal - ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a - call Trade_DrawCableAcrossScreen - ld b, $4 - call Trade_AnimMonMoveHorizontal - call Trade_DrawLeftGameboy - ld b, $6 - call Trade_AnimMonMoveHorizontal - xor a - ld [H_AUTOBGTRANSFERENABLED], a - jp ClearSprites - -Trade_InitGameboyTransferGfx: -; Initialises the graphics for showing a mon moving between gameboys. - ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a - call ClearScreen - xor a - ld [H_AUTOBGTRANSFERENABLED], a - call Trade_LoadMonPartySpriteGfx - call DelayFrame - ld a, %10101011 - ld [rLCDC], a - xor a - ld [hSCX], a - ld a, $90 - ld [hWY], a - ret - -Trade_DrawLeftGameboy: - call Trade_ClearTileMap - -; draw link cable - coord hl, 11, 4 - ld a, $5d - ld [hli], a - ld a, $5e - ld c, 8 -.loop - ld [hli], a - dec c - jr nz, .loop - -; draw gameboy pic - coord hl, 5, 3 - ld b, $6 - call CopyTileIDsFromList_ZeroBaseTileID - -; draw text box with player name below gameboy pic - coord hl, 4, 12 - ld b, 2 - ld c, 7 - call TextBoxBorder - coord hl, 5, 14 - ld de, wPlayerName - call PlaceString - - jp DelayFrame - -Trade_DrawRightGameboy: - call Trade_ClearTileMap - -; draw horizontal segment of link cable - coord hl, 0, 4 - ld a, $5e - ld c, $e -.loop - ld [hli], a - dec c - jr nz, .loop - -; draw vertical segment of link cable - ld a, $5f - ld [hl], a - ld de, SCREEN_WIDTH - add hl, de - ld a, $61 - ld [hl], a - add hl, de - ld [hl], a - add hl, de - ld [hl], a - add hl, de - ld [hl], a - add hl, de - ld a, $60 - ld [hld], a - ld a, $5d - ld [hl], a - -; draw gameboy pic - coord hl, 7, 8 - ld b, $6 - call CopyTileIDsFromList_ZeroBaseTileID - -; draw text box with enemy name above link cable - coord hl, 6, 0 - ld b, 2 - ld c, 7 - call TextBoxBorder - coord hl, 7, 2 - ld de, wLinkEnemyTrainerName - call PlaceString - - jp DelayFrame - -Trade_DrawCableAcrossScreen: -; Draws the link cable across the screen. - call Trade_ClearTileMap - coord hl, 0, 4 - ld a, $5e - ld c, SCREEN_WIDTH -.loop - ld [hli], a - dec c - jr nz, .loop - ret - -Trade_CopyCableTilesOffScreen: -; This is used to copy the link cable tiles off screen so that the cable -; continues when the screen is scrolled. - push hl - coord hl, 0, 4 - call CopyToRedrawRowOrColumnSrcTiles - pop hl - ld a, h - ld [hRedrawRowOrColumnDest + 1], a - ld a, l - ld [hRedrawRowOrColumnDest], a - ld a, REDRAW_ROW - ld [hRedrawRowOrColumnMode], a - ld c, 10 - jp DelayFrames - -Trade_AnimMonMoveHorizontal: -; Animates the mon going through the link cable horizontally over a distance of -; b 16-pixel units. - ld a, [wTradedMonMovingRight] - ld e, a - ld d, $8 -.scrollLoop - ld a, e - dec a - jr z, .movingRight -; moving left - ld a, [hSCX] - sub $2 - jr .next -.movingRight - ld a, [hSCX] - add $2 -.next - ld [hSCX], a - call DelayFrame - dec d - jr nz, .scrollLoop - call Trade_AnimCircledMon - dec b - jr nz, Trade_AnimMonMoveHorizontal - ret - -Trade_AnimCircledMon: -; Cycles between the two animation frames of the mon party sprite, cycles -; between a circle and an oval around the mon sprite, and makes the cable flash. - push de - push bc - push hl - ld a, [rBGP] - xor $3c ; make link cable flash - ld [rBGP], a - ld hl, wOAMBuffer + $02 - ld de, $4 - ld c, $14 -.loop - ld a, [hl] - xor $40 - ld [hl], a - add hl, de - dec c - jr nz, .loop - pop hl - pop bc - pop de - ret - -Trade_WriteCircledMonOAM: - callba WriteMonPartySpriteOAMBySpecies - call Trade_WriteCircleOAM - -Trade_AddOffsetsToOAMCoords: - ld hl, wOAMBuffer - ld c, $14 -.loop - ld a, [wBaseCoordY] - add [hl] - ld [hli], a - ld a, [wBaseCoordX] - add [hl] - ld [hli], a - inc hl - inc hl - dec c - jr nz, .loop - ret - -Trade_AnimMonMoveVertical: -; Animates the mon going through the link cable vertically as well as -; horizontally for a bit. The last bit of horizontal movement (when moving -; right) or the first bit of horizontal movement (when moving left) are done -; here instead of Trade_AnimMonMoveHorizontal because this function moves the -; sprite itself rather than scrolling the screen around the sprite. Moving the -; sprite itself is necessary because the vertical segment of the link cable is -; to the right of the screen position that the mon sprite has when -; Trade_AnimMonMoveHorizontal is executing. - ld a, [wTradedMonMovingRight] - and a - jr z, .movingLeft -; moving right - lb bc, 4, 0 ; move right - call .doAnim - lb bc, 0, 10 ; move down - jr .doAnim -.movingLeft - lb bc, 0, -10 ; move up - call .doAnim - lb bc, -4, 0 ; move left -.doAnim - ld a, b - ld [wBaseCoordX], a - ld a, c - ld [wBaseCoordY], a - ld d, $4 -.loop - call Trade_AddOffsetsToOAMCoords - call Trade_AnimCircledMon - ld c, 8 - call DelayFrames - dec d - jr nz, .loop - ret - -Trade_WriteCircleOAM: -; Writes the OAM blocks for the circle around the traded mon as it passes -; the link cable. - ld hl, Trade_CircleOAMPointers - ld c, $4 - xor a -.loop - push bc - ld e, [hl] - inc hl - ld d, [hl] - inc hl - ld c, [hl] - inc hl - ld b, [hl] - inc hl - push hl - inc a - push af - call WriteOAMBlock - pop af - pop hl - pop bc - dec c - jr nz, .loop - ret - -Trade_CircleOAMPointers: - dw Trade_CircleOAM0 - db $08,$08 - dw Trade_CircleOAM1 - db $18,$08 - dw Trade_CircleOAM2 - db $08,$18 - dw Trade_CircleOAM3 - db $18,$18 - -Trade_CircleOAM0: - db $38,$10,$39,$10 - db $3A,$10,$3B,$10 - -Trade_CircleOAM1: - db $39,$30,$38,$30 - db $3B,$30,$3A,$30 - -Trade_CircleOAM2: - db $3A,$50,$3B,$50 - db $38,$50,$39,$50 - -Trade_CircleOAM3: - db $3B,$70,$3A,$70 - db $39,$70,$38,$70 - -; a = species -Trade_LoadMonSprite: - ld [wcf91], a - ld [wd0b5], a - ld [wWholeScreenPaletteMonSpecies], a - ld b, SET_PAL_POKEMON_WHOLE_SCREEN - ld c, 0 - call RunPaletteCommand - ld a, [H_AUTOBGTRANSFERENABLED] - xor $1 - ld [H_AUTOBGTRANSFERENABLED], a - call GetMonHeader - coord hl, 7, 2 - call LoadFlippedFrontSpriteByMonIndex - ld c, 10 - jp DelayFrames - -Trade_ShowClearedWindow: -; clears the window and covers the BG entirely with the window - ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a - call ClearScreen - ld a, %11100011 - ld [rLCDC], a - ld a, $7 - ld [rWX], a - xor a - ld [hWY], a - ld a, $90 - ld [hSCX], a - ret - -Trade_SlideTextBoxOffScreen: -; Slides the window right until it's off screen. The window usually just has -; a text box at the bottom when this is called. However, when this is called -; after Trade_ShowEnemyMon in the external clock sequence, there is a mon pic -; above the text box and it is also scrolled off the screen. - ld c, 50 - call DelayFrames -.loop - call DelayFrame - ld a, [rWX] - inc a - inc a - ld [rWX], a - cp $a1 - jr nz, .loop - call Trade_ClearTileMap - ld c, 10 - call DelayFrames - ld a, $7 - ld [rWX], a - ret - -PrintTradeWentToText: - ld hl, TradeWentToText - call PrintText - ld c, 200 - call DelayFrames - jp Trade_SlideTextBoxOffScreen - -TradeWentToText: - TX_FAR _TradeWentToText - db "@" - -PrintTradeForSendsText: - ld hl, TradeForText - call PrintText - call Trade_Delay80 - ld hl, TradeSendsText - call PrintText - jp Trade_Delay80 - -TradeForText: - TX_FAR _TradeForText - db "@" - -TradeSendsText: - TX_FAR _TradeSendsText - db "@" - -PrintTradeFarewellText: - ld hl, TradeWavesFarewellText - call PrintText - call Trade_Delay80 - ld hl, TradeTransferredText - call PrintText - call Trade_Delay80 - jp Trade_SlideTextBoxOffScreen - -TradeWavesFarewellText: - TX_FAR _TradeWavesFarewellText - db "@" - -TradeTransferredText: - TX_FAR _TradeTransferredText - db "@" - -PrintTradeTakeCareText: - ld hl, TradeTakeCareText - call PrintText - jp Trade_Delay80 - -TradeTakeCareText: - TX_FAR _TradeTakeCareText - db "@" - -PrintTradeWillTradeText: - ld hl, TradeWillTradeText - call PrintText - call Trade_Delay80 - ld hl, TradeforText - call PrintText - jp Trade_Delay80 - -TradeWillTradeText: - TX_FAR _TradeWillTradeText - db "@" - -TradeforText: - TX_FAR _TradeforText - db "@" - -Trade_ShowAnimation: - ld [wAnimationID], a - xor a - ld [wAnimationType], a - predef_jump MoveAnimation diff --git a/engine/trade2.asm b/engine/trade2.asm deleted file mode 100755 index 2c79e077..00000000 --- a/engine/trade2.asm +++ /dev/null @@ -1,48 +0,0 @@ -Trade_PrintPlayerMonInfoText: - coord hl, 5, 0 - ld de, Trade_MonInfoText - call PlaceString - ld a, [wTradedPlayerMonSpecies] - ld [wd11e], a - predef IndexToPokedex - coord hl, 9, 0 - ld de, wd11e - lb bc, LEADING_ZEROES | 1, 3 - call PrintNumber - coord hl, 5, 2 - ld de, wcf4b - call PlaceString - coord hl, 8, 4 - ld de, wTradedPlayerMonOT - call PlaceString - coord hl, 8, 6 - ld de, wTradedPlayerMonOTID - lb bc, LEADING_ZEROES | 2, 5 - jp PrintNumber - -Trade_PrintEnemyMonInfoText: - coord hl, 5, 10 - ld de, Trade_MonInfoText - call PlaceString - ld a, [wTradedEnemyMonSpecies] - ld [wd11e], a - predef IndexToPokedex - coord hl, 9, 10 - ld de, wd11e - lb bc, LEADING_ZEROES | 1, 3 - call PrintNumber - coord hl, 5, 12 - ld de, wcd6d - call PlaceString - coord hl, 8, 14 - ld de, wTradedEnemyMonOT - call PlaceString - coord hl, 8, 16 - ld de, wTradedEnemyMonOTID - lb bc, LEADING_ZEROES | 2, 5 - jp PrintNumber - -Trade_MonInfoText: - db "──№⠄",$4E - next "OT/" - next $73,"№⠄","@" diff --git a/engine/turn_sprite.asm b/engine/turn_sprite.asm deleted file mode 100755 index c7f7712b..00000000 --- a/engine/turn_sprite.asm +++ /dev/null @@ -1,25 +0,0 @@ -UpdateSpriteFacingOffsetAndDelayMovement:: - ld h, $c2 - ld a, [H_CURRENTSPRITEOFFSET] - add $8 - ld l, a - ld a, $7f ; maximum movement delay - ld [hl], a ; c2x8 (movement delay) - dec h - ld a, [H_CURRENTSPRITEOFFSET] - add $9 - ld l, a - ld a, [hld] ; c1x9 (facing direction) - ld b, a - xor a - ld [hld], a - ld [hl], a ; c1x8 (walk animation frame) - ld a, [H_CURRENTSPRITEOFFSET] - add $2 - ld l, a - ld a, [hl] ; c1x2 (facing and animation table offset) - or b ; or in the facing direction - ld [hld], a - ld a, $2 ; delayed movement status - ld [hl], a ; c1x1 (movement status) - ret diff --git a/home.asm b/home.asm index cd5352cb..dfa1bec2 100644 --- a/home.asm +++ b/home.asm @@ -1282,7 +1282,7 @@ RepelWoreOffText:: TX_FAR _RepelWoreOffText db "@" -INCLUDE "engine/menu/start_menu.asm" +INCLUDE "home/start_menu.asm" ; function to count how many bits are set in a string of bytes ; INPUT: diff --git a/home/start_menu.asm b/home/start_menu.asm new file mode 100755 index 00000000..eb4b4f2d --- /dev/null +++ b/home/start_menu.asm @@ -0,0 +1,85 @@ +DisplayStartMenu:: + ld a, BANK(StartMenu_Pokedex) + ld [H_LOADEDROMBANK], a + ld [MBC1RomBank], a + ld a, [wWalkBikeSurfState] ; walking/biking/surfing + ld [wWalkBikeSurfStateCopy], a + ld a, SFX_START_MENU + call PlaySound + +RedisplayStartMenu:: + callba DrawStartMenu + callba PrintSafariZoneSteps ; print Safari Zone info, if in Safari Zone + call UpdateSprites +.loop + call HandleMenuInput + ld b, a +.checkIfUpPressed + bit 6, a ; was Up pressed? + jr z, .checkIfDownPressed + ld a, [wCurrentMenuItem] ; menu selection + and a + jr nz, .loop + ld a, [wLastMenuItem] + and a + jr nz, .loop +; if the player pressed tried to go past the top item, wrap around to the bottom + CheckEvent EVENT_GOT_POKEDEX + ld a, 6 ; there are 7 menu items with the pokedex, so the max index is 6 + jr nz, .wrapMenuItemId + dec a ; there are only 6 menu items without the pokedex +.wrapMenuItemId + ld [wCurrentMenuItem], a + call EraseMenuCursor + jr .loop +.checkIfDownPressed + bit 7, a + jr z, .buttonPressed +; if the player pressed tried to go past the bottom item, wrap around to the top + CheckEvent EVENT_GOT_POKEDEX + ld a, [wCurrentMenuItem] + ld c, 7 ; there are 7 menu items with the pokedex + jr nz, .checkIfPastBottom + dec c ; there are only 6 menu items without the pokedex +.checkIfPastBottom + cp c + jr nz, .loop +; the player went past the bottom, so wrap to the top + xor a + ld [wCurrentMenuItem], a + call EraseMenuCursor + jr .loop +.buttonPressed ; A, B, or Start button pressed + call PlaceUnfilledArrowMenuCursor + ld a, [wCurrentMenuItem] + ld [wBattleAndStartSavedMenuItem], a ; save current menu selection + ld a, b + and %00001010 ; was the Start button or B button pressed? + jp nz, CloseStartMenu + call SaveScreenTilesToBuffer2 ; copy background from wTileMap to wTileMapBackup2 + CheckEvent EVENT_GOT_POKEDEX + ld a, [wCurrentMenuItem] + jr nz, .displayMenuItem + inc a ; adjust position to account for missing pokedex menu item +.displayMenuItem + cp 0 + jp z, StartMenu_Pokedex + cp 1 + jp z, StartMenu_Pokemon + cp 2 + jp z, StartMenu_Item + cp 3 + jp z, StartMenu_TrainerInfo + cp 4 + jp z, StartMenu_SaveReset + cp 5 + jp z, StartMenu_Option + +; EXIT falls through to here +CloseStartMenu:: + call Joypad + ld a, [hJoyPressed] + bit 0, a ; was A button newly pressed? + jr nz, CloseStartMenu + call LoadTextBoxTilePatterns + jp CloseTextDisplay diff --git a/main.asm b/main.asm index 126bf943..be29dfd7 100755 --- a/main.asm +++ b/main.asm @@ -4,46 +4,46 @@ INCLUDE "constants.asm" SECTION "bank1", ROMX INCLUDE "data/facing.asm" -INCLUDE "engine/black_out.asm" +INCLUDE "engine/events/black_out.asm" MewPicFront:: INCBIN "gfx/pokemon/front/mew.pic" MewPicBack:: INCBIN "gfx/pokemon/back/mewb.pic" INCLUDE "data/baseStats/mew.asm" INCLUDE "engine/battle/safari_zone.asm" -INCLUDE "engine/titlescreen.asm" -INCLUDE "engine/load_mon_data.asm" +INCLUDE "engine/movie/titlescreen.asm" +INCLUDE "engine/pokemon/load_mon_data.asm" INCLUDE "data/item_prices.asm" INCLUDE "text/item_names.asm" INCLUDE "text/unused_names.asm" -INCLUDE "engine/overworld/oam.asm" -INCLUDE "engine/oam_dma.asm" -INCLUDE "engine/print_waiting_text.asm" -INCLUDE "engine/overworld/map_sprite_functions1.asm" -INCLUDE "engine/test_battle.asm" -INCLUDE "engine/overworld/item.asm" +INCLUDE "engine/gfx/sprite_oam.asm" +INCLUDE "engine/gfx/oam_dma.asm" +INCLUDE "engine/link/print_waiting_text.asm" +INCLUDE "engine/overworld/sprite_collisions.asm" +INCLUDE "engine/debug/test_battle.asm" +INCLUDE "engine/events/pick_up_item.asm" INCLUDE "engine/overworld/movement.asm" -INCLUDE "engine/cable_club.asm" -INCLUDE "engine/menu/main_menu.asm" -INCLUDE "engine/oak_speech.asm" -INCLUDE "engine/special_warps.asm" -INCLUDE "engine/debug1.asm" -INCLUDE "engine/menu/naming_screen.asm" -INCLUDE "engine/oak_speech2.asm" -INCLUDE "engine/subtract_paid_money.asm" -INCLUDE "engine/menu/swap_items.asm" -INCLUDE "engine/overworld/pokemart.asm" -INCLUDE "engine/learn_move.asm" -INCLUDE "engine/overworld/pokecenter.asm" -INCLUDE "engine/overworld/set_blackout_map.asm" -INCLUDE "engine/display_text_id_init.asm" -INCLUDE "engine/menu/draw_start_menu.asm" -INCLUDE "engine/overworld/cable_club_npc.asm" -INCLUDE "engine/menu/text_box.asm" -INCLUDE "engine/battle/moveEffects/drain_hp_effect.asm" -INCLUDE "engine/menu/players_pc.asm" -INCLUDE "engine/remove_pokemon.asm" -INCLUDE "engine/display_pokedex.asm" +INCLUDE "engine/link/cable_club.asm" +INCLUDE "engine/menus/main_menu.asm" +INCLUDE "engine/movie/oak_speech.asm" +INCLUDE "engine/overworld/special_warps.asm" +INCLUDE "engine/debug/debug_party.asm" +INCLUDE "engine/menus/naming_screen.asm" +INCLUDE "engine/movie/oak_speech2.asm" +INCLUDE "engine/items/subtract_paid_money.asm" +INCLUDE "engine/menus/swap_items.asm" +INCLUDE "engine/events/pokemart.asm" +INCLUDE "engine/pokemon/learn_move.asm" +INCLUDE "engine/events/pokecenter.asm" +INCLUDE "engine/events/set_blackout_map.asm" +INCLUDE "engine/menus/display_text_id_init.asm" +INCLUDE "engine/menus/draw_start_menu.asm" +INCLUDE "engine/link/cable_club_npc.asm" +INCLUDE "engine/menus/text_box.asm" +INCLUDE "engine/battle/move_effects/drain_hp.asm" +INCLUDE "engine/menus/players_pc.asm" +INCLUDE "engine/pokemon/remove_mon.asm" +INCLUDE "engine/events/display_pokedex.asm" SECTION "bank3", ROMX @@ -53,28 +53,28 @@ INCLUDE "data/map_songs.asm" INCLUDE "data/map_header_banks.asm" INCLUDE "engine/overworld/clear_variables.asm" INCLUDE "engine/overworld/player_state.asm" -INCLUDE "engine/overworld/poison.asm" -INCLUDE "engine/overworld/tileset_header.asm" +INCLUDE "engine/events/poison.asm" +INCLUDE "engine/overworld/tilesets.asm" INCLUDE "engine/overworld/daycare_exp.asm" INCLUDE "data/hide_show_data.asm" INCLUDE "engine/overworld/field_move_messages.asm" INCLUDE "engine/items/inventory.asm" INCLUDE "engine/overworld/wild_mons.asm" -INCLUDE "engine/items/items.asm" -INCLUDE "engine/menu/draw_badges.asm" +INCLUDE "engine/items/item_effects.asm" +INCLUDE "engine/menus/draw_badges.asm" INCLUDE "engine/overworld/update_map.asm" INCLUDE "engine/overworld/cut.asm" INCLUDE "engine/overworld/missable_objects.asm" INCLUDE "engine/overworld/push_boulder.asm" -INCLUDE "engine/add_mon.asm" +INCLUDE "engine/pokemon/add_mon.asm" INCLUDE "engine/flag_action.asm" -INCLUDE "engine/heal_party.asm" -INCLUDE "engine/bcd.asm" -INCLUDE "engine/init_player_data.asm" -INCLUDE "engine/get_bag_item_quantity.asm" -INCLUDE "engine/pathfinding.asm" -INCLUDE "engine/hp_bar.asm" -INCLUDE "engine/hidden_object_functions3.asm" +INCLUDE "engine/events/heal_party.asm" +INCLUDE "engine/math/bcd.asm" +INCLUDE "engine/movie/init_player_data.asm" +INCLUDE "engine/items/get_bag_item_quantity.asm" +INCLUDE "engine/overworld/pathfinding.asm" +INCLUDE "engine/gfx/hp_bar.asm" +INCLUDE "engine/events/hidden_object_functions3.asm" SECTION "Graphics (BANK 4)", ROMX @@ -106,33 +106,33 @@ PlayerCharacterTitleGraphicsEnd: SECTION "Battle (BANK 4)", ROMX INCLUDE "engine/overworld/is_player_just_outside_map.asm" -INCLUDE "engine/menu/status_screen.asm" -INCLUDE "engine/menu/party_menu.asm" +INCLUDE "engine/pokemon/status_screen.asm" +INCLUDE "engine/menus/party_menu.asm" RedPicFront:: INCBIN "gfx/player/red.pic" ShrinkPic1:: INCBIN "gfx/player/shrink1.pic" ShrinkPic2:: INCBIN "gfx/player/shrink2.pic" -INCLUDE "engine/turn_sprite.asm" -INCLUDE "engine/menu/start_sub_menus.asm" +INCLUDE "engine/overworld/turn_sprite.asm" +INCLUDE "engine/menus/start_sub_menus.asm" INCLUDE "engine/items/tms.asm" INCLUDE "engine/battle/end_of_battle.asm" INCLUDE "engine/battle/wild_encounters.asm" -INCLUDE "engine/battle/moveEffects/recoil_effect.asm" -INCLUDE "engine/battle/moveEffects/conversion_effect.asm" -INCLUDE "engine/battle/moveEffects/haze_effect.asm" +INCLUDE "engine/battle/move_effects/recoil.asm" +INCLUDE "engine/battle/move_effects/conversion.asm" +INCLUDE "engine/battle/move_effects/haze.asm" INCLUDE "engine/battle/get_trainer_name.asm" -INCLUDE "engine/random.asm" +INCLUDE "engine/math/random.asm" SECTION "Battle (BANK 5)", ROMX -INCLUDE "engine/load_pokedex_tiles.asm" +INCLUDE "engine/gfx/load_pokedex_tiles.asm" INCLUDE "engine/overworld/map_sprites.asm" INCLUDE "engine/overworld/emotion_bubbles.asm" -INCLUDE "engine/evolve_trade.asm" -INCLUDE "engine/battle/moveEffects/substitute_effect.asm" -INCLUDE "engine/menu/pc.asm" +INCLUDE "engine/events/evolve_trade.asm" +INCLUDE "engine/battle/move_effects/substitute.asm" +INCLUDE "engine/menus/pc.asm" SECTION "bank6_1", ROMX @@ -142,7 +142,7 @@ INCLUDE "engine/play_time.asm" SECTION "bank6_2", ROMX -INCLUDE "engine/overworld/npc_movement.asm" +INCLUDE "engine/overworld/auto_movement.asm" INCLUDE "engine/overworld/doors.asm" INCLUDE "engine/overworld/ledges.asm" @@ -150,26 +150,26 @@ INCLUDE "engine/overworld/ledges.asm" SECTION "bank7_1", ROMX INCLUDE "text/monster_names.asm" -INCLUDE "engine/clear_save.asm" -INCLUDE "engine/predefs7.asm" +INCLUDE "engine/movie/clear_save.asm" +INCLUDE "engine/events/elevator.asm" SECTION "bank7_2", ROMX -INCLUDE "engine/menu/oaks_pc.asm" -INCLUDE "engine/hidden_object_functions7.asm" +INCLUDE "engine/menus/oaks_pc.asm" +INCLUDE "engine/events/hidden_object_functions7.asm" SECTION "Battle (BANK 9)", ROMX INCLUDE "engine/battle/print_type.asm" INCLUDE "engine/battle/save_trainer_name.asm" -INCLUDE "engine/battle/moveEffects/focus_energy_effect.asm" +INCLUDE "engine/battle/move_effects/focus_energy.asm" SECTION "Battle (BANK A)", ROMX -INCLUDE "engine/battle/moveEffects/leech_seed_effect.asm" +INCLUDE "engine/battle/move_effects/leech_seed.asm" SECTION "Battle (BANK B)", ROMX @@ -184,24 +184,24 @@ BadgeNumbersTileGraphics: INCBIN "gfx/trainer_card/badge_numbers.2bpp" INCLUDE "engine/items/tmhm.asm" INCLUDE "engine/battle/scale_sprites.asm" -INCLUDE "engine/battle/moveEffects/pay_day_effect.asm" -INCLUDE "engine/game_corner_slots2.asm" +INCLUDE "engine/battle/move_effects/pay_day.asm" +INCLUDE "engine/slots/game_corner_slots2.asm" SECTION "Battle (BANK C)", ROMX -INCLUDE "engine/battle/moveEffects/mist_effect.asm" -INCLUDE "engine/battle/moveEffects/one_hit_ko_effect.asm" +INCLUDE "engine/battle/move_effects/mist.asm" +INCLUDE "engine/battle/move_effects/one_hit_ko.asm" SECTION "Battle (BANK D)", ROMX -INCLUDE "engine/titlescreen2.asm" +INCLUDE "engine/movie/titlescreen2.asm" INCLUDE "engine/battle/link_battle_versus_text.asm" -INCLUDE "engine/slot_machine.asm" -INCLUDE "engine/overworld/pewter_guys.asm" -INCLUDE "engine/multiply_divide.asm" -INCLUDE "engine/game_corner_slots.asm" +INCLUDE "engine/slots/slot_machine.asm" +INCLUDE "engine/events/pewter_guys.asm" +INCLUDE "engine/math/multiply_divide.asm" +INCLUDE "engine/slots/game_corner_slots.asm" SECTION "bankE", ROMX @@ -223,10 +223,10 @@ TradingAnimationGraphicsEnd: TradingAnimationGraphics2: INCBIN "gfx/trade/cable_ball.2bpp" TradingAnimationGraphics2End: -INCLUDE "engine/evos_moves.asm" -INCLUDE "engine/battle/moveEffects/heal_effect.asm" -INCLUDE "engine/battle/moveEffects/transform_effect.asm" -INCLUDE "engine/battle/moveEffects/reflect_light_screen_effect.asm" +INCLUDE "engine/pokemon/evos_moves.asm" +INCLUDE "engine/battle/move_effects/heal.asm" +INCLUDE "engine/battle/move_effects/transform.asm" +INCLUDE "engine/battle/move_effects/reflect_light_screen.asm" SECTION "bankF", ROMX @@ -237,15 +237,15 @@ INCLUDE "engine/battle/effects.asm" SECTION "bank10", ROMX -INCLUDE "engine/menu/pokedex.asm" -INCLUDE "engine/trade.asm" -INCLUDE "engine/intro.asm" -INCLUDE "engine/trade2.asm" +INCLUDE "engine/menus/pokedex.asm" +INCLUDE "engine/movie/trade.asm" +INCLUDE "engine/movie/intro.asm" +INCLUDE "engine/movie/trade2.asm" SECTION "bank11_1", ROMX -INCLUDE "engine/pokedex_rating.asm" +INCLUDE "engine/events/pokedex_rating.asm" SECTION "bank11_2", ROMX @@ -255,22 +255,22 @@ INCLUDE "engine/overworld/hidden_objects.asm" SECTION "bank12", ROMX -INCLUDE "engine/predefs12.asm" +INCLUDE "engine/gfx/screen_effects.asm" SECTION "bank13", ROMX -INCLUDE "engine/give_pokemon.asm" +INCLUDE "engine/events/give_pokemon.asm" INCLUDE "engine/predefs.asm" SECTION "bank14", ROMX INCLUDE "engine/battle/init_battle_variables.asm" -INCLUDE "engine/battle/moveEffects/paralyze_effect.asm" -INCLUDE "engine/overworld/card_key.asm" -INCLUDE "engine/menu/prize_menu.asm" -INCLUDE "engine/hidden_object_functions14.asm" +INCLUDE "engine/battle/move_effects/paralyze.asm" +INCLUDE "engine/events/card_key.asm" +INCLUDE "engine/events/prize_menu.asm" +INCLUDE "engine/events/hidden_object_functions14.asm" SECTION "bank15_1", ROMX @@ -280,41 +280,41 @@ INCLUDE "engine/battle/experience.asm" SECTION "bank15_2", ROMX -INCLUDE "engine/menu/diploma.asm" -INCLUDE "engine/overworld/trainers.asm" +INCLUDE "engine/events/diploma.asm" +INCLUDE "engine/overworld/trainer_sight.asm" SECTION "bank16_1", ROMX INCLUDE "engine/battle/common_text.asm" -INCLUDE "engine/experience.asm" -INCLUDE "engine/overworld/oaks_aide.asm" +INCLUDE "engine/pokemon/experience.asm" +INCLUDE "engine/events/oaks_aide.asm" SECTION "bank16_2", ROMX -INCLUDE "engine/overworld/saffron_guards.asm" +INCLUDE "engine/events/saffron_guards.asm" SECTION "bank17_1", ROMX -INCLUDE "engine/predefs17.asm" +INCLUDE "engine/events/starter_dex.asm" SECTION "bank17_2", ROMX -INCLUDE "engine/predefs17_2.asm" -INCLUDE "engine/hidden_object_functions17.asm" +INCLUDE "engine/pokemon/set_types.asm" +INCLUDE "engine/events/hidden_object_functions17.asm" SECTION "bank18_1", ROMX -INCLUDE "engine/overworld/cinnabar_lab.asm" +INCLUDE "engine/events/cinnabar_lab.asm" SECTION "bank18_2", ROMX -INCLUDE "engine/hidden_object_functions18.asm" +INCLUDE "engine/events/hidden_object_functions18.asm" SECTION "bank1A", ROMX @@ -333,42 +333,42 @@ Version_GFXEnd: SECTION "bank1C", ROMX -INCLUDE "engine/gamefreak.asm" -INCLUDE "engine/hall_of_fame.asm" +INCLUDE "engine/movie/gamefreak.asm" +INCLUDE "engine/movie/hall_of_fame.asm" INCLUDE "engine/overworld/healing_machine.asm" INCLUDE "engine/overworld/player_animations.asm" INCLUDE "engine/battle/ghost_marowak_anim.asm" INCLUDE "engine/battle/battle_transitions.asm" -INCLUDE "engine/town_map.asm" -INCLUDE "engine/mon_party_sprites.asm" -INCLUDE "engine/in_game_trades.asm" -INCLUDE "engine/palettes.asm" -INCLUDE "engine/save.asm" +INCLUDE "engine/items/town_map.asm" +INCLUDE "engine/gfx/mon_icons.asm" +INCLUDE "engine/events/in_game_trades.asm" +INCLUDE "engine/gfx/palettes.asm" +INCLUDE "engine/menus/save.asm" SECTION "bank1D_1", ROMX -INCLUDE "engine/HoF_room_pc.asm" -INCLUDE "engine/status_ailments.asm" +INCLUDE "engine/movie/credits.asm" +INCLUDE "engine/pokemon/status_ailments.asm" INCLUDE "engine/items/itemfinder.asm" SECTION "bank1D_2", ROMX -INCLUDE "engine/menu/vending_machine.asm" +INCLUDE "engine/events/vending_machine.asm" SECTION "bank1D_3", ROMX -INCLUDE "engine/menu/league_pc.asm" -INCLUDE "engine/overworld/hidden_items.asm" +INCLUDE "engine/menus/league_pc.asm" +INCLUDE "engine/events/hidden_items.asm" SECTION "bank1E", ROMX INCLUDE "engine/battle/animations.asm" INCLUDE "engine/overworld/cut2.asm" -INCLUDE "engine/overworld/ssanne.asm" +INCLUDE "engine/overworld/dust_smoke.asm" RedFishingTilesFront: INCBIN "gfx/overworld/red_fish_front.2bpp" RedFishingTilesBack: INCBIN "gfx/overworld/red_fish_back.2bpp" @@ -376,6 +376,6 @@ RedFishingTilesSide: INCBIN "gfx/overworld/red_fish_side.2bpp" RedFishingRodTiles: INCBIN "gfx/overworld/fishing_rod.2bpp" INCLUDE "data/animations.asm" -INCLUDE "engine/evolution.asm" +INCLUDE "engine/movie/evolution.asm" INCLUDE "engine/overworld/elevator.asm" INCLUDE "engine/items/tm_prices.asm" -- cgit v1.2.3 From 881e0059704b9134a80d30f203f54677a7c6fb89 Mon Sep 17 00:00:00 2001 From: Rangi Date: Fri, 3 Jul 2020 01:09:58 -0400 Subject: INCLUDE "engine/pokemon/bills_pc.asm" in main.asm, not audio.asm --- audio.asm | 7 +++++-- layout.link | 2 ++ main.asm | 5 +++++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/audio.asm b/audio.asm index effcb6f7..94d63f25 100644 --- a/audio.asm +++ b/audio.asm @@ -359,10 +359,13 @@ INCLUDE "audio/engine_1.asm" INCLUDE "audio/alternate_tempo.asm" -SECTION "Audio Engine 2", ROMX +SECTION "Low Health Alarm (Audio Engine 2)", ROMX INCLUDE "audio/low_health_alarm.asm" -INCLUDE "engine/pokemon/bills_pc.asm" + + +SECTION "Audio Engine 2", ROMX + INCLUDE "audio/engine_2.asm" INCLUDE "audio/poke_flute.asm" diff --git a/layout.link b/layout.link index c9ad5839..6391c9d5 100644 --- a/layout.link +++ b/layout.link @@ -94,6 +94,8 @@ ROMX $8 "Sound Effect Headers 2" "Music Headers 2" "Sound Effects 2" + "Low Health Alarm (Audio Engine 2)" + "Bill's PC" "Audio Engine 2" "Music 2" diff --git a/main.asm b/main.asm index be29dfd7..50930bb4 100755 --- a/main.asm +++ b/main.asm @@ -160,6 +160,11 @@ INCLUDE "engine/menus/oaks_pc.asm" INCLUDE "engine/events/hidden_object_functions7.asm" +SECTION "Bill's PC", ROMX + +INCLUDE "engine/pokemon/bills_pc.asm" + + SECTION "Battle (BANK 9)", ROMX INCLUDE "engine/battle/print_type.asm" -- cgit v1.2.3 From 87ef75c173b5d5f227912860487600b6f53d1d1f Mon Sep 17 00:00:00 2001 From: Rangi Date: Fri, 3 Jul 2020 01:11:23 -0400 Subject: Add engine/movie/oak_speech/ subdirectory --- engine/movie/clear_save.asm | 23 --- engine/movie/init_player_data.asm | 55 ------- engine/movie/oak_speech.asm | 233 --------------------------- engine/movie/oak_speech/clear_save.asm | 23 +++ engine/movie/oak_speech/init_player_data.asm | 55 +++++++ engine/movie/oak_speech/oak_speech.asm | 233 +++++++++++++++++++++++++++ engine/movie/oak_speech/oak_speech2.asm | 219 +++++++++++++++++++++++++ engine/movie/oak_speech2.asm | 219 ------------------------- main.asm | 8 +- 9 files changed, 534 insertions(+), 534 deletions(-) delete mode 100755 engine/movie/clear_save.asm delete mode 100644 engine/movie/init_player_data.asm delete mode 100755 engine/movie/oak_speech.asm create mode 100755 engine/movie/oak_speech/clear_save.asm create mode 100644 engine/movie/oak_speech/init_player_data.asm create mode 100755 engine/movie/oak_speech/oak_speech.asm create mode 100755 engine/movie/oak_speech/oak_speech2.asm delete mode 100755 engine/movie/oak_speech2.asm diff --git a/engine/movie/clear_save.asm b/engine/movie/clear_save.asm deleted file mode 100755 index b47cd6c4..00000000 --- a/engine/movie/clear_save.asm +++ /dev/null @@ -1,23 +0,0 @@ -DoClearSaveDialogue: - call ClearScreen - call RunDefaultPaletteCommand - call LoadFontTilePatterns - call LoadTextBoxTilePatterns - ld hl, ClearSaveDataText - call PrintText - coord hl, 14, 7 - lb bc, 8, 15 - ld a, NO_YES_MENU - ld [wTwoOptionMenuID], a - ld a, TWO_OPTION_MENU - ld [wTextBoxID], a - call DisplayTextBoxID - ld a, [wCurrentMenuItem] - and a - jp z, Init - callba ClearSAV - jp Init - -ClearSaveDataText: - TX_FAR _ClearSaveDataText - db "@" diff --git a/engine/movie/init_player_data.asm b/engine/movie/init_player_data.asm deleted file mode 100644 index c576e65a..00000000 --- a/engine/movie/init_player_data.asm +++ /dev/null @@ -1,55 +0,0 @@ -InitPlayerData: -InitPlayerData2: - - call Random - ld a, [hRandomSub] - ld [wPlayerID], a - - call Random - ld a, [hRandomAdd] - ld [wPlayerID + 1], a - - ld a, $ff - ld [wUnusedD71B], a - - ld hl, wPartyCount - call InitializeEmptyList - ld hl, wNumInBox - call InitializeEmptyList - ld hl, wNumBagItems - call InitializeEmptyList - ld hl, wNumBoxItems - call InitializeEmptyList - -START_MONEY EQU $3000 - ld hl, wPlayerMoney + 1 - ld a, START_MONEY / $100 - ld [hld], a - xor a - ld [hli], a - inc hl - ld [hl], a - - ld [wMonDataLocation], a - - ld hl, wObtainedBadges - ld [hli], a - - ld [hl], a - - ld hl, wPlayerCoins - ld [hli], a - ld [hl], a - - ld hl, wGameProgressFlags - ld bc, wGameProgressFlagsEnd - wGameProgressFlags - call FillMemory ; clear all game progress flags - - jp InitializeMissableObjectsFlags - -InitializeEmptyList: - xor a ; count - ld [hli], a - dec a ; terminator - ld [hl], a - ret diff --git a/engine/movie/oak_speech.asm b/engine/movie/oak_speech.asm deleted file mode 100755 index b1acfb65..00000000 --- a/engine/movie/oak_speech.asm +++ /dev/null @@ -1,233 +0,0 @@ -SetDefaultNames: - ld a, [wLetterPrintingDelayFlags] - push af - ld a, [wOptions] - push af - ld a, [wd732] - push af - ld hl, wPlayerName - ld bc, wBoxDataEnd - wPlayerName - xor a - call FillMemory - ld hl, wSpriteStateData1 - ld bc, $200 - xor a - call FillMemory - pop af - ld [wd732], a - pop af - ld [wOptions], a - pop af - ld [wLetterPrintingDelayFlags], a - ld a, [wOptionsInitialized] - and a - call z, InitOptions - ld hl, NintenText - ld de, wPlayerName - ld bc, NAME_LENGTH - call CopyData - ld hl, SonyText - ld de, wRivalName - ld bc, NAME_LENGTH - jp CopyData - -OakSpeech: - ld a, $FF - call PlaySound ; stop music - ld a, BANK(Music_Routes2) - ld c, a - ld a, MUSIC_ROUTES2 - call PlayMusic - call ClearScreen - call LoadTextBoxTilePatterns - call SetDefaultNames - predef InitPlayerData2 - ld hl, wNumBoxItems - ld a, POTION - ld [wcf91], a - ld a, 1 - ld [wItemQuantity], a - call AddItemToInventory ; give one potion - ld a, [wDefaultMap] - ld [wDestinationMap], a - call SpecialWarpIn - xor a - ld [hTilesetType], a - ld a, [wd732] - bit 1, a ; possibly a debug mode bit - jp nz, .skipChoosingNames - ld de, ProfOakPic - lb bc, Bank(ProfOakPic), $00 - call IntroDisplayPicCenteredOrUpperRight - call FadeInIntroPic - ld hl, OakSpeechText1 - call PrintText - call GBFadeOutToWhite - call ClearScreen - ld a, NIDORINO - ld [wd0b5], a - ld [wcf91], a - call GetMonHeader - coord hl, 6, 4 - call LoadFlippedFrontSpriteByMonIndex - call MovePicLeft - ld hl, OakSpeechText2 - call PrintText - call GBFadeOutToWhite - call ClearScreen - ld de, RedPicFront - lb bc, Bank(RedPicFront), $00 - call IntroDisplayPicCenteredOrUpperRight - call MovePicLeft - ld hl, IntroducePlayerText - call PrintText - call ChoosePlayerName - call GBFadeOutToWhite - call ClearScreen - ld de, Rival1Pic - lb bc, Bank(Rival1Pic), $00 - call IntroDisplayPicCenteredOrUpperRight - call FadeInIntroPic - ld hl, IntroduceRivalText - call PrintText - call ChooseRivalName -.skipChoosingNames - call GBFadeOutToWhite - call ClearScreen - ld de, RedPicFront - lb bc, Bank(RedPicFront), $00 - call IntroDisplayPicCenteredOrUpperRight - call GBFadeInFromWhite - ld a, [wd72d] - and a - jr nz, .next - ld hl, OakSpeechText3 - call PrintText -.next - ld a, [H_LOADEDROMBANK] - push af - ld a, SFX_SHRINK - call PlaySound - pop af - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - ld c, 4 - call DelayFrames - ld de, RedSprite - ld hl, vSprites - lb bc, BANK(RedSprite), $0C - call CopyVideoData - ld de, ShrinkPic1 - lb bc, BANK(ShrinkPic1), $00 - call IntroDisplayPicCenteredOrUpperRight - ld c, 4 - call DelayFrames - ld de, ShrinkPic2 - lb bc, BANK(ShrinkPic2), $00 - call IntroDisplayPicCenteredOrUpperRight - call ResetPlayerSpriteData - ld a, [H_LOADEDROMBANK] - push af - ld a, BANK(Music_PalletTown) - ld [wAudioROMBank], a - ld [wAudioSavedROMBank], a - ld a, 10 - ld [wAudioFadeOutControl], a - ld a, $FF - ld [wNewSoundID], a - call PlaySound ; stop music - pop af - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - ld c, 20 - call DelayFrames - coord hl, 6, 5 - ld b, 7 - ld c, 7 - call ClearScreenArea - call LoadTextBoxTilePatterns - ld a, 1 - ld [wUpdateSpritesEnabled], a - ld c, 50 - call DelayFrames - call GBFadeOutToWhite - jp ClearScreen -OakSpeechText1: - TX_FAR _OakSpeechText1 - db "@" -OakSpeechText2: - TX_FAR _OakSpeechText2A - TX_CRY_NIDORINA - TX_FAR _OakSpeechText2B - db "@" -IntroducePlayerText: - TX_FAR _IntroducePlayerText - db "@" -IntroduceRivalText: - TX_FAR _IntroduceRivalText - db "@" -OakSpeechText3: - TX_FAR _OakSpeechText3 - db "@" - -FadeInIntroPic: - ld hl, IntroFadePalettes - ld b, 6 -.next - ld a, [hli] - ld [rBGP], a - ld c, 10 - call DelayFrames - dec b - jr nz, .next - ret - -IntroFadePalettes: - db %01010100 - db %10101000 - db %11111100 - db %11111000 - db %11110100 - db %11100100 - -MovePicLeft: - ld a, 119 - ld [rWX], a - call DelayFrame - - ld a, %11100100 - ld [rBGP], a -.next - call DelayFrame - ld a, [rWX] - sub 8 - cp $FF - ret z - ld [rWX], a - jr .next - -DisplayPicCenteredOrUpperRight: - call GetPredefRegisters -IntroDisplayPicCenteredOrUpperRight: -; b = bank -; de = address of compressed pic -; c: 0 = centred, non-zero = upper-right - push bc - ld a, b - call UncompressSpriteFromDE - ld hl, sSpriteBuffer1 - ld de, sSpriteBuffer0 - ld bc, $310 - call CopyData - ld de, vFrontPic - call InterlaceMergeSpriteBuffers - pop bc - ld a, c - and a - coord hl, 15, 1 - jr nz, .next - coord hl, 6, 4 -.next - xor a - ld [hStartTileID], a - predef_jump CopyUncompressedPicToTilemap diff --git a/engine/movie/oak_speech/clear_save.asm b/engine/movie/oak_speech/clear_save.asm new file mode 100755 index 00000000..b47cd6c4 --- /dev/null +++ b/engine/movie/oak_speech/clear_save.asm @@ -0,0 +1,23 @@ +DoClearSaveDialogue: + call ClearScreen + call RunDefaultPaletteCommand + call LoadFontTilePatterns + call LoadTextBoxTilePatterns + ld hl, ClearSaveDataText + call PrintText + coord hl, 14, 7 + lb bc, 8, 15 + ld a, NO_YES_MENU + ld [wTwoOptionMenuID], a + ld a, TWO_OPTION_MENU + ld [wTextBoxID], a + call DisplayTextBoxID + ld a, [wCurrentMenuItem] + and a + jp z, Init + callba ClearSAV + jp Init + +ClearSaveDataText: + TX_FAR _ClearSaveDataText + db "@" diff --git a/engine/movie/oak_speech/init_player_data.asm b/engine/movie/oak_speech/init_player_data.asm new file mode 100644 index 00000000..c576e65a --- /dev/null +++ b/engine/movie/oak_speech/init_player_data.asm @@ -0,0 +1,55 @@ +InitPlayerData: +InitPlayerData2: + + call Random + ld a, [hRandomSub] + ld [wPlayerID], a + + call Random + ld a, [hRandomAdd] + ld [wPlayerID + 1], a + + ld a, $ff + ld [wUnusedD71B], a + + ld hl, wPartyCount + call InitializeEmptyList + ld hl, wNumInBox + call InitializeEmptyList + ld hl, wNumBagItems + call InitializeEmptyList + ld hl, wNumBoxItems + call InitializeEmptyList + +START_MONEY EQU $3000 + ld hl, wPlayerMoney + 1 + ld a, START_MONEY / $100 + ld [hld], a + xor a + ld [hli], a + inc hl + ld [hl], a + + ld [wMonDataLocation], a + + ld hl, wObtainedBadges + ld [hli], a + + ld [hl], a + + ld hl, wPlayerCoins + ld [hli], a + ld [hl], a + + ld hl, wGameProgressFlags + ld bc, wGameProgressFlagsEnd - wGameProgressFlags + call FillMemory ; clear all game progress flags + + jp InitializeMissableObjectsFlags + +InitializeEmptyList: + xor a ; count + ld [hli], a + dec a ; terminator + ld [hl], a + ret diff --git a/engine/movie/oak_speech/oak_speech.asm b/engine/movie/oak_speech/oak_speech.asm new file mode 100755 index 00000000..b1acfb65 --- /dev/null +++ b/engine/movie/oak_speech/oak_speech.asm @@ -0,0 +1,233 @@ +SetDefaultNames: + ld a, [wLetterPrintingDelayFlags] + push af + ld a, [wOptions] + push af + ld a, [wd732] + push af + ld hl, wPlayerName + ld bc, wBoxDataEnd - wPlayerName + xor a + call FillMemory + ld hl, wSpriteStateData1 + ld bc, $200 + xor a + call FillMemory + pop af + ld [wd732], a + pop af + ld [wOptions], a + pop af + ld [wLetterPrintingDelayFlags], a + ld a, [wOptionsInitialized] + and a + call z, InitOptions + ld hl, NintenText + ld de, wPlayerName + ld bc, NAME_LENGTH + call CopyData + ld hl, SonyText + ld de, wRivalName + ld bc, NAME_LENGTH + jp CopyData + +OakSpeech: + ld a, $FF + call PlaySound ; stop music + ld a, BANK(Music_Routes2) + ld c, a + ld a, MUSIC_ROUTES2 + call PlayMusic + call ClearScreen + call LoadTextBoxTilePatterns + call SetDefaultNames + predef InitPlayerData2 + ld hl, wNumBoxItems + ld a, POTION + ld [wcf91], a + ld a, 1 + ld [wItemQuantity], a + call AddItemToInventory ; give one potion + ld a, [wDefaultMap] + ld [wDestinationMap], a + call SpecialWarpIn + xor a + ld [hTilesetType], a + ld a, [wd732] + bit 1, a ; possibly a debug mode bit + jp nz, .skipChoosingNames + ld de, ProfOakPic + lb bc, Bank(ProfOakPic), $00 + call IntroDisplayPicCenteredOrUpperRight + call FadeInIntroPic + ld hl, OakSpeechText1 + call PrintText + call GBFadeOutToWhite + call ClearScreen + ld a, NIDORINO + ld [wd0b5], a + ld [wcf91], a + call GetMonHeader + coord hl, 6, 4 + call LoadFlippedFrontSpriteByMonIndex + call MovePicLeft + ld hl, OakSpeechText2 + call PrintText + call GBFadeOutToWhite + call ClearScreen + ld de, RedPicFront + lb bc, Bank(RedPicFront), $00 + call IntroDisplayPicCenteredOrUpperRight + call MovePicLeft + ld hl, IntroducePlayerText + call PrintText + call ChoosePlayerName + call GBFadeOutToWhite + call ClearScreen + ld de, Rival1Pic + lb bc, Bank(Rival1Pic), $00 + call IntroDisplayPicCenteredOrUpperRight + call FadeInIntroPic + ld hl, IntroduceRivalText + call PrintText + call ChooseRivalName +.skipChoosingNames + call GBFadeOutToWhite + call ClearScreen + ld de, RedPicFront + lb bc, Bank(RedPicFront), $00 + call IntroDisplayPicCenteredOrUpperRight + call GBFadeInFromWhite + ld a, [wd72d] + and a + jr nz, .next + ld hl, OakSpeechText3 + call PrintText +.next + ld a, [H_LOADEDROMBANK] + push af + ld a, SFX_SHRINK + call PlaySound + pop af + ld [H_LOADEDROMBANK], a + ld [MBC1RomBank], a + ld c, 4 + call DelayFrames + ld de, RedSprite + ld hl, vSprites + lb bc, BANK(RedSprite), $0C + call CopyVideoData + ld de, ShrinkPic1 + lb bc, BANK(ShrinkPic1), $00 + call IntroDisplayPicCenteredOrUpperRight + ld c, 4 + call DelayFrames + ld de, ShrinkPic2 + lb bc, BANK(ShrinkPic2), $00 + call IntroDisplayPicCenteredOrUpperRight + call ResetPlayerSpriteData + ld a, [H_LOADEDROMBANK] + push af + ld a, BANK(Music_PalletTown) + ld [wAudioROMBank], a + ld [wAudioSavedROMBank], a + ld a, 10 + ld [wAudioFadeOutControl], a + ld a, $FF + ld [wNewSoundID], a + call PlaySound ; stop music + pop af + ld [H_LOADEDROMBANK], a + ld [MBC1RomBank], a + ld c, 20 + call DelayFrames + coord hl, 6, 5 + ld b, 7 + ld c, 7 + call ClearScreenArea + call LoadTextBoxTilePatterns + ld a, 1 + ld [wUpdateSpritesEnabled], a + ld c, 50 + call DelayFrames + call GBFadeOutToWhite + jp ClearScreen +OakSpeechText1: + TX_FAR _OakSpeechText1 + db "@" +OakSpeechText2: + TX_FAR _OakSpeechText2A + TX_CRY_NIDORINA + TX_FAR _OakSpeechText2B + db "@" +IntroducePlayerText: + TX_FAR _IntroducePlayerText + db "@" +IntroduceRivalText: + TX_FAR _IntroduceRivalText + db "@" +OakSpeechText3: + TX_FAR _OakSpeechText3 + db "@" + +FadeInIntroPic: + ld hl, IntroFadePalettes + ld b, 6 +.next + ld a, [hli] + ld [rBGP], a + ld c, 10 + call DelayFrames + dec b + jr nz, .next + ret + +IntroFadePalettes: + db %01010100 + db %10101000 + db %11111100 + db %11111000 + db %11110100 + db %11100100 + +MovePicLeft: + ld a, 119 + ld [rWX], a + call DelayFrame + + ld a, %11100100 + ld [rBGP], a +.next + call DelayFrame + ld a, [rWX] + sub 8 + cp $FF + ret z + ld [rWX], a + jr .next + +DisplayPicCenteredOrUpperRight: + call GetPredefRegisters +IntroDisplayPicCenteredOrUpperRight: +; b = bank +; de = address of compressed pic +; c: 0 = centred, non-zero = upper-right + push bc + ld a, b + call UncompressSpriteFromDE + ld hl, sSpriteBuffer1 + ld de, sSpriteBuffer0 + ld bc, $310 + call CopyData + ld de, vFrontPic + call InterlaceMergeSpriteBuffers + pop bc + ld a, c + and a + coord hl, 15, 1 + jr nz, .next + coord hl, 6, 4 +.next + xor a + ld [hStartTileID], a + predef_jump CopyUncompressedPicToTilemap diff --git a/engine/movie/oak_speech/oak_speech2.asm b/engine/movie/oak_speech/oak_speech2.asm new file mode 100755 index 00000000..fdc9ffa3 --- /dev/null +++ b/engine/movie/oak_speech/oak_speech2.asm @@ -0,0 +1,219 @@ +ChoosePlayerName: + call OakSpeechSlidePicRight + ld de, DefaultNamesPlayer + call DisplayIntroNameTextBox + ld a, [wCurrentMenuItem] + and a + jr z, .customName + ld hl, DefaultNamesPlayerList + call GetDefaultName + ld de, wPlayerName + call OakSpeechSlidePicLeft + jr .done +.customName + ld hl, wPlayerName + xor a ; NAME_PLAYER_SCREEN + ld [wNamingScreenType], a + call DisplayNamingScreen + ld a, [wcf4b] + cp "@" + jr z, .customName + call ClearScreen + call Delay3 + ld de, RedPicFront + ld b, BANK(RedPicFront) + call IntroDisplayPicCenteredOrUpperRight +.done + ld hl, YourNameIsText + jp PrintText + +YourNameIsText: + TX_FAR _YourNameIsText + db "@" + +ChooseRivalName: + call OakSpeechSlidePicRight + ld de, DefaultNamesRival + call DisplayIntroNameTextBox + ld a, [wCurrentMenuItem] + and a + jr z, .customName + ld hl, DefaultNamesRivalList + call GetDefaultName + ld de, wRivalName + call OakSpeechSlidePicLeft + jr .done +.customName + ld hl, wRivalName + ld a, NAME_RIVAL_SCREEN + ld [wNamingScreenType], a + call DisplayNamingScreen + ld a, [wcf4b] + cp "@" + jr z, .customName + call ClearScreen + call Delay3 + ld de, Rival1Pic + ld b, $13 + call IntroDisplayPicCenteredOrUpperRight +.done + ld hl, HisNameIsText + jp PrintText + +HisNameIsText: + TX_FAR _HisNameIsText + db "@" + +OakSpeechSlidePicLeft: + push de + coord hl, 0, 0 + lb bc, 12, 11 + call ClearScreenArea ; clear the name list text box + ld c, 10 + call DelayFrames + pop de + ld hl, wcd6d + ld bc, NAME_LENGTH + call CopyData + call Delay3 + coord hl, 12, 4 + lb de, 6, 6 * SCREEN_WIDTH + 5 + ld a, $ff + jr OakSpeechSlidePicCommon + +OakSpeechSlidePicRight: + coord hl, 5, 4 + lb de, 6, 6 * SCREEN_WIDTH + 5 + xor a + +OakSpeechSlidePicCommon: + push hl + push de + push bc + ld [hSlideDirection], a + ld a, d + ld [hSlideAmount], a + ld a, e + ld [hSlidingRegionSize], a + ld c, a + ld a, [hSlideDirection] + and a + jr nz, .next +; If sliding right, point hl to the end of the pic's tiles. + ld d, 0 + add hl, de +.next + ld d, h + ld e, l +.loop + xor a + ld [H_AUTOBGTRANSFERENABLED], a + ld a, [hSlideDirection] + and a + jr nz, .slideLeft +; sliding right + ld a, [hli] + ld [hld], a + dec hl + jr .next2 +.slideLeft + ld a, [hld] + ld [hli], a + inc hl +.next2 + dec c + jr nz, .loop + ld a, [hSlideDirection] + and a + jr z, .next3 +; If sliding left, we need to zero the last tile in the pic (there is no need +; to take a corresponding action when sliding right because hl initially points +; to a 0 tile in that case). + xor a + dec hl + ld [hl], a +.next3 + ld a, 1 + ld [H_AUTOBGTRANSFERENABLED], a + call Delay3 + ld a, [hSlidingRegionSize] + ld c, a + ld h, d + ld l, e + ld a, [hSlideDirection] + and a + jr nz, .slideLeft2 + inc hl + jr .next4 +.slideLeft2 + dec hl +.next4 + ld d, h + ld e, l + ld a, [hSlideAmount] + dec a + ld [hSlideAmount], a + jr nz, .loop + pop bc + pop de + pop hl + ret + +DisplayIntroNameTextBox: + push de + coord hl, 0, 0 + ld b, $a + ld c, $9 + call TextBoxBorder + coord hl, 3, 0 + ld de, .namestring + call PlaceString + pop de + coord hl, 2, 2 + call PlaceString + call UpdateSprites + xor a + ld [wCurrentMenuItem], a + ld [wLastMenuItem], a + inc a + ld [wTopMenuItemX], a + ld [wMenuWatchedKeys], a ; A_BUTTON + inc a + ld [wTopMenuItemY], a + inc a + ld [wMaxMenuItem], a + jp HandleMenuInput + +.namestring + db "NAME@" + +INCLUDE "text/player_names.asm" + +GetDefaultName: +; a = name index +; hl = name list + ld b, a + ld c, 0 +.loop + ld d, h + ld e, l +.innerLoop + ld a, [hli] + cp "@" + jr nz, .innerLoop + ld a, b + cp c + jr z, .foundName + inc c + jr .loop +.foundName + ld h, d + ld l, e + ld de, wcd6d + ld bc, $14 + jp CopyData + +INCLUDE "text/player_names_list.asm" + +TextTerminator_6b20: + db "@" diff --git a/engine/movie/oak_speech2.asm b/engine/movie/oak_speech2.asm deleted file mode 100755 index fdc9ffa3..00000000 --- a/engine/movie/oak_speech2.asm +++ /dev/null @@ -1,219 +0,0 @@ -ChoosePlayerName: - call OakSpeechSlidePicRight - ld de, DefaultNamesPlayer - call DisplayIntroNameTextBox - ld a, [wCurrentMenuItem] - and a - jr z, .customName - ld hl, DefaultNamesPlayerList - call GetDefaultName - ld de, wPlayerName - call OakSpeechSlidePicLeft - jr .done -.customName - ld hl, wPlayerName - xor a ; NAME_PLAYER_SCREEN - ld [wNamingScreenType], a - call DisplayNamingScreen - ld a, [wcf4b] - cp "@" - jr z, .customName - call ClearScreen - call Delay3 - ld de, RedPicFront - ld b, BANK(RedPicFront) - call IntroDisplayPicCenteredOrUpperRight -.done - ld hl, YourNameIsText - jp PrintText - -YourNameIsText: - TX_FAR _YourNameIsText - db "@" - -ChooseRivalName: - call OakSpeechSlidePicRight - ld de, DefaultNamesRival - call DisplayIntroNameTextBox - ld a, [wCurrentMenuItem] - and a - jr z, .customName - ld hl, DefaultNamesRivalList - call GetDefaultName - ld de, wRivalName - call OakSpeechSlidePicLeft - jr .done -.customName - ld hl, wRivalName - ld a, NAME_RIVAL_SCREEN - ld [wNamingScreenType], a - call DisplayNamingScreen - ld a, [wcf4b] - cp "@" - jr z, .customName - call ClearScreen - call Delay3 - ld de, Rival1Pic - ld b, $13 - call IntroDisplayPicCenteredOrUpperRight -.done - ld hl, HisNameIsText - jp PrintText - -HisNameIsText: - TX_FAR _HisNameIsText - db "@" - -OakSpeechSlidePicLeft: - push de - coord hl, 0, 0 - lb bc, 12, 11 - call ClearScreenArea ; clear the name list text box - ld c, 10 - call DelayFrames - pop de - ld hl, wcd6d - ld bc, NAME_LENGTH - call CopyData - call Delay3 - coord hl, 12, 4 - lb de, 6, 6 * SCREEN_WIDTH + 5 - ld a, $ff - jr OakSpeechSlidePicCommon - -OakSpeechSlidePicRight: - coord hl, 5, 4 - lb de, 6, 6 * SCREEN_WIDTH + 5 - xor a - -OakSpeechSlidePicCommon: - push hl - push de - push bc - ld [hSlideDirection], a - ld a, d - ld [hSlideAmount], a - ld a, e - ld [hSlidingRegionSize], a - ld c, a - ld a, [hSlideDirection] - and a - jr nz, .next -; If sliding right, point hl to the end of the pic's tiles. - ld d, 0 - add hl, de -.next - ld d, h - ld e, l -.loop - xor a - ld [H_AUTOBGTRANSFERENABLED], a - ld a, [hSlideDirection] - and a - jr nz, .slideLeft -; sliding right - ld a, [hli] - ld [hld], a - dec hl - jr .next2 -.slideLeft - ld a, [hld] - ld [hli], a - inc hl -.next2 - dec c - jr nz, .loop - ld a, [hSlideDirection] - and a - jr z, .next3 -; If sliding left, we need to zero the last tile in the pic (there is no need -; to take a corresponding action when sliding right because hl initially points -; to a 0 tile in that case). - xor a - dec hl - ld [hl], a -.next3 - ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a - call Delay3 - ld a, [hSlidingRegionSize] - ld c, a - ld h, d - ld l, e - ld a, [hSlideDirection] - and a - jr nz, .slideLeft2 - inc hl - jr .next4 -.slideLeft2 - dec hl -.next4 - ld d, h - ld e, l - ld a, [hSlideAmount] - dec a - ld [hSlideAmount], a - jr nz, .loop - pop bc - pop de - pop hl - ret - -DisplayIntroNameTextBox: - push de - coord hl, 0, 0 - ld b, $a - ld c, $9 - call TextBoxBorder - coord hl, 3, 0 - ld de, .namestring - call PlaceString - pop de - coord hl, 2, 2 - call PlaceString - call UpdateSprites - xor a - ld [wCurrentMenuItem], a - ld [wLastMenuItem], a - inc a - ld [wTopMenuItemX], a - ld [wMenuWatchedKeys], a ; A_BUTTON - inc a - ld [wTopMenuItemY], a - inc a - ld [wMaxMenuItem], a - jp HandleMenuInput - -.namestring - db "NAME@" - -INCLUDE "text/player_names.asm" - -GetDefaultName: -; a = name index -; hl = name list - ld b, a - ld c, 0 -.loop - ld d, h - ld e, l -.innerLoop - ld a, [hli] - cp "@" - jr nz, .innerLoop - ld a, b - cp c - jr z, .foundName - inc c - jr .loop -.foundName - ld h, d - ld l, e - ld de, wcd6d - ld bc, $14 - jp CopyData - -INCLUDE "text/player_names_list.asm" - -TextTerminator_6b20: - db "@" diff --git a/main.asm b/main.asm index 50930bb4..1c3b5800 100755 --- a/main.asm +++ b/main.asm @@ -25,11 +25,11 @@ INCLUDE "engine/events/pick_up_item.asm" INCLUDE "engine/overworld/movement.asm" INCLUDE "engine/link/cable_club.asm" INCLUDE "engine/menus/main_menu.asm" -INCLUDE "engine/movie/oak_speech.asm" +INCLUDE "engine/movie/oak_speech/oak_speech.asm" INCLUDE "engine/overworld/special_warps.asm" INCLUDE "engine/debug/debug_party.asm" INCLUDE "engine/menus/naming_screen.asm" -INCLUDE "engine/movie/oak_speech2.asm" +INCLUDE "engine/movie/oak_speech/oak_speech2.asm" INCLUDE "engine/items/subtract_paid_money.asm" INCLUDE "engine/menus/swap_items.asm" INCLUDE "engine/events/pokemart.asm" @@ -70,7 +70,7 @@ INCLUDE "engine/pokemon/add_mon.asm" INCLUDE "engine/flag_action.asm" INCLUDE "engine/events/heal_party.asm" INCLUDE "engine/math/bcd.asm" -INCLUDE "engine/movie/init_player_data.asm" +INCLUDE "engine/movie/oak_speech/init_player_data.asm" INCLUDE "engine/items/get_bag_item_quantity.asm" INCLUDE "engine/overworld/pathfinding.asm" INCLUDE "engine/gfx/hp_bar.asm" @@ -150,7 +150,7 @@ INCLUDE "engine/overworld/ledges.asm" SECTION "bank7_1", ROMX INCLUDE "text/monster_names.asm" -INCLUDE "engine/movie/clear_save.asm" +INCLUDE "engine/movie/oak_speech/clear_save.asm" INCLUDE "engine/events/elevator.asm" -- cgit v1.2.3 From b29e5ee203b6fa4592180ef6cca732462cca9af6 Mon Sep 17 00:00:00 2001 From: Rangi Date: Fri, 3 Jul 2020 11:51:00 -0400 Subject: Add subdirectories to data/ similar to pokecrystal Top level text/ is now solely for the former text/maps/ files, and other files are in their respective subdirectories in data/. --- constants/evolution_constants.asm | 2 +- data/animations.asm | 3628 ---------------------- data/baseStats/abra.asm | 28 - data/baseStats/aerodactyl.asm | 28 - data/baseStats/alakazam.asm | 28 - data/baseStats/arbok.asm | 28 - data/baseStats/arcanine.asm | 28 - data/baseStats/articuno.asm | 28 - data/baseStats/beedrill.asm | 28 - data/baseStats/bellsprout.asm | 28 - data/baseStats/blastoise.asm | 28 - data/baseStats/bulbasaur.asm | 28 - data/baseStats/butterfree.asm | 28 - data/baseStats/caterpie.asm | 28 - data/baseStats/chansey.asm | 28 - data/baseStats/charizard.asm | 28 - data/baseStats/charmander.asm | 28 - data/baseStats/charmeleon.asm | 28 - data/baseStats/clefable.asm | 28 - data/baseStats/clefairy.asm | 28 - data/baseStats/cloyster.asm | 28 - data/baseStats/cubone.asm | 28 - data/baseStats/dewgong.asm | 28 - data/baseStats/diglett.asm | 28 - data/baseStats/ditto.asm | 28 - data/baseStats/dodrio.asm | 28 - data/baseStats/doduo.asm | 28 - data/baseStats/dragonair.asm | 28 - data/baseStats/dragonite.asm | 28 - data/baseStats/dratini.asm | 28 - data/baseStats/drowzee.asm | 28 - data/baseStats/dugtrio.asm | 28 - data/baseStats/eevee.asm | 28 - data/baseStats/ekans.asm | 28 - data/baseStats/electabuzz.asm | 28 - data/baseStats/electrode.asm | 28 - data/baseStats/exeggcute.asm | 28 - data/baseStats/exeggutor.asm | 28 - data/baseStats/farfetchd.asm | 28 - data/baseStats/fearow.asm | 28 - data/baseStats/flareon.asm | 28 - data/baseStats/gastly.asm | 28 - data/baseStats/gengar.asm | 28 - data/baseStats/geodude.asm | 28 - data/baseStats/gloom.asm | 28 - data/baseStats/golbat.asm | 28 - data/baseStats/goldeen.asm | 28 - data/baseStats/golduck.asm | 28 - data/baseStats/golem.asm | 28 - data/baseStats/graveler.asm | 28 - data/baseStats/grimer.asm | 28 - data/baseStats/growlithe.asm | 28 - data/baseStats/gyarados.asm | 28 - data/baseStats/haunter.asm | 28 - data/baseStats/hitmonchan.asm | 28 - data/baseStats/hitmonlee.asm | 28 - data/baseStats/horsea.asm | 28 - data/baseStats/hypno.asm | 28 - data/baseStats/ivysaur.asm | 28 - data/baseStats/jigglypuff.asm | 28 - data/baseStats/jolteon.asm | 28 - data/baseStats/jynx.asm | 28 - data/baseStats/kabuto.asm | 28 - data/baseStats/kabutops.asm | 28 - data/baseStats/kadabra.asm | 28 - data/baseStats/kakuna.asm | 28 - data/baseStats/kangaskhan.asm | 28 - data/baseStats/kingler.asm | 28 - data/baseStats/koffing.asm | 28 - data/baseStats/krabby.asm | 28 - data/baseStats/lapras.asm | 28 - data/baseStats/lickitung.asm | 28 - data/baseStats/machamp.asm | 28 - data/baseStats/machoke.asm | 28 - data/baseStats/machop.asm | 28 - data/baseStats/magikarp.asm | 28 - data/baseStats/magmar.asm | 28 - data/baseStats/magnemite.asm | 28 - data/baseStats/magneton.asm | 28 - data/baseStats/mankey.asm | 28 - data/baseStats/marowak.asm | 28 - data/baseStats/meowth.asm | 28 - data/baseStats/metapod.asm | 28 - data/baseStats/mew.asm | 29 - data/baseStats/mewtwo.asm | 28 - data/baseStats/moltres.asm | 28 - data/baseStats/mrmime.asm | 28 - data/baseStats/muk.asm | 28 - data/baseStats/nidoking.asm | 28 - data/baseStats/nidoqueen.asm | 28 - data/baseStats/nidoranf.asm | 28 - data/baseStats/nidoranm.asm | 28 - data/baseStats/nidorina.asm | 28 - data/baseStats/nidorino.asm | 28 - data/baseStats/ninetales.asm | 28 - data/baseStats/oddish.asm | 28 - data/baseStats/omanyte.asm | 28 - data/baseStats/omastar.asm | 28 - data/baseStats/onix.asm | 28 - data/baseStats/paras.asm | 28 - data/baseStats/parasect.asm | 28 - data/baseStats/persian.asm | 28 - data/baseStats/pidgeot.asm | 28 - data/baseStats/pidgeotto.asm | 28 - data/baseStats/pidgey.asm | 28 - data/baseStats/pikachu.asm | 28 - data/baseStats/pinsir.asm | 28 - data/baseStats/poliwag.asm | 28 - data/baseStats/poliwhirl.asm | 28 - data/baseStats/poliwrath.asm | 28 - data/baseStats/ponyta.asm | 28 - data/baseStats/porygon.asm | 28 - data/baseStats/primeape.asm | 28 - data/baseStats/psyduck.asm | 28 - data/baseStats/raichu.asm | 28 - data/baseStats/rapidash.asm | 28 - data/baseStats/raticate.asm | 28 - data/baseStats/rattata.asm | 28 - data/baseStats/rhydon.asm | 28 - data/baseStats/rhyhorn.asm | 28 - data/baseStats/sandshrew.asm | 28 - data/baseStats/sandslash.asm | 28 - data/baseStats/scyther.asm | 28 - data/baseStats/seadra.asm | 28 - data/baseStats/seaking.asm | 28 - data/baseStats/seel.asm | 28 - data/baseStats/shellder.asm | 28 - data/baseStats/slowbro.asm | 28 - data/baseStats/slowpoke.asm | 28 - data/baseStats/snorlax.asm | 28 - data/baseStats/spearow.asm | 28 - data/baseStats/squirtle.asm | 28 - data/baseStats/starmie.asm | 28 - data/baseStats/staryu.asm | 28 - data/baseStats/tangela.asm | 28 - data/baseStats/tauros.asm | 28 - data/baseStats/tentacool.asm | 28 - data/baseStats/tentacruel.asm | 28 - data/baseStats/vaporeon.asm | 28 - data/baseStats/venomoth.asm | 28 - data/baseStats/venonat.asm | 28 - data/baseStats/venusaur.asm | 28 - data/baseStats/victreebel.asm | 28 - data/baseStats/vileplume.asm | 28 - data/baseStats/voltorb.asm | 28 - data/baseStats/vulpix.asm | 28 - data/baseStats/wartortle.asm | 28 - data/baseStats/weedle.asm | 28 - data/baseStats/weepinbell.asm | 28 - data/baseStats/weezing.asm | 28 - data/baseStats/wigglytuff.asm | 28 - data/baseStats/zapdos.asm | 28 - data/baseStats/zubat.asm | 28 - data/base_stats.asm | 153 - data/battle/stat_names.asm | 7 + data/bike_riding_tilesets.asm | 2 - data/bookshelf_tile_ids.asm | 37 - data/collision_tile_ids.asm | 82 - data/credit_mons.asm | 16 - data/credits/credits_mons.asm | 16 + data/credits/credits_order.asm | 39 + data/credits/credits_text.asm | 199 ++ data/credits_order.asm | 39 - data/cries.asm | 192 -- data/cut_tree_blocks.asm | 13 - data/door_tile_ids.asm | 48 - data/dungeon_maps.asm | 29 - data/dungeon_tilesets.asm | 2 - data/effects_pointers.asm | 87 - data/events/hidden_coins.asm | 14 + data/events/hidden_item_coords.asm | 57 + data/events/hidden_objects.asm | 853 +++++ data/events/prize_mon_levels.asm | 19 + data/events/prizes.asm | 72 + data/events/slot_machine_wheels.asm | 59 + data/events/trades.asm | 12 + data/evos_moves.asm | 2134 ------------- data/facing.asm | 57 - data/force_bike_surf.asm | 11 - data/good_rod.asm | 3 - data/guard_drink_items.asm | 2 - data/hidden_coins.asm | 14 - data/hidden_item_coords.asm | 57 - data/hidden_objects.asm | 853 ----- data/hide_show_data.asm | 577 ---- data/hm_moves.asm | 7 - data/icon_pointers.asm | 140 + data/item_prices.asm | 98 - data/items/guard_drink_items.asm | 2 + data/items/key_items.asm | 12 + data/items/marts.asm | 64 + data/items/names.asm | 98 + data/items/prices.asm | 98 + data/items/tm_prices.asm | 27 + data/items/use_overworld.asm | 9 + data/items/use_party.asm | 39 + data/items/vending_prices.asm | 7 + data/key_items.asm | 12 - data/ledge_tiles.asm | 11 - data/mapWilds/CeruleanCave1F.asm | 18 + data/mapWilds/CeruleanCave2F.asm | 13 + data/mapWilds/CeruleanCaveB1F.asm | 18 + data/mapWilds/DiglettsCave.asm | 13 + data/mapWilds/MtMoon1F.asm | 13 + data/mapWilds/MtMoonB1F.asm | 13 + data/mapWilds/MtMoonB2F.asm | 13 + data/mapWilds/PokemonMansion1F.asm | 27 + data/mapWilds/PokemonMansion2F.asm | 27 + data/mapWilds/PokemonMansion3F.asm | 27 + data/mapWilds/PokemonMansionB1F.asm | 27 + data/mapWilds/PokemonTower1F.asm | 3 + data/mapWilds/PokemonTower2F.asm | 3 + data/mapWilds/PokemonTower3F.asm | 13 + data/mapWilds/PokemonTower4F.asm | 13 + data/mapWilds/PokemonTower5F.asm | 13 + data/mapWilds/PokemonTower6F.asm | 13 + data/mapWilds/PokemonTower7F.asm | 13 + data/mapWilds/PowerPlant.asm | 19 + data/mapWilds/RockTunnel1F.asm | 13 + data/mapWilds/RockTunnelB1F.asm | 13 + data/mapWilds/Route1.asm | 13 + data/mapWilds/Route10.asm | 27 + data/mapWilds/Route11.asm | 27 + data/mapWilds/Route12.asm | 27 + data/mapWilds/Route13.asm | 28 + data/mapWilds/Route14.asm | 27 + data/mapWilds/Route15.asm | 27 + data/mapWilds/Route16.asm | 13 + data/mapWilds/Route17.asm | 13 + data/mapWilds/Route18.asm | 13 + data/mapWilds/Route2.asm | 24 + data/mapWilds/Route21.asm | 23 + data/mapWilds/Route22.asm | 27 + data/mapWilds/Route23.asm | 23 + data/mapWilds/Route24.asm | 27 + data/mapWilds/Route25.asm | 27 + data/mapWilds/Route3.asm | 13 + data/mapWilds/Route4.asm | 27 + data/mapWilds/Route5.asm | 27 + data/mapWilds/Route6.asm | 27 + data/mapWilds/Route7.asm | 27 + data/mapWilds/Route8.asm | 27 + data/mapWilds/Route9.asm | 27 + data/mapWilds/SafariZoneCenter.asm | 27 + data/mapWilds/SafariZoneEast.asm | 27 + data/mapWilds/SafariZoneNorth.asm | 28 + data/mapWilds/SafariZoneWest.asm | 27 + data/mapWilds/SeaRoutes.asm | 13 + data/mapWilds/SeafoamIslands1F.asm | 27 + data/mapWilds/SeafoamIslandsB1F.asm | 27 + data/mapWilds/SeafoamIslandsB2F.asm | 27 + data/mapWilds/SeafoamIslandsB3F.asm | 27 + data/mapWilds/SeafoamIslandsB4F.asm | 27 + data/mapWilds/VictoryRoad1F.asm | 13 + data/mapWilds/VictoryRoad2F.asm | 13 + data/mapWilds/VictoryRoad3F.asm | 13 + data/mapWilds/ViridianForest.asm | 25 + data/mapWilds/nothing.asm | 3 + data/map_header_banks.asm | 250 -- data/map_header_pointers.asm | 250 -- data/map_songs.asm | 249 -- data/maps/dungeon_maps.asm | 29 + data/maps/force_bike_surf.asm | 11 + data/maps/hide_show_data.asm | 577 ++++ data/maps/map_header_banks.asm | 250 ++ data/maps/map_header_pointers.asm | 250 ++ data/maps/names.asm | 107 + data/maps/rest_house_maps.asm | 5 + data/maps/songs.asm | 249 ++ data/maps/special_warps.asm | 119 + data/maps/sprite_sets.asm | 551 ++++ data/maps/town_map_entries.asm | 101 + data/maps/town_map_order.asm | 49 + data/mart_inventories.asm | 64 - data/mon_palettes.asm | 153 - data/mon_party_sprite_pointers.asm | 140 - data/mon_party_sprites.asm | 77 - data/move_animation_pointers.asm | 81 - data/move_animation_special_effects.asm | 75 - data/move_grammar.asm | 14 - data/move_sfx.asm | 168 - data/moves.asm | 178 -- data/moves/animation_special_effect_pointers.asm | 81 + data/moves/animation_special_effects.asm | 75 + data/moves/animations.asm | 3628 ++++++++++++++++++++++ data/moves/effects_pointers.asm | 87 + data/moves/grammar.asm | 14 + data/moves/hm_moves.asm | 7 + data/moves/moves.asm | 178 ++ data/moves/names.asm | 167 + data/moves/sfx.asm | 168 + data/moves/tmhm_moves.asm | 56 + data/overworld_items.asm | 9 - data/party_items.asm | 39 - data/player_names.asm | 31 + data/player_names_list.asm | 27 + data/pokedex_entries.asm | 1259 -------- data/pokedex_order.asm | 191 -- data/pokemon/base_stats.asm | 153 + data/pokemon/base_stats/abra.asm | 28 + data/pokemon/base_stats/aerodactyl.asm | 28 + data/pokemon/base_stats/alakazam.asm | 28 + data/pokemon/base_stats/arbok.asm | 28 + data/pokemon/base_stats/arcanine.asm | 28 + data/pokemon/base_stats/articuno.asm | 28 + data/pokemon/base_stats/beedrill.asm | 28 + data/pokemon/base_stats/bellsprout.asm | 28 + data/pokemon/base_stats/blastoise.asm | 28 + data/pokemon/base_stats/bulbasaur.asm | 28 + data/pokemon/base_stats/butterfree.asm | 28 + data/pokemon/base_stats/caterpie.asm | 28 + data/pokemon/base_stats/chansey.asm | 28 + data/pokemon/base_stats/charizard.asm | 28 + data/pokemon/base_stats/charmander.asm | 28 + data/pokemon/base_stats/charmeleon.asm | 28 + data/pokemon/base_stats/clefable.asm | 28 + data/pokemon/base_stats/clefairy.asm | 28 + data/pokemon/base_stats/cloyster.asm | 28 + data/pokemon/base_stats/cubone.asm | 28 + data/pokemon/base_stats/dewgong.asm | 28 + data/pokemon/base_stats/diglett.asm | 28 + data/pokemon/base_stats/ditto.asm | 28 + data/pokemon/base_stats/dodrio.asm | 28 + data/pokemon/base_stats/doduo.asm | 28 + data/pokemon/base_stats/dragonair.asm | 28 + data/pokemon/base_stats/dragonite.asm | 28 + data/pokemon/base_stats/dratini.asm | 28 + data/pokemon/base_stats/drowzee.asm | 28 + data/pokemon/base_stats/dugtrio.asm | 28 + data/pokemon/base_stats/eevee.asm | 28 + data/pokemon/base_stats/ekans.asm | 28 + data/pokemon/base_stats/electabuzz.asm | 28 + data/pokemon/base_stats/electrode.asm | 28 + data/pokemon/base_stats/exeggcute.asm | 28 + data/pokemon/base_stats/exeggutor.asm | 28 + data/pokemon/base_stats/farfetchd.asm | 28 + data/pokemon/base_stats/fearow.asm | 28 + data/pokemon/base_stats/flareon.asm | 28 + data/pokemon/base_stats/gastly.asm | 28 + data/pokemon/base_stats/gengar.asm | 28 + data/pokemon/base_stats/geodude.asm | 28 + data/pokemon/base_stats/gloom.asm | 28 + data/pokemon/base_stats/golbat.asm | 28 + data/pokemon/base_stats/goldeen.asm | 28 + data/pokemon/base_stats/golduck.asm | 28 + data/pokemon/base_stats/golem.asm | 28 + data/pokemon/base_stats/graveler.asm | 28 + data/pokemon/base_stats/grimer.asm | 28 + data/pokemon/base_stats/growlithe.asm | 28 + data/pokemon/base_stats/gyarados.asm | 28 + data/pokemon/base_stats/haunter.asm | 28 + data/pokemon/base_stats/hitmonchan.asm | 28 + data/pokemon/base_stats/hitmonlee.asm | 28 + data/pokemon/base_stats/horsea.asm | 28 + data/pokemon/base_stats/hypno.asm | 28 + data/pokemon/base_stats/ivysaur.asm | 28 + data/pokemon/base_stats/jigglypuff.asm | 28 + data/pokemon/base_stats/jolteon.asm | 28 + data/pokemon/base_stats/jynx.asm | 28 + data/pokemon/base_stats/kabuto.asm | 28 + data/pokemon/base_stats/kabutops.asm | 28 + data/pokemon/base_stats/kadabra.asm | 28 + data/pokemon/base_stats/kakuna.asm | 28 + data/pokemon/base_stats/kangaskhan.asm | 28 + data/pokemon/base_stats/kingler.asm | 28 + data/pokemon/base_stats/koffing.asm | 28 + data/pokemon/base_stats/krabby.asm | 28 + data/pokemon/base_stats/lapras.asm | 28 + data/pokemon/base_stats/lickitung.asm | 28 + data/pokemon/base_stats/machamp.asm | 28 + data/pokemon/base_stats/machoke.asm | 28 + data/pokemon/base_stats/machop.asm | 28 + data/pokemon/base_stats/magikarp.asm | 28 + data/pokemon/base_stats/magmar.asm | 28 + data/pokemon/base_stats/magnemite.asm | 28 + data/pokemon/base_stats/magneton.asm | 28 + data/pokemon/base_stats/mankey.asm | 28 + data/pokemon/base_stats/marowak.asm | 28 + data/pokemon/base_stats/meowth.asm | 28 + data/pokemon/base_stats/metapod.asm | 28 + data/pokemon/base_stats/mew.asm | 29 + data/pokemon/base_stats/mewtwo.asm | 28 + data/pokemon/base_stats/moltres.asm | 28 + data/pokemon/base_stats/mrmime.asm | 28 + data/pokemon/base_stats/muk.asm | 28 + data/pokemon/base_stats/nidoking.asm | 28 + data/pokemon/base_stats/nidoqueen.asm | 28 + data/pokemon/base_stats/nidoranf.asm | 28 + data/pokemon/base_stats/nidoranm.asm | 28 + data/pokemon/base_stats/nidorina.asm | 28 + data/pokemon/base_stats/nidorino.asm | 28 + data/pokemon/base_stats/ninetales.asm | 28 + data/pokemon/base_stats/oddish.asm | 28 + data/pokemon/base_stats/omanyte.asm | 28 + data/pokemon/base_stats/omastar.asm | 28 + data/pokemon/base_stats/onix.asm | 28 + data/pokemon/base_stats/paras.asm | 28 + data/pokemon/base_stats/parasect.asm | 28 + data/pokemon/base_stats/persian.asm | 28 + data/pokemon/base_stats/pidgeot.asm | 28 + data/pokemon/base_stats/pidgeotto.asm | 28 + data/pokemon/base_stats/pidgey.asm | 28 + data/pokemon/base_stats/pikachu.asm | 28 + data/pokemon/base_stats/pinsir.asm | 28 + data/pokemon/base_stats/poliwag.asm | 28 + data/pokemon/base_stats/poliwhirl.asm | 28 + data/pokemon/base_stats/poliwrath.asm | 28 + data/pokemon/base_stats/ponyta.asm | 28 + data/pokemon/base_stats/porygon.asm | 28 + data/pokemon/base_stats/primeape.asm | 28 + data/pokemon/base_stats/psyduck.asm | 28 + data/pokemon/base_stats/raichu.asm | 28 + data/pokemon/base_stats/rapidash.asm | 28 + data/pokemon/base_stats/raticate.asm | 28 + data/pokemon/base_stats/rattata.asm | 28 + data/pokemon/base_stats/rhydon.asm | 28 + data/pokemon/base_stats/rhyhorn.asm | 28 + data/pokemon/base_stats/sandshrew.asm | 28 + data/pokemon/base_stats/sandslash.asm | 28 + data/pokemon/base_stats/scyther.asm | 28 + data/pokemon/base_stats/seadra.asm | 28 + data/pokemon/base_stats/seaking.asm | 28 + data/pokemon/base_stats/seel.asm | 28 + data/pokemon/base_stats/shellder.asm | 28 + data/pokemon/base_stats/slowbro.asm | 28 + data/pokemon/base_stats/slowpoke.asm | 28 + data/pokemon/base_stats/snorlax.asm | 28 + data/pokemon/base_stats/spearow.asm | 28 + data/pokemon/base_stats/squirtle.asm | 28 + data/pokemon/base_stats/starmie.asm | 28 + data/pokemon/base_stats/staryu.asm | 28 + data/pokemon/base_stats/tangela.asm | 28 + data/pokemon/base_stats/tauros.asm | 28 + data/pokemon/base_stats/tentacool.asm | 28 + data/pokemon/base_stats/tentacruel.asm | 28 + data/pokemon/base_stats/vaporeon.asm | 28 + data/pokemon/base_stats/venomoth.asm | 28 + data/pokemon/base_stats/venonat.asm | 28 + data/pokemon/base_stats/venusaur.asm | 28 + data/pokemon/base_stats/victreebel.asm | 28 + data/pokemon/base_stats/vileplume.asm | 28 + data/pokemon/base_stats/voltorb.asm | 28 + data/pokemon/base_stats/vulpix.asm | 28 + data/pokemon/base_stats/wartortle.asm | 28 + data/pokemon/base_stats/weedle.asm | 28 + data/pokemon/base_stats/weepinbell.asm | 28 + data/pokemon/base_stats/weezing.asm | 28 + data/pokemon/base_stats/wigglytuff.asm | 28 + data/pokemon/base_stats/zapdos.asm | 28 + data/pokemon/base_stats/zubat.asm | 28 + data/pokemon/cries.asm | 192 ++ data/pokemon/dex_entries.asm | 1259 ++++++++ data/pokemon/dex_order.asm | 191 ++ data/pokemon/dex_text.asm | 1510 +++++++++ data/pokemon/evos_moves.asm | 2134 +++++++++++++ data/pokemon/menu_icons.asm | 77 + data/pokemon/names.asm | 191 ++ data/pokemon/palettes.asm | 153 + data/pokemon/title_mons.asm | 56 + data/prize_mon_levels.asm | 19 - data/prizes.asm | 72 - data/rest_house_maps.asm | 5 - data/sgb/sgb_border.asm | 62 + data/sgb/sgb_packets.asm | 298 ++ data/sgb/sgb_palettes.asm | 174 ++ data/sgb_border.asm | 62 - data/sgb_packets.asm | 298 -- data/slot_machine_wheels.asm | 59 - data/special_warps.asm | 119 - data/sprite_facings.asm | 57 + data/sprite_sets.asm | 551 ---- data/super_palettes.asm | 174 -- data/super_rod.asm | 100 - data/text/alphabets.asm | 5 + data/text/dakutens.asm | 15 + data/text/text_1.asm | 145 + data/text/text_2.asm | 1753 +++++++++++ data/text/text_3.asm | 324 ++ data/text/text_4.asm | 217 ++ data/text/text_5.asm | 102 + data/text/text_6.asm | 228 ++ data/text/text_7.asm | 196 ++ data/text/unused_names.asm | 20 + data/tileset_headers.asm | 25 - data/tilesets/bike_riding_tilesets.asm | 2 + data/tilesets/bookshelf_tile_ids.asm | 37 + data/tilesets/collision_tile_ids.asm | 82 + data/tilesets/cut_tree_blocks.asm | 13 + data/tilesets/door_tile_ids.asm | 48 + data/tilesets/dungeon_tilesets.asm | 2 + data/tilesets/ledge_tiles.asm | 11 + data/tilesets/tileset_headers.asm | 25 + data/tilesets/warp_carpet_tile_ids.asm | 17 + data/tilesets/warp_pad_hole_tile_ids.asm | 7 + data/tilesets/warp_tile_ids.asm | 85 + data/tilesets/water_tilesets.asm | 4 + data/title_mons.asm | 56 - data/tm_prices.asm | 27 - data/tms.asm | 56 - data/town_map_entries.asm | 101 - data/town_map_order.asm | 49 - data/trades.asm | 12 - data/trainer_ai_pointers.asm | 51 - data/trainer_move_choices.asm | 50 - data/trainer_moves.asm | 32 - data/trainer_parties.asm | 696 ----- data/trainer_pic_money_pointers.asm | 143 - data/trainer_types.asm | 17 - data/trainers/ai_pointers.asm | 52 + data/trainers/encounter_types.asm | 17 + data/trainers/move_choices.asm | 50 + data/trainers/name_pointers.asm | 92 + data/trainers/names.asm | 48 + data/trainers/parties.asm | 696 +++++ data/trainers/pic_pointers_money.asm | 143 + data/trainers/special_moves.asm | 32 + data/type_effects.asm | 89 - data/types/names.asm | 48 + data/types/type_matchups.asm | 89 + data/vending_prices.asm | 7 - data/warp_carpet_tile_ids.asm | 17 - data/warp_pad_hole_tile_ids.asm | 7 - data/warp_tile_ids.asm | 85 - data/water_tilesets.asm | 4 - data/wild/good_rod.asm | 3 + data/wild/grass_water.asm | 321 ++ data/wild/probabilities.asm | 15 + data/wild/super_rod.asm | 100 + data/wildPokemon/ceruleancave1.asm | 18 - data/wildPokemon/ceruleancave2.asm | 13 - data/wildPokemon/ceruleancaveb1.asm | 18 - data/wildPokemon/diglettscave.asm | 13 - data/wildPokemon/mansion1.asm | 27 - data/wildPokemon/mansion2.asm | 27 - data/wildPokemon/mansion3.asm | 27 - data/wildPokemon/mansionb1.asm | 27 - data/wildPokemon/mtmoon1.asm | 13 - data/wildPokemon/mtmoonb1.asm | 13 - data/wildPokemon/mtmoonb2.asm | 13 - data/wildPokemon/nomons.asm | 3 - data/wildPokemon/pokemontower1.asm | 3 - data/wildPokemon/pokemontower2.asm | 3 - data/wildPokemon/pokemontower3.asm | 13 - data/wildPokemon/pokemontower4.asm | 13 - data/wildPokemon/pokemontower5.asm | 13 - data/wildPokemon/pokemontower6.asm | 13 - data/wildPokemon/pokemontower7.asm | 13 - data/wildPokemon/powerplant.asm | 19 - data/wildPokemon/rocktunnel1.asm | 13 - data/wildPokemon/rocktunnel2.asm | 13 - data/wildPokemon/route1.asm | 13 - data/wildPokemon/route10.asm | 27 - data/wildPokemon/route11.asm | 27 - data/wildPokemon/route12.asm | 27 - data/wildPokemon/route13.asm | 28 - data/wildPokemon/route14.asm | 27 - data/wildPokemon/route15.asm | 27 - data/wildPokemon/route16.asm | 13 - data/wildPokemon/route17.asm | 13 - data/wildPokemon/route18.asm | 13 - data/wildPokemon/route2.asm | 24 - data/wildPokemon/route21.asm | 23 - data/wildPokemon/route22.asm | 27 - data/wildPokemon/route23.asm | 23 - data/wildPokemon/route24.asm | 27 - data/wildPokemon/route25.asm | 27 - data/wildPokemon/route3.asm | 13 - data/wildPokemon/route4.asm | 27 - data/wildPokemon/route5.asm | 27 - data/wildPokemon/route6.asm | 27 - data/wildPokemon/route7.asm | 27 - data/wildPokemon/route8.asm | 27 - data/wildPokemon/route9.asm | 27 - data/wildPokemon/safarizone1.asm | 27 - data/wildPokemon/safarizone2.asm | 28 - data/wildPokemon/safarizone3.asm | 27 - data/wildPokemon/safarizonecenter.asm | 27 - data/wildPokemon/seafoamisland1.asm | 27 - data/wildPokemon/seafoamislandb1.asm | 27 - data/wildPokemon/seafoamislandb2.asm | 27 - data/wildPokemon/seafoamislandb3.asm | 27 - data/wildPokemon/seafoamislandb4.asm | 27 - data/wildPokemon/victoryroad1.asm | 13 - data/wildPokemon/victoryroad2.asm | 13 - data/wildPokemon/victoryroad3.asm | 13 - data/wildPokemon/viridianforest.asm | 25 - data/wildPokemon/waterpokemon.asm | 13 - data/wild_mons.asm | 321 -- data/wild_probabilities.asm | 15 - engine/battle/animations.asm | 6 +- engine/battle/battle_transitions.asm | 2 +- engine/battle/core.asm | 4 +- engine/battle/effects.asm | 4 +- engine/battle/print_type.asm | 2 +- engine/battle/save_trainer_name.asm | 2 +- engine/battle/trainer_ai.asm | 12 +- engine/battle/wild_encounters.asm | 2 +- engine/events/hidden_items.asm | 4 +- engine/events/hidden_object_functions3.asm | 2 +- engine/events/in_game_trades.asm | 2 +- engine/events/prize_menu.asm | 4 +- engine/events/saffron_guards.asm | 2 +- engine/events/set_blackout_map.asm | 2 +- engine/events/vending_machine.asm | 2 +- engine/gfx/mon_icons.asm | 4 +- engine/gfx/palettes.asm | 8 +- engine/items/item_effects.asm | 8 +- engine/items/tm_prices.asm | 2 +- engine/items/tms.asm | 2 +- engine/items/town_map.asm | 6 +- engine/menus/naming_screen.asm | 4 +- engine/menus/pokedex.asm | 4 +- engine/menus/start_sub_menus.asm | 4 +- engine/movie/credits.asm | 6 +- engine/movie/oak_speech/oak_speech2.asm | 4 +- engine/movie/title.asm | 403 +++ engine/movie/title2.asm | 120 + engine/movie/titlescreen.asm | 403 --- engine/movie/titlescreen2.asm | 120 - engine/overworld/cut.asm | 2 +- engine/overworld/doors.asm | 2 +- engine/overworld/hidden_objects.asm | 2 +- engine/overworld/ledges.asm | 2 +- engine/overworld/map_sprites.asm | 2 +- engine/overworld/player_animations.asm | 2 +- engine/overworld/player_state.asm | 6 +- engine/overworld/special_warps.asm | 2 +- engine/overworld/tilesets.asm | 4 +- engine/overworld/wild_mons.asm | 2 +- engine/pokemon/bills_pc.asm | 2 +- engine/pokemon/evos_moves.asm | 2 +- engine/slots/slot_machine.asm | 2 +- home.asm | 8 +- home/overworld.asm | 2 +- main.asm | 31 +- text.asm | 3350 ++------------------ text/AgathasRoom.asm | 44 + text/BikeShop.asm | 70 + text/BillsHouse.asm | 87 + text/BluesHouse.asm | 41 + text/BrunosRoom.asm | 37 + text/CeladonChiefHouse.asm | 22 + text/CeladonCity.asm | 152 + text/CeladonDiner.asm | 59 + text/CeladonGym.asm | 219 ++ text/CeladonHotel.asm | 21 + text/CeladonMansion1F.asm | 23 + text/CeladonMansion2F.asm | 4 + text/CeladonMansion3F.asm | 66 + text/CeladonMansionRoof.asm | 3 + text/CeladonMansionRoofHouse.asm | 10 + text/CeladonMart1F.asm | 31 + text/CeladonMart2F.asm | 22 + text/CeladonMart3F.asm | 98 + text/CeladonMart4F.asm | 26 + text/CeladonMart5F.asm | 28 + text/CeladonMartRoof.asm | 141 + text/CeladonPokecenter.asm | 12 + text/CeruleanBadgeHouse.asm | 97 + text/CeruleanCaveB1F.asm | 2 + text/CeruleanCity.asm | 233 ++ text/CeruleanGym.asm | 131 + text/CeruleanMart.asm | 19 + text/CeruleanPokecenter.asm | 24 + text/CeruleanTradeHouse.asm | 9 + text/CeruleanTrashedHouse.asm | 36 + text/ChampionsRoom.asm | 146 + text/CinnabarGym.asm | 210 ++ text/CinnabarIsland.asm | 37 + text/CinnabarLab.asm | 29 + text/CinnabarLabFossilRoom.asm | 78 + text/CinnabarLabMetronomeRoom.asm | 63 + text/CinnabarLabTradeRoom.asm | 9 + text/CinnabarMart.asm | 10 + text/CinnabarPokecenter.asm | 21 + text/CopycatsHouse1F.asm | 20 + text/CopycatsHouse2F.asm | 97 + text/Daycare.asm | 62 + text/Daycare_2.asm | 33 + text/DiglettsCaveRoute11.asm | 8 + text/DiglettsCaveRoute2.asm | 9 + text/FightingDojo.asm | 130 + text/FuchsiaBillsGrandpasHouse.asm | 27 + text/FuchsiaCity.asm | 119 + text/FuchsiaGoodRodHouse.asm | 43 + text/FuchsiaGym.asm | 26 + text/FuchsiaGym_2.asm | 193 ++ text/FuchsiaMart.asm | 14 + text/FuchsiaMeetingRoom.asm | 26 + text/FuchsiaPokecenter.asm | 20 + text/GameCorner.asm | 186 ++ text/GameCornerPrizeRoom.asm | 12 + text/HallOfFame.asm | 28 + text/IndigoPlateauLobby.asm | 25 + text/LancesRoom.asm | 63 + text/LavenderCuboneHouse.asm | 24 + text/LavenderMart.asm | 30 + text/LavenderPokecenter.asm | 12 + text/LavenderTown.asm | 64 + text/LoreleisRoom.asm | 42 + text/MrFujisHouse.asm | 86 + text/MrPsychicsHouse.asm | 25 + text/MtMoon1F.asm | 119 + text/MtMoonB1F.asm | 3 + text/MtMoonB2F.asm | 122 + text/MtMoonPokecenter.asm | 48 + text/Museum1F.asm | 107 + text/Museum2F.asm | 45 + text/NameRatersHouse.asm | 60 + text/OaksLab.asm | 477 +++ text/PalletTown.asm | 55 + text/PewterCity.asm | 117 + text/PewterGym.asm | 18 + text/PewterGym_2.asm | 144 + text/PewterMart.asm | 17 + text/PewterNidoranHouse.asm | 24 + text/PewterPokecenter.asm | 14 + text/PewterSpeechHouse.asm | 19 + text/PokemonFanClub.asm | 143 + text/PokemonMansion1F.asm | 29 + text/PokemonMansion2F.asm | 47 + text/PokemonMansion3F.asm | 37 + text/PokemonMansionB1F.asm | 39 + text/PokemonTower1F.asm | 31 + text/PokemonTower2F.asm | 57 + text/PokemonTower3F.asm | 45 + text/PokemonTower4F.asm | 45 + text/PokemonTower5F.asm | 71 + text/PokemonTower6F.asm | 61 + text/PokemonTower7F.asm | 78 + text/PowerPlant.asm | 6 + text/RedsHouse1F.asm | 37 + text/RockTunnel1F.asm | 115 + text/RockTunnelB1F.asm | 108 + text/RockTunnelB1F_2.asm | 20 + text/RockTunnelPokecenter.asm | 13 + text/RocketHideoutB1F.asm | 73 + text/RocketHideoutB2F.asm | 17 + text/RocketHideoutB3F.asm | 35 + text/RocketHideoutB4F.asm | 74 + text/RocketHideoutElevator.asm | 3 + text/Route1.asm | 49 + text/Route10.asm | 109 + text/Route11.asm | 133 + text/Route11Gate1F.asm | 14 + text/Route11Gate2F.asm | 40 + text/Route11_2.asm | 28 + text/Route12.asm | 139 + text/Route12Gate1F.asm | 4 + text/Route12Gate2F.asm | 42 + text/Route12SuperRodHouse.asm | 61 + text/Route13.asm | 179 ++ text/Route14.asm | 173 ++ text/Route15.asm | 171 + text/Route15Gate1F.asm | 7 + text/Route15Gate2F.asm | 24 + text/Route16.asm | 120 + text/Route16FlyHouse.asm | 31 + text/Route16Gate1F.asm | 22 + text/Route16Gate2F.asm | 26 + text/Route17.asm | 195 ++ text/Route18.asm | 58 + text/Route18Gate1F.asm | 14 + text/Route18Gate2F.asm | 15 + text/Route19.asm | 157 + text/Route2.asm | 9 + text/Route20.asm | 156 + text/Route21.asm | 137 + text/Route22.asm | 104 + text/Route22Gate.asm | 20 + text/Route23.asm | 39 + text/Route24.asm | 65 + text/Route24_2.asm | 90 + text/Route25.asm | 156 + text/Route2Gate.asm | 12 + text/Route2TradeHouse.asm | 6 + text/Route3.asm | 145 + text/Route4.asm | 35 + text/Route5.asm | 5 + text/Route6.asm | 97 + text/Route7.asm | 5 + text/Route8.asm | 154 + text/Route9.asm | 157 + text/SSAnne1F.asm | 21 + text/SSAnne1FRooms.asm | 104 + text/SSAnne2F.asm | 63 + text/SSAnne2FRooms.asm | 113 + text/SSAnne3F.asm | 7 + text/SSAnneB1FRooms.asm | 112 + text/SSAnneBow.asm | 52 + text/SSAnneCaptainsRoom.asm | 62 + text/SSAnneKitchen.asm | 69 + text/SafariZoneCenter.asm | 11 + text/SafariZoneCenterRestHouse.asm | 11 + text/SafariZoneEast.asm | 16 + text/SafariZoneEastRestHouse.asm | 18 + text/SafariZoneGate.asm | 94 + text/SafariZoneNorth.asm | 33 + text/SafariZoneNorthRestHouse.asm | 27 + text/SafariZoneSecretHouse.asm | 44 + text/SafariZoneWest.asm | 31 + text/SafariZoneWestRestHouse.asm | 19 + text/SaffronCity.asm | 151 + text/SaffronGates.asm | 37 + text/SaffronGym.asm | 237 ++ text/SaffronMart.asm | 13 + text/SaffronPidgeyHouse.asm | 26 + text/SaffronPokecenter.asm | 12 + text/SeafoamIslandsB4F.asm | 13 + text/SilphCo10F.asm | 42 + text/SilphCo11F.asm | 134 + text/SilphCo1F.asm | 7 + text/SilphCo2F.asm | 96 + text/SilphCo3F.asm | 46 + text/SilphCo4F.asm | 56 + text/SilphCo5F.asm | 51 + text/SilphCo5F_2.asm | 55 + text/SilphCo6F.asm | 107 + text/SilphCo7F.asm | 209 ++ text/SilphCo8F.asm | 56 + text/SilphCo9F.asm | 62 + text/UndergroundPathRoute6.asm | 5 + text/UndergroundPathRoute7.asm | 5 + text/UndergroundPathRoute7Copy.asm | 35 + text/UndergroundPathRoute8.asm | 5 + text/VermilionCity.asm | 126 + text/VermilionDock.asm | 3 + text/VermilionGym.asm | 21 + text/VermilionGym_2.asm | 144 + text/VermilionMart.asm | 23 + text/VermilionOldRodHouse.asm | 54 + text/VermilionPidgeyHouse.asm | 21 + text/VermilionPokecenter.asm | 19 + text/VictoryRoad1F.asm | 31 + text/VictoryRoad2F.asm | 85 + text/VictoryRoad3F.asm | 63 + text/ViridianCity.asm | 180 ++ text/ViridianForest.asm | 123 + text/ViridianForestNorthGate.asm | 19 + text/ViridianForestSouthGate.asm | 13 + text/ViridianGym.asm | 237 ++ text/ViridianMart.asm | 30 + text/ViridianNicknameHouse.asm | 23 + text/ViridianPokecenter.asm | 16 + text/ViridianSchoolHouse.asm | 13 + text/WardensHouse.asm | 84 + text/alphabets.asm | 5 - text/credits_text.asm | 199 -- text/dakutens.asm | 15 - text/item_names.asm | 98 - text/map_names.asm | 107 - text/maps/AgathasRoom.asm | 44 - text/maps/BikeShop.asm | 70 - text/maps/BillsHouse.asm | 87 - text/maps/BluesHouse.asm | 41 - text/maps/BrunosRoom.asm | 37 - text/maps/CeladonChiefHouse.asm | 22 - text/maps/CeladonCity.asm | 152 - text/maps/CeladonDiner.asm | 59 - text/maps/CeladonGym.asm | 219 -- text/maps/CeladonHotel.asm | 21 - text/maps/CeladonMansion1F.asm | 23 - text/maps/CeladonMansion2F.asm | 4 - text/maps/CeladonMansion3F.asm | 66 - text/maps/CeladonMansionRoof.asm | 3 - text/maps/CeladonMansionRoofHouse.asm | 10 - text/maps/CeladonMart1F.asm | 31 - text/maps/CeladonMart2F.asm | 22 - text/maps/CeladonMart3F.asm | 98 - text/maps/CeladonMart4F.asm | 26 - text/maps/CeladonMart5F.asm | 28 - text/maps/CeladonMartRoof.asm | 141 - text/maps/CeladonPokecenter.asm | 12 - text/maps/CeruleanBadgeHouse.asm | 97 - text/maps/CeruleanCaveB1F.asm | 2 - text/maps/CeruleanCity.asm | 233 -- text/maps/CeruleanGym.asm | 131 - text/maps/CeruleanMart.asm | 19 - text/maps/CeruleanPokecenter.asm | 24 - text/maps/CeruleanTradeHouse.asm | 9 - text/maps/CeruleanTrashedHouse.asm | 36 - text/maps/ChampionsRoom.asm | 146 - text/maps/CinnabarGym.asm | 210 -- text/maps/CinnabarIsland.asm | 37 - text/maps/CinnabarLab.asm | 29 - text/maps/CinnabarLabFossilRoom.asm | 78 - text/maps/CinnabarLabMetronomeRoom.asm | 63 - text/maps/CinnabarLabTradeRoom.asm | 9 - text/maps/CinnabarMart.asm | 10 - text/maps/CinnabarPokecenter.asm | 21 - text/maps/CopycatsHouse1F.asm | 20 - text/maps/CopycatsHouse2F.asm | 97 - text/maps/Daycare.asm | 62 - text/maps/Daycare_2.asm | 33 - text/maps/DiglettsCaveRoute11.asm | 8 - text/maps/DiglettsCaveRoute2.asm | 9 - text/maps/FightingDojo.asm | 130 - text/maps/FuchsiaBillsGrandpasHouse.asm | 27 - text/maps/FuchsiaCity.asm | 119 - text/maps/FuchsiaGoodRodHouse.asm | 43 - text/maps/FuchsiaGym.asm | 26 - text/maps/FuchsiaGym_2.asm | 193 -- text/maps/FuchsiaMart.asm | 14 - text/maps/FuchsiaMeetingRoom.asm | 26 - text/maps/FuchsiaPokecenter.asm | 20 - text/maps/GameCorner.asm | 186 -- text/maps/GameCornerPrizeRoom.asm | 12 - text/maps/HallOfFame.asm | 28 - text/maps/IndigoPlateauLobby.asm | 25 - text/maps/LancesRoom.asm | 63 - text/maps/LavenderCuboneHouse.asm | 24 - text/maps/LavenderMart.asm | 30 - text/maps/LavenderPokecenter.asm | 12 - text/maps/LavenderTown.asm | 64 - text/maps/LoreleisRoom.asm | 42 - text/maps/MrFujisHouse.asm | 86 - text/maps/MrPsychicsHouse.asm | 25 - text/maps/MtMoon1F.asm | 119 - text/maps/MtMoonB1F.asm | 3 - text/maps/MtMoonB2F.asm | 122 - text/maps/MtMoonPokecenter.asm | 48 - text/maps/Museum1F.asm | 107 - text/maps/Museum2F.asm | 45 - text/maps/NameRatersHouse.asm | 60 - text/maps/OaksLab.asm | 477 --- text/maps/PalletTown.asm | 55 - text/maps/PewterCity.asm | 117 - text/maps/PewterGym.asm | 18 - text/maps/PewterGym_2.asm | 144 - text/maps/PewterMart.asm | 17 - text/maps/PewterNidoranHouse.asm | 24 - text/maps/PewterPokecenter.asm | 14 - text/maps/PewterSpeechHouse.asm | 19 - text/maps/PokemonFanClub.asm | 143 - text/maps/PokemonMansion1F.asm | 29 - text/maps/PokemonMansion2F.asm | 47 - text/maps/PokemonMansion3F.asm | 37 - text/maps/PokemonMansionB1F.asm | 39 - text/maps/PokemonTower1F.asm | 31 - text/maps/PokemonTower2F.asm | 57 - text/maps/PokemonTower3F.asm | 45 - text/maps/PokemonTower4F.asm | 45 - text/maps/PokemonTower5F.asm | 71 - text/maps/PokemonTower6F.asm | 61 - text/maps/PokemonTower7F.asm | 78 - text/maps/PowerPlant.asm | 6 - text/maps/RedsHouse1F.asm | 37 - text/maps/RockTunnel1F.asm | 115 - text/maps/RockTunnelB1F.asm | 108 - text/maps/RockTunnelB1F_2.asm | 20 - text/maps/RockTunnelPokecenter.asm | 13 - text/maps/RocketHideoutB1F.asm | 73 - text/maps/RocketHideoutB2F.asm | 17 - text/maps/RocketHideoutB3F.asm | 35 - text/maps/RocketHideoutB4F.asm | 74 - text/maps/RocketHideoutElevator.asm | 3 - text/maps/Route1.asm | 49 - text/maps/Route10.asm | 109 - text/maps/Route11.asm | 133 - text/maps/Route11Gate1F.asm | 14 - text/maps/Route11Gate2F.asm | 40 - text/maps/Route11_2.asm | 28 - text/maps/Route12.asm | 139 - text/maps/Route12Gate1F.asm | 4 - text/maps/Route12Gate2F.asm | 42 - text/maps/Route12SuperRodHouse.asm | 61 - text/maps/Route13.asm | 179 -- text/maps/Route14.asm | 173 -- text/maps/Route15.asm | 171 - text/maps/Route15Gate1F.asm | 7 - text/maps/Route15Gate2F.asm | 24 - text/maps/Route16.asm | 120 - text/maps/Route16FlyHouse.asm | 31 - text/maps/Route16Gate1F.asm | 22 - text/maps/Route16Gate2F.asm | 26 - text/maps/Route17.asm | 195 -- text/maps/Route18.asm | 58 - text/maps/Route18Gate1F.asm | 14 - text/maps/Route18Gate2F.asm | 15 - text/maps/Route19.asm | 157 - text/maps/Route2.asm | 9 - text/maps/Route20.asm | 156 - text/maps/Route21.asm | 137 - text/maps/Route22.asm | 104 - text/maps/Route22Gate.asm | 20 - text/maps/Route23.asm | 39 - text/maps/Route24.asm | 65 - text/maps/Route24_2.asm | 90 - text/maps/Route25.asm | 156 - text/maps/Route2Gate.asm | 12 - text/maps/Route2TradeHouse.asm | 6 - text/maps/Route3.asm | 145 - text/maps/Route4.asm | 35 - text/maps/Route5.asm | 5 - text/maps/Route6.asm | 97 - text/maps/Route7.asm | 5 - text/maps/Route8.asm | 154 - text/maps/Route9.asm | 157 - text/maps/SSAnne1F.asm | 21 - text/maps/SSAnne1FRooms.asm | 104 - text/maps/SSAnne2F.asm | 63 - text/maps/SSAnne2FRooms.asm | 113 - text/maps/SSAnne3F.asm | 7 - text/maps/SSAnneB1FRooms.asm | 112 - text/maps/SSAnneBow.asm | 52 - text/maps/SSAnneCaptainsRoom.asm | 62 - text/maps/SSAnneKitchen.asm | 69 - text/maps/SafariZoneCenter.asm | 11 - text/maps/SafariZoneCenterRestHouse.asm | 11 - text/maps/SafariZoneEast.asm | 16 - text/maps/SafariZoneEastRestHouse.asm | 18 - text/maps/SafariZoneGate.asm | 94 - text/maps/SafariZoneNorth.asm | 33 - text/maps/SafariZoneNorthRestHouse.asm | 27 - text/maps/SafariZoneSecretHouse.asm | 44 - text/maps/SafariZoneWest.asm | 31 - text/maps/SafariZoneWestRestHouse.asm | 19 - text/maps/SaffronCity.asm | 151 - text/maps/SaffronGates.asm | 37 - text/maps/SaffronGym.asm | 237 -- text/maps/SaffronMart.asm | 13 - text/maps/SaffronPidgeyHouse.asm | 26 - text/maps/SaffronPokecenter.asm | 12 - text/maps/SeafoamIslandsB4F.asm | 13 - text/maps/SilphCo10F.asm | 42 - text/maps/SilphCo11F.asm | 134 - text/maps/SilphCo1F.asm | 7 - text/maps/SilphCo2F.asm | 96 - text/maps/SilphCo3F.asm | 46 - text/maps/SilphCo4F.asm | 56 - text/maps/SilphCo5F.asm | 51 - text/maps/SilphCo5F_2.asm | 55 - text/maps/SilphCo6F.asm | 107 - text/maps/SilphCo7F.asm | 209 -- text/maps/SilphCo8F.asm | 56 - text/maps/SilphCo9F.asm | 62 - text/maps/UndergroundPathRoute6.asm | 5 - text/maps/UndergroundPathRoute7.asm | 5 - text/maps/UndergroundPathRoute7Copy.asm | 35 - text/maps/UndergroundPathRoute8.asm | 5 - text/maps/VermilionCity.asm | 126 - text/maps/VermilionDock.asm | 3 - text/maps/VermilionGym.asm | 21 - text/maps/VermilionGym_2.asm | 144 - text/maps/VermilionMart.asm | 23 - text/maps/VermilionOldRodHouse.asm | 54 - text/maps/VermilionPidgeyHouse.asm | 21 - text/maps/VermilionPokecenter.asm | 19 - text/maps/VictoryRoad1F.asm | 31 - text/maps/VictoryRoad2F.asm | 85 - text/maps/VictoryRoad3F.asm | 63 - text/maps/ViridianCity.asm | 180 -- text/maps/ViridianForest.asm | 123 - text/maps/ViridianForestNorthGate.asm | 19 - text/maps/ViridianForestSouthGate.asm | 13 - text/maps/ViridianGym.asm | 237 -- text/maps/ViridianMart.asm | 30 - text/maps/ViridianNicknameHouse.asm | 23 - text/maps/ViridianPokecenter.asm | 16 - text/maps/ViridianSchoolHouse.asm | 13 - text/maps/WardensHouse.asm | 84 - text/monster_names.asm | 191 -- text/move_names.asm | 167 - text/oakspeech.asm | 55 - text/player_names.asm | 31 - text/player_names_list.asm | 27 - text/pokedex.asm | 1510 --------- text/stat_names.asm | 7 - text/trainer_name_pointers.asm | 92 - text/trainer_names.asm | 48 - text/type_names.asm | 48 - text/unused_names.asm | 20 - 1072 files changed, 39730 insertions(+), 39724 deletions(-) delete mode 100755 data/animations.asm delete mode 100644 data/baseStats/abra.asm delete mode 100644 data/baseStats/aerodactyl.asm delete mode 100644 data/baseStats/alakazam.asm delete mode 100644 data/baseStats/arbok.asm delete mode 100644 data/baseStats/arcanine.asm delete mode 100644 data/baseStats/articuno.asm delete mode 100644 data/baseStats/beedrill.asm delete mode 100644 data/baseStats/bellsprout.asm delete mode 100644 data/baseStats/blastoise.asm delete mode 100644 data/baseStats/bulbasaur.asm delete mode 100644 data/baseStats/butterfree.asm delete mode 100644 data/baseStats/caterpie.asm delete mode 100644 data/baseStats/chansey.asm delete mode 100644 data/baseStats/charizard.asm delete mode 100644 data/baseStats/charmander.asm delete mode 100644 data/baseStats/charmeleon.asm delete mode 100644 data/baseStats/clefable.asm delete mode 100644 data/baseStats/clefairy.asm delete mode 100644 data/baseStats/cloyster.asm delete mode 100644 data/baseStats/cubone.asm delete mode 100644 data/baseStats/dewgong.asm delete mode 100644 data/baseStats/diglett.asm delete mode 100644 data/baseStats/ditto.asm delete mode 100644 data/baseStats/dodrio.asm delete mode 100644 data/baseStats/doduo.asm delete mode 100644 data/baseStats/dragonair.asm delete mode 100644 data/baseStats/dragonite.asm delete mode 100644 data/baseStats/dratini.asm delete mode 100644 data/baseStats/drowzee.asm delete mode 100644 data/baseStats/dugtrio.asm delete mode 100644 data/baseStats/eevee.asm delete mode 100644 data/baseStats/ekans.asm delete mode 100644 data/baseStats/electabuzz.asm delete mode 100644 data/baseStats/electrode.asm delete mode 100644 data/baseStats/exeggcute.asm delete mode 100644 data/baseStats/exeggutor.asm delete mode 100644 data/baseStats/farfetchd.asm delete mode 100644 data/baseStats/fearow.asm delete mode 100644 data/baseStats/flareon.asm delete mode 100644 data/baseStats/gastly.asm delete mode 100644 data/baseStats/gengar.asm delete mode 100644 data/baseStats/geodude.asm delete mode 100644 data/baseStats/gloom.asm delete mode 100644 data/baseStats/golbat.asm delete mode 100644 data/baseStats/goldeen.asm delete mode 100644 data/baseStats/golduck.asm delete mode 100644 data/baseStats/golem.asm delete mode 100644 data/baseStats/graveler.asm delete mode 100644 data/baseStats/grimer.asm delete mode 100644 data/baseStats/growlithe.asm delete mode 100644 data/baseStats/gyarados.asm delete mode 100644 data/baseStats/haunter.asm delete mode 100644 data/baseStats/hitmonchan.asm delete mode 100644 data/baseStats/hitmonlee.asm delete mode 100644 data/baseStats/horsea.asm delete mode 100644 data/baseStats/hypno.asm delete mode 100644 data/baseStats/ivysaur.asm delete mode 100644 data/baseStats/jigglypuff.asm delete mode 100644 data/baseStats/jolteon.asm delete mode 100644 data/baseStats/jynx.asm delete mode 100644 data/baseStats/kabuto.asm delete mode 100644 data/baseStats/kabutops.asm delete mode 100644 data/baseStats/kadabra.asm delete mode 100644 data/baseStats/kakuna.asm delete mode 100644 data/baseStats/kangaskhan.asm delete mode 100644 data/baseStats/kingler.asm delete mode 100644 data/baseStats/koffing.asm delete mode 100644 data/baseStats/krabby.asm delete mode 100644 data/baseStats/lapras.asm delete mode 100644 data/baseStats/lickitung.asm delete mode 100644 data/baseStats/machamp.asm delete mode 100644 data/baseStats/machoke.asm delete mode 100644 data/baseStats/machop.asm delete mode 100644 data/baseStats/magikarp.asm delete mode 100644 data/baseStats/magmar.asm delete mode 100644 data/baseStats/magnemite.asm delete mode 100644 data/baseStats/magneton.asm delete mode 100644 data/baseStats/mankey.asm delete mode 100644 data/baseStats/marowak.asm delete mode 100644 data/baseStats/meowth.asm delete mode 100644 data/baseStats/metapod.asm delete mode 100644 data/baseStats/mew.asm delete mode 100644 data/baseStats/mewtwo.asm delete mode 100644 data/baseStats/moltres.asm delete mode 100644 data/baseStats/mrmime.asm delete mode 100644 data/baseStats/muk.asm delete mode 100644 data/baseStats/nidoking.asm delete mode 100644 data/baseStats/nidoqueen.asm delete mode 100644 data/baseStats/nidoranf.asm delete mode 100644 data/baseStats/nidoranm.asm delete mode 100644 data/baseStats/nidorina.asm delete mode 100644 data/baseStats/nidorino.asm delete mode 100644 data/baseStats/ninetales.asm delete mode 100644 data/baseStats/oddish.asm delete mode 100644 data/baseStats/omanyte.asm delete mode 100644 data/baseStats/omastar.asm delete mode 100644 data/baseStats/onix.asm delete mode 100644 data/baseStats/paras.asm delete mode 100644 data/baseStats/parasect.asm delete mode 100644 data/baseStats/persian.asm delete mode 100644 data/baseStats/pidgeot.asm delete mode 100644 data/baseStats/pidgeotto.asm delete mode 100644 data/baseStats/pidgey.asm delete mode 100644 data/baseStats/pikachu.asm delete mode 100644 data/baseStats/pinsir.asm delete mode 100644 data/baseStats/poliwag.asm delete mode 100644 data/baseStats/poliwhirl.asm delete mode 100644 data/baseStats/poliwrath.asm delete mode 100644 data/baseStats/ponyta.asm delete mode 100644 data/baseStats/porygon.asm delete mode 100644 data/baseStats/primeape.asm delete mode 100644 data/baseStats/psyduck.asm delete mode 100644 data/baseStats/raichu.asm delete mode 100644 data/baseStats/rapidash.asm delete mode 100644 data/baseStats/raticate.asm delete mode 100644 data/baseStats/rattata.asm delete mode 100644 data/baseStats/rhydon.asm delete mode 100644 data/baseStats/rhyhorn.asm delete mode 100644 data/baseStats/sandshrew.asm delete mode 100644 data/baseStats/sandslash.asm delete mode 100644 data/baseStats/scyther.asm delete mode 100644 data/baseStats/seadra.asm delete mode 100644 data/baseStats/seaking.asm delete mode 100644 data/baseStats/seel.asm delete mode 100644 data/baseStats/shellder.asm delete mode 100644 data/baseStats/slowbro.asm delete mode 100644 data/baseStats/slowpoke.asm delete mode 100644 data/baseStats/snorlax.asm delete mode 100644 data/baseStats/spearow.asm delete mode 100644 data/baseStats/squirtle.asm delete mode 100644 data/baseStats/starmie.asm delete mode 100644 data/baseStats/staryu.asm delete mode 100644 data/baseStats/tangela.asm delete mode 100644 data/baseStats/tauros.asm delete mode 100644 data/baseStats/tentacool.asm delete mode 100644 data/baseStats/tentacruel.asm delete mode 100644 data/baseStats/vaporeon.asm delete mode 100644 data/baseStats/venomoth.asm delete mode 100644 data/baseStats/venonat.asm delete mode 100644 data/baseStats/venusaur.asm delete mode 100644 data/baseStats/victreebel.asm delete mode 100644 data/baseStats/vileplume.asm delete mode 100644 data/baseStats/voltorb.asm delete mode 100644 data/baseStats/vulpix.asm delete mode 100644 data/baseStats/wartortle.asm delete mode 100644 data/baseStats/weedle.asm delete mode 100644 data/baseStats/weepinbell.asm delete mode 100644 data/baseStats/weezing.asm delete mode 100644 data/baseStats/wigglytuff.asm delete mode 100644 data/baseStats/zapdos.asm delete mode 100644 data/baseStats/zubat.asm delete mode 100755 data/base_stats.asm create mode 100644 data/battle/stat_names.asm delete mode 100755 data/bike_riding_tilesets.asm delete mode 100644 data/bookshelf_tile_ids.asm delete mode 100644 data/collision_tile_ids.asm delete mode 100755 data/credit_mons.asm create mode 100755 data/credits/credits_mons.asm create mode 100755 data/credits/credits_order.asm create mode 100755 data/credits/credits_text.asm delete mode 100755 data/credits_order.asm delete mode 100755 data/cries.asm delete mode 100644 data/cut_tree_blocks.asm delete mode 100644 data/door_tile_ids.asm delete mode 100644 data/dungeon_maps.asm delete mode 100755 data/dungeon_tilesets.asm delete mode 100644 data/effects_pointers.asm create mode 100755 data/events/hidden_coins.asm create mode 100755 data/events/hidden_item_coords.asm create mode 100755 data/events/hidden_objects.asm create mode 100755 data/events/prize_mon_levels.asm create mode 100755 data/events/prizes.asm create mode 100755 data/events/slot_machine_wheels.asm create mode 100755 data/events/trades.asm delete mode 100755 data/evos_moves.asm delete mode 100644 data/facing.asm delete mode 100755 data/force_bike_surf.asm delete mode 100755 data/good_rod.asm delete mode 100644 data/guard_drink_items.asm delete mode 100755 data/hidden_coins.asm delete mode 100755 data/hidden_item_coords.asm delete mode 100755 data/hidden_objects.asm delete mode 100755 data/hide_show_data.asm delete mode 100644 data/hm_moves.asm create mode 100644 data/icon_pointers.asm delete mode 100755 data/item_prices.asm create mode 100644 data/items/guard_drink_items.asm create mode 100755 data/items/key_items.asm create mode 100755 data/items/marts.asm create mode 100755 data/items/names.asm create mode 100755 data/items/prices.asm create mode 100755 data/items/tm_prices.asm create mode 100644 data/items/use_overworld.asm create mode 100644 data/items/use_party.asm create mode 100644 data/items/vending_prices.asm delete mode 100755 data/key_items.asm delete mode 100644 data/ledge_tiles.asm create mode 100644 data/mapWilds/CeruleanCave1F.asm create mode 100644 data/mapWilds/CeruleanCave2F.asm create mode 100644 data/mapWilds/CeruleanCaveB1F.asm create mode 100755 data/mapWilds/DiglettsCave.asm create mode 100755 data/mapWilds/MtMoon1F.asm create mode 100755 data/mapWilds/MtMoonB1F.asm create mode 100755 data/mapWilds/MtMoonB2F.asm create mode 100755 data/mapWilds/PokemonMansion1F.asm create mode 100755 data/mapWilds/PokemonMansion2F.asm create mode 100755 data/mapWilds/PokemonMansion3F.asm create mode 100755 data/mapWilds/PokemonMansionB1F.asm create mode 100755 data/mapWilds/PokemonTower1F.asm create mode 100755 data/mapWilds/PokemonTower2F.asm create mode 100755 data/mapWilds/PokemonTower3F.asm create mode 100755 data/mapWilds/PokemonTower4F.asm create mode 100755 data/mapWilds/PokemonTower5F.asm create mode 100755 data/mapWilds/PokemonTower6F.asm create mode 100755 data/mapWilds/PokemonTower7F.asm create mode 100755 data/mapWilds/PowerPlant.asm create mode 100755 data/mapWilds/RockTunnel1F.asm create mode 100755 data/mapWilds/RockTunnelB1F.asm create mode 100755 data/mapWilds/Route1.asm create mode 100755 data/mapWilds/Route10.asm create mode 100755 data/mapWilds/Route11.asm create mode 100755 data/mapWilds/Route12.asm create mode 100755 data/mapWilds/Route13.asm create mode 100755 data/mapWilds/Route14.asm create mode 100755 data/mapWilds/Route15.asm create mode 100755 data/mapWilds/Route16.asm create mode 100755 data/mapWilds/Route17.asm create mode 100755 data/mapWilds/Route18.asm create mode 100755 data/mapWilds/Route2.asm create mode 100755 data/mapWilds/Route21.asm create mode 100755 data/mapWilds/Route22.asm create mode 100755 data/mapWilds/Route23.asm create mode 100755 data/mapWilds/Route24.asm create mode 100755 data/mapWilds/Route25.asm create mode 100755 data/mapWilds/Route3.asm create mode 100755 data/mapWilds/Route4.asm create mode 100755 data/mapWilds/Route5.asm create mode 100755 data/mapWilds/Route6.asm create mode 100755 data/mapWilds/Route7.asm create mode 100755 data/mapWilds/Route8.asm create mode 100755 data/mapWilds/Route9.asm create mode 100755 data/mapWilds/SafariZoneCenter.asm create mode 100755 data/mapWilds/SafariZoneEast.asm create mode 100755 data/mapWilds/SafariZoneNorth.asm create mode 100755 data/mapWilds/SafariZoneWest.asm create mode 100755 data/mapWilds/SeaRoutes.asm create mode 100755 data/mapWilds/SeafoamIslands1F.asm create mode 100755 data/mapWilds/SeafoamIslandsB1F.asm create mode 100755 data/mapWilds/SeafoamIslandsB2F.asm create mode 100755 data/mapWilds/SeafoamIslandsB3F.asm create mode 100755 data/mapWilds/SeafoamIslandsB4F.asm create mode 100755 data/mapWilds/VictoryRoad1F.asm create mode 100755 data/mapWilds/VictoryRoad2F.asm create mode 100755 data/mapWilds/VictoryRoad3F.asm create mode 100755 data/mapWilds/ViridianForest.asm create mode 100755 data/mapWilds/nothing.asm delete mode 100755 data/map_header_banks.asm delete mode 100755 data/map_header_pointers.asm delete mode 100755 data/map_songs.asm create mode 100644 data/maps/dungeon_maps.asm create mode 100755 data/maps/force_bike_surf.asm create mode 100755 data/maps/hide_show_data.asm create mode 100755 data/maps/map_header_banks.asm create mode 100755 data/maps/map_header_pointers.asm create mode 100755 data/maps/names.asm create mode 100644 data/maps/rest_house_maps.asm create mode 100755 data/maps/songs.asm create mode 100755 data/maps/special_warps.asm create mode 100755 data/maps/sprite_sets.asm create mode 100755 data/maps/town_map_entries.asm create mode 100755 data/maps/town_map_order.asm delete mode 100755 data/mart_inventories.asm delete mode 100755 data/mon_palettes.asm delete mode 100644 data/mon_party_sprite_pointers.asm delete mode 100755 data/mon_party_sprites.asm delete mode 100644 data/move_animation_pointers.asm delete mode 100644 data/move_animation_special_effects.asm delete mode 100644 data/move_grammar.asm delete mode 100644 data/move_sfx.asm delete mode 100755 data/moves.asm create mode 100644 data/moves/animation_special_effect_pointers.asm create mode 100644 data/moves/animation_special_effects.asm create mode 100755 data/moves/animations.asm create mode 100644 data/moves/effects_pointers.asm create mode 100644 data/moves/grammar.asm create mode 100644 data/moves/hm_moves.asm create mode 100755 data/moves/moves.asm create mode 100644 data/moves/names.asm create mode 100644 data/moves/sfx.asm create mode 100755 data/moves/tmhm_moves.asm delete mode 100644 data/overworld_items.asm delete mode 100644 data/party_items.asm create mode 100644 data/player_names.asm create mode 100644 data/player_names_list.asm delete mode 100755 data/pokedex_entries.asm delete mode 100755 data/pokedex_order.asm create mode 100755 data/pokemon/base_stats.asm create mode 100644 data/pokemon/base_stats/abra.asm create mode 100644 data/pokemon/base_stats/aerodactyl.asm create mode 100644 data/pokemon/base_stats/alakazam.asm create mode 100644 data/pokemon/base_stats/arbok.asm create mode 100644 data/pokemon/base_stats/arcanine.asm create mode 100644 data/pokemon/base_stats/articuno.asm create mode 100644 data/pokemon/base_stats/beedrill.asm create mode 100644 data/pokemon/base_stats/bellsprout.asm create mode 100644 data/pokemon/base_stats/blastoise.asm create mode 100644 data/pokemon/base_stats/bulbasaur.asm create mode 100644 data/pokemon/base_stats/butterfree.asm create mode 100644 data/pokemon/base_stats/caterpie.asm create mode 100644 data/pokemon/base_stats/chansey.asm create mode 100644 data/pokemon/base_stats/charizard.asm create mode 100644 data/pokemon/base_stats/charmander.asm create mode 100644 data/pokemon/base_stats/charmeleon.asm create mode 100644 data/pokemon/base_stats/clefable.asm create mode 100644 data/pokemon/base_stats/clefairy.asm create mode 100644 data/pokemon/base_stats/cloyster.asm create mode 100644 data/pokemon/base_stats/cubone.asm create mode 100644 data/pokemon/base_stats/dewgong.asm create mode 100644 data/pokemon/base_stats/diglett.asm create mode 100644 data/pokemon/base_stats/ditto.asm create mode 100644 data/pokemon/base_stats/dodrio.asm create mode 100644 data/pokemon/base_stats/doduo.asm create mode 100644 data/pokemon/base_stats/dragonair.asm create mode 100644 data/pokemon/base_stats/dragonite.asm create mode 100644 data/pokemon/base_stats/dratini.asm create mode 100644 data/pokemon/base_stats/drowzee.asm create mode 100644 data/pokemon/base_stats/dugtrio.asm create mode 100644 data/pokemon/base_stats/eevee.asm create mode 100644 data/pokemon/base_stats/ekans.asm create mode 100644 data/pokemon/base_stats/electabuzz.asm create mode 100644 data/pokemon/base_stats/electrode.asm create mode 100644 data/pokemon/base_stats/exeggcute.asm create mode 100644 data/pokemon/base_stats/exeggutor.asm create mode 100644 data/pokemon/base_stats/farfetchd.asm create mode 100644 data/pokemon/base_stats/fearow.asm create mode 100644 data/pokemon/base_stats/flareon.asm create mode 100644 data/pokemon/base_stats/gastly.asm create mode 100644 data/pokemon/base_stats/gengar.asm create mode 100644 data/pokemon/base_stats/geodude.asm create mode 100644 data/pokemon/base_stats/gloom.asm create mode 100644 data/pokemon/base_stats/golbat.asm create mode 100644 data/pokemon/base_stats/goldeen.asm create mode 100644 data/pokemon/base_stats/golduck.asm create mode 100644 data/pokemon/base_stats/golem.asm create mode 100644 data/pokemon/base_stats/graveler.asm create mode 100644 data/pokemon/base_stats/grimer.asm create mode 100644 data/pokemon/base_stats/growlithe.asm create mode 100644 data/pokemon/base_stats/gyarados.asm create mode 100644 data/pokemon/base_stats/haunter.asm create mode 100644 data/pokemon/base_stats/hitmonchan.asm create mode 100644 data/pokemon/base_stats/hitmonlee.asm create mode 100644 data/pokemon/base_stats/horsea.asm create mode 100644 data/pokemon/base_stats/hypno.asm create mode 100644 data/pokemon/base_stats/ivysaur.asm create mode 100644 data/pokemon/base_stats/jigglypuff.asm create mode 100644 data/pokemon/base_stats/jolteon.asm create mode 100644 data/pokemon/base_stats/jynx.asm create mode 100644 data/pokemon/base_stats/kabuto.asm create mode 100644 data/pokemon/base_stats/kabutops.asm create mode 100644 data/pokemon/base_stats/kadabra.asm create mode 100644 data/pokemon/base_stats/kakuna.asm create mode 100644 data/pokemon/base_stats/kangaskhan.asm create mode 100644 data/pokemon/base_stats/kingler.asm create mode 100644 data/pokemon/base_stats/koffing.asm create mode 100644 data/pokemon/base_stats/krabby.asm create mode 100644 data/pokemon/base_stats/lapras.asm create mode 100644 data/pokemon/base_stats/lickitung.asm create mode 100644 data/pokemon/base_stats/machamp.asm create mode 100644 data/pokemon/base_stats/machoke.asm create mode 100644 data/pokemon/base_stats/machop.asm create mode 100644 data/pokemon/base_stats/magikarp.asm create mode 100644 data/pokemon/base_stats/magmar.asm create mode 100644 data/pokemon/base_stats/magnemite.asm create mode 100644 data/pokemon/base_stats/magneton.asm create mode 100644 data/pokemon/base_stats/mankey.asm create mode 100644 data/pokemon/base_stats/marowak.asm create mode 100644 data/pokemon/base_stats/meowth.asm create mode 100644 data/pokemon/base_stats/metapod.asm create mode 100644 data/pokemon/base_stats/mew.asm create mode 100644 data/pokemon/base_stats/mewtwo.asm create mode 100644 data/pokemon/base_stats/moltres.asm create mode 100644 data/pokemon/base_stats/mrmime.asm create mode 100644 data/pokemon/base_stats/muk.asm create mode 100644 data/pokemon/base_stats/nidoking.asm create mode 100644 data/pokemon/base_stats/nidoqueen.asm create mode 100644 data/pokemon/base_stats/nidoranf.asm create mode 100644 data/pokemon/base_stats/nidoranm.asm create mode 100644 data/pokemon/base_stats/nidorina.asm create mode 100644 data/pokemon/base_stats/nidorino.asm create mode 100644 data/pokemon/base_stats/ninetales.asm create mode 100644 data/pokemon/base_stats/oddish.asm create mode 100644 data/pokemon/base_stats/omanyte.asm create mode 100644 data/pokemon/base_stats/omastar.asm create mode 100644 data/pokemon/base_stats/onix.asm create mode 100644 data/pokemon/base_stats/paras.asm create mode 100644 data/pokemon/base_stats/parasect.asm create mode 100644 data/pokemon/base_stats/persian.asm create mode 100644 data/pokemon/base_stats/pidgeot.asm create mode 100644 data/pokemon/base_stats/pidgeotto.asm create mode 100644 data/pokemon/base_stats/pidgey.asm create mode 100644 data/pokemon/base_stats/pikachu.asm create mode 100644 data/pokemon/base_stats/pinsir.asm create mode 100644 data/pokemon/base_stats/poliwag.asm create mode 100644 data/pokemon/base_stats/poliwhirl.asm create mode 100644 data/pokemon/base_stats/poliwrath.asm create mode 100644 data/pokemon/base_stats/ponyta.asm create mode 100644 data/pokemon/base_stats/porygon.asm create mode 100644 data/pokemon/base_stats/primeape.asm create mode 100644 data/pokemon/base_stats/psyduck.asm create mode 100644 data/pokemon/base_stats/raichu.asm create mode 100644 data/pokemon/base_stats/rapidash.asm create mode 100644 data/pokemon/base_stats/raticate.asm create mode 100644 data/pokemon/base_stats/rattata.asm create mode 100644 data/pokemon/base_stats/rhydon.asm create mode 100644 data/pokemon/base_stats/rhyhorn.asm create mode 100644 data/pokemon/base_stats/sandshrew.asm create mode 100644 data/pokemon/base_stats/sandslash.asm create mode 100644 data/pokemon/base_stats/scyther.asm create mode 100644 data/pokemon/base_stats/seadra.asm create mode 100644 data/pokemon/base_stats/seaking.asm create mode 100644 data/pokemon/base_stats/seel.asm create mode 100644 data/pokemon/base_stats/shellder.asm create mode 100644 data/pokemon/base_stats/slowbro.asm create mode 100644 data/pokemon/base_stats/slowpoke.asm create mode 100644 data/pokemon/base_stats/snorlax.asm create mode 100644 data/pokemon/base_stats/spearow.asm create mode 100644 data/pokemon/base_stats/squirtle.asm create mode 100644 data/pokemon/base_stats/starmie.asm create mode 100644 data/pokemon/base_stats/staryu.asm create mode 100644 data/pokemon/base_stats/tangela.asm create mode 100644 data/pokemon/base_stats/tauros.asm create mode 100644 data/pokemon/base_stats/tentacool.asm create mode 100644 data/pokemon/base_stats/tentacruel.asm create mode 100644 data/pokemon/base_stats/vaporeon.asm create mode 100644 data/pokemon/base_stats/venomoth.asm create mode 100644 data/pokemon/base_stats/venonat.asm create mode 100644 data/pokemon/base_stats/venusaur.asm create mode 100644 data/pokemon/base_stats/victreebel.asm create mode 100644 data/pokemon/base_stats/vileplume.asm create mode 100644 data/pokemon/base_stats/voltorb.asm create mode 100644 data/pokemon/base_stats/vulpix.asm create mode 100644 data/pokemon/base_stats/wartortle.asm create mode 100644 data/pokemon/base_stats/weedle.asm create mode 100644 data/pokemon/base_stats/weepinbell.asm create mode 100644 data/pokemon/base_stats/weezing.asm create mode 100644 data/pokemon/base_stats/wigglytuff.asm create mode 100644 data/pokemon/base_stats/zapdos.asm create mode 100644 data/pokemon/base_stats/zubat.asm create mode 100755 data/pokemon/cries.asm create mode 100755 data/pokemon/dex_entries.asm create mode 100755 data/pokemon/dex_order.asm create mode 100644 data/pokemon/dex_text.asm create mode 100755 data/pokemon/evos_moves.asm create mode 100755 data/pokemon/menu_icons.asm create mode 100755 data/pokemon/names.asm create mode 100755 data/pokemon/palettes.asm create mode 100755 data/pokemon/title_mons.asm delete mode 100755 data/prize_mon_levels.asm delete mode 100755 data/prizes.asm delete mode 100644 data/rest_house_maps.asm create mode 100755 data/sgb/sgb_border.asm create mode 100755 data/sgb/sgb_packets.asm create mode 100755 data/sgb/sgb_palettes.asm delete mode 100755 data/sgb_border.asm delete mode 100755 data/sgb_packets.asm delete mode 100755 data/slot_machine_wheels.asm delete mode 100755 data/special_warps.asm create mode 100644 data/sprite_facings.asm delete mode 100755 data/sprite_sets.asm delete mode 100755 data/super_palettes.asm delete mode 100755 data/super_rod.asm create mode 100644 data/text/alphabets.asm create mode 100644 data/text/dakutens.asm create mode 100644 data/text/text_1.asm create mode 100644 data/text/text_2.asm create mode 100644 data/text/text_3.asm create mode 100644 data/text/text_4.asm create mode 100644 data/text/text_5.asm create mode 100644 data/text/text_6.asm create mode 100644 data/text/text_7.asm create mode 100644 data/text/unused_names.asm delete mode 100755 data/tileset_headers.asm create mode 100755 data/tilesets/bike_riding_tilesets.asm create mode 100644 data/tilesets/bookshelf_tile_ids.asm create mode 100644 data/tilesets/collision_tile_ids.asm create mode 100644 data/tilesets/cut_tree_blocks.asm create mode 100644 data/tilesets/door_tile_ids.asm create mode 100755 data/tilesets/dungeon_tilesets.asm create mode 100644 data/tilesets/ledge_tiles.asm create mode 100755 data/tilesets/tileset_headers.asm create mode 100644 data/tilesets/warp_carpet_tile_ids.asm create mode 100644 data/tilesets/warp_pad_hole_tile_ids.asm create mode 100755 data/tilesets/warp_tile_ids.asm create mode 100644 data/tilesets/water_tilesets.asm delete mode 100755 data/title_mons.asm delete mode 100755 data/tm_prices.asm delete mode 100755 data/tms.asm delete mode 100755 data/town_map_entries.asm delete mode 100755 data/town_map_order.asm delete mode 100755 data/trades.asm delete mode 100644 data/trainer_ai_pointers.asm delete mode 100644 data/trainer_move_choices.asm delete mode 100755 data/trainer_moves.asm delete mode 100755 data/trainer_parties.asm delete mode 100755 data/trainer_pic_money_pointers.asm delete mode 100755 data/trainer_types.asm create mode 100644 data/trainers/ai_pointers.asm create mode 100755 data/trainers/encounter_types.asm create mode 100644 data/trainers/move_choices.asm create mode 100644 data/trainers/name_pointers.asm create mode 100755 data/trainers/names.asm create mode 100755 data/trainers/parties.asm create mode 100755 data/trainers/pic_pointers_money.asm create mode 100755 data/trainers/special_moves.asm delete mode 100755 data/type_effects.asm create mode 100755 data/types/names.asm create mode 100755 data/types/type_matchups.asm delete mode 100644 data/vending_prices.asm delete mode 100644 data/warp_carpet_tile_ids.asm delete mode 100644 data/warp_pad_hole_tile_ids.asm delete mode 100755 data/warp_tile_ids.asm delete mode 100644 data/water_tilesets.asm create mode 100755 data/wild/good_rod.asm create mode 100755 data/wild/grass_water.asm create mode 100644 data/wild/probabilities.asm create mode 100755 data/wild/super_rod.asm delete mode 100644 data/wildPokemon/ceruleancave1.asm delete mode 100644 data/wildPokemon/ceruleancave2.asm delete mode 100644 data/wildPokemon/ceruleancaveb1.asm delete mode 100755 data/wildPokemon/diglettscave.asm delete mode 100755 data/wildPokemon/mansion1.asm delete mode 100755 data/wildPokemon/mansion2.asm delete mode 100755 data/wildPokemon/mansion3.asm delete mode 100755 data/wildPokemon/mansionb1.asm delete mode 100755 data/wildPokemon/mtmoon1.asm delete mode 100755 data/wildPokemon/mtmoonb1.asm delete mode 100755 data/wildPokemon/mtmoonb2.asm delete mode 100755 data/wildPokemon/nomons.asm delete mode 100755 data/wildPokemon/pokemontower1.asm delete mode 100755 data/wildPokemon/pokemontower2.asm delete mode 100755 data/wildPokemon/pokemontower3.asm delete mode 100755 data/wildPokemon/pokemontower4.asm delete mode 100755 data/wildPokemon/pokemontower5.asm delete mode 100755 data/wildPokemon/pokemontower6.asm delete mode 100755 data/wildPokemon/pokemontower7.asm delete mode 100755 data/wildPokemon/powerplant.asm delete mode 100755 data/wildPokemon/rocktunnel1.asm delete mode 100755 data/wildPokemon/rocktunnel2.asm delete mode 100755 data/wildPokemon/route1.asm delete mode 100755 data/wildPokemon/route10.asm delete mode 100755 data/wildPokemon/route11.asm delete mode 100755 data/wildPokemon/route12.asm delete mode 100755 data/wildPokemon/route13.asm delete mode 100755 data/wildPokemon/route14.asm delete mode 100755 data/wildPokemon/route15.asm delete mode 100755 data/wildPokemon/route16.asm delete mode 100755 data/wildPokemon/route17.asm delete mode 100755 data/wildPokemon/route18.asm delete mode 100755 data/wildPokemon/route2.asm delete mode 100755 data/wildPokemon/route21.asm delete mode 100755 data/wildPokemon/route22.asm delete mode 100755 data/wildPokemon/route23.asm delete mode 100755 data/wildPokemon/route24.asm delete mode 100755 data/wildPokemon/route25.asm delete mode 100755 data/wildPokemon/route3.asm delete mode 100755 data/wildPokemon/route4.asm delete mode 100755 data/wildPokemon/route5.asm delete mode 100755 data/wildPokemon/route6.asm delete mode 100755 data/wildPokemon/route7.asm delete mode 100755 data/wildPokemon/route8.asm delete mode 100755 data/wildPokemon/route9.asm delete mode 100755 data/wildPokemon/safarizone1.asm delete mode 100755 data/wildPokemon/safarizone2.asm delete mode 100755 data/wildPokemon/safarizone3.asm delete mode 100755 data/wildPokemon/safarizonecenter.asm delete mode 100755 data/wildPokemon/seafoamisland1.asm delete mode 100755 data/wildPokemon/seafoamislandb1.asm delete mode 100755 data/wildPokemon/seafoamislandb2.asm delete mode 100755 data/wildPokemon/seafoamislandb3.asm delete mode 100755 data/wildPokemon/seafoamislandb4.asm delete mode 100755 data/wildPokemon/victoryroad1.asm delete mode 100755 data/wildPokemon/victoryroad2.asm delete mode 100755 data/wildPokemon/victoryroad3.asm delete mode 100755 data/wildPokemon/viridianforest.asm delete mode 100755 data/wildPokemon/waterpokemon.asm delete mode 100755 data/wild_mons.asm delete mode 100644 data/wild_probabilities.asm create mode 100755 engine/movie/title.asm create mode 100755 engine/movie/title2.asm delete mode 100755 engine/movie/titlescreen.asm delete mode 100755 engine/movie/titlescreen2.asm create mode 100644 text/AgathasRoom.asm create mode 100644 text/BikeShop.asm create mode 100644 text/BillsHouse.asm create mode 100644 text/BluesHouse.asm create mode 100644 text/BrunosRoom.asm create mode 100644 text/CeladonChiefHouse.asm create mode 100644 text/CeladonCity.asm create mode 100644 text/CeladonDiner.asm create mode 100644 text/CeladonGym.asm create mode 100644 text/CeladonHotel.asm create mode 100644 text/CeladonMansion1F.asm create mode 100644 text/CeladonMansion2F.asm create mode 100644 text/CeladonMansion3F.asm create mode 100644 text/CeladonMansionRoof.asm create mode 100644 text/CeladonMansionRoofHouse.asm create mode 100644 text/CeladonMart1F.asm create mode 100644 text/CeladonMart2F.asm create mode 100644 text/CeladonMart3F.asm create mode 100644 text/CeladonMart4F.asm create mode 100644 text/CeladonMart5F.asm create mode 100644 text/CeladonMartRoof.asm create mode 100644 text/CeladonPokecenter.asm create mode 100644 text/CeruleanBadgeHouse.asm create mode 100644 text/CeruleanCaveB1F.asm create mode 100644 text/CeruleanCity.asm create mode 100644 text/CeruleanGym.asm create mode 100644 text/CeruleanMart.asm create mode 100644 text/CeruleanPokecenter.asm create mode 100644 text/CeruleanTradeHouse.asm create mode 100644 text/CeruleanTrashedHouse.asm create mode 100644 text/ChampionsRoom.asm create mode 100644 text/CinnabarGym.asm create mode 100644 text/CinnabarIsland.asm create mode 100644 text/CinnabarLab.asm create mode 100644 text/CinnabarLabFossilRoom.asm create mode 100644 text/CinnabarLabMetronomeRoom.asm create mode 100644 text/CinnabarLabTradeRoom.asm create mode 100644 text/CinnabarMart.asm create mode 100644 text/CinnabarPokecenter.asm create mode 100644 text/CopycatsHouse1F.asm create mode 100644 text/CopycatsHouse2F.asm create mode 100644 text/Daycare.asm create mode 100644 text/Daycare_2.asm create mode 100644 text/DiglettsCaveRoute11.asm create mode 100644 text/DiglettsCaveRoute2.asm create mode 100644 text/FightingDojo.asm create mode 100644 text/FuchsiaBillsGrandpasHouse.asm create mode 100644 text/FuchsiaCity.asm create mode 100644 text/FuchsiaGoodRodHouse.asm create mode 100644 text/FuchsiaGym.asm create mode 100644 text/FuchsiaGym_2.asm create mode 100644 text/FuchsiaMart.asm create mode 100644 text/FuchsiaMeetingRoom.asm create mode 100644 text/FuchsiaPokecenter.asm create mode 100644 text/GameCorner.asm create mode 100644 text/GameCornerPrizeRoom.asm create mode 100644 text/HallOfFame.asm create mode 100644 text/IndigoPlateauLobby.asm create mode 100644 text/LancesRoom.asm create mode 100644 text/LavenderCuboneHouse.asm create mode 100644 text/LavenderMart.asm create mode 100644 text/LavenderPokecenter.asm create mode 100644 text/LavenderTown.asm create mode 100644 text/LoreleisRoom.asm create mode 100644 text/MrFujisHouse.asm create mode 100644 text/MrPsychicsHouse.asm create mode 100644 text/MtMoon1F.asm create mode 100644 text/MtMoonB1F.asm create mode 100644 text/MtMoonB2F.asm create mode 100644 text/MtMoonPokecenter.asm create mode 100644 text/Museum1F.asm create mode 100644 text/Museum2F.asm create mode 100644 text/NameRatersHouse.asm create mode 100644 text/OaksLab.asm create mode 100644 text/PalletTown.asm create mode 100644 text/PewterCity.asm create mode 100644 text/PewterGym.asm create mode 100644 text/PewterGym_2.asm create mode 100644 text/PewterMart.asm create mode 100644 text/PewterNidoranHouse.asm create mode 100644 text/PewterPokecenter.asm create mode 100644 text/PewterSpeechHouse.asm create mode 100644 text/PokemonFanClub.asm create mode 100644 text/PokemonMansion1F.asm create mode 100644 text/PokemonMansion2F.asm create mode 100644 text/PokemonMansion3F.asm create mode 100644 text/PokemonMansionB1F.asm create mode 100644 text/PokemonTower1F.asm create mode 100644 text/PokemonTower2F.asm create mode 100644 text/PokemonTower3F.asm create mode 100644 text/PokemonTower4F.asm create mode 100644 text/PokemonTower5F.asm create mode 100644 text/PokemonTower6F.asm create mode 100644 text/PokemonTower7F.asm create mode 100644 text/PowerPlant.asm create mode 100644 text/RedsHouse1F.asm create mode 100644 text/RockTunnel1F.asm create mode 100644 text/RockTunnelB1F.asm create mode 100644 text/RockTunnelB1F_2.asm create mode 100644 text/RockTunnelPokecenter.asm create mode 100644 text/RocketHideoutB1F.asm create mode 100644 text/RocketHideoutB2F.asm create mode 100644 text/RocketHideoutB3F.asm create mode 100644 text/RocketHideoutB4F.asm create mode 100644 text/RocketHideoutElevator.asm create mode 100644 text/Route1.asm create mode 100644 text/Route10.asm create mode 100644 text/Route11.asm create mode 100644 text/Route11Gate1F.asm create mode 100644 text/Route11Gate2F.asm create mode 100644 text/Route11_2.asm create mode 100644 text/Route12.asm create mode 100644 text/Route12Gate1F.asm create mode 100644 text/Route12Gate2F.asm create mode 100644 text/Route12SuperRodHouse.asm create mode 100644 text/Route13.asm create mode 100644 text/Route14.asm create mode 100644 text/Route15.asm create mode 100644 text/Route15Gate1F.asm create mode 100644 text/Route15Gate2F.asm create mode 100644 text/Route16.asm create mode 100644 text/Route16FlyHouse.asm create mode 100644 text/Route16Gate1F.asm create mode 100644 text/Route16Gate2F.asm create mode 100644 text/Route17.asm create mode 100644 text/Route18.asm create mode 100644 text/Route18Gate1F.asm create mode 100644 text/Route18Gate2F.asm create mode 100644 text/Route19.asm create mode 100644 text/Route2.asm create mode 100644 text/Route20.asm create mode 100644 text/Route21.asm create mode 100644 text/Route22.asm create mode 100644 text/Route22Gate.asm create mode 100644 text/Route23.asm create mode 100644 text/Route24.asm create mode 100644 text/Route24_2.asm create mode 100644 text/Route25.asm create mode 100644 text/Route2Gate.asm create mode 100644 text/Route2TradeHouse.asm create mode 100644 text/Route3.asm create mode 100644 text/Route4.asm create mode 100644 text/Route5.asm create mode 100644 text/Route6.asm create mode 100644 text/Route7.asm create mode 100644 text/Route8.asm create mode 100644 text/Route9.asm create mode 100644 text/SSAnne1F.asm create mode 100644 text/SSAnne1FRooms.asm create mode 100644 text/SSAnne2F.asm create mode 100644 text/SSAnne2FRooms.asm create mode 100644 text/SSAnne3F.asm create mode 100644 text/SSAnneB1FRooms.asm create mode 100644 text/SSAnneBow.asm create mode 100644 text/SSAnneCaptainsRoom.asm create mode 100644 text/SSAnneKitchen.asm create mode 100644 text/SafariZoneCenter.asm create mode 100644 text/SafariZoneCenterRestHouse.asm create mode 100644 text/SafariZoneEast.asm create mode 100644 text/SafariZoneEastRestHouse.asm create mode 100644 text/SafariZoneGate.asm create mode 100644 text/SafariZoneNorth.asm create mode 100644 text/SafariZoneNorthRestHouse.asm create mode 100644 text/SafariZoneSecretHouse.asm create mode 100644 text/SafariZoneWest.asm create mode 100644 text/SafariZoneWestRestHouse.asm create mode 100644 text/SaffronCity.asm create mode 100644 text/SaffronGates.asm create mode 100644 text/SaffronGym.asm create mode 100644 text/SaffronMart.asm create mode 100644 text/SaffronPidgeyHouse.asm create mode 100644 text/SaffronPokecenter.asm create mode 100644 text/SeafoamIslandsB4F.asm create mode 100644 text/SilphCo10F.asm create mode 100644 text/SilphCo11F.asm create mode 100644 text/SilphCo1F.asm create mode 100644 text/SilphCo2F.asm create mode 100644 text/SilphCo3F.asm create mode 100644 text/SilphCo4F.asm create mode 100644 text/SilphCo5F.asm create mode 100644 text/SilphCo5F_2.asm create mode 100644 text/SilphCo6F.asm create mode 100644 text/SilphCo7F.asm create mode 100644 text/SilphCo8F.asm create mode 100644 text/SilphCo9F.asm create mode 100644 text/UndergroundPathRoute6.asm create mode 100644 text/UndergroundPathRoute7.asm create mode 100644 text/UndergroundPathRoute7Copy.asm create mode 100644 text/UndergroundPathRoute8.asm create mode 100644 text/VermilionCity.asm create mode 100644 text/VermilionDock.asm create mode 100644 text/VermilionGym.asm create mode 100644 text/VermilionGym_2.asm create mode 100644 text/VermilionMart.asm create mode 100644 text/VermilionOldRodHouse.asm create mode 100644 text/VermilionPidgeyHouse.asm create mode 100644 text/VermilionPokecenter.asm create mode 100644 text/VictoryRoad1F.asm create mode 100644 text/VictoryRoad2F.asm create mode 100644 text/VictoryRoad3F.asm create mode 100644 text/ViridianCity.asm create mode 100644 text/ViridianForest.asm create mode 100644 text/ViridianForestNorthGate.asm create mode 100644 text/ViridianForestSouthGate.asm create mode 100644 text/ViridianGym.asm create mode 100644 text/ViridianMart.asm create mode 100644 text/ViridianNicknameHouse.asm create mode 100644 text/ViridianPokecenter.asm create mode 100644 text/ViridianSchoolHouse.asm create mode 100644 text/WardensHouse.asm delete mode 100644 text/alphabets.asm delete mode 100755 text/credits_text.asm delete mode 100644 text/dakutens.asm delete mode 100755 text/item_names.asm delete mode 100755 text/map_names.asm delete mode 100644 text/maps/AgathasRoom.asm delete mode 100644 text/maps/BikeShop.asm delete mode 100644 text/maps/BillsHouse.asm delete mode 100644 text/maps/BluesHouse.asm delete mode 100644 text/maps/BrunosRoom.asm delete mode 100644 text/maps/CeladonChiefHouse.asm delete mode 100644 text/maps/CeladonCity.asm delete mode 100644 text/maps/CeladonDiner.asm delete mode 100644 text/maps/CeladonGym.asm delete mode 100644 text/maps/CeladonHotel.asm delete mode 100644 text/maps/CeladonMansion1F.asm delete mode 100644 text/maps/CeladonMansion2F.asm delete mode 100644 text/maps/CeladonMansion3F.asm delete mode 100644 text/maps/CeladonMansionRoof.asm delete mode 100644 text/maps/CeladonMansionRoofHouse.asm delete mode 100644 text/maps/CeladonMart1F.asm delete mode 100644 text/maps/CeladonMart2F.asm delete mode 100644 text/maps/CeladonMart3F.asm delete mode 100644 text/maps/CeladonMart4F.asm delete mode 100644 text/maps/CeladonMart5F.asm delete mode 100644 text/maps/CeladonMartRoof.asm delete mode 100644 text/maps/CeladonPokecenter.asm delete mode 100644 text/maps/CeruleanBadgeHouse.asm delete mode 100644 text/maps/CeruleanCaveB1F.asm delete mode 100644 text/maps/CeruleanCity.asm delete mode 100644 text/maps/CeruleanGym.asm delete mode 100644 text/maps/CeruleanMart.asm delete mode 100644 text/maps/CeruleanPokecenter.asm delete mode 100644 text/maps/CeruleanTradeHouse.asm delete mode 100644 text/maps/CeruleanTrashedHouse.asm delete mode 100644 text/maps/ChampionsRoom.asm delete mode 100644 text/maps/CinnabarGym.asm delete mode 100644 text/maps/CinnabarIsland.asm delete mode 100644 text/maps/CinnabarLab.asm delete mode 100644 text/maps/CinnabarLabFossilRoom.asm delete mode 100644 text/maps/CinnabarLabMetronomeRoom.asm delete mode 100644 text/maps/CinnabarLabTradeRoom.asm delete mode 100644 text/maps/CinnabarMart.asm delete mode 100644 text/maps/CinnabarPokecenter.asm delete mode 100644 text/maps/CopycatsHouse1F.asm delete mode 100644 text/maps/CopycatsHouse2F.asm delete mode 100644 text/maps/Daycare.asm delete mode 100644 text/maps/Daycare_2.asm delete mode 100644 text/maps/DiglettsCaveRoute11.asm delete mode 100644 text/maps/DiglettsCaveRoute2.asm delete mode 100644 text/maps/FightingDojo.asm delete mode 100644 text/maps/FuchsiaBillsGrandpasHouse.asm delete mode 100644 text/maps/FuchsiaCity.asm delete mode 100644 text/maps/FuchsiaGoodRodHouse.asm delete mode 100644 text/maps/FuchsiaGym.asm delete mode 100644 text/maps/FuchsiaGym_2.asm delete mode 100644 text/maps/FuchsiaMart.asm delete mode 100644 text/maps/FuchsiaMeetingRoom.asm delete mode 100644 text/maps/FuchsiaPokecenter.asm delete mode 100644 text/maps/GameCorner.asm delete mode 100644 text/maps/GameCornerPrizeRoom.asm delete mode 100644 text/maps/HallOfFame.asm delete mode 100644 text/maps/IndigoPlateauLobby.asm delete mode 100644 text/maps/LancesRoom.asm delete mode 100644 text/maps/LavenderCuboneHouse.asm delete mode 100644 text/maps/LavenderMart.asm delete mode 100644 text/maps/LavenderPokecenter.asm delete mode 100644 text/maps/LavenderTown.asm delete mode 100644 text/maps/LoreleisRoom.asm delete mode 100644 text/maps/MrFujisHouse.asm delete mode 100644 text/maps/MrPsychicsHouse.asm delete mode 100644 text/maps/MtMoon1F.asm delete mode 100644 text/maps/MtMoonB1F.asm delete mode 100644 text/maps/MtMoonB2F.asm delete mode 100644 text/maps/MtMoonPokecenter.asm delete mode 100644 text/maps/Museum1F.asm delete mode 100644 text/maps/Museum2F.asm delete mode 100644 text/maps/NameRatersHouse.asm delete mode 100644 text/maps/OaksLab.asm delete mode 100644 text/maps/PalletTown.asm delete mode 100644 text/maps/PewterCity.asm delete mode 100644 text/maps/PewterGym.asm delete mode 100644 text/maps/PewterGym_2.asm delete mode 100644 text/maps/PewterMart.asm delete mode 100644 text/maps/PewterNidoranHouse.asm delete mode 100644 text/maps/PewterPokecenter.asm delete mode 100644 text/maps/PewterSpeechHouse.asm delete mode 100644 text/maps/PokemonFanClub.asm delete mode 100644 text/maps/PokemonMansion1F.asm delete mode 100644 text/maps/PokemonMansion2F.asm delete mode 100644 text/maps/PokemonMansion3F.asm delete mode 100644 text/maps/PokemonMansionB1F.asm delete mode 100644 text/maps/PokemonTower1F.asm delete mode 100644 text/maps/PokemonTower2F.asm delete mode 100644 text/maps/PokemonTower3F.asm delete mode 100644 text/maps/PokemonTower4F.asm delete mode 100644 text/maps/PokemonTower5F.asm delete mode 100644 text/maps/PokemonTower6F.asm delete mode 100644 text/maps/PokemonTower7F.asm delete mode 100644 text/maps/PowerPlant.asm delete mode 100644 text/maps/RedsHouse1F.asm delete mode 100644 text/maps/RockTunnel1F.asm delete mode 100644 text/maps/RockTunnelB1F.asm delete mode 100644 text/maps/RockTunnelB1F_2.asm delete mode 100644 text/maps/RockTunnelPokecenter.asm delete mode 100644 text/maps/RocketHideoutB1F.asm delete mode 100644 text/maps/RocketHideoutB2F.asm delete mode 100644 text/maps/RocketHideoutB3F.asm delete mode 100644 text/maps/RocketHideoutB4F.asm delete mode 100644 text/maps/RocketHideoutElevator.asm delete mode 100644 text/maps/Route1.asm delete mode 100644 text/maps/Route10.asm delete mode 100644 text/maps/Route11.asm delete mode 100644 text/maps/Route11Gate1F.asm delete mode 100644 text/maps/Route11Gate2F.asm delete mode 100644 text/maps/Route11_2.asm delete mode 100644 text/maps/Route12.asm delete mode 100644 text/maps/Route12Gate1F.asm delete mode 100644 text/maps/Route12Gate2F.asm delete mode 100644 text/maps/Route12SuperRodHouse.asm delete mode 100644 text/maps/Route13.asm delete mode 100644 text/maps/Route14.asm delete mode 100644 text/maps/Route15.asm delete mode 100644 text/maps/Route15Gate1F.asm delete mode 100644 text/maps/Route15Gate2F.asm delete mode 100644 text/maps/Route16.asm delete mode 100644 text/maps/Route16FlyHouse.asm delete mode 100644 text/maps/Route16Gate1F.asm delete mode 100644 text/maps/Route16Gate2F.asm delete mode 100644 text/maps/Route17.asm delete mode 100644 text/maps/Route18.asm delete mode 100644 text/maps/Route18Gate1F.asm delete mode 100644 text/maps/Route18Gate2F.asm delete mode 100644 text/maps/Route19.asm delete mode 100644 text/maps/Route2.asm delete mode 100644 text/maps/Route20.asm delete mode 100644 text/maps/Route21.asm delete mode 100644 text/maps/Route22.asm delete mode 100644 text/maps/Route22Gate.asm delete mode 100644 text/maps/Route23.asm delete mode 100644 text/maps/Route24.asm delete mode 100644 text/maps/Route24_2.asm delete mode 100644 text/maps/Route25.asm delete mode 100644 text/maps/Route2Gate.asm delete mode 100644 text/maps/Route2TradeHouse.asm delete mode 100644 text/maps/Route3.asm delete mode 100644 text/maps/Route4.asm delete mode 100644 text/maps/Route5.asm delete mode 100644 text/maps/Route6.asm delete mode 100644 text/maps/Route7.asm delete mode 100644 text/maps/Route8.asm delete mode 100644 text/maps/Route9.asm delete mode 100644 text/maps/SSAnne1F.asm delete mode 100644 text/maps/SSAnne1FRooms.asm delete mode 100644 text/maps/SSAnne2F.asm delete mode 100644 text/maps/SSAnne2FRooms.asm delete mode 100644 text/maps/SSAnne3F.asm delete mode 100644 text/maps/SSAnneB1FRooms.asm delete mode 100644 text/maps/SSAnneBow.asm delete mode 100644 text/maps/SSAnneCaptainsRoom.asm delete mode 100644 text/maps/SSAnneKitchen.asm delete mode 100644 text/maps/SafariZoneCenter.asm delete mode 100644 text/maps/SafariZoneCenterRestHouse.asm delete mode 100644 text/maps/SafariZoneEast.asm delete mode 100644 text/maps/SafariZoneEastRestHouse.asm delete mode 100644 text/maps/SafariZoneGate.asm delete mode 100644 text/maps/SafariZoneNorth.asm delete mode 100644 text/maps/SafariZoneNorthRestHouse.asm delete mode 100644 text/maps/SafariZoneSecretHouse.asm delete mode 100644 text/maps/SafariZoneWest.asm delete mode 100644 text/maps/SafariZoneWestRestHouse.asm delete mode 100644 text/maps/SaffronCity.asm delete mode 100644 text/maps/SaffronGates.asm delete mode 100644 text/maps/SaffronGym.asm delete mode 100644 text/maps/SaffronMart.asm delete mode 100644 text/maps/SaffronPidgeyHouse.asm delete mode 100644 text/maps/SaffronPokecenter.asm delete mode 100644 text/maps/SeafoamIslandsB4F.asm delete mode 100644 text/maps/SilphCo10F.asm delete mode 100644 text/maps/SilphCo11F.asm delete mode 100644 text/maps/SilphCo1F.asm delete mode 100644 text/maps/SilphCo2F.asm delete mode 100644 text/maps/SilphCo3F.asm delete mode 100644 text/maps/SilphCo4F.asm delete mode 100644 text/maps/SilphCo5F.asm delete mode 100644 text/maps/SilphCo5F_2.asm delete mode 100644 text/maps/SilphCo6F.asm delete mode 100644 text/maps/SilphCo7F.asm delete mode 100644 text/maps/SilphCo8F.asm delete mode 100644 text/maps/SilphCo9F.asm delete mode 100644 text/maps/UndergroundPathRoute6.asm delete mode 100644 text/maps/UndergroundPathRoute7.asm delete mode 100644 text/maps/UndergroundPathRoute7Copy.asm delete mode 100644 text/maps/UndergroundPathRoute8.asm delete mode 100644 text/maps/VermilionCity.asm delete mode 100644 text/maps/VermilionDock.asm delete mode 100644 text/maps/VermilionGym.asm delete mode 100644 text/maps/VermilionGym_2.asm delete mode 100644 text/maps/VermilionMart.asm delete mode 100644 text/maps/VermilionOldRodHouse.asm delete mode 100644 text/maps/VermilionPidgeyHouse.asm delete mode 100644 text/maps/VermilionPokecenter.asm delete mode 100644 text/maps/VictoryRoad1F.asm delete mode 100644 text/maps/VictoryRoad2F.asm delete mode 100644 text/maps/VictoryRoad3F.asm delete mode 100644 text/maps/ViridianCity.asm delete mode 100644 text/maps/ViridianForest.asm delete mode 100644 text/maps/ViridianForestNorthGate.asm delete mode 100644 text/maps/ViridianForestSouthGate.asm delete mode 100644 text/maps/ViridianGym.asm delete mode 100644 text/maps/ViridianMart.asm delete mode 100644 text/maps/ViridianNicknameHouse.asm delete mode 100644 text/maps/ViridianPokecenter.asm delete mode 100644 text/maps/ViridianSchoolHouse.asm delete mode 100644 text/maps/WardensHouse.asm delete mode 100755 text/monster_names.asm delete mode 100644 text/move_names.asm delete mode 100644 text/oakspeech.asm delete mode 100644 text/player_names.asm delete mode 100644 text/player_names_list.asm delete mode 100644 text/pokedex.asm delete mode 100644 text/stat_names.asm delete mode 100644 text/trainer_name_pointers.asm delete mode 100755 text/trainer_names.asm delete mode 100755 text/type_names.asm delete mode 100644 text/unused_names.asm diff --git a/constants/evolution_constants.asm b/constants/evolution_constants.asm index 86c466d8..01c4c078 100755 --- a/constants/evolution_constants.asm +++ b/constants/evolution_constants.asm @@ -1,4 +1,4 @@ -; See data/evos_moves.asm +; See data/pokemon/evos_moves.asm ; Evolution types EV_LEVEL EQU 1 diff --git a/data/animations.asm b/data/animations.asm deleted file mode 100755 index 8c388afd..00000000 --- a/data/animations.asm +++ /dev/null @@ -1,3628 +0,0 @@ -AttackAnimationPointers: - dw PoundAnim - dw KarateChopAnim - dw DoubleSlapAnim - dw CometPunchAnim - dw MegaPunchAnim - dw PayDayAnim - dw FirePunchAnim - dw IcePunchAnim - dw ThunderPunchAnim - dw ScratchAnim - dw VicegripAnim - dw GuillotineAnim - dw RazorWindAnim - dw SwordsDanceAnim - dw CutAnim - dw GustAnim - dw WingAttackAnim - dw WhirlwindAnim - dw FlyAnim - dw BindAnim - dw SlamAnim - dw VineWhipAnim - dw StompAnim - dw DoubleKickAnim - dw MegaKickAnim - dw JumpKickAnim - dw RollingKickAnim - dw SandAttackAnim - dw HeatButtAnim - dw HornAttackAnim - dw FuryAttackAnim - dw HornDrillAnim - dw TackleAnim - dw BodySlamAnim - dw WrapAnim - dw TakeDownAnim - dw ThrashAnim - dw DoubleEdgeAnim - dw TailWhipAnim - dw PoisonStingAnim - dw TwineedleAnim - dw PinMissileAnim - dw LeerAnim - dw BiteAnim - dw GrowlAnim - dw RoarAnim - dw SingAnim - dw SupersonicAnim - dw SonicBoomAnim - dw DisableAnim - dw AcidAnim - dw EmberAnim - dw FlamethrowerAnim - dw MistAnim - dw WaterGunAnim - dw HydroPumpAnim - dw SurfAnim - dw IceBeamAnim - dw BlizzardAnim - dw PsyBeamAnim - dw BubbleBeamAnim - dw AuroraBeamAnim - dw HyperBeamAnim - dw PeckAnim - dw DrillPeckAnim - dw SubmissionAnim - dw LowKickAnim - dw CounterAnim - dw SeismicTossAnim - dw StrengthAnim - dw AbsorbAnim - dw MegaDrainAnim - dw LeechSeedAnim - dw GrowthAnim - dw RazorLeafAnim - dw SolarBeamAnim - dw PoisonPowderAnim - dw StunSporeAnim - dw SleepPowderAnim - dw PedalDanceAnim - dw StringShotAnim - dw DragonRageAnim - dw FireSpinAnim - dw ThunderShockAnim - dw ThunderBoltAnim - dw ThunderWaveAnim - dw ThunderAnim - dw RockThrowAnim - dw EarthquakeAnim - dw FissureAnim - dw DigAnim - dw ToxicAnim - dw ConfusionAnim - dw PsychicAnim - dw HypnosisAnim - dw MeditateAnim - dw AgilityAnim - dw QuickAttackAnim - dw RageAnim - dw TeleportAnim - dw NightShadeAnim - dw MimicAnim - dw ScreechAnim - dw DoubleTeamAnim - dw RecoverAnim - dw HardenAnim - dw MinimizeAnim - dw SmokeScreenAnim - dw ConfuseRayAnim - dw WithdrawAnim - dw DefenseCurlAnim - dw BarrierAnim - dw LightScreenAnim - dw HazeAnim - dw ReflectAnim - dw FocusEnergyAnim - dw BideAnim - dw MetronomeAnim - dw MirrorMoveAnim - dw SelfdestructAnim - dw EggBombAnim - dw LickAnim - dw SmogAnim - dw SludgeAnim - dw BoneClubAnim - dw FireBlastAnim - dw WaterfallAnim - dw ClampAnim - dw SwiftAnim - dw SkullBashAnim - dw SpikeCannonAnim - dw ConstrictAnim - dw AmnesiaAnim - dw KinesisAnim - dw SoftboiledAnim - dw HiJumpKickAnim - dw GlareAnim - dw DreamEaterAnim - dw PoisonGasAnim - dw BarrageAnim - dw LeechLifeAnim - dw LovelyKissAnim - dw SkyAttackAnim - dw TransformAnim - dw BubbleAnim - dw DizzyPunchAnim - dw SporeAnim - dw FlashAnim - dw PsywaveAnim - dw SplashAnim - dw AcidArmorAnim - dw CrabHammerAnim - dw ExplosionAnim - dw FurySwipesAnim - dw BonemerangAnim - dw RestAnim - dw RockSlideAnim - dw HyperFangAnim - dw SharpenAnim - dw ConversionAnim - dw TriAttackAnim - dw SuperFangAnim - dw SlashAnim - dw SubstituteAnim - dw StruggleAnim - dw ShowPicAnim - dw EnemyFlashAnim - dw PlayerFlashAnim - dw EnemyHUDShakeAnim - dw TradeBallDropAnim - dw TradeBallAppear1Anim - dw TradeBallAppear2Anim - dw TradeBallPoofAnim - dw XStatItemAnim - dw XStatItemAnim - dw ShrinkingSquareAnim - dw ShrinkingSquareAnim - dw XStatItemBlackAnim - dw XStatItemBlackAnim - dw ShrinkingSquareBlackAnim - dw ShrinkingSquareBlackAnim - dw UnusedAnim - dw UnusedAnim - dw ParalyzeAnim - dw ParalyzeAnim - dw PoisonAnim - dw PoisonAnim - dw SleepPlayerAnim - dw SleepEnemyAnim - dw ConfusedPlayerAnim - dw ConfusedEnemyAnim - dw FaintAnim - dw BallTossAnim - dw BallShakeAnim - dw BallPoofAnim - dw BallBlockAnim - dw GreatTossAnim - dw UltraTossAnim - dw ShakeScreenAnim - dw HidePicAnim - dw ThrowRockAnim - dw ThrowBaitAnim - dw ZigZagScreenAnim - -; each animation is a list of subanimations and special effects -; if first byte < $56 -; db tileset_and_delay, sound_id, subanimation_id -; if first byte >= $D8 -; db special_effect_id, sound_id -; $FF terminated -ZigZagScreenAnim: - db SE_WAVY_SCREEN, $FF - db $FF - -PoundAnim: -StruggleAnim: - db $08,$00,$01 - db $FF - -KarateChopAnim: - db $08,$01,$03 - db $FF - -DoubleSlapAnim: - db $05,$02,$01 - db $05,$02,$01 - db $FF - -CometPunchAnim: - db $04,$03,$02 - db $04,$03,$02 - db $FF - -MegaPunchAnim: - db $46,$04,$04 - db $FF - -PayDayAnim: - db $08,$00,$01 - db $04,$05,$52 - db $FF - -FirePunchAnim: - db $06,$06,$02 - db $46,$FF,$11 - db $FF - -IcePunchAnim: - db $06,$07,$02 - db $10,$FF,$2F - db $FF - -ThunderPunchAnim: - db $06,$08,$02 - db SE_DARK_SCREEN_PALETTE, $FF - db $46,$FF,$2B - db SE_RESET_SCREEN_PALETTE, $FF - db $FF - -ScratchAnim: - db $06,$09,$0F - db $FF - -VicegripAnim: - db $08,$0A,$2A - db $FF - -GuillotineAnim: - db $06,$0B,$2A - db $FF - -RazorWindAnim: - db $04,$0C,$16 - db $FF - -SwordsDanceAnim: - db $46,$0D,$18 - db $46,$0D,$18 - db $46,$0D,$18 - db $FF - -CutAnim: - db SE_DARK_SCREEN_FLASH, $0E - db $04,$FF,$16 - db $FF - -GustAnim: - db $46,$0F,$10 - db $06,$FF,$02 - db $FF - -WingAttackAnim: - db $46,$10,$04 - db $FF - -WhirlwindAnim: - db $46,$11,$10 - db SE_SLIDE_ENEMY_MON_OFF, $FF - db $FF - -FlyAnim: - db $46,$12,$04 - db SE_SHOW_MON_PIC, $FF - db $FF - -BindAnim: - db $04,$13,$23 - db $04,$13,$23 - db $FF - -SlamAnim: - db $06,$14,$02 - db $FF - -VineWhipAnim: - db $01,$15,$16 - db $08,$FF,$01 - db $FF - -StompAnim: - db $48,$16,$05 - db $FF - -DoubleKickAnim: - db $08,$17,$01 - db $08,$17,$01 - db $FF - -MegaKickAnim: - db $46,$18,$04 - db $FF - -JumpKickAnim: - db $46,$19,$04 - db $FF - -RollingKickAnim: - db SE_DARK_SCREEN_FLASH, $1A - db $46,$FF,$04 - db $FF - -SandAttackAnim: - db $46,$1B,$28 - db $FF - -HeatButtAnim: - db $46,$1C,$05 - db $FF - -HornAttackAnim: - db $06,$1D,$45 - db $46,$FF,$05 - db $FF - -FuryAttackAnim: - db $02,$1E,$46 - db $02,$FF,$46 - db $FF - -HornDrillAnim: - db $42,$1F,$05 - db $42,$FF,$05 - db $42,$FF,$05 - db $42,$FF,$05 - db $42,$FF,$05 - db $FF - -TackleAnim: - db SE_MOVE_MON_HORIZONTALLY, $48 - db SE_RESET_MON_POSITION, $FF - db $FF - -BodySlamAnim: - db SE_MOVE_MON_HORIZONTALLY, $48 - db SE_DARK_SCREEN_FLASH, $FF - db SE_DARK_SCREEN_FLASH, $FF - db SE_RESET_MON_POSITION, $FF - db $FF - -WrapAnim: - db $04,$22,$23 - db $04,$22,$23 - db $04,$22,$23 - db $FF - -TakeDownAnim: - db SE_MOVE_MON_HORIZONTALLY, $48 - db SE_DARK_SCREEN_FLASH, $23 - db SE_RESET_MON_POSITION, $FF - db $FF - -ThrashAnim: - db $46,$24,$04 - db $FF - -DoubleEdgeAnim: - db SE_LIGHT_SCREEN_PALETTE, $48 - db $06,$FF,$2D - db SE_RESET_SCREEN_PALETTE, $FF - db SE_MOVE_MON_HORIZONTALLY, $FF - db SE_DARK_SCREEN_FLASH, $25 - db SE_RESET_MON_POSITION, $FF - db $FF - -TailWhipAnim: - db SE_MOVE_MON_HORIZONTALLY, $84 - db SE_DELAY_ANIMATION_10, $FF - db SE_RESET_MON_POSITION, $84 - db SE_DELAY_ANIMATION_10, $FF - db SE_MOVE_MON_HORIZONTALLY, $84 - db SE_DELAY_ANIMATION_10, $FF - db SE_RESET_MON_POSITION, $84 - db $FF - -PoisonStingAnim: - db $06,$27,$00 - db $FF - -TwineedleAnim: - db $05,$28,$01 - db $05,$28,$01 - db $FF - -PinMissileAnim: - db $03,$29,$01 - db $FF - -LeerAnim: - db SE_DARK_SCREEN_PALETTE, $48 - db SE_DARK_SCREEN_FLASH, $2A - db SE_DARK_SCREEN_FLASH, $2A - db SE_RESET_SCREEN_PALETTE, $FF - db $FF - -BiteAnim: - db $08,$2B,$02 - db $FF - -GrowlAnim: - db $46,$2C,$12 - db $FF - -RoarAnim: - db $46,$2D,$15 - db $46,$2D,$15 - db $46,$2D,$15 - db $FF - -SingAnim: - db $46,$2E,$12 - db $50,$FF,$40 - db $50,$FF,$40 - db $FF - -SupersonicAnim: - db $06,$2F,$31 - db $FF - -SonicBoomAnim: - db $46,$2D,$15 - db $46,$2D,$15 - db $46,$0F,$10 - db $46,$FF,$05 - db $FF - -DisableAnim: - db SE_DARK_SCREEN_PALETTE, $48 - db SE_DARK_SCREEN_FLASH, $2A - db SE_DARK_SCREEN_FLASH, $2A - db SE_RESET_SCREEN_PALETTE, $FF - db $FF - -AcidAnim: - db $46,$32,$13 - db $46,$32,$14 - db $FF - -EmberAnim: - db $46,$33,$11 - db $FF - -FlamethrowerAnim: - db $46,$34,$1F - db $46,$34,$0C - db $46,$34,$0D - db $FF - -MistAnim: - db SE_LIGHT_SCREEN_PALETTE, $FF - db SE_WATER_DROPLETS_EVERYWHERE, $38 - db SE_RESET_SCREEN_PALETTE, $FF - db $FF - -WaterGunAnim: - db $06,$36,$2C - db $FF - -HydroPumpAnim: - db $06,$37,$1A - db $06,$37,$1A - db $FF - -SurfAnim: - db SE_WATER_DROPLETS_EVERYWHERE, $38 - db $06,$37,$1A - db $FF - -IceBeamAnim: - db $03,$39,$2E - db $10,$FF,$2F - db $FF - -BlizzardAnim: - db $04,$3A,$38 - db $04,$37,$38 - db $FF - -PsyBeamAnim: - db $03,$3B,$2E - db SE_FLASH_SCREEN_LONG, $FF - db $FF - -BubbleBeamAnim: - db $12,$3C,$35 - db $FF - -AuroraBeamAnim: - db $03,$3D,$2E - db SE_DELAY_ANIMATION_10, $FF - db SE_DELAY_ANIMATION_10, $FF - db $FF - -HyperBeamAnim: - db SE_DARK_SCREEN_PALETTE, $48 - db SE_SPIRAL_BALLS_INWARD, $FF - db $02,$3E,$2E - db SE_DARK_SCREEN_FLASH, $FF - db SE_DARK_SCREEN_FLASH, $FF - db $46,$04,$04 - db SE_RESET_SCREEN_PALETTE, $FF - db $FF - -PeckAnim: - db $08,$3F,$01 - db $FF - -DrillPeckAnim: - db $46,$40,$04 - db $FF - -SubmissionAnim: - db SE_SLIDE_MON_OFF, $41 - db $06,$FF,$01 - db SE_SHOW_MON_PIC, $FF - db $FF - -LowKickAnim: - db SE_SLIDE_MON_OFF, $42 - db $46,$FF,$04 - db SE_SHOW_MON_PIC, $FF - db $FF - -CounterAnim: - db SE_SLIDE_MON_OFF, $43 - db $46,$FF,$04 - db SE_SHOW_MON_PIC, $FF - db $FF - -SeismicTossAnim: - db SE_BLINK_ENEMY_MON, $FF - db $41,$8B,$4E - db SE_HIDE_ENEMY_MON_PIC, $FF - db SE_SLIDE_MON_OFF, $FF - db $42,$44,$4F - db SE_DELAY_ANIMATION_10, $FF - db SE_DELAY_ANIMATION_10, $FF - db SE_SHOW_MON_PIC, $FF - db $41,$44,$50 - db SE_SHOW_ENEMY_MON_PIC, $FF - db SE_SHAKE_SCREEN, $FF - db $FF - -StrengthAnim: - db SE_MOVE_MON_HORIZONTALLY, $48 - db SE_RESET_MON_POSITION, $FF - db $46,$06,$04 - db $FF - -AbsorbAnim: - db SE_LIGHT_SCREEN_PALETTE, $46 - db $06,$FF,$21 - db $06,$FF,$22 - db SE_RESET_SCREEN_PALETTE, $FF - db $FF - -MegaDrainAnim: - db SE_LIGHT_SCREEN_PALETTE, $47 - db SE_DARK_SCREEN_FLASH, $FF - db $06,$FF,$21 - db $06,$FF,$22 - db SE_DARK_SCREEN_FLASH, $FF - db SE_RESET_SCREEN_PALETTE, $FF - db $FF - -LeechSeedAnim: - db $46,$48,$1B - db $55,$4D,$1C - db $FF - -GrowthAnim: - db SE_LIGHT_SCREEN_PALETTE, $49 - db SE_SPIRAL_BALLS_INWARD, $FF - db SE_RESET_SCREEN_PALETTE, $FF - db $FF - -RazorLeafAnim: - db SE_LEAVES_FALLING, $4A - db $41,$80,$44 - db $01,$0C,$16 - db $FF - -SolarBeamAnim: - db $06,$4B,$2E - db $06,$FF,$01 - db $FF - -PoisonPowderAnim: - db $06,$4C,$36 - db $FF - -StunSporeAnim: - db $06,$4D,$36 - db $FF - -SleepPowderAnim: - db $06,$4E,$36 - db $FF - -PedalDanceAnim: - db SE_LIGHT_SCREEN_PALETTE, $4F - db SE_PETALS_FALLING, $FF - db SE_RESET_SCREEN_PALETTE, $FF - db $FF - -StringShotAnim: - db $08,$50,$37 - db $FF - -DragonRageAnim: - db $46,$51,$1F - db $46,$FF,$0C - db $46,$FF,$0D - db $46,$FF,$0E - db $FF - -FireSpinAnim: - db $46,$52,$0C - db $46,$FF,$0D - db $46,$FF,$0E - db $FF - -ThunderShockAnim: - db $42,$53,$29 - db $FF - -ThunderBoltAnim: - db $41,$54,$29 - db $41,$54,$29 - db $FF - -ThunderWaveAnim: - db $42,$55,$29 - db $02,$FF,$23 - db $04,$FF,$23 - db $FF - -ThunderAnim: - db SE_DARK_SCREEN_PALETTE, $56 - db SE_DARK_SCREEN_FLASH, $FF - db $46,$FF,$2B - db SE_DARK_SCREEN_FLASH, $FF - db $42,$54,$29 - db SE_RESET_SCREEN_PALETTE, $FF - db $FF - -RockThrowAnim: - db $04,$57,$30 - db $FF - -EarthquakeAnim: - db SE_SHAKE_SCREEN, $58 - db SE_SHAKE_SCREEN, $58 - db $FF - -FissureAnim: - db SE_DARK_SCREEN_FLASH, $59 - db SE_SHAKE_SCREEN, $FF - db SE_DARK_SCREEN_FLASH, $59 - db SE_SHAKE_SCREEN, $FF - db $FF - -DigAnim: - db $46,$5A,$04 - db SE_SLIDE_MON_UP, $FF - db $FF - -ToxicAnim: - db SE_WATER_DROPLETS_EVERYWHERE, $38 - db $46,$5B,$14 - db $FF - -ConfusionAnim: - db SE_FLASH_SCREEN_LONG, $5C - db $FF - -PsychicAnim: - db SE_FLASH_SCREEN_LONG, $5D - db SE_WAVY_SCREEN, $FF - db $FF - -HypnosisAnim: - db SE_FLASH_SCREEN_LONG, $5E - db $FF - -MeditateAnim: - db SE_LIGHT_SCREEN_PALETTE, $5F - db $46,$FF,$43 - db SE_DARK_SCREEN_FLASH, $FF - db SE_RESET_SCREEN_PALETTE, $FF - db $FF - -AgilityAnim: - db SE_LIGHT_SCREEN_PALETTE, $60 - db SE_RESET_SCREEN_PALETTE, $FF - db $FF - -QuickAttackAnim: - db SE_SLIDE_MON_OFF, $61 - db $46,$FF,$04 - db SE_SHOW_MON_PIC, $FF - db $FF - -RageAnim: - db $06,$62,$01 - db $FF - -TeleportAnim: - db SE_SQUISH_MON_PIC, $63 - db SE_SHOOT_BALLS_UPWARD, $FF - db $FF - -NightShadeAnim: - db SE_FLASH_SCREEN_LONG, $5C - db SE_WAVY_SCREEN, $FF - db $FF - -MimicAnim: - db $46,$65,$21 - db $46,$65,$22 - db $FF - -ScreechAnim: - db $46,$66,$12 - db $FF - -DoubleTeamAnim: - db SE_DARK_SCREEN_PALETTE, $FF - db SE_DELAY_ANIMATION_10, $FF - db SE_DELAY_ANIMATION_10, $FF - db SE_DARK_SCREEN_FLASH, $FF - db SE_DARK_SCREEN_FLASH, $FF - db SE_RESET_SCREEN_PALETTE, $FF - db SE_SHAKE_BACK_AND_FORTH, $67 - db SE_SHOW_MON_PIC, $FF - db $46,$6F,$33 - db $FF - -RecoverAnim: - db SE_BLINK_MON, $68 - db SE_LIGHT_SCREEN_PALETTE, $FF - db SE_SPIRAL_BALLS_INWARD, $FF - db SE_RESET_SCREEN_PALETTE, $FF - db $FF - -HardenAnim: - db SE_LIGHT_SCREEN_PALETTE, $69 - db $46,$FF,$43 - db SE_DARK_SCREEN_FLASH, $FF - db SE_RESET_SCREEN_PALETTE, $FF - db $FF - -MinimizeAnim: - db SE_LIGHT_SCREEN_PALETTE, $6A - db SE_SPIRAL_BALLS_INWARD, $FF - db SE_MINIMIZE_MON, $FF - db SE_RESET_SCREEN_PALETTE, $FF - db $FF - -SmokeScreenAnim: - db $46,$6B,$28 - db $04,$FF,$0A - db SE_DARKEN_MON_PALETTE, $FF - db SE_DELAY_ANIMATION_10, $FF - db SE_DELAY_ANIMATION_10, $FF - db SE_DARK_SCREEN_PALETTE, $FF - db SE_DELAY_ANIMATION_10, $FF - db SE_DELAY_ANIMATION_10, $FF - db SE_DELAY_ANIMATION_10, $FF - db SE_DELAY_ANIMATION_10, $FF - db SE_DELAY_ANIMATION_10, $FF - db SE_DELAY_ANIMATION_10, $FF - db SE_DARKEN_MON_PALETTE, $FF - db SE_DELAY_ANIMATION_10, $FF - db SE_RESET_SCREEN_PALETTE, $FF - db $FF - -ConfuseRayAnim: - db SE_DARK_SCREEN_PALETTE, $6C - db $46,$FF,$3E - db SE_RESET_SCREEN_PALETTE, $FF - db $FF - -WithdrawAnim: - db SE_LIGHT_SCREEN_PALETTE, $6E - db SE_SLIDE_MON_DOWN, $FF - db $06,$FF,$51 - db SE_RESET_SCREEN_PALETTE, $FF - db SE_SHOW_MON_PIC, $FF - db $FF - -DefenseCurlAnim: - db SE_LIGHT_SCREEN_PALETTE, $6E - db $06,$FF,$43 - db SE_DARK_SCREEN_FLASH, $FF - db SE_RESET_SCREEN_PALETTE, $FF - db $FF - -BarrierAnim: - db $46,$6F,$33 - db $46,$6F,$33 - db $FF - -LightScreenAnim: - db SE_LIGHT_SCREEN_PALETTE, $FF - db $46,$70,$33 - db $46,$70,$33 - db SE_RESET_SCREEN_PALETTE, $FF - db $FF - -HazeAnim: - db SE_DARKEN_MON_PALETTE, $FF - db SE_WATER_DROPLETS_EVERYWHERE, $38 - db SE_RESET_SCREEN_PALETTE, $FF - db $FF - -ReflectAnim: - db SE_DARK_SCREEN_PALETTE, $FF - db $46,$72,$33 - db $46,$72,$33 - db SE_RESET_SCREEN_PALETTE, $FF - db $FF - -FocusEnergyAnim: - db SE_SPIRAL_BALLS_INWARD, $73 - db $FF - -BideAnim: - db $46,$74,$04 - db $FF - -MetronomeAnim: - db SE_MOVE_MON_HORIZONTALLY, $84 - db SE_DELAY_ANIMATION_10, $FF - db SE_RESET_MON_POSITION, $84 - db SE_DELAY_ANIMATION_10, $FF - db SE_MOVE_MON_HORIZONTALLY, $84 - db SE_DELAY_ANIMATION_10, $FF - db SE_RESET_MON_POSITION, $84 - db $FF - -MirrorMoveAnim: - db $08,$76,$01 - db $FF - -SelfdestructAnim: - db $43,$77,$34 - db $FF - -EggBombAnim: - db $44,$78,$41 - db $44,$78,$42 - db $FF - -LickAnim: - db $46,$7B,$14 - db $FF - -SmogAnim: - db SE_DARKEN_MON_PALETTE, $48 - db $46,$7A,$19 - db SE_RESET_SCREEN_PALETTE, $FF - db $FF - -SludgeAnim: - db $46,$7B,$13 - db $46,$7B,$14 - db $FF - -BoneClubAnim: - db $08,$7C,$02 - db $FF - -FireBlastAnim: - db $46,$7D,$1F - db $46,$FF,$20 - db $46,$FF,$20 - db $46,$FF,$0C - db $46,$FF,$0D - db $FF - -WaterfallAnim: - db SE_SLIDE_MON_DOWN, $48 - db $06,$37,$1A - db $08,$FF,$02 - db SE_SLIDE_MON_UP, $FF - db $FF - -ClampAnim: - db $08,$7F,$2A - db $06,$83,$23 - db $06,$83,$23 - db $FF - -SwiftAnim: - db $43,$80,$3F - db $FF - -SkullBashAnim: - db $46,$81,$05 - db $FF - -SpikeCannonAnim: - db $44,$82,$04 - db $FF - -ConstrictAnim: - db $06,$83,$23 - db $06,$83,$23 - db $06,$83,$23 - db $FF - -AmnesiaAnim: - db $08,$84,$25 - db $08,$84,$25 - db $FF - -KinesisAnim: - db $08,$85,$01 - db $FF - -SoftboiledAnim: - db SE_SLIDE_MON_HALF_OFF, $48 - db $08,$86,$4C - db SE_LIGHT_SCREEN_PALETTE, $FF - db SE_SPIRAL_BALLS_INWARD, $FF - db SE_RESET_SCREEN_PALETTE, $FF - db SE_SHOW_MON_PIC, $FF - db $FF - -HiJumpKickAnim: - db $46,$87,$04 - db $FF - -GlareAnim: - db SE_DARK_SCREEN_PALETTE, $48 - db SE_DARK_SCREEN_FLASH, $88 - db SE_DARK_SCREEN_FLASH, $FF - db SE_RESET_SCREEN_PALETTE, $FF - db $FF - -DreamEaterAnim: - db SE_FLASH_SCREEN_LONG, $89 - db SE_DARK_SCREEN_PALETTE, $89 - db $08,$89,$02 - db SE_RESET_SCREEN_PALETTE, $FF - db $FF - -PoisonGasAnim: - db $46,$8A,$19 - db $FF - -BarrageAnim: - db $43,$8B,$41 - db $05,$FF,$55 - db $FF - -LeechLifeAnim: - db $08,$8C,$02 - db SE_DARK_SCREEN_FLASH, $FF - db $06,$FF,$21 - db $06,$FF,$22 - db SE_DARK_SCREEN_FLASH, $FF - db $FF - -LovelyKissAnim: - db $06,$8D,$12 - db $FF - -SkyAttackAnim: - db SE_SQUISH_MON_PIC, $8E - db SE_SHOOT_BALLS_UPWARD, $FF - db $46,$87,$04 - db SE_SHOW_MON_PIC, $FF - db $FF - -TransformAnim: - db $46,$8F,$21 - db $44,$8F,$22 - db $08,$FF,$47 - db SE_TRANSFORM_MON, $FF - db $FF - -BubbleAnim: - db $16,$90,$35 - db $FF - -DizzyPunchAnim: - db $06,$91,$17 - db $06,$91,$17 - db $06,$91,$17 - db $06,$02,$02 - db $FF - -SporeAnim: - db $06,$92,$36 - db $FF - -FlashAnim: - db SE_LIGHT_SCREEN_PALETTE, $48 - db SE_DARK_SCREEN_FLASH, $88 - db SE_DARK_SCREEN_FLASH, $FF - db SE_RESET_SCREEN_PALETTE, $FF - db $FF - -PsywaveAnim: - db $06,$2F,$31 - db SE_WAVY_SCREEN, $5C - db $FF - -SplashAnim: - db SE_BOUNCE_UP_AND_DOWN, $95 - db $FF - -AcidArmorAnim: - db SE_SLIDE_MON_DOWN_AND_HIDE, $96 - db $FF - -CrabHammerAnim: - db $46,$97,$05 - db $06,$FF,$2A - db $FF - -ExplosionAnim: - db $43,$98,$34 - db $FF - -FurySwipesAnim: - db $04,$99,$0F - db $FF - -BonemerangAnim: - db $06,$9A,$02 - db $FF - -RestAnim: - db $10,$9B,$3A - db $10,$9B,$3A - db $FF - -RockSlideAnim: - db $04,$9C,$1D - db $03,$9C,$1E - db $46,$9D,$04 - db $FF - -HyperFangAnim: - db $06,$9D,$02 - db $FF - -SharpenAnim: - db SE_LIGHT_SCREEN_PALETTE, $9E - db $46,$FF,$43 - db SE_DARK_SCREEN_FLASH, $FF - db SE_RESET_SCREEN_PALETTE, $FF - db $FF - -ConversionAnim: - db SE_DARK_SCREEN_FLASH, $9F - db $46,$FF,$21 - db $46,$FF,$22 - db SE_DARK_SCREEN_FLASH, $FF - db $FF - -TriAttackAnim: - db SE_DARK_SCREEN_FLASH, $A0 - db $46,$FF,$4D - db SE_DARK_SCREEN_FLASH, $FF - db $FF - -SuperFangAnim: - db SE_DARK_SCREEN_PALETTE, $48 - db $46,$A1,$04 - db SE_RESET_SCREEN_PALETTE, $FF - db $FF - -SlashAnim: - db $06,$A2,$0F - db $FF - -SubstituteAnim: - db SE_SLIDE_MON_OFF, $A3 - db $08,$FF,$47 - db SE_SUBSTITUTE_MON, $FF - db $FF - -BallTossAnim: - db $03,$FF,$06 - db $FF - -GreatTossAnim: - db $03,$FF,$07 - db $FF - -UltraTossAnim: - db $02,$FF,$08 - db $FF - -BallShakeAnim: - db $04,$FF,$09 - db $FF - -BallPoofAnim: - db $04,$FF,$0A - db $FF - -ShowPicAnim: - db SE_SHOW_ENEMY_MON_PIC, $FF - db $FF - -HidePicAnim: - db SE_HIDE_ENEMY_MON_PIC, $FF - db $FF - -EnemyFlashAnim: - db SE_SHOW_MON_PIC, $FF - db $FF - -PlayerFlashAnim: - db SE_FLASH_MON_PIC, $FF - db $FF - -EnemyHUDShakeAnim: - db SE_SHAKE_ENEMY_HUD, $FF - db $FF - -TradeBallDropAnim: - db $86,$FF,$48 - db $FF - -TradeBallAppear1Anim: - db $84,$FF,$49 - db $FF - -TradeBallAppear2Anim: - db $86,$FF,$4A - db $FF - -TradeBallPoofAnim: - db $86,$FF,$4B - db $FF - -XStatItemAnim: - db SE_LIGHT_SCREEN_PALETTE, $FF - db SE_SPIRAL_BALLS_INWARD, $FF - db SE_RESET_SCREEN_PALETTE, $FF - db $FF - -ShrinkingSquareAnim: - db SE_LIGHT_SCREEN_PALETTE, $FF - db $46,$FF,$43 - db SE_RESET_SCREEN_PALETTE, $FF - db $FF - -XStatItemBlackAnim: - db SE_DARKEN_MON_PALETTE, $FF - db SE_SPIRAL_BALLS_INWARD, $FF - db SE_RESET_SCREEN_PALETTE, $FF - db $FF - -ShrinkingSquareBlackAnim: - db SE_DARKEN_MON_PALETTE, $FF - db $46,$FF,$43 - db SE_RESET_SCREEN_PALETTE, $FF - db $FF - -UnusedAnim: - db SE_LIGHT_SCREEN_PALETTE, $FF - db SE_SHOOT_MANY_BALLS_UPWARD, $FF - db SE_RESET_SCREEN_PALETTE, $FF - db $FF - -ParalyzeAnim: - db $04,$13,$24 - db $04,$13,$24 - db $FF - -PoisonAnim: - db $08,$13,$27 - db $08,$13,$27 - db $FF - -SleepPlayerAnim: - db $10,$9B,$3A - db $10,$9B,$3A - db $FF - -SleepEnemyAnim: - db $10,$9B,$3B - db $10,$9B,$3B - db $FF - -ConfusedPlayerAnim: - db $08,$84,$25 - db $08,$84,$25 - db $FF - -ConfusedEnemyAnim: - db $08,$84,$26 - db $08,$84,$26 - db $FF - -BallBlockAnim: - db $03,$FF,$0B - db $FF - -FaintAnim: - db SE_SLIDE_MON_DOWN, $5A - db $FF - -ShakeScreenAnim: - db SE_SHAKE_SCREEN, $FF - db $FF - -ThrowRockAnim: - db $03,$8B,$53 - db $FF - -ThrowBaitAnim: - db $03,$8B,$54 - db $FF - -SubanimationPointers: - dw Subanimation00 - dw Subanimation01 - dw Subanimation02 - dw Subanimation03 - dw Subanimation04 - dw Subanimation05 - dw Subanimation06 - dw Subanimation07 - dw Subanimation08 - dw Subanimation09 - dw Subanimation0a - dw Subanimation0b - dw Subanimation0c - dw Subanimation0d - dw Subanimation0e - dw Subanimation0f - dw Subanimation10 - dw Subanimation11 - dw Subanimation12 - dw Subanimation13 - dw Subanimation14 - dw Subanimation15 - dw Subanimation16 - dw Subanimation17 - dw Subanimation18 - dw Subanimation19 - dw Subanimation1a - dw Subanimation1b - dw Subanimation1c - dw Subanimation1d - dw Subanimation1e - dw Subanimation1f - dw Subanimation20 - dw Subanimation21 - dw Subanimation22 - dw Subanimation23 - dw Subanimation24 - dw Subanimation25 - dw Subanimation26 - dw Subanimation27 - dw Subanimation28 - dw Subanimation29 - dw Subanimation2a - dw Subanimation2b - dw Subanimation2c - dw Subanimation2d - dw Subanimation2e - dw Subanimation2f - dw Subanimation30 - dw Subanimation31 - dw Subanimation32 - dw Subanimation33 - dw Subanimation34 - dw Subanimation35 - dw Subanimation36 - dw Subanimation37 - dw Subanimation38 - dw Subanimation39 - dw Subanimation3a - dw Subanimation3b - dw Subanimation3c - dw Subanimation3d - dw Subanimation3e - dw Subanimation3f - dw Subanimation40 - dw Subanimation41 - dw Subanimation42 - dw Subanimation43 - dw Subanimation44 - dw Subanimation45 - dw Subanimation46 - dw Subanimation47 - dw Subanimation48 - dw Subanimation49 - dw Subanimation4a - dw Subanimation4b - dw Subanimation4c - dw Subanimation4d - dw Subanimation4e - dw Subanimation4f - dw Subanimation50 - dw Subanimation51 - dw Subanimation52 - dw Subanimation53 - dw Subanimation54 - dw Subanimation55 - -Subanimation04: - db $43 - db $02,$1a,$00 - db $02,$10,$00 - db $02,$03,$00 - -Subanimation05: - db $41 - db $02,$10,$00 - -Subanimation08: - db $0b - db $03,$30,$00 - db $03,$44,$00 - db $03,$94,$00 - db $03,$60,$00 - db $03,$76,$00 - db $03,$9f,$00 - db $03,$8d,$00 - db $03,$a0,$00 - db $03,$1a,$00 - db $03,$a1,$00 - db $03,$34,$00 - -Subanimation07: - db $0b - db $03,$30,$00 - db $03,$a2,$00 - db $03,$31,$00 - db $03,$a3,$00 - db $03,$32,$00 - db $03,$a4,$00 - db $03,$92,$00 - db $03,$a5,$00 - db $03,$15,$00 - db $03,$a6,$00 - db $03,$34,$00 - -Subanimation06: - db $0b - db $03,$30,$00 - db $03,$a2,$00 - db $03,$93,$00 - db $03,$61,$00 - db $03,$73,$00 - db $03,$a7,$00 - db $03,$33,$00 - db $03,$a8,$00 - db $03,$0e,$00 - db $03,$a9,$00 - db $03,$34,$00 - -Subanimation09: - db $04 - db $03,$21,$04 - db $04,$21,$04 - db $03,$21,$04 - db $05,$21,$04 - -Subanimation0a: - db $46 - db $06,$1b,$00 - db $07,$1b,$00 - db $08,$36,$00 - db $09,$36,$00 - db $0a,$15,$00 - db $0a,$15,$00 - -Subanimation0b: - db $04 - db $01,$2d,$00 - db $03,$2f,$00 - db $03,$35,$00 - db $03,$4d,$00 - -Subanimation55: - db $41 - db $01,$9d,$00 - -Subanimation11: - db $4c - db $0b,$26,$00 - db $0c,$26,$00 - db $0b,$26,$00 - db $0c,$26,$00 - db $0b,$28,$00 - db $0c,$28,$00 - db $0b,$28,$00 - db $0c,$28,$00 - db $0b,$27,$00 - db $0c,$27,$00 - db $0b,$27,$00 - db $0c,$27,$00 - -Subanimation2b: - db $4b - db $0d,$03,$03 - db $0e,$03,$03 - db $0f,$03,$00 - db $0d,$11,$00 - db $0d,$11,$00 - db $0d,$37,$00 - db $0d,$37,$00 - db $10,$21,$00 - db $10,$21,$00 - db $11,$1b,$00 - db $11,$1b,$00 - -Subanimation2c: - db $4c - db $12,$01,$00 - db $12,$0f,$00 - db $12,$1b,$00 - db $12,$25,$00 - db $13,$38,$00 - db $13,$38,$02 - db $14,$38,$00 - db $14,$38,$02 - db $15,$38,$00 - db $15,$38,$00 - db $16,$38,$00 - db $16,$38,$00 - -Subanimation12: - db $69 - db $17,$30,$00 - db $17,$39,$00 - db $17,$3a,$00 - db $17,$3b,$00 - db $17,$3c,$00 - db $17,$3d,$00 - db $17,$3e,$00 - db $17,$3f,$00 - db $17,$1f,$00 - -Subanimation00: - db $41 - db $01,$17,$00 - -Subanimation01: - db $42 - db $01,$0f,$00 - db $01,$1d,$00 - -Subanimation02: - db $43 - db $01,$12,$00 - db $01,$15,$00 - db $01,$1c,$00 - -Subanimation03: - db $44 - db $01,$0b,$00 - db $01,$11,$00 - db $01,$18,$00 - db $01,$1d,$00 - -Subanimation0c: - db $43 - db $0c,$20,$00 - db $0c,$21,$00 - db $0c,$23,$00 - -Subanimation0d: - db $46 - db $0c,$20,$02 - db $0c,$15,$00 - db $0c,$21,$02 - db $0c,$17,$00 - db $0c,$23,$02 - db $0c,$19,$00 - -Subanimation0e: - db $49 - db $0c,$20,$02 - db $0c,$15,$02 - db $0c,$07,$00 - db $0c,$21,$02 - db $0c,$17,$02 - db $0c,$09,$00 - db $0c,$23,$02 - db $0c,$19,$02 - db $0c,$0c,$00 - -Subanimation1f: - db $85 - db $0c,$30,$03 - db $0c,$40,$03 - db $0c,$41,$03 - db $0c,$42,$03 - db $0c,$21,$00 - -Subanimation2e: - db $2e - db $18,$43,$02 - db $75,$52,$04 - db $19,$43,$02 - db $75,$63,$04 - db $1a,$43,$02 - db $75,$4d,$04 - db $1b,$43,$02 - db $75,$97,$04 - db $1c,$43,$02 - db $75,$98,$04 - db $1d,$43,$02 - db $75,$58,$04 - db $1e,$43,$02 - db $75,$1b,$00 - -Subanimation2f: - db $44 - db $1f,$24,$00 - db $20,$20,$00 - db $21,$1a,$00 - db $22,$15,$00 - -Subanimation30: - db $52 - db $23,$00,$02 - db $23,$02,$02 - db $23,$04,$00 - db $23,$07,$02 - db $23,$02,$02 - db $23,$04,$00 - db $23,$0e,$02 - db $23,$02,$02 - db $23,$0c,$00 - db $25,$07,$00 - db $25,$0e,$00 - db $25,$15,$00 - db $24,$24,$02 - db $23,$1c,$02 - db $23,$23,$00 - db $23,$21,$02 - db $24,$28,$00 - db $24,$28,$00 - -Subanimation0f: - db $4c - db $26,$0e,$02 - db $26,$16,$02 - db $26,$1c,$00 - db $27,$0e,$02 - db $27,$16,$02 - db $27,$1c,$00 - db $28,$0e,$02 - db $28,$16,$02 - db $28,$1c,$00 - db $29,$0e,$02 - db $29,$16,$02 - db $29,$1c,$00 - -Subanimation16: - db $4c - db $2a,$05,$00 - db $2b,$05,$02 - db $2b,$0c,$02 - db $2a,$11,$04 - db $2b,$11,$02 - db $2b,$17,$02 - db $2a,$1b,$04 - db $2b,$1b,$02 - db $2b,$20,$02 - db $2a,$2f,$04 - db $2c,$00,$02 - db $2c,$00,$00 - -Subanimation10: - db $88 - db $2d,$44,$00 - db $2e,$45,$00 - db $2d,$46,$00 - db $2e,$47,$00 - db $2d,$48,$00 - db $2e,$49,$00 - db $2d,$2f,$00 - db $2e,$1a,$00 - -Subanimation31: - db $2a - db $2f,$46,$00 - db $2f,$4a,$00 - db $2f,$4b,$00 - db $2f,$4c,$00 - db $2f,$4d,$00 - db $2f,$4e,$00 - db $2f,$4f,$00 - db $2f,$50,$00 - db $2f,$2e,$00 - db $2f,$51,$00 - -Subanimation13: - db $86 - db $30,$31,$00 - db $30,$32,$00 - db $30,$92,$00 - db $30,$0e,$00 - db $30,$0f,$00 - db $30,$10,$00 - -Subanimation14: - db $49 - db $30,$10,$00 - db $30,$10,$03 - db $31,$1c,$04 - db $31,$21,$04 - db $31,$26,$00 - db $30,$10,$02 - db $31,$1d,$04 - db $31,$22,$04 - db $31,$27,$00 - -Subanimation41: - db $85 - db $03,$31,$00 - db $03,$32,$00 - db $03,$92,$00 - db $03,$0e,$00 - db $03,$10,$00 - -Subanimation42: - db $43 - db $48,$08,$00 - db $49,$08,$00 - db $5a,$08,$00 - -Subanimation15: - db $22 - db $35,$52,$00 - db $35,$53,$00 - -Subanimation17: - db $44 - db $36,$54,$00 - db $36,$55,$00 - db $37,$56,$00 - db $37,$57,$00 - -Subanimation18: - db $a4 - db $36,$54,$00 - db $36,$55,$00 - db $37,$56,$00 - db $37,$57,$00 - -Subanimation40: - db $46 - db $17,$54,$00 - db $17,$55,$00 - db $17,$0e,$00 - db $17,$56,$00 - db $17,$57,$00 - db $17,$13,$00 - -Subanimation19: - db $8c - db $38,$31,$00 - db $39,$31,$00 - db $38,$32,$00 - db $39,$32,$00 - db $38,$92,$00 - db $39,$92,$00 - db $38,$0e,$00 - db $39,$0e,$00 - db $38,$0f,$00 - db $39,$0f,$00 - db $38,$10,$00 - db $39,$10,$00 - -Subanimation1a: - db $50 - db $3a,$08,$00 - db $3b,$08,$00 - db $3c,$08,$00 - db $3d,$08,$00 - db $3e,$08,$00 - db $3f,$08,$00 - db $3e,$08,$00 - db $3f,$08,$00 - db $3a,$0b,$00 - db $3b,$0b,$00 - db $3c,$0b,$00 - db $3d,$0b,$00 - db $3e,$0b,$00 - db $3f,$0b,$00 - db $3e,$0b,$00 - db $3f,$0b,$00 - -Subanimation1b: - db $84 - db $40,$31,$00 - db $40,$32,$00 - db $40,$92,$00 - db $40,$15,$00 - -Subanimation1c: - db $43 - db $41,$58,$00 - db $41,$59,$00 - db $41,$21,$00 - -Subanimation1d: - db $af - db $24,$9a,$00 - db $23,$1b,$02 - db $24,$22,$00 - db $23,$16,$02 - db $23,$1d,$02 - db $24,$98,$00 - db $25,$2c,$04 - db $25,$2a,$04 - db $25,$99,$04 - db $25,$62,$04 - db $25,$99,$04 - db $25,$62,$04 - db $25,$99,$04 - db $25,$62,$04 - db $25,$99,$03 - -Subanimation1e: - db $01 - db $25,$75,$00 - -Subanimation20: - db $42 - db $42,$07,$00 - db $43,$07,$00 - -Subanimation21: - db $43 - db $44,$00,$00 - db $45,$08,$00 - db $46,$10,$02 - -Subanimation22: - db $8b - db $47,$10,$00 - db $47,$56,$00 - db $47,$07,$00 - db $47,$aa,$00 - db $47,$ab,$00 - db $47,$ac,$00 - db $47,$ad,$00 - db $47,$ae,$00 - db $47,$af,$00 - db $47,$89,$00 - db $47,$b0,$00 - -Subanimation2d: - db $66 - db $44,$64,$00 - db $45,$65,$00 - db $46,$66,$00 - db $47,$66,$00 - db $47,$66,$00 - db $47,$66,$00 - -Subanimation39: - db $61 - db $47,$67,$00 - -Subanimation4e: - db $41 - db $71,$0f,$03 - -Subanimation4f: - db $47 - db $71,$0f,$00 - db $71,$08,$00 - db $71,$01,$00 - db $71,$95,$00 - db $72,$95,$00 - db $73,$95,$00 - db $74,$95,$00 - -Subanimation50: - db $48 - db $74,$95,$00 - db $73,$95,$00 - db $72,$95,$00 - db $71,$95,$00 - db $71,$01,$00 - db $71,$08,$00 - db $71,$0f,$00 - db $71,$16,$00 - -Subanimation29: - db $5d - db $48,$0f,$00 - db $4a,$68,$03 - db $4b,$2a,$03 - db $49,$0f,$00 - db $4a,$68,$03 - db $4b,$2a,$00 - db $4c,$6a,$03 - db $4d,$69,$03 - db $49,$6b,$00 - db $4c,$6a,$03 - db $4d,$69,$00 - db $4a,$68,$03 - db $4b,$2a,$03 - db $49,$6c,$00 - db $4a,$68,$03 - db $4b,$2a,$00 - db $4c,$6a,$03 - db $4d,$69,$03 - db $49,$6d,$00 - db $4c,$6a,$03 - db $4d,$2a,$00 - db $4a,$68,$03 - db $4b,$2a,$03 - db $49,$0f,$00 - db $4a,$68,$03 - db $4b,$2a,$00 - db $4c,$6a,$03 - db $4d,$2a,$03 - db $49,$6b,$00 - -Subanimation2a: - db $44 - db $4e,$2b,$00 - db $4f,$2b,$00 - db $50,$2b,$00 - db $50,$2b,$00 - -Subanimation23: - db $42 - db $51,$2d,$00 - db $51,$6e,$00 - -Subanimation24: - db $a2 - db $51,$2d,$00 - db $51,$6e,$00 - -Subanimation25: - db $62 - db $52,$71,$00 - db $52,$72,$00 - -Subanimation26: - db $02 - db $52,$01,$00 - db $52,$2c,$00 - -Subanimation3a: - db $63 - db $53,$71,$00 - db $53,$7f,$00 - db $53,$81,$00 - -Subanimation3b: - db $03 - db $53,$01,$00 - db $53,$15,$00 - db $53,$2c,$00 - -Subanimation27: - db $a2 - db $54,$01,$00 - db $54,$2c,$00 - -Subanimation28: - db $23 - db $55,$73,$03 - db $56,$73,$03 - db $57,$73,$00 - -Subanimation32: - db $63 - db $47,$74,$00 - db $47,$43,$00 - db $47,$75,$00 - -Subanimation33: - db $26 - db $58,$76,$00 - db $34,$76,$00 - db $58,$76,$00 - db $34,$76,$00 - db $58,$76,$00 - db $34,$76,$00 - -Subanimation3c: - db $67 - db $59,$79,$03 - db $59,$7b,$03 - db $59,$77,$03 - db $59,$7a,$03 - db $59,$78,$03 - db $59,$7c,$03 - db $59,$76,$00 - -Subanimation3d: - db $08 - db $3a,$4d,$00 - db $3b,$4d,$00 - db $3c,$4d,$00 - db $3d,$4d,$00 - db $3e,$4d,$00 - db $3f,$4d,$00 - db $3e,$4d,$00 - db $3f,$4d,$00 - -Subanimation34: - db $35 - db $48,$7d,$00 - db $49,$7d,$00 - db $5a,$7d,$00 - db $48,$30,$00 - db $49,$30,$00 - db $5a,$30,$00 - db $48,$7e,$00 - db $49,$7e,$00 - db $5a,$7e,$00 - db $48,$7f,$00 - db $49,$7f,$00 - db $5a,$7f,$00 - db $48,$80,$00 - db $49,$80,$00 - db $5a,$80,$00 - db $48,$81,$00 - db $49,$81,$00 - db $5a,$81,$00 - db $48,$82,$00 - db $49,$82,$00 - db $5a,$82,$00 - -Subanimation35: - db $24 - db $5b,$83,$03 - db $5c,$84,$03 - db $5d,$85,$03 - db $5e,$09,$00 - -Subanimation36: - db $48 - db $5f,$2a,$00 - db $5f,$00,$00 - db $60,$2a,$00 - db $60,$00,$00 - db $61,$2a,$00 - db $61,$00,$00 - db $62,$2a,$00 - db $62,$00,$00 - -Subanimation37: - db $2a - db $63,$89,$00 - db $64,$75,$00 - db $63,$76,$00 - db $65,$0d,$00 - db $65,$86,$00 - db $65,$12,$00 - db $65,$87,$00 - db $65,$17,$00 - db $65,$88,$00 - db $65,$1a,$00 - -Subanimation38: - db $50 - db $66,$8a,$00 - db $66,$33,$00 - db $66,$2e,$00 - db $67,$24,$03 - db $66,$01,$04 - db $66,$10,$04 - db $66,$1d,$04 - db $67,$28,$03 - db $66,$2a,$04 - db $66,$0e,$04 - db $66,$1b,$04 - db $67,$26,$03 - db $66,$03,$04 - db $66,$12,$04 - db $66,$1e,$04 - db $67,$29,$00 - -Subanimation3e: - db $92 - db $02,$31,$00 - db $34,$31,$00 - db $02,$31,$00 - db $02,$32,$00 - db $34,$32,$00 - db $02,$32,$00 - db $02,$92,$00 - db $34,$92,$00 - db $02,$92,$00 - db $02,$0e,$00 - db $34,$0e,$00 - db $02,$0e,$00 - db $02,$0f,$00 - db $34,$0f,$00 - db $02,$0f,$00 - db $02,$10,$00 - db $34,$10,$00 - db $02,$10,$00 - -Subanimation3f: - db $72 - db $68,$4b,$00 - db $68,$8c,$00 - db $68,$20,$00 - db $68,$1c,$00 - db $68,$19,$00 - db $68,$14,$00 - db $68,$76,$00 - db $68,$8d,$00 - db $68,$15,$00 - db $68,$10,$00 - db $68,$0c,$00 - db $68,$06,$00 - db $68,$8e,$00 - db $68,$8f,$00 - db $68,$90,$00 - db $68,$26,$00 - db $68,$23,$00 - db $68,$1f,$00 - -Subanimation44: - db $2c - db $69,$4b,$00 - db $69,$8c,$00 - db $69,$20,$00 - db $69,$1c,$00 - db $69,$19,$00 - db $69,$14,$00 - db $69,$76,$00 - db $69,$8d,$00 - db $69,$15,$00 - db $69,$10,$00 - db $69,$0c,$00 - db $69,$06,$00 - -Subanimation43: - db $a3 - db $6a,$07,$00 - db $6b,$0f,$00 - db $6c,$17,$00 - -Subanimation45: - db $24 - db $6d,$8b,$00 - db $6d,$84,$00 - db $6d,$63,$00 - db $6d,$8c,$00 - -Subanimation46: - db $26 - db $6d,$8b,$00 - db $6d,$84,$00 - db $6d,$63,$00 - db $6d,$8c,$00 - db $6d,$0a,$00 - db $6d,$89,$00 - -Subanimation47: - db $23 - db $06,$82,$00 - db $07,$82,$00 - db $08,$96,$00 - -Subanimation48: - db $06 - db $03,$41,$04 - db $03,$48,$04 - db $04,$48,$04 - db $03,$48,$04 - db $05,$48,$04 - db $03,$48,$03 - -Subanimation49: - db $04 - db $04,$48,$04 - db $03,$48,$04 - db $05,$48,$04 - db $03,$48,$03 - -Subanimation4a: - db $01 - db $04,$84,$03 - -Subanimation4b: - db $03 - db $06,$72,$00 - db $07,$72,$00 - db $08,$72,$00 - -Subanimation4c: - db $68 - db $6f,$30,$00 - db $6e,$30,$00 - db $70,$30,$00 - db $6e,$30,$00 - db $6f,$30,$00 - db $6e,$30,$00 - db $70,$30,$00 - db $6e,$30,$00 - -Subanimation4d: - db $26 - db $32,$4b,$00 - db $33,$4f,$00 - db $32,$20,$00 - db $33,$16,$00 - db $32,$19,$00 - db $33,$0d,$00 - -Subanimation51: - db $a6 - db $76,$1b,$00 - db $34,$1b,$00 - db $76,$1b,$00 - db $34,$1b,$00 - db $76,$1b,$00 - db $34,$1b,$00 - -Subanimation52: - db $47 - db $77,$25,$00 - db $77,$9b,$00 - db $77,$1a,$00 - db $77,$9c,$00 - db $77,$2f,$00 - db $77,$50,$00 - db $77,$8c,$00 - -Subanimation53: - db $0c - db $78,$30,$00 - db $78,$a2,$00 - db $78,$93,$00 - db $78,$61,$00 - db $78,$73,$00 - db $78,$a7,$00 - db $78,$33,$00 - db $78,$a8,$00 - db $78,$0e,$00 - db $78,$a9,$00 - db $78,$34,$00 - db $01,$9e,$00 - -Subanimation54: - db $0b - db $79,$30,$00 - db $79,$a2,$00 - db $79,$93,$00 - db $79,$61,$00 - db $79,$73,$00 - db $79,$a7,$00 - db $79,$33,$00 - db $79,$a8,$00 - db $79,$0e,$00 - db $79,$a9,$00 - db $79,$34,$00 - -FrameBlockPointers: - dw FrameBlock00 - dw FrameBlock01 - dw FrameBlock02 - dw FrameBlock03 - dw FrameBlock04 - dw FrameBlock05 - dw FrameBlock06 - dw FrameBlock07 - dw FrameBlock08 - dw FrameBlock09 - dw FrameBlock0a - dw FrameBlock0b - dw FrameBlock0c - dw FrameBlock0d - dw FrameBlock0e - dw FrameBlock0f - dw FrameBlock10 - dw FrameBlock11 - dw FrameBlock12 - dw FrameBlock13 - dw FrameBlock14 - dw FrameBlock15 - dw FrameBlock16 - dw FrameBlock17 - dw FrameBlock18 - dw FrameBlock19 - dw FrameBlock1a - dw FrameBlock1b - dw FrameBlock1c - dw FrameBlock1d - dw FrameBlock1e - dw FrameBlock1f - dw FrameBlock20 - dw FrameBlock21 - dw FrameBlock22 - dw FrameBlock23 - dw FrameBlock24 - dw FrameBlock25 - dw FrameBlock26 - dw FrameBlock27 - dw FrameBlock28 - dw FrameBlock29 - dw FrameBlock2a - dw FrameBlock2b - dw FrameBlock2c - dw FrameBlock2d - dw FrameBlock2e - dw FrameBlock2f - dw FrameBlock30 - dw FrameBlock31 - dw FrameBlock32 - dw FrameBlock33 - dw FrameBlock34 - dw FrameBlock35 - dw FrameBlock36 - dw FrameBlock37 - dw FrameBlock38 - dw FrameBlock39 - dw FrameBlock3a - dw FrameBlock3b - dw FrameBlock3c - dw FrameBlock3d - dw FrameBlock3e - dw FrameBlock3f - dw FrameBlock40 - dw FrameBlock41 - dw FrameBlock42 - dw FrameBlock43 - dw FrameBlock44 - dw FrameBlock45 - dw FrameBlock46 - dw FrameBlock47 - dw SmallBlackCircleFrameBlock - dw LargeBlockCircleFrameBlock - dw FrameBlock4a - dw FrameBlock4b - dw FrameBlock4c - dw FrameBlock4d - dw FrameBlock4e - dw FrameBlock4f - dw FrameBlock50 - dw FrameBlock51 - dw FrameBlock52 - dw FrameBlock53 - dw FrameBlock54 - dw FrameBlock55 - dw FrameBlock56 - dw FrameBlock57 - dw FrameBlock58 - dw FrameBlock59 - dw FrameBlock5a - dw FrameBlock5b - dw FrameBlock5c - dw FrameBlock5d - dw FrameBlock5e - dw FrameBlock5f - dw FrameBlock60 - dw FrameBlock61 - dw FrameBlock62 - dw FrameBlock63 - dw FrameBlock64 - dw FrameBlock65 - dw FrameBlock66 - dw FrameBlock67 - dw FrameBlock68 - dw FrameBlock69 - dw FrameBlock6a - dw FrameBlock6b - dw FrameBlock6c - dw FrameBlock6d - dw FrameBlock6e - dw FrameBlock6f - dw FrameBlock70 - dw FrameBlock71 - dw FrameBlock72 - dw FrameBlock73 - dw FrameBlock74 - dw FrameBlock75 - dw FrameBlock76 - dw FrameBlock77 - dw FrameBlock78 - dw FrameBlock79 - -; FrameBlock format is as follows: -; first byte = number of tiles in FrameBlock -; -; Next, each group of 4 bytes describes a tile in the FrameBlock -; first byte = y offset -; second byte = x offset -; third byte = tile id (it's actually tile id - $31) -; fourth byte = tile properties (xflip/yflip/etc.) -FrameBlock01: - db $09 - db $00,$00,$2c,$00 - db $00,$08,$2d,$00 - db $00,$10,$2c,$20 - db $08,$00,$3c,$00 - db $08,$08,$3d,$00 - db $08,$10,$3c,$20 - db $10,$00,$2c,$40 - db $10,$08,$2d,$40 - db $10,$10,$2c,$60 - -FrameBlock02: - db $10 - db $00,$00,$20,$00 - db $00,$08,$21,$00 - db $00,$10,$21,$20 - db $00,$18,$20,$20 - db $08,$00,$30,$00 - db $08,$08,$31,$00 - db $08,$10,$31,$20 - db $08,$18,$30,$20 - db $10,$00,$30,$40 - db $10,$08,$31,$40 - db $10,$10,$31,$60 - db $10,$18,$30,$60 - db $18,$00,$20,$40 - db $18,$08,$21,$40 - db $18,$10,$21,$60 - db $18,$18,$20,$60 - -FrameBlock03: - db $04 - db $00,$00,$02,$00 - db $00,$08,$02,$20 - db $08,$00,$12,$00 - db $08,$08,$12,$20 - -FrameBlock04: - db $04 - db $00,$00,$06,$00 - db $00,$08,$07,$00 - db $08,$00,$16,$00 - db $08,$08,$17,$00 - -FrameBlock05: - db $04 - db $00,$00,$07,$20 - db $00,$08,$06,$20 - db $08,$00,$17,$20 - db $08,$08,$16,$20 - -FrameBlock06: - db $0c - db $00,$08,$23,$00 - db $08,$00,$32,$00 - db $08,$08,$33,$00 - db $00,$10,$23,$20 - db $08,$10,$33,$20 - db $08,$18,$32,$20 - db $10,$00,$32,$40 - db $10,$08,$33,$40 - db $18,$08,$23,$40 - db $10,$10,$33,$60 - db $10,$18,$32,$60 - db $18,$10,$23,$60 - -FrameBlock07: - db $10 - db $00,$00,$20,$00 - db $00,$08,$21,$00 - db $08,$00,$30,$00 - db $08,$08,$31,$00 - db $00,$10,$21,$20 - db $00,$18,$20,$20 - db $08,$10,$31,$20 - db $08,$18,$30,$20 - db $10,$00,$30,$40 - db $10,$08,$31,$40 - db $18,$00,$20,$40 - db $18,$08,$21,$40 - db $10,$10,$31,$60 - db $10,$18,$30,$60 - db $18,$10,$21,$60 - db $18,$18,$20,$60 - -FrameBlock08: - db $10 - db $00,$00,$20,$00 - db $00,$08,$21,$00 - db $08,$00,$30,$00 - db $08,$08,$31,$00 - db $00,$18,$21,$20 - db $00,$20,$20,$20 - db $08,$18,$31,$20 - db $08,$20,$30,$20 - db $18,$00,$30,$40 - db $18,$08,$31,$40 - db $20,$00,$20,$40 - db $20,$08,$21,$40 - db $18,$18,$31,$60 - db $18,$20,$30,$60 - db $20,$18,$21,$60 - db $20,$20,$20,$60 - -FrameBlock09: - db $0c - db $00,$00,$24,$00 - db $00,$08,$25,$00 - db $08,$00,$34,$00 - db $00,$18,$25,$20 - db $00,$20,$24,$20 - db $08,$20,$34,$20 - db $18,$00,$34,$40 - db $20,$00,$24,$40 - db $20,$08,$25,$40 - db $18,$20,$34,$60 - db $20,$18,$25,$60 - db $20,$20,$24,$60 - -FrameBlock0a: - db $0c - db $00,$00,$24,$00 - db $00,$08,$25,$00 - db $08,$00,$34,$00 - db $00,$20,$25,$20 - db $00,$28,$24,$20 - db $08,$28,$34,$20 - db $20,$00,$34,$40 - db $28,$00,$24,$40 - db $28,$08,$25,$40 - db $20,$28,$34,$60 - db $28,$20,$25,$60 - db $28,$28,$24,$60 - -FrameBlock0b: - db $04 - db $00,$00,$05,$00 - db $00,$08,$05,$20 - db $08,$00,$15,$00 - db $08,$08,$15,$20 - -FrameBlock0c: - db $04 - db $00,$00,$04,$00 - db $00,$08,$04,$20 - db $08,$00,$14,$00 - db $08,$08,$14,$20 - -FrameBlock0d: - db $08 - db $00,$00,$0c,$00 - db $00,$08,$0d,$00 - db $08,$00,$1c,$00 - db $08,$08,$1d,$00 - db $10,$00,$1d,$60 - db $10,$08,$1c,$60 - db $18,$00,$0d,$60 - db $18,$08,$0c,$60 - -FrameBlock0e: - db $04 - db $20,$00,$0c,$00 - db $20,$08,$0d,$00 - db $28,$00,$1c,$00 - db $28,$08,$1d,$00 - -FrameBlock0f: - db $04 - db $30,$00,$1d,$60 - db $30,$08,$1c,$60 - db $38,$00,$0d,$60 - db $38,$08,$0c,$60 - -FrameBlock10: - db $08 - db $00,$00,$0e,$00 - db $00,$08,$0f,$00 - db $08,$00,$1e,$00 - db $08,$08,$1f,$00 - db $00,$10,$0f,$20 - db $00,$18,$0e,$20 - db $08,$10,$1f,$20 - db $08,$18,$1e,$20 - -FrameBlock11: - db $08 - db $00,$00,$0e,$00 - db $00,$08,$0f,$00 - db $08,$00,$1e,$00 - db $08,$08,$1f,$00 - db $00,$20,$0f,$20 - db $00,$28,$0e,$20 - db $08,$20,$1f,$20 - db $08,$28,$1e,$20 - -FrameBlock12: - db $03 - db $00,$00,$37,$00 - db $08,$10,$37,$00 - db $00,$20,$37,$00 - -FrameBlock13: - db $04 - db $00,$00,$36,$00 - db $00,$08,$36,$20 - db $08,$00,$36,$40 - db $08,$08,$36,$60 - -FrameBlock14: - db $08 - db $00,$10,$28,$00 - db $00,$18,$28,$20 - db $08,$10,$38,$00 - db $08,$18,$38,$20 - db $00,$20,$36,$00 - db $00,$28,$36,$20 - db $08,$20,$36,$40 - db $08,$28,$36,$60 - -FrameBlock15: - db $0c - db $00,$00,$28,$00 - db $00,$08,$28,$20 - db $08,$00,$38,$00 - db $08,$08,$38,$20 - db $00,$10,$29,$00 - db $00,$18,$29,$20 - db $08,$10,$39,$00 - db $08,$18,$39,$20 - db $00,$20,$28,$00 - db $00,$28,$28,$20 - db $08,$20,$38,$00 - db $08,$28,$38,$20 - -FrameBlock16: - db $08 - db $00,$00,$29,$00 - db $00,$08,$29,$20 - db $08,$00,$39,$00 - db $08,$08,$39,$20 - db $00,$20,$29,$00 - db $00,$28,$29,$20 - db $08,$20,$39,$00 - db $08,$28,$39,$20 - -FrameBlock17: - db $04 - db $00,$00,$08,$00 - db $00,$08,$09,$00 - db $08,$00,$18,$00 - db $08,$08,$19,$00 - -FrameBlock18: - db $01 - db $18,$00,$45,$60 - -FrameBlock19: - db $02 - db $18,$08,$45,$00 - db $10,$08,$46,$60 - -FrameBlock1a: - db $02 - db $10,$10,$45,$60 - db $18,$10,$46,$00 - -FrameBlock1b: - db $02 - db $10,$18,$45,$00 - db $08,$18,$46,$60 - -FrameBlock1c: - db $02 - db $08,$20,$45,$60 - db $10,$20,$46,$00 - -FrameBlock1d: - db $02 - db $08,$28,$45,$00 - db $00,$28,$46,$60 - -FrameBlock1e: - db $02 - db $00,$30,$45,$60 - db $08,$30,$46,$00 - -FrameBlock75: - db $04 - db $00,$00,$43,$00 - db $00,$08,$43,$20 - db $08,$00,$22,$00 - db $08,$08,$43,$60 - -FrameBlock1f: - db $02 - db $00,$00,$03,$00 - db $00,$30,$03,$20 - -FrameBlock20: - db $06 - db $00,$00,$03,$00 - db $00,$30,$03,$20 - db $08,$08,$03,$00 - db $08,$28,$03,$20 - db $08,$00,$13,$00 - db $08,$30,$13,$20 - -FrameBlock21: - db $0c - db $00,$00,$03,$00 - db $00,$30,$03,$20 - db $08,$08,$03,$00 - db $08,$28,$03,$20 - db $08,$00,$13,$00 - db $08,$30,$13,$20 - db $10,$10,$03,$00 - db $10,$20,$03,$20 - db $10,$08,$13,$00 - db $10,$28,$13,$20 - db $10,$00,$03,$00 - db $10,$30,$03,$20 - -FrameBlock22: - db $13 - db $00,$00,$03,$00 - db $08,$00,$13,$00 - db $10,$00,$03,$00 - db $18,$00,$13,$00 - db $08,$08,$03,$00 - db $10,$08,$13,$00 - db $18,$08,$03,$00 - db $10,$10,$03,$00 - db $18,$10,$13,$00 - db $18,$18,$03,$00 - db $10,$20,$03,$20 - db $18,$20,$13,$20 - db $08,$28,$03,$20 - db $10,$28,$13,$20 - db $18,$28,$03,$20 - db $00,$30,$03,$20 - db $08,$30,$13,$20 - db $10,$30,$03,$20 - db $18,$30,$13,$20 - -FrameBlock23: - db $04 - db $00,$00,$0a,$00 - db $00,$08,$0b,$00 - db $08,$00,$1a,$00 - db $08,$08,$1b,$00 - -FrameBlock24: - db $02 - db $08,$00,$0a,$00 - db $08,$08,$0b,$00 - -FrameBlock25: - db $0c - db $10,$00,$0a,$00 - db $10,$08,$0b,$00 - db $18,$00,$1a,$00 - db $18,$08,$1b,$00 - db $00,$10,$0a,$00 - db $00,$18,$0b,$00 - db $08,$10,$1a,$00 - db $08,$18,$1b,$00 - db $08,$20,$0a,$00 - db $08,$28,$0b,$00 - db $10,$20,$1a,$00 - db $10,$28,$1b,$00 - -FrameBlock26: - db $04 - db $00,$10,$44,$00 - db $00,$18,$44,$20 - db $08,$10,$44,$40 - db $08,$18,$44,$60 - -FrameBlock27: - db $05 - db $08,$08,$44,$00 - db $08,$10,$44,$20 - db $10,$08,$44,$40 - db $10,$10,$44,$60 - db $00,$18,$47,$00 - -FrameBlock28: - db $06 - db $10,$00,$44,$00 - db $10,$08,$44,$20 - db $18,$00,$44,$40 - db $18,$08,$44,$60 - db $08,$10,$47,$00 - db $02,$16,$47,$00 - -FrameBlock29: - db $04 - db $18,$00,$47,$00 - db $12,$06,$47,$00 - db $0c,$0c,$47,$00 - db $06,$12,$47,$00 - -FrameBlock2a: - db $04 - db $00,$00,$44,$00 - db $00,$08,$44,$20 - db $08,$00,$44,$40 - db $08,$08,$44,$60 - -FrameBlock2b: - db $02 - db $06,$02,$47,$00 - db $00,$08,$47,$00 - -FrameBlock2c: - db $01 - db $a0,$00,$4d,$00 - -FrameBlock2d: - db $08 - db $00,$00,$26,$00 - db $00,$08,$27,$00 - db $08,$00,$36,$00 - db $08,$08,$37,$00 - db $10,$00,$28,$00 - db $10,$08,$29,$00 - db $18,$00,$38,$00 - db $18,$08,$39,$00 - -FrameBlock2e: - db $08 - db $00,$00,$27,$20 - db $00,$08,$26,$20 - db $08,$00,$37,$20 - db $08,$08,$36,$20 - db $10,$00,$29,$20 - db $10,$08,$28,$20 - db $18,$00,$39,$20 - db $18,$08,$38,$20 - -FrameBlock2f: - db $04 - db $00,$00,$0c,$00 - db $00,$08,$0d,$00 - db $08,$00,$0c,$40 - db $08,$08,$0d,$40 - -FrameBlock30: - db $04 - db $00,$00,$44,$00 - db $00,$08,$44,$20 - db $08,$00,$44,$40 - db $08,$08,$44,$60 - -FrameBlock31: - db $01 - db $00,$00,$45,$00 - -FrameBlock32: - db $07 - db $00,$00,$4d,$00 - db $00,$08,$2f,$00 - db $00,$10,$4d,$20 - db $08,$00,$4e,$00 - db $08,$08,$07,$00 - db $08,$10,$4e,$20 - db $10,$08,$3f,$00 - -FrameBlock33: - db $07 - db $00,$08,$3f,$40 - db $08,$00,$4e,$40 - db $08,$08,$07,$40 - db $08,$10,$4e,$60 - db $10,$00,$4d,$40 - db $10,$08,$2f,$40 - db $10,$10,$4d,$60 - -FrameBlock34: - db $01 - db $a0,$00,$00,$10 - -FrameBlock35: - db $06 - db $00,$00,$2a,$00 - db $00,$08,$2b,$00 - db $08,$00,$3a,$00 - db $10,$00,$3a,$40 - db $18,$00,$2a,$40 - db $18,$08,$2b,$40 - -FrameBlock36: - db $04 - db $00,$00,$00,$00 - db $00,$08,$01,$00 - db $08,$00,$10,$00 - db $08,$08,$11,$00 - -FrameBlock37: - db $04 - db $00,$00,$01,$a0 - db $00,$08,$00,$a0 - db $08,$00,$11,$a0 - db $08,$08,$10,$a0 - -FrameBlock38: - db $04 - db $00,$00,$0a,$00 - db $00,$08,$0b,$00 - db $08,$00,$1a,$00 - db $08,$08,$1b,$00 - -FrameBlock39: - db $04 - db $00,$00,$0b,$20 - db $00,$08,$0a,$20 - db $08,$00,$1b,$20 - db $08,$08,$1a,$20 - -FrameBlock3a: - db $04 - db $20,$00,$05,$00 - db $20,$08,$05,$20 - db $28,$00,$15,$00 - db $28,$08,$15,$20 - -FrameBlock3b: - db $05 - db $18,$00,$04,$00 - db $18,$08,$04,$20 - db $20,$00,$14,$00 - db $20,$08,$14,$20 - db $28,$04,$41,$00 - -FrameBlock3c: - db $06 - db $10,$00,$05,$00 - db $10,$08,$05,$20 - db $18,$00,$15,$00 - db $18,$08,$15,$20 - db $20,$04,$42,$00 - db $28,$04,$42,$00 - -FrameBlock3d: - db $07 - db $08,$00,$04,$00 - db $08,$08,$04,$20 - db $10,$00,$14,$00 - db $10,$08,$14,$20 - db $18,$04,$41,$00 - db $20,$04,$41,$00 - db $28,$04,$41,$00 - -FrameBlock3e: - db $08 - db $00,$00,$05,$00 - db $00,$08,$05,$20 - db $08,$00,$15,$00 - db $08,$08,$15,$20 - db $10,$04,$42,$00 - db $18,$04,$42,$00 - db $20,$04,$42,$00 - db $28,$04,$42,$00 - -FrameBlock3f: - db $08 - db $00,$00,$04,$00 - db $00,$08,$04,$20 - db $08,$00,$14,$00 - db $08,$08,$14,$20 - db $10,$04,$41,$00 - db $18,$04,$41,$00 - db $20,$04,$41,$00 - db $28,$04,$41,$00 - -FrameBlock40: - db $03 - db $00,$00,$3d,$00 - db $00,$08,$3d,$00 - db $08,$08,$3d,$00 - -FrameBlock41: - db $04 - db $00,$00,$06,$00 - db $00,$08,$06,$20 - db $08,$00,$16,$00 - db $08,$08,$17,$00 - -FrameBlock42: - db $0b - db $00,$10,$42,$00 - db $08,$00,$42,$00 - db $08,$08,$42,$00 - db $08,$10,$42,$00 - db $08,$18,$42,$00 - db $08,$20,$42,$00 - db $10,$10,$42,$00 - db $18,$08,$42,$00 - db $18,$18,$42,$00 - db $20,$00,$42,$00 - db $20,$20,$42,$00 - -FrameBlock43: - db $0b - db $00,$10,$41,$00 - db $08,$00,$41,$00 - db $08,$08,$41,$00 - db $08,$10,$41,$00 - db $08,$18,$41,$00 - db $08,$20,$41,$00 - db $10,$10,$41,$00 - db $18,$08,$41,$00 - db $18,$18,$41,$00 - db $20,$00,$41,$00 - db $20,$20,$41,$00 - -FrameBlock44: - db $04 - db $00,$00,$49,$00 - db $00,$28,$49,$00 - db $28,$00,$49,$00 - db $28,$28,$49,$00 - -FrameBlock45: - db $04 - db $00,$00,$49,$00 - db $00,$18,$49,$00 - db $18,$00,$49,$00 - db $18,$18,$49,$00 - -FrameBlock46: - db $04 - db $00,$00,$49,$00 - db $00,$08,$49,$00 - db $08,$00,$49,$00 - db $08,$08,$49,$00 - -FrameBlock47: - db $04 - db $00,$00,$43,$00 - db $00,$08,$43,$20 - db $08,$00,$43,$40 - db $08,$08,$43,$60 - -SmallBlackCircleFrameBlock: - db $04 - db $08,$08,$33,$00 - db $08,$10,$33,$20 - db $10,$08,$33,$40 - db $10,$10,$33,$60 - -LargeBlockCircleFrameBlock: - db $10 - db $00,$00,$22,$00 - db $00,$08,$23,$00 - db $00,$10,$23,$20 - db $00,$18,$22,$20 - db $08,$00,$32,$00 - db $08,$08,$43,$00 - db $08,$10,$43,$20 - db $08,$18,$32,$20 - db $10,$00,$32,$40 - db $10,$08,$43,$40 - db $10,$10,$43,$60 - db $10,$18,$32,$60 - db $18,$00,$22,$40 - db $18,$08,$23,$40 - db $18,$10,$23,$60 - db $18,$18,$22,$60 - -FrameBlock71: - db $10 - db $00,$00,$22,$00 - db $00,$08,$3b,$00 - db $00,$10,$23,$20 - db $00,$18,$22,$20 - db $08,$00,$32,$00 - db $08,$08,$43,$00 - db $08,$10,$43,$20 - db $08,$18,$32,$20 - db $10,$00,$32,$40 - db $10,$08,$43,$40 - db $10,$10,$43,$60 - db $10,$18,$32,$60 - db $18,$00,$22,$40 - db $18,$08,$23,$40 - db $18,$10,$23,$60 - db $18,$18,$22,$60 - -FrameBlock72: - db $0c - db $00,$00,$32,$00 - db $00,$08,$43,$00 - db $00,$10,$43,$20 - db $00,$18,$32,$20 - db $08,$00,$32,$40 - db $08,$08,$43,$40 - db $08,$10,$43,$60 - db $08,$18,$32,$60 - db $10,$00,$22,$40 - db $10,$08,$23,$40 - db $10,$10,$23,$60 - db $10,$18,$22,$60 - -FrameBlock73: - db $08 - db $00,$00,$32,$40 - db $00,$08,$43,$40 - db $00,$10,$43,$60 - db $00,$18,$32,$60 - db $08,$00,$22,$40 - db $08,$08,$23,$40 - db $08,$10,$23,$60 - db $08,$18,$22,$60 - -FrameBlock74: - db $04 - db $00,$00,$22,$40 - db $00,$08,$23,$40 - db $00,$10,$23,$60 - db $00,$18,$22,$60 - -FrameBlock4a: - db $04 - db $08,$18,$4c,$20 - db $20,$08,$4b,$00 - db $30,$20,$4c,$00 - db $18,$30,$4b,$40 - -FrameBlock4b: - db $04 - db $00,$18,$4c,$00 - db $20,$00,$4b,$40 - db $38,$20,$4c,$20 - db $18,$38,$4b,$00 - -FrameBlock4c: - db $04 - db $10,$08,$4a,$40 - db $30,$10,$4a,$00 - db $28,$30,$4a,$20 - db $08,$28,$4a,$60 - -FrameBlock4d: - db $04 - db $08,$00,$4a,$20 - db $38,$08,$4a,$60 - db $30,$38,$4a,$40 - db $00,$30,$4a,$00 - -FrameBlock4e: - db $08 - db $00,$30,$44,$00 - db $00,$38,$44,$20 - db $08,$30,$44,$40 - db $08,$38,$44,$60 - db $26,$0a,$44,$00 - db $26,$12,$44,$20 - db $2e,$0a,$44,$40 - db $2e,$12,$44,$60 - -FrameBlock4f: - db $0c - db $0e,$22,$44,$00 - db $0e,$2a,$44,$20 - db $16,$22,$44,$40 - db $16,$2a,$44,$60 - db $06,$32,$47,$00 - db $00,$38,$47,$00 - db $1a,$16,$44,$00 - db $1a,$1e,$44,$20 - db $22,$16,$44,$40 - db $22,$1e,$44,$60 - db $30,$08,$47,$00 - db $2a,$0e,$47,$00 - -FrameBlock50: - db $08 - db $06,$32,$47,$00 - db $00,$38,$47,$00 - db $12,$26,$47,$00 - db $0c,$2c,$47,$00 - db $1e,$1a,$47,$00 - db $18,$20,$47,$00 - db $2a,$0e,$47,$00 - db $24,$14,$47,$00 - -FrameBlock51: - db $08 - db $00,$00,$35,$20 - db $08,$00,$35,$40 - db $10,$00,$35,$00 - db $18,$00,$35,$60 - db $00,$40,$35,$00 - db $08,$40,$35,$60 - db $10,$40,$35,$20 - db $18,$40,$35,$40 - -FrameBlock52: - db $04 - db $00,$00,$2a,$00 - db $00,$08,$2b,$00 - db $08,$00,$3a,$00 - db $08,$08,$3b,$00 - -FrameBlock53: - db $03 - db $00,$00,$3f,$00 - db $00,$08,$3f,$00 - db $08,$06,$3f,$00 - -FrameBlock54: - db $04 - db $00,$00,$0e,$00 - db $00,$08,$0e,$20 - db $08,$00,$0f,$00 - db $08,$08,$0f,$20 - -FrameBlock55: - db $03 - db $10,$00,$2c,$00 - db $10,$08,$3c,$00 - db $10,$10,$2d,$00 - -FrameBlock56: - db $06 - db $10,$10,$31,$00 - db $10,$18,$31,$00 - db $08,$10,$2c,$00 - db $08,$18,$3c,$00 - db $08,$20,$2d,$00 - db $10,$20,$2d,$00 - -FrameBlock57: - db $09 - db $08,$20,$31,$00 - db $10,$20,$31,$00 - db $08,$28,$31,$00 - db $10,$28,$31,$00 - db $00,$20,$2c,$00 - db $00,$28,$3c,$00 - db $00,$30,$2d,$00 - db $08,$30,$2d,$00 - db $10,$30,$2d,$00 - -FrameBlock58: - db $07 - db $00,$00,$46,$00 - db $08,$02,$47,$00 - db $10,$03,$48,$00 - db $18,$04,$48,$00 - db $20,$05,$48,$00 - db $28,$05,$48,$00 - db $30,$05,$48,$00 - -FrameBlock59: - db $01 - db $00,$00,$42,$00 - -FrameBlock5a: - db $0c - db $00,$00,$24,$00 - db $00,$08,$25,$00 - db $08,$00,$34,$00 - db $00,$10,$25,$20 - db $00,$18,$24,$20 - db $08,$18,$34,$20 - db $10,$00,$34,$40 - db $18,$00,$24,$40 - db $18,$08,$25,$40 - db $10,$18,$34,$60 - db $18,$10,$25,$60 - db $18,$18,$24,$60 - -FrameBlock5b: - db $04 - db $00,$00,$43,$00 - db $00,$08,$43,$20 - db $08,$00,$43,$40 - db $08,$08,$43,$60 - -FrameBlock5c: - db $08 - db $00,$00,$49,$00 - db $02,$08,$49,$00 - db $18,$00,$49,$00 - db $10,$10,$49,$00 - db $08,$00,$43,$00 - db $08,$08,$43,$20 - db $10,$00,$43,$40 - db $10,$08,$43,$60 - -FrameBlock5d: - db $0b - db $00,$00,$49,$00 - db $18,$02,$49,$00 - db $14,$10,$49,$00 - db $08,$00,$43,$00 - db $00,$08,$43,$20 - db $10,$00,$43,$40 - db $10,$08,$43,$60 - db $04,$08,$43,$00 - db $04,$10,$43,$20 - db $0c,$08,$43,$40 - db $0c,$10,$43,$60 - -FrameBlock5e: - db $0f - db $00,$08,$49,$00 - db $08,$10,$49,$00 - db $20,$00,$49,$00 - db $08,$00,$43,$00 - db $08,$08,$43,$20 - db $10,$00,$43,$40 - db $10,$08,$43,$60 - db $10,$10,$43,$00 - db $10,$18,$43,$20 - db $18,$10,$43,$40 - db $18,$18,$43,$60 - db $20,$08,$43,$00 - db $20,$10,$43,$20 - db $28,$08,$43,$40 - db $28,$10,$43,$60 - -FrameBlock5f: - db $04 - db $00,$00,$49,$00 - db $00,$10,$49,$00 - db $00,$20,$49,$00 - db $00,$30,$49,$00 - -FrameBlock60: - db $08 - db $00,$00,$49,$00 - db $00,$10,$49,$00 - db $00,$20,$49,$00 - db $00,$30,$49,$00 - db $08,$08,$49,$00 - db $08,$18,$49,$00 - db $08,$28,$49,$00 - db $08,$38,$49,$00 - -FrameBlock61: - db $0c - db $00,$00,$49,$00 - db $00,$10,$49,$00 - db $00,$20,$49,$00 - db $00,$30,$49,$00 - db $08,$08,$49,$00 - db $08,$18,$49,$00 - db $08,$28,$49,$00 - db $08,$38,$49,$00 - db $10,$00,$49,$00 - db $10,$10,$49,$00 - db $10,$20,$49,$00 - db $10,$30,$49,$00 - -FrameBlock62: - db $0f - db $00,$00,$49,$00 - db $00,$10,$49,$00 - db $00,$20,$49,$00 - db $00,$30,$49,$00 - db $08,$08,$49,$00 - db $08,$18,$49,$00 - db $08,$28,$49,$00 - db $08,$38,$49,$00 - db $10,$00,$49,$00 - db $10,$10,$49,$00 - db $10,$20,$49,$00 - db $10,$30,$49,$00 - db $18,$08,$49,$00 - db $18,$18,$49,$00 - db $18,$28,$49,$00 - db $18,$38,$49,$00 ; unused - -FrameBlock63: - db $06 - db $10,$00,$26,$00 - db $10,$08,$27,$00 - db $08,$10,$26,$00 - db $08,$18,$27,$00 - db $00,$20,$26,$00 - db $00,$28,$27,$00 - -FrameBlock64: - db $06 - db $18,$00,$27,$00 - db $10,$08,$26,$00 - db $10,$10,$27,$00 - db $08,$18,$26,$00 - db $08,$20,$27,$00 - db $00,$28,$26,$00 - -FrameBlock65: - db $06 - db $00,$00,$1c,$00 - db $00,$08,$1d,$00 - db $10,$00,$1c,$00 - db $10,$08,$1d,$00 - db $20,$00,$1c,$00 - db $20,$08,$1d,$00 - -FrameBlock66: - db $02 - db $00,$00,$03,$00 - db $08,$00,$13,$00 - -FrameBlock67: - db $01 - db $00,$00,$03,$00 - -FrameBlock68: - db $04 - db $00,$00,$03,$00 - db $00,$08,$03,$20 - db $08,$00,$13,$00 - db $08,$08,$13,$20 - -FrameBlock69: - db $01 - db $00,$00,$06,$00 - -FrameBlock6a: - db $08 - db $00,$00,$2e,$00 - db $00,$30,$2e,$20 - db $30,$00,$2e,$40 - db $30,$30,$2e,$60 - db $00,$18,$2f,$00 - db $30,$18,$2f,$40 - db $18,$00,$3e,$00 - db $18,$30,$3e,$20 - -FrameBlock6b: - db $08 - db $00,$00,$2e,$00 - db $00,$20,$2e,$20 - db $20,$00,$2e,$40 - db $20,$20,$2e,$60 - db $00,$10,$2f,$00 - db $20,$10,$2f,$40 - db $10,$00,$3e,$00 - db $10,$20,$3e,$20 - -FrameBlock6c: - db $08 - db $00,$00,$2e,$00 - db $00,$10,$2e,$20 - db $10,$00,$2e,$40 - db $10,$10,$2e,$60 - db $00,$08,$2f,$00 - db $10,$08,$2f,$40 - db $08,$00,$3e,$00 - db $08,$10,$3e,$20 - -FrameBlock6d: - db $02 - db $00,$00,$1e,$00 - db $00,$08,$1f,$00 - -FrameBlock6e: - db $04 - db $00,$00,$48,$00 - db $00,$08,$48,$20 - db $08,$00,$12,$00 - db $08,$08,$12,$20 - -FrameBlock6f: - db $04 - db $00,$00,$4a,$00 - db $00,$08,$07,$00 - db $08,$00,$16,$00 - db $08,$08,$17,$00 - -FrameBlock70: - db $04 - db $00,$00,$07,$20 - db $00,$08,$4a,$20 - db $08,$00,$17,$20 - db $08,$08,$16,$20 - -FrameBlock76: - db $07 - db $00,$10,$2f,$00 - db $01,$08,$2f,$00 - db $01,$18,$2f,$00 - db $02,$00,$2e,$00 - db $02,$20,$2e,$20 - db $0a,$00,$3e,$00 - db $0a,$20,$3e,$20 - -FrameBlock77: - db $04 - db $00,$02,$4b,$00 - db $00,$0a,$4c,$00 - db $08,$00,$4c,$60 - db $08,$08,$4b,$60 - -FrameBlock78: - db $01 - db $00,$00,$4d,$00 - -FrameBlock79: - db $01 - db $00,$00,$4e,$00 - -FrameBlockBaseCoords: - db $10,$68 - db $10,$70 - db $10,$78 - db $10,$80 - db $10,$88 - db $10,$90 - db $10,$98 - db $18,$68 - db $18,$70 - db $18,$78 - db $34,$28 - db $18,$80 - db $18,$88 - db $18,$98 - db $20,$68 - db $20,$70 - db $20,$78 - db $20,$80 - db $20,$88 - db $20,$90 - db $20,$98 - db $28,$68 - db $28,$70 - db $28,$78 - db $28,$80 - db $28,$88 - db $30,$68 - db $30,$70 - db $30,$78 - db $30,$80 - db $30,$90 - db $30,$98 - db $38,$68 - db $38,$78 - db $38,$80 - db $38,$88 - db $40,$68 - db $40,$70 - db $40,$78 - db $40,$80 - db $40,$88 - db $40,$98 - db $10,$60 - db $18,$60 - db $20,$60 - db $28,$60 - db $30,$60 - db $40,$60 - db $58,$28 - db $43,$38 - db $33,$48 - db $20,$58 - db $32,$78 - db $58,$58 - db $2C,$6C - db $34,$80 - db $48,$70 - db $42,$36 - db $38,$44 - db $40,$52 - db $48,$60 - db $3E,$6E - db $28,$7C - db $28,$8A - db $50,$3C - db $48,$50 - db $40,$64 - db $38,$38 - db $50,$30 - db $50,$38 - db $50,$40 - db $50,$48 - db $50,$50 - db $48,$58 - db $50,$44 - db $48,$48 - db $48,$4C - db $40,$50 - db $40,$54 - db $38,$58 - db $38,$5C - db $30,$64 - db $48,$40 - db $48,$39 - db $24,$88 - db $24,$70 - db $1C,$70 - db $1C,$88 - db $34,$68 - db $34,$88 - db $68,$50 - db $60,$50 - db $68,$60 - db $58,$50 - db $60,$60 - db $68,$40 - db $40,$40 - db $38,$40 - db $0B,$60 - db $44,$48 - db $40,$14 - db $48,$1C - db $50,$24 - db $4C,$24 - db $10,$62 - db $12,$62 - db $12,$60 - db $20,$72 - db $22,$72 - db $22,$70 - db $28,$62 - db $50,$0A - db $52,$0A - db $38,$30 - db $40,$48 - db $30,$48 - db $40,$30 - db $30,$40 - db $38,$48 - db $40,$4A - db $48,$4B - db $50,$4C - db $58,$4D - db $60,$4D - db $68,$4D - db $38,$10 - db $50,$10 - db $38,$28 - db $48,$18 - db $40,$20 - db $48,$20 - db $40,$3C - db $38,$50 - db $28,$64 - db $1C,$90 - db $24,$80 - db $2C,$70 - db $30,$38 - db $10,$50 - db $3C,$40 - db $40,$58 - db $30,$58 - db $58,$48 - db $50,$58 - db $48,$68 - db $40,$18 - db $28,$58 - db $40,$38 - db $48,$38 - db $08,$70 - db $44,$1C - db $3C,$58 - db $38,$60 - db $08,$60 - db $38,$70 - db $38,$6C - db $38,$64 - db $1C,$74 - db $2E,$74 - db $34,$50 - db $2F,$60 - db $31,$70 - db $4C,$30 - db $3B,$40 - db $2D,$50 - db $26,$60 - db $2D,$70 - db $28,$50 - db $1E,$60 - db $29,$70 - db $16,$60 - db $14,$58 - db $12,$54 - db $14,$50 - db $18,$4C - db $1C,$48 - db $48,$28 - -FrameBlock00: - db $00,$00 diff --git a/data/baseStats/abra.asm b/data/baseStats/abra.asm deleted file mode 100644 index dfb446ca..00000000 --- a/data/baseStats/abra.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_ABRA ; pokedex id -db 25 ; base hp -db 20 ; base attack -db 15 ; base defense -db 90 ; base speed -db 105 ; base special -db PSYCHIC ; species type 1 -db PSYCHIC ; species type 2 -db 200 ; catch rate -db 73 ; base exp yield -INCBIN "gfx/pokemon/front/abra.pic",0,1 ; 55, sprite dimensions -dw AbraPicFront -dw AbraPicBack -; attacks known at lvl 0 -db TELEPORT -db 0 -db 0 -db 0 -db 3 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10 - tmlearn 17,18,19,20 - tmlearn 29,30,31,32 - tmlearn 33,34,35,40 - tmlearn 44,45,46 - tmlearn 49,50,55 -db 0 ; padding diff --git a/data/baseStats/aerodactyl.asm b/data/baseStats/aerodactyl.asm deleted file mode 100644 index 564fc831..00000000 --- a/data/baseStats/aerodactyl.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_AERODACTYL ; pokedex id -db 80 ; base hp -db 105 ; base attack -db 65 ; base defense -db 130 ; base speed -db 60 ; base special -db ROCK ; species type 1 -db FLYING ; species type 2 -db 45 ; catch rate -db 202 ; base exp yield -INCBIN "gfx/pokemon/front/aerodactyl.pic",0,1 ; 77, sprite dimensions -dw AerodactylPicFront -dw AerodactylPicBack -; attacks known at lvl 0 -db WING_ATTACK -db AGILITY -db 0 -db 0 -db 5 ; growth rate -; learnset - tmlearn 2,4,6 - tmlearn 9,10,15 - tmlearn 20,23 - tmlearn 31,32 - tmlearn 33,34,38,39 - tmlearn 43,44 - tmlearn 50,52 -db 0 ; padding diff --git a/data/baseStats/alakazam.asm b/data/baseStats/alakazam.asm deleted file mode 100644 index 57f7f516..00000000 --- a/data/baseStats/alakazam.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_ALAKAZAM ; pokedex id -db 55 ; base hp -db 50 ; base attack -db 45 ; base defense -db 120 ; base speed -db 135 ; base special -db PSYCHIC ; species type 1 -db PSYCHIC ; species type 2 -db 50 ; catch rate -db 186 ; base exp yield -INCBIN "gfx/pokemon/front/alakazam.pic",0,1 ; 77, sprite dimensions -dw AlakazamPicFront -dw AlakazamPicBack -; attacks known at lvl 0 -db TELEPORT -db CONFUSION -db DISABLE -db 0 -db 3 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,15 - tmlearn 17,18,19,20 - tmlearn 28,29,30,31,32 - tmlearn 33,34,35,40 - tmlearn 44,45,46 - tmlearn 49,50,55 -db 0 ; padding diff --git a/data/baseStats/arbok.asm b/data/baseStats/arbok.asm deleted file mode 100644 index 1e88289f..00000000 --- a/data/baseStats/arbok.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_ARBOK ; pokedex id -db 60 ; base hp -db 85 ; base attack -db 69 ; base defense -db 80 ; base speed -db 65 ; base special -db POISON ; species type 1 -db POISON ; species type 2 -db 90 ; catch rate -db 147 ; base exp yield -INCBIN "gfx/pokemon/front/arbok.pic",0,1 ; 77, sprite dimensions -dw ArbokPicFront -dw ArbokPicBack -; attacks known at lvl 0 -db WRAP -db LEER -db POISON_STING -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10,15 - tmlearn 20,21 - tmlearn 26,27,28,31,32 - tmlearn 34,40 - tmlearn 44,48 - tmlearn 50,54 -db 0 ; padding diff --git a/data/baseStats/arcanine.asm b/data/baseStats/arcanine.asm deleted file mode 100644 index c661cc88..00000000 --- a/data/baseStats/arcanine.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_ARCANINE ; pokedex id -db 90 ; base hp -db 110 ; base attack -db 80 ; base defense -db 95 ; base speed -db 80 ; base special -db FIRE ; species type 1 -db FIRE ; species type 2 -db 75 ; catch rate -db 213 ; base exp yield -INCBIN "gfx/pokemon/front/arcanine.pic",0,1 ; 77, sprite dimensions -dw ArcaninePicFront -dw ArcaninePicBack -; attacks known at lvl 0 -db ROAR -db EMBER -db LEER -db TAKE_DOWN -db 5 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10,15 - tmlearn 20,23 - tmlearn 28,30,31,32 - tmlearn 33,34,38,39,40 - tmlearn 44 - tmlearn 50 -db 0 ; padding diff --git a/data/baseStats/articuno.asm b/data/baseStats/articuno.asm deleted file mode 100644 index 6265c654..00000000 --- a/data/baseStats/articuno.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_ARTICUNO ; pokedex id -db 90 ; base hp -db 85 ; base attack -db 100 ; base defense -db 85 ; base speed -db 125 ; base special -db ICE ; species type 1 -db FLYING ; species type 2 -db 3 ; catch rate -db 215 ; base exp yield -INCBIN "gfx/pokemon/front/articuno.pic",0,1 ; 77, sprite dimensions -dw ArticunoPicFront -dw ArticunoPicBack -; attacks known at lvl 0 -db PECK -db ICE_BEAM -db 0 -db 0 -db 5 ; growth rate -; learnset - tmlearn 2,4,6 - tmlearn 9,10,11,12,13,14,15 - tmlearn 20 - tmlearn 31,32 - tmlearn 33,34,39 - tmlearn 43,44 - tmlearn 50,52 -db 0 ; padding diff --git a/data/baseStats/beedrill.asm b/data/baseStats/beedrill.asm deleted file mode 100644 index 516f5747..00000000 --- a/data/baseStats/beedrill.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_BEEDRILL ; pokedex id -db 65 ; base hp -db 80 ; base attack -db 40 ; base defense -db 75 ; base speed -db 45 ; base special -db BUG ; species type 1 -db POISON ; species type 2 -db 45 ; catch rate -db 159 ; base exp yield -INCBIN "gfx/pokemon/front/beedrill.pic",0,1 ; 77, sprite dimensions -dw BeedrillPicFront -dw BeedrillPicBack -; attacks known at lvl 0 -db FURY_ATTACK -db 0 -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 3,6 - tmlearn 9,10,15 - tmlearn 20,21 - tmlearn 31,32 - tmlearn 33,34,39,40 - tmlearn 44 - tmlearn 50,51 -db 0 ; padding diff --git a/data/baseStats/bellsprout.asm b/data/baseStats/bellsprout.asm deleted file mode 100644 index 42c1a22c..00000000 --- a/data/baseStats/bellsprout.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_BELLSPROUT ; pokedex id -db 50 ; base hp -db 75 ; base attack -db 35 ; base defense -db 40 ; base speed -db 70 ; base special -db GRASS ; species type 1 -db POISON ; species type 2 -db 255 ; catch rate -db 84 ; base exp yield -INCBIN "gfx/pokemon/front/bellsprout.pic",0,1 ; 55, sprite dimensions -dw BellsproutPicFront -dw BellsproutPicBack -; attacks known at lvl 0 -db VINE_WHIP -db GROWTH -db 0 -db 0 -db 3 ; growth rate -; learnset - tmlearn 3,6 - tmlearn 9,10 - tmlearn 20,21,22 - tmlearn 31,32 - tmlearn 33,34 - tmlearn 44 - tmlearn 50,51 -db 0 ; padding diff --git a/data/baseStats/blastoise.asm b/data/baseStats/blastoise.asm deleted file mode 100644 index 1e073c26..00000000 --- a/data/baseStats/blastoise.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_BLASTOISE ; pokedex id -db 79 ; base hp -db 83 ; base attack -db 100 ; base defense -db 78 ; base speed -db 85 ; base special -db WATER ; species type 1 -db WATER ; species type 2 -db 45 ; catch rate -db 210 ; base exp yield -INCBIN "gfx/pokemon/front/blastoise.pic",0,1 ; 77, sprite dimensions -dw BlastoisePicFront -dw BlastoisePicBack -; attacks known at lvl 0 -db TACKLE -db TAIL_WHIP -db BUBBLE -db WATER_GUN -db 3 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,11,12,13,14,15 - tmlearn 17,18,19,20 - tmlearn 26,27,28,31,32 - tmlearn 33,34,40 - tmlearn 44 - tmlearn 50,53,54 -db 0 ; padding diff --git a/data/baseStats/bulbasaur.asm b/data/baseStats/bulbasaur.asm deleted file mode 100644 index 08e171ef..00000000 --- a/data/baseStats/bulbasaur.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_BULBASAUR ; pokedex id -db 45 ; base hp -db 49 ; base attack -db 49 ; base defense -db 45 ; base speed -db 65 ; base special -db GRASS ; species type 1 -db POISON ; species type 2 -db 45 ; catch rate -db 64 ; base exp yield -INCBIN "gfx/pokemon/front/bulbasaur.pic",0,1 ; 55, sprite dimensions -dw BulbasaurPicFront -dw BulbasaurPicBack -; attacks known at lvl 0 -db TACKLE -db GROWL -db 0 -db 0 -db 3 ; growth rate -; learnset - tmlearn 3,6,8 - tmlearn 9,10 - tmlearn 20,21,22 - tmlearn 31,32 - tmlearn 33,34 - tmlearn 44 - tmlearn 50,51 -db 0 ; padding diff --git a/data/baseStats/butterfree.asm b/data/baseStats/butterfree.asm deleted file mode 100644 index 2f0dae18..00000000 --- a/data/baseStats/butterfree.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_BUTTERFREE ; pokedex id -db 60 ; base hp -db 45 ; base attack -db 50 ; base defense -db 70 ; base speed -db 80 ; base special -db BUG ; species type 1 -db FLYING ; species type 2 -db 45 ; catch rate -db 160 ; base exp yield -INCBIN "gfx/pokemon/front/butterfree.pic",0,1 ; 77, sprite dimensions -dw ButterfreePicFront -dw ButterfreePicBack -; attacks known at lvl 0 -db CONFUSION -db 0 -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 2,4,6 - tmlearn 9,10,15 - tmlearn 20,21,22 - tmlearn 29,30,31,32 - tmlearn 33,34,39 - tmlearn 44,46 - tmlearn 50 -db 0 ; padding diff --git a/data/baseStats/caterpie.asm b/data/baseStats/caterpie.asm deleted file mode 100644 index 75270144..00000000 --- a/data/baseStats/caterpie.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_CATERPIE ; pokedex id -db 45 ; base hp -db 30 ; base attack -db 35 ; base defense -db 45 ; base speed -db 20 ; base special -db BUG ; species type 1 -db BUG ; species type 2 -db 255 ; catch rate -db 53 ; base exp yield -INCBIN "gfx/pokemon/front/caterpie.pic",0,1 ; 55, sprite dimensions -dw CaterpiePicFront -dw CaterpiePicBack -; attacks known at lvl 0 -db TACKLE -db STRING_SHOT -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 -db 0 ; padding diff --git a/data/baseStats/chansey.asm b/data/baseStats/chansey.asm deleted file mode 100644 index 7f0cf16e..00000000 --- a/data/baseStats/chansey.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_CHANSEY ; pokedex id -db 250 ; base hp -db 5 ; base attack -db 5 ; base defense -db 50 ; base speed -db 105 ; base special -db NORMAL ; species type 1 -db NORMAL ; species type 2 -db 30 ; catch rate -db 255 ; base exp yield -INCBIN "gfx/pokemon/front/chansey.pic",0,1 ; 66, sprite dimensions -dw ChanseyPicFront -dw ChanseyPicBack -; attacks known at lvl 0 -db POUND -db DOUBLESLAP -db 0 -db 0 -db 4 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,11,12,13,14,15 - tmlearn 17,18,19,20,22,24 - tmlearn 25,29,30,31,32 - tmlearn 33,34,35,37,38,40 - tmlearn 41,44,45,46 - tmlearn 49,50,54,55 -db 0 ; padding diff --git a/data/baseStats/charizard.asm b/data/baseStats/charizard.asm deleted file mode 100644 index c0df120e..00000000 --- a/data/baseStats/charizard.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_CHARIZARD ; pokedex id -db 78 ; base hp -db 84 ; base attack -db 78 ; base defense -db 100 ; base speed -db 85 ; base special -db FIRE ; species type 1 -db FLYING ; species type 2 -db 45 ; catch rate -db 209 ; base exp yield -INCBIN "gfx/pokemon/front/charizard.pic",0,1 ; 77, sprite dimensions -dw CharizardPicFront -dw CharizardPicBack -; attacks known at lvl 0 -db SCRATCH -db GROWL -db EMBER -db LEER -db 3 ; growth rate -; learnset - tmlearn 1,3,5,6,8 - tmlearn 9,10,15 - tmlearn 17,18,19,20,23 - tmlearn 26,27,28,31,32 - tmlearn 33,34,38,39,40 - tmlearn 44 - tmlearn 50,51,54 -db 0 ; padding diff --git a/data/baseStats/charmander.asm b/data/baseStats/charmander.asm deleted file mode 100644 index a296b609..00000000 --- a/data/baseStats/charmander.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_CHARMANDER ; pokedex id -db 39 ; base hp -db 52 ; base attack -db 43 ; base defense -db 65 ; base speed -db 50 ; base special -db FIRE ; species type 1 -db FIRE ; species type 2 -db 45 ; catch rate -db 65 ; base exp yield -INCBIN "gfx/pokemon/front/charmander.pic",0,1 ; 55, sprite dimensions -dw CharmanderPicFront -dw CharmanderPicBack -; attacks known at lvl 0 -db SCRATCH -db GROWL -db 0 -db 0 -db 3 ; growth rate -; learnset - tmlearn 1,3,5,6,8 - tmlearn 9,10 - tmlearn 17,18,19,20,23 - tmlearn 28,31,32 - tmlearn 33,34,38,39,40 - tmlearn 44 - tmlearn 50,51,54 -db 0 ; padding diff --git a/data/baseStats/charmeleon.asm b/data/baseStats/charmeleon.asm deleted file mode 100644 index 62e8eb89..00000000 --- a/data/baseStats/charmeleon.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_CHARMELEON ; pokedex id -db 58 ; base hp -db 64 ; base attack -db 58 ; base defense -db 80 ; base speed -db 65 ; base special -db FIRE ; species type 1 -db FIRE ; species type 2 -db 45 ; catch rate -db 142 ; base exp yield -INCBIN "gfx/pokemon/front/charmeleon.pic",0,1 ; 66, sprite dimensions -dw CharmeleonPicFront -dw CharmeleonPicBack -; attacks known at lvl 0 -db SCRATCH -db GROWL -db EMBER -db 0 -db 3 ; growth rate -; learnset - tmlearn 1,3,5,6,8 - tmlearn 9,10 - tmlearn 17,18,19,20,23 - tmlearn 28,31,32 - tmlearn 33,34,38,39,40 - tmlearn 44 - tmlearn 50,51,54 -db 0 ; padding diff --git a/data/baseStats/clefable.asm b/data/baseStats/clefable.asm deleted file mode 100644 index 407a5170..00000000 --- a/data/baseStats/clefable.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_CLEFABLE ; pokedex id -db 95 ; base hp -db 70 ; base attack -db 73 ; base defense -db 60 ; base speed -db 85 ; base special -db NORMAL ; species type 1 -db NORMAL ; species type 2 -db 25 ; catch rate -db 129 ; base exp yield -INCBIN "gfx/pokemon/front/clefable.pic",0,1 ; 66, sprite dimensions -dw ClefablePicFront -dw ClefablePicBack -; attacks known at lvl 0 -db SING -db DOUBLESLAP -db MINIMIZE -db METRONOME -db 4 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,11,12,13,14,15 - tmlearn 17,18,19,20,22,24 - tmlearn 25,29,30,31,32 - tmlearn 33,34,35,38,40 - tmlearn 44,45,46 - tmlearn 49,50,54,55 -db 0 ; padding diff --git a/data/baseStats/clefairy.asm b/data/baseStats/clefairy.asm deleted file mode 100644 index 2e3bbf92..00000000 --- a/data/baseStats/clefairy.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_CLEFAIRY ; pokedex id -db 70 ; base hp -db 45 ; base attack -db 48 ; base defense -db 35 ; base speed -db 60 ; base special -db NORMAL ; species type 1 -db NORMAL ; species type 2 -db 150 ; catch rate -db 68 ; base exp yield -INCBIN "gfx/pokemon/front/clefairy.pic",0,1 ; 55, sprite dimensions -dw ClefairyPicFront -dw ClefairyPicBack -; attacks known at lvl 0 -db POUND -db GROWL -db 0 -db 0 -db 4 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,11,12,13,14 - tmlearn 17,18,19,20,22,24 - tmlearn 25,29,30,31,32 - tmlearn 33,34,35,38,40 - tmlearn 44,45,46 - tmlearn 49,50,54,55 -db 0 ; padding diff --git a/data/baseStats/cloyster.asm b/data/baseStats/cloyster.asm deleted file mode 100644 index 9b79bd78..00000000 --- a/data/baseStats/cloyster.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_CLOYSTER ; pokedex id -db 50 ; base hp -db 95 ; base attack -db 180 ; base defense -db 70 ; base speed -db 85 ; base special -db WATER ; species type 1 -db ICE ; species type 2 -db 60 ; catch rate -db 203 ; base exp yield -INCBIN "gfx/pokemon/front/cloyster.pic",0,1 ; 77, sprite dimensions -dw CloysterPicFront -dw CloysterPicBack -; attacks known at lvl 0 -db WITHDRAW -db SUPERSONIC -db CLAMP -db AURORA_BEAM -db 5 ; growth rate -; learnset - tmlearn 6 - tmlearn 9,10,11,12,13,14,15 - tmlearn 20 - tmlearn 30,31,32 - tmlearn 33,34,36,39 - tmlearn 44,47 - tmlearn 49,50,53 -db 0 ; padding diff --git a/data/baseStats/cubone.asm b/data/baseStats/cubone.asm deleted file mode 100644 index 776a771c..00000000 --- a/data/baseStats/cubone.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_CUBONE ; pokedex id -db 50 ; base hp -db 50 ; base attack -db 95 ; base defense -db 35 ; base speed -db 40 ; base special -db GROUND ; species type 1 -db GROUND ; species type 2 -db 190 ; catch rate -db 87 ; base exp yield -INCBIN "gfx/pokemon/front/cubone.pic",0,1 ; 55, sprite dimensions -dw CubonePicFront -dw CubonePicBack -; attacks known at lvl 0 -db BONE_CLUB -db GROWL -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,11,12,13,14 - tmlearn 17,18,19,20 - tmlearn 26,27,28,31,32 - tmlearn 34,38,40 - tmlearn 44 - tmlearn 50,54 -db 0 ; padding diff --git a/data/baseStats/dewgong.asm b/data/baseStats/dewgong.asm deleted file mode 100644 index 59ab04b0..00000000 --- a/data/baseStats/dewgong.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_DEWGONG ; pokedex id -db 90 ; base hp -db 70 ; base attack -db 80 ; base defense -db 70 ; base speed -db 95 ; base special -db WATER ; species type 1 -db ICE ; species type 2 -db 75 ; catch rate -db 176 ; base exp yield -INCBIN "gfx/pokemon/front/dewgong.pic",0,1 ; 66, sprite dimensions -dw DewgongPicFront -dw DewgongPicBack -; attacks known at lvl 0 -db HEADBUTT -db GROWL -db AURORA_BEAM -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,7,8 - tmlearn 9,10,11,12,13,14,15,16 - tmlearn 20 - tmlearn 31,32 - tmlearn 34,40 - tmlearn 44 - tmlearn 50,53,54 -db 0 ; padding diff --git a/data/baseStats/diglett.asm b/data/baseStats/diglett.asm deleted file mode 100644 index da8648d8..00000000 --- a/data/baseStats/diglett.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_DIGLETT ; pokedex id -db 10 ; base hp -db 55 ; base attack -db 25 ; base defense -db 95 ; base speed -db 45 ; base special -db GROUND ; species type 1 -db GROUND ; species type 2 -db 255 ; catch rate -db 81 ; base exp yield -INCBIN "gfx/pokemon/front/diglett.pic",0,1 ; 55, sprite dimensions -dw DiglettPicFront -dw DiglettPicBack -; attacks known at lvl 0 -db SCRATCH -db 0 -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10 - tmlearn 20 - tmlearn 26,27,28,31,32 - tmlearn 34 - tmlearn 44,48 - tmlearn 50 -db 0 ; padding diff --git a/data/baseStats/ditto.asm b/data/baseStats/ditto.asm deleted file mode 100644 index aff87275..00000000 --- a/data/baseStats/ditto.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_DITTO ; pokedex id -db 48 ; base hp -db 48 ; base attack -db 48 ; base defense -db 48 ; base speed -db 48 ; base special -db NORMAL ; species type 1 -db NORMAL ; species type 2 -db 35 ; catch rate -db 61 ; base exp yield -INCBIN "gfx/pokemon/front/ditto.pic",0,1 ; 55, sprite dimensions -dw DittoPicFront -dw DittoPicBack -; attacks known at lvl 0 -db TRANSFORM -db 0 -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 -db 0 ; padding diff --git a/data/baseStats/dodrio.asm b/data/baseStats/dodrio.asm deleted file mode 100644 index baf1fd8a..00000000 --- a/data/baseStats/dodrio.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_DODRIO ; pokedex id -db 60 ; base hp -db 110 ; base attack -db 70 ; base defense -db 100 ; base speed -db 60 ; base special -db NORMAL ; species type 1 -db FLYING ; species type 2 -db 45 ; catch rate -db 158 ; base exp yield -INCBIN "gfx/pokemon/front/dodrio.pic",0,1 ; 77, sprite dimensions -dw DodrioPicFront -dw DodrioPicBack -; attacks known at lvl 0 -db PECK -db GROWL -db FURY_ATTACK -db 0 -db 0 ; growth rate -; learnset - tmlearn 4,6,8 - tmlearn 9,10,15 - tmlearn 20 - tmlearn 31,32 - tmlearn 33,34,40 - tmlearn 43,44 - tmlearn 49,50,52 -db 0 ; padding diff --git a/data/baseStats/doduo.asm b/data/baseStats/doduo.asm deleted file mode 100644 index 33d1506a..00000000 --- a/data/baseStats/doduo.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_DODUO ; pokedex id -db 35 ; base hp -db 85 ; base attack -db 45 ; base defense -db 75 ; base speed -db 35 ; base special -db NORMAL ; species type 1 -db FLYING ; species type 2 -db 190 ; catch rate -db 96 ; base exp yield -INCBIN "gfx/pokemon/front/doduo.pic",0,1 ; 55, sprite dimensions -dw DoduoPicFront -dw DoduoPicBack -; attacks known at lvl 0 -db PECK -db 0 -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 4,6,8 - tmlearn 9,10 - tmlearn 20 - tmlearn 31,32 - tmlearn 33,34,40 - tmlearn 43,44 - tmlearn 49,50,52 -db 0 ; padding diff --git a/data/baseStats/dragonair.asm b/data/baseStats/dragonair.asm deleted file mode 100644 index 9d8ab0c2..00000000 --- a/data/baseStats/dragonair.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_DRAGONAIR ; pokedex id -db 61 ; base hp -db 84 ; base attack -db 65 ; base defense -db 70 ; base speed -db 70 ; base special -db DRAGON ; species type 1 -db DRAGON ; species type 2 -db 45 ; catch rate -db 144 ; base exp yield -INCBIN "gfx/pokemon/front/dragonair.pic",0,1 ; 66, sprite dimensions -dw DragonairPicFront -dw DragonairPicBack -; attacks known at lvl 0 -db WRAP -db LEER -db THUNDER_WAVE -db 0 -db 5 ; growth rate -; learnset - tmlearn 6,7,8 - tmlearn 9,10,11,12,13,14 - tmlearn 20,23,24 - tmlearn 25,31,32 - tmlearn 33,34,38,39,40 - tmlearn 44,45 - tmlearn 50,53 -db 0 ; padding diff --git a/data/baseStats/dragonite.asm b/data/baseStats/dragonite.asm deleted file mode 100644 index 22653bcc..00000000 --- a/data/baseStats/dragonite.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_DRAGONITE ; pokedex id -db 91 ; base hp -db 134 ; base attack -db 95 ; base defense -db 80 ; base speed -db 100 ; base special -db DRAGON ; species type 1 -db FLYING ; species type 2 -db 45 ; catch rate -db 218 ; base exp yield -INCBIN "gfx/pokemon/front/dragonite.pic",0,1 ; 77, sprite dimensions -dw DragonitePicFront -dw DragonitePicBack -; attacks known at lvl 0 -db WRAP -db LEER -db THUNDER_WAVE -db AGILITY -db 5 ; growth rate -; learnset - tmlearn 2,6,7,8 - tmlearn 9,10,11,12,13,14,15 - tmlearn 20,23,24 - tmlearn 25,31,32 - tmlearn 33,34,38,39,40 - tmlearn 44,45 - tmlearn 50,53,54 -db 0 ; padding diff --git a/data/baseStats/dratini.asm b/data/baseStats/dratini.asm deleted file mode 100644 index c377c217..00000000 --- a/data/baseStats/dratini.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_DRATINI ; pokedex id -db 41 ; base hp -db 64 ; base attack -db 45 ; base defense -db 50 ; base speed -db 50 ; base special -db DRAGON ; species type 1 -db DRAGON ; species type 2 -db 45 ; catch rate -db 67 ; base exp yield -INCBIN "gfx/pokemon/front/dratini.pic",0,1 ; 55, sprite dimensions -dw DratiniPicFront -dw DratiniPicBack -; attacks known at lvl 0 -db WRAP -db LEER -db 0 -db 0 -db 5 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10,11,12,13,14 - tmlearn 20,23,24 - tmlearn 25,31,32 - tmlearn 33,34,38,39,40 - tmlearn 44,45 - tmlearn 50,53 -db 0 ; padding diff --git a/data/baseStats/drowzee.asm b/data/baseStats/drowzee.asm deleted file mode 100644 index 075158c4..00000000 --- a/data/baseStats/drowzee.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_DROWZEE ; pokedex id -db 60 ; base hp -db 48 ; base attack -db 45 ; base defense -db 42 ; base speed -db 90 ; base special -db PSYCHIC ; species type 1 -db PSYCHIC ; species type 2 -db 190 ; catch rate -db 102 ; base exp yield -INCBIN "gfx/pokemon/front/drowzee.pic",0,1 ; 66, sprite dimensions -dw DrowzeePicFront -dw DrowzeePicBack -; attacks known at lvl 0 -db POUND -db HYPNOSIS -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10 - tmlearn 17,18,19,20 - tmlearn 29,30,31,32 - tmlearn 33,34,35,40 - tmlearn 42,44,45,46 - tmlearn 49,50,55 -db 0 ; padding diff --git a/data/baseStats/dugtrio.asm b/data/baseStats/dugtrio.asm deleted file mode 100644 index 86a55e22..00000000 --- a/data/baseStats/dugtrio.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_DUGTRIO ; pokedex id -db 35 ; base hp -db 80 ; base attack -db 50 ; base defense -db 120 ; base speed -db 70 ; base special -db GROUND ; species type 1 -db GROUND ; species type 2 -db 50 ; catch rate -db 153 ; base exp yield -INCBIN "gfx/pokemon/front/dugtrio.pic",0,1 ; 66, sprite dimensions -dw DugtrioPicFront -dw DugtrioPicBack -; attacks known at lvl 0 -db SCRATCH -db GROWL -db DIG -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10,15 - tmlearn 20 - tmlearn 26,27,28,31,32 - tmlearn 34 - tmlearn 44,48 - tmlearn 50 -db 0 ; padding diff --git a/data/baseStats/eevee.asm b/data/baseStats/eevee.asm deleted file mode 100644 index d5cbaa9b..00000000 --- a/data/baseStats/eevee.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_EEVEE ; pokedex id -db 55 ; base hp -db 55 ; base attack -db 50 ; base defense -db 55 ; base speed -db 65 ; base special -db NORMAL ; species type 1 -db NORMAL ; species type 2 -db 45 ; catch rate -db 92 ; base exp yield -INCBIN "gfx/pokemon/front/eevee.pic",0,1 ; 55, sprite dimensions -dw EeveePicFront -dw EeveePicBack -; attacks known at lvl 0 -db TACKLE -db SAND_ATTACK -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10 - tmlearn 20 - tmlearn 31,32 - tmlearn 33,34,39,40 - tmlearn 44 - tmlearn 50 -db 0 ; padding diff --git a/data/baseStats/ekans.asm b/data/baseStats/ekans.asm deleted file mode 100644 index 94295b51..00000000 --- a/data/baseStats/ekans.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_EKANS ; pokedex id -db 35 ; base hp -db 60 ; base attack -db 44 ; base defense -db 55 ; base speed -db 40 ; base special -db POISON ; species type 1 -db POISON ; species type 2 -db 255 ; catch rate -db 62 ; base exp yield -INCBIN "gfx/pokemon/front/ekans.pic",0,1 ; 55, sprite dimensions -dw EkansPicFront -dw EkansPicBack -; attacks known at lvl 0 -db WRAP -db LEER -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10 - tmlearn 20,21 - tmlearn 26,27,28,31,32 - tmlearn 34,40 - tmlearn 44,48 - tmlearn 50,54 -db 0 ; padding diff --git a/data/baseStats/electabuzz.asm b/data/baseStats/electabuzz.asm deleted file mode 100644 index 5a1bc59f..00000000 --- a/data/baseStats/electabuzz.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_ELECTABUZZ ; pokedex id -db 65 ; base hp -db 83 ; base attack -db 57 ; base defense -db 105 ; base speed -db 85 ; base special -db ELECTRIC ; species type 1 -db ELECTRIC ; species type 2 -db 45 ; catch rate -db 156 ; base exp yield -INCBIN "gfx/pokemon/front/electabuzz.pic",0,1 ; 66, sprite dimensions -dw ElectabuzzPicFront -dw ElectabuzzPicBack -; attacks known at lvl 0 -db QUICK_ATTACK -db LEER -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,15 - tmlearn 17,18,19,20,24 - tmlearn 25,29,30,31,32 - tmlearn 33,34,35,39,40 - tmlearn 44,45,46 - tmlearn 50,54,55 -db 0 ; padding diff --git a/data/baseStats/electrode.asm b/data/baseStats/electrode.asm deleted file mode 100644 index 86b023c3..00000000 --- a/data/baseStats/electrode.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_ELECTRODE ; pokedex id -db 60 ; base hp -db 50 ; base attack -db 70 ; base defense -db 140 ; base speed -db 80 ; base special -db ELECTRIC ; species type 1 -db ELECTRIC ; species type 2 -db 60 ; catch rate -db 150 ; base exp yield -INCBIN "gfx/pokemon/front/electrode.pic",0,1 ; 55, sprite dimensions -dw ElectrodePicFront -dw ElectrodePicBack -; attacks known at lvl 0 -db TACKLE -db SCREECH -db SONICBOOM -db 0 -db 0 ; growth rate -; learnset - tmlearn 6 - tmlearn 9,15 - tmlearn 20,24 - tmlearn 25,30,31,32 - tmlearn 33,34,36,39,40 - tmlearn 44,45,47 - tmlearn 50,55 -db 0 ; padding diff --git a/data/baseStats/exeggcute.asm b/data/baseStats/exeggcute.asm deleted file mode 100644 index 6499362a..00000000 --- a/data/baseStats/exeggcute.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_EXEGGCUTE ; pokedex id -db 60 ; base hp -db 40 ; base attack -db 80 ; base defense -db 40 ; base speed -db 60 ; base special -db GRASS ; species type 1 -db PSYCHIC ; species type 2 -db 90 ; catch rate -db 98 ; base exp yield -INCBIN "gfx/pokemon/front/exeggcute.pic",0,1 ; 77, sprite dimensions -dw ExeggcutePicFront -dw ExeggcutePicBack -; attacks known at lvl 0 -db BARRAGE -db HYPNOSIS -db 0 -db 0 -db 5 ; growth rate -; learnset - tmlearn 6 - tmlearn 9,10 - tmlearn 20 - tmlearn 29,30,31,32 - tmlearn 33,34,36,37 - tmlearn 44,46,47 - tmlearn 50 -db 0 ; padding diff --git a/data/baseStats/exeggutor.asm b/data/baseStats/exeggutor.asm deleted file mode 100644 index 17b1f6a6..00000000 --- a/data/baseStats/exeggutor.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_EXEGGUTOR ; pokedex id -db 95 ; base hp -db 95 ; base attack -db 85 ; base defense -db 55 ; base speed -db 125 ; base special -db GRASS ; species type 1 -db PSYCHIC ; species type 2 -db 45 ; catch rate -db 212 ; base exp yield -INCBIN "gfx/pokemon/front/exeggutor.pic",0,1 ; 77, sprite dimensions -dw ExeggutorPicFront -dw ExeggutorPicBack -; attacks known at lvl 0 -db BARRAGE -db HYPNOSIS -db 0 -db 0 -db 5 ; growth rate -; learnset - tmlearn 6 - tmlearn 9,10,15 - tmlearn 20,21,22 - tmlearn 29,30,31,32 - tmlearn 33,34,36,37 - tmlearn 44,46,47 - tmlearn 50,54 -db 0 ; padding diff --git a/data/baseStats/farfetchd.asm b/data/baseStats/farfetchd.asm deleted file mode 100644 index ffbb70f1..00000000 --- a/data/baseStats/farfetchd.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_FARFETCHD ; pokedex id -db 52 ; base hp -db 65 ; base attack -db 55 ; base defense -db 60 ; base speed -db 58 ; base special -db NORMAL ; species type 1 -db FLYING ; species type 2 -db 45 ; catch rate -db 94 ; base exp yield -INCBIN "gfx/pokemon/front/farfetchd.pic",0,1 ; 66, sprite dimensions -dw FarfetchdPicFront -dw FarfetchdPicBack -; attacks known at lvl 0 -db PECK -db SAND_ATTACK -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 2,3,4,6,8 - tmlearn 9,10 - tmlearn 20 - tmlearn 31,32 - tmlearn 33,34,39,40 - tmlearn 44 - tmlearn 50,51,52 -db 0 ; padding diff --git a/data/baseStats/fearow.asm b/data/baseStats/fearow.asm deleted file mode 100644 index d03722ba..00000000 --- a/data/baseStats/fearow.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_FEAROW ; pokedex id -db 65 ; base hp -db 90 ; base attack -db 65 ; base defense -db 100 ; base speed -db 61 ; base special -db NORMAL ; species type 1 -db FLYING ; species type 2 -db 90 ; catch rate -db 162 ; base exp yield -INCBIN "gfx/pokemon/front/fearow.pic",0,1 ; 77, sprite dimensions -dw FearowPicFront -dw FearowPicBack -; attacks known at lvl 0 -db PECK -db GROWL -db LEER -db 0 -db 0 ; growth rate -; learnset - tmlearn 2,4,6 - tmlearn 9,10,15 - tmlearn 20 - tmlearn 31,32 - tmlearn 34,39 - tmlearn 43,44 - tmlearn 50,52 -db 0 ; padding diff --git a/data/baseStats/flareon.asm b/data/baseStats/flareon.asm deleted file mode 100644 index 8ebe4ede..00000000 --- a/data/baseStats/flareon.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_FLAREON ; pokedex id -db 65 ; base hp -db 130 ; base attack -db 60 ; base defense -db 65 ; base speed -db 110 ; base special -db FIRE ; species type 1 -db FIRE ; species type 2 -db 45 ; catch rate -db 198 ; base exp yield -INCBIN "gfx/pokemon/front/flareon.pic",0,1 ; 66, sprite dimensions -dw FlareonPicFront -dw FlareonPicBack -; attacks known at lvl 0 -db TACKLE -db SAND_ATTACK -db QUICK_ATTACK -db EMBER -db 0 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10,15 - tmlearn 20 - tmlearn 31,32 - tmlearn 33,34,38,39,40 - tmlearn 44 - tmlearn 50 -db 0 ; padding diff --git a/data/baseStats/gastly.asm b/data/baseStats/gastly.asm deleted file mode 100644 index b68d431b..00000000 --- a/data/baseStats/gastly.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_GASTLY ; pokedex id -db 30 ; base hp -db 35 ; base attack -db 30 ; base defense -db 80 ; base speed -db 100 ; base special -db GHOST ; species type 1 -db POISON ; species type 2 -db 190 ; catch rate -db 95 ; base exp yield -INCBIN "gfx/pokemon/front/gastly.pic",0,1 ; 77, sprite dimensions -dw GastlyPicFront -dw GastlyPicBack -; attacks known at lvl 0 -db LICK -db CONFUSE_RAY -db NIGHT_SHADE -db 0 -db 3 ; growth rate -; learnset - tmlearn 6 - tmlearn 0 - tmlearn 20,21,24 - tmlearn 25,29,31,32 - tmlearn 34,36 - tmlearn 42,44,46,47 - tmlearn 50 -db 0 ; padding diff --git a/data/baseStats/gengar.asm b/data/baseStats/gengar.asm deleted file mode 100644 index bdbe5de6..00000000 --- a/data/baseStats/gengar.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_GENGAR ; pokedex id -db 60 ; base hp -db 65 ; base attack -db 60 ; base defense -db 110 ; base speed -db 130 ; base special -db GHOST ; species type 1 -db POISON ; species type 2 -db 45 ; catch rate -db 190 ; base exp yield -INCBIN "gfx/pokemon/front/gengar.pic",0,1 ; 66, sprite dimensions -dw GengarPicFront -dw GengarPicBack -; attacks known at lvl 0 -db LICK -db CONFUSE_RAY -db NIGHT_SHADE -db 0 -db 3 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,15 - tmlearn 17,18,19,20,21,24 - tmlearn 25,29,31,32 - tmlearn 34,35,36,40 - tmlearn 42,44,46,47 - tmlearn 50,54 -db 0 ; padding diff --git a/data/baseStats/geodude.asm b/data/baseStats/geodude.asm deleted file mode 100644 index 9ffd1c86..00000000 --- a/data/baseStats/geodude.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_GEODUDE ; pokedex id -db 40 ; base hp -db 80 ; base attack -db 100 ; base defense -db 20 ; base speed -db 30 ; base special -db ROCK ; species type 1 -db GROUND ; species type 2 -db 255 ; catch rate -db 86 ; base exp yield -INCBIN "gfx/pokemon/front/geodude.pic",0,1 ; 55, sprite dimensions -dw GeodudePicFront -dw GeodudePicBack -; attacks known at lvl 0 -db TACKLE -db 0 -db 0 -db 0 -db 3 ; growth rate -; learnset - tmlearn 1,6,8 - tmlearn 9,10 - tmlearn 17,18,19,20 - tmlearn 26,27,28,31,32 - tmlearn 34,35,36,38 - tmlearn 44,47,48 - tmlearn 50,54 -db 0 ; padding diff --git a/data/baseStats/gloom.asm b/data/baseStats/gloom.asm deleted file mode 100644 index 6c08287e..00000000 --- a/data/baseStats/gloom.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_GLOOM ; pokedex id -db 60 ; base hp -db 65 ; base attack -db 70 ; base defense -db 40 ; base speed -db 85 ; base special -db GRASS ; species type 1 -db POISON ; species type 2 -db 120 ; catch rate -db 132 ; base exp yield -INCBIN "gfx/pokemon/front/gloom.pic",0,1 ; 66, sprite dimensions -dw GloomPicFront -dw GloomPicBack -; attacks known at lvl 0 -db ABSORB -db POISONPOWDER -db STUN_SPORE -db 0 -db 3 ; growth rate -; learnset - tmlearn 3,6 - tmlearn 9,10 - tmlearn 20,21,22 - tmlearn 31,32 - tmlearn 33,34 - tmlearn 44 - tmlearn 50,51 -db 0 ; padding diff --git a/data/baseStats/golbat.asm b/data/baseStats/golbat.asm deleted file mode 100644 index de93ee3f..00000000 --- a/data/baseStats/golbat.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_GOLBAT ; pokedex id -db 75 ; base hp -db 80 ; base attack -db 70 ; base defense -db 90 ; base speed -db 75 ; base special -db POISON ; species type 1 -db FLYING ; species type 2 -db 90 ; catch rate -db 171 ; base exp yield -INCBIN "gfx/pokemon/front/golbat.pic",0,1 ; 77, sprite dimensions -dw GolbatPicFront -dw GolbatPicBack -; attacks known at lvl 0 -db LEECH_LIFE -db SCREECH -db BITE -db 0 -db 0 ; growth rate -; learnset - tmlearn 2,4,6 - tmlearn 9,10,15 - tmlearn 20,21 - tmlearn 31,32 - tmlearn 34,39 - tmlearn 44 - tmlearn 50 -db 0 ; padding diff --git a/data/baseStats/goldeen.asm b/data/baseStats/goldeen.asm deleted file mode 100644 index 32c89599..00000000 --- a/data/baseStats/goldeen.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_GOLDEEN ; pokedex id -db 45 ; base hp -db 67 ; base attack -db 60 ; base defense -db 63 ; base speed -db 50 ; base special -db WATER ; species type 1 -db WATER ; species type 2 -db 225 ; catch rate -db 111 ; base exp yield -INCBIN "gfx/pokemon/front/goldeen.pic",0,1 ; 66, sprite dimensions -dw GoldeenPicFront -dw GoldeenPicBack -; attacks known at lvl 0 -db PECK -db TAIL_WHIP -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,7 - tmlearn 9,10,11,12,13,14 - tmlearn 20 - tmlearn 31,32 - tmlearn 34,39,40 - tmlearn 44 - tmlearn 50,53 -db 0 ; padding diff --git a/data/baseStats/golduck.asm b/data/baseStats/golduck.asm deleted file mode 100644 index 6f2cc6a9..00000000 --- a/data/baseStats/golduck.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_GOLDUCK ; pokedex id -db 80 ; base hp -db 82 ; base attack -db 78 ; base defense -db 85 ; base speed -db 80 ; base special -db WATER ; species type 1 -db WATER ; species type 2 -db 75 ; catch rate -db 174 ; base exp yield -INCBIN "gfx/pokemon/front/golduck.pic",0,1 ; 77, sprite dimensions -dw GolduckPicFront -dw GolduckPicBack -; attacks known at lvl 0 -db SCRATCH -db TAIL_WHIP -db DISABLE -db 0 -db 0 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,11,12,13,14,15,16 - tmlearn 17,18,19,20 - tmlearn 28,31,32 - tmlearn 34,39,40 - tmlearn 44 - tmlearn 50,53,54 -db 0 ; padding diff --git a/data/baseStats/golem.asm b/data/baseStats/golem.asm deleted file mode 100644 index b5506372..00000000 --- a/data/baseStats/golem.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_GOLEM ; pokedex id -db 80 ; base hp -db 110 ; base attack -db 130 ; base defense -db 45 ; base speed -db 55 ; base special -db ROCK ; species type 1 -db GROUND ; species type 2 -db 45 ; catch rate -db 177 ; base exp yield -INCBIN "gfx/pokemon/front/golem.pic",0,1 ; 66, sprite dimensions -dw GolemPicFront -dw GolemPicBack -; attacks known at lvl 0 -db TACKLE -db DEFENSE_CURL -db 0 -db 0 -db 3 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,15 - tmlearn 17,18,19,20 - tmlearn 26,27,28,31,32 - tmlearn 34,35,36,38 - tmlearn 44,47,48 - tmlearn 50,54 -db 0 ; padding diff --git a/data/baseStats/graveler.asm b/data/baseStats/graveler.asm deleted file mode 100644 index 0525c587..00000000 --- a/data/baseStats/graveler.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_GRAVELER ; pokedex id -db 55 ; base hp -db 95 ; base attack -db 115 ; base defense -db 35 ; base speed -db 45 ; base special -db ROCK ; species type 1 -db GROUND ; species type 2 -db 120 ; catch rate -db 134 ; base exp yield -INCBIN "gfx/pokemon/front/graveler.pic",0,1 ; 66, sprite dimensions -dw GravelerPicFront -dw GravelerPicBack -; attacks known at lvl 0 -db TACKLE -db DEFENSE_CURL -db 0 -db 0 -db 3 ; growth rate -; learnset - tmlearn 1,6,8 - tmlearn 9,10 - tmlearn 17,18,19,20 - tmlearn 26,27,28,31,32 - tmlearn 34,35,36,38 - tmlearn 44,47,48 - tmlearn 50,54 -db 0 ; padding diff --git a/data/baseStats/grimer.asm b/data/baseStats/grimer.asm deleted file mode 100644 index 63533c00..00000000 --- a/data/baseStats/grimer.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_GRIMER ; pokedex id -db 80 ; base hp -db 80 ; base attack -db 50 ; base defense -db 25 ; base speed -db 40 ; base special -db POISON ; species type 1 -db POISON ; species type 2 -db 190 ; catch rate -db 90 ; base exp yield -INCBIN "gfx/pokemon/front/grimer.pic",0,1 ; 55, sprite dimensions -dw GrimerPicFront -dw GrimerPicBack -; attacks known at lvl 0 -db POUND -db DISABLE -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 0 - tmlearn 20,21,24 - tmlearn 25,31,32 - tmlearn 34,36,38 - tmlearn 44,47 - tmlearn 50 -db 0 ; padding diff --git a/data/baseStats/growlithe.asm b/data/baseStats/growlithe.asm deleted file mode 100644 index 9bf5e036..00000000 --- a/data/baseStats/growlithe.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_GROWLITHE ; pokedex id -db 55 ; base hp -db 70 ; base attack -db 45 ; base defense -db 60 ; base speed -db 50 ; base special -db FIRE ; species type 1 -db FIRE ; species type 2 -db 190 ; catch rate -db 91 ; base exp yield -INCBIN "gfx/pokemon/front/growlithe.pic",0,1 ; 55, sprite dimensions -dw GrowlithePicFront -dw GrowlithePicBack -; attacks known at lvl 0 -db BITE -db ROAR -db 0 -db 0 -db 5 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10 - tmlearn 20,23 - tmlearn 28,31,32 - tmlearn 33,34,38,39,40 - tmlearn 44 - tmlearn 50 -db 0 ; padding diff --git a/data/baseStats/gyarados.asm b/data/baseStats/gyarados.asm deleted file mode 100644 index 3cd2e213..00000000 --- a/data/baseStats/gyarados.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_GYARADOS ; pokedex id -db 95 ; base hp -db 125 ; base attack -db 79 ; base defense -db 81 ; base speed -db 100 ; base special -db WATER ; species type 1 -db FLYING ; species type 2 -db 45 ; catch rate -db 214 ; base exp yield -INCBIN "gfx/pokemon/front/gyarados.pic",0,1 ; 77, sprite dimensions -dw GyaradosPicFront -dw GyaradosPicBack -; attacks known at lvl 0 -db BITE -db DRAGON_RAGE -db LEER -db HYDRO_PUMP -db 5 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10,11,12,13,14,15 - tmlearn 20,23,24 - tmlearn 25,31,32 - tmlearn 33,34,38,40 - tmlearn 44 - tmlearn 50,53,54 -db 0 ; padding diff --git a/data/baseStats/haunter.asm b/data/baseStats/haunter.asm deleted file mode 100644 index 879b75d4..00000000 --- a/data/baseStats/haunter.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_HAUNTER ; pokedex id -db 45 ; base hp -db 50 ; base attack -db 45 ; base defense -db 95 ; base speed -db 115 ; base special -db GHOST ; species type 1 -db POISON ; species type 2 -db 90 ; catch rate -db 126 ; base exp yield -INCBIN "gfx/pokemon/front/haunter.pic",0,1 ; 66, sprite dimensions -dw HaunterPicFront -dw HaunterPicBack -; attacks known at lvl 0 -db LICK -db CONFUSE_RAY -db NIGHT_SHADE -db 0 -db 3 ; growth rate -; learnset - tmlearn 6 - tmlearn 0 - tmlearn 20,21,24 - tmlearn 25,29,31,32 - tmlearn 34,36 - tmlearn 42,44,46,47 - tmlearn 50 -db 0 ; padding diff --git a/data/baseStats/hitmonchan.asm b/data/baseStats/hitmonchan.asm deleted file mode 100644 index f34bf086..00000000 --- a/data/baseStats/hitmonchan.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_HITMONCHAN ; pokedex id -db 50 ; base hp -db 105 ; base attack -db 79 ; base defense -db 76 ; base speed -db 35 ; base special -db FIGHTING ; species type 1 -db FIGHTING ; species type 2 -db 45 ; catch rate -db 140 ; base exp yield -INCBIN "gfx/pokemon/front/hitmonchan.pic",0,1 ; 66, sprite dimensions -dw HitmonchanPicFront -dw HitmonchanPicBack -; attacks known at lvl 0 -db COMET_PUNCH -db AGILITY -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10 - tmlearn 17,18,19,20 - tmlearn 31,32 - tmlearn 34,35,39,40 - tmlearn 44 - tmlearn 50,54 -db 0 ; padding diff --git a/data/baseStats/hitmonlee.asm b/data/baseStats/hitmonlee.asm deleted file mode 100644 index 2590bfb0..00000000 --- a/data/baseStats/hitmonlee.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_HITMONLEE ; pokedex id -db 50 ; base hp -db 120 ; base attack -db 53 ; base defense -db 87 ; base speed -db 35 ; base special -db FIGHTING ; species type 1 -db FIGHTING ; species type 2 -db 45 ; catch rate -db 139 ; base exp yield -INCBIN "gfx/pokemon/front/hitmonlee.pic",0,1 ; 77, sprite dimensions -dw HitmonleePicFront -dw HitmonleePicBack -; attacks known at lvl 0 -db DOUBLE_KICK -db MEDITATE -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10 - tmlearn 17,18,19,20 - tmlearn 31,32 - tmlearn 34,35,39,40 - tmlearn 44 - tmlearn 50,54 -db 0 ; padding diff --git a/data/baseStats/horsea.asm b/data/baseStats/horsea.asm deleted file mode 100644 index ecf98197..00000000 --- a/data/baseStats/horsea.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_HORSEA ; pokedex id -db 30 ; base hp -db 40 ; base attack -db 70 ; base defense -db 60 ; base speed -db 70 ; base special -db WATER ; species type 1 -db WATER ; species type 2 -db 225 ; catch rate -db 83 ; base exp yield -INCBIN "gfx/pokemon/front/horsea.pic",0,1 ; 55, sprite dimensions -dw HorseaPicFront -dw HorseaPicBack -; attacks known at lvl 0 -db BUBBLE -db 0 -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 6 - tmlearn 9,10,11,12,13,14 - tmlearn 20 - tmlearn 31,32 - tmlearn 34,39,40 - tmlearn 44 - tmlearn 50,53 -db 0 ; padding diff --git a/data/baseStats/hypno.asm b/data/baseStats/hypno.asm deleted file mode 100644 index 9d251cd6..00000000 --- a/data/baseStats/hypno.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_HYPNO ; pokedex id -db 85 ; base hp -db 73 ; base attack -db 70 ; base defense -db 67 ; base speed -db 115 ; base special -db PSYCHIC ; species type 1 -db PSYCHIC ; species type 2 -db 75 ; catch rate -db 165 ; base exp yield -INCBIN "gfx/pokemon/front/hypno.pic",0,1 ; 77, sprite dimensions -dw HypnoPicFront -dw HypnoPicBack -; attacks known at lvl 0 -db POUND -db HYPNOSIS -db DISABLE -db CONFUSION -db 0 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,15 - tmlearn 17,18,19,20 - tmlearn 29,30,31,32 - tmlearn 33,34,35,40 - tmlearn 42,44,45,46 - tmlearn 49,50,55 -db 0 ; padding diff --git a/data/baseStats/ivysaur.asm b/data/baseStats/ivysaur.asm deleted file mode 100644 index f90549b9..00000000 --- a/data/baseStats/ivysaur.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_IVYSAUR ; pokedex id -db 60 ; base hp -db 62 ; base attack -db 63 ; base defense -db 60 ; base speed -db 80 ; base special -db GRASS ; species type 1 -db POISON ; species type 2 -db 45 ; catch rate -db 141 ; base exp yield -INCBIN "gfx/pokemon/front/ivysaur.pic",0,1 ; 66, sprite dimensions -dw IvysaurPicFront -dw IvysaurPicBack -; attacks known at lvl 0 -db TACKLE -db GROWL -db LEECH_SEED -db 0 -db 3 ; growth rate -; learnset - tmlearn 3,6,8 - tmlearn 9,10 - tmlearn 20,21,22 - tmlearn 31,32 - tmlearn 33,34 - tmlearn 44 - tmlearn 50,51 -db 0 ; padding diff --git a/data/baseStats/jigglypuff.asm b/data/baseStats/jigglypuff.asm deleted file mode 100644 index 0a6bdf49..00000000 --- a/data/baseStats/jigglypuff.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_JIGGLYPUFF ; pokedex id -db 115 ; base hp -db 45 ; base attack -db 20 ; base defense -db 20 ; base speed -db 25 ; base special -db NORMAL ; species type 1 -db NORMAL ; species type 2 -db 170 ; catch rate -db 76 ; base exp yield -INCBIN "gfx/pokemon/front/jigglypuff.pic",0,1 ; 55, sprite dimensions -dw JigglypuffPicFront -dw JigglypuffPicBack -; attacks known at lvl 0 -db SING -db 0 -db 0 -db 0 -db 4 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,11,12,13,14 - tmlearn 17,18,19,20,22,24 - tmlearn 25,29,30,31,32 - tmlearn 33,34,38,40 - tmlearn 44,45,46 - tmlearn 49,50,54,55 -db 0 ; padding diff --git a/data/baseStats/jolteon.asm b/data/baseStats/jolteon.asm deleted file mode 100644 index 1752354b..00000000 --- a/data/baseStats/jolteon.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_JOLTEON ; pokedex id -db 65 ; base hp -db 65 ; base attack -db 60 ; base defense -db 130 ; base speed -db 110 ; base special -db ELECTRIC ; species type 1 -db ELECTRIC ; species type 2 -db 45 ; catch rate -db 197 ; base exp yield -INCBIN "gfx/pokemon/front/jolteon.pic",0,1 ; 66, sprite dimensions -dw JolteonPicFront -dw JolteonPicBack -; attacks known at lvl 0 -db TACKLE -db SAND_ATTACK -db QUICK_ATTACK -db THUNDERSHOCK -db 0 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10,15 - tmlearn 20,24 - tmlearn 25,31,32 - tmlearn 33,34,39,40 - tmlearn 44,45 - tmlearn 50,55 -db 0 ; padding diff --git a/data/baseStats/jynx.asm b/data/baseStats/jynx.asm deleted file mode 100644 index f82796e5..00000000 --- a/data/baseStats/jynx.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_JYNX ; pokedex id -db 65 ; base hp -db 50 ; base attack -db 35 ; base defense -db 95 ; base speed -db 95 ; base special -db ICE ; species type 1 -db PSYCHIC ; species type 2 -db 45 ; catch rate -db 137 ; base exp yield -INCBIN "gfx/pokemon/front/jynx.pic",0,1 ; 66, sprite dimensions -dw JynxPicFront -dw JynxPicBack -; attacks known at lvl 0 -db POUND -db LOVELY_KISS -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,11,12,13,14,15 - tmlearn 17,18,19,20 - tmlearn 29,30,31,32 - tmlearn 33,34,35,40 - tmlearn 44,46 - tmlearn 50 -db 0 ; padding diff --git a/data/baseStats/kabuto.asm b/data/baseStats/kabuto.asm deleted file mode 100644 index fc2df213..00000000 --- a/data/baseStats/kabuto.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_KABUTO ; pokedex id -db 30 ; base hp -db 80 ; base attack -db 90 ; base defense -db 55 ; base speed -db 45 ; base special -db ROCK ; species type 1 -db WATER ; species type 2 -db 45 ; catch rate -db 119 ; base exp yield -INCBIN "gfx/pokemon/front/kabuto.pic",0,1 ; 55, sprite dimensions -dw KabutoPicFront -dw KabutoPicBack -; attacks known at lvl 0 -db SCRATCH -db HARDEN -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10,11,12,13,14 - tmlearn 20 - tmlearn 31,32 - tmlearn 33,34 - tmlearn 44 - tmlearn 50,53 -db 0 ; padding diff --git a/data/baseStats/kabutops.asm b/data/baseStats/kabutops.asm deleted file mode 100644 index ca35e56a..00000000 --- a/data/baseStats/kabutops.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_KABUTOPS ; pokedex id -db 60 ; base hp -db 115 ; base attack -db 105 ; base defense -db 80 ; base speed -db 70 ; base special -db ROCK ; species type 1 -db WATER ; species type 2 -db 45 ; catch rate -db 201 ; base exp yield -INCBIN "gfx/pokemon/front/kabutops.pic",0,1 ; 66, sprite dimensions -dw KabutopsPicFront -dw KabutopsPicBack -; attacks known at lvl 0 -db SCRATCH -db HARDEN -db ABSORB -db 0 -db 0 ; growth rate -; learnset - tmlearn 2,3,5,6,8 - tmlearn 9,10,11,12,13,14,15 - tmlearn 17,19,20 - tmlearn 31,32 - tmlearn 33,34,40 - tmlearn 44 - tmlearn 50,53 -db 0 ; padding diff --git a/data/baseStats/kadabra.asm b/data/baseStats/kadabra.asm deleted file mode 100644 index 652f762a..00000000 --- a/data/baseStats/kadabra.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_KADABRA ; pokedex id -db 40 ; base hp -db 35 ; base attack -db 30 ; base defense -db 105 ; base speed -db 120 ; base special -db PSYCHIC ; species type 1 -db PSYCHIC ; species type 2 -db 100 ; catch rate -db 145 ; base exp yield -INCBIN "gfx/pokemon/front/kadabra.pic",0,1 ; 66, sprite dimensions -dw KadabraPicFront -dw KadabraPicBack -; attacks known at lvl 0 -db TELEPORT -db CONFUSION -db DISABLE -db 0 -db 3 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10 - tmlearn 17,18,19,20 - tmlearn 28,29,30,31,32 - tmlearn 33,34,35,40 - tmlearn 44,45,46 - tmlearn 49,50,55 -db 0 ; padding diff --git a/data/baseStats/kakuna.asm b/data/baseStats/kakuna.asm deleted file mode 100644 index 4a7ec5b4..00000000 --- a/data/baseStats/kakuna.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_KAKUNA ; pokedex id -db 45 ; base hp -db 25 ; base attack -db 50 ; base defense -db 35 ; base speed -db 25 ; base special -db BUG ; species type 1 -db POISON ; species type 2 -db 120 ; catch rate -db 71 ; base exp yield -INCBIN "gfx/pokemon/front/kakuna.pic",0,1 ; 55, sprite dimensions -dw KakunaPicFront -dw KakunaPicBack -; attacks known at lvl 0 -db HARDEN -db 0 -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 -db 0 ; padding diff --git a/data/baseStats/kangaskhan.asm b/data/baseStats/kangaskhan.asm deleted file mode 100644 index 381c8879..00000000 --- a/data/baseStats/kangaskhan.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_KANGASKHAN ; pokedex id -db 105 ; base hp -db 95 ; base attack -db 80 ; base defense -db 90 ; base speed -db 40 ; base special -db NORMAL ; species type 1 -db NORMAL ; species type 2 -db 45 ; catch rate -db 175 ; base exp yield -INCBIN "gfx/pokemon/front/kangaskhan.pic",0,1 ; 77, sprite dimensions -dw KangaskhanPicFront -dw KangaskhanPicBack -; attacks known at lvl 0 -db COMET_PUNCH -db RAGE -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,11,12,13,14,15 - tmlearn 17,18,19,20,24 - tmlearn 25,26,27,31,32 - tmlearn 34,38,40 - tmlearn 44,48 - tmlearn 50,53,54 -db 0 ; padding diff --git a/data/baseStats/kingler.asm b/data/baseStats/kingler.asm deleted file mode 100644 index d4b426fb..00000000 --- a/data/baseStats/kingler.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_KINGLER ; pokedex id -db 55 ; base hp -db 130 ; base attack -db 115 ; base defense -db 75 ; base speed -db 50 ; base special -db WATER ; species type 1 -db WATER ; species type 2 -db 60 ; catch rate -db 206 ; base exp yield -INCBIN "gfx/pokemon/front/kingler.pic",0,1 ; 77, sprite dimensions -dw KinglerPicFront -dw KinglerPicBack -; attacks known at lvl 0 -db BUBBLE -db LEER -db VICEGRIP -db 0 -db 0 ; growth rate -; learnset - tmlearn 3,6,8 - tmlearn 9,10,11,12,13,14,15 - tmlearn 20 - tmlearn 31,32 - tmlearn 34 - tmlearn 44 - tmlearn 50,51,53,54 -db 0 ; padding diff --git a/data/baseStats/koffing.asm b/data/baseStats/koffing.asm deleted file mode 100644 index ca3e1029..00000000 --- a/data/baseStats/koffing.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_KOFFING ; pokedex id -db 40 ; base hp -db 65 ; base attack -db 95 ; base defense -db 35 ; base speed -db 60 ; base special -db POISON ; species type 1 -db POISON ; species type 2 -db 190 ; catch rate -db 114 ; base exp yield -INCBIN "gfx/pokemon/front/koffing.pic",0,1 ; 66, sprite dimensions -dw KoffingPicFront -dw KoffingPicBack -; attacks known at lvl 0 -db TACKLE -db SMOG -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 6 - tmlearn 0 - tmlearn 20,24 - tmlearn 25,31,32 - tmlearn 34,36,38 - tmlearn 44,47 - tmlearn 50 -db 0 ; padding diff --git a/data/baseStats/krabby.asm b/data/baseStats/krabby.asm deleted file mode 100644 index d1839d26..00000000 --- a/data/baseStats/krabby.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_KRABBY ; pokedex id -db 30 ; base hp -db 105 ; base attack -db 90 ; base defense -db 50 ; base speed -db 25 ; base special -db WATER ; species type 1 -db WATER ; species type 2 -db 225 ; catch rate -db 115 ; base exp yield -INCBIN "gfx/pokemon/front/krabby.pic",0,1 ; 55, sprite dimensions -dw KrabbyPicFront -dw KrabbyPicBack -; attacks known at lvl 0 -db BUBBLE -db LEER -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 3,6,8 - tmlearn 9,10,11,12,13,14 - tmlearn 20 - tmlearn 31,32 - tmlearn 34 - tmlearn 44 - tmlearn 50,51,53,54 -db 0 ; padding diff --git a/data/baseStats/lapras.asm b/data/baseStats/lapras.asm deleted file mode 100644 index 17b80461..00000000 --- a/data/baseStats/lapras.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_LAPRAS ; pokedex id -db 130 ; base hp -db 85 ; base attack -db 80 ; base defense -db 60 ; base speed -db 95 ; base special -db WATER ; species type 1 -db ICE ; species type 2 -db 45 ; catch rate -db 219 ; base exp yield -INCBIN "gfx/pokemon/front/lapras.pic",0,1 ; 77, sprite dimensions -dw LaprasPicFront -dw LaprasPicBack -; attacks known at lvl 0 -db WATER_GUN -db GROWL -db 0 -db 0 -db 5 ; growth rate -; learnset - tmlearn 6,7,8 - tmlearn 9,10,11,12,13,14,15 - tmlearn 20,22,23,24 - tmlearn 25,29,31,32 - tmlearn 33,34,40 - tmlearn 44,46 - tmlearn 50,53,54 -db 0 ; padding diff --git a/data/baseStats/lickitung.asm b/data/baseStats/lickitung.asm deleted file mode 100644 index 5c772dd3..00000000 --- a/data/baseStats/lickitung.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_LICKITUNG ; pokedex id -db 90 ; base hp -db 55 ; base attack -db 75 ; base defense -db 30 ; base speed -db 60 ; base special -db NORMAL ; species type 1 -db NORMAL ; species type 2 -db 45 ; catch rate -db 127 ; base exp yield -INCBIN "gfx/pokemon/front/lickitung.pic",0,1 ; 77, sprite dimensions -dw LickitungPicFront -dw LickitungPicBack -; attacks known at lvl 0 -db WRAP -db SUPERSONIC -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 1,3,5,6,8 - tmlearn 9,10,11,12,13,14,15 - tmlearn 17,18,19,20,24 - tmlearn 25,26,27,31,32 - tmlearn 34,38,40 - tmlearn 44 - tmlearn 50,51,53,54 -db 0 ; padding diff --git a/data/baseStats/machamp.asm b/data/baseStats/machamp.asm deleted file mode 100644 index 825766a6..00000000 --- a/data/baseStats/machamp.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_MACHAMP ; pokedex id -db 90 ; base hp -db 130 ; base attack -db 80 ; base defense -db 55 ; base speed -db 65 ; base special -db FIGHTING ; species type 1 -db FIGHTING ; species type 2 -db 45 ; catch rate -db 193 ; base exp yield -INCBIN "gfx/pokemon/front/machamp.pic",0,1 ; 77, sprite dimensions -dw MachampPicFront -dw MachampPicBack -; attacks known at lvl 0 -db KARATE_CHOP -db LOW_KICK -db LEER -db 0 -db 3 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,15 - tmlearn 17,18,19,20 - tmlearn 26,27,28,31,32 - tmlearn 34,35,38,40 - tmlearn 44,48 - tmlearn 50,54 -db 0 ; padding diff --git a/data/baseStats/machoke.asm b/data/baseStats/machoke.asm deleted file mode 100644 index 9bc5df42..00000000 --- a/data/baseStats/machoke.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_MACHOKE ; pokedex id -db 80 ; base hp -db 100 ; base attack -db 70 ; base defense -db 45 ; base speed -db 50 ; base special -db FIGHTING ; species type 1 -db FIGHTING ; species type 2 -db 90 ; catch rate -db 146 ; base exp yield -INCBIN "gfx/pokemon/front/machoke.pic",0,1 ; 77, sprite dimensions -dw MachokePicFront -dw MachokePicBack -; attacks known at lvl 0 -db KARATE_CHOP -db LOW_KICK -db LEER -db 0 -db 3 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10 - tmlearn 17,18,19,20 - tmlearn 26,27,28,31,32 - tmlearn 34,35,38,40 - tmlearn 44,48 - tmlearn 50,54 -db 0 ; padding diff --git a/data/baseStats/machop.asm b/data/baseStats/machop.asm deleted file mode 100644 index a691183a..00000000 --- a/data/baseStats/machop.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_MACHOP ; pokedex id -db 70 ; base hp -db 80 ; base attack -db 50 ; base defense -db 35 ; base speed -db 35 ; base special -db FIGHTING ; species type 1 -db FIGHTING ; species type 2 -db 180 ; catch rate -db 88 ; base exp yield -INCBIN "gfx/pokemon/front/machop.pic",0,1 ; 55, sprite dimensions -dw MachopPicFront -dw MachopPicBack -; attacks known at lvl 0 -db KARATE_CHOP -db 0 -db 0 -db 0 -db 3 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10 - tmlearn 17,18,19,20 - tmlearn 26,27,28,31,32 - tmlearn 34,35,38,40 - tmlearn 44,48 - tmlearn 50,54 -db 0 ; padding diff --git a/data/baseStats/magikarp.asm b/data/baseStats/magikarp.asm deleted file mode 100644 index 5185e3f0..00000000 --- a/data/baseStats/magikarp.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_MAGIKARP ; pokedex id -db 20 ; base hp -db 10 ; base attack -db 55 ; base defense -db 80 ; base speed -db 20 ; base special -db WATER ; species type 1 -db WATER ; species type 2 -db 255 ; catch rate -db 20 ; base exp yield -INCBIN "gfx/pokemon/front/magikarp.pic",0,1 ; 66, sprite dimensions -dw MagikarpPicFront -dw MagikarpPicBack -; attacks known at lvl 0 -db SPLASH -db 0 -db 0 -db 0 -db 5 ; growth rate -; learnset - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 -db 0 ; padding diff --git a/data/baseStats/magmar.asm b/data/baseStats/magmar.asm deleted file mode 100644 index b24f519c..00000000 --- a/data/baseStats/magmar.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_MAGMAR ; pokedex id -db 65 ; base hp -db 95 ; base attack -db 57 ; base defense -db 93 ; base speed -db 85 ; base special -db FIRE ; species type 1 -db FIRE ; species type 2 -db 45 ; catch rate -db 167 ; base exp yield -INCBIN "gfx/pokemon/front/magmar.pic",0,1 ; 66, sprite dimensions -dw MagmarPicFront -dw MagmarPicBack -; attacks known at lvl 0 -db EMBER -db 0 -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,15 - tmlearn 17,18,19,20 - tmlearn 29,30,31,32 - tmlearn 34,35,38,40 - tmlearn 44,46 - tmlearn 50,54 -db 0 ; padding diff --git a/data/baseStats/magnemite.asm b/data/baseStats/magnemite.asm deleted file mode 100644 index f7fe0b00..00000000 --- a/data/baseStats/magnemite.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_MAGNEMITE ; pokedex id -db 25 ; base hp -db 35 ; base attack -db 70 ; base defense -db 45 ; base speed -db 95 ; base special -db ELECTRIC ; species type 1 -db ELECTRIC ; species type 2 -db 190 ; catch rate -db 89 ; base exp yield -INCBIN "gfx/pokemon/front/magnemite.pic",0,1 ; 55, sprite dimensions -dw MagnemitePicFront -dw MagnemitePicBack -; attacks known at lvl 0 -db TACKLE -db 0 -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 6 - tmlearn 9,10 - tmlearn 20,24 - tmlearn 25,30,31,32 - tmlearn 33,34,39 - tmlearn 44,45 - tmlearn 50,55 -db 0 ; padding diff --git a/data/baseStats/magneton.asm b/data/baseStats/magneton.asm deleted file mode 100644 index 7c32d059..00000000 --- a/data/baseStats/magneton.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_MAGNETON ; pokedex id -db 50 ; base hp -db 60 ; base attack -db 95 ; base defense -db 70 ; base speed -db 120 ; base special -db ELECTRIC ; species type 1 -db ELECTRIC ; species type 2 -db 60 ; catch rate -db 161 ; base exp yield -INCBIN "gfx/pokemon/front/magneton.pic",0,1 ; 66, sprite dimensions -dw MagnetonPicFront -dw MagnetonPicBack -; attacks known at lvl 0 -db TACKLE -db SONICBOOM -db THUNDERSHOCK -db 0 -db 0 ; growth rate -; learnset - tmlearn 6 - tmlearn 9,10,15 - tmlearn 20,24 - tmlearn 25,30,31,32 - tmlearn 33,34,39 - tmlearn 44,45 - tmlearn 50,55 -db 0 ; padding diff --git a/data/baseStats/mankey.asm b/data/baseStats/mankey.asm deleted file mode 100644 index 07b961c5..00000000 --- a/data/baseStats/mankey.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_MANKEY ; pokedex id -db 40 ; base hp -db 80 ; base attack -db 35 ; base defense -db 70 ; base speed -db 35 ; base special -db FIGHTING ; species type 1 -db FIGHTING ; species type 2 -db 190 ; catch rate -db 74 ; base exp yield -INCBIN "gfx/pokemon/front/mankey.pic",0,1 ; 55, sprite dimensions -dw MankeyPicFront -dw MankeyPicBack -; attacks known at lvl 0 -db SCRATCH -db LEER -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,16 - tmlearn 17,18,19,20,24 - tmlearn 25,28,31,32 - tmlearn 34,35,39,40 - tmlearn 44,48 - tmlearn 50,54 -db 0 ; padding diff --git a/data/baseStats/marowak.asm b/data/baseStats/marowak.asm deleted file mode 100644 index a2c5a4c6..00000000 --- a/data/baseStats/marowak.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_MAROWAK ; pokedex id -db 60 ; base hp -db 80 ; base attack -db 110 ; base defense -db 45 ; base speed -db 50 ; base special -db GROUND ; species type 1 -db GROUND ; species type 2 -db 75 ; catch rate -db 124 ; base exp yield -INCBIN "gfx/pokemon/front/marowak.pic",0,1 ; 66, sprite dimensions -dw MarowakPicFront -dw MarowakPicBack -; attacks known at lvl 0 -db BONE_CLUB -db GROWL -db LEER -db FOCUS_ENERGY -db 0 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,11,12,13,14,15 - tmlearn 17,18,19,20 - tmlearn 26,27,28,31,32 - tmlearn 34,38,40 - tmlearn 44 - tmlearn 50,54 -db 0 ; padding diff --git a/data/baseStats/meowth.asm b/data/baseStats/meowth.asm deleted file mode 100644 index aa1904ba..00000000 --- a/data/baseStats/meowth.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_MEOWTH ; pokedex id -db 40 ; base hp -db 45 ; base attack -db 35 ; base defense -db 90 ; base speed -db 40 ; base special -db NORMAL ; species type 1 -db NORMAL ; species type 2 -db 255 ; catch rate -db 69 ; base exp yield -INCBIN "gfx/pokemon/front/meowth.pic",0,1 ; 55, sprite dimensions -dw MeowthPicFront -dw MeowthPicBack -; attacks known at lvl 0 -db SCRATCH -db GROWL -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10,11,12,16 - tmlearn 20,24 - tmlearn 25,31,32 - tmlearn 34,39,40 - tmlearn 44 - tmlearn 50 -db 0 ; padding diff --git a/data/baseStats/metapod.asm b/data/baseStats/metapod.asm deleted file mode 100644 index cf4f52b7..00000000 --- a/data/baseStats/metapod.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_METAPOD ; pokedex id -db 50 ; base hp -db 20 ; base attack -db 55 ; base defense -db 30 ; base speed -db 25 ; base special -db BUG ; species type 1 -db BUG ; species type 2 -db 120 ; catch rate -db 72 ; base exp yield -INCBIN "gfx/pokemon/front/metapod.pic",0,1 ; 55, sprite dimensions -dw MetapodPicFront -dw MetapodPicBack -; attacks known at lvl 0 -db HARDEN -db 0 -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 -db 0 ; padding diff --git a/data/baseStats/mew.asm b/data/baseStats/mew.asm deleted file mode 100644 index f89a2864..00000000 --- a/data/baseStats/mew.asm +++ /dev/null @@ -1,29 +0,0 @@ -MewBaseStats:: -db DEX_MEW ; pokedex id -db 100 ; base hp -db 100 ; base attack -db 100 ; base defense -db 100 ; base speed -db 100 ; base special -db PSYCHIC ; species type 1 -db PSYCHIC ; species type 2 -db 45 ; catch rate -db 64 ; base exp yield -INCBIN "gfx/pokemon/front/mew.pic",0,1 ; 55, sprite dimensions -dw MewPicFront -dw MewPicBack -; attacks known at lvl 0 -db POUND -db 0 -db 0 -db 0 -db 3 ; growth rate -; learnset - tmlearn 1,2,3,4,5,6,7,8 - tmlearn 9,10,11,12,13,14,15,16 - tmlearn 17,18,19,20,21,22,23,24 - tmlearn 25,26,27,28,29,30,31,32 - tmlearn 33,34,35,36,37,38,39,40 - tmlearn 41,42,43,44,45,46,47,48 - tmlearn 49,50,51,52,53,54,55,56 -db %11111111 ; usually spacing diff --git a/data/baseStats/mewtwo.asm b/data/baseStats/mewtwo.asm deleted file mode 100644 index 6e85291d..00000000 --- a/data/baseStats/mewtwo.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_MEWTWO ; pokedex id -db 106 ; base hp -db 110 ; base attack -db 90 ; base defense -db 130 ; base speed -db 154 ; base special -db PSYCHIC ; species type 1 -db PSYCHIC ; species type 2 -db 3 ; catch rate -db 220 ; base exp yield -INCBIN "gfx/pokemon/front/mewtwo.pic",0,1 ; 77, sprite dimensions -dw MewtwoPicFront -dw MewtwoPicBack -; attacks known at lvl 0 -db CONFUSION -db DISABLE -db SWIFT -db PSYCHIC_M -db 5 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,11,12,13,14,15,16 - tmlearn 17,18,19,20,22,24 - tmlearn 25,29,30,31,32 - tmlearn 33,34,35,36,38,40 - tmlearn 44,45,46 - tmlearn 49,50,54,55 -db 0 ; padding diff --git a/data/baseStats/moltres.asm b/data/baseStats/moltres.asm deleted file mode 100644 index 4c54cf44..00000000 --- a/data/baseStats/moltres.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_MOLTRES ; pokedex id -db 90 ; base hp -db 100 ; base attack -db 90 ; base defense -db 90 ; base speed -db 125 ; base special -db FIRE ; species type 1 -db FLYING ; species type 2 -db 3 ; catch rate -db 217 ; base exp yield -INCBIN "gfx/pokemon/front/moltres.pic",0,1 ; 77, sprite dimensions -dw MoltresPicFront -dw MoltresPicBack -; attacks known at lvl 0 -db PECK -db FIRE_SPIN -db 0 -db 0 -db 5 ; growth rate -; learnset - tmlearn 2,4,6 - tmlearn 9,10,15 - tmlearn 20 - tmlearn 31,32 - tmlearn 33,34,38,39 - tmlearn 43,44 - tmlearn 50,52 -db 0 ; padding diff --git a/data/baseStats/mrmime.asm b/data/baseStats/mrmime.asm deleted file mode 100644 index 95f2655a..00000000 --- a/data/baseStats/mrmime.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_MR_MIME ; pokedex id -db 40 ; base hp -db 45 ; base attack -db 65 ; base defense -db 90 ; base speed -db 100 ; base special -db PSYCHIC ; species type 1 -db PSYCHIC ; species type 2 -db 45 ; catch rate -db 136 ; base exp yield -INCBIN "gfx/pokemon/front/mr.mime.pic",0,1 ; 66, sprite dimensions -dw MrMimePicFront -dw MrMimePicBack -; attacks known at lvl 0 -db CONFUSION -db BARRIER -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,15 - tmlearn 17,18,19,20,22,24 - tmlearn 25,29,30,31,32 - tmlearn 33,34,35,40 - tmlearn 44,45,46 - tmlearn 50,55 -db 0 ; padding diff --git a/data/baseStats/muk.asm b/data/baseStats/muk.asm deleted file mode 100644 index 45f7921f..00000000 --- a/data/baseStats/muk.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_MUK ; pokedex id -db 105 ; base hp -db 105 ; base attack -db 75 ; base defense -db 50 ; base speed -db 65 ; base special -db POISON ; species type 1 -db POISON ; species type 2 -db 75 ; catch rate -db 157 ; base exp yield -INCBIN "gfx/pokemon/front/muk.pic",0,1 ; 77, sprite dimensions -dw MukPicFront -dw MukPicBack -; attacks known at lvl 0 -db POUND -db DISABLE -db POISON_GAS -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 15 - tmlearn 20,21,24 - tmlearn 25,31,32 - tmlearn 34,36,38 - tmlearn 44,47 - tmlearn 50 -db 0 ; padding diff --git a/data/baseStats/nidoking.asm b/data/baseStats/nidoking.asm deleted file mode 100644 index 7d5ff438..00000000 --- a/data/baseStats/nidoking.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_NIDOKING ; pokedex id -db 81 ; base hp -db 92 ; base attack -db 77 ; base defense -db 85 ; base speed -db 75 ; base special -db POISON ; species type 1 -db GROUND ; species type 2 -db 45 ; catch rate -db 195 ; base exp yield -INCBIN "gfx/pokemon/front/nidoking.pic",0,1 ; 77, sprite dimensions -dw NidokingPicFront -dw NidokingPicBack -; attacks known at lvl 0 -db TACKLE -db HORN_ATTACK -db POISON_STING -db THRASH -db 3 ; growth rate -; learnset - tmlearn 1,5,6,7,8 - tmlearn 9,10,11,12,13,14,15,16 - tmlearn 17,18,19,20,24 - tmlearn 25,26,27,31,32 - tmlearn 33,34,38,40 - tmlearn 44,48 - tmlearn 50,53,54 -db 0 ; padding diff --git a/data/baseStats/nidoqueen.asm b/data/baseStats/nidoqueen.asm deleted file mode 100644 index 9b635e3e..00000000 --- a/data/baseStats/nidoqueen.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_NIDOQUEEN ; pokedex id -db 90 ; base hp -db 82 ; base attack -db 87 ; base defense -db 76 ; base speed -db 75 ; base special -db POISON ; species type 1 -db GROUND ; species type 2 -db 45 ; catch rate -db 194 ; base exp yield -INCBIN "gfx/pokemon/front/nidoqueen.pic",0,1 ; 77, sprite dimensions -dw NidoqueenPicFront -dw NidoqueenPicBack -; attacks known at lvl 0 -db TACKLE -db SCRATCH -db TAIL_WHIP -db BODY_SLAM -db 3 ; growth rate -; learnset - tmlearn 1,5,6,7,8 - tmlearn 9,10,11,12,13,14,15,16 - tmlearn 17,18,19,20,24 - tmlearn 25,26,27,31,32 - tmlearn 33,34,38,40 - tmlearn 44,48 - tmlearn 50,53,54 -db 0 ; padding diff --git a/data/baseStats/nidoranf.asm b/data/baseStats/nidoranf.asm deleted file mode 100644 index f58e971d..00000000 --- a/data/baseStats/nidoranf.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_NIDORAN_F ; pokedex id -db 55 ; base hp -db 47 ; base attack -db 52 ; base defense -db 41 ; base speed -db 40 ; base special -db POISON ; species type 1 -db POISON ; species type 2 -db 235 ; catch rate -db 59 ; base exp yield -INCBIN "gfx/pokemon/front/nidoranf.pic",0,1 ; 55, sprite dimensions -dw NidoranFPicFront -dw NidoranFPicBack -; attacks known at lvl 0 -db GROWL -db TACKLE -db 0 -db 0 -db 3 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10,14 - tmlearn 20,24 - tmlearn 25,31,32 - tmlearn 33,34,40 - tmlearn 44 - tmlearn 50 -db 0 ; padding diff --git a/data/baseStats/nidoranm.asm b/data/baseStats/nidoranm.asm deleted file mode 100644 index 2c5374ba..00000000 --- a/data/baseStats/nidoranm.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_NIDORAN_M ; pokedex id -db 46 ; base hp -db 57 ; base attack -db 40 ; base defense -db 50 ; base speed -db 40 ; base special -db POISON ; species type 1 -db POISON ; species type 2 -db 235 ; catch rate -db 60 ; base exp yield -INCBIN "gfx/pokemon/front/nidoranm.pic",0,1 ; 55, sprite dimensions -dw NidoranMPicFront -dw NidoranMPicBack -; attacks known at lvl 0 -db LEER -db TACKLE -db 0 -db 0 -db 3 ; growth rate -; learnset - tmlearn 6,7,8 - tmlearn 9,10,14 - tmlearn 20,24 - tmlearn 25,31,32 - tmlearn 33,34,40 - tmlearn 44 - tmlearn 50 -db 0 ; padding diff --git a/data/baseStats/nidorina.asm b/data/baseStats/nidorina.asm deleted file mode 100644 index ae7681c4..00000000 --- a/data/baseStats/nidorina.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_NIDORINA ; pokedex id -db 70 ; base hp -db 62 ; base attack -db 67 ; base defense -db 56 ; base speed -db 55 ; base special -db POISON ; species type 1 -db POISON ; species type 2 -db 120 ; catch rate -db 117 ; base exp yield -INCBIN "gfx/pokemon/front/nidorina.pic",0,1 ; 66, sprite dimensions -dw NidorinaPicFront -dw NidorinaPicBack -; attacks known at lvl 0 -db GROWL -db TACKLE -db SCRATCH -db 0 -db 3 ; growth rate -; learnset - tmlearn 6,7,8 - tmlearn 9,10,11,12,13,14 - tmlearn 20,24 - tmlearn 25,31,32 - tmlearn 33,34,40 - tmlearn 44 - tmlearn 50 -db 0 ; padding diff --git a/data/baseStats/nidorino.asm b/data/baseStats/nidorino.asm deleted file mode 100644 index c9c87c25..00000000 --- a/data/baseStats/nidorino.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_NIDORINO ; pokedex id -db 61 ; base hp -db 72 ; base attack -db 57 ; base defense -db 65 ; base speed -db 55 ; base special -db POISON ; species type 1 -db POISON ; species type 2 -db 120 ; catch rate -db 118 ; base exp yield -INCBIN "gfx/pokemon/front/nidorino.pic",0,1 ; 66, sprite dimensions -dw NidorinoPicFront -dw NidorinoPicBack -; attacks known at lvl 0 -db LEER -db TACKLE -db HORN_ATTACK -db 0 -db 3 ; growth rate -; learnset - tmlearn 6,7,8 - tmlearn 9,10,11,12,13,14 - tmlearn 20,24 - tmlearn 25,31,32 - tmlearn 33,34,40 - tmlearn 44 - tmlearn 50 -db 0 ; padding diff --git a/data/baseStats/ninetales.asm b/data/baseStats/ninetales.asm deleted file mode 100644 index 88d95329..00000000 --- a/data/baseStats/ninetales.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_NINETALES ; pokedex id -db 73 ; base hp -db 76 ; base attack -db 75 ; base defense -db 100 ; base speed -db 100 ; base special -db FIRE ; species type 1 -db FIRE ; species type 2 -db 75 ; catch rate -db 178 ; base exp yield -INCBIN "gfx/pokemon/front/ninetales.pic",0,1 ; 77, sprite dimensions -dw NinetalesPicFront -dw NinetalesPicBack -; attacks known at lvl 0 -db EMBER -db TAIL_WHIP -db QUICK_ATTACK -db ROAR -db 0 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10,15 - tmlearn 20 - tmlearn 28,31,32 - tmlearn 33,34,38,39,40 - tmlearn 44 - tmlearn 50 -db 0 ; padding diff --git a/data/baseStats/oddish.asm b/data/baseStats/oddish.asm deleted file mode 100644 index d0309427..00000000 --- a/data/baseStats/oddish.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_ODDISH ; pokedex id -db 45 ; base hp -db 50 ; base attack -db 55 ; base defense -db 30 ; base speed -db 75 ; base special -db GRASS ; species type 1 -db POISON ; species type 2 -db 255 ; catch rate -db 78 ; base exp yield -INCBIN "gfx/pokemon/front/oddish.pic",0,1 ; 55, sprite dimensions -dw OddishPicFront -dw OddishPicBack -; attacks known at lvl 0 -db ABSORB -db 0 -db 0 -db 0 -db 3 ; growth rate -; learnset - tmlearn 3,6 - tmlearn 9,10 - tmlearn 20,21,22 - tmlearn 31,32 - tmlearn 33,34 - tmlearn 44 - tmlearn 50,51 -db 0 ; padding diff --git a/data/baseStats/omanyte.asm b/data/baseStats/omanyte.asm deleted file mode 100644 index 33541539..00000000 --- a/data/baseStats/omanyte.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_OMANYTE ; pokedex id -db 35 ; base hp -db 40 ; base attack -db 100 ; base defense -db 35 ; base speed -db 90 ; base special -db ROCK ; species type 1 -db WATER ; species type 2 -db 45 ; catch rate -db 120 ; base exp yield -INCBIN "gfx/pokemon/front/omanyte.pic",0,1 ; 55, sprite dimensions -dw OmanytePicFront -dw OmanytePicBack -; attacks known at lvl 0 -db WATER_GUN -db WITHDRAW -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10,11,12,13,14 - tmlearn 20 - tmlearn 31,32 - tmlearn 33,34 - tmlearn 44 - tmlearn 50,53 -db 0 ; padding diff --git a/data/baseStats/omastar.asm b/data/baseStats/omastar.asm deleted file mode 100644 index dfd5c7a2..00000000 --- a/data/baseStats/omastar.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_OMASTAR ; pokedex id -db 70 ; base hp -db 60 ; base attack -db 125 ; base defense -db 55 ; base speed -db 115 ; base special -db ROCK ; species type 1 -db WATER ; species type 2 -db 45 ; catch rate -db 199 ; base exp yield -INCBIN "gfx/pokemon/front/omastar.pic",0,1 ; 66, sprite dimensions -dw OmastarPicFront -dw OmastarPicBack -; attacks known at lvl 0 -db WATER_GUN -db WITHDRAW -db HORN_ATTACK -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,7,8 - tmlearn 9,10,11,12,13,14,15 - tmlearn 17,19,20 - tmlearn 31,32 - tmlearn 33,34,40 - tmlearn 44 - tmlearn 50,53 -db 0 ; padding diff --git a/data/baseStats/onix.asm b/data/baseStats/onix.asm deleted file mode 100644 index a0ad840e..00000000 --- a/data/baseStats/onix.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_ONIX ; pokedex id -db 35 ; base hp -db 45 ; base attack -db 160 ; base defense -db 70 ; base speed -db 30 ; base special -db ROCK ; species type 1 -db GROUND ; species type 2 -db 45 ; catch rate -db 108 ; base exp yield -INCBIN "gfx/pokemon/front/onix.pic",0,1 ; 77, sprite dimensions -dw OnixPicFront -dw OnixPicBack -; attacks known at lvl 0 -db TACKLE -db SCREECH -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10 - tmlearn 20 - tmlearn 26,27,28,31,32 - tmlearn 34,36,40 - tmlearn 44,47,48 - tmlearn 50,54 -db 0 ; padding diff --git a/data/baseStats/paras.asm b/data/baseStats/paras.asm deleted file mode 100644 index 47d2d490..00000000 --- a/data/baseStats/paras.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_PARAS ; pokedex id -db 35 ; base hp -db 70 ; base attack -db 55 ; base defense -db 25 ; base speed -db 55 ; base special -db BUG ; species type 1 -db GRASS ; species type 2 -db 190 ; catch rate -db 70 ; base exp yield -INCBIN "gfx/pokemon/front/paras.pic",0,1 ; 55, sprite dimensions -dw ParasPicFront -dw ParasPicBack -; attacks known at lvl 0 -db SCRATCH -db 0 -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 3,6,8 - tmlearn 9,10 - tmlearn 20,21,22 - tmlearn 28,31,32 - tmlearn 33,34,40 - tmlearn 44 - tmlearn 50,51 -db 0 ; padding diff --git a/data/baseStats/parasect.asm b/data/baseStats/parasect.asm deleted file mode 100644 index 8e39c90e..00000000 --- a/data/baseStats/parasect.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_PARASECT ; pokedex id -db 60 ; base hp -db 95 ; base attack -db 80 ; base defense -db 30 ; base speed -db 80 ; base special -db BUG ; species type 1 -db GRASS ; species type 2 -db 75 ; catch rate -db 128 ; base exp yield -INCBIN "gfx/pokemon/front/parasect.pic",0,1 ; 77, sprite dimensions -dw ParasectPicFront -dw ParasectPicBack -; attacks known at lvl 0 -db SCRATCH -db STUN_SPORE -db LEECH_LIFE -db 0 -db 0 ; growth rate -; learnset - tmlearn 3,6,8 - tmlearn 9,10,15 - tmlearn 20,21,22 - tmlearn 28,31,32 - tmlearn 33,34,40 - tmlearn 44 - tmlearn 50,51 -db 0 ; padding diff --git a/data/baseStats/persian.asm b/data/baseStats/persian.asm deleted file mode 100644 index 40a9d70c..00000000 --- a/data/baseStats/persian.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_PERSIAN ; pokedex id -db 65 ; base hp -db 70 ; base attack -db 60 ; base defense -db 115 ; base speed -db 65 ; base special -db NORMAL ; species type 1 -db NORMAL ; species type 2 -db 90 ; catch rate -db 148 ; base exp yield -INCBIN "gfx/pokemon/front/persian.pic",0,1 ; 77, sprite dimensions -dw PersianPicFront -dw PersianPicBack -; attacks known at lvl 0 -db SCRATCH -db GROWL -db BITE -db SCREECH -db 0 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10,11,12,15,16 - tmlearn 20,24 - tmlearn 25,31,32 - tmlearn 34,39,40 - tmlearn 44 - tmlearn 50 -db 0 ; padding diff --git a/data/baseStats/pidgeot.asm b/data/baseStats/pidgeot.asm deleted file mode 100644 index 9c770dd6..00000000 --- a/data/baseStats/pidgeot.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_PIDGEOT ; pokedex id -db 83 ; base hp -db 80 ; base attack -db 75 ; base defense -db 91 ; base speed -db 70 ; base special -db NORMAL ; species type 1 -db FLYING ; species type 2 -db 45 ; catch rate -db 172 ; base exp yield -INCBIN "gfx/pokemon/front/pidgeot.pic",0,1 ; 77, sprite dimensions -dw PidgeotPicFront -dw PidgeotPicBack -; attacks known at lvl 0 -db GUST -db SAND_ATTACK -db QUICK_ATTACK -db 0 -db 3 ; growth rate -; learnset - tmlearn 2,4,6 - tmlearn 9,10,15 - tmlearn 20 - tmlearn 31,32 - tmlearn 33,34,39 - tmlearn 43,44 - tmlearn 50,52 -db 0 ; padding diff --git a/data/baseStats/pidgeotto.asm b/data/baseStats/pidgeotto.asm deleted file mode 100644 index 1a2962e7..00000000 --- a/data/baseStats/pidgeotto.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_PIDGEOTTO ; pokedex id -db 63 ; base hp -db 60 ; base attack -db 55 ; base defense -db 71 ; base speed -db 50 ; base special -db NORMAL ; species type 1 -db FLYING ; species type 2 -db 120 ; catch rate -db 113 ; base exp yield -INCBIN "gfx/pokemon/front/pidgeotto.pic",0,1 ; 66, sprite dimensions -dw PidgeottoPicFront -dw PidgeottoPicBack -; attacks known at lvl 0 -db GUST -db SAND_ATTACK -db 0 -db 0 -db 3 ; growth rate -; learnset - tmlearn 2,4,6 - tmlearn 9,10 - tmlearn 20 - tmlearn 31,32 - tmlearn 33,34,39 - tmlearn 43,44 - tmlearn 50,52 -db 0 ; padding diff --git a/data/baseStats/pidgey.asm b/data/baseStats/pidgey.asm deleted file mode 100644 index ca167e3b..00000000 --- a/data/baseStats/pidgey.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_PIDGEY ; pokedex id -db 40 ; base hp -db 45 ; base attack -db 40 ; base defense -db 56 ; base speed -db 35 ; base special -db NORMAL ; species type 1 -db FLYING ; species type 2 -db 255 ; catch rate -db 55 ; base exp yield -INCBIN "gfx/pokemon/front/pidgey.pic",0,1 ; 55, sprite dimensions -dw PidgeyPicFront -dw PidgeyPicBack -; attacks known at lvl 0 -db GUST -db 0 -db 0 -db 0 -db 3 ; growth rate -; learnset - tmlearn 2,4,6 - tmlearn 9,10 - tmlearn 20 - tmlearn 31,32 - tmlearn 33,34,39 - tmlearn 43,44 - tmlearn 50,52 -db 0 ; padding diff --git a/data/baseStats/pikachu.asm b/data/baseStats/pikachu.asm deleted file mode 100644 index 36391ed8..00000000 --- a/data/baseStats/pikachu.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_PIKACHU ; pokedex id -db 35 ; base hp -db 55 ; base attack -db 30 ; base defense -db 90 ; base speed -db 50 ; base special -db ELECTRIC ; species type 1 -db ELECTRIC ; species type 2 -db 190 ; catch rate -db 82 ; base exp yield -INCBIN "gfx/pokemon/front/pikachu.pic",0,1 ; 55, sprite dimensions -dw PikachuPicFront -dw PikachuPicBack -; attacks known at lvl 0 -db THUNDERSHOCK -db GROWL -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,16 - tmlearn 17,19,20,24 - tmlearn 25,31,32 - tmlearn 33,34,39,40 - tmlearn 44,45 - tmlearn 50,55 -db 0 ; padding diff --git a/data/baseStats/pinsir.asm b/data/baseStats/pinsir.asm deleted file mode 100644 index db749370..00000000 --- a/data/baseStats/pinsir.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_PINSIR ; pokedex id -db 65 ; base hp -db 125 ; base attack -db 100 ; base defense -db 85 ; base speed -db 55 ; base special -db BUG ; species type 1 -db BUG ; species type 2 -db 45 ; catch rate -db 200 ; base exp yield -INCBIN "gfx/pokemon/front/pinsir.pic",0,1 ; 77, sprite dimensions -dw PinsirPicFront -dw PinsirPicBack -; attacks known at lvl 0 -db VICEGRIP -db 0 -db 0 -db 0 -db 5 ; growth rate -; learnset - tmlearn 3,6,8 - tmlearn 9,10,15 - tmlearn 17,19,20 - tmlearn 31,32 - tmlearn 34 - tmlearn 44 - tmlearn 50,51,54 -db 0 ; padding diff --git a/data/baseStats/poliwag.asm b/data/baseStats/poliwag.asm deleted file mode 100644 index a4e260ba..00000000 --- a/data/baseStats/poliwag.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_POLIWAG ; pokedex id -db 40 ; base hp -db 50 ; base attack -db 40 ; base defense -db 90 ; base speed -db 40 ; base special -db WATER ; species type 1 -db WATER ; species type 2 -db 255 ; catch rate -db 77 ; base exp yield -INCBIN "gfx/pokemon/front/poliwag.pic",0,1 ; 55, sprite dimensions -dw PoliwagPicFront -dw PoliwagPicBack -; attacks known at lvl 0 -db BUBBLE -db 0 -db 0 -db 0 -db 3 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10,11,12,13,14 - tmlearn 20 - tmlearn 29,31,32 - tmlearn 34,40 - tmlearn 44,46 - tmlearn 50,53 -db 0 ; padding diff --git a/data/baseStats/poliwhirl.asm b/data/baseStats/poliwhirl.asm deleted file mode 100644 index 706bd498..00000000 --- a/data/baseStats/poliwhirl.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_POLIWHIRL ; pokedex id -db 65 ; base hp -db 65 ; base attack -db 65 ; base defense -db 90 ; base speed -db 50 ; base special -db WATER ; species type 1 -db WATER ; species type 2 -db 120 ; catch rate -db 131 ; base exp yield -INCBIN "gfx/pokemon/front/poliwhirl.pic",0,1 ; 66, sprite dimensions -dw PoliwhirlPicFront -dw PoliwhirlPicBack -; attacks known at lvl 0 -db BUBBLE -db HYPNOSIS -db WATER_GUN -db 0 -db 3 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,11,12,13,14 - tmlearn 17,18,19,20 - tmlearn 26,27,29,31,32 - tmlearn 34,35,40 - tmlearn 44,46 - tmlearn 50,53,54 -db 0 ; padding diff --git a/data/baseStats/poliwrath.asm b/data/baseStats/poliwrath.asm deleted file mode 100644 index 6f7d4b78..00000000 --- a/data/baseStats/poliwrath.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_POLIWRATH ; pokedex id -db 90 ; base hp -db 85 ; base attack -db 95 ; base defense -db 70 ; base speed -db 70 ; base special -db WATER ; species type 1 -db FIGHTING ; species type 2 -db 45 ; catch rate -db 185 ; base exp yield -INCBIN "gfx/pokemon/front/poliwrath.pic",0,1 ; 77, sprite dimensions -dw PoliwrathPicFront -dw PoliwrathPicBack -; attacks known at lvl 0 -db HYPNOSIS -db WATER_GUN -db DOUBLESLAP -db BODY_SLAM -db 3 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,11,12,13,14,15 - tmlearn 17,18,19,20 - tmlearn 26,27,29,31,32 - tmlearn 34,35,40 - tmlearn 44,46 - tmlearn 50,53,54 -db 0 ; padding diff --git a/data/baseStats/ponyta.asm b/data/baseStats/ponyta.asm deleted file mode 100644 index 667d3cc9..00000000 --- a/data/baseStats/ponyta.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_PONYTA ; pokedex id -db 50 ; base hp -db 85 ; base attack -db 55 ; base defense -db 90 ; base speed -db 65 ; base special -db FIRE ; species type 1 -db FIRE ; species type 2 -db 190 ; catch rate -db 152 ; base exp yield -INCBIN "gfx/pokemon/front/ponyta.pic",0,1 ; 66, sprite dimensions -dw PonytaPicFront -dw PonytaPicBack -; attacks known at lvl 0 -db EMBER -db 0 -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,7,8 - tmlearn 9,10 - tmlearn 20 - tmlearn 31,32 - tmlearn 33,34,38,39,40 - tmlearn 44 - tmlearn 50 -db 0 ; padding diff --git a/data/baseStats/porygon.asm b/data/baseStats/porygon.asm deleted file mode 100644 index 71a37154..00000000 --- a/data/baseStats/porygon.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_PORYGON ; pokedex id -db 65 ; base hp -db 60 ; base attack -db 70 ; base defense -db 40 ; base speed -db 75 ; base special -db NORMAL ; species type 1 -db NORMAL ; species type 2 -db 45 ; catch rate -db 130 ; base exp yield -INCBIN "gfx/pokemon/front/porygon.pic",0,1 ; 66, sprite dimensions -dw PorygonPicFront -dw PorygonPicBack -; attacks known at lvl 0 -db TACKLE -db SHARPEN -db CONVERSION -db 0 -db 0 ; growth rate -; learnset - tmlearn 6 - tmlearn 9,10,13,14,15 - tmlearn 20,24 - tmlearn 25,29,30,31,32 - tmlearn 33,34,39,40 - tmlearn 44,45,46 - tmlearn 49,50,55 -db 0 ; padding diff --git a/data/baseStats/primeape.asm b/data/baseStats/primeape.asm deleted file mode 100644 index 2d00ee76..00000000 --- a/data/baseStats/primeape.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_PRIMEAPE ; pokedex id -db 65 ; base hp -db 105 ; base attack -db 60 ; base defense -db 95 ; base speed -db 60 ; base special -db FIGHTING ; species type 1 -db FIGHTING ; species type 2 -db 75 ; catch rate -db 149 ; base exp yield -INCBIN "gfx/pokemon/front/primeape.pic",0,1 ; 77, sprite dimensions -dw PrimeapePicFront -dw PrimeapePicBack -; attacks known at lvl 0 -db SCRATCH -db LEER -db KARATE_CHOP -db FURY_SWIPES -db 0 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,15,16 - tmlearn 17,18,19,20,24 - tmlearn 25,28,31,32 - tmlearn 34,35,39,40 - tmlearn 44,48 - tmlearn 50,54 -db 0 ; padding diff --git a/data/baseStats/psyduck.asm b/data/baseStats/psyduck.asm deleted file mode 100644 index 163f851e..00000000 --- a/data/baseStats/psyduck.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_PSYDUCK ; pokedex id -db 50 ; base hp -db 52 ; base attack -db 48 ; base defense -db 55 ; base speed -db 50 ; base special -db WATER ; species type 1 -db WATER ; species type 2 -db 190 ; catch rate -db 80 ; base exp yield -INCBIN "gfx/pokemon/front/psyduck.pic",0,1 ; 55, sprite dimensions -dw PsyduckPicFront -dw PsyduckPicBack -; attacks known at lvl 0 -db SCRATCH -db 0 -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,11,12,13,14,16 - tmlearn 17,18,19,20 - tmlearn 28,31,32 - tmlearn 34,39,40 - tmlearn 44 - tmlearn 50,53,54 -db 0 ; padding diff --git a/data/baseStats/raichu.asm b/data/baseStats/raichu.asm deleted file mode 100644 index c2c0c6a9..00000000 --- a/data/baseStats/raichu.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_RAICHU ; pokedex id -db 60 ; base hp -db 90 ; base attack -db 55 ; base defense -db 100 ; base speed -db 90 ; base special -db ELECTRIC ; species type 1 -db ELECTRIC ; species type 2 -db 75 ; catch rate -db 122 ; base exp yield -INCBIN "gfx/pokemon/front/raichu.pic",0,1 ; 77, sprite dimensions -dw RaichuPicFront -dw RaichuPicBack -; attacks known at lvl 0 -db THUNDERSHOCK -db GROWL -db THUNDER_WAVE -db 0 -db 0 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,15,16 - tmlearn 17,19,20,24 - tmlearn 25,31,32 - tmlearn 33,34,39,40 - tmlearn 44,45 - tmlearn 50,55 -db 0 ; padding diff --git a/data/baseStats/rapidash.asm b/data/baseStats/rapidash.asm deleted file mode 100644 index 53dcbe4a..00000000 --- a/data/baseStats/rapidash.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_RAPIDASH ; pokedex id -db 65 ; base hp -db 100 ; base attack -db 70 ; base defense -db 105 ; base speed -db 80 ; base special -db FIRE ; species type 1 -db FIRE ; species type 2 -db 60 ; catch rate -db 192 ; base exp yield -INCBIN "gfx/pokemon/front/rapidash.pic",0,1 ; 77, sprite dimensions -dw RapidashPicFront -dw RapidashPicBack -; attacks known at lvl 0 -db EMBER -db TAIL_WHIP -db STOMP -db GROWL -db 0 ; growth rate -; learnset - tmlearn 6,7,8 - tmlearn 9,10,15 - tmlearn 20 - tmlearn 31,32 - tmlearn 33,34,38,39,40 - tmlearn 44 - tmlearn 50 -db 0 ; padding diff --git a/data/baseStats/raticate.asm b/data/baseStats/raticate.asm deleted file mode 100644 index 157b22bb..00000000 --- a/data/baseStats/raticate.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_RATICATE ; pokedex id -db 55 ; base hp -db 81 ; base attack -db 60 ; base defense -db 97 ; base speed -db 50 ; base special -db NORMAL ; species type 1 -db NORMAL ; species type 2 -db 90 ; catch rate -db 116 ; base exp yield -INCBIN "gfx/pokemon/front/raticate.pic",0,1 ; 66, sprite dimensions -dw RaticatePicFront -dw RaticatePicBack -; attacks known at lvl 0 -db TACKLE -db TAIL_WHIP -db QUICK_ATTACK -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10,11,12,13,14,15 - tmlearn 20,24 - tmlearn 25,28,31,32 - tmlearn 34,39,40 - tmlearn 44 - tmlearn 50 -db 0 ; padding diff --git a/data/baseStats/rattata.asm b/data/baseStats/rattata.asm deleted file mode 100644 index 5dfafddb..00000000 --- a/data/baseStats/rattata.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_RATTATA ; pokedex id -db 30 ; base hp -db 56 ; base attack -db 35 ; base defense -db 72 ; base speed -db 25 ; base special -db NORMAL ; species type 1 -db NORMAL ; species type 2 -db 255 ; catch rate -db 57 ; base exp yield -INCBIN "gfx/pokemon/front/rattata.pic",0,1 ; 55, sprite dimensions -dw RattataPicFront -dw RattataPicBack -; attacks known at lvl 0 -db TACKLE -db TAIL_WHIP -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10,11,12,14 - tmlearn 20,24 - tmlearn 25,28,31,32 - tmlearn 34,39,40 - tmlearn 44 - tmlearn 50 -db 0 ; padding diff --git a/data/baseStats/rhydon.asm b/data/baseStats/rhydon.asm deleted file mode 100644 index 9f611a83..00000000 --- a/data/baseStats/rhydon.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_RHYDON ; pokedex id -db 105 ; base hp -db 130 ; base attack -db 120 ; base defense -db 40 ; base speed -db 45 ; base special -db GROUND ; species type 1 -db ROCK ; species type 2 -db 60 ; catch rate -db 204 ; base exp yield -INCBIN "gfx/pokemon/front/rhydon.pic",0,1 ; 77, sprite dimensions -dw RhydonPicFront -dw RhydonPicBack -; attacks known at lvl 0 -db HORN_ATTACK -db STOMP -db TAIL_WHIP -db FURY_ATTACK -db 5 ; growth rate -; learnset - tmlearn 1,5,6,7,8 - tmlearn 9,10,11,12,13,14,15,16 - tmlearn 17,18,19,20,24 - tmlearn 25,26,27,28,31,32 - tmlearn 34,38,40 - tmlearn 44,48 - tmlearn 50,53,54 -db 0 ; padding diff --git a/data/baseStats/rhyhorn.asm b/data/baseStats/rhyhorn.asm deleted file mode 100644 index b7fc9137..00000000 --- a/data/baseStats/rhyhorn.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_RHYHORN ; pokedex id -db 80 ; base hp -db 85 ; base attack -db 95 ; base defense -db 25 ; base speed -db 30 ; base special -db GROUND ; species type 1 -db ROCK ; species type 2 -db 120 ; catch rate -db 135 ; base exp yield -INCBIN "gfx/pokemon/front/rhyhorn.pic",0,1 ; 77, sprite dimensions -dw RhyhornPicFront -dw RhyhornPicBack -; attacks known at lvl 0 -db HORN_ATTACK -db 0 -db 0 -db 0 -db 5 ; growth rate -; learnset - tmlearn 6,7,8 - tmlearn 9,10 - tmlearn 20,24 - tmlearn 25,26,27,28,31,32 - tmlearn 34,38,40 - tmlearn 44,48 - tmlearn 50,54 -db 0 ; padding diff --git a/data/baseStats/sandshrew.asm b/data/baseStats/sandshrew.asm deleted file mode 100644 index a098678e..00000000 --- a/data/baseStats/sandshrew.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_SANDSHREW ; pokedex id -db 50 ; base hp -db 75 ; base attack -db 85 ; base defense -db 40 ; base speed -db 30 ; base special -db GROUND ; species type 1 -db GROUND ; species type 2 -db 255 ; catch rate -db 93 ; base exp yield -INCBIN "gfx/pokemon/front/sandshrew.pic",0,1 ; 55, sprite dimensions -dw SandshrewPicFront -dw SandshrewPicBack -; attacks known at lvl 0 -db SCRATCH -db 0 -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 3,6,8 - tmlearn 9,10 - tmlearn 17,19,20 - tmlearn 26,27,28,31,32 - tmlearn 34,39,40 - tmlearn 44,48 - tmlearn 50,51,54 -db 0 ; padding diff --git a/data/baseStats/sandslash.asm b/data/baseStats/sandslash.asm deleted file mode 100644 index c596265c..00000000 --- a/data/baseStats/sandslash.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_SANDSLASH ; pokedex id -db 75 ; base hp -db 100 ; base attack -db 110 ; base defense -db 65 ; base speed -db 55 ; base special -db GROUND ; species type 1 -db GROUND ; species type 2 -db 90 ; catch rate -db 163 ; base exp yield -INCBIN "gfx/pokemon/front/sandslash.pic",0,1 ; 66, sprite dimensions -dw SandslashPicFront -dw SandslashPicBack -; attacks known at lvl 0 -db SCRATCH -db SAND_ATTACK -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 3,6,8 - tmlearn 9,10,15 - tmlearn 17,19,20 - tmlearn 26,27,28,31,32 - tmlearn 34,39,40 - tmlearn 44,48 - tmlearn 50,51,54 -db 0 ; padding diff --git a/data/baseStats/scyther.asm b/data/baseStats/scyther.asm deleted file mode 100644 index 303a33c1..00000000 --- a/data/baseStats/scyther.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_SCYTHER ; pokedex id -db 70 ; base hp -db 110 ; base attack -db 80 ; base defense -db 105 ; base speed -db 55 ; base special -db BUG ; species type 1 -db FLYING ; species type 2 -db 45 ; catch rate -db 187 ; base exp yield -INCBIN "gfx/pokemon/front/scyther.pic",0,1 ; 77, sprite dimensions -dw ScytherPicFront -dw ScytherPicBack -; attacks known at lvl 0 -db QUICK_ATTACK -db 0 -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 3,6 - tmlearn 9,10,15 - tmlearn 20 - tmlearn 31,32 - tmlearn 34,39,40 - tmlearn 44 - tmlearn 50,51 -db 0 ; padding diff --git a/data/baseStats/seadra.asm b/data/baseStats/seadra.asm deleted file mode 100644 index cd9bbc3f..00000000 --- a/data/baseStats/seadra.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_SEADRA ; pokedex id -db 55 ; base hp -db 65 ; base attack -db 95 ; base defense -db 85 ; base speed -db 95 ; base special -db WATER ; species type 1 -db WATER ; species type 2 -db 75 ; catch rate -db 155 ; base exp yield -INCBIN "gfx/pokemon/front/seadra.pic",0,1 ; 66, sprite dimensions -dw SeadraPicFront -dw SeadraPicBack -; attacks known at lvl 0 -db BUBBLE -db SMOKESCREEN -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 6 - tmlearn 9,10,11,12,13,14,15 - tmlearn 20 - tmlearn 31,32 - tmlearn 34,39,40 - tmlearn 44 - tmlearn 50,53 -db 0 ; padding diff --git a/data/baseStats/seaking.asm b/data/baseStats/seaking.asm deleted file mode 100644 index c14b095b..00000000 --- a/data/baseStats/seaking.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_SEAKING ; pokedex id -db 80 ; base hp -db 92 ; base attack -db 65 ; base defense -db 68 ; base speed -db 80 ; base special -db WATER ; species type 1 -db WATER ; species type 2 -db 60 ; catch rate -db 170 ; base exp yield -INCBIN "gfx/pokemon/front/seaking.pic",0,1 ; 77, sprite dimensions -dw SeakingPicFront -dw SeakingPicBack -; attacks known at lvl 0 -db PECK -db TAIL_WHIP -db SUPERSONIC -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,7 - tmlearn 9,10,11,12,13,14,15 - tmlearn 20 - tmlearn 31,32 - tmlearn 34,39,40 - tmlearn 44 - tmlearn 50,53 -db 0 ; padding diff --git a/data/baseStats/seel.asm b/data/baseStats/seel.asm deleted file mode 100644 index 64c0cd7f..00000000 --- a/data/baseStats/seel.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_SEEL ; pokedex id -db 65 ; base hp -db 45 ; base attack -db 55 ; base defense -db 45 ; base speed -db 70 ; base special -db WATER ; species type 1 -db WATER ; species type 2 -db 190 ; catch rate -db 100 ; base exp yield -INCBIN "gfx/pokemon/front/seel.pic",0,1 ; 66, sprite dimensions -dw SeelPicFront -dw SeelPicBack -; attacks known at lvl 0 -db HEADBUTT -db 0 -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,7,8 - tmlearn 9,10,11,12,13,14,16 - tmlearn 20 - tmlearn 31,32 - tmlearn 34,40 - tmlearn 44 - tmlearn 50,53,54 -db 0 ; padding diff --git a/data/baseStats/shellder.asm b/data/baseStats/shellder.asm deleted file mode 100644 index c051f2f5..00000000 --- a/data/baseStats/shellder.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_SHELLDER ; pokedex id -db 30 ; base hp -db 65 ; base attack -db 100 ; base defense -db 40 ; base speed -db 45 ; base special -db WATER ; species type 1 -db WATER ; species type 2 -db 190 ; catch rate -db 97 ; base exp yield -INCBIN "gfx/pokemon/front/shellder.pic",0,1 ; 55, sprite dimensions -dw ShellderPicFront -dw ShellderPicBack -; attacks known at lvl 0 -db TACKLE -db WITHDRAW -db 0 -db 0 -db 5 ; growth rate -; learnset - tmlearn 6 - tmlearn 9,10,11,12,13,14 - tmlearn 20 - tmlearn 30,31,32 - tmlearn 33,34,36,39 - tmlearn 44,47 - tmlearn 49,50,53 -db 0 ; padding diff --git a/data/baseStats/slowbro.asm b/data/baseStats/slowbro.asm deleted file mode 100644 index 51d3f564..00000000 --- a/data/baseStats/slowbro.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_SLOWBRO ; pokedex id -db 95 ; base hp -db 75 ; base attack -db 110 ; base defense -db 30 ; base speed -db 80 ; base special -db WATER ; species type 1 -db PSYCHIC ; species type 2 -db 75 ; catch rate -db 164 ; base exp yield -INCBIN "gfx/pokemon/front/slowbro.pic",0,1 ; 77, sprite dimensions -dw SlowbroPicFront -dw SlowbroPicBack -; attacks known at lvl 0 -db CONFUSION -db DISABLE -db HEADBUTT -db 0 -db 0 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,11,12,13,14,15,16 - tmlearn 17,18,19,20 - tmlearn 26,27,28,29,30,31,32 - tmlearn 33,34,38,39,40 - tmlearn 44,45,46 - tmlearn 49,50,53,54,55 -db 0 ; padding diff --git a/data/baseStats/slowpoke.asm b/data/baseStats/slowpoke.asm deleted file mode 100644 index 60e47ea8..00000000 --- a/data/baseStats/slowpoke.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_SLOWPOKE ; pokedex id -db 90 ; base hp -db 65 ; base attack -db 65 ; base defense -db 15 ; base speed -db 40 ; base special -db WATER ; species type 1 -db PSYCHIC ; species type 2 -db 190 ; catch rate -db 99 ; base exp yield -INCBIN "gfx/pokemon/front/slowpoke.pic",0,1 ; 55, sprite dimensions -dw SlowpokePicFront -dw SlowpokePicBack -; attacks known at lvl 0 -db CONFUSION -db 0 -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10,11,12,13,14,16 - tmlearn 20 - tmlearn 26,27,28,29,30,31,32 - tmlearn 33,34,38,39,40 - tmlearn 44,45,46 - tmlearn 49,50,53,54,55 -db 0 ; padding diff --git a/data/baseStats/snorlax.asm b/data/baseStats/snorlax.asm deleted file mode 100644 index c1d47cd6..00000000 --- a/data/baseStats/snorlax.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_SNORLAX ; pokedex id -db 160 ; base hp -db 110 ; base attack -db 65 ; base defense -db 30 ; base speed -db 65 ; base special -db NORMAL ; species type 1 -db NORMAL ; species type 2 -db 25 ; catch rate -db 154 ; base exp yield -INCBIN "gfx/pokemon/front/snorlax.pic",0,1 ; 77, sprite dimensions -dw SnorlaxPicFront -dw SnorlaxPicBack -; attacks known at lvl 0 -db HEADBUTT -db AMNESIA -db REST -db 0 -db 5 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,11,12,13,14,15,16 - tmlearn 17,18,19,20,22,24 - tmlearn 25,26,27,29,31,32 - tmlearn 33,34,35,36,38,40 - tmlearn 44,46,48 - tmlearn 50,53,54 -db 0 ; padding diff --git a/data/baseStats/spearow.asm b/data/baseStats/spearow.asm deleted file mode 100644 index 9b8db91d..00000000 --- a/data/baseStats/spearow.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_SPEAROW ; pokedex id -db 40 ; base hp -db 60 ; base attack -db 30 ; base defense -db 70 ; base speed -db 31 ; base special -db NORMAL ; species type 1 -db FLYING ; species type 2 -db 255 ; catch rate -db 58 ; base exp yield -INCBIN "gfx/pokemon/front/spearow.pic",0,1 ; 55, sprite dimensions -dw SpearowPicFront -dw SpearowPicBack -; attacks known at lvl 0 -db PECK -db GROWL -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 2,4,6 - tmlearn 9,10 - tmlearn 20 - tmlearn 31,32 - tmlearn 34,39 - tmlearn 43,44 - tmlearn 50,52 -db 0 ; padding diff --git a/data/baseStats/squirtle.asm b/data/baseStats/squirtle.asm deleted file mode 100644 index 639809f9..00000000 --- a/data/baseStats/squirtle.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_SQUIRTLE ; pokedex id -db 44 ; base hp -db 48 ; base attack -db 65 ; base defense -db 43 ; base speed -db 50 ; base special -db WATER ; species type 1 -db WATER ; species type 2 -db 45 ; catch rate -db 66 ; base exp yield -INCBIN "gfx/pokemon/front/squirtle.pic",0,1 ; 55, sprite dimensions -dw SquirtlePicFront -dw SquirtlePicBack -; attacks known at lvl 0 -db TACKLE -db TAIL_WHIP -db 0 -db 0 -db 3 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,11,12,13,14 - tmlearn 17,18,19,20 - tmlearn 28,31,32 - tmlearn 33,34,40 - tmlearn 44 - tmlearn 50,53,54 -db 0 ; padding diff --git a/data/baseStats/starmie.asm b/data/baseStats/starmie.asm deleted file mode 100644 index 23858638..00000000 --- a/data/baseStats/starmie.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_STARMIE ; pokedex id -db 60 ; base hp -db 75 ; base attack -db 85 ; base defense -db 115 ; base speed -db 100 ; base special -db WATER ; species type 1 -db PSYCHIC ; species type 2 -db 60 ; catch rate -db 207 ; base exp yield -INCBIN "gfx/pokemon/front/starmie.pic",0,1 ; 66, sprite dimensions -dw StarmiePicFront -dw StarmiePicBack -; attacks known at lvl 0 -db TACKLE -db WATER_GUN -db HARDEN -db 0 -db 5 ; growth rate -; learnset - tmlearn 6 - tmlearn 9,10,11,12,13,14,15 - tmlearn 20,24 - tmlearn 25,29,30,31,32 - tmlearn 33,34,39,40 - tmlearn 44,45,46 - tmlearn 49,50,53,55 -db 0 ; padding diff --git a/data/baseStats/staryu.asm b/data/baseStats/staryu.asm deleted file mode 100644 index ffbb1f21..00000000 --- a/data/baseStats/staryu.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_STARYU ; pokedex id -db 30 ; base hp -db 45 ; base attack -db 55 ; base defense -db 85 ; base speed -db 70 ; base special -db WATER ; species type 1 -db WATER ; species type 2 -db 225 ; catch rate -db 106 ; base exp yield -INCBIN "gfx/pokemon/front/staryu.pic",0,1 ; 66, sprite dimensions -dw StaryuPicFront -dw StaryuPicBack -; attacks known at lvl 0 -db TACKLE -db 0 -db 0 -db 0 -db 5 ; growth rate -; learnset - tmlearn 6 - tmlearn 9,10,11,12,13,14 - tmlearn 20,24 - tmlearn 25,29,30,31,32 - tmlearn 33,34,39,40 - tmlearn 44,45,46 - tmlearn 49,50,53,55 -db 0 ; padding diff --git a/data/baseStats/tangela.asm b/data/baseStats/tangela.asm deleted file mode 100644 index 65570b3c..00000000 --- a/data/baseStats/tangela.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_TANGELA ; pokedex id -db 65 ; base hp -db 55 ; base attack -db 115 ; base defense -db 60 ; base speed -db 100 ; base special -db GRASS ; species type 1 -db GRASS ; species type 2 -db 45 ; catch rate -db 166 ; base exp yield -INCBIN "gfx/pokemon/front/tangela.pic",0,1 ; 66, sprite dimensions -dw TangelaPicFront -dw TangelaPicBack -; attacks known at lvl 0 -db CONSTRICT -db BIND -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 3,6,8 - tmlearn 9,10,15 - tmlearn 20,21,22 - tmlearn 31,32 - tmlearn 34,40 - tmlearn 44 - tmlearn 50,51 -db 0 ; padding diff --git a/data/baseStats/tauros.asm b/data/baseStats/tauros.asm deleted file mode 100644 index e66980d7..00000000 --- a/data/baseStats/tauros.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_TAUROS ; pokedex id -db 75 ; base hp -db 100 ; base attack -db 95 ; base defense -db 110 ; base speed -db 70 ; base special -db NORMAL ; species type 1 -db NORMAL ; species type 2 -db 45 ; catch rate -db 211 ; base exp yield -INCBIN "gfx/pokemon/front/tauros.pic",0,1 ; 77, sprite dimensions -dw TaurosPicFront -dw TaurosPicBack -; attacks known at lvl 0 -db TACKLE -db 0 -db 0 -db 0 -db 5 ; growth rate -; learnset - tmlearn 6,7,8 - tmlearn 9,10,13,14,15 - tmlearn 20,24 - tmlearn 25,26,27,31,32 - tmlearn 34,38,40 - tmlearn 44 - tmlearn 50,54 -db 0 ; padding diff --git a/data/baseStats/tentacool.asm b/data/baseStats/tentacool.asm deleted file mode 100644 index 0b1b840d..00000000 --- a/data/baseStats/tentacool.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_TENTACOOL ; pokedex id -db 40 ; base hp -db 40 ; base attack -db 35 ; base defense -db 70 ; base speed -db 100 ; base special -db WATER ; species type 1 -db POISON ; species type 2 -db 190 ; catch rate -db 105 ; base exp yield -INCBIN "gfx/pokemon/front/tentacool.pic",0,1 ; 55, sprite dimensions -dw TentacoolPicFront -dw TentacoolPicBack -; attacks known at lvl 0 -db ACID -db 0 -db 0 -db 0 -db 5 ; growth rate -; learnset - tmlearn 3,6 - tmlearn 9,10,11,12,13,14 - tmlearn 20,21 - tmlearn 31,32 - tmlearn 33,34,40 - tmlearn 44 - tmlearn 50,51,53 -db 0 ; padding diff --git a/data/baseStats/tentacruel.asm b/data/baseStats/tentacruel.asm deleted file mode 100644 index ef82c764..00000000 --- a/data/baseStats/tentacruel.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_TENTACRUEL ; pokedex id -db 80 ; base hp -db 70 ; base attack -db 65 ; base defense -db 100 ; base speed -db 120 ; base special -db WATER ; species type 1 -db POISON ; species type 2 -db 60 ; catch rate -db 205 ; base exp yield -INCBIN "gfx/pokemon/front/tentacruel.pic",0,1 ; 66, sprite dimensions -dw TentacruelPicFront -dw TentacruelPicBack -; attacks known at lvl 0 -db ACID -db SUPERSONIC -db WRAP -db 0 -db 5 ; growth rate -; learnset - tmlearn 3,6 - tmlearn 9,10,11,12,13,14,15 - tmlearn 20,21 - tmlearn 31,32 - tmlearn 33,34,40 - tmlearn 44 - tmlearn 50,51,53 -db 0 ; padding diff --git a/data/baseStats/vaporeon.asm b/data/baseStats/vaporeon.asm deleted file mode 100644 index a01c9ade..00000000 --- a/data/baseStats/vaporeon.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_VAPOREON ; pokedex id -db 130 ; base hp -db 65 ; base attack -db 60 ; base defense -db 65 ; base speed -db 110 ; base special -db WATER ; species type 1 -db WATER ; species type 2 -db 45 ; catch rate -db 196 ; base exp yield -INCBIN "gfx/pokemon/front/vaporeon.pic",0,1 ; 66, sprite dimensions -dw VaporeonPicFront -dw VaporeonPicBack -; attacks known at lvl 0 -db TACKLE -db SAND_ATTACK -db QUICK_ATTACK -db WATER_GUN -db 0 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10,11,12,13,14,15 - tmlearn 20 - tmlearn 31,32 - tmlearn 33,34,39,40 - tmlearn 44 - tmlearn 50,53 -db 0 ; padding diff --git a/data/baseStats/venomoth.asm b/data/baseStats/venomoth.asm deleted file mode 100644 index 7518f31e..00000000 --- a/data/baseStats/venomoth.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_VENOMOTH ; pokedex id -db 70 ; base hp -db 65 ; base attack -db 60 ; base defense -db 90 ; base speed -db 90 ; base special -db BUG ; species type 1 -db POISON ; species type 2 -db 75 ; catch rate -db 138 ; base exp yield -INCBIN "gfx/pokemon/front/venomoth.pic",0,1 ; 77, sprite dimensions -dw VenomothPicFront -dw VenomothPicBack -; attacks known at lvl 0 -db TACKLE -db DISABLE -db POISONPOWDER -db LEECH_LIFE -db 0 ; growth rate -; learnset - tmlearn 2,4,6 - tmlearn 9,10,15 - tmlearn 20,21,22 - tmlearn 29,30,31,32 - tmlearn 33,34,39 - tmlearn 44,46 - tmlearn 50 -db 0 ; padding diff --git a/data/baseStats/venonat.asm b/data/baseStats/venonat.asm deleted file mode 100644 index 1e88d9ae..00000000 --- a/data/baseStats/venonat.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_VENONAT ; pokedex id -db 60 ; base hp -db 55 ; base attack -db 50 ; base defense -db 45 ; base speed -db 40 ; base special -db BUG ; species type 1 -db POISON ; species type 2 -db 190 ; catch rate -db 75 ; base exp yield -INCBIN "gfx/pokemon/front/venonat.pic",0,1 ; 55, sprite dimensions -dw VenonatPicFront -dw VenonatPicBack -; attacks known at lvl 0 -db TACKLE -db DISABLE -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 6 - tmlearn 9,10 - tmlearn 20,21,22 - tmlearn 29,31,32 - tmlearn 33,34 - tmlearn 44,46 - tmlearn 50 -db 0 ; padding diff --git a/data/baseStats/venusaur.asm b/data/baseStats/venusaur.asm deleted file mode 100644 index bda8a528..00000000 --- a/data/baseStats/venusaur.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_VENUSAUR ; pokedex id -db 80 ; base hp -db 82 ; base attack -db 83 ; base defense -db 80 ; base speed -db 100 ; base special -db GRASS ; species type 1 -db POISON ; species type 2 -db 45 ; catch rate -db 208 ; base exp yield -INCBIN "gfx/pokemon/front/venusaur.pic",0,1 ; 77, sprite dimensions -dw VenusaurPicFront -dw VenusaurPicBack -; attacks known at lvl 0 -db TACKLE -db GROWL -db LEECH_SEED -db VINE_WHIP -db 3 ; growth rate -; learnset - tmlearn 3,6,8 - tmlearn 9,10,15 - tmlearn 20,21,22 - tmlearn 31,32 - tmlearn 33,34 - tmlearn 44 - tmlearn 50,51 -db 0 ; padding diff --git a/data/baseStats/victreebel.asm b/data/baseStats/victreebel.asm deleted file mode 100644 index ce528805..00000000 --- a/data/baseStats/victreebel.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_VICTREEBEL ; pokedex id -db 80 ; base hp -db 105 ; base attack -db 65 ; base defense -db 70 ; base speed -db 100 ; base special -db GRASS ; species type 1 -db POISON ; species type 2 -db 45 ; catch rate -db 191 ; base exp yield -INCBIN "gfx/pokemon/front/victreebel.pic",0,1 ; 77, sprite dimensions -dw VictreebelPicFront -dw VictreebelPicBack -; attacks known at lvl 0 -db SLEEP_POWDER -db STUN_SPORE -db ACID -db RAZOR_LEAF -db 3 ; growth rate -; learnset - tmlearn 3,6,8 - tmlearn 9,10,15 - tmlearn 20,21,22 - tmlearn 31,32 - tmlearn 33,34 - tmlearn 44 - tmlearn 50,51 -db 0 ; padding diff --git a/data/baseStats/vileplume.asm b/data/baseStats/vileplume.asm deleted file mode 100644 index 2ec67131..00000000 --- a/data/baseStats/vileplume.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_VILEPLUME ; pokedex id -db 75 ; base hp -db 80 ; base attack -db 85 ; base defense -db 50 ; base speed -db 100 ; base special -db GRASS ; species type 1 -db POISON ; species type 2 -db 45 ; catch rate -db 184 ; base exp yield -INCBIN "gfx/pokemon/front/vileplume.pic",0,1 ; 77, sprite dimensions -dw VileplumePicFront -dw VileplumePicBack -; attacks known at lvl 0 -db STUN_SPORE -db SLEEP_POWDER -db ACID -db PETAL_DANCE -db 3 ; growth rate -; learnset - tmlearn 3,6,8 - tmlearn 9,10,15 - tmlearn 20,21,22 - tmlearn 31,32 - tmlearn 33,34 - tmlearn 44 - tmlearn 50,51 -db 0 ; padding diff --git a/data/baseStats/voltorb.asm b/data/baseStats/voltorb.asm deleted file mode 100644 index 6cb55714..00000000 --- a/data/baseStats/voltorb.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_VOLTORB ; pokedex id -db 40 ; base hp -db 30 ; base attack -db 50 ; base defense -db 100 ; base speed -db 55 ; base special -db ELECTRIC ; species type 1 -db ELECTRIC ; species type 2 -db 190 ; catch rate -db 103 ; base exp yield -INCBIN "gfx/pokemon/front/voltorb.pic",0,1 ; 55, sprite dimensions -dw VoltorbPicFront -dw VoltorbPicBack -; attacks known at lvl 0 -db TACKLE -db SCREECH -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 6 - tmlearn 9 - tmlearn 20,24 - tmlearn 25,30,31,32 - tmlearn 33,34,36,39 - tmlearn 44,45,47 - tmlearn 50,55 -db 0 ; padding diff --git a/data/baseStats/vulpix.asm b/data/baseStats/vulpix.asm deleted file mode 100644 index 9285df13..00000000 --- a/data/baseStats/vulpix.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_VULPIX ; pokedex id -db 38 ; base hp -db 41 ; base attack -db 40 ; base defense -db 65 ; base speed -db 65 ; base special -db FIRE ; species type 1 -db FIRE ; species type 2 -db 190 ; catch rate -db 63 ; base exp yield -INCBIN "gfx/pokemon/front/vulpix.pic",0,1 ; 66, sprite dimensions -dw VulpixPicFront -dw VulpixPicBack -; attacks known at lvl 0 -db EMBER -db TAIL_WHIP -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10 - tmlearn 20 - tmlearn 28,31,32 - tmlearn 33,34,38,39,40 - tmlearn 44 - tmlearn 50 -db 0 ; padding diff --git a/data/baseStats/wartortle.asm b/data/baseStats/wartortle.asm deleted file mode 100644 index ce37e7b3..00000000 --- a/data/baseStats/wartortle.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_WARTORTLE ; pokedex id -db 59 ; base hp -db 63 ; base attack -db 80 ; base defense -db 58 ; base speed -db 65 ; base special -db WATER ; species type 1 -db WATER ; species type 2 -db 45 ; catch rate -db 143 ; base exp yield -INCBIN "gfx/pokemon/front/wartortle.pic",0,1 ; 66, sprite dimensions -dw WartortlePicFront -dw WartortlePicBack -; attacks known at lvl 0 -db TACKLE -db TAIL_WHIP -db BUBBLE -db 0 -db 3 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,11,12,13,14 - tmlearn 17,18,19,20 - tmlearn 28,31,32 - tmlearn 33,34,40 - tmlearn 44 - tmlearn 50,53,54 -db 0 ; padding diff --git a/data/baseStats/weedle.asm b/data/baseStats/weedle.asm deleted file mode 100644 index 7434d93a..00000000 --- a/data/baseStats/weedle.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_WEEDLE ; pokedex id -db 40 ; base hp -db 35 ; base attack -db 30 ; base defense -db 50 ; base speed -db 20 ; base special -db BUG ; species type 1 -db POISON ; species type 2 -db 255 ; catch rate -db 52 ; base exp yield -INCBIN "gfx/pokemon/front/weedle.pic",0,1 ; 55, sprite dimensions -dw WeedlePicFront -dw WeedlePicBack -; attacks known at lvl 0 -db POISON_STING -db STRING_SHOT -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 -db 0 ; padding diff --git a/data/baseStats/weepinbell.asm b/data/baseStats/weepinbell.asm deleted file mode 100644 index 48e18a31..00000000 --- a/data/baseStats/weepinbell.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_WEEPINBELL ; pokedex id -db 65 ; base hp -db 90 ; base attack -db 50 ; base defense -db 55 ; base speed -db 85 ; base special -db GRASS ; species type 1 -db POISON ; species type 2 -db 120 ; catch rate -db 151 ; base exp yield -INCBIN "gfx/pokemon/front/weepinbell.pic",0,1 ; 66, sprite dimensions -dw WeepinbellPicFront -dw WeepinbellPicBack -; attacks known at lvl 0 -db VINE_WHIP -db GROWTH -db WRAP -db 0 -db 3 ; growth rate -; learnset - tmlearn 3,6 - tmlearn 9,10 - tmlearn 20,21,22 - tmlearn 31,32 - tmlearn 33,34 - tmlearn 44 - tmlearn 50,51 -db 0 ; padding diff --git a/data/baseStats/weezing.asm b/data/baseStats/weezing.asm deleted file mode 100644 index 21779741..00000000 --- a/data/baseStats/weezing.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_WEEZING ; pokedex id -db 65 ; base hp -db 90 ; base attack -db 120 ; base defense -db 60 ; base speed -db 85 ; base special -db POISON ; species type 1 -db POISON ; species type 2 -db 60 ; catch rate -db 173 ; base exp yield -INCBIN "gfx/pokemon/front/weezing.pic",0,1 ; 77, sprite dimensions -dw WeezingPicFront -dw WeezingPicBack -; attacks known at lvl 0 -db TACKLE -db SMOG -db SLUDGE -db 0 -db 0 ; growth rate -; learnset - tmlearn 6 - tmlearn 15 - tmlearn 20,24 - tmlearn 25,31,32 - tmlearn 34,36,38 - tmlearn 44,47 - tmlearn 50 -db 0 ; padding diff --git a/data/baseStats/wigglytuff.asm b/data/baseStats/wigglytuff.asm deleted file mode 100644 index 4f7fec95..00000000 --- a/data/baseStats/wigglytuff.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_WIGGLYTUFF ; pokedex id -db 140 ; base hp -db 70 ; base attack -db 45 ; base defense -db 45 ; base speed -db 50 ; base special -db NORMAL ; species type 1 -db NORMAL ; species type 2 -db 50 ; catch rate -db 109 ; base exp yield -INCBIN "gfx/pokemon/front/wigglytuff.pic",0,1 ; 66, sprite dimensions -dw WigglytuffPicFront -dw WigglytuffPicBack -; attacks known at lvl 0 -db SING -db DISABLE -db DEFENSE_CURL -db DOUBLESLAP -db 4 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,11,12,13,14,15 - tmlearn 17,18,19,20,22,24 - tmlearn 25,29,30,31,32 - tmlearn 33,34,38,40 - tmlearn 44,45,46 - tmlearn 49,50,54,55 -db 0 ; padding diff --git a/data/baseStats/zapdos.asm b/data/baseStats/zapdos.asm deleted file mode 100644 index 560f78c4..00000000 --- a/data/baseStats/zapdos.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_ZAPDOS ; pokedex id -db 90 ; base hp -db 90 ; base attack -db 85 ; base defense -db 100 ; base speed -db 125 ; base special -db ELECTRIC ; species type 1 -db FLYING ; species type 2 -db 3 ; catch rate -db 216 ; base exp yield -INCBIN "gfx/pokemon/front/zapdos.pic",0,1 ; 77, sprite dimensions -dw ZapdosPicFront -dw ZapdosPicBack -; attacks known at lvl 0 -db THUNDERSHOCK -db DRILL_PECK -db 0 -db 0 -db 5 ; growth rate -; learnset - tmlearn 2,4,6 - tmlearn 9,10,15 - tmlearn 20,24 - tmlearn 25,31,32 - tmlearn 33,34,39 - tmlearn 43,44,45 - tmlearn 50,52,55 -db 0 ; padding diff --git a/data/baseStats/zubat.asm b/data/baseStats/zubat.asm deleted file mode 100644 index 55b7ac4c..00000000 --- a/data/baseStats/zubat.asm +++ /dev/null @@ -1,28 +0,0 @@ -db DEX_ZUBAT ; pokedex id -db 40 ; base hp -db 45 ; base attack -db 35 ; base defense -db 55 ; base speed -db 40 ; base special -db POISON ; species type 1 -db FLYING ; species type 2 -db 255 ; catch rate -db 54 ; base exp yield -INCBIN "gfx/pokemon/front/zubat.pic",0,1 ; 55, sprite dimensions -dw ZubatPicFront -dw ZubatPicBack -; attacks known at lvl 0 -db LEECH_LIFE -db 0 -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 2,4,6 - tmlearn 9,10 - tmlearn 20,21 - tmlearn 31,32 - tmlearn 34,39 - tmlearn 44 - tmlearn 50 -db 0 ; padding diff --git a/data/base_stats.asm b/data/base_stats.asm deleted file mode 100755 index 7aa36735..00000000 --- a/data/base_stats.asm +++ /dev/null @@ -1,153 +0,0 @@ -BaseStats:: -MonBaseStats:: -INCLUDE "data/baseStats/bulbasaur.asm" -MonBaseStatsEnd:: -INCLUDE "data/baseStats/ivysaur.asm" -INCLUDE "data/baseStats/venusaur.asm" -INCLUDE "data/baseStats/charmander.asm" -INCLUDE "data/baseStats/charmeleon.asm" -INCLUDE "data/baseStats/charizard.asm" -INCLUDE "data/baseStats/squirtle.asm" -INCLUDE "data/baseStats/wartortle.asm" -INCLUDE "data/baseStats/blastoise.asm" -INCLUDE "data/baseStats/caterpie.asm" -INCLUDE "data/baseStats/metapod.asm" -INCLUDE "data/baseStats/butterfree.asm" -INCLUDE "data/baseStats/weedle.asm" -INCLUDE "data/baseStats/kakuna.asm" -INCLUDE "data/baseStats/beedrill.asm" -INCLUDE "data/baseStats/pidgey.asm" -INCLUDE "data/baseStats/pidgeotto.asm" -INCLUDE "data/baseStats/pidgeot.asm" -INCLUDE "data/baseStats/rattata.asm" -INCLUDE "data/baseStats/raticate.asm" -INCLUDE "data/baseStats/spearow.asm" -INCLUDE "data/baseStats/fearow.asm" -INCLUDE "data/baseStats/ekans.asm" -INCLUDE "data/baseStats/arbok.asm" -INCLUDE "data/baseStats/pikachu.asm" -INCLUDE "data/baseStats/raichu.asm" -INCLUDE "data/baseStats/sandshrew.asm" -INCLUDE "data/baseStats/sandslash.asm" -INCLUDE "data/baseStats/nidoranf.asm" -INCLUDE "data/baseStats/nidorina.asm" -INCLUDE "data/baseStats/nidoqueen.asm" -INCLUDE "data/baseStats/nidoranm.asm" -INCLUDE "data/baseStats/nidorino.asm" -INCLUDE "data/baseStats/nidoking.asm" -INCLUDE "data/baseStats/clefairy.asm" -INCLUDE "data/baseStats/clefable.asm" -INCLUDE "data/baseStats/vulpix.asm" -INCLUDE "data/baseStats/ninetales.asm" -INCLUDE "data/baseStats/jigglypuff.asm" -INCLUDE "data/baseStats/wigglytuff.asm" -INCLUDE "data/baseStats/zubat.asm" -INCLUDE "data/baseStats/golbat.asm" -INCLUDE "data/baseStats/oddish.asm" -INCLUDE "data/baseStats/gloom.asm" -INCLUDE "data/baseStats/vileplume.asm" -INCLUDE "data/baseStats/paras.asm" -INCLUDE "data/baseStats/parasect.asm" -INCLUDE "data/baseStats/venonat.asm" -INCLUDE "data/baseStats/venomoth.asm" -INCLUDE "data/baseStats/diglett.asm" -INCLUDE "data/baseStats/dugtrio.asm" -INCLUDE "data/baseStats/meowth.asm" -INCLUDE "data/baseStats/persian.asm" -INCLUDE "data/baseStats/psyduck.asm" -INCLUDE "data/baseStats/golduck.asm" -INCLUDE "data/baseStats/mankey.asm" -INCLUDE "data/baseStats/primeape.asm" -INCLUDE "data/baseStats/growlithe.asm" -INCLUDE "data/baseStats/arcanine.asm" -INCLUDE "data/baseStats/poliwag.asm" -INCLUDE "data/baseStats/poliwhirl.asm" -INCLUDE "data/baseStats/poliwrath.asm" -INCLUDE "data/baseStats/abra.asm" -INCLUDE "data/baseStats/kadabra.asm" -INCLUDE "data/baseStats/alakazam.asm" -INCLUDE "data/baseStats/machop.asm" -INCLUDE "data/baseStats/machoke.asm" -INCLUDE "data/baseStats/machamp.asm" -INCLUDE "data/baseStats/bellsprout.asm" -INCLUDE "data/baseStats/weepinbell.asm" -INCLUDE "data/baseStats/victreebel.asm" -INCLUDE "data/baseStats/tentacool.asm" -INCLUDE "data/baseStats/tentacruel.asm" -INCLUDE "data/baseStats/geodude.asm" -INCLUDE "data/baseStats/graveler.asm" -INCLUDE "data/baseStats/golem.asm" -INCLUDE "data/baseStats/ponyta.asm" -INCLUDE "data/baseStats/rapidash.asm" -INCLUDE "data/baseStats/slowpoke.asm" -INCLUDE "data/baseStats/slowbro.asm" -INCLUDE "data/baseStats/magnemite.asm" -INCLUDE "data/baseStats/magneton.asm" -INCLUDE "data/baseStats/farfetchd.asm" -INCLUDE "data/baseStats/doduo.asm" -INCLUDE "data/baseStats/dodrio.asm" -INCLUDE "data/baseStats/seel.asm" -INCLUDE "data/baseStats/dewgong.asm" -INCLUDE "data/baseStats/grimer.asm" -INCLUDE "data/baseStats/muk.asm" -INCLUDE "data/baseStats/shellder.asm" -INCLUDE "data/baseStats/cloyster.asm" -INCLUDE "data/baseStats/gastly.asm" -INCLUDE "data/baseStats/haunter.asm" -INCLUDE "data/baseStats/gengar.asm" -INCLUDE "data/baseStats/onix.asm" -INCLUDE "data/baseStats/drowzee.asm" -INCLUDE "data/baseStats/hypno.asm" -INCLUDE "data/baseStats/krabby.asm" -INCLUDE "data/baseStats/kingler.asm" -INCLUDE "data/baseStats/voltorb.asm" -INCLUDE "data/baseStats/electrode.asm" -INCLUDE "data/baseStats/exeggcute.asm" -INCLUDE "data/baseStats/exeggutor.asm" -INCLUDE "data/baseStats/cubone.asm" -INCLUDE "data/baseStats/marowak.asm" -INCLUDE "data/baseStats/hitmonlee.asm" -INCLUDE "data/baseStats/hitmonchan.asm" -INCLUDE "data/baseStats/lickitung.asm" -INCLUDE "data/baseStats/koffing.asm" -INCLUDE "data/baseStats/weezing.asm" -INCLUDE "data/baseStats/rhyhorn.asm" -INCLUDE "data/baseStats/rhydon.asm" -INCLUDE "data/baseStats/chansey.asm" -INCLUDE "data/baseStats/tangela.asm" -INCLUDE "data/baseStats/kangaskhan.asm" -INCLUDE "data/baseStats/horsea.asm" -INCLUDE "data/baseStats/seadra.asm" -INCLUDE "data/baseStats/goldeen.asm" -INCLUDE "data/baseStats/seaking.asm" -INCLUDE "data/baseStats/staryu.asm" -INCLUDE "data/baseStats/starmie.asm" -INCLUDE "data/baseStats/mrmime.asm" -INCLUDE "data/baseStats/scyther.asm" -INCLUDE "data/baseStats/jynx.asm" -INCLUDE "data/baseStats/electabuzz.asm" -INCLUDE "data/baseStats/magmar.asm" -INCLUDE "data/baseStats/pinsir.asm" -INCLUDE "data/baseStats/tauros.asm" -INCLUDE "data/baseStats/magikarp.asm" -INCLUDE "data/baseStats/gyarados.asm" -INCLUDE "data/baseStats/lapras.asm" -INCLUDE "data/baseStats/ditto.asm" -INCLUDE "data/baseStats/eevee.asm" -INCLUDE "data/baseStats/vaporeon.asm" -INCLUDE "data/baseStats/jolteon.asm" -INCLUDE "data/baseStats/flareon.asm" -INCLUDE "data/baseStats/porygon.asm" -INCLUDE "data/baseStats/omanyte.asm" -INCLUDE "data/baseStats/omastar.asm" -INCLUDE "data/baseStats/kabuto.asm" -INCLUDE "data/baseStats/kabutops.asm" -INCLUDE "data/baseStats/aerodactyl.asm" -INCLUDE "data/baseStats/snorlax.asm" -INCLUDE "data/baseStats/articuno.asm" -INCLUDE "data/baseStats/zapdos.asm" -INCLUDE "data/baseStats/moltres.asm" -INCLUDE "data/baseStats/dratini.asm" -INCLUDE "data/baseStats/dragonair.asm" -INCLUDE "data/baseStats/dragonite.asm" -INCLUDE "data/baseStats/mewtwo.asm" diff --git a/data/battle/stat_names.asm b/data/battle/stat_names.asm new file mode 100644 index 00000000..854780c6 --- /dev/null +++ b/data/battle/stat_names.asm @@ -0,0 +1,7 @@ +StatsTextStrings: + db "ATTACK@" + db "DEFENSE@" + db "SPEED@" + db "SPECIAL@" + db "ACCURACY@" + db "EVADE@" diff --git a/data/bike_riding_tilesets.asm b/data/bike_riding_tilesets.asm deleted file mode 100755 index 48c2cee6..00000000 --- a/data/bike_riding_tilesets.asm +++ /dev/null @@ -1,2 +0,0 @@ -BikeRidingTilesets:: - db OVERWORLD, FOREST, UNDERGROUND, SHIP_PORT, CAVERN, $FF diff --git a/data/bookshelf_tile_ids.asm b/data/bookshelf_tile_ids.asm deleted file mode 100644 index 535bf8e9..00000000 --- a/data/bookshelf_tile_ids.asm +++ /dev/null @@ -1,37 +0,0 @@ -; format: db tileset id, bookshelf tile id, text id -BookshelfTileIDs: - db PLATEAU, $30 - db_tx_pre IndigoPlateauStatues - db HOUSE, $3D - db_tx_pre TownMapText - db HOUSE, $1E - db_tx_pre BookOrSculptureText - db MANSION, $32 - db_tx_pre BookOrSculptureText - db REDS_HOUSE_1, $32 - db_tx_pre BookOrSculptureText - db LAB, $28 - db_tx_pre BookOrSculptureText - db LOBBY, $16 - db_tx_pre ElevatorText - db GYM, $1D - db_tx_pre BookOrSculptureText - db DOJO, $1D - db_tx_pre BookOrSculptureText - db GATE, $22 - db_tx_pre BookOrSculptureText - db MART, $54 - db_tx_pre PokemonStuffText - db MART, $55 - db_tx_pre PokemonStuffText - db POKECENTER, $54 - db_tx_pre PokemonStuffText - db POKECENTER, $55 - db_tx_pre PokemonStuffText - db LOBBY, $50 - db_tx_pre PokemonStuffText - db LOBBY, $52 - db_tx_pre PokemonStuffText - db SHIP, $36 - db_tx_pre BookOrSculptureText - db $FF diff --git a/data/collision_tile_ids.asm b/data/collision_tile_ids.asm deleted file mode 100644 index c18a7e72..00000000 --- a/data/collision_tile_ids.asm +++ /dev/null @@ -1,82 +0,0 @@ -Underground_Coll:: - db $0b, $0c, $13, $15, $18 - db -1 ; end - -Overworld_Coll:: - db $00, $10, $1b, $20, $21, $23, $2c, $2d, $2e, $30, $31, $33, $39, $3c, $3e, $52, $54, $58, $5b - db -1 ; end - -RedsHouse1_Coll:: -RedsHouse2_Coll:: - db $01, $02, $03, $11, $12, $13, $14, $1c, $1a - db -1 ; end - -Mart_Coll:: -Pokecenter_Coll:: - db $11, $1a, $1c, $3c, $5e - db -1 ; end - -Dojo_Coll:: -Gym_Coll:: - db $11, $16, $19, $2b, $3c, $3d, $3f, $4a, $4c, $4d, $03 - db -1 ; end - -Forest_Coll:: - db $1e, $20, $2e, $30, $34, $37, $39, $3a, $40, $51, $52, $5a, $5c, $5e, $5f - db -1 ; end - -House_Coll:: - db $01, $12, $14, $28, $32, $37, $44, $54, $5c - db -1 ; end - -ForestGate_Coll:: -Museum_Coll:: -Gate_Coll:: - db $01, $12, $14, $1a, $1c, $37, $38, $3b, $3c, $5e - db -1 ; end - -Ship_Coll:: - db $04, $0d, $17, $1d, $1e, $23, $34, $37, $39, $4a - db -1 ; end - -ShipPort_Coll:: - db $0a, $1a, $32, $3b - db -1 ; end - -Cemetery_Coll:: - db $01, $10, $13, $1b, $22, $42, $52 - db -1 ; end - -Interior_Coll:: - db $04, $0f, $15, $1f, $3b, $45, $47, $55, $56 - db -1 ; end - -Cavern_Coll:: - db $05, $15, $18, $1a, $20, $21, $22, $2a, $2d, $30 - db -1 ; end - - db -1 ; unused - -Lobby_Coll:: - db $14, $17, $1a, $1c, $20, $38, $45 - db -1 ; end - -Mansion_Coll:: - db $01, $05, $11, $12, $14, $1a, $1c, $2c, $53 - db -1 ; end - -Lab_Coll:: - db $0c, $26, $16, $1e, $34, $37 - db -1 ; end - -Club_Coll:: - db $0f, $1a, $1f, $26, $28, $29, $2c, $2d, $2e, $2f, $41 - db -1 ; end - -Facility_Coll:: - db $01, $10, $11, $13, $1b, $20, $21, $22, $30, $31, $32, $42, $43, $48, $52, $55, $58, $5e - db -1 ; end - -Plateau_Coll:: - db $1b, $23, $2c, $2d, $3b, $45 - db -1 ; end diff --git a/data/credit_mons.asm b/data/credit_mons.asm deleted file mode 100755 index 23142f9f..00000000 --- a/data/credit_mons.asm +++ /dev/null @@ -1,16 +0,0 @@ -CreditsMons: - db VENUSAUR - db ARBOK - db RHYHORN - db FEAROW - db ABRA - db GRAVELER - db HITMONLEE - db TANGELA - db STARMIE - db GYARADOS - db DITTO - db OMASTAR - db VILEPLUME - db NIDOKING - db PARASECT diff --git a/data/credits/credits_mons.asm b/data/credits/credits_mons.asm new file mode 100755 index 00000000..23142f9f --- /dev/null +++ b/data/credits/credits_mons.asm @@ -0,0 +1,16 @@ +CreditsMons: + db VENUSAUR + db ARBOK + db RHYHORN + db FEAROW + db ABRA + db GRAVELER + db HITMONLEE + db TANGELA + db STARMIE + db GYARADOS + db DITTO + db OMASTAR + db VILEPLUME + db NIDOKING + db PARASECT diff --git a/data/credits/credits_order.asm b/data/credits/credits_order.asm new file mode 100755 index 00000000..20b9137f --- /dev/null +++ b/data/credits/credits_order.asm @@ -0,0 +1,39 @@ +CreditsOrder: +; subsequent credits elements will be displayed on separate lines. +; $FF, $FE, $FD, $FC, $FB, and $FA are commands that are used +; to go to the next set of credits texts. + db CRED_MON, CRED_VERSION, $FF + db CRED_DIRECTOR, CRED_TAJIRI, $FF + db CRED_PROGRAMMERS, CRED_TA_OOTA, CRED_MORIMOTO, $FD + db CRED_PROGRAMMERS, CRED_WATANABE, CRED_MASUDE, CRED_TAMADA, $FE + db CRED_CHAR_DESIGN, CRED_SUGIMORI, CRED_NISHIDA, $FF + db CRED_MUSIC, CRED_MASUDE, $FD + db CRED_SOUND_EFFECTS, CRED_MASUDE, $FE + db CRED_GAME_DESIGN, CRED_TAJIRI, $FF + db CRED_MONSTER_DESIGN, CRED_SUGIMORI, CRED_NISHIDA, CRED_FUZIWARA, $FD + db CRED_MONSTER_DESIGN, CRED_MORIMOTO, CRED_SA_OOTA, CRED_YOSHIKAWA, $FE + db CRED_GAME_SCENE, CRED_TAJIRI, $FD + db CRED_GAME_SCENE, CRED_TANIGUCHI, CRED_NONOMURA, CRED_ZINNAI, $FE + db CRED_PARAM, CRED_NISINO, CRED_TA_NAKAMURA, $FF + db CRED_MAP, CRED_TAJIRI, CRED_NISINO, $FD + db CRED_MAP, CRED_MATSUSIMA, CRED_NONOMURA, CRED_TANIGUCHI, $FE + db CRED_TEST, CRED_KAKEI, CRED_TSUCHIYA, $FD + db CRED_TEST, CRED_TA_NAKAMURA, CRED_YUDA, $FE + db CRED_SPECIAL, CRED_HISHIDA, CRED_SAKAI, $FD + db CRED_SPECIAL, CRED_YAMAGUCHI, CRED_YAMAMOTO, $FC + db CRED_SPECIAL, CRED_TOMISAWA, CRED_KAWAMOTO, CRED_TO_OOTA, $FE + db CRED_PRODUCERS, CRED_MIYAMOTO, $FD + db CRED_PRODUCERS, CRED_KAWAGUCHI, $FC + db CRED_PRODUCERS, CRED_ISHIHARA, $FE + db CRED_US_STAFF, $FD + db CRED_US_COORD, CRED_TILDEN, $FD + db CRED_US_COORD, CRED_KAWAKAMI, CRED_HI_NAKAMURA, $FC + db CRED_US_COORD, CRED_GIESE, CRED_OSBORNE, $FC + db CRED_TRANS, CRED_OGASAWARA, $FD + db CRED_PROGRAMMERS, CRED_MURAKAWA, CRED_FUKUI, $FD + db CRED_SPECIAL, CRED_IWATA, $FD + db CRED_SPECIAL, CRED_HARADA, $FC + db CRED_TEST, CRED_PAAD, CRED_CLUB, $FD + db CRED_PRODUCER, CRED_IZUSHI, $FD + db CRED_EXECUTIVE, CRED_YAMAUCHI, $FF + db $FB, $FF, $FA diff --git a/data/credits/credits_text.asm b/data/credits/credits_text.asm new file mode 100755 index 00000000..a68c33d3 --- /dev/null +++ b/data/credits/credits_text.asm @@ -0,0 +1,199 @@ +CreditsTextPointers: + dw CredVersion + dw CredTajiri + dw CredTaOota + dw CredMorimoto + dw CredWatanabe + dw CredMasuda + dw CredNisino + dw CredSugimori + dw CredNishida + dw CredMiyamoto + dw CredKawaguchi + dw CredIshihara + dw CredYamauchi + dw CredZinnai + dw CredHishida + dw CredSakai + dw CredYamaguchi + dw CredYamamoto + dw CredTaniguchi + dw CredNonomura + dw CredFuziwara + dw CredMatsusima + dw CredTomisawa + dw CredKawamoto + dw CredKakei + dw CredTsuchiya + dw CredTaNakamura + dw CredYuda + dw CredMon + dw CredDirector + dw CredProgrammers + dw CredCharDesign + dw CredMusic + dw CredSoundEffects + dw CredGameDesign + dw CredMonsterDesign + dw CredGameScene + dw CredParam + dw CredMap + dw CredTest + dw CredSpecial + dw CredProducers + dw CredProducer + dw CredExecutive + dw CredTamada + dw CredSaOota + dw CredYoshikawa + dw CredToOota + dw CredUSStaff + dw CredUSCoord + dw CredTilden + dw CredKawakami + dw CredHiNakamura + dw CredGiese + dw CredOsborne + dw CredTrans + dw CredOgasawara + dw CredIwata + dw CredIzushi + dw CredHarada + dw CredMurakawa + dw CredFukui + dw CredClub + dw CredPAAD + +CredVersion: ; this 1 byte difference makes all bank addresses offset by 1 in the blue version +IF DEF(_RED) + db -8, "RED VERSION STAFF@" +ENDC +IF DEF(_BLUE) + db -8, "BLUE VERSION STAFF@" +ENDC +CredTajiri: + db -6, "SATOSHI TAJIRI@" +CredTaOota: + db -6, "TAKENORI OOTA@" +CredMorimoto: + db -7, "SHIGEKI MORIMOTO@" +CredWatanabe: + db -7, "TETSUYA WATANABE@" +CredMasuda: + db -6, "JUNICHI MASUDA@" +CredNisino: + db -5, "KOHJI NISINO@" +CredSugimori: + db -5, "KEN SUGIMORI@" +CredNishida: + db -6, "ATSUKO NISHIDA@" +CredMiyamoto: + db -7, "SHIGERU MIYAMOTO@" +CredKawaguchi: + db -8, "TAKASHI KAWAGUCHI@" +CredIshihara: + db -8, "TSUNEKAZU ISHIHARA@" +CredYamauchi: + db -7, "HIROSHI YAMAUCHI@" +CredZinnai: + db -7, "HIROYUKI ZINNAI@" +CredHishida: + db -7, "TATSUYA HISHIDA@" +CredSakai: + db -6, "YASUHIRO SAKAI@" +CredYamaguchi: + db -7, "WATARU YAMAGUCHI@" +CredYamamoto: + db -8, "KAZUYUKI YAMAMOTO@" +CredTaniguchi: + db -8, "RYOHSUKE TANIGUCHI@" +CredNonomura: + db -8, "FUMIHIRO NONOMURA@" +CredFuziwara: + db -7, "MOTOFUMI FUZIWARA@" +CredMatsusima: + db -7, "KENJI MATSUSIMA@" +CredTomisawa: + db -7, "AKIHITO TOMISAWA@" +CredKawamoto: + db -7, "HIROSHI KAWAMOTO@" +CredKakei: + db -6, "AKIYOSHI KAKEI@" +CredTsuchiya: + db -7, "KAZUKI TSUCHIYA@" +CredTaNakamura: + db -6, "TAKEO NAKAMURA@" +CredYuda: + db -6, "MASAMITSU YUDA@" +CredMon: + db -3, "#MON@" +CredDirector: + db -3, "DIRECTOR@" +CredProgrammers: + db -5, "PROGRAMMERS@" +CredCharDesign: + db -7, "CHARACTER DESIGN@" +CredMusic: + db -2, "MUSIC@" +CredSoundEffects: + db -6, "SOUND EFFECTS@" +CredGameDesign: + db -5, "GAME DESIGN@" +CredMonsterDesign: + db -6, "MONSTER DESIGN@" +CredGameScene: + db -6, "GAME SCENARIO@" +CredParam: + db -8, "PARAMETRIC DESIGN@" +CredMap: + db -4, "MAP DESIGN@" +CredTest: + db -7, "PRODUCT TESTING@" +CredSpecial: + db -6, "SPECIAL THANKS@" +CredProducers: + db -4, "PRODUCERS@" +CredProducer: + db -4, "PRODUCER@" +CredExecutive: + db -8, "EXECUTIVE PRODUCER@" +CredTamada: + db -6, "SOUSUKE TAMADA@" +CredSaOota: + db -5, "SATOSHI OOTA@" +CredYoshikawa: + db -6, "RENA YOSHIKAWA@" +CredToOota: + db -6, "TOMOMICHI OOTA@" +CredUSStaff: + db -7, "US VERSION STAFF@" +CredUSCoord: + db -7, "US COORDINATION@" +CredTilden: + db -5, "GAIL TILDEN@" +CredKawakami: + db -6, "NAOKO KAWAKAMI@" +CredHiNakamura: + db -6, "HIRO NAKAMURA@" +CredGiese: + db -6, "WILLIAM GIESE@" +CredOsborne: + db -5, "SARA OSBORNE@" +CredTrans: + db -7, "TEXT TRANSLATION@" +CredOgasawara: + db -6, "NOB OGASAWARA@" +CredIwata: + db -5, "SATORU IWATA@" +CredIzushi: + db -7, "TAKEHIRO IZUSHI@" +CredHarada: + db -7, "TAKAHIRO HARADA@" +CredMurakawa: + db -7, "TERUKI MURAKAWA@" +CredFukui: + db -5, "KOHTA FUKUI@" +CredClub: + db -9, "NCL SUPER MARIO CLUB@" +CredPAAD: + db -5, "PAAD TESTING@" diff --git a/data/credits_order.asm b/data/credits_order.asm deleted file mode 100755 index 20b9137f..00000000 --- a/data/credits_order.asm +++ /dev/null @@ -1,39 +0,0 @@ -CreditsOrder: -; subsequent credits elements will be displayed on separate lines. -; $FF, $FE, $FD, $FC, $FB, and $FA are commands that are used -; to go to the next set of credits texts. - db CRED_MON, CRED_VERSION, $FF - db CRED_DIRECTOR, CRED_TAJIRI, $FF - db CRED_PROGRAMMERS, CRED_TA_OOTA, CRED_MORIMOTO, $FD - db CRED_PROGRAMMERS, CRED_WATANABE, CRED_MASUDE, CRED_TAMADA, $FE - db CRED_CHAR_DESIGN, CRED_SUGIMORI, CRED_NISHIDA, $FF - db CRED_MUSIC, CRED_MASUDE, $FD - db CRED_SOUND_EFFECTS, CRED_MASUDE, $FE - db CRED_GAME_DESIGN, CRED_TAJIRI, $FF - db CRED_MONSTER_DESIGN, CRED_SUGIMORI, CRED_NISHIDA, CRED_FUZIWARA, $FD - db CRED_MONSTER_DESIGN, CRED_MORIMOTO, CRED_SA_OOTA, CRED_YOSHIKAWA, $FE - db CRED_GAME_SCENE, CRED_TAJIRI, $FD - db CRED_GAME_SCENE, CRED_TANIGUCHI, CRED_NONOMURA, CRED_ZINNAI, $FE - db CRED_PARAM, CRED_NISINO, CRED_TA_NAKAMURA, $FF - db CRED_MAP, CRED_TAJIRI, CRED_NISINO, $FD - db CRED_MAP, CRED_MATSUSIMA, CRED_NONOMURA, CRED_TANIGUCHI, $FE - db CRED_TEST, CRED_KAKEI, CRED_TSUCHIYA, $FD - db CRED_TEST, CRED_TA_NAKAMURA, CRED_YUDA, $FE - db CRED_SPECIAL, CRED_HISHIDA, CRED_SAKAI, $FD - db CRED_SPECIAL, CRED_YAMAGUCHI, CRED_YAMAMOTO, $FC - db CRED_SPECIAL, CRED_TOMISAWA, CRED_KAWAMOTO, CRED_TO_OOTA, $FE - db CRED_PRODUCERS, CRED_MIYAMOTO, $FD - db CRED_PRODUCERS, CRED_KAWAGUCHI, $FC - db CRED_PRODUCERS, CRED_ISHIHARA, $FE - db CRED_US_STAFF, $FD - db CRED_US_COORD, CRED_TILDEN, $FD - db CRED_US_COORD, CRED_KAWAKAMI, CRED_HI_NAKAMURA, $FC - db CRED_US_COORD, CRED_GIESE, CRED_OSBORNE, $FC - db CRED_TRANS, CRED_OGASAWARA, $FD - db CRED_PROGRAMMERS, CRED_MURAKAWA, CRED_FUKUI, $FD - db CRED_SPECIAL, CRED_IWATA, $FD - db CRED_SPECIAL, CRED_HARADA, $FC - db CRED_TEST, CRED_PAAD, CRED_CLUB, $FD - db CRED_PRODUCER, CRED_IZUSHI, $FD - db CRED_EXECUTIVE, CRED_YAMAUCHI, $FF - db $FB, $FF, $FA diff --git a/data/cries.asm b/data/cries.asm deleted file mode 100755 index 1fc9960f..00000000 --- a/data/cries.asm +++ /dev/null @@ -1,192 +0,0 @@ -CryData:: - ;$BaseCry, $Pitch, $Length - db $11, $00, $80; Rhydon - db $03, $00, $80; Kangaskhan - db $00, $00, $80; Nidoran♂ - db $19, $CC, $01; Clefairy - db $10, $00, $80; Spearow - db $06, $ED, $80; Voltorb - db $09, $00, $80; Nidoking - db $1F, $00, $80; Slowbro - db $0F, $20, $80; Ivysaur - db $0D, $00, $80; Exeggutor - db $0C, $00, $80; Lickitung - db $0B, $00, $80; Exeggcute - db $05, $00, $80; Grimer - db $07, $00, $FF; Gengar - db $01, $00, $80; Nidoran♀ - db $0A, $00, $80; Nidoqueen - db $19, $00, $80; Cubone - db $04, $00, $80; Rhyhorn - db $1B, $00, $80; Lapras - db $15, $00, $80; Arcanine - db $1E, $EE, $FF; Mew - db $17, $00, $80; Gyarados - db $18, $00, $80; Shellder - db $1A, $00, $80; Tentacool - db $1C, $00, $80; Gastly - db $16, $00, $80; Scyther - db $1E, $02, $20; Staryu - db $13, $00, $80; Blastoise - db $14, $00, $80; Pinsir - db $12, $00, $80; Tangela - db $00, $00, $00; MissingNo. - db $00, $00, $00; MissingNo. - db $1F, $20, $40; Growlithe - db $17, $FF, $C0; Onix - db $18, $40, $A0; Fearow - db $0E, $DF, $04; Pidgey - db $02, $00, $80; Slowpoke - db $1C, $A8, $C0; Kadabra - db $24, $00, $80; Graveler - db $14, $0A, $C0; Chansey - db $1F, $48, $60; Machoke - db $20, $08, $40; Mr.Mime - db $12, $80, $C0; Hitmonlee - db $0C, $EE, $C0; Hitmonchan - db $17, $E0, $10; Arbok - db $1E, $42, $FF; Parasect - db $21, $20, $60; Psyduck - db $0D, $88, $20; Drowzee - db $12, $E0, $40; Golem - db $00, $00, $00; MissingNo. - db $04, $FF, $30; Magmar - db $00, $00, $00; MissingNo. - db $06, $8F, $FF; Electabuzz - db $1C, $20, $C0; Magneton - db $12, $E6, $DD; Koffing - db $00, $00, $00; MissingNo. - db $0A, $DD, $60; Mankey - db $0C, $88, $C0; Seel - db $0B, $AA, $01; Diglett - db $1D, $11, $40; Tauros - db $00, $00, $00; MissingNo. - db $00, $00, $00; MissingNo. - db $00, $00, $00; MissingNo. - db $10, $DD, $01; Farfetch'd - db $1A, $44, $40; Venonat - db $0F, $3C, $C0; Dragonite - db $00, $80, $10; MissingNo. - db $00, $00, $00; MissingNo. - db $1D, $E0, $80; MissingNo. - db $0B, $BB, $01; Doduo - db $0E, $FF, $FF; Poliwag - db $0D, $FF, $FF; Jynx - db $09, $F8, $40; Moltres - db $09, $80, $40; Articuno - db $18, $FF, $80; Zapdos - db $0E, $FF, $FF; Ditto - db $19, $77, $10; Meowth - db $20, $20, $E0; Krabby - db $22, $FF, $40; MissingNo. - db $00, $00, $00; MissingNo. - db $0E, $E0, $60; MissingNo. - db $24, $4F, $10; Vulpix - db $24, $88, $60; Ninetales - db $0F, $EE, $01; Pikachu - db $09, $EE, $08; Raichu - db $00, $00, $00; MissingNo. - db $00, $00, $00; MissingNo. - db $0F, $60, $40; Dratini - db $0F, $40, $80; Dragonair - db $16, $BB, $40; Kabuto - db $18, $EE, $01; Kabutops - db $19, $99, $10; Horsea - db $19, $3C, $01; Seadra - db $0F, $40, $C0; MissingNo. - db $0F, $20, $C0; MissingNo. - db $00, $20, $40; Sandshrew - db $00, $FF, $FF; Sandslash - db $1F, $F0, $01; Omanyte - db $1F, $FF, $40; Omastar - db $0E, $FF, $35; Jigglypuff - db $0E, $68, $60; Wigglytuff - db $1A, $88, $60; Eevee - db $1A, $10, $20; Flareon - db $1A, $3D, $80; Jolteon - db $1A, $AA, $FF; Vaporeon - db $1F, $EE, $01; Machop - db $1D, $E0, $80; Zubat - db $17, $12, $40; Ekans - db $1E, $20, $E0; Paras - db $0E, $77, $60; Poliwhirl - db $0E, $00, $FF; Poliwrath - db $15, $EE, $01; Weedle - db $13, $FF, $01; Kakuna - db $13, $60, $80; Beedrill - db $00, $00, $00; MissingNo. - db $0B, $99, $20; Dodrio - db $0A, $AF, $40; Primeape - db $0B, $2A, $10; Dugtrio - db $1A, $29, $80; Venomoth - db $0C, $23, $FF; Dewgong - db $00, $00, $00; MissingNo. - db $00, $00, $00; MissingNo. - db $16, $80, $20; Caterpie - db $1C, $CC, $01; Metapod - db $16, $77, $40; Butterfree - db $1F, $08, $C0; Machamp - db $11, $20, $10; MissingNo. - db $21, $FF, $40; Golduck - db $0D, $EE, $40; Hypno - db $1D, $FA, $80; Golbat - db $1E, $99, $FF; Mewtwo - db $05, $55, $01; Snorlax - db $17, $80, $00; Magikarp - db $00, $00, $00; MissingNo. - db $00, $00, $00; MissingNo. - db $07, $EF, $FF; Muk - db $0F, $40, $80; MissingNo. - db $20, $EE, $E0; Kingler - db $18, $6F, $E0; Cloyster - db $00, $00, $00; MissingNo. - db $06, $A8, $90; Electrode - db $19, $AA, $20; Clefable - db $12, $FF, $FF; Weezing - db $19, $99, $FF; Persian - db $08, $4F, $60; Marowak - db $00, $00, $00; MissingNo. - db $1C, $30, $40; Haunter - db $1C, $C0, $01; Abra - db $1C, $98, $FF; Alakazam - db $14, $28, $C0; Pidgeotto - db $14, $11, $FF; Pidgeot - db $1E, $00, $80; Starmie - db $0F, $80, $01; Bulbasaur - db $0F, $00, $C0; Venusaur - db $1A, $EE, $FF; Tentacruel - db $00, $00, $00; MissingNo. - db $16, $80, $40; Goldeen - db $16, $10, $FF; Seaking - db $00, $00, $00; MissingNo. - db $00, $00, $00; MissingNo. - db $00, $00, $00; MissingNo. - db $00, $00, $00; MissingNo. - db $25, $00, $80; Ponyta - db $25, $20, $C0; Rapidash - db $22, $00, $80; Rattata - db $22, $20, $FF; Raticate - db $00, $2C, $C0; Nidorino - db $01, $2C, $E0; Nidorina - db $24, $F0, $10; Geodude - db $25, $AA, $FF; Porygon - db $23, $20, $F0; Aerodactyl - db $00, $00, $00; MissingNo. - db $1C, $80, $60; Magnemite - db $00, $00, $00; MissingNo. - db $00, $00, $00; MissingNo. - db $04, $60, $40; Charmander - db $1D, $60, $40; Squirtle - db $04, $20, $40; Charmeleon - db $1D, $20, $40; Wartortle - db $04, $00, $80; Charizard - db $1D, $00, $80; MissingNo. - db $00, $00, $00; MissingNo. - db $00, $00, $00; MissingNo. - db $00, $00, $00; MissingNo. - db $08, $DD, $01; Oddish - db $08, $AA, $40; Gloom - db $23, $22, $FF; Vileplume - db $21, $55, $01; Bellsprout - db $25, $44, $20; Weepinbell - db $25, $66, $CC; Victreebel diff --git a/data/cut_tree_blocks.asm b/data/cut_tree_blocks.asm deleted file mode 100644 index eb63a712..00000000 --- a/data/cut_tree_blocks.asm +++ /dev/null @@ -1,13 +0,0 @@ -CutTreeBlockSwaps: -; first byte = tileset block containing the cut tree -; second byte = corresponding tileset block after the cut animation happens - db $32, $6D - db $33, $6C - db $34, $6F - db $35, $4C - db $60, $6E - db $0B, $0A - db $3C, $35 - db $3F, $35 - db $3D, $36 - db $FF ; list terminator diff --git a/data/door_tile_ids.asm b/data/door_tile_ids.asm deleted file mode 100644 index 686e418c..00000000 --- a/data/door_tile_ids.asm +++ /dev/null @@ -1,48 +0,0 @@ -DoorTileIDPointers: - dbw OVERWORLD, OverworldDoorTileIDs - dbw FOREST, ForestDoorTileIDs - dbw MART, MartDoorTileIDs - dbw HOUSE, HouseDoorTileIDs - dbw FOREST_GATE, TilesetMuseumDoorTileIDs - dbw MUSEUM, TilesetMuseumDoorTileIDs - dbw GATE, TilesetMuseumDoorTileIDs - dbw SHIP, ShipDoorTileIDs - dbw LOBBY, LobbyDoorTileIDs - dbw MANSION, MansionDoorTileIDs - dbw LAB, LabDoorTileIDs - dbw FACILITY, FacilityDoorTileIDs - dbw PLATEAU, PlateauDoorTileIDs - db $ff - -OverworldDoorTileIDs: - db $1B,$58,$00 - -ForestDoorTileIDs: - db $3a,$00 - -MartDoorTileIDs: - db $5e,$00 - -HouseDoorTileIDs: - db $54,$00 - -TilesetMuseumDoorTileIDs: - db $3b,$00 - -ShipDoorTileIDs: - db $1e,$00 - -LobbyDoorTileIDs: - db $1c,$38,$1a,$00 - -MansionDoorTileIDs: - db $1a,$1c,$53,$00 - -LabDoorTileIDs: - db $34,$00 - -FacilityDoorTileIDs: - db $43,$58,$1b,$00 - -PlateauDoorTileIDs: - db $3b,$1b,$00 diff --git a/data/dungeon_maps.asm b/data/dungeon_maps.asm deleted file mode 100644 index 118cf46b..00000000 --- a/data/dungeon_maps.asm +++ /dev/null @@ -1,29 +0,0 @@ -; GetBattleTransitionID_IsDungeonMap checks if wCurMap -; is equal to one of these maps -DungeonMaps1: - db VIRIDIAN_FOREST - db ROCK_TUNNEL_1F - db SEAFOAM_ISLANDS_1F - db ROCK_TUNNEL_B1F - db $FF - -; GetBattleTransitionID_IsDungeonMap checks if wCurMap -; is in between or equal to each pair of maps -DungeonMaps2: - ; all MT_MOON maps - db MT_MOON_1F - db MT_MOON_B2F - - ; all SS_ANNE maps, VICTORY_ROAD_1F, LANCES_ROOM, and HALL_OF_FAME - db SS_ANNE_1F - db HALL_OF_FAME - - ; all POKEMON_TOWER maps and Lavender Town buildings - db LAVENDER_POKECENTER - db LAVENDER_CUBONE_HOUSE - - ; SILPH_CO_[2-8]F, POKEMON_MANSION[2F-B1F], SAFARI_ZONE, and - ; CERULEAN_CAVE maps, except for SILPH_CO_1F - db SILPH_CO_2F - db CERULEAN_CAVE_1F - db $FF diff --git a/data/dungeon_tilesets.asm b/data/dungeon_tilesets.asm deleted file mode 100755 index 01e86714..00000000 --- a/data/dungeon_tilesets.asm +++ /dev/null @@ -1,2 +0,0 @@ -DungeonTilesets: - db FOREST, MUSEUM, SHIP, CAVERN, LOBBY, MANSION, GATE, LAB, FACILITY, CEMETERY, GYM, $FF diff --git a/data/effects_pointers.asm b/data/effects_pointers.asm deleted file mode 100644 index 0d36e887..00000000 --- a/data/effects_pointers.asm +++ /dev/null @@ -1,87 +0,0 @@ -MoveEffectPointerTable: - dw SleepEffect ; unused effect - dw PoisonEffect ; POISON_SIDE_EFFECT1 - dw DrainHPEffect ; DRAIN_HP_EFFECT - dw FreezeBurnParalyzeEffect ; BURN_SIDE_EFFECT1 - dw FreezeBurnParalyzeEffect ; FREEZE_SIDE_EFFECT - dw FreezeBurnParalyzeEffect ; PARALYZE_SIDE_EFFECT1 - dw ExplodeEffect ; EXPLODE_EFFECT - dw DrainHPEffect ; DREAM_EATER_EFFECT - dw $0000 ; MIRROR_MOVE_EFFECT - dw StatModifierUpEffect ; ATTACK_UP1_EFFECT - dw StatModifierUpEffect ; DEFENSE_UP1_EFFECT - dw StatModifierUpEffect ; SPEED_UP1_EFFECT - dw StatModifierUpEffect ; SPECIAL_UP1_EFFECT - dw StatModifierUpEffect ; ACCURACY_UP1_EFFECT - dw StatModifierUpEffect ; EVASION_UP1_EFFECT - dw PayDayEffect ; PAY_DAY_EFFECT - dw $0000 ; SWIFT_EFFECT - dw StatModifierDownEffect ; ATTACK_DOWN1_EFFECT - dw StatModifierDownEffect ; DEFENSE_DOWN1_EFFECT - dw StatModifierDownEffect ; SPEED_DOWN1_EFFECT - dw StatModifierDownEffect ; SPECIAL_DOWN1_EFFECT - dw StatModifierDownEffect ; ACCURACY_DOWN1_EFFECT - dw StatModifierDownEffect ; EVASION_DOWN1_EFFECT - dw ConversionEffect ; CONVERSION_EFFECT - dw HazeEffect ; HAZE_EFFECT - dw BideEffect ; BIDE_EFFECT - dw ThrashPetalDanceEffect ; THRASH_PETAL_DANCE_EFFECT - dw SwitchAndTeleportEffect ; SWITCH_AND_TELEPORT_EFFECT - dw TwoToFiveAttacksEffect ; TWO_TO_FIVE_ATTACKS_EFFECT - dw TwoToFiveAttacksEffect ; unused effect - dw FlinchSideEffect ; FLINCH_SIDE_EFFECT1 - dw SleepEffect ; SLEEP_EFFECT - dw PoisonEffect ; POISON_SIDE_EFFECT2 - dw FreezeBurnParalyzeEffect ; BURN_SIDE_EFFECT2 - dw FreezeBurnParalyzeEffect ; unused effect - dw FreezeBurnParalyzeEffect ; PARALYZE_SIDE_EFFECT2 - dw FlinchSideEffect ; FLINCH_SIDE_EFFECT2 - dw OneHitKOEffect ; OHKO_EFFECT - dw ChargeEffect ; CHARGE_EFFECT - dw $0000 ; SUPER_FANG_EFFECT - dw $0000 ; SPECIAL_DAMAGE_EFFECT - dw TrappingEffect ; TRAPPING_EFFECT - dw ChargeEffect ; FLY_EFFECT - dw TwoToFiveAttacksEffect ; ATTACK_TWICE_EFFECT - dw $0000 ; JUMP_KICK_EFFECT - dw MistEffect ; MIST_EFFECT - dw FocusEnergyEffect ; FOCUS_ENERGY_EFFECT - dw RecoilEffect ; RECOIL_EFFECT - dw ConfusionEffect ; CONFUSION_EFFECT - dw StatModifierUpEffect ; ATTACK_UP2_EFFECT - dw StatModifierUpEffect ; DEFENSE_UP2_EFFECT - dw StatModifierUpEffect ; SPEED_UP2_EFFECT - dw StatModifierUpEffect ; SPECIAL_UP2_EFFECT - dw StatModifierUpEffect ; ACCURACY_UP2_EFFECT - dw StatModifierUpEffect ; EVASION_UP2_EFFECT - dw HealEffect ; HEAL_EFFECT - dw TransformEffect ; TRANSFORM_EFFECT - dw StatModifierDownEffect ; ATTACK_DOWN2_EFFECT - dw StatModifierDownEffect ; DEFENSE_DOWN2_EFFECT - dw StatModifierDownEffect ; SPEED_DOWN2_EFFECT - dw StatModifierDownEffect ; SPECIAL_DOWN2_EFFECT - dw StatModifierDownEffect ; ACCURACY_DOWN2_EFFECT - dw StatModifierDownEffect ; EVASION_DOWN2_EFFECT - dw ReflectLightScreenEffect ; LIGHT_SCREEN_EFFECT - dw ReflectLightScreenEffect ; REFLECT_EFFECT - dw PoisonEffect ; POISON_EFFECT - dw ParalyzeEffect ; PARALYZE_EFFECT - dw StatModifierDownEffect ; ATTACK_DOWN_SIDE_EFFECT - dw StatModifierDownEffect ; DEFENSE_DOWN_SIDE_EFFECT - dw StatModifierDownEffect ; SPEED_DOWN_SIDE_EFFECT - dw StatModifierDownEffect ; SPECIAL_DOWN_SIDE_EFFECT - dw StatModifierDownEffect ; unused effect - dw StatModifierDownEffect ; unused effect - dw StatModifierDownEffect ; unused effect - dw StatModifierDownEffect ; unused effect - dw ConfusionSideEffect ; CONFUSION_SIDE_EFFECT - dw TwoToFiveAttacksEffect ; TWINEEDLE_EFFECT - dw $0000 ; unused effect - dw SubstituteEffect ; SUBSTITUTE_EFFECT - dw HyperBeamEffect ; HYPER_BEAM_EFFECT - dw RageEffect ; RAGE_EFFECT - dw MimicEffect ; MIMIC_EFFECT - dw $0000 ; METRONOME_EFFECT - dw LeechSeedEffect ; LEECH_SEED_EFFECT - dw SplashEffect ; SPLASH_EFFECT - dw DisableEffect ; DISABLE_EFFECT diff --git a/data/events/hidden_coins.asm b/data/events/hidden_coins.asm new file mode 100755 index 00000000..b7358572 --- /dev/null +++ b/data/events/hidden_coins.asm @@ -0,0 +1,14 @@ +HiddenCoinCoords: + db GAME_CORNER,$08,$00 + db GAME_CORNER,$10,$01 + db GAME_CORNER,$0b,$03 + db GAME_CORNER,$0e,$03 + db GAME_CORNER,$0c,$04 + db GAME_CORNER,$0c,$09 + db GAME_CORNER,$0f,$09 + db GAME_CORNER,$0e,$10 + db GAME_CORNER,$10,$0a + db GAME_CORNER,$07,$0b + db GAME_CORNER,$08,$0f + db GAME_CORNER,$0f,$0c + db $ff diff --git a/data/events/hidden_item_coords.asm b/data/events/hidden_item_coords.asm new file mode 100755 index 00000000..6b911dea --- /dev/null +++ b/data/events/hidden_item_coords.asm @@ -0,0 +1,57 @@ +HiddenItemCoords: +; map ID, then coords + db VIRIDIAN_FOREST,$12,$01 + db VIRIDIAN_FOREST,$2a,$10 + db MT_MOON_B2F,$0c,$12 + db ROUTE_25,$03,$26 + db ROUTE_9,$07,$0e + db SS_ANNE_KITCHEN,$09,$0d + db SS_ANNE_B1F_ROOMS,$01,$03 + db ROUTE_10,$11,$09 + db ROUTE_10,$35,$10 + db ROCKET_HIDEOUT_B1F,$0f,$15 + db ROCKET_HIDEOUT_B3F,$11,$1b + db ROCKET_HIDEOUT_B4F,$01,$19 + db POKEMON_TOWER_5F,$0c,$04 + db ROUTE_13,$0e,$01 + db ROUTE_13,$0d,$10 + db POKEMON_MANSION_B1F,$09,$01 + db SAFARI_ZONE_GATE,$01,$0a + db SAFARI_ZONE_WEST,$05,$06 + db SILPH_CO_5F,$03,$0c + db SILPH_CO_9F,$0f,$02 + db COPYCATS_HOUSE_2F,$01,$01 + db CERULEAN_CAVE_1F,$0b,$0e + db CERULEAN_CAVE_B1F,$03,$1b + db POWER_PLANT,$10,$11 + db POWER_PLANT,$01,$0c + db SEAFOAM_ISLANDS_B2F,$0f,$0f + db SEAFOAM_ISLANDS_B4F,$11,$19 + db POKEMON_MANSION_1F,$10,$08 + db POKEMON_MANSION_3F,$09,$01 + db ROUTE_23,$2c,$09 + db ROUTE_23,$46,$13 + db ROUTE_23,$5a,$08 + db VICTORY_ROAD_2F,$02,$05 + db VICTORY_ROAD_2F,$07,$1a + db UNUSED_MAP_6F,$0b,$0e + db VIRIDIAN_CITY,$04,$0e + db ROUTE_11,$05,$30 + db ROUTE_12,$3f,$02 + db ROUTE_17,$0e,$0f + db ROUTE_17,$2d,$08 + db ROUTE_17,$48,$11 + db ROUTE_17,$5b,$04 + db ROUTE_17,$79,$08 + db UNDERGROUND_PATH_NORTH_SOUTH,$04,$03 + db UNDERGROUND_PATH_NORTH_SOUTH,$22,$04 + db UNDERGROUND_PATH_WEST_EAST,$02,$0c + db UNDERGROUND_PATH_WEST_EAST,$05,$15 + db CELADON_CITY,$0f,$30 + db ROUTE_25,$01,$0a + db MT_MOON_B2F,$09,$21 + db SEAFOAM_ISLANDS_B3F,$10,$09 + db VERMILION_CITY,$0b,$0e + db CERULEAN_CITY,$08,$0f + db ROUTE_4,$03,$28 + db $ff diff --git a/data/events/hidden_objects.asm b/data/events/hidden_objects.asm new file mode 100755 index 00000000..737947a7 --- /dev/null +++ b/data/events/hidden_objects.asm @@ -0,0 +1,853 @@ +HiddenObjectMaps: + db REDS_HOUSE_2F + db BLUES_HOUSE + db OAKS_LAB + db VIRIDIAN_POKECENTER + db VIRIDIAN_MART + db VIRIDIAN_SCHOOL_HOUSE + db VIRIDIAN_GYM + db MUSEUM_1F + db PEWTER_GYM + db PEWTER_MART + db PEWTER_POKECENTER + db CERULEAN_POKECENTER + db CERULEAN_GYM + db CERULEAN_MART + db LAVENDER_POKECENTER + db VERMILION_POKECENTER + db VERMILION_GYM + db CELADON_MANSION_2F + db CELADON_POKECENTER + db CELADON_GYM + db GAME_CORNER + db CELADON_HOTEL + db FUCHSIA_POKECENTER + db FUCHSIA_GYM + db CINNABAR_GYM + db CINNABAR_POKECENTER + db SAFFRON_GYM + db MT_MOON_POKECENTER + db ROCK_TUNNEL_POKECENTER + db TRADE_CENTER + db COLOSSEUM + db VIRIDIAN_FOREST + db MT_MOON_B2F + db INDIGO_PLATEAU + db ROUTE_25 + db ROUTE_9 + db SS_ANNE_KITCHEN + db SS_ANNE_B1F_ROOMS + db ROCKET_HIDEOUT_B1F + db ROCKET_HIDEOUT_B3F + db ROCKET_HIDEOUT_B4F + db SAFFRON_POKECENTER + db POKEMON_TOWER_5F + db ROUTE_13 + db SAFARI_ZONE_GATE + db SAFARI_ZONE_WEST + db SILPH_CO_5F + db SILPH_CO_9F + db COPYCATS_HOUSE_2F + db CERULEAN_CAVE_1F + db CERULEAN_CAVE_B1F + db POWER_PLANT + db SEAFOAM_ISLANDS_B2F + db SEAFOAM_ISLANDS_B4F + db POKEMON_MANSION_1F + db POKEMON_MANSION_3F + db ROUTE_23 + db VICTORY_ROAD_2F + db UNUSED_MAP_6F + db BILLS_HOUSE + db VIRIDIAN_CITY + db SAFARI_ZONE_WEST_REST_HOUSE + db SAFARI_ZONE_EAST_REST_HOUSE + db SAFARI_ZONE_NORTH_REST_HOUSE + db ROUTE_15_GATE_2F + db MR_FUJIS_HOUSE + db CELADON_MANSION_ROOF_HOUSE + db FIGHTING_DOJO + db ROUTE_10 + db INDIGO_PLATEAU_LOBBY + db CINNABAR_LAB_FOSSIL_ROOM + db BIKE_SHOP + db ROUTE_11 + db ROUTE_12 + db POKEMON_MANSION_2F + db POKEMON_MANSION_B1F + db SILPH_CO_11F + db ROUTE_17 + db UNDERGROUND_PATH_NORTH_SOUTH + db UNDERGROUND_PATH_WEST_EAST + db CELADON_CITY + db SEAFOAM_ISLANDS_B3F + db VERMILION_CITY + db CERULEAN_CITY + db ROUTE_4 + db $FF + +HiddenObjectPointers: +; each of these pointers is for the corresponding map in HiddenObjectMaps + dw RedsHouse2FHiddenObjects + dw BluesHouseHiddenObjects + dw OaksLabHiddenObjects + dw ViridianPokecenterHiddenObjects + dw ViridianMartHiddenObjects + dw ViridianSchoolHiddenObjects + dw ViridianGymHiddenObjects + dw Museum1FHiddenObjects + dw PewterGymHiddenObjects + dw PewterMartHiddenObjects + dw PewterPokecenterHiddenObjects + dw CeruleanPokecenterHiddenObjects + dw CeruleanGymHiddenObjects + dw CeruleanMartHiddenObjects + dw LavenderPokecenterHiddenObjects + dw VermilionPokecenterHiddenObjects + dw VermilionGymHiddenObjects + dw CeladonMansion2HiddenObjects + dw CeladonPokecenterHiddenObjects + dw CeladonGymHiddenObjects + dw GameCornerHiddenObjects + dw CeladonHotelHiddenObjects + dw FuchsiaPokecenterHiddenObjects + dw FuchsiaGymHiddenObjects + dw CinnabarGymHiddenObjects + dw CinnabarPokecenterHiddenObjects + dw SaffronGymHiddenObjects + dw MtMoonPokecenterHiddenObjects + dw RockTunnelPokecenterHiddenObjects + dw TradeCenterHiddenObjects + dw ColosseumHiddenObjects + dw ViridianForestHiddenObjects + dw MtMoon3HiddenObjects + dw IndigoPlateauHiddenObjects + dw Route25HiddenObjects + dw Route9HiddenObjects + dw SSAnne6HiddenObjects + dw SSAnne10HiddenObjects + dw RocketHideout1HiddenObjects + dw RocketHideout3HiddenObjects + dw RocketHideout4HiddenObjects + dw SaffronPokecenterHiddenObjects + dw PokemonTower5HiddenObjects + dw Route13HiddenObjects + dw SafariZoneEntranceHiddenObjects + dw SafariZoneWestHiddenObjects + dw SilphCo5FHiddenObjects + dw SilphCo9FHiddenObjects + dw CopycatsHouse2FHiddenObjects + dw CeruleanCave1HiddenObjects + dw CeruleanCave3HiddenObjects + dw PowerPlantHiddenObjects + dw SeafoamIslands3HiddenObjects + dw SeafoamIslands5HiddenObjects + dw Mansion1HiddenObjects + dw Mansion3HiddenObjects + dw Route23HiddenObjects + dw VictoryRoad2HiddenObjects + dw Unused6FHiddenObjects + dw BillsHouseHiddenObjects + dw ViridianCityHiddenObjects + dw SafariZoneRestHouse2HiddenObjects + dw SafariZoneRestHouse3HiddenObjects + dw SafariZoneRestHouse4HiddenObjects + dw Route15GateUpstairsHiddenObjects + dw LavenderHouse1HiddenObjects + dw CeladonMansion5HiddenObjects + dw FightingDojoHiddenObjects + dw Route10HiddenObjects + dw IndigoPlateauLobbyHiddenObjects + dw CinnabarLab4HiddenObjects + dw BikeShopHiddenObjects + dw Route11HiddenObjects + dw Route12HiddenObjects + dw Mansion2HiddenObjects + dw Mansion4HiddenObjects + dw SilphCo11FHiddenObjects + dw Route17HiddenObjects + dw UndergroundPathNsHiddenObjects + dw UndergroundPathWeHiddenObjects + dw CeladonCityHiddenObjects + dw SeafoamIslands4HiddenObjects + dw VermilionCityHiddenObjects + dw CeruleanCityHiddenObjects + dw Route4HiddenObjects + +; format: y-coord, x-coord, text id/item id, object routine +TradeCenterHiddenObjects: + db $04,$05,$d0 + db BANK(CableClubRightGameboy) + dw CableClubRightGameboy + db $04,$04,$d0 + db BANK(CableClubLeftGameboy) + dw CableClubLeftGameboy + db $FF +ColosseumHiddenObjects: + db $04,$05,$d0 + db BANK(CableClubRightGameboy) + dw CableClubRightGameboy + db $04,$04,$d0 + db BANK(CableClubLeftGameboy) + dw CableClubLeftGameboy + db $FF +RedsHouse2FHiddenObjects: + db $01,$00,$04 + dbw BANK(OpenRedsPC), OpenRedsPC + db $05,$03,$d0 + dbw BANK(PrintRedSNESText), PrintRedSNESText + db $FF +BluesHouseHiddenObjects: + db $01,$00,$04 + db BANK(PrintBookcaseText) + dw PrintBookcaseText + db $01,$01,$04 + db BANK(PrintBookcaseText) + dw PrintBookcaseText + db $01,$07,$04 + db BANK(PrintBookcaseText) + dw PrintBookcaseText + db $FF +OaksLabHiddenObjects: + db $00,$04,$04 + db BANK(DisplayOakLabLeftPoster) + dw DisplayOakLabLeftPoster + db $00,$05,$04 + db BANK(DisplayOakLabRightPoster) + dw DisplayOakLabRightPoster + db $01,$00,$04 + db BANK(DisplayOakLabEmailText) + dw DisplayOakLabEmailText + db $01,$01,$04 + db BANK(DisplayOakLabEmailText) + dw DisplayOakLabEmailText + db $FF +ViridianPokecenterHiddenObjects: + db $04,$00,$08 + db Bank(PrintBenchGuyText) + dw PrintBenchGuyText + db $03,$0d,$04 + db BANK(OpenPokemonCenterPC) + dw OpenPokemonCenterPC + db $FF +ViridianMartHiddenObjects: + db $FF +ViridianSchoolHiddenObjects: + db $04,$03,(ViridianSchoolNotebook_id - TextPredefs) / 2 + 1 + db Bank(PrintNotebookText) + dw PrintNotebookText + db $00,$03,(ViridianSchoolBlackboard_id - TextPredefs) / 2 + 1 + db BANK(PrintBlackboardLinkCableText) + dw PrintBlackboardLinkCableText + db $FF +ViridianGymHiddenObjects: + db $0f,$0f,$04 + dbw BANK(GymStatues),GymStatues + db $0f,$12,$04 + dbw BANK(GymStatues),GymStatues + db $FF +Museum1FHiddenObjects: + db $03,$02,$04 + dbw BANK(AerodactylFossil), AerodactylFossil + db $06,$02,$04 + dbw BANK(KabutopsFossil), KabutopsFossil + db $FF +PewterGymHiddenObjects: + db $0a,$03,$04 + dbw BANK(GymStatues),GymStatues + db $0a,$06,$04 + dbw BANK(GymStatues),GymStatues + db $FF +PewterMartHiddenObjects: + db $FF +PewterPokecenterHiddenObjects: + db $04,$00,$08 + db Bank(PrintBenchGuyText) + dw PrintBenchGuyText + db $03,$0d,$04 + db BANK(OpenPokemonCenterPC) + dw OpenPokemonCenterPC + db $FF +CeruleanPokecenterHiddenObjects: + db $04,$00,$08 + db Bank(PrintBenchGuyText) + dw PrintBenchGuyText + db $03,$0d,$04 + db BANK(OpenPokemonCenterPC) + dw OpenPokemonCenterPC + db $FF +CeruleanGymHiddenObjects: + db $0b,$03,$04 + dbw BANK(GymStatues),GymStatues + db $0b,$06,$04 + dbw BANK(GymStatues),GymStatues + db $FF +CeruleanMartHiddenObjects: + db $FF +LavenderPokecenterHiddenObjects: + db $04,$00,$08 + db Bank(PrintBenchGuyText) + dw PrintBenchGuyText + db $03,$0d,$04 + db BANK(OpenPokemonCenterPC) + dw OpenPokemonCenterPC + db $FF +VermilionPokecenterHiddenObjects: + db $03,$0d,$04 + db BANK(OpenPokemonCenterPC) + dw OpenPokemonCenterPC + db $04,$00,$04 + db Bank(PrintBenchGuyText) + dw PrintBenchGuyText + db $FF +VermilionGymHiddenObjects: + db $0e,$03,$04 + dbw BANK(GymStatues), GymStatues + db $0e,$06,$04 + dbw BANK(GymStatues), GymStatues + db $01,$06,$00 + dbw BANK(PrintTrashText), PrintTrashText + db $07,$01,$00 + dbw BANK(GymTrashScript), GymTrashScript + db $09,$01,$01 + dbw BANK(GymTrashScript), GymTrashScript + db $0b,$01,$02 + dbw BANK(GymTrashScript), GymTrashScript + db $07,$03,$03 + dbw BANK(GymTrashScript), GymTrashScript + db $09,$03,$04 + dbw BANK(GymTrashScript), GymTrashScript + db $0b,$03,$05 + dbw BANK(GymTrashScript), GymTrashScript + db $07,$05,$06 + dbw BANK(GymTrashScript), GymTrashScript + db $09,$05,$07 + dbw BANK(GymTrashScript), GymTrashScript + db $0b,$05,$08 + dbw BANK(GymTrashScript), GymTrashScript + db $07,$07,$09 + dbw BANK(GymTrashScript), GymTrashScript + db $09,$07,$0a + dbw BANK(GymTrashScript), GymTrashScript + db $0b,$07,$0b + dbw BANK(GymTrashScript), GymTrashScript + db $07,$09,$0c + dbw BANK(GymTrashScript), GymTrashScript + db $09,$09,$0d + dbw BANK(GymTrashScript), GymTrashScript + db $0b,$09,$0e + dbw BANK(GymTrashScript), GymTrashScript + db $FF +CeladonMansion2HiddenObjects: + db $05,$00,$04 + db BANK(OpenPokemonCenterPC) + dw OpenPokemonCenterPC + db $FF +CeladonPokecenterHiddenObjects: + db $04,$00,$08 + db Bank(PrintBenchGuyText) + dw PrintBenchGuyText + db $03,$0d,$04 + db BANK(OpenPokemonCenterPC) + dw OpenPokemonCenterPC + db $FF +CeladonGymHiddenObjects: + db $0f,$03,$04 + dbw BANK(GymStatues),GymStatues + db $0f,$06,$04 + dbw BANK(GymStatues),GymStatues + db $FF +GameCornerHiddenObjects: + db $0f,$12,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0e,$12,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0d,$12,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0c,$12,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0b,$12,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0a,$12,$ff ; "Someone's Keys" + dbw BANK(StartSlotMachine), StartSlotMachine + db $0a,$0d,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0b,$0d,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0c,$0d,$fe ; "Out To Lunch" + dbw BANK(StartSlotMachine), StartSlotMachine + db $0d,$0d,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0e,$0d,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0f,$0d,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0f,$0c,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0e,$0c,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0d,$0c,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0c,$0c,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0b,$0c,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0a,$0c,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0a,$07,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0b,$07,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0c,$07,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0d,$07,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0e,$07,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0f,$07,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0f,$06,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0e,$06,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0d,$06,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0c,$06,$fd ; "Out Of Order" + dbw BANK(StartSlotMachine), StartSlotMachine + db $0b,$06,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0a,$06,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0a,$01,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0b,$01,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0c,$01,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0d,$01,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0e,$01,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0f,$01,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $08,$00,COIN+10 + dbw BANK(HiddenCoins),HiddenCoins + db $10,$01,COIN+10 + dbw BANK(HiddenCoins),HiddenCoins + db $0b,$03,COIN+20 + dbw BANK(HiddenCoins),HiddenCoins + db $0e,$03,COIN+10 + dbw BANK(HiddenCoins),HiddenCoins + db $0c,$04,COIN+10 + dbw BANK(HiddenCoins),HiddenCoins + db $0c,$09,COIN+20 + dbw BANK(HiddenCoins),HiddenCoins + db $0f,$09,COIN+10 + dbw BANK(HiddenCoins),HiddenCoins + db $0e,$10,COIN+10 + dbw BANK(HiddenCoins),HiddenCoins + db $10,$0a,COIN+10 + dbw BANK(HiddenCoins),HiddenCoins + db $07,$0b,COIN+40 + dbw BANK(HiddenCoins),HiddenCoins + db $08,$0f,COIN+100 + dbw BANK(HiddenCoins),HiddenCoins + db $0f,$0c,COIN+10 + dbw BANK(HiddenCoins),HiddenCoins + db $FF +CeladonHotelHiddenObjects: + db $03,$0d,$04 + db BANK(OpenPokemonCenterPC) + dw OpenPokemonCenterPC + db $04,$00,$08 + db Bank(PrintBenchGuyText) + dw PrintBenchGuyText + db $FF +FuchsiaPokecenterHiddenObjects: + db $03,$0d,$04 + db BANK(OpenPokemonCenterPC) + dw OpenPokemonCenterPC + db $04,$00,$04 + db Bank(PrintBenchGuyText) + dw PrintBenchGuyText + db $FF +FuchsiaGymHiddenObjects: + db $0f,$03,$04 + dbw BANK(GymStatues),GymStatues + db $0f,$06,$04 + dbw BANK(GymStatues),GymStatues + db $FF +CinnabarGymHiddenObjects: + db $0d,$11,$04 + dbw BANK(GymStatues),GymStatues + db $07,$0f,$01 + db Bank(PrintCinnabarQuiz) + dw PrintCinnabarQuiz + db $01,$0a,$12 + db Bank(PrintCinnabarQuiz) + dw PrintCinnabarQuiz + db $07,$09,$13 + db Bank(PrintCinnabarQuiz) + dw PrintCinnabarQuiz + db $0d,$09,$14 + db Bank(PrintCinnabarQuiz) + dw PrintCinnabarQuiz + db $0d,$01,$05 + db Bank(PrintCinnabarQuiz) + dw PrintCinnabarQuiz + db $07,$01,$16 + db Bank(PrintCinnabarQuiz) + dw PrintCinnabarQuiz + db $FF +CinnabarPokecenterHiddenObjects: + db $04,$00,$04 + db Bank(PrintBenchGuyText) + dw PrintBenchGuyText + db $03,$0d,$04 + db BANK(OpenPokemonCenterPC) + dw OpenPokemonCenterPC + db $FF +SaffronGymHiddenObjects: + db $0f,$09,$04 + dbw BANK(GymStatues),GymStatues + db $FF +MtMoonPokecenterHiddenObjects: + db $04,$00,$08 + db Bank(PrintBenchGuyText) + dw PrintBenchGuyText + db $03,$0d,$04 + db BANK(OpenPokemonCenterPC) + dw OpenPokemonCenterPC + db $FF +RockTunnelPokecenterHiddenObjects: + db $04,$00,$08 + db Bank(PrintBenchGuyText) + dw PrintBenchGuyText + db $03,$0d,$04 + db BANK(OpenPokemonCenterPC) + dw OpenPokemonCenterPC + db $FF +ViridianForestHiddenObjects: + db $12,$01,POTION + dbw BANK(HiddenItems),HiddenItems + db $2a,$10,ANTIDOTE + dbw BANK(HiddenItems),HiddenItems + db $FF +MtMoon3HiddenObjects: + db $0c,$12,MOON_STONE + dbw BANK(HiddenItems),HiddenItems + db $09,$21,ETHER + dbw BANK(HiddenItems),HiddenItems + db $FF +IndigoPlateauHiddenObjects: + db $0d,$08,$ff + db BANK(PrintIndigoPlateauHQText) + dw PrintIndigoPlateauHQText + db $0d,$0b,$00 + db BANK(PrintIndigoPlateauHQText) + dw PrintIndigoPlateauHQText + db $FF +Route25HiddenObjects: + db $03,$26,ETHER + dbw BANK(HiddenItems),HiddenItems + db $01,$0a,ELIXER + dbw BANK(HiddenItems),HiddenItems + db $FF +Route9HiddenObjects: + db $07,$0e,ETHER + dbw BANK(HiddenItems),HiddenItems + db $FF +SSAnne6HiddenObjects: + db $05,$0d,$00 + dbw BANK(PrintTrashText), PrintTrashText + db $07,$0d,$00 + dbw BANK(PrintTrashText), PrintTrashText + db $09,$0d,GREAT_BALL + dbw BANK(HiddenItems),HiddenItems + db $FF +SSAnne10HiddenObjects: + db $01,$03,HYPER_POTION + dbw BANK(HiddenItems),HiddenItems + db $FF +Route10HiddenObjects: + db $11,$09,SUPER_POTION + dbw BANK(HiddenItems),HiddenItems + db $35,$10,MAX_ETHER + dbw BANK(HiddenItems),HiddenItems + db $FF +RocketHideout1HiddenObjects: + db $0f,$15,PP_UP + dbw BANK(HiddenItems),HiddenItems + db $FF +RocketHideout3HiddenObjects: + db $11,$1b,NUGGET + dbw BANK(HiddenItems),HiddenItems + db $FF +RocketHideout4HiddenObjects: + db $01,$19,SUPER_POTION + dbw BANK(HiddenItems),HiddenItems + db $FF +SaffronPokecenterHiddenObjects: + db $04,$00,$04 + db Bank(PrintBenchGuyText) + dw PrintBenchGuyText + db $03,$0d,$04 + db BANK(OpenPokemonCenterPC) + dw OpenPokemonCenterPC + db $FF +PokemonTower5HiddenObjects: + db $0c,$04,ELIXER + dbw BANK(HiddenItems),HiddenItems + db $FF +Route13HiddenObjects: + db $0e,$01,PP_UP + dbw BANK(HiddenItems),HiddenItems + db $0d,$10,CALCIUM + dbw BANK(HiddenItems),HiddenItems + db $FF +SafariZoneEntranceHiddenObjects: + db $01,$0a,NUGGET + dbw BANK(HiddenItems),HiddenItems + db $FF +SafariZoneWestHiddenObjects: + db $05,$06,REVIVE + dbw BANK(HiddenItems),HiddenItems + db $FF +SilphCo5FHiddenObjects: + db $03,$0c,ELIXER + dbw BANK(HiddenItems),HiddenItems + db $FF +SilphCo9FHiddenObjects: + db $0f,$02,MAX_POTION + dbw BANK(HiddenItems),HiddenItems + db $FF +CopycatsHouse2FHiddenObjects: + db $01,$01,NUGGET + dbw BANK(HiddenItems),HiddenItems + db $FF +CeruleanCave1HiddenObjects: + db $0b,$0e,RARE_CANDY + dbw BANK(HiddenItems),HiddenItems + db $FF +CeruleanCave3HiddenObjects: + db $03,$1b,ULTRA_BALL + dbw BANK(HiddenItems),HiddenItems + db $FF +PowerPlantHiddenObjects: + db $10,$11,MAX_ELIXER + dbw BANK(HiddenItems),HiddenItems + db $01,$0c,PP_UP + dbw BANK(HiddenItems),HiddenItems + db $FF +SeafoamIslands3HiddenObjects: + db $0f,$0f,NUGGET + dbw BANK(HiddenItems),HiddenItems + db $FF +SeafoamIslands5HiddenObjects: + db $11,$19,ULTRA_BALL + dbw BANK(HiddenItems),HiddenItems + db $FF +Mansion1HiddenObjects: + db $10,$08,MOON_STONE + dbw BANK(HiddenItems),HiddenItems + db $05,$02,$04 + db BANK(Mansion1Script_Switches) + dw Mansion1Script_Switches + db $FF +Mansion2HiddenObjects: + db $0b,$02,$04 + db BANK(Mansion2Script_Switches) + dw Mansion2Script_Switches + db $FF +Mansion3HiddenObjects: + db $09,$01,MAX_REVIVE + dbw BANK(HiddenItems),HiddenItems + db $05,$0a,$04 + db BANK(Mansion3Script_Switches) + dw Mansion3Script_Switches + db $FF +Mansion4HiddenObjects: + db $09,$01,RARE_CANDY + dbw BANK(HiddenItems),HiddenItems + db $03,$14,$04 + db BANK(Mansion4Script_Switches) + dw Mansion4Script_Switches + db $19,$12,$04 + db BANK(Mansion4Script_Switches) + dw Mansion4Script_Switches + db $FF +Route23HiddenObjects: + db $2c,$09,FULL_RESTORE + dbw BANK(HiddenItems),HiddenItems + db $46,$13,ULTRA_BALL + dbw BANK(HiddenItems),HiddenItems + db $5a,$08,MAX_ETHER + dbw BANK(HiddenItems),HiddenItems + db $FF +VictoryRoad2HiddenObjects: + db $02,$05,ULTRA_BALL + dbw BANK(HiddenItems),HiddenItems + db $07,$1a,FULL_RESTORE + dbw BANK(HiddenItems),HiddenItems + db $FF +Unused6FHiddenObjects: + db $0b,$0e,MAX_ELIXER + dbw BANK(HiddenItems),HiddenItems + db $FF +BillsHouseHiddenObjects: + db $04,$01,$04 + dbw BANK(BillsHousePC), BillsHousePC + db $FF +ViridianCityHiddenObjects: + db $04,$0e,POTION + dbw BANK(HiddenItems),HiddenItems + db $FF +SafariZoneRestHouse2HiddenObjects: + db $04,$00,$08 + db Bank(PrintBenchGuyText) + dw PrintBenchGuyText + db $03,$0d,$04 + db BANK(OpenPokemonCenterPC) + dw OpenPokemonCenterPC + db $FF +SafariZoneRestHouse3HiddenObjects: + db $04,$00,$08 + db Bank(PrintBenchGuyText) + dw PrintBenchGuyText + db $03,$0d,$04 + db BANK(OpenPokemonCenterPC) + dw OpenPokemonCenterPC + db $FF +SafariZoneRestHouse4HiddenObjects: + db $04,$00,$08 + db Bank(PrintBenchGuyText) + dw PrintBenchGuyText + db $03,$0d,$04 + db BANK(OpenPokemonCenterPC) + dw OpenPokemonCenterPC + db $FF +Route15GateUpstairsHiddenObjects: + db $02,$01,$04 + db BANK(Route15GateLeftBinoculars) + dw Route15GateLeftBinoculars + db $FF +LavenderHouse1HiddenObjects: + db $01,$00,$00 + db BANK(PrintMagazinesText) + dw PrintMagazinesText + db $01,$01,$00 + db BANK(PrintMagazinesText) + dw PrintMagazinesText + db $01,$07,$00 + db BANK(PrintMagazinesText) + dw PrintMagazinesText + db $FF +CeladonMansion5HiddenObjects: + db $00,$03,(LinkCableHelp_id - TextPredefs) / 2 + 1 + db BANK(PrintBlackboardLinkCableText) + dw PrintBlackboardLinkCableText + db $00,$04,(LinkCableHelp_id - TextPredefs) / 2 + 1 + db BANK(PrintBlackboardLinkCableText) + dw PrintBlackboardLinkCableText + db $04,$03,(TMNotebook_id - TextPredefs) / 2 + 1 + db Bank(PrintNotebookText) + dw PrintNotebookText + db $FF +FightingDojoHiddenObjects: + db $09,$03,$04 + db BANK(PrintFightingDojoText) + dw PrintFightingDojoText + db $09,$06,$04 + db BANK(PrintFightingDojoText) + dw PrintFightingDojoText + db $00,$04,$04 + db BANK(PrintFightingDojoText2) + dw PrintFightingDojoText2 + db $00,$05,$04 + db BANK(PrintFightingDojoText3) + dw PrintFightingDojoText3 + db $FF +IndigoPlateauLobbyHiddenObjects: + db $07,$0f,$04 + db BANK(OpenPokemonCenterPC) + dw OpenPokemonCenterPC + db $FF +CinnabarLab4HiddenObjects: + db $04,$00,$04 + db BANK(OpenPokemonCenterPC) + dw OpenPokemonCenterPC + db $04,$02,$04 + db BANK(OpenPokemonCenterPC) + dw OpenPokemonCenterPC + db $FF +BikeShopHiddenObjects: + db $00,$01,$d0 + dbw BANK(PrintNewBikeText), PrintNewBikeText + db $01,$02,$d0 + dbw BANK(PrintNewBikeText), PrintNewBikeText + db $02,$01,$d0 + dbw BANK(PrintNewBikeText), PrintNewBikeText + db $02,$03,$d0 + dbw BANK(PrintNewBikeText), PrintNewBikeText + db $04,$00,$d0 + dbw BANK(PrintNewBikeText), PrintNewBikeText + db $05,$01,$d0 + dbw BANK(PrintNewBikeText), PrintNewBikeText + db $FF +Route11HiddenObjects: + db $05,$30,ESCAPE_ROPE + dbw BANK(HiddenItems),HiddenItems + db $FF +Route12HiddenObjects: + db $3f,$02,HYPER_POTION + dbw BANK(HiddenItems),HiddenItems + db $FF +SilphCo11FHiddenObjects: + db $0c,$0a,$04 + db BANK(OpenPokemonCenterPC) + dw OpenPokemonCenterPC + db $FF +Route17HiddenObjects: + db $0e,$0f,RARE_CANDY + dbw BANK(HiddenItems),HiddenItems + db $2d,$08,FULL_RESTORE + dbw BANK(HiddenItems),HiddenItems + db $48,$11,PP_UP + dbw BANK(HiddenItems),HiddenItems + db $5b,$04,MAX_REVIVE + dbw BANK(HiddenItems),HiddenItems + db $79,$08,MAX_ELIXER + dbw BANK(HiddenItems),HiddenItems + db $FF +UndergroundPathNsHiddenObjects: + db $04,$03,FULL_RESTORE + dbw BANK(HiddenItems),HiddenItems + db $22,$04,X_SPECIAL + dbw BANK(HiddenItems),HiddenItems + db $FF +UndergroundPathWeHiddenObjects: + db $02,$0c,NUGGET + dbw BANK(HiddenItems),HiddenItems + db $05,$15,ELIXER + dbw BANK(HiddenItems),HiddenItems + db $FF +CeladonCityHiddenObjects: + db $0f,$30,PP_UP + dbw BANK(HiddenItems),HiddenItems + db $FF +SeafoamIslands4HiddenObjects: + db $10,$09,MAX_ELIXER + dbw BANK(HiddenItems),HiddenItems + db $FF +VermilionCityHiddenObjects: + db $0b,$0e,MAX_ETHER + dbw BANK(HiddenItems),HiddenItems + db $FF +CeruleanCityHiddenObjects: + db $08,$0f,RARE_CANDY + dbw BANK(HiddenItems),HiddenItems + db $FF +Route4HiddenObjects: + db $03,$28,GREAT_BALL + dbw BANK(HiddenItems),HiddenItems + db $FF diff --git a/data/events/prize_mon_levels.asm b/data/events/prize_mon_levels.asm new file mode 100755 index 00000000..bffa4440 --- /dev/null +++ b/data/events/prize_mon_levels.asm @@ -0,0 +1,19 @@ +PrizeMonLevelDictionary: +IF DEF(_RED) + db ABRA,9 + db CLEFAIRY,8 + db NIDORINA,17 + + db DRATINI,18 + db SCYTHER,25 + db PORYGON,26 +ENDC +IF DEF(_BLUE) + db ABRA,6 + db CLEFAIRY,12 + db NIDORINO,17 + + db PINSIR,20 + db DRATINI,24 + db PORYGON,18 +ENDC diff --git a/data/events/prizes.asm b/data/events/prizes.asm new file mode 100755 index 00000000..1120c0d0 --- /dev/null +++ b/data/events/prizes.asm @@ -0,0 +1,72 @@ +PrizeDifferentMenuPtrs: + dw PrizeMenuMon1Entries + dw PrizeMenuMon1Cost + + dw PrizeMenuMon2Entries + dw PrizeMenuMon2Cost + + dw PrizeMenuTMsEntries + dw PrizeMenuTMsCost + +NoThanksText: + db "NO THANKS@" + +PrizeMenuMon1Entries: + db ABRA + db CLEFAIRY +IF DEF(_RED) + db NIDORINA +ENDC +IF DEF(_BLUE) + db NIDORINO +ENDC + db "@" + +PrizeMenuMon1Cost: +IF DEF(_RED) + coins 180 + coins 500 +ENDC +IF DEF(_BLUE) + coins 120 + coins 750 +ENDC + coins 1200 + db "@" + +PrizeMenuMon2Entries: +IF DEF(_RED) + db DRATINI + db SCYTHER +ENDC +IF DEF(_BLUE) + db PINSIR + db DRATINI +ENDC + db PORYGON + db "@" + +PrizeMenuMon2Cost: +IF DEF(_RED) + coins 2800 + coins 5500 + coins 9999 +ENDC +IF DEF(_BLUE) + coins 2500 + coins 4600 + coins 6500 +ENDC + db "@" + +PrizeMenuTMsEntries: + db TM_23 + db TM_15 + db TM_50 + db "@" + +PrizeMenuTMsCost: + coins 3300 + coins 5500 + coins 7700 + db "@" diff --git a/data/events/slot_machine_wheels.asm b/data/events/slot_machine_wheels.asm new file mode 100755 index 00000000..88a89822 --- /dev/null +++ b/data/events/slot_machine_wheels.asm @@ -0,0 +1,59 @@ +SlotMachineWheel1: + dw SLOTS7 + dw SLOTSMOUSE + dw SLOTSFISH + dw SLOTSBAR + dw SLOTSCHERRY + dw SLOTS7 + dw SLOTSFISH + dw SLOTSBIRD + dw SLOTSBAR + dw SLOTSCHERRY + dw SLOTS7 + dw SLOTSMOUSE + dw SLOTSBIRD + dw SLOTSBAR + dw SLOTSCHERRY + dw SLOTS7 + dw SLOTSMOUSE + dw SLOTSFISH + +SlotMachineWheel2: + dw SLOTS7 + dw SLOTSFISH + dw SLOTSCHERRY + dw SLOTSBIRD + dw SLOTSMOUSE + dw SLOTSBAR + dw SLOTSCHERRY + dw SLOTSFISH + dw SLOTSBIRD + dw SLOTSCHERRY + dw SLOTSBAR + dw SLOTSFISH + dw SLOTSBIRD + dw SLOTSCHERRY + dw SLOTSMOUSE + dw SLOTS7 + dw SLOTSFISH + dw SLOTSCHERRY + +SlotMachineWheel3: + dw SLOTS7 + dw SLOTSBIRD + dw SLOTSFISH + dw SLOTSCHERRY + dw SLOTSMOUSE + dw SLOTSBIRD + dw SLOTSFISH + dw SLOTSCHERRY + dw SLOTSMOUSE + dw SLOTSBIRD + dw SLOTSFISH + dw SLOTSCHERRY + dw SLOTSMOUSE + dw SLOTSBIRD + dw SLOTSBAR + dw SLOTS7 + dw SLOTSBIRD + dw SLOTSFISH diff --git a/data/events/trades.asm b/data/events/trades.asm new file mode 100755 index 00000000..cf0fcbfd --- /dev/null +++ b/data/events/trades.asm @@ -0,0 +1,12 @@ +TradeMons: +; givemonster, getmonster, textstring, nickname (11 bytes), 14 bytes total + db NIDORINO, NIDORINA, 0,"TERRY@@@@@@" + db ABRA, MR_MIME, 0,"MARCEL@@@@@" + db BUTTERFREE,BEEDRILL, 2,"CHIKUCHIKU@" + db PONYTA, SEEL, 0,"SAILOR@@@@@" + db SPEAROW, FARFETCHD,2,"DUX@@@@@@@@" + db SLOWBRO, LICKITUNG,0,"MARC@@@@@@@" + db POLIWHIRL, JYNX, 1,"LOLA@@@@@@@" + db RAICHU, ELECTRODE,1,"DORIS@@@@@@" + db VENONAT, TANGELA, 2,"CRINKLES@@@" + db NIDORAN_M, NIDORAN_F,2,"SPOT@@@@@@@" diff --git a/data/evos_moves.asm b/data/evos_moves.asm deleted file mode 100755 index 26f09b87..00000000 --- a/data/evos_moves.asm +++ /dev/null @@ -1,2134 +0,0 @@ -; See constants/evolution_constants.asm -; The max number of evolutions per monster is MAX_EVOLUTIONS - -EvosMovesPointerTable: - dw RhydonEvosMoves - dw KangaskhanEvosMoves - dw NidoranMEvosMoves - dw ClefairyEvosMoves - dw SpearowEvosMoves - dw VoltorbEvosMoves - dw NidokingEvosMoves - dw SlowbroEvosMoves - dw IvysaurEvosMoves - dw ExeggutorEvosMoves - dw LickitungEvosMoves - dw ExeggcuteEvosMoves - dw GrimerEvosMoves - dw GengarEvosMoves - dw NidoranFEvosMoves - dw NidoqueenEvosMoves - dw CuboneEvosMoves - dw RhyhornEvosMoves - dw LaprasEvosMoves - dw ArcanineEvosMoves - dw MewEvosMoves - dw GyaradosEvosMoves - dw ShellderEvosMoves - dw TentacoolEvosMoves - dw GastlyEvosMoves - dw ScytherEvosMoves - dw StaryuEvosMoves - dw BlastoiseEvosMoves - dw PinsirEvosMoves - dw TangelaEvosMoves - dw MissingNo1FEvosMoves - dw MissingNo20EvosMoves - dw GrowlitheEvosMoves - dw OnixEvosMoves - dw FearowEvosMoves - dw PidgeyEvosMoves - dw SlowpokeEvosMoves - dw KadabraEvosMoves - dw GravelerEvosMoves - dw ChanseyEvosMoves - dw MachokeEvosMoves - dw MrMimeEvosMoves - dw HitmonleeEvosMoves - dw HitmonchanEvosMoves - dw ArbokEvosMoves - dw ParasectEvosMoves - dw PsyduckEvosMoves - dw DrowzeeEvosMoves - dw GolemEvosMoves - dw MissingNo32EvosMoves - dw MagmarEvosMoves - dw MissingNo34EvosMoves - dw ElectabuzzEvosMoves - dw MagnetonEvosMoves - dw KoffingEvosMoves - dw MissingNo38EvosMoves - dw MankeyEvosMoves - dw SeelEvosMoves - dw DiglettEvosMoves - dw TaurosEvosMoves - dw MissingNo3DEvosMoves - dw MissingNo3EEvosMoves - dw MissingNo3FEvosMoves - dw FarfetchdEvosMoves - dw VenonatEvosMoves - dw DragoniteEvosMoves - dw MissingNo43EvosMoves - dw MissingNo44EvosMoves - dw MissingNo45EvosMoves - dw DoduoEvosMoves - dw PoliwagEvosMoves - dw JynxEvosMoves - dw MoltresEvosMoves - dw ArticunoEvosMoves - dw ZapdosEvosMoves - dw DittoEvosMoves - dw MeowthEvosMoves - dw KrabbyEvosMoves - dw MissingNo4FEvosMoves - dw MissingNo50EvosMoves - dw MissingNo51EvosMoves - dw VulpixEvosMoves - dw NinetalesEvosMoves - dw PikachuEvosMoves - dw RaichuEvosMoves - dw MissingNo56EvosMoves - dw MissingNo57EvosMoves - dw DratiniEvosMoves - dw DragonairEvosMoves - dw KabutoEvosMoves - dw KabutopsEvosMoves - dw HorseaEvosMoves - dw SeadraEvosMoves - dw MissingNo5EEvosMoves - dw MissingNo5FEvosMoves - dw SandshrewEvosMoves - dw SandslashEvosMoves - dw OmanyteEvosMoves - dw OmastarEvosMoves - dw JigglypuffEvosMoves - dw WigglytuffEvosMoves - dw EeveeEvosMoves - dw FlareonEvosMoves - dw JolteonEvosMoves - dw VaporeonEvosMoves - dw MachopEvosMoves - dw ZubatEvosMoves - dw EkansEvosMoves - dw ParasEvosMoves - dw PoliwhirlEvosMoves - dw PoliwrathEvosMoves - dw WeedleEvosMoves - dw KakunaEvosMoves - dw BeedrillEvosMoves - dw MissingNo73EvosMoves - dw DodrioEvosMoves - dw PrimeapeEvosMoves - dw DugtrioEvosMoves - dw VenomothEvosMoves - dw DewgongEvosMoves - dw MissingNo79EvosMoves - dw MissingNo7AEvosMoves - dw CaterpieEvosMoves - dw MetapodEvosMoves - dw ButterfreeEvosMoves - dw MachampEvosMoves - dw MissingNo7FEvosMoves - dw GolduckEvosMoves - dw HypnoEvosMoves - dw GolbatEvosMoves - dw MewtwoEvosMoves - dw SnorlaxEvosMoves - dw MagikarpEvosMoves - dw MissingNo86EvosMoves - dw MissingNo87EvosMoves - dw MukEvosMoves - dw MissingNo8AEvosMoves - dw KinglerEvosMoves - dw CloysterEvosMoves - dw MissingNo8CEvosMoves - dw ElectrodeEvosMoves - dw ClefableEvosMoves - dw WeezingEvosMoves - dw PersianEvosMoves - dw MarowakEvosMoves - dw MissingNo92EvosMoves - dw HaunterEvosMoves - dw AbraEvosMoves - dw AlakazamEvosMoves - dw PidgeottoEvosMoves - dw PidgeotEvosMoves - dw StarmieEvosMoves - dw BulbasaurEvosMoves - dw VenusaurEvosMoves - dw TentacruelEvosMoves - dw MissingNo9CEvosMoves - dw GoldeenEvosMoves - dw SeakingEvosMoves - dw MissingNo9FEvosMoves - dw MissingNoA0EvosMoves - dw MissingNoA1EvosMoves - dw MissingNoA2EvosMoves - dw PonytaEvosMoves - dw RapidashEvosMoves - dw RattataEvosMoves - dw RaticateEvosMoves - dw NidorinoEvosMoves - dw NidorinaEvosMoves - dw GeodudeEvosMoves - dw PorygonEvosMoves - dw AerodactylEvosMoves - dw MissingNoACEvosMoves - dw MagnemiteEvosMoves - dw MissingNoAEEvosMoves - dw MissingNoAFEvosMoves - dw CharmanderEvosMoves - dw SquirtleEvosMoves - dw CharmeleonEvosMoves - dw WartortleEvosMoves - dw CharizardEvosMoves - dw MissingNoB5EvosMoves - dw FossilKabutopsEvosMoves - dw FossilAerodactylEvosMoves - dw MonGhostEvosMoves - dw OddishEvosMoves - dw GloomEvosMoves - dw VileplumeEvosMoves - dw BellsproutEvosMoves - dw WeepinbellEvosMoves - dw VictreebelEvosMoves - -RhydonEvosMoves: -; Evolutions - db 0 -; Learnset - db 30, STOMP - db 35, TAIL_WHIP - db 40, FURY_ATTACK - db 48, HORN_DRILL - db 55, LEER - db 64, TAKE_DOWN - db 0 - -KangaskhanEvosMoves: -; Evolutions - db 0 -; Learnset - db 26, BITE - db 31, TAIL_WHIP - db 36, MEGA_PUNCH - db 41, LEER - db 46, DIZZY_PUNCH - db 0 - -NidoranMEvosMoves: -; Evolutions - db EV_LEVEL, 16, NIDORINO - db 0 -; Learnset - db 8, HORN_ATTACK - db 14, POISON_STING - db 21, FOCUS_ENERGY - db 29, FURY_ATTACK - db 36, HORN_DRILL - db 43, DOUBLE_KICK - db 0 - -ClefairyEvosMoves: -; Evolutions - db EV_ITEM, MOON_STONE, 1, CLEFABLE - db 0 -; Learnset - db 13, SING - db 18, DOUBLESLAP - db 24, MINIMIZE - db 31, METRONOME - db 39, DEFENSE_CURL - db 48, LIGHT_SCREEN - db 0 - -SpearowEvosMoves: -; Evolutions - db EV_LEVEL, 20, FEAROW - db 0 -; Learnset - db 9, LEER - db 15, FURY_ATTACK - db 22, MIRROR_MOVE - db 29, DRILL_PECK - db 36, AGILITY - db 0 - -VoltorbEvosMoves: -; Evolutions - db EV_LEVEL, 30, ELECTRODE - db 0 -; Learnset - db 17, SONICBOOM - db 22, SELFDESTRUCT - db 29, LIGHT_SCREEN - db 36, SWIFT - db 43, EXPLOSION - db 0 - -NidokingEvosMoves: -; Evolutions - db 0 -; Learnset - db 8, HORN_ATTACK - db 14, POISON_STING - db 23, THRASH - db 0 - -SlowbroEvosMoves: -; Evolutions - db 0 -; Learnset - db 18, DISABLE - db 22, HEADBUTT - db 27, GROWL - db 33, WATER_GUN - db 37, WITHDRAW - db 44, AMNESIA - db 55, PSYCHIC_M - db 0 - -IvysaurEvosMoves: -; Evolutions - db EV_LEVEL, 32, VENUSAUR - db 0 -; Learnset - db 7, LEECH_SEED - db 13, VINE_WHIP - db 22, POISONPOWDER - db 30, RAZOR_LEAF - db 38, GROWTH - db 46, SLEEP_POWDER - db 54, SOLARBEAM - db 0 - -ExeggutorEvosMoves: -; Evolutions - db 0 -; Learnset - db 28, STOMP - db 0 - -LickitungEvosMoves: -; Evolutions - db 0 -; Learnset - db 7, STOMP - db 15, DISABLE - db 23, DEFENSE_CURL - db 31, SLAM - db 39, SCREECH - db 0 - -ExeggcuteEvosMoves: -; Evolutions - db EV_ITEM, LEAF_STONE, 1, EXEGGUTOR - db 0 -; Learnset - db 25, REFLECT - db 28, LEECH_SEED - db 32, STUN_SPORE - db 37, POISONPOWDER - db 42, SOLARBEAM - db 48, SLEEP_POWDER - db 0 - -GrimerEvosMoves: -; Evolutions - db EV_LEVEL, 38, MUK - db 0 -; Learnset - db 30, POISON_GAS - db 33, MINIMIZE - db 37, SLUDGE - db 42, HARDEN - db 48, SCREECH - db 55, ACID_ARMOR - db 0 - -GengarEvosMoves: -; Evolutions - db 0 -; Learnset - db 29, HYPNOSIS - db 38, DREAM_EATER - db 0 - -NidoranFEvosMoves: -; Evolutions - db EV_LEVEL, 16, NIDORINA - db 0 -; Learnset - db 8, SCRATCH - db 14, POISON_STING - db 21, TAIL_WHIP - db 29, BITE - db 36, FURY_SWIPES - db 43, DOUBLE_KICK - db 0 - -NidoqueenEvosMoves: -; Evolutions - db 0 -; Learnset - db 8, SCRATCH - db 14, POISON_STING - db 23, BODY_SLAM - db 0 - -CuboneEvosMoves: -; Evolutions - db EV_LEVEL, 28, MAROWAK - db 0 -; Learnset - db 25, LEER - db 31, FOCUS_ENERGY - db 38, THRASH - db 43, BONEMERANG - db 46, RAGE - db 0 - -RhyhornEvosMoves: -; Evolutions - db EV_LEVEL, 42, RHYDON - db 0 -; Learnset - db 30, STOMP - db 35, TAIL_WHIP - db 40, FURY_ATTACK - db 45, HORN_DRILL - db 50, LEER - db 55, TAKE_DOWN - db 0 - -LaprasEvosMoves: -; Evolutions - db 0 -; Learnset - db 16, SING - db 20, MIST - db 25, BODY_SLAM - db 31, CONFUSE_RAY - db 38, ICE_BEAM - db 46, HYDRO_PUMP - db 0 - -ArcanineEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MewEvosMoves: -; Evolutions - db 0 -; Learnset - db 10, TRANSFORM - db 20, MEGA_PUNCH - db 30, METRONOME - db 40, PSYCHIC_M - db 0 - -GyaradosEvosMoves: -; Evolutions - db 0 -; Learnset - db 20, BITE - db 25, DRAGON_RAGE - db 32, LEER - db 41, HYDRO_PUMP - db 52, HYPER_BEAM - db 0 - -ShellderEvosMoves: -; Evolutions - db EV_ITEM, WATER_STONE, 1, CLOYSTER - db 0 -; Learnset - db 18, SUPERSONIC - db 23, CLAMP - db 30, AURORA_BEAM - db 39, LEER - db 50, ICE_BEAM - db 0 - -TentacoolEvosMoves: -; Evolutions - db EV_LEVEL, 30, TENTACRUEL - db 0 -; Learnset - db 7, SUPERSONIC - db 13, WRAP - db 18, POISON_STING - db 22, WATER_GUN - db 27, CONSTRICT - db 33, BARRIER - db 40, SCREECH - db 48, HYDRO_PUMP - db 0 - -GastlyEvosMoves: -; Evolutions - db EV_LEVEL, 25, HAUNTER - db 0 -; Learnset - db 27, HYPNOSIS - db 35, DREAM_EATER - db 0 - -ScytherEvosMoves: -; Evolutions - db 0 -; Learnset - db 17, LEER - db 20, FOCUS_ENERGY - db 24, DOUBLE_TEAM - db 29, SLASH - db 35, SWORDS_DANCE - db 42, AGILITY - db 0 - -StaryuEvosMoves: -; Evolutions - db EV_ITEM, WATER_STONE, 1, STARMIE - db 0 -; Learnset - db 17, WATER_GUN - db 22, HARDEN - db 27, RECOVER - db 32, SWIFT - db 37, MINIMIZE - db 42, LIGHT_SCREEN - db 47, HYDRO_PUMP - db 0 - -BlastoiseEvosMoves: -; Evolutions - db 0 -; Learnset - db 8, BUBBLE - db 15, WATER_GUN - db 24, BITE - db 31, WITHDRAW - db 42, SKULL_BASH - db 52, HYDRO_PUMP - db 0 - -PinsirEvosMoves: -; Evolutions - db 0 -; Learnset - db 25, SEISMIC_TOSS - db 30, GUILLOTINE - db 36, FOCUS_ENERGY - db 43, HARDEN - db 49, SLASH - db 54, SWORDS_DANCE - db 0 - -TangelaEvosMoves: -; Evolutions - db 0 -; Learnset - db 29, ABSORB - db 32, POISONPOWDER - db 36, STUN_SPORE - db 39, SLEEP_POWDER - db 45, SLAM - db 49, GROWTH - db 0 - -MissingNo1FEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MissingNo20EvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -GrowlitheEvosMoves: -; Evolutions - db EV_ITEM, FIRE_STONE, 1, ARCANINE - db 0 -; Learnset - db 18, EMBER - db 23, LEER - db 30, TAKE_DOWN - db 39, AGILITY - db 50, FLAMETHROWER - db 0 - -OnixEvosMoves: -; Evolutions - db 0 -; Learnset - db 15, BIND - db 19, ROCK_THROW - db 25, RAGE - db 33, SLAM - db 43, HARDEN - db 0 - -FearowEvosMoves: -; Evolutions - db 0 -; Learnset - db 9, LEER - db 15, FURY_ATTACK - db 25, MIRROR_MOVE - db 34, DRILL_PECK - db 43, AGILITY - db 0 - -PidgeyEvosMoves: -; Evolutions - db EV_LEVEL, 18, PIDGEOTTO - db 0 -; Learnset - db 5, SAND_ATTACK - db 12, QUICK_ATTACK - db 19, WHIRLWIND - db 28, WING_ATTACK - db 36, AGILITY - db 44, MIRROR_MOVE - db 0 - -SlowpokeEvosMoves: -; Evolutions - db EV_LEVEL, 37, SLOWBRO - db 0 -; Learnset - db 18, DISABLE - db 22, HEADBUTT - db 27, GROWL - db 33, WATER_GUN - db 40, AMNESIA - db 48, PSYCHIC_M - db 0 - -KadabraEvosMoves: -; Evolutions - db EV_TRADE, 1, ALAKAZAM - db 0 -; Learnset - db 16, CONFUSION - db 20, DISABLE - db 27, PSYBEAM - db 31, RECOVER - db 38, PSYCHIC_M - db 42, REFLECT - db 0 - -GravelerEvosMoves: -; Evolutions - db EV_TRADE, 1, GOLEM - db 0 -; Learnset - db 11, DEFENSE_CURL - db 16, ROCK_THROW - db 21, SELFDESTRUCT - db 29, HARDEN - db 36, EARTHQUAKE - db 43, EXPLOSION - db 0 - -ChanseyEvosMoves: -; Evolutions - db 0 -; Learnset - db 24, SING - db 30, GROWL - db 38, MINIMIZE - db 44, DEFENSE_CURL - db 48, LIGHT_SCREEN - db 54, DOUBLE_EDGE - db 0 - -MachokeEvosMoves: -; Evolutions - db EV_TRADE, 1, MACHAMP - db 0 -; Learnset - db 20, LOW_KICK - db 25, LEER - db 36, FOCUS_ENERGY - db 44, SEISMIC_TOSS - db 52, SUBMISSION - db 0 - -MrMimeEvosMoves: -; Evolutions - db 0 -; Learnset - db 15, CONFUSION - db 23, LIGHT_SCREEN - db 31, DOUBLESLAP - db 39, MEDITATE - db 47, SUBSTITUTE - db 0 - -HitmonleeEvosMoves: -; Evolutions - db 0 -; Learnset - db 33, ROLLING_KICK - db 38, JUMP_KICK - db 43, FOCUS_ENERGY - db 48, HI_JUMP_KICK - db 53, MEGA_KICK - db 0 - -HitmonchanEvosMoves: -; Evolutions - db 0 -; Learnset - db 33, FIRE_PUNCH - db 38, ICE_PUNCH - db 43, THUNDERPUNCH - db 48, MEGA_PUNCH - db 53, COUNTER - db 0 - -ArbokEvosMoves: -; Evolutions - db 0 -; Learnset - db 10, POISON_STING - db 17, BITE - db 27, GLARE - db 36, SCREECH - db 47, ACID - db 0 - -ParasectEvosMoves: -; Evolutions - db 0 -; Learnset - db 13, STUN_SPORE - db 20, LEECH_LIFE - db 30, SPORE - db 39, SLASH - db 48, GROWTH - db 0 - -PsyduckEvosMoves: -; Evolutions - db EV_LEVEL, 33, GOLDUCK - db 0 -; Learnset - db 28, TAIL_WHIP - db 31, DISABLE - db 36, CONFUSION - db 43, FURY_SWIPES - db 52, HYDRO_PUMP - db 0 - -DrowzeeEvosMoves: -; Evolutions - db EV_LEVEL, 26, HYPNO - db 0 -; Learnset - db 12, DISABLE - db 17, CONFUSION - db 24, HEADBUTT - db 29, POISON_GAS - db 32, PSYCHIC_M - db 37, MEDITATE - db 0 - -GolemEvosMoves: -; Evolutions - db 0 -; Learnset - db 11, DEFENSE_CURL - db 16, ROCK_THROW - db 21, SELFDESTRUCT - db 29, HARDEN - db 36, EARTHQUAKE - db 43, EXPLOSION - db 0 - -MissingNo32EvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MagmarEvosMoves: -; Evolutions - db 0 -; Learnset - db 36, LEER - db 39, CONFUSE_RAY - db 43, FIRE_PUNCH - db 48, SMOKESCREEN - db 52, SMOG - db 55, FLAMETHROWER - db 0 - -MissingNo34EvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -ElectabuzzEvosMoves: -; Evolutions - db 0 -; Learnset - db 34, THUNDERSHOCK - db 37, SCREECH - db 42, THUNDERPUNCH - db 49, LIGHT_SCREEN - db 54, THUNDER - db 0 - -MagnetonEvosMoves: -; Evolutions - db 0 -; Learnset - db 21, SONICBOOM - db 25, THUNDERSHOCK - db 29, SUPERSONIC - db 38, THUNDER_WAVE - db 46, SWIFT - db 54, SCREECH - db 0 - -KoffingEvosMoves: -; Evolutions - db EV_LEVEL, 35, WEEZING - db 0 -; Learnset - db 32, SLUDGE - db 37, SMOKESCREEN - db 40, SELFDESTRUCT - db 45, HAZE - db 48, EXPLOSION - db 0 - -MissingNo38EvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MankeyEvosMoves: -; Evolutions - db EV_LEVEL, 28, PRIMEAPE - db 0 -; Learnset - db 15, KARATE_CHOP - db 21, FURY_SWIPES - db 27, FOCUS_ENERGY - db 33, SEISMIC_TOSS - db 39, THRASH - db 0 - -SeelEvosMoves: -; Evolutions - db EV_LEVEL, 34, DEWGONG - db 0 -; Learnset - db 30, GROWL - db 35, AURORA_BEAM - db 40, REST - db 45, TAKE_DOWN - db 50, ICE_BEAM - db 0 - -DiglettEvosMoves: -; Evolutions - db EV_LEVEL, 26, DUGTRIO - db 0 -; Learnset - db 15, GROWL - db 19, DIG - db 24, SAND_ATTACK - db 31, SLASH - db 40, EARTHQUAKE - db 0 - -TaurosEvosMoves: -; Evolutions - db 0 -; Learnset - db 21, STOMP - db 28, TAIL_WHIP - db 35, LEER - db 44, RAGE - db 51, TAKE_DOWN - db 0 - -MissingNo3DEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MissingNo3EEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MissingNo3FEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -FarfetchdEvosMoves: -; Evolutions - db 0 -; Learnset - db 7, LEER - db 15, FURY_ATTACK - db 23, SWORDS_DANCE - db 31, AGILITY - db 39, SLASH - db 0 - -VenonatEvosMoves: -; Evolutions - db EV_LEVEL, 31, VENOMOTH - db 0 -; Learnset - db 24, POISONPOWDER - db 27, LEECH_LIFE - db 30, STUN_SPORE - db 35, PSYBEAM - db 38, SLEEP_POWDER - db 43, PSYCHIC_M - db 0 - -DragoniteEvosMoves: -; Evolutions - db 0 -; Learnset - db 10, THUNDER_WAVE - db 20, AGILITY - db 35, SLAM - db 45, DRAGON_RAGE - db 60, HYPER_BEAM - db 0 - -MissingNo43EvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MissingNo44EvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MissingNo45EvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -DoduoEvosMoves: -; Evolutions - db EV_LEVEL, 31, DODRIO - db 0 -; Learnset - db 20, GROWL - db 24, FURY_ATTACK - db 30, DRILL_PECK - db 36, RAGE - db 40, TRI_ATTACK - db 44, AGILITY - db 0 - -PoliwagEvosMoves: -; Evolutions - db EV_LEVEL, 25, POLIWHIRL - db 0 -; Learnset - db 16, HYPNOSIS - db 19, WATER_GUN - db 25, DOUBLESLAP - db 31, BODY_SLAM - db 38, AMNESIA - db 45, HYDRO_PUMP - db 0 - -JynxEvosMoves: -; Evolutions - db 0 -; Learnset - db 18, LICK - db 23, DOUBLESLAP - db 31, ICE_PUNCH - db 39, BODY_SLAM - db 47, THRASH - db 58, BLIZZARD - db 0 - -MoltresEvosMoves: -; Evolutions - db 0 -; Learnset - db 51, LEER - db 55, AGILITY - db 60, SKY_ATTACK - db 0 - -ArticunoEvosMoves: -; Evolutions - db 0 -; Learnset - db 51, BLIZZARD - db 55, AGILITY - db 60, MIST - db 0 - -ZapdosEvosMoves: -; Evolutions - db 0 -; Learnset - db 51, THUNDER - db 55, AGILITY - db 60, LIGHT_SCREEN - db 0 - -DittoEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MeowthEvosMoves: -; Evolutions - db EV_LEVEL, 28, PERSIAN - db 0 -; Learnset - db 12, BITE - db 17, PAY_DAY - db 24, SCREECH - db 33, FURY_SWIPES - db 44, SLASH - db 0 - -KrabbyEvosMoves: -; Evolutions - db EV_LEVEL, 28, KINGLER - db 0 -; Learnset - db 20, VICEGRIP - db 25, GUILLOTINE - db 30, STOMP - db 35, CRABHAMMER - db 40, HARDEN - db 0 - -MissingNo4FEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MissingNo50EvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MissingNo51EvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -VulpixEvosMoves: -; Evolutions - db EV_ITEM, FIRE_STONE, 1, NINETALES - db 0 -; Learnset - db 16, QUICK_ATTACK - db 21, ROAR - db 28, CONFUSE_RAY - db 35, FLAMETHROWER - db 42, FIRE_SPIN - db 0 - -NinetalesEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -PikachuEvosMoves: -; Evolutions - db EV_ITEM, THUNDER_STONE, 1, RAICHU - db 0 -; Learnset - db 9, THUNDER_WAVE - db 16, QUICK_ATTACK - db 26, SWIFT - db 33, AGILITY - db 43, THUNDER - db 0 - -RaichuEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MissingNo56EvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MissingNo57EvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -DratiniEvosMoves: -; Evolutions - db EV_LEVEL, 30, DRAGONAIR - db 0 -; Learnset - db 10, THUNDER_WAVE - db 20, AGILITY - db 30, SLAM - db 40, DRAGON_RAGE - db 50, HYPER_BEAM - db 0 - -DragonairEvosMoves: -; Evolutions - db EV_LEVEL, 55, DRAGONITE - db 0 -; Learnset - db 10, THUNDER_WAVE - db 20, AGILITY - db 35, SLAM - db 45, DRAGON_RAGE - db 55, HYPER_BEAM - db 0 - -KabutoEvosMoves: -; Evolutions - db EV_LEVEL, 40, KABUTOPS - db 0 -; Learnset - db 34, ABSORB - db 39, SLASH - db 44, LEER - db 49, HYDRO_PUMP - db 0 - -KabutopsEvosMoves: -; Evolutions - db 0 -; Learnset - db 34, ABSORB - db 39, SLASH - db 46, LEER - db 53, HYDRO_PUMP - db 0 - -HorseaEvosMoves: -; Evolutions - db EV_LEVEL, 32, SEADRA - db 0 -; Learnset - db 19, SMOKESCREEN - db 24, LEER - db 30, WATER_GUN - db 37, AGILITY - db 45, HYDRO_PUMP - db 0 - -SeadraEvosMoves: -; Evolutions - db 0 -; Learnset - db 19, SMOKESCREEN - db 24, LEER - db 30, WATER_GUN - db 41, AGILITY - db 52, HYDRO_PUMP - db 0 - -MissingNo5EEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MissingNo5FEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -SandshrewEvosMoves: -; Evolutions - db EV_LEVEL, 22, SANDSLASH - db 0 -; Learnset - db 10, SAND_ATTACK - db 17, SLASH - db 24, POISON_STING - db 31, SWIFT - db 38, FURY_SWIPES - db 0 - -SandslashEvosMoves: -; Evolutions - db 0 -; Learnset - db 10, SAND_ATTACK - db 17, SLASH - db 27, POISON_STING - db 36, SWIFT - db 47, FURY_SWIPES - db 0 - -OmanyteEvosMoves: -; Evolutions - db EV_LEVEL, 40, OMASTAR - db 0 -; Learnset - db 34, HORN_ATTACK - db 39, LEER - db 46, SPIKE_CANNON - db 53, HYDRO_PUMP - db 0 - -OmastarEvosMoves: -; Evolutions - db 0 -; Learnset - db 34, HORN_ATTACK - db 39, LEER - db 44, SPIKE_CANNON - db 49, HYDRO_PUMP - db 0 - -JigglypuffEvosMoves: -; Evolutions - db EV_ITEM, MOON_STONE, 1, WIGGLYTUFF - db 0 -; Learnset - db 9, POUND - db 14, DISABLE - db 19, DEFENSE_CURL - db 24, DOUBLESLAP - db 29, REST - db 34, BODY_SLAM - db 39, DOUBLE_EDGE - db 0 - -WigglytuffEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -EeveeEvosMoves: -; Evolutions - db EV_ITEM, FIRE_STONE, 1, FLAREON - db EV_ITEM, THUNDER_STONE, 1, JOLTEON - db EV_ITEM, WATER_STONE, 1, VAPOREON - db 0 -; Learnset - db 27, QUICK_ATTACK - db 31, TAIL_WHIP - db 37, BITE - db 45, TAKE_DOWN - db 0 - -FlareonEvosMoves: -; Evolutions - db 0 -; Learnset - db 27, QUICK_ATTACK - db 31, EMBER - db 37, TAIL_WHIP - db 40, BITE - db 42, LEER - db 44, FIRE_SPIN - db 48, RAGE - db 54, FLAMETHROWER - db 0 - -JolteonEvosMoves: -; Evolutions - db 0 -; Learnset - db 27, QUICK_ATTACK - db 31, THUNDERSHOCK - db 37, TAIL_WHIP - db 40, THUNDER_WAVE - db 42, DOUBLE_KICK - db 44, AGILITY - db 48, PIN_MISSILE - db 54, THUNDER - db 0 - -VaporeonEvosMoves: -; Evolutions - db 0 -; Learnset - db 27, QUICK_ATTACK - db 31, WATER_GUN - db 37, TAIL_WHIP - db 40, BITE - db 42, ACID_ARMOR - db 44, HAZE - db 48, MIST - db 54, HYDRO_PUMP - db 0 - -MachopEvosMoves: -; Evolutions - db EV_LEVEL, 28, MACHOKE - db 0 -; Learnset - db 20, LOW_KICK - db 25, LEER - db 32, FOCUS_ENERGY - db 39, SEISMIC_TOSS - db 46, SUBMISSION - db 0 - -ZubatEvosMoves: -; Evolutions - db EV_LEVEL, 22, GOLBAT - db 0 -; Learnset - db 10, SUPERSONIC - db 15, BITE - db 21, CONFUSE_RAY - db 28, WING_ATTACK - db 36, HAZE - db 0 - -EkansEvosMoves: -; Evolutions - db EV_LEVEL, 22, ARBOK - db 0 -; Learnset - db 10, POISON_STING - db 17, BITE - db 24, GLARE - db 31, SCREECH - db 38, ACID - db 0 - -ParasEvosMoves: -; Evolutions - db EV_LEVEL, 24, PARASECT - db 0 -; Learnset - db 13, STUN_SPORE - db 20, LEECH_LIFE - db 27, SPORE - db 34, SLASH - db 41, GROWTH - db 0 - -PoliwhirlEvosMoves: -; Evolutions - db EV_ITEM, WATER_STONE, 1, POLIWRATH - db 0 -; Learnset - db 16, HYPNOSIS - db 19, WATER_GUN - db 26, DOUBLESLAP - db 33, BODY_SLAM - db 41, AMNESIA - db 49, HYDRO_PUMP - db 0 - -PoliwrathEvosMoves: -; Evolutions - db 0 -; Learnset - db 16, HYPNOSIS - db 19, WATER_GUN - db 0 - -WeedleEvosMoves: -; Evolutions - db EV_LEVEL, 7, KAKUNA - db 0 -; Learnset - db 0 - -KakunaEvosMoves: -; Evolutions - db EV_LEVEL, 10, BEEDRILL - db 0 -; Learnset - db 0 - -BeedrillEvosMoves: -; Evolutions - db 0 -; Learnset - db 12, FURY_ATTACK - db 16, FOCUS_ENERGY - db 20, TWINEEDLE - db 25, RAGE - db 30, PIN_MISSILE - db 35, AGILITY - db 0 - -MissingNo73EvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -DodrioEvosMoves: -; Evolutions - db 0 -; Learnset - db 20, GROWL - db 24, FURY_ATTACK - db 30, DRILL_PECK - db 39, RAGE - db 45, TRI_ATTACK - db 51, AGILITY - db 0 - -PrimeapeEvosMoves: -; Evolutions - db 0 -; Learnset - db 15, KARATE_CHOP - db 21, FURY_SWIPES - db 27, FOCUS_ENERGY - db 37, SEISMIC_TOSS - db 46, THRASH - db 0 - -DugtrioEvosMoves: -; Evolutions - db 0 -; Learnset - db 15, GROWL - db 19, DIG - db 24, SAND_ATTACK - db 35, SLASH - db 47, EARTHQUAKE - db 0 - -VenomothEvosMoves: -; Evolutions - db 0 -; Learnset - db 24, POISONPOWDER - db 27, LEECH_LIFE - db 30, STUN_SPORE - db 38, PSYBEAM - db 43, SLEEP_POWDER - db 50, PSYCHIC_M - db 0 - -DewgongEvosMoves: -; Evolutions - db 0 -; Learnset - db 30, GROWL - db 35, AURORA_BEAM - db 44, REST - db 50, TAKE_DOWN - db 56, ICE_BEAM - db 0 - -MissingNo79EvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MissingNo7AEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -CaterpieEvosMoves: -; Evolutions - db EV_LEVEL, 7, METAPOD - db 0 -; Learnset - db 0 - -MetapodEvosMoves: -; Evolutions - db EV_LEVEL, 10, BUTTERFREE - db 0 -; Learnset - db 0 - -ButterfreeEvosMoves: -; Evolutions - db 0 -; Learnset - db 12, CONFUSION - db 15, POISONPOWDER - db 16, STUN_SPORE - db 17, SLEEP_POWDER - db 21, SUPERSONIC - db 26, WHIRLWIND - db 32, PSYBEAM - db 0 - -MachampEvosMoves: -; Evolutions - db 0 -; Learnset - db 20, LOW_KICK - db 25, LEER - db 36, FOCUS_ENERGY - db 44, SEISMIC_TOSS - db 52, SUBMISSION - db 0 - -MissingNo7FEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -GolduckEvosMoves: -; Evolutions - db 0 -; Learnset - db 28, TAIL_WHIP - db 31, DISABLE - db 39, CONFUSION - db 48, FURY_SWIPES - db 59, HYDRO_PUMP - db 0 - -HypnoEvosMoves: -; Evolutions - db 0 -; Learnset - db 12, DISABLE - db 17, CONFUSION - db 24, HEADBUTT - db 33, POISON_GAS - db 37, PSYCHIC_M - db 43, MEDITATE - db 0 - -GolbatEvosMoves: -; Evolutions - db 0 -; Learnset - db 10, SUPERSONIC - db 15, BITE - db 21, CONFUSE_RAY - db 32, WING_ATTACK - db 43, HAZE - db 0 - -MewtwoEvosMoves: -; Evolutions - db 0 -; Learnset - db 63, BARRIER - db 66, PSYCHIC_M - db 70, RECOVER - db 75, MIST - db 81, AMNESIA - db 0 - -SnorlaxEvosMoves: -; Evolutions - db 0 -; Learnset - db 35, BODY_SLAM - db 41, HARDEN - db 48, DOUBLE_EDGE - db 56, HYPER_BEAM - db 0 - -MagikarpEvosMoves: -; Evolutions - db EV_LEVEL, 20, GYARADOS - db 0 -; Learnset - db 15, TACKLE - db 0 - -MissingNo86EvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MissingNo87EvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MukEvosMoves: -; Evolutions - db 0 -; Learnset - db 30, POISON_GAS - db 33, MINIMIZE - db 37, SLUDGE - db 45, HARDEN - db 53, SCREECH - db 60, ACID_ARMOR - db 0 - -MissingNo8AEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -KinglerEvosMoves: -; Evolutions - db 0 -; Learnset - db 20, VICEGRIP - db 25, GUILLOTINE - db 34, STOMP - db 42, CRABHAMMER - db 49, HARDEN - db 0 - -CloysterEvosMoves: -; Evolutions - db 0 -; Learnset - db 50, SPIKE_CANNON - db 0 - -MissingNo8CEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -ElectrodeEvosMoves: -; Evolutions - db 0 -; Learnset - db 17, SONICBOOM - db 22, SELFDESTRUCT - db 29, LIGHT_SCREEN - db 40, SWIFT - db 50, EXPLOSION - db 0 - -ClefableEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -WeezingEvosMoves: -; Evolutions - db 0 -; Learnset - db 32, SLUDGE - db 39, SMOKESCREEN - db 43, SELFDESTRUCT - db 49, HAZE - db 53, EXPLOSION - db 0 - -PersianEvosMoves: -; Evolutions - db 0 -; Learnset - db 12, BITE - db 17, PAY_DAY - db 24, SCREECH - db 37, FURY_SWIPES - db 51, SLASH - db 0 - -MarowakEvosMoves: -; Evolutions - db 0 -; Learnset - db 25, LEER - db 33, FOCUS_ENERGY - db 41, THRASH - db 48, BONEMERANG - db 55, RAGE - db 0 - -MissingNo92EvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -HaunterEvosMoves: -; Evolutions - db EV_TRADE, 1, GENGAR - db 0 -; Learnset - db 29, HYPNOSIS - db 38, DREAM_EATER - db 0 - -AbraEvosMoves: -; Evolutions - db EV_LEVEL, 16, KADABRA - db 0 -; Learnset - db 0 - -AlakazamEvosMoves: -; Evolutions - db 0 -; Learnset - db 16, CONFUSION - db 20, DISABLE - db 27, PSYBEAM - db 31, RECOVER - db 38, PSYCHIC_M - db 42, REFLECT - db 0 - -PidgeottoEvosMoves: -; Evolutions - db EV_LEVEL, 36, PIDGEOT - db 0 -; Learnset - db 5, SAND_ATTACK - db 12, QUICK_ATTACK - db 21, WHIRLWIND - db 31, WING_ATTACK - db 40, AGILITY - db 49, MIRROR_MOVE - db 0 - -PidgeotEvosMoves: -; Evolutions - db 0 -; Learnset - db 5, SAND_ATTACK - db 12, QUICK_ATTACK - db 21, WHIRLWIND - db 31, WING_ATTACK - db 44, AGILITY - db 54, MIRROR_MOVE - db 0 - -StarmieEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -BulbasaurEvosMoves: -; Evolutions - db EV_LEVEL, 16, IVYSAUR - db 0 -; Learnset - db 7, LEECH_SEED - db 13, VINE_WHIP - db 20, POISONPOWDER - db 27, RAZOR_LEAF - db 34, GROWTH - db 41, SLEEP_POWDER - db 48, SOLARBEAM - db 0 - -VenusaurEvosMoves: -; Evolutions - db 0 -; Learnset - db 7, LEECH_SEED - db 13, VINE_WHIP - db 22, POISONPOWDER - db 30, RAZOR_LEAF - db 43, GROWTH - db 55, SLEEP_POWDER - db 65, SOLARBEAM - db 0 - -TentacruelEvosMoves: -; Evolutions - db 0 -; Learnset - db 7, SUPERSONIC - db 13, WRAP - db 18, POISON_STING - db 22, WATER_GUN - db 27, CONSTRICT - db 35, BARRIER - db 43, SCREECH - db 50, HYDRO_PUMP - db 0 - -MissingNo9CEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -GoldeenEvosMoves: -; Evolutions - db EV_LEVEL, 33, SEAKING - db 0 -; Learnset - db 19, SUPERSONIC - db 24, HORN_ATTACK - db 30, FURY_ATTACK - db 37, WATERFALL - db 45, HORN_DRILL - db 54, AGILITY - db 0 - -SeakingEvosMoves: -; Evolutions - db 0 -; Learnset - db 19, SUPERSONIC - db 24, HORN_ATTACK - db 30, FURY_ATTACK - db 39, WATERFALL - db 48, HORN_DRILL - db 54, AGILITY - db 0 - -MissingNo9FEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MissingNoA0EvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MissingNoA1EvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MissingNoA2EvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -PonytaEvosMoves: -; Evolutions - db EV_LEVEL, 40, RAPIDASH - db 0 -; Learnset - db 30, TAIL_WHIP - db 32, STOMP - db 35, GROWL - db 39, FIRE_SPIN - db 43, TAKE_DOWN - db 48, AGILITY - db 0 - -RapidashEvosMoves: -; Evolutions - db 0 -; Learnset - db 30, TAIL_WHIP - db 32, STOMP - db 35, GROWL - db 39, FIRE_SPIN - db 47, TAKE_DOWN - db 55, AGILITY - db 0 - -RattataEvosMoves: -; Evolutions - db EV_LEVEL, 20, RATICATE - db 0 -; Learnset - db 7, QUICK_ATTACK - db 14, HYPER_FANG - db 23, FOCUS_ENERGY - db 34, SUPER_FANG - db 0 - -RaticateEvosMoves: -; Evolutions - db 0 -; Learnset - db 7, QUICK_ATTACK - db 14, HYPER_FANG - db 27, FOCUS_ENERGY - db 41, SUPER_FANG - db 0 - -NidorinoEvosMoves: -; Evolutions - db EV_ITEM, MOON_STONE, 1, NIDOKING - db 0 -; Learnset - db 8, HORN_ATTACK - db 14, POISON_STING - db 23, FOCUS_ENERGY - db 32, FURY_ATTACK - db 41, HORN_DRILL - db 50, DOUBLE_KICK - db 0 - -NidorinaEvosMoves: -; Evolutions - db EV_ITEM, MOON_STONE, 1, NIDOQUEEN - db 0 -; Learnset - db 8, SCRATCH - db 14, POISON_STING - db 23, TAIL_WHIP - db 32, BITE - db 41, FURY_SWIPES - db 50, DOUBLE_KICK - db 0 - -GeodudeEvosMoves: -; Evolutions - db EV_LEVEL, 25, GRAVELER - db 0 -; Learnset - db 11, DEFENSE_CURL - db 16, ROCK_THROW - db 21, SELFDESTRUCT - db 26, HARDEN - db 31, EARTHQUAKE - db 36, EXPLOSION - db 0 - -PorygonEvosMoves: -; Evolutions - db 0 -; Learnset - db 23, PSYBEAM - db 28, RECOVER - db 35, AGILITY - db 42, TRI_ATTACK - db 0 - -AerodactylEvosMoves: -; Evolutions - db 0 -; Learnset - db 33, SUPERSONIC - db 38, BITE - db 45, TAKE_DOWN - db 54, HYPER_BEAM - db 0 - -MissingNoACEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MagnemiteEvosMoves: -; Evolutions - db EV_LEVEL, 30, MAGNETON - db 0 -; Learnset - db 21, SONICBOOM - db 25, THUNDERSHOCK - db 29, SUPERSONIC - db 35, THUNDER_WAVE - db 41, SWIFT - db 47, SCREECH - db 0 - -MissingNoAEEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MissingNoAFEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -CharmanderEvosMoves: -; Evolutions - db EV_LEVEL, 16, CHARMELEON - db 0 -; Learnset - db 9, EMBER - db 15, LEER - db 22, RAGE - db 30, SLASH - db 38, FLAMETHROWER - db 46, FIRE_SPIN - db 0 - -SquirtleEvosMoves: -; Evolutions - db EV_LEVEL, 16, WARTORTLE - db 0 -; Learnset - db 8, BUBBLE - db 15, WATER_GUN - db 22, BITE - db 28, WITHDRAW - db 35, SKULL_BASH - db 42, HYDRO_PUMP - db 0 - -CharmeleonEvosMoves: -; Evolutions - db EV_LEVEL, 36, CHARIZARD - db 0 -; Learnset - db 9, EMBER - db 15, LEER - db 24, RAGE - db 33, SLASH - db 42, FLAMETHROWER - db 56, FIRE_SPIN - db 0 - -WartortleEvosMoves: -; Evolutions - db EV_LEVEL, 36, BLASTOISE - db 0 -; Learnset - db 8, BUBBLE - db 15, WATER_GUN - db 24, BITE - db 31, WITHDRAW - db 39, SKULL_BASH - db 47, HYDRO_PUMP - db 0 - -CharizardEvosMoves: -; Evolutions - db 0 -; Learnset - db 9, EMBER - db 15, LEER - db 24, RAGE - db 36, SLASH - db 46, FLAMETHROWER - db 55, FIRE_SPIN - db 0 - -MissingNoB5EvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -FossilKabutopsEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -FossilAerodactylEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MonGhostEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -OddishEvosMoves: -; Evolutions - db EV_LEVEL, 21, GLOOM - db 0 -; Learnset - db 15, POISONPOWDER - db 17, STUN_SPORE - db 19, SLEEP_POWDER - db 24, ACID - db 33, PETAL_DANCE - db 46, SOLARBEAM - db 0 - -GloomEvosMoves: -; Evolutions - db EV_ITEM, LEAF_STONE, 1, VILEPLUME - db 0 -; Learnset - db 15, POISONPOWDER - db 17, STUN_SPORE - db 19, SLEEP_POWDER - db 28, ACID - db 38, PETAL_DANCE - db 52, SOLARBEAM - db 0 - -VileplumeEvosMoves: -; Evolutions - db 0 -; Learnset - db 15, POISONPOWDER - db 17, STUN_SPORE - db 19, SLEEP_POWDER - db 0 - -BellsproutEvosMoves: -; Evolutions - db EV_LEVEL, 21, WEEPINBELL - db 0 -; Learnset - db 13, WRAP - db 15, POISONPOWDER - db 18, SLEEP_POWDER - db 21, STUN_SPORE - db 26, ACID - db 33, RAZOR_LEAF - db 42, SLAM - db 0 - -WeepinbellEvosMoves: -; Evolutions - db EV_ITEM, LEAF_STONE, 1, VICTREEBEL - db 0 -; Learnset - db 13, WRAP - db 15, POISONPOWDER - db 18, SLEEP_POWDER - db 23, STUN_SPORE - db 29, ACID - db 38, RAZOR_LEAF - db 49, SLAM - db 0 - -VictreebelEvosMoves: -; Evolutions - db 0 -; Learnset - db 13, WRAP - db 15, POISONPOWDER - db 18, SLEEP_POWDER - db 0 diff --git a/data/facing.asm b/data/facing.asm deleted file mode 100644 index c412247a..00000000 --- a/data/facing.asm +++ /dev/null @@ -1,57 +0,0 @@ -SpriteFacingAndAnimationTable: - dw SpriteFacingDownAndStanding, SpriteOAMParameters ; facing down, walk animation frame 0 - dw SpriteFacingDownAndWalking, SpriteOAMParameters ; facing down, walk animation frame 1 - dw SpriteFacingDownAndStanding, SpriteOAMParameters ; facing down, walk animation frame 2 - dw SpriteFacingDownAndWalking, SpriteOAMParametersFlipped ; facing down, walk animation frame 3 - dw SpriteFacingUpAndStanding, SpriteOAMParameters ; facing up, walk animation frame 0 - dw SpriteFacingUpAndWalking, SpriteOAMParameters ; facing up, walk animation frame 1 - dw SpriteFacingUpAndStanding, SpriteOAMParameters ; facing up, walk animation frame 2 - dw SpriteFacingUpAndWalking, SpriteOAMParametersFlipped ; facing up, walk animation frame 3 - dw SpriteFacingLeftAndStanding, SpriteOAMParameters ; facing left, walk animation frame 0 - dw SpriteFacingLeftAndWalking, SpriteOAMParameters ; facing left, walk animation frame 1 - dw SpriteFacingLeftAndStanding, SpriteOAMParameters ; facing left, walk animation frame 2 - dw SpriteFacingLeftAndWalking, SpriteOAMParameters ; facing left, walk animation frame 3 - dw SpriteFacingLeftAndStanding, SpriteOAMParametersFlipped ; facing right, walk animation frame 0 - dw SpriteFacingLeftAndWalking, SpriteOAMParametersFlipped ; facing right, walk animation frame 1 - dw SpriteFacingLeftAndStanding, SpriteOAMParametersFlipped ; facing right, walk animation frame 2 - dw SpriteFacingLeftAndWalking, SpriteOAMParametersFlipped ; facing right, walk animation frame 3 - dw SpriteFacingDownAndStanding, SpriteOAMParameters ; --- - dw SpriteFacingDownAndStanding, SpriteOAMParameters ; This table is used for sprites $a and $b. - dw SpriteFacingDownAndStanding, SpriteOAMParameters ; All orientation and animation parameters - dw SpriteFacingDownAndStanding, SpriteOAMParameters ; lead to the same result. Used for immobile - dw SpriteFacingDownAndStanding, SpriteOAMParameters ; sprites like items on the ground - dw SpriteFacingDownAndStanding, SpriteOAMParameters ; --- - dw SpriteFacingDownAndStanding, SpriteOAMParameters - dw SpriteFacingDownAndStanding, SpriteOAMParameters - dw SpriteFacingDownAndStanding, SpriteOAMParameters - dw SpriteFacingDownAndStanding, SpriteOAMParameters - dw SpriteFacingDownAndStanding, SpriteOAMParameters - dw SpriteFacingDownAndStanding, SpriteOAMParameters - dw SpriteFacingDownAndStanding, SpriteOAMParameters - dw SpriteFacingDownAndStanding, SpriteOAMParameters - dw SpriteFacingDownAndStanding, SpriteOAMParameters - dw SpriteFacingDownAndStanding, SpriteOAMParameters - -SpriteFacingDownAndStanding: - db $00,$01,$02,$03 -SpriteFacingDownAndWalking: - db $80,$81,$82,$83 -SpriteFacingUpAndStanding: - db $04,$05,$06,$07 -SpriteFacingUpAndWalking: - db $84,$85,$86,$87 -SpriteFacingLeftAndStanding: - db $08,$09,$0a,$0b -SpriteFacingLeftAndWalking: - db $88,$89,$8a,$8b - -SpriteOAMParameters: - db $00,$00, $00 ; top left - db $00,$08, $00 ; top right - db $08,$00, OAMFLAG_CANBEMASKED ; bottom left - db $08,$08, OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA ; bottom right -SpriteOAMParametersFlipped: - db $00,$08, OAMFLAG_VFLIPPED - db $00,$00, OAMFLAG_VFLIPPED - db $08,$08, OAMFLAG_VFLIPPED | OAMFLAG_CANBEMASKED - db $08,$00, OAMFLAG_VFLIPPED | OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA diff --git a/data/force_bike_surf.asm b/data/force_bike_surf.asm deleted file mode 100755 index fb352aa9..00000000 --- a/data/force_bike_surf.asm +++ /dev/null @@ -1,11 +0,0 @@ -ForcedBikeOrSurfMaps: -; map id, y, x - db ROUTE_16,$0A,$11 - db ROUTE_16,$0B,$11 - db ROUTE_18,$08,$21 - db ROUTE_18,$09,$21 - db SEAFOAM_ISLANDS_B3F,$07,$12 - db SEAFOAM_ISLANDS_B3F,$07,$13 - db SEAFOAM_ISLANDS_B4F,$0E,$04 - db SEAFOAM_ISLANDS_B4F,$0E,$05 - db $FF ;end diff --git a/data/good_rod.asm b/data/good_rod.asm deleted file mode 100755 index 6c23f402..00000000 --- a/data/good_rod.asm +++ /dev/null @@ -1,3 +0,0 @@ -GoodRodMons: - db 10,GOLDEEN - db 10,POLIWAG diff --git a/data/guard_drink_items.asm b/data/guard_drink_items.asm deleted file mode 100644 index effef203..00000000 --- a/data/guard_drink_items.asm +++ /dev/null @@ -1,2 +0,0 @@ -GuardDrinksList: - db FRESH_WATER, SODA_POP, LEMONADE, $00 diff --git a/data/hidden_coins.asm b/data/hidden_coins.asm deleted file mode 100755 index b7358572..00000000 --- a/data/hidden_coins.asm +++ /dev/null @@ -1,14 +0,0 @@ -HiddenCoinCoords: - db GAME_CORNER,$08,$00 - db GAME_CORNER,$10,$01 - db GAME_CORNER,$0b,$03 - db GAME_CORNER,$0e,$03 - db GAME_CORNER,$0c,$04 - db GAME_CORNER,$0c,$09 - db GAME_CORNER,$0f,$09 - db GAME_CORNER,$0e,$10 - db GAME_CORNER,$10,$0a - db GAME_CORNER,$07,$0b - db GAME_CORNER,$08,$0f - db GAME_CORNER,$0f,$0c - db $ff diff --git a/data/hidden_item_coords.asm b/data/hidden_item_coords.asm deleted file mode 100755 index 6b911dea..00000000 --- a/data/hidden_item_coords.asm +++ /dev/null @@ -1,57 +0,0 @@ -HiddenItemCoords: -; map ID, then coords - db VIRIDIAN_FOREST,$12,$01 - db VIRIDIAN_FOREST,$2a,$10 - db MT_MOON_B2F,$0c,$12 - db ROUTE_25,$03,$26 - db ROUTE_9,$07,$0e - db SS_ANNE_KITCHEN,$09,$0d - db SS_ANNE_B1F_ROOMS,$01,$03 - db ROUTE_10,$11,$09 - db ROUTE_10,$35,$10 - db ROCKET_HIDEOUT_B1F,$0f,$15 - db ROCKET_HIDEOUT_B3F,$11,$1b - db ROCKET_HIDEOUT_B4F,$01,$19 - db POKEMON_TOWER_5F,$0c,$04 - db ROUTE_13,$0e,$01 - db ROUTE_13,$0d,$10 - db POKEMON_MANSION_B1F,$09,$01 - db SAFARI_ZONE_GATE,$01,$0a - db SAFARI_ZONE_WEST,$05,$06 - db SILPH_CO_5F,$03,$0c - db SILPH_CO_9F,$0f,$02 - db COPYCATS_HOUSE_2F,$01,$01 - db CERULEAN_CAVE_1F,$0b,$0e - db CERULEAN_CAVE_B1F,$03,$1b - db POWER_PLANT,$10,$11 - db POWER_PLANT,$01,$0c - db SEAFOAM_ISLANDS_B2F,$0f,$0f - db SEAFOAM_ISLANDS_B4F,$11,$19 - db POKEMON_MANSION_1F,$10,$08 - db POKEMON_MANSION_3F,$09,$01 - db ROUTE_23,$2c,$09 - db ROUTE_23,$46,$13 - db ROUTE_23,$5a,$08 - db VICTORY_ROAD_2F,$02,$05 - db VICTORY_ROAD_2F,$07,$1a - db UNUSED_MAP_6F,$0b,$0e - db VIRIDIAN_CITY,$04,$0e - db ROUTE_11,$05,$30 - db ROUTE_12,$3f,$02 - db ROUTE_17,$0e,$0f - db ROUTE_17,$2d,$08 - db ROUTE_17,$48,$11 - db ROUTE_17,$5b,$04 - db ROUTE_17,$79,$08 - db UNDERGROUND_PATH_NORTH_SOUTH,$04,$03 - db UNDERGROUND_PATH_NORTH_SOUTH,$22,$04 - db UNDERGROUND_PATH_WEST_EAST,$02,$0c - db UNDERGROUND_PATH_WEST_EAST,$05,$15 - db CELADON_CITY,$0f,$30 - db ROUTE_25,$01,$0a - db MT_MOON_B2F,$09,$21 - db SEAFOAM_ISLANDS_B3F,$10,$09 - db VERMILION_CITY,$0b,$0e - db CERULEAN_CITY,$08,$0f - db ROUTE_4,$03,$28 - db $ff diff --git a/data/hidden_objects.asm b/data/hidden_objects.asm deleted file mode 100755 index 737947a7..00000000 --- a/data/hidden_objects.asm +++ /dev/null @@ -1,853 +0,0 @@ -HiddenObjectMaps: - db REDS_HOUSE_2F - db BLUES_HOUSE - db OAKS_LAB - db VIRIDIAN_POKECENTER - db VIRIDIAN_MART - db VIRIDIAN_SCHOOL_HOUSE - db VIRIDIAN_GYM - db MUSEUM_1F - db PEWTER_GYM - db PEWTER_MART - db PEWTER_POKECENTER - db CERULEAN_POKECENTER - db CERULEAN_GYM - db CERULEAN_MART - db LAVENDER_POKECENTER - db VERMILION_POKECENTER - db VERMILION_GYM - db CELADON_MANSION_2F - db CELADON_POKECENTER - db CELADON_GYM - db GAME_CORNER - db CELADON_HOTEL - db FUCHSIA_POKECENTER - db FUCHSIA_GYM - db CINNABAR_GYM - db CINNABAR_POKECENTER - db SAFFRON_GYM - db MT_MOON_POKECENTER - db ROCK_TUNNEL_POKECENTER - db TRADE_CENTER - db COLOSSEUM - db VIRIDIAN_FOREST - db MT_MOON_B2F - db INDIGO_PLATEAU - db ROUTE_25 - db ROUTE_9 - db SS_ANNE_KITCHEN - db SS_ANNE_B1F_ROOMS - db ROCKET_HIDEOUT_B1F - db ROCKET_HIDEOUT_B3F - db ROCKET_HIDEOUT_B4F - db SAFFRON_POKECENTER - db POKEMON_TOWER_5F - db ROUTE_13 - db SAFARI_ZONE_GATE - db SAFARI_ZONE_WEST - db SILPH_CO_5F - db SILPH_CO_9F - db COPYCATS_HOUSE_2F - db CERULEAN_CAVE_1F - db CERULEAN_CAVE_B1F - db POWER_PLANT - db SEAFOAM_ISLANDS_B2F - db SEAFOAM_ISLANDS_B4F - db POKEMON_MANSION_1F - db POKEMON_MANSION_3F - db ROUTE_23 - db VICTORY_ROAD_2F - db UNUSED_MAP_6F - db BILLS_HOUSE - db VIRIDIAN_CITY - db SAFARI_ZONE_WEST_REST_HOUSE - db SAFARI_ZONE_EAST_REST_HOUSE - db SAFARI_ZONE_NORTH_REST_HOUSE - db ROUTE_15_GATE_2F - db MR_FUJIS_HOUSE - db CELADON_MANSION_ROOF_HOUSE - db FIGHTING_DOJO - db ROUTE_10 - db INDIGO_PLATEAU_LOBBY - db CINNABAR_LAB_FOSSIL_ROOM - db BIKE_SHOP - db ROUTE_11 - db ROUTE_12 - db POKEMON_MANSION_2F - db POKEMON_MANSION_B1F - db SILPH_CO_11F - db ROUTE_17 - db UNDERGROUND_PATH_NORTH_SOUTH - db UNDERGROUND_PATH_WEST_EAST - db CELADON_CITY - db SEAFOAM_ISLANDS_B3F - db VERMILION_CITY - db CERULEAN_CITY - db ROUTE_4 - db $FF - -HiddenObjectPointers: -; each of these pointers is for the corresponding map in HiddenObjectMaps - dw RedsHouse2FHiddenObjects - dw BluesHouseHiddenObjects - dw OaksLabHiddenObjects - dw ViridianPokecenterHiddenObjects - dw ViridianMartHiddenObjects - dw ViridianSchoolHiddenObjects - dw ViridianGymHiddenObjects - dw Museum1FHiddenObjects - dw PewterGymHiddenObjects - dw PewterMartHiddenObjects - dw PewterPokecenterHiddenObjects - dw CeruleanPokecenterHiddenObjects - dw CeruleanGymHiddenObjects - dw CeruleanMartHiddenObjects - dw LavenderPokecenterHiddenObjects - dw VermilionPokecenterHiddenObjects - dw VermilionGymHiddenObjects - dw CeladonMansion2HiddenObjects - dw CeladonPokecenterHiddenObjects - dw CeladonGymHiddenObjects - dw GameCornerHiddenObjects - dw CeladonHotelHiddenObjects - dw FuchsiaPokecenterHiddenObjects - dw FuchsiaGymHiddenObjects - dw CinnabarGymHiddenObjects - dw CinnabarPokecenterHiddenObjects - dw SaffronGymHiddenObjects - dw MtMoonPokecenterHiddenObjects - dw RockTunnelPokecenterHiddenObjects - dw TradeCenterHiddenObjects - dw ColosseumHiddenObjects - dw ViridianForestHiddenObjects - dw MtMoon3HiddenObjects - dw IndigoPlateauHiddenObjects - dw Route25HiddenObjects - dw Route9HiddenObjects - dw SSAnne6HiddenObjects - dw SSAnne10HiddenObjects - dw RocketHideout1HiddenObjects - dw RocketHideout3HiddenObjects - dw RocketHideout4HiddenObjects - dw SaffronPokecenterHiddenObjects - dw PokemonTower5HiddenObjects - dw Route13HiddenObjects - dw SafariZoneEntranceHiddenObjects - dw SafariZoneWestHiddenObjects - dw SilphCo5FHiddenObjects - dw SilphCo9FHiddenObjects - dw CopycatsHouse2FHiddenObjects - dw CeruleanCave1HiddenObjects - dw CeruleanCave3HiddenObjects - dw PowerPlantHiddenObjects - dw SeafoamIslands3HiddenObjects - dw SeafoamIslands5HiddenObjects - dw Mansion1HiddenObjects - dw Mansion3HiddenObjects - dw Route23HiddenObjects - dw VictoryRoad2HiddenObjects - dw Unused6FHiddenObjects - dw BillsHouseHiddenObjects - dw ViridianCityHiddenObjects - dw SafariZoneRestHouse2HiddenObjects - dw SafariZoneRestHouse3HiddenObjects - dw SafariZoneRestHouse4HiddenObjects - dw Route15GateUpstairsHiddenObjects - dw LavenderHouse1HiddenObjects - dw CeladonMansion5HiddenObjects - dw FightingDojoHiddenObjects - dw Route10HiddenObjects - dw IndigoPlateauLobbyHiddenObjects - dw CinnabarLab4HiddenObjects - dw BikeShopHiddenObjects - dw Route11HiddenObjects - dw Route12HiddenObjects - dw Mansion2HiddenObjects - dw Mansion4HiddenObjects - dw SilphCo11FHiddenObjects - dw Route17HiddenObjects - dw UndergroundPathNsHiddenObjects - dw UndergroundPathWeHiddenObjects - dw CeladonCityHiddenObjects - dw SeafoamIslands4HiddenObjects - dw VermilionCityHiddenObjects - dw CeruleanCityHiddenObjects - dw Route4HiddenObjects - -; format: y-coord, x-coord, text id/item id, object routine -TradeCenterHiddenObjects: - db $04,$05,$d0 - db BANK(CableClubRightGameboy) - dw CableClubRightGameboy - db $04,$04,$d0 - db BANK(CableClubLeftGameboy) - dw CableClubLeftGameboy - db $FF -ColosseumHiddenObjects: - db $04,$05,$d0 - db BANK(CableClubRightGameboy) - dw CableClubRightGameboy - db $04,$04,$d0 - db BANK(CableClubLeftGameboy) - dw CableClubLeftGameboy - db $FF -RedsHouse2FHiddenObjects: - db $01,$00,$04 - dbw BANK(OpenRedsPC), OpenRedsPC - db $05,$03,$d0 - dbw BANK(PrintRedSNESText), PrintRedSNESText - db $FF -BluesHouseHiddenObjects: - db $01,$00,$04 - db BANK(PrintBookcaseText) - dw PrintBookcaseText - db $01,$01,$04 - db BANK(PrintBookcaseText) - dw PrintBookcaseText - db $01,$07,$04 - db BANK(PrintBookcaseText) - dw PrintBookcaseText - db $FF -OaksLabHiddenObjects: - db $00,$04,$04 - db BANK(DisplayOakLabLeftPoster) - dw DisplayOakLabLeftPoster - db $00,$05,$04 - db BANK(DisplayOakLabRightPoster) - dw DisplayOakLabRightPoster - db $01,$00,$04 - db BANK(DisplayOakLabEmailText) - dw DisplayOakLabEmailText - db $01,$01,$04 - db BANK(DisplayOakLabEmailText) - dw DisplayOakLabEmailText - db $FF -ViridianPokecenterHiddenObjects: - db $04,$00,$08 - db Bank(PrintBenchGuyText) - dw PrintBenchGuyText - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF -ViridianMartHiddenObjects: - db $FF -ViridianSchoolHiddenObjects: - db $04,$03,(ViridianSchoolNotebook_id - TextPredefs) / 2 + 1 - db Bank(PrintNotebookText) - dw PrintNotebookText - db $00,$03,(ViridianSchoolBlackboard_id - TextPredefs) / 2 + 1 - db BANK(PrintBlackboardLinkCableText) - dw PrintBlackboardLinkCableText - db $FF -ViridianGymHiddenObjects: - db $0f,$0f,$04 - dbw BANK(GymStatues),GymStatues - db $0f,$12,$04 - dbw BANK(GymStatues),GymStatues - db $FF -Museum1FHiddenObjects: - db $03,$02,$04 - dbw BANK(AerodactylFossil), AerodactylFossil - db $06,$02,$04 - dbw BANK(KabutopsFossil), KabutopsFossil - db $FF -PewterGymHiddenObjects: - db $0a,$03,$04 - dbw BANK(GymStatues),GymStatues - db $0a,$06,$04 - dbw BANK(GymStatues),GymStatues - db $FF -PewterMartHiddenObjects: - db $FF -PewterPokecenterHiddenObjects: - db $04,$00,$08 - db Bank(PrintBenchGuyText) - dw PrintBenchGuyText - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF -CeruleanPokecenterHiddenObjects: - db $04,$00,$08 - db Bank(PrintBenchGuyText) - dw PrintBenchGuyText - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF -CeruleanGymHiddenObjects: - db $0b,$03,$04 - dbw BANK(GymStatues),GymStatues - db $0b,$06,$04 - dbw BANK(GymStatues),GymStatues - db $FF -CeruleanMartHiddenObjects: - db $FF -LavenderPokecenterHiddenObjects: - db $04,$00,$08 - db Bank(PrintBenchGuyText) - dw PrintBenchGuyText - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF -VermilionPokecenterHiddenObjects: - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $04,$00,$04 - db Bank(PrintBenchGuyText) - dw PrintBenchGuyText - db $FF -VermilionGymHiddenObjects: - db $0e,$03,$04 - dbw BANK(GymStatues), GymStatues - db $0e,$06,$04 - dbw BANK(GymStatues), GymStatues - db $01,$06,$00 - dbw BANK(PrintTrashText), PrintTrashText - db $07,$01,$00 - dbw BANK(GymTrashScript), GymTrashScript - db $09,$01,$01 - dbw BANK(GymTrashScript), GymTrashScript - db $0b,$01,$02 - dbw BANK(GymTrashScript), GymTrashScript - db $07,$03,$03 - dbw BANK(GymTrashScript), GymTrashScript - db $09,$03,$04 - dbw BANK(GymTrashScript), GymTrashScript - db $0b,$03,$05 - dbw BANK(GymTrashScript), GymTrashScript - db $07,$05,$06 - dbw BANK(GymTrashScript), GymTrashScript - db $09,$05,$07 - dbw BANK(GymTrashScript), GymTrashScript - db $0b,$05,$08 - dbw BANK(GymTrashScript), GymTrashScript - db $07,$07,$09 - dbw BANK(GymTrashScript), GymTrashScript - db $09,$07,$0a - dbw BANK(GymTrashScript), GymTrashScript - db $0b,$07,$0b - dbw BANK(GymTrashScript), GymTrashScript - db $07,$09,$0c - dbw BANK(GymTrashScript), GymTrashScript - db $09,$09,$0d - dbw BANK(GymTrashScript), GymTrashScript - db $0b,$09,$0e - dbw BANK(GymTrashScript), GymTrashScript - db $FF -CeladonMansion2HiddenObjects: - db $05,$00,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF -CeladonPokecenterHiddenObjects: - db $04,$00,$08 - db Bank(PrintBenchGuyText) - dw PrintBenchGuyText - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF -CeladonGymHiddenObjects: - db $0f,$03,$04 - dbw BANK(GymStatues),GymStatues - db $0f,$06,$04 - dbw BANK(GymStatues),GymStatues - db $FF -GameCornerHiddenObjects: - db $0f,$12,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0e,$12,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0d,$12,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0c,$12,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0b,$12,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0a,$12,$ff ; "Someone's Keys" - dbw BANK(StartSlotMachine), StartSlotMachine - db $0a,$0d,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0b,$0d,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0c,$0d,$fe ; "Out To Lunch" - dbw BANK(StartSlotMachine), StartSlotMachine - db $0d,$0d,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0e,$0d,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0f,$0d,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0f,$0c,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0e,$0c,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0d,$0c,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0c,$0c,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0b,$0c,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0a,$0c,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0a,$07,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0b,$07,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0c,$07,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0d,$07,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0e,$07,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0f,$07,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0f,$06,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0e,$06,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0d,$06,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0c,$06,$fd ; "Out Of Order" - dbw BANK(StartSlotMachine), StartSlotMachine - db $0b,$06,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0a,$06,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0a,$01,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0b,$01,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0c,$01,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0d,$01,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0e,$01,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0f,$01,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $08,$00,COIN+10 - dbw BANK(HiddenCoins),HiddenCoins - db $10,$01,COIN+10 - dbw BANK(HiddenCoins),HiddenCoins - db $0b,$03,COIN+20 - dbw BANK(HiddenCoins),HiddenCoins - db $0e,$03,COIN+10 - dbw BANK(HiddenCoins),HiddenCoins - db $0c,$04,COIN+10 - dbw BANK(HiddenCoins),HiddenCoins - db $0c,$09,COIN+20 - dbw BANK(HiddenCoins),HiddenCoins - db $0f,$09,COIN+10 - dbw BANK(HiddenCoins),HiddenCoins - db $0e,$10,COIN+10 - dbw BANK(HiddenCoins),HiddenCoins - db $10,$0a,COIN+10 - dbw BANK(HiddenCoins),HiddenCoins - db $07,$0b,COIN+40 - dbw BANK(HiddenCoins),HiddenCoins - db $08,$0f,COIN+100 - dbw BANK(HiddenCoins),HiddenCoins - db $0f,$0c,COIN+10 - dbw BANK(HiddenCoins),HiddenCoins - db $FF -CeladonHotelHiddenObjects: - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $04,$00,$08 - db Bank(PrintBenchGuyText) - dw PrintBenchGuyText - db $FF -FuchsiaPokecenterHiddenObjects: - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $04,$00,$04 - db Bank(PrintBenchGuyText) - dw PrintBenchGuyText - db $FF -FuchsiaGymHiddenObjects: - db $0f,$03,$04 - dbw BANK(GymStatues),GymStatues - db $0f,$06,$04 - dbw BANK(GymStatues),GymStatues - db $FF -CinnabarGymHiddenObjects: - db $0d,$11,$04 - dbw BANK(GymStatues),GymStatues - db $07,$0f,$01 - db Bank(PrintCinnabarQuiz) - dw PrintCinnabarQuiz - db $01,$0a,$12 - db Bank(PrintCinnabarQuiz) - dw PrintCinnabarQuiz - db $07,$09,$13 - db Bank(PrintCinnabarQuiz) - dw PrintCinnabarQuiz - db $0d,$09,$14 - db Bank(PrintCinnabarQuiz) - dw PrintCinnabarQuiz - db $0d,$01,$05 - db Bank(PrintCinnabarQuiz) - dw PrintCinnabarQuiz - db $07,$01,$16 - db Bank(PrintCinnabarQuiz) - dw PrintCinnabarQuiz - db $FF -CinnabarPokecenterHiddenObjects: - db $04,$00,$04 - db Bank(PrintBenchGuyText) - dw PrintBenchGuyText - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF -SaffronGymHiddenObjects: - db $0f,$09,$04 - dbw BANK(GymStatues),GymStatues - db $FF -MtMoonPokecenterHiddenObjects: - db $04,$00,$08 - db Bank(PrintBenchGuyText) - dw PrintBenchGuyText - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF -RockTunnelPokecenterHiddenObjects: - db $04,$00,$08 - db Bank(PrintBenchGuyText) - dw PrintBenchGuyText - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF -ViridianForestHiddenObjects: - db $12,$01,POTION - dbw BANK(HiddenItems),HiddenItems - db $2a,$10,ANTIDOTE - dbw BANK(HiddenItems),HiddenItems - db $FF -MtMoon3HiddenObjects: - db $0c,$12,MOON_STONE - dbw BANK(HiddenItems),HiddenItems - db $09,$21,ETHER - dbw BANK(HiddenItems),HiddenItems - db $FF -IndigoPlateauHiddenObjects: - db $0d,$08,$ff - db BANK(PrintIndigoPlateauHQText) - dw PrintIndigoPlateauHQText - db $0d,$0b,$00 - db BANK(PrintIndigoPlateauHQText) - dw PrintIndigoPlateauHQText - db $FF -Route25HiddenObjects: - db $03,$26,ETHER - dbw BANK(HiddenItems),HiddenItems - db $01,$0a,ELIXER - dbw BANK(HiddenItems),HiddenItems - db $FF -Route9HiddenObjects: - db $07,$0e,ETHER - dbw BANK(HiddenItems),HiddenItems - db $FF -SSAnne6HiddenObjects: - db $05,$0d,$00 - dbw BANK(PrintTrashText), PrintTrashText - db $07,$0d,$00 - dbw BANK(PrintTrashText), PrintTrashText - db $09,$0d,GREAT_BALL - dbw BANK(HiddenItems),HiddenItems - db $FF -SSAnne10HiddenObjects: - db $01,$03,HYPER_POTION - dbw BANK(HiddenItems),HiddenItems - db $FF -Route10HiddenObjects: - db $11,$09,SUPER_POTION - dbw BANK(HiddenItems),HiddenItems - db $35,$10,MAX_ETHER - dbw BANK(HiddenItems),HiddenItems - db $FF -RocketHideout1HiddenObjects: - db $0f,$15,PP_UP - dbw BANK(HiddenItems),HiddenItems - db $FF -RocketHideout3HiddenObjects: - db $11,$1b,NUGGET - dbw BANK(HiddenItems),HiddenItems - db $FF -RocketHideout4HiddenObjects: - db $01,$19,SUPER_POTION - dbw BANK(HiddenItems),HiddenItems - db $FF -SaffronPokecenterHiddenObjects: - db $04,$00,$04 - db Bank(PrintBenchGuyText) - dw PrintBenchGuyText - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF -PokemonTower5HiddenObjects: - db $0c,$04,ELIXER - dbw BANK(HiddenItems),HiddenItems - db $FF -Route13HiddenObjects: - db $0e,$01,PP_UP - dbw BANK(HiddenItems),HiddenItems - db $0d,$10,CALCIUM - dbw BANK(HiddenItems),HiddenItems - db $FF -SafariZoneEntranceHiddenObjects: - db $01,$0a,NUGGET - dbw BANK(HiddenItems),HiddenItems - db $FF -SafariZoneWestHiddenObjects: - db $05,$06,REVIVE - dbw BANK(HiddenItems),HiddenItems - db $FF -SilphCo5FHiddenObjects: - db $03,$0c,ELIXER - dbw BANK(HiddenItems),HiddenItems - db $FF -SilphCo9FHiddenObjects: - db $0f,$02,MAX_POTION - dbw BANK(HiddenItems),HiddenItems - db $FF -CopycatsHouse2FHiddenObjects: - db $01,$01,NUGGET - dbw BANK(HiddenItems),HiddenItems - db $FF -CeruleanCave1HiddenObjects: - db $0b,$0e,RARE_CANDY - dbw BANK(HiddenItems),HiddenItems - db $FF -CeruleanCave3HiddenObjects: - db $03,$1b,ULTRA_BALL - dbw BANK(HiddenItems),HiddenItems - db $FF -PowerPlantHiddenObjects: - db $10,$11,MAX_ELIXER - dbw BANK(HiddenItems),HiddenItems - db $01,$0c,PP_UP - dbw BANK(HiddenItems),HiddenItems - db $FF -SeafoamIslands3HiddenObjects: - db $0f,$0f,NUGGET - dbw BANK(HiddenItems),HiddenItems - db $FF -SeafoamIslands5HiddenObjects: - db $11,$19,ULTRA_BALL - dbw BANK(HiddenItems),HiddenItems - db $FF -Mansion1HiddenObjects: - db $10,$08,MOON_STONE - dbw BANK(HiddenItems),HiddenItems - db $05,$02,$04 - db BANK(Mansion1Script_Switches) - dw Mansion1Script_Switches - db $FF -Mansion2HiddenObjects: - db $0b,$02,$04 - db BANK(Mansion2Script_Switches) - dw Mansion2Script_Switches - db $FF -Mansion3HiddenObjects: - db $09,$01,MAX_REVIVE - dbw BANK(HiddenItems),HiddenItems - db $05,$0a,$04 - db BANK(Mansion3Script_Switches) - dw Mansion3Script_Switches - db $FF -Mansion4HiddenObjects: - db $09,$01,RARE_CANDY - dbw BANK(HiddenItems),HiddenItems - db $03,$14,$04 - db BANK(Mansion4Script_Switches) - dw Mansion4Script_Switches - db $19,$12,$04 - db BANK(Mansion4Script_Switches) - dw Mansion4Script_Switches - db $FF -Route23HiddenObjects: - db $2c,$09,FULL_RESTORE - dbw BANK(HiddenItems),HiddenItems - db $46,$13,ULTRA_BALL - dbw BANK(HiddenItems),HiddenItems - db $5a,$08,MAX_ETHER - dbw BANK(HiddenItems),HiddenItems - db $FF -VictoryRoad2HiddenObjects: - db $02,$05,ULTRA_BALL - dbw BANK(HiddenItems),HiddenItems - db $07,$1a,FULL_RESTORE - dbw BANK(HiddenItems),HiddenItems - db $FF -Unused6FHiddenObjects: - db $0b,$0e,MAX_ELIXER - dbw BANK(HiddenItems),HiddenItems - db $FF -BillsHouseHiddenObjects: - db $04,$01,$04 - dbw BANK(BillsHousePC), BillsHousePC - db $FF -ViridianCityHiddenObjects: - db $04,$0e,POTION - dbw BANK(HiddenItems),HiddenItems - db $FF -SafariZoneRestHouse2HiddenObjects: - db $04,$00,$08 - db Bank(PrintBenchGuyText) - dw PrintBenchGuyText - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF -SafariZoneRestHouse3HiddenObjects: - db $04,$00,$08 - db Bank(PrintBenchGuyText) - dw PrintBenchGuyText - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF -SafariZoneRestHouse4HiddenObjects: - db $04,$00,$08 - db Bank(PrintBenchGuyText) - dw PrintBenchGuyText - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF -Route15GateUpstairsHiddenObjects: - db $02,$01,$04 - db BANK(Route15GateLeftBinoculars) - dw Route15GateLeftBinoculars - db $FF -LavenderHouse1HiddenObjects: - db $01,$00,$00 - db BANK(PrintMagazinesText) - dw PrintMagazinesText - db $01,$01,$00 - db BANK(PrintMagazinesText) - dw PrintMagazinesText - db $01,$07,$00 - db BANK(PrintMagazinesText) - dw PrintMagazinesText - db $FF -CeladonMansion5HiddenObjects: - db $00,$03,(LinkCableHelp_id - TextPredefs) / 2 + 1 - db BANK(PrintBlackboardLinkCableText) - dw PrintBlackboardLinkCableText - db $00,$04,(LinkCableHelp_id - TextPredefs) / 2 + 1 - db BANK(PrintBlackboardLinkCableText) - dw PrintBlackboardLinkCableText - db $04,$03,(TMNotebook_id - TextPredefs) / 2 + 1 - db Bank(PrintNotebookText) - dw PrintNotebookText - db $FF -FightingDojoHiddenObjects: - db $09,$03,$04 - db BANK(PrintFightingDojoText) - dw PrintFightingDojoText - db $09,$06,$04 - db BANK(PrintFightingDojoText) - dw PrintFightingDojoText - db $00,$04,$04 - db BANK(PrintFightingDojoText2) - dw PrintFightingDojoText2 - db $00,$05,$04 - db BANK(PrintFightingDojoText3) - dw PrintFightingDojoText3 - db $FF -IndigoPlateauLobbyHiddenObjects: - db $07,$0f,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF -CinnabarLab4HiddenObjects: - db $04,$00,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $04,$02,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF -BikeShopHiddenObjects: - db $00,$01,$d0 - dbw BANK(PrintNewBikeText), PrintNewBikeText - db $01,$02,$d0 - dbw BANK(PrintNewBikeText), PrintNewBikeText - db $02,$01,$d0 - dbw BANK(PrintNewBikeText), PrintNewBikeText - db $02,$03,$d0 - dbw BANK(PrintNewBikeText), PrintNewBikeText - db $04,$00,$d0 - dbw BANK(PrintNewBikeText), PrintNewBikeText - db $05,$01,$d0 - dbw BANK(PrintNewBikeText), PrintNewBikeText - db $FF -Route11HiddenObjects: - db $05,$30,ESCAPE_ROPE - dbw BANK(HiddenItems),HiddenItems - db $FF -Route12HiddenObjects: - db $3f,$02,HYPER_POTION - dbw BANK(HiddenItems),HiddenItems - db $FF -SilphCo11FHiddenObjects: - db $0c,$0a,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF -Route17HiddenObjects: - db $0e,$0f,RARE_CANDY - dbw BANK(HiddenItems),HiddenItems - db $2d,$08,FULL_RESTORE - dbw BANK(HiddenItems),HiddenItems - db $48,$11,PP_UP - dbw BANK(HiddenItems),HiddenItems - db $5b,$04,MAX_REVIVE - dbw BANK(HiddenItems),HiddenItems - db $79,$08,MAX_ELIXER - dbw BANK(HiddenItems),HiddenItems - db $FF -UndergroundPathNsHiddenObjects: - db $04,$03,FULL_RESTORE - dbw BANK(HiddenItems),HiddenItems - db $22,$04,X_SPECIAL - dbw BANK(HiddenItems),HiddenItems - db $FF -UndergroundPathWeHiddenObjects: - db $02,$0c,NUGGET - dbw BANK(HiddenItems),HiddenItems - db $05,$15,ELIXER - dbw BANK(HiddenItems),HiddenItems - db $FF -CeladonCityHiddenObjects: - db $0f,$30,PP_UP - dbw BANK(HiddenItems),HiddenItems - db $FF -SeafoamIslands4HiddenObjects: - db $10,$09,MAX_ELIXER - dbw BANK(HiddenItems),HiddenItems - db $FF -VermilionCityHiddenObjects: - db $0b,$0e,MAX_ETHER - dbw BANK(HiddenItems),HiddenItems - db $FF -CeruleanCityHiddenObjects: - db $08,$0f,RARE_CANDY - dbw BANK(HiddenItems),HiddenItems - db $FF -Route4HiddenObjects: - db $03,$28,GREAT_BALL - dbw BANK(HiddenItems),HiddenItems - db $FF diff --git a/data/hide_show_data.asm b/data/hide_show_data.asm deleted file mode 100755 index 7f4593ca..00000000 --- a/data/hide_show_data.asm +++ /dev/null @@ -1,577 +0,0 @@ -; data for default hidden/shown -; objects for each map ($00-$F8) - -; Table of 2-Byte pointers, one pointer per map, -; goes up to Map_F7, ends with $FFFF. -; points to table listing all missable object in the area -MapHSPointers: - dw MapHS00 - dw MapHS01 - dw MapHS02 - dw MapHS03 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS0A - dw MapHSXX - dw MapHSXX - dw MapHS0D - dw MapHSXX - dw MapHS0F - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS14 - dw MapHSXX - dw MapHSXX - dw MapHS17 - dw MapHSXX - dw MapHSXX - dw MapHS1A - dw MapHS1B - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS21 - dw MapHSXX - dw MapHS23 - dw MapHS24 - dw MapHSXX - dw MapHSXX - dw MapHS27 - dw MapHS28 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS2D - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS33 - dw MapHS34 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS3B - dw MapHSXX - dw MapHS3D - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS53 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS58 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS60 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS66 - dw MapHS67 - dw MapHS68 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS6C - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS78 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS84 - dw MapHSXX - dw MapHSXX - dw MapHS87 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS8F - dw MapHS90 - dw MapHS91 - dw MapHS92 - dw MapHS93 - dw MapHS94 - dw MapHS95 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS9B - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS9F - dw MapHSA0 - dw MapHSA1 - dw MapHSA2 - dw MapHSXX - dw MapHSXX - dw MapHSA5 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSB1 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSB5 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSC0 - dw MapHSXX - dw MapHSC2 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSC6 - dw MapHSC7 - dw MapHSC8 - dw MapHSC9 - dw MapHSCA - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSCF - dw MapHSD0 - dw MapHSD1 - dw MapHSD2 - dw MapHSD3 - dw MapHSD4 - dw MapHSD5 - dw MapHSD6 - dw MapHSD7 - dw MapHSD8 - dw MapHSD9 - dw MapHSDA - dw MapHSDB - dw MapHSDC - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSE2 - dw MapHSE3 - dw MapHSE4 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSE9 - dw MapHSEA - dw MapHSEB - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSF4 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw $FFFF - -; Structure: -; 3 bytes per object -; [Map_ID][Object_ID][H/S] -; -; Program stops reading when either: -; a) Map_ID = $FF -; b) Map_ID ≠ currentMapID -; -; This Data is loaded into RAM at wd5ce-$D5F?. (wMissableObjectList) - -; These constants come from the bytes for Predef functions: -Hide equ $11 -Show equ $15 - -MapHSXX: - db $FF,$FF,$FF -MapHS00: - db PALLET_TOWN,$01,Hide -MapHS01: - db VIRIDIAN_CITY,$05,Show - db VIRIDIAN_CITY,$07,Hide -MapHS02: - db PEWTER_CITY,$03,Show - db PEWTER_CITY,$05,Show -MapHS03: - db CERULEAN_CITY,$01,Hide - db CERULEAN_CITY,$02,Show - db CERULEAN_CITY,$06,Hide - db CERULEAN_CITY,$0A,Show - db CERULEAN_CITY,$0B,Show -MapHS0A: - db SAFFRON_CITY,$01,Show - db SAFFRON_CITY,$02,Show - db SAFFRON_CITY,$03,Show - db SAFFRON_CITY,$04,Show - db SAFFRON_CITY,$05,Show - db SAFFRON_CITY,$06,Show - db SAFFRON_CITY,$07,Show - db SAFFRON_CITY,$08,Hide - db SAFFRON_CITY,$09,Hide - db SAFFRON_CITY,$0A,Hide - db SAFFRON_CITY,$0B,Hide - db SAFFRON_CITY,$0C,Hide - db SAFFRON_CITY,$0D,Hide - db SAFFRON_CITY,$0E,Show - db SAFFRON_CITY,$0F,Hide -MapHS0D: - db ROUTE_2,$01,Show - db ROUTE_2,$02,Show -MapHS0F: - db ROUTE_4,$03,Show -MapHS14: - db ROUTE_9,$0A,Show -MapHS17: - db ROUTE_12,$01,Show - db ROUTE_12,$09,Show - db ROUTE_12,$0A,Show -MapHS1A: - db ROUTE_15,$0B,Show -MapHS1B: - db ROUTE_16,$07,Show -MapHS21: - db ROUTE_22,$01,Hide - db ROUTE_22,$02,Hide -MapHS23: - db ROUTE_24,$01,Show - db ROUTE_24,$08,Show -MapHS24: - db ROUTE_25,$0A,Show -MapHS27: - db BLUES_HOUSE,$01,Show - db BLUES_HOUSE,$02,Hide - db BLUES_HOUSE,$03,Show -MapHS28: - db OAKS_LAB,$01,Show - db OAKS_LAB,$02,Show - db OAKS_LAB,$03,Show - db OAKS_LAB,$04,Show - db OAKS_LAB,$05,Hide - db OAKS_LAB,$06,Show - db OAKS_LAB,$07,Show - db OAKS_LAB,$08,Hide -MapHS2D: - db VIRIDIAN_GYM,$01,Show - db VIRIDIAN_GYM,$0B,Show -MapHS34: - db MUSEUM_1F,$05,Show -MapHSE4: - db CERULEAN_CAVE_1F,$01,Show - db CERULEAN_CAVE_1F,$02,Show - db CERULEAN_CAVE_1F,$03,Show -MapHS8F: - db POKEMON_TOWER_2F,$01,Show -MapHS90: - db POKEMON_TOWER_3F,$04,Show -MapHS91: - db POKEMON_TOWER_4F,$04,Show - db POKEMON_TOWER_4F,$05,Show - db POKEMON_TOWER_4F,$06,Show -MapHS92: - db POKEMON_TOWER_5F,$06,Show -MapHS93: - db POKEMON_TOWER_6F,$04,Show - db POKEMON_TOWER_6F,$05,Show -MapHS94: - db POKEMON_TOWER_7F,$01,Show - db POKEMON_TOWER_7F,$02,Show - db POKEMON_TOWER_7F,$03,Show - db POKEMON_TOWER_7F,$04,Show -MapHS95: - db MR_FUJIS_HOUSE,$05,Hide -MapHS84: - db CELADON_MANSION_ROOF_HOUSE,$02,Show -MapHS87: - db GAME_CORNER,$0B,Show -MapHS9B: - db WARDENS_HOUSE,$02,Show -MapHSA5: - db POKEMON_MANSION_1F,$02,Show - db POKEMON_MANSION_1F,$03,Show -MapHSB1: - db FIGHTING_DOJO,$06,Show - db FIGHTING_DOJO,$07,Show -MapHSB5: - db SILPH_CO_1F,$01,Hide -MapHS53: - db POWER_PLANT,$01,Show - db POWER_PLANT,$02,Show - db POWER_PLANT,$03,Show - db POWER_PLANT,$04,Show - db POWER_PLANT,$05,Show - db POWER_PLANT,$06,Show - db POWER_PLANT,$07,Show - db POWER_PLANT,$08,Show - db POWER_PLANT,$09,Show - db POWER_PLANT,$0A,Show - db POWER_PLANT,$0B,Show - db POWER_PLANT,$0C,Show - db POWER_PLANT,$0D,Show - db POWER_PLANT,$0E,Show -MapHSC2: - db VICTORY_ROAD_2F,$06,Show - db VICTORY_ROAD_2F,$07,Show - db VICTORY_ROAD_2F,$08,Show - db VICTORY_ROAD_2F,$09,Show - db VICTORY_ROAD_2F,$0A,Show - db VICTORY_ROAD_2F,$0D,Show -MapHS58: - db BILLS_HOUSE,$01,Show - db BILLS_HOUSE,$02,Hide - db BILLS_HOUSE,$03,Hide -MapHS33: - db VIRIDIAN_FOREST,$05,Show - db VIRIDIAN_FOREST,$06,Show - db VIRIDIAN_FOREST,$07,Show -MapHS3B: - db MT_MOON_1F,$08,Show - db MT_MOON_1F,$09,Show - db MT_MOON_1F,$0A,Show - db MT_MOON_1F,$0B,Show - db MT_MOON_1F,$0C,Show - db MT_MOON_1F,$0D,Show -MapHS3D: - db MT_MOON_B2F,$06,Show - db MT_MOON_B2F,$07,Show - db MT_MOON_B2F,$08,Show - db MT_MOON_B2F,$09,Show -MapHS60: - db SS_ANNE_2F,$02,Hide -MapHS66: - db SS_ANNE_1F_ROOMS,$0A,Show -MapHS67: - db SS_ANNE_2F_ROOMS,$06,Show - db SS_ANNE_2F_ROOMS,$09,Show -MapHS68: - db SS_ANNE_B1F_ROOMS,$09,Show - db SS_ANNE_B1F_ROOMS,$0A,Show - db SS_ANNE_B1F_ROOMS,$0B,Show -MapHSC6: - db VICTORY_ROAD_3F,$05,Show - db VICTORY_ROAD_3F,$06,Show - db VICTORY_ROAD_3F,$0A,Show -MapHSC7: - db ROCKET_HIDEOUT_B1F,$06,Show - db ROCKET_HIDEOUT_B1F,$07,Show -MapHSC8: - db ROCKET_HIDEOUT_B2F,$02,Show - db ROCKET_HIDEOUT_B2F,$03,Show - db ROCKET_HIDEOUT_B2F,$04,Show - db ROCKET_HIDEOUT_B2F,$05,Show -MapHSC9: - db ROCKET_HIDEOUT_B3F,$03,Show - db ROCKET_HIDEOUT_B3F,$04,Show -MapHSCA: - db ROCKET_HIDEOUT_B4F,$01,Show - db ROCKET_HIDEOUT_B4F,$05,Show - db ROCKET_HIDEOUT_B4F,$06,Show - db ROCKET_HIDEOUT_B4F,$07,Show - db ROCKET_HIDEOUT_B4F,$08,Hide - db ROCKET_HIDEOUT_B4F,$09,Hide -MapHSCF: - db SILPH_CO_2F,$01,Show - db SILPH_CO_2F,$02,Show - db SILPH_CO_2F,$03,Show - db SILPH_CO_2F,$04,Show - db SILPH_CO_2F,$05,Show -MapHSD0: - db SILPH_CO_3F,$02,Show - db SILPH_CO_3F,$03,Show - db SILPH_CO_3F,$04,Show -MapHSD1: - db SILPH_CO_4F,$02,Show - db SILPH_CO_4F,$03,Show - db SILPH_CO_4F,$04,Show - db SILPH_CO_4F,$05,Show - db SILPH_CO_4F,$06,Show - db SILPH_CO_4F,$07,Show -MapHSD2: - db SILPH_CO_5F,$02,Show - db SILPH_CO_5F,$03,Show - db SILPH_CO_5F,$04,Show - db SILPH_CO_5F,$05,Show - db SILPH_CO_5F,$06,Show - db SILPH_CO_5F,$07,Show - db SILPH_CO_5F,$08,Show -MapHSD3: - db SILPH_CO_6F,$06,Show - db SILPH_CO_6F,$07,Show - db SILPH_CO_6F,$08,Show - db SILPH_CO_6F,$09,Show - db SILPH_CO_6F,$0A,Show -MapHSD4: - db SILPH_CO_7F,$05,Show - db SILPH_CO_7F,$06,Show - db SILPH_CO_7F,$07,Show - db SILPH_CO_7F,$08,Show - db SILPH_CO_7F,$09,Show - db SILPH_CO_7F,$0A,Show - db SILPH_CO_7F,$0B,Show - db SILPH_CO_7F,$0C,Show -MapHSD5: - db SILPH_CO_8F,$02,Show - db SILPH_CO_8F,$03,Show - db SILPH_CO_8F,$04,Show -MapHSE9: - db SILPH_CO_9F,$02,Show - db SILPH_CO_9F,$03,Show - db SILPH_CO_9F,$04,Show -MapHSEA: - db SILPH_CO_10F,$01,Show - db SILPH_CO_10F,$02,Show - db SILPH_CO_10F,$03,Show - db SILPH_CO_10F,$04,Show - db SILPH_CO_10F,$05,Show - db SILPH_CO_10F,$06,Show -MapHSEB: - db SILPH_CO_11F,$03,Show - db SILPH_CO_11F,$04,Show - db SILPH_CO_11F,$05,Show -MapHSF4: - db UNUSED_MAP_F4,$02,Show -MapHSD6: - db POKEMON_MANSION_2F,$02,Show -MapHSD7: - db POKEMON_MANSION_3F,$03,Show - db POKEMON_MANSION_3F,$04,Show -MapHSD8: - db POKEMON_MANSION_B1F,$03,Show - db POKEMON_MANSION_B1F,$04,Show - db POKEMON_MANSION_B1F,$05,Show - db POKEMON_MANSION_B1F,$06,Show - db POKEMON_MANSION_B1F,$08,Show -MapHSD9: - db SAFARI_ZONE_EAST,$01,Show - db SAFARI_ZONE_EAST,$02,Show - db SAFARI_ZONE_EAST,$03,Show - db SAFARI_ZONE_EAST,$04,Show -MapHSDA: - db SAFARI_ZONE_NORTH,$01,Show - db SAFARI_ZONE_NORTH,$02,Show -MapHSDB: - db SAFARI_ZONE_WEST,$01,Show - db SAFARI_ZONE_WEST,$02,Show - db SAFARI_ZONE_WEST,$03,Show - db SAFARI_ZONE_WEST,$04,Show -MapHSDC: - db SAFARI_ZONE_CENTER,$01,Show -MapHSE2: - db CERULEAN_CAVE_2F,$01,Show - db CERULEAN_CAVE_2F,$02,Show - db CERULEAN_CAVE_2F,$03,Show -MapHSE3: - db CERULEAN_CAVE_B1F,$01,Show - db CERULEAN_CAVE_B1F,$02,Show - db CERULEAN_CAVE_B1F,$03,Show -MapHS6C: - db VICTORY_ROAD_1F,$03,Show - db VICTORY_ROAD_1F,$04,Show -MapHS78: - db CHAMPIONS_ROOM,$02,Hide -MapHSC0: - db SEAFOAM_ISLANDS_1F,$01,Show - db SEAFOAM_ISLANDS_1F,$02,Show -MapHS9F: - db SEAFOAM_ISLANDS_B1F,$01,Hide - db SEAFOAM_ISLANDS_B1F,$02,Hide -MapHSA0: - db SEAFOAM_ISLANDS_B2F,$01,Hide - db SEAFOAM_ISLANDS_B2F,$02,Hide -MapHSA1: - db SEAFOAM_ISLANDS_B3F,$02,Show - db SEAFOAM_ISLANDS_B3F,$03,Show - db SEAFOAM_ISLANDS_B3F,$05,Hide - db SEAFOAM_ISLANDS_B3F,$06,Hide -MapHSA2: - db SEAFOAM_ISLANDS_B4F,$01,Hide - db SEAFOAM_ISLANDS_B4F,$02,Hide - db SEAFOAM_ISLANDS_B4F,$03,Show - - db $FF,$01,Show diff --git a/data/hm_moves.asm b/data/hm_moves.asm deleted file mode 100644 index d72eddfe..00000000 --- a/data/hm_moves.asm +++ /dev/null @@ -1,7 +0,0 @@ -HMMoveArray: - db CUT - db FLY - db SURF - db STRENGTH - db FLASH - db -1 diff --git a/data/icon_pointers.asm b/data/icon_pointers.asm new file mode 100644 index 00000000..b615798e --- /dev/null +++ b/data/icon_pointers.asm @@ -0,0 +1,140 @@ +MonPartySpritePointers: + dw SlowbroSprite + $c0 + db $40 / $10 ; 40 bytes + db BANK(SlowbroSprite) + dw vSprites + + dw BallSprite + db $80 / $10 ; $80 bytes + db BANK(BallSprite) + dw vSprites + $40 + + dw ClefairySprite + $c0 + db $40 / $10 ; $40 bytes + db BANK(ClefairySprite) + dw vSprites + $c0 + + dw BirdSprite + $c0 + db $40 / $10 ; $40 bytes + db BANK(BirdSprite) + dw vSprites + $100 + + dw SeelSprite + db $40 / $10 ; $40 bytes + db BANK(SeelSprite) + dw vSprites + $140 + + dw BugIconFrame2 + db $10 / $10 ; $10 bytes + db BANK(BugIconFrame2) + dw vSprites + $180 + + dw BugIconFrame2 + $10 + db $10 / $10 ; $10 bytes + db BANK(BugIconFrame2) + dw vSprites + $1a0 + + dw PlantIconFrame2 + db $10 / $10 ; $10 bytes + db BANK(PlantIconFrame2) + dw vSprites + $1c0 + + dw PlantIconFrame2 + $10 + db $10 / $10 ; $10 bytes + db BANK(PlantIconFrame2) + dw vSprites + $1e0 + + dw SnakeIconFrame1 + db $10 / $10 ; $10 bytes + db BANK(SnakeIconFrame1) + dw vSprites + $200 + + dw SnakeIconFrame1 + $10 + db $10 / $10 ; $10 bytes + db BANK(SnakeIconFrame1) + dw vSprites + $220 + + dw QuadrupedIconFrame1 + db $10 / $10 ; $10 bytes + db BANK(QuadrupedIconFrame1) + dw vSprites + $240 + + dw QuadrupedIconFrame1 + $10 + db $10 / $10 ; $10 bytes + db BANK(QuadrupedIconFrame1) + dw vSprites + $260 + + dw TradeBubbleIconGFX + db $40 / $10 ; $40 bytes + db BANK(TradeBubbleIconGFX) + dw vSprites + $380 + + dw SlowbroSprite + db $40 / $10 ; $40 bytes + db BANK(SlowbroSprite) + dw vSprites + $400 + + dw BallSprite + db $80 / $10 ; $80 bytes + db BANK(BallSprite) + dw vSprites + $440 + + dw ClefairySprite + db $40 / $10 ; $40 bytes + db BANK(ClefairySprite) + dw vSprites + $4c0 + + dw BirdSprite + db $40 / $10 ; $40 bytes + db BANK(BirdSprite) + dw vSprites + $500 + + dw SeelSprite + $C0 + db $40 / $10 ; $40 bytes + db BANK(SeelSprite) + dw vSprites + $540 + + dw BugIconFrame1 + db $10 / $10 ; $10 bytes + db BANK(BugIconFrame1) + dw vSprites + $580 + + dw BugIconFrame1 + $10 + db $10 / $10 ; $10 bytes + db BANK(BugIconFrame1) + dw vSprites + $5a0 + + dw PlantIconFrame1 + db $10 / $10 ; $10 bytes + db BANK(PlantIconFrame1) + dw vSprites + $5c0 + + dw PlantIconFrame1 + $10 + db $10 / $10 ; $10 bytes + db BANK(PlantIconFrame1) + dw vSprites + $5E0 + + dw SnakeIconFrame2 + db $10 / $10 ; $10 bytes + db BANK(SnakeIconFrame2) + dw vSprites + $600 + + dw SnakeIconFrame2 + $10 + db $10 / $10 ; $10 bytes + db BANK(SnakeIconFrame2) + dw vSprites + $620 + + dw QuadrupedIconFrame2 + db $10 / $10 ; $10 bytes + db BANK(QuadrupedIconFrame2) + dw vSprites + $640 + + dw QuadrupedIconFrame2 + $10 + db $10 / $10 ; $10 bytes + db BANK(QuadrupedIconFrame2) + dw vSprites + $660 + + dw TradeBubbleIconGFX + $40 + db $40 / $10 ; $40 bytes + db BANK(TradeBubbleIconGFX) + dw vSprites + $780 diff --git a/data/item_prices.asm b/data/item_prices.asm deleted file mode 100755 index f3d8f76b..00000000 --- a/data/item_prices.asm +++ /dev/null @@ -1,98 +0,0 @@ -ItemPrices:: - money 0 ; MASTER_BALL - money 1200 ; ULTRA_BALL - money 600 ; GREAT_BALL - money 200 ; POKE_BALL - money 0 ; TOWN_MAP - money 0 ; BICYCLE - money 0 ; SURFBOARD - money 1000 ; SAFARI_BALL - money 0 ; POKEDEX - money 0 ; MOON_STONE - money 100 ; ANTIDOTE - money 250 ; BURN_HEAL - money 250 ; ICE_HEAL - money 200 ; AWAKENING - money 200 ; PARLYZ_HEAL - money 3000 ; FULL_RESTORE - money 2500 ; MAX_POTION - money 1500 ; HYPER_POTION - money 700 ; SUPER_POTION - money 300 ; POTION - money 0 ; BOULDERBADGE - money 0 ; CASCADEBADGE - money 0 ; THUNDERBADGE - money 0 ; RAINBOWBADGE - money 0 ; SOULBADGE - money 0 ; MARSHBADGE - money 0 ; VOLCANOBADGE - money 0 ; EARTHBADGE - money 550 ; ESCAPE_ROPE - money 350 ; REPEL - money 0 ; OLD_AMBER - money 2100 ; FIRE_STONE - money 2100 ; THUNDER_STONE - money 2100 ; WATER_STONE - money 9800 ; HP_UP - money 9800 ; PROTEIN - money 9800 ; IRON - money 9800 ; CARBOS - money 9800 ; CALCIUM - money 4800 ; RARE_CANDY - money 0 ; DOME_FOSSIL - money 0 ; HELIX_FOSSIL - money 0 ; SECRET_KEY - money 0 ; XXX - money 0 ; BIKE_VOUCHER - money 950 ; X_ACCURACY - money 2100 ; LEAF_STONE - money 0 ; CARD_KEY - money 10000 ; NUGGET - money 9800 ; XXX PP_UP - money 1000 ; POKE_DOLL - money 600 ; FULL_HEAL - money 1500 ; REVIVE - money 4000 ; MAX_REVIVE - money 700 ; GUARD_SPEC - money 500 ; SUPER_REPEL - money 700 ; MAX_REPEL - money 650 ; DIRE_HIT - money 10 ; COIN - money 200 ; FRESH_WATER - money 300 ; SODA_POP - money 350 ; LEMONADE - money 0 ; S_S_TICKET - money 0 ; GOLD_TEETH - money 500 ; X_ATTACK - money 550 ; X_DEFEND - money 350 ; X_SPEED - money 350 ; X_SPECIAL - money 0 ; COIN_CASE - money 0 ; OAKS_PARCEL - money 0 ; ITEMFINDER - money 0 ; SILPH_SCOPE - money 0 ; POKE_FLUTE - money 0 ; LIFT_KEY - money 0 ; EXP_ALL - money 0 ; OLD_ROD - money 0 ; GOOD_ROD - money 0 ; SUPER_ROD - money 0 ; PP_UP - money 0 ; ETHER - money 0 ; MAX_ETHER - money 0 ; ELIXER - money 0 ; MAX_ELIXER - money 0 ; FLOOR_B2F - money 0 ; FLOOR_B1F - money 0 ; FLOOR_1F - money 0 ; FLOOR_2F - money 0 ; FLOOR_3F - money 0 ; FLOOR_4F - money 0 ; FLOOR_5F - money 0 ; FLOOR_6F - money 0 ; FLOOR_7F - money 0 ; FLOOR_8F - money 0 ; FLOOR_9F - money 0 ; FLOOR_10F - money 0 ; FLOOR_11F - money 0 ; FLOOR_B4F diff --git a/data/items/guard_drink_items.asm b/data/items/guard_drink_items.asm new file mode 100644 index 00000000..effef203 --- /dev/null +++ b/data/items/guard_drink_items.asm @@ -0,0 +1,2 @@ +GuardDrinksList: + db FRESH_WATER, SODA_POP, LEMONADE, $00 diff --git a/data/items/key_items.asm b/data/items/key_items.asm new file mode 100755 index 00000000..afa586af --- /dev/null +++ b/data/items/key_items.asm @@ -0,0 +1,12 @@ +KeyItemBitfield: + db %11110000 + db %00000001 + db %11110000 + db %01001111 + db %00000000 + db %10011111 + db %00000000 + db %11000000 + db %11110000 + db %00111011 + db %00000000 diff --git a/data/items/marts.asm b/data/items/marts.asm new file mode 100755 index 00000000..35ae2e9d --- /dev/null +++ b/data/items/marts.asm @@ -0,0 +1,64 @@ +; mart inventories are below +; they are texts + +; Viridian +ViridianCashierText:: + TX_MART POKE_BALL, ANTIDOTE, PARLYZ_HEAL, BURN_HEAL + +; Pewter +PewterCashierText:: + TX_MART POKE_BALL, POTION, ESCAPE_ROPE, ANTIDOTE, BURN_HEAL, AWAKENING, PARLYZ_HEAL + +; Cerulean +CeruleanCashierText:: + TX_MART POKE_BALL, POTION, REPEL, ANTIDOTE, BURN_HEAL, AWAKENING, PARLYZ_HEAL + +; Bike shop + TX_MART BICYCLE + +; Vermilion +VermilionCashierText:: + TX_MART POKE_BALL, SUPER_POTION, ICE_HEAL, AWAKENING, PARLYZ_HEAL, REPEL + +; Lavender +LavenderCashierText:: + TX_MART GREAT_BALL, SUPER_POTION, REVIVE, ESCAPE_ROPE, SUPER_REPEL, ANTIDOTE, BURN_HEAL, ICE_HEAL, PARLYZ_HEAL + +; Celadon Dept. Store 2F (1) +CeladonMart2Clerk1Text:: + TX_MART GREAT_BALL, SUPER_POTION, REVIVE, SUPER_REPEL, ANTIDOTE, BURN_HEAL, ICE_HEAL, AWAKENING, PARLYZ_HEAL + +; Celadon Dept. Store 2F (2) +CeladonMart2Clerk2Text:: + TX_MART TM_32, TM_33, TM_02, TM_07, TM_37, TM_01, TM_05, TM_09, TM_17 + +; Celadon Dept. Store 4F +CeladonMart4ClerkText:: + TX_MART POKE_DOLL, FIRE_STONE, THUNDER_STONE, WATER_STONE, LEAF_STONE + +; Celadon Dept. Store 5F (1) +CeladonMart5Clerk1Text:: + TX_MART X_ACCURACY, GUARD_SPEC, DIRE_HIT, X_ATTACK, X_DEFEND, X_SPEED, X_SPECIAL + +; Celadon Dept. Store 5F (2) +CeladonMart5Clerk2Text:: + TX_MART HP_UP, PROTEIN, IRON, CARBOS, CALCIUM + +; Fuchsia +FuchsiaCashierText:: + TX_MART ULTRA_BALL, GREAT_BALL, SUPER_POTION, REVIVE, FULL_HEAL, SUPER_REPEL + +; unused? + TX_MART GREAT_BALL, HYPER_POTION, SUPER_POTION, FULL_HEAL, REVIVE + +; Cinnabar +CinnabarCashierText:: + TX_MART ULTRA_BALL, GREAT_BALL, HYPER_POTION, MAX_REPEL, ESCAPE_ROPE, FULL_HEAL, REVIVE + +; Saffron +SaffronCashierText:: + TX_MART GREAT_BALL, HYPER_POTION, MAX_REPEL, ESCAPE_ROPE, FULL_HEAL, REVIVE + +; Indigo +IndigoCashierText:: + TX_MART ULTRA_BALL, GREAT_BALL, FULL_RESTORE, MAX_POTION, FULL_HEAL, REVIVE, MAX_REPEL diff --git a/data/items/names.asm b/data/items/names.asm new file mode 100755 index 00000000..0c07fe5d --- /dev/null +++ b/data/items/names.asm @@ -0,0 +1,98 @@ +ItemNames:: + db "MASTER BALL@" + db "ULTRA BALL@" + db "GREAT BALL@" + db "POKé BALL@" + db "TOWN MAP@" + db "BICYCLE@" + db "?????@" + db "SAFARI BALL@" + db "POKéDEX@" + db "MOON STONE@" + db "ANTIDOTE@" + db "BURN HEAL@" + db "ICE HEAL@" + db "AWAKENING@" + db "PARLYZ HEAL@" + db "FULL RESTORE@" + db "MAX POTION@" + db "HYPER POTION@" + db "SUPER POTION@" + db "POTION@" + db "BOULDERBADGE@" + db "CASCADEBADGE@" + db "THUNDERBADGE@" + db "RAINBOWBADGE@" + db "SOULBADGE@" + db "MARSHBADGE@" + db "VOLCANOBADGE@" + db "EARTHBADGE@" + db "ESCAPE ROPE@" + db "REPEL@" + db "OLD AMBER@" + db "FIRE STONE@" + db "THUNDERSTONE@" + db "WATER STONE@" + db "HP UP@" + db "PROTEIN@" + db "IRON@" + db "CARBOS@" + db "CALCIUM@" + db "RARE CANDY@" + db "DOME FOSSIL@" + db "HELIX FOSSIL@" + db "SECRET KEY@" + db "?????@" + db "BIKE VOUCHER@" + db "X ACCURACY@" + db "LEAF STONE@" + db "CARD KEY@" + db "NUGGET@" + db "PP UP@" + db "POKé DOLL@" + db "FULL HEAL@" + db "REVIVE@" + db "MAX REVIVE@" + db "GUARD SPEC.@" + db "SUPER REPEL@" + db "MAX REPEL@" + db "DIRE HIT@" + db "COIN@" + db "FRESH WATER@" + db "SODA POP@" + db "LEMONADE@" + db "S.S.TICKET@" + db "GOLD TEETH@" + db "X ATTACK@" + db "X DEFEND@" + db "X SPEED@" + db "X SPECIAL@" + db "COIN CASE@" + db "OAK's PARCEL@" + db "ITEMFINDER@" + db "SILPH SCOPE@" + db "POKé FLUTE@" + db "LIFT KEY@" + db "EXP.ALL@" + db "OLD ROD@" + db "GOOD ROD@" + db "SUPER ROD@" + db "PP UP@" + db "ETHER@" + db "MAX ETHER@" + db "ELIXER@" + db "MAX ELIXER@" + db "B2F@" + db "B1F@" + db "1F@" + db "2F@" + db "3F@" + db "4F@" + db "5F@" + db "6F@" + db "7F@" + db "8F@" + db "9F@" + db "10F@" + db "11F@" + db "B4F@" diff --git a/data/items/prices.asm b/data/items/prices.asm new file mode 100755 index 00000000..f3d8f76b --- /dev/null +++ b/data/items/prices.asm @@ -0,0 +1,98 @@ +ItemPrices:: + money 0 ; MASTER_BALL + money 1200 ; ULTRA_BALL + money 600 ; GREAT_BALL + money 200 ; POKE_BALL + money 0 ; TOWN_MAP + money 0 ; BICYCLE + money 0 ; SURFBOARD + money 1000 ; SAFARI_BALL + money 0 ; POKEDEX + money 0 ; MOON_STONE + money 100 ; ANTIDOTE + money 250 ; BURN_HEAL + money 250 ; ICE_HEAL + money 200 ; AWAKENING + money 200 ; PARLYZ_HEAL + money 3000 ; FULL_RESTORE + money 2500 ; MAX_POTION + money 1500 ; HYPER_POTION + money 700 ; SUPER_POTION + money 300 ; POTION + money 0 ; BOULDERBADGE + money 0 ; CASCADEBADGE + money 0 ; THUNDERBADGE + money 0 ; RAINBOWBADGE + money 0 ; SOULBADGE + money 0 ; MARSHBADGE + money 0 ; VOLCANOBADGE + money 0 ; EARTHBADGE + money 550 ; ESCAPE_ROPE + money 350 ; REPEL + money 0 ; OLD_AMBER + money 2100 ; FIRE_STONE + money 2100 ; THUNDER_STONE + money 2100 ; WATER_STONE + money 9800 ; HP_UP + money 9800 ; PROTEIN + money 9800 ; IRON + money 9800 ; CARBOS + money 9800 ; CALCIUM + money 4800 ; RARE_CANDY + money 0 ; DOME_FOSSIL + money 0 ; HELIX_FOSSIL + money 0 ; SECRET_KEY + money 0 ; XXX + money 0 ; BIKE_VOUCHER + money 950 ; X_ACCURACY + money 2100 ; LEAF_STONE + money 0 ; CARD_KEY + money 10000 ; NUGGET + money 9800 ; XXX PP_UP + money 1000 ; POKE_DOLL + money 600 ; FULL_HEAL + money 1500 ; REVIVE + money 4000 ; MAX_REVIVE + money 700 ; GUARD_SPEC + money 500 ; SUPER_REPEL + money 700 ; MAX_REPEL + money 650 ; DIRE_HIT + money 10 ; COIN + money 200 ; FRESH_WATER + money 300 ; SODA_POP + money 350 ; LEMONADE + money 0 ; S_S_TICKET + money 0 ; GOLD_TEETH + money 500 ; X_ATTACK + money 550 ; X_DEFEND + money 350 ; X_SPEED + money 350 ; X_SPECIAL + money 0 ; COIN_CASE + money 0 ; OAKS_PARCEL + money 0 ; ITEMFINDER + money 0 ; SILPH_SCOPE + money 0 ; POKE_FLUTE + money 0 ; LIFT_KEY + money 0 ; EXP_ALL + money 0 ; OLD_ROD + money 0 ; GOOD_ROD + money 0 ; SUPER_ROD + money 0 ; PP_UP + money 0 ; ETHER + money 0 ; MAX_ETHER + money 0 ; ELIXER + money 0 ; MAX_ELIXER + money 0 ; FLOOR_B2F + money 0 ; FLOOR_B1F + money 0 ; FLOOR_1F + money 0 ; FLOOR_2F + money 0 ; FLOOR_3F + money 0 ; FLOOR_4F + money 0 ; FLOOR_5F + money 0 ; FLOOR_6F + money 0 ; FLOOR_7F + money 0 ; FLOOR_8F + money 0 ; FLOOR_9F + money 0 ; FLOOR_10F + money 0 ; FLOOR_11F + money 0 ; FLOOR_B4F diff --git a/data/items/tm_prices.asm b/data/items/tm_prices.asm new file mode 100755 index 00000000..ccc8be05 --- /dev/null +++ b/data/items/tm_prices.asm @@ -0,0 +1,27 @@ +TechnicalMachinePrices: +; In thousands (nybbles). + dn 3, 2 ; TM_01, TM_02 + dn 2, 1 ; TM_03, TM_04 + dn 3, 4 ; TM_05, TM_06 + dn 2, 4 ; TM_07, TM_08 + dn 3, 4 ; TM_09, TM_10 + dn 2, 1 ; TM_11, TM_12 + dn 4, 5 ; TM_13, TM_14 + dn 5, 5 ; TM_15, TM_16 + dn 3, 2 ; TM_17, TM_18 + dn 3, 2 ; TM_19, TM_20 + dn 5, 5 ; TM_21, TM_22 + dn 5, 2 ; TM_23, TM_24 + dn 5, 4 ; TM_25, TM_26 + dn 5, 2 ; TM_27, TM_28 + dn 4, 1 ; TM_29, TM_30 + dn 2, 1 ; TM_31, TM_32 + dn 1, 2 ; TM_33, TM_34 + dn 4, 2 ; TM_35, TM_36 + dn 2, 5 ; TM_37, TM_38 + dn 2, 4 ; TM_39, TM_40 + dn 2, 2 ; TM_41, TM_42 + dn 5, 2 ; TM_43, TM_44 + dn 2, 4 ; TM_45, TM_46 + dn 3, 4 ; TM_47, TM_48 + dn 4, 2 ; TM_49, TM_50 diff --git a/data/items/use_overworld.asm b/data/items/use_overworld.asm new file mode 100644 index 00000000..c2c244fe --- /dev/null +++ b/data/items/use_overworld.asm @@ -0,0 +1,9 @@ +; items which close the item menu when used +UsableItems_CloseMenu: + db ESCAPE_ROPE + db ITEMFINDER + db POKE_FLUTE + db OLD_ROD + db GOOD_ROD + db SUPER_ROD + db $ff diff --git a/data/items/use_party.asm b/data/items/use_party.asm new file mode 100644 index 00000000..0126ed5e --- /dev/null +++ b/data/items/use_party.asm @@ -0,0 +1,39 @@ +; items which bring up the party menu when used +UsableItems_PartyMenu: + db MOON_STONE + db ANTIDOTE + db BURN_HEAL + db ICE_HEAL + db AWAKENING + db PARLYZ_HEAL + db FULL_RESTORE + db MAX_POTION + db HYPER_POTION + db SUPER_POTION + db POTION + db FIRE_STONE + db THUNDER_STONE + db WATER_STONE + db HP_UP + db PROTEIN + db IRON + db CARBOS + db CALCIUM + db RARE_CANDY + db LEAF_STONE + db FULL_HEAL + db REVIVE + db MAX_REVIVE + db FRESH_WATER + db SODA_POP + db LEMONADE + db X_ATTACK + db X_DEFEND + db X_SPEED + db X_SPECIAL + db PP_UP + db ETHER + db MAX_ETHER + db ELIXER + db MAX_ELIXER + db $ff diff --git a/data/items/vending_prices.asm b/data/items/vending_prices.asm new file mode 100644 index 00000000..9a473cc9 --- /dev/null +++ b/data/items/vending_prices.asm @@ -0,0 +1,7 @@ +VendingPrices: + db FRESH_WATER + money 200 + db SODA_POP + money 300 + db LEMONADE + money 350 diff --git a/data/key_items.asm b/data/key_items.asm deleted file mode 100755 index afa586af..00000000 --- a/data/key_items.asm +++ /dev/null @@ -1,12 +0,0 @@ -KeyItemBitfield: - db %11110000 - db %00000001 - db %11110000 - db %01001111 - db %00000000 - db %10011111 - db %00000000 - db %11000000 - db %11110000 - db %00111011 - db %00000000 diff --git a/data/ledge_tiles.asm b/data/ledge_tiles.asm deleted file mode 100644 index b742af1a..00000000 --- a/data/ledge_tiles.asm +++ /dev/null @@ -1,11 +0,0 @@ -LedgeTiles: - ; (player direction) (tile player standing on) (ledge tile) (input required) - db SPRITE_FACING_DOWN, $2C,$37,D_DOWN - db SPRITE_FACING_DOWN, $39,$36,D_DOWN - db SPRITE_FACING_DOWN, $39,$37,D_DOWN - db SPRITE_FACING_LEFT, $2C,$27,D_LEFT - db SPRITE_FACING_LEFT, $39,$27,D_LEFT - db SPRITE_FACING_RIGHT,$2C,$0D,D_RIGHT - db SPRITE_FACING_RIGHT,$2C,$1D,D_RIGHT - db SPRITE_FACING_RIGHT,$39,$0D,D_RIGHT - db $FF diff --git a/data/mapWilds/CeruleanCave1F.asm b/data/mapWilds/CeruleanCave1F.asm new file mode 100644 index 00000000..20e8643a --- /dev/null +++ b/data/mapWilds/CeruleanCave1F.asm @@ -0,0 +1,18 @@ +DungeonMons1: + db $0A + db 46,GOLBAT + db 46,HYPNO + db 46,MAGNETON + db 49,DODRIO + db 49,VENOMOTH + IF DEF(_RED) + db 52,ARBOK + ENDC + IF DEF(_BLUE) + db 52,SANDSLASH + ENDC + db 49,KADABRA + db 52,PARASECT + db 53,RAICHU + db 53,DITTO + db $00 diff --git a/data/mapWilds/CeruleanCave2F.asm b/data/mapWilds/CeruleanCave2F.asm new file mode 100644 index 00000000..5afe55ac --- /dev/null +++ b/data/mapWilds/CeruleanCave2F.asm @@ -0,0 +1,13 @@ +DungeonMons2: + db $0F + db 51,DODRIO + db 51,VENOMOTH + db 51,KADABRA + db 52,RHYDON + db 52,MAROWAK + db 52,ELECTRODE + db 56,CHANSEY + db 54,WIGGLYTUFF + db 55,DITTO + db 60,DITTO + db $00 diff --git a/data/mapWilds/CeruleanCaveB1F.asm b/data/mapWilds/CeruleanCaveB1F.asm new file mode 100644 index 00000000..245d5912 --- /dev/null +++ b/data/mapWilds/CeruleanCaveB1F.asm @@ -0,0 +1,18 @@ +DungeonMonsB1: + db $19 + db 55,RHYDON + db 55,MAROWAK + db 55,ELECTRODE + db 64,CHANSEY + db 64,PARASECT + db 64,RAICHU + IF DEF(_RED) + db 57,ARBOK + ENDC + IF DEF(_BLUE) + db 57,SANDSLASH + ENDC + db 65,DITTO + db 63,DITTO + db 67,DITTO + db $00 diff --git a/data/mapWilds/DiglettsCave.asm b/data/mapWilds/DiglettsCave.asm new file mode 100755 index 00000000..37512687 --- /dev/null +++ b/data/mapWilds/DiglettsCave.asm @@ -0,0 +1,13 @@ +CaveMons: + db $14 + db 18,DIGLETT + db 19,DIGLETT + db 17,DIGLETT + db 20,DIGLETT + db 16,DIGLETT + db 15,DIGLETT + db 21,DIGLETT + db 22,DIGLETT + db 29,DUGTRIO + db 31,DUGTRIO + db $00 diff --git a/data/mapWilds/MtMoon1F.asm b/data/mapWilds/MtMoon1F.asm new file mode 100755 index 00000000..44b34c45 --- /dev/null +++ b/data/mapWilds/MtMoon1F.asm @@ -0,0 +1,13 @@ +MoonMons1: + db $0A + db 8,ZUBAT + db 7,ZUBAT + db 9,ZUBAT + db 8,GEODUDE + db 6,ZUBAT + db 10,ZUBAT + db 10,GEODUDE + db 8,PARAS + db 11,ZUBAT + db 8,CLEFAIRY + db $00 diff --git a/data/mapWilds/MtMoonB1F.asm b/data/mapWilds/MtMoonB1F.asm new file mode 100755 index 00000000..5c0d8a53 --- /dev/null +++ b/data/mapWilds/MtMoonB1F.asm @@ -0,0 +1,13 @@ +MoonMonsB1: + db $0A + db 8,ZUBAT + db 7,ZUBAT + db 7,GEODUDE + db 8,GEODUDE + db 9,ZUBAT + db 10,PARAS + db 10,ZUBAT + db 11,ZUBAT + db 9,CLEFAIRY + db 9,GEODUDE + db $00 diff --git a/data/mapWilds/MtMoonB2F.asm b/data/mapWilds/MtMoonB2F.asm new file mode 100755 index 00000000..cbf97e7e --- /dev/null +++ b/data/mapWilds/MtMoonB2F.asm @@ -0,0 +1,13 @@ +MoonMonsB2: + db $0A + db 9,ZUBAT + db 9,GEODUDE + db 10,ZUBAT + db 10,GEODUDE + db 11,ZUBAT + db 10,PARAS + db 12,PARAS + db 10,CLEFAIRY + db 12,ZUBAT + db 12,CLEFAIRY + db $00 diff --git a/data/mapWilds/PokemonMansion1F.asm b/data/mapWilds/PokemonMansion1F.asm new file mode 100755 index 00000000..22ad032b --- /dev/null +++ b/data/mapWilds/PokemonMansion1F.asm @@ -0,0 +1,27 @@ +MansionMons1: + db $0A + IF DEF(_RED) + db 32,KOFFING + db 30,KOFFING + db 34,PONYTA + db 30,PONYTA + db 34,GROWLITHE + db 32,PONYTA + db 30,GRIMER + db 28,PONYTA + db 37,WEEZING + db 39,MUK + ENDC + IF DEF(_BLUE) + db 32,GRIMER + db 30,GRIMER + db 34,PONYTA + db 30,PONYTA + db 34,VULPIX + db 32,PONYTA + db 30,KOFFING + db 28,PONYTA + db 37,MUK + db 39,WEEZING + ENDC + db $00 diff --git a/data/mapWilds/PokemonMansion2F.asm b/data/mapWilds/PokemonMansion2F.asm new file mode 100755 index 00000000..985474fc --- /dev/null +++ b/data/mapWilds/PokemonMansion2F.asm @@ -0,0 +1,27 @@ +MansionMons2: + db $0A + IF DEF(_RED) + db 32,GROWLITHE + db 34,KOFFING + db 34,KOFFING + db 30,PONYTA + db 30,KOFFING + db 32,PONYTA + db 30,GRIMER + db 28,PONYTA + db 39,WEEZING + db 37,MUK + ENDC + IF DEF(_BLUE) + db 32,VULPIX + db 34,GRIMER + db 34,GRIMER + db 30,PONYTA + db 30,GRIMER + db 32,PONYTA + db 30,KOFFING + db 28,PONYTA + db 39,MUK + db 37,WEEZING + ENDC + db $00 diff --git a/data/mapWilds/PokemonMansion3F.asm b/data/mapWilds/PokemonMansion3F.asm new file mode 100755 index 00000000..9c5521ae --- /dev/null +++ b/data/mapWilds/PokemonMansion3F.asm @@ -0,0 +1,27 @@ +MansionMons3: + db $0A + IF DEF(_RED) + db 31,KOFFING + db 33,GROWLITHE + db 35,KOFFING + db 32,PONYTA + db 34,PONYTA + db 40,WEEZING + db 34,GRIMER + db 38,WEEZING + db 36,PONYTA + db 42,MUK + ENDC + IF DEF(_BLUE) + db 31,GRIMER + db 33,VULPIX + db 35,GRIMER + db 32,PONYTA + db 34,MAGMAR + db 40,MUK + db 34,KOFFING + db 38,MUK + db 36,PONYTA + db 42,WEEZING + ENDC + db $00 diff --git a/data/mapWilds/PokemonMansionB1F.asm b/data/mapWilds/PokemonMansionB1F.asm new file mode 100755 index 00000000..83266ddd --- /dev/null +++ b/data/mapWilds/PokemonMansionB1F.asm @@ -0,0 +1,27 @@ +MansionMonsB1: + db $0A + IF DEF(_RED) + db 33,KOFFING + db 31,KOFFING + db 35,GROWLITHE + db 32,PONYTA + db 31,KOFFING + db 40,WEEZING + db 34,PONYTA + db 35,GRIMER + db 42,WEEZING + db 42,MUK + ENDC + IF DEF(_BLUE) + db 33,GRIMER + db 31,GRIMER + db 35,VULPIX + db 32,PONYTA + db 31,GRIMER + db 40,MUK + db 34,PONYTA + db 35,KOFFING + db 38,MAGMAR + db 42,WEEZING + ENDC + db $00 diff --git a/data/mapWilds/PokemonTower1F.asm b/data/mapWilds/PokemonTower1F.asm new file mode 100755 index 00000000..df951e70 --- /dev/null +++ b/data/mapWilds/PokemonTower1F.asm @@ -0,0 +1,3 @@ +TowerMons1: + db $00 + db $00 diff --git a/data/mapWilds/PokemonTower2F.asm b/data/mapWilds/PokemonTower2F.asm new file mode 100755 index 00000000..dcbe0da0 --- /dev/null +++ b/data/mapWilds/PokemonTower2F.asm @@ -0,0 +1,3 @@ +TowerMons2: + db $00 + db $00 diff --git a/data/mapWilds/PokemonTower3F.asm b/data/mapWilds/PokemonTower3F.asm new file mode 100755 index 00000000..135ed84f --- /dev/null +++ b/data/mapWilds/PokemonTower3F.asm @@ -0,0 +1,13 @@ +TowerMons3: + db $0A + db 20,GASTLY + db 21,GASTLY + db 22,GASTLY + db 23,GASTLY + db 19,GASTLY + db 18,GASTLY + db 24,GASTLY + db 20,CUBONE + db 22,CUBONE + db 25,HAUNTER + db $00 diff --git a/data/mapWilds/PokemonTower4F.asm b/data/mapWilds/PokemonTower4F.asm new file mode 100755 index 00000000..0c84b0cf --- /dev/null +++ b/data/mapWilds/PokemonTower4F.asm @@ -0,0 +1,13 @@ +TowerMons4: + db $0A + db 20,GASTLY + db 21,GASTLY + db 22,GASTLY + db 23,GASTLY + db 19,GASTLY + db 18,GASTLY + db 25,HAUNTER + db 20,CUBONE + db 22,CUBONE + db 24,GASTLY + db $00 diff --git a/data/mapWilds/PokemonTower5F.asm b/data/mapWilds/PokemonTower5F.asm new file mode 100755 index 00000000..440dbf8d --- /dev/null +++ b/data/mapWilds/PokemonTower5F.asm @@ -0,0 +1,13 @@ +TowerMons5: + db $0A + db 20,GASTLY + db 21,GASTLY + db 22,GASTLY + db 23,GASTLY + db 19,GASTLY + db 18,GASTLY + db 25,HAUNTER + db 20,CUBONE + db 22,CUBONE + db 24,GASTLY + db $00 diff --git a/data/mapWilds/PokemonTower6F.asm b/data/mapWilds/PokemonTower6F.asm new file mode 100755 index 00000000..553fdb5d --- /dev/null +++ b/data/mapWilds/PokemonTower6F.asm @@ -0,0 +1,13 @@ +TowerMons6: + db $0F + db 21,GASTLY + db 22,GASTLY + db 23,GASTLY + db 24,GASTLY + db 20,GASTLY + db 19,GASTLY + db 26,HAUNTER + db 22,CUBONE + db 24,CUBONE + db 28,HAUNTER + db $00 diff --git a/data/mapWilds/PokemonTower7F.asm b/data/mapWilds/PokemonTower7F.asm new file mode 100755 index 00000000..0f7e66e9 --- /dev/null +++ b/data/mapWilds/PokemonTower7F.asm @@ -0,0 +1,13 @@ +TowerMons7: + db $0F + db 21,GASTLY + db 22,GASTLY + db 23,GASTLY + db 24,GASTLY + db 20,GASTLY + db 28,HAUNTER + db 22,CUBONE + db 24,CUBONE + db 28,HAUNTER + db 30,HAUNTER + db $00 diff --git a/data/mapWilds/PowerPlant.asm b/data/mapWilds/PowerPlant.asm new file mode 100755 index 00000000..35eece95 --- /dev/null +++ b/data/mapWilds/PowerPlant.asm @@ -0,0 +1,19 @@ +PowerPlantMons: + db $0A + db 21,VOLTORB + db 21,MAGNEMITE + db 20,PIKACHU + db 24,PIKACHU + db 23,MAGNEMITE + db 23,VOLTORB + db 32,MAGNETON + db 35,MAGNETON + IF DEF(_RED) + db 33,ELECTABUZZ + db 36,ELECTABUZZ + ENDC + IF DEF(_BLUE) + db 33,RAICHU + db 36,RAICHU + ENDC + db $00 diff --git a/data/mapWilds/RockTunnel1F.asm b/data/mapWilds/RockTunnel1F.asm new file mode 100755 index 00000000..a36f2092 --- /dev/null +++ b/data/mapWilds/RockTunnel1F.asm @@ -0,0 +1,13 @@ +TunnelMonsB1: + db $0F + db 16,ZUBAT + db 17,ZUBAT + db 17,GEODUDE + db 15,MACHOP + db 16,GEODUDE + db 18,ZUBAT + db 15,ZUBAT + db 17,MACHOP + db 13,ONIX + db 15,ONIX + db $00 diff --git a/data/mapWilds/RockTunnelB1F.asm b/data/mapWilds/RockTunnelB1F.asm new file mode 100755 index 00000000..2fc7ef94 --- /dev/null +++ b/data/mapWilds/RockTunnelB1F.asm @@ -0,0 +1,13 @@ +TunnelMonsB2: + db $0F + db 16,ZUBAT + db 17,ZUBAT + db 17,GEODUDE + db 15,MACHOP + db 16,GEODUDE + db 18,ZUBAT + db 17,MACHOP + db 17,ONIX + db 13,ONIX + db 18,GEODUDE + db $00 diff --git a/data/mapWilds/Route1.asm b/data/mapWilds/Route1.asm new file mode 100755 index 00000000..f618c34f --- /dev/null +++ b/data/mapWilds/Route1.asm @@ -0,0 +1,13 @@ +Route1Mons: + db $19 + db 3,PIDGEY + db 3,RATTATA + db 3,RATTATA + db 2,RATTATA + db 2,PIDGEY + db 3,PIDGEY + db 3,PIDGEY + db 4,RATTATA + db 4,PIDGEY + db 5,PIDGEY + db $00 diff --git a/data/mapWilds/Route10.asm b/data/mapWilds/Route10.asm new file mode 100755 index 00000000..34e0b5ee --- /dev/null +++ b/data/mapWilds/Route10.asm @@ -0,0 +1,27 @@ +Route10Mons: + db $0F + IF DEF(_RED) + db 16,VOLTORB + db 16,SPEAROW + db 14,VOLTORB + db 11,EKANS + db 13,SPEAROW + db 15,EKANS + db 17,VOLTORB + db 17,SPEAROW + db 13,EKANS + db 17,EKANS + ENDC + IF DEF(_BLUE) + db 16,VOLTORB + db 16,SPEAROW + db 14,VOLTORB + db 11,SANDSHREW + db 13,SPEAROW + db 15,SANDSHREW + db 17,VOLTORB + db 17,SPEAROW + db 13,SANDSHREW + db 17,SANDSHREW + ENDC + db $00 diff --git a/data/mapWilds/Route11.asm b/data/mapWilds/Route11.asm new file mode 100755 index 00000000..9e4e3644 --- /dev/null +++ b/data/mapWilds/Route11.asm @@ -0,0 +1,27 @@ +Route11Mons: + db $0F + IF DEF(_RED) + db 14,EKANS + db 15,SPEAROW + db 12,EKANS + db 9,DROWZEE + db 13,SPEAROW + db 13,DROWZEE + db 15,EKANS + db 17,SPEAROW + db 11,DROWZEE + db 15,DROWZEE + ENDC + IF DEF(_BLUE) + db 14,SANDSHREW + db 15,SPEAROW + db 12,SANDSHREW + db 9,DROWZEE + db 13,SPEAROW + db 13,DROWZEE + db 15,SANDSHREW + db 17,SPEAROW + db 11,DROWZEE + db 15,DROWZEE + ENDC + db $00 diff --git a/data/mapWilds/Route12.asm b/data/mapWilds/Route12.asm new file mode 100755 index 00000000..45dfbc9d --- /dev/null +++ b/data/mapWilds/Route12.asm @@ -0,0 +1,27 @@ +Route12Mons: + db $0F + IF DEF(_RED) + db 24,ODDISH + db 25,PIDGEY + db 23,PIDGEY + db 24,VENONAT + db 22,ODDISH + db 26,VENONAT + db 26,ODDISH + db 27,PIDGEY + db 28,GLOOM + db 30,GLOOM + ENDC + IF DEF(_BLUE) + db 24,BELLSPROUT + db 25,PIDGEY + db 23,PIDGEY + db 24,VENONAT + db 22,BELLSPROUT + db 26,VENONAT + db 26,BELLSPROUT + db 27,PIDGEY + db 28,WEEPINBELL + db 30,WEEPINBELL + ENDC + db $00 diff --git a/data/mapWilds/Route13.asm b/data/mapWilds/Route13.asm new file mode 100755 index 00000000..2a1a6cb5 --- /dev/null +++ b/data/mapWilds/Route13.asm @@ -0,0 +1,28 @@ +Route13Mons: + IF DEF(_RED) + db $14 + db 24,ODDISH + db 25,PIDGEY + db 27,PIDGEY + db 24,VENONAT + db 22,ODDISH + db 26,VENONAT + db 26,ODDISH + db 25,DITTO + db 28,GLOOM + db 30,GLOOM + ENDC + IF DEF(_BLUE) + db $14 + db 24,BELLSPROUT + db 25,PIDGEY + db 27,PIDGEY + db 24,VENONAT + db 22,BELLSPROUT + db 26,VENONAT + db 26,BELLSPROUT + db 25,DITTO + db 28,WEEPINBELL + db 30,WEEPINBELL + ENDC + db $00 diff --git a/data/mapWilds/Route14.asm b/data/mapWilds/Route14.asm new file mode 100755 index 00000000..aad5aa48 --- /dev/null +++ b/data/mapWilds/Route14.asm @@ -0,0 +1,27 @@ +Route14Mons: + db $0F + IF DEF(_RED) + db 24,ODDISH + db 26,PIDGEY + db 23,DITTO + db 24,VENONAT + db 22,ODDISH + db 26,VENONAT + db 26,ODDISH + db 30,GLOOM + db 28,PIDGEOTTO + db 30,PIDGEOTTO + ENDC + IF DEF(_BLUE) + db 24,BELLSPROUT + db 26,PIDGEY + db 23,DITTO + db 24,VENONAT + db 22,BELLSPROUT + db 26,VENONAT + db 26,BELLSPROUT + db 30,WEEPINBELL + db 28,PIDGEOTTO + db 30,PIDGEOTTO + ENDC + db $00 diff --git a/data/mapWilds/Route15.asm b/data/mapWilds/Route15.asm new file mode 100755 index 00000000..b4762230 --- /dev/null +++ b/data/mapWilds/Route15.asm @@ -0,0 +1,27 @@ +Route15Mons: + db $0F + IF DEF(_RED) + db 24,ODDISH + db 26,DITTO + db 23,PIDGEY + db 26,VENONAT + db 22,ODDISH + db 28,VENONAT + db 26,ODDISH + db 30,GLOOM + db 28,PIDGEOTTO + db 30,PIDGEOTTO + ENDC + IF DEF(_BLUE) + db 24,BELLSPROUT + db 26,DITTO + db 23,PIDGEY + db 26,VENONAT + db 22,BELLSPROUT + db 28,VENONAT + db 26,BELLSPROUT + db 30,WEEPINBELL + db 28,PIDGEOTTO + db 30,PIDGEOTTO + ENDC + db $00 diff --git a/data/mapWilds/Route16.asm b/data/mapWilds/Route16.asm new file mode 100755 index 00000000..c2421c50 --- /dev/null +++ b/data/mapWilds/Route16.asm @@ -0,0 +1,13 @@ +Route16Mons: + db $19 + db 20,SPEAROW + db 22,SPEAROW + db 18,RATTATA + db 20,DODUO + db 20,RATTATA + db 18,DODUO + db 22,DODUO + db 22,RATTATA + db 23,RATICATE + db 25,RATICATE + db $00 diff --git a/data/mapWilds/Route17.asm b/data/mapWilds/Route17.asm new file mode 100755 index 00000000..8dffd9a3 --- /dev/null +++ b/data/mapWilds/Route17.asm @@ -0,0 +1,13 @@ +Route17Mons: + db $19 + db 20,SPEAROW + db 22,SPEAROW + db 25,RATICATE + db 24,DODUO + db 27,RATICATE + db 26,DODUO + db 28,DODUO + db 29,RATICATE + db 25,FEAROW + db 27,FEAROW + db $00 diff --git a/data/mapWilds/Route18.asm b/data/mapWilds/Route18.asm new file mode 100755 index 00000000..47bd247d --- /dev/null +++ b/data/mapWilds/Route18.asm @@ -0,0 +1,13 @@ +Route18Mons: + db $19 + db 20,SPEAROW + db 22,SPEAROW + db 25,RATICATE + db 24,DODUO + db 25,FEAROW + db 26,DODUO + db 28,DODUO + db 29,RATICATE + db 27,FEAROW + db 29,FEAROW + db $00 diff --git a/data/mapWilds/Route2.asm b/data/mapWilds/Route2.asm new file mode 100755 index 00000000..ad958ea5 --- /dev/null +++ b/data/mapWilds/Route2.asm @@ -0,0 +1,24 @@ +Route2Mons: + db $19 + db 3,RATTATA + db 3,PIDGEY + db 4,PIDGEY + db 4,RATTATA + db 5,PIDGEY + IF DEF(_RED) + db 3,WEEDLE + ENDC + IF DEF(_BLUE) + db 3,CATERPIE + ENDC + db 2,RATTATA + db 5,RATTATA + IF DEF(_RED) + db 4,WEEDLE + db 5,WEEDLE + ENDC + IF DEF(_BLUE) + db 4,CATERPIE + db 5,CATERPIE + ENDC + db $00 diff --git a/data/mapWilds/Route21.asm b/data/mapWilds/Route21.asm new file mode 100755 index 00000000..3cc73ba0 --- /dev/null +++ b/data/mapWilds/Route21.asm @@ -0,0 +1,23 @@ +Route21Mons: + db $19 + db 21,RATTATA + db 23,PIDGEY + db 30,RATICATE + db 23,RATTATA + db 21,PIDGEY + db 30,PIDGEOTTO + db 32,PIDGEOTTO + db 28,TANGELA + db 30,TANGELA + db 32,TANGELA + db $05 + db 5,TENTACOOL + db 10,TENTACOOL + db 15,TENTACOOL + db 5,TENTACOOL + db 10,TENTACOOL + db 15,TENTACOOL + db 20,TENTACOOL + db 30,TENTACOOL + db 35,TENTACOOL + db 40,TENTACOOL diff --git a/data/mapWilds/Route22.asm b/data/mapWilds/Route22.asm new file mode 100755 index 00000000..750a2f4e --- /dev/null +++ b/data/mapWilds/Route22.asm @@ -0,0 +1,27 @@ +Route22Mons: + db $19 + IF DEF(_RED) + db 3,RATTATA + db 3,NIDORAN_M + db 4,RATTATA + db 4,NIDORAN_M + db 2,RATTATA + db 2,NIDORAN_M + db 3,SPEAROW + db 5,SPEAROW + db 3,NIDORAN_F + db 4,NIDORAN_F + ENDC + IF DEF(_BLUE) + db 3,RATTATA + db 3,NIDORAN_F + db 4,RATTATA + db 4,NIDORAN_F + db 2,RATTATA + db 2,NIDORAN_F + db 3,SPEAROW + db 5,SPEAROW + db 3,NIDORAN_M + db 4,NIDORAN_M + ENDC + db $00 diff --git a/data/mapWilds/Route23.asm b/data/mapWilds/Route23.asm new file mode 100755 index 00000000..a057d24d --- /dev/null +++ b/data/mapWilds/Route23.asm @@ -0,0 +1,23 @@ +Route23Mons: + db $0A + IF DEF(_RED) + db 26,EKANS + ENDC + IF DEF(_BLUE) + db 26,SANDSHREW + ENDC + db 33,DITTO + db 26,SPEAROW + db 38,FEAROW + db 38,DITTO + db 38,FEAROW + IF DEF(_RED) + db 41,ARBOK + ENDC + IF DEF(_BLUE) + db 41,SANDSLASH + ENDC + db 43,DITTO + db 41,FEAROW + db 43,FEAROW + db $00 diff --git a/data/mapWilds/Route24.asm b/data/mapWilds/Route24.asm new file mode 100755 index 00000000..3a745f36 --- /dev/null +++ b/data/mapWilds/Route24.asm @@ -0,0 +1,27 @@ +Route24Mons: + db $19 + IF DEF(_RED) + db 7,WEEDLE + db 8,KAKUNA + db 12,PIDGEY + db 12,ODDISH + db 13,ODDISH + db 10,ABRA + db 14,ODDISH + db 13,PIDGEY + db 8,ABRA + db 12,ABRA + ENDC + IF DEF(_BLUE) + db 7,CATERPIE + db 8,METAPOD + db 12,PIDGEY + db 12,BELLSPROUT + db 13,BELLSPROUT + db 10,ABRA + db 14,BELLSPROUT + db 13,PIDGEY + db 8,ABRA + db 12,ABRA + ENDC + db $00 diff --git a/data/mapWilds/Route25.asm b/data/mapWilds/Route25.asm new file mode 100755 index 00000000..4884fa64 --- /dev/null +++ b/data/mapWilds/Route25.asm @@ -0,0 +1,27 @@ +Route25Mons: + db $0F + IF DEF(_RED) + db 8,WEEDLE + db 9,KAKUNA + db 13,PIDGEY + db 12,ODDISH + db 13,ODDISH + db 12,ABRA + db 14,ODDISH + db 10,ABRA + db 7,METAPOD + db 8,CATERPIE + ENDC + IF DEF(_BLUE) + db 8,CATERPIE + db 9,METAPOD + db 13,PIDGEY + db 12,BELLSPROUT + db 13,BELLSPROUT + db 12,ABRA + db 14,BELLSPROUT + db 10,ABRA + db 7,KAKUNA + db 8,WEEDLE + ENDC + db $00 diff --git a/data/mapWilds/Route3.asm b/data/mapWilds/Route3.asm new file mode 100755 index 00000000..dea820a4 --- /dev/null +++ b/data/mapWilds/Route3.asm @@ -0,0 +1,13 @@ +Route3Mons: + db $14 + db 6,PIDGEY + db 5,SPEAROW + db 7,PIDGEY + db 6,SPEAROW + db 7,SPEAROW + db 8,PIDGEY + db 8,SPEAROW + db 3,JIGGLYPUFF + db 5,JIGGLYPUFF + db 7,JIGGLYPUFF + db $00 diff --git a/data/mapWilds/Route4.asm b/data/mapWilds/Route4.asm new file mode 100755 index 00000000..624d58de --- /dev/null +++ b/data/mapWilds/Route4.asm @@ -0,0 +1,27 @@ +Route4Mons: + db $14 + IF DEF(_RED) + db 10,RATTATA + db 10,SPEAROW + db 8,RATTATA + db 6,EKANS + db 8,SPEAROW + db 10,EKANS + db 12,RATTATA + db 12,SPEAROW + db 8,EKANS + db 12,EKANS + ENDC + IF DEF(_BLUE) + db 10,RATTATA + db 10,SPEAROW + db 8,RATTATA + db 6,SANDSHREW + db 8,SPEAROW + db 10,SANDSHREW + db 12,RATTATA + db 12,SPEAROW + db 8,SANDSHREW + db 12,SANDSHREW + ENDC + db $00 diff --git a/data/mapWilds/Route5.asm b/data/mapWilds/Route5.asm new file mode 100755 index 00000000..cb8c583b --- /dev/null +++ b/data/mapWilds/Route5.asm @@ -0,0 +1,27 @@ +Route5Mons: + db $0F + IF DEF(_RED) + db 13,ODDISH + db 13,PIDGEY + db 15,PIDGEY + db 10,MANKEY + db 12,MANKEY + db 15,ODDISH + db 16,ODDISH + db 16,PIDGEY + db 14,MANKEY + db 16,MANKEY + ENDC + IF DEF(_BLUE) + db 13,BELLSPROUT + db 13,PIDGEY + db 15,PIDGEY + db 10,MEOWTH + db 12,MEOWTH + db 15,BELLSPROUT + db 16,BELLSPROUT + db 16,PIDGEY + db 14,MEOWTH + db 16,MEOWTH + ENDC + db $00 diff --git a/data/mapWilds/Route6.asm b/data/mapWilds/Route6.asm new file mode 100755 index 00000000..92512ffb --- /dev/null +++ b/data/mapWilds/Route6.asm @@ -0,0 +1,27 @@ +Route6Mons: + db $0F + IF DEF(_RED) + db 13,ODDISH + db 13,PIDGEY + db 15,PIDGEY + db 10,MANKEY + db 12,MANKEY + db 15,ODDISH + db 16,ODDISH + db 16,PIDGEY + db 14,MANKEY + db 16,MANKEY + ENDC + IF DEF(_BLUE) + db 13,BELLSPROUT + db 13,PIDGEY + db 15,PIDGEY + db 10,MEOWTH + db 12,MEOWTH + db 15,BELLSPROUT + db 16,BELLSPROUT + db 16,PIDGEY + db 14,MEOWTH + db 16,MEOWTH + ENDC + db $00 diff --git a/data/mapWilds/Route7.asm b/data/mapWilds/Route7.asm new file mode 100755 index 00000000..559c98ee --- /dev/null +++ b/data/mapWilds/Route7.asm @@ -0,0 +1,27 @@ +Route7Mons: + db $0F + IF DEF(_RED) + db 19,PIDGEY + db 19,ODDISH + db 17,MANKEY + db 22,ODDISH + db 22,PIDGEY + db 18,MANKEY + db 18,GROWLITHE + db 20,GROWLITHE + db 19,MANKEY + db 20,MANKEY + ENDC + IF DEF(_BLUE) + db 19,PIDGEY + db 19,BELLSPROUT + db 17,MEOWTH + db 22,BELLSPROUT + db 22,PIDGEY + db 18,MEOWTH + db 18,VULPIX + db 20,VULPIX + db 19,MEOWTH + db 20,MEOWTH + ENDC + db $00 diff --git a/data/mapWilds/Route8.asm b/data/mapWilds/Route8.asm new file mode 100755 index 00000000..8a0bfa31 --- /dev/null +++ b/data/mapWilds/Route8.asm @@ -0,0 +1,27 @@ +Route8Mons: + db $0F + IF DEF(_RED) + db 18,PIDGEY + db 18,MANKEY + db 17,EKANS + db 16,GROWLITHE + db 20,PIDGEY + db 20,MANKEY + db 19,EKANS + db 17,GROWLITHE + db 15,GROWLITHE + db 18,GROWLITHE + ENDC + IF DEF(_BLUE) + db 18,PIDGEY + db 18,MEOWTH + db 17,SANDSHREW + db 16,VULPIX + db 20,PIDGEY + db 20,MEOWTH + db 19,SANDSHREW + db 17,VULPIX + db 15,VULPIX + db 18,VULPIX + ENDC + db $00 diff --git a/data/mapWilds/Route9.asm b/data/mapWilds/Route9.asm new file mode 100755 index 00000000..716589b0 --- /dev/null +++ b/data/mapWilds/Route9.asm @@ -0,0 +1,27 @@ +Route9Mons: + db $0F + IF DEF(_RED) + db 16,RATTATA + db 16,SPEAROW + db 14,RATTATA + db 11,EKANS + db 13,SPEAROW + db 15,EKANS + db 17,RATTATA + db 17,SPEAROW + db 13,EKANS + db 17,EKANS + ENDC + IF DEF(_BLUE) + db 16,RATTATA + db 16,SPEAROW + db 14,RATTATA + db 11,SANDSHREW + db 13,SPEAROW + db 15,SANDSHREW + db 17,RATTATA + db 17,SPEAROW + db 13,SANDSHREW + db 17,SANDSHREW + ENDC + db $00 diff --git a/data/mapWilds/SafariZoneCenter.asm b/data/mapWilds/SafariZoneCenter.asm new file mode 100755 index 00000000..0cd5323a --- /dev/null +++ b/data/mapWilds/SafariZoneCenter.asm @@ -0,0 +1,27 @@ +ZoneMonsCenter: + db $1E + IF DEF(_RED) + db 22,NIDORAN_M + db 25,RHYHORN + db 22,VENONAT + db 24,EXEGGCUTE + db 31,NIDORINO + db 25,EXEGGCUTE + db 31,NIDORINA + db 30,PARASECT + db 23,SCYTHER + db 23,CHANSEY + ENDC + IF DEF(_BLUE) + db 22,NIDORAN_F + db 25,RHYHORN + db 22,VENONAT + db 24,EXEGGCUTE + db 31,NIDORINA + db 25,EXEGGCUTE + db 31,NIDORINO + db 30,PARASECT + db 23,PINSIR + db 23,CHANSEY + ENDC + db $00 diff --git a/data/mapWilds/SafariZoneEast.asm b/data/mapWilds/SafariZoneEast.asm new file mode 100755 index 00000000..3d77b6fe --- /dev/null +++ b/data/mapWilds/SafariZoneEast.asm @@ -0,0 +1,27 @@ +ZoneMons1: + db $1E + IF DEF(_RED) + db 24,NIDORAN_M + db 26,DODUO + db 22,PARAS + db 25,EXEGGCUTE + db 33,NIDORINO + db 23,EXEGGCUTE + db 24,NIDORAN_F + db 25,PARASECT + db 25,KANGASKHAN + db 28,SCYTHER + ENDC + IF DEF(_BLUE) + db 24,NIDORAN_F + db 26,DODUO + db 22,PARAS + db 25,EXEGGCUTE + db 33,NIDORINA + db 23,EXEGGCUTE + db 24,NIDORAN_M + db 25,PARASECT + db 25,KANGASKHAN + db 28,PINSIR + ENDC + db $00 diff --git a/data/mapWilds/SafariZoneNorth.asm b/data/mapWilds/SafariZoneNorth.asm new file mode 100755 index 00000000..c1b6a547 --- /dev/null +++ b/data/mapWilds/SafariZoneNorth.asm @@ -0,0 +1,28 @@ +ZoneMons2: + db $1E + IF DEF(_RED) + db 22,NIDORAN_M + ENDC + IF DEF(_BLUE) + db 22,NIDORAN_F + ENDC + db 26,RHYHORN + db 23,PARAS + db 25,EXEGGCUTE + IF DEF(_RED) + db 30,NIDORINO + ENDC + IF DEF(_BLUE) + db 30,NIDORINA + ENDC + db 27,EXEGGCUTE + IF DEF(_RED) + db 30,NIDORINA + ENDC + IF DEF(_BLUE) + db 30,NIDORINO + ENDC + db 32,VENOMOTH + db 26,CHANSEY + db 28,TAUROS + db $00 diff --git a/data/mapWilds/SafariZoneWest.asm b/data/mapWilds/SafariZoneWest.asm new file mode 100755 index 00000000..47b6a102 --- /dev/null +++ b/data/mapWilds/SafariZoneWest.asm @@ -0,0 +1,27 @@ +ZoneMons3: + db $1E + IF DEF(_RED) + db 25,NIDORAN_M + db 26,DODUO + db 23,VENONAT + db 24,EXEGGCUTE + db 33,NIDORINO + db 26,EXEGGCUTE + db 25,NIDORAN_F + db 31,VENOMOTH + db 26,TAUROS + db 28,KANGASKHAN + ENDC + IF DEF(_BLUE) + db 25,NIDORAN_F + db 26,DODUO + db 23,VENONAT + db 24,EXEGGCUTE + db 33,NIDORINA + db 26,EXEGGCUTE + db 25,NIDORAN_M + db 31,VENOMOTH + db 26,TAUROS + db 28,KANGASKHAN + ENDC + db $00 diff --git a/data/mapWilds/SeaRoutes.asm b/data/mapWilds/SeaRoutes.asm new file mode 100755 index 00000000..07c6a187 --- /dev/null +++ b/data/mapWilds/SeaRoutes.asm @@ -0,0 +1,13 @@ +WaterMons: + db $00 + db $05 + db 5,TENTACOOL + db 10,TENTACOOL + db 15,TENTACOOL + db 5,TENTACOOL + db 10,TENTACOOL + db 15,TENTACOOL + db 20,TENTACOOL + db 30,TENTACOOL + db 35,TENTACOOL + db 40,TENTACOOL diff --git a/data/mapWilds/SeafoamIslands1F.asm b/data/mapWilds/SeafoamIslands1F.asm new file mode 100755 index 00000000..3c431f9a --- /dev/null +++ b/data/mapWilds/SeafoamIslands1F.asm @@ -0,0 +1,27 @@ +IslandMons1: + db $0F + IF DEF(_RED) + db 30,SEEL + db 30,SLOWPOKE + db 30,SHELLDER + db 30,HORSEA + db 28,HORSEA + db 21,ZUBAT + db 29,GOLBAT + db 28,PSYDUCK + db 28,SHELLDER + db 38,GOLDUCK + ENDC + IF DEF(_BLUE) + db 30,SEEL + db 30,PSYDUCK + db 30,STARYU + db 30,KRABBY + db 28,KRABBY + db 21,ZUBAT + db 29,GOLBAT + db 28,SLOWPOKE + db 28,STARYU + db 38,SLOWBRO + ENDC + db $00 diff --git a/data/mapWilds/SeafoamIslandsB1F.asm b/data/mapWilds/SeafoamIslandsB1F.asm new file mode 100755 index 00000000..6f96f240 --- /dev/null +++ b/data/mapWilds/SeafoamIslandsB1F.asm @@ -0,0 +1,27 @@ +IslandMonsB1: + db $0A + IF DEF(_RED) + db 30,STARYU + db 30,HORSEA + db 32,SHELLDER + db 32,HORSEA + db 28,SLOWPOKE + db 30,SEEL + db 30,SLOWPOKE + db 28,SEEL + db 38,DEWGONG + db 37,SEADRA + ENDC + IF DEF(_BLUE) + db 30,SHELLDER + db 30,KRABBY + db 32,STARYU + db 32,KRABBY + db 28,PSYDUCK + db 30,SEEL + db 30,PSYDUCK + db 28,SEEL + db 38,DEWGONG + db 37,KINGLER + ENDC + db $00 diff --git a/data/mapWilds/SeafoamIslandsB2F.asm b/data/mapWilds/SeafoamIslandsB2F.asm new file mode 100755 index 00000000..7191fea9 --- /dev/null +++ b/data/mapWilds/SeafoamIslandsB2F.asm @@ -0,0 +1,27 @@ +IslandMonsB2: + db $0A + IF DEF(_RED) + db 30,SEEL + db 30,SLOWPOKE + db 32,SEEL + db 32,SLOWPOKE + db 28,HORSEA + db 30,STARYU + db 30,HORSEA + db 28,SHELLDER + db 30,GOLBAT + db 37,SLOWBRO + ENDC + IF DEF(_BLUE) + db 30,SEEL + db 30,PSYDUCK + db 32,SEEL + db 32,PSYDUCK + db 28,KRABBY + db 30,SHELLDER + db 30,KRABBY + db 28,STARYU + db 30,GOLBAT + db 37,GOLDUCK + ENDC + db $00 diff --git a/data/mapWilds/SeafoamIslandsB3F.asm b/data/mapWilds/SeafoamIslandsB3F.asm new file mode 100755 index 00000000..9778c0e9 --- /dev/null +++ b/data/mapWilds/SeafoamIslandsB3F.asm @@ -0,0 +1,27 @@ +IslandMonsB3: + db $0A + IF DEF(_RED) + db 31,SLOWPOKE + db 31,SEEL + db 33,SLOWPOKE + db 33,SEEL + db 29,HORSEA + db 31,SHELLDER + db 31,HORSEA + db 29,SHELLDER + db 39,SEADRA + db 37,DEWGONG + ENDC + IF DEF(_BLUE) + db 31,PSYDUCK + db 31,SEEL + db 33,PSYDUCK + db 33,SEEL + db 29,KRABBY + db 31,STARYU + db 31,KRABBY + db 29,STARYU + db 39,KINGLER + db 37,DEWGONG + ENDC + db $00 diff --git a/data/mapWilds/SeafoamIslandsB4F.asm b/data/mapWilds/SeafoamIslandsB4F.asm new file mode 100755 index 00000000..3948470b --- /dev/null +++ b/data/mapWilds/SeafoamIslandsB4F.asm @@ -0,0 +1,27 @@ +IslandMonsB4: + db $0A + IF DEF(_RED) + db 31,HORSEA + db 31,SHELLDER + db 33,HORSEA + db 33,SHELLDER + db 29,SLOWPOKE + db 31,SEEL + db 31,SLOWPOKE + db 29,SEEL + db 39,SLOWBRO + db 32,GOLBAT + ENDC + IF DEF(_BLUE) + db 31,KRABBY + db 31,STARYU + db 33,KRABBY + db 33,STARYU + db 29,PSYDUCK + db 31,SEEL + db 31,PSYDUCK + db 29,SEEL + db 39,GOLDUCK + db 32,GOLBAT + ENDC + db $00 diff --git a/data/mapWilds/VictoryRoad1F.asm b/data/mapWilds/VictoryRoad1F.asm new file mode 100755 index 00000000..60aae31a --- /dev/null +++ b/data/mapWilds/VictoryRoad1F.asm @@ -0,0 +1,13 @@ +PlateauMons1: + db $0F + db 24,MACHOP + db 26,GEODUDE + db 22,ZUBAT + db 36,ONIX + db 39,ONIX + db 42,ONIX + db 41,GRAVELER + db 41,GOLBAT + db 42,MACHOKE + db 43,MAROWAK + db $00 diff --git a/data/mapWilds/VictoryRoad2F.asm b/data/mapWilds/VictoryRoad2F.asm new file mode 100755 index 00000000..580d644d --- /dev/null +++ b/data/mapWilds/VictoryRoad2F.asm @@ -0,0 +1,13 @@ +PlateauMons2: + db $0A + db 22,MACHOP + db 24,GEODUDE + db 26,ZUBAT + db 36,ONIX + db 39,ONIX + db 42,ONIX + db 41,MACHOKE + db 40,GOLBAT + db 40,MAROWAK + db 43,GRAVELER + db $00 diff --git a/data/mapWilds/VictoryRoad3F.asm b/data/mapWilds/VictoryRoad3F.asm new file mode 100755 index 00000000..80d7ef3e --- /dev/null +++ b/data/mapWilds/VictoryRoad3F.asm @@ -0,0 +1,13 @@ +PlateauMons3: + db $0F + db 24,MACHOP + db 26,GEODUDE + db 22,ZUBAT + db 42,ONIX + db 40,VENOMOTH + db 45,ONIX + db 43,GRAVELER + db 41,GOLBAT + db 42,MACHOKE + db 45,MACHOKE + db $00 diff --git a/data/mapWilds/ViridianForest.asm b/data/mapWilds/ViridianForest.asm new file mode 100755 index 00000000..ae9a5a70 --- /dev/null +++ b/data/mapWilds/ViridianForest.asm @@ -0,0 +1,25 @@ +ForestMons: + db $08 + IF DEF(_RED) + db 4,WEEDLE + db 5,KAKUNA + db 3,WEEDLE + db 5,WEEDLE + db 4,KAKUNA + db 6,KAKUNA + db 4,METAPOD + db 3,CATERPIE + ENDC + IF DEF(_BLUE) + db 4,CATERPIE + db 5,METAPOD + db 3,CATERPIE + db 5,CATERPIE + db 4,METAPOD + db 6,METAPOD + db 4,KAKUNA + db 3,WEEDLE + ENDC + db 3,PIKACHU + db 5,PIKACHU + db $00 diff --git a/data/mapWilds/nothing.asm b/data/mapWilds/nothing.asm new file mode 100755 index 00000000..ce7f7ede --- /dev/null +++ b/data/mapWilds/nothing.asm @@ -0,0 +1,3 @@ +NoMons: + db $00 + db $00 diff --git a/data/map_header_banks.asm b/data/map_header_banks.asm deleted file mode 100755 index d698cfee..00000000 --- a/data/map_header_banks.asm +++ /dev/null @@ -1,250 +0,0 @@ -; see also MapHeaderPointers -MapHeaderBanks:: - db BANK(PalletTown_h) - db BANK(ViridianCity_h) - db BANK(PewterCity_h) - db BANK(CeruleanCity_h) - db BANK(LavenderTown_h) - db BANK(VermilionCity_h) - db BANK(CeladonCity_h) - db BANK(FuchsiaCity_h) - db BANK(CinnabarIsland_h) - db BANK(IndigoPlateau_h) - db BANK(SaffronCity_h) - db $01 ; UNUSED_MAP_0B - db BANK(Route1_h) - db BANK(Route2_h) - db BANK(Route3_h) - db BANK(Route4_h) - db BANK(Route5_h) - db BANK(Route6_h) - db BANK(Route7_h) - db BANK(Route8_h) - db BANK(Route9_h) - db BANK(Route10_h) - db BANK(Route11_h) - db BANK(Route12_h) - db BANK(Route13_h) - db BANK(Route14_h) - db BANK(Route15_h) - db BANK(Route16_h) - db BANK(Route17_h) - db BANK(Route18_h) - db BANK(Route19_h) - db BANK(Route20_h) - db BANK(Route21_h) - db BANK(Route22_h) - db BANK(Route23_h) - db BANK(Route24_h) - db BANK(Route25_h) - db BANK(RedsHouse1F_h) - db BANK(RedsHouse2F_h) - db BANK(BluesHouse_h) - db BANK(OaksLab_h) - db BANK(ViridianPokecenter_h) - db BANK(ViridianMart_h) - db BANK(ViridianSchoolHouse_h) - db BANK(ViridianNicknameHouse_h) - db BANK(ViridianGym_h) - db BANK(DiglettsCaveRoute2_h) - db BANK(ViridianForestNorthGate_h) - db BANK(Route2TradeHouse_h) - db BANK(Route2Gate_h) - db BANK(ViridianForestSouthGate_h) - db BANK(ViridianForest_h) - db BANK(Museum1F_h) - db BANK(Museum2F_h) - db BANK(PewterGym_h) - db BANK(PewterNidoranHouse_h) - db BANK(PewterMart_h) - db BANK(PewterSpeechHouse_h) - db BANK(PewterPokecenter_h) - db BANK(MtMoon1F_h) - db BANK(MtMoonB1F_h) - db BANK(MtMoonB2F_h) - db BANK(CeruleanTrashedHouse_h) - db BANK(CeruleanTradeHouse_h) - db BANK(CeruleanPokecenter_h) - db BANK(CeruleanGym_h) - db BANK(BikeShop_h) - db BANK(CeruleanMart_h) - db BANK(MtMoonPokecenter_h) - db BANK(CeruleanTrashedHouse_h) - db BANK(Route5Gate_h) - db BANK(UndergroundPathRoute5_h) - db BANK(Daycare_h) - db BANK(Route6Gate_h) - db BANK(UndergroundPathRoute6_h) - db BANK(UndergroundPathRoute6_h) ; UNDERGROUND_PATH_ROUTE_6_COPY - db BANK(Route7Gate_h) - db BANK(UndergroundPathRoute7_h) - db BANK(UndergroundPathRoute7Copy_h) - db BANK(Route8Gate_h) - db BANK(UndergroundPathRoute8_h) - db BANK(RockTunnelPokecenter_h) - db BANK(RockTunnel1F_h) - db BANK(PowerPlant_h) - db BANK(Route11Gate1F_h) - db BANK(DiglettsCaveRoute11_h) - db BANK(Route11Gate2F_h) - db BANK(Route12Gate1F_h) - db BANK(BillsHouse_h) - db BANK(VermilionPokecenter_h) - db BANK(PokemonFanClub_h) - db BANK(VermilionMart_h) - db BANK(VermilionGym_h) - db BANK(VermilionPidgeyHouse_h) - db BANK(VermilionDock_h) - db BANK(SSAnne1F_h) - db BANK(SSAnne2F_h) - db BANK(SSAnne3F_h) - db BANK(SSAnneB1F_h) - db BANK(SSAnneBow_h) - db BANK(SSAnneKitchen_h) - db BANK(SSAnneCaptainsRoom_h) - db BANK(SSAnne1FRooms_h) - db BANK(SSAnne2FRooms_h) - db BANK(SSAnneB1FRooms_h) - db $1D ; UNUSED_MAP_69 - db $1D ; UNUSED_MAP_6A - db $1D ; UNUSED_MAP_6B - db BANK(VictoryRoad1F_h) - db $1D ; UNUSED_MAP_6D - db $1D ; UNUSED_MAP_6E - db $1D ; UNUSED_MAP_6F - db $1D ; UNUSED_MAP_70 - db BANK(LancesRoom_h) - db $1D ; UNUSED_MAP_72 - db $1D ; UNUSED_MAP_73 - db $1D ; UNUSED_MAP_74 - db $1D ; UNUSED_MAP_75 - db BANK(HallOfFame_h) - db BANK(UndergroundPathNorthSouth_h) - db BANK(ChampionsRoom_h) - db BANK(UndergroundPathWestEast_h) - db BANK(CeladonMart1F_h) - db BANK(CeladonMart2F_h) - db BANK(CeladonMart3F_h) - db BANK(CeladonMart4F_h) - db BANK(CeladonMartRoof_h) - db BANK(CeladonMartElevator_h) - db BANK(CeladonMansion1F_h) - db BANK(CeladonMansion2F_h) - db BANK(CeladonMansion3F_h) - db BANK(CeladonMansionRoof_h) - db BANK(CeladonMansionRoofHouse_h) - db BANK(CeladonPokecenter_h) - db BANK(CeladonGym_h) - db BANK(GameCorner_h) - db BANK(CeladonMart5F_h) - db BANK(GameCornerPrizeRoom_h) - db BANK(CeladonDiner_h) - db BANK(CeladonChiefHouse_h) - db BANK(CeladonHotel_h) - db BANK(LavenderPokecenter_h) - db BANK(PokemonTower1F_h) - db BANK(PokemonTower2F_h) - db BANK(PokemonTower3F_h) - db BANK(PokemonTower4F_h) - db BANK(PokemonTower5F_h) - db BANK(PokemonTower6F_h) - db BANK(PokemonTower7F_h) - db BANK(MrFujisHouse_h) - db BANK(LavenderMart_h) - db BANK(LavenderCuboneHouse_h) - db BANK(FuchsiaMart_h) - db BANK(FuchsiaBillsGrandpasHouse_h) - db BANK(FuchsiaPokecenter_h) - db BANK(WardensHouse_h) - db BANK(SafariZoneGate_h) - db BANK(FuchsiaGym_h) - db BANK(FuchsiaMeetingRoom_h) - db BANK(SeafoamIslandsB1F_h) - db BANK(SeafoamIslandsB2F_h) - db BANK(SeafoamIslandsB3F_h) - db BANK(SeafoamIslandsB4F_h) - db BANK(VermilionOldRodHouse_h) - db BANK(FuchsiaGoodRodHouse_h) - db BANK(PokemonMansion1F_h) - db BANK(CinnabarGym_h) - db BANK(CinnabarLab_h) - db BANK(CinnabarLabTradeRoom_h) - db BANK(CinnabarLabMetronomeRoom_h) - db BANK(CinnabarLabFossilRoom_h) - db BANK(CinnabarPokecenter_h) - db BANK(CinnabarMart_h) - db BANK(CinnabarMart_h) - db BANK(IndigoPlateauLobby_h) - db BANK(CopycatsHouse1F_h) - db BANK(CopycatsHouse2F_h) - db BANK(FightingDojo_h) - db BANK(SaffronGym_h) - db BANK(SaffronPidgeyHouse_h) - db BANK(SaffronMart_h) - db BANK(SilphCo1F_h) - db BANK(SaffronPokecenter_h) - db BANK(MrPsychicsHouse_h) - db BANK(Route15Gate1F_h) - db BANK(Route15Gate2F_h) - db BANK(Route16Gate1F_h) - db BANK(Route16Gate2F_h) - db BANK(Route16FlyHouse_h) - db BANK(Route12SuperRodHouse_h) - db BANK(Route18Gate1F_h) - db BANK(Route18Gate2F_h) - db BANK(SeafoamIslands1F_h) - db BANK(Route22Gate_h) - db BANK(VictoryRoad2F_h) - db BANK(Route12Gate2F_h) - db BANK(VermilionTradeHouse_h) - db BANK(DiglettsCave_h) - db BANK(VictoryRoad3F_h) - db BANK(RocketHideoutB1F_h) - db BANK(RocketHideoutB2F_h) - db BANK(RocketHideoutB3F_h) - db BANK(RocketHideoutB4F_h) - db BANK(RocketHideoutElevator_h) - db $01 ; UNUSED_MAP_CC - db $01 ; UNUSED_MAP_CD - db $01 ; UNUSED_MAP_CE - db BANK(SilphCo2F_h) - db BANK(SilphCo3F_h) - db BANK(SilphCo4F_h) - db BANK(SilphCo5F_h) - db BANK(SilphCo6F_h) - db BANK(SilphCo7F_h) - db BANK(SilphCo8F_h) - db BANK(PokemonMansion2F_h) - db BANK(PokemonMansion3F_h) - db BANK(PokemonMansionB1F_h) - db BANK(SafariZoneEast_h) - db BANK(SafariZoneNorth_h) - db BANK(SafariZoneWest_h) - db BANK(SafariZoneCenter_h) - db BANK(SafariZoneCenterRestHouse_h) - db BANK(SafariZoneSecretHouse_h) - db BANK(SafariZoneWestRestHouse_h) - db BANK(SafariZoneEastRestHouse_h) - db BANK(SafariZoneNorthRestHouse_h) - db BANK(CeruleanCave2F_h) - db BANK(CeruleanCaveB1F_h) - db BANK(CeruleanCave1F_h) - db BANK(NameRatersHouse_h) - db BANK(CeruleanBadgeHouse_h) - db $01 ; UNUSED_MAP_E7 - db BANK(RockTunnelB1F_h) - db BANK(SilphCo9F_h) - db BANK(SilphCo10F_h) - db BANK(SilphCo11F_h) - db BANK(SilphCoElevator_h) - db $11 ; UNUSED_MAP_ED - db $11 ; UNUSED_MAP_EE - db BANK(TradeCenter_h) - db BANK(Colosseum_h) - db $11 ; UNUSED_MAP_F1 - db $11 ; UNUSED_MAP_F2 - db $11 ; UNUSED_MAP_F3 - db $11 ; UNUSED_MAP_F4 - db BANK(LoreleisRoom_h) - db BANK(BrunosRoom_h) - db BANK(AgathasRoom_h) diff --git a/data/map_header_pointers.asm b/data/map_header_pointers.asm deleted file mode 100755 index 9d85eaae..00000000 --- a/data/map_header_pointers.asm +++ /dev/null @@ -1,250 +0,0 @@ -; see also MapHeaderBanks -MapHeaderPointers:: - dw PalletTown_h - dw ViridianCity_h - dw PewterCity_h - dw CeruleanCity_h - dw LavenderTown_h - dw VermilionCity_h - dw CeladonCity_h - dw FuchsiaCity_h - dw CinnabarIsland_h - dw IndigoPlateau_h - dw SaffronCity_h - dw SaffronCity_h ; UNUSED_MAP_0B - dw Route1_h - dw Route2_h - dw Route3_h - dw Route4_h - dw Route5_h - dw Route6_h - dw Route7_h - dw Route8_h - dw Route9_h - dw Route10_h - dw Route11_h - dw Route12_h - dw Route13_h - dw Route14_h - dw Route15_h - dw Route16_h - dw Route17_h - dw Route18_h - dw Route19_h - dw Route20_h - dw Route21_h - dw Route22_h - dw Route23_h - dw Route24_h - dw Route25_h - dw RedsHouse1F_h - dw RedsHouse2F_h - dw BluesHouse_h - dw OaksLab_h - dw ViridianPokecenter_h - dw ViridianMart_h - dw ViridianSchoolHouse_h - dw ViridianNicknameHouse_h - dw ViridianGym_h - dw DiglettsCaveRoute2_h - dw ViridianForestNorthGate_h - dw Route2TradeHouse_h - dw Route2Gate_h - dw ViridianForestSouthGate_h - dw ViridianForest_h - dw Museum1F_h - dw Museum2F_h - dw PewterGym_h - dw PewterNidoranHouse_h - dw PewterMart_h - dw PewterSpeechHouse_h - dw PewterPokecenter_h - dw MtMoon1F_h - dw MtMoonB1F_h - dw MtMoonB2F_h - dw CeruleanTrashedHouse_h - dw CeruleanTradeHouse_h - dw CeruleanPokecenter_h - dw CeruleanGym_h - dw BikeShop_h - dw CeruleanMart_h - dw MtMoonPokecenter_h - dw CeruleanTrashedHouse_h ; CERULEAN_TRASHED_HOUSE_COPY - dw Route5Gate_h - dw UndergroundPathRoute5_h - dw Daycare_h - dw Route6Gate_h - dw UndergroundPathRoute6_h - dw UndergroundPathRoute6_h ; UNDERGROUND_PATH_ROUTE_6_COPY - dw Route7Gate_h - dw UndergroundPathRoute7_h - dw UndergroundPathRoute7Copy_h - dw Route8Gate_h - dw UndergroundPathRoute8_h - dw RockTunnelPokecenter_h - dw RockTunnel1F_h - dw PowerPlant_h - dw Route11Gate1F_h - dw DiglettsCaveRoute11_h - dw Route11Gate2F_h - dw Route12Gate1F_h - dw BillsHouse_h - dw VermilionPokecenter_h - dw PokemonFanClub_h - dw VermilionMart_h - dw VermilionGym_h - dw VermilionPidgeyHouse_h - dw VermilionDock_h - dw SSAnne1F_h - dw SSAnne2F_h - dw SSAnne3F_h - dw SSAnneB1F_h - dw SSAnneBow_h - dw SSAnneKitchen_h - dw SSAnneCaptainsRoom_h - dw SSAnne1FRooms_h - dw SSAnne2FRooms_h - dw SSAnneB1FRooms_h - dw LancesRoom_h ; UNUSED_MAP_69 - dw LancesRoom_h ; UNUSED_MAP_6A - dw LancesRoom_h ; UNUSED_MAP_6B - dw VictoryRoad1F_h - dw LancesRoom_h ; UNUSED_MAP_6D - dw LancesRoom_h ; UNUSED_MAP_6E - dw LancesRoom_h ; UNUSED_MAP_6F - dw LancesRoom_h ; UNUSED_MAP_70 - dw LancesRoom_h - dw LancesRoom_h ; UNUSED_MAP_72 - dw LancesRoom_h ; UNUSED_MAP_73 - dw LancesRoom_h ; UNUSED_MAP_74 - dw LancesRoom_h ; UNUSED_MAP_75 - dw HallOfFame_h - dw UndergroundPathNorthSouth_h - dw ChampionsRoom_h - dw UndergroundPathWestEast_h - dw CeladonMart1F_h - dw CeladonMart2F_h - dw CeladonMart3F_h - dw CeladonMart4F_h - dw CeladonMartRoof_h - dw CeladonMartElevator_h - dw CeladonMansion1F_h - dw CeladonMansion2F_h - dw CeladonMansion3F_h - dw CeladonMansionRoof_h - dw CeladonMansionRoofHouse_h - dw CeladonPokecenter_h - dw CeladonGym_h - dw GameCorner_h - dw CeladonMart5F_h - dw GameCornerPrizeRoom_h - dw CeladonDiner_h - dw CeladonChiefHouse_h - dw CeladonHotel_h - dw LavenderPokecenter_h - dw PokemonTower1F_h - dw PokemonTower2F_h - dw PokemonTower3F_h - dw PokemonTower4F_h - dw PokemonTower5F_h - dw PokemonTower6F_h - dw PokemonTower7F_h - dw MrFujisHouse_h - dw LavenderMart_h - dw LavenderCuboneHouse_h - dw FuchsiaMart_h - dw FuchsiaBillsGrandpasHouse_h - dw FuchsiaPokecenter_h - dw WardensHouse_h - dw SafariZoneGate_h - dw FuchsiaGym_h - dw FuchsiaMeetingRoom_h - dw SeafoamIslandsB1F_h - dw SeafoamIslandsB2F_h - dw SeafoamIslandsB3F_h - dw SeafoamIslandsB4F_h - dw VermilionOldRodHouse_h - dw FuchsiaGoodRodHouse_h - dw PokemonMansion1F_h - dw CinnabarGym_h - dw CinnabarLab_h - dw CinnabarLabTradeRoom_h - dw CinnabarLabMetronomeRoom_h - dw CinnabarLabFossilRoom_h - dw CinnabarPokecenter_h - dw CinnabarMart_h - dw CinnabarMart_h ; CINNABAR_MART_COPY - dw IndigoPlateauLobby_h - dw CopycatsHouse1F_h - dw CopycatsHouse2F_h - dw FightingDojo_h - dw SaffronGym_h - dw SaffronPidgeyHouse_h - dw SaffronMart_h - dw SilphCo1F_h - dw SaffronPokecenter_h - dw MrPsychicsHouse_h - dw Route15Gate1F_h - dw Route15Gate2F_h - dw Route16Gate1F_h - dw Route16Gate2F_h - dw Route16FlyHouse_h - dw Route12SuperRodHouse_h - dw Route18Gate1F_h - dw Route18Gate2F_h - dw SeafoamIslands1F_h - dw Route22Gate_h - dw VictoryRoad2F_h - dw Route12Gate2F_h - dw VermilionTradeHouse_h - dw DiglettsCave_h - dw VictoryRoad3F_h - dw RocketHideoutB1F_h - dw RocketHideoutB2F_h - dw RocketHideoutB3F_h - dw RocketHideoutB4F_h - dw RocketHideoutElevator_h - dw RocketHideoutElevator_h ; UNUSED_MAP_CC - dw RocketHideoutElevator_h ; UNUSED_MAP_CD - dw RocketHideoutElevator_h ; UNUSED_MAP_CE - dw SilphCo2F_h - dw SilphCo3F_h - dw SilphCo4F_h - dw SilphCo5F_h - dw SilphCo6F_h - dw SilphCo7F_h - dw SilphCo8F_h - dw PokemonMansion2F_h - dw PokemonMansion3F_h - dw PokemonMansionB1F_h - dw SafariZoneEast_h - dw SafariZoneNorth_h - dw SafariZoneWest_h - dw SafariZoneCenter_h - dw SafariZoneCenterRestHouse_h - dw SafariZoneSecretHouse_h - dw SafariZoneWestRestHouse_h - dw SafariZoneEastRestHouse_h - dw SafariZoneNorthRestHouse_h - dw CeruleanCave2F_h - dw CeruleanCaveB1F_h - dw CeruleanCave1F_h - dw NameRatersHouse_h - dw CeruleanBadgeHouse_h - dw Route16Gate1F_h ; UNUSED_MAP_E7 - dw RockTunnelB1F_h - dw SilphCo9F_h - dw SilphCo10F_h - dw SilphCo11F_h - dw SilphCoElevator_h - dw SilphCo2F_h ; UNUSED_MAP_ED - dw SilphCo2F_h ; UNUSED_MAP_EE - dw TradeCenter_h - dw Colosseum_h - dw SilphCo2F_h ; UNUSED_MAP_F1 - dw SilphCo2F_h ; UNUSED_MAP_F2 - dw SilphCo2F_h ; UNUSED_MAP_F3 - dw SilphCo2F_h ; UNUSED_MAP_F4 - dw LoreleisRoom_h - dw BrunosRoom_h - dw AgathasRoom_h ;247 diff --git a/data/map_songs.asm b/data/map_songs.asm deleted file mode 100755 index 28e17223..00000000 --- a/data/map_songs.asm +++ /dev/null @@ -1,249 +0,0 @@ -MapSongBanks:: - db MUSIC_PALLET_TOWN, BANK(Music_PalletTown) ; PALLET_TOWN - db MUSIC_CITIES1, BANK(Music_Cities1) ; VIRIDIAN_CITY - db MUSIC_CITIES1, BANK(Music_Cities1) ; PEWTER_CITY - db MUSIC_CITIES2, BANK(Music_Cities2) ; CERULEAN_CITY - db MUSIC_LAVENDER, BANK(Music_Lavender) ; LAVENDER_TOWN - db MUSIC_VERMILION, BANK(Music_Vermilion) ; VERMILION_CITY - db MUSIC_CELADON, BANK(Music_Celadon) ; CELADON_CITY - db MUSIC_CITIES2, BANK(Music_Cities2) ; FUCHSIA_CITY - db MUSIC_CINNABAR, BANK(Music_Cinnabar) ; CINNABAR_ISLAND - db MUSIC_INDIGO_PLATEAU, BANK(Music_IndigoPlateau) ; INDIGO_PLATEAU - db MUSIC_CITIES1, BANK(Music_Cities1) ; SAFFRON_CITY - db MUSIC_CITIES1, BANK(Music_Cities1) ; UNUSED_MAP_0B - db MUSIC_ROUTES1, BANK(Music_Routes1) ; ROUTE_1 - db MUSIC_ROUTES1, BANK(Music_Routes1) ; ROUTE_2 - db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_3 - db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_4 - db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_5 - db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_6 - db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_7 - db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_8 - db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_9 - db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_10 - db MUSIC_ROUTES4, BANK(Music_Routes4) ; ROUTE_11 - db MUSIC_ROUTES4, BANK(Music_Routes4) ; ROUTE_12 - db MUSIC_ROUTES4, BANK(Music_Routes4) ; ROUTE_13 - db MUSIC_ROUTES4, BANK(Music_Routes4) ; ROUTE_14 - db MUSIC_ROUTES4, BANK(Music_Routes4) ; ROUTE_15 - db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_16 - db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_17 - db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_18 - db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_19 - db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_20 - db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_21 - db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_22 - db MUSIC_INDIGO_PLATEAU, BANK(Music_IndigoPlateau) ; ROUTE_23 - db MUSIC_ROUTES2, BANK(Music_Routes2) ; ROUTE_24 - db MUSIC_ROUTES2, BANK(Music_Routes2) ; ROUTE_25 - db MUSIC_PALLET_TOWN, BANK(Music_PalletTown) ; REDS_HOUSE_1F - db MUSIC_PALLET_TOWN, BANK(Music_PalletTown) ; REDS_HOUSE_2F - db MUSIC_PALLET_TOWN, BANK(Music_PalletTown) ; BLUES_HOUSE - db MUSIC_OAKS_LAB, BANK(Music_OaksLab) ; OAKS_LAB - db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; VIRIDIAN_POKECENTER - db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; VIRIDIAN_MART - db MUSIC_CITIES1, BANK(Music_Cities1) ; VIRIDIAN_SCHOOL_HOUSE - db MUSIC_CITIES1, BANK(Music_Cities1) ; VIRIDIAN_NICKNAME_HOUSE - db MUSIC_GYM, BANK(Music_Gym) ; VIRIDIAN_GYM - db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; DIGLETTS_CAVE_ROUTE_2 - db MUSIC_CITIES1, BANK(Music_Cities1) ; VIRIDIAN_FOREST_NORTH_GATE - db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_2_TRADE_HOUSE - db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_2_GATE - db MUSIC_CITIES1, BANK(Music_Cities1) ; VIRIDIAN_FOREST_SOUTH_GATE - db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; VIRIDIAN_FOREST - db MUSIC_CITIES1, BANK(Music_Cities1) ; MUSEUM_1F - db MUSIC_CITIES1, BANK(Music_Cities1) ; MUSEUM_2F - db MUSIC_GYM, BANK(Music_Gym) ; PEWTER_GYM - db MUSIC_CITIES1, BANK(Music_Cities1) ; PEWTER_NIDORAN_HOUSE - db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; PEWTER_MART - db MUSIC_CITIES1, BANK(Music_Cities1) ; PEWTER_SPEECH_HOUSE - db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; PEWTER_POKECENTER - db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; MT_MOON_1F - db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; MT_MOON_B1F - db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; MT_MOON_B2F - db MUSIC_CITIES2, BANK(Music_Cities2) ; CERULEAN_TRASHED_HOUSE - db MUSIC_CITIES2, BANK(Music_Cities2) ; CERULEAN_TRADE_HOUSE - db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CERULEAN_POKECENTER - db MUSIC_GYM, BANK(Music_Gym) ; CERULEAN_GYM - db MUSIC_CITIES2, BANK(Music_Cities2) ; BIKE_SHOP - db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CERULEAN_MART - db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; MT_MOON_POKECENTER - db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; CERULEAN_TRASHED_HOUSE_COPY - db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_5_GATE - db MUSIC_CITIES1, BANK(Music_Cities1) ; UNDERGROUND_PATH_ROUTE_5 - db MUSIC_CITIES1, BANK(Music_Cities1) ; DAYCARE - db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_6_GATE - db MUSIC_CITIES1, BANK(Music_Cities1) ; UNDERGROUND_PATH_ROUTE_6 - db MUSIC_VERMILION, BANK(Music_Vermilion) ; UNDERGROUND_PATH_ROUTE_6_COPY - db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_7_GATE - db MUSIC_CITIES1, BANK(Music_Cities1) ; UNDERGROUND_PATH_ROUTE_7 - db MUSIC_CELADON, BANK(Music_Celadon) ; UNDERGROUND_PATH_ROUTE_7_COPY - db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_8_GATE - db MUSIC_CITIES1, BANK(Music_Cities1) ; UNDERGROUND_PATH_ROUTE_8 - db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; ROCK_TUNNEL_POKECENTER - db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; ROCK_TUNNEL_1F - db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; POWER_PLANT - db MUSIC_VERMILION, BANK(Music_Vermilion) ; ROUTE_11_GATE_1F - db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; DIGLETTS_CAVE_ROUTE_11 - db MUSIC_VERMILION, BANK(Music_Vermilion) ; ROUTE_11_GATE_2F - db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_12_GATE_1F - db MUSIC_CITIES2, BANK(Music_Cities2) ; BILLS_HOUSE - db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; VERMILION_POKECENTER - db MUSIC_VERMILION, BANK(Music_Vermilion) ; POKEMON_FAN_CLUB - db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; VERMILION_MART - db MUSIC_GYM, BANK(Music_Gym) ; VERMILION_GYM - db MUSIC_VERMILION, BANK(Music_Vermilion) ; VERMILION_PIDGEY_HOUSE - db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; VERMILION_DOCK - db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SS_ANNE_1F - db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SS_ANNE_2F - db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SS_ANNE_3F - db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SS_ANNE_B1F - db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SS_ANNE_BOW - db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SS_ANNE_KITCHEN - db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SS_ANNE_CAPTAINS_ROOM - db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SS_ANNE_1F_ROOMS - db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SS_ANNE_2F_ROOMS - db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SS_ANNE_B1F_ROOMS - db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; UNUSED_MAP_69 - db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; UNUSED_MAP_6A - db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; UNUSED_MAP_6B - db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; VICTORY_ROAD_1F - db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; UNUSED_MAP_6D - db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; UNUSED_MAP_6E - db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; UNUSED_MAP_6F - db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; UNUSED_MAP_70 - db MUSIC_INDIGO_PLATEAU, BANK(Music_IndigoPlateau) ; LANCES_ROOM - db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; UNUSED_MAP_72 - db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; UNUSED_MAP_73 - db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; UNUSED_MAP_74 - db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; UNUSED_MAP_75 - db MUSIC_PALLET_TOWN, BANK(Music_PalletTown) ; HALL_OF_FAME - db MUSIC_ROUTES1, BANK(Music_Routes1) ; UNDERGROUND_PATH_NORTH_SOUTH - db MUSIC_INDIGO_PLATEAU, BANK(Music_IndigoPlateau) ; CHAMPIONS_ROOM - db MUSIC_ROUTES1, BANK(Music_Routes1) ; UNDERGROUND_PATH_WEST_EAST - db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CELADON_MART_1F - db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CELADON_MART_2F - db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CELADON_MART_3F - db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CELADON_MART_4F - db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CELADON_MART_ROOF - db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CELADON_MART_ELEVATOR - db MUSIC_CELADON, BANK(Music_Celadon) ; CELADON_MANSION_1F - db MUSIC_CELADON, BANK(Music_Celadon) ; CELADON_MANSION_2F - db MUSIC_CELADON, BANK(Music_Celadon) ; CELADON_MANSION_3F - db MUSIC_CELADON, BANK(Music_Celadon) ; CELADON_MANSION_ROOF - db MUSIC_CELADON, BANK(Music_Celadon) ; CELADON_MANSION_ROOF_HOUSE - db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CELADON_POKECENTER - db MUSIC_GYM, BANK(Music_Gym) ; CELADON_GYM - db MUSIC_GAME_CORNER, BANK(Music_GameCorner) ; GAME_CORNER - db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CELADON_MART_5F - db MUSIC_CELADON, BANK(Music_Celadon) ; GAME_CORNER_PRIZE_ROOM - db MUSIC_CELADON, BANK(Music_Celadon) ; CELADON_DINER - db MUSIC_CELADON, BANK(Music_Celadon) ; CELADON_CHIEF_HOUSE - db MUSIC_CELADON, BANK(Music_Celadon) ; CELADON_HOTEL - db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; LAVENDER_POKECENTER - db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; POKEMON_TOWER_1F - db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; POKEMON_TOWER_2F - db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; POKEMON_TOWER_3F - db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; POKEMON_TOWER_4F - db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; POKEMON_TOWER_5F - db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; POKEMON_TOWER_6F - db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; POKEMON_TOWER_7F - db MUSIC_LAVENDER, BANK(Music_Lavender) ; MR_FUJIS_HOUSE - db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; LAVENDER_MART - db MUSIC_LAVENDER, BANK(Music_Lavender) ; LAVENDER_CUBONE_HOUSE - db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; FUCHSIA_MART - db MUSIC_CITIES2, BANK(Music_Cities2) ; FUCHSIA_BILLS_GRANDPAS_HOUSE - db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; FUCHSIA_POKECENTER - db MUSIC_CITIES2, BANK(Music_Cities2) ; WARDENS_HOUSE - db MUSIC_CITIES2, BANK(Music_Cities2) ; SAFARI_ZONE_GATE - db MUSIC_GYM, BANK(Music_Gym) ; FUCHSIA_GYM - db MUSIC_CITIES2, BANK(Music_Cities2) ; FUCHSIA_MEETING_ROOM - db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; SEAFOAM_ISLANDS_B1F - db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; SEAFOAM_ISLANDS_B2F - db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; SEAFOAM_ISLANDS_B3F - db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; SEAFOAM_ISLANDS_B4F - db MUSIC_CITIES2, BANK(Music_Cities2) ; VERMILION_OLD_ROD_HOUSE - db MUSIC_CITIES2, BANK(Music_Cities2) ; FUCHSIA_GOOD_ROD_HOUSE - db MUSIC_CINNABAR_MANSION, BANK(Music_CinnabarMansion) ; POKEMON_MANSION_1F - db MUSIC_GYM, BANK(Music_Gym) ; CINNABAR_GYM - db MUSIC_CINNABAR, BANK(Music_Cinnabar) ; CINNABAR_LAB - db MUSIC_CINNABAR, BANK(Music_Cinnabar) ; CINNABAR_LAB_TRADE_ROOM - db MUSIC_CINNABAR, BANK(Music_Cinnabar) ; CINNABAR_LAB_METRONOME_ROOM - db MUSIC_CINNABAR, BANK(Music_Cinnabar) ; CINNABAR_LAB_FOSSIL_ROOM - db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CINNABAR_POKECENTER - db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CINNABAR_MART - db MUSIC_CINNABAR, BANK(Music_Cinnabar) ; CINNABAR_MART_COPY - db MUSIC_INDIGO_PLATEAU, BANK(Music_IndigoPlateau) ; INDIGO_PLATEAU_LOBBY - db MUSIC_CITIES1, BANK(Music_Cities1) ; COPYCATS_HOUSE_1F - db MUSIC_CITIES1, BANK(Music_Cities1) ; COPYCATS_HOUSE_2F - db MUSIC_CITIES1, BANK(Music_Cities1) ; FIGHTING_DOJO - db MUSIC_GYM, BANK(Music_Gym) ; SAFFRON_GYM - db MUSIC_CITIES1, BANK(Music_Cities1) ; SAFFRON_PIDGEY_HOUSE - db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; SAFFRON_MART - db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_1F - db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; SAFFRON_POKECENTER - db MUSIC_CITIES1, BANK(Music_Cities1) ; MR_PSYCHICS_HOUSE - db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_15_GATE_1F - db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_15_GATE_2F - db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_16_GATE_1F - db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_16_GATE_2F - db MUSIC_CELADON, BANK(Music_Celadon) ; ROUTE_16_FLY_HOUSE - db MUSIC_CELADON, BANK(Music_Celadon) ; ROUTE_12_SUPER_ROD_HOUSE - db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_18_GATE_1F - db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_18_GATE_2F - db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; SEAFOAM_ISLANDS_1F - db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; ROUTE_22_GATE - db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; VICTORY_ROAD_2F - db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_12_GATE_2F - db MUSIC_VERMILION, BANK(Music_Vermilion) ; VERMILION_TRADE_HOUSE - db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; DIGLETTS_CAVE - db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; VICTORY_ROAD_3F - db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; ROCKET_HIDEOUT_B1F - db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; ROCKET_HIDEOUT_B2F - db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; ROCKET_HIDEOUT_B3F - db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; ROCKET_HIDEOUT_B4F - db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; ROCKET_HIDEOUT_ELEVATOR - db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; UNUSED_MAP_CC - db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; UNUSED_MAP_CD - db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; UNUSED_MAP_CE - db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_2F - db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_3F - db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_4F - db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_5F - db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_6F - db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_7F - db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_8F - db MUSIC_CINNABAR_MANSION, BANK(Music_CinnabarMansion) ; POKEMON_MANSION_2F - db MUSIC_CINNABAR_MANSION, BANK(Music_CinnabarMansion) ; POKEMON_MANSION_3F - db MUSIC_CINNABAR_MANSION, BANK(Music_CinnabarMansion) ; POKEMON_MANSION_B1F - db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SAFARI_ZONE_EAST - db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SAFARI_ZONE_NORTH - db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SAFARI_ZONE_WEST - db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SAFARI_ZONE_CENTER - db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SAFARI_ZONE_CENTER_REST_HOUSE - db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SAFARI_ZONE_SECRET_HOUSE - db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SAFARI_ZONE_WEST_REST_HOUSE - db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SAFARI_ZONE_EAST_REST_HOUSE - db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SAFARI_ZONE_NORTH_REST_HOUSE - db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; CERULEAN_CAVE_2F - db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; CERULEAN_CAVE_B1F - db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; CERULEAN_CAVE_1F - db MUSIC_CITIES2, BANK(Music_Cities2) ; NAME_RATERS_HOUSE - db MUSIC_CITIES1, BANK(Music_Cities1) ; CERULEAN_BADGE_HOUSE - db MUSIC_CINNABAR, BANK(Music_Cinnabar) ; UNUSED_MAP_E7 - db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; ROCK_TUNNEL_B1F - db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_9F - db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_10F - db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_11F - db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_ELEVATOR - db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; UNUSED_MAP_ED - db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; UNUSED_MAP_EE - db MUSIC_CELADON, BANK(Music_Celadon) ; TRADE_CENTER - db MUSIC_CELADON, BANK(Music_Celadon) ; COLOSSEUM - db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; UNUSED_MAP_F1 - db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; UNUSED_MAP_F2 - db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; UNUSED_MAP_F3 - db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; UNUSED_MAP_F4 - db MUSIC_GYM, BANK(Music_Gym) ; LORELEIS_ROOM - db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; BRUNOS_ROOM - db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; AGATHAS_ROOM diff --git a/data/maps/dungeon_maps.asm b/data/maps/dungeon_maps.asm new file mode 100644 index 00000000..118cf46b --- /dev/null +++ b/data/maps/dungeon_maps.asm @@ -0,0 +1,29 @@ +; GetBattleTransitionID_IsDungeonMap checks if wCurMap +; is equal to one of these maps +DungeonMaps1: + db VIRIDIAN_FOREST + db ROCK_TUNNEL_1F + db SEAFOAM_ISLANDS_1F + db ROCK_TUNNEL_B1F + db $FF + +; GetBattleTransitionID_IsDungeonMap checks if wCurMap +; is in between or equal to each pair of maps +DungeonMaps2: + ; all MT_MOON maps + db MT_MOON_1F + db MT_MOON_B2F + + ; all SS_ANNE maps, VICTORY_ROAD_1F, LANCES_ROOM, and HALL_OF_FAME + db SS_ANNE_1F + db HALL_OF_FAME + + ; all POKEMON_TOWER maps and Lavender Town buildings + db LAVENDER_POKECENTER + db LAVENDER_CUBONE_HOUSE + + ; SILPH_CO_[2-8]F, POKEMON_MANSION[2F-B1F], SAFARI_ZONE, and + ; CERULEAN_CAVE maps, except for SILPH_CO_1F + db SILPH_CO_2F + db CERULEAN_CAVE_1F + db $FF diff --git a/data/maps/force_bike_surf.asm b/data/maps/force_bike_surf.asm new file mode 100755 index 00000000..fb352aa9 --- /dev/null +++ b/data/maps/force_bike_surf.asm @@ -0,0 +1,11 @@ +ForcedBikeOrSurfMaps: +; map id, y, x + db ROUTE_16,$0A,$11 + db ROUTE_16,$0B,$11 + db ROUTE_18,$08,$21 + db ROUTE_18,$09,$21 + db SEAFOAM_ISLANDS_B3F,$07,$12 + db SEAFOAM_ISLANDS_B3F,$07,$13 + db SEAFOAM_ISLANDS_B4F,$0E,$04 + db SEAFOAM_ISLANDS_B4F,$0E,$05 + db $FF ;end diff --git a/data/maps/hide_show_data.asm b/data/maps/hide_show_data.asm new file mode 100755 index 00000000..7f4593ca --- /dev/null +++ b/data/maps/hide_show_data.asm @@ -0,0 +1,577 @@ +; data for default hidden/shown +; objects for each map ($00-$F8) + +; Table of 2-Byte pointers, one pointer per map, +; goes up to Map_F7, ends with $FFFF. +; points to table listing all missable object in the area +MapHSPointers: + dw MapHS00 + dw MapHS01 + dw MapHS02 + dw MapHS03 + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHS0A + dw MapHSXX + dw MapHSXX + dw MapHS0D + dw MapHSXX + dw MapHS0F + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHS14 + dw MapHSXX + dw MapHSXX + dw MapHS17 + dw MapHSXX + dw MapHSXX + dw MapHS1A + dw MapHS1B + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHS21 + dw MapHSXX + dw MapHS23 + dw MapHS24 + dw MapHSXX + dw MapHSXX + dw MapHS27 + dw MapHS28 + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHS2D + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHS33 + dw MapHS34 + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHS3B + dw MapHSXX + dw MapHS3D + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHS53 + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHS58 + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHS60 + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHS66 + dw MapHS67 + dw MapHS68 + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHS6C + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHS78 + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHS84 + dw MapHSXX + dw MapHSXX + dw MapHS87 + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHS8F + dw MapHS90 + dw MapHS91 + dw MapHS92 + dw MapHS93 + dw MapHS94 + dw MapHS95 + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHS9B + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHS9F + dw MapHSA0 + dw MapHSA1 + dw MapHSA2 + dw MapHSXX + dw MapHSXX + dw MapHSA5 + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSB1 + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSB5 + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSC0 + dw MapHSXX + dw MapHSC2 + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSC6 + dw MapHSC7 + dw MapHSC8 + dw MapHSC9 + dw MapHSCA + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSCF + dw MapHSD0 + dw MapHSD1 + dw MapHSD2 + dw MapHSD3 + dw MapHSD4 + dw MapHSD5 + dw MapHSD6 + dw MapHSD7 + dw MapHSD8 + dw MapHSD9 + dw MapHSDA + dw MapHSDB + dw MapHSDC + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSE2 + dw MapHSE3 + dw MapHSE4 + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSE9 + dw MapHSEA + dw MapHSEB + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw MapHSF4 + dw MapHSXX + dw MapHSXX + dw MapHSXX + dw $FFFF + +; Structure: +; 3 bytes per object +; [Map_ID][Object_ID][H/S] +; +; Program stops reading when either: +; a) Map_ID = $FF +; b) Map_ID ≠ currentMapID +; +; This Data is loaded into RAM at wd5ce-$D5F?. (wMissableObjectList) + +; These constants come from the bytes for Predef functions: +Hide equ $11 +Show equ $15 + +MapHSXX: + db $FF,$FF,$FF +MapHS00: + db PALLET_TOWN,$01,Hide +MapHS01: + db VIRIDIAN_CITY,$05,Show + db VIRIDIAN_CITY,$07,Hide +MapHS02: + db PEWTER_CITY,$03,Show + db PEWTER_CITY,$05,Show +MapHS03: + db CERULEAN_CITY,$01,Hide + db CERULEAN_CITY,$02,Show + db CERULEAN_CITY,$06,Hide + db CERULEAN_CITY,$0A,Show + db CERULEAN_CITY,$0B,Show +MapHS0A: + db SAFFRON_CITY,$01,Show + db SAFFRON_CITY,$02,Show + db SAFFRON_CITY,$03,Show + db SAFFRON_CITY,$04,Show + db SAFFRON_CITY,$05,Show + db SAFFRON_CITY,$06,Show + db SAFFRON_CITY,$07,Show + db SAFFRON_CITY,$08,Hide + db SAFFRON_CITY,$09,Hide + db SAFFRON_CITY,$0A,Hide + db SAFFRON_CITY,$0B,Hide + db SAFFRON_CITY,$0C,Hide + db SAFFRON_CITY,$0D,Hide + db SAFFRON_CITY,$0E,Show + db SAFFRON_CITY,$0F,Hide +MapHS0D: + db ROUTE_2,$01,Show + db ROUTE_2,$02,Show +MapHS0F: + db ROUTE_4,$03,Show +MapHS14: + db ROUTE_9,$0A,Show +MapHS17: + db ROUTE_12,$01,Show + db ROUTE_12,$09,Show + db ROUTE_12,$0A,Show +MapHS1A: + db ROUTE_15,$0B,Show +MapHS1B: + db ROUTE_16,$07,Show +MapHS21: + db ROUTE_22,$01,Hide + db ROUTE_22,$02,Hide +MapHS23: + db ROUTE_24,$01,Show + db ROUTE_24,$08,Show +MapHS24: + db ROUTE_25,$0A,Show +MapHS27: + db BLUES_HOUSE,$01,Show + db BLUES_HOUSE,$02,Hide + db BLUES_HOUSE,$03,Show +MapHS28: + db OAKS_LAB,$01,Show + db OAKS_LAB,$02,Show + db OAKS_LAB,$03,Show + db OAKS_LAB,$04,Show + db OAKS_LAB,$05,Hide + db OAKS_LAB,$06,Show + db OAKS_LAB,$07,Show + db OAKS_LAB,$08,Hide +MapHS2D: + db VIRIDIAN_GYM,$01,Show + db VIRIDIAN_GYM,$0B,Show +MapHS34: + db MUSEUM_1F,$05,Show +MapHSE4: + db CERULEAN_CAVE_1F,$01,Show + db CERULEAN_CAVE_1F,$02,Show + db CERULEAN_CAVE_1F,$03,Show +MapHS8F: + db POKEMON_TOWER_2F,$01,Show +MapHS90: + db POKEMON_TOWER_3F,$04,Show +MapHS91: + db POKEMON_TOWER_4F,$04,Show + db POKEMON_TOWER_4F,$05,Show + db POKEMON_TOWER_4F,$06,Show +MapHS92: + db POKEMON_TOWER_5F,$06,Show +MapHS93: + db POKEMON_TOWER_6F,$04,Show + db POKEMON_TOWER_6F,$05,Show +MapHS94: + db POKEMON_TOWER_7F,$01,Show + db POKEMON_TOWER_7F,$02,Show + db POKEMON_TOWER_7F,$03,Show + db POKEMON_TOWER_7F,$04,Show +MapHS95: + db MR_FUJIS_HOUSE,$05,Hide +MapHS84: + db CELADON_MANSION_ROOF_HOUSE,$02,Show +MapHS87: + db GAME_CORNER,$0B,Show +MapHS9B: + db WARDENS_HOUSE,$02,Show +MapHSA5: + db POKEMON_MANSION_1F,$02,Show + db POKEMON_MANSION_1F,$03,Show +MapHSB1: + db FIGHTING_DOJO,$06,Show + db FIGHTING_DOJO,$07,Show +MapHSB5: + db SILPH_CO_1F,$01,Hide +MapHS53: + db POWER_PLANT,$01,Show + db POWER_PLANT,$02,Show + db POWER_PLANT,$03,Show + db POWER_PLANT,$04,Show + db POWER_PLANT,$05,Show + db POWER_PLANT,$06,Show + db POWER_PLANT,$07,Show + db POWER_PLANT,$08,Show + db POWER_PLANT,$09,Show + db POWER_PLANT,$0A,Show + db POWER_PLANT,$0B,Show + db POWER_PLANT,$0C,Show + db POWER_PLANT,$0D,Show + db POWER_PLANT,$0E,Show +MapHSC2: + db VICTORY_ROAD_2F,$06,Show + db VICTORY_ROAD_2F,$07,Show + db VICTORY_ROAD_2F,$08,Show + db VICTORY_ROAD_2F,$09,Show + db VICTORY_ROAD_2F,$0A,Show + db VICTORY_ROAD_2F,$0D,Show +MapHS58: + db BILLS_HOUSE,$01,Show + db BILLS_HOUSE,$02,Hide + db BILLS_HOUSE,$03,Hide +MapHS33: + db VIRIDIAN_FOREST,$05,Show + db VIRIDIAN_FOREST,$06,Show + db VIRIDIAN_FOREST,$07,Show +MapHS3B: + db MT_MOON_1F,$08,Show + db MT_MOON_1F,$09,Show + db MT_MOON_1F,$0A,Show + db MT_MOON_1F,$0B,Show + db MT_MOON_1F,$0C,Show + db MT_MOON_1F,$0D,Show +MapHS3D: + db MT_MOON_B2F,$06,Show + db MT_MOON_B2F,$07,Show + db MT_MOON_B2F,$08,Show + db MT_MOON_B2F,$09,Show +MapHS60: + db SS_ANNE_2F,$02,Hide +MapHS66: + db SS_ANNE_1F_ROOMS,$0A,Show +MapHS67: + db SS_ANNE_2F_ROOMS,$06,Show + db SS_ANNE_2F_ROOMS,$09,Show +MapHS68: + db SS_ANNE_B1F_ROOMS,$09,Show + db SS_ANNE_B1F_ROOMS,$0A,Show + db SS_ANNE_B1F_ROOMS,$0B,Show +MapHSC6: + db VICTORY_ROAD_3F,$05,Show + db VICTORY_ROAD_3F,$06,Show + db VICTORY_ROAD_3F,$0A,Show +MapHSC7: + db ROCKET_HIDEOUT_B1F,$06,Show + db ROCKET_HIDEOUT_B1F,$07,Show +MapHSC8: + db ROCKET_HIDEOUT_B2F,$02,Show + db ROCKET_HIDEOUT_B2F,$03,Show + db ROCKET_HIDEOUT_B2F,$04,Show + db ROCKET_HIDEOUT_B2F,$05,Show +MapHSC9: + db ROCKET_HIDEOUT_B3F,$03,Show + db ROCKET_HIDEOUT_B3F,$04,Show +MapHSCA: + db ROCKET_HIDEOUT_B4F,$01,Show + db ROCKET_HIDEOUT_B4F,$05,Show + db ROCKET_HIDEOUT_B4F,$06,Show + db ROCKET_HIDEOUT_B4F,$07,Show + db ROCKET_HIDEOUT_B4F,$08,Hide + db ROCKET_HIDEOUT_B4F,$09,Hide +MapHSCF: + db SILPH_CO_2F,$01,Show + db SILPH_CO_2F,$02,Show + db SILPH_CO_2F,$03,Show + db SILPH_CO_2F,$04,Show + db SILPH_CO_2F,$05,Show +MapHSD0: + db SILPH_CO_3F,$02,Show + db SILPH_CO_3F,$03,Show + db SILPH_CO_3F,$04,Show +MapHSD1: + db SILPH_CO_4F,$02,Show + db SILPH_CO_4F,$03,Show + db SILPH_CO_4F,$04,Show + db SILPH_CO_4F,$05,Show + db SILPH_CO_4F,$06,Show + db SILPH_CO_4F,$07,Show +MapHSD2: + db SILPH_CO_5F,$02,Show + db SILPH_CO_5F,$03,Show + db SILPH_CO_5F,$04,Show + db SILPH_CO_5F,$05,Show + db SILPH_CO_5F,$06,Show + db SILPH_CO_5F,$07,Show + db SILPH_CO_5F,$08,Show +MapHSD3: + db SILPH_CO_6F,$06,Show + db SILPH_CO_6F,$07,Show + db SILPH_CO_6F,$08,Show + db SILPH_CO_6F,$09,Show + db SILPH_CO_6F,$0A,Show +MapHSD4: + db SILPH_CO_7F,$05,Show + db SILPH_CO_7F,$06,Show + db SILPH_CO_7F,$07,Show + db SILPH_CO_7F,$08,Show + db SILPH_CO_7F,$09,Show + db SILPH_CO_7F,$0A,Show + db SILPH_CO_7F,$0B,Show + db SILPH_CO_7F,$0C,Show +MapHSD5: + db SILPH_CO_8F,$02,Show + db SILPH_CO_8F,$03,Show + db SILPH_CO_8F,$04,Show +MapHSE9: + db SILPH_CO_9F,$02,Show + db SILPH_CO_9F,$03,Show + db SILPH_CO_9F,$04,Show +MapHSEA: + db SILPH_CO_10F,$01,Show + db SILPH_CO_10F,$02,Show + db SILPH_CO_10F,$03,Show + db SILPH_CO_10F,$04,Show + db SILPH_CO_10F,$05,Show + db SILPH_CO_10F,$06,Show +MapHSEB: + db SILPH_CO_11F,$03,Show + db SILPH_CO_11F,$04,Show + db SILPH_CO_11F,$05,Show +MapHSF4: + db UNUSED_MAP_F4,$02,Show +MapHSD6: + db POKEMON_MANSION_2F,$02,Show +MapHSD7: + db POKEMON_MANSION_3F,$03,Show + db POKEMON_MANSION_3F,$04,Show +MapHSD8: + db POKEMON_MANSION_B1F,$03,Show + db POKEMON_MANSION_B1F,$04,Show + db POKEMON_MANSION_B1F,$05,Show + db POKEMON_MANSION_B1F,$06,Show + db POKEMON_MANSION_B1F,$08,Show +MapHSD9: + db SAFARI_ZONE_EAST,$01,Show + db SAFARI_ZONE_EAST,$02,Show + db SAFARI_ZONE_EAST,$03,Show + db SAFARI_ZONE_EAST,$04,Show +MapHSDA: + db SAFARI_ZONE_NORTH,$01,Show + db SAFARI_ZONE_NORTH,$02,Show +MapHSDB: + db SAFARI_ZONE_WEST,$01,Show + db SAFARI_ZONE_WEST,$02,Show + db SAFARI_ZONE_WEST,$03,Show + db SAFARI_ZONE_WEST,$04,Show +MapHSDC: + db SAFARI_ZONE_CENTER,$01,Show +MapHSE2: + db CERULEAN_CAVE_2F,$01,Show + db CERULEAN_CAVE_2F,$02,Show + db CERULEAN_CAVE_2F,$03,Show +MapHSE3: + db CERULEAN_CAVE_B1F,$01,Show + db CERULEAN_CAVE_B1F,$02,Show + db CERULEAN_CAVE_B1F,$03,Show +MapHS6C: + db VICTORY_ROAD_1F,$03,Show + db VICTORY_ROAD_1F,$04,Show +MapHS78: + db CHAMPIONS_ROOM,$02,Hide +MapHSC0: + db SEAFOAM_ISLANDS_1F,$01,Show + db SEAFOAM_ISLANDS_1F,$02,Show +MapHS9F: + db SEAFOAM_ISLANDS_B1F,$01,Hide + db SEAFOAM_ISLANDS_B1F,$02,Hide +MapHSA0: + db SEAFOAM_ISLANDS_B2F,$01,Hide + db SEAFOAM_ISLANDS_B2F,$02,Hide +MapHSA1: + db SEAFOAM_ISLANDS_B3F,$02,Show + db SEAFOAM_ISLANDS_B3F,$03,Show + db SEAFOAM_ISLANDS_B3F,$05,Hide + db SEAFOAM_ISLANDS_B3F,$06,Hide +MapHSA2: + db SEAFOAM_ISLANDS_B4F,$01,Hide + db SEAFOAM_ISLANDS_B4F,$02,Hide + db SEAFOAM_ISLANDS_B4F,$03,Show + + db $FF,$01,Show diff --git a/data/maps/map_header_banks.asm b/data/maps/map_header_banks.asm new file mode 100755 index 00000000..d698cfee --- /dev/null +++ b/data/maps/map_header_banks.asm @@ -0,0 +1,250 @@ +; see also MapHeaderPointers +MapHeaderBanks:: + db BANK(PalletTown_h) + db BANK(ViridianCity_h) + db BANK(PewterCity_h) + db BANK(CeruleanCity_h) + db BANK(LavenderTown_h) + db BANK(VermilionCity_h) + db BANK(CeladonCity_h) + db BANK(FuchsiaCity_h) + db BANK(CinnabarIsland_h) + db BANK(IndigoPlateau_h) + db BANK(SaffronCity_h) + db $01 ; UNUSED_MAP_0B + db BANK(Route1_h) + db BANK(Route2_h) + db BANK(Route3_h) + db BANK(Route4_h) + db BANK(Route5_h) + db BANK(Route6_h) + db BANK(Route7_h) + db BANK(Route8_h) + db BANK(Route9_h) + db BANK(Route10_h) + db BANK(Route11_h) + db BANK(Route12_h) + db BANK(Route13_h) + db BANK(Route14_h) + db BANK(Route15_h) + db BANK(Route16_h) + db BANK(Route17_h) + db BANK(Route18_h) + db BANK(Route19_h) + db BANK(Route20_h) + db BANK(Route21_h) + db BANK(Route22_h) + db BANK(Route23_h) + db BANK(Route24_h) + db BANK(Route25_h) + db BANK(RedsHouse1F_h) + db BANK(RedsHouse2F_h) + db BANK(BluesHouse_h) + db BANK(OaksLab_h) + db BANK(ViridianPokecenter_h) + db BANK(ViridianMart_h) + db BANK(ViridianSchoolHouse_h) + db BANK(ViridianNicknameHouse_h) + db BANK(ViridianGym_h) + db BANK(DiglettsCaveRoute2_h) + db BANK(ViridianForestNorthGate_h) + db BANK(Route2TradeHouse_h) + db BANK(Route2Gate_h) + db BANK(ViridianForestSouthGate_h) + db BANK(ViridianForest_h) + db BANK(Museum1F_h) + db BANK(Museum2F_h) + db BANK(PewterGym_h) + db BANK(PewterNidoranHouse_h) + db BANK(PewterMart_h) + db BANK(PewterSpeechHouse_h) + db BANK(PewterPokecenter_h) + db BANK(MtMoon1F_h) + db BANK(MtMoonB1F_h) + db BANK(MtMoonB2F_h) + db BANK(CeruleanTrashedHouse_h) + db BANK(CeruleanTradeHouse_h) + db BANK(CeruleanPokecenter_h) + db BANK(CeruleanGym_h) + db BANK(BikeShop_h) + db BANK(CeruleanMart_h) + db BANK(MtMoonPokecenter_h) + db BANK(CeruleanTrashedHouse_h) + db BANK(Route5Gate_h) + db BANK(UndergroundPathRoute5_h) + db BANK(Daycare_h) + db BANK(Route6Gate_h) + db BANK(UndergroundPathRoute6_h) + db BANK(UndergroundPathRoute6_h) ; UNDERGROUND_PATH_ROUTE_6_COPY + db BANK(Route7Gate_h) + db BANK(UndergroundPathRoute7_h) + db BANK(UndergroundPathRoute7Copy_h) + db BANK(Route8Gate_h) + db BANK(UndergroundPathRoute8_h) + db BANK(RockTunnelPokecenter_h) + db BANK(RockTunnel1F_h) + db BANK(PowerPlant_h) + db BANK(Route11Gate1F_h) + db BANK(DiglettsCaveRoute11_h) + db BANK(Route11Gate2F_h) + db BANK(Route12Gate1F_h) + db BANK(BillsHouse_h) + db BANK(VermilionPokecenter_h) + db BANK(PokemonFanClub_h) + db BANK(VermilionMart_h) + db BANK(VermilionGym_h) + db BANK(VermilionPidgeyHouse_h) + db BANK(VermilionDock_h) + db BANK(SSAnne1F_h) + db BANK(SSAnne2F_h) + db BANK(SSAnne3F_h) + db BANK(SSAnneB1F_h) + db BANK(SSAnneBow_h) + db BANK(SSAnneKitchen_h) + db BANK(SSAnneCaptainsRoom_h) + db BANK(SSAnne1FRooms_h) + db BANK(SSAnne2FRooms_h) + db BANK(SSAnneB1FRooms_h) + db $1D ; UNUSED_MAP_69 + db $1D ; UNUSED_MAP_6A + db $1D ; UNUSED_MAP_6B + db BANK(VictoryRoad1F_h) + db $1D ; UNUSED_MAP_6D + db $1D ; UNUSED_MAP_6E + db $1D ; UNUSED_MAP_6F + db $1D ; UNUSED_MAP_70 + db BANK(LancesRoom_h) + db $1D ; UNUSED_MAP_72 + db $1D ; UNUSED_MAP_73 + db $1D ; UNUSED_MAP_74 + db $1D ; UNUSED_MAP_75 + db BANK(HallOfFame_h) + db BANK(UndergroundPathNorthSouth_h) + db BANK(ChampionsRoom_h) + db BANK(UndergroundPathWestEast_h) + db BANK(CeladonMart1F_h) + db BANK(CeladonMart2F_h) + db BANK(CeladonMart3F_h) + db BANK(CeladonMart4F_h) + db BANK(CeladonMartRoof_h) + db BANK(CeladonMartElevator_h) + db BANK(CeladonMansion1F_h) + db BANK(CeladonMansion2F_h) + db BANK(CeladonMansion3F_h) + db BANK(CeladonMansionRoof_h) + db BANK(CeladonMansionRoofHouse_h) + db BANK(CeladonPokecenter_h) + db BANK(CeladonGym_h) + db BANK(GameCorner_h) + db BANK(CeladonMart5F_h) + db BANK(GameCornerPrizeRoom_h) + db BANK(CeladonDiner_h) + db BANK(CeladonChiefHouse_h) + db BANK(CeladonHotel_h) + db BANK(LavenderPokecenter_h) + db BANK(PokemonTower1F_h) + db BANK(PokemonTower2F_h) + db BANK(PokemonTower3F_h) + db BANK(PokemonTower4F_h) + db BANK(PokemonTower5F_h) + db BANK(PokemonTower6F_h) + db BANK(PokemonTower7F_h) + db BANK(MrFujisHouse_h) + db BANK(LavenderMart_h) + db BANK(LavenderCuboneHouse_h) + db BANK(FuchsiaMart_h) + db BANK(FuchsiaBillsGrandpasHouse_h) + db BANK(FuchsiaPokecenter_h) + db BANK(WardensHouse_h) + db BANK(SafariZoneGate_h) + db BANK(FuchsiaGym_h) + db BANK(FuchsiaMeetingRoom_h) + db BANK(SeafoamIslandsB1F_h) + db BANK(SeafoamIslandsB2F_h) + db BANK(SeafoamIslandsB3F_h) + db BANK(SeafoamIslandsB4F_h) + db BANK(VermilionOldRodHouse_h) + db BANK(FuchsiaGoodRodHouse_h) + db BANK(PokemonMansion1F_h) + db BANK(CinnabarGym_h) + db BANK(CinnabarLab_h) + db BANK(CinnabarLabTradeRoom_h) + db BANK(CinnabarLabMetronomeRoom_h) + db BANK(CinnabarLabFossilRoom_h) + db BANK(CinnabarPokecenter_h) + db BANK(CinnabarMart_h) + db BANK(CinnabarMart_h) + db BANK(IndigoPlateauLobby_h) + db BANK(CopycatsHouse1F_h) + db BANK(CopycatsHouse2F_h) + db BANK(FightingDojo_h) + db BANK(SaffronGym_h) + db BANK(SaffronPidgeyHouse_h) + db BANK(SaffronMart_h) + db BANK(SilphCo1F_h) + db BANK(SaffronPokecenter_h) + db BANK(MrPsychicsHouse_h) + db BANK(Route15Gate1F_h) + db BANK(Route15Gate2F_h) + db BANK(Route16Gate1F_h) + db BANK(Route16Gate2F_h) + db BANK(Route16FlyHouse_h) + db BANK(Route12SuperRodHouse_h) + db BANK(Route18Gate1F_h) + db BANK(Route18Gate2F_h) + db BANK(SeafoamIslands1F_h) + db BANK(Route22Gate_h) + db BANK(VictoryRoad2F_h) + db BANK(Route12Gate2F_h) + db BANK(VermilionTradeHouse_h) + db BANK(DiglettsCave_h) + db BANK(VictoryRoad3F_h) + db BANK(RocketHideoutB1F_h) + db BANK(RocketHideoutB2F_h) + db BANK(RocketHideoutB3F_h) + db BANK(RocketHideoutB4F_h) + db BANK(RocketHideoutElevator_h) + db $01 ; UNUSED_MAP_CC + db $01 ; UNUSED_MAP_CD + db $01 ; UNUSED_MAP_CE + db BANK(SilphCo2F_h) + db BANK(SilphCo3F_h) + db BANK(SilphCo4F_h) + db BANK(SilphCo5F_h) + db BANK(SilphCo6F_h) + db BANK(SilphCo7F_h) + db BANK(SilphCo8F_h) + db BANK(PokemonMansion2F_h) + db BANK(PokemonMansion3F_h) + db BANK(PokemonMansionB1F_h) + db BANK(SafariZoneEast_h) + db BANK(SafariZoneNorth_h) + db BANK(SafariZoneWest_h) + db BANK(SafariZoneCenter_h) + db BANK(SafariZoneCenterRestHouse_h) + db BANK(SafariZoneSecretHouse_h) + db BANK(SafariZoneWestRestHouse_h) + db BANK(SafariZoneEastRestHouse_h) + db BANK(SafariZoneNorthRestHouse_h) + db BANK(CeruleanCave2F_h) + db BANK(CeruleanCaveB1F_h) + db BANK(CeruleanCave1F_h) + db BANK(NameRatersHouse_h) + db BANK(CeruleanBadgeHouse_h) + db $01 ; UNUSED_MAP_E7 + db BANK(RockTunnelB1F_h) + db BANK(SilphCo9F_h) + db BANK(SilphCo10F_h) + db BANK(SilphCo11F_h) + db BANK(SilphCoElevator_h) + db $11 ; UNUSED_MAP_ED + db $11 ; UNUSED_MAP_EE + db BANK(TradeCenter_h) + db BANK(Colosseum_h) + db $11 ; UNUSED_MAP_F1 + db $11 ; UNUSED_MAP_F2 + db $11 ; UNUSED_MAP_F3 + db $11 ; UNUSED_MAP_F4 + db BANK(LoreleisRoom_h) + db BANK(BrunosRoom_h) + db BANK(AgathasRoom_h) diff --git a/data/maps/map_header_pointers.asm b/data/maps/map_header_pointers.asm new file mode 100755 index 00000000..9d85eaae --- /dev/null +++ b/data/maps/map_header_pointers.asm @@ -0,0 +1,250 @@ +; see also MapHeaderBanks +MapHeaderPointers:: + dw PalletTown_h + dw ViridianCity_h + dw PewterCity_h + dw CeruleanCity_h + dw LavenderTown_h + dw VermilionCity_h + dw CeladonCity_h + dw FuchsiaCity_h + dw CinnabarIsland_h + dw IndigoPlateau_h + dw SaffronCity_h + dw SaffronCity_h ; UNUSED_MAP_0B + dw Route1_h + dw Route2_h + dw Route3_h + dw Route4_h + dw Route5_h + dw Route6_h + dw Route7_h + dw Route8_h + dw Route9_h + dw Route10_h + dw Route11_h + dw Route12_h + dw Route13_h + dw Route14_h + dw Route15_h + dw Route16_h + dw Route17_h + dw Route18_h + dw Route19_h + dw Route20_h + dw Route21_h + dw Route22_h + dw Route23_h + dw Route24_h + dw Route25_h + dw RedsHouse1F_h + dw RedsHouse2F_h + dw BluesHouse_h + dw OaksLab_h + dw ViridianPokecenter_h + dw ViridianMart_h + dw ViridianSchoolHouse_h + dw ViridianNicknameHouse_h + dw ViridianGym_h + dw DiglettsCaveRoute2_h + dw ViridianForestNorthGate_h + dw Route2TradeHouse_h + dw Route2Gate_h + dw ViridianForestSouthGate_h + dw ViridianForest_h + dw Museum1F_h + dw Museum2F_h + dw PewterGym_h + dw PewterNidoranHouse_h + dw PewterMart_h + dw PewterSpeechHouse_h + dw PewterPokecenter_h + dw MtMoon1F_h + dw MtMoonB1F_h + dw MtMoonB2F_h + dw CeruleanTrashedHouse_h + dw CeruleanTradeHouse_h + dw CeruleanPokecenter_h + dw CeruleanGym_h + dw BikeShop_h + dw CeruleanMart_h + dw MtMoonPokecenter_h + dw CeruleanTrashedHouse_h ; CERULEAN_TRASHED_HOUSE_COPY + dw Route5Gate_h + dw UndergroundPathRoute5_h + dw Daycare_h + dw Route6Gate_h + dw UndergroundPathRoute6_h + dw UndergroundPathRoute6_h ; UNDERGROUND_PATH_ROUTE_6_COPY + dw Route7Gate_h + dw UndergroundPathRoute7_h + dw UndergroundPathRoute7Copy_h + dw Route8Gate_h + dw UndergroundPathRoute8_h + dw RockTunnelPokecenter_h + dw RockTunnel1F_h + dw PowerPlant_h + dw Route11Gate1F_h + dw DiglettsCaveRoute11_h + dw Route11Gate2F_h + dw Route12Gate1F_h + dw BillsHouse_h + dw VermilionPokecenter_h + dw PokemonFanClub_h + dw VermilionMart_h + dw VermilionGym_h + dw VermilionPidgeyHouse_h + dw VermilionDock_h + dw SSAnne1F_h + dw SSAnne2F_h + dw SSAnne3F_h + dw SSAnneB1F_h + dw SSAnneBow_h + dw SSAnneKitchen_h + dw SSAnneCaptainsRoom_h + dw SSAnne1FRooms_h + dw SSAnne2FRooms_h + dw SSAnneB1FRooms_h + dw LancesRoom_h ; UNUSED_MAP_69 + dw LancesRoom_h ; UNUSED_MAP_6A + dw LancesRoom_h ; UNUSED_MAP_6B + dw VictoryRoad1F_h + dw LancesRoom_h ; UNUSED_MAP_6D + dw LancesRoom_h ; UNUSED_MAP_6E + dw LancesRoom_h ; UNUSED_MAP_6F + dw LancesRoom_h ; UNUSED_MAP_70 + dw LancesRoom_h + dw LancesRoom_h ; UNUSED_MAP_72 + dw LancesRoom_h ; UNUSED_MAP_73 + dw LancesRoom_h ; UNUSED_MAP_74 + dw LancesRoom_h ; UNUSED_MAP_75 + dw HallOfFame_h + dw UndergroundPathNorthSouth_h + dw ChampionsRoom_h + dw UndergroundPathWestEast_h + dw CeladonMart1F_h + dw CeladonMart2F_h + dw CeladonMart3F_h + dw CeladonMart4F_h + dw CeladonMartRoof_h + dw CeladonMartElevator_h + dw CeladonMansion1F_h + dw CeladonMansion2F_h + dw CeladonMansion3F_h + dw CeladonMansionRoof_h + dw CeladonMansionRoofHouse_h + dw CeladonPokecenter_h + dw CeladonGym_h + dw GameCorner_h + dw CeladonMart5F_h + dw GameCornerPrizeRoom_h + dw CeladonDiner_h + dw CeladonChiefHouse_h + dw CeladonHotel_h + dw LavenderPokecenter_h + dw PokemonTower1F_h + dw PokemonTower2F_h + dw PokemonTower3F_h + dw PokemonTower4F_h + dw PokemonTower5F_h + dw PokemonTower6F_h + dw PokemonTower7F_h + dw MrFujisHouse_h + dw LavenderMart_h + dw LavenderCuboneHouse_h + dw FuchsiaMart_h + dw FuchsiaBillsGrandpasHouse_h + dw FuchsiaPokecenter_h + dw WardensHouse_h + dw SafariZoneGate_h + dw FuchsiaGym_h + dw FuchsiaMeetingRoom_h + dw SeafoamIslandsB1F_h + dw SeafoamIslandsB2F_h + dw SeafoamIslandsB3F_h + dw SeafoamIslandsB4F_h + dw VermilionOldRodHouse_h + dw FuchsiaGoodRodHouse_h + dw PokemonMansion1F_h + dw CinnabarGym_h + dw CinnabarLab_h + dw CinnabarLabTradeRoom_h + dw CinnabarLabMetronomeRoom_h + dw CinnabarLabFossilRoom_h + dw CinnabarPokecenter_h + dw CinnabarMart_h + dw CinnabarMart_h ; CINNABAR_MART_COPY + dw IndigoPlateauLobby_h + dw CopycatsHouse1F_h + dw CopycatsHouse2F_h + dw FightingDojo_h + dw SaffronGym_h + dw SaffronPidgeyHouse_h + dw SaffronMart_h + dw SilphCo1F_h + dw SaffronPokecenter_h + dw MrPsychicsHouse_h + dw Route15Gate1F_h + dw Route15Gate2F_h + dw Route16Gate1F_h + dw Route16Gate2F_h + dw Route16FlyHouse_h + dw Route12SuperRodHouse_h + dw Route18Gate1F_h + dw Route18Gate2F_h + dw SeafoamIslands1F_h + dw Route22Gate_h + dw VictoryRoad2F_h + dw Route12Gate2F_h + dw VermilionTradeHouse_h + dw DiglettsCave_h + dw VictoryRoad3F_h + dw RocketHideoutB1F_h + dw RocketHideoutB2F_h + dw RocketHideoutB3F_h + dw RocketHideoutB4F_h + dw RocketHideoutElevator_h + dw RocketHideoutElevator_h ; UNUSED_MAP_CC + dw RocketHideoutElevator_h ; UNUSED_MAP_CD + dw RocketHideoutElevator_h ; UNUSED_MAP_CE + dw SilphCo2F_h + dw SilphCo3F_h + dw SilphCo4F_h + dw SilphCo5F_h + dw SilphCo6F_h + dw SilphCo7F_h + dw SilphCo8F_h + dw PokemonMansion2F_h + dw PokemonMansion3F_h + dw PokemonMansionB1F_h + dw SafariZoneEast_h + dw SafariZoneNorth_h + dw SafariZoneWest_h + dw SafariZoneCenter_h + dw SafariZoneCenterRestHouse_h + dw SafariZoneSecretHouse_h + dw SafariZoneWestRestHouse_h + dw SafariZoneEastRestHouse_h + dw SafariZoneNorthRestHouse_h + dw CeruleanCave2F_h + dw CeruleanCaveB1F_h + dw CeruleanCave1F_h + dw NameRatersHouse_h + dw CeruleanBadgeHouse_h + dw Route16Gate1F_h ; UNUSED_MAP_E7 + dw RockTunnelB1F_h + dw SilphCo9F_h + dw SilphCo10F_h + dw SilphCo11F_h + dw SilphCoElevator_h + dw SilphCo2F_h ; UNUSED_MAP_ED + dw SilphCo2F_h ; UNUSED_MAP_EE + dw TradeCenter_h + dw Colosseum_h + dw SilphCo2F_h ; UNUSED_MAP_F1 + dw SilphCo2F_h ; UNUSED_MAP_F2 + dw SilphCo2F_h ; UNUSED_MAP_F3 + dw SilphCo2F_h ; UNUSED_MAP_F4 + dw LoreleisRoom_h + dw BrunosRoom_h + dw AgathasRoom_h ;247 diff --git a/data/maps/names.asm b/data/maps/names.asm new file mode 100755 index 00000000..c2642942 --- /dev/null +++ b/data/maps/names.asm @@ -0,0 +1,107 @@ +MapNames: +PalletTownName: + db "PALLET TOWN@" +ViridianCityName: + db "VIRIDIAN CITY@" +PewterCityName: + db "PEWTER CITY@" +CeruleanCityName: + db "CERULEAN CITY@" +LavenderTownName: + db "LAVENDER TOWN@" +VermilionCityName: + db "VERMILION CITY@" +CeladonCityName: + db "CELADON CITY@" +FuchsiaCityName: + db "FUCHSIA CITY@" +CinnabarIslandName: + db "CINNABAR ISLAND@" +IndigoPlateauName: + db "INDIGO PLATEAU@" +SaffronCityName: + db "SAFFRON CITY@" +Route1Name: + db "ROUTE 1@" +Route2Name: + db "ROUTE 2@" +Route3Name: + db "ROUTE 3@" +Route4Name: + db "ROUTE 4@" +Route5Name: + db "ROUTE 5@" +Route6Name: + db "ROUTE 6@" +Route7Name: + db "ROUTE 7@" +Route8Name: + db "ROUTE 8@" +Route9Name: + db "ROUTE 9@" +Route10Name: + db "ROUTE 10@" +Route11Name: + db "ROUTE 11@" +Route12Name: + db "ROUTE 12@" +Route13Name: + db "ROUTE 13@" +Route14Name: + db "ROUTE 14@" +Route15Name: + db "ROUTE 15@" +Route16Name: + db "ROUTE 16@" +Route17Name: + db "ROUTE 17@" +Route18Name: + db "ROUTE 18@" +Route19Name: + db "SEA ROUTE 19@" +Route20Name: + db "SEA ROUTE 20@" +Route21Name: + db "SEA ROUTE 21@" +Route22Name: + db "ROUTE 22@" +Route23Name: + db "ROUTE 23@" +Route24Name: + db "ROUTE 24@" +Route25Name: + db "ROUTE 25@" +ViridianForestName: + db "VIRIDIAN FOREST@" +MountMoonName: + db "MT.MOON@" +RockTunnelName: + db "ROCK TUNNEL@" +SeaCottageName: + db "SEA COTTAGE@" +SSAnneName: + db "S.S.ANNE@" +PokemonLeagueName: + db "#MON LEAGUE@" +UndergroundPathName: + db "UNDERGROUND PATH@" +PokemonTowerName: + db "#MON TOWER@" +SeafoamIslandsName: + db "SEAFOAM ISLANDS@" +VictoryRoadName: + db "VICTORY ROAD@" +DiglettsCaveName: + db "DIGLETT's CAVE@" +RocketHQName: + db "ROCKET HQ@" +SilphCoName: + db "SILPH CO.@" +PokemonMansionName: + db " MANSION@" +SafariZoneName: + db "SAFARI ZONE@" +CeruleanCaveName: + db "CERULEAN CAVE@" +PowerPlantName: + db "POWER PLANT@" diff --git a/data/maps/rest_house_maps.asm b/data/maps/rest_house_maps.asm new file mode 100644 index 00000000..2feb89d3 --- /dev/null +++ b/data/maps/rest_house_maps.asm @@ -0,0 +1,5 @@ +SafariZoneRestHouses: + db SAFARI_ZONE_WEST_REST_HOUSE + db SAFARI_ZONE_EAST_REST_HOUSE + db SAFARI_ZONE_NORTH_REST_HOUSE + db -1 diff --git a/data/maps/songs.asm b/data/maps/songs.asm new file mode 100755 index 00000000..28e17223 --- /dev/null +++ b/data/maps/songs.asm @@ -0,0 +1,249 @@ +MapSongBanks:: + db MUSIC_PALLET_TOWN, BANK(Music_PalletTown) ; PALLET_TOWN + db MUSIC_CITIES1, BANK(Music_Cities1) ; VIRIDIAN_CITY + db MUSIC_CITIES1, BANK(Music_Cities1) ; PEWTER_CITY + db MUSIC_CITIES2, BANK(Music_Cities2) ; CERULEAN_CITY + db MUSIC_LAVENDER, BANK(Music_Lavender) ; LAVENDER_TOWN + db MUSIC_VERMILION, BANK(Music_Vermilion) ; VERMILION_CITY + db MUSIC_CELADON, BANK(Music_Celadon) ; CELADON_CITY + db MUSIC_CITIES2, BANK(Music_Cities2) ; FUCHSIA_CITY + db MUSIC_CINNABAR, BANK(Music_Cinnabar) ; CINNABAR_ISLAND + db MUSIC_INDIGO_PLATEAU, BANK(Music_IndigoPlateau) ; INDIGO_PLATEAU + db MUSIC_CITIES1, BANK(Music_Cities1) ; SAFFRON_CITY + db MUSIC_CITIES1, BANK(Music_Cities1) ; UNUSED_MAP_0B + db MUSIC_ROUTES1, BANK(Music_Routes1) ; ROUTE_1 + db MUSIC_ROUTES1, BANK(Music_Routes1) ; ROUTE_2 + db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_3 + db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_4 + db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_5 + db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_6 + db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_7 + db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_8 + db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_9 + db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_10 + db MUSIC_ROUTES4, BANK(Music_Routes4) ; ROUTE_11 + db MUSIC_ROUTES4, BANK(Music_Routes4) ; ROUTE_12 + db MUSIC_ROUTES4, BANK(Music_Routes4) ; ROUTE_13 + db MUSIC_ROUTES4, BANK(Music_Routes4) ; ROUTE_14 + db MUSIC_ROUTES4, BANK(Music_Routes4) ; ROUTE_15 + db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_16 + db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_17 + db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_18 + db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_19 + db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_20 + db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_21 + db MUSIC_ROUTES3, BANK(Music_Routes3) ; ROUTE_22 + db MUSIC_INDIGO_PLATEAU, BANK(Music_IndigoPlateau) ; ROUTE_23 + db MUSIC_ROUTES2, BANK(Music_Routes2) ; ROUTE_24 + db MUSIC_ROUTES2, BANK(Music_Routes2) ; ROUTE_25 + db MUSIC_PALLET_TOWN, BANK(Music_PalletTown) ; REDS_HOUSE_1F + db MUSIC_PALLET_TOWN, BANK(Music_PalletTown) ; REDS_HOUSE_2F + db MUSIC_PALLET_TOWN, BANK(Music_PalletTown) ; BLUES_HOUSE + db MUSIC_OAKS_LAB, BANK(Music_OaksLab) ; OAKS_LAB + db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; VIRIDIAN_POKECENTER + db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; VIRIDIAN_MART + db MUSIC_CITIES1, BANK(Music_Cities1) ; VIRIDIAN_SCHOOL_HOUSE + db MUSIC_CITIES1, BANK(Music_Cities1) ; VIRIDIAN_NICKNAME_HOUSE + db MUSIC_GYM, BANK(Music_Gym) ; VIRIDIAN_GYM + db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; DIGLETTS_CAVE_ROUTE_2 + db MUSIC_CITIES1, BANK(Music_Cities1) ; VIRIDIAN_FOREST_NORTH_GATE + db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_2_TRADE_HOUSE + db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_2_GATE + db MUSIC_CITIES1, BANK(Music_Cities1) ; VIRIDIAN_FOREST_SOUTH_GATE + db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; VIRIDIAN_FOREST + db MUSIC_CITIES1, BANK(Music_Cities1) ; MUSEUM_1F + db MUSIC_CITIES1, BANK(Music_Cities1) ; MUSEUM_2F + db MUSIC_GYM, BANK(Music_Gym) ; PEWTER_GYM + db MUSIC_CITIES1, BANK(Music_Cities1) ; PEWTER_NIDORAN_HOUSE + db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; PEWTER_MART + db MUSIC_CITIES1, BANK(Music_Cities1) ; PEWTER_SPEECH_HOUSE + db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; PEWTER_POKECENTER + db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; MT_MOON_1F + db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; MT_MOON_B1F + db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; MT_MOON_B2F + db MUSIC_CITIES2, BANK(Music_Cities2) ; CERULEAN_TRASHED_HOUSE + db MUSIC_CITIES2, BANK(Music_Cities2) ; CERULEAN_TRADE_HOUSE + db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CERULEAN_POKECENTER + db MUSIC_GYM, BANK(Music_Gym) ; CERULEAN_GYM + db MUSIC_CITIES2, BANK(Music_Cities2) ; BIKE_SHOP + db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CERULEAN_MART + db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; MT_MOON_POKECENTER + db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; CERULEAN_TRASHED_HOUSE_COPY + db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_5_GATE + db MUSIC_CITIES1, BANK(Music_Cities1) ; UNDERGROUND_PATH_ROUTE_5 + db MUSIC_CITIES1, BANK(Music_Cities1) ; DAYCARE + db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_6_GATE + db MUSIC_CITIES1, BANK(Music_Cities1) ; UNDERGROUND_PATH_ROUTE_6 + db MUSIC_VERMILION, BANK(Music_Vermilion) ; UNDERGROUND_PATH_ROUTE_6_COPY + db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_7_GATE + db MUSIC_CITIES1, BANK(Music_Cities1) ; UNDERGROUND_PATH_ROUTE_7 + db MUSIC_CELADON, BANK(Music_Celadon) ; UNDERGROUND_PATH_ROUTE_7_COPY + db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_8_GATE + db MUSIC_CITIES1, BANK(Music_Cities1) ; UNDERGROUND_PATH_ROUTE_8 + db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; ROCK_TUNNEL_POKECENTER + db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; ROCK_TUNNEL_1F + db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; POWER_PLANT + db MUSIC_VERMILION, BANK(Music_Vermilion) ; ROUTE_11_GATE_1F + db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; DIGLETTS_CAVE_ROUTE_11 + db MUSIC_VERMILION, BANK(Music_Vermilion) ; ROUTE_11_GATE_2F + db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_12_GATE_1F + db MUSIC_CITIES2, BANK(Music_Cities2) ; BILLS_HOUSE + db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; VERMILION_POKECENTER + db MUSIC_VERMILION, BANK(Music_Vermilion) ; POKEMON_FAN_CLUB + db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; VERMILION_MART + db MUSIC_GYM, BANK(Music_Gym) ; VERMILION_GYM + db MUSIC_VERMILION, BANK(Music_Vermilion) ; VERMILION_PIDGEY_HOUSE + db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; VERMILION_DOCK + db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SS_ANNE_1F + db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SS_ANNE_2F + db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SS_ANNE_3F + db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SS_ANNE_B1F + db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SS_ANNE_BOW + db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SS_ANNE_KITCHEN + db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SS_ANNE_CAPTAINS_ROOM + db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SS_ANNE_1F_ROOMS + db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SS_ANNE_2F_ROOMS + db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; SS_ANNE_B1F_ROOMS + db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; UNUSED_MAP_69 + db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; UNUSED_MAP_6A + db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; UNUSED_MAP_6B + db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; VICTORY_ROAD_1F + db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; UNUSED_MAP_6D + db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; UNUSED_MAP_6E + db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; UNUSED_MAP_6F + db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; UNUSED_MAP_70 + db MUSIC_INDIGO_PLATEAU, BANK(Music_IndigoPlateau) ; LANCES_ROOM + db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; UNUSED_MAP_72 + db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; UNUSED_MAP_73 + db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; UNUSED_MAP_74 + db MUSIC_SS_ANNE, BANK(Music_SSAnne) ; UNUSED_MAP_75 + db MUSIC_PALLET_TOWN, BANK(Music_PalletTown) ; HALL_OF_FAME + db MUSIC_ROUTES1, BANK(Music_Routes1) ; UNDERGROUND_PATH_NORTH_SOUTH + db MUSIC_INDIGO_PLATEAU, BANK(Music_IndigoPlateau) ; CHAMPIONS_ROOM + db MUSIC_ROUTES1, BANK(Music_Routes1) ; UNDERGROUND_PATH_WEST_EAST + db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CELADON_MART_1F + db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CELADON_MART_2F + db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CELADON_MART_3F + db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CELADON_MART_4F + db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CELADON_MART_ROOF + db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CELADON_MART_ELEVATOR + db MUSIC_CELADON, BANK(Music_Celadon) ; CELADON_MANSION_1F + db MUSIC_CELADON, BANK(Music_Celadon) ; CELADON_MANSION_2F + db MUSIC_CELADON, BANK(Music_Celadon) ; CELADON_MANSION_3F + db MUSIC_CELADON, BANK(Music_Celadon) ; CELADON_MANSION_ROOF + db MUSIC_CELADON, BANK(Music_Celadon) ; CELADON_MANSION_ROOF_HOUSE + db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CELADON_POKECENTER + db MUSIC_GYM, BANK(Music_Gym) ; CELADON_GYM + db MUSIC_GAME_CORNER, BANK(Music_GameCorner) ; GAME_CORNER + db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CELADON_MART_5F + db MUSIC_CELADON, BANK(Music_Celadon) ; GAME_CORNER_PRIZE_ROOM + db MUSIC_CELADON, BANK(Music_Celadon) ; CELADON_DINER + db MUSIC_CELADON, BANK(Music_Celadon) ; CELADON_CHIEF_HOUSE + db MUSIC_CELADON, BANK(Music_Celadon) ; CELADON_HOTEL + db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; LAVENDER_POKECENTER + db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; POKEMON_TOWER_1F + db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; POKEMON_TOWER_2F + db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; POKEMON_TOWER_3F + db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; POKEMON_TOWER_4F + db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; POKEMON_TOWER_5F + db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; POKEMON_TOWER_6F + db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; POKEMON_TOWER_7F + db MUSIC_LAVENDER, BANK(Music_Lavender) ; MR_FUJIS_HOUSE + db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; LAVENDER_MART + db MUSIC_LAVENDER, BANK(Music_Lavender) ; LAVENDER_CUBONE_HOUSE + db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; FUCHSIA_MART + db MUSIC_CITIES2, BANK(Music_Cities2) ; FUCHSIA_BILLS_GRANDPAS_HOUSE + db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; FUCHSIA_POKECENTER + db MUSIC_CITIES2, BANK(Music_Cities2) ; WARDENS_HOUSE + db MUSIC_CITIES2, BANK(Music_Cities2) ; SAFARI_ZONE_GATE + db MUSIC_GYM, BANK(Music_Gym) ; FUCHSIA_GYM + db MUSIC_CITIES2, BANK(Music_Cities2) ; FUCHSIA_MEETING_ROOM + db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; SEAFOAM_ISLANDS_B1F + db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; SEAFOAM_ISLANDS_B2F + db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; SEAFOAM_ISLANDS_B3F + db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; SEAFOAM_ISLANDS_B4F + db MUSIC_CITIES2, BANK(Music_Cities2) ; VERMILION_OLD_ROD_HOUSE + db MUSIC_CITIES2, BANK(Music_Cities2) ; FUCHSIA_GOOD_ROD_HOUSE + db MUSIC_CINNABAR_MANSION, BANK(Music_CinnabarMansion) ; POKEMON_MANSION_1F + db MUSIC_GYM, BANK(Music_Gym) ; CINNABAR_GYM + db MUSIC_CINNABAR, BANK(Music_Cinnabar) ; CINNABAR_LAB + db MUSIC_CINNABAR, BANK(Music_Cinnabar) ; CINNABAR_LAB_TRADE_ROOM + db MUSIC_CINNABAR, BANK(Music_Cinnabar) ; CINNABAR_LAB_METRONOME_ROOM + db MUSIC_CINNABAR, BANK(Music_Cinnabar) ; CINNABAR_LAB_FOSSIL_ROOM + db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CINNABAR_POKECENTER + db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; CINNABAR_MART + db MUSIC_CINNABAR, BANK(Music_Cinnabar) ; CINNABAR_MART_COPY + db MUSIC_INDIGO_PLATEAU, BANK(Music_IndigoPlateau) ; INDIGO_PLATEAU_LOBBY + db MUSIC_CITIES1, BANK(Music_Cities1) ; COPYCATS_HOUSE_1F + db MUSIC_CITIES1, BANK(Music_Cities1) ; COPYCATS_HOUSE_2F + db MUSIC_CITIES1, BANK(Music_Cities1) ; FIGHTING_DOJO + db MUSIC_GYM, BANK(Music_Gym) ; SAFFRON_GYM + db MUSIC_CITIES1, BANK(Music_Cities1) ; SAFFRON_PIDGEY_HOUSE + db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; SAFFRON_MART + db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_1F + db MUSIC_POKECENTER, BANK(Music_Pokecenter) ; SAFFRON_POKECENTER + db MUSIC_CITIES1, BANK(Music_Cities1) ; MR_PSYCHICS_HOUSE + db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_15_GATE_1F + db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_15_GATE_2F + db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_16_GATE_1F + db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_16_GATE_2F + db MUSIC_CELADON, BANK(Music_Celadon) ; ROUTE_16_FLY_HOUSE + db MUSIC_CELADON, BANK(Music_Celadon) ; ROUTE_12_SUPER_ROD_HOUSE + db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_18_GATE_1F + db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_18_GATE_2F + db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; SEAFOAM_ISLANDS_1F + db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; ROUTE_22_GATE + db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; VICTORY_ROAD_2F + db MUSIC_CITIES1, BANK(Music_Cities1) ; ROUTE_12_GATE_2F + db MUSIC_VERMILION, BANK(Music_Vermilion) ; VERMILION_TRADE_HOUSE + db MUSIC_DUNGEON2, BANK(Music_Dungeon2) ; DIGLETTS_CAVE + db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; VICTORY_ROAD_3F + db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; ROCKET_HIDEOUT_B1F + db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; ROCKET_HIDEOUT_B2F + db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; ROCKET_HIDEOUT_B3F + db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; ROCKET_HIDEOUT_B4F + db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; ROCKET_HIDEOUT_ELEVATOR + db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; UNUSED_MAP_CC + db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; UNUSED_MAP_CD + db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; UNUSED_MAP_CE + db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_2F + db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_3F + db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_4F + db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_5F + db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_6F + db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_7F + db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_8F + db MUSIC_CINNABAR_MANSION, BANK(Music_CinnabarMansion) ; POKEMON_MANSION_2F + db MUSIC_CINNABAR_MANSION, BANK(Music_CinnabarMansion) ; POKEMON_MANSION_3F + db MUSIC_CINNABAR_MANSION, BANK(Music_CinnabarMansion) ; POKEMON_MANSION_B1F + db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SAFARI_ZONE_EAST + db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SAFARI_ZONE_NORTH + db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SAFARI_ZONE_WEST + db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SAFARI_ZONE_CENTER + db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SAFARI_ZONE_CENTER_REST_HOUSE + db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SAFARI_ZONE_SECRET_HOUSE + db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SAFARI_ZONE_WEST_REST_HOUSE + db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SAFARI_ZONE_EAST_REST_HOUSE + db MUSIC_SAFARI_ZONE, BANK(Music_SafariZone) ; SAFARI_ZONE_NORTH_REST_HOUSE + db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; CERULEAN_CAVE_2F + db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; CERULEAN_CAVE_B1F + db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; CERULEAN_CAVE_1F + db MUSIC_CITIES2, BANK(Music_Cities2) ; NAME_RATERS_HOUSE + db MUSIC_CITIES1, BANK(Music_Cities1) ; CERULEAN_BADGE_HOUSE + db MUSIC_CINNABAR, BANK(Music_Cinnabar) ; UNUSED_MAP_E7 + db MUSIC_DUNGEON3, BANK(Music_Dungeon3) ; ROCK_TUNNEL_B1F + db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_9F + db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_10F + db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_11F + db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; SILPH_CO_ELEVATOR + db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; UNUSED_MAP_ED + db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; UNUSED_MAP_EE + db MUSIC_CELADON, BANK(Music_Celadon) ; TRADE_CENTER + db MUSIC_CELADON, BANK(Music_Celadon) ; COLOSSEUM + db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; UNUSED_MAP_F1 + db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; UNUSED_MAP_F2 + db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; UNUSED_MAP_F3 + db MUSIC_SILPH_CO, BANK(Music_SilphCo) ; UNUSED_MAP_F4 + db MUSIC_GYM, BANK(Music_Gym) ; LORELEIS_ROOM + db MUSIC_DUNGEON1, BANK(Music_Dungeon1) ; BRUNOS_ROOM + db MUSIC_POKEMON_TOWER, BANK(Music_PokemonTower) ; AGATHAS_ROOM diff --git a/data/maps/special_warps.asm b/data/maps/special_warps.asm new file mode 100755 index 00000000..6b536b67 --- /dev/null +++ b/data/maps/special_warps.asm @@ -0,0 +1,119 @@ +; Format: (size 2 bytes) +; 00: target map ID +; 01: which dungeon warp in the source map was used +DungeonWarpList: + db SEAFOAM_ISLANDS_B1F,$01 + db SEAFOAM_ISLANDS_B1F,$02 + db SEAFOAM_ISLANDS_B2F,$01 + db SEAFOAM_ISLANDS_B2F,$02 + db SEAFOAM_ISLANDS_B3F,$01 + db SEAFOAM_ISLANDS_B3F,$02 + db SEAFOAM_ISLANDS_B4F,$01 + db SEAFOAM_ISLANDS_B4F,$02 + db VICTORY_ROAD_2F,$02 + db POKEMON_MANSION_1F,$01 + db POKEMON_MANSION_1F,$02 + db POKEMON_MANSION_2F,$03 + db $FF + +DungeonWarpData: + FLYWARP_DATA SEAFOAM_ISLANDS_B1F_WIDTH,7,18 + FLYWARP_DATA SEAFOAM_ISLANDS_B1F_WIDTH,7,23 + FLYWARP_DATA SEAFOAM_ISLANDS_B2F_WIDTH,7,19 + FLYWARP_DATA SEAFOAM_ISLANDS_B2F_WIDTH,7,22 + FLYWARP_DATA SEAFOAM_ISLANDS_B3F_WIDTH,7,18 + FLYWARP_DATA SEAFOAM_ISLANDS_B3F_WIDTH,7,19 + FLYWARP_DATA SEAFOAM_ISLANDS_B4F_WIDTH,14,4 + FLYWARP_DATA SEAFOAM_ISLANDS_B4F_WIDTH,14,5 + FLYWARP_DATA VICTORY_ROAD_2F_WIDTH,16,22 + FLYWARP_DATA POKEMON_MANSION_1F_WIDTH,14,16 + FLYWARP_DATA POKEMON_MANSION_1F_WIDTH,14,16 + FLYWARP_DATA POKEMON_MANSION_2F_WIDTH,14,18 + +;Format: +; db Map_id +; FLYWARP_DATA [Map Width][Y-pos][X-pos] +; db Tileset_id +FirstMapSpec: + db REDS_HOUSE_2F + FLYWARP_DATA REDS_HOUSE_2F_WIDTH,6,3 + db REDS_HOUSE_2 + +TradeCenterSpec1: + db TRADE_CENTER + FLYWARP_DATA TRADE_CENTER_WIDTH,4,3 + db CLUB + +TradeCenterSpec2: + db TRADE_CENTER + FLYWARP_DATA TRADE_CENTER_WIDTH,4,6 + db CLUB + +ColosseumSpec1: + db COLOSSEUM + FLYWARP_DATA COLOSSEUM_WIDTH,4,3 + db CLUB + +ColosseumSpec2: + db COLOSSEUM + FLYWARP_DATA COLOSSEUM_WIDTH,4,6 + db CLUB + +FlyWarpDataPtr: + db PALLET_TOWN, 0 + dw PalletTownFlyWarp + db VIRIDIAN_CITY, 0 + dw ViridianCityFlyWarp + db PEWTER_CITY, 0 + dw PewterCityFlyWarp + db CERULEAN_CITY, 0 + dw CeruleanCityFlyWarp + db LAVENDER_TOWN, 0 + dw LavenderTownFlyWarp + db VERMILION_CITY, 0 + dw VermilionCityFlyWarp + db CELADON_CITY, 0 + dw CeladonCityFlyWarp + db FUCHSIA_CITY, 0 + dw FuchsiaCityFlyWarp + db CINNABAR_ISLAND, 0 + dw CinnabarIslandFlyWarp + db INDIGO_PLATEAU, 0 + dw IndigoPlateauFlyWarp + db SAFFRON_CITY, 0 + dw SaffronCityFlyWarp + db ROUTE_4, 0 + dw Route4FlyWarp + db ROUTE_10, 0 + dw Route10FlyWarp + +; Original Format: +; [Event Displacement][Y-block][X-block][Y-sub_block][X-sub_block] +; Macro Format: +; FLYWARP_DATA [Map Width][Y-pos][X-pos] +PalletTownFlyWarp: + FLYWARP_DATA PALLET_TOWN_WIDTH, 6, 5 +ViridianCityFlyWarp: + FLYWARP_DATA VIRIDIAN_CITY_WIDTH, 26, 23 +PewterCityFlyWarp: + FLYWARP_DATA PEWTER_CITY_WIDTH, 26, 13 +CeruleanCityFlyWarp: + FLYWARP_DATA CERULEAN_CITY_WIDTH, 18, 19 +LavenderTownFlyWarp: + FLYWARP_DATA LAVENDER_TOWN_WIDTH, 6, 3 +VermilionCityFlyWarp: + FLYWARP_DATA VERMILION_CITY_WIDTH, 4, 11 +CeladonCityFlyWarp: + FLYWARP_DATA CELADON_CITY_WIDTH, 10, 41 +FuchsiaCityFlyWarp: + FLYWARP_DATA FUCHSIA_CITY_WIDTH, 28, 19 +CinnabarIslandFlyWarp: + FLYWARP_DATA CINNABAR_ISLAND_WIDTH, 12, 11 +IndigoPlateauFlyWarp: + FLYWARP_DATA INDIGO_PLATEAU_WIDTH, 6, 9 +SaffronCityFlyWarp: + FLYWARP_DATA SAFFRON_CITY_WIDTH, 30, 9 +Route4FlyWarp: + FLYWARP_DATA ROUTE_4_WIDTH, 6, 11 +Route10FlyWarp: + FLYWARP_DATA ROUTE_10_WIDTH, 20, 11 diff --git a/data/maps/sprite_sets.asm b/data/maps/sprite_sets.asm new file mode 100755 index 00000000..5b0e1e00 --- /dev/null +++ b/data/maps/sprite_sets.asm @@ -0,0 +1,551 @@ +MapSpriteSets: + db $01 ; PALLET_TOWN + db $01 ; VIRIDIAN_CITY + db $02 ; PEWTER_CITY + db $02 ; CERULEAN_CITY + db $03 ; LAVENDER_TOWN + db $04 ; VERMILION_CITY + db $05 ; CELADON_CITY + db $0a ; FUCHSIA_CITY + db $01 ; CINNABAR_ISLAND + db $06 ; INDIGO_PLATEAU + db $07 ; SAFFRON_CITY + db $01 ; unused map ID + db $01 ; ROUTE_1 + db $f1 ; ROUTE_2 + db $02 ; ROUTE_3 + db $02 ; ROUTE_4 + db $f9 ; ROUTE_5 + db $fa ; ROUTE_6 + db $fb ; ROUTE_7 + db $fc ; ROUTE_8 + db $02 ; ROUTE_9 + db $f2 ; ROUTE_10 + db $f3 ; ROUTE_11 + db $f4 ; ROUTE_12 + db $08 ; ROUTE_13 + db $08 ; ROUTE_14 + db $f5 ; ROUTE_15 + db $f6 ; ROUTE_16 + db $09 ; ROUTE_17 + db $f7 ; ROUTE_18 + db $0a ; ROUTE_19 + db $f8 ; ROUTE_20 + db $01 ; ROUTE_21 + db $01 ; ROUTE_22 + db $06 ; ROUTE_23 + db $02 ; ROUTE_24 + db $02 ; ROUTE_25 + +; Format: +; 00: determines whether the map is split East/West or North/South +; $01 = East/West divide +; $02 = North/South divide +; 01: coordinate of dividing line +; 02: sprite set ID if in the West or North side +; 03: sprite set ID if in the East or South side +SplitMapSpriteSets: + db $02,$25,$02,$01 ; $f1 + db $02,$32,$02,$03 ; $f2 + db $01,$39,$04,$08 ; $f3 + db $02,$15,$03,$08 ; $f4 + db $01,$08,$0A,$08 ; $f5 + db $01,$18,$09,$05 ; $f6 + db $01,$22,$09,$0A ; $f7 + db $01,$35,$01,$0A ; $f8 + db $02,$21,$02,$07 ; $f9 + db $02,$02,$07,$04 ; $fa + db $01,$11,$05,$07 ; $fb + db $01,$03,$07,$03 ; $fc + +SpriteSets: +; sprite set $01 + db SPRITE_BLUE + db SPRITE_BUG_CATCHER + db SPRITE_GIRL + db SPRITE_FISHER2 + db SPRITE_BLACK_HAIR_BOY_1 + db SPRITE_GAMBLER + db SPRITE_SEEL + db SPRITE_OAK + db SPRITE_SWIMMER + db SPRITE_BALL + db SPRITE_LYING_OLD_MAN + +; sprite set $02 + db SPRITE_BUG_CATCHER + db SPRITE_ROCKET + db SPRITE_BLACK_HAIR_BOY_2 + db SPRITE_HIKER + db SPRITE_SLOWBRO + db SPRITE_BLUE + db SPRITE_GUARD + db SPRITE_LASS + db SPRITE_BLACK_HAIR_BOY_1 + db SPRITE_BALL + db SPRITE_LYING_OLD_MAN_UNUSED_2 + +; sprite set $03 + db SPRITE_LITTLE_GIRL + db SPRITE_GIRL + db SPRITE_BLACK_HAIR_BOY_2 + db SPRITE_HIKER + db SPRITE_GAMBLER + db SPRITE_SLOWBRO + db SPRITE_LASS + db SPRITE_BLACK_HAIR_BOY_1 + db SPRITE_GUARD + db SPRITE_BALL + db SPRITE_LYING_OLD_MAN_UNUSED_2 + +; sprite set $04 + db SPRITE_FOULARD_WOMAN + db SPRITE_BLACK_HAIR_BOY_2 + db SPRITE_BUG_CATCHER + db SPRITE_GAMBLER + db SPRITE_SLOWBRO + db SPRITE_GUARD + db SPRITE_SAILOR + db SPRITE_LASS + db SPRITE_BLACK_HAIR_BOY_1 + db SPRITE_BALL + db SPRITE_LYING_OLD_MAN_UNUSED_2 + +; sprite set $05 + db SPRITE_LITTLE_GIRL + db SPRITE_YOUNG_BOY + db SPRITE_GIRL + db SPRITE_FISHER2 + db SPRITE_FAT_BALD_GUY + db SPRITE_OLD_PERSON + db SPRITE_SLOWBRO + db SPRITE_GUARD + db SPRITE_ROCKET + db SPRITE_BALL + db SPRITE_SNORLAX + +; sprite set $06 + db SPRITE_BUG_CATCHER + db SPRITE_GYM_HELPER + db SPRITE_SLOWBRO + db SPRITE_BLUE + db SPRITE_LASS + db SPRITE_BLACK_HAIR_BOY_1 + db SPRITE_SWIMMER + db SPRITE_GUARD + db SPRITE_GAMBLER + db SPRITE_BALL + db SPRITE_LYING_OLD_MAN_UNUSED_2 + +; sprite set $07 + db SPRITE_ROCKET + db SPRITE_OAK_AIDE + db SPRITE_LAPRAS_GIVER + db SPRITE_ERIKA + db SPRITE_GENTLEMAN + db SPRITE_BIRD + db SPRITE_ROCKER + db SPRITE_BLACK_HAIR_BOY_1 + db SPRITE_SLOWBRO + db SPRITE_BALL + db SPRITE_LYING_OLD_MAN_UNUSED_2 + +; sprite set $08 + db SPRITE_BIKER + db SPRITE_BLACK_HAIR_BOY_2 + db SPRITE_FAT_BALD_GUY + db SPRITE_LASS + db SPRITE_BLACK_HAIR_BOY_1 + db SPRITE_FOULARD_WOMAN + db SPRITE_FISHER2 + db SPRITE_ROCKER + db SPRITE_SLOWBRO + db SPRITE_BALL + db SPRITE_SNORLAX + +; sprite set $09 + db SPRITE_BIKER + db SPRITE_BLACK_HAIR_BOY_1 + db SPRITE_LAPRAS_GIVER + db SPRITE_FISHER2 + db SPRITE_ROCKER + db SPRITE_HIKER + db SPRITE_GAMBLER + db SPRITE_FAT_BALD_GUY + db SPRITE_BLACK_HAIR_BOY_2 + db SPRITE_BALL + db SPRITE_SNORLAX + +; sprite set $0a + db SPRITE_BIRD + db SPRITE_BLACK_HAIR_BOY_1 + db SPRITE_CLEFAIRY + db SPRITE_FISHER2 + db SPRITE_GAMBLER + db SPRITE_SLOWBRO + db SPRITE_SEEL + db SPRITE_SWIMMER + db SPRITE_BUG_CATCHER + db SPRITE_BALL + db SPRITE_OMANYTE + +SpriteSheetPointerTable: + ; SPRITE_RED + dw RedSprite + db $c0 ; byte count + db BANK(RedSprite) + + ; SPRITE_BLUE + dw BlueSprite + db $c0 ; byte count + db BANK(BlueSprite) + + ; SPRITE_OAK + dw OakSprite + db $c0 ; byte count + db BANK(OakSprite) + + ; SPRITE_BUG_CATCHER + dw BugCatcherSprite + db $c0 ; byte count + db BANK(BugCatcherSprite) + + ; SPRITE_SLOWBRO + dw SlowbroSprite + db $c0 ; byte count + db BANK(SlowbroSprite) + + ; SPRITE_LASS + dw LassSprite + db $c0 ; byte count + db BANK(LassSprite) + + ; SPRITE_BLACK_HAIR_BOY_1 + dw BlackHairBoy1Sprite + db $c0 ; byte count + db BANK(BlackHairBoy1Sprite) + + ; SPRITE_LITTLE_GIRL + dw LittleGirlSprite + db $c0 ; byte count + db BANK(LittleGirlSprite) + + ; SPRITE_BIRD + dw BirdSprite + db $c0 ; byte count + db BANK(BirdSprite) + + ; SPRITE_FAT_BALD_GUY + dw FatBaldGuySprite + db $c0 ; byte count + db BANK(FatBaldGuySprite) + + ; SPRITE_GAMBLER + dw GamblerSprite + db $c0 ; byte count + db BANK(GamblerSprite) + + ; SPRITE_BLACK_HAIR_BOY_2 + dw BlackHairBoy2Sprite + db $c0 ; byte count + db BANK(BlackHairBoy2Sprite) + + ; SPRITE_GIRL + dw GirlSprite + db $c0 ; byte count + db BANK(GirlSprite) + + ; SPRITE_HIKER + dw HikerSprite + db $c0 ; byte count + db BANK(HikerSprite) + + ; SPRITE_FOULARD_WOMAN + dw FoulardWomanSprite + db $c0 ; byte count + db BANK(FoulardWomanSprite) + + ; SPRITE_GENTLEMAN + dw GentlemanSprite + db $c0 ; byte count + db BANK(GentlemanSprite) + + ; SPRITE_DAISY + dw DaisySprite + db $c0 ; byte count + db BANK(DaisySprite) + + ; SPRITE_BIKER + dw BikerSprite + db $c0 ; byte count + db BANK(BikerSprite) + + ; SPRITE_SAILOR + dw SailorSprite + db $c0 ; byte count + db BANK(SailorSprite) + + ; SPRITE_COOK + dw CookSprite + db $c0 ; byte count + db BANK(CookSprite) + + ; SPRITE_BIKE_SHOP_GUY + dw BikeShopGuySprite + db $c0 ; byte count + db BANK(BikeShopGuySprite) + + ; SPRITE_MR_FUJI + dw MrFujiSprite + db $c0 ; byte count + db BANK(MrFujiSprite) + + ; SPRITE_GIOVANNI + dw GiovanniSprite + db $c0 ; byte count + db BANK(GiovanniSprite) + + ; SPRITE_ROCKET + dw RocketSprite + db $c0 ; byte count + db BANK(RocketSprite) + + ; SPRITE_MEDIUM + dw MediumSprite + db $c0 ; byte count + db BANK(MediumSprite) + + ; SPRITE_WAITER + dw WaiterSprite + db $c0 ; byte count + db BANK(WaiterSprite) + + ; SPRITE_ERIKA + dw ErikaSprite + db $c0 ; byte count + db BANK(ErikaSprite) + + ; SPRITE_MOM_GEISHA + dw MomGeishaSprite + db $c0 ; byte count + db BANK(MomGeishaSprite) + + ; SPRITE_BRUNETTE_GIRL + dw BrunetteGirlSprite + db $c0 ; byte count + db BANK(BrunetteGirlSprite) + + ; SPRITE_LANCE + dw LanceSprite + db $c0 ; byte count + db BANK(LanceSprite) + + ; SPRITE_OAK_SCIENTIST_AIDE + dw OakAideSprite + db $c0 ; byte count + db BANK(OakAideSprite) + + ; SPRITE_OAK_AIDE + dw OakAideSprite + db $c0 ; byte count + db BANK(OakAideSprite) + + ; SPRITE_ROCKER + dw RockerSprite + db $c0 ; byte count + db BANK(RockerSprite) + + ; SPRITE_SWIMMER + dw SwimmerSprite + db $c0 ; byte count + db BANK(SwimmerSprite) + + ; SPRITE_WHITE_PLAYER + dw WhitePlayerSprite + db $c0 ; byte count + db BANK(WhitePlayerSprite) + + ; SPRITE_GYM_HELPER + dw GymHelperSprite + db $c0 ; byte count + db BANK(GymHelperSprite) + + ; SPRITE_OLD_PERSON + dw OldPersonSprite + db $c0 ; byte count + db BANK(OldPersonSprite) + + ; SPRITE_MART_GUY + dw MartGuySprite + db $c0 ; byte count + db BANK(MartGuySprite) + + ; SPRITE_FISHER + dw FisherSprite + db $c0 ; byte count + db BANK(FisherSprite) + + ; SPRITE_OLD_MEDIUM_WOMAN + dw OldMediumWomanSprite + db $c0 ; byte count + db BANK(OldMediumWomanSprite) + + ; SPRITE_NURSE + dw NurseSprite + db $c0 ; byte count + db BANK(NurseSprite) + + ; SPRITE_CABLE_CLUB_WOMAN + dw CableClubWomanSprite + db $c0 ; byte count + db BANK(CableClubWomanSprite) + + ; SPRITE_MR_MASTERBALL + dw MrMasterballSprite + db $c0 ; byte count + db BANK(MrMasterballSprite) + + ; SPRITE_LAPRAS_GIVER + dw LaprasGiverSprite + db $c0 ; byte count + db BANK(LaprasGiverSprite) + + ; SPRITE_WARDEN + dw WardenSprite + db $c0 ; byte count + db BANK(WardenSprite) + + ; SPRITE_SS_CAPTAIN + dw SsCaptainSprite + db $c0 ; byte count + db BANK(SsCaptainSprite) + + ; SPRITE_FISHER2 + dw Fisher2Sprite + db $c0 ; byte count + db BANK(Fisher2Sprite) + + ; SPRITE_BLACKBELT + dw BlackbeltSprite + db $c0 ; byte count + db BANK(BlackbeltSprite) + + ; SPRITE_GUARD + dw GuardSprite + db $c0 ; byte count + db BANK(GuardSprite) + + ; $32 + dw GuardSprite + db $c0 ; byte count + db BANK(GuardSprite) + + ; SPRITE_MOM + dw MomSprite + db $c0 ; byte count + db BANK(MomSprite) + + ; SPRITE_BALDING_GUY + dw BaldingGuySprite + db $c0 ; byte count + db BANK(BaldingGuySprite) + + ; SPRITE_YOUNG_BOY + dw YoungBoySprite + db $c0 ; byte count + db BANK(YoungBoySprite) + + ; SPRITE_GAMEBOY_KID + dw GameboyKidSprite + db $c0 ; byte count + db BANK(GameboyKidSprite) + + ; SPRITE_GAMEBOY_KID_COPY + dw GameboyKidSprite + db $c0 ; byte count + db BANK(GameboyKidSprite) + + ; SPRITE_CLEFAIRY + dw ClefairySprite + db $c0 ; byte count + db BANK(ClefairySprite) + + ; SPRITE_AGATHA + dw AgathaSprite + db $c0 ; byte count + db BANK(AgathaSprite) + + ; SPRITE_BRUNO + dw BrunoSprite + db $c0 ; byte count + db BANK(BrunoSprite) + + ; SPRITE_LORELEI + dw LoreleiSprite + db $c0 ; byte count + db BANK(LoreleiSprite) + + ; SPRITE_SEEL + dw SeelSprite + db $c0 ; byte count + db BANK(SeelSprite) + + ; SPRITE_BALL + dw BallSprite + db $40 ; byte count + db BANK(BallSprite) + + ; SPRITE_OMANYTE + dw OmanyteSprite + db $40 ; byte count + db BANK(OmanyteSprite) + + ; SPRITE_BOULDER + dw BoulderSprite + db $40 ; byte count + db BANK(BoulderSprite) + + ; SPRITE_PAPER_SHEET + dw PaperSheetSprite + db $40 ; byte count + db BANK(PaperSheetSprite) + + ; SPRITE_BOOK_MAP_DEX + dw BookMapDexSprite + db $40 ; byte count + db BANK(BookMapDexSprite) + + ; SPRITE_CLIPBOARD + dw ClipboardSprite + db $40 ; byte count + db BANK(ClipboardSprite) + + ; SPRITE_SNORLAX + dw SnorlaxSprite + db $40 ; byte count + db BANK(SnorlaxSprite) + + ; SPRITE_OLD_AMBER_COPY + dw OldAmberSprite + db $40 ; byte count + db BANK(OldAmberSprite) + + ; SPRITE_OLD_AMBER + dw OldAmberSprite + db $40 ; byte count + db BANK(OldAmberSprite) + + ; SPRITE_LYING_OLD_MAN_UNUSED_1 + dw LyingOldManSprite + db $40 ; byte count + db BANK(LyingOldManSprite) + + ; SPRITE_LYING_OLD_MAN_UNUSED_2 + dw LyingOldManSprite + db $40 ; byte count + db BANK(LyingOldManSprite) + + ; SPRITE_LYING_OLD_MAN + dw LyingOldManSprite + db $40 ; byte count + db BANK(LyingOldManSprite) diff --git a/data/maps/town_map_entries.asm b/data/maps/town_map_entries.asm new file mode 100755 index 00000000..63ebd51b --- /dev/null +++ b/data/maps/town_map_entries.asm @@ -0,0 +1,101 @@ +ExternalMapEntries: + EMAP $2,$B,PalletTownName + EMAP $2,$8,ViridianCityName + EMAP $2,$3,PewterCityName + EMAP $A,$2,CeruleanCityName + EMAP $E,$5,LavenderTownName + EMAP $A,$9,VermilionCityName + EMAP $7,$5,CeladonCityName + EMAP $8,$D,FuchsiaCityName + EMAP $2,$F,CinnabarIslandName + EMAP $0,$2,IndigoPlateauName + EMAP $A,$5,SaffronCityName + EMAP $0,$0,PalletTownName ; unused + EMAP $2,$A,Route1Name + EMAP $2,$6,Route2Name + EMAP $4,$3,Route3Name + EMAP $8,$2,Route4Name + EMAP $A,$3,Route5Name + EMAP $A,$8,Route6Name + EMAP $8,$5,Route7Name + EMAP $D,$5,Route8Name + EMAP $D,$2,Route9Name + EMAP $E,$4,Route10Name + EMAP $C,$9,Route11Name + EMAP $E,$9,Route12Name + EMAP $D,$B,Route13Name + EMAP $B,$C,Route14Name + EMAP $A,$D,Route15Name + EMAP $5,$5,Route16Name + EMAP $4,$8,Route17Name + EMAP $6,$D,Route18Name + EMAP $6,$F,Route19Name + EMAP $4,$F,Route20Name + EMAP $2,$D,Route21Name + EMAP $0,$8,Route22Name + EMAP $0,$6,Route23Name + EMAP $A,$1,Route24Name + EMAP $B,$0,Route25Name + +InternalMapEntries: + IMAP OAKS_LAB, $2,$B,PalletTownName + IMAP VIRIDIAN_GYM, $2,$8,ViridianCityName + IMAP VIRIDIAN_FOREST_SOUTH_GATE, $2,$6,Route2Name + IMAP VIRIDIAN_FOREST, $2,$4,ViridianForestName + IMAP PEWTER_POKECENTER, $2,$3,PewterCityName + IMAP MT_MOON_B2F, $6,$2,MountMoonName + IMAP CERULEAN_MART, $A,$2,CeruleanCityName + IMAP MT_MOON_POKECENTER, $5,$2,Route4Name + IMAP CERULEAN_TRASHED_HOUSE_COPY, $A,$2,CeruleanCityName + IMAP DAYCARE, $A,$4,Route5Name + IMAP UNDERGROUND_PATH_ROUTE_6_COPY, $A,$6,Route6Name + IMAP UNDERGROUND_PATH_ROUTE_7_COPY, $9,$5,Route7Name + IMAP UNDERGROUND_PATH_ROUTE_8, $B,$5,Route8Name + IMAP ROCK_TUNNEL_1F, $E,$3,RockTunnelName + IMAP POWER_PLANT, $F,$4,PowerPlantName + IMAP ROUTE_11_GATE_2F, $D,$9,Route11Name + IMAP ROUTE_12_GATE_1F, $E,$7,Route12Name + IMAP BILLS_HOUSE, $C,$0,SeaCottageName + IMAP VERMILION_DOCK, $A,$9,VermilionCityName + IMAP SS_ANNE_B1F_ROOMS, $9,$A,SSAnneName + IMAP VICTORY_ROAD_1F, $0,$4,VictoryRoadName + IMAP HALL_OF_FAME, $0,$2,PokemonLeagueName + IMAP UNDERGROUND_PATH_NORTH_SOUTH, $A,$5,UndergroundPathName + IMAP CHAMPIONS_ROOM, $0,$2,PokemonLeagueName + IMAP UNDERGROUND_PATH_WEST_EAST, $A,$5,UndergroundPathName + IMAP CELADON_HOTEL, $7,$5,CeladonCityName + IMAP LAVENDER_POKECENTER, $E,$5,LavenderTownName + IMAP POKEMON_TOWER_7F, $F,$5,PokemonTowerName + IMAP LAVENDER_CUBONE_HOUSE, $E,$5,LavenderTownName + IMAP WARDENS_HOUSE, $8,$D,FuchsiaCityName + IMAP SAFARI_ZONE_GATE, $8,$C,SafariZoneName + IMAP FUCHSIA_MEETING_ROOM, $8,$D,FuchsiaCityName + IMAP SEAFOAM_ISLANDS_B4F, $5,$F,SeafoamIslandsName + IMAP VERMILION_OLD_ROD_HOUSE, $A,$9,VermilionCityName + IMAP FUCHSIA_GOOD_ROD_HOUSE, $8,$D,FuchsiaCityName + IMAP POKEMON_MANSION_1F, $2,$F,PokemonMansionName + IMAP CINNABAR_MART_COPY, $2,$F,CinnabarIslandName + IMAP INDIGO_PLATEAU_LOBBY, $0,$2,IndigoPlateauName + IMAP MR_PSYCHICS_HOUSE, $A,$5,SaffronCityName + IMAP ROUTE_15_GATE_2F, $9,$D,Route15Name + IMAP ROUTE_16_FLY_HOUSE, $4,$5,Route16Name + IMAP ROUTE_12_SUPER_ROD_HOUSE, $E,$A,Route12Name + IMAP ROUTE_18_GATE_2F, $7,$D,Route18Name + IMAP SEAFOAM_ISLANDS_1F, $5,$F,SeafoamIslandsName + IMAP ROUTE_22_GATE, $0,$7,Route22Name + IMAP VICTORY_ROAD_2F, $0,$4,VictoryRoadName + IMAP ROUTE_12_GATE_2F, $E,$7,Route12Name + IMAP VERMILION_TRADE_HOUSE, $A,$9,VermilionCityName + IMAP DIGLETTS_CAVE, $3,$4,DiglettsCaveName + IMAP VICTORY_ROAD_3F, $0,$4,VictoryRoadName + IMAP UNUSED_MAP_CE, $7,$5,RocketHQName + IMAP SILPH_CO_8F, $A,$5,SilphCoName + IMAP POKEMON_MANSION_B1F, $2,$F,PokemonMansionName + IMAP SAFARI_ZONE_NORTH_REST_HOUSE, $8,$C,SafariZoneName + IMAP CERULEAN_CAVE_1F, $9,$1,CeruleanCaveName + IMAP NAME_RATERS_HOUSE, $E,$5,LavenderTownName + IMAP CERULEAN_BADGE_HOUSE, $A,$2,CeruleanCityName + IMAP ROCK_TUNNEL_B1F, $E,$3,RockTunnelName + IMAP SILPH_CO_ELEVATOR, $A,$5,SilphCoName + IMAP AGATHAS_ROOM, $0,$2,PokemonLeagueName + db $FF diff --git a/data/maps/town_map_order.asm b/data/maps/town_map_order.asm new file mode 100755 index 00000000..a082c376 --- /dev/null +++ b/data/maps/town_map_order.asm @@ -0,0 +1,49 @@ +TownMapOrder: + db PALLET_TOWN + db ROUTE_1 + db VIRIDIAN_CITY + db ROUTE_2 + db VIRIDIAN_FOREST + db DIGLETTS_CAVE + db PEWTER_CITY + db ROUTE_3 + db MT_MOON_1F + db ROUTE_4 + db CERULEAN_CITY + db ROUTE_24 + db ROUTE_25 + db BILLS_HOUSE + db ROUTE_5 + db ROUTE_6 + db VERMILION_CITY + db SS_ANNE_1F + db ROUTE_9 + db ROCK_TUNNEL_POKECENTER + db ROUTE_10 + db LAVENDER_TOWN + db POKEMON_TOWER_2F + db ROUTE_8 + db ROUTE_7 + db CELADON_CITY + db SAFFRON_CITY + db ROUTE_11 + db ROUTE_12 + db ROUTE_13 + db ROUTE_14 + db ROUTE_15 + db ROUTE_16 + db ROUTE_17 + db ROUTE_18 + db FUCHSIA_CITY + db SAFARI_ZONE_EAST + db ROUTE_19 + db SEAFOAM_ISLANDS_B1F + db ROUTE_20 + db CINNABAR_ISLAND + db ROUTE_21 + db ROUTE_22 + db ROUTE_23 + db VICTORY_ROAD_3F + db INDIGO_PLATEAU + db POWER_PLANT +TownMapOrderEnd: diff --git a/data/mart_inventories.asm b/data/mart_inventories.asm deleted file mode 100755 index 35ae2e9d..00000000 --- a/data/mart_inventories.asm +++ /dev/null @@ -1,64 +0,0 @@ -; mart inventories are below -; they are texts - -; Viridian -ViridianCashierText:: - TX_MART POKE_BALL, ANTIDOTE, PARLYZ_HEAL, BURN_HEAL - -; Pewter -PewterCashierText:: - TX_MART POKE_BALL, POTION, ESCAPE_ROPE, ANTIDOTE, BURN_HEAL, AWAKENING, PARLYZ_HEAL - -; Cerulean -CeruleanCashierText:: - TX_MART POKE_BALL, POTION, REPEL, ANTIDOTE, BURN_HEAL, AWAKENING, PARLYZ_HEAL - -; Bike shop - TX_MART BICYCLE - -; Vermilion -VermilionCashierText:: - TX_MART POKE_BALL, SUPER_POTION, ICE_HEAL, AWAKENING, PARLYZ_HEAL, REPEL - -; Lavender -LavenderCashierText:: - TX_MART GREAT_BALL, SUPER_POTION, REVIVE, ESCAPE_ROPE, SUPER_REPEL, ANTIDOTE, BURN_HEAL, ICE_HEAL, PARLYZ_HEAL - -; Celadon Dept. Store 2F (1) -CeladonMart2Clerk1Text:: - TX_MART GREAT_BALL, SUPER_POTION, REVIVE, SUPER_REPEL, ANTIDOTE, BURN_HEAL, ICE_HEAL, AWAKENING, PARLYZ_HEAL - -; Celadon Dept. Store 2F (2) -CeladonMart2Clerk2Text:: - TX_MART TM_32, TM_33, TM_02, TM_07, TM_37, TM_01, TM_05, TM_09, TM_17 - -; Celadon Dept. Store 4F -CeladonMart4ClerkText:: - TX_MART POKE_DOLL, FIRE_STONE, THUNDER_STONE, WATER_STONE, LEAF_STONE - -; Celadon Dept. Store 5F (1) -CeladonMart5Clerk1Text:: - TX_MART X_ACCURACY, GUARD_SPEC, DIRE_HIT, X_ATTACK, X_DEFEND, X_SPEED, X_SPECIAL - -; Celadon Dept. Store 5F (2) -CeladonMart5Clerk2Text:: - TX_MART HP_UP, PROTEIN, IRON, CARBOS, CALCIUM - -; Fuchsia -FuchsiaCashierText:: - TX_MART ULTRA_BALL, GREAT_BALL, SUPER_POTION, REVIVE, FULL_HEAL, SUPER_REPEL - -; unused? - TX_MART GREAT_BALL, HYPER_POTION, SUPER_POTION, FULL_HEAL, REVIVE - -; Cinnabar -CinnabarCashierText:: - TX_MART ULTRA_BALL, GREAT_BALL, HYPER_POTION, MAX_REPEL, ESCAPE_ROPE, FULL_HEAL, REVIVE - -; Saffron -SaffronCashierText:: - TX_MART GREAT_BALL, HYPER_POTION, MAX_REPEL, ESCAPE_ROPE, FULL_HEAL, REVIVE - -; Indigo -IndigoCashierText:: - TX_MART ULTRA_BALL, GREAT_BALL, FULL_RESTORE, MAX_POTION, FULL_HEAL, REVIVE, MAX_REPEL diff --git a/data/mon_palettes.asm b/data/mon_palettes.asm deleted file mode 100755 index 8c4d0bc0..00000000 --- a/data/mon_palettes.asm +++ /dev/null @@ -1,153 +0,0 @@ -MonsterPalettes: - db PAL_MEWMON ; MISSINGNO - db PAL_GREENMON ; BULBASAUR - db PAL_GREENMON ; IVYSAUR - db PAL_GREENMON ; VENUSAUR - db PAL_REDMON ; CHARMANDER - db PAL_REDMON ; CHARMELEON - db PAL_REDMON ; CHARIZARD - db PAL_CYANMON ; SQUIRTLE - db PAL_CYANMON ; WARTORTLE - db PAL_CYANMON ; BLASTOISE - db PAL_GREENMON ; CATERPIE - db PAL_GREENMON ; METAPOD - db PAL_CYANMON ; BUTTERFREE - db PAL_YELLOWMON ; WEEDLE - db PAL_YELLOWMON ; KAKUNA - db PAL_YELLOWMON ; BEEDRILL - db PAL_BROWNMON ; PIDGEY - db PAL_BROWNMON ; PIDGEOTTO - db PAL_BROWNMON ; PIDGEOT - db PAL_GREYMON ; RATTATA - db PAL_GREYMON ; RATICATE - db PAL_BROWNMON ; SPEAROW - db PAL_BROWNMON ; FEAROW - db PAL_PURPLEMON ; EKANS - db PAL_PURPLEMON ; ARBOK - db PAL_YELLOWMON ; PIKACHU - db PAL_YELLOWMON ; RAICHU - db PAL_BROWNMON ; SANDSHREW - db PAL_BROWNMON ; SANDSLASH - db PAL_BLUEMON ; NIDORAN_F - db PAL_BLUEMON ; NIDORINA - db PAL_BLUEMON ; NIDOQUEEN - db PAL_PURPLEMON ; NIDORAN_M - db PAL_PURPLEMON ; NIDORINO - db PAL_PURPLEMON ; NIDOKING - db PAL_PINKMON ; CLEFAIRY - db PAL_PINKMON ; CLEFABLE - db PAL_REDMON ; VULPIX - db PAL_YELLOWMON ; NINETALES - db PAL_PINKMON ; JIGGLYPUFF - db PAL_PINKMON ; WIGGLYTUFF - db PAL_BLUEMON ; ZUBAT - db PAL_BLUEMON ; GOLBAT - db PAL_GREENMON ; ODDISH - db PAL_REDMON ; GLOOM - db PAL_REDMON ; VILEPLUME - db PAL_REDMON ; PARAS - db PAL_REDMON ; PARASECT - db PAL_PURPLEMON ; VENONAT - db PAL_PURPLEMON ; VENOMOTH - db PAL_BROWNMON ; DIGLETT - db PAL_BROWNMON ; DUGTRIO - db PAL_YELLOWMON ; MEOWTH - db PAL_YELLOWMON ; PERSIAN - db PAL_YELLOWMON ; PSYDUCK - db PAL_CYANMON ; GOLDUCK - db PAL_BROWNMON ; MANKEY - db PAL_BROWNMON ; PRIMEAPE - db PAL_BROWNMON ; GROWLITHE - db PAL_REDMON ; ARCANINE - db PAL_BLUEMON ; POLIWAG - db PAL_BLUEMON ; POLIWHIRL - db PAL_BLUEMON ; POLIWRATH - db PAL_YELLOWMON ; ABRA - db PAL_YELLOWMON ; KADABRA - db PAL_YELLOWMON ; ALAKAZAM - db PAL_GREYMON ; MACHOP - db PAL_GREYMON ; MACHOKE - db PAL_GREYMON ; MACHAMP - db PAL_GREENMON ; BELLSPROUT - db PAL_GREENMON ; WEEPINBELL - db PAL_GREENMON ; VICTREEBEL - db PAL_CYANMON ; TENTACOOL - db PAL_CYANMON ; TENTACRUEL - db PAL_GREYMON ; GEODUDE - db PAL_GREYMON ; GRAVELER - db PAL_GREYMON ; GOLEM - db PAL_REDMON ; PONYTA - db PAL_REDMON ; RAPIDASH - db PAL_PINKMON ; SLOWPOKE - db PAL_PINKMON ; SLOWBRO - db PAL_GREYMON ; MAGNEMITE - db PAL_GREYMON ; MAGNETON - db PAL_BROWNMON ; FARFETCHD - db PAL_BROWNMON ; DODUO - db PAL_BROWNMON ; DODRIO - db PAL_BLUEMON ; SEEL - db PAL_BLUEMON ; DEWGONG - db PAL_PURPLEMON ; GRIMER - db PAL_PURPLEMON ; MUK - db PAL_GREYMON ; SHELLDER - db PAL_GREYMON ; CLOYSTER - db PAL_PURPLEMON ; GASTLY - db PAL_PURPLEMON ; HAUNTER - db PAL_PURPLEMON ; GENGAR - db PAL_GREYMON ; ONIX - db PAL_YELLOWMON ; DROWZEE - db PAL_YELLOWMON ; HYPNO - db PAL_REDMON ; KRABBY - db PAL_REDMON ; KINGLER - db PAL_YELLOWMON ; VOLTORB - db PAL_YELLOWMON ; ELECTRODE - db PAL_PINKMON ; EXEGGCUTE - db PAL_GREENMON ; EXEGGUTOR - db PAL_GREYMON ; CUBONE - db PAL_GREYMON ; MAROWAK - db PAL_BROWNMON ; HITMONLEE - db PAL_BROWNMON ; HITMONCHAN - db PAL_PINKMON ; LICKITUNG - db PAL_PURPLEMON ; KOFFING - db PAL_PURPLEMON ; WEEZING - db PAL_GREYMON ; RHYHORN - db PAL_GREYMON ; RHYDON - db PAL_PINKMON ; CHANSEY - db PAL_BLUEMON ; TANGELA - db PAL_BROWNMON ; KANGASKHAN - db PAL_CYANMON ; HORSEA - db PAL_CYANMON ; SEADRA - db PAL_REDMON ; GOLDEEN - db PAL_REDMON ; SEAKING - db PAL_REDMON ; STARYU - db PAL_GREYMON ; STARMIE - db PAL_PINKMON ; MR_MIME - db PAL_GREENMON ; SCYTHER - db PAL_MEWMON ; JYNX - db PAL_YELLOWMON ; ELECTABUZZ - db PAL_REDMON ; MAGMAR - db PAL_BROWNMON ; PINSIR - db PAL_GREYMON ; TAUROS - db PAL_REDMON ; MAGIKARP - db PAL_BLUEMON ; GYARADOS - db PAL_CYANMON ; LAPRAS - db PAL_GREYMON ; DITTO - db PAL_GREYMON ; EEVEE - db PAL_CYANMON ; VAPOREON - db PAL_YELLOWMON ; JOLTEON - db PAL_REDMON ; FLAREON - db PAL_GREYMON ; PORYGON - db PAL_BLUEMON ; OMANYTE - db PAL_BLUEMON ; OMASTAR - db PAL_BROWNMON ; KABUTO - db PAL_BROWNMON ; KABUTOPS - db PAL_GREYMON ; AERODACTYL - db PAL_PINKMON ; SNORLAX - db PAL_BLUEMON ; ARTICUNO - db PAL_YELLOWMON ; ZAPDOS - db PAL_REDMON ; MOLTRES - db PAL_GREYMON ; DRATINI - db PAL_BLUEMON ; DRAGONAIR - db PAL_BROWNMON ; DRAGONITE - db PAL_MEWMON ; MEWTWO - db PAL_MEWMON ; MEW diff --git a/data/mon_party_sprite_pointers.asm b/data/mon_party_sprite_pointers.asm deleted file mode 100644 index b615798e..00000000 --- a/data/mon_party_sprite_pointers.asm +++ /dev/null @@ -1,140 +0,0 @@ -MonPartySpritePointers: - dw SlowbroSprite + $c0 - db $40 / $10 ; 40 bytes - db BANK(SlowbroSprite) - dw vSprites - - dw BallSprite - db $80 / $10 ; $80 bytes - db BANK(BallSprite) - dw vSprites + $40 - - dw ClefairySprite + $c0 - db $40 / $10 ; $40 bytes - db BANK(ClefairySprite) - dw vSprites + $c0 - - dw BirdSprite + $c0 - db $40 / $10 ; $40 bytes - db BANK(BirdSprite) - dw vSprites + $100 - - dw SeelSprite - db $40 / $10 ; $40 bytes - db BANK(SeelSprite) - dw vSprites + $140 - - dw BugIconFrame2 - db $10 / $10 ; $10 bytes - db BANK(BugIconFrame2) - dw vSprites + $180 - - dw BugIconFrame2 + $10 - db $10 / $10 ; $10 bytes - db BANK(BugIconFrame2) - dw vSprites + $1a0 - - dw PlantIconFrame2 - db $10 / $10 ; $10 bytes - db BANK(PlantIconFrame2) - dw vSprites + $1c0 - - dw PlantIconFrame2 + $10 - db $10 / $10 ; $10 bytes - db BANK(PlantIconFrame2) - dw vSprites + $1e0 - - dw SnakeIconFrame1 - db $10 / $10 ; $10 bytes - db BANK(SnakeIconFrame1) - dw vSprites + $200 - - dw SnakeIconFrame1 + $10 - db $10 / $10 ; $10 bytes - db BANK(SnakeIconFrame1) - dw vSprites + $220 - - dw QuadrupedIconFrame1 - db $10 / $10 ; $10 bytes - db BANK(QuadrupedIconFrame1) - dw vSprites + $240 - - dw QuadrupedIconFrame1 + $10 - db $10 / $10 ; $10 bytes - db BANK(QuadrupedIconFrame1) - dw vSprites + $260 - - dw TradeBubbleIconGFX - db $40 / $10 ; $40 bytes - db BANK(TradeBubbleIconGFX) - dw vSprites + $380 - - dw SlowbroSprite - db $40 / $10 ; $40 bytes - db BANK(SlowbroSprite) - dw vSprites + $400 - - dw BallSprite - db $80 / $10 ; $80 bytes - db BANK(BallSprite) - dw vSprites + $440 - - dw ClefairySprite - db $40 / $10 ; $40 bytes - db BANK(ClefairySprite) - dw vSprites + $4c0 - - dw BirdSprite - db $40 / $10 ; $40 bytes - db BANK(BirdSprite) - dw vSprites + $500 - - dw SeelSprite + $C0 - db $40 / $10 ; $40 bytes - db BANK(SeelSprite) - dw vSprites + $540 - - dw BugIconFrame1 - db $10 / $10 ; $10 bytes - db BANK(BugIconFrame1) - dw vSprites + $580 - - dw BugIconFrame1 + $10 - db $10 / $10 ; $10 bytes - db BANK(BugIconFrame1) - dw vSprites + $5a0 - - dw PlantIconFrame1 - db $10 / $10 ; $10 bytes - db BANK(PlantIconFrame1) - dw vSprites + $5c0 - - dw PlantIconFrame1 + $10 - db $10 / $10 ; $10 bytes - db BANK(PlantIconFrame1) - dw vSprites + $5E0 - - dw SnakeIconFrame2 - db $10 / $10 ; $10 bytes - db BANK(SnakeIconFrame2) - dw vSprites + $600 - - dw SnakeIconFrame2 + $10 - db $10 / $10 ; $10 bytes - db BANK(SnakeIconFrame2) - dw vSprites + $620 - - dw QuadrupedIconFrame2 - db $10 / $10 ; $10 bytes - db BANK(QuadrupedIconFrame2) - dw vSprites + $640 - - dw QuadrupedIconFrame2 + $10 - db $10 / $10 ; $10 bytes - db BANK(QuadrupedIconFrame2) - dw vSprites + $660 - - dw TradeBubbleIconGFX + $40 - db $40 / $10 ; $40 bytes - db BANK(TradeBubbleIconGFX) - dw vSprites + $780 diff --git a/data/mon_party_sprites.asm b/data/mon_party_sprites.asm deleted file mode 100755 index 471ee846..00000000 --- a/data/mon_party_sprites.asm +++ /dev/null @@ -1,77 +0,0 @@ -MonPartyData: - dn ICON_GRASS, ICON_GRASS ; Bulbasaur / Ivysaur - dn ICON_GRASS, ICON_MON ; Venusaur / Charmander - dn ICON_MON, ICON_MON ; Charmeleon / Charizard - dn ICON_WATER, ICON_WATER ; Squirtle / Wartortle - dn ICON_WATER, ICON_BUG ; Blastoise / Caterpie - dn ICON_BUG, ICON_BUG ; Metapod / Butterfree - dn ICON_BUG, ICON_BUG ; Weedle / Kakuna - dn ICON_BUG, ICON_BIRD ; Beedrill / Pidgey - dn ICON_BIRD, ICON_BIRD ; Pidgeotto / Pidgeot - dn ICON_QUADRUPED, ICON_QUADRUPED ; Rattata / Raticate - dn ICON_BIRD, ICON_BIRD ; Spearow / Fearow - dn ICON_SNAKE, ICON_SNAKE ; Ekans / Arbok - dn ICON_FAIRY, ICON_FAIRY ; Pikachu / Raichu - dn ICON_MON, ICON_MON ; Sandshrew / Sandslash - dn ICON_MON, ICON_MON ; NidoranF / Nidorina - dn ICON_MON, ICON_MON ; Nidoqueen / NidoranM - dn ICON_MON, ICON_MON ; Nidorino / Nidoking - dn ICON_FAIRY, ICON_FAIRY ; Clefairy / Clefable - dn ICON_QUADRUPED, ICON_QUADRUPED ; Vulpix / Ninetales - dn ICON_FAIRY, ICON_FAIRY ; Jigglypuff / Wigglytuff - dn ICON_MON, ICON_MON ; Zubat / Golbat - dn ICON_GRASS, ICON_GRASS ; Oddish / Gloom - dn ICON_GRASS, ICON_BUG ; Vileplume / Paras - dn ICON_BUG, ICON_BUG ; Parasect / Venonat - dn ICON_BUG, ICON_MON ; Venomoth / Diglett - dn ICON_MON, ICON_MON ; Dugtrio / Meowth - dn ICON_MON, ICON_MON ; Persian / Psyduck - dn ICON_MON, ICON_MON ; Golduck / Mankey - dn ICON_MON, ICON_QUADRUPED ; Primeape / Growlithe - dn ICON_QUADRUPED, ICON_MON ; Arcanine / Poliwag - dn ICON_MON, ICON_MON ; Poliwhirl / Poliwrath - dn ICON_MON, ICON_MON ; Abra / Kadabra - dn ICON_MON, ICON_MON ; Alakazam / Machop - dn ICON_MON, ICON_MON ; Machoke / Machamp - dn ICON_GRASS, ICON_GRASS ; Bellsprout / Weepinbell - dn ICON_GRASS, ICON_WATER ; Victreebel / Tentacool - dn ICON_WATER, ICON_MON ; Tentacruel / Geodude - dn ICON_MON, ICON_MON ; Graveler / Golem - dn ICON_QUADRUPED, ICON_QUADRUPED ; Ponyta / Rapidash - dn ICON_QUADRUPED, ICON_MON ; Slowpoke / Slowbro - dn ICON_BALL, ICON_BALL ; Magnemite / Magneton - dn ICON_BIRD, ICON_BIRD ; Farfetch'd / Doduo - dn ICON_BIRD, ICON_WATER ; Dodrio / Seel - dn ICON_WATER, ICON_MON ; Dewgong / Grimer - dn ICON_MON, ICON_HELIX ; Muk / Shellder - dn ICON_HELIX, ICON_MON ; Cloyster / Gastly - dn ICON_MON, ICON_MON ; Haunter / Gengar - dn ICON_SNAKE, ICON_MON ; Onix / Drowzee - dn ICON_MON, ICON_WATER ; Hypno / Krabby - dn ICON_WATER, ICON_BALL ; Kingler / Voltorb - dn ICON_BALL, ICON_GRASS ; Electrode / Exeggcute - dn ICON_GRASS, ICON_MON ; Exeggutor / Cubone - dn ICON_MON, ICON_MON ; Marowak / Hitmonlee - dn ICON_MON, ICON_MON ; Hitmonchan / Lickitung - dn ICON_MON, ICON_MON ; Koffing / Weezing - dn ICON_QUADRUPED, ICON_MON ; Rhyhorn / Rhydon - dn ICON_FAIRY, ICON_GRASS ; Chansey / Tangela - dn ICON_MON, ICON_WATER ; Kangaskhan / Horsea - dn ICON_WATER, ICON_WATER ; Seadra / Goldeen - dn ICON_WATER, ICON_HELIX ; Seaking / Staryu - dn ICON_HELIX, ICON_MON ; Starmie / Mr.Mime - dn ICON_BUG, ICON_MON ; Scyther / Jynx - dn ICON_MON, ICON_MON ; Electabuzz / Magmar - dn ICON_BUG, ICON_QUADRUPED ; Pinsir / Tauros - dn ICON_WATER, ICON_SNAKE ; Magikarp / Gyarados - dn ICON_WATER, ICON_MON ; Lapras / Ditto - dn ICON_QUADRUPED, ICON_QUADRUPED ; Eevee / Vaporeon - dn ICON_QUADRUPED, ICON_QUADRUPED ; Jolteon / Flareon - dn ICON_MON, ICON_HELIX ; Porygon / Omanyte - dn ICON_HELIX, ICON_HELIX ; Omastar / Kabuto - dn ICON_HELIX, ICON_BIRD ; Kabutops / Aerodactyl - dn ICON_MON, ICON_BIRD ; Snorlax / Articuno - dn ICON_BIRD, ICON_BIRD ; Zapdos / Moltres - dn ICON_SNAKE, ICON_SNAKE ; Dratini / Dragonair - dn ICON_SNAKE, ICON_MON ; Dragonite / Mewtwo - dn ICON_MON, 0 ; Mew / padding diff --git a/data/move_animation_pointers.asm b/data/move_animation_pointers.asm deleted file mode 100644 index ba607141..00000000 --- a/data/move_animation_pointers.asm +++ /dev/null @@ -1,81 +0,0 @@ -; Format: Special Effect ID (1 byte), Address (2 bytes) -SpecialEffectPointers: - db SE_DARK_SCREEN_FLASH ; $FE - dw AnimationFlashScreen - db SE_DARK_SCREEN_PALETTE ; $FD - dw AnimationDarkScreenPalette - db SE_RESET_SCREEN_PALETTE ; $FC - dw AnimationResetScreenPalette - db SE_SHAKE_SCREEN ; $FB - dw AnimationShakeScreen - db SE_WATER_DROPLETS_EVERYWHERE ; $FA - dw AnimationWaterDropletsEverywhere - db SE_DARKEN_MON_PALETTE ; $F9 - dw AnimationDarkenMonPalette - db SE_FLASH_SCREEN_LONG ; $F8 - dw AnimationFlashScreenLong - db SE_SLIDE_MON_UP ; $F7 - dw AnimationSlideMonUp - db SE_SLIDE_MON_DOWN ; $F6 - dw AnimationSlideMonDown - db SE_FLASH_MON_PIC ; $F5 - dw AnimationFlashMonPic - db SE_SLIDE_MON_OFF ; $F4 - dw AnimationSlideMonOff - db SE_BLINK_MON ; $F3 - dw AnimationBlinkMon - db SE_MOVE_MON_HORIZONTALLY ; $F2 - dw AnimationMoveMonHorizontally - db SE_RESET_MON_POSITION ; $F1 - dw AnimationResetMonPosition - db SE_LIGHT_SCREEN_PALETTE ; $F0 - dw AnimationLightScreenPalette - db SE_HIDE_MON_PIC ; $EF - dw AnimationHideMonPic - db SE_SQUISH_MON_PIC ; $EE - dw AnimationSquishMonPic - db SE_SHOOT_BALLS_UPWARD ; $ED - dw AnimationShootBallsUpward - db SE_SHOOT_MANY_BALLS_UPWARD ; $EC - dw AnimationShootManyBallsUpward - db SE_BOUNCE_UP_AND_DOWN ; $EB - dw AnimationBoundUpAndDown - db SE_MINIMIZE_MON ; $EA - dw AnimationMinimizeMon - db SE_SLIDE_MON_DOWN_AND_HIDE ; $E9 - dw AnimationSlideMonDownAndHide - db SE_TRANSFORM_MON ; $E8 - dw AnimationTransformMon - db SE_LEAVES_FALLING ; $E7 - dw AnimationLeavesFalling - db SE_PETALS_FALLING ; $E6 - dw AnimationPetalsFalling - db SE_SLIDE_MON_HALF_OFF ; $E5 - dw AnimationSlideMonHalfOff - db SE_SHAKE_ENEMY_HUD ; $E4 - dw AnimationShakeEnemyHUD - db SE_SHAKE_ENEMY_HUD_2 ; unused--same pointer as SE_SHAKE_ENEMY_HUD ($E4) - dw AnimationShakeEnemyHUD - db SE_SPIRAL_BALLS_INWARD ; $E2 - dw AnimationSpiralBallsInward - db SE_DELAY_ANIMATION_10 ; $E1 - dw AnimationDelay10 - db SE_FLASH_ENEMY_MON_PIC ; unused--same as SE_FLASH_MON_PIC ($F5), but for the enemy mon - dw AnimationFlashEnemyMonPic - db SE_HIDE_ENEMY_MON_PIC ; $DF - dw AnimationHideEnemyMonPic - db SE_BLINK_ENEMY_MON ; $DE - dw AnimationBlinkEnemyMon - db SE_SHOW_MON_PIC ; $DD - dw AnimationShowMonPic - db SE_SHOW_ENEMY_MON_PIC ; $DC - dw AnimationShowEnemyMonPic - db SE_SLIDE_ENEMY_MON_OFF ; $DB - dw AnimationSlideEnemyMonOff - db SE_SHAKE_BACK_AND_FORTH ; $DA - dw AnimationShakeBackAndForth - db SE_SUBSTITUTE_MON ; $D9 - dw AnimationSubstitute - db SE_WAVY_SCREEN ; $D8 - dw AnimationWavyScreen - db $FF diff --git a/data/move_animation_special_effects.asm b/data/move_animation_special_effects.asm deleted file mode 100644 index 9dfb5645..00000000 --- a/data/move_animation_special_effects.asm +++ /dev/null @@ -1,75 +0,0 @@ -; Format: Animation ID (1 byte), Address (2 bytes) -AnimationIdSpecialEffects: - db MEGA_PUNCH - dw AnimationFlashScreen - - db GUILLOTINE - dw AnimationFlashScreen - - db MEGA_KICK - dw AnimationFlashScreen - - db HEADBUTT - dw AnimationFlashScreen - - db TAIL_WHIP - dw TailWhipAnimationUnused - - db GROWL - dw DoGrowlSpecialEffects - - db DISABLE - dw AnimationFlashScreen - - db BLIZZARD - dw DoBlizzardSpecialEffects - - db BUBBLEBEAM - dw AnimationFlashScreen - - db HYPER_BEAM - dw FlashScreenEveryFourFrameBlocks - - db THUNDERBOLT - dw FlashScreenEveryEightFrameBlocks - - db REFLECT - dw AnimationFlashScreen - - db SELFDESTRUCT - dw DoExplodeSpecialEffects - - db SPORE - dw AnimationFlashScreen - - db EXPLOSION - dw DoExplodeSpecialEffects - - db ROCK_SLIDE - dw DoRockSlideSpecialEffects - - db TRADE_BALL_DROP_ANIM - dw TradeHidePokemon - - db TRADE_BALL_SHAKE_ANIM - dw TradeShakePokeball - - db TRADE_BALL_TILT_ANIM - dw TradeJumpPokeball - - db TOSS_ANIM - dw DoBallTossSpecialEffects - - db SHAKE_ANIM - dw DoBallShakeSpecialEffects - - db POOF_ANIM - dw DoPoofSpecialEffects - - db GREATTOSS_ANIM - dw DoBallTossSpecialEffects - - db ULTRATOSS_ANIM - dw DoBallTossSpecialEffects - - db $FF ; terminator diff --git a/data/move_grammar.asm b/data/move_grammar.asm deleted file mode 100644 index 8113ab7c..00000000 --- a/data/move_grammar.asm +++ /dev/null @@ -1,14 +0,0 @@ -ExclamationPointMoveSets: - db SWORDS_DANCE, GROWTH - db $00 - db RECOVER, BIDE, SELFDESTRUCT, AMNESIA - db $00 - db MEDITATE, AGILITY, TELEPORT, MIMIC, DOUBLE_TEAM, BARRAGE - db $00 - db POUND, SCRATCH, VICEGRIP, WING_ATTACK, FLY, BIND, SLAM, HORN_ATTACK, BODY_SLAM - db WRAP, THRASH, TAIL_WHIP, LEER, BITE, GROWL, ROAR, SING, PECK, COUNTER - db STRENGTH, ABSORB, STRING_SHOT, EARTHQUAKE, FISSURE, DIG, TOXIC, SCREECH, HARDEN - db MINIMIZE, WITHDRAW, DEFENSE_CURL, METRONOME, LICK, CLAMP, CONSTRICT, POISON_GAS - db LEECH_LIFE, BUBBLE, FLASH, SPLASH, ACID_ARMOR, FURY_SWIPES, REST, SHARPEN, SLASH, SUBSTITUTE - db $00 - db $FF ; terminator diff --git a/data/move_sfx.asm b/data/move_sfx.asm deleted file mode 100644 index 28ad0b63..00000000 --- a/data/move_sfx.asm +++ /dev/null @@ -1,168 +0,0 @@ -MoveSoundTable: - ; ID, pitch mod, tempo mod - db SFX_POUND, $00,$80 ; POUND - db SFX_BATTLE_0C, $10,$80 ; KARATE_CHOP - db SFX_DOUBLESLAP, $00,$80 ; DOUBLESLAP - db SFX_BATTLE_0B, $01,$80 ; COMET_PUNCH - db SFX_BATTLE_0D, $00,$40 ; MEGA_PUNCH - db SFX_SILPH_SCOPE, $00,$ff ; PAY_DAY - db SFX_BATTLE_0D, $10,$60 ; FIRE_PUNCH - db SFX_BATTLE_0D, $20,$80 ; ICE_PUNCH - db SFX_BATTLE_0D, $00,$a0 ; THUNDERPUNCH - db SFX_DAMAGE, $00,$80 ; SCRATCH - db SFX_BATTLE_0F, $20,$40 ; VICEGRIP - db SFX_BATTLE_0F, $00,$80 ; GUILLOTINE - db SFX_BATTLE_0E, $00,$a0 ; RAZOR_WIND - db SFX_NOT_VERY_EFFECTIVE,$10,$c0 ; SWORDS_DANCE - db SFX_NOT_VERY_EFFECTIVE,$00,$a0 ; CUT - db SFX_BATTLE_12, $00,$c0 ; GUST - db SFX_BATTLE_12, $10,$a0 ; WING_ATTACK - db SFX_BATTLE_13, $00,$e0 ; WHIRLWIND - db SFX_NOT_VERY_EFFECTIVE,$20,$c0 ; FLY - db SFX_BATTLE_14, $00,$80 ; BIND - db SFX_BATTLE_22, $00,$80 ; SLAM - db SFX_VINE_WHIP, $01,$80 ; VINE_WHIP - db SFX_BATTLE_20, $00,$80 ; STOMP - db SFX_BATTLE_17, $f0,$40 ; DOUBLE_KICK - db SFX_SUPER_EFFECTIVE, $00,$80 ; MEGA_KICK - db SFX_BATTLE_17, $00,$80 ; JUMP_KICK - db SFX_BATTLE_21, $10,$80 ; ROLLING_KICK - db SFX_BATTLE_1B, $01,$a0 ; SAND_ATTACK - db SFX_BATTLE_18, $00,$80 ; HEADBUTT - db SFX_BATTLE_1E, $00,$60 ; HORN_ATTACK - db SFX_BATTLE_1E, $01,$40 ; FURY_ATTACK - db SFX_HORN_DRILL, $00,$a0 ; HORN_DRILL - db SFX_SUPER_EFFECTIVE, $10,$a0 ; TACKLE - db SFX_BATTLE_20, $00,$c0 ; BODY_SLAM - db SFX_BATTLE_14, $10,$60 ; WRAP - db SFX_SUPER_EFFECTIVE, $00,$a0 ; TAKE_DOWN - db SFX_BATTLE_22, $11,$c0 ; THRASH - db SFX_SUPER_EFFECTIVE, $20,$c0 ; DOUBLE_EDGE - db SFX_BATTLE_21, $00,$80 ; TAIL_WHIP - db SFX_BATTLE_1B, $00,$80 ; POISON_STING - db SFX_BATTLE_1B, $20,$c0 ; TWINEEDLE - db SFX_BATTLE_19, $00,$80 ; PIN_MISSILE - db SFX_BATTLE_31, $ff,$40 ; LEER - db SFX_BATTLE_1E, $00,$80 ; BITE - db SFX_BATTLE_0B, $00,$c0 ; GROWL - db SFX_BATTLE_0B, $00,$40 ; ROAR - db SFX_BATTLE_35, $00,$80 ; SING - db SFX_BATTLE_27, $40,$60 ; SUPERSONIC - db SFX_BATTLE_27, $00,$80 ; SONICBOOM - db SFX_BATTLE_27, $ff,$40 ; DISABLE - db SFX_BATTLE_2A, $80,$c0 ; ACID - db SFX_BATTLE_19, $10,$a0 ; EMBER - db SFX_BATTLE_19, $21,$e0 ; FLAMETHROWER - db SFX_BATTLE_29, $00,$80 ; MIST - db SFX_BATTLE_24, $20,$60 ; WATER_GUN - db SFX_BATTLE_2A, $00,$80 ; HYDRO_PUMP - db SFX_BATTLE_2C, $00,$80 ; SURF - db SFX_BATTLE_28, $40,$80 ; ICE_BEAM - db SFX_BATTLE_29, $f0,$e0 ; BLIZZARD - db SFX_PSYBEAM, $00,$80 ; PSYBEAM - db SFX_BATTLE_2A, $f0,$60 ; BUBBLEBEAM - db SFX_BATTLE_28, $00,$80 ; AURORA_BEAM - db SFX_BATTLE_36, $00,$80 ; HYPER_BEAM - db SFX_PECK, $01,$a0 ; PECK - db SFX_BATTLE_13, $f0,$20 ; DRILL_PECK - db SFX_BATTLE_23, $01,$c0 ; SUBMISSION - db SFX_BATTLE_23, $00,$80 ; LOW_KICK - db SFX_SUPER_EFFECTIVE, $00,$e0 ; COUNTER - db SFX_BATTLE_26, $01,$60 ; SEISMIC_TOSS - db SFX_BATTLE_26, $20,$40 ; STRENGTH - db SFX_BATTLE_24, $00,$80 ; ABSORB - db SFX_BATTLE_24, $40,$c0 ; MEGA_DRAIN - db SFX_BATTLE_1B, $03,$60 ; LEECH_SEED - db SFX_BATTLE_25, $11,$e0 ; GROWTH - db SFX_BATTLE_12, $20,$e0 ; RAZOR_LEAF - db SFX_BATTLE_2E, $00,$80 ; SOLARBEAM - db SFX_BATTLE_1C, $00,$80 ; POISONPOWDER - db SFX_BATTLE_1C, $11,$a0 ; STUN_SPORE - db SFX_BATTLE_1C, $01,$c0 ; SLEEP_POWDER - db SFX_BATTLE_13, $14,$c0 ; PETAL_DANCE - db SFX_BATTLE_1B, $02,$a0 ; STRING_SHOT - db SFX_BATTLE_29, $f0,$80 ; DRAGON_RAGE - db SFX_BATTLE_29, $20,$c0 ; FIRE_SPIN - db SFX_BATTLE_2F, $00,$20 ; THUNDERSHOCK - db SFX_BATTLE_2F, $20,$80 ; THUNDERBOLT - db SFX_BATTLE_2E, $12,$60 ; THUNDER_WAVE - db SFX_BATTLE_26, $00,$80 ; THUNDER - db SFX_BATTLE_14, $01,$e0 ; ROCK_THROW - db SFX_BATTLE_29, $0f,$e0 ; EARTHQUAKE - db SFX_BATTLE_29, $11,$20 ; FISSURE - db SFX_DAMAGE, $10,$40 ; DIG - db SFX_BATTLE_0F, $10,$c0 ; TOXIC - db SFX_BATTLE_14, $00,$20 ; CONFUSION - db SFX_PSYCHIC_M, $00,$80 ; PSYCHIC_M - db SFX_BATTLE_35, $11,$18 ; HYPNOSIS - db SFX_BATTLE_09, $20,$c0 ; MEDITATE - db SFX_FAINT_FALL, $20,$c0 ; AGILITY - db SFX_BATTLE_25, $00,$10 ; QUICK_ATTACK - db SFX_BATTLE_26, $f0,$20 ; RAGE - db SFX_BATTLE_33, $f0,$c0 ; TELEPORT - db SFX_NOT_VERY_EFFECTIVE,$f0,$e0 ; NIGHT_SHADE - db SFX_BATTLE_09, $f0,$40 ; MIMIC - db SFX_BATTLE_31, $00,$80 ; SCREECH - db SFX_BATTLE_33, $80,$40 ; DOUBLE_TEAM - db SFX_BATTLE_33, $00,$80 ; RECOVER - db SFX_BATTLE_14, $11,$20 ; HARDEN - db SFX_BATTLE_14, $22,$10 ; MINIMIZE - db SFX_BATTLE_1B, $f1,$ff ; SMOKESCREEN - db SFX_BATTLE_13, $f1,$ff ; CONFUSE_RAY - db SFX_BATTLE_14, $33,$30 ; WITHDRAW - db SFX_BATTLE_32, $40,$c0 ; DEFENSE_CURL - db SFX_BATTLE_0E, $20,$20 ; BARRIER - db SFX_BATTLE_0E, $f0,$10 ; LIGHT_SCREEN - db SFX_BATTLE_0F, $f8,$10 ; HAZE - db SFX_NOT_VERY_EFFECTIVE,$f0,$10 ; REFLECT - db SFX_BATTLE_25, $00,$80 ; FOCUS_ENERGY - db SFX_BATTLE_18, $00,$c0 ; BIDE - db SFX_BATTLE_32, $c0,$ff ; METRONOME - db SFX_BATTLE_09, $f2,$20 ; MIRROR_MOVE - db SFX_BATTLE_34, $00,$80 ; SELFDESTRUCT - db SFX_BATTLE_34, $00,$40 ; EGG_BOMB - db SFX_BATTLE_09, $00,$40 ; LICK - db SFX_NOT_VERY_EFFECTIVE,$10,$ff ; SMOG - db SFX_BATTLE_2A, $20,$20 ; SLUDGE - db SFX_BATTLE_32, $00,$80 ; BONE_CLUB - db SFX_BATTLE_29, $1f,$20 ; FIRE_BLAST - db SFX_BATTLE_25, $2f,$80 ; WATERFALL - db SFX_BATTLE_0F, $1f,$ff ; CLAMP - db SFX_BATTLE_2B, $1f,$60 ; SWIFT - db SFX_BATTLE_26, $1e,$20 ; SKULL_BASH - db SFX_BATTLE_26, $1f,$18 ; SPIKE_CANNON - db SFX_BATTLE_14, $0f,$80 ; CONSTRICT - db SFX_BATTLE_09, $f8,$10 ; AMNESIA - db SFX_FAINT_FALL, $18,$20 ; KINESIS - db SFX_BATTLE_32, $08,$40 ; SOFTBOILED - db SFX_BATTLE_17, $01,$e0 ; HI_JUMP_KICK - db SFX_NOT_VERY_EFFECTIVE,$09,$ff ; GLARE - db SFX_BATTLE_35, $42,$01 ; DREAM_EATER - db SFX_BATTLE_1C, $00,$ff ; POISON_GAS - db SFX_BATTLE_32, $08,$e0 ; BARRAGE - db SFX_BATTLE_24, $00,$80 ; LEECH_LIFE - db SFX_BATTLE_09, $88,$10 ; LOVELY_KISS - db SFX_BATTLE_25, $48,$ff ; SKY_ATTACK - db SFX_FAINT_FALL, $ff,$ff ; TRANSFORM - db SFX_BATTLE_24, $ff,$10 ; BUBBLE - db SFX_FAINT_FALL, $ff,$04 ; DIZZY_PUNCH - db SFX_BATTLE_1C, $01,$ff ; SPORE - db SFX_BATTLE_13, $f8,$ff ; FLASH - db SFX_BATTLE_0C, $f0,$f0 ; PSYWAVE - db SFX_BATTLE_0F, $08,$10 ; SPLASH - db SFX_BATTLE_0D, $f0,$ff ; ACID_ARMOR - db SFX_SUPER_EFFECTIVE, $f0,$ff ; CRABHAMMER - db SFX_BATTLE_34, $10,$ff ; EXPLOSION - db SFX_BATTLE_0E, $f0,$20 ; FURY_SWIPES - db SFX_BATTLE_2B, $f0,$60 ; BONEMERANG - db SFX_BATTLE_21, $12,$10 ; REST - db SFX_BATTLE_36, $f0,$20 ; ROCK_SLIDE - db SFX_BATTLE_1E, $12,$ff ; HYPER_FANG - db SFX_BATTLE_31, $80,$04 ; SHARPEN - db SFX_BATTLE_33, $f0,$10 ; CONVERSION - db SFX_BATTLE_29, $f8,$ff ; TRI_ATTACK - db SFX_BATTLE_26, $f0,$ff ; SUPER_FANG - db SFX_NOT_VERY_EFFECTIVE,$01,$ff ; SLASH - db SFX_BATTLE_2C, $d8,$04 ; SUBSTITUTE - db SFX_BATTLE_0B, $00,$80 ; STRUGGLE - db SFX_BATTLE_0B, $00,$80 diff --git a/data/moves.asm b/data/moves.asm deleted file mode 100755 index 44859681..00000000 --- a/data/moves.asm +++ /dev/null @@ -1,178 +0,0 @@ -Moves: -; Characteristics of each move. - -move: macro - db \1 ; animation (interchangeable with move id) - db \2 ; effect - db \3 ; power - db \4 ; type - db \5 percent ; accuracy - db \6 ; pp -endm - - move POUND, NO_ADDITIONAL_EFFECT, 40, NORMAL, 100, 35 -MoveEnd: - move KARATE_CHOP, NO_ADDITIONAL_EFFECT, 50, NORMAL, 100, 25 - move DOUBLESLAP, TWO_TO_FIVE_ATTACKS_EFFECT, 15, NORMAL, 85, 10 - move COMET_PUNCH, TWO_TO_FIVE_ATTACKS_EFFECT, 18, NORMAL, 85, 15 - move MEGA_PUNCH, NO_ADDITIONAL_EFFECT, 80, NORMAL, 85, 20 - move PAY_DAY, PAY_DAY_EFFECT, 40, NORMAL, 100, 20 - move FIRE_PUNCH, BURN_SIDE_EFFECT1, 75, FIRE, 100, 15 - move ICE_PUNCH, FREEZE_SIDE_EFFECT, 75, ICE, 100, 15 - move THUNDERPUNCH, PARALYZE_SIDE_EFFECT1, 75, ELECTRIC, 100, 15 - move SCRATCH, NO_ADDITIONAL_EFFECT, 40, NORMAL, 100, 35 - move VICEGRIP, NO_ADDITIONAL_EFFECT, 55, NORMAL, 100, 30 - move GUILLOTINE, OHKO_EFFECT, 1, NORMAL, 30, 5 - move RAZOR_WIND, CHARGE_EFFECT, 80, NORMAL, 75, 10 - move SWORDS_DANCE, ATTACK_UP2_EFFECT, 0, NORMAL, 100, 30 - move CUT, NO_ADDITIONAL_EFFECT, 50, NORMAL, 95, 30 - move GUST, NO_ADDITIONAL_EFFECT, 40, NORMAL, 100, 35 - move WING_ATTACK, NO_ADDITIONAL_EFFECT, 35, FLYING, 100, 35 - move WHIRLWIND, SWITCH_AND_TELEPORT_EFFECT, 0, NORMAL, 85, 20 - move FLY, FLY_EFFECT, 70, FLYING, 95, 15 - move BIND, TRAPPING_EFFECT, 15, NORMAL, 75, 20 - move SLAM, NO_ADDITIONAL_EFFECT, 80, NORMAL, 75, 20 - move VINE_WHIP, NO_ADDITIONAL_EFFECT, 35, GRASS, 100, 10 - move STOMP, FLINCH_SIDE_EFFECT2, 65, NORMAL, 100, 20 - move DOUBLE_KICK, ATTACK_TWICE_EFFECT, 30, FIGHTING, 100, 30 - move MEGA_KICK, NO_ADDITIONAL_EFFECT, 120, NORMAL, 75, 5 - move JUMP_KICK, JUMP_KICK_EFFECT, 70, FIGHTING, 95, 25 - move ROLLING_KICK, FLINCH_SIDE_EFFECT2, 60, FIGHTING, 85, 15 - move SAND_ATTACK, ACCURACY_DOWN1_EFFECT, 0, NORMAL, 100, 15 - move HEADBUTT, FLINCH_SIDE_EFFECT2, 70, NORMAL, 100, 15 - move HORN_ATTACK, NO_ADDITIONAL_EFFECT, 65, NORMAL, 100, 25 - move FURY_ATTACK, TWO_TO_FIVE_ATTACKS_EFFECT, 15, NORMAL, 85, 20 - move HORN_DRILL, OHKO_EFFECT, 1, NORMAL, 30, 5 - move TACKLE, NO_ADDITIONAL_EFFECT, 35, NORMAL, 95, 35 - move BODY_SLAM, PARALYZE_SIDE_EFFECT2, 85, NORMAL, 100, 15 - move WRAP, TRAPPING_EFFECT, 15, NORMAL, 85, 20 - move TAKE_DOWN, RECOIL_EFFECT, 90, NORMAL, 85, 20 - move THRASH, THRASH_PETAL_DANCE_EFFECT, 90, NORMAL, 100, 20 - move DOUBLE_EDGE, RECOIL_EFFECT, 100, NORMAL, 100, 15 - move TAIL_WHIP, DEFENSE_DOWN1_EFFECT, 0, NORMAL, 100, 30 - move POISON_STING, POISON_SIDE_EFFECT1, 15, POISON, 100, 35 - move TWINEEDLE, TWINEEDLE_EFFECT, 25, BUG, 100, 20 - move PIN_MISSILE, TWO_TO_FIVE_ATTACKS_EFFECT, 14, BUG, 85, 20 - move LEER, DEFENSE_DOWN1_EFFECT, 0, NORMAL, 100, 30 - move BITE, FLINCH_SIDE_EFFECT1, 60, NORMAL, 100, 25 - move GROWL, ATTACK_DOWN1_EFFECT, 0, NORMAL, 100, 40 - move ROAR, SWITCH_AND_TELEPORT_EFFECT, 0, NORMAL, 100, 20 - move SING, SLEEP_EFFECT, 0, NORMAL, 55, 15 - move SUPERSONIC, CONFUSION_EFFECT, 0, NORMAL, 55, 20 - move SONICBOOM, SPECIAL_DAMAGE_EFFECT, 1, NORMAL, 90, 20 - move DISABLE, DISABLE_EFFECT, 0, NORMAL, 55, 20 - move ACID, DEFENSE_DOWN_SIDE_EFFECT, 40, POISON, 100, 30 - move EMBER, BURN_SIDE_EFFECT1, 40, FIRE, 100, 25 - move FLAMETHROWER, BURN_SIDE_EFFECT1, 95, FIRE, 100, 15 - move MIST, MIST_EFFECT, 0, ICE, 100, 30 - move WATER_GUN, NO_ADDITIONAL_EFFECT, 40, WATER, 100, 25 - move HYDRO_PUMP, NO_ADDITIONAL_EFFECT, 120, WATER, 80, 5 - move SURF, NO_ADDITIONAL_EFFECT, 95, WATER, 100, 15 - move ICE_BEAM, FREEZE_SIDE_EFFECT, 95, ICE, 100, 10 - move BLIZZARD, FREEZE_SIDE_EFFECT, 120, ICE, 90, 5 - move PSYBEAM, CONFUSION_SIDE_EFFECT, 65, PSYCHIC, 100, 20 - move BUBBLEBEAM, SPEED_DOWN_SIDE_EFFECT, 65, WATER, 100, 20 - move AURORA_BEAM, ATTACK_DOWN_SIDE_EFFECT, 65, ICE, 100, 20 - move HYPER_BEAM, HYPER_BEAM_EFFECT, 150, NORMAL, 90, 5 - move PECK, NO_ADDITIONAL_EFFECT, 35, FLYING, 100, 35 - move DRILL_PECK, NO_ADDITIONAL_EFFECT, 80, FLYING, 100, 20 - move SUBMISSION, RECOIL_EFFECT, 80, FIGHTING, 80, 25 - move LOW_KICK, FLINCH_SIDE_EFFECT2, 50, FIGHTING, 90, 20 - move COUNTER, NO_ADDITIONAL_EFFECT, 1, FIGHTING, 100, 20 - move SEISMIC_TOSS, SPECIAL_DAMAGE_EFFECT, 1, FIGHTING, 100, 20 - move STRENGTH, NO_ADDITIONAL_EFFECT, 80, NORMAL, 100, 15 - move ABSORB, DRAIN_HP_EFFECT, 20, GRASS, 100, 20 - move MEGA_DRAIN, DRAIN_HP_EFFECT, 40, GRASS, 100, 10 - move LEECH_SEED, LEECH_SEED_EFFECT, 0, GRASS, 90, 10 - move GROWTH, SPECIAL_UP1_EFFECT, 0, NORMAL, 100, 40 - move RAZOR_LEAF, NO_ADDITIONAL_EFFECT, 55, GRASS, 95, 25 - move SOLARBEAM, CHARGE_EFFECT, 120, GRASS, 100, 10 - move POISONPOWDER, POISON_EFFECT, 0, POISON, 75, 35 - move STUN_SPORE, PARALYZE_EFFECT, 0, GRASS, 75, 30 - move SLEEP_POWDER, SLEEP_EFFECT, 0, GRASS, 75, 15 - move PETAL_DANCE, THRASH_PETAL_DANCE_EFFECT, 70, GRASS, 100, 20 - move STRING_SHOT, SPEED_DOWN1_EFFECT, 0, BUG, 95, 40 - move DRAGON_RAGE, SPECIAL_DAMAGE_EFFECT, 1, DRAGON, 100, 10 - move FIRE_SPIN, TRAPPING_EFFECT, 15, FIRE, 70, 15 - move THUNDERSHOCK, PARALYZE_SIDE_EFFECT1, 40, ELECTRIC, 100, 30 - move THUNDERBOLT, PARALYZE_SIDE_EFFECT1, 95, ELECTRIC, 100, 15 - move THUNDER_WAVE, PARALYZE_EFFECT, 0, ELECTRIC, 100, 20 - move THUNDER, PARALYZE_SIDE_EFFECT1, 120, ELECTRIC, 70, 10 - move ROCK_THROW, NO_ADDITIONAL_EFFECT, 50, ROCK, 65, 15 - move EARTHQUAKE, NO_ADDITIONAL_EFFECT, 100, GROUND, 100, 10 - move FISSURE, OHKO_EFFECT, 1, GROUND, 30, 5 - move DIG, CHARGE_EFFECT, 100, GROUND, 100, 10 - move TOXIC, POISON_EFFECT, 0, POISON, 85, 10 - move CONFUSION, CONFUSION_SIDE_EFFECT, 50, PSYCHIC, 100, 25 - move PSYCHIC_M, SPECIAL_DOWN_SIDE_EFFECT, 90, PSYCHIC, 100, 10 - move HYPNOSIS, SLEEP_EFFECT, 0, PSYCHIC, 60, 20 - move MEDITATE, ATTACK_UP1_EFFECT, 0, PSYCHIC, 100, 40 - move AGILITY, SPEED_UP2_EFFECT, 0, PSYCHIC, 100, 30 - move QUICK_ATTACK, NO_ADDITIONAL_EFFECT, 40, NORMAL, 100, 30 - move RAGE, RAGE_EFFECT, 20, NORMAL, 100, 20 - move TELEPORT, SWITCH_AND_TELEPORT_EFFECT, 0, PSYCHIC, 100, 20 - move NIGHT_SHADE, SPECIAL_DAMAGE_EFFECT, 0, GHOST, 100, 15 - move MIMIC, MIMIC_EFFECT, 0, NORMAL, 100, 10 - move SCREECH, DEFENSE_DOWN2_EFFECT, 0, NORMAL, 85, 40 - move DOUBLE_TEAM, EVASION_UP1_EFFECT, 0, NORMAL, 100, 15 - move RECOVER, HEAL_EFFECT, 0, NORMAL, 100, 20 - move HARDEN, DEFENSE_UP1_EFFECT, 0, NORMAL, 100, 30 - move MINIMIZE, EVASION_UP1_EFFECT, 0, NORMAL, 100, 20 - move SMOKESCREEN, ACCURACY_DOWN1_EFFECT, 0, NORMAL, 100, 20 - move CONFUSE_RAY, CONFUSION_EFFECT, 0, GHOST, 100, 10 - move WITHDRAW, DEFENSE_UP1_EFFECT, 0, WATER, 100, 40 - move DEFENSE_CURL, DEFENSE_UP1_EFFECT, 0, NORMAL, 100, 40 - move BARRIER, DEFENSE_UP2_EFFECT, 0, PSYCHIC, 100, 30 - move LIGHT_SCREEN, LIGHT_SCREEN_EFFECT, 0, PSYCHIC, 100, 30 - move HAZE, HAZE_EFFECT, 0, ICE, 100, 30 - move REFLECT, REFLECT_EFFECT, 0, PSYCHIC, 100, 20 - move FOCUS_ENERGY, FOCUS_ENERGY_EFFECT, 0, NORMAL, 100, 30 - move BIDE, BIDE_EFFECT, 0, NORMAL, 100, 10 - move METRONOME, METRONOME_EFFECT, 0, NORMAL, 100, 10 - move MIRROR_MOVE, MIRROR_MOVE_EFFECT, 0, FLYING, 100, 20 - move SELFDESTRUCT, EXPLODE_EFFECT, 130, NORMAL, 100, 5 - move EGG_BOMB, NO_ADDITIONAL_EFFECT, 100, NORMAL, 75, 10 - move LICK, PARALYZE_SIDE_EFFECT2, 20, GHOST, 100, 30 - move SMOG, POISON_SIDE_EFFECT2, 20, POISON, 70, 20 - move SLUDGE, POISON_SIDE_EFFECT2, 65, POISON, 100, 20 - move BONE_CLUB, FLINCH_SIDE_EFFECT1, 65, GROUND, 85, 20 - move FIRE_BLAST, BURN_SIDE_EFFECT2, 120, FIRE, 85, 5 - move WATERFALL, NO_ADDITIONAL_EFFECT, 80, WATER, 100, 15 - move CLAMP, TRAPPING_EFFECT, 35, WATER, 75, 10 - move SWIFT, SWIFT_EFFECT, 60, NORMAL, 100, 20 - move SKULL_BASH, CHARGE_EFFECT, 100, NORMAL, 100, 15 - move SPIKE_CANNON, TWO_TO_FIVE_ATTACKS_EFFECT, 20, NORMAL, 100, 15 - move CONSTRICT, SPEED_DOWN_SIDE_EFFECT, 10, NORMAL, 100, 35 - move AMNESIA, SPECIAL_UP2_EFFECT, 0, PSYCHIC, 100, 20 - move KINESIS, ACCURACY_DOWN1_EFFECT, 0, PSYCHIC, 80, 15 - move SOFTBOILED, HEAL_EFFECT, 0, NORMAL, 100, 10 - move HI_JUMP_KICK, JUMP_KICK_EFFECT, 85, FIGHTING, 90, 20 - move GLARE, PARALYZE_EFFECT, 0, NORMAL, 75, 30 - move DREAM_EATER, DREAM_EATER_EFFECT, 100, PSYCHIC, 100, 15 - move POISON_GAS, POISON_EFFECT, 0, POISON, 55, 40 - move BARRAGE, TWO_TO_FIVE_ATTACKS_EFFECT, 15, NORMAL, 85, 20 - move LEECH_LIFE, DRAIN_HP_EFFECT, 20, BUG, 100, 15 - move LOVELY_KISS, SLEEP_EFFECT, 0, NORMAL, 75, 10 - move SKY_ATTACK, CHARGE_EFFECT, 140, FLYING, 90, 5 - move TRANSFORM, TRANSFORM_EFFECT, 0, NORMAL, 100, 10 - move BUBBLE, SPEED_DOWN_SIDE_EFFECT, 20, WATER, 100, 30 - move DIZZY_PUNCH, NO_ADDITIONAL_EFFECT, 70, NORMAL, 100, 10 - move SPORE, SLEEP_EFFECT, 0, GRASS, 100, 15 - move FLASH, ACCURACY_DOWN1_EFFECT, 0, NORMAL, 70, 20 - move PSYWAVE, SPECIAL_DAMAGE_EFFECT, 1, PSYCHIC, 80, 15 - move SPLASH, SPLASH_EFFECT, 0, NORMAL, 100, 40 - move ACID_ARMOR, DEFENSE_UP2_EFFECT, 0, POISON, 100, 40 - move CRABHAMMER, NO_ADDITIONAL_EFFECT, 90, WATER, 85, 10 - move EXPLOSION, EXPLODE_EFFECT, 170, NORMAL, 100, 5 - move FURY_SWIPES, TWO_TO_FIVE_ATTACKS_EFFECT, 18, NORMAL, 80, 15 - move BONEMERANG, ATTACK_TWICE_EFFECT, 50, GROUND, 90, 10 - move REST, HEAL_EFFECT, 0, PSYCHIC, 100, 10 - move ROCK_SLIDE, NO_ADDITIONAL_EFFECT, 75, ROCK, 90, 10 - move HYPER_FANG, FLINCH_SIDE_EFFECT1, 80, NORMAL, 90, 15 - move SHARPEN, ATTACK_UP1_EFFECT, 0, NORMAL, 100, 30 - move CONVERSION, CONVERSION_EFFECT, 0, NORMAL, 100, 30 - move TRI_ATTACK, NO_ADDITIONAL_EFFECT, 80, NORMAL, 100, 10 - move SUPER_FANG, SUPER_FANG_EFFECT, 1, NORMAL, 90, 10 - move SLASH, NO_ADDITIONAL_EFFECT, 70, NORMAL, 100, 20 - move SUBSTITUTE, SUBSTITUTE_EFFECT, 0, NORMAL, 100, 10 - move STRUGGLE, RECOIL_EFFECT, 50, NORMAL, 100, 10 diff --git a/data/moves/animation_special_effect_pointers.asm b/data/moves/animation_special_effect_pointers.asm new file mode 100644 index 00000000..ba607141 --- /dev/null +++ b/data/moves/animation_special_effect_pointers.asm @@ -0,0 +1,81 @@ +; Format: Special Effect ID (1 byte), Address (2 bytes) +SpecialEffectPointers: + db SE_DARK_SCREEN_FLASH ; $FE + dw AnimationFlashScreen + db SE_DARK_SCREEN_PALETTE ; $FD + dw AnimationDarkScreenPalette + db SE_RESET_SCREEN_PALETTE ; $FC + dw AnimationResetScreenPalette + db SE_SHAKE_SCREEN ; $FB + dw AnimationShakeScreen + db SE_WATER_DROPLETS_EVERYWHERE ; $FA + dw AnimationWaterDropletsEverywhere + db SE_DARKEN_MON_PALETTE ; $F9 + dw AnimationDarkenMonPalette + db SE_FLASH_SCREEN_LONG ; $F8 + dw AnimationFlashScreenLong + db SE_SLIDE_MON_UP ; $F7 + dw AnimationSlideMonUp + db SE_SLIDE_MON_DOWN ; $F6 + dw AnimationSlideMonDown + db SE_FLASH_MON_PIC ; $F5 + dw AnimationFlashMonPic + db SE_SLIDE_MON_OFF ; $F4 + dw AnimationSlideMonOff + db SE_BLINK_MON ; $F3 + dw AnimationBlinkMon + db SE_MOVE_MON_HORIZONTALLY ; $F2 + dw AnimationMoveMonHorizontally + db SE_RESET_MON_POSITION ; $F1 + dw AnimationResetMonPosition + db SE_LIGHT_SCREEN_PALETTE ; $F0 + dw AnimationLightScreenPalette + db SE_HIDE_MON_PIC ; $EF + dw AnimationHideMonPic + db SE_SQUISH_MON_PIC ; $EE + dw AnimationSquishMonPic + db SE_SHOOT_BALLS_UPWARD ; $ED + dw AnimationShootBallsUpward + db SE_SHOOT_MANY_BALLS_UPWARD ; $EC + dw AnimationShootManyBallsUpward + db SE_BOUNCE_UP_AND_DOWN ; $EB + dw AnimationBoundUpAndDown + db SE_MINIMIZE_MON ; $EA + dw AnimationMinimizeMon + db SE_SLIDE_MON_DOWN_AND_HIDE ; $E9 + dw AnimationSlideMonDownAndHide + db SE_TRANSFORM_MON ; $E8 + dw AnimationTransformMon + db SE_LEAVES_FALLING ; $E7 + dw AnimationLeavesFalling + db SE_PETALS_FALLING ; $E6 + dw AnimationPetalsFalling + db SE_SLIDE_MON_HALF_OFF ; $E5 + dw AnimationSlideMonHalfOff + db SE_SHAKE_ENEMY_HUD ; $E4 + dw AnimationShakeEnemyHUD + db SE_SHAKE_ENEMY_HUD_2 ; unused--same pointer as SE_SHAKE_ENEMY_HUD ($E4) + dw AnimationShakeEnemyHUD + db SE_SPIRAL_BALLS_INWARD ; $E2 + dw AnimationSpiralBallsInward + db SE_DELAY_ANIMATION_10 ; $E1 + dw AnimationDelay10 + db SE_FLASH_ENEMY_MON_PIC ; unused--same as SE_FLASH_MON_PIC ($F5), but for the enemy mon + dw AnimationFlashEnemyMonPic + db SE_HIDE_ENEMY_MON_PIC ; $DF + dw AnimationHideEnemyMonPic + db SE_BLINK_ENEMY_MON ; $DE + dw AnimationBlinkEnemyMon + db SE_SHOW_MON_PIC ; $DD + dw AnimationShowMonPic + db SE_SHOW_ENEMY_MON_PIC ; $DC + dw AnimationShowEnemyMonPic + db SE_SLIDE_ENEMY_MON_OFF ; $DB + dw AnimationSlideEnemyMonOff + db SE_SHAKE_BACK_AND_FORTH ; $DA + dw AnimationShakeBackAndForth + db SE_SUBSTITUTE_MON ; $D9 + dw AnimationSubstitute + db SE_WAVY_SCREEN ; $D8 + dw AnimationWavyScreen + db $FF diff --git a/data/moves/animation_special_effects.asm b/data/moves/animation_special_effects.asm new file mode 100644 index 00000000..9dfb5645 --- /dev/null +++ b/data/moves/animation_special_effects.asm @@ -0,0 +1,75 @@ +; Format: Animation ID (1 byte), Address (2 bytes) +AnimationIdSpecialEffects: + db MEGA_PUNCH + dw AnimationFlashScreen + + db GUILLOTINE + dw AnimationFlashScreen + + db MEGA_KICK + dw AnimationFlashScreen + + db HEADBUTT + dw AnimationFlashScreen + + db TAIL_WHIP + dw TailWhipAnimationUnused + + db GROWL + dw DoGrowlSpecialEffects + + db DISABLE + dw AnimationFlashScreen + + db BLIZZARD + dw DoBlizzardSpecialEffects + + db BUBBLEBEAM + dw AnimationFlashScreen + + db HYPER_BEAM + dw FlashScreenEveryFourFrameBlocks + + db THUNDERBOLT + dw FlashScreenEveryEightFrameBlocks + + db REFLECT + dw AnimationFlashScreen + + db SELFDESTRUCT + dw DoExplodeSpecialEffects + + db SPORE + dw AnimationFlashScreen + + db EXPLOSION + dw DoExplodeSpecialEffects + + db ROCK_SLIDE + dw DoRockSlideSpecialEffects + + db TRADE_BALL_DROP_ANIM + dw TradeHidePokemon + + db TRADE_BALL_SHAKE_ANIM + dw TradeShakePokeball + + db TRADE_BALL_TILT_ANIM + dw TradeJumpPokeball + + db TOSS_ANIM + dw DoBallTossSpecialEffects + + db SHAKE_ANIM + dw DoBallShakeSpecialEffects + + db POOF_ANIM + dw DoPoofSpecialEffects + + db GREATTOSS_ANIM + dw DoBallTossSpecialEffects + + db ULTRATOSS_ANIM + dw DoBallTossSpecialEffects + + db $FF ; terminator diff --git a/data/moves/animations.asm b/data/moves/animations.asm new file mode 100755 index 00000000..8c388afd --- /dev/null +++ b/data/moves/animations.asm @@ -0,0 +1,3628 @@ +AttackAnimationPointers: + dw PoundAnim + dw KarateChopAnim + dw DoubleSlapAnim + dw CometPunchAnim + dw MegaPunchAnim + dw PayDayAnim + dw FirePunchAnim + dw IcePunchAnim + dw ThunderPunchAnim + dw ScratchAnim + dw VicegripAnim + dw GuillotineAnim + dw RazorWindAnim + dw SwordsDanceAnim + dw CutAnim + dw GustAnim + dw WingAttackAnim + dw WhirlwindAnim + dw FlyAnim + dw BindAnim + dw SlamAnim + dw VineWhipAnim + dw StompAnim + dw DoubleKickAnim + dw MegaKickAnim + dw JumpKickAnim + dw RollingKickAnim + dw SandAttackAnim + dw HeatButtAnim + dw HornAttackAnim + dw FuryAttackAnim + dw HornDrillAnim + dw TackleAnim + dw BodySlamAnim + dw WrapAnim + dw TakeDownAnim + dw ThrashAnim + dw DoubleEdgeAnim + dw TailWhipAnim + dw PoisonStingAnim + dw TwineedleAnim + dw PinMissileAnim + dw LeerAnim + dw BiteAnim + dw GrowlAnim + dw RoarAnim + dw SingAnim + dw SupersonicAnim + dw SonicBoomAnim + dw DisableAnim + dw AcidAnim + dw EmberAnim + dw FlamethrowerAnim + dw MistAnim + dw WaterGunAnim + dw HydroPumpAnim + dw SurfAnim + dw IceBeamAnim + dw BlizzardAnim + dw PsyBeamAnim + dw BubbleBeamAnim + dw AuroraBeamAnim + dw HyperBeamAnim + dw PeckAnim + dw DrillPeckAnim + dw SubmissionAnim + dw LowKickAnim + dw CounterAnim + dw SeismicTossAnim + dw StrengthAnim + dw AbsorbAnim + dw MegaDrainAnim + dw LeechSeedAnim + dw GrowthAnim + dw RazorLeafAnim + dw SolarBeamAnim + dw PoisonPowderAnim + dw StunSporeAnim + dw SleepPowderAnim + dw PedalDanceAnim + dw StringShotAnim + dw DragonRageAnim + dw FireSpinAnim + dw ThunderShockAnim + dw ThunderBoltAnim + dw ThunderWaveAnim + dw ThunderAnim + dw RockThrowAnim + dw EarthquakeAnim + dw FissureAnim + dw DigAnim + dw ToxicAnim + dw ConfusionAnim + dw PsychicAnim + dw HypnosisAnim + dw MeditateAnim + dw AgilityAnim + dw QuickAttackAnim + dw RageAnim + dw TeleportAnim + dw NightShadeAnim + dw MimicAnim + dw ScreechAnim + dw DoubleTeamAnim + dw RecoverAnim + dw HardenAnim + dw MinimizeAnim + dw SmokeScreenAnim + dw ConfuseRayAnim + dw WithdrawAnim + dw DefenseCurlAnim + dw BarrierAnim + dw LightScreenAnim + dw HazeAnim + dw ReflectAnim + dw FocusEnergyAnim + dw BideAnim + dw MetronomeAnim + dw MirrorMoveAnim + dw SelfdestructAnim + dw EggBombAnim + dw LickAnim + dw SmogAnim + dw SludgeAnim + dw BoneClubAnim + dw FireBlastAnim + dw WaterfallAnim + dw ClampAnim + dw SwiftAnim + dw SkullBashAnim + dw SpikeCannonAnim + dw ConstrictAnim + dw AmnesiaAnim + dw KinesisAnim + dw SoftboiledAnim + dw HiJumpKickAnim + dw GlareAnim + dw DreamEaterAnim + dw PoisonGasAnim + dw BarrageAnim + dw LeechLifeAnim + dw LovelyKissAnim + dw SkyAttackAnim + dw TransformAnim + dw BubbleAnim + dw DizzyPunchAnim + dw SporeAnim + dw FlashAnim + dw PsywaveAnim + dw SplashAnim + dw AcidArmorAnim + dw CrabHammerAnim + dw ExplosionAnim + dw FurySwipesAnim + dw BonemerangAnim + dw RestAnim + dw RockSlideAnim + dw HyperFangAnim + dw SharpenAnim + dw ConversionAnim + dw TriAttackAnim + dw SuperFangAnim + dw SlashAnim + dw SubstituteAnim + dw StruggleAnim + dw ShowPicAnim + dw EnemyFlashAnim + dw PlayerFlashAnim + dw EnemyHUDShakeAnim + dw TradeBallDropAnim + dw TradeBallAppear1Anim + dw TradeBallAppear2Anim + dw TradeBallPoofAnim + dw XStatItemAnim + dw XStatItemAnim + dw ShrinkingSquareAnim + dw ShrinkingSquareAnim + dw XStatItemBlackAnim + dw XStatItemBlackAnim + dw ShrinkingSquareBlackAnim + dw ShrinkingSquareBlackAnim + dw UnusedAnim + dw UnusedAnim + dw ParalyzeAnim + dw ParalyzeAnim + dw PoisonAnim + dw PoisonAnim + dw SleepPlayerAnim + dw SleepEnemyAnim + dw ConfusedPlayerAnim + dw ConfusedEnemyAnim + dw FaintAnim + dw BallTossAnim + dw BallShakeAnim + dw BallPoofAnim + dw BallBlockAnim + dw GreatTossAnim + dw UltraTossAnim + dw ShakeScreenAnim + dw HidePicAnim + dw ThrowRockAnim + dw ThrowBaitAnim + dw ZigZagScreenAnim + +; each animation is a list of subanimations and special effects +; if first byte < $56 +; db tileset_and_delay, sound_id, subanimation_id +; if first byte >= $D8 +; db special_effect_id, sound_id +; $FF terminated +ZigZagScreenAnim: + db SE_WAVY_SCREEN, $FF + db $FF + +PoundAnim: +StruggleAnim: + db $08,$00,$01 + db $FF + +KarateChopAnim: + db $08,$01,$03 + db $FF + +DoubleSlapAnim: + db $05,$02,$01 + db $05,$02,$01 + db $FF + +CometPunchAnim: + db $04,$03,$02 + db $04,$03,$02 + db $FF + +MegaPunchAnim: + db $46,$04,$04 + db $FF + +PayDayAnim: + db $08,$00,$01 + db $04,$05,$52 + db $FF + +FirePunchAnim: + db $06,$06,$02 + db $46,$FF,$11 + db $FF + +IcePunchAnim: + db $06,$07,$02 + db $10,$FF,$2F + db $FF + +ThunderPunchAnim: + db $06,$08,$02 + db SE_DARK_SCREEN_PALETTE, $FF + db $46,$FF,$2B + db SE_RESET_SCREEN_PALETTE, $FF + db $FF + +ScratchAnim: + db $06,$09,$0F + db $FF + +VicegripAnim: + db $08,$0A,$2A + db $FF + +GuillotineAnim: + db $06,$0B,$2A + db $FF + +RazorWindAnim: + db $04,$0C,$16 + db $FF + +SwordsDanceAnim: + db $46,$0D,$18 + db $46,$0D,$18 + db $46,$0D,$18 + db $FF + +CutAnim: + db SE_DARK_SCREEN_FLASH, $0E + db $04,$FF,$16 + db $FF + +GustAnim: + db $46,$0F,$10 + db $06,$FF,$02 + db $FF + +WingAttackAnim: + db $46,$10,$04 + db $FF + +WhirlwindAnim: + db $46,$11,$10 + db SE_SLIDE_ENEMY_MON_OFF, $FF + db $FF + +FlyAnim: + db $46,$12,$04 + db SE_SHOW_MON_PIC, $FF + db $FF + +BindAnim: + db $04,$13,$23 + db $04,$13,$23 + db $FF + +SlamAnim: + db $06,$14,$02 + db $FF + +VineWhipAnim: + db $01,$15,$16 + db $08,$FF,$01 + db $FF + +StompAnim: + db $48,$16,$05 + db $FF + +DoubleKickAnim: + db $08,$17,$01 + db $08,$17,$01 + db $FF + +MegaKickAnim: + db $46,$18,$04 + db $FF + +JumpKickAnim: + db $46,$19,$04 + db $FF + +RollingKickAnim: + db SE_DARK_SCREEN_FLASH, $1A + db $46,$FF,$04 + db $FF + +SandAttackAnim: + db $46,$1B,$28 + db $FF + +HeatButtAnim: + db $46,$1C,$05 + db $FF + +HornAttackAnim: + db $06,$1D,$45 + db $46,$FF,$05 + db $FF + +FuryAttackAnim: + db $02,$1E,$46 + db $02,$FF,$46 + db $FF + +HornDrillAnim: + db $42,$1F,$05 + db $42,$FF,$05 + db $42,$FF,$05 + db $42,$FF,$05 + db $42,$FF,$05 + db $FF + +TackleAnim: + db SE_MOVE_MON_HORIZONTALLY, $48 + db SE_RESET_MON_POSITION, $FF + db $FF + +BodySlamAnim: + db SE_MOVE_MON_HORIZONTALLY, $48 + db SE_DARK_SCREEN_FLASH, $FF + db SE_DARK_SCREEN_FLASH, $FF + db SE_RESET_MON_POSITION, $FF + db $FF + +WrapAnim: + db $04,$22,$23 + db $04,$22,$23 + db $04,$22,$23 + db $FF + +TakeDownAnim: + db SE_MOVE_MON_HORIZONTALLY, $48 + db SE_DARK_SCREEN_FLASH, $23 + db SE_RESET_MON_POSITION, $FF + db $FF + +ThrashAnim: + db $46,$24,$04 + db $FF + +DoubleEdgeAnim: + db SE_LIGHT_SCREEN_PALETTE, $48 + db $06,$FF,$2D + db SE_RESET_SCREEN_PALETTE, $FF + db SE_MOVE_MON_HORIZONTALLY, $FF + db SE_DARK_SCREEN_FLASH, $25 + db SE_RESET_MON_POSITION, $FF + db $FF + +TailWhipAnim: + db SE_MOVE_MON_HORIZONTALLY, $84 + db SE_DELAY_ANIMATION_10, $FF + db SE_RESET_MON_POSITION, $84 + db SE_DELAY_ANIMATION_10, $FF + db SE_MOVE_MON_HORIZONTALLY, $84 + db SE_DELAY_ANIMATION_10, $FF + db SE_RESET_MON_POSITION, $84 + db $FF + +PoisonStingAnim: + db $06,$27,$00 + db $FF + +TwineedleAnim: + db $05,$28,$01 + db $05,$28,$01 + db $FF + +PinMissileAnim: + db $03,$29,$01 + db $FF + +LeerAnim: + db SE_DARK_SCREEN_PALETTE, $48 + db SE_DARK_SCREEN_FLASH, $2A + db SE_DARK_SCREEN_FLASH, $2A + db SE_RESET_SCREEN_PALETTE, $FF + db $FF + +BiteAnim: + db $08,$2B,$02 + db $FF + +GrowlAnim: + db $46,$2C,$12 + db $FF + +RoarAnim: + db $46,$2D,$15 + db $46,$2D,$15 + db $46,$2D,$15 + db $FF + +SingAnim: + db $46,$2E,$12 + db $50,$FF,$40 + db $50,$FF,$40 + db $FF + +SupersonicAnim: + db $06,$2F,$31 + db $FF + +SonicBoomAnim: + db $46,$2D,$15 + db $46,$2D,$15 + db $46,$0F,$10 + db $46,$FF,$05 + db $FF + +DisableAnim: + db SE_DARK_SCREEN_PALETTE, $48 + db SE_DARK_SCREEN_FLASH, $2A + db SE_DARK_SCREEN_FLASH, $2A + db SE_RESET_SCREEN_PALETTE, $FF + db $FF + +AcidAnim: + db $46,$32,$13 + db $46,$32,$14 + db $FF + +EmberAnim: + db $46,$33,$11 + db $FF + +FlamethrowerAnim: + db $46,$34,$1F + db $46,$34,$0C + db $46,$34,$0D + db $FF + +MistAnim: + db SE_LIGHT_SCREEN_PALETTE, $FF + db SE_WATER_DROPLETS_EVERYWHERE, $38 + db SE_RESET_SCREEN_PALETTE, $FF + db $FF + +WaterGunAnim: + db $06,$36,$2C + db $FF + +HydroPumpAnim: + db $06,$37,$1A + db $06,$37,$1A + db $FF + +SurfAnim: + db SE_WATER_DROPLETS_EVERYWHERE, $38 + db $06,$37,$1A + db $FF + +IceBeamAnim: + db $03,$39,$2E + db $10,$FF,$2F + db $FF + +BlizzardAnim: + db $04,$3A,$38 + db $04,$37,$38 + db $FF + +PsyBeamAnim: + db $03,$3B,$2E + db SE_FLASH_SCREEN_LONG, $FF + db $FF + +BubbleBeamAnim: + db $12,$3C,$35 + db $FF + +AuroraBeamAnim: + db $03,$3D,$2E + db SE_DELAY_ANIMATION_10, $FF + db SE_DELAY_ANIMATION_10, $FF + db $FF + +HyperBeamAnim: + db SE_DARK_SCREEN_PALETTE, $48 + db SE_SPIRAL_BALLS_INWARD, $FF + db $02,$3E,$2E + db SE_DARK_SCREEN_FLASH, $FF + db SE_DARK_SCREEN_FLASH, $FF + db $46,$04,$04 + db SE_RESET_SCREEN_PALETTE, $FF + db $FF + +PeckAnim: + db $08,$3F,$01 + db $FF + +DrillPeckAnim: + db $46,$40,$04 + db $FF + +SubmissionAnim: + db SE_SLIDE_MON_OFF, $41 + db $06,$FF,$01 + db SE_SHOW_MON_PIC, $FF + db $FF + +LowKickAnim: + db SE_SLIDE_MON_OFF, $42 + db $46,$FF,$04 + db SE_SHOW_MON_PIC, $FF + db $FF + +CounterAnim: + db SE_SLIDE_MON_OFF, $43 + db $46,$FF,$04 + db SE_SHOW_MON_PIC, $FF + db $FF + +SeismicTossAnim: + db SE_BLINK_ENEMY_MON, $FF + db $41,$8B,$4E + db SE_HIDE_ENEMY_MON_PIC, $FF + db SE_SLIDE_MON_OFF, $FF + db $42,$44,$4F + db SE_DELAY_ANIMATION_10, $FF + db SE_DELAY_ANIMATION_10, $FF + db SE_SHOW_MON_PIC, $FF + db $41,$44,$50 + db SE_SHOW_ENEMY_MON_PIC, $FF + db SE_SHAKE_SCREEN, $FF + db $FF + +StrengthAnim: + db SE_MOVE_MON_HORIZONTALLY, $48 + db SE_RESET_MON_POSITION, $FF + db $46,$06,$04 + db $FF + +AbsorbAnim: + db SE_LIGHT_SCREEN_PALETTE, $46 + db $06,$FF,$21 + db $06,$FF,$22 + db SE_RESET_SCREEN_PALETTE, $FF + db $FF + +MegaDrainAnim: + db SE_LIGHT_SCREEN_PALETTE, $47 + db SE_DARK_SCREEN_FLASH, $FF + db $06,$FF,$21 + db $06,$FF,$22 + db SE_DARK_SCREEN_FLASH, $FF + db SE_RESET_SCREEN_PALETTE, $FF + db $FF + +LeechSeedAnim: + db $46,$48,$1B + db $55,$4D,$1C + db $FF + +GrowthAnim: + db SE_LIGHT_SCREEN_PALETTE, $49 + db SE_SPIRAL_BALLS_INWARD, $FF + db SE_RESET_SCREEN_PALETTE, $FF + db $FF + +RazorLeafAnim: + db SE_LEAVES_FALLING, $4A + db $41,$80,$44 + db $01,$0C,$16 + db $FF + +SolarBeamAnim: + db $06,$4B,$2E + db $06,$FF,$01 + db $FF + +PoisonPowderAnim: + db $06,$4C,$36 + db $FF + +StunSporeAnim: + db $06,$4D,$36 + db $FF + +SleepPowderAnim: + db $06,$4E,$36 + db $FF + +PedalDanceAnim: + db SE_LIGHT_SCREEN_PALETTE, $4F + db SE_PETALS_FALLING, $FF + db SE_RESET_SCREEN_PALETTE, $FF + db $FF + +StringShotAnim: + db $08,$50,$37 + db $FF + +DragonRageAnim: + db $46,$51,$1F + db $46,$FF,$0C + db $46,$FF,$0D + db $46,$FF,$0E + db $FF + +FireSpinAnim: + db $46,$52,$0C + db $46,$FF,$0D + db $46,$FF,$0E + db $FF + +ThunderShockAnim: + db $42,$53,$29 + db $FF + +ThunderBoltAnim: + db $41,$54,$29 + db $41,$54,$29 + db $FF + +ThunderWaveAnim: + db $42,$55,$29 + db $02,$FF,$23 + db $04,$FF,$23 + db $FF + +ThunderAnim: + db SE_DARK_SCREEN_PALETTE, $56 + db SE_DARK_SCREEN_FLASH, $FF + db $46,$FF,$2B + db SE_DARK_SCREEN_FLASH, $FF + db $42,$54,$29 + db SE_RESET_SCREEN_PALETTE, $FF + db $FF + +RockThrowAnim: + db $04,$57,$30 + db $FF + +EarthquakeAnim: + db SE_SHAKE_SCREEN, $58 + db SE_SHAKE_SCREEN, $58 + db $FF + +FissureAnim: + db SE_DARK_SCREEN_FLASH, $59 + db SE_SHAKE_SCREEN, $FF + db SE_DARK_SCREEN_FLASH, $59 + db SE_SHAKE_SCREEN, $FF + db $FF + +DigAnim: + db $46,$5A,$04 + db SE_SLIDE_MON_UP, $FF + db $FF + +ToxicAnim: + db SE_WATER_DROPLETS_EVERYWHERE, $38 + db $46,$5B,$14 + db $FF + +ConfusionAnim: + db SE_FLASH_SCREEN_LONG, $5C + db $FF + +PsychicAnim: + db SE_FLASH_SCREEN_LONG, $5D + db SE_WAVY_SCREEN, $FF + db $FF + +HypnosisAnim: + db SE_FLASH_SCREEN_LONG, $5E + db $FF + +MeditateAnim: + db SE_LIGHT_SCREEN_PALETTE, $5F + db $46,$FF,$43 + db SE_DARK_SCREEN_FLASH, $FF + db SE_RESET_SCREEN_PALETTE, $FF + db $FF + +AgilityAnim: + db SE_LIGHT_SCREEN_PALETTE, $60 + db SE_RESET_SCREEN_PALETTE, $FF + db $FF + +QuickAttackAnim: + db SE_SLIDE_MON_OFF, $61 + db $46,$FF,$04 + db SE_SHOW_MON_PIC, $FF + db $FF + +RageAnim: + db $06,$62,$01 + db $FF + +TeleportAnim: + db SE_SQUISH_MON_PIC, $63 + db SE_SHOOT_BALLS_UPWARD, $FF + db $FF + +NightShadeAnim: + db SE_FLASH_SCREEN_LONG, $5C + db SE_WAVY_SCREEN, $FF + db $FF + +MimicAnim: + db $46,$65,$21 + db $46,$65,$22 + db $FF + +ScreechAnim: + db $46,$66,$12 + db $FF + +DoubleTeamAnim: + db SE_DARK_SCREEN_PALETTE, $FF + db SE_DELAY_ANIMATION_10, $FF + db SE_DELAY_ANIMATION_10, $FF + db SE_DARK_SCREEN_FLASH, $FF + db SE_DARK_SCREEN_FLASH, $FF + db SE_RESET_SCREEN_PALETTE, $FF + db SE_SHAKE_BACK_AND_FORTH, $67 + db SE_SHOW_MON_PIC, $FF + db $46,$6F,$33 + db $FF + +RecoverAnim: + db SE_BLINK_MON, $68 + db SE_LIGHT_SCREEN_PALETTE, $FF + db SE_SPIRAL_BALLS_INWARD, $FF + db SE_RESET_SCREEN_PALETTE, $FF + db $FF + +HardenAnim: + db SE_LIGHT_SCREEN_PALETTE, $69 + db $46,$FF,$43 + db SE_DARK_SCREEN_FLASH, $FF + db SE_RESET_SCREEN_PALETTE, $FF + db $FF + +MinimizeAnim: + db SE_LIGHT_SCREEN_PALETTE, $6A + db SE_SPIRAL_BALLS_INWARD, $FF + db SE_MINIMIZE_MON, $FF + db SE_RESET_SCREEN_PALETTE, $FF + db $FF + +SmokeScreenAnim: + db $46,$6B,$28 + db $04,$FF,$0A + db SE_DARKEN_MON_PALETTE, $FF + db SE_DELAY_ANIMATION_10, $FF + db SE_DELAY_ANIMATION_10, $FF + db SE_DARK_SCREEN_PALETTE, $FF + db SE_DELAY_ANIMATION_10, $FF + db SE_DELAY_ANIMATION_10, $FF + db SE_DELAY_ANIMATION_10, $FF + db SE_DELAY_ANIMATION_10, $FF + db SE_DELAY_ANIMATION_10, $FF + db SE_DELAY_ANIMATION_10, $FF + db SE_DARKEN_MON_PALETTE, $FF + db SE_DELAY_ANIMATION_10, $FF + db SE_RESET_SCREEN_PALETTE, $FF + db $FF + +ConfuseRayAnim: + db SE_DARK_SCREEN_PALETTE, $6C + db $46,$FF,$3E + db SE_RESET_SCREEN_PALETTE, $FF + db $FF + +WithdrawAnim: + db SE_LIGHT_SCREEN_PALETTE, $6E + db SE_SLIDE_MON_DOWN, $FF + db $06,$FF,$51 + db SE_RESET_SCREEN_PALETTE, $FF + db SE_SHOW_MON_PIC, $FF + db $FF + +DefenseCurlAnim: + db SE_LIGHT_SCREEN_PALETTE, $6E + db $06,$FF,$43 + db SE_DARK_SCREEN_FLASH, $FF + db SE_RESET_SCREEN_PALETTE, $FF + db $FF + +BarrierAnim: + db $46,$6F,$33 + db $46,$6F,$33 + db $FF + +LightScreenAnim: + db SE_LIGHT_SCREEN_PALETTE, $FF + db $46,$70,$33 + db $46,$70,$33 + db SE_RESET_SCREEN_PALETTE, $FF + db $FF + +HazeAnim: + db SE_DARKEN_MON_PALETTE, $FF + db SE_WATER_DROPLETS_EVERYWHERE, $38 + db SE_RESET_SCREEN_PALETTE, $FF + db $FF + +ReflectAnim: + db SE_DARK_SCREEN_PALETTE, $FF + db $46,$72,$33 + db $46,$72,$33 + db SE_RESET_SCREEN_PALETTE, $FF + db $FF + +FocusEnergyAnim: + db SE_SPIRAL_BALLS_INWARD, $73 + db $FF + +BideAnim: + db $46,$74,$04 + db $FF + +MetronomeAnim: + db SE_MOVE_MON_HORIZONTALLY, $84 + db SE_DELAY_ANIMATION_10, $FF + db SE_RESET_MON_POSITION, $84 + db SE_DELAY_ANIMATION_10, $FF + db SE_MOVE_MON_HORIZONTALLY, $84 + db SE_DELAY_ANIMATION_10, $FF + db SE_RESET_MON_POSITION, $84 + db $FF + +MirrorMoveAnim: + db $08,$76,$01 + db $FF + +SelfdestructAnim: + db $43,$77,$34 + db $FF + +EggBombAnim: + db $44,$78,$41 + db $44,$78,$42 + db $FF + +LickAnim: + db $46,$7B,$14 + db $FF + +SmogAnim: + db SE_DARKEN_MON_PALETTE, $48 + db $46,$7A,$19 + db SE_RESET_SCREEN_PALETTE, $FF + db $FF + +SludgeAnim: + db $46,$7B,$13 + db $46,$7B,$14 + db $FF + +BoneClubAnim: + db $08,$7C,$02 + db $FF + +FireBlastAnim: + db $46,$7D,$1F + db $46,$FF,$20 + db $46,$FF,$20 + db $46,$FF,$0C + db $46,$FF,$0D + db $FF + +WaterfallAnim: + db SE_SLIDE_MON_DOWN, $48 + db $06,$37,$1A + db $08,$FF,$02 + db SE_SLIDE_MON_UP, $FF + db $FF + +ClampAnim: + db $08,$7F,$2A + db $06,$83,$23 + db $06,$83,$23 + db $FF + +SwiftAnim: + db $43,$80,$3F + db $FF + +SkullBashAnim: + db $46,$81,$05 + db $FF + +SpikeCannonAnim: + db $44,$82,$04 + db $FF + +ConstrictAnim: + db $06,$83,$23 + db $06,$83,$23 + db $06,$83,$23 + db $FF + +AmnesiaAnim: + db $08,$84,$25 + db $08,$84,$25 + db $FF + +KinesisAnim: + db $08,$85,$01 + db $FF + +SoftboiledAnim: + db SE_SLIDE_MON_HALF_OFF, $48 + db $08,$86,$4C + db SE_LIGHT_SCREEN_PALETTE, $FF + db SE_SPIRAL_BALLS_INWARD, $FF + db SE_RESET_SCREEN_PALETTE, $FF + db SE_SHOW_MON_PIC, $FF + db $FF + +HiJumpKickAnim: + db $46,$87,$04 + db $FF + +GlareAnim: + db SE_DARK_SCREEN_PALETTE, $48 + db SE_DARK_SCREEN_FLASH, $88 + db SE_DARK_SCREEN_FLASH, $FF + db SE_RESET_SCREEN_PALETTE, $FF + db $FF + +DreamEaterAnim: + db SE_FLASH_SCREEN_LONG, $89 + db SE_DARK_SCREEN_PALETTE, $89 + db $08,$89,$02 + db SE_RESET_SCREEN_PALETTE, $FF + db $FF + +PoisonGasAnim: + db $46,$8A,$19 + db $FF + +BarrageAnim: + db $43,$8B,$41 + db $05,$FF,$55 + db $FF + +LeechLifeAnim: + db $08,$8C,$02 + db SE_DARK_SCREEN_FLASH, $FF + db $06,$FF,$21 + db $06,$FF,$22 + db SE_DARK_SCREEN_FLASH, $FF + db $FF + +LovelyKissAnim: + db $06,$8D,$12 + db $FF + +SkyAttackAnim: + db SE_SQUISH_MON_PIC, $8E + db SE_SHOOT_BALLS_UPWARD, $FF + db $46,$87,$04 + db SE_SHOW_MON_PIC, $FF + db $FF + +TransformAnim: + db $46,$8F,$21 + db $44,$8F,$22 + db $08,$FF,$47 + db SE_TRANSFORM_MON, $FF + db $FF + +BubbleAnim: + db $16,$90,$35 + db $FF + +DizzyPunchAnim: + db $06,$91,$17 + db $06,$91,$17 + db $06,$91,$17 + db $06,$02,$02 + db $FF + +SporeAnim: + db $06,$92,$36 + db $FF + +FlashAnim: + db SE_LIGHT_SCREEN_PALETTE, $48 + db SE_DARK_SCREEN_FLASH, $88 + db SE_DARK_SCREEN_FLASH, $FF + db SE_RESET_SCREEN_PALETTE, $FF + db $FF + +PsywaveAnim: + db $06,$2F,$31 + db SE_WAVY_SCREEN, $5C + db $FF + +SplashAnim: + db SE_BOUNCE_UP_AND_DOWN, $95 + db $FF + +AcidArmorAnim: + db SE_SLIDE_MON_DOWN_AND_HIDE, $96 + db $FF + +CrabHammerAnim: + db $46,$97,$05 + db $06,$FF,$2A + db $FF + +ExplosionAnim: + db $43,$98,$34 + db $FF + +FurySwipesAnim: + db $04,$99,$0F + db $FF + +BonemerangAnim: + db $06,$9A,$02 + db $FF + +RestAnim: + db $10,$9B,$3A + db $10,$9B,$3A + db $FF + +RockSlideAnim: + db $04,$9C,$1D + db $03,$9C,$1E + db $46,$9D,$04 + db $FF + +HyperFangAnim: + db $06,$9D,$02 + db $FF + +SharpenAnim: + db SE_LIGHT_SCREEN_PALETTE, $9E + db $46,$FF,$43 + db SE_DARK_SCREEN_FLASH, $FF + db SE_RESET_SCREEN_PALETTE, $FF + db $FF + +ConversionAnim: + db SE_DARK_SCREEN_FLASH, $9F + db $46,$FF,$21 + db $46,$FF,$22 + db SE_DARK_SCREEN_FLASH, $FF + db $FF + +TriAttackAnim: + db SE_DARK_SCREEN_FLASH, $A0 + db $46,$FF,$4D + db SE_DARK_SCREEN_FLASH, $FF + db $FF + +SuperFangAnim: + db SE_DARK_SCREEN_PALETTE, $48 + db $46,$A1,$04 + db SE_RESET_SCREEN_PALETTE, $FF + db $FF + +SlashAnim: + db $06,$A2,$0F + db $FF + +SubstituteAnim: + db SE_SLIDE_MON_OFF, $A3 + db $08,$FF,$47 + db SE_SUBSTITUTE_MON, $FF + db $FF + +BallTossAnim: + db $03,$FF,$06 + db $FF + +GreatTossAnim: + db $03,$FF,$07 + db $FF + +UltraTossAnim: + db $02,$FF,$08 + db $FF + +BallShakeAnim: + db $04,$FF,$09 + db $FF + +BallPoofAnim: + db $04,$FF,$0A + db $FF + +ShowPicAnim: + db SE_SHOW_ENEMY_MON_PIC, $FF + db $FF + +HidePicAnim: + db SE_HIDE_ENEMY_MON_PIC, $FF + db $FF + +EnemyFlashAnim: + db SE_SHOW_MON_PIC, $FF + db $FF + +PlayerFlashAnim: + db SE_FLASH_MON_PIC, $FF + db $FF + +EnemyHUDShakeAnim: + db SE_SHAKE_ENEMY_HUD, $FF + db $FF + +TradeBallDropAnim: + db $86,$FF,$48 + db $FF + +TradeBallAppear1Anim: + db $84,$FF,$49 + db $FF + +TradeBallAppear2Anim: + db $86,$FF,$4A + db $FF + +TradeBallPoofAnim: + db $86,$FF,$4B + db $FF + +XStatItemAnim: + db SE_LIGHT_SCREEN_PALETTE, $FF + db SE_SPIRAL_BALLS_INWARD, $FF + db SE_RESET_SCREEN_PALETTE, $FF + db $FF + +ShrinkingSquareAnim: + db SE_LIGHT_SCREEN_PALETTE, $FF + db $46,$FF,$43 + db SE_RESET_SCREEN_PALETTE, $FF + db $FF + +XStatItemBlackAnim: + db SE_DARKEN_MON_PALETTE, $FF + db SE_SPIRAL_BALLS_INWARD, $FF + db SE_RESET_SCREEN_PALETTE, $FF + db $FF + +ShrinkingSquareBlackAnim: + db SE_DARKEN_MON_PALETTE, $FF + db $46,$FF,$43 + db SE_RESET_SCREEN_PALETTE, $FF + db $FF + +UnusedAnim: + db SE_LIGHT_SCREEN_PALETTE, $FF + db SE_SHOOT_MANY_BALLS_UPWARD, $FF + db SE_RESET_SCREEN_PALETTE, $FF + db $FF + +ParalyzeAnim: + db $04,$13,$24 + db $04,$13,$24 + db $FF + +PoisonAnim: + db $08,$13,$27 + db $08,$13,$27 + db $FF + +SleepPlayerAnim: + db $10,$9B,$3A + db $10,$9B,$3A + db $FF + +SleepEnemyAnim: + db $10,$9B,$3B + db $10,$9B,$3B + db $FF + +ConfusedPlayerAnim: + db $08,$84,$25 + db $08,$84,$25 + db $FF + +ConfusedEnemyAnim: + db $08,$84,$26 + db $08,$84,$26 + db $FF + +BallBlockAnim: + db $03,$FF,$0B + db $FF + +FaintAnim: + db SE_SLIDE_MON_DOWN, $5A + db $FF + +ShakeScreenAnim: + db SE_SHAKE_SCREEN, $FF + db $FF + +ThrowRockAnim: + db $03,$8B,$53 + db $FF + +ThrowBaitAnim: + db $03,$8B,$54 + db $FF + +SubanimationPointers: + dw Subanimation00 + dw Subanimation01 + dw Subanimation02 + dw Subanimation03 + dw Subanimation04 + dw Subanimation05 + dw Subanimation06 + dw Subanimation07 + dw Subanimation08 + dw Subanimation09 + dw Subanimation0a + dw Subanimation0b + dw Subanimation0c + dw Subanimation0d + dw Subanimation0e + dw Subanimation0f + dw Subanimation10 + dw Subanimation11 + dw Subanimation12 + dw Subanimation13 + dw Subanimation14 + dw Subanimation15 + dw Subanimation16 + dw Subanimation17 + dw Subanimation18 + dw Subanimation19 + dw Subanimation1a + dw Subanimation1b + dw Subanimation1c + dw Subanimation1d + dw Subanimation1e + dw Subanimation1f + dw Subanimation20 + dw Subanimation21 + dw Subanimation22 + dw Subanimation23 + dw Subanimation24 + dw Subanimation25 + dw Subanimation26 + dw Subanimation27 + dw Subanimation28 + dw Subanimation29 + dw Subanimation2a + dw Subanimation2b + dw Subanimation2c + dw Subanimation2d + dw Subanimation2e + dw Subanimation2f + dw Subanimation30 + dw Subanimation31 + dw Subanimation32 + dw Subanimation33 + dw Subanimation34 + dw Subanimation35 + dw Subanimation36 + dw Subanimation37 + dw Subanimation38 + dw Subanimation39 + dw Subanimation3a + dw Subanimation3b + dw Subanimation3c + dw Subanimation3d + dw Subanimation3e + dw Subanimation3f + dw Subanimation40 + dw Subanimation41 + dw Subanimation42 + dw Subanimation43 + dw Subanimation44 + dw Subanimation45 + dw Subanimation46 + dw Subanimation47 + dw Subanimation48 + dw Subanimation49 + dw Subanimation4a + dw Subanimation4b + dw Subanimation4c + dw Subanimation4d + dw Subanimation4e + dw Subanimation4f + dw Subanimation50 + dw Subanimation51 + dw Subanimation52 + dw Subanimation53 + dw Subanimation54 + dw Subanimation55 + +Subanimation04: + db $43 + db $02,$1a,$00 + db $02,$10,$00 + db $02,$03,$00 + +Subanimation05: + db $41 + db $02,$10,$00 + +Subanimation08: + db $0b + db $03,$30,$00 + db $03,$44,$00 + db $03,$94,$00 + db $03,$60,$00 + db $03,$76,$00 + db $03,$9f,$00 + db $03,$8d,$00 + db $03,$a0,$00 + db $03,$1a,$00 + db $03,$a1,$00 + db $03,$34,$00 + +Subanimation07: + db $0b + db $03,$30,$00 + db $03,$a2,$00 + db $03,$31,$00 + db $03,$a3,$00 + db $03,$32,$00 + db $03,$a4,$00 + db $03,$92,$00 + db $03,$a5,$00 + db $03,$15,$00 + db $03,$a6,$00 + db $03,$34,$00 + +Subanimation06: + db $0b + db $03,$30,$00 + db $03,$a2,$00 + db $03,$93,$00 + db $03,$61,$00 + db $03,$73,$00 + db $03,$a7,$00 + db $03,$33,$00 + db $03,$a8,$00 + db $03,$0e,$00 + db $03,$a9,$00 + db $03,$34,$00 + +Subanimation09: + db $04 + db $03,$21,$04 + db $04,$21,$04 + db $03,$21,$04 + db $05,$21,$04 + +Subanimation0a: + db $46 + db $06,$1b,$00 + db $07,$1b,$00 + db $08,$36,$00 + db $09,$36,$00 + db $0a,$15,$00 + db $0a,$15,$00 + +Subanimation0b: + db $04 + db $01,$2d,$00 + db $03,$2f,$00 + db $03,$35,$00 + db $03,$4d,$00 + +Subanimation55: + db $41 + db $01,$9d,$00 + +Subanimation11: + db $4c + db $0b,$26,$00 + db $0c,$26,$00 + db $0b,$26,$00 + db $0c,$26,$00 + db $0b,$28,$00 + db $0c,$28,$00 + db $0b,$28,$00 + db $0c,$28,$00 + db $0b,$27,$00 + db $0c,$27,$00 + db $0b,$27,$00 + db $0c,$27,$00 + +Subanimation2b: + db $4b + db $0d,$03,$03 + db $0e,$03,$03 + db $0f,$03,$00 + db $0d,$11,$00 + db $0d,$11,$00 + db $0d,$37,$00 + db $0d,$37,$00 + db $10,$21,$00 + db $10,$21,$00 + db $11,$1b,$00 + db $11,$1b,$00 + +Subanimation2c: + db $4c + db $12,$01,$00 + db $12,$0f,$00 + db $12,$1b,$00 + db $12,$25,$00 + db $13,$38,$00 + db $13,$38,$02 + db $14,$38,$00 + db $14,$38,$02 + db $15,$38,$00 + db $15,$38,$00 + db $16,$38,$00 + db $16,$38,$00 + +Subanimation12: + db $69 + db $17,$30,$00 + db $17,$39,$00 + db $17,$3a,$00 + db $17,$3b,$00 + db $17,$3c,$00 + db $17,$3d,$00 + db $17,$3e,$00 + db $17,$3f,$00 + db $17,$1f,$00 + +Subanimation00: + db $41 + db $01,$17,$00 + +Subanimation01: + db $42 + db $01,$0f,$00 + db $01,$1d,$00 + +Subanimation02: + db $43 + db $01,$12,$00 + db $01,$15,$00 + db $01,$1c,$00 + +Subanimation03: + db $44 + db $01,$0b,$00 + db $01,$11,$00 + db $01,$18,$00 + db $01,$1d,$00 + +Subanimation0c: + db $43 + db $0c,$20,$00 + db $0c,$21,$00 + db $0c,$23,$00 + +Subanimation0d: + db $46 + db $0c,$20,$02 + db $0c,$15,$00 + db $0c,$21,$02 + db $0c,$17,$00 + db $0c,$23,$02 + db $0c,$19,$00 + +Subanimation0e: + db $49 + db $0c,$20,$02 + db $0c,$15,$02 + db $0c,$07,$00 + db $0c,$21,$02 + db $0c,$17,$02 + db $0c,$09,$00 + db $0c,$23,$02 + db $0c,$19,$02 + db $0c,$0c,$00 + +Subanimation1f: + db $85 + db $0c,$30,$03 + db $0c,$40,$03 + db $0c,$41,$03 + db $0c,$42,$03 + db $0c,$21,$00 + +Subanimation2e: + db $2e + db $18,$43,$02 + db $75,$52,$04 + db $19,$43,$02 + db $75,$63,$04 + db $1a,$43,$02 + db $75,$4d,$04 + db $1b,$43,$02 + db $75,$97,$04 + db $1c,$43,$02 + db $75,$98,$04 + db $1d,$43,$02 + db $75,$58,$04 + db $1e,$43,$02 + db $75,$1b,$00 + +Subanimation2f: + db $44 + db $1f,$24,$00 + db $20,$20,$00 + db $21,$1a,$00 + db $22,$15,$00 + +Subanimation30: + db $52 + db $23,$00,$02 + db $23,$02,$02 + db $23,$04,$00 + db $23,$07,$02 + db $23,$02,$02 + db $23,$04,$00 + db $23,$0e,$02 + db $23,$02,$02 + db $23,$0c,$00 + db $25,$07,$00 + db $25,$0e,$00 + db $25,$15,$00 + db $24,$24,$02 + db $23,$1c,$02 + db $23,$23,$00 + db $23,$21,$02 + db $24,$28,$00 + db $24,$28,$00 + +Subanimation0f: + db $4c + db $26,$0e,$02 + db $26,$16,$02 + db $26,$1c,$00 + db $27,$0e,$02 + db $27,$16,$02 + db $27,$1c,$00 + db $28,$0e,$02 + db $28,$16,$02 + db $28,$1c,$00 + db $29,$0e,$02 + db $29,$16,$02 + db $29,$1c,$00 + +Subanimation16: + db $4c + db $2a,$05,$00 + db $2b,$05,$02 + db $2b,$0c,$02 + db $2a,$11,$04 + db $2b,$11,$02 + db $2b,$17,$02 + db $2a,$1b,$04 + db $2b,$1b,$02 + db $2b,$20,$02 + db $2a,$2f,$04 + db $2c,$00,$02 + db $2c,$00,$00 + +Subanimation10: + db $88 + db $2d,$44,$00 + db $2e,$45,$00 + db $2d,$46,$00 + db $2e,$47,$00 + db $2d,$48,$00 + db $2e,$49,$00 + db $2d,$2f,$00 + db $2e,$1a,$00 + +Subanimation31: + db $2a + db $2f,$46,$00 + db $2f,$4a,$00 + db $2f,$4b,$00 + db $2f,$4c,$00 + db $2f,$4d,$00 + db $2f,$4e,$00 + db $2f,$4f,$00 + db $2f,$50,$00 + db $2f,$2e,$00 + db $2f,$51,$00 + +Subanimation13: + db $86 + db $30,$31,$00 + db $30,$32,$00 + db $30,$92,$00 + db $30,$0e,$00 + db $30,$0f,$00 + db $30,$10,$00 + +Subanimation14: + db $49 + db $30,$10,$00 + db $30,$10,$03 + db $31,$1c,$04 + db $31,$21,$04 + db $31,$26,$00 + db $30,$10,$02 + db $31,$1d,$04 + db $31,$22,$04 + db $31,$27,$00 + +Subanimation41: + db $85 + db $03,$31,$00 + db $03,$32,$00 + db $03,$92,$00 + db $03,$0e,$00 + db $03,$10,$00 + +Subanimation42: + db $43 + db $48,$08,$00 + db $49,$08,$00 + db $5a,$08,$00 + +Subanimation15: + db $22 + db $35,$52,$00 + db $35,$53,$00 + +Subanimation17: + db $44 + db $36,$54,$00 + db $36,$55,$00 + db $37,$56,$00 + db $37,$57,$00 + +Subanimation18: + db $a4 + db $36,$54,$00 + db $36,$55,$00 + db $37,$56,$00 + db $37,$57,$00 + +Subanimation40: + db $46 + db $17,$54,$00 + db $17,$55,$00 + db $17,$0e,$00 + db $17,$56,$00 + db $17,$57,$00 + db $17,$13,$00 + +Subanimation19: + db $8c + db $38,$31,$00 + db $39,$31,$00 + db $38,$32,$00 + db $39,$32,$00 + db $38,$92,$00 + db $39,$92,$00 + db $38,$0e,$00 + db $39,$0e,$00 + db $38,$0f,$00 + db $39,$0f,$00 + db $38,$10,$00 + db $39,$10,$00 + +Subanimation1a: + db $50 + db $3a,$08,$00 + db $3b,$08,$00 + db $3c,$08,$00 + db $3d,$08,$00 + db $3e,$08,$00 + db $3f,$08,$00 + db $3e,$08,$00 + db $3f,$08,$00 + db $3a,$0b,$00 + db $3b,$0b,$00 + db $3c,$0b,$00 + db $3d,$0b,$00 + db $3e,$0b,$00 + db $3f,$0b,$00 + db $3e,$0b,$00 + db $3f,$0b,$00 + +Subanimation1b: + db $84 + db $40,$31,$00 + db $40,$32,$00 + db $40,$92,$00 + db $40,$15,$00 + +Subanimation1c: + db $43 + db $41,$58,$00 + db $41,$59,$00 + db $41,$21,$00 + +Subanimation1d: + db $af + db $24,$9a,$00 + db $23,$1b,$02 + db $24,$22,$00 + db $23,$16,$02 + db $23,$1d,$02 + db $24,$98,$00 + db $25,$2c,$04 + db $25,$2a,$04 + db $25,$99,$04 + db $25,$62,$04 + db $25,$99,$04 + db $25,$62,$04 + db $25,$99,$04 + db $25,$62,$04 + db $25,$99,$03 + +Subanimation1e: + db $01 + db $25,$75,$00 + +Subanimation20: + db $42 + db $42,$07,$00 + db $43,$07,$00 + +Subanimation21: + db $43 + db $44,$00,$00 + db $45,$08,$00 + db $46,$10,$02 + +Subanimation22: + db $8b + db $47,$10,$00 + db $47,$56,$00 + db $47,$07,$00 + db $47,$aa,$00 + db $47,$ab,$00 + db $47,$ac,$00 + db $47,$ad,$00 + db $47,$ae,$00 + db $47,$af,$00 + db $47,$89,$00 + db $47,$b0,$00 + +Subanimation2d: + db $66 + db $44,$64,$00 + db $45,$65,$00 + db $46,$66,$00 + db $47,$66,$00 + db $47,$66,$00 + db $47,$66,$00 + +Subanimation39: + db $61 + db $47,$67,$00 + +Subanimation4e: + db $41 + db $71,$0f,$03 + +Subanimation4f: + db $47 + db $71,$0f,$00 + db $71,$08,$00 + db $71,$01,$00 + db $71,$95,$00 + db $72,$95,$00 + db $73,$95,$00 + db $74,$95,$00 + +Subanimation50: + db $48 + db $74,$95,$00 + db $73,$95,$00 + db $72,$95,$00 + db $71,$95,$00 + db $71,$01,$00 + db $71,$08,$00 + db $71,$0f,$00 + db $71,$16,$00 + +Subanimation29: + db $5d + db $48,$0f,$00 + db $4a,$68,$03 + db $4b,$2a,$03 + db $49,$0f,$00 + db $4a,$68,$03 + db $4b,$2a,$00 + db $4c,$6a,$03 + db $4d,$69,$03 + db $49,$6b,$00 + db $4c,$6a,$03 + db $4d,$69,$00 + db $4a,$68,$03 + db $4b,$2a,$03 + db $49,$6c,$00 + db $4a,$68,$03 + db $4b,$2a,$00 + db $4c,$6a,$03 + db $4d,$69,$03 + db $49,$6d,$00 + db $4c,$6a,$03 + db $4d,$2a,$00 + db $4a,$68,$03 + db $4b,$2a,$03 + db $49,$0f,$00 + db $4a,$68,$03 + db $4b,$2a,$00 + db $4c,$6a,$03 + db $4d,$2a,$03 + db $49,$6b,$00 + +Subanimation2a: + db $44 + db $4e,$2b,$00 + db $4f,$2b,$00 + db $50,$2b,$00 + db $50,$2b,$00 + +Subanimation23: + db $42 + db $51,$2d,$00 + db $51,$6e,$00 + +Subanimation24: + db $a2 + db $51,$2d,$00 + db $51,$6e,$00 + +Subanimation25: + db $62 + db $52,$71,$00 + db $52,$72,$00 + +Subanimation26: + db $02 + db $52,$01,$00 + db $52,$2c,$00 + +Subanimation3a: + db $63 + db $53,$71,$00 + db $53,$7f,$00 + db $53,$81,$00 + +Subanimation3b: + db $03 + db $53,$01,$00 + db $53,$15,$00 + db $53,$2c,$00 + +Subanimation27: + db $a2 + db $54,$01,$00 + db $54,$2c,$00 + +Subanimation28: + db $23 + db $55,$73,$03 + db $56,$73,$03 + db $57,$73,$00 + +Subanimation32: + db $63 + db $47,$74,$00 + db $47,$43,$00 + db $47,$75,$00 + +Subanimation33: + db $26 + db $58,$76,$00 + db $34,$76,$00 + db $58,$76,$00 + db $34,$76,$00 + db $58,$76,$00 + db $34,$76,$00 + +Subanimation3c: + db $67 + db $59,$79,$03 + db $59,$7b,$03 + db $59,$77,$03 + db $59,$7a,$03 + db $59,$78,$03 + db $59,$7c,$03 + db $59,$76,$00 + +Subanimation3d: + db $08 + db $3a,$4d,$00 + db $3b,$4d,$00 + db $3c,$4d,$00 + db $3d,$4d,$00 + db $3e,$4d,$00 + db $3f,$4d,$00 + db $3e,$4d,$00 + db $3f,$4d,$00 + +Subanimation34: + db $35 + db $48,$7d,$00 + db $49,$7d,$00 + db $5a,$7d,$00 + db $48,$30,$00 + db $49,$30,$00 + db $5a,$30,$00 + db $48,$7e,$00 + db $49,$7e,$00 + db $5a,$7e,$00 + db $48,$7f,$00 + db $49,$7f,$00 + db $5a,$7f,$00 + db $48,$80,$00 + db $49,$80,$00 + db $5a,$80,$00 + db $48,$81,$00 + db $49,$81,$00 + db $5a,$81,$00 + db $48,$82,$00 + db $49,$82,$00 + db $5a,$82,$00 + +Subanimation35: + db $24 + db $5b,$83,$03 + db $5c,$84,$03 + db $5d,$85,$03 + db $5e,$09,$00 + +Subanimation36: + db $48 + db $5f,$2a,$00 + db $5f,$00,$00 + db $60,$2a,$00 + db $60,$00,$00 + db $61,$2a,$00 + db $61,$00,$00 + db $62,$2a,$00 + db $62,$00,$00 + +Subanimation37: + db $2a + db $63,$89,$00 + db $64,$75,$00 + db $63,$76,$00 + db $65,$0d,$00 + db $65,$86,$00 + db $65,$12,$00 + db $65,$87,$00 + db $65,$17,$00 + db $65,$88,$00 + db $65,$1a,$00 + +Subanimation38: + db $50 + db $66,$8a,$00 + db $66,$33,$00 + db $66,$2e,$00 + db $67,$24,$03 + db $66,$01,$04 + db $66,$10,$04 + db $66,$1d,$04 + db $67,$28,$03 + db $66,$2a,$04 + db $66,$0e,$04 + db $66,$1b,$04 + db $67,$26,$03 + db $66,$03,$04 + db $66,$12,$04 + db $66,$1e,$04 + db $67,$29,$00 + +Subanimation3e: + db $92 + db $02,$31,$00 + db $34,$31,$00 + db $02,$31,$00 + db $02,$32,$00 + db $34,$32,$00 + db $02,$32,$00 + db $02,$92,$00 + db $34,$92,$00 + db $02,$92,$00 + db $02,$0e,$00 + db $34,$0e,$00 + db $02,$0e,$00 + db $02,$0f,$00 + db $34,$0f,$00 + db $02,$0f,$00 + db $02,$10,$00 + db $34,$10,$00 + db $02,$10,$00 + +Subanimation3f: + db $72 + db $68,$4b,$00 + db $68,$8c,$00 + db $68,$20,$00 + db $68,$1c,$00 + db $68,$19,$00 + db $68,$14,$00 + db $68,$76,$00 + db $68,$8d,$00 + db $68,$15,$00 + db $68,$10,$00 + db $68,$0c,$00 + db $68,$06,$00 + db $68,$8e,$00 + db $68,$8f,$00 + db $68,$90,$00 + db $68,$26,$00 + db $68,$23,$00 + db $68,$1f,$00 + +Subanimation44: + db $2c + db $69,$4b,$00 + db $69,$8c,$00 + db $69,$20,$00 + db $69,$1c,$00 + db $69,$19,$00 + db $69,$14,$00 + db $69,$76,$00 + db $69,$8d,$00 + db $69,$15,$00 + db $69,$10,$00 + db $69,$0c,$00 + db $69,$06,$00 + +Subanimation43: + db $a3 + db $6a,$07,$00 + db $6b,$0f,$00 + db $6c,$17,$00 + +Subanimation45: + db $24 + db $6d,$8b,$00 + db $6d,$84,$00 + db $6d,$63,$00 + db $6d,$8c,$00 + +Subanimation46: + db $26 + db $6d,$8b,$00 + db $6d,$84,$00 + db $6d,$63,$00 + db $6d,$8c,$00 + db $6d,$0a,$00 + db $6d,$89,$00 + +Subanimation47: + db $23 + db $06,$82,$00 + db $07,$82,$00 + db $08,$96,$00 + +Subanimation48: + db $06 + db $03,$41,$04 + db $03,$48,$04 + db $04,$48,$04 + db $03,$48,$04 + db $05,$48,$04 + db $03,$48,$03 + +Subanimation49: + db $04 + db $04,$48,$04 + db $03,$48,$04 + db $05,$48,$04 + db $03,$48,$03 + +Subanimation4a: + db $01 + db $04,$84,$03 + +Subanimation4b: + db $03 + db $06,$72,$00 + db $07,$72,$00 + db $08,$72,$00 + +Subanimation4c: + db $68 + db $6f,$30,$00 + db $6e,$30,$00 + db $70,$30,$00 + db $6e,$30,$00 + db $6f,$30,$00 + db $6e,$30,$00 + db $70,$30,$00 + db $6e,$30,$00 + +Subanimation4d: + db $26 + db $32,$4b,$00 + db $33,$4f,$00 + db $32,$20,$00 + db $33,$16,$00 + db $32,$19,$00 + db $33,$0d,$00 + +Subanimation51: + db $a6 + db $76,$1b,$00 + db $34,$1b,$00 + db $76,$1b,$00 + db $34,$1b,$00 + db $76,$1b,$00 + db $34,$1b,$00 + +Subanimation52: + db $47 + db $77,$25,$00 + db $77,$9b,$00 + db $77,$1a,$00 + db $77,$9c,$00 + db $77,$2f,$00 + db $77,$50,$00 + db $77,$8c,$00 + +Subanimation53: + db $0c + db $78,$30,$00 + db $78,$a2,$00 + db $78,$93,$00 + db $78,$61,$00 + db $78,$73,$00 + db $78,$a7,$00 + db $78,$33,$00 + db $78,$a8,$00 + db $78,$0e,$00 + db $78,$a9,$00 + db $78,$34,$00 + db $01,$9e,$00 + +Subanimation54: + db $0b + db $79,$30,$00 + db $79,$a2,$00 + db $79,$93,$00 + db $79,$61,$00 + db $79,$73,$00 + db $79,$a7,$00 + db $79,$33,$00 + db $79,$a8,$00 + db $79,$0e,$00 + db $79,$a9,$00 + db $79,$34,$00 + +FrameBlockPointers: + dw FrameBlock00 + dw FrameBlock01 + dw FrameBlock02 + dw FrameBlock03 + dw FrameBlock04 + dw FrameBlock05 + dw FrameBlock06 + dw FrameBlock07 + dw FrameBlock08 + dw FrameBlock09 + dw FrameBlock0a + dw FrameBlock0b + dw FrameBlock0c + dw FrameBlock0d + dw FrameBlock0e + dw FrameBlock0f + dw FrameBlock10 + dw FrameBlock11 + dw FrameBlock12 + dw FrameBlock13 + dw FrameBlock14 + dw FrameBlock15 + dw FrameBlock16 + dw FrameBlock17 + dw FrameBlock18 + dw FrameBlock19 + dw FrameBlock1a + dw FrameBlock1b + dw FrameBlock1c + dw FrameBlock1d + dw FrameBlock1e + dw FrameBlock1f + dw FrameBlock20 + dw FrameBlock21 + dw FrameBlock22 + dw FrameBlock23 + dw FrameBlock24 + dw FrameBlock25 + dw FrameBlock26 + dw FrameBlock27 + dw FrameBlock28 + dw FrameBlock29 + dw FrameBlock2a + dw FrameBlock2b + dw FrameBlock2c + dw FrameBlock2d + dw FrameBlock2e + dw FrameBlock2f + dw FrameBlock30 + dw FrameBlock31 + dw FrameBlock32 + dw FrameBlock33 + dw FrameBlock34 + dw FrameBlock35 + dw FrameBlock36 + dw FrameBlock37 + dw FrameBlock38 + dw FrameBlock39 + dw FrameBlock3a + dw FrameBlock3b + dw FrameBlock3c + dw FrameBlock3d + dw FrameBlock3e + dw FrameBlock3f + dw FrameBlock40 + dw FrameBlock41 + dw FrameBlock42 + dw FrameBlock43 + dw FrameBlock44 + dw FrameBlock45 + dw FrameBlock46 + dw FrameBlock47 + dw SmallBlackCircleFrameBlock + dw LargeBlockCircleFrameBlock + dw FrameBlock4a + dw FrameBlock4b + dw FrameBlock4c + dw FrameBlock4d + dw FrameBlock4e + dw FrameBlock4f + dw FrameBlock50 + dw FrameBlock51 + dw FrameBlock52 + dw FrameBlock53 + dw FrameBlock54 + dw FrameBlock55 + dw FrameBlock56 + dw FrameBlock57 + dw FrameBlock58 + dw FrameBlock59 + dw FrameBlock5a + dw FrameBlock5b + dw FrameBlock5c + dw FrameBlock5d + dw FrameBlock5e + dw FrameBlock5f + dw FrameBlock60 + dw FrameBlock61 + dw FrameBlock62 + dw FrameBlock63 + dw FrameBlock64 + dw FrameBlock65 + dw FrameBlock66 + dw FrameBlock67 + dw FrameBlock68 + dw FrameBlock69 + dw FrameBlock6a + dw FrameBlock6b + dw FrameBlock6c + dw FrameBlock6d + dw FrameBlock6e + dw FrameBlock6f + dw FrameBlock70 + dw FrameBlock71 + dw FrameBlock72 + dw FrameBlock73 + dw FrameBlock74 + dw FrameBlock75 + dw FrameBlock76 + dw FrameBlock77 + dw FrameBlock78 + dw FrameBlock79 + +; FrameBlock format is as follows: +; first byte = number of tiles in FrameBlock +; +; Next, each group of 4 bytes describes a tile in the FrameBlock +; first byte = y offset +; second byte = x offset +; third byte = tile id (it's actually tile id - $31) +; fourth byte = tile properties (xflip/yflip/etc.) +FrameBlock01: + db $09 + db $00,$00,$2c,$00 + db $00,$08,$2d,$00 + db $00,$10,$2c,$20 + db $08,$00,$3c,$00 + db $08,$08,$3d,$00 + db $08,$10,$3c,$20 + db $10,$00,$2c,$40 + db $10,$08,$2d,$40 + db $10,$10,$2c,$60 + +FrameBlock02: + db $10 + db $00,$00,$20,$00 + db $00,$08,$21,$00 + db $00,$10,$21,$20 + db $00,$18,$20,$20 + db $08,$00,$30,$00 + db $08,$08,$31,$00 + db $08,$10,$31,$20 + db $08,$18,$30,$20 + db $10,$00,$30,$40 + db $10,$08,$31,$40 + db $10,$10,$31,$60 + db $10,$18,$30,$60 + db $18,$00,$20,$40 + db $18,$08,$21,$40 + db $18,$10,$21,$60 + db $18,$18,$20,$60 + +FrameBlock03: + db $04 + db $00,$00,$02,$00 + db $00,$08,$02,$20 + db $08,$00,$12,$00 + db $08,$08,$12,$20 + +FrameBlock04: + db $04 + db $00,$00,$06,$00 + db $00,$08,$07,$00 + db $08,$00,$16,$00 + db $08,$08,$17,$00 + +FrameBlock05: + db $04 + db $00,$00,$07,$20 + db $00,$08,$06,$20 + db $08,$00,$17,$20 + db $08,$08,$16,$20 + +FrameBlock06: + db $0c + db $00,$08,$23,$00 + db $08,$00,$32,$00 + db $08,$08,$33,$00 + db $00,$10,$23,$20 + db $08,$10,$33,$20 + db $08,$18,$32,$20 + db $10,$00,$32,$40 + db $10,$08,$33,$40 + db $18,$08,$23,$40 + db $10,$10,$33,$60 + db $10,$18,$32,$60 + db $18,$10,$23,$60 + +FrameBlock07: + db $10 + db $00,$00,$20,$00 + db $00,$08,$21,$00 + db $08,$00,$30,$00 + db $08,$08,$31,$00 + db $00,$10,$21,$20 + db $00,$18,$20,$20 + db $08,$10,$31,$20 + db $08,$18,$30,$20 + db $10,$00,$30,$40 + db $10,$08,$31,$40 + db $18,$00,$20,$40 + db $18,$08,$21,$40 + db $10,$10,$31,$60 + db $10,$18,$30,$60 + db $18,$10,$21,$60 + db $18,$18,$20,$60 + +FrameBlock08: + db $10 + db $00,$00,$20,$00 + db $00,$08,$21,$00 + db $08,$00,$30,$00 + db $08,$08,$31,$00 + db $00,$18,$21,$20 + db $00,$20,$20,$20 + db $08,$18,$31,$20 + db $08,$20,$30,$20 + db $18,$00,$30,$40 + db $18,$08,$31,$40 + db $20,$00,$20,$40 + db $20,$08,$21,$40 + db $18,$18,$31,$60 + db $18,$20,$30,$60 + db $20,$18,$21,$60 + db $20,$20,$20,$60 + +FrameBlock09: + db $0c + db $00,$00,$24,$00 + db $00,$08,$25,$00 + db $08,$00,$34,$00 + db $00,$18,$25,$20 + db $00,$20,$24,$20 + db $08,$20,$34,$20 + db $18,$00,$34,$40 + db $20,$00,$24,$40 + db $20,$08,$25,$40 + db $18,$20,$34,$60 + db $20,$18,$25,$60 + db $20,$20,$24,$60 + +FrameBlock0a: + db $0c + db $00,$00,$24,$00 + db $00,$08,$25,$00 + db $08,$00,$34,$00 + db $00,$20,$25,$20 + db $00,$28,$24,$20 + db $08,$28,$34,$20 + db $20,$00,$34,$40 + db $28,$00,$24,$40 + db $28,$08,$25,$40 + db $20,$28,$34,$60 + db $28,$20,$25,$60 + db $28,$28,$24,$60 + +FrameBlock0b: + db $04 + db $00,$00,$05,$00 + db $00,$08,$05,$20 + db $08,$00,$15,$00 + db $08,$08,$15,$20 + +FrameBlock0c: + db $04 + db $00,$00,$04,$00 + db $00,$08,$04,$20 + db $08,$00,$14,$00 + db $08,$08,$14,$20 + +FrameBlock0d: + db $08 + db $00,$00,$0c,$00 + db $00,$08,$0d,$00 + db $08,$00,$1c,$00 + db $08,$08,$1d,$00 + db $10,$00,$1d,$60 + db $10,$08,$1c,$60 + db $18,$00,$0d,$60 + db $18,$08,$0c,$60 + +FrameBlock0e: + db $04 + db $20,$00,$0c,$00 + db $20,$08,$0d,$00 + db $28,$00,$1c,$00 + db $28,$08,$1d,$00 + +FrameBlock0f: + db $04 + db $30,$00,$1d,$60 + db $30,$08,$1c,$60 + db $38,$00,$0d,$60 + db $38,$08,$0c,$60 + +FrameBlock10: + db $08 + db $00,$00,$0e,$00 + db $00,$08,$0f,$00 + db $08,$00,$1e,$00 + db $08,$08,$1f,$00 + db $00,$10,$0f,$20 + db $00,$18,$0e,$20 + db $08,$10,$1f,$20 + db $08,$18,$1e,$20 + +FrameBlock11: + db $08 + db $00,$00,$0e,$00 + db $00,$08,$0f,$00 + db $08,$00,$1e,$00 + db $08,$08,$1f,$00 + db $00,$20,$0f,$20 + db $00,$28,$0e,$20 + db $08,$20,$1f,$20 + db $08,$28,$1e,$20 + +FrameBlock12: + db $03 + db $00,$00,$37,$00 + db $08,$10,$37,$00 + db $00,$20,$37,$00 + +FrameBlock13: + db $04 + db $00,$00,$36,$00 + db $00,$08,$36,$20 + db $08,$00,$36,$40 + db $08,$08,$36,$60 + +FrameBlock14: + db $08 + db $00,$10,$28,$00 + db $00,$18,$28,$20 + db $08,$10,$38,$00 + db $08,$18,$38,$20 + db $00,$20,$36,$00 + db $00,$28,$36,$20 + db $08,$20,$36,$40 + db $08,$28,$36,$60 + +FrameBlock15: + db $0c + db $00,$00,$28,$00 + db $00,$08,$28,$20 + db $08,$00,$38,$00 + db $08,$08,$38,$20 + db $00,$10,$29,$00 + db $00,$18,$29,$20 + db $08,$10,$39,$00 + db $08,$18,$39,$20 + db $00,$20,$28,$00 + db $00,$28,$28,$20 + db $08,$20,$38,$00 + db $08,$28,$38,$20 + +FrameBlock16: + db $08 + db $00,$00,$29,$00 + db $00,$08,$29,$20 + db $08,$00,$39,$00 + db $08,$08,$39,$20 + db $00,$20,$29,$00 + db $00,$28,$29,$20 + db $08,$20,$39,$00 + db $08,$28,$39,$20 + +FrameBlock17: + db $04 + db $00,$00,$08,$00 + db $00,$08,$09,$00 + db $08,$00,$18,$00 + db $08,$08,$19,$00 + +FrameBlock18: + db $01 + db $18,$00,$45,$60 + +FrameBlock19: + db $02 + db $18,$08,$45,$00 + db $10,$08,$46,$60 + +FrameBlock1a: + db $02 + db $10,$10,$45,$60 + db $18,$10,$46,$00 + +FrameBlock1b: + db $02 + db $10,$18,$45,$00 + db $08,$18,$46,$60 + +FrameBlock1c: + db $02 + db $08,$20,$45,$60 + db $10,$20,$46,$00 + +FrameBlock1d: + db $02 + db $08,$28,$45,$00 + db $00,$28,$46,$60 + +FrameBlock1e: + db $02 + db $00,$30,$45,$60 + db $08,$30,$46,$00 + +FrameBlock75: + db $04 + db $00,$00,$43,$00 + db $00,$08,$43,$20 + db $08,$00,$22,$00 + db $08,$08,$43,$60 + +FrameBlock1f: + db $02 + db $00,$00,$03,$00 + db $00,$30,$03,$20 + +FrameBlock20: + db $06 + db $00,$00,$03,$00 + db $00,$30,$03,$20 + db $08,$08,$03,$00 + db $08,$28,$03,$20 + db $08,$00,$13,$00 + db $08,$30,$13,$20 + +FrameBlock21: + db $0c + db $00,$00,$03,$00 + db $00,$30,$03,$20 + db $08,$08,$03,$00 + db $08,$28,$03,$20 + db $08,$00,$13,$00 + db $08,$30,$13,$20 + db $10,$10,$03,$00 + db $10,$20,$03,$20 + db $10,$08,$13,$00 + db $10,$28,$13,$20 + db $10,$00,$03,$00 + db $10,$30,$03,$20 + +FrameBlock22: + db $13 + db $00,$00,$03,$00 + db $08,$00,$13,$00 + db $10,$00,$03,$00 + db $18,$00,$13,$00 + db $08,$08,$03,$00 + db $10,$08,$13,$00 + db $18,$08,$03,$00 + db $10,$10,$03,$00 + db $18,$10,$13,$00 + db $18,$18,$03,$00 + db $10,$20,$03,$20 + db $18,$20,$13,$20 + db $08,$28,$03,$20 + db $10,$28,$13,$20 + db $18,$28,$03,$20 + db $00,$30,$03,$20 + db $08,$30,$13,$20 + db $10,$30,$03,$20 + db $18,$30,$13,$20 + +FrameBlock23: + db $04 + db $00,$00,$0a,$00 + db $00,$08,$0b,$00 + db $08,$00,$1a,$00 + db $08,$08,$1b,$00 + +FrameBlock24: + db $02 + db $08,$00,$0a,$00 + db $08,$08,$0b,$00 + +FrameBlock25: + db $0c + db $10,$00,$0a,$00 + db $10,$08,$0b,$00 + db $18,$00,$1a,$00 + db $18,$08,$1b,$00 + db $00,$10,$0a,$00 + db $00,$18,$0b,$00 + db $08,$10,$1a,$00 + db $08,$18,$1b,$00 + db $08,$20,$0a,$00 + db $08,$28,$0b,$00 + db $10,$20,$1a,$00 + db $10,$28,$1b,$00 + +FrameBlock26: + db $04 + db $00,$10,$44,$00 + db $00,$18,$44,$20 + db $08,$10,$44,$40 + db $08,$18,$44,$60 + +FrameBlock27: + db $05 + db $08,$08,$44,$00 + db $08,$10,$44,$20 + db $10,$08,$44,$40 + db $10,$10,$44,$60 + db $00,$18,$47,$00 + +FrameBlock28: + db $06 + db $10,$00,$44,$00 + db $10,$08,$44,$20 + db $18,$00,$44,$40 + db $18,$08,$44,$60 + db $08,$10,$47,$00 + db $02,$16,$47,$00 + +FrameBlock29: + db $04 + db $18,$00,$47,$00 + db $12,$06,$47,$00 + db $0c,$0c,$47,$00 + db $06,$12,$47,$00 + +FrameBlock2a: + db $04 + db $00,$00,$44,$00 + db $00,$08,$44,$20 + db $08,$00,$44,$40 + db $08,$08,$44,$60 + +FrameBlock2b: + db $02 + db $06,$02,$47,$00 + db $00,$08,$47,$00 + +FrameBlock2c: + db $01 + db $a0,$00,$4d,$00 + +FrameBlock2d: + db $08 + db $00,$00,$26,$00 + db $00,$08,$27,$00 + db $08,$00,$36,$00 + db $08,$08,$37,$00 + db $10,$00,$28,$00 + db $10,$08,$29,$00 + db $18,$00,$38,$00 + db $18,$08,$39,$00 + +FrameBlock2e: + db $08 + db $00,$00,$27,$20 + db $00,$08,$26,$20 + db $08,$00,$37,$20 + db $08,$08,$36,$20 + db $10,$00,$29,$20 + db $10,$08,$28,$20 + db $18,$00,$39,$20 + db $18,$08,$38,$20 + +FrameBlock2f: + db $04 + db $00,$00,$0c,$00 + db $00,$08,$0d,$00 + db $08,$00,$0c,$40 + db $08,$08,$0d,$40 + +FrameBlock30: + db $04 + db $00,$00,$44,$00 + db $00,$08,$44,$20 + db $08,$00,$44,$40 + db $08,$08,$44,$60 + +FrameBlock31: + db $01 + db $00,$00,$45,$00 + +FrameBlock32: + db $07 + db $00,$00,$4d,$00 + db $00,$08,$2f,$00 + db $00,$10,$4d,$20 + db $08,$00,$4e,$00 + db $08,$08,$07,$00 + db $08,$10,$4e,$20 + db $10,$08,$3f,$00 + +FrameBlock33: + db $07 + db $00,$08,$3f,$40 + db $08,$00,$4e,$40 + db $08,$08,$07,$40 + db $08,$10,$4e,$60 + db $10,$00,$4d,$40 + db $10,$08,$2f,$40 + db $10,$10,$4d,$60 + +FrameBlock34: + db $01 + db $a0,$00,$00,$10 + +FrameBlock35: + db $06 + db $00,$00,$2a,$00 + db $00,$08,$2b,$00 + db $08,$00,$3a,$00 + db $10,$00,$3a,$40 + db $18,$00,$2a,$40 + db $18,$08,$2b,$40 + +FrameBlock36: + db $04 + db $00,$00,$00,$00 + db $00,$08,$01,$00 + db $08,$00,$10,$00 + db $08,$08,$11,$00 + +FrameBlock37: + db $04 + db $00,$00,$01,$a0 + db $00,$08,$00,$a0 + db $08,$00,$11,$a0 + db $08,$08,$10,$a0 + +FrameBlock38: + db $04 + db $00,$00,$0a,$00 + db $00,$08,$0b,$00 + db $08,$00,$1a,$00 + db $08,$08,$1b,$00 + +FrameBlock39: + db $04 + db $00,$00,$0b,$20 + db $00,$08,$0a,$20 + db $08,$00,$1b,$20 + db $08,$08,$1a,$20 + +FrameBlock3a: + db $04 + db $20,$00,$05,$00 + db $20,$08,$05,$20 + db $28,$00,$15,$00 + db $28,$08,$15,$20 + +FrameBlock3b: + db $05 + db $18,$00,$04,$00 + db $18,$08,$04,$20 + db $20,$00,$14,$00 + db $20,$08,$14,$20 + db $28,$04,$41,$00 + +FrameBlock3c: + db $06 + db $10,$00,$05,$00 + db $10,$08,$05,$20 + db $18,$00,$15,$00 + db $18,$08,$15,$20 + db $20,$04,$42,$00 + db $28,$04,$42,$00 + +FrameBlock3d: + db $07 + db $08,$00,$04,$00 + db $08,$08,$04,$20 + db $10,$00,$14,$00 + db $10,$08,$14,$20 + db $18,$04,$41,$00 + db $20,$04,$41,$00 + db $28,$04,$41,$00 + +FrameBlock3e: + db $08 + db $00,$00,$05,$00 + db $00,$08,$05,$20 + db $08,$00,$15,$00 + db $08,$08,$15,$20 + db $10,$04,$42,$00 + db $18,$04,$42,$00 + db $20,$04,$42,$00 + db $28,$04,$42,$00 + +FrameBlock3f: + db $08 + db $00,$00,$04,$00 + db $00,$08,$04,$20 + db $08,$00,$14,$00 + db $08,$08,$14,$20 + db $10,$04,$41,$00 + db $18,$04,$41,$00 + db $20,$04,$41,$00 + db $28,$04,$41,$00 + +FrameBlock40: + db $03 + db $00,$00,$3d,$00 + db $00,$08,$3d,$00 + db $08,$08,$3d,$00 + +FrameBlock41: + db $04 + db $00,$00,$06,$00 + db $00,$08,$06,$20 + db $08,$00,$16,$00 + db $08,$08,$17,$00 + +FrameBlock42: + db $0b + db $00,$10,$42,$00 + db $08,$00,$42,$00 + db $08,$08,$42,$00 + db $08,$10,$42,$00 + db $08,$18,$42,$00 + db $08,$20,$42,$00 + db $10,$10,$42,$00 + db $18,$08,$42,$00 + db $18,$18,$42,$00 + db $20,$00,$42,$00 + db $20,$20,$42,$00 + +FrameBlock43: + db $0b + db $00,$10,$41,$00 + db $08,$00,$41,$00 + db $08,$08,$41,$00 + db $08,$10,$41,$00 + db $08,$18,$41,$00 + db $08,$20,$41,$00 + db $10,$10,$41,$00 + db $18,$08,$41,$00 + db $18,$18,$41,$00 + db $20,$00,$41,$00 + db $20,$20,$41,$00 + +FrameBlock44: + db $04 + db $00,$00,$49,$00 + db $00,$28,$49,$00 + db $28,$00,$49,$00 + db $28,$28,$49,$00 + +FrameBlock45: + db $04 + db $00,$00,$49,$00 + db $00,$18,$49,$00 + db $18,$00,$49,$00 + db $18,$18,$49,$00 + +FrameBlock46: + db $04 + db $00,$00,$49,$00 + db $00,$08,$49,$00 + db $08,$00,$49,$00 + db $08,$08,$49,$00 + +FrameBlock47: + db $04 + db $00,$00,$43,$00 + db $00,$08,$43,$20 + db $08,$00,$43,$40 + db $08,$08,$43,$60 + +SmallBlackCircleFrameBlock: + db $04 + db $08,$08,$33,$00 + db $08,$10,$33,$20 + db $10,$08,$33,$40 + db $10,$10,$33,$60 + +LargeBlockCircleFrameBlock: + db $10 + db $00,$00,$22,$00 + db $00,$08,$23,$00 + db $00,$10,$23,$20 + db $00,$18,$22,$20 + db $08,$00,$32,$00 + db $08,$08,$43,$00 + db $08,$10,$43,$20 + db $08,$18,$32,$20 + db $10,$00,$32,$40 + db $10,$08,$43,$40 + db $10,$10,$43,$60 + db $10,$18,$32,$60 + db $18,$00,$22,$40 + db $18,$08,$23,$40 + db $18,$10,$23,$60 + db $18,$18,$22,$60 + +FrameBlock71: + db $10 + db $00,$00,$22,$00 + db $00,$08,$3b,$00 + db $00,$10,$23,$20 + db $00,$18,$22,$20 + db $08,$00,$32,$00 + db $08,$08,$43,$00 + db $08,$10,$43,$20 + db $08,$18,$32,$20 + db $10,$00,$32,$40 + db $10,$08,$43,$40 + db $10,$10,$43,$60 + db $10,$18,$32,$60 + db $18,$00,$22,$40 + db $18,$08,$23,$40 + db $18,$10,$23,$60 + db $18,$18,$22,$60 + +FrameBlock72: + db $0c + db $00,$00,$32,$00 + db $00,$08,$43,$00 + db $00,$10,$43,$20 + db $00,$18,$32,$20 + db $08,$00,$32,$40 + db $08,$08,$43,$40 + db $08,$10,$43,$60 + db $08,$18,$32,$60 + db $10,$00,$22,$40 + db $10,$08,$23,$40 + db $10,$10,$23,$60 + db $10,$18,$22,$60 + +FrameBlock73: + db $08 + db $00,$00,$32,$40 + db $00,$08,$43,$40 + db $00,$10,$43,$60 + db $00,$18,$32,$60 + db $08,$00,$22,$40 + db $08,$08,$23,$40 + db $08,$10,$23,$60 + db $08,$18,$22,$60 + +FrameBlock74: + db $04 + db $00,$00,$22,$40 + db $00,$08,$23,$40 + db $00,$10,$23,$60 + db $00,$18,$22,$60 + +FrameBlock4a: + db $04 + db $08,$18,$4c,$20 + db $20,$08,$4b,$00 + db $30,$20,$4c,$00 + db $18,$30,$4b,$40 + +FrameBlock4b: + db $04 + db $00,$18,$4c,$00 + db $20,$00,$4b,$40 + db $38,$20,$4c,$20 + db $18,$38,$4b,$00 + +FrameBlock4c: + db $04 + db $10,$08,$4a,$40 + db $30,$10,$4a,$00 + db $28,$30,$4a,$20 + db $08,$28,$4a,$60 + +FrameBlock4d: + db $04 + db $08,$00,$4a,$20 + db $38,$08,$4a,$60 + db $30,$38,$4a,$40 + db $00,$30,$4a,$00 + +FrameBlock4e: + db $08 + db $00,$30,$44,$00 + db $00,$38,$44,$20 + db $08,$30,$44,$40 + db $08,$38,$44,$60 + db $26,$0a,$44,$00 + db $26,$12,$44,$20 + db $2e,$0a,$44,$40 + db $2e,$12,$44,$60 + +FrameBlock4f: + db $0c + db $0e,$22,$44,$00 + db $0e,$2a,$44,$20 + db $16,$22,$44,$40 + db $16,$2a,$44,$60 + db $06,$32,$47,$00 + db $00,$38,$47,$00 + db $1a,$16,$44,$00 + db $1a,$1e,$44,$20 + db $22,$16,$44,$40 + db $22,$1e,$44,$60 + db $30,$08,$47,$00 + db $2a,$0e,$47,$00 + +FrameBlock50: + db $08 + db $06,$32,$47,$00 + db $00,$38,$47,$00 + db $12,$26,$47,$00 + db $0c,$2c,$47,$00 + db $1e,$1a,$47,$00 + db $18,$20,$47,$00 + db $2a,$0e,$47,$00 + db $24,$14,$47,$00 + +FrameBlock51: + db $08 + db $00,$00,$35,$20 + db $08,$00,$35,$40 + db $10,$00,$35,$00 + db $18,$00,$35,$60 + db $00,$40,$35,$00 + db $08,$40,$35,$60 + db $10,$40,$35,$20 + db $18,$40,$35,$40 + +FrameBlock52: + db $04 + db $00,$00,$2a,$00 + db $00,$08,$2b,$00 + db $08,$00,$3a,$00 + db $08,$08,$3b,$00 + +FrameBlock53: + db $03 + db $00,$00,$3f,$00 + db $00,$08,$3f,$00 + db $08,$06,$3f,$00 + +FrameBlock54: + db $04 + db $00,$00,$0e,$00 + db $00,$08,$0e,$20 + db $08,$00,$0f,$00 + db $08,$08,$0f,$20 + +FrameBlock55: + db $03 + db $10,$00,$2c,$00 + db $10,$08,$3c,$00 + db $10,$10,$2d,$00 + +FrameBlock56: + db $06 + db $10,$10,$31,$00 + db $10,$18,$31,$00 + db $08,$10,$2c,$00 + db $08,$18,$3c,$00 + db $08,$20,$2d,$00 + db $10,$20,$2d,$00 + +FrameBlock57: + db $09 + db $08,$20,$31,$00 + db $10,$20,$31,$00 + db $08,$28,$31,$00 + db $10,$28,$31,$00 + db $00,$20,$2c,$00 + db $00,$28,$3c,$00 + db $00,$30,$2d,$00 + db $08,$30,$2d,$00 + db $10,$30,$2d,$00 + +FrameBlock58: + db $07 + db $00,$00,$46,$00 + db $08,$02,$47,$00 + db $10,$03,$48,$00 + db $18,$04,$48,$00 + db $20,$05,$48,$00 + db $28,$05,$48,$00 + db $30,$05,$48,$00 + +FrameBlock59: + db $01 + db $00,$00,$42,$00 + +FrameBlock5a: + db $0c + db $00,$00,$24,$00 + db $00,$08,$25,$00 + db $08,$00,$34,$00 + db $00,$10,$25,$20 + db $00,$18,$24,$20 + db $08,$18,$34,$20 + db $10,$00,$34,$40 + db $18,$00,$24,$40 + db $18,$08,$25,$40 + db $10,$18,$34,$60 + db $18,$10,$25,$60 + db $18,$18,$24,$60 + +FrameBlock5b: + db $04 + db $00,$00,$43,$00 + db $00,$08,$43,$20 + db $08,$00,$43,$40 + db $08,$08,$43,$60 + +FrameBlock5c: + db $08 + db $00,$00,$49,$00 + db $02,$08,$49,$00 + db $18,$00,$49,$00 + db $10,$10,$49,$00 + db $08,$00,$43,$00 + db $08,$08,$43,$20 + db $10,$00,$43,$40 + db $10,$08,$43,$60 + +FrameBlock5d: + db $0b + db $00,$00,$49,$00 + db $18,$02,$49,$00 + db $14,$10,$49,$00 + db $08,$00,$43,$00 + db $00,$08,$43,$20 + db $10,$00,$43,$40 + db $10,$08,$43,$60 + db $04,$08,$43,$00 + db $04,$10,$43,$20 + db $0c,$08,$43,$40 + db $0c,$10,$43,$60 + +FrameBlock5e: + db $0f + db $00,$08,$49,$00 + db $08,$10,$49,$00 + db $20,$00,$49,$00 + db $08,$00,$43,$00 + db $08,$08,$43,$20 + db $10,$00,$43,$40 + db $10,$08,$43,$60 + db $10,$10,$43,$00 + db $10,$18,$43,$20 + db $18,$10,$43,$40 + db $18,$18,$43,$60 + db $20,$08,$43,$00 + db $20,$10,$43,$20 + db $28,$08,$43,$40 + db $28,$10,$43,$60 + +FrameBlock5f: + db $04 + db $00,$00,$49,$00 + db $00,$10,$49,$00 + db $00,$20,$49,$00 + db $00,$30,$49,$00 + +FrameBlock60: + db $08 + db $00,$00,$49,$00 + db $00,$10,$49,$00 + db $00,$20,$49,$00 + db $00,$30,$49,$00 + db $08,$08,$49,$00 + db $08,$18,$49,$00 + db $08,$28,$49,$00 + db $08,$38,$49,$00 + +FrameBlock61: + db $0c + db $00,$00,$49,$00 + db $00,$10,$49,$00 + db $00,$20,$49,$00 + db $00,$30,$49,$00 + db $08,$08,$49,$00 + db $08,$18,$49,$00 + db $08,$28,$49,$00 + db $08,$38,$49,$00 + db $10,$00,$49,$00 + db $10,$10,$49,$00 + db $10,$20,$49,$00 + db $10,$30,$49,$00 + +FrameBlock62: + db $0f + db $00,$00,$49,$00 + db $00,$10,$49,$00 + db $00,$20,$49,$00 + db $00,$30,$49,$00 + db $08,$08,$49,$00 + db $08,$18,$49,$00 + db $08,$28,$49,$00 + db $08,$38,$49,$00 + db $10,$00,$49,$00 + db $10,$10,$49,$00 + db $10,$20,$49,$00 + db $10,$30,$49,$00 + db $18,$08,$49,$00 + db $18,$18,$49,$00 + db $18,$28,$49,$00 + db $18,$38,$49,$00 ; unused + +FrameBlock63: + db $06 + db $10,$00,$26,$00 + db $10,$08,$27,$00 + db $08,$10,$26,$00 + db $08,$18,$27,$00 + db $00,$20,$26,$00 + db $00,$28,$27,$00 + +FrameBlock64: + db $06 + db $18,$00,$27,$00 + db $10,$08,$26,$00 + db $10,$10,$27,$00 + db $08,$18,$26,$00 + db $08,$20,$27,$00 + db $00,$28,$26,$00 + +FrameBlock65: + db $06 + db $00,$00,$1c,$00 + db $00,$08,$1d,$00 + db $10,$00,$1c,$00 + db $10,$08,$1d,$00 + db $20,$00,$1c,$00 + db $20,$08,$1d,$00 + +FrameBlock66: + db $02 + db $00,$00,$03,$00 + db $08,$00,$13,$00 + +FrameBlock67: + db $01 + db $00,$00,$03,$00 + +FrameBlock68: + db $04 + db $00,$00,$03,$00 + db $00,$08,$03,$20 + db $08,$00,$13,$00 + db $08,$08,$13,$20 + +FrameBlock69: + db $01 + db $00,$00,$06,$00 + +FrameBlock6a: + db $08 + db $00,$00,$2e,$00 + db $00,$30,$2e,$20 + db $30,$00,$2e,$40 + db $30,$30,$2e,$60 + db $00,$18,$2f,$00 + db $30,$18,$2f,$40 + db $18,$00,$3e,$00 + db $18,$30,$3e,$20 + +FrameBlock6b: + db $08 + db $00,$00,$2e,$00 + db $00,$20,$2e,$20 + db $20,$00,$2e,$40 + db $20,$20,$2e,$60 + db $00,$10,$2f,$00 + db $20,$10,$2f,$40 + db $10,$00,$3e,$00 + db $10,$20,$3e,$20 + +FrameBlock6c: + db $08 + db $00,$00,$2e,$00 + db $00,$10,$2e,$20 + db $10,$00,$2e,$40 + db $10,$10,$2e,$60 + db $00,$08,$2f,$00 + db $10,$08,$2f,$40 + db $08,$00,$3e,$00 + db $08,$10,$3e,$20 + +FrameBlock6d: + db $02 + db $00,$00,$1e,$00 + db $00,$08,$1f,$00 + +FrameBlock6e: + db $04 + db $00,$00,$48,$00 + db $00,$08,$48,$20 + db $08,$00,$12,$00 + db $08,$08,$12,$20 + +FrameBlock6f: + db $04 + db $00,$00,$4a,$00 + db $00,$08,$07,$00 + db $08,$00,$16,$00 + db $08,$08,$17,$00 + +FrameBlock70: + db $04 + db $00,$00,$07,$20 + db $00,$08,$4a,$20 + db $08,$00,$17,$20 + db $08,$08,$16,$20 + +FrameBlock76: + db $07 + db $00,$10,$2f,$00 + db $01,$08,$2f,$00 + db $01,$18,$2f,$00 + db $02,$00,$2e,$00 + db $02,$20,$2e,$20 + db $0a,$00,$3e,$00 + db $0a,$20,$3e,$20 + +FrameBlock77: + db $04 + db $00,$02,$4b,$00 + db $00,$0a,$4c,$00 + db $08,$00,$4c,$60 + db $08,$08,$4b,$60 + +FrameBlock78: + db $01 + db $00,$00,$4d,$00 + +FrameBlock79: + db $01 + db $00,$00,$4e,$00 + +FrameBlockBaseCoords: + db $10,$68 + db $10,$70 + db $10,$78 + db $10,$80 + db $10,$88 + db $10,$90 + db $10,$98 + db $18,$68 + db $18,$70 + db $18,$78 + db $34,$28 + db $18,$80 + db $18,$88 + db $18,$98 + db $20,$68 + db $20,$70 + db $20,$78 + db $20,$80 + db $20,$88 + db $20,$90 + db $20,$98 + db $28,$68 + db $28,$70 + db $28,$78 + db $28,$80 + db $28,$88 + db $30,$68 + db $30,$70 + db $30,$78 + db $30,$80 + db $30,$90 + db $30,$98 + db $38,$68 + db $38,$78 + db $38,$80 + db $38,$88 + db $40,$68 + db $40,$70 + db $40,$78 + db $40,$80 + db $40,$88 + db $40,$98 + db $10,$60 + db $18,$60 + db $20,$60 + db $28,$60 + db $30,$60 + db $40,$60 + db $58,$28 + db $43,$38 + db $33,$48 + db $20,$58 + db $32,$78 + db $58,$58 + db $2C,$6C + db $34,$80 + db $48,$70 + db $42,$36 + db $38,$44 + db $40,$52 + db $48,$60 + db $3E,$6E + db $28,$7C + db $28,$8A + db $50,$3C + db $48,$50 + db $40,$64 + db $38,$38 + db $50,$30 + db $50,$38 + db $50,$40 + db $50,$48 + db $50,$50 + db $48,$58 + db $50,$44 + db $48,$48 + db $48,$4C + db $40,$50 + db $40,$54 + db $38,$58 + db $38,$5C + db $30,$64 + db $48,$40 + db $48,$39 + db $24,$88 + db $24,$70 + db $1C,$70 + db $1C,$88 + db $34,$68 + db $34,$88 + db $68,$50 + db $60,$50 + db $68,$60 + db $58,$50 + db $60,$60 + db $68,$40 + db $40,$40 + db $38,$40 + db $0B,$60 + db $44,$48 + db $40,$14 + db $48,$1C + db $50,$24 + db $4C,$24 + db $10,$62 + db $12,$62 + db $12,$60 + db $20,$72 + db $22,$72 + db $22,$70 + db $28,$62 + db $50,$0A + db $52,$0A + db $38,$30 + db $40,$48 + db $30,$48 + db $40,$30 + db $30,$40 + db $38,$48 + db $40,$4A + db $48,$4B + db $50,$4C + db $58,$4D + db $60,$4D + db $68,$4D + db $38,$10 + db $50,$10 + db $38,$28 + db $48,$18 + db $40,$20 + db $48,$20 + db $40,$3C + db $38,$50 + db $28,$64 + db $1C,$90 + db $24,$80 + db $2C,$70 + db $30,$38 + db $10,$50 + db $3C,$40 + db $40,$58 + db $30,$58 + db $58,$48 + db $50,$58 + db $48,$68 + db $40,$18 + db $28,$58 + db $40,$38 + db $48,$38 + db $08,$70 + db $44,$1C + db $3C,$58 + db $38,$60 + db $08,$60 + db $38,$70 + db $38,$6C + db $38,$64 + db $1C,$74 + db $2E,$74 + db $34,$50 + db $2F,$60 + db $31,$70 + db $4C,$30 + db $3B,$40 + db $2D,$50 + db $26,$60 + db $2D,$70 + db $28,$50 + db $1E,$60 + db $29,$70 + db $16,$60 + db $14,$58 + db $12,$54 + db $14,$50 + db $18,$4C + db $1C,$48 + db $48,$28 + +FrameBlock00: + db $00,$00 diff --git a/data/moves/effects_pointers.asm b/data/moves/effects_pointers.asm new file mode 100644 index 00000000..0d36e887 --- /dev/null +++ b/data/moves/effects_pointers.asm @@ -0,0 +1,87 @@ +MoveEffectPointerTable: + dw SleepEffect ; unused effect + dw PoisonEffect ; POISON_SIDE_EFFECT1 + dw DrainHPEffect ; DRAIN_HP_EFFECT + dw FreezeBurnParalyzeEffect ; BURN_SIDE_EFFECT1 + dw FreezeBurnParalyzeEffect ; FREEZE_SIDE_EFFECT + dw FreezeBurnParalyzeEffect ; PARALYZE_SIDE_EFFECT1 + dw ExplodeEffect ; EXPLODE_EFFECT + dw DrainHPEffect ; DREAM_EATER_EFFECT + dw $0000 ; MIRROR_MOVE_EFFECT + dw StatModifierUpEffect ; ATTACK_UP1_EFFECT + dw StatModifierUpEffect ; DEFENSE_UP1_EFFECT + dw StatModifierUpEffect ; SPEED_UP1_EFFECT + dw StatModifierUpEffect ; SPECIAL_UP1_EFFECT + dw StatModifierUpEffect ; ACCURACY_UP1_EFFECT + dw StatModifierUpEffect ; EVASION_UP1_EFFECT + dw PayDayEffect ; PAY_DAY_EFFECT + dw $0000 ; SWIFT_EFFECT + dw StatModifierDownEffect ; ATTACK_DOWN1_EFFECT + dw StatModifierDownEffect ; DEFENSE_DOWN1_EFFECT + dw StatModifierDownEffect ; SPEED_DOWN1_EFFECT + dw StatModifierDownEffect ; SPECIAL_DOWN1_EFFECT + dw StatModifierDownEffect ; ACCURACY_DOWN1_EFFECT + dw StatModifierDownEffect ; EVASION_DOWN1_EFFECT + dw ConversionEffect ; CONVERSION_EFFECT + dw HazeEffect ; HAZE_EFFECT + dw BideEffect ; BIDE_EFFECT + dw ThrashPetalDanceEffect ; THRASH_PETAL_DANCE_EFFECT + dw SwitchAndTeleportEffect ; SWITCH_AND_TELEPORT_EFFECT + dw TwoToFiveAttacksEffect ; TWO_TO_FIVE_ATTACKS_EFFECT + dw TwoToFiveAttacksEffect ; unused effect + dw FlinchSideEffect ; FLINCH_SIDE_EFFECT1 + dw SleepEffect ; SLEEP_EFFECT + dw PoisonEffect ; POISON_SIDE_EFFECT2 + dw FreezeBurnParalyzeEffect ; BURN_SIDE_EFFECT2 + dw FreezeBurnParalyzeEffect ; unused effect + dw FreezeBurnParalyzeEffect ; PARALYZE_SIDE_EFFECT2 + dw FlinchSideEffect ; FLINCH_SIDE_EFFECT2 + dw OneHitKOEffect ; OHKO_EFFECT + dw ChargeEffect ; CHARGE_EFFECT + dw $0000 ; SUPER_FANG_EFFECT + dw $0000 ; SPECIAL_DAMAGE_EFFECT + dw TrappingEffect ; TRAPPING_EFFECT + dw ChargeEffect ; FLY_EFFECT + dw TwoToFiveAttacksEffect ; ATTACK_TWICE_EFFECT + dw $0000 ; JUMP_KICK_EFFECT + dw MistEffect ; MIST_EFFECT + dw FocusEnergyEffect ; FOCUS_ENERGY_EFFECT + dw RecoilEffect ; RECOIL_EFFECT + dw ConfusionEffect ; CONFUSION_EFFECT + dw StatModifierUpEffect ; ATTACK_UP2_EFFECT + dw StatModifierUpEffect ; DEFENSE_UP2_EFFECT + dw StatModifierUpEffect ; SPEED_UP2_EFFECT + dw StatModifierUpEffect ; SPECIAL_UP2_EFFECT + dw StatModifierUpEffect ; ACCURACY_UP2_EFFECT + dw StatModifierUpEffect ; EVASION_UP2_EFFECT + dw HealEffect ; HEAL_EFFECT + dw TransformEffect ; TRANSFORM_EFFECT + dw StatModifierDownEffect ; ATTACK_DOWN2_EFFECT + dw StatModifierDownEffect ; DEFENSE_DOWN2_EFFECT + dw StatModifierDownEffect ; SPEED_DOWN2_EFFECT + dw StatModifierDownEffect ; SPECIAL_DOWN2_EFFECT + dw StatModifierDownEffect ; ACCURACY_DOWN2_EFFECT + dw StatModifierDownEffect ; EVASION_DOWN2_EFFECT + dw ReflectLightScreenEffect ; LIGHT_SCREEN_EFFECT + dw ReflectLightScreenEffect ; REFLECT_EFFECT + dw PoisonEffect ; POISON_EFFECT + dw ParalyzeEffect ; PARALYZE_EFFECT + dw StatModifierDownEffect ; ATTACK_DOWN_SIDE_EFFECT + dw StatModifierDownEffect ; DEFENSE_DOWN_SIDE_EFFECT + dw StatModifierDownEffect ; SPEED_DOWN_SIDE_EFFECT + dw StatModifierDownEffect ; SPECIAL_DOWN_SIDE_EFFECT + dw StatModifierDownEffect ; unused effect + dw StatModifierDownEffect ; unused effect + dw StatModifierDownEffect ; unused effect + dw StatModifierDownEffect ; unused effect + dw ConfusionSideEffect ; CONFUSION_SIDE_EFFECT + dw TwoToFiveAttacksEffect ; TWINEEDLE_EFFECT + dw $0000 ; unused effect + dw SubstituteEffect ; SUBSTITUTE_EFFECT + dw HyperBeamEffect ; HYPER_BEAM_EFFECT + dw RageEffect ; RAGE_EFFECT + dw MimicEffect ; MIMIC_EFFECT + dw $0000 ; METRONOME_EFFECT + dw LeechSeedEffect ; LEECH_SEED_EFFECT + dw SplashEffect ; SPLASH_EFFECT + dw DisableEffect ; DISABLE_EFFECT diff --git a/data/moves/grammar.asm b/data/moves/grammar.asm new file mode 100644 index 00000000..8113ab7c --- /dev/null +++ b/data/moves/grammar.asm @@ -0,0 +1,14 @@ +ExclamationPointMoveSets: + db SWORDS_DANCE, GROWTH + db $00 + db RECOVER, BIDE, SELFDESTRUCT, AMNESIA + db $00 + db MEDITATE, AGILITY, TELEPORT, MIMIC, DOUBLE_TEAM, BARRAGE + db $00 + db POUND, SCRATCH, VICEGRIP, WING_ATTACK, FLY, BIND, SLAM, HORN_ATTACK, BODY_SLAM + db WRAP, THRASH, TAIL_WHIP, LEER, BITE, GROWL, ROAR, SING, PECK, COUNTER + db STRENGTH, ABSORB, STRING_SHOT, EARTHQUAKE, FISSURE, DIG, TOXIC, SCREECH, HARDEN + db MINIMIZE, WITHDRAW, DEFENSE_CURL, METRONOME, LICK, CLAMP, CONSTRICT, POISON_GAS + db LEECH_LIFE, BUBBLE, FLASH, SPLASH, ACID_ARMOR, FURY_SWIPES, REST, SHARPEN, SLASH, SUBSTITUTE + db $00 + db $FF ; terminator diff --git a/data/moves/hm_moves.asm b/data/moves/hm_moves.asm new file mode 100644 index 00000000..d72eddfe --- /dev/null +++ b/data/moves/hm_moves.asm @@ -0,0 +1,7 @@ +HMMoveArray: + db CUT + db FLY + db SURF + db STRENGTH + db FLASH + db -1 diff --git a/data/moves/moves.asm b/data/moves/moves.asm new file mode 100755 index 00000000..44859681 --- /dev/null +++ b/data/moves/moves.asm @@ -0,0 +1,178 @@ +Moves: +; Characteristics of each move. + +move: macro + db \1 ; animation (interchangeable with move id) + db \2 ; effect + db \3 ; power + db \4 ; type + db \5 percent ; accuracy + db \6 ; pp +endm + + move POUND, NO_ADDITIONAL_EFFECT, 40, NORMAL, 100, 35 +MoveEnd: + move KARATE_CHOP, NO_ADDITIONAL_EFFECT, 50, NORMAL, 100, 25 + move DOUBLESLAP, TWO_TO_FIVE_ATTACKS_EFFECT, 15, NORMAL, 85, 10 + move COMET_PUNCH, TWO_TO_FIVE_ATTACKS_EFFECT, 18, NORMAL, 85, 15 + move MEGA_PUNCH, NO_ADDITIONAL_EFFECT, 80, NORMAL, 85, 20 + move PAY_DAY, PAY_DAY_EFFECT, 40, NORMAL, 100, 20 + move FIRE_PUNCH, BURN_SIDE_EFFECT1, 75, FIRE, 100, 15 + move ICE_PUNCH, FREEZE_SIDE_EFFECT, 75, ICE, 100, 15 + move THUNDERPUNCH, PARALYZE_SIDE_EFFECT1, 75, ELECTRIC, 100, 15 + move SCRATCH, NO_ADDITIONAL_EFFECT, 40, NORMAL, 100, 35 + move VICEGRIP, NO_ADDITIONAL_EFFECT, 55, NORMAL, 100, 30 + move GUILLOTINE, OHKO_EFFECT, 1, NORMAL, 30, 5 + move RAZOR_WIND, CHARGE_EFFECT, 80, NORMAL, 75, 10 + move SWORDS_DANCE, ATTACK_UP2_EFFECT, 0, NORMAL, 100, 30 + move CUT, NO_ADDITIONAL_EFFECT, 50, NORMAL, 95, 30 + move GUST, NO_ADDITIONAL_EFFECT, 40, NORMAL, 100, 35 + move WING_ATTACK, NO_ADDITIONAL_EFFECT, 35, FLYING, 100, 35 + move WHIRLWIND, SWITCH_AND_TELEPORT_EFFECT, 0, NORMAL, 85, 20 + move FLY, FLY_EFFECT, 70, FLYING, 95, 15 + move BIND, TRAPPING_EFFECT, 15, NORMAL, 75, 20 + move SLAM, NO_ADDITIONAL_EFFECT, 80, NORMAL, 75, 20 + move VINE_WHIP, NO_ADDITIONAL_EFFECT, 35, GRASS, 100, 10 + move STOMP, FLINCH_SIDE_EFFECT2, 65, NORMAL, 100, 20 + move DOUBLE_KICK, ATTACK_TWICE_EFFECT, 30, FIGHTING, 100, 30 + move MEGA_KICK, NO_ADDITIONAL_EFFECT, 120, NORMAL, 75, 5 + move JUMP_KICK, JUMP_KICK_EFFECT, 70, FIGHTING, 95, 25 + move ROLLING_KICK, FLINCH_SIDE_EFFECT2, 60, FIGHTING, 85, 15 + move SAND_ATTACK, ACCURACY_DOWN1_EFFECT, 0, NORMAL, 100, 15 + move HEADBUTT, FLINCH_SIDE_EFFECT2, 70, NORMAL, 100, 15 + move HORN_ATTACK, NO_ADDITIONAL_EFFECT, 65, NORMAL, 100, 25 + move FURY_ATTACK, TWO_TO_FIVE_ATTACKS_EFFECT, 15, NORMAL, 85, 20 + move HORN_DRILL, OHKO_EFFECT, 1, NORMAL, 30, 5 + move TACKLE, NO_ADDITIONAL_EFFECT, 35, NORMAL, 95, 35 + move BODY_SLAM, PARALYZE_SIDE_EFFECT2, 85, NORMAL, 100, 15 + move WRAP, TRAPPING_EFFECT, 15, NORMAL, 85, 20 + move TAKE_DOWN, RECOIL_EFFECT, 90, NORMAL, 85, 20 + move THRASH, THRASH_PETAL_DANCE_EFFECT, 90, NORMAL, 100, 20 + move DOUBLE_EDGE, RECOIL_EFFECT, 100, NORMAL, 100, 15 + move TAIL_WHIP, DEFENSE_DOWN1_EFFECT, 0, NORMAL, 100, 30 + move POISON_STING, POISON_SIDE_EFFECT1, 15, POISON, 100, 35 + move TWINEEDLE, TWINEEDLE_EFFECT, 25, BUG, 100, 20 + move PIN_MISSILE, TWO_TO_FIVE_ATTACKS_EFFECT, 14, BUG, 85, 20 + move LEER, DEFENSE_DOWN1_EFFECT, 0, NORMAL, 100, 30 + move BITE, FLINCH_SIDE_EFFECT1, 60, NORMAL, 100, 25 + move GROWL, ATTACK_DOWN1_EFFECT, 0, NORMAL, 100, 40 + move ROAR, SWITCH_AND_TELEPORT_EFFECT, 0, NORMAL, 100, 20 + move SING, SLEEP_EFFECT, 0, NORMAL, 55, 15 + move SUPERSONIC, CONFUSION_EFFECT, 0, NORMAL, 55, 20 + move SONICBOOM, SPECIAL_DAMAGE_EFFECT, 1, NORMAL, 90, 20 + move DISABLE, DISABLE_EFFECT, 0, NORMAL, 55, 20 + move ACID, DEFENSE_DOWN_SIDE_EFFECT, 40, POISON, 100, 30 + move EMBER, BURN_SIDE_EFFECT1, 40, FIRE, 100, 25 + move FLAMETHROWER, BURN_SIDE_EFFECT1, 95, FIRE, 100, 15 + move MIST, MIST_EFFECT, 0, ICE, 100, 30 + move WATER_GUN, NO_ADDITIONAL_EFFECT, 40, WATER, 100, 25 + move HYDRO_PUMP, NO_ADDITIONAL_EFFECT, 120, WATER, 80, 5 + move SURF, NO_ADDITIONAL_EFFECT, 95, WATER, 100, 15 + move ICE_BEAM, FREEZE_SIDE_EFFECT, 95, ICE, 100, 10 + move BLIZZARD, FREEZE_SIDE_EFFECT, 120, ICE, 90, 5 + move PSYBEAM, CONFUSION_SIDE_EFFECT, 65, PSYCHIC, 100, 20 + move BUBBLEBEAM, SPEED_DOWN_SIDE_EFFECT, 65, WATER, 100, 20 + move AURORA_BEAM, ATTACK_DOWN_SIDE_EFFECT, 65, ICE, 100, 20 + move HYPER_BEAM, HYPER_BEAM_EFFECT, 150, NORMAL, 90, 5 + move PECK, NO_ADDITIONAL_EFFECT, 35, FLYING, 100, 35 + move DRILL_PECK, NO_ADDITIONAL_EFFECT, 80, FLYING, 100, 20 + move SUBMISSION, RECOIL_EFFECT, 80, FIGHTING, 80, 25 + move LOW_KICK, FLINCH_SIDE_EFFECT2, 50, FIGHTING, 90, 20 + move COUNTER, NO_ADDITIONAL_EFFECT, 1, FIGHTING, 100, 20 + move SEISMIC_TOSS, SPECIAL_DAMAGE_EFFECT, 1, FIGHTING, 100, 20 + move STRENGTH, NO_ADDITIONAL_EFFECT, 80, NORMAL, 100, 15 + move ABSORB, DRAIN_HP_EFFECT, 20, GRASS, 100, 20 + move MEGA_DRAIN, DRAIN_HP_EFFECT, 40, GRASS, 100, 10 + move LEECH_SEED, LEECH_SEED_EFFECT, 0, GRASS, 90, 10 + move GROWTH, SPECIAL_UP1_EFFECT, 0, NORMAL, 100, 40 + move RAZOR_LEAF, NO_ADDITIONAL_EFFECT, 55, GRASS, 95, 25 + move SOLARBEAM, CHARGE_EFFECT, 120, GRASS, 100, 10 + move POISONPOWDER, POISON_EFFECT, 0, POISON, 75, 35 + move STUN_SPORE, PARALYZE_EFFECT, 0, GRASS, 75, 30 + move SLEEP_POWDER, SLEEP_EFFECT, 0, GRASS, 75, 15 + move PETAL_DANCE, THRASH_PETAL_DANCE_EFFECT, 70, GRASS, 100, 20 + move STRING_SHOT, SPEED_DOWN1_EFFECT, 0, BUG, 95, 40 + move DRAGON_RAGE, SPECIAL_DAMAGE_EFFECT, 1, DRAGON, 100, 10 + move FIRE_SPIN, TRAPPING_EFFECT, 15, FIRE, 70, 15 + move THUNDERSHOCK, PARALYZE_SIDE_EFFECT1, 40, ELECTRIC, 100, 30 + move THUNDERBOLT, PARALYZE_SIDE_EFFECT1, 95, ELECTRIC, 100, 15 + move THUNDER_WAVE, PARALYZE_EFFECT, 0, ELECTRIC, 100, 20 + move THUNDER, PARALYZE_SIDE_EFFECT1, 120, ELECTRIC, 70, 10 + move ROCK_THROW, NO_ADDITIONAL_EFFECT, 50, ROCK, 65, 15 + move EARTHQUAKE, NO_ADDITIONAL_EFFECT, 100, GROUND, 100, 10 + move FISSURE, OHKO_EFFECT, 1, GROUND, 30, 5 + move DIG, CHARGE_EFFECT, 100, GROUND, 100, 10 + move TOXIC, POISON_EFFECT, 0, POISON, 85, 10 + move CONFUSION, CONFUSION_SIDE_EFFECT, 50, PSYCHIC, 100, 25 + move PSYCHIC_M, SPECIAL_DOWN_SIDE_EFFECT, 90, PSYCHIC, 100, 10 + move HYPNOSIS, SLEEP_EFFECT, 0, PSYCHIC, 60, 20 + move MEDITATE, ATTACK_UP1_EFFECT, 0, PSYCHIC, 100, 40 + move AGILITY, SPEED_UP2_EFFECT, 0, PSYCHIC, 100, 30 + move QUICK_ATTACK, NO_ADDITIONAL_EFFECT, 40, NORMAL, 100, 30 + move RAGE, RAGE_EFFECT, 20, NORMAL, 100, 20 + move TELEPORT, SWITCH_AND_TELEPORT_EFFECT, 0, PSYCHIC, 100, 20 + move NIGHT_SHADE, SPECIAL_DAMAGE_EFFECT, 0, GHOST, 100, 15 + move MIMIC, MIMIC_EFFECT, 0, NORMAL, 100, 10 + move SCREECH, DEFENSE_DOWN2_EFFECT, 0, NORMAL, 85, 40 + move DOUBLE_TEAM, EVASION_UP1_EFFECT, 0, NORMAL, 100, 15 + move RECOVER, HEAL_EFFECT, 0, NORMAL, 100, 20 + move HARDEN, DEFENSE_UP1_EFFECT, 0, NORMAL, 100, 30 + move MINIMIZE, EVASION_UP1_EFFECT, 0, NORMAL, 100, 20 + move SMOKESCREEN, ACCURACY_DOWN1_EFFECT, 0, NORMAL, 100, 20 + move CONFUSE_RAY, CONFUSION_EFFECT, 0, GHOST, 100, 10 + move WITHDRAW, DEFENSE_UP1_EFFECT, 0, WATER, 100, 40 + move DEFENSE_CURL, DEFENSE_UP1_EFFECT, 0, NORMAL, 100, 40 + move BARRIER, DEFENSE_UP2_EFFECT, 0, PSYCHIC, 100, 30 + move LIGHT_SCREEN, LIGHT_SCREEN_EFFECT, 0, PSYCHIC, 100, 30 + move HAZE, HAZE_EFFECT, 0, ICE, 100, 30 + move REFLECT, REFLECT_EFFECT, 0, PSYCHIC, 100, 20 + move FOCUS_ENERGY, FOCUS_ENERGY_EFFECT, 0, NORMAL, 100, 30 + move BIDE, BIDE_EFFECT, 0, NORMAL, 100, 10 + move METRONOME, METRONOME_EFFECT, 0, NORMAL, 100, 10 + move MIRROR_MOVE, MIRROR_MOVE_EFFECT, 0, FLYING, 100, 20 + move SELFDESTRUCT, EXPLODE_EFFECT, 130, NORMAL, 100, 5 + move EGG_BOMB, NO_ADDITIONAL_EFFECT, 100, NORMAL, 75, 10 + move LICK, PARALYZE_SIDE_EFFECT2, 20, GHOST, 100, 30 + move SMOG, POISON_SIDE_EFFECT2, 20, POISON, 70, 20 + move SLUDGE, POISON_SIDE_EFFECT2, 65, POISON, 100, 20 + move BONE_CLUB, FLINCH_SIDE_EFFECT1, 65, GROUND, 85, 20 + move FIRE_BLAST, BURN_SIDE_EFFECT2, 120, FIRE, 85, 5 + move WATERFALL, NO_ADDITIONAL_EFFECT, 80, WATER, 100, 15 + move CLAMP, TRAPPING_EFFECT, 35, WATER, 75, 10 + move SWIFT, SWIFT_EFFECT, 60, NORMAL, 100, 20 + move SKULL_BASH, CHARGE_EFFECT, 100, NORMAL, 100, 15 + move SPIKE_CANNON, TWO_TO_FIVE_ATTACKS_EFFECT, 20, NORMAL, 100, 15 + move CONSTRICT, SPEED_DOWN_SIDE_EFFECT, 10, NORMAL, 100, 35 + move AMNESIA, SPECIAL_UP2_EFFECT, 0, PSYCHIC, 100, 20 + move KINESIS, ACCURACY_DOWN1_EFFECT, 0, PSYCHIC, 80, 15 + move SOFTBOILED, HEAL_EFFECT, 0, NORMAL, 100, 10 + move HI_JUMP_KICK, JUMP_KICK_EFFECT, 85, FIGHTING, 90, 20 + move GLARE, PARALYZE_EFFECT, 0, NORMAL, 75, 30 + move DREAM_EATER, DREAM_EATER_EFFECT, 100, PSYCHIC, 100, 15 + move POISON_GAS, POISON_EFFECT, 0, POISON, 55, 40 + move BARRAGE, TWO_TO_FIVE_ATTACKS_EFFECT, 15, NORMAL, 85, 20 + move LEECH_LIFE, DRAIN_HP_EFFECT, 20, BUG, 100, 15 + move LOVELY_KISS, SLEEP_EFFECT, 0, NORMAL, 75, 10 + move SKY_ATTACK, CHARGE_EFFECT, 140, FLYING, 90, 5 + move TRANSFORM, TRANSFORM_EFFECT, 0, NORMAL, 100, 10 + move BUBBLE, SPEED_DOWN_SIDE_EFFECT, 20, WATER, 100, 30 + move DIZZY_PUNCH, NO_ADDITIONAL_EFFECT, 70, NORMAL, 100, 10 + move SPORE, SLEEP_EFFECT, 0, GRASS, 100, 15 + move FLASH, ACCURACY_DOWN1_EFFECT, 0, NORMAL, 70, 20 + move PSYWAVE, SPECIAL_DAMAGE_EFFECT, 1, PSYCHIC, 80, 15 + move SPLASH, SPLASH_EFFECT, 0, NORMAL, 100, 40 + move ACID_ARMOR, DEFENSE_UP2_EFFECT, 0, POISON, 100, 40 + move CRABHAMMER, NO_ADDITIONAL_EFFECT, 90, WATER, 85, 10 + move EXPLOSION, EXPLODE_EFFECT, 170, NORMAL, 100, 5 + move FURY_SWIPES, TWO_TO_FIVE_ATTACKS_EFFECT, 18, NORMAL, 80, 15 + move BONEMERANG, ATTACK_TWICE_EFFECT, 50, GROUND, 90, 10 + move REST, HEAL_EFFECT, 0, PSYCHIC, 100, 10 + move ROCK_SLIDE, NO_ADDITIONAL_EFFECT, 75, ROCK, 90, 10 + move HYPER_FANG, FLINCH_SIDE_EFFECT1, 80, NORMAL, 90, 15 + move SHARPEN, ATTACK_UP1_EFFECT, 0, NORMAL, 100, 30 + move CONVERSION, CONVERSION_EFFECT, 0, NORMAL, 100, 30 + move TRI_ATTACK, NO_ADDITIONAL_EFFECT, 80, NORMAL, 100, 10 + move SUPER_FANG, SUPER_FANG_EFFECT, 1, NORMAL, 90, 10 + move SLASH, NO_ADDITIONAL_EFFECT, 70, NORMAL, 100, 20 + move SUBSTITUTE, SUBSTITUTE_EFFECT, 0, NORMAL, 100, 10 + move STRUGGLE, RECOIL_EFFECT, 50, NORMAL, 100, 10 diff --git a/data/moves/names.asm b/data/moves/names.asm new file mode 100644 index 00000000..f8706ee3 --- /dev/null +++ b/data/moves/names.asm @@ -0,0 +1,167 @@ +MoveNames:: + db "POUND@" + db "KARATE CHOP@" + db "DOUBLESLAP@" + db "COMET PUNCH@" + db "MEGA PUNCH@" + db "PAY DAY@" + db "FIRE PUNCH@" + db "ICE PUNCH@" + db "THUNDERPUNCH@" + db "SCRATCH@" + db "VICEGRIP@" + db "GUILLOTINE@" + db "RAZOR WIND@" + db "SWORDS DANCE@" + db "CUT@" + db "GUST@" + db "WING ATTACK@" + db "WHIRLWIND@" + db "FLY@" + db "BIND@" + db "SLAM@" + db "VINE WHIP@" + db "STOMP@" + db "DOUBLE KICK@" + db "MEGA KICK@" + db "JUMP KICK@" + db "ROLLING KICK@" + db "SAND-ATTACK@" + db "HEADBUTT@" + db "HORN ATTACK@" + db "FURY ATTACK@" + db "HORN DRILL@" + db "TACKLE@" + db "BODY SLAM@" + db "WRAP@" + db "TAKE DOWN@" + db "THRASH@" + db "DOUBLE-EDGE@" + db "TAIL WHIP@" + db "POISON STING@" + db "TWINEEDLE@" + db "PIN MISSILE@" + db "LEER@" + db "BITE@" + db "GROWL@" + db "ROAR@" + db "SING@" + db "SUPERSONIC@" + db "SONICBOOM@" + db "DISABLE@" + db "ACID@" + db "EMBER@" + db "FLAMETHROWER@" + db "MIST@" + db "WATER GUN@" + db "HYDRO PUMP@" + db "SURF@" + db "ICE BEAM@" + db "BLIZZARD@" + db "PSYBEAM@" + db "BUBBLEBEAM@" + db "AURORA BEAM@" + db "HYPER BEAM@" + db "PECK@" + db "DRILL PECK@" + db "SUBMISSION@" + db "LOW KICK@" + db "COUNTER@" + db "SEISMIC TOSS@" + db "STRENGTH@" + db "ABSORB@" + db "MEGA DRAIN@" + db "LEECH SEED@" + db "GROWTH@" + db "RAZOR LEAF@" + db "SOLARBEAM@" + db "POISONPOWDER@" + db "STUN SPORE@" + db "SLEEP POWDER@" + db "PETAL DANCE@" + db "STRING SHOT@" + db "DRAGON RAGE@" + db "FIRE SPIN@" + db "THUNDERSHOCK@" + db "THUNDERBOLT@" + db "THUNDER WAVE@" + db "THUNDER@" + db "ROCK THROW@" + db "EARTHQUAKE@" + db "FISSURE@" + db "DIG@" + db "TOXIC@" + db "CONFUSION@" + db "PSYCHIC@" + db "HYPNOSIS@" + db "MEDITATE@" + db "AGILITY@" + db "QUICK ATTACK@" + db "RAGE@" + db "TELEPORT@" + db "NIGHT SHADE@" + db "MIMIC@" + db "SCREECH@" + db "DOUBLE TEAM@" + db "RECOVER@" + db "HARDEN@" + db "MINIMIZE@" + db "SMOKESCREEN@" + db "CONFUSE RAY@" + db "WITHDRAW@" + db "DEFENSE CURL@" + db "BARRIER@" + db "LIGHT SCREEN@" + db "HAZE@" + db "REFLECT@" + db "FOCUS ENERGY@" + db "BIDE@" + db "METRONOME@" + db "MIRROR MOVE@" + db "SELFDESTRUCT@" + db "EGG BOMB@" + db "LICK@" + db "SMOG@" + db "SLUDGE@" + db "BONE CLUB@" + db "FIRE BLAST@" + db "WATERFALL@" + db "CLAMP@" + db "SWIFT@" + db "SKULL BASH@" + db "SPIKE CANNON@" + db "CONSTRICT@" + db "AMNESIA@" + db "KINESIS@" + db "SOFTBOILED@" + db "HI JUMP KICK@" + db "GLARE@" + db "DREAM EATER@" + db "POISON GAS@" + db "BARRAGE@" + db "LEECH LIFE@" + db "LOVELY KISS@" + db "SKY ATTACK@" + db "TRANSFORM@" + db "BUBBLE@" + db "DIZZY PUNCH@" + db "SPORE@" + db "FLASH@" + db "PSYWAVE@" + db "SPLASH@" + db "ACID ARMOR@" + db "CRABHAMMER@" + db "EXPLOSION@" + db "FURY SWIPES@" + db "BONEMERANG@" + db "REST@" + db "ROCK SLIDE@" + db "HYPER FANG@" + db "SHARPEN@" + db "CONVERSION@" + db "TRI ATTACK@" + db "SUPER FANG@" + db "SLASH@" + db "SUBSTITUTE@" + db "STRUGGLE@" + diff --git a/data/moves/sfx.asm b/data/moves/sfx.asm new file mode 100644 index 00000000..28ad0b63 --- /dev/null +++ b/data/moves/sfx.asm @@ -0,0 +1,168 @@ +MoveSoundTable: + ; ID, pitch mod, tempo mod + db SFX_POUND, $00,$80 ; POUND + db SFX_BATTLE_0C, $10,$80 ; KARATE_CHOP + db SFX_DOUBLESLAP, $00,$80 ; DOUBLESLAP + db SFX_BATTLE_0B, $01,$80 ; COMET_PUNCH + db SFX_BATTLE_0D, $00,$40 ; MEGA_PUNCH + db SFX_SILPH_SCOPE, $00,$ff ; PAY_DAY + db SFX_BATTLE_0D, $10,$60 ; FIRE_PUNCH + db SFX_BATTLE_0D, $20,$80 ; ICE_PUNCH + db SFX_BATTLE_0D, $00,$a0 ; THUNDERPUNCH + db SFX_DAMAGE, $00,$80 ; SCRATCH + db SFX_BATTLE_0F, $20,$40 ; VICEGRIP + db SFX_BATTLE_0F, $00,$80 ; GUILLOTINE + db SFX_BATTLE_0E, $00,$a0 ; RAZOR_WIND + db SFX_NOT_VERY_EFFECTIVE,$10,$c0 ; SWORDS_DANCE + db SFX_NOT_VERY_EFFECTIVE,$00,$a0 ; CUT + db SFX_BATTLE_12, $00,$c0 ; GUST + db SFX_BATTLE_12, $10,$a0 ; WING_ATTACK + db SFX_BATTLE_13, $00,$e0 ; WHIRLWIND + db SFX_NOT_VERY_EFFECTIVE,$20,$c0 ; FLY + db SFX_BATTLE_14, $00,$80 ; BIND + db SFX_BATTLE_22, $00,$80 ; SLAM + db SFX_VINE_WHIP, $01,$80 ; VINE_WHIP + db SFX_BATTLE_20, $00,$80 ; STOMP + db SFX_BATTLE_17, $f0,$40 ; DOUBLE_KICK + db SFX_SUPER_EFFECTIVE, $00,$80 ; MEGA_KICK + db SFX_BATTLE_17, $00,$80 ; JUMP_KICK + db SFX_BATTLE_21, $10,$80 ; ROLLING_KICK + db SFX_BATTLE_1B, $01,$a0 ; SAND_ATTACK + db SFX_BATTLE_18, $00,$80 ; HEADBUTT + db SFX_BATTLE_1E, $00,$60 ; HORN_ATTACK + db SFX_BATTLE_1E, $01,$40 ; FURY_ATTACK + db SFX_HORN_DRILL, $00,$a0 ; HORN_DRILL + db SFX_SUPER_EFFECTIVE, $10,$a0 ; TACKLE + db SFX_BATTLE_20, $00,$c0 ; BODY_SLAM + db SFX_BATTLE_14, $10,$60 ; WRAP + db SFX_SUPER_EFFECTIVE, $00,$a0 ; TAKE_DOWN + db SFX_BATTLE_22, $11,$c0 ; THRASH + db SFX_SUPER_EFFECTIVE, $20,$c0 ; DOUBLE_EDGE + db SFX_BATTLE_21, $00,$80 ; TAIL_WHIP + db SFX_BATTLE_1B, $00,$80 ; POISON_STING + db SFX_BATTLE_1B, $20,$c0 ; TWINEEDLE + db SFX_BATTLE_19, $00,$80 ; PIN_MISSILE + db SFX_BATTLE_31, $ff,$40 ; LEER + db SFX_BATTLE_1E, $00,$80 ; BITE + db SFX_BATTLE_0B, $00,$c0 ; GROWL + db SFX_BATTLE_0B, $00,$40 ; ROAR + db SFX_BATTLE_35, $00,$80 ; SING + db SFX_BATTLE_27, $40,$60 ; SUPERSONIC + db SFX_BATTLE_27, $00,$80 ; SONICBOOM + db SFX_BATTLE_27, $ff,$40 ; DISABLE + db SFX_BATTLE_2A, $80,$c0 ; ACID + db SFX_BATTLE_19, $10,$a0 ; EMBER + db SFX_BATTLE_19, $21,$e0 ; FLAMETHROWER + db SFX_BATTLE_29, $00,$80 ; MIST + db SFX_BATTLE_24, $20,$60 ; WATER_GUN + db SFX_BATTLE_2A, $00,$80 ; HYDRO_PUMP + db SFX_BATTLE_2C, $00,$80 ; SURF + db SFX_BATTLE_28, $40,$80 ; ICE_BEAM + db SFX_BATTLE_29, $f0,$e0 ; BLIZZARD + db SFX_PSYBEAM, $00,$80 ; PSYBEAM + db SFX_BATTLE_2A, $f0,$60 ; BUBBLEBEAM + db SFX_BATTLE_28, $00,$80 ; AURORA_BEAM + db SFX_BATTLE_36, $00,$80 ; HYPER_BEAM + db SFX_PECK, $01,$a0 ; PECK + db SFX_BATTLE_13, $f0,$20 ; DRILL_PECK + db SFX_BATTLE_23, $01,$c0 ; SUBMISSION + db SFX_BATTLE_23, $00,$80 ; LOW_KICK + db SFX_SUPER_EFFECTIVE, $00,$e0 ; COUNTER + db SFX_BATTLE_26, $01,$60 ; SEISMIC_TOSS + db SFX_BATTLE_26, $20,$40 ; STRENGTH + db SFX_BATTLE_24, $00,$80 ; ABSORB + db SFX_BATTLE_24, $40,$c0 ; MEGA_DRAIN + db SFX_BATTLE_1B, $03,$60 ; LEECH_SEED + db SFX_BATTLE_25, $11,$e0 ; GROWTH + db SFX_BATTLE_12, $20,$e0 ; RAZOR_LEAF + db SFX_BATTLE_2E, $00,$80 ; SOLARBEAM + db SFX_BATTLE_1C, $00,$80 ; POISONPOWDER + db SFX_BATTLE_1C, $11,$a0 ; STUN_SPORE + db SFX_BATTLE_1C, $01,$c0 ; SLEEP_POWDER + db SFX_BATTLE_13, $14,$c0 ; PETAL_DANCE + db SFX_BATTLE_1B, $02,$a0 ; STRING_SHOT + db SFX_BATTLE_29, $f0,$80 ; DRAGON_RAGE + db SFX_BATTLE_29, $20,$c0 ; FIRE_SPIN + db SFX_BATTLE_2F, $00,$20 ; THUNDERSHOCK + db SFX_BATTLE_2F, $20,$80 ; THUNDERBOLT + db SFX_BATTLE_2E, $12,$60 ; THUNDER_WAVE + db SFX_BATTLE_26, $00,$80 ; THUNDER + db SFX_BATTLE_14, $01,$e0 ; ROCK_THROW + db SFX_BATTLE_29, $0f,$e0 ; EARTHQUAKE + db SFX_BATTLE_29, $11,$20 ; FISSURE + db SFX_DAMAGE, $10,$40 ; DIG + db SFX_BATTLE_0F, $10,$c0 ; TOXIC + db SFX_BATTLE_14, $00,$20 ; CONFUSION + db SFX_PSYCHIC_M, $00,$80 ; PSYCHIC_M + db SFX_BATTLE_35, $11,$18 ; HYPNOSIS + db SFX_BATTLE_09, $20,$c0 ; MEDITATE + db SFX_FAINT_FALL, $20,$c0 ; AGILITY + db SFX_BATTLE_25, $00,$10 ; QUICK_ATTACK + db SFX_BATTLE_26, $f0,$20 ; RAGE + db SFX_BATTLE_33, $f0,$c0 ; TELEPORT + db SFX_NOT_VERY_EFFECTIVE,$f0,$e0 ; NIGHT_SHADE + db SFX_BATTLE_09, $f0,$40 ; MIMIC + db SFX_BATTLE_31, $00,$80 ; SCREECH + db SFX_BATTLE_33, $80,$40 ; DOUBLE_TEAM + db SFX_BATTLE_33, $00,$80 ; RECOVER + db SFX_BATTLE_14, $11,$20 ; HARDEN + db SFX_BATTLE_14, $22,$10 ; MINIMIZE + db SFX_BATTLE_1B, $f1,$ff ; SMOKESCREEN + db SFX_BATTLE_13, $f1,$ff ; CONFUSE_RAY + db SFX_BATTLE_14, $33,$30 ; WITHDRAW + db SFX_BATTLE_32, $40,$c0 ; DEFENSE_CURL + db SFX_BATTLE_0E, $20,$20 ; BARRIER + db SFX_BATTLE_0E, $f0,$10 ; LIGHT_SCREEN + db SFX_BATTLE_0F, $f8,$10 ; HAZE + db SFX_NOT_VERY_EFFECTIVE,$f0,$10 ; REFLECT + db SFX_BATTLE_25, $00,$80 ; FOCUS_ENERGY + db SFX_BATTLE_18, $00,$c0 ; BIDE + db SFX_BATTLE_32, $c0,$ff ; METRONOME + db SFX_BATTLE_09, $f2,$20 ; MIRROR_MOVE + db SFX_BATTLE_34, $00,$80 ; SELFDESTRUCT + db SFX_BATTLE_34, $00,$40 ; EGG_BOMB + db SFX_BATTLE_09, $00,$40 ; LICK + db SFX_NOT_VERY_EFFECTIVE,$10,$ff ; SMOG + db SFX_BATTLE_2A, $20,$20 ; SLUDGE + db SFX_BATTLE_32, $00,$80 ; BONE_CLUB + db SFX_BATTLE_29, $1f,$20 ; FIRE_BLAST + db SFX_BATTLE_25, $2f,$80 ; WATERFALL + db SFX_BATTLE_0F, $1f,$ff ; CLAMP + db SFX_BATTLE_2B, $1f,$60 ; SWIFT + db SFX_BATTLE_26, $1e,$20 ; SKULL_BASH + db SFX_BATTLE_26, $1f,$18 ; SPIKE_CANNON + db SFX_BATTLE_14, $0f,$80 ; CONSTRICT + db SFX_BATTLE_09, $f8,$10 ; AMNESIA + db SFX_FAINT_FALL, $18,$20 ; KINESIS + db SFX_BATTLE_32, $08,$40 ; SOFTBOILED + db SFX_BATTLE_17, $01,$e0 ; HI_JUMP_KICK + db SFX_NOT_VERY_EFFECTIVE,$09,$ff ; GLARE + db SFX_BATTLE_35, $42,$01 ; DREAM_EATER + db SFX_BATTLE_1C, $00,$ff ; POISON_GAS + db SFX_BATTLE_32, $08,$e0 ; BARRAGE + db SFX_BATTLE_24, $00,$80 ; LEECH_LIFE + db SFX_BATTLE_09, $88,$10 ; LOVELY_KISS + db SFX_BATTLE_25, $48,$ff ; SKY_ATTACK + db SFX_FAINT_FALL, $ff,$ff ; TRANSFORM + db SFX_BATTLE_24, $ff,$10 ; BUBBLE + db SFX_FAINT_FALL, $ff,$04 ; DIZZY_PUNCH + db SFX_BATTLE_1C, $01,$ff ; SPORE + db SFX_BATTLE_13, $f8,$ff ; FLASH + db SFX_BATTLE_0C, $f0,$f0 ; PSYWAVE + db SFX_BATTLE_0F, $08,$10 ; SPLASH + db SFX_BATTLE_0D, $f0,$ff ; ACID_ARMOR + db SFX_SUPER_EFFECTIVE, $f0,$ff ; CRABHAMMER + db SFX_BATTLE_34, $10,$ff ; EXPLOSION + db SFX_BATTLE_0E, $f0,$20 ; FURY_SWIPES + db SFX_BATTLE_2B, $f0,$60 ; BONEMERANG + db SFX_BATTLE_21, $12,$10 ; REST + db SFX_BATTLE_36, $f0,$20 ; ROCK_SLIDE + db SFX_BATTLE_1E, $12,$ff ; HYPER_FANG + db SFX_BATTLE_31, $80,$04 ; SHARPEN + db SFX_BATTLE_33, $f0,$10 ; CONVERSION + db SFX_BATTLE_29, $f8,$ff ; TRI_ATTACK + db SFX_BATTLE_26, $f0,$ff ; SUPER_FANG + db SFX_NOT_VERY_EFFECTIVE,$01,$ff ; SLASH + db SFX_BATTLE_2C, $d8,$04 ; SUBSTITUTE + db SFX_BATTLE_0B, $00,$80 ; STRUGGLE + db SFX_BATTLE_0B, $00,$80 diff --git a/data/moves/tmhm_moves.asm b/data/moves/tmhm_moves.asm new file mode 100755 index 00000000..23c1685e --- /dev/null +++ b/data/moves/tmhm_moves.asm @@ -0,0 +1,56 @@ +TechnicalMachines: + db MEGA_PUNCH + db RAZOR_WIND + db SWORDS_DANCE + db WHIRLWIND + db MEGA_KICK + db TOXIC + db HORN_DRILL + db BODY_SLAM + db TAKE_DOWN + db DOUBLE_EDGE + db BUBBLEBEAM + db WATER_GUN + db ICE_BEAM + db BLIZZARD + db HYPER_BEAM + db PAY_DAY + db SUBMISSION + db COUNTER + db SEISMIC_TOSS + db RAGE + db MEGA_DRAIN + db SOLARBEAM + db DRAGON_RAGE + db THUNDERBOLT + db THUNDER + db EARTHQUAKE + db FISSURE + db DIG + db PSYCHIC_M + db TELEPORT + db MIMIC + db DOUBLE_TEAM + db REFLECT + db BIDE + db METRONOME + db SELFDESTRUCT + db EGG_BOMB + db FIRE_BLAST + db SWIFT + db SKULL_BASH + db SOFTBOILED + db DREAM_EATER + db SKY_ATTACK + db REST + db THUNDER_WAVE + db PSYWAVE + db EXPLOSION + db ROCK_SLIDE + db TRI_ATTACK + db SUBSTITUTE + db CUT + db FLY + db SURF + db STRENGTH + db FLASH diff --git a/data/overworld_items.asm b/data/overworld_items.asm deleted file mode 100644 index c2c244fe..00000000 --- a/data/overworld_items.asm +++ /dev/null @@ -1,9 +0,0 @@ -; items which close the item menu when used -UsableItems_CloseMenu: - db ESCAPE_ROPE - db ITEMFINDER - db POKE_FLUTE - db OLD_ROD - db GOOD_ROD - db SUPER_ROD - db $ff diff --git a/data/party_items.asm b/data/party_items.asm deleted file mode 100644 index 0126ed5e..00000000 --- a/data/party_items.asm +++ /dev/null @@ -1,39 +0,0 @@ -; items which bring up the party menu when used -UsableItems_PartyMenu: - db MOON_STONE - db ANTIDOTE - db BURN_HEAL - db ICE_HEAL - db AWAKENING - db PARLYZ_HEAL - db FULL_RESTORE - db MAX_POTION - db HYPER_POTION - db SUPER_POTION - db POTION - db FIRE_STONE - db THUNDER_STONE - db WATER_STONE - db HP_UP - db PROTEIN - db IRON - db CARBOS - db CALCIUM - db RARE_CANDY - db LEAF_STONE - db FULL_HEAL - db REVIVE - db MAX_REVIVE - db FRESH_WATER - db SODA_POP - db LEMONADE - db X_ATTACK - db X_DEFEND - db X_SPEED - db X_SPECIAL - db PP_UP - db ETHER - db MAX_ETHER - db ELIXER - db MAX_ELIXER - db $ff diff --git a/data/player_names.asm b/data/player_names.asm new file mode 100644 index 00000000..f57c9877 --- /dev/null +++ b/data/player_names.asm @@ -0,0 +1,31 @@ +IF DEF(_RED) +DefaultNamesPlayer: + db "NEW NAME" + next "RED" + next "ASH" + next "JACK" + db "@" + +DefaultNamesRival: + db "NEW NAME" + next "BLUE" + next "GARY" + next "JOHN" + db "@" +ENDC + +IF DEF(_BLUE) +DefaultNamesPlayer: + db "NEW NAME" + next "BLUE" + next "GARY" + next "JOHN" + db "@" + +DefaultNamesRival: + db "NEW NAME" + next "RED" + next "ASH" + next "JACK" + db "@" +ENDC diff --git a/data/player_names_list.asm b/data/player_names_list.asm new file mode 100644 index 00000000..56075df0 --- /dev/null +++ b/data/player_names_list.asm @@ -0,0 +1,27 @@ +IF DEF(_RED) +DefaultNamesPlayerList: + db "NEW NAME@" + db "RED@" + db "ASH@" + db "JACK@" + +DefaultNamesRivalList: + db "NEW NAME@" + db "BLUE@" + db "GARY@" + db "JOHN@" +ENDC + +IF DEF(_BLUE) +DefaultNamesPlayerList: + db "NEW NAME@" + db "BLUE@" + db "GARY@" + db "JOHN@" + +DefaultNamesRivalList: + db "NEW NAME@" + db "RED@" + db "ASH@" + db "JACK@" +ENDC diff --git a/data/pokedex_entries.asm b/data/pokedex_entries.asm deleted file mode 100755 index 495a8e33..00000000 --- a/data/pokedex_entries.asm +++ /dev/null @@ -1,1259 +0,0 @@ -PokedexEntryPointers: - dw RhydonDexEntry - dw KangaskhanDexEntry - dw NidoranMDexEntry - dw ClefairyDexEntry - dw SpearowDexEntry - dw VoltorbDexEntry - dw NidokingDexEntry - dw SlowbroDexEntry - dw IvysaurDexEntry - dw ExeggutorDexEntry - dw LickitungDexEntry - dw ExeggcuteDexEntry - dw GrimerDexEntry - dw GengarDexEntry - dw NidoranFDexEntry - dw NidoqueenDexEntry - dw CuboneDexEntry - dw RhyhornDexEntry - dw LaprasDexEntry - dw ArcanineDexEntry - dw MewDexEntry - dw GyaradosDexEntry - dw ShellderDexEntry - dw TentacoolDexEntry - dw GastlyDexEntry - dw ScytherDexEntry - dw StaryuDexEntry - dw BlastoiseDexEntry - dw PinsirDexEntry - dw TangelaDexEntry - dw MissingNoDexEntry - dw MissingNoDexEntry - dw GrowlitheDexEntry - dw OnixDexEntry - dw FearowDexEntry - dw PidgeyDexEntry - dw SlowpokeDexEntry - dw KadabraDexEntry - dw GravelerDexEntry - dw ChanseyDexEntry - dw MachokeDexEntry - dw MrMimeDexEntry - dw HitmonleeDexEntry - dw HitmonchanDexEntry - dw ArbokDexEntry - dw ParasectDexEntry - dw PsyduckDexEntry - dw DrowzeeDexEntry - dw GolemDexEntry - dw MissingNoDexEntry - dw MagmarDexEntry - dw MissingNoDexEntry - dw ElectabuzzDexEntry - dw MagnetonDexEntry - dw KoffingDexEntry - dw MissingNoDexEntry - dw MankeyDexEntry - dw SeelDexEntry - dw DiglettDexEntry - dw TaurosDexEntry - dw MissingNoDexEntry - dw MissingNoDexEntry - dw MissingNoDexEntry - dw FarfetchdDexEntry - dw VenonatDexEntry - dw DragoniteDexEntry - dw MissingNoDexEntry - dw MissingNoDexEntry - dw MissingNoDexEntry - dw DoduoDexEntry - dw PoliwagDexEntry - dw JynxDexEntry - dw MoltresDexEntry - dw ArticunoDexEntry - dw ZapdosDexEntry - dw DittoDexEntry - dw MeowthDexEntry - dw KrabbyDexEntry - dw MissingNoDexEntry - dw MissingNoDexEntry - dw MissingNoDexEntry - dw VulpixDexEntry - dw NinetalesDexEntry - dw PikachuDexEntry - dw RaichuDexEntry - dw MissingNoDexEntry - dw MissingNoDexEntry - dw DratiniDexEntry - dw DragonairDexEntry - dw KabutoDexEntry - dw KabutopsDexEntry - dw HorseaDexEntry - dw SeadraDexEntry - dw MissingNoDexEntry - dw MissingNoDexEntry - dw SandshrewDexEntry - dw SandslashDexEntry - dw OmanyteDexEntry - dw OmastarDexEntry - dw JigglypuffDexEntry - dw WigglytuffDexEntry - dw EeveeDexEntry - dw FlareonDexEntry - dw JolteonDexEntry - dw VaporeonDexEntry - dw MachopDexEntry - dw ZubatDexEntry - dw EkansDexEntry - dw ParasDexEntry - dw PoliwhirlDexEntry - dw PoliwrathDexEntry - dw WeedleDexEntry - dw KakunaDexEntry - dw BeedrillDexEntry - dw MissingNoDexEntry - dw DodrioDexEntry - dw PrimeapeDexEntry - dw DugtrioDexEntry - dw VenomothDexEntry - dw DewgongDexEntry - dw MissingNoDexEntry - dw MissingNoDexEntry - dw CaterpieDexEntry - dw MetapodDexEntry - dw ButterfreeDexEntry - dw MachampDexEntry - dw MissingNoDexEntry - dw GolduckDexEntry - dw HypnoDexEntry - dw GolbatDexEntry - dw MewtwoDexEntry - dw SnorlaxDexEntry - dw MagikarpDexEntry - dw MissingNoDexEntry - dw MissingNoDexEntry - dw MukDexEntry - dw MissingNoDexEntry - dw KinglerDexEntry - dw CloysterDexEntry - dw MissingNoDexEntry - dw ElectrodeDexEntry - dw ClefableDexEntry - dw WeezingDexEntry - dw PersianDexEntry - dw MarowakDexEntry - dw MissingNoDexEntry - dw HaunterDexEntry - dw AbraDexEntry - dw AlakazamDexEntry - dw PidgeottoDexEntry - dw PidgeotDexEntry - dw StarmieDexEntry - dw BulbasaurDexEntry - dw VenusaurDexEntry - dw TentacruelDexEntry - dw MissingNoDexEntry - dw GoldeenDexEntry - dw SeakingDexEntry - dw MissingNoDexEntry - dw MissingNoDexEntry - dw MissingNoDexEntry - dw MissingNoDexEntry - dw PonytaDexEntry - dw RapidashDexEntry - dw RattataDexEntry - dw RaticateDexEntry - dw NidorinoDexEntry - dw NidorinaDexEntry - dw GeodudeDexEntry - dw PorygonDexEntry - dw AerodactylDexEntry - dw MissingNoDexEntry - dw MagnemiteDexEntry - dw MissingNoDexEntry - dw MissingNoDexEntry - dw CharmanderDexEntry - dw SquirtleDexEntry - dw CharmeleonDexEntry - dw WartortleDexEntry - dw CharizardDexEntry - dw MissingNoDexEntry - dw MissingNoDexEntry - dw MissingNoDexEntry - dw MissingNoDexEntry - dw OddishDexEntry - dw GloomDexEntry - dw VileplumeDexEntry - dw BellsproutDexEntry - dw WeepinbellDexEntry - dw VictreebelDexEntry - -; string: species name -; height in feet, inches -; weight in pounds -; text entry - -RhydonDexEntry: - db "DRILL@" - db 6,3 - dw 2650 - TX_FAR _RhydonDexEntry - db "@" - -KangaskhanDexEntry: - db "PARENT@" - db 7,3 - dw 1760 - TX_FAR _KangaskhanDexEntry - db "@" - -NidoranMDexEntry: - db "POISON PIN@" - db 1,8 - dw 200 - TX_FAR _NidoranMDexEntry - db "@" - -ClefairyDexEntry: - db "FAIRY@" - db 2,0 - dw 170 - TX_FAR _ClefairyDexEntry - db "@" - -SpearowDexEntry: - db "TINY BIRD@" - db 1,0 - dw 40 - TX_FAR _SpearowDexEntry - db "@" - -VoltorbDexEntry: - db "BALL@" - db 1,8 - dw 230 - TX_FAR _VoltorbDexEntry - db "@" - -NidokingDexEntry: - db "DRILL@" - db 4,7 - dw 1370 - TX_FAR _NidokingDexEntry - db "@" - -SlowbroDexEntry: - db "HERMITCRAB@" - db 5,3 - dw 1730 - TX_FAR _SlowbroDexEntry - db "@" - -IvysaurDexEntry: - db "SEED@" - db 3,3 - dw 290 - TX_FAR _IvysaurDexEntry - db "@" - -ExeggutorDexEntry: - db "COCONUT@" - db 6,7 - dw 2650 - TX_FAR _ExeggutorDexEntry - db "@" - -LickitungDexEntry: - db "LICKING@" - db 3,11 - dw 1440 - TX_FAR _LickitungDexEntry - db "@" - -ExeggcuteDexEntry: - db "EGG@" - db 1,4 - dw 60 - TX_FAR _ExeggcuteDexEntry - db "@" - -GrimerDexEntry: - db "SLUDGE@" - db 2,11 - dw 660 - TX_FAR _GrimerDexEntry - db "@" - -GengarDexEntry: - db "SHADOW@" - db 4,11 - dw 890 - TX_FAR _GengarDexEntry - db "@" - -NidoranFDexEntry: - db "POISON PIN@" - db 1,4 - dw 150 - TX_FAR _NidoranFDexEntry - db "@" - -NidoqueenDexEntry: - db "DRILL@" - db 4,3 - dw 1320 - TX_FAR _NidoqueenDexEntry - db "@" - -CuboneDexEntry: - db "LONELY@" - db 1,4 - dw 140 - TX_FAR _CuboneDexEntry - db "@" - -RhyhornDexEntry: - db "SPIKES@" - db 3,3 - dw 2540 - TX_FAR _RhyhornDexEntry - db "@" - -LaprasDexEntry: - db "TRANSPORT@" - db 8,2 - dw 4850 - TX_FAR _LaprasDexEntry - db "@" - -ArcanineDexEntry: - db "LEGENDARY@" - db 6,3 - dw 3420 - TX_FAR _ArcanineDexEntry - db "@" - -MewDexEntry: - db "NEW SPECIE@" - db 1,4 - dw 90 - TX_FAR _MewDexEntry - db "@" - -GyaradosDexEntry: - db "ATROCIOUS@" - db 21,4 - dw 5180 - TX_FAR _GyaradosDexEntry - db "@" - -ShellderDexEntry: - db "BIVALVE@" - db 1,0 - dw 90 - TX_FAR _ShellderDexEntry - db "@" - -TentacoolDexEntry: - db "JELLYFISH@" - db 2,11 - dw 1000 - TX_FAR _TentacoolDexEntry - db "@" - -GastlyDexEntry: - db "GAS@" - db 4,3 - dw 2 - TX_FAR _GastlyDexEntry - db "@" - -ScytherDexEntry: - db "MANTIS@" - db 4,11 - dw 1230 - TX_FAR _ScytherDexEntry - db "@" - -StaryuDexEntry: - db "STARSHAPE@" - db 2,7 - dw 760 - TX_FAR _StaryuDexEntry - db "@" - -BlastoiseDexEntry: - db "SHELLFISH@" - db 5,3 - dw 1890 - TX_FAR _BlastoiseDexEntry - db "@" - -PinsirDexEntry: - db "STAGBEETLE@" - db 4,11 - dw 1210 - TX_FAR _PinsirDexEntry - db "@" - -TangelaDexEntry: - db "VINE@" - db 3,3 - dw 770 - TX_FAR _TangelaDexEntry - db "@" - -GrowlitheDexEntry: - db "PUPPY@" - db 2,4 - dw 420 - TX_FAR _GrowlitheDexEntry - db "@" - -OnixDexEntry: - db "ROCK SNAKE@" - db 28,10 - dw 4630 - TX_FAR _OnixDexEntry - db "@" - -FearowDexEntry: - db "BEAK@" - db 3,11 - dw 840 - TX_FAR _FearowDexEntry - db "@" - -PidgeyDexEntry: - db "TINY BIRD@" - db 1,0 - dw 40 - TX_FAR _PidgeyDexEntry - db "@" - -SlowpokeDexEntry: - db "DOPEY@" - db 3,11 - dw 790 - TX_FAR _SlowpokeDexEntry - db "@" - -KadabraDexEntry: - db "PSI@" - db 4,3 - dw 1250 - TX_FAR _KadabraDexEntry - db "@" - -GravelerDexEntry: - db "ROCK@" - db 3,3 - dw 2320 - TX_FAR _GravelerDexEntry - db "@" - -ChanseyDexEntry: - db "EGG@" - db 3,7 - dw 760 - TX_FAR _ChanseyDexEntry - db "@" - -MachokeDexEntry: - db "SUPERPOWER@" - db 4,11 - dw 1550 - TX_FAR _MachokeDexEntry - db "@" - -MrMimeDexEntry: - db "BARRIER@" - db 4,3 - dw 1200 - TX_FAR _MrMimeDexEntry - db "@" - -HitmonleeDexEntry: - db "KICKING@" - db 4,11 - dw 1100 - TX_FAR _HitmonleeDexEntry - db "@" - -HitmonchanDexEntry: - db "PUNCHING@" - db 4,7 - dw 1110 - TX_FAR _HitmonchanDexEntry - db "@" - -ArbokDexEntry: - db "COBRA@" - db 11,6 - dw 1430 - TX_FAR _ArbokDexEntry - db "@" - -ParasectDexEntry: - db "MUSHROOM@" - db 3,3 - dw 650 - TX_FAR _ParasectDexEntry - db "@" - -PsyduckDexEntry: - db "DUCK@" - db 2,7 - dw 430 - TX_FAR _PsyduckDexEntry - db "@" - -DrowzeeDexEntry: - db "HYPNOSIS@" - db 3,3 - dw 710 - TX_FAR _DrowzeeDexEntry - db "@" - -GolemDexEntry: - db "MEGATON@" - db 4,7 - dw 6620 - TX_FAR _GolemDexEntry - db "@" - -MagmarDexEntry: - db "SPITFIRE@" - db 4,3 - dw 980 - TX_FAR _MagmarDexEntry - db "@" - -ElectabuzzDexEntry: - db "ELECTRIC@" - db 3,7 - dw 660 - TX_FAR _ElectabuzzDexEntry - db "@" - -MagnetonDexEntry: - db "MAGNET@" - db 3,3 - dw 1320 - TX_FAR _MagnetonDexEntry - db "@" - -KoffingDexEntry: - db "POISON GAS@" - db 2,0 - dw 20 - TX_FAR _KoffingDexEntry - db "@" - -MankeyDexEntry: - db "PIG MONKEY@" - db 1,8 - dw 620 - TX_FAR _MankeyDexEntry - db "@" - -SeelDexEntry: - db "SEA LION@" - db 3,7 - dw 1980 - TX_FAR _SeelDexEntry - db "@" - -DiglettDexEntry: - db "MOLE@" - db 0,8 - dw 20 - TX_FAR _DiglettDexEntry - db "@" - -TaurosDexEntry: - db "WILD BULL@" - db 4,7 - dw 1950 - TX_FAR _TaurosDexEntry - db "@" - -FarfetchdDexEntry: - db "WILD DUCK@" - db 2,7 - dw 330 - TX_FAR _FarfetchdDexEntry - db "@" - -VenonatDexEntry: - db "INSECT@" - db 3,3 - dw 660 - TX_FAR _VenonatDexEntry - db "@" - -DragoniteDexEntry: - db "DRAGON@" - db 7,3 - dw 4630 - TX_FAR _DragoniteDexEntry - db "@" - -DoduoDexEntry: - db "TWIN BIRD@" - db 4,7 - dw 860 - TX_FAR _DoduoDexEntry - db "@" - -PoliwagDexEntry: - db "TADPOLE@" - db 2,0 - dw 270 - TX_FAR _PoliwagDexEntry - db "@" - -JynxDexEntry: - db "HUMANSHAPE@" - db 4,7 - dw 900 - TX_FAR _JynxDexEntry - db "@" - -MoltresDexEntry: - db "FLAME@" - db 6,7 - dw 1320 - TX_FAR _MoltresDexEntry - db "@" - -ArticunoDexEntry: - db "FREEZE@" - db 5,7 - dw 1220 - TX_FAR _ArticunoDexEntry - db "@" - -ZapdosDexEntry: - db "ELECTRIC@" - db 5,3 - dw 1160 - TX_FAR _ZapdosDexEntry - db "@" - -DittoDexEntry: - db "TRANSFORM@" - db 1,0 - dw 90 - TX_FAR _DittoDexEntry - db "@" - -MeowthDexEntry: - db "SCRATCHCAT@" - db 1,4 - dw 90 - TX_FAR _MeowthDexEntry - db "@" - -KrabbyDexEntry: - db "RIVER CRAB@" - db 1,4 - dw 140 - TX_FAR _KrabbyDexEntry - db "@" - -VulpixDexEntry: - db "FOX@" - db 2,0 - dw 220 - TX_FAR _VulpixDexEntry - db "@" - -NinetalesDexEntry: - db "FOX@" - db 3,7 - dw 440 - TX_FAR _NinetalesDexEntry - db "@" - -PikachuDexEntry: - db "MOUSE@" - db 1,4 - dw 130 - TX_FAR _PikachuDexEntry - db "@" - -RaichuDexEntry: - db "MOUSE@" - db 2,7 - dw 660 - TX_FAR _RaichuDexEntry - db "@" - -DratiniDexEntry: - db "DRAGON@" - db 5,11 - dw 70 - TX_FAR _DratiniDexEntry - db "@" - -DragonairDexEntry: - db "DRAGON@" - db 13,1 - dw 360 - TX_FAR _DragonairDexEntry - db "@" - -KabutoDexEntry: - db "SHELLFISH@" - db 1,8 - dw 250 - TX_FAR _KabutoDexEntry - db "@" - -KabutopsDexEntry: - db "SHELLFISH@" - db 4,3 - dw 890 - TX_FAR _KabutopsDexEntry - db "@" - -HorseaDexEntry: - db "DRAGON@" - db 1,4 - dw 180 - TX_FAR _HorseaDexEntry - db "@" - -SeadraDexEntry: - db "DRAGON@" - db 3,11 - dw 550 - TX_FAR _SeadraDexEntry - db "@" - -SandshrewDexEntry: - db "MOUSE@" - db 2,0 - dw 260 - TX_FAR _SandshrewDexEntry - db "@" - -SandslashDexEntry: - db "MOUSE@" - db 3,3 - dw 650 - TX_FAR _SandslashDexEntry - db "@" - -OmanyteDexEntry: - db "SPIRAL@" - db 1,4 - dw 170 - TX_FAR _OmanyteDexEntry - db "@" - -OmastarDexEntry: - db "SPIRAL@" - db 3,3 - dw 770 - TX_FAR _OmastarDexEntry - db "@" - -JigglypuffDexEntry: - db "BALLOON@" - db 1,8 - dw 120 - TX_FAR _JigglypuffDexEntry - db "@" - -WigglytuffDexEntry: - db "BALLOON@" - db 3,3 - dw 260 - TX_FAR _WigglytuffDexEntry - db "@" - -EeveeDexEntry: - db "EVOLUTION@" - db 1,0 - dw 140 - TX_FAR _EeveeDexEntry - db "@" - -FlareonDexEntry: - db "FLAME@" - db 2,11 - dw 550 - TX_FAR _FlareonDexEntry - db "@" - -JolteonDexEntry: - db "LIGHTNING@" - db 2,7 - dw 540 - TX_FAR _JolteonDexEntry - db "@" - -VaporeonDexEntry: - db "BUBBLE JET@" - db 3,3 - dw 640 - TX_FAR _VaporeonDexEntry - db "@" - -MachopDexEntry: - db "SUPERPOWER@" - db 2,7 - dw 430 - TX_FAR _MachopDexEntry - db "@" - -ZubatDexEntry: - db "BAT@" - db 2,7 - dw 170 - TX_FAR _ZubatDexEntry - db "@" - -EkansDexEntry: - db "SNAKE@" - db 6,7 - dw 150 - TX_FAR _EkansDexEntry - db "@" - -ParasDexEntry: - db "MUSHROOM@" - db 1,0 - dw 120 - TX_FAR _ParasDexEntry - db "@" - -PoliwhirlDexEntry: - db "TADPOLE@" - db 3,3 - dw 440 - TX_FAR _PoliwhirlDexEntry - db "@" - -PoliwrathDexEntry: - db "TADPOLE@" - db 4,3 - dw 1190 - TX_FAR _PoliwrathDexEntry - db "@" - -WeedleDexEntry: - db "HAIRY BUG@" - db 1,0 - dw 70 - TX_FAR _WeedleDexEntry - db "@" - -KakunaDexEntry: - db "COCOON@" - db 2,0 - dw 220 - TX_FAR _KakunaDexEntry - db "@" - -BeedrillDexEntry: - db "POISON BEE@" - db 3,3 - dw 650 - TX_FAR _BeedrillDexEntry - db "@" - -DodrioDexEntry: - db "TRIPLEBIRD@" - db 5,11 - dw 1880 - TX_FAR _DodrioDexEntry - db "@" - -PrimeapeDexEntry: - db "PIG MONKEY@" - db 3,3 - dw 710 - TX_FAR _PrimeapeDexEntry - db "@" - -DugtrioDexEntry: - db "MOLE@" - db 2,4 - dw 730 - TX_FAR _DugtrioDexEntry - db "@" - -VenomothDexEntry: - db "POISONMOTH@" - db 4,11 - dw 280 - TX_FAR _VenomothDexEntry - db "@" - -DewgongDexEntry: - db "SEA LION@" - db 5,7 - dw 2650 - TX_FAR _DewgongDexEntry - db "@" - -CaterpieDexEntry: - db "WORM@" - db 1,0 - dw 60 - TX_FAR _CaterpieDexEntry - db "@" - -MetapodDexEntry: - db "COCOON@" - db 2,4 - dw 220 - TX_FAR _MetapodDexEntry - db "@" - -ButterfreeDexEntry: - db "BUTTERFLY@" - db 3,7 - dw 710 - TX_FAR _ButterfreeDexEntry - db "@" - -MachampDexEntry: - db "SUPERPOWER@" - db 5,3 - dw 2870 - TX_FAR _MachampDexEntry - db "@" - -GolduckDexEntry: - db "DUCK@" - db 5,7 - dw 1690 - TX_FAR _GolduckDexEntry - db "@" - -HypnoDexEntry: - db "HYPNOSIS@" - db 5,3 - dw 1670 - TX_FAR _HypnoDexEntry - db "@" - -GolbatDexEntry: - db "BAT@" - db 5,3 - dw 1210 - TX_FAR _GolbatDexEntry - db "@" - -MewtwoDexEntry: - db "GENETIC@" - db 6,7 - dw 2690 - TX_FAR _MewtwoDexEntry - db "@" - -SnorlaxDexEntry: - db "SLEEPING@" - db 6,11 - dw 10140 - TX_FAR _SnorlaxDexEntry - db "@" - -MagikarpDexEntry: - db "FISH@" - db 2,11 - dw 220 - TX_FAR _MagikarpDexEntry - db "@" - -MukDexEntry: - db "SLUDGE@" - db 3,11 - dw 660 - TX_FAR _MukDexEntry - db "@" - -KinglerDexEntry: - db "PINCER@" - db 4,3 - dw 1320 - TX_FAR _KinglerDexEntry - db "@" - -CloysterDexEntry: - db "BIVALVE@" - db 4,11 - dw 2920 - TX_FAR _CloysterDexEntry - db "@" - -ElectrodeDexEntry: - db "BALL@" - db 3,11 - dw 1470 - TX_FAR _ElectrodeDexEntry - db "@" - -ClefableDexEntry: - db "FAIRY@" - db 4,3 - dw 880 - TX_FAR _ClefableDexEntry - db "@" - -WeezingDexEntry: - db "POISON GAS@" - db 3,11 - dw 210 - TX_FAR _WeezingDexEntry - db "@" - -PersianDexEntry: - db "CLASSY CAT@" - db 3,3 - dw 710 - TX_FAR _PersianDexEntry - db "@" - -MarowakDexEntry: - db "BONEKEEPER@" - db 3,3 - dw 990 - TX_FAR _MarowakDexEntry - db "@" - -HaunterDexEntry: - db "GAS@" - db 5,3 - dw 2 - TX_FAR _HaunterDexEntry - db "@" - -AbraDexEntry: - db "PSI@" - db 2,11 - dw 430 - TX_FAR _AbraDexEntry - db "@" - -AlakazamDexEntry: - db "PSI@" - db 4,11 - dw 1060 - TX_FAR _AlakazamDexEntry - db "@" - -PidgeottoDexEntry: - db "BIRD@" - db 3,7 - dw 660 - TX_FAR _PidgeottoDexEntry - db "@" - -PidgeotDexEntry: - db "BIRD@" - db 4,11 - dw 870 - TX_FAR _PidgeotDexEntry - db "@" - -StarmieDexEntry: - db "MYSTERIOUS@" - db 3,7 - dw 1760 - TX_FAR _StarmieDexEntry - db "@" - -BulbasaurDexEntry: - db "SEED@" - db 2,4 - dw 150 - TX_FAR _BulbasaurDexEntry - db "@" - -VenusaurDexEntry: - db "SEED@" - db 6,7 - dw 2210 - TX_FAR _VenusaurDexEntry - db "@" - -TentacruelDexEntry: - db "JELLYFISH@" - db 5,3 - dw 1210 - TX_FAR _TentacruelDexEntry - db "@" - -GoldeenDexEntry: - db "GOLDFISH@" - db 2,0 - dw 330 - TX_FAR _GoldeenDexEntry - db "@" - -SeakingDexEntry: - db "GOLDFISH@" - db 4,3 - dw 860 - TX_FAR _SeakingDexEntry - db "@" - -PonytaDexEntry: - db "FIRE HORSE@" - db 3,3 - dw 660 - TX_FAR _PonytaDexEntry - db "@" - -RapidashDexEntry: - db "FIRE HORSE@" - db 5,7 - dw 2090 - TX_FAR _RapidashDexEntry - db "@" - -RattataDexEntry: - db "RAT@" - db 1,0 - dw 80 - TX_FAR _RattataDexEntry - db "@" - -RaticateDexEntry: - db "RAT@" - db 2,4 - dw 410 - TX_FAR _RaticateDexEntry - db "@" - -NidorinoDexEntry: - db "POISON PIN@" - db 2,11 - dw 430 - TX_FAR _NidorinoDexEntry - db "@" - -NidorinaDexEntry: - db "POISON PIN@" - db 2,7 - dw 440 - TX_FAR _NidorinaDexEntry - db "@" - -GeodudeDexEntry: - db "ROCK@" - db 1,4 - dw 440 - TX_FAR _GeodudeDexEntry - db "@" - -PorygonDexEntry: - db "VIRTUAL@" - db 2,7 - dw 800 - TX_FAR _PorygonDexEntry - db "@" - -AerodactylDexEntry: - db "FOSSIL@" - db 5,11 - dw 1300 - TX_FAR _AerodactylDexEntry - db "@" - -MagnemiteDexEntry: - db "MAGNET@" - db 1,0 - dw 130 - TX_FAR _MagnemiteDexEntry - db "@" - -CharmanderDexEntry: - db "LIZARD@" - db 2,0 - dw 190 - TX_FAR _CharmanderDexEntry - db "@" - -SquirtleDexEntry: - db "TINYTURTLE@" - db 1,8 - dw 200 - TX_FAR _SquirtleDexEntry - db "@" - -CharmeleonDexEntry: - db "FLAME@" - db 3,7 - dw 420 - TX_FAR _CharmeleonDexEntry - db "@" - -WartortleDexEntry: - db "TURTLE@" - db 3,3 - dw 500 - TX_FAR _WartortleDexEntry - db "@" - -CharizardDexEntry: - db "FLAME@" - db 5,7 - dw 2000 - TX_FAR _CharizardDexEntry - db "@" - -OddishDexEntry: - db "WEED@" - db 1,8 - dw 120 - TX_FAR _OddishDexEntry - db "@" - -GloomDexEntry: - db "WEED@" - db 2,7 - dw 190 - TX_FAR _GloomDexEntry - db "@" - -VileplumeDexEntry: - db "FLOWER@" - db 3,11 - dw 410 - TX_FAR _VileplumeDexEntry - db "@" - -BellsproutDexEntry: - db "FLOWER@" - db 2,4 - dw 90 - TX_FAR _BellsproutDexEntry - db "@" - -WeepinbellDexEntry: - db "FLYCATCHER@" - db 3,3 - dw 140 - TX_FAR _WeepinbellDexEntry - db "@" - -VictreebelDexEntry: - db "FLYCATCHER@" - db 5,7 - dw 340 - TX_FAR _VictreebelDexEntry - db "@" - -MissingNoDexEntry: - db "???@" - db 10 ; 1.0 m - db 100 ; 10.0 kg - text "コメント さくせいちゅう@" ; コメント作成中 (Comment to be written) diff --git a/data/pokedex_order.asm b/data/pokedex_order.asm deleted file mode 100755 index 0e293946..00000000 --- a/data/pokedex_order.asm +++ /dev/null @@ -1,191 +0,0 @@ -PokedexOrder: - db DEX_RHYDON - db DEX_KANGASKHAN - db DEX_NIDORAN_M - db DEX_CLEFAIRY - db DEX_SPEAROW - db DEX_VOLTORB - db DEX_NIDOKING - db DEX_SLOWBRO - db DEX_IVYSAUR - db DEX_EXEGGUTOR - db DEX_LICKITUNG - db DEX_EXEGGCUTE - db DEX_GRIMER - db DEX_GENGAR - db DEX_NIDORAN_F - db DEX_NIDOQUEEN - db DEX_CUBONE - db DEX_RHYHORN - db DEX_LAPRAS - db DEX_ARCANINE - db DEX_MEW - db DEX_GYARADOS - db DEX_SHELLDER - db DEX_TENTACOOL - db DEX_GASTLY - db DEX_SCYTHER - db DEX_STARYU - db DEX_BLASTOISE - db DEX_PINSIR - db DEX_TANGELA - db 0 ; MISSINGNO. - db 0 ; MISSINGNO. - db DEX_GROWLITHE - db DEX_ONIX - db DEX_FEAROW - db DEX_PIDGEY - db DEX_SLOWPOKE - db DEX_KADABRA - db DEX_GRAVELER - db DEX_CHANSEY - db DEX_MACHOKE - db DEX_MR_MIME - db DEX_HITMONLEE - db DEX_HITMONCHAN - db DEX_ARBOK - db DEX_PARASECT - db DEX_PSYDUCK - db DEX_DROWZEE - db DEX_GOLEM - db 0 ; MISSINGNO. - db DEX_MAGMAR - db 0 ; MISSINGNO. - db DEX_ELECTABUZZ - db DEX_MAGNETON - db DEX_KOFFING - db 0 ; MISSINGNO. - db DEX_MANKEY - db DEX_SEEL - db DEX_DIGLETT - db DEX_TAUROS - db 0 ; MISSINGNO. - db 0 ; MISSINGNO. - db 0 ; MISSINGNO. - db DEX_FARFETCHD - db DEX_VENONAT - db DEX_DRAGONITE - db 0 ; MISSINGNO. - db 0 ; MISSINGNO. - db 0 ; MISSINGNO. - db DEX_DODUO - db DEX_POLIWAG - db DEX_JYNX - db DEX_MOLTRES - db DEX_ARTICUNO - db DEX_ZAPDOS - db DEX_DITTO - db DEX_MEOWTH - db DEX_KRABBY - db 0 ; MISSINGNO. - db 0 ; MISSINGNO. - db 0 ; MISSINGNO. - db DEX_VULPIX - db DEX_NINETALES - db DEX_PIKACHU - db DEX_RAICHU - db 0 ; MISSINGNO. - db 0 ; MISSINGNO. - db DEX_DRATINI - db DEX_DRAGONAIR - db DEX_KABUTO - db DEX_KABUTOPS - db DEX_HORSEA - db DEX_SEADRA - db 0 ; MISSINGNO. - db 0 ; MISSINGNO. - db DEX_SANDSHREW - db DEX_SANDSLASH - db DEX_OMANYTE - db DEX_OMASTAR - db DEX_JIGGLYPUFF - db DEX_WIGGLYTUFF - db DEX_EEVEE - db DEX_FLAREON - db DEX_JOLTEON - db DEX_VAPOREON - db DEX_MACHOP - db DEX_ZUBAT - db DEX_EKANS - db DEX_PARAS - db DEX_POLIWHIRL - db DEX_POLIWRATH - db DEX_WEEDLE - db DEX_KAKUNA - db DEX_BEEDRILL - db 0 ; MISSINGNO. - db DEX_DODRIO - db DEX_PRIMEAPE - db DEX_DUGTRIO - db DEX_VENOMOTH - db DEX_DEWGONG - db 0 ; MISSINGNO. - db 0 ; MISSINGNO. - db DEX_CATERPIE - db DEX_METAPOD - db DEX_BUTTERFREE - db DEX_MACHAMP - db 0 ; MISSINGNO. - db DEX_GOLDUCK - db DEX_HYPNO - db DEX_GOLBAT - db DEX_MEWTWO - db DEX_SNORLAX - db DEX_MAGIKARP - db 0 ; MISSINGNO. - db 0 ; MISSINGNO. - db DEX_MUK - db 0 ; MISSINGNO. - db DEX_KINGLER - db DEX_CLOYSTER - db 0 ; MISSINGNO. - db DEX_ELECTRODE - db DEX_CLEFABLE - db DEX_WEEZING - db DEX_PERSIAN - db DEX_MAROWAK - db 0 ; MISSINGNO. - db DEX_HAUNTER - db DEX_ABRA - db DEX_ALAKAZAM - db DEX_PIDGEOTTO - db DEX_PIDGEOT - db DEX_STARMIE - db DEX_BULBASAUR - db DEX_VENUSAUR - db DEX_TENTACRUEL - db 0 ; MISSINGNO. - db DEX_GOLDEEN - db DEX_SEAKING - db 0 ; MISSINGNO. - db 0 ; MISSINGNO. - db 0 ; MISSINGNO. - db 0 ; MISSINGNO. - db DEX_PONYTA - db DEX_RAPIDASH - db DEX_RATTATA - db DEX_RATICATE - db DEX_NIDORINO - db DEX_NIDORINA - db DEX_GEODUDE - db DEX_PORYGON - db DEX_AERODACTYL - db 0 ; MISSINGNO. - db DEX_MAGNEMITE - db 0 ; MISSINGNO. - db 0 ; MISSINGNO. - db DEX_CHARMANDER - db DEX_SQUIRTLE - db DEX_CHARMELEON - db DEX_WARTORTLE - db DEX_CHARIZARD - db 0 ; MISSINGNO. - db 0 ; MISSINGNO. - db 0 ; MISSINGNO. - db 0 ; MISSINGNO. - db DEX_ODDISH - db DEX_GLOOM - db DEX_VILEPLUME - db DEX_BELLSPROUT - db DEX_WEEPINBELL - db DEX_VICTREEBEL diff --git a/data/pokemon/base_stats.asm b/data/pokemon/base_stats.asm new file mode 100755 index 00000000..809ae8eb --- /dev/null +++ b/data/pokemon/base_stats.asm @@ -0,0 +1,153 @@ +BaseStats:: +MonBaseStats:: +INCLUDE "data/pokemon/base_stats/bulbasaur.asm" +MonBaseStatsEnd:: +INCLUDE "data/pokemon/base_stats/ivysaur.asm" +INCLUDE "data/pokemon/base_stats/venusaur.asm" +INCLUDE "data/pokemon/base_stats/charmander.asm" +INCLUDE "data/pokemon/base_stats/charmeleon.asm" +INCLUDE "data/pokemon/base_stats/charizard.asm" +INCLUDE "data/pokemon/base_stats/squirtle.asm" +INCLUDE "data/pokemon/base_stats/wartortle.asm" +INCLUDE "data/pokemon/base_stats/blastoise.asm" +INCLUDE "data/pokemon/base_stats/caterpie.asm" +INCLUDE "data/pokemon/base_stats/metapod.asm" +INCLUDE "data/pokemon/base_stats/butterfree.asm" +INCLUDE "data/pokemon/base_stats/weedle.asm" +INCLUDE "data/pokemon/base_stats/kakuna.asm" +INCLUDE "data/pokemon/base_stats/beedrill.asm" +INCLUDE "data/pokemon/base_stats/pidgey.asm" +INCLUDE "data/pokemon/base_stats/pidgeotto.asm" +INCLUDE "data/pokemon/base_stats/pidgeot.asm" +INCLUDE "data/pokemon/base_stats/rattata.asm" +INCLUDE "data/pokemon/base_stats/raticate.asm" +INCLUDE "data/pokemon/base_stats/spearow.asm" +INCLUDE "data/pokemon/base_stats/fearow.asm" +INCLUDE "data/pokemon/base_stats/ekans.asm" +INCLUDE "data/pokemon/base_stats/arbok.asm" +INCLUDE "data/pokemon/base_stats/pikachu.asm" +INCLUDE "data/pokemon/base_stats/raichu.asm" +INCLUDE "data/pokemon/base_stats/sandshrew.asm" +INCLUDE "data/pokemon/base_stats/sandslash.asm" +INCLUDE "data/pokemon/base_stats/nidoranf.asm" +INCLUDE "data/pokemon/base_stats/nidorina.asm" +INCLUDE "data/pokemon/base_stats/nidoqueen.asm" +INCLUDE "data/pokemon/base_stats/nidoranm.asm" +INCLUDE "data/pokemon/base_stats/nidorino.asm" +INCLUDE "data/pokemon/base_stats/nidoking.asm" +INCLUDE "data/pokemon/base_stats/clefairy.asm" +INCLUDE "data/pokemon/base_stats/clefable.asm" +INCLUDE "data/pokemon/base_stats/vulpix.asm" +INCLUDE "data/pokemon/base_stats/ninetales.asm" +INCLUDE "data/pokemon/base_stats/jigglypuff.asm" +INCLUDE "data/pokemon/base_stats/wigglytuff.asm" +INCLUDE "data/pokemon/base_stats/zubat.asm" +INCLUDE "data/pokemon/base_stats/golbat.asm" +INCLUDE "data/pokemon/base_stats/oddish.asm" +INCLUDE "data/pokemon/base_stats/gloom.asm" +INCLUDE "data/pokemon/base_stats/vileplume.asm" +INCLUDE "data/pokemon/base_stats/paras.asm" +INCLUDE "data/pokemon/base_stats/parasect.asm" +INCLUDE "data/pokemon/base_stats/venonat.asm" +INCLUDE "data/pokemon/base_stats/venomoth.asm" +INCLUDE "data/pokemon/base_stats/diglett.asm" +INCLUDE "data/pokemon/base_stats/dugtrio.asm" +INCLUDE "data/pokemon/base_stats/meowth.asm" +INCLUDE "data/pokemon/base_stats/persian.asm" +INCLUDE "data/pokemon/base_stats/psyduck.asm" +INCLUDE "data/pokemon/base_stats/golduck.asm" +INCLUDE "data/pokemon/base_stats/mankey.asm" +INCLUDE "data/pokemon/base_stats/primeape.asm" +INCLUDE "data/pokemon/base_stats/growlithe.asm" +INCLUDE "data/pokemon/base_stats/arcanine.asm" +INCLUDE "data/pokemon/base_stats/poliwag.asm" +INCLUDE "data/pokemon/base_stats/poliwhirl.asm" +INCLUDE "data/pokemon/base_stats/poliwrath.asm" +INCLUDE "data/pokemon/base_stats/abra.asm" +INCLUDE "data/pokemon/base_stats/kadabra.asm" +INCLUDE "data/pokemon/base_stats/alakazam.asm" +INCLUDE "data/pokemon/base_stats/machop.asm" +INCLUDE "data/pokemon/base_stats/machoke.asm" +INCLUDE "data/pokemon/base_stats/machamp.asm" +INCLUDE "data/pokemon/base_stats/bellsprout.asm" +INCLUDE "data/pokemon/base_stats/weepinbell.asm" +INCLUDE "data/pokemon/base_stats/victreebel.asm" +INCLUDE "data/pokemon/base_stats/tentacool.asm" +INCLUDE "data/pokemon/base_stats/tentacruel.asm" +INCLUDE "data/pokemon/base_stats/geodude.asm" +INCLUDE "data/pokemon/base_stats/graveler.asm" +INCLUDE "data/pokemon/base_stats/golem.asm" +INCLUDE "data/pokemon/base_stats/ponyta.asm" +INCLUDE "data/pokemon/base_stats/rapidash.asm" +INCLUDE "data/pokemon/base_stats/slowpoke.asm" +INCLUDE "data/pokemon/base_stats/slowbro.asm" +INCLUDE "data/pokemon/base_stats/magnemite.asm" +INCLUDE "data/pokemon/base_stats/magneton.asm" +INCLUDE "data/pokemon/base_stats/farfetchd.asm" +INCLUDE "data/pokemon/base_stats/doduo.asm" +INCLUDE "data/pokemon/base_stats/dodrio.asm" +INCLUDE "data/pokemon/base_stats/seel.asm" +INCLUDE "data/pokemon/base_stats/dewgong.asm" +INCLUDE "data/pokemon/base_stats/grimer.asm" +INCLUDE "data/pokemon/base_stats/muk.asm" +INCLUDE "data/pokemon/base_stats/shellder.asm" +INCLUDE "data/pokemon/base_stats/cloyster.asm" +INCLUDE "data/pokemon/base_stats/gastly.asm" +INCLUDE "data/pokemon/base_stats/haunter.asm" +INCLUDE "data/pokemon/base_stats/gengar.asm" +INCLUDE "data/pokemon/base_stats/onix.asm" +INCLUDE "data/pokemon/base_stats/drowzee.asm" +INCLUDE "data/pokemon/base_stats/hypno.asm" +INCLUDE "data/pokemon/base_stats/krabby.asm" +INCLUDE "data/pokemon/base_stats/kingler.asm" +INCLUDE "data/pokemon/base_stats/voltorb.asm" +INCLUDE "data/pokemon/base_stats/electrode.asm" +INCLUDE "data/pokemon/base_stats/exeggcute.asm" +INCLUDE "data/pokemon/base_stats/exeggutor.asm" +INCLUDE "data/pokemon/base_stats/cubone.asm" +INCLUDE "data/pokemon/base_stats/marowak.asm" +INCLUDE "data/pokemon/base_stats/hitmonlee.asm" +INCLUDE "data/pokemon/base_stats/hitmonchan.asm" +INCLUDE "data/pokemon/base_stats/lickitung.asm" +INCLUDE "data/pokemon/base_stats/koffing.asm" +INCLUDE "data/pokemon/base_stats/weezing.asm" +INCLUDE "data/pokemon/base_stats/rhyhorn.asm" +INCLUDE "data/pokemon/base_stats/rhydon.asm" +INCLUDE "data/pokemon/base_stats/chansey.asm" +INCLUDE "data/pokemon/base_stats/tangela.asm" +INCLUDE "data/pokemon/base_stats/kangaskhan.asm" +INCLUDE "data/pokemon/base_stats/horsea.asm" +INCLUDE "data/pokemon/base_stats/seadra.asm" +INCLUDE "data/pokemon/base_stats/goldeen.asm" +INCLUDE "data/pokemon/base_stats/seaking.asm" +INCLUDE "data/pokemon/base_stats/staryu.asm" +INCLUDE "data/pokemon/base_stats/starmie.asm" +INCLUDE "data/pokemon/base_stats/mrmime.asm" +INCLUDE "data/pokemon/base_stats/scyther.asm" +INCLUDE "data/pokemon/base_stats/jynx.asm" +INCLUDE "data/pokemon/base_stats/electabuzz.asm" +INCLUDE "data/pokemon/base_stats/magmar.asm" +INCLUDE "data/pokemon/base_stats/pinsir.asm" +INCLUDE "data/pokemon/base_stats/tauros.asm" +INCLUDE "data/pokemon/base_stats/magikarp.asm" +INCLUDE "data/pokemon/base_stats/gyarados.asm" +INCLUDE "data/pokemon/base_stats/lapras.asm" +INCLUDE "data/pokemon/base_stats/ditto.asm" +INCLUDE "data/pokemon/base_stats/eevee.asm" +INCLUDE "data/pokemon/base_stats/vaporeon.asm" +INCLUDE "data/pokemon/base_stats/jolteon.asm" +INCLUDE "data/pokemon/base_stats/flareon.asm" +INCLUDE "data/pokemon/base_stats/porygon.asm" +INCLUDE "data/pokemon/base_stats/omanyte.asm" +INCLUDE "data/pokemon/base_stats/omastar.asm" +INCLUDE "data/pokemon/base_stats/kabuto.asm" +INCLUDE "data/pokemon/base_stats/kabutops.asm" +INCLUDE "data/pokemon/base_stats/aerodactyl.asm" +INCLUDE "data/pokemon/base_stats/snorlax.asm" +INCLUDE "data/pokemon/base_stats/articuno.asm" +INCLUDE "data/pokemon/base_stats/zapdos.asm" +INCLUDE "data/pokemon/base_stats/moltres.asm" +INCLUDE "data/pokemon/base_stats/dratini.asm" +INCLUDE "data/pokemon/base_stats/dragonair.asm" +INCLUDE "data/pokemon/base_stats/dragonite.asm" +INCLUDE "data/pokemon/base_stats/mewtwo.asm" diff --git a/data/pokemon/base_stats/abra.asm b/data/pokemon/base_stats/abra.asm new file mode 100644 index 00000000..dfb446ca --- /dev/null +++ b/data/pokemon/base_stats/abra.asm @@ -0,0 +1,28 @@ +db DEX_ABRA ; pokedex id +db 25 ; base hp +db 20 ; base attack +db 15 ; base defense +db 90 ; base speed +db 105 ; base special +db PSYCHIC ; species type 1 +db PSYCHIC ; species type 2 +db 200 ; catch rate +db 73 ; base exp yield +INCBIN "gfx/pokemon/front/abra.pic",0,1 ; 55, sprite dimensions +dw AbraPicFront +dw AbraPicBack +; attacks known at lvl 0 +db TELEPORT +db 0 +db 0 +db 0 +db 3 ; growth rate +; learnset + tmlearn 1,5,6,8 + tmlearn 9,10 + tmlearn 17,18,19,20 + tmlearn 29,30,31,32 + tmlearn 33,34,35,40 + tmlearn 44,45,46 + tmlearn 49,50,55 +db 0 ; padding diff --git a/data/pokemon/base_stats/aerodactyl.asm b/data/pokemon/base_stats/aerodactyl.asm new file mode 100644 index 00000000..564fc831 --- /dev/null +++ b/data/pokemon/base_stats/aerodactyl.asm @@ -0,0 +1,28 @@ +db DEX_AERODACTYL ; pokedex id +db 80 ; base hp +db 105 ; base attack +db 65 ; base defense +db 130 ; base speed +db 60 ; base special +db ROCK ; species type 1 +db FLYING ; species type 2 +db 45 ; catch rate +db 202 ; base exp yield +INCBIN "gfx/pokemon/front/aerodactyl.pic",0,1 ; 77, sprite dimensions +dw AerodactylPicFront +dw AerodactylPicBack +; attacks known at lvl 0 +db WING_ATTACK +db AGILITY +db 0 +db 0 +db 5 ; growth rate +; learnset + tmlearn 2,4,6 + tmlearn 9,10,15 + tmlearn 20,23 + tmlearn 31,32 + tmlearn 33,34,38,39 + tmlearn 43,44 + tmlearn 50,52 +db 0 ; padding diff --git a/data/pokemon/base_stats/alakazam.asm b/data/pokemon/base_stats/alakazam.asm new file mode 100644 index 00000000..57f7f516 --- /dev/null +++ b/data/pokemon/base_stats/alakazam.asm @@ -0,0 +1,28 @@ +db DEX_ALAKAZAM ; pokedex id +db 55 ; base hp +db 50 ; base attack +db 45 ; base defense +db 120 ; base speed +db 135 ; base special +db PSYCHIC ; species type 1 +db PSYCHIC ; species type 2 +db 50 ; catch rate +db 186 ; base exp yield +INCBIN "gfx/pokemon/front/alakazam.pic",0,1 ; 77, sprite dimensions +dw AlakazamPicFront +dw AlakazamPicBack +; attacks known at lvl 0 +db TELEPORT +db CONFUSION +db DISABLE +db 0 +db 3 ; growth rate +; learnset + tmlearn 1,5,6,8 + tmlearn 9,10,15 + tmlearn 17,18,19,20 + tmlearn 28,29,30,31,32 + tmlearn 33,34,35,40 + tmlearn 44,45,46 + tmlearn 49,50,55 +db 0 ; padding diff --git a/data/pokemon/base_stats/arbok.asm b/data/pokemon/base_stats/arbok.asm new file mode 100644 index 00000000..1e88289f --- /dev/null +++ b/data/pokemon/base_stats/arbok.asm @@ -0,0 +1,28 @@ +db DEX_ARBOK ; pokedex id +db 60 ; base hp +db 85 ; base attack +db 69 ; base defense +db 80 ; base speed +db 65 ; base special +db POISON ; species type 1 +db POISON ; species type 2 +db 90 ; catch rate +db 147 ; base exp yield +INCBIN "gfx/pokemon/front/arbok.pic",0,1 ; 77, sprite dimensions +dw ArbokPicFront +dw ArbokPicBack +; attacks known at lvl 0 +db WRAP +db LEER +db POISON_STING +db 0 +db 0 ; growth rate +; learnset + tmlearn 6,8 + tmlearn 9,10,15 + tmlearn 20,21 + tmlearn 26,27,28,31,32 + tmlearn 34,40 + tmlearn 44,48 + tmlearn 50,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/arcanine.asm b/data/pokemon/base_stats/arcanine.asm new file mode 100644 index 00000000..c661cc88 --- /dev/null +++ b/data/pokemon/base_stats/arcanine.asm @@ -0,0 +1,28 @@ +db DEX_ARCANINE ; pokedex id +db 90 ; base hp +db 110 ; base attack +db 80 ; base defense +db 95 ; base speed +db 80 ; base special +db FIRE ; species type 1 +db FIRE ; species type 2 +db 75 ; catch rate +db 213 ; base exp yield +INCBIN "gfx/pokemon/front/arcanine.pic",0,1 ; 77, sprite dimensions +dw ArcaninePicFront +dw ArcaninePicBack +; attacks known at lvl 0 +db ROAR +db EMBER +db LEER +db TAKE_DOWN +db 5 ; growth rate +; learnset + tmlearn 6,8 + tmlearn 9,10,15 + tmlearn 20,23 + tmlearn 28,30,31,32 + tmlearn 33,34,38,39,40 + tmlearn 44 + tmlearn 50 +db 0 ; padding diff --git a/data/pokemon/base_stats/articuno.asm b/data/pokemon/base_stats/articuno.asm new file mode 100644 index 00000000..6265c654 --- /dev/null +++ b/data/pokemon/base_stats/articuno.asm @@ -0,0 +1,28 @@ +db DEX_ARTICUNO ; pokedex id +db 90 ; base hp +db 85 ; base attack +db 100 ; base defense +db 85 ; base speed +db 125 ; base special +db ICE ; species type 1 +db FLYING ; species type 2 +db 3 ; catch rate +db 215 ; base exp yield +INCBIN "gfx/pokemon/front/articuno.pic",0,1 ; 77, sprite dimensions +dw ArticunoPicFront +dw ArticunoPicBack +; attacks known at lvl 0 +db PECK +db ICE_BEAM +db 0 +db 0 +db 5 ; growth rate +; learnset + tmlearn 2,4,6 + tmlearn 9,10,11,12,13,14,15 + tmlearn 20 + tmlearn 31,32 + tmlearn 33,34,39 + tmlearn 43,44 + tmlearn 50,52 +db 0 ; padding diff --git a/data/pokemon/base_stats/beedrill.asm b/data/pokemon/base_stats/beedrill.asm new file mode 100644 index 00000000..516f5747 --- /dev/null +++ b/data/pokemon/base_stats/beedrill.asm @@ -0,0 +1,28 @@ +db DEX_BEEDRILL ; pokedex id +db 65 ; base hp +db 80 ; base attack +db 40 ; base defense +db 75 ; base speed +db 45 ; base special +db BUG ; species type 1 +db POISON ; species type 2 +db 45 ; catch rate +db 159 ; base exp yield +INCBIN "gfx/pokemon/front/beedrill.pic",0,1 ; 77, sprite dimensions +dw BeedrillPicFront +dw BeedrillPicBack +; attacks known at lvl 0 +db FURY_ATTACK +db 0 +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 3,6 + tmlearn 9,10,15 + tmlearn 20,21 + tmlearn 31,32 + tmlearn 33,34,39,40 + tmlearn 44 + tmlearn 50,51 +db 0 ; padding diff --git a/data/pokemon/base_stats/bellsprout.asm b/data/pokemon/base_stats/bellsprout.asm new file mode 100644 index 00000000..42c1a22c --- /dev/null +++ b/data/pokemon/base_stats/bellsprout.asm @@ -0,0 +1,28 @@ +db DEX_BELLSPROUT ; pokedex id +db 50 ; base hp +db 75 ; base attack +db 35 ; base defense +db 40 ; base speed +db 70 ; base special +db GRASS ; species type 1 +db POISON ; species type 2 +db 255 ; catch rate +db 84 ; base exp yield +INCBIN "gfx/pokemon/front/bellsprout.pic",0,1 ; 55, sprite dimensions +dw BellsproutPicFront +dw BellsproutPicBack +; attacks known at lvl 0 +db VINE_WHIP +db GROWTH +db 0 +db 0 +db 3 ; growth rate +; learnset + tmlearn 3,6 + tmlearn 9,10 + tmlearn 20,21,22 + tmlearn 31,32 + tmlearn 33,34 + tmlearn 44 + tmlearn 50,51 +db 0 ; padding diff --git a/data/pokemon/base_stats/blastoise.asm b/data/pokemon/base_stats/blastoise.asm new file mode 100644 index 00000000..1e073c26 --- /dev/null +++ b/data/pokemon/base_stats/blastoise.asm @@ -0,0 +1,28 @@ +db DEX_BLASTOISE ; pokedex id +db 79 ; base hp +db 83 ; base attack +db 100 ; base defense +db 78 ; base speed +db 85 ; base special +db WATER ; species type 1 +db WATER ; species type 2 +db 45 ; catch rate +db 210 ; base exp yield +INCBIN "gfx/pokemon/front/blastoise.pic",0,1 ; 77, sprite dimensions +dw BlastoisePicFront +dw BlastoisePicBack +; attacks known at lvl 0 +db TACKLE +db TAIL_WHIP +db BUBBLE +db WATER_GUN +db 3 ; growth rate +; learnset + tmlearn 1,5,6,8 + tmlearn 9,10,11,12,13,14,15 + tmlearn 17,18,19,20 + tmlearn 26,27,28,31,32 + tmlearn 33,34,40 + tmlearn 44 + tmlearn 50,53,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/bulbasaur.asm b/data/pokemon/base_stats/bulbasaur.asm new file mode 100644 index 00000000..08e171ef --- /dev/null +++ b/data/pokemon/base_stats/bulbasaur.asm @@ -0,0 +1,28 @@ +db DEX_BULBASAUR ; pokedex id +db 45 ; base hp +db 49 ; base attack +db 49 ; base defense +db 45 ; base speed +db 65 ; base special +db GRASS ; species type 1 +db POISON ; species type 2 +db 45 ; catch rate +db 64 ; base exp yield +INCBIN "gfx/pokemon/front/bulbasaur.pic",0,1 ; 55, sprite dimensions +dw BulbasaurPicFront +dw BulbasaurPicBack +; attacks known at lvl 0 +db TACKLE +db GROWL +db 0 +db 0 +db 3 ; growth rate +; learnset + tmlearn 3,6,8 + tmlearn 9,10 + tmlearn 20,21,22 + tmlearn 31,32 + tmlearn 33,34 + tmlearn 44 + tmlearn 50,51 +db 0 ; padding diff --git a/data/pokemon/base_stats/butterfree.asm b/data/pokemon/base_stats/butterfree.asm new file mode 100644 index 00000000..2f0dae18 --- /dev/null +++ b/data/pokemon/base_stats/butterfree.asm @@ -0,0 +1,28 @@ +db DEX_BUTTERFREE ; pokedex id +db 60 ; base hp +db 45 ; base attack +db 50 ; base defense +db 70 ; base speed +db 80 ; base special +db BUG ; species type 1 +db FLYING ; species type 2 +db 45 ; catch rate +db 160 ; base exp yield +INCBIN "gfx/pokemon/front/butterfree.pic",0,1 ; 77, sprite dimensions +dw ButterfreePicFront +dw ButterfreePicBack +; attacks known at lvl 0 +db CONFUSION +db 0 +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 2,4,6 + tmlearn 9,10,15 + tmlearn 20,21,22 + tmlearn 29,30,31,32 + tmlearn 33,34,39 + tmlearn 44,46 + tmlearn 50 +db 0 ; padding diff --git a/data/pokemon/base_stats/caterpie.asm b/data/pokemon/base_stats/caterpie.asm new file mode 100644 index 00000000..75270144 --- /dev/null +++ b/data/pokemon/base_stats/caterpie.asm @@ -0,0 +1,28 @@ +db DEX_CATERPIE ; pokedex id +db 45 ; base hp +db 30 ; base attack +db 35 ; base defense +db 45 ; base speed +db 20 ; base special +db BUG ; species type 1 +db BUG ; species type 2 +db 255 ; catch rate +db 53 ; base exp yield +INCBIN "gfx/pokemon/front/caterpie.pic",0,1 ; 55, sprite dimensions +dw CaterpiePicFront +dw CaterpiePicBack +; attacks known at lvl 0 +db TACKLE +db STRING_SHOT +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 0 + tmlearn 0 + tmlearn 0 + tmlearn 0 + tmlearn 0 + tmlearn 0 + tmlearn 0 +db 0 ; padding diff --git a/data/pokemon/base_stats/chansey.asm b/data/pokemon/base_stats/chansey.asm new file mode 100644 index 00000000..7f0cf16e --- /dev/null +++ b/data/pokemon/base_stats/chansey.asm @@ -0,0 +1,28 @@ +db DEX_CHANSEY ; pokedex id +db 250 ; base hp +db 5 ; base attack +db 5 ; base defense +db 50 ; base speed +db 105 ; base special +db NORMAL ; species type 1 +db NORMAL ; species type 2 +db 30 ; catch rate +db 255 ; base exp yield +INCBIN "gfx/pokemon/front/chansey.pic",0,1 ; 66, sprite dimensions +dw ChanseyPicFront +dw ChanseyPicBack +; attacks known at lvl 0 +db POUND +db DOUBLESLAP +db 0 +db 0 +db 4 ; growth rate +; learnset + tmlearn 1,5,6,8 + tmlearn 9,10,11,12,13,14,15 + tmlearn 17,18,19,20,22,24 + tmlearn 25,29,30,31,32 + tmlearn 33,34,35,37,38,40 + tmlearn 41,44,45,46 + tmlearn 49,50,54,55 +db 0 ; padding diff --git a/data/pokemon/base_stats/charizard.asm b/data/pokemon/base_stats/charizard.asm new file mode 100644 index 00000000..c0df120e --- /dev/null +++ b/data/pokemon/base_stats/charizard.asm @@ -0,0 +1,28 @@ +db DEX_CHARIZARD ; pokedex id +db 78 ; base hp +db 84 ; base attack +db 78 ; base defense +db 100 ; base speed +db 85 ; base special +db FIRE ; species type 1 +db FLYING ; species type 2 +db 45 ; catch rate +db 209 ; base exp yield +INCBIN "gfx/pokemon/front/charizard.pic",0,1 ; 77, sprite dimensions +dw CharizardPicFront +dw CharizardPicBack +; attacks known at lvl 0 +db SCRATCH +db GROWL +db EMBER +db LEER +db 3 ; growth rate +; learnset + tmlearn 1,3,5,6,8 + tmlearn 9,10,15 + tmlearn 17,18,19,20,23 + tmlearn 26,27,28,31,32 + tmlearn 33,34,38,39,40 + tmlearn 44 + tmlearn 50,51,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/charmander.asm b/data/pokemon/base_stats/charmander.asm new file mode 100644 index 00000000..a296b609 --- /dev/null +++ b/data/pokemon/base_stats/charmander.asm @@ -0,0 +1,28 @@ +db DEX_CHARMANDER ; pokedex id +db 39 ; base hp +db 52 ; base attack +db 43 ; base defense +db 65 ; base speed +db 50 ; base special +db FIRE ; species type 1 +db FIRE ; species type 2 +db 45 ; catch rate +db 65 ; base exp yield +INCBIN "gfx/pokemon/front/charmander.pic",0,1 ; 55, sprite dimensions +dw CharmanderPicFront +dw CharmanderPicBack +; attacks known at lvl 0 +db SCRATCH +db GROWL +db 0 +db 0 +db 3 ; growth rate +; learnset + tmlearn 1,3,5,6,8 + tmlearn 9,10 + tmlearn 17,18,19,20,23 + tmlearn 28,31,32 + tmlearn 33,34,38,39,40 + tmlearn 44 + tmlearn 50,51,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/charmeleon.asm b/data/pokemon/base_stats/charmeleon.asm new file mode 100644 index 00000000..62e8eb89 --- /dev/null +++ b/data/pokemon/base_stats/charmeleon.asm @@ -0,0 +1,28 @@ +db DEX_CHARMELEON ; pokedex id +db 58 ; base hp +db 64 ; base attack +db 58 ; base defense +db 80 ; base speed +db 65 ; base special +db FIRE ; species type 1 +db FIRE ; species type 2 +db 45 ; catch rate +db 142 ; base exp yield +INCBIN "gfx/pokemon/front/charmeleon.pic",0,1 ; 66, sprite dimensions +dw CharmeleonPicFront +dw CharmeleonPicBack +; attacks known at lvl 0 +db SCRATCH +db GROWL +db EMBER +db 0 +db 3 ; growth rate +; learnset + tmlearn 1,3,5,6,8 + tmlearn 9,10 + tmlearn 17,18,19,20,23 + tmlearn 28,31,32 + tmlearn 33,34,38,39,40 + tmlearn 44 + tmlearn 50,51,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/clefable.asm b/data/pokemon/base_stats/clefable.asm new file mode 100644 index 00000000..407a5170 --- /dev/null +++ b/data/pokemon/base_stats/clefable.asm @@ -0,0 +1,28 @@ +db DEX_CLEFABLE ; pokedex id +db 95 ; base hp +db 70 ; base attack +db 73 ; base defense +db 60 ; base speed +db 85 ; base special +db NORMAL ; species type 1 +db NORMAL ; species type 2 +db 25 ; catch rate +db 129 ; base exp yield +INCBIN "gfx/pokemon/front/clefable.pic",0,1 ; 66, sprite dimensions +dw ClefablePicFront +dw ClefablePicBack +; attacks known at lvl 0 +db SING +db DOUBLESLAP +db MINIMIZE +db METRONOME +db 4 ; growth rate +; learnset + tmlearn 1,5,6,8 + tmlearn 9,10,11,12,13,14,15 + tmlearn 17,18,19,20,22,24 + tmlearn 25,29,30,31,32 + tmlearn 33,34,35,38,40 + tmlearn 44,45,46 + tmlearn 49,50,54,55 +db 0 ; padding diff --git a/data/pokemon/base_stats/clefairy.asm b/data/pokemon/base_stats/clefairy.asm new file mode 100644 index 00000000..2e3bbf92 --- /dev/null +++ b/data/pokemon/base_stats/clefairy.asm @@ -0,0 +1,28 @@ +db DEX_CLEFAIRY ; pokedex id +db 70 ; base hp +db 45 ; base attack +db 48 ; base defense +db 35 ; base speed +db 60 ; base special +db NORMAL ; species type 1 +db NORMAL ; species type 2 +db 150 ; catch rate +db 68 ; base exp yield +INCBIN "gfx/pokemon/front/clefairy.pic",0,1 ; 55, sprite dimensions +dw ClefairyPicFront +dw ClefairyPicBack +; attacks known at lvl 0 +db POUND +db GROWL +db 0 +db 0 +db 4 ; growth rate +; learnset + tmlearn 1,5,6,8 + tmlearn 9,10,11,12,13,14 + tmlearn 17,18,19,20,22,24 + tmlearn 25,29,30,31,32 + tmlearn 33,34,35,38,40 + tmlearn 44,45,46 + tmlearn 49,50,54,55 +db 0 ; padding diff --git a/data/pokemon/base_stats/cloyster.asm b/data/pokemon/base_stats/cloyster.asm new file mode 100644 index 00000000..9b79bd78 --- /dev/null +++ b/data/pokemon/base_stats/cloyster.asm @@ -0,0 +1,28 @@ +db DEX_CLOYSTER ; pokedex id +db 50 ; base hp +db 95 ; base attack +db 180 ; base defense +db 70 ; base speed +db 85 ; base special +db WATER ; species type 1 +db ICE ; species type 2 +db 60 ; catch rate +db 203 ; base exp yield +INCBIN "gfx/pokemon/front/cloyster.pic",0,1 ; 77, sprite dimensions +dw CloysterPicFront +dw CloysterPicBack +; attacks known at lvl 0 +db WITHDRAW +db SUPERSONIC +db CLAMP +db AURORA_BEAM +db 5 ; growth rate +; learnset + tmlearn 6 + tmlearn 9,10,11,12,13,14,15 + tmlearn 20 + tmlearn 30,31,32 + tmlearn 33,34,36,39 + tmlearn 44,47 + tmlearn 49,50,53 +db 0 ; padding diff --git a/data/pokemon/base_stats/cubone.asm b/data/pokemon/base_stats/cubone.asm new file mode 100644 index 00000000..776a771c --- /dev/null +++ b/data/pokemon/base_stats/cubone.asm @@ -0,0 +1,28 @@ +db DEX_CUBONE ; pokedex id +db 50 ; base hp +db 50 ; base attack +db 95 ; base defense +db 35 ; base speed +db 40 ; base special +db GROUND ; species type 1 +db GROUND ; species type 2 +db 190 ; catch rate +db 87 ; base exp yield +INCBIN "gfx/pokemon/front/cubone.pic",0,1 ; 55, sprite dimensions +dw CubonePicFront +dw CubonePicBack +; attacks known at lvl 0 +db BONE_CLUB +db GROWL +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 1,5,6,8 + tmlearn 9,10,11,12,13,14 + tmlearn 17,18,19,20 + tmlearn 26,27,28,31,32 + tmlearn 34,38,40 + tmlearn 44 + tmlearn 50,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/dewgong.asm b/data/pokemon/base_stats/dewgong.asm new file mode 100644 index 00000000..59ab04b0 --- /dev/null +++ b/data/pokemon/base_stats/dewgong.asm @@ -0,0 +1,28 @@ +db DEX_DEWGONG ; pokedex id +db 90 ; base hp +db 70 ; base attack +db 80 ; base defense +db 70 ; base speed +db 95 ; base special +db WATER ; species type 1 +db ICE ; species type 2 +db 75 ; catch rate +db 176 ; base exp yield +INCBIN "gfx/pokemon/front/dewgong.pic",0,1 ; 66, sprite dimensions +dw DewgongPicFront +dw DewgongPicBack +; attacks known at lvl 0 +db HEADBUTT +db GROWL +db AURORA_BEAM +db 0 +db 0 ; growth rate +; learnset + tmlearn 6,7,8 + tmlearn 9,10,11,12,13,14,15,16 + tmlearn 20 + tmlearn 31,32 + tmlearn 34,40 + tmlearn 44 + tmlearn 50,53,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/diglett.asm b/data/pokemon/base_stats/diglett.asm new file mode 100644 index 00000000..da8648d8 --- /dev/null +++ b/data/pokemon/base_stats/diglett.asm @@ -0,0 +1,28 @@ +db DEX_DIGLETT ; pokedex id +db 10 ; base hp +db 55 ; base attack +db 25 ; base defense +db 95 ; base speed +db 45 ; base special +db GROUND ; species type 1 +db GROUND ; species type 2 +db 255 ; catch rate +db 81 ; base exp yield +INCBIN "gfx/pokemon/front/diglett.pic",0,1 ; 55, sprite dimensions +dw DiglettPicFront +dw DiglettPicBack +; attacks known at lvl 0 +db SCRATCH +db 0 +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 6,8 + tmlearn 9,10 + tmlearn 20 + tmlearn 26,27,28,31,32 + tmlearn 34 + tmlearn 44,48 + tmlearn 50 +db 0 ; padding diff --git a/data/pokemon/base_stats/ditto.asm b/data/pokemon/base_stats/ditto.asm new file mode 100644 index 00000000..aff87275 --- /dev/null +++ b/data/pokemon/base_stats/ditto.asm @@ -0,0 +1,28 @@ +db DEX_DITTO ; pokedex id +db 48 ; base hp +db 48 ; base attack +db 48 ; base defense +db 48 ; base speed +db 48 ; base special +db NORMAL ; species type 1 +db NORMAL ; species type 2 +db 35 ; catch rate +db 61 ; base exp yield +INCBIN "gfx/pokemon/front/ditto.pic",0,1 ; 55, sprite dimensions +dw DittoPicFront +dw DittoPicBack +; attacks known at lvl 0 +db TRANSFORM +db 0 +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 0 + tmlearn 0 + tmlearn 0 + tmlearn 0 + tmlearn 0 + tmlearn 0 + tmlearn 0 +db 0 ; padding diff --git a/data/pokemon/base_stats/dodrio.asm b/data/pokemon/base_stats/dodrio.asm new file mode 100644 index 00000000..baf1fd8a --- /dev/null +++ b/data/pokemon/base_stats/dodrio.asm @@ -0,0 +1,28 @@ +db DEX_DODRIO ; pokedex id +db 60 ; base hp +db 110 ; base attack +db 70 ; base defense +db 100 ; base speed +db 60 ; base special +db NORMAL ; species type 1 +db FLYING ; species type 2 +db 45 ; catch rate +db 158 ; base exp yield +INCBIN "gfx/pokemon/front/dodrio.pic",0,1 ; 77, sprite dimensions +dw DodrioPicFront +dw DodrioPicBack +; attacks known at lvl 0 +db PECK +db GROWL +db FURY_ATTACK +db 0 +db 0 ; growth rate +; learnset + tmlearn 4,6,8 + tmlearn 9,10,15 + tmlearn 20 + tmlearn 31,32 + tmlearn 33,34,40 + tmlearn 43,44 + tmlearn 49,50,52 +db 0 ; padding diff --git a/data/pokemon/base_stats/doduo.asm b/data/pokemon/base_stats/doduo.asm new file mode 100644 index 00000000..33d1506a --- /dev/null +++ b/data/pokemon/base_stats/doduo.asm @@ -0,0 +1,28 @@ +db DEX_DODUO ; pokedex id +db 35 ; base hp +db 85 ; base attack +db 45 ; base defense +db 75 ; base speed +db 35 ; base special +db NORMAL ; species type 1 +db FLYING ; species type 2 +db 190 ; catch rate +db 96 ; base exp yield +INCBIN "gfx/pokemon/front/doduo.pic",0,1 ; 55, sprite dimensions +dw DoduoPicFront +dw DoduoPicBack +; attacks known at lvl 0 +db PECK +db 0 +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 4,6,8 + tmlearn 9,10 + tmlearn 20 + tmlearn 31,32 + tmlearn 33,34,40 + tmlearn 43,44 + tmlearn 49,50,52 +db 0 ; padding diff --git a/data/pokemon/base_stats/dragonair.asm b/data/pokemon/base_stats/dragonair.asm new file mode 100644 index 00000000..9d8ab0c2 --- /dev/null +++ b/data/pokemon/base_stats/dragonair.asm @@ -0,0 +1,28 @@ +db DEX_DRAGONAIR ; pokedex id +db 61 ; base hp +db 84 ; base attack +db 65 ; base defense +db 70 ; base speed +db 70 ; base special +db DRAGON ; species type 1 +db DRAGON ; species type 2 +db 45 ; catch rate +db 144 ; base exp yield +INCBIN "gfx/pokemon/front/dragonair.pic",0,1 ; 66, sprite dimensions +dw DragonairPicFront +dw DragonairPicBack +; attacks known at lvl 0 +db WRAP +db LEER +db THUNDER_WAVE +db 0 +db 5 ; growth rate +; learnset + tmlearn 6,7,8 + tmlearn 9,10,11,12,13,14 + tmlearn 20,23,24 + tmlearn 25,31,32 + tmlearn 33,34,38,39,40 + tmlearn 44,45 + tmlearn 50,53 +db 0 ; padding diff --git a/data/pokemon/base_stats/dragonite.asm b/data/pokemon/base_stats/dragonite.asm new file mode 100644 index 00000000..22653bcc --- /dev/null +++ b/data/pokemon/base_stats/dragonite.asm @@ -0,0 +1,28 @@ +db DEX_DRAGONITE ; pokedex id +db 91 ; base hp +db 134 ; base attack +db 95 ; base defense +db 80 ; base speed +db 100 ; base special +db DRAGON ; species type 1 +db FLYING ; species type 2 +db 45 ; catch rate +db 218 ; base exp yield +INCBIN "gfx/pokemon/front/dragonite.pic",0,1 ; 77, sprite dimensions +dw DragonitePicFront +dw DragonitePicBack +; attacks known at lvl 0 +db WRAP +db LEER +db THUNDER_WAVE +db AGILITY +db 5 ; growth rate +; learnset + tmlearn 2,6,7,8 + tmlearn 9,10,11,12,13,14,15 + tmlearn 20,23,24 + tmlearn 25,31,32 + tmlearn 33,34,38,39,40 + tmlearn 44,45 + tmlearn 50,53,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/dratini.asm b/data/pokemon/base_stats/dratini.asm new file mode 100644 index 00000000..c377c217 --- /dev/null +++ b/data/pokemon/base_stats/dratini.asm @@ -0,0 +1,28 @@ +db DEX_DRATINI ; pokedex id +db 41 ; base hp +db 64 ; base attack +db 45 ; base defense +db 50 ; base speed +db 50 ; base special +db DRAGON ; species type 1 +db DRAGON ; species type 2 +db 45 ; catch rate +db 67 ; base exp yield +INCBIN "gfx/pokemon/front/dratini.pic",0,1 ; 55, sprite dimensions +dw DratiniPicFront +dw DratiniPicBack +; attacks known at lvl 0 +db WRAP +db LEER +db 0 +db 0 +db 5 ; growth rate +; learnset + tmlearn 6,8 + tmlearn 9,10,11,12,13,14 + tmlearn 20,23,24 + tmlearn 25,31,32 + tmlearn 33,34,38,39,40 + tmlearn 44,45 + tmlearn 50,53 +db 0 ; padding diff --git a/data/pokemon/base_stats/drowzee.asm b/data/pokemon/base_stats/drowzee.asm new file mode 100644 index 00000000..075158c4 --- /dev/null +++ b/data/pokemon/base_stats/drowzee.asm @@ -0,0 +1,28 @@ +db DEX_DROWZEE ; pokedex id +db 60 ; base hp +db 48 ; base attack +db 45 ; base defense +db 42 ; base speed +db 90 ; base special +db PSYCHIC ; species type 1 +db PSYCHIC ; species type 2 +db 190 ; catch rate +db 102 ; base exp yield +INCBIN "gfx/pokemon/front/drowzee.pic",0,1 ; 66, sprite dimensions +dw DrowzeePicFront +dw DrowzeePicBack +; attacks known at lvl 0 +db POUND +db HYPNOSIS +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 1,5,6,8 + tmlearn 9,10 + tmlearn 17,18,19,20 + tmlearn 29,30,31,32 + tmlearn 33,34,35,40 + tmlearn 42,44,45,46 + tmlearn 49,50,55 +db 0 ; padding diff --git a/data/pokemon/base_stats/dugtrio.asm b/data/pokemon/base_stats/dugtrio.asm new file mode 100644 index 00000000..86a55e22 --- /dev/null +++ b/data/pokemon/base_stats/dugtrio.asm @@ -0,0 +1,28 @@ +db DEX_DUGTRIO ; pokedex id +db 35 ; base hp +db 80 ; base attack +db 50 ; base defense +db 120 ; base speed +db 70 ; base special +db GROUND ; species type 1 +db GROUND ; species type 2 +db 50 ; catch rate +db 153 ; base exp yield +INCBIN "gfx/pokemon/front/dugtrio.pic",0,1 ; 66, sprite dimensions +dw DugtrioPicFront +dw DugtrioPicBack +; attacks known at lvl 0 +db SCRATCH +db GROWL +db DIG +db 0 +db 0 ; growth rate +; learnset + tmlearn 6,8 + tmlearn 9,10,15 + tmlearn 20 + tmlearn 26,27,28,31,32 + tmlearn 34 + tmlearn 44,48 + tmlearn 50 +db 0 ; padding diff --git a/data/pokemon/base_stats/eevee.asm b/data/pokemon/base_stats/eevee.asm new file mode 100644 index 00000000..d5cbaa9b --- /dev/null +++ b/data/pokemon/base_stats/eevee.asm @@ -0,0 +1,28 @@ +db DEX_EEVEE ; pokedex id +db 55 ; base hp +db 55 ; base attack +db 50 ; base defense +db 55 ; base speed +db 65 ; base special +db NORMAL ; species type 1 +db NORMAL ; species type 2 +db 45 ; catch rate +db 92 ; base exp yield +INCBIN "gfx/pokemon/front/eevee.pic",0,1 ; 55, sprite dimensions +dw EeveePicFront +dw EeveePicBack +; attacks known at lvl 0 +db TACKLE +db SAND_ATTACK +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 6,8 + tmlearn 9,10 + tmlearn 20 + tmlearn 31,32 + tmlearn 33,34,39,40 + tmlearn 44 + tmlearn 50 +db 0 ; padding diff --git a/data/pokemon/base_stats/ekans.asm b/data/pokemon/base_stats/ekans.asm new file mode 100644 index 00000000..94295b51 --- /dev/null +++ b/data/pokemon/base_stats/ekans.asm @@ -0,0 +1,28 @@ +db DEX_EKANS ; pokedex id +db 35 ; base hp +db 60 ; base attack +db 44 ; base defense +db 55 ; base speed +db 40 ; base special +db POISON ; species type 1 +db POISON ; species type 2 +db 255 ; catch rate +db 62 ; base exp yield +INCBIN "gfx/pokemon/front/ekans.pic",0,1 ; 55, sprite dimensions +dw EkansPicFront +dw EkansPicBack +; attacks known at lvl 0 +db WRAP +db LEER +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 6,8 + tmlearn 9,10 + tmlearn 20,21 + tmlearn 26,27,28,31,32 + tmlearn 34,40 + tmlearn 44,48 + tmlearn 50,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/electabuzz.asm b/data/pokemon/base_stats/electabuzz.asm new file mode 100644 index 00000000..5a1bc59f --- /dev/null +++ b/data/pokemon/base_stats/electabuzz.asm @@ -0,0 +1,28 @@ +db DEX_ELECTABUZZ ; pokedex id +db 65 ; base hp +db 83 ; base attack +db 57 ; base defense +db 105 ; base speed +db 85 ; base special +db ELECTRIC ; species type 1 +db ELECTRIC ; species type 2 +db 45 ; catch rate +db 156 ; base exp yield +INCBIN "gfx/pokemon/front/electabuzz.pic",0,1 ; 66, sprite dimensions +dw ElectabuzzPicFront +dw ElectabuzzPicBack +; attacks known at lvl 0 +db QUICK_ATTACK +db LEER +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 1,5,6,8 + tmlearn 9,10,15 + tmlearn 17,18,19,20,24 + tmlearn 25,29,30,31,32 + tmlearn 33,34,35,39,40 + tmlearn 44,45,46 + tmlearn 50,54,55 +db 0 ; padding diff --git a/data/pokemon/base_stats/electrode.asm b/data/pokemon/base_stats/electrode.asm new file mode 100644 index 00000000..86b023c3 --- /dev/null +++ b/data/pokemon/base_stats/electrode.asm @@ -0,0 +1,28 @@ +db DEX_ELECTRODE ; pokedex id +db 60 ; base hp +db 50 ; base attack +db 70 ; base defense +db 140 ; base speed +db 80 ; base special +db ELECTRIC ; species type 1 +db ELECTRIC ; species type 2 +db 60 ; catch rate +db 150 ; base exp yield +INCBIN "gfx/pokemon/front/electrode.pic",0,1 ; 55, sprite dimensions +dw ElectrodePicFront +dw ElectrodePicBack +; attacks known at lvl 0 +db TACKLE +db SCREECH +db SONICBOOM +db 0 +db 0 ; growth rate +; learnset + tmlearn 6 + tmlearn 9,15 + tmlearn 20,24 + tmlearn 25,30,31,32 + tmlearn 33,34,36,39,40 + tmlearn 44,45,47 + tmlearn 50,55 +db 0 ; padding diff --git a/data/pokemon/base_stats/exeggcute.asm b/data/pokemon/base_stats/exeggcute.asm new file mode 100644 index 00000000..6499362a --- /dev/null +++ b/data/pokemon/base_stats/exeggcute.asm @@ -0,0 +1,28 @@ +db DEX_EXEGGCUTE ; pokedex id +db 60 ; base hp +db 40 ; base attack +db 80 ; base defense +db 40 ; base speed +db 60 ; base special +db GRASS ; species type 1 +db PSYCHIC ; species type 2 +db 90 ; catch rate +db 98 ; base exp yield +INCBIN "gfx/pokemon/front/exeggcute.pic",0,1 ; 77, sprite dimensions +dw ExeggcutePicFront +dw ExeggcutePicBack +; attacks known at lvl 0 +db BARRAGE +db HYPNOSIS +db 0 +db 0 +db 5 ; growth rate +; learnset + tmlearn 6 + tmlearn 9,10 + tmlearn 20 + tmlearn 29,30,31,32 + tmlearn 33,34,36,37 + tmlearn 44,46,47 + tmlearn 50 +db 0 ; padding diff --git a/data/pokemon/base_stats/exeggutor.asm b/data/pokemon/base_stats/exeggutor.asm new file mode 100644 index 00000000..17b1f6a6 --- /dev/null +++ b/data/pokemon/base_stats/exeggutor.asm @@ -0,0 +1,28 @@ +db DEX_EXEGGUTOR ; pokedex id +db 95 ; base hp +db 95 ; base attack +db 85 ; base defense +db 55 ; base speed +db 125 ; base special +db GRASS ; species type 1 +db PSYCHIC ; species type 2 +db 45 ; catch rate +db 212 ; base exp yield +INCBIN "gfx/pokemon/front/exeggutor.pic",0,1 ; 77, sprite dimensions +dw ExeggutorPicFront +dw ExeggutorPicBack +; attacks known at lvl 0 +db BARRAGE +db HYPNOSIS +db 0 +db 0 +db 5 ; growth rate +; learnset + tmlearn 6 + tmlearn 9,10,15 + tmlearn 20,21,22 + tmlearn 29,30,31,32 + tmlearn 33,34,36,37 + tmlearn 44,46,47 + tmlearn 50,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/farfetchd.asm b/data/pokemon/base_stats/farfetchd.asm new file mode 100644 index 00000000..ffbb70f1 --- /dev/null +++ b/data/pokemon/base_stats/farfetchd.asm @@ -0,0 +1,28 @@ +db DEX_FARFETCHD ; pokedex id +db 52 ; base hp +db 65 ; base attack +db 55 ; base defense +db 60 ; base speed +db 58 ; base special +db NORMAL ; species type 1 +db FLYING ; species type 2 +db 45 ; catch rate +db 94 ; base exp yield +INCBIN "gfx/pokemon/front/farfetchd.pic",0,1 ; 66, sprite dimensions +dw FarfetchdPicFront +dw FarfetchdPicBack +; attacks known at lvl 0 +db PECK +db SAND_ATTACK +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 2,3,4,6,8 + tmlearn 9,10 + tmlearn 20 + tmlearn 31,32 + tmlearn 33,34,39,40 + tmlearn 44 + tmlearn 50,51,52 +db 0 ; padding diff --git a/data/pokemon/base_stats/fearow.asm b/data/pokemon/base_stats/fearow.asm new file mode 100644 index 00000000..d03722ba --- /dev/null +++ b/data/pokemon/base_stats/fearow.asm @@ -0,0 +1,28 @@ +db DEX_FEAROW ; pokedex id +db 65 ; base hp +db 90 ; base attack +db 65 ; base defense +db 100 ; base speed +db 61 ; base special +db NORMAL ; species type 1 +db FLYING ; species type 2 +db 90 ; catch rate +db 162 ; base exp yield +INCBIN "gfx/pokemon/front/fearow.pic",0,1 ; 77, sprite dimensions +dw FearowPicFront +dw FearowPicBack +; attacks known at lvl 0 +db PECK +db GROWL +db LEER +db 0 +db 0 ; growth rate +; learnset + tmlearn 2,4,6 + tmlearn 9,10,15 + tmlearn 20 + tmlearn 31,32 + tmlearn 34,39 + tmlearn 43,44 + tmlearn 50,52 +db 0 ; padding diff --git a/data/pokemon/base_stats/flareon.asm b/data/pokemon/base_stats/flareon.asm new file mode 100644 index 00000000..8ebe4ede --- /dev/null +++ b/data/pokemon/base_stats/flareon.asm @@ -0,0 +1,28 @@ +db DEX_FLAREON ; pokedex id +db 65 ; base hp +db 130 ; base attack +db 60 ; base defense +db 65 ; base speed +db 110 ; base special +db FIRE ; species type 1 +db FIRE ; species type 2 +db 45 ; catch rate +db 198 ; base exp yield +INCBIN "gfx/pokemon/front/flareon.pic",0,1 ; 66, sprite dimensions +dw FlareonPicFront +dw FlareonPicBack +; attacks known at lvl 0 +db TACKLE +db SAND_ATTACK +db QUICK_ATTACK +db EMBER +db 0 ; growth rate +; learnset + tmlearn 6,8 + tmlearn 9,10,15 + tmlearn 20 + tmlearn 31,32 + tmlearn 33,34,38,39,40 + tmlearn 44 + tmlearn 50 +db 0 ; padding diff --git a/data/pokemon/base_stats/gastly.asm b/data/pokemon/base_stats/gastly.asm new file mode 100644 index 00000000..b68d431b --- /dev/null +++ b/data/pokemon/base_stats/gastly.asm @@ -0,0 +1,28 @@ +db DEX_GASTLY ; pokedex id +db 30 ; base hp +db 35 ; base attack +db 30 ; base defense +db 80 ; base speed +db 100 ; base special +db GHOST ; species type 1 +db POISON ; species type 2 +db 190 ; catch rate +db 95 ; base exp yield +INCBIN "gfx/pokemon/front/gastly.pic",0,1 ; 77, sprite dimensions +dw GastlyPicFront +dw GastlyPicBack +; attacks known at lvl 0 +db LICK +db CONFUSE_RAY +db NIGHT_SHADE +db 0 +db 3 ; growth rate +; learnset + tmlearn 6 + tmlearn 0 + tmlearn 20,21,24 + tmlearn 25,29,31,32 + tmlearn 34,36 + tmlearn 42,44,46,47 + tmlearn 50 +db 0 ; padding diff --git a/data/pokemon/base_stats/gengar.asm b/data/pokemon/base_stats/gengar.asm new file mode 100644 index 00000000..bdbe5de6 --- /dev/null +++ b/data/pokemon/base_stats/gengar.asm @@ -0,0 +1,28 @@ +db DEX_GENGAR ; pokedex id +db 60 ; base hp +db 65 ; base attack +db 60 ; base defense +db 110 ; base speed +db 130 ; base special +db GHOST ; species type 1 +db POISON ; species type 2 +db 45 ; catch rate +db 190 ; base exp yield +INCBIN "gfx/pokemon/front/gengar.pic",0,1 ; 66, sprite dimensions +dw GengarPicFront +dw GengarPicBack +; attacks known at lvl 0 +db LICK +db CONFUSE_RAY +db NIGHT_SHADE +db 0 +db 3 ; growth rate +; learnset + tmlearn 1,5,6,8 + tmlearn 9,10,15 + tmlearn 17,18,19,20,21,24 + tmlearn 25,29,31,32 + tmlearn 34,35,36,40 + tmlearn 42,44,46,47 + tmlearn 50,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/geodude.asm b/data/pokemon/base_stats/geodude.asm new file mode 100644 index 00000000..9ffd1c86 --- /dev/null +++ b/data/pokemon/base_stats/geodude.asm @@ -0,0 +1,28 @@ +db DEX_GEODUDE ; pokedex id +db 40 ; base hp +db 80 ; base attack +db 100 ; base defense +db 20 ; base speed +db 30 ; base special +db ROCK ; species type 1 +db GROUND ; species type 2 +db 255 ; catch rate +db 86 ; base exp yield +INCBIN "gfx/pokemon/front/geodude.pic",0,1 ; 55, sprite dimensions +dw GeodudePicFront +dw GeodudePicBack +; attacks known at lvl 0 +db TACKLE +db 0 +db 0 +db 0 +db 3 ; growth rate +; learnset + tmlearn 1,6,8 + tmlearn 9,10 + tmlearn 17,18,19,20 + tmlearn 26,27,28,31,32 + tmlearn 34,35,36,38 + tmlearn 44,47,48 + tmlearn 50,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/gloom.asm b/data/pokemon/base_stats/gloom.asm new file mode 100644 index 00000000..6c08287e --- /dev/null +++ b/data/pokemon/base_stats/gloom.asm @@ -0,0 +1,28 @@ +db DEX_GLOOM ; pokedex id +db 60 ; base hp +db 65 ; base attack +db 70 ; base defense +db 40 ; base speed +db 85 ; base special +db GRASS ; species type 1 +db POISON ; species type 2 +db 120 ; catch rate +db 132 ; base exp yield +INCBIN "gfx/pokemon/front/gloom.pic",0,1 ; 66, sprite dimensions +dw GloomPicFront +dw GloomPicBack +; attacks known at lvl 0 +db ABSORB +db POISONPOWDER +db STUN_SPORE +db 0 +db 3 ; growth rate +; learnset + tmlearn 3,6 + tmlearn 9,10 + tmlearn 20,21,22 + tmlearn 31,32 + tmlearn 33,34 + tmlearn 44 + tmlearn 50,51 +db 0 ; padding diff --git a/data/pokemon/base_stats/golbat.asm b/data/pokemon/base_stats/golbat.asm new file mode 100644 index 00000000..de93ee3f --- /dev/null +++ b/data/pokemon/base_stats/golbat.asm @@ -0,0 +1,28 @@ +db DEX_GOLBAT ; pokedex id +db 75 ; base hp +db 80 ; base attack +db 70 ; base defense +db 90 ; base speed +db 75 ; base special +db POISON ; species type 1 +db FLYING ; species type 2 +db 90 ; catch rate +db 171 ; base exp yield +INCBIN "gfx/pokemon/front/golbat.pic",0,1 ; 77, sprite dimensions +dw GolbatPicFront +dw GolbatPicBack +; attacks known at lvl 0 +db LEECH_LIFE +db SCREECH +db BITE +db 0 +db 0 ; growth rate +; learnset + tmlearn 2,4,6 + tmlearn 9,10,15 + tmlearn 20,21 + tmlearn 31,32 + tmlearn 34,39 + tmlearn 44 + tmlearn 50 +db 0 ; padding diff --git a/data/pokemon/base_stats/goldeen.asm b/data/pokemon/base_stats/goldeen.asm new file mode 100644 index 00000000..32c89599 --- /dev/null +++ b/data/pokemon/base_stats/goldeen.asm @@ -0,0 +1,28 @@ +db DEX_GOLDEEN ; pokedex id +db 45 ; base hp +db 67 ; base attack +db 60 ; base defense +db 63 ; base speed +db 50 ; base special +db WATER ; species type 1 +db WATER ; species type 2 +db 225 ; catch rate +db 111 ; base exp yield +INCBIN "gfx/pokemon/front/goldeen.pic",0,1 ; 66, sprite dimensions +dw GoldeenPicFront +dw GoldeenPicBack +; attacks known at lvl 0 +db PECK +db TAIL_WHIP +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 6,7 + tmlearn 9,10,11,12,13,14 + tmlearn 20 + tmlearn 31,32 + tmlearn 34,39,40 + tmlearn 44 + tmlearn 50,53 +db 0 ; padding diff --git a/data/pokemon/base_stats/golduck.asm b/data/pokemon/base_stats/golduck.asm new file mode 100644 index 00000000..6f2cc6a9 --- /dev/null +++ b/data/pokemon/base_stats/golduck.asm @@ -0,0 +1,28 @@ +db DEX_GOLDUCK ; pokedex id +db 80 ; base hp +db 82 ; base attack +db 78 ; base defense +db 85 ; base speed +db 80 ; base special +db WATER ; species type 1 +db WATER ; species type 2 +db 75 ; catch rate +db 174 ; base exp yield +INCBIN "gfx/pokemon/front/golduck.pic",0,1 ; 77, sprite dimensions +dw GolduckPicFront +dw GolduckPicBack +; attacks known at lvl 0 +db SCRATCH +db TAIL_WHIP +db DISABLE +db 0 +db 0 ; growth rate +; learnset + tmlearn 1,5,6,8 + tmlearn 9,10,11,12,13,14,15,16 + tmlearn 17,18,19,20 + tmlearn 28,31,32 + tmlearn 34,39,40 + tmlearn 44 + tmlearn 50,53,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/golem.asm b/data/pokemon/base_stats/golem.asm new file mode 100644 index 00000000..b5506372 --- /dev/null +++ b/data/pokemon/base_stats/golem.asm @@ -0,0 +1,28 @@ +db DEX_GOLEM ; pokedex id +db 80 ; base hp +db 110 ; base attack +db 130 ; base defense +db 45 ; base speed +db 55 ; base special +db ROCK ; species type 1 +db GROUND ; species type 2 +db 45 ; catch rate +db 177 ; base exp yield +INCBIN "gfx/pokemon/front/golem.pic",0,1 ; 66, sprite dimensions +dw GolemPicFront +dw GolemPicBack +; attacks known at lvl 0 +db TACKLE +db DEFENSE_CURL +db 0 +db 0 +db 3 ; growth rate +; learnset + tmlearn 1,5,6,8 + tmlearn 9,10,15 + tmlearn 17,18,19,20 + tmlearn 26,27,28,31,32 + tmlearn 34,35,36,38 + tmlearn 44,47,48 + tmlearn 50,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/graveler.asm b/data/pokemon/base_stats/graveler.asm new file mode 100644 index 00000000..0525c587 --- /dev/null +++ b/data/pokemon/base_stats/graveler.asm @@ -0,0 +1,28 @@ +db DEX_GRAVELER ; pokedex id +db 55 ; base hp +db 95 ; base attack +db 115 ; base defense +db 35 ; base speed +db 45 ; base special +db ROCK ; species type 1 +db GROUND ; species type 2 +db 120 ; catch rate +db 134 ; base exp yield +INCBIN "gfx/pokemon/front/graveler.pic",0,1 ; 66, sprite dimensions +dw GravelerPicFront +dw GravelerPicBack +; attacks known at lvl 0 +db TACKLE +db DEFENSE_CURL +db 0 +db 0 +db 3 ; growth rate +; learnset + tmlearn 1,6,8 + tmlearn 9,10 + tmlearn 17,18,19,20 + tmlearn 26,27,28,31,32 + tmlearn 34,35,36,38 + tmlearn 44,47,48 + tmlearn 50,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/grimer.asm b/data/pokemon/base_stats/grimer.asm new file mode 100644 index 00000000..63533c00 --- /dev/null +++ b/data/pokemon/base_stats/grimer.asm @@ -0,0 +1,28 @@ +db DEX_GRIMER ; pokedex id +db 80 ; base hp +db 80 ; base attack +db 50 ; base defense +db 25 ; base speed +db 40 ; base special +db POISON ; species type 1 +db POISON ; species type 2 +db 190 ; catch rate +db 90 ; base exp yield +INCBIN "gfx/pokemon/front/grimer.pic",0,1 ; 55, sprite dimensions +dw GrimerPicFront +dw GrimerPicBack +; attacks known at lvl 0 +db POUND +db DISABLE +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 6,8 + tmlearn 0 + tmlearn 20,21,24 + tmlearn 25,31,32 + tmlearn 34,36,38 + tmlearn 44,47 + tmlearn 50 +db 0 ; padding diff --git a/data/pokemon/base_stats/growlithe.asm b/data/pokemon/base_stats/growlithe.asm new file mode 100644 index 00000000..9bf5e036 --- /dev/null +++ b/data/pokemon/base_stats/growlithe.asm @@ -0,0 +1,28 @@ +db DEX_GROWLITHE ; pokedex id +db 55 ; base hp +db 70 ; base attack +db 45 ; base defense +db 60 ; base speed +db 50 ; base special +db FIRE ; species type 1 +db FIRE ; species type 2 +db 190 ; catch rate +db 91 ; base exp yield +INCBIN "gfx/pokemon/front/growlithe.pic",0,1 ; 55, sprite dimensions +dw GrowlithePicFront +dw GrowlithePicBack +; attacks known at lvl 0 +db BITE +db ROAR +db 0 +db 0 +db 5 ; growth rate +; learnset + tmlearn 6,8 + tmlearn 9,10 + tmlearn 20,23 + tmlearn 28,31,32 + tmlearn 33,34,38,39,40 + tmlearn 44 + tmlearn 50 +db 0 ; padding diff --git a/data/pokemon/base_stats/gyarados.asm b/data/pokemon/base_stats/gyarados.asm new file mode 100644 index 00000000..3cd2e213 --- /dev/null +++ b/data/pokemon/base_stats/gyarados.asm @@ -0,0 +1,28 @@ +db DEX_GYARADOS ; pokedex id +db 95 ; base hp +db 125 ; base attack +db 79 ; base defense +db 81 ; base speed +db 100 ; base special +db WATER ; species type 1 +db FLYING ; species type 2 +db 45 ; catch rate +db 214 ; base exp yield +INCBIN "gfx/pokemon/front/gyarados.pic",0,1 ; 77, sprite dimensions +dw GyaradosPicFront +dw GyaradosPicBack +; attacks known at lvl 0 +db BITE +db DRAGON_RAGE +db LEER +db HYDRO_PUMP +db 5 ; growth rate +; learnset + tmlearn 6,8 + tmlearn 9,10,11,12,13,14,15 + tmlearn 20,23,24 + tmlearn 25,31,32 + tmlearn 33,34,38,40 + tmlearn 44 + tmlearn 50,53,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/haunter.asm b/data/pokemon/base_stats/haunter.asm new file mode 100644 index 00000000..879b75d4 --- /dev/null +++ b/data/pokemon/base_stats/haunter.asm @@ -0,0 +1,28 @@ +db DEX_HAUNTER ; pokedex id +db 45 ; base hp +db 50 ; base attack +db 45 ; base defense +db 95 ; base speed +db 115 ; base special +db GHOST ; species type 1 +db POISON ; species type 2 +db 90 ; catch rate +db 126 ; base exp yield +INCBIN "gfx/pokemon/front/haunter.pic",0,1 ; 66, sprite dimensions +dw HaunterPicFront +dw HaunterPicBack +; attacks known at lvl 0 +db LICK +db CONFUSE_RAY +db NIGHT_SHADE +db 0 +db 3 ; growth rate +; learnset + tmlearn 6 + tmlearn 0 + tmlearn 20,21,24 + tmlearn 25,29,31,32 + tmlearn 34,36 + tmlearn 42,44,46,47 + tmlearn 50 +db 0 ; padding diff --git a/data/pokemon/base_stats/hitmonchan.asm b/data/pokemon/base_stats/hitmonchan.asm new file mode 100644 index 00000000..f34bf086 --- /dev/null +++ b/data/pokemon/base_stats/hitmonchan.asm @@ -0,0 +1,28 @@ +db DEX_HITMONCHAN ; pokedex id +db 50 ; base hp +db 105 ; base attack +db 79 ; base defense +db 76 ; base speed +db 35 ; base special +db FIGHTING ; species type 1 +db FIGHTING ; species type 2 +db 45 ; catch rate +db 140 ; base exp yield +INCBIN "gfx/pokemon/front/hitmonchan.pic",0,1 ; 66, sprite dimensions +dw HitmonchanPicFront +dw HitmonchanPicBack +; attacks known at lvl 0 +db COMET_PUNCH +db AGILITY +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 1,5,6,8 + tmlearn 9,10 + tmlearn 17,18,19,20 + tmlearn 31,32 + tmlearn 34,35,39,40 + tmlearn 44 + tmlearn 50,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/hitmonlee.asm b/data/pokemon/base_stats/hitmonlee.asm new file mode 100644 index 00000000..2590bfb0 --- /dev/null +++ b/data/pokemon/base_stats/hitmonlee.asm @@ -0,0 +1,28 @@ +db DEX_HITMONLEE ; pokedex id +db 50 ; base hp +db 120 ; base attack +db 53 ; base defense +db 87 ; base speed +db 35 ; base special +db FIGHTING ; species type 1 +db FIGHTING ; species type 2 +db 45 ; catch rate +db 139 ; base exp yield +INCBIN "gfx/pokemon/front/hitmonlee.pic",0,1 ; 77, sprite dimensions +dw HitmonleePicFront +dw HitmonleePicBack +; attacks known at lvl 0 +db DOUBLE_KICK +db MEDITATE +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 1,5,6,8 + tmlearn 9,10 + tmlearn 17,18,19,20 + tmlearn 31,32 + tmlearn 34,35,39,40 + tmlearn 44 + tmlearn 50,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/horsea.asm b/data/pokemon/base_stats/horsea.asm new file mode 100644 index 00000000..ecf98197 --- /dev/null +++ b/data/pokemon/base_stats/horsea.asm @@ -0,0 +1,28 @@ +db DEX_HORSEA ; pokedex id +db 30 ; base hp +db 40 ; base attack +db 70 ; base defense +db 60 ; base speed +db 70 ; base special +db WATER ; species type 1 +db WATER ; species type 2 +db 225 ; catch rate +db 83 ; base exp yield +INCBIN "gfx/pokemon/front/horsea.pic",0,1 ; 55, sprite dimensions +dw HorseaPicFront +dw HorseaPicBack +; attacks known at lvl 0 +db BUBBLE +db 0 +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 6 + tmlearn 9,10,11,12,13,14 + tmlearn 20 + tmlearn 31,32 + tmlearn 34,39,40 + tmlearn 44 + tmlearn 50,53 +db 0 ; padding diff --git a/data/pokemon/base_stats/hypno.asm b/data/pokemon/base_stats/hypno.asm new file mode 100644 index 00000000..9d251cd6 --- /dev/null +++ b/data/pokemon/base_stats/hypno.asm @@ -0,0 +1,28 @@ +db DEX_HYPNO ; pokedex id +db 85 ; base hp +db 73 ; base attack +db 70 ; base defense +db 67 ; base speed +db 115 ; base special +db PSYCHIC ; species type 1 +db PSYCHIC ; species type 2 +db 75 ; catch rate +db 165 ; base exp yield +INCBIN "gfx/pokemon/front/hypno.pic",0,1 ; 77, sprite dimensions +dw HypnoPicFront +dw HypnoPicBack +; attacks known at lvl 0 +db POUND +db HYPNOSIS +db DISABLE +db CONFUSION +db 0 ; growth rate +; learnset + tmlearn 1,5,6,8 + tmlearn 9,10,15 + tmlearn 17,18,19,20 + tmlearn 29,30,31,32 + tmlearn 33,34,35,40 + tmlearn 42,44,45,46 + tmlearn 49,50,55 +db 0 ; padding diff --git a/data/pokemon/base_stats/ivysaur.asm b/data/pokemon/base_stats/ivysaur.asm new file mode 100644 index 00000000..f90549b9 --- /dev/null +++ b/data/pokemon/base_stats/ivysaur.asm @@ -0,0 +1,28 @@ +db DEX_IVYSAUR ; pokedex id +db 60 ; base hp +db 62 ; base attack +db 63 ; base defense +db 60 ; base speed +db 80 ; base special +db GRASS ; species type 1 +db POISON ; species type 2 +db 45 ; catch rate +db 141 ; base exp yield +INCBIN "gfx/pokemon/front/ivysaur.pic",0,1 ; 66, sprite dimensions +dw IvysaurPicFront +dw IvysaurPicBack +; attacks known at lvl 0 +db TACKLE +db GROWL +db LEECH_SEED +db 0 +db 3 ; growth rate +; learnset + tmlearn 3,6,8 + tmlearn 9,10 + tmlearn 20,21,22 + tmlearn 31,32 + tmlearn 33,34 + tmlearn 44 + tmlearn 50,51 +db 0 ; padding diff --git a/data/pokemon/base_stats/jigglypuff.asm b/data/pokemon/base_stats/jigglypuff.asm new file mode 100644 index 00000000..0a6bdf49 --- /dev/null +++ b/data/pokemon/base_stats/jigglypuff.asm @@ -0,0 +1,28 @@ +db DEX_JIGGLYPUFF ; pokedex id +db 115 ; base hp +db 45 ; base attack +db 20 ; base defense +db 20 ; base speed +db 25 ; base special +db NORMAL ; species type 1 +db NORMAL ; species type 2 +db 170 ; catch rate +db 76 ; base exp yield +INCBIN "gfx/pokemon/front/jigglypuff.pic",0,1 ; 55, sprite dimensions +dw JigglypuffPicFront +dw JigglypuffPicBack +; attacks known at lvl 0 +db SING +db 0 +db 0 +db 0 +db 4 ; growth rate +; learnset + tmlearn 1,5,6,8 + tmlearn 9,10,11,12,13,14 + tmlearn 17,18,19,20,22,24 + tmlearn 25,29,30,31,32 + tmlearn 33,34,38,40 + tmlearn 44,45,46 + tmlearn 49,50,54,55 +db 0 ; padding diff --git a/data/pokemon/base_stats/jolteon.asm b/data/pokemon/base_stats/jolteon.asm new file mode 100644 index 00000000..1752354b --- /dev/null +++ b/data/pokemon/base_stats/jolteon.asm @@ -0,0 +1,28 @@ +db DEX_JOLTEON ; pokedex id +db 65 ; base hp +db 65 ; base attack +db 60 ; base defense +db 130 ; base speed +db 110 ; base special +db ELECTRIC ; species type 1 +db ELECTRIC ; species type 2 +db 45 ; catch rate +db 197 ; base exp yield +INCBIN "gfx/pokemon/front/jolteon.pic",0,1 ; 66, sprite dimensions +dw JolteonPicFront +dw JolteonPicBack +; attacks known at lvl 0 +db TACKLE +db SAND_ATTACK +db QUICK_ATTACK +db THUNDERSHOCK +db 0 ; growth rate +; learnset + tmlearn 6,8 + tmlearn 9,10,15 + tmlearn 20,24 + tmlearn 25,31,32 + tmlearn 33,34,39,40 + tmlearn 44,45 + tmlearn 50,55 +db 0 ; padding diff --git a/data/pokemon/base_stats/jynx.asm b/data/pokemon/base_stats/jynx.asm new file mode 100644 index 00000000..f82796e5 --- /dev/null +++ b/data/pokemon/base_stats/jynx.asm @@ -0,0 +1,28 @@ +db DEX_JYNX ; pokedex id +db 65 ; base hp +db 50 ; base attack +db 35 ; base defense +db 95 ; base speed +db 95 ; base special +db ICE ; species type 1 +db PSYCHIC ; species type 2 +db 45 ; catch rate +db 137 ; base exp yield +INCBIN "gfx/pokemon/front/jynx.pic",0,1 ; 66, sprite dimensions +dw JynxPicFront +dw JynxPicBack +; attacks known at lvl 0 +db POUND +db LOVELY_KISS +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 1,5,6,8 + tmlearn 9,10,11,12,13,14,15 + tmlearn 17,18,19,20 + tmlearn 29,30,31,32 + tmlearn 33,34,35,40 + tmlearn 44,46 + tmlearn 50 +db 0 ; padding diff --git a/data/pokemon/base_stats/kabuto.asm b/data/pokemon/base_stats/kabuto.asm new file mode 100644 index 00000000..fc2df213 --- /dev/null +++ b/data/pokemon/base_stats/kabuto.asm @@ -0,0 +1,28 @@ +db DEX_KABUTO ; pokedex id +db 30 ; base hp +db 80 ; base attack +db 90 ; base defense +db 55 ; base speed +db 45 ; base special +db ROCK ; species type 1 +db WATER ; species type 2 +db 45 ; catch rate +db 119 ; base exp yield +INCBIN "gfx/pokemon/front/kabuto.pic",0,1 ; 55, sprite dimensions +dw KabutoPicFront +dw KabutoPicBack +; attacks known at lvl 0 +db SCRATCH +db HARDEN +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 6,8 + tmlearn 9,10,11,12,13,14 + tmlearn 20 + tmlearn 31,32 + tmlearn 33,34 + tmlearn 44 + tmlearn 50,53 +db 0 ; padding diff --git a/data/pokemon/base_stats/kabutops.asm b/data/pokemon/base_stats/kabutops.asm new file mode 100644 index 00000000..ca35e56a --- /dev/null +++ b/data/pokemon/base_stats/kabutops.asm @@ -0,0 +1,28 @@ +db DEX_KABUTOPS ; pokedex id +db 60 ; base hp +db 115 ; base attack +db 105 ; base defense +db 80 ; base speed +db 70 ; base special +db ROCK ; species type 1 +db WATER ; species type 2 +db 45 ; catch rate +db 201 ; base exp yield +INCBIN "gfx/pokemon/front/kabutops.pic",0,1 ; 66, sprite dimensions +dw KabutopsPicFront +dw KabutopsPicBack +; attacks known at lvl 0 +db SCRATCH +db HARDEN +db ABSORB +db 0 +db 0 ; growth rate +; learnset + tmlearn 2,3,5,6,8 + tmlearn 9,10,11,12,13,14,15 + tmlearn 17,19,20 + tmlearn 31,32 + tmlearn 33,34,40 + tmlearn 44 + tmlearn 50,53 +db 0 ; padding diff --git a/data/pokemon/base_stats/kadabra.asm b/data/pokemon/base_stats/kadabra.asm new file mode 100644 index 00000000..652f762a --- /dev/null +++ b/data/pokemon/base_stats/kadabra.asm @@ -0,0 +1,28 @@ +db DEX_KADABRA ; pokedex id +db 40 ; base hp +db 35 ; base attack +db 30 ; base defense +db 105 ; base speed +db 120 ; base special +db PSYCHIC ; species type 1 +db PSYCHIC ; species type 2 +db 100 ; catch rate +db 145 ; base exp yield +INCBIN "gfx/pokemon/front/kadabra.pic",0,1 ; 66, sprite dimensions +dw KadabraPicFront +dw KadabraPicBack +; attacks known at lvl 0 +db TELEPORT +db CONFUSION +db DISABLE +db 0 +db 3 ; growth rate +; learnset + tmlearn 1,5,6,8 + tmlearn 9,10 + tmlearn 17,18,19,20 + tmlearn 28,29,30,31,32 + tmlearn 33,34,35,40 + tmlearn 44,45,46 + tmlearn 49,50,55 +db 0 ; padding diff --git a/data/pokemon/base_stats/kakuna.asm b/data/pokemon/base_stats/kakuna.asm new file mode 100644 index 00000000..4a7ec5b4 --- /dev/null +++ b/data/pokemon/base_stats/kakuna.asm @@ -0,0 +1,28 @@ +db DEX_KAKUNA ; pokedex id +db 45 ; base hp +db 25 ; base attack +db 50 ; base defense +db 35 ; base speed +db 25 ; base special +db BUG ; species type 1 +db POISON ; species type 2 +db 120 ; catch rate +db 71 ; base exp yield +INCBIN "gfx/pokemon/front/kakuna.pic",0,1 ; 55, sprite dimensions +dw KakunaPicFront +dw KakunaPicBack +; attacks known at lvl 0 +db HARDEN +db 0 +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 0 + tmlearn 0 + tmlearn 0 + tmlearn 0 + tmlearn 0 + tmlearn 0 + tmlearn 0 +db 0 ; padding diff --git a/data/pokemon/base_stats/kangaskhan.asm b/data/pokemon/base_stats/kangaskhan.asm new file mode 100644 index 00000000..381c8879 --- /dev/null +++ b/data/pokemon/base_stats/kangaskhan.asm @@ -0,0 +1,28 @@ +db DEX_KANGASKHAN ; pokedex id +db 105 ; base hp +db 95 ; base attack +db 80 ; base defense +db 90 ; base speed +db 40 ; base special +db NORMAL ; species type 1 +db NORMAL ; species type 2 +db 45 ; catch rate +db 175 ; base exp yield +INCBIN "gfx/pokemon/front/kangaskhan.pic",0,1 ; 77, sprite dimensions +dw KangaskhanPicFront +dw KangaskhanPicBack +; attacks known at lvl 0 +db COMET_PUNCH +db RAGE +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 1,5,6,8 + tmlearn 9,10,11,12,13,14,15 + tmlearn 17,18,19,20,24 + tmlearn 25,26,27,31,32 + tmlearn 34,38,40 + tmlearn 44,48 + tmlearn 50,53,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/kingler.asm b/data/pokemon/base_stats/kingler.asm new file mode 100644 index 00000000..d4b426fb --- /dev/null +++ b/data/pokemon/base_stats/kingler.asm @@ -0,0 +1,28 @@ +db DEX_KINGLER ; pokedex id +db 55 ; base hp +db 130 ; base attack +db 115 ; base defense +db 75 ; base speed +db 50 ; base special +db WATER ; species type 1 +db WATER ; species type 2 +db 60 ; catch rate +db 206 ; base exp yield +INCBIN "gfx/pokemon/front/kingler.pic",0,1 ; 77, sprite dimensions +dw KinglerPicFront +dw KinglerPicBack +; attacks known at lvl 0 +db BUBBLE +db LEER +db VICEGRIP +db 0 +db 0 ; growth rate +; learnset + tmlearn 3,6,8 + tmlearn 9,10,11,12,13,14,15 + tmlearn 20 + tmlearn 31,32 + tmlearn 34 + tmlearn 44 + tmlearn 50,51,53,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/koffing.asm b/data/pokemon/base_stats/koffing.asm new file mode 100644 index 00000000..ca3e1029 --- /dev/null +++ b/data/pokemon/base_stats/koffing.asm @@ -0,0 +1,28 @@ +db DEX_KOFFING ; pokedex id +db 40 ; base hp +db 65 ; base attack +db 95 ; base defense +db 35 ; base speed +db 60 ; base special +db POISON ; species type 1 +db POISON ; species type 2 +db 190 ; catch rate +db 114 ; base exp yield +INCBIN "gfx/pokemon/front/koffing.pic",0,1 ; 66, sprite dimensions +dw KoffingPicFront +dw KoffingPicBack +; attacks known at lvl 0 +db TACKLE +db SMOG +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 6 + tmlearn 0 + tmlearn 20,24 + tmlearn 25,31,32 + tmlearn 34,36,38 + tmlearn 44,47 + tmlearn 50 +db 0 ; padding diff --git a/data/pokemon/base_stats/krabby.asm b/data/pokemon/base_stats/krabby.asm new file mode 100644 index 00000000..d1839d26 --- /dev/null +++ b/data/pokemon/base_stats/krabby.asm @@ -0,0 +1,28 @@ +db DEX_KRABBY ; pokedex id +db 30 ; base hp +db 105 ; base attack +db 90 ; base defense +db 50 ; base speed +db 25 ; base special +db WATER ; species type 1 +db WATER ; species type 2 +db 225 ; catch rate +db 115 ; base exp yield +INCBIN "gfx/pokemon/front/krabby.pic",0,1 ; 55, sprite dimensions +dw KrabbyPicFront +dw KrabbyPicBack +; attacks known at lvl 0 +db BUBBLE +db LEER +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 3,6,8 + tmlearn 9,10,11,12,13,14 + tmlearn 20 + tmlearn 31,32 + tmlearn 34 + tmlearn 44 + tmlearn 50,51,53,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/lapras.asm b/data/pokemon/base_stats/lapras.asm new file mode 100644 index 00000000..17b80461 --- /dev/null +++ b/data/pokemon/base_stats/lapras.asm @@ -0,0 +1,28 @@ +db DEX_LAPRAS ; pokedex id +db 130 ; base hp +db 85 ; base attack +db 80 ; base defense +db 60 ; base speed +db 95 ; base special +db WATER ; species type 1 +db ICE ; species type 2 +db 45 ; catch rate +db 219 ; base exp yield +INCBIN "gfx/pokemon/front/lapras.pic",0,1 ; 77, sprite dimensions +dw LaprasPicFront +dw LaprasPicBack +; attacks known at lvl 0 +db WATER_GUN +db GROWL +db 0 +db 0 +db 5 ; growth rate +; learnset + tmlearn 6,7,8 + tmlearn 9,10,11,12,13,14,15 + tmlearn 20,22,23,24 + tmlearn 25,29,31,32 + tmlearn 33,34,40 + tmlearn 44,46 + tmlearn 50,53,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/lickitung.asm b/data/pokemon/base_stats/lickitung.asm new file mode 100644 index 00000000..5c772dd3 --- /dev/null +++ b/data/pokemon/base_stats/lickitung.asm @@ -0,0 +1,28 @@ +db DEX_LICKITUNG ; pokedex id +db 90 ; base hp +db 55 ; base attack +db 75 ; base defense +db 30 ; base speed +db 60 ; base special +db NORMAL ; species type 1 +db NORMAL ; species type 2 +db 45 ; catch rate +db 127 ; base exp yield +INCBIN "gfx/pokemon/front/lickitung.pic",0,1 ; 77, sprite dimensions +dw LickitungPicFront +dw LickitungPicBack +; attacks known at lvl 0 +db WRAP +db SUPERSONIC +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 1,3,5,6,8 + tmlearn 9,10,11,12,13,14,15 + tmlearn 17,18,19,20,24 + tmlearn 25,26,27,31,32 + tmlearn 34,38,40 + tmlearn 44 + tmlearn 50,51,53,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/machamp.asm b/data/pokemon/base_stats/machamp.asm new file mode 100644 index 00000000..825766a6 --- /dev/null +++ b/data/pokemon/base_stats/machamp.asm @@ -0,0 +1,28 @@ +db DEX_MACHAMP ; pokedex id +db 90 ; base hp +db 130 ; base attack +db 80 ; base defense +db 55 ; base speed +db 65 ; base special +db FIGHTING ; species type 1 +db FIGHTING ; species type 2 +db 45 ; catch rate +db 193 ; base exp yield +INCBIN "gfx/pokemon/front/machamp.pic",0,1 ; 77, sprite dimensions +dw MachampPicFront +dw MachampPicBack +; attacks known at lvl 0 +db KARATE_CHOP +db LOW_KICK +db LEER +db 0 +db 3 ; growth rate +; learnset + tmlearn 1,5,6,8 + tmlearn 9,10,15 + tmlearn 17,18,19,20 + tmlearn 26,27,28,31,32 + tmlearn 34,35,38,40 + tmlearn 44,48 + tmlearn 50,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/machoke.asm b/data/pokemon/base_stats/machoke.asm new file mode 100644 index 00000000..9bc5df42 --- /dev/null +++ b/data/pokemon/base_stats/machoke.asm @@ -0,0 +1,28 @@ +db DEX_MACHOKE ; pokedex id +db 80 ; base hp +db 100 ; base attack +db 70 ; base defense +db 45 ; base speed +db 50 ; base special +db FIGHTING ; species type 1 +db FIGHTING ; species type 2 +db 90 ; catch rate +db 146 ; base exp yield +INCBIN "gfx/pokemon/front/machoke.pic",0,1 ; 77, sprite dimensions +dw MachokePicFront +dw MachokePicBack +; attacks known at lvl 0 +db KARATE_CHOP +db LOW_KICK +db LEER +db 0 +db 3 ; growth rate +; learnset + tmlearn 1,5,6,8 + tmlearn 9,10 + tmlearn 17,18,19,20 + tmlearn 26,27,28,31,32 + tmlearn 34,35,38,40 + tmlearn 44,48 + tmlearn 50,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/machop.asm b/data/pokemon/base_stats/machop.asm new file mode 100644 index 00000000..a691183a --- /dev/null +++ b/data/pokemon/base_stats/machop.asm @@ -0,0 +1,28 @@ +db DEX_MACHOP ; pokedex id +db 70 ; base hp +db 80 ; base attack +db 50 ; base defense +db 35 ; base speed +db 35 ; base special +db FIGHTING ; species type 1 +db FIGHTING ; species type 2 +db 180 ; catch rate +db 88 ; base exp yield +INCBIN "gfx/pokemon/front/machop.pic",0,1 ; 55, sprite dimensions +dw MachopPicFront +dw MachopPicBack +; attacks known at lvl 0 +db KARATE_CHOP +db 0 +db 0 +db 0 +db 3 ; growth rate +; learnset + tmlearn 1,5,6,8 + tmlearn 9,10 + tmlearn 17,18,19,20 + tmlearn 26,27,28,31,32 + tmlearn 34,35,38,40 + tmlearn 44,48 + tmlearn 50,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/magikarp.asm b/data/pokemon/base_stats/magikarp.asm new file mode 100644 index 00000000..5185e3f0 --- /dev/null +++ b/data/pokemon/base_stats/magikarp.asm @@ -0,0 +1,28 @@ +db DEX_MAGIKARP ; pokedex id +db 20 ; base hp +db 10 ; base attack +db 55 ; base defense +db 80 ; base speed +db 20 ; base special +db WATER ; species type 1 +db WATER ; species type 2 +db 255 ; catch rate +db 20 ; base exp yield +INCBIN "gfx/pokemon/front/magikarp.pic",0,1 ; 66, sprite dimensions +dw MagikarpPicFront +dw MagikarpPicBack +; attacks known at lvl 0 +db SPLASH +db 0 +db 0 +db 0 +db 5 ; growth rate +; learnset + tmlearn 0 + tmlearn 0 + tmlearn 0 + tmlearn 0 + tmlearn 0 + tmlearn 0 + tmlearn 0 +db 0 ; padding diff --git a/data/pokemon/base_stats/magmar.asm b/data/pokemon/base_stats/magmar.asm new file mode 100644 index 00000000..b24f519c --- /dev/null +++ b/data/pokemon/base_stats/magmar.asm @@ -0,0 +1,28 @@ +db DEX_MAGMAR ; pokedex id +db 65 ; base hp +db 95 ; base attack +db 57 ; base defense +db 93 ; base speed +db 85 ; base special +db FIRE ; species type 1 +db FIRE ; species type 2 +db 45 ; catch rate +db 167 ; base exp yield +INCBIN "gfx/pokemon/front/magmar.pic",0,1 ; 66, sprite dimensions +dw MagmarPicFront +dw MagmarPicBack +; attacks known at lvl 0 +db EMBER +db 0 +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 1,5,6,8 + tmlearn 9,10,15 + tmlearn 17,18,19,20 + tmlearn 29,30,31,32 + tmlearn 34,35,38,40 + tmlearn 44,46 + tmlearn 50,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/magnemite.asm b/data/pokemon/base_stats/magnemite.asm new file mode 100644 index 00000000..f7fe0b00 --- /dev/null +++ b/data/pokemon/base_stats/magnemite.asm @@ -0,0 +1,28 @@ +db DEX_MAGNEMITE ; pokedex id +db 25 ; base hp +db 35 ; base attack +db 70 ; base defense +db 45 ; base speed +db 95 ; base special +db ELECTRIC ; species type 1 +db ELECTRIC ; species type 2 +db 190 ; catch rate +db 89 ; base exp yield +INCBIN "gfx/pokemon/front/magnemite.pic",0,1 ; 55, sprite dimensions +dw MagnemitePicFront +dw MagnemitePicBack +; attacks known at lvl 0 +db TACKLE +db 0 +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 6 + tmlearn 9,10 + tmlearn 20,24 + tmlearn 25,30,31,32 + tmlearn 33,34,39 + tmlearn 44,45 + tmlearn 50,55 +db 0 ; padding diff --git a/data/pokemon/base_stats/magneton.asm b/data/pokemon/base_stats/magneton.asm new file mode 100644 index 00000000..7c32d059 --- /dev/null +++ b/data/pokemon/base_stats/magneton.asm @@ -0,0 +1,28 @@ +db DEX_MAGNETON ; pokedex id +db 50 ; base hp +db 60 ; base attack +db 95 ; base defense +db 70 ; base speed +db 120 ; base special +db ELECTRIC ; species type 1 +db ELECTRIC ; species type 2 +db 60 ; catch rate +db 161 ; base exp yield +INCBIN "gfx/pokemon/front/magneton.pic",0,1 ; 66, sprite dimensions +dw MagnetonPicFront +dw MagnetonPicBack +; attacks known at lvl 0 +db TACKLE +db SONICBOOM +db THUNDERSHOCK +db 0 +db 0 ; growth rate +; learnset + tmlearn 6 + tmlearn 9,10,15 + tmlearn 20,24 + tmlearn 25,30,31,32 + tmlearn 33,34,39 + tmlearn 44,45 + tmlearn 50,55 +db 0 ; padding diff --git a/data/pokemon/base_stats/mankey.asm b/data/pokemon/base_stats/mankey.asm new file mode 100644 index 00000000..07b961c5 --- /dev/null +++ b/data/pokemon/base_stats/mankey.asm @@ -0,0 +1,28 @@ +db DEX_MANKEY ; pokedex id +db 40 ; base hp +db 80 ; base attack +db 35 ; base defense +db 70 ; base speed +db 35 ; base special +db FIGHTING ; species type 1 +db FIGHTING ; species type 2 +db 190 ; catch rate +db 74 ; base exp yield +INCBIN "gfx/pokemon/front/mankey.pic",0,1 ; 55, sprite dimensions +dw MankeyPicFront +dw MankeyPicBack +; attacks known at lvl 0 +db SCRATCH +db LEER +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 1,5,6,8 + tmlearn 9,10,16 + tmlearn 17,18,19,20,24 + tmlearn 25,28,31,32 + tmlearn 34,35,39,40 + tmlearn 44,48 + tmlearn 50,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/marowak.asm b/data/pokemon/base_stats/marowak.asm new file mode 100644 index 00000000..a2c5a4c6 --- /dev/null +++ b/data/pokemon/base_stats/marowak.asm @@ -0,0 +1,28 @@ +db DEX_MAROWAK ; pokedex id +db 60 ; base hp +db 80 ; base attack +db 110 ; base defense +db 45 ; base speed +db 50 ; base special +db GROUND ; species type 1 +db GROUND ; species type 2 +db 75 ; catch rate +db 124 ; base exp yield +INCBIN "gfx/pokemon/front/marowak.pic",0,1 ; 66, sprite dimensions +dw MarowakPicFront +dw MarowakPicBack +; attacks known at lvl 0 +db BONE_CLUB +db GROWL +db LEER +db FOCUS_ENERGY +db 0 ; growth rate +; learnset + tmlearn 1,5,6,8 + tmlearn 9,10,11,12,13,14,15 + tmlearn 17,18,19,20 + tmlearn 26,27,28,31,32 + tmlearn 34,38,40 + tmlearn 44 + tmlearn 50,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/meowth.asm b/data/pokemon/base_stats/meowth.asm new file mode 100644 index 00000000..aa1904ba --- /dev/null +++ b/data/pokemon/base_stats/meowth.asm @@ -0,0 +1,28 @@ +db DEX_MEOWTH ; pokedex id +db 40 ; base hp +db 45 ; base attack +db 35 ; base defense +db 90 ; base speed +db 40 ; base special +db NORMAL ; species type 1 +db NORMAL ; species type 2 +db 255 ; catch rate +db 69 ; base exp yield +INCBIN "gfx/pokemon/front/meowth.pic",0,1 ; 55, sprite dimensions +dw MeowthPicFront +dw MeowthPicBack +; attacks known at lvl 0 +db SCRATCH +db GROWL +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 6,8 + tmlearn 9,10,11,12,16 + tmlearn 20,24 + tmlearn 25,31,32 + tmlearn 34,39,40 + tmlearn 44 + tmlearn 50 +db 0 ; padding diff --git a/data/pokemon/base_stats/metapod.asm b/data/pokemon/base_stats/metapod.asm new file mode 100644 index 00000000..cf4f52b7 --- /dev/null +++ b/data/pokemon/base_stats/metapod.asm @@ -0,0 +1,28 @@ +db DEX_METAPOD ; pokedex id +db 50 ; base hp +db 20 ; base attack +db 55 ; base defense +db 30 ; base speed +db 25 ; base special +db BUG ; species type 1 +db BUG ; species type 2 +db 120 ; catch rate +db 72 ; base exp yield +INCBIN "gfx/pokemon/front/metapod.pic",0,1 ; 55, sprite dimensions +dw MetapodPicFront +dw MetapodPicBack +; attacks known at lvl 0 +db HARDEN +db 0 +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 0 + tmlearn 0 + tmlearn 0 + tmlearn 0 + tmlearn 0 + tmlearn 0 + tmlearn 0 +db 0 ; padding diff --git a/data/pokemon/base_stats/mew.asm b/data/pokemon/base_stats/mew.asm new file mode 100644 index 00000000..f89a2864 --- /dev/null +++ b/data/pokemon/base_stats/mew.asm @@ -0,0 +1,29 @@ +MewBaseStats:: +db DEX_MEW ; pokedex id +db 100 ; base hp +db 100 ; base attack +db 100 ; base defense +db 100 ; base speed +db 100 ; base special +db PSYCHIC ; species type 1 +db PSYCHIC ; species type 2 +db 45 ; catch rate +db 64 ; base exp yield +INCBIN "gfx/pokemon/front/mew.pic",0,1 ; 55, sprite dimensions +dw MewPicFront +dw MewPicBack +; attacks known at lvl 0 +db POUND +db 0 +db 0 +db 0 +db 3 ; growth rate +; learnset + tmlearn 1,2,3,4,5,6,7,8 + tmlearn 9,10,11,12,13,14,15,16 + tmlearn 17,18,19,20,21,22,23,24 + tmlearn 25,26,27,28,29,30,31,32 + tmlearn 33,34,35,36,37,38,39,40 + tmlearn 41,42,43,44,45,46,47,48 + tmlearn 49,50,51,52,53,54,55,56 +db %11111111 ; usually spacing diff --git a/data/pokemon/base_stats/mewtwo.asm b/data/pokemon/base_stats/mewtwo.asm new file mode 100644 index 00000000..6e85291d --- /dev/null +++ b/data/pokemon/base_stats/mewtwo.asm @@ -0,0 +1,28 @@ +db DEX_MEWTWO ; pokedex id +db 106 ; base hp +db 110 ; base attack +db 90 ; base defense +db 130 ; base speed +db 154 ; base special +db PSYCHIC ; species type 1 +db PSYCHIC ; species type 2 +db 3 ; catch rate +db 220 ; base exp yield +INCBIN "gfx/pokemon/front/mewtwo.pic",0,1 ; 77, sprite dimensions +dw MewtwoPicFront +dw MewtwoPicBack +; attacks known at lvl 0 +db CONFUSION +db DISABLE +db SWIFT +db PSYCHIC_M +db 5 ; growth rate +; learnset + tmlearn 1,5,6,8 + tmlearn 9,10,11,12,13,14,15,16 + tmlearn 17,18,19,20,22,24 + tmlearn 25,29,30,31,32 + tmlearn 33,34,35,36,38,40 + tmlearn 44,45,46 + tmlearn 49,50,54,55 +db 0 ; padding diff --git a/data/pokemon/base_stats/moltres.asm b/data/pokemon/base_stats/moltres.asm new file mode 100644 index 00000000..4c54cf44 --- /dev/null +++ b/data/pokemon/base_stats/moltres.asm @@ -0,0 +1,28 @@ +db DEX_MOLTRES ; pokedex id +db 90 ; base hp +db 100 ; base attack +db 90 ; base defense +db 90 ; base speed +db 125 ; base special +db FIRE ; species type 1 +db FLYING ; species type 2 +db 3 ; catch rate +db 217 ; base exp yield +INCBIN "gfx/pokemon/front/moltres.pic",0,1 ; 77, sprite dimensions +dw MoltresPicFront +dw MoltresPicBack +; attacks known at lvl 0 +db PECK +db FIRE_SPIN +db 0 +db 0 +db 5 ; growth rate +; learnset + tmlearn 2,4,6 + tmlearn 9,10,15 + tmlearn 20 + tmlearn 31,32 + tmlearn 33,34,38,39 + tmlearn 43,44 + tmlearn 50,52 +db 0 ; padding diff --git a/data/pokemon/base_stats/mrmime.asm b/data/pokemon/base_stats/mrmime.asm new file mode 100644 index 00000000..95f2655a --- /dev/null +++ b/data/pokemon/base_stats/mrmime.asm @@ -0,0 +1,28 @@ +db DEX_MR_MIME ; pokedex id +db 40 ; base hp +db 45 ; base attack +db 65 ; base defense +db 90 ; base speed +db 100 ; base special +db PSYCHIC ; species type 1 +db PSYCHIC ; species type 2 +db 45 ; catch rate +db 136 ; base exp yield +INCBIN "gfx/pokemon/front/mr.mime.pic",0,1 ; 66, sprite dimensions +dw MrMimePicFront +dw MrMimePicBack +; attacks known at lvl 0 +db CONFUSION +db BARRIER +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 1,5,6,8 + tmlearn 9,10,15 + tmlearn 17,18,19,20,22,24 + tmlearn 25,29,30,31,32 + tmlearn 33,34,35,40 + tmlearn 44,45,46 + tmlearn 50,55 +db 0 ; padding diff --git a/data/pokemon/base_stats/muk.asm b/data/pokemon/base_stats/muk.asm new file mode 100644 index 00000000..45f7921f --- /dev/null +++ b/data/pokemon/base_stats/muk.asm @@ -0,0 +1,28 @@ +db DEX_MUK ; pokedex id +db 105 ; base hp +db 105 ; base attack +db 75 ; base defense +db 50 ; base speed +db 65 ; base special +db POISON ; species type 1 +db POISON ; species type 2 +db 75 ; catch rate +db 157 ; base exp yield +INCBIN "gfx/pokemon/front/muk.pic",0,1 ; 77, sprite dimensions +dw MukPicFront +dw MukPicBack +; attacks known at lvl 0 +db POUND +db DISABLE +db POISON_GAS +db 0 +db 0 ; growth rate +; learnset + tmlearn 6,8 + tmlearn 15 + tmlearn 20,21,24 + tmlearn 25,31,32 + tmlearn 34,36,38 + tmlearn 44,47 + tmlearn 50 +db 0 ; padding diff --git a/data/pokemon/base_stats/nidoking.asm b/data/pokemon/base_stats/nidoking.asm new file mode 100644 index 00000000..7d5ff438 --- /dev/null +++ b/data/pokemon/base_stats/nidoking.asm @@ -0,0 +1,28 @@ +db DEX_NIDOKING ; pokedex id +db 81 ; base hp +db 92 ; base attack +db 77 ; base defense +db 85 ; base speed +db 75 ; base special +db POISON ; species type 1 +db GROUND ; species type 2 +db 45 ; catch rate +db 195 ; base exp yield +INCBIN "gfx/pokemon/front/nidoking.pic",0,1 ; 77, sprite dimensions +dw NidokingPicFront +dw NidokingPicBack +; attacks known at lvl 0 +db TACKLE +db HORN_ATTACK +db POISON_STING +db THRASH +db 3 ; growth rate +; learnset + tmlearn 1,5,6,7,8 + tmlearn 9,10,11,12,13,14,15,16 + tmlearn 17,18,19,20,24 + tmlearn 25,26,27,31,32 + tmlearn 33,34,38,40 + tmlearn 44,48 + tmlearn 50,53,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/nidoqueen.asm b/data/pokemon/base_stats/nidoqueen.asm new file mode 100644 index 00000000..9b635e3e --- /dev/null +++ b/data/pokemon/base_stats/nidoqueen.asm @@ -0,0 +1,28 @@ +db DEX_NIDOQUEEN ; pokedex id +db 90 ; base hp +db 82 ; base attack +db 87 ; base defense +db 76 ; base speed +db 75 ; base special +db POISON ; species type 1 +db GROUND ; species type 2 +db 45 ; catch rate +db 194 ; base exp yield +INCBIN "gfx/pokemon/front/nidoqueen.pic",0,1 ; 77, sprite dimensions +dw NidoqueenPicFront +dw NidoqueenPicBack +; attacks known at lvl 0 +db TACKLE +db SCRATCH +db TAIL_WHIP +db BODY_SLAM +db 3 ; growth rate +; learnset + tmlearn 1,5,6,7,8 + tmlearn 9,10,11,12,13,14,15,16 + tmlearn 17,18,19,20,24 + tmlearn 25,26,27,31,32 + tmlearn 33,34,38,40 + tmlearn 44,48 + tmlearn 50,53,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/nidoranf.asm b/data/pokemon/base_stats/nidoranf.asm new file mode 100644 index 00000000..f58e971d --- /dev/null +++ b/data/pokemon/base_stats/nidoranf.asm @@ -0,0 +1,28 @@ +db DEX_NIDORAN_F ; pokedex id +db 55 ; base hp +db 47 ; base attack +db 52 ; base defense +db 41 ; base speed +db 40 ; base special +db POISON ; species type 1 +db POISON ; species type 2 +db 235 ; catch rate +db 59 ; base exp yield +INCBIN "gfx/pokemon/front/nidoranf.pic",0,1 ; 55, sprite dimensions +dw NidoranFPicFront +dw NidoranFPicBack +; attacks known at lvl 0 +db GROWL +db TACKLE +db 0 +db 0 +db 3 ; growth rate +; learnset + tmlearn 6,8 + tmlearn 9,10,14 + tmlearn 20,24 + tmlearn 25,31,32 + tmlearn 33,34,40 + tmlearn 44 + tmlearn 50 +db 0 ; padding diff --git a/data/pokemon/base_stats/nidoranm.asm b/data/pokemon/base_stats/nidoranm.asm new file mode 100644 index 00000000..2c5374ba --- /dev/null +++ b/data/pokemon/base_stats/nidoranm.asm @@ -0,0 +1,28 @@ +db DEX_NIDORAN_M ; pokedex id +db 46 ; base hp +db 57 ; base attack +db 40 ; base defense +db 50 ; base speed +db 40 ; base special +db POISON ; species type 1 +db POISON ; species type 2 +db 235 ; catch rate +db 60 ; base exp yield +INCBIN "gfx/pokemon/front/nidoranm.pic",0,1 ; 55, sprite dimensions +dw NidoranMPicFront +dw NidoranMPicBack +; attacks known at lvl 0 +db LEER +db TACKLE +db 0 +db 0 +db 3 ; growth rate +; learnset + tmlearn 6,7,8 + tmlearn 9,10,14 + tmlearn 20,24 + tmlearn 25,31,32 + tmlearn 33,34,40 + tmlearn 44 + tmlearn 50 +db 0 ; padding diff --git a/data/pokemon/base_stats/nidorina.asm b/data/pokemon/base_stats/nidorina.asm new file mode 100644 index 00000000..ae7681c4 --- /dev/null +++ b/data/pokemon/base_stats/nidorina.asm @@ -0,0 +1,28 @@ +db DEX_NIDORINA ; pokedex id +db 70 ; base hp +db 62 ; base attack +db 67 ; base defense +db 56 ; base speed +db 55 ; base special +db POISON ; species type 1 +db POISON ; species type 2 +db 120 ; catch rate +db 117 ; base exp yield +INCBIN "gfx/pokemon/front/nidorina.pic",0,1 ; 66, sprite dimensions +dw NidorinaPicFront +dw NidorinaPicBack +; attacks known at lvl 0 +db GROWL +db TACKLE +db SCRATCH +db 0 +db 3 ; growth rate +; learnset + tmlearn 6,7,8 + tmlearn 9,10,11,12,13,14 + tmlearn 20,24 + tmlearn 25,31,32 + tmlearn 33,34,40 + tmlearn 44 + tmlearn 50 +db 0 ; padding diff --git a/data/pokemon/base_stats/nidorino.asm b/data/pokemon/base_stats/nidorino.asm new file mode 100644 index 00000000..c9c87c25 --- /dev/null +++ b/data/pokemon/base_stats/nidorino.asm @@ -0,0 +1,28 @@ +db DEX_NIDORINO ; pokedex id +db 61 ; base hp +db 72 ; base attack +db 57 ; base defense +db 65 ; base speed +db 55 ; base special +db POISON ; species type 1 +db POISON ; species type 2 +db 120 ; catch rate +db 118 ; base exp yield +INCBIN "gfx/pokemon/front/nidorino.pic",0,1 ; 66, sprite dimensions +dw NidorinoPicFront +dw NidorinoPicBack +; attacks known at lvl 0 +db LEER +db TACKLE +db HORN_ATTACK +db 0 +db 3 ; growth rate +; learnset + tmlearn 6,7,8 + tmlearn 9,10,11,12,13,14 + tmlearn 20,24 + tmlearn 25,31,32 + tmlearn 33,34,40 + tmlearn 44 + tmlearn 50 +db 0 ; padding diff --git a/data/pokemon/base_stats/ninetales.asm b/data/pokemon/base_stats/ninetales.asm new file mode 100644 index 00000000..88d95329 --- /dev/null +++ b/data/pokemon/base_stats/ninetales.asm @@ -0,0 +1,28 @@ +db DEX_NINETALES ; pokedex id +db 73 ; base hp +db 76 ; base attack +db 75 ; base defense +db 100 ; base speed +db 100 ; base special +db FIRE ; species type 1 +db FIRE ; species type 2 +db 75 ; catch rate +db 178 ; base exp yield +INCBIN "gfx/pokemon/front/ninetales.pic",0,1 ; 77, sprite dimensions +dw NinetalesPicFront +dw NinetalesPicBack +; attacks known at lvl 0 +db EMBER +db TAIL_WHIP +db QUICK_ATTACK +db ROAR +db 0 ; growth rate +; learnset + tmlearn 6,8 + tmlearn 9,10,15 + tmlearn 20 + tmlearn 28,31,32 + tmlearn 33,34,38,39,40 + tmlearn 44 + tmlearn 50 +db 0 ; padding diff --git a/data/pokemon/base_stats/oddish.asm b/data/pokemon/base_stats/oddish.asm new file mode 100644 index 00000000..d0309427 --- /dev/null +++ b/data/pokemon/base_stats/oddish.asm @@ -0,0 +1,28 @@ +db DEX_ODDISH ; pokedex id +db 45 ; base hp +db 50 ; base attack +db 55 ; base defense +db 30 ; base speed +db 75 ; base special +db GRASS ; species type 1 +db POISON ; species type 2 +db 255 ; catch rate +db 78 ; base exp yield +INCBIN "gfx/pokemon/front/oddish.pic",0,1 ; 55, sprite dimensions +dw OddishPicFront +dw OddishPicBack +; attacks known at lvl 0 +db ABSORB +db 0 +db 0 +db 0 +db 3 ; growth rate +; learnset + tmlearn 3,6 + tmlearn 9,10 + tmlearn 20,21,22 + tmlearn 31,32 + tmlearn 33,34 + tmlearn 44 + tmlearn 50,51 +db 0 ; padding diff --git a/data/pokemon/base_stats/omanyte.asm b/data/pokemon/base_stats/omanyte.asm new file mode 100644 index 00000000..33541539 --- /dev/null +++ b/data/pokemon/base_stats/omanyte.asm @@ -0,0 +1,28 @@ +db DEX_OMANYTE ; pokedex id +db 35 ; base hp +db 40 ; base attack +db 100 ; base defense +db 35 ; base speed +db 90 ; base special +db ROCK ; species type 1 +db WATER ; species type 2 +db 45 ; catch rate +db 120 ; base exp yield +INCBIN "gfx/pokemon/front/omanyte.pic",0,1 ; 55, sprite dimensions +dw OmanytePicFront +dw OmanytePicBack +; attacks known at lvl 0 +db WATER_GUN +db WITHDRAW +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 6,8 + tmlearn 9,10,11,12,13,14 + tmlearn 20 + tmlearn 31,32 + tmlearn 33,34 + tmlearn 44 + tmlearn 50,53 +db 0 ; padding diff --git a/data/pokemon/base_stats/omastar.asm b/data/pokemon/base_stats/omastar.asm new file mode 100644 index 00000000..dfd5c7a2 --- /dev/null +++ b/data/pokemon/base_stats/omastar.asm @@ -0,0 +1,28 @@ +db DEX_OMASTAR ; pokedex id +db 70 ; base hp +db 60 ; base attack +db 125 ; base defense +db 55 ; base speed +db 115 ; base special +db ROCK ; species type 1 +db WATER ; species type 2 +db 45 ; catch rate +db 199 ; base exp yield +INCBIN "gfx/pokemon/front/omastar.pic",0,1 ; 66, sprite dimensions +dw OmastarPicFront +dw OmastarPicBack +; attacks known at lvl 0 +db WATER_GUN +db WITHDRAW +db HORN_ATTACK +db 0 +db 0 ; growth rate +; learnset + tmlearn 6,7,8 + tmlearn 9,10,11,12,13,14,15 + tmlearn 17,19,20 + tmlearn 31,32 + tmlearn 33,34,40 + tmlearn 44 + tmlearn 50,53 +db 0 ; padding diff --git a/data/pokemon/base_stats/onix.asm b/data/pokemon/base_stats/onix.asm new file mode 100644 index 00000000..a0ad840e --- /dev/null +++ b/data/pokemon/base_stats/onix.asm @@ -0,0 +1,28 @@ +db DEX_ONIX ; pokedex id +db 35 ; base hp +db 45 ; base attack +db 160 ; base defense +db 70 ; base speed +db 30 ; base special +db ROCK ; species type 1 +db GROUND ; species type 2 +db 45 ; catch rate +db 108 ; base exp yield +INCBIN "gfx/pokemon/front/onix.pic",0,1 ; 77, sprite dimensions +dw OnixPicFront +dw OnixPicBack +; attacks known at lvl 0 +db TACKLE +db SCREECH +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 6,8 + tmlearn 9,10 + tmlearn 20 + tmlearn 26,27,28,31,32 + tmlearn 34,36,40 + tmlearn 44,47,48 + tmlearn 50,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/paras.asm b/data/pokemon/base_stats/paras.asm new file mode 100644 index 00000000..47d2d490 --- /dev/null +++ b/data/pokemon/base_stats/paras.asm @@ -0,0 +1,28 @@ +db DEX_PARAS ; pokedex id +db 35 ; base hp +db 70 ; base attack +db 55 ; base defense +db 25 ; base speed +db 55 ; base special +db BUG ; species type 1 +db GRASS ; species type 2 +db 190 ; catch rate +db 70 ; base exp yield +INCBIN "gfx/pokemon/front/paras.pic",0,1 ; 55, sprite dimensions +dw ParasPicFront +dw ParasPicBack +; attacks known at lvl 0 +db SCRATCH +db 0 +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 3,6,8 + tmlearn 9,10 + tmlearn 20,21,22 + tmlearn 28,31,32 + tmlearn 33,34,40 + tmlearn 44 + tmlearn 50,51 +db 0 ; padding diff --git a/data/pokemon/base_stats/parasect.asm b/data/pokemon/base_stats/parasect.asm new file mode 100644 index 00000000..8e39c90e --- /dev/null +++ b/data/pokemon/base_stats/parasect.asm @@ -0,0 +1,28 @@ +db DEX_PARASECT ; pokedex id +db 60 ; base hp +db 95 ; base attack +db 80 ; base defense +db 30 ; base speed +db 80 ; base special +db BUG ; species type 1 +db GRASS ; species type 2 +db 75 ; catch rate +db 128 ; base exp yield +INCBIN "gfx/pokemon/front/parasect.pic",0,1 ; 77, sprite dimensions +dw ParasectPicFront +dw ParasectPicBack +; attacks known at lvl 0 +db SCRATCH +db STUN_SPORE +db LEECH_LIFE +db 0 +db 0 ; growth rate +; learnset + tmlearn 3,6,8 + tmlearn 9,10,15 + tmlearn 20,21,22 + tmlearn 28,31,32 + tmlearn 33,34,40 + tmlearn 44 + tmlearn 50,51 +db 0 ; padding diff --git a/data/pokemon/base_stats/persian.asm b/data/pokemon/base_stats/persian.asm new file mode 100644 index 00000000..40a9d70c --- /dev/null +++ b/data/pokemon/base_stats/persian.asm @@ -0,0 +1,28 @@ +db DEX_PERSIAN ; pokedex id +db 65 ; base hp +db 70 ; base attack +db 60 ; base defense +db 115 ; base speed +db 65 ; base special +db NORMAL ; species type 1 +db NORMAL ; species type 2 +db 90 ; catch rate +db 148 ; base exp yield +INCBIN "gfx/pokemon/front/persian.pic",0,1 ; 77, sprite dimensions +dw PersianPicFront +dw PersianPicBack +; attacks known at lvl 0 +db SCRATCH +db GROWL +db BITE +db SCREECH +db 0 ; growth rate +; learnset + tmlearn 6,8 + tmlearn 9,10,11,12,15,16 + tmlearn 20,24 + tmlearn 25,31,32 + tmlearn 34,39,40 + tmlearn 44 + tmlearn 50 +db 0 ; padding diff --git a/data/pokemon/base_stats/pidgeot.asm b/data/pokemon/base_stats/pidgeot.asm new file mode 100644 index 00000000..9c770dd6 --- /dev/null +++ b/data/pokemon/base_stats/pidgeot.asm @@ -0,0 +1,28 @@ +db DEX_PIDGEOT ; pokedex id +db 83 ; base hp +db 80 ; base attack +db 75 ; base defense +db 91 ; base speed +db 70 ; base special +db NORMAL ; species type 1 +db FLYING ; species type 2 +db 45 ; catch rate +db 172 ; base exp yield +INCBIN "gfx/pokemon/front/pidgeot.pic",0,1 ; 77, sprite dimensions +dw PidgeotPicFront +dw PidgeotPicBack +; attacks known at lvl 0 +db GUST +db SAND_ATTACK +db QUICK_ATTACK +db 0 +db 3 ; growth rate +; learnset + tmlearn 2,4,6 + tmlearn 9,10,15 + tmlearn 20 + tmlearn 31,32 + tmlearn 33,34,39 + tmlearn 43,44 + tmlearn 50,52 +db 0 ; padding diff --git a/data/pokemon/base_stats/pidgeotto.asm b/data/pokemon/base_stats/pidgeotto.asm new file mode 100644 index 00000000..1a2962e7 --- /dev/null +++ b/data/pokemon/base_stats/pidgeotto.asm @@ -0,0 +1,28 @@ +db DEX_PIDGEOTTO ; pokedex id +db 63 ; base hp +db 60 ; base attack +db 55 ; base defense +db 71 ; base speed +db 50 ; base special +db NORMAL ; species type 1 +db FLYING ; species type 2 +db 120 ; catch rate +db 113 ; base exp yield +INCBIN "gfx/pokemon/front/pidgeotto.pic",0,1 ; 66, sprite dimensions +dw PidgeottoPicFront +dw PidgeottoPicBack +; attacks known at lvl 0 +db GUST +db SAND_ATTACK +db 0 +db 0 +db 3 ; growth rate +; learnset + tmlearn 2,4,6 + tmlearn 9,10 + tmlearn 20 + tmlearn 31,32 + tmlearn 33,34,39 + tmlearn 43,44 + tmlearn 50,52 +db 0 ; padding diff --git a/data/pokemon/base_stats/pidgey.asm b/data/pokemon/base_stats/pidgey.asm new file mode 100644 index 00000000..ca167e3b --- /dev/null +++ b/data/pokemon/base_stats/pidgey.asm @@ -0,0 +1,28 @@ +db DEX_PIDGEY ; pokedex id +db 40 ; base hp +db 45 ; base attack +db 40 ; base defense +db 56 ; base speed +db 35 ; base special +db NORMAL ; species type 1 +db FLYING ; species type 2 +db 255 ; catch rate +db 55 ; base exp yield +INCBIN "gfx/pokemon/front/pidgey.pic",0,1 ; 55, sprite dimensions +dw PidgeyPicFront +dw PidgeyPicBack +; attacks known at lvl 0 +db GUST +db 0 +db 0 +db 0 +db 3 ; growth rate +; learnset + tmlearn 2,4,6 + tmlearn 9,10 + tmlearn 20 + tmlearn 31,32 + tmlearn 33,34,39 + tmlearn 43,44 + tmlearn 50,52 +db 0 ; padding diff --git a/data/pokemon/base_stats/pikachu.asm b/data/pokemon/base_stats/pikachu.asm new file mode 100644 index 00000000..36391ed8 --- /dev/null +++ b/data/pokemon/base_stats/pikachu.asm @@ -0,0 +1,28 @@ +db DEX_PIKACHU ; pokedex id +db 35 ; base hp +db 55 ; base attack +db 30 ; base defense +db 90 ; base speed +db 50 ; base special +db ELECTRIC ; species type 1 +db ELECTRIC ; species type 2 +db 190 ; catch rate +db 82 ; base exp yield +INCBIN "gfx/pokemon/front/pikachu.pic",0,1 ; 55, sprite dimensions +dw PikachuPicFront +dw PikachuPicBack +; attacks known at lvl 0 +db THUNDERSHOCK +db GROWL +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 1,5,6,8 + tmlearn 9,10,16 + tmlearn 17,19,20,24 + tmlearn 25,31,32 + tmlearn 33,34,39,40 + tmlearn 44,45 + tmlearn 50,55 +db 0 ; padding diff --git a/data/pokemon/base_stats/pinsir.asm b/data/pokemon/base_stats/pinsir.asm new file mode 100644 index 00000000..db749370 --- /dev/null +++ b/data/pokemon/base_stats/pinsir.asm @@ -0,0 +1,28 @@ +db DEX_PINSIR ; pokedex id +db 65 ; base hp +db 125 ; base attack +db 100 ; base defense +db 85 ; base speed +db 55 ; base special +db BUG ; species type 1 +db BUG ; species type 2 +db 45 ; catch rate +db 200 ; base exp yield +INCBIN "gfx/pokemon/front/pinsir.pic",0,1 ; 77, sprite dimensions +dw PinsirPicFront +dw PinsirPicBack +; attacks known at lvl 0 +db VICEGRIP +db 0 +db 0 +db 0 +db 5 ; growth rate +; learnset + tmlearn 3,6,8 + tmlearn 9,10,15 + tmlearn 17,19,20 + tmlearn 31,32 + tmlearn 34 + tmlearn 44 + tmlearn 50,51,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/poliwag.asm b/data/pokemon/base_stats/poliwag.asm new file mode 100644 index 00000000..a4e260ba --- /dev/null +++ b/data/pokemon/base_stats/poliwag.asm @@ -0,0 +1,28 @@ +db DEX_POLIWAG ; pokedex id +db 40 ; base hp +db 50 ; base attack +db 40 ; base defense +db 90 ; base speed +db 40 ; base special +db WATER ; species type 1 +db WATER ; species type 2 +db 255 ; catch rate +db 77 ; base exp yield +INCBIN "gfx/pokemon/front/poliwag.pic",0,1 ; 55, sprite dimensions +dw PoliwagPicFront +dw PoliwagPicBack +; attacks known at lvl 0 +db BUBBLE +db 0 +db 0 +db 0 +db 3 ; growth rate +; learnset + tmlearn 6,8 + tmlearn 9,10,11,12,13,14 + tmlearn 20 + tmlearn 29,31,32 + tmlearn 34,40 + tmlearn 44,46 + tmlearn 50,53 +db 0 ; padding diff --git a/data/pokemon/base_stats/poliwhirl.asm b/data/pokemon/base_stats/poliwhirl.asm new file mode 100644 index 00000000..706bd498 --- /dev/null +++ b/data/pokemon/base_stats/poliwhirl.asm @@ -0,0 +1,28 @@ +db DEX_POLIWHIRL ; pokedex id +db 65 ; base hp +db 65 ; base attack +db 65 ; base defense +db 90 ; base speed +db 50 ; base special +db WATER ; species type 1 +db WATER ; species type 2 +db 120 ; catch rate +db 131 ; base exp yield +INCBIN "gfx/pokemon/front/poliwhirl.pic",0,1 ; 66, sprite dimensions +dw PoliwhirlPicFront +dw PoliwhirlPicBack +; attacks known at lvl 0 +db BUBBLE +db HYPNOSIS +db WATER_GUN +db 0 +db 3 ; growth rate +; learnset + tmlearn 1,5,6,8 + tmlearn 9,10,11,12,13,14 + tmlearn 17,18,19,20 + tmlearn 26,27,29,31,32 + tmlearn 34,35,40 + tmlearn 44,46 + tmlearn 50,53,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/poliwrath.asm b/data/pokemon/base_stats/poliwrath.asm new file mode 100644 index 00000000..6f7d4b78 --- /dev/null +++ b/data/pokemon/base_stats/poliwrath.asm @@ -0,0 +1,28 @@ +db DEX_POLIWRATH ; pokedex id +db 90 ; base hp +db 85 ; base attack +db 95 ; base defense +db 70 ; base speed +db 70 ; base special +db WATER ; species type 1 +db FIGHTING ; species type 2 +db 45 ; catch rate +db 185 ; base exp yield +INCBIN "gfx/pokemon/front/poliwrath.pic",0,1 ; 77, sprite dimensions +dw PoliwrathPicFront +dw PoliwrathPicBack +; attacks known at lvl 0 +db HYPNOSIS +db WATER_GUN +db DOUBLESLAP +db BODY_SLAM +db 3 ; growth rate +; learnset + tmlearn 1,5,6,8 + tmlearn 9,10,11,12,13,14,15 + tmlearn 17,18,19,20 + tmlearn 26,27,29,31,32 + tmlearn 34,35,40 + tmlearn 44,46 + tmlearn 50,53,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/ponyta.asm b/data/pokemon/base_stats/ponyta.asm new file mode 100644 index 00000000..667d3cc9 --- /dev/null +++ b/data/pokemon/base_stats/ponyta.asm @@ -0,0 +1,28 @@ +db DEX_PONYTA ; pokedex id +db 50 ; base hp +db 85 ; base attack +db 55 ; base defense +db 90 ; base speed +db 65 ; base special +db FIRE ; species type 1 +db FIRE ; species type 2 +db 190 ; catch rate +db 152 ; base exp yield +INCBIN "gfx/pokemon/front/ponyta.pic",0,1 ; 66, sprite dimensions +dw PonytaPicFront +dw PonytaPicBack +; attacks known at lvl 0 +db EMBER +db 0 +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 6,7,8 + tmlearn 9,10 + tmlearn 20 + tmlearn 31,32 + tmlearn 33,34,38,39,40 + tmlearn 44 + tmlearn 50 +db 0 ; padding diff --git a/data/pokemon/base_stats/porygon.asm b/data/pokemon/base_stats/porygon.asm new file mode 100644 index 00000000..71a37154 --- /dev/null +++ b/data/pokemon/base_stats/porygon.asm @@ -0,0 +1,28 @@ +db DEX_PORYGON ; pokedex id +db 65 ; base hp +db 60 ; base attack +db 70 ; base defense +db 40 ; base speed +db 75 ; base special +db NORMAL ; species type 1 +db NORMAL ; species type 2 +db 45 ; catch rate +db 130 ; base exp yield +INCBIN "gfx/pokemon/front/porygon.pic",0,1 ; 66, sprite dimensions +dw PorygonPicFront +dw PorygonPicBack +; attacks known at lvl 0 +db TACKLE +db SHARPEN +db CONVERSION +db 0 +db 0 ; growth rate +; learnset + tmlearn 6 + tmlearn 9,10,13,14,15 + tmlearn 20,24 + tmlearn 25,29,30,31,32 + tmlearn 33,34,39,40 + tmlearn 44,45,46 + tmlearn 49,50,55 +db 0 ; padding diff --git a/data/pokemon/base_stats/primeape.asm b/data/pokemon/base_stats/primeape.asm new file mode 100644 index 00000000..2d00ee76 --- /dev/null +++ b/data/pokemon/base_stats/primeape.asm @@ -0,0 +1,28 @@ +db DEX_PRIMEAPE ; pokedex id +db 65 ; base hp +db 105 ; base attack +db 60 ; base defense +db 95 ; base speed +db 60 ; base special +db FIGHTING ; species type 1 +db FIGHTING ; species type 2 +db 75 ; catch rate +db 149 ; base exp yield +INCBIN "gfx/pokemon/front/primeape.pic",0,1 ; 77, sprite dimensions +dw PrimeapePicFront +dw PrimeapePicBack +; attacks known at lvl 0 +db SCRATCH +db LEER +db KARATE_CHOP +db FURY_SWIPES +db 0 ; growth rate +; learnset + tmlearn 1,5,6,8 + tmlearn 9,10,15,16 + tmlearn 17,18,19,20,24 + tmlearn 25,28,31,32 + tmlearn 34,35,39,40 + tmlearn 44,48 + tmlearn 50,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/psyduck.asm b/data/pokemon/base_stats/psyduck.asm new file mode 100644 index 00000000..163f851e --- /dev/null +++ b/data/pokemon/base_stats/psyduck.asm @@ -0,0 +1,28 @@ +db DEX_PSYDUCK ; pokedex id +db 50 ; base hp +db 52 ; base attack +db 48 ; base defense +db 55 ; base speed +db 50 ; base special +db WATER ; species type 1 +db WATER ; species type 2 +db 190 ; catch rate +db 80 ; base exp yield +INCBIN "gfx/pokemon/front/psyduck.pic",0,1 ; 55, sprite dimensions +dw PsyduckPicFront +dw PsyduckPicBack +; attacks known at lvl 0 +db SCRATCH +db 0 +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 1,5,6,8 + tmlearn 9,10,11,12,13,14,16 + tmlearn 17,18,19,20 + tmlearn 28,31,32 + tmlearn 34,39,40 + tmlearn 44 + tmlearn 50,53,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/raichu.asm b/data/pokemon/base_stats/raichu.asm new file mode 100644 index 00000000..c2c0c6a9 --- /dev/null +++ b/data/pokemon/base_stats/raichu.asm @@ -0,0 +1,28 @@ +db DEX_RAICHU ; pokedex id +db 60 ; base hp +db 90 ; base attack +db 55 ; base defense +db 100 ; base speed +db 90 ; base special +db ELECTRIC ; species type 1 +db ELECTRIC ; species type 2 +db 75 ; catch rate +db 122 ; base exp yield +INCBIN "gfx/pokemon/front/raichu.pic",0,1 ; 77, sprite dimensions +dw RaichuPicFront +dw RaichuPicBack +; attacks known at lvl 0 +db THUNDERSHOCK +db GROWL +db THUNDER_WAVE +db 0 +db 0 ; growth rate +; learnset + tmlearn 1,5,6,8 + tmlearn 9,10,15,16 + tmlearn 17,19,20,24 + tmlearn 25,31,32 + tmlearn 33,34,39,40 + tmlearn 44,45 + tmlearn 50,55 +db 0 ; padding diff --git a/data/pokemon/base_stats/rapidash.asm b/data/pokemon/base_stats/rapidash.asm new file mode 100644 index 00000000..53dcbe4a --- /dev/null +++ b/data/pokemon/base_stats/rapidash.asm @@ -0,0 +1,28 @@ +db DEX_RAPIDASH ; pokedex id +db 65 ; base hp +db 100 ; base attack +db 70 ; base defense +db 105 ; base speed +db 80 ; base special +db FIRE ; species type 1 +db FIRE ; species type 2 +db 60 ; catch rate +db 192 ; base exp yield +INCBIN "gfx/pokemon/front/rapidash.pic",0,1 ; 77, sprite dimensions +dw RapidashPicFront +dw RapidashPicBack +; attacks known at lvl 0 +db EMBER +db TAIL_WHIP +db STOMP +db GROWL +db 0 ; growth rate +; learnset + tmlearn 6,7,8 + tmlearn 9,10,15 + tmlearn 20 + tmlearn 31,32 + tmlearn 33,34,38,39,40 + tmlearn 44 + tmlearn 50 +db 0 ; padding diff --git a/data/pokemon/base_stats/raticate.asm b/data/pokemon/base_stats/raticate.asm new file mode 100644 index 00000000..157b22bb --- /dev/null +++ b/data/pokemon/base_stats/raticate.asm @@ -0,0 +1,28 @@ +db DEX_RATICATE ; pokedex id +db 55 ; base hp +db 81 ; base attack +db 60 ; base defense +db 97 ; base speed +db 50 ; base special +db NORMAL ; species type 1 +db NORMAL ; species type 2 +db 90 ; catch rate +db 116 ; base exp yield +INCBIN "gfx/pokemon/front/raticate.pic",0,1 ; 66, sprite dimensions +dw RaticatePicFront +dw RaticatePicBack +; attacks known at lvl 0 +db TACKLE +db TAIL_WHIP +db QUICK_ATTACK +db 0 +db 0 ; growth rate +; learnset + tmlearn 6,8 + tmlearn 9,10,11,12,13,14,15 + tmlearn 20,24 + tmlearn 25,28,31,32 + tmlearn 34,39,40 + tmlearn 44 + tmlearn 50 +db 0 ; padding diff --git a/data/pokemon/base_stats/rattata.asm b/data/pokemon/base_stats/rattata.asm new file mode 100644 index 00000000..5dfafddb --- /dev/null +++ b/data/pokemon/base_stats/rattata.asm @@ -0,0 +1,28 @@ +db DEX_RATTATA ; pokedex id +db 30 ; base hp +db 56 ; base attack +db 35 ; base defense +db 72 ; base speed +db 25 ; base special +db NORMAL ; species type 1 +db NORMAL ; species type 2 +db 255 ; catch rate +db 57 ; base exp yield +INCBIN "gfx/pokemon/front/rattata.pic",0,1 ; 55, sprite dimensions +dw RattataPicFront +dw RattataPicBack +; attacks known at lvl 0 +db TACKLE +db TAIL_WHIP +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 6,8 + tmlearn 9,10,11,12,14 + tmlearn 20,24 + tmlearn 25,28,31,32 + tmlearn 34,39,40 + tmlearn 44 + tmlearn 50 +db 0 ; padding diff --git a/data/pokemon/base_stats/rhydon.asm b/data/pokemon/base_stats/rhydon.asm new file mode 100644 index 00000000..9f611a83 --- /dev/null +++ b/data/pokemon/base_stats/rhydon.asm @@ -0,0 +1,28 @@ +db DEX_RHYDON ; pokedex id +db 105 ; base hp +db 130 ; base attack +db 120 ; base defense +db 40 ; base speed +db 45 ; base special +db GROUND ; species type 1 +db ROCK ; species type 2 +db 60 ; catch rate +db 204 ; base exp yield +INCBIN "gfx/pokemon/front/rhydon.pic",0,1 ; 77, sprite dimensions +dw RhydonPicFront +dw RhydonPicBack +; attacks known at lvl 0 +db HORN_ATTACK +db STOMP +db TAIL_WHIP +db FURY_ATTACK +db 5 ; growth rate +; learnset + tmlearn 1,5,6,7,8 + tmlearn 9,10,11,12,13,14,15,16 + tmlearn 17,18,19,20,24 + tmlearn 25,26,27,28,31,32 + tmlearn 34,38,40 + tmlearn 44,48 + tmlearn 50,53,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/rhyhorn.asm b/data/pokemon/base_stats/rhyhorn.asm new file mode 100644 index 00000000..b7fc9137 --- /dev/null +++ b/data/pokemon/base_stats/rhyhorn.asm @@ -0,0 +1,28 @@ +db DEX_RHYHORN ; pokedex id +db 80 ; base hp +db 85 ; base attack +db 95 ; base defense +db 25 ; base speed +db 30 ; base special +db GROUND ; species type 1 +db ROCK ; species type 2 +db 120 ; catch rate +db 135 ; base exp yield +INCBIN "gfx/pokemon/front/rhyhorn.pic",0,1 ; 77, sprite dimensions +dw RhyhornPicFront +dw RhyhornPicBack +; attacks known at lvl 0 +db HORN_ATTACK +db 0 +db 0 +db 0 +db 5 ; growth rate +; learnset + tmlearn 6,7,8 + tmlearn 9,10 + tmlearn 20,24 + tmlearn 25,26,27,28,31,32 + tmlearn 34,38,40 + tmlearn 44,48 + tmlearn 50,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/sandshrew.asm b/data/pokemon/base_stats/sandshrew.asm new file mode 100644 index 00000000..a098678e --- /dev/null +++ b/data/pokemon/base_stats/sandshrew.asm @@ -0,0 +1,28 @@ +db DEX_SANDSHREW ; pokedex id +db 50 ; base hp +db 75 ; base attack +db 85 ; base defense +db 40 ; base speed +db 30 ; base special +db GROUND ; species type 1 +db GROUND ; species type 2 +db 255 ; catch rate +db 93 ; base exp yield +INCBIN "gfx/pokemon/front/sandshrew.pic",0,1 ; 55, sprite dimensions +dw SandshrewPicFront +dw SandshrewPicBack +; attacks known at lvl 0 +db SCRATCH +db 0 +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 3,6,8 + tmlearn 9,10 + tmlearn 17,19,20 + tmlearn 26,27,28,31,32 + tmlearn 34,39,40 + tmlearn 44,48 + tmlearn 50,51,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/sandslash.asm b/data/pokemon/base_stats/sandslash.asm new file mode 100644 index 00000000..c596265c --- /dev/null +++ b/data/pokemon/base_stats/sandslash.asm @@ -0,0 +1,28 @@ +db DEX_SANDSLASH ; pokedex id +db 75 ; base hp +db 100 ; base attack +db 110 ; base defense +db 65 ; base speed +db 55 ; base special +db GROUND ; species type 1 +db GROUND ; species type 2 +db 90 ; catch rate +db 163 ; base exp yield +INCBIN "gfx/pokemon/front/sandslash.pic",0,1 ; 66, sprite dimensions +dw SandslashPicFront +dw SandslashPicBack +; attacks known at lvl 0 +db SCRATCH +db SAND_ATTACK +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 3,6,8 + tmlearn 9,10,15 + tmlearn 17,19,20 + tmlearn 26,27,28,31,32 + tmlearn 34,39,40 + tmlearn 44,48 + tmlearn 50,51,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/scyther.asm b/data/pokemon/base_stats/scyther.asm new file mode 100644 index 00000000..303a33c1 --- /dev/null +++ b/data/pokemon/base_stats/scyther.asm @@ -0,0 +1,28 @@ +db DEX_SCYTHER ; pokedex id +db 70 ; base hp +db 110 ; base attack +db 80 ; base defense +db 105 ; base speed +db 55 ; base special +db BUG ; species type 1 +db FLYING ; species type 2 +db 45 ; catch rate +db 187 ; base exp yield +INCBIN "gfx/pokemon/front/scyther.pic",0,1 ; 77, sprite dimensions +dw ScytherPicFront +dw ScytherPicBack +; attacks known at lvl 0 +db QUICK_ATTACK +db 0 +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 3,6 + tmlearn 9,10,15 + tmlearn 20 + tmlearn 31,32 + tmlearn 34,39,40 + tmlearn 44 + tmlearn 50,51 +db 0 ; padding diff --git a/data/pokemon/base_stats/seadra.asm b/data/pokemon/base_stats/seadra.asm new file mode 100644 index 00000000..cd9bbc3f --- /dev/null +++ b/data/pokemon/base_stats/seadra.asm @@ -0,0 +1,28 @@ +db DEX_SEADRA ; pokedex id +db 55 ; base hp +db 65 ; base attack +db 95 ; base defense +db 85 ; base speed +db 95 ; base special +db WATER ; species type 1 +db WATER ; species type 2 +db 75 ; catch rate +db 155 ; base exp yield +INCBIN "gfx/pokemon/front/seadra.pic",0,1 ; 66, sprite dimensions +dw SeadraPicFront +dw SeadraPicBack +; attacks known at lvl 0 +db BUBBLE +db SMOKESCREEN +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 6 + tmlearn 9,10,11,12,13,14,15 + tmlearn 20 + tmlearn 31,32 + tmlearn 34,39,40 + tmlearn 44 + tmlearn 50,53 +db 0 ; padding diff --git a/data/pokemon/base_stats/seaking.asm b/data/pokemon/base_stats/seaking.asm new file mode 100644 index 00000000..c14b095b --- /dev/null +++ b/data/pokemon/base_stats/seaking.asm @@ -0,0 +1,28 @@ +db DEX_SEAKING ; pokedex id +db 80 ; base hp +db 92 ; base attack +db 65 ; base defense +db 68 ; base speed +db 80 ; base special +db WATER ; species type 1 +db WATER ; species type 2 +db 60 ; catch rate +db 170 ; base exp yield +INCBIN "gfx/pokemon/front/seaking.pic",0,1 ; 77, sprite dimensions +dw SeakingPicFront +dw SeakingPicBack +; attacks known at lvl 0 +db PECK +db TAIL_WHIP +db SUPERSONIC +db 0 +db 0 ; growth rate +; learnset + tmlearn 6,7 + tmlearn 9,10,11,12,13,14,15 + tmlearn 20 + tmlearn 31,32 + tmlearn 34,39,40 + tmlearn 44 + tmlearn 50,53 +db 0 ; padding diff --git a/data/pokemon/base_stats/seel.asm b/data/pokemon/base_stats/seel.asm new file mode 100644 index 00000000..64c0cd7f --- /dev/null +++ b/data/pokemon/base_stats/seel.asm @@ -0,0 +1,28 @@ +db DEX_SEEL ; pokedex id +db 65 ; base hp +db 45 ; base attack +db 55 ; base defense +db 45 ; base speed +db 70 ; base special +db WATER ; species type 1 +db WATER ; species type 2 +db 190 ; catch rate +db 100 ; base exp yield +INCBIN "gfx/pokemon/front/seel.pic",0,1 ; 66, sprite dimensions +dw SeelPicFront +dw SeelPicBack +; attacks known at lvl 0 +db HEADBUTT +db 0 +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 6,7,8 + tmlearn 9,10,11,12,13,14,16 + tmlearn 20 + tmlearn 31,32 + tmlearn 34,40 + tmlearn 44 + tmlearn 50,53,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/shellder.asm b/data/pokemon/base_stats/shellder.asm new file mode 100644 index 00000000..c051f2f5 --- /dev/null +++ b/data/pokemon/base_stats/shellder.asm @@ -0,0 +1,28 @@ +db DEX_SHELLDER ; pokedex id +db 30 ; base hp +db 65 ; base attack +db 100 ; base defense +db 40 ; base speed +db 45 ; base special +db WATER ; species type 1 +db WATER ; species type 2 +db 190 ; catch rate +db 97 ; base exp yield +INCBIN "gfx/pokemon/front/shellder.pic",0,1 ; 55, sprite dimensions +dw ShellderPicFront +dw ShellderPicBack +; attacks known at lvl 0 +db TACKLE +db WITHDRAW +db 0 +db 0 +db 5 ; growth rate +; learnset + tmlearn 6 + tmlearn 9,10,11,12,13,14 + tmlearn 20 + tmlearn 30,31,32 + tmlearn 33,34,36,39 + tmlearn 44,47 + tmlearn 49,50,53 +db 0 ; padding diff --git a/data/pokemon/base_stats/slowbro.asm b/data/pokemon/base_stats/slowbro.asm new file mode 100644 index 00000000..51d3f564 --- /dev/null +++ b/data/pokemon/base_stats/slowbro.asm @@ -0,0 +1,28 @@ +db DEX_SLOWBRO ; pokedex id +db 95 ; base hp +db 75 ; base attack +db 110 ; base defense +db 30 ; base speed +db 80 ; base special +db WATER ; species type 1 +db PSYCHIC ; species type 2 +db 75 ; catch rate +db 164 ; base exp yield +INCBIN "gfx/pokemon/front/slowbro.pic",0,1 ; 77, sprite dimensions +dw SlowbroPicFront +dw SlowbroPicBack +; attacks known at lvl 0 +db CONFUSION +db DISABLE +db HEADBUTT +db 0 +db 0 ; growth rate +; learnset + tmlearn 1,5,6,8 + tmlearn 9,10,11,12,13,14,15,16 + tmlearn 17,18,19,20 + tmlearn 26,27,28,29,30,31,32 + tmlearn 33,34,38,39,40 + tmlearn 44,45,46 + tmlearn 49,50,53,54,55 +db 0 ; padding diff --git a/data/pokemon/base_stats/slowpoke.asm b/data/pokemon/base_stats/slowpoke.asm new file mode 100644 index 00000000..60e47ea8 --- /dev/null +++ b/data/pokemon/base_stats/slowpoke.asm @@ -0,0 +1,28 @@ +db DEX_SLOWPOKE ; pokedex id +db 90 ; base hp +db 65 ; base attack +db 65 ; base defense +db 15 ; base speed +db 40 ; base special +db WATER ; species type 1 +db PSYCHIC ; species type 2 +db 190 ; catch rate +db 99 ; base exp yield +INCBIN "gfx/pokemon/front/slowpoke.pic",0,1 ; 55, sprite dimensions +dw SlowpokePicFront +dw SlowpokePicBack +; attacks known at lvl 0 +db CONFUSION +db 0 +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 6,8 + tmlearn 9,10,11,12,13,14,16 + tmlearn 20 + tmlearn 26,27,28,29,30,31,32 + tmlearn 33,34,38,39,40 + tmlearn 44,45,46 + tmlearn 49,50,53,54,55 +db 0 ; padding diff --git a/data/pokemon/base_stats/snorlax.asm b/data/pokemon/base_stats/snorlax.asm new file mode 100644 index 00000000..c1d47cd6 --- /dev/null +++ b/data/pokemon/base_stats/snorlax.asm @@ -0,0 +1,28 @@ +db DEX_SNORLAX ; pokedex id +db 160 ; base hp +db 110 ; base attack +db 65 ; base defense +db 30 ; base speed +db 65 ; base special +db NORMAL ; species type 1 +db NORMAL ; species type 2 +db 25 ; catch rate +db 154 ; base exp yield +INCBIN "gfx/pokemon/front/snorlax.pic",0,1 ; 77, sprite dimensions +dw SnorlaxPicFront +dw SnorlaxPicBack +; attacks known at lvl 0 +db HEADBUTT +db AMNESIA +db REST +db 0 +db 5 ; growth rate +; learnset + tmlearn 1,5,6,8 + tmlearn 9,10,11,12,13,14,15,16 + tmlearn 17,18,19,20,22,24 + tmlearn 25,26,27,29,31,32 + tmlearn 33,34,35,36,38,40 + tmlearn 44,46,48 + tmlearn 50,53,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/spearow.asm b/data/pokemon/base_stats/spearow.asm new file mode 100644 index 00000000..9b8db91d --- /dev/null +++ b/data/pokemon/base_stats/spearow.asm @@ -0,0 +1,28 @@ +db DEX_SPEAROW ; pokedex id +db 40 ; base hp +db 60 ; base attack +db 30 ; base defense +db 70 ; base speed +db 31 ; base special +db NORMAL ; species type 1 +db FLYING ; species type 2 +db 255 ; catch rate +db 58 ; base exp yield +INCBIN "gfx/pokemon/front/spearow.pic",0,1 ; 55, sprite dimensions +dw SpearowPicFront +dw SpearowPicBack +; attacks known at lvl 0 +db PECK +db GROWL +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 2,4,6 + tmlearn 9,10 + tmlearn 20 + tmlearn 31,32 + tmlearn 34,39 + tmlearn 43,44 + tmlearn 50,52 +db 0 ; padding diff --git a/data/pokemon/base_stats/squirtle.asm b/data/pokemon/base_stats/squirtle.asm new file mode 100644 index 00000000..639809f9 --- /dev/null +++ b/data/pokemon/base_stats/squirtle.asm @@ -0,0 +1,28 @@ +db DEX_SQUIRTLE ; pokedex id +db 44 ; base hp +db 48 ; base attack +db 65 ; base defense +db 43 ; base speed +db 50 ; base special +db WATER ; species type 1 +db WATER ; species type 2 +db 45 ; catch rate +db 66 ; base exp yield +INCBIN "gfx/pokemon/front/squirtle.pic",0,1 ; 55, sprite dimensions +dw SquirtlePicFront +dw SquirtlePicBack +; attacks known at lvl 0 +db TACKLE +db TAIL_WHIP +db 0 +db 0 +db 3 ; growth rate +; learnset + tmlearn 1,5,6,8 + tmlearn 9,10,11,12,13,14 + tmlearn 17,18,19,20 + tmlearn 28,31,32 + tmlearn 33,34,40 + tmlearn 44 + tmlearn 50,53,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/starmie.asm b/data/pokemon/base_stats/starmie.asm new file mode 100644 index 00000000..23858638 --- /dev/null +++ b/data/pokemon/base_stats/starmie.asm @@ -0,0 +1,28 @@ +db DEX_STARMIE ; pokedex id +db 60 ; base hp +db 75 ; base attack +db 85 ; base defense +db 115 ; base speed +db 100 ; base special +db WATER ; species type 1 +db PSYCHIC ; species type 2 +db 60 ; catch rate +db 207 ; base exp yield +INCBIN "gfx/pokemon/front/starmie.pic",0,1 ; 66, sprite dimensions +dw StarmiePicFront +dw StarmiePicBack +; attacks known at lvl 0 +db TACKLE +db WATER_GUN +db HARDEN +db 0 +db 5 ; growth rate +; learnset + tmlearn 6 + tmlearn 9,10,11,12,13,14,15 + tmlearn 20,24 + tmlearn 25,29,30,31,32 + tmlearn 33,34,39,40 + tmlearn 44,45,46 + tmlearn 49,50,53,55 +db 0 ; padding diff --git a/data/pokemon/base_stats/staryu.asm b/data/pokemon/base_stats/staryu.asm new file mode 100644 index 00000000..ffbb1f21 --- /dev/null +++ b/data/pokemon/base_stats/staryu.asm @@ -0,0 +1,28 @@ +db DEX_STARYU ; pokedex id +db 30 ; base hp +db 45 ; base attack +db 55 ; base defense +db 85 ; base speed +db 70 ; base special +db WATER ; species type 1 +db WATER ; species type 2 +db 225 ; catch rate +db 106 ; base exp yield +INCBIN "gfx/pokemon/front/staryu.pic",0,1 ; 66, sprite dimensions +dw StaryuPicFront +dw StaryuPicBack +; attacks known at lvl 0 +db TACKLE +db 0 +db 0 +db 0 +db 5 ; growth rate +; learnset + tmlearn 6 + tmlearn 9,10,11,12,13,14 + tmlearn 20,24 + tmlearn 25,29,30,31,32 + tmlearn 33,34,39,40 + tmlearn 44,45,46 + tmlearn 49,50,53,55 +db 0 ; padding diff --git a/data/pokemon/base_stats/tangela.asm b/data/pokemon/base_stats/tangela.asm new file mode 100644 index 00000000..65570b3c --- /dev/null +++ b/data/pokemon/base_stats/tangela.asm @@ -0,0 +1,28 @@ +db DEX_TANGELA ; pokedex id +db 65 ; base hp +db 55 ; base attack +db 115 ; base defense +db 60 ; base speed +db 100 ; base special +db GRASS ; species type 1 +db GRASS ; species type 2 +db 45 ; catch rate +db 166 ; base exp yield +INCBIN "gfx/pokemon/front/tangela.pic",0,1 ; 66, sprite dimensions +dw TangelaPicFront +dw TangelaPicBack +; attacks known at lvl 0 +db CONSTRICT +db BIND +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 3,6,8 + tmlearn 9,10,15 + tmlearn 20,21,22 + tmlearn 31,32 + tmlearn 34,40 + tmlearn 44 + tmlearn 50,51 +db 0 ; padding diff --git a/data/pokemon/base_stats/tauros.asm b/data/pokemon/base_stats/tauros.asm new file mode 100644 index 00000000..e66980d7 --- /dev/null +++ b/data/pokemon/base_stats/tauros.asm @@ -0,0 +1,28 @@ +db DEX_TAUROS ; pokedex id +db 75 ; base hp +db 100 ; base attack +db 95 ; base defense +db 110 ; base speed +db 70 ; base special +db NORMAL ; species type 1 +db NORMAL ; species type 2 +db 45 ; catch rate +db 211 ; base exp yield +INCBIN "gfx/pokemon/front/tauros.pic",0,1 ; 77, sprite dimensions +dw TaurosPicFront +dw TaurosPicBack +; attacks known at lvl 0 +db TACKLE +db 0 +db 0 +db 0 +db 5 ; growth rate +; learnset + tmlearn 6,7,8 + tmlearn 9,10,13,14,15 + tmlearn 20,24 + tmlearn 25,26,27,31,32 + tmlearn 34,38,40 + tmlearn 44 + tmlearn 50,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/tentacool.asm b/data/pokemon/base_stats/tentacool.asm new file mode 100644 index 00000000..0b1b840d --- /dev/null +++ b/data/pokemon/base_stats/tentacool.asm @@ -0,0 +1,28 @@ +db DEX_TENTACOOL ; pokedex id +db 40 ; base hp +db 40 ; base attack +db 35 ; base defense +db 70 ; base speed +db 100 ; base special +db WATER ; species type 1 +db POISON ; species type 2 +db 190 ; catch rate +db 105 ; base exp yield +INCBIN "gfx/pokemon/front/tentacool.pic",0,1 ; 55, sprite dimensions +dw TentacoolPicFront +dw TentacoolPicBack +; attacks known at lvl 0 +db ACID +db 0 +db 0 +db 0 +db 5 ; growth rate +; learnset + tmlearn 3,6 + tmlearn 9,10,11,12,13,14 + tmlearn 20,21 + tmlearn 31,32 + tmlearn 33,34,40 + tmlearn 44 + tmlearn 50,51,53 +db 0 ; padding diff --git a/data/pokemon/base_stats/tentacruel.asm b/data/pokemon/base_stats/tentacruel.asm new file mode 100644 index 00000000..ef82c764 --- /dev/null +++ b/data/pokemon/base_stats/tentacruel.asm @@ -0,0 +1,28 @@ +db DEX_TENTACRUEL ; pokedex id +db 80 ; base hp +db 70 ; base attack +db 65 ; base defense +db 100 ; base speed +db 120 ; base special +db WATER ; species type 1 +db POISON ; species type 2 +db 60 ; catch rate +db 205 ; base exp yield +INCBIN "gfx/pokemon/front/tentacruel.pic",0,1 ; 66, sprite dimensions +dw TentacruelPicFront +dw TentacruelPicBack +; attacks known at lvl 0 +db ACID +db SUPERSONIC +db WRAP +db 0 +db 5 ; growth rate +; learnset + tmlearn 3,6 + tmlearn 9,10,11,12,13,14,15 + tmlearn 20,21 + tmlearn 31,32 + tmlearn 33,34,40 + tmlearn 44 + tmlearn 50,51,53 +db 0 ; padding diff --git a/data/pokemon/base_stats/vaporeon.asm b/data/pokemon/base_stats/vaporeon.asm new file mode 100644 index 00000000..a01c9ade --- /dev/null +++ b/data/pokemon/base_stats/vaporeon.asm @@ -0,0 +1,28 @@ +db DEX_VAPOREON ; pokedex id +db 130 ; base hp +db 65 ; base attack +db 60 ; base defense +db 65 ; base speed +db 110 ; base special +db WATER ; species type 1 +db WATER ; species type 2 +db 45 ; catch rate +db 196 ; base exp yield +INCBIN "gfx/pokemon/front/vaporeon.pic",0,1 ; 66, sprite dimensions +dw VaporeonPicFront +dw VaporeonPicBack +; attacks known at lvl 0 +db TACKLE +db SAND_ATTACK +db QUICK_ATTACK +db WATER_GUN +db 0 ; growth rate +; learnset + tmlearn 6,8 + tmlearn 9,10,11,12,13,14,15 + tmlearn 20 + tmlearn 31,32 + tmlearn 33,34,39,40 + tmlearn 44 + tmlearn 50,53 +db 0 ; padding diff --git a/data/pokemon/base_stats/venomoth.asm b/data/pokemon/base_stats/venomoth.asm new file mode 100644 index 00000000..7518f31e --- /dev/null +++ b/data/pokemon/base_stats/venomoth.asm @@ -0,0 +1,28 @@ +db DEX_VENOMOTH ; pokedex id +db 70 ; base hp +db 65 ; base attack +db 60 ; base defense +db 90 ; base speed +db 90 ; base special +db BUG ; species type 1 +db POISON ; species type 2 +db 75 ; catch rate +db 138 ; base exp yield +INCBIN "gfx/pokemon/front/venomoth.pic",0,1 ; 77, sprite dimensions +dw VenomothPicFront +dw VenomothPicBack +; attacks known at lvl 0 +db TACKLE +db DISABLE +db POISONPOWDER +db LEECH_LIFE +db 0 ; growth rate +; learnset + tmlearn 2,4,6 + tmlearn 9,10,15 + tmlearn 20,21,22 + tmlearn 29,30,31,32 + tmlearn 33,34,39 + tmlearn 44,46 + tmlearn 50 +db 0 ; padding diff --git a/data/pokemon/base_stats/venonat.asm b/data/pokemon/base_stats/venonat.asm new file mode 100644 index 00000000..1e88d9ae --- /dev/null +++ b/data/pokemon/base_stats/venonat.asm @@ -0,0 +1,28 @@ +db DEX_VENONAT ; pokedex id +db 60 ; base hp +db 55 ; base attack +db 50 ; base defense +db 45 ; base speed +db 40 ; base special +db BUG ; species type 1 +db POISON ; species type 2 +db 190 ; catch rate +db 75 ; base exp yield +INCBIN "gfx/pokemon/front/venonat.pic",0,1 ; 55, sprite dimensions +dw VenonatPicFront +dw VenonatPicBack +; attacks known at lvl 0 +db TACKLE +db DISABLE +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 6 + tmlearn 9,10 + tmlearn 20,21,22 + tmlearn 29,31,32 + tmlearn 33,34 + tmlearn 44,46 + tmlearn 50 +db 0 ; padding diff --git a/data/pokemon/base_stats/venusaur.asm b/data/pokemon/base_stats/venusaur.asm new file mode 100644 index 00000000..bda8a528 --- /dev/null +++ b/data/pokemon/base_stats/venusaur.asm @@ -0,0 +1,28 @@ +db DEX_VENUSAUR ; pokedex id +db 80 ; base hp +db 82 ; base attack +db 83 ; base defense +db 80 ; base speed +db 100 ; base special +db GRASS ; species type 1 +db POISON ; species type 2 +db 45 ; catch rate +db 208 ; base exp yield +INCBIN "gfx/pokemon/front/venusaur.pic",0,1 ; 77, sprite dimensions +dw VenusaurPicFront +dw VenusaurPicBack +; attacks known at lvl 0 +db TACKLE +db GROWL +db LEECH_SEED +db VINE_WHIP +db 3 ; growth rate +; learnset + tmlearn 3,6,8 + tmlearn 9,10,15 + tmlearn 20,21,22 + tmlearn 31,32 + tmlearn 33,34 + tmlearn 44 + tmlearn 50,51 +db 0 ; padding diff --git a/data/pokemon/base_stats/victreebel.asm b/data/pokemon/base_stats/victreebel.asm new file mode 100644 index 00000000..ce528805 --- /dev/null +++ b/data/pokemon/base_stats/victreebel.asm @@ -0,0 +1,28 @@ +db DEX_VICTREEBEL ; pokedex id +db 80 ; base hp +db 105 ; base attack +db 65 ; base defense +db 70 ; base speed +db 100 ; base special +db GRASS ; species type 1 +db POISON ; species type 2 +db 45 ; catch rate +db 191 ; base exp yield +INCBIN "gfx/pokemon/front/victreebel.pic",0,1 ; 77, sprite dimensions +dw VictreebelPicFront +dw VictreebelPicBack +; attacks known at lvl 0 +db SLEEP_POWDER +db STUN_SPORE +db ACID +db RAZOR_LEAF +db 3 ; growth rate +; learnset + tmlearn 3,6,8 + tmlearn 9,10,15 + tmlearn 20,21,22 + tmlearn 31,32 + tmlearn 33,34 + tmlearn 44 + tmlearn 50,51 +db 0 ; padding diff --git a/data/pokemon/base_stats/vileplume.asm b/data/pokemon/base_stats/vileplume.asm new file mode 100644 index 00000000..2ec67131 --- /dev/null +++ b/data/pokemon/base_stats/vileplume.asm @@ -0,0 +1,28 @@ +db DEX_VILEPLUME ; pokedex id +db 75 ; base hp +db 80 ; base attack +db 85 ; base defense +db 50 ; base speed +db 100 ; base special +db GRASS ; species type 1 +db POISON ; species type 2 +db 45 ; catch rate +db 184 ; base exp yield +INCBIN "gfx/pokemon/front/vileplume.pic",0,1 ; 77, sprite dimensions +dw VileplumePicFront +dw VileplumePicBack +; attacks known at lvl 0 +db STUN_SPORE +db SLEEP_POWDER +db ACID +db PETAL_DANCE +db 3 ; growth rate +; learnset + tmlearn 3,6,8 + tmlearn 9,10,15 + tmlearn 20,21,22 + tmlearn 31,32 + tmlearn 33,34 + tmlearn 44 + tmlearn 50,51 +db 0 ; padding diff --git a/data/pokemon/base_stats/voltorb.asm b/data/pokemon/base_stats/voltorb.asm new file mode 100644 index 00000000..6cb55714 --- /dev/null +++ b/data/pokemon/base_stats/voltorb.asm @@ -0,0 +1,28 @@ +db DEX_VOLTORB ; pokedex id +db 40 ; base hp +db 30 ; base attack +db 50 ; base defense +db 100 ; base speed +db 55 ; base special +db ELECTRIC ; species type 1 +db ELECTRIC ; species type 2 +db 190 ; catch rate +db 103 ; base exp yield +INCBIN "gfx/pokemon/front/voltorb.pic",0,1 ; 55, sprite dimensions +dw VoltorbPicFront +dw VoltorbPicBack +; attacks known at lvl 0 +db TACKLE +db SCREECH +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 6 + tmlearn 9 + tmlearn 20,24 + tmlearn 25,30,31,32 + tmlearn 33,34,36,39 + tmlearn 44,45,47 + tmlearn 50,55 +db 0 ; padding diff --git a/data/pokemon/base_stats/vulpix.asm b/data/pokemon/base_stats/vulpix.asm new file mode 100644 index 00000000..9285df13 --- /dev/null +++ b/data/pokemon/base_stats/vulpix.asm @@ -0,0 +1,28 @@ +db DEX_VULPIX ; pokedex id +db 38 ; base hp +db 41 ; base attack +db 40 ; base defense +db 65 ; base speed +db 65 ; base special +db FIRE ; species type 1 +db FIRE ; species type 2 +db 190 ; catch rate +db 63 ; base exp yield +INCBIN "gfx/pokemon/front/vulpix.pic",0,1 ; 66, sprite dimensions +dw VulpixPicFront +dw VulpixPicBack +; attacks known at lvl 0 +db EMBER +db TAIL_WHIP +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 6,8 + tmlearn 9,10 + tmlearn 20 + tmlearn 28,31,32 + tmlearn 33,34,38,39,40 + tmlearn 44 + tmlearn 50 +db 0 ; padding diff --git a/data/pokemon/base_stats/wartortle.asm b/data/pokemon/base_stats/wartortle.asm new file mode 100644 index 00000000..ce37e7b3 --- /dev/null +++ b/data/pokemon/base_stats/wartortle.asm @@ -0,0 +1,28 @@ +db DEX_WARTORTLE ; pokedex id +db 59 ; base hp +db 63 ; base attack +db 80 ; base defense +db 58 ; base speed +db 65 ; base special +db WATER ; species type 1 +db WATER ; species type 2 +db 45 ; catch rate +db 143 ; base exp yield +INCBIN "gfx/pokemon/front/wartortle.pic",0,1 ; 66, sprite dimensions +dw WartortlePicFront +dw WartortlePicBack +; attacks known at lvl 0 +db TACKLE +db TAIL_WHIP +db BUBBLE +db 0 +db 3 ; growth rate +; learnset + tmlearn 1,5,6,8 + tmlearn 9,10,11,12,13,14 + tmlearn 17,18,19,20 + tmlearn 28,31,32 + tmlearn 33,34,40 + tmlearn 44 + tmlearn 50,53,54 +db 0 ; padding diff --git a/data/pokemon/base_stats/weedle.asm b/data/pokemon/base_stats/weedle.asm new file mode 100644 index 00000000..7434d93a --- /dev/null +++ b/data/pokemon/base_stats/weedle.asm @@ -0,0 +1,28 @@ +db DEX_WEEDLE ; pokedex id +db 40 ; base hp +db 35 ; base attack +db 30 ; base defense +db 50 ; base speed +db 20 ; base special +db BUG ; species type 1 +db POISON ; species type 2 +db 255 ; catch rate +db 52 ; base exp yield +INCBIN "gfx/pokemon/front/weedle.pic",0,1 ; 55, sprite dimensions +dw WeedlePicFront +dw WeedlePicBack +; attacks known at lvl 0 +db POISON_STING +db STRING_SHOT +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 0 + tmlearn 0 + tmlearn 0 + tmlearn 0 + tmlearn 0 + tmlearn 0 + tmlearn 0 +db 0 ; padding diff --git a/data/pokemon/base_stats/weepinbell.asm b/data/pokemon/base_stats/weepinbell.asm new file mode 100644 index 00000000..48e18a31 --- /dev/null +++ b/data/pokemon/base_stats/weepinbell.asm @@ -0,0 +1,28 @@ +db DEX_WEEPINBELL ; pokedex id +db 65 ; base hp +db 90 ; base attack +db 50 ; base defense +db 55 ; base speed +db 85 ; base special +db GRASS ; species type 1 +db POISON ; species type 2 +db 120 ; catch rate +db 151 ; base exp yield +INCBIN "gfx/pokemon/front/weepinbell.pic",0,1 ; 66, sprite dimensions +dw WeepinbellPicFront +dw WeepinbellPicBack +; attacks known at lvl 0 +db VINE_WHIP +db GROWTH +db WRAP +db 0 +db 3 ; growth rate +; learnset + tmlearn 3,6 + tmlearn 9,10 + tmlearn 20,21,22 + tmlearn 31,32 + tmlearn 33,34 + tmlearn 44 + tmlearn 50,51 +db 0 ; padding diff --git a/data/pokemon/base_stats/weezing.asm b/data/pokemon/base_stats/weezing.asm new file mode 100644 index 00000000..21779741 --- /dev/null +++ b/data/pokemon/base_stats/weezing.asm @@ -0,0 +1,28 @@ +db DEX_WEEZING ; pokedex id +db 65 ; base hp +db 90 ; base attack +db 120 ; base defense +db 60 ; base speed +db 85 ; base special +db POISON ; species type 1 +db POISON ; species type 2 +db 60 ; catch rate +db 173 ; base exp yield +INCBIN "gfx/pokemon/front/weezing.pic",0,1 ; 77, sprite dimensions +dw WeezingPicFront +dw WeezingPicBack +; attacks known at lvl 0 +db TACKLE +db SMOG +db SLUDGE +db 0 +db 0 ; growth rate +; learnset + tmlearn 6 + tmlearn 15 + tmlearn 20,24 + tmlearn 25,31,32 + tmlearn 34,36,38 + tmlearn 44,47 + tmlearn 50 +db 0 ; padding diff --git a/data/pokemon/base_stats/wigglytuff.asm b/data/pokemon/base_stats/wigglytuff.asm new file mode 100644 index 00000000..4f7fec95 --- /dev/null +++ b/data/pokemon/base_stats/wigglytuff.asm @@ -0,0 +1,28 @@ +db DEX_WIGGLYTUFF ; pokedex id +db 140 ; base hp +db 70 ; base attack +db 45 ; base defense +db 45 ; base speed +db 50 ; base special +db NORMAL ; species type 1 +db NORMAL ; species type 2 +db 50 ; catch rate +db 109 ; base exp yield +INCBIN "gfx/pokemon/front/wigglytuff.pic",0,1 ; 66, sprite dimensions +dw WigglytuffPicFront +dw WigglytuffPicBack +; attacks known at lvl 0 +db SING +db DISABLE +db DEFENSE_CURL +db DOUBLESLAP +db 4 ; growth rate +; learnset + tmlearn 1,5,6,8 + tmlearn 9,10,11,12,13,14,15 + tmlearn 17,18,19,20,22,24 + tmlearn 25,29,30,31,32 + tmlearn 33,34,38,40 + tmlearn 44,45,46 + tmlearn 49,50,54,55 +db 0 ; padding diff --git a/data/pokemon/base_stats/zapdos.asm b/data/pokemon/base_stats/zapdos.asm new file mode 100644 index 00000000..560f78c4 --- /dev/null +++ b/data/pokemon/base_stats/zapdos.asm @@ -0,0 +1,28 @@ +db DEX_ZAPDOS ; pokedex id +db 90 ; base hp +db 90 ; base attack +db 85 ; base defense +db 100 ; base speed +db 125 ; base special +db ELECTRIC ; species type 1 +db FLYING ; species type 2 +db 3 ; catch rate +db 216 ; base exp yield +INCBIN "gfx/pokemon/front/zapdos.pic",0,1 ; 77, sprite dimensions +dw ZapdosPicFront +dw ZapdosPicBack +; attacks known at lvl 0 +db THUNDERSHOCK +db DRILL_PECK +db 0 +db 0 +db 5 ; growth rate +; learnset + tmlearn 2,4,6 + tmlearn 9,10,15 + tmlearn 20,24 + tmlearn 25,31,32 + tmlearn 33,34,39 + tmlearn 43,44,45 + tmlearn 50,52,55 +db 0 ; padding diff --git a/data/pokemon/base_stats/zubat.asm b/data/pokemon/base_stats/zubat.asm new file mode 100644 index 00000000..55b7ac4c --- /dev/null +++ b/data/pokemon/base_stats/zubat.asm @@ -0,0 +1,28 @@ +db DEX_ZUBAT ; pokedex id +db 40 ; base hp +db 45 ; base attack +db 35 ; base defense +db 55 ; base speed +db 40 ; base special +db POISON ; species type 1 +db FLYING ; species type 2 +db 255 ; catch rate +db 54 ; base exp yield +INCBIN "gfx/pokemon/front/zubat.pic",0,1 ; 55, sprite dimensions +dw ZubatPicFront +dw ZubatPicBack +; attacks known at lvl 0 +db LEECH_LIFE +db 0 +db 0 +db 0 +db 0 ; growth rate +; learnset + tmlearn 2,4,6 + tmlearn 9,10 + tmlearn 20,21 + tmlearn 31,32 + tmlearn 34,39 + tmlearn 44 + tmlearn 50 +db 0 ; padding diff --git a/data/pokemon/cries.asm b/data/pokemon/cries.asm new file mode 100755 index 00000000..1fc9960f --- /dev/null +++ b/data/pokemon/cries.asm @@ -0,0 +1,192 @@ +CryData:: + ;$BaseCry, $Pitch, $Length + db $11, $00, $80; Rhydon + db $03, $00, $80; Kangaskhan + db $00, $00, $80; Nidoran♂ + db $19, $CC, $01; Clefairy + db $10, $00, $80; Spearow + db $06, $ED, $80; Voltorb + db $09, $00, $80; Nidoking + db $1F, $00, $80; Slowbro + db $0F, $20, $80; Ivysaur + db $0D, $00, $80; Exeggutor + db $0C, $00, $80; Lickitung + db $0B, $00, $80; Exeggcute + db $05, $00, $80; Grimer + db $07, $00, $FF; Gengar + db $01, $00, $80; Nidoran♀ + db $0A, $00, $80; Nidoqueen + db $19, $00, $80; Cubone + db $04, $00, $80; Rhyhorn + db $1B, $00, $80; Lapras + db $15, $00, $80; Arcanine + db $1E, $EE, $FF; Mew + db $17, $00, $80; Gyarados + db $18, $00, $80; Shellder + db $1A, $00, $80; Tentacool + db $1C, $00, $80; Gastly + db $16, $00, $80; Scyther + db $1E, $02, $20; Staryu + db $13, $00, $80; Blastoise + db $14, $00, $80; Pinsir + db $12, $00, $80; Tangela + db $00, $00, $00; MissingNo. + db $00, $00, $00; MissingNo. + db $1F, $20, $40; Growlithe + db $17, $FF, $C0; Onix + db $18, $40, $A0; Fearow + db $0E, $DF, $04; Pidgey + db $02, $00, $80; Slowpoke + db $1C, $A8, $C0; Kadabra + db $24, $00, $80; Graveler + db $14, $0A, $C0; Chansey + db $1F, $48, $60; Machoke + db $20, $08, $40; Mr.Mime + db $12, $80, $C0; Hitmonlee + db $0C, $EE, $C0; Hitmonchan + db $17, $E0, $10; Arbok + db $1E, $42, $FF; Parasect + db $21, $20, $60; Psyduck + db $0D, $88, $20; Drowzee + db $12, $E0, $40; Golem + db $00, $00, $00; MissingNo. + db $04, $FF, $30; Magmar + db $00, $00, $00; MissingNo. + db $06, $8F, $FF; Electabuzz + db $1C, $20, $C0; Magneton + db $12, $E6, $DD; Koffing + db $00, $00, $00; MissingNo. + db $0A, $DD, $60; Mankey + db $0C, $88, $C0; Seel + db $0B, $AA, $01; Diglett + db $1D, $11, $40; Tauros + db $00, $00, $00; MissingNo. + db $00, $00, $00; MissingNo. + db $00, $00, $00; MissingNo. + db $10, $DD, $01; Farfetch'd + db $1A, $44, $40; Venonat + db $0F, $3C, $C0; Dragonite + db $00, $80, $10; MissingNo. + db $00, $00, $00; MissingNo. + db $1D, $E0, $80; MissingNo. + db $0B, $BB, $01; Doduo + db $0E, $FF, $FF; Poliwag + db $0D, $FF, $FF; Jynx + db $09, $F8, $40; Moltres + db $09, $80, $40; Articuno + db $18, $FF, $80; Zapdos + db $0E, $FF, $FF; Ditto + db $19, $77, $10; Meowth + db $20, $20, $E0; Krabby + db $22, $FF, $40; MissingNo. + db $00, $00, $00; MissingNo. + db $0E, $E0, $60; MissingNo. + db $24, $4F, $10; Vulpix + db $24, $88, $60; Ninetales + db $0F, $EE, $01; Pikachu + db $09, $EE, $08; Raichu + db $00, $00, $00; MissingNo. + db $00, $00, $00; MissingNo. + db $0F, $60, $40; Dratini + db $0F, $40, $80; Dragonair + db $16, $BB, $40; Kabuto + db $18, $EE, $01; Kabutops + db $19, $99, $10; Horsea + db $19, $3C, $01; Seadra + db $0F, $40, $C0; MissingNo. + db $0F, $20, $C0; MissingNo. + db $00, $20, $40; Sandshrew + db $00, $FF, $FF; Sandslash + db $1F, $F0, $01; Omanyte + db $1F, $FF, $40; Omastar + db $0E, $FF, $35; Jigglypuff + db $0E, $68, $60; Wigglytuff + db $1A, $88, $60; Eevee + db $1A, $10, $20; Flareon + db $1A, $3D, $80; Jolteon + db $1A, $AA, $FF; Vaporeon + db $1F, $EE, $01; Machop + db $1D, $E0, $80; Zubat + db $17, $12, $40; Ekans + db $1E, $20, $E0; Paras + db $0E, $77, $60; Poliwhirl + db $0E, $00, $FF; Poliwrath + db $15, $EE, $01; Weedle + db $13, $FF, $01; Kakuna + db $13, $60, $80; Beedrill + db $00, $00, $00; MissingNo. + db $0B, $99, $20; Dodrio + db $0A, $AF, $40; Primeape + db $0B, $2A, $10; Dugtrio + db $1A, $29, $80; Venomoth + db $0C, $23, $FF; Dewgong + db $00, $00, $00; MissingNo. + db $00, $00, $00; MissingNo. + db $16, $80, $20; Caterpie + db $1C, $CC, $01; Metapod + db $16, $77, $40; Butterfree + db $1F, $08, $C0; Machamp + db $11, $20, $10; MissingNo. + db $21, $FF, $40; Golduck + db $0D, $EE, $40; Hypno + db $1D, $FA, $80; Golbat + db $1E, $99, $FF; Mewtwo + db $05, $55, $01; Snorlax + db $17, $80, $00; Magikarp + db $00, $00, $00; MissingNo. + db $00, $00, $00; MissingNo. + db $07, $EF, $FF; Muk + db $0F, $40, $80; MissingNo. + db $20, $EE, $E0; Kingler + db $18, $6F, $E0; Cloyster + db $00, $00, $00; MissingNo. + db $06, $A8, $90; Electrode + db $19, $AA, $20; Clefable + db $12, $FF, $FF; Weezing + db $19, $99, $FF; Persian + db $08, $4F, $60; Marowak + db $00, $00, $00; MissingNo. + db $1C, $30, $40; Haunter + db $1C, $C0, $01; Abra + db $1C, $98, $FF; Alakazam + db $14, $28, $C0; Pidgeotto + db $14, $11, $FF; Pidgeot + db $1E, $00, $80; Starmie + db $0F, $80, $01; Bulbasaur + db $0F, $00, $C0; Venusaur + db $1A, $EE, $FF; Tentacruel + db $00, $00, $00; MissingNo. + db $16, $80, $40; Goldeen + db $16, $10, $FF; Seaking + db $00, $00, $00; MissingNo. + db $00, $00, $00; MissingNo. + db $00, $00, $00; MissingNo. + db $00, $00, $00; MissingNo. + db $25, $00, $80; Ponyta + db $25, $20, $C0; Rapidash + db $22, $00, $80; Rattata + db $22, $20, $FF; Raticate + db $00, $2C, $C0; Nidorino + db $01, $2C, $E0; Nidorina + db $24, $F0, $10; Geodude + db $25, $AA, $FF; Porygon + db $23, $20, $F0; Aerodactyl + db $00, $00, $00; MissingNo. + db $1C, $80, $60; Magnemite + db $00, $00, $00; MissingNo. + db $00, $00, $00; MissingNo. + db $04, $60, $40; Charmander + db $1D, $60, $40; Squirtle + db $04, $20, $40; Charmeleon + db $1D, $20, $40; Wartortle + db $04, $00, $80; Charizard + db $1D, $00, $80; MissingNo. + db $00, $00, $00; MissingNo. + db $00, $00, $00; MissingNo. + db $00, $00, $00; MissingNo. + db $08, $DD, $01; Oddish + db $08, $AA, $40; Gloom + db $23, $22, $FF; Vileplume + db $21, $55, $01; Bellsprout + db $25, $44, $20; Weepinbell + db $25, $66, $CC; Victreebel diff --git a/data/pokemon/dex_entries.asm b/data/pokemon/dex_entries.asm new file mode 100755 index 00000000..495a8e33 --- /dev/null +++ b/data/pokemon/dex_entries.asm @@ -0,0 +1,1259 @@ +PokedexEntryPointers: + dw RhydonDexEntry + dw KangaskhanDexEntry + dw NidoranMDexEntry + dw ClefairyDexEntry + dw SpearowDexEntry + dw VoltorbDexEntry + dw NidokingDexEntry + dw SlowbroDexEntry + dw IvysaurDexEntry + dw ExeggutorDexEntry + dw LickitungDexEntry + dw ExeggcuteDexEntry + dw GrimerDexEntry + dw GengarDexEntry + dw NidoranFDexEntry + dw NidoqueenDexEntry + dw CuboneDexEntry + dw RhyhornDexEntry + dw LaprasDexEntry + dw ArcanineDexEntry + dw MewDexEntry + dw GyaradosDexEntry + dw ShellderDexEntry + dw TentacoolDexEntry + dw GastlyDexEntry + dw ScytherDexEntry + dw StaryuDexEntry + dw BlastoiseDexEntry + dw PinsirDexEntry + dw TangelaDexEntry + dw MissingNoDexEntry + dw MissingNoDexEntry + dw GrowlitheDexEntry + dw OnixDexEntry + dw FearowDexEntry + dw PidgeyDexEntry + dw SlowpokeDexEntry + dw KadabraDexEntry + dw GravelerDexEntry + dw ChanseyDexEntry + dw MachokeDexEntry + dw MrMimeDexEntry + dw HitmonleeDexEntry + dw HitmonchanDexEntry + dw ArbokDexEntry + dw ParasectDexEntry + dw PsyduckDexEntry + dw DrowzeeDexEntry + dw GolemDexEntry + dw MissingNoDexEntry + dw MagmarDexEntry + dw MissingNoDexEntry + dw ElectabuzzDexEntry + dw MagnetonDexEntry + dw KoffingDexEntry + dw MissingNoDexEntry + dw MankeyDexEntry + dw SeelDexEntry + dw DiglettDexEntry + dw TaurosDexEntry + dw MissingNoDexEntry + dw MissingNoDexEntry + dw MissingNoDexEntry + dw FarfetchdDexEntry + dw VenonatDexEntry + dw DragoniteDexEntry + dw MissingNoDexEntry + dw MissingNoDexEntry + dw MissingNoDexEntry + dw DoduoDexEntry + dw PoliwagDexEntry + dw JynxDexEntry + dw MoltresDexEntry + dw ArticunoDexEntry + dw ZapdosDexEntry + dw DittoDexEntry + dw MeowthDexEntry + dw KrabbyDexEntry + dw MissingNoDexEntry + dw MissingNoDexEntry + dw MissingNoDexEntry + dw VulpixDexEntry + dw NinetalesDexEntry + dw PikachuDexEntry + dw RaichuDexEntry + dw MissingNoDexEntry + dw MissingNoDexEntry + dw DratiniDexEntry + dw DragonairDexEntry + dw KabutoDexEntry + dw KabutopsDexEntry + dw HorseaDexEntry + dw SeadraDexEntry + dw MissingNoDexEntry + dw MissingNoDexEntry + dw SandshrewDexEntry + dw SandslashDexEntry + dw OmanyteDexEntry + dw OmastarDexEntry + dw JigglypuffDexEntry + dw WigglytuffDexEntry + dw EeveeDexEntry + dw FlareonDexEntry + dw JolteonDexEntry + dw VaporeonDexEntry + dw MachopDexEntry + dw ZubatDexEntry + dw EkansDexEntry + dw ParasDexEntry + dw PoliwhirlDexEntry + dw PoliwrathDexEntry + dw WeedleDexEntry + dw KakunaDexEntry + dw BeedrillDexEntry + dw MissingNoDexEntry + dw DodrioDexEntry + dw PrimeapeDexEntry + dw DugtrioDexEntry + dw VenomothDexEntry + dw DewgongDexEntry + dw MissingNoDexEntry + dw MissingNoDexEntry + dw CaterpieDexEntry + dw MetapodDexEntry + dw ButterfreeDexEntry + dw MachampDexEntry + dw MissingNoDexEntry + dw GolduckDexEntry + dw HypnoDexEntry + dw GolbatDexEntry + dw MewtwoDexEntry + dw SnorlaxDexEntry + dw MagikarpDexEntry + dw MissingNoDexEntry + dw MissingNoDexEntry + dw MukDexEntry + dw MissingNoDexEntry + dw KinglerDexEntry + dw CloysterDexEntry + dw MissingNoDexEntry + dw ElectrodeDexEntry + dw ClefableDexEntry + dw WeezingDexEntry + dw PersianDexEntry + dw MarowakDexEntry + dw MissingNoDexEntry + dw HaunterDexEntry + dw AbraDexEntry + dw AlakazamDexEntry + dw PidgeottoDexEntry + dw PidgeotDexEntry + dw StarmieDexEntry + dw BulbasaurDexEntry + dw VenusaurDexEntry + dw TentacruelDexEntry + dw MissingNoDexEntry + dw GoldeenDexEntry + dw SeakingDexEntry + dw MissingNoDexEntry + dw MissingNoDexEntry + dw MissingNoDexEntry + dw MissingNoDexEntry + dw PonytaDexEntry + dw RapidashDexEntry + dw RattataDexEntry + dw RaticateDexEntry + dw NidorinoDexEntry + dw NidorinaDexEntry + dw GeodudeDexEntry + dw PorygonDexEntry + dw AerodactylDexEntry + dw MissingNoDexEntry + dw MagnemiteDexEntry + dw MissingNoDexEntry + dw MissingNoDexEntry + dw CharmanderDexEntry + dw SquirtleDexEntry + dw CharmeleonDexEntry + dw WartortleDexEntry + dw CharizardDexEntry + dw MissingNoDexEntry + dw MissingNoDexEntry + dw MissingNoDexEntry + dw MissingNoDexEntry + dw OddishDexEntry + dw GloomDexEntry + dw VileplumeDexEntry + dw BellsproutDexEntry + dw WeepinbellDexEntry + dw VictreebelDexEntry + +; string: species name +; height in feet, inches +; weight in pounds +; text entry + +RhydonDexEntry: + db "DRILL@" + db 6,3 + dw 2650 + TX_FAR _RhydonDexEntry + db "@" + +KangaskhanDexEntry: + db "PARENT@" + db 7,3 + dw 1760 + TX_FAR _KangaskhanDexEntry + db "@" + +NidoranMDexEntry: + db "POISON PIN@" + db 1,8 + dw 200 + TX_FAR _NidoranMDexEntry + db "@" + +ClefairyDexEntry: + db "FAIRY@" + db 2,0 + dw 170 + TX_FAR _ClefairyDexEntry + db "@" + +SpearowDexEntry: + db "TINY BIRD@" + db 1,0 + dw 40 + TX_FAR _SpearowDexEntry + db "@" + +VoltorbDexEntry: + db "BALL@" + db 1,8 + dw 230 + TX_FAR _VoltorbDexEntry + db "@" + +NidokingDexEntry: + db "DRILL@" + db 4,7 + dw 1370 + TX_FAR _NidokingDexEntry + db "@" + +SlowbroDexEntry: + db "HERMITCRAB@" + db 5,3 + dw 1730 + TX_FAR _SlowbroDexEntry + db "@" + +IvysaurDexEntry: + db "SEED@" + db 3,3 + dw 290 + TX_FAR _IvysaurDexEntry + db "@" + +ExeggutorDexEntry: + db "COCONUT@" + db 6,7 + dw 2650 + TX_FAR _ExeggutorDexEntry + db "@" + +LickitungDexEntry: + db "LICKING@" + db 3,11 + dw 1440 + TX_FAR _LickitungDexEntry + db "@" + +ExeggcuteDexEntry: + db "EGG@" + db 1,4 + dw 60 + TX_FAR _ExeggcuteDexEntry + db "@" + +GrimerDexEntry: + db "SLUDGE@" + db 2,11 + dw 660 + TX_FAR _GrimerDexEntry + db "@" + +GengarDexEntry: + db "SHADOW@" + db 4,11 + dw 890 + TX_FAR _GengarDexEntry + db "@" + +NidoranFDexEntry: + db "POISON PIN@" + db 1,4 + dw 150 + TX_FAR _NidoranFDexEntry + db "@" + +NidoqueenDexEntry: + db "DRILL@" + db 4,3 + dw 1320 + TX_FAR _NidoqueenDexEntry + db "@" + +CuboneDexEntry: + db "LONELY@" + db 1,4 + dw 140 + TX_FAR _CuboneDexEntry + db "@" + +RhyhornDexEntry: + db "SPIKES@" + db 3,3 + dw 2540 + TX_FAR _RhyhornDexEntry + db "@" + +LaprasDexEntry: + db "TRANSPORT@" + db 8,2 + dw 4850 + TX_FAR _LaprasDexEntry + db "@" + +ArcanineDexEntry: + db "LEGENDARY@" + db 6,3 + dw 3420 + TX_FAR _ArcanineDexEntry + db "@" + +MewDexEntry: + db "NEW SPECIE@" + db 1,4 + dw 90 + TX_FAR _MewDexEntry + db "@" + +GyaradosDexEntry: + db "ATROCIOUS@" + db 21,4 + dw 5180 + TX_FAR _GyaradosDexEntry + db "@" + +ShellderDexEntry: + db "BIVALVE@" + db 1,0 + dw 90 + TX_FAR _ShellderDexEntry + db "@" + +TentacoolDexEntry: + db "JELLYFISH@" + db 2,11 + dw 1000 + TX_FAR _TentacoolDexEntry + db "@" + +GastlyDexEntry: + db "GAS@" + db 4,3 + dw 2 + TX_FAR _GastlyDexEntry + db "@" + +ScytherDexEntry: + db "MANTIS@" + db 4,11 + dw 1230 + TX_FAR _ScytherDexEntry + db "@" + +StaryuDexEntry: + db "STARSHAPE@" + db 2,7 + dw 760 + TX_FAR _StaryuDexEntry + db "@" + +BlastoiseDexEntry: + db "SHELLFISH@" + db 5,3 + dw 1890 + TX_FAR _BlastoiseDexEntry + db "@" + +PinsirDexEntry: + db "STAGBEETLE@" + db 4,11 + dw 1210 + TX_FAR _PinsirDexEntry + db "@" + +TangelaDexEntry: + db "VINE@" + db 3,3 + dw 770 + TX_FAR _TangelaDexEntry + db "@" + +GrowlitheDexEntry: + db "PUPPY@" + db 2,4 + dw 420 + TX_FAR _GrowlitheDexEntry + db "@" + +OnixDexEntry: + db "ROCK SNAKE@" + db 28,10 + dw 4630 + TX_FAR _OnixDexEntry + db "@" + +FearowDexEntry: + db "BEAK@" + db 3,11 + dw 840 + TX_FAR _FearowDexEntry + db "@" + +PidgeyDexEntry: + db "TINY BIRD@" + db 1,0 + dw 40 + TX_FAR _PidgeyDexEntry + db "@" + +SlowpokeDexEntry: + db "DOPEY@" + db 3,11 + dw 790 + TX_FAR _SlowpokeDexEntry + db "@" + +KadabraDexEntry: + db "PSI@" + db 4,3 + dw 1250 + TX_FAR _KadabraDexEntry + db "@" + +GravelerDexEntry: + db "ROCK@" + db 3,3 + dw 2320 + TX_FAR _GravelerDexEntry + db "@" + +ChanseyDexEntry: + db "EGG@" + db 3,7 + dw 760 + TX_FAR _ChanseyDexEntry + db "@" + +MachokeDexEntry: + db "SUPERPOWER@" + db 4,11 + dw 1550 + TX_FAR _MachokeDexEntry + db "@" + +MrMimeDexEntry: + db "BARRIER@" + db 4,3 + dw 1200 + TX_FAR _MrMimeDexEntry + db "@" + +HitmonleeDexEntry: + db "KICKING@" + db 4,11 + dw 1100 + TX_FAR _HitmonleeDexEntry + db "@" + +HitmonchanDexEntry: + db "PUNCHING@" + db 4,7 + dw 1110 + TX_FAR _HitmonchanDexEntry + db "@" + +ArbokDexEntry: + db "COBRA@" + db 11,6 + dw 1430 + TX_FAR _ArbokDexEntry + db "@" + +ParasectDexEntry: + db "MUSHROOM@" + db 3,3 + dw 650 + TX_FAR _ParasectDexEntry + db "@" + +PsyduckDexEntry: + db "DUCK@" + db 2,7 + dw 430 + TX_FAR _PsyduckDexEntry + db "@" + +DrowzeeDexEntry: + db "HYPNOSIS@" + db 3,3 + dw 710 + TX_FAR _DrowzeeDexEntry + db "@" + +GolemDexEntry: + db "MEGATON@" + db 4,7 + dw 6620 + TX_FAR _GolemDexEntry + db "@" + +MagmarDexEntry: + db "SPITFIRE@" + db 4,3 + dw 980 + TX_FAR _MagmarDexEntry + db "@" + +ElectabuzzDexEntry: + db "ELECTRIC@" + db 3,7 + dw 660 + TX_FAR _ElectabuzzDexEntry + db "@" + +MagnetonDexEntry: + db "MAGNET@" + db 3,3 + dw 1320 + TX_FAR _MagnetonDexEntry + db "@" + +KoffingDexEntry: + db "POISON GAS@" + db 2,0 + dw 20 + TX_FAR _KoffingDexEntry + db "@" + +MankeyDexEntry: + db "PIG MONKEY@" + db 1,8 + dw 620 + TX_FAR _MankeyDexEntry + db "@" + +SeelDexEntry: + db "SEA LION@" + db 3,7 + dw 1980 + TX_FAR _SeelDexEntry + db "@" + +DiglettDexEntry: + db "MOLE@" + db 0,8 + dw 20 + TX_FAR _DiglettDexEntry + db "@" + +TaurosDexEntry: + db "WILD BULL@" + db 4,7 + dw 1950 + TX_FAR _TaurosDexEntry + db "@" + +FarfetchdDexEntry: + db "WILD DUCK@" + db 2,7 + dw 330 + TX_FAR _FarfetchdDexEntry + db "@" + +VenonatDexEntry: + db "INSECT@" + db 3,3 + dw 660 + TX_FAR _VenonatDexEntry + db "@" + +DragoniteDexEntry: + db "DRAGON@" + db 7,3 + dw 4630 + TX_FAR _DragoniteDexEntry + db "@" + +DoduoDexEntry: + db "TWIN BIRD@" + db 4,7 + dw 860 + TX_FAR _DoduoDexEntry + db "@" + +PoliwagDexEntry: + db "TADPOLE@" + db 2,0 + dw 270 + TX_FAR _PoliwagDexEntry + db "@" + +JynxDexEntry: + db "HUMANSHAPE@" + db 4,7 + dw 900 + TX_FAR _JynxDexEntry + db "@" + +MoltresDexEntry: + db "FLAME@" + db 6,7 + dw 1320 + TX_FAR _MoltresDexEntry + db "@" + +ArticunoDexEntry: + db "FREEZE@" + db 5,7 + dw 1220 + TX_FAR _ArticunoDexEntry + db "@" + +ZapdosDexEntry: + db "ELECTRIC@" + db 5,3 + dw 1160 + TX_FAR _ZapdosDexEntry + db "@" + +DittoDexEntry: + db "TRANSFORM@" + db 1,0 + dw 90 + TX_FAR _DittoDexEntry + db "@" + +MeowthDexEntry: + db "SCRATCHCAT@" + db 1,4 + dw 90 + TX_FAR _MeowthDexEntry + db "@" + +KrabbyDexEntry: + db "RIVER CRAB@" + db 1,4 + dw 140 + TX_FAR _KrabbyDexEntry + db "@" + +VulpixDexEntry: + db "FOX@" + db 2,0 + dw 220 + TX_FAR _VulpixDexEntry + db "@" + +NinetalesDexEntry: + db "FOX@" + db 3,7 + dw 440 + TX_FAR _NinetalesDexEntry + db "@" + +PikachuDexEntry: + db "MOUSE@" + db 1,4 + dw 130 + TX_FAR _PikachuDexEntry + db "@" + +RaichuDexEntry: + db "MOUSE@" + db 2,7 + dw 660 + TX_FAR _RaichuDexEntry + db "@" + +DratiniDexEntry: + db "DRAGON@" + db 5,11 + dw 70 + TX_FAR _DratiniDexEntry + db "@" + +DragonairDexEntry: + db "DRAGON@" + db 13,1 + dw 360 + TX_FAR _DragonairDexEntry + db "@" + +KabutoDexEntry: + db "SHELLFISH@" + db 1,8 + dw 250 + TX_FAR _KabutoDexEntry + db "@" + +KabutopsDexEntry: + db "SHELLFISH@" + db 4,3 + dw 890 + TX_FAR _KabutopsDexEntry + db "@" + +HorseaDexEntry: + db "DRAGON@" + db 1,4 + dw 180 + TX_FAR _HorseaDexEntry + db "@" + +SeadraDexEntry: + db "DRAGON@" + db 3,11 + dw 550 + TX_FAR _SeadraDexEntry + db "@" + +SandshrewDexEntry: + db "MOUSE@" + db 2,0 + dw 260 + TX_FAR _SandshrewDexEntry + db "@" + +SandslashDexEntry: + db "MOUSE@" + db 3,3 + dw 650 + TX_FAR _SandslashDexEntry + db "@" + +OmanyteDexEntry: + db "SPIRAL@" + db 1,4 + dw 170 + TX_FAR _OmanyteDexEntry + db "@" + +OmastarDexEntry: + db "SPIRAL@" + db 3,3 + dw 770 + TX_FAR _OmastarDexEntry + db "@" + +JigglypuffDexEntry: + db "BALLOON@" + db 1,8 + dw 120 + TX_FAR _JigglypuffDexEntry + db "@" + +WigglytuffDexEntry: + db "BALLOON@" + db 3,3 + dw 260 + TX_FAR _WigglytuffDexEntry + db "@" + +EeveeDexEntry: + db "EVOLUTION@" + db 1,0 + dw 140 + TX_FAR _EeveeDexEntry + db "@" + +FlareonDexEntry: + db "FLAME@" + db 2,11 + dw 550 + TX_FAR _FlareonDexEntry + db "@" + +JolteonDexEntry: + db "LIGHTNING@" + db 2,7 + dw 540 + TX_FAR _JolteonDexEntry + db "@" + +VaporeonDexEntry: + db "BUBBLE JET@" + db 3,3 + dw 640 + TX_FAR _VaporeonDexEntry + db "@" + +MachopDexEntry: + db "SUPERPOWER@" + db 2,7 + dw 430 + TX_FAR _MachopDexEntry + db "@" + +ZubatDexEntry: + db "BAT@" + db 2,7 + dw 170 + TX_FAR _ZubatDexEntry + db "@" + +EkansDexEntry: + db "SNAKE@" + db 6,7 + dw 150 + TX_FAR _EkansDexEntry + db "@" + +ParasDexEntry: + db "MUSHROOM@" + db 1,0 + dw 120 + TX_FAR _ParasDexEntry + db "@" + +PoliwhirlDexEntry: + db "TADPOLE@" + db 3,3 + dw 440 + TX_FAR _PoliwhirlDexEntry + db "@" + +PoliwrathDexEntry: + db "TADPOLE@" + db 4,3 + dw 1190 + TX_FAR _PoliwrathDexEntry + db "@" + +WeedleDexEntry: + db "HAIRY BUG@" + db 1,0 + dw 70 + TX_FAR _WeedleDexEntry + db "@" + +KakunaDexEntry: + db "COCOON@" + db 2,0 + dw 220 + TX_FAR _KakunaDexEntry + db "@" + +BeedrillDexEntry: + db "POISON BEE@" + db 3,3 + dw 650 + TX_FAR _BeedrillDexEntry + db "@" + +DodrioDexEntry: + db "TRIPLEBIRD@" + db 5,11 + dw 1880 + TX_FAR _DodrioDexEntry + db "@" + +PrimeapeDexEntry: + db "PIG MONKEY@" + db 3,3 + dw 710 + TX_FAR _PrimeapeDexEntry + db "@" + +DugtrioDexEntry: + db "MOLE@" + db 2,4 + dw 730 + TX_FAR _DugtrioDexEntry + db "@" + +VenomothDexEntry: + db "POISONMOTH@" + db 4,11 + dw 280 + TX_FAR _VenomothDexEntry + db "@" + +DewgongDexEntry: + db "SEA LION@" + db 5,7 + dw 2650 + TX_FAR _DewgongDexEntry + db "@" + +CaterpieDexEntry: + db "WORM@" + db 1,0 + dw 60 + TX_FAR _CaterpieDexEntry + db "@" + +MetapodDexEntry: + db "COCOON@" + db 2,4 + dw 220 + TX_FAR _MetapodDexEntry + db "@" + +ButterfreeDexEntry: + db "BUTTERFLY@" + db 3,7 + dw 710 + TX_FAR _ButterfreeDexEntry + db "@" + +MachampDexEntry: + db "SUPERPOWER@" + db 5,3 + dw 2870 + TX_FAR _MachampDexEntry + db "@" + +GolduckDexEntry: + db "DUCK@" + db 5,7 + dw 1690 + TX_FAR _GolduckDexEntry + db "@" + +HypnoDexEntry: + db "HYPNOSIS@" + db 5,3 + dw 1670 + TX_FAR _HypnoDexEntry + db "@" + +GolbatDexEntry: + db "BAT@" + db 5,3 + dw 1210 + TX_FAR _GolbatDexEntry + db "@" + +MewtwoDexEntry: + db "GENETIC@" + db 6,7 + dw 2690 + TX_FAR _MewtwoDexEntry + db "@" + +SnorlaxDexEntry: + db "SLEEPING@" + db 6,11 + dw 10140 + TX_FAR _SnorlaxDexEntry + db "@" + +MagikarpDexEntry: + db "FISH@" + db 2,11 + dw 220 + TX_FAR _MagikarpDexEntry + db "@" + +MukDexEntry: + db "SLUDGE@" + db 3,11 + dw 660 + TX_FAR _MukDexEntry + db "@" + +KinglerDexEntry: + db "PINCER@" + db 4,3 + dw 1320 + TX_FAR _KinglerDexEntry + db "@" + +CloysterDexEntry: + db "BIVALVE@" + db 4,11 + dw 2920 + TX_FAR _CloysterDexEntry + db "@" + +ElectrodeDexEntry: + db "BALL@" + db 3,11 + dw 1470 + TX_FAR _ElectrodeDexEntry + db "@" + +ClefableDexEntry: + db "FAIRY@" + db 4,3 + dw 880 + TX_FAR _ClefableDexEntry + db "@" + +WeezingDexEntry: + db "POISON GAS@" + db 3,11 + dw 210 + TX_FAR _WeezingDexEntry + db "@" + +PersianDexEntry: + db "CLASSY CAT@" + db 3,3 + dw 710 + TX_FAR _PersianDexEntry + db "@" + +MarowakDexEntry: + db "BONEKEEPER@" + db 3,3 + dw 990 + TX_FAR _MarowakDexEntry + db "@" + +HaunterDexEntry: + db "GAS@" + db 5,3 + dw 2 + TX_FAR _HaunterDexEntry + db "@" + +AbraDexEntry: + db "PSI@" + db 2,11 + dw 430 + TX_FAR _AbraDexEntry + db "@" + +AlakazamDexEntry: + db "PSI@" + db 4,11 + dw 1060 + TX_FAR _AlakazamDexEntry + db "@" + +PidgeottoDexEntry: + db "BIRD@" + db 3,7 + dw 660 + TX_FAR _PidgeottoDexEntry + db "@" + +PidgeotDexEntry: + db "BIRD@" + db 4,11 + dw 870 + TX_FAR _PidgeotDexEntry + db "@" + +StarmieDexEntry: + db "MYSTERIOUS@" + db 3,7 + dw 1760 + TX_FAR _StarmieDexEntry + db "@" + +BulbasaurDexEntry: + db "SEED@" + db 2,4 + dw 150 + TX_FAR _BulbasaurDexEntry + db "@" + +VenusaurDexEntry: + db "SEED@" + db 6,7 + dw 2210 + TX_FAR _VenusaurDexEntry + db "@" + +TentacruelDexEntry: + db "JELLYFISH@" + db 5,3 + dw 1210 + TX_FAR _TentacruelDexEntry + db "@" + +GoldeenDexEntry: + db "GOLDFISH@" + db 2,0 + dw 330 + TX_FAR _GoldeenDexEntry + db "@" + +SeakingDexEntry: + db "GOLDFISH@" + db 4,3 + dw 860 + TX_FAR _SeakingDexEntry + db "@" + +PonytaDexEntry: + db "FIRE HORSE@" + db 3,3 + dw 660 + TX_FAR _PonytaDexEntry + db "@" + +RapidashDexEntry: + db "FIRE HORSE@" + db 5,7 + dw 2090 + TX_FAR _RapidashDexEntry + db "@" + +RattataDexEntry: + db "RAT@" + db 1,0 + dw 80 + TX_FAR _RattataDexEntry + db "@" + +RaticateDexEntry: + db "RAT@" + db 2,4 + dw 410 + TX_FAR _RaticateDexEntry + db "@" + +NidorinoDexEntry: + db "POISON PIN@" + db 2,11 + dw 430 + TX_FAR _NidorinoDexEntry + db "@" + +NidorinaDexEntry: + db "POISON PIN@" + db 2,7 + dw 440 + TX_FAR _NidorinaDexEntry + db "@" + +GeodudeDexEntry: + db "ROCK@" + db 1,4 + dw 440 + TX_FAR _GeodudeDexEntry + db "@" + +PorygonDexEntry: + db "VIRTUAL@" + db 2,7 + dw 800 + TX_FAR _PorygonDexEntry + db "@" + +AerodactylDexEntry: + db "FOSSIL@" + db 5,11 + dw 1300 + TX_FAR _AerodactylDexEntry + db "@" + +MagnemiteDexEntry: + db "MAGNET@" + db 1,0 + dw 130 + TX_FAR _MagnemiteDexEntry + db "@" + +CharmanderDexEntry: + db "LIZARD@" + db 2,0 + dw 190 + TX_FAR _CharmanderDexEntry + db "@" + +SquirtleDexEntry: + db "TINYTURTLE@" + db 1,8 + dw 200 + TX_FAR _SquirtleDexEntry + db "@" + +CharmeleonDexEntry: + db "FLAME@" + db 3,7 + dw 420 + TX_FAR _CharmeleonDexEntry + db "@" + +WartortleDexEntry: + db "TURTLE@" + db 3,3 + dw 500 + TX_FAR _WartortleDexEntry + db "@" + +CharizardDexEntry: + db "FLAME@" + db 5,7 + dw 2000 + TX_FAR _CharizardDexEntry + db "@" + +OddishDexEntry: + db "WEED@" + db 1,8 + dw 120 + TX_FAR _OddishDexEntry + db "@" + +GloomDexEntry: + db "WEED@" + db 2,7 + dw 190 + TX_FAR _GloomDexEntry + db "@" + +VileplumeDexEntry: + db "FLOWER@" + db 3,11 + dw 410 + TX_FAR _VileplumeDexEntry + db "@" + +BellsproutDexEntry: + db "FLOWER@" + db 2,4 + dw 90 + TX_FAR _BellsproutDexEntry + db "@" + +WeepinbellDexEntry: + db "FLYCATCHER@" + db 3,3 + dw 140 + TX_FAR _WeepinbellDexEntry + db "@" + +VictreebelDexEntry: + db "FLYCATCHER@" + db 5,7 + dw 340 + TX_FAR _VictreebelDexEntry + db "@" + +MissingNoDexEntry: + db "???@" + db 10 ; 1.0 m + db 100 ; 10.0 kg + text "コメント さくせいちゅう@" ; コメント作成中 (Comment to be written) diff --git a/data/pokemon/dex_order.asm b/data/pokemon/dex_order.asm new file mode 100755 index 00000000..0e293946 --- /dev/null +++ b/data/pokemon/dex_order.asm @@ -0,0 +1,191 @@ +PokedexOrder: + db DEX_RHYDON + db DEX_KANGASKHAN + db DEX_NIDORAN_M + db DEX_CLEFAIRY + db DEX_SPEAROW + db DEX_VOLTORB + db DEX_NIDOKING + db DEX_SLOWBRO + db DEX_IVYSAUR + db DEX_EXEGGUTOR + db DEX_LICKITUNG + db DEX_EXEGGCUTE + db DEX_GRIMER + db DEX_GENGAR + db DEX_NIDORAN_F + db DEX_NIDOQUEEN + db DEX_CUBONE + db DEX_RHYHORN + db DEX_LAPRAS + db DEX_ARCANINE + db DEX_MEW + db DEX_GYARADOS + db DEX_SHELLDER + db DEX_TENTACOOL + db DEX_GASTLY + db DEX_SCYTHER + db DEX_STARYU + db DEX_BLASTOISE + db DEX_PINSIR + db DEX_TANGELA + db 0 ; MISSINGNO. + db 0 ; MISSINGNO. + db DEX_GROWLITHE + db DEX_ONIX + db DEX_FEAROW + db DEX_PIDGEY + db DEX_SLOWPOKE + db DEX_KADABRA + db DEX_GRAVELER + db DEX_CHANSEY + db DEX_MACHOKE + db DEX_MR_MIME + db DEX_HITMONLEE + db DEX_HITMONCHAN + db DEX_ARBOK + db DEX_PARASECT + db DEX_PSYDUCK + db DEX_DROWZEE + db DEX_GOLEM + db 0 ; MISSINGNO. + db DEX_MAGMAR + db 0 ; MISSINGNO. + db DEX_ELECTABUZZ + db DEX_MAGNETON + db DEX_KOFFING + db 0 ; MISSINGNO. + db DEX_MANKEY + db DEX_SEEL + db DEX_DIGLETT + db DEX_TAUROS + db 0 ; MISSINGNO. + db 0 ; MISSINGNO. + db 0 ; MISSINGNO. + db DEX_FARFETCHD + db DEX_VENONAT + db DEX_DRAGONITE + db 0 ; MISSINGNO. + db 0 ; MISSINGNO. + db 0 ; MISSINGNO. + db DEX_DODUO + db DEX_POLIWAG + db DEX_JYNX + db DEX_MOLTRES + db DEX_ARTICUNO + db DEX_ZAPDOS + db DEX_DITTO + db DEX_MEOWTH + db DEX_KRABBY + db 0 ; MISSINGNO. + db 0 ; MISSINGNO. + db 0 ; MISSINGNO. + db DEX_VULPIX + db DEX_NINETALES + db DEX_PIKACHU + db DEX_RAICHU + db 0 ; MISSINGNO. + db 0 ; MISSINGNO. + db DEX_DRATINI + db DEX_DRAGONAIR + db DEX_KABUTO + db DEX_KABUTOPS + db DEX_HORSEA + db DEX_SEADRA + db 0 ; MISSINGNO. + db 0 ; MISSINGNO. + db DEX_SANDSHREW + db DEX_SANDSLASH + db DEX_OMANYTE + db DEX_OMASTAR + db DEX_JIGGLYPUFF + db DEX_WIGGLYTUFF + db DEX_EEVEE + db DEX_FLAREON + db DEX_JOLTEON + db DEX_VAPOREON + db DEX_MACHOP + db DEX_ZUBAT + db DEX_EKANS + db DEX_PARAS + db DEX_POLIWHIRL + db DEX_POLIWRATH + db DEX_WEEDLE + db DEX_KAKUNA + db DEX_BEEDRILL + db 0 ; MISSINGNO. + db DEX_DODRIO + db DEX_PRIMEAPE + db DEX_DUGTRIO + db DEX_VENOMOTH + db DEX_DEWGONG + db 0 ; MISSINGNO. + db 0 ; MISSINGNO. + db DEX_CATERPIE + db DEX_METAPOD + db DEX_BUTTERFREE + db DEX_MACHAMP + db 0 ; MISSINGNO. + db DEX_GOLDUCK + db DEX_HYPNO + db DEX_GOLBAT + db DEX_MEWTWO + db DEX_SNORLAX + db DEX_MAGIKARP + db 0 ; MISSINGNO. + db 0 ; MISSINGNO. + db DEX_MUK + db 0 ; MISSINGNO. + db DEX_KINGLER + db DEX_CLOYSTER + db 0 ; MISSINGNO. + db DEX_ELECTRODE + db DEX_CLEFABLE + db DEX_WEEZING + db DEX_PERSIAN + db DEX_MAROWAK + db 0 ; MISSINGNO. + db DEX_HAUNTER + db DEX_ABRA + db DEX_ALAKAZAM + db DEX_PIDGEOTTO + db DEX_PIDGEOT + db DEX_STARMIE + db DEX_BULBASAUR + db DEX_VENUSAUR + db DEX_TENTACRUEL + db 0 ; MISSINGNO. + db DEX_GOLDEEN + db DEX_SEAKING + db 0 ; MISSINGNO. + db 0 ; MISSINGNO. + db 0 ; MISSINGNO. + db 0 ; MISSINGNO. + db DEX_PONYTA + db DEX_RAPIDASH + db DEX_RATTATA + db DEX_RATICATE + db DEX_NIDORINO + db DEX_NIDORINA + db DEX_GEODUDE + db DEX_PORYGON + db DEX_AERODACTYL + db 0 ; MISSINGNO. + db DEX_MAGNEMITE + db 0 ; MISSINGNO. + db 0 ; MISSINGNO. + db DEX_CHARMANDER + db DEX_SQUIRTLE + db DEX_CHARMELEON + db DEX_WARTORTLE + db DEX_CHARIZARD + db 0 ; MISSINGNO. + db 0 ; MISSINGNO. + db 0 ; MISSINGNO. + db 0 ; MISSINGNO. + db DEX_ODDISH + db DEX_GLOOM + db DEX_VILEPLUME + db DEX_BELLSPROUT + db DEX_WEEPINBELL + db DEX_VICTREEBEL diff --git a/data/pokemon/dex_text.asm b/data/pokemon/dex_text.asm new file mode 100644 index 00000000..65f3d89d --- /dev/null +++ b/data/pokemon/dex_text.asm @@ -0,0 +1,1510 @@ +_RhydonDexEntry:: + text "Protected by an" + next "armor-like hide," + next "it is capable of" + + page "living in molten" + next "lava of 3,600" + next "degrees" + dex + +_KangaskhanDexEntry:: + text "The infant rarely" + next "ventures out of" + next "its mother's" + + page "protective pouch" + next "until it is 3" + next "years old" + dex + +_NidoranMDexEntry:: + text "Stiffens its ears" + next "to sense danger." + next "The larger its" + + page "horns, the more" + next "powerful its" + next "secreted venom" + dex + +_ClefairyDexEntry:: + text "Its magical and" + next "cute appeal has" + next "many admirers." + + page "It is rare and" + next "found only in" + next "certain areas" + dex + +_SpearowDexEntry:: + text "Eats bugs in" + next "grassy areas. It" + next "has to flap its" + + page "short wings at" + next "high speed to" + next "stay airborne" + dex + +_VoltorbDexEntry:: + text "Usually found in" + next "power plants." + next "Easily mistaken" + + page "for a # BALL," + next "they have zapped" + next "many people" + dex + +_NidokingDexEntry:: + text "It uses its" + next "powerful tail in" + next "battle to smash," + + page "constrict, then" + next "break the prey's" + next "bones" + dex + +_SlowbroDexEntry:: + text "The SHELLDER that" + next "is latched onto" + next "SLOWPOKE's tail" + + page "is said to feed" + next "on the host's left" + next "over scraps" + dex + +_IvysaurDexEntry:: + text "When the bulb on" + next "its back grows" + next "large, it appears" + + page "to lose the" + next "ability to stand" + next "on its hind legs" + dex + +_ExeggutorDexEntry:: + text "Legend has it that" + next "on rare occasions," + next "one of its heads" + + page "will drop off and" + next "continue on as an" + next "EXEGGCUTE" + dex + +_LickitungDexEntry:: + text "Its tongue can be" + next "extended like a" + next "chameleon's. It" + + page "leaves a tingling" + next "sensation when it" + next "licks enemies" + dex + +_ExeggcuteDexEntry:: + text "Often mistaken" + next "for eggs." + next "When disturbed," + + page "they quickly" + next "gather and attack" + next "in swarms" + dex + +_GrimerDexEntry:: + text "Appears in filthy" + next "areas. Thrives by" + next "sucking up" + + page "polluted sludge" + next "that is pumped" + next "out of factories" + dex + +_GengarDexEntry:: + text "Under a full moon," + next "this #MON" + next "likes to mimic" + + page "the shadows of" + next "people and laugh" + next "at their fright" + dex + +_NidoranFDexEntry:: + text "Although small," + next "its venomous" + next "barbs render this" + + page "#MON dangerous." + next "The female has" + next "smaller horns" + dex + +_NidoqueenDexEntry:: + text "Its hard scales" + next "provide strong" + next "protection. It" + + page "uses its hefty" + next "bulk to execute" + next "powerful moves" + dex + +_CuboneDexEntry:: + text "Because it never" + next "removes its skull" + next "helmet, no one" + + page "has ever seen" + next "this #MON's" + next "real face" + dex + +_RhyhornDexEntry:: + text "Its massive bones" + next "are 1000 times" + next "harder than human" + + page "bones. It can" + next "easily knock a" + next "trailer flying" + dex + +_LaprasDexEntry:: + text "A #MON that" + next "has been over-" + next "hunted almost to" + + page "extinction. It" + next "can ferry people" + next "across the water" + dex + +_ArcanineDexEntry:: + text "A #MON that" + next "has been admired" + next "since the past" + + page "for its beauty." + next "It runs agilely" + next "as if on wings" + dex + +_MewDexEntry:: + text "So rare that it" + next "is still said to" + next "be a mirage by" + + page "many experts. Only" + next "a few people have" + next "seen it worldwide" + dex + +_GyaradosDexEntry:: + text "Rarely seen in" + next "the wild. Huge" + next "and vicious, it" + + page "is capable of" + next "destroying entire" + next "cities in a rage" + dex + +_ShellderDexEntry:: + text "Its hard shell" + next "repels any kind" + next "of attack." + + page "It is vulnerable" + next "only when its" + next "shell is open" + dex + +_TentacoolDexEntry:: + text "Drifts in shallow" + next "seas. Anglers who" + next "hook them by" + + page "accident are" + next "often punished by" + next "its stinging acid" + dex + +_GastlyDexEntry:: + text "Almost invisible," + next "this gaseous" + next "#MON cloaks" + + page "the target and" + next "puts it to sleep" + next "without notice" + dex + +_ScytherDexEntry:: + text "With ninja-like" + next "agility and speed," + next "it can create the" + + page "illusion that" + next "there is more" + next "than one" + dex + +_StaryuDexEntry:: + text "An enigmatic" + next "#MON that can" + next "effortlessly" + + page "regenerate any" + next "appendage it" + next "loses in battle" + dex + +_BlastoiseDexEntry:: + text "A brutal #MON" + next "with pressurized" + next "water jets on its" + + page "shell. They are" + next "used for high" + next "speed tackles" + dex + +_PinsirDexEntry:: + text "If it fails to" + next "crush the victim" + next "in its pincers," + + page "it will swing it" + next "around and toss" + next "it hard" + dex + +_TangelaDexEntry:: + text "The whole body is" + next "swathed with wide" + next "vines that are" + + page "similar to sea-" + next "weed. Its vines" + next "shake as it walks" + dex + +_GrowlitheDexEntry:: + text "Very protective" + next "of its territory." + next "It will bark and" + + page "bite to repel" + next "intruders from" + next "its space" + dex + +_OnixDexEntry:: + text "As it grows, the" + next "stone portions of" + next "its body harden" + + page "to become similar" + next "to a diamond, but" + next "colored black" + dex + +_FearowDexEntry:: + text "With its huge and" + next "magnificent wings," + next "it can keep aloft" + + page "without ever" + next "having to land" + next "for rest" + dex + +_PidgeyDexEntry:: + text "A common sight in" + next "forests and woods." + next "It flaps its" + + page "wings at ground" + next "level to kick up" + next "blinding sand" + dex + +_SlowpokeDexEntry:: + text "Incredibly slow" + next "and dopey. It" + next "takes 5 seconds" + + page "for it to feel" + next "pain when under" + next "attack" + dex + +_KadabraDexEntry:: + text "It emits special" + next "alpha waves from" + next "its body that" + + page "induce headaches" + next "just by being" + next "close by" + dex + +_GravelerDexEntry:: + text "Rolls down slopes" + next "to move. It rolls" + next "over any obstacle" + + page "without slowing" + next "or changing its" + next "direction" + dex + +_ChanseyDexEntry:: + text "A rare and elusive" + next "#MON that is" + next "said to bring" + + page "happiness to those" + next "who manage to get" + next "it" + dex + +_MachokeDexEntry:: + text "Its muscular body" + next "is so powerful, it" + next "must wear a power" + + page "save belt to be" + next "able to regulate" + next "its motions" + dex + +_MrMimeDexEntry:: + text "If interrupted" + next "while it is" + next "miming, it will" + + page "slap around the" + next "offender with its" + next "broad hands" + dex + +_HitmonleeDexEntry:: + text "When in a hurry," + next "its legs lengthen" + next "progressively." + + page "It runs smoothly" + next "with extra long," + next "loping strides" + dex + +_HitmonchanDexEntry:: + text "While apparently" + next "doing nothing, it" + next "fires punches in" + + page "lightning fast" + next "volleys that are" + next "impossible to see" + dex + +_ArbokDexEntry:: + text "It is rumored that" + next "the ferocious" + next "warning markings" + + page "on its belly" + next "differ from area" + next "to area" + dex + +_ParasectDexEntry:: + text "A host-parasite" + next "pair in which the" + next "parasite mushroom" + + page "has taken over the" + next "host bug. Prefers" + next "damp places" + dex + +_PsyduckDexEntry:: + text "While lulling its" + next "enemies with its" + next "vacant look, this" + + page "wily #MON will" + next "use psychokinetic" + next "powers" + dex + +_DrowzeeDexEntry:: + text "Puts enemies to" + next "sleep then eats" + next "their dreams." + + page "Occasionally gets" + next "sick from eating" + next "bad dreams" + dex + +_GolemDexEntry:: + text "Its boulder-like" + next "body is extremely" + next "hard. It can" + + page "easily withstand" + next "dynamite blasts" + next "without damage" + dex + +_MagmarDexEntry:: + text "Its body always" + next "burns with an" + next "orange glow that" + + page "enables it to" + next "hide perfectly" + next "among flames" + dex + +_ElectabuzzDexEntry:: + text "Normally found" + next "near power plants," + next "they can wander" + + page "away and cause" + next "major blackouts" + next "in cities" + dex + +_MagnetonDexEntry:: + text "Formed by several" + next "MAGNEMITEs linked" + next "together. They" + + page "frequently appear" + next "when sunspots" + next "flare up" + dex + +_KoffingDexEntry:: + text "Because it stores" + next "several kinds of" + next "toxic gases in" + + page "its body, it is" + next "prone to exploding" + next "without warning" + dex + +_MankeyDexEntry:: + text "Extremely quick to" + next "anger. It could" + next "be docile one" + + page "moment then" + next "thrashing away" + next "the next instant" + dex + +_SeelDexEntry:: + text "The protruding" + next "horn on its head" + next "is very hard." + + page "It is used for" + next "bashing through" + next "thick ice" + dex + +_DiglettDexEntry:: + text "Lives about one" + next "yard underground" + next "where it feeds on" + + page "plant roots. It" + next "sometimes appears" + next "above ground" + dex + +_TaurosDexEntry:: + text "When it targets" + next "an enemy, it" + next "charges furiously" + + page "while whipping its" + next "body with its" + next "long tails" + dex + +_FarfetchdDexEntry:: + text "The sprig of" + next "green onions it" + next "holds is its" + + page "weapon. It is" + next "used much like a" + next "metal sword" + dex + +_VenonatDexEntry:: + text "Lives in the" + next "shadows of tall" + next "trees where it" + + page "eats insects. It" + next "is attracted by" + next "light at night" + dex + +_DragoniteDexEntry:: + text "An extremely" + next "rarely seen" + next "marine #MON." + + page "Its intelligence" + next "is said to match" + next "that of humans" + dex + +_DoduoDexEntry:: + text "A bird that makes" + next "up for its poor" + next "flying with its" + + page "fast foot speed." + next "Leaves giant" + next "footprints" + dex + +_PoliwagDexEntry:: + text "Its newly grown" + next "legs prevent it" + next "from running. It" + + page "appears to prefer" + next "swimming than" + next "trying to stand" + dex + +_JynxDexEntry:: + text "It seductively" + next "wiggles its hips" + next "as it walks. It" + + page "can cause people" + next "to dance in" + next "unison with it" + dex + +_MoltresDexEntry:: + text "Known as the" + next "legendary bird of" + next "fire. Every flap" + + page "of its wings" + next "creates a dazzling" + next "flash of flames" + dex + +_ArticunoDexEntry:: + text "A legendary bird" + next "#MON that is" + next "said to appear to" + + page "doomed people who" + next "are lost in icy" + next "mountains" + dex + +_ZapdosDexEntry:: + text "A legendary bird" + next "#MON that is" + next "said to appear" + + page "from clouds while" + next "dropping enormous" + next "lightning bolts" + dex + +_DittoDexEntry:: + text "Capable of copying" + next "an enemy's genetic" + next "code to instantly" + + page "transform itself" + next "into a duplicate" + next "of the enemy" + dex + +_MeowthDexEntry:: + text "Adores circular" + next "objects. Wanders" + next "the streets on a" + + page "nightly basis to" + next "look for dropped" + next "loose change" + dex + +_KrabbyDexEntry:: + text "Its pincers are" + next "not only powerful" + next "weapons, they are" + + page "used for balance" + next "when walking" + next "sideways" + dex + +_VulpixDexEntry:: + text "At the time of" + next "birth, it has" + next "just one tail." + + page "The tail splits" + next "from its tip as" + next "it grows older" + dex + +_NinetalesDexEntry:: + text "Very smart and" + next "very vengeful." + next "Grabbing one of" + + page "its many tails" + next "could result in a" + next "1000-year curse" + dex + +_PikachuDexEntry:: + text "When several of" + next "these #MON" + next "gather, their" + + page "electricity could" + next "build and cause" + next "lightning storms" + dex + +_RaichuDexEntry:: + text "Its long tail" + next "serves as a" + next "ground to protect" + + page "itself from its" + next "own high voltage" + next "power" + dex + +_DratiniDexEntry:: + text "Long considered a" + next "mythical #MON" + next "until recently" + + page "when a small" + next "colony was found" + next "living underwater" + dex + +_DragonairDexEntry:: + text "A mystical #MON" + next "that exudes a" + next "gentle aura." + + page "Has the ability" + next "to change climate" + next "conditions" + dex + +_KabutoDexEntry:: + text "A #MON that" + next "was resurrected" + next "from a fossil" + + page "found in what was" + next "once the ocean" + next "floor eons ago" + dex + +_KabutopsDexEntry:: + text "Its sleek shape is" + next "perfect for swim-" + next "ming. It slashes" + + page "prey with its" + next "claws and drains" + next "the body fluids" + dex + +_HorseaDexEntry:: + text "Known to shoot" + next "down flying bugs" + next "with precision" + + page "blasts of ink" + next "from the surface" + next "of the water" + dex + +_SeadraDexEntry:: + text "Capable of swim-" + next "ming backwards by" + next "rapidly flapping" + + page "its wing-like" + next "pectoral fins and" + next "stout tail" + dex + +_SandshrewDexEntry:: + text "Burrows deep" + next "underground in" + next "arid locations" + + page "far from water." + next "It only emerges" + next "to hunt for food" + dex + +_SandslashDexEntry:: + text "Curls up into a" + next "spiny ball when" + next "threatened. It" + + page "can roll while" + next "curled up to" + next "attack or escape" + dex + +_OmanyteDexEntry:: + text "Although long" + next "extinct, in rare" + next "cases, it can be" + + page "genetically" + next "resurrected from" + next "fossils" + dex + +_OmastarDexEntry:: + text "A prehistoric" + next "#MON that died" + next "out when its" + + page "heavy shell made" + next "it impossible to" + next "catch prey" + dex + +_JigglypuffDexEntry:: + text "When its huge eyes" + next "light up, it sings" + next "a mysteriously" + + page "soothing melody" + next "that lulls its" + next "enemies to sleep" + dex + +_WigglytuffDexEntry:: + text "The body is soft" + next "and rubbery. When" + next "angered, it will" + + page "suck in air and" + next "inflate itself to" + next "an enormous size" + dex + +_EeveeDexEntry:: + text "Its genetic code" + next "is irregular." + next "It may mutate if" + + page "it is exposed to" + next "radiation from" + next "element STONEs" + dex + +_FlareonDexEntry:: + text "When storing" + next "thermal energy in" + next "its body, its" + + page "temperature could" + next "soar to over 1600" + next "degrees" + dex + +_JolteonDexEntry:: + text "It accumulates" + next "negative ions in" + next "the atmosphere to" + + page "blast out 10000-" + next "volt lightning" + next "bolts" + dex + +_VaporeonDexEntry:: + text "Lives close to" + next "water. Its long" + next "tail is ridged" + + page "with a fin which" + next "is often mistaken" + next "for a mermaid's" + dex + +_MachopDexEntry:: + text "Loves to build" + next "its muscles." + next "It trains in all" + + page "styles of martial" + next "arts to become" + next "even stronger" + dex + +_ZubatDexEntry:: + text "Forms colonies in" + next "perpetually dark" + next "places. Uses" + + page "ultrasonic waves" + next "to identify and" + next "approach targets" + dex + +_EkansDexEntry:: + text "Moves silently" + next "and stealthily." + next "Eats the eggs of" + + page "birds, such as" + next "PIDGEY and" + next "SPEAROW, whole" + dex + +_ParasDexEntry:: + text "Burrows to suck" + next "tree roots. The" + next "mushrooms on its" + + page "back grow by draw-" + next "ing nutrients from" + next "the bug host" + dex + +_PoliwhirlDexEntry:: + text "Capable of living" + next "in or out of" + next "water. When out" + + page "of water, it" + next "sweats to keep" + next "its body slimy" + dex + +_PoliwrathDexEntry:: + text "An adept swimmer" + next "at both the front" + next "crawl and breast" + + page "stroke. Easily" + next "overtakes the best" + next "human swimmers" + dex + +_WeedleDexEntry:: + text "Often found in" + next "forests, eating" + next "leaves." + + page "It has a sharp" + next "venomous stinger" + next "on its head" + dex + +_KakunaDexEntry:: + text "Almost incapable" + next "of moving, this" + next "#MON can only" + + page "harden its shell" + next "to protect itself" + next "from predators" + dex + +_BeedrillDexEntry:: + text "Flies at high" + next "speed and attacks" + next "using its large" + + page "venomous stingers" + next "on its forelegs" + next "and tail" + dex + +_DodrioDexEntry:: + text "Uses its three" + next "brains to execute" + next "complex plans." + + page "While two heads" + next "sleep, one head" + next "stays awake" + dex + +_PrimeapeDexEntry:: + text "Always furious" + next "and tenacious to" + next "boot. It will not" + + page "abandon chasing" + next "its quarry until" + next "it is caught" + dex + +_DugtrioDexEntry:: + text "A team of DIGLETT" + next "triplets." + next "It triggers huge" + + page "earthquakes by" + next "burrowing 60 miles" + next "underground" + dex + +_VenomothDexEntry:: + text "The dust-like" + next "scales covering" + next "its wings are" + + page "color coded to" + next "indicate the kinds" + next "of poison it has" + dex + +_DewgongDexEntry:: + text "Stores thermal" + next "energy in its" + next "body. Swims at a" + + page "steady 8 knots" + next "even in intensely" + next "cold waters" + dex + +_CaterpieDexEntry:: + text "Its short feet" + next "are tipped with" + next "suction pads that" + + page "enable it to" + next "tirelessly climb" + next "slopes and walls" + dex + +_MetapodDexEntry:: + text "This #MON is" + next "vulnerable to" + next "attack while its" + + page "shell is soft," + next "exposing its weak" + next "and tender body" + dex + +_ButterfreeDexEntry:: + text "In battle, it" + next "flaps its wings" + next "at high speed to" + + page "release highly" + next "toxic dust into" + next "the air" + dex + +_MachampDexEntry:: + text "Using its heavy" + next "muscles, it throws" + next "powerful punches" + + page "that can send the" + next "victim clear over" + next "the horizon" + dex + +_GolduckDexEntry:: + text "Often seen swim-" + next "ming elegantly by" + next "lake shores. It" + + page "is often mistaken" + next "for the Japanese" + next "monster, Kappa" + dex + +_HypnoDexEntry:: + text "When it locks eyes" + next "with an enemy, it" + next "will use a mix of" + + page "PSI moves such as" + next "HYPNOSIS and" + next "CONFUSION" + dex + +_GolbatDexEntry:: + text "Once it strikes," + next "it will not stop" + next "draining energy" + + page "from the victim" + next "even if it gets" + next "too heavy to fly" + dex + +_MewtwoDexEntry:: + text "It was created by" + next "a scientist after" + next "years of horrific" + + page "gene splicing and" + next "DNA engineering" + next "experiments" + dex + +_SnorlaxDexEntry:: + text "Very lazy. Just" + next "eats and sleeps." + next "As its rotund" + + page "bulk builds, it" + next "becomes steadily" + next "more slothful" + dex + +_MagikarpDexEntry:: + text "In the distant" + next "past, it was" + next "somewhat stronger" + + page "than the horribly" + next "weak descendants" + next "that exist today" + dex + +_MukDexEntry:: + text "Thickly covered" + next "with a filthy," + next "vile sludge. It" + + page "is so toxic, even" + next "its footprints" + next "contain poison" + dex + +_KinglerDexEntry:: + text "The large pincer" + next "has 10000 hp of" + next "crushing power." + + page "However, its huge" + next "size makes it" + next "unwieldy to use" + dex + +_CloysterDexEntry:: + text "When attacked, it" + next "launches its" + next "horns in quick" + + page "volleys. Its" + next "innards have" + next "never been seen" + dex + +_ElectrodeDexEntry:: + text "It stores electric" + next "energy under very" + next "high pressure." + + page "It often explodes" + next "with little or no" + next "provocation" + dex + +_ClefableDexEntry:: + text "A timid fairy" + next "#MON that is" + next "rarely seen. It" + + page "will run and hide" + next "the moment it" + next "senses people" + dex + +_WeezingDexEntry:: + text "Where two kinds" + next "of poison gases" + next "meet, 2 KOFFINGs" + + page "can fuse into a" + next "WEEZING over many" + next "years" + dex + +_PersianDexEntry:: + text "Although its fur" + next "has many admirers," + next "it is tough to" + + page "raise as a pet" + next "because of its" + next "fickle meanness" + dex + +_MarowakDexEntry:: + text "The bone it holds" + next "is its key weapon." + next "It throws the" + + page "bone skillfully" + next "like a boomerang" + next "to KO targets" + dex + +_HaunterDexEntry:: + text "Because of its" + next "ability to slip" + next "through block" + + page "walls, it is said" + next "to be from an-" + next "other dimension" + dex + +_AbraDexEntry:: + text "Using its ability" + next "to read minds, it" + next "will identify" + + page "impending danger" + next "and TELEPORT to" + next "safety" + dex + +_AlakazamDexEntry:: + text "Its brain can out-" + next "perform a super-" + next "computer." + + page "Its intelligence" + next "quotient is said" + next "to be 5,000" + dex + +_PidgeottoDexEntry:: + text "Very protective" + next "of its sprawling" + next "territorial area," + + page "this #MON will" + next "fiercely peck at" + next "any intruder" + dex + +_PidgeotDexEntry:: + text "When hunting, it" + next "skims the surface" + next "of water at high" + + page "speed to pick off" + next "unwary prey such" + next "as MAGIKARP" + dex + +_StarmieDexEntry:: + text "Its central core" + next "glows with the" + next "seven colors of" + + page "the rainbow. Some" + next "people value the" + next "core as a gem" + dex + +_BulbasaurDexEntry:: + text "A strange seed was" + next "planted on its" + next "back at birth." + + page "The plant sprouts" + next "and grows with" + next "this #MON" + dex + +_VenusaurDexEntry:: + text "The plant blooms" + next "when it is" + next "absorbing solar" + + page "energy. It stays" + next "on the move to" + next "seek sunlight" + dex + +_TentacruelDexEntry:: + text "The tentacles are" + next "normally kept" + next "short. On hunts," + + page "they are extended" + next "to ensnare and" + next "immobilize prey" + dex + +_GoldeenDexEntry:: + text "Its tail fin" + next "billows like an" + next "elegant ballroom" + + page "dress, giving it" + next "the nickname of" + next "the Water Queen" + dex + +_SeakingDexEntry:: + text "In the autumn" + next "spawning season," + next "they can be seen" + + page "swimming power-" + next "fully up rivers" + next "and creeks" + dex + +_PonytaDexEntry:: + text "Its hooves are 10" + next "times harder than" + next "diamonds. It can" + + page "trample anything" + next "completely flat" + next "in little time" + dex + +_RapidashDexEntry:: + text "Very competitive," + next "this #MON will" + next "chase anything" + + page "that moves fast" + next "in the hopes of" + next "racing it" + dex + +_RattataDexEntry:: + text "Bites anything" + next "when it attacks." + next "Small and very" + + page "quick, it is a" + next "common sight in" + next "many places" + dex + +_RaticateDexEntry:: + text "It uses its whis-" + next "kers to maintain" + next "its balance." + + page "It apparently" + next "slows down if" + next "they are cut off" + dex + +_NidorinoDexEntry:: + text "An aggressive" + next "#MON that is" + next "quick to attack." + + page "The horn on its" + next "head secretes a" + next "powerful venom" + dex + +_NidorinaDexEntry:: + text "The female's horn" + next "develops slowly." + next "Prefers physical" + + page "attacks such as" + next "clawing and" + next "biting" + dex + +_GeodudeDexEntry:: + text "Found in fields" + next "and mountains." + next "Mistaking them" + + page "for boulders," + next "people often step" + next "or trip on them" + dex + +_PorygonDexEntry:: + text "A #MON that" + next "consists entirely" + next "of programming" + + page "code. Capable of" + next "moving freely in" + next "cyberspace" + dex + +_AerodactylDexEntry:: + text "A ferocious, pre-" + next "historic #MON" + next "that goes for the" + + page "enemy's throat" + next "with its serrated" + next "saw-like fangs" + dex + +_MagnemiteDexEntry:: + text "Uses anti-gravity" + next "to stay suspended." + next "Appears without" + + page "warning and uses" + next "THUNDER WAVE and" + next "similar moves" + dex + +_CharmanderDexEntry:: + text "Obviously prefers" + next "hot places. When" + next "it rains, steam" + + page "is said to spout" + next "from the tip of" + next "its tail" + dex + +_SquirtleDexEntry:: + text "After birth, its" + next "back swells and" + next "hardens into a" + + page "shell. Powerfully" + next "sprays foam from" + next "its mouth" + dex + +_CharmeleonDexEntry:: + text "When it swings" + next "its burning tail," + next "it elevates the" + + page "temperature to" + next "unbearably high" + next "levels" + dex + +_WartortleDexEntry:: + text "Often hides in" + next "water to stalk" + next "unwary prey. For" + + page "swimming fast, it" + next "moves its ears to" + next "maintain balance" + dex + +_CharizardDexEntry:: + text "Spits fire that" + next "is hot enough to" + next "melt boulders." + + page "Known to cause" + next "forest fires" + next "unintentionally" + dex + +_OddishDexEntry:: + text "During the day," + next "it keeps its face" + next "buried in the" + + page "ground. At night," + next "it wanders around" + next "sowing its seeds" + dex + +_GloomDexEntry:: + text "The fluid that" + next "oozes from its" + next "mouth isn't drool." + + page "It is a nectar" + next "that is used to" + next "attract prey" + dex + +_VileplumeDexEntry:: + text "The larger its" + next "petals, the more" + next "toxic pollen it" + + page "contains. Its big" + next "head is heavy and" + next "hard to hold up" + dex + +_BellsproutDexEntry:: + text "A carnivorous" + next "#MON that traps" + next "and eats bugs." + + page "It uses its root" + next "feet to soak up" + next "needed moisture" + dex + +_WeepinbellDexEntry:: + text "It spits out" + next "POISONPOWDER to" + next "immobilize the" + + page "enemy and then" + next "finishes it with" + next "a spray of ACID" + dex + +_VictreebelDexEntry:: + text "Said to live in" + next "huge colonies" + next "deep in jungles," + + page "although no one" + next "has ever returned" + next "from there" + dex + diff --git a/data/pokemon/evos_moves.asm b/data/pokemon/evos_moves.asm new file mode 100755 index 00000000..26f09b87 --- /dev/null +++ b/data/pokemon/evos_moves.asm @@ -0,0 +1,2134 @@ +; See constants/evolution_constants.asm +; The max number of evolutions per monster is MAX_EVOLUTIONS + +EvosMovesPointerTable: + dw RhydonEvosMoves + dw KangaskhanEvosMoves + dw NidoranMEvosMoves + dw ClefairyEvosMoves + dw SpearowEvosMoves + dw VoltorbEvosMoves + dw NidokingEvosMoves + dw SlowbroEvosMoves + dw IvysaurEvosMoves + dw ExeggutorEvosMoves + dw LickitungEvosMoves + dw ExeggcuteEvosMoves + dw GrimerEvosMoves + dw GengarEvosMoves + dw NidoranFEvosMoves + dw NidoqueenEvosMoves + dw CuboneEvosMoves + dw RhyhornEvosMoves + dw LaprasEvosMoves + dw ArcanineEvosMoves + dw MewEvosMoves + dw GyaradosEvosMoves + dw ShellderEvosMoves + dw TentacoolEvosMoves + dw GastlyEvosMoves + dw ScytherEvosMoves + dw StaryuEvosMoves + dw BlastoiseEvosMoves + dw PinsirEvosMoves + dw TangelaEvosMoves + dw MissingNo1FEvosMoves + dw MissingNo20EvosMoves + dw GrowlitheEvosMoves + dw OnixEvosMoves + dw FearowEvosMoves + dw PidgeyEvosMoves + dw SlowpokeEvosMoves + dw KadabraEvosMoves + dw GravelerEvosMoves + dw ChanseyEvosMoves + dw MachokeEvosMoves + dw MrMimeEvosMoves + dw HitmonleeEvosMoves + dw HitmonchanEvosMoves + dw ArbokEvosMoves + dw ParasectEvosMoves + dw PsyduckEvosMoves + dw DrowzeeEvosMoves + dw GolemEvosMoves + dw MissingNo32EvosMoves + dw MagmarEvosMoves + dw MissingNo34EvosMoves + dw ElectabuzzEvosMoves + dw MagnetonEvosMoves + dw KoffingEvosMoves + dw MissingNo38EvosMoves + dw MankeyEvosMoves + dw SeelEvosMoves + dw DiglettEvosMoves + dw TaurosEvosMoves + dw MissingNo3DEvosMoves + dw MissingNo3EEvosMoves + dw MissingNo3FEvosMoves + dw FarfetchdEvosMoves + dw VenonatEvosMoves + dw DragoniteEvosMoves + dw MissingNo43EvosMoves + dw MissingNo44EvosMoves + dw MissingNo45EvosMoves + dw DoduoEvosMoves + dw PoliwagEvosMoves + dw JynxEvosMoves + dw MoltresEvosMoves + dw ArticunoEvosMoves + dw ZapdosEvosMoves + dw DittoEvosMoves + dw MeowthEvosMoves + dw KrabbyEvosMoves + dw MissingNo4FEvosMoves + dw MissingNo50EvosMoves + dw MissingNo51EvosMoves + dw VulpixEvosMoves + dw NinetalesEvosMoves + dw PikachuEvosMoves + dw RaichuEvosMoves + dw MissingNo56EvosMoves + dw MissingNo57EvosMoves + dw DratiniEvosMoves + dw DragonairEvosMoves + dw KabutoEvosMoves + dw KabutopsEvosMoves + dw HorseaEvosMoves + dw SeadraEvosMoves + dw MissingNo5EEvosMoves + dw MissingNo5FEvosMoves + dw SandshrewEvosMoves + dw SandslashEvosMoves + dw OmanyteEvosMoves + dw OmastarEvosMoves + dw JigglypuffEvosMoves + dw WigglytuffEvosMoves + dw EeveeEvosMoves + dw FlareonEvosMoves + dw JolteonEvosMoves + dw VaporeonEvosMoves + dw MachopEvosMoves + dw ZubatEvosMoves + dw EkansEvosMoves + dw ParasEvosMoves + dw PoliwhirlEvosMoves + dw PoliwrathEvosMoves + dw WeedleEvosMoves + dw KakunaEvosMoves + dw BeedrillEvosMoves + dw MissingNo73EvosMoves + dw DodrioEvosMoves + dw PrimeapeEvosMoves + dw DugtrioEvosMoves + dw VenomothEvosMoves + dw DewgongEvosMoves + dw MissingNo79EvosMoves + dw MissingNo7AEvosMoves + dw CaterpieEvosMoves + dw MetapodEvosMoves + dw ButterfreeEvosMoves + dw MachampEvosMoves + dw MissingNo7FEvosMoves + dw GolduckEvosMoves + dw HypnoEvosMoves + dw GolbatEvosMoves + dw MewtwoEvosMoves + dw SnorlaxEvosMoves + dw MagikarpEvosMoves + dw MissingNo86EvosMoves + dw MissingNo87EvosMoves + dw MukEvosMoves + dw MissingNo8AEvosMoves + dw KinglerEvosMoves + dw CloysterEvosMoves + dw MissingNo8CEvosMoves + dw ElectrodeEvosMoves + dw ClefableEvosMoves + dw WeezingEvosMoves + dw PersianEvosMoves + dw MarowakEvosMoves + dw MissingNo92EvosMoves + dw HaunterEvosMoves + dw AbraEvosMoves + dw AlakazamEvosMoves + dw PidgeottoEvosMoves + dw PidgeotEvosMoves + dw StarmieEvosMoves + dw BulbasaurEvosMoves + dw VenusaurEvosMoves + dw TentacruelEvosMoves + dw MissingNo9CEvosMoves + dw GoldeenEvosMoves + dw SeakingEvosMoves + dw MissingNo9FEvosMoves + dw MissingNoA0EvosMoves + dw MissingNoA1EvosMoves + dw MissingNoA2EvosMoves + dw PonytaEvosMoves + dw RapidashEvosMoves + dw RattataEvosMoves + dw RaticateEvosMoves + dw NidorinoEvosMoves + dw NidorinaEvosMoves + dw GeodudeEvosMoves + dw PorygonEvosMoves + dw AerodactylEvosMoves + dw MissingNoACEvosMoves + dw MagnemiteEvosMoves + dw MissingNoAEEvosMoves + dw MissingNoAFEvosMoves + dw CharmanderEvosMoves + dw SquirtleEvosMoves + dw CharmeleonEvosMoves + dw WartortleEvosMoves + dw CharizardEvosMoves + dw MissingNoB5EvosMoves + dw FossilKabutopsEvosMoves + dw FossilAerodactylEvosMoves + dw MonGhostEvosMoves + dw OddishEvosMoves + dw GloomEvosMoves + dw VileplumeEvosMoves + dw BellsproutEvosMoves + dw WeepinbellEvosMoves + dw VictreebelEvosMoves + +RhydonEvosMoves: +; Evolutions + db 0 +; Learnset + db 30, STOMP + db 35, TAIL_WHIP + db 40, FURY_ATTACK + db 48, HORN_DRILL + db 55, LEER + db 64, TAKE_DOWN + db 0 + +KangaskhanEvosMoves: +; Evolutions + db 0 +; Learnset + db 26, BITE + db 31, TAIL_WHIP + db 36, MEGA_PUNCH + db 41, LEER + db 46, DIZZY_PUNCH + db 0 + +NidoranMEvosMoves: +; Evolutions + db EV_LEVEL, 16, NIDORINO + db 0 +; Learnset + db 8, HORN_ATTACK + db 14, POISON_STING + db 21, FOCUS_ENERGY + db 29, FURY_ATTACK + db 36, HORN_DRILL + db 43, DOUBLE_KICK + db 0 + +ClefairyEvosMoves: +; Evolutions + db EV_ITEM, MOON_STONE, 1, CLEFABLE + db 0 +; Learnset + db 13, SING + db 18, DOUBLESLAP + db 24, MINIMIZE + db 31, METRONOME + db 39, DEFENSE_CURL + db 48, LIGHT_SCREEN + db 0 + +SpearowEvosMoves: +; Evolutions + db EV_LEVEL, 20, FEAROW + db 0 +; Learnset + db 9, LEER + db 15, FURY_ATTACK + db 22, MIRROR_MOVE + db 29, DRILL_PECK + db 36, AGILITY + db 0 + +VoltorbEvosMoves: +; Evolutions + db EV_LEVEL, 30, ELECTRODE + db 0 +; Learnset + db 17, SONICBOOM + db 22, SELFDESTRUCT + db 29, LIGHT_SCREEN + db 36, SWIFT + db 43, EXPLOSION + db 0 + +NidokingEvosMoves: +; Evolutions + db 0 +; Learnset + db 8, HORN_ATTACK + db 14, POISON_STING + db 23, THRASH + db 0 + +SlowbroEvosMoves: +; Evolutions + db 0 +; Learnset + db 18, DISABLE + db 22, HEADBUTT + db 27, GROWL + db 33, WATER_GUN + db 37, WITHDRAW + db 44, AMNESIA + db 55, PSYCHIC_M + db 0 + +IvysaurEvosMoves: +; Evolutions + db EV_LEVEL, 32, VENUSAUR + db 0 +; Learnset + db 7, LEECH_SEED + db 13, VINE_WHIP + db 22, POISONPOWDER + db 30, RAZOR_LEAF + db 38, GROWTH + db 46, SLEEP_POWDER + db 54, SOLARBEAM + db 0 + +ExeggutorEvosMoves: +; Evolutions + db 0 +; Learnset + db 28, STOMP + db 0 + +LickitungEvosMoves: +; Evolutions + db 0 +; Learnset + db 7, STOMP + db 15, DISABLE + db 23, DEFENSE_CURL + db 31, SLAM + db 39, SCREECH + db 0 + +ExeggcuteEvosMoves: +; Evolutions + db EV_ITEM, LEAF_STONE, 1, EXEGGUTOR + db 0 +; Learnset + db 25, REFLECT + db 28, LEECH_SEED + db 32, STUN_SPORE + db 37, POISONPOWDER + db 42, SOLARBEAM + db 48, SLEEP_POWDER + db 0 + +GrimerEvosMoves: +; Evolutions + db EV_LEVEL, 38, MUK + db 0 +; Learnset + db 30, POISON_GAS + db 33, MINIMIZE + db 37, SLUDGE + db 42, HARDEN + db 48, SCREECH + db 55, ACID_ARMOR + db 0 + +GengarEvosMoves: +; Evolutions + db 0 +; Learnset + db 29, HYPNOSIS + db 38, DREAM_EATER + db 0 + +NidoranFEvosMoves: +; Evolutions + db EV_LEVEL, 16, NIDORINA + db 0 +; Learnset + db 8, SCRATCH + db 14, POISON_STING + db 21, TAIL_WHIP + db 29, BITE + db 36, FURY_SWIPES + db 43, DOUBLE_KICK + db 0 + +NidoqueenEvosMoves: +; Evolutions + db 0 +; Learnset + db 8, SCRATCH + db 14, POISON_STING + db 23, BODY_SLAM + db 0 + +CuboneEvosMoves: +; Evolutions + db EV_LEVEL, 28, MAROWAK + db 0 +; Learnset + db 25, LEER + db 31, FOCUS_ENERGY + db 38, THRASH + db 43, BONEMERANG + db 46, RAGE + db 0 + +RhyhornEvosMoves: +; Evolutions + db EV_LEVEL, 42, RHYDON + db 0 +; Learnset + db 30, STOMP + db 35, TAIL_WHIP + db 40, FURY_ATTACK + db 45, HORN_DRILL + db 50, LEER + db 55, TAKE_DOWN + db 0 + +LaprasEvosMoves: +; Evolutions + db 0 +; Learnset + db 16, SING + db 20, MIST + db 25, BODY_SLAM + db 31, CONFUSE_RAY + db 38, ICE_BEAM + db 46, HYDRO_PUMP + db 0 + +ArcanineEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MewEvosMoves: +; Evolutions + db 0 +; Learnset + db 10, TRANSFORM + db 20, MEGA_PUNCH + db 30, METRONOME + db 40, PSYCHIC_M + db 0 + +GyaradosEvosMoves: +; Evolutions + db 0 +; Learnset + db 20, BITE + db 25, DRAGON_RAGE + db 32, LEER + db 41, HYDRO_PUMP + db 52, HYPER_BEAM + db 0 + +ShellderEvosMoves: +; Evolutions + db EV_ITEM, WATER_STONE, 1, CLOYSTER + db 0 +; Learnset + db 18, SUPERSONIC + db 23, CLAMP + db 30, AURORA_BEAM + db 39, LEER + db 50, ICE_BEAM + db 0 + +TentacoolEvosMoves: +; Evolutions + db EV_LEVEL, 30, TENTACRUEL + db 0 +; Learnset + db 7, SUPERSONIC + db 13, WRAP + db 18, POISON_STING + db 22, WATER_GUN + db 27, CONSTRICT + db 33, BARRIER + db 40, SCREECH + db 48, HYDRO_PUMP + db 0 + +GastlyEvosMoves: +; Evolutions + db EV_LEVEL, 25, HAUNTER + db 0 +; Learnset + db 27, HYPNOSIS + db 35, DREAM_EATER + db 0 + +ScytherEvosMoves: +; Evolutions + db 0 +; Learnset + db 17, LEER + db 20, FOCUS_ENERGY + db 24, DOUBLE_TEAM + db 29, SLASH + db 35, SWORDS_DANCE + db 42, AGILITY + db 0 + +StaryuEvosMoves: +; Evolutions + db EV_ITEM, WATER_STONE, 1, STARMIE + db 0 +; Learnset + db 17, WATER_GUN + db 22, HARDEN + db 27, RECOVER + db 32, SWIFT + db 37, MINIMIZE + db 42, LIGHT_SCREEN + db 47, HYDRO_PUMP + db 0 + +BlastoiseEvosMoves: +; Evolutions + db 0 +; Learnset + db 8, BUBBLE + db 15, WATER_GUN + db 24, BITE + db 31, WITHDRAW + db 42, SKULL_BASH + db 52, HYDRO_PUMP + db 0 + +PinsirEvosMoves: +; Evolutions + db 0 +; Learnset + db 25, SEISMIC_TOSS + db 30, GUILLOTINE + db 36, FOCUS_ENERGY + db 43, HARDEN + db 49, SLASH + db 54, SWORDS_DANCE + db 0 + +TangelaEvosMoves: +; Evolutions + db 0 +; Learnset + db 29, ABSORB + db 32, POISONPOWDER + db 36, STUN_SPORE + db 39, SLEEP_POWDER + db 45, SLAM + db 49, GROWTH + db 0 + +MissingNo1FEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MissingNo20EvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +GrowlitheEvosMoves: +; Evolutions + db EV_ITEM, FIRE_STONE, 1, ARCANINE + db 0 +; Learnset + db 18, EMBER + db 23, LEER + db 30, TAKE_DOWN + db 39, AGILITY + db 50, FLAMETHROWER + db 0 + +OnixEvosMoves: +; Evolutions + db 0 +; Learnset + db 15, BIND + db 19, ROCK_THROW + db 25, RAGE + db 33, SLAM + db 43, HARDEN + db 0 + +FearowEvosMoves: +; Evolutions + db 0 +; Learnset + db 9, LEER + db 15, FURY_ATTACK + db 25, MIRROR_MOVE + db 34, DRILL_PECK + db 43, AGILITY + db 0 + +PidgeyEvosMoves: +; Evolutions + db EV_LEVEL, 18, PIDGEOTTO + db 0 +; Learnset + db 5, SAND_ATTACK + db 12, QUICK_ATTACK + db 19, WHIRLWIND + db 28, WING_ATTACK + db 36, AGILITY + db 44, MIRROR_MOVE + db 0 + +SlowpokeEvosMoves: +; Evolutions + db EV_LEVEL, 37, SLOWBRO + db 0 +; Learnset + db 18, DISABLE + db 22, HEADBUTT + db 27, GROWL + db 33, WATER_GUN + db 40, AMNESIA + db 48, PSYCHIC_M + db 0 + +KadabraEvosMoves: +; Evolutions + db EV_TRADE, 1, ALAKAZAM + db 0 +; Learnset + db 16, CONFUSION + db 20, DISABLE + db 27, PSYBEAM + db 31, RECOVER + db 38, PSYCHIC_M + db 42, REFLECT + db 0 + +GravelerEvosMoves: +; Evolutions + db EV_TRADE, 1, GOLEM + db 0 +; Learnset + db 11, DEFENSE_CURL + db 16, ROCK_THROW + db 21, SELFDESTRUCT + db 29, HARDEN + db 36, EARTHQUAKE + db 43, EXPLOSION + db 0 + +ChanseyEvosMoves: +; Evolutions + db 0 +; Learnset + db 24, SING + db 30, GROWL + db 38, MINIMIZE + db 44, DEFENSE_CURL + db 48, LIGHT_SCREEN + db 54, DOUBLE_EDGE + db 0 + +MachokeEvosMoves: +; Evolutions + db EV_TRADE, 1, MACHAMP + db 0 +; Learnset + db 20, LOW_KICK + db 25, LEER + db 36, FOCUS_ENERGY + db 44, SEISMIC_TOSS + db 52, SUBMISSION + db 0 + +MrMimeEvosMoves: +; Evolutions + db 0 +; Learnset + db 15, CONFUSION + db 23, LIGHT_SCREEN + db 31, DOUBLESLAP + db 39, MEDITATE + db 47, SUBSTITUTE + db 0 + +HitmonleeEvosMoves: +; Evolutions + db 0 +; Learnset + db 33, ROLLING_KICK + db 38, JUMP_KICK + db 43, FOCUS_ENERGY + db 48, HI_JUMP_KICK + db 53, MEGA_KICK + db 0 + +HitmonchanEvosMoves: +; Evolutions + db 0 +; Learnset + db 33, FIRE_PUNCH + db 38, ICE_PUNCH + db 43, THUNDERPUNCH + db 48, MEGA_PUNCH + db 53, COUNTER + db 0 + +ArbokEvosMoves: +; Evolutions + db 0 +; Learnset + db 10, POISON_STING + db 17, BITE + db 27, GLARE + db 36, SCREECH + db 47, ACID + db 0 + +ParasectEvosMoves: +; Evolutions + db 0 +; Learnset + db 13, STUN_SPORE + db 20, LEECH_LIFE + db 30, SPORE + db 39, SLASH + db 48, GROWTH + db 0 + +PsyduckEvosMoves: +; Evolutions + db EV_LEVEL, 33, GOLDUCK + db 0 +; Learnset + db 28, TAIL_WHIP + db 31, DISABLE + db 36, CONFUSION + db 43, FURY_SWIPES + db 52, HYDRO_PUMP + db 0 + +DrowzeeEvosMoves: +; Evolutions + db EV_LEVEL, 26, HYPNO + db 0 +; Learnset + db 12, DISABLE + db 17, CONFUSION + db 24, HEADBUTT + db 29, POISON_GAS + db 32, PSYCHIC_M + db 37, MEDITATE + db 0 + +GolemEvosMoves: +; Evolutions + db 0 +; Learnset + db 11, DEFENSE_CURL + db 16, ROCK_THROW + db 21, SELFDESTRUCT + db 29, HARDEN + db 36, EARTHQUAKE + db 43, EXPLOSION + db 0 + +MissingNo32EvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MagmarEvosMoves: +; Evolutions + db 0 +; Learnset + db 36, LEER + db 39, CONFUSE_RAY + db 43, FIRE_PUNCH + db 48, SMOKESCREEN + db 52, SMOG + db 55, FLAMETHROWER + db 0 + +MissingNo34EvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +ElectabuzzEvosMoves: +; Evolutions + db 0 +; Learnset + db 34, THUNDERSHOCK + db 37, SCREECH + db 42, THUNDERPUNCH + db 49, LIGHT_SCREEN + db 54, THUNDER + db 0 + +MagnetonEvosMoves: +; Evolutions + db 0 +; Learnset + db 21, SONICBOOM + db 25, THUNDERSHOCK + db 29, SUPERSONIC + db 38, THUNDER_WAVE + db 46, SWIFT + db 54, SCREECH + db 0 + +KoffingEvosMoves: +; Evolutions + db EV_LEVEL, 35, WEEZING + db 0 +; Learnset + db 32, SLUDGE + db 37, SMOKESCREEN + db 40, SELFDESTRUCT + db 45, HAZE + db 48, EXPLOSION + db 0 + +MissingNo38EvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MankeyEvosMoves: +; Evolutions + db EV_LEVEL, 28, PRIMEAPE + db 0 +; Learnset + db 15, KARATE_CHOP + db 21, FURY_SWIPES + db 27, FOCUS_ENERGY + db 33, SEISMIC_TOSS + db 39, THRASH + db 0 + +SeelEvosMoves: +; Evolutions + db EV_LEVEL, 34, DEWGONG + db 0 +; Learnset + db 30, GROWL + db 35, AURORA_BEAM + db 40, REST + db 45, TAKE_DOWN + db 50, ICE_BEAM + db 0 + +DiglettEvosMoves: +; Evolutions + db EV_LEVEL, 26, DUGTRIO + db 0 +; Learnset + db 15, GROWL + db 19, DIG + db 24, SAND_ATTACK + db 31, SLASH + db 40, EARTHQUAKE + db 0 + +TaurosEvosMoves: +; Evolutions + db 0 +; Learnset + db 21, STOMP + db 28, TAIL_WHIP + db 35, LEER + db 44, RAGE + db 51, TAKE_DOWN + db 0 + +MissingNo3DEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MissingNo3EEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MissingNo3FEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +FarfetchdEvosMoves: +; Evolutions + db 0 +; Learnset + db 7, LEER + db 15, FURY_ATTACK + db 23, SWORDS_DANCE + db 31, AGILITY + db 39, SLASH + db 0 + +VenonatEvosMoves: +; Evolutions + db EV_LEVEL, 31, VENOMOTH + db 0 +; Learnset + db 24, POISONPOWDER + db 27, LEECH_LIFE + db 30, STUN_SPORE + db 35, PSYBEAM + db 38, SLEEP_POWDER + db 43, PSYCHIC_M + db 0 + +DragoniteEvosMoves: +; Evolutions + db 0 +; Learnset + db 10, THUNDER_WAVE + db 20, AGILITY + db 35, SLAM + db 45, DRAGON_RAGE + db 60, HYPER_BEAM + db 0 + +MissingNo43EvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MissingNo44EvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MissingNo45EvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +DoduoEvosMoves: +; Evolutions + db EV_LEVEL, 31, DODRIO + db 0 +; Learnset + db 20, GROWL + db 24, FURY_ATTACK + db 30, DRILL_PECK + db 36, RAGE + db 40, TRI_ATTACK + db 44, AGILITY + db 0 + +PoliwagEvosMoves: +; Evolutions + db EV_LEVEL, 25, POLIWHIRL + db 0 +; Learnset + db 16, HYPNOSIS + db 19, WATER_GUN + db 25, DOUBLESLAP + db 31, BODY_SLAM + db 38, AMNESIA + db 45, HYDRO_PUMP + db 0 + +JynxEvosMoves: +; Evolutions + db 0 +; Learnset + db 18, LICK + db 23, DOUBLESLAP + db 31, ICE_PUNCH + db 39, BODY_SLAM + db 47, THRASH + db 58, BLIZZARD + db 0 + +MoltresEvosMoves: +; Evolutions + db 0 +; Learnset + db 51, LEER + db 55, AGILITY + db 60, SKY_ATTACK + db 0 + +ArticunoEvosMoves: +; Evolutions + db 0 +; Learnset + db 51, BLIZZARD + db 55, AGILITY + db 60, MIST + db 0 + +ZapdosEvosMoves: +; Evolutions + db 0 +; Learnset + db 51, THUNDER + db 55, AGILITY + db 60, LIGHT_SCREEN + db 0 + +DittoEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MeowthEvosMoves: +; Evolutions + db EV_LEVEL, 28, PERSIAN + db 0 +; Learnset + db 12, BITE + db 17, PAY_DAY + db 24, SCREECH + db 33, FURY_SWIPES + db 44, SLASH + db 0 + +KrabbyEvosMoves: +; Evolutions + db EV_LEVEL, 28, KINGLER + db 0 +; Learnset + db 20, VICEGRIP + db 25, GUILLOTINE + db 30, STOMP + db 35, CRABHAMMER + db 40, HARDEN + db 0 + +MissingNo4FEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MissingNo50EvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MissingNo51EvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +VulpixEvosMoves: +; Evolutions + db EV_ITEM, FIRE_STONE, 1, NINETALES + db 0 +; Learnset + db 16, QUICK_ATTACK + db 21, ROAR + db 28, CONFUSE_RAY + db 35, FLAMETHROWER + db 42, FIRE_SPIN + db 0 + +NinetalesEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +PikachuEvosMoves: +; Evolutions + db EV_ITEM, THUNDER_STONE, 1, RAICHU + db 0 +; Learnset + db 9, THUNDER_WAVE + db 16, QUICK_ATTACK + db 26, SWIFT + db 33, AGILITY + db 43, THUNDER + db 0 + +RaichuEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MissingNo56EvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MissingNo57EvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +DratiniEvosMoves: +; Evolutions + db EV_LEVEL, 30, DRAGONAIR + db 0 +; Learnset + db 10, THUNDER_WAVE + db 20, AGILITY + db 30, SLAM + db 40, DRAGON_RAGE + db 50, HYPER_BEAM + db 0 + +DragonairEvosMoves: +; Evolutions + db EV_LEVEL, 55, DRAGONITE + db 0 +; Learnset + db 10, THUNDER_WAVE + db 20, AGILITY + db 35, SLAM + db 45, DRAGON_RAGE + db 55, HYPER_BEAM + db 0 + +KabutoEvosMoves: +; Evolutions + db EV_LEVEL, 40, KABUTOPS + db 0 +; Learnset + db 34, ABSORB + db 39, SLASH + db 44, LEER + db 49, HYDRO_PUMP + db 0 + +KabutopsEvosMoves: +; Evolutions + db 0 +; Learnset + db 34, ABSORB + db 39, SLASH + db 46, LEER + db 53, HYDRO_PUMP + db 0 + +HorseaEvosMoves: +; Evolutions + db EV_LEVEL, 32, SEADRA + db 0 +; Learnset + db 19, SMOKESCREEN + db 24, LEER + db 30, WATER_GUN + db 37, AGILITY + db 45, HYDRO_PUMP + db 0 + +SeadraEvosMoves: +; Evolutions + db 0 +; Learnset + db 19, SMOKESCREEN + db 24, LEER + db 30, WATER_GUN + db 41, AGILITY + db 52, HYDRO_PUMP + db 0 + +MissingNo5EEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MissingNo5FEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +SandshrewEvosMoves: +; Evolutions + db EV_LEVEL, 22, SANDSLASH + db 0 +; Learnset + db 10, SAND_ATTACK + db 17, SLASH + db 24, POISON_STING + db 31, SWIFT + db 38, FURY_SWIPES + db 0 + +SandslashEvosMoves: +; Evolutions + db 0 +; Learnset + db 10, SAND_ATTACK + db 17, SLASH + db 27, POISON_STING + db 36, SWIFT + db 47, FURY_SWIPES + db 0 + +OmanyteEvosMoves: +; Evolutions + db EV_LEVEL, 40, OMASTAR + db 0 +; Learnset + db 34, HORN_ATTACK + db 39, LEER + db 46, SPIKE_CANNON + db 53, HYDRO_PUMP + db 0 + +OmastarEvosMoves: +; Evolutions + db 0 +; Learnset + db 34, HORN_ATTACK + db 39, LEER + db 44, SPIKE_CANNON + db 49, HYDRO_PUMP + db 0 + +JigglypuffEvosMoves: +; Evolutions + db EV_ITEM, MOON_STONE, 1, WIGGLYTUFF + db 0 +; Learnset + db 9, POUND + db 14, DISABLE + db 19, DEFENSE_CURL + db 24, DOUBLESLAP + db 29, REST + db 34, BODY_SLAM + db 39, DOUBLE_EDGE + db 0 + +WigglytuffEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +EeveeEvosMoves: +; Evolutions + db EV_ITEM, FIRE_STONE, 1, FLAREON + db EV_ITEM, THUNDER_STONE, 1, JOLTEON + db EV_ITEM, WATER_STONE, 1, VAPOREON + db 0 +; Learnset + db 27, QUICK_ATTACK + db 31, TAIL_WHIP + db 37, BITE + db 45, TAKE_DOWN + db 0 + +FlareonEvosMoves: +; Evolutions + db 0 +; Learnset + db 27, QUICK_ATTACK + db 31, EMBER + db 37, TAIL_WHIP + db 40, BITE + db 42, LEER + db 44, FIRE_SPIN + db 48, RAGE + db 54, FLAMETHROWER + db 0 + +JolteonEvosMoves: +; Evolutions + db 0 +; Learnset + db 27, QUICK_ATTACK + db 31, THUNDERSHOCK + db 37, TAIL_WHIP + db 40, THUNDER_WAVE + db 42, DOUBLE_KICK + db 44, AGILITY + db 48, PIN_MISSILE + db 54, THUNDER + db 0 + +VaporeonEvosMoves: +; Evolutions + db 0 +; Learnset + db 27, QUICK_ATTACK + db 31, WATER_GUN + db 37, TAIL_WHIP + db 40, BITE + db 42, ACID_ARMOR + db 44, HAZE + db 48, MIST + db 54, HYDRO_PUMP + db 0 + +MachopEvosMoves: +; Evolutions + db EV_LEVEL, 28, MACHOKE + db 0 +; Learnset + db 20, LOW_KICK + db 25, LEER + db 32, FOCUS_ENERGY + db 39, SEISMIC_TOSS + db 46, SUBMISSION + db 0 + +ZubatEvosMoves: +; Evolutions + db EV_LEVEL, 22, GOLBAT + db 0 +; Learnset + db 10, SUPERSONIC + db 15, BITE + db 21, CONFUSE_RAY + db 28, WING_ATTACK + db 36, HAZE + db 0 + +EkansEvosMoves: +; Evolutions + db EV_LEVEL, 22, ARBOK + db 0 +; Learnset + db 10, POISON_STING + db 17, BITE + db 24, GLARE + db 31, SCREECH + db 38, ACID + db 0 + +ParasEvosMoves: +; Evolutions + db EV_LEVEL, 24, PARASECT + db 0 +; Learnset + db 13, STUN_SPORE + db 20, LEECH_LIFE + db 27, SPORE + db 34, SLASH + db 41, GROWTH + db 0 + +PoliwhirlEvosMoves: +; Evolutions + db EV_ITEM, WATER_STONE, 1, POLIWRATH + db 0 +; Learnset + db 16, HYPNOSIS + db 19, WATER_GUN + db 26, DOUBLESLAP + db 33, BODY_SLAM + db 41, AMNESIA + db 49, HYDRO_PUMP + db 0 + +PoliwrathEvosMoves: +; Evolutions + db 0 +; Learnset + db 16, HYPNOSIS + db 19, WATER_GUN + db 0 + +WeedleEvosMoves: +; Evolutions + db EV_LEVEL, 7, KAKUNA + db 0 +; Learnset + db 0 + +KakunaEvosMoves: +; Evolutions + db EV_LEVEL, 10, BEEDRILL + db 0 +; Learnset + db 0 + +BeedrillEvosMoves: +; Evolutions + db 0 +; Learnset + db 12, FURY_ATTACK + db 16, FOCUS_ENERGY + db 20, TWINEEDLE + db 25, RAGE + db 30, PIN_MISSILE + db 35, AGILITY + db 0 + +MissingNo73EvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +DodrioEvosMoves: +; Evolutions + db 0 +; Learnset + db 20, GROWL + db 24, FURY_ATTACK + db 30, DRILL_PECK + db 39, RAGE + db 45, TRI_ATTACK + db 51, AGILITY + db 0 + +PrimeapeEvosMoves: +; Evolutions + db 0 +; Learnset + db 15, KARATE_CHOP + db 21, FURY_SWIPES + db 27, FOCUS_ENERGY + db 37, SEISMIC_TOSS + db 46, THRASH + db 0 + +DugtrioEvosMoves: +; Evolutions + db 0 +; Learnset + db 15, GROWL + db 19, DIG + db 24, SAND_ATTACK + db 35, SLASH + db 47, EARTHQUAKE + db 0 + +VenomothEvosMoves: +; Evolutions + db 0 +; Learnset + db 24, POISONPOWDER + db 27, LEECH_LIFE + db 30, STUN_SPORE + db 38, PSYBEAM + db 43, SLEEP_POWDER + db 50, PSYCHIC_M + db 0 + +DewgongEvosMoves: +; Evolutions + db 0 +; Learnset + db 30, GROWL + db 35, AURORA_BEAM + db 44, REST + db 50, TAKE_DOWN + db 56, ICE_BEAM + db 0 + +MissingNo79EvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MissingNo7AEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +CaterpieEvosMoves: +; Evolutions + db EV_LEVEL, 7, METAPOD + db 0 +; Learnset + db 0 + +MetapodEvosMoves: +; Evolutions + db EV_LEVEL, 10, BUTTERFREE + db 0 +; Learnset + db 0 + +ButterfreeEvosMoves: +; Evolutions + db 0 +; Learnset + db 12, CONFUSION + db 15, POISONPOWDER + db 16, STUN_SPORE + db 17, SLEEP_POWDER + db 21, SUPERSONIC + db 26, WHIRLWIND + db 32, PSYBEAM + db 0 + +MachampEvosMoves: +; Evolutions + db 0 +; Learnset + db 20, LOW_KICK + db 25, LEER + db 36, FOCUS_ENERGY + db 44, SEISMIC_TOSS + db 52, SUBMISSION + db 0 + +MissingNo7FEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +GolduckEvosMoves: +; Evolutions + db 0 +; Learnset + db 28, TAIL_WHIP + db 31, DISABLE + db 39, CONFUSION + db 48, FURY_SWIPES + db 59, HYDRO_PUMP + db 0 + +HypnoEvosMoves: +; Evolutions + db 0 +; Learnset + db 12, DISABLE + db 17, CONFUSION + db 24, HEADBUTT + db 33, POISON_GAS + db 37, PSYCHIC_M + db 43, MEDITATE + db 0 + +GolbatEvosMoves: +; Evolutions + db 0 +; Learnset + db 10, SUPERSONIC + db 15, BITE + db 21, CONFUSE_RAY + db 32, WING_ATTACK + db 43, HAZE + db 0 + +MewtwoEvosMoves: +; Evolutions + db 0 +; Learnset + db 63, BARRIER + db 66, PSYCHIC_M + db 70, RECOVER + db 75, MIST + db 81, AMNESIA + db 0 + +SnorlaxEvosMoves: +; Evolutions + db 0 +; Learnset + db 35, BODY_SLAM + db 41, HARDEN + db 48, DOUBLE_EDGE + db 56, HYPER_BEAM + db 0 + +MagikarpEvosMoves: +; Evolutions + db EV_LEVEL, 20, GYARADOS + db 0 +; Learnset + db 15, TACKLE + db 0 + +MissingNo86EvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MissingNo87EvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MukEvosMoves: +; Evolutions + db 0 +; Learnset + db 30, POISON_GAS + db 33, MINIMIZE + db 37, SLUDGE + db 45, HARDEN + db 53, SCREECH + db 60, ACID_ARMOR + db 0 + +MissingNo8AEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +KinglerEvosMoves: +; Evolutions + db 0 +; Learnset + db 20, VICEGRIP + db 25, GUILLOTINE + db 34, STOMP + db 42, CRABHAMMER + db 49, HARDEN + db 0 + +CloysterEvosMoves: +; Evolutions + db 0 +; Learnset + db 50, SPIKE_CANNON + db 0 + +MissingNo8CEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +ElectrodeEvosMoves: +; Evolutions + db 0 +; Learnset + db 17, SONICBOOM + db 22, SELFDESTRUCT + db 29, LIGHT_SCREEN + db 40, SWIFT + db 50, EXPLOSION + db 0 + +ClefableEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +WeezingEvosMoves: +; Evolutions + db 0 +; Learnset + db 32, SLUDGE + db 39, SMOKESCREEN + db 43, SELFDESTRUCT + db 49, HAZE + db 53, EXPLOSION + db 0 + +PersianEvosMoves: +; Evolutions + db 0 +; Learnset + db 12, BITE + db 17, PAY_DAY + db 24, SCREECH + db 37, FURY_SWIPES + db 51, SLASH + db 0 + +MarowakEvosMoves: +; Evolutions + db 0 +; Learnset + db 25, LEER + db 33, FOCUS_ENERGY + db 41, THRASH + db 48, BONEMERANG + db 55, RAGE + db 0 + +MissingNo92EvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +HaunterEvosMoves: +; Evolutions + db EV_TRADE, 1, GENGAR + db 0 +; Learnset + db 29, HYPNOSIS + db 38, DREAM_EATER + db 0 + +AbraEvosMoves: +; Evolutions + db EV_LEVEL, 16, KADABRA + db 0 +; Learnset + db 0 + +AlakazamEvosMoves: +; Evolutions + db 0 +; Learnset + db 16, CONFUSION + db 20, DISABLE + db 27, PSYBEAM + db 31, RECOVER + db 38, PSYCHIC_M + db 42, REFLECT + db 0 + +PidgeottoEvosMoves: +; Evolutions + db EV_LEVEL, 36, PIDGEOT + db 0 +; Learnset + db 5, SAND_ATTACK + db 12, QUICK_ATTACK + db 21, WHIRLWIND + db 31, WING_ATTACK + db 40, AGILITY + db 49, MIRROR_MOVE + db 0 + +PidgeotEvosMoves: +; Evolutions + db 0 +; Learnset + db 5, SAND_ATTACK + db 12, QUICK_ATTACK + db 21, WHIRLWIND + db 31, WING_ATTACK + db 44, AGILITY + db 54, MIRROR_MOVE + db 0 + +StarmieEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +BulbasaurEvosMoves: +; Evolutions + db EV_LEVEL, 16, IVYSAUR + db 0 +; Learnset + db 7, LEECH_SEED + db 13, VINE_WHIP + db 20, POISONPOWDER + db 27, RAZOR_LEAF + db 34, GROWTH + db 41, SLEEP_POWDER + db 48, SOLARBEAM + db 0 + +VenusaurEvosMoves: +; Evolutions + db 0 +; Learnset + db 7, LEECH_SEED + db 13, VINE_WHIP + db 22, POISONPOWDER + db 30, RAZOR_LEAF + db 43, GROWTH + db 55, SLEEP_POWDER + db 65, SOLARBEAM + db 0 + +TentacruelEvosMoves: +; Evolutions + db 0 +; Learnset + db 7, SUPERSONIC + db 13, WRAP + db 18, POISON_STING + db 22, WATER_GUN + db 27, CONSTRICT + db 35, BARRIER + db 43, SCREECH + db 50, HYDRO_PUMP + db 0 + +MissingNo9CEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +GoldeenEvosMoves: +; Evolutions + db EV_LEVEL, 33, SEAKING + db 0 +; Learnset + db 19, SUPERSONIC + db 24, HORN_ATTACK + db 30, FURY_ATTACK + db 37, WATERFALL + db 45, HORN_DRILL + db 54, AGILITY + db 0 + +SeakingEvosMoves: +; Evolutions + db 0 +; Learnset + db 19, SUPERSONIC + db 24, HORN_ATTACK + db 30, FURY_ATTACK + db 39, WATERFALL + db 48, HORN_DRILL + db 54, AGILITY + db 0 + +MissingNo9FEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MissingNoA0EvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MissingNoA1EvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MissingNoA2EvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +PonytaEvosMoves: +; Evolutions + db EV_LEVEL, 40, RAPIDASH + db 0 +; Learnset + db 30, TAIL_WHIP + db 32, STOMP + db 35, GROWL + db 39, FIRE_SPIN + db 43, TAKE_DOWN + db 48, AGILITY + db 0 + +RapidashEvosMoves: +; Evolutions + db 0 +; Learnset + db 30, TAIL_WHIP + db 32, STOMP + db 35, GROWL + db 39, FIRE_SPIN + db 47, TAKE_DOWN + db 55, AGILITY + db 0 + +RattataEvosMoves: +; Evolutions + db EV_LEVEL, 20, RATICATE + db 0 +; Learnset + db 7, QUICK_ATTACK + db 14, HYPER_FANG + db 23, FOCUS_ENERGY + db 34, SUPER_FANG + db 0 + +RaticateEvosMoves: +; Evolutions + db 0 +; Learnset + db 7, QUICK_ATTACK + db 14, HYPER_FANG + db 27, FOCUS_ENERGY + db 41, SUPER_FANG + db 0 + +NidorinoEvosMoves: +; Evolutions + db EV_ITEM, MOON_STONE, 1, NIDOKING + db 0 +; Learnset + db 8, HORN_ATTACK + db 14, POISON_STING + db 23, FOCUS_ENERGY + db 32, FURY_ATTACK + db 41, HORN_DRILL + db 50, DOUBLE_KICK + db 0 + +NidorinaEvosMoves: +; Evolutions + db EV_ITEM, MOON_STONE, 1, NIDOQUEEN + db 0 +; Learnset + db 8, SCRATCH + db 14, POISON_STING + db 23, TAIL_WHIP + db 32, BITE + db 41, FURY_SWIPES + db 50, DOUBLE_KICK + db 0 + +GeodudeEvosMoves: +; Evolutions + db EV_LEVEL, 25, GRAVELER + db 0 +; Learnset + db 11, DEFENSE_CURL + db 16, ROCK_THROW + db 21, SELFDESTRUCT + db 26, HARDEN + db 31, EARTHQUAKE + db 36, EXPLOSION + db 0 + +PorygonEvosMoves: +; Evolutions + db 0 +; Learnset + db 23, PSYBEAM + db 28, RECOVER + db 35, AGILITY + db 42, TRI_ATTACK + db 0 + +AerodactylEvosMoves: +; Evolutions + db 0 +; Learnset + db 33, SUPERSONIC + db 38, BITE + db 45, TAKE_DOWN + db 54, HYPER_BEAM + db 0 + +MissingNoACEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MagnemiteEvosMoves: +; Evolutions + db EV_LEVEL, 30, MAGNETON + db 0 +; Learnset + db 21, SONICBOOM + db 25, THUNDERSHOCK + db 29, SUPERSONIC + db 35, THUNDER_WAVE + db 41, SWIFT + db 47, SCREECH + db 0 + +MissingNoAEEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MissingNoAFEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +CharmanderEvosMoves: +; Evolutions + db EV_LEVEL, 16, CHARMELEON + db 0 +; Learnset + db 9, EMBER + db 15, LEER + db 22, RAGE + db 30, SLASH + db 38, FLAMETHROWER + db 46, FIRE_SPIN + db 0 + +SquirtleEvosMoves: +; Evolutions + db EV_LEVEL, 16, WARTORTLE + db 0 +; Learnset + db 8, BUBBLE + db 15, WATER_GUN + db 22, BITE + db 28, WITHDRAW + db 35, SKULL_BASH + db 42, HYDRO_PUMP + db 0 + +CharmeleonEvosMoves: +; Evolutions + db EV_LEVEL, 36, CHARIZARD + db 0 +; Learnset + db 9, EMBER + db 15, LEER + db 24, RAGE + db 33, SLASH + db 42, FLAMETHROWER + db 56, FIRE_SPIN + db 0 + +WartortleEvosMoves: +; Evolutions + db EV_LEVEL, 36, BLASTOISE + db 0 +; Learnset + db 8, BUBBLE + db 15, WATER_GUN + db 24, BITE + db 31, WITHDRAW + db 39, SKULL_BASH + db 47, HYDRO_PUMP + db 0 + +CharizardEvosMoves: +; Evolutions + db 0 +; Learnset + db 9, EMBER + db 15, LEER + db 24, RAGE + db 36, SLASH + db 46, FLAMETHROWER + db 55, FIRE_SPIN + db 0 + +MissingNoB5EvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +FossilKabutopsEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +FossilAerodactylEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MonGhostEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +OddishEvosMoves: +; Evolutions + db EV_LEVEL, 21, GLOOM + db 0 +; Learnset + db 15, POISONPOWDER + db 17, STUN_SPORE + db 19, SLEEP_POWDER + db 24, ACID + db 33, PETAL_DANCE + db 46, SOLARBEAM + db 0 + +GloomEvosMoves: +; Evolutions + db EV_ITEM, LEAF_STONE, 1, VILEPLUME + db 0 +; Learnset + db 15, POISONPOWDER + db 17, STUN_SPORE + db 19, SLEEP_POWDER + db 28, ACID + db 38, PETAL_DANCE + db 52, SOLARBEAM + db 0 + +VileplumeEvosMoves: +; Evolutions + db 0 +; Learnset + db 15, POISONPOWDER + db 17, STUN_SPORE + db 19, SLEEP_POWDER + db 0 + +BellsproutEvosMoves: +; Evolutions + db EV_LEVEL, 21, WEEPINBELL + db 0 +; Learnset + db 13, WRAP + db 15, POISONPOWDER + db 18, SLEEP_POWDER + db 21, STUN_SPORE + db 26, ACID + db 33, RAZOR_LEAF + db 42, SLAM + db 0 + +WeepinbellEvosMoves: +; Evolutions + db EV_ITEM, LEAF_STONE, 1, VICTREEBEL + db 0 +; Learnset + db 13, WRAP + db 15, POISONPOWDER + db 18, SLEEP_POWDER + db 23, STUN_SPORE + db 29, ACID + db 38, RAZOR_LEAF + db 49, SLAM + db 0 + +VictreebelEvosMoves: +; Evolutions + db 0 +; Learnset + db 13, WRAP + db 15, POISONPOWDER + db 18, SLEEP_POWDER + db 0 diff --git a/data/pokemon/menu_icons.asm b/data/pokemon/menu_icons.asm new file mode 100755 index 00000000..471ee846 --- /dev/null +++ b/data/pokemon/menu_icons.asm @@ -0,0 +1,77 @@ +MonPartyData: + dn ICON_GRASS, ICON_GRASS ; Bulbasaur / Ivysaur + dn ICON_GRASS, ICON_MON ; Venusaur / Charmander + dn ICON_MON, ICON_MON ; Charmeleon / Charizard + dn ICON_WATER, ICON_WATER ; Squirtle / Wartortle + dn ICON_WATER, ICON_BUG ; Blastoise / Caterpie + dn ICON_BUG, ICON_BUG ; Metapod / Butterfree + dn ICON_BUG, ICON_BUG ; Weedle / Kakuna + dn ICON_BUG, ICON_BIRD ; Beedrill / Pidgey + dn ICON_BIRD, ICON_BIRD ; Pidgeotto / Pidgeot + dn ICON_QUADRUPED, ICON_QUADRUPED ; Rattata / Raticate + dn ICON_BIRD, ICON_BIRD ; Spearow / Fearow + dn ICON_SNAKE, ICON_SNAKE ; Ekans / Arbok + dn ICON_FAIRY, ICON_FAIRY ; Pikachu / Raichu + dn ICON_MON, ICON_MON ; Sandshrew / Sandslash + dn ICON_MON, ICON_MON ; NidoranF / Nidorina + dn ICON_MON, ICON_MON ; Nidoqueen / NidoranM + dn ICON_MON, ICON_MON ; Nidorino / Nidoking + dn ICON_FAIRY, ICON_FAIRY ; Clefairy / Clefable + dn ICON_QUADRUPED, ICON_QUADRUPED ; Vulpix / Ninetales + dn ICON_FAIRY, ICON_FAIRY ; Jigglypuff / Wigglytuff + dn ICON_MON, ICON_MON ; Zubat / Golbat + dn ICON_GRASS, ICON_GRASS ; Oddish / Gloom + dn ICON_GRASS, ICON_BUG ; Vileplume / Paras + dn ICON_BUG, ICON_BUG ; Parasect / Venonat + dn ICON_BUG, ICON_MON ; Venomoth / Diglett + dn ICON_MON, ICON_MON ; Dugtrio / Meowth + dn ICON_MON, ICON_MON ; Persian / Psyduck + dn ICON_MON, ICON_MON ; Golduck / Mankey + dn ICON_MON, ICON_QUADRUPED ; Primeape / Growlithe + dn ICON_QUADRUPED, ICON_MON ; Arcanine / Poliwag + dn ICON_MON, ICON_MON ; Poliwhirl / Poliwrath + dn ICON_MON, ICON_MON ; Abra / Kadabra + dn ICON_MON, ICON_MON ; Alakazam / Machop + dn ICON_MON, ICON_MON ; Machoke / Machamp + dn ICON_GRASS, ICON_GRASS ; Bellsprout / Weepinbell + dn ICON_GRASS, ICON_WATER ; Victreebel / Tentacool + dn ICON_WATER, ICON_MON ; Tentacruel / Geodude + dn ICON_MON, ICON_MON ; Graveler / Golem + dn ICON_QUADRUPED, ICON_QUADRUPED ; Ponyta / Rapidash + dn ICON_QUADRUPED, ICON_MON ; Slowpoke / Slowbro + dn ICON_BALL, ICON_BALL ; Magnemite / Magneton + dn ICON_BIRD, ICON_BIRD ; Farfetch'd / Doduo + dn ICON_BIRD, ICON_WATER ; Dodrio / Seel + dn ICON_WATER, ICON_MON ; Dewgong / Grimer + dn ICON_MON, ICON_HELIX ; Muk / Shellder + dn ICON_HELIX, ICON_MON ; Cloyster / Gastly + dn ICON_MON, ICON_MON ; Haunter / Gengar + dn ICON_SNAKE, ICON_MON ; Onix / Drowzee + dn ICON_MON, ICON_WATER ; Hypno / Krabby + dn ICON_WATER, ICON_BALL ; Kingler / Voltorb + dn ICON_BALL, ICON_GRASS ; Electrode / Exeggcute + dn ICON_GRASS, ICON_MON ; Exeggutor / Cubone + dn ICON_MON, ICON_MON ; Marowak / Hitmonlee + dn ICON_MON, ICON_MON ; Hitmonchan / Lickitung + dn ICON_MON, ICON_MON ; Koffing / Weezing + dn ICON_QUADRUPED, ICON_MON ; Rhyhorn / Rhydon + dn ICON_FAIRY, ICON_GRASS ; Chansey / Tangela + dn ICON_MON, ICON_WATER ; Kangaskhan / Horsea + dn ICON_WATER, ICON_WATER ; Seadra / Goldeen + dn ICON_WATER, ICON_HELIX ; Seaking / Staryu + dn ICON_HELIX, ICON_MON ; Starmie / Mr.Mime + dn ICON_BUG, ICON_MON ; Scyther / Jynx + dn ICON_MON, ICON_MON ; Electabuzz / Magmar + dn ICON_BUG, ICON_QUADRUPED ; Pinsir / Tauros + dn ICON_WATER, ICON_SNAKE ; Magikarp / Gyarados + dn ICON_WATER, ICON_MON ; Lapras / Ditto + dn ICON_QUADRUPED, ICON_QUADRUPED ; Eevee / Vaporeon + dn ICON_QUADRUPED, ICON_QUADRUPED ; Jolteon / Flareon + dn ICON_MON, ICON_HELIX ; Porygon / Omanyte + dn ICON_HELIX, ICON_HELIX ; Omastar / Kabuto + dn ICON_HELIX, ICON_BIRD ; Kabutops / Aerodactyl + dn ICON_MON, ICON_BIRD ; Snorlax / Articuno + dn ICON_BIRD, ICON_BIRD ; Zapdos / Moltres + dn ICON_SNAKE, ICON_SNAKE ; Dratini / Dragonair + dn ICON_SNAKE, ICON_MON ; Dragonite / Mewtwo + dn ICON_MON, 0 ; Mew / padding diff --git a/data/pokemon/names.asm b/data/pokemon/names.asm new file mode 100755 index 00000000..83a45b77 --- /dev/null +++ b/data/pokemon/names.asm @@ -0,0 +1,191 @@ +MonsterNames:: + db "RHYDON@@@@" + db "KANGASKHAN" + db "NIDORAN♂@@" + db "CLEFAIRY@@" + db "SPEAROW@@@" + db "VOLTORB@@@" + db "NIDOKING@@" + db "SLOWBRO@@@" + db "IVYSAUR@@@" + db "EXEGGUTOR@" + db "LICKITUNG@" + db "EXEGGCUTE@" + db "GRIMER@@@@" + db "GENGAR@@@@" + db "NIDORAN♀@@" + db "NIDOQUEEN@" + db "CUBONE@@@@" + db "RHYHORN@@@" + db "LAPRAS@@@@" + db "ARCANINE@@" + db "MEW@@@@@@@" + db "GYARADOS@@" + db "SHELLDER@@" + db "TENTACOOL@" + db "GASTLY@@@@" + db "SCYTHER@@@" + db "STARYU@@@@" + db "BLASTOISE@" + db "PINSIR@@@@" + db "TANGELA@@@" + db "MISSINGNO." + db "MISSINGNO." + db "GROWLITHE@" + db "ONIX@@@@@@" + db "FEAROW@@@@" + db "PIDGEY@@@@" + db "SLOWPOKE@@" + db "KADABRA@@@" + db "GRAVELER@@" + db "CHANSEY@@@" + db "MACHOKE@@@" + db "MR.MIME@@@" + db "HITMONLEE@" + db "HITMONCHAN" + db "ARBOK@@@@@" + db "PARASECT@@" + db "PSYDUCK@@@" + db "DROWZEE@@@" + db "GOLEM@@@@@" + db "MISSINGNO." + db "MAGMAR@@@@" + db "MISSINGNO." + db "ELECTABUZZ" + db "MAGNETON@@" + db "KOFFING@@@" + db "MISSINGNO." + db "MANKEY@@@@" + db "SEEL@@@@@@" + db "DIGLETT@@@" + db "TAUROS@@@@" + db "MISSINGNO." + db "MISSINGNO." + db "MISSINGNO." + db "FARFETCH'D" + db "VENONAT@@@" + db "DRAGONITE@" + db "MISSINGNO." + db "MISSINGNO." + db "MISSINGNO." + db "DODUO@@@@@" + db "POLIWAG@@@" + db "JYNX@@@@@@" + db "MOLTRES@@@" + db "ARTICUNO@@" + db "ZAPDOS@@@@" + db "DITTO@@@@@" + db "MEOWTH@@@@" + db "KRABBY@@@@" + db "MISSINGNO." + db "MISSINGNO." + db "MISSINGNO." + db "VULPIX@@@@" + db "NINETALES@" + db "PIKACHU@@@" + db "RAICHU@@@@" + db "MISSINGNO." + db "MISSINGNO." + db "DRATINI@@@" + db "DRAGONAIR@" + db "KABUTO@@@@" + db "KABUTOPS@@" + db "HORSEA@@@@" + db "SEADRA@@@@" + db "MISSINGNO." + db "MISSINGNO." + db "SANDSHREW@" + db "SANDSLASH@" + db "OMANYTE@@@" + db "OMASTAR@@@" + db "JIGGLYPUFF" + db "WIGGLYTUFF" + db "EEVEE@@@@@" + db "FLAREON@@@" + db "JOLTEON@@@" + db "VAPOREON@@" + db "MACHOP@@@@" + db "ZUBAT@@@@@" + db "EKANS@@@@@" + db "PARAS@@@@@" + db "POLIWHIRL@" + db "POLIWRATH@" + db "WEEDLE@@@@" + db "KAKUNA@@@@" + db "BEEDRILL@@" + db "MISSINGNO." + db "DODRIO@@@@" + db "PRIMEAPE@@" + db "DUGTRIO@@@" + db "VENOMOTH@@" + db "DEWGONG@@@" + db "MISSINGNO." + db "MISSINGNO." + db "CATERPIE@@" + db "METAPOD@@@" + db "BUTTERFREE" + db "MACHAMP@@@" + db "MISSINGNO." + db "GOLDUCK@@@" + db "HYPNO@@@@@" + db "GOLBAT@@@@" + db "MEWTWO@@@@" + db "SNORLAX@@@" + db "MAGIKARP@@" + db "MISSINGNO." + db "MISSINGNO." + db "MUK@@@@@@@" + db "MISSINGNO." + db "KINGLER@@@" + db "CLOYSTER@@" + db "MISSINGNO." + db "ELECTRODE@" + db "CLEFABLE@@" + db "WEEZING@@@" + db "PERSIAN@@@" + db "MAROWAK@@@" + db "MISSINGNO." + db "HAUNTER@@@" + db "ABRA@@@@@@" + db "ALAKAZAM@@" + db "PIDGEOTTO@" + db "PIDGEOT@@@" + db "STARMIE@@@" + db "BULBASAUR@" + db "VENUSAUR@@" + db "TENTACRUEL" + db "MISSINGNO." + db "GOLDEEN@@@" + db "SEAKING@@@" + db "MISSINGNO." + db "MISSINGNO." + db "MISSINGNO." + db "MISSINGNO." + db "PONYTA@@@@" + db "RAPIDASH@@" + db "RATTATA@@@" + db "RATICATE@@" + db "NIDORINO@@" + db "NIDORINA@@" + db "GEODUDE@@@" + db "PORYGON@@@" + db "AERODACTYL" + db "MISSINGNO." + db "MAGNEMITE@" + db "MISSINGNO." + db "MISSINGNO." + db "CHARMANDER" + db "SQUIRTLE@@" + db "CHARMELEON" + db "WARTORTLE@" + db "CHARIZARD@" + db "MISSINGNO." + db "MISSINGNO." + db "MISSINGNO." + db "MISSINGNO." + db "ODDISH@@@@" + db "GLOOM@@@@@" + db "VILEPLUME@" + db "BELLSPROUT" + db "WEEPINBELL" + db "VICTREEBEL" diff --git a/data/pokemon/palettes.asm b/data/pokemon/palettes.asm new file mode 100755 index 00000000..8c4d0bc0 --- /dev/null +++ b/data/pokemon/palettes.asm @@ -0,0 +1,153 @@ +MonsterPalettes: + db PAL_MEWMON ; MISSINGNO + db PAL_GREENMON ; BULBASAUR + db PAL_GREENMON ; IVYSAUR + db PAL_GREENMON ; VENUSAUR + db PAL_REDMON ; CHARMANDER + db PAL_REDMON ; CHARMELEON + db PAL_REDMON ; CHARIZARD + db PAL_CYANMON ; SQUIRTLE + db PAL_CYANMON ; WARTORTLE + db PAL_CYANMON ; BLASTOISE + db PAL_GREENMON ; CATERPIE + db PAL_GREENMON ; METAPOD + db PAL_CYANMON ; BUTTERFREE + db PAL_YELLOWMON ; WEEDLE + db PAL_YELLOWMON ; KAKUNA + db PAL_YELLOWMON ; BEEDRILL + db PAL_BROWNMON ; PIDGEY + db PAL_BROWNMON ; PIDGEOTTO + db PAL_BROWNMON ; PIDGEOT + db PAL_GREYMON ; RATTATA + db PAL_GREYMON ; RATICATE + db PAL_BROWNMON ; SPEAROW + db PAL_BROWNMON ; FEAROW + db PAL_PURPLEMON ; EKANS + db PAL_PURPLEMON ; ARBOK + db PAL_YELLOWMON ; PIKACHU + db PAL_YELLOWMON ; RAICHU + db PAL_BROWNMON ; SANDSHREW + db PAL_BROWNMON ; SANDSLASH + db PAL_BLUEMON ; NIDORAN_F + db PAL_BLUEMON ; NIDORINA + db PAL_BLUEMON ; NIDOQUEEN + db PAL_PURPLEMON ; NIDORAN_M + db PAL_PURPLEMON ; NIDORINO + db PAL_PURPLEMON ; NIDOKING + db PAL_PINKMON ; CLEFAIRY + db PAL_PINKMON ; CLEFABLE + db PAL_REDMON ; VULPIX + db PAL_YELLOWMON ; NINETALES + db PAL_PINKMON ; JIGGLYPUFF + db PAL_PINKMON ; WIGGLYTUFF + db PAL_BLUEMON ; ZUBAT + db PAL_BLUEMON ; GOLBAT + db PAL_GREENMON ; ODDISH + db PAL_REDMON ; GLOOM + db PAL_REDMON ; VILEPLUME + db PAL_REDMON ; PARAS + db PAL_REDMON ; PARASECT + db PAL_PURPLEMON ; VENONAT + db PAL_PURPLEMON ; VENOMOTH + db PAL_BROWNMON ; DIGLETT + db PAL_BROWNMON ; DUGTRIO + db PAL_YELLOWMON ; MEOWTH + db PAL_YELLOWMON ; PERSIAN + db PAL_YELLOWMON ; PSYDUCK + db PAL_CYANMON ; GOLDUCK + db PAL_BROWNMON ; MANKEY + db PAL_BROWNMON ; PRIMEAPE + db PAL_BROWNMON ; GROWLITHE + db PAL_REDMON ; ARCANINE + db PAL_BLUEMON ; POLIWAG + db PAL_BLUEMON ; POLIWHIRL + db PAL_BLUEMON ; POLIWRATH + db PAL_YELLOWMON ; ABRA + db PAL_YELLOWMON ; KADABRA + db PAL_YELLOWMON ; ALAKAZAM + db PAL_GREYMON ; MACHOP + db PAL_GREYMON ; MACHOKE + db PAL_GREYMON ; MACHAMP + db PAL_GREENMON ; BELLSPROUT + db PAL_GREENMON ; WEEPINBELL + db PAL_GREENMON ; VICTREEBEL + db PAL_CYANMON ; TENTACOOL + db PAL_CYANMON ; TENTACRUEL + db PAL_GREYMON ; GEODUDE + db PAL_GREYMON ; GRAVELER + db PAL_GREYMON ; GOLEM + db PAL_REDMON ; PONYTA + db PAL_REDMON ; RAPIDASH + db PAL_PINKMON ; SLOWPOKE + db PAL_PINKMON ; SLOWBRO + db PAL_GREYMON ; MAGNEMITE + db PAL_GREYMON ; MAGNETON + db PAL_BROWNMON ; FARFETCHD + db PAL_BROWNMON ; DODUO + db PAL_BROWNMON ; DODRIO + db PAL_BLUEMON ; SEEL + db PAL_BLUEMON ; DEWGONG + db PAL_PURPLEMON ; GRIMER + db PAL_PURPLEMON ; MUK + db PAL_GREYMON ; SHELLDER + db PAL_GREYMON ; CLOYSTER + db PAL_PURPLEMON ; GASTLY + db PAL_PURPLEMON ; HAUNTER + db PAL_PURPLEMON ; GENGAR + db PAL_GREYMON ; ONIX + db PAL_YELLOWMON ; DROWZEE + db PAL_YELLOWMON ; HYPNO + db PAL_REDMON ; KRABBY + db PAL_REDMON ; KINGLER + db PAL_YELLOWMON ; VOLTORB + db PAL_YELLOWMON ; ELECTRODE + db PAL_PINKMON ; EXEGGCUTE + db PAL_GREENMON ; EXEGGUTOR + db PAL_GREYMON ; CUBONE + db PAL_GREYMON ; MAROWAK + db PAL_BROWNMON ; HITMONLEE + db PAL_BROWNMON ; HITMONCHAN + db PAL_PINKMON ; LICKITUNG + db PAL_PURPLEMON ; KOFFING + db PAL_PURPLEMON ; WEEZING + db PAL_GREYMON ; RHYHORN + db PAL_GREYMON ; RHYDON + db PAL_PINKMON ; CHANSEY + db PAL_BLUEMON ; TANGELA + db PAL_BROWNMON ; KANGASKHAN + db PAL_CYANMON ; HORSEA + db PAL_CYANMON ; SEADRA + db PAL_REDMON ; GOLDEEN + db PAL_REDMON ; SEAKING + db PAL_REDMON ; STARYU + db PAL_GREYMON ; STARMIE + db PAL_PINKMON ; MR_MIME + db PAL_GREENMON ; SCYTHER + db PAL_MEWMON ; JYNX + db PAL_YELLOWMON ; ELECTABUZZ + db PAL_REDMON ; MAGMAR + db PAL_BROWNMON ; PINSIR + db PAL_GREYMON ; TAUROS + db PAL_REDMON ; MAGIKARP + db PAL_BLUEMON ; GYARADOS + db PAL_CYANMON ; LAPRAS + db PAL_GREYMON ; DITTO + db PAL_GREYMON ; EEVEE + db PAL_CYANMON ; VAPOREON + db PAL_YELLOWMON ; JOLTEON + db PAL_REDMON ; FLAREON + db PAL_GREYMON ; PORYGON + db PAL_BLUEMON ; OMANYTE + db PAL_BLUEMON ; OMASTAR + db PAL_BROWNMON ; KABUTO + db PAL_BROWNMON ; KABUTOPS + db PAL_GREYMON ; AERODACTYL + db PAL_PINKMON ; SNORLAX + db PAL_BLUEMON ; ARTICUNO + db PAL_YELLOWMON ; ZAPDOS + db PAL_REDMON ; MOLTRES + db PAL_GREYMON ; DRATINI + db PAL_BLUEMON ; DRAGONAIR + db PAL_BROWNMON ; DRAGONITE + db PAL_MEWMON ; MEWTWO + db PAL_MEWMON ; MEW diff --git a/data/pokemon/title_mons.asm b/data/pokemon/title_mons.asm new file mode 100755 index 00000000..c5d94301 --- /dev/null +++ b/data/pokemon/title_mons.asm @@ -0,0 +1,56 @@ +TitleMons: +; mons on the title screen are randomly chosen from here +IF DEF(_RED) + db CHARMANDER + db SQUIRTLE + db BULBASAUR + db WEEDLE + db NIDORAN_M + db SCYTHER + db PIKACHU + db CLEFAIRY + db RHYDON + db ABRA + db GASTLY + db DITTO + db PIDGEOTTO + db ONIX + db PONYTA + db MAGIKARP +ENDC +IF DEF(_GREEN) + db BULBASAUR + db CHARMANDER + db SQUIRTLE + db CATERPIE + db NIDORAN_F + db PINSIR + db PIKACHU + db CLEFAIRY + db RHYDON + db ABRA + db GASTLY + db DITTO + db PIDGEOTTO + db ONIX + db PONYTA + db MAGIKARP +ENDC +IF DEF(_BLUE) + db SQUIRTLE + db CHARMANDER + db BULBASAUR + db MANKEY + db HITMONLEE + db VULPIX + db CHANSEY + db AERODACTYL + db JOLTEON + db SNORLAX + db GLOOM + db POLIWAG + db DODUO + db PORYGON + db GENGAR + db RAICHU +ENDC diff --git a/data/prize_mon_levels.asm b/data/prize_mon_levels.asm deleted file mode 100755 index bffa4440..00000000 --- a/data/prize_mon_levels.asm +++ /dev/null @@ -1,19 +0,0 @@ -PrizeMonLevelDictionary: -IF DEF(_RED) - db ABRA,9 - db CLEFAIRY,8 - db NIDORINA,17 - - db DRATINI,18 - db SCYTHER,25 - db PORYGON,26 -ENDC -IF DEF(_BLUE) - db ABRA,6 - db CLEFAIRY,12 - db NIDORINO,17 - - db PINSIR,20 - db DRATINI,24 - db PORYGON,18 -ENDC diff --git a/data/prizes.asm b/data/prizes.asm deleted file mode 100755 index 1120c0d0..00000000 --- a/data/prizes.asm +++ /dev/null @@ -1,72 +0,0 @@ -PrizeDifferentMenuPtrs: - dw PrizeMenuMon1Entries - dw PrizeMenuMon1Cost - - dw PrizeMenuMon2Entries - dw PrizeMenuMon2Cost - - dw PrizeMenuTMsEntries - dw PrizeMenuTMsCost - -NoThanksText: - db "NO THANKS@" - -PrizeMenuMon1Entries: - db ABRA - db CLEFAIRY -IF DEF(_RED) - db NIDORINA -ENDC -IF DEF(_BLUE) - db NIDORINO -ENDC - db "@" - -PrizeMenuMon1Cost: -IF DEF(_RED) - coins 180 - coins 500 -ENDC -IF DEF(_BLUE) - coins 120 - coins 750 -ENDC - coins 1200 - db "@" - -PrizeMenuMon2Entries: -IF DEF(_RED) - db DRATINI - db SCYTHER -ENDC -IF DEF(_BLUE) - db PINSIR - db DRATINI -ENDC - db PORYGON - db "@" - -PrizeMenuMon2Cost: -IF DEF(_RED) - coins 2800 - coins 5500 - coins 9999 -ENDC -IF DEF(_BLUE) - coins 2500 - coins 4600 - coins 6500 -ENDC - db "@" - -PrizeMenuTMsEntries: - db TM_23 - db TM_15 - db TM_50 - db "@" - -PrizeMenuTMsCost: - coins 3300 - coins 5500 - coins 7700 - db "@" diff --git a/data/rest_house_maps.asm b/data/rest_house_maps.asm deleted file mode 100644 index 2feb89d3..00000000 --- a/data/rest_house_maps.asm +++ /dev/null @@ -1,5 +0,0 @@ -SafariZoneRestHouses: - db SAFARI_ZONE_WEST_REST_HOUSE - db SAFARI_ZONE_EAST_REST_HOUSE - db SAFARI_ZONE_NORTH_REST_HOUSE - db -1 diff --git a/data/sgb/sgb_border.asm b/data/sgb/sgb_border.asm new file mode 100755 index 00000000..aa11a326 --- /dev/null +++ b/data/sgb/sgb_border.asm @@ -0,0 +1,62 @@ +BorderPalettes: +IF DEF(_RED) + INCBIN "gfx/sgb/red_border.tilemap" +ENDC +IF DEF(_BLUE) + INCBIN "gfx/sgb/blue_border.tilemap" +ENDC + + ds $100 + +IF DEF(_RED) + RGB 30,29,29 ; PAL_SGB1 + RGB 25,22,25 + RGB 25,17,21 + RGB 24,14,12 +ENDC +IF DEF(_BLUE) + RGB 0,0,0 ; PAL_SGB1 (the first color is not defined, but if used, turns up as 30,29,29... o_O) + RGB 10,17,26 + RGB 5,9,20 + RGB 16,20,27 +ENDC + + ds $18 + +IF DEF(_RED) + RGB 30,29,29 ; PAL_SGB2 + RGB 22,31,16 + RGB 27,20,6 + RGB 15,15,15 +ENDC +IF DEF(_BLUE) + RGB 30,29,29 ; PAL_SGB2 + RGB 27,11,6 + RGB 5,9,20 + RGB 28,25,15 +ENDC + + ds $18 + +IF DEF(_RED) + RGB 30,29,29 ; PAL_SGB3 + RGB 31,31,17 + RGB 18,21,29 + RGB 15,15,15 +ENDC +IF DEF(_BLUE) + RGB 30,29,29 ; PAL_SGB3 + RGB 12,15,11 + RGB 5,9,20 + RGB 14,22,17 +ENDC + + ds $18 + +SGBBorderGraphics: +IF DEF(_RED) + INCBIN "gfx/sgb/red_border.2bpp" +ENDC +IF DEF(_BLUE) + INCBIN "gfx/sgb/blue_border.2bpp" +ENDC diff --git a/data/sgb/sgb_packets.asm b/data/sgb/sgb_packets.asm new file mode 100755 index 00000000..cae91883 --- /dev/null +++ b/data/sgb/sgb_packets.asm @@ -0,0 +1,298 @@ +ATTR_BLK: MACRO +; This is a command macro. +; Use ATTR_BLK_DATA for data sets. + db ($4 << 3) + ((\1 * 6) / 16 + 1) + db \1 +ENDM +ATTR_BLK_DATA: MACRO + db \1 ; which regions are affected + db \2 + (\3 << 2) + (\4 << 4) ; palette for each region + db \5, \6, \7, \8 ; x1, y1, x2, y2 +ENDM + +PAL_SET: MACRO + db ($a << 3) + 1 + dw \1, \2, \3, \4 + ds 7 +ENDM + +PAL_TRN: MACRO + db ($b<< 3) + 1 + ds 15 +ENDM + +MLT_REQ: MACRO + db ($11 << 3) + 1 + db \1 - 1 + ds 14 +ENDM + +CHR_TRN: MACRO + db ($13 << 3) + 1 + db \1 + (\2 << 1) + ds 14 +ENDM + +PCT_TRN: MACRO + db ($14 << 3) + 1 + ds 15 +ENDM + +MASK_EN: MACRO + db ($17 << 3) + 1 + db \1 + ds 14 +ENDM + +DATA_SND: MACRO + db ($f << 3) + 1 + dw \1 ; address + db \2 ; bank + db \3 ; length (1-11) +ENDM + +BlkPacket_WholeScreen: + ATTR_BLK 1 + ATTR_BLK_DATA %011, 0,0,0, 00,00, 19,17 + ds 8 + + db $03,$00,$00,$13,$11,$00,$00 + +BlkPacket_Battle: + ATTR_BLK 5 + ATTR_BLK_DATA %111, 2,2,0, 00,12, 19,17 ; message box: pal 2 + ATTR_BLK_DATA %011, 1,1,0, 01,00, 10,03 ; enemy HP bar: pal 1 + ATTR_BLK_DATA %011, 0,0,0, 10,07, 19,10 ; player HP bar: pal 0 + ATTR_BLK_DATA %011, 2,2,0, 00,04, 08,11 ; player mon: pal 2 + ATTR_BLK_DATA %011, 3,3,0, 11,00, 19,06 ; enemy mon : pal 3 + + db $03,$00,$00,$13,$0b,$00 + db $03,$00,$0c,$13,$11,$02 + db $03,$01,$00,$0a,$03,$01 + db $03,$0a,$08,$13,$0a,$00 + db $03,$00,$04,$08,$0b,$02 + db $03,$0b,$00,$13,$07,$03 + db $00 + +BlkPacket_StatusScreen: + ATTR_BLK 1 + ATTR_BLK_DATA %111, 1,1,0, 01,00, 07,06 ; mon: pal 1, HP bar: pal 0 + ds 8 + + db $02,$00,$00,$11,$00,$03 + db $01,$00,$07,$06,$01,$03 + db $01,$07,$13,$11,$00,$03 + db $08,$00,$13,$06,$00,$00 + +BlkPacket_Pokedex: + ATTR_BLK 1 + ATTR_BLK_DATA %111, 1,1,0, 01,01, 08,08 ; mon: pal 1, everything else: pal 0 + ds 8 + + db $02,$00,$00,$11,$00,$01 + db $00,$01,$13,$00,$03,$01 + db $01,$08,$08,$01,$03,$01 + db $09,$08,$11,$00,$03,$09 + db $01,$13,$11,$00,$00 + +BlkPacket_Slots: + ATTR_BLK 5 + ATTR_BLK_DATA %011, 1,1,0, 00,00, 19,11 ; "3" rows and top of screen: pal 1 + ATTR_BLK_DATA %011, 2,2,0, 00,04, 19,09 ; "2" rows: pal 2 + ATTR_BLK_DATA %010, 3,3,0, 00,06, 19,07 ; "1" row: pal 3 + ATTR_BLK_DATA %011, 0,0,0, 04,04, 15,09 ; slot reels: pal 0 + ATTR_BLK_DATA %011, 0,0,0, 00,12, 19,17 ; message box: pal 0 + + db $03,$00,$00,$13,$0b,$01 + db $03,$00,$04,$13,$09,$02 + db $03,$00,$06,$13,$07,$03 + db $03,$04,$04,$0f,$09,$00 + db $03,$00,$0c,$13,$11,$00 + db $00 + +BlkPacket_Titlescreen: + ATTR_BLK 3 + ATTR_BLK_DATA %011, 0,0,0, 00,00, 19,07 ; pokemon logo: pal 0 + ATTR_BLK_DATA %010, 1,1,0, 00,08, 19,09 ; version text: pal 1 + ATTR_BLK_DATA %011, 2,2,0, 00,10, 19,17 ; player, mon, copyright text: pal 2 + ds 12 + + db $03,$00,$00,$13,$07,$00 + db $03,$00,$08,$13,$09,$01 + db $03,$00,$0a,$13,$11,$02 + db $00 + +BlkPacket_NidorinoIntro: + ATTR_BLK 3 + ATTR_BLK_DATA %011, 1,1,0, 00,00, 19,03 ; upper black bar: pal 1 + ATTR_BLK_DATA %011, 0,0,0, 00,04, 19,13 ; letterbox: pal 0 + ATTR_BLK_DATA %011, 1,1,0, 00,14, 19,17 ; lower black bar: pal 1 + ds 12 + + db $03,$00,$00,$13,$03,$01 + db $03,$00,$04,$13,$0d,$00 + db $03,$00,$0e,$13,$11,$01 + db $00 + +BlkPacket_PartyMenu: + ATTR_BLK 7 + ATTR_BLK_DATA %110, 0,0,1, 01,00, 02,12 ; mon sprites: pal 0, everything else: pal 1 + ATTR_BLK_DATA %010, 0,0,0, 05,01, 11,01 ; HP bar 0: pal set dynamically + ATTR_BLK_DATA %010, 0,0,0, 05,03, 11,03 ; HP bar 1: pal set dynamically + ATTR_BLK_DATA %010, 0,0,0, 05,05, 11,05 ; HP bar 2: pal set dynamically + ATTR_BLK_DATA %010, 0,0,0, 05,07, 11,07 ; HP bar 3: pal set dynamically + ATTR_BLK_DATA %010, 0,0,0, 05,09, 11,09 ; HP bar 4: pal set dynamically + ATTR_BLK_DATA %010, 0,0,0, 05,11, 11,11 ; HP bar 5: pal set dynamically + ds 4 + + db $02,$00,$00,$11,$01,$03 + db $01,$00,$02,$0c,$00,$03 + db $01,$0d,$02,$11,$01,$03 + db $03,$00,$13,$11,$01,$03 + db $0c,$00,$12,$01,$00,$03 + db $0c,$02,$12,$03,$00,$03 + db $0c,$04,$12,$05,$00,$03 + db $0c,$06,$12,$07,$00,$03 + db $0c,$08,$12,$09,$00,$03 + db $0c,$0a,$12,$0b,$00,$00 + +BlkPacket_TrainerCard: + ATTR_BLK 10 + ATTR_BLK_DATA %010, 0,0,0, 03,12, 04,13 ; Boulder Badge + ATTR_BLK_DATA %010, 1,1,0, 07,12, 08,13 ; Cascade Badge + ATTR_BLK_DATA %010, 3,3,0, 11,12, 12,13 ; Thunder Badge + ATTR_BLK_DATA %010, 2,2,0, 16,11, 17,12 ; Rainbow Badge + ATTR_BLK_DATA %010, 1,1,0, 14,13, 15,14 ; Rainbow Badge + ATTR_BLK_DATA %010, 3,3,0, 16,13, 17,14 ; Rainbow Badge + ATTR_BLK_DATA %010, 2,2,0, 03,15, 04,16 ; Soul Badge + ATTR_BLK_DATA %010, 3,3,0, 07,15, 08,16 ; Marsh Badge + ATTR_BLK_DATA %010, 2,2,0, 11,15, 12,16 ; Volcano Badge + ATTR_BLK_DATA %010, 1,1,0, 15,15, 16,16 ; Earth Badge + ds 2 + + db $03,$03,$0c,$04,$0d,$00 + db $03,$07,$0c,$08,$0d,$01 + db $03,$0b,$0c,$0c,$0d,$03 + db $03,$10,$0b,$11,$0c,$02 + db $03,$0e,$0d,$0f,$0e,$01 + db $03,$10,$0d,$11,$0e,$03 + db $03,$03,$0f,$04,$10,$02 + db $03,$07,$0f,$08,$10,$03 + db $03,$0b,$0f,$0c,$10,$02 + db $03,$0f,$0f,$10,$10,$01 + db $00 + +BlkPacket_GameFreakIntro: + ATTR_BLK 3 + ATTR_BLK_DATA %111, 1,1,0, 05,11, 07,13 ; falling stars (left): pal 1, GameFreak logo: pal 0 + ATTR_BLK_DATA %010, 2,2,0, 08,11, 09,13 ; falling stars (middle): pal 2 + ATTR_BLK_DATA %011, 3,3,0, 12,11, 14,13 ; falling stars (right): pal 3 + ds 12 + + db $03,$00,$00,$13,$0a,$00 + db $03,$00,$0b,$04,$0d,$00 + db $03,$05,$0b,$07,$0d,$01 + db $03,$08,$0b,$13,$0d,$00 + db $03,$00,$0e,$13,$11,$00 + db $03,$08,$0b,$09,$0d,$02 + db $03,$0c,$0b,$0e,$0d,$03 + db $00 + + +PalPacket_Empty: PAL_SET 0, 0, 0, 0 +PalPacket_PartyMenu: PAL_SET PAL_MEWMON, PAL_GREENBAR, PAL_YELLOWBAR, PAL_REDBAR +PalPacket_Black: PAL_SET PAL_BLACK, PAL_BLACK, PAL_BLACK, PAL_BLACK +PalPacket_TownMap: PAL_SET PAL_TOWNMAP, 0, 0, 0 +PalPacket_Pokedex: PAL_SET PAL_BROWNMON, 0, 0, 0 +PalPacket_Slots: PAL_SET PAL_SLOTS1, PAL_SLOTS2, PAL_SLOTS3, PAL_SLOTS4 +PalPacket_Titlescreen: PAL_SET PAL_LOGO2, PAL_LOGO1, PAL_MEWMON, PAL_PURPLEMON +PalPacket_TrainerCard: PAL_SET PAL_MEWMON, PAL_BADGE, PAL_REDMON, PAL_YELLOWMON +PalPacket_Generic: PAL_SET PAL_MEWMON, 0, 0, 0 +PalPacket_NidorinoIntro: PAL_SET PAL_PURPLEMON, PAL_BLACK, 0, 0 +PalPacket_GameFreakIntro: PAL_SET PAL_GAMEFREAK, PAL_REDMON, PAL_VIRIDIAN, PAL_BLUEMON + +PalTrnPacket: PAL_TRN +MltReq1Packet: MLT_REQ 1 +MltReq2Packet: MLT_REQ 2 +ChrTrnPacket: CHR_TRN 0, 0 +PctTrnPacket: PCT_TRN + +MaskEnFreezePacket: MASK_EN 1 +MaskEnCancelPacket: MASK_EN 0 + + +; These are DATA_SND packets containing SNES code. +; This set of packets is found in several Japanese SGB-compatible titles. +; It appears to be part of NCL's SGB devkit. + +DataSnd_72548: DATA_SND $85d, $0, 11 + db $8C ; cpx #$8c (2) + db $D0, $F4 ; bne -$0c + db $60 ; rts + ds 7 + +DataSnd_72558: DATA_SND $852, $0, 11 + db $A9, $E7 ; lda #$e7 + db $9F, $01, $C0, $7E ; sta $7ec001, x + db $E8 ; inx + db $E8 ; inx + db $E8 ; inx + db $E8 ; inx + db $E0 ; cpx #$8c (1) + +DataSnd_72568: DATA_SND $847, $0, 11 + db $C4 ; cmp #$c4 (2) + db $D0, $16 ; bne +$16 + db $A5 ; lda dp + db $CB ; wai + db $C9, $05 ; cmp #$05 + db $D0, $10 ; bne +$10 + db $A2, $28 ; ldx #$28 + +DataSnd_72578: DATA_SND $83c, $0, 11 + db $F0, $12 ; beq +$12 + db $A5 ; lda dp + db $C9, $C9 ; cmp #$c9 + db $C8 ; iny + db $D0, $1C ; bne +$1c + db $A5 ; lda dp + db $CA ; dex + db $C9 ; cmp #$c4 (1) + +DataSnd_72588: DATA_SND $831, $0, 11 + dbw $0C, $CAA5 ; tsb $caa5 + db $C9, $7E ; cmp #$7e + db $D0, $06 ; bne +$06 + db $A5 ; lda dp + db $CB ; wai + db $C9, $7E ; cmp #$7e + +DataSnd_72598: DATA_SND $826, $0, 11 + db $39 ; bne +$39 (2) + dbw $CD, $C48 ; cmp $c48 + db $D0, $34 ; bne +$34 + db $A5 ; lda dp + db $C9, $C9 ; cmp #$c9 + db $80, $D0 ; bra -$30 + +DataSnd_725a8: DATA_SND $81b, $0, 11 + db $EA ; nop + db $EA ; nop + db $EA ; nop + db $EA ; nop + db $EA ; nop + ; $820: + db $A9,$01 ; lda #01 + dbw $CD,$C4F ; cmp $c4f + db $D0 ; bne +$39 (1) + +DataSnd_725b8: DATA_SND $810, $0, 11 + dbw $4C, $820 ; jmp $820 + db $EA ; nop + db $EA ; nop + db $EA ; nop + db $EA ; nop + db $EA ; nop + db $60 ; rts + db $EA ; nop + db $EA ; nop diff --git a/data/sgb/sgb_palettes.asm b/data/sgb/sgb_palettes.asm new file mode 100755 index 00000000..97f1d8ec --- /dev/null +++ b/data/sgb/sgb_palettes.asm @@ -0,0 +1,174 @@ +; palettes for overworlds, title screen, monsters +SuperPalettes: + RGB 31,29,31 ; PAL_ROUTE + RGB 21,28,11 + RGB 20,26,31 + RGB 3,2,2 + RGB 31,29,31 ; PAL_PALLET + RGB 25,28,27 + RGB 20,26,31 + RGB 3,2,2 + RGB 31,29,31 ; PAL_VIRIDIAN + RGB 17,26,3 + RGB 20,26,31 + RGB 3,2,2 + RGB 31,29,31 ; PAL_PEWTER + RGB 23,25,16 + RGB 20,26,31 + RGB 3,2,2 + RGB 31,29,31 ; PAL_CERULEAN + RGB 17,20,30 + RGB 20,26,31 + RGB 3,2,2 + RGB 31,29,31 ; PAL_LAVENDER + RGB 27,20,27 + RGB 20,26,31 + RGB 3,2,2 + RGB 31,29,31 ; PAL_VERMILION + RGB 30,18,0 + RGB 20,26,31 + RGB 3,2,2 + RGB 31,29,31 ; PAL_CELADON + RGB 16,30,22 + RGB 20,26,31 + RGB 3,2,2 + RGB 31,29,31 ; PAL_FUCHSIA + RGB 31,15,22 + RGB 20,26,31 + RGB 3,2,2 + RGB 31,29,31 ; PAL_CINNABAR + RGB 26,10,6 + RGB 20,26,31 + RGB 3,2,2 + RGB 31,29,31 ; PAL_INDIGO + RGB 22,14,24 + RGB 20,26,31 + RGB 3,2,2 + RGB 31,29,31 ; PAL_SAFFRON + RGB 27,27,3 + RGB 20,26,31 + RGB 3,2,2 + RGB 31,29,31 ; PAL_TOWNMAP + RGB 20,26,31 + RGB 17,23,10 + RGB 3,2,2 +IF DEF(_RED) + RGB 31,29,31 ; PAL_LOGO1 + RGB 30,30,17 + RGB 17,23,10 + RGB 21,0,4 +ENDC +IF DEF(_BLUE) + RGB 31,29,31 ; PAL_LOGO1 + RGB 30,30,17 + RGB 21,0,4 + RGB 14,19,29 +ENDC + RGB 31,29,31 ; PAL_LOGO2 + RGB 30,30,17 + RGB 18,18,24 + RGB 7,7,16 + RGB 31,29,31 ; PAL_0F + RGB 24,20,30 + RGB 11,20,30 + RGB 3,2,2 + RGB 31,29,31 ; PAL_MEWMON + RGB 30,22,17 + RGB 16,14,19 + RGB 3,2,2 + RGB 31,29,31 ; PAL_BLUEMON + RGB 18,20,27 + RGB 11,15,23 + RGB 3,2,2 + RGB 31,29,31 ; PAL_REDMON + RGB 31,20,10 + RGB 26,10,6 + RGB 3,2,2 + RGB 31,29,31 ; PAL_CYANMON + RGB 21,25,29 + RGB 14,19,25 + RGB 3,2,2 + RGB 31,29,31 ; PAL_PURPLEMON + RGB 27,22,24 + RGB 21,15,23 + RGB 3,2,2 + RGB 31,29,31 ; PAL_BROWNMON + RGB 28,20,15 + RGB 21,14,9 + RGB 3,2,2 + RGB 31,29,31 ; PAL_GREENMON + RGB 20,26,16 + RGB 9,20,11 + RGB 3,2,2 + RGB 31,29,31 ; PAL_PINKMON + RGB 30,22,24 + RGB 28,15,21 + RGB 3,2,2 + RGB 31,29,31 ; PAL_YELLOWMON + RGB 31,28,14 + RGB 26,20,0 + RGB 3,2,2 + RGB 31,29,31 ; PAL_GREYMON + RGB 26,21,22 + RGB 15,15,18 + RGB 3,2,2 + RGB 31,29,31 ; PAL_SLOTS1 + RGB 26,21,22 + RGB 27,20,6 + RGB 3,2,2 + RGB 31,29,31 ; PAL_SLOTS2 + RGB 31,31,17 +IF DEF(_RED) + RGB 25,17,21 +ENDC +IF DEF(_BLUE) + RGB 16,19,29 +ENDC + RGB 3,2,2 + RGB 31,29,31 ; PAL_SLOTS3 + RGB 22,31,16 +IF DEF(_RED) + RGB 25,17,21 +ENDC +IF DEF(_BLUE) + RGB 16,19,29 +ENDC + RGB 3,2,2 + RGB 31,29,31 ; PAL_SLOTS4 +IF DEF(_RED) + RGB 16,19,29 + RGB 25,17,21 +ENDC +IF DEF(_BLUE) + RGB 25,17,21 + RGB 16,19,29 +ENDC + RGB 3,2,2 + RGB 31,29,31 ; PAL_BLACK + RGB 7,7,7 + RGB 2,3,3 + RGB 3,2,2 + RGB 31,29,31 ; PAL_GREENBAR + RGB 30,26,15 + RGB 9,20,11 + RGB 3,2,2 + RGB 31,29,31 ; PAL_YELLOWBAR + RGB 30,26,15 + RGB 26,20,0 + RGB 3,2,2 + RGB 31,29,31 ; PAL_REDBAR + RGB 30,26,15 + RGB 26,10,6 + RGB 3,2,2 + RGB 31,29,31 ; PAL_BADGE + RGB 30,22,17 + RGB 11,15,23 + RGB 3,2,2 + RGB 31,29,31 ; PAL_CAVE + RGB 21,14,9 + RGB 18,24,22 + RGB 3,2,2 + RGB 31,29,31 ; PAL_GAMEFREAK + RGB 31,28,14 + RGB 24,20,10 + RGB 3,2,2 diff --git a/data/sgb_border.asm b/data/sgb_border.asm deleted file mode 100755 index aa11a326..00000000 --- a/data/sgb_border.asm +++ /dev/null @@ -1,62 +0,0 @@ -BorderPalettes: -IF DEF(_RED) - INCBIN "gfx/sgb/red_border.tilemap" -ENDC -IF DEF(_BLUE) - INCBIN "gfx/sgb/blue_border.tilemap" -ENDC - - ds $100 - -IF DEF(_RED) - RGB 30,29,29 ; PAL_SGB1 - RGB 25,22,25 - RGB 25,17,21 - RGB 24,14,12 -ENDC -IF DEF(_BLUE) - RGB 0,0,0 ; PAL_SGB1 (the first color is not defined, but if used, turns up as 30,29,29... o_O) - RGB 10,17,26 - RGB 5,9,20 - RGB 16,20,27 -ENDC - - ds $18 - -IF DEF(_RED) - RGB 30,29,29 ; PAL_SGB2 - RGB 22,31,16 - RGB 27,20,6 - RGB 15,15,15 -ENDC -IF DEF(_BLUE) - RGB 30,29,29 ; PAL_SGB2 - RGB 27,11,6 - RGB 5,9,20 - RGB 28,25,15 -ENDC - - ds $18 - -IF DEF(_RED) - RGB 30,29,29 ; PAL_SGB3 - RGB 31,31,17 - RGB 18,21,29 - RGB 15,15,15 -ENDC -IF DEF(_BLUE) - RGB 30,29,29 ; PAL_SGB3 - RGB 12,15,11 - RGB 5,9,20 - RGB 14,22,17 -ENDC - - ds $18 - -SGBBorderGraphics: -IF DEF(_RED) - INCBIN "gfx/sgb/red_border.2bpp" -ENDC -IF DEF(_BLUE) - INCBIN "gfx/sgb/blue_border.2bpp" -ENDC diff --git a/data/sgb_packets.asm b/data/sgb_packets.asm deleted file mode 100755 index cae91883..00000000 --- a/data/sgb_packets.asm +++ /dev/null @@ -1,298 +0,0 @@ -ATTR_BLK: MACRO -; This is a command macro. -; Use ATTR_BLK_DATA for data sets. - db ($4 << 3) + ((\1 * 6) / 16 + 1) - db \1 -ENDM -ATTR_BLK_DATA: MACRO - db \1 ; which regions are affected - db \2 + (\3 << 2) + (\4 << 4) ; palette for each region - db \5, \6, \7, \8 ; x1, y1, x2, y2 -ENDM - -PAL_SET: MACRO - db ($a << 3) + 1 - dw \1, \2, \3, \4 - ds 7 -ENDM - -PAL_TRN: MACRO - db ($b<< 3) + 1 - ds 15 -ENDM - -MLT_REQ: MACRO - db ($11 << 3) + 1 - db \1 - 1 - ds 14 -ENDM - -CHR_TRN: MACRO - db ($13 << 3) + 1 - db \1 + (\2 << 1) - ds 14 -ENDM - -PCT_TRN: MACRO - db ($14 << 3) + 1 - ds 15 -ENDM - -MASK_EN: MACRO - db ($17 << 3) + 1 - db \1 - ds 14 -ENDM - -DATA_SND: MACRO - db ($f << 3) + 1 - dw \1 ; address - db \2 ; bank - db \3 ; length (1-11) -ENDM - -BlkPacket_WholeScreen: - ATTR_BLK 1 - ATTR_BLK_DATA %011, 0,0,0, 00,00, 19,17 - ds 8 - - db $03,$00,$00,$13,$11,$00,$00 - -BlkPacket_Battle: - ATTR_BLK 5 - ATTR_BLK_DATA %111, 2,2,0, 00,12, 19,17 ; message box: pal 2 - ATTR_BLK_DATA %011, 1,1,0, 01,00, 10,03 ; enemy HP bar: pal 1 - ATTR_BLK_DATA %011, 0,0,0, 10,07, 19,10 ; player HP bar: pal 0 - ATTR_BLK_DATA %011, 2,2,0, 00,04, 08,11 ; player mon: pal 2 - ATTR_BLK_DATA %011, 3,3,0, 11,00, 19,06 ; enemy mon : pal 3 - - db $03,$00,$00,$13,$0b,$00 - db $03,$00,$0c,$13,$11,$02 - db $03,$01,$00,$0a,$03,$01 - db $03,$0a,$08,$13,$0a,$00 - db $03,$00,$04,$08,$0b,$02 - db $03,$0b,$00,$13,$07,$03 - db $00 - -BlkPacket_StatusScreen: - ATTR_BLK 1 - ATTR_BLK_DATA %111, 1,1,0, 01,00, 07,06 ; mon: pal 1, HP bar: pal 0 - ds 8 - - db $02,$00,$00,$11,$00,$03 - db $01,$00,$07,$06,$01,$03 - db $01,$07,$13,$11,$00,$03 - db $08,$00,$13,$06,$00,$00 - -BlkPacket_Pokedex: - ATTR_BLK 1 - ATTR_BLK_DATA %111, 1,1,0, 01,01, 08,08 ; mon: pal 1, everything else: pal 0 - ds 8 - - db $02,$00,$00,$11,$00,$01 - db $00,$01,$13,$00,$03,$01 - db $01,$08,$08,$01,$03,$01 - db $09,$08,$11,$00,$03,$09 - db $01,$13,$11,$00,$00 - -BlkPacket_Slots: - ATTR_BLK 5 - ATTR_BLK_DATA %011, 1,1,0, 00,00, 19,11 ; "3" rows and top of screen: pal 1 - ATTR_BLK_DATA %011, 2,2,0, 00,04, 19,09 ; "2" rows: pal 2 - ATTR_BLK_DATA %010, 3,3,0, 00,06, 19,07 ; "1" row: pal 3 - ATTR_BLK_DATA %011, 0,0,0, 04,04, 15,09 ; slot reels: pal 0 - ATTR_BLK_DATA %011, 0,0,0, 00,12, 19,17 ; message box: pal 0 - - db $03,$00,$00,$13,$0b,$01 - db $03,$00,$04,$13,$09,$02 - db $03,$00,$06,$13,$07,$03 - db $03,$04,$04,$0f,$09,$00 - db $03,$00,$0c,$13,$11,$00 - db $00 - -BlkPacket_Titlescreen: - ATTR_BLK 3 - ATTR_BLK_DATA %011, 0,0,0, 00,00, 19,07 ; pokemon logo: pal 0 - ATTR_BLK_DATA %010, 1,1,0, 00,08, 19,09 ; version text: pal 1 - ATTR_BLK_DATA %011, 2,2,0, 00,10, 19,17 ; player, mon, copyright text: pal 2 - ds 12 - - db $03,$00,$00,$13,$07,$00 - db $03,$00,$08,$13,$09,$01 - db $03,$00,$0a,$13,$11,$02 - db $00 - -BlkPacket_NidorinoIntro: - ATTR_BLK 3 - ATTR_BLK_DATA %011, 1,1,0, 00,00, 19,03 ; upper black bar: pal 1 - ATTR_BLK_DATA %011, 0,0,0, 00,04, 19,13 ; letterbox: pal 0 - ATTR_BLK_DATA %011, 1,1,0, 00,14, 19,17 ; lower black bar: pal 1 - ds 12 - - db $03,$00,$00,$13,$03,$01 - db $03,$00,$04,$13,$0d,$00 - db $03,$00,$0e,$13,$11,$01 - db $00 - -BlkPacket_PartyMenu: - ATTR_BLK 7 - ATTR_BLK_DATA %110, 0,0,1, 01,00, 02,12 ; mon sprites: pal 0, everything else: pal 1 - ATTR_BLK_DATA %010, 0,0,0, 05,01, 11,01 ; HP bar 0: pal set dynamically - ATTR_BLK_DATA %010, 0,0,0, 05,03, 11,03 ; HP bar 1: pal set dynamically - ATTR_BLK_DATA %010, 0,0,0, 05,05, 11,05 ; HP bar 2: pal set dynamically - ATTR_BLK_DATA %010, 0,0,0, 05,07, 11,07 ; HP bar 3: pal set dynamically - ATTR_BLK_DATA %010, 0,0,0, 05,09, 11,09 ; HP bar 4: pal set dynamically - ATTR_BLK_DATA %010, 0,0,0, 05,11, 11,11 ; HP bar 5: pal set dynamically - ds 4 - - db $02,$00,$00,$11,$01,$03 - db $01,$00,$02,$0c,$00,$03 - db $01,$0d,$02,$11,$01,$03 - db $03,$00,$13,$11,$01,$03 - db $0c,$00,$12,$01,$00,$03 - db $0c,$02,$12,$03,$00,$03 - db $0c,$04,$12,$05,$00,$03 - db $0c,$06,$12,$07,$00,$03 - db $0c,$08,$12,$09,$00,$03 - db $0c,$0a,$12,$0b,$00,$00 - -BlkPacket_TrainerCard: - ATTR_BLK 10 - ATTR_BLK_DATA %010, 0,0,0, 03,12, 04,13 ; Boulder Badge - ATTR_BLK_DATA %010, 1,1,0, 07,12, 08,13 ; Cascade Badge - ATTR_BLK_DATA %010, 3,3,0, 11,12, 12,13 ; Thunder Badge - ATTR_BLK_DATA %010, 2,2,0, 16,11, 17,12 ; Rainbow Badge - ATTR_BLK_DATA %010, 1,1,0, 14,13, 15,14 ; Rainbow Badge - ATTR_BLK_DATA %010, 3,3,0, 16,13, 17,14 ; Rainbow Badge - ATTR_BLK_DATA %010, 2,2,0, 03,15, 04,16 ; Soul Badge - ATTR_BLK_DATA %010, 3,3,0, 07,15, 08,16 ; Marsh Badge - ATTR_BLK_DATA %010, 2,2,0, 11,15, 12,16 ; Volcano Badge - ATTR_BLK_DATA %010, 1,1,0, 15,15, 16,16 ; Earth Badge - ds 2 - - db $03,$03,$0c,$04,$0d,$00 - db $03,$07,$0c,$08,$0d,$01 - db $03,$0b,$0c,$0c,$0d,$03 - db $03,$10,$0b,$11,$0c,$02 - db $03,$0e,$0d,$0f,$0e,$01 - db $03,$10,$0d,$11,$0e,$03 - db $03,$03,$0f,$04,$10,$02 - db $03,$07,$0f,$08,$10,$03 - db $03,$0b,$0f,$0c,$10,$02 - db $03,$0f,$0f,$10,$10,$01 - db $00 - -BlkPacket_GameFreakIntro: - ATTR_BLK 3 - ATTR_BLK_DATA %111, 1,1,0, 05,11, 07,13 ; falling stars (left): pal 1, GameFreak logo: pal 0 - ATTR_BLK_DATA %010, 2,2,0, 08,11, 09,13 ; falling stars (middle): pal 2 - ATTR_BLK_DATA %011, 3,3,0, 12,11, 14,13 ; falling stars (right): pal 3 - ds 12 - - db $03,$00,$00,$13,$0a,$00 - db $03,$00,$0b,$04,$0d,$00 - db $03,$05,$0b,$07,$0d,$01 - db $03,$08,$0b,$13,$0d,$00 - db $03,$00,$0e,$13,$11,$00 - db $03,$08,$0b,$09,$0d,$02 - db $03,$0c,$0b,$0e,$0d,$03 - db $00 - - -PalPacket_Empty: PAL_SET 0, 0, 0, 0 -PalPacket_PartyMenu: PAL_SET PAL_MEWMON, PAL_GREENBAR, PAL_YELLOWBAR, PAL_REDBAR -PalPacket_Black: PAL_SET PAL_BLACK, PAL_BLACK, PAL_BLACK, PAL_BLACK -PalPacket_TownMap: PAL_SET PAL_TOWNMAP, 0, 0, 0 -PalPacket_Pokedex: PAL_SET PAL_BROWNMON, 0, 0, 0 -PalPacket_Slots: PAL_SET PAL_SLOTS1, PAL_SLOTS2, PAL_SLOTS3, PAL_SLOTS4 -PalPacket_Titlescreen: PAL_SET PAL_LOGO2, PAL_LOGO1, PAL_MEWMON, PAL_PURPLEMON -PalPacket_TrainerCard: PAL_SET PAL_MEWMON, PAL_BADGE, PAL_REDMON, PAL_YELLOWMON -PalPacket_Generic: PAL_SET PAL_MEWMON, 0, 0, 0 -PalPacket_NidorinoIntro: PAL_SET PAL_PURPLEMON, PAL_BLACK, 0, 0 -PalPacket_GameFreakIntro: PAL_SET PAL_GAMEFREAK, PAL_REDMON, PAL_VIRIDIAN, PAL_BLUEMON - -PalTrnPacket: PAL_TRN -MltReq1Packet: MLT_REQ 1 -MltReq2Packet: MLT_REQ 2 -ChrTrnPacket: CHR_TRN 0, 0 -PctTrnPacket: PCT_TRN - -MaskEnFreezePacket: MASK_EN 1 -MaskEnCancelPacket: MASK_EN 0 - - -; These are DATA_SND packets containing SNES code. -; This set of packets is found in several Japanese SGB-compatible titles. -; It appears to be part of NCL's SGB devkit. - -DataSnd_72548: DATA_SND $85d, $0, 11 - db $8C ; cpx #$8c (2) - db $D0, $F4 ; bne -$0c - db $60 ; rts - ds 7 - -DataSnd_72558: DATA_SND $852, $0, 11 - db $A9, $E7 ; lda #$e7 - db $9F, $01, $C0, $7E ; sta $7ec001, x - db $E8 ; inx - db $E8 ; inx - db $E8 ; inx - db $E8 ; inx - db $E0 ; cpx #$8c (1) - -DataSnd_72568: DATA_SND $847, $0, 11 - db $C4 ; cmp #$c4 (2) - db $D0, $16 ; bne +$16 - db $A5 ; lda dp - db $CB ; wai - db $C9, $05 ; cmp #$05 - db $D0, $10 ; bne +$10 - db $A2, $28 ; ldx #$28 - -DataSnd_72578: DATA_SND $83c, $0, 11 - db $F0, $12 ; beq +$12 - db $A5 ; lda dp - db $C9, $C9 ; cmp #$c9 - db $C8 ; iny - db $D0, $1C ; bne +$1c - db $A5 ; lda dp - db $CA ; dex - db $C9 ; cmp #$c4 (1) - -DataSnd_72588: DATA_SND $831, $0, 11 - dbw $0C, $CAA5 ; tsb $caa5 - db $C9, $7E ; cmp #$7e - db $D0, $06 ; bne +$06 - db $A5 ; lda dp - db $CB ; wai - db $C9, $7E ; cmp #$7e - -DataSnd_72598: DATA_SND $826, $0, 11 - db $39 ; bne +$39 (2) - dbw $CD, $C48 ; cmp $c48 - db $D0, $34 ; bne +$34 - db $A5 ; lda dp - db $C9, $C9 ; cmp #$c9 - db $80, $D0 ; bra -$30 - -DataSnd_725a8: DATA_SND $81b, $0, 11 - db $EA ; nop - db $EA ; nop - db $EA ; nop - db $EA ; nop - db $EA ; nop - ; $820: - db $A9,$01 ; lda #01 - dbw $CD,$C4F ; cmp $c4f - db $D0 ; bne +$39 (1) - -DataSnd_725b8: DATA_SND $810, $0, 11 - dbw $4C, $820 ; jmp $820 - db $EA ; nop - db $EA ; nop - db $EA ; nop - db $EA ; nop - db $EA ; nop - db $60 ; rts - db $EA ; nop - db $EA ; nop diff --git a/data/slot_machine_wheels.asm b/data/slot_machine_wheels.asm deleted file mode 100755 index 88a89822..00000000 --- a/data/slot_machine_wheels.asm +++ /dev/null @@ -1,59 +0,0 @@ -SlotMachineWheel1: - dw SLOTS7 - dw SLOTSMOUSE - dw SLOTSFISH - dw SLOTSBAR - dw SLOTSCHERRY - dw SLOTS7 - dw SLOTSFISH - dw SLOTSBIRD - dw SLOTSBAR - dw SLOTSCHERRY - dw SLOTS7 - dw SLOTSMOUSE - dw SLOTSBIRD - dw SLOTSBAR - dw SLOTSCHERRY - dw SLOTS7 - dw SLOTSMOUSE - dw SLOTSFISH - -SlotMachineWheel2: - dw SLOTS7 - dw SLOTSFISH - dw SLOTSCHERRY - dw SLOTSBIRD - dw SLOTSMOUSE - dw SLOTSBAR - dw SLOTSCHERRY - dw SLOTSFISH - dw SLOTSBIRD - dw SLOTSCHERRY - dw SLOTSBAR - dw SLOTSFISH - dw SLOTSBIRD - dw SLOTSCHERRY - dw SLOTSMOUSE - dw SLOTS7 - dw SLOTSFISH - dw SLOTSCHERRY - -SlotMachineWheel3: - dw SLOTS7 - dw SLOTSBIRD - dw SLOTSFISH - dw SLOTSCHERRY - dw SLOTSMOUSE - dw SLOTSBIRD - dw SLOTSFISH - dw SLOTSCHERRY - dw SLOTSMOUSE - dw SLOTSBIRD - dw SLOTSFISH - dw SLOTSCHERRY - dw SLOTSMOUSE - dw SLOTSBIRD - dw SLOTSBAR - dw SLOTS7 - dw SLOTSBIRD - dw SLOTSFISH diff --git a/data/special_warps.asm b/data/special_warps.asm deleted file mode 100755 index 6b536b67..00000000 --- a/data/special_warps.asm +++ /dev/null @@ -1,119 +0,0 @@ -; Format: (size 2 bytes) -; 00: target map ID -; 01: which dungeon warp in the source map was used -DungeonWarpList: - db SEAFOAM_ISLANDS_B1F,$01 - db SEAFOAM_ISLANDS_B1F,$02 - db SEAFOAM_ISLANDS_B2F,$01 - db SEAFOAM_ISLANDS_B2F,$02 - db SEAFOAM_ISLANDS_B3F,$01 - db SEAFOAM_ISLANDS_B3F,$02 - db SEAFOAM_ISLANDS_B4F,$01 - db SEAFOAM_ISLANDS_B4F,$02 - db VICTORY_ROAD_2F,$02 - db POKEMON_MANSION_1F,$01 - db POKEMON_MANSION_1F,$02 - db POKEMON_MANSION_2F,$03 - db $FF - -DungeonWarpData: - FLYWARP_DATA SEAFOAM_ISLANDS_B1F_WIDTH,7,18 - FLYWARP_DATA SEAFOAM_ISLANDS_B1F_WIDTH,7,23 - FLYWARP_DATA SEAFOAM_ISLANDS_B2F_WIDTH,7,19 - FLYWARP_DATA SEAFOAM_ISLANDS_B2F_WIDTH,7,22 - FLYWARP_DATA SEAFOAM_ISLANDS_B3F_WIDTH,7,18 - FLYWARP_DATA SEAFOAM_ISLANDS_B3F_WIDTH,7,19 - FLYWARP_DATA SEAFOAM_ISLANDS_B4F_WIDTH,14,4 - FLYWARP_DATA SEAFOAM_ISLANDS_B4F_WIDTH,14,5 - FLYWARP_DATA VICTORY_ROAD_2F_WIDTH,16,22 - FLYWARP_DATA POKEMON_MANSION_1F_WIDTH,14,16 - FLYWARP_DATA POKEMON_MANSION_1F_WIDTH,14,16 - FLYWARP_DATA POKEMON_MANSION_2F_WIDTH,14,18 - -;Format: -; db Map_id -; FLYWARP_DATA [Map Width][Y-pos][X-pos] -; db Tileset_id -FirstMapSpec: - db REDS_HOUSE_2F - FLYWARP_DATA REDS_HOUSE_2F_WIDTH,6,3 - db REDS_HOUSE_2 - -TradeCenterSpec1: - db TRADE_CENTER - FLYWARP_DATA TRADE_CENTER_WIDTH,4,3 - db CLUB - -TradeCenterSpec2: - db TRADE_CENTER - FLYWARP_DATA TRADE_CENTER_WIDTH,4,6 - db CLUB - -ColosseumSpec1: - db COLOSSEUM - FLYWARP_DATA COLOSSEUM_WIDTH,4,3 - db CLUB - -ColosseumSpec2: - db COLOSSEUM - FLYWARP_DATA COLOSSEUM_WIDTH,4,6 - db CLUB - -FlyWarpDataPtr: - db PALLET_TOWN, 0 - dw PalletTownFlyWarp - db VIRIDIAN_CITY, 0 - dw ViridianCityFlyWarp - db PEWTER_CITY, 0 - dw PewterCityFlyWarp - db CERULEAN_CITY, 0 - dw CeruleanCityFlyWarp - db LAVENDER_TOWN, 0 - dw LavenderTownFlyWarp - db VERMILION_CITY, 0 - dw VermilionCityFlyWarp - db CELADON_CITY, 0 - dw CeladonCityFlyWarp - db FUCHSIA_CITY, 0 - dw FuchsiaCityFlyWarp - db CINNABAR_ISLAND, 0 - dw CinnabarIslandFlyWarp - db INDIGO_PLATEAU, 0 - dw IndigoPlateauFlyWarp - db SAFFRON_CITY, 0 - dw SaffronCityFlyWarp - db ROUTE_4, 0 - dw Route4FlyWarp - db ROUTE_10, 0 - dw Route10FlyWarp - -; Original Format: -; [Event Displacement][Y-block][X-block][Y-sub_block][X-sub_block] -; Macro Format: -; FLYWARP_DATA [Map Width][Y-pos][X-pos] -PalletTownFlyWarp: - FLYWARP_DATA PALLET_TOWN_WIDTH, 6, 5 -ViridianCityFlyWarp: - FLYWARP_DATA VIRIDIAN_CITY_WIDTH, 26, 23 -PewterCityFlyWarp: - FLYWARP_DATA PEWTER_CITY_WIDTH, 26, 13 -CeruleanCityFlyWarp: - FLYWARP_DATA CERULEAN_CITY_WIDTH, 18, 19 -LavenderTownFlyWarp: - FLYWARP_DATA LAVENDER_TOWN_WIDTH, 6, 3 -VermilionCityFlyWarp: - FLYWARP_DATA VERMILION_CITY_WIDTH, 4, 11 -CeladonCityFlyWarp: - FLYWARP_DATA CELADON_CITY_WIDTH, 10, 41 -FuchsiaCityFlyWarp: - FLYWARP_DATA FUCHSIA_CITY_WIDTH, 28, 19 -CinnabarIslandFlyWarp: - FLYWARP_DATA CINNABAR_ISLAND_WIDTH, 12, 11 -IndigoPlateauFlyWarp: - FLYWARP_DATA INDIGO_PLATEAU_WIDTH, 6, 9 -SaffronCityFlyWarp: - FLYWARP_DATA SAFFRON_CITY_WIDTH, 30, 9 -Route4FlyWarp: - FLYWARP_DATA ROUTE_4_WIDTH, 6, 11 -Route10FlyWarp: - FLYWARP_DATA ROUTE_10_WIDTH, 20, 11 diff --git a/data/sprite_facings.asm b/data/sprite_facings.asm new file mode 100644 index 00000000..c412247a --- /dev/null +++ b/data/sprite_facings.asm @@ -0,0 +1,57 @@ +SpriteFacingAndAnimationTable: + dw SpriteFacingDownAndStanding, SpriteOAMParameters ; facing down, walk animation frame 0 + dw SpriteFacingDownAndWalking, SpriteOAMParameters ; facing down, walk animation frame 1 + dw SpriteFacingDownAndStanding, SpriteOAMParameters ; facing down, walk animation frame 2 + dw SpriteFacingDownAndWalking, SpriteOAMParametersFlipped ; facing down, walk animation frame 3 + dw SpriteFacingUpAndStanding, SpriteOAMParameters ; facing up, walk animation frame 0 + dw SpriteFacingUpAndWalking, SpriteOAMParameters ; facing up, walk animation frame 1 + dw SpriteFacingUpAndStanding, SpriteOAMParameters ; facing up, walk animation frame 2 + dw SpriteFacingUpAndWalking, SpriteOAMParametersFlipped ; facing up, walk animation frame 3 + dw SpriteFacingLeftAndStanding, SpriteOAMParameters ; facing left, walk animation frame 0 + dw SpriteFacingLeftAndWalking, SpriteOAMParameters ; facing left, walk animation frame 1 + dw SpriteFacingLeftAndStanding, SpriteOAMParameters ; facing left, walk animation frame 2 + dw SpriteFacingLeftAndWalking, SpriteOAMParameters ; facing left, walk animation frame 3 + dw SpriteFacingLeftAndStanding, SpriteOAMParametersFlipped ; facing right, walk animation frame 0 + dw SpriteFacingLeftAndWalking, SpriteOAMParametersFlipped ; facing right, walk animation frame 1 + dw SpriteFacingLeftAndStanding, SpriteOAMParametersFlipped ; facing right, walk animation frame 2 + dw SpriteFacingLeftAndWalking, SpriteOAMParametersFlipped ; facing right, walk animation frame 3 + dw SpriteFacingDownAndStanding, SpriteOAMParameters ; --- + dw SpriteFacingDownAndStanding, SpriteOAMParameters ; This table is used for sprites $a and $b. + dw SpriteFacingDownAndStanding, SpriteOAMParameters ; All orientation and animation parameters + dw SpriteFacingDownAndStanding, SpriteOAMParameters ; lead to the same result. Used for immobile + dw SpriteFacingDownAndStanding, SpriteOAMParameters ; sprites like items on the ground + dw SpriteFacingDownAndStanding, SpriteOAMParameters ; --- + dw SpriteFacingDownAndStanding, SpriteOAMParameters + dw SpriteFacingDownAndStanding, SpriteOAMParameters + dw SpriteFacingDownAndStanding, SpriteOAMParameters + dw SpriteFacingDownAndStanding, SpriteOAMParameters + dw SpriteFacingDownAndStanding, SpriteOAMParameters + dw SpriteFacingDownAndStanding, SpriteOAMParameters + dw SpriteFacingDownAndStanding, SpriteOAMParameters + dw SpriteFacingDownAndStanding, SpriteOAMParameters + dw SpriteFacingDownAndStanding, SpriteOAMParameters + dw SpriteFacingDownAndStanding, SpriteOAMParameters + +SpriteFacingDownAndStanding: + db $00,$01,$02,$03 +SpriteFacingDownAndWalking: + db $80,$81,$82,$83 +SpriteFacingUpAndStanding: + db $04,$05,$06,$07 +SpriteFacingUpAndWalking: + db $84,$85,$86,$87 +SpriteFacingLeftAndStanding: + db $08,$09,$0a,$0b +SpriteFacingLeftAndWalking: + db $88,$89,$8a,$8b + +SpriteOAMParameters: + db $00,$00, $00 ; top left + db $00,$08, $00 ; top right + db $08,$00, OAMFLAG_CANBEMASKED ; bottom left + db $08,$08, OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA ; bottom right +SpriteOAMParametersFlipped: + db $00,$08, OAMFLAG_VFLIPPED + db $00,$00, OAMFLAG_VFLIPPED + db $08,$08, OAMFLAG_VFLIPPED | OAMFLAG_CANBEMASKED + db $08,$00, OAMFLAG_VFLIPPED | OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA diff --git a/data/sprite_sets.asm b/data/sprite_sets.asm deleted file mode 100755 index 5b0e1e00..00000000 --- a/data/sprite_sets.asm +++ /dev/null @@ -1,551 +0,0 @@ -MapSpriteSets: - db $01 ; PALLET_TOWN - db $01 ; VIRIDIAN_CITY - db $02 ; PEWTER_CITY - db $02 ; CERULEAN_CITY - db $03 ; LAVENDER_TOWN - db $04 ; VERMILION_CITY - db $05 ; CELADON_CITY - db $0a ; FUCHSIA_CITY - db $01 ; CINNABAR_ISLAND - db $06 ; INDIGO_PLATEAU - db $07 ; SAFFRON_CITY - db $01 ; unused map ID - db $01 ; ROUTE_1 - db $f1 ; ROUTE_2 - db $02 ; ROUTE_3 - db $02 ; ROUTE_4 - db $f9 ; ROUTE_5 - db $fa ; ROUTE_6 - db $fb ; ROUTE_7 - db $fc ; ROUTE_8 - db $02 ; ROUTE_9 - db $f2 ; ROUTE_10 - db $f3 ; ROUTE_11 - db $f4 ; ROUTE_12 - db $08 ; ROUTE_13 - db $08 ; ROUTE_14 - db $f5 ; ROUTE_15 - db $f6 ; ROUTE_16 - db $09 ; ROUTE_17 - db $f7 ; ROUTE_18 - db $0a ; ROUTE_19 - db $f8 ; ROUTE_20 - db $01 ; ROUTE_21 - db $01 ; ROUTE_22 - db $06 ; ROUTE_23 - db $02 ; ROUTE_24 - db $02 ; ROUTE_25 - -; Format: -; 00: determines whether the map is split East/West or North/South -; $01 = East/West divide -; $02 = North/South divide -; 01: coordinate of dividing line -; 02: sprite set ID if in the West or North side -; 03: sprite set ID if in the East or South side -SplitMapSpriteSets: - db $02,$25,$02,$01 ; $f1 - db $02,$32,$02,$03 ; $f2 - db $01,$39,$04,$08 ; $f3 - db $02,$15,$03,$08 ; $f4 - db $01,$08,$0A,$08 ; $f5 - db $01,$18,$09,$05 ; $f6 - db $01,$22,$09,$0A ; $f7 - db $01,$35,$01,$0A ; $f8 - db $02,$21,$02,$07 ; $f9 - db $02,$02,$07,$04 ; $fa - db $01,$11,$05,$07 ; $fb - db $01,$03,$07,$03 ; $fc - -SpriteSets: -; sprite set $01 - db SPRITE_BLUE - db SPRITE_BUG_CATCHER - db SPRITE_GIRL - db SPRITE_FISHER2 - db SPRITE_BLACK_HAIR_BOY_1 - db SPRITE_GAMBLER - db SPRITE_SEEL - db SPRITE_OAK - db SPRITE_SWIMMER - db SPRITE_BALL - db SPRITE_LYING_OLD_MAN - -; sprite set $02 - db SPRITE_BUG_CATCHER - db SPRITE_ROCKET - db SPRITE_BLACK_HAIR_BOY_2 - db SPRITE_HIKER - db SPRITE_SLOWBRO - db SPRITE_BLUE - db SPRITE_GUARD - db SPRITE_LASS - db SPRITE_BLACK_HAIR_BOY_1 - db SPRITE_BALL - db SPRITE_LYING_OLD_MAN_UNUSED_2 - -; sprite set $03 - db SPRITE_LITTLE_GIRL - db SPRITE_GIRL - db SPRITE_BLACK_HAIR_BOY_2 - db SPRITE_HIKER - db SPRITE_GAMBLER - db SPRITE_SLOWBRO - db SPRITE_LASS - db SPRITE_BLACK_HAIR_BOY_1 - db SPRITE_GUARD - db SPRITE_BALL - db SPRITE_LYING_OLD_MAN_UNUSED_2 - -; sprite set $04 - db SPRITE_FOULARD_WOMAN - db SPRITE_BLACK_HAIR_BOY_2 - db SPRITE_BUG_CATCHER - db SPRITE_GAMBLER - db SPRITE_SLOWBRO - db SPRITE_GUARD - db SPRITE_SAILOR - db SPRITE_LASS - db SPRITE_BLACK_HAIR_BOY_1 - db SPRITE_BALL - db SPRITE_LYING_OLD_MAN_UNUSED_2 - -; sprite set $05 - db SPRITE_LITTLE_GIRL - db SPRITE_YOUNG_BOY - db SPRITE_GIRL - db SPRITE_FISHER2 - db SPRITE_FAT_BALD_GUY - db SPRITE_OLD_PERSON - db SPRITE_SLOWBRO - db SPRITE_GUARD - db SPRITE_ROCKET - db SPRITE_BALL - db SPRITE_SNORLAX - -; sprite set $06 - db SPRITE_BUG_CATCHER - db SPRITE_GYM_HELPER - db SPRITE_SLOWBRO - db SPRITE_BLUE - db SPRITE_LASS - db SPRITE_BLACK_HAIR_BOY_1 - db SPRITE_SWIMMER - db SPRITE_GUARD - db SPRITE_GAMBLER - db SPRITE_BALL - db SPRITE_LYING_OLD_MAN_UNUSED_2 - -; sprite set $07 - db SPRITE_ROCKET - db SPRITE_OAK_AIDE - db SPRITE_LAPRAS_GIVER - db SPRITE_ERIKA - db SPRITE_GENTLEMAN - db SPRITE_BIRD - db SPRITE_ROCKER - db SPRITE_BLACK_HAIR_BOY_1 - db SPRITE_SLOWBRO - db SPRITE_BALL - db SPRITE_LYING_OLD_MAN_UNUSED_2 - -; sprite set $08 - db SPRITE_BIKER - db SPRITE_BLACK_HAIR_BOY_2 - db SPRITE_FAT_BALD_GUY - db SPRITE_LASS - db SPRITE_BLACK_HAIR_BOY_1 - db SPRITE_FOULARD_WOMAN - db SPRITE_FISHER2 - db SPRITE_ROCKER - db SPRITE_SLOWBRO - db SPRITE_BALL - db SPRITE_SNORLAX - -; sprite set $09 - db SPRITE_BIKER - db SPRITE_BLACK_HAIR_BOY_1 - db SPRITE_LAPRAS_GIVER - db SPRITE_FISHER2 - db SPRITE_ROCKER - db SPRITE_HIKER - db SPRITE_GAMBLER - db SPRITE_FAT_BALD_GUY - db SPRITE_BLACK_HAIR_BOY_2 - db SPRITE_BALL - db SPRITE_SNORLAX - -; sprite set $0a - db SPRITE_BIRD - db SPRITE_BLACK_HAIR_BOY_1 - db SPRITE_CLEFAIRY - db SPRITE_FISHER2 - db SPRITE_GAMBLER - db SPRITE_SLOWBRO - db SPRITE_SEEL - db SPRITE_SWIMMER - db SPRITE_BUG_CATCHER - db SPRITE_BALL - db SPRITE_OMANYTE - -SpriteSheetPointerTable: - ; SPRITE_RED - dw RedSprite - db $c0 ; byte count - db BANK(RedSprite) - - ; SPRITE_BLUE - dw BlueSprite - db $c0 ; byte count - db BANK(BlueSprite) - - ; SPRITE_OAK - dw OakSprite - db $c0 ; byte count - db BANK(OakSprite) - - ; SPRITE_BUG_CATCHER - dw BugCatcherSprite - db $c0 ; byte count - db BANK(BugCatcherSprite) - - ; SPRITE_SLOWBRO - dw SlowbroSprite - db $c0 ; byte count - db BANK(SlowbroSprite) - - ; SPRITE_LASS - dw LassSprite - db $c0 ; byte count - db BANK(LassSprite) - - ; SPRITE_BLACK_HAIR_BOY_1 - dw BlackHairBoy1Sprite - db $c0 ; byte count - db BANK(BlackHairBoy1Sprite) - - ; SPRITE_LITTLE_GIRL - dw LittleGirlSprite - db $c0 ; byte count - db BANK(LittleGirlSprite) - - ; SPRITE_BIRD - dw BirdSprite - db $c0 ; byte count - db BANK(BirdSprite) - - ; SPRITE_FAT_BALD_GUY - dw FatBaldGuySprite - db $c0 ; byte count - db BANK(FatBaldGuySprite) - - ; SPRITE_GAMBLER - dw GamblerSprite - db $c0 ; byte count - db BANK(GamblerSprite) - - ; SPRITE_BLACK_HAIR_BOY_2 - dw BlackHairBoy2Sprite - db $c0 ; byte count - db BANK(BlackHairBoy2Sprite) - - ; SPRITE_GIRL - dw GirlSprite - db $c0 ; byte count - db BANK(GirlSprite) - - ; SPRITE_HIKER - dw HikerSprite - db $c0 ; byte count - db BANK(HikerSprite) - - ; SPRITE_FOULARD_WOMAN - dw FoulardWomanSprite - db $c0 ; byte count - db BANK(FoulardWomanSprite) - - ; SPRITE_GENTLEMAN - dw GentlemanSprite - db $c0 ; byte count - db BANK(GentlemanSprite) - - ; SPRITE_DAISY - dw DaisySprite - db $c0 ; byte count - db BANK(DaisySprite) - - ; SPRITE_BIKER - dw BikerSprite - db $c0 ; byte count - db BANK(BikerSprite) - - ; SPRITE_SAILOR - dw SailorSprite - db $c0 ; byte count - db BANK(SailorSprite) - - ; SPRITE_COOK - dw CookSprite - db $c0 ; byte count - db BANK(CookSprite) - - ; SPRITE_BIKE_SHOP_GUY - dw BikeShopGuySprite - db $c0 ; byte count - db BANK(BikeShopGuySprite) - - ; SPRITE_MR_FUJI - dw MrFujiSprite - db $c0 ; byte count - db BANK(MrFujiSprite) - - ; SPRITE_GIOVANNI - dw GiovanniSprite - db $c0 ; byte count - db BANK(GiovanniSprite) - - ; SPRITE_ROCKET - dw RocketSprite - db $c0 ; byte count - db BANK(RocketSprite) - - ; SPRITE_MEDIUM - dw MediumSprite - db $c0 ; byte count - db BANK(MediumSprite) - - ; SPRITE_WAITER - dw WaiterSprite - db $c0 ; byte count - db BANK(WaiterSprite) - - ; SPRITE_ERIKA - dw ErikaSprite - db $c0 ; byte count - db BANK(ErikaSprite) - - ; SPRITE_MOM_GEISHA - dw MomGeishaSprite - db $c0 ; byte count - db BANK(MomGeishaSprite) - - ; SPRITE_BRUNETTE_GIRL - dw BrunetteGirlSprite - db $c0 ; byte count - db BANK(BrunetteGirlSprite) - - ; SPRITE_LANCE - dw LanceSprite - db $c0 ; byte count - db BANK(LanceSprite) - - ; SPRITE_OAK_SCIENTIST_AIDE - dw OakAideSprite - db $c0 ; byte count - db BANK(OakAideSprite) - - ; SPRITE_OAK_AIDE - dw OakAideSprite - db $c0 ; byte count - db BANK(OakAideSprite) - - ; SPRITE_ROCKER - dw RockerSprite - db $c0 ; byte count - db BANK(RockerSprite) - - ; SPRITE_SWIMMER - dw SwimmerSprite - db $c0 ; byte count - db BANK(SwimmerSprite) - - ; SPRITE_WHITE_PLAYER - dw WhitePlayerSprite - db $c0 ; byte count - db BANK(WhitePlayerSprite) - - ; SPRITE_GYM_HELPER - dw GymHelperSprite - db $c0 ; byte count - db BANK(GymHelperSprite) - - ; SPRITE_OLD_PERSON - dw OldPersonSprite - db $c0 ; byte count - db BANK(OldPersonSprite) - - ; SPRITE_MART_GUY - dw MartGuySprite - db $c0 ; byte count - db BANK(MartGuySprite) - - ; SPRITE_FISHER - dw FisherSprite - db $c0 ; byte count - db BANK(FisherSprite) - - ; SPRITE_OLD_MEDIUM_WOMAN - dw OldMediumWomanSprite - db $c0 ; byte count - db BANK(OldMediumWomanSprite) - - ; SPRITE_NURSE - dw NurseSprite - db $c0 ; byte count - db BANK(NurseSprite) - - ; SPRITE_CABLE_CLUB_WOMAN - dw CableClubWomanSprite - db $c0 ; byte count - db BANK(CableClubWomanSprite) - - ; SPRITE_MR_MASTERBALL - dw MrMasterballSprite - db $c0 ; byte count - db BANK(MrMasterballSprite) - - ; SPRITE_LAPRAS_GIVER - dw LaprasGiverSprite - db $c0 ; byte count - db BANK(LaprasGiverSprite) - - ; SPRITE_WARDEN - dw WardenSprite - db $c0 ; byte count - db BANK(WardenSprite) - - ; SPRITE_SS_CAPTAIN - dw SsCaptainSprite - db $c0 ; byte count - db BANK(SsCaptainSprite) - - ; SPRITE_FISHER2 - dw Fisher2Sprite - db $c0 ; byte count - db BANK(Fisher2Sprite) - - ; SPRITE_BLACKBELT - dw BlackbeltSprite - db $c0 ; byte count - db BANK(BlackbeltSprite) - - ; SPRITE_GUARD - dw GuardSprite - db $c0 ; byte count - db BANK(GuardSprite) - - ; $32 - dw GuardSprite - db $c0 ; byte count - db BANK(GuardSprite) - - ; SPRITE_MOM - dw MomSprite - db $c0 ; byte count - db BANK(MomSprite) - - ; SPRITE_BALDING_GUY - dw BaldingGuySprite - db $c0 ; byte count - db BANK(BaldingGuySprite) - - ; SPRITE_YOUNG_BOY - dw YoungBoySprite - db $c0 ; byte count - db BANK(YoungBoySprite) - - ; SPRITE_GAMEBOY_KID - dw GameboyKidSprite - db $c0 ; byte count - db BANK(GameboyKidSprite) - - ; SPRITE_GAMEBOY_KID_COPY - dw GameboyKidSprite - db $c0 ; byte count - db BANK(GameboyKidSprite) - - ; SPRITE_CLEFAIRY - dw ClefairySprite - db $c0 ; byte count - db BANK(ClefairySprite) - - ; SPRITE_AGATHA - dw AgathaSprite - db $c0 ; byte count - db BANK(AgathaSprite) - - ; SPRITE_BRUNO - dw BrunoSprite - db $c0 ; byte count - db BANK(BrunoSprite) - - ; SPRITE_LORELEI - dw LoreleiSprite - db $c0 ; byte count - db BANK(LoreleiSprite) - - ; SPRITE_SEEL - dw SeelSprite - db $c0 ; byte count - db BANK(SeelSprite) - - ; SPRITE_BALL - dw BallSprite - db $40 ; byte count - db BANK(BallSprite) - - ; SPRITE_OMANYTE - dw OmanyteSprite - db $40 ; byte count - db BANK(OmanyteSprite) - - ; SPRITE_BOULDER - dw BoulderSprite - db $40 ; byte count - db BANK(BoulderSprite) - - ; SPRITE_PAPER_SHEET - dw PaperSheetSprite - db $40 ; byte count - db BANK(PaperSheetSprite) - - ; SPRITE_BOOK_MAP_DEX - dw BookMapDexSprite - db $40 ; byte count - db BANK(BookMapDexSprite) - - ; SPRITE_CLIPBOARD - dw ClipboardSprite - db $40 ; byte count - db BANK(ClipboardSprite) - - ; SPRITE_SNORLAX - dw SnorlaxSprite - db $40 ; byte count - db BANK(SnorlaxSprite) - - ; SPRITE_OLD_AMBER_COPY - dw OldAmberSprite - db $40 ; byte count - db BANK(OldAmberSprite) - - ; SPRITE_OLD_AMBER - dw OldAmberSprite - db $40 ; byte count - db BANK(OldAmberSprite) - - ; SPRITE_LYING_OLD_MAN_UNUSED_1 - dw LyingOldManSprite - db $40 ; byte count - db BANK(LyingOldManSprite) - - ; SPRITE_LYING_OLD_MAN_UNUSED_2 - dw LyingOldManSprite - db $40 ; byte count - db BANK(LyingOldManSprite) - - ; SPRITE_LYING_OLD_MAN - dw LyingOldManSprite - db $40 ; byte count - db BANK(LyingOldManSprite) diff --git a/data/super_palettes.asm b/data/super_palettes.asm deleted file mode 100755 index 97f1d8ec..00000000 --- a/data/super_palettes.asm +++ /dev/null @@ -1,174 +0,0 @@ -; palettes for overworlds, title screen, monsters -SuperPalettes: - RGB 31,29,31 ; PAL_ROUTE - RGB 21,28,11 - RGB 20,26,31 - RGB 3,2,2 - RGB 31,29,31 ; PAL_PALLET - RGB 25,28,27 - RGB 20,26,31 - RGB 3,2,2 - RGB 31,29,31 ; PAL_VIRIDIAN - RGB 17,26,3 - RGB 20,26,31 - RGB 3,2,2 - RGB 31,29,31 ; PAL_PEWTER - RGB 23,25,16 - RGB 20,26,31 - RGB 3,2,2 - RGB 31,29,31 ; PAL_CERULEAN - RGB 17,20,30 - RGB 20,26,31 - RGB 3,2,2 - RGB 31,29,31 ; PAL_LAVENDER - RGB 27,20,27 - RGB 20,26,31 - RGB 3,2,2 - RGB 31,29,31 ; PAL_VERMILION - RGB 30,18,0 - RGB 20,26,31 - RGB 3,2,2 - RGB 31,29,31 ; PAL_CELADON - RGB 16,30,22 - RGB 20,26,31 - RGB 3,2,2 - RGB 31,29,31 ; PAL_FUCHSIA - RGB 31,15,22 - RGB 20,26,31 - RGB 3,2,2 - RGB 31,29,31 ; PAL_CINNABAR - RGB 26,10,6 - RGB 20,26,31 - RGB 3,2,2 - RGB 31,29,31 ; PAL_INDIGO - RGB 22,14,24 - RGB 20,26,31 - RGB 3,2,2 - RGB 31,29,31 ; PAL_SAFFRON - RGB 27,27,3 - RGB 20,26,31 - RGB 3,2,2 - RGB 31,29,31 ; PAL_TOWNMAP - RGB 20,26,31 - RGB 17,23,10 - RGB 3,2,2 -IF DEF(_RED) - RGB 31,29,31 ; PAL_LOGO1 - RGB 30,30,17 - RGB 17,23,10 - RGB 21,0,4 -ENDC -IF DEF(_BLUE) - RGB 31,29,31 ; PAL_LOGO1 - RGB 30,30,17 - RGB 21,0,4 - RGB 14,19,29 -ENDC - RGB 31,29,31 ; PAL_LOGO2 - RGB 30,30,17 - RGB 18,18,24 - RGB 7,7,16 - RGB 31,29,31 ; PAL_0F - RGB 24,20,30 - RGB 11,20,30 - RGB 3,2,2 - RGB 31,29,31 ; PAL_MEWMON - RGB 30,22,17 - RGB 16,14,19 - RGB 3,2,2 - RGB 31,29,31 ; PAL_BLUEMON - RGB 18,20,27 - RGB 11,15,23 - RGB 3,2,2 - RGB 31,29,31 ; PAL_REDMON - RGB 31,20,10 - RGB 26,10,6 - RGB 3,2,2 - RGB 31,29,31 ; PAL_CYANMON - RGB 21,25,29 - RGB 14,19,25 - RGB 3,2,2 - RGB 31,29,31 ; PAL_PURPLEMON - RGB 27,22,24 - RGB 21,15,23 - RGB 3,2,2 - RGB 31,29,31 ; PAL_BROWNMON - RGB 28,20,15 - RGB 21,14,9 - RGB 3,2,2 - RGB 31,29,31 ; PAL_GREENMON - RGB 20,26,16 - RGB 9,20,11 - RGB 3,2,2 - RGB 31,29,31 ; PAL_PINKMON - RGB 30,22,24 - RGB 28,15,21 - RGB 3,2,2 - RGB 31,29,31 ; PAL_YELLOWMON - RGB 31,28,14 - RGB 26,20,0 - RGB 3,2,2 - RGB 31,29,31 ; PAL_GREYMON - RGB 26,21,22 - RGB 15,15,18 - RGB 3,2,2 - RGB 31,29,31 ; PAL_SLOTS1 - RGB 26,21,22 - RGB 27,20,6 - RGB 3,2,2 - RGB 31,29,31 ; PAL_SLOTS2 - RGB 31,31,17 -IF DEF(_RED) - RGB 25,17,21 -ENDC -IF DEF(_BLUE) - RGB 16,19,29 -ENDC - RGB 3,2,2 - RGB 31,29,31 ; PAL_SLOTS3 - RGB 22,31,16 -IF DEF(_RED) - RGB 25,17,21 -ENDC -IF DEF(_BLUE) - RGB 16,19,29 -ENDC - RGB 3,2,2 - RGB 31,29,31 ; PAL_SLOTS4 -IF DEF(_RED) - RGB 16,19,29 - RGB 25,17,21 -ENDC -IF DEF(_BLUE) - RGB 25,17,21 - RGB 16,19,29 -ENDC - RGB 3,2,2 - RGB 31,29,31 ; PAL_BLACK - RGB 7,7,7 - RGB 2,3,3 - RGB 3,2,2 - RGB 31,29,31 ; PAL_GREENBAR - RGB 30,26,15 - RGB 9,20,11 - RGB 3,2,2 - RGB 31,29,31 ; PAL_YELLOWBAR - RGB 30,26,15 - RGB 26,20,0 - RGB 3,2,2 - RGB 31,29,31 ; PAL_REDBAR - RGB 30,26,15 - RGB 26,10,6 - RGB 3,2,2 - RGB 31,29,31 ; PAL_BADGE - RGB 30,22,17 - RGB 11,15,23 - RGB 3,2,2 - RGB 31,29,31 ; PAL_CAVE - RGB 21,14,9 - RGB 18,24,22 - RGB 3,2,2 - RGB 31,29,31 ; PAL_GAMEFREAK - RGB 31,28,14 - RGB 24,20,10 - RGB 3,2,2 diff --git a/data/super_rod.asm b/data/super_rod.asm deleted file mode 100755 index d3d64632..00000000 --- a/data/super_rod.asm +++ /dev/null @@ -1,100 +0,0 @@ -; super rod data -; format: map, pointer to fishing group -SuperRodData: - dbw PALLET_TOWN, FishingGroup1 - dbw VIRIDIAN_CITY, FishingGroup1 - dbw CERULEAN_CITY, FishingGroup3 - dbw VERMILION_CITY, FishingGroup4 - dbw CELADON_CITY, FishingGroup5 - dbw FUCHSIA_CITY, FishingGroup10 - dbw CINNABAR_ISLAND, FishingGroup8 - dbw ROUTE_4, FishingGroup3 - dbw ROUTE_6, FishingGroup4 - dbw ROUTE_10, FishingGroup5 - dbw ROUTE_11, FishingGroup4 - dbw ROUTE_12, FishingGroup7 - dbw ROUTE_13, FishingGroup7 - dbw ROUTE_17, FishingGroup7 - dbw ROUTE_18, FishingGroup7 - dbw ROUTE_19, FishingGroup8 - dbw ROUTE_20, FishingGroup8 - dbw ROUTE_21, FishingGroup8 - dbw ROUTE_22, FishingGroup2 - dbw ROUTE_23, FishingGroup9 - dbw ROUTE_24, FishingGroup3 - dbw ROUTE_25, FishingGroup3 - dbw CERULEAN_GYM, FishingGroup3 - dbw VERMILION_DOCK, FishingGroup4 - dbw SEAFOAM_ISLANDS_B3F, FishingGroup8 - dbw SEAFOAM_ISLANDS_B4F, FishingGroup8 - dbw SAFARI_ZONE_EAST, FishingGroup6 - dbw SAFARI_ZONE_NORTH, FishingGroup6 - dbw SAFARI_ZONE_WEST, FishingGroup6 - dbw SAFARI_ZONE_CENTER, FishingGroup6 - dbw CERULEAN_CAVE_2F, FishingGroup9 - dbw CERULEAN_CAVE_B1F, FishingGroup9 - dbw CERULEAN_CAVE_1F, FishingGroup9 - db $FF - -; fishing groups -; number of monsters, followed by level/monster pairs -FishingGroup1: - db 2 - db 15,TENTACOOL - db 15,POLIWAG - -FishingGroup2: - db 2 - db 15,GOLDEEN - db 15,POLIWAG - -FishingGroup3: - db 3 - db 15,PSYDUCK - db 15,GOLDEEN - db 15,KRABBY - -FishingGroup4: - db 2 - db 15,KRABBY - db 15,SHELLDER - -FishingGroup5: - db 2 - db 23,POLIWHIRL - db 15,SLOWPOKE - -FishingGroup6: - db 4 - db 15,DRATINI - db 15,KRABBY - db 15,PSYDUCK - db 15,SLOWPOKE - -FishingGroup7: - db 4 - db 5,TENTACOOL - db 15,KRABBY - db 15,GOLDEEN - db 15,MAGIKARP - -FishingGroup8: - db 4 - db 15,STARYU - db 15,HORSEA - db 15,SHELLDER - db 15,GOLDEEN - -FishingGroup9: - db 4 - db 23,SLOWBRO - db 23,SEAKING - db 23,KINGLER - db 23,SEADRA - -FishingGroup10: - db 4 - db 23,SEAKING - db 15,KRABBY - db 15,GOLDEEN - db 15,MAGIKARP diff --git a/data/text/alphabets.asm b/data/text/alphabets.asm new file mode 100644 index 00000000..9799a7e6 --- /dev/null +++ b/data/text/alphabets.asm @@ -0,0 +1,5 @@ +LowerCaseAlphabet: + db "abcdefghijklmnopqrstuvwxyz ×():;[]",$e1,$e2,"-?!♂♀/⠄,¥UPPER CASE@" + +UpperCaseAlphabet: + db "ABCDEFGHIJKLMNOPQRSTUVWXYZ ×():;[]",$e1,$e2,"-?!♂♀/⠄,¥lower case@" diff --git a/data/text/dakutens.asm b/data/text/dakutens.asm new file mode 100644 index 00000000..f3bf4854 --- /dev/null +++ b/data/text/dakutens.asm @@ -0,0 +1,15 @@ +Dakutens: + db "かが", "きぎ", "くぐ", "けげ", "こご" + db "さざ", "しじ", "すず", "せぜ", "そぞ" + db "ただ", "ちぢ", "つづ", "てで", "とど" + db "はば", "ひび", "ふぶ", "へべ", "ほぼ" + db "カガ", "キギ", "クグ", "ケゲ", "コゴ" + db "サザ", "シジ", "スズ", "セゼ", "ソゾ" + db "タダ", "チヂ", "ツヅ", "テデ", "トド" + db "ハバ", "ヒビ", "フブ", "へべ", "ホボ" + db $ff + +Handakutens: + db "はぱ", "ひぴ", "ふぷ", "へぺ", "ほぽ" + db "ハパ", "ヒピ", "フプ", "へぺ", "ホポ" + db $ff diff --git a/data/text/text_1.asm b/data/text/text_1.asm new file mode 100644 index 00000000..1ab54da3 --- /dev/null +++ b/data/text/text_1.asm @@ -0,0 +1,145 @@ +_CardKeySuccessText1:: + text "Bingo!@@" + +_CardKeySuccessText2:: + text "" + line "The CARD KEY" + cont "opened the door!" + done + +_CardKeyFailText:: + text "Darn! It needs a" + line "CARD KEY!" + done + +_TrainerNameText:: + TX_RAM wcd6d + text ": @@" + +_NoNibbleText:: + text "Not even a nibble!" + prompt + +_NothingHereText:: + text "Looks like there's" + line "nothing here." + prompt + +_ItsABiteText:: + text "Oh!" + line "It's a bite!" + prompt + +_ExclamationText:: + text "!" + done + +_GroundRoseText:: + text "Ground rose up" + line "somewhere!" + done + +_BoulderText:: + text "This requires" + line "STRENGTH to move!" + done + +_MartSignText:: + text "All your item" + line "needs fulfilled!" + cont "#MON MART" + done + +_PokeCenterSignText:: + text "Heal Your #MON!" + line "#MON CENTER" + done + +_FoundItemText:: + text " found" + line "@" + TX_RAM wcf4b + text "!@@" + +_NoMoreRoomForItemText:: + text "No more room for" + line "items!" + done + +_OaksAideHiText:: + text "Hi! Remember me?" + line "I'm PROF.OAK's" + cont "AIDE!" + + para "If you caught @" + TX_NUM hOaksAideRequirement, 1, 3 + text "" + line "kinds of #MON," + cont "I'm supposed to" + cont "give you an" + cont "@" + TX_RAM wOaksAideRewardItemName + text "!" + + para "So, ! Have" + line "you caught at" + cont "least @" + TX_NUM hOaksAideRequirement, 1, 3 + text " kinds of" + cont "#MON?" + done + +_OaksAideUhOhText:: + text "Let's see..." + line "Uh-oh! You have" + cont "caught only @" + TX_NUM hOaksAideNumMonsOwned, 1, 3 + text "" + cont "kinds of #MON!" + + para "You need @" + TX_NUM hOaksAideRequirement, 1, 3 + text " kinds" + line "if you want the" + cont "@" + TX_RAM wOaksAideRewardItemName + text "." + done + +_OaksAideComeBackText:: + text "Oh. I see." + + para "When you get @" + TX_NUM hOaksAideRequirement, 1, 3 + text "" + line "kinds, come back" + cont "for @" + TX_RAM wOaksAideRewardItemName + text "." + done + +_OaksAideHereYouGoText:: + text "Great! You have" + line "caught @" + TX_NUM hOaksAideNumMonsOwned, 1, 3 + text " kinds " + cont "of #MON!" + cont "Congratulations!" + + para "Here you go!" + prompt + +_OaksAideGotItemText:: + text " got the" + line "@" + TX_RAM wOaksAideRewardItemName + text "!@@" + +_OaksAideNoRoomText:: + text "Oh! I see you" + line "don't have any" + cont "room for the" + cont "@" + TX_RAM wOaksAideRewardItemName + text "." + done diff --git a/data/text/text_2.asm b/data/text/text_2.asm new file mode 100644 index 00000000..01e8641b --- /dev/null +++ b/data/text/text_2.asm @@ -0,0 +1,1753 @@ +_AIBattleWithdrawText:: + TX_RAM wTrainerName + text " with-" + line "drew @" + TX_RAM wEnemyMonNick + text "!" + prompt + +_AIBattleUseItemText:: + TX_RAM wTrainerName + text "" + line "used @" + TX_RAM wcd6d + text "" + cont "on @" + TX_RAM wEnemyMonNick + text "!" + prompt + +_TradeWentToText:: + TX_RAM wcf4b + text " went" + line "to @" + TX_RAM wLinkEnemyTrainerName + text "." + done + +_TradeForText:: + text "For 's" + line "@" + TX_RAM wcf4b + text "," + done + +_TradeSendsText:: + TX_RAM wLinkEnemyTrainerName + text " sends" + line "@" + TX_RAM wcd6d + text "." + done + +_TradeWavesFarewellText:: + TX_RAM wLinkEnemyTrainerName + text " waves" + line "farewell as" + done + +_TradeTransferredText:: + TX_RAM wcd6d + text " is" + line "transferred." + done + +_TradeTakeCareText:: + text "Take good care of" + line "@" + TX_RAM wcd6d + text "." + done + +_TradeWillTradeText:: + TX_RAM wLinkEnemyTrainerName + text " will" + line "trade @" + TX_RAM wcd6d + text "" + done + +_TradeforText:: + text "for 's" + line "@" + TX_RAM wcf4b + text "." + done + +_PlaySlotMachineText:: + text "A slot machine!" + line "Want to play?" + done + +_OutOfCoinsSlotMachineText:: + text "Darn!" + line "Ran out of coins!" + done + +_BetHowManySlotMachineText:: + text "Bet how many" + line "coins?" + done + +_StartSlotMachineText:: + text "Start!" + done + +_NotEnoughCoinsSlotMachineText:: + text "Not enough" + line "coins!" + prompt + +_OneMoreGoSlotMachineText:: + text "One more " + line "go?" + done + +_LinedUpText:: + text " lined up!" + line "Scored @" + TX_RAM wcf4b + text " coins!" + done + +_NotThisTimeText:: + text "Not this time!" + prompt + +_YeahText:: + text "Yeah!@@" + +_DexSeenOwnedText:: + text "#DEX Seen:@" + TX_NUM wDexRatingNumMonsSeen, 1, 3 + text "" + line " Owned:@" + TX_NUM wDexRatingNumMonsOwned, 1, 3 + db "@" + +_DexRatingText:: + text "#DEX Rating", $6d + done + +_GymStatueText1:: + TX_RAM wGymCityName + text "" + line "#MON GYM" + cont "LEADER: @" + TX_RAM wGymLeaderName + text "" + + para "WINNING TRAINERS:" + line "" + done + +_GymStatueText2:: + TX_RAM wGymCityName + text "" + line "#MON GYM" + cont "LEADER: @" + TX_RAM wGymLeaderName + text "" + + para "WINNING TRAINERS:" + line "" + cont "" + done + +_ViridianCityPokecenterGuyText:: + text "#MON CENTERs" + line "heal your tired," + cont "hurt or fainted" + cont "#MON!" + done + +_PewterCityPokecenterGuyText:: + text "Yawn!" + + para "When JIGGLYPUFF" + line "sings, #MON" + cont "get drowsy..." + + para "...Me too..." + line "Snore..." + done + +_CeruleanPokecenterGuyText:: + text "BILL has lots of" + line "#MON!" + + para "He collects rare" + line "ones too!" + done + +_LavenderPokecenterGuyText:: + text "CUBONEs wear" + line "skulls, right?" + + para "People will pay a" + line "lot for one!" + done + +_MtMoonPokecenterBenchGuyText:: + text "If you have too" + line "many #MON, you" + cont "should store them" + cont "via PC!" + done + +_RockTunnelPokecenterGuyText:: + text "I heard that" + line "GHOSTs haunt" + cont "LAVENDER TOWN!" + done + +_UnusedBenchGuyText1:: + text "I wish I could" + line "catch #MON." + done + +_UnusedBenchGuyText2:: + text "I'm tired from" + line "all the fun..." + done + +_UnusedBenchGuyText3:: + text "SILPH's manager" + line "is hiding in the" + cont "SAFARI ZONE." + done + +_VermilionPokecenterGuyText:: + text "It is true that a" + line "higher level" + cont "#MON will be" + cont "more powerful..." + + para "But, all #MON" + line "will have weak" + cont "points against" + cont "specific types." + + para "So, there is no" + line "universally" + cont "strong #MON." + done + +_CeladonCityPokecenterGuyText:: + text "If I had a BIKE," + line "I would go to" + cont "CYCLING ROAD!" + done + +_FuchsiaCityPokecenterGuyText:: + text "If you're studying " + line "#MON, visit" + cont "the SAFARI ZONE." + + para "It has all sorts" + line "of rare #MON." + done + +_CinnabarPokecenterGuyText:: + text "#MON can still" + line "learn techniques" + cont "after canceling" + cont "evolution." + + para "Evolution can wait" + line "until new moves" + cont "have been learned." + done + +_SaffronCityPokecenterGuyText1:: + text "It would be great" + line "if the ELITE FOUR" + cont "came and stomped" + cont "TEAM ROCKET!" + done + +_SaffronCityPokecenterGuyText2:: + text "TEAM ROCKET took" + line "off! We can go" + cont "out safely again!" + cont "That's great!" + done + +_CeladonCityHotelText:: + text "My sis brought me" + line "on this vacation!" + done + +_BookcaseText:: + text "Crammed full of" + line "#MON books!" + done + +_NewBicycleText:: + text "A shiny new" + line "BICYCLE!" + done + +_PushStartText:: + text "Push START to" + line "open the MENU!" + done + +_SaveOptionText:: + text "The SAVE option is" + line "on the MENU" + cont "screen." + done + +_StrengthsAndWeaknessesText:: + text "All #MON types" + line "have strong and" + cont "weak points" + cont "against others." + done + +_TimesUpText:: + text "PA: Ding-dong!" + + para "Time's up!" + prompt + +_GameOverText:: + text "PA: Your SAFARI" + line "GAME is over!" + done + +_CinnabarGymQuizIntroText:: + text "#MON Quiz!" + + para "Get it right and" + line "the door opens to" + cont "the next room!" + + para "Get it wrong and" + line "face a trainer!" + + para "If you want to" + line "conserve your" + cont "#MON for the" + cont "GYM LEADER..." + + para "Then get it right!" + line "Here we go!" + prompt + +_CinnabarQuizQuestionsText1:: + text "CATERPIE evolves" + line "into BUTTERFREE?" + done + +_CinnabarQuizQuestionsText2:: + text "There are 9" + line "certified #MON" + cont "LEAGUE BADGEs?" + done + +_CinnabarQuizQuestionsText3:: + text "POLIWAG evolves 3" + line "times?" + done + +_CinnabarQuizQuestionsText4:: + text "Are thunder moves" + line "effective against" + cont "ground element-" + cont "type #MON?" + done + +_CinnabarQuizQuestionsText5:: + text "#MON of the" + line "same kind and" + cont "level are not" + cont "identical?" + done + +_CinnabarQuizQuestionsText6:: + text "TM28 contains" + line "TOMBSTONER?" + done + +_CinnabarGymQuizCorrectText:: + text "You're absolutely" + line "correct!" + + para "Go on through!@@" + +_CinnabarGymQuizIncorrectText:: + text "Sorry! Bad call!" + prompt + +_MagazinesText:: + text "#MON magazines!" + + para "#MON notebooks!" + + para "#MON graphs!" + done + +_BillsHouseMonitorText:: + text "TELEPORTER is" + line "displayed on the" + cont "PC monitor." + done + +_BillsHouseInitiatedText:: + text " initiated" + line "TELEPORTER's Cell" + cont "Separator!@@" + +_BillsHousePokemonListText1:: + text "BILL's favorite" + line "#MON list!" + prompt + +_BillsHousePokemonListText2:: + text "Which #MON do" + line "you want to see?" + done + +_OakLabEmailText:: + text "There's an e-mail" + line "message here!" + + para "..." + + para "Calling all" + line "#MON trainers!" + + para "The elite trainers" + line "of #MON LEAGUE" + cont "are ready to take" + cont "on all comers!" + + para "Bring your best" + line "#MON and see" + cont "how you rate as a" + cont "trainer!" + + para "#MON LEAGUE HQ" + line "INDIGO PLATEAU" + + para "PS: PROF.OAK," + line "please visit us!" + cont "..." + done + +_GameCornerCoinCaseText:: + text "A COIN CASE is" + line "required!" + done + +_GameCornerNoCoinsText:: + text "You don't have" + line "any coins!" + done + +_GameCornerOutOfOrderText:: + text "OUT OF ORDER" + line "This is broken." + done + +_GameCornerOutToLunchText:: + text "OUT TO LUNCH" + line "This is reserved." + done + +_GameCornerSomeonesKeysText:: + text "Someone's keys!" + line "They'll be back." + done + +_JustAMomentText:: + text "Just a moment." + done + +TMNotebookText:: + text "It's a pamphlet" + line "on TMs." + + para "..." + + para "There are 50 TMs" + line "in all." + + para "There are also 5" + line "HMs that can be" + cont "used repeatedly." + + para "SILPH CO.@@" + +_TurnPageText:: + text "Turn the page?" + done + +_ViridianSchoolNotebookText5:: + text "GIRL: Hey! Don't" + line "look at my notes!@@" + +_ViridianSchoolNotebookText1:: + text "Looked at the" + line "notebook!" + + para "First page..." + + para "# BALLs are" + line "used to catch" + cont "#MON." + + para "Up to 6 #MON" + line "can be carried." + + para "People who raise" + line "and make #MON" + cont "fight are called" + cont "#MON trainers." + prompt + +_ViridianSchoolNotebookText2:: + text "Second page..." + + para "A healthy #MON" + line "may be hard to" + cont "catch, so weaken" + cont "it first!" + + para "Poison, burns and" + line "other damage are" + cont "effective!" + prompt + +_ViridianSchoolNotebookText3:: + text "Third page..." + + para "#MON trainers" + line "seek others to" + cont "engage in #MON" + cont "fights." + + para "Battles are" + line "constantly fought" + cont "at #MON GYMs." + prompt + +_ViridianSchoolNotebookText4:: + text "Fourth page..." + + para "The goal for" + line "#MON trainers" + cont "is to beat the " + cont "top 8 #MON" + cont "GYM LEADERs." + + para "Do so to earn the" + line "right to face..." + + para "The ELITE FOUR of" + line "#MON LEAGUE!" + prompt + +_EnemiesOnEverySideText:: + text "Enemies on every" + line "side!" + done + +_WhatGoesAroundComesAroundText:: + text "What goes around" + line "comes around!" + done + +_FightingDojoText:: + text "FIGHTING DOJO" + done + +_IndigoPlateauHQText:: + text "INDIGO PLATEAU" + line "#MON LEAGUE HQ" + done + +_RedBedroomSNESText:: + text " is" + line "playing the SNES!" + cont "...Okay!" + cont "It's time to go!" + done + +_Route15UpstairsBinocularsText:: + text "Looked into the" + line "binoculars..." + + para "A large, shining" + line "bird is flying" + cont "toward the sea." + done + +_AerodactylFossilText:: + text "AERODACTYL Fossil" + line "A primitive and" + cont "rare #MON." + done + +_KabutopsFossilText:: + text "KABUTOPS Fossil" + line "A primitive and" + cont "rare #MON." + done + +_LinkCableHelpText1:: + text "TRAINER TIPS" + + para "Using a Game Link" + line "Cable" + prompt + +_LinkCableHelpText2:: + text "Which heading do" + line "you want to read?" + done + +_LinkCableInfoText1:: + text "When you have" + line "linked your GAME" + cont "BOY with another" + cont "GAME BOY, talk to" + cont "the attendant on" + cont "the right in any" + cont "#MON CENTER." + prompt + +_LinkCableInfoText2:: + text "COLOSSEUM lets" + line "you play against" + cont "a friend." + prompt + +_LinkCableInfoText3:: + text "TRADE CENTER is" + line "used for trading" + cont "#MON." + prompt + +_ViridianSchoolBlackboardText1:: + text "The blackboard" + line "describes #MON" + cont "STATUS changes" + cont "during battles." + prompt + +_ViridianSchoolBlackboardText2:: + text "Which heading do" + line "you want to read?" + done + +_ViridianBlackboardSleepText:: + text "A #MON can't" + line "attack if it's" + cont "asleep!" + + para "#MON will stay" + line "asleep even after" + cont "battles." + + para "Use AWAKENING to" + line "wake them up!" + prompt + +_ViridianBlackboardPoisonText:: + text "When poisoned, a" + line "#MON's health" + cont "steadily drops." + + para "Poison lingers" + line "after battles." + + para "Use an ANTIDOTE" + line "to cure poison!" + prompt + +_ViridianBlackboardPrlzText:: + text "Paralysis could" + line "make #MON" + cont "moves misfire!" + + para "Paralysis remains" + line "after battles." + + para "Use PARLYZ HEAL" + line "for treatment!" + prompt + +_ViridianBlackboardBurnText:: + text "A burn reduces" + line "power and speed." + cont "It also causes" + cont "ongoing damage." + + para "Burns remain" + line "after battles." + + para "Use BURN HEAL to" + line "cure a burn!" + prompt + +_ViridianBlackboardFrozenText:: + text "If frozen, a" + line "#MON becomes" + cont "totally immobile!" + + para "It stays frozen" + line "even after the" + cont "battle ends." + + para "Use ICE HEAL to" + line "thaw out #MON!" + prompt + +_VermilionGymTrashText:: + text "Nope, there's" + line "only trash here." + done + +_VermilionGymTrashSuccessText1:: + text "Hey! There's a" + line "switch under the" + cont "trash!" + cont "Turn it on!" + + para "The 1st electric" + line "lock opened!@@" + +_VermilionGymTrashSuccessText2:: + text "Hey! There's" + line "another switch" + cont "under the trash!" + cont "Turn it on!" + prompt + +_VermilionGymTrashSuccessText3:: + text "The 2nd electric" + line "lock opened!" + + para "The motorized door" + line "opened!@@" + +_VermilionGymTrashFailText:: + text "Nope! There's" + line "only trash here." + cont "Hey! The electric" + cont "locks were reset!@@" + +_FoundHiddenItemText:: + text " found" + line "@" + TX_RAM wcd6d + text "!@@" + +_HiddenItemBagFullText:: + text "But, has" + line "no more room for" + cont "other items!" + done + +_FoundHiddenCoinsText:: + text " found" + line "@" + TX_BCD hCoins, 2 | LEADING_ZEROES | LEFT_ALIGN + text " coins!@@" + +_FoundHiddenCoins2Text:: + text " found" + line "@" + TX_BCD hCoins, 2 | LEADING_ZEROES | LEFT_ALIGN + text " coins!@@" + +_DroppedHiddenCoinsText:: + text "" + para "Oops! Dropped" + line "some coins!" + done + +_IndigoPlateauStatuesText1:: + text "INDIGO PLATEAU" + prompt + +_IndigoPlateauStatuesText2:: + text "The ultimate goal" + line "of trainers!" + cont "#MON LEAGUE HQ" + done + +_IndigoPlateauStatuesText3:: + text "The highest" + line "#MON authority" + cont "#MON LEAGUE HQ" + done + +_PokemonBooksText:: + text "Crammed full of" + line "#MON books!" + done + +_DiglettSculptureText:: + text "It's a sculpture" + line "of DIGLETT." + done + +_ElevatorText:: + text "This is an" + line "elevator." + done + +_TownMapText:: + text "A TOWN MAP.@@" + +_PokemonStuffText:: + text "Wow! Tons of" + line "#MON stuff!" + done + +_OutOfSafariBallsText:: + text "PA: Ding-dong!" + + para "You are out of" + line "SAFARI BALLs!" + prompt + +_WildRanText:: + text "Wild @" + TX_RAM wEnemyMonNick + text "" + line "ran!" + prompt + +_EnemyRanText:: + text "Enemy @" + TX_RAM wEnemyMonNick + text "" + line "ran!" + prompt + +_HurtByPoisonText:: + text "'s" + line "hurt by poison!" + prompt + +_HurtByBurnText:: + text "'s" + line "hurt by the burn!" + prompt + +_HurtByLeechSeedText:: + text "LEECH SEED saps" + line "!" + prompt + +_EnemyMonFaintedText:: + text "Enemy @" + TX_RAM wEnemyMonNick + text "" + line "fainted!" + prompt + +_MoneyForWinningText:: + text " got ¥@" + TX_BCD wAmountMoneyWon, 3 | LEADING_ZEROES | LEFT_ALIGN + text "" + line "for winning!" + prompt + +_TrainerDefeatedText:: + text " defeated" + line "@" + TX_RAM wTrainerName + text "!" + prompt + +_PlayerMonFaintedText:: + TX_RAM wBattleMonNick + text "" + line "fainted!" + prompt + +_UseNextMonText:: + text "Use next #MON?" + done + +_Sony1WinText:: + text ": Yeah! Am" + line "I great or what?" + prompt + +_PlayerBlackedOutText2:: + text " is out of" + line "useable #MON!" + + para " blacked" + line "out!" + prompt + +_LinkBattleLostText:: + text " lost to" + line "@" + TX_RAM wTrainerName + text "!" + prompt + +_TrainerAboutToUseText:: + TX_RAM wTrainerName + text " is" + line "about to use" + cont"@" + TX_RAM wEnemyMonNick + text "!" + + para "Will " + line "change #MON?" + done + +_TrainerSentOutText:: + TX_RAM wTrainerName + text " sent" + line "out @" + TX_RAM wEnemyMonNick + text "!" + done + +_NoWillText:: + text "There's no will" + line "to fight!" + prompt + +_CantEscapeText:: + text "Can't escape!" + prompt + +_NoRunningText:: + text "No! There's no" + line "running from a" + cont "trainer battle!" + prompt + +_GotAwayText:: + text "Got away safely!" + prompt + +_ItemsCantBeUsedHereText:: + text "Items can't be" + line "used here." + prompt + +_AlreadyOutText:: + TX_RAM wBattleMonNick + text " is" + line "already out!" + prompt + +_MoveNoPPText:: + text "No PP left for" + line "this move!" + prompt + +_MoveDisabledText:: + text "The move is" + line "disabled!" + prompt + +_NoMovesLeftText:: + TX_RAM wBattleMonNick + text " has no" + line "moves left!" + done + +_MultiHitText:: + text "Hit the enemy" + line "@" + TX_NUM wPlayerNumHits,1,1 + text " times!" + prompt + +_ScaredText:: + TX_RAM wBattleMonNick + text " is too" + line "scared to move!" + prompt + +_GetOutText:: + text "GHOST: Get out..." + line "Get out..." + prompt + +_FastAsleepText:: + text "" + line "is fast asleep!" + prompt + +_WokeUpText:: + text "" + line "woke up!" + prompt + +_IsFrozenText:: + text "" + line "is frozen solid!" + prompt + +_FullyParalyzedText:: + text "'s" + line "fully paralyzed!" + prompt + +_FlinchedText:: + text "" + line "flinched!" + prompt + +_MustRechargeText:: + text "" + line "must recharge!" + prompt + +_DisabledNoMoreText:: + text "'s" + line "disabled no more!" + prompt + +_IsConfusedText:: + text "" + line "is confused!" + prompt + +_HurtItselfText:: + text "It hurt itself in" + line "its confusion!" + prompt + +_ConfusedNoMoreText:: + text "'s" + line "confused no more!" + prompt + +_SavingEnergyText:: + text "" + line "is saving energy!" + prompt + +_UnleashedEnergyText:: + text "" + line "unleashed energy!" + prompt + +_ThrashingAboutText:: + text "'s" + line "thrashing about!" + done + +_AttackContinuesText:: + text "'s" + line "attack continues!" + done + +_CantMoveText:: + text "" + line "can't move!" + prompt + +_MoveIsDisabledText:: + text "'s" + line "@" + TX_RAM wcd6d + text " is" + cont "disabled!" + prompt + +_MonName1Text:: + text "@@" + +_Used1Text:: + text "" + line "used @@" + +_Used2Text:: + text "" + line "used @@" + +_InsteadText:: + text "instead," + cont "@@" + +_CF4BText:: + TX_RAM wcf4b + text "@" + +_ExclamationPoint1Text:: + text "!" + done + +_ExclamationPoint2Text:: + text "!" + done + +_ExclamationPoint3Text:: + text "!" + done + +_ExclamationPoint4Text:: + text "!" + done + +_ExclamationPoint5Text:: + text "!" + done + +_AttackMissedText:: + text "'s" + line "attack missed!" + prompt + +_KeptGoingAndCrashedText:: + text "" + line "kept going and" + cont "crashed!" + prompt + +_UnaffectedText:: + text "'s" + line "unaffected!" + prompt + +_DoesntAffectMonText:: + text "It doesn't affect" + line "!" + prompt + +_CriticalHitText:: + text "Critical hit!" + prompt + +_OHKOText:: + text "One-hit KO!" + prompt + +_LoafingAroundText:: + TX_RAM wBattleMonNick + text " is" + line "loafing around." + prompt + +_BeganToNapText:: + TX_RAM wBattleMonNick + text " began" + line "to nap!" + prompt + +_WontObeyText:: + TX_RAM wBattleMonNick + text " won't" + line "obey!" + prompt + +_TurnedAwayText:: + TX_RAM wBattleMonNick + text " turned" + line "away!" + prompt + +_IgnoredOrdersText:: + TX_RAM wBattleMonNick + text "" + line "ignored orders!" + prompt + +_SubstituteTookDamageText:: + text "The SUBSTITUTE" + line "took damage for" + cont "!" + prompt + +_SubstituteBrokeText:: + text "'s" + line "SUBSTITUTE broke!" + prompt + +_BuildingRageText:: + text "'s" + line "RAGE is building!" + prompt + +_MirrorMoveFailedText:: + text "The MIRROR MOVE" + next "failed!" + prompt + +_HitXTimesText:: + text "Hit @" + TX_NUM wEnemyNumHits, 1, 1 + text " times!" + prompt + +_GainedText:: + TX_RAM wcd6d + text " gained" + line "@@" + +_WithExpAllText:: + text "with EXP.ALL," + cont "@@" + +_BoostedText:: + text "a boosted" + cont "@@" + +_ExpPointsText:: + TX_NUM wExpAmountGained, 2, 4 + text " EXP. Points!" + prompt + +_GrewLevelText:: + TX_RAM wcd6d + text " grew" + line "to level @" + TX_NUM wCurEnemyLVL, 1, 3 + text "!@@" + +_WildMonAppearedText:: + text "Wild @" + TX_RAM wEnemyMonNick + text "" + line "appeared!" + prompt + +_HookedMonAttackedText:: + text "The hooked" + line "@" + TX_RAM wEnemyMonNick + text "" + cont "attacked!" + prompt + +_EnemyAppearedText:: + TX_RAM wEnemyMonNick + text "" + line "appeared!" + prompt + +_TrainerWantsToFightText:: + TX_RAM wTrainerName + text " wants" + line "to fight!" + prompt + +_UnveiledGhostText:: + text "SILPH SCOPE" + line "unveiled the" + cont "GHOST's identity!" + prompt + +_GhostCantBeIDdText:: + text "Darn! The GHOST" + line "can't be ID'd!" + prompt + +_GoText:: + text "Go! @@" + +_DoItText:: + text "Do it! @@" + +_GetmText:: + text "Get'm! @@" + +_EnemysWeakText:: + text "The enemy's weak!" + line "Get'm! @@" + +_PlayerMon1Text:: + TX_RAM wBattleMonNick + text "!" + done + +_PlayerMon2Text:: + TX_RAM wBattleMonNick + text " @@" + +_EnoughText:: + text "enough!@@" + +_OKExclamationText:: + text "OK!@@" + +_GoodText:: + text "good!@@" + +_ComeBackText:: + text "" + line "Come back!" + done + +_SuperEffectiveText:: + text "It's super" + line "effective!" + prompt + +_NotVeryEffectiveText:: + text "It's not very" + line "effective..." + prompt + +_SafariZoneEatingText:: + text "Wild @" + TX_RAM wEnemyMonNick + text "" + line "is eating!" + prompt + +_SafariZoneAngryText:: + text "Wild @" + TX_RAM wEnemyMonNick + text "" + line "is angry!" + prompt + +; money related +_PickUpPayDayMoneyText:: + text " picked up" + line "¥@" + TX_BCD wTotalPayDayMoney, 3 | LEADING_ZEROES | LEFT_ALIGN + text "!" + prompt + +_ClearSaveDataText:: + text "Clear all saved" + line "data?" + done + +_WhichFloorText:: + text "Which floor do" + line "you want? " + done + +_PartyMenuNormalText:: + text "Choose a #MON." + done + +_PartyMenuItemUseText:: + text "Use item on which" + line "#MON?" + done + +_PartyMenuBattleText:: + text "Bring out which" + line "#MON?" + done + +_PartyMenuUseTMText:: + text "Use TM on which" + line "#MON?" + done + +_PartyMenuSwapMonText:: + text "Move #MON" + line "where?" + done + +_PotionText:: + TX_RAM wcd6d + text "" + line "recovered by @" + TX_NUM wHPBarHPDifference, 2, 3 + text "!" + done + +_AntidoteText:: + TX_RAM wcd6d + text " was" + line "cured of poison!" + done + +_ParlyzHealText:: + TX_RAM wcd6d + text "'s" + line "rid of paralysis!" + done + +_BurnHealText:: + TX_RAM wcd6d + text "'s" + line "burn was healed!" + done + +_IceHealText:: + TX_RAM wcd6d + text " was" + line "defrosted!" + done + +_AwakeningText:: + TX_RAM wcd6d + text "" + line "woke up!" + done + +_FullHealText:: + TX_RAM wcd6d + text "'s" + line "health returned!" + done + +_ReviveText:: + TX_RAM wcd6d + text "" + line "is revitalized!" + done + +_RareCandyText:: + TX_RAM wcd6d + text " grew" + line "to level @" + TX_NUM wCurEnemyLVL, 1, 3 + text "!@@" + +_TurnedOnPC1Text:: + text " turned on" + line "the PC." + prompt + +_AccessedBillsPCText:: + text "Accessed BILL's" + line "PC." + + para "Accessed #MON" + line "Storage System." + prompt + +_AccessedSomeonesPCText:: + text "Accessed someone's" + line "PC." + + para "Accessed #MON" + line "Storage System." + prompt + +_AccessedMyPCText:: + text "Accessed my PC." + + para "Accessed Item" + line "Storage System." + prompt + +_TurnedOnPC2Text:: + text " turned on" + line "the PC." + prompt + +_WhatDoYouWantText:: + text "What do you want" + line "to do?" + done + +_WhatToDepositText:: + text "What do you want" + line "to deposit?" + done + +_DepositHowManyText:: + text "How many?" + done + +_ItemWasStoredText:: + TX_RAM wcd6d + text " was" + line "stored via PC." + prompt + +_NothingToDepositText:: + text "You have nothing" + line "to deposit." + prompt + +_NoRoomToStoreText:: + text "No room left to" + line "store items." + prompt + +_WhatToWithdrawText:: + text "What do you want" + line "to withdraw?" + done + +_WithdrawHowManyText:: + text "How many?" + done + +_WithdrewItemText:: + text "Withdrew" + line "@" + TX_RAM wcd6d + text "." + prompt + +_NothingStoredText:: + text "There is nothing" + line "stored." + prompt + +_CantCarryMoreText:: + text "You can't carry" + line "any more items." + prompt + +_WhatToTossText:: + text "What do you want" + line "to toss away?" + done + +_TossHowManyText:: + text "How many?" + done + +_AccessedHoFPCText:: + text "Accessed #MON" + line "LEAGUE's site." + + para "Accessed the HALL" + line "OF FAME List." + prompt + +_SwitchOnText:: + text "Switch on!" + prompt + +_WhatText:: + text "What?" + done + +_DepositWhichMonText:: + text "Deposit which" + line "#MON?" + done + +_MonWasStoredText:: + TX_RAM wcf4b + text " was" + line "stored in Box @" + TX_RAM wBoxNumString + text "." + prompt + +_CantDepositLastMonText:: + text "You can't deposit" + line "the last #MON!" + prompt + +_BoxFullText:: + text "Oops! This Box is" + line "full of #MON." + prompt + +_MonIsTakenOutText:: + TX_RAM wcf4b + text " is" + line "taken out." + cont "Got @" + TX_RAM wcf4b + text "." + prompt + +_NoMonText:: + text "What? There are" + line "no #MON here!" + prompt + +_CantTakeMonText:: + text "You can't take" + line "any more #MON." + + para "Deposit #MON" + line "first." + prompt + +_ReleaseWhichMonText:: + text "Release which" + line "#MON?" + done + +_OnceReleasedText:: + text "Once released," + line "@" + TX_RAM wcf4b + text " is" + cont "gone forever. OK?" + done + +_MonWasReleasedText:: + TX_RAM wcf4b + text " was" + line "released outside." + cont "Bye @" + +_CF4BExclamationText:: + TX_RAM wcf4b + text "!" + prompt + +_RequireCoinCaseText:: + text "A COIN CASE is" + line "required!@@" + +_ExchangeCoinsForPrizesText:: + text "We exchange your" + line "coins for prizes." + prompt + +_WhichPrizeText:: + text "Which prize do" + line "you want?" + done + +_HereYouGoText:: + text "Here you go!@@" + +_SoYouWantPrizeText:: + text "So, you want" + line "@" + TX_RAM wcd6d + text "?" + done + +_SorryNeedMoreCoinsText:: + text "Sorry, you need" + line "more coins.@@" + +_OopsYouDontHaveEnoughRoomText:: + text "Oops! You don't" + line "have enough room.@@" + +_OhFineThenText:: + text "Oh, fine then.@@" + +_GetDexRatedText:: + text "Want to get your" + line "#DEX rated?" + done + +_ClosedOaksPCText:: + text "Closed link to" + line "PROF.OAK's PC.@@" + +_AccessedOaksPCText:: + text "Accessed PROF." + line "OAK's PC." + + para "Accessed #DEX" + line "Rating System." + prompt + +_WhereWouldYouLikeText:: + text "Where would you" + line "like to go?" + done + +_PleaseWaitText:: + text "OK, please wait" + line "just a moment." + done + +_LinkCanceledText:: + text "The link was" + line "canceled." + done + +_OakSpeechText1:: + text "Hello there!" + line "Welcome to the" + cont "world of #MON!" + + para "My name is OAK!" + line "People call me" + cont "the #MON PROF!" + prompt + +_OakSpeechText2A:: + text "This world is" + line "inhabited by" + cont "creatures called" + cont "#MON!@@" + +_OakSpeechText2B:: + text $51,"For some people," + line "#MON are" + cont "pets. Others use" + cont "them for fights." + + para "Myself..." + + para "I study #MON" + line "as a profession." + prompt + +_IntroducePlayerText:: + text "First, what is" + line "your name?" + prompt + +_IntroduceRivalText:: + text "This is my grand-" + line "son. He's been" + cont "your rival since" + cont "you were a baby." + + para "...Erm, what is" + line "his name again?" + prompt + +_OakSpeechText3:: + text "!" + + para "Your very own" + line "#MON legend is" + cont "about to unfold!" + + para "A world of dreams" + line "and adventures" + cont "with #MON" + cont "awaits! Let's go!" + done + +_DoYouWantToNicknameText:: + text "Do you want to" + line "give a nickname" + cont "to @" + TX_RAM wcd6d + text "?" + done + +_YourNameIsText:: + text "Right! So your" + line "name is !" + prompt + +_HisNameIsText:: + text "That's right! I" + line "remember now! His" + cont "name is !" + prompt + +_WillBeTradedText:: + TX_RAM wNameOfPlayerMonToBeTraded + text " and" + line "@" + TX_RAM wcd6d + text " will" + cont "be traded." + done + +_Char00Text:: + TX_NUM hSpriteIndexOrTextID,1,2 + text " ERROR." + done + +_Char55Text:: + text $4B,"@@" diff --git a/data/text/text_3.asm b/data/text/text_3.asm new file mode 100644 index 00000000..3b2ff787 --- /dev/null +++ b/data/text/text_3.asm @@ -0,0 +1,324 @@ +_FileDataDestroyedText:: + text "The file data is" + line "destroyed!" + prompt + +_WouldYouLikeToSaveText:: + text "Would you like to" + line "SAVE the game?" + done + +_GameSavedText:: + text " saved" + line "the game!" + done + +_OlderFileWillBeErasedText:: + text "The older file" + line "will be erased to" + cont "save. Okay?" + done + +_WhenYouChangeBoxText:: + text "When you change a" + line "#MON BOX, data" + cont "will be saved." + + para "Is that okay?" + done + +_ChooseABoxText:: + text "Choose a" + line " BOX.@@" + +_EvolvedText:: + TX_RAM wcf4b + text " evolved" + done + +_IntoText:: + text "" + line "into @" + TX_RAM wcd6d + text "!" + done + +_StoppedEvolvingText:: + text "Huh? @" + TX_RAM wcf4b + text "" + line "stopped evolving!" + prompt + +_IsEvolvingText:: + text "What? @" + TX_RAM wcf4b + text "" + line "is evolving!" + done + +_FellAsleepText:: + text "" + line "fell asleep!" + prompt + +_AlreadyAsleepText:: + text "'s" + line "already asleep!" + prompt + +_PoisonedText:: + text "" + line "was poisoned!" + prompt + +_BadlyPoisonedText:: + text "'s" + line "badly poisoned!" + prompt + +_BurnedText:: + text "" + line "was burned!" + prompt + +_FrozenText:: + text "" + line "was frozen solid!" + prompt + +_FireDefrostedText:: + text "Fire defrosted" + line "!" + prompt + +_MonsStatsRoseText:: + text "'s" + line "@" + TX_RAM wcf4b + text "@@" + +_GreatlyRoseText:: + text $4c, "greatly@@" + +_RoseText:: + text " rose!" + prompt + +_MonsStatsFellText:: + text "'s" + line "@" + TX_RAM wcf4b + text "@@" + +_GreatlyFellText:: + text $4c, "greatly@@" + +_FellText:: + text " fell!" + prompt + +_RanFromBattleText:: + text "" + line "ran from battle!" + prompt + +_RanAwayScaredText:: + text "" + line "ran away scared!" + prompt + +_WasBlownAwayText:: + text "" + line "was blown away!" + prompt + +_ChargeMoveEffectText:: + text "@@" + +_MadeWhirlwindText:: + text "" + line "made a whirlwind!" + prompt + +_TookInSunlightText:: + text "" + line "took in sunlight!" + prompt + +_LoweredItsHeadText:: + text "" + line "lowered its head!" + prompt + +_SkyAttackGlowingText:: + text "" + line "is glowing!" + prompt + +_FlewUpHighText:: + text "" + line "flew up high!" + prompt + +_DugAHoleText:: + text "" + line "dug a hole!" + prompt + +_BecameConfusedText:: + text "" + line "became confused!" + prompt + +_MimicLearnedMoveText:: + text "" + line "learned" + cont "@" + TX_RAM wcd6d + text "!" + prompt + +_MoveWasDisabledText:: + text "'s" + line "@" + TX_RAM wcd6d + text " was" + cont "disabled!" + prompt + +_NothingHappenedText:: + text "Nothing happened!" + prompt + +_NoEffectText:: + text "No effect!" + prompt + +_ButItFailedText:: + text "But, it failed! " + prompt + +_DidntAffectText:: + text "It didn't affect" + line "!" + prompt + +_IsUnaffectedText:: + text "" + line "is unaffected!" + prompt + +_ParalyzedMayNotAttackText:: + text "'s" + line "paralyzed! It may" + cont "not attack!" + prompt + +_SubstituteText:: + text "It created a" + line "SUBSTITUTE!" + prompt + +_HasSubstituteText:: + text "" + line "has a SUBSTITUTE!" + prompt + +_TooWeakSubstituteText:: + text "Too weak to make" + line "a SUBSTITUTE!" + prompt + +_CoinsScatteredText:: + text "Coins scattered" + line "everywhere!" + prompt + +_GettingPumpedText:: + text "'s" + line "getting pumped!" + prompt + +_WasSeededText:: + text "" + line "was seeded!" + prompt + +_EvadedAttackText:: + text "" + line "evaded attack!" + prompt + +_HitWithRecoilText:: + text "'s" + line "hit with recoil!" + prompt + +_ConvertedTypeText:: + text "Converted type to" + line "'s!" + prompt + +_StatusChangesEliminatedText:: + text "All STATUS changes" + line "are eliminated!" + prompt + +_StartedSleepingEffect:: + text "" + line "started sleeping!" + done + +_FellAsleepBecameHealthyText:: + text "" + line "fell asleep and" + cont "became healthy!" + done + +_RegainedHealthText:: + text "" + line "regained health!" + prompt + +_TransformedText:: + text "" + line "transformed into" + cont "@" + TX_RAM wcd6d + text "!" + prompt + +_LightScreenProtectedText:: + text "'s" + line "protected against" + cont "special attacks!" + prompt + +_ReflectGainedArmorText:: + text "" + line "gained armor!" + prompt + +_ShroudedInMistText:: + text "'s" + line "shrouded in mist!" + prompt + +_SuckedHealthText:: + text "Sucked health from" + line "!" + prompt + +_DreamWasEatenText:: + text "'s" + line "dream was eaten!" + prompt + +_TradeCenterText1:: + text "!" + done + +_ColosseumText1:: + text "!" + done diff --git a/data/text/text_4.asm b/data/text/text_4.asm new file mode 100644 index 00000000..6ec22680 --- /dev/null +++ b/data/text/text_4.asm @@ -0,0 +1,217 @@ +_PokemartGreetingText:: + text "Hi there!" + next "May I help you?" + done + +_PokemonFaintedText:: + TX_RAM wcd6d + text "" + line "fainted!" + done + +_PlayerBlackedOutText:: + text " is out of" + line "useable #MON!" + + para " blacked" + line "out!" + prompt + +_RepelWoreOffText:: + text "REPEL's effect" + line "wore off." + done + +_PokemartBuyingGreetingText:: + text "Take your time." + done + +_PokemartTellBuyPriceText:: + TX_RAM wcf4b + text "?" + line "That will be" + cont "¥@" + TX_BCD hMoney, 3 | LEADING_ZEROES | LEFT_ALIGN + text ". OK?" + done + +_PokemartBoughtItemText:: + text "Here you are!" + line "Thank you!" + prompt + +_PokemartNotEnoughMoneyText:: + text "You don't have" + line "enough money." + prompt + +_PokemartItemBagFullText:: + text "You can't carry" + line "any more items." + prompt + +_PokemonSellingGreetingText:: + text "What would you" + line "like to sell?" + done + +_PokemartTellSellPriceText:: + text "I can pay you" + line "¥@" + TX_BCD hMoney, 3 | LEADING_ZEROES | LEFT_ALIGN + text " for that." + done + +_PokemartItemBagEmptyText:: + text "You don't have" + line "anything to sell." + prompt + +_PokemartUnsellableItemText:: + text "I can't put a" + line "price on that." + prompt + +_PokemartThankYouText:: + text "Thank you!" + done + +_PokemartAnythingElseText:: + text "Is there anything" + line "else I can do?" + done + +_LearnedMove1Text:: + TX_RAM wLearnMoveMonName + text " learned" + line "@" + TX_RAM wcf4b + text "!@@" + +_WhichMoveToForgetText:: + text "Which move should" + next "be forgotten?" + done + +_AbandonLearningText:: + text "Abandon learning" + line "@" + TX_RAM wcf4b + text "?" + done + +_DidNotLearnText:: + TX_RAM wLearnMoveMonName + text "" + line "did not learn" + cont "@" + TX_RAM wcf4b + text "!" + prompt + +_TryingToLearnText:: + TX_RAM wLearnMoveMonName + text " is" + line "trying to learn" + cont "@" + TX_RAM wcf4b + text "!" + + para "But, @" + TX_RAM wLearnMoveMonName + text "" + line "can't learn more" + cont "than 4 moves!" + + para "Delete an older" + line "move to make room" + cont "for @" + TX_RAM wcf4b + text "?" + done + +_OneTwoAndText:: + text "1, 2 and...@@" + +_PoofText:: + text " Poof!@@" + +_ForgotAndText:: + text "" + para "@" + TX_RAM wLearnMoveMonName + text " forgot" + line "@" + TX_RAM wcd6d + text "!" + + para "And..." + prompt + +_HMCantDeleteText:: + text "HM techniques" + line "can't be deleted!" + prompt + +_PokemonCenterWelcomeText:: + text "Welcome to our" + line "#MON CENTER!" + + para "We heal your" + line "#MON back to" + cont "perfect health!" + prompt + +_ShallWeHealYourPokemonText:: + text "Shall we heal your" + line "#MON?" + done + +_NeedYourPokemonText:: + text "OK. We'll need" + line "your #MON." + done + +_PokemonFightingFitText:: + text "Thank you!" + line "Your #MON are" + cont "fighting fit!" + prompt + +_PokemonCenterFarewellText:: + text "We hope to see" + line "you again!" + done + +_CableClubNPCAreaReservedFor2FriendsLinkedByCableText:: + text "This area is" + line "reserved for 2" + cont "friends who are" + cont "linked by cable." + done + +_CableClubNPCWelcomeText:: + text "Welcome to the" + line "Cable Club!" + done + +_CableClubNPCPleaseApplyHereHaveToSaveText:: + text "Please apply here." + + para "Before opening" + line "the link, we have" + cont "to save the game." + done + +_CableClubNPCPleaseWaitText:: + text "Please wait.@@" + +_CableClubNPCLinkClosedBecauseOfInactivityText:: + text "The link has been" + line "closed because of" + cont "inactivity." + + para "Please contact" + line "your friend and" + cont "come again!" + done diff --git a/data/text/text_5.asm b/data/text/text_5.asm new file mode 100644 index 00000000..26a11a40 --- /dev/null +++ b/data/text/text_5.asm @@ -0,0 +1,102 @@ +_CableClubNPCPleaseComeAgainText:: + text "Please come again!" + done + +_CableClubNPCMakingPreparationsText:: + text "We're making" + line "preparations." + cont "Please wait." + done + +_UsedStrengthText:: + TX_RAM wcd6d + text " used" + line "STRENGTH.@@" + +_CanMoveBouldersText:: + TX_RAM wcd6d + text " can" + line "move boulders." + prompt + +_CurrentTooFastText:: + text "The current is" + line "much too fast!" + prompt + +_CyclingIsFunText:: + text "Cycling is fun!" + line "Forget SURFing!" + prompt + +_FlashLightsAreaText:: + text "A blinding FLASH" + line "lights the area!" + prompt + +_WarpToLastPokemonCenterText:: + text "Warp to the last" + line "#MON CENTER." + done + +_CannotUseTeleportNowText:: + TX_RAM wcd6d + text " can't" + line "use TELEPORT now." + prompt + +_CannotFlyHereText:: + TX_RAM wcd6d + text " can't" + line "FLY here." + prompt + +_NotHealthyEnoughText:: + text "Not healthy" + line "enough." + prompt + +_NewBadgeRequiredText:: + text "No! A new BADGE" + line "is required." + prompt + +_CannotUseItemsHereText:: + text "You can't use items" + line "here." + prompt + +_CannotGetOffHereText:: + text "You can't get off" + line "here." + prompt + +_GotMonText:: + text " got" + line "@" + TX_RAM wcd6d + text "!@@" + +_SentToBoxText:: + text "There's no more" + line "room for #MON!" + cont "@" + TX_RAM wBoxMonNicks + text " was" + cont "sent to #MON" + cont "BOX @" + TX_RAM wcf4b + text " on PC!" + done + +_BoxIsFullText:: + text "There's no more" + line "room for #MON!" + + para "The #MON BOX" + line "is full and can't" + cont "accept any more!" + + para "Change the BOX at" + line "a #MON CENTER!" + done diff --git a/data/text/text_6.asm b/data/text/text_6.asm new file mode 100644 index 00000000..45c553cd --- /dev/null +++ b/data/text/text_6.asm @@ -0,0 +1,228 @@ +_ItemUseBallText00:: + text "It dodged the" + line "thrown BALL!" + + para "This #MON" + line "can't be caught!" + prompt + +_ItemUseBallText01:: + text "You missed the" + line "#MON!" + prompt + +_ItemUseBallText02:: + text "Darn! The #MON" + line "broke free!" + prompt + +_ItemUseBallText03:: + text "Aww! It appeared" + line "to be caught! " + prompt + +_ItemUseBallText04:: + text "Shoot! It was so" + line "close too!" + prompt + +_ItemUseBallText05:: + text "All right!" + line "@" + TX_RAM wEnemyMonNick + text " was" + cont "caught!@@" + +_ItemUseBallText07:: + TX_RAM wBoxMonNicks + text " was" + line "transferred to" + cont "BILL's PC!" + prompt + +_ItemUseBallText08:: + TX_RAM wBoxMonNicks + text " was" + line "transferred to" + cont "someone's PC!" + prompt + +_ItemUseBallText06:: + text "New #DEX data" + line "will be added for" + cont "@" + TX_RAM wEnemyMonNick + text "!@@" + +_SurfingGotOnText:: + text " got on" + line "@" + TX_RAM wcd6d + text "!" + prompt + +_SurfingNoPlaceToGetOffText:: + text "There's no place" + line "to get off!" + prompt + +_VitaminStatRoseText:: + TX_RAM wcd6d + text "'s" + line "@" + TX_RAM wcf4b + text " rose." + prompt + +_VitaminNoEffectText:: + text "It won't have any" + line "effect." + prompt + +_ThrewBaitText:: + text " threw" + line "some BAIT." + done + +_ThrewRockText:: + text " threw a" + line "ROCK." + done + +_PlayedFluteNoEffectText:: + text "Played the #" + line "FLUTE." + + para "Now, that's a" + line "catchy tune!" + prompt + +_FluteWokeUpText:: + text "All sleeping" + line "#MON woke up." + prompt + +_PlayedFluteHadEffectText:: + text " played the" + line "# FLUTE.@@" + +_CoinCaseNumCoinsText:: + text "Coins" + line "@" + TX_BCD wPlayerCoins, 2 | LEADING_ZEROES | LEFT_ALIGN + text " " + prompt + +_ItemfinderFoundItemText:: + text "Yes! ITEMFINDER" + line "indicates there's" + cont "an item nearby." + prompt + +_ItemfinderFoundNothingText:: + text "Nope! ITEMFINDER" + line "isn't responding." + prompt + +_RaisePPWhichTechniqueText:: + text "Raise PP of which" + line "technique?" + done + +_RestorePPWhichTechniqueText:: + text "Restore PP of" + line "which technique?" + done + +_PPMaxedOutText:: + TX_RAM wcf4b + text "'s PP" + line "is maxed out." + prompt + +_PPIncreasedText:: + TX_RAM wcf4b + text "'s PP" + line "increased." + prompt + +_PPRestoredText:: + text "PP was restored." + prompt + +_BootedUpTMText:: + text "Booted up a TM!" + prompt + +_BootedUpHMText:: + text "Booted up an HM!" + prompt + +_TeachMachineMoveText:: + text "It contained" + line "@" + TX_RAM wcf4b + text "!" + + para "Teach @" + TX_RAM wcf4b + text "" + line "to a #MON?" + done + +_MonCannotLearnMachineMoveText:: + TX_RAM wcd6d + text " is not" + line "compatible with" + cont "@" + TX_RAM wcf4b + text "." + + para "It can't learn" + line "@" + TX_RAM wcf4b + text "." + prompt + +_ItemUseNotTimeText:: + text "OAK: !" + line "This isn't the" + cont "time to use that! " + prompt + +_ItemUseNotYoursToUseText:: + text "This isn't yours" + line "to use!" + prompt + +_ItemUseNoEffectText:: + text "It won't have any" + line "effect." + prompt + +_ThrowBallAtTrainerMonText1:: + text "The trainer" + line "blocked the BALL!" + prompt + +_ThrowBallAtTrainerMonText2:: + text "Don't be a thief!" + prompt + +_NoCyclingAllowedHereText:: + text "No cycling" + next "allowed here." + prompt + +_NoSurfingHereText:: + text "No SURFing on" + line "@" + TX_RAM wcd6d + text " here!" + prompt + +_BoxFullCannotThrowBallText:: + text "The #MON BOX" + line "is full! Can't" + cont "use that item!" + prompt diff --git a/data/text/text_7.asm b/data/text/text_7.asm new file mode 100644 index 00000000..e836fc8e --- /dev/null +++ b/data/text/text_7.asm @@ -0,0 +1,196 @@ +_ItemUseText001:: + text " used@@" + +_ItemUseText002:: + TX_RAM wcf4b + text "!" + done + +_GotOnBicycleText1:: + text " got on the@@" + +_GotOnBicycleText2:: + TX_RAM wcf4b + text "!" + prompt + +_GotOffBicycleText1:: + text " got off@@" + +_GotOffBicycleText2:: + text "the @" + TX_RAM wcf4b + text "." + prompt + +_ThrewAwayItemText:: + text "Threw away" + line "@" + TX_RAM wcd6d + text "." + prompt + +_IsItOKToTossItemText:: + text "Is it OK to toss" + line "@" + TX_RAM wcf4b + text "?" + prompt + +_TooImportantToTossText:: + text "That's too impor-" + line "tant to toss!" + prompt + +_AlreadyKnowsText:: + TX_RAM wcd6d + text " knows" + line "@" + TX_RAM wcf4b + text "!" + prompt + +_ConnectCableText:: + text "Okay, connect the" + line "cable like so!" + prompt + +_TradedForText:: + text " traded" + line "@" + TX_RAM wInGameTradeGiveMonName + text " for" + cont "@" + TX_RAM wInGameTradeReceiveMonName + text "!@@" + +_WannaTrade1Text:: + text "I'm looking for" + line "@" + TX_RAM wInGameTradeGiveMonName + text "! Wanna" + + para "trade one for" + line "@" + TX_RAM wInGameTradeReceiveMonName + text "? " + done + +_NoTrade1Text:: + text "Awww!" + line "Oh well..." + done + +_WrongMon1Text:: + text "What? That's not" + line "@" + TX_RAM wInGameTradeGiveMonName + text "!" + + para "If you get one," + line "come back here!" + done + +_Thanks1Text:: + text "Hey thanks!" + done + +_AfterTrade1Text:: + text "Isn't my old" + line "@" + TX_RAM wInGameTradeReceiveMonName + text " great?" + done + +_WannaTrade2Text:: + text "Hello there! Do" + line "you want to trade" + + para "your @" + TX_RAM wInGameTradeGiveMonName + text "" + line "for @" + TX_RAM wInGameTradeReceiveMonName + text "?" + done + +_NoTrade2Text:: + text "Well, if you" + line "don't want to..." + done + +_WrongMon2Text:: + text "Hmmm? This isn't" + line "@" + TX_RAM wInGameTradeGiveMonName + text "." + + para "Think of me when" + line "you get one." + done + +_Thanks2Text:: + text "Thanks!" + done + +_AfterTrade2Text:: + text "The @" + TX_RAM wInGameTradeGiveMonName + text " you" + line "traded to me" + + para "went and evolved!" + done + +_WannaTrade3Text:: + text "Hi! Do you have" + line "@" + TX_RAM wInGameTradeGiveMonName + text "?" + + para "Want to trade it" + line "for @" + TX_RAM wInGameTradeReceiveMonName + text "?" + done + +_NoTrade3Text:: + text "That's too bad." + done + +_WrongMon3Text:: + text "...This is no" + line "@" + TX_RAM wInGameTradeGiveMonName + text "." + + para "If you get one," + line "trade it with me!" + done + +_Thanks3Text:: + text "Thanks pal!" + done + +_AfterTrade3Text:: + text "How is my old" + line "@" + TX_RAM wInGameTradeReceiveMonName + text "?" + + para "My @" + TX_RAM wInGameTradeGiveMonName + text " is" + line "doing great!" + done + +_NothingToCutText:: + text "There isn't" + line "anything to CUT!" + prompt + +_UsedCutText:: + TX_RAM wcd6d + text " hacked" + line "away with CUT!" + prompt diff --git a/data/text/unused_names.asm b/data/text/unused_names.asm new file mode 100644 index 00000000..e629c44e --- /dev/null +++ b/data/text/unused_names.asm @@ -0,0 +1,20 @@ +UnusedNames:: + db "かみなりバッヂ@" ; THUNDER BADGE + db "かいがらバッヂ@" ; SHELL BADGE + db "おじぞうバッヂ@" ; JIZOU BADGE + db "はやぶさバッヂ@" ; FALCON BADGE + db "ひんやりバッヂ@" ; CHILL BADGE + db "なかよしバッヂ@" ; FRIENDSHIP BADGE + db "バラバッヂ@" ; ROSE BADGE + db "ひのたまバッヂ@" ; FIREBALL BADGE + db "ゴールドバッヂ@" ; GOLD BADGE + db "たまご@" ; EGG + db "ひよこ@" ; CHICK + db "ブロンズ@" ; BRONZE + db "シルバー@" ; SILVER + db "ゴールド@" ; GOLD + db "プチキャプテン@" ; PETIT CAPTAIN + db "キャプテン@" ; CAPTAIN + db "プチマスター@" ; PETIT MASTER + db "マスター@" ; MASTER + db "エクセレント" ; EXCELLENT diff --git a/data/tileset_headers.asm b/data/tileset_headers.asm deleted file mode 100755 index d8e0d9b4..00000000 --- a/data/tileset_headers.asm +++ /dev/null @@ -1,25 +0,0 @@ -Tilesets: - tileset Overworld_Block, Overworld_GFX, Overworld_Coll, $FF,$FF,$FF, $52, OUTDOOR - tileset RedsHouse1_Block, RedsHouse1_GFX, RedsHouse1_Coll, $FF,$FF,$FF, $FF, INDOOR - tileset Mart_Block, Mart_GFX, Mart_Coll, $18,$19,$1E, $FF, INDOOR - tileset Forest_Block, Forest_GFX, Forest_Coll, $FF,$FF,$FF, $20, CAVE - tileset RedsHouse2_Block, RedsHouse2_GFX, RedsHouse2_Coll, $FF,$FF,$FF, $FF, INDOOR - tileset Dojo_Block, Dojo_GFX, Dojo_Coll, $3A,$FF,$FF, $FF, OUTDOOR - tileset Pokecenter_Block, Pokecenter_GFX, Pokecenter_Coll, $18,$19,$1E, $FF, INDOOR - tileset Gym_Block, Gym_GFX, Gym_Coll, $3A,$FF,$FF, $FF, OUTDOOR - tileset House_Block, House_GFX, House_Coll, $FF,$FF,$FF, $FF, INDOOR - tileset ForestGate_Block, ForestGate_GFX, ForestGate_Coll, $17,$32,$FF, $FF, INDOOR - tileset Museum_Block, Museum_GFX, Museum_Coll, $17,$32,$FF, $FF, INDOOR - tileset Underground_Block, Underground_GFX, Underground_Coll, $FF,$FF,$FF, $FF, INDOOR - tileset Gate_Block, Gate_GFX, Gate_Coll, $17,$32,$FF, $FF, INDOOR - tileset Ship_Block, Ship_GFX, Ship_Coll, $FF,$FF,$FF, $FF, CAVE - tileset ShipPort_Block, ShipPort_GFX, ShipPort_Coll, $FF,$FF,$FF, $FF, CAVE - tileset Cemetery_Block, Cemetery_GFX, Cemetery_Coll, $12,$FF,$FF, $FF, INDOOR - tileset Interior_Block, Interior_GFX, Interior_Coll, $FF,$FF,$FF, $FF, INDOOR - tileset Cavern_Block, Cavern_GFX, Cavern_Coll, $FF,$FF,$FF, $FF, CAVE - tileset Lobby_Block, Lobby_GFX, Lobby_Coll, $15,$36,$FF, $FF, INDOOR - tileset Mansion_Block, Mansion_GFX, Mansion_Coll, $FF,$FF,$FF, $FF, INDOOR - tileset Lab_Block, Lab_GFX, Lab_Coll, $FF,$FF,$FF, $FF, INDOOR - tileset Club_Block, Club_GFX, Club_Coll, $07,$17,$FF, $FF, INDOOR - tileset Facility_Block, Facility_GFX, Facility_Coll, $12,$FF,$FF, $FF, CAVE - tileset Plateau_Block, Plateau_GFX, Plateau_Coll, $FF,$FF,$FF, $45, CAVE diff --git a/data/tilesets/bike_riding_tilesets.asm b/data/tilesets/bike_riding_tilesets.asm new file mode 100755 index 00000000..48c2cee6 --- /dev/null +++ b/data/tilesets/bike_riding_tilesets.asm @@ -0,0 +1,2 @@ +BikeRidingTilesets:: + db OVERWORLD, FOREST, UNDERGROUND, SHIP_PORT, CAVERN, $FF diff --git a/data/tilesets/bookshelf_tile_ids.asm b/data/tilesets/bookshelf_tile_ids.asm new file mode 100644 index 00000000..535bf8e9 --- /dev/null +++ b/data/tilesets/bookshelf_tile_ids.asm @@ -0,0 +1,37 @@ +; format: db tileset id, bookshelf tile id, text id +BookshelfTileIDs: + db PLATEAU, $30 + db_tx_pre IndigoPlateauStatues + db HOUSE, $3D + db_tx_pre TownMapText + db HOUSE, $1E + db_tx_pre BookOrSculptureText + db MANSION, $32 + db_tx_pre BookOrSculptureText + db REDS_HOUSE_1, $32 + db_tx_pre BookOrSculptureText + db LAB, $28 + db_tx_pre BookOrSculptureText + db LOBBY, $16 + db_tx_pre ElevatorText + db GYM, $1D + db_tx_pre BookOrSculptureText + db DOJO, $1D + db_tx_pre BookOrSculptureText + db GATE, $22 + db_tx_pre BookOrSculptureText + db MART, $54 + db_tx_pre PokemonStuffText + db MART, $55 + db_tx_pre PokemonStuffText + db POKECENTER, $54 + db_tx_pre PokemonStuffText + db POKECENTER, $55 + db_tx_pre PokemonStuffText + db LOBBY, $50 + db_tx_pre PokemonStuffText + db LOBBY, $52 + db_tx_pre PokemonStuffText + db SHIP, $36 + db_tx_pre BookOrSculptureText + db $FF diff --git a/data/tilesets/collision_tile_ids.asm b/data/tilesets/collision_tile_ids.asm new file mode 100644 index 00000000..c18a7e72 --- /dev/null +++ b/data/tilesets/collision_tile_ids.asm @@ -0,0 +1,82 @@ +Underground_Coll:: + db $0b, $0c, $13, $15, $18 + db -1 ; end + +Overworld_Coll:: + db $00, $10, $1b, $20, $21, $23, $2c, $2d, $2e, $30, $31, $33, $39, $3c, $3e, $52, $54, $58, $5b + db -1 ; end + +RedsHouse1_Coll:: +RedsHouse2_Coll:: + db $01, $02, $03, $11, $12, $13, $14, $1c, $1a + db -1 ; end + +Mart_Coll:: +Pokecenter_Coll:: + db $11, $1a, $1c, $3c, $5e + db -1 ; end + +Dojo_Coll:: +Gym_Coll:: + db $11, $16, $19, $2b, $3c, $3d, $3f, $4a, $4c, $4d, $03 + db -1 ; end + +Forest_Coll:: + db $1e, $20, $2e, $30, $34, $37, $39, $3a, $40, $51, $52, $5a, $5c, $5e, $5f + db -1 ; end + +House_Coll:: + db $01, $12, $14, $28, $32, $37, $44, $54, $5c + db -1 ; end + +ForestGate_Coll:: +Museum_Coll:: +Gate_Coll:: + db $01, $12, $14, $1a, $1c, $37, $38, $3b, $3c, $5e + db -1 ; end + +Ship_Coll:: + db $04, $0d, $17, $1d, $1e, $23, $34, $37, $39, $4a + db -1 ; end + +ShipPort_Coll:: + db $0a, $1a, $32, $3b + db -1 ; end + +Cemetery_Coll:: + db $01, $10, $13, $1b, $22, $42, $52 + db -1 ; end + +Interior_Coll:: + db $04, $0f, $15, $1f, $3b, $45, $47, $55, $56 + db -1 ; end + +Cavern_Coll:: + db $05, $15, $18, $1a, $20, $21, $22, $2a, $2d, $30 + db -1 ; end + + db -1 ; unused + +Lobby_Coll:: + db $14, $17, $1a, $1c, $20, $38, $45 + db -1 ; end + +Mansion_Coll:: + db $01, $05, $11, $12, $14, $1a, $1c, $2c, $53 + db -1 ; end + +Lab_Coll:: + db $0c, $26, $16, $1e, $34, $37 + db -1 ; end + +Club_Coll:: + db $0f, $1a, $1f, $26, $28, $29, $2c, $2d, $2e, $2f, $41 + db -1 ; end + +Facility_Coll:: + db $01, $10, $11, $13, $1b, $20, $21, $22, $30, $31, $32, $42, $43, $48, $52, $55, $58, $5e + db -1 ; end + +Plateau_Coll:: + db $1b, $23, $2c, $2d, $3b, $45 + db -1 ; end diff --git a/data/tilesets/cut_tree_blocks.asm b/data/tilesets/cut_tree_blocks.asm new file mode 100644 index 00000000..eb63a712 --- /dev/null +++ b/data/tilesets/cut_tree_blocks.asm @@ -0,0 +1,13 @@ +CutTreeBlockSwaps: +; first byte = tileset block containing the cut tree +; second byte = corresponding tileset block after the cut animation happens + db $32, $6D + db $33, $6C + db $34, $6F + db $35, $4C + db $60, $6E + db $0B, $0A + db $3C, $35 + db $3F, $35 + db $3D, $36 + db $FF ; list terminator diff --git a/data/tilesets/door_tile_ids.asm b/data/tilesets/door_tile_ids.asm new file mode 100644 index 00000000..686e418c --- /dev/null +++ b/data/tilesets/door_tile_ids.asm @@ -0,0 +1,48 @@ +DoorTileIDPointers: + dbw OVERWORLD, OverworldDoorTileIDs + dbw FOREST, ForestDoorTileIDs + dbw MART, MartDoorTileIDs + dbw HOUSE, HouseDoorTileIDs + dbw FOREST_GATE, TilesetMuseumDoorTileIDs + dbw MUSEUM, TilesetMuseumDoorTileIDs + dbw GATE, TilesetMuseumDoorTileIDs + dbw SHIP, ShipDoorTileIDs + dbw LOBBY, LobbyDoorTileIDs + dbw MANSION, MansionDoorTileIDs + dbw LAB, LabDoorTileIDs + dbw FACILITY, FacilityDoorTileIDs + dbw PLATEAU, PlateauDoorTileIDs + db $ff + +OverworldDoorTileIDs: + db $1B,$58,$00 + +ForestDoorTileIDs: + db $3a,$00 + +MartDoorTileIDs: + db $5e,$00 + +HouseDoorTileIDs: + db $54,$00 + +TilesetMuseumDoorTileIDs: + db $3b,$00 + +ShipDoorTileIDs: + db $1e,$00 + +LobbyDoorTileIDs: + db $1c,$38,$1a,$00 + +MansionDoorTileIDs: + db $1a,$1c,$53,$00 + +LabDoorTileIDs: + db $34,$00 + +FacilityDoorTileIDs: + db $43,$58,$1b,$00 + +PlateauDoorTileIDs: + db $3b,$1b,$00 diff --git a/data/tilesets/dungeon_tilesets.asm b/data/tilesets/dungeon_tilesets.asm new file mode 100755 index 00000000..01e86714 --- /dev/null +++ b/data/tilesets/dungeon_tilesets.asm @@ -0,0 +1,2 @@ +DungeonTilesets: + db FOREST, MUSEUM, SHIP, CAVERN, LOBBY, MANSION, GATE, LAB, FACILITY, CEMETERY, GYM, $FF diff --git a/data/tilesets/ledge_tiles.asm b/data/tilesets/ledge_tiles.asm new file mode 100644 index 00000000..b742af1a --- /dev/null +++ b/data/tilesets/ledge_tiles.asm @@ -0,0 +1,11 @@ +LedgeTiles: + ; (player direction) (tile player standing on) (ledge tile) (input required) + db SPRITE_FACING_DOWN, $2C,$37,D_DOWN + db SPRITE_FACING_DOWN, $39,$36,D_DOWN + db SPRITE_FACING_DOWN, $39,$37,D_DOWN + db SPRITE_FACING_LEFT, $2C,$27,D_LEFT + db SPRITE_FACING_LEFT, $39,$27,D_LEFT + db SPRITE_FACING_RIGHT,$2C,$0D,D_RIGHT + db SPRITE_FACING_RIGHT,$2C,$1D,D_RIGHT + db SPRITE_FACING_RIGHT,$39,$0D,D_RIGHT + db $FF diff --git a/data/tilesets/tileset_headers.asm b/data/tilesets/tileset_headers.asm new file mode 100755 index 00000000..d8e0d9b4 --- /dev/null +++ b/data/tilesets/tileset_headers.asm @@ -0,0 +1,25 @@ +Tilesets: + tileset Overworld_Block, Overworld_GFX, Overworld_Coll, $FF,$FF,$FF, $52, OUTDOOR + tileset RedsHouse1_Block, RedsHouse1_GFX, RedsHouse1_Coll, $FF,$FF,$FF, $FF, INDOOR + tileset Mart_Block, Mart_GFX, Mart_Coll, $18,$19,$1E, $FF, INDOOR + tileset Forest_Block, Forest_GFX, Forest_Coll, $FF,$FF,$FF, $20, CAVE + tileset RedsHouse2_Block, RedsHouse2_GFX, RedsHouse2_Coll, $FF,$FF,$FF, $FF, INDOOR + tileset Dojo_Block, Dojo_GFX, Dojo_Coll, $3A,$FF,$FF, $FF, OUTDOOR + tileset Pokecenter_Block, Pokecenter_GFX, Pokecenter_Coll, $18,$19,$1E, $FF, INDOOR + tileset Gym_Block, Gym_GFX, Gym_Coll, $3A,$FF,$FF, $FF, OUTDOOR + tileset House_Block, House_GFX, House_Coll, $FF,$FF,$FF, $FF, INDOOR + tileset ForestGate_Block, ForestGate_GFX, ForestGate_Coll, $17,$32,$FF, $FF, INDOOR + tileset Museum_Block, Museum_GFX, Museum_Coll, $17,$32,$FF, $FF, INDOOR + tileset Underground_Block, Underground_GFX, Underground_Coll, $FF,$FF,$FF, $FF, INDOOR + tileset Gate_Block, Gate_GFX, Gate_Coll, $17,$32,$FF, $FF, INDOOR + tileset Ship_Block, Ship_GFX, Ship_Coll, $FF,$FF,$FF, $FF, CAVE + tileset ShipPort_Block, ShipPort_GFX, ShipPort_Coll, $FF,$FF,$FF, $FF, CAVE + tileset Cemetery_Block, Cemetery_GFX, Cemetery_Coll, $12,$FF,$FF, $FF, INDOOR + tileset Interior_Block, Interior_GFX, Interior_Coll, $FF,$FF,$FF, $FF, INDOOR + tileset Cavern_Block, Cavern_GFX, Cavern_Coll, $FF,$FF,$FF, $FF, CAVE + tileset Lobby_Block, Lobby_GFX, Lobby_Coll, $15,$36,$FF, $FF, INDOOR + tileset Mansion_Block, Mansion_GFX, Mansion_Coll, $FF,$FF,$FF, $FF, INDOOR + tileset Lab_Block, Lab_GFX, Lab_Coll, $FF,$FF,$FF, $FF, INDOOR + tileset Club_Block, Club_GFX, Club_Coll, $07,$17,$FF, $FF, INDOOR + tileset Facility_Block, Facility_GFX, Facility_Coll, $12,$FF,$FF, $FF, CAVE + tileset Plateau_Block, Plateau_GFX, Plateau_Coll, $FF,$FF,$FF, $45, CAVE diff --git a/data/tilesets/warp_carpet_tile_ids.asm b/data/tilesets/warp_carpet_tile_ids.asm new file mode 100644 index 00000000..6f312bc7 --- /dev/null +++ b/data/tilesets/warp_carpet_tile_ids.asm @@ -0,0 +1,17 @@ +WarpTileListPointers: + dw .facingDownWarpTiles + dw .facingUpWarpTiles + dw .facingLeftWarpTiles + dw .facingRightWarpTiles + +.facingDownWarpTiles + db $01,$12,$17,$3D,$04,$18,$33,$FF + +.facingUpWarpTiles + db $01,$5C,$FF + +.facingLeftWarpTiles + db $1A,$4B,$FF + +.facingRightWarpTiles + db $0F,$4E,$FF diff --git a/data/tilesets/warp_pad_hole_tile_ids.asm b/data/tilesets/warp_pad_hole_tile_ids.asm new file mode 100644 index 00000000..3e2c1890 --- /dev/null +++ b/data/tilesets/warp_pad_hole_tile_ids.asm @@ -0,0 +1,7 @@ +; format: db tileset id, tile id, value to be put in [wStandingOnWarpPadOrHole] +WarpPadAndHoleData: + db FACILITY, $20, 1 ; warp pad + db FACILITY, $11, 2 ; hole + db CAVERN, $22, 2 ; hole + db INTERIOR, $55, 1 ; warp pad + db $FF diff --git a/data/tilesets/warp_tile_ids.asm b/data/tilesets/warp_tile_ids.asm new file mode 100755 index 00000000..6fd326cc --- /dev/null +++ b/data/tilesets/warp_tile_ids.asm @@ -0,0 +1,85 @@ +WarpTileIDPointers: + dw OverworldWarpTileIDs + dw RedsHouse1WarpTileIDs + dw MartWarpTileIDs + dw ForestWarpTileIDs + dw RedsHouse2WarpTileIDs + dw DojoWarpTileIDs + dw PokecenterWarpTileIDs + dw GymWarpTileIDs + dw HouseWarpTileIDs + dw ForestGateWarpTileIDs + dw MuseumWarpTileIDs + dw UndergroundWarpTileIDs + dw GateWarpTileIDs + dw ShipWarpTileIDs + dw ShipPortWarpTileIDs + dw CemeteryWarpTileIDs + dw InteriorWarpTileIDs + dw CavernWarpTileIDs + dw LobbyWarpTileIDs + dw MansionWarpTileIDs + dw LabWarpTileIDs + dw ClubWarpTileIDs + dw FacilityWarpTileIDs + dw PlateauWarpTileIDs + +OverworldWarpTileIDs: + db $1B,$58,$FF + +ForestGateWarpTileIDs: +MuseumWarpTileIDs: +GateWarpTileIDs: + db $3B + +RedsHouse1WarpTileIDs: +RedsHouse2WarpTileIDs: + db $1A,$1C,$FF + +MartWarpTileIDs: +PokecenterWarpTileIDs: + db $5E,$FF + +ForestWarpTileIDs: + db $5A,$5C,$3A,$FF + +DojoWarpTileIDs: +GymWarpTileIDs: + db $4A,$FF + +HouseWarpTileIDs: + db $54,$5C,$32,$FF + +ShipWarpTileIDs: + db $37,$39,$1E,$4A,$FF + +InteriorWarpTileIDs: + db $15,$55,$04,$FF + +CavernWarpTileIDs: + db $18,$1A,$22,$FF + +LobbyWarpTileIDs: + db $1A,$1C,$38,$FF + +MansionWarpTileIDs: + db $1A,$1C,$53,$FF + +LabWarpTileIDs: + db $34,$FF + +FacilityWarpTileIDs: + db $43,$58,$20 + +CemeteryWarpTileIDs: + db $1B + +UndergroundWarpTileIDs: + db $13,$FF + +PlateauWarpTileIDs: + db $1B,$3B + +ShipPortWarpTileIDs: +ClubWarpTileIDs: + db $FF diff --git a/data/tilesets/water_tilesets.asm b/data/tilesets/water_tilesets.asm new file mode 100644 index 00000000..00f0ab1f --- /dev/null +++ b/data/tilesets/water_tilesets.asm @@ -0,0 +1,4 @@ +; tilesets with water +WaterTilesets: + db OVERWORLD, FOREST, DOJO, GYM, SHIP, SHIP_PORT, CAVERN, FACILITY, PLATEAU + db $ff ; terminator diff --git a/data/title_mons.asm b/data/title_mons.asm deleted file mode 100755 index c5d94301..00000000 --- a/data/title_mons.asm +++ /dev/null @@ -1,56 +0,0 @@ -TitleMons: -; mons on the title screen are randomly chosen from here -IF DEF(_RED) - db CHARMANDER - db SQUIRTLE - db BULBASAUR - db WEEDLE - db NIDORAN_M - db SCYTHER - db PIKACHU - db CLEFAIRY - db RHYDON - db ABRA - db GASTLY - db DITTO - db PIDGEOTTO - db ONIX - db PONYTA - db MAGIKARP -ENDC -IF DEF(_GREEN) - db BULBASAUR - db CHARMANDER - db SQUIRTLE - db CATERPIE - db NIDORAN_F - db PINSIR - db PIKACHU - db CLEFAIRY - db RHYDON - db ABRA - db GASTLY - db DITTO - db PIDGEOTTO - db ONIX - db PONYTA - db MAGIKARP -ENDC -IF DEF(_BLUE) - db SQUIRTLE - db CHARMANDER - db BULBASAUR - db MANKEY - db HITMONLEE - db VULPIX - db CHANSEY - db AERODACTYL - db JOLTEON - db SNORLAX - db GLOOM - db POLIWAG - db DODUO - db PORYGON - db GENGAR - db RAICHU -ENDC diff --git a/data/tm_prices.asm b/data/tm_prices.asm deleted file mode 100755 index ccc8be05..00000000 --- a/data/tm_prices.asm +++ /dev/null @@ -1,27 +0,0 @@ -TechnicalMachinePrices: -; In thousands (nybbles). - dn 3, 2 ; TM_01, TM_02 - dn 2, 1 ; TM_03, TM_04 - dn 3, 4 ; TM_05, TM_06 - dn 2, 4 ; TM_07, TM_08 - dn 3, 4 ; TM_09, TM_10 - dn 2, 1 ; TM_11, TM_12 - dn 4, 5 ; TM_13, TM_14 - dn 5, 5 ; TM_15, TM_16 - dn 3, 2 ; TM_17, TM_18 - dn 3, 2 ; TM_19, TM_20 - dn 5, 5 ; TM_21, TM_22 - dn 5, 2 ; TM_23, TM_24 - dn 5, 4 ; TM_25, TM_26 - dn 5, 2 ; TM_27, TM_28 - dn 4, 1 ; TM_29, TM_30 - dn 2, 1 ; TM_31, TM_32 - dn 1, 2 ; TM_33, TM_34 - dn 4, 2 ; TM_35, TM_36 - dn 2, 5 ; TM_37, TM_38 - dn 2, 4 ; TM_39, TM_40 - dn 2, 2 ; TM_41, TM_42 - dn 5, 2 ; TM_43, TM_44 - dn 2, 4 ; TM_45, TM_46 - dn 3, 4 ; TM_47, TM_48 - dn 4, 2 ; TM_49, TM_50 diff --git a/data/tms.asm b/data/tms.asm deleted file mode 100755 index 23c1685e..00000000 --- a/data/tms.asm +++ /dev/null @@ -1,56 +0,0 @@ -TechnicalMachines: - db MEGA_PUNCH - db RAZOR_WIND - db SWORDS_DANCE - db WHIRLWIND - db MEGA_KICK - db TOXIC - db HORN_DRILL - db BODY_SLAM - db TAKE_DOWN - db DOUBLE_EDGE - db BUBBLEBEAM - db WATER_GUN - db ICE_BEAM - db BLIZZARD - db HYPER_BEAM - db PAY_DAY - db SUBMISSION - db COUNTER - db SEISMIC_TOSS - db RAGE - db MEGA_DRAIN - db SOLARBEAM - db DRAGON_RAGE - db THUNDERBOLT - db THUNDER - db EARTHQUAKE - db FISSURE - db DIG - db PSYCHIC_M - db TELEPORT - db MIMIC - db DOUBLE_TEAM - db REFLECT - db BIDE - db METRONOME - db SELFDESTRUCT - db EGG_BOMB - db FIRE_BLAST - db SWIFT - db SKULL_BASH - db SOFTBOILED - db DREAM_EATER - db SKY_ATTACK - db REST - db THUNDER_WAVE - db PSYWAVE - db EXPLOSION - db ROCK_SLIDE - db TRI_ATTACK - db SUBSTITUTE - db CUT - db FLY - db SURF - db STRENGTH - db FLASH diff --git a/data/town_map_entries.asm b/data/town_map_entries.asm deleted file mode 100755 index 63ebd51b..00000000 --- a/data/town_map_entries.asm +++ /dev/null @@ -1,101 +0,0 @@ -ExternalMapEntries: - EMAP $2,$B,PalletTownName - EMAP $2,$8,ViridianCityName - EMAP $2,$3,PewterCityName - EMAP $A,$2,CeruleanCityName - EMAP $E,$5,LavenderTownName - EMAP $A,$9,VermilionCityName - EMAP $7,$5,CeladonCityName - EMAP $8,$D,FuchsiaCityName - EMAP $2,$F,CinnabarIslandName - EMAP $0,$2,IndigoPlateauName - EMAP $A,$5,SaffronCityName - EMAP $0,$0,PalletTownName ; unused - EMAP $2,$A,Route1Name - EMAP $2,$6,Route2Name - EMAP $4,$3,Route3Name - EMAP $8,$2,Route4Name - EMAP $A,$3,Route5Name - EMAP $A,$8,Route6Name - EMAP $8,$5,Route7Name - EMAP $D,$5,Route8Name - EMAP $D,$2,Route9Name - EMAP $E,$4,Route10Name - EMAP $C,$9,Route11Name - EMAP $E,$9,Route12Name - EMAP $D,$B,Route13Name - EMAP $B,$C,Route14Name - EMAP $A,$D,Route15Name - EMAP $5,$5,Route16Name - EMAP $4,$8,Route17Name - EMAP $6,$D,Route18Name - EMAP $6,$F,Route19Name - EMAP $4,$F,Route20Name - EMAP $2,$D,Route21Name - EMAP $0,$8,Route22Name - EMAP $0,$6,Route23Name - EMAP $A,$1,Route24Name - EMAP $B,$0,Route25Name - -InternalMapEntries: - IMAP OAKS_LAB, $2,$B,PalletTownName - IMAP VIRIDIAN_GYM, $2,$8,ViridianCityName - IMAP VIRIDIAN_FOREST_SOUTH_GATE, $2,$6,Route2Name - IMAP VIRIDIAN_FOREST, $2,$4,ViridianForestName - IMAP PEWTER_POKECENTER, $2,$3,PewterCityName - IMAP MT_MOON_B2F, $6,$2,MountMoonName - IMAP CERULEAN_MART, $A,$2,CeruleanCityName - IMAP MT_MOON_POKECENTER, $5,$2,Route4Name - IMAP CERULEAN_TRASHED_HOUSE_COPY, $A,$2,CeruleanCityName - IMAP DAYCARE, $A,$4,Route5Name - IMAP UNDERGROUND_PATH_ROUTE_6_COPY, $A,$6,Route6Name - IMAP UNDERGROUND_PATH_ROUTE_7_COPY, $9,$5,Route7Name - IMAP UNDERGROUND_PATH_ROUTE_8, $B,$5,Route8Name - IMAP ROCK_TUNNEL_1F, $E,$3,RockTunnelName - IMAP POWER_PLANT, $F,$4,PowerPlantName - IMAP ROUTE_11_GATE_2F, $D,$9,Route11Name - IMAP ROUTE_12_GATE_1F, $E,$7,Route12Name - IMAP BILLS_HOUSE, $C,$0,SeaCottageName - IMAP VERMILION_DOCK, $A,$9,VermilionCityName - IMAP SS_ANNE_B1F_ROOMS, $9,$A,SSAnneName - IMAP VICTORY_ROAD_1F, $0,$4,VictoryRoadName - IMAP HALL_OF_FAME, $0,$2,PokemonLeagueName - IMAP UNDERGROUND_PATH_NORTH_SOUTH, $A,$5,UndergroundPathName - IMAP CHAMPIONS_ROOM, $0,$2,PokemonLeagueName - IMAP UNDERGROUND_PATH_WEST_EAST, $A,$5,UndergroundPathName - IMAP CELADON_HOTEL, $7,$5,CeladonCityName - IMAP LAVENDER_POKECENTER, $E,$5,LavenderTownName - IMAP POKEMON_TOWER_7F, $F,$5,PokemonTowerName - IMAP LAVENDER_CUBONE_HOUSE, $E,$5,LavenderTownName - IMAP WARDENS_HOUSE, $8,$D,FuchsiaCityName - IMAP SAFARI_ZONE_GATE, $8,$C,SafariZoneName - IMAP FUCHSIA_MEETING_ROOM, $8,$D,FuchsiaCityName - IMAP SEAFOAM_ISLANDS_B4F, $5,$F,SeafoamIslandsName - IMAP VERMILION_OLD_ROD_HOUSE, $A,$9,VermilionCityName - IMAP FUCHSIA_GOOD_ROD_HOUSE, $8,$D,FuchsiaCityName - IMAP POKEMON_MANSION_1F, $2,$F,PokemonMansionName - IMAP CINNABAR_MART_COPY, $2,$F,CinnabarIslandName - IMAP INDIGO_PLATEAU_LOBBY, $0,$2,IndigoPlateauName - IMAP MR_PSYCHICS_HOUSE, $A,$5,SaffronCityName - IMAP ROUTE_15_GATE_2F, $9,$D,Route15Name - IMAP ROUTE_16_FLY_HOUSE, $4,$5,Route16Name - IMAP ROUTE_12_SUPER_ROD_HOUSE, $E,$A,Route12Name - IMAP ROUTE_18_GATE_2F, $7,$D,Route18Name - IMAP SEAFOAM_ISLANDS_1F, $5,$F,SeafoamIslandsName - IMAP ROUTE_22_GATE, $0,$7,Route22Name - IMAP VICTORY_ROAD_2F, $0,$4,VictoryRoadName - IMAP ROUTE_12_GATE_2F, $E,$7,Route12Name - IMAP VERMILION_TRADE_HOUSE, $A,$9,VermilionCityName - IMAP DIGLETTS_CAVE, $3,$4,DiglettsCaveName - IMAP VICTORY_ROAD_3F, $0,$4,VictoryRoadName - IMAP UNUSED_MAP_CE, $7,$5,RocketHQName - IMAP SILPH_CO_8F, $A,$5,SilphCoName - IMAP POKEMON_MANSION_B1F, $2,$F,PokemonMansionName - IMAP SAFARI_ZONE_NORTH_REST_HOUSE, $8,$C,SafariZoneName - IMAP CERULEAN_CAVE_1F, $9,$1,CeruleanCaveName - IMAP NAME_RATERS_HOUSE, $E,$5,LavenderTownName - IMAP CERULEAN_BADGE_HOUSE, $A,$2,CeruleanCityName - IMAP ROCK_TUNNEL_B1F, $E,$3,RockTunnelName - IMAP SILPH_CO_ELEVATOR, $A,$5,SilphCoName - IMAP AGATHAS_ROOM, $0,$2,PokemonLeagueName - db $FF diff --git a/data/town_map_order.asm b/data/town_map_order.asm deleted file mode 100755 index a082c376..00000000 --- a/data/town_map_order.asm +++ /dev/null @@ -1,49 +0,0 @@ -TownMapOrder: - db PALLET_TOWN - db ROUTE_1 - db VIRIDIAN_CITY - db ROUTE_2 - db VIRIDIAN_FOREST - db DIGLETTS_CAVE - db PEWTER_CITY - db ROUTE_3 - db MT_MOON_1F - db ROUTE_4 - db CERULEAN_CITY - db ROUTE_24 - db ROUTE_25 - db BILLS_HOUSE - db ROUTE_5 - db ROUTE_6 - db VERMILION_CITY - db SS_ANNE_1F - db ROUTE_9 - db ROCK_TUNNEL_POKECENTER - db ROUTE_10 - db LAVENDER_TOWN - db POKEMON_TOWER_2F - db ROUTE_8 - db ROUTE_7 - db CELADON_CITY - db SAFFRON_CITY - db ROUTE_11 - db ROUTE_12 - db ROUTE_13 - db ROUTE_14 - db ROUTE_15 - db ROUTE_16 - db ROUTE_17 - db ROUTE_18 - db FUCHSIA_CITY - db SAFARI_ZONE_EAST - db ROUTE_19 - db SEAFOAM_ISLANDS_B1F - db ROUTE_20 - db CINNABAR_ISLAND - db ROUTE_21 - db ROUTE_22 - db ROUTE_23 - db VICTORY_ROAD_3F - db INDIGO_PLATEAU - db POWER_PLANT -TownMapOrderEnd: diff --git a/data/trades.asm b/data/trades.asm deleted file mode 100755 index cf0fcbfd..00000000 --- a/data/trades.asm +++ /dev/null @@ -1,12 +0,0 @@ -TradeMons: -; givemonster, getmonster, textstring, nickname (11 bytes), 14 bytes total - db NIDORINO, NIDORINA, 0,"TERRY@@@@@@" - db ABRA, MR_MIME, 0,"MARCEL@@@@@" - db BUTTERFREE,BEEDRILL, 2,"CHIKUCHIKU@" - db PONYTA, SEEL, 0,"SAILOR@@@@@" - db SPEAROW, FARFETCHD,2,"DUX@@@@@@@@" - db SLOWBRO, LICKITUNG,0,"MARC@@@@@@@" - db POLIWHIRL, JYNX, 1,"LOLA@@@@@@@" - db RAICHU, ELECTRODE,1,"DORIS@@@@@@" - db VENONAT, TANGELA, 2,"CRINKLES@@@" - db NIDORAN_M, NIDORAN_F,2,"SPOT@@@@@@@" diff --git a/data/trainer_ai_pointers.asm b/data/trainer_ai_pointers.asm deleted file mode 100644 index d7cb5f19..00000000 --- a/data/trainer_ai_pointers.asm +++ /dev/null @@ -1,51 +0,0 @@ -TrainerAIPointers: -; one entry per trainer class -; first byte, number of times (per Pokémon) it can occur -; next two bytes, pointer to AI subroutine for trainer class - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,JugglerAI ; juggler_x - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,JugglerAI ; juggler - dbw 3,GenericAI - dbw 3,GenericAI - dbw 2,BlackbeltAI ; blackbelt - dbw 3,GenericAI - dbw 3,GenericAI - dbw 1,GenericAI ; chief - dbw 3,GenericAI - dbw 1,GiovanniAI ; giovanni - dbw 3,GenericAI - dbw 2,CooltrainerMAI ; cooltrainerm - dbw 1,CooltrainerFAI ; cooltrainerf - dbw 2,BrunoAI ; bruno - dbw 5,BrockAI ; brock - dbw 1,MistyAI ; misty - dbw 1,LtSurgeAI ; surge - dbw 1,ErikaAI ; erika - dbw 2,KogaAI ; koga - dbw 2,BlaineAI ; blaine - dbw 1,SabrinaAI ; sabrina - dbw 3,GenericAI - dbw 1,Sony2AI ; sony2 - dbw 1,Sony3AI ; sony3 - dbw 2,LoreleiAI ; lorelei - dbw 3,GenericAI - dbw 2,AgathaAI ; agatha - dbw 1,LanceAI ; lance diff --git a/data/trainer_move_choices.asm b/data/trainer_move_choices.asm deleted file mode 100644 index ccbae448..00000000 --- a/data/trainer_move_choices.asm +++ /dev/null @@ -1,50 +0,0 @@ -; move choice modification methods that are applied for each trainer class -; 0 is sentinel value -TrainerClassMoveChoiceModifications: - db 0 ; YOUNGSTER - db 1,0 ; BUG CATCHER - db 1,0 ; LASS - db 1,3,0 ; SAILOR - db 1,0 ; JR_TRAINER_M - db 1,0 ; JR_TRAINER_F - db 1,2,3,0; POKEMANIAC - db 1,2,0 ; SUPER_NERD - db 1,0 ; HIKER - db 1,0 ; BIKER - db 1,3,0 ; BURGLAR - db 1,0 ; ENGINEER - db 1,2,0 ; JUGGLER_X - db 1,3,0 ; FISHER - db 1,3,0 ; SWIMMER - db 0 ; CUE_BALL - db 1,0 ; GAMBLER - db 1,3,0 ; BEAUTY - db 1,2,0 ; PSYCHIC_TR - db 1,3,0 ; ROCKER - db 1,0 ; JUGGLER - db 1,0 ; TAMER - db 1,0 ; BIRD_KEEPER - db 1,0 ; BLACKBELT - db 1,0 ; SONY1 - db 1,3,0 ; PROF_OAK - db 1,2,0 ; CHIEF - db 1,2,0 ; SCIENTIST - db 1,3,0 ; GIOVANNI - db 1,0 ; ROCKET - db 1,3,0 ; COOLTRAINER_M - db 1,3,0 ; COOLTRAINER_F - db 1,0 ; BRUNO - db 1,0 ; BROCK - db 1,3,0 ; MISTY - db 1,3,0 ; LT_SURGE - db 1,3,0 ; ERIKA - db 1,3,0 ; KOGA - db 1,3,0 ; BLAINE - db 1,3,0 ; SABRINA - db 1,2,0 ; GENTLEMAN - db 1,3,0 ; SONY2 - db 1,3,0 ; SONY3 - db 1,2,3,0; LORELEI - db 1,0 ; CHANNELER - db 1,0 ; AGATHA - db 1,3,0 ; LANCE diff --git a/data/trainer_moves.asm b/data/trainer_moves.asm deleted file mode 100755 index 2e7b52a5..00000000 --- a/data/trainer_moves.asm +++ /dev/null @@ -1,32 +0,0 @@ -LoneMoves: -; these are used for gym leaders. -; this is not automatic! you have to write the number you want to wLoneAttackNo -; first. e.g., erika's script writes 4 to wLoneAttackNo to get mega drain, -; the fourth entry in the list. - -; first byte: pokemon in the trainer's party that gets the move -; second byte: move -; unterminated - db 1,BIDE - db 1,BUBBLEBEAM - db 2,THUNDERBOLT - db 2,MEGA_DRAIN - db 3,TOXIC - db 3,PSYWAVE - db 3,FIRE_BLAST - db 4,FISSURE - -TeamMoves: -; these are used for elite four. -; this is automatic, based on trainer class. -; don't be confused by LoneMoves above, the two data structures are - ; _completely_ unrelated. - -; first byte: trainer (all trainers in this class have this move) -; second byte: move -; ff-terminated - db LORELEI,BLIZZARD - db BRUNO,FISSURE - db AGATHA,TOXIC - db LANCE,BARRIER - db $FF diff --git a/data/trainer_parties.asm b/data/trainer_parties.asm deleted file mode 100755 index e448d431..00000000 --- a/data/trainer_parties.asm +++ /dev/null @@ -1,696 +0,0 @@ -TrainerDataPointers: - dw YoungsterData - dw BugCatcherData - dw LassData - dw SailorData - dw JrTrainerMData - dw JrTrainerFData - dw PokemaniacData - dw SuperNerdData - dw HikerData - dw BikerData - dw BurglarData - dw EngineerData - dw Juggler1Data - dw FisherData - dw SwimmerData - dw CueBallData - dw GamblerData - dw BeautyData - dw PsychicData - dw RockerData - dw JugglerData - dw TamerData - dw BirdKeeperData - dw BlackbeltData - dw Green1Data - dw ProfOakData - dw ChiefData - dw ScientistData - dw GiovanniData - dw RocketData - dw CooltrainerMData - dw CooltrainerFData - dw BrunoData - dw BrockData - dw MistyData - dw LtSurgeData - dw ErikaData - dw KogaData - dw BlaineData - dw SabrinaData - dw GentlemanData - dw Green2Data - dw Green3Data - dw LoreleiData - dw ChannelerData - dw AgathaData - dw LanceData - -; if first byte != FF, then - ; first byte is level (of all pokemon on this team) - ; all the next bytes are pokemon species - ; null-terminated -; if first byte == FF, then - ; first byte is FF (obviously) - ; every next two bytes are a level and species - ; null-terminated - -YoungsterData: -; Route 3 - db 11,RATTATA,EKANS,0 - db 14,SPEAROW,0 -; Mt. Moon 1F - db 10,RATTATA,RATTATA,ZUBAT,0 -; Route 24 - db 14,RATTATA,EKANS,ZUBAT,0 -; Route 25 - db 15,RATTATA,SPEAROW,0 - db 17,SLOWPOKE,0 - db 14,EKANS,SANDSHREW,0 -; SS Anne 1F Rooms - db 21,NIDORAN_M,0 -; Route 11 - db 21,EKANS,0 - db 19,SANDSHREW,ZUBAT,0 - db 17,RATTATA,RATTATA,RATICATE,0 - db 18,NIDORAN_M,NIDORINO,0 -; Unused - db 17,SPEAROW,RATTATA,RATTATA,SPEAROW,0 -BugCatcherData: -; Viridian Forest - db 6,WEEDLE,CATERPIE,0 - db 7,WEEDLE,KAKUNA,WEEDLE,0 - db 9,WEEDLE,0 -; Route 3 - db 10,CATERPIE,WEEDLE,CATERPIE,0 - db 9,WEEDLE,KAKUNA,CATERPIE,METAPOD,0 - db 11,CATERPIE,METAPOD,0 -; Mt. Moon 1F - db 11,WEEDLE,KAKUNA,0 - db 10,CATERPIE,METAPOD,CATERPIE,0 -; Route 24 - db 14,CATERPIE,WEEDLE,0 -; Route 6 - db 16,WEEDLE,CATERPIE,WEEDLE,0 - db 20,BUTTERFREE,0 -; Unused - db 18,METAPOD,CATERPIE,VENONAT,0 -; Route 9 - db 19,BEEDRILL,BEEDRILL,0 - db 20,CATERPIE,WEEDLE,VENONAT,0 -LassData: -; Route 3 - db 9,PIDGEY,PIDGEY,0 - db 10,RATTATA,NIDORAN_M,0 - db 14,JIGGLYPUFF,0 -; Route 4 - db 31,PARAS,PARAS,PARASECT,0 -; Mt. Moon 1F - db 11,ODDISH,BELLSPROUT,0 - db 14,CLEFAIRY,0 -; Route 24 - db 16,PIDGEY,NIDORAN_F,0 - db 14,PIDGEY,NIDORAN_F,0 -; Route 25 - db 15,NIDORAN_M,NIDORAN_F,0 - db 13,ODDISH,PIDGEY,ODDISH,0 -; SS Anne 1F Rooms - db 18,PIDGEY,NIDORAN_F,0 -; SS Anne 2F Rooms - db 18,RATTATA,PIKACHU,0 -; Route 8 - db 23,NIDORAN_F,NIDORINA,0 - db 24,MEOWTH,MEOWTH,MEOWTH,0 - db 19,PIDGEY,RATTATA,NIDORAN_M,MEOWTH,PIKACHU,0 - db 22,CLEFAIRY,CLEFAIRY,0 -; Celadon Gym - db 23,BELLSPROUT,WEEPINBELL,0 - db 23,ODDISH,GLOOM,0 -SailorData: -; SS Anne Stern - db 18,MACHOP,SHELLDER,0 - db 17,MACHOP,TENTACOOL,0 -; SS Anne B1F Rooms - db 21,SHELLDER,0 - db 17,HORSEA,SHELLDER,TENTACOOL,0 - db 18,TENTACOOL,STARYU,0 - db 17,HORSEA,HORSEA,HORSEA,0 - db 20,MACHOP,0 -; Vermilion Gym - db 21,PIKACHU,PIKACHU,0 -JrTrainerMData: -; Pewter Gym - db 11,DIGLETT,SANDSHREW,0 -; Route 24/Route 25 - db 14,RATTATA,EKANS,0 -; Route 24 - db 18,MANKEY,0 -; Route 6 - db 20,SQUIRTLE,0 - db 16,SPEAROW,RATICATE,0 -; Unused - db 18,DIGLETT,DIGLETT,SANDSHREW,0 -; Route 9 - db 21,GROWLITHE,CHARMANDER,0 - db 19,RATTATA,DIGLETT,EKANS,SANDSHREW,0 -; Route 12 - db 29,NIDORAN_M,NIDORINO,0 -JrTrainerFData: -; Cerulean Gym - db 19,GOLDEEN,0 -; Route 6 - db 16,RATTATA,PIKACHU,0 - db 16,PIDGEY,PIDGEY,PIDGEY,0 -; Unused - db 22,BULBASAUR,0 -; Route 9 - db 18,ODDISH,BELLSPROUT,ODDISH,BELLSPROUT,0 - db 23,MEOWTH,0 -; Route 10 - db 20,PIKACHU,CLEFAIRY,0 - db 21,PIDGEY,PIDGEOTTO,0 -; Rock Tunnel B1F - db 21,JIGGLYPUFF,PIDGEY,MEOWTH,0 - db 22,ODDISH,BULBASAUR,0 -; Celadon Gym - db 24,BULBASAUR,IVYSAUR,0 -; Route 13 - db 24,PIDGEY,MEOWTH,RATTATA,PIKACHU,MEOWTH,0 - db 30,POLIWAG,POLIWAG,0 - db 27,PIDGEY,MEOWTH,PIDGEY,PIDGEOTTO,0 - db 28,GOLDEEN,POLIWAG,HORSEA,0 -; Route 20 - db 31,GOLDEEN,SEAKING,0 -; Rock Tunnel 1F - db 22,BELLSPROUT,CLEFAIRY,0 - db 20,MEOWTH,ODDISH,PIDGEY,0 - db 19,PIDGEY,RATTATA,RATTATA,BELLSPROUT,0 -; Route 15 - db 28,GLOOM,ODDISH,ODDISH,0 - db 29,PIKACHU,RAICHU,0 - db 33,CLEFAIRY,0 - db 29,BELLSPROUT,ODDISH,TANGELA,0 -; Route 20 - db 30,TENTACOOL,HORSEA,SEEL,0 -PokemaniacData: -; Route 10 - db 30,RHYHORN,LICKITUNG,0 - db 20,CUBONE,SLOWPOKE,0 -; Rock Tunnel B1F - db 20,SLOWPOKE,SLOWPOKE,SLOWPOKE,0 - db 22,CHARMANDER,CUBONE,0 - db 25,SLOWPOKE,0 -; Victory Road 2F - db 40,CHARMELEON,LAPRAS,LICKITUNG,0 -; Rock Tunnel 1F - db 23,CUBONE,SLOWPOKE,0 -SuperNerdData: -; Mt. Moon 1F - db 11,MAGNEMITE,VOLTORB,0 -; Mt. Moon B2F - db 12,GRIMER,VOLTORB,KOFFING,0 -; Route 8 - db 20,VOLTORB,KOFFING,VOLTORB,MAGNEMITE,0 - db 22,GRIMER,MUK,GRIMER,0 - db 26,KOFFING,0 -; Unused - db 22,KOFFING,MAGNEMITE,WEEZING,0 - db 20,MAGNEMITE,MAGNEMITE,KOFFING,MAGNEMITE,0 - db 24,MAGNEMITE,VOLTORB,0 -; Cinnabar Gym - db 36,VULPIX,VULPIX,NINETALES,0 - db 34,PONYTA,CHARMANDER,VULPIX,GROWLITHE,0 - db 41,RAPIDASH,0 - db 37,GROWLITHE,VULPIX,0 -HikerData: -; Mt. Moon 1F - db 10,GEODUDE,GEODUDE,ONIX,0 -; Route 25 - db 15,MACHOP,GEODUDE,0 - db 13,GEODUDE,GEODUDE,MACHOP,GEODUDE,0 - db 17,ONIX,0 -; Route 9 - db 21,GEODUDE,ONIX,0 - db 20,GEODUDE,MACHOP,GEODUDE,0 -; Route 10 - db 21,GEODUDE,ONIX,0 - db 19,ONIX,GRAVELER,0 -; Rock Tunnel B1F - db 21,GEODUDE,GEODUDE,GRAVELER,0 - db 25,GEODUDE,0 -; Route 9/Rock Tunnel B1F - db 20,MACHOP,ONIX,0 -; Rock Tunnel 1F - db 19,GEODUDE,MACHOP,GEODUDE,GEODUDE,0 - db 20,ONIX,ONIX,GEODUDE,0 - db 21,GEODUDE,GRAVELER,0 -BikerData: -; Route 13 - db 28,KOFFING,KOFFING,KOFFING,0 -; Route 14 - db 29,KOFFING,GRIMER,0 -; Route 15 - db 25,KOFFING,KOFFING,WEEZING,KOFFING,GRIMER,0 - db 28,KOFFING,GRIMER,WEEZING,0 -; Route 16 - db 29,GRIMER,KOFFING,0 - db 33,WEEZING,0 - db 26,GRIMER,GRIMER,GRIMER,GRIMER,0 -; Route 17 - ; From https://www.smogon.com/smog/issue27/glitch: - ; 0E:5FC2 is offset of the ending 0 for this first Biker on Route 17. - ; BaseStats + (MonBaseStatsEnd - MonBaseStats) * (000 - 1) = $5FC2; - ; that's the formula from GetMonHeader for the base stats of mon #000. - ; (BaseStats = $43DE and BANK(BaseStats) = $0E.) - ; Finally, PokedexOrder lists 0 as the dex ID for every MissingNo. - ; The result is that this data gets interpreted as the base stats - ; for MissingNo: 0,33,MUK,0,29,VOLTORB,VOLTORB,0,...,28,GRIMER,GRIMER. - db 28,WEEZING,KOFFING,WEEZING,0 - db 33,MUK,0 - db 29,VOLTORB,VOLTORB,0 - db 29,WEEZING,MUK,0 - db 25,KOFFING,WEEZING,KOFFING,KOFFING,WEEZING,0 -; Route 14 - db 26,KOFFING,KOFFING,GRIMER,KOFFING,0 - db 28,GRIMER,GRIMER,KOFFING,0 - db 29,KOFFING,MUK,0 -BurglarData: -; Unused - db 29,GROWLITHE,VULPIX,0 - db 33,GROWLITHE,0 - db 28,VULPIX,CHARMANDER,PONYTA,0 -; Cinnabar Gym - db 36,GROWLITHE,VULPIX,NINETALES,0 - db 41,PONYTA,0 - db 37,VULPIX,GROWLITHE,0 -; Mansion 2F - db 34,CHARMANDER,CHARMELEON,0 -; Mansion 3F - db 38,NINETALES,0 -; Mansion B1F - db 34,GROWLITHE,PONYTA,0 -EngineerData: -; Unused - db 21,VOLTORB,MAGNEMITE,0 -; Route 11 - db 21,MAGNEMITE,0 - db 18,MAGNEMITE,MAGNEMITE,MAGNETON,0 -Juggler1Data: -; none -FisherData: -; SS Anne 2F Rooms - db 17,GOLDEEN,TENTACOOL,GOLDEEN,0 -; SS Anne B1F Rooms - db 17,TENTACOOL,STARYU,SHELLDER,0 -; Route 12 - db 22,GOLDEEN,POLIWAG,GOLDEEN,0 - db 24,TENTACOOL,GOLDEEN,0 - db 27,GOLDEEN,0 - db 21,POLIWAG,SHELLDER,GOLDEEN,HORSEA,0 -; Route 21 - db 28,SEAKING,GOLDEEN,SEAKING,SEAKING,0 - db 31,SHELLDER,CLOYSTER,0 - db 27,MAGIKARP,MAGIKARP,MAGIKARP,MAGIKARP,MAGIKARP,MAGIKARP,0 - db 33,SEAKING,GOLDEEN,0 -; Route 12 - db 24,MAGIKARP,MAGIKARP,0 -SwimmerData: -; Cerulean Gym - db 16,HORSEA,SHELLDER,0 -; Route 19 - db 30,TENTACOOL,SHELLDER,0 - db 29,GOLDEEN,HORSEA,STARYU,0 - db 30,POLIWAG,POLIWHIRL,0 - db 27,HORSEA,TENTACOOL,TENTACOOL,GOLDEEN,0 - db 29,GOLDEEN,SHELLDER,SEAKING,0 - db 30,HORSEA,HORSEA,0 - db 27,TENTACOOL,TENTACOOL,STARYU,HORSEA,TENTACRUEL,0 -; Route 20 - db 31,SHELLDER,CLOYSTER,0 - db 35,STARYU,0 - db 28,HORSEA,HORSEA,SEADRA,HORSEA,0 -; Route 21 - db 33,SEADRA,TENTACRUEL,0 - db 37,STARMIE,0 - db 33,STARYU,WARTORTLE,0 - db 32,POLIWHIRL,TENTACOOL,SEADRA,0 -CueBallData: -; Route 16 - db 28,MACHOP,MANKEY,MACHOP,0 - db 29,MANKEY,MACHOP,0 - db 33,MACHOP,0 -; Route 17 - db 29,MANKEY,PRIMEAPE,0 - db 29,MACHOP,MACHOKE,0 - db 33,MACHOKE,0 - db 26,MANKEY,MANKEY,MACHOKE,MACHOP,0 - db 29,PRIMEAPE,MACHOKE,0 -; Route 21 - db 31,TENTACOOL,TENTACOOL,TENTACRUEL,0 -GamblerData: -; Route 11 - db 18,POLIWAG,HORSEA,0 - db 18,BELLSPROUT,ODDISH,0 - db 18,VOLTORB,MAGNEMITE,0 - db 18,GROWLITHE,VULPIX,0 -; Route 8 - db 22,POLIWAG,POLIWAG,POLIWHIRL,0 -; Unused - db 22,ONIX,GEODUDE,GRAVELER,0 -; Route 8 - db 24,GROWLITHE,VULPIX,0 -BeautyData: -; Celadon Gym - db 21,ODDISH,BELLSPROUT,ODDISH,BELLSPROUT,0 - db 24,BELLSPROUT,BELLSPROUT,0 - db 26,EXEGGCUTE,0 -; Route 13 - db 27,RATTATA,PIKACHU,RATTATA,0 - db 29,CLEFAIRY,MEOWTH,0 -; Route 20 - db 35,SEAKING,0 - db 30,SHELLDER,SHELLDER,CLOYSTER,0 - db 31,POLIWAG,SEAKING,0 -; Route 15 - db 29,PIDGEOTTO,WIGGLYTUFF,0 - db 29,BULBASAUR,IVYSAUR,0 -; Unused - db 33,WEEPINBELL,BELLSPROUT,WEEPINBELL,0 -; Route 19 - db 27,POLIWAG,GOLDEEN,SEAKING,GOLDEEN,POLIWAG,0 - db 30,GOLDEEN,SEAKING,0 - db 29,STARYU,STARYU,STARYU,0 -; Route 20 - db 30,SEADRA,HORSEA,SEADRA,0 -PsychicData: -; Saffron Gym - db 31,KADABRA,SLOWPOKE,MR_MIME,KADABRA,0 - db 34,MR_MIME,KADABRA,0 - db 33,SLOWPOKE,SLOWPOKE,SLOWBRO,0 - db 38,SLOWBRO,0 -RockerData: -; Vermilion Gym - db 20,VOLTORB,MAGNEMITE,VOLTORB,0 -; Route 12 - db 29,VOLTORB,ELECTRODE,0 -JugglerData: -; Silph Co. 5F - db 29,KADABRA,MR_MIME,0 -; Victory Road 2F - db 41,DROWZEE,HYPNO,KADABRA,KADABRA,0 -; Fuchsia Gym - db 31,DROWZEE,DROWZEE,KADABRA,DROWZEE,0 - db 34,DROWZEE,HYPNO,0 -; Victory Road 2F - db 48,MR_MIME,0 -; Unused - db 33,HYPNO,0 -; Fuchsia Gym - db 38,HYPNO,0 - db 34,DROWZEE,KADABRA,0 -TamerData: -; Fuchsia Gym - db 34,SANDSLASH,ARBOK,0 - db 33,ARBOK,SANDSLASH,ARBOK,0 -; Viridian Gym - db 43,RHYHORN,0 - db 39,ARBOK,TAUROS,0 -; Victory Road 2F - db 44,PERSIAN,GOLDUCK,0 -; Unused - db 42,RHYHORN,PRIMEAPE,ARBOK,TAUROS,0 -BirdKeeperData: -; Route 13 - db 29,PIDGEY,PIDGEOTTO,0 - db 25,SPEAROW,PIDGEY,PIDGEY,SPEAROW,SPEAROW,0 - db 26,PIDGEY,PIDGEOTTO,SPEAROW,FEAROW,0 -; Route 14 - db 33,FARFETCHD,0 - db 29,SPEAROW,FEAROW,0 -; Route 15 - db 26,PIDGEOTTO,FARFETCHD,DODUO,PIDGEY,0 - db 28,DODRIO,DODUO,DODUO,0 -; Route 18 - db 29,SPEAROW,FEAROW,0 - db 34,DODRIO,0 - db 26,SPEAROW,SPEAROW,FEAROW,SPEAROW,0 -; Route 20 - db 30,FEAROW,FEAROW,PIDGEOTTO,0 -; Unused - db 39,PIDGEOTTO,PIDGEOTTO,PIDGEY,PIDGEOTTO,0 - db 42,FARFETCHD,FEAROW,0 -; Route 14 - db 28,PIDGEY,DODUO,PIDGEOTTO,0 - db 26,PIDGEY,SPEAROW,PIDGEY,FEAROW,0 - db 29,PIDGEOTTO,FEAROW,0 - db 28,SPEAROW,DODUO,FEAROW,0 -BlackbeltData: -; Fighting Dojo - db 37,HITMONLEE,HITMONCHAN,0 - db 31,MANKEY,MANKEY,PRIMEAPE,0 - db 32,MACHOP,MACHOKE,0 - db 36,PRIMEAPE,0 - db 31,MACHOP,MANKEY,PRIMEAPE,0 -; Viridian Gym - db 40,MACHOP,MACHOKE,0 - db 43,MACHOKE,0 - db 38,MACHOKE,MACHOP,MACHOKE,0 -; Victory Road 2F - db 43,MACHOKE,MACHOP,MACHOKE,0 -Green1Data: - db 5,SQUIRTLE,0 - db 5,BULBASAUR,0 - db 5,CHARMANDER,0 -; Route 22 - db $FF,9,PIDGEY,8,SQUIRTLE,0 - db $FF,9,PIDGEY,8,BULBASAUR,0 - db $FF,9,PIDGEY,8,CHARMANDER,0 -; Cerulean City - db $FF,18,PIDGEOTTO,15,ABRA,15,RATTATA,17,SQUIRTLE,0 - db $FF,18,PIDGEOTTO,15,ABRA,15,RATTATA,17,BULBASAUR,0 - db $FF,18,PIDGEOTTO,15,ABRA,15,RATTATA,17,CHARMANDER,0 -ProfOakData: -; Unused - db $FF,66,TAUROS,67,EXEGGUTOR,68,ARCANINE,69,BLASTOISE,70,GYARADOS,0 - db $FF,66,TAUROS,67,EXEGGUTOR,68,ARCANINE,69,VENUSAUR,70,GYARADOS,0 - db $FF,66,TAUROS,67,EXEGGUTOR,68,ARCANINE,69,CHARIZARD,70,GYARADOS,0 -ChiefData: -; none -ScientistData: -; Unused - db 34,KOFFING,VOLTORB,0 -; Silph Co. 2F - db 26,GRIMER,WEEZING,KOFFING,WEEZING,0 - db 28,MAGNEMITE,VOLTORB,MAGNETON,0 -; Silph Co. 3F/Mansion 1F - db 29,ELECTRODE,WEEZING,0 -; Silph Co. 4F - db 33,ELECTRODE,0 -; Silph Co. 5F - db 26,MAGNETON,KOFFING,WEEZING,MAGNEMITE,0 -; Silph Co. 6F - db 25,VOLTORB,KOFFING,MAGNETON,MAGNEMITE,KOFFING,0 -; Silph Co. 7F - db 29,ELECTRODE,MUK,0 -; Silph Co. 8F - db 29,GRIMER,ELECTRODE,0 -; Silph Co. 9F - db 28,VOLTORB,KOFFING,MAGNETON,0 -; Silph Co. 10F - db 29,MAGNEMITE,KOFFING,0 -; Mansion 3F - db 33,MAGNEMITE,MAGNETON,VOLTORB,0 -; Mansion B1F - db 34,MAGNEMITE,ELECTRODE,0 -GiovanniData: -; Rocket Hideout B4F - db $FF,25,ONIX,24,RHYHORN,29,KANGASKHAN,0 -; Silph Co. 11F - db $FF,37,NIDORINO,35,KANGASKHAN,37,RHYHORN,41,NIDOQUEEN,0 -; Viridian Gym - db $FF,45,RHYHORN,42,DUGTRIO,44,NIDOQUEEN,45,NIDOKING,50,RHYDON,0 -RocketData: -; Mt. Moon B2F - db 13,RATTATA,ZUBAT,0 - db 11,SANDSHREW,RATTATA,ZUBAT,0 - db 12,ZUBAT,EKANS,0 - db 16,RATICATE,0 -; Cerulean City - db 17,MACHOP,DROWZEE,0 -; Route 24 - db 15,EKANS,ZUBAT,0 -; Game Corner - db 20,RATICATE,ZUBAT,0 -; Rocket Hideout B1F - db 21,DROWZEE,MACHOP,0 - db 21,RATICATE,RATICATE,0 - db 20,GRIMER,KOFFING,KOFFING,0 - db 19,RATTATA,RATICATE,RATICATE,RATTATA,0 - db 22,GRIMER,KOFFING,0 -; Rocket Hideout B2F - db 17,ZUBAT,KOFFING,GRIMER,ZUBAT,RATICATE,0 -; Rocket Hideout B3F - db 20,RATTATA,RATICATE,DROWZEE,0 - db 21,MACHOP,MACHOP,0 -; Rocket Hideout B4F - db 23,SANDSHREW,EKANS,SANDSLASH,0 - db 23,EKANS,SANDSHREW,ARBOK,0 - db 21,KOFFING,ZUBAT,0 -; Pokémon Tower 7F - db 25,ZUBAT,ZUBAT,GOLBAT,0 - db 26,KOFFING,DROWZEE,0 - db 23,ZUBAT,RATTATA,RATICATE,ZUBAT,0 -; Unused - db 26,DROWZEE,KOFFING,0 -; Silph Co. 2F - db 29,CUBONE,ZUBAT,0 - db 25,GOLBAT,ZUBAT,ZUBAT,RATICATE,ZUBAT,0 -; Silph Co. 3F - db 28,RATICATE,HYPNO,RATICATE,0 -; Silph Co. 4F - db 29,MACHOP,DROWZEE,0 - db 28,EKANS,ZUBAT,CUBONE,0 -; Silph Co. 5F - db 33,ARBOK,0 - db 33,HYPNO,0 -; Silph Co. 6F - db 29,MACHOP,MACHOKE,0 - db 28,ZUBAT,ZUBAT,GOLBAT,0 -; Silph Co. 7F - db 26,RATICATE,ARBOK,KOFFING,GOLBAT,0 - db 29,CUBONE,CUBONE,0 - db 29,SANDSHREW,SANDSLASH,0 -; Silph Co. 8F - db 26,RATICATE,ZUBAT,GOLBAT,RATTATA,0 - db 28,WEEZING,GOLBAT,KOFFING,0 -; Silph Co. 9F - db 28,DROWZEE,GRIMER,MACHOP,0 - db 28,GOLBAT,DROWZEE,HYPNO,0 -; Silph Co. 10F - db 33,MACHOKE,0 -; Silph Co. 11F - db 25,RATTATA,RATTATA,ZUBAT,RATTATA,EKANS,0 - db 32,CUBONE,DROWZEE,MAROWAK,0 -CooltrainerMData: -; Viridian Gym - db 39,NIDORINO,NIDOKING,0 -; Victory Road 3F - db 43,EXEGGUTOR,CLOYSTER,ARCANINE,0 - db 43,KINGLER,TENTACRUEL,BLASTOISE,0 -; Unused - db 45,KINGLER,STARMIE,0 -; Victory Road 1F - db 42,IVYSAUR,WARTORTLE,CHARMELEON,CHARIZARD,0 -; Unused - db 44,IVYSAUR,WARTORTLE,CHARMELEON,0 - db 49,NIDOKING,0 - db 44,KINGLER,CLOYSTER,0 -; Viridian Gym - db 39,SANDSLASH,DUGTRIO,0 - db 43,RHYHORN,0 -CooltrainerFData: -; Celadon Gym - db 24,WEEPINBELL,GLOOM,IVYSAUR,0 -; Victory Road 3F - db 43,BELLSPROUT,WEEPINBELL,VICTREEBEL,0 - db 43,PARASECT,DEWGONG,CHANSEY,0 -; Unused - db 46,VILEPLUME,BUTTERFREE,0 -; Victory Road 1F - db 44,PERSIAN,NINETALES,0 -; Unused - db 45,IVYSAUR,VENUSAUR,0 - db 45,NIDORINA,NIDOQUEEN,0 - db 43,PERSIAN,NINETALES,RAICHU,0 -BrunoData: - db $FF,53,ONIX,55,HITMONCHAN,55,HITMONLEE,56,ONIX,58,MACHAMP,0 -BrockData: - db $FF,12,GEODUDE,14,ONIX,0 -MistyData: - db $FF,18,STARYU,21,STARMIE,0 -LtSurgeData: - db $FF,21,VOLTORB,18,PIKACHU,24,RAICHU,0 -ErikaData: - db $FF,29,VICTREEBEL,24,TANGELA,29,VILEPLUME,0 -KogaData: - db $FF,37,KOFFING,39,MUK,37,KOFFING,43,WEEZING,0 -BlaineData: - db $FF,42,GROWLITHE,40,PONYTA,42,RAPIDASH,47,ARCANINE,0 -SabrinaData: - db $FF,38,KADABRA,37,MR_MIME,38,VENOMOTH,43,ALAKAZAM,0 -GentlemanData: -; SS Anne 1F Rooms - db 18,GROWLITHE,GROWLITHE,0 - db 19,NIDORAN_M,NIDORAN_F,0 -; SS Anne 2F Rooms/Vermilion Gym - db 23,PIKACHU,0 -; Unused - db 48,PRIMEAPE,0 -; SS Anne 2F Rooms - db 17,GROWLITHE,PONYTA,0 -Green2Data: -; SS Anne 2F - db $FF,19,PIDGEOTTO,16,RATICATE,18,KADABRA,20,WARTORTLE,0 - db $FF,19,PIDGEOTTO,16,RATICATE,18,KADABRA,20,IVYSAUR,0 - db $FF,19,PIDGEOTTO,16,RATICATE,18,KADABRA,20,CHARMELEON,0 -; Pokémon Tower 2F - db $FF,25,PIDGEOTTO,23,GROWLITHE,22,EXEGGCUTE,20,KADABRA,25,WARTORTLE,0 - db $FF,25,PIDGEOTTO,23,GYARADOS,22,GROWLITHE,20,KADABRA,25,IVYSAUR,0 - db $FF,25,PIDGEOTTO,23,EXEGGCUTE,22,GYARADOS,20,KADABRA,25,CHARMELEON,0 -; Silph Co. 7F - db $FF,37,PIDGEOT,38,GROWLITHE,35,EXEGGCUTE,35,ALAKAZAM,40,BLASTOISE,0 - db $FF,37,PIDGEOT,38,GYARADOS,35,GROWLITHE,35,ALAKAZAM,40,VENUSAUR,0 - db $FF,37,PIDGEOT,38,EXEGGCUTE,35,GYARADOS,35,ALAKAZAM,40,CHARIZARD,0 -; Route 22 - db $FF,47,PIDGEOT,45,RHYHORN,45,GROWLITHE,47,EXEGGCUTE,50,ALAKAZAM,53,BLASTOISE,0 - db $FF,47,PIDGEOT,45,RHYHORN,45,GYARADOS,47,GROWLITHE,50,ALAKAZAM,53,VENUSAUR,0 - db $FF,47,PIDGEOT,45,RHYHORN,45,EXEGGCUTE,47,GYARADOS,50,ALAKAZAM,53,CHARIZARD,0 -Green3Data: - db $FF,61,PIDGEOT,59,ALAKAZAM,61,RHYDON,61,ARCANINE,63,EXEGGUTOR,65,BLASTOISE,0 - db $FF,61,PIDGEOT,59,ALAKAZAM,61,RHYDON,61,GYARADOS,63,ARCANINE,65,VENUSAUR,0 - db $FF,61,PIDGEOT,59,ALAKAZAM,61,RHYDON,61,EXEGGUTOR,63,GYARADOS,65,CHARIZARD,0 -LoreleiData: - db $FF,54,DEWGONG,53,CLOYSTER,54,SLOWBRO,56,JYNX,56,LAPRAS,0 -ChannelerData: -; Unused - db 22,GASTLY,0 - db 24,GASTLY,0 - db 23,GASTLY,GASTLY,0 - db 24,GASTLY,0 -; Pokémon Tower 3F - db 23,GASTLY,0 - db 24,GASTLY,0 -; Unused - db 24,HAUNTER,0 -; Pokémon Tower 3F - db 22,GASTLY,0 -; Pokémon Tower 4F - db 24,GASTLY,0 - db 23,GASTLY,GASTLY,0 -; Unused - db 24,GASTLY,0 -; Pokémon Tower 4F - db 22,GASTLY,0 -; Unused - db 24,GASTLY,0 -; Pokémon Tower 5F - db 23,HAUNTER,0 -; Unused - db 24,GASTLY,0 -; Pokémon Tower 5F - db 22,GASTLY,0 - db 24,GASTLY,0 - db 22,HAUNTER,0 -; Pokémon Tower 6F - db 22,GASTLY,GASTLY,GASTLY,0 - db 24,GASTLY,0 - db 24,GASTLY,0 -; Saffron Gym - db 34,GASTLY,HAUNTER,0 - db 38,HAUNTER,0 - db 33,GASTLY,GASTLY,HAUNTER,0 -AgathaData: - db $FF,56,GENGAR,56,GOLBAT,55,HAUNTER,58,ARBOK,60,GENGAR,0 -LanceData: - db $FF,58,GYARADOS,56,DRAGONAIR,56,DRAGONAIR,60,AERODACTYL,62,DRAGONITE,0 diff --git a/data/trainer_pic_money_pointers.asm b/data/trainer_pic_money_pointers.asm deleted file mode 100755 index 85f34497..00000000 --- a/data/trainer_pic_money_pointers.asm +++ /dev/null @@ -1,143 +0,0 @@ -TrainerPicAndMoneyPointers:: -; trainer pic pointers and base money. -; money received after battle = base money × level of highest-level enemy mon - dw YoungsterPic - money 1500 - - dw BugCatcherPic - money 1000 - - dw LassPic - money 1500 - - dw SailorPic - money 3000 - - dw JrTrainerMPic - money 2000 - - dw JrTrainerFPic - money 2000 - - dw PokemaniacPic - money 5000 - - dw SuperNerdPic - money 2500 - - dw HikerPic - money 3500 - - dw BikerPic - money 2000 - - dw BurglarPic - money 9000 - - dw EngineerPic - money 5000 - - dw JugglerPic - money 3500 - - dw FisherPic - money 3500 - - dw SwimmerPic - money 500 - - dw CueBallPic - money 2500 - - dw GamblerPic - money 7000 - - dw BeautyPic - money 7000 - - dw PsychicPic - money 1000 - - dw RockerPic - money 2500 - - dw JugglerPic - money 3500 - - dw TamerPic - money 4000 - - dw BirdKeeperPic - money 2500 - - dw BlackbeltPic - money 2500 - - dw Rival1Pic - money 3500 - - dw ProfOakPic - money 9900 - - dw ChiefPic - money 3000 - - dw ScientistPic - money 5000 - - dw GiovanniPic - money 9900 - - dw RocketPic - money 3000 - - dw CooltrainerMPic - money 3500 - - dw CooltrainerFPic - money 3500 - - dw BrunoPic - money 9900 - - dw BrockPic - money 9900 - - dw MistyPic - money 9900 - - dw LtSurgePic - money 9900 - - dw ErikaPic - money 9900 - - dw KogaPic - money 9900 - - dw BlainePic - money 9900 - - dw SabrinaPic - money 9900 - - dw GentlemanPic - money 7000 - - dw Rival2Pic - money 6500 - - dw Rival3Pic - money 9900 - - dw LoreleiPic - money 9900 - - dw ChannelerPic - money 3000 - - dw AgathaPic - money 9900 - - dw LancePic - money 9900 diff --git a/data/trainer_types.asm b/data/trainer_types.asm deleted file mode 100755 index cc7ca605..00000000 --- a/data/trainer_types.asm +++ /dev/null @@ -1,17 +0,0 @@ -FemaleTrainerList:: - db OPP_LASS - db OPP_JR_TRAINER_F - db OPP_BEAUTY - db OPP_COOLTRAINER_F - db $FF - -EvilTrainerList:: - db OPP_JUGGLER_X - db OPP_GAMBLER - db OPP_ROCKER - db OPP_JUGGLER - db OPP_CHIEF - db OPP_SCIENTIST - db OPP_GIOVANNI - db OPP_ROCKET - db $FF diff --git a/data/trainers/ai_pointers.asm b/data/trainers/ai_pointers.asm new file mode 100644 index 00000000..26f3001e --- /dev/null +++ b/data/trainers/ai_pointers.asm @@ -0,0 +1,52 @@ +TrainerAIPointers: +; one entry per trainer class +; first byte, number of times (per Pokémon) it can occur +; next two bytes, pointer to AI subroutine for trainer class +; subroutines are defined in engine/battle/trainer_ai.asm + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,JugglerAI ; juggler_x + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,JugglerAI ; juggler + dbw 3,GenericAI + dbw 3,GenericAI + dbw 2,BlackbeltAI ; blackbelt + dbw 3,GenericAI + dbw 3,GenericAI + dbw 1,GenericAI ; chief + dbw 3,GenericAI + dbw 1,GiovanniAI ; giovanni + dbw 3,GenericAI + dbw 2,CooltrainerMAI ; cooltrainerm + dbw 1,CooltrainerFAI ; cooltrainerf + dbw 2,BrunoAI ; bruno + dbw 5,BrockAI ; brock + dbw 1,MistyAI ; misty + dbw 1,LtSurgeAI ; surge + dbw 1,ErikaAI ; erika + dbw 2,KogaAI ; koga + dbw 2,BlaineAI ; blaine + dbw 1,SabrinaAI ; sabrina + dbw 3,GenericAI + dbw 1,Sony2AI ; sony2 + dbw 1,Sony3AI ; sony3 + dbw 2,LoreleiAI ; lorelei + dbw 3,GenericAI + dbw 2,AgathaAI ; agatha + dbw 1,LanceAI ; lance diff --git a/data/trainers/encounter_types.asm b/data/trainers/encounter_types.asm new file mode 100755 index 00000000..cc7ca605 --- /dev/null +++ b/data/trainers/encounter_types.asm @@ -0,0 +1,17 @@ +FemaleTrainerList:: + db OPP_LASS + db OPP_JR_TRAINER_F + db OPP_BEAUTY + db OPP_COOLTRAINER_F + db $FF + +EvilTrainerList:: + db OPP_JUGGLER_X + db OPP_GAMBLER + db OPP_ROCKER + db OPP_JUGGLER + db OPP_CHIEF + db OPP_SCIENTIST + db OPP_GIOVANNI + db OPP_ROCKET + db $FF diff --git a/data/trainers/move_choices.asm b/data/trainers/move_choices.asm new file mode 100644 index 00000000..ccbae448 --- /dev/null +++ b/data/trainers/move_choices.asm @@ -0,0 +1,50 @@ +; move choice modification methods that are applied for each trainer class +; 0 is sentinel value +TrainerClassMoveChoiceModifications: + db 0 ; YOUNGSTER + db 1,0 ; BUG CATCHER + db 1,0 ; LASS + db 1,3,0 ; SAILOR + db 1,0 ; JR_TRAINER_M + db 1,0 ; JR_TRAINER_F + db 1,2,3,0; POKEMANIAC + db 1,2,0 ; SUPER_NERD + db 1,0 ; HIKER + db 1,0 ; BIKER + db 1,3,0 ; BURGLAR + db 1,0 ; ENGINEER + db 1,2,0 ; JUGGLER_X + db 1,3,0 ; FISHER + db 1,3,0 ; SWIMMER + db 0 ; CUE_BALL + db 1,0 ; GAMBLER + db 1,3,0 ; BEAUTY + db 1,2,0 ; PSYCHIC_TR + db 1,3,0 ; ROCKER + db 1,0 ; JUGGLER + db 1,0 ; TAMER + db 1,0 ; BIRD_KEEPER + db 1,0 ; BLACKBELT + db 1,0 ; SONY1 + db 1,3,0 ; PROF_OAK + db 1,2,0 ; CHIEF + db 1,2,0 ; SCIENTIST + db 1,3,0 ; GIOVANNI + db 1,0 ; ROCKET + db 1,3,0 ; COOLTRAINER_M + db 1,3,0 ; COOLTRAINER_F + db 1,0 ; BRUNO + db 1,0 ; BROCK + db 1,3,0 ; MISTY + db 1,3,0 ; LT_SURGE + db 1,3,0 ; ERIKA + db 1,3,0 ; KOGA + db 1,3,0 ; BLAINE + db 1,3,0 ; SABRINA + db 1,2,0 ; GENTLEMAN + db 1,3,0 ; SONY2 + db 1,3,0 ; SONY3 + db 1,2,3,0; LORELEI + db 1,0 ; CHANNELER + db 1,0 ; AGATHA + db 1,3,0 ; LANCE diff --git a/data/trainers/name_pointers.asm b/data/trainers/name_pointers.asm new file mode 100644 index 00000000..aa5e72d3 --- /dev/null +++ b/data/trainers/name_pointers.asm @@ -0,0 +1,92 @@ +TrainerNamePointers: +; what is the point of these? + dw YoungsterName + dw BugCatcherName + dw LassName + dw wTrainerName + dw JrTrainerMName + dw JrTrainerFName + dw PokemaniacName + dw SuperNerdName + dw wTrainerName + dw wTrainerName + dw BurglarName + dw EngineerName + dw JugglerXName + dw wTrainerName + dw SwimmerName + dw wTrainerName + dw wTrainerName + dw BeautyName + dw wTrainerName + dw RockerName + dw JugglerName + dw wTrainerName + dw wTrainerName + dw BlackbeltName + dw wTrainerName + dw ProfOakName + dw ChiefName + dw ScientistName + dw wTrainerName + dw RocketName + dw CooltrainerMName + dw CooltrainerFName + dw wTrainerName + dw wTrainerName + dw wTrainerName + dw wTrainerName + dw wTrainerName + dw wTrainerName + dw wTrainerName + dw wTrainerName + dw wTrainerName + dw wTrainerName + dw wTrainerName + dw wTrainerName + dw wTrainerName + dw wTrainerName + dw wTrainerName + +YoungsterName: + db "YOUNGSTER@" +BugCatcherName: + db "BUG CATCHER@" +LassName: + db "LASS@" +JrTrainerMName: + db "JR.TRAINER♂@" +JrTrainerFName: + db "JR.TRAINER♀@" +PokemaniacName: + db "POKéMANIAC@" +SuperNerdName: + db "SUPER NERD@" +BurglarName: + db "BURGLAR@" +EngineerName: + db "ENGINEER@" +JugglerXName: + db "JUGGLER@" +SwimmerName: + db "SWIMMER@" +BeautyName: + db "BEAUTY@" +RockerName: + db "ROCKER@" +JugglerName: + db "JUGGLER@" +BlackbeltName: + db "BLACKBELT@" +ProfOakName: + db "PROF.OAK@" +ChiefName: + db "CHIEF@" +ScientistName: + db "SCIENTIST@" +RocketName: + db "ROCKET@" +CooltrainerMName: + db "COOLTRAINER♂@" +CooltrainerFName: + db "COOLTRAINER♀@" diff --git a/data/trainers/names.asm b/data/trainers/names.asm new file mode 100755 index 00000000..d8e1f550 --- /dev/null +++ b/data/trainers/names.asm @@ -0,0 +1,48 @@ +TrainerNames:: + db "YOUNGSTER@" + db "BUG CATCHER@" + db "LASS@" + db "SAILOR@" + db "JR.TRAINER♂@" + db "JR.TRAINER♀@" + db "POKéMANIAC@" + db "SUPER NERD@" + db "HIKER@" + db "BIKER@" + db "BURGLAR@" + db "ENGINEER@" + db "JUGGLER@" + db "FISHERMAN@" + db "SWIMMER@" + db "CUE BALL@" + db "GAMBLER@" + db "BEAUTY@" + db "PSYCHIC@" + db "ROCKER@" + db "JUGGLER@" + db "TAMER@" + db "BIRD KEEPER@" + db "BLACKBELT@" + db "RIVAL1@" + db "PROF.OAK@" + db "CHIEF@" + db "SCIENTIST@" + db "GIOVANNI@" + db "ROCKET@" + db "COOLTRAINER♂@" + db "COOLTRAINER♀@" + db "BRUNO@" + db "BROCK@" + db "MISTY@" + db "LT.SURGE@" + db "ERIKA@" + db "KOGA@" + db "BLAINE@" + db "SABRINA@" + db "GENTLEMAN@" + db "RIVAL2@" + db "RIVAL3@" + db "LORELEI@" + db "CHANNELER@" + db "AGATHA@" + db "LANCE@" diff --git a/data/trainers/parties.asm b/data/trainers/parties.asm new file mode 100755 index 00000000..e448d431 --- /dev/null +++ b/data/trainers/parties.asm @@ -0,0 +1,696 @@ +TrainerDataPointers: + dw YoungsterData + dw BugCatcherData + dw LassData + dw SailorData + dw JrTrainerMData + dw JrTrainerFData + dw PokemaniacData + dw SuperNerdData + dw HikerData + dw BikerData + dw BurglarData + dw EngineerData + dw Juggler1Data + dw FisherData + dw SwimmerData + dw CueBallData + dw GamblerData + dw BeautyData + dw PsychicData + dw RockerData + dw JugglerData + dw TamerData + dw BirdKeeperData + dw BlackbeltData + dw Green1Data + dw ProfOakData + dw ChiefData + dw ScientistData + dw GiovanniData + dw RocketData + dw CooltrainerMData + dw CooltrainerFData + dw BrunoData + dw BrockData + dw MistyData + dw LtSurgeData + dw ErikaData + dw KogaData + dw BlaineData + dw SabrinaData + dw GentlemanData + dw Green2Data + dw Green3Data + dw LoreleiData + dw ChannelerData + dw AgathaData + dw LanceData + +; if first byte != FF, then + ; first byte is level (of all pokemon on this team) + ; all the next bytes are pokemon species + ; null-terminated +; if first byte == FF, then + ; first byte is FF (obviously) + ; every next two bytes are a level and species + ; null-terminated + +YoungsterData: +; Route 3 + db 11,RATTATA,EKANS,0 + db 14,SPEAROW,0 +; Mt. Moon 1F + db 10,RATTATA,RATTATA,ZUBAT,0 +; Route 24 + db 14,RATTATA,EKANS,ZUBAT,0 +; Route 25 + db 15,RATTATA,SPEAROW,0 + db 17,SLOWPOKE,0 + db 14,EKANS,SANDSHREW,0 +; SS Anne 1F Rooms + db 21,NIDORAN_M,0 +; Route 11 + db 21,EKANS,0 + db 19,SANDSHREW,ZUBAT,0 + db 17,RATTATA,RATTATA,RATICATE,0 + db 18,NIDORAN_M,NIDORINO,0 +; Unused + db 17,SPEAROW,RATTATA,RATTATA,SPEAROW,0 +BugCatcherData: +; Viridian Forest + db 6,WEEDLE,CATERPIE,0 + db 7,WEEDLE,KAKUNA,WEEDLE,0 + db 9,WEEDLE,0 +; Route 3 + db 10,CATERPIE,WEEDLE,CATERPIE,0 + db 9,WEEDLE,KAKUNA,CATERPIE,METAPOD,0 + db 11,CATERPIE,METAPOD,0 +; Mt. Moon 1F + db 11,WEEDLE,KAKUNA,0 + db 10,CATERPIE,METAPOD,CATERPIE,0 +; Route 24 + db 14,CATERPIE,WEEDLE,0 +; Route 6 + db 16,WEEDLE,CATERPIE,WEEDLE,0 + db 20,BUTTERFREE,0 +; Unused + db 18,METAPOD,CATERPIE,VENONAT,0 +; Route 9 + db 19,BEEDRILL,BEEDRILL,0 + db 20,CATERPIE,WEEDLE,VENONAT,0 +LassData: +; Route 3 + db 9,PIDGEY,PIDGEY,0 + db 10,RATTATA,NIDORAN_M,0 + db 14,JIGGLYPUFF,0 +; Route 4 + db 31,PARAS,PARAS,PARASECT,0 +; Mt. Moon 1F + db 11,ODDISH,BELLSPROUT,0 + db 14,CLEFAIRY,0 +; Route 24 + db 16,PIDGEY,NIDORAN_F,0 + db 14,PIDGEY,NIDORAN_F,0 +; Route 25 + db 15,NIDORAN_M,NIDORAN_F,0 + db 13,ODDISH,PIDGEY,ODDISH,0 +; SS Anne 1F Rooms + db 18,PIDGEY,NIDORAN_F,0 +; SS Anne 2F Rooms + db 18,RATTATA,PIKACHU,0 +; Route 8 + db 23,NIDORAN_F,NIDORINA,0 + db 24,MEOWTH,MEOWTH,MEOWTH,0 + db 19,PIDGEY,RATTATA,NIDORAN_M,MEOWTH,PIKACHU,0 + db 22,CLEFAIRY,CLEFAIRY,0 +; Celadon Gym + db 23,BELLSPROUT,WEEPINBELL,0 + db 23,ODDISH,GLOOM,0 +SailorData: +; SS Anne Stern + db 18,MACHOP,SHELLDER,0 + db 17,MACHOP,TENTACOOL,0 +; SS Anne B1F Rooms + db 21,SHELLDER,0 + db 17,HORSEA,SHELLDER,TENTACOOL,0 + db 18,TENTACOOL,STARYU,0 + db 17,HORSEA,HORSEA,HORSEA,0 + db 20,MACHOP,0 +; Vermilion Gym + db 21,PIKACHU,PIKACHU,0 +JrTrainerMData: +; Pewter Gym + db 11,DIGLETT,SANDSHREW,0 +; Route 24/Route 25 + db 14,RATTATA,EKANS,0 +; Route 24 + db 18,MANKEY,0 +; Route 6 + db 20,SQUIRTLE,0 + db 16,SPEAROW,RATICATE,0 +; Unused + db 18,DIGLETT,DIGLETT,SANDSHREW,0 +; Route 9 + db 21,GROWLITHE,CHARMANDER,0 + db 19,RATTATA,DIGLETT,EKANS,SANDSHREW,0 +; Route 12 + db 29,NIDORAN_M,NIDORINO,0 +JrTrainerFData: +; Cerulean Gym + db 19,GOLDEEN,0 +; Route 6 + db 16,RATTATA,PIKACHU,0 + db 16,PIDGEY,PIDGEY,PIDGEY,0 +; Unused + db 22,BULBASAUR,0 +; Route 9 + db 18,ODDISH,BELLSPROUT,ODDISH,BELLSPROUT,0 + db 23,MEOWTH,0 +; Route 10 + db 20,PIKACHU,CLEFAIRY,0 + db 21,PIDGEY,PIDGEOTTO,0 +; Rock Tunnel B1F + db 21,JIGGLYPUFF,PIDGEY,MEOWTH,0 + db 22,ODDISH,BULBASAUR,0 +; Celadon Gym + db 24,BULBASAUR,IVYSAUR,0 +; Route 13 + db 24,PIDGEY,MEOWTH,RATTATA,PIKACHU,MEOWTH,0 + db 30,POLIWAG,POLIWAG,0 + db 27,PIDGEY,MEOWTH,PIDGEY,PIDGEOTTO,0 + db 28,GOLDEEN,POLIWAG,HORSEA,0 +; Route 20 + db 31,GOLDEEN,SEAKING,0 +; Rock Tunnel 1F + db 22,BELLSPROUT,CLEFAIRY,0 + db 20,MEOWTH,ODDISH,PIDGEY,0 + db 19,PIDGEY,RATTATA,RATTATA,BELLSPROUT,0 +; Route 15 + db 28,GLOOM,ODDISH,ODDISH,0 + db 29,PIKACHU,RAICHU,0 + db 33,CLEFAIRY,0 + db 29,BELLSPROUT,ODDISH,TANGELA,0 +; Route 20 + db 30,TENTACOOL,HORSEA,SEEL,0 +PokemaniacData: +; Route 10 + db 30,RHYHORN,LICKITUNG,0 + db 20,CUBONE,SLOWPOKE,0 +; Rock Tunnel B1F + db 20,SLOWPOKE,SLOWPOKE,SLOWPOKE,0 + db 22,CHARMANDER,CUBONE,0 + db 25,SLOWPOKE,0 +; Victory Road 2F + db 40,CHARMELEON,LAPRAS,LICKITUNG,0 +; Rock Tunnel 1F + db 23,CUBONE,SLOWPOKE,0 +SuperNerdData: +; Mt. Moon 1F + db 11,MAGNEMITE,VOLTORB,0 +; Mt. Moon B2F + db 12,GRIMER,VOLTORB,KOFFING,0 +; Route 8 + db 20,VOLTORB,KOFFING,VOLTORB,MAGNEMITE,0 + db 22,GRIMER,MUK,GRIMER,0 + db 26,KOFFING,0 +; Unused + db 22,KOFFING,MAGNEMITE,WEEZING,0 + db 20,MAGNEMITE,MAGNEMITE,KOFFING,MAGNEMITE,0 + db 24,MAGNEMITE,VOLTORB,0 +; Cinnabar Gym + db 36,VULPIX,VULPIX,NINETALES,0 + db 34,PONYTA,CHARMANDER,VULPIX,GROWLITHE,0 + db 41,RAPIDASH,0 + db 37,GROWLITHE,VULPIX,0 +HikerData: +; Mt. Moon 1F + db 10,GEODUDE,GEODUDE,ONIX,0 +; Route 25 + db 15,MACHOP,GEODUDE,0 + db 13,GEODUDE,GEODUDE,MACHOP,GEODUDE,0 + db 17,ONIX,0 +; Route 9 + db 21,GEODUDE,ONIX,0 + db 20,GEODUDE,MACHOP,GEODUDE,0 +; Route 10 + db 21,GEODUDE,ONIX,0 + db 19,ONIX,GRAVELER,0 +; Rock Tunnel B1F + db 21,GEODUDE,GEODUDE,GRAVELER,0 + db 25,GEODUDE,0 +; Route 9/Rock Tunnel B1F + db 20,MACHOP,ONIX,0 +; Rock Tunnel 1F + db 19,GEODUDE,MACHOP,GEODUDE,GEODUDE,0 + db 20,ONIX,ONIX,GEODUDE,0 + db 21,GEODUDE,GRAVELER,0 +BikerData: +; Route 13 + db 28,KOFFING,KOFFING,KOFFING,0 +; Route 14 + db 29,KOFFING,GRIMER,0 +; Route 15 + db 25,KOFFING,KOFFING,WEEZING,KOFFING,GRIMER,0 + db 28,KOFFING,GRIMER,WEEZING,0 +; Route 16 + db 29,GRIMER,KOFFING,0 + db 33,WEEZING,0 + db 26,GRIMER,GRIMER,GRIMER,GRIMER,0 +; Route 17 + ; From https://www.smogon.com/smog/issue27/glitch: + ; 0E:5FC2 is offset of the ending 0 for this first Biker on Route 17. + ; BaseStats + (MonBaseStatsEnd - MonBaseStats) * (000 - 1) = $5FC2; + ; that's the formula from GetMonHeader for the base stats of mon #000. + ; (BaseStats = $43DE and BANK(BaseStats) = $0E.) + ; Finally, PokedexOrder lists 0 as the dex ID for every MissingNo. + ; The result is that this data gets interpreted as the base stats + ; for MissingNo: 0,33,MUK,0,29,VOLTORB,VOLTORB,0,...,28,GRIMER,GRIMER. + db 28,WEEZING,KOFFING,WEEZING,0 + db 33,MUK,0 + db 29,VOLTORB,VOLTORB,0 + db 29,WEEZING,MUK,0 + db 25,KOFFING,WEEZING,KOFFING,KOFFING,WEEZING,0 +; Route 14 + db 26,KOFFING,KOFFING,GRIMER,KOFFING,0 + db 28,GRIMER,GRIMER,KOFFING,0 + db 29,KOFFING,MUK,0 +BurglarData: +; Unused + db 29,GROWLITHE,VULPIX,0 + db 33,GROWLITHE,0 + db 28,VULPIX,CHARMANDER,PONYTA,0 +; Cinnabar Gym + db 36,GROWLITHE,VULPIX,NINETALES,0 + db 41,PONYTA,0 + db 37,VULPIX,GROWLITHE,0 +; Mansion 2F + db 34,CHARMANDER,CHARMELEON,0 +; Mansion 3F + db 38,NINETALES,0 +; Mansion B1F + db 34,GROWLITHE,PONYTA,0 +EngineerData: +; Unused + db 21,VOLTORB,MAGNEMITE,0 +; Route 11 + db 21,MAGNEMITE,0 + db 18,MAGNEMITE,MAGNEMITE,MAGNETON,0 +Juggler1Data: +; none +FisherData: +; SS Anne 2F Rooms + db 17,GOLDEEN,TENTACOOL,GOLDEEN,0 +; SS Anne B1F Rooms + db 17,TENTACOOL,STARYU,SHELLDER,0 +; Route 12 + db 22,GOLDEEN,POLIWAG,GOLDEEN,0 + db 24,TENTACOOL,GOLDEEN,0 + db 27,GOLDEEN,0 + db 21,POLIWAG,SHELLDER,GOLDEEN,HORSEA,0 +; Route 21 + db 28,SEAKING,GOLDEEN,SEAKING,SEAKING,0 + db 31,SHELLDER,CLOYSTER,0 + db 27,MAGIKARP,MAGIKARP,MAGIKARP,MAGIKARP,MAGIKARP,MAGIKARP,0 + db 33,SEAKING,GOLDEEN,0 +; Route 12 + db 24,MAGIKARP,MAGIKARP,0 +SwimmerData: +; Cerulean Gym + db 16,HORSEA,SHELLDER,0 +; Route 19 + db 30,TENTACOOL,SHELLDER,0 + db 29,GOLDEEN,HORSEA,STARYU,0 + db 30,POLIWAG,POLIWHIRL,0 + db 27,HORSEA,TENTACOOL,TENTACOOL,GOLDEEN,0 + db 29,GOLDEEN,SHELLDER,SEAKING,0 + db 30,HORSEA,HORSEA,0 + db 27,TENTACOOL,TENTACOOL,STARYU,HORSEA,TENTACRUEL,0 +; Route 20 + db 31,SHELLDER,CLOYSTER,0 + db 35,STARYU,0 + db 28,HORSEA,HORSEA,SEADRA,HORSEA,0 +; Route 21 + db 33,SEADRA,TENTACRUEL,0 + db 37,STARMIE,0 + db 33,STARYU,WARTORTLE,0 + db 32,POLIWHIRL,TENTACOOL,SEADRA,0 +CueBallData: +; Route 16 + db 28,MACHOP,MANKEY,MACHOP,0 + db 29,MANKEY,MACHOP,0 + db 33,MACHOP,0 +; Route 17 + db 29,MANKEY,PRIMEAPE,0 + db 29,MACHOP,MACHOKE,0 + db 33,MACHOKE,0 + db 26,MANKEY,MANKEY,MACHOKE,MACHOP,0 + db 29,PRIMEAPE,MACHOKE,0 +; Route 21 + db 31,TENTACOOL,TENTACOOL,TENTACRUEL,0 +GamblerData: +; Route 11 + db 18,POLIWAG,HORSEA,0 + db 18,BELLSPROUT,ODDISH,0 + db 18,VOLTORB,MAGNEMITE,0 + db 18,GROWLITHE,VULPIX,0 +; Route 8 + db 22,POLIWAG,POLIWAG,POLIWHIRL,0 +; Unused + db 22,ONIX,GEODUDE,GRAVELER,0 +; Route 8 + db 24,GROWLITHE,VULPIX,0 +BeautyData: +; Celadon Gym + db 21,ODDISH,BELLSPROUT,ODDISH,BELLSPROUT,0 + db 24,BELLSPROUT,BELLSPROUT,0 + db 26,EXEGGCUTE,0 +; Route 13 + db 27,RATTATA,PIKACHU,RATTATA,0 + db 29,CLEFAIRY,MEOWTH,0 +; Route 20 + db 35,SEAKING,0 + db 30,SHELLDER,SHELLDER,CLOYSTER,0 + db 31,POLIWAG,SEAKING,0 +; Route 15 + db 29,PIDGEOTTO,WIGGLYTUFF,0 + db 29,BULBASAUR,IVYSAUR,0 +; Unused + db 33,WEEPINBELL,BELLSPROUT,WEEPINBELL,0 +; Route 19 + db 27,POLIWAG,GOLDEEN,SEAKING,GOLDEEN,POLIWAG,0 + db 30,GOLDEEN,SEAKING,0 + db 29,STARYU,STARYU,STARYU,0 +; Route 20 + db 30,SEADRA,HORSEA,SEADRA,0 +PsychicData: +; Saffron Gym + db 31,KADABRA,SLOWPOKE,MR_MIME,KADABRA,0 + db 34,MR_MIME,KADABRA,0 + db 33,SLOWPOKE,SLOWPOKE,SLOWBRO,0 + db 38,SLOWBRO,0 +RockerData: +; Vermilion Gym + db 20,VOLTORB,MAGNEMITE,VOLTORB,0 +; Route 12 + db 29,VOLTORB,ELECTRODE,0 +JugglerData: +; Silph Co. 5F + db 29,KADABRA,MR_MIME,0 +; Victory Road 2F + db 41,DROWZEE,HYPNO,KADABRA,KADABRA,0 +; Fuchsia Gym + db 31,DROWZEE,DROWZEE,KADABRA,DROWZEE,0 + db 34,DROWZEE,HYPNO,0 +; Victory Road 2F + db 48,MR_MIME,0 +; Unused + db 33,HYPNO,0 +; Fuchsia Gym + db 38,HYPNO,0 + db 34,DROWZEE,KADABRA,0 +TamerData: +; Fuchsia Gym + db 34,SANDSLASH,ARBOK,0 + db 33,ARBOK,SANDSLASH,ARBOK,0 +; Viridian Gym + db 43,RHYHORN,0 + db 39,ARBOK,TAUROS,0 +; Victory Road 2F + db 44,PERSIAN,GOLDUCK,0 +; Unused + db 42,RHYHORN,PRIMEAPE,ARBOK,TAUROS,0 +BirdKeeperData: +; Route 13 + db 29,PIDGEY,PIDGEOTTO,0 + db 25,SPEAROW,PIDGEY,PIDGEY,SPEAROW,SPEAROW,0 + db 26,PIDGEY,PIDGEOTTO,SPEAROW,FEAROW,0 +; Route 14 + db 33,FARFETCHD,0 + db 29,SPEAROW,FEAROW,0 +; Route 15 + db 26,PIDGEOTTO,FARFETCHD,DODUO,PIDGEY,0 + db 28,DODRIO,DODUO,DODUO,0 +; Route 18 + db 29,SPEAROW,FEAROW,0 + db 34,DODRIO,0 + db 26,SPEAROW,SPEAROW,FEAROW,SPEAROW,0 +; Route 20 + db 30,FEAROW,FEAROW,PIDGEOTTO,0 +; Unused + db 39,PIDGEOTTO,PIDGEOTTO,PIDGEY,PIDGEOTTO,0 + db 42,FARFETCHD,FEAROW,0 +; Route 14 + db 28,PIDGEY,DODUO,PIDGEOTTO,0 + db 26,PIDGEY,SPEAROW,PIDGEY,FEAROW,0 + db 29,PIDGEOTTO,FEAROW,0 + db 28,SPEAROW,DODUO,FEAROW,0 +BlackbeltData: +; Fighting Dojo + db 37,HITMONLEE,HITMONCHAN,0 + db 31,MANKEY,MANKEY,PRIMEAPE,0 + db 32,MACHOP,MACHOKE,0 + db 36,PRIMEAPE,0 + db 31,MACHOP,MANKEY,PRIMEAPE,0 +; Viridian Gym + db 40,MACHOP,MACHOKE,0 + db 43,MACHOKE,0 + db 38,MACHOKE,MACHOP,MACHOKE,0 +; Victory Road 2F + db 43,MACHOKE,MACHOP,MACHOKE,0 +Green1Data: + db 5,SQUIRTLE,0 + db 5,BULBASAUR,0 + db 5,CHARMANDER,0 +; Route 22 + db $FF,9,PIDGEY,8,SQUIRTLE,0 + db $FF,9,PIDGEY,8,BULBASAUR,0 + db $FF,9,PIDGEY,8,CHARMANDER,0 +; Cerulean City + db $FF,18,PIDGEOTTO,15,ABRA,15,RATTATA,17,SQUIRTLE,0 + db $FF,18,PIDGEOTTO,15,ABRA,15,RATTATA,17,BULBASAUR,0 + db $FF,18,PIDGEOTTO,15,ABRA,15,RATTATA,17,CHARMANDER,0 +ProfOakData: +; Unused + db $FF,66,TAUROS,67,EXEGGUTOR,68,ARCANINE,69,BLASTOISE,70,GYARADOS,0 + db $FF,66,TAUROS,67,EXEGGUTOR,68,ARCANINE,69,VENUSAUR,70,GYARADOS,0 + db $FF,66,TAUROS,67,EXEGGUTOR,68,ARCANINE,69,CHARIZARD,70,GYARADOS,0 +ChiefData: +; none +ScientistData: +; Unused + db 34,KOFFING,VOLTORB,0 +; Silph Co. 2F + db 26,GRIMER,WEEZING,KOFFING,WEEZING,0 + db 28,MAGNEMITE,VOLTORB,MAGNETON,0 +; Silph Co. 3F/Mansion 1F + db 29,ELECTRODE,WEEZING,0 +; Silph Co. 4F + db 33,ELECTRODE,0 +; Silph Co. 5F + db 26,MAGNETON,KOFFING,WEEZING,MAGNEMITE,0 +; Silph Co. 6F + db 25,VOLTORB,KOFFING,MAGNETON,MAGNEMITE,KOFFING,0 +; Silph Co. 7F + db 29,ELECTRODE,MUK,0 +; Silph Co. 8F + db 29,GRIMER,ELECTRODE,0 +; Silph Co. 9F + db 28,VOLTORB,KOFFING,MAGNETON,0 +; Silph Co. 10F + db 29,MAGNEMITE,KOFFING,0 +; Mansion 3F + db 33,MAGNEMITE,MAGNETON,VOLTORB,0 +; Mansion B1F + db 34,MAGNEMITE,ELECTRODE,0 +GiovanniData: +; Rocket Hideout B4F + db $FF,25,ONIX,24,RHYHORN,29,KANGASKHAN,0 +; Silph Co. 11F + db $FF,37,NIDORINO,35,KANGASKHAN,37,RHYHORN,41,NIDOQUEEN,0 +; Viridian Gym + db $FF,45,RHYHORN,42,DUGTRIO,44,NIDOQUEEN,45,NIDOKING,50,RHYDON,0 +RocketData: +; Mt. Moon B2F + db 13,RATTATA,ZUBAT,0 + db 11,SANDSHREW,RATTATA,ZUBAT,0 + db 12,ZUBAT,EKANS,0 + db 16,RATICATE,0 +; Cerulean City + db 17,MACHOP,DROWZEE,0 +; Route 24 + db 15,EKANS,ZUBAT,0 +; Game Corner + db 20,RATICATE,ZUBAT,0 +; Rocket Hideout B1F + db 21,DROWZEE,MACHOP,0 + db 21,RATICATE,RATICATE,0 + db 20,GRIMER,KOFFING,KOFFING,0 + db 19,RATTATA,RATICATE,RATICATE,RATTATA,0 + db 22,GRIMER,KOFFING,0 +; Rocket Hideout B2F + db 17,ZUBAT,KOFFING,GRIMER,ZUBAT,RATICATE,0 +; Rocket Hideout B3F + db 20,RATTATA,RATICATE,DROWZEE,0 + db 21,MACHOP,MACHOP,0 +; Rocket Hideout B4F + db 23,SANDSHREW,EKANS,SANDSLASH,0 + db 23,EKANS,SANDSHREW,ARBOK,0 + db 21,KOFFING,ZUBAT,0 +; Pokémon Tower 7F + db 25,ZUBAT,ZUBAT,GOLBAT,0 + db 26,KOFFING,DROWZEE,0 + db 23,ZUBAT,RATTATA,RATICATE,ZUBAT,0 +; Unused + db 26,DROWZEE,KOFFING,0 +; Silph Co. 2F + db 29,CUBONE,ZUBAT,0 + db 25,GOLBAT,ZUBAT,ZUBAT,RATICATE,ZUBAT,0 +; Silph Co. 3F + db 28,RATICATE,HYPNO,RATICATE,0 +; Silph Co. 4F + db 29,MACHOP,DROWZEE,0 + db 28,EKANS,ZUBAT,CUBONE,0 +; Silph Co. 5F + db 33,ARBOK,0 + db 33,HYPNO,0 +; Silph Co. 6F + db 29,MACHOP,MACHOKE,0 + db 28,ZUBAT,ZUBAT,GOLBAT,0 +; Silph Co. 7F + db 26,RATICATE,ARBOK,KOFFING,GOLBAT,0 + db 29,CUBONE,CUBONE,0 + db 29,SANDSHREW,SANDSLASH,0 +; Silph Co. 8F + db 26,RATICATE,ZUBAT,GOLBAT,RATTATA,0 + db 28,WEEZING,GOLBAT,KOFFING,0 +; Silph Co. 9F + db 28,DROWZEE,GRIMER,MACHOP,0 + db 28,GOLBAT,DROWZEE,HYPNO,0 +; Silph Co. 10F + db 33,MACHOKE,0 +; Silph Co. 11F + db 25,RATTATA,RATTATA,ZUBAT,RATTATA,EKANS,0 + db 32,CUBONE,DROWZEE,MAROWAK,0 +CooltrainerMData: +; Viridian Gym + db 39,NIDORINO,NIDOKING,0 +; Victory Road 3F + db 43,EXEGGUTOR,CLOYSTER,ARCANINE,0 + db 43,KINGLER,TENTACRUEL,BLASTOISE,0 +; Unused + db 45,KINGLER,STARMIE,0 +; Victory Road 1F + db 42,IVYSAUR,WARTORTLE,CHARMELEON,CHARIZARD,0 +; Unused + db 44,IVYSAUR,WARTORTLE,CHARMELEON,0 + db 49,NIDOKING,0 + db 44,KINGLER,CLOYSTER,0 +; Viridian Gym + db 39,SANDSLASH,DUGTRIO,0 + db 43,RHYHORN,0 +CooltrainerFData: +; Celadon Gym + db 24,WEEPINBELL,GLOOM,IVYSAUR,0 +; Victory Road 3F + db 43,BELLSPROUT,WEEPINBELL,VICTREEBEL,0 + db 43,PARASECT,DEWGONG,CHANSEY,0 +; Unused + db 46,VILEPLUME,BUTTERFREE,0 +; Victory Road 1F + db 44,PERSIAN,NINETALES,0 +; Unused + db 45,IVYSAUR,VENUSAUR,0 + db 45,NIDORINA,NIDOQUEEN,0 + db 43,PERSIAN,NINETALES,RAICHU,0 +BrunoData: + db $FF,53,ONIX,55,HITMONCHAN,55,HITMONLEE,56,ONIX,58,MACHAMP,0 +BrockData: + db $FF,12,GEODUDE,14,ONIX,0 +MistyData: + db $FF,18,STARYU,21,STARMIE,0 +LtSurgeData: + db $FF,21,VOLTORB,18,PIKACHU,24,RAICHU,0 +ErikaData: + db $FF,29,VICTREEBEL,24,TANGELA,29,VILEPLUME,0 +KogaData: + db $FF,37,KOFFING,39,MUK,37,KOFFING,43,WEEZING,0 +BlaineData: + db $FF,42,GROWLITHE,40,PONYTA,42,RAPIDASH,47,ARCANINE,0 +SabrinaData: + db $FF,38,KADABRA,37,MR_MIME,38,VENOMOTH,43,ALAKAZAM,0 +GentlemanData: +; SS Anne 1F Rooms + db 18,GROWLITHE,GROWLITHE,0 + db 19,NIDORAN_M,NIDORAN_F,0 +; SS Anne 2F Rooms/Vermilion Gym + db 23,PIKACHU,0 +; Unused + db 48,PRIMEAPE,0 +; SS Anne 2F Rooms + db 17,GROWLITHE,PONYTA,0 +Green2Data: +; SS Anne 2F + db $FF,19,PIDGEOTTO,16,RATICATE,18,KADABRA,20,WARTORTLE,0 + db $FF,19,PIDGEOTTO,16,RATICATE,18,KADABRA,20,IVYSAUR,0 + db $FF,19,PIDGEOTTO,16,RATICATE,18,KADABRA,20,CHARMELEON,0 +; Pokémon Tower 2F + db $FF,25,PIDGEOTTO,23,GROWLITHE,22,EXEGGCUTE,20,KADABRA,25,WARTORTLE,0 + db $FF,25,PIDGEOTTO,23,GYARADOS,22,GROWLITHE,20,KADABRA,25,IVYSAUR,0 + db $FF,25,PIDGEOTTO,23,EXEGGCUTE,22,GYARADOS,20,KADABRA,25,CHARMELEON,0 +; Silph Co. 7F + db $FF,37,PIDGEOT,38,GROWLITHE,35,EXEGGCUTE,35,ALAKAZAM,40,BLASTOISE,0 + db $FF,37,PIDGEOT,38,GYARADOS,35,GROWLITHE,35,ALAKAZAM,40,VENUSAUR,0 + db $FF,37,PIDGEOT,38,EXEGGCUTE,35,GYARADOS,35,ALAKAZAM,40,CHARIZARD,0 +; Route 22 + db $FF,47,PIDGEOT,45,RHYHORN,45,GROWLITHE,47,EXEGGCUTE,50,ALAKAZAM,53,BLASTOISE,0 + db $FF,47,PIDGEOT,45,RHYHORN,45,GYARADOS,47,GROWLITHE,50,ALAKAZAM,53,VENUSAUR,0 + db $FF,47,PIDGEOT,45,RHYHORN,45,EXEGGCUTE,47,GYARADOS,50,ALAKAZAM,53,CHARIZARD,0 +Green3Data: + db $FF,61,PIDGEOT,59,ALAKAZAM,61,RHYDON,61,ARCANINE,63,EXEGGUTOR,65,BLASTOISE,0 + db $FF,61,PIDGEOT,59,ALAKAZAM,61,RHYDON,61,GYARADOS,63,ARCANINE,65,VENUSAUR,0 + db $FF,61,PIDGEOT,59,ALAKAZAM,61,RHYDON,61,EXEGGUTOR,63,GYARADOS,65,CHARIZARD,0 +LoreleiData: + db $FF,54,DEWGONG,53,CLOYSTER,54,SLOWBRO,56,JYNX,56,LAPRAS,0 +ChannelerData: +; Unused + db 22,GASTLY,0 + db 24,GASTLY,0 + db 23,GASTLY,GASTLY,0 + db 24,GASTLY,0 +; Pokémon Tower 3F + db 23,GASTLY,0 + db 24,GASTLY,0 +; Unused + db 24,HAUNTER,0 +; Pokémon Tower 3F + db 22,GASTLY,0 +; Pokémon Tower 4F + db 24,GASTLY,0 + db 23,GASTLY,GASTLY,0 +; Unused + db 24,GASTLY,0 +; Pokémon Tower 4F + db 22,GASTLY,0 +; Unused + db 24,GASTLY,0 +; Pokémon Tower 5F + db 23,HAUNTER,0 +; Unused + db 24,GASTLY,0 +; Pokémon Tower 5F + db 22,GASTLY,0 + db 24,GASTLY,0 + db 22,HAUNTER,0 +; Pokémon Tower 6F + db 22,GASTLY,GASTLY,GASTLY,0 + db 24,GASTLY,0 + db 24,GASTLY,0 +; Saffron Gym + db 34,GASTLY,HAUNTER,0 + db 38,HAUNTER,0 + db 33,GASTLY,GASTLY,HAUNTER,0 +AgathaData: + db $FF,56,GENGAR,56,GOLBAT,55,HAUNTER,58,ARBOK,60,GENGAR,0 +LanceData: + db $FF,58,GYARADOS,56,DRAGONAIR,56,DRAGONAIR,60,AERODACTYL,62,DRAGONITE,0 diff --git a/data/trainers/pic_pointers_money.asm b/data/trainers/pic_pointers_money.asm new file mode 100755 index 00000000..85f34497 --- /dev/null +++ b/data/trainers/pic_pointers_money.asm @@ -0,0 +1,143 @@ +TrainerPicAndMoneyPointers:: +; trainer pic pointers and base money. +; money received after battle = base money × level of highest-level enemy mon + dw YoungsterPic + money 1500 + + dw BugCatcherPic + money 1000 + + dw LassPic + money 1500 + + dw SailorPic + money 3000 + + dw JrTrainerMPic + money 2000 + + dw JrTrainerFPic + money 2000 + + dw PokemaniacPic + money 5000 + + dw SuperNerdPic + money 2500 + + dw HikerPic + money 3500 + + dw BikerPic + money 2000 + + dw BurglarPic + money 9000 + + dw EngineerPic + money 5000 + + dw JugglerPic + money 3500 + + dw FisherPic + money 3500 + + dw SwimmerPic + money 500 + + dw CueBallPic + money 2500 + + dw GamblerPic + money 7000 + + dw BeautyPic + money 7000 + + dw PsychicPic + money 1000 + + dw RockerPic + money 2500 + + dw JugglerPic + money 3500 + + dw TamerPic + money 4000 + + dw BirdKeeperPic + money 2500 + + dw BlackbeltPic + money 2500 + + dw Rival1Pic + money 3500 + + dw ProfOakPic + money 9900 + + dw ChiefPic + money 3000 + + dw ScientistPic + money 5000 + + dw GiovanniPic + money 9900 + + dw RocketPic + money 3000 + + dw CooltrainerMPic + money 3500 + + dw CooltrainerFPic + money 3500 + + dw BrunoPic + money 9900 + + dw BrockPic + money 9900 + + dw MistyPic + money 9900 + + dw LtSurgePic + money 9900 + + dw ErikaPic + money 9900 + + dw KogaPic + money 9900 + + dw BlainePic + money 9900 + + dw SabrinaPic + money 9900 + + dw GentlemanPic + money 7000 + + dw Rival2Pic + money 6500 + + dw Rival3Pic + money 9900 + + dw LoreleiPic + money 9900 + + dw ChannelerPic + money 3000 + + dw AgathaPic + money 9900 + + dw LancePic + money 9900 diff --git a/data/trainers/special_moves.asm b/data/trainers/special_moves.asm new file mode 100755 index 00000000..2e7b52a5 --- /dev/null +++ b/data/trainers/special_moves.asm @@ -0,0 +1,32 @@ +LoneMoves: +; these are used for gym leaders. +; this is not automatic! you have to write the number you want to wLoneAttackNo +; first. e.g., erika's script writes 4 to wLoneAttackNo to get mega drain, +; the fourth entry in the list. + +; first byte: pokemon in the trainer's party that gets the move +; second byte: move +; unterminated + db 1,BIDE + db 1,BUBBLEBEAM + db 2,THUNDERBOLT + db 2,MEGA_DRAIN + db 3,TOXIC + db 3,PSYWAVE + db 3,FIRE_BLAST + db 4,FISSURE + +TeamMoves: +; these are used for elite four. +; this is automatic, based on trainer class. +; don't be confused by LoneMoves above, the two data structures are + ; _completely_ unrelated. + +; first byte: trainer (all trainers in this class have this move) +; second byte: move +; ff-terminated + db LORELEI,BLIZZARD + db BRUNO,FISSURE + db AGATHA,TOXIC + db LANCE,BARRIER + db $FF diff --git a/data/type_effects.asm b/data/type_effects.asm deleted file mode 100755 index 1321a3d9..00000000 --- a/data/type_effects.asm +++ /dev/null @@ -1,89 +0,0 @@ -TypeEffects: -; format: attacking type, defending type, damage multiplier -; the multiplier is a (decimal) fixed-point number: -; 20 is ×2.0 -; 05 is ×0.5 -; 00 is ×0 - db WATER,FIRE,20 - db FIRE,GRASS,20 - db FIRE,ICE,20 - db GRASS,WATER,20 - db ELECTRIC,WATER,20 - db WATER,ROCK,20 - db GROUND,FLYING,00 - db WATER,WATER,05 - db FIRE,FIRE,05 - db ELECTRIC,ELECTRIC,05 - db ICE,ICE,05 - db GRASS,GRASS,05 - db PSYCHIC,PSYCHIC,05 - db FIRE,WATER,05 - db GRASS,FIRE,05 - db WATER,GRASS,05 - db ELECTRIC,GRASS,05 - db NORMAL,ROCK,05 - db NORMAL,GHOST,00 - db GHOST,GHOST,20 - db FIRE,BUG,20 - db FIRE,ROCK,05 - db WATER,GROUND,20 - db ELECTRIC,GROUND,00 - db ELECTRIC,FLYING,20 - db GRASS,GROUND,20 - db GRASS,BUG,05 - db GRASS,POISON,05 - db GRASS,ROCK,20 - db GRASS,FLYING,05 - db ICE,WATER,05 - db ICE,GRASS,20 - db ICE,GROUND,20 - db ICE,FLYING,20 - db FIGHTING,NORMAL,20 - db FIGHTING,POISON,05 - db FIGHTING,FLYING,05 - db FIGHTING,PSYCHIC,05 - db FIGHTING,BUG,05 - db FIGHTING,ROCK,20 - db FIGHTING,ICE,20 - db FIGHTING,GHOST,00 - db POISON,GRASS,20 - db POISON,POISON,05 - db POISON,GROUND,05 - db POISON,BUG,20 - db POISON,ROCK,05 - db POISON,GHOST,05 - db GROUND,FIRE,20 - db GROUND,ELECTRIC,20 - db GROUND,GRASS,05 - db GROUND,BUG,05 - db GROUND,ROCK,20 - db GROUND,POISON,20 - db FLYING,ELECTRIC,05 - db FLYING,FIGHTING,20 - db FLYING,BUG,20 - db FLYING,GRASS,20 - db FLYING,ROCK,05 - db PSYCHIC,FIGHTING,20 - db PSYCHIC,POISON,20 - db BUG,FIRE,05 - db BUG,GRASS,20 - db BUG,FIGHTING,05 - db BUG,FLYING,05 - db BUG,PSYCHIC,20 - db BUG,GHOST,05 - db BUG,POISON,20 - db ROCK,FIRE,20 - db ROCK,FIGHTING,05 - db ROCK,GROUND,05 - db ROCK,FLYING,20 - db ROCK,BUG,20 - db ROCK,ICE,20 - db GHOST,NORMAL,00 - db GHOST,PSYCHIC,00 - db FIRE,DRAGON,05 - db WATER,DRAGON,05 - db ELECTRIC,DRAGON,05 - db GRASS,DRAGON,05 - db ICE,DRAGON,20 - db DRAGON,DRAGON,20 - db $FF diff --git a/data/types/names.asm b/data/types/names.asm new file mode 100755 index 00000000..d94675b8 --- /dev/null +++ b/data/types/names.asm @@ -0,0 +1,48 @@ +TypeNames: + + dw .Normal + dw .Fighting + dw .Flying + dw .Poison + dw .Ground + dw .Rock + dw .Bird + dw .Bug + dw .Ghost + + dw .Normal + dw .Normal + dw .Normal + dw .Normal + dw .Normal + dw .Normal + dw .Normal + dw .Normal + dw .Normal + dw .Normal + dw .Normal + + dw .Fire + dw .Water + dw .Grass + dw .Electric + dw .Psychic + dw .Ice + dw .Dragon + +.Normal: db "NORMAL@" +.Fighting: db "FIGHTING@" +.Flying: db "FLYING@" +.Poison: db "POISON@" +.Fire: db "FIRE@" +.Water: db "WATER@" +.Grass: db "GRASS@" +.Electric: db "ELECTRIC@" +.Psychic: db "PSYCHIC@" +.Ice: db "ICE@" +.Ground: db "GROUND@" +.Rock: db "ROCK@" +.Bird: db "BIRD@" +.Bug: db "BUG@" +.Ghost: db "GHOST@" +.Dragon: db "DRAGON@" diff --git a/data/types/type_matchups.asm b/data/types/type_matchups.asm new file mode 100755 index 00000000..1321a3d9 --- /dev/null +++ b/data/types/type_matchups.asm @@ -0,0 +1,89 @@ +TypeEffects: +; format: attacking type, defending type, damage multiplier +; the multiplier is a (decimal) fixed-point number: +; 20 is ×2.0 +; 05 is ×0.5 +; 00 is ×0 + db WATER,FIRE,20 + db FIRE,GRASS,20 + db FIRE,ICE,20 + db GRASS,WATER,20 + db ELECTRIC,WATER,20 + db WATER,ROCK,20 + db GROUND,FLYING,00 + db WATER,WATER,05 + db FIRE,FIRE,05 + db ELECTRIC,ELECTRIC,05 + db ICE,ICE,05 + db GRASS,GRASS,05 + db PSYCHIC,PSYCHIC,05 + db FIRE,WATER,05 + db GRASS,FIRE,05 + db WATER,GRASS,05 + db ELECTRIC,GRASS,05 + db NORMAL,ROCK,05 + db NORMAL,GHOST,00 + db GHOST,GHOST,20 + db FIRE,BUG,20 + db FIRE,ROCK,05 + db WATER,GROUND,20 + db ELECTRIC,GROUND,00 + db ELECTRIC,FLYING,20 + db GRASS,GROUND,20 + db GRASS,BUG,05 + db GRASS,POISON,05 + db GRASS,ROCK,20 + db GRASS,FLYING,05 + db ICE,WATER,05 + db ICE,GRASS,20 + db ICE,GROUND,20 + db ICE,FLYING,20 + db FIGHTING,NORMAL,20 + db FIGHTING,POISON,05 + db FIGHTING,FLYING,05 + db FIGHTING,PSYCHIC,05 + db FIGHTING,BUG,05 + db FIGHTING,ROCK,20 + db FIGHTING,ICE,20 + db FIGHTING,GHOST,00 + db POISON,GRASS,20 + db POISON,POISON,05 + db POISON,GROUND,05 + db POISON,BUG,20 + db POISON,ROCK,05 + db POISON,GHOST,05 + db GROUND,FIRE,20 + db GROUND,ELECTRIC,20 + db GROUND,GRASS,05 + db GROUND,BUG,05 + db GROUND,ROCK,20 + db GROUND,POISON,20 + db FLYING,ELECTRIC,05 + db FLYING,FIGHTING,20 + db FLYING,BUG,20 + db FLYING,GRASS,20 + db FLYING,ROCK,05 + db PSYCHIC,FIGHTING,20 + db PSYCHIC,POISON,20 + db BUG,FIRE,05 + db BUG,GRASS,20 + db BUG,FIGHTING,05 + db BUG,FLYING,05 + db BUG,PSYCHIC,20 + db BUG,GHOST,05 + db BUG,POISON,20 + db ROCK,FIRE,20 + db ROCK,FIGHTING,05 + db ROCK,GROUND,05 + db ROCK,FLYING,20 + db ROCK,BUG,20 + db ROCK,ICE,20 + db GHOST,NORMAL,00 + db GHOST,PSYCHIC,00 + db FIRE,DRAGON,05 + db WATER,DRAGON,05 + db ELECTRIC,DRAGON,05 + db GRASS,DRAGON,05 + db ICE,DRAGON,20 + db DRAGON,DRAGON,20 + db $FF diff --git a/data/vending_prices.asm b/data/vending_prices.asm deleted file mode 100644 index 9a473cc9..00000000 --- a/data/vending_prices.asm +++ /dev/null @@ -1,7 +0,0 @@ -VendingPrices: - db FRESH_WATER - money 200 - db SODA_POP - money 300 - db LEMONADE - money 350 diff --git a/data/warp_carpet_tile_ids.asm b/data/warp_carpet_tile_ids.asm deleted file mode 100644 index 6f312bc7..00000000 --- a/data/warp_carpet_tile_ids.asm +++ /dev/null @@ -1,17 +0,0 @@ -WarpTileListPointers: - dw .facingDownWarpTiles - dw .facingUpWarpTiles - dw .facingLeftWarpTiles - dw .facingRightWarpTiles - -.facingDownWarpTiles - db $01,$12,$17,$3D,$04,$18,$33,$FF - -.facingUpWarpTiles - db $01,$5C,$FF - -.facingLeftWarpTiles - db $1A,$4B,$FF - -.facingRightWarpTiles - db $0F,$4E,$FF diff --git a/data/warp_pad_hole_tile_ids.asm b/data/warp_pad_hole_tile_ids.asm deleted file mode 100644 index 3e2c1890..00000000 --- a/data/warp_pad_hole_tile_ids.asm +++ /dev/null @@ -1,7 +0,0 @@ -; format: db tileset id, tile id, value to be put in [wStandingOnWarpPadOrHole] -WarpPadAndHoleData: - db FACILITY, $20, 1 ; warp pad - db FACILITY, $11, 2 ; hole - db CAVERN, $22, 2 ; hole - db INTERIOR, $55, 1 ; warp pad - db $FF diff --git a/data/warp_tile_ids.asm b/data/warp_tile_ids.asm deleted file mode 100755 index 6fd326cc..00000000 --- a/data/warp_tile_ids.asm +++ /dev/null @@ -1,85 +0,0 @@ -WarpTileIDPointers: - dw OverworldWarpTileIDs - dw RedsHouse1WarpTileIDs - dw MartWarpTileIDs - dw ForestWarpTileIDs - dw RedsHouse2WarpTileIDs - dw DojoWarpTileIDs - dw PokecenterWarpTileIDs - dw GymWarpTileIDs - dw HouseWarpTileIDs - dw ForestGateWarpTileIDs - dw MuseumWarpTileIDs - dw UndergroundWarpTileIDs - dw GateWarpTileIDs - dw ShipWarpTileIDs - dw ShipPortWarpTileIDs - dw CemeteryWarpTileIDs - dw InteriorWarpTileIDs - dw CavernWarpTileIDs - dw LobbyWarpTileIDs - dw MansionWarpTileIDs - dw LabWarpTileIDs - dw ClubWarpTileIDs - dw FacilityWarpTileIDs - dw PlateauWarpTileIDs - -OverworldWarpTileIDs: - db $1B,$58,$FF - -ForestGateWarpTileIDs: -MuseumWarpTileIDs: -GateWarpTileIDs: - db $3B - -RedsHouse1WarpTileIDs: -RedsHouse2WarpTileIDs: - db $1A,$1C,$FF - -MartWarpTileIDs: -PokecenterWarpTileIDs: - db $5E,$FF - -ForestWarpTileIDs: - db $5A,$5C,$3A,$FF - -DojoWarpTileIDs: -GymWarpTileIDs: - db $4A,$FF - -HouseWarpTileIDs: - db $54,$5C,$32,$FF - -ShipWarpTileIDs: - db $37,$39,$1E,$4A,$FF - -InteriorWarpTileIDs: - db $15,$55,$04,$FF - -CavernWarpTileIDs: - db $18,$1A,$22,$FF - -LobbyWarpTileIDs: - db $1A,$1C,$38,$FF - -MansionWarpTileIDs: - db $1A,$1C,$53,$FF - -LabWarpTileIDs: - db $34,$FF - -FacilityWarpTileIDs: - db $43,$58,$20 - -CemeteryWarpTileIDs: - db $1B - -UndergroundWarpTileIDs: - db $13,$FF - -PlateauWarpTileIDs: - db $1B,$3B - -ShipPortWarpTileIDs: -ClubWarpTileIDs: - db $FF diff --git a/data/water_tilesets.asm b/data/water_tilesets.asm deleted file mode 100644 index 00f0ab1f..00000000 --- a/data/water_tilesets.asm +++ /dev/null @@ -1,4 +0,0 @@ -; tilesets with water -WaterTilesets: - db OVERWORLD, FOREST, DOJO, GYM, SHIP, SHIP_PORT, CAVERN, FACILITY, PLATEAU - db $ff ; terminator diff --git a/data/wild/good_rod.asm b/data/wild/good_rod.asm new file mode 100755 index 00000000..6c23f402 --- /dev/null +++ b/data/wild/good_rod.asm @@ -0,0 +1,3 @@ +GoodRodMons: + db 10,GOLDEEN + db 10,POLIWAG diff --git a/data/wild/grass_water.asm b/data/wild/grass_water.asm new file mode 100755 index 00000000..5697300e --- /dev/null +++ b/data/wild/grass_water.asm @@ -0,0 +1,321 @@ +WildDataPointers: + dw NoMons ; PALLET_TOWN + dw NoMons ; VIRIDIAN_CITY + dw NoMons ; PEWTER_CITY + dw NoMons ; CERULEAN_CITY + dw NoMons ; LAVENDER_TOWN + dw NoMons ; VERMILION_CITY + dw NoMons ; CELADON_CITY + dw NoMons ; FUCHSIA_CITY + dw NoMons ; CINNABAR_ISLAND + dw NoMons ; INDIGO_PLATEAU + dw NoMons ; SAFFRON_CITY + dw NoMons ; unused + dw Route1Mons ; ROUTE_1 + dw Route2Mons ; ROUTE_2 + dw Route3Mons ; ROUTE_3 + dw Route4Mons ; ROUTE_4 + dw Route5Mons ; ROUTE_5 + dw Route6Mons ; ROUTE_6 + dw Route7Mons ; ROUTE_7 + dw Route8Mons ; ROUTE_8 + dw Route9Mons ; ROUTE_9 + dw Route10Mons ; ROUTE_10 + dw Route11Mons ; ROUTE_11 + dw Route12Mons ; ROUTE_12 + dw Route13Mons ; ROUTE_13 + dw Route14Mons ; ROUTE_14 + dw Route15Mons ; ROUTE_15 + dw Route16Mons ; ROUTE_16 + dw Route17Mons ; ROUTE_17 + dw Route18Mons ; ROUTE_18 + dw WaterMons ; ROUTE_19 + dw WaterMons ; ROUTE_20 + dw Route21Mons ; ROUTE_21 + dw Route22Mons ; ROUTE_22 + dw Route23Mons ; ROUTE_23 + dw Route24Mons ; ROUTE_24 + dw Route25Mons ; ROUTE_25 + dw NoMons ; REDS_HOUSE_1F + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw ForestMons ; ViridianForest + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw MoonMons1 + dw MoonMonsB1 + dw MoonMonsB2 + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw TunnelMonsB1 + dw PowerPlantMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw PlateauMons1 + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw TowerMons1 + dw TowerMons2 + dw TowerMons3 + dw TowerMons4 + dw TowerMons5 + dw TowerMons6 + dw TowerMons7 + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw IslandMonsB1 + dw IslandMonsB2 + dw IslandMonsB3 + dw IslandMonsB4 + dw NoMons + dw NoMons + dw MansionMons1 + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw IslandMons1 + dw NoMons + dw PlateauMons2 + dw NoMons + dw NoMons + dw CaveMons + dw PlateauMons3 + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw MansionMons2 + dw MansionMons3 + dw MansionMonsB1 + dw ZoneMons1 + dw ZoneMons2 + dw ZoneMons3 + dw ZoneMonsCenter + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw DungeonMons2 + dw DungeonMonsB1 + dw DungeonMons1 + dw NoMons + dw NoMons + dw NoMons + dw TunnelMonsB2 + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw $FFFF + +; wild pokemon data is divided into two parts. +; first part: pokemon found in grass +; second part: pokemon found while surfing +; each part goes as follows: + ; if first byte == 00, then + ; no wild pokemon on this map + ; if first byte != 00, then + ; first byte is encounter rate + ; followed by 20 bytes: + ; level, species (ten times) + +INCLUDE "data/mapWilds/nothing.asm" +INCLUDE "data/mapWilds/Route1.asm" +INCLUDE "data/mapWilds/Route2.asm" +INCLUDE "data/mapWilds/Route22.asm" +INCLUDE "data/mapWilds/ViridianForest.asm" +INCLUDE "data/mapWilds/Route3.asm" +INCLUDE "data/mapWilds/MtMoon1F.asm" +INCLUDE "data/mapWilds/MtMoonB1F.asm" +INCLUDE "data/mapWilds/MtMoonB2F.asm" +INCLUDE "data/mapWilds/Route4.asm" +INCLUDE "data/mapWilds/Route24.asm" +INCLUDE "data/mapWilds/Route25.asm" +INCLUDE "data/mapWilds/Route9.asm" +INCLUDE "data/mapWilds/Route5.asm" +INCLUDE "data/mapWilds/Route6.asm" +INCLUDE "data/mapWilds/Route11.asm" +INCLUDE "data/mapWilds/RockTunnel1F.asm" +INCLUDE "data/mapWilds/RockTunnelB1F.asm" +INCLUDE "data/mapWilds/Route10.asm" +INCLUDE "data/mapWilds/Route12.asm" +INCLUDE "data/mapWilds/Route8.asm" +INCLUDE "data/mapWilds/Route7.asm" +INCLUDE "data/mapWilds/PokemonTower1F.asm" +INCLUDE "data/mapWilds/PokemonTower2F.asm" +INCLUDE "data/mapWilds/PokemonTower3F.asm" +INCLUDE "data/mapWilds/PokemonTower4F.asm" +INCLUDE "data/mapWilds/PokemonTower5F.asm" +INCLUDE "data/mapWilds/PokemonTower6F.asm" +INCLUDE "data/mapWilds/PokemonTower7F.asm" +INCLUDE "data/mapWilds/Route13.asm" +INCLUDE "data/mapWilds/Route14.asm" +INCLUDE "data/mapWilds/Route15.asm" +INCLUDE "data/mapWilds/Route16.asm" +INCLUDE "data/mapWilds/Route17.asm" +INCLUDE "data/mapWilds/Route18.asm" +INCLUDE "data/mapWilds/SafariZoneCenter.asm" +INCLUDE "data/mapWilds/SafariZoneEast.asm" +INCLUDE "data/mapWilds/SafariZoneNorth.asm" +INCLUDE "data/mapWilds/SafariZoneWest.asm" +INCLUDE "data/mapWilds/SeaRoutes.asm" +INCLUDE "data/mapWilds/SeafoamIslands1F.asm" +INCLUDE "data/mapWilds/SeafoamIslandsB1F.asm" +INCLUDE "data/mapWilds/SeafoamIslandsB2F.asm" +INCLUDE "data/mapWilds/SeafoamIslandsB3F.asm" +INCLUDE "data/mapWilds/SeafoamIslandsB4F.asm" +INCLUDE "data/mapWilds/PokemonMansion1F.asm" +INCLUDE "data/mapWilds/PokemonMansion2F.asm" +INCLUDE "data/mapWilds/PokemonMansion3F.asm" +INCLUDE "data/mapWilds/PokemonMansionB1F.asm" +INCLUDE "data/mapWilds/Route21.asm" +INCLUDE "data/mapWilds/CeruleanCave1F.asm" +INCLUDE "data/mapWilds/CeruleanCave2F.asm" +INCLUDE "data/mapWilds/CeruleanCaveB1F.asm" +INCLUDE "data/mapWilds/PowerPlant.asm" +INCLUDE "data/mapWilds/Route23.asm" +INCLUDE "data/mapWilds/VictoryRoad2F.asm" +INCLUDE "data/mapWilds/VictoryRoad3F.asm" +INCLUDE "data/mapWilds/VictoryRoad1F.asm" +INCLUDE "data/mapWilds/DiglettsCave.asm" diff --git a/data/wild/probabilities.asm b/data/wild/probabilities.asm new file mode 100644 index 00000000..9d4704c6 --- /dev/null +++ b/data/wild/probabilities.asm @@ -0,0 +1,15 @@ +WildMonEncounterSlotChances: +; There are 10 slots for wild pokemon, and this is the table that defines how common each of +; those 10 slots is. A random number is generated and then the first byte of each pair in this +; table is compared against that random number. If the random number is less than or equal +; to the first byte, then that slot is chosen. The second byte is double the slot number. + db $32, $00 ; 51/256 = 19.9% chance of slot 0 + db $65, $02 ; 51/256 = 19.9% chance of slot 1 + db $8C, $04 ; 39/256 = 15.2% chance of slot 2 + db $A5, $06 ; 25/256 = 9.8% chance of slot 3 + db $BE, $08 ; 25/256 = 9.8% chance of slot 4 + db $D7, $0A ; 25/256 = 9.8% chance of slot 5 + db $E4, $0C ; 13/256 = 5.1% chance of slot 6 + db $F1, $0E ; 13/256 = 5.1% chance of slot 7 + db $FC, $10 ; 11/256 = 4.3% chance of slot 8 + db $FF, $12 ; 3/256 = 1.2% chance of slot 9 diff --git a/data/wild/super_rod.asm b/data/wild/super_rod.asm new file mode 100755 index 00000000..d3d64632 --- /dev/null +++ b/data/wild/super_rod.asm @@ -0,0 +1,100 @@ +; super rod data +; format: map, pointer to fishing group +SuperRodData: + dbw PALLET_TOWN, FishingGroup1 + dbw VIRIDIAN_CITY, FishingGroup1 + dbw CERULEAN_CITY, FishingGroup3 + dbw VERMILION_CITY, FishingGroup4 + dbw CELADON_CITY, FishingGroup5 + dbw FUCHSIA_CITY, FishingGroup10 + dbw CINNABAR_ISLAND, FishingGroup8 + dbw ROUTE_4, FishingGroup3 + dbw ROUTE_6, FishingGroup4 + dbw ROUTE_10, FishingGroup5 + dbw ROUTE_11, FishingGroup4 + dbw ROUTE_12, FishingGroup7 + dbw ROUTE_13, FishingGroup7 + dbw ROUTE_17, FishingGroup7 + dbw ROUTE_18, FishingGroup7 + dbw ROUTE_19, FishingGroup8 + dbw ROUTE_20, FishingGroup8 + dbw ROUTE_21, FishingGroup8 + dbw ROUTE_22, FishingGroup2 + dbw ROUTE_23, FishingGroup9 + dbw ROUTE_24, FishingGroup3 + dbw ROUTE_25, FishingGroup3 + dbw CERULEAN_GYM, FishingGroup3 + dbw VERMILION_DOCK, FishingGroup4 + dbw SEAFOAM_ISLANDS_B3F, FishingGroup8 + dbw SEAFOAM_ISLANDS_B4F, FishingGroup8 + dbw SAFARI_ZONE_EAST, FishingGroup6 + dbw SAFARI_ZONE_NORTH, FishingGroup6 + dbw SAFARI_ZONE_WEST, FishingGroup6 + dbw SAFARI_ZONE_CENTER, FishingGroup6 + dbw CERULEAN_CAVE_2F, FishingGroup9 + dbw CERULEAN_CAVE_B1F, FishingGroup9 + dbw CERULEAN_CAVE_1F, FishingGroup9 + db $FF + +; fishing groups +; number of monsters, followed by level/monster pairs +FishingGroup1: + db 2 + db 15,TENTACOOL + db 15,POLIWAG + +FishingGroup2: + db 2 + db 15,GOLDEEN + db 15,POLIWAG + +FishingGroup3: + db 3 + db 15,PSYDUCK + db 15,GOLDEEN + db 15,KRABBY + +FishingGroup4: + db 2 + db 15,KRABBY + db 15,SHELLDER + +FishingGroup5: + db 2 + db 23,POLIWHIRL + db 15,SLOWPOKE + +FishingGroup6: + db 4 + db 15,DRATINI + db 15,KRABBY + db 15,PSYDUCK + db 15,SLOWPOKE + +FishingGroup7: + db 4 + db 5,TENTACOOL + db 15,KRABBY + db 15,GOLDEEN + db 15,MAGIKARP + +FishingGroup8: + db 4 + db 15,STARYU + db 15,HORSEA + db 15,SHELLDER + db 15,GOLDEEN + +FishingGroup9: + db 4 + db 23,SLOWBRO + db 23,SEAKING + db 23,KINGLER + db 23,SEADRA + +FishingGroup10: + db 4 + db 23,SEAKING + db 15,KRABBY + db 15,GOLDEEN + db 15,MAGIKARP diff --git a/data/wildPokemon/ceruleancave1.asm b/data/wildPokemon/ceruleancave1.asm deleted file mode 100644 index 20e8643a..00000000 --- a/data/wildPokemon/ceruleancave1.asm +++ /dev/null @@ -1,18 +0,0 @@ -DungeonMons1: - db $0A - db 46,GOLBAT - db 46,HYPNO - db 46,MAGNETON - db 49,DODRIO - db 49,VENOMOTH - IF DEF(_RED) - db 52,ARBOK - ENDC - IF DEF(_BLUE) - db 52,SANDSLASH - ENDC - db 49,KADABRA - db 52,PARASECT - db 53,RAICHU - db 53,DITTO - db $00 diff --git a/data/wildPokemon/ceruleancave2.asm b/data/wildPokemon/ceruleancave2.asm deleted file mode 100644 index 5afe55ac..00000000 --- a/data/wildPokemon/ceruleancave2.asm +++ /dev/null @@ -1,13 +0,0 @@ -DungeonMons2: - db $0F - db 51,DODRIO - db 51,VENOMOTH - db 51,KADABRA - db 52,RHYDON - db 52,MAROWAK - db 52,ELECTRODE - db 56,CHANSEY - db 54,WIGGLYTUFF - db 55,DITTO - db 60,DITTO - db $00 diff --git a/data/wildPokemon/ceruleancaveb1.asm b/data/wildPokemon/ceruleancaveb1.asm deleted file mode 100644 index 245d5912..00000000 --- a/data/wildPokemon/ceruleancaveb1.asm +++ /dev/null @@ -1,18 +0,0 @@ -DungeonMonsB1: - db $19 - db 55,RHYDON - db 55,MAROWAK - db 55,ELECTRODE - db 64,CHANSEY - db 64,PARASECT - db 64,RAICHU - IF DEF(_RED) - db 57,ARBOK - ENDC - IF DEF(_BLUE) - db 57,SANDSLASH - ENDC - db 65,DITTO - db 63,DITTO - db 67,DITTO - db $00 diff --git a/data/wildPokemon/diglettscave.asm b/data/wildPokemon/diglettscave.asm deleted file mode 100755 index 37512687..00000000 --- a/data/wildPokemon/diglettscave.asm +++ /dev/null @@ -1,13 +0,0 @@ -CaveMons: - db $14 - db 18,DIGLETT - db 19,DIGLETT - db 17,DIGLETT - db 20,DIGLETT - db 16,DIGLETT - db 15,DIGLETT - db 21,DIGLETT - db 22,DIGLETT - db 29,DUGTRIO - db 31,DUGTRIO - db $00 diff --git a/data/wildPokemon/mansion1.asm b/data/wildPokemon/mansion1.asm deleted file mode 100755 index 22ad032b..00000000 --- a/data/wildPokemon/mansion1.asm +++ /dev/null @@ -1,27 +0,0 @@ -MansionMons1: - db $0A - IF DEF(_RED) - db 32,KOFFING - db 30,KOFFING - db 34,PONYTA - db 30,PONYTA - db 34,GROWLITHE - db 32,PONYTA - db 30,GRIMER - db 28,PONYTA - db 37,WEEZING - db 39,MUK - ENDC - IF DEF(_BLUE) - db 32,GRIMER - db 30,GRIMER - db 34,PONYTA - db 30,PONYTA - db 34,VULPIX - db 32,PONYTA - db 30,KOFFING - db 28,PONYTA - db 37,MUK - db 39,WEEZING - ENDC - db $00 diff --git a/data/wildPokemon/mansion2.asm b/data/wildPokemon/mansion2.asm deleted file mode 100755 index 985474fc..00000000 --- a/data/wildPokemon/mansion2.asm +++ /dev/null @@ -1,27 +0,0 @@ -MansionMons2: - db $0A - IF DEF(_RED) - db 32,GROWLITHE - db 34,KOFFING - db 34,KOFFING - db 30,PONYTA - db 30,KOFFING - db 32,PONYTA - db 30,GRIMER - db 28,PONYTA - db 39,WEEZING - db 37,MUK - ENDC - IF DEF(_BLUE) - db 32,VULPIX - db 34,GRIMER - db 34,GRIMER - db 30,PONYTA - db 30,GRIMER - db 32,PONYTA - db 30,KOFFING - db 28,PONYTA - db 39,MUK - db 37,WEEZING - ENDC - db $00 diff --git a/data/wildPokemon/mansion3.asm b/data/wildPokemon/mansion3.asm deleted file mode 100755 index 9c5521ae..00000000 --- a/data/wildPokemon/mansion3.asm +++ /dev/null @@ -1,27 +0,0 @@ -MansionMons3: - db $0A - IF DEF(_RED) - db 31,KOFFING - db 33,GROWLITHE - db 35,KOFFING - db 32,PONYTA - db 34,PONYTA - db 40,WEEZING - db 34,GRIMER - db 38,WEEZING - db 36,PONYTA - db 42,MUK - ENDC - IF DEF(_BLUE) - db 31,GRIMER - db 33,VULPIX - db 35,GRIMER - db 32,PONYTA - db 34,MAGMAR - db 40,MUK - db 34,KOFFING - db 38,MUK - db 36,PONYTA - db 42,WEEZING - ENDC - db $00 diff --git a/data/wildPokemon/mansionb1.asm b/data/wildPokemon/mansionb1.asm deleted file mode 100755 index 83266ddd..00000000 --- a/data/wildPokemon/mansionb1.asm +++ /dev/null @@ -1,27 +0,0 @@ -MansionMonsB1: - db $0A - IF DEF(_RED) - db 33,KOFFING - db 31,KOFFING - db 35,GROWLITHE - db 32,PONYTA - db 31,KOFFING - db 40,WEEZING - db 34,PONYTA - db 35,GRIMER - db 42,WEEZING - db 42,MUK - ENDC - IF DEF(_BLUE) - db 33,GRIMER - db 31,GRIMER - db 35,VULPIX - db 32,PONYTA - db 31,GRIMER - db 40,MUK - db 34,PONYTA - db 35,KOFFING - db 38,MAGMAR - db 42,WEEZING - ENDC - db $00 diff --git a/data/wildPokemon/mtmoon1.asm b/data/wildPokemon/mtmoon1.asm deleted file mode 100755 index 44b34c45..00000000 --- a/data/wildPokemon/mtmoon1.asm +++ /dev/null @@ -1,13 +0,0 @@ -MoonMons1: - db $0A - db 8,ZUBAT - db 7,ZUBAT - db 9,ZUBAT - db 8,GEODUDE - db 6,ZUBAT - db 10,ZUBAT - db 10,GEODUDE - db 8,PARAS - db 11,ZUBAT - db 8,CLEFAIRY - db $00 diff --git a/data/wildPokemon/mtmoonb1.asm b/data/wildPokemon/mtmoonb1.asm deleted file mode 100755 index 5c0d8a53..00000000 --- a/data/wildPokemon/mtmoonb1.asm +++ /dev/null @@ -1,13 +0,0 @@ -MoonMonsB1: - db $0A - db 8,ZUBAT - db 7,ZUBAT - db 7,GEODUDE - db 8,GEODUDE - db 9,ZUBAT - db 10,PARAS - db 10,ZUBAT - db 11,ZUBAT - db 9,CLEFAIRY - db 9,GEODUDE - db $00 diff --git a/data/wildPokemon/mtmoonb2.asm b/data/wildPokemon/mtmoonb2.asm deleted file mode 100755 index cbf97e7e..00000000 --- a/data/wildPokemon/mtmoonb2.asm +++ /dev/null @@ -1,13 +0,0 @@ -MoonMonsB2: - db $0A - db 9,ZUBAT - db 9,GEODUDE - db 10,ZUBAT - db 10,GEODUDE - db 11,ZUBAT - db 10,PARAS - db 12,PARAS - db 10,CLEFAIRY - db 12,ZUBAT - db 12,CLEFAIRY - db $00 diff --git a/data/wildPokemon/nomons.asm b/data/wildPokemon/nomons.asm deleted file mode 100755 index ce7f7ede..00000000 --- a/data/wildPokemon/nomons.asm +++ /dev/null @@ -1,3 +0,0 @@ -NoMons: - db $00 - db $00 diff --git a/data/wildPokemon/pokemontower1.asm b/data/wildPokemon/pokemontower1.asm deleted file mode 100755 index df951e70..00000000 --- a/data/wildPokemon/pokemontower1.asm +++ /dev/null @@ -1,3 +0,0 @@ -TowerMons1: - db $00 - db $00 diff --git a/data/wildPokemon/pokemontower2.asm b/data/wildPokemon/pokemontower2.asm deleted file mode 100755 index dcbe0da0..00000000 --- a/data/wildPokemon/pokemontower2.asm +++ /dev/null @@ -1,3 +0,0 @@ -TowerMons2: - db $00 - db $00 diff --git a/data/wildPokemon/pokemontower3.asm b/data/wildPokemon/pokemontower3.asm deleted file mode 100755 index 135ed84f..00000000 --- a/data/wildPokemon/pokemontower3.asm +++ /dev/null @@ -1,13 +0,0 @@ -TowerMons3: - db $0A - db 20,GASTLY - db 21,GASTLY - db 22,GASTLY - db 23,GASTLY - db 19,GASTLY - db 18,GASTLY - db 24,GASTLY - db 20,CUBONE - db 22,CUBONE - db 25,HAUNTER - db $00 diff --git a/data/wildPokemon/pokemontower4.asm b/data/wildPokemon/pokemontower4.asm deleted file mode 100755 index 0c84b0cf..00000000 --- a/data/wildPokemon/pokemontower4.asm +++ /dev/null @@ -1,13 +0,0 @@ -TowerMons4: - db $0A - db 20,GASTLY - db 21,GASTLY - db 22,GASTLY - db 23,GASTLY - db 19,GASTLY - db 18,GASTLY - db 25,HAUNTER - db 20,CUBONE - db 22,CUBONE - db 24,GASTLY - db $00 diff --git a/data/wildPokemon/pokemontower5.asm b/data/wildPokemon/pokemontower5.asm deleted file mode 100755 index 440dbf8d..00000000 --- a/data/wildPokemon/pokemontower5.asm +++ /dev/null @@ -1,13 +0,0 @@ -TowerMons5: - db $0A - db 20,GASTLY - db 21,GASTLY - db 22,GASTLY - db 23,GASTLY - db 19,GASTLY - db 18,GASTLY - db 25,HAUNTER - db 20,CUBONE - db 22,CUBONE - db 24,GASTLY - db $00 diff --git a/data/wildPokemon/pokemontower6.asm b/data/wildPokemon/pokemontower6.asm deleted file mode 100755 index 553fdb5d..00000000 --- a/data/wildPokemon/pokemontower6.asm +++ /dev/null @@ -1,13 +0,0 @@ -TowerMons6: - db $0F - db 21,GASTLY - db 22,GASTLY - db 23,GASTLY - db 24,GASTLY - db 20,GASTLY - db 19,GASTLY - db 26,HAUNTER - db 22,CUBONE - db 24,CUBONE - db 28,HAUNTER - db $00 diff --git a/data/wildPokemon/pokemontower7.asm b/data/wildPokemon/pokemontower7.asm deleted file mode 100755 index 0f7e66e9..00000000 --- a/data/wildPokemon/pokemontower7.asm +++ /dev/null @@ -1,13 +0,0 @@ -TowerMons7: - db $0F - db 21,GASTLY - db 22,GASTLY - db 23,GASTLY - db 24,GASTLY - db 20,GASTLY - db 28,HAUNTER - db 22,CUBONE - db 24,CUBONE - db 28,HAUNTER - db 30,HAUNTER - db $00 diff --git a/data/wildPokemon/powerplant.asm b/data/wildPokemon/powerplant.asm deleted file mode 100755 index 35eece95..00000000 --- a/data/wildPokemon/powerplant.asm +++ /dev/null @@ -1,19 +0,0 @@ -PowerPlantMons: - db $0A - db 21,VOLTORB - db 21,MAGNEMITE - db 20,PIKACHU - db 24,PIKACHU - db 23,MAGNEMITE - db 23,VOLTORB - db 32,MAGNETON - db 35,MAGNETON - IF DEF(_RED) - db 33,ELECTABUZZ - db 36,ELECTABUZZ - ENDC - IF DEF(_BLUE) - db 33,RAICHU - db 36,RAICHU - ENDC - db $00 diff --git a/data/wildPokemon/rocktunnel1.asm b/data/wildPokemon/rocktunnel1.asm deleted file mode 100755 index a36f2092..00000000 --- a/data/wildPokemon/rocktunnel1.asm +++ /dev/null @@ -1,13 +0,0 @@ -TunnelMonsB1: - db $0F - db 16,ZUBAT - db 17,ZUBAT - db 17,GEODUDE - db 15,MACHOP - db 16,GEODUDE - db 18,ZUBAT - db 15,ZUBAT - db 17,MACHOP - db 13,ONIX - db 15,ONIX - db $00 diff --git a/data/wildPokemon/rocktunnel2.asm b/data/wildPokemon/rocktunnel2.asm deleted file mode 100755 index 2fc7ef94..00000000 --- a/data/wildPokemon/rocktunnel2.asm +++ /dev/null @@ -1,13 +0,0 @@ -TunnelMonsB2: - db $0F - db 16,ZUBAT - db 17,ZUBAT - db 17,GEODUDE - db 15,MACHOP - db 16,GEODUDE - db 18,ZUBAT - db 17,MACHOP - db 17,ONIX - db 13,ONIX - db 18,GEODUDE - db $00 diff --git a/data/wildPokemon/route1.asm b/data/wildPokemon/route1.asm deleted file mode 100755 index f618c34f..00000000 --- a/data/wildPokemon/route1.asm +++ /dev/null @@ -1,13 +0,0 @@ -Route1Mons: - db $19 - db 3,PIDGEY - db 3,RATTATA - db 3,RATTATA - db 2,RATTATA - db 2,PIDGEY - db 3,PIDGEY - db 3,PIDGEY - db 4,RATTATA - db 4,PIDGEY - db 5,PIDGEY - db $00 diff --git a/data/wildPokemon/route10.asm b/data/wildPokemon/route10.asm deleted file mode 100755 index 34e0b5ee..00000000 --- a/data/wildPokemon/route10.asm +++ /dev/null @@ -1,27 +0,0 @@ -Route10Mons: - db $0F - IF DEF(_RED) - db 16,VOLTORB - db 16,SPEAROW - db 14,VOLTORB - db 11,EKANS - db 13,SPEAROW - db 15,EKANS - db 17,VOLTORB - db 17,SPEAROW - db 13,EKANS - db 17,EKANS - ENDC - IF DEF(_BLUE) - db 16,VOLTORB - db 16,SPEAROW - db 14,VOLTORB - db 11,SANDSHREW - db 13,SPEAROW - db 15,SANDSHREW - db 17,VOLTORB - db 17,SPEAROW - db 13,SANDSHREW - db 17,SANDSHREW - ENDC - db $00 diff --git a/data/wildPokemon/route11.asm b/data/wildPokemon/route11.asm deleted file mode 100755 index 9e4e3644..00000000 --- a/data/wildPokemon/route11.asm +++ /dev/null @@ -1,27 +0,0 @@ -Route11Mons: - db $0F - IF DEF(_RED) - db 14,EKANS - db 15,SPEAROW - db 12,EKANS - db 9,DROWZEE - db 13,SPEAROW - db 13,DROWZEE - db 15,EKANS - db 17,SPEAROW - db 11,DROWZEE - db 15,DROWZEE - ENDC - IF DEF(_BLUE) - db 14,SANDSHREW - db 15,SPEAROW - db 12,SANDSHREW - db 9,DROWZEE - db 13,SPEAROW - db 13,DROWZEE - db 15,SANDSHREW - db 17,SPEAROW - db 11,DROWZEE - db 15,DROWZEE - ENDC - db $00 diff --git a/data/wildPokemon/route12.asm b/data/wildPokemon/route12.asm deleted file mode 100755 index 45dfbc9d..00000000 --- a/data/wildPokemon/route12.asm +++ /dev/null @@ -1,27 +0,0 @@ -Route12Mons: - db $0F - IF DEF(_RED) - db 24,ODDISH - db 25,PIDGEY - db 23,PIDGEY - db 24,VENONAT - db 22,ODDISH - db 26,VENONAT - db 26,ODDISH - db 27,PIDGEY - db 28,GLOOM - db 30,GLOOM - ENDC - IF DEF(_BLUE) - db 24,BELLSPROUT - db 25,PIDGEY - db 23,PIDGEY - db 24,VENONAT - db 22,BELLSPROUT - db 26,VENONAT - db 26,BELLSPROUT - db 27,PIDGEY - db 28,WEEPINBELL - db 30,WEEPINBELL - ENDC - db $00 diff --git a/data/wildPokemon/route13.asm b/data/wildPokemon/route13.asm deleted file mode 100755 index 2a1a6cb5..00000000 --- a/data/wildPokemon/route13.asm +++ /dev/null @@ -1,28 +0,0 @@ -Route13Mons: - IF DEF(_RED) - db $14 - db 24,ODDISH - db 25,PIDGEY - db 27,PIDGEY - db 24,VENONAT - db 22,ODDISH - db 26,VENONAT - db 26,ODDISH - db 25,DITTO - db 28,GLOOM - db 30,GLOOM - ENDC - IF DEF(_BLUE) - db $14 - db 24,BELLSPROUT - db 25,PIDGEY - db 27,PIDGEY - db 24,VENONAT - db 22,BELLSPROUT - db 26,VENONAT - db 26,BELLSPROUT - db 25,DITTO - db 28,WEEPINBELL - db 30,WEEPINBELL - ENDC - db $00 diff --git a/data/wildPokemon/route14.asm b/data/wildPokemon/route14.asm deleted file mode 100755 index aad5aa48..00000000 --- a/data/wildPokemon/route14.asm +++ /dev/null @@ -1,27 +0,0 @@ -Route14Mons: - db $0F - IF DEF(_RED) - db 24,ODDISH - db 26,PIDGEY - db 23,DITTO - db 24,VENONAT - db 22,ODDISH - db 26,VENONAT - db 26,ODDISH - db 30,GLOOM - db 28,PIDGEOTTO - db 30,PIDGEOTTO - ENDC - IF DEF(_BLUE) - db 24,BELLSPROUT - db 26,PIDGEY - db 23,DITTO - db 24,VENONAT - db 22,BELLSPROUT - db 26,VENONAT - db 26,BELLSPROUT - db 30,WEEPINBELL - db 28,PIDGEOTTO - db 30,PIDGEOTTO - ENDC - db $00 diff --git a/data/wildPokemon/route15.asm b/data/wildPokemon/route15.asm deleted file mode 100755 index b4762230..00000000 --- a/data/wildPokemon/route15.asm +++ /dev/null @@ -1,27 +0,0 @@ -Route15Mons: - db $0F - IF DEF(_RED) - db 24,ODDISH - db 26,DITTO - db 23,PIDGEY - db 26,VENONAT - db 22,ODDISH - db 28,VENONAT - db 26,ODDISH - db 30,GLOOM - db 28,PIDGEOTTO - db 30,PIDGEOTTO - ENDC - IF DEF(_BLUE) - db 24,BELLSPROUT - db 26,DITTO - db 23,PIDGEY - db 26,VENONAT - db 22,BELLSPROUT - db 28,VENONAT - db 26,BELLSPROUT - db 30,WEEPINBELL - db 28,PIDGEOTTO - db 30,PIDGEOTTO - ENDC - db $00 diff --git a/data/wildPokemon/route16.asm b/data/wildPokemon/route16.asm deleted file mode 100755 index c2421c50..00000000 --- a/data/wildPokemon/route16.asm +++ /dev/null @@ -1,13 +0,0 @@ -Route16Mons: - db $19 - db 20,SPEAROW - db 22,SPEAROW - db 18,RATTATA - db 20,DODUO - db 20,RATTATA - db 18,DODUO - db 22,DODUO - db 22,RATTATA - db 23,RATICATE - db 25,RATICATE - db $00 diff --git a/data/wildPokemon/route17.asm b/data/wildPokemon/route17.asm deleted file mode 100755 index 8dffd9a3..00000000 --- a/data/wildPokemon/route17.asm +++ /dev/null @@ -1,13 +0,0 @@ -Route17Mons: - db $19 - db 20,SPEAROW - db 22,SPEAROW - db 25,RATICATE - db 24,DODUO - db 27,RATICATE - db 26,DODUO - db 28,DODUO - db 29,RATICATE - db 25,FEAROW - db 27,FEAROW - db $00 diff --git a/data/wildPokemon/route18.asm b/data/wildPokemon/route18.asm deleted file mode 100755 index 47bd247d..00000000 --- a/data/wildPokemon/route18.asm +++ /dev/null @@ -1,13 +0,0 @@ -Route18Mons: - db $19 - db 20,SPEAROW - db 22,SPEAROW - db 25,RATICATE - db 24,DODUO - db 25,FEAROW - db 26,DODUO - db 28,DODUO - db 29,RATICATE - db 27,FEAROW - db 29,FEAROW - db $00 diff --git a/data/wildPokemon/route2.asm b/data/wildPokemon/route2.asm deleted file mode 100755 index ad958ea5..00000000 --- a/data/wildPokemon/route2.asm +++ /dev/null @@ -1,24 +0,0 @@ -Route2Mons: - db $19 - db 3,RATTATA - db 3,PIDGEY - db 4,PIDGEY - db 4,RATTATA - db 5,PIDGEY - IF DEF(_RED) - db 3,WEEDLE - ENDC - IF DEF(_BLUE) - db 3,CATERPIE - ENDC - db 2,RATTATA - db 5,RATTATA - IF DEF(_RED) - db 4,WEEDLE - db 5,WEEDLE - ENDC - IF DEF(_BLUE) - db 4,CATERPIE - db 5,CATERPIE - ENDC - db $00 diff --git a/data/wildPokemon/route21.asm b/data/wildPokemon/route21.asm deleted file mode 100755 index 3cc73ba0..00000000 --- a/data/wildPokemon/route21.asm +++ /dev/null @@ -1,23 +0,0 @@ -Route21Mons: - db $19 - db 21,RATTATA - db 23,PIDGEY - db 30,RATICATE - db 23,RATTATA - db 21,PIDGEY - db 30,PIDGEOTTO - db 32,PIDGEOTTO - db 28,TANGELA - db 30,TANGELA - db 32,TANGELA - db $05 - db 5,TENTACOOL - db 10,TENTACOOL - db 15,TENTACOOL - db 5,TENTACOOL - db 10,TENTACOOL - db 15,TENTACOOL - db 20,TENTACOOL - db 30,TENTACOOL - db 35,TENTACOOL - db 40,TENTACOOL diff --git a/data/wildPokemon/route22.asm b/data/wildPokemon/route22.asm deleted file mode 100755 index 750a2f4e..00000000 --- a/data/wildPokemon/route22.asm +++ /dev/null @@ -1,27 +0,0 @@ -Route22Mons: - db $19 - IF DEF(_RED) - db 3,RATTATA - db 3,NIDORAN_M - db 4,RATTATA - db 4,NIDORAN_M - db 2,RATTATA - db 2,NIDORAN_M - db 3,SPEAROW - db 5,SPEAROW - db 3,NIDORAN_F - db 4,NIDORAN_F - ENDC - IF DEF(_BLUE) - db 3,RATTATA - db 3,NIDORAN_F - db 4,RATTATA - db 4,NIDORAN_F - db 2,RATTATA - db 2,NIDORAN_F - db 3,SPEAROW - db 5,SPEAROW - db 3,NIDORAN_M - db 4,NIDORAN_M - ENDC - db $00 diff --git a/data/wildPokemon/route23.asm b/data/wildPokemon/route23.asm deleted file mode 100755 index a057d24d..00000000 --- a/data/wildPokemon/route23.asm +++ /dev/null @@ -1,23 +0,0 @@ -Route23Mons: - db $0A - IF DEF(_RED) - db 26,EKANS - ENDC - IF DEF(_BLUE) - db 26,SANDSHREW - ENDC - db 33,DITTO - db 26,SPEAROW - db 38,FEAROW - db 38,DITTO - db 38,FEAROW - IF DEF(_RED) - db 41,ARBOK - ENDC - IF DEF(_BLUE) - db 41,SANDSLASH - ENDC - db 43,DITTO - db 41,FEAROW - db 43,FEAROW - db $00 diff --git a/data/wildPokemon/route24.asm b/data/wildPokemon/route24.asm deleted file mode 100755 index 3a745f36..00000000 --- a/data/wildPokemon/route24.asm +++ /dev/null @@ -1,27 +0,0 @@ -Route24Mons: - db $19 - IF DEF(_RED) - db 7,WEEDLE - db 8,KAKUNA - db 12,PIDGEY - db 12,ODDISH - db 13,ODDISH - db 10,ABRA - db 14,ODDISH - db 13,PIDGEY - db 8,ABRA - db 12,ABRA - ENDC - IF DEF(_BLUE) - db 7,CATERPIE - db 8,METAPOD - db 12,PIDGEY - db 12,BELLSPROUT - db 13,BELLSPROUT - db 10,ABRA - db 14,BELLSPROUT - db 13,PIDGEY - db 8,ABRA - db 12,ABRA - ENDC - db $00 diff --git a/data/wildPokemon/route25.asm b/data/wildPokemon/route25.asm deleted file mode 100755 index 4884fa64..00000000 --- a/data/wildPokemon/route25.asm +++ /dev/null @@ -1,27 +0,0 @@ -Route25Mons: - db $0F - IF DEF(_RED) - db 8,WEEDLE - db 9,KAKUNA - db 13,PIDGEY - db 12,ODDISH - db 13,ODDISH - db 12,ABRA - db 14,ODDISH - db 10,ABRA - db 7,METAPOD - db 8,CATERPIE - ENDC - IF DEF(_BLUE) - db 8,CATERPIE - db 9,METAPOD - db 13,PIDGEY - db 12,BELLSPROUT - db 13,BELLSPROUT - db 12,ABRA - db 14,BELLSPROUT - db 10,ABRA - db 7,KAKUNA - db 8,WEEDLE - ENDC - db $00 diff --git a/data/wildPokemon/route3.asm b/data/wildPokemon/route3.asm deleted file mode 100755 index dea820a4..00000000 --- a/data/wildPokemon/route3.asm +++ /dev/null @@ -1,13 +0,0 @@ -Route3Mons: - db $14 - db 6,PIDGEY - db 5,SPEAROW - db 7,PIDGEY - db 6,SPEAROW - db 7,SPEAROW - db 8,PIDGEY - db 8,SPEAROW - db 3,JIGGLYPUFF - db 5,JIGGLYPUFF - db 7,JIGGLYPUFF - db $00 diff --git a/data/wildPokemon/route4.asm b/data/wildPokemon/route4.asm deleted file mode 100755 index 624d58de..00000000 --- a/data/wildPokemon/route4.asm +++ /dev/null @@ -1,27 +0,0 @@ -Route4Mons: - db $14 - IF DEF(_RED) - db 10,RATTATA - db 10,SPEAROW - db 8,RATTATA - db 6,EKANS - db 8,SPEAROW - db 10,EKANS - db 12,RATTATA - db 12,SPEAROW - db 8,EKANS - db 12,EKANS - ENDC - IF DEF(_BLUE) - db 10,RATTATA - db 10,SPEAROW - db 8,RATTATA - db 6,SANDSHREW - db 8,SPEAROW - db 10,SANDSHREW - db 12,RATTATA - db 12,SPEAROW - db 8,SANDSHREW - db 12,SANDSHREW - ENDC - db $00 diff --git a/data/wildPokemon/route5.asm b/data/wildPokemon/route5.asm deleted file mode 100755 index cb8c583b..00000000 --- a/data/wildPokemon/route5.asm +++ /dev/null @@ -1,27 +0,0 @@ -Route5Mons: - db $0F - IF DEF(_RED) - db 13,ODDISH - db 13,PIDGEY - db 15,PIDGEY - db 10,MANKEY - db 12,MANKEY - db 15,ODDISH - db 16,ODDISH - db 16,PIDGEY - db 14,MANKEY - db 16,MANKEY - ENDC - IF DEF(_BLUE) - db 13,BELLSPROUT - db 13,PIDGEY - db 15,PIDGEY - db 10,MEOWTH - db 12,MEOWTH - db 15,BELLSPROUT - db 16,BELLSPROUT - db 16,PIDGEY - db 14,MEOWTH - db 16,MEOWTH - ENDC - db $00 diff --git a/data/wildPokemon/route6.asm b/data/wildPokemon/route6.asm deleted file mode 100755 index 92512ffb..00000000 --- a/data/wildPokemon/route6.asm +++ /dev/null @@ -1,27 +0,0 @@ -Route6Mons: - db $0F - IF DEF(_RED) - db 13,ODDISH - db 13,PIDGEY - db 15,PIDGEY - db 10,MANKEY - db 12,MANKEY - db 15,ODDISH - db 16,ODDISH - db 16,PIDGEY - db 14,MANKEY - db 16,MANKEY - ENDC - IF DEF(_BLUE) - db 13,BELLSPROUT - db 13,PIDGEY - db 15,PIDGEY - db 10,MEOWTH - db 12,MEOWTH - db 15,BELLSPROUT - db 16,BELLSPROUT - db 16,PIDGEY - db 14,MEOWTH - db 16,MEOWTH - ENDC - db $00 diff --git a/data/wildPokemon/route7.asm b/data/wildPokemon/route7.asm deleted file mode 100755 index 559c98ee..00000000 --- a/data/wildPokemon/route7.asm +++ /dev/null @@ -1,27 +0,0 @@ -Route7Mons: - db $0F - IF DEF(_RED) - db 19,PIDGEY - db 19,ODDISH - db 17,MANKEY - db 22,ODDISH - db 22,PIDGEY - db 18,MANKEY - db 18,GROWLITHE - db 20,GROWLITHE - db 19,MANKEY - db 20,MANKEY - ENDC - IF DEF(_BLUE) - db 19,PIDGEY - db 19,BELLSPROUT - db 17,MEOWTH - db 22,BELLSPROUT - db 22,PIDGEY - db 18,MEOWTH - db 18,VULPIX - db 20,VULPIX - db 19,MEOWTH - db 20,MEOWTH - ENDC - db $00 diff --git a/data/wildPokemon/route8.asm b/data/wildPokemon/route8.asm deleted file mode 100755 index 8a0bfa31..00000000 --- a/data/wildPokemon/route8.asm +++ /dev/null @@ -1,27 +0,0 @@ -Route8Mons: - db $0F - IF DEF(_RED) - db 18,PIDGEY - db 18,MANKEY - db 17,EKANS - db 16,GROWLITHE - db 20,PIDGEY - db 20,MANKEY - db 19,EKANS - db 17,GROWLITHE - db 15,GROWLITHE - db 18,GROWLITHE - ENDC - IF DEF(_BLUE) - db 18,PIDGEY - db 18,MEOWTH - db 17,SANDSHREW - db 16,VULPIX - db 20,PIDGEY - db 20,MEOWTH - db 19,SANDSHREW - db 17,VULPIX - db 15,VULPIX - db 18,VULPIX - ENDC - db $00 diff --git a/data/wildPokemon/route9.asm b/data/wildPokemon/route9.asm deleted file mode 100755 index 716589b0..00000000 --- a/data/wildPokemon/route9.asm +++ /dev/null @@ -1,27 +0,0 @@ -Route9Mons: - db $0F - IF DEF(_RED) - db 16,RATTATA - db 16,SPEAROW - db 14,RATTATA - db 11,EKANS - db 13,SPEAROW - db 15,EKANS - db 17,RATTATA - db 17,SPEAROW - db 13,EKANS - db 17,EKANS - ENDC - IF DEF(_BLUE) - db 16,RATTATA - db 16,SPEAROW - db 14,RATTATA - db 11,SANDSHREW - db 13,SPEAROW - db 15,SANDSHREW - db 17,RATTATA - db 17,SPEAROW - db 13,SANDSHREW - db 17,SANDSHREW - ENDC - db $00 diff --git a/data/wildPokemon/safarizone1.asm b/data/wildPokemon/safarizone1.asm deleted file mode 100755 index 3d77b6fe..00000000 --- a/data/wildPokemon/safarizone1.asm +++ /dev/null @@ -1,27 +0,0 @@ -ZoneMons1: - db $1E - IF DEF(_RED) - db 24,NIDORAN_M - db 26,DODUO - db 22,PARAS - db 25,EXEGGCUTE - db 33,NIDORINO - db 23,EXEGGCUTE - db 24,NIDORAN_F - db 25,PARASECT - db 25,KANGASKHAN - db 28,SCYTHER - ENDC - IF DEF(_BLUE) - db 24,NIDORAN_F - db 26,DODUO - db 22,PARAS - db 25,EXEGGCUTE - db 33,NIDORINA - db 23,EXEGGCUTE - db 24,NIDORAN_M - db 25,PARASECT - db 25,KANGASKHAN - db 28,PINSIR - ENDC - db $00 diff --git a/data/wildPokemon/safarizone2.asm b/data/wildPokemon/safarizone2.asm deleted file mode 100755 index c1b6a547..00000000 --- a/data/wildPokemon/safarizone2.asm +++ /dev/null @@ -1,28 +0,0 @@ -ZoneMons2: - db $1E - IF DEF(_RED) - db 22,NIDORAN_M - ENDC - IF DEF(_BLUE) - db 22,NIDORAN_F - ENDC - db 26,RHYHORN - db 23,PARAS - db 25,EXEGGCUTE - IF DEF(_RED) - db 30,NIDORINO - ENDC - IF DEF(_BLUE) - db 30,NIDORINA - ENDC - db 27,EXEGGCUTE - IF DEF(_RED) - db 30,NIDORINA - ENDC - IF DEF(_BLUE) - db 30,NIDORINO - ENDC - db 32,VENOMOTH - db 26,CHANSEY - db 28,TAUROS - db $00 diff --git a/data/wildPokemon/safarizone3.asm b/data/wildPokemon/safarizone3.asm deleted file mode 100755 index 47b6a102..00000000 --- a/data/wildPokemon/safarizone3.asm +++ /dev/null @@ -1,27 +0,0 @@ -ZoneMons3: - db $1E - IF DEF(_RED) - db 25,NIDORAN_M - db 26,DODUO - db 23,VENONAT - db 24,EXEGGCUTE - db 33,NIDORINO - db 26,EXEGGCUTE - db 25,NIDORAN_F - db 31,VENOMOTH - db 26,TAUROS - db 28,KANGASKHAN - ENDC - IF DEF(_BLUE) - db 25,NIDORAN_F - db 26,DODUO - db 23,VENONAT - db 24,EXEGGCUTE - db 33,NIDORINA - db 26,EXEGGCUTE - db 25,NIDORAN_M - db 31,VENOMOTH - db 26,TAUROS - db 28,KANGASKHAN - ENDC - db $00 diff --git a/data/wildPokemon/safarizonecenter.asm b/data/wildPokemon/safarizonecenter.asm deleted file mode 100755 index 0cd5323a..00000000 --- a/data/wildPokemon/safarizonecenter.asm +++ /dev/null @@ -1,27 +0,0 @@ -ZoneMonsCenter: - db $1E - IF DEF(_RED) - db 22,NIDORAN_M - db 25,RHYHORN - db 22,VENONAT - db 24,EXEGGCUTE - db 31,NIDORINO - db 25,EXEGGCUTE - db 31,NIDORINA - db 30,PARASECT - db 23,SCYTHER - db 23,CHANSEY - ENDC - IF DEF(_BLUE) - db 22,NIDORAN_F - db 25,RHYHORN - db 22,VENONAT - db 24,EXEGGCUTE - db 31,NIDORINA - db 25,EXEGGCUTE - db 31,NIDORINO - db 30,PARASECT - db 23,PINSIR - db 23,CHANSEY - ENDC - db $00 diff --git a/data/wildPokemon/seafoamisland1.asm b/data/wildPokemon/seafoamisland1.asm deleted file mode 100755 index 3c431f9a..00000000 --- a/data/wildPokemon/seafoamisland1.asm +++ /dev/null @@ -1,27 +0,0 @@ -IslandMons1: - db $0F - IF DEF(_RED) - db 30,SEEL - db 30,SLOWPOKE - db 30,SHELLDER - db 30,HORSEA - db 28,HORSEA - db 21,ZUBAT - db 29,GOLBAT - db 28,PSYDUCK - db 28,SHELLDER - db 38,GOLDUCK - ENDC - IF DEF(_BLUE) - db 30,SEEL - db 30,PSYDUCK - db 30,STARYU - db 30,KRABBY - db 28,KRABBY - db 21,ZUBAT - db 29,GOLBAT - db 28,SLOWPOKE - db 28,STARYU - db 38,SLOWBRO - ENDC - db $00 diff --git a/data/wildPokemon/seafoamislandb1.asm b/data/wildPokemon/seafoamislandb1.asm deleted file mode 100755 index 6f96f240..00000000 --- a/data/wildPokemon/seafoamislandb1.asm +++ /dev/null @@ -1,27 +0,0 @@ -IslandMonsB1: - db $0A - IF DEF(_RED) - db 30,STARYU - db 30,HORSEA - db 32,SHELLDER - db 32,HORSEA - db 28,SLOWPOKE - db 30,SEEL - db 30,SLOWPOKE - db 28,SEEL - db 38,DEWGONG - db 37,SEADRA - ENDC - IF DEF(_BLUE) - db 30,SHELLDER - db 30,KRABBY - db 32,STARYU - db 32,KRABBY - db 28,PSYDUCK - db 30,SEEL - db 30,PSYDUCK - db 28,SEEL - db 38,DEWGONG - db 37,KINGLER - ENDC - db $00 diff --git a/data/wildPokemon/seafoamislandb2.asm b/data/wildPokemon/seafoamislandb2.asm deleted file mode 100755 index 7191fea9..00000000 --- a/data/wildPokemon/seafoamislandb2.asm +++ /dev/null @@ -1,27 +0,0 @@ -IslandMonsB2: - db $0A - IF DEF(_RED) - db 30,SEEL - db 30,SLOWPOKE - db 32,SEEL - db 32,SLOWPOKE - db 28,HORSEA - db 30,STARYU - db 30,HORSEA - db 28,SHELLDER - db 30,GOLBAT - db 37,SLOWBRO - ENDC - IF DEF(_BLUE) - db 30,SEEL - db 30,PSYDUCK - db 32,SEEL - db 32,PSYDUCK - db 28,KRABBY - db 30,SHELLDER - db 30,KRABBY - db 28,STARYU - db 30,GOLBAT - db 37,GOLDUCK - ENDC - db $00 diff --git a/data/wildPokemon/seafoamislandb3.asm b/data/wildPokemon/seafoamislandb3.asm deleted file mode 100755 index 9778c0e9..00000000 --- a/data/wildPokemon/seafoamislandb3.asm +++ /dev/null @@ -1,27 +0,0 @@ -IslandMonsB3: - db $0A - IF DEF(_RED) - db 31,SLOWPOKE - db 31,SEEL - db 33,SLOWPOKE - db 33,SEEL - db 29,HORSEA - db 31,SHELLDER - db 31,HORSEA - db 29,SHELLDER - db 39,SEADRA - db 37,DEWGONG - ENDC - IF DEF(_BLUE) - db 31,PSYDUCK - db 31,SEEL - db 33,PSYDUCK - db 33,SEEL - db 29,KRABBY - db 31,STARYU - db 31,KRABBY - db 29,STARYU - db 39,KINGLER - db 37,DEWGONG - ENDC - db $00 diff --git a/data/wildPokemon/seafoamislandb4.asm b/data/wildPokemon/seafoamislandb4.asm deleted file mode 100755 index 3948470b..00000000 --- a/data/wildPokemon/seafoamislandb4.asm +++ /dev/null @@ -1,27 +0,0 @@ -IslandMonsB4: - db $0A - IF DEF(_RED) - db 31,HORSEA - db 31,SHELLDER - db 33,HORSEA - db 33,SHELLDER - db 29,SLOWPOKE - db 31,SEEL - db 31,SLOWPOKE - db 29,SEEL - db 39,SLOWBRO - db 32,GOLBAT - ENDC - IF DEF(_BLUE) - db 31,KRABBY - db 31,STARYU - db 33,KRABBY - db 33,STARYU - db 29,PSYDUCK - db 31,SEEL - db 31,PSYDUCK - db 29,SEEL - db 39,GOLDUCK - db 32,GOLBAT - ENDC - db $00 diff --git a/data/wildPokemon/victoryroad1.asm b/data/wildPokemon/victoryroad1.asm deleted file mode 100755 index 60aae31a..00000000 --- a/data/wildPokemon/victoryroad1.asm +++ /dev/null @@ -1,13 +0,0 @@ -PlateauMons1: - db $0F - db 24,MACHOP - db 26,GEODUDE - db 22,ZUBAT - db 36,ONIX - db 39,ONIX - db 42,ONIX - db 41,GRAVELER - db 41,GOLBAT - db 42,MACHOKE - db 43,MAROWAK - db $00 diff --git a/data/wildPokemon/victoryroad2.asm b/data/wildPokemon/victoryroad2.asm deleted file mode 100755 index 580d644d..00000000 --- a/data/wildPokemon/victoryroad2.asm +++ /dev/null @@ -1,13 +0,0 @@ -PlateauMons2: - db $0A - db 22,MACHOP - db 24,GEODUDE - db 26,ZUBAT - db 36,ONIX - db 39,ONIX - db 42,ONIX - db 41,MACHOKE - db 40,GOLBAT - db 40,MAROWAK - db 43,GRAVELER - db $00 diff --git a/data/wildPokemon/victoryroad3.asm b/data/wildPokemon/victoryroad3.asm deleted file mode 100755 index 80d7ef3e..00000000 --- a/data/wildPokemon/victoryroad3.asm +++ /dev/null @@ -1,13 +0,0 @@ -PlateauMons3: - db $0F - db 24,MACHOP - db 26,GEODUDE - db 22,ZUBAT - db 42,ONIX - db 40,VENOMOTH - db 45,ONIX - db 43,GRAVELER - db 41,GOLBAT - db 42,MACHOKE - db 45,MACHOKE - db $00 diff --git a/data/wildPokemon/viridianforest.asm b/data/wildPokemon/viridianforest.asm deleted file mode 100755 index ae9a5a70..00000000 --- a/data/wildPokemon/viridianforest.asm +++ /dev/null @@ -1,25 +0,0 @@ -ForestMons: - db $08 - IF DEF(_RED) - db 4,WEEDLE - db 5,KAKUNA - db 3,WEEDLE - db 5,WEEDLE - db 4,KAKUNA - db 6,KAKUNA - db 4,METAPOD - db 3,CATERPIE - ENDC - IF DEF(_BLUE) - db 4,CATERPIE - db 5,METAPOD - db 3,CATERPIE - db 5,CATERPIE - db 4,METAPOD - db 6,METAPOD - db 4,KAKUNA - db 3,WEEDLE - ENDC - db 3,PIKACHU - db 5,PIKACHU - db $00 diff --git a/data/wildPokemon/waterpokemon.asm b/data/wildPokemon/waterpokemon.asm deleted file mode 100755 index 07c6a187..00000000 --- a/data/wildPokemon/waterpokemon.asm +++ /dev/null @@ -1,13 +0,0 @@ -WaterMons: - db $00 - db $05 - db 5,TENTACOOL - db 10,TENTACOOL - db 15,TENTACOOL - db 5,TENTACOOL - db 10,TENTACOOL - db 15,TENTACOOL - db 20,TENTACOOL - db 30,TENTACOOL - db 35,TENTACOOL - db 40,TENTACOOL diff --git a/data/wild_mons.asm b/data/wild_mons.asm deleted file mode 100755 index e089a582..00000000 --- a/data/wild_mons.asm +++ /dev/null @@ -1,321 +0,0 @@ -WildDataPointers: - dw NoMons ; PALLET_TOWN - dw NoMons ; VIRIDIAN_CITY - dw NoMons ; PEWTER_CITY - dw NoMons ; CERULEAN_CITY - dw NoMons ; LAVENDER_TOWN - dw NoMons ; VERMILION_CITY - dw NoMons ; CELADON_CITY - dw NoMons ; FUCHSIA_CITY - dw NoMons ; CINNABAR_ISLAND - dw NoMons ; INDIGO_PLATEAU - dw NoMons ; SAFFRON_CITY - dw NoMons ; unused - dw Route1Mons ; ROUTE_1 - dw Route2Mons ; ROUTE_2 - dw Route3Mons ; ROUTE_3 - dw Route4Mons ; ROUTE_4 - dw Route5Mons ; ROUTE_5 - dw Route6Mons ; ROUTE_6 - dw Route7Mons ; ROUTE_7 - dw Route8Mons ; ROUTE_8 - dw Route9Mons ; ROUTE_9 - dw Route10Mons ; ROUTE_10 - dw Route11Mons ; ROUTE_11 - dw Route12Mons ; ROUTE_12 - dw Route13Mons ; ROUTE_13 - dw Route14Mons ; ROUTE_14 - dw Route15Mons ; ROUTE_15 - dw Route16Mons ; ROUTE_16 - dw Route17Mons ; ROUTE_17 - dw Route18Mons ; ROUTE_18 - dw WaterMons ; ROUTE_19 - dw WaterMons ; ROUTE_20 - dw Route21Mons ; ROUTE_21 - dw Route22Mons ; ROUTE_22 - dw Route23Mons ; ROUTE_23 - dw Route24Mons ; ROUTE_24 - dw Route25Mons ; ROUTE_25 - dw NoMons ; REDS_HOUSE_1F - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw ForestMons ; ViridianForest - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw MoonMons1 - dw MoonMonsB1 - dw MoonMonsB2 - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw TunnelMonsB1 - dw PowerPlantMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw PlateauMons1 - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw TowerMons1 - dw TowerMons2 - dw TowerMons3 - dw TowerMons4 - dw TowerMons5 - dw TowerMons6 - dw TowerMons7 - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw IslandMonsB1 - dw IslandMonsB2 - dw IslandMonsB3 - dw IslandMonsB4 - dw NoMons - dw NoMons - dw MansionMons1 - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw IslandMons1 - dw NoMons - dw PlateauMons2 - dw NoMons - dw NoMons - dw CaveMons - dw PlateauMons3 - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw MansionMons2 - dw MansionMons3 - dw MansionMonsB1 - dw ZoneMons1 - dw ZoneMons2 - dw ZoneMons3 - dw ZoneMonsCenter - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw DungeonMons2 - dw DungeonMonsB1 - dw DungeonMons1 - dw NoMons - dw NoMons - dw NoMons - dw TunnelMonsB2 - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw $FFFF - -; wild pokemon data is divided into two parts. -; first part: pokemon found in grass -; second part: pokemon found while surfing -; each part goes as follows: - ; if first byte == 00, then - ; no wild pokemon on this map - ; if first byte != 00, then - ; first byte is encounter rate - ; followed by 20 bytes: - ; level, species (ten times) - -INCLUDE "data/wildPokemon/nomons.asm" -INCLUDE "data/wildPokemon/route1.asm" -INCLUDE "data/wildPokemon/route2.asm" -INCLUDE "data/wildPokemon/route22.asm" -INCLUDE "data/wildPokemon/viridianforest.asm" -INCLUDE "data/wildPokemon/route3.asm" -INCLUDE "data/wildPokemon/mtmoon1.asm" -INCLUDE "data/wildPokemon/mtmoonb1.asm" -INCLUDE "data/wildPokemon/mtmoonb2.asm" -INCLUDE "data/wildPokemon/route4.asm" -INCLUDE "data/wildPokemon/route24.asm" -INCLUDE "data/wildPokemon/route25.asm" -INCLUDE "data/wildPokemon/route9.asm" -INCLUDE "data/wildPokemon/route5.asm" -INCLUDE "data/wildPokemon/route6.asm" -INCLUDE "data/wildPokemon/route11.asm" -INCLUDE "data/wildPokemon/rocktunnel1.asm" -INCLUDE "data/wildPokemon/rocktunnel2.asm" -INCLUDE "data/wildPokemon/route10.asm" -INCLUDE "data/wildPokemon/route12.asm" -INCLUDE "data/wildPokemon/route8.asm" -INCLUDE "data/wildPokemon/route7.asm" -INCLUDE "data/wildPokemon/pokemontower1.asm" -INCLUDE "data/wildPokemon/pokemontower2.asm" -INCLUDE "data/wildPokemon/pokemontower3.asm" -INCLUDE "data/wildPokemon/pokemontower4.asm" -INCLUDE "data/wildPokemon/pokemontower5.asm" -INCLUDE "data/wildPokemon/pokemontower6.asm" -INCLUDE "data/wildPokemon/pokemontower7.asm" -INCLUDE "data/wildPokemon/route13.asm" -INCLUDE "data/wildPokemon/route14.asm" -INCLUDE "data/wildPokemon/route15.asm" -INCLUDE "data/wildPokemon/route16.asm" -INCLUDE "data/wildPokemon/route17.asm" -INCLUDE "data/wildPokemon/route18.asm" -INCLUDE "data/wildPokemon/safarizonecenter.asm" -INCLUDE "data/wildPokemon/safarizone1.asm" -INCLUDE "data/wildPokemon/safarizone2.asm" -INCLUDE "data/wildPokemon/safarizone3.asm" -INCLUDE "data/wildPokemon/waterpokemon.asm" -INCLUDE "data/wildPokemon/seafoamisland1.asm" -INCLUDE "data/wildPokemon/seafoamislandb1.asm" -INCLUDE "data/wildPokemon/seafoamislandb2.asm" -INCLUDE "data/wildPokemon/seafoamislandb3.asm" -INCLUDE "data/wildPokemon/seafoamislandb4.asm" -INCLUDE "data/wildPokemon/mansion1.asm" -INCLUDE "data/wildPokemon/mansion2.asm" -INCLUDE "data/wildPokemon/mansion3.asm" -INCLUDE "data/wildPokemon/mansionb1.asm" -INCLUDE "data/wildPokemon/route21.asm" -INCLUDE "data/wildPokemon/ceruleancave1.asm" -INCLUDE "data/wildPokemon/ceruleancave2.asm" -INCLUDE "data/wildPokemon/ceruleancaveb1.asm" -INCLUDE "data/wildPokemon/powerplant.asm" -INCLUDE "data/wildPokemon/route23.asm" -INCLUDE "data/wildPokemon/victoryroad2.asm" -INCLUDE "data/wildPokemon/victoryroad3.asm" -INCLUDE "data/wildPokemon/victoryroad1.asm" -INCLUDE "data/wildPokemon/diglettscave.asm" diff --git a/data/wild_probabilities.asm b/data/wild_probabilities.asm deleted file mode 100644 index 9d4704c6..00000000 --- a/data/wild_probabilities.asm +++ /dev/null @@ -1,15 +0,0 @@ -WildMonEncounterSlotChances: -; There are 10 slots for wild pokemon, and this is the table that defines how common each of -; those 10 slots is. A random number is generated and then the first byte of each pair in this -; table is compared against that random number. If the random number is less than or equal -; to the first byte, then that slot is chosen. The second byte is double the slot number. - db $32, $00 ; 51/256 = 19.9% chance of slot 0 - db $65, $02 ; 51/256 = 19.9% chance of slot 1 - db $8C, $04 ; 39/256 = 15.2% chance of slot 2 - db $A5, $06 ; 25/256 = 9.8% chance of slot 3 - db $BE, $08 ; 25/256 = 9.8% chance of slot 4 - db $D7, $0A ; 25/256 = 9.8% chance of slot 5 - db $E4, $0C ; 13/256 = 5.1% chance of slot 6 - db $F1, $0E ; 13/256 = 5.1% chance of slot 7 - db $FC, $10 ; 11/256 = 4.3% chance of slot 8 - db $FF, $12 ; 3/256 = 1.2% chance of slot 9 diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index fcc3c99f..4f75aab9 100755 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -649,7 +649,7 @@ DoSpecialEffectByAnimationId: pop hl ret -INCLUDE "data/move_animation_special_effects.asm" +INCLUDE "data/moves/animation_special_effects.asm" DoBallTossSpecialEffects: ld a, [wcf91] @@ -911,7 +911,7 @@ TailWhipAnimationUnused: ld c, 20 jp DelayFrames -INCLUDE "data/move_animation_pointers.asm" +INCLUDE "data/moves/animation_special_effect_pointers.asm" AnimationDelay10: ld c, 10 @@ -2208,7 +2208,7 @@ IsCryMove: scf ret -INCLUDE "data/move_sfx.asm" +INCLUDE "data/moves/sfx.asm" CopyPicTiles: ld a, [H_WHOSETURN] diff --git a/engine/battle/battle_transitions.asm b/engine/battle/battle_transitions.asm index 62b023b0..06b02aec 100644 --- a/engine/battle/battle_transitions.asm +++ b/engine/battle/battle_transitions.asm @@ -151,7 +151,7 @@ GetBattleTransitionID_IsDungeonMap: res 2, c ret -INCLUDE "data/dungeon_maps.asm" +INCLUDE "data/maps/dungeon_maps.asm" LoadBattleTransitionTile: ld hl, vChars1 + $7f0 diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 75841ccf..fec10215 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -3814,7 +3814,7 @@ DetermineExclamationPointTextNum: pop bc ret -INCLUDE "data/move_grammar.asm" +INCLUDE "data/moves/grammar.asm" PrintMoveFailureText: ld de, wPlayerMoveEffect @@ -5317,7 +5317,7 @@ AIGetTypeEffectiveness: ld [wTypeEffectiveness], a ; store damage multiplier ret -INCLUDE "data/type_effects.asm" +INCLUDE "data/types/type_matchups.asm" ; some tests that need to pass for a move to hit MoveHitTest: diff --git a/engine/battle/effects.asm b/engine/battle/effects.asm index 8bb22a1c..2c015097 100644 --- a/engine/battle/effects.asm +++ b/engine/battle/effects.asm @@ -21,7 +21,7 @@ _JumpMoveEffect: ld l, a jp hl ; jump to special effect handler -INCLUDE "data/effects_pointers.asm" +INCLUDE "data/moves/effects_pointers.asm" SleepEffect: ld de, wEnemyMonStatus @@ -751,7 +751,7 @@ PrintStatText: ld bc, $a jp CopyData -INCLUDE "text/stat_names.asm" +INCLUDE "data/battle/stat_names.asm" INCLUDE "data/battle/stat_modifiers.asm" diff --git a/engine/battle/print_type.asm b/engine/battle/print_type.asm index f717f871..7da0dc8c 100644 --- a/engine/battle/print_type.asm +++ b/engine/battle/print_type.asm @@ -49,4 +49,4 @@ PrintType_: pop hl jp PlaceString -INCLUDE "text/type_names.asm" +INCLUDE "data/types/names.asm" diff --git a/engine/battle/save_trainer_name.asm b/engine/battle/save_trainer_name.asm index 78e53b87..4d40fd82 100644 --- a/engine/battle/save_trainer_name.asm +++ b/engine/battle/save_trainer_name.asm @@ -18,4 +18,4 @@ SaveTrainerName:: jr nz, .CopyCharacter ret -INCLUDE "text/trainer_name_pointers.asm" +INCLUDE "data/trainers/name_pointers.asm" diff --git a/engine/battle/trainer_ai.asm b/engine/battle/trainer_ai.asm index 2850b9c2..91aef0f1 100644 --- a/engine/battle/trainer_ai.asm +++ b/engine/battle/trainer_ai.asm @@ -273,19 +273,19 @@ ReadMove: pop hl ret -INCLUDE "data/trainer_move_choices.asm" +INCLUDE "data/trainers/move_choices.asm" -INCLUDE "data/trainer_pic_money_pointers.asm" +INCLUDE "data/trainers/pic_pointers_money.asm" -INCLUDE "text/trainer_names.asm" +INCLUDE "data/trainers/names.asm" INCLUDE "engine/battle/misc.asm" INCLUDE "engine/battle/read_trainer_party.asm" -INCLUDE "data/trainer_moves.asm" +INCLUDE "data/trainers/special_moves.asm" -INCLUDE "data/trainer_parties.asm" +INCLUDE "data/trainers/parties.asm" TrainerAI: and a @@ -319,7 +319,7 @@ TrainerAI: call Random jp hl -INCLUDE "data/trainer_ai_pointers.asm" +INCLUDE "data/trainers/ai_pointers.asm" JugglerAI: cp 25 percent + 1 diff --git a/engine/battle/wild_encounters.asm b/engine/battle/wild_encounters.asm index 93409051..9d6fcb8d 100644 --- a/engine/battle/wild_encounters.asm +++ b/engine/battle/wild_encounters.asm @@ -101,4 +101,4 @@ TryDoWildEncounter: xor a ret -INCLUDE "data/wild_probabilities.asm" +INCLUDE "data/wild/probabilities.asm" diff --git a/engine/events/hidden_items.asm b/engine/events/hidden_items.asm index e40b0ac7..ad954c9f 100755 --- a/engine/events/hidden_items.asm +++ b/engine/events/hidden_items.asm @@ -18,7 +18,7 @@ HiddenItems: call GetItemName tx_pre_jump FoundHiddenItemText -INCLUDE "data/hidden_item_coords.asm" +INCLUDE "data/events/hidden_item_coords.asm" FoundHiddenItemText:: TX_FAR _FoundHiddenItemText @@ -118,7 +118,7 @@ HiddenCoins: .done jp PrintPredefTextID -INCLUDE "data/hidden_coins.asm" +INCLUDE "data/events/hidden_coins.asm" FoundHiddenCoinsText:: TX_FAR _FoundHiddenCoinsText diff --git a/engine/events/hidden_object_functions3.asm b/engine/events/hidden_object_functions3.asm index 1237e960..4b3262f7 100755 --- a/engine/events/hidden_object_functions3.asm +++ b/engine/events/hidden_object_functions3.asm @@ -36,7 +36,7 @@ PrintBookshelfText:: ld [$ffdb], a jpba PrintCardKeyText -INCLUDE "data/bookshelf_tile_ids.asm" +INCLUDE "data/tilesets/bookshelf_tile_ids.asm" IndigoPlateauStatues:: TX_ASM diff --git a/engine/events/in_game_trades.asm b/engine/events/in_game_trades.asm index c01bc3c3..c1466485 100755 --- a/engine/events/in_game_trades.asm +++ b/engine/events/in_game_trades.asm @@ -84,7 +84,7 @@ InGameTrade_GetMonName: ld bc, NAME_LENGTH jp CopyData -INCLUDE "data/trades.asm" +INCLUDE "data/events/trades.asm" InGameTrade_DoTrade: xor a ; NORMAL_PARTY_MENU diff --git a/engine/events/prize_menu.asm b/engine/events/prize_menu.asm index 5e08bb8f..aa86f828 100755 --- a/engine/events/prize_menu.asm +++ b/engine/events/prize_menu.asm @@ -145,7 +145,7 @@ GetPrizeMenuId: ld c, (1 << 7 | 2) jp PrintBCDNumber -INCLUDE "data/prizes.asm" +INCLUDE "data/events/prizes.asm" PrintPrizePrice: coord hl, 11, 0 @@ -303,4 +303,4 @@ GetPrizeMonLevel: ld [wCurEnemyLVL], a ret -INCLUDE "data/prize_mon_levels.asm" +INCLUDE "data/events/prize_mon_levels.asm" diff --git a/engine/events/saffron_guards.asm b/engine/events/saffron_guards.asm index 091cfa1a..02ab92ea 100755 --- a/engine/events/saffron_guards.asm +++ b/engine/events/saffron_guards.asm @@ -12,4 +12,4 @@ RemoveGuardDrink:: jr z, .drinkLoop jpba RemoveItemByID -INCLUDE "data/guard_drink_items.asm" +INCLUDE "data/items/guard_drink_items.asm" diff --git a/engine/events/set_blackout_map.asm b/engine/events/set_blackout_map.asm index 14f0ba28..e8460240 100644 --- a/engine/events/set_blackout_map.asm +++ b/engine/events/set_blackout_map.asm @@ -22,4 +22,4 @@ SetLastBlackoutMap: pop hl ret -INCLUDE "data/rest_house_maps.asm" +INCLUDE "data/maps/rest_house_maps.asm" diff --git a/engine/events/vending_machine.asm b/engine/events/vending_machine.asm index 554c5d4f..4a39f7b9 100755 --- a/engine/events/vending_machine.asm +++ b/engine/events/vending_machine.asm @@ -130,4 +130,4 @@ LoadVendingMachineItem: ld [hVendingMachinePrice + 2], a ret -INCLUDE "data/vending_prices.asm" +INCLUDE "data/items/vending_prices.asm" diff --git a/engine/gfx/mon_icons.asm b/engine/gfx/mon_icons.asm index d2913715..7a96b36c 100755 --- a/engine/gfx/mon_icons.asm +++ b/engine/gfx/mon_icons.asm @@ -162,7 +162,7 @@ LoadMonPartySpriteGfxWithLCDDisabled: jr nz, .loop jp EnableLCD -INCLUDE "data/mon_party_sprite_pointers.asm" +INCLUDE "data/icon_pointers.asm" WriteMonPartySpriteOAMByPartyIndex: ; Write OAM blocks for the party mon in [hPartyMonIndex]. @@ -278,7 +278,7 @@ GetPartyMonSpriteID: srl a ret -INCLUDE "data/mon_party_sprites.asm" +INCLUDE "data/pokemon/menu_icons.asm" INC_FRAME_1 EQUS "0, $20" INC_FRAME_2 EQUS "$20, $20" diff --git a/engine/gfx/palettes.asm b/engine/gfx/palettes.asm index 39991d48..9ec0f04a 100755 --- a/engine/gfx/palettes.asm +++ b/engine/gfx/palettes.asm @@ -632,10 +632,10 @@ CopySGBBorderTiles: jr nz, .tileLoop ret -INCLUDE "data/sgb_packets.asm" +INCLUDE "data/sgb/sgb_packets.asm" -INCLUDE "data/mon_palettes.asm" +INCLUDE "data/pokemon/palettes.asm" -INCLUDE "data/super_palettes.asm" +INCLUDE "data/sgb/sgb_palettes.asm" -INCLUDE "data/sgb_border.asm" +INCLUDE "data/sgb/sgb_border.asm" diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm index 6e7bed1e..e1723118 100755 --- a/engine/items/item_effects.asm +++ b/engine/items/item_effects.asm @@ -1901,7 +1901,7 @@ ItemUseGoodRod: xor 1 jr RodResponse -INCLUDE "data/good_rod.asm" +INCLUDE "data/wild/good_rod.asm" ItemUseSuperRod: call FishingInit @@ -2686,7 +2686,7 @@ IsKeyItem_:: ld [wIsKeyItem], a ret -INCLUDE "data/key_items.asm" +INCLUDE "data/items/key_items.asm" SendNewMonToBox: ld de, wNumInBox @@ -2881,7 +2881,7 @@ IsNextTileShoreOrWater: and a ret -INCLUDE "data/water_tilesets.asm" +INCLUDE "data/tilesets/water_tilesets.asm" ReadSuperRodData: ; return e = 2 if no fish on this map @@ -2928,7 +2928,7 @@ ReadSuperRodData: ld e, $1 ; $1 if there's a bite ret -INCLUDE "data/super_rod.asm" +INCLUDE "data/wild/super_rod.asm" ; reloads map view and processes sprite data ; for items that cause the overworld to be displayed diff --git a/engine/items/tm_prices.asm b/engine/items/tm_prices.asm index c359dc1d..85531bab 100755 --- a/engine/items/tm_prices.asm +++ b/engine/items/tm_prices.asm @@ -22,4 +22,4 @@ GetMachinePrice:: ld [hItemPrice + 2], a ret -INCLUDE "data/tm_prices.asm" +INCLUDE "data/items/tm_prices.asm" diff --git a/engine/items/tms.asm b/engine/items/tms.asm index da1b5e72..ea7fbcad 100755 --- a/engine/items/tms.asm +++ b/engine/items/tms.asm @@ -33,4 +33,4 @@ TMToMove: ld [wd11e], a ret -INCLUDE "data/tms.asm" +INCLUDE "data/moves/tmhm_moves.asm" diff --git a/engine/items/town_map.asm b/engine/items/town_map.asm index 84a92994..285dbfa5 100755 --- a/engine/items/town_map.asm +++ b/engine/items/town_map.asm @@ -103,7 +103,7 @@ DisplayTownMap: ld [wWhichTownMapLocation], a jp .townMapLoop -INCLUDE "data/town_map_order.asm" +INCLUDE "data/maps/town_map_order.asm" TownMapCursor: INCBIN "gfx/town_map/town_map_cursor.1bpp" @@ -581,9 +581,9 @@ LoadTownMapEntry: ld l, a ret -INCLUDE "data/town_map_entries.asm" +INCLUDE "data/maps/town_map_entries.asm" -INCLUDE "text/map_names.asm" +INCLUDE "data/maps/names.asm" MonNestIcon: INCBIN "gfx/town_map/mon_nest_icon.1bpp" diff --git a/engine/menus/naming_screen.asm b/engine/menus/naming_screen.asm index 2b86d6f4..6e78c5c3 100755 --- a/engine/menus/naming_screen.asm +++ b/engine/menus/naming_screen.asm @@ -365,7 +365,7 @@ PrintAlphabet: ld [H_AUTOBGTRANSFERENABLED], a jp Delay3 -INCLUDE "text/alphabets.asm" +INCLUDE "data/text/alphabets.asm" PrintNicknameAndUnderscores: call CalcStringLength @@ -435,7 +435,7 @@ DakutensAndHandakutens: ld [wNamingScreenLetter], a ret -INCLUDE "text/dakutens.asm" +INCLUDE "data/text/dakutens.asm" ; calculates the length of the string at wcf4b and stores it in c CalcStringLength: diff --git a/engine/menus/pokedex.asm b/engine/menus/pokedex.asm index 8e1fd480..25c9ad89 100755 --- a/engine/menus/pokedex.asm +++ b/engine/menus/pokedex.asm @@ -623,7 +623,7 @@ DrawTileLine: pop bc ret -INCLUDE "data/pokedex_entries.asm" +INCLUDE "data/pokemon/dex_entries.asm" PokedexToIndex: ; converts the Pokédex number at wd11e to an index @@ -662,4 +662,4 @@ IndexToPokedex: pop bc ret -INCLUDE "data/pokedex_order.asm" +INCLUDE "data/pokemon/dex_order.asm" diff --git a/engine/menus/start_sub_menus.asm b/engine/menus/start_sub_menus.asm index b81769a2..d9501da7 100755 --- a/engine/menus/start_sub_menus.asm +++ b/engine/menus/start_sub_menus.asm @@ -446,9 +446,9 @@ CannotGetOffHereText: TX_FAR _CannotGetOffHereText db "@" -INCLUDE "data/party_items.asm" +INCLUDE "data/items/use_party.asm" -INCLUDE "data/overworld_items.asm" +INCLUDE "data/items/use_overworld.asm" StartMenu_TrainerInfo:: call GBPalWhiteOut diff --git a/engine/movie/credits.asm b/engine/movie/credits.asm index f820aae3..f6900602 100755 --- a/engine/movie/credits.asm +++ b/engine/movie/credits.asm @@ -104,7 +104,7 @@ DisplayCreditsMon: ld [rBGP], a ret -INCLUDE "data/credit_mons.asm" +INCLUDE "data/credits/credits_mons.asm" ScrollCreditsMonLeft: ld h, b @@ -261,9 +261,9 @@ TheEndTextString: db $60," ",$62," ",$64," ",$64," ",$66," ",$68,"@" db $61," ",$63," ",$65," ",$65," ",$67," ",$69,"@" -INCLUDE "data/credits_order.asm" +INCLUDE "data/credits/credits_order.asm" -INCLUDE "text/credits_text.asm" +INCLUDE "data/credits/credits_text.asm" TheEndGfx: INCBIN "gfx/intro_credits/the_end.2bpp" diff --git a/engine/movie/oak_speech/oak_speech2.asm b/engine/movie/oak_speech/oak_speech2.asm index fdc9ffa3..d7112440 100755 --- a/engine/movie/oak_speech/oak_speech2.asm +++ b/engine/movie/oak_speech/oak_speech2.asm @@ -187,7 +187,7 @@ DisplayIntroNameTextBox: .namestring db "NAME@" -INCLUDE "text/player_names.asm" +INCLUDE "data/player_names.asm" GetDefaultName: ; a = name index @@ -213,7 +213,7 @@ GetDefaultName: ld bc, $14 jp CopyData -INCLUDE "text/player_names_list.asm" +INCLUDE "data/player_names_list.asm" TextTerminator_6b20: db "@" diff --git a/engine/movie/title.asm b/engine/movie/title.asm new file mode 100755 index 00000000..4bdbb05d --- /dev/null +++ b/engine/movie/title.asm @@ -0,0 +1,403 @@ +; copy text of fixed length NAME_LENGTH (like player name, rival name, mon names, ...) +CopyFixedLengthText: + ld bc, NAME_LENGTH + jp CopyData + +SetDefaultNamesBeforeTitlescreen:: + ld hl, NintenText + ld de, wPlayerName + call CopyFixedLengthText + ld hl, SonyText + ld de, wRivalName + call CopyFixedLengthText + xor a + ld [hWY], a + ld [wLetterPrintingDelayFlags], a + ld hl, wd732 + ld [hli], a + ld [hli], a + ld [hl], a + ld a, BANK(Music_TitleScreen) + ld [wAudioROMBank], a + ld [wAudioSavedROMBank], a + +DisplayTitleScreen: + call GBPalWhiteOut + ld a, $1 + ld [H_AUTOBGTRANSFERENABLED], a + xor a + ld [hTilesetType], a + ld [hSCX], a + ld a, $40 + ld [hSCY], a + ld a, $90 + ld [hWY], a + call ClearScreen + call DisableLCD + call LoadFontTilePatterns + ld hl, NintendoCopyrightLogoGraphics + ld de, vTitleLogo2 + $100 + ld bc, $50 + ld a, BANK(NintendoCopyrightLogoGraphics) + call FarCopyData2 + ld hl, GamefreakLogoGraphics + ld de, vTitleLogo2 + $100 + $50 + ld bc, $90 + ld a, BANK(GamefreakLogoGraphics) + call FarCopyData2 + ld hl, PokemonLogoGraphics + ld de, vTitleLogo + ld bc, $600 + ld a, BANK(PokemonLogoGraphics) + call FarCopyData2 ; first chunk + ld hl, PokemonLogoGraphics+$600 + ld de, vTitleLogo2 + ld bc, $100 + ld a, BANK(PokemonLogoGraphics) + call FarCopyData2 ; second chunk + ld hl, Version_GFX + ld de, vChars2 + $600 - (Version_GFXEnd - Version_GFX - $50) + ld bc, Version_GFXEnd - Version_GFX + ld a, BANK(Version_GFX) + call FarCopyDataDouble + call ClearBothBGMaps + +; place tiles for pokemon logo (except for the last row) + coord hl, 2, 1 + ld a, $80 + ld de, SCREEN_WIDTH + ld c, 6 +.pokemonLogoTileLoop + ld b, $10 + push hl +.pokemonLogoTileRowLoop ; place tiles for one row + ld [hli], a + inc a + dec b + jr nz, .pokemonLogoTileRowLoop + pop hl + add hl, de + dec c + jr nz, .pokemonLogoTileLoop + +; place tiles for the last row of the pokemon logo + coord hl, 2, 7 + ld a, $31 + ld b, $10 +.pokemonLogoLastTileRowLoop + ld [hli], a + inc a + dec b + jr nz, .pokemonLogoLastTileRowLoop + + call DrawPlayerCharacter + +; put a pokeball in the player's hand + ld hl, wOAMBuffer + $28 + ld a, $74 + ld [hl], a + +; place tiles for title screen copyright + coord hl, 2, 17 + ld de, .tileScreenCopyrightTiles + ld b, $10 +.tileScreenCopyrightTilesLoop + ld a, [de] + ld [hli], a + inc de + dec b + jr nz, .tileScreenCopyrightTilesLoop + + jr .next + +.tileScreenCopyrightTiles + db $41,$42,$43,$42,$44,$42,$45,$46,$47,$48,$49,$4A,$4B,$4C,$4D,$4E ; ©'95.'96.'98 GAME FREAK inc. + +.next + call SaveScreenTilesToBuffer2 + call LoadScreenTilesFromBuffer2 + call EnableLCD +IF DEF(_RED) + ld a, CHARMANDER ; which Pokemon to show first on the title screen +ENDC +IF DEF(_BLUE) + ld a, SQUIRTLE ; which Pokemon to show first on the title screen +ENDC + + ld [wTitleMonSpecies], a + call LoadTitleMonSprite + ld a, (vBGMap0 + $300) / $100 + call TitleScreenCopyTileMapToVRAM + call SaveScreenTilesToBuffer1 + ld a, $40 + ld [hWY], a + call LoadScreenTilesFromBuffer2 + ld a, vBGMap0 / $100 + call TitleScreenCopyTileMapToVRAM + ld b, SET_PAL_TITLE_SCREEN + call RunPaletteCommand + call GBPalNormal + ld a, %11100100 + ld [rOBP0], a + +; make pokemon logo bounce up and down + ld bc, hSCY ; background scroll Y + ld hl, .TitleScreenPokemonLogoYScrolls +.bouncePokemonLogoLoop + ld a, [hli] + and a + jr z, .finishedBouncingPokemonLogo + ld d, a + cp -3 + jr nz, .skipPlayingSound + ld a, SFX_INTRO_CRASH + call PlaySound +.skipPlayingSound + ld a, [hli] + ld e, a + call .ScrollTitleScreenPokemonLogo + jr .bouncePokemonLogoLoop + +.TitleScreenPokemonLogoYScrolls: +; Controls the bouncing effect of the Pokemon logo on the title screen + db -4,16 ; y scroll amount, number of times to scroll + db 3,4 + db -3,4 + db 2,2 + db -2,2 + db 1,2 + db -1,2 + db 0 ; terminate list with 0 + +.ScrollTitleScreenPokemonLogo: +; Scrolls the Pokemon logo on the title screen to create the bouncing effect +; Scrolls d pixels e times + call DelayFrame + ld a, [bc] ; background scroll Y + add d + ld [bc], a + dec e + jr nz, .ScrollTitleScreenPokemonLogo + ret + +.finishedBouncingPokemonLogo + call LoadScreenTilesFromBuffer1 + ld c, 36 + call DelayFrames + ld a, SFX_INTRO_WHOOSH + call PlaySound + +; scroll game version in from the right + call PrintGameVersionOnTitleScreen + ld a, SCREEN_HEIGHT_PIXELS + ld [hWY], a + ld d, 144 +.scrollTitleScreenGameVersionLoop + ld h, d + ld l, 64 + call ScrollTitleScreenGameVersion + ld h, 0 + ld l, 80 + call ScrollTitleScreenGameVersion + ld a, d + add 4 + ld d, a + and a + jr nz, .scrollTitleScreenGameVersionLoop + + ld a, vBGMap1 / $100 + call TitleScreenCopyTileMapToVRAM + call LoadScreenTilesFromBuffer2 + call PrintGameVersionOnTitleScreen + call Delay3 + call WaitForSoundToFinish + ld a, MUSIC_TITLE_SCREEN + ld [wNewSoundID], a + call PlaySound + xor a + ld [wUnusedCC5B], a + +; Keep scrolling in new mons indefinitely until the user performs input. +.awaitUserInterruptionLoop + ld c, 200 + call CheckForUserInterruption + jr c, .finishedWaiting + call TitleScreenScrollInMon + ld c, 1 + call CheckForUserInterruption + jr c, .finishedWaiting + callba TitleScreenAnimateBallIfStarterOut + call TitleScreenPickNewMon + jr .awaitUserInterruptionLoop + +.finishedWaiting + ld a, [wTitleMonSpecies] + call PlayCry + call WaitForSoundToFinish + call GBPalWhiteOutWithDelay3 + call ClearSprites + xor a + ld [hWY], a + inc a + ld [H_AUTOBGTRANSFERENABLED], a + call ClearScreen + ld a, vBGMap0 / $100 + call TitleScreenCopyTileMapToVRAM + ld a, vBGMap1 / $100 + call TitleScreenCopyTileMapToVRAM + call Delay3 + call LoadGBPal + ld a, [hJoyHeld] + ld b, a + and D_UP | SELECT | B_BUTTON + cp D_UP | SELECT | B_BUTTON + jp z, .doClearSaveDialogue + jp MainMenu + +.doClearSaveDialogue + jpba DoClearSaveDialogue + +TitleScreenPickNewMon: + ld a, vBGMap0 / $100 + call TitleScreenCopyTileMapToVRAM + +.loop +; Keep looping until a mon different from the current one is picked. + call Random + and $f + ld c, a + ld b, 0 + ld hl, TitleMons + add hl, bc + ld a, [hl] + ld hl, wTitleMonSpecies + +; Can't be the same as before. + cp [hl] + jr z, .loop + + ld [hl], a + call LoadTitleMonSprite + + ld a, $90 + ld [hWY], a + ld d, 1 ; scroll out + callba TitleScroll + ret + +TitleScreenScrollInMon: + ld d, 0 ; scroll in + callba TitleScroll + xor a + ld [hWY], a + ret + +ScrollTitleScreenGameVersion: +.wait + ld a, [rLY] + cp l + jr nz, .wait + + ld a, h + ld [rSCX], a + +.wait2 + ld a, [rLY] + cp h + jr z, .wait2 + ret + +DrawPlayerCharacter: + ld hl, PlayerCharacterTitleGraphics + ld de, vSprites + ld bc, PlayerCharacterTitleGraphicsEnd - PlayerCharacterTitleGraphics + ld a, BANK(PlayerCharacterTitleGraphics) + call FarCopyData2 + call ClearSprites + xor a + ld [wPlayerCharacterOAMTile], a + ld hl, wOAMBuffer + ld de, $605a + ld b, 7 +.loop + push de + ld c, 5 +.innerLoop + ld a, d + ld [hli], a ; Y + ld a, e + ld [hli], a ; X + add 8 + ld e, a + ld a, [wPlayerCharacterOAMTile] + ld [hli], a ; tile + inc a + ld [wPlayerCharacterOAMTile], a + inc hl + dec c + jr nz, .innerLoop + pop de + ld a, 8 + add d + ld d, a + dec b + jr nz, .loop + ret + +ClearBothBGMaps: + ld hl, vBGMap0 + ld bc, $400 * 2 + ld a, " " + jp FillMemory + +LoadTitleMonSprite: + ld [wcf91], a + ld [wd0b5], a + coord hl, 5, 10 + call GetMonHeader + jp LoadFrontSpriteByMonIndex + +TitleScreenCopyTileMapToVRAM: + ld [H_AUTOBGTRANSFERDEST + 1], a + jp Delay3 + +LoadCopyrightAndTextBoxTiles: + xor a + ld [hWY], a + call ClearScreen + call LoadTextBoxTilePatterns + +LoadCopyrightTiles: + ld de, NintendoCopyrightLogoGraphics + ld hl, vChars2 + $600 + lb bc, BANK(NintendoCopyrightLogoGraphics), (GamefreakLogoGraphicsEnd - NintendoCopyrightLogoGraphics) / $10 + call CopyVideoData + coord hl, 2, 7 + ld de, CopyrightTextString + jp PlaceString + +CopyrightTextString: + db $60,$61,$62,$61,$63,$61,$64,$7F,$65,$66,$67,$68,$69,$6A ; ©'95.'96.'98 Nintendo + next $60,$61,$62,$61,$63,$61,$64,$7F,$6B,$6C,$6D,$6E,$6F,$70,$71,$72 ; ©'95.'96.'98 Creatures inc. + next $60,$61,$62,$61,$63,$61,$64,$7F,$73,$74,$75,$76,$77,$78,$79,$7A,$7B ; ©'95.'96.'98 GAME FREAK inc. + db "@" + +INCLUDE "data/pokemon/title_mons.asm" + +; prints version text (red, blue) +PrintGameVersionOnTitleScreen: + coord hl, 7, 8 + ld de, VersionOnTitleScreenText + jp PlaceString + +; these point to special tiles specifically loaded for that purpose and are not usual text +VersionOnTitleScreenText: +IF DEF(_RED) + db $60,$61,$7F,$65,$66,$67,$68,$69,"@" ; "Red Version" +ENDC +IF DEF(_BLUE) + db $61,$62,$63,$64,$65,$66,$67,$68,"@" ; "Blue Version" +ENDC + +NintenText: db "NINTEN@" +SonyText: db "SONY@" diff --git a/engine/movie/title2.asm b/engine/movie/title2.asm new file mode 100755 index 00000000..2346fcc5 --- /dev/null +++ b/engine/movie/title2.asm @@ -0,0 +1,120 @@ +TitleScroll_WaitBall: +; Wait around for the TitleBall animation to play out. +; hi: speed +; lo: duration + db $05, $05, 0 + +TitleScroll_In: +; Scroll a TitleMon in from the right. +; hi: speed +; lo: duration + db $a2, $94, $84, $63, $52, $31, $11, 0 + +TitleScroll_Out: +; Scroll a TitleMon out to the left. +; hi: speed +; lo: duration + db $12, $22, $32, $42, $52, $62, $83, $93, 0 + +TitleScroll: + ld a, d + + ld bc, TitleScroll_In + ld d, $88 + ld e, 0 ; don't animate titleball + + and a + jr nz, .ok + + ld bc, TitleScroll_Out + ld d, $00 + ld e, 0 ; don't animate titleball +.ok + +_TitleScroll: + ld a, [bc] + and a + ret z + + inc bc + push bc + + ld b, a + and $f + ld c, a + ld a, b + and $f0 + swap a + ld b, a + +.loop + ld h, d + ld l, $48 + call .ScrollBetween + + ld h, $00 + ld l, $88 + call .ScrollBetween + + ld a, d + add b + ld d, a + + call GetTitleBallY + dec c + jr nz, .loop + + pop bc + jr _TitleScroll + +.ScrollBetween: +.wait + ld a, [rLY] ; rLY + cp l + jr nz, .wait + + ld a, h + ld [rSCX], a + +.wait2 + ld a, [rLY] ; rLY + cp h + jr z, .wait2 + ret + +TitleBallYTable: +; OBJ y-positions for the Poke Ball held by Red in the title screen. +; This is really two 0-terminated lists. Initiated with an index of 1. + db 0, $71, $6f, $6e, $6d, $6c, $6d, $6e, $6f, $71, $74, 0 + +TitleScreenAnimateBallIfStarterOut: +; Animate the TitleBall if a starter just got scrolled out. + ld a, [wTitleMonSpecies] + cp STARTER1 + jr z, .ok + cp STARTER2 + jr z, .ok + cp STARTER3 + ret nz +.ok + ld e, 1 ; animate titleball + ld bc, TitleScroll_WaitBall + ld d, 0 + jp _TitleScroll + +GetTitleBallY: +; Get position e from TitleBallYTable + push de + push hl + xor a + ld d, a + ld hl, TitleBallYTable + add hl, de + ld a, [hl] + pop hl + pop de + and a + ret z + ld [wOAMBuffer + $28], a + inc e + ret diff --git a/engine/movie/titlescreen.asm b/engine/movie/titlescreen.asm deleted file mode 100755 index c30f83a9..00000000 --- a/engine/movie/titlescreen.asm +++ /dev/null @@ -1,403 +0,0 @@ -; copy text of fixed length NAME_LENGTH (like player name, rival name, mon names, ...) -CopyFixedLengthText: - ld bc, NAME_LENGTH - jp CopyData - -SetDefaultNamesBeforeTitlescreen:: - ld hl, NintenText - ld de, wPlayerName - call CopyFixedLengthText - ld hl, SonyText - ld de, wRivalName - call CopyFixedLengthText - xor a - ld [hWY], a - ld [wLetterPrintingDelayFlags], a - ld hl, wd732 - ld [hli], a - ld [hli], a - ld [hl], a - ld a, BANK(Music_TitleScreen) - ld [wAudioROMBank], a - ld [wAudioSavedROMBank], a - -DisplayTitleScreen: - call GBPalWhiteOut - ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a - xor a - ld [hTilesetType], a - ld [hSCX], a - ld a, $40 - ld [hSCY], a - ld a, $90 - ld [hWY], a - call ClearScreen - call DisableLCD - call LoadFontTilePatterns - ld hl, NintendoCopyrightLogoGraphics - ld de, vTitleLogo2 + $100 - ld bc, $50 - ld a, BANK(NintendoCopyrightLogoGraphics) - call FarCopyData2 - ld hl, GamefreakLogoGraphics - ld de, vTitleLogo2 + $100 + $50 - ld bc, $90 - ld a, BANK(GamefreakLogoGraphics) - call FarCopyData2 - ld hl, PokemonLogoGraphics - ld de, vTitleLogo - ld bc, $600 - ld a, BANK(PokemonLogoGraphics) - call FarCopyData2 ; first chunk - ld hl, PokemonLogoGraphics+$600 - ld de, vTitleLogo2 - ld bc, $100 - ld a, BANK(PokemonLogoGraphics) - call FarCopyData2 ; second chunk - ld hl, Version_GFX - ld de, vChars2 + $600 - (Version_GFXEnd - Version_GFX - $50) - ld bc, Version_GFXEnd - Version_GFX - ld a, BANK(Version_GFX) - call FarCopyDataDouble - call ClearBothBGMaps - -; place tiles for pokemon logo (except for the last row) - coord hl, 2, 1 - ld a, $80 - ld de, SCREEN_WIDTH - ld c, 6 -.pokemonLogoTileLoop - ld b, $10 - push hl -.pokemonLogoTileRowLoop ; place tiles for one row - ld [hli], a - inc a - dec b - jr nz, .pokemonLogoTileRowLoop - pop hl - add hl, de - dec c - jr nz, .pokemonLogoTileLoop - -; place tiles for the last row of the pokemon logo - coord hl, 2, 7 - ld a, $31 - ld b, $10 -.pokemonLogoLastTileRowLoop - ld [hli], a - inc a - dec b - jr nz, .pokemonLogoLastTileRowLoop - - call DrawPlayerCharacter - -; put a pokeball in the player's hand - ld hl, wOAMBuffer + $28 - ld a, $74 - ld [hl], a - -; place tiles for title screen copyright - coord hl, 2, 17 - ld de, .tileScreenCopyrightTiles - ld b, $10 -.tileScreenCopyrightTilesLoop - ld a, [de] - ld [hli], a - inc de - dec b - jr nz, .tileScreenCopyrightTilesLoop - - jr .next - -.tileScreenCopyrightTiles - db $41,$42,$43,$42,$44,$42,$45,$46,$47,$48,$49,$4A,$4B,$4C,$4D,$4E ; ©'95.'96.'98 GAME FREAK inc. - -.next - call SaveScreenTilesToBuffer2 - call LoadScreenTilesFromBuffer2 - call EnableLCD -IF DEF(_RED) - ld a, CHARMANDER ; which Pokemon to show first on the title screen -ENDC -IF DEF(_BLUE) - ld a, SQUIRTLE ; which Pokemon to show first on the title screen -ENDC - - ld [wTitleMonSpecies], a - call LoadTitleMonSprite - ld a, (vBGMap0 + $300) / $100 - call TitleScreenCopyTileMapToVRAM - call SaveScreenTilesToBuffer1 - ld a, $40 - ld [hWY], a - call LoadScreenTilesFromBuffer2 - ld a, vBGMap0 / $100 - call TitleScreenCopyTileMapToVRAM - ld b, SET_PAL_TITLE_SCREEN - call RunPaletteCommand - call GBPalNormal - ld a, %11100100 - ld [rOBP0], a - -; make pokemon logo bounce up and down - ld bc, hSCY ; background scroll Y - ld hl, .TitleScreenPokemonLogoYScrolls -.bouncePokemonLogoLoop - ld a, [hli] - and a - jr z, .finishedBouncingPokemonLogo - ld d, a - cp -3 - jr nz, .skipPlayingSound - ld a, SFX_INTRO_CRASH - call PlaySound -.skipPlayingSound - ld a, [hli] - ld e, a - call .ScrollTitleScreenPokemonLogo - jr .bouncePokemonLogoLoop - -.TitleScreenPokemonLogoYScrolls: -; Controls the bouncing effect of the Pokemon logo on the title screen - db -4,16 ; y scroll amount, number of times to scroll - db 3,4 - db -3,4 - db 2,2 - db -2,2 - db 1,2 - db -1,2 - db 0 ; terminate list with 0 - -.ScrollTitleScreenPokemonLogo: -; Scrolls the Pokemon logo on the title screen to create the bouncing effect -; Scrolls d pixels e times - call DelayFrame - ld a, [bc] ; background scroll Y - add d - ld [bc], a - dec e - jr nz, .ScrollTitleScreenPokemonLogo - ret - -.finishedBouncingPokemonLogo - call LoadScreenTilesFromBuffer1 - ld c, 36 - call DelayFrames - ld a, SFX_INTRO_WHOOSH - call PlaySound - -; scroll game version in from the right - call PrintGameVersionOnTitleScreen - ld a, SCREEN_HEIGHT_PIXELS - ld [hWY], a - ld d, 144 -.scrollTitleScreenGameVersionLoop - ld h, d - ld l, 64 - call ScrollTitleScreenGameVersion - ld h, 0 - ld l, 80 - call ScrollTitleScreenGameVersion - ld a, d - add 4 - ld d, a - and a - jr nz, .scrollTitleScreenGameVersionLoop - - ld a, vBGMap1 / $100 - call TitleScreenCopyTileMapToVRAM - call LoadScreenTilesFromBuffer2 - call PrintGameVersionOnTitleScreen - call Delay3 - call WaitForSoundToFinish - ld a, MUSIC_TITLE_SCREEN - ld [wNewSoundID], a - call PlaySound - xor a - ld [wUnusedCC5B], a - -; Keep scrolling in new mons indefinitely until the user performs input. -.awaitUserInterruptionLoop - ld c, 200 - call CheckForUserInterruption - jr c, .finishedWaiting - call TitleScreenScrollInMon - ld c, 1 - call CheckForUserInterruption - jr c, .finishedWaiting - callba TitleScreenAnimateBallIfStarterOut - call TitleScreenPickNewMon - jr .awaitUserInterruptionLoop - -.finishedWaiting - ld a, [wTitleMonSpecies] - call PlayCry - call WaitForSoundToFinish - call GBPalWhiteOutWithDelay3 - call ClearSprites - xor a - ld [hWY], a - inc a - ld [H_AUTOBGTRANSFERENABLED], a - call ClearScreen - ld a, vBGMap0 / $100 - call TitleScreenCopyTileMapToVRAM - ld a, vBGMap1 / $100 - call TitleScreenCopyTileMapToVRAM - call Delay3 - call LoadGBPal - ld a, [hJoyHeld] - ld b, a - and D_UP | SELECT | B_BUTTON - cp D_UP | SELECT | B_BUTTON - jp z, .doClearSaveDialogue - jp MainMenu - -.doClearSaveDialogue - jpba DoClearSaveDialogue - -TitleScreenPickNewMon: - ld a, vBGMap0 / $100 - call TitleScreenCopyTileMapToVRAM - -.loop -; Keep looping until a mon different from the current one is picked. - call Random - and $f - ld c, a - ld b, 0 - ld hl, TitleMons - add hl, bc - ld a, [hl] - ld hl, wTitleMonSpecies - -; Can't be the same as before. - cp [hl] - jr z, .loop - - ld [hl], a - call LoadTitleMonSprite - - ld a, $90 - ld [hWY], a - ld d, 1 ; scroll out - callba TitleScroll - ret - -TitleScreenScrollInMon: - ld d, 0 ; scroll in - callba TitleScroll - xor a - ld [hWY], a - ret - -ScrollTitleScreenGameVersion: -.wait - ld a, [rLY] - cp l - jr nz, .wait - - ld a, h - ld [rSCX], a - -.wait2 - ld a, [rLY] - cp h - jr z, .wait2 - ret - -DrawPlayerCharacter: - ld hl, PlayerCharacterTitleGraphics - ld de, vSprites - ld bc, PlayerCharacterTitleGraphicsEnd - PlayerCharacterTitleGraphics - ld a, BANK(PlayerCharacterTitleGraphics) - call FarCopyData2 - call ClearSprites - xor a - ld [wPlayerCharacterOAMTile], a - ld hl, wOAMBuffer - ld de, $605a - ld b, 7 -.loop - push de - ld c, 5 -.innerLoop - ld a, d - ld [hli], a ; Y - ld a, e - ld [hli], a ; X - add 8 - ld e, a - ld a, [wPlayerCharacterOAMTile] - ld [hli], a ; tile - inc a - ld [wPlayerCharacterOAMTile], a - inc hl - dec c - jr nz, .innerLoop - pop de - ld a, 8 - add d - ld d, a - dec b - jr nz, .loop - ret - -ClearBothBGMaps: - ld hl, vBGMap0 - ld bc, $400 * 2 - ld a, " " - jp FillMemory - -LoadTitleMonSprite: - ld [wcf91], a - ld [wd0b5], a - coord hl, 5, 10 - call GetMonHeader - jp LoadFrontSpriteByMonIndex - -TitleScreenCopyTileMapToVRAM: - ld [H_AUTOBGTRANSFERDEST + 1], a - jp Delay3 - -LoadCopyrightAndTextBoxTiles: - xor a - ld [hWY], a - call ClearScreen - call LoadTextBoxTilePatterns - -LoadCopyrightTiles: - ld de, NintendoCopyrightLogoGraphics - ld hl, vChars2 + $600 - lb bc, BANK(NintendoCopyrightLogoGraphics), (GamefreakLogoGraphicsEnd - NintendoCopyrightLogoGraphics) / $10 - call CopyVideoData - coord hl, 2, 7 - ld de, CopyrightTextString - jp PlaceString - -CopyrightTextString: - db $60,$61,$62,$61,$63,$61,$64,$7F,$65,$66,$67,$68,$69,$6A ; ©'95.'96.'98 Nintendo - next $60,$61,$62,$61,$63,$61,$64,$7F,$6B,$6C,$6D,$6E,$6F,$70,$71,$72 ; ©'95.'96.'98 Creatures inc. - next $60,$61,$62,$61,$63,$61,$64,$7F,$73,$74,$75,$76,$77,$78,$79,$7A,$7B ; ©'95.'96.'98 GAME FREAK inc. - db "@" - -INCLUDE "data/title_mons.asm" - -; prints version text (red, blue) -PrintGameVersionOnTitleScreen: - coord hl, 7, 8 - ld de, VersionOnTitleScreenText - jp PlaceString - -; these point to special tiles specifically loaded for that purpose and are not usual text -VersionOnTitleScreenText: -IF DEF(_RED) - db $60,$61,$7F,$65,$66,$67,$68,$69,"@" ; "Red Version" -ENDC -IF DEF(_BLUE) - db $61,$62,$63,$64,$65,$66,$67,$68,"@" ; "Blue Version" -ENDC - -NintenText: db "NINTEN@" -SonyText: db "SONY@" diff --git a/engine/movie/titlescreen2.asm b/engine/movie/titlescreen2.asm deleted file mode 100755 index 2346fcc5..00000000 --- a/engine/movie/titlescreen2.asm +++ /dev/null @@ -1,120 +0,0 @@ -TitleScroll_WaitBall: -; Wait around for the TitleBall animation to play out. -; hi: speed -; lo: duration - db $05, $05, 0 - -TitleScroll_In: -; Scroll a TitleMon in from the right. -; hi: speed -; lo: duration - db $a2, $94, $84, $63, $52, $31, $11, 0 - -TitleScroll_Out: -; Scroll a TitleMon out to the left. -; hi: speed -; lo: duration - db $12, $22, $32, $42, $52, $62, $83, $93, 0 - -TitleScroll: - ld a, d - - ld bc, TitleScroll_In - ld d, $88 - ld e, 0 ; don't animate titleball - - and a - jr nz, .ok - - ld bc, TitleScroll_Out - ld d, $00 - ld e, 0 ; don't animate titleball -.ok - -_TitleScroll: - ld a, [bc] - and a - ret z - - inc bc - push bc - - ld b, a - and $f - ld c, a - ld a, b - and $f0 - swap a - ld b, a - -.loop - ld h, d - ld l, $48 - call .ScrollBetween - - ld h, $00 - ld l, $88 - call .ScrollBetween - - ld a, d - add b - ld d, a - - call GetTitleBallY - dec c - jr nz, .loop - - pop bc - jr _TitleScroll - -.ScrollBetween: -.wait - ld a, [rLY] ; rLY - cp l - jr nz, .wait - - ld a, h - ld [rSCX], a - -.wait2 - ld a, [rLY] ; rLY - cp h - jr z, .wait2 - ret - -TitleBallYTable: -; OBJ y-positions for the Poke Ball held by Red in the title screen. -; This is really two 0-terminated lists. Initiated with an index of 1. - db 0, $71, $6f, $6e, $6d, $6c, $6d, $6e, $6f, $71, $74, 0 - -TitleScreenAnimateBallIfStarterOut: -; Animate the TitleBall if a starter just got scrolled out. - ld a, [wTitleMonSpecies] - cp STARTER1 - jr z, .ok - cp STARTER2 - jr z, .ok - cp STARTER3 - ret nz -.ok - ld e, 1 ; animate titleball - ld bc, TitleScroll_WaitBall - ld d, 0 - jp _TitleScroll - -GetTitleBallY: -; Get position e from TitleBallYTable - push de - push hl - xor a - ld d, a - ld hl, TitleBallYTable - add hl, de - ld a, [hl] - pop hl - pop de - and a - ret z - ld [wOAMBuffer + $28], a - inc e - ret diff --git a/engine/overworld/cut.asm b/engine/overworld/cut.asm index f61ca65f..c75fbbb6 100755 --- a/engine/overworld/cut.asm +++ b/engine/overworld/cut.asm @@ -248,4 +248,4 @@ ReplaceTreeTileBlock: ld [hl], a ret -INCLUDE "data/cut_tree_blocks.asm" +INCLUDE "data/tilesets/cut_tree_blocks.asm" diff --git a/engine/overworld/doors.asm b/engine/overworld/doors.asm index 1339430a..ed893773 100755 --- a/engine/overworld/doors.asm +++ b/engine/overworld/doors.asm @@ -25,4 +25,4 @@ IsPlayerStandingOnDoorTile: and a ret -INCLUDE "data/door_tile_ids.asm" +INCLUDE "data/tilesets/door_tile_ids.asm" diff --git a/engine/overworld/hidden_objects.asm b/engine/overworld/hidden_objects.asm index c93f2e1b..5887660e 100755 --- a/engine/overworld/hidden_objects.asm +++ b/engine/overworld/hidden_objects.asm @@ -130,4 +130,4 @@ CheckIfCoordsInFrontOfPlayerMatch: ld [hCoordsInFrontOfPlayerMatch], a ret -INCLUDE "data/hidden_objects.asm" +INCLUDE "data/events/hidden_objects.asm" diff --git a/engine/overworld/ledges.asm b/engine/overworld/ledges.asm index 290c8c80..c56914f6 100755 --- a/engine/overworld/ledges.asm +++ b/engine/overworld/ledges.asm @@ -54,7 +54,7 @@ HandleLedges:: call PlaySound ret -INCLUDE "data/ledge_tiles.asm" +INCLUDE "data/tilesets/ledge_tiles.asm" LoadHoppingShadowOAM: ld hl, vChars1 + $7f0 diff --git a/engine/overworld/map_sprites.asm b/engine/overworld/map_sprites.asm index 19e25435..2079bb6a 100755 --- a/engine/overworld/map_sprites.asm +++ b/engine/overworld/map_sprites.asm @@ -437,4 +437,4 @@ GetSplitMapSpriteSetID: ld a, $01 ret -INCLUDE "data/sprite_sets.asm" +INCLUDE "data/maps/sprite_sets.asm" diff --git a/engine/overworld/player_animations.asm b/engine/overworld/player_animations.asm index 0ac4f3b2..a3f6e051 100755 --- a/engine/overworld/player_animations.asm +++ b/engine/overworld/player_animations.asm @@ -373,7 +373,7 @@ IsPlayerStandingOnWarpPadOrHole:: ld [wStandingOnWarpPadOrHole], a ret -INCLUDE "data/warp_pad_hole_tile_ids.asm" +INCLUDE "data/tilesets/warp_pad_hole_tile_ids.asm" FishingAnim: ld c, 10 diff --git a/engine/overworld/player_state.asm b/engine/overworld/player_state.asm index 23da664c..69b9201f 100644 --- a/engine/overworld/player_state.asm +++ b/engine/overworld/player_state.asm @@ -82,7 +82,7 @@ CheckForceBikeOrSurf:: ld [wWalkBikeSurfStateCopy], a jp ForceBikeOrSurf -INCLUDE "data/force_bike_surf.asm" +INCLUDE "data/maps/force_bike_surf.asm" IsPlayerFacingEdgeOfMap:: push hl @@ -176,7 +176,7 @@ IsWarpTileInFrontOfPlayer:: pop hl ret -INCLUDE "data/warp_carpet_tile_ids.asm" +INCLUDE "data/tilesets/warp_carpet_tile_ids.asm" IsSSAnneBowWarpTileInFrontOfPlayer: ld a, [wTileInFrontOfPlayer] @@ -215,7 +215,7 @@ IsPlayerStandingOnDoorTileOrWarpTile:: pop hl ret -INCLUDE "data/warp_tile_ids.asm" +INCLUDE "data/tilesets/warp_tile_ids.asm" PrintSafariZoneSteps:: ld a, [wCurMap] diff --git a/engine/overworld/special_warps.asm b/engine/overworld/special_warps.asm index eee85402..042146f9 100644 --- a/engine/overworld/special_warps.asm +++ b/engine/overworld/special_warps.asm @@ -146,4 +146,4 @@ LoadSpecialWarpData: ld [wDestinationWarpID], a ret -INCLUDE "data/special_warps.asm" +INCLUDE "data/maps/special_warps.asm" diff --git a/engine/overworld/tilesets.asm b/engine/overworld/tilesets.asm index 6e33974f..d6b8221c 100644 --- a/engine/overworld/tilesets.asm +++ b/engine/overworld/tilesets.asm @@ -55,6 +55,6 @@ LoadTilesetHeader: .done ret -INCLUDE "data/dungeon_tilesets.asm" +INCLUDE "data/tilesets/dungeon_tilesets.asm" -INCLUDE "data/tileset_headers.asm" +INCLUDE "data/tilesets/tileset_headers.asm" diff --git a/engine/overworld/wild_mons.asm b/engine/overworld/wild_mons.asm index df4d3121..24dc7681 100644 --- a/engine/overworld/wild_mons.asm +++ b/engine/overworld/wild_mons.asm @@ -30,4 +30,4 @@ LoadWildData:: ld bc, $0014 jp CopyData -INCLUDE "data/wild_mons.asm" +INCLUDE "data/wild/grass_water.asm" diff --git a/engine/pokemon/bills_pc.asm b/engine/pokemon/bills_pc.asm index e5855f1d..7d599404 100644 --- a/engine/pokemon/bills_pc.asm +++ b/engine/pokemon/bills_pc.asm @@ -376,7 +376,7 @@ KnowsHMMove:: and a ret -INCLUDE "data/hm_moves.asm" +INCLUDE "data/moves/hm_moves.asm" DisplayDepositWithdrawMenu: coord hl, 9, 10 diff --git a/engine/pokemon/evos_moves.asm b/engine/pokemon/evos_moves.asm index f50f8081..d25b71ec 100755 --- a/engine/pokemon/evos_moves.asm +++ b/engine/pokemon/evos_moves.asm @@ -510,4 +510,4 @@ WriteMonMoves_ShiftMoveData: Evolution_FlagAction: predef_jump FlagActionPredef -INCLUDE "data/evos_moves.asm" +INCLUDE "data/pokemon/evos_moves.asm" diff --git a/engine/slots/slot_machine.asm b/engine/slots/slot_machine.asm index 0a92c69b..16696713 100755 --- a/engine/slots/slot_machine.asm +++ b/engine/slots/slot_machine.asm @@ -881,7 +881,7 @@ SlotMachineMap: INCBIN "gfx/slots/slots.tilemap" SlotMachineMapEnd: -INCLUDE "data/slot_machine_wheels.asm" +INCLUDE "data/events/slot_machine_wheels.asm" SlotMachineTiles1: IF DEF(_RED) diff --git a/home.asm b/home.asm index dfa1bec2..de7e90ea 100644 --- a/home.asm +++ b/home.asm @@ -114,7 +114,7 @@ Start:: INCLUDE "home/joypad.asm" -INCLUDE "data/map_header_pointers.asm" +INCLUDE "data/maps/map_header_pointers.asm" INCLUDE "home/overworld.asm" CheckForUserInterruption:: @@ -910,7 +910,7 @@ InterlaceMergeSpriteBuffers:: jp CopyVideoData -INCLUDE "data/collision_tile_ids.asm" +INCLUDE "data/tilesets/collision_tile_ids.asm" INCLUDE "home/copy2.asm" INCLUDE "home/text.asm" INCLUDE "home/vcopy.asm" @@ -937,7 +937,7 @@ UpdateSprites:: ld [MBC1RomBank], a ret -INCLUDE "data/mart_inventories.asm" +INCLUDE "data/items/marts.asm" TextScriptEndingChar:: db "@" @@ -2634,7 +2634,7 @@ PlayTrainerMusic:: ld [wNewSoundID], a jp PlaySound -INCLUDE "data/trainer_types.asm" +INCLUDE "data/trainers/encounter_types.asm" ; checks if the player's coordinates match an arrow movement tile's coordinates ; and if so, decodes the RLE movement data diff --git a/home/overworld.asm b/home/overworld.asm index b96efcb4..460ce11e 100644 --- a/home/overworld.asm +++ b/home/overworld.asm @@ -867,7 +867,7 @@ IsBikeRidingAllowed:: scf ret -INCLUDE "data/bike_riding_tilesets.asm" +INCLUDE "data/tilesets/bike_riding_tilesets.asm" ; load the tile pattern data of the current tileset into VRAM LoadTilesetTilePatternData:: diff --git a/main.asm b/main.asm index 1c3b5800..fc920b79 100755 --- a/main.asm +++ b/main.asm @@ -3,19 +3,19 @@ INCLUDE "constants.asm" SECTION "bank1", ROMX -INCLUDE "data/facing.asm" +INCLUDE "data/sprite_facings.asm" INCLUDE "engine/events/black_out.asm" MewPicFront:: INCBIN "gfx/pokemon/front/mew.pic" MewPicBack:: INCBIN "gfx/pokemon/back/mewb.pic" -INCLUDE "data/baseStats/mew.asm" +INCLUDE "data/pokemon/base_stats/mew.asm" INCLUDE "engine/battle/safari_zone.asm" -INCLUDE "engine/movie/titlescreen.asm" +INCLUDE "engine/movie/title.asm" INCLUDE "engine/pokemon/load_mon_data.asm" -INCLUDE "data/item_prices.asm" -INCLUDE "text/item_names.asm" -INCLUDE "text/unused_names.asm" +INCLUDE "data/items/prices.asm" +INCLUDE "data/items/names.asm" +INCLUDE "data/text/unused_names.asm" INCLUDE "engine/gfx/sprite_oam.asm" INCLUDE "engine/gfx/oam_dma.asm" INCLUDE "engine/link/print_waiting_text.asm" @@ -49,14 +49,14 @@ INCLUDE "engine/events/display_pokedex.asm" SECTION "bank3", ROMX INCLUDE "engine/joypad.asm" -INCLUDE "data/map_songs.asm" -INCLUDE "data/map_header_banks.asm" +INCLUDE "data/maps/songs.asm" +INCLUDE "data/maps/map_header_banks.asm" INCLUDE "engine/overworld/clear_variables.asm" INCLUDE "engine/overworld/player_state.asm" INCLUDE "engine/events/poison.asm" INCLUDE "engine/overworld/tilesets.asm" INCLUDE "engine/overworld/daycare_exp.asm" -INCLUDE "data/hide_show_data.asm" +INCLUDE "data/maps/hide_show_data.asm" INCLUDE "engine/overworld/field_move_messages.asm" INCLUDE "engine/items/inventory.asm" INCLUDE "engine/overworld/wild_mons.asm" @@ -149,7 +149,7 @@ INCLUDE "engine/overworld/ledges.asm" SECTION "bank7_1", ROMX -INCLUDE "text/monster_names.asm" +INCLUDE "data/pokemon/names.asm" INCLUDE "engine/movie/oak_speech/clear_save.asm" INCLUDE "engine/events/elevator.asm" @@ -201,7 +201,7 @@ INCLUDE "engine/battle/move_effects/one_hit_ko.asm" SECTION "Battle (BANK D)", ROMX -INCLUDE "engine/movie/titlescreen2.asm" +INCLUDE "engine/movie/title2.asm" INCLUDE "engine/battle/link_battle_versus_text.asm" INCLUDE "engine/slots/slot_machine.asm" INCLUDE "engine/events/pewter_guys.asm" @@ -211,9 +211,9 @@ INCLUDE "engine/slots/game_corner_slots.asm" SECTION "bankE", ROMX -INCLUDE "data/moves.asm" -INCLUDE "data/base_stats.asm" -INCLUDE "data/cries.asm" +INCLUDE "data/moves/moves.asm" +INCLUDE "data/pokemon/base_stats.asm" +INCLUDE "data/pokemon/cries.asm" INCLUDE "engine/battle/unused_stats_functions.asm" INCLUDE "engine/battle/scroll_draw_trainer_pic.asm" INCLUDE "engine/battle/trainer_ai.asm" @@ -224,7 +224,6 @@ INCBIN "gfx/trade/game_boy.2bpp" INCBIN "gfx/trade/link_cable.2bpp" TradingAnimationGraphicsEnd: -; Pokeball traveling through the link cable. TradingAnimationGraphics2: INCBIN "gfx/trade/cable_ball.2bpp" TradingAnimationGraphics2End: @@ -380,7 +379,7 @@ RedFishingTilesBack: INCBIN "gfx/overworld/red_fish_back.2bpp" RedFishingTilesSide: INCBIN "gfx/overworld/red_fish_side.2bpp" RedFishingRodTiles: INCBIN "gfx/overworld/fishing_rod.2bpp" -INCLUDE "data/animations.asm" +INCLUDE "data/moves/animations.asm" INCLUDE "engine/movie/evolution.asm" INCLUDE "engine/overworld/elevator.asm" INCLUDE "engine/items/tm_prices.asm" diff --git a/text.asm b/text.asm index a426de39..49e22ef0 100644 --- a/text.asm +++ b/text.asm @@ -8,3182 +8,278 @@ INCLUDE "constants/text_constants.asm" SECTION "Text 1", ROMX -_CardKeySuccessText1:: - text "Bingo!@@" +INCLUDE "data/text/text_1.asm" + +INCLUDE "text/ViridianForest.asm" +INCLUDE "text/MtMoon1F.asm" +INCLUDE "text/MtMoonB1F.asm" +INCLUDE "text/MtMoonB2F.asm" +INCLUDE "text/SSAnne1F.asm" +INCLUDE "text/SSAnne2F.asm" +INCLUDE "text/SSAnne3F.asm" +INCLUDE "text/SSAnneBow.asm" +INCLUDE "text/SSAnneKitchen.asm" +INCLUDE "text/SSAnneCaptainsRoom.asm" +INCLUDE "text/SSAnne1FRooms.asm" +INCLUDE "text/SSAnne2FRooms.asm" +INCLUDE "text/SSAnneB1FRooms.asm" +INCLUDE "text/VictoryRoad3F.asm" +INCLUDE "text/RocketHideoutB1F.asm" +INCLUDE "text/RocketHideoutB2F.asm" +INCLUDE "text/RocketHideoutB3F.asm" +INCLUDE "text/RocketHideoutB4F.asm" +INCLUDE "text/RocketHideoutElevator.asm" +INCLUDE "text/SilphCo2F.asm" +INCLUDE "text/SilphCo3F.asm" +INCLUDE "text/SilphCo4F.asm" +INCLUDE "text/SilphCo5F.asm" -_CardKeySuccessText2:: - text "" - line "The CARD KEY" - cont "opened the door!" - done -_CardKeyFailText:: - text "Darn! It needs a" - line "CARD KEY!" - done - -_TrainerNameText:: - TX_RAM wcd6d - text ": @@" - -_NoNibbleText:: - text "Not even a nibble!" - prompt - -_NothingHereText:: - text "Looks like there's" - line "nothing here." - prompt - -_ItsABiteText:: - text "Oh!" - line "It's a bite!" - prompt - -_ExclamationText:: - text "!" - done - -_GroundRoseText:: - text "Ground rose up" - line "somewhere!" - done - -_BoulderText:: - text "This requires" - line "STRENGTH to move!" - done - -_MartSignText:: - text "All your item" - line "needs fulfilled!" - cont "#MON MART" - done - -_PokeCenterSignText:: - text "Heal Your #MON!" - line "#MON CENTER" - done - -_FoundItemText:: - text " found" - line "@" - TX_RAM wcf4b - text "!@@" - -_NoMoreRoomForItemText:: - text "No more room for" - line "items!" - done - -_OaksAideHiText:: - text "Hi! Remember me?" - line "I'm PROF.OAK's" - cont "AIDE!" - - para "If you caught @" - TX_NUM hOaksAideRequirement, 1, 3 - text "" - line "kinds of #MON," - cont "I'm supposed to" - cont "give you an" - cont "@" - TX_RAM wOaksAideRewardItemName - text "!" - - para "So, ! Have" - line "you caught at" - cont "least @" - TX_NUM hOaksAideRequirement, 1, 3 - text " kinds of" - cont "#MON?" - done - -_OaksAideUhOhText:: - text "Let's see..." - line "Uh-oh! You have" - cont "caught only @" - TX_NUM hOaksAideNumMonsOwned, 1, 3 - text "" - cont "kinds of #MON!" - - para "You need @" - TX_NUM hOaksAideRequirement, 1, 3 - text " kinds" - line "if you want the" - cont "@" - TX_RAM wOaksAideRewardItemName - text "." - done - -_OaksAideComeBackText:: - text "Oh. I see." - - para "When you get @" - TX_NUM hOaksAideRequirement, 1, 3 - text "" - line "kinds, come back" - cont "for @" - TX_RAM wOaksAideRewardItemName - text "." - done - -_OaksAideHereYouGoText:: - text "Great! You have" - line "caught @" - TX_NUM hOaksAideNumMonsOwned, 1, 3 - text " kinds " - cont "of #MON!" - cont "Congratulations!" - - para "Here you go!" - prompt - -_OaksAideGotItemText:: - text " got the" - line "@" - TX_RAM wOaksAideRewardItemName - text "!@@" - -_OaksAideNoRoomText:: - text "Oh! I see you" - line "don't have any" - cont "room for the" - cont "@" - TX_RAM wOaksAideRewardItemName - text "." - done - -INCLUDE "text/maps/ViridianForest.asm" -INCLUDE "text/maps/MtMoon1F.asm" -INCLUDE "text/maps/MtMoonB1F.asm" -INCLUDE "text/maps/MtMoonB2F.asm" -INCLUDE "text/maps/SSAnne1F.asm" -INCLUDE "text/maps/SSAnne2F.asm" -INCLUDE "text/maps/SSAnne3F.asm" -INCLUDE "text/maps/SSAnneBow.asm" -INCLUDE "text/maps/SSAnneKitchen.asm" -INCLUDE "text/maps/SSAnneCaptainsRoom.asm" -INCLUDE "text/maps/SSAnne1FRooms.asm" -INCLUDE "text/maps/SSAnne2FRooms.asm" -INCLUDE "text/maps/SSAnneB1FRooms.asm" -INCLUDE "text/maps/VictoryRoad3F.asm" -INCLUDE "text/maps/RocketHideoutB1F.asm" -INCLUDE "text/maps/RocketHideoutB2F.asm" -INCLUDE "text/maps/RocketHideoutB3F.asm" -INCLUDE "text/maps/RocketHideoutB4F.asm" -INCLUDE "text/maps/RocketHideoutElevator.asm" -INCLUDE "text/maps/SilphCo2F.asm" -INCLUDE "text/maps/SilphCo3F.asm" -INCLUDE "text/maps/SilphCo4F.asm" -INCLUDE "text/maps/SilphCo5F.asm" - - -SECTION "Text 2", ROMX - -INCLUDE "text/maps/SilphCo5F_2.asm" -INCLUDE "text/maps/SilphCo6F.asm" -INCLUDE "text/maps/SilphCo7F.asm" -INCLUDE "text/maps/SilphCo8F.asm" -INCLUDE "text/maps/SilphCo9F.asm" -INCLUDE "text/maps/SilphCo10F.asm" -INCLUDE "text/maps/SilphCo11F.asm" -INCLUDE "text/maps/PokemonMansion2F.asm" -INCLUDE "text/maps/PokemonMansion3F.asm" -INCLUDE "text/maps/PokemonMansionB1F.asm" -INCLUDE "text/maps/SafariZoneEast.asm" -INCLUDE "text/maps/SafariZoneNorth.asm" -INCLUDE "text/maps/SafariZoneWest.asm" -INCLUDE "text/maps/SafariZoneCenter.asm" -INCLUDE "text/maps/SafariZoneCenterRestHouse.asm" -INCLUDE "text/maps/SafariZoneSecretHouse.asm" -INCLUDE "text/maps/SafariZoneWestRestHouse.asm" -INCLUDE "text/maps/SafariZoneEastRestHouse.asm" -INCLUDE "text/maps/SafariZoneNorthRestHouse.asm" -INCLUDE "text/maps/CeruleanCaveB1F.asm" -INCLUDE "text/maps/VictoryRoad1F.asm" -INCLUDE "text/maps/LancesRoom.asm" -INCLUDE "text/maps/HallOfFame.asm" -INCLUDE "text/maps/ChampionsRoom.asm" -INCLUDE "text/maps/LoreleisRoom.asm" -INCLUDE "text/maps/BrunosRoom.asm" -INCLUDE "text/maps/AgathasRoom.asm" -INCLUDE "text/maps/RockTunnelB1F.asm" - - -SECTION "Text 3", ROMX - -INCLUDE "text/maps/RockTunnelB1F_2.asm" -INCLUDE "text/maps/SeafoamIslandsB4F.asm" - -_AIBattleWithdrawText:: - TX_RAM wTrainerName - text " with-" - line "drew @" - TX_RAM wEnemyMonNick - text "!" - prompt - -_AIBattleUseItemText:: - TX_RAM wTrainerName - text "" - line "used @" - TX_RAM wcd6d - text "" - cont "on @" - TX_RAM wEnemyMonNick - text "!" - prompt - -_TradeWentToText:: - TX_RAM wcf4b - text " went" - line "to @" - TX_RAM wLinkEnemyTrainerName - text "." - done - -_TradeForText:: - text "For 's" - line "@" - TX_RAM wcf4b - text "," - done - -_TradeSendsText:: - TX_RAM wLinkEnemyTrainerName - text " sends" - line "@" - TX_RAM wcd6d - text "." - done - -_TradeWavesFarewellText:: - TX_RAM wLinkEnemyTrainerName - text " waves" - line "farewell as" - done - -_TradeTransferredText:: - TX_RAM wcd6d - text " is" - line "transferred." - done - -_TradeTakeCareText:: - text "Take good care of" - line "@" - TX_RAM wcd6d - text "." - done - -_TradeWillTradeText:: - TX_RAM wLinkEnemyTrainerName - text " will" - line "trade @" - TX_RAM wcd6d - text "" - done - -_TradeforText:: - text "for 's" - line "@" - TX_RAM wcf4b - text "." - done - -_PlaySlotMachineText:: - text "A slot machine!" - line "Want to play?" - done - -_OutOfCoinsSlotMachineText:: - text "Darn!" - line "Ran out of coins!" - done - -_BetHowManySlotMachineText:: - text "Bet how many" - line "coins?" - done - -_StartSlotMachineText:: - text "Start!" - done - -_NotEnoughCoinsSlotMachineText:: - text "Not enough" - line "coins!" - prompt - -_OneMoreGoSlotMachineText:: - text "One more " - line "go?" - done - -_LinedUpText:: - text " lined up!" - line "Scored @" - TX_RAM wcf4b - text " coins!" - done - -_NotThisTimeText:: - text "Not this time!" - prompt - -_YeahText:: - text "Yeah!@@" - -_DexSeenOwnedText:: - text "#DEX Seen:@" - TX_NUM wDexRatingNumMonsSeen, 1, 3 - text "" - line " Owned:@" - TX_NUM wDexRatingNumMonsOwned, 1, 3 - db "@" - -_DexRatingText:: - text "#DEX Rating", $6d - done - -_GymStatueText1:: - TX_RAM wGymCityName - text "" - line "#MON GYM" - cont "LEADER: @" - TX_RAM wGymLeaderName - text "" - - para "WINNING TRAINERS:" - line "" - done - -_GymStatueText2:: - TX_RAM wGymCityName - text "" - line "#MON GYM" - cont "LEADER: @" - TX_RAM wGymLeaderName - text "" - - para "WINNING TRAINERS:" - line "" - cont "" - done - -_ViridianCityPokecenterGuyText:: - text "#MON CENTERs" - line "heal your tired," - cont "hurt or fainted" - cont "#MON!" - done - -_PewterCityPokecenterGuyText:: - text "Yawn!" - - para "When JIGGLYPUFF" - line "sings, #MON" - cont "get drowsy..." - - para "...Me too..." - line "Snore..." - done - -_CeruleanPokecenterGuyText:: - text "BILL has lots of" - line "#MON!" - - para "He collects rare" - line "ones too!" - done - -_LavenderPokecenterGuyText:: - text "CUBONEs wear" - line "skulls, right?" - - para "People will pay a" - line "lot for one!" - done - -_MtMoonPokecenterBenchGuyText:: - text "If you have too" - line "many #MON, you" - cont "should store them" - cont "via PC!" - done - -_RockTunnelPokecenterGuyText:: - text "I heard that" - line "GHOSTs haunt" - cont "LAVENDER TOWN!" - done - -_UnusedBenchGuyText1:: - text "I wish I could" - line "catch #MON." - done - -_UnusedBenchGuyText2:: - text "I'm tired from" - line "all the fun..." - done - -_UnusedBenchGuyText3:: - text "SILPH's manager" - line "is hiding in the" - cont "SAFARI ZONE." - done - -_VermilionPokecenterGuyText:: - text "It is true that a" - line "higher level" - cont "#MON will be" - cont "more powerful..." - - para "But, all #MON" - line "will have weak" - cont "points against" - cont "specific types." - - para "So, there is no" - line "universally" - cont "strong #MON." - done - -_CeladonCityPokecenterGuyText:: - text "If I had a BIKE," - line "I would go to" - cont "CYCLING ROAD!" - done - -_FuchsiaCityPokecenterGuyText:: - text "If you're studying " - line "#MON, visit" - cont "the SAFARI ZONE." - - para "It has all sorts" - line "of rare #MON." - done - -_CinnabarPokecenterGuyText:: - text "#MON can still" - line "learn techniques" - cont "after canceling" - cont "evolution." - - para "Evolution can wait" - line "until new moves" - cont "have been learned." - done - -_SaffronCityPokecenterGuyText1:: - text "It would be great" - line "if the ELITE FOUR" - cont "came and stomped" - cont "TEAM ROCKET!" - done - -_SaffronCityPokecenterGuyText2:: - text "TEAM ROCKET took" - line "off! We can go" - cont "out safely again!" - cont "That's great!" - done - -_CeladonCityHotelText:: - text "My sis brought me" - line "on this vacation!" - done - -_BookcaseText:: - text "Crammed full of" - line "#MON books!" - done - -_NewBicycleText:: - text "A shiny new" - line "BICYCLE!" - done - -_PushStartText:: - text "Push START to" - line "open the MENU!" - done - -_SaveOptionText:: - text "The SAVE option is" - line "on the MENU" - cont "screen." - done - -_StrengthsAndWeaknessesText:: - text "All #MON types" - line "have strong and" - cont "weak points" - cont "against others." - done - -_TimesUpText:: - text "PA: Ding-dong!" - - para "Time's up!" - prompt - -_GameOverText:: - text "PA: Your SAFARI" - line "GAME is over!" - done - -_CinnabarGymQuizIntroText:: - text "#MON Quiz!" - - para "Get it right and" - line "the door opens to" - cont "the next room!" - - para "Get it wrong and" - line "face a trainer!" - - para "If you want to" - line "conserve your" - cont "#MON for the" - cont "GYM LEADER..." - - para "Then get it right!" - line "Here we go!" - prompt - -_CinnabarQuizQuestionsText1:: - text "CATERPIE evolves" - line "into BUTTERFREE?" - done - -_CinnabarQuizQuestionsText2:: - text "There are 9" - line "certified #MON" - cont "LEAGUE BADGEs?" - done - -_CinnabarQuizQuestionsText3:: - text "POLIWAG evolves 3" - line "times?" - done - -_CinnabarQuizQuestionsText4:: - text "Are thunder moves" - line "effective against" - cont "ground element-" - cont "type #MON?" - done - -_CinnabarQuizQuestionsText5:: - text "#MON of the" - line "same kind and" - cont "level are not" - cont "identical?" - done - -_CinnabarQuizQuestionsText6:: - text "TM28 contains" - line "TOMBSTONER?" - done - -_CinnabarGymQuizCorrectText:: - text "You're absolutely" - line "correct!" - - para "Go on through!@@" - -_CinnabarGymQuizIncorrectText:: - text "Sorry! Bad call!" - prompt - -_MagazinesText:: - text "#MON magazines!" - - para "#MON notebooks!" - - para "#MON graphs!" - done - -_BillsHouseMonitorText:: - text "TELEPORTER is" - line "displayed on the" - cont "PC monitor." - done - -_BillsHouseInitiatedText:: - text " initiated" - line "TELEPORTER's Cell" - cont "Separator!@@" - -_BillsHousePokemonListText1:: - text "BILL's favorite" - line "#MON list!" - prompt - -_BillsHousePokemonListText2:: - text "Which #MON do" - line "you want to see?" - done - -_OakLabEmailText:: - text "There's an e-mail" - line "message here!" - - para "..." - - para "Calling all" - line "#MON trainers!" - - para "The elite trainers" - line "of #MON LEAGUE" - cont "are ready to take" - cont "on all comers!" - - para "Bring your best" - line "#MON and see" - cont "how you rate as a" - cont "trainer!" - - para "#MON LEAGUE HQ" - line "INDIGO PLATEAU" - - para "PS: PROF.OAK," - line "please visit us!" - cont "..." - done - -_GameCornerCoinCaseText:: - text "A COIN CASE is" - line "required!" - done - -_GameCornerNoCoinsText:: - text "You don't have" - line "any coins!" - done - -_GameCornerOutOfOrderText:: - text "OUT OF ORDER" - line "This is broken." - done - -_GameCornerOutToLunchText:: - text "OUT TO LUNCH" - line "This is reserved." - done - -_GameCornerSomeonesKeysText:: - text "Someone's keys!" - line "They'll be back." - done - -_JustAMomentText:: - text "Just a moment." - done - -TMNotebookText:: - text "It's a pamphlet" - line "on TMs." - - para "..." - - para "There are 50 TMs" - line "in all." - - para "There are also 5" - line "HMs that can be" - cont "used repeatedly." - - para "SILPH CO.@@" - -_TurnPageText:: - text "Turn the page?" - done - -_ViridianSchoolNotebookText5:: - text "GIRL: Hey! Don't" - line "look at my notes!@@" - -_ViridianSchoolNotebookText1:: - text "Looked at the" - line "notebook!" - - para "First page..." - - para "# BALLs are" - line "used to catch" - cont "#MON." - - para "Up to 6 #MON" - line "can be carried." - - para "People who raise" - line "and make #MON" - cont "fight are called" - cont "#MON trainers." - prompt - -_ViridianSchoolNotebookText2:: - text "Second page..." - - para "A healthy #MON" - line "may be hard to" - cont "catch, so weaken" - cont "it first!" - - para "Poison, burns and" - line "other damage are" - cont "effective!" - prompt - -_ViridianSchoolNotebookText3:: - text "Third page..." - - para "#MON trainers" - line "seek others to" - cont "engage in #MON" - cont "fights." - - para "Battles are" - line "constantly fought" - cont "at #MON GYMs." - prompt - -_ViridianSchoolNotebookText4:: - text "Fourth page..." - - para "The goal for" - line "#MON trainers" - cont "is to beat the " - cont "top 8 #MON" - cont "GYM LEADERs." - - para "Do so to earn the" - line "right to face..." - - para "The ELITE FOUR of" - line "#MON LEAGUE!" - prompt - -_EnemiesOnEverySideText:: - text "Enemies on every" - line "side!" - done - -_WhatGoesAroundComesAroundText:: - text "What goes around" - line "comes around!" - done - -_FightingDojoText:: - text "FIGHTING DOJO" - done - -_IndigoPlateauHQText:: - text "INDIGO PLATEAU" - line "#MON LEAGUE HQ" - done - -_RedBedroomSNESText:: - text " is" - line "playing the SNES!" - cont "...Okay!" - cont "It's time to go!" - done - -_Route15UpstairsBinocularsText:: - text "Looked into the" - line "binoculars..." - - para "A large, shining" - line "bird is flying" - cont "toward the sea." - done - -_AerodactylFossilText:: - text "AERODACTYL Fossil" - line "A primitive and" - cont "rare #MON." - done - -_KabutopsFossilText:: - text "KABUTOPS Fossil" - line "A primitive and" - cont "rare #MON." - done - -_LinkCableHelpText1:: - text "TRAINER TIPS" - - para "Using a Game Link" - line "Cable" - prompt - -_LinkCableHelpText2:: - text "Which heading do" - line "you want to read?" - done - -_LinkCableInfoText1:: - text "When you have" - line "linked your GAME" - cont "BOY with another" - cont "GAME BOY, talk to" - cont "the attendant on" - cont "the right in any" - cont "#MON CENTER." - prompt - -_LinkCableInfoText2:: - text "COLOSSEUM lets" - line "you play against" - cont "a friend." - prompt - -_LinkCableInfoText3:: - text "TRADE CENTER is" - line "used for trading" - cont "#MON." - prompt - -_ViridianSchoolBlackboardText1:: - text "The blackboard" - line "describes #MON" - cont "STATUS changes" - cont "during battles." - prompt - -_ViridianSchoolBlackboardText2:: - text "Which heading do" - line "you want to read?" - done - -_ViridianBlackboardSleepText:: - text "A #MON can't" - line "attack if it's" - cont "asleep!" - - para "#MON will stay" - line "asleep even after" - cont "battles." - - para "Use AWAKENING to" - line "wake them up!" - prompt - -_ViridianBlackboardPoisonText:: - text "When poisoned, a" - line "#MON's health" - cont "steadily drops." - - para "Poison lingers" - line "after battles." - - para "Use an ANTIDOTE" - line "to cure poison!" - prompt - -_ViridianBlackboardPrlzText:: - text "Paralysis could" - line "make #MON" - cont "moves misfire!" - - para "Paralysis remains" - line "after battles." - - para "Use PARLYZ HEAL" - line "for treatment!" - prompt - -_ViridianBlackboardBurnText:: - text "A burn reduces" - line "power and speed." - cont "It also causes" - cont "ongoing damage." - - para "Burns remain" - line "after battles." - - para "Use BURN HEAL to" - line "cure a burn!" - prompt - -_ViridianBlackboardFrozenText:: - text "If frozen, a" - line "#MON becomes" - cont "totally immobile!" - - para "It stays frozen" - line "even after the" - cont "battle ends." - - para "Use ICE HEAL to" - line "thaw out #MON!" - prompt - -_VermilionGymTrashText:: - text "Nope, there's" - line "only trash here." - done - -_VermilionGymTrashSuccessText1:: - text "Hey! There's a" - line "switch under the" - cont "trash!" - cont "Turn it on!" - - para "The 1st electric" - line "lock opened!@@" - -_VermilionGymTrashSuccessText2:: - text "Hey! There's" - line "another switch" - cont "under the trash!" - cont "Turn it on!" - prompt - -_VermilionGymTrashSuccessText3:: - text "The 2nd electric" - line "lock opened!" - - para "The motorized door" - line "opened!@@" - -_VermilionGymTrashFailText:: - text "Nope! There's" - line "only trash here." - cont "Hey! The electric" - cont "locks were reset!@@" - -_FoundHiddenItemText:: - text " found" - line "@" - TX_RAM wcd6d - text "!@@" - -_HiddenItemBagFullText:: - text "But, has" - line "no more room for" - cont "other items!" - done - -_FoundHiddenCoinsText:: - text " found" - line "@" - TX_BCD hCoins, 2 | LEADING_ZEROES | LEFT_ALIGN - text " coins!@@" - -_FoundHiddenCoins2Text:: - text " found" - line "@" - TX_BCD hCoins, 2 | LEADING_ZEROES | LEFT_ALIGN - text " coins!@@" - -_DroppedHiddenCoinsText:: - text "" - para "Oops! Dropped" - line "some coins!" - done - -_IndigoPlateauStatuesText1:: - text "INDIGO PLATEAU" - prompt - -_IndigoPlateauStatuesText2:: - text "The ultimate goal" - line "of trainers!" - cont "#MON LEAGUE HQ" - done - -_IndigoPlateauStatuesText3:: - text "The highest" - line "#MON authority" - cont "#MON LEAGUE HQ" - done - -_PokemonBooksText:: - text "Crammed full of" - line "#MON books!" - done - -_DiglettSculptureText:: - text "It's a sculpture" - line "of DIGLETT." - done - -_ElevatorText:: - text "This is an" - line "elevator." - done - -_TownMapText:: - text "A TOWN MAP.@@" - -_PokemonStuffText:: - text "Wow! Tons of" - line "#MON stuff!" - done - -_OutOfSafariBallsText:: - text "PA: Ding-dong!" - - para "You are out of" - line "SAFARI BALLs!" - prompt - -_WildRanText:: - text "Wild @" - TX_RAM wEnemyMonNick - text "" - line "ran!" - prompt - -_EnemyRanText:: - text "Enemy @" - TX_RAM wEnemyMonNick - text "" - line "ran!" - prompt - -_HurtByPoisonText:: - text "'s" - line "hurt by poison!" - prompt - -_HurtByBurnText:: - text "'s" - line "hurt by the burn!" - prompt - -_HurtByLeechSeedText:: - text "LEECH SEED saps" - line "!" - prompt - -_EnemyMonFaintedText:: - text "Enemy @" - TX_RAM wEnemyMonNick - text "" - line "fainted!" - prompt - -_MoneyForWinningText:: - text " got ¥@" - TX_BCD wAmountMoneyWon, 3 | LEADING_ZEROES | LEFT_ALIGN - text "" - line "for winning!" - prompt - -_TrainerDefeatedText:: - text " defeated" - line "@" - TX_RAM wTrainerName - text "!" - prompt - -_PlayerMonFaintedText:: - TX_RAM wBattleMonNick - text "" - line "fainted!" - prompt - -_UseNextMonText:: - text "Use next #MON?" - done - -_Sony1WinText:: - text ": Yeah! Am" - line "I great or what?" - prompt - -_PlayerBlackedOutText2:: - text " is out of" - line "useable #MON!" - - para " blacked" - line "out!" - prompt - -_LinkBattleLostText:: - text " lost to" - line "@" - TX_RAM wTrainerName - text "!" - prompt - -_TrainerAboutToUseText:: - TX_RAM wTrainerName - text " is" - line "about to use" - cont"@" - TX_RAM wEnemyMonNick - text "!" - - para "Will " - line "change #MON?" - done - -_TrainerSentOutText:: - TX_RAM wTrainerName - text " sent" - line "out @" - TX_RAM wEnemyMonNick - text "!" - done - -_NoWillText:: - text "There's no will" - line "to fight!" - prompt - -_CantEscapeText:: - text "Can't escape!" - prompt - -_NoRunningText:: - text "No! There's no" - line "running from a" - cont "trainer battle!" - prompt - -_GotAwayText:: - text "Got away safely!" - prompt - -_ItemsCantBeUsedHereText:: - text "Items can't be" - line "used here." - prompt - -_AlreadyOutText:: - TX_RAM wBattleMonNick - text " is" - line "already out!" - prompt - -_MoveNoPPText:: - text "No PP left for" - line "this move!" - prompt - -_MoveDisabledText:: - text "The move is" - line "disabled!" - prompt - -_NoMovesLeftText:: - TX_RAM wBattleMonNick - text " has no" - line "moves left!" - done - -_MultiHitText:: - text "Hit the enemy" - line "@" - TX_NUM wPlayerNumHits,1,1 - text " times!" - prompt - -_ScaredText:: - TX_RAM wBattleMonNick - text " is too" - line "scared to move!" - prompt - -_GetOutText:: - text "GHOST: Get out..." - line "Get out..." - prompt - -_FastAsleepText:: - text "" - line "is fast asleep!" - prompt - -_WokeUpText:: - text "" - line "woke up!" - prompt - -_IsFrozenText:: - text "" - line "is frozen solid!" - prompt - -_FullyParalyzedText:: - text "'s" - line "fully paralyzed!" - prompt - -_FlinchedText:: - text "" - line "flinched!" - prompt - -_MustRechargeText:: - text "" - line "must recharge!" - prompt - -_DisabledNoMoreText:: - text "'s" - line "disabled no more!" - prompt - -_IsConfusedText:: - text "" - line "is confused!" - prompt - -_HurtItselfText:: - text "It hurt itself in" - line "its confusion!" - prompt - -_ConfusedNoMoreText:: - text "'s" - line "confused no more!" - prompt - -_SavingEnergyText:: - text "" - line "is saving energy!" - prompt - -_UnleashedEnergyText:: - text "" - line "unleashed energy!" - prompt - -_ThrashingAboutText:: - text "'s" - line "thrashing about!" - done - -_AttackContinuesText:: - text "'s" - line "attack continues!" - done - -_CantMoveText:: - text "" - line "can't move!" - prompt - -_MoveIsDisabledText:: - text "'s" - line "@" - TX_RAM wcd6d - text " is" - cont "disabled!" - prompt - -_MonName1Text:: - text "@@" - -_Used1Text:: - text "" - line "used @@" - -_Used2Text:: - text "" - line "used @@" - -_InsteadText:: - text "instead," - cont "@@" - -_CF4BText:: - TX_RAM wcf4b - text "@" - -_ExclamationPoint1Text:: - text "!" - done - -_ExclamationPoint2Text:: - text "!" - done - -_ExclamationPoint3Text:: - text "!" - done - -_ExclamationPoint4Text:: - text "!" - done - -_ExclamationPoint5Text:: - text "!" - done - -_AttackMissedText:: - text "'s" - line "attack missed!" - prompt - -_KeptGoingAndCrashedText:: - text "" - line "kept going and" - cont "crashed!" - prompt - -_UnaffectedText:: - text "'s" - line "unaffected!" - prompt - -_DoesntAffectMonText:: - text "It doesn't affect" - line "!" - prompt - -_CriticalHitText:: - text "Critical hit!" - prompt - -_OHKOText:: - text "One-hit KO!" - prompt - -_LoafingAroundText:: - TX_RAM wBattleMonNick - text " is" - line "loafing around." - prompt - -_BeganToNapText:: - TX_RAM wBattleMonNick - text " began" - line "to nap!" - prompt - -_WontObeyText:: - TX_RAM wBattleMonNick - text " won't" - line "obey!" - prompt - -_TurnedAwayText:: - TX_RAM wBattleMonNick - text " turned" - line "away!" - prompt - -_IgnoredOrdersText:: - TX_RAM wBattleMonNick - text "" - line "ignored orders!" - prompt - -_SubstituteTookDamageText:: - text "The SUBSTITUTE" - line "took damage for" - cont "!" - prompt - -_SubstituteBrokeText:: - text "'s" - line "SUBSTITUTE broke!" - prompt - -_BuildingRageText:: - text "'s" - line "RAGE is building!" - prompt - -_MirrorMoveFailedText:: - text "The MIRROR MOVE" - next "failed!" - prompt - -_HitXTimesText:: - text "Hit @" - TX_NUM wEnemyNumHits, 1, 1 - text " times!" - prompt - -_GainedText:: - TX_RAM wcd6d - text " gained" - line "@@" - -_WithExpAllText:: - text "with EXP.ALL," - cont "@@" - -_BoostedText:: - text "a boosted" - cont "@@" - -_ExpPointsText:: - TX_NUM wExpAmountGained, 2, 4 - text " EXP. Points!" - prompt - -_GrewLevelText:: - TX_RAM wcd6d - text " grew" - line "to level @" - TX_NUM wCurEnemyLVL, 1, 3 - text "!@@" - -_WildMonAppearedText:: - text "Wild @" - TX_RAM wEnemyMonNick - text "" - line "appeared!" - prompt - -_HookedMonAttackedText:: - text "The hooked" - line "@" - TX_RAM wEnemyMonNick - text "" - cont "attacked!" - prompt - -_EnemyAppearedText:: - TX_RAM wEnemyMonNick - text "" - line "appeared!" - prompt - -_TrainerWantsToFightText:: - TX_RAM wTrainerName - text " wants" - line "to fight!" - prompt - -_UnveiledGhostText:: - text "SILPH SCOPE" - line "unveiled the" - cont "GHOST's identity!" - prompt - -_GhostCantBeIDdText:: - text "Darn! The GHOST" - line "can't be ID'd!" - prompt - -_GoText:: - text "Go! @@" - -_DoItText:: - text "Do it! @@" - -_GetmText:: - text "Get'm! @@" - -_EnemysWeakText:: - text "The enemy's weak!" - line "Get'm! @@" - -_PlayerMon1Text:: - TX_RAM wBattleMonNick - text "!" - done - -_PlayerMon2Text:: - TX_RAM wBattleMonNick - text " @@" - -_EnoughText:: - text "enough!@@" - -_OKExclamationText:: - text "OK!@@" - -_GoodText:: - text "good!@@" - -_ComeBackText:: - text "" - line "Come back!" - done - -_SuperEffectiveText:: - text "It's super" - line "effective!" - prompt - -_NotVeryEffectiveText:: - text "It's not very" - line "effective..." - prompt - -_SafariZoneEatingText:: - text "Wild @" - TX_RAM wEnemyMonNick - text "" - line "is eating!" - prompt - -_SafariZoneAngryText:: - text "Wild @" - TX_RAM wEnemyMonNick - text "" - line "is angry!" - prompt - -; money related -_PickUpPayDayMoneyText:: - text " picked up" - line "¥@" - TX_BCD wTotalPayDayMoney, 3 | LEADING_ZEROES | LEFT_ALIGN - text "!" - prompt - -_ClearSaveDataText:: - text "Clear all saved" - line "data?" - done - -_WhichFloorText:: - text "Which floor do" - line "you want? " - done - -_PartyMenuNormalText:: - text "Choose a #MON." - done - -_PartyMenuItemUseText:: - text "Use item on which" - line "#MON?" - done - -_PartyMenuBattleText:: - text "Bring out which" - line "#MON?" - done - -_PartyMenuUseTMText:: - text "Use TM on which" - line "#MON?" - done - -_PartyMenuSwapMonText:: - text "Move #MON" - line "where?" - done - -_PotionText:: - TX_RAM wcd6d - text "" - line "recovered by @" - TX_NUM wHPBarHPDifference, 2, 3 - text "!" - done - -_AntidoteText:: - TX_RAM wcd6d - text " was" - line "cured of poison!" - done - -_ParlyzHealText:: - TX_RAM wcd6d - text "'s" - line "rid of paralysis!" - done - -_BurnHealText:: - TX_RAM wcd6d - text "'s" - line "burn was healed!" - done - -_IceHealText:: - TX_RAM wcd6d - text " was" - line "defrosted!" - done - -_AwakeningText:: - TX_RAM wcd6d - text "" - line "woke up!" - done - -_FullHealText:: - TX_RAM wcd6d - text "'s" - line "health returned!" - done - -_ReviveText:: - TX_RAM wcd6d - text "" - line "is revitalized!" - done - -_RareCandyText:: - TX_RAM wcd6d - text " grew" - line "to level @" - TX_NUM wCurEnemyLVL, 1, 3 - text "!@@" - -_TurnedOnPC1Text:: - text " turned on" - line "the PC." - prompt - -_AccessedBillsPCText:: - text "Accessed BILL's" - line "PC." - - para "Accessed #MON" - line "Storage System." - prompt - -_AccessedSomeonesPCText:: - text "Accessed someone's" - line "PC." - - para "Accessed #MON" - line "Storage System." - prompt - -_AccessedMyPCText:: - text "Accessed my PC." - - para "Accessed Item" - line "Storage System." - prompt - -_TurnedOnPC2Text:: - text " turned on" - line "the PC." - prompt - -_WhatDoYouWantText:: - text "What do you want" - line "to do?" - done - -_WhatToDepositText:: - text "What do you want" - line "to deposit?" - done - -_DepositHowManyText:: - text "How many?" - done - -_ItemWasStoredText:: - TX_RAM wcd6d - text " was" - line "stored via PC." - prompt - -_NothingToDepositText:: - text "You have nothing" - line "to deposit." - prompt - -_NoRoomToStoreText:: - text "No room left to" - line "store items." - prompt - -_WhatToWithdrawText:: - text "What do you want" - line "to withdraw?" - done - -_WithdrawHowManyText:: - text "How many?" - done - -_WithdrewItemText:: - text "Withdrew" - line "@" - TX_RAM wcd6d - text "." - prompt - -_NothingStoredText:: - text "There is nothing" - line "stored." - prompt - -_CantCarryMoreText:: - text "You can't carry" - line "any more items." - prompt - -_WhatToTossText:: - text "What do you want" - line "to toss away?" - done - -_TossHowManyText:: - text "How many?" - done - -_AccessedHoFPCText:: - text "Accessed #MON" - line "LEAGUE's site." - - para "Accessed the HALL" - line "OF FAME List." - prompt - -_SwitchOnText:: - text "Switch on!" - prompt - -_WhatText:: - text "What?" - done - -_DepositWhichMonText:: - text "Deposit which" - line "#MON?" - done - -_MonWasStoredText:: - TX_RAM wcf4b - text " was" - line "stored in Box @" - TX_RAM wBoxNumString - text "." - prompt - -_CantDepositLastMonText:: - text "You can't deposit" - line "the last #MON!" - prompt - -_BoxFullText:: - text "Oops! This Box is" - line "full of #MON." - prompt - -_MonIsTakenOutText:: - TX_RAM wcf4b - text " is" - line "taken out." - cont "Got @" - TX_RAM wcf4b - text "." - prompt - -_NoMonText:: - text "What? There are" - line "no #MON here!" - prompt - -_CantTakeMonText:: - text "You can't take" - line "any more #MON." - - para "Deposit #MON" - line "first." - prompt - -_ReleaseWhichMonText:: - text "Release which" - line "#MON?" - done - -_OnceReleasedText:: - text "Once released," - line "@" - TX_RAM wcf4b - text " is" - cont "gone forever. OK?" - done - -_MonWasReleasedText:: - TX_RAM wcf4b - text " was" - line "released outside." - cont "Bye @" - -_CF4BExclamationText:: - TX_RAM wcf4b - text "!" - prompt - -_RequireCoinCaseText:: - text "A COIN CASE is" - line "required!@@" - -_ExchangeCoinsForPrizesText:: - text "We exchange your" - line "coins for prizes." - prompt - -_WhichPrizeText:: - text "Which prize do" - line "you want?" - done - -_HereYouGoText:: - text "Here you go!@@" - -_SoYouWantPrizeText:: - text "So, you want" - line "@" - TX_RAM wcd6d - text "?" - done - -_SorryNeedMoreCoinsText:: - text "Sorry, you need" - line "more coins.@@" - -_OopsYouDontHaveEnoughRoomText:: - text "Oops! You don't" - line "have enough room.@@" - -_OhFineThenText:: - text "Oh, fine then.@@" - -_GetDexRatedText:: - text "Want to get your" - line "#DEX rated?" - done - -_ClosedOaksPCText:: - text "Closed link to" - line "PROF.OAK's PC.@@" - -_AccessedOaksPCText:: - text "Accessed PROF." - line "OAK's PC." - - para "Accessed #DEX" - line "Rating System." - prompt - -_WhereWouldYouLikeText:: - text "Where would you" - line "like to go?" - done - -_PleaseWaitText:: - text "OK, please wait" - line "just a moment." - done - -_LinkCanceledText:: - text "The link was" - line "canceled." - done - -INCLUDE "text/oakspeech.asm" - -_DoYouWantToNicknameText:: - text "Do you want to" - line "give a nickname" - cont "to @" - TX_RAM wcd6d - text "?" - done +SECTION "Text 2", ROMX -_YourNameIsText:: - text "Right! So your" - line "name is !" - prompt +INCLUDE "text/SilphCo5F_2.asm" +INCLUDE "text/SilphCo6F.asm" +INCLUDE "text/SilphCo7F.asm" +INCLUDE "text/SilphCo8F.asm" +INCLUDE "text/SilphCo9F.asm" +INCLUDE "text/SilphCo10F.asm" +INCLUDE "text/SilphCo11F.asm" +INCLUDE "text/PokemonMansion2F.asm" +INCLUDE "text/PokemonMansion3F.asm" +INCLUDE "text/PokemonMansionB1F.asm" +INCLUDE "text/SafariZoneEast.asm" +INCLUDE "text/SafariZoneNorth.asm" +INCLUDE "text/SafariZoneWest.asm" +INCLUDE "text/SafariZoneCenter.asm" +INCLUDE "text/SafariZoneCenterRestHouse.asm" +INCLUDE "text/SafariZoneSecretHouse.asm" +INCLUDE "text/SafariZoneWestRestHouse.asm" +INCLUDE "text/SafariZoneEastRestHouse.asm" +INCLUDE "text/SafariZoneNorthRestHouse.asm" +INCLUDE "text/CeruleanCaveB1F.asm" +INCLUDE "text/VictoryRoad1F.asm" +INCLUDE "text/LancesRoom.asm" +INCLUDE "text/HallOfFame.asm" +INCLUDE "text/ChampionsRoom.asm" +INCLUDE "text/LoreleisRoom.asm" +INCLUDE "text/BrunosRoom.asm" +INCLUDE "text/AgathasRoom.asm" +INCLUDE "text/RockTunnelB1F.asm" -_HisNameIsText:: - text "That's right! I" - line "remember now! His" - cont "name is !" - prompt -_WillBeTradedText:: - TX_RAM wNameOfPlayerMonToBeTraded - text " and" - line "@" - TX_RAM wcd6d - text " will" - cont "be traded." - done +SECTION "Text 3", ROMX -_Char00Text:: - TX_NUM hSpriteIndexOrTextID,1,2 - text " ERROR." - done +INCLUDE "text/RockTunnelB1F_2.asm" +INCLUDE "text/SeafoamIslandsB4F.asm" -_Char55Text:: - text $4B,"@@" +INCLUDE "data/text/text_2.asm" -INCLUDE "text/maps/DiglettsCaveRoute2.asm" -INCLUDE "text/maps/ViridianForestNorthGate.asm" -INCLUDE "text/maps/Route2TradeHouse.asm" -INCLUDE "text/maps/Route2Gate.asm" -INCLUDE "text/maps/ViridianForestSouthGate.asm" -INCLUDE "text/maps/MtMoonPokecenter.asm" -INCLUDE "text/maps/SaffronGates.asm" -INCLUDE "text/maps/Daycare.asm" +INCLUDE "text/DiglettsCaveRoute2.asm" +INCLUDE "text/ViridianForestNorthGate.asm" +INCLUDE "text/Route2TradeHouse.asm" +INCLUDE "text/Route2Gate.asm" +INCLUDE "text/ViridianForestSouthGate.asm" +INCLUDE "text/MtMoonPokecenter.asm" +INCLUDE "text/SaffronGates.asm" +INCLUDE "text/Daycare.asm" SECTION "Text 4", ROMX -INCLUDE "text/maps/Daycare_2.asm" -INCLUDE "text/maps/UndergroundPathRoute6.asm" -INCLUDE "text/maps/UndergroundPathRoute7.asm" -INCLUDE "text/maps/UndergroundPathRoute7Copy.asm" -INCLUDE "text/maps/UndergroundPathRoute8.asm" -INCLUDE "text/maps/RockTunnelPokecenter.asm" -INCLUDE "text/maps/RockTunnel1F.asm" -INCLUDE "text/maps/PowerPlant.asm" -INCLUDE "text/maps/Route11Gate1F.asm" -INCLUDE "text/maps/Route11Gate2F.asm" -INCLUDE "text/maps/DiglettsCaveRoute11.asm" -INCLUDE "text/maps/Route12Gate1F.asm" -INCLUDE "text/maps/Route12Gate2F.asm" -INCLUDE "text/maps/Route12SuperRodHouse.asm" -INCLUDE "text/maps/Route15Gate1F.asm" -INCLUDE "text/maps/Route15Gate2F.asm" -INCLUDE "text/maps/Route16Gate1F.asm" -INCLUDE "text/maps/Route16Gate2F.asm" -INCLUDE "text/maps/Route16FlyHouse.asm" -INCLUDE "text/maps/Route18Gate1F.asm" -INCLUDE "text/maps/Route18Gate2F.asm" -INCLUDE "text/maps/Route22Gate.asm" -INCLUDE "text/maps/VictoryRoad2F.asm" -INCLUDE "text/maps/BillsHouse.asm" -INCLUDE "text/maps/Route1.asm" -INCLUDE "text/maps/Route2.asm" -INCLUDE "text/maps/Route3.asm" -INCLUDE "text/maps/Route4.asm" -INCLUDE "text/maps/Route5.asm" -INCLUDE "text/maps/Route6.asm" -INCLUDE "text/maps/Route7.asm" -INCLUDE "text/maps/Route8.asm" -INCLUDE "text/maps/Route9.asm" -INCLUDE "text/maps/Route10.asm" -INCLUDE "text/maps/Route11.asm" +INCLUDE "text/Daycare_2.asm" +INCLUDE "text/UndergroundPathRoute6.asm" +INCLUDE "text/UndergroundPathRoute7.asm" +INCLUDE "text/UndergroundPathRoute7Copy.asm" +INCLUDE "text/UndergroundPathRoute8.asm" +INCLUDE "text/RockTunnelPokecenter.asm" +INCLUDE "text/RockTunnel1F.asm" +INCLUDE "text/PowerPlant.asm" +INCLUDE "text/Route11Gate1F.asm" +INCLUDE "text/Route11Gate2F.asm" +INCLUDE "text/DiglettsCaveRoute11.asm" +INCLUDE "text/Route12Gate1F.asm" +INCLUDE "text/Route12Gate2F.asm" +INCLUDE "text/Route12SuperRodHouse.asm" +INCLUDE "text/Route15Gate1F.asm" +INCLUDE "text/Route15Gate2F.asm" +INCLUDE "text/Route16Gate1F.asm" +INCLUDE "text/Route16Gate2F.asm" +INCLUDE "text/Route16FlyHouse.asm" +INCLUDE "text/Route18Gate1F.asm" +INCLUDE "text/Route18Gate2F.asm" +INCLUDE "text/Route22Gate.asm" +INCLUDE "text/VictoryRoad2F.asm" +INCLUDE "text/BillsHouse.asm" +INCLUDE "text/Route1.asm" +INCLUDE "text/Route2.asm" +INCLUDE "text/Route3.asm" +INCLUDE "text/Route4.asm" +INCLUDE "text/Route5.asm" +INCLUDE "text/Route6.asm" +INCLUDE "text/Route7.asm" +INCLUDE "text/Route8.asm" +INCLUDE "text/Route9.asm" +INCLUDE "text/Route10.asm" +INCLUDE "text/Route11.asm" SECTION "Text 5", ROMX -INCLUDE "text/maps/Route11_2.asm" -INCLUDE "text/maps/Route12.asm" -INCLUDE "text/maps/Route13.asm" -INCLUDE "text/maps/Route14.asm" -INCLUDE "text/maps/Route15.asm" -INCLUDE "text/maps/Route16.asm" -INCLUDE "text/maps/Route17.asm" -INCLUDE "text/maps/Route18.asm" -INCLUDE "text/maps/Route19.asm" -INCLUDE "text/maps/Route20.asm" -INCLUDE "text/maps/Route21.asm" -INCLUDE "text/maps/Route22.asm" -INCLUDE "text/maps/Route23.asm" -INCLUDE "text/maps/Route24.asm" +INCLUDE "text/Route11_2.asm" +INCLUDE "text/Route12.asm" +INCLUDE "text/Route13.asm" +INCLUDE "text/Route14.asm" +INCLUDE "text/Route15.asm" +INCLUDE "text/Route16.asm" +INCLUDE "text/Route17.asm" +INCLUDE "text/Route18.asm" +INCLUDE "text/Route19.asm" +INCLUDE "text/Route20.asm" +INCLUDE "text/Route21.asm" +INCLUDE "text/Route22.asm" +INCLUDE "text/Route23.asm" +INCLUDE "text/Route24.asm" SECTION "Text 6", ROMX -INCLUDE "text/maps/Route24_2.asm" -INCLUDE "text/maps/Route25.asm" - -_FileDataDestroyedText:: - text "The file data is" - line "destroyed!" - prompt - -_WouldYouLikeToSaveText:: - text "Would you like to" - line "SAVE the game?" - done - -_GameSavedText:: - text " saved" - line "the game!" - done - -_OlderFileWillBeErasedText:: - text "The older file" - line "will be erased to" - cont "save. Okay?" - done - -_WhenYouChangeBoxText:: - text "When you change a" - line "#MON BOX, data" - cont "will be saved." - - para "Is that okay?" - done - -_ChooseABoxText:: - text "Choose a" - line " BOX.@@" +INCLUDE "text/Route24_2.asm" +INCLUDE "text/Route25.asm" -_EvolvedText:: - TX_RAM wcf4b - text " evolved" - done +INCLUDE "data/text/text_3.asm" -_IntoText:: - text "" - line "into @" - TX_RAM wcd6d - text "!" - done - -_StoppedEvolvingText:: - text "Huh? @" - TX_RAM wcf4b - text "" - line "stopped evolving!" - prompt - -_IsEvolvingText:: - text "What? @" - TX_RAM wcf4b - text "" - line "is evolving!" - done - -_FellAsleepText:: - text "" - line "fell asleep!" - prompt - -_AlreadyAsleepText:: - text "'s" - line "already asleep!" - prompt - -_PoisonedText:: - text "" - line "was poisoned!" - prompt - -_BadlyPoisonedText:: - text "'s" - line "badly poisoned!" - prompt - -_BurnedText:: - text "" - line "was burned!" - prompt - -_FrozenText:: - text "" - line "was frozen solid!" - prompt - -_FireDefrostedText:: - text "Fire defrosted" - line "!" - prompt - -_MonsStatsRoseText:: - text "'s" - line "@" - TX_RAM wcf4b - text "@@" - -_GreatlyRoseText:: - text $4c, "greatly@@" - -_RoseText:: - text " rose!" - prompt - -_MonsStatsFellText:: - text "'s" - line "@" - TX_RAM wcf4b - text "@@" - -_GreatlyFellText:: - text $4c, "greatly@@" - -_FellText:: - text " fell!" - prompt - -_RanFromBattleText:: - text "" - line "ran from battle!" - prompt - -_RanAwayScaredText:: - text "" - line "ran away scared!" - prompt - -_WasBlownAwayText:: - text "" - line "was blown away!" - prompt - -_ChargeMoveEffectText:: - text "@@" - -_MadeWhirlwindText:: - text "" - line "made a whirlwind!" - prompt - -_TookInSunlightText:: - text "" - line "took in sunlight!" - prompt - -_LoweredItsHeadText:: - text "" - line "lowered its head!" - prompt - -_SkyAttackGlowingText:: - text "" - line "is glowing!" - prompt - -_FlewUpHighText:: - text "" - line "flew up high!" - prompt - -_DugAHoleText:: - text "" - line "dug a hole!" - prompt - -_BecameConfusedText:: - text "" - line "became confused!" - prompt - -_MimicLearnedMoveText:: - text "" - line "learned" - cont "@" - TX_RAM wcd6d - text "!" - prompt - -_MoveWasDisabledText:: - text "'s" - line "@" - TX_RAM wcd6d - text " was" - cont "disabled!" - prompt - -_NothingHappenedText:: - text "Nothing happened!" - prompt - -_NoEffectText:: - text "No effect!" - prompt - -_ButItFailedText:: - text "But, it failed! " - prompt - -_DidntAffectText:: - text "It didn't affect" - line "!" - prompt - -_IsUnaffectedText:: - text "" - line "is unaffected!" - prompt - -_ParalyzedMayNotAttackText:: - text "'s" - line "paralyzed! It may" - cont "not attack!" - prompt - -_SubstituteText:: - text "It created a" - line "SUBSTITUTE!" - prompt - -_HasSubstituteText:: - text "" - line "has a SUBSTITUTE!" - prompt - -_TooWeakSubstituteText:: - text "Too weak to make" - line "a SUBSTITUTE!" - prompt - -_CoinsScatteredText:: - text "Coins scattered" - line "everywhere!" - prompt - -_GettingPumpedText:: - text "'s" - line "getting pumped!" - prompt - -_WasSeededText:: - text "" - line "was seeded!" - prompt - -_EvadedAttackText:: - text "" - line "evaded attack!" - prompt - -_HitWithRecoilText:: - text "'s" - line "hit with recoil!" - prompt - -_ConvertedTypeText:: - text "Converted type to" - line "'s!" - prompt - -_StatusChangesEliminatedText:: - text "All STATUS changes" - line "are eliminated!" - prompt - -_StartedSleepingEffect:: - text "" - line "started sleeping!" - done - -_FellAsleepBecameHealthyText:: - text "" - line "fell asleep and" - cont "became healthy!" - done - -_RegainedHealthText:: - text "" - line "regained health!" - prompt - -_TransformedText:: - text "" - line "transformed into" - cont "@" - TX_RAM wcd6d - text "!" - prompt - -_LightScreenProtectedText:: - text "'s" - line "protected against" - cont "special attacks!" - prompt - -_ReflectGainedArmorText:: - text "" - line "gained armor!" - prompt - -_ShroudedInMistText:: - text "'s" - line "shrouded in mist!" - prompt - -_SuckedHealthText:: - text "Sucked health from" - line "!" - prompt - -_DreamWasEatenText:: - text "'s" - line "dream was eaten!" - prompt - -_TradeCenterText1:: - text "!" - done - -_ColosseumText1:: - text "!" - done - -INCLUDE "text/maps/RedsHouse1F.asm" -INCLUDE "text/maps/BluesHouse.asm" -INCLUDE "text/maps/OaksLab.asm" -INCLUDE "text/maps/ViridianPokecenter.asm" -INCLUDE "text/maps/ViridianMart.asm" -INCLUDE "text/maps/ViridianSchoolHouse.asm" -INCLUDE "text/maps/ViridianNicknameHouse.asm" -INCLUDE "text/maps/ViridianGym.asm" -INCLUDE "text/maps/Museum1F.asm" -INCLUDE "text/maps/Museum2F.asm" -INCLUDE "text/maps/PewterGym.asm" +INCLUDE "text/RedsHouse1F.asm" +INCLUDE "text/BluesHouse.asm" +INCLUDE "text/OaksLab.asm" +INCLUDE "text/ViridianPokecenter.asm" +INCLUDE "text/ViridianMart.asm" +INCLUDE "text/ViridianSchoolHouse.asm" +INCLUDE "text/ViridianNicknameHouse.asm" +INCLUDE "text/ViridianGym.asm" +INCLUDE "text/Museum1F.asm" +INCLUDE "text/Museum2F.asm" +INCLUDE "text/PewterGym.asm" SECTION "Text 7", ROMX -INCLUDE "text/maps/PewterGym_2.asm" -INCLUDE "text/maps/PewterNidoranHouse.asm" -INCLUDE "text/maps/PewterMart.asm" -INCLUDE "text/maps/PewterSpeechHouse.asm" -INCLUDE "text/maps/PewterPokecenter.asm" -INCLUDE "text/maps/CeruleanTrashedHouse.asm" -INCLUDE "text/maps/CeruleanTradeHouse.asm" -INCLUDE "text/maps/CeruleanPokecenter.asm" -INCLUDE "text/maps/CeruleanGym.asm" -INCLUDE "text/maps/BikeShop.asm" -INCLUDE "text/maps/CeruleanMart.asm" -INCLUDE "text/maps/CeruleanBadgeHouse.asm" -INCLUDE "text/maps/LavenderPokecenter.asm" -INCLUDE "text/maps/PokemonTower1F.asm" -INCLUDE "text/maps/PokemonTower2F.asm" -INCLUDE "text/maps/PokemonTower3F.asm" -INCLUDE "text/maps/PokemonTower4F.asm" -INCLUDE "text/maps/PokemonTower5F.asm" -INCLUDE "text/maps/PokemonTower6F.asm" -INCLUDE "text/maps/PokemonTower7F.asm" -INCLUDE "text/maps/MrFujisHouse.asm" -INCLUDE "text/maps/LavenderMart.asm" -INCLUDE "text/maps/LavenderCuboneHouse.asm" -INCLUDE "text/maps/NameRatersHouse.asm" -INCLUDE "text/maps/VermilionPokecenter.asm" -INCLUDE "text/maps/PokemonFanClub.asm" -INCLUDE "text/maps/VermilionMart.asm" -INCLUDE "text/maps/VermilionGym.asm" +INCLUDE "text/PewterGym_2.asm" +INCLUDE "text/PewterNidoranHouse.asm" +INCLUDE "text/PewterMart.asm" +INCLUDE "text/PewterSpeechHouse.asm" +INCLUDE "text/PewterPokecenter.asm" +INCLUDE "text/CeruleanTrashedHouse.asm" +INCLUDE "text/CeruleanTradeHouse.asm" +INCLUDE "text/CeruleanPokecenter.asm" +INCLUDE "text/CeruleanGym.asm" +INCLUDE "text/BikeShop.asm" +INCLUDE "text/CeruleanMart.asm" +INCLUDE "text/CeruleanBadgeHouse.asm" +INCLUDE "text/LavenderPokecenter.asm" +INCLUDE "text/PokemonTower1F.asm" +INCLUDE "text/PokemonTower2F.asm" +INCLUDE "text/PokemonTower3F.asm" +INCLUDE "text/PokemonTower4F.asm" +INCLUDE "text/PokemonTower5F.asm" +INCLUDE "text/PokemonTower6F.asm" +INCLUDE "text/PokemonTower7F.asm" +INCLUDE "text/MrFujisHouse.asm" +INCLUDE "text/LavenderMart.asm" +INCLUDE "text/LavenderCuboneHouse.asm" +INCLUDE "text/NameRatersHouse.asm" +INCLUDE "text/VermilionPokecenter.asm" +INCLUDE "text/PokemonFanClub.asm" +INCLUDE "text/VermilionMart.asm" +INCLUDE "text/VermilionGym.asm" SECTION "Text 8", ROMX -INCLUDE "text/maps/VermilionGym_2.asm" -INCLUDE "text/maps/VermilionPidgeyHouse.asm" -INCLUDE "text/maps/VermilionDock.asm" -INCLUDE "text/maps/VermilionOldRodHouse.asm" -INCLUDE "text/maps/CeladonMart1F.asm" -INCLUDE "text/maps/CeladonMart2F.asm" -INCLUDE "text/maps/CeladonMart3F.asm" -INCLUDE "text/maps/CeladonMart4F.asm" -INCLUDE "text/maps/CeladonMartRoof.asm" -INCLUDE "text/maps/CeladonMansion1F.asm" -INCLUDE "text/maps/CeladonMansion2F.asm" -INCLUDE "text/maps/CeladonMansion3F.asm" -INCLUDE "text/maps/CeladonMansionRoof.asm" -INCLUDE "text/maps/CeladonMansionRoofHouse.asm" -INCLUDE "text/maps/CeladonPokecenter.asm" -INCLUDE "text/maps/CeladonGym.asm" -INCLUDE "text/maps/GameCorner.asm" -INCLUDE "text/maps/CeladonMart5F.asm" -INCLUDE "text/maps/GameCornerPrizeRoom.asm" -INCLUDE "text/maps/CeladonDiner.asm" -INCLUDE "text/maps/CeladonChiefHouse.asm" -INCLUDE "text/maps/CeladonHotel.asm" -INCLUDE "text/maps/FuchsiaMart.asm" -INCLUDE "text/maps/FuchsiaBillsGrandpasHouse.asm" -INCLUDE "text/maps/FuchsiaPokecenter.asm" -INCLUDE "text/maps/WardensHouse.asm" -INCLUDE "text/maps/SafariZoneGate.asm" -INCLUDE "text/maps/FuchsiaGym.asm" +INCLUDE "text/VermilionGym_2.asm" +INCLUDE "text/VermilionPidgeyHouse.asm" +INCLUDE "text/VermilionDock.asm" +INCLUDE "text/VermilionOldRodHouse.asm" +INCLUDE "text/CeladonMart1F.asm" +INCLUDE "text/CeladonMart2F.asm" +INCLUDE "text/CeladonMart3F.asm" +INCLUDE "text/CeladonMart4F.asm" +INCLUDE "text/CeladonMartRoof.asm" +INCLUDE "text/CeladonMansion1F.asm" +INCLUDE "text/CeladonMansion2F.asm" +INCLUDE "text/CeladonMansion3F.asm" +INCLUDE "text/CeladonMansionRoof.asm" +INCLUDE "text/CeladonMansionRoofHouse.asm" +INCLUDE "text/CeladonPokecenter.asm" +INCLUDE "text/CeladonGym.asm" +INCLUDE "text/GameCorner.asm" +INCLUDE "text/CeladonMart5F.asm" +INCLUDE "text/GameCornerPrizeRoom.asm" +INCLUDE "text/CeladonDiner.asm" +INCLUDE "text/CeladonChiefHouse.asm" +INCLUDE "text/CeladonHotel.asm" +INCLUDE "text/FuchsiaMart.asm" +INCLUDE "text/FuchsiaBillsGrandpasHouse.asm" +INCLUDE "text/FuchsiaPokecenter.asm" +INCLUDE "text/WardensHouse.asm" +INCLUDE "text/SafariZoneGate.asm" +INCLUDE "text/FuchsiaGym.asm" SECTION "Text 9", ROMX -INCLUDE "text/maps/FuchsiaGym_2.asm" -INCLUDE "text/maps/FuchsiaMeetingRoom.asm" -INCLUDE "text/maps/FuchsiaGoodRodHouse.asm" -INCLUDE "text/maps/PokemonMansion1F.asm" -INCLUDE "text/maps/CinnabarGym.asm" -INCLUDE "text/maps/CinnabarLab.asm" -INCLUDE "text/maps/CinnabarLabTradeRoom.asm" -INCLUDE "text/maps/CinnabarLabMetronomeRoom.asm" -INCLUDE "text/maps/CinnabarLabFossilRoom.asm" -INCLUDE "text/maps/CinnabarPokecenter.asm" -INCLUDE "text/maps/CinnabarMart.asm" -INCLUDE "text/maps/IndigoPlateauLobby.asm" -INCLUDE "text/maps/CopycatsHouse1F.asm" -INCLUDE "text/maps/CopycatsHouse2F.asm" -INCLUDE "text/maps/FightingDojo.asm" -INCLUDE "text/maps/SaffronGym.asm" -INCLUDE "text/maps/SaffronPidgeyHouse.asm" -INCLUDE "text/maps/SaffronMart.asm" -INCLUDE "text/maps/SilphCo1F.asm" -INCLUDE "text/maps/SaffronPokecenter.asm" -INCLUDE "text/maps/MrPsychicsHouse.asm" - -_PokemartGreetingText:: - text "Hi there!" - next "May I help you?" - done - -_PokemonFaintedText:: - TX_RAM wcd6d - text "" - line "fainted!" - done - -_PlayerBlackedOutText:: - text " is out of" - line "useable #MON!" - - para " blacked" - line "out!" - prompt - -_RepelWoreOffText:: - text "REPEL's effect" - line "wore off." - done - -_PokemartBuyingGreetingText:: - text "Take your time." - done - -_PokemartTellBuyPriceText:: - TX_RAM wcf4b - text "?" - line "That will be" - cont "¥@" - TX_BCD hMoney, 3 | LEADING_ZEROES | LEFT_ALIGN - text ". OK?" - done - -_PokemartBoughtItemText:: - text "Here you are!" - line "Thank you!" - prompt - -_PokemartNotEnoughMoneyText:: - text "You don't have" - line "enough money." - prompt - -_PokemartItemBagFullText:: - text "You can't carry" - line "any more items." - prompt - -_PokemonSellingGreetingText:: - text "What would you" - line "like to sell?" - done - -_PokemartTellSellPriceText:: - text "I can pay you" - line "¥@" - TX_BCD hMoney, 3 | LEADING_ZEROES | LEFT_ALIGN - text " for that." - done - -_PokemartItemBagEmptyText:: - text "You don't have" - line "anything to sell." - prompt - -_PokemartUnsellableItemText:: - text "I can't put a" - line "price on that." - prompt - -_PokemartThankYouText:: - text "Thank you!" - done - -_PokemartAnythingElseText:: - text "Is there anything" - line "else I can do?" - done - -_LearnedMove1Text:: - TX_RAM wLearnMoveMonName - text " learned" - line "@" - TX_RAM wcf4b - text "!@@" - -_WhichMoveToForgetText:: - text "Which move should" - next "be forgotten?" - done - -_AbandonLearningText:: - text "Abandon learning" - line "@" - TX_RAM wcf4b - text "?" - done - -_DidNotLearnText:: - TX_RAM wLearnMoveMonName - text "" - line "did not learn" - cont "@" - TX_RAM wcf4b - text "!" - prompt - -_TryingToLearnText:: - TX_RAM wLearnMoveMonName - text " is" - line "trying to learn" - cont "@" - TX_RAM wcf4b - text "!" - - para "But, @" - TX_RAM wLearnMoveMonName - text "" - line "can't learn more" - cont "than 4 moves!" - - para "Delete an older" - line "move to make room" - cont "for @" - TX_RAM wcf4b - text "?" - done - -_OneTwoAndText:: - text "1, 2 and...@@" - -_PoofText:: - text " Poof!@@" - -_ForgotAndText:: - text "" - para "@" - TX_RAM wLearnMoveMonName - text " forgot" - line "@" - TX_RAM wcd6d - text "!" - - para "And..." - prompt - -_HMCantDeleteText:: - text "HM techniques" - line "can't be deleted!" - prompt - -_PokemonCenterWelcomeText:: - text "Welcome to our" - line "#MON CENTER!" - - para "We heal your" - line "#MON back to" - cont "perfect health!" - prompt - -_ShallWeHealYourPokemonText:: - text "Shall we heal your" - line "#MON?" - done - -_NeedYourPokemonText:: - text "OK. We'll need" - line "your #MON." - done - -_PokemonFightingFitText:: - text "Thank you!" - line "Your #MON are" - cont "fighting fit!" - prompt - -_PokemonCenterFarewellText:: - text "We hope to see" - line "you again!" - done - -_CableClubNPCAreaReservedFor2FriendsLinkedByCableText:: - text "This area is" - line "reserved for 2" - cont "friends who are" - cont "linked by cable." - done - -_CableClubNPCWelcomeText:: - text "Welcome to the" - line "Cable Club!" - done - -_CableClubNPCPleaseApplyHereHaveToSaveText:: - text "Please apply here." - - para "Before opening" - line "the link, we have" - cont "to save the game." - done - -_CableClubNPCPleaseWaitText:: - text "Please wait.@@" - -_CableClubNPCLinkClosedBecauseOfInactivityText:: - text "The link has been" - line "closed because of" - cont "inactivity." - - para "Please contact" - line "your friend and" - cont "come again!" - done +INCLUDE "text/FuchsiaGym_2.asm" +INCLUDE "text/FuchsiaMeetingRoom.asm" +INCLUDE "text/FuchsiaGoodRodHouse.asm" +INCLUDE "text/PokemonMansion1F.asm" +INCLUDE "text/CinnabarGym.asm" +INCLUDE "text/CinnabarLab.asm" +INCLUDE "text/CinnabarLabTradeRoom.asm" +INCLUDE "text/CinnabarLabMetronomeRoom.asm" +INCLUDE "text/CinnabarLabFossilRoom.asm" +INCLUDE "text/CinnabarPokecenter.asm" +INCLUDE "text/CinnabarMart.asm" +INCLUDE "text/IndigoPlateauLobby.asm" +INCLUDE "text/CopycatsHouse1F.asm" +INCLUDE "text/CopycatsHouse2F.asm" +INCLUDE "text/FightingDojo.asm" +INCLUDE "text/SaffronGym.asm" +INCLUDE "text/SaffronPidgeyHouse.asm" +INCLUDE "text/SaffronMart.asm" +INCLUDE "text/SilphCo1F.asm" +INCLUDE "text/SaffronPokecenter.asm" +INCLUDE "text/MrPsychicsHouse.asm" + +INCLUDE "data/text/text_4.asm" SECTION "Text 10", ROMX -_CableClubNPCPleaseComeAgainText:: - text "Please come again!" - done - -_CableClubNPCMakingPreparationsText:: - text "We're making" - line "preparations." - cont "Please wait." - done - -_UsedStrengthText:: - TX_RAM wcd6d - text " used" - line "STRENGTH.@@" - -_CanMoveBouldersText:: - TX_RAM wcd6d - text " can" - line "move boulders." - prompt - -_CurrentTooFastText:: - text "The current is" - line "much too fast!" - prompt - -_CyclingIsFunText:: - text "Cycling is fun!" - line "Forget SURFing!" - prompt - -_FlashLightsAreaText:: - text "A blinding FLASH" - line "lights the area!" - prompt - -_WarpToLastPokemonCenterText:: - text "Warp to the last" - line "#MON CENTER." - done - -_CannotUseTeleportNowText:: - TX_RAM wcd6d - text " can't" - line "use TELEPORT now." - prompt - -_CannotFlyHereText:: - TX_RAM wcd6d - text " can't" - line "FLY here." - prompt - -_NotHealthyEnoughText:: - text "Not healthy" - line "enough." - prompt - -_NewBadgeRequiredText:: - text "No! A new BADGE" - line "is required." - prompt - -_CannotUseItemsHereText:: - text "You can't use items" - line "here." - prompt - -_CannotGetOffHereText:: - text "You can't get off" - line "here." - prompt - -_GotMonText:: - text " got" - line "@" - TX_RAM wcd6d - text "!@@" - -_SentToBoxText:: - text "There's no more" - line "room for #MON!" - cont "@" - TX_RAM wBoxMonNicks - text " was" - cont "sent to #MON" - cont "BOX @" - TX_RAM wcf4b - text " on PC!" - done - -_BoxIsFullText:: - text "There's no more" - line "room for #MON!" - - para "The #MON BOX" - line "is full and can't" - cont "accept any more!" - - para "Change the BOX at" - line "a #MON CENTER!" - done - -INCLUDE "text/maps/PalletTown.asm" -INCLUDE "text/maps/ViridianCity.asm" -INCLUDE "text/maps/PewterCity.asm" -INCLUDE "text/maps/CeruleanCity.asm" -INCLUDE "text/maps/LavenderTown.asm" -INCLUDE "text/maps/VermilionCity.asm" -INCLUDE "text/maps/CeladonCity.asm" -INCLUDE "text/maps/FuchsiaCity.asm" -INCLUDE "text/maps/CinnabarIsland.asm" -INCLUDE "text/maps/SaffronCity.asm" - -_ItemUseBallText00:: - text "It dodged the" - line "thrown BALL!" - - para "This #MON" - line "can't be caught!" - prompt - -_ItemUseBallText01:: - text "You missed the" - line "#MON!" - prompt - -_ItemUseBallText02:: - text "Darn! The #MON" - line "broke free!" - prompt - -_ItemUseBallText03:: - text "Aww! It appeared" - line "to be caught! " - prompt - -_ItemUseBallText04:: - text "Shoot! It was so" - line "close too!" - prompt - -_ItemUseBallText05:: - text "All right!" - line "@" - TX_RAM wEnemyMonNick - text " was" - cont "caught!@@" - -_ItemUseBallText07:: - TX_RAM wBoxMonNicks - text " was" - line "transferred to" - cont "BILL's PC!" - prompt - -_ItemUseBallText08:: - TX_RAM wBoxMonNicks - text " was" - line "transferred to" - cont "someone's PC!" - prompt - -_ItemUseBallText06:: - text "New #DEX data" - line "will be added for" - cont "@" - TX_RAM wEnemyMonNick - text "!@@" - -_SurfingGotOnText:: - text " got on" - line "@" - TX_RAM wcd6d - text "!" - prompt - -_SurfingNoPlaceToGetOffText:: - text "There's no place" - line "to get off!" - prompt +INCLUDE "data/text/text_5.asm" -_VitaminStatRoseText:: - TX_RAM wcd6d - text "'s" - line "@" - TX_RAM wcf4b - text " rose." - prompt +INCLUDE "text/PalletTown.asm" +INCLUDE "text/ViridianCity.asm" +INCLUDE "text/PewterCity.asm" +INCLUDE "text/CeruleanCity.asm" +INCLUDE "text/LavenderTown.asm" +INCLUDE "text/VermilionCity.asm" +INCLUDE "text/CeladonCity.asm" +INCLUDE "text/FuchsiaCity.asm" +INCLUDE "text/CinnabarIsland.asm" +INCLUDE "text/SaffronCity.asm" -_VitaminNoEffectText:: - text "It won't have any" - line "effect." - prompt - -_ThrewBaitText:: - text " threw" - line "some BAIT." - done - -_ThrewRockText:: - text " threw a" - line "ROCK." - done - -_PlayedFluteNoEffectText:: - text "Played the #" - line "FLUTE." - - para "Now, that's a" - line "catchy tune!" - prompt - -_FluteWokeUpText:: - text "All sleeping" - line "#MON woke up." - prompt - -_PlayedFluteHadEffectText:: - text " played the" - line "# FLUTE.@@" - -_CoinCaseNumCoinsText:: - text "Coins" - line "@" - TX_BCD wPlayerCoins, 2 | LEADING_ZEROES | LEFT_ALIGN - text " " - prompt - -_ItemfinderFoundItemText:: - text "Yes! ITEMFINDER" - line "indicates there's" - cont "an item nearby." - prompt - -_ItemfinderFoundNothingText:: - text "Nope! ITEMFINDER" - line "isn't responding." - prompt - -_RaisePPWhichTechniqueText:: - text "Raise PP of which" - line "technique?" - done - -_RestorePPWhichTechniqueText:: - text "Restore PP of" - line "which technique?" - done - -_PPMaxedOutText:: - TX_RAM wcf4b - text "'s PP" - line "is maxed out." - prompt - -_PPIncreasedText:: - TX_RAM wcf4b - text "'s PP" - line "increased." - prompt - -_PPRestoredText:: - text "PP was restored." - prompt - -_BootedUpTMText:: - text "Booted up a TM!" - prompt - -_BootedUpHMText:: - text "Booted up an HM!" - prompt - -_TeachMachineMoveText:: - text "It contained" - line "@" - TX_RAM wcf4b - text "!" - - para "Teach @" - TX_RAM wcf4b - text "" - line "to a #MON?" - done - -_MonCannotLearnMachineMoveText:: - TX_RAM wcd6d - text " is not" - line "compatible with" - cont "@" - TX_RAM wcf4b - text "." - - para "It can't learn" - line "@" - TX_RAM wcf4b - text "." - prompt - -_ItemUseNotTimeText:: - text "OAK: !" - line "This isn't the" - cont "time to use that! " - prompt - -_ItemUseNotYoursToUseText:: - text "This isn't yours" - line "to use!" - prompt - -_ItemUseNoEffectText:: - text "It won't have any" - line "effect." - prompt - -_ThrowBallAtTrainerMonText1:: - text "The trainer" - line "blocked the BALL!" - prompt - -_ThrowBallAtTrainerMonText2:: - text "Don't be a thief!" - prompt - -_NoCyclingAllowedHereText:: - text "No cycling" - next "allowed here." - prompt - -_NoSurfingHereText:: - text "No SURFing on" - line "@" - TX_RAM wcd6d - text " here!" - prompt - -_BoxFullCannotThrowBallText:: - text "The #MON BOX" - line "is full! Can't" - cont "use that item!" - prompt +INCLUDE "data/text/text_6.asm" SECTION "Text 11", ROMX -_ItemUseText001:: - text " used@@" - -_ItemUseText002:: - TX_RAM wcf4b - text "!" - done - -_GotOnBicycleText1:: - text " got on the@@" - -_GotOnBicycleText2:: - TX_RAM wcf4b - text "!" - prompt - -_GotOffBicycleText1:: - text " got off@@" - -_GotOffBicycleText2:: - text "the @" - TX_RAM wcf4b - text "." - prompt - -_ThrewAwayItemText:: - text "Threw away" - line "@" - TX_RAM wcd6d - text "." - prompt - -_IsItOKToTossItemText:: - text "Is it OK to toss" - line "@" - TX_RAM wcf4b - text "?" - prompt - -_TooImportantToTossText:: - text "That's too impor-" - line "tant to toss!" - prompt - -_AlreadyKnowsText:: - TX_RAM wcd6d - text " knows" - line "@" - TX_RAM wcf4b - text "!" - prompt - -_ConnectCableText:: - text "Okay, connect the" - line "cable like so!" - prompt - -_TradedForText:: - text " traded" - line "@" - TX_RAM wInGameTradeGiveMonName - text " for" - cont "@" - TX_RAM wInGameTradeReceiveMonName - text "!@@" - -_WannaTrade1Text:: - text "I'm looking for" - line "@" - TX_RAM wInGameTradeGiveMonName - text "! Wanna" - - para "trade one for" - line "@" - TX_RAM wInGameTradeReceiveMonName - text "? " - done - -_NoTrade1Text:: - text "Awww!" - line "Oh well..." - done - -_WrongMon1Text:: - text "What? That's not" - line "@" - TX_RAM wInGameTradeGiveMonName - text "!" - - para "If you get one," - line "come back here!" - done - -_Thanks1Text:: - text "Hey thanks!" - done - -_AfterTrade1Text:: - text "Isn't my old" - line "@" - TX_RAM wInGameTradeReceiveMonName - text " great?" - done - -_WannaTrade2Text:: - text "Hello there! Do" - line "you want to trade" - - para "your @" - TX_RAM wInGameTradeGiveMonName - text "" - line "for @" - TX_RAM wInGameTradeReceiveMonName - text "?" - done - -_NoTrade2Text:: - text "Well, if you" - line "don't want to..." - done - -_WrongMon2Text:: - text "Hmmm? This isn't" - line "@" - TX_RAM wInGameTradeGiveMonName - text "." - - para "Think of me when" - line "you get one." - done - -_Thanks2Text:: - text "Thanks!" - done - -_AfterTrade2Text:: - text "The @" - TX_RAM wInGameTradeGiveMonName - text " you" - line "traded to me" - - para "went and evolved!" - done - -_WannaTrade3Text:: - text "Hi! Do you have" - line "@" - TX_RAM wInGameTradeGiveMonName - text "?" - - para "Want to trade it" - line "for @" - TX_RAM wInGameTradeReceiveMonName - text "?" - done - -_NoTrade3Text:: - text "That's too bad." - done - -_WrongMon3Text:: - text "...This is no" - line "@" - TX_RAM wInGameTradeGiveMonName - text "." - - para "If you get one," - line "trade it with me!" - done - -_Thanks3Text:: - text "Thanks pal!" - done - -_AfterTrade3Text:: - text "How is my old" - line "@" - TX_RAM wInGameTradeReceiveMonName - text "?" - - para "My @" - TX_RAM wInGameTradeGiveMonName - text " is" - line "doing great!" - done - -_NothingToCutText:: - text "There isn't" - line "anything to CUT!" - prompt - -_UsedCutText:: - TX_RAM wcd6d - text " hacked" - line "away with CUT!" - prompt +INCLUDE "data/text/text_7.asm" SECTION "Pokedex Text", ROMX -INCLUDE "text/pokedex.asm" +INCLUDE "data/pokemon/dex_text.asm" SECTION "Move Names", ROMX -INCLUDE "text/move_names.asm" +INCLUDE "data/moves/names.asm" diff --git a/text/AgathasRoom.asm b/text/AgathasRoom.asm new file mode 100644 index 00000000..9ef5059a --- /dev/null +++ b/text/AgathasRoom.asm @@ -0,0 +1,44 @@ +_AgathaBeforeBattleText:: + text "I am AGATHA of" + line "the ELITE FOUR!" + + para "OAK's taken a lot" + line "of interest in" + cont "you, child!" + + para "That old duff was" + line "once tough and" + cont "handsome! That" + cont "was decades ago!" + + para "Now he just wants" + line "to fiddle with" + cont "his #DEX! He's" + cont "wrong! #MON" + cont "are for fighting!" + + para "! I'll show" + line "you how a real" + cont "trainer fights!" + done + +_AgathaEndBattleText:: + text "Oh ho!" + line "You're something" + cont "special, child!" + prompt + +_AgathaAfterBattleText:: + text "You win! I see" + line "what the old duff" + cont "sees in you now!" + + para "I have nothing" + line "else to say! Run" + cont "along now, child!" + done + +_AgathaDontRunAwayText:: + text "Someone's voice:" + line "Don't run away!" + done diff --git a/text/BikeShop.asm b/text/BikeShop.asm new file mode 100644 index 00000000..86799865 --- /dev/null +++ b/text/BikeShop.asm @@ -0,0 +1,70 @@ +_BikeShopText_1d810:: + text "Hi! Welcome to" + line "our BIKE SHOP." + + para "Have we got just" + line "the BIKE for you!" + prompt + +_BikeShopText_1d815:: + text "It's a cool BIKE!" + line "Do you want it?" + done + +_BikeShopCantAffordText:: + text "Sorry! You can't" + line "afford it!" + prompt + +_BikeShopText_1d81f:: + text "Oh, that's..." + + para "A BIKE VOUCHER!" + + para "OK! Here you go!" + prompt + +_BikeShopText_1d824:: + text " exchanged" + line "the BIKE VOUCHER" + cont "for a BICYCLE.@@" + +_BikeShopComeAgainText:: + text "Come back again" + line "some time!" + done + +_BikeShopText_1d82f:: + text "How do you like" + line "your new BICYCLE?" + + para "You can take it" + line "on CYCLING ROAD" + cont "and in caves!" + done + +_BikeShopText_1d834:: + text "You better make" + line "room for this!" + done + +_BikeShopText_1d843:: + text "A plain city BIKE" + line "is good enough" + cont "for me!" + + para "You can't put a" + line "shopping basket" + cont "on an MTB!" + done + +_BikeShopText_1d85c:: + text "These BIKEs are" + line "cool, but they're" + cont "way expensive!" + done + +_BikeShopText_1d861:: + text "Wow. Your BIKE is" + line "really cool!" + done diff --git a/text/BillsHouse.asm b/text/BillsHouse.asm new file mode 100644 index 00000000..5ece48d7 --- /dev/null +++ b/text/BillsHouse.asm @@ -0,0 +1,87 @@ +_BillsHouseText_1e865:: + text "Hiya! I'm a" + line "#MON..." + cont "...No I'm not!" + + para "Call me BILL!" + line "I'm a true blue" + cont "#MANIAC! Hey!" + cont "What's with that" + cont "skeptical look?" + + para "I'm not joshing" + line "you, I screwed up" + cont "an experiment and" + cont "got combined with" + cont "a #MON!" + + para "So, how about it?" + line "Help me out here!" + done + +_BillsHouseText_1e86a:: + text "When I'm in the" + line "TELEPORTER, go to" + cont "my PC and run the" + cont "Cell Separation" + cont "System!" + done + +_BillsHouseText_1e86f:: + text "No!? Come on, you" + line "gotta help a guy" + cont "in deep trouble!" + + para "What do you say," + line "chief? Please?" + cont "OK? All right!" + prompt + +_BillThankYouText:: + text "BILL: Yeehah!" + line "Thanks, bud! I" + cont "owe you one!" + + para "So, did you come" + line "to see my #MON" + cont "collection?" + cont "You didn't?" + cont "That's a bummer." + + para "I've got to thank" + line "you... Oh here," + cont "maybe this'll do." + prompt + +_SSTicketReceivedText:: + text " received" + line "an @" + TX_RAM wcf4b + text "!@@" + +_SSTicketNoRoomText:: + text "You've got too" + line "much stuff, bud!" + done + +_BillsHouseText_1e8cb:: + text "That cruise ship," + line "S.S.ANNE, is in" + cont "VERMILION CITY." + cont "Its passengers" + cont "are all trainers!" + + para "They invited me" + line "to their party," + cont "but I can't stand" + cont "fancy do's. Why" + cont "don't you go" + cont "instead of me?" + done + +_BillsHouseText_1e8da:: + text "BILL: Look, bud," + line "just check out" + cont "some of my rare" + cont "#MON on my PC!" + done diff --git a/text/BluesHouse.asm b/text/BluesHouse.asm new file mode 100644 index 00000000..1898636a --- /dev/null +++ b/text/BluesHouse.asm @@ -0,0 +1,41 @@ +_DaisyInitialText:: + text "Hi !" + line " is out at" + cont "Grandpa's lab." + done + +_DaisyOfferMapText:: + text "Grandpa asked you" + line "to run an errand?" + cont "Here, this will" + cont "help you!" + prompt + +_GotMapText:: + text " got a" + line "@" + TX_RAM wcf4b + text "!@@" + +_DaisyBagFullText:: + text "You have too much" + line "stuff with you." + done + +_DaisyUseMapText:: + text "Use the TOWN MAP" + line "to find out where" + cont "you are." + done + +_BluesHouseText2:: + text "#MON are living" + line "things! If they" + cont "get tired, give" + cont "them a rest!" + done + +_BluesHouseText3:: + text "It's a big map!" + line "This is useful!" + done diff --git a/text/BrunosRoom.asm b/text/BrunosRoom.asm new file mode 100644 index 00000000..9c493c4a --- /dev/null +++ b/text/BrunosRoom.asm @@ -0,0 +1,37 @@ +_BrunoBeforeBattleText:: + text "I am BRUNO of" + line "the ELITE FOUR!" + + para "Through rigorous" + line "training, people" + cont "and #MON can" + cont "become stronger!" + + para "I've weight" + line "trained with" + cont "my #MON!" + + para "!" + + para "We will grind you" + line "down with our" + cont "superior power!" + + para "Hoo hah!" + done + +_BrunoEndBattleText:: + text "Why?" + line "How could I lose?" + prompt + +_BrunoAfterBattleText:: + text "My job is done!" + line "Go face your next" + cont "challenge!" + done + +_BrunoDontRunAwayText:: + text "Someone's voice:" + line "Don't run away!" + done diff --git a/text/CeladonChiefHouse.asm b/text/CeladonChiefHouse.asm new file mode 100644 index 00000000..19e59bd6 --- /dev/null +++ b/text/CeladonChiefHouse.asm @@ -0,0 +1,22 @@ +_CeladonHouseText1:: + text "Hehehe! The slots" + line "just reel in the" + cont "dough, big time!" + done + +_CeladonHouseText2:: + text "CHIEF!" + + para "We just shipped" + line "2000 #MON as" + cont "slot prizes!" + done + +_CeladonHouseText3:: + text "Don't touch the" + line "poster at the" + cont "GAME CORNER!" + + para "There's no secret" + line "switch behind it!" + done diff --git a/text/CeladonCity.asm b/text/CeladonCity.asm new file mode 100644 index 00000000..1dbd5cdf --- /dev/null +++ b/text/CeladonCity.asm @@ -0,0 +1,152 @@ +_CeladonCityText1:: + text "I got my KOFFING" + line "in CINNABAR!" + + para "It's nice, but it" + line "breathes poison" + cont "when it's angry!" + done + +_CeladonCityText2:: + text "Heheh! This GYM" + line "is great! It's" + cont "full of women!" + done + +_CeladonCityText3:: + text "The GAME CORNER" + line "is bad for our" + cont "city's image!" + done + +_CeladonCityText4:: + text "Moan! I blew it" + line "all at the slots!" + + para "I knew I should" + line "have cashed in my" + cont "coins for prizes!" + done + +_TM41PreText:: + text "Hello, there!" + + para "I've seen you," + line "but I never had a" + cont "chance to talk!" + + para "Here's a gift for" + line "dropping by!" + prompt + +_ReceivedTM41Text:: + text " received" + line "@" + TX_RAM wcf4b + text "!@@" + +_TM41ExplanationText:: + text "TM41 teaches" + line "SOFTBOILED!" + + para "Only one #MON" + line "can use it!" + + para "That #MON is" + line "CHANSEY!" + done + +_TM41NoRoomText:: + text "Oh, your pack is" + line "full of items!" + done + +_CeladonCityText6:: + text "This is my trusted" + line "pal, POLIWRATH!" + + para "It evolved from" + line "POLIWHIRL when I" + cont "used WATER STONE!" + done + +_CeladonCityText7:: + text "POLIWRATH: Ribi" + line "ribit!@@" + +_CeladonCityText8:: + text "What are you" + line "staring at?" + done + +_CeladonCityText9:: + text "Keep out of TEAM" + line "ROCKET's way!" + done + +_CeladonCityText10:: + text "TRAINER TIPS" + + para "X ACCURACY boosts" + line "the accuracy of" + cont "techniques!" + + para "DIRE HIT jacks up" + line "the likelihood of" + cont "critical hits!" + + para "Get your items at" + line "CELADON DEPT." + cont "STORE!" + done + +_CeladonCityText11:: + text "CELADON CITY" + line "The City of" + cont "Rainbow Dreams" + done + +_CeladonCityText13:: + text "CELADON CITY" + line "#MON GYM" + cont "LEADER: ERIKA" + + para "The Nature Loving" + line "Princess!" + done + +_CeladonCityText14:: + text "CELADON MANSION" + done + +_CeladonCityText15:: + text "Find what you" + line "need at CELADON" + cont "DEPT. STORE!" + done + +_CeladonCityText16:: + text "TRAINER TIPS" + + para "GUARD SPEC." + line "protects #MON" + cont "against SPECIAL" + cont "attacks such as" + cont "fire and water!" + + para "Get your items at" + line "CELADON DEPT." + cont "STORE!" + done + +_CeladonCityText17:: + text "Coins exchanged" + line "for prizes!" + cont "PRIZE EXCHANGE" + done + +_CeladonCityText18:: + text "ROCKET GAME CORNER" + line "The playground" + cont "for grown-ups!" + done diff --git a/text/CeladonDiner.asm b/text/CeladonDiner.asm new file mode 100644 index 00000000..dc5e9350 --- /dev/null +++ b/text/CeladonDiner.asm @@ -0,0 +1,59 @@ +_CeladonDinerText1:: + text "Hi!" + + para "We're taking a" + line "break now." + done + +_CeladonDinerText2:: + text "My #MON are" + line "weak, so I often" + cont "have to go to the" + cont "DRUG STORE." + done + +_CeladonDinerText3:: + text "Psst! There's a" + line "basement under" + cont "the GAME CORNER." + done + +_CeladonDinerText4:: + text "Munch..." + + para "The man at that" + line "table lost it all" + cont "at the slots." + done + +_CeladonDinerText_491a7:: + text "Go ahead! Laugh!" + + para "I'm flat out" + line "busted!" + + para "No more slots for" + line "me! I'm going" + cont "straight!" + + para "Here! I won't be" + line "needing this any-" + cont "more!" + prompt + +_ReceivedCoinCaseText:: + text " received" + line "a @" + TX_RAM wcf4b + text "!@@" + +_CoinCaseNoRoomText:: + text "Make room for" + line "this!" + done + +_CeladonDinerText_491b7:: + text "I always thought" + line "I was going to" + cont "win it back..." + done diff --git a/text/CeladonGym.asm b/text/CeladonGym.asm new file mode 100644 index 00000000..d6586035 --- /dev/null +++ b/text/CeladonGym.asm @@ -0,0 +1,219 @@ +_CeladonGymText_48a5e:: + text "Hello. Lovely" + line "weather isn't it?" + cont "It's so pleasant." + + para "...Oh dear..." + line "I must have dozed" + cont "off. Welcome." + + para "My name is ERIKA." + line "I am the LEADER" + cont "of CELADON GYM." + + para "I teach the art of" + line "flower arranging." + cont "My #MON are of" + cont "the grass-type." + + para "Oh, I'm sorry, I" + line "had no idea that" + cont "you wished to" + cont "challenge me." + + para "Very well, but I" + line "shall not lose." + done + +_CeladonGymText_48a63:: + text "Oh!" + line "I concede defeat." + + para "You are remarkably" + line "strong." + + para "I must confer you" + line "the RAINBOWBADGE." + prompt + +_CeladonGymText_48a68:: + text "You are cataloging" + line "#MON? I must" + cont "say I'm impressed." + + para "I would never" + line "collect #MON" + cont "if they were" + cont "unattractive." + done + +_CeladonGymText9:: + text "The RAINBOWBADGE" + line "will make #MON" + cont "up to L50 obey." + + para "It also allows" + line "#MON to use" + cont "STRENGTH in and" + cont "out of battle." + + para "Please also take" + line "this with you." + done + +_ReceivedTM21Text:: + text " received" + line "@" + TX_RAM wcf4b + text "!@@" + +_TM21ExplanationText:: + text "" + + para "TM21 contains" + line "MEGA DRAIN." + + para "Half the damage" + line "it inflicts is" + cont "drained to heal" + cont "your #MON!" + done + +_TM21NoRoomText:: + text "You should make" + line "room for this." + done + +_CeladonGymBattleText2:: + text "Hey!" + + para "You are not" + line "allowed in here!" + done + +_CeladonGymEndBattleText2:: + text "You're" + line "too rough!" + prompt + +_CeladonGymAfterBattleText2:: + text "Bleaah!" + line "I hope ERIKA" + cont "wipes you out!" + done + +_CeladonGymBattleText3:: + text "I was getting" + line "bored." + done + +_CeladonGymEndBattleText3:: + text "My" + line "makeup!" + prompt + +_CeladonGymAfterBattleText3:: + text "Grass-type #MON" + line "are tough against" + cont "the water-type!" + + para "They also have an" + line "edge on rock and" + cont "ground #MON!" + done + +_CeladonGymBattleText4:: + text "Aren't you the" + line "peeping Tom?" + done + +_CeladonGymEndBattleText4:: + text "I'm" + line "in shock!" + prompt + +_CeladonGymAfterBattleText4:: + text "Oh, you weren't" + line "peeping? We get a" + cont "lot of gawkers!" + done + +_CeladonGymBattleText5:: + text "Look at my grass" + line "#MON!" + + para "They're so easy" + line "to raise!" + done + +_CeladonGymEndBattleText5:: + text "No!" + prompt + +_CeladonGymAfterBattleText5:: + text "We only use grass-" + line "type #MON at" + cont "our GYM!" + + para "We also use them" + line "for making flower" + cont "arrangements!" + done + +_CeladonGymBattleText6:: + text "Don't bring any" + line "bugs or fire" + cont "#MON in here!" + done + +_CeladonGymEndBattleText6:: + text "Oh!" + line "You!" + prompt + +_CeladonGymAfterBattleText6:: + text "Our LEADER, ERIKA," + line "might be quiet," + cont "but she's also" + cont "very skilled!" + done + +_CeladonGymBattleText7:: + text "Pleased to meet" + line "you. My hobby is" + cont "#MON training." + done + +_CeladonGymEndBattleText7:: + text "Oh!" + line "Splendid!" + prompt + +_CeladonGymAfterBattleText7:: + text "I have a blind" + line "date coming up." + cont "I have to learn" + cont "to be polite." + done + +_CeladonGymBattleText8:: + text "Welcome to" + line "CELADON GYM!" + + para "You better not" + line "underestimate" + cont "girl power!" + done + +_CeladonGymEndBattleText8:: + text "Oh!" + line "Beaten!" + prompt + +_CeladonGymAfterBattleText8:: + text "I didn't bring my" + line "best #MON!" + + para "Wait 'til next" + line "time!" + done diff --git a/text/CeladonHotel.asm b/text/CeladonHotel.asm new file mode 100644 index 00000000..f2eb059e --- /dev/null +++ b/text/CeladonHotel.asm @@ -0,0 +1,21 @@ +_CeladonHotelText1:: + text "#MON? No, this" + line "is a hotel for" + cont "people." + + para "We're full up." + done + +_CeladonHotelText2:: + text "I'm on vacation" + line "with my brother" + cont "and boy friend." + + para "CELADON is such a" + line "pretty city!" + done + +_CeladonHotelText3:: + text "Why did she bring" + line "her brother?" + done diff --git a/text/CeladonMansion1F.asm b/text/CeladonMansion1F.asm new file mode 100644 index 00000000..fc175cd5 --- /dev/null +++ b/text/CeladonMansion1F.asm @@ -0,0 +1,23 @@ +_CeladonMansion1Text1:: + text "MEOWTH: Meow!@@" + +_CeladonMansion1Text2:: + text "My dear #MON" + line "keep me company." + + para "MEOWTH even brings" + line "money home!" + done + +_CeladonMansion1Text3:: + text "CLEFAIRY: Pi" + line "pippippi!@@" + +_CeladonMansion1Text4:: + text "NIDORAN: Kya" + line "kyaoo!@@" + +_CeladonMansion1Text5:: + text "CELADON MANSION" + line "Manager's Suite" + done diff --git a/text/CeladonMansion2F.asm b/text/CeladonMansion2F.asm new file mode 100644 index 00000000..b2ecb4fa --- /dev/null +++ b/text/CeladonMansion2F.asm @@ -0,0 +1,4 @@ +_CeladonMansion2Text1:: + text "GAME FREAK" + line "Meeting Room" + done diff --git a/text/CeladonMansion3F.asm b/text/CeladonMansion3F.asm new file mode 100644 index 00000000..c8858281 --- /dev/null +++ b/text/CeladonMansion3F.asm @@ -0,0 +1,66 @@ +_ProgrammerText:: + text "Me? I'm the" + line "programmer!" + done + +_GraphicArtistText:: + text "I'm the graphic" + line "artist!" + cont "I drew you!" + done + +_WriterText:: + text "I wrote the story!" + line "Isn't ERIKA cute?" + + para "I like MISTY a" + line "lot too!" + + para "Oh, and SABRINA," + line "I like her!" + done + +_GameDesignerText:: + text "Is that right?" + + para "I'm the game" + line "designer!" + + para "Filling up your" + line "#DEX is tough," + cont "but don't quit!" + + para "When you finish," + line "come tell me!" + done + +_CompletedDexText:: + text "Wow! Excellent!" + line "You completed" + cont "your #DEX!" + cont "Congratulations!" + cont "...@@" + +_CeladonMansion3Text5:: + text "It's the game" + line "program! Messing" + cont "with it could bug" + cont "out the game!" + done + +_CeladonMansion3Text6:: + text "Someone's playing" + line "a game instead of" + cont "working!" + done + +_CeladonMansion3Text7:: + text "It's the script!" + line "Better not look" + cont "at the ending!" + done + +_CeladonMansion3Text8:: + text "GAME FREAK" + line "Development Room" + done diff --git a/text/CeladonMansionRoof.asm b/text/CeladonMansionRoof.asm new file mode 100644 index 00000000..c8fd7ec8 --- /dev/null +++ b/text/CeladonMansionRoof.asm @@ -0,0 +1,3 @@ +_CeladonMansion4Text1:: + text "I KNOW EVERYTHING!" + done diff --git a/text/CeladonMansionRoofHouse.asm b/text/CeladonMansionRoofHouse.asm new file mode 100644 index 00000000..dab81a8d --- /dev/null +++ b/text/CeladonMansionRoofHouse.asm @@ -0,0 +1,10 @@ +_CeladonMansion5Text1:: + text "I know everything" + line "about the world" + cont "of #MON in" + cont "your GAME BOY!" + + para "Get together with" + line "your friends and" + cont "trade #MON!" + done diff --git a/text/CeladonMart1F.asm b/text/CeladonMart1F.asm new file mode 100644 index 00000000..8d805edc --- /dev/null +++ b/text/CeladonMart1F.asm @@ -0,0 +1,31 @@ +_CeladonMart1Text1:: + text "Hello! Welcome to" + line "CELADON DEPT." + cont "STORE." + + para "The board on the" + line "right describes" + cont "the store layout." + done + +_CeladonMart1Text2:: + text "1F: SERVICE" + line " COUNTER" + + para "2F: TRAINER'S" + line " MARKET" + + para "3F: TV GAME SHOP" + + para "4F: WISEMAN GIFTS" + + para "5F: DRUG STORE" + + para "ROOFTOP SQUARE:" + line "VENDING MACHINES" + done + +_CeladonMart1Text3:: + text "1F: SERVICE" + line " COUNTER" + done diff --git a/text/CeladonMart2F.asm b/text/CeladonMart2F.asm new file mode 100644 index 00000000..74869902 --- /dev/null +++ b/text/CeladonMart2F.asm @@ -0,0 +1,22 @@ +_CeladonMart2Text3:: + text "SUPER REPEL keeps" + line "weak #MON at" + cont "bay..." + + para "Hmm, it's a more" + line "powerful REPEL!" + done + +_CeladonMart2Text4:: + text "For long outings," + line "you should buy" + cont "REVIVE." + done + +_CeladonMart2Text5:: + text "Top Grade Items" + line "for Trainers!" + + para "2F: TRAINER'S" + line " MARKET" + done diff --git a/text/CeladonMart3F.asm b/text/CeladonMart3F.asm new file mode 100644 index 00000000..8211750d --- /dev/null +++ b/text/CeladonMart3F.asm @@ -0,0 +1,98 @@ +_TM18PreReceiveText:: + text "Oh, hi! I finally" + line "finished #MON!" + + para "Not done yet?" + line "This might be" + cont "useful!" + prompt + +_ReceivedTM18Text:: + text " received" + line "@" + TX_RAM wcf4b + text "!@@" + +_TM18ExplanationText:: + text "TM18 is COUNTER!" + line "Not like the one" + cont "I'm leaning on," + cont "mind you!" + done + +_TM18NoRoomText:: + text "Your pack is full" + line "of items!" + done + +_CeladonMart3Text2:: + text "Captured #MON" + line "are registered" + cont "with an ID No." + cont "and OT, the name" + cont "of the Original" + cont "Trainer that" + cont "caught it!" + done + +_CeladonMart3Text3:: + text "All right!" + + para "My buddy's going" + line "to trade me his" + cont "KANGASKHAN for my" + cont "GRAVELER!" + done + +_CeladonMart3Text4:: + text "Come on GRAVELER!" + + para "I love GRAVELER!" + line "I collect them!" + + para "Huh?" + + para "GRAVELER turned" + line "into a different" + cont "#MON!" + done + +_CeladonMart3Text5:: + text "You can identify" + line "#MON you got" + cont "in trades by" + cont "their ID Numbers!" + done + +_CeladonMart3Text6:: + text "It's an SNES!" + done + +_CeladonMart3Text7:: + text "An RPG! There's" + line "no time for that!" + done + +_CeladonMart3Text9:: + text "A sports game!" + line "Dad'll like that!" + done + +_CeladonMart3Text11:: + text "A puzzle game!" + line "Looks addictive!" + done + +_CeladonMart3Text13:: + text "A fighting game!" + line "Looks tough!" + done + +_CeladonMart3Text14:: + text "3F: TV GAME SHOP" + done + +_CeladonMart3Text15:: + text "Red and Blue!" + line "Both are #MON!" + done diff --git a/text/CeladonMart4F.asm b/text/CeladonMart4F.asm new file mode 100644 index 00000000..78fa0b66 --- /dev/null +++ b/text/CeladonMart4F.asm @@ -0,0 +1,26 @@ +_CeladonMart4Text2:: + text "I'm getting a" + line "# DOLL for my" + cont "girl friend!" + done + +_CeladonMart4Text3:: + text "I heard something" + line "useful." + + para "You can run from" + line "wild #MON by" + cont "distracting them" + cont "with a # DOLL!" + done + +_CeladonMart4Text4:: + text "Express yourself" + line "with gifts!" + + para "4F: WISEMAN GIFTS" + + para "Evolution Special!" + line "Element STONEs on" + cont "sale now!" + done diff --git a/text/CeladonMart5F.asm b/text/CeladonMart5F.asm new file mode 100644 index 00000000..1871194b --- /dev/null +++ b/text/CeladonMart5F.asm @@ -0,0 +1,28 @@ +_CeladonMart5Text1:: + text "#MON ability" + line "enhancers can be" + cont "bought only here." + + para "Use CALCIUM to" + line "increase SPECIAL" + cont "abilities." + + para "Use CARBOS to" + line "increase SPEED." + done + +_CeladonMart5Text2:: + text "I'm here for" + line "#MON ability" + cont "enhancers." + + para "PROTEIN increases" + line "ATTACK power." + + para "IRON increases" + line "DEFENSE!" + done + +_CeladonMart5Text5:: + text "5F: DRUG STORE" + done diff --git a/text/CeladonMartRoof.asm b/text/CeladonMartRoof.asm new file mode 100644 index 00000000..1ed52e86 --- /dev/null +++ b/text/CeladonMartRoof.asm @@ -0,0 +1,141 @@ +_CeladonMartRoofText_484ee:: + text "Give her which" + line "drink?" + done + +_CeladonMartRoofText_484f3:: + text "Yay!" + + para "FRESH WATER!" + + para "Thank you!" + + para "You can have this" + line "from me!@@" + +_CeladonMartRoofText_484f9:: + text " received" + line "@" + TX_RAM wcf4b + text "!@@" + +_CeladonMartRoofText_484fe:: + text "" + + para "@" + TX_RAM wcf4b + text " contains" + line "ICE BEAM!" + + para "It can freeze the" + line "target sometimes!@@" + +_CeladonMartRoofText_48504:: + text "Yay!" + + para "SODA POP!" + + para "Thank you!" + + para "You can have this" + line "from me!@@" + +_CeladonMartRoofText_4850a:: + text " received" + line "@" + TX_RAM wcf4b + text "!@@" + +_CeladonMartRoofText_4850f:: + text "" + + para "@" + TX_RAM wcf4b + text " contains" + line "ROCK SLIDE!" + + para "It can spook the" + line "target sometimes!@@" + +_CeladonMartRoofText_48515:: + text "Yay!" + + para "LEMONADE!" + + para "Thank you!" + + para "You can have this" + line "from me!@@" + +_ReceivedTM49Text:: + text " received" + line "TM49!@@" + +_CeladonMartRoofText_48520:: + text "" + + para "TM49 contains" + line "TRI ATTACK!@@" + +_CeladonMartRoofText_48526:: + text "You don't have" + line "space for this!@@" + +_CeladonMartRoofText_4852c:: + text "No thank you!" + line "I'm not thirsty" + cont "after all!@@" + +_CeladonMartRoofText1:: + text "My sister is a" + line "trainer, believe" + cont "it or not." + + para "But, she's so" + line "immature, she" + cont "drives me nuts!" + done + +_CeladonMartRoofText_48598:: + text "I'm thirsty!" + line "I want something" + cont "to drink!" + done + +_CeladonMartRoofText4:: + text "I'm thirsty!" + line "I want something" + cont "to drink!" + + para "Give her a drink?" + done + +_CeladonMartRoofText6:: + text "ROOFTOP SQUARE:" + line "VENDING MACHINES" + done + +_VendingMachineText1:: + text "A vending machine!" + line "Here's the menu!" + prompt + +_VendingMachineText4:: + text "Oops, not enough" + line "money!" + done + +_VendingMachineText5:: + TX_RAM wcf4b + text "" + line "popped out!" + done + +_VendingMachineText6:: + text "There's no more" + line "room for stuff!" + done + +_VendingMachineText7:: + text "Not thirsty!" + done diff --git a/text/CeladonPokecenter.asm b/text/CeladonPokecenter.asm new file mode 100644 index 00000000..a04f51c9 --- /dev/null +++ b/text/CeladonPokecenter.asm @@ -0,0 +1,12 @@ +_CeladonPokecenterText2:: + text "# FLUTE awakens" + line "#MON with a" + cont "sound that only" + cont "they can hear!" + done + +_CeladonPokecenterText3:: + text "I rode uphill on" + line "CYCLING ROAD from" + cont "FUCHSIA!" + done diff --git a/text/CeruleanBadgeHouse.asm b/text/CeruleanBadgeHouse.asm new file mode 100644 index 00000000..9d701443 --- /dev/null +++ b/text/CeruleanBadgeHouse.asm @@ -0,0 +1,97 @@ +_CeruleanHouse2Text_74e77:: + text "#MON BADGEs" + line "are owned only by" + cont "skilled trainers." + + para "I see you have" + line "at least one." + + para "Those BADGEs have" + line "amazing secrets!" + prompt + +_CeruleanHouse2Text_74e7c:: + text "Now then..." + + para "Which of the 8" + line "BADGEs should I" + cont "describe?" + done + +_CeruleanHouse2Text_74e81:: + text "Come visit me any" + line "time you wish." + done + +_CeruleanHouse2Text_74e96:: + text "The ATTACK of all" + line "#MON increases" + cont "a little bit." + + para "It also lets you" + line "use FLASH any" + cont "time you desire." + prompt + +_CeruleanHouse2Text_74e9b:: + text "#MON up to L30" + line "will obey you." + + para "Any higher, they" + line "become unruly!" + + para "It also lets you" + line "use CUT outside" + cont "of battle." + prompt + +_CeruleanHouse2Text_74ea0:: + text "The SPEED of all" + line "#MON increases" + cont "a little bit." + + para "It also lets you" + line "use FLY outside" + cont "of battle." + prompt + +_CeruleanHouse2Text_74ea5:: + text "#MON up to L50" + line "will obey you." + + para "Any higher, they" + line "become unruly!" + + para "It also lets you" + line "use STRENGTH out-" + cont "side of battle." + prompt + +_CeruleanHouse2Text_74eaa:: + text "The DEFENSE of all" + line "#MON increases" + cont "a little bit." + + para "It also lets you" + line "use SURF outside" + cont "of battle." + prompt + +_CeruleanHouse2Text_74eaf:: + text "#MON up to L70" + line "will obey you." + + para "Any higher, they" + line "become unruly!" + prompt + +_CeruleanHouse2Text_74eb4:: + text "Your #MON's" + line "SPECIAL abilities" + cont "increase a bit." + prompt + +_CeruleanHouse2Text_74eb9:: + text "All #MON will" + line "obey you!" + prompt diff --git a/text/CeruleanCaveB1F.asm b/text/CeruleanCaveB1F.asm new file mode 100644 index 00000000..0918a3ce --- /dev/null +++ b/text/CeruleanCaveB1F.asm @@ -0,0 +1,2 @@ +_MewtwoBattleText:: + text "Mew!@@" diff --git a/text/CeruleanCity.asm b/text/CeruleanCity.asm new file mode 100644 index 00000000..f0d2c29e --- /dev/null +++ b/text/CeruleanCity.asm @@ -0,0 +1,233 @@ +_CeruleanCityText_19668:: + text ": Yo!" + line "!" + + para "You're still" + line "struggling along" + cont "back here?" + + para "I'm doing great!" + line "I caught a bunch" + cont "of strong and" + cont "smart #MON!" + + para "Here, let me see" + line "what you caught," + cont "!" + done + +_CeruleanCityText_1966d:: + text "Hey!" + line "Take it easy!" + cont "You won already!" + prompt + +_CeruleanCityText_19672:: + text "Heh!" + line "You're no match" + cont "for my genius!" + prompt + +_CeruleanCityText_19677:: + text ": Hey," + line "guess what?" + + para "I went to BILL's" + line "and got him to" + cont "show me his rare" + cont "#MON!" + + para "That added a lot" + line "of pages to my" + cont "#DEX!" + + para "After all, BILL's" + line "world famous as a" + cont "#MANIAC!" + + para "He invented the" + line "#MON Storage" + cont "System on PC!" + + para "Since you're using" + line "his system, go" + cont "thank him!" + + para "Well, I better" + line "get rolling!" + cont "Smell ya later!" + done + +_CeruleanCityText_196d9:: + text "Hey! Stay out!" + line "It's not your" + cont "yard! Huh? Me?" + + para "I'm an innocent" + line "bystander! Don't" + cont "you believe me?" + done + +_ReceivedTM28Text:: + text " recovered" + line "TM28!@@" + +_ReceivedTM28Text2:: + text "" + + para "I better get" + line "moving! Bye!@@" + +_TM28NoRoomText:: + text "Make room for" + line "this!" + + para "I can't run until" + line "I give it to you!" + done + +_CeruleanCityText_196ee:: + text "Stop!" + line "I give up! I'll" + cont "leave quietly!" + prompt + +_CeruleanCityText_196f3:: + text "OK! I'll return" + line "the TM I stole!" + prompt + +_CeruleanCityText3:: + text "You're a trainer" + line "too? Collecting," + cont "fighting, it's a" + cont "tough life." + done + +_CeruleanCityText4:: + text "That bush in" + line "front of the shop" + cont "is in the way." + + para "There might be a" + line "way around." + done + +_CeruleanCityText5:: + text "You're making an" + line "encyclopedia on" + cont "#MON? That" + cont "sounds amusing." + done + +_CeruleanCityText6:: + text "The people here" + line "were robbed." + + para "It's obvious that" + line "TEAM ROCKET is" + cont "behind this most" + cont "heinous crime!" + + para "Even our POLICE" + line "force has trouble" + cont "with the ROCKETs!" + done + +_CeruleanCityText_19730:: + text "OK! SLOWBRO!" + line "Use SONICBOOM!" + cont "Come on, SLOWBRO" + cont "pay attention!" + done + +_CeruleanCityText_19735:: + text "SLOWBRO punch!" + line "No! You blew it" + cont "again!" + done + +_CeruleanCityText_1973a:: + text "SLOWBRO, WITHDRAW!" + line "No! That's wrong!" + + para "It's so hard to" + line "control #MON!" + + para "Your #MON's" + line "obedience depends" + cont "on your abilities" + cont "as a trainer!" + done + +_CeruleanCityText_1976f:: + text "SLOWBRO took a" + line "snooze..." + done + +_CeruleanCityText_19774:: + text "SLOWBRO is" + line "loafing around..." + done + +_CeruleanCityText_19779:: + text "SLOWBRO turned" + line "away..." + done + +_CeruleanCityText_1977e:: + text "SLOWBRO" + line "ignored orders..." + done + +_CeruleanCityText9:: + text "I want a bright" + line "red BICYCLE!" + + para "I'll keep it at" + line "home, so it won't" + cont "get dirty!" + done + +_CeruleanCityText10:: + text "This is CERULEAN" + line "CAVE! Horribly" + cont "strong #MON" + cont "live in there!" + + para "The #MON LEAGUE" + line "champion is the" + cont "only person who" + cont "is allowed in!" + done + +_CeruleanCityText12:: + text "CERULEAN CITY" + line "A Mysterious," + cont "Blue Aura" + cont "Surrounds It" + done + +_CeruleanCityText13:: + text "TRAINER TIPS" + + para "Pressing B Button" + line "during evolution" + cont "cancels the whole" + cont "process." + done + +_CeruleanCityText16:: + text "Grass and caves" + line "handled easily!" + cont "BIKE SHOP" + done + +_CeruleanCityText17:: + text "CERULEAN CITY" + line "#MON GYM" + cont "LEADER: MISTY" + + para "The Tomboyish" + line "Mermaid!" + done diff --git a/text/CeruleanGym.asm b/text/CeruleanGym.asm new file mode 100644 index 00000000..1d1d6d1c --- /dev/null +++ b/text/CeruleanGym.asm @@ -0,0 +1,131 @@ +_CeruleanGymText_5c7be:: + text "Hi, you're a new" + line "face!" + + para "Trainers who want" + line "to turn pro have" + cont "to have a policy" + cont "about #MON!" + + para "What is your" + line "approach when you" + cont "catch #MON?" + + para "My policy is an" + line "all-out offensive" + cont "with water-type" + cont "#MON!" + done + +_CeruleanGymText_5c7c3:: + text "TM11 teaches" + line "BUBBLEBEAM!" + + para "Use it on an" + line "aquatic #MON!" + done + +_CeruleanGymText_5c7c8:: + text "The CASCADEBADGE" + line "makes all #MON" + cont "up to L30 obey!" + + para "That includes" + line "even outsiders!" + + para "There's more, you" + line "can now use CUT" + cont "any time!" + + para "You can CUT down" + line "small bushes to" + cont "open new paths!" + + para "You can also have" + line "my favorite TM!" + done + +_ReceivedTM11Text:: + text " received" + line "TM11!@@" + +_CeruleanGymText_5c7d3:: + text "You better make" + line "room for this!" + done + +_CeruleanGymText_5c7d8:: + text "Wow!" + line "You're too much!" + + para "All right!" + + para "You can have the" + line "CASCADEBADGE to" + cont "show you beat me!@@" + +_CeruleanGymBattleText1:: + text "I'm more than good" + line "enough for you!" + + para "MISTY can wait!" + done + +_CeruleanGymEndBattleText1:: + text "You" + line "overwhelmed me!" + prompt + +_CeruleanGymAfterBattleText1:: + text "You have to face" + line "other trainers to" + cont "find out how good" + cont "you really are." + done + +_CeruleanGymBattleText2:: + text "Splash!" + + para "I'm first up!" + line "Let's do it!" + done + +_CeruleanGymEndBattleText2:: + text "That" + line "can't be!" + prompt + +_CeruleanGymAfterBattleText2:: + text "MISTY is going to" + line "keep improving!" + + para "She won't lose to" + line "someone like you!" + done + +_CeruleanGymText_5c82a:: + text "Yo! Champ in" + line "making!" + + para "Here's my advice!" + + para "The LEADER, MISTY," + line "is a pro who uses" + cont "water #MON!" + + para "You can drain all" + line "their water with" + cont "plant #MON!" + + para "Or, zap them with" + line "electricity!" + done + +_CeruleanGymText_5c82f:: + text "You beat MISTY!" + line "What'd I tell ya?" + + para "You and me kid," + line "we make a pretty" + cont "darn good team!" + done diff --git a/text/CeruleanMart.asm b/text/CeruleanMart.asm new file mode 100644 index 00000000..86a74588 --- /dev/null +++ b/text/CeruleanMart.asm @@ -0,0 +1,19 @@ +_CeruleanMartText2:: + text "Use REPEL to keep" + line "bugs and weak" + cont "#MON away." + + para "Put your strongest" + line "#MON at the" + cont "top of the list" + cont "for best results!" + done + +_CeruleanMartText3:: + text "Have you seen any" + line "RARE CANDY?" + + para "It's supposed to" + line "make #MON go" + cont "up one level!" + done diff --git a/text/CeruleanPokecenter.asm b/text/CeruleanPokecenter.asm new file mode 100644 index 00000000..497fbce3 --- /dev/null +++ b/text/CeruleanPokecenter.asm @@ -0,0 +1,24 @@ +_CeruleanPokecenterText2:: + text "That BILL!" + + para "I heard that" + line "he'll do whatever" + cont "it takes to get" + cont "rare #MON!" + done + +_CeruleanPokecenterText3:: + text "Have you heard" + line "about BILL?" + + para "Everyone calls" + line "him a #MANIAC!" + + para "I think people" + line "are just jealous" + cont "of BILL, though." + + para "Who wouldn't want" + line "to boast about" + cont "their #MON?" + done diff --git a/text/CeruleanTradeHouse.asm b/text/CeruleanTradeHouse.asm new file mode 100644 index 00000000..b606613b --- /dev/null +++ b/text/CeruleanTradeHouse.asm @@ -0,0 +1,9 @@ +_CeruleanHouse1Text1:: + text "My husband likes" + line "trading #MON." + + para "If you are a" + line "collector, would" + cont "you please trade" + cont "with him?" + done diff --git a/text/CeruleanTrashedHouse.asm b/text/CeruleanTrashedHouse.asm new file mode 100644 index 00000000..f79540ae --- /dev/null +++ b/text/CeruleanTrashedHouse.asm @@ -0,0 +1,36 @@ +_CeruleanTrashedText_1d6ab:: + text "Those miserable" + line "ROCKETs!" + + para "Look what they" + line "did here!" + + para "They stole a TM" + line "for teaching" + cont "#MON how to" + cont "DIG holes!" + + para "That cost me a" + line "bundle, it did!" + done + +_CeruleanTrashedText_1d6b0:: + text "I figure what's" + line "lost is lost!" + + para "I decided to teach" + line "DIGLETT how to" + cont "DIG without a TM!" + done + +_CeruleanHouseTrashedText2:: + text "TEAM ROCKET must" + line "be trying to DIG" + cont "their way into no" + cont "good!" + done + +_CeruleanHouseTrashedText3:: + text "TEAM ROCKET left" + line "a way out!" + done diff --git a/text/ChampionsRoom.asm b/text/ChampionsRoom.asm new file mode 100644 index 00000000..61050565 --- /dev/null +++ b/text/ChampionsRoom.asm @@ -0,0 +1,146 @@ +_GaryChampionIntroText:: + text ": Hey!" + + para "I was looking" + line "forward to seeing" + cont "you, !" + + para "My rival should" + line "be strong to keep" + cont "me sharp!" + + para "While working on" + line "#DEX, I looked" + cont "all over for" + cont "powerful #MON!" + + para "Not only that, I" + line "assembled teams" + cont "that would beat" + cont "any #MON type!" + + para "And now!" + + para "I'm the #MON" + line "LEAGUE champion!" + + para "! Do you" + line "know what that" + cont "means?" + + para "I'll tell you!" + + para "I am the most" + line "powerful trainer" + cont "in the world!" + done + +_GaryDefeatedText:: + text "NO!" + line "That can't be!" + cont "You beat my best!" + + para "After all that" + line "work to become" + cont "LEAGUE champ?" + + para "My reign is over" + line "already?" + cont "It's not fair!" + prompt + +_GaryVictoryText:: + text "Hahaha!" + line "I won, I won!" + + para "I'm too good for" + line "you, !" + + para "You did well to" + line "even reach me," + cont ", the" + cont "#MON genius!" + + para "Nice try, loser!" + line "Hahaha!" + prompt + +_GaryText_76103:: + text "Why?" + line "Why did I lose?" + + para "I never made any" + line "mistakes raising" + cont "my #MON..." + + para "Darn it! You're" + line "the new #MON" + cont "LEAGUE champion!" + + para "Although I don't" + line "like to admit it." + done + +_GaryText2:: + text "OAK: !" + done + +_GaryText_76120:: + text "OAK: So, you won!" + line "Congratulations!" + cont "You're the new" + cont "#MON LEAGUE" + cont "champion!" + + para "You've grown up so" + line "much since you" + cont "first left with" + cont "@" + TX_RAM wcd6d + text "!" + + para ", you have" + line "come of age!" + done + +_GaryText_76125:: + text "OAK: ! I'm" + line "disappointed!" + + para "I came when I" + line "heard you beat" + cont "the ELITE FOUR!" + + para "But, when I got" + line "here, you had" + cont "already lost!" + + para "! Do you" + line "understand why" + cont "you lost?" + + para "You have forgotten" + line "to treat your" + cont "#MON with" + cont "trust and love!" + + para "Without them, you" + line "will never become" + cont "a champ again!" + done + +_GaryText_7612a:: + text "OAK: !" + + para "You understand" + line "that your victory" + cont "was not just your" + cont "own doing!" + + para "The bond you share" + line "with your #MON" + cont "is marvelous!" + + para "!" + line "Come with me!" + done diff --git a/text/CinnabarGym.asm b/text/CinnabarGym.asm new file mode 100644 index 00000000..1b531571 --- /dev/null +++ b/text/CinnabarGym.asm @@ -0,0 +1,210 @@ +_BlaineBattleText:: + text "Hah!" + + para "I am BLAINE! I" + line "am the LEADER of" + cont "CINNABAR GYM!" + + para "My fiery #MON" + line "will incinerate" + cont "all challengers!" + + para "Hah! You better" + line "have BURN HEAL!" + done + +_BlaineEndBattleText:: + text "I have" + line "burnt out!" + + para "You have earned" + line "the VOLCANOBADGE!@@" + +_BlaineFireBlastText:: + text "FIRE BLAST is the" + line "ultimate fire" + cont "technique!" + + para "Don't waste it on" + line "water #MON!" + done + +_BlaineBadgeText:: + text "Hah!" + + para "The VOLCANOBADGE" + line "heightens the" + cont "SPECIAL abilities" + cont "of your #MON!" + + para "Here, you can" + line "have this too!" + done + +_ReceivedTM38Text:: + text " received" + line "@" + TX_RAM wcf4b + text "!@@" + +_TM38ExplanationText:: + text "" + + para "TM38 contains" + line "FIRE BLAST!" + + para "Teach it to fire-" + line "type #MON!" + + para "CHARMELEON or" + line "PONYTA would be" + cont "good bets!" + done + +_TM38NoRoomText:: + text "Make room for my" + line "gift!" + done + +_CinnabarGymText_7595f:: + text "Do you know how" + line "hot #MON fire" + cont "breath can get?" + done + +_CinnabarGymText_75964:: + text "Yow!" + line "Hot, hot, hot!" + prompt + +_CinnabarGymText_75969:: + text "Fire, or to be" + line "more precise," + cont "combustion..." + + para "Blah, blah, blah," + line "blah..." + done + +_CinnabarGymText_75994:: + text "I was a thief, but" + line "I became straight" + cont "as a trainer!" + done + +_CinnabarGymText_75999:: + text "I" + line "surrender!" + prompt + +_CinnabarGymText_7599e:: + text "I can't help" + line "stealing other" + cont "people's #MON!" + done + +_CinnabarGymText_759c9:: + text "You can't win!" + line "I have studied" + cont "#MON totally!" + done + +_CinnabarGymText_759ce:: + text "Waah!" + line "My studies!" + prompt + +_CinnabarGymText_759d3:: + text "My theories are" + line "too complicated" + cont "for you!" + done + +_CinnabarGymText_759fe:: + text "I just like using" + line "fire #MON!" + done + +_CinnabarGymText_75a03:: + text "Too hot" + line "to handle!" + prompt + +_CinnabarGymText_75a08:: + text "I wish there was" + line "a thief #MON!" + cont "I'd use that!" + done + +_CinnabarGymText_75a33:: + text "I know why BLAINE" + line "became a trainer!" + done + +_CinnabarGymText_75a38:: + text "Ow!" + prompt + +_CinnabarGymText_75a3d:: + text "BLAINE was lost" + line "in the mountains" + cont "when a fiery bird" + cont "#MON appeared." + + para "Its light enabled" + line "BLAINE to find" + cont "his way down!" + done + +_CinnabarGymText_75a68:: + text "I've been to many" + line "GYMs, but this is" + cont "my favorite!" + done + +_CinnabarGymText_75a6d:: + text "Yowza!" + line "Too hot!" + prompt + +_CinnabarGymText_75a72:: + text "Us fire #MON" + line "fans like PONYTA" + cont "and NINETALES!" + done + +_CinnabarGymText_75a9d:: + text "Fire is weak" + line "against H2O!" + done + +_CinnabarGymText_75aa2:: + text "Oh!" + line "Snuffed out!" + prompt + +_CinnabarGymText_75aa7:: + text "Water beats fire!" + line "But, fire melts" + cont "ice #MON!" + done + +_CinnabarGymText_75ac2:: + text "Yo! Champ in" + line "making!" + + para "The hot-headed" + line "BLAINE is a fire" + cont "#MON pro!" + + para "Douse his spirits" + line "with water!" + + para "You better take" + line "some BURN HEALs!" + done + +_CinnabarGymText_75ac7:: + text "! You beat" + line "that fire brand!" + done diff --git a/text/CinnabarIsland.asm b/text/CinnabarIsland.asm new file mode 100644 index 00000000..352ab8ea --- /dev/null +++ b/text/CinnabarIsland.asm @@ -0,0 +1,37 @@ +_CinnabarIslandText8:: + text "The door is" + line "locked..." + done + +_CinnabarIslandText1:: + text "CINNABAR GYM's" + line "BLAINE is an odd" + cont "man who has lived" + cont "here for decades." + done + +_CinnabarIslandText2:: + text "Scientists conduct" + line "experiments in" + cont "the burned out" + cont "building." + done + +_CinnabarIslandText3:: + text "CINNABAR ISLAND" + line "The Fiery Town of" + cont "Burning Desire" + done + +_CinnabarIslandText6:: + text "#MON LAB" + done + +_CinnabarIslandText7:: + text "CINNABAR ISLAND" + line "#MON GYM" + cont "LEADER: BLAINE" + + para "The Hot-Headed" + line "Quiz Master!" + done diff --git a/text/CinnabarLab.asm b/text/CinnabarLab.asm new file mode 100644 index 00000000..a93a484d --- /dev/null +++ b/text/CinnabarLab.asm @@ -0,0 +1,29 @@ +_Lab1Text1:: + text "We study #MON" + line "extensively here." + + para "People often bring" + line "us rare #MON" + cont "for examination." + done + +_Lab1Text2:: + text "A photo of the" + line "LAB's founder," + cont "DR.FUJI!" + done + +_Lab1Text3:: + text "#MON LAB" + line "Meeting Room" + done + +_Lab1Text4:: + text "#MON LAB" + line "R-and-D Room" + done + +_Lab1Text5:: + text "#MON LAB" + line "Testing Room" + done diff --git a/text/CinnabarLabFossilRoom.asm b/text/CinnabarLabFossilRoom.asm new file mode 100644 index 00000000..95bde685 --- /dev/null +++ b/text/CinnabarLabFossilRoom.asm @@ -0,0 +1,78 @@ +_Lab4Text_75dc6:: + text "Hiya!" + + para "I am important" + line "doctor!" + + para "I study here rare" + line "#MON fossils!" + + para "You! Have you a" + line "fossil for me?" + prompt + +_Lab4Text_75dcb:: + text "No! Is too bad!" + done + +_Lab4Text_75dd0:: + text "I take a little" + line "time!" + + para "You go for walk a" + line "little while!" + done + +_Lab4Text_75dd5:: + text "Where were you?" + + para "Your fossil is" + line "back to life!" + + para "It was @" + TX_RAM wcf4b + text "" + line "like I think!" + prompt + +_Lab4Text_610ae:: + text "Oh! That is" + line "@" + TX_RAM wcd6d + text "!" + + para "It is fossil of" + line "@" + TX_RAM wcf4b + text ", a" + cont "#MON that is" + cont "already extinct!" + + para "My Resurrection" + line "Machine will make" + cont "that #MON live" + cont "again!" + done + +_Lab4Text_610b3:: + text "So! You hurry and" + line "give me that!" + + para " handed" + line "over @" + TX_RAM wcd6d + text "!" + prompt + +_Lab4Text_610b8:: + text "I take a little" + line "time!" + + para "You go for walk a" + line "little while!" + done + +_Lab4Text_610bd:: + text "Aiyah! You come" + line "again!" + done diff --git a/text/CinnabarLabMetronomeRoom.asm b/text/CinnabarLabMetronomeRoom.asm new file mode 100644 index 00000000..fa04677f --- /dev/null +++ b/text/CinnabarLabMetronomeRoom.asm @@ -0,0 +1,63 @@ +_TM35PreReceiveText:: + text "Tch-tch-tch!" + line "I made a cool TM!" + + para "It can cause all" + line "kinds of fun!" + prompt + +_ReceivedTM35Text:: + text " received " + line "@" + TX_RAM wcf4b + text "!@@" + +_TM35ExplanationText:: + text "Tch-tch-tch!" + line "That's the sound" + cont "of a METRONOME!" + + para "It tweaks your" + line "#MON's brain" + cont "into using moves" + cont "it doesn't know!" + done + +_TM35NoRoomText:: + text "Your pack is" + line "crammed full!" + done + +_Lab3Text2:: + text "EEVEE can evolve" + line "into 1 of 3 kinds" + cont "of #MON." + done + +_Lab3Text3:: + text "There's an e-mail" + line "message!" + + para "..." + + para "The 3 legendary" + line "bird #MON are" + cont "ARTICUNO, ZAPDOS" + cont "and MOLTRES." + + para "Their whereabouts" + line "are unknown." + + para "We plan to explore" + line "the cavern close" + cont "to CERULEAN." + + para "From: #MON" + line "RESEARCH TEAM" + + para "..." + done + +_Lab3Text5:: + text "An amber pipe!" + done diff --git a/text/CinnabarLabTradeRoom.asm b/text/CinnabarLabTradeRoom.asm new file mode 100644 index 00000000..196124e7 --- /dev/null +++ b/text/CinnabarLabTradeRoom.asm @@ -0,0 +1,9 @@ +_Lab2Text1:: + text "I found this very" + line "strange fossil in" + cont "MT.MOON!" + + para "I think it's a" + line "rare, prehistoric" + cont "#MON!" + done diff --git a/text/CinnabarMart.asm b/text/CinnabarMart.asm new file mode 100644 index 00000000..42a41d06 --- /dev/null +++ b/text/CinnabarMart.asm @@ -0,0 +1,10 @@ +_CinnabarMartText2:: + text "Don't they have X" + line "ATTACK? It's good" + cont "for battles!" + done + +_CinnabarMartText3:: + text "It never hurts to" + line "have extra items!" + done diff --git a/text/CinnabarPokecenter.asm b/text/CinnabarPokecenter.asm new file mode 100644 index 00000000..cf481764 --- /dev/null +++ b/text/CinnabarPokecenter.asm @@ -0,0 +1,21 @@ +_CinnabarPokecenterText2:: + text "You can cancel" + line "evolution." + + para "When a #MON is" + line "evolving, you can" + cont "stop it and leave" + cont "it the way it is." + done + +_CinnabarPokecenterText3:: + text "Do you have any" + line "friends?" + + para "#MON you get" + line "in trades grow" + cont "very quickly." + + para "I think it's" + line "worth a try!" + done diff --git a/text/CopycatsHouse1F.asm b/text/CopycatsHouse1F.asm new file mode 100644 index 00000000..3ec2b151 --- /dev/null +++ b/text/CopycatsHouse1F.asm @@ -0,0 +1,20 @@ +_CopycatsHouse1FText1:: + text "My daughter is so" + line "self-centered." + cont "She only has a" + cont "few friends." + done + +_CopycatsHouse1FText2:: + text "My daughter likes" + line "to mimic people." + + para "Her mimicry has" + line "earned her the" + cont "nickname COPYCAT" + cont "around here!" + done + +_CopycatsHouse1FText3:: + text "CHANSEY: Chaan!" + line "Sii!@@" diff --git a/text/CopycatsHouse2F.asm b/text/CopycatsHouse2F.asm new file mode 100644 index 00000000..561b2ac5 --- /dev/null +++ b/text/CopycatsHouse2F.asm @@ -0,0 +1,97 @@ +_CopycatsHouse2FText_5ccd4:: + text ": Hi! Do" + line "you like #MON?" + + para ": Uh no, I" + line "just asked you." + + para ": Huh?" + line "You're strange!" + + para "COPYCAT: Hmm?" + line "Quit mimicking?" + + para "But, that's my" + line "favorite hobby!" + prompt + +_TM31PreReceiveText:: + text "Oh wow!" + line "A # DOLL!" + + para "For me?" + line "Thank you!" + + para "You can have" + line "this, then!" + prompt + +_ReceivedTM31Text:: + text " received" + line "@" + TX_RAM wcf4b + text "!@@" + +_TM31ExplanationText1:: + text "" + + para "TM31 contains my" + line "favorite, MIMIC!" + + para "Use it on a good" + line "#MON!@@" + +_TM31ExplanationText2:: + text ": Hi!" + line "Thanks for TM31!" + + para ": Pardon?" + + para ": Is it" + line "that fun to mimic" + cont "my every move?" + + para "COPYCAT: You bet!" + line "It's a scream!" + done + +_TM31NoRoomText:: + text "Don't you want" + line "this?@@" + +_CopycatsHouse2FText2:: + text "DODUO: Giiih!" + + para "MIRROR MIRROR ON" + line "THE WALL, WHO IS" + cont "THE FAIREST ONE" + cont "OF ALL?" + done + +_CopycatsHouse2FText3:: + text "This is a rare" + line "#MON! Huh?" + cont "It's only a doll!" + done + +_CopycatsHouse2FText6:: + text "A game with MARIO" + line "wearing a bucket" + cont "on his head!" + done + +_CopycatsHouse2FText_5cd17:: + text "..." + + para "My Secrets!" + + para "Skill: Mimicry!" + line "Hobby: Collecting" + cont "dolls!" + cont "Favorite #MON:" + cont "CLEFAIRY!" + done + +_CopycatsHouse2FText_5cd1c:: + text "Huh? Can't see!" + done diff --git a/text/Daycare.asm b/text/Daycare.asm new file mode 100644 index 00000000..2759c798 --- /dev/null +++ b/text/Daycare.asm @@ -0,0 +1,62 @@ +_DayCareIntroText:: + text "I run a DAYCARE." + line "Would you like me" + cont "to raise one of" + cont "your #MON?" + done + +_DayCareWhichMonText:: + text "Which #MON" + line "should I raise?" + prompt + +_DayCareWillLookAfterMonText:: + text "Fine, I'll look" + line "after @" + TX_RAM wcd6d + text "" + cont "for a while." + prompt + +_DayCareComeSeeMeInAWhileText:: + text "Come see me in" + line "a while." + done + +_DayCareMonHasGrownText:: + text "Your @" + TX_RAM wcd6d + text "" + line "has grown a lot!" + + para "By level, it's" + line "grown by @" + TX_NUM wDayCareNumLevelsGrown,$1,$3 + text "!" + + para "Aren't I great?" + prompt + +_DayCareOweMoneyText:: + text "You owe me ¥@" + TX_BCD wDayCareTotalCost, $c2 + text "" + line "for the return" + cont "of this #MON." + done + +_DayCareGotMonBackText:: + text " got" + line "@" + TX_RAM wDayCareMonName + text " back!" + done + +_DayCareMonNeedsMoreTimeText:: + text "Back already?" + line "Your @" + TX_RAM wcd6d + text "" + cont "needs some more" + cont "time with me." + prompt diff --git a/text/Daycare_2.asm b/text/Daycare_2.asm new file mode 100644 index 00000000..20c0e5ad --- /dev/null +++ b/text/Daycare_2.asm @@ -0,0 +1,33 @@ +_DayCareAllRightThenText:: + text "All right then," + line "@@" + +_DayCareComeAgainText:: + text "come again." + done + +_DayCareNoRoomForMonText:: + text "You have no room" + line "for this #MON!" + done + +_DayCareOnlyHaveOneMonText:: + text "You only have one" + line "#MON with you." + done + +_DayCareCantAcceptMonWithHMText:: + text "I can't accept a" + line "#MON that" + cont "knows an HM move." + done + +_DayCareHeresYourMonText:: + text "Thank you! Here's" + line "your #MON!" + prompt + +_DayCareNotEnoughMoneyText:: + text "Hey, you don't" + line "have enough ¥!" + done diff --git a/text/DiglettsCaveRoute11.asm b/text/DiglettsCaveRoute11.asm new file mode 100644 index 00000000..ecd3225e --- /dev/null +++ b/text/DiglettsCaveRoute11.asm @@ -0,0 +1,8 @@ +_DiglettsCaveEntRoute11Text1:: + text "What a surprise!" + line "DIGLETTs dug this" + cont "long tunnel!" + + para "It goes right to" + line "VIRIDIAN CITY!" + done diff --git a/text/DiglettsCaveRoute2.asm b/text/DiglettsCaveRoute2.asm new file mode 100644 index 00000000..a04bbef7 --- /dev/null +++ b/text/DiglettsCaveRoute2.asm @@ -0,0 +1,9 @@ +_DiglettsCaveRoute2Text1:: + text "I went to ROCK" + line "TUNNEL, but it's" + cont "dark and scary." + + para "If a #MON's" + line "FLASH could light" + cont "it up..." + done diff --git a/text/FightingDojo.asm b/text/FightingDojo.asm new file mode 100644 index 00000000..3df069c1 --- /dev/null +++ b/text/FightingDojo.asm @@ -0,0 +1,130 @@ +_FightingDojoText_5ce8e:: + text "Grunt!" + + para "I am the KARATE" + line "MASTER! I am the" + cont "LEADER here!" + + para "You wish to" + line "challenge us?" + cont "Expect no mercy!" + + para "Fwaaa!" + done + +_FightingDojoText_5ce93:: + text "Hwa!" + line "Arrgh! Beaten!" + prompt + +_FightingDojoText_5ce98:: + text "Indeed, I have" + line "lost!" + + para "But, I beseech" + line "you, do not take" + cont "our emblem as" + cont "your trophy!" + + para "In return, I will" + line "give you a prized" + cont "fighting #MON!" + + para "Choose whichever" + line "one you like!" + done + +_FightingDojoText_5ce9d:: + text "Ho!" + + para "Stay and train at" + line "Karate with us!" + done + +_FightingDojoBattleText1:: + text "Hoargh! Take your" + line "shoes off!" + done + +_FightingDojoEndBattleText1:: + text "I give" + line "up!" + prompt + +_FightingDojoAfterBattleText1:: + text "You wait 'til you" + line "see our Master!" + + para "I'm a small fry" + line "compared to him!" + done + +_FightingDojoBattleText2:: + text "I hear you're" + line "good! Show me!" + done + +_FightingDojoEndBattleText2:: + text "Judge!" + line "1 point!" + prompt + +_FightingDojoAfterBattleText2:: + text "Our Master is a" + line "pro fighter!" + done + +_FightingDojoBattleText3:: + text "Nothing tough" + line "frightens me!" + + para "I break boulders" + line "for training!" + done + +_FightingDojoEndBattleText3:: + text "Yow!" + line "Stubbed fingers!" + prompt + +_FightingDojoAfterBattleText3:: + text "The only thing" + line "that frightens us" + cont "is psychic power!" + done + +_FightingDojoBattleText4:: + text "Hoohah!" + + para "You're trespassing" + line "in our FIGHTING" + cont "DOJO!" + done + +_FightingDojoEndBattleText4:: + text "Oof!" + line "I give up!" + prompt + +_FightingDojoAfterBattleText4:: + text "The prime fighters" + line "across the land" + cont "train here." + done + +_WantHitmonleeText:: + text "You want the" + line "hard kicking" + cont "HITMONLEE?" + done + +_WantHitmonchanText:: + text "You want the" + line "piston punching" + cont "HITMONCHAN?" + done + +_OtherHitmonText:: + text "Better not get" + line "greedy..." + done diff --git a/text/FuchsiaBillsGrandpasHouse.asm b/text/FuchsiaBillsGrandpasHouse.asm new file mode 100644 index 00000000..7b6556b1 --- /dev/null +++ b/text/FuchsiaBillsGrandpasHouse.asm @@ -0,0 +1,27 @@ +_FuchsiaHouse1Text1:: + text "SAFARI ZONE's" + line "WARDEN is old," + cont "but still active!" + + para "All his teeth are" + line "false, though." + done + +_FuchsiaHouse1Text2:: + text "Hmm? You've met" + line "BILL?" + + para "He's my grandson!" + + para "He always liked" + line "collecting things" + cont "even as a child!" + done + +_FuchsiaHouse1Text3:: + text "BILL files his" + line "own #MON data" + cont "on his PC!" + + para "Did he show you?" + done diff --git a/text/FuchsiaCity.asm b/text/FuchsiaCity.asm new file mode 100644 index 00000000..a90d0021 --- /dev/null +++ b/text/FuchsiaCity.asm @@ -0,0 +1,119 @@ +_FuchsiaCityText1:: + text "Did you try the" + line "SAFARI GAME? Some" + cont "#MON can only" + cont "be caught there." + done + +_FuchsiaCityText2:: + text "SAFARI ZONE has a" + line "zoo in front of" + cont "the entrance." + + para "Out back is the" + line "SAFARI GAME for" + cont "catching #MON." + done + +_FuchsiaCityText3:: + text "ERIK: Where's" + line "SARA? I said I'd" + cont "meet her here." + done + +_FuchsiaCityText4:: + text "That item ball in" + line "there is really a" + cont "#MON." + done + +_FuchsiaCityText5:: + text "!" + done + +_FuchsiaCityText11:: + text "FUCHSIA CITY" + line "Behold! It's" + cont "Passion Pink!" + done + +_FuchsiaCityText13:: + text "SAFARI GAME" + line "#MON-U-CATCH!" + done + +_FuchsiaCityText16:: + text "SAFARI ZONE" + line "WARDEN's HOME" + done + +_FuchsiaCityText17:: + text "#MON PARADISE" + line "SAFARI ZONE" + done + +_FuchsiaCityText18:: + text "FUCHSIA CITY" + line "#MON GYM" + cont "LEADER: KOGA" + + para "The Poisonous" + line "Ninja Master" + done + +_FuchsiaCityChanseyText:: + text "Name: CHANSEY" + + para "Catching one is" + line "all up to chance." + prompt + +_FuchsiaCityVoltorbText:: + text "Name: VOLTORB" + + para "The very image of" + line "a # BALL." + prompt + +_FuchsiaCityKangaskhanText:: + text "Name: KANGASKHAN" + + para "A maternal #MON" + line "that raises its" + cont "young in a pouch" + cont "on its belly." + prompt + +_FuchsiaCitySlowpokeText:: + text "Name: SLOWPOKE" + + para "Friendly and very" + line "slow moving." + prompt + +_FuchsiaCityLaprasText:: + text "Name: LAPRAS" + + para "A.K.A. the king" + line "of the seas." + prompt + +_FuchsiaCityOmanyteText:: + text "Name: OMANYTE" + + para "A #MON that" + line "was resurrected" + cont "from a fossil." + prompt + +_FuchsiaCityKabutoText:: + text "Name: KABUTO" + + para "A #MON that" + line "was resurrected" + cont "from a fossil." + prompt + +_FuchsiaCityText_19b2a:: + text "..." + done diff --git a/text/FuchsiaGoodRodHouse.asm b/text/FuchsiaGoodRodHouse.asm new file mode 100644 index 00000000..b1b8b2f2 --- /dev/null +++ b/text/FuchsiaGoodRodHouse.asm @@ -0,0 +1,43 @@ +_FuchsiaHouse3Text_561bd:: + text "I'm the FISHING" + line "GURU's older" + cont "brother!" + + para "I simply Looove" + line "fishing!" + + para "Do you like to" + line "fish?" + done + +_FuchsiaHouse3Text_561c2:: + text "Grand! I like" + line "your style!" + + para "Take this and" + line "fish, young one!" + + para " received" + line "a @" + TX_RAM wcf4b + text "!@@" + +_FuchsiaHouse3Text_56212:: + text "Oh... That's so" + line "disappointing..." + done + +_FuchsiaHouse3Text_56217:: + text "Hello there," + line "!" + + para "How are the fish" + line "biting?" + done + +_FuchsiaHouse3Text_5621c:: + text "Oh no!" + + para "You have no room" + line "for my gift!" + done diff --git a/text/FuchsiaGym.asm b/text/FuchsiaGym.asm new file mode 100644 index 00000000..9108fc79 --- /dev/null +++ b/text/FuchsiaGym.asm @@ -0,0 +1,26 @@ +_KogaBeforeBattleText:: + text "KOGA: Fwahahaha!" + + para "A mere child like" + line "you dares to" + cont "challenge me?" + + para "Very well, I" + line "shall show you" + cont "true terror as a" + cont "ninja master!" + + para "You shall feel" + line "the despair of" + cont "poison and sleep" + cont "techniques!" + done + +_KogaAfterBattleText:: + text "Humph!" + line "You have proven" + cont "your worth!" + + para "Here! Take the" + line "SOULBADGE!" + prompt diff --git a/text/FuchsiaGym_2.asm b/text/FuchsiaGym_2.asm new file mode 100644 index 00000000..f7b39d9c --- /dev/null +++ b/text/FuchsiaGym_2.asm @@ -0,0 +1,193 @@ +_KogaExplainToxicText:: + text "When afflicted by" + line "TOXIC, #MON" + cont "suffer more and" + cont "more as battle" + cont "progresses!" + + para "It will surely" + line "terrorize foes!" + done + +_FuchsiaGymText9:: + text "Now that you have" + line "the SOULBADGE," + cont "the DEFENSE of" + cont "your #MON" + cont "increases!" + + para "It also lets you" + line "SURF outside of" + cont "battle!" + + para "Ah! Take this" + line "too!" + done + +_ReceivedTM06Text:: + text " received" + line "@" + TX_RAM wcf4b + text "!@@" + +_TM06ExplanationText:: + text "" + para "TM06 contains" + line "TOXIC!" + + para "It is a secret" + line "technique over" + cont "400 years old!" + done + +_TM06NoRoomText:: + text "Make space for" + line "this, child!" + done + +_FuchsiaGymBattleText1:: + text "Strength isn't" + line "the key for" + cont "#MON!" + + para "It's strategy!" + + para "I'll show you how" + line "strategy can beat" + cont "brute strength!" + done + +_FuchsiaGymEndBattleText1:: + text "What?" + line "Extraordinary!" + prompt + +_FuchsiaGymAfterBattleText1:: + text "So, you mix brawn" + line "with brains?" + cont "Good strategy!" + done + +_FuchsiaGymBattleText2:: + text "I wanted to become" + line "a ninja, so I" + cont "joined this GYM!" + done + +_FuchsiaGymEndBattleText2:: + text "I'm done" + line "for!" + prompt + +_FuchsiaGymAfterBattleText2:: + text "I will keep on" + line "training under" + cont "KOGA, my ninja" + cont "master!" + done + +_FuchsiaGymBattleText3:: + text "Let's see you" + line "beat my special" + cont "techniques!" + done + +_FuchsiaGymEndBattleText3:: + text "You" + line "had me fooled!" + prompt + +_FuchsiaGymAfterBattleText3:: + text "I like poison and" + line "sleep techniques," + cont "as they linger" + cont "after battle!" + done + +_FuchsiaGymBattleText4:: + text "Stop right there!" + + para "Our invisible" + line "walls have you" + cont "frustrated?" + done + +_FuchsiaGymEndBattleText4:: + text "Whoa!" + line "He's got it!" + prompt + +_FuchsiaGymAfterBattleText4:: + text "You impressed me!" + line "Here's a hint!" + + para "Look very closely" + line "for gaps in the" + cont "invisible walls!" + done + +_FuchsiaGymBattleText5:: + text "I also study the" + line "way of the ninja" + cont "with master KOGA!" + + para "Ninja have a long" + line "history of using" + cont "animals!" + done + +_FuchsiaGymEndBattleText5:: + text "Awoo!" + prompt + +_FuchsiaGymAfterBattleText5:: + text "I still have much" + line "to learn!" + done + +_FuchsiaGymBattleText6:: + text "Master KOGA comes" + line "from a long line" + cont "of ninjas!" + + para "What did you" + line "descend from?" + done + +_FuchsiaGymEndBattleText6:: + text "Dropped" + line "my balls!" + prompt + +_FuchsiaGymAfterBattleText6:: + text "Where there is" + line "light, there is" + cont "shadow!" + + para "Light and shadow!" + line "Which do you" + cont "choose?" + done + +_FuchsiaGymText_7564e:: + text "Yo! Champ in" + line "making!" + + para "FUCHSIA GYM is" + line "riddled with" + cont "invisible walls!" + + para "KOGA might appear" + line "close, but he's" + cont "blocked off!" + + para "You have to find" + line "gaps in the walls" + cont "to reach him!" + done + +_FuchsiaGymText_75653:: + text "It's amazing how" + line "ninja can terrify" + cont "even now!" + done diff --git a/text/FuchsiaMart.asm b/text/FuchsiaMart.asm new file mode 100644 index 00000000..574898ce --- /dev/null +++ b/text/FuchsiaMart.asm @@ -0,0 +1,14 @@ +_FuchsiaMartText2:: + text "Do you have a" + line "SAFARI ZONE flag?" + + para "What about cards" + line "or calendars?" + done + +_FuchsiaMartText3:: + text "Did you try X" + line "SPEED? It speeds" + cont "up a #MON in" + cont "battle!" + done diff --git a/text/FuchsiaMeetingRoom.asm b/text/FuchsiaMeetingRoom.asm new file mode 100644 index 00000000..10675ead --- /dev/null +++ b/text/FuchsiaMeetingRoom.asm @@ -0,0 +1,26 @@ +_FuchsiaMeetingRoomText1:: + text "We nicknamed the" + line "WARDEN SLOWPOKE." + + para "He and SLOWPOKE" + line "both look vacant!" + done + +_FuchsiaMeetingRoomText2:: + text "SLOWPOKE is very" + line "knowledgeable" + cont "about #MON!" + + para "He even has some" + line "fossils of rare," + cont "extinct #MON!" + done + +_FuchsiaMeetingRoomText3:: + text "SLOWPOKE came in," + line "but I couldn't" + cont "understand him." + + para "I think he's got" + line "a speech problem!" + done diff --git a/text/FuchsiaPokecenter.asm b/text/FuchsiaPokecenter.asm new file mode 100644 index 00000000..a0def7eb --- /dev/null +++ b/text/FuchsiaPokecenter.asm @@ -0,0 +1,20 @@ +_FuchsiaPokecenterText1:: + text "You can't win" + line "with just one" + cont "strong #MON." + + para "It's tough, but" + line "you have to raise" + cont "them evenly." + done + +_FuchsiaPokecenterText3:: + text "There's a narrow" + line "trail west of" + cont "VIRIDIAN CITY." + + para "It goes to #MON" + line "LEAGUE HQ." + cont "The HQ governs" + cont "all trainers." + done diff --git a/text/GameCorner.asm b/text/GameCorner.asm new file mode 100644 index 00000000..1e59f83e --- /dev/null +++ b/text/GameCorner.asm @@ -0,0 +1,186 @@ +_CeladonGameCornerText1:: + text "Welcome!" + + para "You can exchange" + line "your coins for" + cont "fabulous prizes" + cont "next door." + done + +_CeladonGameCornerText_48d22:: + text "Welcome to ROCKET" + line "GAME CORNER!" + + para "Do you need some" + line "game coins?" + + para "It's ¥1000 for 50" + line "coins. Would you" + cont "like some?" + done + +_CeladonGameCornerText_48d27:: + text "Thanks! Here are" + line "your 50 coins!" + done + +_CeladonGameCornerText_48d2c:: + text "No? Please come" + line "play sometime!" + done + +_CeladonGameCornerText_48d31:: + text "You can't afford" + line "the coins!" + done + +_CeladonGameCornerText_48d36:: + text "Oops! Your COIN" + line "CASE is full." + done + +_CeladonGameCornerText_48d3b:: + text "You don't have a" + line "COIN CASE!" + done + +_CeladonGameCornerText3:: + text "Keep this quiet." + + para "It's rumored that" + line "this place is run" + cont "by TEAM ROCKET." + done + +_CeladonGameCornerText4:: + text "I think these" + line "machines have" + cont "different odds." + done + +_CeladonGameCornerText_48d9c:: + text "Kid, do you want" + line "to play?" + prompt + +_Received10CoinsText:: + text " received" + line "10 coins!@@" + +_CeladonGameCornerText_48da7:: + text "You don't need my" + line "coins!" + done + +_CeladonGameCornerText_48dac:: + text "Wins seem to come" + line "and go." + done + +_CeladonGameCornerText6:: + text "I'm having a" + line "wonderful time!" + done + +_CeladonGameCornerText_48dca:: + text "Hey!" + + para "You have better" + line "things to do," + cont "champ in making!" + + para "CELADON GYM's" + line "LEADER is ERIKA!" + cont "She uses grass-" + cont "type #MON!" + + para "She might appear" + line "docile, but don't" + cont "be fooled!" + done + +_CeladonGameCornerText_48dcf:: + text "They offer rare" + line "#MON that can" + cont "be exchanged for" + cont "your coins." + + para "But, I just can't" + line "seem to win!" + done + +_CeladonGameCornerText8:: + text "Games are scary!" + line "It's so easy to" + cont "get hooked!" + done + +_CeladonGameCornerText_48e26:: + text "What's up? Want" + line "some coins?" + prompt + +_Received20CoinsText:: + text " received" + line "20 coins!@@" + +_CeladonGameCornerText_48e31:: + text "You have lots of" + line "coins!" + done + +_CeladonGameCornerText_48e36:: + text "Darn! I need more" + line "coins for the" + cont "#MON I want!" + done + +_CeladonGameCornerText_48e88:: + text "Hey, what? You're" + line "throwing me off!" + cont "Here are some" + cont "coins, shoo!" + prompt + +_CeladonGameCornerText_48e8d:: + text " received" + line "20 coins!@@" + +_CeladonGameCornerText_48e93:: + text "You've got your" + line "own coins!" + done + +_CeladonGameCornerText_48e98:: + text "The trick is to" + line "watch the reels" + cont "closely!" + done + +_CeladonGameCornerText_48ece:: + text "I'm guarding this" + line "poster!" + cont "Go away, or else!" + done + +_CeladonGameCornerText_48ed3:: + text "Dang!" + prompt + +_CeladonGameCornerText_48ed8:: + text "Our hideout might" + line "be discovered! I" + cont "better tell BOSS!" + done + +_CeladonGameCornerText_48f09:: + text "Hey!" + + para "A switch behind" + line "the poster!?" + cont "Let's push it!@@" + +_CeladonGameCornerText_48f19:: + text "Oops! Forgot the" + line "COIN CASE!" + done diff --git a/text/GameCornerPrizeRoom.asm b/text/GameCornerPrizeRoom.asm new file mode 100644 index 00000000..6b2bb537 --- /dev/null +++ b/text/GameCornerPrizeRoom.asm @@ -0,0 +1,12 @@ +_CeladonPrizeRoomText1:: + text "I sure do fancy" + line "that PORYGON!" + + para "But, it's hard to" + line "win at slots!" + done + +_CeladonPrizeRoomText2:: + text "I had a major" + line "haul today!" + done diff --git a/text/HallOfFame.asm b/text/HallOfFame.asm new file mode 100644 index 00000000..c799268b --- /dev/null +++ b/text/HallOfFame.asm @@ -0,0 +1,28 @@ +_HallofFameRoomText1:: + text "OAK: Er-hem!" + line "Congratulations" + cont "!" + + para "This floor is the" + line "#MON HALL OF" + cont "FAME!" + + para "#MON LEAGUE" + line "champions are" + cont "honored for their" + cont "exploits here!" + + para "Their #MON are" + line "also recorded in" + cont "the HALL OF FAME!" + + para "! You have" + line "endeavored hard" + cont "to become the new" + cont "LEAGUE champion!" + + para "Congratulations," + line ", you and" + cont "your #MON are" + cont "HALL OF FAMERs!" + done diff --git a/text/IndigoPlateauLobby.asm b/text/IndigoPlateauLobby.asm new file mode 100644 index 00000000..8487e29a --- /dev/null +++ b/text/IndigoPlateauLobby.asm @@ -0,0 +1,25 @@ +_IndigoPlateauLobbyText2:: + text "Yo! Champ in" + line "making!" + + para "At #MON LEAGUE," + line "you have to face" + cont "the ELITE FOUR in" + cont "succession." + + para "If you lose, you" + line "have to start all" + cont "over again! This" + cont "is it! Go for it!" + done + +_IndigoPlateauLobbyText3:: + text "From here on, you" + line "face the ELITE" + cont "FOUR one by one!" + + para "If you win, a" + line "door opens to the" + cont "next trainer!" + cont "Good luck!" + done diff --git a/text/LancesRoom.asm b/text/LancesRoom.asm new file mode 100644 index 00000000..ed3dcada --- /dev/null +++ b/text/LancesRoom.asm @@ -0,0 +1,63 @@ +_LanceBeforeBattleText:: + text "Ah! I heard about" + line "you !" + + para "I lead the ELITE" + line "FOUR! You can" + cont "call me LANCE the" + cont "dragon trainer!" + + para "You know that" + line "dragons are" + cont "mythical #MON!" + + para "They're hard to" + line "catch and raise," + cont "but their powers" + cont "are superior!" + + para "They're virtually" + line "indestructible!" + + para "Well, are you" + line "ready to lose?" + + para "Your LEAGUE" + line "challenge ends" + cont "with me, !" + done + +_LanceEndBattleText:: + text "That's it!" + + para "I hate to admit" + line "it, but you are a" + cont "#MON master!" + prompt + +_LanceAfterBattleText:: + text "I still can't" + line "believe my" + cont "dragons lost to" + cont "you, !" + + para "You are now the" + line "#MON LEAGUE" + cont "champion!" + + para "...Or, you would" + line "have been, but" + cont "you have one more" + cont "challenge ahead." + + para "You have to face" + line "another trainer!" + cont "His name is..." + + para "!" + line "He beat the ELITE" + cont "FOUR before you!" + + para "He is the real" + line "#MON LEAGUE" + cont "champion!@@" diff --git a/text/LavenderCuboneHouse.asm b/text/LavenderCuboneHouse.asm new file mode 100644 index 00000000..66cc85a5 --- /dev/null +++ b/text/LavenderCuboneHouse.asm @@ -0,0 +1,24 @@ +_LavenderHouse2Text1:: + text "CUBONE: Kyarugoo!@@" + +_LavenderHouse2Text_1d9dc:: + text "I hate those" + line "horrible ROCKETs!" + + para "That poor CUBONE's" + line "mother..." + + para "It was killed" + line "trying to escape" + cont "from TEAM ROCKET!" + done + +_LavenderHouse2Text_1d9e1:: + text "The GHOST of" + line "#MON TOWER is" + cont "gone!" + + para "Someone must have" + line "soothed its" + cont "restless soul!" + done diff --git a/text/LavenderMart.asm b/text/LavenderMart.asm new file mode 100644 index 00000000..222712c6 --- /dev/null +++ b/text/LavenderMart.asm @@ -0,0 +1,30 @@ +_LavenderMartText2:: + text "I'm searching for" + line "items that raise" + cont "the abilities of" + cont "#MON during a" + cont "single battle." + + para "X ATTACK, X" + line "DEFEND, X SPEED" + cont "and X SPECIAL are" + cont "what I'm after." + + para "Do you know where" + line "I can get them?" + done + +_LavenderMartReviveText:: + text "You know REVIVE?" + line "It revives any" + cont "fainted #MON!" + done + +_LavenderMartNuggetText:: + text "I found a NUGGET" + line "in the mountains." + + para "I thought it was" + line "useless, but it" + cont "sold for ¥5000!" + done diff --git a/text/LavenderPokecenter.asm b/text/LavenderPokecenter.asm new file mode 100644 index 00000000..3aa7b67d --- /dev/null +++ b/text/LavenderPokecenter.asm @@ -0,0 +1,12 @@ +_LavenderPokecenterText2:: + text "TEAM ROCKET will" + line "do anything for" + cont "the sake of gold!" + done + +_LavenderPokecenterText3:: + text "I saw CUBONE's" + line "mother die trying" + cont "to escape from" + cont "TEAM ROCKET!" + done diff --git a/text/LavenderTown.asm b/text/LavenderTown.asm new file mode 100644 index 00000000..19b6c8c8 --- /dev/null +++ b/text/LavenderTown.asm @@ -0,0 +1,64 @@ +_LavenderTownText_4413c:: + text "Do you believe in" + line "GHOSTs?" + done + +_LavenderTownText_44141:: + text "Really? So there" + line "are believers..." + done + +_LavenderTownText_44146:: + text "Hahaha, I guess" + line "not." + + para "That white hand" + line "on your shoulder," + cont "it's not real." + done + +_LavenderTownText2:: + text "This town is known" + line "as the grave site" + cont "of #MON." + + para "Memorial services" + line "are held in" + cont "#MON TOWER." + done + +_LavenderTownText3:: + text "GHOSTs appeared" + line "in #MON TOWER." + + para "I think they're" + line "the spirits of" + cont "#MON that the" + cont "ROCKETs killed." + done + +_LavenderTownText4:: + text "LAVENDER TOWN" + line "The Noble Purple" + cont "Town" + done + +_LavenderTownText5:: + text "New SILPH SCOPE!" + + para "Make the Invisible" + line "Plain to See!" + + para "SILPH CO." + done + +_LavenderTownText8:: + text "LAVENDER VOLUNTEER" + line "#MON HOUSE" + done + +_LavenderTownText9:: + text "May the Souls of" + line "#MON Rest Easy" + cont "#MON TOWER" + done diff --git a/text/LoreleisRoom.asm b/text/LoreleisRoom.asm new file mode 100644 index 00000000..fdbb55b4 --- /dev/null +++ b/text/LoreleisRoom.asm @@ -0,0 +1,42 @@ +_LoreleiBeforeBattleText:: + text "Welcome to" + line "#MON LEAGUE!" + + para "I am LORELEI of" + line "the ELITE FOUR!" + + para "No one can best" + line "me when it comes" + cont "to icy #MON!" + + para "Freezing moves" + line "are powerful!" + + para "Your #MON will" + line "be at my mercy" + cont "when they are" + cont "frozen solid!" + + para "Hahaha!" + line "Are you ready?" + done + +_LoreleiEndBattleText:: + text "How" + line "dare you!" + prompt + +_LoreleiAfterBattleText:: + text "You're better" + line "than I thought!" + cont "Go on ahead!" + + para "You only got a" + line "taste of #MON" + cont "LEAGUE power!" + done + +_LoreleiDontRunAwayText:: + text "Someone's voice:" + line "Don't run away!" + done diff --git a/text/MrFujisHouse.asm b/text/MrFujisHouse.asm new file mode 100644 index 00000000..f903eb6a --- /dev/null +++ b/text/MrFujisHouse.asm @@ -0,0 +1,86 @@ +_LavenderHouse1Text_1d8d1:: + text "That's odd, MR.FUJI" + line "isn't here." + cont "Where'd he go?" + done + +_LavenderHouse1Text_1d8d6:: + text "MR.FUJI had been" + line "praying alone for" + cont "CUBONE's mother." + done + +_LavenderHouse1Text_1d8f4:: + text "This is really" + line "MR.FUJI's house." + + para "He's really kind!" + + para "He looks after" + line "abandoned and" + cont "orphaned #MON!" + done + +_LavenderHouse1Text_1d8f9:: + text "It's so warm!" + line "#MON are so" + cont "nice to hug!" + done + +_LavenderHouse1Text3:: + text "PSYDUCK: Gwappa!@@" + +_LavenderHouse1Text4:: + text "NIDORINO: Gaoo!@@" + +_LavenderHouse1Text_1d94c:: + text "MR.FUJI: ." + + para "Your #DEX quest" + line "may fail without" + cont "love for your" + cont "#MON." + + para "I think this may" + line "help your quest." + prompt + +_ReceivedFluteText:: + text " received" + line "a @" + TX_RAM wcf4b + text "!@@" + +_FluteExplanationText:: + text "" + + para "Upon hearing #" + line "FLUTE, sleeping" + cont "#MON will" + cont "spring awake." + + para "It works on all" + line "sleeping #MON." + done + +_FluteNoRoomText:: + text "You must make" + line "room for this!" + done + +_MrFujiAfterFluteText:: + text "MR.FUJI: Has my" + line "FLUTE helped you?" + done + +_LavenderHouse1Text6:: + text "#MON Monthly" + line "Grand Prize" + cont "Drawing!" + + para "The application" + line "form is..." + + para "Gone! It's been" + line "clipped out!" + done diff --git a/text/MrPsychicsHouse.asm b/text/MrPsychicsHouse.asm new file mode 100644 index 00000000..7be2e11e --- /dev/null +++ b/text/MrPsychicsHouse.asm @@ -0,0 +1,25 @@ +_TM29PreReceiveText:: + text "...Wait! Don't" + line "say a word!" + + para "You wanted this!" + prompt + +_ReceivedTM29Text:: + text " received" + line "@" + TX_RAM wcf4b + text "!@@" + +_TM29ExplanationText:: + text "TM29 is PSYCHIC!" + + para "It can lower the" + line "target's SPECIAL" + cont "abilities." + done + +_TM29NoRoomText:: + text "Where do you plan" + line "to put this?" + done diff --git a/text/MtMoon1F.asm b/text/MtMoon1F.asm new file mode 100644 index 00000000..761a5240 --- /dev/null +++ b/text/MtMoon1F.asm @@ -0,0 +1,119 @@ +_MtMoon1BattleText2:: + text "WHOA! You shocked" + line "me! Oh, you're" + cont "just a kid!" + done + +_MtMoon1EndBattleText2:: + text "Wow!" + line "Shocked again!" + prompt + +_MtMoon1AfterBattleText2:: + text "Kids like you" + line "shouldn't be" + cont "here!" + done + +_MtMoon1BattleText3:: + text "Did you come to" + line "explore too?" + done + +_MtMoon1EndBattleText3:: + text "Losing" + line "stinks!" + prompt + +_MtMoon1AfterBattleText3:: + text "I came down here" + line "to show off to" + cont "girls." + done + +_MtMoon1BattleText4:: + text "Wow! It's way" + line "bigger in here" + cont "than I thought!" + done + +_MtMoon1EndBattleText4:: + text "Oh!" + line "I lost it!" + prompt + +_MtMoon1AfterBattleText4:: + text "How do you get" + line "out of here?" + done + +_MtMoon1BattleText5:: + text "What! Don't sneak" + line "up on me!" + done + +_MtMoon1EndBattleText5:: + text "My" + line "#MON won't do!" + prompt + +_MtMoon1AfterBattleText5:: + text "I have to find" + line "stronger #MON." + done + +_MtMoon1BattleText6:: + text "What? I'm waiting" + line "for my friends to" + cont "find me here." + done + +_MtMoon1EndBattleText6:: + text "I lost?" + prompt + +_MtMoon1AfterBattleText6:: + text "I heard there are" + line "some very rare" + cont "fossils here." + done + +_MtMoon1BattleText7:: + text "Suspicious men" + line "are in the cave." + cont "What about you?" + done + +_MtMoon1EndBattleText7:: + text "You" + line "got me!" + prompt + +_MtMoon1AfterBattleText7:: + text "I saw them! I'm" + line "sure they're from" + cont "TEAM ROCKET!" + done + +_MtMoon1BattleText8:: + text "Go through this" + line "cave to get to" + cont "CERULEAN CITY!" + done + +_MtMoon1EndBattleText8:: + text "I" + line "lost." + prompt + +_MtMoon1AfterBattleText8:: + text "ZUBAT is tough!" + line "But, it can be" + cont "useful if you" + cont "catch one." + done + +_MtMoon1Text14:: + text "Beware! ZUBAT is" + line "a blood sucker!" + done diff --git a/text/MtMoonB1F.asm b/text/MtMoonB1F.asm new file mode 100644 index 00000000..755fa583 --- /dev/null +++ b/text/MtMoonB1F.asm @@ -0,0 +1,3 @@ +_MtMoonText1:: + text "" + done diff --git a/text/MtMoonB2F.asm b/text/MtMoonB2F.asm new file mode 100644 index 00000000..472649b9 --- /dev/null +++ b/text/MtMoonB2F.asm @@ -0,0 +1,122 @@ +_MtMoon3Text_49f24:: + text "You want the" + line "DOME FOSSIL?" + done + +_MtMoon3Text_49f64:: + text "You want the" + line "HELIX FOSSIL?" + done + +_MtMoon3Text_49f6f:: + text " got the" + line "@" + TX_RAM wcf4b + text "!@@" + +_MtMoon3Text_49f7f:: + text "Look, you've got" + line "no room for this.@@" + +_MtMoon3Text_49f85:: + text "Hey, stop!" + + para "I found these" + line "fossils! They're" + cont "both mine!" + done + +_MtMoon3Text_49f8a:: + text "OK!" + line "I'll share!" + prompt + +_MtMoon3Text_49f8f:: + text "We'll each take" + line "one!" + cont "No being greedy!" + done + +_MtMoon3Text_49f94:: + text "Far away, on" + line "CINNABAR ISLAND," + cont "there's a #MON" + cont "LAB." + + para "They do research" + line "on regenerating" + cont "fossils." + done + +_MtMoon3Text_49f99:: + text "All right. Then" + line "this is mine!@@" + +_MtMoon3BattleText2:: + text "TEAM ROCKET will" + line "find the fossils," + cont "revive and sell" + cont "them for cash!" + done + +_MtMoon3EndBattleText2:: + text "Urgh!" + line "Now I'm mad!" + prompt + +_MtMoon3AfterBattleText2:: + text "You made me mad!" + line "TEAM ROCKET will" + cont "blacklist you!" + done + +_MtMoon3BattleText3:: + text "We, TEAM ROCKET," + line "are #MON" + cont "gangsters!" + done + +_MtMoon3EndBattleText3:: + text "I blew" + line "it!" + prompt + +_MtMoon3AfterBattleText3:: + text "Darn it all! My" + line "associates won't" + cont "stand for this!" + done + +_MtMoon3BattleText4:: + text "We're pulling a" + line "big job here!" + cont "Get lost, kid!" + done + +_MtMoon3EndBattleText4:: + text "So, you" + line "are good." + prompt + +_MtMoon3AfterBattleText4:: + text "If you find a" + line "fossil, give it" + cont "to me and scram!" + done + +_MtMoon3BattleText5:: + text "Little kids" + line "should leave" + cont "grown-ups alone!" + done + +_MtMoon3EndBattleText5:: + text "I'm" + line "steamed!" + prompt + +_MtMoon3AfterBattleText5:: + text "#MON lived" + line "here long before" + cont "people came." + done diff --git a/text/MtMoonPokecenter.asm b/text/MtMoonPokecenter.asm new file mode 100644 index 00000000..7bc99dae --- /dev/null +++ b/text/MtMoonPokecenter.asm @@ -0,0 +1,48 @@ +_MtMoonPokecenterText1:: + text "I've 6 # BALLs" + line "set in my belt." + + para "At most, you can" + line "carry 6 #MON." + done + +_MtMoonPokecenterText3:: + text "TEAM ROCKET" + line "attacks CERULEAN" + cont "citizens..." + + para "TEAM ROCKET is" + line "always in the" + cont "news!" + done + +_MagikarpSalesmanText1:: + text "MAN: Hello, there!" + line "Have I got a deal" + cont "just for you!" + + para "I'll let you have" + line "a swell MAGIKARP" + cont "for just ¥500!" + cont "What do you say?" + done + +_MagikarpSalesmanNoText:: + text "No? I'm only" + line "doing this as a" + cont "favor to you!" + done + +_MagikarpSalesmanNoMoneyText:: + text "You'll need more" + line "money than that!" + done + +_MagikarpSalesmanText2:: + text "MAN: Well, I don't" + line "give refunds!" + done + +_MtMoonPokecenterText5:: + text "" + done diff --git a/text/Museum1F.asm b/text/Museum1F.asm new file mode 100644 index 00000000..16431bda --- /dev/null +++ b/text/Museum1F.asm @@ -0,0 +1,107 @@ +_Museum1FText_5c21a:: + text "Come again!" + done + +_Museum1FText_5c21f:: + text "It's ¥50 for a" + line "child's ticket." + + para "Would you like to" + line "come in?" + done + +_Museum1FText_5c224:: + text "Right, ¥50!" + line "Thank you!" + done + +_Museum1FText_5c229:: + text "You don't have" + line "enough money." + prompt + +_Museum1FText_5c22e:: + text "You can't sneak" + line "in the back way!" + + para "Oh, whatever!" + line "Do you know what" + cont "AMBER is?" + done + +_Museum1FText_5c233:: + text "There's a lab" + line "somewhere trying" + cont "to resurrect" + cont "ancient #MON" + cont "from AMBER." + done + +_Museum1FText_5c238:: + text "AMBER is fossil-" + line "ized tree sap." + done + +_Museum1FText_5c23d:: + text "Please go to the" + line "other side!" + done + +_Museum1FText_5c242:: + text "Take plenty of" + line "time to look!" + done + +_Museum1FText_5c251:: + text "That is one" + line "magnificent" + cont "fossil!" + done + +_Museum1FText_5c28e:: + text "Ssh! I think that" + line "this chunk of" + cont "AMBER contains" + cont "#MON DNA!" + + para "It would be great" + line "if #MON could" + cont "be resurrected" + cont "from it!" + + para "But, my colleagues" + line "just ignore me!" + + para "So I have a favor" + line "to ask!" + + para "Take this to a" + line "#MON LAB and" + cont "get it examined!" + prompt + +_ReceivedOldAmberText:: + text " received" + line "OLD AMBER!@@" + +_Museum1FText_5c299:: + text "Ssh! Get the OLD" + line "AMBER checked!" + done + +_Museum1FText_5c29e:: + text "You don't have" + line "space for this!" + done + +_Museum1FText_5c2ad:: + text "We are proud of 2" + line "fossils of very" + cont "rare, prehistoric" + cont "#MON!" + done + +_Museum1FText_5c2bc:: + text "The AMBER is" + line "clear and gold!" + done diff --git a/text/Museum2F.asm b/text/Museum2F.asm new file mode 100644 index 00000000..4f34a249 --- /dev/null +++ b/text/Museum2F.asm @@ -0,0 +1,45 @@ +_Museum2FText1:: + text "MOON STONE?" + + para "What's so special" + line "about it?" + done + +_Museum2FText2:: + text "July 20, 1969!" + + para "The 1st lunar" + line "landing!" + + para "I bought a color" + line "TV to watch it!" + done + +_Museum2FText3:: + text "We have a space" + line "exhibit now." + done + +_Museum2FText4:: + text "I want a PIKACHU!" + line "It's so cute!" + + para "I asked my Daddy" + line "to catch me one!" + done + +_Museum2FText5:: + text "Yeah, a PIKACHU" + line "soon, I promise!" + done + +_Museum2FText6:: + text "SPACE SHUTTLE" + line "COLUMBIA" + done + +_Museum2FText7:: + text "Meteorite that" + line "fell on MT.MOON." + cont "(MOON STONE?)" + done diff --git a/text/NameRatersHouse.asm b/text/NameRatersHouse.asm new file mode 100644 index 00000000..65d3e8a4 --- /dev/null +++ b/text/NameRatersHouse.asm @@ -0,0 +1,60 @@ +_NameRaterText_1dab3:: + text "Hello, hello!" + line "I am the official" + cont "NAME RATER!" + + para "Want me to rate" + line "the nicknames of" + cont "your #MON?" + done + +_NameRaterText_1dab8:: + text "Which #MON" + line "should I look at?" + prompt + +_NameRaterText_1dabd:: + TX_RAM wcd6d + text ", is it?" + line "That is a decent" + cont "nickname!" + + para "But, would you" + line "like me to give" + cont "it a nicer name?" + + para "How about it?" + done + +_NameRaterText_1dac2:: + text "Fine! What should" + line "we name it?" + prompt + +_NameRaterText_1dac7:: + text "OK! This #MON" + line "has been renamed" + cont "@" + TX_RAM wBuffer + text "!" + + para "That's a better" + line "name than before!" + done + +_NameRaterText_1dacc:: + text "Fine! Come any" + line "time you like!" + done + +_NameRaterText_1dad1:: + TX_RAM wcd6d + text ", is it?" + line "That is a truly" + cont "impeccable name!" + + para "Take good care of" + line "@" + TX_RAM wcd6d + text "!" + done diff --git a/text/OaksLab.asm b/text/OaksLab.asm new file mode 100644 index 00000000..7a6f57b7 --- /dev/null +++ b/text/OaksLab.asm @@ -0,0 +1,477 @@ +_OaksLabGaryText1:: + text ": Yo" + line "! Gramps" + cont "isn't around!" + done + +_OaksLabText40:: + text ": Heh, I" + line "don't need to be" + cont "greedy like you!" + + para "Go ahead and" + line "choose, !" + done + +_OaksLabText41:: + text ": My" + line "#MON looks a" + cont "lot stronger." + done + +_OaksLabText39:: + text "Those are #" + line "BALLs. They" + cont "contain #MON!" + done + +_OaksLabCharmanderText:: + text "So! You want the" + line "fire #MON," + cont "CHARMANDER?" + done + +_OaksLabSquirtleText:: + text "So! You want the" + line "water #MON," + cont "SQUIRTLE?" + done + +_OaksLabBulbasaurText:: + text "So! You want the" + line "plant #MON," + cont "BULBASAUR?" + done + +_OaksLabMonEnergeticText:: + text "This #MON is" + line "really energetic!" + prompt + +_OaksLabReceivedMonText:: + text " received" + line "a @" + TX_RAM wcd6d + text "!@@" + +_OaksLabLastMonText:: + text "That's PROF.OAK's" + line "last #MON!" + done + +_OaksLabText_1d2f0:: + text "OAK: Now, ," + line "which #MON do" + cont "you want?" + done + +_OaksLabText_1d2f5:: + text "OAK: If a wild" + line "#MON appears," + cont "your #MON can" + cont "fight against it!" + done + +_OaksLabText_1d2fa:: + text "OAK: ," + line "raise your young" + cont "#MON by making" + cont "it fight!" + done + +_OaksLabDeliverParcelText1:: + text "OAK: Oh, !" + + para "How is my old" + line "#MON?" + + para "Well, it seems to" + line "like you a lot." + + para "You must be" + line "talented as a" + cont "#MON trainer!" + + para "What? You have" + line "something for me?" + + para " delivered" + line "OAK's PARCEL.@@" + +_OaksLabDeliverParcelText2:: + text "" + para "Ah! This is the" + line "custom # BALL" + cont "I ordered!" + cont "Thank you!" + done + +_OaksLabAroundWorldText:: + text "#MON around the" + line "world wait for" + cont "you, !" + done + +_OaksLabGivePokeballsText1:: + text "OAK: You can't get" + line "detailed data on" + cont "#MON by just" + cont "seeing them." + + para "You must catch" + line "them! Use these" + cont "to capture wild" + cont "#MON." + + para " got 5" + line "# BALLs!@@" + +_OaksLabGivePokeballsText2:: + text "" + para "When a wild" + line "#MON appears," + cont "it's fair game." + + para "Just throw a #" + line "BALL at it and try" + line "to catch it!" + + para "This won't always" + line "work, though." + + para "A healthy #MON" + line "could escape. You" + cont "have to be lucky!" + done + +_OaksLabPleaseVisitText:: + text "OAK: Come see me" + line "sometimes." + + para "I want to know how" + line "your #DEX is" + cont "coming along." + done + +_OaksLabText_1d31d:: + text "OAK: Good to see " + line "you! How is your " + cont "#DEX coming? " + cont "Here, let me take" + cont "a look!" + prompt + +_OaksLabText_1d32c:: + text "It's encyclopedia-" + line "like, but the" + cont "pages are blank!" + done + +_OaksLabText8:: + text "?" + done + +_OaksLabText_1d340:: + text "PROF.OAK is the" + line "authority on" + cont "#MON!" + + para "Many #MON" + line "trainers hold him" + cont "in high regard!" + done + +_OaksLabRivalWaitingText:: + text ": Gramps!" + line "I'm fed up with" + cont "waiting!" + done + +_OaksLabChooseMonText:: + text "OAK: ?" + line "Let me think..." + + para "Oh, that's right," + line "I told you to" + cont "come! Just wait!" + + para "Here, !" + + para "There are 3" + line "#MON here!" + + para "Haha!" + + para "They are inside" + line "the # BALLs." + + para "When I was young," + line "I was a serious" + cont "#MON trainer!" + + para "In my old age, I" + line "have only 3 left," + cont "but you can have" + cont "one! Choose!" + done + +_OaksLabRivalInterjectionText:: + text ": Hey!" + line "Gramps! What" + cont "about me?" + done + +_OaksLabBePatientText:: + text "OAK: Be patient!" + line ", you can" + cont "have one too!" + done + +_OaksLabLeavingText:: + text "OAK: Hey! Don't go" + line "away yet!" + done + +_OaksLabRivalPickingMonText:: + text ": I'll take" + line "this one, then!" + done + +_OaksLabRivalReceivedMonText:: + text " received" + line "a @" + TX_RAM wcd6d + text "!@@" + +_OaksLabRivalChallengeText:: + text ": Wait" + line "!" + cont "Let's check out" + cont "our #MON!" + + para "Come on, I'll take" + line "you on!" + done + +_OaksLabText_1d3be:: + text "WHAT?" + line "Unbelievable!" + cont "I picked the" + cont "wrong #MON!" + prompt + +_OaksLabText_1d3c3:: + text ": Yeah! Am" + line "I great or what?" + prompt + +_OaksLabRivalToughenUpText:: + text ": Okay!" + line "I'll make my" + cont "#MON fight to" + cont "toughen it up!" + + para "! Gramps!" + line "Smell you later!" + done + +_OaksLabText21:: + text ": Gramps!" + done + +_OaksLabText22:: + text ": What did" + line "you call me for?" + done + +_OaksLabText23:: + text "OAK: Oh right! I" + line "have a request" + cont "of you two." + done + +_OaksLabText24:: + text "On the desk there" + line "is my invention," + cont "#DEX!" + + para "It automatically" + line "records data on" + cont "#MON you've" + cont "seen or caught!" + + para "It's a hi-tech" + line "encyclopedia!" + done + +_OaksLabText25:: + text "OAK: and" + line "! Take" + cont "these with you!" + + para " got" + line "#DEX from OAK!@@" + +_OaksLabText26:: + text "To make a complete" + line "guide on all the" + cont "#MON in the" + cont "world..." + + para "That was my dream!" + + para "But, I'm too old!" + line "I can't do it!" + + para "So, I want you two" + line "to fulfill my" + cont "dream for me!" + + para "Get moving, you" + line "two!" + + para "This is a great" + line "undertaking in" + cont "#MON history!" + done + +_OaksLabText27:: + text ": Alright" + line "Gramps! Leave it" + cont "all to me!" + + para ", I hate to" + line "say it, but I" + cont "don't need you!" + + para "I know! I'll" + line "borrow a TOWN MAP" + cont "from my sis!" + + para "I'll tell her not" + line "to lend you one," + cont "! Hahaha!" + done + +_OaksLabText_1d405:: + text "I study #MON as" + line "PROF.OAK's AIDE." + done + +_OaksLabText_441cc:: + text "#DEX comp-" + line "letion is:" + + para "@" + TX_NUM hDexRatingNumMonsSeen, 1, 3 + text " #MON seen" + line "@" + TX_NUM hDexRatingNumMonsOwned, 1, 3 + text " #MON owned" + + para "PROF.OAK's" + line "Rating:" + prompt + +_OaksLabText_44201:: + text "You still have" + line "lots to do." + cont "Look for #MON" + cont "in grassy areas!" + done + +_OaksLabText_44206:: + text "You're on the" + line "right track! " + cont "Get a FLASH HM" + cont "from my AIDE!" + done + +_OaksLabText_4420b:: + text "You still need" + line "more #MON!" + cont "Try to catch" + cont "other species!" + done + +_OaksLabText_44210:: + text "Good, you're" + line "trying hard!" + cont "Get an ITEMFINDER" + cont "from my AIDE!" + done + +_OaksLabText_44215:: + text "Looking good!" + line "Go find my AIDE" + cont "when you get 50!" + done + +_OaksLabText_4421a:: + text "You finally got at" + line "least 50 species!" + cont "Be sure to get" + cont "EXP.ALL from my" + cont "AIDE!" + done + +_OaksLabText_4421f:: + text "Ho! This is geting" + line "even better!" + done + +_OaksLabText_44224:: + text "Very good!" + line "Go fish for some" + cont "marine #MON!" + done + +_OaksLabText_44229:: + text "Wonderful!" + line "Do you like to" + cont "collect things?" + done + +_OaksLabText_4422e:: + text "I'm impressed!" + line "It must have been" + cont "difficult to do!" + done + +_OaksLabText_44233:: + text "You finally got at" + line "least 100 species!" + cont "I can't believe" + cont "how good you are!" + done + +_OaksLabText_44238:: + text "You even have the" + line "evolved forms of" + cont "#MON! Super!" + done + +_OaksLabText_4423d:: + text "Excellent! Trade" + line "with friends to" + cont "get some more!" + done + +_OaksLabText_44242:: + text "Outstanding!" + line "You've become a" + cont "real pro at this!" + done + +_OaksLabText_44247:: + text "I have nothing" + line "left to say!" + cont "You're the" + cont "authority now!" + done + +_OaksLabText_4424c:: + text "Your #DEX is" + line "entirely complete!" + cont "Congratulations!" + done diff --git a/text/PalletTown.asm b/text/PalletTown.asm new file mode 100644 index 00000000..d5eda74f --- /dev/null +++ b/text/PalletTown.asm @@ -0,0 +1,55 @@ +_OakAppearsText:: + text "OAK: Hey! Wait!" + line "Don't go out!@@" + +_OakWalksUpText:: + text "OAK: It's unsafe!" + line "Wild #MON live" + cont "in tall grass!" + + para "You need your own" + line "#MON for your" + cont "protection." + cont "I know!" + + para "Here, come with" + line "me!" + done + +_PalletTownText2:: + text "I'm raising" + line "#MON too!" + + para "When they get" + line "strong, they can" + cont "protect me!" + done + +_PalletTownText3:: + text "Technology is" + line "incredible!" + + para "You can now store" + line "and recall items" + cont "and #MON as" + cont "data via PC!" + done + +_PalletTownText4:: + text "OAK #MON" + line "RESEARCH LAB" + done + +_PalletTownText5:: + text "PALLET TOWN" + line "Shades of your" + cont "journey await!" + done + +_PalletTownText6:: + text "'s house " + done + +_PalletTownText7:: + text "'s house " + done diff --git a/text/PewterCity.asm b/text/PewterCity.asm new file mode 100644 index 00000000..14240c9e --- /dev/null +++ b/text/PewterCity.asm @@ -0,0 +1,117 @@ +_PewterCityText1:: + text "It's rumored that" + line "CLEFAIRYs came" + cont "from the moon!" + + para "They appeared " + line "after MOON STONE" + cont "fell on MT.MOON." + done + +_PewterCityText2:: + text "There aren't many" + line "serious #MON" + cont "trainers here!" + + para "They're all like" + line "BUG CATCHERs," + cont "but PEWTER GYM's" + cont "BROCK is totally" + cont "into it!" + done + +_PewterCityText_193f1:: + text "Did you check out" + line "the MUSEUM?" + done + +_PewterCityText_193f6:: + text "Weren't those" + line "fossils from MT." + cont "MOON amazing?" + done + +_PewterCityText_193fb:: + text "Really?" + line "You absolutely" + cont "have to go!" + done + +_PewterCityText13:: + text "It's right here!" + line "You have to pay" + cont "to get in, but" + cont "it's worth it!" + cont "See you around!" + done + +_PewterCityText_19427:: + text "Psssst!" + line "Do you know what" + cont "I'm doing?" + done + +_PewterCityText_1942c:: + text "That's right!" + line "It's hard work!" + done + +_PewterCityText_19431:: + text "I'm spraying REPEL" + line "to keep #MON" + cont "out of my garden!" + done + +_PewterCityText_1945d:: + text "You're a trainer" + line "right? BROCK's" + cont "looking for new" + cont "challengers!" + cont "Follow me!" + done + +_PewterCityText14:: + text "If you have the" + line "right stuff, go" + cont "take on BROCK!" + done + +_PewterCityText6:: + text "TRAINER TIPS" + + para "Any #MON that" + line "takes part in" + cont "battle, however" + cont "short, earns EXP!" + done + +_PewterCityText7:: + text "NOTICE!" + + para "Thieves have been" + line "stealing #MON" + cont "fossils at MT." + cont "MOON! Please call" + cont "PEWTER POLICE" + cont "with any info!" + done + +_PewterCityText10:: + text "PEWTER MUSEUM" + line "OF SCIENCE" + done + +_PewterCityText11:: + text "PEWTER CITY" + line "#MON GYM" + cont "LEADER: BROCK" + + para "The Rock Solid" + line "#MON Trainer!" + done + +_PewterCityText12:: + text "PEWTER CITY" + line "A Stone Gray" + cont "City" + done diff --git a/text/PewterGym.asm b/text/PewterGym.asm new file mode 100644 index 00000000..6426dd72 --- /dev/null +++ b/text/PewterGym.asm @@ -0,0 +1,18 @@ +_PewterGymText_5c49e:: + text "I'm BROCK!" + line "I'm PEWTER's GYM" + cont "LEADER!" + + para "I believe in rock" + line "hard defense and" + cont "determination!" + + para "That's why my" + line "#MON are all" + cont "the rock-type!" + + para "Do you still want" + line "to challenge me?" + cont "Fine then! Show" + cont "me your best!" + done diff --git a/text/PewterGym_2.asm b/text/PewterGym_2.asm new file mode 100644 index 00000000..5312e4f2 --- /dev/null +++ b/text/PewterGym_2.asm @@ -0,0 +1,144 @@ +_PewterGymText_5c4a3:: + text "There are all" + line "kinds of trainers" + cont "in the world!" + + para "You appear to be" + line "very gifted as a" + cont "#MON trainer!" + + para "Go to the GYM in" + line "CERULEAN and test" + cont "your abilities!" + done + +_TM34PreReceiveText:: + text "Wait! Take this" + line "with you!" + done + +_ReceivedTM34Text:: + text " received" + line "TM34!@@" + +_TM34ExplanationText:: + text "" + + para "A TM contains a" + line "technique that" + cont "can be taught to" + cont "#MON!" + + para "A TM is good only" + line "once! So when you" + cont "use one to teach" + cont "a new technique," + cont "pick the #MON" + cont "carefully!" + + para "TM34 contains" + line "BIDE!" + + para "Your #MON will" + line "absorb damage in" + cont "battle then pay" + cont "it back double!" + done + +_TM34NoRoomText:: + text "You don't have" + line "room for this!" + done + +_PewterGymText_5c4bc:: + text "I took" + line "you for granted." + + para "As proof of your" + line "victory, here's" + cont "the BOULDERBADGE!" + + para " received" + line "the BOULDERBADGE!@@" + +_PewterGymText_5c4c1:: + text "" + + para "That's an official" + line "#MON LEAGUE" + cont "BADGE!" + + para "Its bearer's" + line "#MON become" + cont "more powerful!" + + para "The technique" + line "FLASH can now be" + cont "used any time!" + prompt + +_PewterGymBattleText1:: + text "Stop right there," + line "kid!" + + para "You're still light" + line "years from facing" + cont "BROCK!" + done + +_PewterGymEndBattleText1:: + text "Darn!" + + para "Light years isn't" + line "time! It measures" + cont "distance!" + prompt + +_PewterGymAfterBattleText1:: + text "You're pretty hot," + line "but not as hot" + cont "as BROCK!" + done + +_PewterGymText_5c515:: + text "Hiya! I can tell" + line "you have what it" + cont "takes to become a" + cont "#MON champ!" + + para "I'm no trainer," + line "but I can tell" + cont "you how to win!" + + para "Let me take you" + line "to the top!" + done + +_PewterGymText_5c51a:: + text "All right! Let's" + line "get happening!" + prompt + +_PewterGymText_5c51f:: + text "The 1st #MON" + line "out in a match is" + cont "at the top of the" + cont "#MON LIST!" + + para "By changing the" + line "order of #MON," + cont "matches could be" + cont "made easier!" + done + +_PewterGymText_5c524:: + text "It's a free" + line "service! Let's" + cont "get happening!" + prompt + +_PewterGymText_5c529:: + text "Just as I thought!" + line "You're #MON" + cont "champ material!" + done diff --git a/text/PewterMart.asm b/text/PewterMart.asm new file mode 100644 index 00000000..0d5b07a2 --- /dev/null +++ b/text/PewterMart.asm @@ -0,0 +1,17 @@ +_PewterMartText2:: + text "A shady, old man" + line "got me to buy" + cont "this really weird" + cont "fish #MON!" + + para "It's totally weak" + line "and it cost ¥500!" + done + +_PewterMartText3:: + text "Good things can" + line "happen if you" + cont "raise #MON" + cont "diligently, even" + cont "the weak ones!" + done diff --git a/text/PewterNidoranHouse.asm b/text/PewterNidoranHouse.asm new file mode 100644 index 00000000..450e8372 --- /dev/null +++ b/text/PewterNidoranHouse.asm @@ -0,0 +1,24 @@ +_PewterHouse1Text1:: + text "NIDORAN: Bowbow!@@" + +_PewterHouse1Text2:: + text "NIDORAN sit!" + done + +_PewterHouse1Text3:: + text "Our #MON's an" + line "outsider, so it's" + cont "hard to handle." + + para "An outsider is a" + line "#MON that you" + cont "get in a trade." + + para "It grows fast, but" + line "it may ignore an" + cont "unskilled trainer" + cont "in battle!" + + para "If only we had" + line "some BADGEs..." + done diff --git a/text/PewterPokecenter.asm b/text/PewterPokecenter.asm new file mode 100644 index 00000000..6a1b373e --- /dev/null +++ b/text/PewterPokecenter.asm @@ -0,0 +1,14 @@ +_PewterPokecenterText2:: + text "What!?" + + para "TEAM ROCKET is" + line "at MT.MOON? Huh?" + cont "I'm on the phone!" + + para "Scram!" + done + +_PewterJigglypuffText:: + text "JIGGLYPUFF: Puu" + line "pupuu!" + done diff --git a/text/PewterSpeechHouse.asm b/text/PewterSpeechHouse.asm new file mode 100644 index 00000000..615536f7 --- /dev/null +++ b/text/PewterSpeechHouse.asm @@ -0,0 +1,19 @@ +_PewterHouse2Text1:: + text "#MON learn new" + line "techniques as" + cont "they grow!" + + para "But, some moves" + line "must be taught by" + cont "the trainer!" + done + +_PewterHouse2Text2:: + text "#MON become" + line "easier to catch" + cont "when they are" + cont "hurt or asleep!" + + para "But, it's not a" + line "sure thing!" + done diff --git a/text/PokemonFanClub.asm b/text/PokemonFanClub.asm new file mode 100644 index 00000000..4827f2e8 --- /dev/null +++ b/text/PokemonFanClub.asm @@ -0,0 +1,143 @@ +PikachuFanText:: + text "Won't you admire" + line "my PIKACHU's" + cont "adorable tail?" + done + +PikachuFanBetterText:: + text "Humph! My PIKACHU" + line "is twice as cute" + cont "as that one!" + done + +SeelFanText:: + text "I just love my" + line "SEEL!" + + para "It squeals when I" + line "hug it!" + done + +SeelFanBetterText:: + text "Oh dear!" + + para "My SEEL is far" + line "more attractive!" + done + +FanClubPikachuText:: + text "PIKACHU: Chu!" + line "Pikachu!" + done + +FanClubSeelText:: + text "SEEL: Kyuoo!" + done + +FanClubMeetChairText:: + text "I chair the" + line "#MON Fan Club!" + + para "I have collected" + line "over 100 #MON!" + + para "I'm very fussy" + line "when it comes to" + cont "#MON!" + + para "So..." + + para "Did you come" + line "visit to hear" + cont "about my #MON?" + done + +FanClubChairStoryText:: + text "Good!" + line "Then listen up!" + + para "My favorite" + line "RAPIDASH..." + + para "It...cute..." + line "lovely...smart..." + cont "plus...amazing..." + cont "you think so?..." + cont "oh yes...it..." + cont "stunning..." + cont "kindly..." + cont "love it!" + + para "Hug it...when..." + cont "sleeping...warm" + cont "and cuddly..." + cont "spectacular..." + cont "ravishing..." + cont "...Oops! Look at" + cont "the time! I kept" + cont "you too long!" + + para "Thanks for hearing" + line "me out! I want" + cont "you to have this!" + prompt + +ReceivedBikeVoucherText:: + text " received" + line "a @" + TX_RAM wcf4b + text "!@@" + +ExplainBikeVoucherText:: + text "" + para "Exchange that for" + line "a BICYCLE!" + + para "Don't worry, my" + line "FEAROW will FLY" + cont "me anywhere!" + + para "So, I don't need a" + line "BICYCLE!" + + para "I hope you like" + line "cycling!" + done + +FanClubNoStoryText:: + text "Oh. Come back" + line "when you want to" + cont "hear my story!" + done + +FanClubChairFinalText:: + text "Hello, !" + + para "Did you come see" + line "me about my" + cont "#MON again?" + + para "No? Too bad!" + done + +FanClubBagFullText:: + text "Make room for" + line "this!" + done + +_FanClubText6:: + text "Our Chairman is" + line "very vocal about" + cont "#MON." + done + +_FanClubText7:: + text "Let's all listen" + line "politely to other" + cont "trainers!" + done + +_FanClubText8:: + text "If someone brags," + line "brag right back!" + done diff --git a/text/PokemonMansion1F.asm b/text/PokemonMansion1F.asm new file mode 100644 index 00000000..a3c517fb --- /dev/null +++ b/text/PokemonMansion1F.asm @@ -0,0 +1,29 @@ +_Mansion1BattleText2:: + text "Who are you? There" + line "shouldn't be" + cont "anyone here." + done + +_Mansion1EndBattleText2:: + text "Ouch!" + prompt + +_Mansion1AfterBattleText2:: + text "A key? I don't" + line "know what you're" + cont "talking about." + done + +_MansionSwitchText:: + text "A secret switch!" + + para "Press it?" + done + +_MansionSwitchPressedText:: + text "Who wouldn't?" + prompt + +_MansionSwitchNotPressedText:: + text "Not quite yet!" + done diff --git a/text/PokemonMansion2F.asm b/text/PokemonMansion2F.asm new file mode 100644 index 00000000..378efb30 --- /dev/null +++ b/text/PokemonMansion2F.asm @@ -0,0 +1,47 @@ +_Mansion2BattleText1:: + text "I can't get out!" + line "This old place is" + cont "one big puzzle!" + done + +_Mansion2EndBattleText1:: + text "Oh no!" + line "My bag of loot!" + prompt + +_Mansion2AfterBattleText1:: + text "Switches open and" + line "close alternating" + cont "sets of doors!" + done + +_Mansion2Text3:: + text "Diary: July 5" + line "Guyana," + cont "South America" + + para "A new #MON was" + line "discovered deep" + cont "in the jungle." + done + +_Mansion2Text4:: + text "Diary: July 10" + line "We christened the" + cont "newly discovered" + cont "#MON, MEW." + done + +_Mansion2Text_520c2:: + text "A secret switch!" + + para "Press it?" + done + +_Mansion2Text_520c7:: + text "Who wouldn't?" + prompt + +_Mansion2Text_520cc:: + text "Not quite yet!" + done diff --git a/text/PokemonMansion3F.asm b/text/PokemonMansion3F.asm new file mode 100644 index 00000000..70331fdf --- /dev/null +++ b/text/PokemonMansion3F.asm @@ -0,0 +1,37 @@ +_Mansion3BattleText1:: + text "This place is" + line "like, huge!" + done + +_Mansion3EndBattleText1:: + text "Ayah!" + prompt + +_Mansion3AfterBattleText1:: + text "I wonder where" + line "my partner went." + done + +_Mansion3BattleText2:: + text "My mentor once" + line "lived here." + done + +_Mansion3EndBattleText2:: + text "Whew!" + line "Overwhelming!" + prompt + +_Mansion3AfterBattleText2:: + text "So, you're stuck?" + line "Try jumping off" + cont "over there!" + done + +_Mansion3Text5:: + text "Diary: Feb. 6" + line "MEW gave birth." + + para "We named the" + line "newborn MEWTWO." + done diff --git a/text/PokemonMansionB1F.asm b/text/PokemonMansionB1F.asm new file mode 100644 index 00000000..1bc1ef89 --- /dev/null +++ b/text/PokemonMansionB1F.asm @@ -0,0 +1,39 @@ +_Mansion4BattleText1:: + text "Uh-oh. Where am" + line "I now?" + done + +_Mansion4EndBattleText1:: + text "Awooh!" + prompt + +_Mansion4AfterBattleText1:: + text "You can find stuff" + line "lying around." + done + +_Mansion4BattleText2:: + text "This place is" + line "ideal for a lab." + done + +_Mansion4EndBattleText2:: + text "What" + line "was that for?" + prompt + +_Mansion4AfterBattleText2:: + text "I like it here!" + line "It's conducive to" + cont "my studies!" + done + +_Mansion4Text7:: + text "Diary; Sept. 1" + line "MEWTWO is far too" + cont "powerful." + + para "We have failed to" + line "curb its vicious" + cont "tendencies..." + done diff --git a/text/PokemonTower1F.asm b/text/PokemonTower1F.asm new file mode 100644 index 00000000..50a2cd29 --- /dev/null +++ b/text/PokemonTower1F.asm @@ -0,0 +1,31 @@ +_PokemonTower1Text1:: + text "#MON TOWER was" + line "erected in the" + cont "memory of #MON" + cont "that had died." + done + +_PokemonTower1Text2:: + text "Did you come to" + line "pay respects?" + cont "Bless you!" + done + +_PokemonTower1Text3:: + text "I came to pray" + line "for my CLEFAIRY." + + para "Sniff! I can't" + line "stop crying..." + done + +_PokemonTower1Text4:: + text "My GROWLITHE..." + line "Why did you die?" + done + +_PokemonTower1Text5:: + text "I am a CHANNELER!" + line "There are spirits" + cont "up to mischief!" + done diff --git a/text/PokemonTower2F.asm b/text/PokemonTower2F.asm new file mode 100644 index 00000000..79323001 --- /dev/null +++ b/text/PokemonTower2F.asm @@ -0,0 +1,57 @@ +_PokemonTower2Text_6062d:: + text ": Hey," + line "! What" + cont "brings you here?" + cont "Your #MON" + cont "don't look dead!" + + para "I can at least" + line "make them faint!" + cont "Let's go, pal!" + done + +_PokemonTower2Text_60632:: + text "What?" + line "You stinker!" + + para "I took it easy on" + line "you too!" + prompt + +_PokemonTower2Text_60637:: + text ": Well," + line "look at all your" + cont "wimpy #MON!" + + para "Toughen them up a" + line "bit more!" + prompt + +_PokemonTower2Text_6063c:: + text "How's your #DEX" + line "coming, pal?" + cont "I just caught a" + cont "CUBONE!" + + para "I can't find the" + line "grown-up MAROWAK" + cont "yet!" + + para "I doubt there are" + line "any left! Well, I" + cont "better get going!" + cont "I've got a lot to" + cont "accomplish, pal!" + + para "Smell ya later!" + done + +_PokemonTower2Text2:: + text "Even we could not" + line "identify the" + cont "wayward GHOSTs!" + + para "A SILPH SCOPE" + line "might be able to" + cont "unmask them." + done diff --git a/text/PokemonTower3F.asm b/text/PokemonTower3F.asm new file mode 100644 index 00000000..67098e6b --- /dev/null +++ b/text/PokemonTower3F.asm @@ -0,0 +1,45 @@ +_PokemonTower3BattleText1:: + text "Urrg...Awaa..." + line "Huhu...graa.." + done + +_PokemonTower3EndBattleText1:: + text "Hwa!" + line "I'm saved!" + prompt + +_PokemonTower3AfterBattleText1:: + text "The GHOSTs can be" + line "identified by the" + cont "SILPH SCOPE." + done + +_PokemonTower3BattleText2:: + text "Kekeke...." + line "Kwaaah!" + done + +_PokemonTower3EndBattleText2:: + text "Hmm?" + line "What am I doing?" + prompt + +_PokemonTower3AfterBattleText2:: + text "Sorry! I was" + line "possessed!" + done + +_PokemonTower3BattleText3:: + text "Be gone!" + line "Evil spirit!" + done + +_PokemonTower3EndBattleText3:: + text "Whew!" + line "The spirit left!" + prompt + +_PokemonTower3AfterBattleText3:: + text "My friends were" + line "possessed too!" + done diff --git a/text/PokemonTower4F.asm b/text/PokemonTower4F.asm new file mode 100644 index 00000000..771325a0 --- /dev/null +++ b/text/PokemonTower4F.asm @@ -0,0 +1,45 @@ +_PokemonTower4BattleText1:: + text "GHOST! No!" + line "Kwaaah!" + done + +_PokemonTower4EndBattleText1:: + text "Where" + line "is the GHOST?" + prompt + +_PokemonTower4AfterBattleText1:: + text "I must have been" + line "dreaming..." + done + +_PokemonTower4BattleText2:: + text "Be cursed with" + line "me! Kwaaah!" + done + +_PokemonTower4EndBattleText2:: + text "What!" + prompt + +_PokemonTower4AfterBattleText2:: + text "We can't crack" + line "the identity of" + cont "the GHOSTs." + done + +_PokemonTower4BattleText3:: + text "Huhuhu..." + line "Beat me not!" + done + +_PokemonTower4EndBattleText3:: + text "Huh?" + line "Who? What?" + prompt + +_PokemonTower4AfterBattleText3:: + text "May the departed" + line "souls of #MON" + cont "rest in peace..." + done diff --git a/text/PokemonTower5F.asm b/text/PokemonTower5F.asm new file mode 100644 index 00000000..b329118d --- /dev/null +++ b/text/PokemonTower5F.asm @@ -0,0 +1,71 @@ +_PokemonTower5Text1:: + text "Come, child! I" + line "sealed this space" + cont "with white magic!" + + para "You can rest here!" + done + +_PokemonTower5BattleText1:: + text "Give...me..." + line "your...soul..." + done + +_PokemonTower5EndBattleText1:: + text "Gasp!" + prompt + +_PokemonTower5AfterBattleText1:: + text "I was under" + line "possession!" + done + +_PokemonTower5BattleText2:: + text "You...shall..." + line "join...us..." + done + +_PokemonTower5EndBattleText2:: + text "What" + line "a nightmare!" + prompt + +_PokemonTower5AfterBattleText2:: + text "I was possessed!" + done + +_PokemonTower5BattleText3:: + text "Zombies!" + done + +_PokemonTower5EndBattleText3:: + text "Ha?" + prompt + +_PokemonTower5AfterBattleText3:: + text "I regained my" + line "senses!" + done + +_PokemonTower5BattleText4:: + text "Urgah..." + line "Urff...." + done + +_PokemonTower5EndBattleText4:: + text "Whoo!" + prompt + +_PokemonTower5AfterBattleText4:: + text "I fell to evil" + line "spirits despite" + cont "my training!" + done + +_PokemonTower5Text7:: + text "Entered purified," + line "protected zone!" + + para "'s #MON" + line "are fully healed!" + done diff --git a/text/PokemonTower6F.asm b/text/PokemonTower6F.asm new file mode 100644 index 00000000..7532d56d --- /dev/null +++ b/text/PokemonTower6F.asm @@ -0,0 +1,61 @@ +_PokemonTower2Text_60c1f:: + text "The GHOST was the" + line "restless soul of" + cont "CUBONE's mother!" + done + +_PokemonTower2Text_60c24:: + text "The mother's soul" + line "was calmed." + + para "It departed to" + line "the afterlife!" + done + +_PokemonTower6BattleText1:: + text "Give...me..." + line "blood..." + done + +_PokemonTower6EndBattleText1:: + text "Groan!" + prompt + +_PokemonTower6AfterBattleText1:: + text "I feel anemic and" + line "weak..." + done + +_PokemonTower6BattleText2:: + text "Urff... Kwaah!" + done + +_PokemonTower6EndBattleText2:: + text "Some-" + line "thing fell out!" + prompt + +_PokemonTower6AfterBattleText2:: + text "Hair didn't fall" + line "out! It was an" + cont "evil spirit!" + done + +_PokemonTower6BattleText3:: + text "Ke..ke...ke..." + line "ke..ke...ke!!" + done + +_PokemonTower6EndBattleText3:: + text "Keee!" + prompt + +_PokemonTower6AfterBattleText3:: + text "What's going on" + line "here?" + done + +_PokemonTower6Text6:: + text "Be gone..." + line "Intruders..." + done diff --git a/text/PokemonTower7F.asm b/text/PokemonTower7F.asm new file mode 100644 index 00000000..704a71eb --- /dev/null +++ b/text/PokemonTower7F.asm @@ -0,0 +1,78 @@ +_TowerRescueFujiText:: + text "MR.FUJI: Heh? You" + line "came to save me?" + + para "Thank you. But, I" + line "came here of my" + cont "own free will." + + para "I came to calm" + line "the soul of" + cont "CUBONE's mother." + + para "I think MAROWAK's" + line "spirit has gone" + cont "to the afterlife." + + para "I must thank you" + line "for your kind" + cont "concern!" + + para "Follow me to my" + line "home, #MON" + cont "HOUSE at the foot" + cont "of this tower." + done + +_PokemonTower7BattleText1:: + text "What do you want?" + line "Why are you here?" + done + +_PokemonTower7EndBattleText1:: + text "I give up!" + prompt + +_PokemonTower7AfterBattleText1:: + text "I'm not going to" + line "forget this!" + done + +_PokemonTower7BattleText2:: + text "This old guy came" + line "and complained" + cont "about us harming" + cont "useless #MON!" + + para "We're talking it" + line "over as adults!" + done + +_PokemonTower7EndBattleText2:: + text "Please!" + line "No more!" + prompt + +_PokemonTower7AfterBattleText2:: + text "#MON are only" + line "good for making" + cont "money!" + + para "Stay out of our" + line "business!" + done + +_PokemonTower7BattleText3:: + text "You're not saving" + line "anyone, kid!" + done + +_PokemonTower7EndBattleText3:: + text "Don't" + line "fight us ROCKETs!" + prompt + +_PokemonTower7AfterBattleText3:: + text "You're not getting" + line "away with this!" + done diff --git a/text/PowerPlant.asm b/text/PowerPlant.asm new file mode 100644 index 00000000..e5df6674 --- /dev/null +++ b/text/PowerPlant.asm @@ -0,0 +1,6 @@ +_VoltorbBattleText:: + text "Bzzzt!" + done + +_ZapdosBattleText:: + text "Gyaoo!@@" diff --git a/text/RedsHouse1F.asm b/text/RedsHouse1F.asm new file mode 100644 index 00000000..07768af9 --- /dev/null +++ b/text/RedsHouse1F.asm @@ -0,0 +1,37 @@ +_MomWakeUpText:: + text "MOM: Right." + line "All boys leave" + cont "home some day." + cont "It said so on TV." + + para "PROF.OAK, next" + line "door, is looking" + cont "for you." + done + +_MomHealText1:: + text "MOM: !" + line "You should take a" + cont "quick rest." + prompt + +_MomHealText2:: + text "MOM: Oh good!" + line "You and your" + cont "#MON are" + cont "looking great!" + cont "Take care now!" + done + +_StandByMeText:: + text "There's a movie" + line "on TV. Four boys" + cont "are walking on" + cont "railroad tracks." + + para "I better go too." + done + +_TVWrongSideText:: + text "Oops, wrong side." + done diff --git a/text/RockTunnel1F.asm b/text/RockTunnel1F.asm new file mode 100644 index 00000000..472c52f8 --- /dev/null +++ b/text/RockTunnel1F.asm @@ -0,0 +1,115 @@ +_RockTunnel1BattleText1:: + text "This tunnel goes" + line "a long way, kid!" + done + +_RockTunnel1EndBattleText1:: + text "Doh!" + line "You win!" + prompt + +_RockTunnel1AfterBattleText1:: + text "Watch for ONIX!" + line "It can put the" + cont "squeeze on you!" + done + +_RockTunnel1BattleText2:: + text "Hmm. Maybe I'm" + line "lost in here..." + done + +_RockTunnel1EndBattleText2:: + text "Ease up!" + line "What am I doing?" + cont "Which way is out?" + prompt + +_RockTunnel1AfterBattleText2:: + text "That sleeping" + line "#MON on ROUTE" + cont "12 forced me to" + cont "take this detour." + done + +_RockTunnel1BattleText3:: + text "Outsiders like" + line "you need to show" + cont "me some respect!" + done + +_RockTunnel1EndBattleText3:: + text "I give!" + prompt + +_RockTunnel1AfterBattleText3:: + text "You're talented" + line "enough to hike!" + done + +_RockTunnel1BattleText4:: + text "#MON fight!" + line "Ready, go!" + done + +_RockTunnel1EndBattleText4:: + text "Game" + line "over!" + prompt + +_RockTunnel1AfterBattleText4:: + text "Oh well, I'll get" + line "a ZUBAT as I go!" + done + +_RockTunnel1BattleText5:: + text "Eek! Don't try" + line "anything funny in" + cont "the dark!" + done + +_RockTunnel1EndBattleText5:: + text "It" + line "was too dark!" + prompt + +_RockTunnel1AfterBattleText5:: + text "I saw a MACHOP" + line "in this tunnel!" + done + +_RockTunnel1BattleText6:: + text "I came this far" + line "for #MON!" + done + +_RockTunnel1EndBattleText6:: + text "I'm" + line "out of #MON!" + prompt + +_RockTunnel1AfterBattleText6:: + text "You looked cute" + line "and harmless!" + done + +_RockTunnel1BattleText7:: + text "You have #MON!" + line "Let's start!" + done + +_RockTunnel1EndBattleText7:: + text "You" + line "play hard!" + prompt + +_RockTunnel1AfterBattleText7:: + text "Whew! I'm all" + line "sweaty now!" + done + +_RockTunnel1Text8:: + text "ROCK TUNNEL" + line "CERULEAN CITY -" + cont "LAVENDER TOWN" + done diff --git a/text/RockTunnelB1F.asm b/text/RockTunnelB1F.asm new file mode 100644 index 00000000..1a565eb3 --- /dev/null +++ b/text/RockTunnelB1F.asm @@ -0,0 +1,108 @@ +_RockTunnel2BattleText2:: + text "Hikers leave twigs" + line "as trail markers." + done + +_RockTunnel2EndBattleText2:: + text "Ohhh!" + line "I did my best!" + prompt + +_RockTunnel2AfterBattleText2:: + text "I want to go " + line "home!" + done + +_RockTunnel2BattleText3:: + text "Hahaha! Can you" + line "beat my power?" + done + +_RockTunnel2EndBattleText3:: + text "Oops!" + line "Out-muscled!" + prompt + +_RockTunnel2AfterBattleText3:: + text "I go for power" + line "because I hate" + cont "thinking!" + done + +_RockTunnel2BattleText4:: + text "You have a" + line "#DEX?" + cont "I want one too!" + done + +_RockTunnel2EndBattleText4:: + text "Shoot!" + line "I'm so jealous!" + prompt + +_RockTunnel2AfterBattleText4:: + text "When you finish" + line "your #DEX, can" + cont "I have it?" + done + +_RockTunnel2BattleText5:: + text "Do you know about" + line "costume players?" + done + +_RockTunnel2EndBattleText5:: + text "Well," + line "that's that." + prompt + +_RockTunnel2AfterBattleText5:: + text "Costume players" + line "dress up as" + cont "#MON for fun." + done + +_RockTunnel2BattleText6:: + text "My #MON" + line "techniques will" + cont "leave you crying!" + done + +_RockTunnel2EndBattleText6:: + text "I give!" + line "You're a better" + cont "technician!" + prompt + +_RockTunnel2AfterBattleText6:: + text "In mountains," + line "you'll often find" + cont "rock-type #MON." + done + +_RockTunnel2BattleText7:: + text "I don't often" + line "come here, but I" + cont "will fight you." + done + +_RockTunnel2EndBattleText7:: + text "Oh!" + line "I lost!" + prompt + +_RockTunnel2AfterBattleText7:: + text "I like tiny" + line "#MON, big ones" + cont "are too scary!" + done + +_RockTunnel2BattleText8:: + text "Hit me with your" + line "best shot!" + done + +_RockTunnel2EndBattleText8:: + text "Fired" + line "away!" + prompt diff --git a/text/RockTunnelB1F_2.asm b/text/RockTunnelB1F_2.asm new file mode 100644 index 00000000..e8e45a7f --- /dev/null +++ b/text/RockTunnelB1F_2.asm @@ -0,0 +1,20 @@ +_RockTunnel2AfterBattleText8:: + text "I'll raise my" + line "#MON to beat" + cont "yours, kid!" + done + +_RockTunnel2BattleText9:: + text "I draw #MON" + line "when I'm home." + done + +_RockTunnel2EndBattleText9:: + text "Whew!" + line "I'm exhausted!" + prompt + +_RockTunnel2AfterBattleText9:: + text "I'm an artist," + line "not a fighter." + done diff --git a/text/RockTunnelPokecenter.asm b/text/RockTunnelPokecenter.asm new file mode 100644 index 00000000..0fc249ff --- /dev/null +++ b/text/RockTunnelPokecenter.asm @@ -0,0 +1,13 @@ +_RockTunnelPokecenterText2:: + text "The element types" + line "of #MON make" + cont "them stronger" + cont "than some types" + cont "and weaker than" + cont "others!" + done + +_RockTunnelPokecenterText3:: + text "I sold a useless" + line "NUGGET for ¥5000!" + done diff --git a/text/RocketHideoutB1F.asm b/text/RocketHideoutB1F.asm new file mode 100644 index 00000000..36117804 --- /dev/null +++ b/text/RocketHideoutB1F.asm @@ -0,0 +1,73 @@ +_RocketHideout1EndBattleText6:: + text "Why...?@@" + +_RocketHideout1BattleText2:: + text "Who are you? How" + line "did you get here?" + done + +_RocketHideout1EndBattleText2:: + text "Oww!" + line "Beaten!" + prompt + +_RocketHideout1AfterBattleTxt2:: + text "Are you dissing" + line "TEAM ROCKET?" + done + +_RocketHideout1BattleText3:: + text "You broke into" + line "our operation?" + done + +_RocketHideout1EndBattleText3:: + text "Burnt!" + prompt + +_RocketHideout1AfterBattleTxt3:: + text "You're not going" + line "to get away with" + cont "this, brat!" + done + +_RocketHideout1BattleText4:: + text "Intruder alert!" + done + +_RocketHideout1EndBattleText4:: + text "I" + line "can't do it!" + prompt + +_RocketHideout1AfterBattleTxt4:: + text "SILPH SCOPE?" + line "I don't know" + cont "where it is!" + done + +_RocketHideout1BattleText5:: + text "Why did you come" + line "here?" + done + +_RocketHideout1EndBattleText5:: + text "This" + line "won't do!" + prompt + +_RocketHideout1AfterBattleTxt5:: + text "OK, I'll talk!" + line "Take the elevator" + cont "to see my BOSS!" + done + +_RocketHideout1BattleText6:: + text "Are you lost, you" + line "little rat?" + done + +_RocketHideout1AfterBattleTxt6:: + text "Uh-oh, that fight" + line "opened the door!" + done diff --git a/text/RocketHideoutB2F.asm b/text/RocketHideoutB2F.asm new file mode 100644 index 00000000..c13c3593 --- /dev/null +++ b/text/RocketHideoutB2F.asm @@ -0,0 +1,17 @@ +_RocketHideout2BattleText2:: + text "BOSS said you can" + line "see GHOSTs with" + cont "the SILPH SCOPE!" + done + +_RocketHideout2EndBattleText2:: + text "I" + line "surrender!" + prompt + +_RocketHideout2AfterBattleTxt2:: + text "The TEAM ROCKET" + line "HQ has 4 basement" + cont "floors. Can you" + cont "reach the BOSS?" + done diff --git a/text/RocketHideoutB3F.asm b/text/RocketHideoutB3F.asm new file mode 100644 index 00000000..a146a383 --- /dev/null +++ b/text/RocketHideoutB3F.asm @@ -0,0 +1,35 @@ +_RocketHideout3BattleText2:: + text "Stop meddling in" + line "TEAM ROCKET's" + cont "affairs!" + done + +_RocketHideout3EndBattleText2:: + text "Oof!" + line "Taken down!" + prompt + +_RocketHideout3AfterBattleTxt2:: + text "SILPH SCOPE?" + line "The machine the" + cont "BOSS stole. It's" + cont "here somewhere." + done + +_RocketHideout3BattleTxt:: + text "We got word from" + line "upstairs that you" + cont "were coming!" + done + +_RocketHideout3EndBattleText3:: + text "What?" + line "I lost? No!" + prompt + +_RocketHide3AfterBattleText3:: + text "Go ahead and go!" + line "But, you need the" + cont "LIFT KEY to run" + cont "the elevator!" + done diff --git a/text/RocketHideoutB4F.asm b/text/RocketHideoutB4F.asm new file mode 100644 index 00000000..f3ba43f3 --- /dev/null +++ b/text/RocketHideoutB4F.asm @@ -0,0 +1,74 @@ +_RocketHideout4Text_4557a:: + text "So! I must say, I" + line "am impressed you" + cont "got here!" + done + +_RocketHideout4Text_4557f:: + text "WHAT!" + line "This cannot be!" + prompt + +_RocketHideout4Text_45584:: + text "I see that you" + line "raise #MON" + cont "with utmost care." + + para "A child like you" + line "would never" + cont "understand what I" + cont "hope to achieve." + + para "I shall step" + line "aside this time!" + + para "I hope we meet" + line "again..." + done + +_RocketHideout4BattleText2:: + text "I know you! You" + line "ruined our plans" + cont "at MT.MOON!" + done + +_RocketHideout4EndBattleText2:: + text "Burned" + line "again!" + prompt + +_RocketHide4AfterBattleText2:: + text "Do you have" + line "something against" + cont "TEAM ROCKET?" + done + +_RocketHideout4BattleText3:: + text "How can you not" + line "see the beauty of" + cont "our evil?" + done + +_RocketHideout4EndBattleText3:: + text "Ayaya!" + prompt + +_RocketHide4AfterBattleText3:: + text "BOSS! I'm sorry I" + line "failed you!" + done + +_RocketHideout4BattleText4:: + text "The elevator" + line "doesn't work? Who" + cont "has the LIFT KEY?" + done + +_RocketHideout4EndBattleText4:: + text "No!" + prompt + +_RocketHideout4Text_455ec:: + text "Oh no! I dropped" + line "the LIFT KEY!" + done diff --git a/text/RocketHideoutElevator.asm b/text/RocketHideoutElevator.asm new file mode 100644 index 00000000..6f2aa638 --- /dev/null +++ b/text/RocketHideoutElevator.asm @@ -0,0 +1,3 @@ +_RocketElevatorText_4578b:: + text "It appears to" + line "need a key.@@" diff --git a/text/Route1.asm b/text/Route1.asm new file mode 100644 index 00000000..73188f09 --- /dev/null +++ b/text/Route1.asm @@ -0,0 +1,49 @@ +_Route1ViridianMartSampleText:: + text "Hi! I work at a" + line "#MON MART." + + para "It's a convenient" + line "shop, so please" + cont "visit us in" + cont "VIRIDIAN CITY." + + para "I know, I'll give" + line "you a sample!" + cont "Here you go!" + prompt + +_Route1Text_1cae8:: + text " got" + line "@" + TX_RAM wcf4b + text "!@@" + +_Route1Text_1caee:: + text "We also carry" + line "# BALLs for" + cont "catching #MON!" + done + +_Route1Text_1caf3:: + text "You have too much" + line "stuff with you!" + done + +_Route1Text2:: + text "See those ledges" + line "along the road?" + + para "It's a bit scary," + line "but you can jump" + cont "from them." + + para "You can get back" + line "to PALLET TOWN" + cont "quicker that way." + done + +_Route1Text3:: + text "ROUTE 1" + line "PALLET TOWN -" + cont "VIRIDIAN CITY" + done diff --git a/text/Route10.asm b/text/Route10.asm new file mode 100644 index 00000000..057ddcb5 --- /dev/null +++ b/text/Route10.asm @@ -0,0 +1,109 @@ +_Route10BattleText1:: + text "Wow, are you a" + line "#MANIAC too?" + cont "Want to see my" + cont "collection?" + done + +_Route10EndBattleText1:: + text "Humph." + line "I'm not angry!" + prompt + +_Route10AfterBattleText1:: + text "I have more rare" + line "#MON at home!" + done + +_Route10BattleText2:: + text "Ha-hahah-ah-ha!" + done + +_Route10EndBattleText2:: + text "Ha-haha!" + line "Not laughing!" + cont "Ha-hay fever!" + cont "Haha-ha-choo!" + prompt + +_Route10AfterBattleText2:: + text "Haha-ha-choo!" + line "Ha-choo!" + cont "Snort! Snivel!" + done + +_Route10BattleText3:: + text "Hi kid, want to" + line "see my #MON?" + done + +_Route10EndBattleText3:: + text "Oh no!" + line "My #MON!" + prompt + +_Route10AfterBattleText3:: + text "I don't like you" + line "for beating me!" + done + +_Route10BattleText4:: + text "I've been to a" + line "#MON GYM a few" + cont "times. But, I" + cont "lost each time." + done + +_Route10EndBattleText4:: + text "Ohh!" + line "Blew it again!" + prompt + +_Route10AfterBattleText4:: + text "I noticed some" + line "#MANIACs" + cont "prowling around." + done + +_Route10BattleText5:: + text "Ah! This mountain" + line "air is delicious!" + done + +_Route10EndBattleText5:: + text "That" + line "cleared my head!" + prompt + +_Route10AfterBattleText5:: + text "I feel bloated on" + line "mountain air!" + done + +_Route10BattleText6:: + text "I'm feeling a bit" + line "faint from this" + cont "tough hike." + done + +_Route10EndBattleText6:: + text "I'm" + line "not up to it!" + prompt + +_Route10AfterBattleText6:: + text "The #MON here" + line "are so chunky!" + cont "There should be a" + cont "pink one with a" + cont "floral pattern!" + done + +_Route10Text9:: +_Route10Text7:: + text "ROCK TUNNEL" + done + +_Route10Text10:: + text "POWER PLANT" + done diff --git a/text/Route11.asm b/text/Route11.asm new file mode 100644 index 00000000..13e37bdf --- /dev/null +++ b/text/Route11.asm @@ -0,0 +1,133 @@ +_Route11BattleText1:: + text "Win, lose or draw!" + done + +_Route11EndBattleText1:: + text "Atcha!" + line "Didn't go my way!" + prompt + +_Route11AfterBattleText1:: + text "#MON is life!" + line "And to live is to" + cont "gamble!" + done + +_Route11BattleText2:: + text "Competition! I" + line "can't get enough!" + done + +_Route11EndBattleText2:: + text "I had" + line "a chance!" + prompt + +_Route11AfterBattleText2:: + text "You can't be a" + line "coward in the" + cont "world of #MON!" + done + +_Route11BattleText3:: + text "Let's go, but" + line "don't cheat!" + done + +_Route11EndBattleText3:: + text "Huh?" + line "That's not right!" + prompt + +_Route11AfterBattleText3:: + text "I did my best! I" + line "have no regrets!" + done + +_Route11BattleText4:: + text "Careful!" + line "I'm laying down" + cont "some cables!" + done + +_Route11EndBattleText4:: + text "That" + line "was electric!" + prompt + +_Route11AfterBattleText4:: + text "Spread the word" + line "to save energy!" + done + +_Route11BattleText5:: + text "I just became a" + line "trainer! But, I" + cont "think I can win!" + done + +_Route11EndBattleText5:: + text "My" + line "#MON couldn't!" + prompt + +_Route11AfterBattleText5:: + text "What do you want?" + line "Leave me alone!" + done + +_Route11BattleText6:: + text "Fwahaha! I have" + line "never lost!" + done + +_Route11EndBattleText6:: + text "My" + line "first loss!" + prompt + +_Route11AfterBattleText6:: + text "Luck of the draw!" + line "Just luck!" + done + +_Route11BattleText7:: + text "I have never won" + line "before..." + done + +_Route11EndBattleText7:: + text "I saw" + line "this coming..." + prompt + +_Route11AfterBattleText7:: + text "It's just luck." + line "Luck of the draw." + done + +_Route11BattleText8:: + text "I'm the best in" + line "my class!" + done + +_Route11EndBattleText8:: + text "Darn!" + line "I need to make my" + cont "#MON stronger!" + prompt + +_Route11AfterBattleText8:: + text "There's a fat" + line "#MON that" + cont "comes down from" + cont "the mountains." + + para "It's strong if" + line "you can get it." + done + +_Route11BattleText9:: + text "Watch out for" + line "live wires!" + done diff --git a/text/Route11Gate1F.asm b/text/Route11Gate1F.asm new file mode 100644 index 00000000..ef371d06 --- /dev/null +++ b/text/Route11Gate1F.asm @@ -0,0 +1,14 @@ +_Route11GateText1:: + text "When you catch" + line "lots of #MON," + cont "isn't it hard to" + cont "think up names?" + + para "In LAVENDER TOWN," + line "there's a man who" + cont "rates #MON" + cont "nicknames." + + para "He'll help you" + line "rename them too!" + done diff --git a/text/Route11Gate2F.asm b/text/Route11Gate2F.asm new file mode 100644 index 00000000..10236081 --- /dev/null +++ b/text/Route11Gate2F.asm @@ -0,0 +1,40 @@ +_Route11GateUpstairsText_494a3:: + text "There are items on" + line "the ground that" + cont "can't be seen." + + para "ITEMFINDER will" + line "detect an item" + cont "close to you." + + para "It can't pinpoint" + line "it, so you have" + cont "to look yourself!" + done + +_BinocularsSnorlaxText:: + text "Looked into the" + line "binoculars." + + para "A big #MON is" + line "asleep on a road!" + done + +_BinocularsNoSnorlaxText:: + text "Looked into the" + line "binoculars." + + para "It's a beautiful" + line "view!" + done + +_Route11GateUpstairsText_494d5:: + text "Looked into the" + line "binoculars." + + para "The only way to" + line "get from CERULEAN" + cont "CITY to LAVENDER" + cont "is by way of the" + cont "ROCK TUNNEL." + done diff --git a/text/Route11_2.asm b/text/Route11_2.asm new file mode 100644 index 00000000..b9b68d6d --- /dev/null +++ b/text/Route11_2.asm @@ -0,0 +1,28 @@ +_Route11EndBattleText9:: + text "Whoa!" + line "You spark plug!" + prompt + +_Route11AfterBattleText9:: + text "Well, better get" + line "back to work." + done + +_Route11BattleText10:: + text "My #MON should" + line "be ready by now!" + done + +_Route11EndBattleText10:: + text "Too" + line "much, too young!" + prompt + +_Route11AfterBattleText10:: + text "I better go find" + line "stronger ones!" + done + +_Route11Text11:: + text "DIGLETT's CAVE" + done diff --git a/text/Route12.asm b/text/Route12.asm new file mode 100644 index 00000000..82696fda --- /dev/null +++ b/text/Route12.asm @@ -0,0 +1,139 @@ +_Route12Text1:: + text "A sleeping #MON" + line "blocks the way!" + done + +_Route12Text13:: + text "SNORLAX woke up!" + + para "It attacked in a" + line "grumpy rage!" + done + +_Route12Text14:: + text "SNORLAX calmed" + line "down! With a big" + cont "yawn, it returned" + cont "to the mountains!" + done + +_Route12BattleText1:: + text "Yeah! I got a" + line "bite, here!" + done + +_Route12EndBattleText1:: + text "Tch!" + line "Just a small fry!" + prompt + +_Route12AfterBattleText1:: + text "Hang on! My line's" + line "snagged!" + done + +_Route12BattleText2:: + text "Be patient!" + line "Fishing is a" + cont "waiting game!" + done + +_Route12EndBattleText2:: + text "That" + line "one got away!" + prompt + +_Route12AfterBattleText2:: + text "With a better ROD," + line "I could catch" + cont "better #MON!" + done + +_Route12BattleText3:: + text "Have you found a" + line "MOON STONE?" + done + +_Route12EndBattleText3:: + text "Oww!" + prompt + +_Route12AfterBattleText3:: + text "I could have made" + line "my #MON evolve" + cont "with MOON STONE!" + done + +_Route12BattleText4:: + text "Electricity is my" + line "specialty!" + done + +_Route12EndBattleText4:: + text "Unplugged!" + prompt + +_Route12AfterBattleText4:: + text "Water conducts" + line "electricity, so" + cont "you should zap" + cont "sea #MON!" + done + +_Route12BattleText5:: + text "The FISHING FOOL" + line "vs. #MON KID!" + done + +_Route12EndBattleText5:: + text "Too" + line "much!" + prompt + +_Route12AfterBattleText5:: + text "You beat me at" + line "#MON, but I'm" + cont "good at fishing!" + done + +_Route12BattleText6:: + text "I'd rather be" + line "working!" + done + +_Route12EndBattleText6:: + text "It's" + line "not easy..." + prompt + +_Route12AfterBattleText6:: + text "It's all right." + line "Losing doesn't" + cont "bug me any more." + done + +_Route12BattleText7:: + text "You never know" + line "what you could" + cont "catch!" + done + +_Route12EndBattleText7:: + text "Lost" + line "it!" + prompt + +_Route12AfterBattleText7:: + text "I catch MAGIKARP" + line "all the time, but" + cont "they're so weak!" + done + +_Route12Text11:: + text "ROUTE 12 " + line "North to LAVENDER" + done + +_Route12Text12:: + text "SPORT FISHING AREA" + done diff --git a/text/Route12Gate1F.asm b/text/Route12Gate1F.asm new file mode 100644 index 00000000..51d75539 --- /dev/null +++ b/text/Route12Gate1F.asm @@ -0,0 +1,4 @@ +_Route12GateText1:: + text "There's a lookout" + line "spot upstairs." + done diff --git a/text/Route12Gate2F.asm b/text/Route12Gate2F.asm new file mode 100644 index 00000000..95a89527 --- /dev/null +++ b/text/Route12Gate2F.asm @@ -0,0 +1,42 @@ +_TM39PreReceiveText:: + text "My #MON's" + line "ashes are stored" + cont "in #MON TOWER." + + para "You can have this" + line "TM. I don't need" + cont "it any more..." + prompt + +_ReceivedTM39Text:: + text " received" + line "TM39!@@" + +_TM39ExplanationText:: + text "TM39 is a move" + line "called SWIFT." + + para "It's very accurate," + line "so use it during" + cont "battles you can't" + cont "afford to lose." + done + +_TM39NoRoomText:: + text "You don't have" + line "room for this." + done + +_Route12GateUpstairsText_495b8:: + text "Looked into the" + line "binoculars." + + para "A man fishing!" + done + +_Route12GateUpstairsText_495c4:: + text "Looked into the" + line "binoculars." + + para "It's #MON TOWER!" + done diff --git a/text/Route12SuperRodHouse.asm b/text/Route12SuperRodHouse.asm new file mode 100644 index 00000000..7dfaa74f --- /dev/null +++ b/text/Route12SuperRodHouse.asm @@ -0,0 +1,61 @@ +_Route12HouseText_564c0:: + text "I'm the FISHING" + line "GURU's brother!" + + para "I simply Looove" + line "fishing!" + + para "Do you like to" + line "fish?" + done + +_Route12HouseText_564c5:: + text "Grand! I like" + line "your style!" + + para "Take this and" + line "fish, young one!" + + para " received" + line "a @" + TX_RAM wcf4b + text "!@@" + +_Route12HouseText_564ca:: + text "" + + para "Fishing is a way" + line "of life!" + + para "From the seas to" + line "rivers, go out" + cont "and land the big" + cont "one!" + done + +_Route12HouseText_564cf:: + text "Oh... That's so" + line "disappointing..." + done + +_Route12HouseText_564d4:: + text "Hello there," + line "!" + + para "Use the SUPER ROD" + line "in any water!" + cont "You can catch" + cont "different kinds" + cont "of #MON." + + para "Try fishing" + line "wherever you can!" + done + +_Route12HouseText_564d9:: + text "Oh no!" + + para "I had a gift for" + line "you, but you have" + cont "no room for it!" + done diff --git a/text/Route13.asm b/text/Route13.asm new file mode 100644 index 00000000..e2718919 --- /dev/null +++ b/text/Route13.asm @@ -0,0 +1,179 @@ +_Route13BattleText2:: + text "My bird #MON" + line "want to scrap!" + done + +_Route13EndBattleText2:: + text "My" + line "bird combo lost?" + prompt + +_Route13AfterBattleText2:: + text "My #MON look" + line "happy even though" + cont "they lost." + done + +_Route13BattleText3:: + text "I'm told I'm good" + line "for a kid!" + done + +_Route13EndBattleText3:: + text "Ohh!" + line "I lost!" + prompt + +_Route13AfterBattleText3:: + text "I want to become" + line "a good trainer." + cont "I'll train hard." + done + +_Route13BattleText4:: + text "Wow! Your BADGEs" + line "are too cool!" + done + +_Route13EndBattleText4:: + text "Not" + line "enough!" + prompt + +_Route13AfterBattleText4:: + text "You got those" + line "BADGEs from GYM" + cont "LEADERs. I know!" + done + +_Route13BattleText5:: + text "My cute #MON" + line "wish to make your" + cont "acquaintance." + done + +_Route13EndBattleText5:: + text "Wow!" + line "You totally won!" + prompt + +_Route13AfterBattleText5:: + text "You have to make" + line "#MON fight to" + cont "toughen them up!" + done + +_Route13BattleText6:: + text "I found CARBOS in" + line "a cave once." + done + +_Route13EndBattleText6:: + text "Just" + line "messed up!" + prompt + +_Route13AfterBattleText6:: + text "CARBOS boosted" + line "the SPEED of my" + cont "#MON." + done + +_Route13BattleText7:: + text "The wind's blowing" + line "my way!" + done + +_Route13EndBattleText7:: + text "The" + line "wind turned!" + prompt + +_Route13AfterBattleText7:: + text "I'm beat. I guess" + line "I'll FLY home." + done + +_Route13BattleText8:: + text "Sure, I'll play" + line "with you!" + done + +_Route13EndBattleText8:: + text "Oh!" + line "You little brute!" + prompt + +_Route13AfterBattleText8:: + text "I wonder which is" + line "stronger, male or" + cont "female #MON?" + done + +_Route13BattleText9:: + text "Do you want to" + line "#MON with me?" + done + +_Route13EndBattleText9:: + text "It's over" + line "already?" + prompt + +_Route13AfterBattleText9:: + text "I don't know" + line "anything about" + cont "#MON. I just" + cont "like cool ones!" + done + +_Route13BattleText10:: + text "What're you" + line "lookin' at?" + done + +_Route13EndBattleText10:: + text "Dang!" + line "Stripped gears!" + prompt + +_Route13AfterBattleText10:: + text "Get lost!" + done + +_Route13BattleText11:: + text "I always go with" + line "bird #MON!" + done + +_Route13EndBattleText11:: + text "Out" + line "of power!" + prompt + +_Route13AfterBattleText11:: + text "I wish I could" + line "fly like PIDGEY" + cont "and PIDGEOTTO..." + done + +_Route13Text11:: + text "TRAINER TIPS" + + para "Look to the left" + line "of that post!" + done + +_Route13Text12:: + text "TRAINER TIPS" + + para "Use SELECT to" + line "switch items in" + cont "the ITEM window!" + done + +_Route13Text13:: + text "ROUTE 13" + line "North to SILENCE" + cont "BRIDGE" + done diff --git a/text/Route14.asm b/text/Route14.asm new file mode 100644 index 00000000..18e85ed4 --- /dev/null +++ b/text/Route14.asm @@ -0,0 +1,173 @@ +_Route14BattleText1:: + text "You need to use" + line "TMs to teach good" + cont "moves to #MON!" + done + +_Route14EndBattleText1:: + text "Not" + line "good enough!" + prompt + +_Route14AfterBattleText1:: + text "You have some HMs" + line "right? #MON" + cont "can't ever forget" + cont "those moves." + done + +_Route14BattleText2:: + text "My bird #MON" + line "should be ready" + cont "for battle." + done + +_Route14EndBattleText2:: + text "Not" + line "ready yet!" + prompt + +_Route14AfterBattleText2:: + text "They need to learn" + line "better moves." + done + +_Route14BattleText3:: + text "TMs are on sale" + line "in CELADON!" + cont "But, only a few" + cont "people have HMs!" + done + +_Route14EndBattleText3:: + text "Aww," + line "bummer!" + prompt + +_Route14AfterBattleText3:: + text "Teach #MON" + line "moves of the same" + cont "element type for" + cont "more power." + done + +_Route14BattleText4:: + text "Have you taught" + line "your bird #MON" + cont "how to FLY?" + done + +_Route14EndBattleText4:: + text "Shot" + line "down in flames!" + prompt + +_Route14AfterBattleText4:: + text "Bird #MON are" + line "my true love!" + done + +_Route14BattleText5:: + text "Have you heard of" + line "the legendary" + cont "#MON?" + done + +_Route14EndBattleText5:: + text "Why?" + line "Why'd I lose?" + prompt + +_Route14AfterBattleText5:: + text "The 3 legendary" + line "#MON are all" + cont "birds of prey." + done + +_Route14BattleText6:: + text "I'm not into it," + line "but OK! Let's go!" + done + +_Route14EndBattleText6:: + text "I" + line "knew it!" + prompt + +_Route14AfterBattleText6:: + text "Winning, losing," + line "it doesn't matter" + cont "in the long run!" + done + +_Route14BattleText7:: + text "C'mon, c'mon." + line "Let's go, let's" + cont "go, let's go!" + done + +_Route14EndBattleText7:: + text "Arrg!" + line "Lost! Get lost!" + prompt + +_Route14AfterBattleText7:: + text "What, what, what?" + line "What do you want?" + done + +_Route14BattleText8:: + text "Perfect! I need to" + line "burn some time!" + done + +_Route14EndBattleText8:: + text "What?" + line "You!?" + prompt + +_Route14AfterBattleText8:: + text "Raising #MON" + line "is a drag, man." + done + +_Route14BattleText9:: + text "We ride out here" + line "because there's" + cont "more room!" + done + +_Route14EndBattleText9:: + text "Wipe out!" + prompt + +_Route14AfterBattleText9:: + text "It's cool you" + line "made your #MON" + cont "so strong!" + + para "Might is right!" + line "And you know it!" + done + +_Route14BattleText10:: + text "#MON fight?" + line "Cool! Rumble!" + done + +_Route14EndBattleText10:: + text "Blown" + line "away!" + prompt + +_Route14AfterBattleText10:: + text "You know who'd" + line "win, you and me" + cont "one on one!" + done + +_Route14Text11:: + text "ROUTE 14" + line "West to FUCHSIA" + cont "CITY" + done diff --git a/text/Route15.asm b/text/Route15.asm new file mode 100644 index 00000000..a23b8500 --- /dev/null +++ b/text/Route15.asm @@ -0,0 +1,171 @@ +_Route15BattleText1:: + text "Let me try out the" + line "#MON I just" + cont "got in a trade!" + done + +_Route15EndBattleText1:: + text "Not" + line "good enough!" + prompt + +_Route15AfterBattleText1:: + text "You can't change" + line "the nickname of" + cont "any #MON you" + cont "get in a trade." + + para "Only the Original" + line "Trainer can." + done + +_Route15BattleText2:: + text "You look gentle," + line "so I think I can" + cont "beat you!" + done + +_Route15EndBattleText2:: + text "No," + line "wrong!" + prompt + +_Route15AfterBattleText2:: + text "I'm afraid of" + line "BIKERs, they look" + cont "so ugly and mean!" + done + +_Route15BattleText3:: + text "When I whistle, I" + line "can summon bird" + cont "#MON!" + done + +_Route15EndBattleText3:: + text "Ow!" + line "That's tragic!" + prompt + +_Route15AfterBattleText3:: + text "Maybe I'm not cut" + line "out for battles." + done + +_Route15BattleText4:: + text "Hmm? My birds are" + line "shivering! You're" + cont "good, aren't you?" + done + +_Route15EndBattleText4:: + text "Just" + line "as I thought!" + prompt + +_Route15AfterBattleText4:: + text "Did you know moves" + line "like EARTHQUAKE" + cont "don't have any" + cont "effect on birds?" + done + +_Route15BattleText5:: + text "Oh, you're a" + line "little cutie!" + done + +_Route15EndBattleText5:: + text "You looked" + line "so cute too!" + prompt + +_Route15AfterBattleText5:: + text "I forgive you!" + line "I can take it!" + done + +_Route15BattleText6:: + text "I raise #MON" + line "because I live" + cont "alone!" + done + +_Route15EndBattleText6:: + text "I didn't" + line "ask for this!" + prompt + +_Route15AfterBattleText6:: + text "I just like going" + line "home to be with" + cont "my #MON!" + done + +_Route15BattleText7:: + text "Hey kid! C'mon!" + line "I just got these!" + done + +_Route15EndBattleText7:: + text "Why" + line "not?" + prompt + +_Route15AfterBattleText7:: + text "You only live" + line "once, so I live" + cont "as an outlaw!" + cont "TEAM ROCKET RULES!" + done + +_Route15BattleText8:: + text "Fork over all your" + line "cash when you" + cont "lose to me, kid!" + done + +_Route15EndBattleText8:: + text "That" + line "can't be true!" + prompt + +_Route15AfterBattleText8:: + text "I was just joking" + line "about the money!" + done + +_Route15BattleText9:: + text "What's cool?" + line "Trading #MON!" + done + +_Route15EndBattleText9:: + text "I" + line "said trade!" + prompt + +_Route15AfterBattleText9:: + text "I trade #MON" + line "with my friends!" + done + +_Route15BattleText10:: + text "Want to play with" + line "my #MON?" + done + +_Route15EndBattleText10:: + text "I was" + line "too impatient!" + prompt + +_Route15AfterBattleText10:: + text "I'll go train with" + line "weaker people.@@" + +_Route15Text12:: + text "ROUTE 15" + line "West to FUCHSIA" + cont "CITY" + done diff --git a/text/Route15Gate1F.asm b/text/Route15Gate1F.asm new file mode 100644 index 00000000..0a526142 --- /dev/null +++ b/text/Route15Gate1F.asm @@ -0,0 +1,7 @@ +_Route15GateText1:: + text "Are you working" + line "on a #DEX?" + + para "PROF.OAK's AIDE" + line "came by here." + done diff --git a/text/Route15Gate2F.asm b/text/Route15Gate2F.asm new file mode 100644 index 00000000..ade4a358 --- /dev/null +++ b/text/Route15Gate2F.asm @@ -0,0 +1,24 @@ +_Route15GateUpstairsText_4968c:: + text "EXP.ALL gives" + line "EXP points to all" + cont "the #MON with" + cont "you, even if they" + cont "don't fight." + + para "It does, however," + line "reduce the amount" + cont "of EXP for each" + cont "#MON." + + para "If you don't need" + line "it, you should " + cont "store it via PC." + done + +_Route15GateUpstairsText_49698:: + text "Looked into the" + line "binoculars." + + para "It looks like a" + line "small island!" + done diff --git a/text/Route16.asm b/text/Route16.asm new file mode 100644 index 00000000..45265829 --- /dev/null +++ b/text/Route16.asm @@ -0,0 +1,120 @@ +_Route16BattleText1:: + text "What do you want?" + done + +_Route16EndBattleText1:: + text "Don't you" + line "dare laugh!" + prompt + +_Route16AfterBattleText1:: + text "We like just" + line "hanging here," + cont "what's it to you?" + done + +_Route16BattleText2:: + text "Nice BIKE!" + line "Hand it over!" + done + +_Route16EndBattleText2:: + text "Knock" + line "out!" + prompt + +_Route16AfterBattleText2:: + text "Forget it, who" + line "needs your BIKE!" + done + +_Route16BattleText3:: + text "Come out and play," + line "little mouse!" + done + +_Route16EndBattleText3:: + text "You" + line "little rat!" + prompt + +_Route16AfterBattleText3:: + text "I hate losing!" + line "Get away from me!" + done + +_Route16BattleText4:: + text "Hey, you just" + line "bumped me!" + done + +_Route16EndBattleText4:: + text "Kaboom!" + prompt + +_Route16AfterBattleText4:: + text "You can also get" + line "to FUCHSIA from" + cont "VERMILION using a" + cont "coastal road." + done + +_Route16BattleText5:: + text "I'm feeling" + line "hungry and mean!" + done + +_Route16EndBattleText5:: + text "Bad," + line "bad, bad!" + prompt + +_Route16AfterBattleText5:: + text "I like my #MON" + line "ferocious! They" + cont "tear up enemies!" + done + +_Route16BattleText6:: + text "Sure, I'll go!" + done + +_Route16EndBattleText6:: + text "Don't make" + line "me mad!" + prompt + +_Route16AfterBattleText6:: + text "I like harassing" + line "people with my" + cont "vicious #MON!" + done + +_Route16Text7:: + text "A sleeping #MON" + line "blocks the way!" + done + +_Route16Text10:: + text "SNORLAX woke up!" + + para "It attacked in a" + line "grumpy rage!" + done + +_Route16Text11:: + text "With a big yawn," + line "SNORLAX returned" + cont "to the mountains!" + done + +_Route16Text8:: + text "Enjoy the slope!" + line "CYCLING ROAD" + done + +_Route16Text9:: + text "ROUTE 16" + line "CELADON CITY -" + cont "FUCHSIA CITY" + done diff --git a/text/Route16FlyHouse.asm b/text/Route16FlyHouse.asm new file mode 100644 index 00000000..77efde87 --- /dev/null +++ b/text/Route16FlyHouse.asm @@ -0,0 +1,31 @@ +_Route16HouseText3:: + text "Oh, you found my" + line "secret retreat!" + + para "Please don't tell" + line "anyone I'm here." + cont "I'll make it up" + cont "to you with this!" + prompt + +_ReceivedHM02Text:: + text " received" + line "HM02!@@" + +_HM02ExplanationText:: + text "HM02 is FLY." + line "It will take you" + cont "back to any town." + + para "Put it to good" + line "use!" + done + +_HM02NoRoomText:: + text "You don't have any" + line "room for this." + done + +_Route16HouseText_1e652:: + text "FEAROW: Kyueen!" + done diff --git a/text/Route16Gate1F.asm b/text/Route16Gate1F.asm new file mode 100644 index 00000000..f548977f --- /dev/null +++ b/text/Route16Gate1F.asm @@ -0,0 +1,22 @@ +_Route16GateText_49777:: + text "No pedestrians" + line "are allowed on" + cont "CYCLING ROAD!" + done + +_Route16GateText_4977c:: + text "CYCLING ROAD is a" + line "downhill course" + cont "by the sea. It's" + cont "a great ride." + done + +_Route16GateText_49781:: + text "Excuse me! Wait" + line "up please!" + done + +_Route16GateText2:: + text "How'd you get in?" + line "Good effort!" + done diff --git a/text/Route16Gate2F.asm b/text/Route16Gate2F.asm new file mode 100644 index 00000000..d76b70ca --- /dev/null +++ b/text/Route16Gate2F.asm @@ -0,0 +1,26 @@ +_Route16GateUpstairsText_49820:: + text "I'm going for a" + line "ride with my girl" + cont "friend!" + done + +_Route16GateUpstairsText_4982f:: + text "We're going" + line "riding together!" + done + +_Route16GateUpstairsText_4983b:: + text "Looked into the" + line "binoculars." + + para "It's CELADON DEPT." + line "STORE!" + done + +_Route16GateUpstairsText_49847:: + text "Looked into the" + line "binoculars." + + para "There's a long" + line "path over water!" + done diff --git a/text/Route17.asm b/text/Route17.asm new file mode 100644 index 00000000..a0affd90 --- /dev/null +++ b/text/Route17.asm @@ -0,0 +1,195 @@ +_Route17BattleText1:: + text "There's no money" + line "in fighting kids!" + done + +_Route17EndBattleText1:: + text "Burned" + line "out!" + prompt + +_Route17AfterBattleText1:: + text "Good stuff is" + line "lying around on" + cont "CYCLING ROAD!" + done + +_Route17BattleText2:: + text "What do you want," + line "kiddo?" + done + +_Route17EndBattleText2:: + text "Whoo!" + prompt + +_Route17AfterBattleText2:: + text "I could belly-" + line "bump you outta" + cont "here!" + done + +_Route17BattleText3:: + text "You heading to" + line "FUCHSIA?" + done + +_Route17EndBattleText3:: + text "Crash and" + line "burn!" + prompt + +_Route17AfterBattleText3:: + text "I love racing" + line "downhill!" + done + +_Route17BattleText4:: + text "We're BIKERs!" + line "Highway stars!" + done + +_Route17EndBattleText4:: + text "Smoked!" + prompt + +_Route17AfterBattleText4:: + text "Are you looking" + line "for adventure?" + done + +_Route17BattleText5:: + text "Let VOLTORB" + line "electrify you!" + done + +_Route17EndBattleText5:: + text "Grounded" + line "out!" + prompt + +_Route17AfterBattleText5:: + text "I got my VOLTORB" + line "at the abandoned" + cont "POWER PLANT." + done + +_Route17BattleText6:: + text "My #MON won't" + line "evolve! Why?" + done + +_Route17EndBattleText6:: + text "Why," + line "you!" + prompt + +_Route17AfterBattleText6:: + text "Maybe some #MON" + line "need element" + cont "STONEs to evolve." + done + +_Route17BattleText7:: + text "I need a little" + line "exercise!" + done + +_Route17EndBattleText7:: + text "Whew!" + line "Good workout!" + prompt + +_Route17AfterBattleText7:: + text "I'm sure I lost" + line "weight there!" + done + +_Route17BattleText8:: + text "Be a rebel!" + done + +_Route17EndBattleText8:: + text "Aaaargh!" + prompt + +_Route17AfterBattleText8:: + text "Be ready to fight" + line "for your beliefs!" + done + +_Route17BattleText9:: + text "Nice BIKE!" + line "How's it handle?" + done + +_Route17EndBattleText9:: + text "Shoot!" + prompt + +_Route17AfterBattleText9:: + text "The slope makes" + line "it hard to steer!" + done + +_Route17BattleText10:: + text "Get lost kid!" + line "I'm bushed!" + done + +_Route17EndBattleText10:: + text "Are you" + line "satisfied?" + prompt + +_Route17AfterBattleText10:: + text "I need to catch" + line "a few Zs!" + done + +_Route17Text11:: + text "It's a notice!" + + para "Watch out for" + line "discarded items!" + done + +_Route17Text12:: + text "TRAINER TIPS" + + para "All #MON are" + line "unique." + + para "Even #MON of" + line "the same type and" + cont "level grow at" + cont "different rates." + done + +_Route17Text13:: + text "TRAINER TIPS" + + para "Press the A or B" + line "Button to stay in" + cont "place while on a" + cont "slope." + done + +_Route17Text14:: + text "ROUTE 17" + line "CELADON CITY -" + cont "FUCHSIA CITY" + done + +_Route17Text15:: + text "It's a notice!" + + para "Don't throw the" + line "game, throw #" + cont "BALLs instead!" + done + +_Route17Text16:: + text "CYCLING ROAD" + line "Slope ends here!" + done diff --git a/text/Route18.asm b/text/Route18.asm new file mode 100644 index 00000000..d09caf82 --- /dev/null +++ b/text/Route18.asm @@ -0,0 +1,58 @@ +_Route18BattleText1:: + text "I always check" + line "every grassy area" + cont "for new #MON." + done + +_Route18EndBattleText1:: + text "Tch!" + prompt + +_Route18AfterBattleText1:: + text "I wish I had a" + line "BIKE!" + done + +_Route18BattleText2:: + text "Kurukkoo!" + line "How do you like" + cont "my bird call?" + done + +_Route18EndBattleText2:: + text "I" + line "had to bug you!" + prompt + +_Route18AfterBattleText2:: + text "I also collect sea" + line "#MON on" + cont "weekends!" + done + +_Route18BattleText3:: + text "This is my turf!" + line "Get out of here!" + done + +_Route18EndBattleText3:: + text "Darn!" + prompt + +_Route18AfterBattleText3:: + text "This is my fave" + line "#MON hunting" + cont "area!" + done + +_Route18Text4:: + text "ROUTE 18" + line "CELADON CITY -" + cont "FUCHSIA CITY" + done + +_Route18Text5:: + text "CYCLING ROAD" + line "No pedestrians" + cont "permitted!" + done diff --git a/text/Route18Gate1F.asm b/text/Route18Gate1F.asm new file mode 100644 index 00000000..f2f51039 --- /dev/null +++ b/text/Route18Gate1F.asm @@ -0,0 +1,14 @@ +_Route18GateText_49928:: + text "You need a BICYCLE" + line "for CYCLING ROAD!" + done + +_Route18GateText_4992d:: + text "CYCLING ROAD is" + line "all uphill from" + cont "here." + done + +_Route18GateText_49932:: + text "Excuse me!" + done diff --git a/text/Route18Gate2F.asm b/text/Route18Gate2F.asm new file mode 100644 index 00000000..0fd2de09 --- /dev/null +++ b/text/Route18Gate2F.asm @@ -0,0 +1,15 @@ +_Route18GateUpstairsText_49993:: + text "Looked into the" + line "binoculars." + + para "PALLET TOWN is in" + line "the west!" + done + +_Route18GateUpstairsText_4999f:: + text "Looked into the" + line "binoculars." + + para "There are people" + line "swimming!" + done diff --git a/text/Route19.asm b/text/Route19.asm new file mode 100644 index 00000000..244e31d0 --- /dev/null +++ b/text/Route19.asm @@ -0,0 +1,157 @@ +_Route19BattleText1:: + text "Have to warm up" + line "before my swim!" + done + +_Route19EndBattleText1:: + text "All" + line "warmed up!" + prompt + +_Route19AfterBattleText1:: + text "Thanks, kid! I'm" + line "ready for a swim!" + done + +_Route19BattleText2:: + text "Wait! You'll have" + line "a heart attack!" + done + +_Route19EndBattleText2:: + text "Ooh!" + line "That's chilly!" + prompt + +_Route19AfterBattleText2:: + text "Watch out for" + line "TENTACOOL!" + done + +_Route19BattleText3:: + text "I love swimming!" + line "What about you?" + done + +_Route19EndBattleText3:: + text "Belly" + line "flop!" + prompt + +_Route19AfterBattleText3:: + text "I can beat #MON" + line "at swimming!" + done + +_Route19BattleText4:: + text "What's beyond the" + line "horizon?" + done + +_Route19EndBattleText4:: + text "Glub!" + prompt + +_Route19AfterBattleText4:: + text "I see a couple of" + line "islands!" + done + +_Route19BattleText5:: + text "I tried diving" + line "for #MON, but" + cont "it was a no go!" + done + +_Route19EndBattleText5:: + text "Help!" + prompt + +_Route19AfterBattleText5:: + text "You have to fish" + line "for sea #MON!" + done + +_Route19BattleText6:: + text "I look at the" + line "sea to forget!" + done + +_Route19EndBattleText6:: + text "Ooh!" + line "Traumatic!" + prompt + +_Route19AfterBattleText6:: + text "I'm looking at the" + line "sea to forget!" + done + +_Route19BattleText7:: + text "Oh, I just love" + line "your ride! Can I" + cont "have it if I win?" + done + +_Route19EndBattleText7:: + text "Oh!" + line "I lost!" + prompt + +_Route19AfterBattleText7:: + text "It's still a long" + line "way to go to" + cont "SEAFOAM ISLANDS." + done + +_Route19BattleText8:: + text "Swimming's great!" + line "Sunburns aren't!" + done + +_Route19EndBattleText8:: + text "Shocker!" + prompt + +_Route19AfterBattleText8:: + text "My boy friend" + line "wanted to swim to" + cont "SEAFOAM ISLANDS." + done + +_Route19BattleText9:: + text "These waters are" + line "treacherous!" + done + +_Route19EndBattleText9:: + text "Ooh!" + line "Dangerous!" + prompt + +_Route19AfterBattleText9:: + text "I got a cramp!" + line "Glub, glub..." + done + +_Route19BattleText10:: + text "I swam here, but" + line "I'm tired." + done + +_Route19EndBattleText10:: + text "I'm" + line "exhausted..." + prompt + +_Route19AfterBattleText10:: + text "LAPRAS is so big," + line "it must keep you" + cont "dry on water." + done + +_Route19Text11:: + text "SEA ROUTE 19" + line "FUCHSIA CITY -" + cont "SEAFOAM ISLANDS" + done diff --git a/text/Route2.asm b/text/Route2.asm new file mode 100644 index 00000000..dd7becc0 --- /dev/null +++ b/text/Route2.asm @@ -0,0 +1,9 @@ +_Route2Text3:: + text "ROUTE 2" + line "VIRIDIAN CITY -" + cont "PEWTER CITY" + done + +_Route2Text4:: + text "DIGLETT's CAVE" + done diff --git a/text/Route20.asm b/text/Route20.asm new file mode 100644 index 00000000..1ccf0b6c --- /dev/null +++ b/text/Route20.asm @@ -0,0 +1,156 @@ +_Route20BattleText1:: + text "The water is" + line "shallow here." + done + +_Route20EndBattleText1:: + text "Splash!" + prompt + +_Route20AfterBattleText1:: + text "I wish I could" + line "ride my #MON." + done + +_Route20BattleText2:: + text "SEAFOAM is a" + line "quiet getaway!" + done + +_Route20EndBattleText2:: + text "Quit it!" + prompt + +_Route20AfterBattleText2:: + text "There's a huge" + line "cavern underneath" + cont "this island." + done + +_Route20BattleText3:: + text "I love floating" + line "with the fishes!" + done + +_Route20EndBattleText3:: + text "Yowch!" + prompt + +_Route20AfterBattleText3:: + text "Want to float" + line "with me?" + done + +_Route20BattleText4:: + text "Are you on" + line "vacation too?" + done + +_Route20EndBattleText4:: + text "No" + line "mercy at all!" + prompt + +_Route20AfterBattleText4:: + text "SEAFOAM used to" + line "be one island!" + done + +_Route20BattleText5:: + text "Check out my buff" + line "physique!" + done + +_Route20EndBattleText5:: + text "Wimpy!" + prompt + +_Route20AfterBattleText5:: + text "I should've been" + line "buffing up my" + cont "#MON, not me!" + done + +_Route20BattleText6:: + text "Why are you" + line "riding a #MON?" + cont "Can't you swim?" + done + +_Route20EndBattleText6:: + text "Ouch!" + line "Torpedoed!" + prompt + +_Route20AfterBattleText6:: + text "Riding a #MON" + line "sure looks fun!" + done + +_Route20BattleText7:: + text "I rode my bird" + line "#MON here!" + done + +_Route20EndBattleText7:: + text "Oh" + line "no!" + prompt + +_Route20AfterBattleText7:: + text "My birds can't" + line "FLY me back!" + done + +_Route20BattleText8:: + text "My boy friend gave" + line "me big pearls!" + done + +_Route20EndBattleText8:: + text "Don't" + line "touch my pearls!" + prompt + +_Route20AfterBattleText8:: + text "Will my pearls" + line "grow bigger" + cont "inside CLOYSTER?" + done + +_Route20BattleText9:: + text "I swam here from" + line "CINNABAR ISLAND!" + done + +_Route20EndBattleText9:: + text "I'm" + line "so disappointed!" + prompt + +_Route20AfterBattleText9:: + text "#MON have" + line "taken over an" + cont "abandoned mansion" + cont "on CINNABAR!" + done + +_Route20BattleText10:: + text "CINNABAR, in the" + line "west, has a LAB" + cont "for #MON." + done + +_Route20EndBattleText10:: + text "Wait!" + prompt + +_Route20AfterBattleText10:: + text "CINNABAR is a " + line "volcanic island!" + done + +_Route20Text12:: +_Route20Text11:: + text "SEAFOAM ISLANDS" + done diff --git a/text/Route21.asm b/text/Route21.asm new file mode 100644 index 00000000..3451953f --- /dev/null +++ b/text/Route21.asm @@ -0,0 +1,137 @@ +_Route21BattleText1:: + text "You want to know" + line "if the fish are" + cont "biting?" + done + +_Route21EndBattleText1:: + text "Dang!" + prompt + +_Route21AfterBattleText1:: + text "I can't catch" + line "anything good!" + done + +_Route21BattleText2:: + text "I got a big haul!" + line "Wanna go for it?" + done + +_Route21EndBattleText2:: + text "Darn" + line "MAGIKARP!" + prompt + +_Route21AfterBattleText2:: + text "I seem to only" + line "catch MAGIKARP!" + done + +_Route21BattleText3:: + text "The sea cleanses" + line "my body and soul!" + done + +_Route21EndBattleText3:: + text "Ayah!" + prompt + +_Route21AfterBattleText3:: + text "I like the" + line "mountains too!" + done + +_Route21BattleText4:: + text "What's wrong with" + line "me swimming?" + done + +_Route21EndBattleText4:: + text "Cheap" + line "shot!" + prompt + +_Route21AfterBattleText4:: + text "I look like what?" + line "A studded inner" + cont "tube? Get lost!" + done + +_Route21BattleText5:: + text "I caught all my" + line "#MON at sea!" + done + +_Route21EndBattleText5:: + text "Diver!!" + line "Down!!" + prompt + +_Route21AfterBattleText5:: + text "Where'd you catch" + line "your #MON?" + done + +_Route21BattleText6:: + text "Right now, I'm in" + line "a triathlon meet!" + done + +_Route21EndBattleText6:: + text "Pant..." + line "pant...pant..." + prompt + +_Route21AfterBattleText6:: + text "I'm beat!" + line "But, I still have" + cont "the bike race and" + cont "marathon left!" + done + +_Route21BattleText7:: + text "Ahh! Feel the sun" + line "and the wind!" + done + +_Route21EndBattleText7:: + text "Yow!" + line "I lost!" + prompt + +_Route21AfterBattleText7:: + text "I'm sunburnt to a" + line "crisp!" + done + +_Route21BattleText8:: + text "Hey, don't scare" + line "away the fish!" + done + +_Route21EndBattleText8:: + text "Sorry!" + line "I didn't mean it!" + prompt + +_Route21AfterBattleText8:: + text "I was just angry" + line "that I couldn't" + cont "catch anything." + done + +_Route21BattleText9:: + text "Keep me company" + line "'til I get a hit!" + done + +_Route21EndBattleText9:: + text "That" + line "burned some time." + prompt + +_Route21AfterBattleText9:: + text "Oh wait! I got a" + line "bite! Yeah!" + done diff --git a/text/Route22.asm b/text/Route22.asm new file mode 100644 index 00000000..3a1d28f0 --- /dev/null +++ b/text/Route22.asm @@ -0,0 +1,104 @@ +_Route22RivalBeforeBattleText1:: + text ": Hey!" + line "!" + + para "You're going to" + line "#MON LEAGUE?" + + para "Forget it! You" + line "probably don't" + cont "have any BADGEs!" + + para "The guard won't" + line "let you through!" + + para "By the way, did" + line "your #MON" + cont "get any stronger?" + done + +_Route22RivalAfterBattleText1:: + text "I heard #MON" + line "LEAGUE has many" + cont "tough trainers!" + + para "I have to figure" + line "out how to get" + cont "past them!" + + para "You should quit" + line "dawdling and get" + cont "a move on!" + done + +_Route22RivalDefeatedText1:: + text "Awww!" + line "You just lucked" + cont "out!" + prompt + +_Route22Text_511bc:: + text ": What?" + line "Why do I have 2" + cont "#MON?" + + para "You should catch" + cont "some more too!" + prompt + +_Route22RivalBeforeBattleText2:: + text ": What?" + line "! What a" + cont "surprise to see" + cont "you here!" + + para "So you're going to" + line "#MON LEAGUE?" + + para "You collected all" + line "the BADGEs too?" + cont "That's cool!" + + para "Then I'll whip you" + line " as a" + cont "warm up for" + cont "#MON LEAGUE!" + + para "Come on!" + done + +_Route22RivalAfterBattleText2:: + text "That loosened me" + line "up! I'm ready for" + cont "#MON LEAGUE!" + + para ", you need" + line "more practice!" + + para "But hey, you know" + line "that! I'm out of" + cont "here. Smell ya!" + done + +_Route22RivalDefeatedText2:: + text "What!?" + + para "I was just" + line "careless!" + prompt + +_Route22Text_511d0:: + text ": Hahaha!" + line "! That's" + cont "your best? You're" + cont "nowhere near as" + cont "good as me, pal!" + + para "Go train some" + line "more! You loser!" + prompt + +_Route22FrontGateText:: + text "#MON LEAGUE" + line "Front Gate" + done diff --git a/text/Route22Gate.asm b/text/Route22Gate.asm new file mode 100644 index 00000000..ce3f6824 --- /dev/null +++ b/text/Route22Gate.asm @@ -0,0 +1,20 @@ +_Route22GateText_1e704:: + text "Only truly skilled" + line "trainers are" + cont "allowed through." + + para "You don't have the" + line "BOULDERBADGE yet!@@" + +_Route22GateText_1e715:: + text "" + + para "The rules are" + line "rules. I can't" + cont "let you pass." + done + +_Route22GateText_1e71a:: + text "Oh! That is the" + line "BOULDERBADGE!" + cont "Go right ahead!@@" diff --git a/text/Route23.asm b/text/Route23.asm new file mode 100644 index 00000000..a7e534de --- /dev/null +++ b/text/Route23.asm @@ -0,0 +1,39 @@ +_VictoryRoadGuardText1:: + text "You can pass here" + line "only if you have" + cont "the @" + TX_RAM wcd6d + text "!" + + para "You don't have the" + line "@" + TX_RAM wcd6d + text " yet!" + + para "You have to have" + line "it to get to" + cont "#MON LEAGUE!@@" + +_VictoryRoadGuardText2:: + text "You can pass here" + line "only if you have" + cont "the @" + TX_RAM wcd6d + text "!" + + para "Oh! That is the" + line "@" + TX_RAM wcd6d + text "!@@" + +_VictoryRoadGuardText_513a3:: + text "" + + para "OK then! Please," + line "go right ahead!" + done + +_Route23Text8:: + text "VICTORY ROAD GATE" + line "- #MON LEAGUE" + done diff --git a/text/Route24.asm b/text/Route24.asm new file mode 100644 index 00000000..c14b689a --- /dev/null +++ b/text/Route24.asm @@ -0,0 +1,65 @@ +_Route24Text_51510:: + text "Congratulations!" + line "You beat our 5" + cont "contest trainers!@@" + +_Route24Text_51515:: + text "" + + para "You just earned a" + line "fabulous prize!" + prompt + +_Route24Text_5151a:: + text " received" + line "a @" + TX_RAM wcf4b + text "!@@" + +_Route24Text_51521:: + text "You don't have" + line "any room!" + done + +_Route24Text_51526:: + text "By the way, would" + line "you like to join" + cont "TEAM ROCKET?" + + para "We're a group" + line "dedicated to evil" + cont "using #MON!" + + para "Want to join?" + + para "Are you sure?" + + para "Come on, join us!" + + para "I'm telling you" + line "to join!" + + para "OK, you need" + line "convincing!" + + para "I'll make you an" + line "offer you can't" + cont "refuse!" + done + +_Route24Text_5152b:: + text "Arrgh!" + line "You are good!" + prompt + +_Route24Text_51530:: + text "With your ability," + line "you could become" + cont "a top leader in" + cont "TEAM ROCKET!" + done + +_Route24BattleText1:: + text "I saw your feat" + line "from the grass!" + done diff --git a/text/Route24_2.asm b/text/Route24_2.asm new file mode 100644 index 00000000..325dea13 --- /dev/null +++ b/text/Route24_2.asm @@ -0,0 +1,90 @@ +_Route24EndBattleText1:: + text "I" + line "thought not!" + prompt + +_Route24AfterBattleText1:: + text "I hid because the" + line "people on the" + cont "bridge scared me!" + done + +_Route24BattleText2:: + text "OK! I'm No. 5!" + line "I'll stomp you!" + done + +_Route24EndBattleText2:: + text "Whoa!" + line "Too much!" + prompt + +_Route24AfterBattleText2:: + text "I did my best, I" + line "have no regrets!" + done + +_Route24BattleText3:: + text "I'm No. 4!" + line "Getting tired?" + done + +_Route24EndBattleText3:: + text "I lost" + line "too!" + prompt + +_Route24AfterBattleText3:: + text "I did my best, so" + line "I've no regrets!" + done + +_Route24BattleText4:: + text "Here's No. 3!" + line "I won't be easy!" + done + +_Route24EndBattleText4:: + text "Ow!" + line "Stomped flat!" + prompt + +_Route24AfterBattleText4:: + text "I did my best, I" + line "have no regrets!" + done + +_Route24BattleText5:: + text "I'm second!" + line "Now it's serious!" + done + +_Route24EndBattleText5:: + text "How could I" + line "lose?" + prompt + +_Route24AfterBattleText5:: + text "I did my best, I" + line "have no regrets!" + done + +_Route24BattleText6:: + text "This is NUGGET" + line "BRIDGE! Beat us 5" + cont "trainers and win" + cont "a fabulous prize!" + + para "Think you got" + line "what it takes?" + done + +_Route24EndBattleText6:: + text "Whoo!" + line "Good stuff!" + prompt + +_Route24AfterBattleText6:: + text "I did my best, I" + line "have no regrets!" + done diff --git a/text/Route25.asm b/text/Route25.asm new file mode 100644 index 00000000..325ab348 --- /dev/null +++ b/text/Route25.asm @@ -0,0 +1,156 @@ +_Route25BattleText1:: + text "Local trainers" + line "come here to" + cont "practice!" + done + +_Route25EndBattleText1:: + text "You're" + line "decent." + prompt + +_Route25AfterBattleText1:: + text "All #MON have" + line "weaknesses. It's" + cont "best to raise" + cont "different kinds." + done + +_Route25BattleText2:: + text "Dad took me to a" + line "great party on" + cont "S.S.ANNE at" + cont "VERMILION CITY!" + done + +_Route25EndBattleText2:: + text "I'm" + line "not mad!" + prompt + +_Route25AfterBattleText2:: + text "On S.S.ANNE, I" + line "saw trainers from" + cont "around the world." + done + +_Route25BattleText3:: + text "I'm a cool guy." + line "I've got a girl" + cont "friend!" + done + +_Route25EndBattleText3:: + text "Aww," + line "darn..." + prompt + +_Route25AfterBattleText3:: + text "Oh well. My girl" + line "will cheer me up." + done + +_Route25BattleText4:: + text "Hi! My boy" + line "friend is cool!" + done + +_Route25EndBattleText4:: + text "I was in" + line "bad condition!" + prompt + +_Route25AfterBattleText4:: + text "I wish my guy was" + line "as good as you!" + done + +_Route25BattleText5:: + text "I knew I had to" + line "fight you!" + done + +_Route25EndBattleText5:: + text "I knew" + line "I'd lose too!" + prompt + +_Route25AfterBattleText5:: + text "If your #MON" + line "gets confused or" + cont "falls asleep," + cont "switch it!" + done + +_Route25BattleText6:: + text "My friend has a" + line "cute #MON." + cont "I'm so jealous!" + done + +_Route25EndBattleText6:: + text "I'm" + line "not so jealous!" + prompt + +_Route25AfterBattleText6:: + text "You came from MT." + line "MOON? May I have" + cont "a CLEFAIRY?" + done + +_Route25BattleText7:: + text "I just got down" + line "from MT.MOON," + cont "but I'm ready!" + done + +_Route25EndBattleText7:: + text "You" + line "worked hard!" + prompt + +_Route25AfterBattleText7:: + text "Drat!" + line "A ZUBAT bit me" + cont "back in there." + done + +_Route25BattleText8:: + text "I'm off to see a" + line "#MON collector" + cont "at the cape!" + done + +_Route25EndBattleText8:: + text "You" + line "got me." + prompt + +_Route25AfterBattleText8:: + text "The collector has" + line "many rare kinds" + cont "of #MON." + done + +_Route25BattleText9:: + text "You're going to" + line "see BILL? First," + cont "let's fight!" + done + +_Route25EndBattleText9:: + text "You're" + line "something." + prompt + +_Route25AfterBattleText9:: + text "The trail below" + line "is a shortcut to" + cont "CERULEAN CITY." + done + +_Route25Text11:: + text "SEA COTTAGE" + line "BILL lives here!" + done diff --git a/text/Route2Gate.asm b/text/Route2Gate.asm new file mode 100644 index 00000000..566830f8 --- /dev/null +++ b/text/Route2Gate.asm @@ -0,0 +1,12 @@ +_Route2GateText_5d616:: + text "The HM FLASH" + line "lights even the" + cont "darkest dungeons." + done + +_Route2GateText2:: + text "Once a #MON" + line "learns FLASH, you" + cont "can get through" + cont "ROCK TUNNEL." + done diff --git a/text/Route2TradeHouse.asm b/text/Route2TradeHouse.asm new file mode 100644 index 00000000..46fc1062 --- /dev/null +++ b/text/Route2TradeHouse.asm @@ -0,0 +1,6 @@ +_Route2HouseText1:: + text "A fainted #MON" + line "can't fight. But, " + cont "it can still use " + cont "moves like CUT!" + done diff --git a/text/Route3.asm b/text/Route3.asm new file mode 100644 index 00000000..966a0786 --- /dev/null +++ b/text/Route3.asm @@ -0,0 +1,145 @@ +_Route3Text1:: + text "Whew... I better" + line "take a rest..." + cont "Groan..." + + para "That tunnel from" + line "CERULEAN takes a" + cont "lot out of you!" + done + +_Route3BattleText1:: + text "Hey! I met you in" + line "VIRIDIAN FOREST!" + done + +_Route3EndBattleText1:: + text "You" + line "beat me again!" + prompt + +_Route3AfterBattleText1:: + text "There are other" + line "kinds of #MON" + cont "than those found" + cont "in the forest!" + done + +_Route3BattleText2:: + text "Hi! I like shorts!" + line "They're comfy and" + cont "easy to wear!" + done + +_Route3EndBattleText2:: + text "I don't" + line "believe it!" + prompt + +_Route3AfterBattleText2:: + text "Are you storing" + line "your #MON on" + cont "PC? Each BOX can" + cont "hold 20 #MON!" + done + +_Route3BattleText3:: + text "You looked at me," + line "didn't you?" + done + +_Route3EndBattleText3:: + text "You're" + line "mean!" + prompt + +_Route3AfterBattleText3:: + text "Quit staring if" + line "you don't want to" + cont "fight!" + done + +_Route3BattleText4:: + text "Are you a trainer?" + line "Let's fight!" + done + +_Route3EndBattleText4:: + text "If I" + line "had new #MON I" + cont "would've won!" + prompt + +_Route3AfterBattleText4:: + text "If a #MON BOX" + line "on the PC gets" + cont "full, just switch" + cont "to another BOX!" + done + +_Route3BattleText5:: + text "That look you" + line "gave me, it's so" + cont "intriguing!" + done + +_Route3EndBattleText5:: + text "Be nice!" + prompt + +_Route3AfterBattleText5:: + text "Avoid fights by" + line "not letting" + cont "people see you!" + done + +_Route3BattleText6:: + text "Hey! You're not" + line "wearing shorts!" + done + +_Route3EndBattleText6:: + text "Lost!" + line "Lost! Lost!" + prompt + +_Route3AfterBattleText6:: + text "I always wear" + line "shorts, even in" + cont "winter!" + done + +_Route3BattleText7:: + text "You can fight my" + line "new #MON!" + done + +_Route3EndBattleText7:: + text "Done" + line "like dinner!" + prompt + +_Route3AfterBattleText7:: + text "Trained #MON" + line "are stronger than" + cont "the wild ones!" + done + +_Route3BattleText8:: + text "Eek! Did you" + line "touch me?" + done + +_Route3EndBattleText8:: + text "That's it?" + prompt + +_Route3AfterBattleText8:: + text "ROUTE 4 is at the" + line "foot of MT.MOON." + done + +_Route3Text10:: + text "ROUTE 3" + line "MT.MOON AHEAD" + done diff --git a/text/Route4.asm b/text/Route4.asm new file mode 100644 index 00000000..0a36f4cd --- /dev/null +++ b/text/Route4.asm @@ -0,0 +1,35 @@ +_Route4Text1:: + text "Ouch! I tripped" + line "over a rocky" + cont "#MON, GEODUDE!" + done + +_Route4BattleText1:: + text "I came to get my" + line "mushroom #MON!" + done + +_Route4EndBattleText1:: + text "Oh! My cute" + line "mushroom #MON!" + prompt + +_Route4AfterBattleText1:: + text "There might not" + line "be any more" + cont "mushrooms here." + + para "I think I got" + line "them all." + done + +_Route4Text5:: + text "MT.MOON" + line "Tunnel Entrance" + done + +_Route4Text6:: + text "ROUTE 4" + line "MT.MOON -" + cont "CERULEAN CITY" + done diff --git a/text/Route5.asm b/text/Route5.asm new file mode 100644 index 00000000..54ff0f84 --- /dev/null +++ b/text/Route5.asm @@ -0,0 +1,5 @@ +_Route5Text1:: + text "UNDERGROUND PATH" + line "CERULEAN CITY -" + cont "VERMILION CITY" + done diff --git a/text/Route6.asm b/text/Route6.asm new file mode 100644 index 00000000..c48b5d3d --- /dev/null +++ b/text/Route6.asm @@ -0,0 +1,97 @@ +_Route6BattleText1:: + text "Who's there?" + line "Quit listening in" + cont "on us!" + done + +_Route6EndBattleText1:: + text "I" + line "just can't win!" + prompt + +_Route6AfterBattleText1:: + text "Whisper..." + line "whisper..." + done + +_Route6BattleText2:: + text "Excuse me! This" + line "is a private" + cont "conversation!" + done + +_Route6EndBattleText2:: + text "Ugh!" + line "I hate losing!" + prompt + +_Route6BattleText3:: + text "There aren't many" + line "bugs out here." + done + +_Route6EndBattleText3:: + text "No!" + line "You're kidding!" + prompt + +_Route6AfterBattleText3:: + text "I like bugs, so" + line "I'm going back to" + cont "VIRIDIAN FOREST." + done + +_Route6BattleText4:: + text "Huh? You want" + line "to talk to me?" + done + +_Route6EndBattleText4:: + text "I" + line "didn't start it!" + prompt + +_Route6AfterBattleText4:: + text "I should carry" + line "more #MON with" + cont "me for safety." + done + +_Route6BattleText5:: + text "Me? Well, OK." + line "I'll play!" + done + +_Route6EndBattleText5:: + text "Just" + line "didn't work!" + prompt + +_Route6AfterBattleText5:: + text "I want to get" + line "stronger! What's" + cont "your secret?" + done + +_Route6BattleText6:: + text "I've never seen" + line "you around!" + cont "Are you good?" + done + +_Route6EndBattleText6:: + text "You" + line "are too good!" + prompt + +_Route6AfterBattleText6:: + text "Are my #MON" + line "weak? Or, am I" + cont "just bad?" + done + +_Route6Text7:: + text "UNDERGROUND PATH" + line "CERULEAN CITY -" + cont "VERMILION CITY" + done diff --git a/text/Route7.asm b/text/Route7.asm new file mode 100644 index 00000000..6500be96 --- /dev/null +++ b/text/Route7.asm @@ -0,0 +1,5 @@ +_Route7Text1:: + text "UNDERGROUND PATH" + line "CELADON CITY -" + cont "LAVENDER TOWN" + done diff --git a/text/Route8.asm b/text/Route8.asm new file mode 100644 index 00000000..57a9a5f9 --- /dev/null +++ b/text/Route8.asm @@ -0,0 +1,154 @@ +_Route8BattleText1:: + text "You look good at" + line "#MON, but" + cont "how's your chem?" + done + +_Route8EndBattleText1:: + text "Ow!" + line "Meltdown!" + prompt + +_Route8AfterBattleText1:: + text "I am better at" + line "school than this!" + done + +_Route8BattleText2:: + text "All right! Let's" + line "roll the dice!" + done + +_Route8EndBattleText2:: + text "Drat!" + line "Came up short!" + prompt + +_Route8AfterBattleText2:: + text "Lady Luck's not" + line "with me today!" + done + +_Route8BattleText3:: + text "You need strategy" + line "to win at this!" + done + +_Route8EndBattleText3:: + text "It's" + line "not logical!" + prompt + +_Route8AfterBattleText3:: + text "Go with GRIMER" + line "first...and..." + cont "...and...then..." + done + +_Route8BattleText4:: + text "I like NIDORAN, so" + line "I collect them!" + done + +_Route8EndBattleText4:: + text "Why? Why??" + prompt + +_Route8AfterBattleText4:: + text "When #MON grow" + line "up they get ugly!" + cont "They shouldn't" + cont "evolve!" + done + +_Route8BattleText5:: + text "School is fun, but" + line "so are #MON." + done + +_Route8EndBattleText5:: + text "I'll" + line "stay with school." + prompt + +_Route8AfterBattleText5:: + text "We're stuck here" + line "because of the" + cont "gates at SAFFRON." + done + +_Route8BattleText6:: + text "MEOWTH is so cute," + line "meow, meow, meow!" + done + +_Route8EndBattleText6:: + text "Meow!" + prompt + +_Route8AfterBattleText6:: + text "I think PIDGEY" + line "and RATTATA" + cont "are cute too!" + done + +_Route8BattleText7:: + text "We must look" + line "silly standing" + cont "here like this!" + done + +_Route8EndBattleText7:: + text "Look what" + line "you did!" + prompt + +_Route8AfterBattleText7:: + text "SAFFRON's gate" + line "keeper won't let" + cont "us through." + cont "He's so mean!" + done + +_Route8BattleText8:: + text "I'm a rambling," + line "gambling dude!" + done + +_Route8EndBattleText8:: + text "Missed" + line "the big score!" + prompt + +_Route8AfterBattleText8:: + text "Gambling and" + line "#MON are like" + cont "eating peanuts!" + cont "Just can't stop!" + done + +_Route8BattleText9:: + text "What's a cute," + line "round and fluffy" + cont "#MON?" + done + +_Route8EndBattleText9:: + text "Stop!" + + para "Don't be so mean" + line "to my CLEFAIRY!" + prompt + +_Route8AfterBattleText9:: + text "I heard that" + line "CLEFAIRY evolves" + cont "when it's exposed" + cont "to a MOON STONE." + done + +_Route8Text10:: + text "UNDERGROUND PATH" + line "CELADON CITY -" + cont "LAVENDER TOWN" + done diff --git a/text/Route9.asm b/text/Route9.asm new file mode 100644 index 00000000..9975000d --- /dev/null +++ b/text/Route9.asm @@ -0,0 +1,157 @@ +_Route9BattleText1:: + text "You have #MON" + line "with you!" + cont "You're mine!" + done + +_Route9EndBattleText1:: + text "You" + line "deceived me!" + prompt + +_Route9AfterBattleText1:: + text "You need light to" + line "get through that" + cont "dark tunnel ahead." + done + +_Route9BattleText2:: + text "Who's that walking" + line "with those good" + cont "looking #MON?" + done + +_Route9EndBattleText2:: + text "Out" + line "like a light!" + prompt + +_Route9AfterBattleText2:: + text "Keep walking!" + done + +_Route9BattleText3:: + text "I'm taking ROCK" + line "TUNNEL to go to" + cont "LAVENDER..." + done + +_Route9EndBattleText3:: + text "Can't" + line "measure up!" + prompt + +_Route9AfterBattleText3:: + text "Are you off to" + line "ROCK TUNNEL too?" + done + +_Route9BattleText4:: + text "Don't you dare" + line "condescend me!" + done + +_Route9EndBattleText4:: + text "No!" + line "You're too much!" + prompt + +_Route9AfterBattleText4:: + text "You're obviously" + line "talented! Good" + cont "luck to you!" + done + +_Route9BattleText5:: + text "Bwahaha!" + line "Great! I was" + cont "bored, eh!" + done + +_Route9EndBattleText5:: + text "Keep it" + line "coming, eh!" + + para "Oh wait. I'm out" + line "of #MON!" + prompt + +_Route9AfterBattleText5:: + text "You sure had guts" + line "standing up to me" + cont "there, eh?" + done + +_Route9BattleText6:: + text "Hahaha!" + line "Aren't you a" + cont "little toughie!" + done + +_Route9EndBattleText6:: + text "What's" + line "that?" + prompt + +_Route9AfterBattleText6:: + text "Hahaha! Kids" + line "should be tough!" + done + +_Route9BattleText7:: + text "I got up early" + line "every day to" + cont "raise my #MON" + cont "from cocoons!" + done + +_Route9EndBattleText7:: + text "WHAT?" + + para "What a total" + line "waste of time!" + prompt + +_Route9AfterBattleText7:: + text "I have to collect" + line "more than bugs to" + cont "get stronger..." + done + +_Route9BattleText8:: + text "Hahahaha!" + line "Come on, dude!" + done + +_Route9EndBattleText8:: + text "Hahahaha!" + line "You beat me fair!" + prompt + +_Route9AfterBattleText8:: + text "Hahahaha!" + line "Us hearty guys" + cont "always laugh!" + done + +_Route9BattleText9:: + text "Go, my super bug" + line "#MON!" + done + +_Route9EndBattleText9:: + text "My" + line "bugs..." + prompt + +_Route9AfterBattleText9:: + text "If you don't like" + line "bug #MON, you" + cont "bug me!" + done + +_Route9Text11:: + text "ROUTE 9" + line "CERULEAN CITY-" + cont "ROCK TUNNEL" + done diff --git a/text/SSAnne1F.asm b/text/SSAnne1F.asm new file mode 100644 index 00000000..2bbdcbac --- /dev/null +++ b/text/SSAnne1F.asm @@ -0,0 +1,21 @@ +_SSAnne1Text1:: + text "Bonjour!" + line "I am le waiter on" + cont "this ship!" + + para "I will be happy" + line "to serve you any-" + cont "thing you please!" + + para "Ah! Le strong" + line "silent type!" + done + +_SSAnne1Text2:: + text "The passengers" + line "are restless!" + + para "You might be" + line "challenged by the" + cont "more bored ones!" + done diff --git a/text/SSAnne1FRooms.asm b/text/SSAnne1FRooms.asm new file mode 100644 index 00000000..7a09303e --- /dev/null +++ b/text/SSAnne1FRooms.asm @@ -0,0 +1,104 @@ +_SSAnne8Text8:: + text "WIGGLYTUFF: Puup" + line "pupuu!@@" + +_SSAnne8BattleText1:: + text "I travel alone" + line "on my journeys!" + + para "My #MON are my" + line "only friends!" + done + +_SSAnne8EndBattleText1:: + text "My, my" + line "friends..." + prompt + +_SSAnne8AfterBattleText1:: + text "You should be" + line "nice to friends!" + done + +_SSAnne8BattleText2:: + text "You pup! How dare" + line "you barge in!" + done + +_SSAnne8EndBattleText2:: + text "Humph!" + line "You rude child!" + prompt + +_SSAnne8AfterBattleText2:: + text "I wish to be left" + line "alone! Get out!" + done + +_SSAnne8BattleText3:: + text "I love #MON!" + line "Do you?" + done + +_SSAnne8EndBattleText3:: + text "Wow! " + line "You're great!" + prompt + +_SSAnne8AfterBattleText3:: + text "Let me be your" + line "friend, OK?" + + para "Then we can trade" + line "#MON!" + done + +_SSAnne8BattleText4:: + text "I collected these" + line "#MON from all" + cont "around the world!" + done + +_SSAnne8EndBattleText4:: + text "Oh no!" + line "I went around the" + cont "world for these!" + prompt + +_SSAnne8AfterBattleText4:: + text "You hurt my poor" + line "worldly #MON!" + + para "I demand that you" + line "heal them at a" + cont "#MON CENTER!" + done + +_SSAnne8Text5:: + text "Waiter, I would" + line "like a cherry pie" + cont "please!" + done + +_SSAnne8Text6:: + text "A cruise is so" + line "elegant yet cozy!" + done + +_SSAnne8Text7:: + text "I always travel" + line "with WIGGLYTUFF!" + done + +_SSAnne8Text9:: + text "We are cruising" + line "around the world." + done + +_SSAnne8Text11:: + text "Ssh! I'm a GLOBAL" + line "POLICE agent!" + + para "I'm on the trail" + line "of TEAM ROCKET!" + done diff --git a/text/SSAnne2F.asm b/text/SSAnne2F.asm new file mode 100644 index 00000000..58d804ba --- /dev/null +++ b/text/SSAnne2F.asm @@ -0,0 +1,63 @@ +_SSAnne2Text1:: + text "This ship, she is" + line "a luxury liner" + cont "for trainers!" + + para "At every port, we" + line "hold parties with" + cont "invited trainers!" + done + +_SSAnneRivalBeforeBattleText:: + text ": Bonjour!" + line "!" + + para "Imagine seeing" + line "you here!" + + para ", were you" + line "really invited?" + + para "So how's your" + line "#DEX coming?" + + para "I already caught" + line "40 kinds, pal!" + + para "Different kinds" + line "are everywhere!" + + para "Crawl around in" + line "grassy areas!" + done + +_SSAnneRivalDefeatedText:: + text "Humph!" + + para "At least you're" + line "raising your" + cont "#MON!" + prompt + +_SSAnneRivalWonText:: + text "! What are" + line "you, seasick?" + + para "You should shape" + line "up, pal!" + prompt + +_SSAnneRivalCaptainText:: + text ": I heard" + line "there was a CUT" + cont "master on board." + + para "But, he was just a" + line "seasick, old man!" + + para "But, CUT itself is" + line "really useful!" + + para "You should go see" + line "him! Smell ya!" + done diff --git a/text/SSAnne2FRooms.asm b/text/SSAnne2FRooms.asm new file mode 100644 index 00000000..a9be8cee --- /dev/null +++ b/text/SSAnne2FRooms.asm @@ -0,0 +1,113 @@ +_SSAnne9Text_61bf2:: + text "In all my travels" + line "I've never seen" + cont "any #MON sleep" + cont "like this one!" + + para "It was something" + line "like this!" + prompt + +_SSAnne9Text_61c01:: + text "Ah yes, I have" + line "seen some #MON" + cont "ferry people" + cont "across the water!" + done + +_SSAnne9Text_61c10:: + text "#MON can CUT" + line "down small bushes." + done + +_SSAnne9Text_61c1f:: + text "Have you gone to" + line "the SAFARI ZONE" + cont "in FUCHSIA CITY?" + + para "It had many rare" + line "kinds of #MON!!" + done + +_SSAnne9Text_61c2e:: + text "Me and my Daddy" + line "think the SAFARI" + cont "ZONE is awesome!" + done + +_SSAnne9Text_61c3d:: + text "The CAPTAIN looked" + line "really sick and" + cont "pale!" + done + +_SSAnne9Text_61c4c:: + text "I hear many people" + line "get seasick!" + done + +_SSAnne9BattleText1:: + text "Competing against" + line "the young keeps" + cont "me youthful." + done + +_SSAnne9EndBattleText1:: + text "Good" + line "fight! Ah, I feel" + cont "young again!" + prompt + +_SSAnne9AfterBattleText1:: + text "15 years ago, I" + line "would have won!" + done + +_SSAnne9BattleText2:: + text "Check out what I" + line "fished up!" + done + +_SSAnne9EndBattleText2:: + text "I'm" + line "all out!" + prompt + +_SSAnne9AfterBattleText2:: + text "Party?" + + para "The cruise ship's" + line "party should be" + cont "over by now." + done + +_SSAnne9BattleText3:: + text "Which do you like," + line "a strong or a" + cont "rare #MON?" + done + +_SSAnne9EndBattleText3:: + text "I must" + line "salute you!" + prompt + +_SSAnne9AfterBattleText3:: + text "I prefer strong" + line "and rare #MON." + done + +_SSAnne9BattleText4:: + text "I never saw you" + line "at the party." + done + +_SSAnne9EndBattleText4:: + text "Take" + line "it easy!" + prompt + +_SSAnne9AfterBattleText4:: + text "Oh, I adore your" + line "strong #MON!" + done diff --git a/text/SSAnne3F.asm b/text/SSAnne3F.asm new file mode 100644 index 00000000..76490594 --- /dev/null +++ b/text/SSAnne3F.asm @@ -0,0 +1,7 @@ +_SSAnne3Text1:: + text "Our CAPTAIN is a" + line "sword master!" + + para "He even teaches" + line "CUT to #MON!" + done diff --git a/text/SSAnneB1FRooms.asm b/text/SSAnneB1FRooms.asm new file mode 100644 index 00000000..7df629b5 --- /dev/null +++ b/text/SSAnneB1FRooms.asm @@ -0,0 +1,112 @@ +_SSAnne10Text8:: + text "MACHOKE: Gwoh!" + line "Goggoh!@@" + +_SSAnne10BattleText1:: + text "You know what they" + line "say about sailors" + cont "and fighting!" + done + +_SSAnne10EndBattleText1:: + text "Right!" + line "Good fight, mate!" + prompt + +_SSAnne10AfterBattleText1:: + text "Haha! Want to be" + line "a sailor, mate?" + done + +_SSAnne10BattleText2:: + text "My sailor's pride" + line "is at stake!" + done + +_SSAnne10EndBattleText2:: + text "Your" + line "spirit sank me!" + prompt + +_SSAnne10AfterBattleText2:: + text "Did you see the" + line "FISHING GURU in" + cont "VERMILION CITY?" + done + +_SSAnne10BattleText3:: + text "Us sailors have" + line "#MON too!" + done + +_SSAnne10EndBattleText3:: + text "OK, " + line "you're not bad." + prompt + +_SSAnne10AfterBattleText3:: + text "We caught all our" + line "#MON while" + cont "out at sea!" + done + +_SSAnne10BattleText4:: + text "I like feisty" + line "kids like you!@@" + +_SSAnne10EndBattleText4:: + text "Argh!" + line "Lost it!" + prompt + +_SSAnne10AfterBattleText4:: + text "Sea #MON live" + line "in deep water." + cont "You'll need a ROD!" + done + +_SSAnne10BattleText5:: + text "Matey, you're" + line "walking the plank" + cont "if you lose!" + done + +_SSAnne10EndBattleText5:: + text "Argh!" + line "Beaten by a kid!" + prompt + +_SSAnne10AfterBattleText5:: + text "Jellyfish some-" + line "times drift into" + cont "the ship." + done + +_SSAnne10BattleText6:: + text "Hello stranger!" + line "Stop and chat!" + + para "All my #MON" + line "are from the sea!" + done + +_SSAnne10EndBattleText6:: + text "Darn!" + line "I let that one" + cont "get away!" + prompt + +_SSAnne10AfterBattleText6:: + text "I was going to" + line "make you my" + cont "assistant too!" + done + +_SSAnne10Text7:: + text "My buddy, MACHOKE," + line "is super strong!" + + para "He has enough" + line "STRENGTH to move" + cont "big rocks!" + done diff --git a/text/SSAnneBow.asm b/text/SSAnneBow.asm new file mode 100644 index 00000000..76cd5631 --- /dev/null +++ b/text/SSAnneBow.asm @@ -0,0 +1,52 @@ +_SSAnne5Text1:: + text "The party's over." + line "The ship will be" + cont "departing soon." + done + +_SSAnne5Text2:: + text "Scrubbing decks" + line "is hard work!" + done + +_SSAnne5Text3:: + text "Urf. I feel ill." + + para "I stepped out to" + line "get some air." + done + +_SSAnne5BattleText1:: + text "Hey matey!" + + para "Let's do a little" + line "jig!" + done + +_SSAnne5EndBattleText1:: + text "You're" + line "impressive!" + prompt + +_SSAnne5AfterBattleText1:: + text "How many kinds of" + line "#MON do you" + cont "think there are?" + done + +_SSAnne5BattleText2:: + text "Ahoy there!" + line "Are you seasick?" + done + +_SSAnne5EndBattleText2:: + text "I was" + line "just careless!" + prompt + +_SSAnne5AfterBattleText2:: + text "My Pa said there" + line "are 100 kinds of" + cont "#MON. I think" + cont "there are more." + done diff --git a/text/SSAnneCaptainsRoom.asm b/text/SSAnneCaptainsRoom.asm new file mode 100644 index 00000000..7bf004da --- /dev/null +++ b/text/SSAnneCaptainsRoom.asm @@ -0,0 +1,62 @@ +_SSAnne7RubText:: + text "CAPTAIN: Ooargh..." + line "I feel hideous..." + cont "Urrp! Seasick..." + + para " rubbed" + line "the CAPTAIN's" + cont "back!" + + para "Rub-rub..." + line "Rub-rub...@@" + +_ReceivingHM01Text:: + text "CAPTAIN: Whew!" + line "Thank you! I" + cont "feel much better!" + + para "You want to see" + line "my CUT technique?" + + para "I could show you" + line "if I wasn't ill..." + + para "I know! You can" + line "have this!" + + para "Teach it to your" + line "#MON and you" + cont "can see it CUT" + cont "any time!" + prompt + +_ReceivedHM01Text:: + text " got" + line "@" + TX_RAM wcf4b + text "!@@" + +_SSAnne7Text_61932:: + text "CAPTAIN: Whew!" + + para "Now that I'm not" + line "sick any more, I" + cont "guess it's time." + done + +_HM01NoRoomText:: + text "Oh no! You have" + line "no room for this!" + done + +_SSAnne7Text2:: + text "Yuck! Shouldn't" + line "have looked!" + done + +_SSAnne7Text3:: + text "How to Conquer" + line "Seasickness..." + cont "The CAPTAIN's" + cont "reading this!" + done diff --git a/text/SSAnneKitchen.asm b/text/SSAnneKitchen.asm new file mode 100644 index 00000000..7fcc9973 --- /dev/null +++ b/text/SSAnneKitchen.asm @@ -0,0 +1,69 @@ +_SSAnne6Text1:: + text "You, mon petit!" + line "We're busy here!" + cont "Out of the way!" + done + +_SSAnne6Text2:: + text "I saw an odd ball" + line "in the trash." + done + +_SSAnne6Text3:: + text "I'm so busy I'm" + line "getting dizzy!" + done + +_SSAnne6Text4:: + text "Hum-de-hum-de-" + line "ho..." + + para "I peel spuds" + line "every day!" + cont "Hum-hum..." + done + +_SSAnne6Text5:: + text "Did you hear about" + line "SNORLAX?" + + para "All it does is" + line "eat and sleep!" + done + +_SSAnne6Text6:: + text "Snivel...Sniff..." + + para "I only get to" + line "peel onions..." + cont "Snivel..." + done + +_SSAnne6Text_61807:: + text "Er-hem! Indeed I" + line "am le CHEF!" + + para "Le main course is" + prompt + +_SSAnne6Text_6180c:: + text "Salmon du Salad!" + + para "Les guests may" + line "gripe it's fish" + cont "again, however!" + done + +_SSAnne6Text_61811:: + text "Eels au Barbecue!" + + para "Les guests will" + line "mutiny, I fear." + done + +_SSAnne6Text_61816:: + text "Prime Beef Steak!" + + para "But, have I enough" + line "fillets du beef?" + done diff --git a/text/SafariZoneCenter.asm b/text/SafariZoneCenter.asm new file mode 100644 index 00000000..09918f93 --- /dev/null +++ b/text/SafariZoneCenter.asm @@ -0,0 +1,11 @@ +_SafariZoneCenterText2:: + text "REST HOUSE" + done + +_SafariZoneCenterText3:: + text "TRAINER TIPS" + + para "Press the START" + line "Button to check" + cont "remaining time!" + done diff --git a/text/SafariZoneCenterRestHouse.asm b/text/SafariZoneCenterRestHouse.asm new file mode 100644 index 00000000..b6c87818 --- /dev/null +++ b/text/SafariZoneCenterRestHouse.asm @@ -0,0 +1,11 @@ +_SafariZoneRestHouse1Text1:: + text "SARA: Where did" + line "my boy friend," + cont "ERIK, go?" + done + +_SafariZoneRestHouse1Text2:: + text "I'm catching" + line "#MON to take" + cont "home as gifts!" + done diff --git a/text/SafariZoneEast.asm b/text/SafariZoneEast.asm new file mode 100644 index 00000000..eebe5de7 --- /dev/null +++ b/text/SafariZoneEast.asm @@ -0,0 +1,16 @@ +_SafariZoneEastText5:: + text "REST HOUSE" + done + +_SafariZoneEastText6:: + text "TRAINER TIPS" + + para "The remaining time" + line "declines only" + cont "while you walk!" + done + +_SafariZoneEastText7:: + text "CENTER AREA" + line "NORTH: AREA 2" + done diff --git a/text/SafariZoneEastRestHouse.asm b/text/SafariZoneEastRestHouse.asm new file mode 100644 index 00000000..d5f7abc8 --- /dev/null +++ b/text/SafariZoneEastRestHouse.asm @@ -0,0 +1,18 @@ +_SafariZoneRestHouse3Text1:: + text "How many did you" + line "catch? I'm bushed" + cont "from the work!" + done + +_SafariZoneRestHouse3Text2:: + text "I caught a" + line "CHANSEY!" + + para "That makes this" + line "all worthwhile!" + done + +_SafariZoneRestHouse3Text3:: + text "Whew! I'm tired" + line "from all the fun!" + done diff --git a/text/SafariZoneGate.asm b/text/SafariZoneGate.asm new file mode 100644 index 00000000..5c143891 --- /dev/null +++ b/text/SafariZoneGate.asm @@ -0,0 +1,94 @@ +_SafariZoneEntranceText1:: + text "Welcome to the" + line "SAFARI ZONE!" + done + +SafariZoneEntranceText_9e6e4:: + text "For just ¥500," + line "you can catch all" + cont "the #MON you" + cont "want in the park!" + + para "Would you like to" + line "join the hunt?@@" + +SafariZoneEntranceText_9e747:: + text "That'll be ¥500" + line "please!" + + para "We only use a" + line "special # BALL" + cont "here." + + para " received" + line "30 SAFARI BALLs!@@" + +_SafariZoneEntranceText_75360:: + text "" + + para "We'll call you on" + line "the PA when you" + cont "run out of time" + cont "or SAFARI BALLs!" + done + +_SafariZoneEntranceText_75365:: + text "OK! Please come" + line "again!" + done + +_SafariZoneEntranceText_7536a:: + text "Oops! Not enough" + line "money!" + done + +SafariZoneEntranceText_9e814:: + text "Leaving early?@@" + +_SafariZoneEntranceText_753bb:: + text "Please return any" + line "SAFARI BALLs you" + cont "have left." + done + +_SafariZoneEntranceText_753c0:: + text "Good Luck!" + done + +_SafariZoneEntranceText_753c5:: + text "Did you get a" + line "good haul?" + cont "Come again!" + done + +_SafariZoneEntranceText_753e6:: + text "Hi! Is it your" + line "first time here?" + done + +_SafariZoneEntranceText_753eb:: + text "SAFARI ZONE has 4" + line "zones in it." + + para "Each zone has" + line "different kinds" + cont "of #MON. Use" + cont "SAFARI BALLs to" + cont "catch them!" + + para "When you run out" + line "of time or SAFARI" + cont "BALLs, it's game" + cont "over for you!" + + para "Before you go," + line "open an unused" + cont "#MON BOX so" + cont "there's room for" + cont "new #MON!" + done + +_SafariZoneEntranceText_753f0:: + text "Sorry, you're a" + line "regular here!" + done diff --git a/text/SafariZoneNorth.asm b/text/SafariZoneNorth.asm new file mode 100644 index 00000000..1e148f0b --- /dev/null +++ b/text/SafariZoneNorth.asm @@ -0,0 +1,33 @@ +_SafariZoneNorthText3:: + text "REST HOUSE" + done + +_SafariZoneNorthText4:: + text "TRAINER TIPS" + + para "The SECRET HOUSE" + line "is still ahead!" + done + +_SafariZoneNorthText5:: + text "AREA 2" + done + +_SafariZoneNorthText6:: + text "TRAINER TIPS" + + para "#MON hide in" + line "tall grass!" + + para "Zigzag through" + line "grassy areas to" + cont "flush them out." + done + +_SafariZoneNorthText7:: + text "TRAINER TIPS" + + para "Win a free HM for" + line "finding the" + cont "SECRET HOUSE!" + done diff --git a/text/SafariZoneNorthRestHouse.asm b/text/SafariZoneNorthRestHouse.asm new file mode 100644 index 00000000..93f02c8f --- /dev/null +++ b/text/SafariZoneNorthRestHouse.asm @@ -0,0 +1,27 @@ +_SafariZoneRestHouse4Text1:: + text "You can keep any" + line "item you find on" + cont "the ground here." + + para "But, you'll run" + line "out of time if" + cont "you try for all" + cont "of them at once!" + done + +_SafariZoneRestHouse4Text2:: + text "Go to the deepest" + line "part of the" + cont "SAFARI ZONE. You" + cont "will win a prize!" + done + +_SafariZoneRestHouse4Text3:: + text "My EEVEE evolved" + line "into FLAREON!" + + para "But, a friend's" + line "EEVEE turned into" + cont "a VAPOREON!" + cont "I wonder why?" + done diff --git a/text/SafariZoneSecretHouse.asm b/text/SafariZoneSecretHouse.asm new file mode 100644 index 00000000..3df79d90 --- /dev/null +++ b/text/SafariZoneSecretHouse.asm @@ -0,0 +1,44 @@ +_SecretHouseText_4a350:: + text "Ah! Finally!" + + para "You're the first" + line "person to reach" + cont "the SECRET HOUSE!" + + para "I was getting" + line "worried that no" + cont "one would win our" + cont "campaign prize." + + para "Congratulations!" + line "You have won!" + prompt + +_ReceivedHM03Text:: + text " received" + line "@" + TX_RAM wcf4b + text "!@@" + +_HM03ExplanationText:: + text "HM03 is SURF!" + + para "#MON will be" + line "able to ferry you" + cont "across water!" + + para "And, this HM isn't" + line "disposable! You" + cont "can use it over" + cont "and over!" + + para "You're super lucky" + line "for winning this" + cont "fabulous prize!" + done + +_HM03NoRoomText:: + text "You don't have" + line "room for this" + cont "fabulous prize!" + done diff --git a/text/SafariZoneWest.asm b/text/SafariZoneWest.asm new file mode 100644 index 00000000..dcb2fe6c --- /dev/null +++ b/text/SafariZoneWest.asm @@ -0,0 +1,31 @@ +_SafariZoneWestText5:: + text "REST HOUSE" + done + +_SafariZoneWestText6:: + text "REQUEST NOTICE" + + para "Please find the" + line "SAFARI WARDEN's" + cont "lost GOLD TEETH." + cont "They're around" + cont "here somewhere." + + para "Reward offered!" + line "Contact: WARDEN" + done + +_SafariZoneWestText7:: + text "TRAINER TIPS" + + para "Zone Exploration" + line "Campaign!" + + para "The Search for" + line "the SECRET HOUSE!" + done + +_SafariZoneWestText8:: + text "AREA 3" + line "EAST: CENTER AREA" + done diff --git a/text/SafariZoneWestRestHouse.asm b/text/SafariZoneWestRestHouse.asm new file mode 100644 index 00000000..94802b13 --- /dev/null +++ b/text/SafariZoneWestRestHouse.asm @@ -0,0 +1,19 @@ +_SafariZoneRestHouse2Text1:: + text "Tossing ROCKs at" + line "#MON might" + cont "make them run," + cont "but they'll be" + cont "easier to catch." + done + +_SafariZoneRestHouse2Text2:: + text "Using BAIT will" + line "make #MON" + cont "easier to catch." + done + +_SafariZoneRestHouse2Text3:: + text "I hiked a lot, but" + line "I didn't see any" + cont "#MON I wanted." + done diff --git a/text/SaffronCity.asm b/text/SaffronCity.asm new file mode 100644 index 00000000..a0422c8c --- /dev/null +++ b/text/SaffronCity.asm @@ -0,0 +1,151 @@ +_SaffronCityText1:: + text "What do you want?" + line "Get lost!" + done + +_SaffronCityText2:: + text "BOSS said he'll" + line "take this town!" + done + +_SaffronCityText3:: + text "Get out of the" + line "way!" + done + +_SaffronCityText4:: + text "SAFFRON belongs" + line "to TEAM ROCKET!" + done + +_SaffronCityText5:: + text "Being evil makes" + line "me feel so alive!" + done + +_SaffronCityText6:: + text "Ow! Watch where" + line "you're walking!" + done + +_SaffronCityText7:: + text "With SILPH under" + line "control, we can" + cont "exploit #MON" + cont "around the world!" + done + +_SaffronCityText8:: + text "You beat TEAM" + line "ROCKET all alone?" + cont "That's amazing!" + done + +_SaffronCityText9:: + text "Yeah! TEAM ROCKET" + line "is gone!" + cont "It's safe to go" + cont "out again!" + done + +_SaffronCityText10:: + text "People should be" + line "flocking back to" + cont "SAFFRON now." + done + +_SaffronCityText11:: + text "I flew here on my" + line "PIDGEOT when I" + cont "read about SILPH." + + para "It's already over?" + line "I missed the" + cont "media action." + done + +_SaffronCityText12:: + text "PIDGEOT: Bi bibii!@@" + +_SaffronCityText13:: + text "I saw ROCKET" + line "BOSS escaping" + cont "SILPH's building." + done + +_SaffronCityText14:: + text "I'm a security" + line "guard." + + para "Suspicious kids I" + line "don't allow in!" + done + +_SaffronCityText15:: + text "..." + line "Snore..." + + para "Hah! He's taking" + line "a snooze!" + done + +_SaffronCityText16:: + text "SAFFRON CITY" + line "Shining, Golden" + cont "Land of Commerce" + done + +_SaffronCityText17:: + text "FIGHTING DOJO" + done + +_SaffronCityText18:: + text "SAFFRON CITY" + line "#MON GYM" + cont "LEADER: SABRINA" + + para "The Master of" + line "Psychic #MON!" + done + +_SaffronCityText20:: + text "TRAINER TIPS" + + para "FULL HEAL cures" + line "all ailments like" + cont "sleep and burns." + + para "It costs a bit" + line "more, but it's" + cont "more convenient." + done + +_SaffronCityText21:: + text "TRAINER TIPS" + + para "New GREAT BALL" + line "offers improved" + cont "capture rates." + + para "Try it on those" + line "hard-to-catch" + cont "#MON." + done + +_SaffronCityText22:: + text "SILPH CO." + line "OFFICE BUILDING" + done + +_SaffronCityText24:: + text "MR.PSYCHIC's" + line "HOUSE" + done + +_SaffronCityText25:: + text "SILPH's latest" + line "product!" + + para "Release to be" + line "determined..." + done diff --git a/text/SaffronGates.asm b/text/SaffronGates.asm new file mode 100644 index 00000000..9bb4601f --- /dev/null +++ b/text/SaffronGates.asm @@ -0,0 +1,37 @@ +_SaffronGateText_1dfe7:: + text "I'm on guard duty." + line "Gee, I'm thirsty," + cont "though!" + + para "Oh wait there," + line "the road's closed." + done + +_SaffronGateText_8aaa9:: + text "Whoa, boy!" + line "I'm parched!" + cont "..." + cont "Huh? I can have" + cont "this drink?" + cont "Gee, thanks!@@" + +_SaffronGateText_1dff1:: + text "" + + para "..." + line "Glug glug..." + cont "..." + cont "Gulp..." + cont "If you want to go" + cont "to SAFFRON CITY..." + cont "..." + cont "You can go on" + cont "through. I'll" + cont "share this with" + cont "the other guards!" + done + +_SaffronGateText_1dff6:: + text "Hi, thanks for" + line "the cool drinks!" + done diff --git a/text/SaffronGym.asm b/text/SaffronGym.asm new file mode 100644 index 00000000..6f49a331 --- /dev/null +++ b/text/SaffronGym.asm @@ -0,0 +1,237 @@ +_SaffronGymText_5d162:: + text "I had a vision of" + line "your arrival!" + + para "I have had psychic" + line "powers since I" + cont "was a child." + + para "I first learned" + line "to bend spoons" + cont "with my mind." + + para "I dislike fight-" + line "ing, but if you" + cont "wish, I will show" + cont "you my powers!" + done + +_SaffronGymText_5d167:: + text "I'm" + line "shocked!" + cont "But, a loss is a" + cont "loss." + + para "I admit I didn't" + line "work hard enough" + cont "to win!" + + para "You earned the" + line "MARSHBADGE!@@" + +_SaffronGymText_5d16e:: + text "Everyone has" + line "psychic power!" + cont "People just don't" + cont "realize it!" + done + +_SaffronGymText_5d173:: + text "The MARSHBADGE" + line "makes #MON up" + cont "to L70 obey you!" + + para "Stronger #MON" + line "will become wild," + cont "ignoring your" + cont "orders in battle!" + + para "Just don't raise" + line "your #MON too" + cont "much!" + + para "Wait, please take" + line "this TM with you!" + done + +ReceivedTM46Text:: + text " received" + line "TM46!@@" + +_TM46ExplanationText:: + text "" + + para "TM46 is PSYWAVE!" + line "It uses powerful" + cont "psychic waves to" + cont "inflict damage!" + done + +_TM46NoRoomText:: + text "Your pack is full" + line "of other items!" + done + +_SaffronGymText_5d1e6:: + text "Yo! Champ in" + line "making!" + + para "SABRINA's #MON" + line "use psychic power" + cont "instead of force!" + + para "Fighting #MON" + line "are weak against" + cont "psychic #MON!" + + para "They get creamed" + line "before they can" + cont "even aim a punch!" + done + +_SaffronGymText_5d1eb:: + text "Psychic power," + line "huh?" + + para "If I had that," + line "I'd make a bundle" + cont "at the slots!" + done + +_SaffronGymBattleText1:: + text "SABRINA is younger" + line "than I, but I" + cont "respect her!" + done + +_SaffronGymEndBattleText1:: + text "Not" + line "good enough!" + prompt + +_SaffronGymAfterBattleText1:: + text "In a battle of" + line "equals, the one" + cont "with the stronger" + cont "will wins!" + + para "If you wish" + line "to beat SABRINA," + cont "focus on winning!" + done + +_SaffronGymBattleText2:: + text "Does our unseen" + line "power scare you?" + done + +_SaffronGymEndBattleText2:: + text "I never" + line "foresaw this!" + prompt + +_SaffronGymAfterBattleText2:: + text "Psychic #MON" + line "fear only ghosts" + cont "and bugs!" + done + +_SaffronGymBattleText3:: + text "#MON take on" + line "the appearance of" + cont "their trainers." + + para "Your #MON must" + line "be tough, then!" + done + +_SaffronGymEndBattleText3:: + text "I knew" + line "it!" + prompt + +_SaffronGymAfterBattleText3:: + text "I must teach" + line "better techniques" + cont "to my #MON!" + done + +_SaffronGymBattleText4:: + text "You know that" + line "power alone isn't" + cont "enough!" + done + +_SaffronGymEndBattleText4:: + text "I don't" + line "believe this!" + prompt + +_SaffronGymAfterBattleText4:: + text "SABRINA just wiped" + line "out the KARATE" + cont "MASTER next door!" + done + +_SaffronGymBattleText5:: + text "You and I, our" + line "#MON shall" + cont "fight!" + done + +_SaffronGymEndBattleText5:: + text "I lost" + line "after all!" + prompt + +_SaffronGymAfterBattleText5:: + text "I knew that this" + line "was going to take" + cont "place." + done + +_SaffronGymBattleText6:: + text "SABRINA is young," + line "but she's also" + cont "our LEADER!" + + para "You won't reach" + line "her easily!" + done + +_SaffronGymEndBattleText6:: + text "I lost" + line "my concentration!" + prompt + +_SaffronGymAfterBattleText6:: + text "There used to be" + line "2 #MON GYMs in" + cont "SAFFRON." + + para "The FIGHTING DOJO" + line "next door lost" + cont "its GYM status" + cont "when we went and" + cont "creamed them!" + done + +_SaffronGymBattleText7:: + text "SAFFRON #MON" + line "GYM is famous for" + cont "its psychics!" + + para "You want to see" + line "SABRINA!" + cont "I can tell!" + done + +_SaffronGymEndBattleText7:: + text "Arrrgh!" + prompt + +_SaffronGymAfterBattleText7:: + text "That's right! I" + line "used telepathy to" + cont "read your mind!" + done diff --git a/text/SaffronMart.asm b/text/SaffronMart.asm new file mode 100644 index 00000000..a43b0d94 --- /dev/null +++ b/text/SaffronMart.asm @@ -0,0 +1,13 @@ +_SaffronMartText2:: + text "MAX REPEL lasts" + line "longer than SUPER" + cont "REPEL for keeping" + cont "weaker #MON" + cont "away!" + done + +_SaffronMartText3:: + text "REVIVE is costly," + line "but it revives" + cont "fainted #MON!" + done diff --git a/text/SaffronPidgeyHouse.asm b/text/SaffronPidgeyHouse.asm new file mode 100644 index 00000000..214bf089 --- /dev/null +++ b/text/SaffronPidgeyHouse.asm @@ -0,0 +1,26 @@ +_SaffronHouse1Text1:: + text "Thank you for" + line "writing. I hope" + cont "to see you soon!" + + para "Hey! Don't look" + line "at my letter!" + done + +_SaffronHouse1Text2:: + text "PIDGEY: Kurukkoo!@@" + +_SaffronHouse1Text3:: + text "The COPYCAT is" + line "cute! I'm getting" + cont "her a # DOLL!" + done + +_SaffronHouse1Text4:: + text "I was given a PP" + line "UP as a gift." + + para "It's used for" + line "increasing the PP" + cont "of techniques!" + done diff --git a/text/SaffronPokecenter.asm b/text/SaffronPokecenter.asm new file mode 100644 index 00000000..6548aff8 --- /dev/null +++ b/text/SaffronPokecenter.asm @@ -0,0 +1,12 @@ +_SaffronPokecenterText2:: + text "#MON growth" + line "rates differ from" + cont "specie to specie." + done + +_SaffronPokecenterText3:: + text "SILPH CO. is very" + line "famous. That's" + cont "why it attracted" + cont "TEAM ROCKET!" + done diff --git a/text/SeafoamIslandsB4F.asm b/text/SeafoamIslandsB4F.asm new file mode 100644 index 00000000..608d165f --- /dev/null +++ b/text/SeafoamIslandsB4F.asm @@ -0,0 +1,13 @@ +_ArticunoBattleText:: + text "Gyaoo!@@" + +_SeafoamIslands5Text4:: + text "Boulders might" + line "change the flow" + cont "of water!" + done + +_SeafoamIslands5Text5:: + text "DANGER" + line "Fast current!" + done diff --git a/text/SilphCo10F.asm b/text/SilphCo10F.asm new file mode 100644 index 00000000..e916c64a --- /dev/null +++ b/text/SilphCo10F.asm @@ -0,0 +1,42 @@ +_SilphCo10Text_5a1d3:: + text "Waaaaa!" + cont "I'm scared!" + done + +_SilphCo10Text_5a1d8:: + text "Please keep quiet" + line "about my crying!" + done + +_SilphCo10BattleText1:: + text "Welcome to the" + line "10F! So good of" + cont "you to join me!" + done + +_SilphCo10EndBattleText1:: + text "I'm" + line "stunned!" + prompt + +_SilphCo10AfterBattleText1:: + text "Nice try, but the" + line "boardroom is up" + cont "one more floor!" + done + +_SilphCo10BattleText2:: + text "Enough of your" + line "silly games!" + done + +_SilphCo10EndBattleText2:: + text "No" + line "continues left!" + prompt + +_SilphCo10AfterBattleText2:: + text "Are you satisfied" + line "with beating me?" + cont "Then go on home!" + done diff --git a/text/SilphCo11F.asm b/text/SilphCo11F.asm new file mode 100644 index 00000000..fbaa6086 --- /dev/null +++ b/text/SilphCo11F.asm @@ -0,0 +1,134 @@ +_SilphCoPresidentText:: + text "PRESIDENT: Thank" + line "you for saving" + cont "SILPH!" + + para "I will never" + line "forget you saved" + cont "us in our moment" + cont "of peril!" + + para "I have to thank" + line "you in some way!" + + para "Because I am rich," + line "I can give you" + cont "anything!" + + para "Here, maybe this" + line "will do!" + prompt + +_ReceivedSilphCoMasterBallText:: + text " got a" + line "@" + TX_RAM wcf4b + text "!@@" + +_SilphCo10Text_6231c:: + text "PRESIDENT: You" + line "can't buy that" + cont "anywhere!" + + para "It's our secret" + line "prototype MASTER" + cont "BALL!" + + para "It will catch any" + line "#MON without" + cont "fail!" + + para "You should be" + line "quiet about using" + cont "it, though." + done + +_SilphCoMasterBallNoRoomText:: + text "You have no" + line "room for this." + done + +_SilphCo11Text2:: + text "SECRETARY: Thank" + line "you for rescuing" + cont "all of us!" + + para "We admire your" + line "courage." + done + +_SilphCo11Text3:: + text "Ah !" + line "So we meet again!" + + para "The PRESIDENT and" + line "I are discussing" + cont "a vital business" + cont "proposition." + + para "Keep your nose" + line "out of grown-up" + cont "matters..." + + para "Or, experience a" + line "world of pain!" + done + +_SilphCo10Text_62330:: + text "Arrgh!!" + line "I lost again!?" + prompt + +_SilphCo10Text_62335:: + text "Blast it all!" + line "You ruined our" + cont "plans for SILPH!" + + para "But, TEAM ROCKET" + line "will never fall!" + + para "! Never" + line "forget that all" + cont "#MON exist" + cont "for TEAM ROCKET!" + + para "I must go, but I" + line "shall return!" + done + +_SilphCo11BattleText1:: + text "Stop right there!" + line "Don't you move!" + done + +_SilphCo11EndBattleText1:: + text "Don't..." + line "Please!" + prompt + +_SilphCo11AfterBattleText1:: + text "So, you want to" + line "see my BOSS?" + done + +_SilphCo11BattleText2:: + text "Halt! Do you have" + line "an appointment" + cont "with my BOSS?" + done + +_SilphCo11EndBattleText2:: + text "Gaah!" + line "Demolished!" + prompt + +_SilphCo11AfterBattleText2:: + text "Watch your step," + line "my BOSS likes his" + cont "#MON tough!" + done + +_SilphCo10Text_6237b:: + text "The monitor has" + line "#MON on it!" + done diff --git a/text/SilphCo1F.asm b/text/SilphCo1F.asm new file mode 100644 index 00000000..1ef80189 --- /dev/null +++ b/text/SilphCo1F.asm @@ -0,0 +1,7 @@ +_SilphCo1Text1:: + text "Welcome!" + + para "The PRESIDENT is" + line "in the boardroom" + cont "on 11F!" + done diff --git a/text/SilphCo2F.asm b/text/SilphCo2F.asm new file mode 100644 index 00000000..bd87630a --- /dev/null +++ b/text/SilphCo2F.asm @@ -0,0 +1,96 @@ +_SilphCo2Text_59ded:: + text "Eeek!" + line "No! Stop! Help!" + + para "Oh, you're not" + line "with TEAM ROCKET." + cont "I thought..." + cont "I'm sorry. Here," + cont "please take this!" + prompt + +_ReceivedTM36Text:: + text " got" + line "@" + TX_RAM wcf4b + text "!@@" + +_TM36ExplanationText:: + text "TM36 is" + line "SELFDESTRUCT!" + + para "It's powerful, but" + line "the #MON that" + cont "uses it faints!" + cont "Be careful." + done + +_TM36NoRoomText:: + text "You don't have any" + line "room for this." + done + +_SilphCo2BattleText1:: + text "Help! I'm a SILPH" + line "employee." + done + +_SilphCo2EndBattleText1:: + text "How" + line "did you know I" + cont "was a ROCKET?" + prompt + +_SilphCo2AfterBattleText1:: + text "I work for both" + line "SILPH and TEAM" + cont "ROCKET!" + done + +_SilphCo2BattleText2:: + text "It's off limits" + line "here! Go home!" + done + +_SilphCo2EndBattleText2:: + text "You're" + line "good." + prompt + +_SilphCo2AfterBattleText2:: + text "Can you solve the" + line "maze in here?" + done + +_SilphCo2BattleText3:: + text "No kids are" + line "allowed in here!" + done + +_SilphCo2EndBattleText3:: + text "Tough!" + prompt + +_SilphCo2AfterBattleText3:: + text "Diamond shaped" + line "tiles are" + cont "teleport blocks!" + + para "They're hi-tech" + line "transporters!" + done + +_SilphCo2BattleText4:: + text "Hey kid! What are" + line "you doing here?" + done + +_SilphCo2EndBattleText4:: + text "I goofed!" + prompt + +_SilphCo2AfterBattleText4:: + text "SILPH CO. will" + line "be merged with" + cont "TEAM ROCKET!" + done diff --git a/text/SilphCo3F.asm b/text/SilphCo3F.asm new file mode 100644 index 00000000..b6a023f9 --- /dev/null +++ b/text/SilphCo3F.asm @@ -0,0 +1,46 @@ +_SilphCo3Text_59ff9:: + text "I work for SILPH." + line "What should I do?" + done + +_SilphCo3Text_59ffe:: + text "! You and" + line "your #MON" + cont "saved us!" + done + +_SilphCo3BattleText1:: + text "Quit messing with" + line "us, kid!" + done + +_SilphCo3EndBattleText1:: + text "I give" + line "up!" + prompt + +_SilphCo3AfterBattleText1:: + text "A hint? You can" + line "open doors with a" + cont "CARD KEY!" + done + +_SilphCo3BattleText2:: + text "I support TEAM" + line "ROCKET more than" + cont "I support SILPH!" + done + +_SilphCo3EndBattleText2:: + text "You" + line "really got me!" + prompt + +_SilphCo3AfterBattleText2:: + text "Humph..." + + para "TEAM ROCKET said" + line "that if I helped" + cont "them, they'd let" + cont "me study #MON!" + done diff --git a/text/SilphCo4F.asm b/text/SilphCo4F.asm new file mode 100644 index 00000000..5b484ec7 --- /dev/null +++ b/text/SilphCo4F.asm @@ -0,0 +1,56 @@ +_SilphCo4Text_19de0:: + text "Sssh! Can't you" + line "see I'm hiding?" + done + +_SilphCo4Text_19de5:: + text "Huh? TEAM ROCKET" + line "is gone?" + done + +_SilphCo4BattleText2:: + text "TEAM ROCKET has" + line "taken command of" + cont "SILPH CO.!" + done + +_SilphCo4EndBattleText2:: + text "Arrgh!" + prompt + +_SilphCo4AfterBattleText2:: + text "Fwahahaha!" + line "My BOSS has been" + cont "after this place!" + done + +_SilphCo4BattleText3:: + text "My #MON are my" + line "loyal soldiers!" + done + +_SilphCo4EndBattleText3:: + text "Darn!" + line "You weak #MON!" + prompt + +_SilphCo4AfterBattleText3:: + text "The doors are" + line "electronically" + cont "locked! A CARD" + cont "KEY opens them!" + done + +_SilphCo4BattleText4:: + text "Intruder spotted!" + done + +_SilphCo4EndBattleText4:: + text "Who" + line "are you?" + prompt + +_SilphCo4AfterBattleText4:: + text "I better tell the" + line "BOSS on 11F!" + done diff --git a/text/SilphCo5F.asm b/text/SilphCo5F.asm new file mode 100644 index 00000000..dab42539 --- /dev/null +++ b/text/SilphCo5F.asm @@ -0,0 +1,51 @@ +_SilphCo5Text_1a010:: + text "TEAM ROCKET is" + line "in an uproar over" + cont "some intruder." + cont "That's you right?" + done + +_SilphCo5Text_1a015:: + text "TEAM ROCKET took" + line "off! You're our" + cont "hero! Thank you!" + done + +_SilphCo5BattleText2:: + text "I heard a kid was" + line "wandering around." + done + +_SilphCo5EndBattleText2:: + text "Boom!" + prompt + +_SilphCo5AfterBattleText2:: + text "It's not smart" + line "to pick a fight" + cont "with TEAM ROCKET!" + done + +_SilphCo5BattleText3:: + text "We study #" + line "BALL technology" + cont "on this floor!" + done + +_SilphCo5EndBattleText3:: + text "Dang!" + line "Blast it!" + prompt + +_SilphCo5AfterBattleText3:: + text "We worked on the" + line "ultimate #" + cont "BALL which would" + cont "catch anything!" + done + +_SilphCo5BattleText4:: + text "Whaaat? There" + line "shouldn't be any" + cont "children here?" + done diff --git a/text/SilphCo5F_2.asm b/text/SilphCo5F_2.asm new file mode 100644 index 00000000..3c1b8ead --- /dev/null +++ b/text/SilphCo5F_2.asm @@ -0,0 +1,55 @@ +_SilphCo5EndBattleText4:: + text "Oh" + line "goodness!" + prompt + +_SilphCo5AfterBattleText4:: + text "You're only on 5F." + line "It's a long way" + cont "to my BOSS!" + done + +_SilphCo5BattleText5:: + text "Show TEAM ROCKET" + line "a little respect!" + done + +_SilphCo5EndBattleText5:: + text "Cough..." + line "Cough..." + prompt + +_SilphCo5AfterBattleText5:: + text "Which reminds me." + + para "KOFFING evolves" + line "into WEEZING!" + done + +_SilphCo5Text9:: + text "It's a #MON" + line "REPORT!" + + para "#MON LAB" + line "created PORYGON," + cont "the first virtual" + cont "reality #MON." + done + +_SilphCo5Text10:: + text "It's a #MON" + line "REPORT!" + + para "Over 160 #MON" + line "techniques have" + cont "been confirmed." + done + +_SilphCo5Text11:: + text "It's a #MON" + line "REPORT!" + + para "4 #MON evolve" + line "only when traded" + cont "by link-cable." + done diff --git a/text/SilphCo6F.asm b/text/SilphCo6F.asm new file mode 100644 index 00000000..90456b5c --- /dev/null +++ b/text/SilphCo6F.asm @@ -0,0 +1,107 @@ +_SilphCo6Text_1a24a:: + text "The ROCKETs came" + line "and took over the" + cont "building!" + done + +_SilphCo6Text_1a24f:: + text "Well, better get" + line "back to work!" + done + +_SilphCo6Text_1a261:: + text "Oh dear, oh dear." + line "Help me please!" + done + +_SilphCo6Text_1a266:: + text "We got engaged!" + line "Heheh!" + done + +_SilphCo6Text_1a278:: + text "Look at him! He's" + line "such a coward!" + done + +_SilphCo6Text_1a27d:: + text "I feel so sorry" + line "for him, I have" + cont "to marry him!" + done + +_SilphCo6Text_1a28f:: + text "TEAM ROCKET is" + line "trying to conquer" + cont "the world with" + cont "#MON!" + done + +_SilphCo6Text_1a294:: + text "TEAM ROCKET ran" + line "because of you!" + done + +_SilphCo6Text_1a2a6:: + text "They must have" + line "targeted SILPH" + cont "for our #MON" + cont "products." + done + +_SilphCo6Text_1a2ab:: + text "Come work for" + line "SILPH when you" + cont "get older!" + done + +_SilphCo6BattleText2:: + text "I am one of the 4" + line "ROCKET BROTHERS!" + done + +_SilphCo6EndBattleText2:: + text "Flame" + line "out!" + prompt + +_SilphCo6AfterBattleText2:: + text "No matter!" + line "My brothers will" + cont "avenge me!" + done + +_SilphCo6BattleText3:: + text "That rotten" + line "PRESIDENT!" + + para "He shouldn't have" + line "sent me to the" + cont "TIKSI BRANCH!" + done + +_SilphCo6EndBattleText3:: + text "Shoot!" + prompt + +_SilphCo6AfterBattleText3:: + text "TIKSI BRANCH?" + line "It's in Russian" + cont "no man's land!" + done + +_SilphCo6BattleText4:: + text "You dare betray" + line "TEAM ROCKET?" + done + +_SilphCo6EndBattleText4:: + text "You" + line "traitor!" + prompt + +_SilphCo6AfterBattleText4:: + text "If you stand for" + line "justice, you" + cont "betray evil!" + done diff --git a/text/SilphCo7F.asm b/text/SilphCo7F.asm new file mode 100644 index 00000000..1cc2bc30 --- /dev/null +++ b/text/SilphCo7F.asm @@ -0,0 +1,209 @@ +_MeetLaprasGuyText:: + text "Oh! Hi! You're" + line "not a ROCKET! You" + cont "came to save us?" + cont "Why, thank you!" + + para "I want you to" + line "have this #MON" + cont "for saving us." + prompt + +_HeresYourLaprasText:: + text "It's LAPRAS. It's" + line "very intelligent." + + para "We kept it in our" + line "lab, but it will" + cont "be much better" + cont "off with you!" + + para "I think you will" + line "be a good trainer" + cont "for LAPRAS!" + + para "It's a good" + line "swimmer. It'll" + cont "give you a lift!" + done + +_LaprasGuyText:: + text "TEAM ROCKET's" + line "BOSS went to the" + cont "boardroom! Is our" + cont "PRESIDENT OK?" + done + +_LaprasGuySavedText:: + text "Saved at last!" + line "Thank you!" + done + +_SilphCo7Text_51e00:: + text "TEAM ROCKET was" + line "after the MASTER" + cont "BALL which will" + cont "catch any #MON!" + done + +_CanceledMasterBallText:: + text "We canceled the" + line "MASTER BALL" + cont "project because" + cont "of TEAM ROCKET." + done + +_SilphCo7Text_51e23:: + text "It would be bad" + line "if TEAM ROCKET" + cont "took over SILPH" + cont "or our #MON!" + done + +_SilphCo7Text_51e28:: + text "Wow! You chased" + line "off TEAM ROCKET" + cont "all by yourself?" + done + +_SilphCo7Text_51e46:: + text "You! It's really" + line "dangerous here!" + cont "You came to save" + cont "me? You can't!" + done + +_SilphCo7Text_51e4b:: + text "Safe at last!" + line "Oh thank you!" + done + +_SilphCo7BattleText1:: + text "Oh ho! I smell a" + line "little rat!" + done + +_SilphCo7EndBattleText1:: + text "Lights" + line "out!" + prompt + +_SilphCo7AfterBattleText1:: + text "You won't find my" + line "BOSS by just" + cont "scurrying around!" + done + +_SilphCo7BattleText2:: + text "Heheh!" + + para "You mistook me for" + line "a SILPH worker?" + done + +_SilphCo7EndBattleText2:: + text "I'm" + line "done!" + prompt + +_SilphCo7AfterBattleText2:: + text "Despite your age," + line "you are a skilled" + cont "trainer!" + done + +_SilphCo7BattleText3:: + text "I am one of the 4" + line "ROCKET BROTHERS!" + done + +_SilphCo7EndBattleText3:: + text "Aack!" + line "Brothers, I lost!" + prompt + +_SilphCo7AfterBattleText3:: + text "Doesn't matter." + line "My brothers will" + cont "repay the favor!" + done + +_SilphCo7BattleText4:: + text "A child intruder?" + line "That must be you!" + done + +_SilphCo7EndBattleText4:: + text "Fine!" + line "I lost!" + prompt + +_SilphCo7AfterBattleText4:: + text "Go on home" + line "before my BOSS" + cont "gets ticked off!" + done + +_SilphCo7Text_51ebe:: + text ": What" + line "kept you ?" + done + +_SilphCo7Text_51ec3:: + text ": Hahaha!" + line "I thought you'd" + cont "turn up if I" + cont "waited here!" + + para "I guess TEAM" + line "ROCKET slowed you" + cont "down! Not that I" + cont "care!" + + para "I saw you in" + line "SAFFRON, so I" + cont "decided to see if" + cont "you got better!" + done + +_SilphCo7Text_51ec8:: + text "Oh ho!" + line "So, you are ready" + cont "for BOSS ROCKET!" + prompt + +_SilphCo7Text_51ecd:: + text ": How can" + line "I put this?" + + para "You're not good" + line "enough to play" + cont "with us big boys!" + prompt + +_SilphCo7Text_51ed2:: + text "Well, !" + + para "I'm moving on up" + line "and ahead!" + + para "By checking my" + line "#DEX, I'm" + cont "starting to see" + cont "what's strong and" + cont "how they evolve!" + + para "I'm going to the" + line "#MON LEAGUE" + cont "to boot out the" + cont "ELITE FOUR!" + + para "I'll become the" + line "world's most" + cont "powerful trainer!" + + para ", well" + line "good luck to you!" + cont "Don't sweat it!" + cont "Smell ya!" + done diff --git a/text/SilphCo8F.asm b/text/SilphCo8F.asm new file mode 100644 index 00000000..fabae5e6 --- /dev/null +++ b/text/SilphCo8F.asm @@ -0,0 +1,56 @@ +_SilphCo8Text_565be:: + text "I wonder if SILPH" + line "is finished..." + done + +_SilphCo8Text_565c3:: + text "Thanks for saving" + line "us!" + done + +_SilphCo8BattleText1:: + text "That's as far as" + line "you'll go!" + done + +_SilphCo8EndBattleText1:: + text "Not" + line "enough grit!" + prompt + +_SilphCo8AfterBattleText1:: + text "If you don't turn" + line "back, I'll call" + cont "for backup!" + done + +_SilphCo8BattleText2:: + text "You're causing us" + line "problems!" + done + +_SilphCo8EndBattleText2:: + text "Huh?" + line "I lost?" + prompt + +_SilphCo8AfterBattleText2:: + text "So, what do you" + line "think of SILPH" + cont "BUILDING's maze?" + done + +_SilphCo8BattleText3:: + text "I am one of the 4" + line "ROCKET BROTHERS!" + done + +_SilphCo8EndBattleText3:: + text "Whoo!" + line "Oh brothers!" + prompt + +_SilphCo8AfterBattleText3:: + text "I'll leave you up" + line "to my brothers!" + done diff --git a/text/SilphCo9F.asm b/text/SilphCo9F.asm new file mode 100644 index 00000000..fd1aa91c --- /dev/null +++ b/text/SilphCo9F.asm @@ -0,0 +1,62 @@ +_SilphCo9Text_5d8e5:: + text "You look tired!" + line "You should take a" + cont "quick nap!" + prompt + +_SilphCo9Text_5d8ea:: + text "Don't give up!" + done + +_SilphCo9Text_5d8ef:: + text "Thank you so" + line "much!" + done + +_SilphCo9BattleText1:: + text "Your #MON seem" + line "to adore you, kid!" + done + +_SilphCo9EndBattleText1:: + text "Ghaaah!" + prompt + +_SilphCo9AfterBattleText1:: + text "If I had started" + line "as a trainer at" + cont "your age..." + done + +_SilphCo9BattleText2:: + text "Your #MON have" + line "weak points! I" + cont "can nail them!" + done + +_SilphCo9EndBattleText2:: + text "You" + line "hammered me!" + prompt + +_SilphCo9AfterBattleText2:: + text "Exploiting weak" + line "spots does work!" + cont "Think about" + cont "element types!" + done + +_SilphCo9BattleText3:: + text "I am one of the 4" + line "ROCKET BROTHERS!" + done + +_SilphCo9EndBattleText3:: + text "Warg!" + line "Brothers, I lost!" + prompt + +_SilphCo9AfterBattleText3:: + text "My brothers will" + line "avenge me!" + done diff --git a/text/UndergroundPathRoute6.asm b/text/UndergroundPathRoute6.asm new file mode 100644 index 00000000..dacc44f7 --- /dev/null +++ b/text/UndergroundPathRoute6.asm @@ -0,0 +1,5 @@ +_UndergrdTunnelEntRoute6Text1:: + text "People often lose" + line "things in that" + cont "UNDERGROUND PATH." + done diff --git a/text/UndergroundPathRoute7.asm b/text/UndergroundPathRoute7.asm new file mode 100644 index 00000000..5cde3614 --- /dev/null +++ b/text/UndergroundPathRoute7.asm @@ -0,0 +1,5 @@ +_UndergroundPathEntRoute7Text1:: + text "I heard a sleepy" + line "#MON appeared" + cont "near CELADON CITY." + done diff --git a/text/UndergroundPathRoute7Copy.asm b/text/UndergroundPathRoute7Copy.asm new file mode 100644 index 00000000..4e0dc3ca --- /dev/null +++ b/text/UndergroundPathRoute7Copy.asm @@ -0,0 +1,35 @@ +_UGPathRoute7EntranceUnusedText_5d773:: + text "I want to shop at" + line "the dept. store" + cont "in CELADON but..." + + para "There are so many" + line "rough looking" + cont "people there." + done + +_UGPathRoute7EntranceUnusedText_5d778:: + text "TEAM ROCKET had a" + line "secret hideout in" + cont "CELADON CITY?" + done + +_UGPathRoute7EntranceUnusedText_5d77d:: + text "You're here to" + line "shop in CELADON?" + + para "Just step outside" + line "and head west!" + done + +_UGPathRoute7EntranceUnusedText_5d782:: + text "The UNDERGROUND" + line "PATH goes beneath" + cont "SAFFRON and leads" + cont "to LAVENDER." + + para "If you're heading" + line "to CERULEAN, go" + cont "to the building" + cont "across the road." + done diff --git a/text/UndergroundPathRoute8.asm b/text/UndergroundPathRoute8.asm new file mode 100644 index 00000000..da785c8e --- /dev/null +++ b/text/UndergroundPathRoute8.asm @@ -0,0 +1,5 @@ +_UndergroundPathEntRoute8Text1:: + text "The dept. store" + line "in CELADON has a" + cont "great selection!" + done diff --git a/text/VermilionCity.asm b/text/VermilionCity.asm new file mode 100644 index 00000000..1cbc535c --- /dev/null +++ b/text/VermilionCity.asm @@ -0,0 +1,126 @@ +_VermilionCityText1:: + text "We're careful" + line "about pollution!" + + para "We've heard GRIMER" + line "multiplies in" + cont "toxic sludge!" + done + +_VermilionCityTextDidYouSee:: + text "Did you see S.S." + line "ANNE moored in" + cont "the harbor?" + done + +_VermilionCityTextSSAnneDeparted:: + text "So, S.S.ANNE has" + line "departed!" + + para "She'll be back in" + line "about a year." + done + +_SSAnneWelcomeText4:: + text "Welcome to S.S." + line "ANNE!" + done + +_SSAnneWelcomeText9:: + text "Welcome to S.S." + line "ANNE!" + + para "Excuse me, do you" + line "have a ticket?" + prompt + +_SSAnneFlashedTicketText:: + text " flashed" + line "the S.S.TICKET!" + + para "Great! Welcome to" + line "S.S.ANNE!" + done + +_SSAnneNoTicketText:: + text " doesn't" + line "have the needed" + cont "S.S.TICKET." + + para "Sorry!" + + para "You need a ticket" + line "to get aboard." + done + +_SSAnneNotHereText:: + text "The ship set sail." + done + +_VermilionCityText4:: + text "I'm putting up a" + line "building on this" + cont "plot of land." + + para "My #MON is" + line "tamping the land." + done + +_VermilionCityText5:: + text "MACHOP: Guoh!" + line "Gogogoh!@@" + +_VermilionCityText14:: + text "" + para "A MACHOP is" + line "stomping the land" + cont "flat." + done + +_VermilionCityText6:: + text "S.S.ANNE is a" + line "famous luxury" + cont "cruise ship." + + para "We visit VERMILION" + line "once a year." + done + +_VermilionCityText7:: + text "VERMILION CITY" + line "The Port of" + cont "Exquisite Sunsets" + done + +_VermilionCityText8:: + text "NOTICE!" + + para "ROUTE 12 may be" + line "blocked off by a" + cont "sleeping #MON." + + para "Detour through" + line "ROCK TUNNEL to" + cont "LAVENDER TOWN." + + para "VERMILION POLICE" + done + +_VermilionCityText11:: + text "#MON FAN CLUB" + line "All #MON fans" + cont "welcome!" + done + +_VermilionCityText12:: + text "VERMILION CITY" + line "#MON GYM" + cont "LEADER: LT.SURGE" + + para "The Lightning " + line "American!" + done + +_VermilionCityText13:: + text "VERMILION HARBOR" + done diff --git a/text/VermilionDock.asm b/text/VermilionDock.asm new file mode 100644 index 00000000..5d998e82 --- /dev/null +++ b/text/VermilionDock.asm @@ -0,0 +1,3 @@ +_VermilionDockText1:: + text "" + done diff --git a/text/VermilionGym.asm b/text/VermilionGym.asm new file mode 100644 index 00000000..14e0bcea --- /dev/null +++ b/text/VermilionGym.asm @@ -0,0 +1,21 @@ +_LTSurgePreBattleText:: + text "Hey, kid! What do" + line "you think you're" + cont "doing here?" + + para "You won't live" + line "long in combat!" + cont "That's for sure!" + + para "I tell you kid," + line "electric #MON" + cont "saved me during" + cont "the war!" + + para "They zapped my" + line "enemies into" + cont "paralysis!" + + para "The same as I'll" + line "do to you!" + done diff --git a/text/VermilionGym_2.asm b/text/VermilionGym_2.asm new file mode 100644 index 00000000..50da9719 --- /dev/null +++ b/text/VermilionGym_2.asm @@ -0,0 +1,144 @@ +_LTSurgePostBattleAdviceText:: + text "A little word of" + line "advice, kid!" + + para "Electricity is" + line "sure powerful!" + + para "But, it's useless" + line "against ground-" + cont "type #MON!" + done + +_LTSurgeThunderbadgeInfoText:: + text "The THUNDERBADGE" + line "cranks up your" + cont "#MON's SPEED!" + + para "It also lets your" + line "#MON FLY any" + cont "time, kid!" + + para "You're special," + line "kid! Take this!" + done + +_ReceivedTM24Text:: + text " received " + line "@" + TX_RAM wcf4b + text "!@@" + +_TM24ExplanationText:: + text "" + + para "TM24 contains" + line "THUNDERBOLT!" + + para "Teach it to an" + line "electric #MON!" + done + +_TM24NoRoomText:: + text "Yo kid, make room" + line "in your pack!" + done + +_ReceivedThunderbadgeText:: + text "Whoa!" + + para "You're the real" + line "deal, kid!" + + para "Fine then, take" + line "the THUNDERBADGE!" + prompt + +_VermilionGymBattleText1:: + text "When I was in the" + line "Army, LT.SURGE" + cont "was my strict CO!" + done + +_VermilionGymEndBattleText1:: + text "Stop!" + line "You're very good!" + prompt + +_VermilionGymAfterBattleText1:: + text "The door won't" + line "open?" + + para "LT.SURGE always" + line "was cautious!" + done + +_VermilionGymBattleText2:: + text "I'm a lightweight," + line "but I'm good with" + cont "electricity!" + done + +_VermilionGymEndBattleText2:: + text "Fried!" + prompt + +_VermilionGymAfterBattleText2:: + text "OK, I'll talk!" + + para "LT.SURGE said he" + line "hid door switches" + cont "inside something!" + done + +_VermilionGymBattleText3:: + text "This is no place" + line "for kids!" + done + +_VermilionGymEndBattleText3:: + text "Wow!" + line "Surprised me!" + prompt + +_VermilionGymAfterBattleText3:: + text "LT.SURGE set up" + line "double locks!" + cont "Here's a hint!" + + para "When you open the" + line "1st lock, the 2nd" + cont "lock is right" + cont "next to it!" + done + +_VermilionGymFanPreBattleText:: + text "Yo! Champ in" + line "making!" + + para "LT.SURGE has a" + line "nickname. People" + cont "refer to him as" + cont "the Lightning" + cont "American!" + + para "He's an expert on" + line "electric #MON!" + + para "Birds and water" + line "#MON are at" + cont "risk! Beware of" + cont "paralysis too!" + + para "LT.SURGE is very" + line "cautious!" + + para "You'll have to" + line "break a code to" + cont "get to him!" + done + +_VermilionGymFanPostBattleText:: + text "Whew! That match" + line "was electric!" + done diff --git a/text/VermilionMart.asm b/text/VermilionMart.asm new file mode 100644 index 00000000..10743989 --- /dev/null +++ b/text/VermilionMart.asm @@ -0,0 +1,23 @@ +_VermilionMartText2:: + text "There are evil" + line "people who will" + cont "use #MON for" + cont "criminal acts." + + para "TEAM ROCKET" + line "traffics in rare" + cont "#MON." + + para "They also abandon" + line "#MON that they" + cont "consider not to" + cont "be popular or" + cont "useful." + done + +_VermilionMartText3:: + text "I think #MON" + line "can be good or" + cont "evil. It depends" + cont "on the trainer." + done diff --git a/text/VermilionOldRodHouse.asm b/text/VermilionOldRodHouse.asm new file mode 100644 index 00000000..32526e36 --- /dev/null +++ b/text/VermilionOldRodHouse.asm @@ -0,0 +1,54 @@ +_VermilionHouse2Text_560b1:: + text "I'm the FISHING" + line "GURU!" + + para "I simply Looove" + line "fishing!" + + para "Do you like to" + line "fish?" + done + +_VermilionHouse2Text_560b6:: + text "Grand! I like" + line "your style!" + + para "Take this and" + line "fish, young one!" + + para " received" + line "an @" + TX_RAM wcf4b + text "!@@" + +_VermilionHouse2Text_560bb:: + text "" + + para "Fishing is a way" + line "of life!" + + para "From the seas to" + line "rivers, go out" + cont "and land the big" + cont "one, young one!" + done + +_VermilionHouse2Text_560c0:: + text "Oh... That's so" + line "disappointing..." + done + +_VermilionHouse2Text_560c5:: + text "Hello there," + line "!" + + para "How are the fish" + line "biting?" + done + +_VermilionHouse2Text_560ca:: + text "Oh no!" + + para "You have no room" + line "for my gift!" + done diff --git a/text/VermilionPidgeyHouse.asm b/text/VermilionPidgeyHouse.asm new file mode 100644 index 00000000..91c18708 --- /dev/null +++ b/text/VermilionPidgeyHouse.asm @@ -0,0 +1,21 @@ +_VermilionHouse1Text1:: + text "I'm getting my" + line "PIDGEY to fly a" + cont "letter to SAFFRON" + cont "in the north!" + done + +_VermilionHouse1Text2:: + text "PIDGEY: Kurukkoo!@@" + +_VermilionHouse1Text3:: + text "Dear PIPPI, I hope" + line "to see you soon." + + para "I heard SAFFRON" + line "has problems with" + cont "TEAM ROCKET." + + para "VERMILION appears" + line "to be safe." + done diff --git a/text/VermilionPokecenter.asm b/text/VermilionPokecenter.asm new file mode 100644 index 00000000..c9e9a581 --- /dev/null +++ b/text/VermilionPokecenter.asm @@ -0,0 +1,19 @@ +_VermilionPokecenterText2:: + text "Even if they are" + line "the same level," + cont "#MON can have" + cont "very different" + cont "abilities." + + para "A #MON raised" + line "by a trainer is" + cont "stronger than one" + cont "in the wild." + done + +_VermilionPokecenterText3:: + text "My #MON was" + line "poisoned! It" + cont "fainted while we" + cont "were walking!" + done diff --git a/text/VictoryRoad1F.asm b/text/VictoryRoad1F.asm new file mode 100644 index 00000000..1523db88 --- /dev/null +++ b/text/VictoryRoad1F.asm @@ -0,0 +1,31 @@ +_VictoryRoad1BattleText1:: + text "I wonder if you" + line "are good enough" + cont "for me!" + done + +_VictoryRoad1EndBattleText1:: + text "I" + line "lost out!" + prompt + +_VictoryRoad1AfterBattleText1:: + text "I never wanted to" + line "lose to anybody!" + done + +_VictoryRoad1BattleText2:: + text "I can see you're" + line "good! Let me see" + cont "exactly how good!" + done + +_VictoryRoad1EndBattleText2:: + text "I" + line "had a chance..." + prompt + +_VictoryRoad1AfterBattleText2:: + text "I concede, you're" + line "better than me!" + done diff --git a/text/VictoryRoad2F.asm b/text/VictoryRoad2F.asm new file mode 100644 index 00000000..ec9dcf4f --- /dev/null +++ b/text/VictoryRoad2F.asm @@ -0,0 +1,85 @@ +_MoltresBattleText:: + text "Gyaoo!@@" + +_VictoryRoad2BattleText1:: + text "VICTORY ROAD is" + line "the final test" + cont "for trainers!" + done + +_VictoryRoad2EndBattleText1:: + text "Aiyah!" + prompt + +_VictoryRoad2AfterBattleText1:: + text "If you get stuck," + line "try moving some" + cont "boulders around!" + done + +_VictoryRoad2BattleText2:: + text "Ah, so you wish" + line "to challenge the" + cont "ELITE FOUR?" + done + +_VictoryRoad2EndBattleText2:: + text "You" + line "got me!" + prompt + +_VictoryRoad2AfterBattleText2:: + text " also came" + line "through here!" + done + +_VictoryRoad2BattleText3:: + text "Come on!" + line "I'll whip you!" + done + +_VictoryRoad2EndBattleText3:: + text "I got" + line "whipped!" + prompt + +_VictoryRoad2AfterBattleText3:: + text "You earned the" + line "right to be on" + cont "VICTORY ROAD!" + done + +_VictoryRoad2BattleText4:: + text "If you can get" + line "through here, you" + cont "can go meet the" + cont "ELITE FOUR!" + done + +_VictoryRoad2EndBattleText4:: + text "No!" + line "Unbelievable!" + prompt + +_VictoryRoad2AfterBattleText4:: + text "I can beat you" + line "when it comes to" + cont "knowledge about" + cont "#MON!" + done + +_VictoryRoad2BattleText5:: + text "Is VICTORY ROAD" + line "too tough?" + done + +_VictoryRoad2EndBattleText5:: + text "Well" + line "done!" + prompt + +_VictoryRoad2AfterBattleText5:: + text "Many trainers give" + line "up the challenge" + cont "here." + done diff --git a/text/VictoryRoad3F.asm b/text/VictoryRoad3F.asm new file mode 100644 index 00000000..07e0be70 --- /dev/null +++ b/text/VictoryRoad3F.asm @@ -0,0 +1,63 @@ +_VictoryRoad3BattleText2:: + text "I heard rumors of" + line "a child prodigy!" + done + +_VictoryRoad3EndBattleText2:: + text "The" + line "rumors were true!" + prompt + +_VictoryRoad3AfterBattleText2:: + text "You beat GIOVANNI" + line "of TEAM ROCKET?" + done + +_VictoryRoad3BattleText3:: + text "I'll show you just" + line "how good you are!" + done + +_VictoryRoad3EndBattleText3:: + text "I'm" + line "furious!" + prompt + +_VictoryRoad3AfterBattleText3:: + text "You showed me just" + line "how good I was!" + done + +_VictoryRoad3BattleText4:: + text "Only the chosen" + line "can pass here!" + done + +_VictoryRoad3EndBattleText4:: + text "I" + line "don't believe it!" + prompt + +_VictoryRoad3AfterBattleText4:: + text "All trainers here" + line "are headed to the" + cont "#MON LEAGUE!" + cont "Be careful!" + done + +_VictoryRoad3BattleText5:: + text "Trainers live to" + line "seek stronger" + cont "opponents!" + done + +_VictoryRoad3EndBattleText5:: + text "Oh!" + line "So strong!" + prompt + +_VictoryRoad3AfterBattleText5:: + text "By fighting tough" + line "battles, you get" + cont "stronger!" + done diff --git a/text/ViridianCity.asm b/text/ViridianCity.asm new file mode 100644 index 00000000..67ab5c40 --- /dev/null +++ b/text/ViridianCity.asm @@ -0,0 +1,180 @@ +_ViridianCityText1:: + text "Those # BALLs" + line "at your waist!" + cont "You have #MON!" + + para "It's great that" + line "you can carry and" + cont "use #MON any" + cont "time, anywhere!" + done + +_ViridianCityText_19122:: + text "This #MON GYM" + line "is always closed." + + para "I wonder who the" + line "LEADER is?" + done + +_ViridianCityText_19127:: + text "VIRIDIAN GYM's" + line "LEADER returned!" + done + +_ViridianCityText_1914d:: + text "You want to know" + line "about the 2 kinds" + cont "of caterpillar" + cont "#MON?" + done + +_ViridianCityText_19152:: + text "Oh, OK then!" + done + +_ViridianCityText_19157:: + text "CATERPIE has no" + line "poison, but" + cont "WEEDLE does." + + para "Watch out for its" + line "POISON STING!" + done + +_ViridianCityText_19175:: + text "Oh Grandpa! Don't" + line "be so mean!" + cont "He hasn't had his" + cont "coffee yet." + done + +_ViridianCityText_1917a:: + text "When I go shop in" + line "PEWTER CITY, I" + cont "have to take the" + cont "winding trail in" + cont "VIRIDIAN FOREST." + done + +_ViridianCityText_19191:: + text "You can't go" + line "through here!" + + para "This is private" + line "property!" + done + +_ViridianCityText_191ca:: + text "Yawn!" + line "I must have dozed" + cont "off in the sun." + + para "I had this dream" + line "about a DROWZEE" + cont "eating my dream." + cont "What's this?" + cont "Where did this TM" + cont "come from?" + + para "This is spooky!" + line "Here, you can" + cont "have this TM." + prompt + +_ReceivedTM42Text:: + text " received" + line "TM42!@@" + +_TM42Explanation:: + text "TM42 contains" + line "DREAM EATER..." + cont "...Snore..." + done + +_TM42NoRoomText:: + text "You have too much" + line "stuff already." + done + +_ViridianCityText_1920a:: + text "Ahh, I've had my" + line "coffee now and I" + cont "feel great!" + + para "Sure you can go" + line "through!" + + para "Are you in a" + line "hurry?" + done + +_ViridianCityText_1920f:: + text "I see you're using" + line "a #DEX." + + para "When you catch a" + line "#MON, #DEX" + cont "is automatically" + cont "updated." + + para "What? Don't you" + line "know how to catch" + cont "#MON?" + + para "I'll show you" + line "how to then." + done + +_ViridianCityText_19214:: + text "Time is money..." + line "Go along then." + done + +_ViridianCityText_19219:: + text "First, you need" + line "to weaken the" + cont "target #MON." + done + +_ViridianCityText8:: + text "VIRIDIAN CITY " + line "The Eternally" + cont "Green Paradise" + done + +_ViridianCityText9:: + text "TRAINER TIPS" + + para "Catch #MON" + line "and expand your" + cont "collection!" + + para "The more you have," + line "the easier it is" + cont "to fight!" + done + +_ViridianCityText10:: + text "TRAINER TIPS" + + para "The battle moves" + line "of #MON are" + cont "limited by their" + cont "POWER POINTs, PP." + + para "To replenish PP," + line "rest your tired" + cont "#MON at a" + cont "#MON CENTER!" + done + +_ViridianCityText13:: + text "VIRIDIAN CITY" + line "#MON GYM" + done + +_ViridianCityText14:: + text "The GYM's doors" + line "are locked..." + done diff --git a/text/ViridianForest.asm b/text/ViridianForest.asm new file mode 100644 index 00000000..813b193a --- /dev/null +++ b/text/ViridianForest.asm @@ -0,0 +1,123 @@ +_ViridianForestText1:: + text "I came here with" + line "some friends!" + + para "They're out for" + line "#MON fights!" + done + +_ViridianForestBattleText1:: + text "Hey! You have" + line "#MON! Come on!" + cont "Let's battle'em!" + done + +_ViridianForestEndBattleText1:: + text "No!" + line "CATERPIE can't" + cont "cut it!" + prompt + +_ViridianFrstAfterBattleText1:: + text "Ssh! You'll scare" + line "the bugs away!" + done + +_ViridianForestBattleText2:: + text "Yo! You can't jam" + line "out if you're a" + cont "#MON trainer!" + done + +_ViridianForestEndBattleText2:: + text "Huh?" + line "I ran out of" + cont "#MON!" + prompt + +_ViridianFrstAfterBattleText2:: + text "Darn! I'm going" + line "to catch some" + cont "stronger ones!" + done + +_ViridianForestBattleText3:: + text "Hey, wait up!" + line "What's the hurry?" + done + +_ViridianForestEndBattleText3:: + text "I" + line "give! You're good" + cont "at this!" + prompt + +_ViridianFrstAfterBattleText3:: + text "Sometimes, you" + line "can find stuff on" + cont "the ground!" + + para "I'm looking for" + line "the stuff I" + cont "dropped!" + done + +_ViridianForestText8:: + text "I ran out of #" + line "BALLs to catch" + cont "#MON with!" + + para "You should carry" + line "extras!" + done + +_ViridianForestText9:: + text "TRAINER TIPS" + + para "If you want to" + line "avoid battles," + cont "stay away from" + cont "grassy areas!" + done + +_ViridianForestText10:: + text "For poison, use" + line "ANTIDOTE! Get it" + cont "at #MON MARTs!" + done + +_ViridianForestText11:: + text "TRAINER TIPS" + + para "Contact PROF.OAK" + line "via PC to get" + cont "your #DEX" + cont "evaluated!" + done + +_ViridianForestText12:: + text "TRAINER TIPS" + + para "No stealing of" + line "#MON from" + cont "other trainers!" + cont "Catch only wild" + cont "#MON!" + done + +_ViridianForestText13:: + text "TRAINER TIPS" + + para "Weaken #MON" + line "before attempting" + cont "capture!" + + para "When healthy," + line "they may escape!" + done + +_ViridianForestText14:: + text "LEAVING" + line "VIRIDIAN FOREST" + cont "PEWTER CITY AHEAD" + done diff --git a/text/ViridianForestNorthGate.asm b/text/ViridianForestNorthGate.asm new file mode 100644 index 00000000..ab6a5a1d --- /dev/null +++ b/text/ViridianForestNorthGate.asm @@ -0,0 +1,19 @@ +_ViridianForestExitText1:: + text "Many #MON live" + line "only in forests " + cont "and caves." + + para "You need to look" + line "everywhere to get" + cont "different kinds!" + done + +_ViridianForestExitText2:: + text "Have you noticed" + line "the bushes on the" + cont "roadside?" + + para "They can be cut" + line "down by a special" + cont "#MON move." + done diff --git a/text/ViridianForestSouthGate.asm b/text/ViridianForestSouthGate.asm new file mode 100644 index 00000000..c1a8df22 --- /dev/null +++ b/text/ViridianForestSouthGate.asm @@ -0,0 +1,13 @@ +_ViridianForestEntranceText1:: + text "Are you going to" + line "VIRIDIAN FOREST?" + cont "Be careful, it's" + cont "a natural maze!" + done + +_ViridianForestEntranceText2:: + text "RATTATA may be" + line "small, but its" + cont "bite is wicked!" + cont "Did you get one?" + done diff --git a/text/ViridianGym.asm b/text/ViridianGym.asm new file mode 100644 index 00000000..4c7b5207 --- /dev/null +++ b/text/ViridianGym.asm @@ -0,0 +1,237 @@ +_ViridianGymText_74ace:: + text "Fwahahaha! This is" + line "my hideout!" + + para "I planned to" + line "resurrect TEAM" + cont "ROCKET here!" + + para "But, you have" + line "caught me again!" + cont "So be it! This" + cont "time, I'm not" + cont "holding back!" + + para "Once more, you" + line "shall face" + cont "GIOVANNI, the" + cont "greatest trainer!" + done + +_ViridianGymText_74ad3:: + text "Ha!" + line "That was a truly" + cont "intense fight!" + cont "You have won!" + cont "As proof, here is" + cont "the EARTHBADGE!@@" + +_ViridianGymText_74ad9:: + text "Having lost, I" + line "cannot face my" + cont "underlings!" + cont "TEAM ROCKET is" + cont "finished forever!" + + para "I will dedicate my" + line "life to the study" + cont "of #MON!" + + para "Let us meet again" + line "some day!" + cont "Farewell!@@" + +_ViridianGymText12:: + text "The EARTHBADGE" + line "makes #MON of" + cont "any level obey!" + + para "It is evidence of" + line "your mastery as a" + cont "#MON trainer!" + + para "With it, you can" + line "enter the #MON" + cont "LEAGUE!" + + para "It is my gift for" + line "your #MON" + cont "LEAGUE challenge!" + done + +_ReceivedTM27Text:: + text " received" + line "TM27!@@" + +_TM27ExplanationText:: + text "" + + para "TM27 is FISSURE!" + line "It will take out" + cont "#MON with just" + cont "one hit!" + + para "I made it when I" + line "ran the GYM here," + cont "too long ago..." + done + +_TM27NoRoomText:: + text "You do not have" + line "space for this!" + done + +_ViridianGymBattleText1:: + text "Heh! You must be" + line "running out of" + cont "steam by now!" + done + +_ViridianGymEndBattleText1:: + text "I" + line "ran out of gas!" + prompt + +_ViridianGymAfterBattleText1:: + text "You need power to" + line "keep up with our" + cont "GYM LEADER!" + done + +_ViridianGymBattleText2:: + text "Rrrroar! I'm" + line "working myself" + cont "into a rage!" + done + +_ViridianGymEndBattleText2:: + text "Wargh!" + prompt + +_ViridianGymAfterBattleText2:: + text "I'm still not" + line "worthy!" + done + +_ViridianGymBattleText3:: + text "#MON and I, we" + line "make wonderful" + cont "music together!" + done + +_ViridianGymEndBattleText3:: + text "You are in" + line "perfect harmony!" + prompt + +_ViridianGymAfterBattleText3:: + text "Do you know the" + line "identity of our" + cont "GYM LEADER?" + done + +_ViridianGymBattleText4:: + text "Karate is the" + line "ultimate form of" + cont "martial arts!" + done + +_ViridianGymEndBattleText4:: + text "Atcho!" + prompt + +_ViridianGymAfterBattleText4:: + text "If my #MON" + line "were as good at" + cont "Karate as I..." + done + +_ViridianGymBattleText5:: + text "The truly talented" + line "win with style!" + done + +_ViridianGymEndBattleText5:: + text "I" + line "lost my grip!" + prompt + +_ViridianGymAfterBattleText5:: + text "The LEADER will" + line "scold me!" + done + +_ViridianGymBattleText6:: + text "I'm the KARATE" + line "KING! Your fate" + cont "rests with me!" + done + +_ViridianGymEndBattleText6:: + text "Ayah!" + prompt + +_ViridianGymAfterBattleText6:: + text "#MON LEAGUE?" + line "You? Don't get" + cont "cocky!" + done + +_ViridianGymBattleText7:: + text "Your #MON will" + line "cower at the" + cont "crack of my whip!" + done + +_ViridianGymEndBattleText7:: + text "Yowch!" + line "Whiplash!" + prompt + +_ViridianGymAfterBattleText7:: + text "Wait! I was just" + line "careless!" + done + +_ViridianGymBattleText8:: + text "VIRIDIAN GYM was" + line "closed for a long" + cont "time, but now our" + cont "LEADER is back!" + done + +_ViridianGymEndBattleText8:: + text "I" + line "was beaten?" + prompt + +_ViridianGymAfterBattleText8:: + text "You can go onto" + line "#MON LEAGUE" + cont "only by defeating" + cont "our GYM LEADER!" + done + +_ViridianGymText_74bd4:: + text "Yo! Champ in" + line "making!" + + para "Even I don't know" + line "VIRIDIAN LEADER's" + cont "identity!" + + para "This will be the" + line "toughest of all" + cont "the GYM LEADERs!" + + para "I heard that the" + line "trainers here" + cont "like ground-type" + cont "#MON!" + done + +_ViridianGymText_74bd9:: + text "Blow me away!" + line "GIOVANNI was the" + cont "GYM LEADER here?" + done diff --git a/text/ViridianMart.asm b/text/ViridianMart.asm new file mode 100644 index 00000000..61750afe --- /dev/null +++ b/text/ViridianMart.asm @@ -0,0 +1,30 @@ +_ViridianMartText1:: + text "Okay! Say hi to" + line "PROF.OAK for me!" + done + +_ViridianMartText4:: + text "Hey! You came from" + line "PALLET TOWN?" + done + +ViridianMartParcelQuestText:: + text "You know PROF." + line "OAK, right?" + + para "His order came in." + line "Will you take it" + cont "to him?" + + para " got" + line "OAK's PARCEL!@@" + +_ViridianMartText2:: + text "This shop sells" + line "many ANTIDOTEs." + done + +_ViridianMartText3:: + text "No! POTIONs are" + line "all sold out." + done diff --git a/text/ViridianNicknameHouse.asm b/text/ViridianNicknameHouse.asm new file mode 100644 index 00000000..757f597a --- /dev/null +++ b/text/ViridianNicknameHouse.asm @@ -0,0 +1,23 @@ +_ViridianHouseText1:: + text "Coming up with" + line "nicknames is fun," + cont "but hard." + + para "Simple names are" + line "the easiest to" + cont "remember." + done + +_ViridianHouseText2:: + text "My Daddy loves" + line "#MON too." + done + +_ViridianHouseText_1d5b1:: + text "SPEARY: Tetweet!" + done + +_ViridianHouseText4:: + text "SPEAROW" + line "Name: SPEARY" + done diff --git a/text/ViridianPokecenter.asm b/text/ViridianPokecenter.asm new file mode 100644 index 00000000..4ac18bf6 --- /dev/null +++ b/text/ViridianPokecenter.asm @@ -0,0 +1,16 @@ +_ViridianPokeCenterText2:: + text "You can use that" + line "PC in the corner." + + para "The receptionist" + line "told me. So kind!" + done + +_ViridianPokeCenterText3:: + text "There's a #MON" + line "CENTER in every" + cont "town ahead." + + para "They don't charge" + line "any money either!" + done diff --git a/text/ViridianSchoolHouse.asm b/text/ViridianSchoolHouse.asm new file mode 100644 index 00000000..f6041e0d --- /dev/null +++ b/text/ViridianSchoolHouse.asm @@ -0,0 +1,13 @@ +_SchoolText1:: + text "Whew! I'm trying" + line "to memorize all" + cont "my notes." + done + +_SchoolText2:: + text "Okay!" + + para "Be sure to read" + line "the blackboard" + cont "carefully!" + done diff --git a/text/WardensHouse.asm b/text/WardensHouse.asm new file mode 100644 index 00000000..7efddb90 --- /dev/null +++ b/text/WardensHouse.asm @@ -0,0 +1,84 @@ +_WardenGibberishText1:: + text "WARDEN: Hif fuff" + line "hefifoo!" + + para "Ha lof ha feef ee" + line "hafahi ho. Heff" + cont "hee fwee!" + done + +_WardenGibberishText2:: + text "Ah howhee ho hoo!" + line "Eef ee hafahi ho!" + done + +_WardenGibberishText3:: + text "Ha? He ohay heh" + line "ha hoo ee haheh!" + done + +_WardenTeethText1:: + text " gave the" + line "GOLD TEETH to the" + cont "WARDEN!@@" + +_WardenTeethText2:: + text "" + + para "The WARDEN popped" + line "in his teeth!" + prompt + +_WardenThankYouText:: + text "WARDEN: Thanks," + line "kid! No one could" + cont "understand a word" + cont "that I said." + + para "I couldn't work" + line "that way." + cont "Let me give you" + cont "something for" + cont "your trouble." + prompt + +_ReceivedHM04Text:: + text " received" + line "@" + TX_RAM wcf4b + text "!@@" + +_HM04ExplanationText:: + text "WARDEN: HM04" + line "teaches STRENGTH!" + + para "It lets #MON" + line "move boulders" + cont "when you're out-" + cont "side of battle." + + para "Oh yes, did you" + line "find SECRET HOUSE" + cont "in SAFARI ZONE?" + + para "If you do, you" + line "win an HM!" + + para "I hear it's the" + line "rare SURF HM." + done + +_HM04NoRoomText:: + text "Your pack is" + line "stuffed full!" + done + +_FuchsiaHouse2Text_75176:: + text "#MON photos" + line "and fossils." + done + +_FuchsiaHouse2Text_7517b:: + text "Old #MON" + line "merchandise." + done diff --git a/text/alphabets.asm b/text/alphabets.asm deleted file mode 100644 index 9799a7e6..00000000 --- a/text/alphabets.asm +++ /dev/null @@ -1,5 +0,0 @@ -LowerCaseAlphabet: - db "abcdefghijklmnopqrstuvwxyz ×():;[]",$e1,$e2,"-?!♂♀/⠄,¥UPPER CASE@" - -UpperCaseAlphabet: - db "ABCDEFGHIJKLMNOPQRSTUVWXYZ ×():;[]",$e1,$e2,"-?!♂♀/⠄,¥lower case@" diff --git a/text/credits_text.asm b/text/credits_text.asm deleted file mode 100755 index a68c33d3..00000000 --- a/text/credits_text.asm +++ /dev/null @@ -1,199 +0,0 @@ -CreditsTextPointers: - dw CredVersion - dw CredTajiri - dw CredTaOota - dw CredMorimoto - dw CredWatanabe - dw CredMasuda - dw CredNisino - dw CredSugimori - dw CredNishida - dw CredMiyamoto - dw CredKawaguchi - dw CredIshihara - dw CredYamauchi - dw CredZinnai - dw CredHishida - dw CredSakai - dw CredYamaguchi - dw CredYamamoto - dw CredTaniguchi - dw CredNonomura - dw CredFuziwara - dw CredMatsusima - dw CredTomisawa - dw CredKawamoto - dw CredKakei - dw CredTsuchiya - dw CredTaNakamura - dw CredYuda - dw CredMon - dw CredDirector - dw CredProgrammers - dw CredCharDesign - dw CredMusic - dw CredSoundEffects - dw CredGameDesign - dw CredMonsterDesign - dw CredGameScene - dw CredParam - dw CredMap - dw CredTest - dw CredSpecial - dw CredProducers - dw CredProducer - dw CredExecutive - dw CredTamada - dw CredSaOota - dw CredYoshikawa - dw CredToOota - dw CredUSStaff - dw CredUSCoord - dw CredTilden - dw CredKawakami - dw CredHiNakamura - dw CredGiese - dw CredOsborne - dw CredTrans - dw CredOgasawara - dw CredIwata - dw CredIzushi - dw CredHarada - dw CredMurakawa - dw CredFukui - dw CredClub - dw CredPAAD - -CredVersion: ; this 1 byte difference makes all bank addresses offset by 1 in the blue version -IF DEF(_RED) - db -8, "RED VERSION STAFF@" -ENDC -IF DEF(_BLUE) - db -8, "BLUE VERSION STAFF@" -ENDC -CredTajiri: - db -6, "SATOSHI TAJIRI@" -CredTaOota: - db -6, "TAKENORI OOTA@" -CredMorimoto: - db -7, "SHIGEKI MORIMOTO@" -CredWatanabe: - db -7, "TETSUYA WATANABE@" -CredMasuda: - db -6, "JUNICHI MASUDA@" -CredNisino: - db -5, "KOHJI NISINO@" -CredSugimori: - db -5, "KEN SUGIMORI@" -CredNishida: - db -6, "ATSUKO NISHIDA@" -CredMiyamoto: - db -7, "SHIGERU MIYAMOTO@" -CredKawaguchi: - db -8, "TAKASHI KAWAGUCHI@" -CredIshihara: - db -8, "TSUNEKAZU ISHIHARA@" -CredYamauchi: - db -7, "HIROSHI YAMAUCHI@" -CredZinnai: - db -7, "HIROYUKI ZINNAI@" -CredHishida: - db -7, "TATSUYA HISHIDA@" -CredSakai: - db -6, "YASUHIRO SAKAI@" -CredYamaguchi: - db -7, "WATARU YAMAGUCHI@" -CredYamamoto: - db -8, "KAZUYUKI YAMAMOTO@" -CredTaniguchi: - db -8, "RYOHSUKE TANIGUCHI@" -CredNonomura: - db -8, "FUMIHIRO NONOMURA@" -CredFuziwara: - db -7, "MOTOFUMI FUZIWARA@" -CredMatsusima: - db -7, "KENJI MATSUSIMA@" -CredTomisawa: - db -7, "AKIHITO TOMISAWA@" -CredKawamoto: - db -7, "HIROSHI KAWAMOTO@" -CredKakei: - db -6, "AKIYOSHI KAKEI@" -CredTsuchiya: - db -7, "KAZUKI TSUCHIYA@" -CredTaNakamura: - db -6, "TAKEO NAKAMURA@" -CredYuda: - db -6, "MASAMITSU YUDA@" -CredMon: - db -3, "#MON@" -CredDirector: - db -3, "DIRECTOR@" -CredProgrammers: - db -5, "PROGRAMMERS@" -CredCharDesign: - db -7, "CHARACTER DESIGN@" -CredMusic: - db -2, "MUSIC@" -CredSoundEffects: - db -6, "SOUND EFFECTS@" -CredGameDesign: - db -5, "GAME DESIGN@" -CredMonsterDesign: - db -6, "MONSTER DESIGN@" -CredGameScene: - db -6, "GAME SCENARIO@" -CredParam: - db -8, "PARAMETRIC DESIGN@" -CredMap: - db -4, "MAP DESIGN@" -CredTest: - db -7, "PRODUCT TESTING@" -CredSpecial: - db -6, "SPECIAL THANKS@" -CredProducers: - db -4, "PRODUCERS@" -CredProducer: - db -4, "PRODUCER@" -CredExecutive: - db -8, "EXECUTIVE PRODUCER@" -CredTamada: - db -6, "SOUSUKE TAMADA@" -CredSaOota: - db -5, "SATOSHI OOTA@" -CredYoshikawa: - db -6, "RENA YOSHIKAWA@" -CredToOota: - db -6, "TOMOMICHI OOTA@" -CredUSStaff: - db -7, "US VERSION STAFF@" -CredUSCoord: - db -7, "US COORDINATION@" -CredTilden: - db -5, "GAIL TILDEN@" -CredKawakami: - db -6, "NAOKO KAWAKAMI@" -CredHiNakamura: - db -6, "HIRO NAKAMURA@" -CredGiese: - db -6, "WILLIAM GIESE@" -CredOsborne: - db -5, "SARA OSBORNE@" -CredTrans: - db -7, "TEXT TRANSLATION@" -CredOgasawara: - db -6, "NOB OGASAWARA@" -CredIwata: - db -5, "SATORU IWATA@" -CredIzushi: - db -7, "TAKEHIRO IZUSHI@" -CredHarada: - db -7, "TAKAHIRO HARADA@" -CredMurakawa: - db -7, "TERUKI MURAKAWA@" -CredFukui: - db -5, "KOHTA FUKUI@" -CredClub: - db -9, "NCL SUPER MARIO CLUB@" -CredPAAD: - db -5, "PAAD TESTING@" diff --git a/text/dakutens.asm b/text/dakutens.asm deleted file mode 100644 index f3bf4854..00000000 --- a/text/dakutens.asm +++ /dev/null @@ -1,15 +0,0 @@ -Dakutens: - db "かが", "きぎ", "くぐ", "けげ", "こご" - db "さざ", "しじ", "すず", "せぜ", "そぞ" - db "ただ", "ちぢ", "つづ", "てで", "とど" - db "はば", "ひび", "ふぶ", "へべ", "ほぼ" - db "カガ", "キギ", "クグ", "ケゲ", "コゴ" - db "サザ", "シジ", "スズ", "セゼ", "ソゾ" - db "タダ", "チヂ", "ツヅ", "テデ", "トド" - db "ハバ", "ヒビ", "フブ", "へべ", "ホボ" - db $ff - -Handakutens: - db "はぱ", "ひぴ", "ふぷ", "へぺ", "ほぽ" - db "ハパ", "ヒピ", "フプ", "へぺ", "ホポ" - db $ff diff --git a/text/item_names.asm b/text/item_names.asm deleted file mode 100755 index 0c07fe5d..00000000 --- a/text/item_names.asm +++ /dev/null @@ -1,98 +0,0 @@ -ItemNames:: - db "MASTER BALL@" - db "ULTRA BALL@" - db "GREAT BALL@" - db "POKé BALL@" - db "TOWN MAP@" - db "BICYCLE@" - db "?????@" - db "SAFARI BALL@" - db "POKéDEX@" - db "MOON STONE@" - db "ANTIDOTE@" - db "BURN HEAL@" - db "ICE HEAL@" - db "AWAKENING@" - db "PARLYZ HEAL@" - db "FULL RESTORE@" - db "MAX POTION@" - db "HYPER POTION@" - db "SUPER POTION@" - db "POTION@" - db "BOULDERBADGE@" - db "CASCADEBADGE@" - db "THUNDERBADGE@" - db "RAINBOWBADGE@" - db "SOULBADGE@" - db "MARSHBADGE@" - db "VOLCANOBADGE@" - db "EARTHBADGE@" - db "ESCAPE ROPE@" - db "REPEL@" - db "OLD AMBER@" - db "FIRE STONE@" - db "THUNDERSTONE@" - db "WATER STONE@" - db "HP UP@" - db "PROTEIN@" - db "IRON@" - db "CARBOS@" - db "CALCIUM@" - db "RARE CANDY@" - db "DOME FOSSIL@" - db "HELIX FOSSIL@" - db "SECRET KEY@" - db "?????@" - db "BIKE VOUCHER@" - db "X ACCURACY@" - db "LEAF STONE@" - db "CARD KEY@" - db "NUGGET@" - db "PP UP@" - db "POKé DOLL@" - db "FULL HEAL@" - db "REVIVE@" - db "MAX REVIVE@" - db "GUARD SPEC.@" - db "SUPER REPEL@" - db "MAX REPEL@" - db "DIRE HIT@" - db "COIN@" - db "FRESH WATER@" - db "SODA POP@" - db "LEMONADE@" - db "S.S.TICKET@" - db "GOLD TEETH@" - db "X ATTACK@" - db "X DEFEND@" - db "X SPEED@" - db "X SPECIAL@" - db "COIN CASE@" - db "OAK's PARCEL@" - db "ITEMFINDER@" - db "SILPH SCOPE@" - db "POKé FLUTE@" - db "LIFT KEY@" - db "EXP.ALL@" - db "OLD ROD@" - db "GOOD ROD@" - db "SUPER ROD@" - db "PP UP@" - db "ETHER@" - db "MAX ETHER@" - db "ELIXER@" - db "MAX ELIXER@" - db "B2F@" - db "B1F@" - db "1F@" - db "2F@" - db "3F@" - db "4F@" - db "5F@" - db "6F@" - db "7F@" - db "8F@" - db "9F@" - db "10F@" - db "11F@" - db "B4F@" diff --git a/text/map_names.asm b/text/map_names.asm deleted file mode 100755 index c2642942..00000000 --- a/text/map_names.asm +++ /dev/null @@ -1,107 +0,0 @@ -MapNames: -PalletTownName: - db "PALLET TOWN@" -ViridianCityName: - db "VIRIDIAN CITY@" -PewterCityName: - db "PEWTER CITY@" -CeruleanCityName: - db "CERULEAN CITY@" -LavenderTownName: - db "LAVENDER TOWN@" -VermilionCityName: - db "VERMILION CITY@" -CeladonCityName: - db "CELADON CITY@" -FuchsiaCityName: - db "FUCHSIA CITY@" -CinnabarIslandName: - db "CINNABAR ISLAND@" -IndigoPlateauName: - db "INDIGO PLATEAU@" -SaffronCityName: - db "SAFFRON CITY@" -Route1Name: - db "ROUTE 1@" -Route2Name: - db "ROUTE 2@" -Route3Name: - db "ROUTE 3@" -Route4Name: - db "ROUTE 4@" -Route5Name: - db "ROUTE 5@" -Route6Name: - db "ROUTE 6@" -Route7Name: - db "ROUTE 7@" -Route8Name: - db "ROUTE 8@" -Route9Name: - db "ROUTE 9@" -Route10Name: - db "ROUTE 10@" -Route11Name: - db "ROUTE 11@" -Route12Name: - db "ROUTE 12@" -Route13Name: - db "ROUTE 13@" -Route14Name: - db "ROUTE 14@" -Route15Name: - db "ROUTE 15@" -Route16Name: - db "ROUTE 16@" -Route17Name: - db "ROUTE 17@" -Route18Name: - db "ROUTE 18@" -Route19Name: - db "SEA ROUTE 19@" -Route20Name: - db "SEA ROUTE 20@" -Route21Name: - db "SEA ROUTE 21@" -Route22Name: - db "ROUTE 22@" -Route23Name: - db "ROUTE 23@" -Route24Name: - db "ROUTE 24@" -Route25Name: - db "ROUTE 25@" -ViridianForestName: - db "VIRIDIAN FOREST@" -MountMoonName: - db "MT.MOON@" -RockTunnelName: - db "ROCK TUNNEL@" -SeaCottageName: - db "SEA COTTAGE@" -SSAnneName: - db "S.S.ANNE@" -PokemonLeagueName: - db "#MON LEAGUE@" -UndergroundPathName: - db "UNDERGROUND PATH@" -PokemonTowerName: - db "#MON TOWER@" -SeafoamIslandsName: - db "SEAFOAM ISLANDS@" -VictoryRoadName: - db "VICTORY ROAD@" -DiglettsCaveName: - db "DIGLETT's CAVE@" -RocketHQName: - db "ROCKET HQ@" -SilphCoName: - db "SILPH CO.@" -PokemonMansionName: - db " MANSION@" -SafariZoneName: - db "SAFARI ZONE@" -CeruleanCaveName: - db "CERULEAN CAVE@" -PowerPlantName: - db "POWER PLANT@" diff --git a/text/maps/AgathasRoom.asm b/text/maps/AgathasRoom.asm deleted file mode 100644 index 9ef5059a..00000000 --- a/text/maps/AgathasRoom.asm +++ /dev/null @@ -1,44 +0,0 @@ -_AgathaBeforeBattleText:: - text "I am AGATHA of" - line "the ELITE FOUR!" - - para "OAK's taken a lot" - line "of interest in" - cont "you, child!" - - para "That old duff was" - line "once tough and" - cont "handsome! That" - cont "was decades ago!" - - para "Now he just wants" - line "to fiddle with" - cont "his #DEX! He's" - cont "wrong! #MON" - cont "are for fighting!" - - para "! I'll show" - line "you how a real" - cont "trainer fights!" - done - -_AgathaEndBattleText:: - text "Oh ho!" - line "You're something" - cont "special, child!" - prompt - -_AgathaAfterBattleText:: - text "You win! I see" - line "what the old duff" - cont "sees in you now!" - - para "I have nothing" - line "else to say! Run" - cont "along now, child!" - done - -_AgathaDontRunAwayText:: - text "Someone's voice:" - line "Don't run away!" - done diff --git a/text/maps/BikeShop.asm b/text/maps/BikeShop.asm deleted file mode 100644 index 86799865..00000000 --- a/text/maps/BikeShop.asm +++ /dev/null @@ -1,70 +0,0 @@ -_BikeShopText_1d810:: - text "Hi! Welcome to" - line "our BIKE SHOP." - - para "Have we got just" - line "the BIKE for you!" - prompt - -_BikeShopText_1d815:: - text "It's a cool BIKE!" - line "Do you want it?" - done - -_BikeShopCantAffordText:: - text "Sorry! You can't" - line "afford it!" - prompt - -_BikeShopText_1d81f:: - text "Oh, that's..." - - para "A BIKE VOUCHER!" - - para "OK! Here you go!" - prompt - -_BikeShopText_1d824:: - text " exchanged" - line "the BIKE VOUCHER" - cont "for a BICYCLE.@@" - -_BikeShopComeAgainText:: - text "Come back again" - line "some time!" - done - -_BikeShopText_1d82f:: - text "How do you like" - line "your new BICYCLE?" - - para "You can take it" - line "on CYCLING ROAD" - cont "and in caves!" - done - -_BikeShopText_1d834:: - text "You better make" - line "room for this!" - done - -_BikeShopText_1d843:: - text "A plain city BIKE" - line "is good enough" - cont "for me!" - - para "You can't put a" - line "shopping basket" - cont "on an MTB!" - done - -_BikeShopText_1d85c:: - text "These BIKEs are" - line "cool, but they're" - cont "way expensive!" - done - -_BikeShopText_1d861:: - text "Wow. Your BIKE is" - line "really cool!" - done diff --git a/text/maps/BillsHouse.asm b/text/maps/BillsHouse.asm deleted file mode 100644 index 5ece48d7..00000000 --- a/text/maps/BillsHouse.asm +++ /dev/null @@ -1,87 +0,0 @@ -_BillsHouseText_1e865:: - text "Hiya! I'm a" - line "#MON..." - cont "...No I'm not!" - - para "Call me BILL!" - line "I'm a true blue" - cont "#MANIAC! Hey!" - cont "What's with that" - cont "skeptical look?" - - para "I'm not joshing" - line "you, I screwed up" - cont "an experiment and" - cont "got combined with" - cont "a #MON!" - - para "So, how about it?" - line "Help me out here!" - done - -_BillsHouseText_1e86a:: - text "When I'm in the" - line "TELEPORTER, go to" - cont "my PC and run the" - cont "Cell Separation" - cont "System!" - done - -_BillsHouseText_1e86f:: - text "No!? Come on, you" - line "gotta help a guy" - cont "in deep trouble!" - - para "What do you say," - line "chief? Please?" - cont "OK? All right!" - prompt - -_BillThankYouText:: - text "BILL: Yeehah!" - line "Thanks, bud! I" - cont "owe you one!" - - para "So, did you come" - line "to see my #MON" - cont "collection?" - cont "You didn't?" - cont "That's a bummer." - - para "I've got to thank" - line "you... Oh here," - cont "maybe this'll do." - prompt - -_SSTicketReceivedText:: - text " received" - line "an @" - TX_RAM wcf4b - text "!@@" - -_SSTicketNoRoomText:: - text "You've got too" - line "much stuff, bud!" - done - -_BillsHouseText_1e8cb:: - text "That cruise ship," - line "S.S.ANNE, is in" - cont "VERMILION CITY." - cont "Its passengers" - cont "are all trainers!" - - para "They invited me" - line "to their party," - cont "but I can't stand" - cont "fancy do's. Why" - cont "don't you go" - cont "instead of me?" - done - -_BillsHouseText_1e8da:: - text "BILL: Look, bud," - line "just check out" - cont "some of my rare" - cont "#MON on my PC!" - done diff --git a/text/maps/BluesHouse.asm b/text/maps/BluesHouse.asm deleted file mode 100644 index 1898636a..00000000 --- a/text/maps/BluesHouse.asm +++ /dev/null @@ -1,41 +0,0 @@ -_DaisyInitialText:: - text "Hi !" - line " is out at" - cont "Grandpa's lab." - done - -_DaisyOfferMapText:: - text "Grandpa asked you" - line "to run an errand?" - cont "Here, this will" - cont "help you!" - prompt - -_GotMapText:: - text " got a" - line "@" - TX_RAM wcf4b - text "!@@" - -_DaisyBagFullText:: - text "You have too much" - line "stuff with you." - done - -_DaisyUseMapText:: - text "Use the TOWN MAP" - line "to find out where" - cont "you are." - done - -_BluesHouseText2:: - text "#MON are living" - line "things! If they" - cont "get tired, give" - cont "them a rest!" - done - -_BluesHouseText3:: - text "It's a big map!" - line "This is useful!" - done diff --git a/text/maps/BrunosRoom.asm b/text/maps/BrunosRoom.asm deleted file mode 100644 index 9c493c4a..00000000 --- a/text/maps/BrunosRoom.asm +++ /dev/null @@ -1,37 +0,0 @@ -_BrunoBeforeBattleText:: - text "I am BRUNO of" - line "the ELITE FOUR!" - - para "Through rigorous" - line "training, people" - cont "and #MON can" - cont "become stronger!" - - para "I've weight" - line "trained with" - cont "my #MON!" - - para "!" - - para "We will grind you" - line "down with our" - cont "superior power!" - - para "Hoo hah!" - done - -_BrunoEndBattleText:: - text "Why?" - line "How could I lose?" - prompt - -_BrunoAfterBattleText:: - text "My job is done!" - line "Go face your next" - cont "challenge!" - done - -_BrunoDontRunAwayText:: - text "Someone's voice:" - line "Don't run away!" - done diff --git a/text/maps/CeladonChiefHouse.asm b/text/maps/CeladonChiefHouse.asm deleted file mode 100644 index 19e59bd6..00000000 --- a/text/maps/CeladonChiefHouse.asm +++ /dev/null @@ -1,22 +0,0 @@ -_CeladonHouseText1:: - text "Hehehe! The slots" - line "just reel in the" - cont "dough, big time!" - done - -_CeladonHouseText2:: - text "CHIEF!" - - para "We just shipped" - line "2000 #MON as" - cont "slot prizes!" - done - -_CeladonHouseText3:: - text "Don't touch the" - line "poster at the" - cont "GAME CORNER!" - - para "There's no secret" - line "switch behind it!" - done diff --git a/text/maps/CeladonCity.asm b/text/maps/CeladonCity.asm deleted file mode 100644 index 1dbd5cdf..00000000 --- a/text/maps/CeladonCity.asm +++ /dev/null @@ -1,152 +0,0 @@ -_CeladonCityText1:: - text "I got my KOFFING" - line "in CINNABAR!" - - para "It's nice, but it" - line "breathes poison" - cont "when it's angry!" - done - -_CeladonCityText2:: - text "Heheh! This GYM" - line "is great! It's" - cont "full of women!" - done - -_CeladonCityText3:: - text "The GAME CORNER" - line "is bad for our" - cont "city's image!" - done - -_CeladonCityText4:: - text "Moan! I blew it" - line "all at the slots!" - - para "I knew I should" - line "have cashed in my" - cont "coins for prizes!" - done - -_TM41PreText:: - text "Hello, there!" - - para "I've seen you," - line "but I never had a" - cont "chance to talk!" - - para "Here's a gift for" - line "dropping by!" - prompt - -_ReceivedTM41Text:: - text " received" - line "@" - TX_RAM wcf4b - text "!@@" - -_TM41ExplanationText:: - text "TM41 teaches" - line "SOFTBOILED!" - - para "Only one #MON" - line "can use it!" - - para "That #MON is" - line "CHANSEY!" - done - -_TM41NoRoomText:: - text "Oh, your pack is" - line "full of items!" - done - -_CeladonCityText6:: - text "This is my trusted" - line "pal, POLIWRATH!" - - para "It evolved from" - line "POLIWHIRL when I" - cont "used WATER STONE!" - done - -_CeladonCityText7:: - text "POLIWRATH: Ribi" - line "ribit!@@" - -_CeladonCityText8:: - text "What are you" - line "staring at?" - done - -_CeladonCityText9:: - text "Keep out of TEAM" - line "ROCKET's way!" - done - -_CeladonCityText10:: - text "TRAINER TIPS" - - para "X ACCURACY boosts" - line "the accuracy of" - cont "techniques!" - - para "DIRE HIT jacks up" - line "the likelihood of" - cont "critical hits!" - - para "Get your items at" - line "CELADON DEPT." - cont "STORE!" - done - -_CeladonCityText11:: - text "CELADON CITY" - line "The City of" - cont "Rainbow Dreams" - done - -_CeladonCityText13:: - text "CELADON CITY" - line "#MON GYM" - cont "LEADER: ERIKA" - - para "The Nature Loving" - line "Princess!" - done - -_CeladonCityText14:: - text "CELADON MANSION" - done - -_CeladonCityText15:: - text "Find what you" - line "need at CELADON" - cont "DEPT. STORE!" - done - -_CeladonCityText16:: - text "TRAINER TIPS" - - para "GUARD SPEC." - line "protects #MON" - cont "against SPECIAL" - cont "attacks such as" - cont "fire and water!" - - para "Get your items at" - line "CELADON DEPT." - cont "STORE!" - done - -_CeladonCityText17:: - text "Coins exchanged" - line "for prizes!" - cont "PRIZE EXCHANGE" - done - -_CeladonCityText18:: - text "ROCKET GAME CORNER" - line "The playground" - cont "for grown-ups!" - done diff --git a/text/maps/CeladonDiner.asm b/text/maps/CeladonDiner.asm deleted file mode 100644 index dc5e9350..00000000 --- a/text/maps/CeladonDiner.asm +++ /dev/null @@ -1,59 +0,0 @@ -_CeladonDinerText1:: - text "Hi!" - - para "We're taking a" - line "break now." - done - -_CeladonDinerText2:: - text "My #MON are" - line "weak, so I often" - cont "have to go to the" - cont "DRUG STORE." - done - -_CeladonDinerText3:: - text "Psst! There's a" - line "basement under" - cont "the GAME CORNER." - done - -_CeladonDinerText4:: - text "Munch..." - - para "The man at that" - line "table lost it all" - cont "at the slots." - done - -_CeladonDinerText_491a7:: - text "Go ahead! Laugh!" - - para "I'm flat out" - line "busted!" - - para "No more slots for" - line "me! I'm going" - cont "straight!" - - para "Here! I won't be" - line "needing this any-" - cont "more!" - prompt - -_ReceivedCoinCaseText:: - text " received" - line "a @" - TX_RAM wcf4b - text "!@@" - -_CoinCaseNoRoomText:: - text "Make room for" - line "this!" - done - -_CeladonDinerText_491b7:: - text "I always thought" - line "I was going to" - cont "win it back..." - done diff --git a/text/maps/CeladonGym.asm b/text/maps/CeladonGym.asm deleted file mode 100644 index d6586035..00000000 --- a/text/maps/CeladonGym.asm +++ /dev/null @@ -1,219 +0,0 @@ -_CeladonGymText_48a5e:: - text "Hello. Lovely" - line "weather isn't it?" - cont "It's so pleasant." - - para "...Oh dear..." - line "I must have dozed" - cont "off. Welcome." - - para "My name is ERIKA." - line "I am the LEADER" - cont "of CELADON GYM." - - para "I teach the art of" - line "flower arranging." - cont "My #MON are of" - cont "the grass-type." - - para "Oh, I'm sorry, I" - line "had no idea that" - cont "you wished to" - cont "challenge me." - - para "Very well, but I" - line "shall not lose." - done - -_CeladonGymText_48a63:: - text "Oh!" - line "I concede defeat." - - para "You are remarkably" - line "strong." - - para "I must confer you" - line "the RAINBOWBADGE." - prompt - -_CeladonGymText_48a68:: - text "You are cataloging" - line "#MON? I must" - cont "say I'm impressed." - - para "I would never" - line "collect #MON" - cont "if they were" - cont "unattractive." - done - -_CeladonGymText9:: - text "The RAINBOWBADGE" - line "will make #MON" - cont "up to L50 obey." - - para "It also allows" - line "#MON to use" - cont "STRENGTH in and" - cont "out of battle." - - para "Please also take" - line "this with you." - done - -_ReceivedTM21Text:: - text " received" - line "@" - TX_RAM wcf4b - text "!@@" - -_TM21ExplanationText:: - text "" - - para "TM21 contains" - line "MEGA DRAIN." - - para "Half the damage" - line "it inflicts is" - cont "drained to heal" - cont "your #MON!" - done - -_TM21NoRoomText:: - text "You should make" - line "room for this." - done - -_CeladonGymBattleText2:: - text "Hey!" - - para "You are not" - line "allowed in here!" - done - -_CeladonGymEndBattleText2:: - text "You're" - line "too rough!" - prompt - -_CeladonGymAfterBattleText2:: - text "Bleaah!" - line "I hope ERIKA" - cont "wipes you out!" - done - -_CeladonGymBattleText3:: - text "I was getting" - line "bored." - done - -_CeladonGymEndBattleText3:: - text "My" - line "makeup!" - prompt - -_CeladonGymAfterBattleText3:: - text "Grass-type #MON" - line "are tough against" - cont "the water-type!" - - para "They also have an" - line "edge on rock and" - cont "ground #MON!" - done - -_CeladonGymBattleText4:: - text "Aren't you the" - line "peeping Tom?" - done - -_CeladonGymEndBattleText4:: - text "I'm" - line "in shock!" - prompt - -_CeladonGymAfterBattleText4:: - text "Oh, you weren't" - line "peeping? We get a" - cont "lot of gawkers!" - done - -_CeladonGymBattleText5:: - text "Look at my grass" - line "#MON!" - - para "They're so easy" - line "to raise!" - done - -_CeladonGymEndBattleText5:: - text "No!" - prompt - -_CeladonGymAfterBattleText5:: - text "We only use grass-" - line "type #MON at" - cont "our GYM!" - - para "We also use them" - line "for making flower" - cont "arrangements!" - done - -_CeladonGymBattleText6:: - text "Don't bring any" - line "bugs or fire" - cont "#MON in here!" - done - -_CeladonGymEndBattleText6:: - text "Oh!" - line "You!" - prompt - -_CeladonGymAfterBattleText6:: - text "Our LEADER, ERIKA," - line "might be quiet," - cont "but she's also" - cont "very skilled!" - done - -_CeladonGymBattleText7:: - text "Pleased to meet" - line "you. My hobby is" - cont "#MON training." - done - -_CeladonGymEndBattleText7:: - text "Oh!" - line "Splendid!" - prompt - -_CeladonGymAfterBattleText7:: - text "I have a blind" - line "date coming up." - cont "I have to learn" - cont "to be polite." - done - -_CeladonGymBattleText8:: - text "Welcome to" - line "CELADON GYM!" - - para "You better not" - line "underestimate" - cont "girl power!" - done - -_CeladonGymEndBattleText8:: - text "Oh!" - line "Beaten!" - prompt - -_CeladonGymAfterBattleText8:: - text "I didn't bring my" - line "best #MON!" - - para "Wait 'til next" - line "time!" - done diff --git a/text/maps/CeladonHotel.asm b/text/maps/CeladonHotel.asm deleted file mode 100644 index f2eb059e..00000000 --- a/text/maps/CeladonHotel.asm +++ /dev/null @@ -1,21 +0,0 @@ -_CeladonHotelText1:: - text "#MON? No, this" - line "is a hotel for" - cont "people." - - para "We're full up." - done - -_CeladonHotelText2:: - text "I'm on vacation" - line "with my brother" - cont "and boy friend." - - para "CELADON is such a" - line "pretty city!" - done - -_CeladonHotelText3:: - text "Why did she bring" - line "her brother?" - done diff --git a/text/maps/CeladonMansion1F.asm b/text/maps/CeladonMansion1F.asm deleted file mode 100644 index fc175cd5..00000000 --- a/text/maps/CeladonMansion1F.asm +++ /dev/null @@ -1,23 +0,0 @@ -_CeladonMansion1Text1:: - text "MEOWTH: Meow!@@" - -_CeladonMansion1Text2:: - text "My dear #MON" - line "keep me company." - - para "MEOWTH even brings" - line "money home!" - done - -_CeladonMansion1Text3:: - text "CLEFAIRY: Pi" - line "pippippi!@@" - -_CeladonMansion1Text4:: - text "NIDORAN: Kya" - line "kyaoo!@@" - -_CeladonMansion1Text5:: - text "CELADON MANSION" - line "Manager's Suite" - done diff --git a/text/maps/CeladonMansion2F.asm b/text/maps/CeladonMansion2F.asm deleted file mode 100644 index b2ecb4fa..00000000 --- a/text/maps/CeladonMansion2F.asm +++ /dev/null @@ -1,4 +0,0 @@ -_CeladonMansion2Text1:: - text "GAME FREAK" - line "Meeting Room" - done diff --git a/text/maps/CeladonMansion3F.asm b/text/maps/CeladonMansion3F.asm deleted file mode 100644 index c8858281..00000000 --- a/text/maps/CeladonMansion3F.asm +++ /dev/null @@ -1,66 +0,0 @@ -_ProgrammerText:: - text "Me? I'm the" - line "programmer!" - done - -_GraphicArtistText:: - text "I'm the graphic" - line "artist!" - cont "I drew you!" - done - -_WriterText:: - text "I wrote the story!" - line "Isn't ERIKA cute?" - - para "I like MISTY a" - line "lot too!" - - para "Oh, and SABRINA," - line "I like her!" - done - -_GameDesignerText:: - text "Is that right?" - - para "I'm the game" - line "designer!" - - para "Filling up your" - line "#DEX is tough," - cont "but don't quit!" - - para "When you finish," - line "come tell me!" - done - -_CompletedDexText:: - text "Wow! Excellent!" - line "You completed" - cont "your #DEX!" - cont "Congratulations!" - cont "...@@" - -_CeladonMansion3Text5:: - text "It's the game" - line "program! Messing" - cont "with it could bug" - cont "out the game!" - done - -_CeladonMansion3Text6:: - text "Someone's playing" - line "a game instead of" - cont "working!" - done - -_CeladonMansion3Text7:: - text "It's the script!" - line "Better not look" - cont "at the ending!" - done - -_CeladonMansion3Text8:: - text "GAME FREAK" - line "Development Room" - done diff --git a/text/maps/CeladonMansionRoof.asm b/text/maps/CeladonMansionRoof.asm deleted file mode 100644 index c8fd7ec8..00000000 --- a/text/maps/CeladonMansionRoof.asm +++ /dev/null @@ -1,3 +0,0 @@ -_CeladonMansion4Text1:: - text "I KNOW EVERYTHING!" - done diff --git a/text/maps/CeladonMansionRoofHouse.asm b/text/maps/CeladonMansionRoofHouse.asm deleted file mode 100644 index dab81a8d..00000000 --- a/text/maps/CeladonMansionRoofHouse.asm +++ /dev/null @@ -1,10 +0,0 @@ -_CeladonMansion5Text1:: - text "I know everything" - line "about the world" - cont "of #MON in" - cont "your GAME BOY!" - - para "Get together with" - line "your friends and" - cont "trade #MON!" - done diff --git a/text/maps/CeladonMart1F.asm b/text/maps/CeladonMart1F.asm deleted file mode 100644 index 8d805edc..00000000 --- a/text/maps/CeladonMart1F.asm +++ /dev/null @@ -1,31 +0,0 @@ -_CeladonMart1Text1:: - text "Hello! Welcome to" - line "CELADON DEPT." - cont "STORE." - - para "The board on the" - line "right describes" - cont "the store layout." - done - -_CeladonMart1Text2:: - text "1F: SERVICE" - line " COUNTER" - - para "2F: TRAINER'S" - line " MARKET" - - para "3F: TV GAME SHOP" - - para "4F: WISEMAN GIFTS" - - para "5F: DRUG STORE" - - para "ROOFTOP SQUARE:" - line "VENDING MACHINES" - done - -_CeladonMart1Text3:: - text "1F: SERVICE" - line " COUNTER" - done diff --git a/text/maps/CeladonMart2F.asm b/text/maps/CeladonMart2F.asm deleted file mode 100644 index 74869902..00000000 --- a/text/maps/CeladonMart2F.asm +++ /dev/null @@ -1,22 +0,0 @@ -_CeladonMart2Text3:: - text "SUPER REPEL keeps" - line "weak #MON at" - cont "bay..." - - para "Hmm, it's a more" - line "powerful REPEL!" - done - -_CeladonMart2Text4:: - text "For long outings," - line "you should buy" - cont "REVIVE." - done - -_CeladonMart2Text5:: - text "Top Grade Items" - line "for Trainers!" - - para "2F: TRAINER'S" - line " MARKET" - done diff --git a/text/maps/CeladonMart3F.asm b/text/maps/CeladonMart3F.asm deleted file mode 100644 index 8211750d..00000000 --- a/text/maps/CeladonMart3F.asm +++ /dev/null @@ -1,98 +0,0 @@ -_TM18PreReceiveText:: - text "Oh, hi! I finally" - line "finished #MON!" - - para "Not done yet?" - line "This might be" - cont "useful!" - prompt - -_ReceivedTM18Text:: - text " received" - line "@" - TX_RAM wcf4b - text "!@@" - -_TM18ExplanationText:: - text "TM18 is COUNTER!" - line "Not like the one" - cont "I'm leaning on," - cont "mind you!" - done - -_TM18NoRoomText:: - text "Your pack is full" - line "of items!" - done - -_CeladonMart3Text2:: - text "Captured #MON" - line "are registered" - cont "with an ID No." - cont "and OT, the name" - cont "of the Original" - cont "Trainer that" - cont "caught it!" - done - -_CeladonMart3Text3:: - text "All right!" - - para "My buddy's going" - line "to trade me his" - cont "KANGASKHAN for my" - cont "GRAVELER!" - done - -_CeladonMart3Text4:: - text "Come on GRAVELER!" - - para "I love GRAVELER!" - line "I collect them!" - - para "Huh?" - - para "GRAVELER turned" - line "into a different" - cont "#MON!" - done - -_CeladonMart3Text5:: - text "You can identify" - line "#MON you got" - cont "in trades by" - cont "their ID Numbers!" - done - -_CeladonMart3Text6:: - text "It's an SNES!" - done - -_CeladonMart3Text7:: - text "An RPG! There's" - line "no time for that!" - done - -_CeladonMart3Text9:: - text "A sports game!" - line "Dad'll like that!" - done - -_CeladonMart3Text11:: - text "A puzzle game!" - line "Looks addictive!" - done - -_CeladonMart3Text13:: - text "A fighting game!" - line "Looks tough!" - done - -_CeladonMart3Text14:: - text "3F: TV GAME SHOP" - done - -_CeladonMart3Text15:: - text "Red and Blue!" - line "Both are #MON!" - done diff --git a/text/maps/CeladonMart4F.asm b/text/maps/CeladonMart4F.asm deleted file mode 100644 index 78fa0b66..00000000 --- a/text/maps/CeladonMart4F.asm +++ /dev/null @@ -1,26 +0,0 @@ -_CeladonMart4Text2:: - text "I'm getting a" - line "# DOLL for my" - cont "girl friend!" - done - -_CeladonMart4Text3:: - text "I heard something" - line "useful." - - para "You can run from" - line "wild #MON by" - cont "distracting them" - cont "with a # DOLL!" - done - -_CeladonMart4Text4:: - text "Express yourself" - line "with gifts!" - - para "4F: WISEMAN GIFTS" - - para "Evolution Special!" - line "Element STONEs on" - cont "sale now!" - done diff --git a/text/maps/CeladonMart5F.asm b/text/maps/CeladonMart5F.asm deleted file mode 100644 index 1871194b..00000000 --- a/text/maps/CeladonMart5F.asm +++ /dev/null @@ -1,28 +0,0 @@ -_CeladonMart5Text1:: - text "#MON ability" - line "enhancers can be" - cont "bought only here." - - para "Use CALCIUM to" - line "increase SPECIAL" - cont "abilities." - - para "Use CARBOS to" - line "increase SPEED." - done - -_CeladonMart5Text2:: - text "I'm here for" - line "#MON ability" - cont "enhancers." - - para "PROTEIN increases" - line "ATTACK power." - - para "IRON increases" - line "DEFENSE!" - done - -_CeladonMart5Text5:: - text "5F: DRUG STORE" - done diff --git a/text/maps/CeladonMartRoof.asm b/text/maps/CeladonMartRoof.asm deleted file mode 100644 index 1ed52e86..00000000 --- a/text/maps/CeladonMartRoof.asm +++ /dev/null @@ -1,141 +0,0 @@ -_CeladonMartRoofText_484ee:: - text "Give her which" - line "drink?" - done - -_CeladonMartRoofText_484f3:: - text "Yay!" - - para "FRESH WATER!" - - para "Thank you!" - - para "You can have this" - line "from me!@@" - -_CeladonMartRoofText_484f9:: - text " received" - line "@" - TX_RAM wcf4b - text "!@@" - -_CeladonMartRoofText_484fe:: - text "" - - para "@" - TX_RAM wcf4b - text " contains" - line "ICE BEAM!" - - para "It can freeze the" - line "target sometimes!@@" - -_CeladonMartRoofText_48504:: - text "Yay!" - - para "SODA POP!" - - para "Thank you!" - - para "You can have this" - line "from me!@@" - -_CeladonMartRoofText_4850a:: - text " received" - line "@" - TX_RAM wcf4b - text "!@@" - -_CeladonMartRoofText_4850f:: - text "" - - para "@" - TX_RAM wcf4b - text " contains" - line "ROCK SLIDE!" - - para "It can spook the" - line "target sometimes!@@" - -_CeladonMartRoofText_48515:: - text "Yay!" - - para "LEMONADE!" - - para "Thank you!" - - para "You can have this" - line "from me!@@" - -_ReceivedTM49Text:: - text " received" - line "TM49!@@" - -_CeladonMartRoofText_48520:: - text "" - - para "TM49 contains" - line "TRI ATTACK!@@" - -_CeladonMartRoofText_48526:: - text "You don't have" - line "space for this!@@" - -_CeladonMartRoofText_4852c:: - text "No thank you!" - line "I'm not thirsty" - cont "after all!@@" - -_CeladonMartRoofText1:: - text "My sister is a" - line "trainer, believe" - cont "it or not." - - para "But, she's so" - line "immature, she" - cont "drives me nuts!" - done - -_CeladonMartRoofText_48598:: - text "I'm thirsty!" - line "I want something" - cont "to drink!" - done - -_CeladonMartRoofText4:: - text "I'm thirsty!" - line "I want something" - cont "to drink!" - - para "Give her a drink?" - done - -_CeladonMartRoofText6:: - text "ROOFTOP SQUARE:" - line "VENDING MACHINES" - done - -_VendingMachineText1:: - text "A vending machine!" - line "Here's the menu!" - prompt - -_VendingMachineText4:: - text "Oops, not enough" - line "money!" - done - -_VendingMachineText5:: - TX_RAM wcf4b - text "" - line "popped out!" - done - -_VendingMachineText6:: - text "There's no more" - line "room for stuff!" - done - -_VendingMachineText7:: - text "Not thirsty!" - done diff --git a/text/maps/CeladonPokecenter.asm b/text/maps/CeladonPokecenter.asm deleted file mode 100644 index a04f51c9..00000000 --- a/text/maps/CeladonPokecenter.asm +++ /dev/null @@ -1,12 +0,0 @@ -_CeladonPokecenterText2:: - text "# FLUTE awakens" - line "#MON with a" - cont "sound that only" - cont "they can hear!" - done - -_CeladonPokecenterText3:: - text "I rode uphill on" - line "CYCLING ROAD from" - cont "FUCHSIA!" - done diff --git a/text/maps/CeruleanBadgeHouse.asm b/text/maps/CeruleanBadgeHouse.asm deleted file mode 100644 index 9d701443..00000000 --- a/text/maps/CeruleanBadgeHouse.asm +++ /dev/null @@ -1,97 +0,0 @@ -_CeruleanHouse2Text_74e77:: - text "#MON BADGEs" - line "are owned only by" - cont "skilled trainers." - - para "I see you have" - line "at least one." - - para "Those BADGEs have" - line "amazing secrets!" - prompt - -_CeruleanHouse2Text_74e7c:: - text "Now then..." - - para "Which of the 8" - line "BADGEs should I" - cont "describe?" - done - -_CeruleanHouse2Text_74e81:: - text "Come visit me any" - line "time you wish." - done - -_CeruleanHouse2Text_74e96:: - text "The ATTACK of all" - line "#MON increases" - cont "a little bit." - - para "It also lets you" - line "use FLASH any" - cont "time you desire." - prompt - -_CeruleanHouse2Text_74e9b:: - text "#MON up to L30" - line "will obey you." - - para "Any higher, they" - line "become unruly!" - - para "It also lets you" - line "use CUT outside" - cont "of battle." - prompt - -_CeruleanHouse2Text_74ea0:: - text "The SPEED of all" - line "#MON increases" - cont "a little bit." - - para "It also lets you" - line "use FLY outside" - cont "of battle." - prompt - -_CeruleanHouse2Text_74ea5:: - text "#MON up to L50" - line "will obey you." - - para "Any higher, they" - line "become unruly!" - - para "It also lets you" - line "use STRENGTH out-" - cont "side of battle." - prompt - -_CeruleanHouse2Text_74eaa:: - text "The DEFENSE of all" - line "#MON increases" - cont "a little bit." - - para "It also lets you" - line "use SURF outside" - cont "of battle." - prompt - -_CeruleanHouse2Text_74eaf:: - text "#MON up to L70" - line "will obey you." - - para "Any higher, they" - line "become unruly!" - prompt - -_CeruleanHouse2Text_74eb4:: - text "Your #MON's" - line "SPECIAL abilities" - cont "increase a bit." - prompt - -_CeruleanHouse2Text_74eb9:: - text "All #MON will" - line "obey you!" - prompt diff --git a/text/maps/CeruleanCaveB1F.asm b/text/maps/CeruleanCaveB1F.asm deleted file mode 100644 index 0918a3ce..00000000 --- a/text/maps/CeruleanCaveB1F.asm +++ /dev/null @@ -1,2 +0,0 @@ -_MewtwoBattleText:: - text "Mew!@@" diff --git a/text/maps/CeruleanCity.asm b/text/maps/CeruleanCity.asm deleted file mode 100644 index f0d2c29e..00000000 --- a/text/maps/CeruleanCity.asm +++ /dev/null @@ -1,233 +0,0 @@ -_CeruleanCityText_19668:: - text ": Yo!" - line "!" - - para "You're still" - line "struggling along" - cont "back here?" - - para "I'm doing great!" - line "I caught a bunch" - cont "of strong and" - cont "smart #MON!" - - para "Here, let me see" - line "what you caught," - cont "!" - done - -_CeruleanCityText_1966d:: - text "Hey!" - line "Take it easy!" - cont "You won already!" - prompt - -_CeruleanCityText_19672:: - text "Heh!" - line "You're no match" - cont "for my genius!" - prompt - -_CeruleanCityText_19677:: - text ": Hey," - line "guess what?" - - para "I went to BILL's" - line "and got him to" - cont "show me his rare" - cont "#MON!" - - para "That added a lot" - line "of pages to my" - cont "#DEX!" - - para "After all, BILL's" - line "world famous as a" - cont "#MANIAC!" - - para "He invented the" - line "#MON Storage" - cont "System on PC!" - - para "Since you're using" - line "his system, go" - cont "thank him!" - - para "Well, I better" - line "get rolling!" - cont "Smell ya later!" - done - -_CeruleanCityText_196d9:: - text "Hey! Stay out!" - line "It's not your" - cont "yard! Huh? Me?" - - para "I'm an innocent" - line "bystander! Don't" - cont "you believe me?" - done - -_ReceivedTM28Text:: - text " recovered" - line "TM28!@@" - -_ReceivedTM28Text2:: - text "" - - para "I better get" - line "moving! Bye!@@" - -_TM28NoRoomText:: - text "Make room for" - line "this!" - - para "I can't run until" - line "I give it to you!" - done - -_CeruleanCityText_196ee:: - text "Stop!" - line "I give up! I'll" - cont "leave quietly!" - prompt - -_CeruleanCityText_196f3:: - text "OK! I'll return" - line "the TM I stole!" - prompt - -_CeruleanCityText3:: - text "You're a trainer" - line "too? Collecting," - cont "fighting, it's a" - cont "tough life." - done - -_CeruleanCityText4:: - text "That bush in" - line "front of the shop" - cont "is in the way." - - para "There might be a" - line "way around." - done - -_CeruleanCityText5:: - text "You're making an" - line "encyclopedia on" - cont "#MON? That" - cont "sounds amusing." - done - -_CeruleanCityText6:: - text "The people here" - line "were robbed." - - para "It's obvious that" - line "TEAM ROCKET is" - cont "behind this most" - cont "heinous crime!" - - para "Even our POLICE" - line "force has trouble" - cont "with the ROCKETs!" - done - -_CeruleanCityText_19730:: - text "OK! SLOWBRO!" - line "Use SONICBOOM!" - cont "Come on, SLOWBRO" - cont "pay attention!" - done - -_CeruleanCityText_19735:: - text "SLOWBRO punch!" - line "No! You blew it" - cont "again!" - done - -_CeruleanCityText_1973a:: - text "SLOWBRO, WITHDRAW!" - line "No! That's wrong!" - - para "It's so hard to" - line "control #MON!" - - para "Your #MON's" - line "obedience depends" - cont "on your abilities" - cont "as a trainer!" - done - -_CeruleanCityText_1976f:: - text "SLOWBRO took a" - line "snooze..." - done - -_CeruleanCityText_19774:: - text "SLOWBRO is" - line "loafing around..." - done - -_CeruleanCityText_19779:: - text "SLOWBRO turned" - line "away..." - done - -_CeruleanCityText_1977e:: - text "SLOWBRO" - line "ignored orders..." - done - -_CeruleanCityText9:: - text "I want a bright" - line "red BICYCLE!" - - para "I'll keep it at" - line "home, so it won't" - cont "get dirty!" - done - -_CeruleanCityText10:: - text "This is CERULEAN" - line "CAVE! Horribly" - cont "strong #MON" - cont "live in there!" - - para "The #MON LEAGUE" - line "champion is the" - cont "only person who" - cont "is allowed in!" - done - -_CeruleanCityText12:: - text "CERULEAN CITY" - line "A Mysterious," - cont "Blue Aura" - cont "Surrounds It" - done - -_CeruleanCityText13:: - text "TRAINER TIPS" - - para "Pressing B Button" - line "during evolution" - cont "cancels the whole" - cont "process." - done - -_CeruleanCityText16:: - text "Grass and caves" - line "handled easily!" - cont "BIKE SHOP" - done - -_CeruleanCityText17:: - text "CERULEAN CITY" - line "#MON GYM" - cont "LEADER: MISTY" - - para "The Tomboyish" - line "Mermaid!" - done diff --git a/text/maps/CeruleanGym.asm b/text/maps/CeruleanGym.asm deleted file mode 100644 index 1d1d6d1c..00000000 --- a/text/maps/CeruleanGym.asm +++ /dev/null @@ -1,131 +0,0 @@ -_CeruleanGymText_5c7be:: - text "Hi, you're a new" - line "face!" - - para "Trainers who want" - line "to turn pro have" - cont "to have a policy" - cont "about #MON!" - - para "What is your" - line "approach when you" - cont "catch #MON?" - - para "My policy is an" - line "all-out offensive" - cont "with water-type" - cont "#MON!" - done - -_CeruleanGymText_5c7c3:: - text "TM11 teaches" - line "BUBBLEBEAM!" - - para "Use it on an" - line "aquatic #MON!" - done - -_CeruleanGymText_5c7c8:: - text "The CASCADEBADGE" - line "makes all #MON" - cont "up to L30 obey!" - - para "That includes" - line "even outsiders!" - - para "There's more, you" - line "can now use CUT" - cont "any time!" - - para "You can CUT down" - line "small bushes to" - cont "open new paths!" - - para "You can also have" - line "my favorite TM!" - done - -_ReceivedTM11Text:: - text " received" - line "TM11!@@" - -_CeruleanGymText_5c7d3:: - text "You better make" - line "room for this!" - done - -_CeruleanGymText_5c7d8:: - text "Wow!" - line "You're too much!" - - para "All right!" - - para "You can have the" - line "CASCADEBADGE to" - cont "show you beat me!@@" - -_CeruleanGymBattleText1:: - text "I'm more than good" - line "enough for you!" - - para "MISTY can wait!" - done - -_CeruleanGymEndBattleText1:: - text "You" - line "overwhelmed me!" - prompt - -_CeruleanGymAfterBattleText1:: - text "You have to face" - line "other trainers to" - cont "find out how good" - cont "you really are." - done - -_CeruleanGymBattleText2:: - text "Splash!" - - para "I'm first up!" - line "Let's do it!" - done - -_CeruleanGymEndBattleText2:: - text "That" - line "can't be!" - prompt - -_CeruleanGymAfterBattleText2:: - text "MISTY is going to" - line "keep improving!" - - para "She won't lose to" - line "someone like you!" - done - -_CeruleanGymText_5c82a:: - text "Yo! Champ in" - line "making!" - - para "Here's my advice!" - - para "The LEADER, MISTY," - line "is a pro who uses" - cont "water #MON!" - - para "You can drain all" - line "their water with" - cont "plant #MON!" - - para "Or, zap them with" - line "electricity!" - done - -_CeruleanGymText_5c82f:: - text "You beat MISTY!" - line "What'd I tell ya?" - - para "You and me kid," - line "we make a pretty" - cont "darn good team!" - done diff --git a/text/maps/CeruleanMart.asm b/text/maps/CeruleanMart.asm deleted file mode 100644 index 86a74588..00000000 --- a/text/maps/CeruleanMart.asm +++ /dev/null @@ -1,19 +0,0 @@ -_CeruleanMartText2:: - text "Use REPEL to keep" - line "bugs and weak" - cont "#MON away." - - para "Put your strongest" - line "#MON at the" - cont "top of the list" - cont "for best results!" - done - -_CeruleanMartText3:: - text "Have you seen any" - line "RARE CANDY?" - - para "It's supposed to" - line "make #MON go" - cont "up one level!" - done diff --git a/text/maps/CeruleanPokecenter.asm b/text/maps/CeruleanPokecenter.asm deleted file mode 100644 index 497fbce3..00000000 --- a/text/maps/CeruleanPokecenter.asm +++ /dev/null @@ -1,24 +0,0 @@ -_CeruleanPokecenterText2:: - text "That BILL!" - - para "I heard that" - line "he'll do whatever" - cont "it takes to get" - cont "rare #MON!" - done - -_CeruleanPokecenterText3:: - text "Have you heard" - line "about BILL?" - - para "Everyone calls" - line "him a #MANIAC!" - - para "I think people" - line "are just jealous" - cont "of BILL, though." - - para "Who wouldn't want" - line "to boast about" - cont "their #MON?" - done diff --git a/text/maps/CeruleanTradeHouse.asm b/text/maps/CeruleanTradeHouse.asm deleted file mode 100644 index b606613b..00000000 --- a/text/maps/CeruleanTradeHouse.asm +++ /dev/null @@ -1,9 +0,0 @@ -_CeruleanHouse1Text1:: - text "My husband likes" - line "trading #MON." - - para "If you are a" - line "collector, would" - cont "you please trade" - cont "with him?" - done diff --git a/text/maps/CeruleanTrashedHouse.asm b/text/maps/CeruleanTrashedHouse.asm deleted file mode 100644 index f79540ae..00000000 --- a/text/maps/CeruleanTrashedHouse.asm +++ /dev/null @@ -1,36 +0,0 @@ -_CeruleanTrashedText_1d6ab:: - text "Those miserable" - line "ROCKETs!" - - para "Look what they" - line "did here!" - - para "They stole a TM" - line "for teaching" - cont "#MON how to" - cont "DIG holes!" - - para "That cost me a" - line "bundle, it did!" - done - -_CeruleanTrashedText_1d6b0:: - text "I figure what's" - line "lost is lost!" - - para "I decided to teach" - line "DIGLETT how to" - cont "DIG without a TM!" - done - -_CeruleanHouseTrashedText2:: - text "TEAM ROCKET must" - line "be trying to DIG" - cont "their way into no" - cont "good!" - done - -_CeruleanHouseTrashedText3:: - text "TEAM ROCKET left" - line "a way out!" - done diff --git a/text/maps/ChampionsRoom.asm b/text/maps/ChampionsRoom.asm deleted file mode 100644 index 61050565..00000000 --- a/text/maps/ChampionsRoom.asm +++ /dev/null @@ -1,146 +0,0 @@ -_GaryChampionIntroText:: - text ": Hey!" - - para "I was looking" - line "forward to seeing" - cont "you, !" - - para "My rival should" - line "be strong to keep" - cont "me sharp!" - - para "While working on" - line "#DEX, I looked" - cont "all over for" - cont "powerful #MON!" - - para "Not only that, I" - line "assembled teams" - cont "that would beat" - cont "any #MON type!" - - para "And now!" - - para "I'm the #MON" - line "LEAGUE champion!" - - para "! Do you" - line "know what that" - cont "means?" - - para "I'll tell you!" - - para "I am the most" - line "powerful trainer" - cont "in the world!" - done - -_GaryDefeatedText:: - text "NO!" - line "That can't be!" - cont "You beat my best!" - - para "After all that" - line "work to become" - cont "LEAGUE champ?" - - para "My reign is over" - line "already?" - cont "It's not fair!" - prompt - -_GaryVictoryText:: - text "Hahaha!" - line "I won, I won!" - - para "I'm too good for" - line "you, !" - - para "You did well to" - line "even reach me," - cont ", the" - cont "#MON genius!" - - para "Nice try, loser!" - line "Hahaha!" - prompt - -_GaryText_76103:: - text "Why?" - line "Why did I lose?" - - para "I never made any" - line "mistakes raising" - cont "my #MON..." - - para "Darn it! You're" - line "the new #MON" - cont "LEAGUE champion!" - - para "Although I don't" - line "like to admit it." - done - -_GaryText2:: - text "OAK: !" - done - -_GaryText_76120:: - text "OAK: So, you won!" - line "Congratulations!" - cont "You're the new" - cont "#MON LEAGUE" - cont "champion!" - - para "You've grown up so" - line "much since you" - cont "first left with" - cont "@" - TX_RAM wcd6d - text "!" - - para ", you have" - line "come of age!" - done - -_GaryText_76125:: - text "OAK: ! I'm" - line "disappointed!" - - para "I came when I" - line "heard you beat" - cont "the ELITE FOUR!" - - para "But, when I got" - line "here, you had" - cont "already lost!" - - para "! Do you" - line "understand why" - cont "you lost?" - - para "You have forgotten" - line "to treat your" - cont "#MON with" - cont "trust and love!" - - para "Without them, you" - line "will never become" - cont "a champ again!" - done - -_GaryText_7612a:: - text "OAK: !" - - para "You understand" - line "that your victory" - cont "was not just your" - cont "own doing!" - - para "The bond you share" - line "with your #MON" - cont "is marvelous!" - - para "!" - line "Come with me!" - done diff --git a/text/maps/CinnabarGym.asm b/text/maps/CinnabarGym.asm deleted file mode 100644 index 1b531571..00000000 --- a/text/maps/CinnabarGym.asm +++ /dev/null @@ -1,210 +0,0 @@ -_BlaineBattleText:: - text "Hah!" - - para "I am BLAINE! I" - line "am the LEADER of" - cont "CINNABAR GYM!" - - para "My fiery #MON" - line "will incinerate" - cont "all challengers!" - - para "Hah! You better" - line "have BURN HEAL!" - done - -_BlaineEndBattleText:: - text "I have" - line "burnt out!" - - para "You have earned" - line "the VOLCANOBADGE!@@" - -_BlaineFireBlastText:: - text "FIRE BLAST is the" - line "ultimate fire" - cont "technique!" - - para "Don't waste it on" - line "water #MON!" - done - -_BlaineBadgeText:: - text "Hah!" - - para "The VOLCANOBADGE" - line "heightens the" - cont "SPECIAL abilities" - cont "of your #MON!" - - para "Here, you can" - line "have this too!" - done - -_ReceivedTM38Text:: - text " received" - line "@" - TX_RAM wcf4b - text "!@@" - -_TM38ExplanationText:: - text "" - - para "TM38 contains" - line "FIRE BLAST!" - - para "Teach it to fire-" - line "type #MON!" - - para "CHARMELEON or" - line "PONYTA would be" - cont "good bets!" - done - -_TM38NoRoomText:: - text "Make room for my" - line "gift!" - done - -_CinnabarGymText_7595f:: - text "Do you know how" - line "hot #MON fire" - cont "breath can get?" - done - -_CinnabarGymText_75964:: - text "Yow!" - line "Hot, hot, hot!" - prompt - -_CinnabarGymText_75969:: - text "Fire, or to be" - line "more precise," - cont "combustion..." - - para "Blah, blah, blah," - line "blah..." - done - -_CinnabarGymText_75994:: - text "I was a thief, but" - line "I became straight" - cont "as a trainer!" - done - -_CinnabarGymText_75999:: - text "I" - line "surrender!" - prompt - -_CinnabarGymText_7599e:: - text "I can't help" - line "stealing other" - cont "people's #MON!" - done - -_CinnabarGymText_759c9:: - text "You can't win!" - line "I have studied" - cont "#MON totally!" - done - -_CinnabarGymText_759ce:: - text "Waah!" - line "My studies!" - prompt - -_CinnabarGymText_759d3:: - text "My theories are" - line "too complicated" - cont "for you!" - done - -_CinnabarGymText_759fe:: - text "I just like using" - line "fire #MON!" - done - -_CinnabarGymText_75a03:: - text "Too hot" - line "to handle!" - prompt - -_CinnabarGymText_75a08:: - text "I wish there was" - line "a thief #MON!" - cont "I'd use that!" - done - -_CinnabarGymText_75a33:: - text "I know why BLAINE" - line "became a trainer!" - done - -_CinnabarGymText_75a38:: - text "Ow!" - prompt - -_CinnabarGymText_75a3d:: - text "BLAINE was lost" - line "in the mountains" - cont "when a fiery bird" - cont "#MON appeared." - - para "Its light enabled" - line "BLAINE to find" - cont "his way down!" - done - -_CinnabarGymText_75a68:: - text "I've been to many" - line "GYMs, but this is" - cont "my favorite!" - done - -_CinnabarGymText_75a6d:: - text "Yowza!" - line "Too hot!" - prompt - -_CinnabarGymText_75a72:: - text "Us fire #MON" - line "fans like PONYTA" - cont "and NINETALES!" - done - -_CinnabarGymText_75a9d:: - text "Fire is weak" - line "against H2O!" - done - -_CinnabarGymText_75aa2:: - text "Oh!" - line "Snuffed out!" - prompt - -_CinnabarGymText_75aa7:: - text "Water beats fire!" - line "But, fire melts" - cont "ice #MON!" - done - -_CinnabarGymText_75ac2:: - text "Yo! Champ in" - line "making!" - - para "The hot-headed" - line "BLAINE is a fire" - cont "#MON pro!" - - para "Douse his spirits" - line "with water!" - - para "You better take" - line "some BURN HEALs!" - done - -_CinnabarGymText_75ac7:: - text "! You beat" - line "that fire brand!" - done diff --git a/text/maps/CinnabarIsland.asm b/text/maps/CinnabarIsland.asm deleted file mode 100644 index 352ab8ea..00000000 --- a/text/maps/CinnabarIsland.asm +++ /dev/null @@ -1,37 +0,0 @@ -_CinnabarIslandText8:: - text "The door is" - line "locked..." - done - -_CinnabarIslandText1:: - text "CINNABAR GYM's" - line "BLAINE is an odd" - cont "man who has lived" - cont "here for decades." - done - -_CinnabarIslandText2:: - text "Scientists conduct" - line "experiments in" - cont "the burned out" - cont "building." - done - -_CinnabarIslandText3:: - text "CINNABAR ISLAND" - line "The Fiery Town of" - cont "Burning Desire" - done - -_CinnabarIslandText6:: - text "#MON LAB" - done - -_CinnabarIslandText7:: - text "CINNABAR ISLAND" - line "#MON GYM" - cont "LEADER: BLAINE" - - para "The Hot-Headed" - line "Quiz Master!" - done diff --git a/text/maps/CinnabarLab.asm b/text/maps/CinnabarLab.asm deleted file mode 100644 index a93a484d..00000000 --- a/text/maps/CinnabarLab.asm +++ /dev/null @@ -1,29 +0,0 @@ -_Lab1Text1:: - text "We study #MON" - line "extensively here." - - para "People often bring" - line "us rare #MON" - cont "for examination." - done - -_Lab1Text2:: - text "A photo of the" - line "LAB's founder," - cont "DR.FUJI!" - done - -_Lab1Text3:: - text "#MON LAB" - line "Meeting Room" - done - -_Lab1Text4:: - text "#MON LAB" - line "R-and-D Room" - done - -_Lab1Text5:: - text "#MON LAB" - line "Testing Room" - done diff --git a/text/maps/CinnabarLabFossilRoom.asm b/text/maps/CinnabarLabFossilRoom.asm deleted file mode 100644 index 95bde685..00000000 --- a/text/maps/CinnabarLabFossilRoom.asm +++ /dev/null @@ -1,78 +0,0 @@ -_Lab4Text_75dc6:: - text "Hiya!" - - para "I am important" - line "doctor!" - - para "I study here rare" - line "#MON fossils!" - - para "You! Have you a" - line "fossil for me?" - prompt - -_Lab4Text_75dcb:: - text "No! Is too bad!" - done - -_Lab4Text_75dd0:: - text "I take a little" - line "time!" - - para "You go for walk a" - line "little while!" - done - -_Lab4Text_75dd5:: - text "Where were you?" - - para "Your fossil is" - line "back to life!" - - para "It was @" - TX_RAM wcf4b - text "" - line "like I think!" - prompt - -_Lab4Text_610ae:: - text "Oh! That is" - line "@" - TX_RAM wcd6d - text "!" - - para "It is fossil of" - line "@" - TX_RAM wcf4b - text ", a" - cont "#MON that is" - cont "already extinct!" - - para "My Resurrection" - line "Machine will make" - cont "that #MON live" - cont "again!" - done - -_Lab4Text_610b3:: - text "So! You hurry and" - line "give me that!" - - para " handed" - line "over @" - TX_RAM wcd6d - text "!" - prompt - -_Lab4Text_610b8:: - text "I take a little" - line "time!" - - para "You go for walk a" - line "little while!" - done - -_Lab4Text_610bd:: - text "Aiyah! You come" - line "again!" - done diff --git a/text/maps/CinnabarLabMetronomeRoom.asm b/text/maps/CinnabarLabMetronomeRoom.asm deleted file mode 100644 index fa04677f..00000000 --- a/text/maps/CinnabarLabMetronomeRoom.asm +++ /dev/null @@ -1,63 +0,0 @@ -_TM35PreReceiveText:: - text "Tch-tch-tch!" - line "I made a cool TM!" - - para "It can cause all" - line "kinds of fun!" - prompt - -_ReceivedTM35Text:: - text " received " - line "@" - TX_RAM wcf4b - text "!@@" - -_TM35ExplanationText:: - text "Tch-tch-tch!" - line "That's the sound" - cont "of a METRONOME!" - - para "It tweaks your" - line "#MON's brain" - cont "into using moves" - cont "it doesn't know!" - done - -_TM35NoRoomText:: - text "Your pack is" - line "crammed full!" - done - -_Lab3Text2:: - text "EEVEE can evolve" - line "into 1 of 3 kinds" - cont "of #MON." - done - -_Lab3Text3:: - text "There's an e-mail" - line "message!" - - para "..." - - para "The 3 legendary" - line "bird #MON are" - cont "ARTICUNO, ZAPDOS" - cont "and MOLTRES." - - para "Their whereabouts" - line "are unknown." - - para "We plan to explore" - line "the cavern close" - cont "to CERULEAN." - - para "From: #MON" - line "RESEARCH TEAM" - - para "..." - done - -_Lab3Text5:: - text "An amber pipe!" - done diff --git a/text/maps/CinnabarLabTradeRoom.asm b/text/maps/CinnabarLabTradeRoom.asm deleted file mode 100644 index 196124e7..00000000 --- a/text/maps/CinnabarLabTradeRoom.asm +++ /dev/null @@ -1,9 +0,0 @@ -_Lab2Text1:: - text "I found this very" - line "strange fossil in" - cont "MT.MOON!" - - para "I think it's a" - line "rare, prehistoric" - cont "#MON!" - done diff --git a/text/maps/CinnabarMart.asm b/text/maps/CinnabarMart.asm deleted file mode 100644 index 42a41d06..00000000 --- a/text/maps/CinnabarMart.asm +++ /dev/null @@ -1,10 +0,0 @@ -_CinnabarMartText2:: - text "Don't they have X" - line "ATTACK? It's good" - cont "for battles!" - done - -_CinnabarMartText3:: - text "It never hurts to" - line "have extra items!" - done diff --git a/text/maps/CinnabarPokecenter.asm b/text/maps/CinnabarPokecenter.asm deleted file mode 100644 index cf481764..00000000 --- a/text/maps/CinnabarPokecenter.asm +++ /dev/null @@ -1,21 +0,0 @@ -_CinnabarPokecenterText2:: - text "You can cancel" - line "evolution." - - para "When a #MON is" - line "evolving, you can" - cont "stop it and leave" - cont "it the way it is." - done - -_CinnabarPokecenterText3:: - text "Do you have any" - line "friends?" - - para "#MON you get" - line "in trades grow" - cont "very quickly." - - para "I think it's" - line "worth a try!" - done diff --git a/text/maps/CopycatsHouse1F.asm b/text/maps/CopycatsHouse1F.asm deleted file mode 100644 index 3ec2b151..00000000 --- a/text/maps/CopycatsHouse1F.asm +++ /dev/null @@ -1,20 +0,0 @@ -_CopycatsHouse1FText1:: - text "My daughter is so" - line "self-centered." - cont "She only has a" - cont "few friends." - done - -_CopycatsHouse1FText2:: - text "My daughter likes" - line "to mimic people." - - para "Her mimicry has" - line "earned her the" - cont "nickname COPYCAT" - cont "around here!" - done - -_CopycatsHouse1FText3:: - text "CHANSEY: Chaan!" - line "Sii!@@" diff --git a/text/maps/CopycatsHouse2F.asm b/text/maps/CopycatsHouse2F.asm deleted file mode 100644 index 561b2ac5..00000000 --- a/text/maps/CopycatsHouse2F.asm +++ /dev/null @@ -1,97 +0,0 @@ -_CopycatsHouse2FText_5ccd4:: - text ": Hi! Do" - line "you like #MON?" - - para ": Uh no, I" - line "just asked you." - - para ": Huh?" - line "You're strange!" - - para "COPYCAT: Hmm?" - line "Quit mimicking?" - - para "But, that's my" - line "favorite hobby!" - prompt - -_TM31PreReceiveText:: - text "Oh wow!" - line "A # DOLL!" - - para "For me?" - line "Thank you!" - - para "You can have" - line "this, then!" - prompt - -_ReceivedTM31Text:: - text " received" - line "@" - TX_RAM wcf4b - text "!@@" - -_TM31ExplanationText1:: - text "" - - para "TM31 contains my" - line "favorite, MIMIC!" - - para "Use it on a good" - line "#MON!@@" - -_TM31ExplanationText2:: - text ": Hi!" - line "Thanks for TM31!" - - para ": Pardon?" - - para ": Is it" - line "that fun to mimic" - cont "my every move?" - - para "COPYCAT: You bet!" - line "It's a scream!" - done - -_TM31NoRoomText:: - text "Don't you want" - line "this?@@" - -_CopycatsHouse2FText2:: - text "DODUO: Giiih!" - - para "MIRROR MIRROR ON" - line "THE WALL, WHO IS" - cont "THE FAIREST ONE" - cont "OF ALL?" - done - -_CopycatsHouse2FText3:: - text "This is a rare" - line "#MON! Huh?" - cont "It's only a doll!" - done - -_CopycatsHouse2FText6:: - text "A game with MARIO" - line "wearing a bucket" - cont "on his head!" - done - -_CopycatsHouse2FText_5cd17:: - text "..." - - para "My Secrets!" - - para "Skill: Mimicry!" - line "Hobby: Collecting" - cont "dolls!" - cont "Favorite #MON:" - cont "CLEFAIRY!" - done - -_CopycatsHouse2FText_5cd1c:: - text "Huh? Can't see!" - done diff --git a/text/maps/Daycare.asm b/text/maps/Daycare.asm deleted file mode 100644 index 2759c798..00000000 --- a/text/maps/Daycare.asm +++ /dev/null @@ -1,62 +0,0 @@ -_DayCareIntroText:: - text "I run a DAYCARE." - line "Would you like me" - cont "to raise one of" - cont "your #MON?" - done - -_DayCareWhichMonText:: - text "Which #MON" - line "should I raise?" - prompt - -_DayCareWillLookAfterMonText:: - text "Fine, I'll look" - line "after @" - TX_RAM wcd6d - text "" - cont "for a while." - prompt - -_DayCareComeSeeMeInAWhileText:: - text "Come see me in" - line "a while." - done - -_DayCareMonHasGrownText:: - text "Your @" - TX_RAM wcd6d - text "" - line "has grown a lot!" - - para "By level, it's" - line "grown by @" - TX_NUM wDayCareNumLevelsGrown,$1,$3 - text "!" - - para "Aren't I great?" - prompt - -_DayCareOweMoneyText:: - text "You owe me ¥@" - TX_BCD wDayCareTotalCost, $c2 - text "" - line "for the return" - cont "of this #MON." - done - -_DayCareGotMonBackText:: - text " got" - line "@" - TX_RAM wDayCareMonName - text " back!" - done - -_DayCareMonNeedsMoreTimeText:: - text "Back already?" - line "Your @" - TX_RAM wcd6d - text "" - cont "needs some more" - cont "time with me." - prompt diff --git a/text/maps/Daycare_2.asm b/text/maps/Daycare_2.asm deleted file mode 100644 index 20c0e5ad..00000000 --- a/text/maps/Daycare_2.asm +++ /dev/null @@ -1,33 +0,0 @@ -_DayCareAllRightThenText:: - text "All right then," - line "@@" - -_DayCareComeAgainText:: - text "come again." - done - -_DayCareNoRoomForMonText:: - text "You have no room" - line "for this #MON!" - done - -_DayCareOnlyHaveOneMonText:: - text "You only have one" - line "#MON with you." - done - -_DayCareCantAcceptMonWithHMText:: - text "I can't accept a" - line "#MON that" - cont "knows an HM move." - done - -_DayCareHeresYourMonText:: - text "Thank you! Here's" - line "your #MON!" - prompt - -_DayCareNotEnoughMoneyText:: - text "Hey, you don't" - line "have enough ¥!" - done diff --git a/text/maps/DiglettsCaveRoute11.asm b/text/maps/DiglettsCaveRoute11.asm deleted file mode 100644 index ecd3225e..00000000 --- a/text/maps/DiglettsCaveRoute11.asm +++ /dev/null @@ -1,8 +0,0 @@ -_DiglettsCaveEntRoute11Text1:: - text "What a surprise!" - line "DIGLETTs dug this" - cont "long tunnel!" - - para "It goes right to" - line "VIRIDIAN CITY!" - done diff --git a/text/maps/DiglettsCaveRoute2.asm b/text/maps/DiglettsCaveRoute2.asm deleted file mode 100644 index a04bbef7..00000000 --- a/text/maps/DiglettsCaveRoute2.asm +++ /dev/null @@ -1,9 +0,0 @@ -_DiglettsCaveRoute2Text1:: - text "I went to ROCK" - line "TUNNEL, but it's" - cont "dark and scary." - - para "If a #MON's" - line "FLASH could light" - cont "it up..." - done diff --git a/text/maps/FightingDojo.asm b/text/maps/FightingDojo.asm deleted file mode 100644 index 3df069c1..00000000 --- a/text/maps/FightingDojo.asm +++ /dev/null @@ -1,130 +0,0 @@ -_FightingDojoText_5ce8e:: - text "Grunt!" - - para "I am the KARATE" - line "MASTER! I am the" - cont "LEADER here!" - - para "You wish to" - line "challenge us?" - cont "Expect no mercy!" - - para "Fwaaa!" - done - -_FightingDojoText_5ce93:: - text "Hwa!" - line "Arrgh! Beaten!" - prompt - -_FightingDojoText_5ce98:: - text "Indeed, I have" - line "lost!" - - para "But, I beseech" - line "you, do not take" - cont "our emblem as" - cont "your trophy!" - - para "In return, I will" - line "give you a prized" - cont "fighting #MON!" - - para "Choose whichever" - line "one you like!" - done - -_FightingDojoText_5ce9d:: - text "Ho!" - - para "Stay and train at" - line "Karate with us!" - done - -_FightingDojoBattleText1:: - text "Hoargh! Take your" - line "shoes off!" - done - -_FightingDojoEndBattleText1:: - text "I give" - line "up!" - prompt - -_FightingDojoAfterBattleText1:: - text "You wait 'til you" - line "see our Master!" - - para "I'm a small fry" - line "compared to him!" - done - -_FightingDojoBattleText2:: - text "I hear you're" - line "good! Show me!" - done - -_FightingDojoEndBattleText2:: - text "Judge!" - line "1 point!" - prompt - -_FightingDojoAfterBattleText2:: - text "Our Master is a" - line "pro fighter!" - done - -_FightingDojoBattleText3:: - text "Nothing tough" - line "frightens me!" - - para "I break boulders" - line "for training!" - done - -_FightingDojoEndBattleText3:: - text "Yow!" - line "Stubbed fingers!" - prompt - -_FightingDojoAfterBattleText3:: - text "The only thing" - line "that frightens us" - cont "is psychic power!" - done - -_FightingDojoBattleText4:: - text "Hoohah!" - - para "You're trespassing" - line "in our FIGHTING" - cont "DOJO!" - done - -_FightingDojoEndBattleText4:: - text "Oof!" - line "I give up!" - prompt - -_FightingDojoAfterBattleText4:: - text "The prime fighters" - line "across the land" - cont "train here." - done - -_WantHitmonleeText:: - text "You want the" - line "hard kicking" - cont "HITMONLEE?" - done - -_WantHitmonchanText:: - text "You want the" - line "piston punching" - cont "HITMONCHAN?" - done - -_OtherHitmonText:: - text "Better not get" - line "greedy..." - done diff --git a/text/maps/FuchsiaBillsGrandpasHouse.asm b/text/maps/FuchsiaBillsGrandpasHouse.asm deleted file mode 100644 index 7b6556b1..00000000 --- a/text/maps/FuchsiaBillsGrandpasHouse.asm +++ /dev/null @@ -1,27 +0,0 @@ -_FuchsiaHouse1Text1:: - text "SAFARI ZONE's" - line "WARDEN is old," - cont "but still active!" - - para "All his teeth are" - line "false, though." - done - -_FuchsiaHouse1Text2:: - text "Hmm? You've met" - line "BILL?" - - para "He's my grandson!" - - para "He always liked" - line "collecting things" - cont "even as a child!" - done - -_FuchsiaHouse1Text3:: - text "BILL files his" - line "own #MON data" - cont "on his PC!" - - para "Did he show you?" - done diff --git a/text/maps/FuchsiaCity.asm b/text/maps/FuchsiaCity.asm deleted file mode 100644 index a90d0021..00000000 --- a/text/maps/FuchsiaCity.asm +++ /dev/null @@ -1,119 +0,0 @@ -_FuchsiaCityText1:: - text "Did you try the" - line "SAFARI GAME? Some" - cont "#MON can only" - cont "be caught there." - done - -_FuchsiaCityText2:: - text "SAFARI ZONE has a" - line "zoo in front of" - cont "the entrance." - - para "Out back is the" - line "SAFARI GAME for" - cont "catching #MON." - done - -_FuchsiaCityText3:: - text "ERIK: Where's" - line "SARA? I said I'd" - cont "meet her here." - done - -_FuchsiaCityText4:: - text "That item ball in" - line "there is really a" - cont "#MON." - done - -_FuchsiaCityText5:: - text "!" - done - -_FuchsiaCityText11:: - text "FUCHSIA CITY" - line "Behold! It's" - cont "Passion Pink!" - done - -_FuchsiaCityText13:: - text "SAFARI GAME" - line "#MON-U-CATCH!" - done - -_FuchsiaCityText16:: - text "SAFARI ZONE" - line "WARDEN's HOME" - done - -_FuchsiaCityText17:: - text "#MON PARADISE" - line "SAFARI ZONE" - done - -_FuchsiaCityText18:: - text "FUCHSIA CITY" - line "#MON GYM" - cont "LEADER: KOGA" - - para "The Poisonous" - line "Ninja Master" - done - -_FuchsiaCityChanseyText:: - text "Name: CHANSEY" - - para "Catching one is" - line "all up to chance." - prompt - -_FuchsiaCityVoltorbText:: - text "Name: VOLTORB" - - para "The very image of" - line "a # BALL." - prompt - -_FuchsiaCityKangaskhanText:: - text "Name: KANGASKHAN" - - para "A maternal #MON" - line "that raises its" - cont "young in a pouch" - cont "on its belly." - prompt - -_FuchsiaCitySlowpokeText:: - text "Name: SLOWPOKE" - - para "Friendly and very" - line "slow moving." - prompt - -_FuchsiaCityLaprasText:: - text "Name: LAPRAS" - - para "A.K.A. the king" - line "of the seas." - prompt - -_FuchsiaCityOmanyteText:: - text "Name: OMANYTE" - - para "A #MON that" - line "was resurrected" - cont "from a fossil." - prompt - -_FuchsiaCityKabutoText:: - text "Name: KABUTO" - - para "A #MON that" - line "was resurrected" - cont "from a fossil." - prompt - -_FuchsiaCityText_19b2a:: - text "..." - done diff --git a/text/maps/FuchsiaGoodRodHouse.asm b/text/maps/FuchsiaGoodRodHouse.asm deleted file mode 100644 index b1b8b2f2..00000000 --- a/text/maps/FuchsiaGoodRodHouse.asm +++ /dev/null @@ -1,43 +0,0 @@ -_FuchsiaHouse3Text_561bd:: - text "I'm the FISHING" - line "GURU's older" - cont "brother!" - - para "I simply Looove" - line "fishing!" - - para "Do you like to" - line "fish?" - done - -_FuchsiaHouse3Text_561c2:: - text "Grand! I like" - line "your style!" - - para "Take this and" - line "fish, young one!" - - para " received" - line "a @" - TX_RAM wcf4b - text "!@@" - -_FuchsiaHouse3Text_56212:: - text "Oh... That's so" - line "disappointing..." - done - -_FuchsiaHouse3Text_56217:: - text "Hello there," - line "!" - - para "How are the fish" - line "biting?" - done - -_FuchsiaHouse3Text_5621c:: - text "Oh no!" - - para "You have no room" - line "for my gift!" - done diff --git a/text/maps/FuchsiaGym.asm b/text/maps/FuchsiaGym.asm deleted file mode 100644 index 9108fc79..00000000 --- a/text/maps/FuchsiaGym.asm +++ /dev/null @@ -1,26 +0,0 @@ -_KogaBeforeBattleText:: - text "KOGA: Fwahahaha!" - - para "A mere child like" - line "you dares to" - cont "challenge me?" - - para "Very well, I" - line "shall show you" - cont "true terror as a" - cont "ninja master!" - - para "You shall feel" - line "the despair of" - cont "poison and sleep" - cont "techniques!" - done - -_KogaAfterBattleText:: - text "Humph!" - line "You have proven" - cont "your worth!" - - para "Here! Take the" - line "SOULBADGE!" - prompt diff --git a/text/maps/FuchsiaGym_2.asm b/text/maps/FuchsiaGym_2.asm deleted file mode 100644 index f7b39d9c..00000000 --- a/text/maps/FuchsiaGym_2.asm +++ /dev/null @@ -1,193 +0,0 @@ -_KogaExplainToxicText:: - text "When afflicted by" - line "TOXIC, #MON" - cont "suffer more and" - cont "more as battle" - cont "progresses!" - - para "It will surely" - line "terrorize foes!" - done - -_FuchsiaGymText9:: - text "Now that you have" - line "the SOULBADGE," - cont "the DEFENSE of" - cont "your #MON" - cont "increases!" - - para "It also lets you" - line "SURF outside of" - cont "battle!" - - para "Ah! Take this" - line "too!" - done - -_ReceivedTM06Text:: - text " received" - line "@" - TX_RAM wcf4b - text "!@@" - -_TM06ExplanationText:: - text "" - para "TM06 contains" - line "TOXIC!" - - para "It is a secret" - line "technique over" - cont "400 years old!" - done - -_TM06NoRoomText:: - text "Make space for" - line "this, child!" - done - -_FuchsiaGymBattleText1:: - text "Strength isn't" - line "the key for" - cont "#MON!" - - para "It's strategy!" - - para "I'll show you how" - line "strategy can beat" - cont "brute strength!" - done - -_FuchsiaGymEndBattleText1:: - text "What?" - line "Extraordinary!" - prompt - -_FuchsiaGymAfterBattleText1:: - text "So, you mix brawn" - line "with brains?" - cont "Good strategy!" - done - -_FuchsiaGymBattleText2:: - text "I wanted to become" - line "a ninja, so I" - cont "joined this GYM!" - done - -_FuchsiaGymEndBattleText2:: - text "I'm done" - line "for!" - prompt - -_FuchsiaGymAfterBattleText2:: - text "I will keep on" - line "training under" - cont "KOGA, my ninja" - cont "master!" - done - -_FuchsiaGymBattleText3:: - text "Let's see you" - line "beat my special" - cont "techniques!" - done - -_FuchsiaGymEndBattleText3:: - text "You" - line "had me fooled!" - prompt - -_FuchsiaGymAfterBattleText3:: - text "I like poison and" - line "sleep techniques," - cont "as they linger" - cont "after battle!" - done - -_FuchsiaGymBattleText4:: - text "Stop right there!" - - para "Our invisible" - line "walls have you" - cont "frustrated?" - done - -_FuchsiaGymEndBattleText4:: - text "Whoa!" - line "He's got it!" - prompt - -_FuchsiaGymAfterBattleText4:: - text "You impressed me!" - line "Here's a hint!" - - para "Look very closely" - line "for gaps in the" - cont "invisible walls!" - done - -_FuchsiaGymBattleText5:: - text "I also study the" - line "way of the ninja" - cont "with master KOGA!" - - para "Ninja have a long" - line "history of using" - cont "animals!" - done - -_FuchsiaGymEndBattleText5:: - text "Awoo!" - prompt - -_FuchsiaGymAfterBattleText5:: - text "I still have much" - line "to learn!" - done - -_FuchsiaGymBattleText6:: - text "Master KOGA comes" - line "from a long line" - cont "of ninjas!" - - para "What did you" - line "descend from?" - done - -_FuchsiaGymEndBattleText6:: - text "Dropped" - line "my balls!" - prompt - -_FuchsiaGymAfterBattleText6:: - text "Where there is" - line "light, there is" - cont "shadow!" - - para "Light and shadow!" - line "Which do you" - cont "choose?" - done - -_FuchsiaGymText_7564e:: - text "Yo! Champ in" - line "making!" - - para "FUCHSIA GYM is" - line "riddled with" - cont "invisible walls!" - - para "KOGA might appear" - line "close, but he's" - cont "blocked off!" - - para "You have to find" - line "gaps in the walls" - cont "to reach him!" - done - -_FuchsiaGymText_75653:: - text "It's amazing how" - line "ninja can terrify" - cont "even now!" - done diff --git a/text/maps/FuchsiaMart.asm b/text/maps/FuchsiaMart.asm deleted file mode 100644 index 574898ce..00000000 --- a/text/maps/FuchsiaMart.asm +++ /dev/null @@ -1,14 +0,0 @@ -_FuchsiaMartText2:: - text "Do you have a" - line "SAFARI ZONE flag?" - - para "What about cards" - line "or calendars?" - done - -_FuchsiaMartText3:: - text "Did you try X" - line "SPEED? It speeds" - cont "up a #MON in" - cont "battle!" - done diff --git a/text/maps/FuchsiaMeetingRoom.asm b/text/maps/FuchsiaMeetingRoom.asm deleted file mode 100644 index 10675ead..00000000 --- a/text/maps/FuchsiaMeetingRoom.asm +++ /dev/null @@ -1,26 +0,0 @@ -_FuchsiaMeetingRoomText1:: - text "We nicknamed the" - line "WARDEN SLOWPOKE." - - para "He and SLOWPOKE" - line "both look vacant!" - done - -_FuchsiaMeetingRoomText2:: - text "SLOWPOKE is very" - line "knowledgeable" - cont "about #MON!" - - para "He even has some" - line "fossils of rare," - cont "extinct #MON!" - done - -_FuchsiaMeetingRoomText3:: - text "SLOWPOKE came in," - line "but I couldn't" - cont "understand him." - - para "I think he's got" - line "a speech problem!" - done diff --git a/text/maps/FuchsiaPokecenter.asm b/text/maps/FuchsiaPokecenter.asm deleted file mode 100644 index a0def7eb..00000000 --- a/text/maps/FuchsiaPokecenter.asm +++ /dev/null @@ -1,20 +0,0 @@ -_FuchsiaPokecenterText1:: - text "You can't win" - line "with just one" - cont "strong #MON." - - para "It's tough, but" - line "you have to raise" - cont "them evenly." - done - -_FuchsiaPokecenterText3:: - text "There's a narrow" - line "trail west of" - cont "VIRIDIAN CITY." - - para "It goes to #MON" - line "LEAGUE HQ." - cont "The HQ governs" - cont "all trainers." - done diff --git a/text/maps/GameCorner.asm b/text/maps/GameCorner.asm deleted file mode 100644 index 1e59f83e..00000000 --- a/text/maps/GameCorner.asm +++ /dev/null @@ -1,186 +0,0 @@ -_CeladonGameCornerText1:: - text "Welcome!" - - para "You can exchange" - line "your coins for" - cont "fabulous prizes" - cont "next door." - done - -_CeladonGameCornerText_48d22:: - text "Welcome to ROCKET" - line "GAME CORNER!" - - para "Do you need some" - line "game coins?" - - para "It's ¥1000 for 50" - line "coins. Would you" - cont "like some?" - done - -_CeladonGameCornerText_48d27:: - text "Thanks! Here are" - line "your 50 coins!" - done - -_CeladonGameCornerText_48d2c:: - text "No? Please come" - line "play sometime!" - done - -_CeladonGameCornerText_48d31:: - text "You can't afford" - line "the coins!" - done - -_CeladonGameCornerText_48d36:: - text "Oops! Your COIN" - line "CASE is full." - done - -_CeladonGameCornerText_48d3b:: - text "You don't have a" - line "COIN CASE!" - done - -_CeladonGameCornerText3:: - text "Keep this quiet." - - para "It's rumored that" - line "this place is run" - cont "by TEAM ROCKET." - done - -_CeladonGameCornerText4:: - text "I think these" - line "machines have" - cont "different odds." - done - -_CeladonGameCornerText_48d9c:: - text "Kid, do you want" - line "to play?" - prompt - -_Received10CoinsText:: - text " received" - line "10 coins!@@" - -_CeladonGameCornerText_48da7:: - text "You don't need my" - line "coins!" - done - -_CeladonGameCornerText_48dac:: - text "Wins seem to come" - line "and go." - done - -_CeladonGameCornerText6:: - text "I'm having a" - line "wonderful time!" - done - -_CeladonGameCornerText_48dca:: - text "Hey!" - - para "You have better" - line "things to do," - cont "champ in making!" - - para "CELADON GYM's" - line "LEADER is ERIKA!" - cont "She uses grass-" - cont "type #MON!" - - para "She might appear" - line "docile, but don't" - cont "be fooled!" - done - -_CeladonGameCornerText_48dcf:: - text "They offer rare" - line "#MON that can" - cont "be exchanged for" - cont "your coins." - - para "But, I just can't" - line "seem to win!" - done - -_CeladonGameCornerText8:: - text "Games are scary!" - line "It's so easy to" - cont "get hooked!" - done - -_CeladonGameCornerText_48e26:: - text "What's up? Want" - line "some coins?" - prompt - -_Received20CoinsText:: - text " received" - line "20 coins!@@" - -_CeladonGameCornerText_48e31:: - text "You have lots of" - line "coins!" - done - -_CeladonGameCornerText_48e36:: - text "Darn! I need more" - line "coins for the" - cont "#MON I want!" - done - -_CeladonGameCornerText_48e88:: - text "Hey, what? You're" - line "throwing me off!" - cont "Here are some" - cont "coins, shoo!" - prompt - -_CeladonGameCornerText_48e8d:: - text " received" - line "20 coins!@@" - -_CeladonGameCornerText_48e93:: - text "You've got your" - line "own coins!" - done - -_CeladonGameCornerText_48e98:: - text "The trick is to" - line "watch the reels" - cont "closely!" - done - -_CeladonGameCornerText_48ece:: - text "I'm guarding this" - line "poster!" - cont "Go away, or else!" - done - -_CeladonGameCornerText_48ed3:: - text "Dang!" - prompt - -_CeladonGameCornerText_48ed8:: - text "Our hideout might" - line "be discovered! I" - cont "better tell BOSS!" - done - -_CeladonGameCornerText_48f09:: - text "Hey!" - - para "A switch behind" - line "the poster!?" - cont "Let's push it!@@" - -_CeladonGameCornerText_48f19:: - text "Oops! Forgot the" - line "COIN CASE!" - done diff --git a/text/maps/GameCornerPrizeRoom.asm b/text/maps/GameCornerPrizeRoom.asm deleted file mode 100644 index 6b2bb537..00000000 --- a/text/maps/GameCornerPrizeRoom.asm +++ /dev/null @@ -1,12 +0,0 @@ -_CeladonPrizeRoomText1:: - text "I sure do fancy" - line "that PORYGON!" - - para "But, it's hard to" - line "win at slots!" - done - -_CeladonPrizeRoomText2:: - text "I had a major" - line "haul today!" - done diff --git a/text/maps/HallOfFame.asm b/text/maps/HallOfFame.asm deleted file mode 100644 index c799268b..00000000 --- a/text/maps/HallOfFame.asm +++ /dev/null @@ -1,28 +0,0 @@ -_HallofFameRoomText1:: - text "OAK: Er-hem!" - line "Congratulations" - cont "!" - - para "This floor is the" - line "#MON HALL OF" - cont "FAME!" - - para "#MON LEAGUE" - line "champions are" - cont "honored for their" - cont "exploits here!" - - para "Their #MON are" - line "also recorded in" - cont "the HALL OF FAME!" - - para "! You have" - line "endeavored hard" - cont "to become the new" - cont "LEAGUE champion!" - - para "Congratulations," - line ", you and" - cont "your #MON are" - cont "HALL OF FAMERs!" - done diff --git a/text/maps/IndigoPlateauLobby.asm b/text/maps/IndigoPlateauLobby.asm deleted file mode 100644 index 8487e29a..00000000 --- a/text/maps/IndigoPlateauLobby.asm +++ /dev/null @@ -1,25 +0,0 @@ -_IndigoPlateauLobbyText2:: - text "Yo! Champ in" - line "making!" - - para "At #MON LEAGUE," - line "you have to face" - cont "the ELITE FOUR in" - cont "succession." - - para "If you lose, you" - line "have to start all" - cont "over again! This" - cont "is it! Go for it!" - done - -_IndigoPlateauLobbyText3:: - text "From here on, you" - line "face the ELITE" - cont "FOUR one by one!" - - para "If you win, a" - line "door opens to the" - cont "next trainer!" - cont "Good luck!" - done diff --git a/text/maps/LancesRoom.asm b/text/maps/LancesRoom.asm deleted file mode 100644 index ed3dcada..00000000 --- a/text/maps/LancesRoom.asm +++ /dev/null @@ -1,63 +0,0 @@ -_LanceBeforeBattleText:: - text "Ah! I heard about" - line "you !" - - para "I lead the ELITE" - line "FOUR! You can" - cont "call me LANCE the" - cont "dragon trainer!" - - para "You know that" - line "dragons are" - cont "mythical #MON!" - - para "They're hard to" - line "catch and raise," - cont "but their powers" - cont "are superior!" - - para "They're virtually" - line "indestructible!" - - para "Well, are you" - line "ready to lose?" - - para "Your LEAGUE" - line "challenge ends" - cont "with me, !" - done - -_LanceEndBattleText:: - text "That's it!" - - para "I hate to admit" - line "it, but you are a" - cont "#MON master!" - prompt - -_LanceAfterBattleText:: - text "I still can't" - line "believe my" - cont "dragons lost to" - cont "you, !" - - para "You are now the" - line "#MON LEAGUE" - cont "champion!" - - para "...Or, you would" - line "have been, but" - cont "you have one more" - cont "challenge ahead." - - para "You have to face" - line "another trainer!" - cont "His name is..." - - para "!" - line "He beat the ELITE" - cont "FOUR before you!" - - para "He is the real" - line "#MON LEAGUE" - cont "champion!@@" diff --git a/text/maps/LavenderCuboneHouse.asm b/text/maps/LavenderCuboneHouse.asm deleted file mode 100644 index 66cc85a5..00000000 --- a/text/maps/LavenderCuboneHouse.asm +++ /dev/null @@ -1,24 +0,0 @@ -_LavenderHouse2Text1:: - text "CUBONE: Kyarugoo!@@" - -_LavenderHouse2Text_1d9dc:: - text "I hate those" - line "horrible ROCKETs!" - - para "That poor CUBONE's" - line "mother..." - - para "It was killed" - line "trying to escape" - cont "from TEAM ROCKET!" - done - -_LavenderHouse2Text_1d9e1:: - text "The GHOST of" - line "#MON TOWER is" - cont "gone!" - - para "Someone must have" - line "soothed its" - cont "restless soul!" - done diff --git a/text/maps/LavenderMart.asm b/text/maps/LavenderMart.asm deleted file mode 100644 index 222712c6..00000000 --- a/text/maps/LavenderMart.asm +++ /dev/null @@ -1,30 +0,0 @@ -_LavenderMartText2:: - text "I'm searching for" - line "items that raise" - cont "the abilities of" - cont "#MON during a" - cont "single battle." - - para "X ATTACK, X" - line "DEFEND, X SPEED" - cont "and X SPECIAL are" - cont "what I'm after." - - para "Do you know where" - line "I can get them?" - done - -_LavenderMartReviveText:: - text "You know REVIVE?" - line "It revives any" - cont "fainted #MON!" - done - -_LavenderMartNuggetText:: - text "I found a NUGGET" - line "in the mountains." - - para "I thought it was" - line "useless, but it" - cont "sold for ¥5000!" - done diff --git a/text/maps/LavenderPokecenter.asm b/text/maps/LavenderPokecenter.asm deleted file mode 100644 index 3aa7b67d..00000000 --- a/text/maps/LavenderPokecenter.asm +++ /dev/null @@ -1,12 +0,0 @@ -_LavenderPokecenterText2:: - text "TEAM ROCKET will" - line "do anything for" - cont "the sake of gold!" - done - -_LavenderPokecenterText3:: - text "I saw CUBONE's" - line "mother die trying" - cont "to escape from" - cont "TEAM ROCKET!" - done diff --git a/text/maps/LavenderTown.asm b/text/maps/LavenderTown.asm deleted file mode 100644 index 19b6c8c8..00000000 --- a/text/maps/LavenderTown.asm +++ /dev/null @@ -1,64 +0,0 @@ -_LavenderTownText_4413c:: - text "Do you believe in" - line "GHOSTs?" - done - -_LavenderTownText_44141:: - text "Really? So there" - line "are believers..." - done - -_LavenderTownText_44146:: - text "Hahaha, I guess" - line "not." - - para "That white hand" - line "on your shoulder," - cont "it's not real." - done - -_LavenderTownText2:: - text "This town is known" - line "as the grave site" - cont "of #MON." - - para "Memorial services" - line "are held in" - cont "#MON TOWER." - done - -_LavenderTownText3:: - text "GHOSTs appeared" - line "in #MON TOWER." - - para "I think they're" - line "the spirits of" - cont "#MON that the" - cont "ROCKETs killed." - done - -_LavenderTownText4:: - text "LAVENDER TOWN" - line "The Noble Purple" - cont "Town" - done - -_LavenderTownText5:: - text "New SILPH SCOPE!" - - para "Make the Invisible" - line "Plain to See!" - - para "SILPH CO." - done - -_LavenderTownText8:: - text "LAVENDER VOLUNTEER" - line "#MON HOUSE" - done - -_LavenderTownText9:: - text "May the Souls of" - line "#MON Rest Easy" - cont "#MON TOWER" - done diff --git a/text/maps/LoreleisRoom.asm b/text/maps/LoreleisRoom.asm deleted file mode 100644 index fdbb55b4..00000000 --- a/text/maps/LoreleisRoom.asm +++ /dev/null @@ -1,42 +0,0 @@ -_LoreleiBeforeBattleText:: - text "Welcome to" - line "#MON LEAGUE!" - - para "I am LORELEI of" - line "the ELITE FOUR!" - - para "No one can best" - line "me when it comes" - cont "to icy #MON!" - - para "Freezing moves" - line "are powerful!" - - para "Your #MON will" - line "be at my mercy" - cont "when they are" - cont "frozen solid!" - - para "Hahaha!" - line "Are you ready?" - done - -_LoreleiEndBattleText:: - text "How" - line "dare you!" - prompt - -_LoreleiAfterBattleText:: - text "You're better" - line "than I thought!" - cont "Go on ahead!" - - para "You only got a" - line "taste of #MON" - cont "LEAGUE power!" - done - -_LoreleiDontRunAwayText:: - text "Someone's voice:" - line "Don't run away!" - done diff --git a/text/maps/MrFujisHouse.asm b/text/maps/MrFujisHouse.asm deleted file mode 100644 index f903eb6a..00000000 --- a/text/maps/MrFujisHouse.asm +++ /dev/null @@ -1,86 +0,0 @@ -_LavenderHouse1Text_1d8d1:: - text "That's odd, MR.FUJI" - line "isn't here." - cont "Where'd he go?" - done - -_LavenderHouse1Text_1d8d6:: - text "MR.FUJI had been" - line "praying alone for" - cont "CUBONE's mother." - done - -_LavenderHouse1Text_1d8f4:: - text "This is really" - line "MR.FUJI's house." - - para "He's really kind!" - - para "He looks after" - line "abandoned and" - cont "orphaned #MON!" - done - -_LavenderHouse1Text_1d8f9:: - text "It's so warm!" - line "#MON are so" - cont "nice to hug!" - done - -_LavenderHouse1Text3:: - text "PSYDUCK: Gwappa!@@" - -_LavenderHouse1Text4:: - text "NIDORINO: Gaoo!@@" - -_LavenderHouse1Text_1d94c:: - text "MR.FUJI: ." - - para "Your #DEX quest" - line "may fail without" - cont "love for your" - cont "#MON." - - para "I think this may" - line "help your quest." - prompt - -_ReceivedFluteText:: - text " received" - line "a @" - TX_RAM wcf4b - text "!@@" - -_FluteExplanationText:: - text "" - - para "Upon hearing #" - line "FLUTE, sleeping" - cont "#MON will" - cont "spring awake." - - para "It works on all" - line "sleeping #MON." - done - -_FluteNoRoomText:: - text "You must make" - line "room for this!" - done - -_MrFujiAfterFluteText:: - text "MR.FUJI: Has my" - line "FLUTE helped you?" - done - -_LavenderHouse1Text6:: - text "#MON Monthly" - line "Grand Prize" - cont "Drawing!" - - para "The application" - line "form is..." - - para "Gone! It's been" - line "clipped out!" - done diff --git a/text/maps/MrPsychicsHouse.asm b/text/maps/MrPsychicsHouse.asm deleted file mode 100644 index 7be2e11e..00000000 --- a/text/maps/MrPsychicsHouse.asm +++ /dev/null @@ -1,25 +0,0 @@ -_TM29PreReceiveText:: - text "...Wait! Don't" - line "say a word!" - - para "You wanted this!" - prompt - -_ReceivedTM29Text:: - text " received" - line "@" - TX_RAM wcf4b - text "!@@" - -_TM29ExplanationText:: - text "TM29 is PSYCHIC!" - - para "It can lower the" - line "target's SPECIAL" - cont "abilities." - done - -_TM29NoRoomText:: - text "Where do you plan" - line "to put this?" - done diff --git a/text/maps/MtMoon1F.asm b/text/maps/MtMoon1F.asm deleted file mode 100644 index 761a5240..00000000 --- a/text/maps/MtMoon1F.asm +++ /dev/null @@ -1,119 +0,0 @@ -_MtMoon1BattleText2:: - text "WHOA! You shocked" - line "me! Oh, you're" - cont "just a kid!" - done - -_MtMoon1EndBattleText2:: - text "Wow!" - line "Shocked again!" - prompt - -_MtMoon1AfterBattleText2:: - text "Kids like you" - line "shouldn't be" - cont "here!" - done - -_MtMoon1BattleText3:: - text "Did you come to" - line "explore too?" - done - -_MtMoon1EndBattleText3:: - text "Losing" - line "stinks!" - prompt - -_MtMoon1AfterBattleText3:: - text "I came down here" - line "to show off to" - cont "girls." - done - -_MtMoon1BattleText4:: - text "Wow! It's way" - line "bigger in here" - cont "than I thought!" - done - -_MtMoon1EndBattleText4:: - text "Oh!" - line "I lost it!" - prompt - -_MtMoon1AfterBattleText4:: - text "How do you get" - line "out of here?" - done - -_MtMoon1BattleText5:: - text "What! Don't sneak" - line "up on me!" - done - -_MtMoon1EndBattleText5:: - text "My" - line "#MON won't do!" - prompt - -_MtMoon1AfterBattleText5:: - text "I have to find" - line "stronger #MON." - done - -_MtMoon1BattleText6:: - text "What? I'm waiting" - line "for my friends to" - cont "find me here." - done - -_MtMoon1EndBattleText6:: - text "I lost?" - prompt - -_MtMoon1AfterBattleText6:: - text "I heard there are" - line "some very rare" - cont "fossils here." - done - -_MtMoon1BattleText7:: - text "Suspicious men" - line "are in the cave." - cont "What about you?" - done - -_MtMoon1EndBattleText7:: - text "You" - line "got me!" - prompt - -_MtMoon1AfterBattleText7:: - text "I saw them! I'm" - line "sure they're from" - cont "TEAM ROCKET!" - done - -_MtMoon1BattleText8:: - text "Go through this" - line "cave to get to" - cont "CERULEAN CITY!" - done - -_MtMoon1EndBattleText8:: - text "I" - line "lost." - prompt - -_MtMoon1AfterBattleText8:: - text "ZUBAT is tough!" - line "But, it can be" - cont "useful if you" - cont "catch one." - done - -_MtMoon1Text14:: - text "Beware! ZUBAT is" - line "a blood sucker!" - done diff --git a/text/maps/MtMoonB1F.asm b/text/maps/MtMoonB1F.asm deleted file mode 100644 index 755fa583..00000000 --- a/text/maps/MtMoonB1F.asm +++ /dev/null @@ -1,3 +0,0 @@ -_MtMoonText1:: - text "" - done diff --git a/text/maps/MtMoonB2F.asm b/text/maps/MtMoonB2F.asm deleted file mode 100644 index 472649b9..00000000 --- a/text/maps/MtMoonB2F.asm +++ /dev/null @@ -1,122 +0,0 @@ -_MtMoon3Text_49f24:: - text "You want the" - line "DOME FOSSIL?" - done - -_MtMoon3Text_49f64:: - text "You want the" - line "HELIX FOSSIL?" - done - -_MtMoon3Text_49f6f:: - text " got the" - line "@" - TX_RAM wcf4b - text "!@@" - -_MtMoon3Text_49f7f:: - text "Look, you've got" - line "no room for this.@@" - -_MtMoon3Text_49f85:: - text "Hey, stop!" - - para "I found these" - line "fossils! They're" - cont "both mine!" - done - -_MtMoon3Text_49f8a:: - text "OK!" - line "I'll share!" - prompt - -_MtMoon3Text_49f8f:: - text "We'll each take" - line "one!" - cont "No being greedy!" - done - -_MtMoon3Text_49f94:: - text "Far away, on" - line "CINNABAR ISLAND," - cont "there's a #MON" - cont "LAB." - - para "They do research" - line "on regenerating" - cont "fossils." - done - -_MtMoon3Text_49f99:: - text "All right. Then" - line "this is mine!@@" - -_MtMoon3BattleText2:: - text "TEAM ROCKET will" - line "find the fossils," - cont "revive and sell" - cont "them for cash!" - done - -_MtMoon3EndBattleText2:: - text "Urgh!" - line "Now I'm mad!" - prompt - -_MtMoon3AfterBattleText2:: - text "You made me mad!" - line "TEAM ROCKET will" - cont "blacklist you!" - done - -_MtMoon3BattleText3:: - text "We, TEAM ROCKET," - line "are #MON" - cont "gangsters!" - done - -_MtMoon3EndBattleText3:: - text "I blew" - line "it!" - prompt - -_MtMoon3AfterBattleText3:: - text "Darn it all! My" - line "associates won't" - cont "stand for this!" - done - -_MtMoon3BattleText4:: - text "We're pulling a" - line "big job here!" - cont "Get lost, kid!" - done - -_MtMoon3EndBattleText4:: - text "So, you" - line "are good." - prompt - -_MtMoon3AfterBattleText4:: - text "If you find a" - line "fossil, give it" - cont "to me and scram!" - done - -_MtMoon3BattleText5:: - text "Little kids" - line "should leave" - cont "grown-ups alone!" - done - -_MtMoon3EndBattleText5:: - text "I'm" - line "steamed!" - prompt - -_MtMoon3AfterBattleText5:: - text "#MON lived" - line "here long before" - cont "people came." - done diff --git a/text/maps/MtMoonPokecenter.asm b/text/maps/MtMoonPokecenter.asm deleted file mode 100644 index 7bc99dae..00000000 --- a/text/maps/MtMoonPokecenter.asm +++ /dev/null @@ -1,48 +0,0 @@ -_MtMoonPokecenterText1:: - text "I've 6 # BALLs" - line "set in my belt." - - para "At most, you can" - line "carry 6 #MON." - done - -_MtMoonPokecenterText3:: - text "TEAM ROCKET" - line "attacks CERULEAN" - cont "citizens..." - - para "TEAM ROCKET is" - line "always in the" - cont "news!" - done - -_MagikarpSalesmanText1:: - text "MAN: Hello, there!" - line "Have I got a deal" - cont "just for you!" - - para "I'll let you have" - line "a swell MAGIKARP" - cont "for just ¥500!" - cont "What do you say?" - done - -_MagikarpSalesmanNoText:: - text "No? I'm only" - line "doing this as a" - cont "favor to you!" - done - -_MagikarpSalesmanNoMoneyText:: - text "You'll need more" - line "money than that!" - done - -_MagikarpSalesmanText2:: - text "MAN: Well, I don't" - line "give refunds!" - done - -_MtMoonPokecenterText5:: - text "" - done diff --git a/text/maps/Museum1F.asm b/text/maps/Museum1F.asm deleted file mode 100644 index 16431bda..00000000 --- a/text/maps/Museum1F.asm +++ /dev/null @@ -1,107 +0,0 @@ -_Museum1FText_5c21a:: - text "Come again!" - done - -_Museum1FText_5c21f:: - text "It's ¥50 for a" - line "child's ticket." - - para "Would you like to" - line "come in?" - done - -_Museum1FText_5c224:: - text "Right, ¥50!" - line "Thank you!" - done - -_Museum1FText_5c229:: - text "You don't have" - line "enough money." - prompt - -_Museum1FText_5c22e:: - text "You can't sneak" - line "in the back way!" - - para "Oh, whatever!" - line "Do you know what" - cont "AMBER is?" - done - -_Museum1FText_5c233:: - text "There's a lab" - line "somewhere trying" - cont "to resurrect" - cont "ancient #MON" - cont "from AMBER." - done - -_Museum1FText_5c238:: - text "AMBER is fossil-" - line "ized tree sap." - done - -_Museum1FText_5c23d:: - text "Please go to the" - line "other side!" - done - -_Museum1FText_5c242:: - text "Take plenty of" - line "time to look!" - done - -_Museum1FText_5c251:: - text "That is one" - line "magnificent" - cont "fossil!" - done - -_Museum1FText_5c28e:: - text "Ssh! I think that" - line "this chunk of" - cont "AMBER contains" - cont "#MON DNA!" - - para "It would be great" - line "if #MON could" - cont "be resurrected" - cont "from it!" - - para "But, my colleagues" - line "just ignore me!" - - para "So I have a favor" - line "to ask!" - - para "Take this to a" - line "#MON LAB and" - cont "get it examined!" - prompt - -_ReceivedOldAmberText:: - text " received" - line "OLD AMBER!@@" - -_Museum1FText_5c299:: - text "Ssh! Get the OLD" - line "AMBER checked!" - done - -_Museum1FText_5c29e:: - text "You don't have" - line "space for this!" - done - -_Museum1FText_5c2ad:: - text "We are proud of 2" - line "fossils of very" - cont "rare, prehistoric" - cont "#MON!" - done - -_Museum1FText_5c2bc:: - text "The AMBER is" - line "clear and gold!" - done diff --git a/text/maps/Museum2F.asm b/text/maps/Museum2F.asm deleted file mode 100644 index 4f34a249..00000000 --- a/text/maps/Museum2F.asm +++ /dev/null @@ -1,45 +0,0 @@ -_Museum2FText1:: - text "MOON STONE?" - - para "What's so special" - line "about it?" - done - -_Museum2FText2:: - text "July 20, 1969!" - - para "The 1st lunar" - line "landing!" - - para "I bought a color" - line "TV to watch it!" - done - -_Museum2FText3:: - text "We have a space" - line "exhibit now." - done - -_Museum2FText4:: - text "I want a PIKACHU!" - line "It's so cute!" - - para "I asked my Daddy" - line "to catch me one!" - done - -_Museum2FText5:: - text "Yeah, a PIKACHU" - line "soon, I promise!" - done - -_Museum2FText6:: - text "SPACE SHUTTLE" - line "COLUMBIA" - done - -_Museum2FText7:: - text "Meteorite that" - line "fell on MT.MOON." - cont "(MOON STONE?)" - done diff --git a/text/maps/NameRatersHouse.asm b/text/maps/NameRatersHouse.asm deleted file mode 100644 index 65d3e8a4..00000000 --- a/text/maps/NameRatersHouse.asm +++ /dev/null @@ -1,60 +0,0 @@ -_NameRaterText_1dab3:: - text "Hello, hello!" - line "I am the official" - cont "NAME RATER!" - - para "Want me to rate" - line "the nicknames of" - cont "your #MON?" - done - -_NameRaterText_1dab8:: - text "Which #MON" - line "should I look at?" - prompt - -_NameRaterText_1dabd:: - TX_RAM wcd6d - text ", is it?" - line "That is a decent" - cont "nickname!" - - para "But, would you" - line "like me to give" - cont "it a nicer name?" - - para "How about it?" - done - -_NameRaterText_1dac2:: - text "Fine! What should" - line "we name it?" - prompt - -_NameRaterText_1dac7:: - text "OK! This #MON" - line "has been renamed" - cont "@" - TX_RAM wBuffer - text "!" - - para "That's a better" - line "name than before!" - done - -_NameRaterText_1dacc:: - text "Fine! Come any" - line "time you like!" - done - -_NameRaterText_1dad1:: - TX_RAM wcd6d - text ", is it?" - line "That is a truly" - cont "impeccable name!" - - para "Take good care of" - line "@" - TX_RAM wcd6d - text "!" - done diff --git a/text/maps/OaksLab.asm b/text/maps/OaksLab.asm deleted file mode 100644 index 7a6f57b7..00000000 --- a/text/maps/OaksLab.asm +++ /dev/null @@ -1,477 +0,0 @@ -_OaksLabGaryText1:: - text ": Yo" - line "! Gramps" - cont "isn't around!" - done - -_OaksLabText40:: - text ": Heh, I" - line "don't need to be" - cont "greedy like you!" - - para "Go ahead and" - line "choose, !" - done - -_OaksLabText41:: - text ": My" - line "#MON looks a" - cont "lot stronger." - done - -_OaksLabText39:: - text "Those are #" - line "BALLs. They" - cont "contain #MON!" - done - -_OaksLabCharmanderText:: - text "So! You want the" - line "fire #MON," - cont "CHARMANDER?" - done - -_OaksLabSquirtleText:: - text "So! You want the" - line "water #MON," - cont "SQUIRTLE?" - done - -_OaksLabBulbasaurText:: - text "So! You want the" - line "plant #MON," - cont "BULBASAUR?" - done - -_OaksLabMonEnergeticText:: - text "This #MON is" - line "really energetic!" - prompt - -_OaksLabReceivedMonText:: - text " received" - line "a @" - TX_RAM wcd6d - text "!@@" - -_OaksLabLastMonText:: - text "That's PROF.OAK's" - line "last #MON!" - done - -_OaksLabText_1d2f0:: - text "OAK: Now, ," - line "which #MON do" - cont "you want?" - done - -_OaksLabText_1d2f5:: - text "OAK: If a wild" - line "#MON appears," - cont "your #MON can" - cont "fight against it!" - done - -_OaksLabText_1d2fa:: - text "OAK: ," - line "raise your young" - cont "#MON by making" - cont "it fight!" - done - -_OaksLabDeliverParcelText1:: - text "OAK: Oh, !" - - para "How is my old" - line "#MON?" - - para "Well, it seems to" - line "like you a lot." - - para "You must be" - line "talented as a" - cont "#MON trainer!" - - para "What? You have" - line "something for me?" - - para " delivered" - line "OAK's PARCEL.@@" - -_OaksLabDeliverParcelText2:: - text "" - para "Ah! This is the" - line "custom # BALL" - cont "I ordered!" - cont "Thank you!" - done - -_OaksLabAroundWorldText:: - text "#MON around the" - line "world wait for" - cont "you, !" - done - -_OaksLabGivePokeballsText1:: - text "OAK: You can't get" - line "detailed data on" - cont "#MON by just" - cont "seeing them." - - para "You must catch" - line "them! Use these" - cont "to capture wild" - cont "#MON." - - para " got 5" - line "# BALLs!@@" - -_OaksLabGivePokeballsText2:: - text "" - para "When a wild" - line "#MON appears," - cont "it's fair game." - - para "Just throw a #" - line "BALL at it and try" - line "to catch it!" - - para "This won't always" - line "work, though." - - para "A healthy #MON" - line "could escape. You" - cont "have to be lucky!" - done - -_OaksLabPleaseVisitText:: - text "OAK: Come see me" - line "sometimes." - - para "I want to know how" - line "your #DEX is" - cont "coming along." - done - -_OaksLabText_1d31d:: - text "OAK: Good to see " - line "you! How is your " - cont "#DEX coming? " - cont "Here, let me take" - cont "a look!" - prompt - -_OaksLabText_1d32c:: - text "It's encyclopedia-" - line "like, but the" - cont "pages are blank!" - done - -_OaksLabText8:: - text "?" - done - -_OaksLabText_1d340:: - text "PROF.OAK is the" - line "authority on" - cont "#MON!" - - para "Many #MON" - line "trainers hold him" - cont "in high regard!" - done - -_OaksLabRivalWaitingText:: - text ": Gramps!" - line "I'm fed up with" - cont "waiting!" - done - -_OaksLabChooseMonText:: - text "OAK: ?" - line "Let me think..." - - para "Oh, that's right," - line "I told you to" - cont "come! Just wait!" - - para "Here, !" - - para "There are 3" - line "#MON here!" - - para "Haha!" - - para "They are inside" - line "the # BALLs." - - para "When I was young," - line "I was a serious" - cont "#MON trainer!" - - para "In my old age, I" - line "have only 3 left," - cont "but you can have" - cont "one! Choose!" - done - -_OaksLabRivalInterjectionText:: - text ": Hey!" - line "Gramps! What" - cont "about me?" - done - -_OaksLabBePatientText:: - text "OAK: Be patient!" - line ", you can" - cont "have one too!" - done - -_OaksLabLeavingText:: - text "OAK: Hey! Don't go" - line "away yet!" - done - -_OaksLabRivalPickingMonText:: - text ": I'll take" - line "this one, then!" - done - -_OaksLabRivalReceivedMonText:: - text " received" - line "a @" - TX_RAM wcd6d - text "!@@" - -_OaksLabRivalChallengeText:: - text ": Wait" - line "!" - cont "Let's check out" - cont "our #MON!" - - para "Come on, I'll take" - line "you on!" - done - -_OaksLabText_1d3be:: - text "WHAT?" - line "Unbelievable!" - cont "I picked the" - cont "wrong #MON!" - prompt - -_OaksLabText_1d3c3:: - text ": Yeah! Am" - line "I great or what?" - prompt - -_OaksLabRivalToughenUpText:: - text ": Okay!" - line "I'll make my" - cont "#MON fight to" - cont "toughen it up!" - - para "! Gramps!" - line "Smell you later!" - done - -_OaksLabText21:: - text ": Gramps!" - done - -_OaksLabText22:: - text ": What did" - line "you call me for?" - done - -_OaksLabText23:: - text "OAK: Oh right! I" - line "have a request" - cont "of you two." - done - -_OaksLabText24:: - text "On the desk there" - line "is my invention," - cont "#DEX!" - - para "It automatically" - line "records data on" - cont "#MON you've" - cont "seen or caught!" - - para "It's a hi-tech" - line "encyclopedia!" - done - -_OaksLabText25:: - text "OAK: and" - line "! Take" - cont "these with you!" - - para " got" - line "#DEX from OAK!@@" - -_OaksLabText26:: - text "To make a complete" - line "guide on all the" - cont "#MON in the" - cont "world..." - - para "That was my dream!" - - para "But, I'm too old!" - line "I can't do it!" - - para "So, I want you two" - line "to fulfill my" - cont "dream for me!" - - para "Get moving, you" - line "two!" - - para "This is a great" - line "undertaking in" - cont "#MON history!" - done - -_OaksLabText27:: - text ": Alright" - line "Gramps! Leave it" - cont "all to me!" - - para ", I hate to" - line "say it, but I" - cont "don't need you!" - - para "I know! I'll" - line "borrow a TOWN MAP" - cont "from my sis!" - - para "I'll tell her not" - line "to lend you one," - cont "! Hahaha!" - done - -_OaksLabText_1d405:: - text "I study #MON as" - line "PROF.OAK's AIDE." - done - -_OaksLabText_441cc:: - text "#DEX comp-" - line "letion is:" - - para "@" - TX_NUM hDexRatingNumMonsSeen, 1, 3 - text " #MON seen" - line "@" - TX_NUM hDexRatingNumMonsOwned, 1, 3 - text " #MON owned" - - para "PROF.OAK's" - line "Rating:" - prompt - -_OaksLabText_44201:: - text "You still have" - line "lots to do." - cont "Look for #MON" - cont "in grassy areas!" - done - -_OaksLabText_44206:: - text "You're on the" - line "right track! " - cont "Get a FLASH HM" - cont "from my AIDE!" - done - -_OaksLabText_4420b:: - text "You still need" - line "more #MON!" - cont "Try to catch" - cont "other species!" - done - -_OaksLabText_44210:: - text "Good, you're" - line "trying hard!" - cont "Get an ITEMFINDER" - cont "from my AIDE!" - done - -_OaksLabText_44215:: - text "Looking good!" - line "Go find my AIDE" - cont "when you get 50!" - done - -_OaksLabText_4421a:: - text "You finally got at" - line "least 50 species!" - cont "Be sure to get" - cont "EXP.ALL from my" - cont "AIDE!" - done - -_OaksLabText_4421f:: - text "Ho! This is geting" - line "even better!" - done - -_OaksLabText_44224:: - text "Very good!" - line "Go fish for some" - cont "marine #MON!" - done - -_OaksLabText_44229:: - text "Wonderful!" - line "Do you like to" - cont "collect things?" - done - -_OaksLabText_4422e:: - text "I'm impressed!" - line "It must have been" - cont "difficult to do!" - done - -_OaksLabText_44233:: - text "You finally got at" - line "least 100 species!" - cont "I can't believe" - cont "how good you are!" - done - -_OaksLabText_44238:: - text "You even have the" - line "evolved forms of" - cont "#MON! Super!" - done - -_OaksLabText_4423d:: - text "Excellent! Trade" - line "with friends to" - cont "get some more!" - done - -_OaksLabText_44242:: - text "Outstanding!" - line "You've become a" - cont "real pro at this!" - done - -_OaksLabText_44247:: - text "I have nothing" - line "left to say!" - cont "You're the" - cont "authority now!" - done - -_OaksLabText_4424c:: - text "Your #DEX is" - line "entirely complete!" - cont "Congratulations!" - done diff --git a/text/maps/PalletTown.asm b/text/maps/PalletTown.asm deleted file mode 100644 index d5eda74f..00000000 --- a/text/maps/PalletTown.asm +++ /dev/null @@ -1,55 +0,0 @@ -_OakAppearsText:: - text "OAK: Hey! Wait!" - line "Don't go out!@@" - -_OakWalksUpText:: - text "OAK: It's unsafe!" - line "Wild #MON live" - cont "in tall grass!" - - para "You need your own" - line "#MON for your" - cont "protection." - cont "I know!" - - para "Here, come with" - line "me!" - done - -_PalletTownText2:: - text "I'm raising" - line "#MON too!" - - para "When they get" - line "strong, they can" - cont "protect me!" - done - -_PalletTownText3:: - text "Technology is" - line "incredible!" - - para "You can now store" - line "and recall items" - cont "and #MON as" - cont "data via PC!" - done - -_PalletTownText4:: - text "OAK #MON" - line "RESEARCH LAB" - done - -_PalletTownText5:: - text "PALLET TOWN" - line "Shades of your" - cont "journey await!" - done - -_PalletTownText6:: - text "'s house " - done - -_PalletTownText7:: - text "'s house " - done diff --git a/text/maps/PewterCity.asm b/text/maps/PewterCity.asm deleted file mode 100644 index 14240c9e..00000000 --- a/text/maps/PewterCity.asm +++ /dev/null @@ -1,117 +0,0 @@ -_PewterCityText1:: - text "It's rumored that" - line "CLEFAIRYs came" - cont "from the moon!" - - para "They appeared " - line "after MOON STONE" - cont "fell on MT.MOON." - done - -_PewterCityText2:: - text "There aren't many" - line "serious #MON" - cont "trainers here!" - - para "They're all like" - line "BUG CATCHERs," - cont "but PEWTER GYM's" - cont "BROCK is totally" - cont "into it!" - done - -_PewterCityText_193f1:: - text "Did you check out" - line "the MUSEUM?" - done - -_PewterCityText_193f6:: - text "Weren't those" - line "fossils from MT." - cont "MOON amazing?" - done - -_PewterCityText_193fb:: - text "Really?" - line "You absolutely" - cont "have to go!" - done - -_PewterCityText13:: - text "It's right here!" - line "You have to pay" - cont "to get in, but" - cont "it's worth it!" - cont "See you around!" - done - -_PewterCityText_19427:: - text "Psssst!" - line "Do you know what" - cont "I'm doing?" - done - -_PewterCityText_1942c:: - text "That's right!" - line "It's hard work!" - done - -_PewterCityText_19431:: - text "I'm spraying REPEL" - line "to keep #MON" - cont "out of my garden!" - done - -_PewterCityText_1945d:: - text "You're a trainer" - line "right? BROCK's" - cont "looking for new" - cont "challengers!" - cont "Follow me!" - done - -_PewterCityText14:: - text "If you have the" - line "right stuff, go" - cont "take on BROCK!" - done - -_PewterCityText6:: - text "TRAINER TIPS" - - para "Any #MON that" - line "takes part in" - cont "battle, however" - cont "short, earns EXP!" - done - -_PewterCityText7:: - text "NOTICE!" - - para "Thieves have been" - line "stealing #MON" - cont "fossils at MT." - cont "MOON! Please call" - cont "PEWTER POLICE" - cont "with any info!" - done - -_PewterCityText10:: - text "PEWTER MUSEUM" - line "OF SCIENCE" - done - -_PewterCityText11:: - text "PEWTER CITY" - line "#MON GYM" - cont "LEADER: BROCK" - - para "The Rock Solid" - line "#MON Trainer!" - done - -_PewterCityText12:: - text "PEWTER CITY" - line "A Stone Gray" - cont "City" - done diff --git a/text/maps/PewterGym.asm b/text/maps/PewterGym.asm deleted file mode 100644 index 6426dd72..00000000 --- a/text/maps/PewterGym.asm +++ /dev/null @@ -1,18 +0,0 @@ -_PewterGymText_5c49e:: - text "I'm BROCK!" - line "I'm PEWTER's GYM" - cont "LEADER!" - - para "I believe in rock" - line "hard defense and" - cont "determination!" - - para "That's why my" - line "#MON are all" - cont "the rock-type!" - - para "Do you still want" - line "to challenge me?" - cont "Fine then! Show" - cont "me your best!" - done diff --git a/text/maps/PewterGym_2.asm b/text/maps/PewterGym_2.asm deleted file mode 100644 index 5312e4f2..00000000 --- a/text/maps/PewterGym_2.asm +++ /dev/null @@ -1,144 +0,0 @@ -_PewterGymText_5c4a3:: - text "There are all" - line "kinds of trainers" - cont "in the world!" - - para "You appear to be" - line "very gifted as a" - cont "#MON trainer!" - - para "Go to the GYM in" - line "CERULEAN and test" - cont "your abilities!" - done - -_TM34PreReceiveText:: - text "Wait! Take this" - line "with you!" - done - -_ReceivedTM34Text:: - text " received" - line "TM34!@@" - -_TM34ExplanationText:: - text "" - - para "A TM contains a" - line "technique that" - cont "can be taught to" - cont "#MON!" - - para "A TM is good only" - line "once! So when you" - cont "use one to teach" - cont "a new technique," - cont "pick the #MON" - cont "carefully!" - - para "TM34 contains" - line "BIDE!" - - para "Your #MON will" - line "absorb damage in" - cont "battle then pay" - cont "it back double!" - done - -_TM34NoRoomText:: - text "You don't have" - line "room for this!" - done - -_PewterGymText_5c4bc:: - text "I took" - line "you for granted." - - para "As proof of your" - line "victory, here's" - cont "the BOULDERBADGE!" - - para " received" - line "the BOULDERBADGE!@@" - -_PewterGymText_5c4c1:: - text "" - - para "That's an official" - line "#MON LEAGUE" - cont "BADGE!" - - para "Its bearer's" - line "#MON become" - cont "more powerful!" - - para "The technique" - line "FLASH can now be" - cont "used any time!" - prompt - -_PewterGymBattleText1:: - text "Stop right there," - line "kid!" - - para "You're still light" - line "years from facing" - cont "BROCK!" - done - -_PewterGymEndBattleText1:: - text "Darn!" - - para "Light years isn't" - line "time! It measures" - cont "distance!" - prompt - -_PewterGymAfterBattleText1:: - text "You're pretty hot," - line "but not as hot" - cont "as BROCK!" - done - -_PewterGymText_5c515:: - text "Hiya! I can tell" - line "you have what it" - cont "takes to become a" - cont "#MON champ!" - - para "I'm no trainer," - line "but I can tell" - cont "you how to win!" - - para "Let me take you" - line "to the top!" - done - -_PewterGymText_5c51a:: - text "All right! Let's" - line "get happening!" - prompt - -_PewterGymText_5c51f:: - text "The 1st #MON" - line "out in a match is" - cont "at the top of the" - cont "#MON LIST!" - - para "By changing the" - line "order of #MON," - cont "matches could be" - cont "made easier!" - done - -_PewterGymText_5c524:: - text "It's a free" - line "service! Let's" - cont "get happening!" - prompt - -_PewterGymText_5c529:: - text "Just as I thought!" - line "You're #MON" - cont "champ material!" - done diff --git a/text/maps/PewterMart.asm b/text/maps/PewterMart.asm deleted file mode 100644 index 0d5b07a2..00000000 --- a/text/maps/PewterMart.asm +++ /dev/null @@ -1,17 +0,0 @@ -_PewterMartText2:: - text "A shady, old man" - line "got me to buy" - cont "this really weird" - cont "fish #MON!" - - para "It's totally weak" - line "and it cost ¥500!" - done - -_PewterMartText3:: - text "Good things can" - line "happen if you" - cont "raise #MON" - cont "diligently, even" - cont "the weak ones!" - done diff --git a/text/maps/PewterNidoranHouse.asm b/text/maps/PewterNidoranHouse.asm deleted file mode 100644 index 450e8372..00000000 --- a/text/maps/PewterNidoranHouse.asm +++ /dev/null @@ -1,24 +0,0 @@ -_PewterHouse1Text1:: - text "NIDORAN: Bowbow!@@" - -_PewterHouse1Text2:: - text "NIDORAN sit!" - done - -_PewterHouse1Text3:: - text "Our #MON's an" - line "outsider, so it's" - cont "hard to handle." - - para "An outsider is a" - line "#MON that you" - cont "get in a trade." - - para "It grows fast, but" - line "it may ignore an" - cont "unskilled trainer" - cont "in battle!" - - para "If only we had" - line "some BADGEs..." - done diff --git a/text/maps/PewterPokecenter.asm b/text/maps/PewterPokecenter.asm deleted file mode 100644 index 6a1b373e..00000000 --- a/text/maps/PewterPokecenter.asm +++ /dev/null @@ -1,14 +0,0 @@ -_PewterPokecenterText2:: - text "What!?" - - para "TEAM ROCKET is" - line "at MT.MOON? Huh?" - cont "I'm on the phone!" - - para "Scram!" - done - -_PewterJigglypuffText:: - text "JIGGLYPUFF: Puu" - line "pupuu!" - done diff --git a/text/maps/PewterSpeechHouse.asm b/text/maps/PewterSpeechHouse.asm deleted file mode 100644 index 615536f7..00000000 --- a/text/maps/PewterSpeechHouse.asm +++ /dev/null @@ -1,19 +0,0 @@ -_PewterHouse2Text1:: - text "#MON learn new" - line "techniques as" - cont "they grow!" - - para "But, some moves" - line "must be taught by" - cont "the trainer!" - done - -_PewterHouse2Text2:: - text "#MON become" - line "easier to catch" - cont "when they are" - cont "hurt or asleep!" - - para "But, it's not a" - line "sure thing!" - done diff --git a/text/maps/PokemonFanClub.asm b/text/maps/PokemonFanClub.asm deleted file mode 100644 index 4827f2e8..00000000 --- a/text/maps/PokemonFanClub.asm +++ /dev/null @@ -1,143 +0,0 @@ -PikachuFanText:: - text "Won't you admire" - line "my PIKACHU's" - cont "adorable tail?" - done - -PikachuFanBetterText:: - text "Humph! My PIKACHU" - line "is twice as cute" - cont "as that one!" - done - -SeelFanText:: - text "I just love my" - line "SEEL!" - - para "It squeals when I" - line "hug it!" - done - -SeelFanBetterText:: - text "Oh dear!" - - para "My SEEL is far" - line "more attractive!" - done - -FanClubPikachuText:: - text "PIKACHU: Chu!" - line "Pikachu!" - done - -FanClubSeelText:: - text "SEEL: Kyuoo!" - done - -FanClubMeetChairText:: - text "I chair the" - line "#MON Fan Club!" - - para "I have collected" - line "over 100 #MON!" - - para "I'm very fussy" - line "when it comes to" - cont "#MON!" - - para "So..." - - para "Did you come" - line "visit to hear" - cont "about my #MON?" - done - -FanClubChairStoryText:: - text "Good!" - line "Then listen up!" - - para "My favorite" - line "RAPIDASH..." - - para "It...cute..." - line "lovely...smart..." - cont "plus...amazing..." - cont "you think so?..." - cont "oh yes...it..." - cont "stunning..." - cont "kindly..." - cont "love it!" - - para "Hug it...when..." - cont "sleeping...warm" - cont "and cuddly..." - cont "spectacular..." - cont "ravishing..." - cont "...Oops! Look at" - cont "the time! I kept" - cont "you too long!" - - para "Thanks for hearing" - line "me out! I want" - cont "you to have this!" - prompt - -ReceivedBikeVoucherText:: - text " received" - line "a @" - TX_RAM wcf4b - text "!@@" - -ExplainBikeVoucherText:: - text "" - para "Exchange that for" - line "a BICYCLE!" - - para "Don't worry, my" - line "FEAROW will FLY" - cont "me anywhere!" - - para "So, I don't need a" - line "BICYCLE!" - - para "I hope you like" - line "cycling!" - done - -FanClubNoStoryText:: - text "Oh. Come back" - line "when you want to" - cont "hear my story!" - done - -FanClubChairFinalText:: - text "Hello, !" - - para "Did you come see" - line "me about my" - cont "#MON again?" - - para "No? Too bad!" - done - -FanClubBagFullText:: - text "Make room for" - line "this!" - done - -_FanClubText6:: - text "Our Chairman is" - line "very vocal about" - cont "#MON." - done - -_FanClubText7:: - text "Let's all listen" - line "politely to other" - cont "trainers!" - done - -_FanClubText8:: - text "If someone brags," - line "brag right back!" - done diff --git a/text/maps/PokemonMansion1F.asm b/text/maps/PokemonMansion1F.asm deleted file mode 100644 index a3c517fb..00000000 --- a/text/maps/PokemonMansion1F.asm +++ /dev/null @@ -1,29 +0,0 @@ -_Mansion1BattleText2:: - text "Who are you? There" - line "shouldn't be" - cont "anyone here." - done - -_Mansion1EndBattleText2:: - text "Ouch!" - prompt - -_Mansion1AfterBattleText2:: - text "A key? I don't" - line "know what you're" - cont "talking about." - done - -_MansionSwitchText:: - text "A secret switch!" - - para "Press it?" - done - -_MansionSwitchPressedText:: - text "Who wouldn't?" - prompt - -_MansionSwitchNotPressedText:: - text "Not quite yet!" - done diff --git a/text/maps/PokemonMansion2F.asm b/text/maps/PokemonMansion2F.asm deleted file mode 100644 index 378efb30..00000000 --- a/text/maps/PokemonMansion2F.asm +++ /dev/null @@ -1,47 +0,0 @@ -_Mansion2BattleText1:: - text "I can't get out!" - line "This old place is" - cont "one big puzzle!" - done - -_Mansion2EndBattleText1:: - text "Oh no!" - line "My bag of loot!" - prompt - -_Mansion2AfterBattleText1:: - text "Switches open and" - line "close alternating" - cont "sets of doors!" - done - -_Mansion2Text3:: - text "Diary: July 5" - line "Guyana," - cont "South America" - - para "A new #MON was" - line "discovered deep" - cont "in the jungle." - done - -_Mansion2Text4:: - text "Diary: July 10" - line "We christened the" - cont "newly discovered" - cont "#MON, MEW." - done - -_Mansion2Text_520c2:: - text "A secret switch!" - - para "Press it?" - done - -_Mansion2Text_520c7:: - text "Who wouldn't?" - prompt - -_Mansion2Text_520cc:: - text "Not quite yet!" - done diff --git a/text/maps/PokemonMansion3F.asm b/text/maps/PokemonMansion3F.asm deleted file mode 100644 index 70331fdf..00000000 --- a/text/maps/PokemonMansion3F.asm +++ /dev/null @@ -1,37 +0,0 @@ -_Mansion3BattleText1:: - text "This place is" - line "like, huge!" - done - -_Mansion3EndBattleText1:: - text "Ayah!" - prompt - -_Mansion3AfterBattleText1:: - text "I wonder where" - line "my partner went." - done - -_Mansion3BattleText2:: - text "My mentor once" - line "lived here." - done - -_Mansion3EndBattleText2:: - text "Whew!" - line "Overwhelming!" - prompt - -_Mansion3AfterBattleText2:: - text "So, you're stuck?" - line "Try jumping off" - cont "over there!" - done - -_Mansion3Text5:: - text "Diary: Feb. 6" - line "MEW gave birth." - - para "We named the" - line "newborn MEWTWO." - done diff --git a/text/maps/PokemonMansionB1F.asm b/text/maps/PokemonMansionB1F.asm deleted file mode 100644 index 1bc1ef89..00000000 --- a/text/maps/PokemonMansionB1F.asm +++ /dev/null @@ -1,39 +0,0 @@ -_Mansion4BattleText1:: - text "Uh-oh. Where am" - line "I now?" - done - -_Mansion4EndBattleText1:: - text "Awooh!" - prompt - -_Mansion4AfterBattleText1:: - text "You can find stuff" - line "lying around." - done - -_Mansion4BattleText2:: - text "This place is" - line "ideal for a lab." - done - -_Mansion4EndBattleText2:: - text "What" - line "was that for?" - prompt - -_Mansion4AfterBattleText2:: - text "I like it here!" - line "It's conducive to" - cont "my studies!" - done - -_Mansion4Text7:: - text "Diary; Sept. 1" - line "MEWTWO is far too" - cont "powerful." - - para "We have failed to" - line "curb its vicious" - cont "tendencies..." - done diff --git a/text/maps/PokemonTower1F.asm b/text/maps/PokemonTower1F.asm deleted file mode 100644 index 50a2cd29..00000000 --- a/text/maps/PokemonTower1F.asm +++ /dev/null @@ -1,31 +0,0 @@ -_PokemonTower1Text1:: - text "#MON TOWER was" - line "erected in the" - cont "memory of #MON" - cont "that had died." - done - -_PokemonTower1Text2:: - text "Did you come to" - line "pay respects?" - cont "Bless you!" - done - -_PokemonTower1Text3:: - text "I came to pray" - line "for my CLEFAIRY." - - para "Sniff! I can't" - line "stop crying..." - done - -_PokemonTower1Text4:: - text "My GROWLITHE..." - line "Why did you die?" - done - -_PokemonTower1Text5:: - text "I am a CHANNELER!" - line "There are spirits" - cont "up to mischief!" - done diff --git a/text/maps/PokemonTower2F.asm b/text/maps/PokemonTower2F.asm deleted file mode 100644 index 79323001..00000000 --- a/text/maps/PokemonTower2F.asm +++ /dev/null @@ -1,57 +0,0 @@ -_PokemonTower2Text_6062d:: - text ": Hey," - line "! What" - cont "brings you here?" - cont "Your #MON" - cont "don't look dead!" - - para "I can at least" - line "make them faint!" - cont "Let's go, pal!" - done - -_PokemonTower2Text_60632:: - text "What?" - line "You stinker!" - - para "I took it easy on" - line "you too!" - prompt - -_PokemonTower2Text_60637:: - text ": Well," - line "look at all your" - cont "wimpy #MON!" - - para "Toughen them up a" - line "bit more!" - prompt - -_PokemonTower2Text_6063c:: - text "How's your #DEX" - line "coming, pal?" - cont "I just caught a" - cont "CUBONE!" - - para "I can't find the" - line "grown-up MAROWAK" - cont "yet!" - - para "I doubt there are" - line "any left! Well, I" - cont "better get going!" - cont "I've got a lot to" - cont "accomplish, pal!" - - para "Smell ya later!" - done - -_PokemonTower2Text2:: - text "Even we could not" - line "identify the" - cont "wayward GHOSTs!" - - para "A SILPH SCOPE" - line "might be able to" - cont "unmask them." - done diff --git a/text/maps/PokemonTower3F.asm b/text/maps/PokemonTower3F.asm deleted file mode 100644 index 67098e6b..00000000 --- a/text/maps/PokemonTower3F.asm +++ /dev/null @@ -1,45 +0,0 @@ -_PokemonTower3BattleText1:: - text "Urrg...Awaa..." - line "Huhu...graa.." - done - -_PokemonTower3EndBattleText1:: - text "Hwa!" - line "I'm saved!" - prompt - -_PokemonTower3AfterBattleText1:: - text "The GHOSTs can be" - line "identified by the" - cont "SILPH SCOPE." - done - -_PokemonTower3BattleText2:: - text "Kekeke...." - line "Kwaaah!" - done - -_PokemonTower3EndBattleText2:: - text "Hmm?" - line "What am I doing?" - prompt - -_PokemonTower3AfterBattleText2:: - text "Sorry! I was" - line "possessed!" - done - -_PokemonTower3BattleText3:: - text "Be gone!" - line "Evil spirit!" - done - -_PokemonTower3EndBattleText3:: - text "Whew!" - line "The spirit left!" - prompt - -_PokemonTower3AfterBattleText3:: - text "My friends were" - line "possessed too!" - done diff --git a/text/maps/PokemonTower4F.asm b/text/maps/PokemonTower4F.asm deleted file mode 100644 index 771325a0..00000000 --- a/text/maps/PokemonTower4F.asm +++ /dev/null @@ -1,45 +0,0 @@ -_PokemonTower4BattleText1:: - text "GHOST! No!" - line "Kwaaah!" - done - -_PokemonTower4EndBattleText1:: - text "Where" - line "is the GHOST?" - prompt - -_PokemonTower4AfterBattleText1:: - text "I must have been" - line "dreaming..." - done - -_PokemonTower4BattleText2:: - text "Be cursed with" - line "me! Kwaaah!" - done - -_PokemonTower4EndBattleText2:: - text "What!" - prompt - -_PokemonTower4AfterBattleText2:: - text "We can't crack" - line "the identity of" - cont "the GHOSTs." - done - -_PokemonTower4BattleText3:: - text "Huhuhu..." - line "Beat me not!" - done - -_PokemonTower4EndBattleText3:: - text "Huh?" - line "Who? What?" - prompt - -_PokemonTower4AfterBattleText3:: - text "May the departed" - line "souls of #MON" - cont "rest in peace..." - done diff --git a/text/maps/PokemonTower5F.asm b/text/maps/PokemonTower5F.asm deleted file mode 100644 index b329118d..00000000 --- a/text/maps/PokemonTower5F.asm +++ /dev/null @@ -1,71 +0,0 @@ -_PokemonTower5Text1:: - text "Come, child! I" - line "sealed this space" - cont "with white magic!" - - para "You can rest here!" - done - -_PokemonTower5BattleText1:: - text "Give...me..." - line "your...soul..." - done - -_PokemonTower5EndBattleText1:: - text "Gasp!" - prompt - -_PokemonTower5AfterBattleText1:: - text "I was under" - line "possession!" - done - -_PokemonTower5BattleText2:: - text "You...shall..." - line "join...us..." - done - -_PokemonTower5EndBattleText2:: - text "What" - line "a nightmare!" - prompt - -_PokemonTower5AfterBattleText2:: - text "I was possessed!" - done - -_PokemonTower5BattleText3:: - text "Zombies!" - done - -_PokemonTower5EndBattleText3:: - text "Ha?" - prompt - -_PokemonTower5AfterBattleText3:: - text "I regained my" - line "senses!" - done - -_PokemonTower5BattleText4:: - text "Urgah..." - line "Urff...." - done - -_PokemonTower5EndBattleText4:: - text "Whoo!" - prompt - -_PokemonTower5AfterBattleText4:: - text "I fell to evil" - line "spirits despite" - cont "my training!" - done - -_PokemonTower5Text7:: - text "Entered purified," - line "protected zone!" - - para "'s #MON" - line "are fully healed!" - done diff --git a/text/maps/PokemonTower6F.asm b/text/maps/PokemonTower6F.asm deleted file mode 100644 index 7532d56d..00000000 --- a/text/maps/PokemonTower6F.asm +++ /dev/null @@ -1,61 +0,0 @@ -_PokemonTower2Text_60c1f:: - text "The GHOST was the" - line "restless soul of" - cont "CUBONE's mother!" - done - -_PokemonTower2Text_60c24:: - text "The mother's soul" - line "was calmed." - - para "It departed to" - line "the afterlife!" - done - -_PokemonTower6BattleText1:: - text "Give...me..." - line "blood..." - done - -_PokemonTower6EndBattleText1:: - text "Groan!" - prompt - -_PokemonTower6AfterBattleText1:: - text "I feel anemic and" - line "weak..." - done - -_PokemonTower6BattleText2:: - text "Urff... Kwaah!" - done - -_PokemonTower6EndBattleText2:: - text "Some-" - line "thing fell out!" - prompt - -_PokemonTower6AfterBattleText2:: - text "Hair didn't fall" - line "out! It was an" - cont "evil spirit!" - done - -_PokemonTower6BattleText3:: - text "Ke..ke...ke..." - line "ke..ke...ke!!" - done - -_PokemonTower6EndBattleText3:: - text "Keee!" - prompt - -_PokemonTower6AfterBattleText3:: - text "What's going on" - line "here?" - done - -_PokemonTower6Text6:: - text "Be gone..." - line "Intruders..." - done diff --git a/text/maps/PokemonTower7F.asm b/text/maps/PokemonTower7F.asm deleted file mode 100644 index 704a71eb..00000000 --- a/text/maps/PokemonTower7F.asm +++ /dev/null @@ -1,78 +0,0 @@ -_TowerRescueFujiText:: - text "MR.FUJI: Heh? You" - line "came to save me?" - - para "Thank you. But, I" - line "came here of my" - cont "own free will." - - para "I came to calm" - line "the soul of" - cont "CUBONE's mother." - - para "I think MAROWAK's" - line "spirit has gone" - cont "to the afterlife." - - para "I must thank you" - line "for your kind" - cont "concern!" - - para "Follow me to my" - line "home, #MON" - cont "HOUSE at the foot" - cont "of this tower." - done - -_PokemonTower7BattleText1:: - text "What do you want?" - line "Why are you here?" - done - -_PokemonTower7EndBattleText1:: - text "I give up!" - prompt - -_PokemonTower7AfterBattleText1:: - text "I'm not going to" - line "forget this!" - done - -_PokemonTower7BattleText2:: - text "This old guy came" - line "and complained" - cont "about us harming" - cont "useless #MON!" - - para "We're talking it" - line "over as adults!" - done - -_PokemonTower7EndBattleText2:: - text "Please!" - line "No more!" - prompt - -_PokemonTower7AfterBattleText2:: - text "#MON are only" - line "good for making" - cont "money!" - - para "Stay out of our" - line "business!" - done - -_PokemonTower7BattleText3:: - text "You're not saving" - line "anyone, kid!" - done - -_PokemonTower7EndBattleText3:: - text "Don't" - line "fight us ROCKETs!" - prompt - -_PokemonTower7AfterBattleText3:: - text "You're not getting" - line "away with this!" - done diff --git a/text/maps/PowerPlant.asm b/text/maps/PowerPlant.asm deleted file mode 100644 index e5df6674..00000000 --- a/text/maps/PowerPlant.asm +++ /dev/null @@ -1,6 +0,0 @@ -_VoltorbBattleText:: - text "Bzzzt!" - done - -_ZapdosBattleText:: - text "Gyaoo!@@" diff --git a/text/maps/RedsHouse1F.asm b/text/maps/RedsHouse1F.asm deleted file mode 100644 index 07768af9..00000000 --- a/text/maps/RedsHouse1F.asm +++ /dev/null @@ -1,37 +0,0 @@ -_MomWakeUpText:: - text "MOM: Right." - line "All boys leave" - cont "home some day." - cont "It said so on TV." - - para "PROF.OAK, next" - line "door, is looking" - cont "for you." - done - -_MomHealText1:: - text "MOM: !" - line "You should take a" - cont "quick rest." - prompt - -_MomHealText2:: - text "MOM: Oh good!" - line "You and your" - cont "#MON are" - cont "looking great!" - cont "Take care now!" - done - -_StandByMeText:: - text "There's a movie" - line "on TV. Four boys" - cont "are walking on" - cont "railroad tracks." - - para "I better go too." - done - -_TVWrongSideText:: - text "Oops, wrong side." - done diff --git a/text/maps/RockTunnel1F.asm b/text/maps/RockTunnel1F.asm deleted file mode 100644 index 472c52f8..00000000 --- a/text/maps/RockTunnel1F.asm +++ /dev/null @@ -1,115 +0,0 @@ -_RockTunnel1BattleText1:: - text "This tunnel goes" - line "a long way, kid!" - done - -_RockTunnel1EndBattleText1:: - text "Doh!" - line "You win!" - prompt - -_RockTunnel1AfterBattleText1:: - text "Watch for ONIX!" - line "It can put the" - cont "squeeze on you!" - done - -_RockTunnel1BattleText2:: - text "Hmm. Maybe I'm" - line "lost in here..." - done - -_RockTunnel1EndBattleText2:: - text "Ease up!" - line "What am I doing?" - cont "Which way is out?" - prompt - -_RockTunnel1AfterBattleText2:: - text "That sleeping" - line "#MON on ROUTE" - cont "12 forced me to" - cont "take this detour." - done - -_RockTunnel1BattleText3:: - text "Outsiders like" - line "you need to show" - cont "me some respect!" - done - -_RockTunnel1EndBattleText3:: - text "I give!" - prompt - -_RockTunnel1AfterBattleText3:: - text "You're talented" - line "enough to hike!" - done - -_RockTunnel1BattleText4:: - text "#MON fight!" - line "Ready, go!" - done - -_RockTunnel1EndBattleText4:: - text "Game" - line "over!" - prompt - -_RockTunnel1AfterBattleText4:: - text "Oh well, I'll get" - line "a ZUBAT as I go!" - done - -_RockTunnel1BattleText5:: - text "Eek! Don't try" - line "anything funny in" - cont "the dark!" - done - -_RockTunnel1EndBattleText5:: - text "It" - line "was too dark!" - prompt - -_RockTunnel1AfterBattleText5:: - text "I saw a MACHOP" - line "in this tunnel!" - done - -_RockTunnel1BattleText6:: - text "I came this far" - line "for #MON!" - done - -_RockTunnel1EndBattleText6:: - text "I'm" - line "out of #MON!" - prompt - -_RockTunnel1AfterBattleText6:: - text "You looked cute" - line "and harmless!" - done - -_RockTunnel1BattleText7:: - text "You have #MON!" - line "Let's start!" - done - -_RockTunnel1EndBattleText7:: - text "You" - line "play hard!" - prompt - -_RockTunnel1AfterBattleText7:: - text "Whew! I'm all" - line "sweaty now!" - done - -_RockTunnel1Text8:: - text "ROCK TUNNEL" - line "CERULEAN CITY -" - cont "LAVENDER TOWN" - done diff --git a/text/maps/RockTunnelB1F.asm b/text/maps/RockTunnelB1F.asm deleted file mode 100644 index 1a565eb3..00000000 --- a/text/maps/RockTunnelB1F.asm +++ /dev/null @@ -1,108 +0,0 @@ -_RockTunnel2BattleText2:: - text "Hikers leave twigs" - line "as trail markers." - done - -_RockTunnel2EndBattleText2:: - text "Ohhh!" - line "I did my best!" - prompt - -_RockTunnel2AfterBattleText2:: - text "I want to go " - line "home!" - done - -_RockTunnel2BattleText3:: - text "Hahaha! Can you" - line "beat my power?" - done - -_RockTunnel2EndBattleText3:: - text "Oops!" - line "Out-muscled!" - prompt - -_RockTunnel2AfterBattleText3:: - text "I go for power" - line "because I hate" - cont "thinking!" - done - -_RockTunnel2BattleText4:: - text "You have a" - line "#DEX?" - cont "I want one too!" - done - -_RockTunnel2EndBattleText4:: - text "Shoot!" - line "I'm so jealous!" - prompt - -_RockTunnel2AfterBattleText4:: - text "When you finish" - line "your #DEX, can" - cont "I have it?" - done - -_RockTunnel2BattleText5:: - text "Do you know about" - line "costume players?" - done - -_RockTunnel2EndBattleText5:: - text "Well," - line "that's that." - prompt - -_RockTunnel2AfterBattleText5:: - text "Costume players" - line "dress up as" - cont "#MON for fun." - done - -_RockTunnel2BattleText6:: - text "My #MON" - line "techniques will" - cont "leave you crying!" - done - -_RockTunnel2EndBattleText6:: - text "I give!" - line "You're a better" - cont "technician!" - prompt - -_RockTunnel2AfterBattleText6:: - text "In mountains," - line "you'll often find" - cont "rock-type #MON." - done - -_RockTunnel2BattleText7:: - text "I don't often" - line "come here, but I" - cont "will fight you." - done - -_RockTunnel2EndBattleText7:: - text "Oh!" - line "I lost!" - prompt - -_RockTunnel2AfterBattleText7:: - text "I like tiny" - line "#MON, big ones" - cont "are too scary!" - done - -_RockTunnel2BattleText8:: - text "Hit me with your" - line "best shot!" - done - -_RockTunnel2EndBattleText8:: - text "Fired" - line "away!" - prompt diff --git a/text/maps/RockTunnelB1F_2.asm b/text/maps/RockTunnelB1F_2.asm deleted file mode 100644 index e8e45a7f..00000000 --- a/text/maps/RockTunnelB1F_2.asm +++ /dev/null @@ -1,20 +0,0 @@ -_RockTunnel2AfterBattleText8:: - text "I'll raise my" - line "#MON to beat" - cont "yours, kid!" - done - -_RockTunnel2BattleText9:: - text "I draw #MON" - line "when I'm home." - done - -_RockTunnel2EndBattleText9:: - text "Whew!" - line "I'm exhausted!" - prompt - -_RockTunnel2AfterBattleText9:: - text "I'm an artist," - line "not a fighter." - done diff --git a/text/maps/RockTunnelPokecenter.asm b/text/maps/RockTunnelPokecenter.asm deleted file mode 100644 index 0fc249ff..00000000 --- a/text/maps/RockTunnelPokecenter.asm +++ /dev/null @@ -1,13 +0,0 @@ -_RockTunnelPokecenterText2:: - text "The element types" - line "of #MON make" - cont "them stronger" - cont "than some types" - cont "and weaker than" - cont "others!" - done - -_RockTunnelPokecenterText3:: - text "I sold a useless" - line "NUGGET for ¥5000!" - done diff --git a/text/maps/RocketHideoutB1F.asm b/text/maps/RocketHideoutB1F.asm deleted file mode 100644 index 36117804..00000000 --- a/text/maps/RocketHideoutB1F.asm +++ /dev/null @@ -1,73 +0,0 @@ -_RocketHideout1EndBattleText6:: - text "Why...?@@" - -_RocketHideout1BattleText2:: - text "Who are you? How" - line "did you get here?" - done - -_RocketHideout1EndBattleText2:: - text "Oww!" - line "Beaten!" - prompt - -_RocketHideout1AfterBattleTxt2:: - text "Are you dissing" - line "TEAM ROCKET?" - done - -_RocketHideout1BattleText3:: - text "You broke into" - line "our operation?" - done - -_RocketHideout1EndBattleText3:: - text "Burnt!" - prompt - -_RocketHideout1AfterBattleTxt3:: - text "You're not going" - line "to get away with" - cont "this, brat!" - done - -_RocketHideout1BattleText4:: - text "Intruder alert!" - done - -_RocketHideout1EndBattleText4:: - text "I" - line "can't do it!" - prompt - -_RocketHideout1AfterBattleTxt4:: - text "SILPH SCOPE?" - line "I don't know" - cont "where it is!" - done - -_RocketHideout1BattleText5:: - text "Why did you come" - line "here?" - done - -_RocketHideout1EndBattleText5:: - text "This" - line "won't do!" - prompt - -_RocketHideout1AfterBattleTxt5:: - text "OK, I'll talk!" - line "Take the elevator" - cont "to see my BOSS!" - done - -_RocketHideout1BattleText6:: - text "Are you lost, you" - line "little rat?" - done - -_RocketHideout1AfterBattleTxt6:: - text "Uh-oh, that fight" - line "opened the door!" - done diff --git a/text/maps/RocketHideoutB2F.asm b/text/maps/RocketHideoutB2F.asm deleted file mode 100644 index c13c3593..00000000 --- a/text/maps/RocketHideoutB2F.asm +++ /dev/null @@ -1,17 +0,0 @@ -_RocketHideout2BattleText2:: - text "BOSS said you can" - line "see GHOSTs with" - cont "the SILPH SCOPE!" - done - -_RocketHideout2EndBattleText2:: - text "I" - line "surrender!" - prompt - -_RocketHideout2AfterBattleTxt2:: - text "The TEAM ROCKET" - line "HQ has 4 basement" - cont "floors. Can you" - cont "reach the BOSS?" - done diff --git a/text/maps/RocketHideoutB3F.asm b/text/maps/RocketHideoutB3F.asm deleted file mode 100644 index a146a383..00000000 --- a/text/maps/RocketHideoutB3F.asm +++ /dev/null @@ -1,35 +0,0 @@ -_RocketHideout3BattleText2:: - text "Stop meddling in" - line "TEAM ROCKET's" - cont "affairs!" - done - -_RocketHideout3EndBattleText2:: - text "Oof!" - line "Taken down!" - prompt - -_RocketHideout3AfterBattleTxt2:: - text "SILPH SCOPE?" - line "The machine the" - cont "BOSS stole. It's" - cont "here somewhere." - done - -_RocketHideout3BattleTxt:: - text "We got word from" - line "upstairs that you" - cont "were coming!" - done - -_RocketHideout3EndBattleText3:: - text "What?" - line "I lost? No!" - prompt - -_RocketHide3AfterBattleText3:: - text "Go ahead and go!" - line "But, you need the" - cont "LIFT KEY to run" - cont "the elevator!" - done diff --git a/text/maps/RocketHideoutB4F.asm b/text/maps/RocketHideoutB4F.asm deleted file mode 100644 index f3ba43f3..00000000 --- a/text/maps/RocketHideoutB4F.asm +++ /dev/null @@ -1,74 +0,0 @@ -_RocketHideout4Text_4557a:: - text "So! I must say, I" - line "am impressed you" - cont "got here!" - done - -_RocketHideout4Text_4557f:: - text "WHAT!" - line "This cannot be!" - prompt - -_RocketHideout4Text_45584:: - text "I see that you" - line "raise #MON" - cont "with utmost care." - - para "A child like you" - line "would never" - cont "understand what I" - cont "hope to achieve." - - para "I shall step" - line "aside this time!" - - para "I hope we meet" - line "again..." - done - -_RocketHideout4BattleText2:: - text "I know you! You" - line "ruined our plans" - cont "at MT.MOON!" - done - -_RocketHideout4EndBattleText2:: - text "Burned" - line "again!" - prompt - -_RocketHide4AfterBattleText2:: - text "Do you have" - line "something against" - cont "TEAM ROCKET?" - done - -_RocketHideout4BattleText3:: - text "How can you not" - line "see the beauty of" - cont "our evil?" - done - -_RocketHideout4EndBattleText3:: - text "Ayaya!" - prompt - -_RocketHide4AfterBattleText3:: - text "BOSS! I'm sorry I" - line "failed you!" - done - -_RocketHideout4BattleText4:: - text "The elevator" - line "doesn't work? Who" - cont "has the LIFT KEY?" - done - -_RocketHideout4EndBattleText4:: - text "No!" - prompt - -_RocketHideout4Text_455ec:: - text "Oh no! I dropped" - line "the LIFT KEY!" - done diff --git a/text/maps/RocketHideoutElevator.asm b/text/maps/RocketHideoutElevator.asm deleted file mode 100644 index 6f2aa638..00000000 --- a/text/maps/RocketHideoutElevator.asm +++ /dev/null @@ -1,3 +0,0 @@ -_RocketElevatorText_4578b:: - text "It appears to" - line "need a key.@@" diff --git a/text/maps/Route1.asm b/text/maps/Route1.asm deleted file mode 100644 index 73188f09..00000000 --- a/text/maps/Route1.asm +++ /dev/null @@ -1,49 +0,0 @@ -_Route1ViridianMartSampleText:: - text "Hi! I work at a" - line "#MON MART." - - para "It's a convenient" - line "shop, so please" - cont "visit us in" - cont "VIRIDIAN CITY." - - para "I know, I'll give" - line "you a sample!" - cont "Here you go!" - prompt - -_Route1Text_1cae8:: - text " got" - line "@" - TX_RAM wcf4b - text "!@@" - -_Route1Text_1caee:: - text "We also carry" - line "# BALLs for" - cont "catching #MON!" - done - -_Route1Text_1caf3:: - text "You have too much" - line "stuff with you!" - done - -_Route1Text2:: - text "See those ledges" - line "along the road?" - - para "It's a bit scary," - line "but you can jump" - cont "from them." - - para "You can get back" - line "to PALLET TOWN" - cont "quicker that way." - done - -_Route1Text3:: - text "ROUTE 1" - line "PALLET TOWN -" - cont "VIRIDIAN CITY" - done diff --git a/text/maps/Route10.asm b/text/maps/Route10.asm deleted file mode 100644 index 057ddcb5..00000000 --- a/text/maps/Route10.asm +++ /dev/null @@ -1,109 +0,0 @@ -_Route10BattleText1:: - text "Wow, are you a" - line "#MANIAC too?" - cont "Want to see my" - cont "collection?" - done - -_Route10EndBattleText1:: - text "Humph." - line "I'm not angry!" - prompt - -_Route10AfterBattleText1:: - text "I have more rare" - line "#MON at home!" - done - -_Route10BattleText2:: - text "Ha-hahah-ah-ha!" - done - -_Route10EndBattleText2:: - text "Ha-haha!" - line "Not laughing!" - cont "Ha-hay fever!" - cont "Haha-ha-choo!" - prompt - -_Route10AfterBattleText2:: - text "Haha-ha-choo!" - line "Ha-choo!" - cont "Snort! Snivel!" - done - -_Route10BattleText3:: - text "Hi kid, want to" - line "see my #MON?" - done - -_Route10EndBattleText3:: - text "Oh no!" - line "My #MON!" - prompt - -_Route10AfterBattleText3:: - text "I don't like you" - line "for beating me!" - done - -_Route10BattleText4:: - text "I've been to a" - line "#MON GYM a few" - cont "times. But, I" - cont "lost each time." - done - -_Route10EndBattleText4:: - text "Ohh!" - line "Blew it again!" - prompt - -_Route10AfterBattleText4:: - text "I noticed some" - line "#MANIACs" - cont "prowling around." - done - -_Route10BattleText5:: - text "Ah! This mountain" - line "air is delicious!" - done - -_Route10EndBattleText5:: - text "That" - line "cleared my head!" - prompt - -_Route10AfterBattleText5:: - text "I feel bloated on" - line "mountain air!" - done - -_Route10BattleText6:: - text "I'm feeling a bit" - line "faint from this" - cont "tough hike." - done - -_Route10EndBattleText6:: - text "I'm" - line "not up to it!" - prompt - -_Route10AfterBattleText6:: - text "The #MON here" - line "are so chunky!" - cont "There should be a" - cont "pink one with a" - cont "floral pattern!" - done - -_Route10Text9:: -_Route10Text7:: - text "ROCK TUNNEL" - done - -_Route10Text10:: - text "POWER PLANT" - done diff --git a/text/maps/Route11.asm b/text/maps/Route11.asm deleted file mode 100644 index 13e37bdf..00000000 --- a/text/maps/Route11.asm +++ /dev/null @@ -1,133 +0,0 @@ -_Route11BattleText1:: - text "Win, lose or draw!" - done - -_Route11EndBattleText1:: - text "Atcha!" - line "Didn't go my way!" - prompt - -_Route11AfterBattleText1:: - text "#MON is life!" - line "And to live is to" - cont "gamble!" - done - -_Route11BattleText2:: - text "Competition! I" - line "can't get enough!" - done - -_Route11EndBattleText2:: - text "I had" - line "a chance!" - prompt - -_Route11AfterBattleText2:: - text "You can't be a" - line "coward in the" - cont "world of #MON!" - done - -_Route11BattleText3:: - text "Let's go, but" - line "don't cheat!" - done - -_Route11EndBattleText3:: - text "Huh?" - line "That's not right!" - prompt - -_Route11AfterBattleText3:: - text "I did my best! I" - line "have no regrets!" - done - -_Route11BattleText4:: - text "Careful!" - line "I'm laying down" - cont "some cables!" - done - -_Route11EndBattleText4:: - text "That" - line "was electric!" - prompt - -_Route11AfterBattleText4:: - text "Spread the word" - line "to save energy!" - done - -_Route11BattleText5:: - text "I just became a" - line "trainer! But, I" - cont "think I can win!" - done - -_Route11EndBattleText5:: - text "My" - line "#MON couldn't!" - prompt - -_Route11AfterBattleText5:: - text "What do you want?" - line "Leave me alone!" - done - -_Route11BattleText6:: - text "Fwahaha! I have" - line "never lost!" - done - -_Route11EndBattleText6:: - text "My" - line "first loss!" - prompt - -_Route11AfterBattleText6:: - text "Luck of the draw!" - line "Just luck!" - done - -_Route11BattleText7:: - text "I have never won" - line "before..." - done - -_Route11EndBattleText7:: - text "I saw" - line "this coming..." - prompt - -_Route11AfterBattleText7:: - text "It's just luck." - line "Luck of the draw." - done - -_Route11BattleText8:: - text "I'm the best in" - line "my class!" - done - -_Route11EndBattleText8:: - text "Darn!" - line "I need to make my" - cont "#MON stronger!" - prompt - -_Route11AfterBattleText8:: - text "There's a fat" - line "#MON that" - cont "comes down from" - cont "the mountains." - - para "It's strong if" - line "you can get it." - done - -_Route11BattleText9:: - text "Watch out for" - line "live wires!" - done diff --git a/text/maps/Route11Gate1F.asm b/text/maps/Route11Gate1F.asm deleted file mode 100644 index ef371d06..00000000 --- a/text/maps/Route11Gate1F.asm +++ /dev/null @@ -1,14 +0,0 @@ -_Route11GateText1:: - text "When you catch" - line "lots of #MON," - cont "isn't it hard to" - cont "think up names?" - - para "In LAVENDER TOWN," - line "there's a man who" - cont "rates #MON" - cont "nicknames." - - para "He'll help you" - line "rename them too!" - done diff --git a/text/maps/Route11Gate2F.asm b/text/maps/Route11Gate2F.asm deleted file mode 100644 index 10236081..00000000 --- a/text/maps/Route11Gate2F.asm +++ /dev/null @@ -1,40 +0,0 @@ -_Route11GateUpstairsText_494a3:: - text "There are items on" - line "the ground that" - cont "can't be seen." - - para "ITEMFINDER will" - line "detect an item" - cont "close to you." - - para "It can't pinpoint" - line "it, so you have" - cont "to look yourself!" - done - -_BinocularsSnorlaxText:: - text "Looked into the" - line "binoculars." - - para "A big #MON is" - line "asleep on a road!" - done - -_BinocularsNoSnorlaxText:: - text "Looked into the" - line "binoculars." - - para "It's a beautiful" - line "view!" - done - -_Route11GateUpstairsText_494d5:: - text "Looked into the" - line "binoculars." - - para "The only way to" - line "get from CERULEAN" - cont "CITY to LAVENDER" - cont "is by way of the" - cont "ROCK TUNNEL." - done diff --git a/text/maps/Route11_2.asm b/text/maps/Route11_2.asm deleted file mode 100644 index b9b68d6d..00000000 --- a/text/maps/Route11_2.asm +++ /dev/null @@ -1,28 +0,0 @@ -_Route11EndBattleText9:: - text "Whoa!" - line "You spark plug!" - prompt - -_Route11AfterBattleText9:: - text "Well, better get" - line "back to work." - done - -_Route11BattleText10:: - text "My #MON should" - line "be ready by now!" - done - -_Route11EndBattleText10:: - text "Too" - line "much, too young!" - prompt - -_Route11AfterBattleText10:: - text "I better go find" - line "stronger ones!" - done - -_Route11Text11:: - text "DIGLETT's CAVE" - done diff --git a/text/maps/Route12.asm b/text/maps/Route12.asm deleted file mode 100644 index 82696fda..00000000 --- a/text/maps/Route12.asm +++ /dev/null @@ -1,139 +0,0 @@ -_Route12Text1:: - text "A sleeping #MON" - line "blocks the way!" - done - -_Route12Text13:: - text "SNORLAX woke up!" - - para "It attacked in a" - line "grumpy rage!" - done - -_Route12Text14:: - text "SNORLAX calmed" - line "down! With a big" - cont "yawn, it returned" - cont "to the mountains!" - done - -_Route12BattleText1:: - text "Yeah! I got a" - line "bite, here!" - done - -_Route12EndBattleText1:: - text "Tch!" - line "Just a small fry!" - prompt - -_Route12AfterBattleText1:: - text "Hang on! My line's" - line "snagged!" - done - -_Route12BattleText2:: - text "Be patient!" - line "Fishing is a" - cont "waiting game!" - done - -_Route12EndBattleText2:: - text "That" - line "one got away!" - prompt - -_Route12AfterBattleText2:: - text "With a better ROD," - line "I could catch" - cont "better #MON!" - done - -_Route12BattleText3:: - text "Have you found a" - line "MOON STONE?" - done - -_Route12EndBattleText3:: - text "Oww!" - prompt - -_Route12AfterBattleText3:: - text "I could have made" - line "my #MON evolve" - cont "with MOON STONE!" - done - -_Route12BattleText4:: - text "Electricity is my" - line "specialty!" - done - -_Route12EndBattleText4:: - text "Unplugged!" - prompt - -_Route12AfterBattleText4:: - text "Water conducts" - line "electricity, so" - cont "you should zap" - cont "sea #MON!" - done - -_Route12BattleText5:: - text "The FISHING FOOL" - line "vs. #MON KID!" - done - -_Route12EndBattleText5:: - text "Too" - line "much!" - prompt - -_Route12AfterBattleText5:: - text "You beat me at" - line "#MON, but I'm" - cont "good at fishing!" - done - -_Route12BattleText6:: - text "I'd rather be" - line "working!" - done - -_Route12EndBattleText6:: - text "It's" - line "not easy..." - prompt - -_Route12AfterBattleText6:: - text "It's all right." - line "Losing doesn't" - cont "bug me any more." - done - -_Route12BattleText7:: - text "You never know" - line "what you could" - cont "catch!" - done - -_Route12EndBattleText7:: - text "Lost" - line "it!" - prompt - -_Route12AfterBattleText7:: - text "I catch MAGIKARP" - line "all the time, but" - cont "they're so weak!" - done - -_Route12Text11:: - text "ROUTE 12 " - line "North to LAVENDER" - done - -_Route12Text12:: - text "SPORT FISHING AREA" - done diff --git a/text/maps/Route12Gate1F.asm b/text/maps/Route12Gate1F.asm deleted file mode 100644 index 51d75539..00000000 --- a/text/maps/Route12Gate1F.asm +++ /dev/null @@ -1,4 +0,0 @@ -_Route12GateText1:: - text "There's a lookout" - line "spot upstairs." - done diff --git a/text/maps/Route12Gate2F.asm b/text/maps/Route12Gate2F.asm deleted file mode 100644 index 95a89527..00000000 --- a/text/maps/Route12Gate2F.asm +++ /dev/null @@ -1,42 +0,0 @@ -_TM39PreReceiveText:: - text "My #MON's" - line "ashes are stored" - cont "in #MON TOWER." - - para "You can have this" - line "TM. I don't need" - cont "it any more..." - prompt - -_ReceivedTM39Text:: - text " received" - line "TM39!@@" - -_TM39ExplanationText:: - text "TM39 is a move" - line "called SWIFT." - - para "It's very accurate," - line "so use it during" - cont "battles you can't" - cont "afford to lose." - done - -_TM39NoRoomText:: - text "You don't have" - line "room for this." - done - -_Route12GateUpstairsText_495b8:: - text "Looked into the" - line "binoculars." - - para "A man fishing!" - done - -_Route12GateUpstairsText_495c4:: - text "Looked into the" - line "binoculars." - - para "It's #MON TOWER!" - done diff --git a/text/maps/Route12SuperRodHouse.asm b/text/maps/Route12SuperRodHouse.asm deleted file mode 100644 index 7dfaa74f..00000000 --- a/text/maps/Route12SuperRodHouse.asm +++ /dev/null @@ -1,61 +0,0 @@ -_Route12HouseText_564c0:: - text "I'm the FISHING" - line "GURU's brother!" - - para "I simply Looove" - line "fishing!" - - para "Do you like to" - line "fish?" - done - -_Route12HouseText_564c5:: - text "Grand! I like" - line "your style!" - - para "Take this and" - line "fish, young one!" - - para " received" - line "a @" - TX_RAM wcf4b - text "!@@" - -_Route12HouseText_564ca:: - text "" - - para "Fishing is a way" - line "of life!" - - para "From the seas to" - line "rivers, go out" - cont "and land the big" - cont "one!" - done - -_Route12HouseText_564cf:: - text "Oh... That's so" - line "disappointing..." - done - -_Route12HouseText_564d4:: - text "Hello there," - line "!" - - para "Use the SUPER ROD" - line "in any water!" - cont "You can catch" - cont "different kinds" - cont "of #MON." - - para "Try fishing" - line "wherever you can!" - done - -_Route12HouseText_564d9:: - text "Oh no!" - - para "I had a gift for" - line "you, but you have" - cont "no room for it!" - done diff --git a/text/maps/Route13.asm b/text/maps/Route13.asm deleted file mode 100644 index e2718919..00000000 --- a/text/maps/Route13.asm +++ /dev/null @@ -1,179 +0,0 @@ -_Route13BattleText2:: - text "My bird #MON" - line "want to scrap!" - done - -_Route13EndBattleText2:: - text "My" - line "bird combo lost?" - prompt - -_Route13AfterBattleText2:: - text "My #MON look" - line "happy even though" - cont "they lost." - done - -_Route13BattleText3:: - text "I'm told I'm good" - line "for a kid!" - done - -_Route13EndBattleText3:: - text "Ohh!" - line "I lost!" - prompt - -_Route13AfterBattleText3:: - text "I want to become" - line "a good trainer." - cont "I'll train hard." - done - -_Route13BattleText4:: - text "Wow! Your BADGEs" - line "are too cool!" - done - -_Route13EndBattleText4:: - text "Not" - line "enough!" - prompt - -_Route13AfterBattleText4:: - text "You got those" - line "BADGEs from GYM" - cont "LEADERs. I know!" - done - -_Route13BattleText5:: - text "My cute #MON" - line "wish to make your" - cont "acquaintance." - done - -_Route13EndBattleText5:: - text "Wow!" - line "You totally won!" - prompt - -_Route13AfterBattleText5:: - text "You have to make" - line "#MON fight to" - cont "toughen them up!" - done - -_Route13BattleText6:: - text "I found CARBOS in" - line "a cave once." - done - -_Route13EndBattleText6:: - text "Just" - line "messed up!" - prompt - -_Route13AfterBattleText6:: - text "CARBOS boosted" - line "the SPEED of my" - cont "#MON." - done - -_Route13BattleText7:: - text "The wind's blowing" - line "my way!" - done - -_Route13EndBattleText7:: - text "The" - line "wind turned!" - prompt - -_Route13AfterBattleText7:: - text "I'm beat. I guess" - line "I'll FLY home." - done - -_Route13BattleText8:: - text "Sure, I'll play" - line "with you!" - done - -_Route13EndBattleText8:: - text "Oh!" - line "You little brute!" - prompt - -_Route13AfterBattleText8:: - text "I wonder which is" - line "stronger, male or" - cont "female #MON?" - done - -_Route13BattleText9:: - text "Do you want to" - line "#MON with me?" - done - -_Route13EndBattleText9:: - text "It's over" - line "already?" - prompt - -_Route13AfterBattleText9:: - text "I don't know" - line "anything about" - cont "#MON. I just" - cont "like cool ones!" - done - -_Route13BattleText10:: - text "What're you" - line "lookin' at?" - done - -_Route13EndBattleText10:: - text "Dang!" - line "Stripped gears!" - prompt - -_Route13AfterBattleText10:: - text "Get lost!" - done - -_Route13BattleText11:: - text "I always go with" - line "bird #MON!" - done - -_Route13EndBattleText11:: - text "Out" - line "of power!" - prompt - -_Route13AfterBattleText11:: - text "I wish I could" - line "fly like PIDGEY" - cont "and PIDGEOTTO..." - done - -_Route13Text11:: - text "TRAINER TIPS" - - para "Look to the left" - line "of that post!" - done - -_Route13Text12:: - text "TRAINER TIPS" - - para "Use SELECT to" - line "switch items in" - cont "the ITEM window!" - done - -_Route13Text13:: - text "ROUTE 13" - line "North to SILENCE" - cont "BRIDGE" - done diff --git a/text/maps/Route14.asm b/text/maps/Route14.asm deleted file mode 100644 index 18e85ed4..00000000 --- a/text/maps/Route14.asm +++ /dev/null @@ -1,173 +0,0 @@ -_Route14BattleText1:: - text "You need to use" - line "TMs to teach good" - cont "moves to #MON!" - done - -_Route14EndBattleText1:: - text "Not" - line "good enough!" - prompt - -_Route14AfterBattleText1:: - text "You have some HMs" - line "right? #MON" - cont "can't ever forget" - cont "those moves." - done - -_Route14BattleText2:: - text "My bird #MON" - line "should be ready" - cont "for battle." - done - -_Route14EndBattleText2:: - text "Not" - line "ready yet!" - prompt - -_Route14AfterBattleText2:: - text "They need to learn" - line "better moves." - done - -_Route14BattleText3:: - text "TMs are on sale" - line "in CELADON!" - cont "But, only a few" - cont "people have HMs!" - done - -_Route14EndBattleText3:: - text "Aww," - line "bummer!" - prompt - -_Route14AfterBattleText3:: - text "Teach #MON" - line "moves of the same" - cont "element type for" - cont "more power." - done - -_Route14BattleText4:: - text "Have you taught" - line "your bird #MON" - cont "how to FLY?" - done - -_Route14EndBattleText4:: - text "Shot" - line "down in flames!" - prompt - -_Route14AfterBattleText4:: - text "Bird #MON are" - line "my true love!" - done - -_Route14BattleText5:: - text "Have you heard of" - line "the legendary" - cont "#MON?" - done - -_Route14EndBattleText5:: - text "Why?" - line "Why'd I lose?" - prompt - -_Route14AfterBattleText5:: - text "The 3 legendary" - line "#MON are all" - cont "birds of prey." - done - -_Route14BattleText6:: - text "I'm not into it," - line "but OK! Let's go!" - done - -_Route14EndBattleText6:: - text "I" - line "knew it!" - prompt - -_Route14AfterBattleText6:: - text "Winning, losing," - line "it doesn't matter" - cont "in the long run!" - done - -_Route14BattleText7:: - text "C'mon, c'mon." - line "Let's go, let's" - cont "go, let's go!" - done - -_Route14EndBattleText7:: - text "Arrg!" - line "Lost! Get lost!" - prompt - -_Route14AfterBattleText7:: - text "What, what, what?" - line "What do you want?" - done - -_Route14BattleText8:: - text "Perfect! I need to" - line "burn some time!" - done - -_Route14EndBattleText8:: - text "What?" - line "You!?" - prompt - -_Route14AfterBattleText8:: - text "Raising #MON" - line "is a drag, man." - done - -_Route14BattleText9:: - text "We ride out here" - line "because there's" - cont "more room!" - done - -_Route14EndBattleText9:: - text "Wipe out!" - prompt - -_Route14AfterBattleText9:: - text "It's cool you" - line "made your #MON" - cont "so strong!" - - para "Might is right!" - line "And you know it!" - done - -_Route14BattleText10:: - text "#MON fight?" - line "Cool! Rumble!" - done - -_Route14EndBattleText10:: - text "Blown" - line "away!" - prompt - -_Route14AfterBattleText10:: - text "You know who'd" - line "win, you and me" - cont "one on one!" - done - -_Route14Text11:: - text "ROUTE 14" - line "West to FUCHSIA" - cont "CITY" - done diff --git a/text/maps/Route15.asm b/text/maps/Route15.asm deleted file mode 100644 index a23b8500..00000000 --- a/text/maps/Route15.asm +++ /dev/null @@ -1,171 +0,0 @@ -_Route15BattleText1:: - text "Let me try out the" - line "#MON I just" - cont "got in a trade!" - done - -_Route15EndBattleText1:: - text "Not" - line "good enough!" - prompt - -_Route15AfterBattleText1:: - text "You can't change" - line "the nickname of" - cont "any #MON you" - cont "get in a trade." - - para "Only the Original" - line "Trainer can." - done - -_Route15BattleText2:: - text "You look gentle," - line "so I think I can" - cont "beat you!" - done - -_Route15EndBattleText2:: - text "No," - line "wrong!" - prompt - -_Route15AfterBattleText2:: - text "I'm afraid of" - line "BIKERs, they look" - cont "so ugly and mean!" - done - -_Route15BattleText3:: - text "When I whistle, I" - line "can summon bird" - cont "#MON!" - done - -_Route15EndBattleText3:: - text "Ow!" - line "That's tragic!" - prompt - -_Route15AfterBattleText3:: - text "Maybe I'm not cut" - line "out for battles." - done - -_Route15BattleText4:: - text "Hmm? My birds are" - line "shivering! You're" - cont "good, aren't you?" - done - -_Route15EndBattleText4:: - text "Just" - line "as I thought!" - prompt - -_Route15AfterBattleText4:: - text "Did you know moves" - line "like EARTHQUAKE" - cont "don't have any" - cont "effect on birds?" - done - -_Route15BattleText5:: - text "Oh, you're a" - line "little cutie!" - done - -_Route15EndBattleText5:: - text "You looked" - line "so cute too!" - prompt - -_Route15AfterBattleText5:: - text "I forgive you!" - line "I can take it!" - done - -_Route15BattleText6:: - text "I raise #MON" - line "because I live" - cont "alone!" - done - -_Route15EndBattleText6:: - text "I didn't" - line "ask for this!" - prompt - -_Route15AfterBattleText6:: - text "I just like going" - line "home to be with" - cont "my #MON!" - done - -_Route15BattleText7:: - text "Hey kid! C'mon!" - line "I just got these!" - done - -_Route15EndBattleText7:: - text "Why" - line "not?" - prompt - -_Route15AfterBattleText7:: - text "You only live" - line "once, so I live" - cont "as an outlaw!" - cont "TEAM ROCKET RULES!" - done - -_Route15BattleText8:: - text "Fork over all your" - line "cash when you" - cont "lose to me, kid!" - done - -_Route15EndBattleText8:: - text "That" - line "can't be true!" - prompt - -_Route15AfterBattleText8:: - text "I was just joking" - line "about the money!" - done - -_Route15BattleText9:: - text "What's cool?" - line "Trading #MON!" - done - -_Route15EndBattleText9:: - text "I" - line "said trade!" - prompt - -_Route15AfterBattleText9:: - text "I trade #MON" - line "with my friends!" - done - -_Route15BattleText10:: - text "Want to play with" - line "my #MON?" - done - -_Route15EndBattleText10:: - text "I was" - line "too impatient!" - prompt - -_Route15AfterBattleText10:: - text "I'll go train with" - line "weaker people.@@" - -_Route15Text12:: - text "ROUTE 15" - line "West to FUCHSIA" - cont "CITY" - done diff --git a/text/maps/Route15Gate1F.asm b/text/maps/Route15Gate1F.asm deleted file mode 100644 index 0a526142..00000000 --- a/text/maps/Route15Gate1F.asm +++ /dev/null @@ -1,7 +0,0 @@ -_Route15GateText1:: - text "Are you working" - line "on a #DEX?" - - para "PROF.OAK's AIDE" - line "came by here." - done diff --git a/text/maps/Route15Gate2F.asm b/text/maps/Route15Gate2F.asm deleted file mode 100644 index ade4a358..00000000 --- a/text/maps/Route15Gate2F.asm +++ /dev/null @@ -1,24 +0,0 @@ -_Route15GateUpstairsText_4968c:: - text "EXP.ALL gives" - line "EXP points to all" - cont "the #MON with" - cont "you, even if they" - cont "don't fight." - - para "It does, however," - line "reduce the amount" - cont "of EXP for each" - cont "#MON." - - para "If you don't need" - line "it, you should " - cont "store it via PC." - done - -_Route15GateUpstairsText_49698:: - text "Looked into the" - line "binoculars." - - para "It looks like a" - line "small island!" - done diff --git a/text/maps/Route16.asm b/text/maps/Route16.asm deleted file mode 100644 index 45265829..00000000 --- a/text/maps/Route16.asm +++ /dev/null @@ -1,120 +0,0 @@ -_Route16BattleText1:: - text "What do you want?" - done - -_Route16EndBattleText1:: - text "Don't you" - line "dare laugh!" - prompt - -_Route16AfterBattleText1:: - text "We like just" - line "hanging here," - cont "what's it to you?" - done - -_Route16BattleText2:: - text "Nice BIKE!" - line "Hand it over!" - done - -_Route16EndBattleText2:: - text "Knock" - line "out!" - prompt - -_Route16AfterBattleText2:: - text "Forget it, who" - line "needs your BIKE!" - done - -_Route16BattleText3:: - text "Come out and play," - line "little mouse!" - done - -_Route16EndBattleText3:: - text "You" - line "little rat!" - prompt - -_Route16AfterBattleText3:: - text "I hate losing!" - line "Get away from me!" - done - -_Route16BattleText4:: - text "Hey, you just" - line "bumped me!" - done - -_Route16EndBattleText4:: - text "Kaboom!" - prompt - -_Route16AfterBattleText4:: - text "You can also get" - line "to FUCHSIA from" - cont "VERMILION using a" - cont "coastal road." - done - -_Route16BattleText5:: - text "I'm feeling" - line "hungry and mean!" - done - -_Route16EndBattleText5:: - text "Bad," - line "bad, bad!" - prompt - -_Route16AfterBattleText5:: - text "I like my #MON" - line "ferocious! They" - cont "tear up enemies!" - done - -_Route16BattleText6:: - text "Sure, I'll go!" - done - -_Route16EndBattleText6:: - text "Don't make" - line "me mad!" - prompt - -_Route16AfterBattleText6:: - text "I like harassing" - line "people with my" - cont "vicious #MON!" - done - -_Route16Text7:: - text "A sleeping #MON" - line "blocks the way!" - done - -_Route16Text10:: - text "SNORLAX woke up!" - - para "It attacked in a" - line "grumpy rage!" - done - -_Route16Text11:: - text "With a big yawn," - line "SNORLAX returned" - cont "to the mountains!" - done - -_Route16Text8:: - text "Enjoy the slope!" - line "CYCLING ROAD" - done - -_Route16Text9:: - text "ROUTE 16" - line "CELADON CITY -" - cont "FUCHSIA CITY" - done diff --git a/text/maps/Route16FlyHouse.asm b/text/maps/Route16FlyHouse.asm deleted file mode 100644 index 77efde87..00000000 --- a/text/maps/Route16FlyHouse.asm +++ /dev/null @@ -1,31 +0,0 @@ -_Route16HouseText3:: - text "Oh, you found my" - line "secret retreat!" - - para "Please don't tell" - line "anyone I'm here." - cont "I'll make it up" - cont "to you with this!" - prompt - -_ReceivedHM02Text:: - text " received" - line "HM02!@@" - -_HM02ExplanationText:: - text "HM02 is FLY." - line "It will take you" - cont "back to any town." - - para "Put it to good" - line "use!" - done - -_HM02NoRoomText:: - text "You don't have any" - line "room for this." - done - -_Route16HouseText_1e652:: - text "FEAROW: Kyueen!" - done diff --git a/text/maps/Route16Gate1F.asm b/text/maps/Route16Gate1F.asm deleted file mode 100644 index f548977f..00000000 --- a/text/maps/Route16Gate1F.asm +++ /dev/null @@ -1,22 +0,0 @@ -_Route16GateText_49777:: - text "No pedestrians" - line "are allowed on" - cont "CYCLING ROAD!" - done - -_Route16GateText_4977c:: - text "CYCLING ROAD is a" - line "downhill course" - cont "by the sea. It's" - cont "a great ride." - done - -_Route16GateText_49781:: - text "Excuse me! Wait" - line "up please!" - done - -_Route16GateText2:: - text "How'd you get in?" - line "Good effort!" - done diff --git a/text/maps/Route16Gate2F.asm b/text/maps/Route16Gate2F.asm deleted file mode 100644 index d76b70ca..00000000 --- a/text/maps/Route16Gate2F.asm +++ /dev/null @@ -1,26 +0,0 @@ -_Route16GateUpstairsText_49820:: - text "I'm going for a" - line "ride with my girl" - cont "friend!" - done - -_Route16GateUpstairsText_4982f:: - text "We're going" - line "riding together!" - done - -_Route16GateUpstairsText_4983b:: - text "Looked into the" - line "binoculars." - - para "It's CELADON DEPT." - line "STORE!" - done - -_Route16GateUpstairsText_49847:: - text "Looked into the" - line "binoculars." - - para "There's a long" - line "path over water!" - done diff --git a/text/maps/Route17.asm b/text/maps/Route17.asm deleted file mode 100644 index a0affd90..00000000 --- a/text/maps/Route17.asm +++ /dev/null @@ -1,195 +0,0 @@ -_Route17BattleText1:: - text "There's no money" - line "in fighting kids!" - done - -_Route17EndBattleText1:: - text "Burned" - line "out!" - prompt - -_Route17AfterBattleText1:: - text "Good stuff is" - line "lying around on" - cont "CYCLING ROAD!" - done - -_Route17BattleText2:: - text "What do you want," - line "kiddo?" - done - -_Route17EndBattleText2:: - text "Whoo!" - prompt - -_Route17AfterBattleText2:: - text "I could belly-" - line "bump you outta" - cont "here!" - done - -_Route17BattleText3:: - text "You heading to" - line "FUCHSIA?" - done - -_Route17EndBattleText3:: - text "Crash and" - line "burn!" - prompt - -_Route17AfterBattleText3:: - text "I love racing" - line "downhill!" - done - -_Route17BattleText4:: - text "We're BIKERs!" - line "Highway stars!" - done - -_Route17EndBattleText4:: - text "Smoked!" - prompt - -_Route17AfterBattleText4:: - text "Are you looking" - line "for adventure?" - done - -_Route17BattleText5:: - text "Let VOLTORB" - line "electrify you!" - done - -_Route17EndBattleText5:: - text "Grounded" - line "out!" - prompt - -_Route17AfterBattleText5:: - text "I got my VOLTORB" - line "at the abandoned" - cont "POWER PLANT." - done - -_Route17BattleText6:: - text "My #MON won't" - line "evolve! Why?" - done - -_Route17EndBattleText6:: - text "Why," - line "you!" - prompt - -_Route17AfterBattleText6:: - text "Maybe some #MON" - line "need element" - cont "STONEs to evolve." - done - -_Route17BattleText7:: - text "I need a little" - line "exercise!" - done - -_Route17EndBattleText7:: - text "Whew!" - line "Good workout!" - prompt - -_Route17AfterBattleText7:: - text "I'm sure I lost" - line "weight there!" - done - -_Route17BattleText8:: - text "Be a rebel!" - done - -_Route17EndBattleText8:: - text "Aaaargh!" - prompt - -_Route17AfterBattleText8:: - text "Be ready to fight" - line "for your beliefs!" - done - -_Route17BattleText9:: - text "Nice BIKE!" - line "How's it handle?" - done - -_Route17EndBattleText9:: - text "Shoot!" - prompt - -_Route17AfterBattleText9:: - text "The slope makes" - line "it hard to steer!" - done - -_Route17BattleText10:: - text "Get lost kid!" - line "I'm bushed!" - done - -_Route17EndBattleText10:: - text "Are you" - line "satisfied?" - prompt - -_Route17AfterBattleText10:: - text "I need to catch" - line "a few Zs!" - done - -_Route17Text11:: - text "It's a notice!" - - para "Watch out for" - line "discarded items!" - done - -_Route17Text12:: - text "TRAINER TIPS" - - para "All #MON are" - line "unique." - - para "Even #MON of" - line "the same type and" - cont "level grow at" - cont "different rates." - done - -_Route17Text13:: - text "TRAINER TIPS" - - para "Press the A or B" - line "Button to stay in" - cont "place while on a" - cont "slope." - done - -_Route17Text14:: - text "ROUTE 17" - line "CELADON CITY -" - cont "FUCHSIA CITY" - done - -_Route17Text15:: - text "It's a notice!" - - para "Don't throw the" - line "game, throw #" - cont "BALLs instead!" - done - -_Route17Text16:: - text "CYCLING ROAD" - line "Slope ends here!" - done diff --git a/text/maps/Route18.asm b/text/maps/Route18.asm deleted file mode 100644 index d09caf82..00000000 --- a/text/maps/Route18.asm +++ /dev/null @@ -1,58 +0,0 @@ -_Route18BattleText1:: - text "I always check" - line "every grassy area" - cont "for new #MON." - done - -_Route18EndBattleText1:: - text "Tch!" - prompt - -_Route18AfterBattleText1:: - text "I wish I had a" - line "BIKE!" - done - -_Route18BattleText2:: - text "Kurukkoo!" - line "How do you like" - cont "my bird call?" - done - -_Route18EndBattleText2:: - text "I" - line "had to bug you!" - prompt - -_Route18AfterBattleText2:: - text "I also collect sea" - line "#MON on" - cont "weekends!" - done - -_Route18BattleText3:: - text "This is my turf!" - line "Get out of here!" - done - -_Route18EndBattleText3:: - text "Darn!" - prompt - -_Route18AfterBattleText3:: - text "This is my fave" - line "#MON hunting" - cont "area!" - done - -_Route18Text4:: - text "ROUTE 18" - line "CELADON CITY -" - cont "FUCHSIA CITY" - done - -_Route18Text5:: - text "CYCLING ROAD" - line "No pedestrians" - cont "permitted!" - done diff --git a/text/maps/Route18Gate1F.asm b/text/maps/Route18Gate1F.asm deleted file mode 100644 index f2f51039..00000000 --- a/text/maps/Route18Gate1F.asm +++ /dev/null @@ -1,14 +0,0 @@ -_Route18GateText_49928:: - text "You need a BICYCLE" - line "for CYCLING ROAD!" - done - -_Route18GateText_4992d:: - text "CYCLING ROAD is" - line "all uphill from" - cont "here." - done - -_Route18GateText_49932:: - text "Excuse me!" - done diff --git a/text/maps/Route18Gate2F.asm b/text/maps/Route18Gate2F.asm deleted file mode 100644 index 0fd2de09..00000000 --- a/text/maps/Route18Gate2F.asm +++ /dev/null @@ -1,15 +0,0 @@ -_Route18GateUpstairsText_49993:: - text "Looked into the" - line "binoculars." - - para "PALLET TOWN is in" - line "the west!" - done - -_Route18GateUpstairsText_4999f:: - text "Looked into the" - line "binoculars." - - para "There are people" - line "swimming!" - done diff --git a/text/maps/Route19.asm b/text/maps/Route19.asm deleted file mode 100644 index 244e31d0..00000000 --- a/text/maps/Route19.asm +++ /dev/null @@ -1,157 +0,0 @@ -_Route19BattleText1:: - text "Have to warm up" - line "before my swim!" - done - -_Route19EndBattleText1:: - text "All" - line "warmed up!" - prompt - -_Route19AfterBattleText1:: - text "Thanks, kid! I'm" - line "ready for a swim!" - done - -_Route19BattleText2:: - text "Wait! You'll have" - line "a heart attack!" - done - -_Route19EndBattleText2:: - text "Ooh!" - line "That's chilly!" - prompt - -_Route19AfterBattleText2:: - text "Watch out for" - line "TENTACOOL!" - done - -_Route19BattleText3:: - text "I love swimming!" - line "What about you?" - done - -_Route19EndBattleText3:: - text "Belly" - line "flop!" - prompt - -_Route19AfterBattleText3:: - text "I can beat #MON" - line "at swimming!" - done - -_Route19BattleText4:: - text "What's beyond the" - line "horizon?" - done - -_Route19EndBattleText4:: - text "Glub!" - prompt - -_Route19AfterBattleText4:: - text "I see a couple of" - line "islands!" - done - -_Route19BattleText5:: - text "I tried diving" - line "for #MON, but" - cont "it was a no go!" - done - -_Route19EndBattleText5:: - text "Help!" - prompt - -_Route19AfterBattleText5:: - text "You have to fish" - line "for sea #MON!" - done - -_Route19BattleText6:: - text "I look at the" - line "sea to forget!" - done - -_Route19EndBattleText6:: - text "Ooh!" - line "Traumatic!" - prompt - -_Route19AfterBattleText6:: - text "I'm looking at the" - line "sea to forget!" - done - -_Route19BattleText7:: - text "Oh, I just love" - line "your ride! Can I" - cont "have it if I win?" - done - -_Route19EndBattleText7:: - text "Oh!" - line "I lost!" - prompt - -_Route19AfterBattleText7:: - text "It's still a long" - line "way to go to" - cont "SEAFOAM ISLANDS." - done - -_Route19BattleText8:: - text "Swimming's great!" - line "Sunburns aren't!" - done - -_Route19EndBattleText8:: - text "Shocker!" - prompt - -_Route19AfterBattleText8:: - text "My boy friend" - line "wanted to swim to" - cont "SEAFOAM ISLANDS." - done - -_Route19BattleText9:: - text "These waters are" - line "treacherous!" - done - -_Route19EndBattleText9:: - text "Ooh!" - line "Dangerous!" - prompt - -_Route19AfterBattleText9:: - text "I got a cramp!" - line "Glub, glub..." - done - -_Route19BattleText10:: - text "I swam here, but" - line "I'm tired." - done - -_Route19EndBattleText10:: - text "I'm" - line "exhausted..." - prompt - -_Route19AfterBattleText10:: - text "LAPRAS is so big," - line "it must keep you" - cont "dry on water." - done - -_Route19Text11:: - text "SEA ROUTE 19" - line "FUCHSIA CITY -" - cont "SEAFOAM ISLANDS" - done diff --git a/text/maps/Route2.asm b/text/maps/Route2.asm deleted file mode 100644 index dd7becc0..00000000 --- a/text/maps/Route2.asm +++ /dev/null @@ -1,9 +0,0 @@ -_Route2Text3:: - text "ROUTE 2" - line "VIRIDIAN CITY -" - cont "PEWTER CITY" - done - -_Route2Text4:: - text "DIGLETT's CAVE" - done diff --git a/text/maps/Route20.asm b/text/maps/Route20.asm deleted file mode 100644 index 1ccf0b6c..00000000 --- a/text/maps/Route20.asm +++ /dev/null @@ -1,156 +0,0 @@ -_Route20BattleText1:: - text "The water is" - line "shallow here." - done - -_Route20EndBattleText1:: - text "Splash!" - prompt - -_Route20AfterBattleText1:: - text "I wish I could" - line "ride my #MON." - done - -_Route20BattleText2:: - text "SEAFOAM is a" - line "quiet getaway!" - done - -_Route20EndBattleText2:: - text "Quit it!" - prompt - -_Route20AfterBattleText2:: - text "There's a huge" - line "cavern underneath" - cont "this island." - done - -_Route20BattleText3:: - text "I love floating" - line "with the fishes!" - done - -_Route20EndBattleText3:: - text "Yowch!" - prompt - -_Route20AfterBattleText3:: - text "Want to float" - line "with me?" - done - -_Route20BattleText4:: - text "Are you on" - line "vacation too?" - done - -_Route20EndBattleText4:: - text "No" - line "mercy at all!" - prompt - -_Route20AfterBattleText4:: - text "SEAFOAM used to" - line "be one island!" - done - -_Route20BattleText5:: - text "Check out my buff" - line "physique!" - done - -_Route20EndBattleText5:: - text "Wimpy!" - prompt - -_Route20AfterBattleText5:: - text "I should've been" - line "buffing up my" - cont "#MON, not me!" - done - -_Route20BattleText6:: - text "Why are you" - line "riding a #MON?" - cont "Can't you swim?" - done - -_Route20EndBattleText6:: - text "Ouch!" - line "Torpedoed!" - prompt - -_Route20AfterBattleText6:: - text "Riding a #MON" - line "sure looks fun!" - done - -_Route20BattleText7:: - text "I rode my bird" - line "#MON here!" - done - -_Route20EndBattleText7:: - text "Oh" - line "no!" - prompt - -_Route20AfterBattleText7:: - text "My birds can't" - line "FLY me back!" - done - -_Route20BattleText8:: - text "My boy friend gave" - line "me big pearls!" - done - -_Route20EndBattleText8:: - text "Don't" - line "touch my pearls!" - prompt - -_Route20AfterBattleText8:: - text "Will my pearls" - line "grow bigger" - cont "inside CLOYSTER?" - done - -_Route20BattleText9:: - text "I swam here from" - line "CINNABAR ISLAND!" - done - -_Route20EndBattleText9:: - text "I'm" - line "so disappointed!" - prompt - -_Route20AfterBattleText9:: - text "#MON have" - line "taken over an" - cont "abandoned mansion" - cont "on CINNABAR!" - done - -_Route20BattleText10:: - text "CINNABAR, in the" - line "west, has a LAB" - cont "for #MON." - done - -_Route20EndBattleText10:: - text "Wait!" - prompt - -_Route20AfterBattleText10:: - text "CINNABAR is a " - line "volcanic island!" - done - -_Route20Text12:: -_Route20Text11:: - text "SEAFOAM ISLANDS" - done diff --git a/text/maps/Route21.asm b/text/maps/Route21.asm deleted file mode 100644 index 3451953f..00000000 --- a/text/maps/Route21.asm +++ /dev/null @@ -1,137 +0,0 @@ -_Route21BattleText1:: - text "You want to know" - line "if the fish are" - cont "biting?" - done - -_Route21EndBattleText1:: - text "Dang!" - prompt - -_Route21AfterBattleText1:: - text "I can't catch" - line "anything good!" - done - -_Route21BattleText2:: - text "I got a big haul!" - line "Wanna go for it?" - done - -_Route21EndBattleText2:: - text "Darn" - line "MAGIKARP!" - prompt - -_Route21AfterBattleText2:: - text "I seem to only" - line "catch MAGIKARP!" - done - -_Route21BattleText3:: - text "The sea cleanses" - line "my body and soul!" - done - -_Route21EndBattleText3:: - text "Ayah!" - prompt - -_Route21AfterBattleText3:: - text "I like the" - line "mountains too!" - done - -_Route21BattleText4:: - text "What's wrong with" - line "me swimming?" - done - -_Route21EndBattleText4:: - text "Cheap" - line "shot!" - prompt - -_Route21AfterBattleText4:: - text "I look like what?" - line "A studded inner" - cont "tube? Get lost!" - done - -_Route21BattleText5:: - text "I caught all my" - line "#MON at sea!" - done - -_Route21EndBattleText5:: - text "Diver!!" - line "Down!!" - prompt - -_Route21AfterBattleText5:: - text "Where'd you catch" - line "your #MON?" - done - -_Route21BattleText6:: - text "Right now, I'm in" - line "a triathlon meet!" - done - -_Route21EndBattleText6:: - text "Pant..." - line "pant...pant..." - prompt - -_Route21AfterBattleText6:: - text "I'm beat!" - line "But, I still have" - cont "the bike race and" - cont "marathon left!" - done - -_Route21BattleText7:: - text "Ahh! Feel the sun" - line "and the wind!" - done - -_Route21EndBattleText7:: - text "Yow!" - line "I lost!" - prompt - -_Route21AfterBattleText7:: - text "I'm sunburnt to a" - line "crisp!" - done - -_Route21BattleText8:: - text "Hey, don't scare" - line "away the fish!" - done - -_Route21EndBattleText8:: - text "Sorry!" - line "I didn't mean it!" - prompt - -_Route21AfterBattleText8:: - text "I was just angry" - line "that I couldn't" - cont "catch anything." - done - -_Route21BattleText9:: - text "Keep me company" - line "'til I get a hit!" - done - -_Route21EndBattleText9:: - text "That" - line "burned some time." - prompt - -_Route21AfterBattleText9:: - text "Oh wait! I got a" - line "bite! Yeah!" - done diff --git a/text/maps/Route22.asm b/text/maps/Route22.asm deleted file mode 100644 index 3a1d28f0..00000000 --- a/text/maps/Route22.asm +++ /dev/null @@ -1,104 +0,0 @@ -_Route22RivalBeforeBattleText1:: - text ": Hey!" - line "!" - - para "You're going to" - line "#MON LEAGUE?" - - para "Forget it! You" - line "probably don't" - cont "have any BADGEs!" - - para "The guard won't" - line "let you through!" - - para "By the way, did" - line "your #MON" - cont "get any stronger?" - done - -_Route22RivalAfterBattleText1:: - text "I heard #MON" - line "LEAGUE has many" - cont "tough trainers!" - - para "I have to figure" - line "out how to get" - cont "past them!" - - para "You should quit" - line "dawdling and get" - cont "a move on!" - done - -_Route22RivalDefeatedText1:: - text "Awww!" - line "You just lucked" - cont "out!" - prompt - -_Route22Text_511bc:: - text ": What?" - line "Why do I have 2" - cont "#MON?" - - para "You should catch" - cont "some more too!" - prompt - -_Route22RivalBeforeBattleText2:: - text ": What?" - line "! What a" - cont "surprise to see" - cont "you here!" - - para "So you're going to" - line "#MON LEAGUE?" - - para "You collected all" - line "the BADGEs too?" - cont "That's cool!" - - para "Then I'll whip you" - line " as a" - cont "warm up for" - cont "#MON LEAGUE!" - - para "Come on!" - done - -_Route22RivalAfterBattleText2:: - text "That loosened me" - line "up! I'm ready for" - cont "#MON LEAGUE!" - - para ", you need" - line "more practice!" - - para "But hey, you know" - line "that! I'm out of" - cont "here. Smell ya!" - done - -_Route22RivalDefeatedText2:: - text "What!?" - - para "I was just" - line "careless!" - prompt - -_Route22Text_511d0:: - text ": Hahaha!" - line "! That's" - cont "your best? You're" - cont "nowhere near as" - cont "good as me, pal!" - - para "Go train some" - line "more! You loser!" - prompt - -_Route22FrontGateText:: - text "#MON LEAGUE" - line "Front Gate" - done diff --git a/text/maps/Route22Gate.asm b/text/maps/Route22Gate.asm deleted file mode 100644 index ce3f6824..00000000 --- a/text/maps/Route22Gate.asm +++ /dev/null @@ -1,20 +0,0 @@ -_Route22GateText_1e704:: - text "Only truly skilled" - line "trainers are" - cont "allowed through." - - para "You don't have the" - line "BOULDERBADGE yet!@@" - -_Route22GateText_1e715:: - text "" - - para "The rules are" - line "rules. I can't" - cont "let you pass." - done - -_Route22GateText_1e71a:: - text "Oh! That is the" - line "BOULDERBADGE!" - cont "Go right ahead!@@" diff --git a/text/maps/Route23.asm b/text/maps/Route23.asm deleted file mode 100644 index a7e534de..00000000 --- a/text/maps/Route23.asm +++ /dev/null @@ -1,39 +0,0 @@ -_VictoryRoadGuardText1:: - text "You can pass here" - line "only if you have" - cont "the @" - TX_RAM wcd6d - text "!" - - para "You don't have the" - line "@" - TX_RAM wcd6d - text " yet!" - - para "You have to have" - line "it to get to" - cont "#MON LEAGUE!@@" - -_VictoryRoadGuardText2:: - text "You can pass here" - line "only if you have" - cont "the @" - TX_RAM wcd6d - text "!" - - para "Oh! That is the" - line "@" - TX_RAM wcd6d - text "!@@" - -_VictoryRoadGuardText_513a3:: - text "" - - para "OK then! Please," - line "go right ahead!" - done - -_Route23Text8:: - text "VICTORY ROAD GATE" - line "- #MON LEAGUE" - done diff --git a/text/maps/Route24.asm b/text/maps/Route24.asm deleted file mode 100644 index c14b689a..00000000 --- a/text/maps/Route24.asm +++ /dev/null @@ -1,65 +0,0 @@ -_Route24Text_51510:: - text "Congratulations!" - line "You beat our 5" - cont "contest trainers!@@" - -_Route24Text_51515:: - text "" - - para "You just earned a" - line "fabulous prize!" - prompt - -_Route24Text_5151a:: - text " received" - line "a @" - TX_RAM wcf4b - text "!@@" - -_Route24Text_51521:: - text "You don't have" - line "any room!" - done - -_Route24Text_51526:: - text "By the way, would" - line "you like to join" - cont "TEAM ROCKET?" - - para "We're a group" - line "dedicated to evil" - cont "using #MON!" - - para "Want to join?" - - para "Are you sure?" - - para "Come on, join us!" - - para "I'm telling you" - line "to join!" - - para "OK, you need" - line "convincing!" - - para "I'll make you an" - line "offer you can't" - cont "refuse!" - done - -_Route24Text_5152b:: - text "Arrgh!" - line "You are good!" - prompt - -_Route24Text_51530:: - text "With your ability," - line "you could become" - cont "a top leader in" - cont "TEAM ROCKET!" - done - -_Route24BattleText1:: - text "I saw your feat" - line "from the grass!" - done diff --git a/text/maps/Route24_2.asm b/text/maps/Route24_2.asm deleted file mode 100644 index 325dea13..00000000 --- a/text/maps/Route24_2.asm +++ /dev/null @@ -1,90 +0,0 @@ -_Route24EndBattleText1:: - text "I" - line "thought not!" - prompt - -_Route24AfterBattleText1:: - text "I hid because the" - line "people on the" - cont "bridge scared me!" - done - -_Route24BattleText2:: - text "OK! I'm No. 5!" - line "I'll stomp you!" - done - -_Route24EndBattleText2:: - text "Whoa!" - line "Too much!" - prompt - -_Route24AfterBattleText2:: - text "I did my best, I" - line "have no regrets!" - done - -_Route24BattleText3:: - text "I'm No. 4!" - line "Getting tired?" - done - -_Route24EndBattleText3:: - text "I lost" - line "too!" - prompt - -_Route24AfterBattleText3:: - text "I did my best, so" - line "I've no regrets!" - done - -_Route24BattleText4:: - text "Here's No. 3!" - line "I won't be easy!" - done - -_Route24EndBattleText4:: - text "Ow!" - line "Stomped flat!" - prompt - -_Route24AfterBattleText4:: - text "I did my best, I" - line "have no regrets!" - done - -_Route24BattleText5:: - text "I'm second!" - line "Now it's serious!" - done - -_Route24EndBattleText5:: - text "How could I" - line "lose?" - prompt - -_Route24AfterBattleText5:: - text "I did my best, I" - line "have no regrets!" - done - -_Route24BattleText6:: - text "This is NUGGET" - line "BRIDGE! Beat us 5" - cont "trainers and win" - cont "a fabulous prize!" - - para "Think you got" - line "what it takes?" - done - -_Route24EndBattleText6:: - text "Whoo!" - line "Good stuff!" - prompt - -_Route24AfterBattleText6:: - text "I did my best, I" - line "have no regrets!" - done diff --git a/text/maps/Route25.asm b/text/maps/Route25.asm deleted file mode 100644 index 325ab348..00000000 --- a/text/maps/Route25.asm +++ /dev/null @@ -1,156 +0,0 @@ -_Route25BattleText1:: - text "Local trainers" - line "come here to" - cont "practice!" - done - -_Route25EndBattleText1:: - text "You're" - line "decent." - prompt - -_Route25AfterBattleText1:: - text "All #MON have" - line "weaknesses. It's" - cont "best to raise" - cont "different kinds." - done - -_Route25BattleText2:: - text "Dad took me to a" - line "great party on" - cont "S.S.ANNE at" - cont "VERMILION CITY!" - done - -_Route25EndBattleText2:: - text "I'm" - line "not mad!" - prompt - -_Route25AfterBattleText2:: - text "On S.S.ANNE, I" - line "saw trainers from" - cont "around the world." - done - -_Route25BattleText3:: - text "I'm a cool guy." - line "I've got a girl" - cont "friend!" - done - -_Route25EndBattleText3:: - text "Aww," - line "darn..." - prompt - -_Route25AfterBattleText3:: - text "Oh well. My girl" - line "will cheer me up." - done - -_Route25BattleText4:: - text "Hi! My boy" - line "friend is cool!" - done - -_Route25EndBattleText4:: - text "I was in" - line "bad condition!" - prompt - -_Route25AfterBattleText4:: - text "I wish my guy was" - line "as good as you!" - done - -_Route25BattleText5:: - text "I knew I had to" - line "fight you!" - done - -_Route25EndBattleText5:: - text "I knew" - line "I'd lose too!" - prompt - -_Route25AfterBattleText5:: - text "If your #MON" - line "gets confused or" - cont "falls asleep," - cont "switch it!" - done - -_Route25BattleText6:: - text "My friend has a" - line "cute #MON." - cont "I'm so jealous!" - done - -_Route25EndBattleText6:: - text "I'm" - line "not so jealous!" - prompt - -_Route25AfterBattleText6:: - text "You came from MT." - line "MOON? May I have" - cont "a CLEFAIRY?" - done - -_Route25BattleText7:: - text "I just got down" - line "from MT.MOON," - cont "but I'm ready!" - done - -_Route25EndBattleText7:: - text "You" - line "worked hard!" - prompt - -_Route25AfterBattleText7:: - text "Drat!" - line "A ZUBAT bit me" - cont "back in there." - done - -_Route25BattleText8:: - text "I'm off to see a" - line "#MON collector" - cont "at the cape!" - done - -_Route25EndBattleText8:: - text "You" - line "got me." - prompt - -_Route25AfterBattleText8:: - text "The collector has" - line "many rare kinds" - cont "of #MON." - done - -_Route25BattleText9:: - text "You're going to" - line "see BILL? First," - cont "let's fight!" - done - -_Route25EndBattleText9:: - text "You're" - line "something." - prompt - -_Route25AfterBattleText9:: - text "The trail below" - line "is a shortcut to" - cont "CERULEAN CITY." - done - -_Route25Text11:: - text "SEA COTTAGE" - line "BILL lives here!" - done diff --git a/text/maps/Route2Gate.asm b/text/maps/Route2Gate.asm deleted file mode 100644 index 566830f8..00000000 --- a/text/maps/Route2Gate.asm +++ /dev/null @@ -1,12 +0,0 @@ -_Route2GateText_5d616:: - text "The HM FLASH" - line "lights even the" - cont "darkest dungeons." - done - -_Route2GateText2:: - text "Once a #MON" - line "learns FLASH, you" - cont "can get through" - cont "ROCK TUNNEL." - done diff --git a/text/maps/Route2TradeHouse.asm b/text/maps/Route2TradeHouse.asm deleted file mode 100644 index 46fc1062..00000000 --- a/text/maps/Route2TradeHouse.asm +++ /dev/null @@ -1,6 +0,0 @@ -_Route2HouseText1:: - text "A fainted #MON" - line "can't fight. But, " - cont "it can still use " - cont "moves like CUT!" - done diff --git a/text/maps/Route3.asm b/text/maps/Route3.asm deleted file mode 100644 index 966a0786..00000000 --- a/text/maps/Route3.asm +++ /dev/null @@ -1,145 +0,0 @@ -_Route3Text1:: - text "Whew... I better" - line "take a rest..." - cont "Groan..." - - para "That tunnel from" - line "CERULEAN takes a" - cont "lot out of you!" - done - -_Route3BattleText1:: - text "Hey! I met you in" - line "VIRIDIAN FOREST!" - done - -_Route3EndBattleText1:: - text "You" - line "beat me again!" - prompt - -_Route3AfterBattleText1:: - text "There are other" - line "kinds of #MON" - cont "than those found" - cont "in the forest!" - done - -_Route3BattleText2:: - text "Hi! I like shorts!" - line "They're comfy and" - cont "easy to wear!" - done - -_Route3EndBattleText2:: - text "I don't" - line "believe it!" - prompt - -_Route3AfterBattleText2:: - text "Are you storing" - line "your #MON on" - cont "PC? Each BOX can" - cont "hold 20 #MON!" - done - -_Route3BattleText3:: - text "You looked at me," - line "didn't you?" - done - -_Route3EndBattleText3:: - text "You're" - line "mean!" - prompt - -_Route3AfterBattleText3:: - text "Quit staring if" - line "you don't want to" - cont "fight!" - done - -_Route3BattleText4:: - text "Are you a trainer?" - line "Let's fight!" - done - -_Route3EndBattleText4:: - text "If I" - line "had new #MON I" - cont "would've won!" - prompt - -_Route3AfterBattleText4:: - text "If a #MON BOX" - line "on the PC gets" - cont "full, just switch" - cont "to another BOX!" - done - -_Route3BattleText5:: - text "That look you" - line "gave me, it's so" - cont "intriguing!" - done - -_Route3EndBattleText5:: - text "Be nice!" - prompt - -_Route3AfterBattleText5:: - text "Avoid fights by" - line "not letting" - cont "people see you!" - done - -_Route3BattleText6:: - text "Hey! You're not" - line "wearing shorts!" - done - -_Route3EndBattleText6:: - text "Lost!" - line "Lost! Lost!" - prompt - -_Route3AfterBattleText6:: - text "I always wear" - line "shorts, even in" - cont "winter!" - done - -_Route3BattleText7:: - text "You can fight my" - line "new #MON!" - done - -_Route3EndBattleText7:: - text "Done" - line "like dinner!" - prompt - -_Route3AfterBattleText7:: - text "Trained #MON" - line "are stronger than" - cont "the wild ones!" - done - -_Route3BattleText8:: - text "Eek! Did you" - line "touch me?" - done - -_Route3EndBattleText8:: - text "That's it?" - prompt - -_Route3AfterBattleText8:: - text "ROUTE 4 is at the" - line "foot of MT.MOON." - done - -_Route3Text10:: - text "ROUTE 3" - line "MT.MOON AHEAD" - done diff --git a/text/maps/Route4.asm b/text/maps/Route4.asm deleted file mode 100644 index 0a36f4cd..00000000 --- a/text/maps/Route4.asm +++ /dev/null @@ -1,35 +0,0 @@ -_Route4Text1:: - text "Ouch! I tripped" - line "over a rocky" - cont "#MON, GEODUDE!" - done - -_Route4BattleText1:: - text "I came to get my" - line "mushroom #MON!" - done - -_Route4EndBattleText1:: - text "Oh! My cute" - line "mushroom #MON!" - prompt - -_Route4AfterBattleText1:: - text "There might not" - line "be any more" - cont "mushrooms here." - - para "I think I got" - line "them all." - done - -_Route4Text5:: - text "MT.MOON" - line "Tunnel Entrance" - done - -_Route4Text6:: - text "ROUTE 4" - line "MT.MOON -" - cont "CERULEAN CITY" - done diff --git a/text/maps/Route5.asm b/text/maps/Route5.asm deleted file mode 100644 index 54ff0f84..00000000 --- a/text/maps/Route5.asm +++ /dev/null @@ -1,5 +0,0 @@ -_Route5Text1:: - text "UNDERGROUND PATH" - line "CERULEAN CITY -" - cont "VERMILION CITY" - done diff --git a/text/maps/Route6.asm b/text/maps/Route6.asm deleted file mode 100644 index c48b5d3d..00000000 --- a/text/maps/Route6.asm +++ /dev/null @@ -1,97 +0,0 @@ -_Route6BattleText1:: - text "Who's there?" - line "Quit listening in" - cont "on us!" - done - -_Route6EndBattleText1:: - text "I" - line "just can't win!" - prompt - -_Route6AfterBattleText1:: - text "Whisper..." - line "whisper..." - done - -_Route6BattleText2:: - text "Excuse me! This" - line "is a private" - cont "conversation!" - done - -_Route6EndBattleText2:: - text "Ugh!" - line "I hate losing!" - prompt - -_Route6BattleText3:: - text "There aren't many" - line "bugs out here." - done - -_Route6EndBattleText3:: - text "No!" - line "You're kidding!" - prompt - -_Route6AfterBattleText3:: - text "I like bugs, so" - line "I'm going back to" - cont "VIRIDIAN FOREST." - done - -_Route6BattleText4:: - text "Huh? You want" - line "to talk to me?" - done - -_Route6EndBattleText4:: - text "I" - line "didn't start it!" - prompt - -_Route6AfterBattleText4:: - text "I should carry" - line "more #MON with" - cont "me for safety." - done - -_Route6BattleText5:: - text "Me? Well, OK." - line "I'll play!" - done - -_Route6EndBattleText5:: - text "Just" - line "didn't work!" - prompt - -_Route6AfterBattleText5:: - text "I want to get" - line "stronger! What's" - cont "your secret?" - done - -_Route6BattleText6:: - text "I've never seen" - line "you around!" - cont "Are you good?" - done - -_Route6EndBattleText6:: - text "You" - line "are too good!" - prompt - -_Route6AfterBattleText6:: - text "Are my #MON" - line "weak? Or, am I" - cont "just bad?" - done - -_Route6Text7:: - text "UNDERGROUND PATH" - line "CERULEAN CITY -" - cont "VERMILION CITY" - done diff --git a/text/maps/Route7.asm b/text/maps/Route7.asm deleted file mode 100644 index 6500be96..00000000 --- a/text/maps/Route7.asm +++ /dev/null @@ -1,5 +0,0 @@ -_Route7Text1:: - text "UNDERGROUND PATH" - line "CELADON CITY -" - cont "LAVENDER TOWN" - done diff --git a/text/maps/Route8.asm b/text/maps/Route8.asm deleted file mode 100644 index 57a9a5f9..00000000 --- a/text/maps/Route8.asm +++ /dev/null @@ -1,154 +0,0 @@ -_Route8BattleText1:: - text "You look good at" - line "#MON, but" - cont "how's your chem?" - done - -_Route8EndBattleText1:: - text "Ow!" - line "Meltdown!" - prompt - -_Route8AfterBattleText1:: - text "I am better at" - line "school than this!" - done - -_Route8BattleText2:: - text "All right! Let's" - line "roll the dice!" - done - -_Route8EndBattleText2:: - text "Drat!" - line "Came up short!" - prompt - -_Route8AfterBattleText2:: - text "Lady Luck's not" - line "with me today!" - done - -_Route8BattleText3:: - text "You need strategy" - line "to win at this!" - done - -_Route8EndBattleText3:: - text "It's" - line "not logical!" - prompt - -_Route8AfterBattleText3:: - text "Go with GRIMER" - line "first...and..." - cont "...and...then..." - done - -_Route8BattleText4:: - text "I like NIDORAN, so" - line "I collect them!" - done - -_Route8EndBattleText4:: - text "Why? Why??" - prompt - -_Route8AfterBattleText4:: - text "When #MON grow" - line "up they get ugly!" - cont "They shouldn't" - cont "evolve!" - done - -_Route8BattleText5:: - text "School is fun, but" - line "so are #MON." - done - -_Route8EndBattleText5:: - text "I'll" - line "stay with school." - prompt - -_Route8AfterBattleText5:: - text "We're stuck here" - line "because of the" - cont "gates at SAFFRON." - done - -_Route8BattleText6:: - text "MEOWTH is so cute," - line "meow, meow, meow!" - done - -_Route8EndBattleText6:: - text "Meow!" - prompt - -_Route8AfterBattleText6:: - text "I think PIDGEY" - line "and RATTATA" - cont "are cute too!" - done - -_Route8BattleText7:: - text "We must look" - line "silly standing" - cont "here like this!" - done - -_Route8EndBattleText7:: - text "Look what" - line "you did!" - prompt - -_Route8AfterBattleText7:: - text "SAFFRON's gate" - line "keeper won't let" - cont "us through." - cont "He's so mean!" - done - -_Route8BattleText8:: - text "I'm a rambling," - line "gambling dude!" - done - -_Route8EndBattleText8:: - text "Missed" - line "the big score!" - prompt - -_Route8AfterBattleText8:: - text "Gambling and" - line "#MON are like" - cont "eating peanuts!" - cont "Just can't stop!" - done - -_Route8BattleText9:: - text "What's a cute," - line "round and fluffy" - cont "#MON?" - done - -_Route8EndBattleText9:: - text "Stop!" - - para "Don't be so mean" - line "to my CLEFAIRY!" - prompt - -_Route8AfterBattleText9:: - text "I heard that" - line "CLEFAIRY evolves" - cont "when it's exposed" - cont "to a MOON STONE." - done - -_Route8Text10:: - text "UNDERGROUND PATH" - line "CELADON CITY -" - cont "LAVENDER TOWN" - done diff --git a/text/maps/Route9.asm b/text/maps/Route9.asm deleted file mode 100644 index 9975000d..00000000 --- a/text/maps/Route9.asm +++ /dev/null @@ -1,157 +0,0 @@ -_Route9BattleText1:: - text "You have #MON" - line "with you!" - cont "You're mine!" - done - -_Route9EndBattleText1:: - text "You" - line "deceived me!" - prompt - -_Route9AfterBattleText1:: - text "You need light to" - line "get through that" - cont "dark tunnel ahead." - done - -_Route9BattleText2:: - text "Who's that walking" - line "with those good" - cont "looking #MON?" - done - -_Route9EndBattleText2:: - text "Out" - line "like a light!" - prompt - -_Route9AfterBattleText2:: - text "Keep walking!" - done - -_Route9BattleText3:: - text "I'm taking ROCK" - line "TUNNEL to go to" - cont "LAVENDER..." - done - -_Route9EndBattleText3:: - text "Can't" - line "measure up!" - prompt - -_Route9AfterBattleText3:: - text "Are you off to" - line "ROCK TUNNEL too?" - done - -_Route9BattleText4:: - text "Don't you dare" - line "condescend me!" - done - -_Route9EndBattleText4:: - text "No!" - line "You're too much!" - prompt - -_Route9AfterBattleText4:: - text "You're obviously" - line "talented! Good" - cont "luck to you!" - done - -_Route9BattleText5:: - text "Bwahaha!" - line "Great! I was" - cont "bored, eh!" - done - -_Route9EndBattleText5:: - text "Keep it" - line "coming, eh!" - - para "Oh wait. I'm out" - line "of #MON!" - prompt - -_Route9AfterBattleText5:: - text "You sure had guts" - line "standing up to me" - cont "there, eh?" - done - -_Route9BattleText6:: - text "Hahaha!" - line "Aren't you a" - cont "little toughie!" - done - -_Route9EndBattleText6:: - text "What's" - line "that?" - prompt - -_Route9AfterBattleText6:: - text "Hahaha! Kids" - line "should be tough!" - done - -_Route9BattleText7:: - text "I got up early" - line "every day to" - cont "raise my #MON" - cont "from cocoons!" - done - -_Route9EndBattleText7:: - text "WHAT?" - - para "What a total" - line "waste of time!" - prompt - -_Route9AfterBattleText7:: - text "I have to collect" - line "more than bugs to" - cont "get stronger..." - done - -_Route9BattleText8:: - text "Hahahaha!" - line "Come on, dude!" - done - -_Route9EndBattleText8:: - text "Hahahaha!" - line "You beat me fair!" - prompt - -_Route9AfterBattleText8:: - text "Hahahaha!" - line "Us hearty guys" - cont "always laugh!" - done - -_Route9BattleText9:: - text "Go, my super bug" - line "#MON!" - done - -_Route9EndBattleText9:: - text "My" - line "bugs..." - prompt - -_Route9AfterBattleText9:: - text "If you don't like" - line "bug #MON, you" - cont "bug me!" - done - -_Route9Text11:: - text "ROUTE 9" - line "CERULEAN CITY-" - cont "ROCK TUNNEL" - done diff --git a/text/maps/SSAnne1F.asm b/text/maps/SSAnne1F.asm deleted file mode 100644 index 2bbdcbac..00000000 --- a/text/maps/SSAnne1F.asm +++ /dev/null @@ -1,21 +0,0 @@ -_SSAnne1Text1:: - text "Bonjour!" - line "I am le waiter on" - cont "this ship!" - - para "I will be happy" - line "to serve you any-" - cont "thing you please!" - - para "Ah! Le strong" - line "silent type!" - done - -_SSAnne1Text2:: - text "The passengers" - line "are restless!" - - para "You might be" - line "challenged by the" - cont "more bored ones!" - done diff --git a/text/maps/SSAnne1FRooms.asm b/text/maps/SSAnne1FRooms.asm deleted file mode 100644 index 7a09303e..00000000 --- a/text/maps/SSAnne1FRooms.asm +++ /dev/null @@ -1,104 +0,0 @@ -_SSAnne8Text8:: - text "WIGGLYTUFF: Puup" - line "pupuu!@@" - -_SSAnne8BattleText1:: - text "I travel alone" - line "on my journeys!" - - para "My #MON are my" - line "only friends!" - done - -_SSAnne8EndBattleText1:: - text "My, my" - line "friends..." - prompt - -_SSAnne8AfterBattleText1:: - text "You should be" - line "nice to friends!" - done - -_SSAnne8BattleText2:: - text "You pup! How dare" - line "you barge in!" - done - -_SSAnne8EndBattleText2:: - text "Humph!" - line "You rude child!" - prompt - -_SSAnne8AfterBattleText2:: - text "I wish to be left" - line "alone! Get out!" - done - -_SSAnne8BattleText3:: - text "I love #MON!" - line "Do you?" - done - -_SSAnne8EndBattleText3:: - text "Wow! " - line "You're great!" - prompt - -_SSAnne8AfterBattleText3:: - text "Let me be your" - line "friend, OK?" - - para "Then we can trade" - line "#MON!" - done - -_SSAnne8BattleText4:: - text "I collected these" - line "#MON from all" - cont "around the world!" - done - -_SSAnne8EndBattleText4:: - text "Oh no!" - line "I went around the" - cont "world for these!" - prompt - -_SSAnne8AfterBattleText4:: - text "You hurt my poor" - line "worldly #MON!" - - para "I demand that you" - line "heal them at a" - cont "#MON CENTER!" - done - -_SSAnne8Text5:: - text "Waiter, I would" - line "like a cherry pie" - cont "please!" - done - -_SSAnne8Text6:: - text "A cruise is so" - line "elegant yet cozy!" - done - -_SSAnne8Text7:: - text "I always travel" - line "with WIGGLYTUFF!" - done - -_SSAnne8Text9:: - text "We are cruising" - line "around the world." - done - -_SSAnne8Text11:: - text "Ssh! I'm a GLOBAL" - line "POLICE agent!" - - para "I'm on the trail" - line "of TEAM ROCKET!" - done diff --git a/text/maps/SSAnne2F.asm b/text/maps/SSAnne2F.asm deleted file mode 100644 index 58d804ba..00000000 --- a/text/maps/SSAnne2F.asm +++ /dev/null @@ -1,63 +0,0 @@ -_SSAnne2Text1:: - text "This ship, she is" - line "a luxury liner" - cont "for trainers!" - - para "At every port, we" - line "hold parties with" - cont "invited trainers!" - done - -_SSAnneRivalBeforeBattleText:: - text ": Bonjour!" - line "!" - - para "Imagine seeing" - line "you here!" - - para ", were you" - line "really invited?" - - para "So how's your" - line "#DEX coming?" - - para "I already caught" - line "40 kinds, pal!" - - para "Different kinds" - line "are everywhere!" - - para "Crawl around in" - line "grassy areas!" - done - -_SSAnneRivalDefeatedText:: - text "Humph!" - - para "At least you're" - line "raising your" - cont "#MON!" - prompt - -_SSAnneRivalWonText:: - text "! What are" - line "you, seasick?" - - para "You should shape" - line "up, pal!" - prompt - -_SSAnneRivalCaptainText:: - text ": I heard" - line "there was a CUT" - cont "master on board." - - para "But, he was just a" - line "seasick, old man!" - - para "But, CUT itself is" - line "really useful!" - - para "You should go see" - line "him! Smell ya!" - done diff --git a/text/maps/SSAnne2FRooms.asm b/text/maps/SSAnne2FRooms.asm deleted file mode 100644 index a9be8cee..00000000 --- a/text/maps/SSAnne2FRooms.asm +++ /dev/null @@ -1,113 +0,0 @@ -_SSAnne9Text_61bf2:: - text "In all my travels" - line "I've never seen" - cont "any #MON sleep" - cont "like this one!" - - para "It was something" - line "like this!" - prompt - -_SSAnne9Text_61c01:: - text "Ah yes, I have" - line "seen some #MON" - cont "ferry people" - cont "across the water!" - done - -_SSAnne9Text_61c10:: - text "#MON can CUT" - line "down small bushes." - done - -_SSAnne9Text_61c1f:: - text "Have you gone to" - line "the SAFARI ZONE" - cont "in FUCHSIA CITY?" - - para "It had many rare" - line "kinds of #MON!!" - done - -_SSAnne9Text_61c2e:: - text "Me and my Daddy" - line "think the SAFARI" - cont "ZONE is awesome!" - done - -_SSAnne9Text_61c3d:: - text "The CAPTAIN looked" - line "really sick and" - cont "pale!" - done - -_SSAnne9Text_61c4c:: - text "I hear many people" - line "get seasick!" - done - -_SSAnne9BattleText1:: - text "Competing against" - line "the young keeps" - cont "me youthful." - done - -_SSAnne9EndBattleText1:: - text "Good" - line "fight! Ah, I feel" - cont "young again!" - prompt - -_SSAnne9AfterBattleText1:: - text "15 years ago, I" - line "would have won!" - done - -_SSAnne9BattleText2:: - text "Check out what I" - line "fished up!" - done - -_SSAnne9EndBattleText2:: - text "I'm" - line "all out!" - prompt - -_SSAnne9AfterBattleText2:: - text "Party?" - - para "The cruise ship's" - line "party should be" - cont "over by now." - done - -_SSAnne9BattleText3:: - text "Which do you like," - line "a strong or a" - cont "rare #MON?" - done - -_SSAnne9EndBattleText3:: - text "I must" - line "salute you!" - prompt - -_SSAnne9AfterBattleText3:: - text "I prefer strong" - line "and rare #MON." - done - -_SSAnne9BattleText4:: - text "I never saw you" - line "at the party." - done - -_SSAnne9EndBattleText4:: - text "Take" - line "it easy!" - prompt - -_SSAnne9AfterBattleText4:: - text "Oh, I adore your" - line "strong #MON!" - done diff --git a/text/maps/SSAnne3F.asm b/text/maps/SSAnne3F.asm deleted file mode 100644 index 76490594..00000000 --- a/text/maps/SSAnne3F.asm +++ /dev/null @@ -1,7 +0,0 @@ -_SSAnne3Text1:: - text "Our CAPTAIN is a" - line "sword master!" - - para "He even teaches" - line "CUT to #MON!" - done diff --git a/text/maps/SSAnneB1FRooms.asm b/text/maps/SSAnneB1FRooms.asm deleted file mode 100644 index 7df629b5..00000000 --- a/text/maps/SSAnneB1FRooms.asm +++ /dev/null @@ -1,112 +0,0 @@ -_SSAnne10Text8:: - text "MACHOKE: Gwoh!" - line "Goggoh!@@" - -_SSAnne10BattleText1:: - text "You know what they" - line "say about sailors" - cont "and fighting!" - done - -_SSAnne10EndBattleText1:: - text "Right!" - line "Good fight, mate!" - prompt - -_SSAnne10AfterBattleText1:: - text "Haha! Want to be" - line "a sailor, mate?" - done - -_SSAnne10BattleText2:: - text "My sailor's pride" - line "is at stake!" - done - -_SSAnne10EndBattleText2:: - text "Your" - line "spirit sank me!" - prompt - -_SSAnne10AfterBattleText2:: - text "Did you see the" - line "FISHING GURU in" - cont "VERMILION CITY?" - done - -_SSAnne10BattleText3:: - text "Us sailors have" - line "#MON too!" - done - -_SSAnne10EndBattleText3:: - text "OK, " - line "you're not bad." - prompt - -_SSAnne10AfterBattleText3:: - text "We caught all our" - line "#MON while" - cont "out at sea!" - done - -_SSAnne10BattleText4:: - text "I like feisty" - line "kids like you!@@" - -_SSAnne10EndBattleText4:: - text "Argh!" - line "Lost it!" - prompt - -_SSAnne10AfterBattleText4:: - text "Sea #MON live" - line "in deep water." - cont "You'll need a ROD!" - done - -_SSAnne10BattleText5:: - text "Matey, you're" - line "walking the plank" - cont "if you lose!" - done - -_SSAnne10EndBattleText5:: - text "Argh!" - line "Beaten by a kid!" - prompt - -_SSAnne10AfterBattleText5:: - text "Jellyfish some-" - line "times drift into" - cont "the ship." - done - -_SSAnne10BattleText6:: - text "Hello stranger!" - line "Stop and chat!" - - para "All my #MON" - line "are from the sea!" - done - -_SSAnne10EndBattleText6:: - text "Darn!" - line "I let that one" - cont "get away!" - prompt - -_SSAnne10AfterBattleText6:: - text "I was going to" - line "make you my" - cont "assistant too!" - done - -_SSAnne10Text7:: - text "My buddy, MACHOKE," - line "is super strong!" - - para "He has enough" - line "STRENGTH to move" - cont "big rocks!" - done diff --git a/text/maps/SSAnneBow.asm b/text/maps/SSAnneBow.asm deleted file mode 100644 index 76cd5631..00000000 --- a/text/maps/SSAnneBow.asm +++ /dev/null @@ -1,52 +0,0 @@ -_SSAnne5Text1:: - text "The party's over." - line "The ship will be" - cont "departing soon." - done - -_SSAnne5Text2:: - text "Scrubbing decks" - line "is hard work!" - done - -_SSAnne5Text3:: - text "Urf. I feel ill." - - para "I stepped out to" - line "get some air." - done - -_SSAnne5BattleText1:: - text "Hey matey!" - - para "Let's do a little" - line "jig!" - done - -_SSAnne5EndBattleText1:: - text "You're" - line "impressive!" - prompt - -_SSAnne5AfterBattleText1:: - text "How many kinds of" - line "#MON do you" - cont "think there are?" - done - -_SSAnne5BattleText2:: - text "Ahoy there!" - line "Are you seasick?" - done - -_SSAnne5EndBattleText2:: - text "I was" - line "just careless!" - prompt - -_SSAnne5AfterBattleText2:: - text "My Pa said there" - line "are 100 kinds of" - cont "#MON. I think" - cont "there are more." - done diff --git a/text/maps/SSAnneCaptainsRoom.asm b/text/maps/SSAnneCaptainsRoom.asm deleted file mode 100644 index 7bf004da..00000000 --- a/text/maps/SSAnneCaptainsRoom.asm +++ /dev/null @@ -1,62 +0,0 @@ -_SSAnne7RubText:: - text "CAPTAIN: Ooargh..." - line "I feel hideous..." - cont "Urrp! Seasick..." - - para " rubbed" - line "the CAPTAIN's" - cont "back!" - - para "Rub-rub..." - line "Rub-rub...@@" - -_ReceivingHM01Text:: - text "CAPTAIN: Whew!" - line "Thank you! I" - cont "feel much better!" - - para "You want to see" - line "my CUT technique?" - - para "I could show you" - line "if I wasn't ill..." - - para "I know! You can" - line "have this!" - - para "Teach it to your" - line "#MON and you" - cont "can see it CUT" - cont "any time!" - prompt - -_ReceivedHM01Text:: - text " got" - line "@" - TX_RAM wcf4b - text "!@@" - -_SSAnne7Text_61932:: - text "CAPTAIN: Whew!" - - para "Now that I'm not" - line "sick any more, I" - cont "guess it's time." - done - -_HM01NoRoomText:: - text "Oh no! You have" - line "no room for this!" - done - -_SSAnne7Text2:: - text "Yuck! Shouldn't" - line "have looked!" - done - -_SSAnne7Text3:: - text "How to Conquer" - line "Seasickness..." - cont "The CAPTAIN's" - cont "reading this!" - done diff --git a/text/maps/SSAnneKitchen.asm b/text/maps/SSAnneKitchen.asm deleted file mode 100644 index 7fcc9973..00000000 --- a/text/maps/SSAnneKitchen.asm +++ /dev/null @@ -1,69 +0,0 @@ -_SSAnne6Text1:: - text "You, mon petit!" - line "We're busy here!" - cont "Out of the way!" - done - -_SSAnne6Text2:: - text "I saw an odd ball" - line "in the trash." - done - -_SSAnne6Text3:: - text "I'm so busy I'm" - line "getting dizzy!" - done - -_SSAnne6Text4:: - text "Hum-de-hum-de-" - line "ho..." - - para "I peel spuds" - line "every day!" - cont "Hum-hum..." - done - -_SSAnne6Text5:: - text "Did you hear about" - line "SNORLAX?" - - para "All it does is" - line "eat and sleep!" - done - -_SSAnne6Text6:: - text "Snivel...Sniff..." - - para "I only get to" - line "peel onions..." - cont "Snivel..." - done - -_SSAnne6Text_61807:: - text "Er-hem! Indeed I" - line "am le CHEF!" - - para "Le main course is" - prompt - -_SSAnne6Text_6180c:: - text "Salmon du Salad!" - - para "Les guests may" - line "gripe it's fish" - cont "again, however!" - done - -_SSAnne6Text_61811:: - text "Eels au Barbecue!" - - para "Les guests will" - line "mutiny, I fear." - done - -_SSAnne6Text_61816:: - text "Prime Beef Steak!" - - para "But, have I enough" - line "fillets du beef?" - done diff --git a/text/maps/SafariZoneCenter.asm b/text/maps/SafariZoneCenter.asm deleted file mode 100644 index 09918f93..00000000 --- a/text/maps/SafariZoneCenter.asm +++ /dev/null @@ -1,11 +0,0 @@ -_SafariZoneCenterText2:: - text "REST HOUSE" - done - -_SafariZoneCenterText3:: - text "TRAINER TIPS" - - para "Press the START" - line "Button to check" - cont "remaining time!" - done diff --git a/text/maps/SafariZoneCenterRestHouse.asm b/text/maps/SafariZoneCenterRestHouse.asm deleted file mode 100644 index b6c87818..00000000 --- a/text/maps/SafariZoneCenterRestHouse.asm +++ /dev/null @@ -1,11 +0,0 @@ -_SafariZoneRestHouse1Text1:: - text "SARA: Where did" - line "my boy friend," - cont "ERIK, go?" - done - -_SafariZoneRestHouse1Text2:: - text "I'm catching" - line "#MON to take" - cont "home as gifts!" - done diff --git a/text/maps/SafariZoneEast.asm b/text/maps/SafariZoneEast.asm deleted file mode 100644 index eebe5de7..00000000 --- a/text/maps/SafariZoneEast.asm +++ /dev/null @@ -1,16 +0,0 @@ -_SafariZoneEastText5:: - text "REST HOUSE" - done - -_SafariZoneEastText6:: - text "TRAINER TIPS" - - para "The remaining time" - line "declines only" - cont "while you walk!" - done - -_SafariZoneEastText7:: - text "CENTER AREA" - line "NORTH: AREA 2" - done diff --git a/text/maps/SafariZoneEastRestHouse.asm b/text/maps/SafariZoneEastRestHouse.asm deleted file mode 100644 index d5f7abc8..00000000 --- a/text/maps/SafariZoneEastRestHouse.asm +++ /dev/null @@ -1,18 +0,0 @@ -_SafariZoneRestHouse3Text1:: - text "How many did you" - line "catch? I'm bushed" - cont "from the work!" - done - -_SafariZoneRestHouse3Text2:: - text "I caught a" - line "CHANSEY!" - - para "That makes this" - line "all worthwhile!" - done - -_SafariZoneRestHouse3Text3:: - text "Whew! I'm tired" - line "from all the fun!" - done diff --git a/text/maps/SafariZoneGate.asm b/text/maps/SafariZoneGate.asm deleted file mode 100644 index 5c143891..00000000 --- a/text/maps/SafariZoneGate.asm +++ /dev/null @@ -1,94 +0,0 @@ -_SafariZoneEntranceText1:: - text "Welcome to the" - line "SAFARI ZONE!" - done - -SafariZoneEntranceText_9e6e4:: - text "For just ¥500," - line "you can catch all" - cont "the #MON you" - cont "want in the park!" - - para "Would you like to" - line "join the hunt?@@" - -SafariZoneEntranceText_9e747:: - text "That'll be ¥500" - line "please!" - - para "We only use a" - line "special # BALL" - cont "here." - - para " received" - line "30 SAFARI BALLs!@@" - -_SafariZoneEntranceText_75360:: - text "" - - para "We'll call you on" - line "the PA when you" - cont "run out of time" - cont "or SAFARI BALLs!" - done - -_SafariZoneEntranceText_75365:: - text "OK! Please come" - line "again!" - done - -_SafariZoneEntranceText_7536a:: - text "Oops! Not enough" - line "money!" - done - -SafariZoneEntranceText_9e814:: - text "Leaving early?@@" - -_SafariZoneEntranceText_753bb:: - text "Please return any" - line "SAFARI BALLs you" - cont "have left." - done - -_SafariZoneEntranceText_753c0:: - text "Good Luck!" - done - -_SafariZoneEntranceText_753c5:: - text "Did you get a" - line "good haul?" - cont "Come again!" - done - -_SafariZoneEntranceText_753e6:: - text "Hi! Is it your" - line "first time here?" - done - -_SafariZoneEntranceText_753eb:: - text "SAFARI ZONE has 4" - line "zones in it." - - para "Each zone has" - line "different kinds" - cont "of #MON. Use" - cont "SAFARI BALLs to" - cont "catch them!" - - para "When you run out" - line "of time or SAFARI" - cont "BALLs, it's game" - cont "over for you!" - - para "Before you go," - line "open an unused" - cont "#MON BOX so" - cont "there's room for" - cont "new #MON!" - done - -_SafariZoneEntranceText_753f0:: - text "Sorry, you're a" - line "regular here!" - done diff --git a/text/maps/SafariZoneNorth.asm b/text/maps/SafariZoneNorth.asm deleted file mode 100644 index 1e148f0b..00000000 --- a/text/maps/SafariZoneNorth.asm +++ /dev/null @@ -1,33 +0,0 @@ -_SafariZoneNorthText3:: - text "REST HOUSE" - done - -_SafariZoneNorthText4:: - text "TRAINER TIPS" - - para "The SECRET HOUSE" - line "is still ahead!" - done - -_SafariZoneNorthText5:: - text "AREA 2" - done - -_SafariZoneNorthText6:: - text "TRAINER TIPS" - - para "#MON hide in" - line "tall grass!" - - para "Zigzag through" - line "grassy areas to" - cont "flush them out." - done - -_SafariZoneNorthText7:: - text "TRAINER TIPS" - - para "Win a free HM for" - line "finding the" - cont "SECRET HOUSE!" - done diff --git a/text/maps/SafariZoneNorthRestHouse.asm b/text/maps/SafariZoneNorthRestHouse.asm deleted file mode 100644 index 93f02c8f..00000000 --- a/text/maps/SafariZoneNorthRestHouse.asm +++ /dev/null @@ -1,27 +0,0 @@ -_SafariZoneRestHouse4Text1:: - text "You can keep any" - line "item you find on" - cont "the ground here." - - para "But, you'll run" - line "out of time if" - cont "you try for all" - cont "of them at once!" - done - -_SafariZoneRestHouse4Text2:: - text "Go to the deepest" - line "part of the" - cont "SAFARI ZONE. You" - cont "will win a prize!" - done - -_SafariZoneRestHouse4Text3:: - text "My EEVEE evolved" - line "into FLAREON!" - - para "But, a friend's" - line "EEVEE turned into" - cont "a VAPOREON!" - cont "I wonder why?" - done diff --git a/text/maps/SafariZoneSecretHouse.asm b/text/maps/SafariZoneSecretHouse.asm deleted file mode 100644 index 3df79d90..00000000 --- a/text/maps/SafariZoneSecretHouse.asm +++ /dev/null @@ -1,44 +0,0 @@ -_SecretHouseText_4a350:: - text "Ah! Finally!" - - para "You're the first" - line "person to reach" - cont "the SECRET HOUSE!" - - para "I was getting" - line "worried that no" - cont "one would win our" - cont "campaign prize." - - para "Congratulations!" - line "You have won!" - prompt - -_ReceivedHM03Text:: - text " received" - line "@" - TX_RAM wcf4b - text "!@@" - -_HM03ExplanationText:: - text "HM03 is SURF!" - - para "#MON will be" - line "able to ferry you" - cont "across water!" - - para "And, this HM isn't" - line "disposable! You" - cont "can use it over" - cont "and over!" - - para "You're super lucky" - line "for winning this" - cont "fabulous prize!" - done - -_HM03NoRoomText:: - text "You don't have" - line "room for this" - cont "fabulous prize!" - done diff --git a/text/maps/SafariZoneWest.asm b/text/maps/SafariZoneWest.asm deleted file mode 100644 index dcb2fe6c..00000000 --- a/text/maps/SafariZoneWest.asm +++ /dev/null @@ -1,31 +0,0 @@ -_SafariZoneWestText5:: - text "REST HOUSE" - done - -_SafariZoneWestText6:: - text "REQUEST NOTICE" - - para "Please find the" - line "SAFARI WARDEN's" - cont "lost GOLD TEETH." - cont "They're around" - cont "here somewhere." - - para "Reward offered!" - line "Contact: WARDEN" - done - -_SafariZoneWestText7:: - text "TRAINER TIPS" - - para "Zone Exploration" - line "Campaign!" - - para "The Search for" - line "the SECRET HOUSE!" - done - -_SafariZoneWestText8:: - text "AREA 3" - line "EAST: CENTER AREA" - done diff --git a/text/maps/SafariZoneWestRestHouse.asm b/text/maps/SafariZoneWestRestHouse.asm deleted file mode 100644 index 94802b13..00000000 --- a/text/maps/SafariZoneWestRestHouse.asm +++ /dev/null @@ -1,19 +0,0 @@ -_SafariZoneRestHouse2Text1:: - text "Tossing ROCKs at" - line "#MON might" - cont "make them run," - cont "but they'll be" - cont "easier to catch." - done - -_SafariZoneRestHouse2Text2:: - text "Using BAIT will" - line "make #MON" - cont "easier to catch." - done - -_SafariZoneRestHouse2Text3:: - text "I hiked a lot, but" - line "I didn't see any" - cont "#MON I wanted." - done diff --git a/text/maps/SaffronCity.asm b/text/maps/SaffronCity.asm deleted file mode 100644 index a0422c8c..00000000 --- a/text/maps/SaffronCity.asm +++ /dev/null @@ -1,151 +0,0 @@ -_SaffronCityText1:: - text "What do you want?" - line "Get lost!" - done - -_SaffronCityText2:: - text "BOSS said he'll" - line "take this town!" - done - -_SaffronCityText3:: - text "Get out of the" - line "way!" - done - -_SaffronCityText4:: - text "SAFFRON belongs" - line "to TEAM ROCKET!" - done - -_SaffronCityText5:: - text "Being evil makes" - line "me feel so alive!" - done - -_SaffronCityText6:: - text "Ow! Watch where" - line "you're walking!" - done - -_SaffronCityText7:: - text "With SILPH under" - line "control, we can" - cont "exploit #MON" - cont "around the world!" - done - -_SaffronCityText8:: - text "You beat TEAM" - line "ROCKET all alone?" - cont "That's amazing!" - done - -_SaffronCityText9:: - text "Yeah! TEAM ROCKET" - line "is gone!" - cont "It's safe to go" - cont "out again!" - done - -_SaffronCityText10:: - text "People should be" - line "flocking back to" - cont "SAFFRON now." - done - -_SaffronCityText11:: - text "I flew here on my" - line "PIDGEOT when I" - cont "read about SILPH." - - para "It's already over?" - line "I missed the" - cont "media action." - done - -_SaffronCityText12:: - text "PIDGEOT: Bi bibii!@@" - -_SaffronCityText13:: - text "I saw ROCKET" - line "BOSS escaping" - cont "SILPH's building." - done - -_SaffronCityText14:: - text "I'm a security" - line "guard." - - para "Suspicious kids I" - line "don't allow in!" - done - -_SaffronCityText15:: - text "..." - line "Snore..." - - para "Hah! He's taking" - line "a snooze!" - done - -_SaffronCityText16:: - text "SAFFRON CITY" - line "Shining, Golden" - cont "Land of Commerce" - done - -_SaffronCityText17:: - text "FIGHTING DOJO" - done - -_SaffronCityText18:: - text "SAFFRON CITY" - line "#MON GYM" - cont "LEADER: SABRINA" - - para "The Master of" - line "Psychic #MON!" - done - -_SaffronCityText20:: - text "TRAINER TIPS" - - para "FULL HEAL cures" - line "all ailments like" - cont "sleep and burns." - - para "It costs a bit" - line "more, but it's" - cont "more convenient." - done - -_SaffronCityText21:: - text "TRAINER TIPS" - - para "New GREAT BALL" - line "offers improved" - cont "capture rates." - - para "Try it on those" - line "hard-to-catch" - cont "#MON." - done - -_SaffronCityText22:: - text "SILPH CO." - line "OFFICE BUILDING" - done - -_SaffronCityText24:: - text "MR.PSYCHIC's" - line "HOUSE" - done - -_SaffronCityText25:: - text "SILPH's latest" - line "product!" - - para "Release to be" - line "determined..." - done diff --git a/text/maps/SaffronGates.asm b/text/maps/SaffronGates.asm deleted file mode 100644 index 9bb4601f..00000000 --- a/text/maps/SaffronGates.asm +++ /dev/null @@ -1,37 +0,0 @@ -_SaffronGateText_1dfe7:: - text "I'm on guard duty." - line "Gee, I'm thirsty," - cont "though!" - - para "Oh wait there," - line "the road's closed." - done - -_SaffronGateText_8aaa9:: - text "Whoa, boy!" - line "I'm parched!" - cont "..." - cont "Huh? I can have" - cont "this drink?" - cont "Gee, thanks!@@" - -_SaffronGateText_1dff1:: - text "" - - para "..." - line "Glug glug..." - cont "..." - cont "Gulp..." - cont "If you want to go" - cont "to SAFFRON CITY..." - cont "..." - cont "You can go on" - cont "through. I'll" - cont "share this with" - cont "the other guards!" - done - -_SaffronGateText_1dff6:: - text "Hi, thanks for" - line "the cool drinks!" - done diff --git a/text/maps/SaffronGym.asm b/text/maps/SaffronGym.asm deleted file mode 100644 index 6f49a331..00000000 --- a/text/maps/SaffronGym.asm +++ /dev/null @@ -1,237 +0,0 @@ -_SaffronGymText_5d162:: - text "I had a vision of" - line "your arrival!" - - para "I have had psychic" - line "powers since I" - cont "was a child." - - para "I first learned" - line "to bend spoons" - cont "with my mind." - - para "I dislike fight-" - line "ing, but if you" - cont "wish, I will show" - cont "you my powers!" - done - -_SaffronGymText_5d167:: - text "I'm" - line "shocked!" - cont "But, a loss is a" - cont "loss." - - para "I admit I didn't" - line "work hard enough" - cont "to win!" - - para "You earned the" - line "MARSHBADGE!@@" - -_SaffronGymText_5d16e:: - text "Everyone has" - line "psychic power!" - cont "People just don't" - cont "realize it!" - done - -_SaffronGymText_5d173:: - text "The MARSHBADGE" - line "makes #MON up" - cont "to L70 obey you!" - - para "Stronger #MON" - line "will become wild," - cont "ignoring your" - cont "orders in battle!" - - para "Just don't raise" - line "your #MON too" - cont "much!" - - para "Wait, please take" - line "this TM with you!" - done - -ReceivedTM46Text:: - text " received" - line "TM46!@@" - -_TM46ExplanationText:: - text "" - - para "TM46 is PSYWAVE!" - line "It uses powerful" - cont "psychic waves to" - cont "inflict damage!" - done - -_TM46NoRoomText:: - text "Your pack is full" - line "of other items!" - done - -_SaffronGymText_5d1e6:: - text "Yo! Champ in" - line "making!" - - para "SABRINA's #MON" - line "use psychic power" - cont "instead of force!" - - para "Fighting #MON" - line "are weak against" - cont "psychic #MON!" - - para "They get creamed" - line "before they can" - cont "even aim a punch!" - done - -_SaffronGymText_5d1eb:: - text "Psychic power," - line "huh?" - - para "If I had that," - line "I'd make a bundle" - cont "at the slots!" - done - -_SaffronGymBattleText1:: - text "SABRINA is younger" - line "than I, but I" - cont "respect her!" - done - -_SaffronGymEndBattleText1:: - text "Not" - line "good enough!" - prompt - -_SaffronGymAfterBattleText1:: - text "In a battle of" - line "equals, the one" - cont "with the stronger" - cont "will wins!" - - para "If you wish" - line "to beat SABRINA," - cont "focus on winning!" - done - -_SaffronGymBattleText2:: - text "Does our unseen" - line "power scare you?" - done - -_SaffronGymEndBattleText2:: - text "I never" - line "foresaw this!" - prompt - -_SaffronGymAfterBattleText2:: - text "Psychic #MON" - line "fear only ghosts" - cont "and bugs!" - done - -_SaffronGymBattleText3:: - text "#MON take on" - line "the appearance of" - cont "their trainers." - - para "Your #MON must" - line "be tough, then!" - done - -_SaffronGymEndBattleText3:: - text "I knew" - line "it!" - prompt - -_SaffronGymAfterBattleText3:: - text "I must teach" - line "better techniques" - cont "to my #MON!" - done - -_SaffronGymBattleText4:: - text "You know that" - line "power alone isn't" - cont "enough!" - done - -_SaffronGymEndBattleText4:: - text "I don't" - line "believe this!" - prompt - -_SaffronGymAfterBattleText4:: - text "SABRINA just wiped" - line "out the KARATE" - cont "MASTER next door!" - done - -_SaffronGymBattleText5:: - text "You and I, our" - line "#MON shall" - cont "fight!" - done - -_SaffronGymEndBattleText5:: - text "I lost" - line "after all!" - prompt - -_SaffronGymAfterBattleText5:: - text "I knew that this" - line "was going to take" - cont "place." - done - -_SaffronGymBattleText6:: - text "SABRINA is young," - line "but she's also" - cont "our LEADER!" - - para "You won't reach" - line "her easily!" - done - -_SaffronGymEndBattleText6:: - text "I lost" - line "my concentration!" - prompt - -_SaffronGymAfterBattleText6:: - text "There used to be" - line "2 #MON GYMs in" - cont "SAFFRON." - - para "The FIGHTING DOJO" - line "next door lost" - cont "its GYM status" - cont "when we went and" - cont "creamed them!" - done - -_SaffronGymBattleText7:: - text "SAFFRON #MON" - line "GYM is famous for" - cont "its psychics!" - - para "You want to see" - line "SABRINA!" - cont "I can tell!" - done - -_SaffronGymEndBattleText7:: - text "Arrrgh!" - prompt - -_SaffronGymAfterBattleText7:: - text "That's right! I" - line "used telepathy to" - cont "read your mind!" - done diff --git a/text/maps/SaffronMart.asm b/text/maps/SaffronMart.asm deleted file mode 100644 index a43b0d94..00000000 --- a/text/maps/SaffronMart.asm +++ /dev/null @@ -1,13 +0,0 @@ -_SaffronMartText2:: - text "MAX REPEL lasts" - line "longer than SUPER" - cont "REPEL for keeping" - cont "weaker #MON" - cont "away!" - done - -_SaffronMartText3:: - text "REVIVE is costly," - line "but it revives" - cont "fainted #MON!" - done diff --git a/text/maps/SaffronPidgeyHouse.asm b/text/maps/SaffronPidgeyHouse.asm deleted file mode 100644 index 214bf089..00000000 --- a/text/maps/SaffronPidgeyHouse.asm +++ /dev/null @@ -1,26 +0,0 @@ -_SaffronHouse1Text1:: - text "Thank you for" - line "writing. I hope" - cont "to see you soon!" - - para "Hey! Don't look" - line "at my letter!" - done - -_SaffronHouse1Text2:: - text "PIDGEY: Kurukkoo!@@" - -_SaffronHouse1Text3:: - text "The COPYCAT is" - line "cute! I'm getting" - cont "her a # DOLL!" - done - -_SaffronHouse1Text4:: - text "I was given a PP" - line "UP as a gift." - - para "It's used for" - line "increasing the PP" - cont "of techniques!" - done diff --git a/text/maps/SaffronPokecenter.asm b/text/maps/SaffronPokecenter.asm deleted file mode 100644 index 6548aff8..00000000 --- a/text/maps/SaffronPokecenter.asm +++ /dev/null @@ -1,12 +0,0 @@ -_SaffronPokecenterText2:: - text "#MON growth" - line "rates differ from" - cont "specie to specie." - done - -_SaffronPokecenterText3:: - text "SILPH CO. is very" - line "famous. That's" - cont "why it attracted" - cont "TEAM ROCKET!" - done diff --git a/text/maps/SeafoamIslandsB4F.asm b/text/maps/SeafoamIslandsB4F.asm deleted file mode 100644 index 608d165f..00000000 --- a/text/maps/SeafoamIslandsB4F.asm +++ /dev/null @@ -1,13 +0,0 @@ -_ArticunoBattleText:: - text "Gyaoo!@@" - -_SeafoamIslands5Text4:: - text "Boulders might" - line "change the flow" - cont "of water!" - done - -_SeafoamIslands5Text5:: - text "DANGER" - line "Fast current!" - done diff --git a/text/maps/SilphCo10F.asm b/text/maps/SilphCo10F.asm deleted file mode 100644 index e916c64a..00000000 --- a/text/maps/SilphCo10F.asm +++ /dev/null @@ -1,42 +0,0 @@ -_SilphCo10Text_5a1d3:: - text "Waaaaa!" - cont "I'm scared!" - done - -_SilphCo10Text_5a1d8:: - text "Please keep quiet" - line "about my crying!" - done - -_SilphCo10BattleText1:: - text "Welcome to the" - line "10F! So good of" - cont "you to join me!" - done - -_SilphCo10EndBattleText1:: - text "I'm" - line "stunned!" - prompt - -_SilphCo10AfterBattleText1:: - text "Nice try, but the" - line "boardroom is up" - cont "one more floor!" - done - -_SilphCo10BattleText2:: - text "Enough of your" - line "silly games!" - done - -_SilphCo10EndBattleText2:: - text "No" - line "continues left!" - prompt - -_SilphCo10AfterBattleText2:: - text "Are you satisfied" - line "with beating me?" - cont "Then go on home!" - done diff --git a/text/maps/SilphCo11F.asm b/text/maps/SilphCo11F.asm deleted file mode 100644 index fbaa6086..00000000 --- a/text/maps/SilphCo11F.asm +++ /dev/null @@ -1,134 +0,0 @@ -_SilphCoPresidentText:: - text "PRESIDENT: Thank" - line "you for saving" - cont "SILPH!" - - para "I will never" - line "forget you saved" - cont "us in our moment" - cont "of peril!" - - para "I have to thank" - line "you in some way!" - - para "Because I am rich," - line "I can give you" - cont "anything!" - - para "Here, maybe this" - line "will do!" - prompt - -_ReceivedSilphCoMasterBallText:: - text " got a" - line "@" - TX_RAM wcf4b - text "!@@" - -_SilphCo10Text_6231c:: - text "PRESIDENT: You" - line "can't buy that" - cont "anywhere!" - - para "It's our secret" - line "prototype MASTER" - cont "BALL!" - - para "It will catch any" - line "#MON without" - cont "fail!" - - para "You should be" - line "quiet about using" - cont "it, though." - done - -_SilphCoMasterBallNoRoomText:: - text "You have no" - line "room for this." - done - -_SilphCo11Text2:: - text "SECRETARY: Thank" - line "you for rescuing" - cont "all of us!" - - para "We admire your" - line "courage." - done - -_SilphCo11Text3:: - text "Ah !" - line "So we meet again!" - - para "The PRESIDENT and" - line "I are discussing" - cont "a vital business" - cont "proposition." - - para "Keep your nose" - line "out of grown-up" - cont "matters..." - - para "Or, experience a" - line "world of pain!" - done - -_SilphCo10Text_62330:: - text "Arrgh!!" - line "I lost again!?" - prompt - -_SilphCo10Text_62335:: - text "Blast it all!" - line "You ruined our" - cont "plans for SILPH!" - - para "But, TEAM ROCKET" - line "will never fall!" - - para "! Never" - line "forget that all" - cont "#MON exist" - cont "for TEAM ROCKET!" - - para "I must go, but I" - line "shall return!" - done - -_SilphCo11BattleText1:: - text "Stop right there!" - line "Don't you move!" - done - -_SilphCo11EndBattleText1:: - text "Don't..." - line "Please!" - prompt - -_SilphCo11AfterBattleText1:: - text "So, you want to" - line "see my BOSS?" - done - -_SilphCo11BattleText2:: - text "Halt! Do you have" - line "an appointment" - cont "with my BOSS?" - done - -_SilphCo11EndBattleText2:: - text "Gaah!" - line "Demolished!" - prompt - -_SilphCo11AfterBattleText2:: - text "Watch your step," - line "my BOSS likes his" - cont "#MON tough!" - done - -_SilphCo10Text_6237b:: - text "The monitor has" - line "#MON on it!" - done diff --git a/text/maps/SilphCo1F.asm b/text/maps/SilphCo1F.asm deleted file mode 100644 index 1ef80189..00000000 --- a/text/maps/SilphCo1F.asm +++ /dev/null @@ -1,7 +0,0 @@ -_SilphCo1Text1:: - text "Welcome!" - - para "The PRESIDENT is" - line "in the boardroom" - cont "on 11F!" - done diff --git a/text/maps/SilphCo2F.asm b/text/maps/SilphCo2F.asm deleted file mode 100644 index bd87630a..00000000 --- a/text/maps/SilphCo2F.asm +++ /dev/null @@ -1,96 +0,0 @@ -_SilphCo2Text_59ded:: - text "Eeek!" - line "No! Stop! Help!" - - para "Oh, you're not" - line "with TEAM ROCKET." - cont "I thought..." - cont "I'm sorry. Here," - cont "please take this!" - prompt - -_ReceivedTM36Text:: - text " got" - line "@" - TX_RAM wcf4b - text "!@@" - -_TM36ExplanationText:: - text "TM36 is" - line "SELFDESTRUCT!" - - para "It's powerful, but" - line "the #MON that" - cont "uses it faints!" - cont "Be careful." - done - -_TM36NoRoomText:: - text "You don't have any" - line "room for this." - done - -_SilphCo2BattleText1:: - text "Help! I'm a SILPH" - line "employee." - done - -_SilphCo2EndBattleText1:: - text "How" - line "did you know I" - cont "was a ROCKET?" - prompt - -_SilphCo2AfterBattleText1:: - text "I work for both" - line "SILPH and TEAM" - cont "ROCKET!" - done - -_SilphCo2BattleText2:: - text "It's off limits" - line "here! Go home!" - done - -_SilphCo2EndBattleText2:: - text "You're" - line "good." - prompt - -_SilphCo2AfterBattleText2:: - text "Can you solve the" - line "maze in here?" - done - -_SilphCo2BattleText3:: - text "No kids are" - line "allowed in here!" - done - -_SilphCo2EndBattleText3:: - text "Tough!" - prompt - -_SilphCo2AfterBattleText3:: - text "Diamond shaped" - line "tiles are" - cont "teleport blocks!" - - para "They're hi-tech" - line "transporters!" - done - -_SilphCo2BattleText4:: - text "Hey kid! What are" - line "you doing here?" - done - -_SilphCo2EndBattleText4:: - text "I goofed!" - prompt - -_SilphCo2AfterBattleText4:: - text "SILPH CO. will" - line "be merged with" - cont "TEAM ROCKET!" - done diff --git a/text/maps/SilphCo3F.asm b/text/maps/SilphCo3F.asm deleted file mode 100644 index b6a023f9..00000000 --- a/text/maps/SilphCo3F.asm +++ /dev/null @@ -1,46 +0,0 @@ -_SilphCo3Text_59ff9:: - text "I work for SILPH." - line "What should I do?" - done - -_SilphCo3Text_59ffe:: - text "! You and" - line "your #MON" - cont "saved us!" - done - -_SilphCo3BattleText1:: - text "Quit messing with" - line "us, kid!" - done - -_SilphCo3EndBattleText1:: - text "I give" - line "up!" - prompt - -_SilphCo3AfterBattleText1:: - text "A hint? You can" - line "open doors with a" - cont "CARD KEY!" - done - -_SilphCo3BattleText2:: - text "I support TEAM" - line "ROCKET more than" - cont "I support SILPH!" - done - -_SilphCo3EndBattleText2:: - text "You" - line "really got me!" - prompt - -_SilphCo3AfterBattleText2:: - text "Humph..." - - para "TEAM ROCKET said" - line "that if I helped" - cont "them, they'd let" - cont "me study #MON!" - done diff --git a/text/maps/SilphCo4F.asm b/text/maps/SilphCo4F.asm deleted file mode 100644 index 5b484ec7..00000000 --- a/text/maps/SilphCo4F.asm +++ /dev/null @@ -1,56 +0,0 @@ -_SilphCo4Text_19de0:: - text "Sssh! Can't you" - line "see I'm hiding?" - done - -_SilphCo4Text_19de5:: - text "Huh? TEAM ROCKET" - line "is gone?" - done - -_SilphCo4BattleText2:: - text "TEAM ROCKET has" - line "taken command of" - cont "SILPH CO.!" - done - -_SilphCo4EndBattleText2:: - text "Arrgh!" - prompt - -_SilphCo4AfterBattleText2:: - text "Fwahahaha!" - line "My BOSS has been" - cont "after this place!" - done - -_SilphCo4BattleText3:: - text "My #MON are my" - line "loyal soldiers!" - done - -_SilphCo4EndBattleText3:: - text "Darn!" - line "You weak #MON!" - prompt - -_SilphCo4AfterBattleText3:: - text "The doors are" - line "electronically" - cont "locked! A CARD" - cont "KEY opens them!" - done - -_SilphCo4BattleText4:: - text "Intruder spotted!" - done - -_SilphCo4EndBattleText4:: - text "Who" - line "are you?" - prompt - -_SilphCo4AfterBattleText4:: - text "I better tell the" - line "BOSS on 11F!" - done diff --git a/text/maps/SilphCo5F.asm b/text/maps/SilphCo5F.asm deleted file mode 100644 index dab42539..00000000 --- a/text/maps/SilphCo5F.asm +++ /dev/null @@ -1,51 +0,0 @@ -_SilphCo5Text_1a010:: - text "TEAM ROCKET is" - line "in an uproar over" - cont "some intruder." - cont "That's you right?" - done - -_SilphCo5Text_1a015:: - text "TEAM ROCKET took" - line "off! You're our" - cont "hero! Thank you!" - done - -_SilphCo5BattleText2:: - text "I heard a kid was" - line "wandering around." - done - -_SilphCo5EndBattleText2:: - text "Boom!" - prompt - -_SilphCo5AfterBattleText2:: - text "It's not smart" - line "to pick a fight" - cont "with TEAM ROCKET!" - done - -_SilphCo5BattleText3:: - text "We study #" - line "BALL technology" - cont "on this floor!" - done - -_SilphCo5EndBattleText3:: - text "Dang!" - line "Blast it!" - prompt - -_SilphCo5AfterBattleText3:: - text "We worked on the" - line "ultimate #" - cont "BALL which would" - cont "catch anything!" - done - -_SilphCo5BattleText4:: - text "Whaaat? There" - line "shouldn't be any" - cont "children here?" - done diff --git a/text/maps/SilphCo5F_2.asm b/text/maps/SilphCo5F_2.asm deleted file mode 100644 index 3c1b8ead..00000000 --- a/text/maps/SilphCo5F_2.asm +++ /dev/null @@ -1,55 +0,0 @@ -_SilphCo5EndBattleText4:: - text "Oh" - line "goodness!" - prompt - -_SilphCo5AfterBattleText4:: - text "You're only on 5F." - line "It's a long way" - cont "to my BOSS!" - done - -_SilphCo5BattleText5:: - text "Show TEAM ROCKET" - line "a little respect!" - done - -_SilphCo5EndBattleText5:: - text "Cough..." - line "Cough..." - prompt - -_SilphCo5AfterBattleText5:: - text "Which reminds me." - - para "KOFFING evolves" - line "into WEEZING!" - done - -_SilphCo5Text9:: - text "It's a #MON" - line "REPORT!" - - para "#MON LAB" - line "created PORYGON," - cont "the first virtual" - cont "reality #MON." - done - -_SilphCo5Text10:: - text "It's a #MON" - line "REPORT!" - - para "Over 160 #MON" - line "techniques have" - cont "been confirmed." - done - -_SilphCo5Text11:: - text "It's a #MON" - line "REPORT!" - - para "4 #MON evolve" - line "only when traded" - cont "by link-cable." - done diff --git a/text/maps/SilphCo6F.asm b/text/maps/SilphCo6F.asm deleted file mode 100644 index 90456b5c..00000000 --- a/text/maps/SilphCo6F.asm +++ /dev/null @@ -1,107 +0,0 @@ -_SilphCo6Text_1a24a:: - text "The ROCKETs came" - line "and took over the" - cont "building!" - done - -_SilphCo6Text_1a24f:: - text "Well, better get" - line "back to work!" - done - -_SilphCo6Text_1a261:: - text "Oh dear, oh dear." - line "Help me please!" - done - -_SilphCo6Text_1a266:: - text "We got engaged!" - line "Heheh!" - done - -_SilphCo6Text_1a278:: - text "Look at him! He's" - line "such a coward!" - done - -_SilphCo6Text_1a27d:: - text "I feel so sorry" - line "for him, I have" - cont "to marry him!" - done - -_SilphCo6Text_1a28f:: - text "TEAM ROCKET is" - line "trying to conquer" - cont "the world with" - cont "#MON!" - done - -_SilphCo6Text_1a294:: - text "TEAM ROCKET ran" - line "because of you!" - done - -_SilphCo6Text_1a2a6:: - text "They must have" - line "targeted SILPH" - cont "for our #MON" - cont "products." - done - -_SilphCo6Text_1a2ab:: - text "Come work for" - line "SILPH when you" - cont "get older!" - done - -_SilphCo6BattleText2:: - text "I am one of the 4" - line "ROCKET BROTHERS!" - done - -_SilphCo6EndBattleText2:: - text "Flame" - line "out!" - prompt - -_SilphCo6AfterBattleText2:: - text "No matter!" - line "My brothers will" - cont "avenge me!" - done - -_SilphCo6BattleText3:: - text "That rotten" - line "PRESIDENT!" - - para "He shouldn't have" - line "sent me to the" - cont "TIKSI BRANCH!" - done - -_SilphCo6EndBattleText3:: - text "Shoot!" - prompt - -_SilphCo6AfterBattleText3:: - text "TIKSI BRANCH?" - line "It's in Russian" - cont "no man's land!" - done - -_SilphCo6BattleText4:: - text "You dare betray" - line "TEAM ROCKET?" - done - -_SilphCo6EndBattleText4:: - text "You" - line "traitor!" - prompt - -_SilphCo6AfterBattleText4:: - text "If you stand for" - line "justice, you" - cont "betray evil!" - done diff --git a/text/maps/SilphCo7F.asm b/text/maps/SilphCo7F.asm deleted file mode 100644 index 1cc2bc30..00000000 --- a/text/maps/SilphCo7F.asm +++ /dev/null @@ -1,209 +0,0 @@ -_MeetLaprasGuyText:: - text "Oh! Hi! You're" - line "not a ROCKET! You" - cont "came to save us?" - cont "Why, thank you!" - - para "I want you to" - line "have this #MON" - cont "for saving us." - prompt - -_HeresYourLaprasText:: - text "It's LAPRAS. It's" - line "very intelligent." - - para "We kept it in our" - line "lab, but it will" - cont "be much better" - cont "off with you!" - - para "I think you will" - line "be a good trainer" - cont "for LAPRAS!" - - para "It's a good" - line "swimmer. It'll" - cont "give you a lift!" - done - -_LaprasGuyText:: - text "TEAM ROCKET's" - line "BOSS went to the" - cont "boardroom! Is our" - cont "PRESIDENT OK?" - done - -_LaprasGuySavedText:: - text "Saved at last!" - line "Thank you!" - done - -_SilphCo7Text_51e00:: - text "TEAM ROCKET was" - line "after the MASTER" - cont "BALL which will" - cont "catch any #MON!" - done - -_CanceledMasterBallText:: - text "We canceled the" - line "MASTER BALL" - cont "project because" - cont "of TEAM ROCKET." - done - -_SilphCo7Text_51e23:: - text "It would be bad" - line "if TEAM ROCKET" - cont "took over SILPH" - cont "or our #MON!" - done - -_SilphCo7Text_51e28:: - text "Wow! You chased" - line "off TEAM ROCKET" - cont "all by yourself?" - done - -_SilphCo7Text_51e46:: - text "You! It's really" - line "dangerous here!" - cont "You came to save" - cont "me? You can't!" - done - -_SilphCo7Text_51e4b:: - text "Safe at last!" - line "Oh thank you!" - done - -_SilphCo7BattleText1:: - text "Oh ho! I smell a" - line "little rat!" - done - -_SilphCo7EndBattleText1:: - text "Lights" - line "out!" - prompt - -_SilphCo7AfterBattleText1:: - text "You won't find my" - line "BOSS by just" - cont "scurrying around!" - done - -_SilphCo7BattleText2:: - text "Heheh!" - - para "You mistook me for" - line "a SILPH worker?" - done - -_SilphCo7EndBattleText2:: - text "I'm" - line "done!" - prompt - -_SilphCo7AfterBattleText2:: - text "Despite your age," - line "you are a skilled" - cont "trainer!" - done - -_SilphCo7BattleText3:: - text "I am one of the 4" - line "ROCKET BROTHERS!" - done - -_SilphCo7EndBattleText3:: - text "Aack!" - line "Brothers, I lost!" - prompt - -_SilphCo7AfterBattleText3:: - text "Doesn't matter." - line "My brothers will" - cont "repay the favor!" - done - -_SilphCo7BattleText4:: - text "A child intruder?" - line "That must be you!" - done - -_SilphCo7EndBattleText4:: - text "Fine!" - line "I lost!" - prompt - -_SilphCo7AfterBattleText4:: - text "Go on home" - line "before my BOSS" - cont "gets ticked off!" - done - -_SilphCo7Text_51ebe:: - text ": What" - line "kept you ?" - done - -_SilphCo7Text_51ec3:: - text ": Hahaha!" - line "I thought you'd" - cont "turn up if I" - cont "waited here!" - - para "I guess TEAM" - line "ROCKET slowed you" - cont "down! Not that I" - cont "care!" - - para "I saw you in" - line "SAFFRON, so I" - cont "decided to see if" - cont "you got better!" - done - -_SilphCo7Text_51ec8:: - text "Oh ho!" - line "So, you are ready" - cont "for BOSS ROCKET!" - prompt - -_SilphCo7Text_51ecd:: - text ": How can" - line "I put this?" - - para "You're not good" - line "enough to play" - cont "with us big boys!" - prompt - -_SilphCo7Text_51ed2:: - text "Well, !" - - para "I'm moving on up" - line "and ahead!" - - para "By checking my" - line "#DEX, I'm" - cont "starting to see" - cont "what's strong and" - cont "how they evolve!" - - para "I'm going to the" - line "#MON LEAGUE" - cont "to boot out the" - cont "ELITE FOUR!" - - para "I'll become the" - line "world's most" - cont "powerful trainer!" - - para ", well" - line "good luck to you!" - cont "Don't sweat it!" - cont "Smell ya!" - done diff --git a/text/maps/SilphCo8F.asm b/text/maps/SilphCo8F.asm deleted file mode 100644 index fabae5e6..00000000 --- a/text/maps/SilphCo8F.asm +++ /dev/null @@ -1,56 +0,0 @@ -_SilphCo8Text_565be:: - text "I wonder if SILPH" - line "is finished..." - done - -_SilphCo8Text_565c3:: - text "Thanks for saving" - line "us!" - done - -_SilphCo8BattleText1:: - text "That's as far as" - line "you'll go!" - done - -_SilphCo8EndBattleText1:: - text "Not" - line "enough grit!" - prompt - -_SilphCo8AfterBattleText1:: - text "If you don't turn" - line "back, I'll call" - cont "for backup!" - done - -_SilphCo8BattleText2:: - text "You're causing us" - line "problems!" - done - -_SilphCo8EndBattleText2:: - text "Huh?" - line "I lost?" - prompt - -_SilphCo8AfterBattleText2:: - text "So, what do you" - line "think of SILPH" - cont "BUILDING's maze?" - done - -_SilphCo8BattleText3:: - text "I am one of the 4" - line "ROCKET BROTHERS!" - done - -_SilphCo8EndBattleText3:: - text "Whoo!" - line "Oh brothers!" - prompt - -_SilphCo8AfterBattleText3:: - text "I'll leave you up" - line "to my brothers!" - done diff --git a/text/maps/SilphCo9F.asm b/text/maps/SilphCo9F.asm deleted file mode 100644 index fd1aa91c..00000000 --- a/text/maps/SilphCo9F.asm +++ /dev/null @@ -1,62 +0,0 @@ -_SilphCo9Text_5d8e5:: - text "You look tired!" - line "You should take a" - cont "quick nap!" - prompt - -_SilphCo9Text_5d8ea:: - text "Don't give up!" - done - -_SilphCo9Text_5d8ef:: - text "Thank you so" - line "much!" - done - -_SilphCo9BattleText1:: - text "Your #MON seem" - line "to adore you, kid!" - done - -_SilphCo9EndBattleText1:: - text "Ghaaah!" - prompt - -_SilphCo9AfterBattleText1:: - text "If I had started" - line "as a trainer at" - cont "your age..." - done - -_SilphCo9BattleText2:: - text "Your #MON have" - line "weak points! I" - cont "can nail them!" - done - -_SilphCo9EndBattleText2:: - text "You" - line "hammered me!" - prompt - -_SilphCo9AfterBattleText2:: - text "Exploiting weak" - line "spots does work!" - cont "Think about" - cont "element types!" - done - -_SilphCo9BattleText3:: - text "I am one of the 4" - line "ROCKET BROTHERS!" - done - -_SilphCo9EndBattleText3:: - text "Warg!" - line "Brothers, I lost!" - prompt - -_SilphCo9AfterBattleText3:: - text "My brothers will" - line "avenge me!" - done diff --git a/text/maps/UndergroundPathRoute6.asm b/text/maps/UndergroundPathRoute6.asm deleted file mode 100644 index dacc44f7..00000000 --- a/text/maps/UndergroundPathRoute6.asm +++ /dev/null @@ -1,5 +0,0 @@ -_UndergrdTunnelEntRoute6Text1:: - text "People often lose" - line "things in that" - cont "UNDERGROUND PATH." - done diff --git a/text/maps/UndergroundPathRoute7.asm b/text/maps/UndergroundPathRoute7.asm deleted file mode 100644 index 5cde3614..00000000 --- a/text/maps/UndergroundPathRoute7.asm +++ /dev/null @@ -1,5 +0,0 @@ -_UndergroundPathEntRoute7Text1:: - text "I heard a sleepy" - line "#MON appeared" - cont "near CELADON CITY." - done diff --git a/text/maps/UndergroundPathRoute7Copy.asm b/text/maps/UndergroundPathRoute7Copy.asm deleted file mode 100644 index 4e0dc3ca..00000000 --- a/text/maps/UndergroundPathRoute7Copy.asm +++ /dev/null @@ -1,35 +0,0 @@ -_UGPathRoute7EntranceUnusedText_5d773:: - text "I want to shop at" - line "the dept. store" - cont "in CELADON but..." - - para "There are so many" - line "rough looking" - cont "people there." - done - -_UGPathRoute7EntranceUnusedText_5d778:: - text "TEAM ROCKET had a" - line "secret hideout in" - cont "CELADON CITY?" - done - -_UGPathRoute7EntranceUnusedText_5d77d:: - text "You're here to" - line "shop in CELADON?" - - para "Just step outside" - line "and head west!" - done - -_UGPathRoute7EntranceUnusedText_5d782:: - text "The UNDERGROUND" - line "PATH goes beneath" - cont "SAFFRON and leads" - cont "to LAVENDER." - - para "If you're heading" - line "to CERULEAN, go" - cont "to the building" - cont "across the road." - done diff --git a/text/maps/UndergroundPathRoute8.asm b/text/maps/UndergroundPathRoute8.asm deleted file mode 100644 index da785c8e..00000000 --- a/text/maps/UndergroundPathRoute8.asm +++ /dev/null @@ -1,5 +0,0 @@ -_UndergroundPathEntRoute8Text1:: - text "The dept. store" - line "in CELADON has a" - cont "great selection!" - done diff --git a/text/maps/VermilionCity.asm b/text/maps/VermilionCity.asm deleted file mode 100644 index 1cbc535c..00000000 --- a/text/maps/VermilionCity.asm +++ /dev/null @@ -1,126 +0,0 @@ -_VermilionCityText1:: - text "We're careful" - line "about pollution!" - - para "We've heard GRIMER" - line "multiplies in" - cont "toxic sludge!" - done - -_VermilionCityTextDidYouSee:: - text "Did you see S.S." - line "ANNE moored in" - cont "the harbor?" - done - -_VermilionCityTextSSAnneDeparted:: - text "So, S.S.ANNE has" - line "departed!" - - para "She'll be back in" - line "about a year." - done - -_SSAnneWelcomeText4:: - text "Welcome to S.S." - line "ANNE!" - done - -_SSAnneWelcomeText9:: - text "Welcome to S.S." - line "ANNE!" - - para "Excuse me, do you" - line "have a ticket?" - prompt - -_SSAnneFlashedTicketText:: - text " flashed" - line "the S.S.TICKET!" - - para "Great! Welcome to" - line "S.S.ANNE!" - done - -_SSAnneNoTicketText:: - text " doesn't" - line "have the needed" - cont "S.S.TICKET." - - para "Sorry!" - - para "You need a ticket" - line "to get aboard." - done - -_SSAnneNotHereText:: - text "The ship set sail." - done - -_VermilionCityText4:: - text "I'm putting up a" - line "building on this" - cont "plot of land." - - para "My #MON is" - line "tamping the land." - done - -_VermilionCityText5:: - text "MACHOP: Guoh!" - line "Gogogoh!@@" - -_VermilionCityText14:: - text "" - para "A MACHOP is" - line "stomping the land" - cont "flat." - done - -_VermilionCityText6:: - text "S.S.ANNE is a" - line "famous luxury" - cont "cruise ship." - - para "We visit VERMILION" - line "once a year." - done - -_VermilionCityText7:: - text "VERMILION CITY" - line "The Port of" - cont "Exquisite Sunsets" - done - -_VermilionCityText8:: - text "NOTICE!" - - para "ROUTE 12 may be" - line "blocked off by a" - cont "sleeping #MON." - - para "Detour through" - line "ROCK TUNNEL to" - cont "LAVENDER TOWN." - - para "VERMILION POLICE" - done - -_VermilionCityText11:: - text "#MON FAN CLUB" - line "All #MON fans" - cont "welcome!" - done - -_VermilionCityText12:: - text "VERMILION CITY" - line "#MON GYM" - cont "LEADER: LT.SURGE" - - para "The Lightning " - line "American!" - done - -_VermilionCityText13:: - text "VERMILION HARBOR" - done diff --git a/text/maps/VermilionDock.asm b/text/maps/VermilionDock.asm deleted file mode 100644 index 5d998e82..00000000 --- a/text/maps/VermilionDock.asm +++ /dev/null @@ -1,3 +0,0 @@ -_VermilionDockText1:: - text "" - done diff --git a/text/maps/VermilionGym.asm b/text/maps/VermilionGym.asm deleted file mode 100644 index 14e0bcea..00000000 --- a/text/maps/VermilionGym.asm +++ /dev/null @@ -1,21 +0,0 @@ -_LTSurgePreBattleText:: - text "Hey, kid! What do" - line "you think you're" - cont "doing here?" - - para "You won't live" - line "long in combat!" - cont "That's for sure!" - - para "I tell you kid," - line "electric #MON" - cont "saved me during" - cont "the war!" - - para "They zapped my" - line "enemies into" - cont "paralysis!" - - para "The same as I'll" - line "do to you!" - done diff --git a/text/maps/VermilionGym_2.asm b/text/maps/VermilionGym_2.asm deleted file mode 100644 index 50da9719..00000000 --- a/text/maps/VermilionGym_2.asm +++ /dev/null @@ -1,144 +0,0 @@ -_LTSurgePostBattleAdviceText:: - text "A little word of" - line "advice, kid!" - - para "Electricity is" - line "sure powerful!" - - para "But, it's useless" - line "against ground-" - cont "type #MON!" - done - -_LTSurgeThunderbadgeInfoText:: - text "The THUNDERBADGE" - line "cranks up your" - cont "#MON's SPEED!" - - para "It also lets your" - line "#MON FLY any" - cont "time, kid!" - - para "You're special," - line "kid! Take this!" - done - -_ReceivedTM24Text:: - text " received " - line "@" - TX_RAM wcf4b - text "!@@" - -_TM24ExplanationText:: - text "" - - para "TM24 contains" - line "THUNDERBOLT!" - - para "Teach it to an" - line "electric #MON!" - done - -_TM24NoRoomText:: - text "Yo kid, make room" - line "in your pack!" - done - -_ReceivedThunderbadgeText:: - text "Whoa!" - - para "You're the real" - line "deal, kid!" - - para "Fine then, take" - line "the THUNDERBADGE!" - prompt - -_VermilionGymBattleText1:: - text "When I was in the" - line "Army, LT.SURGE" - cont "was my strict CO!" - done - -_VermilionGymEndBattleText1:: - text "Stop!" - line "You're very good!" - prompt - -_VermilionGymAfterBattleText1:: - text "The door won't" - line "open?" - - para "LT.SURGE always" - line "was cautious!" - done - -_VermilionGymBattleText2:: - text "I'm a lightweight," - line "but I'm good with" - cont "electricity!" - done - -_VermilionGymEndBattleText2:: - text "Fried!" - prompt - -_VermilionGymAfterBattleText2:: - text "OK, I'll talk!" - - para "LT.SURGE said he" - line "hid door switches" - cont "inside something!" - done - -_VermilionGymBattleText3:: - text "This is no place" - line "for kids!" - done - -_VermilionGymEndBattleText3:: - text "Wow!" - line "Surprised me!" - prompt - -_VermilionGymAfterBattleText3:: - text "LT.SURGE set up" - line "double locks!" - cont "Here's a hint!" - - para "When you open the" - line "1st lock, the 2nd" - cont "lock is right" - cont "next to it!" - done - -_VermilionGymFanPreBattleText:: - text "Yo! Champ in" - line "making!" - - para "LT.SURGE has a" - line "nickname. People" - cont "refer to him as" - cont "the Lightning" - cont "American!" - - para "He's an expert on" - line "electric #MON!" - - para "Birds and water" - line "#MON are at" - cont "risk! Beware of" - cont "paralysis too!" - - para "LT.SURGE is very" - line "cautious!" - - para "You'll have to" - line "break a code to" - cont "get to him!" - done - -_VermilionGymFanPostBattleText:: - text "Whew! That match" - line "was electric!" - done diff --git a/text/maps/VermilionMart.asm b/text/maps/VermilionMart.asm deleted file mode 100644 index 10743989..00000000 --- a/text/maps/VermilionMart.asm +++ /dev/null @@ -1,23 +0,0 @@ -_VermilionMartText2:: - text "There are evil" - line "people who will" - cont "use #MON for" - cont "criminal acts." - - para "TEAM ROCKET" - line "traffics in rare" - cont "#MON." - - para "They also abandon" - line "#MON that they" - cont "consider not to" - cont "be popular or" - cont "useful." - done - -_VermilionMartText3:: - text "I think #MON" - line "can be good or" - cont "evil. It depends" - cont "on the trainer." - done diff --git a/text/maps/VermilionOldRodHouse.asm b/text/maps/VermilionOldRodHouse.asm deleted file mode 100644 index 32526e36..00000000 --- a/text/maps/VermilionOldRodHouse.asm +++ /dev/null @@ -1,54 +0,0 @@ -_VermilionHouse2Text_560b1:: - text "I'm the FISHING" - line "GURU!" - - para "I simply Looove" - line "fishing!" - - para "Do you like to" - line "fish?" - done - -_VermilionHouse2Text_560b6:: - text "Grand! I like" - line "your style!" - - para "Take this and" - line "fish, young one!" - - para " received" - line "an @" - TX_RAM wcf4b - text "!@@" - -_VermilionHouse2Text_560bb:: - text "" - - para "Fishing is a way" - line "of life!" - - para "From the seas to" - line "rivers, go out" - cont "and land the big" - cont "one, young one!" - done - -_VermilionHouse2Text_560c0:: - text "Oh... That's so" - line "disappointing..." - done - -_VermilionHouse2Text_560c5:: - text "Hello there," - line "!" - - para "How are the fish" - line "biting?" - done - -_VermilionHouse2Text_560ca:: - text "Oh no!" - - para "You have no room" - line "for my gift!" - done diff --git a/text/maps/VermilionPidgeyHouse.asm b/text/maps/VermilionPidgeyHouse.asm deleted file mode 100644 index 91c18708..00000000 --- a/text/maps/VermilionPidgeyHouse.asm +++ /dev/null @@ -1,21 +0,0 @@ -_VermilionHouse1Text1:: - text "I'm getting my" - line "PIDGEY to fly a" - cont "letter to SAFFRON" - cont "in the north!" - done - -_VermilionHouse1Text2:: - text "PIDGEY: Kurukkoo!@@" - -_VermilionHouse1Text3:: - text "Dear PIPPI, I hope" - line "to see you soon." - - para "I heard SAFFRON" - line "has problems with" - cont "TEAM ROCKET." - - para "VERMILION appears" - line "to be safe." - done diff --git a/text/maps/VermilionPokecenter.asm b/text/maps/VermilionPokecenter.asm deleted file mode 100644 index c9e9a581..00000000 --- a/text/maps/VermilionPokecenter.asm +++ /dev/null @@ -1,19 +0,0 @@ -_VermilionPokecenterText2:: - text "Even if they are" - line "the same level," - cont "#MON can have" - cont "very different" - cont "abilities." - - para "A #MON raised" - line "by a trainer is" - cont "stronger than one" - cont "in the wild." - done - -_VermilionPokecenterText3:: - text "My #MON was" - line "poisoned! It" - cont "fainted while we" - cont "were walking!" - done diff --git a/text/maps/VictoryRoad1F.asm b/text/maps/VictoryRoad1F.asm deleted file mode 100644 index 1523db88..00000000 --- a/text/maps/VictoryRoad1F.asm +++ /dev/null @@ -1,31 +0,0 @@ -_VictoryRoad1BattleText1:: - text "I wonder if you" - line "are good enough" - cont "for me!" - done - -_VictoryRoad1EndBattleText1:: - text "I" - line "lost out!" - prompt - -_VictoryRoad1AfterBattleText1:: - text "I never wanted to" - line "lose to anybody!" - done - -_VictoryRoad1BattleText2:: - text "I can see you're" - line "good! Let me see" - cont "exactly how good!" - done - -_VictoryRoad1EndBattleText2:: - text "I" - line "had a chance..." - prompt - -_VictoryRoad1AfterBattleText2:: - text "I concede, you're" - line "better than me!" - done diff --git a/text/maps/VictoryRoad2F.asm b/text/maps/VictoryRoad2F.asm deleted file mode 100644 index ec9dcf4f..00000000 --- a/text/maps/VictoryRoad2F.asm +++ /dev/null @@ -1,85 +0,0 @@ -_MoltresBattleText:: - text "Gyaoo!@@" - -_VictoryRoad2BattleText1:: - text "VICTORY ROAD is" - line "the final test" - cont "for trainers!" - done - -_VictoryRoad2EndBattleText1:: - text "Aiyah!" - prompt - -_VictoryRoad2AfterBattleText1:: - text "If you get stuck," - line "try moving some" - cont "boulders around!" - done - -_VictoryRoad2BattleText2:: - text "Ah, so you wish" - line "to challenge the" - cont "ELITE FOUR?" - done - -_VictoryRoad2EndBattleText2:: - text "You" - line "got me!" - prompt - -_VictoryRoad2AfterBattleText2:: - text " also came" - line "through here!" - done - -_VictoryRoad2BattleText3:: - text "Come on!" - line "I'll whip you!" - done - -_VictoryRoad2EndBattleText3:: - text "I got" - line "whipped!" - prompt - -_VictoryRoad2AfterBattleText3:: - text "You earned the" - line "right to be on" - cont "VICTORY ROAD!" - done - -_VictoryRoad2BattleText4:: - text "If you can get" - line "through here, you" - cont "can go meet the" - cont "ELITE FOUR!" - done - -_VictoryRoad2EndBattleText4:: - text "No!" - line "Unbelievable!" - prompt - -_VictoryRoad2AfterBattleText4:: - text "I can beat you" - line "when it comes to" - cont "knowledge about" - cont "#MON!" - done - -_VictoryRoad2BattleText5:: - text "Is VICTORY ROAD" - line "too tough?" - done - -_VictoryRoad2EndBattleText5:: - text "Well" - line "done!" - prompt - -_VictoryRoad2AfterBattleText5:: - text "Many trainers give" - line "up the challenge" - cont "here." - done diff --git a/text/maps/VictoryRoad3F.asm b/text/maps/VictoryRoad3F.asm deleted file mode 100644 index 07e0be70..00000000 --- a/text/maps/VictoryRoad3F.asm +++ /dev/null @@ -1,63 +0,0 @@ -_VictoryRoad3BattleText2:: - text "I heard rumors of" - line "a child prodigy!" - done - -_VictoryRoad3EndBattleText2:: - text "The" - line "rumors were true!" - prompt - -_VictoryRoad3AfterBattleText2:: - text "You beat GIOVANNI" - line "of TEAM ROCKET?" - done - -_VictoryRoad3BattleText3:: - text "I'll show you just" - line "how good you are!" - done - -_VictoryRoad3EndBattleText3:: - text "I'm" - line "furious!" - prompt - -_VictoryRoad3AfterBattleText3:: - text "You showed me just" - line "how good I was!" - done - -_VictoryRoad3BattleText4:: - text "Only the chosen" - line "can pass here!" - done - -_VictoryRoad3EndBattleText4:: - text "I" - line "don't believe it!" - prompt - -_VictoryRoad3AfterBattleText4:: - text "All trainers here" - line "are headed to the" - cont "#MON LEAGUE!" - cont "Be careful!" - done - -_VictoryRoad3BattleText5:: - text "Trainers live to" - line "seek stronger" - cont "opponents!" - done - -_VictoryRoad3EndBattleText5:: - text "Oh!" - line "So strong!" - prompt - -_VictoryRoad3AfterBattleText5:: - text "By fighting tough" - line "battles, you get" - cont "stronger!" - done diff --git a/text/maps/ViridianCity.asm b/text/maps/ViridianCity.asm deleted file mode 100644 index 67ab5c40..00000000 --- a/text/maps/ViridianCity.asm +++ /dev/null @@ -1,180 +0,0 @@ -_ViridianCityText1:: - text "Those # BALLs" - line "at your waist!" - cont "You have #MON!" - - para "It's great that" - line "you can carry and" - cont "use #MON any" - cont "time, anywhere!" - done - -_ViridianCityText_19122:: - text "This #MON GYM" - line "is always closed." - - para "I wonder who the" - line "LEADER is?" - done - -_ViridianCityText_19127:: - text "VIRIDIAN GYM's" - line "LEADER returned!" - done - -_ViridianCityText_1914d:: - text "You want to know" - line "about the 2 kinds" - cont "of caterpillar" - cont "#MON?" - done - -_ViridianCityText_19152:: - text "Oh, OK then!" - done - -_ViridianCityText_19157:: - text "CATERPIE has no" - line "poison, but" - cont "WEEDLE does." - - para "Watch out for its" - line "POISON STING!" - done - -_ViridianCityText_19175:: - text "Oh Grandpa! Don't" - line "be so mean!" - cont "He hasn't had his" - cont "coffee yet." - done - -_ViridianCityText_1917a:: - text "When I go shop in" - line "PEWTER CITY, I" - cont "have to take the" - cont "winding trail in" - cont "VIRIDIAN FOREST." - done - -_ViridianCityText_19191:: - text "You can't go" - line "through here!" - - para "This is private" - line "property!" - done - -_ViridianCityText_191ca:: - text "Yawn!" - line "I must have dozed" - cont "off in the sun." - - para "I had this dream" - line "about a DROWZEE" - cont "eating my dream." - cont "What's this?" - cont "Where did this TM" - cont "come from?" - - para "This is spooky!" - line "Here, you can" - cont "have this TM." - prompt - -_ReceivedTM42Text:: - text " received" - line "TM42!@@" - -_TM42Explanation:: - text "TM42 contains" - line "DREAM EATER..." - cont "...Snore..." - done - -_TM42NoRoomText:: - text "You have too much" - line "stuff already." - done - -_ViridianCityText_1920a:: - text "Ahh, I've had my" - line "coffee now and I" - cont "feel great!" - - para "Sure you can go" - line "through!" - - para "Are you in a" - line "hurry?" - done - -_ViridianCityText_1920f:: - text "I see you're using" - line "a #DEX." - - para "When you catch a" - line "#MON, #DEX" - cont "is automatically" - cont "updated." - - para "What? Don't you" - line "know how to catch" - cont "#MON?" - - para "I'll show you" - line "how to then." - done - -_ViridianCityText_19214:: - text "Time is money..." - line "Go along then." - done - -_ViridianCityText_19219:: - text "First, you need" - line "to weaken the" - cont "target #MON." - done - -_ViridianCityText8:: - text "VIRIDIAN CITY " - line "The Eternally" - cont "Green Paradise" - done - -_ViridianCityText9:: - text "TRAINER TIPS" - - para "Catch #MON" - line "and expand your" - cont "collection!" - - para "The more you have," - line "the easier it is" - cont "to fight!" - done - -_ViridianCityText10:: - text "TRAINER TIPS" - - para "The battle moves" - line "of #MON are" - cont "limited by their" - cont "POWER POINTs, PP." - - para "To replenish PP," - line "rest your tired" - cont "#MON at a" - cont "#MON CENTER!" - done - -_ViridianCityText13:: - text "VIRIDIAN CITY" - line "#MON GYM" - done - -_ViridianCityText14:: - text "The GYM's doors" - line "are locked..." - done diff --git a/text/maps/ViridianForest.asm b/text/maps/ViridianForest.asm deleted file mode 100644 index 813b193a..00000000 --- a/text/maps/ViridianForest.asm +++ /dev/null @@ -1,123 +0,0 @@ -_ViridianForestText1:: - text "I came here with" - line "some friends!" - - para "They're out for" - line "#MON fights!" - done - -_ViridianForestBattleText1:: - text "Hey! You have" - line "#MON! Come on!" - cont "Let's battle'em!" - done - -_ViridianForestEndBattleText1:: - text "No!" - line "CATERPIE can't" - cont "cut it!" - prompt - -_ViridianFrstAfterBattleText1:: - text "Ssh! You'll scare" - line "the bugs away!" - done - -_ViridianForestBattleText2:: - text "Yo! You can't jam" - line "out if you're a" - cont "#MON trainer!" - done - -_ViridianForestEndBattleText2:: - text "Huh?" - line "I ran out of" - cont "#MON!" - prompt - -_ViridianFrstAfterBattleText2:: - text "Darn! I'm going" - line "to catch some" - cont "stronger ones!" - done - -_ViridianForestBattleText3:: - text "Hey, wait up!" - line "What's the hurry?" - done - -_ViridianForestEndBattleText3:: - text "I" - line "give! You're good" - cont "at this!" - prompt - -_ViridianFrstAfterBattleText3:: - text "Sometimes, you" - line "can find stuff on" - cont "the ground!" - - para "I'm looking for" - line "the stuff I" - cont "dropped!" - done - -_ViridianForestText8:: - text "I ran out of #" - line "BALLs to catch" - cont "#MON with!" - - para "You should carry" - line "extras!" - done - -_ViridianForestText9:: - text "TRAINER TIPS" - - para "If you want to" - line "avoid battles," - cont "stay away from" - cont "grassy areas!" - done - -_ViridianForestText10:: - text "For poison, use" - line "ANTIDOTE! Get it" - cont "at #MON MARTs!" - done - -_ViridianForestText11:: - text "TRAINER TIPS" - - para "Contact PROF.OAK" - line "via PC to get" - cont "your #DEX" - cont "evaluated!" - done - -_ViridianForestText12:: - text "TRAINER TIPS" - - para "No stealing of" - line "#MON from" - cont "other trainers!" - cont "Catch only wild" - cont "#MON!" - done - -_ViridianForestText13:: - text "TRAINER TIPS" - - para "Weaken #MON" - line "before attempting" - cont "capture!" - - para "When healthy," - line "they may escape!" - done - -_ViridianForestText14:: - text "LEAVING" - line "VIRIDIAN FOREST" - cont "PEWTER CITY AHEAD" - done diff --git a/text/maps/ViridianForestNorthGate.asm b/text/maps/ViridianForestNorthGate.asm deleted file mode 100644 index ab6a5a1d..00000000 --- a/text/maps/ViridianForestNorthGate.asm +++ /dev/null @@ -1,19 +0,0 @@ -_ViridianForestExitText1:: - text "Many #MON live" - line "only in forests " - cont "and caves." - - para "You need to look" - line "everywhere to get" - cont "different kinds!" - done - -_ViridianForestExitText2:: - text "Have you noticed" - line "the bushes on the" - cont "roadside?" - - para "They can be cut" - line "down by a special" - cont "#MON move." - done diff --git a/text/maps/ViridianForestSouthGate.asm b/text/maps/ViridianForestSouthGate.asm deleted file mode 100644 index c1a8df22..00000000 --- a/text/maps/ViridianForestSouthGate.asm +++ /dev/null @@ -1,13 +0,0 @@ -_ViridianForestEntranceText1:: - text "Are you going to" - line "VIRIDIAN FOREST?" - cont "Be careful, it's" - cont "a natural maze!" - done - -_ViridianForestEntranceText2:: - text "RATTATA may be" - line "small, but its" - cont "bite is wicked!" - cont "Did you get one?" - done diff --git a/text/maps/ViridianGym.asm b/text/maps/ViridianGym.asm deleted file mode 100644 index 4c7b5207..00000000 --- a/text/maps/ViridianGym.asm +++ /dev/null @@ -1,237 +0,0 @@ -_ViridianGymText_74ace:: - text "Fwahahaha! This is" - line "my hideout!" - - para "I planned to" - line "resurrect TEAM" - cont "ROCKET here!" - - para "But, you have" - line "caught me again!" - cont "So be it! This" - cont "time, I'm not" - cont "holding back!" - - para "Once more, you" - line "shall face" - cont "GIOVANNI, the" - cont "greatest trainer!" - done - -_ViridianGymText_74ad3:: - text "Ha!" - line "That was a truly" - cont "intense fight!" - cont "You have won!" - cont "As proof, here is" - cont "the EARTHBADGE!@@" - -_ViridianGymText_74ad9:: - text "Having lost, I" - line "cannot face my" - cont "underlings!" - cont "TEAM ROCKET is" - cont "finished forever!" - - para "I will dedicate my" - line "life to the study" - cont "of #MON!" - - para "Let us meet again" - line "some day!" - cont "Farewell!@@" - -_ViridianGymText12:: - text "The EARTHBADGE" - line "makes #MON of" - cont "any level obey!" - - para "It is evidence of" - line "your mastery as a" - cont "#MON trainer!" - - para "With it, you can" - line "enter the #MON" - cont "LEAGUE!" - - para "It is my gift for" - line "your #MON" - cont "LEAGUE challenge!" - done - -_ReceivedTM27Text:: - text " received" - line "TM27!@@" - -_TM27ExplanationText:: - text "" - - para "TM27 is FISSURE!" - line "It will take out" - cont "#MON with just" - cont "one hit!" - - para "I made it when I" - line "ran the GYM here," - cont "too long ago..." - done - -_TM27NoRoomText:: - text "You do not have" - line "space for this!" - done - -_ViridianGymBattleText1:: - text "Heh! You must be" - line "running out of" - cont "steam by now!" - done - -_ViridianGymEndBattleText1:: - text "I" - line "ran out of gas!" - prompt - -_ViridianGymAfterBattleText1:: - text "You need power to" - line "keep up with our" - cont "GYM LEADER!" - done - -_ViridianGymBattleText2:: - text "Rrrroar! I'm" - line "working myself" - cont "into a rage!" - done - -_ViridianGymEndBattleText2:: - text "Wargh!" - prompt - -_ViridianGymAfterBattleText2:: - text "I'm still not" - line "worthy!" - done - -_ViridianGymBattleText3:: - text "#MON and I, we" - line "make wonderful" - cont "music together!" - done - -_ViridianGymEndBattleText3:: - text "You are in" - line "perfect harmony!" - prompt - -_ViridianGymAfterBattleText3:: - text "Do you know the" - line "identity of our" - cont "GYM LEADER?" - done - -_ViridianGymBattleText4:: - text "Karate is the" - line "ultimate form of" - cont "martial arts!" - done - -_ViridianGymEndBattleText4:: - text "Atcho!" - prompt - -_ViridianGymAfterBattleText4:: - text "If my #MON" - line "were as good at" - cont "Karate as I..." - done - -_ViridianGymBattleText5:: - text "The truly talented" - line "win with style!" - done - -_ViridianGymEndBattleText5:: - text "I" - line "lost my grip!" - prompt - -_ViridianGymAfterBattleText5:: - text "The LEADER will" - line "scold me!" - done - -_ViridianGymBattleText6:: - text "I'm the KARATE" - line "KING! Your fate" - cont "rests with me!" - done - -_ViridianGymEndBattleText6:: - text "Ayah!" - prompt - -_ViridianGymAfterBattleText6:: - text "#MON LEAGUE?" - line "You? Don't get" - cont "cocky!" - done - -_ViridianGymBattleText7:: - text "Your #MON will" - line "cower at the" - cont "crack of my whip!" - done - -_ViridianGymEndBattleText7:: - text "Yowch!" - line "Whiplash!" - prompt - -_ViridianGymAfterBattleText7:: - text "Wait! I was just" - line "careless!" - done - -_ViridianGymBattleText8:: - text "VIRIDIAN GYM was" - line "closed for a long" - cont "time, but now our" - cont "LEADER is back!" - done - -_ViridianGymEndBattleText8:: - text "I" - line "was beaten?" - prompt - -_ViridianGymAfterBattleText8:: - text "You can go onto" - line "#MON LEAGUE" - cont "only by defeating" - cont "our GYM LEADER!" - done - -_ViridianGymText_74bd4:: - text "Yo! Champ in" - line "making!" - - para "Even I don't know" - line "VIRIDIAN LEADER's" - cont "identity!" - - para "This will be the" - line "toughest of all" - cont "the GYM LEADERs!" - - para "I heard that the" - line "trainers here" - cont "like ground-type" - cont "#MON!" - done - -_ViridianGymText_74bd9:: - text "Blow me away!" - line "GIOVANNI was the" - cont "GYM LEADER here?" - done diff --git a/text/maps/ViridianMart.asm b/text/maps/ViridianMart.asm deleted file mode 100644 index 61750afe..00000000 --- a/text/maps/ViridianMart.asm +++ /dev/null @@ -1,30 +0,0 @@ -_ViridianMartText1:: - text "Okay! Say hi to" - line "PROF.OAK for me!" - done - -_ViridianMartText4:: - text "Hey! You came from" - line "PALLET TOWN?" - done - -ViridianMartParcelQuestText:: - text "You know PROF." - line "OAK, right?" - - para "His order came in." - line "Will you take it" - cont "to him?" - - para " got" - line "OAK's PARCEL!@@" - -_ViridianMartText2:: - text "This shop sells" - line "many ANTIDOTEs." - done - -_ViridianMartText3:: - text "No! POTIONs are" - line "all sold out." - done diff --git a/text/maps/ViridianNicknameHouse.asm b/text/maps/ViridianNicknameHouse.asm deleted file mode 100644 index 757f597a..00000000 --- a/text/maps/ViridianNicknameHouse.asm +++ /dev/null @@ -1,23 +0,0 @@ -_ViridianHouseText1:: - text "Coming up with" - line "nicknames is fun," - cont "but hard." - - para "Simple names are" - line "the easiest to" - cont "remember." - done - -_ViridianHouseText2:: - text "My Daddy loves" - line "#MON too." - done - -_ViridianHouseText_1d5b1:: - text "SPEARY: Tetweet!" - done - -_ViridianHouseText4:: - text "SPEAROW" - line "Name: SPEARY" - done diff --git a/text/maps/ViridianPokecenter.asm b/text/maps/ViridianPokecenter.asm deleted file mode 100644 index 4ac18bf6..00000000 --- a/text/maps/ViridianPokecenter.asm +++ /dev/null @@ -1,16 +0,0 @@ -_ViridianPokeCenterText2:: - text "You can use that" - line "PC in the corner." - - para "The receptionist" - line "told me. So kind!" - done - -_ViridianPokeCenterText3:: - text "There's a #MON" - line "CENTER in every" - cont "town ahead." - - para "They don't charge" - line "any money either!" - done diff --git a/text/maps/ViridianSchoolHouse.asm b/text/maps/ViridianSchoolHouse.asm deleted file mode 100644 index f6041e0d..00000000 --- a/text/maps/ViridianSchoolHouse.asm +++ /dev/null @@ -1,13 +0,0 @@ -_SchoolText1:: - text "Whew! I'm trying" - line "to memorize all" - cont "my notes." - done - -_SchoolText2:: - text "Okay!" - - para "Be sure to read" - line "the blackboard" - cont "carefully!" - done diff --git a/text/maps/WardensHouse.asm b/text/maps/WardensHouse.asm deleted file mode 100644 index 7efddb90..00000000 --- a/text/maps/WardensHouse.asm +++ /dev/null @@ -1,84 +0,0 @@ -_WardenGibberishText1:: - text "WARDEN: Hif fuff" - line "hefifoo!" - - para "Ha lof ha feef ee" - line "hafahi ho. Heff" - cont "hee fwee!" - done - -_WardenGibberishText2:: - text "Ah howhee ho hoo!" - line "Eef ee hafahi ho!" - done - -_WardenGibberishText3:: - text "Ha? He ohay heh" - line "ha hoo ee haheh!" - done - -_WardenTeethText1:: - text " gave the" - line "GOLD TEETH to the" - cont "WARDEN!@@" - -_WardenTeethText2:: - text "" - - para "The WARDEN popped" - line "in his teeth!" - prompt - -_WardenThankYouText:: - text "WARDEN: Thanks," - line "kid! No one could" - cont "understand a word" - cont "that I said." - - para "I couldn't work" - line "that way." - cont "Let me give you" - cont "something for" - cont "your trouble." - prompt - -_ReceivedHM04Text:: - text " received" - line "@" - TX_RAM wcf4b - text "!@@" - -_HM04ExplanationText:: - text "WARDEN: HM04" - line "teaches STRENGTH!" - - para "It lets #MON" - line "move boulders" - cont "when you're out-" - cont "side of battle." - - para "Oh yes, did you" - line "find SECRET HOUSE" - cont "in SAFARI ZONE?" - - para "If you do, you" - line "win an HM!" - - para "I hear it's the" - line "rare SURF HM." - done - -_HM04NoRoomText:: - text "Your pack is" - line "stuffed full!" - done - -_FuchsiaHouse2Text_75176:: - text "#MON photos" - line "and fossils." - done - -_FuchsiaHouse2Text_7517b:: - text "Old #MON" - line "merchandise." - done diff --git a/text/monster_names.asm b/text/monster_names.asm deleted file mode 100755 index 83a45b77..00000000 --- a/text/monster_names.asm +++ /dev/null @@ -1,191 +0,0 @@ -MonsterNames:: - db "RHYDON@@@@" - db "KANGASKHAN" - db "NIDORAN♂@@" - db "CLEFAIRY@@" - db "SPEAROW@@@" - db "VOLTORB@@@" - db "NIDOKING@@" - db "SLOWBRO@@@" - db "IVYSAUR@@@" - db "EXEGGUTOR@" - db "LICKITUNG@" - db "EXEGGCUTE@" - db "GRIMER@@@@" - db "GENGAR@@@@" - db "NIDORAN♀@@" - db "NIDOQUEEN@" - db "CUBONE@@@@" - db "RHYHORN@@@" - db "LAPRAS@@@@" - db "ARCANINE@@" - db "MEW@@@@@@@" - db "GYARADOS@@" - db "SHELLDER@@" - db "TENTACOOL@" - db "GASTLY@@@@" - db "SCYTHER@@@" - db "STARYU@@@@" - db "BLASTOISE@" - db "PINSIR@@@@" - db "TANGELA@@@" - db "MISSINGNO." - db "MISSINGNO." - db "GROWLITHE@" - db "ONIX@@@@@@" - db "FEAROW@@@@" - db "PIDGEY@@@@" - db "SLOWPOKE@@" - db "KADABRA@@@" - db "GRAVELER@@" - db "CHANSEY@@@" - db "MACHOKE@@@" - db "MR.MIME@@@" - db "HITMONLEE@" - db "HITMONCHAN" - db "ARBOK@@@@@" - db "PARASECT@@" - db "PSYDUCK@@@" - db "DROWZEE@@@" - db "GOLEM@@@@@" - db "MISSINGNO." - db "MAGMAR@@@@" - db "MISSINGNO." - db "ELECTABUZZ" - db "MAGNETON@@" - db "KOFFING@@@" - db "MISSINGNO." - db "MANKEY@@@@" - db "SEEL@@@@@@" - db "DIGLETT@@@" - db "TAUROS@@@@" - db "MISSINGNO." - db "MISSINGNO." - db "MISSINGNO." - db "FARFETCH'D" - db "VENONAT@@@" - db "DRAGONITE@" - db "MISSINGNO." - db "MISSINGNO." - db "MISSINGNO." - db "DODUO@@@@@" - db "POLIWAG@@@" - db "JYNX@@@@@@" - db "MOLTRES@@@" - db "ARTICUNO@@" - db "ZAPDOS@@@@" - db "DITTO@@@@@" - db "MEOWTH@@@@" - db "KRABBY@@@@" - db "MISSINGNO." - db "MISSINGNO." - db "MISSINGNO." - db "VULPIX@@@@" - db "NINETALES@" - db "PIKACHU@@@" - db "RAICHU@@@@" - db "MISSINGNO." - db "MISSINGNO." - db "DRATINI@@@" - db "DRAGONAIR@" - db "KABUTO@@@@" - db "KABUTOPS@@" - db "HORSEA@@@@" - db "SEADRA@@@@" - db "MISSINGNO." - db "MISSINGNO." - db "SANDSHREW@" - db "SANDSLASH@" - db "OMANYTE@@@" - db "OMASTAR@@@" - db "JIGGLYPUFF" - db "WIGGLYTUFF" - db "EEVEE@@@@@" - db "FLAREON@@@" - db "JOLTEON@@@" - db "VAPOREON@@" - db "MACHOP@@@@" - db "ZUBAT@@@@@" - db "EKANS@@@@@" - db "PARAS@@@@@" - db "POLIWHIRL@" - db "POLIWRATH@" - db "WEEDLE@@@@" - db "KAKUNA@@@@" - db "BEEDRILL@@" - db "MISSINGNO." - db "DODRIO@@@@" - db "PRIMEAPE@@" - db "DUGTRIO@@@" - db "VENOMOTH@@" - db "DEWGONG@@@" - db "MISSINGNO." - db "MISSINGNO." - db "CATERPIE@@" - db "METAPOD@@@" - db "BUTTERFREE" - db "MACHAMP@@@" - db "MISSINGNO." - db "GOLDUCK@@@" - db "HYPNO@@@@@" - db "GOLBAT@@@@" - db "MEWTWO@@@@" - db "SNORLAX@@@" - db "MAGIKARP@@" - db "MISSINGNO." - db "MISSINGNO." - db "MUK@@@@@@@" - db "MISSINGNO." - db "KINGLER@@@" - db "CLOYSTER@@" - db "MISSINGNO." - db "ELECTRODE@" - db "CLEFABLE@@" - db "WEEZING@@@" - db "PERSIAN@@@" - db "MAROWAK@@@" - db "MISSINGNO." - db "HAUNTER@@@" - db "ABRA@@@@@@" - db "ALAKAZAM@@" - db "PIDGEOTTO@" - db "PIDGEOT@@@" - db "STARMIE@@@" - db "BULBASAUR@" - db "VENUSAUR@@" - db "TENTACRUEL" - db "MISSINGNO." - db "GOLDEEN@@@" - db "SEAKING@@@" - db "MISSINGNO." - db "MISSINGNO." - db "MISSINGNO." - db "MISSINGNO." - db "PONYTA@@@@" - db "RAPIDASH@@" - db "RATTATA@@@" - db "RATICATE@@" - db "NIDORINO@@" - db "NIDORINA@@" - db "GEODUDE@@@" - db "PORYGON@@@" - db "AERODACTYL" - db "MISSINGNO." - db "MAGNEMITE@" - db "MISSINGNO." - db "MISSINGNO." - db "CHARMANDER" - db "SQUIRTLE@@" - db "CHARMELEON" - db "WARTORTLE@" - db "CHARIZARD@" - db "MISSINGNO." - db "MISSINGNO." - db "MISSINGNO." - db "MISSINGNO." - db "ODDISH@@@@" - db "GLOOM@@@@@" - db "VILEPLUME@" - db "BELLSPROUT" - db "WEEPINBELL" - db "VICTREEBEL" diff --git a/text/move_names.asm b/text/move_names.asm deleted file mode 100644 index f8706ee3..00000000 --- a/text/move_names.asm +++ /dev/null @@ -1,167 +0,0 @@ -MoveNames:: - db "POUND@" - db "KARATE CHOP@" - db "DOUBLESLAP@" - db "COMET PUNCH@" - db "MEGA PUNCH@" - db "PAY DAY@" - db "FIRE PUNCH@" - db "ICE PUNCH@" - db "THUNDERPUNCH@" - db "SCRATCH@" - db "VICEGRIP@" - db "GUILLOTINE@" - db "RAZOR WIND@" - db "SWORDS DANCE@" - db "CUT@" - db "GUST@" - db "WING ATTACK@" - db "WHIRLWIND@" - db "FLY@" - db "BIND@" - db "SLAM@" - db "VINE WHIP@" - db "STOMP@" - db "DOUBLE KICK@" - db "MEGA KICK@" - db "JUMP KICK@" - db "ROLLING KICK@" - db "SAND-ATTACK@" - db "HEADBUTT@" - db "HORN ATTACK@" - db "FURY ATTACK@" - db "HORN DRILL@" - db "TACKLE@" - db "BODY SLAM@" - db "WRAP@" - db "TAKE DOWN@" - db "THRASH@" - db "DOUBLE-EDGE@" - db "TAIL WHIP@" - db "POISON STING@" - db "TWINEEDLE@" - db "PIN MISSILE@" - db "LEER@" - db "BITE@" - db "GROWL@" - db "ROAR@" - db "SING@" - db "SUPERSONIC@" - db "SONICBOOM@" - db "DISABLE@" - db "ACID@" - db "EMBER@" - db "FLAMETHROWER@" - db "MIST@" - db "WATER GUN@" - db "HYDRO PUMP@" - db "SURF@" - db "ICE BEAM@" - db "BLIZZARD@" - db "PSYBEAM@" - db "BUBBLEBEAM@" - db "AURORA BEAM@" - db "HYPER BEAM@" - db "PECK@" - db "DRILL PECK@" - db "SUBMISSION@" - db "LOW KICK@" - db "COUNTER@" - db "SEISMIC TOSS@" - db "STRENGTH@" - db "ABSORB@" - db "MEGA DRAIN@" - db "LEECH SEED@" - db "GROWTH@" - db "RAZOR LEAF@" - db "SOLARBEAM@" - db "POISONPOWDER@" - db "STUN SPORE@" - db "SLEEP POWDER@" - db "PETAL DANCE@" - db "STRING SHOT@" - db "DRAGON RAGE@" - db "FIRE SPIN@" - db "THUNDERSHOCK@" - db "THUNDERBOLT@" - db "THUNDER WAVE@" - db "THUNDER@" - db "ROCK THROW@" - db "EARTHQUAKE@" - db "FISSURE@" - db "DIG@" - db "TOXIC@" - db "CONFUSION@" - db "PSYCHIC@" - db "HYPNOSIS@" - db "MEDITATE@" - db "AGILITY@" - db "QUICK ATTACK@" - db "RAGE@" - db "TELEPORT@" - db "NIGHT SHADE@" - db "MIMIC@" - db "SCREECH@" - db "DOUBLE TEAM@" - db "RECOVER@" - db "HARDEN@" - db "MINIMIZE@" - db "SMOKESCREEN@" - db "CONFUSE RAY@" - db "WITHDRAW@" - db "DEFENSE CURL@" - db "BARRIER@" - db "LIGHT SCREEN@" - db "HAZE@" - db "REFLECT@" - db "FOCUS ENERGY@" - db "BIDE@" - db "METRONOME@" - db "MIRROR MOVE@" - db "SELFDESTRUCT@" - db "EGG BOMB@" - db "LICK@" - db "SMOG@" - db "SLUDGE@" - db "BONE CLUB@" - db "FIRE BLAST@" - db "WATERFALL@" - db "CLAMP@" - db "SWIFT@" - db "SKULL BASH@" - db "SPIKE CANNON@" - db "CONSTRICT@" - db "AMNESIA@" - db "KINESIS@" - db "SOFTBOILED@" - db "HI JUMP KICK@" - db "GLARE@" - db "DREAM EATER@" - db "POISON GAS@" - db "BARRAGE@" - db "LEECH LIFE@" - db "LOVELY KISS@" - db "SKY ATTACK@" - db "TRANSFORM@" - db "BUBBLE@" - db "DIZZY PUNCH@" - db "SPORE@" - db "FLASH@" - db "PSYWAVE@" - db "SPLASH@" - db "ACID ARMOR@" - db "CRABHAMMER@" - db "EXPLOSION@" - db "FURY SWIPES@" - db "BONEMERANG@" - db "REST@" - db "ROCK SLIDE@" - db "HYPER FANG@" - db "SHARPEN@" - db "CONVERSION@" - db "TRI ATTACK@" - db "SUPER FANG@" - db "SLASH@" - db "SUBSTITUTE@" - db "STRUGGLE@" - diff --git a/text/oakspeech.asm b/text/oakspeech.asm deleted file mode 100644 index e006d16f..00000000 --- a/text/oakspeech.asm +++ /dev/null @@ -1,55 +0,0 @@ -_OakSpeechText1:: - text "Hello there!" - line "Welcome to the" - cont "world of #MON!" - - para "My name is OAK!" - line "People call me" - cont "the #MON PROF!" - prompt - -_OakSpeechText2A:: - text "This world is" - line "inhabited by" - cont "creatures called" - cont "#MON!@@" - -_OakSpeechText2B:: - text $51,"For some people," - line "#MON are" - cont "pets. Others use" - cont "them for fights." - - para "Myself..." - - para "I study #MON" - line "as a profession." - prompt - -_IntroducePlayerText:: - text "First, what is" - line "your name?" - prompt - -_IntroduceRivalText:: - text "This is my grand-" - line "son. He's been" - cont "your rival since" - cont "you were a baby." - - para "...Erm, what is" - line "his name again?" - prompt - -_OakSpeechText3:: - text "!" - - para "Your very own" - line "#MON legend is" - cont "about to unfold!" - - para "A world of dreams" - line "and adventures" - cont "with #MON" - cont "awaits! Let's go!" - done diff --git a/text/player_names.asm b/text/player_names.asm deleted file mode 100644 index f57c9877..00000000 --- a/text/player_names.asm +++ /dev/null @@ -1,31 +0,0 @@ -IF DEF(_RED) -DefaultNamesPlayer: - db "NEW NAME" - next "RED" - next "ASH" - next "JACK" - db "@" - -DefaultNamesRival: - db "NEW NAME" - next "BLUE" - next "GARY" - next "JOHN" - db "@" -ENDC - -IF DEF(_BLUE) -DefaultNamesPlayer: - db "NEW NAME" - next "BLUE" - next "GARY" - next "JOHN" - db "@" - -DefaultNamesRival: - db "NEW NAME" - next "RED" - next "ASH" - next "JACK" - db "@" -ENDC diff --git a/text/player_names_list.asm b/text/player_names_list.asm deleted file mode 100644 index 56075df0..00000000 --- a/text/player_names_list.asm +++ /dev/null @@ -1,27 +0,0 @@ -IF DEF(_RED) -DefaultNamesPlayerList: - db "NEW NAME@" - db "RED@" - db "ASH@" - db "JACK@" - -DefaultNamesRivalList: - db "NEW NAME@" - db "BLUE@" - db "GARY@" - db "JOHN@" -ENDC - -IF DEF(_BLUE) -DefaultNamesPlayerList: - db "NEW NAME@" - db "BLUE@" - db "GARY@" - db "JOHN@" - -DefaultNamesRivalList: - db "NEW NAME@" - db "RED@" - db "ASH@" - db "JACK@" -ENDC diff --git a/text/pokedex.asm b/text/pokedex.asm deleted file mode 100644 index 65f3d89d..00000000 --- a/text/pokedex.asm +++ /dev/null @@ -1,1510 +0,0 @@ -_RhydonDexEntry:: - text "Protected by an" - next "armor-like hide," - next "it is capable of" - - page "living in molten" - next "lava of 3,600" - next "degrees" - dex - -_KangaskhanDexEntry:: - text "The infant rarely" - next "ventures out of" - next "its mother's" - - page "protective pouch" - next "until it is 3" - next "years old" - dex - -_NidoranMDexEntry:: - text "Stiffens its ears" - next "to sense danger." - next "The larger its" - - page "horns, the more" - next "powerful its" - next "secreted venom" - dex - -_ClefairyDexEntry:: - text "Its magical and" - next "cute appeal has" - next "many admirers." - - page "It is rare and" - next "found only in" - next "certain areas" - dex - -_SpearowDexEntry:: - text "Eats bugs in" - next "grassy areas. It" - next "has to flap its" - - page "short wings at" - next "high speed to" - next "stay airborne" - dex - -_VoltorbDexEntry:: - text "Usually found in" - next "power plants." - next "Easily mistaken" - - page "for a # BALL," - next "they have zapped" - next "many people" - dex - -_NidokingDexEntry:: - text "It uses its" - next "powerful tail in" - next "battle to smash," - - page "constrict, then" - next "break the prey's" - next "bones" - dex - -_SlowbroDexEntry:: - text "The SHELLDER that" - next "is latched onto" - next "SLOWPOKE's tail" - - page "is said to feed" - next "on the host's left" - next "over scraps" - dex - -_IvysaurDexEntry:: - text "When the bulb on" - next "its back grows" - next "large, it appears" - - page "to lose the" - next "ability to stand" - next "on its hind legs" - dex - -_ExeggutorDexEntry:: - text "Legend has it that" - next "on rare occasions," - next "one of its heads" - - page "will drop off and" - next "continue on as an" - next "EXEGGCUTE" - dex - -_LickitungDexEntry:: - text "Its tongue can be" - next "extended like a" - next "chameleon's. It" - - page "leaves a tingling" - next "sensation when it" - next "licks enemies" - dex - -_ExeggcuteDexEntry:: - text "Often mistaken" - next "for eggs." - next "When disturbed," - - page "they quickly" - next "gather and attack" - next "in swarms" - dex - -_GrimerDexEntry:: - text "Appears in filthy" - next "areas. Thrives by" - next "sucking up" - - page "polluted sludge" - next "that is pumped" - next "out of factories" - dex - -_GengarDexEntry:: - text "Under a full moon," - next "this #MON" - next "likes to mimic" - - page "the shadows of" - next "people and laugh" - next "at their fright" - dex - -_NidoranFDexEntry:: - text "Although small," - next "its venomous" - next "barbs render this" - - page "#MON dangerous." - next "The female has" - next "smaller horns" - dex - -_NidoqueenDexEntry:: - text "Its hard scales" - next "provide strong" - next "protection. It" - - page "uses its hefty" - next "bulk to execute" - next "powerful moves" - dex - -_CuboneDexEntry:: - text "Because it never" - next "removes its skull" - next "helmet, no one" - - page "has ever seen" - next "this #MON's" - next "real face" - dex - -_RhyhornDexEntry:: - text "Its massive bones" - next "are 1000 times" - next "harder than human" - - page "bones. It can" - next "easily knock a" - next "trailer flying" - dex - -_LaprasDexEntry:: - text "A #MON that" - next "has been over-" - next "hunted almost to" - - page "extinction. It" - next "can ferry people" - next "across the water" - dex - -_ArcanineDexEntry:: - text "A #MON that" - next "has been admired" - next "since the past" - - page "for its beauty." - next "It runs agilely" - next "as if on wings" - dex - -_MewDexEntry:: - text "So rare that it" - next "is still said to" - next "be a mirage by" - - page "many experts. Only" - next "a few people have" - next "seen it worldwide" - dex - -_GyaradosDexEntry:: - text "Rarely seen in" - next "the wild. Huge" - next "and vicious, it" - - page "is capable of" - next "destroying entire" - next "cities in a rage" - dex - -_ShellderDexEntry:: - text "Its hard shell" - next "repels any kind" - next "of attack." - - page "It is vulnerable" - next "only when its" - next "shell is open" - dex - -_TentacoolDexEntry:: - text "Drifts in shallow" - next "seas. Anglers who" - next "hook them by" - - page "accident are" - next "often punished by" - next "its stinging acid" - dex - -_GastlyDexEntry:: - text "Almost invisible," - next "this gaseous" - next "#MON cloaks" - - page "the target and" - next "puts it to sleep" - next "without notice" - dex - -_ScytherDexEntry:: - text "With ninja-like" - next "agility and speed," - next "it can create the" - - page "illusion that" - next "there is more" - next "than one" - dex - -_StaryuDexEntry:: - text "An enigmatic" - next "#MON that can" - next "effortlessly" - - page "regenerate any" - next "appendage it" - next "loses in battle" - dex - -_BlastoiseDexEntry:: - text "A brutal #MON" - next "with pressurized" - next "water jets on its" - - page "shell. They are" - next "used for high" - next "speed tackles" - dex - -_PinsirDexEntry:: - text "If it fails to" - next "crush the victim" - next "in its pincers," - - page "it will swing it" - next "around and toss" - next "it hard" - dex - -_TangelaDexEntry:: - text "The whole body is" - next "swathed with wide" - next "vines that are" - - page "similar to sea-" - next "weed. Its vines" - next "shake as it walks" - dex - -_GrowlitheDexEntry:: - text "Very protective" - next "of its territory." - next "It will bark and" - - page "bite to repel" - next "intruders from" - next "its space" - dex - -_OnixDexEntry:: - text "As it grows, the" - next "stone portions of" - next "its body harden" - - page "to become similar" - next "to a diamond, but" - next "colored black" - dex - -_FearowDexEntry:: - text "With its huge and" - next "magnificent wings," - next "it can keep aloft" - - page "without ever" - next "having to land" - next "for rest" - dex - -_PidgeyDexEntry:: - text "A common sight in" - next "forests and woods." - next "It flaps its" - - page "wings at ground" - next "level to kick up" - next "blinding sand" - dex - -_SlowpokeDexEntry:: - text "Incredibly slow" - next "and dopey. It" - next "takes 5 seconds" - - page "for it to feel" - next "pain when under" - next "attack" - dex - -_KadabraDexEntry:: - text "It emits special" - next "alpha waves from" - next "its body that" - - page "induce headaches" - next "just by being" - next "close by" - dex - -_GravelerDexEntry:: - text "Rolls down slopes" - next "to move. It rolls" - next "over any obstacle" - - page "without slowing" - next "or changing its" - next "direction" - dex - -_ChanseyDexEntry:: - text "A rare and elusive" - next "#MON that is" - next "said to bring" - - page "happiness to those" - next "who manage to get" - next "it" - dex - -_MachokeDexEntry:: - text "Its muscular body" - next "is so powerful, it" - next "must wear a power" - - page "save belt to be" - next "able to regulate" - next "its motions" - dex - -_MrMimeDexEntry:: - text "If interrupted" - next "while it is" - next "miming, it will" - - page "slap around the" - next "offender with its" - next "broad hands" - dex - -_HitmonleeDexEntry:: - text "When in a hurry," - next "its legs lengthen" - next "progressively." - - page "It runs smoothly" - next "with extra long," - next "loping strides" - dex - -_HitmonchanDexEntry:: - text "While apparently" - next "doing nothing, it" - next "fires punches in" - - page "lightning fast" - next "volleys that are" - next "impossible to see" - dex - -_ArbokDexEntry:: - text "It is rumored that" - next "the ferocious" - next "warning markings" - - page "on its belly" - next "differ from area" - next "to area" - dex - -_ParasectDexEntry:: - text "A host-parasite" - next "pair in which the" - next "parasite mushroom" - - page "has taken over the" - next "host bug. Prefers" - next "damp places" - dex - -_PsyduckDexEntry:: - text "While lulling its" - next "enemies with its" - next "vacant look, this" - - page "wily #MON will" - next "use psychokinetic" - next "powers" - dex - -_DrowzeeDexEntry:: - text "Puts enemies to" - next "sleep then eats" - next "their dreams." - - page "Occasionally gets" - next "sick from eating" - next "bad dreams" - dex - -_GolemDexEntry:: - text "Its boulder-like" - next "body is extremely" - next "hard. It can" - - page "easily withstand" - next "dynamite blasts" - next "without damage" - dex - -_MagmarDexEntry:: - text "Its body always" - next "burns with an" - next "orange glow that" - - page "enables it to" - next "hide perfectly" - next "among flames" - dex - -_ElectabuzzDexEntry:: - text "Normally found" - next "near power plants," - next "they can wander" - - page "away and cause" - next "major blackouts" - next "in cities" - dex - -_MagnetonDexEntry:: - text "Formed by several" - next "MAGNEMITEs linked" - next "together. They" - - page "frequently appear" - next "when sunspots" - next "flare up" - dex - -_KoffingDexEntry:: - text "Because it stores" - next "several kinds of" - next "toxic gases in" - - page "its body, it is" - next "prone to exploding" - next "without warning" - dex - -_MankeyDexEntry:: - text "Extremely quick to" - next "anger. It could" - next "be docile one" - - page "moment then" - next "thrashing away" - next "the next instant" - dex - -_SeelDexEntry:: - text "The protruding" - next "horn on its head" - next "is very hard." - - page "It is used for" - next "bashing through" - next "thick ice" - dex - -_DiglettDexEntry:: - text "Lives about one" - next "yard underground" - next "where it feeds on" - - page "plant roots. It" - next "sometimes appears" - next "above ground" - dex - -_TaurosDexEntry:: - text "When it targets" - next "an enemy, it" - next "charges furiously" - - page "while whipping its" - next "body with its" - next "long tails" - dex - -_FarfetchdDexEntry:: - text "The sprig of" - next "green onions it" - next "holds is its" - - page "weapon. It is" - next "used much like a" - next "metal sword" - dex - -_VenonatDexEntry:: - text "Lives in the" - next "shadows of tall" - next "trees where it" - - page "eats insects. It" - next "is attracted by" - next "light at night" - dex - -_DragoniteDexEntry:: - text "An extremely" - next "rarely seen" - next "marine #MON." - - page "Its intelligence" - next "is said to match" - next "that of humans" - dex - -_DoduoDexEntry:: - text "A bird that makes" - next "up for its poor" - next "flying with its" - - page "fast foot speed." - next "Leaves giant" - next "footprints" - dex - -_PoliwagDexEntry:: - text "Its newly grown" - next "legs prevent it" - next "from running. It" - - page "appears to prefer" - next "swimming than" - next "trying to stand" - dex - -_JynxDexEntry:: - text "It seductively" - next "wiggles its hips" - next "as it walks. It" - - page "can cause people" - next "to dance in" - next "unison with it" - dex - -_MoltresDexEntry:: - text "Known as the" - next "legendary bird of" - next "fire. Every flap" - - page "of its wings" - next "creates a dazzling" - next "flash of flames" - dex - -_ArticunoDexEntry:: - text "A legendary bird" - next "#MON that is" - next "said to appear to" - - page "doomed people who" - next "are lost in icy" - next "mountains" - dex - -_ZapdosDexEntry:: - text "A legendary bird" - next "#MON that is" - next "said to appear" - - page "from clouds while" - next "dropping enormous" - next "lightning bolts" - dex - -_DittoDexEntry:: - text "Capable of copying" - next "an enemy's genetic" - next "code to instantly" - - page "transform itself" - next "into a duplicate" - next "of the enemy" - dex - -_MeowthDexEntry:: - text "Adores circular" - next "objects. Wanders" - next "the streets on a" - - page "nightly basis to" - next "look for dropped" - next "loose change" - dex - -_KrabbyDexEntry:: - text "Its pincers are" - next "not only powerful" - next "weapons, they are" - - page "used for balance" - next "when walking" - next "sideways" - dex - -_VulpixDexEntry:: - text "At the time of" - next "birth, it has" - next "just one tail." - - page "The tail splits" - next "from its tip as" - next "it grows older" - dex - -_NinetalesDexEntry:: - text "Very smart and" - next "very vengeful." - next "Grabbing one of" - - page "its many tails" - next "could result in a" - next "1000-year curse" - dex - -_PikachuDexEntry:: - text "When several of" - next "these #MON" - next "gather, their" - - page "electricity could" - next "build and cause" - next "lightning storms" - dex - -_RaichuDexEntry:: - text "Its long tail" - next "serves as a" - next "ground to protect" - - page "itself from its" - next "own high voltage" - next "power" - dex - -_DratiniDexEntry:: - text "Long considered a" - next "mythical #MON" - next "until recently" - - page "when a small" - next "colony was found" - next "living underwater" - dex - -_DragonairDexEntry:: - text "A mystical #MON" - next "that exudes a" - next "gentle aura." - - page "Has the ability" - next "to change climate" - next "conditions" - dex - -_KabutoDexEntry:: - text "A #MON that" - next "was resurrected" - next "from a fossil" - - page "found in what was" - next "once the ocean" - next "floor eons ago" - dex - -_KabutopsDexEntry:: - text "Its sleek shape is" - next "perfect for swim-" - next "ming. It slashes" - - page "prey with its" - next "claws and drains" - next "the body fluids" - dex - -_HorseaDexEntry:: - text "Known to shoot" - next "down flying bugs" - next "with precision" - - page "blasts of ink" - next "from the surface" - next "of the water" - dex - -_SeadraDexEntry:: - text "Capable of swim-" - next "ming backwards by" - next "rapidly flapping" - - page "its wing-like" - next "pectoral fins and" - next "stout tail" - dex - -_SandshrewDexEntry:: - text "Burrows deep" - next "underground in" - next "arid locations" - - page "far from water." - next "It only emerges" - next "to hunt for food" - dex - -_SandslashDexEntry:: - text "Curls up into a" - next "spiny ball when" - next "threatened. It" - - page "can roll while" - next "curled up to" - next "attack or escape" - dex - -_OmanyteDexEntry:: - text "Although long" - next "extinct, in rare" - next "cases, it can be" - - page "genetically" - next "resurrected from" - next "fossils" - dex - -_OmastarDexEntry:: - text "A prehistoric" - next "#MON that died" - next "out when its" - - page "heavy shell made" - next "it impossible to" - next "catch prey" - dex - -_JigglypuffDexEntry:: - text "When its huge eyes" - next "light up, it sings" - next "a mysteriously" - - page "soothing melody" - next "that lulls its" - next "enemies to sleep" - dex - -_WigglytuffDexEntry:: - text "The body is soft" - next "and rubbery. When" - next "angered, it will" - - page "suck in air and" - next "inflate itself to" - next "an enormous size" - dex - -_EeveeDexEntry:: - text "Its genetic code" - next "is irregular." - next "It may mutate if" - - page "it is exposed to" - next "radiation from" - next "element STONEs" - dex - -_FlareonDexEntry:: - text "When storing" - next "thermal energy in" - next "its body, its" - - page "temperature could" - next "soar to over 1600" - next "degrees" - dex - -_JolteonDexEntry:: - text "It accumulates" - next "negative ions in" - next "the atmosphere to" - - page "blast out 10000-" - next "volt lightning" - next "bolts" - dex - -_VaporeonDexEntry:: - text "Lives close to" - next "water. Its long" - next "tail is ridged" - - page "with a fin which" - next "is often mistaken" - next "for a mermaid's" - dex - -_MachopDexEntry:: - text "Loves to build" - next "its muscles." - next "It trains in all" - - page "styles of martial" - next "arts to become" - next "even stronger" - dex - -_ZubatDexEntry:: - text "Forms colonies in" - next "perpetually dark" - next "places. Uses" - - page "ultrasonic waves" - next "to identify and" - next "approach targets" - dex - -_EkansDexEntry:: - text "Moves silently" - next "and stealthily." - next "Eats the eggs of" - - page "birds, such as" - next "PIDGEY and" - next "SPEAROW, whole" - dex - -_ParasDexEntry:: - text "Burrows to suck" - next "tree roots. The" - next "mushrooms on its" - - page "back grow by draw-" - next "ing nutrients from" - next "the bug host" - dex - -_PoliwhirlDexEntry:: - text "Capable of living" - next "in or out of" - next "water. When out" - - page "of water, it" - next "sweats to keep" - next "its body slimy" - dex - -_PoliwrathDexEntry:: - text "An adept swimmer" - next "at both the front" - next "crawl and breast" - - page "stroke. Easily" - next "overtakes the best" - next "human swimmers" - dex - -_WeedleDexEntry:: - text "Often found in" - next "forests, eating" - next "leaves." - - page "It has a sharp" - next "venomous stinger" - next "on its head" - dex - -_KakunaDexEntry:: - text "Almost incapable" - next "of moving, this" - next "#MON can only" - - page "harden its shell" - next "to protect itself" - next "from predators" - dex - -_BeedrillDexEntry:: - text "Flies at high" - next "speed and attacks" - next "using its large" - - page "venomous stingers" - next "on its forelegs" - next "and tail" - dex - -_DodrioDexEntry:: - text "Uses its three" - next "brains to execute" - next "complex plans." - - page "While two heads" - next "sleep, one head" - next "stays awake" - dex - -_PrimeapeDexEntry:: - text "Always furious" - next "and tenacious to" - next "boot. It will not" - - page "abandon chasing" - next "its quarry until" - next "it is caught" - dex - -_DugtrioDexEntry:: - text "A team of DIGLETT" - next "triplets." - next "It triggers huge" - - page "earthquakes by" - next "burrowing 60 miles" - next "underground" - dex - -_VenomothDexEntry:: - text "The dust-like" - next "scales covering" - next "its wings are" - - page "color coded to" - next "indicate the kinds" - next "of poison it has" - dex - -_DewgongDexEntry:: - text "Stores thermal" - next "energy in its" - next "body. Swims at a" - - page "steady 8 knots" - next "even in intensely" - next "cold waters" - dex - -_CaterpieDexEntry:: - text "Its short feet" - next "are tipped with" - next "suction pads that" - - page "enable it to" - next "tirelessly climb" - next "slopes and walls" - dex - -_MetapodDexEntry:: - text "This #MON is" - next "vulnerable to" - next "attack while its" - - page "shell is soft," - next "exposing its weak" - next "and tender body" - dex - -_ButterfreeDexEntry:: - text "In battle, it" - next "flaps its wings" - next "at high speed to" - - page "release highly" - next "toxic dust into" - next "the air" - dex - -_MachampDexEntry:: - text "Using its heavy" - next "muscles, it throws" - next "powerful punches" - - page "that can send the" - next "victim clear over" - next "the horizon" - dex - -_GolduckDexEntry:: - text "Often seen swim-" - next "ming elegantly by" - next "lake shores. It" - - page "is often mistaken" - next "for the Japanese" - next "monster, Kappa" - dex - -_HypnoDexEntry:: - text "When it locks eyes" - next "with an enemy, it" - next "will use a mix of" - - page "PSI moves such as" - next "HYPNOSIS and" - next "CONFUSION" - dex - -_GolbatDexEntry:: - text "Once it strikes," - next "it will not stop" - next "draining energy" - - page "from the victim" - next "even if it gets" - next "too heavy to fly" - dex - -_MewtwoDexEntry:: - text "It was created by" - next "a scientist after" - next "years of horrific" - - page "gene splicing and" - next "DNA engineering" - next "experiments" - dex - -_SnorlaxDexEntry:: - text "Very lazy. Just" - next "eats and sleeps." - next "As its rotund" - - page "bulk builds, it" - next "becomes steadily" - next "more slothful" - dex - -_MagikarpDexEntry:: - text "In the distant" - next "past, it was" - next "somewhat stronger" - - page "than the horribly" - next "weak descendants" - next "that exist today" - dex - -_MukDexEntry:: - text "Thickly covered" - next "with a filthy," - next "vile sludge. It" - - page "is so toxic, even" - next "its footprints" - next "contain poison" - dex - -_KinglerDexEntry:: - text "The large pincer" - next "has 10000 hp of" - next "crushing power." - - page "However, its huge" - next "size makes it" - next "unwieldy to use" - dex - -_CloysterDexEntry:: - text "When attacked, it" - next "launches its" - next "horns in quick" - - page "volleys. Its" - next "innards have" - next "never been seen" - dex - -_ElectrodeDexEntry:: - text "It stores electric" - next "energy under very" - next "high pressure." - - page "It often explodes" - next "with little or no" - next "provocation" - dex - -_ClefableDexEntry:: - text "A timid fairy" - next "#MON that is" - next "rarely seen. It" - - page "will run and hide" - next "the moment it" - next "senses people" - dex - -_WeezingDexEntry:: - text "Where two kinds" - next "of poison gases" - next "meet, 2 KOFFINGs" - - page "can fuse into a" - next "WEEZING over many" - next "years" - dex - -_PersianDexEntry:: - text "Although its fur" - next "has many admirers," - next "it is tough to" - - page "raise as a pet" - next "because of its" - next "fickle meanness" - dex - -_MarowakDexEntry:: - text "The bone it holds" - next "is its key weapon." - next "It throws the" - - page "bone skillfully" - next "like a boomerang" - next "to KO targets" - dex - -_HaunterDexEntry:: - text "Because of its" - next "ability to slip" - next "through block" - - page "walls, it is said" - next "to be from an-" - next "other dimension" - dex - -_AbraDexEntry:: - text "Using its ability" - next "to read minds, it" - next "will identify" - - page "impending danger" - next "and TELEPORT to" - next "safety" - dex - -_AlakazamDexEntry:: - text "Its brain can out-" - next "perform a super-" - next "computer." - - page "Its intelligence" - next "quotient is said" - next "to be 5,000" - dex - -_PidgeottoDexEntry:: - text "Very protective" - next "of its sprawling" - next "territorial area," - - page "this #MON will" - next "fiercely peck at" - next "any intruder" - dex - -_PidgeotDexEntry:: - text "When hunting, it" - next "skims the surface" - next "of water at high" - - page "speed to pick off" - next "unwary prey such" - next "as MAGIKARP" - dex - -_StarmieDexEntry:: - text "Its central core" - next "glows with the" - next "seven colors of" - - page "the rainbow. Some" - next "people value the" - next "core as a gem" - dex - -_BulbasaurDexEntry:: - text "A strange seed was" - next "planted on its" - next "back at birth." - - page "The plant sprouts" - next "and grows with" - next "this #MON" - dex - -_VenusaurDexEntry:: - text "The plant blooms" - next "when it is" - next "absorbing solar" - - page "energy. It stays" - next "on the move to" - next "seek sunlight" - dex - -_TentacruelDexEntry:: - text "The tentacles are" - next "normally kept" - next "short. On hunts," - - page "they are extended" - next "to ensnare and" - next "immobilize prey" - dex - -_GoldeenDexEntry:: - text "Its tail fin" - next "billows like an" - next "elegant ballroom" - - page "dress, giving it" - next "the nickname of" - next "the Water Queen" - dex - -_SeakingDexEntry:: - text "In the autumn" - next "spawning season," - next "they can be seen" - - page "swimming power-" - next "fully up rivers" - next "and creeks" - dex - -_PonytaDexEntry:: - text "Its hooves are 10" - next "times harder than" - next "diamonds. It can" - - page "trample anything" - next "completely flat" - next "in little time" - dex - -_RapidashDexEntry:: - text "Very competitive," - next "this #MON will" - next "chase anything" - - page "that moves fast" - next "in the hopes of" - next "racing it" - dex - -_RattataDexEntry:: - text "Bites anything" - next "when it attacks." - next "Small and very" - - page "quick, it is a" - next "common sight in" - next "many places" - dex - -_RaticateDexEntry:: - text "It uses its whis-" - next "kers to maintain" - next "its balance." - - page "It apparently" - next "slows down if" - next "they are cut off" - dex - -_NidorinoDexEntry:: - text "An aggressive" - next "#MON that is" - next "quick to attack." - - page "The horn on its" - next "head secretes a" - next "powerful venom" - dex - -_NidorinaDexEntry:: - text "The female's horn" - next "develops slowly." - next "Prefers physical" - - page "attacks such as" - next "clawing and" - next "biting" - dex - -_GeodudeDexEntry:: - text "Found in fields" - next "and mountains." - next "Mistaking them" - - page "for boulders," - next "people often step" - next "or trip on them" - dex - -_PorygonDexEntry:: - text "A #MON that" - next "consists entirely" - next "of programming" - - page "code. Capable of" - next "moving freely in" - next "cyberspace" - dex - -_AerodactylDexEntry:: - text "A ferocious, pre-" - next "historic #MON" - next "that goes for the" - - page "enemy's throat" - next "with its serrated" - next "saw-like fangs" - dex - -_MagnemiteDexEntry:: - text "Uses anti-gravity" - next "to stay suspended." - next "Appears without" - - page "warning and uses" - next "THUNDER WAVE and" - next "similar moves" - dex - -_CharmanderDexEntry:: - text "Obviously prefers" - next "hot places. When" - next "it rains, steam" - - page "is said to spout" - next "from the tip of" - next "its tail" - dex - -_SquirtleDexEntry:: - text "After birth, its" - next "back swells and" - next "hardens into a" - - page "shell. Powerfully" - next "sprays foam from" - next "its mouth" - dex - -_CharmeleonDexEntry:: - text "When it swings" - next "its burning tail," - next "it elevates the" - - page "temperature to" - next "unbearably high" - next "levels" - dex - -_WartortleDexEntry:: - text "Often hides in" - next "water to stalk" - next "unwary prey. For" - - page "swimming fast, it" - next "moves its ears to" - next "maintain balance" - dex - -_CharizardDexEntry:: - text "Spits fire that" - next "is hot enough to" - next "melt boulders." - - page "Known to cause" - next "forest fires" - next "unintentionally" - dex - -_OddishDexEntry:: - text "During the day," - next "it keeps its face" - next "buried in the" - - page "ground. At night," - next "it wanders around" - next "sowing its seeds" - dex - -_GloomDexEntry:: - text "The fluid that" - next "oozes from its" - next "mouth isn't drool." - - page "It is a nectar" - next "that is used to" - next "attract prey" - dex - -_VileplumeDexEntry:: - text "The larger its" - next "petals, the more" - next "toxic pollen it" - - page "contains. Its big" - next "head is heavy and" - next "hard to hold up" - dex - -_BellsproutDexEntry:: - text "A carnivorous" - next "#MON that traps" - next "and eats bugs." - - page "It uses its root" - next "feet to soak up" - next "needed moisture" - dex - -_WeepinbellDexEntry:: - text "It spits out" - next "POISONPOWDER to" - next "immobilize the" - - page "enemy and then" - next "finishes it with" - next "a spray of ACID" - dex - -_VictreebelDexEntry:: - text "Said to live in" - next "huge colonies" - next "deep in jungles," - - page "although no one" - next "has ever returned" - next "from there" - dex - diff --git a/text/stat_names.asm b/text/stat_names.asm deleted file mode 100644 index 854780c6..00000000 --- a/text/stat_names.asm +++ /dev/null @@ -1,7 +0,0 @@ -StatsTextStrings: - db "ATTACK@" - db "DEFENSE@" - db "SPEED@" - db "SPECIAL@" - db "ACCURACY@" - db "EVADE@" diff --git a/text/trainer_name_pointers.asm b/text/trainer_name_pointers.asm deleted file mode 100644 index aa5e72d3..00000000 --- a/text/trainer_name_pointers.asm +++ /dev/null @@ -1,92 +0,0 @@ -TrainerNamePointers: -; what is the point of these? - dw YoungsterName - dw BugCatcherName - dw LassName - dw wTrainerName - dw JrTrainerMName - dw JrTrainerFName - dw PokemaniacName - dw SuperNerdName - dw wTrainerName - dw wTrainerName - dw BurglarName - dw EngineerName - dw JugglerXName - dw wTrainerName - dw SwimmerName - dw wTrainerName - dw wTrainerName - dw BeautyName - dw wTrainerName - dw RockerName - dw JugglerName - dw wTrainerName - dw wTrainerName - dw BlackbeltName - dw wTrainerName - dw ProfOakName - dw ChiefName - dw ScientistName - dw wTrainerName - dw RocketName - dw CooltrainerMName - dw CooltrainerFName - dw wTrainerName - dw wTrainerName - dw wTrainerName - dw wTrainerName - dw wTrainerName - dw wTrainerName - dw wTrainerName - dw wTrainerName - dw wTrainerName - dw wTrainerName - dw wTrainerName - dw wTrainerName - dw wTrainerName - dw wTrainerName - dw wTrainerName - -YoungsterName: - db "YOUNGSTER@" -BugCatcherName: - db "BUG CATCHER@" -LassName: - db "LASS@" -JrTrainerMName: - db "JR.TRAINER♂@" -JrTrainerFName: - db "JR.TRAINER♀@" -PokemaniacName: - db "POKéMANIAC@" -SuperNerdName: - db "SUPER NERD@" -BurglarName: - db "BURGLAR@" -EngineerName: - db "ENGINEER@" -JugglerXName: - db "JUGGLER@" -SwimmerName: - db "SWIMMER@" -BeautyName: - db "BEAUTY@" -RockerName: - db "ROCKER@" -JugglerName: - db "JUGGLER@" -BlackbeltName: - db "BLACKBELT@" -ProfOakName: - db "PROF.OAK@" -ChiefName: - db "CHIEF@" -ScientistName: - db "SCIENTIST@" -RocketName: - db "ROCKET@" -CooltrainerMName: - db "COOLTRAINER♂@" -CooltrainerFName: - db "COOLTRAINER♀@" diff --git a/text/trainer_names.asm b/text/trainer_names.asm deleted file mode 100755 index d8e1f550..00000000 --- a/text/trainer_names.asm +++ /dev/null @@ -1,48 +0,0 @@ -TrainerNames:: - db "YOUNGSTER@" - db "BUG CATCHER@" - db "LASS@" - db "SAILOR@" - db "JR.TRAINER♂@" - db "JR.TRAINER♀@" - db "POKéMANIAC@" - db "SUPER NERD@" - db "HIKER@" - db "BIKER@" - db "BURGLAR@" - db "ENGINEER@" - db "JUGGLER@" - db "FISHERMAN@" - db "SWIMMER@" - db "CUE BALL@" - db "GAMBLER@" - db "BEAUTY@" - db "PSYCHIC@" - db "ROCKER@" - db "JUGGLER@" - db "TAMER@" - db "BIRD KEEPER@" - db "BLACKBELT@" - db "RIVAL1@" - db "PROF.OAK@" - db "CHIEF@" - db "SCIENTIST@" - db "GIOVANNI@" - db "ROCKET@" - db "COOLTRAINER♂@" - db "COOLTRAINER♀@" - db "BRUNO@" - db "BROCK@" - db "MISTY@" - db "LT.SURGE@" - db "ERIKA@" - db "KOGA@" - db "BLAINE@" - db "SABRINA@" - db "GENTLEMAN@" - db "RIVAL2@" - db "RIVAL3@" - db "LORELEI@" - db "CHANNELER@" - db "AGATHA@" - db "LANCE@" diff --git a/text/type_names.asm b/text/type_names.asm deleted file mode 100755 index d94675b8..00000000 --- a/text/type_names.asm +++ /dev/null @@ -1,48 +0,0 @@ -TypeNames: - - dw .Normal - dw .Fighting - dw .Flying - dw .Poison - dw .Ground - dw .Rock - dw .Bird - dw .Bug - dw .Ghost - - dw .Normal - dw .Normal - dw .Normal - dw .Normal - dw .Normal - dw .Normal - dw .Normal - dw .Normal - dw .Normal - dw .Normal - dw .Normal - - dw .Fire - dw .Water - dw .Grass - dw .Electric - dw .Psychic - dw .Ice - dw .Dragon - -.Normal: db "NORMAL@" -.Fighting: db "FIGHTING@" -.Flying: db "FLYING@" -.Poison: db "POISON@" -.Fire: db "FIRE@" -.Water: db "WATER@" -.Grass: db "GRASS@" -.Electric: db "ELECTRIC@" -.Psychic: db "PSYCHIC@" -.Ice: db "ICE@" -.Ground: db "GROUND@" -.Rock: db "ROCK@" -.Bird: db "BIRD@" -.Bug: db "BUG@" -.Ghost: db "GHOST@" -.Dragon: db "DRAGON@" diff --git a/text/unused_names.asm b/text/unused_names.asm deleted file mode 100644 index 4aca7ca2..00000000 --- a/text/unused_names.asm +++ /dev/null @@ -1,20 +0,0 @@ -UnusedNames:: - db "かみなりバッヂ@" - db "かいがらバッヂ@" - db "おじぞうバッヂ@" - db "はやぶさバッヂ@" - db "ひんやりバッヂ@" - db "なかよしバッヂ@" - db "バラバッヂ@" - db "ひのたまバッヂ@" - db "ゴールドバッヂ@" - db "たまご@" - db "ひよこ@" - db "ブロンズ@" - db "シルバー@" - db "ゴールド@" - db "プチキャプテン@" - db "キャプテン@" - db "プチマスター@" - db "マスター@" - db "エクセレント" -- cgit v1.2.3 From 91dc3c9f9c8fd529bb6e8307b58b96efa0bec67e Mon Sep 17 00:00:00 2001 From: Rangi Date: Fri, 3 Jul 2020 11:52:16 -0400 Subject: Remove unused Yellow music --- audio/music/yellow/meetjessiejames.asm | 308 -------------- audio/music/yellow/surfingpikachu.asm | 690 -------------------------------- audio/music/yellow/yellowintro.asm | 484 ---------------------- audio/music/yellow/yellowunusedsong.asm | 326 --------------- 4 files changed, 1808 deletions(-) delete mode 100644 audio/music/yellow/meetjessiejames.asm delete mode 100644 audio/music/yellow/surfingpikachu.asm delete mode 100644 audio/music/yellow/yellowintro.asm delete mode 100644 audio/music/yellow/yellowunusedsong.asm diff --git a/audio/music/yellow/meetjessiejames.asm b/audio/music/yellow/meetjessiejames.asm deleted file mode 100644 index d1f9f795..00000000 --- a/audio/music/yellow/meetjessiejames.asm +++ /dev/null @@ -1,308 +0,0 @@ -Music_MeetJessieJames_Ch1:: - tempo 144 - volume 7, 7 - duty_cycle 3 - vibrato 8, 1, 4 - note_type 12, 11, 2 - octave 3 - note G#, 1 - note G_, 1 - note F#, 2 - note F_, 2 - note E_, 2 - note D#, 2 - note D_, 2 - note C#, 2 - note C_, 2 - note_type 12, 11, 6 - note D#, 12 - note C_, 4 - -Music_MeetJessieJames_branch_83187:: - note_type 12, 11, 2 - octave 4 - note D_, 16 - rest 12 - note_type 12, 11, 4 - octave 3 - note A#, 4 - rest 16 - rest 8 - note_type 12, 11, 2 - octave 2 - note A_, 2 - octave 3 - note A#, 2 - note A_, 4 - note D_, 1 - note D#, 1 - note D#, 2 - note D#, 2 - note D_, 2 - note D#, 2 - note D_, 2 - note D#, 2 - note F_, 2 - note D_, 1 - note D#, 1 - note D#, 2 - note D#, 2 - note D_, 2 - octave 2 - note A#, 4 - note_type 12, 11, 4 - octave 3 - note B_, 4 - note_type 12, 11, 2 - note D_, 1 - note D#, 1 - note D#, 2 - note D#, 2 - note D_, 2 - note D#, 2 - note D_, 2 - note D#, 2 - note F_, 2 - note D_, 1 - note D#, 1 - note D#, 2 - note D#, 2 - note D_, 2 - octave 2 - note A#, 2 - octave 3 - note B_, 2 - note_type 12, 11, 4 - note A#, 4 - sound_loop 0, Music_MeetJessieJames_branch_83187 - - -Music_MeetJessieJames_Ch2:: - duty_cycle 3 - vibrato 6, 1, 5 - note_type 12, 12, 2 - octave 4 - note D_, 1 - note C#, 1 - note C_, 2 - octave 3 - note B_, 2 - note A#, 2 - note A_, 2 - note G#, 2 - note G_, 2 - note F#, 2 - note_type 12, 12, 7 - note A_, 12 - octave 4 - note C#, 4 - -Music_MeetJessieJames_branch_831df:: - note_type 12, 12, 2 - octave 3 - note C#, 1 - note D_, 1 - note D_, 2 - note D_, 2 - note C#, 2 - note D_, 2 - note C#, 2 - note D_, 2 - note E_, 2 - note C#, 1 - note D_, 1 - note D_, 2 - note D_, 2 - note C#, 2 - octave 2 - note A_, 4 - note_type 12, 12, 5 - octave 4 - note C#, 4 - note_type 12, 12, 2 - note D_, 1 - octave 3 - note D_, 1 - note D_, 2 - note D_, 2 - note C#, 2 - note D_, 2 - note C#, 2 - note D_, 2 - note E_, 2 - note C#, 1 - note D_, 1 - note D_, 2 - note D_, 2 - note C#, 2 - note_type 12, 12, 6 - octave 4 - note D_, 8 - note_type 12, 12, 2 - note D#, 6 - note F_, 4 - note D#, 4 - octave 3 - note A#, 2 - octave 4 - note D#, 6 - note F_, 4 - note D#, 2 - note_type 12, 12, 5 - note D_, 4 - note_type 12, 12, 2 - note D#, 6 - note F_, 4 - note D#, 4 - octave 3 - note A#, 2 - octave 4 - note D#, 4 - note F_, 4 - note_type 12, 12, 5 - note D#, 8 - sound_loop 0, Music_MeetJessieJames_branch_831df - - -Music_MeetJessieJames_Ch3:: - note_type 12, 1, 0 - rest 16 - rest 8 - octave 4 - note D_, 2 - octave 3 - note A_, 2 - octave 4 - note C_, 2 - note D#, 2 - -Music_MeetJessieJames_branch_83235:: - note D_, 1 - rest 1 - note A_, 1 - rest 1 - note D_, 1 - rest 1 - note A_, 1 - rest 1 - note D_, 1 - rest 1 - note A_, 1 - rest 1 - note D_, 1 - rest 1 - note A_, 1 - rest 1 - note D_, 1 - rest 1 - note A_, 1 - rest 1 - note D_, 1 - rest 1 - note A_, 1 - rest 1 - note D_, 1 - rest 1 - note A#, 2 - note A_, 2 - note D#, 2 - note D_, 1 - rest 1 - note A_, 1 - rest 1 - note D_, 1 - rest 1 - note A_, 1 - rest 1 - note D_, 1 - rest 1 - note A_, 1 - rest 1 - note D_, 1 - rest 1 - note A_, 1 - rest 1 - note D_, 1 - rest 1 - note A_, 1 - rest 1 - note D_, 1 - rest 1 - note A_, 1 - rest 1 - note D_, 1 - rest 1 - octave 3 - note A_, 2 - octave 4 - note C_, 2 - note D_, 2 - note D#, 1 - rest 1 - note A#, 1 - rest 1 - note D#, 1 - rest 1 - note A#, 1 - rest 1 - note D#, 1 - rest 1 - note A#, 1 - rest 1 - note D#, 1 - rest 1 - note A#, 1 - rest 1 - note D#, 1 - rest 1 - note A#, 1 - rest 1 - note D#, 1 - rest 1 - note A#, 1 - rest 1 - note D#, 1 - rest 1 - octave 3 - note A#, 1 - rest 1 - octave 4 - note C#, 1 - rest 1 - note E_, 1 - rest 1 - note D#, 1 - rest 1 - note A#, 1 - rest 1 - note D#, 1 - rest 1 - note A#, 1 - rest 1 - note D#, 1 - rest 1 - note A#, 1 - rest 1 - note D#, 1 - rest 1 - note A#, 1 - rest 1 - note D#, 1 - rest 1 - note A#, 1 - rest 1 - note D#, 1 - rest 1 - note A#, 1 - rest 1 - note D#, 1 - rest 1 - octave 3 - note A#, 1 - rest 1 - octave 4 - note C#, 1 - rest 1 - note E_, 1 - rest 1 - sound_loop 0, Music_MeetJessieJames_branch_83235 diff --git a/audio/music/yellow/surfingpikachu.asm b/audio/music/yellow/surfingpikachu.asm deleted file mode 100644 index 8e161443..00000000 --- a/audio/music/yellow/surfingpikachu.asm +++ /dev/null @@ -1,690 +0,0 @@ -Music_SurfingPikachu_Ch1:: - tempo 117 - volume 7, 7 - duty_cycle 3 - vibrato 8, 1, 4 - note_type 12, 11, 3 - octave 3 - note E_, 6 - note_type 12, 11, 2 - note F#, 2 - note_type 12, 11, 3 - note E_, 6 - note_type 12, 11, 2 - note F#, 16 - rest 2 - note_type 12, 11, 3 - note E_, 6 - note_type 12, 11, 2 - note A_, 2 - note_type 12, 11, 3 - note E_, 6 - note_type 12, 11, 2 - note A_, 14 - note_type 12, 11, 2 - note D#, 2 - note C#, 1 - note D#, 1 - octave 2 - note B_, 6 - octave 3 - note E_, 4 - note E_, 4 - note E_, 8 - note G#, 4 - note G#, 4 - note G#, 2 - -Music_SurfingPikachu_branch_82d1a:: - note_type 12, 11, 3 - octave 3 - note G#, 4 - note E_, 4 - note F#, 4 - note E_, 2 - note A_, 2 - note G#, 2 - note F#, 2 - note G#, 2 - note F#, 2 - note E_, 2 - note D#, 2 - note E_, 2 - note D#, 2 - note C#, 6 - note F#, 2 - note A_, 8 - octave 2 - note B_, 6 - octave 3 - note E_, 2 - note G#, 8 - note G#, 4 - note E_, 4 - note F#, 4 - note E_, 2 - note A_, 2 - note G#, 2 - note F#, 2 - note G#, 2 - note A_, 2 - note G#, 2 - note F#, 2 - note E_, 2 - note G#, 2 - note F#, 6 - note E_, 2 - note F#, 1 - rest 3 - note A_, 4 - duty_cycle 0 - note_type 12, 11, 2 - note G#, 1 - note F#, 1 - note G#, 2 - note B_, 2 - note A_, 2 - note G#, 2 - note F#, 2 - note E_, 2 - note D#, 2 - note F#, 2 - note F#, 2 - note D#, 2 - note F#, 2 - note B_, 2 - note A_, 2 - note G#, 2 - note F#, 2 - note B_, 1 - note A#, 1 - note B_, 2 - note G#, 2 - note E_, 2 - note G#, 2 - note G_, 2 - note G#, 2 - note A_, 2 - octave 4 - note C#, 2 - note C_, 2 - note C#, 3 - octave 3 - note F#, 1 - note A_, 2 - note G#, 2 - note F#, 2 - note A_, 2 - note E_, 3 - note E_, 1 - note B_, 2 - note A_, 2 - note G#, 6 - note E_, 1 - note F_, 1 - note F#, 2 - note F#, 2 - note D#, 2 - note F#, 2 - note B_, 2 - note A_, 2 - note G#, 2 - note F#, 2 - note B_, 1 - note A#, 1 - note B_, 2 - note G#, 2 - note E_, 2 - note G#, 2 - note G_, 2 - note G#, 2 - note A_, 2 - octave 4 - note C#, 2 - note C_, 2 - note C#, 3 - octave 3 - note F#, 1 - note A_, 2 - note G#, 2 - note A_, 2 - octave 4 - note D#, 2 - note E_, 2 - note E_, 1 - note D#, 1 - note E_, 1 - note D#, 1 - note E_, 1 - note D#, 1 - note E_, 8 - duty_cycle 3 - sound_loop 0, Music_SurfingPikachu_branch_82d1a - - -Music_SurfingPikachu_Ch2:: - duty_cycle 3 - vibrato 6, 1, 5 - note_type 12, 12, 4 - octave 3 - note B_, 6 - note_type 12, 12, 2 - octave 4 - note E_, 2 - note_type 12, 12, 4 - octave 3 - note B_, 6 - note_type 12, 12, 2 - octave 4 - note E_, 2 - note_type 12, 11, 2 - octave 3 - note B_, 2 - octave 4 - note C#, 2 - note D#, 2 - note C#, 2 - octave 3 - note B_, 2 - note A_, 2 - note G#, 2 - note F#, 2 - note_type 12, 12, 4 - octave 4 - note C#, 6 - note_type 12, 12, 2 - note F#, 2 - note_type 12, 12, 4 - note C#, 6 - note_type 12, 12, 2 - note F#, 2 - note_type 12, 11, 2 - note C#, 2 - note D#, 2 - note E_, 2 - note D#, 2 - note C#, 2 - octave 3 - note B_, 2 - note A_, 2 - note G#, 2 - note_type 12, 12, 2 - note E_, 6 - note B_, 4 - note B_, 4 - note B_, 8 - note B_, 4 - note B_, 4 - note B_, 2 - -Music_SurfingPikachu_branch_82de0:: - note_type 12, 12, 6 - octave 4 - note E_, 4 - octave 3 - note B_, 4 - note A_, 4 - octave 4 - note C#, 4 - octave 3 - note B_, 6 - note A_, 2 - note G#, 8 - note F#, 6 - note A_, 2 - octave 4 - note C#, 8 - octave 3 - note E_, 6 - note G#, 2 - note B_, 8 - octave 4 - note E_, 4 - octave 3 - note B_, 4 - note A_, 4 - octave 4 - note C#, 4 - octave 3 - note B_, 6 - octave 4 - note D#, 2 - note E_, 8 - note D#, 6 - note C#, 2 - note D#, 1 - rest 3 - note F#, 4 - note E_, 10 - note_type 12, 12, 6 - duty_cycle 2 - note E_, 2 - note D#, 2 - note C#, 2 - octave 3 - note B_, 6 - octave 4 - note C#, 2 - note D#, 4 - octave 3 - note B_, 4 - octave 4 - note E_, 6 - note F#, 2 - note G#, 8 - note A_, 6 - note G#, 2 - note A_, 4 - note F#, 4 - note G#, 10 - note E_, 2 - note D#, 2 - note C#, 2 - octave 3 - note B_, 6 - octave 4 - note C#, 2 - note D#, 4 - octave 3 - note B_, 4 - octave 4 - note E_, 6 - note F#, 2 - note G#, 8 - note A_, 4 - note F#, 4 - note D#, 4 - octave 5 - note C#, 4 - octave 4 - note B_, 8 - note_type 12, 12, 2 - octave 5 - note E_, 4 - note_type 12, 12, 6 - duty_cycle 3 - octave 3 - note B_, 1 - note A#, 1 - note B_, 1 - octave 4 - note C#, 1 - sound_loop 0, Music_SurfingPikachu_branch_82de0 - - -Music_SurfingPikachu_Ch3:: - note_type 12, 1, 0 - octave 4 - note B_, 6 - octave 5 - note C#, 1 - rest 1 - octave 4 - note B_, 6 - octave 5 - note C#, 1 - rest 1 - octave 4 - note B_, 1 - rest 1 - note A_, 1 - rest 1 - note G#, 1 - rest 1 - note A_, 1 - rest 1 - note B_, 1 - rest 1 - octave 5 - note C#, 1 - rest 1 - note D#, 1 - rest 1 - note C#, 1 - rest 1 - octave 4 - note A_, 6 - octave 5 - note C#, 1 - rest 1 - octave 4 - note A_, 6 - octave 5 - note C#, 1 - rest 1 - octave 4 - note A_, 1 - rest 1 - note G#, 1 - rest 1 - note F#, 1 - rest 1 - note E_, 1 - rest 1 - note F#, 1 - rest 1 - note G#, 1 - rest 1 - note A_, 1 - rest 1 - note G#, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note C#, 1 - rest 1 - note D#, 1 - rest 1 - -Music_SurfingPikachu_branch_82ea0:: - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note F#, 1 - rest 1 - note A_, 1 - rest 1 - note F#, 1 - rest 1 - note A_, 1 - rest 1 - note F#, 1 - rest 1 - octave 5 - note C#, 1 - note C_, 1 - note C#, 1 - rest 1 - octave 4 - note F#, 1 - rest 1 - note E_, 1 - rest 1 - note G#, 1 - rest 1 - note E_, 1 - rest 1 - note G#, 1 - rest 1 - note E_, 1 - rest 1 - octave 5 - note E_, 1 - note D#, 1 - note E_, 1 - rest 1 - octave 4 - note D#, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note F#, 1 - rest 1 - note A_, 1 - rest 1 - note F#, 1 - rest 1 - note A_, 1 - rest 1 - note B_, 1 - rest 1 - note A_, 1 - rest 1 - note G#, 1 - rest 1 - note F#, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note C#, 1 - rest 1 - note D_, 1 - rest 1 - note D#, 1 - rest 1 - note F#, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note F#, 1 - rest 1 - note D#, 1 - rest 1 - note F#, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note F#, 1 - rest 1 - note E_, 1 - rest 1 - note G#, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note G#, 1 - rest 1 - note E_, 1 - rest 1 - note G#, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note G#, 1 - rest 1 - note F#, 1 - rest 1 - note A_, 1 - rest 1 - note C#, 1 - rest 1 - note A_, 1 - rest 1 - note F#, 1 - rest 1 - note A_, 1 - rest 1 - note C#, 1 - rest 1 - note A_, 1 - rest 1 - note B_, 1 - note A#, 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note F#, 1 - rest 1 - note G#, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note C#, 1 - rest 1 - note D_, 1 - rest 1 - note D#, 1 - rest 1 - note F#, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note F#, 1 - rest 1 - note D#, 1 - rest 1 - note F#, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note F#, 1 - rest 1 - note E_, 1 - rest 1 - note G#, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note G#, 1 - rest 1 - note E_, 1 - rest 1 - note G#, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note G#, 1 - rest 1 - note F#, 1 - rest 1 - note A_, 1 - rest 1 - note C#, 1 - rest 1 - note A_, 1 - rest 1 - note F#, 1 - rest 1 - note A_, 1 - rest 1 - note F#, 1 - rest 1 - note D#, 1 - rest 1 - note B_, 1 - rest 1 - note B_, 1 - rest 1 - note A_, 1 - rest 1 - note A_, 1 - rest 1 - note G#, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note C#, 1 - rest 1 - note D#, 1 - rest 1 - sound_loop 0, Music_SurfingPikachu_branch_82ea0 diff --git a/audio/music/yellow/yellowintro.asm b/audio/music/yellow/yellowintro.asm deleted file mode 100644 index bb741a22..00000000 --- a/audio/music/yellow/yellowintro.asm +++ /dev/null @@ -1,484 +0,0 @@ -Music_YellowIntro_Ch1:: - tempo 116 - volume 7, 7 - duty_cycle 3 - vibrato 8, 1, 4 - note_type 12, 11, 2 - octave 3 - note G#, 2 - note B_, 4 - note B_, 4 - note B_, 4 - note B_, 4 - note B_, 4 - note B_, 3 - note A#, 1 - note B_, 2 - note B_, 10 - note_type 12, 11, 6 - octave 4 - note C#, 1 - note C_, 1 - note C#, 10 - octave 3 - note G#, 1 - note G_, 1 - note G#, 4 - note B_, 4 - octave 4 - note E_, 4 - note F#, 8 - note E_, 8 - octave 3 - note A_, 4 - note B_, 4 - octave 4 - note C#, 4 - octave 3 - note B_, 4 - note G#, 6 - note_type 12, 11, 2 - note B_, 2 - note_type 12, 11, 6 - note G#, 6 - note_type 12, 11, 2 - note B_, 2 - note_type 12, 11, 6 - octave 4 - note E_, 6 - note_type 12, 11, 2 - note G#, 2 - note_type 12, 11, 6 - note E_, 6 - note_type 12, 11, 2 - note G#, 2 - note_type 12, 11, 6 - octave 3 - note A_, 4 - note F#, 4 - note A_, 4 - note B_, 4 - note F#, 4 - note G#, 4 - note A_, 2 - note G#, 2 - note F#, 2 - note D#, 2 - note_type 12, 11, 3 - note B_, 2 - octave 4 - note E_, 4 - note E_, 4 - note E_, 4 - note E_, 2 - note C#, 2 - note F#, 4 - note F#, 3 - note D#, 1 - note F#, 2 - note F#, 8 - note_type 12, 11, 6 - note F#, 1 - note F_, 1 - note F#, 8 - octave 3 - note B_, 1 - note A#, 1 - note B_, 8 - octave 4 - note F#, 1 - note F_, 1 - note F#, 2 - note_type 12, 11, 3 - note F#, 1 - note E_, 1 - note D#, 1 - note C#, 1 - note_type 12, 11, 2 - octave 3 - note B_, 16 - sound_ret - - -Music_YellowIntro_Ch2:: - duty_cycle 2 - vibrato 6, 1, 5 - note_type 12, 12, 2 - octave 3 - note B_, 2 - octave 4 - note E_, 4 - note E_, 4 - note E_, 4 - note E_, 4 - note E_, 4 - note E_, 3 - note D#, 1 - note E_, 2 - note E_, 4 - note_type 12, 12, 5 - note G#, 1 - note G_, 1 - note G#, 10 - octave 3 - note B_, 1 - note A#, 1 - note B_, 6 - note_type 12, 12, 7 - octave 4 - note E_, 4 - note G#, 4 - note B_, 4 - octave 5 - note C#, 16 - octave 4 - note A_, 4 - note G#, 4 - note F#, 4 - note E_, 4 - octave 3 - note B_, 6 - note_type 12, 12, 2 - octave 4 - note E_, 2 - note_type 12, 12, 7 - octave 3 - note B_, 6 - note_type 12, 12, 2 - octave 4 - note E_, 2 - note_type 12, 12, 7 - note G#, 6 - note_type 12, 12, 2 - note B_, 2 - note_type 12, 12, 7 - note G#, 6 - note_type 12, 12, 2 - note B_, 2 - note_type 12, 12, 7 - note C#, 4 - octave 3 - note A_, 4 - octave 4 - note C#, 4 - note D#, 4 - note E_, 2 - note D#, 2 - note C#, 2 - note D#, 4 - note D#, 2 - note C#, 2 - octave 3 - note B_, 2 - note_type 12, 12, 3 - octave 4 - note E_, 2 - note G#, 4 - note G#, 4 - note G#, 4 - note G#, 2 - note F#, 2 - note A_, 4 - note A_, 3 - note F#, 1 - note A_, 2 - note A_, 4 - note_type 12, 12, 7 - note B_, 1 - note A#, 1 - note B_, 8 - note B_, 1 - note A#, 1 - note B_, 8 - note B_, 1 - note A#, 1 - note B_, 6 - note_type 12, 12, 3 - note B_, 1 - note A_, 1 - note G#, 1 - note F#, 1 - note_type 12, 12, 2 - note E_, 16 - sound_ret - - -Music_YellowIntro_Ch3:: - note_type 12, 1, 0 - octave 4 - note E_, 1 - rest 1 - note G#, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note G#, 1 - rest 1 - note E_, 1 - rest 1 - note G#, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note G#, 1 - rest 1 - note E_, 1 - rest 1 - note G#, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note G#, 1 - rest 1 - note E_, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note C#, 1 - rest 1 - note D#, 1 - rest 1 - note G#, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note G#, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note G#, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note G#, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note F#, 1 - rest 1 - note A_, 1 - rest 1 - note C#, 1 - rest 1 - note A_, 1 - rest 1 - note F#, 1 - rest 1 - note A_, 1 - rest 1 - note C#, 1 - rest 1 - note A_, 1 - rest 1 - note A_, 1 - rest 1 - octave 5 - note C#, 1 - rest 1 - octave 4 - note F#, 1 - rest 1 - octave 5 - note C#, 1 - rest 1 - octave 4 - note A_, 1 - rest 1 - octave 5 - note C#, 1 - rest 1 - octave 4 - note F#, 1 - rest 1 - octave 5 - note C#, 1 - rest 1 - octave 4 - note B_, 1 - rest 1 - octave 5 - note E_, 1 - rest 1 - octave 4 - note G#, 1 - rest 1 - octave 5 - note E_, 1 - rest 1 - octave 4 - note B_, 1 - rest 1 - octave 5 - note E_, 1 - rest 1 - octave 4 - note G#, 1 - rest 1 - octave 5 - note E_, 1 - rest 1 - octave 4 - note G#, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note G#, 1 - rest 1 - note E_, 1 - rest 1 - note G#, 1 - rest 1 - note B_, 1 - rest 1 - note A_, 1 - rest 1 - octave 5 - note C#, 1 - rest 1 - octave 4 - note F#, 1 - rest 1 - octave 5 - note C#, 1 - rest 1 - octave 4 - note A_, 1 - rest 1 - octave 5 - note C#, 1 - rest 1 - octave 4 - note F#, 1 - rest 1 - octave 5 - note C#, 1 - rest 1 - octave 4 - note A_, 1 - rest 1 - octave 5 - note C#, 1 - rest 1 - octave 4 - note F#, 1 - rest 1 - octave 5 - note C#, 1 - rest 1 - octave 4 - note A_, 1 - rest 1 - octave 5 - note C#, 1 - rest 1 - octave 4 - note B_, 1 - rest 1 - note A_, 1 - rest 1 - note G#, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note G#, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note G#, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note G#, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note A_, 1 - rest 1 - octave 5 - note E_, 1 - rest 1 - octave 4 - note E_, 1 - rest 1 - octave 5 - note E_, 1 - rest 1 - octave 4 - note A_, 1 - rest 1 - octave 5 - note E_, 1 - rest 1 - octave 4 - note E_, 1 - rest 1 - octave 5 - note E_, 1 - rest 1 - octave 4 - note A_, 1 - rest 1 - octave 5 - note F#, 1 - rest 1 - octave 4 - note F#, 1 - rest 1 - octave 5 - note C#, 1 - rest 3 - note F#, 1 - rest 1 - octave 4 - note F#, 1 - note G#, 1 - note A_, 1 - octave 5 - note C#, 1 - note E_, 1 - rest 15 - sound_ret diff --git a/audio/music/yellow/yellowunusedsong.asm b/audio/music/yellow/yellowunusedsong.asm deleted file mode 100644 index f1e4d18f..00000000 --- a/audio/music/yellow/yellowunusedsong.asm +++ /dev/null @@ -1,326 +0,0 @@ -Music_YellowUnusedSong_Ch1:: - tempo 140 - volume 7, 7 - duty_cycle 3 - vibrato 8, 1, 4 - note_type 8, 11, 2 - octave 3 - note A_, 6 - note A_, 2 - note A_, 2 - note A_, 2 - note A#, 6 - note A#, 6 - note G_, 6 - note G_, 6 - note A_, 6 - note E_, 6 - note A_, 6 - note A_, 2 - note A_, 2 - note A_, 2 - note A#, 6 - note A#, 6 - note A_, 6 - note G_, 6 - note A_, 12 - -Music_YellowUnusedSong_branch_82fde:: - note A_, 6 - note A_, 2 - note A_, 2 - note A_, 2 - note A#, 6 - note A#, 6 - note G_, 6 - note G_, 6 - note A_, 6 - note E_, 6 - note A_, 6 - note A_, 2 - note A_, 2 - note A_, 2 - note A#, 6 - note A#, 6 - note G_, 6 - octave 4 - note D#, 6 - note D_, 12 - rest 16 - rest 16 - rest 16 - rest 16 - rest 16 - rest 16 - octave 3 - note A_, 6 - note A_, 2 - note A_, 2 - note A_, 2 - note A#, 6 - note A#, 6 - note G_, 6 - note G_, 6 - note A_, 6 - note E_, 6 - note A_, 6 - note A_, 2 - note A_, 2 - note A_, 2 - note A#, 6 - note A#, 6 - note A_, 6 - note G_, 6 - note A_, 12 - sound_loop 0, Music_YellowUnusedSong_branch_82fde - - -Music_YellowUnusedSong_Ch2:: - duty_cycle 2 - note_type 8, 12, 2 - octave 4 - note D_, 6 - note D_, 2 - note D_, 2 - note D_, 2 - note D#, 6 - note D#, 6 - note C_, 6 - note C_, 6 - note D_, 6 - octave 3 - note A_, 6 - octave 4 - note D_, 6 - note D_, 2 - note D_, 2 - note D_, 2 - note D#, 6 - note D#, 6 - note D_, 6 - note A#, 6 - note A_, 12 - -Music_YellowUnusedSong_branch_8302a:: - note D_, 6 - note D_, 2 - note D_, 2 - note D_, 2 - note D#, 6 - note D#, 6 - note C_, 6 - note C_, 6 - note D_, 6 - octave 3 - note A_, 6 - octave 4 - note D_, 6 - note D_, 2 - note D_, 2 - note D_, 2 - note D#, 6 - note D#, 6 - note C_, 6 - note G#, 6 - note G_, 12 - note_type 8, 9, 0 - octave 3 - note D#, 16 - note D#, 8 - note D#, 16 - note D#, 8 - octave 2 - note A#, 16 - note A#, 8 - octave 3 - note D#, 12 - note F_, 12 - note_type 8, 12, 2 - octave 4 - note D_, 6 - note D_, 2 - note D_, 2 - note D_, 2 - note D#, 6 - note D#, 6 - note C_, 6 - note C_, 6 - note D_, 6 - octave 3 - note A_, 6 - octave 4 - note D_, 6 - note D_, 2 - note D_, 2 - note D_, 2 - note D#, 6 - note D#, 6 - note D_, 6 - note A#, 6 - note A_, 12 - sound_loop 0, Music_YellowUnusedSong_branch_8302a - - -Music_YellowUnusedSong_Ch3:: - note_type 12, 1, 0 - vibrato 2, 1, 5 - rest 16 - rest 12 - octave 4 - note C_, 4 - note D_, 8 - note D#, 8 - note G_, 8 - note A#, 8 - -Music_YellowUnusedSong_branch_83075:: - note A_, 8 - note A#, 8 - note G_, 8 - note A_, 4 - note D_, 4 - note A_, 8 - note A#, 8 - octave 5 - note C#, 8 - note D_, 8 - note D#, 16 - note D#, 16 - octave 4 - note A#, 16 - octave 5 - note D#, 8 - note F_, 8 - octave 4 - note D_, 16 - note D_, 16 - octave 4 - note D_, 8 - note D#, 8 - note G_, 8 - note A#, 8 - sound_loop 0, Music_YellowUnusedSong_branch_83075 - - -Music_YellowUnusedSong_Ch4:: - drum_speed 12 - drum_note 3, 4 - drum_speed 8 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_speed 12 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_speed 8 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_speed 12 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 4 - drum_note 3, 4 - -Music_YellowUnusedSong_branch_830c3:: - drum_note 3, 4 - drum_speed 8 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_speed 12 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_speed 8 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_speed 12 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_speed 8 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_speed 12 - drum_note 3, 4 - drum_speed 8 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_speed 12 - drum_note 3, 4 - drum_speed 8 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_speed 12 - drum_note 3, 4 - drum_speed 8 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_speed 12 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 4 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 4 - drum_speed 8 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_speed 12 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_speed 8 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_speed 12 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 4 - drum_note 3, 4 - sound_loop 0, Music_YellowUnusedSong_branch_830c3 -- cgit v1.2.3 From c9c59dc34323a5e0b1886db5f845c8d41620826e Mon Sep 17 00:00:00 2001 From: Rangi Date: Fri, 3 Jul 2020 12:44:47 -0400 Subject: Reorganize constants/ To do: add comments associating constants with data and code --- constants.asm | 18 +- constants/audio_constants.asm | 46 + constants/battle_constants.asm | 51 + constants/connection_constants.asm | 9 - constants/credits_constants.asm | 4 +- constants/event_constants.asm | 5123 ++++++++++++++++---------------- constants/evolution_constants.asm | 9 - constants/gfx_constants.asm | 17 + constants/hide_show_constants.asm | 3 +- constants/icon_constants.asm | 12 + constants/input_constants.asm | 18 + constants/item_constants.asm | 4 +- constants/list_constants.asm | 39 +- constants/map_data_constants.asm | 9 + constants/menu_constants.asm | 70 + constants/misc_constants.asm | 206 +- constants/move_animation_constants.asm | 6 +- constants/move_constants.asm | 6 +- constants/move_effect_constants.asm | 6 +- constants/music_constants.asm | 47 - constants/palette_constants.asm | 38 +- constants/pokedex_constants.asm | 3 +- constants/pokemon_constants.asm | 4 +- constants/pokemon_data_constants.asm | 28 + constants/script_constants.asm | 12 + constants/serial_constants.asm | 27 + constants/sprite_constants.asm | 30 +- constants/sprite_data_constants.asm | 28 + constants/status_constants.asm | 32 - constants/text_constants.asm | 3 + constants/tilesets.asm | 3 +- constants/trainer_constants.asm | 4 +- constants/type_constants.asm | 39 +- data/pokemon/evos_moves.asm | 2 +- engine/battle/core.asm | 4 +- macros/data_macros.asm | 4 + text.asm | 7 +- 37 files changed, 2988 insertions(+), 2983 deletions(-) create mode 100644 constants/audio_constants.asm create mode 100644 constants/battle_constants.asm delete mode 100755 constants/connection_constants.asm delete mode 100755 constants/evolution_constants.asm create mode 100644 constants/gfx_constants.asm create mode 100644 constants/icon_constants.asm create mode 100644 constants/input_constants.asm create mode 100755 constants/map_data_constants.asm create mode 100644 constants/menu_constants.asm create mode 100755 constants/pokemon_data_constants.asm create mode 100644 constants/script_constants.asm create mode 100644 constants/serial_constants.asm create mode 100644 constants/sprite_data_constants.asm delete mode 100755 constants/status_constants.asm diff --git a/constants.asm b/constants.asm index c8e5a78d..996458a4 100644 --- a/constants.asm +++ b/constants.asm @@ -1,32 +1,40 @@ -INCLUDE "macros.asm" INCLUDE "charmap.asm" +INCLUDE "macros.asm" + INCLUDE "hram.asm" INCLUDE "vram.asm" INCLUDE "constants/hardware_constants.asm" INCLUDE "constants/oam_constants.asm" INCLUDE "constants/misc_constants.asm" - +INCLUDE "constants/gfx_constants.asm" +INCLUDE "constants/input_constants.asm" +INCLUDE "constants/serial_constants.asm" +INCLUDE "constants/script_constants.asm" INCLUDE "constants/pokemon_constants.asm" INCLUDE "constants/pokedex_constants.asm" +INCLUDE "constants/pokemon_data_constants.asm" INCLUDE "constants/trainer_constants.asm" INCLUDE "constants/item_constants.asm" INCLUDE "constants/type_constants.asm" INCLUDE "constants/move_constants.asm" INCLUDE "constants/move_animation_constants.asm" INCLUDE "constants/move_effect_constants.asm" -INCLUDE "constants/status_constants.asm" +INCLUDE "constants/battle_constants.asm" +INCLUDE "constants/icon_constants.asm" INCLUDE "constants/sprite_constants.asm" +INCLUDE "constants/sprite_data_constants.asm" INCLUDE "constants/palette_constants.asm" -INCLUDE "constants/evolution_constants.asm" INCLUDE "constants/list_constants.asm" INCLUDE "constants/map_constants.asm" -INCLUDE "constants/connection_constants.asm" +INCLUDE "constants/map_data_constants.asm" INCLUDE "constants/hide_show_constants.asm" INCLUDE "constants/credits_constants.asm" +INCLUDE "constants/audio_constants.asm" INCLUDE "constants/music_constants.asm" INCLUDE "constants/tilesets.asm" INCLUDE "constants/starter_mons.asm" INCLUDE "constants/event_constants.asm" INCLUDE "constants/text_constants.asm" +INCLUDE "constants/menu_constants.asm" diff --git a/constants/audio_constants.asm b/constants/audio_constants.asm new file mode 100644 index 00000000..434bb4a3 --- /dev/null +++ b/constants/audio_constants.asm @@ -0,0 +1,46 @@ +; HW sound channel register base addresses +HW_CH1_BASE EQU (rNR10 % $100) +HW_CH2_BASE EQU ((rNR21 % $100) - 1) +HW_CH3_BASE EQU (rNR30 % $100) +HW_CH4_BASE EQU ((rNR41 % $100) - 1) + +; HW sound channel enable bit masks +HW_CH1_ENABLE_MASK EQU %00010001 +HW_CH2_ENABLE_MASK EQU %00100010 +HW_CH3_ENABLE_MASK EQU %01000100 +HW_CH4_ENABLE_MASK EQU %10001000 + +; HW sound channel disable bit masks +HW_CH1_DISABLE_MASK EQU (~HW_CH1_ENABLE_MASK & $ff) +HW_CH2_DISABLE_MASK EQU (~HW_CH2_ENABLE_MASK & $ff) +HW_CH3_DISABLE_MASK EQU (~HW_CH3_ENABLE_MASK & $ff) +HW_CH4_DISABLE_MASK EQU (~HW_CH4_ENABLE_MASK & $ff) + +REG_DUTY_SOUND_LEN EQU 1 +REG_VOLUME_ENVELOPE EQU 2 +REG_FREQUENCY_LO EQU 3 + +MAX_SFX_ID_1 EQUS "SFX_SAFARI_ZONE_PA" +MAX_SFX_ID_2 EQUS "SFX_SILPH_SCOPE" +MAX_SFX_ID_3 EQUS "SFX_SHOOTING_STAR" + +NOISE_INSTRUMENTS_START EQUS "SFX_NOISE_INSTRUMENT01" +NOISE_INSTRUMENTS_END EQUS "SFX_NOISE_INSTRUMENT19 + 1" + +CRY_SFX_START EQUS "SFX_CRY_00" +CRY_SFX_END EQUS "SFX_CRY_25 + 3" + +BATTLE_SFX_START EQUS "SFX_PECK" +BATTLE_SFX_END EQUS "SFX_SILPH_SCOPE + 1" + +; wChannelFlags1 constants +BIT_PERFECT_PITCH EQU 0 ; controlled by toggle_perfect_pitch command +BIT_SOUND_CALL EQU 1 ; if in sound call +BIT_NOISE_OR_SFX EQU 2 ; if channel is the music noise channel or an SFX channel +BIT_VIBRATO_DIRECTION EQU 3 ; if the pitch is above or below normal (cycles) +BIT_PITCH_SLIDE_ON EQU 4 ; if pitch slide is active +BIT_PITCH_SLIDE_DECREASING EQU 5 ; if the pitch slide frequency is decreasing (instead of increasing) +BIT_ROTATE_DUTY_CYCLE EQU 6 ; if rotating duty cycle + +; wChannelFlags2 constant (only has one flag) +BIT_EXECUTE_MUSIC EQU 0 ; if in execute music diff --git a/constants/battle_constants.asm b/constants/battle_constants.asm new file mode 100644 index 00000000..e45ad7f1 --- /dev/null +++ b/constants/battle_constants.asm @@ -0,0 +1,51 @@ +MAX_LEVEL EQU 100 + +NUM_MOVES EQU 4 +NUM_STATS EQU 5 +NUM_STAT_MODS EQU 8 +NUM_DVS EQU 2 + +; D733 flags +BIT_TEST_BATTLE EQU 0 + +; battle type constants +BATTLE_TYPE_NORMAL EQU 0 +BATTLE_TYPE_OLD_MAN EQU 1 +BATTLE_TYPE_SAFARI EQU 2 + +; fixed damage constants +SONICBOOM_DAMAGE EQU 20 +DRAGON_RAGE_DAMAGE EQU 40 + +; non-volatile statuses +SLP EQU %111 ; sleep counter +PSN EQU 3 +BRN EQU 4 +FRZ EQU 5 +PAR EQU 6 + +; volatile statuses 1 +STORING_ENERGY EQU 0 ; Bide +THRASHING_ABOUT EQU 1 ; e.g. Thrash +ATTACKING_MULTIPLE_TIMES EQU 2 ; e.g. Double Kick, Fury Attack +FLINCHED EQU 3 +CHARGING_UP EQU 4 ; e.g. Solar Beam, Fly +USING_TRAPPING_MOVE EQU 5 ; e.g. Wrap +INVULNERABLE EQU 6 ; charging up Fly/Dig +CONFUSED EQU 7 + +; volatile statuses 2 +USING_X_ACCURACY EQU 0 +PROTECTED_BY_MIST EQU 1 +GETTING_PUMPED EQU 2 ; Focus Energy +; EQU 3 ; unused +HAS_SUBSTITUTE_UP EQU 4 +NEEDS_TO_RECHARGE EQU 5 ; Hyper Beam +USING_RAGE EQU 6 +SEEDED EQU 7 + +; volatile statuses 3 +BADLY_POISONED EQU 0 +HAS_LIGHT_SCREEN_UP EQU 1 +HAS_REFLECT_UP EQU 2 +TRANSFORMED EQU 3 diff --git a/constants/connection_constants.asm b/constants/connection_constants.asm deleted file mode 100755 index 154c4163..00000000 --- a/constants/connection_constants.asm +++ /dev/null @@ -1,9 +0,0 @@ -; width of east/west connections -; height of north/south connections -MAP_BORDER EQU 3 - -; connection directions -EAST EQU 1 -WEST EQU 2 -SOUTH EQU 4 -NORTH EQU 8 diff --git a/constants/credits_constants.asm b/constants/credits_constants.asm index f5715072..c9d15e9b 100644 --- a/constants/credits_constants.asm +++ b/constants/credits_constants.asm @@ -1,5 +1,4 @@ -const_value = 0 - + const_def const CRED_VERSION ; $00 const CRED_TAJIRI ; $01 const CRED_TA_OOTA ; $02 @@ -64,4 +63,3 @@ const_value = 0 const CRED_FUKUI ; $3D const CRED_CLUB ; $3E const CRED_PAAD ; $3F - diff --git a/constants/event_constants.asm b/constants/event_constants.asm index 5b73012b..e8697daa 100755 --- a/constants/event_constants.asm +++ b/constants/event_constants.asm @@ -1,2562 +1,2561 @@ -const_value = 0 - - const EVENT_FOLLOWED_OAK_INTO_LAB ; 000, (D747, bit 0) - const EVENT_001 ; 001, (D747, bit 1) - const EVENT_002 ; 002, (D747, bit 2) - const EVENT_HALL_OF_FAME_DEX_RATING ; 003, (D747, bit 3) - const EVENT_004 ; 004, (D747, bit 4) - const EVENT_005 ; 005, (D747, bit 5) - const EVENT_PALLET_AFTER_GETTING_POKEBALLS ; 006, (D747, bit 6) - const EVENT_007 ; 007, (D747, bit 7) - const EVENT_008 ; 008, (D748, bit 0) - const EVENT_009 ; 009, (D748, bit 1) - const EVENT_00A ; 00A, (D748, bit 2) - const EVENT_00B ; 00B, (D748, bit 3) - const EVENT_00C ; 00C, (D748, bit 4) - const EVENT_00D ; 00D, (D748, bit 5) - const EVENT_00E ; 00E, (D748, bit 6) - const EVENT_00F ; 00F, (D748, bit 7) - const EVENT_010 ; 010, (D749, bit 0) - const EVENT_011 ; 011, (D749, bit 1) - const EVENT_012 ; 012, (D749, bit 2) - const EVENT_013 ; 013, (D749, bit 3) - const EVENT_014 ; 014, (D749, bit 4) - const EVENT_015 ; 015, (D749, bit 5) - const EVENT_016 ; 016, (D749, bit 6) - const EVENT_017 ; 017, (D749, bit 7) - const EVENT_GOT_TOWN_MAP ; 018, (D74A, bit 0) - const EVENT_ENTERED_BLUES_HOUSE ; 019, (D74A, bit 1) - const EVENT_DAISY_WALKING ; 01A, (D74A, bit 2) - const EVENT_01B ; 01B, (D74A, bit 3) - const EVENT_01C ; 01C, (D74A, bit 4) - const EVENT_01D ; 01D, (D74A, bit 5) - const EVENT_01E ; 01E, (D74A, bit 6) - const EVENT_01F ; 01F, (D74A, bit 7) - const EVENT_FOLLOWED_OAK_INTO_LAB_2 ; 020, (D74B, bit 0) - const EVENT_OAK_ASKED_TO_CHOOSE_MON ; 021, (D74B, bit 1) - const EVENT_GOT_STARTER ; 022, (D74B, bit 2) - const EVENT_BATTLED_RIVAL_IN_OAKS_LAB ; 023, (D74B, bit 3) - const EVENT_GOT_POKEBALLS_FROM_OAK ; 024, (D74B, bit 4) - const EVENT_GOT_POKEDEX ; 025, (D74B, bit 5) - const EVENT_PALLET_AFTER_GETTING_POKEBALLS_2 ; 026, (D74B, bit 6) - const EVENT_OAK_APPEARED_IN_PALLET ; 027, (D74B, bit 7) - const EVENT_VIRIDIAN_GYM_OPEN ; 028, (D74C, bit 0) - const EVENT_GOT_TM42 ; 029, (D74C, bit 1) - const EVENT_02A ; 02A, (D74C, bit 2) - const EVENT_02B ; 02B, (D74C, bit 3) - const EVENT_02C ; 02C, (D74C, bit 4) - const EVENT_02D ; 02D, (D74C, bit 5) - const EVENT_02E ; 02E, (D74C, bit 6) - const EVENT_02F ; 02F, (D74C, bit 7) - const EVENT_030 ; 030, (D74D, bit 0) - const EVENT_031 ; 031, (D74D, bit 1) - const EVENT_032 ; 032, (D74D, bit 2) - const EVENT_033 ; 033, (D74D, bit 3) - const EVENT_034 ; 034, (D74D, bit 4) - const EVENT_035 ; 035, (D74D, bit 5) - const EVENT_036 ; 036, (D74D, bit 6) - const EVENT_037 ; 037, (D74D, bit 7) - const EVENT_OAK_GOT_PARCEL ; 038, (D74E, bit 0) - const EVENT_GOT_OAKS_PARCEL ; 039, (D74E, bit 1) - const EVENT_03A ; 03A, (D74E, bit 2) - const EVENT_03B ; 03B, (D74E, bit 3) - const EVENT_03C ; 03C, (D74E, bit 4) - const EVENT_03D ; 03D, (D74E, bit 5) - const EVENT_03E ; 03E, (D74E, bit 6) - const EVENT_03F ; 03F, (D74E, bit 7) - const EVENT_040 ; 040, (D74F, bit 0) - const EVENT_041 ; 041, (D74F, bit 1) - const EVENT_042 ; 042, (D74F, bit 2) - const EVENT_043 ; 043, (D74F, bit 3) - const EVENT_044 ; 044, (D74F, bit 4) - const EVENT_045 ; 045, (D74F, bit 5) - const EVENT_046 ; 046, (D74F, bit 6) - const EVENT_047 ; 047, (D74F, bit 7) - const EVENT_048 ; 048, (D750, bit 0) - const EVENT_049 ; 049, (D750, bit 1) - const EVENT_04A ; 04A, (D750, bit 2) - const EVENT_04B ; 04B, (D750, bit 3) - const EVENT_04C ; 04C, (D750, bit 4) - const EVENT_04D ; 04D, (D750, bit 5) - const EVENT_04E ; 04E, (D750, bit 6) - const EVENT_04F ; 04F, (D750, bit 7) - const EVENT_GOT_TM27 ; 050, (D751, bit 0) - const EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI ; 051, (D751, bit 1) - const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_0 ; 052, (D751, bit 2) - const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_1 ; 053, (D751, bit 3) - const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_2 ; 054, (D751, bit 4) - const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_3 ; 055, (D751, bit 5) - const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_4 ; 056, (D751, bit 6) - const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_5 ; 057, (D751, bit 7) - const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_6 ; 058, (D752, bit 0) - const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_7 ; 059, (D752, bit 1) - const EVENT_05A ; 05A, (D752, bit 2) - const EVENT_05B ; 05B, (D752, bit 3) - const EVENT_05C ; 05C, (D752, bit 4) - const EVENT_05D ; 05D, (D752, bit 5) - const EVENT_05E ; 05E, (D752, bit 6) - const EVENT_05F ; 05F, (D752, bit 7) - const EVENT_060 ; 060, (D753, bit 0) - const EVENT_061 ; 061, (D753, bit 1) - const EVENT_062 ; 062, (D753, bit 2) - const EVENT_063 ; 063, (D753, bit 3) - const EVENT_064 ; 064, (D753, bit 4) - const EVENT_065 ; 065, (D753, bit 5) - const EVENT_066 ; 066, (D753, bit 6) - const EVENT_067 ; 067, (D753, bit 7) - const EVENT_BOUGHT_MUSEUM_TICKET ; 068, (D754, bit 0) - const EVENT_GOT_OLD_AMBER ; 069, (D754, bit 1) - const EVENT_06A ; 06A, (D754, bit 2) - const EVENT_06B ; 06B, (D754, bit 3) - const EVENT_06C ; 06C, (D754, bit 4) - const EVENT_06D ; 06D, (D754, bit 5) - const EVENT_06E ; 06E, (D754, bit 6) - const EVENT_06F ; 06F, (D754, bit 7) - const EVENT_070 ; 070, (D755, bit 0) - const EVENT_071 ; 071, (D755, bit 1) - const EVENT_BEAT_PEWTER_GYM_TRAINER_0 ; 072, (D755, bit 2) - const EVENT_073 ; 073, (D755, bit 3) - const EVENT_074 ; 074, (D755, bit 4) - const EVENT_075 ; 075, (D755, bit 5) - const EVENT_GOT_TM34 ; 076, (D755, bit 6) - const EVENT_BEAT_BROCK ; 077, (D755, bit 7) - const EVENT_078 ; 078, (D756, bit 0) - const EVENT_079 ; 079, (D756, bit 1) - const EVENT_07A ; 07A, (D756, bit 2) - const EVENT_07B ; 07B, (D756, bit 3) - const EVENT_07C ; 07C, (D756, bit 4) - const EVENT_07D ; 07D, (D756, bit 5) - const EVENT_07E ; 07E, (D756, bit 6) - const EVENT_07F ; 07F, (D756, bit 7) - const EVENT_080 ; 080, (D757, bit 0) - const EVENT_081 ; 081, (D757, bit 1) - const EVENT_082 ; 082, (D757, bit 2) - const EVENT_083 ; 083, (D757, bit 3) - const EVENT_084 ; 084, (D757, bit 4) - const EVENT_085 ; 085, (D757, bit 5) - const EVENT_086 ; 086, (D757, bit 6) - const EVENT_087 ; 087, (D757, bit 7) - const EVENT_088 ; 088, (D758, bit 0) - const EVENT_089 ; 089, (D758, bit 1) - const EVENT_08A ; 08A, (D758, bit 2) - const EVENT_08B ; 08B, (D758, bit 3) - const EVENT_08C ; 08C, (D758, bit 4) - const EVENT_08D ; 08D, (D758, bit 5) - const EVENT_08E ; 08E, (D758, bit 6) - const EVENT_08F ; 08F, (D758, bit 7) - const EVENT_090 ; 090, (D759, bit 0) - const EVENT_091 ; 091, (D759, bit 1) - const EVENT_092 ; 092, (D759, bit 2) - const EVENT_093 ; 093, (D759, bit 3) - const EVENT_094 ; 094, (D759, bit 4) - const EVENT_095 ; 095, (D759, bit 5) - const EVENT_096 ; 096, (D759, bit 6) - const EVENT_097 ; 097, (D759, bit 7) - const EVENT_BEAT_CERULEAN_RIVAL ; 098, (D75A, bit 0) - const EVENT_099 ; 099, (D75A, bit 1) - const EVENT_09A ; 09A, (D75A, bit 2) - const EVENT_09B ; 09B, (D75A, bit 3) - const EVENT_09C ; 09C, (D75A, bit 4) - const EVENT_09D ; 09D, (D75A, bit 5) - const EVENT_09E ; 09E, (D75A, bit 6) - const EVENT_09F ; 09F, (D75A, bit 7) - const EVENT_0A0 ; 0A0, (D75B, bit 0) - const EVENT_0A1 ; 0A1, (D75B, bit 1) - const EVENT_0A2 ; 0A2, (D75B, bit 2) - const EVENT_0A3 ; 0A3, (D75B, bit 3) - const EVENT_0A4 ; 0A4, (D75B, bit 4) - const EVENT_0A5 ; 0A5, (D75B, bit 5) - const EVENT_0A6 ; 0A6, (D75B, bit 6) - const EVENT_BEAT_CERULEAN_ROCKET_THIEF ; 0A7, (D75B, bit 7) - const EVENT_0A8 ; 0A8, (D75C, bit 0) - const EVENT_0A9 ; 0A9, (D75C, bit 1) - const EVENT_0AA ; 0AA, (D75C, bit 2) - const EVENT_0AB ; 0AB, (D75C, bit 3) - const EVENT_0AC ; 0AC, (D75C, bit 4) - const EVENT_0AD ; 0AD, (D75C, bit 5) - const EVENT_0AE ; 0AE, (D75C, bit 6) - const EVENT_0AF ; 0AF, (D75C, bit 7) - const EVENT_0B0 ; 0B0, (D75D, bit 0) - const EVENT_0B1 ; 0B1, (D75D, bit 1) - const EVENT_0B2 ; 0B2, (D75D, bit 2) - const EVENT_0B3 ; 0B3, (D75D, bit 3) - const EVENT_0B4 ; 0B4, (D75D, bit 4) - const EVENT_0B5 ; 0B5, (D75D, bit 5) - const EVENT_0B6 ; 0B6, (D75D, bit 6) - const EVENT_0B7 ; 0B7, (D75D, bit 7) - const EVENT_0B8 ; 0B8, (D75E, bit 0) - const EVENT_0B9 ; 0B9, (D75E, bit 1) - const EVENT_BEAT_CERULEAN_GYM_TRAINER_0 ; 0BA, (D75E, bit 2) - const EVENT_BEAT_CERULEAN_GYM_TRAINER_1 ; 0BB, (D75E, bit 3) - const EVENT_0BC ; 0BC, (D75E, bit 4) - const EVENT_0BD ; 0BD, (D75E, bit 5) - const EVENT_GOT_TM11 ; 0BE, (D75E, bit 6) - const EVENT_BEAT_MISTY ; 0BF, (D75E, bit 7) - const EVENT_GOT_BICYCLE ; 0C0, (D75F, bit 0) - const EVENT_0C1 ; 0C1, (D75F, bit 1) - const EVENT_0C2 ; 0C2, (D75F, bit 2) - const EVENT_0C3 ; 0C3, (D75F, bit 3) - const EVENT_0C4 ; 0C4, (D75F, bit 4) - const EVENT_0C5 ; 0C5, (D75F, bit 5) - const EVENT_0C6 ; 0C6, (D75F, bit 6) - const EVENT_0C7 ; 0C7, (D75F, bit 7) - const EVENT_0C8 ; 0C8, (D760, bit 0) - const EVENT_0C9 ; 0C9, (D760, bit 1) - const EVENT_0CA ; 0CA, (D760, bit 2) - const EVENT_0CB ; 0CB, (D760, bit 3) - const EVENT_0CC ; 0CC, (D760, bit 4) - const EVENT_0CD ; 0CD, (D760, bit 5) - const EVENT_0CE ; 0CE, (D760, bit 6) - const EVENT_0CF ; 0CF, (D760, bit 7) - const EVENT_0D0 ; 0D0, (D761, bit 0) - const EVENT_0D1 ; 0D1, (D761, bit 1) - const EVENT_0D2 ; 0D2, (D761, bit 2) - const EVENT_0D3 ; 0D3, (D761, bit 3) - const EVENT_0D4 ; 0D4, (D761, bit 4) - const EVENT_0D5 ; 0D5, (D761, bit 5) - const EVENT_0D6 ; 0D6, (D761, bit 6) - const EVENT_0D7 ; 0D7, (D761, bit 7) - const EVENT_0D8 ; 0D8, (D762, bit 0) - const EVENT_0D9 ; 0D9, (D762, bit 1) - const EVENT_0DA ; 0DA, (D762, bit 2) - const EVENT_0DB ; 0DB, (D762, bit 3) - const EVENT_0DC ; 0DC, (D762, bit 4) - const EVENT_0DD ; 0DD, (D762, bit 5) - const EVENT_0DE ; 0DE, (D762, bit 6) - const EVENT_0DF ; 0DF, (D762, bit 7) - const EVENT_0E0 ; 0E0, (D763, bit 0) - const EVENT_0E1 ; 0E1, (D763, bit 1) - const EVENT_0E2 ; 0E2, (D763, bit 2) - const EVENT_0E3 ; 0E3, (D763, bit 3) - const EVENT_0E4 ; 0E4, (D763, bit 4) - const EVENT_0E5 ; 0E5, (D763, bit 5) - const EVENT_0E6 ; 0E6, (D763, bit 6) - const EVENT_0E7 ; 0E7, (D763, bit 7) - const EVENT_0E8 ; 0E8, (D764, bit 0) - const EVENT_0E9 ; 0E9, (D764, bit 1) - const EVENT_0EA ; 0EA, (D764, bit 2) - const EVENT_0EB ; 0EB, (D764, bit 3) - const EVENT_0EC ; 0EC, (D764, bit 4) - const EVENT_0ED ; 0ED, (D764, bit 5) - const EVENT_POKEMON_TOWER_RIVAL_ON_LEFT ; 0EE, (D764, bit 6) - const EVENT_BEAT_POKEMON_TOWER_RIVAL ; 0EF, (D764, bit 7) - const EVENT_0F0 ; 0F0, (D765, bit 0) - const EVENT_BEAT_POKEMONTOWER_3_TRAINER_0 ; 0F1, (D765, bit 1) - const EVENT_BEAT_POKEMONTOWER_3_TRAINER_1 ; 0F2, (D765, bit 2) - const EVENT_BEAT_POKEMONTOWER_3_TRAINER_2 ; 0F3, (D765, bit 3) - const EVENT_0F4 ; 0F4, (D765, bit 4) - const EVENT_0F5 ; 0F5, (D765, bit 5) - const EVENT_0F6 ; 0F6, (D765, bit 6) - const EVENT_0F7 ; 0F7, (D765, bit 7) - const EVENT_0F8 ; 0F8, (D766, bit 0) - const EVENT_BEAT_POKEMONTOWER_4_TRAINER_0 ; 0F9, (D766, bit 1) - const EVENT_BEAT_POKEMONTOWER_4_TRAINER_1 ; 0FA, (D766, bit 2) - const EVENT_BEAT_POKEMONTOWER_4_TRAINER_2 ; 0FB, (D766, bit 3) - const EVENT_0FC ; 0FC, (D766, bit 4) - const EVENT_0FD ; 0FD, (D766, bit 5) - const EVENT_0FE ; 0FE, (D766, bit 6) - const EVENT_0FF ; 0FF, (D766, bit 7) - const EVENT_100 ; 100, (D767, bit 0) - const EVENT_101 ; 101, (D767, bit 1) - const EVENT_BEAT_POKEMONTOWER_5_TRAINER_0 ; 102, (D767, bit 2) - const EVENT_BEAT_POKEMONTOWER_5_TRAINER_1 ; 103, (D767, bit 3) - const EVENT_BEAT_POKEMONTOWER_5_TRAINER_2 ; 104, (D767, bit 4) - const EVENT_BEAT_POKEMONTOWER_5_TRAINER_3 ; 105, (D767, bit 5) - const EVENT_106 ; 106, (D767, bit 6) - const EVENT_IN_PURIFIED_ZONE ; 107, (D767, bit 7) - const EVENT_108 ; 108, (D768, bit 0) - const EVENT_BEAT_POKEMONTOWER_6_TRAINER_0 ; 109, (D768, bit 1) - const EVENT_BEAT_POKEMONTOWER_6_TRAINER_1 ; 10A, (D768, bit 2) - const EVENT_BEAT_POKEMONTOWER_6_TRAINER_2 ; 10B, (D768, bit 3) - const EVENT_10C ; 10C, (D768, bit 4) - const EVENT_10D ; 10D, (D768, bit 5) - const EVENT_10E ; 10E, (D768, bit 6) - const EVENT_BEAT_GHOST_MAROWAK ; 10F, (D768, bit 7) - const EVENT_110 ; 110, (D769, bit 0) - const EVENT_BEAT_POKEMONTOWER_7_TRAINER_0 ; 111, (D769, bit 1) - const EVENT_BEAT_POKEMONTOWER_7_TRAINER_1 ; 112, (D769, bit 2) - const EVENT_BEAT_POKEMONTOWER_7_TRAINER_2 ; 113, (D769, bit 3) - const EVENT_114 ; 114, (D769, bit 4) - const EVENT_115 ; 115, (D769, bit 5) - const EVENT_116 ; 116, (D769, bit 6) - const EVENT_RESCUED_MR_FUJI_2 ; 117, (D769, bit 7) - const EVENT_118 ; 118, (D76A, bit 0) - const EVENT_119 ; 119, (D76A, bit 1) - const EVENT_11A ; 11A, (D76A, bit 2) - const EVENT_11B ; 11B, (D76A, bit 3) - const EVENT_11C ; 11C, (D76A, bit 4) - const EVENT_11D ; 11D, (D76A, bit 5) - const EVENT_11E ; 11E, (D76A, bit 6) - const EVENT_11F ; 11F, (D76A, bit 7) - const EVENT_120 ; 120, (D76B, bit 0) - const EVENT_121 ; 121, (D76B, bit 1) - const EVENT_122 ; 122, (D76B, bit 2) - const EVENT_123 ; 123, (D76B, bit 3) - const EVENT_124 ; 124, (D76B, bit 4) - const EVENT_125 ; 125, (D76B, bit 5) - const EVENT_126 ; 126, (D76B, bit 6) - const EVENT_127 ; 127, (D76B, bit 7) - const EVENT_GOT_POKE_FLUTE ; 128, (D76C, bit 0) - const EVENT_129 ; 129, (D76C, bit 1) - const EVENT_12A ; 12A, (D76C, bit 2) - const EVENT_12B ; 12B, (D76C, bit 3) - const EVENT_12C ; 12C, (D76C, bit 4) - const EVENT_12D ; 12D, (D76C, bit 5) - const EVENT_12E ; 12E, (D76C, bit 6) - const EVENT_12F ; 12F, (D76C, bit 7) - const EVENT_130 ; 130, (D76D, bit 0) - const EVENT_131 ; 131, (D76D, bit 1) - const EVENT_132 ; 132, (D76D, bit 2) - const EVENT_133 ; 133, (D76D, bit 3) - const EVENT_134 ; 134, (D76D, bit 4) - const EVENT_135 ; 135, (D76D, bit 5) - const EVENT_136 ; 136, (D76D, bit 6) - const EVENT_137 ; 137, (D76D, bit 7) - const EVENT_138 ; 138, (D76E, bit 0) - const EVENT_139 ; 139, (D76E, bit 1) - const EVENT_13A ; 13A, (D76E, bit 2) - const EVENT_13B ; 13B, (D76E, bit 3) - const EVENT_13C ; 13C, (D76E, bit 4) - const EVENT_13D ; 13D, (D76E, bit 5) - const EVENT_13E ; 13E, (D76E, bit 6) - const EVENT_13F ; 13F, (D76E, bit 7) - const EVENT_140 ; 140, (D76F, bit 0) - const EVENT_141 ; 141, (D76F, bit 1) - const EVENT_142 ; 142, (D76F, bit 2) - const EVENT_143 ; 143, (D76F, bit 3) - const EVENT_144 ; 144, (D76F, bit 4) - const EVENT_145 ; 145, (D76F, bit 5) - const EVENT_146 ; 146, (D76F, bit 6) - const EVENT_147 ; 147, (D76F, bit 7) - const EVENT_148 ; 148, (D770, bit 0) - const EVENT_149 ; 149, (D770, bit 1) - const EVENT_14A ; 14A, (D770, bit 2) - const EVENT_14B ; 14B, (D770, bit 3) - const EVENT_14C ; 14C, (D770, bit 4) - const EVENT_14D ; 14D, (D770, bit 5) - const EVENT_14E ; 14E, (D770, bit 6) - const EVENT_14F ; 14F, (D770, bit 7) - const EVENT_150 ; 150, (D771, bit 0) - const EVENT_GOT_BIKE_VOUCHER ; 151, (D771, bit 1) - const EVENT_152 ; 152, (D771, bit 2) - const EVENT_153 ; 153, (D771, bit 3) - const EVENT_154 ; 154, (D771, bit 4) - const EVENT_155 ; 155, (D771, bit 5) - const EVENT_SEEL_FAN_BOAST ; 156, (D771, bit 6) - const EVENT_PIKACHU_FAN_BOAST ; 157, (D771, bit 7) - const EVENT_158 ; 158, (D772, bit 0) - const EVENT_159 ; 159, (D772, bit 1) - const EVENT_15A ; 15A, (D772, bit 2) - const EVENT_15B ; 15B, (D772, bit 3) - const EVENT_15C ; 15C, (D772, bit 4) - const EVENT_15D ; 15D, (D772, bit 5) - const EVENT_15E ; 15E, (D772, bit 6) - const EVENT_15F ; 15F, (D772, bit 7) - const EVENT_2ND_LOCK_OPENED ; 160, (D773, bit 0) - const EVENT_1ST_LOCK_OPENED ; 161, (D773, bit 1) - const EVENT_BEAT_VERMILION_GYM_TRAINER_0 ; 162, (D773, bit 2) - const EVENT_BEAT_VERMILION_GYM_TRAINER_1 ; 163, (D773, bit 3) - const EVENT_BEAT_VERMILION_GYM_TRAINER_2 ; 164, (D773, bit 4) - const EVENT_165 ; 165, (D773, bit 5) - const EVENT_GOT_TM24 ; 166, (D773, bit 6) - const EVENT_BEAT_LT_SURGE ; 167, (D773, bit 7) - const EVENT_168 ; 168, (D774, bit 0) - const EVENT_169 ; 169, (D774, bit 1) - const EVENT_16A ; 16A, (D774, bit 2) - const EVENT_16B ; 16B, (D774, bit 3) - const EVENT_16C ; 16C, (D774, bit 4) - const EVENT_16D ; 16D, (D774, bit 5) - const EVENT_16E ; 16E, (D774, bit 6) - const EVENT_16F ; 16F, (D774, bit 7) - const EVENT_170 ; 170, (D775, bit 0) - const EVENT_171 ; 171, (D775, bit 1) - const EVENT_172 ; 172, (D775, bit 2) - const EVENT_173 ; 173, (D775, bit 3) - const EVENT_174 ; 174, (D775, bit 4) - const EVENT_175 ; 175, (D775, bit 5) - const EVENT_176 ; 176, (D775, bit 6) - const EVENT_177 ; 177, (D775, bit 7) - const EVENT_178 ; 178, (D776, bit 0) - const EVENT_179 ; 179, (D776, bit 1) - const EVENT_17A ; 17A, (D776, bit 2) - const EVENT_17B ; 17B, (D776, bit 3) - const EVENT_17C ; 17C, (D776, bit 4) - const EVENT_17D ; 17D, (D776, bit 5) - const EVENT_17E ; 17E, (D776, bit 6) - const EVENT_17F ; 17F, (D776, bit 7) - const EVENT_GOT_TM41 ; 180, (D777, bit 0) - const EVENT_181 ; 181, (D777, bit 1) - const EVENT_182 ; 182, (D777, bit 2) - const EVENT_183 ; 183, (D777, bit 3) - const EVENT_184 ; 184, (D777, bit 4) - const EVENT_185 ; 185, (D777, bit 5) - const EVENT_186 ; 186, (D777, bit 6) - const EVENT_187 ; 187, (D777, bit 7) - const EVENT_188 ; 188, (D778, bit 0) - const EVENT_189 ; 189, (D778, bit 1) - const EVENT_18A ; 18A, (D778, bit 2) - const EVENT_18B ; 18B, (D778, bit 3) - const EVENT_GOT_TM13 ; 18C, (D778, bit 4) - const EVENT_GOT_TM48 ; 18D, (D778, bit 5) - const EVENT_GOT_TM49 ; 18E, (D778, bit 6) - const EVENT_GOT_TM18 ; 18F, (D778, bit 7) - const EVENT_190 ; 190, (D779, bit 0) - const EVENT_191 ; 191, (D779, bit 1) - const EVENT_192 ; 192, (D779, bit 2) - const EVENT_193 ; 193, (D779, bit 3) - const EVENT_194 ; 194, (D779, bit 4) - const EVENT_195 ; 195, (D779, bit 5) - const EVENT_196 ; 196, (D779, bit 6) - const EVENT_197 ; 197, (D779, bit 7) - const EVENT_198 ; 198, (D77A, bit 0) - const EVENT_199 ; 199, (D77A, bit 1) - const EVENT_19A ; 19A, (D77A, bit 2) - const EVENT_19B ; 19B, (D77A, bit 3) - const EVENT_19C ; 19C, (D77A, bit 4) - const EVENT_19D ; 19D, (D77A, bit 5) - const EVENT_19E ; 19E, (D77A, bit 6) - const EVENT_19F ; 19F, (D77A, bit 7) - const EVENT_1A0 ; 1A0, (D77B, bit 0) - const EVENT_1A1 ; 1A1, (D77B, bit 1) - const EVENT_1A2 ; 1A2, (D77B, bit 2) - const EVENT_1A3 ; 1A3, (D77B, bit 3) - const EVENT_1A4 ; 1A4, (D77B, bit 4) - const EVENT_1A5 ; 1A5, (D77B, bit 5) - const EVENT_1A6 ; 1A6, (D77B, bit 6) - const EVENT_1A7 ; 1A7, (D77B, bit 7) - const EVENT_GOT_TM21 ; 1A8, (D77C, bit 0) - const EVENT_BEAT_ERIKA ; 1A9, (D77C, bit 1) - const EVENT_BEAT_CELADON_GYM_TRAINER_0 ; 1AA, (D77C, bit 2) - const EVENT_BEAT_CELADON_GYM_TRAINER_1 ; 1AB, (D77C, bit 3) - const EVENT_BEAT_CELADON_GYM_TRAINER_2 ; 1AC, (D77C, bit 4) - const EVENT_BEAT_CELADON_GYM_TRAINER_3 ; 1AD, (D77C, bit 5) - const EVENT_BEAT_CELADON_GYM_TRAINER_4 ; 1AE, (D77C, bit 6) - const EVENT_BEAT_CELADON_GYM_TRAINER_5 ; 1AF, (D77C, bit 7) - const EVENT_BEAT_CELADON_GYM_TRAINER_6 ; 1B0, (D77D, bit 0) - const EVENT_1B1 ; 1B1, (D77D, bit 1) - const EVENT_1B2 ; 1B2, (D77D, bit 2) - const EVENT_1B3 ; 1B3, (D77D, bit 3) - const EVENT_1B4 ; 1B4, (D77D, bit 4) - const EVENT_1B5 ; 1B5, (D77D, bit 5) - const EVENT_1B6 ; 1B6, (D77D, bit 6) - const EVENT_1B7 ; 1B7, (D77D, bit 7) - const EVENT_1B8 ; 1B8, (D77E, bit 0) - const EVENT_FOUND_ROCKET_HIDEOUT ; 1B9, (D77E, bit 1) - const EVENT_GOT_10_COINS ; 1BA, (D77E, bit 2) - const EVENT_GOT_20_COINS ; 1BB, (D77E, bit 3) - const EVENT_GOT_20_COINS_2 ; 1BC, (D77E, bit 4) - const EVENT_1BD ; 1BD, (D77E, bit 5) - const EVENT_1BE ; 1BE, (D77E, bit 6) - const EVENT_1BF ; 1BF, (D77E, bit 7) - const EVENT_1C0 ; 1C0, (D77F, bit 0) - const EVENT_1C1 ; 1C1, (D77F, bit 1) - const EVENT_1C2 ; 1C2, (D77F, bit 2) - const EVENT_1C3 ; 1C3, (D77F, bit 3) - const EVENT_1C4 ; 1C4, (D77F, bit 4) - const EVENT_1C5 ; 1C5, (D77F, bit 5) - const EVENT_1C6 ; 1C6, (D77F, bit 6) - const EVENT_1C7 ; 1C7, (D77F, bit 7) - const EVENT_1C8 ; 1C8, (D780, bit 0) - const EVENT_1C9 ; 1C9, (D780, bit 1) - const EVENT_1CA ; 1CA, (D780, bit 2) - const EVENT_1CB ; 1CB, (D780, bit 3) - const EVENT_1CC ; 1CC, (D780, bit 4) - const EVENT_1CD ; 1CD, (D780, bit 5) - const EVENT_1CE ; 1CE, (D780, bit 6) - const EVENT_1CF ; 1CF, (D780, bit 7) - const EVENT_1D0 ; 1D0, (D781, bit 0) - const EVENT_1D1 ; 1D1, (D781, bit 1) - const EVENT_1D2 ; 1D2, (D781, bit 2) - const EVENT_1D3 ; 1D3, (D781, bit 3) - const EVENT_1D4 ; 1D4, (D781, bit 4) - const EVENT_1D5 ; 1D5, (D781, bit 5) - const EVENT_1D6 ; 1D6, (D781, bit 6) - const EVENT_1D7 ; 1D7, (D781, bit 7) - const EVENT_1D8 ; 1D8, (D782, bit 0) - const EVENT_1D9 ; 1D9, (D782, bit 1) - const EVENT_1DA ; 1DA, (D782, bit 2) - const EVENT_1DB ; 1DB, (D782, bit 3) - const EVENT_1DC ; 1DC, (D782, bit 4) - const EVENT_1DD ; 1DD, (D782, bit 5) - const EVENT_1DE ; 1DE, (D782, bit 6) - const EVENT_1DF ; 1DF, (D782, bit 7) - const EVENT_GOT_COIN_CASE ; 1E0, (D783, bit 0) - const EVENT_1E1 ; 1E1, (D783, bit 1) - const EVENT_1E2 ; 1E2, (D783, bit 2) - const EVENT_1E3 ; 1E3, (D783, bit 3) - const EVENT_1E4 ; 1E4, (D783, bit 4) - const EVENT_1E5 ; 1E5, (D783, bit 5) - const EVENT_1E6 ; 1E6, (D783, bit 6) - const EVENT_1E7 ; 1E7, (D783, bit 7) - const EVENT_1E8 ; 1E8, (D784, bit 0) - const EVENT_1E9 ; 1E9, (D784, bit 1) - const EVENT_1EA ; 1EA, (D784, bit 2) - const EVENT_1EB ; 1EB, (D784, bit 3) - const EVENT_1EC ; 1EC, (D784, bit 4) - const EVENT_1ED ; 1ED, (D784, bit 5) - const EVENT_1EE ; 1EE, (D784, bit 6) - const EVENT_1EF ; 1EF, (D784, bit 7) - const EVENT_1F0 ; 1F0, (D785, bit 0) - const EVENT_1F1 ; 1F1, (D785, bit 1) - const EVENT_1F2 ; 1F2, (D785, bit 2) - const EVENT_1F3 ; 1F3, (D785, bit 3) - const EVENT_1F4 ; 1F4, (D785, bit 4) - const EVENT_1F5 ; 1F5, (D785, bit 5) - const EVENT_1F6 ; 1F6, (D785, bit 6) - const EVENT_1F7 ; 1F7, (D785, bit 7) - const EVENT_1F8 ; 1F8, (D786, bit 0) - const EVENT_1F9 ; 1F9, (D786, bit 1) - const EVENT_1FA ; 1FA, (D786, bit 2) - const EVENT_1FB ; 1FB, (D786, bit 3) - const EVENT_1FC ; 1FC, (D786, bit 4) - const EVENT_1FD ; 1FD, (D786, bit 5) - const EVENT_1FE ; 1FE, (D786, bit 6) - const EVENT_1FF ; 1FF, (D786, bit 7) - const EVENT_200 ; 200, (D787, bit 0) - const EVENT_201 ; 201, (D787, bit 1) - const EVENT_202 ; 202, (D787, bit 2) - const EVENT_203 ; 203, (D787, bit 3) - const EVENT_204 ; 204, (D787, bit 4) - const EVENT_205 ; 205, (D787, bit 5) - const EVENT_206 ; 206, (D787, bit 6) - const EVENT_207 ; 207, (D787, bit 7) - const EVENT_208 ; 208, (D788, bit 0) - const EVENT_209 ; 209, (D788, bit 1) - const EVENT_20A ; 20A, (D788, bit 2) - const EVENT_20B ; 20B, (D788, bit 3) - const EVENT_20C ; 20C, (D788, bit 4) - const EVENT_20D ; 20D, (D788, bit 5) - const EVENT_20E ; 20E, (D788, bit 6) - const EVENT_20F ; 20F, (D788, bit 7) - const EVENT_210 ; 210, (D789, bit 0) - const EVENT_211 ; 211, (D789, bit 1) - const EVENT_212 ; 212, (D789, bit 2) - const EVENT_213 ; 213, (D789, bit 3) - const EVENT_214 ; 214, (D789, bit 4) - const EVENT_215 ; 215, (D789, bit 5) - const EVENT_216 ; 216, (D789, bit 6) - const EVENT_217 ; 217, (D789, bit 7) - const EVENT_218 ; 218, (D78A, bit 0) - const EVENT_219 ; 219, (D78A, bit 1) - const EVENT_21A ; 21A, (D78A, bit 2) - const EVENT_21B ; 21B, (D78A, bit 3) - const EVENT_21C ; 21C, (D78A, bit 4) - const EVENT_21D ; 21D, (D78A, bit 5) - const EVENT_21E ; 21E, (D78A, bit 6) - const EVENT_21F ; 21F, (D78A, bit 7) - const EVENT_220 ; 220, (D78B, bit 0) - const EVENT_221 ; 221, (D78B, bit 1) - const EVENT_222 ; 222, (D78B, bit 2) - const EVENT_223 ; 223, (D78B, bit 3) - const EVENT_224 ; 224, (D78B, bit 4) - const EVENT_225 ; 225, (D78B, bit 5) - const EVENT_226 ; 226, (D78B, bit 6) - const EVENT_227 ; 227, (D78B, bit 7) - const EVENT_228 ; 228, (D78C, bit 0) - const EVENT_229 ; 229, (D78C, bit 1) - const EVENT_22A ; 22A, (D78C, bit 2) - const EVENT_22B ; 22B, (D78C, bit 3) - const EVENT_22C ; 22C, (D78C, bit 4) - const EVENT_22D ; 22D, (D78C, bit 5) - const EVENT_22E ; 22E, (D78C, bit 6) - const EVENT_22F ; 22F, (D78C, bit 7) - const EVENT_230 ; 230, (D78D, bit 0) - const EVENT_231 ; 231, (D78D, bit 1) - const EVENT_232 ; 232, (D78D, bit 2) - const EVENT_233 ; 233, (D78D, bit 3) - const EVENT_234 ; 234, (D78D, bit 4) - const EVENT_235 ; 235, (D78D, bit 5) - const EVENT_236 ; 236, (D78D, bit 6) - const EVENT_237 ; 237, (D78D, bit 7) - const EVENT_GOT_HM04 ; 238, (D78E, bit 0) - const EVENT_GAVE_GOLD_TEETH ; 239, (D78E, bit 1) - const EVENT_23A ; 23A, (D78E, bit 2) - const EVENT_23B ; 23B, (D78E, bit 3) - const EVENT_23C ; 23C, (D78E, bit 4) - const EVENT_23D ; 23D, (D78E, bit 5) - const EVENT_23E ; 23E, (D78E, bit 6) - const EVENT_23F ; 23F, (D78E, bit 7) - const EVENT_240 ; 240, (D78F, bit 0) - const EVENT_241 ; 241, (D78F, bit 1) - const EVENT_242 ; 242, (D78F, bit 2) - const EVENT_243 ; 243, (D78F, bit 3) - const EVENT_244 ; 244, (D78F, bit 4) - const EVENT_245 ; 245, (D78F, bit 5) - const EVENT_246 ; 246, (D78F, bit 6) - const EVENT_247 ; 247, (D78F, bit 7) - const EVENT_248 ; 248, (D790, bit 0) - const EVENT_249 ; 249, (D790, bit 1) - const EVENT_24A ; 24A, (D790, bit 2) - const EVENT_24B ; 24B, (D790, bit 3) - const EVENT_24C ; 24C, (D790, bit 4) - const EVENT_24D ; 24D, (D790, bit 5) - const EVENT_SAFARI_GAME_OVER ; 24E, (D790, bit 6) - const EVENT_IN_SAFARI_ZONE ; 24F, (D790, bit 7) - const EVENT_250 ; 250, (D791, bit 0) - const EVENT_251 ; 251, (D791, bit 1) - const EVENT_252 ; 252, (D791, bit 2) - const EVENT_253 ; 253, (D791, bit 3) - const EVENT_254 ; 254, (D791, bit 4) - const EVENT_255 ; 255, (D791, bit 5) - const EVENT_256 ; 256, (D791, bit 6) - const EVENT_257 ; 257, (D791, bit 7) - const EVENT_GOT_TM06 ; 258, (D792, bit 0) - const EVENT_BEAT_KOGA ; 259, (D792, bit 1) - const EVENT_BEAT_FUCHSIA_GYM_TRAINER_0 ; 25A, (D792, bit 2) - const EVENT_BEAT_FUCHSIA_GYM_TRAINER_1 ; 25B, (D792, bit 3) - const EVENT_BEAT_FUCHSIA_GYM_TRAINER_2 ; 25C, (D792, bit 4) - const EVENT_BEAT_FUCHSIA_GYM_TRAINER_3 ; 25D, (D792, bit 5) - const EVENT_BEAT_FUCHSIA_GYM_TRAINER_4 ; 25E, (D792, bit 6) - const EVENT_BEAT_FUCHSIA_GYM_TRAINER_5 ; 25F, (D792, bit 7) - const EVENT_260 ; 260, (D793, bit 0) - const EVENT_261 ; 261, (D793, bit 1) - const EVENT_262 ; 262, (D793, bit 2) - const EVENT_263 ; 263, (D793, bit 3) - const EVENT_264 ; 264, (D793, bit 4) - const EVENT_265 ; 265, (D793, bit 5) - const EVENT_266 ; 266, (D793, bit 6) - const EVENT_267 ; 267, (D793, bit 7) - const EVENT_268 ; 268, (D794, bit 0) - const EVENT_269 ; 269, (D794, bit 1) - const EVENT_26A ; 26A, (D794, bit 2) - const EVENT_26B ; 26B, (D794, bit 3) - const EVENT_26C ; 26C, (D794, bit 4) - const EVENT_26D ; 26D, (D794, bit 5) - const EVENT_26E ; 26E, (D794, bit 6) - const EVENT_26F ; 26F, (D794, bit 7) - const EVENT_270 ; 270, (D795, bit 0) - const EVENT_271 ; 271, (D795, bit 1) - const EVENT_272 ; 272, (D795, bit 2) - const EVENT_273 ; 273, (D795, bit 3) - const EVENT_274 ; 274, (D795, bit 4) - const EVENT_275 ; 275, (D795, bit 5) - const EVENT_276 ; 276, (D795, bit 6) - const EVENT_277 ; 277, (D795, bit 7) - const EVENT_MANSION_SWITCH_ON ; 278, (D796, bit 0) - const EVENT_279 ; 279, (D796, bit 1) - const EVENT_27A ; 27A, (D796, bit 2) - const EVENT_27B ; 27B, (D796, bit 3) - const EVENT_27C ; 27C, (D796, bit 4) - const EVENT_27D ; 27D, (D796, bit 5) - const EVENT_27E ; 27E, (D796, bit 6) - const EVENT_27F ; 27F, (D796, bit 7) - const EVENT_280 ; 280, (D797, bit 0) - const EVENT_281 ; 281, (D797, bit 1) - const EVENT_282 ; 282, (D797, bit 2) - const EVENT_283 ; 283, (D797, bit 3) - const EVENT_284 ; 284, (D797, bit 4) - const EVENT_285 ; 285, (D797, bit 5) - const EVENT_286 ; 286, (D797, bit 6) - const EVENT_287 ; 287, (D797, bit 7) - const EVENT_288 ; 288, (D798, bit 0) - const EVENT_BEAT_MANSION_1_TRAINER_0 ; 289, (D798, bit 1) - const EVENT_28A ; 28A, (D798, bit 2) - const EVENT_28B ; 28B, (D798, bit 3) - const EVENT_28C ; 28C, (D798, bit 4) - const EVENT_28D ; 28D, (D798, bit 5) - const EVENT_28E ; 28E, (D798, bit 6) - const EVENT_28F ; 28F, (D798, bit 7) - const EVENT_290 ; 290, (D799, bit 0) - const EVENT_291 ; 291, (D799, bit 1) - const EVENT_292 ; 292, (D799, bit 2) - const EVENT_293 ; 293, (D799, bit 3) - const EVENT_294 ; 294, (D799, bit 4) - const EVENT_295 ; 295, (D799, bit 5) - const EVENT_296 ; 296, (D799, bit 6) - const EVENT_297 ; 297, (D799, bit 7) - const EVENT_GOT_TM38 ; 298, (D79A, bit 0) - const EVENT_BEAT_BLAINE ; 299, (D79A, bit 1) - const EVENT_BEAT_CINNABAR_GYM_TRAINER_0 ; 29A, (D79A, bit 2) - const EVENT_BEAT_CINNABAR_GYM_TRAINER_1 ; 29B, (D79A, bit 3) - const EVENT_BEAT_CINNABAR_GYM_TRAINER_2 ; 29C, (D79A, bit 4) - const EVENT_BEAT_CINNABAR_GYM_TRAINER_3 ; 29D, (D79A, bit 5) - const EVENT_BEAT_CINNABAR_GYM_TRAINER_4 ; 29E, (D79A, bit 6) - const EVENT_BEAT_CINNABAR_GYM_TRAINER_5 ; 29F, (D79A, bit 7) - const EVENT_BEAT_CINNABAR_GYM_TRAINER_6 ; 2A0, (D79B, bit 0) - const EVENT_2A1 ; 2A1, (D79B, bit 1) - const EVENT_2A2 ; 2A2, (D79B, bit 2) - const EVENT_2A3 ; 2A3, (D79B, bit 3) - const EVENT_2A4 ; 2A4, (D79B, bit 4) - const EVENT_2A5 ; 2A5, (D79B, bit 5) - const EVENT_2A6 ; 2A6, (D79B, bit 6) - const EVENT_2A7 ; 2A7, (D79B, bit 7) - const EVENT_CINNABAR_GYM_GATE0_UNLOCKED ; 2A8, (D79C, bit 0) doesn't exist, but the bit is set - const EVENT_CINNABAR_GYM_GATE1_UNLOCKED ; 2A9, (D79C, bit 1) - const EVENT_CINNABAR_GYM_GATE2_UNLOCKED ; 2AA, (D79C, bit 2) - const EVENT_CINNABAR_GYM_GATE3_UNLOCKED ; 2AB, (D79C, bit 3) - const EVENT_CINNABAR_GYM_GATE4_UNLOCKED ; 2AC, (D79C, bit 4) - const EVENT_CINNABAR_GYM_GATE5_UNLOCKED ; 2AD, (D79C, bit 5) - const EVENT_CINNABAR_GYM_GATE6_UNLOCKED ; 2AE, (D79C, bit 6) - const EVENT_2AF ; 2AF, (D79C, bit 7) - const EVENT_2B0 ; 2B0, (D79D, bit 0) - const EVENT_2B1 ; 2B1, (D79D, bit 1) - const EVENT_2B2 ; 2B2, (D79D, bit 2) - const EVENT_2B3 ; 2B3, (D79D, bit 3) - const EVENT_2B4 ; 2B4, (D79D, bit 4) - const EVENT_2B5 ; 2B5, (D79D, bit 5) - const EVENT_2B6 ; 2B6, (D79D, bit 6) - const EVENT_2B7 ; 2B7, (D79D, bit 7) - const EVENT_2B8 ; 2B8, (D79E, bit 0) - const EVENT_2B9 ; 2B9, (D79E, bit 1) - const EVENT_2BA ; 2BA, (D79E, bit 2) - const EVENT_2BB ; 2BB, (D79E, bit 3) - const EVENT_2BC ; 2BC, (D79E, bit 4) - const EVENT_2BD ; 2BD, (D79E, bit 5) - const EVENT_2BE ; 2BE, (D79E, bit 6) - const EVENT_2BF ; 2BF, (D79E, bit 7) - const EVENT_2C0 ; 2C0, (D79F, bit 0) - const EVENT_2C1 ; 2C1, (D79F, bit 1) - const EVENT_2C2 ; 2C2, (D79F, bit 2) - const EVENT_2C3 ; 2C3, (D79F, bit 3) - const EVENT_2C4 ; 2C4, (D79F, bit 4) - const EVENT_2C5 ; 2C5, (D79F, bit 5) - const EVENT_2C6 ; 2C6, (D79F, bit 6) - const EVENT_2C7 ; 2C7, (D79F, bit 7) - const EVENT_2C8 ; 2C8, (D7A0, bit 0) - const EVENT_2C9 ; 2C9, (D7A0, bit 1) - const EVENT_2CA ; 2CA, (D7A0, bit 2) - const EVENT_2CB ; 2CB, (D7A0, bit 3) - const EVENT_2CC ; 2CC, (D7A0, bit 4) - const EVENT_2CD ; 2CD, (D7A0, bit 5) - const EVENT_2CE ; 2CE, (D7A0, bit 6) - const EVENT_2CF ; 2CF, (D7A0, bit 7) - const EVENT_2D0 ; 2D0, (D7A1, bit 0) - const EVENT_2D1 ; 2D1, (D7A1, bit 1) - const EVENT_2D2 ; 2D2, (D7A1, bit 2) - const EVENT_2D3 ; 2D3, (D7A1, bit 3) - const EVENT_2D4 ; 2D4, (D7A1, bit 4) - const EVENT_2D5 ; 2D5, (D7A1, bit 5) - const EVENT_2D6 ; 2D6, (D7A1, bit 6) - const EVENT_GOT_TM35 ; 2D7, (D7A1, bit 7) - const EVENT_2D8 ; 2D8, (D7A2, bit 0) - const EVENT_2D9 ; 2D9, (D7A2, bit 1) - const EVENT_2DA ; 2DA, (D7A2, bit 2) - const EVENT_2DB ; 2DB, (D7A2, bit 3) - const EVENT_2DC ; 2DC, (D7A2, bit 4) - const EVENT_2DD ; 2DD, (D7A2, bit 5) - const EVENT_2DE ; 2DE, (D7A2, bit 6) - const EVENT_2DF ; 2DF, (D7A2, bit 7) - const EVENT_GAVE_FOSSIL_TO_LAB ; 2E0, (D7A3, bit 0) - const EVENT_LAB_STILL_REVIVING_FOSSIL ; 2E1, (D7A3, bit 1) - const EVENT_LAB_HANDING_OVER_FOSSIL_MON ; 2E2, (D7A3, bit 2) - const EVENT_2E3 ; 2E3, (D7A3, bit 3) - const EVENT_2E4 ; 2E4, (D7A3, bit 4) - const EVENT_2E5 ; 2E5, (D7A3, bit 5) - const EVENT_2E6 ; 2E6, (D7A3, bit 6) - const EVENT_2E7 ; 2E7, (D7A3, bit 7) - const EVENT_2E8 ; 2E8, (D7A4, bit 0) - const EVENT_2E9 ; 2E9, (D7A4, bit 1) - const EVENT_2EA ; 2EA, (D7A4, bit 2) - const EVENT_2EB ; 2EB, (D7A4, bit 3) - const EVENT_2EC ; 2EC, (D7A4, bit 4) - const EVENT_2ED ; 2ED, (D7A4, bit 5) - const EVENT_2EE ; 2EE, (D7A4, bit 6) - const EVENT_2EF ; 2EF, (D7A4, bit 7) - const EVENT_2F0 ; 2F0, (D7A5, bit 0) - const EVENT_2F1 ; 2F1, (D7A5, bit 1) - const EVENT_2F2 ; 2F2, (D7A5, bit 2) - const EVENT_2F3 ; 2F3, (D7A5, bit 3) - const EVENT_2F4 ; 2F4, (D7A5, bit 4) - const EVENT_2F5 ; 2F5, (D7A5, bit 5) - const EVENT_2F6 ; 2F6, (D7A5, bit 6) - const EVENT_2F7 ; 2F7, (D7A5, bit 7) - const EVENT_2F8 ; 2F8, (D7A6, bit 0) - const EVENT_2F9 ; 2F9, (D7A6, bit 1) - const EVENT_2FA ; 2FA, (D7A6, bit 2) - const EVENT_2FB ; 2FB, (D7A6, bit 3) - const EVENT_2FC ; 2FC, (D7A6, bit 4) - const EVENT_2FD ; 2FD, (D7A6, bit 5) - const EVENT_2FE ; 2FE, (D7A6, bit 6) - const EVENT_2FF ; 2FF, (D7A6, bit 7) - const EVENT_300 ; 300, (D7A7, bit 0) - const EVENT_301 ; 301, (D7A7, bit 1) - const EVENT_302 ; 302, (D7A7, bit 2) - const EVENT_303 ; 303, (D7A7, bit 3) - const EVENT_304 ; 304, (D7A7, bit 4) - const EVENT_305 ; 305, (D7A7, bit 5) - const EVENT_306 ; 306, (D7A7, bit 6) - const EVENT_307 ; 307, (D7A7, bit 7) - const EVENT_308 ; 308, (D7A8, bit 0) - const EVENT_309 ; 309, (D7A8, bit 1) - const EVENT_30A ; 30A, (D7A8, bit 2) - const EVENT_30B ; 30B, (D7A8, bit 3) - const EVENT_30C ; 30C, (D7A8, bit 4) - const EVENT_30D ; 30D, (D7A8, bit 5) - const EVENT_30E ; 30E, (D7A8, bit 6) - const EVENT_30F ; 30F, (D7A8, bit 7) - const EVENT_310 ; 310, (D7A9, bit 0) - const EVENT_311 ; 311, (D7A9, bit 1) - const EVENT_312 ; 312, (D7A9, bit 2) - const EVENT_313 ; 313, (D7A9, bit 3) - const EVENT_314 ; 314, (D7A9, bit 4) - const EVENT_315 ; 315, (D7A9, bit 5) - const EVENT_316 ; 316, (D7A9, bit 6) - const EVENT_317 ; 317, (D7A9, bit 7) - const EVENT_318 ; 318, (D7AA, bit 0) - const EVENT_319 ; 319, (D7AA, bit 1) - const EVENT_31A ; 31A, (D7AA, bit 2) - const EVENT_31B ; 31B, (D7AA, bit 3) - const EVENT_31C ; 31C, (D7AA, bit 4) - const EVENT_31D ; 31D, (D7AA, bit 5) - const EVENT_31E ; 31E, (D7AA, bit 6) - const EVENT_31F ; 31F, (D7AA, bit 7) - const EVENT_320 ; 320, (D7AB, bit 0) - const EVENT_321 ; 321, (D7AB, bit 1) - const EVENT_322 ; 322, (D7AB, bit 2) - const EVENT_323 ; 323, (D7AB, bit 3) - const EVENT_324 ; 324, (D7AB, bit 4) - const EVENT_325 ; 325, (D7AB, bit 5) - const EVENT_326 ; 326, (D7AB, bit 6) - const EVENT_327 ; 327, (D7AB, bit 7) - const EVENT_328 ; 328, (D7AC, bit 0) - const EVENT_329 ; 329, (D7AC, bit 1) - const EVENT_32A ; 32A, (D7AC, bit 2) - const EVENT_32B ; 32B, (D7AC, bit 3) - const EVENT_32C ; 32C, (D7AC, bit 4) - const EVENT_32D ; 32D, (D7AC, bit 5) - const EVENT_32E ; 32E, (D7AC, bit 6) - const EVENT_32F ; 32F, (D7AC, bit 7) - const EVENT_330 ; 330, (D7AD, bit 0) - const EVENT_331 ; 331, (D7AD, bit 1) - const EVENT_332 ; 332, (D7AD, bit 2) - const EVENT_333 ; 333, (D7AD, bit 3) - const EVENT_334 ; 334, (D7AD, bit 4) - const EVENT_335 ; 335, (D7AD, bit 5) - const EVENT_336 ; 336, (D7AD, bit 6) - const EVENT_337 ; 337, (D7AD, bit 7) - const EVENT_338 ; 338, (D7AE, bit 0) - const EVENT_339 ; 339, (D7AE, bit 1) - const EVENT_33A ; 33A, (D7AE, bit 2) - const EVENT_33B ; 33B, (D7AE, bit 3) - const EVENT_33C ; 33C, (D7AE, bit 4) - const EVENT_33D ; 33D, (D7AE, bit 5) - const EVENT_33E ; 33E, (D7AE, bit 6) - const EVENT_33F ; 33F, (D7AE, bit 7) - const EVENT_GOT_TM31 ; 340, (D7AF, bit 0) - const EVENT_341 ; 341, (D7AF, bit 1) - const EVENT_342 ; 342, (D7AF, bit 2) - const EVENT_343 ; 343, (D7AF, bit 3) - const EVENT_344 ; 344, (D7AF, bit 4) - const EVENT_345 ; 345, (D7AF, bit 5) - const EVENT_346 ; 346, (D7AF, bit 6) - const EVENT_347 ; 347, (D7AF, bit 7) - const EVENT_348 ; 348, (D7B0, bit 0) - const EVENT_349 ; 349, (D7B0, bit 1) - const EVENT_34A ; 34A, (D7B0, bit 2) - const EVENT_34B ; 34B, (D7B0, bit 3) - const EVENT_34C ; 34C, (D7B0, bit 4) - const EVENT_34D ; 34D, (D7B0, bit 5) - const EVENT_34E ; 34E, (D7B0, bit 6) - const EVENT_34F ; 34F, (D7B0, bit 7) - const EVENT_DEFEATED_FIGHTING_DOJO ; 350, (D7B1, bit 0) - const EVENT_BEAT_KARATE_MASTER ; 351, (D7B1, bit 1) - const EVENT_BEAT_FIGHTING_DOJO_TRAINER_0 ; 352, (D7B1, bit 2) - const EVENT_BEAT_FIGHTING_DOJO_TRAINER_1 ; 353, (D7B1, bit 3) - const EVENT_BEAT_FIGHTING_DOJO_TRAINER_2 ; 354, (D7B1, bit 4) - const EVENT_BEAT_FIGHTING_DOJO_TRAINER_3 ; 355, (D7B1, bit 5) - const EVENT_GOT_HITMONLEE ; 356, (D7B1, bit 6) - const EVENT_GOT_HITMONCHAN ; 357, (D7B1, bit 7) - const EVENT_358 ; 358, (D7B2, bit 0) - const EVENT_359 ; 359, (D7B2, bit 1) - const EVENT_35A ; 35A, (D7B2, bit 2) - const EVENT_35B ; 35B, (D7B2, bit 3) - const EVENT_35C ; 35C, (D7B2, bit 4) - const EVENT_35D ; 35D, (D7B2, bit 5) - const EVENT_35E ; 35E, (D7B2, bit 6) - const EVENT_35F ; 35F, (D7B2, bit 7) - const EVENT_GOT_TM46 ; 360, (D7B3, bit 0) - const EVENT_BEAT_SABRINA ; 361, (D7B3, bit 1) - const EVENT_BEAT_SAFFRON_GYM_TRAINER_0 ; 362, (D7B3, bit 2) - const EVENT_BEAT_SAFFRON_GYM_TRAINER_1 ; 363, (D7B3, bit 3) - const EVENT_BEAT_SAFFRON_GYM_TRAINER_2 ; 364, (D7B3, bit 4) - const EVENT_BEAT_SAFFRON_GYM_TRAINER_3 ; 365, (D7B3, bit 5) - const EVENT_BEAT_SAFFRON_GYM_TRAINER_4 ; 366, (D7B3, bit 6) - const EVENT_BEAT_SAFFRON_GYM_TRAINER_5 ; 367, (D7B3, bit 7) - const EVENT_BEAT_SAFFRON_GYM_TRAINER_6 ; 368, (D7B4, bit 0) - const EVENT_369 ; 369, (D7B4, bit 1) - const EVENT_36A ; 36A, (D7B4, bit 2) - const EVENT_36B ; 36B, (D7B4, bit 3) - const EVENT_36C ; 36C, (D7B4, bit 4) - const EVENT_36D ; 36D, (D7B4, bit 5) - const EVENT_36E ; 36E, (D7B4, bit 6) - const EVENT_36F ; 36F, (D7B4, bit 7) - const EVENT_370 ; 370, (D7B5, bit 0) - const EVENT_371 ; 371, (D7B5, bit 1) - const EVENT_372 ; 372, (D7B5, bit 2) - const EVENT_373 ; 373, (D7B5, bit 3) - const EVENT_374 ; 374, (D7B5, bit 4) - const EVENT_375 ; 375, (D7B5, bit 5) - const EVENT_376 ; 376, (D7B5, bit 6) - const EVENT_377 ; 377, (D7B5, bit 7) - const EVENT_378 ; 378, (D7B6, bit 0) - const EVENT_379 ; 379, (D7B6, bit 1) - const EVENT_37A ; 37A, (D7B6, bit 2) - const EVENT_37B ; 37B, (D7B6, bit 3) - const EVENT_37C ; 37C, (D7B6, bit 4) - const EVENT_37D ; 37D, (D7B6, bit 5) - const EVENT_37E ; 37E, (D7B6, bit 6) - const EVENT_37F ; 37F, (D7B6, bit 7) - const EVENT_380 ; 380, (D7B7, bit 0) - const EVENT_381 ; 381, (D7B7, bit 1) - const EVENT_382 ; 382, (D7B7, bit 2) - const EVENT_383 ; 383, (D7B7, bit 3) - const EVENT_384 ; 384, (D7B7, bit 4) - const EVENT_385 ; 385, (D7B7, bit 5) - const EVENT_386 ; 386, (D7B7, bit 6) - const EVENT_387 ; 387, (D7B7, bit 7) - const EVENT_388 ; 388, (D7B8, bit 0) - const EVENT_389 ; 389, (D7B8, bit 1) - const EVENT_38A ; 38A, (D7B8, bit 2) - const EVENT_38B ; 38B, (D7B8, bit 3) - const EVENT_38C ; 38C, (D7B8, bit 4) - const EVENT_38D ; 38D, (D7B8, bit 5) - const EVENT_38E ; 38E, (D7B8, bit 6) - const EVENT_38F ; 38F, (D7B8, bit 7) - const EVENT_390 ; 390, (D7B9, bit 0) - const EVENT_391 ; 391, (D7B9, bit 1) - const EVENT_392 ; 392, (D7B9, bit 2) - const EVENT_393 ; 393, (D7B9, bit 3) - const EVENT_394 ; 394, (D7B9, bit 4) - const EVENT_395 ; 395, (D7B9, bit 5) - const EVENT_396 ; 396, (D7B9, bit 6) - const EVENT_SILPH_CO_RECEPTIONIST_AT_DESK ; 397, (D7B9, bit 7) - const EVENT_398 ; 398, (D7BA, bit 0) - const EVENT_399 ; 399, (D7BA, bit 1) - const EVENT_39A ; 39A, (D7BA, bit 2) - const EVENT_39B ; 39B, (D7BA, bit 3) - const EVENT_39C ; 39C, (D7BA, bit 4) - const EVENT_39D ; 39D, (D7BA, bit 5) - const EVENT_39E ; 39E, (D7BA, bit 6) - const EVENT_39F ; 39F, (D7BA, bit 7) - const EVENT_3A0 ; 3A0, (D7BB, bit 0) - const EVENT_3A1 ; 3A1, (D7BB, bit 1) - const EVENT_3A2 ; 3A2, (D7BB, bit 2) - const EVENT_3A3 ; 3A3, (D7BB, bit 3) - const EVENT_3A4 ; 3A4, (D7BB, bit 4) - const EVENT_3A5 ; 3A5, (D7BB, bit 5) - const EVENT_3A6 ; 3A6, (D7BB, bit 6) - const EVENT_3A7 ; 3A7, (D7BB, bit 7) - const EVENT_3A8 ; 3A8, (D7BC, bit 0) - const EVENT_3A9 ; 3A9, (D7BC, bit 1) - const EVENT_3AA ; 3AA, (D7BC, bit 2) - const EVENT_3AB ; 3AB, (D7BC, bit 3) - const EVENT_3AC ; 3AC, (D7BC, bit 4) - const EVENT_3AD ; 3AD, (D7BC, bit 5) - const EVENT_3AE ; 3AE, (D7BC, bit 6) - const EVENT_3AF ; 3AF, (D7BC, bit 7) - const EVENT_GOT_TM29 ; 3B0, (D7BD, bit 0) - const EVENT_3B1 ; 3B1, (D7BD, bit 1) - const EVENT_3B2 ; 3B2, (D7BD, bit 2) - const EVENT_3B3 ; 3B3, (D7BD, bit 3) - const EVENT_3B4 ; 3B4, (D7BD, bit 4) - const EVENT_3B5 ; 3B5, (D7BD, bit 5) - const EVENT_3B6 ; 3B6, (D7BD, bit 6) - const EVENT_3B7 ; 3B7, (D7BD, bit 7) - const EVENT_3B8 ; 3B8, (D7BE, bit 0) - const EVENT_3B9 ; 3B9, (D7BE, bit 1) - const EVENT_3BA ; 3BA, (D7BE, bit 2) - const EVENT_3BB ; 3BB, (D7BE, bit 3) - const EVENT_3BC ; 3BC, (D7BE, bit 4) - const EVENT_3BD ; 3BD, (D7BE, bit 5) - const EVENT_3BE ; 3BE, (D7BE, bit 6) - const EVENT_3BF ; 3BF, (D7BE, bit 7) - const EVENT_GOT_POTION_SAMPLE ; 3C0, (D7BF, bit 0) - const EVENT_3C1 ; 3C1, (D7BF, bit 1) - const EVENT_3C2 ; 3C2, (D7BF, bit 2) - const EVENT_3C3 ; 3C3, (D7BF, bit 3) - const EVENT_3C4 ; 3C4, (D7BF, bit 4) - const EVENT_3C5 ; 3C5, (D7BF, bit 5) - const EVENT_3C6 ; 3C6, (D7BF, bit 6) - const EVENT_3C7 ; 3C7, (D7BF, bit 7) - const EVENT_3C8 ; 3C8, (D7C0, bit 0) - const EVENT_3C9 ; 3C9, (D7C0, bit 1) - const EVENT_3CA ; 3CA, (D7C0, bit 2) - const EVENT_3CB ; 3CB, (D7C0, bit 3) - const EVENT_3CC ; 3CC, (D7C0, bit 4) - const EVENT_3CD ; 3CD, (D7C0, bit 5) - const EVENT_3CE ; 3CE, (D7C0, bit 6) - const EVENT_3CF ; 3CF, (D7C0, bit 7) - const EVENT_3D0 ; 3D0, (D7C1, bit 0) - const EVENT_3D1 ; 3D1, (D7C1, bit 1) - const EVENT_3D2 ; 3D2, (D7C1, bit 2) - const EVENT_3D3 ; 3D3, (D7C1, bit 3) - const EVENT_3D4 ; 3D4, (D7C1, bit 4) - const EVENT_3D5 ; 3D5, (D7C1, bit 5) - const EVENT_3D6 ; 3D6, (D7C1, bit 6) - const EVENT_3D7 ; 3D7, (D7C1, bit 7) - const EVENT_GOT_HM05 ; 3D8, (D7C2, bit 0) - const EVENT_3D9 ; 3D9, (D7C2, bit 1) - const EVENT_3DA ; 3DA, (D7C2, bit 2) - const EVENT_3DB ; 3DB, (D7C2, bit 3) - const EVENT_3DC ; 3DC, (D7C2, bit 4) - const EVENT_3DD ; 3DD, (D7C2, bit 5) - const EVENT_3DE ; 3DE, (D7C2, bit 6) - const EVENT_3DF ; 3DF, (D7C2, bit 7) - const EVENT_3E0 ; 3E0, (D7C3, bit 0) - const EVENT_3E1 ; 3E1, (D7C3, bit 1) - const EVENT_BEAT_ROUTE_3_TRAINER_0 ; 3E2, (D7C3, bit 2) - const EVENT_BEAT_ROUTE_3_TRAINER_1 ; 3E3, (D7C3, bit 3) - const EVENT_BEAT_ROUTE_3_TRAINER_2 ; 3E4, (D7C3, bit 4) - const EVENT_BEAT_ROUTE_3_TRAINER_3 ; 3E5, (D7C3, bit 5) - const EVENT_BEAT_ROUTE_3_TRAINER_4 ; 3E6, (D7C3, bit 6) - const EVENT_BEAT_ROUTE_3_TRAINER_5 ; 3E7, (D7C3, bit 7) - const EVENT_BEAT_ROUTE_3_TRAINER_6 ; 3E8, (D7C4, bit 0) - const EVENT_BEAT_ROUTE_3_TRAINER_7 ; 3E9, (D7C4, bit 1) - const EVENT_3EA ; 3EA, (D7C4, bit 2) - const EVENT_3EB ; 3EB, (D7C4, bit 3) - const EVENT_3EC ; 3EC, (D7C4, bit 4) - const EVENT_3ED ; 3ED, (D7C4, bit 5) - const EVENT_3EE ; 3EE, (D7C4, bit 6) - const EVENT_3EF ; 3EF, (D7C4, bit 7) - const EVENT_3F0 ; 3F0, (D7C5, bit 0) - const EVENT_3F1 ; 3F1, (D7C5, bit 1) - const EVENT_BEAT_ROUTE_4_TRAINER_0 ; 3F2, (D7C5, bit 2) - const EVENT_3F3 ; 3F3, (D7C5, bit 3) - const EVENT_3F4 ; 3F4, (D7C5, bit 4) - const EVENT_3F5 ; 3F5, (D7C5, bit 5) - const EVENT_3F6 ; 3F6, (D7C5, bit 6) - const EVENT_3F7 ; 3F7, (D7C5, bit 7) - const EVENT_3F8 ; 3F8, (D7C6, bit 0) - const EVENT_3F9 ; 3F9, (D7C6, bit 1) - const EVENT_3FA ; 3FA, (D7C6, bit 2) - const EVENT_3FB ; 3FB, (D7C6, bit 3) - const EVENT_3FC ; 3FC, (D7C6, bit 4) - const EVENT_3FD ; 3FD, (D7C6, bit 5) - const EVENT_3FE ; 3FE, (D7C6, bit 6) - const EVENT_BOUGHT_MAGIKARP ; 3FF, (D7C6, bit 7) - const EVENT_400 ; 400, (D7C7, bit 0) - const EVENT_401 ; 401, (D7C7, bit 1) - const EVENT_402 ; 402, (D7C7, bit 2) - const EVENT_403 ; 403, (D7C7, bit 3) - const EVENT_404 ; 404, (D7C7, bit 4) - const EVENT_405 ; 405, (D7C7, bit 5) - const EVENT_406 ; 406, (D7C7, bit 6) - const EVENT_407 ; 407, (D7C7, bit 7) - const EVENT_408 ; 408, (D7C8, bit 0) - const EVENT_409 ; 409, (D7C8, bit 1) - const EVENT_40A ; 40A, (D7C8, bit 2) - const EVENT_40B ; 40B, (D7C8, bit 3) - const EVENT_40C ; 40C, (D7C8, bit 4) - const EVENT_40D ; 40D, (D7C8, bit 5) - const EVENT_40E ; 40E, (D7C8, bit 6) - const EVENT_40F ; 40F, (D7C8, bit 7) - const EVENT_410 ; 410, (D7C9, bit 0) - const EVENT_BEAT_ROUTE_6_TRAINER_0 ; 411, (D7C9, bit 1) - const EVENT_BEAT_ROUTE_6_TRAINER_1 ; 412, (D7C9, bit 2) - const EVENT_BEAT_ROUTE_6_TRAINER_2 ; 413, (D7C9, bit 3) - const EVENT_BEAT_ROUTE_6_TRAINER_3 ; 414, (D7C9, bit 4) - const EVENT_BEAT_ROUTE_6_TRAINER_4 ; 415, (D7C9, bit 5) - const EVENT_BEAT_ROUTE_6_TRAINER_5 ; 416, (D7C9, bit 6) - const EVENT_417 ; 417, (D7C9, bit 7) - const EVENT_418 ; 418, (D7CA, bit 0) - const EVENT_419 ; 419, (D7CA, bit 1) - const EVENT_41A ; 41A, (D7CA, bit 2) - const EVENT_41B ; 41B, (D7CA, bit 3) - const EVENT_41C ; 41C, (D7CA, bit 4) - const EVENT_41D ; 41D, (D7CA, bit 5) - const EVENT_41E ; 41E, (D7CA, bit 6) - const EVENT_41F ; 41F, (D7CA, bit 7) - const EVENT_420 ; 420, (D7CB, bit 0) - const EVENT_421 ; 421, (D7CB, bit 1) - const EVENT_422 ; 422, (D7CB, bit 2) - const EVENT_423 ; 423, (D7CB, bit 3) - const EVENT_424 ; 424, (D7CB, bit 4) - const EVENT_425 ; 425, (D7CB, bit 5) - const EVENT_426 ; 426, (D7CB, bit 6) - const EVENT_427 ; 427, (D7CB, bit 7) - const EVENT_428 ; 428, (D7CC, bit 0) - const EVENT_429 ; 429, (D7CC, bit 1) - const EVENT_42A ; 42A, (D7CC, bit 2) - const EVENT_42B ; 42B, (D7CC, bit 3) - const EVENT_42C ; 42C, (D7CC, bit 4) - const EVENT_42D ; 42D, (D7CC, bit 5) - const EVENT_42E ; 42E, (D7CC, bit 6) - const EVENT_42F ; 42F, (D7CC, bit 7) - const EVENT_430 ; 430, (D7CD, bit 0) - const EVENT_BEAT_ROUTE_8_TRAINER_0 ; 431, (D7CD, bit 1) - const EVENT_BEAT_ROUTE_8_TRAINER_1 ; 432, (D7CD, bit 2) - const EVENT_BEAT_ROUTE_8_TRAINER_2 ; 433, (D7CD, bit 3) - const EVENT_BEAT_ROUTE_8_TRAINER_3 ; 434, (D7CD, bit 4) - const EVENT_BEAT_ROUTE_8_TRAINER_4 ; 435, (D7CD, bit 5) - const EVENT_BEAT_ROUTE_8_TRAINER_5 ; 436, (D7CD, bit 6) - const EVENT_BEAT_ROUTE_8_TRAINER_6 ; 437, (D7CD, bit 7) - const EVENT_BEAT_ROUTE_8_TRAINER_7 ; 438, (D7CE, bit 0) - const EVENT_BEAT_ROUTE_8_TRAINER_8 ; 439, (D7CE, bit 1) - const EVENT_43A ; 43A, (D7CE, bit 2) - const EVENT_43B ; 43B, (D7CE, bit 3) - const EVENT_43C ; 43C, (D7CE, bit 4) - const EVENT_43D ; 43D, (D7CE, bit 5) - const EVENT_43E ; 43E, (D7CE, bit 6) - const EVENT_43F ; 43F, (D7CE, bit 7) - const EVENT_440 ; 440, (D7CF, bit 0) - const EVENT_BEAT_ROUTE_9_TRAINER_0 ; 441, (D7CF, bit 1) - const EVENT_BEAT_ROUTE_9_TRAINER_1 ; 442, (D7CF, bit 2) - const EVENT_BEAT_ROUTE_9_TRAINER_2 ; 443, (D7CF, bit 3) - const EVENT_BEAT_ROUTE_9_TRAINER_3 ; 444, (D7CF, bit 4) - const EVENT_BEAT_ROUTE_9_TRAINER_4 ; 445, (D7CF, bit 5) - const EVENT_BEAT_ROUTE_9_TRAINER_5 ; 446, (D7CF, bit 6) - const EVENT_BEAT_ROUTE_9_TRAINER_6 ; 447, (D7CF, bit 7) - const EVENT_BEAT_ROUTE_9_TRAINER_7 ; 448, (D7D0, bit 0) - const EVENT_BEAT_ROUTE_9_TRAINER_8 ; 449, (D7D0, bit 1) - const EVENT_44A ; 44A, (D7D0, bit 2) - const EVENT_44B ; 44B, (D7D0, bit 3) - const EVENT_44C ; 44C, (D7D0, bit 4) - const EVENT_44D ; 44D, (D7D0, bit 5) - const EVENT_44E ; 44E, (D7D0, bit 6) - const EVENT_44F ; 44F, (D7D0, bit 7) - const EVENT_450 ; 450, (D7D1, bit 0) - const EVENT_BEAT_ROUTE_10_TRAINER_0 ; 451, (D7D1, bit 1) - const EVENT_BEAT_ROUTE_10_TRAINER_1 ; 452, (D7D1, bit 2) - const EVENT_BEAT_ROUTE_10_TRAINER_2 ; 453, (D7D1, bit 3) - const EVENT_BEAT_ROUTE_10_TRAINER_3 ; 454, (D7D1, bit 4) - const EVENT_BEAT_ROUTE_10_TRAINER_4 ; 455, (D7D1, bit 5) - const EVENT_BEAT_ROUTE_10_TRAINER_5 ; 456, (D7D1, bit 6) - const EVENT_457 ; 457, (D7D1, bit 7) - const EVENT_458 ; 458, (D7D2, bit 0) - const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_0 ; 459, (D7D2, bit 1) - const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_1 ; 45A, (D7D2, bit 2) - const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_2 ; 45B, (D7D2, bit 3) - const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_3 ; 45C, (D7D2, bit 4) - const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_4 ; 45D, (D7D2, bit 5) - const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_5 ; 45E, (D7D2, bit 6) - const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_6 ; 45F, (D7D2, bit 7) - const EVENT_460 ; 460, (D7D3, bit 0) - const EVENT_BEAT_POWER_PLANT_VOLTORB_0 ; 461, (D7D3, bit 1) - const EVENT_BEAT_POWER_PLANT_VOLTORB_1 ; 462, (D7D3, bit 2) - const EVENT_BEAT_POWER_PLANT_VOLTORB_2 ; 463, (D7D3, bit 3) - const EVENT_BEAT_POWER_PLANT_VOLTORB_3 ; 464, (D7D3, bit 4) - const EVENT_BEAT_POWER_PLANT_VOLTORB_4 ; 465, (D7D3, bit 5) - const EVENT_BEAT_POWER_PLANT_VOLTORB_5 ; 466, (D7D3, bit 6) - const EVENT_BEAT_POWER_PLANT_VOLTORB_6 ; 467, (D7D3, bit 7) - const EVENT_BEAT_POWER_PLANT_VOLTORB_7 ; 468, (D7D4, bit 0) - const EVENT_BEAT_ZAPDOS ; 469, (D7D4, bit 1) - const EVENT_46A ; 46A, (D7D4, bit 2) - const EVENT_46B ; 46B, (D7D4, bit 3) - const EVENT_46C ; 46C, (D7D4, bit 4) - const EVENT_46D ; 46D, (D7D4, bit 5) - const EVENT_46E ; 46E, (D7D4, bit 6) - const EVENT_46F ; 46F, (D7D4, bit 7) - const EVENT_470 ; 470, (D7D5, bit 0) - const EVENT_BEAT_ROUTE_11_TRAINER_0 ; 471, (D7D5, bit 1) - const EVENT_BEAT_ROUTE_11_TRAINER_1 ; 472, (D7D5, bit 2) - const EVENT_BEAT_ROUTE_11_TRAINER_2 ; 473, (D7D5, bit 3) - const EVENT_BEAT_ROUTE_11_TRAINER_3 ; 474, (D7D5, bit 4) - const EVENT_BEAT_ROUTE_11_TRAINER_4 ; 475, (D7D5, bit 5) - const EVENT_BEAT_ROUTE_11_TRAINER_5 ; 476, (D7D5, bit 6) - const EVENT_BEAT_ROUTE_11_TRAINER_6 ; 477, (D7D5, bit 7) - const EVENT_BEAT_ROUTE_11_TRAINER_7 ; 478, (D7D6, bit 0) - const EVENT_BEAT_ROUTE_11_TRAINER_8 ; 479, (D7D6, bit 1) - const EVENT_BEAT_ROUTE_11_TRAINER_9 ; 47A, (D7D6, bit 2) - const EVENT_47B ; 47B, (D7D6, bit 3) - const EVENT_47C ; 47C, (D7D6, bit 4) - const EVENT_47D ; 47D, (D7D6, bit 5) - const EVENT_47E ; 47E, (D7D6, bit 6) - const EVENT_GOT_ITEMFINDER ; 47F, (D7D6, bit 7) - const EVENT_GOT_TM39 ; 480, (D7D7, bit 0) - const EVENT_481 ; 481, (D7D7, bit 1) - const EVENT_BEAT_ROUTE_12_TRAINER_0 ; 482, (D7D7, bit 2) - const EVENT_BEAT_ROUTE_12_TRAINER_1 ; 483, (D7D7, bit 3) - const EVENT_BEAT_ROUTE_12_TRAINER_2 ; 484, (D7D7, bit 4) - const EVENT_BEAT_ROUTE_12_TRAINER_3 ; 485, (D7D7, bit 5) - const EVENT_BEAT_ROUTE_12_TRAINER_4 ; 486, (D7D7, bit 6) - const EVENT_BEAT_ROUTE_12_TRAINER_5 ; 487, (D7D7, bit 7) - const EVENT_BEAT_ROUTE_12_TRAINER_6 ; 488, (D7D8, bit 0) - const EVENT_489 ; 489, (D7D8, bit 1) - const EVENT_48A ; 48A, (D7D8, bit 2) - const EVENT_48B ; 48B, (D7D8, bit 3) - const EVENT_48C ; 48C, (D7D8, bit 4) - const EVENT_48D ; 48D, (D7D8, bit 5) - const EVENT_FIGHT_ROUTE12_SNORLAX ; 48E, (D7D8, bit 6) - const EVENT_BEAT_ROUTE12_SNORLAX ; 48F, (D7D8, bit 7) - const EVENT_490 ; 490, (D7D9, bit 0) - const EVENT_BEAT_ROUTE_13_TRAINER_0 ; 491, (D7D9, bit 1) - const EVENT_BEAT_ROUTE_13_TRAINER_1 ; 492, (D7D9, bit 2) - const EVENT_BEAT_ROUTE_13_TRAINER_2 ; 493, (D7D9, bit 3) - const EVENT_BEAT_ROUTE_13_TRAINER_3 ; 494, (D7D9, bit 4) - const EVENT_BEAT_ROUTE_13_TRAINER_4 ; 495, (D7D9, bit 5) - const EVENT_BEAT_ROUTE_13_TRAINER_5 ; 496, (D7D9, bit 6) - const EVENT_BEAT_ROUTE_13_TRAINER_6 ; 497, (D7D9, bit 7) - const EVENT_BEAT_ROUTE_13_TRAINER_7 ; 498, (D7DA, bit 0) - const EVENT_BEAT_ROUTE_13_TRAINER_8 ; 499, (D7DA, bit 1) - const EVENT_BEAT_ROUTE_13_TRAINER_9 ; 49A, (D7DA, bit 2) - const EVENT_49B ; 49B, (D7DA, bit 3) - const EVENT_49C ; 49C, (D7DA, bit 4) - const EVENT_49D ; 49D, (D7DA, bit 5) - const EVENT_49E ; 49E, (D7DA, bit 6) - const EVENT_49F ; 49F, (D7DA, bit 7) - const EVENT_4A0 ; 4A0, (D7DB, bit 0) - const EVENT_BEAT_ROUTE_14_TRAINER_0 ; 4A1, (D7DB, bit 1) - const EVENT_BEAT_ROUTE_14_TRAINER_1 ; 4A2, (D7DB, bit 2) - const EVENT_BEAT_ROUTE_14_TRAINER_2 ; 4A3, (D7DB, bit 3) - const EVENT_BEAT_ROUTE_14_TRAINER_3 ; 4A4, (D7DB, bit 4) - const EVENT_BEAT_ROUTE_14_TRAINER_4 ; 4A5, (D7DB, bit 5) - const EVENT_BEAT_ROUTE_14_TRAINER_5 ; 4A6, (D7DB, bit 6) - const EVENT_BEAT_ROUTE_14_TRAINER_6 ; 4A7, (D7DB, bit 7) - const EVENT_BEAT_ROUTE_14_TRAINER_7 ; 4A8, (D7DC, bit 0) - const EVENT_BEAT_ROUTE_14_TRAINER_8 ; 4A9, (D7DC, bit 1) - const EVENT_BEAT_ROUTE_14_TRAINER_9 ; 4AA, (D7DC, bit 2) - const EVENT_4AB ; 4AB, (D7DC, bit 3) - const EVENT_4AC ; 4AC, (D7DC, bit 4) - const EVENT_4AD ; 4AD, (D7DC, bit 5) - const EVENT_4AE ; 4AE, (D7DC, bit 6) - const EVENT_4AF ; 4AF, (D7DC, bit 7) - const EVENT_GOT_EXP_ALL ; 4B0, (D7DD, bit 0) - const EVENT_BEAT_ROUTE_15_TRAINER_0 ; 4B1, (D7DD, bit 1) - const EVENT_BEAT_ROUTE_15_TRAINER_1 ; 4B2, (D7DD, bit 2) - const EVENT_BEAT_ROUTE_15_TRAINER_2 ; 4B3, (D7DD, bit 3) - const EVENT_BEAT_ROUTE_15_TRAINER_3 ; 4B4, (D7DD, bit 4) - const EVENT_BEAT_ROUTE_15_TRAINER_4 ; 4B5, (D7DD, bit 5) - const EVENT_BEAT_ROUTE_15_TRAINER_5 ; 4B6, (D7DD, bit 6) - const EVENT_BEAT_ROUTE_15_TRAINER_6 ; 4B7, (D7DD, bit 7) - const EVENT_BEAT_ROUTE_15_TRAINER_7 ; 4B8, (D7DE, bit 0) - const EVENT_BEAT_ROUTE_15_TRAINER_8 ; 4B9, (D7DE, bit 1) - const EVENT_BEAT_ROUTE_15_TRAINER_9 ; 4BA, (D7DE, bit 2) - const EVENT_4BB ; 4BB, (D7DE, bit 3) - const EVENT_4BC ; 4BC, (D7DE, bit 4) - const EVENT_4BD ; 4BD, (D7DE, bit 5) - const EVENT_4BE ; 4BE, (D7DE, bit 6) - const EVENT_4BF ; 4BF, (D7DE, bit 7) - const EVENT_4C0 ; 4C0, (D7DF, bit 0) - const EVENT_BEAT_ROUTE_16_TRAINER_0 ; 4C1, (D7DF, bit 1) - const EVENT_BEAT_ROUTE_16_TRAINER_1 ; 4C2, (D7DF, bit 2) - const EVENT_BEAT_ROUTE_16_TRAINER_2 ; 4C3, (D7DF, bit 3) - const EVENT_BEAT_ROUTE_16_TRAINER_3 ; 4C4, (D7DF, bit 4) - const EVENT_BEAT_ROUTE_16_TRAINER_4 ; 4C5, (D7DF, bit 5) - const EVENT_BEAT_ROUTE_16_TRAINER_5 ; 4C6, (D7DF, bit 6) - const EVENT_4C7 ; 4C7, (D7DF, bit 7) - const EVENT_FIGHT_ROUTE16_SNORLAX ; 4C8, (D7E0, bit 0) - const EVENT_BEAT_ROUTE16_SNORLAX ; 4C9, (D7E0, bit 1) - const EVENT_4CA ; 4CA, (D7E0, bit 2) - const EVENT_4CB ; 4CB, (D7E0, bit 3) - const EVENT_4CC ; 4CC, (D7E0, bit 4) - const EVENT_4CD ; 4CD, (D7E0, bit 5) - const EVENT_GOT_HM02 ; 4CE, (D7E0, bit 6) - const EVENT_RESCUED_MR_FUJI ; 4CF, (D7E0, bit 7) - const EVENT_4D0 ; 4D0, (D7E1, bit 0) - const EVENT_BEAT_ROUTE_17_TRAINER_0 ; 4D1, (D7E1, bit 1) - const EVENT_BEAT_ROUTE_17_TRAINER_1 ; 4D2, (D7E1, bit 2) - const EVENT_BEAT_ROUTE_17_TRAINER_2 ; 4D3, (D7E1, bit 3) - const EVENT_BEAT_ROUTE_17_TRAINER_3 ; 4D4, (D7E1, bit 4) - const EVENT_BEAT_ROUTE_17_TRAINER_4 ; 4D5, (D7E1, bit 5) - const EVENT_BEAT_ROUTE_17_TRAINER_5 ; 4D6, (D7E1, bit 6) - const EVENT_BEAT_ROUTE_17_TRAINER_6 ; 4D7, (D7E1, bit 7) - const EVENT_BEAT_ROUTE_17_TRAINER_7 ; 4D8, (D7E2, bit 0) - const EVENT_BEAT_ROUTE_17_TRAINER_8 ; 4D9, (D7E2, bit 1) - const EVENT_BEAT_ROUTE_17_TRAINER_9 ; 4DA, (D7E2, bit 2) - const EVENT_4DB ; 4DB, (D7E2, bit 3) - const EVENT_4DC ; 4DC, (D7E2, bit 4) - const EVENT_4DD ; 4DD, (D7E2, bit 5) - const EVENT_4DE ; 4DE, (D7E2, bit 6) - const EVENT_4DF ; 4DF, (D7E2, bit 7) - const EVENT_4E0 ; 4E0, (D7E3, bit 0) - const EVENT_BEAT_ROUTE_18_TRAINER_0 ; 4E1, (D7E3, bit 1) - const EVENT_BEAT_ROUTE_18_TRAINER_1 ; 4E2, (D7E3, bit 2) - const EVENT_BEAT_ROUTE_18_TRAINER_2 ; 4E3, (D7E3, bit 3) - const EVENT_4E4 ; 4E4, (D7E3, bit 4) - const EVENT_4E5 ; 4E5, (D7E3, bit 5) - const EVENT_4E6 ; 4E6, (D7E3, bit 6) - const EVENT_4E7 ; 4E7, (D7E3, bit 7) - const EVENT_4E8 ; 4E8, (D7E4, bit 0) - const EVENT_4E9 ; 4E9, (D7E4, bit 1) - const EVENT_4EA ; 4EA, (D7E4, bit 2) - const EVENT_4EB ; 4EB, (D7E4, bit 3) - const EVENT_4EC ; 4EC, (D7E4, bit 4) - const EVENT_4ED ; 4ED, (D7E4, bit 5) - const EVENT_4EE ; 4EE, (D7E4, bit 6) - const EVENT_4EF ; 4EF, (D7E4, bit 7) - const EVENT_4F0 ; 4F0, (D7E5, bit 0) - const EVENT_BEAT_ROUTE_19_TRAINER_0 ; 4F1, (D7E5, bit 1) - const EVENT_BEAT_ROUTE_19_TRAINER_1 ; 4F2, (D7E5, bit 2) - const EVENT_BEAT_ROUTE_19_TRAINER_2 ; 4F3, (D7E5, bit 3) - const EVENT_BEAT_ROUTE_19_TRAINER_3 ; 4F4, (D7E5, bit 4) - const EVENT_BEAT_ROUTE_19_TRAINER_4 ; 4F5, (D7E5, bit 5) - const EVENT_BEAT_ROUTE_19_TRAINER_5 ; 4F6, (D7E5, bit 6) - const EVENT_BEAT_ROUTE_19_TRAINER_6 ; 4F7, (D7E5, bit 7) - const EVENT_BEAT_ROUTE_19_TRAINER_7 ; 4F8, (D7E6, bit 0) - const EVENT_BEAT_ROUTE_19_TRAINER_8 ; 4F9, (D7E6, bit 1) - const EVENT_BEAT_ROUTE_19_TRAINER_9 ; 4FA, (D7E6, bit 2) - const EVENT_4FB ; 4FB, (D7E6, bit 3) - const EVENT_4FC ; 4FC, (D7E6, bit 4) - const EVENT_4FD ; 4FD, (D7E6, bit 5) - const EVENT_4FE ; 4FE, (D7E6, bit 6) - const EVENT_4FF ; 4FF, (D7E6, bit 7) - const EVENT_IN_SEAFOAM_ISLANDS ; 500, (D7E7, bit 0) - const EVENT_BEAT_ROUTE_20_TRAINER_0 ; 501, (D7E7, bit 1) - const EVENT_BEAT_ROUTE_20_TRAINER_1 ; 502, (D7E7, bit 2) - const EVENT_BEAT_ROUTE_20_TRAINER_2 ; 503, (D7E7, bit 3) - const EVENT_BEAT_ROUTE_20_TRAINER_3 ; 504, (D7E7, bit 4) - const EVENT_BEAT_ROUTE_20_TRAINER_4 ; 505, (D7E7, bit 5) - const EVENT_BEAT_ROUTE_20_TRAINER_5 ; 506, (D7E7, bit 6) - const EVENT_BEAT_ROUTE_20_TRAINER_6 ; 507, (D7E7, bit 7) - const EVENT_BEAT_ROUTE_20_TRAINER_7 ; 508, (D7E8, bit 0) - const EVENT_BEAT_ROUTE_20_TRAINER_8 ; 509, (D7E8, bit 1) - const EVENT_BEAT_ROUTE_20_TRAINER_9 ; 50A, (D7E8, bit 2) - const EVENT_50B ; 50B, (D7E8, bit 3) - const EVENT_50C ; 50C, (D7E8, bit 4) - const EVENT_50D ; 50D, (D7E8, bit 5) - const EVENT_SEAFOAM1_BOULDER1_DOWN_HOLE ; 50E, (D7E8, bit 6) - const EVENT_SEAFOAM1_BOULDER2_DOWN_HOLE ; 50F, (D7E8, bit 7) - const EVENT_510 ; 510, (D7E9, bit 0) - const EVENT_BEAT_ROUTE_21_TRAINER_0 ; 511, (D7E9, bit 1) - const EVENT_BEAT_ROUTE_21_TRAINER_1 ; 512, (D7E9, bit 2) - const EVENT_BEAT_ROUTE_21_TRAINER_2 ; 513, (D7E9, bit 3) - const EVENT_BEAT_ROUTE_21_TRAINER_3 ; 514, (D7E9, bit 4) - const EVENT_BEAT_ROUTE_21_TRAINER_4 ; 515, (D7E9, bit 5) - const EVENT_BEAT_ROUTE_21_TRAINER_5 ; 516, (D7E9, bit 6) - const EVENT_BEAT_ROUTE_21_TRAINER_6 ; 517, (D7E9, bit 7) - const EVENT_BEAT_ROUTE_21_TRAINER_7 ; 518, (D7EA, bit 0) - const EVENT_BEAT_ROUTE_21_TRAINER_8 ; 519, (D7EA, bit 1) - const EVENT_51A ; 51A, (D7EA, bit 2) - const EVENT_51B ; 51B, (D7EA, bit 3) - const EVENT_51C ; 51C, (D7EA, bit 4) - const EVENT_51D ; 51D, (D7EA, bit 5) - const EVENT_51E ; 51E, (D7EA, bit 6) - const EVENT_51F ; 51F, (D7EA, bit 7) - const EVENT_1ST_ROUTE22_RIVAL_BATTLE ; 520, (D7EB, bit 0) - const EVENT_2ND_ROUTE22_RIVAL_BATTLE ; 521, (D7EB, bit 1) - const EVENT_522 ; 522, (D7EB, bit 2) - const EVENT_523 ; 523, (D7EB, bit 3) - const EVENT_524 ; 524, (D7EB, bit 4) - const EVENT_BEAT_ROUTE22_RIVAL_1ST_BATTLE ; 525, (D7EB, bit 5) - const EVENT_BEAT_ROUTE22_RIVAL_2ND_BATTLE ; 526, (D7EB, bit 6) - const EVENT_ROUTE22_RIVAL_WANTS_BATTLE ; 527, (D7EB, bit 7) - const EVENT_528 ; 528, (D7EC, bit 0) - const EVENT_529 ; 529, (D7EC, bit 1) - const EVENT_52A ; 52A, (D7EC, bit 2) - const EVENT_52B ; 52B, (D7EC, bit 3) - const EVENT_52C ; 52C, (D7EC, bit 4) - const EVENT_52D ; 52D, (D7EC, bit 5) - const EVENT_52E ; 52E, (D7EC, bit 6) - const EVENT_52F ; 52F, (D7EC, bit 7) - const EVENT_PASSED_CASCADEBADGE_CHECK ; 530, (D7ED, bit 0) - const EVENT_PASSED_THUNDERBADGE_CHECK ; 531, (D7ED, bit 1) - const EVENT_PASSED_RAINBOWBADGE_CHECK ; 532, (D7ED, bit 2) - const EVENT_PASSED_SOULBADGE_CHECK ; 533, (D7ED, bit 3) - const EVENT_PASSED_MARSHBADGE_CHECK ; 534, (D7ED, bit 4) - const EVENT_PASSED_VOLCANOBADGE_CHECK ; 535, (D7ED, bit 5) - const EVENT_PASSED_EARTHBADGE_CHECK ; 536, (D7ED, bit 6) - const EVENT_537 ; 537, (D7ED, bit 7) - const EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1 ; 538, (D7EE, bit 0) - const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_0 ; 539, (D7EE, bit 1) - const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_1 ; 53A, (D7EE, bit 2) - const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_2 ; 53B, (D7EE, bit 3) - const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_3 ; 53C, (D7EE, bit 4) - const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_4 ; 53D, (D7EE, bit 5) - const EVENT_BEAT_MOLTRES ; 53E, (D7EE, bit 6) - const EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH2 ; 53F, (D7EE, bit 7) - const EVENT_GOT_NUGGET ; 540, (D7EF, bit 0) - const EVENT_BEAT_ROUTE24_ROCKET ; 541, (D7EF, bit 1) - const EVENT_BEAT_ROUTE_24_TRAINER_0 ; 542, (D7EF, bit 2) - const EVENT_BEAT_ROUTE_24_TRAINER_1 ; 543, (D7EF, bit 3) - const EVENT_BEAT_ROUTE_24_TRAINER_2 ; 544, (D7EF, bit 4) - const EVENT_BEAT_ROUTE_24_TRAINER_3 ; 545, (D7EF, bit 5) - const EVENT_BEAT_ROUTE_24_TRAINER_4 ; 546, (D7EF, bit 6) - const EVENT_BEAT_ROUTE_24_TRAINER_5 ; 547, (D7EF, bit 7) - const EVENT_548 ; 548, (D7F0, bit 0) - const EVENT_NUGGET_REWARD_AVAILABLE ; 549, (D7F0, bit 1) - const EVENT_54A ; 54A, (D7F0, bit 2) - const EVENT_54B ; 54B, (D7F0, bit 3) - const EVENT_54C ; 54C, (D7F0, bit 4) - const EVENT_54D ; 54D, (D7F0, bit 5) - const EVENT_54E ; 54E, (D7F0, bit 6) - const EVENT_54F ; 54F, (D7F0, bit 7) - const EVENT_MET_BILL ; 550, (D7F1, bit 0) - const EVENT_BEAT_ROUTE_25_TRAINER_0 ; 551, (D7F1, bit 1) - const EVENT_BEAT_ROUTE_25_TRAINER_1 ; 552, (D7F1, bit 2) - const EVENT_BEAT_ROUTE_25_TRAINER_2 ; 553, (D7F1, bit 3) - const EVENT_BEAT_ROUTE_25_TRAINER_3 ; 554, (D7F1, bit 4) - const EVENT_BEAT_ROUTE_25_TRAINER_4 ; 555, (D7F1, bit 5) - const EVENT_BEAT_ROUTE_25_TRAINER_5 ; 556, (D7F1, bit 6) - const EVENT_BEAT_ROUTE_25_TRAINER_6 ; 557, (D7F1, bit 7) - const EVENT_BEAT_ROUTE_25_TRAINER_7 ; 558, (D7F2, bit 0) - const EVENT_BEAT_ROUTE_25_TRAINER_8 ; 559, (D7F2, bit 1) - const EVENT_55A ; 55A, (D7F2, bit 2) - const EVENT_USED_CELL_SEPARATOR_ON_BILL ; 55B, (D7F2, bit 3) - const EVENT_GOT_SS_TICKET ; 55C, (D7F2, bit 4) - const EVENT_MET_BILL_2 ; 55D, (D7F2, bit 5) - const EVENT_BILL_SAID_USE_CELL_SEPARATOR ; 55E, (D7F2, bit 6) - const EVENT_LEFT_BILLS_HOUSE_AFTER_HELPING ; 55F, (D7F2, bit 7) - const EVENT_560 ; 560, (D7F3, bit 0) - const EVENT_561 ; 561, (D7F3, bit 1) - const EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_0 ; 562, (D7F3, bit 2) - const EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_1 ; 563, (D7F3, bit 3) - const EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_2 ; 564, (D7F3, bit 4) - const EVENT_565 ; 565, (D7F3, bit 5) - const EVENT_566 ; 566, (D7F3, bit 6) - const EVENT_567 ; 567, (D7F3, bit 7) - const EVENT_568 ; 568, (D7F4, bit 0) - const EVENT_569 ; 569, (D7F4, bit 1) - const EVENT_56A ; 56A, (D7F4, bit 2) - const EVENT_56B ; 56B, (D7F4, bit 3) - const EVENT_56C ; 56C, (D7F4, bit 4) - const EVENT_56D ; 56D, (D7F4, bit 5) - const EVENT_56E ; 56E, (D7F4, bit 6) - const EVENT_56F ; 56F, (D7F4, bit 7) - const EVENT_570 ; 570, (D7F5, bit 0) - const EVENT_BEAT_MT_MOON_1_TRAINER_0 ; 571, (D7F5, bit 1) - const EVENT_BEAT_MT_MOON_1_TRAINER_1 ; 572, (D7F5, bit 2) - const EVENT_BEAT_MT_MOON_1_TRAINER_2 ; 573, (D7F5, bit 3) - const EVENT_BEAT_MT_MOON_1_TRAINER_3 ; 574, (D7F5, bit 4) - const EVENT_BEAT_MT_MOON_1_TRAINER_4 ; 575, (D7F5, bit 5) - const EVENT_BEAT_MT_MOON_1_TRAINER_5 ; 576, (D7F5, bit 6) - const EVENT_BEAT_MT_MOON_1_TRAINER_6 ; 577, (D7F5, bit 7) - const EVENT_578 ; 578, (D7F6, bit 0) - const EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD ; 579, (D7F6, bit 1) - const EVENT_BEAT_MT_MOON_3_TRAINER_0 ; 57A, (D7F6, bit 2) - const EVENT_BEAT_MT_MOON_3_TRAINER_1 ; 57B, (D7F6, bit 3) - const EVENT_BEAT_MT_MOON_3_TRAINER_2 ; 57C, (D7F6, bit 4) - const EVENT_BEAT_MT_MOON_3_TRAINER_3 ; 57D, (D7F6, bit 5) - const EVENT_GOT_DOME_FOSSIL ; 57E, (D7F6, bit 6) - const EVENT_GOT_HELIX_FOSSIL ; 57F, (D7F6, bit 7) - const EVENT_580 ; 580, (D7F7, bit 0) - const EVENT_581 ; 581, (D7F7, bit 1) - const EVENT_582 ; 582, (D7F7, bit 2) - const EVENT_583 ; 583, (D7F7, bit 3) - const EVENT_584 ; 584, (D7F7, bit 4) - const EVENT_585 ; 585, (D7F7, bit 5) - const EVENT_586 ; 586, (D7F7, bit 6) - const EVENT_587 ; 587, (D7F7, bit 7) - const EVENT_588 ; 588, (D7F8, bit 0) - const EVENT_589 ; 589, (D7F8, bit 1) - const EVENT_58A ; 58A, (D7F8, bit 2) - const EVENT_58B ; 58B, (D7F8, bit 3) - const EVENT_58C ; 58C, (D7F8, bit 4) - const EVENT_58D ; 58D, (D7F8, bit 5) - const EVENT_58E ; 58E, (D7F8, bit 6) - const EVENT_58F ; 58F, (D7F8, bit 7) - const EVENT_590 ; 590, (D7F9, bit 0) - const EVENT_591 ; 591, (D7F9, bit 1) - const EVENT_592 ; 592, (D7F9, bit 2) - const EVENT_593 ; 593, (D7F9, bit 3) - const EVENT_594 ; 594, (D7F9, bit 4) - const EVENT_595 ; 595, (D7F9, bit 5) - const EVENT_596 ; 596, (D7F9, bit 6) - const EVENT_597 ; 597, (D7F9, bit 7) - const EVENT_598 ; 598, (D7FA, bit 0) - const EVENT_599 ; 599, (D7FA, bit 1) - const EVENT_59A ; 59A, (D7FA, bit 2) - const EVENT_59B ; 59B, (D7FA, bit 3) - const EVENT_59C ; 59C, (D7FA, bit 4) - const EVENT_59D ; 59D, (D7FA, bit 5) - const EVENT_59E ; 59E, (D7FA, bit 6) - const EVENT_59F ; 59F, (D7FA, bit 7) - const EVENT_5A0 ; 5A0, (D7FB, bit 0) - const EVENT_5A1 ; 5A1, (D7FB, bit 1) - const EVENT_5A2 ; 5A2, (D7FB, bit 2) - const EVENT_5A3 ; 5A3, (D7FB, bit 3) - const EVENT_5A4 ; 5A4, (D7FB, bit 4) - const EVENT_5A5 ; 5A5, (D7FB, bit 5) - const EVENT_5A6 ; 5A6, (D7FB, bit 6) - const EVENT_5A7 ; 5A7, (D7FB, bit 7) - const EVENT_5A8 ; 5A8, (D7FC, bit 0) - const EVENT_5A9 ; 5A9, (D7FC, bit 1) - const EVENT_5AA ; 5AA, (D7FC, bit 2) - const EVENT_5AB ; 5AB, (D7FC, bit 3) - const EVENT_5AC ; 5AC, (D7FC, bit 4) - const EVENT_5AD ; 5AD, (D7FC, bit 5) - const EVENT_5AE ; 5AE, (D7FC, bit 6) - const EVENT_5AF ; 5AF, (D7FC, bit 7) - const EVENT_5B0 ; 5B0, (D7FD, bit 0) - const EVENT_5B1 ; 5B1, (D7FD, bit 1) - const EVENT_5B2 ; 5B2, (D7FD, bit 2) - const EVENT_5B3 ; 5B3, (D7FD, bit 3) - const EVENT_5B4 ; 5B4, (D7FD, bit 4) - const EVENT_5B5 ; 5B5, (D7FD, bit 5) - const EVENT_5B6 ; 5B6, (D7FD, bit 6) - const EVENT_5B7 ; 5B7, (D7FD, bit 7) - const EVENT_5B8 ; 5B8, (D7FE, bit 0) - const EVENT_5B9 ; 5B9, (D7FE, bit 1) - const EVENT_5BA ; 5BA, (D7FE, bit 2) - const EVENT_5BB ; 5BB, (D7FE, bit 3) - const EVENT_5BC ; 5BC, (D7FE, bit 4) - const EVENT_5BD ; 5BD, (D7FE, bit 5) - const EVENT_5BE ; 5BE, (D7FE, bit 6) - const EVENT_5BF ; 5BF, (D7FE, bit 7) - const EVENT_5C0 ; 5C0, (D7FF, bit 0) - const EVENT_5C1 ; 5C1, (D7FF, bit 1) - const EVENT_5C2 ; 5C2, (D7FF, bit 2) - const EVENT_5C3 ; 5C3, (D7FF, bit 3) - const EVENT_BEAT_SS_ANNE_5_TRAINER_0 ; 5C4, (D7FF, bit 4) - const EVENT_BEAT_SS_ANNE_5_TRAINER_1 ; 5C5, (D7FF, bit 5) - const EVENT_5C6 ; 5C6, (D7FF, bit 6) - const EVENT_5C7 ; 5C7, (D7FF, bit 7) - const EVENT_5C8 ; 5C8, (D800, bit 0) - const EVENT_5C9 ; 5C9, (D800, bit 1) - const EVENT_5CA ; 5CA, (D800, bit 2) - const EVENT_5CB ; 5CB, (D800, bit 3) - const EVENT_5CC ; 5CC, (D800, bit 4) - const EVENT_5CD ; 5CD, (D800, bit 5) - const EVENT_5CE ; 5CE, (D800, bit 6) - const EVENT_5CF ; 5CF, (D800, bit 7) - const EVENT_5D0 ; 5D0, (D801, bit 0) - const EVENT_5D1 ; 5D1, (D801, bit 1) - const EVENT_5D2 ; 5D2, (D801, bit 2) - const EVENT_5D3 ; 5D3, (D801, bit 3) - const EVENT_5D4 ; 5D4, (D801, bit 4) - const EVENT_5D5 ; 5D5, (D801, bit 5) - const EVENT_5D6 ; 5D6, (D801, bit 6) - const EVENT_5D7 ; 5D7, (D801, bit 7) - const EVENT_5D8 ; 5D8, (D802, bit 0) - const EVENT_5D9 ; 5D9, (D802, bit 1) - const EVENT_5DA ; 5DA, (D802, bit 2) - const EVENT_5DB ; 5DB, (D802, bit 3) - const EVENT_5DC ; 5DC, (D802, bit 4) - const EVENT_5DD ; 5DD, (D802, bit 5) - const EVENT_5DE ; 5DE, (D802, bit 6) - const EVENT_5DF ; 5DF, (D802, bit 7) - const EVENT_GOT_HM01 ; 5E0, (D803, bit 0) - const EVENT_RUBBED_CAPTAINS_BACK ; 5E1, (D803, bit 1) - const EVENT_SS_ANNE_LEFT ; 5E2, (D803, bit 2) - const EVENT_WALKED_PAST_GUARD_AFTER_SS_ANNE_LEFT ; 5E3, (D803, bit 3) - const EVENT_STARTED_WALKING_OUT_OF_DOCK ; 5E4, (D803, bit 4) - const EVENT_WALKED_OUT_OF_DOCK ; 5E5, (D803, bit 5) - const EVENT_5E6 ; 5E6, (D803, bit 6) - const EVENT_5E7 ; 5E7, (D803, bit 7) - const EVENT_5E8 ; 5E8, (D804, bit 0) - const EVENT_5E9 ; 5E9, (D804, bit 1) - const EVENT_5EA ; 5EA, (D804, bit 2) - const EVENT_5EB ; 5EB, (D804, bit 3) - const EVENT_5EC ; 5EC, (D804, bit 4) - const EVENT_5ED ; 5ED, (D804, bit 5) - const EVENT_5EE ; 5EE, (D804, bit 6) - const EVENT_5EF ; 5EF, (D804, bit 7) - const EVENT_5F0 ; 5F0, (D805, bit 0) - const EVENT_BEAT_SS_ANNE_8_TRAINER_0 ; 5F1, (D805, bit 1) - const EVENT_BEAT_SS_ANNE_8_TRAINER_1 ; 5F2, (D805, bit 2) - const EVENT_BEAT_SS_ANNE_8_TRAINER_2 ; 5F3, (D805, bit 3) - const EVENT_BEAT_SS_ANNE_8_TRAINER_3 ; 5F4, (D805, bit 4) - const EVENT_5F5 ; 5F5, (D805, bit 5) - const EVENT_5F6 ; 5F6, (D805, bit 6) - const EVENT_5F7 ; 5F7, (D805, bit 7) - const EVENT_5F8 ; 5F8, (D806, bit 0) - const EVENT_5F9 ; 5F9, (D806, bit 1) - const EVENT_5FA ; 5FA, (D806, bit 2) - const EVENT_5FB ; 5FB, (D806, bit 3) - const EVENT_5FC ; 5FC, (D806, bit 4) - const EVENT_5FD ; 5FD, (D806, bit 5) - const EVENT_5FE ; 5FE, (D806, bit 6) - const EVENT_5FF ; 5FF, (D806, bit 7) - const EVENT_600 ; 600, (D807, bit 0) - const EVENT_BEAT_SS_ANNE_9_TRAINER_0 ; 601, (D807, bit 1) - const EVENT_BEAT_SS_ANNE_9_TRAINER_1 ; 602, (D807, bit 2) - const EVENT_BEAT_SS_ANNE_9_TRAINER_2 ; 603, (D807, bit 3) - const EVENT_BEAT_SS_ANNE_9_TRAINER_3 ; 604, (D807, bit 4) - const EVENT_605 ; 605, (D807, bit 5) - const EVENT_606 ; 606, (D807, bit 6) - const EVENT_607 ; 607, (D807, bit 7) - const EVENT_608 ; 608, (D808, bit 0) - const EVENT_609 ; 609, (D808, bit 1) - const EVENT_60A ; 60A, (D808, bit 2) - const EVENT_60B ; 60B, (D808, bit 3) - const EVENT_60C ; 60C, (D808, bit 4) - const EVENT_60D ; 60D, (D808, bit 5) - const EVENT_60E ; 60E, (D808, bit 6) - const EVENT_60F ; 60F, (D808, bit 7) - const EVENT_610 ; 610, (D809, bit 0) - const EVENT_BEAT_SS_ANNE_10_TRAINER_0 ; 611, (D809, bit 1) - const EVENT_BEAT_SS_ANNE_10_TRAINER_1 ; 612, (D809, bit 2) - const EVENT_BEAT_SS_ANNE_10_TRAINER_2 ; 613, (D809, bit 3) - const EVENT_BEAT_SS_ANNE_10_TRAINER_3 ; 614, (D809, bit 4) - const EVENT_BEAT_SS_ANNE_10_TRAINER_4 ; 615, (D809, bit 5) - const EVENT_BEAT_SS_ANNE_10_TRAINER_5 ; 616, (D809, bit 6) - const EVENT_617 ; 617, (D809, bit 7) - const EVENT_618 ; 618, (D80A, bit 0) - const EVENT_619 ; 619, (D80A, bit 1) - const EVENT_61A ; 61A, (D80A, bit 2) - const EVENT_61B ; 61B, (D80A, bit 3) - const EVENT_61C ; 61C, (D80A, bit 4) - const EVENT_61D ; 61D, (D80A, bit 5) - const EVENT_61E ; 61E, (D80A, bit 6) - const EVENT_61F ; 61F, (D80A, bit 7) - const EVENT_620 ; 620, (D80B, bit 0) - const EVENT_621 ; 621, (D80B, bit 1) - const EVENT_622 ; 622, (D80B, bit 2) - const EVENT_623 ; 623, (D80B, bit 3) - const EVENT_624 ; 624, (D80B, bit 4) - const EVENT_625 ; 625, (D80B, bit 5) - const EVENT_626 ; 626, (D80B, bit 6) - const EVENT_627 ; 627, (D80B, bit 7) - const EVENT_628 ; 628, (D80C, bit 0) - const EVENT_629 ; 629, (D80C, bit 1) - const EVENT_62A ; 62A, (D80C, bit 2) - const EVENT_62B ; 62B, (D80C, bit 3) - const EVENT_62C ; 62C, (D80C, bit 4) - const EVENT_62D ; 62D, (D80C, bit 5) - const EVENT_62E ; 62E, (D80C, bit 6) - const EVENT_62F ; 62F, (D80C, bit 7) - const EVENT_630 ; 630, (D80D, bit 0) - const EVENT_631 ; 631, (D80D, bit 1) - const EVENT_632 ; 632, (D80D, bit 2) - const EVENT_633 ; 633, (D80D, bit 3) - const EVENT_634 ; 634, (D80D, bit 4) - const EVENT_635 ; 635, (D80D, bit 5) - const EVENT_636 ; 636, (D80D, bit 6) - const EVENT_637 ; 637, (D80D, bit 7) - const EVENT_638 ; 638, (D80E, bit 0) - const EVENT_639 ; 639, (D80E, bit 1) - const EVENT_63A ; 63A, (D80E, bit 2) - const EVENT_63B ; 63B, (D80E, bit 3) - const EVENT_63C ; 63C, (D80E, bit 4) - const EVENT_63D ; 63D, (D80E, bit 5) - const EVENT_63E ; 63E, (D80E, bit 6) - const EVENT_63F ; 63F, (D80E, bit 7) - const EVENT_640 ; 640, (D80F, bit 0) - const EVENT_641 ; 641, (D80F, bit 1) - const EVENT_642 ; 642, (D80F, bit 2) - const EVENT_643 ; 643, (D80F, bit 3) - const EVENT_644 ; 644, (D80F, bit 4) - const EVENT_645 ; 645, (D80F, bit 5) - const EVENT_646 ; 646, (D80F, bit 6) - const EVENT_647 ; 647, (D80F, bit 7) - const EVENT_648 ; 648, (D810, bit 0) - const EVENT_649 ; 649, (D810, bit 1) - const EVENT_64A ; 64A, (D810, bit 2) - const EVENT_64B ; 64B, (D810, bit 3) - const EVENT_64C ; 64C, (D810, bit 4) - const EVENT_64D ; 64D, (D810, bit 5) - const EVENT_64E ; 64E, (D810, bit 6) - const EVENT_64F ; 64F, (D810, bit 7) - const EVENT_650 ; 650, (D811, bit 0) - const EVENT_651 ; 651, (D811, bit 1) - const EVENT_652 ; 652, (D811, bit 2) - const EVENT_653 ; 653, (D811, bit 3) - const EVENT_654 ; 654, (D811, bit 4) - const EVENT_655 ; 655, (D811, bit 5) - const EVENT_656 ; 656, (D811, bit 6) - const EVENT_657 ; 657, (D811, bit 7) - const EVENT_658 ; 658, (D812, bit 0) - const EVENT_659 ; 659, (D812, bit 1) - const EVENT_65A ; 65A, (D812, bit 2) - const EVENT_65B ; 65B, (D812, bit 3) - const EVENT_65C ; 65C, (D812, bit 4) - const EVENT_65D ; 65D, (D812, bit 5) - const EVENT_65E ; 65E, (D812, bit 6) - const EVENT_65F ; 65F, (D812, bit 7) - const EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH1 ; 660, (D813, bit 0) - const EVENT_BEAT_VICTORY_ROAD_3_TRAINER_0 ; 661, (D813, bit 1) - const EVENT_BEAT_VICTORY_ROAD_3_TRAINER_1 ; 662, (D813, bit 2) - const EVENT_BEAT_VICTORY_ROAD_3_TRAINER_2 ; 663, (D813, bit 3) - const EVENT_BEAT_VICTORY_ROAD_3_TRAINER_3 ; 664, (D813, bit 4) - const EVENT_665 ; 665, (D813, bit 5) - const EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH2 ; 666, (D813, bit 6) - const EVENT_667 ; 667, (D813, bit 7) - const EVENT_668 ; 668, (D814, bit 0) - const EVENT_669 ; 669, (D814, bit 1) - const EVENT_66A ; 66A, (D814, bit 2) - const EVENT_66B ; 66B, (D814, bit 3) - const EVENT_66C ; 66C, (D814, bit 4) - const EVENT_66D ; 66D, (D814, bit 5) - const EVENT_66E ; 66E, (D814, bit 6) - const EVENT_66F ; 66F, (D814, bit 7) - const EVENT_670 ; 670, (D815, bit 0) - const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_0 ; 671, (D815, bit 1) - const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_1 ; 672, (D815, bit 2) - const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_2 ; 673, (D815, bit 3) - const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_3 ; 674, (D815, bit 4) - const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4 ; 675, (D815, bit 5) - const EVENT_676 ; 676, (D815, bit 6) - const EVENT_677 ; 677, (D815, bit 7) - const EVENT_678 ; 678, (D816, bit 0) - const EVENT_679 ; 679, (D816, bit 1) - const EVENT_67A ; 67A, (D816, bit 2) - const EVENT_67B ; 67B, (D816, bit 3) - const EVENT_67C ; 67C, (D816, bit 4) - const EVENT_67D ; 67D, (D816, bit 5) - const EVENT_67E ; 67E, (D816, bit 6) - const EVENT_67F ; 67F, (D816, bit 7) - const EVENT_680 ; 680, (D817, bit 0) - const EVENT_BEAT_ROCKET_HIDEOUT_2_TRAINER_0 ; 681, (D817, bit 1) - const EVENT_682 ; 682, (D817, bit 2) - const EVENT_683 ; 683, (D817, bit 3) - const EVENT_684 ; 684, (D817, bit 4) - const EVENT_685 ; 685, (D817, bit 5) - const EVENT_686 ; 686, (D817, bit 6) - const EVENT_687 ; 687, (D817, bit 7) - const EVENT_688 ; 688, (D818, bit 0) - const EVENT_689 ; 689, (D818, bit 1) - const EVENT_68A ; 68A, (D818, bit 2) - const EVENT_68B ; 68B, (D818, bit 3) - const EVENT_68C ; 68C, (D818, bit 4) - const EVENT_68D ; 68D, (D818, bit 5) - const EVENT_68E ; 68E, (D818, bit 6) - const EVENT_68F ; 68F, (D818, bit 7) - const EVENT_690 ; 690, (D819, bit 0) - const EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_0 ; 691, (D819, bit 1) - const EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_1 ; 692, (D819, bit 2) - const EVENT_693 ; 693, (D819, bit 3) - const EVENT_694 ; 694, (D819, bit 4) - const EVENT_695 ; 695, (D819, bit 5) - const EVENT_696 ; 696, (D819, bit 6) - const EVENT_697 ; 697, (D819, bit 7) - const EVENT_698 ; 698, (D81A, bit 0) - const EVENT_699 ; 699, (D81A, bit 1) - const EVENT_69A ; 69A, (D81A, bit 2) - const EVENT_69B ; 69B, (D81A, bit 3) - const EVENT_69C ; 69C, (D81A, bit 4) - const EVENT_69D ; 69D, (D81A, bit 5) - const EVENT_69E ; 69E, (D81A, bit 6) - const EVENT_69F ; 69F, (D81A, bit 7) - const EVENT_6A0 ; 6A0, (D81B, bit 0) - const EVENT_6A1 ; 6A1, (D81B, bit 1) - const EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0 ; 6A2, (D81B, bit 2) - const EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_1 ; 6A3, (D81B, bit 3) - const EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_2 ; 6A4, (D81B, bit 4) - const EVENT_ROCKET_HIDEOUT_4_DOOR_UNLOCKED ; 6A5, (D81B, bit 5) - const EVENT_ROCKET_DROPPED_LIFT_KEY ; 6A6, (D81B, bit 6) - const EVENT_BEAT_ROCKET_HIDEOUT_GIOVANNI ; 6A7, (D81B, bit 7) - const EVENT_6A8 ; 6A8, (D81C, bit 0) - const EVENT_6A9 ; 6A9, (D81C, bit 1) - const EVENT_6AA ; 6AA, (D81C, bit 2) - const EVENT_6AB ; 6AB, (D81C, bit 3) - const EVENT_6AC ; 6AC, (D81C, bit 4) - const EVENT_6AD ; 6AD, (D81C, bit 5) - const EVENT_6AE ; 6AE, (D81C, bit 6) - const EVENT_6AF ; 6AF, (D81C, bit 7) - const EVENT_6B0 ; 6B0, (D81D, bit 0) - const EVENT_6B1 ; 6B1, (D81D, bit 1) - const EVENT_6B2 ; 6B2, (D81D, bit 2) - const EVENT_6B3 ; 6B3, (D81D, bit 3) - const EVENT_6B4 ; 6B4, (D81D, bit 4) - const EVENT_6B5 ; 6B5, (D81D, bit 5) - const EVENT_6B6 ; 6B6, (D81D, bit 6) - const EVENT_6B7 ; 6B7, (D81D, bit 7) - const EVENT_6B8 ; 6B8, (D81E, bit 0) - const EVENT_6B9 ; 6B9, (D81E, bit 1) - const EVENT_6BA ; 6BA, (D81E, bit 2) - const EVENT_6BB ; 6BB, (D81E, bit 3) - const EVENT_6BC ; 6BC, (D81E, bit 4) - const EVENT_6BD ; 6BD, (D81E, bit 5) - const EVENT_6BE ; 6BE, (D81E, bit 6) - const EVENT_6BF ; 6BF, (D81E, bit 7) - const EVENT_6C0 ; 6C0, (D81F, bit 0) - const EVENT_6C1 ; 6C1, (D81F, bit 1) - const EVENT_6C2 ; 6C2, (D81F, bit 2) - const EVENT_6C3 ; 6C3, (D81F, bit 3) - const EVENT_6C4 ; 6C4, (D81F, bit 4) - const EVENT_6C5 ; 6C5, (D81F, bit 5) - const EVENT_6C6 ; 6C6, (D81F, bit 6) - const EVENT_6C7 ; 6C7, (D81F, bit 7) - const EVENT_6C8 ; 6C8, (D820, bit 0) - const EVENT_6C9 ; 6C9, (D820, bit 1) - const EVENT_6CA ; 6CA, (D820, bit 2) - const EVENT_6CB ; 6CB, (D820, bit 3) - const EVENT_6CC ; 6CC, (D820, bit 4) - const EVENT_6CD ; 6CD, (D820, bit 5) - const EVENT_6CE ; 6CE, (D820, bit 6) - const EVENT_6CF ; 6CF, (D820, bit 7) - const EVENT_6D0 ; 6D0, (D821, bit 0) - const EVENT_6D1 ; 6D1, (D821, bit 1) - const EVENT_6D2 ; 6D2, (D821, bit 2) - const EVENT_6D3 ; 6D3, (D821, bit 3) - const EVENT_6D4 ; 6D4, (D821, bit 4) - const EVENT_6D5 ; 6D5, (D821, bit 5) - const EVENT_6D6 ; 6D6, (D821, bit 6) - const EVENT_6D7 ; 6D7, (D821, bit 7) - const EVENT_6D8 ; 6D8, (D822, bit 0) - const EVENT_6D9 ; 6D9, (D822, bit 1) - const EVENT_6DA ; 6DA, (D822, bit 2) - const EVENT_6DB ; 6DB, (D822, bit 3) - const EVENT_6DC ; 6DC, (D822, bit 4) - const EVENT_6DD ; 6DD, (D822, bit 5) - const EVENT_6DE ; 6DE, (D822, bit 6) - const EVENT_6DF ; 6DF, (D822, bit 7) - const EVENT_6E0 ; 6E0, (D823, bit 0) - const EVENT_6E1 ; 6E1, (D823, bit 1) - const EVENT_6E2 ; 6E2, (D823, bit 2) - const EVENT_6E3 ; 6E3, (D823, bit 3) - const EVENT_6E4 ; 6E4, (D823, bit 4) - const EVENT_6E5 ; 6E5, (D823, bit 5) - const EVENT_6E6 ; 6E6, (D823, bit 6) - const EVENT_6E7 ; 6E7, (D823, bit 7) - const EVENT_6E8 ; 6E8, (D824, bit 0) - const EVENT_6E9 ; 6E9, (D824, bit 1) - const EVENT_6EA ; 6EA, (D824, bit 2) - const EVENT_6EB ; 6EB, (D824, bit 3) - const EVENT_6EC ; 6EC, (D824, bit 4) - const EVENT_6ED ; 6ED, (D824, bit 5) - const EVENT_6EE ; 6EE, (D824, bit 6) - const EVENT_6EF ; 6EF, (D824, bit 7) - const EVENT_6F0 ; 6F0, (D825, bit 0) - const EVENT_6F1 ; 6F1, (D825, bit 1) - const EVENT_BEAT_SILPH_CO_2F_TRAINER_0 ; 6F2, (D825, bit 2) - const EVENT_BEAT_SILPH_CO_2F_TRAINER_1 ; 6F3, (D825, bit 3) - const EVENT_BEAT_SILPH_CO_2F_TRAINER_2 ; 6F4, (D825, bit 4) - const EVENT_BEAT_SILPH_CO_2F_TRAINER_3 ; 6F5, (D825, bit 5) - const EVENT_6F6 ; 6F6, (D825, bit 6) - const EVENT_6F7 ; 6F7, (D825, bit 7) - const EVENT_6F8 ; 6F8, (D826, bit 0) - const EVENT_6F9 ; 6F9, (D826, bit 1) - const EVENT_6FA ; 6FA, (D826, bit 2) - const EVENT_6FB ; 6FB, (D826, bit 3) - const EVENT_6FC ; 6FC, (D826, bit 4) - const EVENT_SILPH_CO_2_UNLOCKED_DOOR1 ; 6FD, (D826, bit 5) - const EVENT_SILPH_CO_2_UNLOCKED_DOOR2 ; 6FE, (D826, bit 6) - const EVENT_GOT_TM36 ; 6FF, (D826, bit 7) - const EVENT_700 ; 700, (D827, bit 0) - const EVENT_701 ; 701, (D827, bit 1) - const EVENT_BEAT_SILPH_CO_3F_TRAINER_0 ; 702, (D827, bit 2) - const EVENT_BEAT_SILPH_CO_3F_TRAINER_1 ; 703, (D827, bit 3) - const EVENT_704 ; 704, (D827, bit 4) - const EVENT_705 ; 705, (D827, bit 5) - const EVENT_706 ; 706, (D827, bit 6) - const EVENT_707 ; 707, (D827, bit 7) - const EVENT_SILPH_CO_3_UNLOCKED_DOOR1 ; 708, (D828, bit 0) - const EVENT_SILPH_CO_3_UNLOCKED_DOOR2 ; 709, (D828, bit 1) - const EVENT_70A ; 70A, (D828, bit 2) - const EVENT_70B ; 70B, (D828, bit 3) - const EVENT_70C ; 70C, (D828, bit 4) - const EVENT_70D ; 70D, (D828, bit 5) - const EVENT_70E ; 70E, (D828, bit 6) - const EVENT_70F ; 70F, (D828, bit 7) - const EVENT_710 ; 710, (D829, bit 0) - const EVENT_711 ; 711, (D829, bit 1) - const EVENT_BEAT_SILPH_CO_4F_TRAINER_0 ; 712, (D829, bit 2) - const EVENT_BEAT_SILPH_CO_4F_TRAINER_1 ; 713, (D829, bit 3) - const EVENT_BEAT_SILPH_CO_4F_TRAINER_2 ; 714, (D829, bit 4) - const EVENT_715 ; 715, (D829, bit 5) - const EVENT_716 ; 716, (D829, bit 6) - const EVENT_717 ; 717, (D829, bit 7) - const EVENT_SILPH_CO_4_UNLOCKED_DOOR1 ; 718, (D82A, bit 0) - const EVENT_SILPH_CO_4_UNLOCKED_DOOR2 ; 719, (D82A, bit 1) - const EVENT_71A ; 71A, (D82A, bit 2) - const EVENT_71B ; 71B, (D82A, bit 3) - const EVENT_71C ; 71C, (D82A, bit 4) - const EVENT_71D ; 71D, (D82A, bit 5) - const EVENT_71E ; 71E, (D82A, bit 6) - const EVENT_71F ; 71F, (D82A, bit 7) - const EVENT_720 ; 720, (D82B, bit 0) - const EVENT_721 ; 721, (D82B, bit 1) - const EVENT_BEAT_SILPH_CO_5F_TRAINER_0 ; 722, (D82B, bit 2) - const EVENT_BEAT_SILPH_CO_5F_TRAINER_1 ; 723, (D82B, bit 3) - const EVENT_BEAT_SILPH_CO_5F_TRAINER_2 ; 724, (D82B, bit 4) - const EVENT_BEAT_SILPH_CO_5F_TRAINER_3 ; 725, (D82B, bit 5) - const EVENT_726 ; 726, (D82B, bit 6) - const EVENT_727 ; 727, (D82B, bit 7) - const EVENT_SILPH_CO_5_UNLOCKED_DOOR1 ; 728, (D82C, bit 0) - const EVENT_SILPH_CO_5_UNLOCKED_DOOR2 ; 729, (D82C, bit 1) - const EVENT_SILPH_CO_5_UNLOCKED_DOOR3 ; 72A, (D82C, bit 2) - const EVENT_72B ; 72B, (D82C, bit 3) - const EVENT_72C ; 72C, (D82C, bit 4) - const EVENT_72D ; 72D, (D82C, bit 5) - const EVENT_72E ; 72E, (D82C, bit 6) - const EVENT_72F ; 72F, (D82C, bit 7) - const EVENT_730 ; 730, (D82D, bit 0) - const EVENT_731 ; 731, (D82D, bit 1) - const EVENT_732 ; 732, (D82D, bit 2) - const EVENT_733 ; 733, (D82D, bit 3) - const EVENT_734 ; 734, (D82D, bit 4) - const EVENT_735 ; 735, (D82D, bit 5) - const EVENT_BEAT_SILPH_CO_6F_TRAINER_0 ; 736, (D82D, bit 6) - const EVENT_BEAT_SILPH_CO_6F_TRAINER_1 ; 737, (D82D, bit 7) - const EVENT_BEAT_SILPH_CO_6F_TRAINER_2 ; 738, (D82E, bit 0) - const EVENT_739 ; 739, (D82E, bit 1) - const EVENT_73A ; 73A, (D82E, bit 2) - const EVENT_73B ; 73B, (D82E, bit 3) - const EVENT_73C ; 73C, (D82E, bit 4) - const EVENT_73D ; 73D, (D82E, bit 5) - const EVENT_73E ; 73E, (D82E, bit 6) - const EVENT_SILPH_CO_6_UNLOCKED_DOOR ; 73F, (D82E, bit 7) - const EVENT_BEAT_SILPH_CO_RIVAL ; 740, (D82F, bit 0) - const EVENT_741 ; 741, (D82F, bit 1) - const EVENT_742 ; 742, (D82F, bit 2) - const EVENT_743 ; 743, (D82F, bit 3) - const EVENT_744 ; 744, (D82F, bit 4) - const EVENT_BEAT_SILPH_CO_7F_TRAINER_0 ; 745, (D82F, bit 5) - const EVENT_BEAT_SILPH_CO_7F_TRAINER_1 ; 746, (D82F, bit 6) - const EVENT_BEAT_SILPH_CO_7F_TRAINER_2 ; 747, (D82F, bit 7) - const EVENT_BEAT_SILPH_CO_7F_TRAINER_3 ; 748, (D830, bit 0) - const EVENT_749 ; 749, (D830, bit 1) - const EVENT_74A ; 74A, (D830, bit 2) - const EVENT_74B ; 74B, (D830, bit 3) - const EVENT_SILPH_CO_7_UNLOCKED_DOOR1 ; 74C, (D830, bit 4) - const EVENT_SILPH_CO_7_UNLOCKED_DOOR2 ; 74D, (D830, bit 5) - const EVENT_SILPH_CO_7_UNLOCKED_DOOR3 ; 74E, (D830, bit 6) - const EVENT_74F ; 74F, (D830, bit 7) - const EVENT_750 ; 750, (D831, bit 0) - const EVENT_751 ; 751, (D831, bit 1) - const EVENT_BEAT_SILPH_CO_8F_TRAINER_0 ; 752, (D831, bit 2) - const EVENT_BEAT_SILPH_CO_8F_TRAINER_1 ; 753, (D831, bit 3) - const EVENT_BEAT_SILPH_CO_8F_TRAINER_2 ; 754, (D831, bit 4) - const EVENT_755 ; 755, (D831, bit 5) - const EVENT_756 ; 756, (D831, bit 6) - const EVENT_757 ; 757, (D831, bit 7) - const EVENT_SILPH_CO_8_UNLOCKED_DOOR ; 758, (D832, bit 0) - const EVENT_759 ; 759, (D832, bit 1) - const EVENT_75A ; 75A, (D832, bit 2) - const EVENT_75B ; 75B, (D832, bit 3) - const EVENT_75C ; 75C, (D832, bit 4) - const EVENT_75D ; 75D, (D832, bit 5) - const EVENT_75E ; 75E, (D832, bit 6) - const EVENT_75F ; 75F, (D832, bit 7) - const EVENT_760 ; 760, (D833, bit 0) - const EVENT_761 ; 761, (D833, bit 1) - const EVENT_BEAT_SILPH_CO_9F_TRAINER_0 ; 762, (D833, bit 2) - const EVENT_BEAT_SILPH_CO_9F_TRAINER_1 ; 763, (D833, bit 3) - const EVENT_BEAT_SILPH_CO_9F_TRAINER_2 ; 764, (D833, bit 4) - const EVENT_765 ; 765, (D833, bit 5) - const EVENT_766 ; 766, (D833, bit 6) - const EVENT_767 ; 767, (D833, bit 7) - const EVENT_SILPH_CO_9_UNLOCKED_DOOR1 ; 768, (D834, bit 0) - const EVENT_SILPH_CO_9_UNLOCKED_DOOR2 ; 769, (D834, bit 1) - const EVENT_SILPH_CO_9_UNLOCKED_DOOR3 ; 76A, (D834, bit 2) - const EVENT_SILPH_CO_9_UNLOCKED_DOOR4 ; 76B, (D834, bit 3) - const EVENT_76C ; 76C, (D834, bit 4) - const EVENT_76D ; 76D, (D834, bit 5) - const EVENT_76E ; 76E, (D834, bit 6) - const EVENT_76F ; 76F, (D834, bit 7) - const EVENT_770 ; 770, (D835, bit 0) - const EVENT_BEAT_SILPH_CO_10F_TRAINER_0 ; 771, (D835, bit 1) - const EVENT_BEAT_SILPH_CO_10F_TRAINER_1 ; 772, (D835, bit 2) - const EVENT_773 ; 773, (D835, bit 3) - const EVENT_774 ; 774, (D835, bit 4) - const EVENT_775 ; 775, (D835, bit 5) - const EVENT_776 ; 776, (D835, bit 6) - const EVENT_777 ; 777, (D835, bit 7) - const EVENT_SILPH_CO_10_UNLOCKED_DOOR ; 778, (D836, bit 0) - const EVENT_779 ; 779, (D836, bit 1) - const EVENT_77A ; 77A, (D836, bit 2) - const EVENT_77B ; 77B, (D836, bit 3) - const EVENT_77C ; 77C, (D836, bit 4) - const EVENT_77D ; 77D, (D836, bit 5) - const EVENT_77E ; 77E, (D836, bit 6) - const EVENT_77F ; 77F, (D836, bit 7) - const EVENT_780 ; 780, (D837, bit 0) - const EVENT_781 ; 781, (D837, bit 1) - const EVENT_782 ; 782, (D837, bit 2) - const EVENT_783 ; 783, (D837, bit 3) - const EVENT_BEAT_SILPH_CO_11F_TRAINER_0 ; 784, (D837, bit 4) - const EVENT_BEAT_SILPH_CO_11F_TRAINER_1 ; 785, (D837, bit 5) - const EVENT_786 ; 786, (D837, bit 6) - const EVENT_787 ; 787, (D837, bit 7) - const EVENT_SILPH_CO_11_UNLOCKED_DOOR ; 788, (D838, bit 0) - const EVENT_789 ; 789, (D838, bit 1) - const EVENT_78A ; 78A, (D838, bit 2) - const EVENT_78B ; 78B, (D838, bit 3) - const EVENT_78C ; 78C, (D838, bit 4) - const EVENT_GOT_MASTER_BALL ; 78D, (D838, bit 5) - const EVENT_78E ; 78E, (D838, bit 6) - const EVENT_BEAT_SILPH_CO_GIOVANNI ; 78F, (D838, bit 7) - const EVENT_790 ; 790, (D839, bit 0) - const EVENT_791 ; 791, (D839, bit 1) - const EVENT_792 ; 792, (D839, bit 2) - const EVENT_793 ; 793, (D839, bit 3) - const EVENT_794 ; 794, (D839, bit 4) - const EVENT_795 ; 795, (D839, bit 5) - const EVENT_796 ; 796, (D839, bit 6) - const EVENT_797 ; 797, (D839, bit 7) - const EVENT_798 ; 798, (D83A, bit 0) - const EVENT_799 ; 799, (D83A, bit 1) - const EVENT_79A ; 79A, (D83A, bit 2) - const EVENT_79B ; 79B, (D83A, bit 3) - const EVENT_79C ; 79C, (D83A, bit 4) - const EVENT_79D ; 79D, (D83A, bit 5) - const EVENT_79E ; 79E, (D83A, bit 6) - const EVENT_79F ; 79F, (D83A, bit 7) - const EVENT_7A0 ; 7A0, (D83B, bit 0) - const EVENT_7A1 ; 7A1, (D83B, bit 1) - const EVENT_7A2 ; 7A2, (D83B, bit 2) - const EVENT_7A3 ; 7A3, (D83B, bit 3) - const EVENT_7A4 ; 7A4, (D83B, bit 4) - const EVENT_7A5 ; 7A5, (D83B, bit 5) - const EVENT_7A6 ; 7A6, (D83B, bit 6) - const EVENT_7A7 ; 7A7, (D83B, bit 7) - const EVENT_7A8 ; 7A8, (D83C, bit 0) - const EVENT_7A9 ; 7A9, (D83C, bit 1) - const EVENT_7AA ; 7AA, (D83C, bit 2) - const EVENT_7AB ; 7AB, (D83C, bit 3) - const EVENT_7AC ; 7AC, (D83C, bit 4) - const EVENT_7AD ; 7AD, (D83C, bit 5) - const EVENT_7AE ; 7AE, (D83C, bit 6) - const EVENT_7AF ; 7AF, (D83C, bit 7) - const EVENT_7B0 ; 7B0, (D83D, bit 0) - const EVENT_7B1 ; 7B1, (D83D, bit 1) - const EVENT_7B2 ; 7B2, (D83D, bit 2) - const EVENT_7B3 ; 7B3, (D83D, bit 3) - const EVENT_7B4 ; 7B4, (D83D, bit 4) - const EVENT_7B5 ; 7B5, (D83D, bit 5) - const EVENT_7B6 ; 7B6, (D83D, bit 6) - const EVENT_7B7 ; 7B7, (D83D, bit 7) - const EVENT_7B8 ; 7B8, (D83E, bit 0) - const EVENT_7B9 ; 7B9, (D83E, bit 1) - const EVENT_7BA ; 7BA, (D83E, bit 2) - const EVENT_7BB ; 7BB, (D83E, bit 3) - const EVENT_7BC ; 7BC, (D83E, bit 4) - const EVENT_7BD ; 7BD, (D83E, bit 5) - const EVENT_7BE ; 7BE, (D83E, bit 6) - const EVENT_7BF ; 7BF, (D83E, bit 7) - const EVENT_7C0 ; 7C0, (D83F, bit 0) - const EVENT_7C1 ; 7C1, (D83F, bit 1) - const EVENT_7C2 ; 7C2, (D83F, bit 2) - const EVENT_7C3 ; 7C3, (D83F, bit 3) - const EVENT_7C4 ; 7C4, (D83F, bit 4) - const EVENT_7C5 ; 7C5, (D83F, bit 5) - const EVENT_7C6 ; 7C6, (D83F, bit 6) - const EVENT_7C7 ; 7C7, (D83F, bit 7) - const EVENT_7C8 ; 7C8, (D840, bit 0) - const EVENT_7C9 ; 7C9, (D840, bit 1) - const EVENT_7CA ; 7CA, (D840, bit 2) - const EVENT_7CB ; 7CB, (D840, bit 3) - const EVENT_7CC ; 7CC, (D840, bit 4) - const EVENT_7CD ; 7CD, (D840, bit 5) - const EVENT_7CE ; 7CE, (D840, bit 6) - const EVENT_7CF ; 7CF, (D840, bit 7) - const EVENT_7D0 ; 7D0, (D841, bit 0) - const EVENT_7D1 ; 7D1, (D841, bit 1) - const EVENT_7D2 ; 7D2, (D841, bit 2) - const EVENT_7D3 ; 7D3, (D841, bit 3) - const EVENT_7D4 ; 7D4, (D841, bit 4) - const EVENT_7D5 ; 7D5, (D841, bit 5) - const EVENT_7D6 ; 7D6, (D841, bit 6) - const EVENT_7D7 ; 7D7, (D841, bit 7) - const EVENT_7D8 ; 7D8, (D842, bit 0) - const EVENT_7D9 ; 7D9, (D842, bit 1) - const EVENT_7DA ; 7DA, (D842, bit 2) - const EVENT_7DB ; 7DB, (D842, bit 3) - const EVENT_7DC ; 7DC, (D842, bit 4) - const EVENT_7DD ; 7DD, (D842, bit 5) - const EVENT_7DE ; 7DE, (D842, bit 6) - const EVENT_7DF ; 7DF, (D842, bit 7) - const EVENT_7E0 ; 7E0, (D843, bit 0) - const EVENT_7E1 ; 7E1, (D843, bit 1) - const EVENT_7E2 ; 7E2, (D843, bit 2) - const EVENT_7E3 ; 7E3, (D843, bit 3) - const EVENT_7E4 ; 7E4, (D843, bit 4) - const EVENT_7E5 ; 7E5, (D843, bit 5) - const EVENT_7E6 ; 7E6, (D843, bit 6) - const EVENT_7E7 ; 7E7, (D843, bit 7) - const EVENT_7E8 ; 7E8, (D844, bit 0) - const EVENT_7E9 ; 7E9, (D844, bit 1) - const EVENT_7EA ; 7EA, (D844, bit 2) - const EVENT_7EB ; 7EB, (D844, bit 3) - const EVENT_7EC ; 7EC, (D844, bit 4) - const EVENT_7ED ; 7ED, (D844, bit 5) - const EVENT_7EE ; 7EE, (D844, bit 6) - const EVENT_7EF ; 7EF, (D844, bit 7) - const EVENT_7F0 ; 7F0, (D845, bit 0) - const EVENT_7F1 ; 7F1, (D845, bit 1) - const EVENT_7F2 ; 7F2, (D845, bit 2) - const EVENT_7F3 ; 7F3, (D845, bit 3) - const EVENT_7F4 ; 7F4, (D845, bit 4) - const EVENT_7F5 ; 7F5, (D845, bit 5) - const EVENT_7F6 ; 7F6, (D845, bit 6) - const EVENT_7F7 ; 7F7, (D845, bit 7) - const EVENT_7F8 ; 7F8, (D846, bit 0) - const EVENT_7F9 ; 7F9, (D846, bit 1) - const EVENT_7FA ; 7FA, (D846, bit 2) - const EVENT_7FB ; 7FB, (D846, bit 3) - const EVENT_7FC ; 7FC, (D846, bit 4) - const EVENT_7FD ; 7FD, (D846, bit 5) - const EVENT_7FE ; 7FE, (D846, bit 6) - const EVENT_7FF ; 7FF, (D846, bit 7) - const EVENT_800 ; 800, (D847, bit 0) - const EVENT_BEAT_MANSION_2_TRAINER_0 ; 801, (D847, bit 1) - const EVENT_802 ; 802, (D847, bit 2) - const EVENT_803 ; 803, (D847, bit 3) - const EVENT_804 ; 804, (D847, bit 4) - const EVENT_805 ; 805, (D847, bit 5) - const EVENT_806 ; 806, (D847, bit 6) - const EVENT_807 ; 807, (D847, bit 7) - const EVENT_808 ; 808, (D848, bit 0) - const EVENT_809 ; 809, (D848, bit 1) - const EVENT_80A ; 80A, (D848, bit 2) - const EVENT_80B ; 80B, (D848, bit 3) - const EVENT_80C ; 80C, (D848, bit 4) - const EVENT_80D ; 80D, (D848, bit 5) - const EVENT_80E ; 80E, (D848, bit 6) - const EVENT_80F ; 80F, (D848, bit 7) - const EVENT_810 ; 810, (D849, bit 0) - const EVENT_BEAT_MANSION_3_TRAINER_0 ; 811, (D849, bit 1) - const EVENT_BEAT_MANSION_3_TRAINER_1 ; 812, (D849, bit 2) - const EVENT_813 ; 813, (D849, bit 3) - const EVENT_814 ; 814, (D849, bit 4) - const EVENT_815 ; 815, (D849, bit 5) - const EVENT_816 ; 816, (D849, bit 6) - const EVENT_817 ; 817, (D849, bit 7) - const EVENT_818 ; 818, (D84A, bit 0) - const EVENT_819 ; 819, (D84A, bit 1) - const EVENT_81A ; 81A, (D84A, bit 2) - const EVENT_81B ; 81B, (D84A, bit 3) - const EVENT_81C ; 81C, (D84A, bit 4) - const EVENT_81D ; 81D, (D84A, bit 5) - const EVENT_81E ; 81E, (D84A, bit 6) - const EVENT_81F ; 81F, (D84A, bit 7) - const EVENT_820 ; 820, (D84B, bit 0) - const EVENT_BEAT_MANSION_4_TRAINER_0 ; 821, (D84B, bit 1) - const EVENT_BEAT_MANSION_4_TRAINER_1 ; 822, (D84B, bit 2) - const EVENT_823 ; 823, (D84B, bit 3) - const EVENT_824 ; 824, (D84B, bit 4) - const EVENT_825 ; 825, (D84B, bit 5) - const EVENT_826 ; 826, (D84B, bit 6) - const EVENT_827 ; 827, (D84B, bit 7) - const EVENT_828 ; 828, (D84C, bit 0) - const EVENT_829 ; 829, (D84C, bit 1) - const EVENT_82A ; 82A, (D84C, bit 2) - const EVENT_82B ; 82B, (D84C, bit 3) - const EVENT_82C ; 82C, (D84C, bit 4) - const EVENT_82D ; 82D, (D84C, bit 5) - const EVENT_82E ; 82E, (D84C, bit 6) - const EVENT_82F ; 82F, (D84C, bit 7) - const EVENT_830 ; 830, (D84D, bit 0) - const EVENT_831 ; 831, (D84D, bit 1) - const EVENT_832 ; 832, (D84D, bit 2) - const EVENT_833 ; 833, (D84D, bit 3) - const EVENT_834 ; 834, (D84D, bit 4) - const EVENT_835 ; 835, (D84D, bit 5) - const EVENT_836 ; 836, (D84D, bit 6) - const EVENT_837 ; 837, (D84D, bit 7) - const EVENT_838 ; 838, (D84E, bit 0) - const EVENT_839 ; 839, (D84E, bit 1) - const EVENT_83A ; 83A, (D84E, bit 2) - const EVENT_83B ; 83B, (D84E, bit 3) - const EVENT_83C ; 83C, (D84E, bit 4) - const EVENT_83D ; 83D, (D84E, bit 5) - const EVENT_83E ; 83E, (D84E, bit 6) - const EVENT_83F ; 83F, (D84E, bit 7) - const EVENT_840 ; 840, (D84F, bit 0) - const EVENT_841 ; 841, (D84F, bit 1) - const EVENT_842 ; 842, (D84F, bit 2) - const EVENT_843 ; 843, (D84F, bit 3) - const EVENT_844 ; 844, (D84F, bit 4) - const EVENT_845 ; 845, (D84F, bit 5) - const EVENT_846 ; 846, (D84F, bit 6) - const EVENT_847 ; 847, (D84F, bit 7) - const EVENT_848 ; 848, (D850, bit 0) - const EVENT_849 ; 849, (D850, bit 1) - const EVENT_84A ; 84A, (D850, bit 2) - const EVENT_84B ; 84B, (D850, bit 3) - const EVENT_84C ; 84C, (D850, bit 4) - const EVENT_84D ; 84D, (D850, bit 5) - const EVENT_84E ; 84E, (D850, bit 6) - const EVENT_84F ; 84F, (D850, bit 7) - const EVENT_850 ; 850, (D851, bit 0) - const EVENT_851 ; 851, (D851, bit 1) - const EVENT_852 ; 852, (D851, bit 2) - const EVENT_853 ; 853, (D851, bit 3) - const EVENT_854 ; 854, (D851, bit 4) - const EVENT_855 ; 855, (D851, bit 5) - const EVENT_856 ; 856, (D851, bit 6) - const EVENT_857 ; 857, (D851, bit 7) - const EVENT_858 ; 858, (D852, bit 0) - const EVENT_859 ; 859, (D852, bit 1) - const EVENT_85A ; 85A, (D852, bit 2) - const EVENT_85B ; 85B, (D852, bit 3) - const EVENT_85C ; 85C, (D852, bit 4) - const EVENT_85D ; 85D, (D852, bit 5) - const EVENT_85E ; 85E, (D852, bit 6) - const EVENT_85F ; 85F, (D852, bit 7) - const EVENT_860 ; 860, (D853, bit 0) - const EVENT_861 ; 861, (D853, bit 1) - const EVENT_862 ; 862, (D853, bit 2) - const EVENT_863 ; 863, (D853, bit 3) - const EVENT_864 ; 864, (D853, bit 4) - const EVENT_865 ; 865, (D853, bit 5) - const EVENT_866 ; 866, (D853, bit 6) - const EVENT_867 ; 867, (D853, bit 7) - const EVENT_868 ; 868, (D854, bit 0) - const EVENT_869 ; 869, (D854, bit 1) - const EVENT_86A ; 86A, (D854, bit 2) - const EVENT_86B ; 86B, (D854, bit 3) - const EVENT_86C ; 86C, (D854, bit 4) - const EVENT_86D ; 86D, (D854, bit 5) - const EVENT_86E ; 86E, (D854, bit 6) - const EVENT_86F ; 86F, (D854, bit 7) - const EVENT_870 ; 870, (D855, bit 0) - const EVENT_871 ; 871, (D855, bit 1) - const EVENT_872 ; 872, (D855, bit 2) - const EVENT_873 ; 873, (D855, bit 3) - const EVENT_874 ; 874, (D855, bit 4) - const EVENT_875 ; 875, (D855, bit 5) - const EVENT_876 ; 876, (D855, bit 6) - const EVENT_877 ; 877, (D855, bit 7) - const EVENT_878 ; 878, (D856, bit 0) - const EVENT_879 ; 879, (D856, bit 1) - const EVENT_87A ; 87A, (D856, bit 2) - const EVENT_87B ; 87B, (D856, bit 3) - const EVENT_87C ; 87C, (D856, bit 4) - const EVENT_87D ; 87D, (D856, bit 5) - const EVENT_87E ; 87E, (D856, bit 6) - const EVENT_87F ; 87F, (D856, bit 7) - const EVENT_GOT_HM03 ; 880, (D857, bit 0) - const EVENT_881 ; 881, (D857, bit 1) - const EVENT_882 ; 882, (D857, bit 2) - const EVENT_883 ; 883, (D857, bit 3) - const EVENT_884 ; 884, (D857, bit 4) - const EVENT_885 ; 885, (D857, bit 5) - const EVENT_886 ; 886, (D857, bit 6) - const EVENT_887 ; 887, (D857, bit 7) - const EVENT_888 ; 888, (D858, bit 0) - const EVENT_889 ; 889, (D858, bit 1) - const EVENT_88A ; 88A, (D858, bit 2) - const EVENT_88B ; 88B, (D858, bit 3) - const EVENT_88C ; 88C, (D858, bit 4) - const EVENT_88D ; 88D, (D858, bit 5) - const EVENT_88E ; 88E, (D858, bit 6) - const EVENT_88F ; 88F, (D858, bit 7) - const EVENT_890 ; 890, (D859, bit 0) - const EVENT_891 ; 891, (D859, bit 1) - const EVENT_892 ; 892, (D859, bit 2) - const EVENT_893 ; 893, (D859, bit 3) - const EVENT_894 ; 894, (D859, bit 4) - const EVENT_895 ; 895, (D859, bit 5) - const EVENT_896 ; 896, (D859, bit 6) - const EVENT_897 ; 897, (D859, bit 7) - const EVENT_898 ; 898, (D85A, bit 0) - const EVENT_899 ; 899, (D85A, bit 1) - const EVENT_89A ; 89A, (D85A, bit 2) - const EVENT_89B ; 89B, (D85A, bit 3) - const EVENT_89C ; 89C, (D85A, bit 4) - const EVENT_89D ; 89D, (D85A, bit 5) - const EVENT_89E ; 89E, (D85A, bit 6) - const EVENT_89F ; 89F, (D85A, bit 7) - const EVENT_8A0 ; 8A0, (D85B, bit 0) - const EVENT_8A1 ; 8A1, (D85B, bit 1) - const EVENT_8A2 ; 8A2, (D85B, bit 2) - const EVENT_8A3 ; 8A3, (D85B, bit 3) - const EVENT_8A4 ; 8A4, (D85B, bit 4) - const EVENT_8A5 ; 8A5, (D85B, bit 5) - const EVENT_8A6 ; 8A6, (D85B, bit 6) - const EVENT_8A7 ; 8A7, (D85B, bit 7) - const EVENT_8A8 ; 8A8, (D85C, bit 0) - const EVENT_8A9 ; 8A9, (D85C, bit 1) - const EVENT_8AA ; 8AA, (D85C, bit 2) - const EVENT_8AB ; 8AB, (D85C, bit 3) - const EVENT_8AC ; 8AC, (D85C, bit 4) - const EVENT_8AD ; 8AD, (D85C, bit 5) - const EVENT_8AE ; 8AE, (D85C, bit 6) - const EVENT_8AF ; 8AF, (D85C, bit 7) - const EVENT_8B0 ; 8B0, (D85D, bit 0) - const EVENT_8B1 ; 8B1, (D85D, bit 1) - const EVENT_8B2 ; 8B2, (D85D, bit 2) - const EVENT_8B3 ; 8B3, (D85D, bit 3) - const EVENT_8B4 ; 8B4, (D85D, bit 4) - const EVENT_8B5 ; 8B5, (D85D, bit 5) - const EVENT_8B6 ; 8B6, (D85D, bit 6) - const EVENT_8B7 ; 8B7, (D85D, bit 7) - const EVENT_8B8 ; 8B8, (D85E, bit 0) - const EVENT_8B9 ; 8B9, (D85E, bit 1) - const EVENT_8BA ; 8BA, (D85E, bit 2) - const EVENT_8BB ; 8BB, (D85E, bit 3) - const EVENT_8BC ; 8BC, (D85E, bit 4) - const EVENT_8BD ; 8BD, (D85E, bit 5) - const EVENT_8BE ; 8BE, (D85E, bit 6) - const EVENT_8BF ; 8BF, (D85E, bit 7) - const EVENT_8C0 ; 8C0, (D85F, bit 0) - const EVENT_BEAT_MEWTWO ; 8C1, (D85F, bit 1) - const EVENT_8C2 ; 8C2, (D85F, bit 2) - const EVENT_8C3 ; 8C3, (D85F, bit 3) - const EVENT_8C4 ; 8C4, (D85F, bit 4) - const EVENT_8C5 ; 8C5, (D85F, bit 5) - const EVENT_8C6 ; 8C6, (D85F, bit 6) - const EVENT_8C7 ; 8C7, (D85F, bit 7) - const EVENT_8C8 ; 8C8, (D860, bit 0) - const EVENT_8C9 ; 8C9, (D860, bit 1) - const EVENT_8CA ; 8CA, (D860, bit 2) - const EVENT_8CB ; 8CB, (D860, bit 3) - const EVENT_8CC ; 8CC, (D860, bit 4) - const EVENT_8CD ; 8CD, (D860, bit 5) - const EVENT_8CE ; 8CE, (D860, bit 6) - const EVENT_8CF ; 8CF, (D860, bit 7) - const EVENT_8D0 ; 8D0, (D861, bit 0) - const EVENT_8D1 ; 8D1, (D861, bit 1) - const EVENT_8D2 ; 8D2, (D861, bit 2) - const EVENT_8D3 ; 8D3, (D861, bit 3) - const EVENT_8D4 ; 8D4, (D861, bit 4) - const EVENT_8D5 ; 8D5, (D861, bit 5) - const EVENT_8D6 ; 8D6, (D861, bit 6) - const EVENT_8D7 ; 8D7, (D861, bit 7) - const EVENT_8D8 ; 8D8, (D862, bit 0) - const EVENT_8D9 ; 8D9, (D862, bit 1) - const EVENT_8DA ; 8DA, (D862, bit 2) - const EVENT_8DB ; 8DB, (D862, bit 3) - const EVENT_8DC ; 8DC, (D862, bit 4) - const EVENT_8DD ; 8DD, (D862, bit 5) - const EVENT_8DE ; 8DE, (D862, bit 6) - const EVENT_8DF ; 8DF, (D862, bit 7) - const ELITE4_EVENTS_START ; 8E0, (D863, bit 0) - const EVENT_BEAT_LORELEIS_ROOM_TRAINER_0 ; 8E1, (D863, bit 1) - const EVENT_8E2 ; 8E2, (D863, bit 2) - const EVENT_8E3 ; 8E3, (D863, bit 3) - const EVENT_8E4 ; 8E4, (D863, bit 4) - const EVENT_8E5 ; 8E5, (D863, bit 5) - const EVENT_AUTOWALKED_INTO_LORELEIS_ROOM ; 8E6, (D863, bit 6) - const EVENT_8E7 ; 8E7, (D863, bit 7) - const EVENT_8E8 ; 8E8, (D864, bit 0) - const EVENT_BEAT_BRUNOS_ROOM_TRAINER_0 ; 8E9, (D864, bit 1) - const EVENT_8EA ; 8EA, (D864, bit 2) - const EVENT_8EB ; 8EB, (D864, bit 3) - const EVENT_8EC ; 8EC, (D864, bit 4) - const EVENT_8ED ; 8ED, (D864, bit 5) - const EVENT_AUTOWALKED_INTO_BRUNOS_ROOM ; 8EE, (D864, bit 6) - const EVENT_8EF ; 8EF, (D864, bit 7) - const EVENT_8F0 ; 8F0, (D865, bit 0) - const EVENT_BEAT_AGATHAS_ROOM_TRAINER_0 ; 8F1, (D865, bit 1) - const EVENT_8F2 ; 8F2, (D865, bit 2) - const EVENT_8F3 ; 8F3, (D865, bit 3) - const EVENT_8F4 ; 8F4, (D865, bit 4) - const EVENT_8F5 ; 8F5, (D865, bit 5) - const EVENT_AUTOWALKED_INTO_AGATHAS_ROOM ; 8F6, (D865, bit 6) - const EVENT_8F7 ; 8F7, (D865, bit 7) - const EVENT_8F8 ; 8F8, (D866, bit 0) - const EVENT_BEAT_LANCES_ROOM_TRAINER_0 ; 8F9, (D866, bit 1) - const EVENT_8FA ; 8FA, (D866, bit 2) - const EVENT_8FB ; 8FB, (D866, bit 3) - const EVENT_8FC ; 8FC, (D866, bit 4) - const EVENT_8FD ; 8FD, (D866, bit 5) - const EVENT_BEAT_LANCE ; 8FE, (D866, bit 6) - const EVENT_LANCES_ROOM_LOCK_DOOR ; 8FF, (D866, bit 7) - const EVENT_900 ; 900, (D867, bit 0) - const EVENT_BEAT_CHAMPION_RIVAL ; 901, (D867, bit 1) - const EVENT_902 ; 902, (D867, bit 2) - const EVENT_903 ; 903, (D867, bit 3) - const EVENT_904 ; 904, (D867, bit 4) - const EVENT_905 ; 905, (D867, bit 5) - const EVENT_906 ; 906, (D867, bit 6) - const ELITE4_CHAMPION_EVENTS_END ; 907, (D867, bit 7) - const EVENT_908 ; 908, (D868, bit 0) - const EVENT_909 ; 909, (D868, bit 1) - const EVENT_90A ; 90A, (D868, bit 2) - const EVENT_90B ; 90B, (D868, bit 3) - const EVENT_90C ; 90C, (D868, bit 4) - const EVENT_90D ; 90D, (D868, bit 5) - const EVENT_90E ; 90E, (D868, bit 6) - const EVENT_90F ; 90F, (D868, bit 7) - const EVENT_910 ; 910, (D869, bit 0) - const EVENT_BEAT_VICTORY_ROAD_1_TRAINER_0 ; 911, (D869, bit 1) - const EVENT_BEAT_VICTORY_ROAD_1_TRAINER_1 ; 912, (D869, bit 2) - const EVENT_913 ; 913, (D869, bit 3) - const EVENT_914 ; 914, (D869, bit 4) - const EVENT_915 ; 915, (D869, bit 5) - const EVENT_916 ; 916, (D869, bit 6) - const EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH ; 917, (D869, bit 7) - const EVENT_918 ; 918, (D86A, bit 0) - const EVENT_919 ; 919, (D86A, bit 1) - const EVENT_91A ; 91A, (D86A, bit 2) - const EVENT_91B ; 91B, (D86A, bit 3) - const EVENT_91C ; 91C, (D86A, bit 4) - const EVENT_91D ; 91D, (D86A, bit 5) - const EVENT_91E ; 91E, (D86A, bit 6) - const EVENT_91F ; 91F, (D86A, bit 7) - const EVENT_920 ; 920, (D86B, bit 0) - const EVENT_921 ; 921, (D86B, bit 1) - const EVENT_922 ; 922, (D86B, bit 2) - const EVENT_923 ; 923, (D86B, bit 3) - const EVENT_924 ; 924, (D86B, bit 4) - const EVENT_925 ; 925, (D86B, bit 5) - const EVENT_926 ; 926, (D86B, bit 6) - const EVENT_927 ; 927, (D86B, bit 7) - const EVENT_928 ; 928, (D86C, bit 0) - const EVENT_929 ; 929, (D86C, bit 1) - const EVENT_92A ; 92A, (D86C, bit 2) - const EVENT_92B ; 92B, (D86C, bit 3) - const EVENT_92C ; 92C, (D86C, bit 4) - const EVENT_92D ; 92D, (D86C, bit 5) - const EVENT_92E ; 92E, (D86C, bit 6) - const EVENT_92F ; 92F, (D86C, bit 7) - const EVENT_930 ; 930, (D86D, bit 0) - const EVENT_931 ; 931, (D86D, bit 1) - const EVENT_932 ; 932, (D86D, bit 2) - const EVENT_933 ; 933, (D86D, bit 3) - const EVENT_934 ; 934, (D86D, bit 4) - const EVENT_935 ; 935, (D86D, bit 5) - const EVENT_936 ; 936, (D86D, bit 6) - const EVENT_937 ; 937, (D86D, bit 7) - const EVENT_938 ; 938, (D86E, bit 0) - const EVENT_939 ; 939, (D86E, bit 1) - const EVENT_93A ; 93A, (D86E, bit 2) - const EVENT_93B ; 93B, (D86E, bit 3) - const EVENT_93C ; 93C, (D86E, bit 4) - const EVENT_93D ; 93D, (D86E, bit 5) - const EVENT_93E ; 93E, (D86E, bit 6) - const EVENT_93F ; 93F, (D86E, bit 7) - const EVENT_940 ; 940, (D86F, bit 0) - const EVENT_941 ; 941, (D86F, bit 1) - const EVENT_942 ; 942, (D86F, bit 2) - const EVENT_943 ; 943, (D86F, bit 3) - const EVENT_944 ; 944, (D86F, bit 4) - const EVENT_945 ; 945, (D86F, bit 5) - const EVENT_946 ; 946, (D86F, bit 6) - const EVENT_947 ; 947, (D86F, bit 7) - const EVENT_948 ; 948, (D870, bit 0) - const EVENT_949 ; 949, (D870, bit 1) - const EVENT_94A ; 94A, (D870, bit 2) - const EVENT_94B ; 94B, (D870, bit 3) - const EVENT_94C ; 94C, (D870, bit 4) - const EVENT_94D ; 94D, (D870, bit 5) - const EVENT_94E ; 94E, (D870, bit 6) - const EVENT_94F ; 94F, (D870, bit 7) - const EVENT_950 ; 950, (D871, bit 0) - const EVENT_951 ; 951, (D871, bit 1) - const EVENT_952 ; 952, (D871, bit 2) - const EVENT_953 ; 953, (D871, bit 3) - const EVENT_954 ; 954, (D871, bit 4) - const EVENT_955 ; 955, (D871, bit 5) - const EVENT_956 ; 956, (D871, bit 6) - const EVENT_957 ; 957, (D871, bit 7) - const EVENT_958 ; 958, (D872, bit 0) - const EVENT_959 ; 959, (D872, bit 1) - const EVENT_95A ; 95A, (D872, bit 2) - const EVENT_95B ; 95B, (D872, bit 3) - const EVENT_95C ; 95C, (D872, bit 4) - const EVENT_95D ; 95D, (D872, bit 5) - const EVENT_95E ; 95E, (D872, bit 6) - const EVENT_95F ; 95F, (D872, bit 7) - const EVENT_960 ; 960, (D873, bit 0) - const EVENT_961 ; 961, (D873, bit 1) - const EVENT_962 ; 962, (D873, bit 2) - const EVENT_963 ; 963, (D873, bit 3) - const EVENT_964 ; 964, (D873, bit 4) - const EVENT_965 ; 965, (D873, bit 5) - const EVENT_966 ; 966, (D873, bit 6) - const EVENT_967 ; 967, (D873, bit 7) - const EVENT_968 ; 968, (D874, bit 0) - const EVENT_969 ; 969, (D874, bit 1) - const EVENT_96A ; 96A, (D874, bit 2) - const EVENT_96B ; 96B, (D874, bit 3) - const EVENT_96C ; 96C, (D874, bit 4) - const EVENT_96D ; 96D, (D874, bit 5) - const EVENT_96E ; 96E, (D874, bit 6) - const EVENT_96F ; 96F, (D874, bit 7) - const EVENT_970 ; 970, (D875, bit 0) - const EVENT_971 ; 971, (D875, bit 1) - const EVENT_972 ; 972, (D875, bit 2) - const EVENT_973 ; 973, (D875, bit 3) - const EVENT_974 ; 974, (D875, bit 4) - const EVENT_975 ; 975, (D875, bit 5) - const EVENT_976 ; 976, (D875, bit 6) - const EVENT_977 ; 977, (D875, bit 7) - const EVENT_978 ; 978, (D876, bit 0) - const EVENT_979 ; 979, (D876, bit 1) - const EVENT_97A ; 97A, (D876, bit 2) - const EVENT_97B ; 97B, (D876, bit 3) - const EVENT_97C ; 97C, (D876, bit 4) - const EVENT_97D ; 97D, (D876, bit 5) - const EVENT_97E ; 97E, (D876, bit 6) - const EVENT_97F ; 97F, (D876, bit 7) - const EVENT_980 ; 980, (D877, bit 0) - const EVENT_981 ; 981, (D877, bit 1) - const EVENT_982 ; 982, (D877, bit 2) - const EVENT_983 ; 983, (D877, bit 3) - const EVENT_984 ; 984, (D877, bit 4) - const EVENT_985 ; 985, (D877, bit 5) - const EVENT_986 ; 986, (D877, bit 6) - const EVENT_987 ; 987, (D877, bit 7) - const EVENT_988 ; 988, (D878, bit 0) - const EVENT_989 ; 989, (D878, bit 1) - const EVENT_98A ; 98A, (D878, bit 2) - const EVENT_98B ; 98B, (D878, bit 3) - const EVENT_98C ; 98C, (D878, bit 4) - const EVENT_98D ; 98D, (D878, bit 5) - const EVENT_98E ; 98E, (D878, bit 6) - const EVENT_98F ; 98F, (D878, bit 7) - const EVENT_990 ; 990, (D879, bit 0) - const EVENT_991 ; 991, (D879, bit 1) - const EVENT_992 ; 992, (D879, bit 2) - const EVENT_993 ; 993, (D879, bit 3) - const EVENT_994 ; 994, (D879, bit 4) - const EVENT_995 ; 995, (D879, bit 5) - const EVENT_996 ; 996, (D879, bit 6) - const EVENT_997 ; 997, (D879, bit 7) - const EVENT_998 ; 998, (D87A, bit 0) - const EVENT_999 ; 999, (D87A, bit 1) - const EVENT_99A ; 99A, (D87A, bit 2) - const EVENT_99B ; 99B, (D87A, bit 3) - const EVENT_99C ; 99C, (D87A, bit 4) - const EVENT_99D ; 99D, (D87A, bit 5) - const EVENT_99E ; 99E, (D87A, bit 6) - const EVENT_99F ; 99F, (D87A, bit 7) - const EVENT_9A0 ; 9A0, (D87B, bit 0) - const EVENT_9A1 ; 9A1, (D87B, bit 1) - const EVENT_9A2 ; 9A2, (D87B, bit 2) - const EVENT_9A3 ; 9A3, (D87B, bit 3) - const EVENT_9A4 ; 9A4, (D87B, bit 4) - const EVENT_9A5 ; 9A5, (D87B, bit 5) - const EVENT_9A6 ; 9A6, (D87B, bit 6) - const EVENT_9A7 ; 9A7, (D87B, bit 7) - const EVENT_9A8 ; 9A8, (D87C, bit 0) - const EVENT_9A9 ; 9A9, (D87C, bit 1) - const EVENT_9AA ; 9AA, (D87C, bit 2) - const EVENT_9AB ; 9AB, (D87C, bit 3) - const EVENT_9AC ; 9AC, (D87C, bit 4) - const EVENT_9AD ; 9AD, (D87C, bit 5) - const EVENT_9AE ; 9AE, (D87C, bit 6) - const EVENT_9AF ; 9AF, (D87C, bit 7) - const EVENT_9B0 ; 9B0, (D87D, bit 0) - const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_0 ; 9B1, (D87D, bit 1) - const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_1 ; 9B2, (D87D, bit 2) - const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_2 ; 9B3, (D87D, bit 3) - const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_3 ; 9B4, (D87D, bit 4) - const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_4 ; 9B5, (D87D, bit 5) - const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_5 ; 9B6, (D87D, bit 6) - const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_6 ; 9B7, (D87D, bit 7) - const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_7 ; 9B8, (D87E, bit 0) - const EVENT_9B9 ; 9B9, (D87E, bit 1) - const EVENT_9BA ; 9BA, (D87E, bit 2) - const EVENT_9BB ; 9BB, (D87E, bit 3) - const EVENT_9BC ; 9BC, (D87E, bit 4) - const EVENT_9BD ; 9BD, (D87E, bit 5) - const EVENT_9BE ; 9BE, (D87E, bit 6) - const EVENT_9BF ; 9BF, (D87E, bit 7) - const EVENT_SEAFOAM2_BOULDER1_DOWN_HOLE ; 9C0, (D87F, bit 0) - const EVENT_SEAFOAM2_BOULDER2_DOWN_HOLE ; 9C1, (D87F, bit 1) - const EVENT_9C2 ; 9C2, (D87F, bit 2) - const EVENT_9C3 ; 9C3, (D87F, bit 3) - const EVENT_9C4 ; 9C4, (D87F, bit 4) - const EVENT_9C5 ; 9C5, (D87F, bit 5) - const EVENT_9C6 ; 9C6, (D87F, bit 6) - const EVENT_9C7 ; 9C7, (D87F, bit 7) - const EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE ; 9C8, (D880, bit 0) - const EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE ; 9C9, (D880, bit 1) - const EVENT_9CA ; 9CA, (D880, bit 2) - const EVENT_9CB ; 9CB, (D880, bit 3) - const EVENT_9CC ; 9CC, (D880, bit 4) - const EVENT_9CD ; 9CD, (D880, bit 5) - const EVENT_9CE ; 9CE, (D880, bit 6) - const EVENT_9CF ; 9CF, (D880, bit 7) - const EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE ; 9D0, (D881, bit 0) - const EVENT_SEAFOAM4_BOULDER2_DOWN_HOLE ; 9D1, (D881, bit 1) - const EVENT_9D2 ; 9D2, (D881, bit 2) - const EVENT_9D3 ; 9D3, (D881, bit 3) - const EVENT_9D4 ; 9D4, (D881, bit 4) - const EVENT_9D5 ; 9D5, (D881, bit 5) - const EVENT_9D6 ; 9D6, (D881, bit 6) - const EVENT_9D7 ; 9D7, (D881, bit 7) - const EVENT_9D8 ; 9D8, (D882, bit 0) - const EVENT_9D9 ; 9D9, (D882, bit 1) - const EVENT_BEAT_ARTICUNO ; 9DA, (D882, bit 2) - const EVENT_9DB ; 9DB, (D882, bit 3) - const EVENT_9DC ; 9DC, (D882, bit 4) - const EVENT_9DD ; 9DD, (D882, bit 5) - const EVENT_9DE ; 9DE, (D882, bit 6) - const EVENT_9DF ; 9DF, (D882, bit 7) - const EVENT_9E0 ; 9E0, (D883, bit 0) - const EVENT_9E1 ; 9E1, (D883, bit 1) - const EVENT_9E2 ; 9E2, (D883, bit 2) - const EVENT_9E3 ; 9E3, (D883, bit 3) - const EVENT_9E4 ; 9E4, (D883, bit 4) - const EVENT_9E5 ; 9E5, (D883, bit 5) - const EVENT_9E6 ; 9E6, (D883, bit 6) - const EVENT_9E7 ; 9E7, (D883, bit 7) - const EVENT_9E8 ; 9E8, (D884, bit 0) - const EVENT_9E9 ; 9E9, (D884, bit 1) - const EVENT_9EA ; 9EA, (D884, bit 2) - const EVENT_9EB ; 9EB, (D884, bit 3) - const EVENT_9EC ; 9EC, (D884, bit 4) - const EVENT_9ED ; 9ED, (D884, bit 5) - const EVENT_9EE ; 9EE, (D884, bit 6) - const EVENT_9EF ; 9EF, (D884, bit 7) - const EVENT_9F0 ; 9F0, (D885, bit 0) - const EVENT_9F1 ; 9F1, (D885, bit 1) - const EVENT_9F2 ; 9F2, (D885, bit 2) - const EVENT_9F3 ; 9F3, (D885, bit 3) - const EVENT_9F4 ; 9F4, (D885, bit 4) - const EVENT_9F5 ; 9F5, (D885, bit 5) - const EVENT_9F6 ; 9F6, (D885, bit 6) - const EVENT_9F7 ; 9F7, (D885, bit 7) - const EVENT_9F8 ; 9F8, (D886, bit 0) - const EVENT_9F9 ; 9F9, (D886, bit 1) - const EVENT_9FA ; 9FA, (D886, bit 2) - const EVENT_9FB ; 9FB, (D886, bit 3) - const EVENT_9FC ; 9FC, (D886, bit 4) - const EVENT_9FD ; 9FD, (D886, bit 5) - const EVENT_9FE ; 9FE, (D886, bit 6) - const EVENT_9FF ; 9FF, (D886, bit 7) + const_def + const EVENT_FOLLOWED_OAK_INTO_LAB + const EVENT_001 + const EVENT_002 + const EVENT_HALL_OF_FAME_DEX_RATING + const EVENT_004 + const EVENT_005 + const EVENT_PALLET_AFTER_GETTING_POKEBALLS + const EVENT_007 + const EVENT_008 + const EVENT_009 + const EVENT_00A + const EVENT_00B + const EVENT_00C + const EVENT_00D + const EVENT_00E + const EVENT_00F + const EVENT_010 + const EVENT_011 + const EVENT_012 + const EVENT_013 + const EVENT_014 + const EVENT_015 + const EVENT_016 + const EVENT_017 + const EVENT_GOT_TOWN_MAP + const EVENT_ENTERED_BLUES_HOUSE + const EVENT_DAISY_WALKING + const EVENT_01B + const EVENT_01C + const EVENT_01D + const EVENT_01E + const EVENT_01F + const EVENT_FOLLOWED_OAK_INTO_LAB_2 + const EVENT_OAK_ASKED_TO_CHOOSE_MON + const EVENT_GOT_STARTER + const EVENT_BATTLED_RIVAL_IN_OAKS_LAB + const EVENT_GOT_POKEBALLS_FROM_OAK + const EVENT_GOT_POKEDEX + const EVENT_PALLET_AFTER_GETTING_POKEBALLS_2 + const EVENT_OAK_APPEARED_IN_PALLET + const EVENT_VIRIDIAN_GYM_OPEN + const EVENT_GOT_TM42 + const EVENT_02A + const EVENT_02B + const EVENT_02C + const EVENT_02D + const EVENT_02E + const EVENT_02F + const EVENT_030 + const EVENT_031 + const EVENT_032 + const EVENT_033 + const EVENT_034 + const EVENT_035 + const EVENT_036 + const EVENT_037 + const EVENT_OAK_GOT_PARCEL + const EVENT_GOT_OAKS_PARCEL + const EVENT_03A + const EVENT_03B + const EVENT_03C + const EVENT_03D + const EVENT_03E + const EVENT_03F + const EVENT_040 + const EVENT_041 + const EVENT_042 + const EVENT_043 + const EVENT_044 + const EVENT_045 + const EVENT_046 + const EVENT_047 + const EVENT_048 + const EVENT_049 + const EVENT_04A + const EVENT_04B + const EVENT_04C + const EVENT_04D + const EVENT_04E + const EVENT_04F + const EVENT_GOT_TM27 + const EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI + const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_0 + const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_1 + const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_2 + const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_3 + const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_4 + const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_5 + const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_6 + const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_7 + const EVENT_05A + const EVENT_05B + const EVENT_05C + const EVENT_05D + const EVENT_05E + const EVENT_05F + const EVENT_060 + const EVENT_061 + const EVENT_062 + const EVENT_063 + const EVENT_064 + const EVENT_065 + const EVENT_066 + const EVENT_067 + const EVENT_BOUGHT_MUSEUM_TICKET + const EVENT_GOT_OLD_AMBER + const EVENT_06A + const EVENT_06B + const EVENT_06C + const EVENT_06D + const EVENT_06E + const EVENT_06F + const EVENT_070 + const EVENT_071 + const EVENT_BEAT_PEWTER_GYM_TRAINER_0 + const EVENT_073 + const EVENT_074 + const EVENT_075 + const EVENT_GOT_TM34 + const EVENT_BEAT_BROCK + const EVENT_078 + const EVENT_079 + const EVENT_07A + const EVENT_07B + const EVENT_07C + const EVENT_07D + const EVENT_07E + const EVENT_07F + const EVENT_080 + const EVENT_081 + const EVENT_082 + const EVENT_083 + const EVENT_084 + const EVENT_085 + const EVENT_086 + const EVENT_087 + const EVENT_088 + const EVENT_089 + const EVENT_08A + const EVENT_08B + const EVENT_08C + const EVENT_08D + const EVENT_08E + const EVENT_08F + const EVENT_090 + const EVENT_091 + const EVENT_092 + const EVENT_093 + const EVENT_094 + const EVENT_095 + const EVENT_096 + const EVENT_097 + const EVENT_BEAT_CERULEAN_RIVAL + const EVENT_099 + const EVENT_09A + const EVENT_09B + const EVENT_09C + const EVENT_09D + const EVENT_09E + const EVENT_09F + const EVENT_0A0 + const EVENT_0A1 + const EVENT_0A2 + const EVENT_0A3 + const EVENT_0A4 + const EVENT_0A5 + const EVENT_0A6 + const EVENT_BEAT_CERULEAN_ROCKET_THIEF + const EVENT_0A8 + const EVENT_0A9 + const EVENT_0AA + const EVENT_0AB + const EVENT_0AC + const EVENT_0AD + const EVENT_0AE + const EVENT_0AF + const EVENT_0B0 + const EVENT_0B1 + const EVENT_0B2 + const EVENT_0B3 + const EVENT_0B4 + const EVENT_0B5 + const EVENT_0B6 + const EVENT_0B7 + const EVENT_0B8 + const EVENT_0B9 + const EVENT_BEAT_CERULEAN_GYM_TRAINER_0 + const EVENT_BEAT_CERULEAN_GYM_TRAINER_1 + const EVENT_0BC + const EVENT_0BD + const EVENT_GOT_TM11 + const EVENT_BEAT_MISTY + const EVENT_GOT_BICYCLE + const EVENT_0C1 + const EVENT_0C2 + const EVENT_0C3 + const EVENT_0C4 + const EVENT_0C5 + const EVENT_0C6 + const EVENT_0C7 + const EVENT_0C8 + const EVENT_0C9 + const EVENT_0CA + const EVENT_0CB + const EVENT_0CC + const EVENT_0CD + const EVENT_0CE + const EVENT_0CF + const EVENT_0D0 + const EVENT_0D1 + const EVENT_0D2 + const EVENT_0D3 + const EVENT_0D4 + const EVENT_0D5 + const EVENT_0D6 + const EVENT_0D7 + const EVENT_0D8 + const EVENT_0D9 + const EVENT_0DA + const EVENT_0DB + const EVENT_0DC + const EVENT_0DD + const EVENT_0DE + const EVENT_0DF + const EVENT_0E0 + const EVENT_0E1 + const EVENT_0E2 + const EVENT_0E3 + const EVENT_0E4 + const EVENT_0E5 + const EVENT_0E6 + const EVENT_0E7 + const EVENT_0E8 + const EVENT_0E9 + const EVENT_0EA + const EVENT_0EB + const EVENT_0EC + const EVENT_0ED + const EVENT_POKEMON_TOWER_RIVAL_ON_LEFT + const EVENT_BEAT_POKEMON_TOWER_RIVAL + const EVENT_0F0 + const EVENT_BEAT_POKEMONTOWER_3_TRAINER_0 + const EVENT_BEAT_POKEMONTOWER_3_TRAINER_1 + const EVENT_BEAT_POKEMONTOWER_3_TRAINER_2 + const EVENT_0F4 + const EVENT_0F5 + const EVENT_0F6 + const EVENT_0F7 + const EVENT_0F8 + const EVENT_BEAT_POKEMONTOWER_4_TRAINER_0 + const EVENT_BEAT_POKEMONTOWER_4_TRAINER_1 + const EVENT_BEAT_POKEMONTOWER_4_TRAINER_2 + const EVENT_0FC + const EVENT_0FD + const EVENT_0FE + const EVENT_0FF + const EVENT_100 + const EVENT_101 + const EVENT_BEAT_POKEMONTOWER_5_TRAINER_0 + const EVENT_BEAT_POKEMONTOWER_5_TRAINER_1 + const EVENT_BEAT_POKEMONTOWER_5_TRAINER_2 + const EVENT_BEAT_POKEMONTOWER_5_TRAINER_3 + const EVENT_106 + const EVENT_IN_PURIFIED_ZONE + const EVENT_108 + const EVENT_BEAT_POKEMONTOWER_6_TRAINER_0 + const EVENT_BEAT_POKEMONTOWER_6_TRAINER_1 + const EVENT_BEAT_POKEMONTOWER_6_TRAINER_2 + const EVENT_10C + const EVENT_10D + const EVENT_10E + const EVENT_BEAT_GHOST_MAROWAK + const EVENT_110 + const EVENT_BEAT_POKEMONTOWER_7_TRAINER_0 + const EVENT_BEAT_POKEMONTOWER_7_TRAINER_1 + const EVENT_BEAT_POKEMONTOWER_7_TRAINER_2 + const EVENT_114 + const EVENT_115 + const EVENT_116 + const EVENT_RESCUED_MR_FUJI_2 + const EVENT_118 + const EVENT_119 + const EVENT_11A + const EVENT_11B + const EVENT_11C + const EVENT_11D + const EVENT_11E + const EVENT_11F + const EVENT_120 + const EVENT_121 + const EVENT_122 + const EVENT_123 + const EVENT_124 + const EVENT_125 + const EVENT_126 + const EVENT_127 + const EVENT_GOT_POKE_FLUTE + const EVENT_129 + const EVENT_12A + const EVENT_12B + const EVENT_12C + const EVENT_12D + const EVENT_12E + const EVENT_12F + const EVENT_130 + const EVENT_131 + const EVENT_132 + const EVENT_133 + const EVENT_134 + const EVENT_135 + const EVENT_136 + const EVENT_137 + const EVENT_138 + const EVENT_139 + const EVENT_13A + const EVENT_13B + const EVENT_13C + const EVENT_13D + const EVENT_13E + const EVENT_13F + const EVENT_140 + const EVENT_141 + const EVENT_142 + const EVENT_143 + const EVENT_144 + const EVENT_145 + const EVENT_146 + const EVENT_147 + const EVENT_148 + const EVENT_149 + const EVENT_14A + const EVENT_14B + const EVENT_14C + const EVENT_14D + const EVENT_14E + const EVENT_14F + const EVENT_150 + const EVENT_GOT_BIKE_VOUCHER + const EVENT_152 + const EVENT_153 + const EVENT_154 + const EVENT_155 + const EVENT_SEEL_FAN_BOAST + const EVENT_PIKACHU_FAN_BOAST + const EVENT_158 + const EVENT_159 + const EVENT_15A + const EVENT_15B + const EVENT_15C + const EVENT_15D + const EVENT_15E + const EVENT_15F + const EVENT_2ND_LOCK_OPENED + const EVENT_1ST_LOCK_OPENED + const EVENT_BEAT_VERMILION_GYM_TRAINER_0 + const EVENT_BEAT_VERMILION_GYM_TRAINER_1 + const EVENT_BEAT_VERMILION_GYM_TRAINER_2 + const EVENT_165 + const EVENT_GOT_TM24 + const EVENT_BEAT_LT_SURGE + const EVENT_168 + const EVENT_169 + const EVENT_16A + const EVENT_16B + const EVENT_16C + const EVENT_16D + const EVENT_16E + const EVENT_16F + const EVENT_170 + const EVENT_171 + const EVENT_172 + const EVENT_173 + const EVENT_174 + const EVENT_175 + const EVENT_176 + const EVENT_177 + const EVENT_178 + const EVENT_179 + const EVENT_17A + const EVENT_17B + const EVENT_17C + const EVENT_17D + const EVENT_17E + const EVENT_17F + const EVENT_GOT_TM41 + const EVENT_181 + const EVENT_182 + const EVENT_183 + const EVENT_184 + const EVENT_185 + const EVENT_186 + const EVENT_187 + const EVENT_188 + const EVENT_189 + const EVENT_18A + const EVENT_18B + const EVENT_GOT_TM13 + const EVENT_GOT_TM48 + const EVENT_GOT_TM49 + const EVENT_GOT_TM18 + const EVENT_190 + const EVENT_191 + const EVENT_192 + const EVENT_193 + const EVENT_194 + const EVENT_195 + const EVENT_196 + const EVENT_197 + const EVENT_198 + const EVENT_199 + const EVENT_19A + const EVENT_19B + const EVENT_19C + const EVENT_19D + const EVENT_19E + const EVENT_19F + const EVENT_1A0 + const EVENT_1A1 + const EVENT_1A2 + const EVENT_1A3 + const EVENT_1A4 + const EVENT_1A5 + const EVENT_1A6 + const EVENT_1A7 + const EVENT_GOT_TM21 + const EVENT_BEAT_ERIKA + const EVENT_BEAT_CELADON_GYM_TRAINER_0 + const EVENT_BEAT_CELADON_GYM_TRAINER_1 + const EVENT_BEAT_CELADON_GYM_TRAINER_2 + const EVENT_BEAT_CELADON_GYM_TRAINER_3 + const EVENT_BEAT_CELADON_GYM_TRAINER_4 + const EVENT_BEAT_CELADON_GYM_TRAINER_5 + const EVENT_BEAT_CELADON_GYM_TRAINER_6 + const EVENT_1B1 + const EVENT_1B2 + const EVENT_1B3 + const EVENT_1B4 + const EVENT_1B5 + const EVENT_1B6 + const EVENT_1B7 + const EVENT_1B8 + const EVENT_FOUND_ROCKET_HIDEOUT + const EVENT_GOT_10_COINS + const EVENT_GOT_20_COINS + const EVENT_GOT_20_COINS_2 + const EVENT_1BD + const EVENT_1BE + const EVENT_1BF + const EVENT_1C0 + const EVENT_1C1 + const EVENT_1C2 + const EVENT_1C3 + const EVENT_1C4 + const EVENT_1C5 + const EVENT_1C6 + const EVENT_1C7 + const EVENT_1C8 + const EVENT_1C9 + const EVENT_1CA + const EVENT_1CB + const EVENT_1CC + const EVENT_1CD + const EVENT_1CE + const EVENT_1CF + const EVENT_1D0 + const EVENT_1D1 + const EVENT_1D2 + const EVENT_1D3 + const EVENT_1D4 + const EVENT_1D5 + const EVENT_1D6 + const EVENT_1D7 + const EVENT_1D8 + const EVENT_1D9 + const EVENT_1DA + const EVENT_1DB + const EVENT_1DC + const EVENT_1DD + const EVENT_1DE + const EVENT_1DF + const EVENT_GOT_COIN_CASE + const EVENT_1E1 + const EVENT_1E2 + const EVENT_1E3 + const EVENT_1E4 + const EVENT_1E5 + const EVENT_1E6 + const EVENT_1E7 + const EVENT_1E8 + const EVENT_1E9 + const EVENT_1EA + const EVENT_1EB + const EVENT_1EC + const EVENT_1ED + const EVENT_1EE + const EVENT_1EF + const EVENT_1F0 + const EVENT_1F1 + const EVENT_1F2 + const EVENT_1F3 + const EVENT_1F4 + const EVENT_1F5 + const EVENT_1F6 + const EVENT_1F7 + const EVENT_1F8 + const EVENT_1F9 + const EVENT_1FA + const EVENT_1FB + const EVENT_1FC + const EVENT_1FD + const EVENT_1FE + const EVENT_1FF + const EVENT_200 + const EVENT_201 + const EVENT_202 + const EVENT_203 + const EVENT_204 + const EVENT_205 + const EVENT_206 + const EVENT_207 + const EVENT_208 + const EVENT_209 + const EVENT_20A + const EVENT_20B + const EVENT_20C + const EVENT_20D + const EVENT_20E + const EVENT_20F + const EVENT_210 + const EVENT_211 + const EVENT_212 + const EVENT_213 + const EVENT_214 + const EVENT_215 + const EVENT_216 + const EVENT_217 + const EVENT_218 + const EVENT_219 + const EVENT_21A + const EVENT_21B + const EVENT_21C + const EVENT_21D + const EVENT_21E + const EVENT_21F + const EVENT_220 + const EVENT_221 + const EVENT_222 + const EVENT_223 + const EVENT_224 + const EVENT_225 + const EVENT_226 + const EVENT_227 + const EVENT_228 + const EVENT_229 + const EVENT_22A + const EVENT_22B + const EVENT_22C + const EVENT_22D + const EVENT_22E + const EVENT_22F + const EVENT_230 + const EVENT_231 + const EVENT_232 + const EVENT_233 + const EVENT_234 + const EVENT_235 + const EVENT_236 + const EVENT_237 + const EVENT_GOT_HM04 + const EVENT_GAVE_GOLD_TEETH + const EVENT_23A + const EVENT_23B + const EVENT_23C + const EVENT_23D + const EVENT_23E + const EVENT_23F + const EVENT_240 + const EVENT_241 + const EVENT_242 + const EVENT_243 + const EVENT_244 + const EVENT_245 + const EVENT_246 + const EVENT_247 + const EVENT_248 + const EVENT_249 + const EVENT_24A + const EVENT_24B + const EVENT_24C + const EVENT_24D + const EVENT_SAFARI_GAME_OVER + const EVENT_IN_SAFARI_ZONE + const EVENT_250 + const EVENT_251 + const EVENT_252 + const EVENT_253 + const EVENT_254 + const EVENT_255 + const EVENT_256 + const EVENT_257 + const EVENT_GOT_TM06 + const EVENT_BEAT_KOGA + const EVENT_BEAT_FUCHSIA_GYM_TRAINER_0 + const EVENT_BEAT_FUCHSIA_GYM_TRAINER_1 + const EVENT_BEAT_FUCHSIA_GYM_TRAINER_2 + const EVENT_BEAT_FUCHSIA_GYM_TRAINER_3 + const EVENT_BEAT_FUCHSIA_GYM_TRAINER_4 + const EVENT_BEAT_FUCHSIA_GYM_TRAINER_5 + const EVENT_260 + const EVENT_261 + const EVENT_262 + const EVENT_263 + const EVENT_264 + const EVENT_265 + const EVENT_266 + const EVENT_267 + const EVENT_268 + const EVENT_269 + const EVENT_26A + const EVENT_26B + const EVENT_26C + const EVENT_26D + const EVENT_26E + const EVENT_26F + const EVENT_270 + const EVENT_271 + const EVENT_272 + const EVENT_273 + const EVENT_274 + const EVENT_275 + const EVENT_276 + const EVENT_277 + const EVENT_MANSION_SWITCH_ON + const EVENT_279 + const EVENT_27A + const EVENT_27B + const EVENT_27C + const EVENT_27D + const EVENT_27E + const EVENT_27F + const EVENT_280 + const EVENT_281 + const EVENT_282 + const EVENT_283 + const EVENT_284 + const EVENT_285 + const EVENT_286 + const EVENT_287 + const EVENT_288 + const EVENT_BEAT_MANSION_1_TRAINER_0 + const EVENT_28A + const EVENT_28B + const EVENT_28C + const EVENT_28D + const EVENT_28E + const EVENT_28F + const EVENT_290 + const EVENT_291 + const EVENT_292 + const EVENT_293 + const EVENT_294 + const EVENT_295 + const EVENT_296 + const EVENT_297 + const EVENT_GOT_TM38 + const EVENT_BEAT_BLAINE + const EVENT_BEAT_CINNABAR_GYM_TRAINER_0 + const EVENT_BEAT_CINNABAR_GYM_TRAINER_1 + const EVENT_BEAT_CINNABAR_GYM_TRAINER_2 + const EVENT_BEAT_CINNABAR_GYM_TRAINER_3 + const EVENT_BEAT_CINNABAR_GYM_TRAINER_4 + const EVENT_BEAT_CINNABAR_GYM_TRAINER_5 + const EVENT_BEAT_CINNABAR_GYM_TRAINER_6 + const EVENT_2A1 + const EVENT_2A2 + const EVENT_2A3 + const EVENT_2A4 + const EVENT_2A5 + const EVENT_2A6 + const EVENT_2A7 + const EVENT_CINNABAR_GYM_GATE0_UNLOCKED + const EVENT_CINNABAR_GYM_GATE1_UNLOCKED + const EVENT_CINNABAR_GYM_GATE2_UNLOCKED + const EVENT_CINNABAR_GYM_GATE3_UNLOCKED + const EVENT_CINNABAR_GYM_GATE4_UNLOCKED + const EVENT_CINNABAR_GYM_GATE5_UNLOCKED + const EVENT_CINNABAR_GYM_GATE6_UNLOCKED + const EVENT_2AF + const EVENT_2B0 + const EVENT_2B1 + const EVENT_2B2 + const EVENT_2B3 + const EVENT_2B4 + const EVENT_2B5 + const EVENT_2B6 + const EVENT_2B7 + const EVENT_2B8 + const EVENT_2B9 + const EVENT_2BA + const EVENT_2BB + const EVENT_2BC + const EVENT_2BD + const EVENT_2BE + const EVENT_2BF + const EVENT_2C0 + const EVENT_2C1 + const EVENT_2C2 + const EVENT_2C3 + const EVENT_2C4 + const EVENT_2C5 + const EVENT_2C6 + const EVENT_2C7 + const EVENT_2C8 + const EVENT_2C9 + const EVENT_2CA + const EVENT_2CB + const EVENT_2CC + const EVENT_2CD + const EVENT_2CE + const EVENT_2CF + const EVENT_2D0 + const EVENT_2D1 + const EVENT_2D2 + const EVENT_2D3 + const EVENT_2D4 + const EVENT_2D5 + const EVENT_2D6 + const EVENT_GOT_TM35 + const EVENT_2D8 + const EVENT_2D9 + const EVENT_2DA + const EVENT_2DB + const EVENT_2DC + const EVENT_2DD + const EVENT_2DE + const EVENT_2DF + const EVENT_GAVE_FOSSIL_TO_LAB + const EVENT_LAB_STILL_REVIVING_FOSSIL + const EVENT_LAB_HANDING_OVER_FOSSIL_MON + const EVENT_2E3 + const EVENT_2E4 + const EVENT_2E5 + const EVENT_2E6 + const EVENT_2E7 + const EVENT_2E8 + const EVENT_2E9 + const EVENT_2EA + const EVENT_2EB + const EVENT_2EC + const EVENT_2ED + const EVENT_2EE + const EVENT_2EF + const EVENT_2F0 + const EVENT_2F1 + const EVENT_2F2 + const EVENT_2F3 + const EVENT_2F4 + const EVENT_2F5 + const EVENT_2F6 + const EVENT_2F7 + const EVENT_2F8 + const EVENT_2F9 + const EVENT_2FA + const EVENT_2FB + const EVENT_2FC + const EVENT_2FD + const EVENT_2FE + const EVENT_2FF + const EVENT_300 + const EVENT_301 + const EVENT_302 + const EVENT_303 + const EVENT_304 + const EVENT_305 + const EVENT_306 + const EVENT_307 + const EVENT_308 + const EVENT_309 + const EVENT_30A + const EVENT_30B + const EVENT_30C + const EVENT_30D + const EVENT_30E + const EVENT_30F + const EVENT_310 + const EVENT_311 + const EVENT_312 + const EVENT_313 + const EVENT_314 + const EVENT_315 + const EVENT_316 + const EVENT_317 + const EVENT_318 + const EVENT_319 + const EVENT_31A + const EVENT_31B + const EVENT_31C + const EVENT_31D + const EVENT_31E + const EVENT_31F + const EVENT_320 + const EVENT_321 + const EVENT_322 + const EVENT_323 + const EVENT_324 + const EVENT_325 + const EVENT_326 + const EVENT_327 + const EVENT_328 + const EVENT_329 + const EVENT_32A + const EVENT_32B + const EVENT_32C + const EVENT_32D + const EVENT_32E + const EVENT_32F + const EVENT_330 + const EVENT_331 + const EVENT_332 + const EVENT_333 + const EVENT_334 + const EVENT_335 + const EVENT_336 + const EVENT_337 + const EVENT_338 + const EVENT_339 + const EVENT_33A + const EVENT_33B + const EVENT_33C + const EVENT_33D + const EVENT_33E + const EVENT_33F + const EVENT_GOT_TM31 + const EVENT_341 + const EVENT_342 + const EVENT_343 + const EVENT_344 + const EVENT_345 + const EVENT_346 + const EVENT_347 + const EVENT_348 + const EVENT_349 + const EVENT_34A + const EVENT_34B + const EVENT_34C + const EVENT_34D + const EVENT_34E + const EVENT_34F + const EVENT_DEFEATED_FIGHTING_DOJO + const EVENT_BEAT_KARATE_MASTER + const EVENT_BEAT_FIGHTING_DOJO_TRAINER_0 + const EVENT_BEAT_FIGHTING_DOJO_TRAINER_1 + const EVENT_BEAT_FIGHTING_DOJO_TRAINER_2 + const EVENT_BEAT_FIGHTING_DOJO_TRAINER_3 + const EVENT_GOT_HITMONLEE + const EVENT_GOT_HITMONCHAN + const EVENT_358 + const EVENT_359 + const EVENT_35A + const EVENT_35B + const EVENT_35C + const EVENT_35D + const EVENT_35E + const EVENT_35F + const EVENT_GOT_TM46 + const EVENT_BEAT_SABRINA + const EVENT_BEAT_SAFFRON_GYM_TRAINER_0 + const EVENT_BEAT_SAFFRON_GYM_TRAINER_1 + const EVENT_BEAT_SAFFRON_GYM_TRAINER_2 + const EVENT_BEAT_SAFFRON_GYM_TRAINER_3 + const EVENT_BEAT_SAFFRON_GYM_TRAINER_4 + const EVENT_BEAT_SAFFRON_GYM_TRAINER_5 + const EVENT_BEAT_SAFFRON_GYM_TRAINER_6 + const EVENT_369 + const EVENT_36A + const EVENT_36B + const EVENT_36C + const EVENT_36D + const EVENT_36E + const EVENT_36F + const EVENT_370 + const EVENT_371 + const EVENT_372 + const EVENT_373 + const EVENT_374 + const EVENT_375 + const EVENT_376 + const EVENT_377 + const EVENT_378 + const EVENT_379 + const EVENT_37A + const EVENT_37B + const EVENT_37C + const EVENT_37D + const EVENT_37E + const EVENT_37F + const EVENT_380 + const EVENT_381 + const EVENT_382 + const EVENT_383 + const EVENT_384 + const EVENT_385 + const EVENT_386 + const EVENT_387 + const EVENT_388 + const EVENT_389 + const EVENT_38A + const EVENT_38B + const EVENT_38C + const EVENT_38D + const EVENT_38E + const EVENT_38F + const EVENT_390 + const EVENT_391 + const EVENT_392 + const EVENT_393 + const EVENT_394 + const EVENT_395 + const EVENT_396 + const EVENT_SILPH_CO_RECEPTIONIST_AT_DESK + const EVENT_398 + const EVENT_399 + const EVENT_39A + const EVENT_39B + const EVENT_39C + const EVENT_39D + const EVENT_39E + const EVENT_39F + const EVENT_3A0 + const EVENT_3A1 + const EVENT_3A2 + const EVENT_3A3 + const EVENT_3A4 + const EVENT_3A5 + const EVENT_3A6 + const EVENT_3A7 + const EVENT_3A8 + const EVENT_3A9 + const EVENT_3AA + const EVENT_3AB + const EVENT_3AC + const EVENT_3AD + const EVENT_3AE + const EVENT_3AF + const EVENT_GOT_TM29 + const EVENT_3B1 + const EVENT_3B2 + const EVENT_3B3 + const EVENT_3B4 + const EVENT_3B5 + const EVENT_3B6 + const EVENT_3B7 + const EVENT_3B8 + const EVENT_3B9 + const EVENT_3BA + const EVENT_3BB + const EVENT_3BC + const EVENT_3BD + const EVENT_3BE + const EVENT_3BF + const EVENT_GOT_POTION_SAMPLE + const EVENT_3C1 + const EVENT_3C2 + const EVENT_3C3 + const EVENT_3C4 + const EVENT_3C5 + const EVENT_3C6 + const EVENT_3C7 + const EVENT_3C8 + const EVENT_3C9 + const EVENT_3CA + const EVENT_3CB + const EVENT_3CC + const EVENT_3CD + const EVENT_3CE + const EVENT_3CF + const EVENT_3D0 + const EVENT_3D1 + const EVENT_3D2 + const EVENT_3D3 + const EVENT_3D4 + const EVENT_3D5 + const EVENT_3D6 + const EVENT_3D7 + const EVENT_GOT_HM05 + const EVENT_3D9 + const EVENT_3DA + const EVENT_3DB + const EVENT_3DC + const EVENT_3DD + const EVENT_3DE + const EVENT_3DF + const EVENT_3E0 + const EVENT_3E1 + const EVENT_BEAT_ROUTE_3_TRAINER_0 + const EVENT_BEAT_ROUTE_3_TRAINER_1 + const EVENT_BEAT_ROUTE_3_TRAINER_2 + const EVENT_BEAT_ROUTE_3_TRAINER_3 + const EVENT_BEAT_ROUTE_3_TRAINER_4 + const EVENT_BEAT_ROUTE_3_TRAINER_5 + const EVENT_BEAT_ROUTE_3_TRAINER_6 + const EVENT_BEAT_ROUTE_3_TRAINER_7 + const EVENT_3EA + const EVENT_3EB + const EVENT_3EC + const EVENT_3ED + const EVENT_3EE + const EVENT_3EF + const EVENT_3F0 + const EVENT_3F1 + const EVENT_BEAT_ROUTE_4_TRAINER_0 + const EVENT_3F3 + const EVENT_3F4 + const EVENT_3F5 + const EVENT_3F6 + const EVENT_3F7 + const EVENT_3F8 + const EVENT_3F9 + const EVENT_3FA + const EVENT_3FB + const EVENT_3FC + const EVENT_3FD + const EVENT_3FE + const EVENT_BOUGHT_MAGIKARP + const EVENT_400 + const EVENT_401 + const EVENT_402 + const EVENT_403 + const EVENT_404 + const EVENT_405 + const EVENT_406 + const EVENT_407 + const EVENT_408 + const EVENT_409 + const EVENT_40A + const EVENT_40B + const EVENT_40C + const EVENT_40D + const EVENT_40E + const EVENT_40F + const EVENT_410 + const EVENT_BEAT_ROUTE_6_TRAINER_0 + const EVENT_BEAT_ROUTE_6_TRAINER_1 + const EVENT_BEAT_ROUTE_6_TRAINER_2 + const EVENT_BEAT_ROUTE_6_TRAINER_3 + const EVENT_BEAT_ROUTE_6_TRAINER_4 + const EVENT_BEAT_ROUTE_6_TRAINER_5 + const EVENT_417 + const EVENT_418 + const EVENT_419 + const EVENT_41A + const EVENT_41B + const EVENT_41C + const EVENT_41D + const EVENT_41E + const EVENT_41F + const EVENT_420 + const EVENT_421 + const EVENT_422 + const EVENT_423 + const EVENT_424 + const EVENT_425 + const EVENT_426 + const EVENT_427 + const EVENT_428 + const EVENT_429 + const EVENT_42A + const EVENT_42B + const EVENT_42C + const EVENT_42D + const EVENT_42E + const EVENT_42F + const EVENT_430 + const EVENT_BEAT_ROUTE_8_TRAINER_0 + const EVENT_BEAT_ROUTE_8_TRAINER_1 + const EVENT_BEAT_ROUTE_8_TRAINER_2 + const EVENT_BEAT_ROUTE_8_TRAINER_3 + const EVENT_BEAT_ROUTE_8_TRAINER_4 + const EVENT_BEAT_ROUTE_8_TRAINER_5 + const EVENT_BEAT_ROUTE_8_TRAINER_6 + const EVENT_BEAT_ROUTE_8_TRAINER_7 + const EVENT_BEAT_ROUTE_8_TRAINER_8 + const EVENT_43A + const EVENT_43B + const EVENT_43C + const EVENT_43D + const EVENT_43E + const EVENT_43F + const EVENT_440 + const EVENT_BEAT_ROUTE_9_TRAINER_0 + const EVENT_BEAT_ROUTE_9_TRAINER_1 + const EVENT_BEAT_ROUTE_9_TRAINER_2 + const EVENT_BEAT_ROUTE_9_TRAINER_3 + const EVENT_BEAT_ROUTE_9_TRAINER_4 + const EVENT_BEAT_ROUTE_9_TRAINER_5 + const EVENT_BEAT_ROUTE_9_TRAINER_6 + const EVENT_BEAT_ROUTE_9_TRAINER_7 + const EVENT_BEAT_ROUTE_9_TRAINER_8 + const EVENT_44A + const EVENT_44B + const EVENT_44C + const EVENT_44D + const EVENT_44E + const EVENT_44F + const EVENT_450 + const EVENT_BEAT_ROUTE_10_TRAINER_0 + const EVENT_BEAT_ROUTE_10_TRAINER_1 + const EVENT_BEAT_ROUTE_10_TRAINER_2 + const EVENT_BEAT_ROUTE_10_TRAINER_3 + const EVENT_BEAT_ROUTE_10_TRAINER_4 + const EVENT_BEAT_ROUTE_10_TRAINER_5 + const EVENT_457 + const EVENT_458 + const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_0 + const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_1 + const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_2 + const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_3 + const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_4 + const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_5 + const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_6 + const EVENT_460 + const EVENT_BEAT_POWER_PLANT_VOLTORB_0 + const EVENT_BEAT_POWER_PLANT_VOLTORB_1 + const EVENT_BEAT_POWER_PLANT_VOLTORB_2 + const EVENT_BEAT_POWER_PLANT_VOLTORB_3 + const EVENT_BEAT_POWER_PLANT_VOLTORB_4 + const EVENT_BEAT_POWER_PLANT_VOLTORB_5 + const EVENT_BEAT_POWER_PLANT_VOLTORB_6 + const EVENT_BEAT_POWER_PLANT_VOLTORB_7 + const EVENT_BEAT_ZAPDOS + const EVENT_46A + const EVENT_46B + const EVENT_46C + const EVENT_46D + const EVENT_46E + const EVENT_46F + const EVENT_470 + const EVENT_BEAT_ROUTE_11_TRAINER_0 + const EVENT_BEAT_ROUTE_11_TRAINER_1 + const EVENT_BEAT_ROUTE_11_TRAINER_2 + const EVENT_BEAT_ROUTE_11_TRAINER_3 + const EVENT_BEAT_ROUTE_11_TRAINER_4 + const EVENT_BEAT_ROUTE_11_TRAINER_5 + const EVENT_BEAT_ROUTE_11_TRAINER_6 + const EVENT_BEAT_ROUTE_11_TRAINER_7 + const EVENT_BEAT_ROUTE_11_TRAINER_8 + const EVENT_BEAT_ROUTE_11_TRAINER_9 + const EVENT_47B + const EVENT_47C + const EVENT_47D + const EVENT_47E + const EVENT_GOT_ITEMFINDER + const EVENT_GOT_TM39 + const EVENT_481 + const EVENT_BEAT_ROUTE_12_TRAINER_0 + const EVENT_BEAT_ROUTE_12_TRAINER_1 + const EVENT_BEAT_ROUTE_12_TRAINER_2 + const EVENT_BEAT_ROUTE_12_TRAINER_3 + const EVENT_BEAT_ROUTE_12_TRAINER_4 + const EVENT_BEAT_ROUTE_12_TRAINER_5 + const EVENT_BEAT_ROUTE_12_TRAINER_6 + const EVENT_489 + const EVENT_48A + const EVENT_48B + const EVENT_48C + const EVENT_48D + const EVENT_FIGHT_ROUTE12_SNORLAX + const EVENT_BEAT_ROUTE12_SNORLAX + const EVENT_490 + const EVENT_BEAT_ROUTE_13_TRAINER_0 + const EVENT_BEAT_ROUTE_13_TRAINER_1 + const EVENT_BEAT_ROUTE_13_TRAINER_2 + const EVENT_BEAT_ROUTE_13_TRAINER_3 + const EVENT_BEAT_ROUTE_13_TRAINER_4 + const EVENT_BEAT_ROUTE_13_TRAINER_5 + const EVENT_BEAT_ROUTE_13_TRAINER_6 + const EVENT_BEAT_ROUTE_13_TRAINER_7 + const EVENT_BEAT_ROUTE_13_TRAINER_8 + const EVENT_BEAT_ROUTE_13_TRAINER_9 + const EVENT_49B + const EVENT_49C + const EVENT_49D + const EVENT_49E + const EVENT_49F + const EVENT_4A0 + const EVENT_BEAT_ROUTE_14_TRAINER_0 + const EVENT_BEAT_ROUTE_14_TRAINER_1 + const EVENT_BEAT_ROUTE_14_TRAINER_2 + const EVENT_BEAT_ROUTE_14_TRAINER_3 + const EVENT_BEAT_ROUTE_14_TRAINER_4 + const EVENT_BEAT_ROUTE_14_TRAINER_5 + const EVENT_BEAT_ROUTE_14_TRAINER_6 + const EVENT_BEAT_ROUTE_14_TRAINER_7 + const EVENT_BEAT_ROUTE_14_TRAINER_8 + const EVENT_BEAT_ROUTE_14_TRAINER_9 + const EVENT_4AB + const EVENT_4AC + const EVENT_4AD + const EVENT_4AE + const EVENT_4AF + const EVENT_GOT_EXP_ALL + const EVENT_BEAT_ROUTE_15_TRAINER_0 + const EVENT_BEAT_ROUTE_15_TRAINER_1 + const EVENT_BEAT_ROUTE_15_TRAINER_2 + const EVENT_BEAT_ROUTE_15_TRAINER_3 + const EVENT_BEAT_ROUTE_15_TRAINER_4 + const EVENT_BEAT_ROUTE_15_TRAINER_5 + const EVENT_BEAT_ROUTE_15_TRAINER_6 + const EVENT_BEAT_ROUTE_15_TRAINER_7 + const EVENT_BEAT_ROUTE_15_TRAINER_8 + const EVENT_BEAT_ROUTE_15_TRAINER_9 + const EVENT_4BB + const EVENT_4BC + const EVENT_4BD + const EVENT_4BE + const EVENT_4BF + const EVENT_4C0 + const EVENT_BEAT_ROUTE_16_TRAINER_0 + const EVENT_BEAT_ROUTE_16_TRAINER_1 + const EVENT_BEAT_ROUTE_16_TRAINER_2 + const EVENT_BEAT_ROUTE_16_TRAINER_3 + const EVENT_BEAT_ROUTE_16_TRAINER_4 + const EVENT_BEAT_ROUTE_16_TRAINER_5 + const EVENT_4C7 + const EVENT_FIGHT_ROUTE16_SNORLAX + const EVENT_BEAT_ROUTE16_SNORLAX + const EVENT_4CA + const EVENT_4CB + const EVENT_4CC + const EVENT_4CD + const EVENT_GOT_HM02 + const EVENT_RESCUED_MR_FUJI + const EVENT_4D0 + const EVENT_BEAT_ROUTE_17_TRAINER_0 + const EVENT_BEAT_ROUTE_17_TRAINER_1 + const EVENT_BEAT_ROUTE_17_TRAINER_2 + const EVENT_BEAT_ROUTE_17_TRAINER_3 + const EVENT_BEAT_ROUTE_17_TRAINER_4 + const EVENT_BEAT_ROUTE_17_TRAINER_5 + const EVENT_BEAT_ROUTE_17_TRAINER_6 + const EVENT_BEAT_ROUTE_17_TRAINER_7 + const EVENT_BEAT_ROUTE_17_TRAINER_8 + const EVENT_BEAT_ROUTE_17_TRAINER_9 + const EVENT_4DB + const EVENT_4DC + const EVENT_4DD + const EVENT_4DE + const EVENT_4DF + const EVENT_4E0 + const EVENT_BEAT_ROUTE_18_TRAINER_0 + const EVENT_BEAT_ROUTE_18_TRAINER_1 + const EVENT_BEAT_ROUTE_18_TRAINER_2 + const EVENT_4E4 + const EVENT_4E5 + const EVENT_4E6 + const EVENT_4E7 + const EVENT_4E8 + const EVENT_4E9 + const EVENT_4EA + const EVENT_4EB + const EVENT_4EC + const EVENT_4ED + const EVENT_4EE + const EVENT_4EF + const EVENT_4F0 + const EVENT_BEAT_ROUTE_19_TRAINER_0 + const EVENT_BEAT_ROUTE_19_TRAINER_1 + const EVENT_BEAT_ROUTE_19_TRAINER_2 + const EVENT_BEAT_ROUTE_19_TRAINER_3 + const EVENT_BEAT_ROUTE_19_TRAINER_4 + const EVENT_BEAT_ROUTE_19_TRAINER_5 + const EVENT_BEAT_ROUTE_19_TRAINER_6 + const EVENT_BEAT_ROUTE_19_TRAINER_7 + const EVENT_BEAT_ROUTE_19_TRAINER_8 + const EVENT_BEAT_ROUTE_19_TRAINER_9 + const EVENT_4FB + const EVENT_4FC + const EVENT_4FD + const EVENT_4FE + const EVENT_4FF + const EVENT_IN_SEAFOAM_ISLANDS + const EVENT_BEAT_ROUTE_20_TRAINER_0 + const EVENT_BEAT_ROUTE_20_TRAINER_1 + const EVENT_BEAT_ROUTE_20_TRAINER_2 + const EVENT_BEAT_ROUTE_20_TRAINER_3 + const EVENT_BEAT_ROUTE_20_TRAINER_4 + const EVENT_BEAT_ROUTE_20_TRAINER_5 + const EVENT_BEAT_ROUTE_20_TRAINER_6 + const EVENT_BEAT_ROUTE_20_TRAINER_7 + const EVENT_BEAT_ROUTE_20_TRAINER_8 + const EVENT_BEAT_ROUTE_20_TRAINER_9 + const EVENT_50B + const EVENT_50C + const EVENT_50D + const EVENT_SEAFOAM1_BOULDER1_DOWN_HOLE + const EVENT_SEAFOAM1_BOULDER2_DOWN_HOLE + const EVENT_510 + const EVENT_BEAT_ROUTE_21_TRAINER_0 + const EVENT_BEAT_ROUTE_21_TRAINER_1 + const EVENT_BEAT_ROUTE_21_TRAINER_2 + const EVENT_BEAT_ROUTE_21_TRAINER_3 + const EVENT_BEAT_ROUTE_21_TRAINER_4 + const EVENT_BEAT_ROUTE_21_TRAINER_5 + const EVENT_BEAT_ROUTE_21_TRAINER_6 + const EVENT_BEAT_ROUTE_21_TRAINER_7 + const EVENT_BEAT_ROUTE_21_TRAINER_8 + const EVENT_51A + const EVENT_51B + const EVENT_51C + const EVENT_51D + const EVENT_51E + const EVENT_51F + const EVENT_1ST_ROUTE22_RIVAL_BATTLE + const EVENT_2ND_ROUTE22_RIVAL_BATTLE + const EVENT_522 + const EVENT_523 + const EVENT_524 + const EVENT_BEAT_ROUTE22_RIVAL_1ST_BATTLE + const EVENT_BEAT_ROUTE22_RIVAL_2ND_BATTLE + const EVENT_ROUTE22_RIVAL_WANTS_BATTLE + const EVENT_528 + const EVENT_529 + const EVENT_52A + const EVENT_52B + const EVENT_52C + const EVENT_52D + const EVENT_52E + const EVENT_52F + const EVENT_PASSED_CASCADEBADGE_CHECK + const EVENT_PASSED_THUNDERBADGE_CHECK + const EVENT_PASSED_RAINBOWBADGE_CHECK + const EVENT_PASSED_SOULBADGE_CHECK + const EVENT_PASSED_MARSHBADGE_CHECK + const EVENT_PASSED_VOLCANOBADGE_CHECK + const EVENT_PASSED_EARTHBADGE_CHECK + const EVENT_537 + const EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1 + const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_0 + const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_1 + const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_2 + const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_3 + const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_4 + const EVENT_BEAT_MOLTRES + const EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH2 + const EVENT_GOT_NUGGET + const EVENT_BEAT_ROUTE24_ROCKET + const EVENT_BEAT_ROUTE_24_TRAINER_0 + const EVENT_BEAT_ROUTE_24_TRAINER_1 + const EVENT_BEAT_ROUTE_24_TRAINER_2 + const EVENT_BEAT_ROUTE_24_TRAINER_3 + const EVENT_BEAT_ROUTE_24_TRAINER_4 + const EVENT_BEAT_ROUTE_24_TRAINER_5 + const EVENT_548 + const EVENT_NUGGET_REWARD_AVAILABLE + const EVENT_54A + const EVENT_54B + const EVENT_54C + const EVENT_54D + const EVENT_54E + const EVENT_54F + const EVENT_MET_BILL + const EVENT_BEAT_ROUTE_25_TRAINER_0 + const EVENT_BEAT_ROUTE_25_TRAINER_1 + const EVENT_BEAT_ROUTE_25_TRAINER_2 + const EVENT_BEAT_ROUTE_25_TRAINER_3 + const EVENT_BEAT_ROUTE_25_TRAINER_4 + const EVENT_BEAT_ROUTE_25_TRAINER_5 + const EVENT_BEAT_ROUTE_25_TRAINER_6 + const EVENT_BEAT_ROUTE_25_TRAINER_7 + const EVENT_BEAT_ROUTE_25_TRAINER_8 + const EVENT_55A + const EVENT_USED_CELL_SEPARATOR_ON_BILL + const EVENT_GOT_SS_TICKET + const EVENT_MET_BILL_2 + const EVENT_BILL_SAID_USE_CELL_SEPARATOR + const EVENT_LEFT_BILLS_HOUSE_AFTER_HELPING + const EVENT_560 + const EVENT_561 + const EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_0 + const EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_1 + const EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_2 + const EVENT_565 + const EVENT_566 + const EVENT_567 + const EVENT_568 + const EVENT_569 + const EVENT_56A + const EVENT_56B + const EVENT_56C + const EVENT_56D + const EVENT_56E + const EVENT_56F + const EVENT_570 + const EVENT_BEAT_MT_MOON_1_TRAINER_0 + const EVENT_BEAT_MT_MOON_1_TRAINER_1 + const EVENT_BEAT_MT_MOON_1_TRAINER_2 + const EVENT_BEAT_MT_MOON_1_TRAINER_3 + const EVENT_BEAT_MT_MOON_1_TRAINER_4 + const EVENT_BEAT_MT_MOON_1_TRAINER_5 + const EVENT_BEAT_MT_MOON_1_TRAINER_6 + const EVENT_578 + const EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD + const EVENT_BEAT_MT_MOON_3_TRAINER_0 + const EVENT_BEAT_MT_MOON_3_TRAINER_1 + const EVENT_BEAT_MT_MOON_3_TRAINER_2 + const EVENT_BEAT_MT_MOON_3_TRAINER_3 + const EVENT_GOT_DOME_FOSSIL + const EVENT_GOT_HELIX_FOSSIL + const EVENT_580 + const EVENT_581 + const EVENT_582 + const EVENT_583 + const EVENT_584 + const EVENT_585 + const EVENT_586 + const EVENT_587 + const EVENT_588 + const EVENT_589 + const EVENT_58A + const EVENT_58B + const EVENT_58C + const EVENT_58D + const EVENT_58E + const EVENT_58F + const EVENT_590 + const EVENT_591 + const EVENT_592 + const EVENT_593 + const EVENT_594 + const EVENT_595 + const EVENT_596 + const EVENT_597 + const EVENT_598 + const EVENT_599 + const EVENT_59A + const EVENT_59B + const EVENT_59C + const EVENT_59D + const EVENT_59E + const EVENT_59F + const EVENT_5A0 + const EVENT_5A1 + const EVENT_5A2 + const EVENT_5A3 + const EVENT_5A4 + const EVENT_5A5 + const EVENT_5A6 + const EVENT_5A7 + const EVENT_5A8 + const EVENT_5A9 + const EVENT_5AA + const EVENT_5AB + const EVENT_5AC + const EVENT_5AD + const EVENT_5AE + const EVENT_5AF + const EVENT_5B0 + const EVENT_5B1 + const EVENT_5B2 + const EVENT_5B3 + const EVENT_5B4 + const EVENT_5B5 + const EVENT_5B6 + const EVENT_5B7 + const EVENT_5B8 + const EVENT_5B9 + const EVENT_5BA + const EVENT_5BB + const EVENT_5BC + const EVENT_5BD + const EVENT_5BE + const EVENT_5BF + const EVENT_5C0 + const EVENT_5C1 + const EVENT_5C2 + const EVENT_5C3 + const EVENT_BEAT_SS_ANNE_5_TRAINER_0 + const EVENT_BEAT_SS_ANNE_5_TRAINER_1 + const EVENT_5C6 + const EVENT_5C7 + const EVENT_5C8 + const EVENT_5C9 + const EVENT_5CA + const EVENT_5CB + const EVENT_5CC + const EVENT_5CD + const EVENT_5CE + const EVENT_5CF + const EVENT_5D0 + const EVENT_5D1 + const EVENT_5D2 + const EVENT_5D3 + const EVENT_5D4 + const EVENT_5D5 + const EVENT_5D6 + const EVENT_5D7 + const EVENT_5D8 + const EVENT_5D9 + const EVENT_5DA + const EVENT_5DB + const EVENT_5DC + const EVENT_5DD + const EVENT_5DE + const EVENT_5DF + const EVENT_GOT_HM01 + const EVENT_RUBBED_CAPTAINS_BACK + const EVENT_SS_ANNE_LEFT + const EVENT_WALKED_PAST_GUARD_AFTER_SS_ANNE_LEFT + const EVENT_STARTED_WALKING_OUT_OF_DOCK + const EVENT_WALKED_OUT_OF_DOCK + const EVENT_5E6 + const EVENT_5E7 + const EVENT_5E8 + const EVENT_5E9 + const EVENT_5EA + const EVENT_5EB + const EVENT_5EC + const EVENT_5ED + const EVENT_5EE + const EVENT_5EF + const EVENT_5F0 + const EVENT_BEAT_SS_ANNE_8_TRAINER_0 + const EVENT_BEAT_SS_ANNE_8_TRAINER_1 + const EVENT_BEAT_SS_ANNE_8_TRAINER_2 + const EVENT_BEAT_SS_ANNE_8_TRAINER_3 + const EVENT_5F5 + const EVENT_5F6 + const EVENT_5F7 + const EVENT_5F8 + const EVENT_5F9 + const EVENT_5FA + const EVENT_5FB + const EVENT_5FC + const EVENT_5FD + const EVENT_5FE + const EVENT_5FF + const EVENT_600 + const EVENT_BEAT_SS_ANNE_9_TRAINER_0 + const EVENT_BEAT_SS_ANNE_9_TRAINER_1 + const EVENT_BEAT_SS_ANNE_9_TRAINER_2 + const EVENT_BEAT_SS_ANNE_9_TRAINER_3 + const EVENT_605 + const EVENT_606 + const EVENT_607 + const EVENT_608 + const EVENT_609 + const EVENT_60A + const EVENT_60B + const EVENT_60C + const EVENT_60D + const EVENT_60E + const EVENT_60F + const EVENT_610 + const EVENT_BEAT_SS_ANNE_10_TRAINER_0 + const EVENT_BEAT_SS_ANNE_10_TRAINER_1 + const EVENT_BEAT_SS_ANNE_10_TRAINER_2 + const EVENT_BEAT_SS_ANNE_10_TRAINER_3 + const EVENT_BEAT_SS_ANNE_10_TRAINER_4 + const EVENT_BEAT_SS_ANNE_10_TRAINER_5 + const EVENT_617 + const EVENT_618 + const EVENT_619 + const EVENT_61A + const EVENT_61B + const EVENT_61C + const EVENT_61D + const EVENT_61E + const EVENT_61F + const EVENT_620 + const EVENT_621 + const EVENT_622 + const EVENT_623 + const EVENT_624 + const EVENT_625 + const EVENT_626 + const EVENT_627 + const EVENT_628 + const EVENT_629 + const EVENT_62A + const EVENT_62B + const EVENT_62C + const EVENT_62D + const EVENT_62E + const EVENT_62F + const EVENT_630 + const EVENT_631 + const EVENT_632 + const EVENT_633 + const EVENT_634 + const EVENT_635 + const EVENT_636 + const EVENT_637 + const EVENT_638 + const EVENT_639 + const EVENT_63A + const EVENT_63B + const EVENT_63C + const EVENT_63D + const EVENT_63E + const EVENT_63F + const EVENT_640 + const EVENT_641 + const EVENT_642 + const EVENT_643 + const EVENT_644 + const EVENT_645 + const EVENT_646 + const EVENT_647 + const EVENT_648 + const EVENT_649 + const EVENT_64A + const EVENT_64B + const EVENT_64C + const EVENT_64D + const EVENT_64E + const EVENT_64F + const EVENT_650 + const EVENT_651 + const EVENT_652 + const EVENT_653 + const EVENT_654 + const EVENT_655 + const EVENT_656 + const EVENT_657 + const EVENT_658 + const EVENT_659 + const EVENT_65A + const EVENT_65B + const EVENT_65C + const EVENT_65D + const EVENT_65E + const EVENT_65F + const EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH1 + const EVENT_BEAT_VICTORY_ROAD_3_TRAINER_0 + const EVENT_BEAT_VICTORY_ROAD_3_TRAINER_1 + const EVENT_BEAT_VICTORY_ROAD_3_TRAINER_2 + const EVENT_BEAT_VICTORY_ROAD_3_TRAINER_3 + const EVENT_665 + const EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH2 + const EVENT_667 + const EVENT_668 + const EVENT_669 + const EVENT_66A + const EVENT_66B + const EVENT_66C + const EVENT_66D + const EVENT_66E + const EVENT_66F + const EVENT_670 + const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_0 + const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_1 + const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_2 + const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_3 + const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4 + const EVENT_676 + const EVENT_677 + const EVENT_678 + const EVENT_679 + const EVENT_67A + const EVENT_67B + const EVENT_67C + const EVENT_67D + const EVENT_67E + const EVENT_67F + const EVENT_680 + const EVENT_BEAT_ROCKET_HIDEOUT_2_TRAINER_0 + const EVENT_682 + const EVENT_683 + const EVENT_684 + const EVENT_685 + const EVENT_686 + const EVENT_687 + const EVENT_688 + const EVENT_689 + const EVENT_68A + const EVENT_68B + const EVENT_68C + const EVENT_68D + const EVENT_68E + const EVENT_68F + const EVENT_690 + const EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_0 + const EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_1 + const EVENT_693 + const EVENT_694 + const EVENT_695 + const EVENT_696 + const EVENT_697 + const EVENT_698 + const EVENT_699 + const EVENT_69A + const EVENT_69B + const EVENT_69C + const EVENT_69D + const EVENT_69E + const EVENT_69F + const EVENT_6A0 + const EVENT_6A1 + const EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0 + const EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_1 + const EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_2 + const EVENT_ROCKET_HIDEOUT_4_DOOR_UNLOCKED + const EVENT_ROCKET_DROPPED_LIFT_KEY + const EVENT_BEAT_ROCKET_HIDEOUT_GIOVANNI + const EVENT_6A8 + const EVENT_6A9 + const EVENT_6AA + const EVENT_6AB + const EVENT_6AC + const EVENT_6AD + const EVENT_6AE + const EVENT_6AF + const EVENT_6B0 + const EVENT_6B1 + const EVENT_6B2 + const EVENT_6B3 + const EVENT_6B4 + const EVENT_6B5 + const EVENT_6B6 + const EVENT_6B7 + const EVENT_6B8 + const EVENT_6B9 + const EVENT_6BA + const EVENT_6BB + const EVENT_6BC + const EVENT_6BD + const EVENT_6BE + const EVENT_6BF + const EVENT_6C0 + const EVENT_6C1 + const EVENT_6C2 + const EVENT_6C3 + const EVENT_6C4 + const EVENT_6C5 + const EVENT_6C6 + const EVENT_6C7 + const EVENT_6C8 + const EVENT_6C9 + const EVENT_6CA + const EVENT_6CB + const EVENT_6CC + const EVENT_6CD + const EVENT_6CE + const EVENT_6CF + const EVENT_6D0 + const EVENT_6D1 + const EVENT_6D2 + const EVENT_6D3 + const EVENT_6D4 + const EVENT_6D5 + const EVENT_6D6 + const EVENT_6D7 + const EVENT_6D8 + const EVENT_6D9 + const EVENT_6DA + const EVENT_6DB + const EVENT_6DC + const EVENT_6DD + const EVENT_6DE + const EVENT_6DF + const EVENT_6E0 + const EVENT_6E1 + const EVENT_6E2 + const EVENT_6E3 + const EVENT_6E4 + const EVENT_6E5 + const EVENT_6E6 + const EVENT_6E7 + const EVENT_6E8 + const EVENT_6E9 + const EVENT_6EA + const EVENT_6EB + const EVENT_6EC + const EVENT_6ED + const EVENT_6EE + const EVENT_6EF + const EVENT_6F0 + const EVENT_6F1 + const EVENT_BEAT_SILPH_CO_2F_TRAINER_0 + const EVENT_BEAT_SILPH_CO_2F_TRAINER_1 + const EVENT_BEAT_SILPH_CO_2F_TRAINER_2 + const EVENT_BEAT_SILPH_CO_2F_TRAINER_3 + const EVENT_6F6 + const EVENT_6F7 + const EVENT_6F8 + const EVENT_6F9 + const EVENT_6FA + const EVENT_6FB + const EVENT_6FC + const EVENT_SILPH_CO_2_UNLOCKED_DOOR1 + const EVENT_SILPH_CO_2_UNLOCKED_DOOR2 + const EVENT_GOT_TM36 + const EVENT_700 + const EVENT_701 + const EVENT_BEAT_SILPH_CO_3F_TRAINER_0 + const EVENT_BEAT_SILPH_CO_3F_TRAINER_1 + const EVENT_704 + const EVENT_705 + const EVENT_706 + const EVENT_707 + const EVENT_SILPH_CO_3_UNLOCKED_DOOR1 + const EVENT_SILPH_CO_3_UNLOCKED_DOOR2 + const EVENT_70A + const EVENT_70B + const EVENT_70C + const EVENT_70D + const EVENT_70E + const EVENT_70F + const EVENT_710 + const EVENT_711 + const EVENT_BEAT_SILPH_CO_4F_TRAINER_0 + const EVENT_BEAT_SILPH_CO_4F_TRAINER_1 + const EVENT_BEAT_SILPH_CO_4F_TRAINER_2 + const EVENT_715 + const EVENT_716 + const EVENT_717 + const EVENT_SILPH_CO_4_UNLOCKED_DOOR1 + const EVENT_SILPH_CO_4_UNLOCKED_DOOR2 + const EVENT_71A + const EVENT_71B + const EVENT_71C + const EVENT_71D + const EVENT_71E + const EVENT_71F + const EVENT_720 + const EVENT_721 + const EVENT_BEAT_SILPH_CO_5F_TRAINER_0 + const EVENT_BEAT_SILPH_CO_5F_TRAINER_1 + const EVENT_BEAT_SILPH_CO_5F_TRAINER_2 + const EVENT_BEAT_SILPH_CO_5F_TRAINER_3 + const EVENT_726 + const EVENT_727 + const EVENT_SILPH_CO_5_UNLOCKED_DOOR1 + const EVENT_SILPH_CO_5_UNLOCKED_DOOR2 + const EVENT_SILPH_CO_5_UNLOCKED_DOOR3 + const EVENT_72B + const EVENT_72C + const EVENT_72D + const EVENT_72E + const EVENT_72F + const EVENT_730 + const EVENT_731 + const EVENT_732 + const EVENT_733 + const EVENT_734 + const EVENT_735 + const EVENT_BEAT_SILPH_CO_6F_TRAINER_0 + const EVENT_BEAT_SILPH_CO_6F_TRAINER_1 + const EVENT_BEAT_SILPH_CO_6F_TRAINER_2 + const EVENT_739 + const EVENT_73A + const EVENT_73B + const EVENT_73C + const EVENT_73D + const EVENT_73E + const EVENT_SILPH_CO_6_UNLOCKED_DOOR + const EVENT_BEAT_SILPH_CO_RIVAL + const EVENT_741 + const EVENT_742 + const EVENT_743 + const EVENT_744 + const EVENT_BEAT_SILPH_CO_7F_TRAINER_0 + const EVENT_BEAT_SILPH_CO_7F_TRAINER_1 + const EVENT_BEAT_SILPH_CO_7F_TRAINER_2 + const EVENT_BEAT_SILPH_CO_7F_TRAINER_3 + const EVENT_749 + const EVENT_74A + const EVENT_74B + const EVENT_SILPH_CO_7_UNLOCKED_DOOR1 + const EVENT_SILPH_CO_7_UNLOCKED_DOOR2 + const EVENT_SILPH_CO_7_UNLOCKED_DOOR3 + const EVENT_74F + const EVENT_750 + const EVENT_751 + const EVENT_BEAT_SILPH_CO_8F_TRAINER_0 + const EVENT_BEAT_SILPH_CO_8F_TRAINER_1 + const EVENT_BEAT_SILPH_CO_8F_TRAINER_2 + const EVENT_755 + const EVENT_756 + const EVENT_757 + const EVENT_SILPH_CO_8_UNLOCKED_DOOR + const EVENT_759 + const EVENT_75A + const EVENT_75B + const EVENT_75C + const EVENT_75D + const EVENT_75E + const EVENT_75F + const EVENT_760 + const EVENT_761 + const EVENT_BEAT_SILPH_CO_9F_TRAINER_0 + const EVENT_BEAT_SILPH_CO_9F_TRAINER_1 + const EVENT_BEAT_SILPH_CO_9F_TRAINER_2 + const EVENT_765 + const EVENT_766 + const EVENT_767 + const EVENT_SILPH_CO_9_UNLOCKED_DOOR1 + const EVENT_SILPH_CO_9_UNLOCKED_DOOR2 + const EVENT_SILPH_CO_9_UNLOCKED_DOOR3 + const EVENT_SILPH_CO_9_UNLOCKED_DOOR4 + const EVENT_76C + const EVENT_76D + const EVENT_76E + const EVENT_76F + const EVENT_770 + const EVENT_BEAT_SILPH_CO_10F_TRAINER_0 + const EVENT_BEAT_SILPH_CO_10F_TRAINER_1 + const EVENT_773 + const EVENT_774 + const EVENT_775 + const EVENT_776 + const EVENT_777 + const EVENT_SILPH_CO_10_UNLOCKED_DOOR + const EVENT_779 + const EVENT_77A + const EVENT_77B + const EVENT_77C + const EVENT_77D + const EVENT_77E + const EVENT_77F + const EVENT_780 + const EVENT_781 + const EVENT_782 + const EVENT_783 + const EVENT_BEAT_SILPH_CO_11F_TRAINER_0 + const EVENT_BEAT_SILPH_CO_11F_TRAINER_1 + const EVENT_786 + const EVENT_787 + const EVENT_SILPH_CO_11_UNLOCKED_DOOR + const EVENT_789 + const EVENT_78A + const EVENT_78B + const EVENT_78C + const EVENT_GOT_MASTER_BALL + const EVENT_78E + const EVENT_BEAT_SILPH_CO_GIOVANNI + const EVENT_790 + const EVENT_791 + const EVENT_792 + const EVENT_793 + const EVENT_794 + const EVENT_795 + const EVENT_796 + const EVENT_797 + const EVENT_798 + const EVENT_799 + const EVENT_79A + const EVENT_79B + const EVENT_79C + const EVENT_79D + const EVENT_79E + const EVENT_79F + const EVENT_7A0 + const EVENT_7A1 + const EVENT_7A2 + const EVENT_7A3 + const EVENT_7A4 + const EVENT_7A5 + const EVENT_7A6 + const EVENT_7A7 + const EVENT_7A8 + const EVENT_7A9 + const EVENT_7AA + const EVENT_7AB + const EVENT_7AC + const EVENT_7AD + const EVENT_7AE + const EVENT_7AF + const EVENT_7B0 + const EVENT_7B1 + const EVENT_7B2 + const EVENT_7B3 + const EVENT_7B4 + const EVENT_7B5 + const EVENT_7B6 + const EVENT_7B7 + const EVENT_7B8 + const EVENT_7B9 + const EVENT_7BA + const EVENT_7BB + const EVENT_7BC + const EVENT_7BD + const EVENT_7BE + const EVENT_7BF + const EVENT_7C0 + const EVENT_7C1 + const EVENT_7C2 + const EVENT_7C3 + const EVENT_7C4 + const EVENT_7C5 + const EVENT_7C6 + const EVENT_7C7 + const EVENT_7C8 + const EVENT_7C9 + const EVENT_7CA + const EVENT_7CB + const EVENT_7CC + const EVENT_7CD + const EVENT_7CE + const EVENT_7CF + const EVENT_7D0 + const EVENT_7D1 + const EVENT_7D2 + const EVENT_7D3 + const EVENT_7D4 + const EVENT_7D5 + const EVENT_7D6 + const EVENT_7D7 + const EVENT_7D8 + const EVENT_7D9 + const EVENT_7DA + const EVENT_7DB + const EVENT_7DC + const EVENT_7DD + const EVENT_7DE + const EVENT_7DF + const EVENT_7E0 + const EVENT_7E1 + const EVENT_7E2 + const EVENT_7E3 + const EVENT_7E4 + const EVENT_7E5 + const EVENT_7E6 + const EVENT_7E7 + const EVENT_7E8 + const EVENT_7E9 + const EVENT_7EA + const EVENT_7EB + const EVENT_7EC + const EVENT_7ED + const EVENT_7EE + const EVENT_7EF + const EVENT_7F0 + const EVENT_7F1 + const EVENT_7F2 + const EVENT_7F3 + const EVENT_7F4 + const EVENT_7F5 + const EVENT_7F6 + const EVENT_7F7 + const EVENT_7F8 + const EVENT_7F9 + const EVENT_7FA + const EVENT_7FB + const EVENT_7FC + const EVENT_7FD + const EVENT_7FE + const EVENT_7FF + const EVENT_800 + const EVENT_BEAT_MANSION_2_TRAINER_0 + const EVENT_802 + const EVENT_803 + const EVENT_804 + const EVENT_805 + const EVENT_806 + const EVENT_807 + const EVENT_808 + const EVENT_809 + const EVENT_80A + const EVENT_80B + const EVENT_80C + const EVENT_80D + const EVENT_80E + const EVENT_80F + const EVENT_810 + const EVENT_BEAT_MANSION_3_TRAINER_0 + const EVENT_BEAT_MANSION_3_TRAINER_1 + const EVENT_813 + const EVENT_814 + const EVENT_815 + const EVENT_816 + const EVENT_817 + const EVENT_818 + const EVENT_819 + const EVENT_81A + const EVENT_81B + const EVENT_81C + const EVENT_81D + const EVENT_81E + const EVENT_81F + const EVENT_820 + const EVENT_BEAT_MANSION_4_TRAINER_0 + const EVENT_BEAT_MANSION_4_TRAINER_1 + const EVENT_823 + const EVENT_824 + const EVENT_825 + const EVENT_826 + const EVENT_827 + const EVENT_828 + const EVENT_829 + const EVENT_82A + const EVENT_82B + const EVENT_82C + const EVENT_82D + const EVENT_82E + const EVENT_82F + const EVENT_830 + const EVENT_831 + const EVENT_832 + const EVENT_833 + const EVENT_834 + const EVENT_835 + const EVENT_836 + const EVENT_837 + const EVENT_838 + const EVENT_839 + const EVENT_83A + const EVENT_83B + const EVENT_83C + const EVENT_83D + const EVENT_83E + const EVENT_83F + const EVENT_840 + const EVENT_841 + const EVENT_842 + const EVENT_843 + const EVENT_844 + const EVENT_845 + const EVENT_846 + const EVENT_847 + const EVENT_848 + const EVENT_849 + const EVENT_84A + const EVENT_84B + const EVENT_84C + const EVENT_84D + const EVENT_84E + const EVENT_84F + const EVENT_850 + const EVENT_851 + const EVENT_852 + const EVENT_853 + const EVENT_854 + const EVENT_855 + const EVENT_856 + const EVENT_857 + const EVENT_858 + const EVENT_859 + const EVENT_85A + const EVENT_85B + const EVENT_85C + const EVENT_85D + const EVENT_85E + const EVENT_85F + const EVENT_860 + const EVENT_861 + const EVENT_862 + const EVENT_863 + const EVENT_864 + const EVENT_865 + const EVENT_866 + const EVENT_867 + const EVENT_868 + const EVENT_869 + const EVENT_86A + const EVENT_86B + const EVENT_86C + const EVENT_86D + const EVENT_86E + const EVENT_86F + const EVENT_870 + const EVENT_871 + const EVENT_872 + const EVENT_873 + const EVENT_874 + const EVENT_875 + const EVENT_876 + const EVENT_877 + const EVENT_878 + const EVENT_879 + const EVENT_87A + const EVENT_87B + const EVENT_87C + const EVENT_87D + const EVENT_87E + const EVENT_87F + const EVENT_GOT_HM03 + const EVENT_881 + const EVENT_882 + const EVENT_883 + const EVENT_884 + const EVENT_885 + const EVENT_886 + const EVENT_887 + const EVENT_888 + const EVENT_889 + const EVENT_88A + const EVENT_88B + const EVENT_88C + const EVENT_88D + const EVENT_88E + const EVENT_88F + const EVENT_890 + const EVENT_891 + const EVENT_892 + const EVENT_893 + const EVENT_894 + const EVENT_895 + const EVENT_896 + const EVENT_897 + const EVENT_898 + const EVENT_899 + const EVENT_89A + const EVENT_89B + const EVENT_89C + const EVENT_89D + const EVENT_89E + const EVENT_89F + const EVENT_8A0 + const EVENT_8A1 + const EVENT_8A2 + const EVENT_8A3 + const EVENT_8A4 + const EVENT_8A5 + const EVENT_8A6 + const EVENT_8A7 + const EVENT_8A8 + const EVENT_8A9 + const EVENT_8AA + const EVENT_8AB + const EVENT_8AC + const EVENT_8AD + const EVENT_8AE + const EVENT_8AF + const EVENT_8B0 + const EVENT_8B1 + const EVENT_8B2 + const EVENT_8B3 + const EVENT_8B4 + const EVENT_8B5 + const EVENT_8B6 + const EVENT_8B7 + const EVENT_8B8 + const EVENT_8B9 + const EVENT_8BA + const EVENT_8BB + const EVENT_8BC + const EVENT_8BD + const EVENT_8BE + const EVENT_8BF + const EVENT_8C0 + const EVENT_BEAT_MEWTWO + const EVENT_8C2 + const EVENT_8C3 + const EVENT_8C4 + const EVENT_8C5 + const EVENT_8C6 + const EVENT_8C7 + const EVENT_8C8 + const EVENT_8C9 + const EVENT_8CA + const EVENT_8CB + const EVENT_8CC + const EVENT_8CD + const EVENT_8CE + const EVENT_8CF + const EVENT_8D0 + const EVENT_8D1 + const EVENT_8D2 + const EVENT_8D3 + const EVENT_8D4 + const EVENT_8D5 + const EVENT_8D6 + const EVENT_8D7 + const EVENT_8D8 + const EVENT_8D9 + const EVENT_8DA + const EVENT_8DB + const EVENT_8DC + const EVENT_8DD + const EVENT_8DE + const EVENT_8DF + const ELITE4_EVENTS_START + const EVENT_BEAT_LORELEIS_ROOM_TRAINER_0 + const EVENT_8E2 + const EVENT_8E3 + const EVENT_8E4 + const EVENT_8E5 + const EVENT_AUTOWALKED_INTO_LORELEIS_ROOM + const EVENT_8E7 + const EVENT_8E8 + const EVENT_BEAT_BRUNOS_ROOM_TRAINER_0 + const EVENT_8EA + const EVENT_8EB + const EVENT_8EC + const EVENT_8ED + const EVENT_AUTOWALKED_INTO_BRUNOS_ROOM + const EVENT_8EF + const EVENT_8F0 + const EVENT_BEAT_AGATHAS_ROOM_TRAINER_0 + const EVENT_8F2 + const EVENT_8F3 + const EVENT_8F4 + const EVENT_8F5 + const EVENT_AUTOWALKED_INTO_AGATHAS_ROOM + const EVENT_8F7 + const EVENT_8F8 + const EVENT_BEAT_LANCES_ROOM_TRAINER_0 + const EVENT_8FA + const EVENT_8FB + const EVENT_8FC + const EVENT_8FD + const EVENT_BEAT_LANCE + const EVENT_LANCES_ROOM_LOCK_DOOR + const EVENT_900 + const EVENT_BEAT_CHAMPION_RIVAL + const EVENT_902 + const EVENT_903 + const EVENT_904 + const EVENT_905 + const EVENT_906 + const ELITE4_CHAMPION_EVENTS_END + const EVENT_908 + const EVENT_909 + const EVENT_90A + const EVENT_90B + const EVENT_90C + const EVENT_90D + const EVENT_90E + const EVENT_90F + const EVENT_910 + const EVENT_BEAT_VICTORY_ROAD_1_TRAINER_0 + const EVENT_BEAT_VICTORY_ROAD_1_TRAINER_1 + const EVENT_913 + const EVENT_914 + const EVENT_915 + const EVENT_916 + const EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH + const EVENT_918 + const EVENT_919 + const EVENT_91A + const EVENT_91B + const EVENT_91C + const EVENT_91D + const EVENT_91E + const EVENT_91F + const EVENT_920 + const EVENT_921 + const EVENT_922 + const EVENT_923 + const EVENT_924 + const EVENT_925 + const EVENT_926 + const EVENT_927 + const EVENT_928 + const EVENT_929 + const EVENT_92A + const EVENT_92B + const EVENT_92C + const EVENT_92D + const EVENT_92E + const EVENT_92F + const EVENT_930 + const EVENT_931 + const EVENT_932 + const EVENT_933 + const EVENT_934 + const EVENT_935 + const EVENT_936 + const EVENT_937 + const EVENT_938 + const EVENT_939 + const EVENT_93A + const EVENT_93B + const EVENT_93C + const EVENT_93D + const EVENT_93E + const EVENT_93F + const EVENT_940 + const EVENT_941 + const EVENT_942 + const EVENT_943 + const EVENT_944 + const EVENT_945 + const EVENT_946 + const EVENT_947 + const EVENT_948 + const EVENT_949 + const EVENT_94A + const EVENT_94B + const EVENT_94C + const EVENT_94D + const EVENT_94E + const EVENT_94F + const EVENT_950 + const EVENT_951 + const EVENT_952 + const EVENT_953 + const EVENT_954 + const EVENT_955 + const EVENT_956 + const EVENT_957 + const EVENT_958 + const EVENT_959 + const EVENT_95A + const EVENT_95B + const EVENT_95C + const EVENT_95D + const EVENT_95E + const EVENT_95F + const EVENT_960 + const EVENT_961 + const EVENT_962 + const EVENT_963 + const EVENT_964 + const EVENT_965 + const EVENT_966 + const EVENT_967 + const EVENT_968 + const EVENT_969 + const EVENT_96A + const EVENT_96B + const EVENT_96C + const EVENT_96D + const EVENT_96E + const EVENT_96F + const EVENT_970 + const EVENT_971 + const EVENT_972 + const EVENT_973 + const EVENT_974 + const EVENT_975 + const EVENT_976 + const EVENT_977 + const EVENT_978 + const EVENT_979 + const EVENT_97A + const EVENT_97B + const EVENT_97C + const EVENT_97D + const EVENT_97E + const EVENT_97F + const EVENT_980 + const EVENT_981 + const EVENT_982 + const EVENT_983 + const EVENT_984 + const EVENT_985 + const EVENT_986 + const EVENT_987 + const EVENT_988 + const EVENT_989 + const EVENT_98A + const EVENT_98B + const EVENT_98C + const EVENT_98D + const EVENT_98E + const EVENT_98F + const EVENT_990 + const EVENT_991 + const EVENT_992 + const EVENT_993 + const EVENT_994 + const EVENT_995 + const EVENT_996 + const EVENT_997 + const EVENT_998 + const EVENT_999 + const EVENT_99A + const EVENT_99B + const EVENT_99C + const EVENT_99D + const EVENT_99E + const EVENT_99F + const EVENT_9A0 + const EVENT_9A1 + const EVENT_9A2 + const EVENT_9A3 + const EVENT_9A4 + const EVENT_9A5 + const EVENT_9A6 + const EVENT_9A7 + const EVENT_9A8 + const EVENT_9A9 + const EVENT_9AA + const EVENT_9AB + const EVENT_9AC + const EVENT_9AD + const EVENT_9AE + const EVENT_9AF + const EVENT_9B0 + const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_0 + const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_1 + const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_2 + const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_3 + const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_4 + const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_5 + const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_6 + const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_7 + const EVENT_9B9 + const EVENT_9BA + const EVENT_9BB + const EVENT_9BC + const EVENT_9BD + const EVENT_9BE + const EVENT_9BF + const EVENT_SEAFOAM2_BOULDER1_DOWN_HOLE + const EVENT_SEAFOAM2_BOULDER2_DOWN_HOLE + const EVENT_9C2 + const EVENT_9C3 + const EVENT_9C4 + const EVENT_9C5 + const EVENT_9C6 + const EVENT_9C7 + const EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE + const EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE + const EVENT_9CA + const EVENT_9CB + const EVENT_9CC + const EVENT_9CD + const EVENT_9CE + const EVENT_9CF + const EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE + const EVENT_SEAFOAM4_BOULDER2_DOWN_HOLE + const EVENT_9D2 + const EVENT_9D3 + const EVENT_9D4 + const EVENT_9D5 + const EVENT_9D6 + const EVENT_9D7 + const EVENT_9D8 + const EVENT_9D9 + const EVENT_BEAT_ARTICUNO + const EVENT_9DB + const EVENT_9DC + const EVENT_9DD + const EVENT_9DE + const EVENT_9DF + const EVENT_9E0 + const EVENT_9E1 + const EVENT_9E2 + const EVENT_9E3 + const EVENT_9E4 + const EVENT_9E5 + const EVENT_9E6 + const EVENT_9E7 + const EVENT_9E8 + const EVENT_9E9 + const EVENT_9EA + const EVENT_9EB + const EVENT_9EC + const EVENT_9ED + const EVENT_9EE + const EVENT_9EF + const EVENT_9F0 + const EVENT_9F1 + const EVENT_9F2 + const EVENT_9F3 + const EVENT_9F4 + const EVENT_9F5 + const EVENT_9F6 + const EVENT_9F7 + const EVENT_9F8 + const EVENT_9F9 + const EVENT_9FA + const EVENT_9FB + const EVENT_9FC + const EVENT_9FD + const EVENT_9FE + const EVENT_9FF diff --git a/constants/evolution_constants.asm b/constants/evolution_constants.asm deleted file mode 100755 index 01c4c078..00000000 --- a/constants/evolution_constants.asm +++ /dev/null @@ -1,9 +0,0 @@ -; See data/pokemon/evos_moves.asm - -; Evolution types -EV_LEVEL EQU 1 -EV_ITEM EQU 2 -EV_TRADE EQU 3 - -MAX_EVOLUTIONS EQU 3 -EVOLUTION_SIZE EQU 4 diff --git a/constants/gfx_constants.asm b/constants/gfx_constants.asm new file mode 100644 index 00000000..04671ecb --- /dev/null +++ b/constants/gfx_constants.asm @@ -0,0 +1,17 @@ +SCREEN_WIDTH EQU 20 +SCREEN_HEIGHT EQU 18 + +SCREEN_WIDTH_PIXELS EQU SCREEN_WIDTH * 8 +SCREEN_HEIGHT_PIXELS EQU SCREEN_HEIGHT * 8 + +BYTES_PER_TILE EQU 16 + +BG_MAP_WIDTH EQU 32 +BG_MAP_HEIGHT EQU 32 + +SPRITEBUFFERSIZE EQU 7*7 * 8 ; 7 * 7 (tiles) * 8 (bytes per tile) + +; HP bar +HP_BAR_GREEN EQU 0 +HP_BAR_YELLOW EQU 1 +HP_BAR_RED EQU 2 diff --git a/constants/hide_show_constants.asm b/constants/hide_show_constants.asm index 805d16ec..1aeb9149 100755 --- a/constants/hide_show_constants.asm +++ b/constants/hide_show_constants.asm @@ -4,8 +4,7 @@ ; (they are either items or sprites that deactivate after battle ; and are detected in wMissableObjectList) -const_value = 0 - + const_def const HS_PALLET_TOWN_OAK ; 00 const HS_LYING_OLD_MAN ; 01 const HS_OLD_MAN ; 02 diff --git a/constants/icon_constants.asm b/constants/icon_constants.asm new file mode 100644 index 00000000..b96c516d --- /dev/null +++ b/constants/icon_constants.asm @@ -0,0 +1,12 @@ +; party menu icons + const_def + const ICON_MON ; $0 + const ICON_BALL ; $1 + const ICON_HELIX ; $2 + const ICON_FAIRY ; $3 + const ICON_BIRD ; $4 + const ICON_WATER ; $5 + const ICON_BUG ; $6 + const ICON_GRASS ; $7 + const ICON_SNAKE ; $8 + const ICON_QUADRUPED ; $9 diff --git a/constants/input_constants.asm b/constants/input_constants.asm new file mode 100644 index 00000000..d7aae05b --- /dev/null +++ b/constants/input_constants.asm @@ -0,0 +1,18 @@ +A_BUTTON EQU %00000001 +B_BUTTON EQU %00000010 +SELECT EQU %00000100 +START EQU %00001000 +D_RIGHT EQU %00010000 +D_LEFT EQU %00100000 +D_UP EQU %01000000 +D_DOWN EQU %10000000 + + const_def + const BIT_A_BUTTON + const BIT_B_BUTTON + const BIT_SELECT + const BIT_START + const BIT_D_RIGHT + const BIT_D_LEFT + const BIT_D_UP + const BIT_D_DOWN diff --git a/constants/item_constants.asm b/constants/item_constants.asm index fe6fcb15..a0c32d14 100755 --- a/constants/item_constants.asm +++ b/constants/item_constants.asm @@ -1,5 +1,5 @@ -const_value = 1 - + const_def + const NO_ITEM ; $00 const MASTER_BALL ; $01 const ULTRA_BALL ; $02 const GREAT_BALL ; $03 diff --git a/constants/list_constants.asm b/constants/list_constants.asm index 7e26a6b6..380df21c 100755 --- a/constants/list_constants.asm +++ b/constants/list_constants.asm @@ -1,20 +1,23 @@ -; list menu ID's -PCPOKEMONLISTMENU EQU $00 ; PC pokemon withdraw/deposit lists -MOVESLISTMENU EQU $01 ; XXX where is this used? -PRICEDITEMLISTMENU EQU $02 ; Pokemart buy menu / Pokemart buy/sell choose quantity menu -ITEMLISTMENU EQU $03 ; Start menu Item menu / Pokemart sell menu -SPECIALLISTMENU EQU $04 ; list of special "items" e.g. floor list in elevators / list of badges +; list menu IDs + const_def + const PCPOKEMONLISTMENU ; $00 ; PC pokemon withdraw/deposit lists + const MOVESLISTMENU ; $01 ; XXX where is this used? + const PRICEDITEMLISTMENU ; $02 ; Pokemart buy menu / Pokemart buy/sell choose quantity menu + const ITEMLISTMENU ; $03 ; Start menu Item menu / Pokemart sell menu + const SPECIALLISTMENU ; $04 ; list of special "items" e.g. floor list in elevators / list of badges -MONSTER_NAME EQU 1 -MOVE_NAME EQU 2 -; ???_NAME EQU 3 -ITEM_NAME EQU 4 -PLAYEROT_NAME EQU 5 -ENEMYOT_NAME EQU 6 -TRAINER_NAME EQU 7 + const_def 1 + const MONSTER_NAME ; 1 + const MOVE_NAME ; 2 + const UNUSED_NAME ; 3 + const ITEM_NAME ; 4 + const PLAYEROT_NAME ; 5 + const ENEMYOT_NAME ; 6 + const TRAINER_NAME ; 7 -INIT_ENEMYOT_LIST EQU 1 -INIT_BAG_ITEM_LIST EQU 2 -INIT_OTHER_ITEM_LIST EQU 3 -INIT_PLAYEROT_LIST EQU 4 -INIT_MON_LIST EQU 5 + const_def 1 + const INIT_ENEMYOT_LIST ; 1 + const INIT_BAG_ITEM_LIST ; 2 + const INIT_OTHER_ITEM_LIST ; 3 + const INIT_PLAYEROT_LIST ; 4 + const INIT_MON_LIST ; 5 diff --git a/constants/map_data_constants.asm b/constants/map_data_constants.asm new file mode 100755 index 00000000..154c4163 --- /dev/null +++ b/constants/map_data_constants.asm @@ -0,0 +1,9 @@ +; width of east/west connections +; height of north/south connections +MAP_BORDER EQU 3 + +; connection directions +EAST EQU 1 +WEST EQU 2 +SOUTH EQU 4 +NORTH EQU 8 diff --git a/constants/menu_constants.asm b/constants/menu_constants.asm new file mode 100644 index 00000000..75cbe54c --- /dev/null +++ b/constants/menu_constants.asm @@ -0,0 +1,70 @@ +BAG_ITEM_CAPACITY EQU 20 +PC_ITEM_CAPACITY EQU 50 + +; text box IDs +MESSAGE_BOX EQU $01 +FIELD_MOVE_MON_MENU EQU $04 +JP_MOCHIMONO_MENU_TEMPLATE EQU $05 +USE_TOSS_MENU_TEMPLATE EQU $06 +JP_SAVE_MESSAGE_MENU_TEMPLATE EQU $08 +JP_SPEED_OPTIONS_MENU_TEMPLATE EQU $09 +BATTLE_MENU_TEMPLATE EQU $0b +SWITCH_STATS_CANCEL_MENU_TEMPLATE EQU $0c +LIST_MENU_BOX EQU $0d +BUY_SELL_QUIT_MENU_TEMPLATE EQU $0e +MONEY_BOX_TEMPLATE EQU $0f +MON_SPRITE_POPUP EQU $11 +JP_AH_MENU_TEMPLATE EQU $12 +MONEY_BOX EQU $13 +TWO_OPTION_MENU EQU $14 +BUY_SELL_QUIT_MENU EQU $15 +JP_POKEDEX_MENU_TEMPLATE EQU $1a +SAFARI_BATTLE_MENU_TEMPLATE EQU $1b + +; two option menu constants +YES_NO_MENU EQU 0 +NORTH_WEST_MENU EQU 1 +SOUTH_EAST_MENU EQU 2 +WIDE_YES_NO_MENU EQU 3 +NORTH_EAST_MENU EQU 4 +TRADE_CANCEL_MENU EQU 5 +HEAL_CANCEL_MENU EQU 6 +NO_YES_MENU EQU 7 + +; menu exit method constants for list menus and the buy/sell/quit menu +CHOSE_MENU_ITEM EQU 1 ; pressed A +CANCELLED_MENU EQU 2 ; pressed B + +; menu exit method constants for two-option menus +CHOSE_FIRST_ITEM EQU 1 +CHOSE_SECOND_ITEM EQU 2 + +; move mon constants +BOX_TO_PARTY EQU 0 +PARTY_TO_BOX EQU 1 +DAYCARE_TO_PARTY EQU 2 +PARTY_TO_DAYCARE EQU 3 + +; party menu types +NORMAL_PARTY_MENU EQU 0 +USE_ITEM_PARTY_MENU EQU 1 +BATTLE_PARTY_MENU EQU 2 +TMHM_PARTY_MENU EQU 3 +SWAP_MONS_PARTY_MENU EQU 4 +EVO_STONE_PARTY_MENU EQU 5 + +; party menu message IDs +ANTIDOTE_MSG EQU $F0 +BURN_HEAL_MSG EQU $F1 +ICE_HEAL_MSG EQU $F2 +AWAKENING_MSG EQU $F3 +PARALYZ_HEAL_MSG EQU $F4 +POTION_MSG EQU $F5 +FULL_HEAL_MSG EQU $F6 +REVIVE_MSG EQU $F7 +RARE_CANDY_MSG EQU $F8 + +; naming screen types +NAME_PLAYER_SCREEN EQU 0 +NAME_RIVAL_SCREEN EQU 1 +NAME_MON_SCREEN EQU 2 diff --git a/constants/misc_constants.asm b/constants/misc_constants.asm index d6a935f8..6e4c5f93 100644 --- a/constants/misc_constants.asm +++ b/constants/misc_constants.asm @@ -1,208 +1,8 @@ -MAX_LEVEL EQU 100 - -NUM_MOVES EQU 4 -NUM_STATS EQU 5 -NUM_STAT_MODS EQU 8 -NUM_DVS EQU 2 - -PARTY_LENGTH EQU 6 - -MONS_PER_BOX EQU 20 -NUM_BOXES EQU 12 - -BAG_ITEM_CAPACITY EQU 20 -PC_ITEM_CAPACITY EQU 50 - -HOF_MON EQU $10 -HOF_TEAM EQU PARTY_LENGTH * HOF_MON -HOF_TEAM_CAPACITY EQU 50 - -NAME_LENGTH EQU 11 -ITEM_NAME_LENGTH EQU 13 - -A_BUTTON EQU %00000001 -B_BUTTON EQU %00000010 -SELECT EQU %00000100 -START EQU %00001000 -D_RIGHT EQU %00010000 -D_LEFT EQU %00100000 -D_UP EQU %01000000 -D_DOWN EQU %10000000 - -const_value set 0 - const BIT_A_BUTTON - const BIT_B_BUTTON - const BIT_SELECT - const BIT_START - const BIT_D_RIGHT - const BIT_D_LEFT - const BIT_D_UP - const BIT_D_DOWN - -SCREEN_WIDTH EQU 20 -SCREEN_HEIGHT EQU 18 - -SCREEN_WIDTH_PIXELS EQU SCREEN_WIDTH * 8 -SCREEN_HEIGHT_PIXELS EQU SCREEN_HEIGHT * 8 - -BYTES_PER_TILE EQU 16 - -BG_MAP_WIDTH EQU 32 -BG_MAP_HEIGHT EQU 32 - -SPRITEBUFFERSIZE EQU 7*7 * 8 ; 7 * 7 (tiles) * 8 (bytes per tile) - -NPC_MOVEMENT_DOWN EQU $00 -NPC_MOVEMENT_UP EQU $40 -NPC_MOVEMENT_LEFT EQU $80 -NPC_MOVEMENT_RIGHT EQU $C0 - -; text box IDs -MESSAGE_BOX EQU $01 -FIELD_MOVE_MON_MENU EQU $04 -JP_MOCHIMONO_MENU_TEMPLATE EQU $05 -USE_TOSS_MENU_TEMPLATE EQU $06 -JP_SAVE_MESSAGE_MENU_TEMPLATE EQU $08 -JP_SPEED_OPTIONS_MENU_TEMPLATE EQU $09 -BATTLE_MENU_TEMPLATE EQU $0b -SWITCH_STATS_CANCEL_MENU_TEMPLATE EQU $0c -LIST_MENU_BOX EQU $0d -BUY_SELL_QUIT_MENU_TEMPLATE EQU $0e -MONEY_BOX_TEMPLATE EQU $0f -MON_SPRITE_POPUP EQU $11 -JP_AH_MENU_TEMPLATE EQU $12 -MONEY_BOX EQU $13 -TWO_OPTION_MENU EQU $14 -BUY_SELL_QUIT_MENU EQU $15 -JP_POKEDEX_MENU_TEMPLATE EQU $1a -SAFARI_BATTLE_MENU_TEMPLATE EQU $1b - -; two option menu constants -YES_NO_MENU EQU 0 -NORTH_WEST_MENU EQU 1 -SOUTH_EAST_MENU EQU 2 -WIDE_YES_NO_MENU EQU 3 -NORTH_EAST_MENU EQU 4 -TRADE_CANCEL_MENU EQU 5 -HEAL_CANCEL_MENU EQU 6 -NO_YES_MENU EQU 7 - -; menu exit method constants for list menus and the buy/sell/quit menu -CHOSE_MENU_ITEM EQU 1 ; pressed A -CANCELLED_MENU EQU 2 ; pressed B - -; menu exit method constants for two-option menus -CHOSE_FIRST_ITEM EQU 1 -CHOSE_SECOND_ITEM EQU 2 - -; move mon constants -BOX_TO_PARTY EQU 0 -PARTY_TO_BOX EQU 1 -DAYCARE_TO_PARTY EQU 2 -PARTY_TO_DAYCARE EQU 3 - -; emotion bubbles -EXCLAMATION_BUBBLE EQU 0 -QUESTION_BUBBLE EQU 1 -SMILE_BUBBLE EQU 2 - -; slot symbols -SLOTS7 EQU $0200 -SLOTSBAR EQU $0604 -SLOTSCHERRY EQU $0A08 -SLOTSFISH EQU $0E0C -SLOTSBIRD EQU $1210 -SLOTSMOUSE EQU $1614 - -; party menu types -NORMAL_PARTY_MENU EQU 0 -USE_ITEM_PARTY_MENU EQU 1 -BATTLE_PARTY_MENU EQU 2 -TMHM_PARTY_MENU EQU 3 -SWAP_MONS_PARTY_MENU EQU 4 -EVO_STONE_PARTY_MENU EQU 5 - -; party menu message IDs -ANTIDOTE_MSG EQU $F0 -BURN_HEAL_MSG EQU $F1 -ICE_HEAL_MSG EQU $F2 -AWAKENING_MSG EQU $F3 -PARALYZ_HEAL_MSG EQU $F4 -POTION_MSG EQU $F5 -FULL_HEAL_MSG EQU $F6 -REVIVE_MSG EQU $F7 -RARE_CANDY_MSG EQU $F8 - -; naming screen types -NAME_PLAYER_SCREEN EQU 0 -NAME_RIVAL_SCREEN EQU 1 -NAME_MON_SCREEN EQU 2 - -; mon data locations -; Note that some values are not supported by all functions that use these values. -PLAYER_PARTY_DATA EQU 0 -ENEMY_PARTY_DATA EQU 1 -BOX_DATA EQU 2 -DAYCARE_DATA EQU 3 -BATTLE_MON_DATA EQU 4 - -; player direction constants - -PLAYER_DIR_BIT_RIGHT EQU 0 -PLAYER_DIR_BIT_LEFT EQU 1 -PLAYER_DIR_BIT_DOWN EQU 2 -PLAYER_DIR_BIT_UP EQU 3 - -PLAYER_DIR_RIGHT EQU (1 << PLAYER_DIR_BIT_RIGHT) -PLAYER_DIR_LEFT EQU (1 << PLAYER_DIR_BIT_LEFT) -PLAYER_DIR_DOWN EQU (1 << PLAYER_DIR_BIT_DOWN) -PLAYER_DIR_UP EQU (1 << PLAYER_DIR_BIT_UP) +; Boolean checks +FALSE EQU 0 +TRUE EQU 1 ; flag operations - FLAG_RESET EQU 0 FLAG_SET EQU 1 FLAG_TEST EQU 2 - -; HP bar -HP_BAR_GREEN EQU 0 -HP_BAR_YELLOW EQU 1 -HP_BAR_RED EQU 2 - -; D733 flags -BIT_TEST_BATTLE EQU 0 - -; battle type constants -BATTLE_TYPE_NORMAL EQU 0 -BATTLE_TYPE_OLD_MAN EQU 1 -BATTLE_TYPE_SAFARI EQU 2 - -; serial - -ESTABLISH_CONNECTION_WITH_INTERNAL_CLOCK EQU $01 -ESTABLISH_CONNECTION_WITH_EXTERNAL_CLOCK EQU $02 - -USING_EXTERNAL_CLOCK EQU $01 -USING_INTERNAL_CLOCK EQU $02 -CONNECTION_NOT_ESTABLISHED EQU $ff - -; signals the start of an array of bytes transferred over the link cable -SERIAL_PREAMBLE_BYTE EQU $FD - -; this byte is used when there is no data to send -SERIAL_NO_DATA_BYTE EQU $FE - -; signals the end of one part of a patch list (there are two parts) for player/enemy party data -SERIAL_PATCH_LIST_PART_TERMINATOR EQU $FF - -LINK_STATE_NONE EQU $00 ; not using link -LINK_STATE_IN_CABLE_CLUB EQU $01 ; in a cable club room (Colosseum or Trade Centre) -LINK_STATE_START_TRADE EQU $02 ; pre-trade selection screen initialisation -LINK_STATE_START_BATTLE EQU $03 ; pre-battle initialisation -LINK_STATE_BATTLING EQU $04 ; in a link battle -LINK_STATE_RESET EQU $05 ; reset game (unused) -LINK_STATE_TRADING EQU $32 ; in a link trade - -LINKBATTLE_RUN EQU $F -LINKBATTLE_STRUGGLE EQU $E -LINKBATTLE_NO_ACTION EQU $D diff --git a/constants/move_animation_constants.asm b/constants/move_animation_constants.asm index 27658c83..d2025f4e 100644 --- a/constants/move_animation_constants.asm +++ b/constants/move_animation_constants.asm @@ -1,8 +1,6 @@ -; subanimations +; special effects that are part of move animations -const_value = $D8 - -; special effects, prefaced with "SE" for "Special Effect" + const_def $D8 const SE_WAVY_SCREEN ; $D8 used in Psywave/Night Shade/Psychic etc. const SE_SUBSTITUTE_MON ; $D9 used in Substitute (turns the pokemon into a mini sprite) const SE_SHAKE_BACK_AND_FORTH ; $DA used in Double Team diff --git a/constants/move_constants.asm b/constants/move_constants.asm index dfbb500e..850662de 100644 --- a/constants/move_constants.asm +++ b/constants/move_constants.asm @@ -1,5 +1,5 @@ -const_value = 1 - + const_def + const NO_MOVE ; 00 const POUND ; 01 const KARATE_CHOP ; 02 const DOUBLESLAP ; 03 @@ -167,7 +167,7 @@ const_value = 1 NUM_ATTACKS EQU const_value + -1 - const STRUGGLE + const STRUGGLE ; a5 ; Moves do double duty as animation identifiers. diff --git a/constants/move_effect_constants.asm b/constants/move_effect_constants.asm index b66772d1..36a60a41 100644 --- a/constants/move_effect_constants.asm +++ b/constants/move_effect_constants.asm @@ -2,8 +2,8 @@ ; {stat}_(UP|DOWN)(1|2) means that the move raises the user's (or lowers the target's) corresponding stat modifier by 1 (or 2) stages ; {status condition}_side_effect means that the move has a side chance of causing that condition ; {status condition}_effect means that the move causes the status condition every time it hits the target -const_value = 0 + const_def const NO_ADDITIONAL_EFFECT ; $00 const UNUSED_EFFECT_01 ; $01 const POISON_SIDE_EFFECT1 ; $02 @@ -91,7 +91,3 @@ const_value = 0 const LEECH_SEED_EFFECT ; $54 const SPLASH_EFFECT ; $55 const DISABLE_EFFECT ; $56 - -; fixed damage constants -SONICBOOM_DAMAGE EQU 20 -DRAGON_RAGE_DAMAGE EQU 40 diff --git a/constants/music_constants.asm b/constants/music_constants.asm index de91352e..9459c0a4 100644 --- a/constants/music_constants.asm +++ b/constants/music_constants.asm @@ -1,50 +1,3 @@ -; HW sound channel register base addresses -HW_CH1_BASE EQU (rNR10 % $100) -HW_CH2_BASE EQU ((rNR21 % $100) - 1) -HW_CH3_BASE EQU (rNR30 % $100) -HW_CH4_BASE EQU ((rNR41 % $100) - 1) - -; HW sound channel enable bit masks -HW_CH1_ENABLE_MASK EQU %00010001 -HW_CH2_ENABLE_MASK EQU %00100010 -HW_CH3_ENABLE_MASK EQU %01000100 -HW_CH4_ENABLE_MASK EQU %10001000 - -; HW sound channel disable bit masks -HW_CH1_DISABLE_MASK EQU (~HW_CH1_ENABLE_MASK & $ff) -HW_CH2_DISABLE_MASK EQU (~HW_CH2_ENABLE_MASK & $ff) -HW_CH3_DISABLE_MASK EQU (~HW_CH3_ENABLE_MASK & $ff) -HW_CH4_DISABLE_MASK EQU (~HW_CH4_ENABLE_MASK & $ff) - -REG_DUTY_SOUND_LEN EQU 1 -REG_VOLUME_ENVELOPE EQU 2 -REG_FREQUENCY_LO EQU 3 - -MAX_SFX_ID_1 EQUS "SFX_SAFARI_ZONE_PA" -MAX_SFX_ID_2 EQUS "SFX_SILPH_SCOPE" -MAX_SFX_ID_3 EQUS "SFX_SHOOTING_STAR" - -NOISE_INSTRUMENTS_START EQUS "SFX_NOISE_INSTRUMENT01" -NOISE_INSTRUMENTS_END EQUS "SFX_NOISE_INSTRUMENT19 + 1" - -CRY_SFX_START EQUS "SFX_CRY_00" -CRY_SFX_END EQUS "SFX_CRY_25 + 3" - -BATTLE_SFX_START EQUS "SFX_PECK" -BATTLE_SFX_END EQUS "SFX_SILPH_SCOPE + 1" - -; wChannelFlags1 constants -BIT_PERFECT_PITCH EQU 0 ; controlled by toggle_perfect_pitch command -BIT_SOUND_CALL EQU 1 ; if in sound call -BIT_NOISE_OR_SFX EQU 2 ; if channel is the music noise channel or an SFX channel -BIT_VIBRATO_DIRECTION EQU 3 ; if the pitch is above or below normal (cycles) -BIT_PITCH_SLIDE_ON EQU 4 ; if pitch slide is active -BIT_PITCH_SLIDE_DECREASING EQU 5 ; if the pitch slide frequency is decreasing (instead of increasing) -BIT_ROTATE_DUTY_CYCLE EQU 6 ; if rotating duty cycle - -; wChannelFlags2 constant (only has one flag) -BIT_EXECUTE_MUSIC EQU 0 ; if in execute music - ; Song ids are calculated by address to save space. music_const: MACRO diff --git a/constants/palette_constants.asm b/constants/palette_constants.asm index 1413ad98..da63651a 100755 --- a/constants/palette_constants.asm +++ b/constants/palette_constants.asm @@ -5,25 +5,27 @@ const DARK_GRAY const BLACK -SET_PAL_BATTLE_BLACK EQU $00 -SET_PAL_BATTLE EQU $01 -SET_PAL_TOWN_MAP EQU $02 -SET_PAL_STATUS_SCREEN EQU $03 -SET_PAL_POKEDEX EQU $04 -SET_PAL_SLOTS EQU $05 -SET_PAL_TITLE_SCREEN EQU $06 -SET_PAL_NIDORINO_INTRO EQU $07 -SET_PAL_GENERIC EQU $08 -SET_PAL_OVERWORLD EQU $09 -SET_PAL_PARTY_MENU EQU $0A -SET_PAL_POKEMON_WHOLE_SCREEN EQU $0B -SET_PAL_GAME_FREAK_INTRO EQU $0C -SET_PAL_TRAINER_CARD EQU $0D -UPDATE_PARTY_MENU_BLK_PACKET EQU $FC - -; super game boy palettes -const_value = 0 +; pal/blk packets + const_def + const SET_PAL_BATTLE_BLACK ; $00 + const SET_PAL_BATTLE ; $01 + const SET_PAL_TOWN_MAP ; $02 + const SET_PAL_STATUS_SCREEN ; $03 + const SET_PAL_POKEDEX ; $04 + const SET_PAL_SLOTS ; $05 + const SET_PAL_TITLE_SCREEN ; $06 + const SET_PAL_NIDORINO_INTRO ; $07 + const SET_PAL_GENERIC ; $08 + const SET_PAL_OVERWORLD ; $09 + const SET_PAL_PARTY_MENU ; $0A + const SET_PAL_POKEMON_WHOLE_SCREEN ; $0B + const SET_PAL_GAME_FREAK_INTRO ; $0C + const SET_PAL_TRAINER_CARD ; $0D +const_value = -4 + const UPDATE_PARTY_MENU_BLK_PACKET ; $FC +; sgb palettes + const_def const PAL_ROUTE ; $00 const PAL_PALLET ; $01 const PAL_VIRIDIAN ; $02 diff --git a/constants/pokedex_constants.asm b/constants/pokedex_constants.asm index b80547f7..c8605852 100644 --- a/constants/pokedex_constants.asm +++ b/constants/pokedex_constants.asm @@ -1,5 +1,4 @@ -const_value = 1 - + const_def 1 const DEX_BULBASAUR ; 1 const DEX_IVYSAUR ; 2 const DEX_VENUSAUR ; 3 diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm index f8a38731..5484a65d 100644 --- a/constants/pokemon_constants.asm +++ b/constants/pokemon_constants.asm @@ -1,5 +1,5 @@ -const_value = 1 - + const_def + const NO_MON ; $00 const RHYDON ; $01 const KANGASKHAN ; $02 const NIDORAN_M ; $03 diff --git a/constants/pokemon_data_constants.asm b/constants/pokemon_data_constants.asm new file mode 100755 index 00000000..c5245026 --- /dev/null +++ b/constants/pokemon_data_constants.asm @@ -0,0 +1,28 @@ +PARTY_LENGTH EQU 6 + +MONS_PER_BOX EQU 20 +NUM_BOXES EQU 12 + +HOF_MON EQU $10 +HOF_TEAM EQU PARTY_LENGTH * HOF_MON +HOF_TEAM_CAPACITY EQU 50 + + +; mon data locations +; Note that some values are not supported by all functions that use these values. +PLAYER_PARTY_DATA EQU 0 +ENEMY_PARTY_DATA EQU 1 +BOX_DATA EQU 2 +DAYCARE_DATA EQU 3 +BATTLE_MON_DATA EQU 4 + + +; See data/pokemon/evos_moves.asm + +; Evolution types +EV_LEVEL EQU 1 +EV_ITEM EQU 2 +EV_TRADE EQU 3 + +MAX_EVOLUTIONS EQU 3 +EVOLUTION_SIZE EQU 4 diff --git a/constants/script_constants.asm b/constants/script_constants.asm new file mode 100644 index 00000000..c04e9ca0 --- /dev/null +++ b/constants/script_constants.asm @@ -0,0 +1,12 @@ +; emotion bubbles +EXCLAMATION_BUBBLE EQU 0 +QUESTION_BUBBLE EQU 1 +SMILE_BUBBLE EQU 2 + +; slot symbols +SLOTS7 EQU $0200 +SLOTSBAR EQU $0604 +SLOTSCHERRY EQU $0A08 +SLOTSFISH EQU $0E0C +SLOTSBIRD EQU $1210 +SLOTSMOUSE EQU $1614 diff --git a/constants/serial_constants.asm b/constants/serial_constants.asm new file mode 100644 index 00000000..a6aae315 --- /dev/null +++ b/constants/serial_constants.asm @@ -0,0 +1,27 @@ +ESTABLISH_CONNECTION_WITH_INTERNAL_CLOCK EQU $01 +ESTABLISH_CONNECTION_WITH_EXTERNAL_CLOCK EQU $02 + +USING_EXTERNAL_CLOCK EQU $01 +USING_INTERNAL_CLOCK EQU $02 +CONNECTION_NOT_ESTABLISHED EQU $ff + +; signals the start of an array of bytes transferred over the link cable +SERIAL_PREAMBLE_BYTE EQU $FD + +; this byte is used when there is no data to send +SERIAL_NO_DATA_BYTE EQU $FE + +; signals the end of one part of a patch list (there are two parts) for player/enemy party data +SERIAL_PATCH_LIST_PART_TERMINATOR EQU $FF + +LINK_STATE_NONE EQU $00 ; not using link +LINK_STATE_IN_CABLE_CLUB EQU $01 ; in a cable club room (Colosseum or Trade Centre) +LINK_STATE_START_TRADE EQU $02 ; pre-trade selection screen initialisation +LINK_STATE_START_BATTLE EQU $03 ; pre-battle initialisation +LINK_STATE_BATTLING EQU $04 ; in a link battle +LINK_STATE_RESET EQU $05 ; reset game (unused) +LINK_STATE_TRADING EQU $32 ; in a link trade + +LINKBATTLE_RUN EQU $F +LINKBATTLE_STRUGGLE EQU $E +LINKBATTLE_NO_ACTION EQU $D diff --git a/constants/sprite_constants.asm b/constants/sprite_constants.asm index 54d2f191..939ab2df 100755 --- a/constants/sprite_constants.asm +++ b/constants/sprite_constants.asm @@ -1,20 +1,6 @@ -; pokemon's overworld sprites -const_value = 0 - - const ICON_MON ; $0 - const ICON_BALL ; $1 - const ICON_HELIX ; $2 - const ICON_FAIRY ; $3 - const ICON_BIRD ; $4 - const ICON_WATER ; $5 - const ICON_BUG ; $6 - const ICON_GRASS ; $7 - const ICON_SNAKE ; $8 - const ICON_QUADRUPED ; $9 - ; overworld sprites -const_value = 1 - + const_def + const SPRITE_NONE ; $00 const SPRITE_RED ; $01 const SPRITE_BLUE ; $02 const SPRITE_OAK ; $03 @@ -87,15 +73,3 @@ const_value = 1 const SPRITE_LYING_OLD_MAN_UNUSED_1 ; $46 const SPRITE_LYING_OLD_MAN_UNUSED_2 ; $47 const SPRITE_LYING_OLD_MAN ; $48 - -; different kinds of people events -ITEM EQU $80 -TRAINER EQU $40 - -BOULDER_MOVEMENT_BYTE_2 EQU $10 - -; sprite facing directions -SPRITE_FACING_DOWN EQU $00 -SPRITE_FACING_UP EQU $04 -SPRITE_FACING_LEFT EQU $08 -SPRITE_FACING_RIGHT EQU $0C diff --git a/constants/sprite_data_constants.asm b/constants/sprite_data_constants.asm new file mode 100644 index 00000000..d5788cb1 --- /dev/null +++ b/constants/sprite_data_constants.asm @@ -0,0 +1,28 @@ +; different kinds of people events +ITEM EQU $80 +TRAINER EQU $40 + +BOULDER_MOVEMENT_BYTE_2 EQU $10 + +; sprite facing directions +SPRITE_FACING_DOWN EQU $00 +SPRITE_FACING_UP EQU $04 +SPRITE_FACING_LEFT EQU $08 +SPRITE_FACING_RIGHT EQU $0C + +NPC_MOVEMENT_DOWN EQU $00 +NPC_MOVEMENT_UP EQU $40 +NPC_MOVEMENT_LEFT EQU $80 +NPC_MOVEMENT_RIGHT EQU $C0 + +; player direction constants + +PLAYER_DIR_BIT_RIGHT EQU 0 +PLAYER_DIR_BIT_LEFT EQU 1 +PLAYER_DIR_BIT_DOWN EQU 2 +PLAYER_DIR_BIT_UP EQU 3 + +PLAYER_DIR_RIGHT EQU (1 << PLAYER_DIR_BIT_RIGHT) +PLAYER_DIR_LEFT EQU (1 << PLAYER_DIR_BIT_LEFT) +PLAYER_DIR_DOWN EQU (1 << PLAYER_DIR_BIT_DOWN) +PLAYER_DIR_UP EQU (1 << PLAYER_DIR_BIT_UP) diff --git a/constants/status_constants.asm b/constants/status_constants.asm deleted file mode 100755 index 25babb82..00000000 --- a/constants/status_constants.asm +++ /dev/null @@ -1,32 +0,0 @@ -; non-volatile statuses -SLP EQU %111 ; sleep counter -PSN EQU 3 -BRN EQU 4 -FRZ EQU 5 -PAR EQU 6 - -; volatile statuses 1 -STORING_ENERGY EQU 0 ; Bide -THRASHING_ABOUT EQU 1 ; e.g. Thrash -ATTACKING_MULTIPLE_TIMES EQU 2 ; e.g. Double Kick, Fury Attack -FLINCHED EQU 3 -CHARGING_UP EQU 4 ; e.g. Solar Beam, Fly -USING_TRAPPING_MOVE EQU 5 ; e.g. Wrap -INVULNERABLE EQU 6 ; charging up Fly/Dig -CONFUSED EQU 7 - -; volatile statuses 2 -USING_X_ACCURACY EQU 0 -PROTECTED_BY_MIST EQU 1 -GETTING_PUMPED EQU 2 ; Focus Energy -; EQU 3 ; unused -HAS_SUBSTITUTE_UP EQU 4 -NEEDS_TO_RECHARGE EQU 5 ; Hyper Beam -USING_RAGE EQU 6 -SEEDED EQU 7 - -; volatile statuses 3 -BADLY_POISONED EQU 0 -HAS_LIGHT_SCREEN_UP EQU 1 -HAS_REFLECT_UP EQU 2 -TRANSFORMED EQU 3 diff --git a/constants/text_constants.asm b/constants/text_constants.asm index 3cddce26..a3ef2012 100644 --- a/constants/text_constants.asm +++ b/constants/text_constants.asm @@ -1,3 +1,6 @@ +NAME_LENGTH EQU 11 +ITEM_NAME_LENGTH EQU 13 + ; special text IDs TEXT_MON_FAINTED EQU $d0 TEXT_BLACKED_OUT EQU $d1 diff --git a/constants/tilesets.asm b/constants/tilesets.asm index f10e4d92..33d59fcb 100644 --- a/constants/tilesets.asm +++ b/constants/tilesets.asm @@ -1,5 +1,4 @@ -const_value = 0 - + const_def const OVERWORLD ; 0 const REDS_HOUSE_1 ; 1 const MART ; 2 diff --git a/constants/trainer_constants.asm b/constants/trainer_constants.asm index d936aa06..6e4c2f18 100755 --- a/constants/trainer_constants.asm +++ b/constants/trainer_constants.asm @@ -6,8 +6,8 @@ OPP_\1 EQU const_value + OPP_ID_OFFSET const_value = const_value + 1 ENDM -const_value = 1 - + const_def + trainer_const NOBODY ; $00 trainer_const YOUNGSTER ; $01 trainer_const BUG_CATCHER ; $02 trainer_const LASS ; $03 diff --git a/constants/type_constants.asm b/constants/type_constants.asm index b36dc179..c94d5c39 100755 --- a/constants/type_constants.asm +++ b/constants/type_constants.asm @@ -1,16 +1,23 @@ -; Elemental types -NORMAL EQU $00 -FIGHTING EQU $01 -FLYING EQU $02 -POISON EQU $03 -GROUND EQU $04 -ROCK EQU $05 -BUG EQU $07 -GHOST EQU $08 -FIRE EQU $14 -WATER EQU $15 -GRASS EQU $16 -ELECTRIC EQU $17 -PSYCHIC EQU $18 -ICE EQU $19 -DRAGON EQU $1A + const_def + +PHYSICAL EQU const_value + const NORMAL ; $00 + const FIGHTING ; $01 + const FLYING ; $02 + const POISON ; $03 + const GROUND ; $04 + const ROCK ; $05 + const BIRD ; $06 + const BUG ; $07 + const GHOST ; $08 + +const_value = $14 + +SPECIAL EQU const_value + const FIRE ; $14 + const WATER ; $15 + const GRASS ; $16 + const ELECTRIC ; $17 + const PSYCHIC ; $18 + const ICE ; $19 + const DRAGON ; $1A diff --git a/data/pokemon/evos_moves.asm b/data/pokemon/evos_moves.asm index 26f09b87..51f6b244 100755 --- a/data/pokemon/evos_moves.asm +++ b/data/pokemon/evos_moves.asm @@ -1,4 +1,4 @@ -; See constants/evolution_constants.asm +; See constants/pokemon_data_constants.asm ; The max number of evolutions per monster is MAX_EVOLUTIONS EvosMovesPointerTable: diff --git a/engine/battle/core.asm b/engine/battle/core.asm index fec10215..86c3f5e5 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -4139,7 +4139,7 @@ GetDamageVarsForPlayerAttack: ld d, a ; d = move power ret z ; return if move power is zero ld a, [hl] ; a = [wPlayerMoveType] - cp FIRE ; types >= FIRE are all special + cp SPECIAL ; types >= SPECIAL are all special jr nc, .specialAttack .physicalAttack ld hl, wEnemyMonDefense @@ -4252,7 +4252,7 @@ GetDamageVarsForEnemyAttack: and a ret z ; return if move power is zero ld a, [hl] ; a = [wEnemyMoveType] - cp FIRE ; types >= FIRE are all special + cp SPECIAL ; types >= SPECIAL are all special jr nc, .specialAttack .physicalAttack ld hl, wBattleMonDefense diff --git a/macros/data_macros.asm b/macros/data_macros.asm index ee5cb8f0..371247d3 100755 --- a/macros/data_macros.asm +++ b/macros/data_macros.asm @@ -1,7 +1,11 @@ ; Constant enumeration is useful for monsters, items, moves, etc. const_def: MACRO +if _NARG >= 1 +const_value = \1 +else const_value = 0 +endc ENDM const: MACRO diff --git a/text.asm b/text.asm index 49e22ef0..d15f258a 100644 --- a/text.asm +++ b/text.asm @@ -1,9 +1,4 @@ -INCLUDE "macros.asm" -INCLUDE "charmap.asm" - -INCLUDE "hram.asm" - -INCLUDE "constants/text_constants.asm" +INCLUDE "constants.asm" SECTION "Text 1", ROMX -- cgit v1.2.3 From 6bd86e10c32cd7b464425adfc01621f3ff6726aa Mon Sep 17 00:00:00 2001 From: Rangi Date: Fri, 3 Jul 2020 13:03:21 -0400 Subject: Reorganize home header --- home.asm | 112 ++++--------------------------------------------- home/clear_sprites.asm | 21 ++++++++++ home/header.asm | 57 +++++++++++++++++++++++++ home/lcd.asm | 25 +++++++++++ home/start.asm | 10 +++++ layout.link | 100 ++++++++----------------------------------- 6 files changed, 138 insertions(+), 187 deletions(-) create mode 100644 home/clear_sprites.asm create mode 100644 home/header.asm create mode 100644 home/lcd.asm create mode 100644 home/start.asm diff --git a/home.asm b/home.asm index de7e90ea..bb581454 100644 --- a/home.asm +++ b/home.asm @@ -1,118 +1,22 @@ INCLUDE "constants.asm" -; The rst vectors are unused. -SECTION "rst 00", ROM0 - rst $38 -SECTION "rst 08", ROM0 - rst $38 -SECTION "rst 10", ROM0 - rst $38 -SECTION "rst 18", ROM0 - rst $38 -SECTION "rst 20", ROM0 - rst $38 -SECTION "rst 28", ROM0 - rst $38 -SECTION "rst 30", ROM0 - rst $38 -SECTION "rst 38", ROM0 - rst $38 - -; Hardware interrupts -SECTION "vblank", ROM0 - jp VBlank -SECTION "hblank", ROM0 - rst $38 -SECTION "timer", ROM0 - jp Timer -SECTION "serial", ROM0 - jp Serial -SECTION "joypad", ROM0 - reti +SECTION "NULL", ROM0 +NULL:: +INCLUDE "home/header.asm" -SECTION "Home", ROM0 - -DisableLCD:: - xor a - ld [rIF], a - ld a, [rIE] - ld b, a - res 0, a - ld [rIE], a - -.wait - ld a, [rLY] - cp LY_VBLANK - jr nz, .wait - - ld a, [rLCDC] - and $ff ^ rLCDC_ENABLE_MASK - ld [rLCDC], a - ld a, b - ld [rIE], a - ret - -EnableLCD:: - ld a, [rLCDC] - set rLCDC_ENABLE, a - ld [rLCDC], a - ret - -ClearSprites:: - xor a - ld hl, wOAMBuffer - ld b, 40 * 4 -.loop - ld [hli], a - dec b - jr nz, .loop - ret -HideSprites:: - ld a, 160 - ld hl, wOAMBuffer - ld de, 4 - ld b, 40 -.loop - ld [hl], a - add hl, de - dec b - jr nz, .loop - ret +SECTION "High Home", ROM0 +INCLUDE "home/lcd.asm" +INCLUDE "home/clear_sprites.asm" INCLUDE "home/copy.asm" -SECTION "Entry", ROM0 - - nop - jp Start - - -SECTION "Header", ROM0 - - ; The header is generated by rgbfix. - ; The space here is allocated to prevent code from being overwritten. - - ds $150 - $104 - - -SECTION "Main", ROM0 - -Start:: - cp GBC - jr z, .gbc - xor a - jr .ok -.gbc - ld a, 0 -.ok - ld [wGBC], a - jp Init - +SECTION "Home", ROM0 +INCLUDE "home/start.asm" INCLUDE "home/joypad.asm" INCLUDE "data/maps/map_header_pointers.asm" INCLUDE "home/overworld.asm" diff --git a/home/clear_sprites.asm b/home/clear_sprites.asm new file mode 100644 index 00000000..34f4b4ec --- /dev/null +++ b/home/clear_sprites.asm @@ -0,0 +1,21 @@ +ClearSprites:: + xor a + ld hl, wOAMBuffer + ld b, 40 * 4 +.loop + ld [hli], a + dec b + jr nz, .loop + ret + +HideSprites:: + ld a, 160 + ld hl, wOAMBuffer + ld de, 4 + ld b, 40 +.loop + ld [hl], a + add hl, de + dec b + jr nz, .loop + ret diff --git a/home/header.asm b/home/header.asm new file mode 100644 index 00000000..047f97f4 --- /dev/null +++ b/home/header.asm @@ -0,0 +1,57 @@ +; rst vectors (unused) + +SECTION "rst0", ROM0[$0000] + rst $38 + +SECTION "rst8", ROM0[$0008] + rst $38 + +SECTION "rst10", ROM0[$0010] + rst $38 + +SECTION "rst18", ROM0[$0018] + rst $38 + +SECTION "rst20", ROM0[$0020] + rst $38 + +SECTION "rst28", ROM0[$0028] + rst $38 + +SECTION "rst30", ROM0[$0030] + rst $38 + +SECTION "rst38", ROM0[$0038] + rst $38 + + +; Game Boy hardware interrupts + +SECTION "vblank", ROM0[$0040] + jp VBlank + +SECTION "lcd", ROM0[$0048] + rst $38 + +SECTION "timer", ROM0[$0050] + jp Timer + +SECTION "serial", ROM0[$0058] + jp Serial + +SECTION "joypad", ROM0[$0060] + reti + + +SECTION "Header", ROM0[$0100] + +Start:: +; Nintendo requires all Game Boy ROMs to begin with a nop ($00) and a jp ($C3) +; to the starting address. + nop + jp _Start + +; The Game Boy cartridge header data is patched over by rgbfix. +; This makes sure it doesn't get used for anything else. + + ds $0150 - @, $00 diff --git a/home/lcd.asm b/home/lcd.asm new file mode 100644 index 00000000..e88a42b3 --- /dev/null +++ b/home/lcd.asm @@ -0,0 +1,25 @@ +DisableLCD:: + xor a + ld [rIF], a + ld a, [rIE] + ld b, a + res 0, a + ld [rIE], a + +.wait + ld a, [rLY] + cp LY_VBLANK + jr nz, .wait + + ld a, [rLCDC] + and $ff ^ rLCDC_ENABLE_MASK + ld [rLCDC], a + ld a, b + ld [rIE], a + ret + +EnableLCD:: + ld a, [rLCDC] + set rLCDC_ENABLE, a + ld [rLCDC], a + ret diff --git a/home/start.asm b/home/start.asm new file mode 100644 index 00000000..448b6362 --- /dev/null +++ b/home/start.asm @@ -0,0 +1,10 @@ +_Start:: + cp GBC + jr z, .gbc + xor a + jr .ok +.gbc + ld a, 0 +.ok + ld [wGBC], a + jp Init diff --git a/layout.link b/layout.link index 6391c9d5..d4473435 100644 --- a/layout.link +++ b/layout.link @@ -1,59 +1,43 @@ ROM0 org $0000 - "rst 00" - + "NULL" + org $0000 + "rst0" org $0008 - "rst 08" - + "rst8" org $0010 - "rst 10" - + "rst10" org $0018 - "rst 18" - + "rst18" org $0020 - "rst 20" - + "rst20" org $0028 - "rst 28" - + "rst28" org $0030 - "rst 30" - + "rst30" org $0038 - "rst 38" - + "rst38" org $0040 "vblank" - org $0048 - "hblank" - + "lcd" org $0050 "timer" - org $0058 "serial" - org $0060 "joypad" ; $0061 - "Home" - + "High Home" org $100 - "Entry" - ; $0104 "Header" - org $150 - "Main" + "Home" ROMX $1 - org $4000 "bank1" ROMX $2 - org $4000 "Sound Effect Headers 1" "Music Headers 1" "Sound Effects 1" @@ -61,36 +45,30 @@ ROMX $2 "Music 1" ROMX $3 - org $4000 "bank3" ROMX $4 - org $4000 "NPC Sprites 1" "Graphics (BANK 4)" "Battle (BANK 4)" ROMX $5 - org $4000 "NPC Sprites 2" "Battle (BANK 5)" ROMX $6 - org $4000 "Maps 1" "bank6_1" "Maps 2" "bank6_2" ROMX $7 - org $4000 "Maps 3" "bank7_1" "Maps 4" "bank7_2" ROMX $8 - org $4000 "Sound Effect Headers 2" "Music Headers 2" "Sound Effects 2" @@ -100,113 +78,92 @@ ROMX $8 "Music 2" ROMX $9 - org $4000 "Pics 1" "Battle (BANK 9)" ROMX $A - org $4000 "Pics 2" "Battle (BANK A)" ROMX $B - org $4000 "Pics 3" "Battle (BANK B)" ROMX $C - org $4000 "Pics 4" "Battle (BANK C)" ROMX $D - org $4000 "Pics 5" "Battle (BANK D)" ROMX $E - org $4000 "bankE" ROMX $F - org $4000 "bankF" ROMX $10 - org $4000 "bank10" ROMX $11 - org $4000 "Maps 5" "bank11_1" "Maps 6" "bank11_2" ROMX $12 - org $4000 "Maps 7" "bank12" "Maps 8" ROMX $13 - org $4000 "Pics 6" "Maps 9" "bank13" ROMX $14 - org $4000 "Maps 10" "bank14" ROMX $15 - org $4000 "Maps 11" "bank15_1" "Maps 12" "bank15_2" ROMX $16 - org $4000 "Maps 13" "bank16_1" "Maps 14" "bank16_2" ROMX $17 - org $4000 "Maps 15" "bank17_1" "Maps 16" "bank17_2" ROMX $18 - org $4000 "Maps 17" "bank18_1" "Maps 18" "bank18_2" ROMX $19 - org $4000 "Tilesets 1" ROMX $1A - org $4000 "bank1A" "Tilesets 2" ROMX $1B - org $4000 "Tilesets 3" ROMX $1C - org $4000 "bank1C" ROMX $1D - org $4000 "Maps 19" "bank1D_1" "Maps 20" @@ -215,11 +172,9 @@ ROMX $1D "bank1D_3" ROMX $1E - org $4000 "bank1E" ROMX $1F - org $4000 "Sound Effect Headers 3" "Music Headers 3" "Sound Effects 3" @@ -227,81 +182,60 @@ ROMX $1F "Music 3" ROMX $20 - org $4000 "Text 1" ROMX $21 - org $4000 "Text 2" ROMX $22 - org $4000 "Text 3" ROMX $23 - org $4000 "Text 4" ROMX $24 - org $4000 "Text 5" ROMX $25 - org $4000 "Text 6" ROMX $26 - org $4000 "Text 7" ROMX $27 - org $4000 "Text 8" ROMX $28 - org $4000 "Text 9" ROMX $29 - org $4000 "Text 10" ROMX $2A - org $4000 "Text 11" ROMX $2B - org $4000 "Pokedex Text" ROMX $2C - org $4000 "Move Names" WRAM0 - org $c000 "WRAM Bank 0" - org $c100 "Sprite State Data" "OAM Buffer" - org $dfff "Stack" -SRAM 0 - org $a000 +SRAM $0 "Sprite Buffers" -SRAM 1 - org $a000 +SRAM $1 "Save Data" -SRAM 2 - org $a000 +SRAM $2 "Saved Boxes 1" -SRAM 3 - org $a000 +SRAM $3 "Saved Boxes 2" - -- cgit v1.2.3 From e882708b85e19cf30e05fcf31ccedc5f03367702 Mon Sep 17 00:00:00 2001 From: Rangi Date: Fri, 3 Jul 2020 13:23:51 -0400 Subject: Split up engine/events/hidden_object_functions --- engine/events/hidden_object_functions14.asm | 100 ----- engine/events/hidden_object_functions17.asm | 475 --------------------- engine/events/hidden_object_functions18.asm | 198 --------- engine/events/hidden_object_functions3.asm | 117 ----- engine/events/hidden_object_functions7.asm | 467 -------------------- engine/events/hidden_objects/bench_guys.asm | 124 ++++++ engine/events/hidden_objects/bills_house_pc.asm | 134 ++++++ engine/events/hidden_objects/blues_room.asm | 13 + engine/events/hidden_objects/bookshelves.asm | 39 ++ engine/events/hidden_objects/cinnabar_gym_quiz.asm | 194 +++++++++ engine/events/hidden_objects/diglett_sculpture.asm | 21 + engine/events/hidden_objects/elevator.asm | 3 + engine/events/hidden_objects/fighting_dojo.asm | 23 + engine/events/hidden_objects/gym_statues.asm | 48 +++ engine/events/hidden_objects/indigo_plateau_hq.asm | 10 + .../hidden_objects/indigo_plateau_statues.asm | 24 ++ engine/events/hidden_objects/magazines.asm | 8 + engine/events/hidden_objects/museum_fossils.asm | 52 +++ engine/events/hidden_objects/new_bike.asm | 7 + engine/events/hidden_objects/oaks_lab_email.asm | 10 + engine/events/hidden_objects/oaks_lab_posters.asm | 29 ++ engine/events/hidden_objects/pokecenter_pc.asm | 11 + engine/events/hidden_objects/pokemon_stuff.asm | 3 + engine/events/hidden_objects/reds_room.asm | 14 + .../events/hidden_objects/route_15_binoculars.asm | 14 + engine/events/hidden_objects/safari_game.asm | 79 ++++ engine/events/hidden_objects/school_blackboard.asm | 222 ++++++++++ engine/events/hidden_objects/school_notebooks.asm | 65 +++ engine/events/hidden_objects/town_map.asm | 22 + .../events/hidden_objects/vermilion_gym_trash.asm | 169 ++++++++ main.asm | 30 +- 31 files changed, 1363 insertions(+), 1362 deletions(-) delete mode 100755 engine/events/hidden_object_functions14.asm delete mode 100755 engine/events/hidden_object_functions17.asm delete mode 100755 engine/events/hidden_object_functions18.asm delete mode 100755 engine/events/hidden_object_functions3.asm delete mode 100755 engine/events/hidden_object_functions7.asm create mode 100644 engine/events/hidden_objects/bench_guys.asm create mode 100644 engine/events/hidden_objects/bills_house_pc.asm create mode 100644 engine/events/hidden_objects/blues_room.asm create mode 100644 engine/events/hidden_objects/bookshelves.asm create mode 100644 engine/events/hidden_objects/cinnabar_gym_quiz.asm create mode 100644 engine/events/hidden_objects/diglett_sculpture.asm create mode 100644 engine/events/hidden_objects/elevator.asm create mode 100644 engine/events/hidden_objects/fighting_dojo.asm create mode 100644 engine/events/hidden_objects/gym_statues.asm create mode 100644 engine/events/hidden_objects/indigo_plateau_hq.asm create mode 100644 engine/events/hidden_objects/indigo_plateau_statues.asm create mode 100644 engine/events/hidden_objects/magazines.asm create mode 100644 engine/events/hidden_objects/museum_fossils.asm create mode 100644 engine/events/hidden_objects/new_bike.asm create mode 100644 engine/events/hidden_objects/oaks_lab_email.asm create mode 100644 engine/events/hidden_objects/oaks_lab_posters.asm create mode 100644 engine/events/hidden_objects/pokecenter_pc.asm create mode 100644 engine/events/hidden_objects/pokemon_stuff.asm create mode 100644 engine/events/hidden_objects/reds_room.asm create mode 100644 engine/events/hidden_objects/route_15_binoculars.asm create mode 100644 engine/events/hidden_objects/safari_game.asm create mode 100644 engine/events/hidden_objects/school_blackboard.asm create mode 100644 engine/events/hidden_objects/school_notebooks.asm create mode 100644 engine/events/hidden_objects/town_map.asm create mode 100644 engine/events/hidden_objects/vermilion_gym_trash.asm diff --git a/engine/events/hidden_object_functions14.asm b/engine/events/hidden_object_functions14.asm deleted file mode 100755 index 9e14c6a7..00000000 --- a/engine/events/hidden_object_functions14.asm +++ /dev/null @@ -1,100 +0,0 @@ -PrintNotebookText: - call EnableAutoTextBoxDrawing - ld a, $1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld a, [wHiddenObjectFunctionArgument] - jp PrintPredefTextID - -TMNotebook:: - TX_FAR TMNotebookText - TX_WAIT - db "@" - -ViridianSchoolNotebook:: - TX_ASM - ld hl, ViridianSchoolNotebookText1 - call PrintText - call TurnPageSchoolNotebook - jr nz, .doneReading - ld hl, ViridianSchoolNotebookText2 - call PrintText - call TurnPageSchoolNotebook - jr nz, .doneReading - ld hl, ViridianSchoolNotebookText3 - call PrintText - call TurnPageSchoolNotebook - jr nz, .doneReading - ld hl, ViridianSchoolNotebookText4 - call PrintText - ld hl, ViridianSchoolNotebookText5 - call PrintText -.doneReading - jp TextScriptEnd - -TurnPageSchoolNotebook: - ld hl, TurnPageText - call PrintText - call YesNoChoice - ld a, [wCurrentMenuItem] - and a - ret - -TurnPageText: - TX_FAR _TurnPageText - db "@" - -ViridianSchoolNotebookText5: - TX_FAR _ViridianSchoolNotebookText5 - TX_WAIT - db "@" - -ViridianSchoolNotebookText1: - TX_FAR _ViridianSchoolNotebookText1 - db "@" - -ViridianSchoolNotebookText2: - TX_FAR _ViridianSchoolNotebookText2 - db "@" - -ViridianSchoolNotebookText3: - TX_FAR _ViridianSchoolNotebookText3 - db "@" - -ViridianSchoolNotebookText4: - TX_FAR _ViridianSchoolNotebookText4 - db "@" - -PrintFightingDojoText2: - call EnableAutoTextBoxDrawing - tx_pre_jump EnemiesOnEverySideText - -EnemiesOnEverySideText:: - TX_FAR _EnemiesOnEverySideText - db "@" - -PrintFightingDojoText3: - call EnableAutoTextBoxDrawing - tx_pre_jump WhatGoesAroundComesAroundText - -WhatGoesAroundComesAroundText:: - TX_FAR _WhatGoesAroundComesAroundText - db "@" - -PrintFightingDojoText: - call EnableAutoTextBoxDrawing - tx_pre_jump FightingDojoText - -FightingDojoText:: - TX_FAR _FightingDojoText - db "@" - -PrintIndigoPlateauHQText: - ld a, [wSpriteStateData1 + 9] - cp SPRITE_FACING_UP - ret nz - call EnableAutoTextBoxDrawing - tx_pre_jump IndigoPlateauHQText - -IndigoPlateauHQText:: - TX_FAR _IndigoPlateauHQText - db "@" diff --git a/engine/events/hidden_object_functions17.asm b/engine/events/hidden_object_functions17.asm deleted file mode 100755 index bb2a358c..00000000 --- a/engine/events/hidden_object_functions17.asm +++ /dev/null @@ -1,475 +0,0 @@ -PrintRedSNESText: - call EnableAutoTextBoxDrawing - tx_pre_jump RedBedroomSNESText - -RedBedroomSNESText:: - TX_FAR _RedBedroomSNESText - db "@" - -OpenRedsPC: - call EnableAutoTextBoxDrawing - tx_pre_jump RedBedroomPCText - -RedBedroomPCText:: - TX_PLAYERS_PC - -Route15GateLeftBinoculars: - ld a, [wSpriteStateData1 + 9] - cp SPRITE_FACING_UP - ret nz - call EnableAutoTextBoxDrawing - tx_pre Route15UpstairsBinocularsText - ld a, ARTICUNO - ld [wcf91], a - call PlayCry - jp DisplayMonFrontSpriteInBox - -Route15UpstairsBinocularsText:: - TX_FAR _Route15UpstairsBinocularsText - db "@" - -AerodactylFossil: - ld a, FOSSIL_AERODACTYL - ld [wcf91], a - call DisplayMonFrontSpriteInBox - call EnableAutoTextBoxDrawing - tx_pre AerodactylFossilText - ret - -AerodactylFossilText:: - TX_FAR _AerodactylFossilText - db "@" - -KabutopsFossil: - ld a, FOSSIL_KABUTOPS - ld [wcf91], a - call DisplayMonFrontSpriteInBox - call EnableAutoTextBoxDrawing - tx_pre KabutopsFossilText - ret - -KabutopsFossilText:: - TX_FAR _KabutopsFossilText - db "@" - -DisplayMonFrontSpriteInBox: -; Displays a pokemon's front sprite in a pop-up window. -; [wcf91] = pokemon internal id number - ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a - call Delay3 - xor a - ld [hWY], a - call SaveScreenTilesToBuffer1 - ld a, MON_SPRITE_POPUP - ld [wTextBoxID], a - call DisplayTextBoxID - call UpdateSprites - ld a, [wcf91] - ld [wd0b5], a - call GetMonHeader - ld de, vChars1 + $310 - call LoadMonFrontSprite - ld a, $80 - ld [hStartTileID], a - coord hl, 10, 11 - predef AnimateSendingOutMon - call WaitForTextScrollButtonPress - call LoadScreenTilesFromBuffer1 - call Delay3 - ld a, $90 - ld [hWY], a - ret - -PrintBlackboardLinkCableText: - call EnableAutoTextBoxDrawing - ld a, $1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld a, [wHiddenObjectFunctionArgument] - call PrintPredefTextID - ret - -LinkCableHelp:: - TX_ASM - call SaveScreenTilesToBuffer1 - ld hl, LinkCableHelpText1 - call PrintText - xor a - ld [wMenuItemOffset], a ; not used - ld [wCurrentMenuItem], a - ld [wLastMenuItem], a - ld a, A_BUTTON | B_BUTTON - ld [wMenuWatchedKeys], a - ld a, 3 - ld [wMaxMenuItem], a - ld a, 2 - ld [wTopMenuItemY], a - ld a, 1 - ld [wTopMenuItemX], a -.linkHelpLoop - ld hl, wd730 - set 6, [hl] - coord hl, 0, 0 - ld b, 8 - ld c, 13 - call TextBoxBorder - coord hl, 2, 2 - ld de, HowToLinkText - call PlaceString - ld hl, LinkCableHelpText2 - call PrintText - call HandleMenuInput - bit 1, a ; pressed b - jr nz, .exit - ld a, [wCurrentMenuItem] - cp 3 ; pressed a on "STOP READING" - jr z, .exit - ld hl, wd730 - res 6, [hl] - ld hl, LinkCableInfoTexts - add a - ld d, 0 - ld e, a - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - call PrintText - jp .linkHelpLoop -.exit - ld hl, wd730 - res 6, [hl] - call LoadScreenTilesFromBuffer1 - jp TextScriptEnd - -LinkCableHelpText1: - TX_FAR _LinkCableHelpText1 - db "@" - -LinkCableHelpText2: - TX_FAR _LinkCableHelpText2 - db "@" - -HowToLinkText: - db "HOW TO LINK" - next "COLOSSEUM" - next "TRADE CENTER" - next "STOP READING@" - -LinkCableInfoTexts: - dw LinkCableInfoText1 - dw LinkCableInfoText2 - dw LinkCableInfoText3 - -LinkCableInfoText1: - TX_FAR _LinkCableInfoText1 - db "@" - -LinkCableInfoText2: - TX_FAR _LinkCableInfoText2 - db "@" - -LinkCableInfoText3: - TX_FAR _LinkCableInfoText3 - db "@" - -ViridianSchoolBlackboard:: - TX_ASM - call SaveScreenTilesToBuffer1 - ld hl, ViridianSchoolBlackboardText1 - call PrintText - xor a - ld [wMenuItemOffset], a - ld [wCurrentMenuItem], a - ld [wLastMenuItem], a - ld a, D_LEFT | D_RIGHT | A_BUTTON | B_BUTTON - ld [wMenuWatchedKeys], a - ld a, 2 - ld [wMaxMenuItem], a - ld a, 2 - ld [wTopMenuItemY], a - ld a, 1 - ld [wTopMenuItemX], a -.blackboardLoop - ld hl, wd730 - set 6, [hl] - coord hl, 0, 0 - lb bc, 6, 10 - call TextBoxBorder - coord hl, 1, 2 - ld de, StatusAilmentText1 - call PlaceString - coord hl, 6, 2 - ld de, StatusAilmentText2 - call PlaceString - ld hl, ViridianSchoolBlackboardText2 - call PrintText - call HandleMenuInput ; pressing up and down is handled in here - bit 1, a ; pressed b - jr nz, .exitBlackboard - bit 4, a ; pressed right - jr z, .didNotPressRight - ; move cursor to right column - ld a, 2 - ld [wMaxMenuItem], a - ld a, 2 - ld [wTopMenuItemY], a - ld a, 6 - ld [wTopMenuItemX], a - ld a, 3 ; in the the right column, use an offset to prevent overlap - ld [wMenuItemOffset], a - jr .blackboardLoop -.didNotPressRight - bit 5, a ; pressed left - jr z, .didNotPressLeftOrRight - ; move cursor to left column - ld a, 2 - ld [wMaxMenuItem], a - ld a, 2 - ld [wTopMenuItemY], a - ld a, 1 - ld [wTopMenuItemX], a - xor a - ld [wMenuItemOffset], a - jr .blackboardLoop -.didNotPressLeftOrRight - ld a, [wCurrentMenuItem] - ld b, a - ld a, [wMenuItemOffset] - add b - cp 5 ; cursor is pointing to "QUIT" - jr z, .exitBlackboard - ; we must have pressed a on a status condition - ; so print the text - ld hl, wd730 - res 6, [hl] - ld hl, ViridianBlackboardStatusPointers - add a - ld d, 0 - ld e, a - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - call PrintText - jp .blackboardLoop -.exitBlackboard - ld hl, wd730 - res 6, [hl] - call LoadScreenTilesFromBuffer1 - jp TextScriptEnd - -ViridianSchoolBlackboardText1: - TX_FAR _ViridianSchoolBlackboardText1 - db "@" - -ViridianSchoolBlackboardText2: - TX_FAR _ViridianSchoolBlackboardText2 - db "@" - -StatusAilmentText1: - db " SLP" - next " PSN" - next " PAR@" - -StatusAilmentText2: - db " BRN" - next " FRZ" - next " QUIT@@" - -ViridianBlackboardStatusPointers: - dw ViridianBlackboardSleepText - dw ViridianBlackboardPoisonText - dw ViridianBlackboardPrlzText - dw ViridianBlackboardBurnText - dw ViridianBlackboardFrozenText - -ViridianBlackboardSleepText: - TX_FAR _ViridianBlackboardSleepText - db "@" - -ViridianBlackboardPoisonText: - TX_FAR _ViridianBlackboardPoisonText - db "@" - -ViridianBlackboardPrlzText: - TX_FAR _ViridianBlackboardPrlzText - db "@" - -ViridianBlackboardBurnText: - TX_FAR _ViridianBlackboardBurnText - db "@" - -ViridianBlackboardFrozenText: - TX_FAR _ViridianBlackboardFrozenText - db "@" - -PrintTrashText: - call EnableAutoTextBoxDrawing - tx_pre_jump VermilionGymTrashText - -VermilionGymTrashText:: - TX_FAR _VermilionGymTrashText - db "@" - -GymTrashScript: - call EnableAutoTextBoxDrawing - ld a, [wHiddenObjectFunctionArgument] - ld [wGymTrashCanIndex], a - -; Don't do the trash can puzzle if it's already been done. - CheckEvent EVENT_2ND_LOCK_OPENED - jr z, .ok - - tx_pre_jump VermilionGymTrashText - -.ok - CheckEventReuseA EVENT_1ST_LOCK_OPENED - jr nz, .trySecondLock - - ld a, [wFirstLockTrashCanIndex] - ld b, a - ld a, [wGymTrashCanIndex] - cp b - jr z, .openFirstLock - - tx_pre_id VermilionGymTrashText - jr .done - -.openFirstLock -; Next can is trying for the second switch. - SetEvent EVENT_1ST_LOCK_OPENED - - ld hl, GymTrashCans - ld a, [wGymTrashCanIndex] - ; * 5 - ld b, a - add a - add a - add b - - ld d, 0 - ld e, a - add hl, de - ld a, [hli] - -; There is a bug in this code. It should calculate a value in the range [0, 3] -; but if the mask and random number don't have any 1 bits in common, then -; the result of the AND will be 0. When 1 is subtracted from that, the value -; will become $ff. This will result in 255 being added to hl, which will cause -; hl to point to one of the zero bytes that pad the end of the ROM bank. -; Trash can 0 was intended to be able to have the second lock only when the -; first lock was in trash can 1 or 3. However, due to this bug, trash can 0 can -; have the second lock regardless of which trash can had the first lock. - - ld [hGymTrashCanRandNumMask], a - push hl - call Random - swap a - ld b, a - ld a, [hGymTrashCanRandNumMask] - and b - dec a - pop hl - - ld d, 0 - ld e, a - add hl, de - ld a, [hl] - and $f - ld [wSecondLockTrashCanIndex], a - - tx_pre_id VermilionGymTrashSuccessText1 - jr .done - -.trySecondLock - ld a, [wSecondLockTrashCanIndex] - ld b, a - ld a, [wGymTrashCanIndex] - cp b - jr z, .openSecondLock - -; Reset the cans. - ResetEvent EVENT_1ST_LOCK_OPENED - call Random - - and $e - ld [wFirstLockTrashCanIndex], a - - tx_pre_id VermilionGymTrashFailText - jr .done - -.openSecondLock -; Completed the trash can puzzle. - SetEvent EVENT_2ND_LOCK_OPENED - ld hl, wCurrentMapScriptFlags - set 6, [hl] - - tx_pre_id VermilionGymTrashSuccessText3 - -.done - jp PrintPredefTextID - -GymTrashCans: -; byte 0: mask for random number -; bytes 1-4: indices of the trash cans that can have the second lock -; (but see the comment above explaining a bug regarding this) -; Note that the mask is simply the number of valid trash can indices that -; follow. The remaining bytes are filled with 0 to pad the length of each entry -; to 5 bytes. - db 2, 1, 3, 0, 0 ; 0 - db 3, 0, 2, 4, 0 ; 1 - db 2, 1, 5, 0, 0 ; 2 - db 3, 0, 4, 6, 0 ; 3 - db 4, 1, 3, 5, 7 ; 4 - db 3, 2, 4, 8, 0 ; 5 - db 3, 3, 7, 9, 0 ; 6 - db 4, 4, 6, 8, 10 ; 7 - db 3, 5, 7, 11, 0 ; 8 - db 3, 6, 10, 12, 0 ; 9 - db 4, 7, 9, 11, 13 ; 10 - db 3, 8, 10, 14, 0 ; 11 - db 2, 9, 13, 0, 0 ; 12 - db 3, 10, 12, 14, 0 ; 13 - db 2, 11, 13, 0, 0 ; 14 - -VermilionGymTrashSuccessText1:: - TX_FAR _VermilionGymTrashSuccessText1 - TX_ASM - call WaitForSoundToFinish - ld a, SFX_SWITCH - call PlaySound - call WaitForSoundToFinish - jp TextScriptEnd - -; unused -VermilionGymTrashSuccessText2:: - TX_FAR _VermilionGymTrashSuccessText2 - db "@" - -; unused -VermilionGymTrashSuccesPlaySfx: - TX_ASM - call WaitForSoundToFinish - ld a, SFX_SWITCH - call PlaySound - call WaitForSoundToFinish - jp TextScriptEnd - -VermilionGymTrashSuccessText3:: - TX_FAR _VermilionGymTrashSuccessText3 - TX_ASM - call WaitForSoundToFinish - ld a, SFX_GO_INSIDE - call PlaySound - call WaitForSoundToFinish - jp TextScriptEnd - -VermilionGymTrashFailText:: - TX_FAR _VermilionGymTrashFailText - TX_ASM - call WaitForSoundToFinish - ld a, SFX_DENIED - call PlaySound - call WaitForSoundToFinish - jp TextScriptEnd diff --git a/engine/events/hidden_object_functions18.asm b/engine/events/hidden_object_functions18.asm deleted file mode 100755 index c0e5aa34..00000000 --- a/engine/events/hidden_object_functions18.asm +++ /dev/null @@ -1,198 +0,0 @@ -GymStatues: -; if in a gym and have the corresponding badge, a = GymStatueText2_id and jp PrintPredefTextID -; if in a gym and don’t have the corresponding badge, a = GymStatueText1_id and jp PrintPredefTextID -; else ret - call EnableAutoTextBoxDrawing - ld a, [wSpriteStateData1 + 9] - cp SPRITE_FACING_UP - ret nz - ld hl, .BadgeFlags - ld a, [wCurMap] - ld b, a -.loop - ld a, [hli] - cp $ff - ret z - cp b - jr z, .match - inc hl - jr .loop -.match - ld b, [hl] - ld a, [wBeatGymFlags] - and b - cp b - tx_pre_id GymStatueText2 - jr z, .haveBadge - tx_pre_id GymStatueText1 -.haveBadge - jp PrintPredefTextID - -.BadgeFlags: - db PEWTER_GYM, %00000001 - db CERULEAN_GYM, %00000010 - db VERMILION_GYM,%00000100 - db CELADON_GYM, %00001000 - db FUCHSIA_GYM, %00010000 - db SAFFRON_GYM, %00100000 - db CINNABAR_GYM, %01000000 - db VIRIDIAN_GYM, %10000000 - db $ff - -GymStatueText1:: - TX_FAR _GymStatueText1 - db "@" - -GymStatueText2:: - TX_FAR _GymStatueText2 - db "@" - -PrintBenchGuyText: - call EnableAutoTextBoxDrawing - ld hl, BenchGuyTextPointers - ld a, [wCurMap] - ld b, a -.loop - ld a, [hli] - cp $ff - ret z - cp b - jr z, .match - inc hl - inc hl - jr .loop -.match - ld a, [hli] - ld b, a - ld a, [wSpriteStateData1 + 9] - cp b - jr nz, .loop ; player isn't facing left at the bench guy - ld a, [hl] - jp PrintPredefTextID - -; format: db map id, player sprite facing direction, text id of PredefTextIDPointerTable -BenchGuyTextPointers: - db VIRIDIAN_POKECENTER, SPRITE_FACING_LEFT - db_tx_pre ViridianCityPokecenterBenchGuyText - db PEWTER_POKECENTER, SPRITE_FACING_LEFT - db_tx_pre PewterCityPokecenterBenchGuyText - db CERULEAN_POKECENTER, SPRITE_FACING_LEFT - db_tx_pre CeruleanCityPokecenterBenchGuyText - db LAVENDER_POKECENTER, SPRITE_FACING_LEFT - db_tx_pre LavenderCityPokecenterBenchGuyText - db VERMILION_POKECENTER, SPRITE_FACING_LEFT - db_tx_pre VermilionCityPokecenterBenchGuyText - db CELADON_POKECENTER, SPRITE_FACING_LEFT - db_tx_pre CeladonCityPokecenterBenchGuyText - db CELADON_HOTEL, SPRITE_FACING_LEFT - db_tx_pre CeladonCityHotelText - db FUCHSIA_POKECENTER, SPRITE_FACING_LEFT - db_tx_pre FuchsiaCityPokecenterBenchGuyText - db CINNABAR_POKECENTER, SPRITE_FACING_LEFT - db_tx_pre CinnabarIslandPokecenterBenchGuyText - db SAFFRON_POKECENTER, SPRITE_FACING_LEFT - db_tx_pre SaffronCityPokecenterBenchGuyText - db MT_MOON_POKECENTER, SPRITE_FACING_LEFT - db_tx_pre MtMoonPokecenterBenchGuyText - db ROCK_TUNNEL_POKECENTER,SPRITE_FACING_LEFT - db_tx_pre RockTunnelPokecenterBenchGuyText - db $FF - -ViridianCityPokecenterBenchGuyText:: - TX_FAR _ViridianCityPokecenterGuyText - db "@" - -PewterCityPokecenterBenchGuyText:: - TX_FAR _PewterCityPokecenterGuyText - db "@" - -CeruleanCityPokecenterBenchGuyText:: - TX_FAR _CeruleanPokecenterGuyText - db "@" - -LavenderCityPokecenterBenchGuyText:: - TX_FAR _LavenderPokecenterGuyText - db "@" - -MtMoonPokecenterBenchGuyText:: - TX_FAR _MtMoonPokecenterBenchGuyText - db "@" - -RockTunnelPokecenterBenchGuyText:: - TX_FAR _RockTunnelPokecenterGuyText - db "@" - -UnusedBenchGuyText1:: - TX_FAR _UnusedBenchGuyText1 - db "@" - -UnusedBenchGuyText2:: - TX_FAR _UnusedBenchGuyText2 - db "@" - -UnusedBenchGuyText3:: - TX_FAR _UnusedBenchGuyText3 - db "@" - -VermilionCityPokecenterBenchGuyText:: - TX_FAR _VermilionPokecenterGuyText - db "@" - -CeladonCityPokecenterBenchGuyText:: - TX_FAR _CeladonCityPokecenterGuyText - db "@" - -FuchsiaCityPokecenterBenchGuyText:: - TX_FAR _FuchsiaCityPokecenterGuyText - db "@" - -CinnabarIslandPokecenterBenchGuyText:: - TX_FAR _CinnabarPokecenterGuyText - db "@" - -SaffronCityPokecenterBenchGuyText:: - TX_ASM - CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI - ld hl, SaffronCityPokecenterBenchGuyText2 - jr nz, .asm_624f2 - ld hl, SaffronCityPokecenterBenchGuyText1 -.asm_624f2 - call PrintText - jp TextScriptEnd - -SaffronCityPokecenterBenchGuyText1: - TX_FAR _SaffronCityPokecenterGuyText1 - db "@" - -SaffronCityPokecenterBenchGuyText2: - TX_FAR _SaffronCityPokecenterGuyText2 - db "@" - -CeladonCityHotelText:: - TX_FAR _CeladonCityHotelText - db "@" - - ret - -UnusedPredefText:: - db "@" - -PrintBookcaseText: - call EnableAutoTextBoxDrawing - tx_pre_jump BookcaseText - -BookcaseText:: - TX_FAR _BookcaseText - db "@" - -OpenPokemonCenterPC: - ld a, [wSpriteStateData1 + 9] - cp SPRITE_FACING_UP ; check to see if player is facing up - ret nz - call EnableAutoTextBoxDrawing - ld a, $1 - ld [wAutoTextBoxDrawingControl], a - tx_pre_jump PokemonCenterPCText - -PokemonCenterPCText:: - TX_POKECENTER_PC diff --git a/engine/events/hidden_object_functions3.asm b/engine/events/hidden_object_functions3.asm deleted file mode 100755 index 4b3262f7..00000000 --- a/engine/events/hidden_object_functions3.asm +++ /dev/null @@ -1,117 +0,0 @@ -; prints text for bookshelves in buildings without sign events -PrintBookshelfText:: - ld a, [wSpriteStateData1 + 9] ; player's sprite facing direction - cp SPRITE_FACING_UP - jr nz, .noMatch -; facing up - ld a, [wCurMapTileset] - ld b, a - aCoord 8, 7 - ld c, a - ld hl, BookshelfTileIDs -.loop - ld a, [hli] - cp $ff - jr z, .noMatch - cp b - jr nz, .nextBookshelfEntry1 - ld a, [hli] - cp c - jr nz, .nextBookshelfEntry2 - ld a, [hl] - push af - call EnableAutoTextBoxDrawing - pop af - call PrintPredefTextID - xor a - ld [$ffdb], a - ret -.nextBookshelfEntry1 - inc hl -.nextBookshelfEntry2 - inc hl - jr .loop -.noMatch - ld a, $ff - ld [$ffdb], a - jpba PrintCardKeyText - -INCLUDE "data/tilesets/bookshelf_tile_ids.asm" - -IndigoPlateauStatues:: - TX_ASM - ld hl, IndigoPlateauStatuesText1 - call PrintText - ld a, [wXCoord] - bit 0, a - ld hl, IndigoPlateauStatuesText2 - jr nz, .ok - ld hl, IndigoPlateauStatuesText3 -.ok - call PrintText - jp TextScriptEnd - -IndigoPlateauStatuesText1: - TX_FAR _IndigoPlateauStatuesText1 - db "@" - -IndigoPlateauStatuesText2: - TX_FAR _IndigoPlateauStatuesText2 - db "@" - -IndigoPlateauStatuesText3: - TX_FAR _IndigoPlateauStatuesText3 - db "@" - -BookOrSculptureText:: - TX_ASM - ld hl, PokemonBooksText - ld a, [wCurMapTileset] - cp MANSION ; Celadon Mansion tileset - jr nz, .ok - aCoord 8, 6 - cp $38 - jr nz, .ok - ld hl, DiglettSculptureText -.ok - call PrintText - jp TextScriptEnd - -PokemonBooksText: - TX_FAR _PokemonBooksText - db "@" - -DiglettSculptureText: - TX_FAR _DiglettSculptureText - db "@" - -ElevatorText:: - TX_FAR _ElevatorText - db "@" - -TownMapText:: - TX_FAR _TownMapText - TX_BLINK - TX_ASM - ld a, $1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld hl, wd730 - set 6, [hl] - call GBPalWhiteOutWithDelay3 - xor a - ld [hWY], a - inc a - ld [H_AUTOBGTRANSFERENABLED], a - call LoadFontTilePatterns - callba DisplayTownMap - ld hl, wd730 - res 6, [hl] - ld de, TextScriptEnd - push de - ld a, [H_LOADEDROMBANK] - push af - jp CloseTextDisplay - -PokemonStuffText:: - TX_FAR _PokemonStuffText - db "@" diff --git a/engine/events/hidden_object_functions7.asm b/engine/events/hidden_object_functions7.asm deleted file mode 100755 index e18b9570..00000000 --- a/engine/events/hidden_object_functions7.asm +++ /dev/null @@ -1,467 +0,0 @@ -PrintNewBikeText: - call EnableAutoTextBoxDrawing - tx_pre_jump NewBicycleText - -NewBicycleText:: - TX_FAR _NewBicycleText - db "@" - -DisplayOakLabLeftPoster: - call EnableAutoTextBoxDrawing - tx_pre_jump PushStartText - -PushStartText:: - TX_FAR _PushStartText - db "@" - -DisplayOakLabRightPoster: - call EnableAutoTextBoxDrawing - ld hl, wPokedexOwned - ld b, wPokedexOwnedEnd - wPokedexOwned - call CountSetBits - ld a, [wNumSetBits] - cp 2 - tx_pre_id SaveOptionText - jr c, .ownLessThanTwo - ; own two or more mon - tx_pre_id StrengthsAndWeaknessesText -.ownLessThanTwo - jp PrintPredefTextID - -SaveOptionText:: - TX_FAR _SaveOptionText - db "@" - -StrengthsAndWeaknessesText:: - TX_FAR _StrengthsAndWeaknessesText - db "@" - -SafariZoneCheck:: - CheckEventHL EVENT_IN_SAFARI_ZONE ; if we are not in the Safari Zone, - jr z, SafariZoneGameStillGoing ; don't bother printing game over text - ld a, [wNumSafariBalls] - and a - jr z, SafariZoneGameOver - jr SafariZoneGameStillGoing - -SafariZoneCheckSteps:: - ld a, [wSafariSteps] - ld b, a - ld a, [wSafariSteps + 1] - ld c, a - or b - jr z, SafariZoneGameOver - dec bc - ld a, b - ld [wSafariSteps], a - ld a, c - ld [wSafariSteps + 1], a -SafariZoneGameStillGoing: - xor a - ld [wSafariZoneGameOver], a - ret - -SafariZoneGameOver: - call EnableAutoTextBoxDrawing - xor a - ld [wAudioFadeOutControl], a - dec a - call PlaySound - ld c, BANK(SFX_Safari_Zone_PA) - ld a, SFX_SAFARI_ZONE_PA - call PlayMusic -.waitForMusicToPlay - ld a, [wChannelSoundIDs + Ch5] - cp SFX_SAFARI_ZONE_PA - jr nz, .waitForMusicToPlay - ld a, TEXT_SAFARI_GAME_OVER - ld [hSpriteIndexOrTextID], a - call DisplayTextID - xor a - ld [wPlayerMovingDirection], a - ld a, SAFARI_ZONE_GATE - ld [hWarpDestinationMap], a - ld a, $3 - ld [wDestinationWarpID], a - ld a, $5 - ld [wSafariZoneGateCurScript], a - SetEvent EVENT_SAFARI_GAME_OVER - ld a, 1 - ld [wSafariZoneGameOver], a - ret - -PrintSafariGameOverText:: - xor a - ld [wJoyIgnore], a - ld hl, SafariGameOverText - jp PrintText - -SafariGameOverText: - TX_ASM - ld a, [wNumSafariBalls] - and a - jr z, .noMoreSafariBalls - ld hl, TimesUpText - call PrintText -.noMoreSafariBalls - ld hl, GameOverText - call PrintText - jp TextScriptEnd - -TimesUpText: - TX_FAR _TimesUpText - db "@" - -GameOverText: - TX_FAR _GameOverText - db "@" - -PrintCinnabarQuiz: - ld a, [wSpriteStateData1 + 9] - cp SPRITE_FACING_UP - ret nz - call EnableAutoTextBoxDrawing - tx_pre_jump CinnabarGymQuiz - -CinnabarGymQuiz:: - TX_ASM - xor a - ld [wOpponentAfterWrongAnswer], a - ld a, [wHiddenObjectFunctionArgument] - push af - and $f - ld [hGymGateIndex], a - pop af - and $f0 - swap a - ld [$ffdc], a - ld hl, CinnabarGymQuizIntroText - call PrintText - ld a, [hGymGateIndex] - dec a - add a - ld d, 0 - ld e, a - ld hl, CinnabarQuizQuestions - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - call PrintText - ld a, 1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - call CinnabarGymQuiz_1ea92 - jp TextScriptEnd - -CinnabarGymQuizIntroText: - TX_FAR _CinnabarGymQuizIntroText - db "@" - -CinnabarQuizQuestions: - dw CinnabarQuizQuestionsText1 - dw CinnabarQuizQuestionsText2 - dw CinnabarQuizQuestionsText3 - dw CinnabarQuizQuestionsText4 - dw CinnabarQuizQuestionsText5 - dw CinnabarQuizQuestionsText6 - -CinnabarQuizQuestionsText1: - TX_FAR _CinnabarQuizQuestionsText1 - db "@" - -CinnabarQuizQuestionsText2: - TX_FAR _CinnabarQuizQuestionsText2 - db "@" - -CinnabarQuizQuestionsText3: - TX_FAR _CinnabarQuizQuestionsText3 - db "@" - -CinnabarQuizQuestionsText4: - TX_FAR _CinnabarQuizQuestionsText4 - db "@" - -CinnabarQuizQuestionsText5: - TX_FAR _CinnabarQuizQuestionsText5 - db "@" - -CinnabarQuizQuestionsText6: - TX_FAR _CinnabarQuizQuestionsText6 - db "@" - -CinnabarGymGateFlagAction: - EventFlagAddress hl, EVENT_CINNABAR_GYM_GATE0_UNLOCKED - predef_jump FlagActionPredef - -CinnabarGymQuiz_1ea92: - call YesNoChoice - ld a, [$ffdc] - ld c, a - ld a, [wCurrentMenuItem] - cp c - jr nz, .wrongAnswer - ld hl, wCurrentMapScriptFlags - set 5, [hl] - ld a, [hGymGateIndex] - ld [$ffe0], a - ld hl, CinnabarGymQuizCorrectText - call PrintText - ld a, [$ffe0] - AdjustEventBit EVENT_CINNABAR_GYM_GATE0_UNLOCKED, 0 - ld c, a - ld b, FLAG_SET - call CinnabarGymGateFlagAction - jp UpdateCinnabarGymGateTileBlocks_ -.wrongAnswer - call WaitForSoundToFinish - ld a, SFX_DENIED - call PlaySound - call WaitForSoundToFinish - ld hl, CinnabarGymQuizIncorrectText - call PrintText - ld a, [hGymGateIndex] - add $2 - AdjustEventBit EVENT_BEAT_CINNABAR_GYM_TRAINER_0, 2 - ld c, a - ld b, FLAG_TEST - EventFlagAddress hl, EVENT_BEAT_CINNABAR_GYM_TRAINER_0 - predef FlagActionPredef - ld a, c - and a - ret nz - ld a, [hGymGateIndex] - add $2 - ld [wOpponentAfterWrongAnswer], a - ret - -CinnabarGymQuizCorrectText: - TX_SFX_ITEM_1 - TX_FAR _CinnabarGymQuizCorrectText - TX_BLINK - TX_ASM - - ld a, [$ffe0] - AdjustEventBit EVENT_CINNABAR_GYM_GATE0_UNLOCKED, 0 - ld c, a - ld b, FLAG_TEST - call CinnabarGymGateFlagAction - ld a, c - and a - jp nz, TextScriptEnd - call WaitForSoundToFinish - ld a, SFX_GO_INSIDE - call PlaySound - call WaitForSoundToFinish - jp TextScriptEnd - -CinnabarGymQuizIncorrectText: - TX_FAR _CinnabarGymQuizIncorrectText - db "@" - -UpdateCinnabarGymGateTileBlocks_:: -; Update the overworld map with open floor blocks or locked gate blocks -; depending on event flags. - ld a, 6 - ld [hGymGateIndex], a -.loop - ld a, [hGymGateIndex] - dec a - add a - add a - ld d, 0 - ld e, a - ld hl, CinnabarGymGateCoords - add hl, de - ld a, [hli] - ld b, [hl] - ld c, a - inc hl - ld a, [hl] - ld [wGymGateTileBlock], a - push bc - ld a, [hGymGateIndex] - ld [$ffe0], a - AdjustEventBit EVENT_CINNABAR_GYM_GATE0_UNLOCKED, 0 - ld c, a - ld b, FLAG_TEST - call CinnabarGymGateFlagAction - ld a, c - and a - jr nz, .unlocked - ld a, [wGymGateTileBlock] - jr .next -.unlocked - ld a, $e -.next - pop bc - ld [wNewTileBlockID], a - predef ReplaceTileBlock - ld hl, hGymGateIndex - dec [hl] - jr nz, .loop - ret - -CinnabarGymGateCoords: - ; format: x-coord, y-coord, direction, padding - ; direction: $54 = horizontal gate, $5f = vertical gate - db $09,$03,$54,$00 - db $06,$03,$54,$00 - db $06,$06,$54,$00 - db $03,$08,$5f,$00 - db $02,$06,$54,$00 - db $02,$03,$54,$00 - -PrintMagazinesText: - call EnableAutoTextBoxDrawing - tx_pre MagazinesText - ret - -MagazinesText:: - TX_FAR _MagazinesText - db "@" - -BillsHousePC: - call EnableAutoTextBoxDrawing - ld a, [wSpriteStateData1 + 9] - cp SPRITE_FACING_UP - ret nz - CheckEvent EVENT_LEFT_BILLS_HOUSE_AFTER_HELPING - jr nz, .displayBillsHousePokemonList - CheckEventReuseA EVENT_USED_CELL_SEPARATOR_ON_BILL - jr nz, .displayBillsHouseMonitorText - CheckEventReuseA EVENT_BILL_SAID_USE_CELL_SEPARATOR - jr nz, .doCellSeparator -.displayBillsHouseMonitorText - tx_pre_jump BillsHouseMonitorText -.doCellSeparator - ld a, $1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - tx_pre BillsHouseInitiatedText - ld c, 32 - call DelayFrames - ld a, SFX_TINK - call PlaySound - call WaitForSoundToFinish - ld c, 80 - call DelayFrames - ld a, SFX_SHRINK - call PlaySound - call WaitForSoundToFinish - ld c, 48 - call DelayFrames - ld a, SFX_TINK - call PlaySound - call WaitForSoundToFinish - ld c, 32 - call DelayFrames - ld a, SFX_GET_ITEM_1 - call PlaySound - call WaitForSoundToFinish - call PlayDefaultMusic - SetEvent EVENT_USED_CELL_SEPARATOR_ON_BILL - ret -.displayBillsHousePokemonList - ld a, $1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - tx_pre BillsHousePokemonList - ret - -BillsHouseMonitorText:: - TX_FAR _BillsHouseMonitorText - db "@" - -BillsHouseInitiatedText:: - TX_FAR _BillsHouseInitiatedText - TX_BLINK - TX_ASM - ld a, $ff - ld [wNewSoundID], a - call PlaySound - ld c, 16 - call DelayFrames - ld a, SFX_SWITCH - call PlaySound - call WaitForSoundToFinish - ld c, 60 - call DelayFrames - jp TextScriptEnd - -BillsHousePokemonList:: - TX_ASM - call SaveScreenTilesToBuffer1 - ld hl, BillsHousePokemonListText1 - call PrintText - xor a - ld [wMenuItemOffset], a ; not used - ld [wCurrentMenuItem], a - ld [wLastMenuItem], a - ld a, A_BUTTON | B_BUTTON - ld [wMenuWatchedKeys], a - ld a, 4 - ld [wMaxMenuItem], a - ld a, 2 - ld [wTopMenuItemY], a - ld a, 1 - ld [wTopMenuItemX], a -.billsPokemonLoop - ld hl, wd730 - set 6, [hl] - coord hl, 0, 0 - ld b, 10 - ld c, 9 - call TextBoxBorder - coord hl, 2, 2 - ld de, BillsMonListText - call PlaceString - ld hl, BillsHousePokemonListText2 - call PrintText - call SaveScreenTilesToBuffer2 - call HandleMenuInput - bit 1, a ; pressed b - jr nz, .cancel - ld a, [wCurrentMenuItem] - add EEVEE - cp EEVEE - jr z, .displayPokedex - cp FLAREON - jr z, .displayPokedex - cp JOLTEON - jr z, .displayPokedex - cp VAPOREON - jr z, .displayPokedex - jr .cancel -.displayPokedex - call DisplayPokedex - call LoadScreenTilesFromBuffer2 - jr .billsPokemonLoop -.cancel - ld hl, wd730 - res 6, [hl] - call LoadScreenTilesFromBuffer2 - jp TextScriptEnd - -BillsHousePokemonListText1: - TX_FAR _BillsHousePokemonListText1 - db "@" - -BillsMonListText: - db "EEVEE" - next "FLAREON" - next "JOLTEON" - next "VAPOREON" - next "CANCEL@" - -BillsHousePokemonListText2: - TX_FAR _BillsHousePokemonListText2 - db "@" - -DisplayOakLabEmailText: - ld a, [wSpriteStateData1 + 9] - cp SPRITE_FACING_UP - ret nz - call EnableAutoTextBoxDrawing - tx_pre_jump OakLabEmailText - -OakLabEmailText:: - TX_FAR _OakLabEmailText - db "@" diff --git a/engine/events/hidden_objects/bench_guys.asm b/engine/events/hidden_objects/bench_guys.asm new file mode 100644 index 00000000..995b5929 --- /dev/null +++ b/engine/events/hidden_objects/bench_guys.asm @@ -0,0 +1,124 @@ +PrintBenchGuyText: + call EnableAutoTextBoxDrawing + ld hl, BenchGuyTextPointers + ld a, [wCurMap] + ld b, a +.loop + ld a, [hli] + cp $ff + ret z + cp b + jr z, .match + inc hl + inc hl + jr .loop +.match + ld a, [hli] + ld b, a + ld a, [wSpriteStateData1 + 9] + cp b + jr nz, .loop ; player isn't facing left at the bench guy + ld a, [hl] + jp PrintPredefTextID + +; format: db map id, player sprite facing direction, text id of PredefTextIDPointerTable +BenchGuyTextPointers: + db VIRIDIAN_POKECENTER, SPRITE_FACING_LEFT + db_tx_pre ViridianCityPokecenterBenchGuyText + db PEWTER_POKECENTER, SPRITE_FACING_LEFT + db_tx_pre PewterCityPokecenterBenchGuyText + db CERULEAN_POKECENTER, SPRITE_FACING_LEFT + db_tx_pre CeruleanCityPokecenterBenchGuyText + db LAVENDER_POKECENTER, SPRITE_FACING_LEFT + db_tx_pre LavenderCityPokecenterBenchGuyText + db VERMILION_POKECENTER, SPRITE_FACING_LEFT + db_tx_pre VermilionCityPokecenterBenchGuyText + db CELADON_POKECENTER, SPRITE_FACING_LEFT + db_tx_pre CeladonCityPokecenterBenchGuyText + db CELADON_HOTEL, SPRITE_FACING_LEFT + db_tx_pre CeladonCityHotelText + db FUCHSIA_POKECENTER, SPRITE_FACING_LEFT + db_tx_pre FuchsiaCityPokecenterBenchGuyText + db CINNABAR_POKECENTER, SPRITE_FACING_LEFT + db_tx_pre CinnabarIslandPokecenterBenchGuyText + db SAFFRON_POKECENTER, SPRITE_FACING_LEFT + db_tx_pre SaffronCityPokecenterBenchGuyText + db MT_MOON_POKECENTER, SPRITE_FACING_LEFT + db_tx_pre MtMoonPokecenterBenchGuyText + db ROCK_TUNNEL_POKECENTER,SPRITE_FACING_LEFT + db_tx_pre RockTunnelPokecenterBenchGuyText + db $FF + +ViridianCityPokecenterBenchGuyText:: + TX_FAR _ViridianCityPokecenterGuyText + db "@" + +PewterCityPokecenterBenchGuyText:: + TX_FAR _PewterCityPokecenterGuyText + db "@" + +CeruleanCityPokecenterBenchGuyText:: + TX_FAR _CeruleanPokecenterGuyText + db "@" + +LavenderCityPokecenterBenchGuyText:: + TX_FAR _LavenderPokecenterGuyText + db "@" + +MtMoonPokecenterBenchGuyText:: + TX_FAR _MtMoonPokecenterBenchGuyText + db "@" + +RockTunnelPokecenterBenchGuyText:: + TX_FAR _RockTunnelPokecenterGuyText + db "@" + +UnusedBenchGuyText1:: + TX_FAR _UnusedBenchGuyText1 + db "@" + +UnusedBenchGuyText2:: + TX_FAR _UnusedBenchGuyText2 + db "@" + +UnusedBenchGuyText3:: + TX_FAR _UnusedBenchGuyText3 + db "@" + +VermilionCityPokecenterBenchGuyText:: + TX_FAR _VermilionPokecenterGuyText + db "@" + +CeladonCityPokecenterBenchGuyText:: + TX_FAR _CeladonCityPokecenterGuyText + db "@" + +FuchsiaCityPokecenterBenchGuyText:: + TX_FAR _FuchsiaCityPokecenterGuyText + db "@" + +CinnabarIslandPokecenterBenchGuyText:: + TX_FAR _CinnabarPokecenterGuyText + db "@" + +SaffronCityPokecenterBenchGuyText:: + TX_ASM + CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI + ld hl, SaffronCityPokecenterBenchGuyText2 + jr nz, .asm_624f2 + ld hl, SaffronCityPokecenterBenchGuyText1 +.asm_624f2 + call PrintText + jp TextScriptEnd + +SaffronCityPokecenterBenchGuyText1: + TX_FAR _SaffronCityPokecenterGuyText1 + db "@" + +SaffronCityPokecenterBenchGuyText2: + TX_FAR _SaffronCityPokecenterGuyText2 + db "@" + +CeladonCityHotelText:: + TX_FAR _CeladonCityHotelText + db "@" diff --git a/engine/events/hidden_objects/bills_house_pc.asm b/engine/events/hidden_objects/bills_house_pc.asm new file mode 100644 index 00000000..1ffb6954 --- /dev/null +++ b/engine/events/hidden_objects/bills_house_pc.asm @@ -0,0 +1,134 @@ +BillsHousePC: + call EnableAutoTextBoxDrawing + ld a, [wSpriteStateData1 + 9] + cp SPRITE_FACING_UP + ret nz + CheckEvent EVENT_LEFT_BILLS_HOUSE_AFTER_HELPING + jr nz, .displayBillsHousePokemonList + CheckEventReuseA EVENT_USED_CELL_SEPARATOR_ON_BILL + jr nz, .displayBillsHouseMonitorText + CheckEventReuseA EVENT_BILL_SAID_USE_CELL_SEPARATOR + jr nz, .doCellSeparator +.displayBillsHouseMonitorText + tx_pre_jump BillsHouseMonitorText +.doCellSeparator + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + tx_pre BillsHouseInitiatedText + ld c, 32 + call DelayFrames + ld a, SFX_TINK + call PlaySound + call WaitForSoundToFinish + ld c, 80 + call DelayFrames + ld a, SFX_SHRINK + call PlaySound + call WaitForSoundToFinish + ld c, 48 + call DelayFrames + ld a, SFX_TINK + call PlaySound + call WaitForSoundToFinish + ld c, 32 + call DelayFrames + ld a, SFX_GET_ITEM_1 + call PlaySound + call WaitForSoundToFinish + call PlayDefaultMusic + SetEvent EVENT_USED_CELL_SEPARATOR_ON_BILL + ret +.displayBillsHousePokemonList + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + tx_pre BillsHousePokemonList + ret + +BillsHouseMonitorText:: + TX_FAR _BillsHouseMonitorText + db "@" + +BillsHouseInitiatedText:: + TX_FAR _BillsHouseInitiatedText + TX_BLINK + TX_ASM + ld a, $ff + ld [wNewSoundID], a + call PlaySound + ld c, 16 + call DelayFrames + ld a, SFX_SWITCH + call PlaySound + call WaitForSoundToFinish + ld c, 60 + call DelayFrames + jp TextScriptEnd + +BillsHousePokemonList:: + TX_ASM + call SaveScreenTilesToBuffer1 + ld hl, BillsHousePokemonListText1 + call PrintText + xor a + ld [wMenuItemOffset], a ; not used + ld [wCurrentMenuItem], a + ld [wLastMenuItem], a + ld a, A_BUTTON | B_BUTTON + ld [wMenuWatchedKeys], a + ld a, 4 + ld [wMaxMenuItem], a + ld a, 2 + ld [wTopMenuItemY], a + ld a, 1 + ld [wTopMenuItemX], a +.billsPokemonLoop + ld hl, wd730 + set 6, [hl] + coord hl, 0, 0 + ld b, 10 + ld c, 9 + call TextBoxBorder + coord hl, 2, 2 + ld de, BillsMonListText + call PlaceString + ld hl, BillsHousePokemonListText2 + call PrintText + call SaveScreenTilesToBuffer2 + call HandleMenuInput + bit 1, a ; pressed b + jr nz, .cancel + ld a, [wCurrentMenuItem] + add EEVEE + cp EEVEE + jr z, .displayPokedex + cp FLAREON + jr z, .displayPokedex + cp JOLTEON + jr z, .displayPokedex + cp VAPOREON + jr z, .displayPokedex + jr .cancel +.displayPokedex + call DisplayPokedex + call LoadScreenTilesFromBuffer2 + jr .billsPokemonLoop +.cancel + ld hl, wd730 + res 6, [hl] + call LoadScreenTilesFromBuffer2 + jp TextScriptEnd + +BillsHousePokemonListText1: + TX_FAR _BillsHousePokemonListText1 + db "@" + +BillsMonListText: + db "EEVEE" + next "FLAREON" + next "JOLTEON" + next "VAPOREON" + next "CANCEL@" + +BillsHousePokemonListText2: + TX_FAR _BillsHousePokemonListText2 + db "@" diff --git a/engine/events/hidden_objects/blues_room.asm b/engine/events/hidden_objects/blues_room.asm new file mode 100644 index 00000000..879a7ac8 --- /dev/null +++ b/engine/events/hidden_objects/blues_room.asm @@ -0,0 +1,13 @@ + + ret ; unused + +UnusedPredefText:: + db "@" + +PrintBookcaseText: + call EnableAutoTextBoxDrawing + tx_pre_jump BookcaseText + +BookcaseText:: + TX_FAR _BookcaseText + db "@" diff --git a/engine/events/hidden_objects/bookshelves.asm b/engine/events/hidden_objects/bookshelves.asm new file mode 100644 index 00000000..82cd8843 --- /dev/null +++ b/engine/events/hidden_objects/bookshelves.asm @@ -0,0 +1,39 @@ +; prints text for bookshelves in buildings without sign events +PrintBookshelfText:: + ld a, [wSpriteStateData1 + 9] ; player's sprite facing direction + cp SPRITE_FACING_UP + jr nz, .noMatch +; facing up + ld a, [wCurMapTileset] + ld b, a + aCoord 8, 7 + ld c, a + ld hl, BookshelfTileIDs +.loop + ld a, [hli] + cp $ff + jr z, .noMatch + cp b + jr nz, .nextBookshelfEntry1 + ld a, [hli] + cp c + jr nz, .nextBookshelfEntry2 + ld a, [hl] + push af + call EnableAutoTextBoxDrawing + pop af + call PrintPredefTextID + xor a + ld [$ffdb], a + ret +.nextBookshelfEntry1 + inc hl +.nextBookshelfEntry2 + inc hl + jr .loop +.noMatch + ld a, $ff + ld [$ffdb], a + jpba PrintCardKeyText + +INCLUDE "data/tilesets/bookshelf_tile_ids.asm" diff --git a/engine/events/hidden_objects/cinnabar_gym_quiz.asm b/engine/events/hidden_objects/cinnabar_gym_quiz.asm new file mode 100644 index 00000000..9f549eea --- /dev/null +++ b/engine/events/hidden_objects/cinnabar_gym_quiz.asm @@ -0,0 +1,194 @@ +PrintCinnabarQuiz: + ld a, [wSpriteStateData1 + 9] + cp SPRITE_FACING_UP + ret nz + call EnableAutoTextBoxDrawing + tx_pre_jump CinnabarGymQuiz + +CinnabarGymQuiz:: + TX_ASM + xor a + ld [wOpponentAfterWrongAnswer], a + ld a, [wHiddenObjectFunctionArgument] + push af + and $f + ld [hGymGateIndex], a + pop af + and $f0 + swap a + ld [$ffdc], a + ld hl, CinnabarGymQuizIntroText + call PrintText + ld a, [hGymGateIndex] + dec a + add a + ld d, 0 + ld e, a + ld hl, CinnabarQuizQuestions + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + call PrintText + ld a, 1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + call CinnabarGymQuiz_1ea92 + jp TextScriptEnd + +CinnabarGymQuizIntroText: + TX_FAR _CinnabarGymQuizIntroText + db "@" + +CinnabarQuizQuestions: + dw CinnabarQuizQuestionsText1 + dw CinnabarQuizQuestionsText2 + dw CinnabarQuizQuestionsText3 + dw CinnabarQuizQuestionsText4 + dw CinnabarQuizQuestionsText5 + dw CinnabarQuizQuestionsText6 + +CinnabarQuizQuestionsText1: + TX_FAR _CinnabarQuizQuestionsText1 + db "@" + +CinnabarQuizQuestionsText2: + TX_FAR _CinnabarQuizQuestionsText2 + db "@" + +CinnabarQuizQuestionsText3: + TX_FAR _CinnabarQuizQuestionsText3 + db "@" + +CinnabarQuizQuestionsText4: + TX_FAR _CinnabarQuizQuestionsText4 + db "@" + +CinnabarQuizQuestionsText5: + TX_FAR _CinnabarQuizQuestionsText5 + db "@" + +CinnabarQuizQuestionsText6: + TX_FAR _CinnabarQuizQuestionsText6 + db "@" + +CinnabarGymGateFlagAction: + EventFlagAddress hl, EVENT_CINNABAR_GYM_GATE0_UNLOCKED + predef_jump FlagActionPredef + +CinnabarGymQuiz_1ea92: + call YesNoChoice + ld a, [$ffdc] + ld c, a + ld a, [wCurrentMenuItem] + cp c + jr nz, .wrongAnswer + ld hl, wCurrentMapScriptFlags + set 5, [hl] + ld a, [hGymGateIndex] + ld [$ffe0], a + ld hl, CinnabarGymQuizCorrectText + call PrintText + ld a, [$ffe0] + AdjustEventBit EVENT_CINNABAR_GYM_GATE0_UNLOCKED, 0 + ld c, a + ld b, FLAG_SET + call CinnabarGymGateFlagAction + jp UpdateCinnabarGymGateTileBlocks_ +.wrongAnswer + call WaitForSoundToFinish + ld a, SFX_DENIED + call PlaySound + call WaitForSoundToFinish + ld hl, CinnabarGymQuizIncorrectText + call PrintText + ld a, [hGymGateIndex] + add $2 + AdjustEventBit EVENT_BEAT_CINNABAR_GYM_TRAINER_0, 2 + ld c, a + ld b, FLAG_TEST + EventFlagAddress hl, EVENT_BEAT_CINNABAR_GYM_TRAINER_0 + predef FlagActionPredef + ld a, c + and a + ret nz + ld a, [hGymGateIndex] + add $2 + ld [wOpponentAfterWrongAnswer], a + ret + +CinnabarGymQuizCorrectText: + TX_SFX_ITEM_1 + TX_FAR _CinnabarGymQuizCorrectText + TX_BLINK + TX_ASM + + ld a, [$ffe0] + AdjustEventBit EVENT_CINNABAR_GYM_GATE0_UNLOCKED, 0 + ld c, a + ld b, FLAG_TEST + call CinnabarGymGateFlagAction + ld a, c + and a + jp nz, TextScriptEnd + call WaitForSoundToFinish + ld a, SFX_GO_INSIDE + call PlaySound + call WaitForSoundToFinish + jp TextScriptEnd + +CinnabarGymQuizIncorrectText: + TX_FAR _CinnabarGymQuizIncorrectText + db "@" + +UpdateCinnabarGymGateTileBlocks_:: +; Update the overworld map with open floor blocks or locked gate blocks +; depending on event flags. + ld a, 6 + ld [hGymGateIndex], a +.loop + ld a, [hGymGateIndex] + dec a + add a + add a + ld d, 0 + ld e, a + ld hl, CinnabarGymGateCoords + add hl, de + ld a, [hli] + ld b, [hl] + ld c, a + inc hl + ld a, [hl] + ld [wGymGateTileBlock], a + push bc + ld a, [hGymGateIndex] + ld [$ffe0], a + AdjustEventBit EVENT_CINNABAR_GYM_GATE0_UNLOCKED, 0 + ld c, a + ld b, FLAG_TEST + call CinnabarGymGateFlagAction + ld a, c + and a + jr nz, .unlocked + ld a, [wGymGateTileBlock] + jr .next +.unlocked + ld a, $e +.next + pop bc + ld [wNewTileBlockID], a + predef ReplaceTileBlock + ld hl, hGymGateIndex + dec [hl] + jr nz, .loop + ret + +CinnabarGymGateCoords: + ; format: x-coord, y-coord, direction, padding + ; direction: $54 = horizontal gate, $5f = vertical gate + db $09,$03,$54,$00 + db $06,$03,$54,$00 + db $06,$06,$54,$00 + db $03,$08,$5f,$00 + db $02,$06,$54,$00 + db $02,$03,$54,$00 diff --git a/engine/events/hidden_objects/diglett_sculpture.asm b/engine/events/hidden_objects/diglett_sculpture.asm new file mode 100644 index 00000000..2d6f278a --- /dev/null +++ b/engine/events/hidden_objects/diglett_sculpture.asm @@ -0,0 +1,21 @@ +BookOrSculptureText:: + TX_ASM + ld hl, PokemonBooksText + ld a, [wCurMapTileset] + cp MANSION ; Celadon Mansion tileset + jr nz, .ok + aCoord 8, 6 + cp $38 + jr nz, .ok + ld hl, DiglettSculptureText +.ok + call PrintText + jp TextScriptEnd + +PokemonBooksText: + TX_FAR _PokemonBooksText + db "@" + +DiglettSculptureText: + TX_FAR _DiglettSculptureText + db "@" diff --git a/engine/events/hidden_objects/elevator.asm b/engine/events/hidden_objects/elevator.asm new file mode 100644 index 00000000..e72ca44b --- /dev/null +++ b/engine/events/hidden_objects/elevator.asm @@ -0,0 +1,3 @@ +ElevatorText:: + TX_FAR _ElevatorText + db "@" diff --git a/engine/events/hidden_objects/fighting_dojo.asm b/engine/events/hidden_objects/fighting_dojo.asm new file mode 100644 index 00000000..94d4871d --- /dev/null +++ b/engine/events/hidden_objects/fighting_dojo.asm @@ -0,0 +1,23 @@ +PrintFightingDojoText2: + call EnableAutoTextBoxDrawing + tx_pre_jump EnemiesOnEverySideText + +EnemiesOnEverySideText:: + TX_FAR _EnemiesOnEverySideText + db "@" + +PrintFightingDojoText3: + call EnableAutoTextBoxDrawing + tx_pre_jump WhatGoesAroundComesAroundText + +WhatGoesAroundComesAroundText:: + TX_FAR _WhatGoesAroundComesAroundText + db "@" + +PrintFightingDojoText: + call EnableAutoTextBoxDrawing + tx_pre_jump FightingDojoText + +FightingDojoText:: + TX_FAR _FightingDojoText + db "@" diff --git a/engine/events/hidden_objects/gym_statues.asm b/engine/events/hidden_objects/gym_statues.asm new file mode 100644 index 00000000..e9a407b2 --- /dev/null +++ b/engine/events/hidden_objects/gym_statues.asm @@ -0,0 +1,48 @@ +GymStatues: +; if in a gym and have the corresponding badge, a = GymStatueText2_id and jp PrintPredefTextID +; if in a gym and don’t have the corresponding badge, a = GymStatueText1_id and jp PrintPredefTextID +; else ret + call EnableAutoTextBoxDrawing + ld a, [wSpriteStateData1 + 9] + cp SPRITE_FACING_UP + ret nz + ld hl, .BadgeFlags + ld a, [wCurMap] + ld b, a +.loop + ld a, [hli] + cp $ff + ret z + cp b + jr z, .match + inc hl + jr .loop +.match + ld b, [hl] + ld a, [wBeatGymFlags] + and b + cp b + tx_pre_id GymStatueText2 + jr z, .haveBadge + tx_pre_id GymStatueText1 +.haveBadge + jp PrintPredefTextID + +.BadgeFlags: + db PEWTER_GYM, %00000001 + db CERULEAN_GYM, %00000010 + db VERMILION_GYM,%00000100 + db CELADON_GYM, %00001000 + db FUCHSIA_GYM, %00010000 + db SAFFRON_GYM, %00100000 + db CINNABAR_GYM, %01000000 + db VIRIDIAN_GYM, %10000000 + db $ff + +GymStatueText1:: + TX_FAR _GymStatueText1 + db "@" + +GymStatueText2:: + TX_FAR _GymStatueText2 + db "@" diff --git a/engine/events/hidden_objects/indigo_plateau_hq.asm b/engine/events/hidden_objects/indigo_plateau_hq.asm new file mode 100644 index 00000000..d0d0b8c2 --- /dev/null +++ b/engine/events/hidden_objects/indigo_plateau_hq.asm @@ -0,0 +1,10 @@ +PrintIndigoPlateauHQText: + ld a, [wSpriteStateData1 + 9] + cp SPRITE_FACING_UP + ret nz + call EnableAutoTextBoxDrawing + tx_pre_jump IndigoPlateauHQText + +IndigoPlateauHQText:: + TX_FAR _IndigoPlateauHQText + db "@" diff --git a/engine/events/hidden_objects/indigo_plateau_statues.asm b/engine/events/hidden_objects/indigo_plateau_statues.asm new file mode 100644 index 00000000..62b31e0a --- /dev/null +++ b/engine/events/hidden_objects/indigo_plateau_statues.asm @@ -0,0 +1,24 @@ +IndigoPlateauStatues:: + TX_ASM + ld hl, IndigoPlateauStatuesText1 + call PrintText + ld a, [wXCoord] + bit 0, a + ld hl, IndigoPlateauStatuesText2 + jr nz, .ok + ld hl, IndigoPlateauStatuesText3 +.ok + call PrintText + jp TextScriptEnd + +IndigoPlateauStatuesText1: + TX_FAR _IndigoPlateauStatuesText1 + db "@" + +IndigoPlateauStatuesText2: + TX_FAR _IndigoPlateauStatuesText2 + db "@" + +IndigoPlateauStatuesText3: + TX_FAR _IndigoPlateauStatuesText3 + db "@" diff --git a/engine/events/hidden_objects/magazines.asm b/engine/events/hidden_objects/magazines.asm new file mode 100644 index 00000000..af31b317 --- /dev/null +++ b/engine/events/hidden_objects/magazines.asm @@ -0,0 +1,8 @@ +PrintMagazinesText: + call EnableAutoTextBoxDrawing + tx_pre MagazinesText + ret + +MagazinesText:: + TX_FAR _MagazinesText + db "@" diff --git a/engine/events/hidden_objects/museum_fossils.asm b/engine/events/hidden_objects/museum_fossils.asm new file mode 100644 index 00000000..be6b13a1 --- /dev/null +++ b/engine/events/hidden_objects/museum_fossils.asm @@ -0,0 +1,52 @@ +AerodactylFossil: + ld a, FOSSIL_AERODACTYL + ld [wcf91], a + call DisplayMonFrontSpriteInBox + call EnableAutoTextBoxDrawing + tx_pre AerodactylFossilText + ret + +AerodactylFossilText:: + TX_FAR _AerodactylFossilText + db "@" + +KabutopsFossil: + ld a, FOSSIL_KABUTOPS + ld [wcf91], a + call DisplayMonFrontSpriteInBox + call EnableAutoTextBoxDrawing + tx_pre KabutopsFossilText + ret + +KabutopsFossilText:: + TX_FAR _KabutopsFossilText + db "@" + +DisplayMonFrontSpriteInBox: +; Displays a pokemon's front sprite in a pop-up window. +; [wcf91] = pokemon internal id number + ld a, 1 + ld [H_AUTOBGTRANSFERENABLED], a + call Delay3 + xor a + ld [hWY], a + call SaveScreenTilesToBuffer1 + ld a, MON_SPRITE_POPUP + ld [wTextBoxID], a + call DisplayTextBoxID + call UpdateSprites + ld a, [wcf91] + ld [wd0b5], a + call GetMonHeader + ld de, vChars1 + $310 + call LoadMonFrontSprite + ld a, $80 + ld [hStartTileID], a + coord hl, 10, 11 + predef AnimateSendingOutMon + call WaitForTextScrollButtonPress + call LoadScreenTilesFromBuffer1 + call Delay3 + ld a, $90 + ld [hWY], a + ret diff --git a/engine/events/hidden_objects/new_bike.asm b/engine/events/hidden_objects/new_bike.asm new file mode 100644 index 00000000..7836262e --- /dev/null +++ b/engine/events/hidden_objects/new_bike.asm @@ -0,0 +1,7 @@ +PrintNewBikeText: + call EnableAutoTextBoxDrawing + tx_pre_jump NewBicycleText + +NewBicycleText:: + TX_FAR _NewBicycleText + db "@" diff --git a/engine/events/hidden_objects/oaks_lab_email.asm b/engine/events/hidden_objects/oaks_lab_email.asm new file mode 100644 index 00000000..c59ff9ac --- /dev/null +++ b/engine/events/hidden_objects/oaks_lab_email.asm @@ -0,0 +1,10 @@ +DisplayOakLabEmailText: + ld a, [wSpriteStateData1 + 9] + cp SPRITE_FACING_UP + ret nz + call EnableAutoTextBoxDrawing + tx_pre_jump OakLabEmailText + +OakLabEmailText:: + TX_FAR _OakLabEmailText + db "@" diff --git a/engine/events/hidden_objects/oaks_lab_posters.asm b/engine/events/hidden_objects/oaks_lab_posters.asm new file mode 100644 index 00000000..0fe21cf3 --- /dev/null +++ b/engine/events/hidden_objects/oaks_lab_posters.asm @@ -0,0 +1,29 @@ +DisplayOakLabLeftPoster: + call EnableAutoTextBoxDrawing + tx_pre_jump PushStartText + +PushStartText:: + TX_FAR _PushStartText + db "@" + +DisplayOakLabRightPoster: + call EnableAutoTextBoxDrawing + ld hl, wPokedexOwned + ld b, wPokedexOwnedEnd - wPokedexOwned + call CountSetBits + ld a, [wNumSetBits] + cp 2 + tx_pre_id SaveOptionText + jr c, .ownLessThanTwo + ; own two or more mon + tx_pre_id StrengthsAndWeaknessesText +.ownLessThanTwo + jp PrintPredefTextID + +SaveOptionText:: + TX_FAR _SaveOptionText + db "@" + +StrengthsAndWeaknessesText:: + TX_FAR _StrengthsAndWeaknessesText + db "@" diff --git a/engine/events/hidden_objects/pokecenter_pc.asm b/engine/events/hidden_objects/pokecenter_pc.asm new file mode 100644 index 00000000..c1225d3a --- /dev/null +++ b/engine/events/hidden_objects/pokecenter_pc.asm @@ -0,0 +1,11 @@ +OpenPokemonCenterPC: + ld a, [wSpriteStateData1 + 9] + cp SPRITE_FACING_UP ; check to see if player is facing up + ret nz + call EnableAutoTextBoxDrawing + ld a, $1 + ld [wAutoTextBoxDrawingControl], a + tx_pre_jump PokemonCenterPCText + +PokemonCenterPCText:: + TX_POKECENTER_PC diff --git a/engine/events/hidden_objects/pokemon_stuff.asm b/engine/events/hidden_objects/pokemon_stuff.asm new file mode 100644 index 00000000..b78b2500 --- /dev/null +++ b/engine/events/hidden_objects/pokemon_stuff.asm @@ -0,0 +1,3 @@ +PokemonStuffText:: + TX_FAR _PokemonStuffText + db "@" diff --git a/engine/events/hidden_objects/reds_room.asm b/engine/events/hidden_objects/reds_room.asm new file mode 100644 index 00000000..b124f9c6 --- /dev/null +++ b/engine/events/hidden_objects/reds_room.asm @@ -0,0 +1,14 @@ +PrintRedSNESText: + call EnableAutoTextBoxDrawing + tx_pre_jump RedBedroomSNESText + +RedBedroomSNESText:: + TX_FAR _RedBedroomSNESText + db "@" + +OpenRedsPC: + call EnableAutoTextBoxDrawing + tx_pre_jump RedBedroomPCText + +RedBedroomPCText:: + TX_PLAYERS_PC diff --git a/engine/events/hidden_objects/route_15_binoculars.asm b/engine/events/hidden_objects/route_15_binoculars.asm new file mode 100644 index 00000000..b380bb33 --- /dev/null +++ b/engine/events/hidden_objects/route_15_binoculars.asm @@ -0,0 +1,14 @@ +Route15GateLeftBinoculars: + ld a, [wSpriteStateData1 + 9] + cp SPRITE_FACING_UP + ret nz + call EnableAutoTextBoxDrawing + tx_pre Route15UpstairsBinocularsText + ld a, ARTICUNO + ld [wcf91], a + call PlayCry + jp DisplayMonFrontSpriteInBox + +Route15UpstairsBinocularsText:: + TX_FAR _Route15UpstairsBinocularsText + db "@" diff --git a/engine/events/hidden_objects/safari_game.asm b/engine/events/hidden_objects/safari_game.asm new file mode 100644 index 00000000..785bab7f --- /dev/null +++ b/engine/events/hidden_objects/safari_game.asm @@ -0,0 +1,79 @@ +SafariZoneCheck:: + CheckEventHL EVENT_IN_SAFARI_ZONE ; if we are not in the Safari Zone, + jr z, SafariZoneGameStillGoing ; don't bother printing game over text + ld a, [wNumSafariBalls] + and a + jr z, SafariZoneGameOver + jr SafariZoneGameStillGoing + +SafariZoneCheckSteps:: + ld a, [wSafariSteps] + ld b, a + ld a, [wSafariSteps + 1] + ld c, a + or b + jr z, SafariZoneGameOver + dec bc + ld a, b + ld [wSafariSteps], a + ld a, c + ld [wSafariSteps + 1], a +SafariZoneGameStillGoing: + xor a + ld [wSafariZoneGameOver], a + ret + +SafariZoneGameOver: + call EnableAutoTextBoxDrawing + xor a + ld [wAudioFadeOutControl], a + dec a + call PlaySound + ld c, BANK(SFX_Safari_Zone_PA) + ld a, SFX_SAFARI_ZONE_PA + call PlayMusic +.waitForMusicToPlay + ld a, [wChannelSoundIDs + Ch5] + cp SFX_SAFARI_ZONE_PA + jr nz, .waitForMusicToPlay + ld a, TEXT_SAFARI_GAME_OVER + ld [hSpriteIndexOrTextID], a + call DisplayTextID + xor a + ld [wPlayerMovingDirection], a + ld a, SAFARI_ZONE_GATE + ld [hWarpDestinationMap], a + ld a, $3 + ld [wDestinationWarpID], a + ld a, $5 + ld [wSafariZoneGateCurScript], a + SetEvent EVENT_SAFARI_GAME_OVER + ld a, 1 + ld [wSafariZoneGameOver], a + ret + +PrintSafariGameOverText:: + xor a + ld [wJoyIgnore], a + ld hl, SafariGameOverText + jp PrintText + +SafariGameOverText: + TX_ASM + ld a, [wNumSafariBalls] + and a + jr z, .noMoreSafariBalls + ld hl, TimesUpText + call PrintText +.noMoreSafariBalls + ld hl, GameOverText + call PrintText + jp TextScriptEnd + +TimesUpText: + TX_FAR _TimesUpText + db "@" + +GameOverText: + TX_FAR _GameOverText + db "@" diff --git a/engine/events/hidden_objects/school_blackboard.asm b/engine/events/hidden_objects/school_blackboard.asm new file mode 100644 index 00000000..4cd48d23 --- /dev/null +++ b/engine/events/hidden_objects/school_blackboard.asm @@ -0,0 +1,222 @@ +PrintBlackboardLinkCableText: + call EnableAutoTextBoxDrawing + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld a, [wHiddenObjectFunctionArgument] + call PrintPredefTextID + ret + +LinkCableHelp:: + TX_ASM + call SaveScreenTilesToBuffer1 + ld hl, LinkCableHelpText1 + call PrintText + xor a + ld [wMenuItemOffset], a ; not used + ld [wCurrentMenuItem], a + ld [wLastMenuItem], a + ld a, A_BUTTON | B_BUTTON + ld [wMenuWatchedKeys], a + ld a, 3 + ld [wMaxMenuItem], a + ld a, 2 + ld [wTopMenuItemY], a + ld a, 1 + ld [wTopMenuItemX], a +.linkHelpLoop + ld hl, wd730 + set 6, [hl] + coord hl, 0, 0 + ld b, 8 + ld c, 13 + call TextBoxBorder + coord hl, 2, 2 + ld de, HowToLinkText + call PlaceString + ld hl, LinkCableHelpText2 + call PrintText + call HandleMenuInput + bit 1, a ; pressed b + jr nz, .exit + ld a, [wCurrentMenuItem] + cp 3 ; pressed a on "STOP READING" + jr z, .exit + ld hl, wd730 + res 6, [hl] + ld hl, LinkCableInfoTexts + add a + ld d, 0 + ld e, a + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + call PrintText + jp .linkHelpLoop +.exit + ld hl, wd730 + res 6, [hl] + call LoadScreenTilesFromBuffer1 + jp TextScriptEnd + +LinkCableHelpText1: + TX_FAR _LinkCableHelpText1 + db "@" + +LinkCableHelpText2: + TX_FAR _LinkCableHelpText2 + db "@" + +HowToLinkText: + db "HOW TO LINK" + next "COLOSSEUM" + next "TRADE CENTER" + next "STOP READING@" + +LinkCableInfoTexts: + dw LinkCableInfoText1 + dw LinkCableInfoText2 + dw LinkCableInfoText3 + +LinkCableInfoText1: + TX_FAR _LinkCableInfoText1 + db "@" + +LinkCableInfoText2: + TX_FAR _LinkCableInfoText2 + db "@" + +LinkCableInfoText3: + TX_FAR _LinkCableInfoText3 + db "@" + +ViridianSchoolBlackboard:: + TX_ASM + call SaveScreenTilesToBuffer1 + ld hl, ViridianSchoolBlackboardText1 + call PrintText + xor a + ld [wMenuItemOffset], a + ld [wCurrentMenuItem], a + ld [wLastMenuItem], a + ld a, D_LEFT | D_RIGHT | A_BUTTON | B_BUTTON + ld [wMenuWatchedKeys], a + ld a, 2 + ld [wMaxMenuItem], a + ld a, 2 + ld [wTopMenuItemY], a + ld a, 1 + ld [wTopMenuItemX], a +.blackboardLoop + ld hl, wd730 + set 6, [hl] + coord hl, 0, 0 + lb bc, 6, 10 + call TextBoxBorder + coord hl, 1, 2 + ld de, StatusAilmentText1 + call PlaceString + coord hl, 6, 2 + ld de, StatusAilmentText2 + call PlaceString + ld hl, ViridianSchoolBlackboardText2 + call PrintText + call HandleMenuInput ; pressing up and down is handled in here + bit 1, a ; pressed b + jr nz, .exitBlackboard + bit 4, a ; pressed right + jr z, .didNotPressRight + ; move cursor to right column + ld a, 2 + ld [wMaxMenuItem], a + ld a, 2 + ld [wTopMenuItemY], a + ld a, 6 + ld [wTopMenuItemX], a + ld a, 3 ; in the the right column, use an offset to prevent overlap + ld [wMenuItemOffset], a + jr .blackboardLoop +.didNotPressRight + bit 5, a ; pressed left + jr z, .didNotPressLeftOrRight + ; move cursor to left column + ld a, 2 + ld [wMaxMenuItem], a + ld a, 2 + ld [wTopMenuItemY], a + ld a, 1 + ld [wTopMenuItemX], a + xor a + ld [wMenuItemOffset], a + jr .blackboardLoop +.didNotPressLeftOrRight + ld a, [wCurrentMenuItem] + ld b, a + ld a, [wMenuItemOffset] + add b + cp 5 ; cursor is pointing to "QUIT" + jr z, .exitBlackboard + ; we must have pressed a on a status condition + ; so print the text + ld hl, wd730 + res 6, [hl] + ld hl, ViridianBlackboardStatusPointers + add a + ld d, 0 + ld e, a + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + call PrintText + jp .blackboardLoop +.exitBlackboard + ld hl, wd730 + res 6, [hl] + call LoadScreenTilesFromBuffer1 + jp TextScriptEnd + +ViridianSchoolBlackboardText1: + TX_FAR _ViridianSchoolBlackboardText1 + db "@" + +ViridianSchoolBlackboardText2: + TX_FAR _ViridianSchoolBlackboardText2 + db "@" + +StatusAilmentText1: + db " SLP" + next " PSN" + next " PAR@" + +StatusAilmentText2: + db " BRN" + next " FRZ" + next " QUIT@@" + +ViridianBlackboardStatusPointers: + dw ViridianBlackboardSleepText + dw ViridianBlackboardPoisonText + dw ViridianBlackboardPrlzText + dw ViridianBlackboardBurnText + dw ViridianBlackboardFrozenText + +ViridianBlackboardSleepText: + TX_FAR _ViridianBlackboardSleepText + db "@" + +ViridianBlackboardPoisonText: + TX_FAR _ViridianBlackboardPoisonText + db "@" + +ViridianBlackboardPrlzText: + TX_FAR _ViridianBlackboardPrlzText + db "@" + +ViridianBlackboardBurnText: + TX_FAR _ViridianBlackboardBurnText + db "@" + +ViridianBlackboardFrozenText: + TX_FAR _ViridianBlackboardFrozenText + db "@" diff --git a/engine/events/hidden_objects/school_notebooks.asm b/engine/events/hidden_objects/school_notebooks.asm new file mode 100644 index 00000000..f5cc1341 --- /dev/null +++ b/engine/events/hidden_objects/school_notebooks.asm @@ -0,0 +1,65 @@ +PrintNotebookText: + call EnableAutoTextBoxDrawing + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld a, [wHiddenObjectFunctionArgument] + jp PrintPredefTextID + +TMNotebook:: + TX_FAR TMNotebookText + TX_WAIT + db "@" + +ViridianSchoolNotebook:: + TX_ASM + ld hl, ViridianSchoolNotebookText1 + call PrintText + call TurnPageSchoolNotebook + jr nz, .doneReading + ld hl, ViridianSchoolNotebookText2 + call PrintText + call TurnPageSchoolNotebook + jr nz, .doneReading + ld hl, ViridianSchoolNotebookText3 + call PrintText + call TurnPageSchoolNotebook + jr nz, .doneReading + ld hl, ViridianSchoolNotebookText4 + call PrintText + ld hl, ViridianSchoolNotebookText5 + call PrintText +.doneReading + jp TextScriptEnd + +TurnPageSchoolNotebook: + ld hl, TurnPageText + call PrintText + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + ret + +TurnPageText: + TX_FAR _TurnPageText + db "@" + +ViridianSchoolNotebookText5: + TX_FAR _ViridianSchoolNotebookText5 + TX_WAIT + db "@" + +ViridianSchoolNotebookText1: + TX_FAR _ViridianSchoolNotebookText1 + db "@" + +ViridianSchoolNotebookText2: + TX_FAR _ViridianSchoolNotebookText2 + db "@" + +ViridianSchoolNotebookText3: + TX_FAR _ViridianSchoolNotebookText3 + db "@" + +ViridianSchoolNotebookText4: + TX_FAR _ViridianSchoolNotebookText4 + db "@" diff --git a/engine/events/hidden_objects/town_map.asm b/engine/events/hidden_objects/town_map.asm new file mode 100644 index 00000000..5ee8329d --- /dev/null +++ b/engine/events/hidden_objects/town_map.asm @@ -0,0 +1,22 @@ +TownMapText:: + TX_FAR _TownMapText + TX_BLINK + TX_ASM + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld hl, wd730 + set 6, [hl] + call GBPalWhiteOutWithDelay3 + xor a + ld [hWY], a + inc a + ld [H_AUTOBGTRANSFERENABLED], a + call LoadFontTilePatterns + callba DisplayTownMap + ld hl, wd730 + res 6, [hl] + ld de, TextScriptEnd + push de + ld a, [H_LOADEDROMBANK] + push af + jp CloseTextDisplay diff --git a/engine/events/hidden_objects/vermilion_gym_trash.asm b/engine/events/hidden_objects/vermilion_gym_trash.asm new file mode 100644 index 00000000..c2d22cd5 --- /dev/null +++ b/engine/events/hidden_objects/vermilion_gym_trash.asm @@ -0,0 +1,169 @@ +PrintTrashText: + call EnableAutoTextBoxDrawing + tx_pre_jump VermilionGymTrashText + +VermilionGymTrashText:: + TX_FAR _VermilionGymTrashText + db "@" + +GymTrashScript: + call EnableAutoTextBoxDrawing + ld a, [wHiddenObjectFunctionArgument] + ld [wGymTrashCanIndex], a + +; Don't do the trash can puzzle if it's already been done. + CheckEvent EVENT_2ND_LOCK_OPENED + jr z, .ok + + tx_pre_jump VermilionGymTrashText + +.ok + CheckEventReuseA EVENT_1ST_LOCK_OPENED + jr nz, .trySecondLock + + ld a, [wFirstLockTrashCanIndex] + ld b, a + ld a, [wGymTrashCanIndex] + cp b + jr z, .openFirstLock + + tx_pre_id VermilionGymTrashText + jr .done + +.openFirstLock +; Next can is trying for the second switch. + SetEvent EVENT_1ST_LOCK_OPENED + + ld hl, GymTrashCans + ld a, [wGymTrashCanIndex] + ; * 5 + ld b, a + add a + add a + add b + + ld d, 0 + ld e, a + add hl, de + ld a, [hli] + +; There is a bug in this code. It should calculate a value in the range [0, 3] +; but if the mask and random number don't have any 1 bits in common, then +; the result of the AND will be 0. When 1 is subtracted from that, the value +; will become $ff. This will result in 255 being added to hl, which will cause +; hl to point to one of the zero bytes that pad the end of the ROM bank. +; Trash can 0 was intended to be able to have the second lock only when the +; first lock was in trash can 1 or 3. However, due to this bug, trash can 0 can +; have the second lock regardless of which trash can had the first lock. + + ld [hGymTrashCanRandNumMask], a + push hl + call Random + swap a + ld b, a + ld a, [hGymTrashCanRandNumMask] + and b + dec a + pop hl + + ld d, 0 + ld e, a + add hl, de + ld a, [hl] + and $f + ld [wSecondLockTrashCanIndex], a + + tx_pre_id VermilionGymTrashSuccessText1 + jr .done + +.trySecondLock + ld a, [wSecondLockTrashCanIndex] + ld b, a + ld a, [wGymTrashCanIndex] + cp b + jr z, .openSecondLock + +; Reset the cans. + ResetEvent EVENT_1ST_LOCK_OPENED + call Random + + and $e + ld [wFirstLockTrashCanIndex], a + + tx_pre_id VermilionGymTrashFailText + jr .done + +.openSecondLock +; Completed the trash can puzzle. + SetEvent EVENT_2ND_LOCK_OPENED + ld hl, wCurrentMapScriptFlags + set 6, [hl] + + tx_pre_id VermilionGymTrashSuccessText3 + +.done + jp PrintPredefTextID + +GymTrashCans: +; byte 0: mask for random number +; bytes 1-4: indices of the trash cans that can have the second lock +; (but see the comment above explaining a bug regarding this) +; Note that the mask is simply the number of valid trash can indices that +; follow. The remaining bytes are filled with 0 to pad the length of each entry +; to 5 bytes. + db 2, 1, 3, 0, 0 ; 0 + db 3, 0, 2, 4, 0 ; 1 + db 2, 1, 5, 0, 0 ; 2 + db 3, 0, 4, 6, 0 ; 3 + db 4, 1, 3, 5, 7 ; 4 + db 3, 2, 4, 8, 0 ; 5 + db 3, 3, 7, 9, 0 ; 6 + db 4, 4, 6, 8, 10 ; 7 + db 3, 5, 7, 11, 0 ; 8 + db 3, 6, 10, 12, 0 ; 9 + db 4, 7, 9, 11, 13 ; 10 + db 3, 8, 10, 14, 0 ; 11 + db 2, 9, 13, 0, 0 ; 12 + db 3, 10, 12, 14, 0 ; 13 + db 2, 11, 13, 0, 0 ; 14 + +VermilionGymTrashSuccessText1:: + TX_FAR _VermilionGymTrashSuccessText1 + TX_ASM + call WaitForSoundToFinish + ld a, SFX_SWITCH + call PlaySound + call WaitForSoundToFinish + jp TextScriptEnd + +; unused +VermilionGymTrashSuccessText2:: + TX_FAR _VermilionGymTrashSuccessText2 + db "@" + +; unused +VermilionGymTrashSuccesPlaySfx: + TX_ASM + call WaitForSoundToFinish + ld a, SFX_SWITCH + call PlaySound + call WaitForSoundToFinish + jp TextScriptEnd + +VermilionGymTrashSuccessText3:: + TX_FAR _VermilionGymTrashSuccessText3 + TX_ASM + call WaitForSoundToFinish + ld a, SFX_GO_INSIDE + call PlaySound + call WaitForSoundToFinish + jp TextScriptEnd + +VermilionGymTrashFailText:: + TX_FAR _VermilionGymTrashFailText + TX_ASM + call WaitForSoundToFinish + ld a, SFX_DENIED + call PlaySound + call WaitForSoundToFinish + jp TextScriptEnd diff --git a/main.asm b/main.asm index fc920b79..3adc2a63 100755 --- a/main.asm +++ b/main.asm @@ -74,7 +74,12 @@ INCLUDE "engine/movie/oak_speech/init_player_data.asm" INCLUDE "engine/items/get_bag_item_quantity.asm" INCLUDE "engine/overworld/pathfinding.asm" INCLUDE "engine/gfx/hp_bar.asm" -INCLUDE "engine/events/hidden_object_functions3.asm" +INCLUDE "engine/events/hidden_objects/bookshelves.asm" +INCLUDE "engine/events/hidden_objects/indigo_plateau_statues.asm" +INCLUDE "engine/events/hidden_objects/diglett_sculpture.asm" +INCLUDE "engine/events/hidden_objects/elevator.asm" +INCLUDE "engine/events/hidden_objects/town_map.asm" +INCLUDE "engine/events/hidden_objects/pokemon_stuff.asm" SECTION "Graphics (BANK 4)", ROMX @@ -157,7 +162,13 @@ INCLUDE "engine/events/elevator.asm" SECTION "bank7_2", ROMX INCLUDE "engine/menus/oaks_pc.asm" -INCLUDE "engine/events/hidden_object_functions7.asm" +INCLUDE "engine/events/hidden_objects/new_bike.asm" +INCLUDE "engine/events/hidden_objects/oaks_lab_posters.asm" +INCLUDE "engine/events/hidden_objects/safari_game.asm" +INCLUDE "engine/events/hidden_objects/cinnabar_gym_quiz.asm" +INCLUDE "engine/events/hidden_objects/magazines.asm" +INCLUDE "engine/events/hidden_objects/bills_house_pc.asm" +INCLUDE "engine/events/hidden_objects/oaks_lab_email.asm" SECTION "Bill's PC", ROMX @@ -274,7 +285,9 @@ INCLUDE "engine/battle/init_battle_variables.asm" INCLUDE "engine/battle/move_effects/paralyze.asm" INCLUDE "engine/events/card_key.asm" INCLUDE "engine/events/prize_menu.asm" -INCLUDE "engine/events/hidden_object_functions14.asm" +INCLUDE "engine/events/hidden_objects/school_notebooks.asm" +INCLUDE "engine/events/hidden_objects/fighting_dojo.asm" +INCLUDE "engine/events/hidden_objects/indigo_plateau_hq.asm" SECTION "bank15_1", ROMX @@ -308,7 +321,11 @@ INCLUDE "engine/events/starter_dex.asm" SECTION "bank17_2", ROMX INCLUDE "engine/pokemon/set_types.asm" -INCLUDE "engine/events/hidden_object_functions17.asm" +INCLUDE "engine/events/hidden_objects/reds_room.asm" +INCLUDE "engine/events/hidden_objects/route_15_binoculars.asm" +INCLUDE "engine/events/hidden_objects/museum_fossils.asm" +INCLUDE "engine/events/hidden_objects/school_blackboard.asm" +INCLUDE "engine/events/hidden_objects/vermilion_gym_trash.asm" SECTION "bank18_1", ROMX @@ -318,7 +335,10 @@ INCLUDE "engine/events/cinnabar_lab.asm" SECTION "bank18_2", ROMX -INCLUDE "engine/events/hidden_object_functions18.asm" +INCLUDE "engine/events/hidden_objects/gym_statues.asm" +INCLUDE "engine/events/hidden_objects/bench_guys.asm" +INCLUDE "engine/events/hidden_objects/blues_room.asm" +INCLUDE "engine/events/hidden_objects/pokecenter_pc.asm" SECTION "bank1A", ROMX -- cgit v1.2.3 From 710c3275fc6a4caeeff3ad89c029a05984cf8388 Mon Sep 17 00:00:00 2001 From: Rangi Date: Fri, 3 Jul 2020 15:25:43 -0400 Subject: Simplify map connections To do: Polished Map support for detecting the tileset --- data/mapHeaders/AgathasRoom.asm | 11 +- data/mapHeaders/BikeShop.asm | 11 +- data/mapHeaders/BillsHouse.asm | 11 +- data/mapHeaders/BluesHouse.asm | 11 +- data/mapHeaders/BrunosRoom.asm | 11 +- data/mapHeaders/CeladonChiefHouse.asm | 11 +- data/mapHeaders/CeladonCity.asm | 15 +-- data/mapHeaders/CeladonDiner.asm | 11 +- data/mapHeaders/CeladonGym.asm | 11 +- data/mapHeaders/CeladonHotel.asm | 11 +- data/mapHeaders/CeladonMansion1F.asm | 11 +- data/mapHeaders/CeladonMansion2F.asm | 11 +- data/mapHeaders/CeladonMansion3F.asm | 11 +- data/mapHeaders/CeladonMansionRoof.asm | 11 +- data/mapHeaders/CeladonMansionRoofHouse.asm | 11 +- data/mapHeaders/CeladonMart1F.asm | 11 +- data/mapHeaders/CeladonMart2F.asm | 11 +- data/mapHeaders/CeladonMart3F.asm | 11 +- data/mapHeaders/CeladonMart4F.asm | 11 +- data/mapHeaders/CeladonMart5F.asm | 11 +- data/mapHeaders/CeladonMartElevator.asm | 11 +- data/mapHeaders/CeladonMartRoof.asm | 11 +- data/mapHeaders/CeladonPokecenter.asm | 11 +- data/mapHeaders/CeruleanBadgeHouse.asm | 11 +- data/mapHeaders/CeruleanCave1F.asm | 11 +- data/mapHeaders/CeruleanCave2F.asm | 11 +- data/mapHeaders/CeruleanCaveB1F.asm | 11 +- data/mapHeaders/CeruleanCity.asm | 19 +-- data/mapHeaders/CeruleanGym.asm | 11 +- data/mapHeaders/CeruleanMart.asm | 11 +- data/mapHeaders/CeruleanPokecenter.asm | 11 +- data/mapHeaders/CeruleanTradeHouse.asm | 11 +- data/mapHeaders/CeruleanTrashedHouse.asm | 11 +- data/mapHeaders/ChampionsRoom.asm | 11 +- data/mapHeaders/CinnabarGym.asm | 11 +- data/mapHeaders/CinnabarIsland.asm | 15 +-- data/mapHeaders/CinnabarLab.asm | 11 +- data/mapHeaders/CinnabarLabFossilRoom.asm | 11 +- data/mapHeaders/CinnabarLabMetronomeRoom.asm | 11 +- data/mapHeaders/CinnabarLabTradeRoom.asm | 11 +- data/mapHeaders/CinnabarMart.asm | 11 +- data/mapHeaders/CinnabarPokecenter.asm | 11 +- data/mapHeaders/Colosseum.asm | 11 +- data/mapHeaders/CopycatsHouse1F.asm | 11 +- data/mapHeaders/CopycatsHouse2F.asm | 11 +- data/mapHeaders/Daycare.asm | 11 +- data/mapHeaders/DiglettsCave.asm | 11 +- data/mapHeaders/DiglettsCaveRoute11.asm | 11 +- data/mapHeaders/DiglettsCaveRoute2.asm | 11 +- data/mapHeaders/FightingDojo.asm | 11 +- data/mapHeaders/FuchsiaBillsGrandpasHouse.asm | 11 +- data/mapHeaders/FuchsiaCity.asm | 17 +-- data/mapHeaders/FuchsiaGoodRodHouse.asm | 11 +- data/mapHeaders/FuchsiaGym.asm | 11 +- data/mapHeaders/FuchsiaMart.asm | 11 +- data/mapHeaders/FuchsiaMeetingRoom.asm | 11 +- data/mapHeaders/FuchsiaPokecenter.asm | 11 +- data/mapHeaders/GameCorner.asm | 11 +- data/mapHeaders/GameCornerPrizeRoom.asm | 11 +- data/mapHeaders/HallOfFame.asm | 11 +- data/mapHeaders/IndigoPlateau.asm | 13 +- data/mapHeaders/IndigoPlateauLobby.asm | 11 +- data/mapHeaders/LancesRoom.asm | 11 +- data/mapHeaders/LavenderCuboneHouse.asm | 11 +- data/mapHeaders/LavenderMart.asm | 11 +- data/mapHeaders/LavenderPokecenter.asm | 11 +- data/mapHeaders/LavenderTown.asm | 17 +-- data/mapHeaders/LoreleisRoom.asm | 11 +- data/mapHeaders/MrFujisHouse.asm | 11 +- data/mapHeaders/MrPsychicsHouse.asm | 11 +- data/mapHeaders/MtMoon1F.asm | 11 +- data/mapHeaders/MtMoonB1F.asm | 11 +- data/mapHeaders/MtMoonB2F.asm | 11 +- data/mapHeaders/MtMoonPokecenter.asm | 11 +- data/mapHeaders/Museum1F.asm | 11 +- data/mapHeaders/Museum2F.asm | 11 +- data/mapHeaders/NameRatersHouse.asm | 11 +- data/mapHeaders/OaksLab.asm | 11 +- data/mapHeaders/PalletTown.asm | 15 +-- data/mapHeaders/PewterCity.asm | 15 +-- data/mapHeaders/PewterGym.asm | 11 +- data/mapHeaders/PewterMart.asm | 11 +- data/mapHeaders/PewterNidoranHouse.asm | 11 +- data/mapHeaders/PewterPokecenter.asm | 11 +- data/mapHeaders/PewterSpeechHouse.asm | 11 +- data/mapHeaders/PokemonFanClub.asm | 11 +- data/mapHeaders/PokemonMansion1F.asm | 11 +- data/mapHeaders/PokemonMansion2F.asm | 11 +- data/mapHeaders/PokemonMansion3F.asm | 11 +- data/mapHeaders/PokemonMansionB1F.asm | 11 +- data/mapHeaders/PokemonTower1F.asm | 11 +- data/mapHeaders/PokemonTower2F.asm | 11 +- data/mapHeaders/PokemonTower3F.asm | 11 +- data/mapHeaders/PokemonTower4F.asm | 11 +- data/mapHeaders/PokemonTower5F.asm | 11 +- data/mapHeaders/PokemonTower6F.asm | 11 +- data/mapHeaders/PokemonTower7F.asm | 11 +- data/mapHeaders/PowerPlant.asm | 11 +- data/mapHeaders/RedsHouse1F.asm | 11 +- data/mapHeaders/RedsHouse2F.asm | 11 +- data/mapHeaders/RockTunnel1F.asm | 11 +- data/mapHeaders/RockTunnelB1F.asm | 11 +- data/mapHeaders/RockTunnelPokecenter.asm | 11 +- data/mapHeaders/RocketHideoutB1F.asm | 11 +- data/mapHeaders/RocketHideoutB2F.asm | 11 +- data/mapHeaders/RocketHideoutB3F.asm | 11 +- data/mapHeaders/RocketHideoutB4F.asm | 11 +- data/mapHeaders/RocketHideoutElevator.asm | 11 +- data/mapHeaders/Route1.asm | 15 +-- data/mapHeaders/Route10.asm | 15 +-- data/mapHeaders/Route11.asm | 15 +-- data/mapHeaders/Route11Gate1F.asm | 11 +- data/mapHeaders/Route11Gate2F.asm | 11 +- data/mapHeaders/Route12.asm | 17 +-- data/mapHeaders/Route12Gate1F.asm | 11 +- data/mapHeaders/Route12Gate2F.asm | 11 +- data/mapHeaders/Route12SuperRodHouse.asm | 11 +- data/mapHeaders/Route13.asm | 15 +-- data/mapHeaders/Route14.asm | 15 +-- data/mapHeaders/Route15.asm | 15 +-- data/mapHeaders/Route15Gate1F.asm | 11 +- data/mapHeaders/Route15Gate2F.asm | 11 +- data/mapHeaders/Route16.asm | 15 +-- data/mapHeaders/Route16FlyHouse.asm | 11 +- data/mapHeaders/Route16Gate1F.asm | 11 +- data/mapHeaders/Route16Gate2F.asm | 11 +- data/mapHeaders/Route17.asm | 15 +-- data/mapHeaders/Route18.asm | 15 +-- data/mapHeaders/Route18Gate1F.asm | 11 +- data/mapHeaders/Route18Gate2F.asm | 11 +- data/mapHeaders/Route19.asm | 15 +-- data/mapHeaders/Route2.asm | 15 +-- data/mapHeaders/Route20.asm | 15 +-- data/mapHeaders/Route21.asm | 15 +-- data/mapHeaders/Route22.asm | 15 +-- data/mapHeaders/Route22Gate.asm | 11 +- data/mapHeaders/Route23.asm | 15 +-- data/mapHeaders/Route24.asm | 15 +-- data/mapHeaders/Route25.asm | 13 +- data/mapHeaders/Route2Gate.asm | 11 +- data/mapHeaders/Route2TradeHouse.asm | 11 +- data/mapHeaders/Route3.asm | 15 +-- data/mapHeaders/Route4.asm | 15 +-- data/mapHeaders/Route5.asm | 15 +-- data/mapHeaders/Route5Gate.asm | 11 +- data/mapHeaders/Route6.asm | 15 +-- data/mapHeaders/Route6Gate.asm | 11 +- data/mapHeaders/Route7.asm | 15 +-- data/mapHeaders/Route7Gate.asm | 11 +- data/mapHeaders/Route8.asm | 15 +-- data/mapHeaders/Route8Gate.asm | 11 +- data/mapHeaders/Route9.asm | 15 +-- data/mapHeaders/SSAnne1F.asm | 11 +- data/mapHeaders/SSAnne1FRooms.asm | 11 +- data/mapHeaders/SSAnne2F.asm | 11 +- data/mapHeaders/SSAnne2FRooms.asm | 11 +- data/mapHeaders/SSAnne3F.asm | 11 +- data/mapHeaders/SSAnneB1F.asm | 11 +- data/mapHeaders/SSAnneB1FRooms.asm | 11 +- data/mapHeaders/SSAnneBow.asm | 11 +- data/mapHeaders/SSAnneCaptainsRoom.asm | 11 +- data/mapHeaders/SSAnneKitchen.asm | 11 +- data/mapHeaders/SafariZoneCenter.asm | 11 +- data/mapHeaders/SafariZoneCenterRestHouse.asm | 11 +- data/mapHeaders/SafariZoneEast.asm | 11 +- data/mapHeaders/SafariZoneEastRestHouse.asm | 11 +- data/mapHeaders/SafariZoneGate.asm | 11 +- data/mapHeaders/SafariZoneNorth.asm | 11 +- data/mapHeaders/SafariZoneNorthRestHouse.asm | 11 +- data/mapHeaders/SafariZoneSecretHouse.asm | 11 +- data/mapHeaders/SafariZoneWest.asm | 11 +- data/mapHeaders/SafariZoneWestRestHouse.asm | 11 +- data/mapHeaders/SaffronCity.asm | 19 +-- data/mapHeaders/SaffronGym.asm | 11 +- data/mapHeaders/SaffronMart.asm | 11 +- data/mapHeaders/SaffronPidgeyHouse.asm | 11 +- data/mapHeaders/SaffronPokecenter.asm | 11 +- data/mapHeaders/SeafoamIslands1F.asm | 11 +- data/mapHeaders/SeafoamIslandsB1F.asm | 11 +- data/mapHeaders/SeafoamIslandsB2F.asm | 11 +- data/mapHeaders/SeafoamIslandsB3F.asm | 11 +- data/mapHeaders/SeafoamIslandsB4F.asm | 11 +- data/mapHeaders/SilphCo10F.asm | 11 +- data/mapHeaders/SilphCo11F.asm | 11 +- data/mapHeaders/SilphCo1F.asm | 11 +- data/mapHeaders/SilphCo2F.asm | 11 +- data/mapHeaders/SilphCo3F.asm | 11 +- data/mapHeaders/SilphCo4F.asm | 11 +- data/mapHeaders/SilphCo5F.asm | 11 +- data/mapHeaders/SilphCo6F.asm | 11 +- data/mapHeaders/SilphCo7F.asm | 11 +- data/mapHeaders/SilphCo8F.asm | 11 +- data/mapHeaders/SilphCo9F.asm | 11 +- data/mapHeaders/SilphCoElevator.asm | 11 +- data/mapHeaders/TradeCenter.asm | 11 +- data/mapHeaders/UndergroundPathNorthSouth.asm | 11 +- data/mapHeaders/UndergroundPathRoute5.asm | 11 +- data/mapHeaders/UndergroundPathRoute6.asm | 11 +- data/mapHeaders/UndergroundPathRoute7.asm | 11 +- data/mapHeaders/UndergroundPathRoute7Copy.asm | 11 +- data/mapHeaders/UndergroundPathRoute8.asm | 11 +- data/mapHeaders/UndergroundPathWestEast.asm | 11 +- data/mapHeaders/VermilionCity.asm | 15 +-- data/mapHeaders/VermilionDock.asm | 11 +- data/mapHeaders/VermilionGym.asm | 11 +- data/mapHeaders/VermilionMart.asm | 11 +- data/mapHeaders/VermilionOldRodHouse.asm | 11 +- data/mapHeaders/VermilionPidgeyHouse.asm | 11 +- data/mapHeaders/VermilionPokecenter.asm | 11 +- data/mapHeaders/VermilionTradeHouse.asm | 11 +- data/mapHeaders/VictoryRoad1F.asm | 11 +- data/mapHeaders/VictoryRoad2F.asm | 11 +- data/mapHeaders/VictoryRoad3F.asm | 11 +- data/mapHeaders/ViridianCity.asm | 17 +-- data/mapHeaders/ViridianForest.asm | 11 +- data/mapHeaders/ViridianForestNorthGate.asm | 11 +- data/mapHeaders/ViridianForestSouthGate.asm | 11 +- data/mapHeaders/ViridianGym.asm | 11 +- data/mapHeaders/ViridianMart.asm | 11 +- data/mapHeaders/ViridianNicknameHouse.asm | 11 +- data/mapHeaders/ViridianPokecenter.asm | 11 +- data/mapHeaders/ViridianSchoolHouse.asm | 11 +- data/mapHeaders/WardensHouse.asm | 11 +- macros/data_macros.asm | 183 +++++++++++++------------- 224 files changed, 842 insertions(+), 1950 deletions(-) diff --git a/data/mapHeaders/AgathasRoom.asm b/data/mapHeaders/AgathasRoom.asm index 6e31225c..d04e0cfd 100755 --- a/data/mapHeaders/AgathasRoom.asm +++ b/data/mapHeaders/AgathasRoom.asm @@ -1,8 +1,3 @@ -AgathasRoom_h:: - db CEMETERY ; tileset - db AGATHAS_ROOM_HEIGHT, AGATHAS_ROOM_WIDTH ; dimensions (y, x) - dw AgathasRoom_Blocks ; blocks - dw AgathasRoom_TextPointers ; texts - dw AgathasRoom_Script ; scripts - db 0 ; connections - dw AgathasRoom_Object ; objects + + map_header AgathasRoom, AGATHAS_ROOM, CEMETERY, 0 + end_map_header diff --git a/data/mapHeaders/BikeShop.asm b/data/mapHeaders/BikeShop.asm index ea6f8d60..b4b520e2 100755 --- a/data/mapHeaders/BikeShop.asm +++ b/data/mapHeaders/BikeShop.asm @@ -1,8 +1,3 @@ -BikeShop_h:: - db CLUB ; tileset - db BIKE_SHOP_HEIGHT, BIKE_SHOP_WIDTH ; dimensions (y, x) - dw BikeShop_Blocks ; blocks - dw BikeShop_TextPointers ; texts - dw BikeShop_Script ; scripts - db 0 ; connections - dw BikeShop_Object ; objects + + map_header BikeShop, BIKE_SHOP, CLUB, 0 + end_map_header diff --git a/data/mapHeaders/BillsHouse.asm b/data/mapHeaders/BillsHouse.asm index e58cbd5b..6063175d 100755 --- a/data/mapHeaders/BillsHouse.asm +++ b/data/mapHeaders/BillsHouse.asm @@ -1,8 +1,3 @@ -BillsHouse_h:: - db INTERIOR ; tileset - db BILLS_HOUSE_HEIGHT, BILLS_HOUSE_WIDTH ; dimensions (y, x) - dw BillsHouse_Blocks ; blocks - dw BillsHouse_TextPointers ; texts - dw BillsHouse_Script ; scripts - db 0 ; connections - dw BillsHouse_Object ; objects + + map_header BillsHouse, BILLS_HOUSE, INTERIOR, 0 + end_map_header diff --git a/data/mapHeaders/BluesHouse.asm b/data/mapHeaders/BluesHouse.asm index bc9ed3de..33cee254 100755 --- a/data/mapHeaders/BluesHouse.asm +++ b/data/mapHeaders/BluesHouse.asm @@ -1,8 +1,3 @@ -BluesHouse_h:: - db HOUSE ; tileset - db BLUES_HOUSE_HEIGHT, BLUES_HOUSE_WIDTH ; dimensions (y, x) - dw BluesHouse_Blocks ; blocks - dw BluesHouse_TextPointers ; texts - dw BluesHouse_Script ; scripts - db 0 ; connections - dw BluesHouse_Object ; objects + + map_header BluesHouse, BLUES_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/mapHeaders/BrunosRoom.asm b/data/mapHeaders/BrunosRoom.asm index 03398603..a0b2d4fd 100755 --- a/data/mapHeaders/BrunosRoom.asm +++ b/data/mapHeaders/BrunosRoom.asm @@ -1,8 +1,3 @@ -BrunosRoom_h:: - db GYM ; tileset - db BRUNOS_ROOM_HEIGHT, BRUNOS_ROOM_WIDTH ; dimensions (y, x) - dw BrunosRoom_Blocks ; blocks - dw BrunosRoom_TextPointers ; texts - dw BrunosRoom_Script ; scripts - db 0 ; connections - dw BrunosRoom_Object ; objects + + map_header BrunosRoom, BRUNOS_ROOM, GYM, 0 + end_map_header diff --git a/data/mapHeaders/CeladonChiefHouse.asm b/data/mapHeaders/CeladonChiefHouse.asm index e29f722f..34f17273 100755 --- a/data/mapHeaders/CeladonChiefHouse.asm +++ b/data/mapHeaders/CeladonChiefHouse.asm @@ -1,8 +1,3 @@ -CeladonChiefHouse_h:: - db MANSION ; tileset - db CELADON_CHIEF_HOUSE_HEIGHT, CELADON_CHIEF_HOUSE_WIDTH ; dimensions (y, x) - dw CeladonChiefHouse_Blocks ; blocks - dw CeladonChiefHouse_TextPointers ; texts - dw CeladonChiefHouse_Script ; scripts - db 0 ; connections - dw CeladonChiefHouse_Object ; objects + + map_header CeladonChiefHouse, CELADON_CHIEF_HOUSE, MANSION, 0 + end_map_header diff --git a/data/mapHeaders/CeladonCity.asm b/data/mapHeaders/CeladonCity.asm index f2ce1831..6faa6f48 100755 --- a/data/mapHeaders/CeladonCity.asm +++ b/data/mapHeaders/CeladonCity.asm @@ -1,10 +1,5 @@ -CeladonCity_h:: - db OVERWORLD ; tileset - db CELADON_CITY_HEIGHT, CELADON_CITY_WIDTH ; dimensions (y, x) - dw CeladonCity_Blocks ; blocks - dw CeladonCity_TextPointers ; texts - dw CeladonCity_Script ; scripts - db WEST | EAST ; connections - WEST_MAP_CONNECTION CELADON_CITY, ROUTE_16, 4, 0, Route16_Blocks - EAST_MAP_CONNECTION CELADON_CITY, ROUTE_7, 4, 0, Route7_Blocks, 1 - dw CeladonCity_Object ; objects + + map_header CeladonCity, CELADON_CITY, OVERWORLD, WEST | EAST + connection west, Route16, ROUTE_16, 4 + connection east, Route7, ROUTE_7, 4 + end_map_header diff --git a/data/mapHeaders/CeladonDiner.asm b/data/mapHeaders/CeladonDiner.asm index 14501d83..b18d9633 100755 --- a/data/mapHeaders/CeladonDiner.asm +++ b/data/mapHeaders/CeladonDiner.asm @@ -1,8 +1,3 @@ -CeladonDiner_h:: - db LOBBY ; tileset - db CELADON_DINER_HEIGHT, CELADON_DINER_WIDTH ; dimensions (y, x) - dw CeladonDiner_Blocks ; blocks - dw CeladonDiner_TextPointers ; texts - dw CeladonDiner_Script ; scripts - db 0 ; connections - dw CeladonDiner_Object ; objects + + map_header CeladonDiner, CELADON_DINER, LOBBY, 0 + end_map_header diff --git a/data/mapHeaders/CeladonGym.asm b/data/mapHeaders/CeladonGym.asm index b64c5e19..2302c65a 100755 --- a/data/mapHeaders/CeladonGym.asm +++ b/data/mapHeaders/CeladonGym.asm @@ -1,8 +1,3 @@ -CeladonGym_h:: - db GYM ; tileset - db CELADON_GYM_HEIGHT, CELADON_GYM_WIDTH ; dimensions (y, x) - dw CeladonGym_Blocks ; blocks - dw CeladonGym_TextPointers ; texts - dw CeladonGym_Script ; scripts - db 0 ; connections - dw CeladonGym_Object ; objects + + map_header CeladonGym, CELADON_GYM, GYM, 0 + end_map_header diff --git a/data/mapHeaders/CeladonHotel.asm b/data/mapHeaders/CeladonHotel.asm index ecc943c2..2339c14d 100755 --- a/data/mapHeaders/CeladonHotel.asm +++ b/data/mapHeaders/CeladonHotel.asm @@ -1,8 +1,3 @@ -CeladonHotel_h:: - db POKECENTER ; tileset - db CELADON_HOTEL_HEIGHT, CELADON_HOTEL_WIDTH ; dimensions (y, x) - dw CeladonHotel_Blocks ; blocks - dw CeladonHotel_TextPointers ; texts - dw CeladonHotel_Script ; scripts - db 0 ; connections - dw CeladonHotel_Object ; objects + + map_header CeladonHotel, CELADON_HOTEL, POKECENTER, 0 + end_map_header diff --git a/data/mapHeaders/CeladonMansion1F.asm b/data/mapHeaders/CeladonMansion1F.asm index b13f76a7..45970028 100755 --- a/data/mapHeaders/CeladonMansion1F.asm +++ b/data/mapHeaders/CeladonMansion1F.asm @@ -1,8 +1,3 @@ -CeladonMansion1F_h:: - db MANSION ; tileset - db CELADON_MANSION_1F_HEIGHT, CELADON_MANSION_1F_WIDTH ; dimensions (y, x) - dw CeladonMansion1F_Blocks ; blocks - dw CeladonMansion1F_TextPointers ; texts - dw CeladonMansion1F_Script ; scripts - db 0 ; connections - dw CeladonMansion1F_Object ; objects + + map_header CeladonMansion1F, CELADON_MANSION_1F, MANSION, 0 + end_map_header diff --git a/data/mapHeaders/CeladonMansion2F.asm b/data/mapHeaders/CeladonMansion2F.asm index 33493510..d5e3e77b 100755 --- a/data/mapHeaders/CeladonMansion2F.asm +++ b/data/mapHeaders/CeladonMansion2F.asm @@ -1,8 +1,3 @@ -CeladonMansion2F_h:: - db MANSION ; tileset - db CELADON_MANSION_2F_HEIGHT, CELADON_MANSION_2F_WIDTH ; dimensions (y, x) - dw CeladonMansion2F_Blocks ; blocks - dw CeladonMansion2F_TextPointers ; texts - dw CeladonMansion2F_Script ; scripts - db 0 ; connections - dw CeladonMansion2F_Object ; objects + + map_header CeladonMansion2F, CELADON_MANSION_2F, MANSION, 0 + end_map_header diff --git a/data/mapHeaders/CeladonMansion3F.asm b/data/mapHeaders/CeladonMansion3F.asm index 89d0cfe6..7566caad 100755 --- a/data/mapHeaders/CeladonMansion3F.asm +++ b/data/mapHeaders/CeladonMansion3F.asm @@ -1,8 +1,3 @@ -CeladonMansion3F_h:: - db MANSION ; tileset - db CELADON_MANSION_3F_HEIGHT, CELADON_MANSION_3F_WIDTH ; dimensions (y, x) - dw CeladonMansion3F_Blocks ; blocks - dw CeladonMansion3F_TextPointers ; texts - dw CeladonMansion3F_Script ; scripts - db 0 ; connections - dw CeladonMansion3F_Object ; objects + + map_header CeladonMansion3F, CELADON_MANSION_3F, MANSION, 0 + end_map_header diff --git a/data/mapHeaders/CeladonMansionRoof.asm b/data/mapHeaders/CeladonMansionRoof.asm index 7f7fa4ac..9cbae6f6 100755 --- a/data/mapHeaders/CeladonMansionRoof.asm +++ b/data/mapHeaders/CeladonMansionRoof.asm @@ -1,8 +1,3 @@ -CeladonMansionRoof_h:: - db MANSION ; tileset - db CELADON_MANSION_ROOF_HEIGHT, CELADON_MANSION_ROOF_WIDTH ; dimensions (y, x) - dw CeladonMansionRoof_Blocks ; blocks - dw CeladonMansionRoof_TextPointers ; texts - dw CeladonMansionRoof_Script ; scripts - db 0 ; connections - dw CeladonMansionRoof_Object ; objects + + map_header CeladonMansionRoof, CELADON_MANSION_ROOF, MANSION, 0 + end_map_header diff --git a/data/mapHeaders/CeladonMansionRoofHouse.asm b/data/mapHeaders/CeladonMansionRoofHouse.asm index de6771b7..cb80fac8 100755 --- a/data/mapHeaders/CeladonMansionRoofHouse.asm +++ b/data/mapHeaders/CeladonMansionRoofHouse.asm @@ -1,8 +1,3 @@ -CeladonMansionRoofHouse_h:: - db HOUSE ; tileset - db CELADON_MANSION_ROOF_HOUSE_HEIGHT, CELADON_MANSION_ROOF_HOUSE_WIDTH ; dimensions (y, x) - dw CeladonMansionRoofHouse_Blocks ; blocks - dw CeladonMansionRoofHouse_TextPointers ; texts - dw CeladonMansionRoofHouse_Script ; scripts - db 0 ; connections - dw CeladonMansionRoofHouse_Object ; objects + + map_header CeladonMansionRoofHouse, CELADON_MANSION_ROOF_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/mapHeaders/CeladonMart1F.asm b/data/mapHeaders/CeladonMart1F.asm index d392f8a7..30bd9ba9 100755 --- a/data/mapHeaders/CeladonMart1F.asm +++ b/data/mapHeaders/CeladonMart1F.asm @@ -1,8 +1,3 @@ -CeladonMart1F_h:: - db LOBBY ; tileset - db CELADON_MART_1F_HEIGHT, CELADON_MART_1F_WIDTH ; dimensions (y, x) - dw CeladonMart1F_Blocks ; blocks - dw CeladonMart1F_TextPointers ; texts - dw CeladonMart1F_Script ; scripts - db 0 ; connections - dw CeladonMart1F_Object ; objects + + map_header CeladonMart1F, CELADON_MART_1F, LOBBY, 0 + end_map_header diff --git a/data/mapHeaders/CeladonMart2F.asm b/data/mapHeaders/CeladonMart2F.asm index ff39a08c..d78dfe28 100755 --- a/data/mapHeaders/CeladonMart2F.asm +++ b/data/mapHeaders/CeladonMart2F.asm @@ -1,8 +1,3 @@ -CeladonMart2F_h:: - db LOBBY ; tileset - db CELADON_MART_2F_HEIGHT, CELADON_MART_2F_WIDTH ; dimensions (y, x) - dw CeladonMart2F_Blocks ; blocks - dw CeladonMart2F_TextPointers ; texts - dw CeladonMart2F_Script ; scripts - db 0 ; connections - dw CeladonMart2F_Object ; objects + + map_header CeladonMart2F, CELADON_MART_2F, LOBBY, 0 + end_map_header diff --git a/data/mapHeaders/CeladonMart3F.asm b/data/mapHeaders/CeladonMart3F.asm index 2bdd384f..ad415eee 100755 --- a/data/mapHeaders/CeladonMart3F.asm +++ b/data/mapHeaders/CeladonMart3F.asm @@ -1,8 +1,3 @@ -CeladonMart3F_h:: - db LOBBY ; tileset - db CELADON_MART_3F_HEIGHT, CELADON_MART_3F_WIDTH ; dimensions (y, x) - dw CeladonMart3F_Blocks ; blocks - dw CeladonMart3F_TextPointers ; texts - dw CeladonMart3F_Script ; scripts - db 0 ; connections - dw CeladonMart3F_Object ; objects + + map_header CeladonMart3F, CELADON_MART_3F, LOBBY, 0 + end_map_header diff --git a/data/mapHeaders/CeladonMart4F.asm b/data/mapHeaders/CeladonMart4F.asm index d03bde7a..b9ce5b34 100755 --- a/data/mapHeaders/CeladonMart4F.asm +++ b/data/mapHeaders/CeladonMart4F.asm @@ -1,8 +1,3 @@ -CeladonMart4F_h:: - db LOBBY ; tileset - db CELADON_MART_4F_HEIGHT, CELADON_MART_4F_WIDTH ; dimensions (y, x) - dw CeladonMart4F_Blocks ; blocks - dw CeladonMart4F_TextPointers ; texts - dw CeladonMart4F_Script ; scripts - db 0 ; connections - dw CeladonMart4F_Object ; objects + + map_header CeladonMart4F, CELADON_MART_4F, LOBBY, 0 + end_map_header diff --git a/data/mapHeaders/CeladonMart5F.asm b/data/mapHeaders/CeladonMart5F.asm index e0f9c436..04d65b2b 100755 --- a/data/mapHeaders/CeladonMart5F.asm +++ b/data/mapHeaders/CeladonMart5F.asm @@ -1,8 +1,3 @@ -CeladonMart5F_h:: - db LOBBY ; tileset - db CELADON_MART_5F_HEIGHT, CELADON_MART_5F_WIDTH ; dimensions (y, x) - dw CeladonMart5F_Blocks ; blocks - dw CeladonMart5F_TextPointers ; texts - dw CeladonMart5F_Script ; scripts - db 0 ; connections - dw CeladonMart5F_Object ; objects + + map_header CeladonMart5F, CELADON_MART_5F, LOBBY, 0 + end_map_header diff --git a/data/mapHeaders/CeladonMartElevator.asm b/data/mapHeaders/CeladonMartElevator.asm index 391f65fd..2a98ccb0 100755 --- a/data/mapHeaders/CeladonMartElevator.asm +++ b/data/mapHeaders/CeladonMartElevator.asm @@ -1,8 +1,3 @@ -CeladonMartElevator_h:: - db LOBBY ; tileset - db CELADON_MART_ELEVATOR_HEIGHT, CELADON_MART_ELEVATOR_WIDTH ; dimensions (y, x) - dw CeladonMartElevator_Blocks ; blocks - dw CeladonMartElevator_TextPointers ; texts - dw CeladonMartElevator_Script ; scripts - db 0 ; connections - dw CeladonMartElevator_Object ; objects + + map_header CeladonMartElevator, CELADON_MART_ELEVATOR, LOBBY, 0 + end_map_header diff --git a/data/mapHeaders/CeladonMartRoof.asm b/data/mapHeaders/CeladonMartRoof.asm index 38f863f1..823ff25f 100755 --- a/data/mapHeaders/CeladonMartRoof.asm +++ b/data/mapHeaders/CeladonMartRoof.asm @@ -1,8 +1,3 @@ -CeladonMartRoof_h:: - db LOBBY ; tileset - db CELADON_MART_ROOF_HEIGHT, CELADON_MART_ROOF_WIDTH ; dimensions (y, x) - dw CeladonMartRoof_Blocks ; blocks - dw CeladonMartRoof_TextPointers ; texts - dw CeladonMartRoof_Script ; scripts - db 0 ; connections - dw CeladonMartRoof_Object ; objects + + map_header CeladonMartRoof, CELADON_MART_ROOF, LOBBY, 0 + end_map_header diff --git a/data/mapHeaders/CeladonPokecenter.asm b/data/mapHeaders/CeladonPokecenter.asm index 5b945d50..378a41ec 100755 --- a/data/mapHeaders/CeladonPokecenter.asm +++ b/data/mapHeaders/CeladonPokecenter.asm @@ -1,8 +1,3 @@ -CeladonPokecenter_h:: - db POKECENTER ; tileset - db CELADON_POKECENTER_HEIGHT, CELADON_POKECENTER_WIDTH ; dimensions (y, x) - dw CeladonPokecenter_Blocks ; blocks - dw CeladonPokecenter_TextPointers ; texts - dw CeladonPokecenter_Script ; scripts - db 0 ; connections - dw CeladonPokecenter_Object ; objects + + map_header CeladonPokecenter, CELADON_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/mapHeaders/CeruleanBadgeHouse.asm b/data/mapHeaders/CeruleanBadgeHouse.asm index eaf77bb7..47a97b14 100755 --- a/data/mapHeaders/CeruleanBadgeHouse.asm +++ b/data/mapHeaders/CeruleanBadgeHouse.asm @@ -1,8 +1,3 @@ -CeruleanBadgeHouse_h:: - db SHIP ; tileset - db CERULEAN_BADGE_HOUSE_HEIGHT, CERULEAN_BADGE_HOUSE_WIDTH ; dimensions (y, x) - dw CeruleanBadgeHouse_Blocks ; blocks - dw CeruleanBadgeHouse_TextPointers ; texts - dw CeruleanBadgeHouse_Script ; scripts - db 0 ; connections - dw CeruleanBadgeHouse_Object ; objects + + map_header CeruleanBadgeHouse, CERULEAN_BADGE_HOUSE, SHIP, 0 + end_map_header diff --git a/data/mapHeaders/CeruleanCave1F.asm b/data/mapHeaders/CeruleanCave1F.asm index 0ab0ecf0..7c80bbeb 100755 --- a/data/mapHeaders/CeruleanCave1F.asm +++ b/data/mapHeaders/CeruleanCave1F.asm @@ -1,8 +1,3 @@ -CeruleanCave1F_h:: - db CAVERN ; tileset - db CERULEAN_CAVE_1F_HEIGHT, CERULEAN_CAVE_1F_WIDTH ; dimensions (y, x) - dw CeruleanCave1F_Blocks ; blocks - dw CeruleanCave1F_TextPointers ; texts - dw CeruleanCave1F_Script ; scripts - db 0 ; connections - dw CeruleanCave1F_Object ; objects + + map_header CeruleanCave1F, CERULEAN_CAVE_1F, CAVERN, 0 + end_map_header diff --git a/data/mapHeaders/CeruleanCave2F.asm b/data/mapHeaders/CeruleanCave2F.asm index 4002e73a..353e265b 100755 --- a/data/mapHeaders/CeruleanCave2F.asm +++ b/data/mapHeaders/CeruleanCave2F.asm @@ -1,8 +1,3 @@ -CeruleanCave2F_h:: - db CAVERN ; tileset - db CERULEAN_CAVE_2F_HEIGHT, CERULEAN_CAVE_2F_WIDTH ; dimensions (y, x) - dw CeruleanCave2F_Blocks ; blocks - dw CeruleanCave2F_TextPointers ; texts - dw CeruleanCave2F_Script ; scripts - db 0 ; connections - dw CeruleanCave2F_Object ; objects + + map_header CeruleanCave2F, CERULEAN_CAVE_2F, CAVERN, 0 + end_map_header diff --git a/data/mapHeaders/CeruleanCaveB1F.asm b/data/mapHeaders/CeruleanCaveB1F.asm index e3e9980f..d759aa6b 100755 --- a/data/mapHeaders/CeruleanCaveB1F.asm +++ b/data/mapHeaders/CeruleanCaveB1F.asm @@ -1,8 +1,3 @@ -CeruleanCaveB1F_h:: - db CAVERN ; tileset - db CERULEAN_CAVE_B1F_HEIGHT, CERULEAN_CAVE_B1F_WIDTH ; dimensions (y, x) - dw CeruleanCaveB1F_Blocks ; blocks - dw CeruleanCaveB1F_TextPointers ; texts - dw CeruleanCaveB1F_Script ; scripts - db 0 ; connections - dw CeruleanCaveB1F_Object ; objects + + map_header CeruleanCaveB1F, CERULEAN_CAVE_B1F, CAVERN, 0 + end_map_header diff --git a/data/mapHeaders/CeruleanCity.asm b/data/mapHeaders/CeruleanCity.asm index 23206c0a..c925713c 100755 --- a/data/mapHeaders/CeruleanCity.asm +++ b/data/mapHeaders/CeruleanCity.asm @@ -1,12 +1,7 @@ -CeruleanCity_h:: - db OVERWORLD ; tileset - db CERULEAN_CITY_HEIGHT, CERULEAN_CITY_WIDTH ; dimensions (y, x) - dw CeruleanCity_Blocks ; blocks - dw CeruleanCity_TextPointers ; texts - dw CeruleanCity_Script ; scripts - db NORTH | SOUTH | WEST | EAST ; connections - NORTH_MAP_CONNECTION CERULEAN_CITY, ROUTE_24, 5, 0, Route24_Blocks - SOUTH_MAP_CONNECTION CERULEAN_CITY, ROUTE_5, 5, 0, Route5_Blocks, 1 - WEST_MAP_CONNECTION CERULEAN_CITY, ROUTE_4, 4, 0, Route4_Blocks - EAST_MAP_CONNECTION CERULEAN_CITY, ROUTE_9, 4, 0, Route9_Blocks - dw CeruleanCity_Object ; objects + + map_header CeruleanCity, CERULEAN_CITY, OVERWORLD, NORTH | SOUTH | WEST | EAST + connection north, Route24, ROUTE_24, 5 + connection south, Route5, ROUTE_5, 5 + connection west, Route4, ROUTE_4, 4 + connection east, Route9, ROUTE_9, 4 + end_map_header diff --git a/data/mapHeaders/CeruleanGym.asm b/data/mapHeaders/CeruleanGym.asm index 32bb563f..b1010ac3 100755 --- a/data/mapHeaders/CeruleanGym.asm +++ b/data/mapHeaders/CeruleanGym.asm @@ -1,8 +1,3 @@ -CeruleanGym_h:: - db GYM ; tileset - db CERULEAN_GYM_HEIGHT, CERULEAN_GYM_WIDTH ; dimensions (y, x) - dw CeruleanGym_Blocks ; blocks - dw CeruleanGym_TextPointers ; texts - dw CeruleanGym_Script ; scripts - db 0 ; connections - dw CeruleanGym_Object ; objects + + map_header CeruleanGym, CERULEAN_GYM, GYM, 0 + end_map_header diff --git a/data/mapHeaders/CeruleanMart.asm b/data/mapHeaders/CeruleanMart.asm index 106b664c..2ee31666 100755 --- a/data/mapHeaders/CeruleanMart.asm +++ b/data/mapHeaders/CeruleanMart.asm @@ -1,8 +1,3 @@ -CeruleanMart_h:: - db MART ; tileset - db CERULEAN_MART_HEIGHT, CERULEAN_MART_WIDTH ; dimensions (y, x) - dw CeruleanMart_Blocks ; blocks - dw CeruleanMart_TextPointers ; texts - dw CeruleanMart_Script ; scripts - db 0 ; connections - dw CeruleanMart_Object ; objects + + map_header CeruleanMart, CERULEAN_MART, MART, 0 + end_map_header diff --git a/data/mapHeaders/CeruleanPokecenter.asm b/data/mapHeaders/CeruleanPokecenter.asm index d81c0183..b79e7aff 100755 --- a/data/mapHeaders/CeruleanPokecenter.asm +++ b/data/mapHeaders/CeruleanPokecenter.asm @@ -1,8 +1,3 @@ -CeruleanPokecenter_h:: - db POKECENTER ; tileset - db CERULEAN_POKECENTER_HEIGHT, CERULEAN_POKECENTER_WIDTH ; dimensions (y, x) - dw CeruleanPokecenter_Blocks ; blocks - dw CeruleanPokecenter_TextPointers ; texts - dw CeruleanPokecenter_Script ; scripts - db 0 ; connections - dw CeruleanPokecenter_Object ; objects + + map_header CeruleanPokecenter, CERULEAN_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/mapHeaders/CeruleanTradeHouse.asm b/data/mapHeaders/CeruleanTradeHouse.asm index 171586fa..20970b77 100755 --- a/data/mapHeaders/CeruleanTradeHouse.asm +++ b/data/mapHeaders/CeruleanTradeHouse.asm @@ -1,8 +1,3 @@ -CeruleanTradeHouse_h:: - db HOUSE ; tileset - db CERULEAN_TRADE_HOUSE_HEIGHT, CERULEAN_TRADE_HOUSE_WIDTH ; dimensions (y, x) - dw CeruleanTradeHouse_Blocks ; blocks - dw CeruleanTradeHouse_TextPointers ; texts - dw CeruleanTradeHouse_Script ; scripts - db 0 ; connections - dw CeruleanTradeHouse_Object ; objects + + map_header CeruleanTradeHouse, CERULEAN_TRADE_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/mapHeaders/CeruleanTrashedHouse.asm b/data/mapHeaders/CeruleanTrashedHouse.asm index b9d53cdb..192a4195 100755 --- a/data/mapHeaders/CeruleanTrashedHouse.asm +++ b/data/mapHeaders/CeruleanTrashedHouse.asm @@ -1,8 +1,3 @@ -CeruleanTrashedHouse_h:: - db HOUSE ; tileset - db CERULEAN_TRASHED_HOUSE_HEIGHT, CERULEAN_TRASHED_HOUSE_WIDTH ; dimensions (y, x) - dw CeruleanTrashedHouse_Blocks ; blocks - dw CeruleanTrashedHouse_TextPointers ; texts - dw CeruleanTrashedHouse_Script ; scripts - db 0 ; connections - dw CeruleanTrashedHouse_Object ; objects + + map_header CeruleanTrashedHouse, CERULEAN_TRASHED_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/mapHeaders/ChampionsRoom.asm b/data/mapHeaders/ChampionsRoom.asm index c6794804..aadc70a6 100755 --- a/data/mapHeaders/ChampionsRoom.asm +++ b/data/mapHeaders/ChampionsRoom.asm @@ -1,8 +1,3 @@ -ChampionsRoom_h:: - db GYM ; tileset - db CHAMPIONS_ROOM_HEIGHT, CHAMPIONS_ROOM_WIDTH ; dimensions (y, x) - dw ChampionsRoom_Blocks ; blocks - dw ChampionsRoom_TextPointers ; texts - dw ChampionsRoom_Script ; scripts - db $0 ; connections - dw ChampionsRoom_Object ; objects + + map_header ChampionsRoom, CHAMPIONS_ROOM, GYM, $0 + end_map_header diff --git a/data/mapHeaders/CinnabarGym.asm b/data/mapHeaders/CinnabarGym.asm index 96154af7..cc6dc1d7 100755 --- a/data/mapHeaders/CinnabarGym.asm +++ b/data/mapHeaders/CinnabarGym.asm @@ -1,8 +1,3 @@ -CinnabarGym_h:: - db FACILITY ; tileset - db CINNABAR_GYM_HEIGHT, CINNABAR_GYM_WIDTH ; dimensions (y, x) - dw CinnabarGym_Blocks ; blocks - dw CinnabarGym_TextPointers ; texts - dw CinnabarGym_Script ; scripts - db 0 ; connections - dw CinnabarGym_Object ; objects + + map_header CinnabarGym, CINNABAR_GYM, FACILITY, 0 + end_map_header diff --git a/data/mapHeaders/CinnabarIsland.asm b/data/mapHeaders/CinnabarIsland.asm index 3489fe3c..a94498be 100755 --- a/data/mapHeaders/CinnabarIsland.asm +++ b/data/mapHeaders/CinnabarIsland.asm @@ -1,10 +1,5 @@ -CinnabarIsland_h:: - db OVERWORLD ; tileset - db CINNABAR_ISLAND_HEIGHT, CINNABAR_ISLAND_WIDTH ; dimensions (y, x) - dw CinnabarIsland_Blocks ; blocks - dw CinnabarIsland_TextPointers ; texts - dw CinnabarIsland_Script ; scripts - db NORTH | EAST ; connections - NORTH_MAP_CONNECTION CINNABAR_ISLAND, ROUTE_21, 0, 0, Route21_Blocks - EAST_MAP_CONNECTION CINNABAR_ISLAND, ROUTE_20, 0, 0, Route20_Blocks - dw CinnabarIsland_Object ; objects + + map_header CinnabarIsland, CINNABAR_ISLAND, OVERWORLD, NORTH | EAST + connection north, Route21, ROUTE_21, 0 + connection east, Route20, ROUTE_20, 0 + end_map_header diff --git a/data/mapHeaders/CinnabarLab.asm b/data/mapHeaders/CinnabarLab.asm index ffa3a037..e8081e75 100755 --- a/data/mapHeaders/CinnabarLab.asm +++ b/data/mapHeaders/CinnabarLab.asm @@ -1,8 +1,3 @@ -CinnabarLab_h:: - db LAB ; tileset - db CINNABAR_LAB_HEIGHT, CINNABAR_LAB_WIDTH ; dimensions (y, x) - dw CinnabarLab_Blocks ; blocks - dw CinnabarLab_TextPointers ; texts - dw CinnabarLab_Script ; scripts - db 0 ; connections - dw CinnabarLab_Object ; objects + + map_header CinnabarLab, CINNABAR_LAB, LAB, 0 + end_map_header diff --git a/data/mapHeaders/CinnabarLabFossilRoom.asm b/data/mapHeaders/CinnabarLabFossilRoom.asm index 8e833f70..3cb88437 100755 --- a/data/mapHeaders/CinnabarLabFossilRoom.asm +++ b/data/mapHeaders/CinnabarLabFossilRoom.asm @@ -1,8 +1,3 @@ -CinnabarLabFossilRoom_h:: - db LAB ; tileset - db CINNABAR_LAB_FOSSIL_ROOM_HEIGHT, CINNABAR_LAB_FOSSIL_ROOM_WIDTH ; dimensions (y, x) - dw CinnabarLabFossilRoom_Blocks ; blocks - dw CinnabarLabFossilRoom_TextPointers ; texts - dw CinnabarLabFossilRoom_Script ; scripts - db 0 ; connections - dw CinnabarLabFossilRoom_Object ; objects + + map_header CinnabarLabFossilRoom, CINNABAR_LAB_FOSSIL_ROOM, LAB, 0 + end_map_header diff --git a/data/mapHeaders/CinnabarLabMetronomeRoom.asm b/data/mapHeaders/CinnabarLabMetronomeRoom.asm index 35169504..d77338c8 100755 --- a/data/mapHeaders/CinnabarLabMetronomeRoom.asm +++ b/data/mapHeaders/CinnabarLabMetronomeRoom.asm @@ -1,8 +1,3 @@ -CinnabarLabMetronomeRoom_h:: - db LAB ; tileset - db CINNABAR_LAB_METRONOME_ROOM_HEIGHT, CINNABAR_LAB_METRONOME_ROOM_WIDTH ; dimensions (y, x) - dw CinnabarLabMetronomeRoom_Blocks ; blocks - dw CinnabarLabMetronomeRoom_TextPointers ; texts - dw CinnabarLabMetronomeRoom_Script ; scripts - db 0 ; connections - dw CinnabarLabMetronomeRoom_Object ; objects + + map_header CinnabarLabMetronomeRoom, CINNABAR_LAB_METRONOME_ROOM, LAB, 0 + end_map_header diff --git a/data/mapHeaders/CinnabarLabTradeRoom.asm b/data/mapHeaders/CinnabarLabTradeRoom.asm index a18e6eed..c23d9c15 100755 --- a/data/mapHeaders/CinnabarLabTradeRoom.asm +++ b/data/mapHeaders/CinnabarLabTradeRoom.asm @@ -1,8 +1,3 @@ -CinnabarLabTradeRoom_h:: - db LAB ; tileset - db CINNABAR_LAB_TRADE_ROOM_HEIGHT, CINNABAR_LAB_TRADE_ROOM_WIDTH ; dimensions (y, x) - dw CinnabarLabTradeRoom_Blocks ; blocks - dw CinnabarLabTradeRoom_TextPointers ; texts - dw CinnabarLabTradeRoom_Script ; scripts - db 0 ; connections - dw CinnabarLabTradeRoom_Object ; objects + + map_header CinnabarLabTradeRoom, CINNABAR_LAB_TRADE_ROOM, LAB, 0 + end_map_header diff --git a/data/mapHeaders/CinnabarMart.asm b/data/mapHeaders/CinnabarMart.asm index aac1c69f..c68d582a 100755 --- a/data/mapHeaders/CinnabarMart.asm +++ b/data/mapHeaders/CinnabarMart.asm @@ -1,8 +1,3 @@ -CinnabarMart_h:: - db MART ; tileset - db CINNABAR_MART_HEIGHT, CINNABAR_MART_WIDTH ; dimensions (y, x) - dw CinnabarMart_Blocks ; blocks - dw CinnabarMart_TextPointers ; texts - dw CinnabarMart_Script ; scripts - db 0 ; connections - dw CinnabarMart_Object ; objects + + map_header CinnabarMart, CINNABAR_MART, MART, 0 + end_map_header diff --git a/data/mapHeaders/CinnabarPokecenter.asm b/data/mapHeaders/CinnabarPokecenter.asm index d9ade14c..d910133b 100755 --- a/data/mapHeaders/CinnabarPokecenter.asm +++ b/data/mapHeaders/CinnabarPokecenter.asm @@ -1,8 +1,3 @@ -CinnabarPokecenter_h:: - db POKECENTER ; tileset - db CINNABAR_POKECENTER_HEIGHT, CINNABAR_POKECENTER_WIDTH ; dimensions (y, x) - dw CinnabarPokecenter_Blocks ; blocks - dw CinnabarPokecenter_TextPointers ; texts - dw CinnabarPokecenter_Script ; scripts - db 0 ; connections - dw CinnabarPokecenter_Object ; objects + + map_header CinnabarPokecenter, CINNABAR_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/mapHeaders/Colosseum.asm b/data/mapHeaders/Colosseum.asm index 3375e0f1..faf03eb4 100755 --- a/data/mapHeaders/Colosseum.asm +++ b/data/mapHeaders/Colosseum.asm @@ -1,8 +1,3 @@ -Colosseum_h:: - db CLUB ; tileset - db COLOSSEUM_HEIGHT, COLOSSEUM_WIDTH ; dimensions (y, x) - dw Colosseum_Blocks ; blocks - dw Colosseum_TextPointers ; texts - dw Colosseum_Script ; scripts - db 0 ; connections - dw Colosseum_Object ; objects + + map_header Colosseum, COLOSSEUM, CLUB, 0 + end_map_header diff --git a/data/mapHeaders/CopycatsHouse1F.asm b/data/mapHeaders/CopycatsHouse1F.asm index b68728ae..532cef93 100755 --- a/data/mapHeaders/CopycatsHouse1F.asm +++ b/data/mapHeaders/CopycatsHouse1F.asm @@ -1,8 +1,3 @@ -CopycatsHouse1F_h:: - db REDS_HOUSE_1 ; tileset - db COPYCATS_HOUSE_1F_HEIGHT, COPYCATS_HOUSE_1F_WIDTH ; dimensions (y, x) - dw CopycatsHouse1F_Blocks ; blocks - dw CopycatsHouse1F_TextPointers ; texts - dw CopycatsHouse1F_Script ; scripts - db 0 ; connections - dw CopycatsHouse1F_Object ; objects + + map_header CopycatsHouse1F, COPYCATS_HOUSE_1F, REDS_HOUSE_1, 0 + end_map_header diff --git a/data/mapHeaders/CopycatsHouse2F.asm b/data/mapHeaders/CopycatsHouse2F.asm index 1c7d9af9..38b1fbbb 100755 --- a/data/mapHeaders/CopycatsHouse2F.asm +++ b/data/mapHeaders/CopycatsHouse2F.asm @@ -1,8 +1,3 @@ -CopycatsHouse2F_h:: - db REDS_HOUSE_2 ; tileset - db COPYCATS_HOUSE_2F_HEIGHT, COPYCATS_HOUSE_2F_WIDTH ; dimensions (y, x) - dw CopycatsHouse2F_Blocks ; blocks - dw CopycatsHouse2F_TextPointers ; texts - dw CopycatsHouse2F_Script ; scripts - db 0 ; connections - dw CopycatsHouse2F_Object ; objects + + map_header CopycatsHouse2F, COPYCATS_HOUSE_2F, REDS_HOUSE_2, 0 + end_map_header diff --git a/data/mapHeaders/Daycare.asm b/data/mapHeaders/Daycare.asm index 4f2e41e7..dabeedd9 100755 --- a/data/mapHeaders/Daycare.asm +++ b/data/mapHeaders/Daycare.asm @@ -1,8 +1,3 @@ -Daycare_h:: - db HOUSE ; tileset - db DAYCARE_HEIGHT, DAYCARE_WIDTH ; dimensions (y, x) - dw Daycare_Blocks ; blocks - dw Daycare_TextPointers ; texts - dw Daycare_Script ; scripts - db 0 ; connections - dw Daycare_Object ; objects + + map_header Daycare, DAYCARE, HOUSE, 0 + end_map_header diff --git a/data/mapHeaders/DiglettsCave.asm b/data/mapHeaders/DiglettsCave.asm index 9742d306..d3777d31 100755 --- a/data/mapHeaders/DiglettsCave.asm +++ b/data/mapHeaders/DiglettsCave.asm @@ -1,8 +1,3 @@ -DiglettsCave_h:: - db CAVERN ; tileset - db DIGLETTS_CAVE_HEIGHT, DIGLETTS_CAVE_WIDTH ; dimensions (y, x) - dw DiglettsCave_Blocks ; blocks - dw DiglettsCave_TextPointers ; texts - dw DiglettsCave_Script ; scripts - db 0 ; connections - dw DiglettsCave_Object ; objects + + map_header DiglettsCave, DIGLETTS_CAVE, CAVERN, 0 + end_map_header diff --git a/data/mapHeaders/DiglettsCaveRoute11.asm b/data/mapHeaders/DiglettsCaveRoute11.asm index ac9082ed..d8bdd704 100755 --- a/data/mapHeaders/DiglettsCaveRoute11.asm +++ b/data/mapHeaders/DiglettsCaveRoute11.asm @@ -1,8 +1,3 @@ -DiglettsCaveRoute11_h:: - db CAVERN ; tileset - db DIGLETTS_CAVE_ROUTE_11_HEIGHT, DIGLETTS_CAVE_ROUTE_11_WIDTH ; dimensions (y, x) - dw DiglettsCaveRoute11_Blocks ; blocks - dw DiglettsCaveRoute11_TextPointers ; texts - dw DiglettsCaveRoute11_Script ; scripts - db 0 ; connections - dw DiglettsCaveRoute11_Object ; objects + + map_header DiglettsCaveRoute11, DIGLETTS_CAVE_ROUTE_11, CAVERN, 0 + end_map_header diff --git a/data/mapHeaders/DiglettsCaveRoute2.asm b/data/mapHeaders/DiglettsCaveRoute2.asm index 1279e89f..86f5ae35 100755 --- a/data/mapHeaders/DiglettsCaveRoute2.asm +++ b/data/mapHeaders/DiglettsCaveRoute2.asm @@ -1,8 +1,3 @@ -DiglettsCaveRoute2_h:: - db CAVERN ; tileset - db DIGLETTS_CAVE_ROUTE_2_HEIGHT, DIGLETTS_CAVE_ROUTE_2_WIDTH ; dimensions (y, x) - dw DiglettsCaveRoute2_Blocks ; blocks - dw DiglettsCaveRoute2_TextPointers ; texts - dw DiglettsCaveRoute2_Script ; scripts - db 0 ; connections - dw DiglettsCaveRoute2_Object ; objects + + map_header DiglettsCaveRoute2, DIGLETTS_CAVE_ROUTE_2, CAVERN, 0 + end_map_header diff --git a/data/mapHeaders/FightingDojo.asm b/data/mapHeaders/FightingDojo.asm index da8a589a..7ecadc57 100755 --- a/data/mapHeaders/FightingDojo.asm +++ b/data/mapHeaders/FightingDojo.asm @@ -1,8 +1,3 @@ -FightingDojo_h:: - db DOJO ; tileset - db FIGHTING_DOJO_HEIGHT, FIGHTING_DOJO_WIDTH ; dimensions (y, x) - dw FightingDojo_Blocks ; blocks - dw FightingDojo_TextPointers ; texts - dw FightingDojo_Script ; scripts - db 0 ; connections - dw FightingDojo_Object ; objects + + map_header FightingDojo, FIGHTING_DOJO, DOJO, 0 + end_map_header diff --git a/data/mapHeaders/FuchsiaBillsGrandpasHouse.asm b/data/mapHeaders/FuchsiaBillsGrandpasHouse.asm index cbef462c..10ba48e9 100755 --- a/data/mapHeaders/FuchsiaBillsGrandpasHouse.asm +++ b/data/mapHeaders/FuchsiaBillsGrandpasHouse.asm @@ -1,8 +1,3 @@ -FuchsiaBillsGrandpasHouse_h:: - db HOUSE ; tileset - db FUCHSIA_BILLS_GRANDPAS_HOUSE_HEIGHT, FUCHSIA_BILLS_GRANDPAS_HOUSE_WIDTH ; dimensions (y, x) - dw FuchsiaBillsGrandpasHouse_Blocks ; blocks - dw FuchsiaBillsGrandpasHouse_TextPointers ; texts - dw FuchsiaBillsGrandpasHouse_Script ; scripts - db 0 ; connections - dw FuchsiaBillsGrandpasHouse_Object ; objects + + map_header FuchsiaBillsGrandpasHouse, FUCHSIA_BILLS_GRANDPAS_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/mapHeaders/FuchsiaCity.asm b/data/mapHeaders/FuchsiaCity.asm index 1b247678..6028bce0 100755 --- a/data/mapHeaders/FuchsiaCity.asm +++ b/data/mapHeaders/FuchsiaCity.asm @@ -1,11 +1,6 @@ -FuchsiaCity_h:: - db OVERWORLD ; tileset - db FUCHSIA_CITY_HEIGHT, FUCHSIA_CITY_WIDTH ; dimensions (y, x) - dw FuchsiaCity_Blocks ; blocks - dw FuchsiaCity_TextPointers ; texts - dw FuchsiaCity_Script ; scripts - db SOUTH | WEST | EAST ; connections - SOUTH_MAP_CONNECTION FUCHSIA_CITY, ROUTE_19, 5, 0, Route19_Blocks - WEST_MAP_CONNECTION FUCHSIA_CITY, ROUTE_18, 4, 0, Route18_Blocks - EAST_MAP_CONNECTION FUCHSIA_CITY, ROUTE_15, 4, 0, Route15_Blocks - dw FuchsiaCity_Object ; objects + + map_header FuchsiaCity, FUCHSIA_CITY, OVERWORLD, SOUTH | WEST | EAST + connection south, Route19, ROUTE_19, 5 + connection west, Route18, ROUTE_18, 4 + connection east, Route15, ROUTE_15, 4 + end_map_header diff --git a/data/mapHeaders/FuchsiaGoodRodHouse.asm b/data/mapHeaders/FuchsiaGoodRodHouse.asm index fd2e36b4..d21611c1 100755 --- a/data/mapHeaders/FuchsiaGoodRodHouse.asm +++ b/data/mapHeaders/FuchsiaGoodRodHouse.asm @@ -1,8 +1,3 @@ -FuchsiaGoodRodHouse_h:: - db SHIP ; tileset - db FUCHSIA_GOOD_ROD_HOUSE_HEIGHT, FUCHSIA_GOOD_ROD_HOUSE_WIDTH ; dimensions (y, x) - dw FuchsiaGoodRodHouse_Blocks ; blocks - dw FuchsiaGoodRodHouse_TextPointers ; texts - dw FuchsiaGoodRodHouse_Script ; scripts - db 0 ; connections - dw FuchsiaGoodRodHouse_Object ; objects + + map_header FuchsiaGoodRodHouse, FUCHSIA_GOOD_ROD_HOUSE, SHIP, 0 + end_map_header diff --git a/data/mapHeaders/FuchsiaGym.asm b/data/mapHeaders/FuchsiaGym.asm index ffc5c0fe..44be2971 100755 --- a/data/mapHeaders/FuchsiaGym.asm +++ b/data/mapHeaders/FuchsiaGym.asm @@ -1,8 +1,3 @@ -FuchsiaGym_h:: - db GYM ; tileset - db FUCHSIA_GYM_HEIGHT, FUCHSIA_GYM_WIDTH ; dimensions (y, x) - dw FuchsiaGym_Blocks ; blocks - dw FuchsiaGym_TextPointers ; texts - dw FuchsiaGym_Script ; scripts - db 0 ; connections - dw FuchsiaGym_Object ; objects + + map_header FuchsiaGym, FUCHSIA_GYM, GYM, 0 + end_map_header diff --git a/data/mapHeaders/FuchsiaMart.asm b/data/mapHeaders/FuchsiaMart.asm index b9c0d938..120fe305 100755 --- a/data/mapHeaders/FuchsiaMart.asm +++ b/data/mapHeaders/FuchsiaMart.asm @@ -1,8 +1,3 @@ -FuchsiaMart_h:: - db MART ; tileset - db FUCHSIA_MART_HEIGHT, FUCHSIA_MART_WIDTH ; dimensions (y, x) - dw FuchsiaMart_Blocks ; blocks - dw FuchsiaMart_TextPointers ; texts - dw FuchsiaMart_Script ; scripts - db 0 ; connections - dw FuchsiaMart_Object ; objects + + map_header FuchsiaMart, FUCHSIA_MART, MART, 0 + end_map_header diff --git a/data/mapHeaders/FuchsiaMeetingRoom.asm b/data/mapHeaders/FuchsiaMeetingRoom.asm index a3198eea..a5ab4f04 100755 --- a/data/mapHeaders/FuchsiaMeetingRoom.asm +++ b/data/mapHeaders/FuchsiaMeetingRoom.asm @@ -1,8 +1,3 @@ -FuchsiaMeetingRoom_h:: - db LAB ; tileset - db FUCHSIA_MEETING_ROOM_HEIGHT, FUCHSIA_MEETING_ROOM_WIDTH ; dimensions (y, x) - dw FuchsiaMeetingRoom_Blocks ; blocks - dw FuchsiaMeetingRoom_TextPointers ; texts - dw FuchsiaMeetingRoom_Script ; scripts - db 0 ; connections - dw FuchsiaMeetingRoom_Object ; objects + + map_header FuchsiaMeetingRoom, FUCHSIA_MEETING_ROOM, LAB, 0 + end_map_header diff --git a/data/mapHeaders/FuchsiaPokecenter.asm b/data/mapHeaders/FuchsiaPokecenter.asm index beea4fc2..c1c683bd 100755 --- a/data/mapHeaders/FuchsiaPokecenter.asm +++ b/data/mapHeaders/FuchsiaPokecenter.asm @@ -1,8 +1,3 @@ -FuchsiaPokecenter_h:: - db POKECENTER ; tileset - db FUCHSIA_POKECENTER_HEIGHT, FUCHSIA_POKECENTER_WIDTH ; dimensions (y, x) - dw FuchsiaPokecenter_Blocks ; blocks - dw FuchsiaPokecenter_TextPointers ; texts - dw FuchsiaPokecenter_Script ; scripts - db 0 ; connections - dw FuchsiaPokecenter_Object ; objects + + map_header FuchsiaPokecenter, FUCHSIA_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/mapHeaders/GameCorner.asm b/data/mapHeaders/GameCorner.asm index 6965e276..ad367b93 100755 --- a/data/mapHeaders/GameCorner.asm +++ b/data/mapHeaders/GameCorner.asm @@ -1,8 +1,3 @@ -GameCorner_h:: - db LOBBY ; tileset - db GAME_CORNER_HEIGHT, GAME_CORNER_WIDTH ; dimensions (y, x) - dw GameCorner_Blocks ; blocks - dw GameCorner_TextPointers ; texts - dw GameCorner_Script ; scripts - db 0 ; connections - dw GameCorner_Object ; objects + + map_header GameCorner, GAME_CORNER, LOBBY, 0 + end_map_header diff --git a/data/mapHeaders/GameCornerPrizeRoom.asm b/data/mapHeaders/GameCornerPrizeRoom.asm index 035f1112..4668cbb8 100755 --- a/data/mapHeaders/GameCornerPrizeRoom.asm +++ b/data/mapHeaders/GameCornerPrizeRoom.asm @@ -1,8 +1,3 @@ -GameCornerPrizeRoom_h:: - db LOBBY ; tileset - db GAME_CORNER_PRIZE_ROOM_HEIGHT, GAME_CORNER_PRIZE_ROOM_WIDTH ; dimensions (y, x) - dw GameCornerPrizeRoom_Blocks ; blocks - dw GameCornerPrizeRoom_TextPointers ; texts - dw GameCornerPrizeRoom_Script ; scripts - db 0 ; connections - dw GameCornerPrizeRoom_Object ; objects + + map_header GameCornerPrizeRoom, GAME_CORNER_PRIZE_ROOM, LOBBY, 0 + end_map_header diff --git a/data/mapHeaders/HallOfFame.asm b/data/mapHeaders/HallOfFame.asm index 7752ddb5..e2dc3fb3 100755 --- a/data/mapHeaders/HallOfFame.asm +++ b/data/mapHeaders/HallOfFame.asm @@ -1,8 +1,3 @@ -HallOfFame_h:: - db GYM ; tileset - db HALL_OF_FAME_HEIGHT, HALL_OF_FAME_WIDTH ; dimensions (y, x) - dw HallOfFame_Blocks ; blocks - dw HallOfFame_TextPointers ; texts - dw HallOfFame_Script ; scripts - db 0 ; connections - dw HallOfFame_Object ; objects + + map_header HallOfFame, HALL_OF_FAME, GYM, 0 + end_map_header diff --git a/data/mapHeaders/IndigoPlateau.asm b/data/mapHeaders/IndigoPlateau.asm index b5dcf3de..ff394dfe 100755 --- a/data/mapHeaders/IndigoPlateau.asm +++ b/data/mapHeaders/IndigoPlateau.asm @@ -1,9 +1,4 @@ -IndigoPlateau_h:: - db PLATEAU ; tileset - db INDIGO_PLATEAU_HEIGHT, INDIGO_PLATEAU_WIDTH ; dimensions (y, x) - dw IndigoPlateau_Blocks ; blocks - dw IndigoPlateau_TextPointers ; texts - dw IndigoPlateau_Script ; scripts - db SOUTH ; connections - SOUTH_MAP_CONNECTION INDIGO_PLATEAU, ROUTE_23, 0, 0, Route23_Blocks - dw IndigoPlateau_Object ; objects + + map_header IndigoPlateau, INDIGO_PLATEAU, PLATEAU, SOUTH + connection south, Route23, ROUTE_23, 0 + end_map_header diff --git a/data/mapHeaders/IndigoPlateauLobby.asm b/data/mapHeaders/IndigoPlateauLobby.asm index dc32f7d1..b13afa12 100755 --- a/data/mapHeaders/IndigoPlateauLobby.asm +++ b/data/mapHeaders/IndigoPlateauLobby.asm @@ -1,8 +1,3 @@ -IndigoPlateauLobby_h:: - db MART ; tileset - db INDIGO_PLATEAU_LOBBY_HEIGHT, INDIGO_PLATEAU_LOBBY_WIDTH ; dimensions (y, x) - dw IndigoPlateauLobby_Blocks ; blocks - dw IndigoPlateauLobby_TextPointers ; texts - dw IndigoPlateauLobby_Script ; scripts - db 0 ; connections - dw IndigoPlateauLobby_Object ; objects + + map_header IndigoPlateauLobby, INDIGO_PLATEAU_LOBBY, MART, 0 + end_map_header diff --git a/data/mapHeaders/LancesRoom.asm b/data/mapHeaders/LancesRoom.asm index 5373f010..0b69970e 100755 --- a/data/mapHeaders/LancesRoom.asm +++ b/data/mapHeaders/LancesRoom.asm @@ -1,8 +1,3 @@ -LancesRoom_h:: - db DOJO ; tileset - db LANCES_ROOM_HEIGHT, LANCES_ROOM_WIDTH ; dimensions (y, x) - dw LancesRoom_Blocks ; blocks - dw LancesRoom_TextPointers ; texts - dw LancesRoom_Script ; scripts - db 0 ; connections - dw LancesRoom_Object ; objects + + map_header LancesRoom, LANCES_ROOM, DOJO, 0 + end_map_header diff --git a/data/mapHeaders/LavenderCuboneHouse.asm b/data/mapHeaders/LavenderCuboneHouse.asm index 6d883655..dfd38ff1 100755 --- a/data/mapHeaders/LavenderCuboneHouse.asm +++ b/data/mapHeaders/LavenderCuboneHouse.asm @@ -1,8 +1,3 @@ -LavenderCuboneHouse_h:: - db HOUSE ; tileset - db LAVENDER_CUBONE_HOUSE_HEIGHT, LAVENDER_CUBONE_HOUSE_WIDTH ; dimensions (y, x) - dw LavenderCuboneHouse_Blocks ; blocks - dw LavenderCuboneHouse_TextPointers ; texts - dw LavenderCuboneHouse_Script ; scripts - db 0 ; connections - dw LavenderCuboneHouse_Object ; objects + + map_header LavenderCuboneHouse, LAVENDER_CUBONE_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/mapHeaders/LavenderMart.asm b/data/mapHeaders/LavenderMart.asm index 500287b4..82c239e6 100755 --- a/data/mapHeaders/LavenderMart.asm +++ b/data/mapHeaders/LavenderMart.asm @@ -1,8 +1,3 @@ -LavenderMart_h:: - db MART ; tileset - db LAVENDER_MART_HEIGHT, LAVENDER_MART_WIDTH ; dimensions (y, x) - dw LavenderMart_Blocks ; blocks - dw LavenderMart_TextPointers ; texts - dw LavenderMart_Script ; scripts - db 0 ; connections - dw LavenderMart_Object ; objects + + map_header LavenderMart, LAVENDER_MART, MART, 0 + end_map_header diff --git a/data/mapHeaders/LavenderPokecenter.asm b/data/mapHeaders/LavenderPokecenter.asm index 2c87b401..c0cd0adf 100755 --- a/data/mapHeaders/LavenderPokecenter.asm +++ b/data/mapHeaders/LavenderPokecenter.asm @@ -1,8 +1,3 @@ -LavenderPokecenter_h:: - db POKECENTER ; tileset - db LAVENDER_POKECENTER_HEIGHT, LAVENDER_POKECENTER_WIDTH ; dimensions (y, x) - dw LavenderPokecenter_Blocks ; blocks - dw LavenderPokecenter_TextPointers ; texts - dw LavenderPokecenter_Script ; scripts - db 0 ; connections - dw LavenderPokecenter_Object ; objects + + map_header LavenderPokecenter, LAVENDER_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/mapHeaders/LavenderTown.asm b/data/mapHeaders/LavenderTown.asm index 67a88189..7c1c9c46 100755 --- a/data/mapHeaders/LavenderTown.asm +++ b/data/mapHeaders/LavenderTown.asm @@ -1,11 +1,6 @@ -LavenderTown_h:: - db OVERWORLD ; tileset - db LAVENDER_TOWN_HEIGHT, LAVENDER_TOWN_WIDTH ; dimensions (y, x) - dw LavenderTown_Blocks ; blocks - dw LavenderTown_TextPointers ; texts - dw LavenderTown_Script ; scripts - db NORTH | SOUTH | WEST ; connections - NORTH_MAP_CONNECTION LAVENDER_TOWN, ROUTE_10, 0, 0, Route10_Blocks - SOUTH_MAP_CONNECTION LAVENDER_TOWN, ROUTE_12, 0, 0, Route12_Blocks, 1 - WEST_MAP_CONNECTION LAVENDER_TOWN, ROUTE_8, 0, 0, Route8_Blocks - dw LavenderTown_Object ; objects + + map_header LavenderTown, LAVENDER_TOWN, OVERWORLD, NORTH | SOUTH | WEST + connection north, Route10, ROUTE_10, 0 + connection south, Route12, ROUTE_12, 0 + connection west, Route8, ROUTE_8, 0 + end_map_header diff --git a/data/mapHeaders/LoreleisRoom.asm b/data/mapHeaders/LoreleisRoom.asm index d580d9fe..feff946c 100755 --- a/data/mapHeaders/LoreleisRoom.asm +++ b/data/mapHeaders/LoreleisRoom.asm @@ -1,8 +1,3 @@ -LoreleisRoom_h:: - db GYM ; tileset - db LORELEIS_ROOM_HEIGHT, LORELEIS_ROOM_WIDTH ; dimensions (y, x) - dw LoreleisRoom_Blocks ; blocks - dw LoreleisRoom_TextPointers ; texts - dw LoreleisRoom_Script ; scripts - db 0 ; connections - dw LoreleisRoom_Object ; objects + + map_header LoreleisRoom, LORELEIS_ROOM, GYM, 0 + end_map_header diff --git a/data/mapHeaders/MrFujisHouse.asm b/data/mapHeaders/MrFujisHouse.asm index ee82e49c..023cb501 100755 --- a/data/mapHeaders/MrFujisHouse.asm +++ b/data/mapHeaders/MrFujisHouse.asm @@ -1,8 +1,3 @@ -MrFujisHouse_h:: - db HOUSE ; tileset - db MR_FUJIS_HOUSE_HEIGHT, MR_FUJIS_HOUSE_WIDTH ; dimensions (y, x) - dw MrFujisHouse_Blocks ; blocks - dw MrFujisHouse_TextPointers ; texts - dw MrFujisHouse_Script ; scripts - db 0 ; connections - dw MrFujisHouse_Object ; objects + + map_header MrFujisHouse, MR_FUJIS_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/mapHeaders/MrPsychicsHouse.asm b/data/mapHeaders/MrPsychicsHouse.asm index ec559ec7..628db044 100755 --- a/data/mapHeaders/MrPsychicsHouse.asm +++ b/data/mapHeaders/MrPsychicsHouse.asm @@ -1,8 +1,3 @@ -MrPsychicsHouse_h:: - db HOUSE ; tileset - db MR_PSYCHICS_HOUSE_HEIGHT, MR_PSYCHICS_HOUSE_WIDTH ; dimensions (y, x) - dw MrPsychicsHouse_Blocks ; blocks - dw MrPsychicsHouse_TextPointers ; texts - dw MrPsychicsHouse_Script ; scripts - db 0 ; connections - dw MrPsychicsHouse_Object ; objects + + map_header MrPsychicsHouse, MR_PSYCHICS_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/mapHeaders/MtMoon1F.asm b/data/mapHeaders/MtMoon1F.asm index 37c0ba59..8de2be3e 100755 --- a/data/mapHeaders/MtMoon1F.asm +++ b/data/mapHeaders/MtMoon1F.asm @@ -1,8 +1,3 @@ -MtMoon1F_h:: - db CAVERN ; tileset - db MT_MOON_1F_HEIGHT, MT_MOON_1F_WIDTH ; dimensions (y, x) - dw MtMoon1F_Blocks ; blocks - dw MtMoon1F_TextPointers ; texts - dw MtMoon1F_Script ; scripts - db 0 ; connections - dw MtMoon1F_Object ; objects + + map_header MtMoon1F, MT_MOON_1F, CAVERN, 0 + end_map_header diff --git a/data/mapHeaders/MtMoonB1F.asm b/data/mapHeaders/MtMoonB1F.asm index c14d35d0..9c97b5c7 100755 --- a/data/mapHeaders/MtMoonB1F.asm +++ b/data/mapHeaders/MtMoonB1F.asm @@ -1,8 +1,3 @@ -MtMoonB1F_h:: - db CAVERN ; tileset - db MT_MOON_B1F_HEIGHT, MT_MOON_B1F_WIDTH ; dimensions (y, x) - dw MtMoonB1F_Blocks ; blocks - dw MtMoonB1F_TextPointers ; texts - dw MtMoonB1F_Script ; scripts - db 0 ; connections - dw MtMoonB1F_Object ; objects + + map_header MtMoonB1F, MT_MOON_B1F, CAVERN, 0 + end_map_header diff --git a/data/mapHeaders/MtMoonB2F.asm b/data/mapHeaders/MtMoonB2F.asm index cce8454b..0ed1f96e 100755 --- a/data/mapHeaders/MtMoonB2F.asm +++ b/data/mapHeaders/MtMoonB2F.asm @@ -1,8 +1,3 @@ -MtMoonB2F_h:: - db CAVERN ; tileset - db MT_MOON_B2F_HEIGHT, MT_MOON_B2F_WIDTH ; dimensions (y, x) - dw MtMoonB2F_Blocks ; blocks - dw MtMoonB2F_TextPointers ; texts - dw MtMoonB2F_Script ; scripts - db 0 ; connections - dw MtMoonB2F_Object ; objects + + map_header MtMoonB2F, MT_MOON_B2F, CAVERN, 0 + end_map_header diff --git a/data/mapHeaders/MtMoonPokecenter.asm b/data/mapHeaders/MtMoonPokecenter.asm index 31f7ec7a..0425eae7 100755 --- a/data/mapHeaders/MtMoonPokecenter.asm +++ b/data/mapHeaders/MtMoonPokecenter.asm @@ -1,8 +1,3 @@ -MtMoonPokecenter_h:: - db POKECENTER ; tileset - db MT_MOON_POKECENTER_HEIGHT, MT_MOON_POKECENTER_WIDTH ; dimensions (y, x) - dw MtMoonPokecenter_Blocks ; blocks - dw MtMoonPokecenter_TextPointers ; texts - dw MtMoonPokecenter_Script ; scripts - db 0 ; connections - dw MtMoonPokecenter_Object ; objects + + map_header MtMoonPokecenter, MT_MOON_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/mapHeaders/Museum1F.asm b/data/mapHeaders/Museum1F.asm index f0c967aa..d92176d2 100755 --- a/data/mapHeaders/Museum1F.asm +++ b/data/mapHeaders/Museum1F.asm @@ -1,8 +1,3 @@ -Museum1F_h:: - db MUSEUM ; tileset - db MUSEUM_1F_HEIGHT, MUSEUM_1F_WIDTH ; dimensions (y, x) - dw Museum1F_Blocks ; blocks - dw Museum1F_TextPointers ; texts - dw Museum1F_Script ; scripts - db 0 ; connections - dw Museum1F_Object ; objects + + map_header Museum1F, MUSEUM_1F, MUSEUM, 0 + end_map_header diff --git a/data/mapHeaders/Museum2F.asm b/data/mapHeaders/Museum2F.asm index 9ab38801..d5bf8918 100755 --- a/data/mapHeaders/Museum2F.asm +++ b/data/mapHeaders/Museum2F.asm @@ -1,8 +1,3 @@ -Museum2F_h:: - db MUSEUM ; tileset - db MUSEUM_2F_HEIGHT, MUSEUM_2F_WIDTH ; dimensions (y, x) - dw Museum2F_Blocks ; blocks - dw Museum2F_TextPointers ; texts - dw Museum2F_Script ; scripts - db 0 ; connections - dw Museum2F_Object ; objects + + map_header Museum2F, MUSEUM_2F, MUSEUM, 0 + end_map_header diff --git a/data/mapHeaders/NameRatersHouse.asm b/data/mapHeaders/NameRatersHouse.asm index a727b334..3f9010f0 100755 --- a/data/mapHeaders/NameRatersHouse.asm +++ b/data/mapHeaders/NameRatersHouse.asm @@ -1,8 +1,3 @@ -NameRatersHouse_h:: - db HOUSE ; tileset - db NAME_RATERS_HOUSE_HEIGHT, NAME_RATERS_HOUSE_WIDTH ; dimensions (y, x) - dw NameRatersHouse_Blocks ; blocks - dw NameRatersHouse_TextPointers ; texts - dw NameRatersHouse_Script ; scripts - db 0 ; connections - dw NameRatersHouse_Object ; objects + + map_header NameRatersHouse, NAME_RATERS_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/mapHeaders/OaksLab.asm b/data/mapHeaders/OaksLab.asm index ceee34eb..42bb76e8 100755 --- a/data/mapHeaders/OaksLab.asm +++ b/data/mapHeaders/OaksLab.asm @@ -1,8 +1,3 @@ -OaksLab_h:: - db DOJO ; tileset - db OAKS_LAB_HEIGHT, OAKS_LAB_WIDTH ; dimensions (y, x) - dw OaksLab_Blocks ; blocks - dw OaksLab_TextPointers ; texts - dw OaksLab_Script ; scripts - db 0 ; connections - dw OaksLab_Object ; objects + + map_header OaksLab, OAKS_LAB, DOJO, 0 + end_map_header diff --git a/data/mapHeaders/PalletTown.asm b/data/mapHeaders/PalletTown.asm index 72d138e7..2745bdc1 100755 --- a/data/mapHeaders/PalletTown.asm +++ b/data/mapHeaders/PalletTown.asm @@ -1,10 +1,5 @@ -PalletTown_h:: - db OVERWORLD ; tileset - db PALLET_TOWN_HEIGHT, PALLET_TOWN_WIDTH ; dimensions (y, x) - dw PalletTown_Blocks ; blocks - dw PalletTown_TextPointers ; texts - dw PalletTown_Script ; scripts - db NORTH | SOUTH ; connections - NORTH_MAP_CONNECTION PALLET_TOWN, ROUTE_1, 0, 0, Route1_Blocks - SOUTH_MAP_CONNECTION PALLET_TOWN, ROUTE_21, 0, 0, Route21_Blocks, 1 - dw PalletTown_Object ; objects + + map_header PalletTown, PALLET_TOWN, OVERWORLD, NORTH | SOUTH + connection north, Route1, ROUTE_1, 0 + connection south, Route21, ROUTE_21, 0 + end_map_header diff --git a/data/mapHeaders/PewterCity.asm b/data/mapHeaders/PewterCity.asm index 17d1d2f3..268adb7a 100755 --- a/data/mapHeaders/PewterCity.asm +++ b/data/mapHeaders/PewterCity.asm @@ -1,10 +1,5 @@ -PewterCity_h:: - db OVERWORLD ; tileset - db PEWTER_CITY_HEIGHT, PEWTER_CITY_WIDTH ; dimensions (y, x) - dw PewterCity_Blocks ; blocks - dw PewterCity_TextPointers ; texts - dw PewterCity_Script ; scripts - db SOUTH | EAST ; connections - SOUTH_MAP_CONNECTION PEWTER_CITY, ROUTE_2, 5, 0, Route2_Blocks - EAST_MAP_CONNECTION PEWTER_CITY, ROUTE_3, 4, 0, Route3_Blocks - dw PewterCity_Object ; objects + + map_header PewterCity, PEWTER_CITY, OVERWORLD, SOUTH | EAST + connection south, Route2, ROUTE_2, 5 + connection east, Route3, ROUTE_3, 4 + end_map_header diff --git a/data/mapHeaders/PewterGym.asm b/data/mapHeaders/PewterGym.asm index 94cdd401..a1659e42 100755 --- a/data/mapHeaders/PewterGym.asm +++ b/data/mapHeaders/PewterGym.asm @@ -1,8 +1,3 @@ -PewterGym_h:: - db GYM ; tileset - db PEWTER_GYM_HEIGHT, PEWTER_GYM_WIDTH ; dimensions (y, x) - dw PewterGym_Blocks ; blocks - dw PewterGym_TextPointers ; texts - dw PewterGym_Script ; scripts - db 0 ; connections - dw PewterGym_Object ; objects + + map_header PewterGym, PEWTER_GYM, GYM, 0 + end_map_header diff --git a/data/mapHeaders/PewterMart.asm b/data/mapHeaders/PewterMart.asm index 962634f4..c9b24eb2 100755 --- a/data/mapHeaders/PewterMart.asm +++ b/data/mapHeaders/PewterMart.asm @@ -1,8 +1,3 @@ -PewterMart_h:: - db MART ; tileset - db PEWTER_MART_HEIGHT, PEWTER_MART_WIDTH ; dimensions (y, x) - dw PewterMart_Blocks ; blocks - dw PewterMart_TextPointers ; texts - dw PewterMart_Script ; scripts - db 0 ; connections - dw PewterMart_Object ; objects + + map_header PewterMart, PEWTER_MART, MART, 0 + end_map_header diff --git a/data/mapHeaders/PewterNidoranHouse.asm b/data/mapHeaders/PewterNidoranHouse.asm index 9900360b..ee2e46ca 100755 --- a/data/mapHeaders/PewterNidoranHouse.asm +++ b/data/mapHeaders/PewterNidoranHouse.asm @@ -1,8 +1,3 @@ -PewterNidoranHouse_h:: - db HOUSE ; tileset - db PEWTER_NIDORAN_HOUSE_HEIGHT, PEWTER_NIDORAN_HOUSE_WIDTH ; dimensions (y, x) - dw PewterNidoranHouse_Blocks ; blocks - dw PewterNidoranHouse_TextPointers ; texts - dw PewterNidoranHouse_Script ; scripts - db 0 ; connections - dw PewterNidoranHouse_Object ; objects + + map_header PewterNidoranHouse, PEWTER_NIDORAN_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/mapHeaders/PewterPokecenter.asm b/data/mapHeaders/PewterPokecenter.asm index 5738cb64..4e420bf8 100755 --- a/data/mapHeaders/PewterPokecenter.asm +++ b/data/mapHeaders/PewterPokecenter.asm @@ -1,8 +1,3 @@ -PewterPokecenter_h:: - db POKECENTER ; tileset - db PEWTER_POKECENTER_HEIGHT, PEWTER_POKECENTER_WIDTH ; dimensions (y, x) - dw PewterPokecenter_Blocks ; blocks - dw PewterPokecenter_TextPointers ; texts - dw PewterPokecenter_Script ; scripts - db 0 ; connections - dw PewterPokecenter_Object ; objects + + map_header PewterPokecenter, PEWTER_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/mapHeaders/PewterSpeechHouse.asm b/data/mapHeaders/PewterSpeechHouse.asm index 9cc2d360..a378d61e 100755 --- a/data/mapHeaders/PewterSpeechHouse.asm +++ b/data/mapHeaders/PewterSpeechHouse.asm @@ -1,8 +1,3 @@ -PewterSpeechHouse_h:: - db HOUSE ; tileset - db PEWTER_SPEECH_HOUSE_HEIGHT, PEWTER_SPEECH_HOUSE_WIDTH ; dimensions (y, x) - dw PewterSpeechHouse_Blocks ; blocks - dw PewterSpeechHouse_TextPointers ; texts - dw PewterSpeechHouse_Script ; scripts - db 0 ; connections - dw PewterSpeechHouse_Object ; objects + + map_header PewterSpeechHouse, PEWTER_SPEECH_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/mapHeaders/PokemonFanClub.asm b/data/mapHeaders/PokemonFanClub.asm index 251ac2c4..b4ff8e1c 100755 --- a/data/mapHeaders/PokemonFanClub.asm +++ b/data/mapHeaders/PokemonFanClub.asm @@ -1,8 +1,3 @@ -PokemonFanClub_h:: - db INTERIOR ; tileset - db POKEMON_FAN_CLUB_HEIGHT, POKEMON_FAN_CLUB_WIDTH ; dimensions (y, x) - dw PokemonFanClub_Blocks ; blocks - dw PokemonFanClub_TextPointers ; texts - dw PokemonFanClub_Script ; scripts - db 0 ; connections - dw PokemonFanClub_Object ; objects + + map_header PokemonFanClub, POKEMON_FAN_CLUB, INTERIOR, 0 + end_map_header diff --git a/data/mapHeaders/PokemonMansion1F.asm b/data/mapHeaders/PokemonMansion1F.asm index b3bebb5f..9407f956 100755 --- a/data/mapHeaders/PokemonMansion1F.asm +++ b/data/mapHeaders/PokemonMansion1F.asm @@ -1,8 +1,3 @@ -PokemonMansion1F_h:: - db FACILITY ; tileset - db POKEMON_MANSION_1F_HEIGHT, POKEMON_MANSION_1F_WIDTH ; dimensions (y, x) - dw PokemonMansion1F_Blocks ; blocks - dw PokemonMansion1F_TextPointers ; texts - dw PokemonMansion1F_Script ; scripts - db 0 ; connections - dw PokemonMansion1F_Object ; objects + + map_header PokemonMansion1F, POKEMON_MANSION_1F, FACILITY, 0 + end_map_header diff --git a/data/mapHeaders/PokemonMansion2F.asm b/data/mapHeaders/PokemonMansion2F.asm index d532db2a..deb7c84f 100755 --- a/data/mapHeaders/PokemonMansion2F.asm +++ b/data/mapHeaders/PokemonMansion2F.asm @@ -1,8 +1,3 @@ -PokemonMansion2F_h:: - db FACILITY ; tileset - db POKEMON_MANSION_2F_HEIGHT, POKEMON_MANSION_2F_WIDTH ; dimensions (y, x) - dw PokemonMansion2F_Blocks ; blocks - dw PokemonMansion2F_TextPointers ; texts - dw PokemonMansion2F_Script ; scripts - db 0 ; connections - dw PokemonMansion2F_Object ; objects + + map_header PokemonMansion2F, POKEMON_MANSION_2F, FACILITY, 0 + end_map_header diff --git a/data/mapHeaders/PokemonMansion3F.asm b/data/mapHeaders/PokemonMansion3F.asm index e8887551..e4baa709 100755 --- a/data/mapHeaders/PokemonMansion3F.asm +++ b/data/mapHeaders/PokemonMansion3F.asm @@ -1,8 +1,3 @@ -PokemonMansion3F_h:: - db FACILITY ; tileset - db POKEMON_MANSION_3F_HEIGHT, POKEMON_MANSION_3F_WIDTH ; dimensions (y, x) - dw PokemonMansion3F_Blocks ; blocks - dw PokemonMansion3F_TextPointers ; texts - dw PokemonMansion3F_Script ; scripts - db 0 ; connections - dw PokemonMansion3F_Object ; objects + + map_header PokemonMansion3F, POKEMON_MANSION_3F, FACILITY, 0 + end_map_header diff --git a/data/mapHeaders/PokemonMansionB1F.asm b/data/mapHeaders/PokemonMansionB1F.asm index 08ec13f4..0aae67e6 100755 --- a/data/mapHeaders/PokemonMansionB1F.asm +++ b/data/mapHeaders/PokemonMansionB1F.asm @@ -1,8 +1,3 @@ -PokemonMansionB1F_h:: - db FACILITY ; tileset - db POKEMON_MANSION_B1F_HEIGHT, POKEMON_MANSION_B1F_WIDTH ; dimensions (y, x) - dw PokemonMansionB1F_Blocks ; blocks - dw PokemonMansionB1F_TextPointers ; texts - dw PokemonMansionB1F_Script ; scripts - db 0 ; connections - dw PokemonMansionB1F_Object ; objects + + map_header PokemonMansionB1F, POKEMON_MANSION_B1F, FACILITY, 0 + end_map_header diff --git a/data/mapHeaders/PokemonTower1F.asm b/data/mapHeaders/PokemonTower1F.asm index 99b129e8..185fd2c0 100755 --- a/data/mapHeaders/PokemonTower1F.asm +++ b/data/mapHeaders/PokemonTower1F.asm @@ -1,8 +1,3 @@ -PokemonTower1F_h:: - db CEMETERY ; tileset - db POKEMON_TOWER_1F_HEIGHT, POKEMON_TOWER_1F_WIDTH ; dimensions (y, x) - dw PokemonTower1F_Blocks ; blocks - dw PokemonTower1F_TextPointers ; texts - dw PokemonTower1F_Script ; scripts - db 0 ; connections - dw PokemonTower1F_Object ; objects + + map_header PokemonTower1F, POKEMON_TOWER_1F, CEMETERY, 0 + end_map_header diff --git a/data/mapHeaders/PokemonTower2F.asm b/data/mapHeaders/PokemonTower2F.asm index ce0ea13d..5a6046c8 100755 --- a/data/mapHeaders/PokemonTower2F.asm +++ b/data/mapHeaders/PokemonTower2F.asm @@ -1,8 +1,3 @@ -PokemonTower2F_h:: - db CEMETERY ; tileset - db POKEMON_TOWER_2F_HEIGHT, POKEMON_TOWER_2F_WIDTH ; dimensions (y, x) - dw PokemonTower2F_Blocks ; blocks - dw PokemonTower2F_TextPointers ; texts - dw PokemonTower2F_Script ; scripts - db 0 ; connections - dw PokemonTower2F_Object ; objects + + map_header PokemonTower2F, POKEMON_TOWER_2F, CEMETERY, 0 + end_map_header diff --git a/data/mapHeaders/PokemonTower3F.asm b/data/mapHeaders/PokemonTower3F.asm index a495b30f..49ebc4e7 100755 --- a/data/mapHeaders/PokemonTower3F.asm +++ b/data/mapHeaders/PokemonTower3F.asm @@ -1,8 +1,3 @@ -PokemonTower3F_h:: - db CEMETERY ; tileset - db POKEMON_TOWER_3F_HEIGHT, POKEMON_TOWER_3F_WIDTH ; dimensions (y, x) - dw PokemonTower3F_Blocks ; blocks - dw PokemonTower3F_TextPointers ; texts - dw PokemonTower3F_Script ; scripts - db 0 ; connections - dw PokemonTower3F_Object ; objects + + map_header PokemonTower3F, POKEMON_TOWER_3F, CEMETERY, 0 + end_map_header diff --git a/data/mapHeaders/PokemonTower4F.asm b/data/mapHeaders/PokemonTower4F.asm index b6932406..0eb9a0d6 100755 --- a/data/mapHeaders/PokemonTower4F.asm +++ b/data/mapHeaders/PokemonTower4F.asm @@ -1,8 +1,3 @@ -PokemonTower4F_h:: - db CEMETERY ; tileset - db POKEMON_TOWER_4F_HEIGHT, POKEMON_TOWER_4F_WIDTH ; dimensions (y, x) - dw PokemonTower4F_Blocks ; blocks - dw PokemonTower4F_TextPointers ; texts - dw PokemonTower4F_Script ; scripts - db 0 ; connections - dw PokemonTower4F_Object ; objects + + map_header PokemonTower4F, POKEMON_TOWER_4F, CEMETERY, 0 + end_map_header diff --git a/data/mapHeaders/PokemonTower5F.asm b/data/mapHeaders/PokemonTower5F.asm index f51e6990..e58c63c6 100755 --- a/data/mapHeaders/PokemonTower5F.asm +++ b/data/mapHeaders/PokemonTower5F.asm @@ -1,8 +1,3 @@ -PokemonTower5F_h:: - db CEMETERY ; tileset - db POKEMON_TOWER_5F_HEIGHT, POKEMON_TOWER_5F_WIDTH ; dimensions (y, x) - dw PokemonTower5F_Blocks ; blocks - dw PokemonTower5F_TextPointers ; texts - dw PokemonTower5F_Script ; scripts - db 0 ; connections - dw PokemonTower5F_Object ; objects + + map_header PokemonTower5F, POKEMON_TOWER_5F, CEMETERY, 0 + end_map_header diff --git a/data/mapHeaders/PokemonTower6F.asm b/data/mapHeaders/PokemonTower6F.asm index 5fa1a035..ba53347b 100755 --- a/data/mapHeaders/PokemonTower6F.asm +++ b/data/mapHeaders/PokemonTower6F.asm @@ -1,8 +1,3 @@ -PokemonTower6F_h:: - db CEMETERY ; tileset - db POKEMON_TOWER_6F_HEIGHT, POKEMON_TOWER_6F_WIDTH ; dimensions (y, x) - dw PokemonTower6F_Blocks ; blocks - dw PokemonTower6F_TextPointers ; texts - dw PokemonTower6F_Script ; scripts - db 0 ; connections - dw PokemonTower6F_Object ; objects + + map_header PokemonTower6F, POKEMON_TOWER_6F, CEMETERY, 0 + end_map_header diff --git a/data/mapHeaders/PokemonTower7F.asm b/data/mapHeaders/PokemonTower7F.asm index 90fc1d8b..bd9f839b 100755 --- a/data/mapHeaders/PokemonTower7F.asm +++ b/data/mapHeaders/PokemonTower7F.asm @@ -1,8 +1,3 @@ -PokemonTower7F_h:: - db CEMETERY ; tileset - db POKEMON_TOWER_7F_HEIGHT, POKEMON_TOWER_7F_WIDTH ; dimensions (y, x) - dw PokemonTower7F_Blocks ; blocks - dw PokemonTower7F_TextPointers ; texts - dw PokemonTower7F_Script ; scripts - db 0 ; connections - dw PokemonTower7F_Object ; objects + + map_header PokemonTower7F, POKEMON_TOWER_7F, CEMETERY, 0 + end_map_header diff --git a/data/mapHeaders/PowerPlant.asm b/data/mapHeaders/PowerPlant.asm index 3cb4efcd..88d82ae2 100755 --- a/data/mapHeaders/PowerPlant.asm +++ b/data/mapHeaders/PowerPlant.asm @@ -1,8 +1,3 @@ -PowerPlant_h:: - db FACILITY ; tileset - db POWER_PLANT_HEIGHT, POWER_PLANT_WIDTH ; dimensions (y, x) - dw PowerPlant_Blocks ; blocks - dw PowerPlant_TextPointers ; texts - dw PowerPlant_Script ; scripts - db 0 ; connections - dw PowerPlant_Object ; objects + + map_header PowerPlant, POWER_PLANT, FACILITY, 0 + end_map_header diff --git a/data/mapHeaders/RedsHouse1F.asm b/data/mapHeaders/RedsHouse1F.asm index b13008ae..018bdc80 100755 --- a/data/mapHeaders/RedsHouse1F.asm +++ b/data/mapHeaders/RedsHouse1F.asm @@ -1,8 +1,3 @@ -RedsHouse1F_h:: - db REDS_HOUSE_1 ; tileset - db REDS_HOUSE_1F_HEIGHT, REDS_HOUSE_1F_WIDTH ; dimensions (y, x) - dw RedsHouse1F_Blocks ; blocks - dw RedsHouse1F_TextPointers ; texts - dw RedsHouse1F_Script ; scripts - db 0 ; connections - dw RedsHouse1F_Object ; objects + + map_header RedsHouse1F, REDS_HOUSE_1F, REDS_HOUSE_1, 0 + end_map_header diff --git a/data/mapHeaders/RedsHouse2F.asm b/data/mapHeaders/RedsHouse2F.asm index 8824ebf2..10332e2c 100755 --- a/data/mapHeaders/RedsHouse2F.asm +++ b/data/mapHeaders/RedsHouse2F.asm @@ -1,8 +1,3 @@ -RedsHouse2F_h:: - db REDS_HOUSE_2 ; tileset - db REDS_HOUSE_2F_HEIGHT, REDS_HOUSE_2F_WIDTH ; dimensions (y, x) - dw RedsHouse2F_Blocks ; blocks - dw RedsHouse2F_TextPointers ; texts - dw RedsHouse2F_Script ; scripts - db $00 ; connections - dw RedsHouse2F_Object ; objects + + map_header RedsHouse2F, REDS_HOUSE_2F, REDS_HOUSE_2, $00 + end_map_header diff --git a/data/mapHeaders/RockTunnel1F.asm b/data/mapHeaders/RockTunnel1F.asm index 8dd5929b..268ee645 100755 --- a/data/mapHeaders/RockTunnel1F.asm +++ b/data/mapHeaders/RockTunnel1F.asm @@ -1,8 +1,3 @@ -RockTunnel1F_h:: - db CAVERN ; tileset - db ROCK_TUNNEL_1F_HEIGHT, ROCK_TUNNEL_1F_WIDTH ; dimensions (y, x) - dw RockTunnel1F_Blocks ; blocks - dw RockTunnel1F_TextPointers ; texts - dw RockTunnel1F_Script ; scripts - db 0 ; connections - dw RockTunnel1F_Object ; objects + + map_header RockTunnel1F, ROCK_TUNNEL_1F, CAVERN, 0 + end_map_header diff --git a/data/mapHeaders/RockTunnelB1F.asm b/data/mapHeaders/RockTunnelB1F.asm index 36cd7f37..7b13f647 100755 --- a/data/mapHeaders/RockTunnelB1F.asm +++ b/data/mapHeaders/RockTunnelB1F.asm @@ -1,8 +1,3 @@ -RockTunnelB1F_h:: - db CAVERN ; tileset - db ROCK_TUNNEL_B1F_HEIGHT, ROCK_TUNNEL_B1F_WIDTH ; dimensions (y, x) - dw RockTunnelB1F_Blocks ; blocks - dw RockTunnelB1F_TextPointers ; texts - dw RockTunnelB1F_Script ; scripts - db 0 ; connections - dw RockTunnelB1F_Object ; objects + + map_header RockTunnelB1F, ROCK_TUNNEL_B1F, CAVERN, 0 + end_map_header diff --git a/data/mapHeaders/RockTunnelPokecenter.asm b/data/mapHeaders/RockTunnelPokecenter.asm index 3d0bbed0..a873854b 100755 --- a/data/mapHeaders/RockTunnelPokecenter.asm +++ b/data/mapHeaders/RockTunnelPokecenter.asm @@ -1,8 +1,3 @@ -RockTunnelPokecenter_h:: - db POKECENTER ; tileset - db ROCK_TUNNEL_POKECENTER_HEIGHT, ROCK_TUNNEL_POKECENTER_WIDTH ; dimensions (y, x) - dw RockTunnelPokecenter_Blocks ; blocks - dw RockTunnelPokecenter_TextPointers ; texts - dw RockTunnelPokecenter_Script ; scripts - db 0 ; connections - dw RockTunnelPokecenter_Object ; objects + + map_header RockTunnelPokecenter, ROCK_TUNNEL_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/mapHeaders/RocketHideoutB1F.asm b/data/mapHeaders/RocketHideoutB1F.asm index 4d875a1b..521a6693 100755 --- a/data/mapHeaders/RocketHideoutB1F.asm +++ b/data/mapHeaders/RocketHideoutB1F.asm @@ -1,8 +1,3 @@ -RocketHideoutB1F_h:: - db FACILITY ; tileset - db ROCKET_HIDEOUT_B1F_HEIGHT, ROCKET_HIDEOUT_B1F_WIDTH ; dimensions (y, x) - dw RocketHideoutB1F_Blocks ; blocks - dw RocketHideoutB1F_TextPointers ; texts - dw RocketHideoutB1F_Script ; scripts - db 0 ; connections - dw RocketHideoutB1F_Object ; objects + + map_header RocketHideoutB1F, ROCKET_HIDEOUT_B1F, FACILITY, 0 + end_map_header diff --git a/data/mapHeaders/RocketHideoutB2F.asm b/data/mapHeaders/RocketHideoutB2F.asm index 0d56f2a1..ab2a965d 100755 --- a/data/mapHeaders/RocketHideoutB2F.asm +++ b/data/mapHeaders/RocketHideoutB2F.asm @@ -1,8 +1,3 @@ -RocketHideoutB2F_h:: - db FACILITY ; tileset - db ROCKET_HIDEOUT_B2F_HEIGHT, ROCKET_HIDEOUT_B2F_WIDTH ; dimensions (y, x) - dw RocketHideoutB2F_Blocks ; blocks - dw RocketHideoutB2F_TextPointers ; texts - dw RocketHideoutB2F_Script ; scripts - db 0 ; connections - dw RocketHideoutB2F_Object ; objects + + map_header RocketHideoutB2F, ROCKET_HIDEOUT_B2F, FACILITY, 0 + end_map_header diff --git a/data/mapHeaders/RocketHideoutB3F.asm b/data/mapHeaders/RocketHideoutB3F.asm index e71fcff1..0a04b00e 100755 --- a/data/mapHeaders/RocketHideoutB3F.asm +++ b/data/mapHeaders/RocketHideoutB3F.asm @@ -1,8 +1,3 @@ -RocketHideoutB3F_h:: - db FACILITY ; tileset - db ROCKET_HIDEOUT_B3F_HEIGHT, ROCKET_HIDEOUT_B3F_WIDTH ; dimensions (y, x) - dw RocketHideoutB3F_Blocks ; blocks - dw RocketHideoutB3F_TextPointers ; texts - dw RocketHideoutB3F_Script ; scripts - db 0 ; connections - dw RocketHideoutB3F_Object ; objects + + map_header RocketHideoutB3F, ROCKET_HIDEOUT_B3F, FACILITY, 0 + end_map_header diff --git a/data/mapHeaders/RocketHideoutB4F.asm b/data/mapHeaders/RocketHideoutB4F.asm index 05ad471a..11512c01 100755 --- a/data/mapHeaders/RocketHideoutB4F.asm +++ b/data/mapHeaders/RocketHideoutB4F.asm @@ -1,8 +1,3 @@ -RocketHideoutB4F_h:: - db FACILITY ; tileset - db ROCKET_HIDEOUT_B4F_HEIGHT, ROCKET_HIDEOUT_B4F_WIDTH ; dimensions (y, x) - dw RocketHideoutB4F_Blocks ; blocks - dw RocketHideoutB4F_TextPointers ; texts - dw RocketHideoutB4F_Script ; scripts - db 0 ; connections - dw RocketHideoutB4F_Object ; objects + + map_header RocketHideoutB4F, ROCKET_HIDEOUT_B4F, FACILITY, 0 + end_map_header diff --git a/data/mapHeaders/RocketHideoutElevator.asm b/data/mapHeaders/RocketHideoutElevator.asm index 6221dddd..90ece237 100755 --- a/data/mapHeaders/RocketHideoutElevator.asm +++ b/data/mapHeaders/RocketHideoutElevator.asm @@ -1,8 +1,3 @@ -RocketHideoutElevator_h:: - db LOBBY ; tileset - db ROCKET_HIDEOUT_ELEVATOR_HEIGHT, ROCKET_HIDEOUT_ELEVATOR_WIDTH ; dimensions (y, x) - dw RocketHideoutElevator_Blocks ; blocks - dw RocketHideoutElevator_TextPointers ; texts - dw RocketHideoutElevator_Script ; scripts - db 0 ; connections - dw RocketHideoutElevator_Object ; objects + + map_header RocketHideoutElevator, ROCKET_HIDEOUT_ELEVATOR, LOBBY, 0 + end_map_header diff --git a/data/mapHeaders/Route1.asm b/data/mapHeaders/Route1.asm index 20d389ab..6eeb0347 100755 --- a/data/mapHeaders/Route1.asm +++ b/data/mapHeaders/Route1.asm @@ -1,10 +1,5 @@ -Route1_h:: - db OVERWORLD ; tileset - db ROUTE_1_HEIGHT, ROUTE_1_WIDTH ; dimensions (y, x) - dw Route1_Blocks ; blocks - dw Route1_TextPointers ; texts - dw Route1_Script ; scripts - db NORTH | SOUTH ; connections - NORTH_MAP_CONNECTION ROUTE_1, VIRIDIAN_CITY, -3, 2, ViridianCity_Blocks - SOUTH_MAP_CONNECTION ROUTE_1, PALLET_TOWN, 0, 0, PalletTown_Blocks, 1 - dw Route1_Object ; objects + + map_header Route1, ROUTE_1, OVERWORLD, NORTH | SOUTH + connection north, ViridianCity, VIRIDIAN_CITY, -5 + connection south, PalletTown, PALLET_TOWN, 0 + end_map_header diff --git a/data/mapHeaders/Route10.asm b/data/mapHeaders/Route10.asm index 5759483b..ba498b0a 100755 --- a/data/mapHeaders/Route10.asm +++ b/data/mapHeaders/Route10.asm @@ -1,10 +1,5 @@ -Route10_h:: - db OVERWORLD ; tileset - db ROUTE_10_HEIGHT, ROUTE_10_WIDTH ; dimensions (y, x) - dw Route10_Blocks ; blocks - dw Route10_TextPointers ; texts - dw Route10_Script ; scripts - db SOUTH | WEST ; connections - SOUTH_MAP_CONNECTION ROUTE_10, LAVENDER_TOWN, 0, 0, LavenderTown_Blocks - WEST_MAP_CONNECTION ROUTE_10, ROUTE_9, 0, 0, Route9_Blocks - dw Route10_Object ; objects + + map_header Route10, ROUTE_10, OVERWORLD, SOUTH | WEST + connection south, LavenderTown, LAVENDER_TOWN, 0 + connection west, Route9, ROUTE_9, 0 + end_map_header diff --git a/data/mapHeaders/Route11.asm b/data/mapHeaders/Route11.asm index 6b95cebc..d8f2e72f 100755 --- a/data/mapHeaders/Route11.asm +++ b/data/mapHeaders/Route11.asm @@ -1,10 +1,5 @@ -Route11_h:: - db OVERWORLD ; tileset - db ROUTE_11_HEIGHT, ROUTE_11_WIDTH ; dimensions (y, x) - dw Route11_Blocks ; blocks - dw Route11_TextPointers ; texts - dw Route11_Script ; scripts - db WEST | EAST ; connections - WEST_MAP_CONNECTION ROUTE_11, VERMILION_CITY, -3, 1, VermilionCity_Blocks - EAST_MAP_CONNECTION ROUTE_11, ROUTE_12, -3, 24, Route12_Blocks, 1 - dw Route11_Object ; objects + + map_header Route11, ROUTE_11, OVERWORLD, WEST | EAST + connection west, VermilionCity, VERMILION_CITY, -4 + connection east, Route12, ROUTE_12, -27 + end_map_header diff --git a/data/mapHeaders/Route11Gate1F.asm b/data/mapHeaders/Route11Gate1F.asm index 0f26b117..aa97b791 100755 --- a/data/mapHeaders/Route11Gate1F.asm +++ b/data/mapHeaders/Route11Gate1F.asm @@ -1,8 +1,3 @@ -Route11Gate1F_h:: - db GATE ; tileset - db ROUTE_11_GATE_1F_HEIGHT, ROUTE_11_GATE_1F_WIDTH ; dimensions (y, x) - dw Route11Gate1F_Blocks ; blocks - dw Route11Gate1F_TextPointers ; texts - dw Route11Gate1F_Script ; scripts - db 0 ; connections - dw Route11Gate1F_Object ; objects + + map_header Route11Gate1F, ROUTE_11_GATE_1F, GATE, 0 + end_map_header diff --git a/data/mapHeaders/Route11Gate2F.asm b/data/mapHeaders/Route11Gate2F.asm index b408b5a7..560d38db 100755 --- a/data/mapHeaders/Route11Gate2F.asm +++ b/data/mapHeaders/Route11Gate2F.asm @@ -1,8 +1,3 @@ -Route11Gate2F_h:: - db GATE ; tileset - db ROUTE_11_GATE_2F_HEIGHT, ROUTE_11_GATE_2F_WIDTH ; dimensions (y, x) - dw Route11Gate2F_Blocks ; blocks - dw Route11Gate2F_TextPointers ; texts - dw Route11Gate2F_Script ; scripts - db 0 ; connections - dw Route11Gate2F_Object ; objects + + map_header Route11Gate2F, ROUTE_11_GATE_2F, GATE, 0 + end_map_header diff --git a/data/mapHeaders/Route12.asm b/data/mapHeaders/Route12.asm index 284105fa..931ddf1d 100755 --- a/data/mapHeaders/Route12.asm +++ b/data/mapHeaders/Route12.asm @@ -1,11 +1,6 @@ -Route12_h:: - db OVERWORLD ; tileset - db ROUTE_12_HEIGHT, ROUTE_12_WIDTH ; dimensions (y, x) - dw Route12_Blocks ; blocks - dw Route12_TextPointers ; texts - dw Route12_Script ; scripts - db NORTH | SOUTH | WEST ; connections - NORTH_MAP_CONNECTION ROUTE_12, LAVENDER_TOWN, 0, 0, LavenderTown_Blocks - SOUTH_MAP_CONNECTION ROUTE_12, ROUTE_13, -3, 17, Route13_Blocks - WEST_MAP_CONNECTION ROUTE_12, ROUTE_11, 27, 0, Route11_Blocks - dw Route12_Object ; objects + + map_header Route12, ROUTE_12, OVERWORLD, NORTH | SOUTH | WEST + connection north, LavenderTown, LAVENDER_TOWN, 0 + connection south, Route13, ROUTE_13, -20 + connection west, Route11, ROUTE_11, 27 + end_map_header diff --git a/data/mapHeaders/Route12Gate1F.asm b/data/mapHeaders/Route12Gate1F.asm index dbce0ab9..047a670c 100755 --- a/data/mapHeaders/Route12Gate1F.asm +++ b/data/mapHeaders/Route12Gate1F.asm @@ -1,8 +1,3 @@ -Route12Gate1F_h:: - db GATE ; tileset - db ROUTE_12_GATE_1F_HEIGHT, ROUTE_12_GATE_1F_WIDTH ; dimensions (y, x) - dw Route12Gate1F_Blocks ; blocks - dw Route12Gate1F_TextPointers ; texts - dw Route12Gate1F_Script ; scripts - db 0 ; connections - dw Route12Gate1F_Object ; objects + + map_header Route12Gate1F, ROUTE_12_GATE_1F, GATE, 0 + end_map_header diff --git a/data/mapHeaders/Route12Gate2F.asm b/data/mapHeaders/Route12Gate2F.asm index f4e2330d..e1366736 100755 --- a/data/mapHeaders/Route12Gate2F.asm +++ b/data/mapHeaders/Route12Gate2F.asm @@ -1,8 +1,3 @@ -Route12Gate2F_h:: - db GATE ; tileset - db ROUTE_12_GATE_2F_HEIGHT, ROUTE_12_GATE_2F_WIDTH ; dimensions (y, x) - dw Route12Gate2F_Blocks ; blocks - dw Route12Gate2F_TextPointers ; texts - dw Route12Gate2F_Script ; scripts - db 0 ; connections - dw Route12Gate2F_Object ; objects + + map_header Route12Gate2F, ROUTE_12_GATE_2F, GATE, 0 + end_map_header diff --git a/data/mapHeaders/Route12SuperRodHouse.asm b/data/mapHeaders/Route12SuperRodHouse.asm index 70357a3a..2195a9b1 100755 --- a/data/mapHeaders/Route12SuperRodHouse.asm +++ b/data/mapHeaders/Route12SuperRodHouse.asm @@ -1,8 +1,3 @@ -Route12SuperRodHouse_h:: - db HOUSE ; tileset - db ROUTE_12_SUPER_ROD_HOUSE_HEIGHT, ROUTE_12_SUPER_ROD_HOUSE_WIDTH ; dimensions (y, x) - dw Route12SuperRodHouse_Blocks ; blocks - dw Route12SuperRodHouse_TextPointers ; texts - dw Route12SuperRodHouse_Script ; scripts - db 0 ; connections - dw Route12SuperRodHouse_Object ; objects + + map_header Route12SuperRodHouse, ROUTE_12_SUPER_ROD_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/mapHeaders/Route13.asm b/data/mapHeaders/Route13.asm index fb85dd60..242aaa02 100755 --- a/data/mapHeaders/Route13.asm +++ b/data/mapHeaders/Route13.asm @@ -1,10 +1,5 @@ -Route13_h:: - db OVERWORLD ; tileset - db ROUTE_13_HEIGHT, ROUTE_13_WIDTH ; dimensions (y, x) - dw Route13_Blocks ; blocks - dw Route13_TextPointers ; texts - dw Route13_Script ; scripts - db NORTH | WEST ; connections - NORTH_MAP_CONNECTION ROUTE_13, ROUTE_12, 20, 0, Route12_Blocks - WEST_MAP_CONNECTION ROUTE_13, ROUTE_14, 0, 0, Route14_Blocks - dw Route13_Object ; objects + + map_header Route13, ROUTE_13, OVERWORLD, NORTH | WEST + connection north, Route12, ROUTE_12, 20 + connection west, Route14, ROUTE_14, 0 + end_map_header diff --git a/data/mapHeaders/Route14.asm b/data/mapHeaders/Route14.asm index d1484f6b..c0c39c56 100755 --- a/data/mapHeaders/Route14.asm +++ b/data/mapHeaders/Route14.asm @@ -1,10 +1,5 @@ -Route14_h:: - db OVERWORLD ; tileset - db ROUTE_14_HEIGHT, ROUTE_14_WIDTH ; dimensions (y, x) - dw Route14_Blocks ; blocks - dw Route14_TextPointers ; texts - dw Route14_Script ; scripts - db WEST | EAST ; connections - WEST_MAP_CONNECTION ROUTE_14, ROUTE_15, 18, 0, Route15_Blocks - EAST_MAP_CONNECTION ROUTE_14, ROUTE_13, 0, 0, Route13_Blocks - dw Route14_Object ; objects + + map_header Route14, ROUTE_14, OVERWORLD, WEST | EAST + connection west, Route15, ROUTE_15, 18 + connection east, Route13, ROUTE_13, 0 + end_map_header diff --git a/data/mapHeaders/Route15.asm b/data/mapHeaders/Route15.asm index 5f66a521..28a811d2 100755 --- a/data/mapHeaders/Route15.asm +++ b/data/mapHeaders/Route15.asm @@ -1,10 +1,5 @@ -Route15_h:: - db OVERWORLD ; tileset - db ROUTE_15_HEIGHT, ROUTE_15_WIDTH ; dimensions (y, x) - dw Route15_Blocks ; blocks - dw Route15_TextPointers ; texts - dw Route15_Script ; scripts - db WEST | EAST ; connections - WEST_MAP_CONNECTION ROUTE_15, FUCHSIA_CITY, -3, 1, FuchsiaCity_Blocks - EAST_MAP_CONNECTION ROUTE_15, ROUTE_14, -3, 15, Route14_Blocks - dw Route15_Object ; objects + + map_header Route15, ROUTE_15, OVERWORLD, WEST | EAST + connection west, FuchsiaCity, FUCHSIA_CITY, -4 + connection east, Route14, ROUTE_14, -18 + end_map_header diff --git a/data/mapHeaders/Route15Gate1F.asm b/data/mapHeaders/Route15Gate1F.asm index d3f5a377..a23d15a0 100755 --- a/data/mapHeaders/Route15Gate1F.asm +++ b/data/mapHeaders/Route15Gate1F.asm @@ -1,8 +1,3 @@ -Route15Gate1F_h:: - db GATE ; tileset - db ROUTE_15_GATE_1F_HEIGHT, ROUTE_15_GATE_1F_WIDTH ; dimensions (y, x) - dw Route15Gate1F_Blocks ; blocks - dw Route15Gate1F_TextPointers ; texts - dw Route15Gate1F_Script ; scripts - db 0 ; connections - dw Route15Gate1F_Object ; objects + + map_header Route15Gate1F, ROUTE_15_GATE_1F, GATE, 0 + end_map_header diff --git a/data/mapHeaders/Route15Gate2F.asm b/data/mapHeaders/Route15Gate2F.asm index 87b05105..8ca89872 100755 --- a/data/mapHeaders/Route15Gate2F.asm +++ b/data/mapHeaders/Route15Gate2F.asm @@ -1,8 +1,3 @@ -Route15Gate2F_h:: - db GATE ; tileset - db ROUTE_15_GATE_2F_HEIGHT, ROUTE_15_GATE_2F_WIDTH ; dimensions (y, x) - dw Route15Gate2F_Blocks ; blocks - dw Route15Gate2F_TextPointers ; texts - dw Route15Gate2F_Script ; scripts - db 0 ; connections - dw Route15Gate2F_Object ; objects + + map_header Route15Gate2F, ROUTE_15_GATE_2F, GATE, 0 + end_map_header diff --git a/data/mapHeaders/Route16.asm b/data/mapHeaders/Route16.asm index be436134..423c7af2 100755 --- a/data/mapHeaders/Route16.asm +++ b/data/mapHeaders/Route16.asm @@ -1,10 +1,5 @@ -Route16_h:: - db OVERWORLD ; tileset - db ROUTE_16_HEIGHT, ROUTE_16_WIDTH ; dimensions (y, x) - dw Route16_Blocks ; blocks - dw Route16_TextPointers ; texts - dw Route16_Script ; scripts - db SOUTH | EAST ; connections - SOUTH_MAP_CONNECTION ROUTE_16, ROUTE_17, 0, 0, Route17_Blocks - EAST_MAP_CONNECTION ROUTE_16, CELADON_CITY, -3, 1, CeladonCity_Blocks, 1 - dw Route16_Object ; objects + + map_header Route16, ROUTE_16, OVERWORLD, SOUTH | EAST + connection south, Route17, ROUTE_17, 0 + connection east, CeladonCity, CELADON_CITY, -4 + end_map_header diff --git a/data/mapHeaders/Route16FlyHouse.asm b/data/mapHeaders/Route16FlyHouse.asm index 6bc41d1d..240b6df4 100755 --- a/data/mapHeaders/Route16FlyHouse.asm +++ b/data/mapHeaders/Route16FlyHouse.asm @@ -1,8 +1,3 @@ -Route16FlyHouse_h:: - db HOUSE ; tileset - db ROUTE_16_FLY_HOUSE_HEIGHT, ROUTE_16_FLY_HOUSE_WIDTH ; dimensions (y, x) - dw Route16FlyHouse_Blocks ; blocks - dw Route16FlyHouse_TextPointers ; texts - dw Route16FlyHouse_Script ; scripts - db 0 ; connections - dw Route16FlyHouse_Object ; objects + + map_header Route16FlyHouse, ROUTE_16_FLY_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/mapHeaders/Route16Gate1F.asm b/data/mapHeaders/Route16Gate1F.asm index 16bbb30b..74fd1b7f 100755 --- a/data/mapHeaders/Route16Gate1F.asm +++ b/data/mapHeaders/Route16Gate1F.asm @@ -1,8 +1,3 @@ -Route16Gate1F_h:: - db GATE ; tileset - db ROUTE_16_GATE_1F_HEIGHT, ROUTE_16_GATE_1F_WIDTH ; dimensions (y, x) - dw Route16Gate1F_Blocks ; blocks - dw Route16Gate1F_TextPointers ; texts - dw Route16Gate1F_Script ; scripts - db 0 ; connections - dw Route16Gate1F_Object ; objects + + map_header Route16Gate1F, ROUTE_16_GATE_1F, GATE, 0 + end_map_header diff --git a/data/mapHeaders/Route16Gate2F.asm b/data/mapHeaders/Route16Gate2F.asm index 600101c9..ed889f4b 100755 --- a/data/mapHeaders/Route16Gate2F.asm +++ b/data/mapHeaders/Route16Gate2F.asm @@ -1,8 +1,3 @@ -Route16Gate2F_h:: - db GATE ; tileset - db ROUTE_16_GATE_2F_HEIGHT, ROUTE_16_GATE_2F_WIDTH ; dimensions (y, x) - dw Route16Gate2F_Blocks ; blocks - dw Route16Gate2F_TextPointers ; texts - dw Route16Gate2F_Script ; scripts - db 0 ; connections - dw Route16Gate2F_Object ; objects + + map_header Route16Gate2F, ROUTE_16_GATE_2F, GATE, 0 + end_map_header diff --git a/data/mapHeaders/Route17.asm b/data/mapHeaders/Route17.asm index 32bdb541..5e853299 100755 --- a/data/mapHeaders/Route17.asm +++ b/data/mapHeaders/Route17.asm @@ -1,10 +1,5 @@ -Route17_h:: - db OVERWORLD ; tileset - db ROUTE_17_HEIGHT, ROUTE_17_WIDTH ; dimensions (y, x) - dw Route17_Blocks ; blocks - dw Route17_TextPointers ; texts - dw Route17_Script ; scripts - db NORTH | SOUTH ; connections - NORTH_MAP_CONNECTION ROUTE_17, ROUTE_16, 0, 0, Route16_Blocks - SOUTH_MAP_CONNECTION ROUTE_17, ROUTE_18, 0, 0, Route18_Blocks, 1 - dw Route17_Object ; objects + + map_header Route17, ROUTE_17, OVERWORLD, NORTH | SOUTH + connection north, Route16, ROUTE_16, 0 + connection south, Route18, ROUTE_18, 0 + end_map_header diff --git a/data/mapHeaders/Route18.asm b/data/mapHeaders/Route18.asm index e0b5daef..34573051 100755 --- a/data/mapHeaders/Route18.asm +++ b/data/mapHeaders/Route18.asm @@ -1,10 +1,5 @@ -Route18_h:: - db OVERWORLD ; tileset - db ROUTE_18_HEIGHT, ROUTE_18_WIDTH ; dimensions (y, x) - dw Route18_Blocks ; blocks - dw Route18_TextPointers ; texts - dw Route18_Script ; scripts - db NORTH | EAST ; connections - NORTH_MAP_CONNECTION ROUTE_18, ROUTE_17, 0, 0, Route17_Blocks - EAST_MAP_CONNECTION ROUTE_18, FUCHSIA_CITY, -3, 1, FuchsiaCity_Blocks, 1 - dw Route18_Object ; objects + + map_header Route18, ROUTE_18, OVERWORLD, NORTH | EAST + connection north, Route17, ROUTE_17, 0 + connection east, FuchsiaCity, FUCHSIA_CITY, -4 + end_map_header diff --git a/data/mapHeaders/Route18Gate1F.asm b/data/mapHeaders/Route18Gate1F.asm index d04288d5..2847e0e3 100755 --- a/data/mapHeaders/Route18Gate1F.asm +++ b/data/mapHeaders/Route18Gate1F.asm @@ -1,8 +1,3 @@ -Route18Gate1F_h:: - db GATE ; tileset - db ROUTE_18_GATE_1F_HEIGHT, ROUTE_18_GATE_1F_WIDTH ; dimensions (y, x) - dw Route18Gate1F_Blocks ; blocks - dw Route18Gate1F_TextPointers ; texts - dw Route18Gate1F_Script ; scripts - db 0 ; connections - dw Route18Gate1F_Object ; objects + + map_header Route18Gate1F, ROUTE_18_GATE_1F, GATE, 0 + end_map_header diff --git a/data/mapHeaders/Route18Gate2F.asm b/data/mapHeaders/Route18Gate2F.asm index cf8c6d6a..f25fa700 100755 --- a/data/mapHeaders/Route18Gate2F.asm +++ b/data/mapHeaders/Route18Gate2F.asm @@ -1,8 +1,3 @@ -Route18Gate2F_h:: - db GATE ; tileset - db ROUTE_18_GATE_2F_HEIGHT, ROUTE_18_GATE_2F_WIDTH ; dimensions (y, x) - dw Route18Gate2F_Blocks ; blocks - dw Route18Gate2F_TextPointers ; texts - dw Route18Gate2F_Script ; scripts - db 0 ; connections - dw Route18Gate2F_Object ; objects + + map_header Route18Gate2F, ROUTE_18_GATE_2F, GATE, 0 + end_map_header diff --git a/data/mapHeaders/Route19.asm b/data/mapHeaders/Route19.asm index 2b6c8ca2..7f01c804 100755 --- a/data/mapHeaders/Route19.asm +++ b/data/mapHeaders/Route19.asm @@ -1,10 +1,5 @@ -Route19_h:: - db OVERWORLD ; tileset - db ROUTE_19_HEIGHT, ROUTE_19_WIDTH ; dimensions (y, x) - dw Route19_Blocks ; blocks - dw Route19_TextPointers ; texts - dw Route19_Script ; scripts - db NORTH | WEST ; connections - NORTH_MAP_CONNECTION ROUTE_19, FUCHSIA_CITY, -3, 2, FuchsiaCity_Blocks - WEST_MAP_CONNECTION ROUTE_19, ROUTE_20, 18, 0, Route20_Blocks - dw Route19_Object ; objects + + map_header Route19, ROUTE_19, OVERWORLD, NORTH | WEST + connection north, FuchsiaCity, FUCHSIA_CITY, -5 + connection west, Route20, ROUTE_20, 18 + end_map_header diff --git a/data/mapHeaders/Route2.asm b/data/mapHeaders/Route2.asm index 6dc96c4e..521eef69 100755 --- a/data/mapHeaders/Route2.asm +++ b/data/mapHeaders/Route2.asm @@ -1,10 +1,5 @@ -Route2_h:: - db OVERWORLD ; tileset - db ROUTE_2_HEIGHT, ROUTE_2_WIDTH ; dimensions (y, x) - dw Route2_Blocks ; blocks - dw Route2_TextPointers ; texts - dw Route2_Script ; scripts - db NORTH | SOUTH ; connections - NORTH_MAP_CONNECTION ROUTE_2, PEWTER_CITY, -3, 2, PewterCity_Blocks - SOUTH_MAP_CONNECTION ROUTE_2, VIRIDIAN_CITY, -3, 2, ViridianCity_Blocks, 1 - dw Route2_Object ; objects + + map_header Route2, ROUTE_2, OVERWORLD, NORTH | SOUTH + connection north, PewterCity, PEWTER_CITY, -5 + connection south, ViridianCity, VIRIDIAN_CITY, -5 + end_map_header diff --git a/data/mapHeaders/Route20.asm b/data/mapHeaders/Route20.asm index 03455c54..3495b785 100755 --- a/data/mapHeaders/Route20.asm +++ b/data/mapHeaders/Route20.asm @@ -1,10 +1,5 @@ -Route20_h:: - db OVERWORLD ; tileset - db ROUTE_20_HEIGHT, ROUTE_20_WIDTH ; dimensions (y, x) - dw Route20_Blocks ; blocks - dw Route20_TextPointers ; texts - dw Route20_Script ; scripts - db WEST | EAST ; connections - WEST_MAP_CONNECTION ROUTE_20, CINNABAR_ISLAND, 0, 0, CinnabarIsland_Blocks - EAST_MAP_CONNECTION ROUTE_20, ROUTE_19, -3, 15, Route19_Blocks - dw Route20_Object ; objects + + map_header Route20, ROUTE_20, OVERWORLD, WEST | EAST + connection west, CinnabarIsland, CINNABAR_ISLAND, 0 + connection east, Route19, ROUTE_19, -18 + end_map_header diff --git a/data/mapHeaders/Route21.asm b/data/mapHeaders/Route21.asm index 81e749e0..803bf217 100755 --- a/data/mapHeaders/Route21.asm +++ b/data/mapHeaders/Route21.asm @@ -1,10 +1,5 @@ -Route21_h:: - db OVERWORLD ; tileset - db ROUTE_21_HEIGHT, ROUTE_21_WIDTH ; dimensions (y, x) - dw Route21_Blocks ; blocks - dw Route21_TextPointers ; texts - dw Route21_Script ; scripts - db NORTH | SOUTH ; connections - NORTH_MAP_CONNECTION ROUTE_21, PALLET_TOWN, 0, 0, PalletTown_Blocks - SOUTH_MAP_CONNECTION ROUTE_21, CINNABAR_ISLAND, 0, 0, CinnabarIsland_Blocks, 1 - dw Route21_Object ; objects + + map_header Route21, ROUTE_21, OVERWORLD, NORTH | SOUTH + connection north, PalletTown, PALLET_TOWN, 0 + connection south, CinnabarIsland, CINNABAR_ISLAND, 0 + end_map_header diff --git a/data/mapHeaders/Route22.asm b/data/mapHeaders/Route22.asm index 083652cc..e235efa1 100755 --- a/data/mapHeaders/Route22.asm +++ b/data/mapHeaders/Route22.asm @@ -1,10 +1,5 @@ -Route22_h:: - db OVERWORLD ; tileset - db ROUTE_22_HEIGHT, ROUTE_22_WIDTH ; dimensions (y, x) - dw Route22_Blocks ; blocks - dw Route22_TextPointers ; texts - dw Route22_Script ; scripts - db NORTH | EAST ; connections - NORTH_MAP_CONNECTION ROUTE_22, ROUTE_23, 0, 0, Route23_Blocks - EAST_MAP_CONNECTION ROUTE_22, VIRIDIAN_CITY, -3, 1, ViridianCity_Blocks, 1 - dw Route22_Object ; objects + + map_header Route22, ROUTE_22, OVERWORLD, NORTH | EAST + connection north, Route23, ROUTE_23, 0 + connection east, ViridianCity, VIRIDIAN_CITY, -4 + end_map_header diff --git a/data/mapHeaders/Route22Gate.asm b/data/mapHeaders/Route22Gate.asm index b0fae3e4..a9d1dd37 100755 --- a/data/mapHeaders/Route22Gate.asm +++ b/data/mapHeaders/Route22Gate.asm @@ -1,8 +1,3 @@ -Route22Gate_h:: - db GATE ; tileset - db ROUTE_22_GATE_HEIGHT, ROUTE_22_GATE_WIDTH ; dimensions (y, x) - dw Route22Gate_Blocks ; blocks - dw Route22Gate_TextPointers ; texts - dw Route22Gate_Script ; scripts - db 0 ; connections - dw Route22Gate_Object ; objects + + map_header Route22Gate, ROUTE_22_GATE, GATE, 0 + end_map_header diff --git a/data/mapHeaders/Route23.asm b/data/mapHeaders/Route23.asm index 1bc27a5f..e1535c9d 100755 --- a/data/mapHeaders/Route23.asm +++ b/data/mapHeaders/Route23.asm @@ -1,10 +1,5 @@ -Route23_h:: - db PLATEAU ; tileset - db ROUTE_23_HEIGHT, ROUTE_23_WIDTH ; dimensions (y, x) - dw Route23_Blocks ; blocks - dw Route23_TextPointers ; texts - dw Route23_Script ; scripts - db NORTH | SOUTH ; connections - NORTH_MAP_CONNECTION ROUTE_23, INDIGO_PLATEAU, 0, 0, IndigoPlateau_Blocks - SOUTH_MAP_CONNECTION ROUTE_23, ROUTE_22, 0, 0, Route22_Blocks, 1 - dw Route23_Object ; objects + + map_header Route23, ROUTE_23, PLATEAU, NORTH | SOUTH + connection north, IndigoPlateau, INDIGO_PLATEAU, 0 + connection south, Route22, ROUTE_22, 0 + end_map_header diff --git a/data/mapHeaders/Route24.asm b/data/mapHeaders/Route24.asm index acb98d40..faf53660 100755 --- a/data/mapHeaders/Route24.asm +++ b/data/mapHeaders/Route24.asm @@ -1,10 +1,5 @@ -Route24_h:: - db OVERWORLD ; tileset - db ROUTE_24_HEIGHT, ROUTE_24_WIDTH ; dimensions (y, x) - dw Route24_Blocks ; blocks - dw Route24_TextPointers ; texts - dw Route24_Script ; scripts - db SOUTH | EAST ; connections - SOUTH_MAP_CONNECTION ROUTE_24, CERULEAN_CITY, -3, 2, CeruleanCity_Blocks, 1 - EAST_MAP_CONNECTION ROUTE_24, ROUTE_25, 0, 0, Route25_Blocks - dw Route24_Object ; objects + + map_header Route24, ROUTE_24, OVERWORLD, SOUTH | EAST + connection south, CeruleanCity, CERULEAN_CITY, -5 + connection east, Route25, ROUTE_25, 0 + end_map_header diff --git a/data/mapHeaders/Route25.asm b/data/mapHeaders/Route25.asm index d8da8583..1873d19b 100755 --- a/data/mapHeaders/Route25.asm +++ b/data/mapHeaders/Route25.asm @@ -1,9 +1,4 @@ -Route25_h:: - db OVERWORLD ; tileset - db ROUTE_25_HEIGHT, ROUTE_25_WIDTH ; dimensions (y, x) - dw Route25_Blocks ; blocks - dw Route25_TextPointers ; texts - dw Route25_Script ; scripts - db WEST ; connections - WEST_MAP_CONNECTION ROUTE_25, ROUTE_24, 0, 0, Route24_Blocks - dw Route25_Object ; objects + + map_header Route25, ROUTE_25, OVERWORLD, WEST + connection west, Route24, ROUTE_24, 0 + end_map_header diff --git a/data/mapHeaders/Route2Gate.asm b/data/mapHeaders/Route2Gate.asm index 68581910..730d8f2d 100755 --- a/data/mapHeaders/Route2Gate.asm +++ b/data/mapHeaders/Route2Gate.asm @@ -1,8 +1,3 @@ -Route2Gate_h:: - db GATE ; tileset - db ROUTE_2_GATE_HEIGHT, ROUTE_2_GATE_WIDTH ; dimensions (y, x) - dw Route2Gate_Blocks ; blocks - dw Route2Gate_TextPointers ; texts - dw Route2Gate_Script ; scripts - db 0 ; connections - dw Route2Gate_Object ; objects + + map_header Route2Gate, ROUTE_2_GATE, GATE, 0 + end_map_header diff --git a/data/mapHeaders/Route2TradeHouse.asm b/data/mapHeaders/Route2TradeHouse.asm index 98dc7aed..b9937dad 100755 --- a/data/mapHeaders/Route2TradeHouse.asm +++ b/data/mapHeaders/Route2TradeHouse.asm @@ -1,8 +1,3 @@ -Route2TradeHouse_h:: - db HOUSE ; tileset - db ROUTE_2_TRADE_HOUSE_HEIGHT, ROUTE_2_TRADE_HOUSE_WIDTH ; dimensions (y, x) - dw Route2TradeHouse_Blocks ; blocks - dw Route2TradeHouse_TextPointers ; texts - dw Route2TradeHouse_Script ; scripts - db 0 ; connections - dw Route2TradeHouse_Object ; objects + + map_header Route2TradeHouse, ROUTE_2_TRADE_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/mapHeaders/Route3.asm b/data/mapHeaders/Route3.asm index a84b5bf9..ddbd7783 100755 --- a/data/mapHeaders/Route3.asm +++ b/data/mapHeaders/Route3.asm @@ -1,10 +1,5 @@ -Route3_h:: - db OVERWORLD ; tileset - db ROUTE_3_HEIGHT, ROUTE_3_WIDTH ; dimensions (y, x) - dw Route3_Blocks ; blocks - dw Route3_TextPointers ; texts - dw Route3_Script ; scripts - db NORTH | WEST ; connections - NORTH_MAP_CONNECTION ROUTE_3, ROUTE_4, 25, 0, Route4_Blocks - WEST_MAP_CONNECTION ROUTE_3, PEWTER_CITY, -3, 1, PewterCity_Blocks - dw Route3_Object ; objects + + map_header Route3, ROUTE_3, OVERWORLD, NORTH | WEST + connection north, Route4, ROUTE_4, 25 + connection west, PewterCity, PEWTER_CITY, -4 + end_map_header diff --git a/data/mapHeaders/Route4.asm b/data/mapHeaders/Route4.asm index d0d27d9c..6c43171a 100755 --- a/data/mapHeaders/Route4.asm +++ b/data/mapHeaders/Route4.asm @@ -1,10 +1,5 @@ -Route4_h:: - db OVERWORLD ; tileset - db ROUTE_4_HEIGHT, ROUTE_4_WIDTH ; dimensions (y, x) - dw Route4_Blocks ; blocks - dw Route4_TextPointers ; texts - dw Route4_Script ; scripts - db SOUTH | EAST ; connections - SOUTH_MAP_CONNECTION ROUTE_4, ROUTE_3, -3, 22, Route3_Blocks - EAST_MAP_CONNECTION ROUTE_4, CERULEAN_CITY, -3, 1, CeruleanCity_Blocks, 1 - dw Route4_Object ; objects + + map_header Route4, ROUTE_4, OVERWORLD, SOUTH | EAST + connection south, Route3, ROUTE_3, -25 + connection east, CeruleanCity, CERULEAN_CITY, -4 + end_map_header diff --git a/data/mapHeaders/Route5.asm b/data/mapHeaders/Route5.asm index 5a0e0cd4..ea84090c 100755 --- a/data/mapHeaders/Route5.asm +++ b/data/mapHeaders/Route5.asm @@ -1,10 +1,5 @@ -Route5_h:: - db OVERWORLD ; tileset - db ROUTE_5_HEIGHT, ROUTE_5_WIDTH ; dimensions (y, x) - dw Route5_Blocks ; blocks - dw Route5_TextPointers ; texts - dw Route5_Script ; scripts - db NORTH | SOUTH ; connections - NORTH_MAP_CONNECTION ROUTE_5, CERULEAN_CITY, -3, 2, CeruleanCity_Blocks - SOUTH_MAP_CONNECTION ROUTE_5, SAFFRON_CITY, -3, 2, SaffronCity_Blocks, 1 - dw Route5_Object ; objects + + map_header Route5, ROUTE_5, OVERWORLD, NORTH | SOUTH + connection north, CeruleanCity, CERULEAN_CITY, -5 + connection south, SaffronCity, SAFFRON_CITY, -5 + end_map_header diff --git a/data/mapHeaders/Route5Gate.asm b/data/mapHeaders/Route5Gate.asm index d5de72b4..a0115533 100755 --- a/data/mapHeaders/Route5Gate.asm +++ b/data/mapHeaders/Route5Gate.asm @@ -1,8 +1,3 @@ -Route5Gate_h:: - db GATE ; tileset - db ROUTE_5_GATE_HEIGHT, ROUTE_5_GATE_WIDTH ; dimensions (y, x) - dw Route5Gate_Blocks ; blocks - dw Route5Gate_TextPointers ; texts - dw Route5Gate_Script ; scripts - db 0 ; connections - dw Route5Gate_Object ; objects + + map_header Route5Gate, ROUTE_5_GATE, GATE, 0 + end_map_header diff --git a/data/mapHeaders/Route6.asm b/data/mapHeaders/Route6.asm index 85cb1054..956aa4d6 100755 --- a/data/mapHeaders/Route6.asm +++ b/data/mapHeaders/Route6.asm @@ -1,10 +1,5 @@ -Route6_h:: - db OVERWORLD ; tileset - db ROUTE_6_HEIGHT, ROUTE_6_WIDTH ; dimensions (y, x) - dw Route6_Blocks ; blocks - dw Route6_TextPointers ; texts - dw Route6_Script ; scripts - db NORTH | SOUTH ; connections - NORTH_MAP_CONNECTION ROUTE_6, SAFFRON_CITY, -3, 2, SaffronCity_Blocks - SOUTH_MAP_CONNECTION ROUTE_6, VERMILION_CITY, -3, 2, VermilionCity_Blocks, 1 - dw Route6_Object ; objects + + map_header Route6, ROUTE_6, OVERWORLD, NORTH | SOUTH + connection north, SaffronCity, SAFFRON_CITY, -5 + connection south, VermilionCity, VERMILION_CITY, -5 + end_map_header diff --git a/data/mapHeaders/Route6Gate.asm b/data/mapHeaders/Route6Gate.asm index e5896518..f80b57c8 100755 --- a/data/mapHeaders/Route6Gate.asm +++ b/data/mapHeaders/Route6Gate.asm @@ -1,8 +1,3 @@ -Route6Gate_h:: - db GATE ; tileset - db ROUTE_6_GATE_HEIGHT, ROUTE_6_GATE_WIDTH ; dimensions (y, x) - dw Route6Gate_Blocks ; blocks - dw Route6Gate_TextPointers ; texts - dw Route6Gate_Script ; scripts - db 0 ; connections - dw Route6Gate_Object ; objects + + map_header Route6Gate, ROUTE_6_GATE, GATE, 0 + end_map_header diff --git a/data/mapHeaders/Route7.asm b/data/mapHeaders/Route7.asm index cb12c75a..8368c3fe 100755 --- a/data/mapHeaders/Route7.asm +++ b/data/mapHeaders/Route7.asm @@ -1,10 +1,5 @@ -Route7_h:: - db OVERWORLD ; tileset - db ROUTE_7_HEIGHT, ROUTE_7_WIDTH ; dimensions (y, x) - dw Route7_Blocks ; blocks - dw Route7_TextPointers ; texts - dw Route7_Script ; scripts - db WEST | EAST ; connections - WEST_MAP_CONNECTION ROUTE_7, CELADON_CITY, -3, 1, CeladonCity_Blocks - EAST_MAP_CONNECTION ROUTE_7, SAFFRON_CITY, -3, 1, SaffronCity_Blocks, 1 - dw Route7_Object ; objects + + map_header Route7, ROUTE_7, OVERWORLD, WEST | EAST + connection west, CeladonCity, CELADON_CITY, -4 + connection east, SaffronCity, SAFFRON_CITY, -4 + end_map_header diff --git a/data/mapHeaders/Route7Gate.asm b/data/mapHeaders/Route7Gate.asm index d8400dae..e9b9b16d 100755 --- a/data/mapHeaders/Route7Gate.asm +++ b/data/mapHeaders/Route7Gate.asm @@ -1,8 +1,3 @@ -Route7Gate_h:: - db GATE ; tileset - db ROUTE_7_GATE_HEIGHT, ROUTE_7_GATE_WIDTH ; dimensions (y, x) - dw Route7Gate_Blocks ; blocks - dw Route7Gate_TextPointers ; texts - dw Route7Gate_Script ; scripts - db 0 ; connections - dw Route7Gate_Object ; objects + + map_header Route7Gate, ROUTE_7_GATE, GATE, 0 + end_map_header diff --git a/data/mapHeaders/Route8.asm b/data/mapHeaders/Route8.asm index 482e12f9..8df9e023 100755 --- a/data/mapHeaders/Route8.asm +++ b/data/mapHeaders/Route8.asm @@ -1,10 +1,5 @@ -Route8_h:: - db OVERWORLD ; tileset - db ROUTE_8_HEIGHT, ROUTE_8_WIDTH ; dimensions (y, x) - dw Route8_Blocks ; blocks - dw Route8_TextPointers ; texts - dw Route8_Script ; scripts - db WEST | EAST ; connections - WEST_MAP_CONNECTION ROUTE_8, SAFFRON_CITY, -3, 1, SaffronCity_Blocks - EAST_MAP_CONNECTION ROUTE_8, LAVENDER_TOWN, 0, 0, LavenderTown_Blocks - dw Route8_Object ; objects + + map_header Route8, ROUTE_8, OVERWORLD, WEST | EAST + connection west, SaffronCity, SAFFRON_CITY, -4 + connection east, LavenderTown, LAVENDER_TOWN, 0 + end_map_header diff --git a/data/mapHeaders/Route8Gate.asm b/data/mapHeaders/Route8Gate.asm index 7599276b..f6a320a4 100755 --- a/data/mapHeaders/Route8Gate.asm +++ b/data/mapHeaders/Route8Gate.asm @@ -1,8 +1,3 @@ -Route8Gate_h:: - db GATE ; tileset - db ROUTE_8_GATE_HEIGHT, ROUTE_8_GATE_WIDTH ; dimensions (y, x) - dw Route8Gate_Blocks ; blocks - dw Route8Gate_TextPointers ; texts - dw Route8Gate_Script ; scripts - db 0 ; connections - dw Route8Gate_Object ; objects + + map_header Route8Gate, ROUTE_8_GATE, GATE, 0 + end_map_header diff --git a/data/mapHeaders/Route9.asm b/data/mapHeaders/Route9.asm index a0aef316..c1ed9225 100755 --- a/data/mapHeaders/Route9.asm +++ b/data/mapHeaders/Route9.asm @@ -1,10 +1,5 @@ -Route9_h:: - db OVERWORLD ; tileset - db ROUTE_9_HEIGHT, ROUTE_9_WIDTH ; dimensions (y, x) - dw Route9_Blocks ; blocks - dw Route9_TextPointers ; texts - dw Route9_Script ; scripts - db WEST | EAST ; connections - WEST_MAP_CONNECTION ROUTE_9, CERULEAN_CITY, -3, 1, CeruleanCity_Blocks - EAST_MAP_CONNECTION ROUTE_9, ROUTE_10, 0, 0, Route10_Blocks, 1 - dw Route9_Object ; objects + + map_header Route9, ROUTE_9, OVERWORLD, WEST | EAST + connection west, CeruleanCity, CERULEAN_CITY, -4 + connection east, Route10, ROUTE_10, 0 + end_map_header diff --git a/data/mapHeaders/SSAnne1F.asm b/data/mapHeaders/SSAnne1F.asm index 3b82a4ed..80d25e2d 100755 --- a/data/mapHeaders/SSAnne1F.asm +++ b/data/mapHeaders/SSAnne1F.asm @@ -1,8 +1,3 @@ -SSAnne1F_h:: - db SHIP ; tileset - db SS_ANNE_1F_HEIGHT, SS_ANNE_1F_WIDTH ; dimensions (y, x) - dw SSAnne1F_Blocks ; blocks - dw SSAnne1F_TextPointers ; texts - dw SSAnne1F_Script ; scripts - db 0 ; connections - dw SSAnne1F_Object ; objects + + map_header SSAnne1F, SS_ANNE_1F, SHIP, 0 + end_map_header diff --git a/data/mapHeaders/SSAnne1FRooms.asm b/data/mapHeaders/SSAnne1FRooms.asm index 14260765..8bdd8d00 100755 --- a/data/mapHeaders/SSAnne1FRooms.asm +++ b/data/mapHeaders/SSAnne1FRooms.asm @@ -1,8 +1,3 @@ -SSAnne1FRooms_h:: - db SHIP ; tileset - db SS_ANNE_1F_ROOMS_HEIGHT, SS_ANNE_1F_ROOMS_WIDTH ; dimensions (y, x) - dw SSAnne1FRooms_Blocks ; blocks - dw SSAnne1FRooms_TextPointers ; texts - dw SSAnne1FRooms_Script ; scripts - db 0 ; connections - dw SSAnne1FRooms_Object ; objects + + map_header SSAnne1FRooms, SS_ANNE_1F_ROOMS, SHIP, 0 + end_map_header diff --git a/data/mapHeaders/SSAnne2F.asm b/data/mapHeaders/SSAnne2F.asm index aef34599..b2fe14d7 100755 --- a/data/mapHeaders/SSAnne2F.asm +++ b/data/mapHeaders/SSAnne2F.asm @@ -1,8 +1,3 @@ -SSAnne2F_h:: - db SHIP ; tileset - db SS_ANNE_2F_HEIGHT, SS_ANNE_2F_WIDTH ; dimensions (y, x) - dw SSAnne2F_Blocks ; blocks - dw SSAnne2F_TextPointers ; texts - dw SSAnne2F_Script ; scripts - db 0 ; connections - dw SSAnne2F_Object ; objects + + map_header SSAnne2F, SS_ANNE_2F, SHIP, 0 + end_map_header diff --git a/data/mapHeaders/SSAnne2FRooms.asm b/data/mapHeaders/SSAnne2FRooms.asm index 12ecca80..2d349e4c 100755 --- a/data/mapHeaders/SSAnne2FRooms.asm +++ b/data/mapHeaders/SSAnne2FRooms.asm @@ -1,8 +1,3 @@ -SSAnne2FRooms_h:: - db SHIP ; tileset - db SS_ANNE_2F_ROOMS_HEIGHT, SS_ANNE_2F_ROOMS_WIDTH ; dimensions (y, x) - dw SSAnne2FRooms_Blocks ; blocks - dw SSAnne2FRooms_TextPointers ; texts - dw SSAnne2FRooms_Script ; scripts - db 0 ; connections - dw SSAnne2FRooms_Object ; objects + + map_header SSAnne2FRooms, SS_ANNE_2F_ROOMS, SHIP, 0 + end_map_header diff --git a/data/mapHeaders/SSAnne3F.asm b/data/mapHeaders/SSAnne3F.asm index 22ddfa03..f391a0cd 100755 --- a/data/mapHeaders/SSAnne3F.asm +++ b/data/mapHeaders/SSAnne3F.asm @@ -1,8 +1,3 @@ -SSAnne3F_h:: - db SHIP ; tileset - db SS_ANNE_3F_HEIGHT, SS_ANNE_3F_WIDTH ; dimensions (y, x) - dw SSAnne3F_Blocks ; blocks - dw SSAnne3F_TextPointers ; texts - dw SSAnne3F_Script ; scripts - db 0 ; connections - dw SSAnne3F_Object ; objects + + map_header SSAnne3F, SS_ANNE_3F, SHIP, 0 + end_map_header diff --git a/data/mapHeaders/SSAnneB1F.asm b/data/mapHeaders/SSAnneB1F.asm index 28f0bbe3..c21d7cff 100755 --- a/data/mapHeaders/SSAnneB1F.asm +++ b/data/mapHeaders/SSAnneB1F.asm @@ -1,8 +1,3 @@ -SSAnneB1F_h:: - db SHIP ; tileset - db SS_ANNE_B1F_HEIGHT, SS_ANNE_B1F_WIDTH ; dimensions (y, x) - dw SSAnneB1F_Blocks ; blocks - dw SSAnneB1F_TextPointers ; texts - dw SSAnneB1F_Script ; scripts - db 0 ; connections - dw SSAnneB1F_Object ; objects + + map_header SSAnneB1F, SS_ANNE_B1F, SHIP, 0 + end_map_header diff --git a/data/mapHeaders/SSAnneB1FRooms.asm b/data/mapHeaders/SSAnneB1FRooms.asm index 3d439984..1b8b4620 100755 --- a/data/mapHeaders/SSAnneB1FRooms.asm +++ b/data/mapHeaders/SSAnneB1FRooms.asm @@ -1,8 +1,3 @@ -SSAnneB1FRooms_h:: - db SHIP ; tileset - db SS_ANNE_B1F_ROOMS_HEIGHT, SS_ANNE_B1F_ROOMS_WIDTH ; dimensions (y, x) - dw SSAnneB1FRooms_Blocks ; blocks - dw SSAnneB1FRooms_TextPointers ; texts - dw SSAnneB1FRooms_Script ; scripts - db 0 ; connections - dw SSAnneB1FRooms_Object ; objects + + map_header SSAnneB1FRooms, SS_ANNE_B1F_ROOMS, SHIP, 0 + end_map_header diff --git a/data/mapHeaders/SSAnneBow.asm b/data/mapHeaders/SSAnneBow.asm index 1b1be8cb..2195e970 100755 --- a/data/mapHeaders/SSAnneBow.asm +++ b/data/mapHeaders/SSAnneBow.asm @@ -1,8 +1,3 @@ -SSAnneBow_h:: - db SHIP ; tileset - db SS_ANNE_BOW_HEIGHT, SS_ANNE_BOW_WIDTH ; dimensions (y, x) - dw SSAnneBow_Blocks ; blocks - dw SSAnneBow_TextPointers ; texts - dw SSAnneBow_Script ; scripts - db 0 ; connections - dw SSAnneBow_Object ; objects + + map_header SSAnneBow, SS_ANNE_BOW, SHIP, 0 + end_map_header diff --git a/data/mapHeaders/SSAnneCaptainsRoom.asm b/data/mapHeaders/SSAnneCaptainsRoom.asm index 78522804..a24f930d 100755 --- a/data/mapHeaders/SSAnneCaptainsRoom.asm +++ b/data/mapHeaders/SSAnneCaptainsRoom.asm @@ -1,8 +1,3 @@ -SSAnneCaptainsRoom_h:: - db SHIP ; tileset - db SS_ANNE_CAPTAINS_ROOM_HEIGHT, SS_ANNE_CAPTAINS_ROOM_WIDTH ; dimensions (y, x) - dw SSAnneCaptainsRoom_Blocks ; blocks - dw SSAnneCaptainsRoom_TextPointers ; texts - dw SSAnneCaptainsRoom_Script ; scripts - db 0 ; connections - dw SSAnneCaptainsRoom_Object ; objects + + map_header SSAnneCaptainsRoom, SS_ANNE_CAPTAINS_ROOM, SHIP, 0 + end_map_header diff --git a/data/mapHeaders/SSAnneKitchen.asm b/data/mapHeaders/SSAnneKitchen.asm index e4c6c472..47e84fbe 100755 --- a/data/mapHeaders/SSAnneKitchen.asm +++ b/data/mapHeaders/SSAnneKitchen.asm @@ -1,8 +1,3 @@ -SSAnneKitchen_h:: - db SHIP ; tileset - db SS_ANNE_KITCHEN_HEIGHT, SS_ANNE_KITCHEN_WIDTH ; dimensions (y, x) - dw SSAnneKitchen_Blocks ; blocks - dw SSAnneKitchen_TextPointers ; texts - dw SSAnneKitchen_Script ; scripts - db 0 ; connections - dw SSAnneKitchen_Object ; objects + + map_header SSAnneKitchen, SS_ANNE_KITCHEN, SHIP, 0 + end_map_header diff --git a/data/mapHeaders/SafariZoneCenter.asm b/data/mapHeaders/SafariZoneCenter.asm index a6e98bc3..ccc58ed1 100755 --- a/data/mapHeaders/SafariZoneCenter.asm +++ b/data/mapHeaders/SafariZoneCenter.asm @@ -1,8 +1,3 @@ -SafariZoneCenter_h:: - db FOREST ; tileset - db SAFARI_ZONE_CENTER_HEIGHT, SAFARI_ZONE_CENTER_WIDTH ; dimensions (y, x) - dw SafariZoneCenter_Blocks ; blocks - dw SafariZoneCenter_TextPointers ; texts - dw SafariZoneCenter_Script ; scripts - db 0 ; connections - dw SafariZoneCenter_Object ; objects + + map_header SafariZoneCenter, SAFARI_ZONE_CENTER, FOREST, 0 + end_map_header diff --git a/data/mapHeaders/SafariZoneCenterRestHouse.asm b/data/mapHeaders/SafariZoneCenterRestHouse.asm index 3dc9fba2..a866003f 100755 --- a/data/mapHeaders/SafariZoneCenterRestHouse.asm +++ b/data/mapHeaders/SafariZoneCenterRestHouse.asm @@ -1,8 +1,3 @@ -SafariZoneCenterRestHouse_h:: - db GATE ; tileset - db SAFARI_ZONE_CENTER_REST_HOUSE_HEIGHT, SAFARI_ZONE_CENTER_REST_HOUSE_WIDTH ; dimensions (y, x) - dw SafariZoneCenterRestHouse_Blocks ; blocks - dw SafariZoneCenterRestHouse_TextPointers ; texts - dw SafariZoneCenterRestHouse_Script ; scripts - db 0 ; connections - dw SafariZoneCenterRestHouse_Object ; objects + + map_header SafariZoneCenterRestHouse, SAFARI_ZONE_CENTER_REST_HOUSE, GATE, 0 + end_map_header diff --git a/data/mapHeaders/SafariZoneEast.asm b/data/mapHeaders/SafariZoneEast.asm index 4f9c0989..c23e9334 100755 --- a/data/mapHeaders/SafariZoneEast.asm +++ b/data/mapHeaders/SafariZoneEast.asm @@ -1,8 +1,3 @@ -SafariZoneEast_h:: - db FOREST ; tileset - db SAFARI_ZONE_EAST_HEIGHT, SAFARI_ZONE_EAST_WIDTH ; dimensions (y, x) - dw SafariZoneEast_Blocks ; blocks - dw SafariZoneEast_TextPointers ; texts - dw SafariZoneEast_Script ; scripts - db 0 ; connections - dw SafariZoneEast_Object ; objects + + map_header SafariZoneEast, SAFARI_ZONE_EAST, FOREST, 0 + end_map_header diff --git a/data/mapHeaders/SafariZoneEastRestHouse.asm b/data/mapHeaders/SafariZoneEastRestHouse.asm index 4afa17c4..1f8d76c6 100755 --- a/data/mapHeaders/SafariZoneEastRestHouse.asm +++ b/data/mapHeaders/SafariZoneEastRestHouse.asm @@ -1,8 +1,3 @@ -SafariZoneEastRestHouse_h:: - db GATE ; tileset - db SAFARI_ZONE_EAST_REST_HOUSE_HEIGHT, SAFARI_ZONE_EAST_REST_HOUSE_WIDTH ; dimensions (y, x) - dw SafariZoneEastRestHouse_Blocks ; blocks - dw SafariZoneEastRestHouse_TextPointers ; texts - dw SafariZoneEastRestHouse_Script ; scripts - db 0 ; connections - dw SafariZoneEastRestHouse_Object ; objects + + map_header SafariZoneEastRestHouse, SAFARI_ZONE_EAST_REST_HOUSE, GATE, 0 + end_map_header diff --git a/data/mapHeaders/SafariZoneGate.asm b/data/mapHeaders/SafariZoneGate.asm index 49d56b52..7816460d 100755 --- a/data/mapHeaders/SafariZoneGate.asm +++ b/data/mapHeaders/SafariZoneGate.asm @@ -1,8 +1,3 @@ -SafariZoneGate_h:: - db GATE ; tileset - db SAFARI_ZONE_GATE_HEIGHT, SAFARI_ZONE_GATE_WIDTH ; dimensions (y, x) - dw SafariZoneGate_Blocks ; blocks - dw SafariZoneGate_TextPointers ; texts - dw SafariZoneGate_Script ; scripts - db 0 ; connections - dw SafariZoneGate_Object ; objects + + map_header SafariZoneGate, SAFARI_ZONE_GATE, GATE, 0 + end_map_header diff --git a/data/mapHeaders/SafariZoneNorth.asm b/data/mapHeaders/SafariZoneNorth.asm index a8364c74..32639d22 100755 --- a/data/mapHeaders/SafariZoneNorth.asm +++ b/data/mapHeaders/SafariZoneNorth.asm @@ -1,8 +1,3 @@ -SafariZoneNorth_h:: - db FOREST ; tileset - db SAFARI_ZONE_NORTH_HEIGHT, SAFARI_ZONE_NORTH_WIDTH ; dimensions (y, x) - dw SafariZoneNorth_Blocks ; blocks - dw SafariZoneNorth_TextPointers ; texts - dw SafariZoneNorth_Script ; scripts - db 0 ; connections - dw SafariZoneNorth_Object ; objects + + map_header SafariZoneNorth, SAFARI_ZONE_NORTH, FOREST, 0 + end_map_header diff --git a/data/mapHeaders/SafariZoneNorthRestHouse.asm b/data/mapHeaders/SafariZoneNorthRestHouse.asm index faf16451..ec083803 100755 --- a/data/mapHeaders/SafariZoneNorthRestHouse.asm +++ b/data/mapHeaders/SafariZoneNorthRestHouse.asm @@ -1,8 +1,3 @@ -SafariZoneNorthRestHouse_h:: - db GATE ; tileset - db SAFARI_ZONE_NORTH_REST_HOUSE_HEIGHT, SAFARI_ZONE_NORTH_REST_HOUSE_WIDTH ; dimensions (y, x) - dw SafariZoneNorthRestHouse_Blocks ; blocks - dw SafariZoneNorthRestHouse_TextPointers ; texts - dw SafariZoneNorthRestHouse_Script ; scripts - db 0 ; connections - dw SafariZoneNorthRestHouse_Object ; objects + + map_header SafariZoneNorthRestHouse, SAFARI_ZONE_NORTH_REST_HOUSE, GATE, 0 + end_map_header diff --git a/data/mapHeaders/SafariZoneSecretHouse.asm b/data/mapHeaders/SafariZoneSecretHouse.asm index 1db35d37..630577c4 100755 --- a/data/mapHeaders/SafariZoneSecretHouse.asm +++ b/data/mapHeaders/SafariZoneSecretHouse.asm @@ -1,8 +1,3 @@ -SafariZoneSecretHouse_h:: - db LAB ; tileset - db SAFARI_ZONE_SECRET_HOUSE_HEIGHT, SAFARI_ZONE_SECRET_HOUSE_WIDTH ; dimensions (y, x) - dw SafariZoneSecretHouse_Blocks ; blocks - dw SafariZoneSecretHouse_TextPointers ; texts - dw SafariZoneSecretHouse_Script ; scripts - db 0 ; connections - dw SafariZoneSecretHouse_Object ; objects + + map_header SafariZoneSecretHouse, SAFARI_ZONE_SECRET_HOUSE, LAB, 0 + end_map_header diff --git a/data/mapHeaders/SafariZoneWest.asm b/data/mapHeaders/SafariZoneWest.asm index 00fd7d91..a1117d09 100755 --- a/data/mapHeaders/SafariZoneWest.asm +++ b/data/mapHeaders/SafariZoneWest.asm @@ -1,8 +1,3 @@ -SafariZoneWest_h:: - db FOREST ; tileset - db SAFARI_ZONE_WEST_HEIGHT, SAFARI_ZONE_WEST_WIDTH ; dimensions (y, x) - dw SafariZoneWest_Blocks ; blocks - dw SafariZoneWest_TextPointers ; texts - dw SafariZoneWest_Script ; scripts - db 0 ; connections - dw SafariZoneWest_Object ; objects + + map_header SafariZoneWest, SAFARI_ZONE_WEST, FOREST, 0 + end_map_header diff --git a/data/mapHeaders/SafariZoneWestRestHouse.asm b/data/mapHeaders/SafariZoneWestRestHouse.asm index 6b630df3..e4618e1d 100755 --- a/data/mapHeaders/SafariZoneWestRestHouse.asm +++ b/data/mapHeaders/SafariZoneWestRestHouse.asm @@ -1,8 +1,3 @@ -SafariZoneWestRestHouse_h:: - db GATE ; tileset - db SAFARI_ZONE_WEST_REST_HOUSE_HEIGHT, SAFARI_ZONE_WEST_REST_HOUSE_WIDTH ; dimensions (y, x) - dw SafariZoneWestRestHouse_Blocks ; blocks - dw SafariZoneWestRestHouse_TextPointers ; texts - dw SafariZoneWestRestHouse_Script ; scripts - db 0 ; connections - dw SafariZoneWestRestHouse_Object ; objects + + map_header SafariZoneWestRestHouse, SAFARI_ZONE_WEST_REST_HOUSE, GATE, 0 + end_map_header diff --git a/data/mapHeaders/SaffronCity.asm b/data/mapHeaders/SaffronCity.asm index c7a498de..ee1f71e4 100755 --- a/data/mapHeaders/SaffronCity.asm +++ b/data/mapHeaders/SaffronCity.asm @@ -1,12 +1,7 @@ -SaffronCity_h:: - db OVERWORLD ; tileset - db SAFFRON_CITY_HEIGHT, SAFFRON_CITY_WIDTH ; dimensions (y, x) - dw SaffronCity_Blocks ; blocks - dw SaffronCity_TextPointers ; texts - dw SaffronCity_Script ; scripts - db NORTH | SOUTH | WEST | EAST ; connections - NORTH_MAP_CONNECTION SAFFRON_CITY, ROUTE_5, 5, 0, Route5_Blocks - SOUTH_MAP_CONNECTION SAFFRON_CITY, ROUTE_6, 5, 0, Route6_Blocks, 1 - WEST_MAP_CONNECTION SAFFRON_CITY, ROUTE_7, 4, 0, Route7_Blocks - EAST_MAP_CONNECTION SAFFRON_CITY, ROUTE_8, 4, 0, Route8_Blocks - dw SaffronCity_Object ; objects + + map_header SaffronCity, SAFFRON_CITY, OVERWORLD, NORTH | SOUTH | WEST | EAST + connection north, Route5, ROUTE_5, 5 + connection south, Route6, ROUTE_6, 5 + connection west, Route7, ROUTE_7, 4 + connection east, Route8, ROUTE_8, 4 + end_map_header diff --git a/data/mapHeaders/SaffronGym.asm b/data/mapHeaders/SaffronGym.asm index d9ca460d..14ee3323 100755 --- a/data/mapHeaders/SaffronGym.asm +++ b/data/mapHeaders/SaffronGym.asm @@ -1,8 +1,3 @@ -SaffronGym_h:: - db FACILITY ; tileset - db SAFFRON_GYM_HEIGHT, SAFFRON_GYM_WIDTH ; dimensions (y, x) - dw SaffronGym_Blocks ; blocks - dw SaffronGym_TextPointers ; texts - dw SaffronGym_Script ; scripts - db 0 ; connections - dw SaffronGym_Object ; objects + + map_header SaffronGym, SAFFRON_GYM, FACILITY, 0 + end_map_header diff --git a/data/mapHeaders/SaffronMart.asm b/data/mapHeaders/SaffronMart.asm index d8c477a4..f03132d2 100755 --- a/data/mapHeaders/SaffronMart.asm +++ b/data/mapHeaders/SaffronMart.asm @@ -1,8 +1,3 @@ -SaffronMart_h:: - db MART ; tileset - db SAFFRON_MART_HEIGHT, SAFFRON_MART_WIDTH ; dimensions (y, x) - dw SaffronMart_Blocks ; blocks - dw SaffronMart_TextPointers ; texts - dw SaffronMart_Script ; scripts - db 0 ; connections - dw SaffronMart_Object ; objects + + map_header SaffronMart, SAFFRON_MART, MART, 0 + end_map_header diff --git a/data/mapHeaders/SaffronPidgeyHouse.asm b/data/mapHeaders/SaffronPidgeyHouse.asm index 8e2e8b47..e9f8dde7 100755 --- a/data/mapHeaders/SaffronPidgeyHouse.asm +++ b/data/mapHeaders/SaffronPidgeyHouse.asm @@ -1,8 +1,3 @@ -SaffronPidgeyHouse_h:: - db HOUSE ; tileset - db SAFFRON_PIDGEY_HOUSE_HEIGHT, SAFFRON_PIDGEY_HOUSE_WIDTH ; dimensions (y, x) - dw SaffronPidgeyHouse_Blocks ; blocks - dw SaffronPidgeyHouse_TextPointers ; texts - dw SaffronPidgeyHouse_Script ; scripts - db 0 ; connections - dw SaffronPidgeyHouse_Object ; objects + + map_header SaffronPidgeyHouse, SAFFRON_PIDGEY_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/mapHeaders/SaffronPokecenter.asm b/data/mapHeaders/SaffronPokecenter.asm index 18f7a7de..9b250050 100755 --- a/data/mapHeaders/SaffronPokecenter.asm +++ b/data/mapHeaders/SaffronPokecenter.asm @@ -1,8 +1,3 @@ -SaffronPokecenter_h:: - db POKECENTER ; tileset - db SAFFRON_POKECENTER_HEIGHT, SAFFRON_POKECENTER_WIDTH ; dimensions (y, x) - dw SaffronPokecenter_Blocks ; blocks - dw SaffronPokecenter_TextPointers ; texts - dw SaffronPokecenter_Script ; scripts - db 0 ; connections - dw SaffronPokecenter_Object ; objects + + map_header SaffronPokecenter, SAFFRON_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/mapHeaders/SeafoamIslands1F.asm b/data/mapHeaders/SeafoamIslands1F.asm index 67df46fa..db530549 100755 --- a/data/mapHeaders/SeafoamIslands1F.asm +++ b/data/mapHeaders/SeafoamIslands1F.asm @@ -1,8 +1,3 @@ -SeafoamIslands1F_h:: - db CAVERN ; tileset - db SEAFOAM_ISLANDS_1F_HEIGHT, SEAFOAM_ISLANDS_1F_WIDTH ; dimensions (y, x) - dw SeafoamIslands1F_Blocks ; blocks - dw SeafoamIslands1F_TextPointers ; texts - dw SeafoamIslands1F_Script ; scripts - db 0 ; connections - dw SeafoamIslands1F_Object ; objects + + map_header SeafoamIslands1F, SEAFOAM_ISLANDS_1F, CAVERN, 0 + end_map_header diff --git a/data/mapHeaders/SeafoamIslandsB1F.asm b/data/mapHeaders/SeafoamIslandsB1F.asm index e1a667b6..589eef93 100755 --- a/data/mapHeaders/SeafoamIslandsB1F.asm +++ b/data/mapHeaders/SeafoamIslandsB1F.asm @@ -1,8 +1,3 @@ -SeafoamIslandsB1F_h:: - db CAVERN ; tileset - db SEAFOAM_ISLANDS_B1F_HEIGHT, SEAFOAM_ISLANDS_B1F_WIDTH ; dimensions (y, x) - dw SeafoamIslandsB1F_Blocks ; blocks - dw SeafoamIslandsB1F_TextPointers ; texts - dw SeafoamIslandsB1F_Script ; scripts - db 0 ; connections - dw SeafoamIslandsB1F_Object ; objects + + map_header SeafoamIslandsB1F, SEAFOAM_ISLANDS_B1F, CAVERN, 0 + end_map_header diff --git a/data/mapHeaders/SeafoamIslandsB2F.asm b/data/mapHeaders/SeafoamIslandsB2F.asm index d8074e20..f7e624ed 100755 --- a/data/mapHeaders/SeafoamIslandsB2F.asm +++ b/data/mapHeaders/SeafoamIslandsB2F.asm @@ -1,8 +1,3 @@ -SeafoamIslandsB2F_h:: - db CAVERN ; tileset - db SEAFOAM_ISLANDS_B2F_HEIGHT, SEAFOAM_ISLANDS_B2F_WIDTH ; dimensions (y, x) - dw SeafoamIslandsB2F_Blocks ; blocks - dw SeafoamIslandsB2F_TextPointers ; texts - dw SeafoamIslandsB2F_Script ; scripts - db 0 ; connections - dw SeafoamIslandsB2F_Object ; objects + + map_header SeafoamIslandsB2F, SEAFOAM_ISLANDS_B2F, CAVERN, 0 + end_map_header diff --git a/data/mapHeaders/SeafoamIslandsB3F.asm b/data/mapHeaders/SeafoamIslandsB3F.asm index 2976a45b..b57da3c0 100755 --- a/data/mapHeaders/SeafoamIslandsB3F.asm +++ b/data/mapHeaders/SeafoamIslandsB3F.asm @@ -1,8 +1,3 @@ -SeafoamIslandsB3F_h:: - db CAVERN ; tileset - db SEAFOAM_ISLANDS_B3F_HEIGHT, SEAFOAM_ISLANDS_B3F_WIDTH ; dimensions (y, x) - dw SeafoamIslandsB3F_Blocks ; blocks - dw SeafoamIslandsB3F_TextPointers ; texts - dw SeafoamIslandsB3F_Script ; scripts - db 0 ; connections - dw SeafoamIslandsB3F_Object ; objects + + map_header SeafoamIslandsB3F, SEAFOAM_ISLANDS_B3F, CAVERN, 0 + end_map_header diff --git a/data/mapHeaders/SeafoamIslandsB4F.asm b/data/mapHeaders/SeafoamIslandsB4F.asm index fcc98db5..bae1e3a2 100755 --- a/data/mapHeaders/SeafoamIslandsB4F.asm +++ b/data/mapHeaders/SeafoamIslandsB4F.asm @@ -1,8 +1,3 @@ -SeafoamIslandsB4F_h:: - db CAVERN ; tileset - db SEAFOAM_ISLANDS_B4F_HEIGHT, SEAFOAM_ISLANDS_B4F_WIDTH ; dimensions (y, x) - dw SeafoamIslandsB4F_Blocks ; blocks - dw SeafoamIslandsB4F_TextPointers ; texts - dw SeafoamIslandsB4F_Script ; scripts - db 0 ; connections - dw SeafoamIslandsB4F_Object ; objects + + map_header SeafoamIslandsB4F, SEAFOAM_ISLANDS_B4F, CAVERN, 0 + end_map_header diff --git a/data/mapHeaders/SilphCo10F.asm b/data/mapHeaders/SilphCo10F.asm index be016e65..7a6786e7 100755 --- a/data/mapHeaders/SilphCo10F.asm +++ b/data/mapHeaders/SilphCo10F.asm @@ -1,8 +1,3 @@ -SilphCo10F_h:: - db FACILITY ; tileset - db SILPH_CO_10F_HEIGHT, SILPH_CO_10F_WIDTH ; dimensions (y, x) - dw SilphCo10F_Blocks ; blocks - dw SilphCo10F_TextPointers ; texts - dw SilphCo10F_Script ; scripts - db 0 ; connections - dw SilphCo10F_Object ; objects + + map_header SilphCo10F, SILPH_CO_10F, FACILITY, 0 + end_map_header diff --git a/data/mapHeaders/SilphCo11F.asm b/data/mapHeaders/SilphCo11F.asm index c16255dd..72eaaca2 100755 --- a/data/mapHeaders/SilphCo11F.asm +++ b/data/mapHeaders/SilphCo11F.asm @@ -1,8 +1,3 @@ -SilphCo11F_h:: - db INTERIOR ; tileset - db SILPH_CO_11F_HEIGHT, SILPH_CO_11F_WIDTH ; dimensions (y, x) - dw SilphCo11F_Blocks ; blocks - dw SilphCo11F_TextPointers ; texts - dw SilphCo11F_Script ; scripts - db 0 ; connections - dw SilphCo11F_Object ; objects + + map_header SilphCo11F, SILPH_CO_11F, INTERIOR, 0 + end_map_header diff --git a/data/mapHeaders/SilphCo1F.asm b/data/mapHeaders/SilphCo1F.asm index 0109677e..4c4ac97d 100755 --- a/data/mapHeaders/SilphCo1F.asm +++ b/data/mapHeaders/SilphCo1F.asm @@ -1,8 +1,3 @@ -SilphCo1F_h:: - db FACILITY ; tileset - db SILPH_CO_1F_HEIGHT, SILPH_CO_1F_WIDTH ; dimensions (y, x) - dw SilphCo1F_Blocks ; blocks - dw SilphCo1F_TextPointers ; texts - dw SilphCo1F_Script ; scripts - db 0 ; connections - dw SilphCo1F_Object ; objects + + map_header SilphCo1F, SILPH_CO_1F, FACILITY, 0 + end_map_header diff --git a/data/mapHeaders/SilphCo2F.asm b/data/mapHeaders/SilphCo2F.asm index c9a21b17..7dc44a55 100755 --- a/data/mapHeaders/SilphCo2F.asm +++ b/data/mapHeaders/SilphCo2F.asm @@ -1,8 +1,3 @@ -SilphCo2F_h:: - db FACILITY ; tileset - db SILPH_CO_2F_HEIGHT, SILPH_CO_2F_WIDTH ; dimensions (y, x) - dw SilphCo2F_Blocks ; blocks - dw SilphCo2F_TextPointers ; texts - dw SilphCo2F_Script ; scripts - db 0 ; connections - dw SilphCo2F_Object ; objects + + map_header SilphCo2F, SILPH_CO_2F, FACILITY, 0 + end_map_header diff --git a/data/mapHeaders/SilphCo3F.asm b/data/mapHeaders/SilphCo3F.asm index bd027dba..99e4aa15 100755 --- a/data/mapHeaders/SilphCo3F.asm +++ b/data/mapHeaders/SilphCo3F.asm @@ -1,8 +1,3 @@ -SilphCo3F_h:: - db FACILITY ; tileset - db SILPH_CO_3F_HEIGHT, SILPH_CO_3F_WIDTH ; dimensions (y, x) - dw SilphCo3F_Blocks ; blocks - dw SilphCo3F_TextPointers ; texts - dw SilphCo3F_Script ; scripts - db 0 ; connections - dw SilphCo3F_Object ; objects + + map_header SilphCo3F, SILPH_CO_3F, FACILITY, 0 + end_map_header diff --git a/data/mapHeaders/SilphCo4F.asm b/data/mapHeaders/SilphCo4F.asm index 6f45da8d..8eed0f9a 100755 --- a/data/mapHeaders/SilphCo4F.asm +++ b/data/mapHeaders/SilphCo4F.asm @@ -1,8 +1,3 @@ -SilphCo4F_h:: - db FACILITY ; tileset - db SILPH_CO_4F_HEIGHT, SILPH_CO_4F_WIDTH ; dimensions (y, x) - dw SilphCo4F_Blocks ; blocks - dw SilphCo4F_TextPointers ; texts - dw SilphCo4F_Script ; scripts - db 0 ; connections - dw SilphCo4F_Object ; objects + + map_header SilphCo4F, SILPH_CO_4F, FACILITY, 0 + end_map_header diff --git a/data/mapHeaders/SilphCo5F.asm b/data/mapHeaders/SilphCo5F.asm index 355aa258..3b40c360 100755 --- a/data/mapHeaders/SilphCo5F.asm +++ b/data/mapHeaders/SilphCo5F.asm @@ -1,8 +1,3 @@ -SilphCo5F_h:: - db FACILITY ; tileset - db SILPH_CO_5F_HEIGHT, SILPH_CO_5F_WIDTH ; dimensions (y, x) - dw SilphCo5F_Blocks ; blocks - dw SilphCo5F_TextPointers ; texts - dw SilphCo5F_Script ; scripts - db 0 ; connections - dw SilphCo5F_Object ; objects + + map_header SilphCo5F, SILPH_CO_5F, FACILITY, 0 + end_map_header diff --git a/data/mapHeaders/SilphCo6F.asm b/data/mapHeaders/SilphCo6F.asm index 732248ac..3d2b3b8c 100755 --- a/data/mapHeaders/SilphCo6F.asm +++ b/data/mapHeaders/SilphCo6F.asm @@ -1,8 +1,3 @@ -SilphCo6F_h:: - db FACILITY ; tileset - db SILPH_CO_6F_HEIGHT, SILPH_CO_6F_WIDTH ; dimensions (y, x) - dw SilphCo6F_Blocks ; blocks - dw SilphCo6F_TextPointers ; texts - dw SilphCo6F_Script ; scripts - db 0 ; connections - dw SilphCo6F_Object ; objects + + map_header SilphCo6F, SILPH_CO_6F, FACILITY, 0 + end_map_header diff --git a/data/mapHeaders/SilphCo7F.asm b/data/mapHeaders/SilphCo7F.asm index 116e0342..1591837a 100755 --- a/data/mapHeaders/SilphCo7F.asm +++ b/data/mapHeaders/SilphCo7F.asm @@ -1,8 +1,3 @@ -SilphCo7F_h:: - db FACILITY ; tileset - db SILPH_CO_7F_HEIGHT, SILPH_CO_7F_WIDTH ; dimensions (y, x) - dw SilphCo7F_Blocks ; blocks - dw SilphCo7F_TextPointers ; texts - dw SilphCo7F_Script ; scripts - db 0 ; connections - dw SilphCo7F_Object ; objects + + map_header SilphCo7F, SILPH_CO_7F, FACILITY, 0 + end_map_header diff --git a/data/mapHeaders/SilphCo8F.asm b/data/mapHeaders/SilphCo8F.asm index 6d1c7faf..e676fa86 100755 --- a/data/mapHeaders/SilphCo8F.asm +++ b/data/mapHeaders/SilphCo8F.asm @@ -1,8 +1,3 @@ -SilphCo8F_h:: - db FACILITY ; tileset - db SILPH_CO_8F_HEIGHT, SILPH_CO_8F_WIDTH ; dimensions (y, x) - dw SilphCo8F_Blocks ; blocks - dw SilphCo8F_TextPointers ; texts - dw SilphCo8F_Script ; scripts - db 0 ; connections - dw SilphCo8F_Object ; objects + + map_header SilphCo8F, SILPH_CO_8F, FACILITY, 0 + end_map_header diff --git a/data/mapHeaders/SilphCo9F.asm b/data/mapHeaders/SilphCo9F.asm index 3465e2fc..89f0300a 100755 --- a/data/mapHeaders/SilphCo9F.asm +++ b/data/mapHeaders/SilphCo9F.asm @@ -1,8 +1,3 @@ -SilphCo9F_h:: - db FACILITY ; tileset - db SILPH_CO_9F_HEIGHT, SILPH_CO_9F_WIDTH ; dimensions (y, x) - dw SilphCo9F_Blocks ; blocks - dw SilphCo9F_TextPointers ; texts - dw SilphCo9F_Script ; scripts - db 0 ; connections - dw SilphCo9F_Object ; objects + + map_header SilphCo9F, SILPH_CO_9F, FACILITY, 0 + end_map_header diff --git a/data/mapHeaders/SilphCoElevator.asm b/data/mapHeaders/SilphCoElevator.asm index 5bf164da..4dd9cd9f 100755 --- a/data/mapHeaders/SilphCoElevator.asm +++ b/data/mapHeaders/SilphCoElevator.asm @@ -1,8 +1,3 @@ -SilphCoElevator_h:: - db LOBBY ; tileset - db SILPH_CO_ELEVATOR_HEIGHT, SILPH_CO_ELEVATOR_WIDTH ; dimensions (y, x) - dw SilphCoElevator_Blocks ; blocks - dw SilphCoElevator_TextPointers ; texts - dw SilphCoElevator_Script ; scripts - db 0 ; connections - dw SilphCoElevator_Object ; objects + + map_header SilphCoElevator, SILPH_CO_ELEVATOR, LOBBY, 0 + end_map_header diff --git a/data/mapHeaders/TradeCenter.asm b/data/mapHeaders/TradeCenter.asm index 584cf3c6..268d76b2 100755 --- a/data/mapHeaders/TradeCenter.asm +++ b/data/mapHeaders/TradeCenter.asm @@ -1,8 +1,3 @@ -TradeCenter_h:: - db CLUB ; tileset - db TRADE_CENTER_HEIGHT, TRADE_CENTER_WIDTH ; dimensions (y, x) - dw TradeCenter_Blocks ; blocks - dw TradeCenter_TextPointers ; texts - dw TradeCenter_Script ; scripts - db 0 ; connections - dw TradeCenter_Object ; objects + + map_header TradeCenter, TRADE_CENTER, CLUB, 0 + end_map_header diff --git a/data/mapHeaders/UndergroundPathNorthSouth.asm b/data/mapHeaders/UndergroundPathNorthSouth.asm index 1443d875..4bb03c79 100755 --- a/data/mapHeaders/UndergroundPathNorthSouth.asm +++ b/data/mapHeaders/UndergroundPathNorthSouth.asm @@ -1,8 +1,3 @@ -UndergroundPathNorthSouth_h:: - db UNDERGROUND ; tileset - db UNDERGROUND_PATH_NORTH_SOUTH_HEIGHT, UNDERGROUND_PATH_NORTH_SOUTH_WIDTH ; dimensions (y, x) - dw UndergroundPathNorthSouth_Blocks ; blocks - dw UndergroundPathNorthSouth_TextPointers ; texts - dw UndergroundPathNorthSouth_Script ; scripts - db 0 ; connections - dw UndergroundPathNorthSouth_Object ; objects + + map_header UndergroundPathNorthSouth, UNDERGROUND_PATH_NORTH_SOUTH, UNDERGROUND, 0 + end_map_header diff --git a/data/mapHeaders/UndergroundPathRoute5.asm b/data/mapHeaders/UndergroundPathRoute5.asm index 769bd1c0..18287254 100755 --- a/data/mapHeaders/UndergroundPathRoute5.asm +++ b/data/mapHeaders/UndergroundPathRoute5.asm @@ -1,8 +1,3 @@ -UndergroundPathRoute5_h:: - db GATE ; tileset - db UNDERGROUND_PATH_ROUTE_5_HEIGHT, UNDERGROUND_PATH_ROUTE_5_WIDTH ; dimensions (y, x) - dw UndergroundPathRoute5_Blocks ; blocks - dw UndergroundPathRoute5_TextPointers ; texts - dw UndergroundPathRoute5_Script ; scripts - db 0 ; connections - dw UndergroundPathRoute5_Object ; objects + + map_header UndergroundPathRoute5, UNDERGROUND_PATH_ROUTE_5, GATE, 0 + end_map_header diff --git a/data/mapHeaders/UndergroundPathRoute6.asm b/data/mapHeaders/UndergroundPathRoute6.asm index f2a5beb7..67772543 100755 --- a/data/mapHeaders/UndergroundPathRoute6.asm +++ b/data/mapHeaders/UndergroundPathRoute6.asm @@ -1,8 +1,3 @@ -UndergroundPathRoute6_h:: - db GATE ; tileset - db UNDERGROUND_PATH_ROUTE_6_HEIGHT, UNDERGROUND_PATH_ROUTE_6_WIDTH ; dimensions (y, x) - dw UndergroundPathRoute6_Blocks ; blocks - dw UndergroundPathRoute6_TextPointers ; texts - dw UndergroundPathRoute6_Script ; scripts - db 0 ; connections - dw UndergroundPathRoute6_Object ; objects + + map_header UndergroundPathRoute6, UNDERGROUND_PATH_ROUTE_6, GATE, 0 + end_map_header diff --git a/data/mapHeaders/UndergroundPathRoute7.asm b/data/mapHeaders/UndergroundPathRoute7.asm index b8120ef4..d70548ed 100755 --- a/data/mapHeaders/UndergroundPathRoute7.asm +++ b/data/mapHeaders/UndergroundPathRoute7.asm @@ -1,8 +1,3 @@ -UndergroundPathRoute7_h:: - db GATE ; tileset - db UNDERGROUND_PATH_ROUTE_7_HEIGHT, UNDERGROUND_PATH_ROUTE_7_WIDTH ; dimensions (y, x) - dw UndergroundPathRoute7_Blocks ; blocks - dw UndergroundPathRoute7_TextPointers ; texts - dw UndergroundPathRoute7_Script ; scripts - db 0 ; connections - dw UndergroundPathRoute7_Object ; objects + + map_header UndergroundPathRoute7, UNDERGROUND_PATH_ROUTE_7, GATE, 0 + end_map_header diff --git a/data/mapHeaders/UndergroundPathRoute7Copy.asm b/data/mapHeaders/UndergroundPathRoute7Copy.asm index 2ccdac57..30bb70a8 100755 --- a/data/mapHeaders/UndergroundPathRoute7Copy.asm +++ b/data/mapHeaders/UndergroundPathRoute7Copy.asm @@ -1,8 +1,3 @@ -UndergroundPathRoute7Copy_h:: - db GATE ; tileset - db UNDERGROUND_PATH_ROUTE_7_HEIGHT, UNDERGROUND_PATH_ROUTE_7_WIDTH ; dimensions (y, x) - dw UndergroundPathRoute7Copy_Blocks ; blocks - dw UndergroundPathRoute7Copy_TextPointers ; texts - dw UndergroundPathRoute7Copy_Script ; scripts - db 0 ; connections - dw UndergroundPathRoute7Copy_Object ; objects + + map_header UndergroundPathRoute7Copy, UNDERGROUND_PATH_ROUTE_7, GATE, 0 + end_map_header diff --git a/data/mapHeaders/UndergroundPathRoute8.asm b/data/mapHeaders/UndergroundPathRoute8.asm index a1971c3c..102d8413 100755 --- a/data/mapHeaders/UndergroundPathRoute8.asm +++ b/data/mapHeaders/UndergroundPathRoute8.asm @@ -1,8 +1,3 @@ -UndergroundPathRoute8_h:: - db GATE ; tileset - db UNDERGROUND_PATH_ROUTE_8_HEIGHT, UNDERGROUND_PATH_ROUTE_8_WIDTH ; dimensions (y, x) - dw UndergroundPathRoute8_Blocks ; blocks - dw UndergroundPathRoute8_TextPointers ; texts - dw UndergroundPathRoute8_Script ; scripts - db 0 ; connections - dw UndergroundPathRoute8_Object ; objects + + map_header UndergroundPathRoute8, UNDERGROUND_PATH_ROUTE_8, GATE, 0 + end_map_header diff --git a/data/mapHeaders/UndergroundPathWestEast.asm b/data/mapHeaders/UndergroundPathWestEast.asm index 1d50c103..05976e87 100755 --- a/data/mapHeaders/UndergroundPathWestEast.asm +++ b/data/mapHeaders/UndergroundPathWestEast.asm @@ -1,8 +1,3 @@ -UndergroundPathWestEast_h:: - db UNDERGROUND ; tileset - db UNDERGROUND_PATH_WEST_EAST_HEIGHT, UNDERGROUND_PATH_WEST_EAST_WIDTH ; dimensions (y, x) - dw UndergroundPathWestEast_Blocks ; blocks - dw UndergroundPathWestEast_TextPointers ; texts - dw UndergroundPathWestEast_Script ; scripts - db 0 ; connections - dw UndergroundPathWestEast_Object ; objects + + map_header UndergroundPathWestEast, UNDERGROUND_PATH_WEST_EAST, UNDERGROUND, 0 + end_map_header diff --git a/data/mapHeaders/VermilionCity.asm b/data/mapHeaders/VermilionCity.asm index 8026c214..e211562c 100755 --- a/data/mapHeaders/VermilionCity.asm +++ b/data/mapHeaders/VermilionCity.asm @@ -1,10 +1,5 @@ -VermilionCity_h:: - db OVERWORLD ; tileset - db VERMILION_CITY_HEIGHT, VERMILION_CITY_WIDTH ; dimensions (y, x) - dw VermilionCity_Blocks ; blocks - dw VermilionCity_TextPointers ; texts - dw VermilionCity_Script ; scripts - db NORTH | EAST ; connections - NORTH_MAP_CONNECTION VERMILION_CITY, ROUTE_6, 5, 0, Route6_Blocks - EAST_MAP_CONNECTION VERMILION_CITY, ROUTE_11, 4, 0, Route11_Blocks - dw VermilionCity_Object ; objects + + map_header VermilionCity, VERMILION_CITY, OVERWORLD, NORTH | EAST + connection north, Route6, ROUTE_6, 5 + connection east, Route11, ROUTE_11, 4 + end_map_header diff --git a/data/mapHeaders/VermilionDock.asm b/data/mapHeaders/VermilionDock.asm index 0eb0edac..9a9b61c2 100755 --- a/data/mapHeaders/VermilionDock.asm +++ b/data/mapHeaders/VermilionDock.asm @@ -1,8 +1,3 @@ -VermilionDock_h:: - db SHIP_PORT ; tileset - db VERMILION_DOCK_HEIGHT, VERMILION_DOCK_WIDTH ; dimensions (y, x) - dw VermilionDock_Blocks ; blocks - dw VermilionDock_TextPointers ; texts - dw VermilionDock_Script ; scripts - db 0 ; connections - dw VermilionDock_Object ; objects + + map_header VermilionDock, VERMILION_DOCK, SHIP_PORT, 0 + end_map_header diff --git a/data/mapHeaders/VermilionGym.asm b/data/mapHeaders/VermilionGym.asm index 0b5913f1..ca75b8c1 100755 --- a/data/mapHeaders/VermilionGym.asm +++ b/data/mapHeaders/VermilionGym.asm @@ -1,8 +1,3 @@ -VermilionGym_h:: - db GYM ; tileset - db VERMILION_GYM_HEIGHT, VERMILION_GYM_WIDTH ; dimensions (y, x) - dw VermilionGym_Blocks ; blocks - dw VermilionGym_TextPointers ; texts - dw VermilionGym_Script ; scripts - db 0 ; connections - dw VermilionGym_Object ; objects + + map_header VermilionGym, VERMILION_GYM, GYM, 0 + end_map_header diff --git a/data/mapHeaders/VermilionMart.asm b/data/mapHeaders/VermilionMart.asm index 2fc1c79a..5777db4b 100755 --- a/data/mapHeaders/VermilionMart.asm +++ b/data/mapHeaders/VermilionMart.asm @@ -1,8 +1,3 @@ -VermilionMart_h:: - db MART ; tileset - db VERMILION_MART_HEIGHT, VERMILION_MART_WIDTH ; dimensions (y, x) - dw VermilionMart_Blocks ; blocks - dw VermilionMart_TextPointers ; texts - dw VermilionMart_Script ; scripts - db 0 ; connections - dw VermilionMart_Object ; objects + + map_header VermilionMart, VERMILION_MART, MART, 0 + end_map_header diff --git a/data/mapHeaders/VermilionOldRodHouse.asm b/data/mapHeaders/VermilionOldRodHouse.asm index 88a6e5d8..f9c890e0 100755 --- a/data/mapHeaders/VermilionOldRodHouse.asm +++ b/data/mapHeaders/VermilionOldRodHouse.asm @@ -1,8 +1,3 @@ -VermilionOldRodHouse_h:: - db HOUSE ; tileset - db VERMILION_OLD_ROD_HOUSE_HEIGHT, VERMILION_OLD_ROD_HOUSE_WIDTH ; dimensions (y, x) - dw VermilionOldRodHouse_Blocks ; blocks - dw VermilionOldRodHouse_TextPointers ; texts - dw VermilionOldRodHouse_Script ; scripts - db 0 ; connections - dw VermilionOldRodHouse_Object ; objects + + map_header VermilionOldRodHouse, VERMILION_OLD_ROD_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/mapHeaders/VermilionPidgeyHouse.asm b/data/mapHeaders/VermilionPidgeyHouse.asm index d355805a..afb81784 100755 --- a/data/mapHeaders/VermilionPidgeyHouse.asm +++ b/data/mapHeaders/VermilionPidgeyHouse.asm @@ -1,8 +1,3 @@ -VermilionPidgeyHouse_h:: - db HOUSE ; tileset - db VERMILION_PIDGEY_HOUSE_HEIGHT, VERMILION_PIDGEY_HOUSE_WIDTH ; dimensions (y, x) - dw VermilionPidgeyHouse_Blocks ; blocks - dw VermilionPidgeyHouse_TextPointers ; texts - dw VermilionPidgeyHouse_Script ; scripts - db 0 ; connections - dw VermilionPidgeyHouse_Object ; objects + + map_header VermilionPidgeyHouse, VERMILION_PIDGEY_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/mapHeaders/VermilionPokecenter.asm b/data/mapHeaders/VermilionPokecenter.asm index face28d6..af9827ac 100755 --- a/data/mapHeaders/VermilionPokecenter.asm +++ b/data/mapHeaders/VermilionPokecenter.asm @@ -1,8 +1,3 @@ -VermilionPokecenter_h:: - db POKECENTER ; tileset - db VERMILION_POKECENTER_HEIGHT, VERMILION_POKECENTER_WIDTH ; dimensions (y, x) - dw VermilionPokecenter_Blocks ; blocks - dw VermilionPokecenter_TextPointers ; texts - dw VermilionPokecenter_Script ; scripts - db 0 ; connections - dw VermilionPokecenter_Object ; objects + + map_header VermilionPokecenter, VERMILION_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/mapHeaders/VermilionTradeHouse.asm b/data/mapHeaders/VermilionTradeHouse.asm index cadd14b2..3cb82c47 100755 --- a/data/mapHeaders/VermilionTradeHouse.asm +++ b/data/mapHeaders/VermilionTradeHouse.asm @@ -1,8 +1,3 @@ -VermilionTradeHouse_h:: - db HOUSE ; tileset - db VERMILION_TRADE_HOUSE_HEIGHT, VERMILION_TRADE_HOUSE_WIDTH ; dimensions (y, x) - dw VermilionTradeHouse_Blocks ; blocks - dw VermilionTradeHouse_TextPointers ; texts - dw VermilionTradeHouse_Script ; scripts - db 0 ; connections - dw VermilionTradeHouse_Object ; objects + + map_header VermilionTradeHouse, VERMILION_TRADE_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/mapHeaders/VictoryRoad1F.asm b/data/mapHeaders/VictoryRoad1F.asm index 239a8de3..dae95f16 100755 --- a/data/mapHeaders/VictoryRoad1F.asm +++ b/data/mapHeaders/VictoryRoad1F.asm @@ -1,8 +1,3 @@ -VictoryRoad1F_h:: - db CAVERN ; tileset - db VICTORY_ROAD_1F_HEIGHT, VICTORY_ROAD_1F_WIDTH ; dimensions (y, x) - dw VictoryRoad1F_Blocks ; blocks - dw VictoryRoad1F_TextPointers ; texts - dw VictoryRoad1F_Script ; scripts - db 0 ; connections - dw VictoryRoad1F_Object ; objects + + map_header VictoryRoad1F, VICTORY_ROAD_1F, CAVERN, 0 + end_map_header diff --git a/data/mapHeaders/VictoryRoad2F.asm b/data/mapHeaders/VictoryRoad2F.asm index a0138cb2..99079ad3 100755 --- a/data/mapHeaders/VictoryRoad2F.asm +++ b/data/mapHeaders/VictoryRoad2F.asm @@ -1,8 +1,3 @@ -VictoryRoad2F_h:: - db CAVERN ; tileset - db VICTORY_ROAD_2F_HEIGHT, VICTORY_ROAD_2F_WIDTH ; dimensions (y, x) - dw VictoryRoad2F_Blocks ; blocks - dw VictoryRoad2F_TextPointers ; texts - dw VictoryRoad2F_Script ; scripts - db 0 ; connections - dw VictoryRoad2F_Object ; objects + + map_header VictoryRoad2F, VICTORY_ROAD_2F, CAVERN, 0 + end_map_header diff --git a/data/mapHeaders/VictoryRoad3F.asm b/data/mapHeaders/VictoryRoad3F.asm index 32133afa..bc15cad7 100755 --- a/data/mapHeaders/VictoryRoad3F.asm +++ b/data/mapHeaders/VictoryRoad3F.asm @@ -1,8 +1,3 @@ -VictoryRoad3F_h:: - db CAVERN ; tileset - db VICTORY_ROAD_3F_HEIGHT, VICTORY_ROAD_3F_WIDTH ; dimensions (y, x) - dw VictoryRoad3F_Blocks ; blocks - dw VictoryRoad3F_TextPointers ; texts - dw VictoryRoad3F_Script ; scripts - db 0 ; connections - dw VictoryRoad3F_Object ; objects + + map_header VictoryRoad3F, VICTORY_ROAD_3F, CAVERN, 0 + end_map_header diff --git a/data/mapHeaders/ViridianCity.asm b/data/mapHeaders/ViridianCity.asm index 5dc56820..0771cc81 100755 --- a/data/mapHeaders/ViridianCity.asm +++ b/data/mapHeaders/ViridianCity.asm @@ -1,11 +1,6 @@ -ViridianCity_h:: - db OVERWORLD ; tileset - db VIRIDIAN_CITY_HEIGHT, VIRIDIAN_CITY_WIDTH ; dimensions (y, x) - dw ViridianCity_Blocks ; blocks - dw ViridianCity_TextPointers ; texts - dw ViridianCity_Script ; scripts - db NORTH | SOUTH | WEST ; connections - NORTH_MAP_CONNECTION VIRIDIAN_CITY, ROUTE_2, 5, 0, Route2_Blocks - SOUTH_MAP_CONNECTION VIRIDIAN_CITY, ROUTE_1, 5, 0, Route1_Blocks, 1 - WEST_MAP_CONNECTION VIRIDIAN_CITY, ROUTE_22, 4, 0, Route22_Blocks - dw ViridianCity_Object ; objects + + map_header ViridianCity, VIRIDIAN_CITY, OVERWORLD, NORTH | SOUTH | WEST + connection north, Route2, ROUTE_2, 5 + connection south, Route1, ROUTE_1, 5 + connection west, Route22, ROUTE_22, 4 + end_map_header diff --git a/data/mapHeaders/ViridianForest.asm b/data/mapHeaders/ViridianForest.asm index 557b99ed..d531ec86 100755 --- a/data/mapHeaders/ViridianForest.asm +++ b/data/mapHeaders/ViridianForest.asm @@ -1,8 +1,3 @@ -ViridianForest_h:: - db FOREST ; tileset - db VIRIDIAN_FOREST_HEIGHT, VIRIDIAN_FOREST_WIDTH ; dimensions (y, x) - dw ViridianForest_Blocks ; blocks - dw ViridianForest_TextPointers ; texts - dw ViridianForest_Script ; scripts - db 0 ; connections - dw ViridianForest_Object ; objects + + map_header ViridianForest, VIRIDIAN_FOREST, FOREST, 0 + end_map_header diff --git a/data/mapHeaders/ViridianForestNorthGate.asm b/data/mapHeaders/ViridianForestNorthGate.asm index 1fd4ac7d..5bfcd6ed 100755 --- a/data/mapHeaders/ViridianForestNorthGate.asm +++ b/data/mapHeaders/ViridianForestNorthGate.asm @@ -1,8 +1,3 @@ -ViridianForestNorthGate_h:: - db FOREST_GATE ; tileset - db VIRIDIAN_FOREST_NORTH_GATE_HEIGHT, VIRIDIAN_FOREST_NORTH_GATE_WIDTH ; dimensions (y, x) - dw ViridianForestNorthGate_Blocks ; blocks - dw ViridianForestNorthGate_TextPointers ; texts - dw ViridianForestNorthGate_Script ; scripts - db 0 ; connections - dw ViridianForestNorthGate_Object ; objects + + map_header ViridianForestNorthGate, VIRIDIAN_FOREST_NORTH_GATE, FOREST_GATE, 0 + end_map_header diff --git a/data/mapHeaders/ViridianForestSouthGate.asm b/data/mapHeaders/ViridianForestSouthGate.asm index 65d587f8..87a49284 100755 --- a/data/mapHeaders/ViridianForestSouthGate.asm +++ b/data/mapHeaders/ViridianForestSouthGate.asm @@ -1,8 +1,3 @@ -ViridianForestSouthGate_h:: - db FOREST_GATE ; tileset - db VIRIDIAN_FOREST_SOUTH_GATE_HEIGHT, VIRIDIAN_FOREST_SOUTH_GATE_WIDTH ; dimensions (y, x) - dw ViridianForestSouthGate_Blocks ; blocks - dw ViridianForestSouthGate_TextPointers ; texts - dw ViridianForestSouthGate_Script ; scripts - db 0 ; connections - dw ViridianForestSouthGate_Object ; objects + + map_header ViridianForestSouthGate, VIRIDIAN_FOREST_SOUTH_GATE, FOREST_GATE, 0 + end_map_header diff --git a/data/mapHeaders/ViridianGym.asm b/data/mapHeaders/ViridianGym.asm index 136a13b5..640a71b6 100755 --- a/data/mapHeaders/ViridianGym.asm +++ b/data/mapHeaders/ViridianGym.asm @@ -1,8 +1,3 @@ -ViridianGym_h:: - db GYM ; tileset - db VIRIDIAN_GYM_HEIGHT, VIRIDIAN_GYM_WIDTH ; dimensions (y, x) - dw ViridianGym_Blocks ; blocks - dw ViridianGym_TextPointers ; texts - dw ViridianGym_Script ; scripts - db 0 ; connections - dw ViridianGym_Object ; objects + + map_header ViridianGym, VIRIDIAN_GYM, GYM, 0 + end_map_header diff --git a/data/mapHeaders/ViridianMart.asm b/data/mapHeaders/ViridianMart.asm index 341caa86..817b5265 100755 --- a/data/mapHeaders/ViridianMart.asm +++ b/data/mapHeaders/ViridianMart.asm @@ -1,8 +1,3 @@ -ViridianMart_h:: - db MART ; tileset - db VIRIDIAN_MART_HEIGHT, VIRIDIAN_MART_WIDTH ; dimensions (y, x) - dw ViridianMart_Blocks ; blocks - dw ViridianMart_TextPointers ; texts - dw ViridianMart_Script ; scripts - db 0 ; connections - dw ViridianMart_Object ; objects + + map_header ViridianMart, VIRIDIAN_MART, MART, 0 + end_map_header diff --git a/data/mapHeaders/ViridianNicknameHouse.asm b/data/mapHeaders/ViridianNicknameHouse.asm index db817b2f..5a7c272f 100755 --- a/data/mapHeaders/ViridianNicknameHouse.asm +++ b/data/mapHeaders/ViridianNicknameHouse.asm @@ -1,8 +1,3 @@ -ViridianNicknameHouse_h:: - db HOUSE ; tileset - db VIRIDIAN_NICKNAME_HOUSE_HEIGHT, VIRIDIAN_NICKNAME_HOUSE_WIDTH ; dimensions (y, x) - dw ViridianNicknameHouse_Blocks ; blocks - dw ViridianNicknameHouse_TextPointers ; texts - dw ViridianNicknameHouse_Script ; scripts - db 0 ; connections - dw ViridianNicknameHouse_Object ; objects + + map_header ViridianNicknameHouse, VIRIDIAN_NICKNAME_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/mapHeaders/ViridianPokecenter.asm b/data/mapHeaders/ViridianPokecenter.asm index 203abf06..daac19f3 100755 --- a/data/mapHeaders/ViridianPokecenter.asm +++ b/data/mapHeaders/ViridianPokecenter.asm @@ -1,8 +1,3 @@ -ViridianPokecenter_h:: - db POKECENTER ; tileset - db VIRIDIAN_POKECENTER_HEIGHT, VIRIDIAN_POKECENTER_WIDTH ; dimensions (y, x) - dw ViridianPokecenter_Blocks ; blocks - dw ViridianPokecenter_TextPointers ; texts - dw ViridianPokecenter_Script ; scripts - db 0 ; connections - dw ViridianPokecenter_Object ; objects + + map_header ViridianPokecenter, VIRIDIAN_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/mapHeaders/ViridianSchoolHouse.asm b/data/mapHeaders/ViridianSchoolHouse.asm index fdf1090a..f5b77212 100755 --- a/data/mapHeaders/ViridianSchoolHouse.asm +++ b/data/mapHeaders/ViridianSchoolHouse.asm @@ -1,8 +1,3 @@ -ViridianSchoolHouse_h:: - db HOUSE ; tileset - db VIRIDIAN_SCHOOL_HOUSE_HEIGHT, VIRIDIAN_SCHOOL_HOUSE_WIDTH ; dimensions (y, x) - dw ViridianSchoolHouse_Blocks ; blocks - dw ViridianSchoolHouse_TextPointers ; texts - dw ViridianSchoolHouse_Script ; scripts - db 0 ; connections - dw ViridianSchoolHouse_Object ; objects + + map_header ViridianSchoolHouse, VIRIDIAN_SCHOOL_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/mapHeaders/WardensHouse.asm b/data/mapHeaders/WardensHouse.asm index 6c6b0f6c..08216f59 100755 --- a/data/mapHeaders/WardensHouse.asm +++ b/data/mapHeaders/WardensHouse.asm @@ -1,8 +1,3 @@ -WardensHouse_h:: - db LAB ; tileset - db WARDENS_HOUSE_HEIGHT, WARDENS_HOUSE_WIDTH ; dimensions (y, x) - dw WardensHouse_Blocks ; blocks - dw WardensHouse_TextPointers ; texts - dw WardensHouse_Script ; scripts - db 0 ; connections - dw WardensHouse_Object ; objects + + map_header WardensHouse, WARDENS_HOUSE, LAB, 0 + end_map_header diff --git a/macros/data_macros.asm b/macros/data_macros.asm index 371247d3..794b75f7 100755 --- a/macros/data_macros.asm +++ b/macros/data_macros.asm @@ -144,94 +144,101 @@ warp_to: MACRO EVENT_DISP \3, \2, \1 ENDM -;\1 (byte) = current map id -;\2 (byte) = connected map id -;\3 (byte) = x movement of connection strip -;\4 (byte) = connection strip offset -;\5 (word) = connected map blocks pointer -NORTH_MAP_CONNECTION: MACRO - db \2 ; map id - dw \5 + (\2_WIDTH * (\2_HEIGHT - 3)) + \4; "Connection Strip" location - dw wOverworldMap + 3 + \3 ; current map position - IF (\1_WIDTH < \2_WIDTH) - db \1_WIDTH - \3 + 3 ; width of connection strip - ELSE - db \2_WIDTH - \4 ; width of connection strip - ENDC - db \2_WIDTH ; map width - db (\2_HEIGHT * 2) - 1 ; y alignment (y coordinate of player when entering map) - db (\3 - \4) * -2 ; x alignment (x coordinate of player when entering map) - dw wOverworldMap + 1 + (\2_HEIGHT * (\2_WIDTH + 6)) ; window (position of the upper left block after entering the map) -ENDM - -;\1 (byte) = current map id -;\2 (byte) = connected map id -;\3 (byte) = x movement of connection strip -;\4 (byte) = connection strip offset -;\5 (word) = connected map blocks pointer -;\6 (flag) = add 3 to width of connection strip (why?) -SOUTH_MAP_CONNECTION: MACRO - db \2 ; map id - dw \5 + \4 ; "Connection Strip" location - dw wOverworldMap + 3 + (\1_HEIGHT + 3) * (\1_WIDTH + 6) + \3 ; current map position - IF (\1_WIDTH < \2_WIDTH) - IF (_NARG > 5) - db \1_WIDTH - \3 + 3 ; width of connection strip - ELSE - db \1_WIDTH - \3 ; width of connection strip - ENDC - ELSE - db \2_WIDTH - \4 ; width of connection strip - ENDC - db \2_WIDTH ; map width - db 0 ; y alignment (y coordinate of player when entering map) - db (\3 - \4) * -2 ; x alignment (x coordinate of player when entering map) - dw wOverworldMap + 7 + \2_WIDTH ; window (position of the upper left block after entering the map) -ENDM - -;\1 (byte) = current map id -;\2 (byte) = connected map id -;\3 (byte) = y movement of connection strip -;\4 (byte) = connection strip offset -;\5 (word) = connected map blocks pointer -WEST_MAP_CONNECTION: MACRO - db \2 ; map id - dw \5 + (\2_WIDTH * \4) + \2_WIDTH - 3 ; "Connection Strip" location - dw wOverworldMap + (\1_WIDTH + 6) * (\3 + 3) ; current map position - IF (\1_HEIGHT < \2_HEIGHT) - db \1_HEIGHT - \3 + 3 ; height of connection strip - ELSE - db \2_HEIGHT - \4 ; height of connection strip - ENDC - db \2_WIDTH ; map width - db (\3 - \4) * -2 ; y alignment - db (\2_WIDTH * 2) - 1 ; x alignment - dw wOverworldMap + 6 + (2 * \2_WIDTH) ; window (position of the upper left block after entering the map) -ENDM - -;\1 (byte) = current map id -;\2 (byte) = connected map id -;\3 (byte) = y movement of connection strip -;\4 (byte) = connection strip offset -;\5 (word) = connected map blocks pointer -;\6 (flag) = add 3 to height of connection strip (why?) -EAST_MAP_CONNECTION: MACRO - db \2 ; map id - dw \5 + (\2_WIDTH * \4) ; "Connection Strip" location - dw wOverworldMap - 3 + (\1_WIDTH + 6) * (\3 + 4) ; current map position - IF (\1_HEIGHT < \2_HEIGHT) - IF (_NARG > 5) - db \1_HEIGHT - \3 + 3 ; height of connection strip - ELSE - db \1_HEIGHT - \3 ; height of connection strip - ENDC - ELSE - db \2_HEIGHT - \4 ; height of connection strip - ENDC - db \2_WIDTH ; map width - db (\3 - \4) * -2 ; y alignment - db 0 ; x alignment - dw wOverworldMap + 7 + \2_WIDTH ; window (position of the upper left block after entering the map) +map_header: MACRO +;\1: map name +;\2: map id +;\3: tileset +;\4: connections: combo of NORTH, SOUTH, WEST, and/or EAST, or 0 for none +CURRENT_MAP_WIDTH = \2_WIDTH +CURRENT_MAP_HEIGHT = \2_HEIGHT +CURRENT_MAP_OBJECT EQUS "\1_Object" +\1_h:: + db \3 + db CURRENT_MAP_HEIGHT, CURRENT_MAP_WIDTH + dw \1_Blocks + dw \1_TextPointers + dw \1_Script + db \4 +ENDM + +end_map_header: MACRO + dw CURRENT_MAP_OBJECT +PURGE CURRENT_MAP_WIDTH +PURGE CURRENT_MAP_HEIGHT +PURGE CURRENT_MAP_OBJECT +ENDM + +; Connections go in order: north, south, west, east +connection: MACRO +;\1: direction +;\2: map name +;\3: map id +;\4: offset of the target map relative to the current map +; (x offset for east/west, y offset for north/south) + +; Calculate tile offsets for source (current) and target maps +_src = 0 +_tgt = (\4) + 3 +if _tgt < 2 +_src = -_tgt +_tgt = 0 +endc + +if "\1" == "north" +_blk = \3_WIDTH * (\3_HEIGHT - 3) + _src +_map = _tgt +_win = (\3_WIDTH + 6) * \3_HEIGHT + 1 +_y = \3_HEIGHT * 2 - 1 +_x = (\4) * -2 +_len = CURRENT_MAP_WIDTH + 3 - (\4) +if _len > \3_WIDTH +_len = \3_WIDTH +endc + +elif "\1" == "south" +_blk = _src +_map = (CURRENT_MAP_WIDTH + 6) * (CURRENT_MAP_HEIGHT + 3) + _tgt +_win = \3_WIDTH + 7 +_y = 0 +_x = (\4) * -2 +_len = CURRENT_MAP_WIDTH + 3 - (\4) +if _len > \3_WIDTH +_len = \3_WIDTH +endc + +elif "\1" == "west" +_blk = (\3_WIDTH * _src) + \3_WIDTH - 3 +_map = (CURRENT_MAP_WIDTH + 6) * _tgt +_win = (\3_WIDTH + 6) * 2 - 6 +_y = (\4) * -2 +_x = \3_WIDTH * 2 - 1 +_len = CURRENT_MAP_HEIGHT + 3 - (\4) +if _len > \3_HEIGHT +_len = \3_HEIGHT +endc + +elif "\1" == "east" +_blk = (\3_WIDTH * _src) +_map = (CURRENT_MAP_WIDTH + 6) * _tgt + CURRENT_MAP_WIDTH + 3 +_win = \3_WIDTH + 7 +_y = (\4) * -2 +_x = 0 +_len = CURRENT_MAP_HEIGHT + 3 - (\4) +if _len > \3_HEIGHT +_len = \3_HEIGHT +endc + +else +fail "Invalid direction for 'connection'." +endc + + db \3 + dw \2_Blocks + _blk + dw wOverworldMap + _map + db _len - _src + db \3_WIDTH + db _y, _x + dw wOverworldMap + _win ENDM tmlearn: MACRO -- cgit v1.2.3 From ccb01731fe8cd44ae4c8840ee8ddc02e6bdea97e Mon Sep 17 00:00:00 2001 From: Rangi Date: Fri, 3 Jul 2020 15:57:35 -0400 Subject: Make suggested edits: - data/mapWilds -> data/wild/maps - diglett_sculpture.asm -> book_or_sculpture.asm - relocate some audio/music constants --- constants/audio_constants.asm | 13 --- constants/music_constants.asm | 12 ++- data/mapWilds/CeruleanCave1F.asm | 18 ---- data/mapWilds/CeruleanCave2F.asm | 13 --- data/mapWilds/CeruleanCaveB1F.asm | 18 ---- data/mapWilds/DiglettsCave.asm | 13 --- data/mapWilds/MtMoon1F.asm | 13 --- data/mapWilds/MtMoonB1F.asm | 13 --- data/mapWilds/MtMoonB2F.asm | 13 --- data/mapWilds/PokemonMansion1F.asm | 27 ----- data/mapWilds/PokemonMansion2F.asm | 27 ----- data/mapWilds/PokemonMansion3F.asm | 27 ----- data/mapWilds/PokemonMansionB1F.asm | 27 ----- data/mapWilds/PokemonTower1F.asm | 3 - data/mapWilds/PokemonTower2F.asm | 3 - data/mapWilds/PokemonTower3F.asm | 13 --- data/mapWilds/PokemonTower4F.asm | 13 --- data/mapWilds/PokemonTower5F.asm | 13 --- data/mapWilds/PokemonTower6F.asm | 13 --- data/mapWilds/PokemonTower7F.asm | 13 --- data/mapWilds/PowerPlant.asm | 19 ---- data/mapWilds/RockTunnel1F.asm | 13 --- data/mapWilds/RockTunnelB1F.asm | 13 --- data/mapWilds/Route1.asm | 13 --- data/mapWilds/Route10.asm | 27 ----- data/mapWilds/Route11.asm | 27 ----- data/mapWilds/Route12.asm | 27 ----- data/mapWilds/Route13.asm | 28 ----- data/mapWilds/Route14.asm | 27 ----- data/mapWilds/Route15.asm | 27 ----- data/mapWilds/Route16.asm | 13 --- data/mapWilds/Route17.asm | 13 --- data/mapWilds/Route18.asm | 13 --- data/mapWilds/Route2.asm | 24 ----- data/mapWilds/Route21.asm | 23 ---- data/mapWilds/Route22.asm | 27 ----- data/mapWilds/Route23.asm | 23 ---- data/mapWilds/Route24.asm | 27 ----- data/mapWilds/Route25.asm | 27 ----- data/mapWilds/Route3.asm | 13 --- data/mapWilds/Route4.asm | 27 ----- data/mapWilds/Route5.asm | 27 ----- data/mapWilds/Route6.asm | 27 ----- data/mapWilds/Route7.asm | 27 ----- data/mapWilds/Route8.asm | 27 ----- data/mapWilds/Route9.asm | 27 ----- data/mapWilds/SafariZoneCenter.asm | 27 ----- data/mapWilds/SafariZoneEast.asm | 27 ----- data/mapWilds/SafariZoneNorth.asm | 28 ----- data/mapWilds/SafariZoneWest.asm | 27 ----- data/mapWilds/SeaRoutes.asm | 13 --- data/mapWilds/SeafoamIslands1F.asm | 27 ----- data/mapWilds/SeafoamIslandsB1F.asm | 27 ----- data/mapWilds/SeafoamIslandsB2F.asm | 27 ----- data/mapWilds/SeafoamIslandsB3F.asm | 27 ----- data/mapWilds/SeafoamIslandsB4F.asm | 27 ----- data/mapWilds/VictoryRoad1F.asm | 13 --- data/mapWilds/VictoryRoad2F.asm | 13 --- data/mapWilds/VictoryRoad3F.asm | 13 --- data/mapWilds/ViridianForest.asm | 25 ----- data/mapWilds/nothing.asm | 3 - data/wild/grass_water.asm | 118 ++++++++++----------- data/wild/maps/CeruleanCave1F.asm | 18 ++++ data/wild/maps/CeruleanCave2F.asm | 13 +++ data/wild/maps/CeruleanCaveB1F.asm | 18 ++++ data/wild/maps/DiglettsCave.asm | 13 +++ data/wild/maps/MtMoon1F.asm | 13 +++ data/wild/maps/MtMoonB1F.asm | 13 +++ data/wild/maps/MtMoonB2F.asm | 13 +++ data/wild/maps/PokemonMansion1F.asm | 27 +++++ data/wild/maps/PokemonMansion2F.asm | 27 +++++ data/wild/maps/PokemonMansion3F.asm | 27 +++++ data/wild/maps/PokemonMansionB1F.asm | 27 +++++ data/wild/maps/PokemonTower1F.asm | 3 + data/wild/maps/PokemonTower2F.asm | 3 + data/wild/maps/PokemonTower3F.asm | 13 +++ data/wild/maps/PokemonTower4F.asm | 13 +++ data/wild/maps/PokemonTower5F.asm | 13 +++ data/wild/maps/PokemonTower6F.asm | 13 +++ data/wild/maps/PokemonTower7F.asm | 13 +++ data/wild/maps/PowerPlant.asm | 19 ++++ data/wild/maps/RockTunnel1F.asm | 13 +++ data/wild/maps/RockTunnelB1F.asm | 13 +++ data/wild/maps/Route1.asm | 13 +++ data/wild/maps/Route10.asm | 27 +++++ data/wild/maps/Route11.asm | 27 +++++ data/wild/maps/Route12.asm | 27 +++++ data/wild/maps/Route13.asm | 28 +++++ data/wild/maps/Route14.asm | 27 +++++ data/wild/maps/Route15.asm | 27 +++++ data/wild/maps/Route16.asm | 13 +++ data/wild/maps/Route17.asm | 13 +++ data/wild/maps/Route18.asm | 13 +++ data/wild/maps/Route2.asm | 24 +++++ data/wild/maps/Route21.asm | 23 ++++ data/wild/maps/Route22.asm | 27 +++++ data/wild/maps/Route23.asm | 23 ++++ data/wild/maps/Route24.asm | 27 +++++ data/wild/maps/Route25.asm | 27 +++++ data/wild/maps/Route3.asm | 13 +++ data/wild/maps/Route4.asm | 27 +++++ data/wild/maps/Route5.asm | 27 +++++ data/wild/maps/Route6.asm | 27 +++++ data/wild/maps/Route7.asm | 27 +++++ data/wild/maps/Route8.asm | 27 +++++ data/wild/maps/Route9.asm | 27 +++++ data/wild/maps/SafariZoneCenter.asm | 27 +++++ data/wild/maps/SafariZoneEast.asm | 27 +++++ data/wild/maps/SafariZoneNorth.asm | 28 +++++ data/wild/maps/SafariZoneWest.asm | 27 +++++ data/wild/maps/SeaRoutes.asm | 13 +++ data/wild/maps/SeafoamIslands1F.asm | 27 +++++ data/wild/maps/SeafoamIslandsB1F.asm | 27 +++++ data/wild/maps/SeafoamIslandsB2F.asm | 27 +++++ data/wild/maps/SeafoamIslandsB3F.asm | 27 +++++ data/wild/maps/SeafoamIslandsB4F.asm | 27 +++++ data/wild/maps/VictoryRoad1F.asm | 13 +++ data/wild/maps/VictoryRoad2F.asm | 13 +++ data/wild/maps/VictoryRoad3F.asm | 13 +++ data/wild/maps/ViridianForest.asm | 25 +++++ data/wild/maps/nothing.asm | 3 + engine/events/hidden_objects/book_or_sculpture.asm | 21 ++++ engine/events/hidden_objects/diglett_sculpture.asm | 21 ---- main.asm | 2 +- 124 files changed, 1282 insertions(+), 1285 deletions(-) delete mode 100644 data/mapWilds/CeruleanCave1F.asm delete mode 100644 data/mapWilds/CeruleanCave2F.asm delete mode 100644 data/mapWilds/CeruleanCaveB1F.asm delete mode 100755 data/mapWilds/DiglettsCave.asm delete mode 100755 data/mapWilds/MtMoon1F.asm delete mode 100755 data/mapWilds/MtMoonB1F.asm delete mode 100755 data/mapWilds/MtMoonB2F.asm delete mode 100755 data/mapWilds/PokemonMansion1F.asm delete mode 100755 data/mapWilds/PokemonMansion2F.asm delete mode 100755 data/mapWilds/PokemonMansion3F.asm delete mode 100755 data/mapWilds/PokemonMansionB1F.asm delete mode 100755 data/mapWilds/PokemonTower1F.asm delete mode 100755 data/mapWilds/PokemonTower2F.asm delete mode 100755 data/mapWilds/PokemonTower3F.asm delete mode 100755 data/mapWilds/PokemonTower4F.asm delete mode 100755 data/mapWilds/PokemonTower5F.asm delete mode 100755 data/mapWilds/PokemonTower6F.asm delete mode 100755 data/mapWilds/PokemonTower7F.asm delete mode 100755 data/mapWilds/PowerPlant.asm delete mode 100755 data/mapWilds/RockTunnel1F.asm delete mode 100755 data/mapWilds/RockTunnelB1F.asm delete mode 100755 data/mapWilds/Route1.asm delete mode 100755 data/mapWilds/Route10.asm delete mode 100755 data/mapWilds/Route11.asm delete mode 100755 data/mapWilds/Route12.asm delete mode 100755 data/mapWilds/Route13.asm delete mode 100755 data/mapWilds/Route14.asm delete mode 100755 data/mapWilds/Route15.asm delete mode 100755 data/mapWilds/Route16.asm delete mode 100755 data/mapWilds/Route17.asm delete mode 100755 data/mapWilds/Route18.asm delete mode 100755 data/mapWilds/Route2.asm delete mode 100755 data/mapWilds/Route21.asm delete mode 100755 data/mapWilds/Route22.asm delete mode 100755 data/mapWilds/Route23.asm delete mode 100755 data/mapWilds/Route24.asm delete mode 100755 data/mapWilds/Route25.asm delete mode 100755 data/mapWilds/Route3.asm delete mode 100755 data/mapWilds/Route4.asm delete mode 100755 data/mapWilds/Route5.asm delete mode 100755 data/mapWilds/Route6.asm delete mode 100755 data/mapWilds/Route7.asm delete mode 100755 data/mapWilds/Route8.asm delete mode 100755 data/mapWilds/Route9.asm delete mode 100755 data/mapWilds/SafariZoneCenter.asm delete mode 100755 data/mapWilds/SafariZoneEast.asm delete mode 100755 data/mapWilds/SafariZoneNorth.asm delete mode 100755 data/mapWilds/SafariZoneWest.asm delete mode 100755 data/mapWilds/SeaRoutes.asm delete mode 100755 data/mapWilds/SeafoamIslands1F.asm delete mode 100755 data/mapWilds/SeafoamIslandsB1F.asm delete mode 100755 data/mapWilds/SeafoamIslandsB2F.asm delete mode 100755 data/mapWilds/SeafoamIslandsB3F.asm delete mode 100755 data/mapWilds/SeafoamIslandsB4F.asm delete mode 100755 data/mapWilds/VictoryRoad1F.asm delete mode 100755 data/mapWilds/VictoryRoad2F.asm delete mode 100755 data/mapWilds/VictoryRoad3F.asm delete mode 100755 data/mapWilds/ViridianForest.asm delete mode 100755 data/mapWilds/nothing.asm create mode 100644 data/wild/maps/CeruleanCave1F.asm create mode 100644 data/wild/maps/CeruleanCave2F.asm create mode 100644 data/wild/maps/CeruleanCaveB1F.asm create mode 100755 data/wild/maps/DiglettsCave.asm create mode 100755 data/wild/maps/MtMoon1F.asm create mode 100755 data/wild/maps/MtMoonB1F.asm create mode 100755 data/wild/maps/MtMoonB2F.asm create mode 100755 data/wild/maps/PokemonMansion1F.asm create mode 100755 data/wild/maps/PokemonMansion2F.asm create mode 100755 data/wild/maps/PokemonMansion3F.asm create mode 100755 data/wild/maps/PokemonMansionB1F.asm create mode 100755 data/wild/maps/PokemonTower1F.asm create mode 100755 data/wild/maps/PokemonTower2F.asm create mode 100755 data/wild/maps/PokemonTower3F.asm create mode 100755 data/wild/maps/PokemonTower4F.asm create mode 100755 data/wild/maps/PokemonTower5F.asm create mode 100755 data/wild/maps/PokemonTower6F.asm create mode 100755 data/wild/maps/PokemonTower7F.asm create mode 100755 data/wild/maps/PowerPlant.asm create mode 100755 data/wild/maps/RockTunnel1F.asm create mode 100755 data/wild/maps/RockTunnelB1F.asm create mode 100755 data/wild/maps/Route1.asm create mode 100755 data/wild/maps/Route10.asm create mode 100755 data/wild/maps/Route11.asm create mode 100755 data/wild/maps/Route12.asm create mode 100755 data/wild/maps/Route13.asm create mode 100755 data/wild/maps/Route14.asm create mode 100755 data/wild/maps/Route15.asm create mode 100755 data/wild/maps/Route16.asm create mode 100755 data/wild/maps/Route17.asm create mode 100755 data/wild/maps/Route18.asm create mode 100755 data/wild/maps/Route2.asm create mode 100755 data/wild/maps/Route21.asm create mode 100755 data/wild/maps/Route22.asm create mode 100755 data/wild/maps/Route23.asm create mode 100755 data/wild/maps/Route24.asm create mode 100755 data/wild/maps/Route25.asm create mode 100755 data/wild/maps/Route3.asm create mode 100755 data/wild/maps/Route4.asm create mode 100755 data/wild/maps/Route5.asm create mode 100755 data/wild/maps/Route6.asm create mode 100755 data/wild/maps/Route7.asm create mode 100755 data/wild/maps/Route8.asm create mode 100755 data/wild/maps/Route9.asm create mode 100755 data/wild/maps/SafariZoneCenter.asm create mode 100755 data/wild/maps/SafariZoneEast.asm create mode 100755 data/wild/maps/SafariZoneNorth.asm create mode 100755 data/wild/maps/SafariZoneWest.asm create mode 100755 data/wild/maps/SeaRoutes.asm create mode 100755 data/wild/maps/SeafoamIslands1F.asm create mode 100755 data/wild/maps/SeafoamIslandsB1F.asm create mode 100755 data/wild/maps/SeafoamIslandsB2F.asm create mode 100755 data/wild/maps/SeafoamIslandsB3F.asm create mode 100755 data/wild/maps/SeafoamIslandsB4F.asm create mode 100755 data/wild/maps/VictoryRoad1F.asm create mode 100755 data/wild/maps/VictoryRoad2F.asm create mode 100755 data/wild/maps/VictoryRoad3F.asm create mode 100755 data/wild/maps/ViridianForest.asm create mode 100755 data/wild/maps/nothing.asm create mode 100644 engine/events/hidden_objects/book_or_sculpture.asm delete mode 100644 engine/events/hidden_objects/diglett_sculpture.asm diff --git a/constants/audio_constants.asm b/constants/audio_constants.asm index 434bb4a3..bb2bb7f2 100644 --- a/constants/audio_constants.asm +++ b/constants/audio_constants.asm @@ -20,19 +20,6 @@ REG_DUTY_SOUND_LEN EQU 1 REG_VOLUME_ENVELOPE EQU 2 REG_FREQUENCY_LO EQU 3 -MAX_SFX_ID_1 EQUS "SFX_SAFARI_ZONE_PA" -MAX_SFX_ID_2 EQUS "SFX_SILPH_SCOPE" -MAX_SFX_ID_3 EQUS "SFX_SHOOTING_STAR" - -NOISE_INSTRUMENTS_START EQUS "SFX_NOISE_INSTRUMENT01" -NOISE_INSTRUMENTS_END EQUS "SFX_NOISE_INSTRUMENT19 + 1" - -CRY_SFX_START EQUS "SFX_CRY_00" -CRY_SFX_END EQUS "SFX_CRY_25 + 3" - -BATTLE_SFX_START EQUS "SFX_PECK" -BATTLE_SFX_END EQUS "SFX_SILPH_SCOPE + 1" - ; wChannelFlags1 constants BIT_PERFECT_PITCH EQU 0 ; controlled by toggle_perfect_pitch command BIT_SOUND_CALL EQU 1 ; if in sound call diff --git a/constants/music_constants.asm b/constants/music_constants.asm index 9459c0a4..9f726fb7 100644 --- a/constants/music_constants.asm +++ b/constants/music_constants.asm @@ -56,6 +56,7 @@ ENDM music_const MUSIC_MEET_MALE_TRAINER, Music_MeetMaleTrainer ; AUDIO_1 AUDIO_2 AUDIO_3 +NOISE_INSTRUMENTS_START EQUS "SFX_NOISE_INSTRUMENT01" music_const SFX_NOISE_INSTRUMENT01, SFX_Noise_Instrument01_1 music_const SFX_NOISE_INSTRUMENT02, SFX_Noise_Instrument02_1 music_const SFX_NOISE_INSTRUMENT03, SFX_Noise_Instrument03_1 @@ -75,6 +76,9 @@ ENDM music_const SFX_NOISE_INSTRUMENT17, SFX_Noise_Instrument17_1 music_const SFX_NOISE_INSTRUMENT18, SFX_Noise_Instrument18_1 music_const SFX_NOISE_INSTRUMENT19, SFX_Noise_Instrument19_1 +NOISE_INSTRUMENTS_END EQUS "SFX_NOISE_INSTRUMENT19 + 1" + +CRY_SFX_START EQUS "SFX_CRY_00" music_const SFX_CRY_00, SFX_Cry00_1 music_const SFX_CRY_01, SFX_Cry01_1 music_const SFX_CRY_02, SFX_Cry02_1 @@ -113,6 +117,7 @@ ENDM music_const SFX_CRY_23, SFX_Cry23_1 music_const SFX_CRY_24, SFX_Cry24_1 music_const SFX_CRY_25, SFX_Cry25_1 +CRY_SFX_END EQUS "SFX_CRY_25 + 3" music_const SFX_GET_ITEM_2, SFX_Get_Item2_1 music_const SFX_TINK, SFX_Tink_1 @@ -157,16 +162,18 @@ ENDM ; AUDIO_1 music_const SFX_POKEFLUTE, SFX_Pokeflute music_const SFX_SAFARI_ZONE_PA, SFX_Safari_Zone_PA +MAX_SFX_ID_1 EQUS "SFX_SAFARI_ZONE_PA" ; AUDIO_2 music_const SFX_LEVEL_UP, SFX_Level_Up - music_const SFX_BALL_TOSS, SFX_Ball_Toss music_const SFX_BALL_POOF, SFX_Ball_Poof music_const SFX_FAINT_THUD, SFX_Faint_Thud music_const SFX_RUN, SFX_Run music_const SFX_DEX_PAGE_ADDED, SFX_Dex_Page_Added music_const SFX_CAUGHT_MON, SFX_Caught_Mon + +BATTLE_SFX_START EQUS "SFX_PECK" music_const SFX_PECK, SFX_Peck music_const SFX_FAINT_FALL, SFX_Faint_Fall music_const SFX_BATTLE_09, SFX_Battle_09 @@ -216,6 +223,8 @@ ENDM music_const SFX_BATTLE_35, SFX_Battle_35 music_const SFX_BATTLE_36, SFX_Battle_36 music_const SFX_SILPH_SCOPE, SFX_Silph_Scope +BATTLE_SFX_END EQUS "SFX_SILPH_SCOPE + 1" +MAX_SFX_ID_2 EQUS "SFX_SILPH_SCOPE" ; AUDIO_3 music_const SFX_INTRO_LUNGE, SFX_Intro_Lunge @@ -228,3 +237,4 @@ ENDM music_const SFX_SLOTS_REWARD, SFX_Slots_Reward music_const SFX_SLOTS_NEW_SPIN, SFX_Slots_New_Spin music_const SFX_SHOOTING_STAR, SFX_Shooting_Star +MAX_SFX_ID_3 EQUS "SFX_SHOOTING_STAR" diff --git a/data/mapWilds/CeruleanCave1F.asm b/data/mapWilds/CeruleanCave1F.asm deleted file mode 100644 index 20e8643a..00000000 --- a/data/mapWilds/CeruleanCave1F.asm +++ /dev/null @@ -1,18 +0,0 @@ -DungeonMons1: - db $0A - db 46,GOLBAT - db 46,HYPNO - db 46,MAGNETON - db 49,DODRIO - db 49,VENOMOTH - IF DEF(_RED) - db 52,ARBOK - ENDC - IF DEF(_BLUE) - db 52,SANDSLASH - ENDC - db 49,KADABRA - db 52,PARASECT - db 53,RAICHU - db 53,DITTO - db $00 diff --git a/data/mapWilds/CeruleanCave2F.asm b/data/mapWilds/CeruleanCave2F.asm deleted file mode 100644 index 5afe55ac..00000000 --- a/data/mapWilds/CeruleanCave2F.asm +++ /dev/null @@ -1,13 +0,0 @@ -DungeonMons2: - db $0F - db 51,DODRIO - db 51,VENOMOTH - db 51,KADABRA - db 52,RHYDON - db 52,MAROWAK - db 52,ELECTRODE - db 56,CHANSEY - db 54,WIGGLYTUFF - db 55,DITTO - db 60,DITTO - db $00 diff --git a/data/mapWilds/CeruleanCaveB1F.asm b/data/mapWilds/CeruleanCaveB1F.asm deleted file mode 100644 index 245d5912..00000000 --- a/data/mapWilds/CeruleanCaveB1F.asm +++ /dev/null @@ -1,18 +0,0 @@ -DungeonMonsB1: - db $19 - db 55,RHYDON - db 55,MAROWAK - db 55,ELECTRODE - db 64,CHANSEY - db 64,PARASECT - db 64,RAICHU - IF DEF(_RED) - db 57,ARBOK - ENDC - IF DEF(_BLUE) - db 57,SANDSLASH - ENDC - db 65,DITTO - db 63,DITTO - db 67,DITTO - db $00 diff --git a/data/mapWilds/DiglettsCave.asm b/data/mapWilds/DiglettsCave.asm deleted file mode 100755 index 37512687..00000000 --- a/data/mapWilds/DiglettsCave.asm +++ /dev/null @@ -1,13 +0,0 @@ -CaveMons: - db $14 - db 18,DIGLETT - db 19,DIGLETT - db 17,DIGLETT - db 20,DIGLETT - db 16,DIGLETT - db 15,DIGLETT - db 21,DIGLETT - db 22,DIGLETT - db 29,DUGTRIO - db 31,DUGTRIO - db $00 diff --git a/data/mapWilds/MtMoon1F.asm b/data/mapWilds/MtMoon1F.asm deleted file mode 100755 index 44b34c45..00000000 --- a/data/mapWilds/MtMoon1F.asm +++ /dev/null @@ -1,13 +0,0 @@ -MoonMons1: - db $0A - db 8,ZUBAT - db 7,ZUBAT - db 9,ZUBAT - db 8,GEODUDE - db 6,ZUBAT - db 10,ZUBAT - db 10,GEODUDE - db 8,PARAS - db 11,ZUBAT - db 8,CLEFAIRY - db $00 diff --git a/data/mapWilds/MtMoonB1F.asm b/data/mapWilds/MtMoonB1F.asm deleted file mode 100755 index 5c0d8a53..00000000 --- a/data/mapWilds/MtMoonB1F.asm +++ /dev/null @@ -1,13 +0,0 @@ -MoonMonsB1: - db $0A - db 8,ZUBAT - db 7,ZUBAT - db 7,GEODUDE - db 8,GEODUDE - db 9,ZUBAT - db 10,PARAS - db 10,ZUBAT - db 11,ZUBAT - db 9,CLEFAIRY - db 9,GEODUDE - db $00 diff --git a/data/mapWilds/MtMoonB2F.asm b/data/mapWilds/MtMoonB2F.asm deleted file mode 100755 index cbf97e7e..00000000 --- a/data/mapWilds/MtMoonB2F.asm +++ /dev/null @@ -1,13 +0,0 @@ -MoonMonsB2: - db $0A - db 9,ZUBAT - db 9,GEODUDE - db 10,ZUBAT - db 10,GEODUDE - db 11,ZUBAT - db 10,PARAS - db 12,PARAS - db 10,CLEFAIRY - db 12,ZUBAT - db 12,CLEFAIRY - db $00 diff --git a/data/mapWilds/PokemonMansion1F.asm b/data/mapWilds/PokemonMansion1F.asm deleted file mode 100755 index 22ad032b..00000000 --- a/data/mapWilds/PokemonMansion1F.asm +++ /dev/null @@ -1,27 +0,0 @@ -MansionMons1: - db $0A - IF DEF(_RED) - db 32,KOFFING - db 30,KOFFING - db 34,PONYTA - db 30,PONYTA - db 34,GROWLITHE - db 32,PONYTA - db 30,GRIMER - db 28,PONYTA - db 37,WEEZING - db 39,MUK - ENDC - IF DEF(_BLUE) - db 32,GRIMER - db 30,GRIMER - db 34,PONYTA - db 30,PONYTA - db 34,VULPIX - db 32,PONYTA - db 30,KOFFING - db 28,PONYTA - db 37,MUK - db 39,WEEZING - ENDC - db $00 diff --git a/data/mapWilds/PokemonMansion2F.asm b/data/mapWilds/PokemonMansion2F.asm deleted file mode 100755 index 985474fc..00000000 --- a/data/mapWilds/PokemonMansion2F.asm +++ /dev/null @@ -1,27 +0,0 @@ -MansionMons2: - db $0A - IF DEF(_RED) - db 32,GROWLITHE - db 34,KOFFING - db 34,KOFFING - db 30,PONYTA - db 30,KOFFING - db 32,PONYTA - db 30,GRIMER - db 28,PONYTA - db 39,WEEZING - db 37,MUK - ENDC - IF DEF(_BLUE) - db 32,VULPIX - db 34,GRIMER - db 34,GRIMER - db 30,PONYTA - db 30,GRIMER - db 32,PONYTA - db 30,KOFFING - db 28,PONYTA - db 39,MUK - db 37,WEEZING - ENDC - db $00 diff --git a/data/mapWilds/PokemonMansion3F.asm b/data/mapWilds/PokemonMansion3F.asm deleted file mode 100755 index 9c5521ae..00000000 --- a/data/mapWilds/PokemonMansion3F.asm +++ /dev/null @@ -1,27 +0,0 @@ -MansionMons3: - db $0A - IF DEF(_RED) - db 31,KOFFING - db 33,GROWLITHE - db 35,KOFFING - db 32,PONYTA - db 34,PONYTA - db 40,WEEZING - db 34,GRIMER - db 38,WEEZING - db 36,PONYTA - db 42,MUK - ENDC - IF DEF(_BLUE) - db 31,GRIMER - db 33,VULPIX - db 35,GRIMER - db 32,PONYTA - db 34,MAGMAR - db 40,MUK - db 34,KOFFING - db 38,MUK - db 36,PONYTA - db 42,WEEZING - ENDC - db $00 diff --git a/data/mapWilds/PokemonMansionB1F.asm b/data/mapWilds/PokemonMansionB1F.asm deleted file mode 100755 index 83266ddd..00000000 --- a/data/mapWilds/PokemonMansionB1F.asm +++ /dev/null @@ -1,27 +0,0 @@ -MansionMonsB1: - db $0A - IF DEF(_RED) - db 33,KOFFING - db 31,KOFFING - db 35,GROWLITHE - db 32,PONYTA - db 31,KOFFING - db 40,WEEZING - db 34,PONYTA - db 35,GRIMER - db 42,WEEZING - db 42,MUK - ENDC - IF DEF(_BLUE) - db 33,GRIMER - db 31,GRIMER - db 35,VULPIX - db 32,PONYTA - db 31,GRIMER - db 40,MUK - db 34,PONYTA - db 35,KOFFING - db 38,MAGMAR - db 42,WEEZING - ENDC - db $00 diff --git a/data/mapWilds/PokemonTower1F.asm b/data/mapWilds/PokemonTower1F.asm deleted file mode 100755 index df951e70..00000000 --- a/data/mapWilds/PokemonTower1F.asm +++ /dev/null @@ -1,3 +0,0 @@ -TowerMons1: - db $00 - db $00 diff --git a/data/mapWilds/PokemonTower2F.asm b/data/mapWilds/PokemonTower2F.asm deleted file mode 100755 index dcbe0da0..00000000 --- a/data/mapWilds/PokemonTower2F.asm +++ /dev/null @@ -1,3 +0,0 @@ -TowerMons2: - db $00 - db $00 diff --git a/data/mapWilds/PokemonTower3F.asm b/data/mapWilds/PokemonTower3F.asm deleted file mode 100755 index 135ed84f..00000000 --- a/data/mapWilds/PokemonTower3F.asm +++ /dev/null @@ -1,13 +0,0 @@ -TowerMons3: - db $0A - db 20,GASTLY - db 21,GASTLY - db 22,GASTLY - db 23,GASTLY - db 19,GASTLY - db 18,GASTLY - db 24,GASTLY - db 20,CUBONE - db 22,CUBONE - db 25,HAUNTER - db $00 diff --git a/data/mapWilds/PokemonTower4F.asm b/data/mapWilds/PokemonTower4F.asm deleted file mode 100755 index 0c84b0cf..00000000 --- a/data/mapWilds/PokemonTower4F.asm +++ /dev/null @@ -1,13 +0,0 @@ -TowerMons4: - db $0A - db 20,GASTLY - db 21,GASTLY - db 22,GASTLY - db 23,GASTLY - db 19,GASTLY - db 18,GASTLY - db 25,HAUNTER - db 20,CUBONE - db 22,CUBONE - db 24,GASTLY - db $00 diff --git a/data/mapWilds/PokemonTower5F.asm b/data/mapWilds/PokemonTower5F.asm deleted file mode 100755 index 440dbf8d..00000000 --- a/data/mapWilds/PokemonTower5F.asm +++ /dev/null @@ -1,13 +0,0 @@ -TowerMons5: - db $0A - db 20,GASTLY - db 21,GASTLY - db 22,GASTLY - db 23,GASTLY - db 19,GASTLY - db 18,GASTLY - db 25,HAUNTER - db 20,CUBONE - db 22,CUBONE - db 24,GASTLY - db $00 diff --git a/data/mapWilds/PokemonTower6F.asm b/data/mapWilds/PokemonTower6F.asm deleted file mode 100755 index 553fdb5d..00000000 --- a/data/mapWilds/PokemonTower6F.asm +++ /dev/null @@ -1,13 +0,0 @@ -TowerMons6: - db $0F - db 21,GASTLY - db 22,GASTLY - db 23,GASTLY - db 24,GASTLY - db 20,GASTLY - db 19,GASTLY - db 26,HAUNTER - db 22,CUBONE - db 24,CUBONE - db 28,HAUNTER - db $00 diff --git a/data/mapWilds/PokemonTower7F.asm b/data/mapWilds/PokemonTower7F.asm deleted file mode 100755 index 0f7e66e9..00000000 --- a/data/mapWilds/PokemonTower7F.asm +++ /dev/null @@ -1,13 +0,0 @@ -TowerMons7: - db $0F - db 21,GASTLY - db 22,GASTLY - db 23,GASTLY - db 24,GASTLY - db 20,GASTLY - db 28,HAUNTER - db 22,CUBONE - db 24,CUBONE - db 28,HAUNTER - db 30,HAUNTER - db $00 diff --git a/data/mapWilds/PowerPlant.asm b/data/mapWilds/PowerPlant.asm deleted file mode 100755 index 35eece95..00000000 --- a/data/mapWilds/PowerPlant.asm +++ /dev/null @@ -1,19 +0,0 @@ -PowerPlantMons: - db $0A - db 21,VOLTORB - db 21,MAGNEMITE - db 20,PIKACHU - db 24,PIKACHU - db 23,MAGNEMITE - db 23,VOLTORB - db 32,MAGNETON - db 35,MAGNETON - IF DEF(_RED) - db 33,ELECTABUZZ - db 36,ELECTABUZZ - ENDC - IF DEF(_BLUE) - db 33,RAICHU - db 36,RAICHU - ENDC - db $00 diff --git a/data/mapWilds/RockTunnel1F.asm b/data/mapWilds/RockTunnel1F.asm deleted file mode 100755 index a36f2092..00000000 --- a/data/mapWilds/RockTunnel1F.asm +++ /dev/null @@ -1,13 +0,0 @@ -TunnelMonsB1: - db $0F - db 16,ZUBAT - db 17,ZUBAT - db 17,GEODUDE - db 15,MACHOP - db 16,GEODUDE - db 18,ZUBAT - db 15,ZUBAT - db 17,MACHOP - db 13,ONIX - db 15,ONIX - db $00 diff --git a/data/mapWilds/RockTunnelB1F.asm b/data/mapWilds/RockTunnelB1F.asm deleted file mode 100755 index 2fc7ef94..00000000 --- a/data/mapWilds/RockTunnelB1F.asm +++ /dev/null @@ -1,13 +0,0 @@ -TunnelMonsB2: - db $0F - db 16,ZUBAT - db 17,ZUBAT - db 17,GEODUDE - db 15,MACHOP - db 16,GEODUDE - db 18,ZUBAT - db 17,MACHOP - db 17,ONIX - db 13,ONIX - db 18,GEODUDE - db $00 diff --git a/data/mapWilds/Route1.asm b/data/mapWilds/Route1.asm deleted file mode 100755 index f618c34f..00000000 --- a/data/mapWilds/Route1.asm +++ /dev/null @@ -1,13 +0,0 @@ -Route1Mons: - db $19 - db 3,PIDGEY - db 3,RATTATA - db 3,RATTATA - db 2,RATTATA - db 2,PIDGEY - db 3,PIDGEY - db 3,PIDGEY - db 4,RATTATA - db 4,PIDGEY - db 5,PIDGEY - db $00 diff --git a/data/mapWilds/Route10.asm b/data/mapWilds/Route10.asm deleted file mode 100755 index 34e0b5ee..00000000 --- a/data/mapWilds/Route10.asm +++ /dev/null @@ -1,27 +0,0 @@ -Route10Mons: - db $0F - IF DEF(_RED) - db 16,VOLTORB - db 16,SPEAROW - db 14,VOLTORB - db 11,EKANS - db 13,SPEAROW - db 15,EKANS - db 17,VOLTORB - db 17,SPEAROW - db 13,EKANS - db 17,EKANS - ENDC - IF DEF(_BLUE) - db 16,VOLTORB - db 16,SPEAROW - db 14,VOLTORB - db 11,SANDSHREW - db 13,SPEAROW - db 15,SANDSHREW - db 17,VOLTORB - db 17,SPEAROW - db 13,SANDSHREW - db 17,SANDSHREW - ENDC - db $00 diff --git a/data/mapWilds/Route11.asm b/data/mapWilds/Route11.asm deleted file mode 100755 index 9e4e3644..00000000 --- a/data/mapWilds/Route11.asm +++ /dev/null @@ -1,27 +0,0 @@ -Route11Mons: - db $0F - IF DEF(_RED) - db 14,EKANS - db 15,SPEAROW - db 12,EKANS - db 9,DROWZEE - db 13,SPEAROW - db 13,DROWZEE - db 15,EKANS - db 17,SPEAROW - db 11,DROWZEE - db 15,DROWZEE - ENDC - IF DEF(_BLUE) - db 14,SANDSHREW - db 15,SPEAROW - db 12,SANDSHREW - db 9,DROWZEE - db 13,SPEAROW - db 13,DROWZEE - db 15,SANDSHREW - db 17,SPEAROW - db 11,DROWZEE - db 15,DROWZEE - ENDC - db $00 diff --git a/data/mapWilds/Route12.asm b/data/mapWilds/Route12.asm deleted file mode 100755 index 45dfbc9d..00000000 --- a/data/mapWilds/Route12.asm +++ /dev/null @@ -1,27 +0,0 @@ -Route12Mons: - db $0F - IF DEF(_RED) - db 24,ODDISH - db 25,PIDGEY - db 23,PIDGEY - db 24,VENONAT - db 22,ODDISH - db 26,VENONAT - db 26,ODDISH - db 27,PIDGEY - db 28,GLOOM - db 30,GLOOM - ENDC - IF DEF(_BLUE) - db 24,BELLSPROUT - db 25,PIDGEY - db 23,PIDGEY - db 24,VENONAT - db 22,BELLSPROUT - db 26,VENONAT - db 26,BELLSPROUT - db 27,PIDGEY - db 28,WEEPINBELL - db 30,WEEPINBELL - ENDC - db $00 diff --git a/data/mapWilds/Route13.asm b/data/mapWilds/Route13.asm deleted file mode 100755 index 2a1a6cb5..00000000 --- a/data/mapWilds/Route13.asm +++ /dev/null @@ -1,28 +0,0 @@ -Route13Mons: - IF DEF(_RED) - db $14 - db 24,ODDISH - db 25,PIDGEY - db 27,PIDGEY - db 24,VENONAT - db 22,ODDISH - db 26,VENONAT - db 26,ODDISH - db 25,DITTO - db 28,GLOOM - db 30,GLOOM - ENDC - IF DEF(_BLUE) - db $14 - db 24,BELLSPROUT - db 25,PIDGEY - db 27,PIDGEY - db 24,VENONAT - db 22,BELLSPROUT - db 26,VENONAT - db 26,BELLSPROUT - db 25,DITTO - db 28,WEEPINBELL - db 30,WEEPINBELL - ENDC - db $00 diff --git a/data/mapWilds/Route14.asm b/data/mapWilds/Route14.asm deleted file mode 100755 index aad5aa48..00000000 --- a/data/mapWilds/Route14.asm +++ /dev/null @@ -1,27 +0,0 @@ -Route14Mons: - db $0F - IF DEF(_RED) - db 24,ODDISH - db 26,PIDGEY - db 23,DITTO - db 24,VENONAT - db 22,ODDISH - db 26,VENONAT - db 26,ODDISH - db 30,GLOOM - db 28,PIDGEOTTO - db 30,PIDGEOTTO - ENDC - IF DEF(_BLUE) - db 24,BELLSPROUT - db 26,PIDGEY - db 23,DITTO - db 24,VENONAT - db 22,BELLSPROUT - db 26,VENONAT - db 26,BELLSPROUT - db 30,WEEPINBELL - db 28,PIDGEOTTO - db 30,PIDGEOTTO - ENDC - db $00 diff --git a/data/mapWilds/Route15.asm b/data/mapWilds/Route15.asm deleted file mode 100755 index b4762230..00000000 --- a/data/mapWilds/Route15.asm +++ /dev/null @@ -1,27 +0,0 @@ -Route15Mons: - db $0F - IF DEF(_RED) - db 24,ODDISH - db 26,DITTO - db 23,PIDGEY - db 26,VENONAT - db 22,ODDISH - db 28,VENONAT - db 26,ODDISH - db 30,GLOOM - db 28,PIDGEOTTO - db 30,PIDGEOTTO - ENDC - IF DEF(_BLUE) - db 24,BELLSPROUT - db 26,DITTO - db 23,PIDGEY - db 26,VENONAT - db 22,BELLSPROUT - db 28,VENONAT - db 26,BELLSPROUT - db 30,WEEPINBELL - db 28,PIDGEOTTO - db 30,PIDGEOTTO - ENDC - db $00 diff --git a/data/mapWilds/Route16.asm b/data/mapWilds/Route16.asm deleted file mode 100755 index c2421c50..00000000 --- a/data/mapWilds/Route16.asm +++ /dev/null @@ -1,13 +0,0 @@ -Route16Mons: - db $19 - db 20,SPEAROW - db 22,SPEAROW - db 18,RATTATA - db 20,DODUO - db 20,RATTATA - db 18,DODUO - db 22,DODUO - db 22,RATTATA - db 23,RATICATE - db 25,RATICATE - db $00 diff --git a/data/mapWilds/Route17.asm b/data/mapWilds/Route17.asm deleted file mode 100755 index 8dffd9a3..00000000 --- a/data/mapWilds/Route17.asm +++ /dev/null @@ -1,13 +0,0 @@ -Route17Mons: - db $19 - db 20,SPEAROW - db 22,SPEAROW - db 25,RATICATE - db 24,DODUO - db 27,RATICATE - db 26,DODUO - db 28,DODUO - db 29,RATICATE - db 25,FEAROW - db 27,FEAROW - db $00 diff --git a/data/mapWilds/Route18.asm b/data/mapWilds/Route18.asm deleted file mode 100755 index 47bd247d..00000000 --- a/data/mapWilds/Route18.asm +++ /dev/null @@ -1,13 +0,0 @@ -Route18Mons: - db $19 - db 20,SPEAROW - db 22,SPEAROW - db 25,RATICATE - db 24,DODUO - db 25,FEAROW - db 26,DODUO - db 28,DODUO - db 29,RATICATE - db 27,FEAROW - db 29,FEAROW - db $00 diff --git a/data/mapWilds/Route2.asm b/data/mapWilds/Route2.asm deleted file mode 100755 index ad958ea5..00000000 --- a/data/mapWilds/Route2.asm +++ /dev/null @@ -1,24 +0,0 @@ -Route2Mons: - db $19 - db 3,RATTATA - db 3,PIDGEY - db 4,PIDGEY - db 4,RATTATA - db 5,PIDGEY - IF DEF(_RED) - db 3,WEEDLE - ENDC - IF DEF(_BLUE) - db 3,CATERPIE - ENDC - db 2,RATTATA - db 5,RATTATA - IF DEF(_RED) - db 4,WEEDLE - db 5,WEEDLE - ENDC - IF DEF(_BLUE) - db 4,CATERPIE - db 5,CATERPIE - ENDC - db $00 diff --git a/data/mapWilds/Route21.asm b/data/mapWilds/Route21.asm deleted file mode 100755 index 3cc73ba0..00000000 --- a/data/mapWilds/Route21.asm +++ /dev/null @@ -1,23 +0,0 @@ -Route21Mons: - db $19 - db 21,RATTATA - db 23,PIDGEY - db 30,RATICATE - db 23,RATTATA - db 21,PIDGEY - db 30,PIDGEOTTO - db 32,PIDGEOTTO - db 28,TANGELA - db 30,TANGELA - db 32,TANGELA - db $05 - db 5,TENTACOOL - db 10,TENTACOOL - db 15,TENTACOOL - db 5,TENTACOOL - db 10,TENTACOOL - db 15,TENTACOOL - db 20,TENTACOOL - db 30,TENTACOOL - db 35,TENTACOOL - db 40,TENTACOOL diff --git a/data/mapWilds/Route22.asm b/data/mapWilds/Route22.asm deleted file mode 100755 index 750a2f4e..00000000 --- a/data/mapWilds/Route22.asm +++ /dev/null @@ -1,27 +0,0 @@ -Route22Mons: - db $19 - IF DEF(_RED) - db 3,RATTATA - db 3,NIDORAN_M - db 4,RATTATA - db 4,NIDORAN_M - db 2,RATTATA - db 2,NIDORAN_M - db 3,SPEAROW - db 5,SPEAROW - db 3,NIDORAN_F - db 4,NIDORAN_F - ENDC - IF DEF(_BLUE) - db 3,RATTATA - db 3,NIDORAN_F - db 4,RATTATA - db 4,NIDORAN_F - db 2,RATTATA - db 2,NIDORAN_F - db 3,SPEAROW - db 5,SPEAROW - db 3,NIDORAN_M - db 4,NIDORAN_M - ENDC - db $00 diff --git a/data/mapWilds/Route23.asm b/data/mapWilds/Route23.asm deleted file mode 100755 index a057d24d..00000000 --- a/data/mapWilds/Route23.asm +++ /dev/null @@ -1,23 +0,0 @@ -Route23Mons: - db $0A - IF DEF(_RED) - db 26,EKANS - ENDC - IF DEF(_BLUE) - db 26,SANDSHREW - ENDC - db 33,DITTO - db 26,SPEAROW - db 38,FEAROW - db 38,DITTO - db 38,FEAROW - IF DEF(_RED) - db 41,ARBOK - ENDC - IF DEF(_BLUE) - db 41,SANDSLASH - ENDC - db 43,DITTO - db 41,FEAROW - db 43,FEAROW - db $00 diff --git a/data/mapWilds/Route24.asm b/data/mapWilds/Route24.asm deleted file mode 100755 index 3a745f36..00000000 --- a/data/mapWilds/Route24.asm +++ /dev/null @@ -1,27 +0,0 @@ -Route24Mons: - db $19 - IF DEF(_RED) - db 7,WEEDLE - db 8,KAKUNA - db 12,PIDGEY - db 12,ODDISH - db 13,ODDISH - db 10,ABRA - db 14,ODDISH - db 13,PIDGEY - db 8,ABRA - db 12,ABRA - ENDC - IF DEF(_BLUE) - db 7,CATERPIE - db 8,METAPOD - db 12,PIDGEY - db 12,BELLSPROUT - db 13,BELLSPROUT - db 10,ABRA - db 14,BELLSPROUT - db 13,PIDGEY - db 8,ABRA - db 12,ABRA - ENDC - db $00 diff --git a/data/mapWilds/Route25.asm b/data/mapWilds/Route25.asm deleted file mode 100755 index 4884fa64..00000000 --- a/data/mapWilds/Route25.asm +++ /dev/null @@ -1,27 +0,0 @@ -Route25Mons: - db $0F - IF DEF(_RED) - db 8,WEEDLE - db 9,KAKUNA - db 13,PIDGEY - db 12,ODDISH - db 13,ODDISH - db 12,ABRA - db 14,ODDISH - db 10,ABRA - db 7,METAPOD - db 8,CATERPIE - ENDC - IF DEF(_BLUE) - db 8,CATERPIE - db 9,METAPOD - db 13,PIDGEY - db 12,BELLSPROUT - db 13,BELLSPROUT - db 12,ABRA - db 14,BELLSPROUT - db 10,ABRA - db 7,KAKUNA - db 8,WEEDLE - ENDC - db $00 diff --git a/data/mapWilds/Route3.asm b/data/mapWilds/Route3.asm deleted file mode 100755 index dea820a4..00000000 --- a/data/mapWilds/Route3.asm +++ /dev/null @@ -1,13 +0,0 @@ -Route3Mons: - db $14 - db 6,PIDGEY - db 5,SPEAROW - db 7,PIDGEY - db 6,SPEAROW - db 7,SPEAROW - db 8,PIDGEY - db 8,SPEAROW - db 3,JIGGLYPUFF - db 5,JIGGLYPUFF - db 7,JIGGLYPUFF - db $00 diff --git a/data/mapWilds/Route4.asm b/data/mapWilds/Route4.asm deleted file mode 100755 index 624d58de..00000000 --- a/data/mapWilds/Route4.asm +++ /dev/null @@ -1,27 +0,0 @@ -Route4Mons: - db $14 - IF DEF(_RED) - db 10,RATTATA - db 10,SPEAROW - db 8,RATTATA - db 6,EKANS - db 8,SPEAROW - db 10,EKANS - db 12,RATTATA - db 12,SPEAROW - db 8,EKANS - db 12,EKANS - ENDC - IF DEF(_BLUE) - db 10,RATTATA - db 10,SPEAROW - db 8,RATTATA - db 6,SANDSHREW - db 8,SPEAROW - db 10,SANDSHREW - db 12,RATTATA - db 12,SPEAROW - db 8,SANDSHREW - db 12,SANDSHREW - ENDC - db $00 diff --git a/data/mapWilds/Route5.asm b/data/mapWilds/Route5.asm deleted file mode 100755 index cb8c583b..00000000 --- a/data/mapWilds/Route5.asm +++ /dev/null @@ -1,27 +0,0 @@ -Route5Mons: - db $0F - IF DEF(_RED) - db 13,ODDISH - db 13,PIDGEY - db 15,PIDGEY - db 10,MANKEY - db 12,MANKEY - db 15,ODDISH - db 16,ODDISH - db 16,PIDGEY - db 14,MANKEY - db 16,MANKEY - ENDC - IF DEF(_BLUE) - db 13,BELLSPROUT - db 13,PIDGEY - db 15,PIDGEY - db 10,MEOWTH - db 12,MEOWTH - db 15,BELLSPROUT - db 16,BELLSPROUT - db 16,PIDGEY - db 14,MEOWTH - db 16,MEOWTH - ENDC - db $00 diff --git a/data/mapWilds/Route6.asm b/data/mapWilds/Route6.asm deleted file mode 100755 index 92512ffb..00000000 --- a/data/mapWilds/Route6.asm +++ /dev/null @@ -1,27 +0,0 @@ -Route6Mons: - db $0F - IF DEF(_RED) - db 13,ODDISH - db 13,PIDGEY - db 15,PIDGEY - db 10,MANKEY - db 12,MANKEY - db 15,ODDISH - db 16,ODDISH - db 16,PIDGEY - db 14,MANKEY - db 16,MANKEY - ENDC - IF DEF(_BLUE) - db 13,BELLSPROUT - db 13,PIDGEY - db 15,PIDGEY - db 10,MEOWTH - db 12,MEOWTH - db 15,BELLSPROUT - db 16,BELLSPROUT - db 16,PIDGEY - db 14,MEOWTH - db 16,MEOWTH - ENDC - db $00 diff --git a/data/mapWilds/Route7.asm b/data/mapWilds/Route7.asm deleted file mode 100755 index 559c98ee..00000000 --- a/data/mapWilds/Route7.asm +++ /dev/null @@ -1,27 +0,0 @@ -Route7Mons: - db $0F - IF DEF(_RED) - db 19,PIDGEY - db 19,ODDISH - db 17,MANKEY - db 22,ODDISH - db 22,PIDGEY - db 18,MANKEY - db 18,GROWLITHE - db 20,GROWLITHE - db 19,MANKEY - db 20,MANKEY - ENDC - IF DEF(_BLUE) - db 19,PIDGEY - db 19,BELLSPROUT - db 17,MEOWTH - db 22,BELLSPROUT - db 22,PIDGEY - db 18,MEOWTH - db 18,VULPIX - db 20,VULPIX - db 19,MEOWTH - db 20,MEOWTH - ENDC - db $00 diff --git a/data/mapWilds/Route8.asm b/data/mapWilds/Route8.asm deleted file mode 100755 index 8a0bfa31..00000000 --- a/data/mapWilds/Route8.asm +++ /dev/null @@ -1,27 +0,0 @@ -Route8Mons: - db $0F - IF DEF(_RED) - db 18,PIDGEY - db 18,MANKEY - db 17,EKANS - db 16,GROWLITHE - db 20,PIDGEY - db 20,MANKEY - db 19,EKANS - db 17,GROWLITHE - db 15,GROWLITHE - db 18,GROWLITHE - ENDC - IF DEF(_BLUE) - db 18,PIDGEY - db 18,MEOWTH - db 17,SANDSHREW - db 16,VULPIX - db 20,PIDGEY - db 20,MEOWTH - db 19,SANDSHREW - db 17,VULPIX - db 15,VULPIX - db 18,VULPIX - ENDC - db $00 diff --git a/data/mapWilds/Route9.asm b/data/mapWilds/Route9.asm deleted file mode 100755 index 716589b0..00000000 --- a/data/mapWilds/Route9.asm +++ /dev/null @@ -1,27 +0,0 @@ -Route9Mons: - db $0F - IF DEF(_RED) - db 16,RATTATA - db 16,SPEAROW - db 14,RATTATA - db 11,EKANS - db 13,SPEAROW - db 15,EKANS - db 17,RATTATA - db 17,SPEAROW - db 13,EKANS - db 17,EKANS - ENDC - IF DEF(_BLUE) - db 16,RATTATA - db 16,SPEAROW - db 14,RATTATA - db 11,SANDSHREW - db 13,SPEAROW - db 15,SANDSHREW - db 17,RATTATA - db 17,SPEAROW - db 13,SANDSHREW - db 17,SANDSHREW - ENDC - db $00 diff --git a/data/mapWilds/SafariZoneCenter.asm b/data/mapWilds/SafariZoneCenter.asm deleted file mode 100755 index 0cd5323a..00000000 --- a/data/mapWilds/SafariZoneCenter.asm +++ /dev/null @@ -1,27 +0,0 @@ -ZoneMonsCenter: - db $1E - IF DEF(_RED) - db 22,NIDORAN_M - db 25,RHYHORN - db 22,VENONAT - db 24,EXEGGCUTE - db 31,NIDORINO - db 25,EXEGGCUTE - db 31,NIDORINA - db 30,PARASECT - db 23,SCYTHER - db 23,CHANSEY - ENDC - IF DEF(_BLUE) - db 22,NIDORAN_F - db 25,RHYHORN - db 22,VENONAT - db 24,EXEGGCUTE - db 31,NIDORINA - db 25,EXEGGCUTE - db 31,NIDORINO - db 30,PARASECT - db 23,PINSIR - db 23,CHANSEY - ENDC - db $00 diff --git a/data/mapWilds/SafariZoneEast.asm b/data/mapWilds/SafariZoneEast.asm deleted file mode 100755 index 3d77b6fe..00000000 --- a/data/mapWilds/SafariZoneEast.asm +++ /dev/null @@ -1,27 +0,0 @@ -ZoneMons1: - db $1E - IF DEF(_RED) - db 24,NIDORAN_M - db 26,DODUO - db 22,PARAS - db 25,EXEGGCUTE - db 33,NIDORINO - db 23,EXEGGCUTE - db 24,NIDORAN_F - db 25,PARASECT - db 25,KANGASKHAN - db 28,SCYTHER - ENDC - IF DEF(_BLUE) - db 24,NIDORAN_F - db 26,DODUO - db 22,PARAS - db 25,EXEGGCUTE - db 33,NIDORINA - db 23,EXEGGCUTE - db 24,NIDORAN_M - db 25,PARASECT - db 25,KANGASKHAN - db 28,PINSIR - ENDC - db $00 diff --git a/data/mapWilds/SafariZoneNorth.asm b/data/mapWilds/SafariZoneNorth.asm deleted file mode 100755 index c1b6a547..00000000 --- a/data/mapWilds/SafariZoneNorth.asm +++ /dev/null @@ -1,28 +0,0 @@ -ZoneMons2: - db $1E - IF DEF(_RED) - db 22,NIDORAN_M - ENDC - IF DEF(_BLUE) - db 22,NIDORAN_F - ENDC - db 26,RHYHORN - db 23,PARAS - db 25,EXEGGCUTE - IF DEF(_RED) - db 30,NIDORINO - ENDC - IF DEF(_BLUE) - db 30,NIDORINA - ENDC - db 27,EXEGGCUTE - IF DEF(_RED) - db 30,NIDORINA - ENDC - IF DEF(_BLUE) - db 30,NIDORINO - ENDC - db 32,VENOMOTH - db 26,CHANSEY - db 28,TAUROS - db $00 diff --git a/data/mapWilds/SafariZoneWest.asm b/data/mapWilds/SafariZoneWest.asm deleted file mode 100755 index 47b6a102..00000000 --- a/data/mapWilds/SafariZoneWest.asm +++ /dev/null @@ -1,27 +0,0 @@ -ZoneMons3: - db $1E - IF DEF(_RED) - db 25,NIDORAN_M - db 26,DODUO - db 23,VENONAT - db 24,EXEGGCUTE - db 33,NIDORINO - db 26,EXEGGCUTE - db 25,NIDORAN_F - db 31,VENOMOTH - db 26,TAUROS - db 28,KANGASKHAN - ENDC - IF DEF(_BLUE) - db 25,NIDORAN_F - db 26,DODUO - db 23,VENONAT - db 24,EXEGGCUTE - db 33,NIDORINA - db 26,EXEGGCUTE - db 25,NIDORAN_M - db 31,VENOMOTH - db 26,TAUROS - db 28,KANGASKHAN - ENDC - db $00 diff --git a/data/mapWilds/SeaRoutes.asm b/data/mapWilds/SeaRoutes.asm deleted file mode 100755 index 07c6a187..00000000 --- a/data/mapWilds/SeaRoutes.asm +++ /dev/null @@ -1,13 +0,0 @@ -WaterMons: - db $00 - db $05 - db 5,TENTACOOL - db 10,TENTACOOL - db 15,TENTACOOL - db 5,TENTACOOL - db 10,TENTACOOL - db 15,TENTACOOL - db 20,TENTACOOL - db 30,TENTACOOL - db 35,TENTACOOL - db 40,TENTACOOL diff --git a/data/mapWilds/SeafoamIslands1F.asm b/data/mapWilds/SeafoamIslands1F.asm deleted file mode 100755 index 3c431f9a..00000000 --- a/data/mapWilds/SeafoamIslands1F.asm +++ /dev/null @@ -1,27 +0,0 @@ -IslandMons1: - db $0F - IF DEF(_RED) - db 30,SEEL - db 30,SLOWPOKE - db 30,SHELLDER - db 30,HORSEA - db 28,HORSEA - db 21,ZUBAT - db 29,GOLBAT - db 28,PSYDUCK - db 28,SHELLDER - db 38,GOLDUCK - ENDC - IF DEF(_BLUE) - db 30,SEEL - db 30,PSYDUCK - db 30,STARYU - db 30,KRABBY - db 28,KRABBY - db 21,ZUBAT - db 29,GOLBAT - db 28,SLOWPOKE - db 28,STARYU - db 38,SLOWBRO - ENDC - db $00 diff --git a/data/mapWilds/SeafoamIslandsB1F.asm b/data/mapWilds/SeafoamIslandsB1F.asm deleted file mode 100755 index 6f96f240..00000000 --- a/data/mapWilds/SeafoamIslandsB1F.asm +++ /dev/null @@ -1,27 +0,0 @@ -IslandMonsB1: - db $0A - IF DEF(_RED) - db 30,STARYU - db 30,HORSEA - db 32,SHELLDER - db 32,HORSEA - db 28,SLOWPOKE - db 30,SEEL - db 30,SLOWPOKE - db 28,SEEL - db 38,DEWGONG - db 37,SEADRA - ENDC - IF DEF(_BLUE) - db 30,SHELLDER - db 30,KRABBY - db 32,STARYU - db 32,KRABBY - db 28,PSYDUCK - db 30,SEEL - db 30,PSYDUCK - db 28,SEEL - db 38,DEWGONG - db 37,KINGLER - ENDC - db $00 diff --git a/data/mapWilds/SeafoamIslandsB2F.asm b/data/mapWilds/SeafoamIslandsB2F.asm deleted file mode 100755 index 7191fea9..00000000 --- a/data/mapWilds/SeafoamIslandsB2F.asm +++ /dev/null @@ -1,27 +0,0 @@ -IslandMonsB2: - db $0A - IF DEF(_RED) - db 30,SEEL - db 30,SLOWPOKE - db 32,SEEL - db 32,SLOWPOKE - db 28,HORSEA - db 30,STARYU - db 30,HORSEA - db 28,SHELLDER - db 30,GOLBAT - db 37,SLOWBRO - ENDC - IF DEF(_BLUE) - db 30,SEEL - db 30,PSYDUCK - db 32,SEEL - db 32,PSYDUCK - db 28,KRABBY - db 30,SHELLDER - db 30,KRABBY - db 28,STARYU - db 30,GOLBAT - db 37,GOLDUCK - ENDC - db $00 diff --git a/data/mapWilds/SeafoamIslandsB3F.asm b/data/mapWilds/SeafoamIslandsB3F.asm deleted file mode 100755 index 9778c0e9..00000000 --- a/data/mapWilds/SeafoamIslandsB3F.asm +++ /dev/null @@ -1,27 +0,0 @@ -IslandMonsB3: - db $0A - IF DEF(_RED) - db 31,SLOWPOKE - db 31,SEEL - db 33,SLOWPOKE - db 33,SEEL - db 29,HORSEA - db 31,SHELLDER - db 31,HORSEA - db 29,SHELLDER - db 39,SEADRA - db 37,DEWGONG - ENDC - IF DEF(_BLUE) - db 31,PSYDUCK - db 31,SEEL - db 33,PSYDUCK - db 33,SEEL - db 29,KRABBY - db 31,STARYU - db 31,KRABBY - db 29,STARYU - db 39,KINGLER - db 37,DEWGONG - ENDC - db $00 diff --git a/data/mapWilds/SeafoamIslandsB4F.asm b/data/mapWilds/SeafoamIslandsB4F.asm deleted file mode 100755 index 3948470b..00000000 --- a/data/mapWilds/SeafoamIslandsB4F.asm +++ /dev/null @@ -1,27 +0,0 @@ -IslandMonsB4: - db $0A - IF DEF(_RED) - db 31,HORSEA - db 31,SHELLDER - db 33,HORSEA - db 33,SHELLDER - db 29,SLOWPOKE - db 31,SEEL - db 31,SLOWPOKE - db 29,SEEL - db 39,SLOWBRO - db 32,GOLBAT - ENDC - IF DEF(_BLUE) - db 31,KRABBY - db 31,STARYU - db 33,KRABBY - db 33,STARYU - db 29,PSYDUCK - db 31,SEEL - db 31,PSYDUCK - db 29,SEEL - db 39,GOLDUCK - db 32,GOLBAT - ENDC - db $00 diff --git a/data/mapWilds/VictoryRoad1F.asm b/data/mapWilds/VictoryRoad1F.asm deleted file mode 100755 index 60aae31a..00000000 --- a/data/mapWilds/VictoryRoad1F.asm +++ /dev/null @@ -1,13 +0,0 @@ -PlateauMons1: - db $0F - db 24,MACHOP - db 26,GEODUDE - db 22,ZUBAT - db 36,ONIX - db 39,ONIX - db 42,ONIX - db 41,GRAVELER - db 41,GOLBAT - db 42,MACHOKE - db 43,MAROWAK - db $00 diff --git a/data/mapWilds/VictoryRoad2F.asm b/data/mapWilds/VictoryRoad2F.asm deleted file mode 100755 index 580d644d..00000000 --- a/data/mapWilds/VictoryRoad2F.asm +++ /dev/null @@ -1,13 +0,0 @@ -PlateauMons2: - db $0A - db 22,MACHOP - db 24,GEODUDE - db 26,ZUBAT - db 36,ONIX - db 39,ONIX - db 42,ONIX - db 41,MACHOKE - db 40,GOLBAT - db 40,MAROWAK - db 43,GRAVELER - db $00 diff --git a/data/mapWilds/VictoryRoad3F.asm b/data/mapWilds/VictoryRoad3F.asm deleted file mode 100755 index 80d7ef3e..00000000 --- a/data/mapWilds/VictoryRoad3F.asm +++ /dev/null @@ -1,13 +0,0 @@ -PlateauMons3: - db $0F - db 24,MACHOP - db 26,GEODUDE - db 22,ZUBAT - db 42,ONIX - db 40,VENOMOTH - db 45,ONIX - db 43,GRAVELER - db 41,GOLBAT - db 42,MACHOKE - db 45,MACHOKE - db $00 diff --git a/data/mapWilds/ViridianForest.asm b/data/mapWilds/ViridianForest.asm deleted file mode 100755 index ae9a5a70..00000000 --- a/data/mapWilds/ViridianForest.asm +++ /dev/null @@ -1,25 +0,0 @@ -ForestMons: - db $08 - IF DEF(_RED) - db 4,WEEDLE - db 5,KAKUNA - db 3,WEEDLE - db 5,WEEDLE - db 4,KAKUNA - db 6,KAKUNA - db 4,METAPOD - db 3,CATERPIE - ENDC - IF DEF(_BLUE) - db 4,CATERPIE - db 5,METAPOD - db 3,CATERPIE - db 5,CATERPIE - db 4,METAPOD - db 6,METAPOD - db 4,KAKUNA - db 3,WEEDLE - ENDC - db 3,PIKACHU - db 5,PIKACHU - db $00 diff --git a/data/mapWilds/nothing.asm b/data/mapWilds/nothing.asm deleted file mode 100755 index ce7f7ede..00000000 --- a/data/mapWilds/nothing.asm +++ /dev/null @@ -1,3 +0,0 @@ -NoMons: - db $00 - db $00 diff --git a/data/wild/grass_water.asm b/data/wild/grass_water.asm index 5697300e..f1dd461e 100755 --- a/data/wild/grass_water.asm +++ b/data/wild/grass_water.asm @@ -260,62 +260,62 @@ WildDataPointers: ; followed by 20 bytes: ; level, species (ten times) -INCLUDE "data/mapWilds/nothing.asm" -INCLUDE "data/mapWilds/Route1.asm" -INCLUDE "data/mapWilds/Route2.asm" -INCLUDE "data/mapWilds/Route22.asm" -INCLUDE "data/mapWilds/ViridianForest.asm" -INCLUDE "data/mapWilds/Route3.asm" -INCLUDE "data/mapWilds/MtMoon1F.asm" -INCLUDE "data/mapWilds/MtMoonB1F.asm" -INCLUDE "data/mapWilds/MtMoonB2F.asm" -INCLUDE "data/mapWilds/Route4.asm" -INCLUDE "data/mapWilds/Route24.asm" -INCLUDE "data/mapWilds/Route25.asm" -INCLUDE "data/mapWilds/Route9.asm" -INCLUDE "data/mapWilds/Route5.asm" -INCLUDE "data/mapWilds/Route6.asm" -INCLUDE "data/mapWilds/Route11.asm" -INCLUDE "data/mapWilds/RockTunnel1F.asm" -INCLUDE "data/mapWilds/RockTunnelB1F.asm" -INCLUDE "data/mapWilds/Route10.asm" -INCLUDE "data/mapWilds/Route12.asm" -INCLUDE "data/mapWilds/Route8.asm" -INCLUDE "data/mapWilds/Route7.asm" -INCLUDE "data/mapWilds/PokemonTower1F.asm" -INCLUDE "data/mapWilds/PokemonTower2F.asm" -INCLUDE "data/mapWilds/PokemonTower3F.asm" -INCLUDE "data/mapWilds/PokemonTower4F.asm" -INCLUDE "data/mapWilds/PokemonTower5F.asm" -INCLUDE "data/mapWilds/PokemonTower6F.asm" -INCLUDE "data/mapWilds/PokemonTower7F.asm" -INCLUDE "data/mapWilds/Route13.asm" -INCLUDE "data/mapWilds/Route14.asm" -INCLUDE "data/mapWilds/Route15.asm" -INCLUDE "data/mapWilds/Route16.asm" -INCLUDE "data/mapWilds/Route17.asm" -INCLUDE "data/mapWilds/Route18.asm" -INCLUDE "data/mapWilds/SafariZoneCenter.asm" -INCLUDE "data/mapWilds/SafariZoneEast.asm" -INCLUDE "data/mapWilds/SafariZoneNorth.asm" -INCLUDE "data/mapWilds/SafariZoneWest.asm" -INCLUDE "data/mapWilds/SeaRoutes.asm" -INCLUDE "data/mapWilds/SeafoamIslands1F.asm" -INCLUDE "data/mapWilds/SeafoamIslandsB1F.asm" -INCLUDE "data/mapWilds/SeafoamIslandsB2F.asm" -INCLUDE "data/mapWilds/SeafoamIslandsB3F.asm" -INCLUDE "data/mapWilds/SeafoamIslandsB4F.asm" -INCLUDE "data/mapWilds/PokemonMansion1F.asm" -INCLUDE "data/mapWilds/PokemonMansion2F.asm" -INCLUDE "data/mapWilds/PokemonMansion3F.asm" -INCLUDE "data/mapWilds/PokemonMansionB1F.asm" -INCLUDE "data/mapWilds/Route21.asm" -INCLUDE "data/mapWilds/CeruleanCave1F.asm" -INCLUDE "data/mapWilds/CeruleanCave2F.asm" -INCLUDE "data/mapWilds/CeruleanCaveB1F.asm" -INCLUDE "data/mapWilds/PowerPlant.asm" -INCLUDE "data/mapWilds/Route23.asm" -INCLUDE "data/mapWilds/VictoryRoad2F.asm" -INCLUDE "data/mapWilds/VictoryRoad3F.asm" -INCLUDE "data/mapWilds/VictoryRoad1F.asm" -INCLUDE "data/mapWilds/DiglettsCave.asm" +INCLUDE "data/wild/maps/nothing.asm" +INCLUDE "data/wild/maps/Route1.asm" +INCLUDE "data/wild/maps/Route2.asm" +INCLUDE "data/wild/maps/Route22.asm" +INCLUDE "data/wild/maps/ViridianForest.asm" +INCLUDE "data/wild/maps/Route3.asm" +INCLUDE "data/wild/maps/MtMoon1F.asm" +INCLUDE "data/wild/maps/MtMoonB1F.asm" +INCLUDE "data/wild/maps/MtMoonB2F.asm" +INCLUDE "data/wild/maps/Route4.asm" +INCLUDE "data/wild/maps/Route24.asm" +INCLUDE "data/wild/maps/Route25.asm" +INCLUDE "data/wild/maps/Route9.asm" +INCLUDE "data/wild/maps/Route5.asm" +INCLUDE "data/wild/maps/Route6.asm" +INCLUDE "data/wild/maps/Route11.asm" +INCLUDE "data/wild/maps/RockTunnel1F.asm" +INCLUDE "data/wild/maps/RockTunnelB1F.asm" +INCLUDE "data/wild/maps/Route10.asm" +INCLUDE "data/wild/maps/Route12.asm" +INCLUDE "data/wild/maps/Route8.asm" +INCLUDE "data/wild/maps/Route7.asm" +INCLUDE "data/wild/maps/PokemonTower1F.asm" +INCLUDE "data/wild/maps/PokemonTower2F.asm" +INCLUDE "data/wild/maps/PokemonTower3F.asm" +INCLUDE "data/wild/maps/PokemonTower4F.asm" +INCLUDE "data/wild/maps/PokemonTower5F.asm" +INCLUDE "data/wild/maps/PokemonTower6F.asm" +INCLUDE "data/wild/maps/PokemonTower7F.asm" +INCLUDE "data/wild/maps/Route13.asm" +INCLUDE "data/wild/maps/Route14.asm" +INCLUDE "data/wild/maps/Route15.asm" +INCLUDE "data/wild/maps/Route16.asm" +INCLUDE "data/wild/maps/Route17.asm" +INCLUDE "data/wild/maps/Route18.asm" +INCLUDE "data/wild/maps/SafariZoneCenter.asm" +INCLUDE "data/wild/maps/SafariZoneEast.asm" +INCLUDE "data/wild/maps/SafariZoneNorth.asm" +INCLUDE "data/wild/maps/SafariZoneWest.asm" +INCLUDE "data/wild/maps/SeaRoutes.asm" +INCLUDE "data/wild/maps/SeafoamIslands1F.asm" +INCLUDE "data/wild/maps/SeafoamIslandsB1F.asm" +INCLUDE "data/wild/maps/SeafoamIslandsB2F.asm" +INCLUDE "data/wild/maps/SeafoamIslandsB3F.asm" +INCLUDE "data/wild/maps/SeafoamIslandsB4F.asm" +INCLUDE "data/wild/maps/PokemonMansion1F.asm" +INCLUDE "data/wild/maps/PokemonMansion2F.asm" +INCLUDE "data/wild/maps/PokemonMansion3F.asm" +INCLUDE "data/wild/maps/PokemonMansionB1F.asm" +INCLUDE "data/wild/maps/Route21.asm" +INCLUDE "data/wild/maps/CeruleanCave1F.asm" +INCLUDE "data/wild/maps/CeruleanCave2F.asm" +INCLUDE "data/wild/maps/CeruleanCaveB1F.asm" +INCLUDE "data/wild/maps/PowerPlant.asm" +INCLUDE "data/wild/maps/Route23.asm" +INCLUDE "data/wild/maps/VictoryRoad2F.asm" +INCLUDE "data/wild/maps/VictoryRoad3F.asm" +INCLUDE "data/wild/maps/VictoryRoad1F.asm" +INCLUDE "data/wild/maps/DiglettsCave.asm" diff --git a/data/wild/maps/CeruleanCave1F.asm b/data/wild/maps/CeruleanCave1F.asm new file mode 100644 index 00000000..20e8643a --- /dev/null +++ b/data/wild/maps/CeruleanCave1F.asm @@ -0,0 +1,18 @@ +DungeonMons1: + db $0A + db 46,GOLBAT + db 46,HYPNO + db 46,MAGNETON + db 49,DODRIO + db 49,VENOMOTH + IF DEF(_RED) + db 52,ARBOK + ENDC + IF DEF(_BLUE) + db 52,SANDSLASH + ENDC + db 49,KADABRA + db 52,PARASECT + db 53,RAICHU + db 53,DITTO + db $00 diff --git a/data/wild/maps/CeruleanCave2F.asm b/data/wild/maps/CeruleanCave2F.asm new file mode 100644 index 00000000..5afe55ac --- /dev/null +++ b/data/wild/maps/CeruleanCave2F.asm @@ -0,0 +1,13 @@ +DungeonMons2: + db $0F + db 51,DODRIO + db 51,VENOMOTH + db 51,KADABRA + db 52,RHYDON + db 52,MAROWAK + db 52,ELECTRODE + db 56,CHANSEY + db 54,WIGGLYTUFF + db 55,DITTO + db 60,DITTO + db $00 diff --git a/data/wild/maps/CeruleanCaveB1F.asm b/data/wild/maps/CeruleanCaveB1F.asm new file mode 100644 index 00000000..245d5912 --- /dev/null +++ b/data/wild/maps/CeruleanCaveB1F.asm @@ -0,0 +1,18 @@ +DungeonMonsB1: + db $19 + db 55,RHYDON + db 55,MAROWAK + db 55,ELECTRODE + db 64,CHANSEY + db 64,PARASECT + db 64,RAICHU + IF DEF(_RED) + db 57,ARBOK + ENDC + IF DEF(_BLUE) + db 57,SANDSLASH + ENDC + db 65,DITTO + db 63,DITTO + db 67,DITTO + db $00 diff --git a/data/wild/maps/DiglettsCave.asm b/data/wild/maps/DiglettsCave.asm new file mode 100755 index 00000000..37512687 --- /dev/null +++ b/data/wild/maps/DiglettsCave.asm @@ -0,0 +1,13 @@ +CaveMons: + db $14 + db 18,DIGLETT + db 19,DIGLETT + db 17,DIGLETT + db 20,DIGLETT + db 16,DIGLETT + db 15,DIGLETT + db 21,DIGLETT + db 22,DIGLETT + db 29,DUGTRIO + db 31,DUGTRIO + db $00 diff --git a/data/wild/maps/MtMoon1F.asm b/data/wild/maps/MtMoon1F.asm new file mode 100755 index 00000000..44b34c45 --- /dev/null +++ b/data/wild/maps/MtMoon1F.asm @@ -0,0 +1,13 @@ +MoonMons1: + db $0A + db 8,ZUBAT + db 7,ZUBAT + db 9,ZUBAT + db 8,GEODUDE + db 6,ZUBAT + db 10,ZUBAT + db 10,GEODUDE + db 8,PARAS + db 11,ZUBAT + db 8,CLEFAIRY + db $00 diff --git a/data/wild/maps/MtMoonB1F.asm b/data/wild/maps/MtMoonB1F.asm new file mode 100755 index 00000000..5c0d8a53 --- /dev/null +++ b/data/wild/maps/MtMoonB1F.asm @@ -0,0 +1,13 @@ +MoonMonsB1: + db $0A + db 8,ZUBAT + db 7,ZUBAT + db 7,GEODUDE + db 8,GEODUDE + db 9,ZUBAT + db 10,PARAS + db 10,ZUBAT + db 11,ZUBAT + db 9,CLEFAIRY + db 9,GEODUDE + db $00 diff --git a/data/wild/maps/MtMoonB2F.asm b/data/wild/maps/MtMoonB2F.asm new file mode 100755 index 00000000..cbf97e7e --- /dev/null +++ b/data/wild/maps/MtMoonB2F.asm @@ -0,0 +1,13 @@ +MoonMonsB2: + db $0A + db 9,ZUBAT + db 9,GEODUDE + db 10,ZUBAT + db 10,GEODUDE + db 11,ZUBAT + db 10,PARAS + db 12,PARAS + db 10,CLEFAIRY + db 12,ZUBAT + db 12,CLEFAIRY + db $00 diff --git a/data/wild/maps/PokemonMansion1F.asm b/data/wild/maps/PokemonMansion1F.asm new file mode 100755 index 00000000..22ad032b --- /dev/null +++ b/data/wild/maps/PokemonMansion1F.asm @@ -0,0 +1,27 @@ +MansionMons1: + db $0A + IF DEF(_RED) + db 32,KOFFING + db 30,KOFFING + db 34,PONYTA + db 30,PONYTA + db 34,GROWLITHE + db 32,PONYTA + db 30,GRIMER + db 28,PONYTA + db 37,WEEZING + db 39,MUK + ENDC + IF DEF(_BLUE) + db 32,GRIMER + db 30,GRIMER + db 34,PONYTA + db 30,PONYTA + db 34,VULPIX + db 32,PONYTA + db 30,KOFFING + db 28,PONYTA + db 37,MUK + db 39,WEEZING + ENDC + db $00 diff --git a/data/wild/maps/PokemonMansion2F.asm b/data/wild/maps/PokemonMansion2F.asm new file mode 100755 index 00000000..985474fc --- /dev/null +++ b/data/wild/maps/PokemonMansion2F.asm @@ -0,0 +1,27 @@ +MansionMons2: + db $0A + IF DEF(_RED) + db 32,GROWLITHE + db 34,KOFFING + db 34,KOFFING + db 30,PONYTA + db 30,KOFFING + db 32,PONYTA + db 30,GRIMER + db 28,PONYTA + db 39,WEEZING + db 37,MUK + ENDC + IF DEF(_BLUE) + db 32,VULPIX + db 34,GRIMER + db 34,GRIMER + db 30,PONYTA + db 30,GRIMER + db 32,PONYTA + db 30,KOFFING + db 28,PONYTA + db 39,MUK + db 37,WEEZING + ENDC + db $00 diff --git a/data/wild/maps/PokemonMansion3F.asm b/data/wild/maps/PokemonMansion3F.asm new file mode 100755 index 00000000..9c5521ae --- /dev/null +++ b/data/wild/maps/PokemonMansion3F.asm @@ -0,0 +1,27 @@ +MansionMons3: + db $0A + IF DEF(_RED) + db 31,KOFFING + db 33,GROWLITHE + db 35,KOFFING + db 32,PONYTA + db 34,PONYTA + db 40,WEEZING + db 34,GRIMER + db 38,WEEZING + db 36,PONYTA + db 42,MUK + ENDC + IF DEF(_BLUE) + db 31,GRIMER + db 33,VULPIX + db 35,GRIMER + db 32,PONYTA + db 34,MAGMAR + db 40,MUK + db 34,KOFFING + db 38,MUK + db 36,PONYTA + db 42,WEEZING + ENDC + db $00 diff --git a/data/wild/maps/PokemonMansionB1F.asm b/data/wild/maps/PokemonMansionB1F.asm new file mode 100755 index 00000000..83266ddd --- /dev/null +++ b/data/wild/maps/PokemonMansionB1F.asm @@ -0,0 +1,27 @@ +MansionMonsB1: + db $0A + IF DEF(_RED) + db 33,KOFFING + db 31,KOFFING + db 35,GROWLITHE + db 32,PONYTA + db 31,KOFFING + db 40,WEEZING + db 34,PONYTA + db 35,GRIMER + db 42,WEEZING + db 42,MUK + ENDC + IF DEF(_BLUE) + db 33,GRIMER + db 31,GRIMER + db 35,VULPIX + db 32,PONYTA + db 31,GRIMER + db 40,MUK + db 34,PONYTA + db 35,KOFFING + db 38,MAGMAR + db 42,WEEZING + ENDC + db $00 diff --git a/data/wild/maps/PokemonTower1F.asm b/data/wild/maps/PokemonTower1F.asm new file mode 100755 index 00000000..df951e70 --- /dev/null +++ b/data/wild/maps/PokemonTower1F.asm @@ -0,0 +1,3 @@ +TowerMons1: + db $00 + db $00 diff --git a/data/wild/maps/PokemonTower2F.asm b/data/wild/maps/PokemonTower2F.asm new file mode 100755 index 00000000..dcbe0da0 --- /dev/null +++ b/data/wild/maps/PokemonTower2F.asm @@ -0,0 +1,3 @@ +TowerMons2: + db $00 + db $00 diff --git a/data/wild/maps/PokemonTower3F.asm b/data/wild/maps/PokemonTower3F.asm new file mode 100755 index 00000000..135ed84f --- /dev/null +++ b/data/wild/maps/PokemonTower3F.asm @@ -0,0 +1,13 @@ +TowerMons3: + db $0A + db 20,GASTLY + db 21,GASTLY + db 22,GASTLY + db 23,GASTLY + db 19,GASTLY + db 18,GASTLY + db 24,GASTLY + db 20,CUBONE + db 22,CUBONE + db 25,HAUNTER + db $00 diff --git a/data/wild/maps/PokemonTower4F.asm b/data/wild/maps/PokemonTower4F.asm new file mode 100755 index 00000000..0c84b0cf --- /dev/null +++ b/data/wild/maps/PokemonTower4F.asm @@ -0,0 +1,13 @@ +TowerMons4: + db $0A + db 20,GASTLY + db 21,GASTLY + db 22,GASTLY + db 23,GASTLY + db 19,GASTLY + db 18,GASTLY + db 25,HAUNTER + db 20,CUBONE + db 22,CUBONE + db 24,GASTLY + db $00 diff --git a/data/wild/maps/PokemonTower5F.asm b/data/wild/maps/PokemonTower5F.asm new file mode 100755 index 00000000..440dbf8d --- /dev/null +++ b/data/wild/maps/PokemonTower5F.asm @@ -0,0 +1,13 @@ +TowerMons5: + db $0A + db 20,GASTLY + db 21,GASTLY + db 22,GASTLY + db 23,GASTLY + db 19,GASTLY + db 18,GASTLY + db 25,HAUNTER + db 20,CUBONE + db 22,CUBONE + db 24,GASTLY + db $00 diff --git a/data/wild/maps/PokemonTower6F.asm b/data/wild/maps/PokemonTower6F.asm new file mode 100755 index 00000000..553fdb5d --- /dev/null +++ b/data/wild/maps/PokemonTower6F.asm @@ -0,0 +1,13 @@ +TowerMons6: + db $0F + db 21,GASTLY + db 22,GASTLY + db 23,GASTLY + db 24,GASTLY + db 20,GASTLY + db 19,GASTLY + db 26,HAUNTER + db 22,CUBONE + db 24,CUBONE + db 28,HAUNTER + db $00 diff --git a/data/wild/maps/PokemonTower7F.asm b/data/wild/maps/PokemonTower7F.asm new file mode 100755 index 00000000..0f7e66e9 --- /dev/null +++ b/data/wild/maps/PokemonTower7F.asm @@ -0,0 +1,13 @@ +TowerMons7: + db $0F + db 21,GASTLY + db 22,GASTLY + db 23,GASTLY + db 24,GASTLY + db 20,GASTLY + db 28,HAUNTER + db 22,CUBONE + db 24,CUBONE + db 28,HAUNTER + db 30,HAUNTER + db $00 diff --git a/data/wild/maps/PowerPlant.asm b/data/wild/maps/PowerPlant.asm new file mode 100755 index 00000000..35eece95 --- /dev/null +++ b/data/wild/maps/PowerPlant.asm @@ -0,0 +1,19 @@ +PowerPlantMons: + db $0A + db 21,VOLTORB + db 21,MAGNEMITE + db 20,PIKACHU + db 24,PIKACHU + db 23,MAGNEMITE + db 23,VOLTORB + db 32,MAGNETON + db 35,MAGNETON + IF DEF(_RED) + db 33,ELECTABUZZ + db 36,ELECTABUZZ + ENDC + IF DEF(_BLUE) + db 33,RAICHU + db 36,RAICHU + ENDC + db $00 diff --git a/data/wild/maps/RockTunnel1F.asm b/data/wild/maps/RockTunnel1F.asm new file mode 100755 index 00000000..a36f2092 --- /dev/null +++ b/data/wild/maps/RockTunnel1F.asm @@ -0,0 +1,13 @@ +TunnelMonsB1: + db $0F + db 16,ZUBAT + db 17,ZUBAT + db 17,GEODUDE + db 15,MACHOP + db 16,GEODUDE + db 18,ZUBAT + db 15,ZUBAT + db 17,MACHOP + db 13,ONIX + db 15,ONIX + db $00 diff --git a/data/wild/maps/RockTunnelB1F.asm b/data/wild/maps/RockTunnelB1F.asm new file mode 100755 index 00000000..2fc7ef94 --- /dev/null +++ b/data/wild/maps/RockTunnelB1F.asm @@ -0,0 +1,13 @@ +TunnelMonsB2: + db $0F + db 16,ZUBAT + db 17,ZUBAT + db 17,GEODUDE + db 15,MACHOP + db 16,GEODUDE + db 18,ZUBAT + db 17,MACHOP + db 17,ONIX + db 13,ONIX + db 18,GEODUDE + db $00 diff --git a/data/wild/maps/Route1.asm b/data/wild/maps/Route1.asm new file mode 100755 index 00000000..f618c34f --- /dev/null +++ b/data/wild/maps/Route1.asm @@ -0,0 +1,13 @@ +Route1Mons: + db $19 + db 3,PIDGEY + db 3,RATTATA + db 3,RATTATA + db 2,RATTATA + db 2,PIDGEY + db 3,PIDGEY + db 3,PIDGEY + db 4,RATTATA + db 4,PIDGEY + db 5,PIDGEY + db $00 diff --git a/data/wild/maps/Route10.asm b/data/wild/maps/Route10.asm new file mode 100755 index 00000000..34e0b5ee --- /dev/null +++ b/data/wild/maps/Route10.asm @@ -0,0 +1,27 @@ +Route10Mons: + db $0F + IF DEF(_RED) + db 16,VOLTORB + db 16,SPEAROW + db 14,VOLTORB + db 11,EKANS + db 13,SPEAROW + db 15,EKANS + db 17,VOLTORB + db 17,SPEAROW + db 13,EKANS + db 17,EKANS + ENDC + IF DEF(_BLUE) + db 16,VOLTORB + db 16,SPEAROW + db 14,VOLTORB + db 11,SANDSHREW + db 13,SPEAROW + db 15,SANDSHREW + db 17,VOLTORB + db 17,SPEAROW + db 13,SANDSHREW + db 17,SANDSHREW + ENDC + db $00 diff --git a/data/wild/maps/Route11.asm b/data/wild/maps/Route11.asm new file mode 100755 index 00000000..9e4e3644 --- /dev/null +++ b/data/wild/maps/Route11.asm @@ -0,0 +1,27 @@ +Route11Mons: + db $0F + IF DEF(_RED) + db 14,EKANS + db 15,SPEAROW + db 12,EKANS + db 9,DROWZEE + db 13,SPEAROW + db 13,DROWZEE + db 15,EKANS + db 17,SPEAROW + db 11,DROWZEE + db 15,DROWZEE + ENDC + IF DEF(_BLUE) + db 14,SANDSHREW + db 15,SPEAROW + db 12,SANDSHREW + db 9,DROWZEE + db 13,SPEAROW + db 13,DROWZEE + db 15,SANDSHREW + db 17,SPEAROW + db 11,DROWZEE + db 15,DROWZEE + ENDC + db $00 diff --git a/data/wild/maps/Route12.asm b/data/wild/maps/Route12.asm new file mode 100755 index 00000000..45dfbc9d --- /dev/null +++ b/data/wild/maps/Route12.asm @@ -0,0 +1,27 @@ +Route12Mons: + db $0F + IF DEF(_RED) + db 24,ODDISH + db 25,PIDGEY + db 23,PIDGEY + db 24,VENONAT + db 22,ODDISH + db 26,VENONAT + db 26,ODDISH + db 27,PIDGEY + db 28,GLOOM + db 30,GLOOM + ENDC + IF DEF(_BLUE) + db 24,BELLSPROUT + db 25,PIDGEY + db 23,PIDGEY + db 24,VENONAT + db 22,BELLSPROUT + db 26,VENONAT + db 26,BELLSPROUT + db 27,PIDGEY + db 28,WEEPINBELL + db 30,WEEPINBELL + ENDC + db $00 diff --git a/data/wild/maps/Route13.asm b/data/wild/maps/Route13.asm new file mode 100755 index 00000000..2a1a6cb5 --- /dev/null +++ b/data/wild/maps/Route13.asm @@ -0,0 +1,28 @@ +Route13Mons: + IF DEF(_RED) + db $14 + db 24,ODDISH + db 25,PIDGEY + db 27,PIDGEY + db 24,VENONAT + db 22,ODDISH + db 26,VENONAT + db 26,ODDISH + db 25,DITTO + db 28,GLOOM + db 30,GLOOM + ENDC + IF DEF(_BLUE) + db $14 + db 24,BELLSPROUT + db 25,PIDGEY + db 27,PIDGEY + db 24,VENONAT + db 22,BELLSPROUT + db 26,VENONAT + db 26,BELLSPROUT + db 25,DITTO + db 28,WEEPINBELL + db 30,WEEPINBELL + ENDC + db $00 diff --git a/data/wild/maps/Route14.asm b/data/wild/maps/Route14.asm new file mode 100755 index 00000000..aad5aa48 --- /dev/null +++ b/data/wild/maps/Route14.asm @@ -0,0 +1,27 @@ +Route14Mons: + db $0F + IF DEF(_RED) + db 24,ODDISH + db 26,PIDGEY + db 23,DITTO + db 24,VENONAT + db 22,ODDISH + db 26,VENONAT + db 26,ODDISH + db 30,GLOOM + db 28,PIDGEOTTO + db 30,PIDGEOTTO + ENDC + IF DEF(_BLUE) + db 24,BELLSPROUT + db 26,PIDGEY + db 23,DITTO + db 24,VENONAT + db 22,BELLSPROUT + db 26,VENONAT + db 26,BELLSPROUT + db 30,WEEPINBELL + db 28,PIDGEOTTO + db 30,PIDGEOTTO + ENDC + db $00 diff --git a/data/wild/maps/Route15.asm b/data/wild/maps/Route15.asm new file mode 100755 index 00000000..b4762230 --- /dev/null +++ b/data/wild/maps/Route15.asm @@ -0,0 +1,27 @@ +Route15Mons: + db $0F + IF DEF(_RED) + db 24,ODDISH + db 26,DITTO + db 23,PIDGEY + db 26,VENONAT + db 22,ODDISH + db 28,VENONAT + db 26,ODDISH + db 30,GLOOM + db 28,PIDGEOTTO + db 30,PIDGEOTTO + ENDC + IF DEF(_BLUE) + db 24,BELLSPROUT + db 26,DITTO + db 23,PIDGEY + db 26,VENONAT + db 22,BELLSPROUT + db 28,VENONAT + db 26,BELLSPROUT + db 30,WEEPINBELL + db 28,PIDGEOTTO + db 30,PIDGEOTTO + ENDC + db $00 diff --git a/data/wild/maps/Route16.asm b/data/wild/maps/Route16.asm new file mode 100755 index 00000000..c2421c50 --- /dev/null +++ b/data/wild/maps/Route16.asm @@ -0,0 +1,13 @@ +Route16Mons: + db $19 + db 20,SPEAROW + db 22,SPEAROW + db 18,RATTATA + db 20,DODUO + db 20,RATTATA + db 18,DODUO + db 22,DODUO + db 22,RATTATA + db 23,RATICATE + db 25,RATICATE + db $00 diff --git a/data/wild/maps/Route17.asm b/data/wild/maps/Route17.asm new file mode 100755 index 00000000..8dffd9a3 --- /dev/null +++ b/data/wild/maps/Route17.asm @@ -0,0 +1,13 @@ +Route17Mons: + db $19 + db 20,SPEAROW + db 22,SPEAROW + db 25,RATICATE + db 24,DODUO + db 27,RATICATE + db 26,DODUO + db 28,DODUO + db 29,RATICATE + db 25,FEAROW + db 27,FEAROW + db $00 diff --git a/data/wild/maps/Route18.asm b/data/wild/maps/Route18.asm new file mode 100755 index 00000000..47bd247d --- /dev/null +++ b/data/wild/maps/Route18.asm @@ -0,0 +1,13 @@ +Route18Mons: + db $19 + db 20,SPEAROW + db 22,SPEAROW + db 25,RATICATE + db 24,DODUO + db 25,FEAROW + db 26,DODUO + db 28,DODUO + db 29,RATICATE + db 27,FEAROW + db 29,FEAROW + db $00 diff --git a/data/wild/maps/Route2.asm b/data/wild/maps/Route2.asm new file mode 100755 index 00000000..ad958ea5 --- /dev/null +++ b/data/wild/maps/Route2.asm @@ -0,0 +1,24 @@ +Route2Mons: + db $19 + db 3,RATTATA + db 3,PIDGEY + db 4,PIDGEY + db 4,RATTATA + db 5,PIDGEY + IF DEF(_RED) + db 3,WEEDLE + ENDC + IF DEF(_BLUE) + db 3,CATERPIE + ENDC + db 2,RATTATA + db 5,RATTATA + IF DEF(_RED) + db 4,WEEDLE + db 5,WEEDLE + ENDC + IF DEF(_BLUE) + db 4,CATERPIE + db 5,CATERPIE + ENDC + db $00 diff --git a/data/wild/maps/Route21.asm b/data/wild/maps/Route21.asm new file mode 100755 index 00000000..3cc73ba0 --- /dev/null +++ b/data/wild/maps/Route21.asm @@ -0,0 +1,23 @@ +Route21Mons: + db $19 + db 21,RATTATA + db 23,PIDGEY + db 30,RATICATE + db 23,RATTATA + db 21,PIDGEY + db 30,PIDGEOTTO + db 32,PIDGEOTTO + db 28,TANGELA + db 30,TANGELA + db 32,TANGELA + db $05 + db 5,TENTACOOL + db 10,TENTACOOL + db 15,TENTACOOL + db 5,TENTACOOL + db 10,TENTACOOL + db 15,TENTACOOL + db 20,TENTACOOL + db 30,TENTACOOL + db 35,TENTACOOL + db 40,TENTACOOL diff --git a/data/wild/maps/Route22.asm b/data/wild/maps/Route22.asm new file mode 100755 index 00000000..750a2f4e --- /dev/null +++ b/data/wild/maps/Route22.asm @@ -0,0 +1,27 @@ +Route22Mons: + db $19 + IF DEF(_RED) + db 3,RATTATA + db 3,NIDORAN_M + db 4,RATTATA + db 4,NIDORAN_M + db 2,RATTATA + db 2,NIDORAN_M + db 3,SPEAROW + db 5,SPEAROW + db 3,NIDORAN_F + db 4,NIDORAN_F + ENDC + IF DEF(_BLUE) + db 3,RATTATA + db 3,NIDORAN_F + db 4,RATTATA + db 4,NIDORAN_F + db 2,RATTATA + db 2,NIDORAN_F + db 3,SPEAROW + db 5,SPEAROW + db 3,NIDORAN_M + db 4,NIDORAN_M + ENDC + db $00 diff --git a/data/wild/maps/Route23.asm b/data/wild/maps/Route23.asm new file mode 100755 index 00000000..a057d24d --- /dev/null +++ b/data/wild/maps/Route23.asm @@ -0,0 +1,23 @@ +Route23Mons: + db $0A + IF DEF(_RED) + db 26,EKANS + ENDC + IF DEF(_BLUE) + db 26,SANDSHREW + ENDC + db 33,DITTO + db 26,SPEAROW + db 38,FEAROW + db 38,DITTO + db 38,FEAROW + IF DEF(_RED) + db 41,ARBOK + ENDC + IF DEF(_BLUE) + db 41,SANDSLASH + ENDC + db 43,DITTO + db 41,FEAROW + db 43,FEAROW + db $00 diff --git a/data/wild/maps/Route24.asm b/data/wild/maps/Route24.asm new file mode 100755 index 00000000..3a745f36 --- /dev/null +++ b/data/wild/maps/Route24.asm @@ -0,0 +1,27 @@ +Route24Mons: + db $19 + IF DEF(_RED) + db 7,WEEDLE + db 8,KAKUNA + db 12,PIDGEY + db 12,ODDISH + db 13,ODDISH + db 10,ABRA + db 14,ODDISH + db 13,PIDGEY + db 8,ABRA + db 12,ABRA + ENDC + IF DEF(_BLUE) + db 7,CATERPIE + db 8,METAPOD + db 12,PIDGEY + db 12,BELLSPROUT + db 13,BELLSPROUT + db 10,ABRA + db 14,BELLSPROUT + db 13,PIDGEY + db 8,ABRA + db 12,ABRA + ENDC + db $00 diff --git a/data/wild/maps/Route25.asm b/data/wild/maps/Route25.asm new file mode 100755 index 00000000..4884fa64 --- /dev/null +++ b/data/wild/maps/Route25.asm @@ -0,0 +1,27 @@ +Route25Mons: + db $0F + IF DEF(_RED) + db 8,WEEDLE + db 9,KAKUNA + db 13,PIDGEY + db 12,ODDISH + db 13,ODDISH + db 12,ABRA + db 14,ODDISH + db 10,ABRA + db 7,METAPOD + db 8,CATERPIE + ENDC + IF DEF(_BLUE) + db 8,CATERPIE + db 9,METAPOD + db 13,PIDGEY + db 12,BELLSPROUT + db 13,BELLSPROUT + db 12,ABRA + db 14,BELLSPROUT + db 10,ABRA + db 7,KAKUNA + db 8,WEEDLE + ENDC + db $00 diff --git a/data/wild/maps/Route3.asm b/data/wild/maps/Route3.asm new file mode 100755 index 00000000..dea820a4 --- /dev/null +++ b/data/wild/maps/Route3.asm @@ -0,0 +1,13 @@ +Route3Mons: + db $14 + db 6,PIDGEY + db 5,SPEAROW + db 7,PIDGEY + db 6,SPEAROW + db 7,SPEAROW + db 8,PIDGEY + db 8,SPEAROW + db 3,JIGGLYPUFF + db 5,JIGGLYPUFF + db 7,JIGGLYPUFF + db $00 diff --git a/data/wild/maps/Route4.asm b/data/wild/maps/Route4.asm new file mode 100755 index 00000000..624d58de --- /dev/null +++ b/data/wild/maps/Route4.asm @@ -0,0 +1,27 @@ +Route4Mons: + db $14 + IF DEF(_RED) + db 10,RATTATA + db 10,SPEAROW + db 8,RATTATA + db 6,EKANS + db 8,SPEAROW + db 10,EKANS + db 12,RATTATA + db 12,SPEAROW + db 8,EKANS + db 12,EKANS + ENDC + IF DEF(_BLUE) + db 10,RATTATA + db 10,SPEAROW + db 8,RATTATA + db 6,SANDSHREW + db 8,SPEAROW + db 10,SANDSHREW + db 12,RATTATA + db 12,SPEAROW + db 8,SANDSHREW + db 12,SANDSHREW + ENDC + db $00 diff --git a/data/wild/maps/Route5.asm b/data/wild/maps/Route5.asm new file mode 100755 index 00000000..cb8c583b --- /dev/null +++ b/data/wild/maps/Route5.asm @@ -0,0 +1,27 @@ +Route5Mons: + db $0F + IF DEF(_RED) + db 13,ODDISH + db 13,PIDGEY + db 15,PIDGEY + db 10,MANKEY + db 12,MANKEY + db 15,ODDISH + db 16,ODDISH + db 16,PIDGEY + db 14,MANKEY + db 16,MANKEY + ENDC + IF DEF(_BLUE) + db 13,BELLSPROUT + db 13,PIDGEY + db 15,PIDGEY + db 10,MEOWTH + db 12,MEOWTH + db 15,BELLSPROUT + db 16,BELLSPROUT + db 16,PIDGEY + db 14,MEOWTH + db 16,MEOWTH + ENDC + db $00 diff --git a/data/wild/maps/Route6.asm b/data/wild/maps/Route6.asm new file mode 100755 index 00000000..92512ffb --- /dev/null +++ b/data/wild/maps/Route6.asm @@ -0,0 +1,27 @@ +Route6Mons: + db $0F + IF DEF(_RED) + db 13,ODDISH + db 13,PIDGEY + db 15,PIDGEY + db 10,MANKEY + db 12,MANKEY + db 15,ODDISH + db 16,ODDISH + db 16,PIDGEY + db 14,MANKEY + db 16,MANKEY + ENDC + IF DEF(_BLUE) + db 13,BELLSPROUT + db 13,PIDGEY + db 15,PIDGEY + db 10,MEOWTH + db 12,MEOWTH + db 15,BELLSPROUT + db 16,BELLSPROUT + db 16,PIDGEY + db 14,MEOWTH + db 16,MEOWTH + ENDC + db $00 diff --git a/data/wild/maps/Route7.asm b/data/wild/maps/Route7.asm new file mode 100755 index 00000000..559c98ee --- /dev/null +++ b/data/wild/maps/Route7.asm @@ -0,0 +1,27 @@ +Route7Mons: + db $0F + IF DEF(_RED) + db 19,PIDGEY + db 19,ODDISH + db 17,MANKEY + db 22,ODDISH + db 22,PIDGEY + db 18,MANKEY + db 18,GROWLITHE + db 20,GROWLITHE + db 19,MANKEY + db 20,MANKEY + ENDC + IF DEF(_BLUE) + db 19,PIDGEY + db 19,BELLSPROUT + db 17,MEOWTH + db 22,BELLSPROUT + db 22,PIDGEY + db 18,MEOWTH + db 18,VULPIX + db 20,VULPIX + db 19,MEOWTH + db 20,MEOWTH + ENDC + db $00 diff --git a/data/wild/maps/Route8.asm b/data/wild/maps/Route8.asm new file mode 100755 index 00000000..8a0bfa31 --- /dev/null +++ b/data/wild/maps/Route8.asm @@ -0,0 +1,27 @@ +Route8Mons: + db $0F + IF DEF(_RED) + db 18,PIDGEY + db 18,MANKEY + db 17,EKANS + db 16,GROWLITHE + db 20,PIDGEY + db 20,MANKEY + db 19,EKANS + db 17,GROWLITHE + db 15,GROWLITHE + db 18,GROWLITHE + ENDC + IF DEF(_BLUE) + db 18,PIDGEY + db 18,MEOWTH + db 17,SANDSHREW + db 16,VULPIX + db 20,PIDGEY + db 20,MEOWTH + db 19,SANDSHREW + db 17,VULPIX + db 15,VULPIX + db 18,VULPIX + ENDC + db $00 diff --git a/data/wild/maps/Route9.asm b/data/wild/maps/Route9.asm new file mode 100755 index 00000000..716589b0 --- /dev/null +++ b/data/wild/maps/Route9.asm @@ -0,0 +1,27 @@ +Route9Mons: + db $0F + IF DEF(_RED) + db 16,RATTATA + db 16,SPEAROW + db 14,RATTATA + db 11,EKANS + db 13,SPEAROW + db 15,EKANS + db 17,RATTATA + db 17,SPEAROW + db 13,EKANS + db 17,EKANS + ENDC + IF DEF(_BLUE) + db 16,RATTATA + db 16,SPEAROW + db 14,RATTATA + db 11,SANDSHREW + db 13,SPEAROW + db 15,SANDSHREW + db 17,RATTATA + db 17,SPEAROW + db 13,SANDSHREW + db 17,SANDSHREW + ENDC + db $00 diff --git a/data/wild/maps/SafariZoneCenter.asm b/data/wild/maps/SafariZoneCenter.asm new file mode 100755 index 00000000..0cd5323a --- /dev/null +++ b/data/wild/maps/SafariZoneCenter.asm @@ -0,0 +1,27 @@ +ZoneMonsCenter: + db $1E + IF DEF(_RED) + db 22,NIDORAN_M + db 25,RHYHORN + db 22,VENONAT + db 24,EXEGGCUTE + db 31,NIDORINO + db 25,EXEGGCUTE + db 31,NIDORINA + db 30,PARASECT + db 23,SCYTHER + db 23,CHANSEY + ENDC + IF DEF(_BLUE) + db 22,NIDORAN_F + db 25,RHYHORN + db 22,VENONAT + db 24,EXEGGCUTE + db 31,NIDORINA + db 25,EXEGGCUTE + db 31,NIDORINO + db 30,PARASECT + db 23,PINSIR + db 23,CHANSEY + ENDC + db $00 diff --git a/data/wild/maps/SafariZoneEast.asm b/data/wild/maps/SafariZoneEast.asm new file mode 100755 index 00000000..3d77b6fe --- /dev/null +++ b/data/wild/maps/SafariZoneEast.asm @@ -0,0 +1,27 @@ +ZoneMons1: + db $1E + IF DEF(_RED) + db 24,NIDORAN_M + db 26,DODUO + db 22,PARAS + db 25,EXEGGCUTE + db 33,NIDORINO + db 23,EXEGGCUTE + db 24,NIDORAN_F + db 25,PARASECT + db 25,KANGASKHAN + db 28,SCYTHER + ENDC + IF DEF(_BLUE) + db 24,NIDORAN_F + db 26,DODUO + db 22,PARAS + db 25,EXEGGCUTE + db 33,NIDORINA + db 23,EXEGGCUTE + db 24,NIDORAN_M + db 25,PARASECT + db 25,KANGASKHAN + db 28,PINSIR + ENDC + db $00 diff --git a/data/wild/maps/SafariZoneNorth.asm b/data/wild/maps/SafariZoneNorth.asm new file mode 100755 index 00000000..c1b6a547 --- /dev/null +++ b/data/wild/maps/SafariZoneNorth.asm @@ -0,0 +1,28 @@ +ZoneMons2: + db $1E + IF DEF(_RED) + db 22,NIDORAN_M + ENDC + IF DEF(_BLUE) + db 22,NIDORAN_F + ENDC + db 26,RHYHORN + db 23,PARAS + db 25,EXEGGCUTE + IF DEF(_RED) + db 30,NIDORINO + ENDC + IF DEF(_BLUE) + db 30,NIDORINA + ENDC + db 27,EXEGGCUTE + IF DEF(_RED) + db 30,NIDORINA + ENDC + IF DEF(_BLUE) + db 30,NIDORINO + ENDC + db 32,VENOMOTH + db 26,CHANSEY + db 28,TAUROS + db $00 diff --git a/data/wild/maps/SafariZoneWest.asm b/data/wild/maps/SafariZoneWest.asm new file mode 100755 index 00000000..47b6a102 --- /dev/null +++ b/data/wild/maps/SafariZoneWest.asm @@ -0,0 +1,27 @@ +ZoneMons3: + db $1E + IF DEF(_RED) + db 25,NIDORAN_M + db 26,DODUO + db 23,VENONAT + db 24,EXEGGCUTE + db 33,NIDORINO + db 26,EXEGGCUTE + db 25,NIDORAN_F + db 31,VENOMOTH + db 26,TAUROS + db 28,KANGASKHAN + ENDC + IF DEF(_BLUE) + db 25,NIDORAN_F + db 26,DODUO + db 23,VENONAT + db 24,EXEGGCUTE + db 33,NIDORINA + db 26,EXEGGCUTE + db 25,NIDORAN_M + db 31,VENOMOTH + db 26,TAUROS + db 28,KANGASKHAN + ENDC + db $00 diff --git a/data/wild/maps/SeaRoutes.asm b/data/wild/maps/SeaRoutes.asm new file mode 100755 index 00000000..07c6a187 --- /dev/null +++ b/data/wild/maps/SeaRoutes.asm @@ -0,0 +1,13 @@ +WaterMons: + db $00 + db $05 + db 5,TENTACOOL + db 10,TENTACOOL + db 15,TENTACOOL + db 5,TENTACOOL + db 10,TENTACOOL + db 15,TENTACOOL + db 20,TENTACOOL + db 30,TENTACOOL + db 35,TENTACOOL + db 40,TENTACOOL diff --git a/data/wild/maps/SeafoamIslands1F.asm b/data/wild/maps/SeafoamIslands1F.asm new file mode 100755 index 00000000..3c431f9a --- /dev/null +++ b/data/wild/maps/SeafoamIslands1F.asm @@ -0,0 +1,27 @@ +IslandMons1: + db $0F + IF DEF(_RED) + db 30,SEEL + db 30,SLOWPOKE + db 30,SHELLDER + db 30,HORSEA + db 28,HORSEA + db 21,ZUBAT + db 29,GOLBAT + db 28,PSYDUCK + db 28,SHELLDER + db 38,GOLDUCK + ENDC + IF DEF(_BLUE) + db 30,SEEL + db 30,PSYDUCK + db 30,STARYU + db 30,KRABBY + db 28,KRABBY + db 21,ZUBAT + db 29,GOLBAT + db 28,SLOWPOKE + db 28,STARYU + db 38,SLOWBRO + ENDC + db $00 diff --git a/data/wild/maps/SeafoamIslandsB1F.asm b/data/wild/maps/SeafoamIslandsB1F.asm new file mode 100755 index 00000000..6f96f240 --- /dev/null +++ b/data/wild/maps/SeafoamIslandsB1F.asm @@ -0,0 +1,27 @@ +IslandMonsB1: + db $0A + IF DEF(_RED) + db 30,STARYU + db 30,HORSEA + db 32,SHELLDER + db 32,HORSEA + db 28,SLOWPOKE + db 30,SEEL + db 30,SLOWPOKE + db 28,SEEL + db 38,DEWGONG + db 37,SEADRA + ENDC + IF DEF(_BLUE) + db 30,SHELLDER + db 30,KRABBY + db 32,STARYU + db 32,KRABBY + db 28,PSYDUCK + db 30,SEEL + db 30,PSYDUCK + db 28,SEEL + db 38,DEWGONG + db 37,KINGLER + ENDC + db $00 diff --git a/data/wild/maps/SeafoamIslandsB2F.asm b/data/wild/maps/SeafoamIslandsB2F.asm new file mode 100755 index 00000000..7191fea9 --- /dev/null +++ b/data/wild/maps/SeafoamIslandsB2F.asm @@ -0,0 +1,27 @@ +IslandMonsB2: + db $0A + IF DEF(_RED) + db 30,SEEL + db 30,SLOWPOKE + db 32,SEEL + db 32,SLOWPOKE + db 28,HORSEA + db 30,STARYU + db 30,HORSEA + db 28,SHELLDER + db 30,GOLBAT + db 37,SLOWBRO + ENDC + IF DEF(_BLUE) + db 30,SEEL + db 30,PSYDUCK + db 32,SEEL + db 32,PSYDUCK + db 28,KRABBY + db 30,SHELLDER + db 30,KRABBY + db 28,STARYU + db 30,GOLBAT + db 37,GOLDUCK + ENDC + db $00 diff --git a/data/wild/maps/SeafoamIslandsB3F.asm b/data/wild/maps/SeafoamIslandsB3F.asm new file mode 100755 index 00000000..9778c0e9 --- /dev/null +++ b/data/wild/maps/SeafoamIslandsB3F.asm @@ -0,0 +1,27 @@ +IslandMonsB3: + db $0A + IF DEF(_RED) + db 31,SLOWPOKE + db 31,SEEL + db 33,SLOWPOKE + db 33,SEEL + db 29,HORSEA + db 31,SHELLDER + db 31,HORSEA + db 29,SHELLDER + db 39,SEADRA + db 37,DEWGONG + ENDC + IF DEF(_BLUE) + db 31,PSYDUCK + db 31,SEEL + db 33,PSYDUCK + db 33,SEEL + db 29,KRABBY + db 31,STARYU + db 31,KRABBY + db 29,STARYU + db 39,KINGLER + db 37,DEWGONG + ENDC + db $00 diff --git a/data/wild/maps/SeafoamIslandsB4F.asm b/data/wild/maps/SeafoamIslandsB4F.asm new file mode 100755 index 00000000..3948470b --- /dev/null +++ b/data/wild/maps/SeafoamIslandsB4F.asm @@ -0,0 +1,27 @@ +IslandMonsB4: + db $0A + IF DEF(_RED) + db 31,HORSEA + db 31,SHELLDER + db 33,HORSEA + db 33,SHELLDER + db 29,SLOWPOKE + db 31,SEEL + db 31,SLOWPOKE + db 29,SEEL + db 39,SLOWBRO + db 32,GOLBAT + ENDC + IF DEF(_BLUE) + db 31,KRABBY + db 31,STARYU + db 33,KRABBY + db 33,STARYU + db 29,PSYDUCK + db 31,SEEL + db 31,PSYDUCK + db 29,SEEL + db 39,GOLDUCK + db 32,GOLBAT + ENDC + db $00 diff --git a/data/wild/maps/VictoryRoad1F.asm b/data/wild/maps/VictoryRoad1F.asm new file mode 100755 index 00000000..60aae31a --- /dev/null +++ b/data/wild/maps/VictoryRoad1F.asm @@ -0,0 +1,13 @@ +PlateauMons1: + db $0F + db 24,MACHOP + db 26,GEODUDE + db 22,ZUBAT + db 36,ONIX + db 39,ONIX + db 42,ONIX + db 41,GRAVELER + db 41,GOLBAT + db 42,MACHOKE + db 43,MAROWAK + db $00 diff --git a/data/wild/maps/VictoryRoad2F.asm b/data/wild/maps/VictoryRoad2F.asm new file mode 100755 index 00000000..580d644d --- /dev/null +++ b/data/wild/maps/VictoryRoad2F.asm @@ -0,0 +1,13 @@ +PlateauMons2: + db $0A + db 22,MACHOP + db 24,GEODUDE + db 26,ZUBAT + db 36,ONIX + db 39,ONIX + db 42,ONIX + db 41,MACHOKE + db 40,GOLBAT + db 40,MAROWAK + db 43,GRAVELER + db $00 diff --git a/data/wild/maps/VictoryRoad3F.asm b/data/wild/maps/VictoryRoad3F.asm new file mode 100755 index 00000000..80d7ef3e --- /dev/null +++ b/data/wild/maps/VictoryRoad3F.asm @@ -0,0 +1,13 @@ +PlateauMons3: + db $0F + db 24,MACHOP + db 26,GEODUDE + db 22,ZUBAT + db 42,ONIX + db 40,VENOMOTH + db 45,ONIX + db 43,GRAVELER + db 41,GOLBAT + db 42,MACHOKE + db 45,MACHOKE + db $00 diff --git a/data/wild/maps/ViridianForest.asm b/data/wild/maps/ViridianForest.asm new file mode 100755 index 00000000..ae9a5a70 --- /dev/null +++ b/data/wild/maps/ViridianForest.asm @@ -0,0 +1,25 @@ +ForestMons: + db $08 + IF DEF(_RED) + db 4,WEEDLE + db 5,KAKUNA + db 3,WEEDLE + db 5,WEEDLE + db 4,KAKUNA + db 6,KAKUNA + db 4,METAPOD + db 3,CATERPIE + ENDC + IF DEF(_BLUE) + db 4,CATERPIE + db 5,METAPOD + db 3,CATERPIE + db 5,CATERPIE + db 4,METAPOD + db 6,METAPOD + db 4,KAKUNA + db 3,WEEDLE + ENDC + db 3,PIKACHU + db 5,PIKACHU + db $00 diff --git a/data/wild/maps/nothing.asm b/data/wild/maps/nothing.asm new file mode 100755 index 00000000..ce7f7ede --- /dev/null +++ b/data/wild/maps/nothing.asm @@ -0,0 +1,3 @@ +NoMons: + db $00 + db $00 diff --git a/engine/events/hidden_objects/book_or_sculpture.asm b/engine/events/hidden_objects/book_or_sculpture.asm new file mode 100644 index 00000000..2d6f278a --- /dev/null +++ b/engine/events/hidden_objects/book_or_sculpture.asm @@ -0,0 +1,21 @@ +BookOrSculptureText:: + TX_ASM + ld hl, PokemonBooksText + ld a, [wCurMapTileset] + cp MANSION ; Celadon Mansion tileset + jr nz, .ok + aCoord 8, 6 + cp $38 + jr nz, .ok + ld hl, DiglettSculptureText +.ok + call PrintText + jp TextScriptEnd + +PokemonBooksText: + TX_FAR _PokemonBooksText + db "@" + +DiglettSculptureText: + TX_FAR _DiglettSculptureText + db "@" diff --git a/engine/events/hidden_objects/diglett_sculpture.asm b/engine/events/hidden_objects/diglett_sculpture.asm deleted file mode 100644 index 2d6f278a..00000000 --- a/engine/events/hidden_objects/diglett_sculpture.asm +++ /dev/null @@ -1,21 +0,0 @@ -BookOrSculptureText:: - TX_ASM - ld hl, PokemonBooksText - ld a, [wCurMapTileset] - cp MANSION ; Celadon Mansion tileset - jr nz, .ok - aCoord 8, 6 - cp $38 - jr nz, .ok - ld hl, DiglettSculptureText -.ok - call PrintText - jp TextScriptEnd - -PokemonBooksText: - TX_FAR _PokemonBooksText - db "@" - -DiglettSculptureText: - TX_FAR _DiglettSculptureText - db "@" diff --git a/main.asm b/main.asm index 3adc2a63..39519774 100755 --- a/main.asm +++ b/main.asm @@ -76,7 +76,7 @@ INCLUDE "engine/overworld/pathfinding.asm" INCLUDE "engine/gfx/hp_bar.asm" INCLUDE "engine/events/hidden_objects/bookshelves.asm" INCLUDE "engine/events/hidden_objects/indigo_plateau_statues.asm" -INCLUDE "engine/events/hidden_objects/diglett_sculpture.asm" +INCLUDE "engine/events/hidden_objects/book_or_sculpture.asm" INCLUDE "engine/events/hidden_objects/elevator.asm" INCLUDE "engine/events/hidden_objects/town_map.asm" INCLUDE "engine/events/hidden_objects/pokemon_stuff.asm" -- cgit v1.2.3 From 9878f01e29b1443d6c894c1332cbf381fa12646e Mon Sep 17 00:00:00 2001 From: Rangi Date: Fri, 3 Jul 2020 16:37:47 -0400 Subject: Organize macros/ like pokecrystal While doing so I replaced the StopAllMusic macro with a SFX_STOP_ALL_MUSIC constant and applied it throughout the code. --- audio/play_battle_music.asm | 4 +- audio/pokedex_rating_sfx.asm | 2 +- constants.asm | 1 + constants/audio_constants.asm | 26 ++ constants/map_data_constants.asm | 5 + constants/map_object_constants.asm | 14 + constants/music_constants.asm | 2 + constants/sprite_data_constants.asm | 6 - data/tilesets/tileset_headers.asm | 8 + engine/battle/core.asm | 2 +- engine/events/hidden_objects/bills_house_pc.asm | 2 +- engine/events/hidden_objects/safari_game.asm | 2 +- engine/items/item_effects.asm | 4 +- engine/link/cable_club.asm | 4 +- engine/movie/credits.asm | 2 +- engine/movie/evolution.asm | 4 +- engine/movie/oak_speech/oak_speech.asm | 8 +- engine/overworld/elevator.asm | 4 +- engine/overworld/healing_machine.asm | 4 +- home.asm | 4 +- home/overworld.asm | 2 +- macros.asm | 16 +- macros/asm_macros.asm | 192 ---------- macros/audio_macros.asm | 214 ----------- macros/code.asm | 9 + macros/coords.asm | 65 ++++ macros/data.asm | 62 ++++ macros/data_macros.asm | 253 ------------- macros/enum.asm | 43 +++ macros/event_macros.asm | 441 ---------------------- macros/farcall.asm | 37 ++ macros/predef.asm | 49 +++ macros/scripts/audio.asm | 186 ++++++++++ macros/scripts/events.asm | 471 ++++++++++++++++++++++++ macros/scripts/maps.asm | 184 +++++++++ macros/scripts/text.asm | 78 ++++ macros/text_macros.asm | 80 ---- scripts/CeruleanCity.asm | 4 +- scripts/OaksLab.asm | 4 +- scripts/PalletTown.asm | 4 +- scripts/PewterPokecenter.asm | 3 +- scripts/PokemonTower2F.asm | 4 +- scripts/Route22.asm | 10 +- scripts/SSAnne2F.asm | 4 +- scripts/SSAnneCaptainsRoom.asm | 2 +- scripts/SilphCo7F.asm | 4 +- scripts/VermilionDock.asm | 2 +- 47 files changed, 1296 insertions(+), 1235 deletions(-) create mode 100644 constants/map_object_constants.asm delete mode 100755 macros/asm_macros.asm delete mode 100755 macros/audio_macros.asm create mode 100755 macros/code.asm create mode 100644 macros/coords.asm create mode 100755 macros/data.asm delete mode 100755 macros/data_macros.asm create mode 100644 macros/enum.asm delete mode 100755 macros/event_macros.asm create mode 100644 macros/farcall.asm create mode 100644 macros/predef.asm create mode 100755 macros/scripts/audio.asm create mode 100755 macros/scripts/events.asm create mode 100644 macros/scripts/maps.asm create mode 100755 macros/scripts/text.asm delete mode 100755 macros/text_macros.asm diff --git a/audio/play_battle_music.asm b/audio/play_battle_music.asm index 35dd19ad..f8bfcd19 100644 --- a/audio/play_battle_music.asm +++ b/audio/play_battle_music.asm @@ -2,9 +2,9 @@ PlayBattleMusic:: xor a ld [wAudioFadeOutControl], a ld [wLowHealthAlarm], a - dec a + dec a ; SFX_STOP_ALL_MUSIC ld [wNewSoundID], a - call PlaySound ; stop music + call PlaySound call DelayFrame ld c, BANK(Music_GymLeaderBattle) ld a, [wGymLeaderNo] diff --git a/audio/pokedex_rating_sfx.asm b/audio/pokedex_rating_sfx.asm index a218d5e6..f3aace8a 100644 --- a/audio/pokedex_rating_sfx.asm +++ b/audio/pokedex_rating_sfx.asm @@ -10,7 +10,7 @@ PlayPokedexRatingSfx:: jr .getSfxPointer .gotSfxPointer push bc - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySoundWaitForCurrent pop bc diff --git a/constants.asm b/constants.asm index 996458a4..cd306680 100644 --- a/constants.asm +++ b/constants.asm @@ -29,6 +29,7 @@ INCLUDE "constants/palette_constants.asm" INCLUDE "constants/list_constants.asm" INCLUDE "constants/map_constants.asm" INCLUDE "constants/map_data_constants.asm" +INCLUDE "constants/map_object_constants.asm" INCLUDE "constants/hide_show_constants.asm" INCLUDE "constants/credits_constants.asm" INCLUDE "constants/audio_constants.asm" diff --git a/constants/audio_constants.asm b/constants/audio_constants.asm index bb2bb7f2..38719f92 100644 --- a/constants/audio_constants.asm +++ b/constants/audio_constants.asm @@ -1,3 +1,29 @@ +; pitch + const_def + const C_ ; 0 + const C# ; 1 + const D_ ; 2 + const D# ; 3 + const E_ ; 4 + const F_ ; 5 + const F# ; 6 + const G_ ; 7 + const G# ; 8 + const A_ ; 9 + const A# ; A + const B_ ; B + +; channel + const_def + const Ch1 ; 0 + const Ch2 ; 1 + const Ch3 ; 2 + const Ch4 ; 3 + const Ch5 ; 4 + const Ch6 ; 5 + const Ch7 ; 6 + const Ch8 ; 7 + ; HW sound channel register base addresses HW_CH1_BASE EQU (rNR10 % $100) HW_CH2_BASE EQU ((rNR21 % $100) - 1) diff --git a/constants/map_data_constants.asm b/constants/map_data_constants.asm index 154c4163..4b98bdb3 100755 --- a/constants/map_data_constants.asm +++ b/constants/map_data_constants.asm @@ -7,3 +7,8 @@ EAST EQU 1 WEST EQU 2 SOUTH EQU 4 NORTH EQU 8 + +; tileset environments +INDOOR EQU 0 +CAVE EQU 1 +OUTDOOR EQU 2 diff --git a/constants/map_object_constants.asm b/constants/map_object_constants.asm new file mode 100644 index 00000000..f5fc952b --- /dev/null +++ b/constants/map_object_constants.asm @@ -0,0 +1,14 @@ +; different kinds of people events +ITEM EQU $80 +TRAINER EQU $40 + +WALK EQU $FE +STAY EQU $FF + +DOWN EQU $D0 +UP EQU $D1 +LEFT EQU $D2 +RIGHT EQU $D3 +NONE EQU $FF + +BOULDER_MOVEMENT_BYTE_2 EQU $10 diff --git a/constants/music_constants.asm b/constants/music_constants.asm index 9f726fb7..7bbe5c62 100644 --- a/constants/music_constants.asm +++ b/constants/music_constants.asm @@ -238,3 +238,5 @@ MAX_SFX_ID_2 EQUS "SFX_SILPH_SCOPE" music_const SFX_SLOTS_NEW_SPIN, SFX_Slots_New_Spin music_const SFX_SHOOTING_STAR, SFX_Shooting_Star MAX_SFX_ID_3 EQUS "SFX_SHOOTING_STAR" + +SFX_STOP_ALL_MUSIC EQU $ff diff --git a/constants/sprite_data_constants.asm b/constants/sprite_data_constants.asm index d5788cb1..48a34446 100644 --- a/constants/sprite_data_constants.asm +++ b/constants/sprite_data_constants.asm @@ -1,9 +1,3 @@ -; different kinds of people events -ITEM EQU $80 -TRAINER EQU $40 - -BOULDER_MOVEMENT_BYTE_2 EQU $10 - ; sprite facing directions SPRITE_FACING_DOWN EQU $00 SPRITE_FACING_UP EQU $04 diff --git a/data/tilesets/tileset_headers.asm b/data/tilesets/tileset_headers.asm index d8e0d9b4..8f825330 100755 --- a/data/tilesets/tileset_headers.asm +++ b/data/tilesets/tileset_headers.asm @@ -1,3 +1,11 @@ +tileset: MACRO + db BANK(\2) ; BANK(GFX) + dw \1, \2, \3 ; Block, GFX, Coll + db \4, \5, \6 ; counter tiles + db \7 ; grass tile + db \8 ; permission (indoor, cave, outdoor) +ENDM + Tilesets: tileset Overworld_Block, Overworld_GFX, Overworld_Coll, $FF,$FF,$FF, $52, OUTDOOR tileset RedsHouse1_Block, RedsHouse1_GFX, RedsHouse1_Coll, $FF,$FF,$FF, $FF, INDOOR diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 86c3f5e5..647436ff 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -958,7 +958,7 @@ TrainerDefeatedText: PlayBattleVictoryMusic: push af - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySoundWaitForCurrent ld c, BANK(Music_DefeatedTrainer) diff --git a/engine/events/hidden_objects/bills_house_pc.asm b/engine/events/hidden_objects/bills_house_pc.asm index 1ffb6954..836aace0 100644 --- a/engine/events/hidden_objects/bills_house_pc.asm +++ b/engine/events/hidden_objects/bills_house_pc.asm @@ -52,7 +52,7 @@ BillsHouseInitiatedText:: TX_FAR _BillsHouseInitiatedText TX_BLINK TX_ASM - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound ld c, 16 diff --git a/engine/events/hidden_objects/safari_game.asm b/engine/events/hidden_objects/safari_game.asm index 785bab7f..68fc943f 100644 --- a/engine/events/hidden_objects/safari_game.asm +++ b/engine/events/hidden_objects/safari_game.asm @@ -27,7 +27,7 @@ SafariZoneGameOver: call EnableAutoTextBoxDrawing xor a ld [wAudioFadeOutControl], a - dec a + dec a ; SFX_STOP_ALL_MUSIC call PlaySound ld c, BANK(SFX_Safari_Zone_PA) ld a, SFX_SAFARI_ZONE_PA diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm index e1723118..1214a3f8 100755 --- a/engine/items/item_effects.asm +++ b/engine/items/item_effects.asm @@ -1844,8 +1844,8 @@ PlayedFluteHadEffectText: and a jr nz, .done ; play out-of-battle pokeflute music - ld a, $ff - call PlaySound ; turn off music + ld a, SFX_STOP_ALL_MUSIC + call PlaySound ld a, SFX_POKEFLUTE ld c, BANK(SFX_Pokeflute) call PlayMusic diff --git a/engine/link/cable_club.asm b/engine/link/cable_club.asm index 141ed396..8aadf1e5 100755 --- a/engine/link/cable_club.asm +++ b/engine/link/cable_club.asm @@ -139,7 +139,7 @@ CableClub_DoBattleOrTradeAgain: call Serial_ExchangeBytes ld a, (1 << SERIAL) | (1 << TIMER) | (1 << VBLANK) ld [rIE], a - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC call PlaySound ld a, [hSerialConnectionStatus] cp USING_INTERNAL_CLOCK @@ -261,7 +261,7 @@ CableClub_DoBattleOrTradeAgain: ld [wUnusedCF8D + 1], a xor a ld [wTradeCenterPointerTableIndex], a - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC call PlaySound ld a, [hSerialConnectionStatus] cp USING_INTERNAL_CLOCK diff --git a/engine/movie/credits.asm b/engine/movie/credits.asm index f6900602..dd735df6 100755 --- a/engine/movie/credits.asm +++ b/engine/movie/credits.asm @@ -21,7 +21,7 @@ HallOfFamePC: ld a, %11000000 ld [rBGP], a call EnableLCD - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC call PlaySoundWaitForCurrent ld c, BANK(Music_Credits) ld a, MUSIC_CREDITS diff --git a/engine/movie/evolution.asm b/engine/movie/evolution.asm index 731735c5..af2ed13b 100755 --- a/engine/movie/evolution.asm +++ b/engine/movie/evolution.asm @@ -9,7 +9,7 @@ EvolveMon: xor a ld [wLowHealthAlarm], a ld [wChannelSoundIDs + Ch5], a - dec a + dec a ; SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound ld a, $1 @@ -67,7 +67,7 @@ EvolveMon: ld a, [wEvoNewSpecies] .done ld [wWholeScreenPaletteMonSpecies], a - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound ld a, [wWholeScreenPaletteMonSpecies] diff --git a/engine/movie/oak_speech/oak_speech.asm b/engine/movie/oak_speech/oak_speech.asm index b1acfb65..fdcb4778 100755 --- a/engine/movie/oak_speech/oak_speech.asm +++ b/engine/movie/oak_speech/oak_speech.asm @@ -32,8 +32,8 @@ SetDefaultNames: jp CopyData OakSpeech: - ld a, $FF - call PlaySound ; stop music + ld a, SFX_STOP_ALL_MUSIC + call PlaySound ld a, BANK(Music_Routes2) ld c, a ld a, MUSIC_ROUTES2 @@ -133,9 +133,9 @@ OakSpeech: ld [wAudioSavedROMBank], a ld a, 10 ld [wAudioFadeOutControl], a - ld a, $FF + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a - call PlaySound ; stop music + call PlaySound pop af ld [H_LOADEDROMBANK], a ld [MBC1RomBank], a diff --git a/engine/overworld/elevator.asm b/engine/overworld/elevator.asm index d36e2f2c..05ca08c9 100755 --- a/engine/overworld/elevator.asm +++ b/engine/overworld/elevator.asm @@ -4,7 +4,7 @@ ShakeElevator:: ld de, SCREEN_HEIGHT * $20 call ShakeElevatorRedrawRow call Delay3 - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC call PlaySound ld a, [hSCY] ld d, a @@ -27,7 +27,7 @@ ShakeElevator:: jr nz, .shakeLoop ld a, d ld [hSCY], a - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC call PlaySound ld c, BANK(SFX_Safari_Zone_PA) ld a, SFX_SAFARI_ZONE_PA diff --git a/engine/overworld/healing_machine.asm b/engine/overworld/healing_machine.asm index 510f963b..836af44d 100755 --- a/engine/overworld/healing_machine.asm +++ b/engine/overworld/healing_machine.asm @@ -17,7 +17,7 @@ AnimateHealingMachine: call CopyHealingMachineOAM ld a, 4 ld [wAudioFadeOutControl], a - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound .waitLoop @@ -38,7 +38,7 @@ AnimateHealingMachine: cp BANK(Audio3_UpdateMusic) ld [wAudioSavedROMBank], a jr nz, .next - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound ld a, BANK(Music_PkmnHealed) diff --git a/home.asm b/home.asm index bb581454..07cb6c0e 100644 --- a/home.asm +++ b/home.asm @@ -939,7 +939,7 @@ FadeOutAudio:: ld b, a xor a ld [wAudioFadeOutControl], a - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound ld a, [wAudioSavedROMBank] @@ -2506,7 +2506,7 @@ PlayTrainerMusic:: ret nz xor a ld [wAudioFadeOutControl], a - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC call PlaySound ld a, BANK(Music_MeetEvilTrainer) ld [wAudioROMBank], a diff --git a/home/overworld.asm b/home/overworld.asm index 460ce11e..cc8c498c 100644 --- a/home/overworld.asm +++ b/home/overworld.asm @@ -772,7 +772,7 @@ HandleBlackOut:: StopMusic:: ld [wAudioFadeOutControl], a - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound .wait diff --git a/macros.asm b/macros.asm index b779ec5f..a092d25c 100644 --- a/macros.asm +++ b/macros.asm @@ -1,5 +1,11 @@ -INCLUDE "macros/asm_macros.asm" -INCLUDE "macros/data_macros.asm" -INCLUDE "macros/text_macros.asm" -INCLUDE "macros/audio_macros.asm" -INCLUDE "macros/event_macros.asm" +INCLUDE "macros/enum.asm" +INCLUDE "macros/predef.asm" +INCLUDE "macros/farcall.asm" +INCLUDE "macros/data.asm" +INCLUDE "macros/code.asm" +INCLUDE "macros/coords.asm" + +INCLUDE "macros/scripts/audio.asm" +INCLUDE "macros/scripts/maps.asm" +INCLUDE "macros/scripts/events.asm" +INCLUDE "macros/scripts/text.asm" diff --git a/macros/asm_macros.asm b/macros/asm_macros.asm deleted file mode 100755 index d3f00b0c..00000000 --- a/macros/asm_macros.asm +++ /dev/null @@ -1,192 +0,0 @@ - -lb: MACRO ; r, hi, lo - ld \1, ((\2) & $ff) << 8 + ((\3) & $ff) -ENDM - -homecall: MACRO - ld a, [H_LOADEDROMBANK] - push af - ld a, BANK(\1) - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - call \1 - pop af - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a -ENDM - -farcall EQUS "callba" - -callba: MACRO - ld b, BANK(\1) - ld hl, \1 - call Bankswitch -ENDM - -callab: MACRO - ld hl, \1 - ld b, BANK(\1) - call Bankswitch -ENDM - -jpba: MACRO - ld b, BANK(\1) - ld hl, \1 - jp Bankswitch -ENDM - -jpab: MACRO - ld hl, \1 - ld b, BANK(\1) - jp Bankswitch -ENDM - -validateCoords: MACRO - IF \1 >= SCREEN_WIDTH - fail "x coord out of range" - ENDC - IF \2 >= SCREEN_HEIGHT - fail "y coord out of range" - ENDC -ENDM - -;\1 = r -;\2 = X -;\3 = Y -;\4 = which tilemap (optional) -coord: MACRO - validateCoords \2, \3 - IF _NARG >= 4 - ld \1, \4 + SCREEN_WIDTH * \3 + \2 - ELSE - ld \1, wTileMap + SCREEN_WIDTH * \3 + \2 - ENDC -ENDM - -;\1 = X -;\2 = Y -;\3 = which tilemap (optional) -aCoord: MACRO - validateCoords \1, \2 - IF _NARG >= 3 - ld a, [\3 + SCREEN_WIDTH * \2 + \1] - ELSE - ld a, [wTileMap + SCREEN_WIDTH * \2 + \1] - ENDC -ENDM - -;\1 = X -;\2 = Y -;\3 = which tilemap (optional) -Coorda: MACRO - validateCoords \1, \2 - IF _NARG >= 3 - ld [\3 + SCREEN_WIDTH * \2 + \1], a - ELSE - ld [wTileMap + SCREEN_WIDTH * \2 + \1], a - ENDC -ENDM - -;\1 = X -;\2 = Y -;\3 = which tilemap (optional) -dwCoord: MACRO - validateCoords \1, \2 - IF _NARG >= 3 - dw \3 + SCREEN_WIDTH * \2 + \1 - ELSE - dw wTileMap + SCREEN_WIDTH * \2 + \1 - ENDC -ENDM - -;\1 = r -;\2 = X -;\3 = Y -;\4 = map width -overworldMapCoord: MACRO - ld \1, wOverworldMap + ((\2) + 3) + (((\3) + 3) * ((\4) + (3 * 2))) -ENDM - -; macro for two nibbles -dn: MACRO - db (\1 << 4 | \2) -ENDM - -; macro for putting a byte then a word -dbw: MACRO - db \1 - dw \2 -ENDM - -dba: MACRO - dbw BANK(\1), \1 -ENDM - -dwb: MACRO - dw \1 - db \2 -ENDM - -dab: MACRO - dwb \1, BANK(\1) -ENDM - -dbbw: MACRO - db \1, \2 - dw \3 -ENDM - -; Predef macro. -predef_const: MACRO - const \1PredefID -ENDM - -add_predef: MACRO -\1Predef:: - db BANK(\1) - dw \1 -ENDM - -predef_id: MACRO - ld a, (\1Predef - PredefPointers) / 3 -ENDM - -predef: MACRO - predef_id \1 - call Predef -ENDM - -predef_jump: MACRO - predef_id \1 - jp Predef -ENDM - -tx_pre_const: MACRO - const \1_id -ENDM - -add_tx_pre: MACRO -\1_id:: dw \1 -ENDM - -db_tx_pre: MACRO - db (\1_id - TextPredefs) / 2 + 1 -ENDM - -tx_pre_id: MACRO - ld a, (\1_id - TextPredefs) / 2 + 1 -ENDM - -tx_pre: MACRO - tx_pre_id \1 - call PrintPredefTextID -ENDM - -tx_pre_jump: MACRO - tx_pre_id \1 - jp PrintPredefTextID -ENDM - -ldPal: MACRO - ld \1, \2 << 6 | \3 << 4 | \4 << 2 | \5 -ENDM diff --git a/macros/audio_macros.asm b/macros/audio_macros.asm deleted file mode 100755 index 95b9ecbc..00000000 --- a/macros/audio_macros.asm +++ /dev/null @@ -1,214 +0,0 @@ - -StopAllMusic: MACRO - ld a, $ff - call PlaySound -ENDM - -Ch1 EQU 0 -Ch2 EQU 1 -Ch3 EQU 2 -Ch4 EQU 3 -Ch5 EQU 4 -Ch6 EQU 5 -Ch7 EQU 6 -Ch8 EQU 7 - -audio_header: MACRO - db (_NARG - 2) << 6 | \2 - dw \1_\2 - IF _NARG > 2 - db \3 - dw \1_\3 - ENDC - IF _NARG > 3 - db \4 - dw \1_\4 - ENDC - IF _NARG > 4 - db \5 - dw \1_\5 - ENDC -ENDM - -; arguments: length [0, 7], pitch change [-7, 7] -; length: length of time between pitch shifts -; sometimes used with a value >7 in which case the MSB is ignored -; pitch change: positive value means increase in pitch, negative value means decrease in pitch -; small magnitude means quick change, large magnitude means slow change -; in signed magnitude representation, so a value of 8 is the same as (negative) 0 -pitch_sweep: MACRO - db $10 - IF \2 < 0 - db (\1 << 4) | (%1000 | (\2 * -1)) - ELSE - db (\1 << 4) | \2 - ENDC -ENDM - -; arguments: length [0, 15], volume [0, 15], fade [-7, 7], frequency -; fade: positive value means decrease in volume, negative value means increase in volume -; small magnitude means quick change, large magnitude means slow change -; in signed magnitude representation, so a value of 8 is the same as (negative) 0 -square_note: MACRO - db $20 | \1 - IF \3 < 0 - db (\2 << 4) | (%1000 | (\3 * -1)) - ELSE - db (\2 << 4) | \3 - ENDC - dw \4 -ENDM - -; arguments: length [0, 15], volume [0, 15], fade [-7, 7], frequency -; fade: positive value means decrease in volume, negative value means increase in volume -; small magnitude means quick change, large magnitude means slow change -; in signed magnitude representation, so a value of 8 is the same as (negative) 0 -noise_note: MACRO - db $20 | \1 - IF \3 < 0 - db (\2 << 4) | (%1000 | (\3 * -1)) - ELSE - db (\2 << 4) | \3 - ENDC - db \4 -ENDM - -C_ EQU $0 -C# EQU $1 -D_ EQU $2 -D# EQU $3 -E_ EQU $4 -F_ EQU $5 -F# EQU $6 -G_ EQU $7 -G# EQU $8 -A_ EQU $9 -A# EQU $A -B_ EQU $B - -; arguments: pitch, length [1, 16] -note: MACRO - db (\1 << 4) | (\2 - 1) -ENDM - -; arguments: instrument [1, 19], length [1, 16] -drum_note: MACRO - db $B0 | (\2 - 1) - db \1 -ENDM - -; arguments: instrument, length [1, 16] -; like drum_note but one 1 byte instead of 2 -; can only be used with instruments 1-10, excluding 2 -; unused -drum_note_short: MACRO - db (\1 << 4) | (\2 - 1) -ENDM - -; arguments: length [1, 16] -rest: MACRO - db $C0 | (\1 - 1) -ENDM - -; arguments: speed [0, 15], volume [0, 15], fade [-7, 7] -; fade: positive value means decrease in volume, negative value means increase in volume -; small magnitude means quick change, large magnitude means slow change -; in signed magnitude representation, so a value of 8 is the same as (negative) 0 -note_type: MACRO - db $D0 | \1 - IF \3 < 0 - db (\2 << 4) | (%1000 | (\3 * -1)) - ELSE - db (\2 << 4) | \3 - ENDC -ENDM - -; arguments: speed [0, 15] -drum_speed: MACRO - db $D0 | \1 -ENDM - -; arguments: octave [1, 8] -octave: MACRO - db $E8 - \1 -ENDM - -; when enabled, effective frequency used is incremented by 1 -toggle_perfect_pitch: MACRO - db $E8 -ENDM - -; arguments: delay [0, 255], depth [0, 15], rate [0, 15] -; delay: time delay until vibrato effect begins -; depth: amplitude of vibrato wave -; rate: frequency of vibrato wave -vibrato: MACRO - db $EA - db \1 - db (\2 << 4) | \3 -ENDM - -; arguments: length [1, 256], octave [1, 8], pitch -pitch_slide: MACRO - db $EB - db \1 - 1 - db ((8 - \2) << 4) | \3 -ENDM - -; arguments: duty cycle [0, 3] (12.5%, 25%, 50%, 75%) -duty_cycle: MACRO - db $EC - db \1 -ENDM - -; arguments: tempo [0, $ffff] -; used to calculate note delay counters -; so a smaller value means music plays faster -; ideally should be set to $100 or less to guarantee no overflow -; if larger than $100, large note speed or note length values might cause overflow -; stored in big endian -tempo: MACRO - db $ED - db \1 / $100 - db \1 % $100 -ENDM - -; arguments: left output enable mask, right output enable mask -stereo_panning: MACRO - db $EE - db (\1 << 4) | \2 -ENDM - -; arguments: left master volume [0, 7], right master volume [0, 7] -volume: MACRO - db $F0 - db (\1 << 4) | \2 -ENDM - -; when enabled, the sfx data is interpreted as music data -execute_music: MACRO - db $F8 -ENDM - -; arguments: duty cycle 1, duty cycle 2, duty cycle 3, duty cycle 4 -duty_cycle_pattern: MACRO - db $FC - db \1 << 6 | \2 << 4 | \3 << 2 | \4 -ENDM - -; arguments: address -sound_call: MACRO - db $FD - dw \1 -ENDM - -; arguments: count, address -sound_loop: MACRO - db $FE - db \1 - dw \2 -ENDM - -sound_ret: MACRO - db $FF -ENDM diff --git a/macros/code.asm b/macros/code.asm new file mode 100755 index 00000000..8b7d6184 --- /dev/null +++ b/macros/code.asm @@ -0,0 +1,9 @@ +; Syntactic sugar macros + +lb: MACRO ; r, hi, lo + ld \1, ((\2) & $ff) << 8 + ((\3) & $ff) +ENDM + +ldPal: MACRO + ld \1, \2 << 6 | \3 << 4 | \4 << 2 | \5 +ENDM diff --git a/macros/coords.asm b/macros/coords.asm new file mode 100644 index 00000000..302260d7 --- /dev/null +++ b/macros/coords.asm @@ -0,0 +1,65 @@ +validateCoords: MACRO + IF \1 >= SCREEN_WIDTH + fail "x coord out of range" + ENDC + IF \2 >= SCREEN_HEIGHT + fail "y coord out of range" + ENDC +ENDM + +;\1 = r +;\2 = X +;\3 = Y +;\4 = which tilemap (optional) +coord: MACRO + validateCoords \2, \3 + IF _NARG >= 4 + ld \1, \4 + SCREEN_WIDTH * \3 + \2 + ELSE + ld \1, wTileMap + SCREEN_WIDTH * \3 + \2 + ENDC +ENDM + +;\1 = X +;\2 = Y +;\3 = which tilemap (optional) +aCoord: MACRO + validateCoords \1, \2 + IF _NARG >= 3 + ld a, [\3 + SCREEN_WIDTH * \2 + \1] + ELSE + ld a, [wTileMap + SCREEN_WIDTH * \2 + \1] + ENDC +ENDM + +;\1 = X +;\2 = Y +;\3 = which tilemap (optional) +Coorda: MACRO + validateCoords \1, \2 + IF _NARG >= 3 + ld [\3 + SCREEN_WIDTH * \2 + \1], a + ELSE + ld [wTileMap + SCREEN_WIDTH * \2 + \1], a + ENDC +ENDM + +;\1 = X +;\2 = Y +;\3 = which tilemap (optional) +dwCoord: MACRO + validateCoords \1, \2 + IF _NARG >= 3 + dw \3 + SCREEN_WIDTH * \2 + \1 + ELSE + dw wTileMap + SCREEN_WIDTH * \2 + \1 + ENDC +ENDM + +;\1 = r +;\2 = X +;\3 = Y +;\4 = map width +overworldMapCoord: MACRO + ld \1, wOverworldMap + ((\2) + 3) + (((\3) + 3) * ((\4) + (3 * 2))) +ENDM diff --git a/macros/data.asm b/macros/data.asm new file mode 100755 index 00000000..54d1d561 --- /dev/null +++ b/macros/data.asm @@ -0,0 +1,62 @@ +; Value macros + +percent EQUS "* $ff / 100" + +bcd2: MACRO + dn ((\1) / 1000) % 10, ((\1) / 100) % 10 + dn ((\1) / 10) % 10, (\1) % 10 +ENDM + +bcd3: MACRO + dn ((\1) / 100000) % 10, ((\1) / 10000) % 10 + dn ((\1) / 1000) % 10, ((\1) / 100) % 10 + dn ((\1) / 10) % 10, (\1) % 10 +ENDM + +coins equs "bcd2" +money equs "bcd3" + +RGB: MACRO + dw (\3 << 10 | \2 << 5 | \1) +ENDM + +tmlearn: MACRO +x = 0 + REPT _NARG +IF \1 != 0 +x = x | (1 << ((\1 - 1) % 8)) +ENDC + SHIFT + ENDR + db x +ENDM + + +; Constant data (db, dw, dl) macros + +dn: MACRO ; nybbles + db (\1 << 4 | \2) +ENDM + +dbw: MACRO + db \1 + dw \2 +ENDM + +dba: MACRO + dbw BANK(\1), \1 +ENDM + +dwb: MACRO + dw \1 + db \2 +ENDM + +dab: MACRO + dwb \1, BANK(\1) +ENDM + +dbbw: MACRO + db \1, \2 + dw \3 +ENDM diff --git a/macros/data_macros.asm b/macros/data_macros.asm deleted file mode 100755 index 794b75f7..00000000 --- a/macros/data_macros.asm +++ /dev/null @@ -1,253 +0,0 @@ - -; Constant enumeration is useful for monsters, items, moves, etc. -const_def: MACRO -if _NARG >= 1 -const_value = \1 -else -const_value = 0 -endc -ENDM - -const: MACRO -\1 EQU const_value -const_value = const_value + 1 -ENDM - -; data format macros - -percent EQUS "* $ff / 100" - -bcd2: MACRO - dn ((\1) / 1000) % 10, ((\1) / 100) % 10 - dn ((\1) / 10) % 10, (\1) % 10 -ENDM - -bcd3: MACRO - dn ((\1) / 100000) % 10, ((\1) / 10000) % 10 - dn ((\1) / 1000) % 10, ((\1) / 100) % 10 - dn ((\1) / 10) % 10, (\1) % 10 -ENDM - -coins equs "bcd2" -money equs "bcd3" - -;\1 = Map Width -;\2 = Rows above (Y-blocks) -;\3 = X movement (X-blocks) -EVENT_DISP: MACRO - dw (wOverworldMap + 7 + (\1) + ((\1) + 6) * ((\2) >> 1) + ((\3) >> 1)) ; Ev.Disp - db \2,\3 ;Y,X -ENDM - -FLYWARP_DATA: MACRO - EVENT_DISP \1,\2,\3 - db ((\2) & $01) ;sub-block Y - db ((\3) & $01) ;sub-block X -ENDM - -; external map entry macro -EMAP: MACRO ; emap x-coordinate,y-coordinate,textpointer -; the appearance of towns and routes in the town map, indexed by map id - ; nybble: y-coordinate - ; nybble: x-coordinate - ; word : pointer to map name - dn \2, \1 - dw \3 -ENDM - -; internal map entry macro -IMAP: MACRO ; imap mapid_less_than,x-coordinate,y-coordinate,textpointer -; the appearance of buildings and dungeons in the town map - ; byte : maximum map id subject to this rule - ; nybble: y-coordinate - ; nybble: x-coordinate - ; word : pointer to map name - db \1 + 1 - dn \3, \2 - dw \4 -ENDM - -; tilesets' headers macro -tileset: MACRO - db BANK(\2) ; BANK(GFX) - dw \1, \2, \3 ; Block, GFX, Coll - db \4, \5, \6 ; counter tiles - db \7 ; grass tile - db \8 ; permission (indoor, cave, outdoor) -ENDM - -INDOOR EQU 0 -CAVE EQU 1 -OUTDOOR EQU 2 - -RGB: MACRO - dw (\3 << 10 | \2 << 5 | \1) -ENDM - -WALK EQU $FE -STAY EQU $FF - -DOWN EQU $D0 -UP EQU $D1 -LEFT EQU $D2 -RIGHT EQU $D3 -NONE EQU $FF - -;\1 sprite id -;\2 x position -;\3 y position -;\4 movement (WALK/STAY) -;\5 range or direction -;\6 text id -;\7 items only: item id -;\7 trainers only: trainer class/pokemon id -;\8 trainers only: trainer number/pokemon level -object: MACRO - db \1 - db \3 + 4 - db \2 + 4 - db \4 - db \5 - IF (_NARG > 7) - db TRAINER | \6 - db \7 - db \8 - ELSE - IF (_NARG > 6) - db ITEM | \6 - db \7 - ELSE - db \6 - ENDC - ENDC -ENDM - -;\1 x position -;\2 y position -;\3 destination warp id -;\4 destination map (-1 = wLastMap) -warp: MACRO - db \2, \1, \3, \4 -ENDM - -;\1 x position -;\2 y position -;\3 sign id -sign: MACRO - db \2, \1, \3 -ENDM - -;\1 x position -;\2 y position -;\3 map width -warp_to: MACRO - EVENT_DISP \3, \2, \1 -ENDM - -map_header: MACRO -;\1: map name -;\2: map id -;\3: tileset -;\4: connections: combo of NORTH, SOUTH, WEST, and/or EAST, or 0 for none -CURRENT_MAP_WIDTH = \2_WIDTH -CURRENT_MAP_HEIGHT = \2_HEIGHT -CURRENT_MAP_OBJECT EQUS "\1_Object" -\1_h:: - db \3 - db CURRENT_MAP_HEIGHT, CURRENT_MAP_WIDTH - dw \1_Blocks - dw \1_TextPointers - dw \1_Script - db \4 -ENDM - -end_map_header: MACRO - dw CURRENT_MAP_OBJECT -PURGE CURRENT_MAP_WIDTH -PURGE CURRENT_MAP_HEIGHT -PURGE CURRENT_MAP_OBJECT -ENDM - -; Connections go in order: north, south, west, east -connection: MACRO -;\1: direction -;\2: map name -;\3: map id -;\4: offset of the target map relative to the current map -; (x offset for east/west, y offset for north/south) - -; Calculate tile offsets for source (current) and target maps -_src = 0 -_tgt = (\4) + 3 -if _tgt < 2 -_src = -_tgt -_tgt = 0 -endc - -if "\1" == "north" -_blk = \3_WIDTH * (\3_HEIGHT - 3) + _src -_map = _tgt -_win = (\3_WIDTH + 6) * \3_HEIGHT + 1 -_y = \3_HEIGHT * 2 - 1 -_x = (\4) * -2 -_len = CURRENT_MAP_WIDTH + 3 - (\4) -if _len > \3_WIDTH -_len = \3_WIDTH -endc - -elif "\1" == "south" -_blk = _src -_map = (CURRENT_MAP_WIDTH + 6) * (CURRENT_MAP_HEIGHT + 3) + _tgt -_win = \3_WIDTH + 7 -_y = 0 -_x = (\4) * -2 -_len = CURRENT_MAP_WIDTH + 3 - (\4) -if _len > \3_WIDTH -_len = \3_WIDTH -endc - -elif "\1" == "west" -_blk = (\3_WIDTH * _src) + \3_WIDTH - 3 -_map = (CURRENT_MAP_WIDTH + 6) * _tgt -_win = (\3_WIDTH + 6) * 2 - 6 -_y = (\4) * -2 -_x = \3_WIDTH * 2 - 1 -_len = CURRENT_MAP_HEIGHT + 3 - (\4) -if _len > \3_HEIGHT -_len = \3_HEIGHT -endc - -elif "\1" == "east" -_blk = (\3_WIDTH * _src) -_map = (CURRENT_MAP_WIDTH + 6) * _tgt + CURRENT_MAP_WIDTH + 3 -_win = \3_WIDTH + 7 -_y = (\4) * -2 -_x = 0 -_len = CURRENT_MAP_HEIGHT + 3 - (\4) -if _len > \3_HEIGHT -_len = \3_HEIGHT -endc - -else -fail "Invalid direction for 'connection'." -endc - - db \3 - dw \2_Blocks + _blk - dw wOverworldMap + _map - db _len - _src - db \3_WIDTH - db _y, _x - dw wOverworldMap + _win -ENDM - -tmlearn: MACRO -x = 0 - REPT _NARG -IF \1 != 0 -x = x | (1 << ((\1 - 1) % 8)) -ENDC - SHIFT - ENDR - db x -ENDM diff --git a/macros/enum.asm b/macros/enum.asm new file mode 100644 index 00000000..8fe5b534 --- /dev/null +++ b/macros/enum.asm @@ -0,0 +1,43 @@ +; Enumerate variables + +enum_start: MACRO +if _NARG >= 1 +__enum__ = \1 +else +__enum__ = 0 +endc +if _NARG >= 2 +__enumdir__ = \2 +else +__enumdir__ = 1 +endc +ENDM + +enum: MACRO +\1 EQU __enum__ +__enum__ = __enum__ + __enumdir__ +ENDM + +enum_set: MACRO +__enum__ = \1 +ENDM + +; Enumerate constants + +const_def: MACRO +if _NARG >= 1 +const_value = \1 +else +const_value = 0 +endc +ENDM + +const: MACRO +\1 EQU const_value +const_value = const_value + 1 +ENDM + +shift_const: MACRO +\1 EQU (1 << const_value) +const_value = const_value + 1 +ENDM diff --git a/macros/event_macros.asm b/macros/event_macros.asm deleted file mode 100755 index 20027209..00000000 --- a/macros/event_macros.asm +++ /dev/null @@ -1,441 +0,0 @@ -;\1 = event index -;\2 = return result in carry instead of zero flag -CheckEvent: MACRO -event_byte = ((\1) / 8) - ld a, [wEventFlags + event_byte] - - IF _NARG > 1 - IF ((\1) % 8) == 7 - add a - ELSE - REPT ((\1) % 8) + 1 - rrca - ENDR - ENDC - ELSE - bit (\1) % 8, a - ENDC - ENDM - -;\1 = event index -CheckEventReuseA: MACRO - IF event_byte != ((\1) / 8) -event_byte = ((\1) / 8) - ld a, [wEventFlags + event_byte] - ENDC - - bit (\1) % 8, a - ENDM - -;\1 = event index -;\2 = event index of the last event used before the branch -CheckEventAfterBranchReuseA: MACRO -event_byte = ((\2) / 8) - IF event_byte != ((\1) / 8) -event_byte = ((\1) / 8) - ld a, [wEventFlags + event_byte] - ENDC - - bit (\1) % 8, a - ENDM - -;\1 = reg -;\2 = event index -;\3 = event index this event is relative to (optional, this is needed when there is a fixed flag address) -EventFlagBit: MACRO - IF _NARG > 2 - ld \1, ((\3) % 8) + ((\2) - (\3)) - ELSE - ld \1, (\2) % 8 - ENDC - ENDM - -;\1 = reg -;\2 = event index -EventFlagAddress: MACRO -event_byte = ((\2) / 8) - ld \1, wEventFlags + event_byte - ENDM - -;\1 = event index -CheckEventHL: MACRO -event_byte = ((\1) / 8) - ld hl, wEventFlags + event_byte - bit (\1) % 8, [hl] - ENDM - -;\1 = event index -CheckEventReuseHL: MACRO -IF event_byte != ((\1) / 8) -event_byte = ((\1) / 8) - ld hl, wEventFlags + event_byte - ENDC - - bit (\1) % 8, [hl] - ENDM - -; dangerous, only use when HL is guaranteed to be the desired value -;\1 = event index -CheckEventForceReuseHL: MACRO -event_byte = ((\1) / 8) - bit (\1) % 8, [hl] - ENDM - -;\1 = event index -;\2 = event index of the last event used before the branch -CheckEventAfterBranchReuseHL: MACRO -event_byte = ((\2) / 8) -IF event_byte != ((\1) / 8) -event_byte = ((\1) / 8) - ld hl, wEventFlags + event_byte - ENDC - - bit (\1) % 8, [hl] - ENDM - -;\1 = event index -CheckAndSetEvent: MACRO -event_byte = ((\1) / 8) - ld hl, wEventFlags + event_byte - bit (\1) % 8, [hl] - set (\1) % 8, [hl] - ENDM - -;\1 = event index -CheckAndResetEvent: MACRO -event_byte = ((\1) / 8) - ld hl, wEventFlags + event_byte - bit (\1) % 8, [hl] - res (\1) % 8, [hl] - ENDM - -;\1 = event index -CheckAndSetEventA: MACRO - ld a, [wEventFlags + ((\1) / 8)] - bit (\1) % 8, a - set (\1) % 8, a - ld [wEventFlags + ((\1) / 8)], a - ENDM - -;\1 = event index -CheckAndResetEventA: MACRO - ld a, [wEventFlags + ((\1) / 8)] - bit (\1) % 8, a - res (\1) % 8, a - ld [wEventFlags + ((\1) / 8)], a - ENDM - -;\1 = event index -SetEvent: MACRO -event_byte = ((\1) / 8) - ld hl, wEventFlags + event_byte - set (\1) % 8, [hl] - ENDM - -;\1 = event index -SetEventReuseHL: MACRO - IF event_byte != ((\1) / 8) -event_byte = ((\1) / 8) - ld hl, wEventFlags + event_byte - ENDC - - set (\1) % 8, [hl] - ENDM - -;\1 = event index -;\2 = event index of the last event used before the branch -SetEventAfterBranchReuseHL: MACRO -event_byte = ((\2) / 8) -IF event_byte != ((\1) / 8) -event_byte = ((\1) / 8) - ld hl, wEventFlags + event_byte - ENDC - - set (\1) % 8, [hl] - ENDM - -; dangerous, only use when HL is guaranteed to be the desired value -;\1 = event index -SetEventForceReuseHL: MACRO -event_byte = ((\1) / 8) - set (\1) % 8, [hl] - ENDM - -;\1 = event index -;\2 = event index -;\3, \4, ... = additional (optional) event indices -SetEvents: MACRO - SetEvent \1 - rept (_NARG + -1) - SetEventReuseHL \2 - shift - endr - ENDM - -;\1 = event index -ResetEvent: MACRO -event_byte = ((\1) / 8) - ld hl, wEventFlags + event_byte - res (\1) % 8, [hl] - ENDM - -;\1 = event index -ResetEventReuseHL: MACRO - IF event_byte != ((\1) / 8) -event_byte = ((\1) / 8) - ld hl, wEventFlags + event_byte - ENDC - - res (\1) % 8, [hl] - ENDM - -;\1 = event index -;\2 = event index of the last event used before the branch -ResetEventAfterBranchReuseHL: MACRO -event_byte = ((\2) / 8) -IF event_byte != ((\1) / 8) -event_byte = ((\1) / 8) - ld hl, wEventFlags + event_byte - ENDC - - res (\1) % 8, [hl] - ENDM - -; dangerous, only use when HL is guaranteed to be the desired value -;\1 = event index -ResetEventForceReuseHL: MACRO -event_byte = ((\1) / 8) - res (\1) % 8, [hl] - ENDM - -;\1 = event index -;\2 = event index -;\3 = event index (optional) -ResetEvents: MACRO - ResetEvent \1 - rept (_NARG + -1) - ResetEventReuseHL \2 - shift - endr - ENDM - -;\1 = event index -;\2 = number of bytes away from the base address (optional, for matching the ROM) -dbEventFlagBit: MACRO - IF _NARG > 1 - db ((\1) % 8) + ((\2) * 8) - ELSE - db ((\1) % 8) - ENDC - ENDM - -;\1 = event index -;\2 = number of bytes away from the base address (optional, for matching the ROM) -dwEventFlagAddress: MACRO - IF _NARG > 1 - dw wEventFlags + ((\1) / 8) - (\2) - ELSE - dw wEventFlags + ((\1) / 8) - ENDC - ENDM - -;\1 = start -;\2 = end -SetEventRange: MACRO -event_start_byte = ((\1) / 8) -event_end_byte = ((\2) / 8) - - IF event_end_byte < event_start_byte - FAIL "Incorrect argument order in SetEventRange." - ENDC - - IF event_start_byte == event_end_byte - ld a, [wEventFlags + event_start_byte] - or (1 << (((\2) % 8) + 1)) - (1 << ((\1) % 8)) - ld [wEventFlags + event_start_byte], a - ELSE -event_fill_start = event_start_byte + 1 -event_fill_count = event_end_byte - event_start_byte - 1 - - IF ((\1) % 8) == 0 -event_fill_start = event_fill_start + -1 -event_fill_count = event_fill_count + 1 - ELSE - ld a, [wEventFlags + event_start_byte] - or $ff - ((1 << ((\1) % 8)) - 1) - ld [wEventFlags + event_start_byte], a - ENDC - - IF ((\2) % 8) == 7 -event_fill_count = event_fill_count + 1 - ENDC - - IF event_fill_count == 1 - ld hl, wEventFlags + event_fill_start - ld [hl], $ff - ENDC - - IF event_fill_count > 1 - ld a, $ff - ld hl, wEventFlags + event_fill_start - - REPT event_fill_count + -1 - ld [hli], a - ENDR - - ld [hl], a - ENDC - - IF ((\2) % 8) == 0 - ld hl, wEventFlags + event_end_byte - set 0, [hl] - ELSE - IF ((\2) % 8) != 7 - ld a, [wEventFlags + event_end_byte] - or (1 << (((\2) % 8) + 1)) - 1 - ld [wEventFlags + event_end_byte], a - ENDC - ENDC - ENDC - ENDM - -;\1 = start -;\2 = end -;\3 = assume a is 0 if present -ResetEventRange: MACRO -event_start_byte = ((\1) / 8) -event_end_byte = ((\2) / 8) - - IF event_end_byte < event_start_byte - FAIL "Incorrect argument order in ResetEventRange." - ENDC - - IF event_start_byte == event_end_byte - ld a, [wEventFlags + event_start_byte] - and ~((1 << (((\2) % 8) + 1)) - (1 << ((\1) % 8))) & $ff - ld [wEventFlags + event_start_byte], a - ELSE -event_fill_start = event_start_byte + 1 -event_fill_count = event_end_byte - event_start_byte - 1 - - IF ((\1) % 8) == 0 -event_fill_start = event_fill_start + -1 -event_fill_count = event_fill_count + 1 - ELSE - ld a, [wEventFlags + event_start_byte] - and ~($ff - ((1 << ((\1) % 8)) - 1)) & $ff - ld [wEventFlags + event_start_byte], a - ENDC - - IF ((\2) % 8) == 7 -event_fill_count = event_fill_count + 1 - ENDC - - IF event_fill_count == 1 - ld hl, wEventFlags + event_fill_start - ld [hl], 0 - ENDC - - IF event_fill_count > 1 - ld hl, wEventFlags + event_fill_start - - ; force xor a if we just to wrote to it above - IF (_NARG < 3) || (((\1) % 8) != 0) - xor a - ENDC - - REPT event_fill_count + -1 - ld [hli], a - ENDR - - ld [hl], a - ENDC - - IF ((\2) % 8) == 0 - ld hl, wEventFlags + event_end_byte - res 0, [hl] - ELSE - IF ((\2) % 8) != 7 - ld a, [wEventFlags + event_end_byte] - and ~((1 << (((\2) % 8) + 1)) - 1) & $ff - ld [wEventFlags + event_end_byte], a - ENDC - ENDC - ENDC - ENDM - -; returns whether both events are set in Z flag -; This is counter-intuitive because the other event checks set the Z flag when -; the event is not set, but this sets the Z flag when the event is set. -;\1 = event index 1 -;\2 = event index 2 -;\3 = try to reuse a (optional) -CheckBothEventsSet: MACRO - IF ((\1) / 8) == ((\2) / 8) - IF (_NARG < 3) || (((\1) / 8) != event_byte) -event_byte = ((\1) / 8) - ld a, [wEventFlags + ((\1) / 8)] - ENDC - and (1 << ((\1) % 8)) | (1 << ((\2) % 8)) - cp (1 << ((\1) % 8)) | (1 << ((\2) % 8)) - ELSE - ; This case doesn't happen in the original ROM. - IF ((\1) % 8) == ((\2) % 8) - push hl - ld a, [wEventFlags + ((\1) / 8)] - ld hl, wEventFlags + ((\2) / 8) - and [hl] - cpl - bit ((\1) % 8), a - pop hl - ELSE - push bc - ld a, [wEventFlags + ((\1) / 8)] - and (1 << ((\1) % 8)) - ld b, a - ld a, [wEventFlags + ((\2) / 8)] - and (1 << ((\2) % 8)) - or b - cp (1 << ((\1) % 8)) | (1 << ((\2) % 8)) - pop bc - ENDC - ENDC - ENDM - -; returns the complement of whether either event is set in Z flag -;\1 = event index 1 -;\2 = event index 2 -CheckEitherEventSet: MACRO - IF ((\1) / 8) == ((\2) / 8) - ld a, [wEventFlags + ((\1) / 8)] - and (1 << ((\1) % 8)) | (1 << ((\2) % 8)) - ELSE - ; This case doesn't happen in the original ROM. - IF ((\1) % 8) == ((\2) % 8) - push hl - ld a, [wEventFlags + ((\1) / 8)] - ld hl, wEventFlags + ((\2) / 8) - or [hl] - bit ((\1) % 8), a - pop hl - ELSE - push bc - ld a, [wEventFlags + ((\1) / 8)] - and (1 << ((\1) % 8)) - ld b, a - ld a, [wEventFlags + ((\2) / 8)] - and (1 << ((\2) % 8)) - or b - pop bc - ENDC - ENDC - ENDM - -; for handling fixed event bits when events are inserted/removed -;\1 = event index -;\2 = fixed flag bit -AdjustEventBit: MACRO - IF ((\1) % 8) != (\2) - add ((\1) % 8) - (\2) - ENDC - ENDM diff --git a/macros/farcall.asm b/macros/farcall.asm new file mode 100644 index 00000000..fc208e3d --- /dev/null +++ b/macros/farcall.asm @@ -0,0 +1,37 @@ +farcall EQUS "callba" + +callba: MACRO + ld b, BANK(\1) + ld hl, \1 + call Bankswitch +ENDM + +callab: MACRO + ld hl, \1 + ld b, BANK(\1) + call Bankswitch +ENDM + +jpba: MACRO + ld b, BANK(\1) + ld hl, \1 + jp Bankswitch +ENDM + +jpab: MACRO + ld hl, \1 + ld b, BANK(\1) + jp Bankswitch +ENDM + +homecall: MACRO + ld a, [H_LOADEDROMBANK] + push af + ld a, BANK(\1) + ld [H_LOADEDROMBANK], a + ld [MBC1RomBank], a + call \1 + pop af + ld [H_LOADEDROMBANK], a + ld [MBC1RomBank], a +ENDM diff --git a/macros/predef.asm b/macros/predef.asm new file mode 100644 index 00000000..fda42004 --- /dev/null +++ b/macros/predef.asm @@ -0,0 +1,49 @@ +predef_const: MACRO + const \1PredefID +ENDM + +add_predef: MACRO +\1Predef:: + db BANK(\1) + dw \1 +ENDM + +predef_id: MACRO + ld a, (\1Predef - PredefPointers) / 3 +ENDM + +predef: MACRO + predef_id \1 + call Predef +ENDM + +predef_jump: MACRO + predef_id \1 + jp Predef +ENDM + +tx_pre_const: MACRO + const \1_id +ENDM + +add_tx_pre: MACRO +\1_id:: dw \1 +ENDM + +db_tx_pre: MACRO + db (\1_id - TextPredefs) / 2 + 1 +ENDM + +tx_pre_id: MACRO + ld a, (\1_id - TextPredefs) / 2 + 1 +ENDM + +tx_pre: MACRO + tx_pre_id \1 + call PrintPredefTextID +ENDM + +tx_pre_jump: MACRO + tx_pre_id \1 + jp PrintPredefTextID +ENDM diff --git a/macros/scripts/audio.asm b/macros/scripts/audio.asm new file mode 100755 index 00000000..8a250c63 --- /dev/null +++ b/macros/scripts/audio.asm @@ -0,0 +1,186 @@ +audio_header: MACRO + db (_NARG - 2) << 6 | \2 + dw \1_\2 + IF _NARG > 2 + db \3 + dw \1_\3 + ENDC + IF _NARG > 3 + db \4 + dw \1_\4 + ENDC + IF _NARG > 4 + db \5 + dw \1_\5 + ENDC +ENDM + +; arguments: length [0, 7], pitch change [-7, 7] +; length: length of time between pitch shifts +; sometimes used with a value >7 in which case the MSB is ignored +; pitch change: positive value means increase in pitch, negative value means decrease in pitch +; small magnitude means quick change, large magnitude means slow change +; in signed magnitude representation, so a value of 8 is the same as (negative) 0 +pitch_sweep: MACRO + db $10 + IF \2 < 0 + db (\1 << 4) | (%1000 | (\2 * -1)) + ELSE + db (\1 << 4) | \2 + ENDC +ENDM + +; arguments: length [0, 15], volume [0, 15], fade [-7, 7], frequency +; fade: positive value means decrease in volume, negative value means increase in volume +; small magnitude means quick change, large magnitude means slow change +; in signed magnitude representation, so a value of 8 is the same as (negative) 0 +square_note: MACRO + db $20 | \1 + IF \3 < 0 + db (\2 << 4) | (%1000 | (\3 * -1)) + ELSE + db (\2 << 4) | \3 + ENDC + dw \4 +ENDM + +; arguments: length [0, 15], volume [0, 15], fade [-7, 7], frequency +; fade: positive value means decrease in volume, negative value means increase in volume +; small magnitude means quick change, large magnitude means slow change +; in signed magnitude representation, so a value of 8 is the same as (negative) 0 +noise_note: MACRO + db $20 | \1 + IF \3 < 0 + db (\2 << 4) | (%1000 | (\3 * -1)) + ELSE + db (\2 << 4) | \3 + ENDC + db \4 +ENDM + +; arguments: pitch, length [1, 16] +note: MACRO + db (\1 << 4) | (\2 - 1) +ENDM + +; arguments: instrument [1, 19], length [1, 16] +drum_note: MACRO + db $B0 | (\2 - 1) + db \1 +ENDM + +; arguments: instrument, length [1, 16] +; like drum_note but one 1 byte instead of 2 +; can only be used with instruments 1-10, excluding 2 +; unused +drum_note_short: MACRO + db (\1 << 4) | (\2 - 1) +ENDM + +; arguments: length [1, 16] +rest: MACRO + db $C0 | (\1 - 1) +ENDM + +; arguments: speed [0, 15], volume [0, 15], fade [-7, 7] +; fade: positive value means decrease in volume, negative value means increase in volume +; small magnitude means quick change, large magnitude means slow change +; in signed magnitude representation, so a value of 8 is the same as (negative) 0 +note_type: MACRO + db $D0 | \1 + IF \3 < 0 + db (\2 << 4) | (%1000 | (\3 * -1)) + ELSE + db (\2 << 4) | \3 + ENDC +ENDM + +; arguments: speed [0, 15] +drum_speed: MACRO + db $D0 | \1 +ENDM + +; arguments: octave [1, 8] +octave: MACRO + db $E8 - \1 +ENDM + +; when enabled, effective frequency used is incremented by 1 +toggle_perfect_pitch: MACRO + db $E8 +ENDM + +; arguments: delay [0, 255], depth [0, 15], rate [0, 15] +; delay: time delay until vibrato effect begins +; depth: amplitude of vibrato wave +; rate: frequency of vibrato wave +vibrato: MACRO + db $EA + db \1 + db (\2 << 4) | \3 +ENDM + +; arguments: length [1, 256], octave [1, 8], pitch +pitch_slide: MACRO + db $EB + db \1 - 1 + db ((8 - \2) << 4) | \3 +ENDM + +; arguments: duty cycle [0, 3] (12.5%, 25%, 50%, 75%) +duty_cycle: MACRO + db $EC + db \1 +ENDM + +; arguments: tempo [0, $ffff] +; used to calculate note delay counters +; so a smaller value means music plays faster +; ideally should be set to $100 or less to guarantee no overflow +; if larger than $100, large note speed or note length values might cause overflow +; stored in big endian +tempo: MACRO + db $ED + db \1 / $100 + db \1 % $100 +ENDM + +; arguments: left output enable mask, right output enable mask +stereo_panning: MACRO + db $EE + db (\1 << 4) | \2 +ENDM + +; arguments: left master volume [0, 7], right master volume [0, 7] +volume: MACRO + db $F0 + db (\1 << 4) | \2 +ENDM + +; when enabled, the sfx data is interpreted as music data +execute_music: MACRO + db $F8 +ENDM + +; arguments: duty cycle 1, duty cycle 2, duty cycle 3, duty cycle 4 +duty_cycle_pattern: MACRO + db $FC + db \1 << 6 | \2 << 4 | \3 << 2 | \4 +ENDM + +; arguments: address +sound_call: MACRO + db $FD + dw \1 +ENDM + +; arguments: count, address +sound_loop: MACRO + db $FE + db \1 + dw \2 +ENDM + +sound_ret: MACRO + db $FF +ENDM diff --git a/macros/scripts/events.asm b/macros/scripts/events.asm new file mode 100755 index 00000000..9be354e3 --- /dev/null +++ b/macros/scripts/events.asm @@ -0,0 +1,471 @@ +;\1 = event index +;\2 = return result in carry instead of zero flag +CheckEvent: MACRO +event_byte = ((\1) / 8) + ld a, [wEventFlags + event_byte] + + IF _NARG > 1 + IF ((\1) % 8) == 7 + add a + ELSE + REPT ((\1) % 8) + 1 + rrca + ENDR + ENDC + ELSE + bit (\1) % 8, a + ENDC +ENDM + + +;\1 = event index +CheckEventReuseA: MACRO + IF event_byte != ((\1) / 8) +event_byte = ((\1) / 8) + ld a, [wEventFlags + event_byte] + ENDC + + bit (\1) % 8, a +ENDM + + +;\1 = event index +;\2 = event index of the last event used before the branch +CheckEventAfterBranchReuseA: MACRO +event_byte = ((\2) / 8) + IF event_byte != ((\1) / 8) +event_byte = ((\1) / 8) + ld a, [wEventFlags + event_byte] + ENDC + + bit (\1) % 8, a +ENDM + + +;\1 = reg +;\2 = event index +;\3 = event index this event is relative to (optional, this is needed when there is a fixed flag address) +EventFlagBit: MACRO + IF _NARG > 2 + ld \1, ((\3) % 8) + ((\2) - (\3)) + ELSE + ld \1, (\2) % 8 + ENDC +ENDM + + +;\1 = reg +;\2 = event index +EventFlagAddress: MACRO +event_byte = ((\2) / 8) + ld \1, wEventFlags + event_byte +ENDM + + +;\1 = event index +CheckEventHL: MACRO +event_byte = ((\1) / 8) + ld hl, wEventFlags + event_byte + bit (\1) % 8, [hl] +ENDM + + +;\1 = event index +CheckEventReuseHL: MACRO +IF event_byte != ((\1) / 8) +event_byte = ((\1) / 8) + ld hl, wEventFlags + event_byte + ENDC + + bit (\1) % 8, [hl] +ENDM + + +; dangerous, only use when HL is guaranteed to be the desired value +;\1 = event index +CheckEventForceReuseHL: MACRO +event_byte = ((\1) / 8) + bit (\1) % 8, [hl] +ENDM + + +;\1 = event index +;\2 = event index of the last event used before the branch +CheckEventAfterBranchReuseHL: MACRO +event_byte = ((\2) / 8) +IF event_byte != ((\1) / 8) +event_byte = ((\1) / 8) + ld hl, wEventFlags + event_byte + ENDC + + bit (\1) % 8, [hl] +ENDM + + +;\1 = event index +CheckAndSetEvent: MACRO +event_byte = ((\1) / 8) + ld hl, wEventFlags + event_byte + bit (\1) % 8, [hl] + set (\1) % 8, [hl] +ENDM + + +;\1 = event index +CheckAndResetEvent: MACRO +event_byte = ((\1) / 8) + ld hl, wEventFlags + event_byte + bit (\1) % 8, [hl] + res (\1) % 8, [hl] +ENDM + + +;\1 = event index +CheckAndSetEventA: MACRO + ld a, [wEventFlags + ((\1) / 8)] + bit (\1) % 8, a + set (\1) % 8, a + ld [wEventFlags + ((\1) / 8)], a +ENDM + + +;\1 = event index +CheckAndResetEventA: MACRO + ld a, [wEventFlags + ((\1) / 8)] + bit (\1) % 8, a + res (\1) % 8, a + ld [wEventFlags + ((\1) / 8)], a +ENDM + + +;\1 = event index +SetEvent: MACRO +event_byte = ((\1) / 8) + ld hl, wEventFlags + event_byte + set (\1) % 8, [hl] +ENDM + + +;\1 = event index +SetEventReuseHL: MACRO + IF event_byte != ((\1) / 8) +event_byte = ((\1) / 8) + ld hl, wEventFlags + event_byte + ENDC + + set (\1) % 8, [hl] +ENDM + + +;\1 = event index +;\2 = event index of the last event used before the branch +SetEventAfterBranchReuseHL: MACRO +event_byte = ((\2) / 8) +IF event_byte != ((\1) / 8) +event_byte = ((\1) / 8) + ld hl, wEventFlags + event_byte + ENDC + + set (\1) % 8, [hl] +ENDM + + +; dangerous, only use when HL is guaranteed to be the desired value +;\1 = event index +SetEventForceReuseHL: MACRO +event_byte = ((\1) / 8) + set (\1) % 8, [hl] +ENDM + + +;\1 = event index +;\2 = event index +;\3, \4, ... = additional (optional) event indices +SetEvents: MACRO + SetEvent \1 + rept (_NARG + -1) + SetEventReuseHL \2 + shift + endr +ENDM + + +;\1 = event index +ResetEvent: MACRO +event_byte = ((\1) / 8) + ld hl, wEventFlags + event_byte + res (\1) % 8, [hl] +ENDM + + +;\1 = event index +ResetEventReuseHL: MACRO + IF event_byte != ((\1) / 8) +event_byte = ((\1) / 8) + ld hl, wEventFlags + event_byte + ENDC + + res (\1) % 8, [hl] +ENDM + + +;\1 = event index +;\2 = event index of the last event used before the branch +ResetEventAfterBranchReuseHL: MACRO +event_byte = ((\2) / 8) +IF event_byte != ((\1) / 8) +event_byte = ((\1) / 8) + ld hl, wEventFlags + event_byte + ENDC + + res (\1) % 8, [hl] +ENDM + + +; dangerous, only use when HL is guaranteed to be the desired value +;\1 = event index +ResetEventForceReuseHL: MACRO +event_byte = ((\1) / 8) + res (\1) % 8, [hl] +ENDM + + +;\1 = event index +;\2 = event index +;\3 = event index (optional) +ResetEvents: MACRO + ResetEvent \1 + rept (_NARG + -1) + ResetEventReuseHL \2 + shift + endr +ENDM + + +;\1 = event index +;\2 = number of bytes away from the base address (optional, for matching the ROM) +dbEventFlagBit: MACRO + IF _NARG > 1 + db ((\1) % 8) + ((\2) * 8) + ELSE + db ((\1) % 8) + ENDC +ENDM + + +;\1 = event index +;\2 = number of bytes away from the base address (optional, for matching the ROM) +dwEventFlagAddress: MACRO + IF _NARG > 1 + dw wEventFlags + ((\1) / 8) - (\2) + ELSE + dw wEventFlags + ((\1) / 8) + ENDC +ENDM + + +;\1 = start +;\2 = end +SetEventRange: MACRO +event_start_byte = ((\1) / 8) +event_end_byte = ((\2) / 8) + + IF event_end_byte < event_start_byte + FAIL "Incorrect argument order in SetEventRange." + ENDC + + IF event_start_byte == event_end_byte + ld a, [wEventFlags + event_start_byte] + or (1 << (((\2) % 8) + 1)) - (1 << ((\1) % 8)) + ld [wEventFlags + event_start_byte], a + ELSE +event_fill_start = event_start_byte + 1 +event_fill_count = event_end_byte - event_start_byte - 1 + + IF ((\1) % 8) == 0 +event_fill_start = event_fill_start + -1 +event_fill_count = event_fill_count + 1 + ELSE + ld a, [wEventFlags + event_start_byte] + or $ff - ((1 << ((\1) % 8)) - 1) + ld [wEventFlags + event_start_byte], a + ENDC + + IF ((\2) % 8) == 7 +event_fill_count = event_fill_count + 1 + ENDC + + IF event_fill_count == 1 + ld hl, wEventFlags + event_fill_start + ld [hl], $ff + ENDC + + IF event_fill_count > 1 + ld a, $ff + ld hl, wEventFlags + event_fill_start + + REPT event_fill_count + -1 + ld [hli], a + ENDR + + ld [hl], a + ENDC + + IF ((\2) % 8) == 0 + ld hl, wEventFlags + event_end_byte + set 0, [hl] + ELSE + IF ((\2) % 8) != 7 + ld a, [wEventFlags + event_end_byte] + or (1 << (((\2) % 8) + 1)) - 1 + ld [wEventFlags + event_end_byte], a + ENDC + ENDC + ENDC +ENDM + + +;\1 = start +;\2 = end +;\3 = assume a is 0 if present +ResetEventRange: MACRO +event_start_byte = ((\1) / 8) +event_end_byte = ((\2) / 8) + + IF event_end_byte < event_start_byte + FAIL "Incorrect argument order in ResetEventRange." + ENDC + + IF event_start_byte == event_end_byte + ld a, [wEventFlags + event_start_byte] + and ~((1 << (((\2) % 8) + 1)) - (1 << ((\1) % 8))) & $ff + ld [wEventFlags + event_start_byte], a + ELSE +event_fill_start = event_start_byte + 1 +event_fill_count = event_end_byte - event_start_byte - 1 + + IF ((\1) % 8) == 0 +event_fill_start = event_fill_start + -1 +event_fill_count = event_fill_count + 1 + ELSE + ld a, [wEventFlags + event_start_byte] + and ~($ff - ((1 << ((\1) % 8)) - 1)) & $ff + ld [wEventFlags + event_start_byte], a + ENDC + + IF ((\2) % 8) == 7 +event_fill_count = event_fill_count + 1 + ENDC + + IF event_fill_count == 1 + ld hl, wEventFlags + event_fill_start + ld [hl], 0 + ENDC + + IF event_fill_count > 1 + ld hl, wEventFlags + event_fill_start + + ; force xor a if we just to wrote to it above + IF (_NARG < 3) || (((\1) % 8) != 0) + xor a + ENDC + + REPT event_fill_count + -1 + ld [hli], a + ENDR + + ld [hl], a + ENDC + + IF ((\2) % 8) == 0 + ld hl, wEventFlags + event_end_byte + res 0, [hl] + ELSE + IF ((\2) % 8) != 7 + ld a, [wEventFlags + event_end_byte] + and ~((1 << (((\2) % 8) + 1)) - 1) & $ff + ld [wEventFlags + event_end_byte], a + ENDC + ENDC + ENDC +ENDM + + +; returns whether both events are set in Z flag +; This is counter-intuitive because the other event checks set the Z flag when +; the event is not set, but this sets the Z flag when the event is set. +;\1 = event index 1 +;\2 = event index 2 +;\3 = try to reuse a (optional) +CheckBothEventsSet: MACRO + IF ((\1) / 8) == ((\2) / 8) + IF (_NARG < 3) || (((\1) / 8) != event_byte) +event_byte = ((\1) / 8) + ld a, [wEventFlags + ((\1) / 8)] + ENDC + and (1 << ((\1) % 8)) | (1 << ((\2) % 8)) + cp (1 << ((\1) % 8)) | (1 << ((\2) % 8)) + ELSE + ; This case doesn't happen in the original ROM. + IF ((\1) % 8) == ((\2) % 8) + push hl + ld a, [wEventFlags + ((\1) / 8)] + ld hl, wEventFlags + ((\2) / 8) + and [hl] + cpl + bit ((\1) % 8), a + pop hl + ELSE + push bc + ld a, [wEventFlags + ((\1) / 8)] + and (1 << ((\1) % 8)) + ld b, a + ld a, [wEventFlags + ((\2) / 8)] + and (1 << ((\2) % 8)) + or b + cp (1 << ((\1) % 8)) | (1 << ((\2) % 8)) + pop bc + ENDC + ENDC +ENDM + + +; returns the complement of whether either event is set in Z flag +;\1 = event index 1 +;\2 = event index 2 +CheckEitherEventSet: MACRO + IF ((\1) / 8) == ((\2) / 8) + ld a, [wEventFlags + ((\1) / 8)] + and (1 << ((\1) % 8)) | (1 << ((\2) % 8)) + ELSE + ; This case doesn't happen in the original ROM. + IF ((\1) % 8) == ((\2) % 8) + push hl + ld a, [wEventFlags + ((\1) / 8)] + ld hl, wEventFlags + ((\2) / 8) + or [hl] + bit ((\1) % 8), a + pop hl + ELSE + push bc + ld a, [wEventFlags + ((\1) / 8)] + and (1 << ((\1) % 8)) + ld b, a + ld a, [wEventFlags + ((\2) / 8)] + and (1 << ((\2) % 8)) + or b + pop bc + ENDC + ENDC +ENDM + + +; for handling fixed event bits when events are inserted/removed +;\1 = event index +;\2 = fixed flag bit +AdjustEventBit: MACRO + IF ((\1) % 8) != (\2) + add ((\1) % 8) - (\2) + ENDC +ENDM + diff --git a/macros/scripts/maps.asm b/macros/scripts/maps.asm new file mode 100644 index 00000000..a30561b9 --- /dev/null +++ b/macros/scripts/maps.asm @@ -0,0 +1,184 @@ +;\1 map width +;\2 Rows above (Y-blocks) +;\3 X movement (X-blocks) +EVENT_DISP: MACRO + dw (wOverworldMap + 7 + (\1) + ((\1) + 6) * ((\2) >> 1) + ((\3) >> 1)) ; Ev.Disp + db \2,\3 ;Y,X +ENDM + +FLYWARP_DATA: MACRO + EVENT_DISP \1,\2,\3 + db ((\2) & $01) ;sub-block Y + db ((\3) & $01) ;sub-block X +ENDM + +; external map entry macro +EMAP: MACRO ; emap x-coordinate,y-coordinate,textpointer +; the appearance of towns and routes in the town map, indexed by map id + ; nybble: y-coordinate + ; nybble: x-coordinate + ; word : pointer to map name + dn \2, \1 + dw \3 +ENDM + +; internal map entry macro +IMAP: MACRO ; imap mapid_less_than,x-coordinate,y-coordinate,textpointer +; the appearance of buildings and dungeons in the town map + ; byte : maximum map id subject to this rule + ; nybble: y-coordinate + ; nybble: x-coordinate + ; word : pointer to map name + db \1 + 1 + dn \3, \2 + dw \4 +ENDM + +;\1 sprite id +;\2 x position +;\3 y position +;\4 movement (WALK/STAY) +;\5 range or direction +;\6 text id +;\7 items only: item id +;\7 trainers only: trainer class/pokemon id +;\8 trainers only: trainer number/pokemon level +object: MACRO + db \1 + db \3 + 4 + db \2 + 4 + db \4 + db \5 + IF (_NARG > 7) + db TRAINER | \6 + db \7 + db \8 + ELSE + IF (_NARG > 6) + db ITEM | \6 + db \7 + ELSE + db \6 + ENDC + ENDC +ENDM + +;\1 x position +;\2 y position +;\3 destination warp id +;\4 destination map (-1 = wLastMap) +warp: MACRO + db \2, \1, \3, \4 +ENDM + +;\1 x position +;\2 y position +;\3 sign id +sign: MACRO + db \2, \1, \3 +ENDM + +;\1 x position +;\2 y position +;\3 map width +warp_to: MACRO + EVENT_DISP \3, \2, \1 +ENDM + +;\1 map name +;\2 map id +;\3 tileset +;\4 connections: combo of NORTH, SOUTH, WEST, and/or EAST, or 0 for none +map_header: MACRO +CURRENT_MAP_WIDTH = \2_WIDTH +CURRENT_MAP_HEIGHT = \2_HEIGHT +CURRENT_MAP_OBJECT EQUS "\1_Object" +\1_h:: + db \3 + db CURRENT_MAP_HEIGHT, CURRENT_MAP_WIDTH + dw \1_Blocks + dw \1_TextPointers + dw \1_Script + db \4 +ENDM + +; Comes after map_header and connection macros +end_map_header: MACRO + dw CURRENT_MAP_OBJECT +PURGE CURRENT_MAP_WIDTH +PURGE CURRENT_MAP_HEIGHT +PURGE CURRENT_MAP_OBJECT +ENDM + +; Connections go in order: north, south, west, east +;\1 direction +;\2 map name +;\3 map id +;\4 offset of the target map relative to the current map +; (x offset for east/west, y offset for north/south) +connection: MACRO + +; Calculate tile offsets for source (current) and target maps +_src = 0 +_tgt = (\4) + 3 +if _tgt < 2 +_src = -_tgt +_tgt = 0 +endc + +if "\1" == "north" +_blk = \3_WIDTH * (\3_HEIGHT - 3) + _src +_map = _tgt +_win = (\3_WIDTH + 6) * \3_HEIGHT + 1 +_y = \3_HEIGHT * 2 - 1 +_x = (\4) * -2 +_len = CURRENT_MAP_WIDTH + 3 - (\4) +if _len > \3_WIDTH +_len = \3_WIDTH +endc + +elif "\1" == "south" +_blk = _src +_map = (CURRENT_MAP_WIDTH + 6) * (CURRENT_MAP_HEIGHT + 3) + _tgt +_win = \3_WIDTH + 7 +_y = 0 +_x = (\4) * -2 +_len = CURRENT_MAP_WIDTH + 3 - (\4) +if _len > \3_WIDTH +_len = \3_WIDTH +endc + +elif "\1" == "west" +_blk = (\3_WIDTH * _src) + \3_WIDTH - 3 +_map = (CURRENT_MAP_WIDTH + 6) * _tgt +_win = (\3_WIDTH + 6) * 2 - 6 +_y = (\4) * -2 +_x = \3_WIDTH * 2 - 1 +_len = CURRENT_MAP_HEIGHT + 3 - (\4) +if _len > \3_HEIGHT +_len = \3_HEIGHT +endc + +elif "\1" == "east" +_blk = (\3_WIDTH * _src) +_map = (CURRENT_MAP_WIDTH + 6) * _tgt + CURRENT_MAP_WIDTH + 3 +_win = \3_WIDTH + 7 +_y = (\4) * -2 +_x = 0 +_len = CURRENT_MAP_HEIGHT + 3 - (\4) +if _len > \3_HEIGHT +_len = \3_HEIGHT +endc + +else +fail "Invalid direction for 'connection'." +endc + + db \3 + dw \2_Blocks + _blk + dw wOverworldMap + _map + db _len - _src + db \3_WIDTH + db _y, _x + dw wOverworldMap + _win +ENDM diff --git a/macros/scripts/text.asm b/macros/scripts/text.asm new file mode 100755 index 00000000..732a22d4 --- /dev/null +++ b/macros/scripts/text.asm @@ -0,0 +1,78 @@ +text EQUS "db $00," ; Start writing text. +next EQUS "db $4e," ; Move a line down. +line EQUS "db $4f," ; Start writing at the bottom line. +para EQUS "db $51," ; Start a new paragraph. +cont EQUS "db $55," ; Scroll to the next line. +done EQUS "db $57" ; End a text box. +prompt EQUS "db $58" ; Prompt the player to end a text box (initiating some other event). + +page EQUS "db $49," ; Start a new Pokedex page. +dex EQUS "db $5f, $50" ; End a Pokedex entry. + +TX_RAM: MACRO +; prints text to screen +; \1: RAM address to read from + db $1 + dw \1 +ENDM + +TX_BCD: MACRO +; \1: RAM address to read from +; \2: number of bytes + print flags + db $2 + dw \1 + db \2 +ENDM + +TX_LINE EQUS "db $05" +TX_BLINK EQUS "db $06" +;TX_SCROLL EQUS "db $07" +TX_ASM EQUS "db $08" + +TX_NUM: MACRO +; print a big-endian decimal number. +; \1: address to read from +; \2: number of bytes to read +; \3: number of digits to display + db $09 + dw \1 + db \2 << 4 | \3 +ENDM + +TX_DELAY EQUS "db $0a" +TX_SFX_ITEM_1 EQUS "db $0b" +TX_SFX_LEVEL_UP EQUS "db $0b" +;TX_ELLIPSES EQUS "db $0c" +TX_WAIT EQUS "db $0d" +;TX_SFX_DEX_RATING EQUS "db $0e" +TX_SFX_ITEM_2 EQUS "db $10" +TX_SFX_KEY_ITEM EQUS "db $11" +TX_SFX_CAUGHT_MON EQUS "db $12" +TX_SFX_DEX_PAGE_ADDED EQUS "db $13" +TX_CRY_NIDORINA EQUS "db $14" +TX_CRY_PIDGEOT EQUS "db $15" +;TX_CRY_DEWGONG EQUS "db $16" + +TX_FAR: MACRO + db $17 + dw \1 + db BANK(\1) +ENDM + +TX_VENDING_MACHINE EQUS "db $f5" +TX_CABLE_CLUB_RECEPTIONIST EQUS "db $f6" +TX_PRIZE_VENDOR EQUS "db $f7" +TX_POKECENTER_PC EQUS "db $f9" +TX_PLAYERS_PC EQUS "db $fc" +TX_BILLS_PC EQUS "db $fd" + +TX_MART: MACRO + db $FE, _NARG + REPT _NARG + db \1 + SHIFT + ENDR + db $FF +ENDM + +TX_POKECENTER_NURSE EQUS "db $ff" diff --git a/macros/text_macros.asm b/macros/text_macros.asm deleted file mode 100755 index 21e02634..00000000 --- a/macros/text_macros.asm +++ /dev/null @@ -1,80 +0,0 @@ - -; text macros -text EQUS "db $00," ; Start writing text. -next EQUS "db $4e," ; Move a line down. -line EQUS "db $4f," ; Start writing at the bottom line. -para EQUS "db $51," ; Start a new paragraph. -cont EQUS "db $55," ; Scroll to the next line. -done EQUS "db $57" ; End a text box. -prompt EQUS "db $58" ; Prompt the player to end a text box (initiating some other event). - -page EQUS "db $49," ; Start a new Pokedex page. -dex EQUS "db $5f, $50" ; End a Pokedex entry. - -TX_RAM: MACRO -; prints text to screen -; \1: RAM address to read from - db $1 - dw \1 -ENDM - -TX_BCD: MACRO -; \1: RAM address to read from -; \2: number of bytes + print flags - db $2 - dw \1 - db \2 -ENDM - -TX_LINE EQUS "db $05" -TX_BLINK EQUS "db $06" -;TX_SCROLL EQUS "db $07" -TX_ASM EQUS "db $08" - -TX_NUM: MACRO -; print a big-endian decimal number. -; \1: address to read from -; \2: number of bytes to read -; \3: number of digits to display - db $09 - dw \1 - db \2 << 4 | \3 -ENDM - -TX_DELAY EQUS "db $0a" -TX_SFX_ITEM_1 EQUS "db $0b" -TX_SFX_LEVEL_UP EQUS "db $0b" -;TX_ELLIPSES EQUS "db $0c" -TX_WAIT EQUS "db $0d" -;TX_SFX_DEX_RATING EQUS "db $0e" -TX_SFX_ITEM_2 EQUS "db $10" -TX_SFX_KEY_ITEM EQUS "db $11" -TX_SFX_CAUGHT_MON EQUS "db $12" -TX_SFX_DEX_PAGE_ADDED EQUS "db $13" -TX_CRY_NIDORINA EQUS "db $14" -TX_CRY_PIDGEOT EQUS "db $15" -;TX_CRY_DEWGONG EQUS "db $16" - -TX_FAR: MACRO - db $17 - dw \1 - db BANK(\1) -ENDM - -TX_VENDING_MACHINE EQUS "db $f5" -TX_CABLE_CLUB_RECEPTIONIST EQUS "db $f6" -TX_PRIZE_VENDOR EQUS "db $f7" -TX_POKECENTER_PC EQUS "db $f9" -TX_PLAYERS_PC EQUS "db $fc" -TX_BILLS_PC EQUS "db $fd" - -TX_MART: MACRO - db $FE, _NARG - REPT _NARG - db \1 - SHIFT - ENDR - db $FF -ENDM - -TX_POKECENTER_NURSE EQUS "db $ff" diff --git a/scripts/CeruleanCity.asm b/scripts/CeruleanCity.asm index 117ec4da..94ec2496 100755 --- a/scripts/CeruleanCity.asm +++ b/scripts/CeruleanCity.asm @@ -64,7 +64,7 @@ CeruleanCityScript0: ld a, [wWalkBikeSurfState] and a jr z, .asm_19512 - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound .asm_19512 @@ -171,7 +171,7 @@ CeruleanCityScript2: ld a, $1 ld [hSpriteIndexOrTextID], a call DisplayTextID - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStart diff --git a/scripts/OaksLab.asm b/scripts/OaksLab.asm index 11abdf65..79de99ff 100755 --- a/scripts/OaksLab.asm +++ b/scripts/OaksLab.asm @@ -510,7 +510,7 @@ OaksLabScript15: xor a ld [hJoyHeld], a call EnableAutoTextBoxDrawing - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStart @@ -611,7 +611,7 @@ OaksLabScript16: xor a ; NPC_MOVEMENT_DOWN call FillMemory ld [hl], $ff - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStart diff --git a/scripts/PalletTown.asm b/scripts/PalletTown.asm index 5ad7d40f..4c6ab015 100755 --- a/scripts/PalletTown.asm +++ b/scripts/PalletTown.asm @@ -27,8 +27,8 @@ PalletTownScript0: ld [hJoyHeld], a ld a, PLAYER_DIR_DOWN ld [wPlayerMovingDirection], a - ld a, $FF - call PlaySound ; stop music + ld a, SFX_STOP_ALL_MUSIC + call PlaySound ld a, BANK(Music_MeetProfOak) ld c, a ld a, MUSIC_MEET_PROF_OAK ; “oak appears” music diff --git a/scripts/PewterPokecenter.asm b/scripts/PewterPokecenter.asm index 22d2fb6b..be933fee 100755 --- a/scripts/PewterPokecenter.asm +++ b/scripts/PewterPokecenter.asm @@ -21,7 +21,8 @@ PewterJigglypuffText: ld [wDoNotWaitForButtonPressAfterDisplayingText], a ld hl, .Text call PrintText - StopAllMusic + ld a, SFX_STOP_ALL_MUSIC + call PlaySound ld c, 32 call DelayFrames ld hl, JigglypuffFacingDirections diff --git a/scripts/PokemonTower2F.asm b/scripts/PokemonTower2F.asm index 81f4c0b3..94916e37 100755 --- a/scripts/PokemonTower2F.asm +++ b/scripts/PokemonTower2F.asm @@ -22,7 +22,7 @@ PokemonTower2Script0: ld hl, CoordsData_6055e call ArePlayerCoordsInArray ret nc - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound ld c, BANK(Music_MeetRival) @@ -76,7 +76,7 @@ PokemonTower2Script1: ld a, $1 ld [H_SPRITEINDEX], a call MoveSprite - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStart diff --git a/scripts/Route22.asm b/scripts/Route22.asm index 7226e509..1fd7e09a 100755 --- a/scripts/Route22.asm +++ b/scripts/Route22.asm @@ -88,7 +88,7 @@ Route22Script0: ld a, [wWalkBikeSurfState] and a jr z, .asm_50f4e - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound .asm_50f4e @@ -167,7 +167,7 @@ Route22Script2: ld a, $1 ld [hSpriteIndexOrTextID], a call DisplayTextID - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStart @@ -241,11 +241,11 @@ Route22Script_5104e: ld a, [wWalkBikeSurfState] and a jr z, .skipYVisibilityTesta - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound .skipYVisibilityTesta - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateTempo @@ -326,7 +326,7 @@ Route22Script5: ld a, $2 ld [hSpriteIndexOrTextID], a call DisplayTextID - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStartAndTempo diff --git a/scripts/SSAnne2F.asm b/scripts/SSAnne2F.asm index ba900748..2795d1d1 100755 --- a/scripts/SSAnne2F.asm +++ b/scripts/SSAnne2F.asm @@ -24,7 +24,7 @@ SSAnne2Script0: ld hl, CoordsData_61411 call ArePlayerCoordsInArray ret nc - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound ld c, BANK(Music_MeetRival) @@ -145,7 +145,7 @@ SSAnne2Script2: ld a, $2 ld [H_SPRITEINDEX], a call MoveSprite - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStart diff --git a/scripts/SSAnneCaptainsRoom.asm b/scripts/SSAnneCaptainsRoom.asm index de0272e4..5723c32d 100755 --- a/scripts/SSAnneCaptainsRoom.asm +++ b/scripts/SSAnneCaptainsRoom.asm @@ -48,7 +48,7 @@ SSAnne7RubText: cp BANK(Audio3_UpdateMusic) ld [wAudioSavedROMBank], a jr nz, .asm_61908 - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound ld a, Bank(Music_PkmnHealed) diff --git a/scripts/SilphCo7F.asm b/scripts/SilphCo7F.asm index e7594663..84a94c92 100755 --- a/scripts/SilphCo7F.asm +++ b/scripts/SilphCo7F.asm @@ -130,7 +130,7 @@ SilphCo7Script0: ld [wJoyIgnore], a ld a, PLAYER_DIR_DOWN ld [wPlayerMovingDirection], a - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound ld c, BANK(Music_MeetRival) @@ -219,7 +219,7 @@ SilphCo7Script4: ld a, $f ld [hSpriteIndexOrTextID], a call DisplayTextID - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStart diff --git a/scripts/VermilionDock.asm b/scripts/VermilionDock.asm index 65b66c52..cc237f8e 100755 --- a/scripts/VermilionDock.asm +++ b/scripts/VermilionDock.asm @@ -38,7 +38,7 @@ VermilionDock_Script: VermilionDock_1db9b: SetEventForceReuseHL EVENT_SS_ANNE_LEFT - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wJoyIgnore], a ld [wNewSoundID], a call PlaySound -- cgit v1.2.3 From 962722746ece1952f7f2dcd55bbe3b45d7b86812 Mon Sep 17 00:00:00 2001 From: Rangi Date: Fri, 3 Jul 2020 16:45:00 -0400 Subject: tilesets.asm -> tileset_constants.asm --- constants.asm | 2 +- constants/tileset_constants.asm | 25 +++++++++++++++++++++++++ constants/tilesets.asm | 25 ------------------------- 3 files changed, 26 insertions(+), 26 deletions(-) create mode 100644 constants/tileset_constants.asm delete mode 100644 constants/tilesets.asm diff --git a/constants.asm b/constants.asm index cd306680..b1395ea8 100644 --- a/constants.asm +++ b/constants.asm @@ -34,7 +34,7 @@ INCLUDE "constants/hide_show_constants.asm" INCLUDE "constants/credits_constants.asm" INCLUDE "constants/audio_constants.asm" INCLUDE "constants/music_constants.asm" -INCLUDE "constants/tilesets.asm" +INCLUDE "constants/tileset_constants.asm" INCLUDE "constants/starter_mons.asm" INCLUDE "constants/event_constants.asm" INCLUDE "constants/text_constants.asm" diff --git a/constants/tileset_constants.asm b/constants/tileset_constants.asm new file mode 100644 index 00000000..33d59fcb --- /dev/null +++ b/constants/tileset_constants.asm @@ -0,0 +1,25 @@ + const_def + const OVERWORLD ; 0 + const REDS_HOUSE_1 ; 1 + const MART ; 2 + const FOREST ; 3 + const REDS_HOUSE_2 ; 4 + const DOJO ; 5 + const POKECENTER ; 6 + const GYM ; 7 + const HOUSE ; 8 + const FOREST_GATE ; 9 + const MUSEUM ; 10 + const UNDERGROUND ; 11 + const GATE ; 12 + const SHIP ; 13 + const SHIP_PORT ; 14 + const CEMETERY ; 15 + const INTERIOR ; 16 + const CAVERN ; 17 + const LOBBY ; 18 + const MANSION ; 19 + const LAB ; 20 + const CLUB ; 21 + const FACILITY ; 22 + const PLATEAU ; 23 diff --git a/constants/tilesets.asm b/constants/tilesets.asm deleted file mode 100644 index 33d59fcb..00000000 --- a/constants/tilesets.asm +++ /dev/null @@ -1,25 +0,0 @@ - const_def - const OVERWORLD ; 0 - const REDS_HOUSE_1 ; 1 - const MART ; 2 - const FOREST ; 3 - const REDS_HOUSE_2 ; 4 - const DOJO ; 5 - const POKECENTER ; 6 - const GYM ; 7 - const HOUSE ; 8 - const FOREST_GATE ; 9 - const MUSEUM ; 10 - const UNDERGROUND ; 11 - const GATE ; 12 - const SHIP ; 13 - const SHIP_PORT ; 14 - const CEMETERY ; 15 - const INTERIOR ; 16 - const CAVERN ; 17 - const LOBBY ; 18 - const MANSION ; 19 - const LAB ; 20 - const CLUB ; 21 - const FACILITY ; 22 - const PLATEAU ; 23 -- cgit v1.2.3 From 62e137f6cedeeebb8457fdb710ea725f73ded49f Mon Sep 17 00:00:00 2001 From: Rangi Date: Fri, 3 Jul 2020 16:58:55 -0400 Subject: Factor out data/sprites/ --- data/maps/sprite_sets.asm | 361 --------------------------------------- data/sprite_facings.asm | 57 ------- data/sprites/facings.asm | 57 +++++++ data/sprites/sprites.asm | 360 ++++++++++++++++++++++++++++++++++++++ engine/overworld/map_sprites.asm | 2 + main.asm | 2 +- 6 files changed, 420 insertions(+), 419 deletions(-) delete mode 100644 data/sprite_facings.asm create mode 100644 data/sprites/facings.asm create mode 100644 data/sprites/sprites.asm diff --git a/data/maps/sprite_sets.asm b/data/maps/sprite_sets.asm index 5b0e1e00..faba21b5 100755 --- a/data/maps/sprite_sets.asm +++ b/data/maps/sprite_sets.asm @@ -188,364 +188,3 @@ SpriteSets: db SPRITE_BUG_CATCHER db SPRITE_BALL db SPRITE_OMANYTE - -SpriteSheetPointerTable: - ; SPRITE_RED - dw RedSprite - db $c0 ; byte count - db BANK(RedSprite) - - ; SPRITE_BLUE - dw BlueSprite - db $c0 ; byte count - db BANK(BlueSprite) - - ; SPRITE_OAK - dw OakSprite - db $c0 ; byte count - db BANK(OakSprite) - - ; SPRITE_BUG_CATCHER - dw BugCatcherSprite - db $c0 ; byte count - db BANK(BugCatcherSprite) - - ; SPRITE_SLOWBRO - dw SlowbroSprite - db $c0 ; byte count - db BANK(SlowbroSprite) - - ; SPRITE_LASS - dw LassSprite - db $c0 ; byte count - db BANK(LassSprite) - - ; SPRITE_BLACK_HAIR_BOY_1 - dw BlackHairBoy1Sprite - db $c0 ; byte count - db BANK(BlackHairBoy1Sprite) - - ; SPRITE_LITTLE_GIRL - dw LittleGirlSprite - db $c0 ; byte count - db BANK(LittleGirlSprite) - - ; SPRITE_BIRD - dw BirdSprite - db $c0 ; byte count - db BANK(BirdSprite) - - ; SPRITE_FAT_BALD_GUY - dw FatBaldGuySprite - db $c0 ; byte count - db BANK(FatBaldGuySprite) - - ; SPRITE_GAMBLER - dw GamblerSprite - db $c0 ; byte count - db BANK(GamblerSprite) - - ; SPRITE_BLACK_HAIR_BOY_2 - dw BlackHairBoy2Sprite - db $c0 ; byte count - db BANK(BlackHairBoy2Sprite) - - ; SPRITE_GIRL - dw GirlSprite - db $c0 ; byte count - db BANK(GirlSprite) - - ; SPRITE_HIKER - dw HikerSprite - db $c0 ; byte count - db BANK(HikerSprite) - - ; SPRITE_FOULARD_WOMAN - dw FoulardWomanSprite - db $c0 ; byte count - db BANK(FoulardWomanSprite) - - ; SPRITE_GENTLEMAN - dw GentlemanSprite - db $c0 ; byte count - db BANK(GentlemanSprite) - - ; SPRITE_DAISY - dw DaisySprite - db $c0 ; byte count - db BANK(DaisySprite) - - ; SPRITE_BIKER - dw BikerSprite - db $c0 ; byte count - db BANK(BikerSprite) - - ; SPRITE_SAILOR - dw SailorSprite - db $c0 ; byte count - db BANK(SailorSprite) - - ; SPRITE_COOK - dw CookSprite - db $c0 ; byte count - db BANK(CookSprite) - - ; SPRITE_BIKE_SHOP_GUY - dw BikeShopGuySprite - db $c0 ; byte count - db BANK(BikeShopGuySprite) - - ; SPRITE_MR_FUJI - dw MrFujiSprite - db $c0 ; byte count - db BANK(MrFujiSprite) - - ; SPRITE_GIOVANNI - dw GiovanniSprite - db $c0 ; byte count - db BANK(GiovanniSprite) - - ; SPRITE_ROCKET - dw RocketSprite - db $c0 ; byte count - db BANK(RocketSprite) - - ; SPRITE_MEDIUM - dw MediumSprite - db $c0 ; byte count - db BANK(MediumSprite) - - ; SPRITE_WAITER - dw WaiterSprite - db $c0 ; byte count - db BANK(WaiterSprite) - - ; SPRITE_ERIKA - dw ErikaSprite - db $c0 ; byte count - db BANK(ErikaSprite) - - ; SPRITE_MOM_GEISHA - dw MomGeishaSprite - db $c0 ; byte count - db BANK(MomGeishaSprite) - - ; SPRITE_BRUNETTE_GIRL - dw BrunetteGirlSprite - db $c0 ; byte count - db BANK(BrunetteGirlSprite) - - ; SPRITE_LANCE - dw LanceSprite - db $c0 ; byte count - db BANK(LanceSprite) - - ; SPRITE_OAK_SCIENTIST_AIDE - dw OakAideSprite - db $c0 ; byte count - db BANK(OakAideSprite) - - ; SPRITE_OAK_AIDE - dw OakAideSprite - db $c0 ; byte count - db BANK(OakAideSprite) - - ; SPRITE_ROCKER - dw RockerSprite - db $c0 ; byte count - db BANK(RockerSprite) - - ; SPRITE_SWIMMER - dw SwimmerSprite - db $c0 ; byte count - db BANK(SwimmerSprite) - - ; SPRITE_WHITE_PLAYER - dw WhitePlayerSprite - db $c0 ; byte count - db BANK(WhitePlayerSprite) - - ; SPRITE_GYM_HELPER - dw GymHelperSprite - db $c0 ; byte count - db BANK(GymHelperSprite) - - ; SPRITE_OLD_PERSON - dw OldPersonSprite - db $c0 ; byte count - db BANK(OldPersonSprite) - - ; SPRITE_MART_GUY - dw MartGuySprite - db $c0 ; byte count - db BANK(MartGuySprite) - - ; SPRITE_FISHER - dw FisherSprite - db $c0 ; byte count - db BANK(FisherSprite) - - ; SPRITE_OLD_MEDIUM_WOMAN - dw OldMediumWomanSprite - db $c0 ; byte count - db BANK(OldMediumWomanSprite) - - ; SPRITE_NURSE - dw NurseSprite - db $c0 ; byte count - db BANK(NurseSprite) - - ; SPRITE_CABLE_CLUB_WOMAN - dw CableClubWomanSprite - db $c0 ; byte count - db BANK(CableClubWomanSprite) - - ; SPRITE_MR_MASTERBALL - dw MrMasterballSprite - db $c0 ; byte count - db BANK(MrMasterballSprite) - - ; SPRITE_LAPRAS_GIVER - dw LaprasGiverSprite - db $c0 ; byte count - db BANK(LaprasGiverSprite) - - ; SPRITE_WARDEN - dw WardenSprite - db $c0 ; byte count - db BANK(WardenSprite) - - ; SPRITE_SS_CAPTAIN - dw SsCaptainSprite - db $c0 ; byte count - db BANK(SsCaptainSprite) - - ; SPRITE_FISHER2 - dw Fisher2Sprite - db $c0 ; byte count - db BANK(Fisher2Sprite) - - ; SPRITE_BLACKBELT - dw BlackbeltSprite - db $c0 ; byte count - db BANK(BlackbeltSprite) - - ; SPRITE_GUARD - dw GuardSprite - db $c0 ; byte count - db BANK(GuardSprite) - - ; $32 - dw GuardSprite - db $c0 ; byte count - db BANK(GuardSprite) - - ; SPRITE_MOM - dw MomSprite - db $c0 ; byte count - db BANK(MomSprite) - - ; SPRITE_BALDING_GUY - dw BaldingGuySprite - db $c0 ; byte count - db BANK(BaldingGuySprite) - - ; SPRITE_YOUNG_BOY - dw YoungBoySprite - db $c0 ; byte count - db BANK(YoungBoySprite) - - ; SPRITE_GAMEBOY_KID - dw GameboyKidSprite - db $c0 ; byte count - db BANK(GameboyKidSprite) - - ; SPRITE_GAMEBOY_KID_COPY - dw GameboyKidSprite - db $c0 ; byte count - db BANK(GameboyKidSprite) - - ; SPRITE_CLEFAIRY - dw ClefairySprite - db $c0 ; byte count - db BANK(ClefairySprite) - - ; SPRITE_AGATHA - dw AgathaSprite - db $c0 ; byte count - db BANK(AgathaSprite) - - ; SPRITE_BRUNO - dw BrunoSprite - db $c0 ; byte count - db BANK(BrunoSprite) - - ; SPRITE_LORELEI - dw LoreleiSprite - db $c0 ; byte count - db BANK(LoreleiSprite) - - ; SPRITE_SEEL - dw SeelSprite - db $c0 ; byte count - db BANK(SeelSprite) - - ; SPRITE_BALL - dw BallSprite - db $40 ; byte count - db BANK(BallSprite) - - ; SPRITE_OMANYTE - dw OmanyteSprite - db $40 ; byte count - db BANK(OmanyteSprite) - - ; SPRITE_BOULDER - dw BoulderSprite - db $40 ; byte count - db BANK(BoulderSprite) - - ; SPRITE_PAPER_SHEET - dw PaperSheetSprite - db $40 ; byte count - db BANK(PaperSheetSprite) - - ; SPRITE_BOOK_MAP_DEX - dw BookMapDexSprite - db $40 ; byte count - db BANK(BookMapDexSprite) - - ; SPRITE_CLIPBOARD - dw ClipboardSprite - db $40 ; byte count - db BANK(ClipboardSprite) - - ; SPRITE_SNORLAX - dw SnorlaxSprite - db $40 ; byte count - db BANK(SnorlaxSprite) - - ; SPRITE_OLD_AMBER_COPY - dw OldAmberSprite - db $40 ; byte count - db BANK(OldAmberSprite) - - ; SPRITE_OLD_AMBER - dw OldAmberSprite - db $40 ; byte count - db BANK(OldAmberSprite) - - ; SPRITE_LYING_OLD_MAN_UNUSED_1 - dw LyingOldManSprite - db $40 ; byte count - db BANK(LyingOldManSprite) - - ; SPRITE_LYING_OLD_MAN_UNUSED_2 - dw LyingOldManSprite - db $40 ; byte count - db BANK(LyingOldManSprite) - - ; SPRITE_LYING_OLD_MAN - dw LyingOldManSprite - db $40 ; byte count - db BANK(LyingOldManSprite) diff --git a/data/sprite_facings.asm b/data/sprite_facings.asm deleted file mode 100644 index c412247a..00000000 --- a/data/sprite_facings.asm +++ /dev/null @@ -1,57 +0,0 @@ -SpriteFacingAndAnimationTable: - dw SpriteFacingDownAndStanding, SpriteOAMParameters ; facing down, walk animation frame 0 - dw SpriteFacingDownAndWalking, SpriteOAMParameters ; facing down, walk animation frame 1 - dw SpriteFacingDownAndStanding, SpriteOAMParameters ; facing down, walk animation frame 2 - dw SpriteFacingDownAndWalking, SpriteOAMParametersFlipped ; facing down, walk animation frame 3 - dw SpriteFacingUpAndStanding, SpriteOAMParameters ; facing up, walk animation frame 0 - dw SpriteFacingUpAndWalking, SpriteOAMParameters ; facing up, walk animation frame 1 - dw SpriteFacingUpAndStanding, SpriteOAMParameters ; facing up, walk animation frame 2 - dw SpriteFacingUpAndWalking, SpriteOAMParametersFlipped ; facing up, walk animation frame 3 - dw SpriteFacingLeftAndStanding, SpriteOAMParameters ; facing left, walk animation frame 0 - dw SpriteFacingLeftAndWalking, SpriteOAMParameters ; facing left, walk animation frame 1 - dw SpriteFacingLeftAndStanding, SpriteOAMParameters ; facing left, walk animation frame 2 - dw SpriteFacingLeftAndWalking, SpriteOAMParameters ; facing left, walk animation frame 3 - dw SpriteFacingLeftAndStanding, SpriteOAMParametersFlipped ; facing right, walk animation frame 0 - dw SpriteFacingLeftAndWalking, SpriteOAMParametersFlipped ; facing right, walk animation frame 1 - dw SpriteFacingLeftAndStanding, SpriteOAMParametersFlipped ; facing right, walk animation frame 2 - dw SpriteFacingLeftAndWalking, SpriteOAMParametersFlipped ; facing right, walk animation frame 3 - dw SpriteFacingDownAndStanding, SpriteOAMParameters ; --- - dw SpriteFacingDownAndStanding, SpriteOAMParameters ; This table is used for sprites $a and $b. - dw SpriteFacingDownAndStanding, SpriteOAMParameters ; All orientation and animation parameters - dw SpriteFacingDownAndStanding, SpriteOAMParameters ; lead to the same result. Used for immobile - dw SpriteFacingDownAndStanding, SpriteOAMParameters ; sprites like items on the ground - dw SpriteFacingDownAndStanding, SpriteOAMParameters ; --- - dw SpriteFacingDownAndStanding, SpriteOAMParameters - dw SpriteFacingDownAndStanding, SpriteOAMParameters - dw SpriteFacingDownAndStanding, SpriteOAMParameters - dw SpriteFacingDownAndStanding, SpriteOAMParameters - dw SpriteFacingDownAndStanding, SpriteOAMParameters - dw SpriteFacingDownAndStanding, SpriteOAMParameters - dw SpriteFacingDownAndStanding, SpriteOAMParameters - dw SpriteFacingDownAndStanding, SpriteOAMParameters - dw SpriteFacingDownAndStanding, SpriteOAMParameters - dw SpriteFacingDownAndStanding, SpriteOAMParameters - -SpriteFacingDownAndStanding: - db $00,$01,$02,$03 -SpriteFacingDownAndWalking: - db $80,$81,$82,$83 -SpriteFacingUpAndStanding: - db $04,$05,$06,$07 -SpriteFacingUpAndWalking: - db $84,$85,$86,$87 -SpriteFacingLeftAndStanding: - db $08,$09,$0a,$0b -SpriteFacingLeftAndWalking: - db $88,$89,$8a,$8b - -SpriteOAMParameters: - db $00,$00, $00 ; top left - db $00,$08, $00 ; top right - db $08,$00, OAMFLAG_CANBEMASKED ; bottom left - db $08,$08, OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA ; bottom right -SpriteOAMParametersFlipped: - db $00,$08, OAMFLAG_VFLIPPED - db $00,$00, OAMFLAG_VFLIPPED - db $08,$08, OAMFLAG_VFLIPPED | OAMFLAG_CANBEMASKED - db $08,$00, OAMFLAG_VFLIPPED | OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA diff --git a/data/sprites/facings.asm b/data/sprites/facings.asm new file mode 100644 index 00000000..c412247a --- /dev/null +++ b/data/sprites/facings.asm @@ -0,0 +1,57 @@ +SpriteFacingAndAnimationTable: + dw SpriteFacingDownAndStanding, SpriteOAMParameters ; facing down, walk animation frame 0 + dw SpriteFacingDownAndWalking, SpriteOAMParameters ; facing down, walk animation frame 1 + dw SpriteFacingDownAndStanding, SpriteOAMParameters ; facing down, walk animation frame 2 + dw SpriteFacingDownAndWalking, SpriteOAMParametersFlipped ; facing down, walk animation frame 3 + dw SpriteFacingUpAndStanding, SpriteOAMParameters ; facing up, walk animation frame 0 + dw SpriteFacingUpAndWalking, SpriteOAMParameters ; facing up, walk animation frame 1 + dw SpriteFacingUpAndStanding, SpriteOAMParameters ; facing up, walk animation frame 2 + dw SpriteFacingUpAndWalking, SpriteOAMParametersFlipped ; facing up, walk animation frame 3 + dw SpriteFacingLeftAndStanding, SpriteOAMParameters ; facing left, walk animation frame 0 + dw SpriteFacingLeftAndWalking, SpriteOAMParameters ; facing left, walk animation frame 1 + dw SpriteFacingLeftAndStanding, SpriteOAMParameters ; facing left, walk animation frame 2 + dw SpriteFacingLeftAndWalking, SpriteOAMParameters ; facing left, walk animation frame 3 + dw SpriteFacingLeftAndStanding, SpriteOAMParametersFlipped ; facing right, walk animation frame 0 + dw SpriteFacingLeftAndWalking, SpriteOAMParametersFlipped ; facing right, walk animation frame 1 + dw SpriteFacingLeftAndStanding, SpriteOAMParametersFlipped ; facing right, walk animation frame 2 + dw SpriteFacingLeftAndWalking, SpriteOAMParametersFlipped ; facing right, walk animation frame 3 + dw SpriteFacingDownAndStanding, SpriteOAMParameters ; --- + dw SpriteFacingDownAndStanding, SpriteOAMParameters ; This table is used for sprites $a and $b. + dw SpriteFacingDownAndStanding, SpriteOAMParameters ; All orientation and animation parameters + dw SpriteFacingDownAndStanding, SpriteOAMParameters ; lead to the same result. Used for immobile + dw SpriteFacingDownAndStanding, SpriteOAMParameters ; sprites like items on the ground + dw SpriteFacingDownAndStanding, SpriteOAMParameters ; --- + dw SpriteFacingDownAndStanding, SpriteOAMParameters + dw SpriteFacingDownAndStanding, SpriteOAMParameters + dw SpriteFacingDownAndStanding, SpriteOAMParameters + dw SpriteFacingDownAndStanding, SpriteOAMParameters + dw SpriteFacingDownAndStanding, SpriteOAMParameters + dw SpriteFacingDownAndStanding, SpriteOAMParameters + dw SpriteFacingDownAndStanding, SpriteOAMParameters + dw SpriteFacingDownAndStanding, SpriteOAMParameters + dw SpriteFacingDownAndStanding, SpriteOAMParameters + dw SpriteFacingDownAndStanding, SpriteOAMParameters + +SpriteFacingDownAndStanding: + db $00,$01,$02,$03 +SpriteFacingDownAndWalking: + db $80,$81,$82,$83 +SpriteFacingUpAndStanding: + db $04,$05,$06,$07 +SpriteFacingUpAndWalking: + db $84,$85,$86,$87 +SpriteFacingLeftAndStanding: + db $08,$09,$0a,$0b +SpriteFacingLeftAndWalking: + db $88,$89,$8a,$8b + +SpriteOAMParameters: + db $00,$00, $00 ; top left + db $00,$08, $00 ; top right + db $08,$00, OAMFLAG_CANBEMASKED ; bottom left + db $08,$08, OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA ; bottom right +SpriteOAMParametersFlipped: + db $00,$08, OAMFLAG_VFLIPPED + db $00,$00, OAMFLAG_VFLIPPED + db $08,$08, OAMFLAG_VFLIPPED | OAMFLAG_CANBEMASKED + db $08,$00, OAMFLAG_VFLIPPED | OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA diff --git a/data/sprites/sprites.asm b/data/sprites/sprites.asm new file mode 100644 index 00000000..9a6f383f --- /dev/null +++ b/data/sprites/sprites.asm @@ -0,0 +1,360 @@ +SpriteSheetPointerTable: + ; SPRITE_RED + dw RedSprite + db $c0 ; byte count + db BANK(RedSprite) + + ; SPRITE_BLUE + dw BlueSprite + db $c0 ; byte count + db BANK(BlueSprite) + + ; SPRITE_OAK + dw OakSprite + db $c0 ; byte count + db BANK(OakSprite) + + ; SPRITE_BUG_CATCHER + dw BugCatcherSprite + db $c0 ; byte count + db BANK(BugCatcherSprite) + + ; SPRITE_SLOWBRO + dw SlowbroSprite + db $c0 ; byte count + db BANK(SlowbroSprite) + + ; SPRITE_LASS + dw LassSprite + db $c0 ; byte count + db BANK(LassSprite) + + ; SPRITE_BLACK_HAIR_BOY_1 + dw BlackHairBoy1Sprite + db $c0 ; byte count + db BANK(BlackHairBoy1Sprite) + + ; SPRITE_LITTLE_GIRL + dw LittleGirlSprite + db $c0 ; byte count + db BANK(LittleGirlSprite) + + ; SPRITE_BIRD + dw BirdSprite + db $c0 ; byte count + db BANK(BirdSprite) + + ; SPRITE_FAT_BALD_GUY + dw FatBaldGuySprite + db $c0 ; byte count + db BANK(FatBaldGuySprite) + + ; SPRITE_GAMBLER + dw GamblerSprite + db $c0 ; byte count + db BANK(GamblerSprite) + + ; SPRITE_BLACK_HAIR_BOY_2 + dw BlackHairBoy2Sprite + db $c0 ; byte count + db BANK(BlackHairBoy2Sprite) + + ; SPRITE_GIRL + dw GirlSprite + db $c0 ; byte count + db BANK(GirlSprite) + + ; SPRITE_HIKER + dw HikerSprite + db $c0 ; byte count + db BANK(HikerSprite) + + ; SPRITE_FOULARD_WOMAN + dw FoulardWomanSprite + db $c0 ; byte count + db BANK(FoulardWomanSprite) + + ; SPRITE_GENTLEMAN + dw GentlemanSprite + db $c0 ; byte count + db BANK(GentlemanSprite) + + ; SPRITE_DAISY + dw DaisySprite + db $c0 ; byte count + db BANK(DaisySprite) + + ; SPRITE_BIKER + dw BikerSprite + db $c0 ; byte count + db BANK(BikerSprite) + + ; SPRITE_SAILOR + dw SailorSprite + db $c0 ; byte count + db BANK(SailorSprite) + + ; SPRITE_COOK + dw CookSprite + db $c0 ; byte count + db BANK(CookSprite) + + ; SPRITE_BIKE_SHOP_GUY + dw BikeShopGuySprite + db $c0 ; byte count + db BANK(BikeShopGuySprite) + + ; SPRITE_MR_FUJI + dw MrFujiSprite + db $c0 ; byte count + db BANK(MrFujiSprite) + + ; SPRITE_GIOVANNI + dw GiovanniSprite + db $c0 ; byte count + db BANK(GiovanniSprite) + + ; SPRITE_ROCKET + dw RocketSprite + db $c0 ; byte count + db BANK(RocketSprite) + + ; SPRITE_MEDIUM + dw MediumSprite + db $c0 ; byte count + db BANK(MediumSprite) + + ; SPRITE_WAITER + dw WaiterSprite + db $c0 ; byte count + db BANK(WaiterSprite) + + ; SPRITE_ERIKA + dw ErikaSprite + db $c0 ; byte count + db BANK(ErikaSprite) + + ; SPRITE_MOM_GEISHA + dw MomGeishaSprite + db $c0 ; byte count + db BANK(MomGeishaSprite) + + ; SPRITE_BRUNETTE_GIRL + dw BrunetteGirlSprite + db $c0 ; byte count + db BANK(BrunetteGirlSprite) + + ; SPRITE_LANCE + dw LanceSprite + db $c0 ; byte count + db BANK(LanceSprite) + + ; SPRITE_OAK_SCIENTIST_AIDE + dw OakAideSprite + db $c0 ; byte count + db BANK(OakAideSprite) + + ; SPRITE_OAK_AIDE + dw OakAideSprite + db $c0 ; byte count + db BANK(OakAideSprite) + + ; SPRITE_ROCKER + dw RockerSprite + db $c0 ; byte count + db BANK(RockerSprite) + + ; SPRITE_SWIMMER + dw SwimmerSprite + db $c0 ; byte count + db BANK(SwimmerSprite) + + ; SPRITE_WHITE_PLAYER + dw WhitePlayerSprite + db $c0 ; byte count + db BANK(WhitePlayerSprite) + + ; SPRITE_GYM_HELPER + dw GymHelperSprite + db $c0 ; byte count + db BANK(GymHelperSprite) + + ; SPRITE_OLD_PERSON + dw OldPersonSprite + db $c0 ; byte count + db BANK(OldPersonSprite) + + ; SPRITE_MART_GUY + dw MartGuySprite + db $c0 ; byte count + db BANK(MartGuySprite) + + ; SPRITE_FISHER + dw FisherSprite + db $c0 ; byte count + db BANK(FisherSprite) + + ; SPRITE_OLD_MEDIUM_WOMAN + dw OldMediumWomanSprite + db $c0 ; byte count + db BANK(OldMediumWomanSprite) + + ; SPRITE_NURSE + dw NurseSprite + db $c0 ; byte count + db BANK(NurseSprite) + + ; SPRITE_CABLE_CLUB_WOMAN + dw CableClubWomanSprite + db $c0 ; byte count + db BANK(CableClubWomanSprite) + + ; SPRITE_MR_MASTERBALL + dw MrMasterballSprite + db $c0 ; byte count + db BANK(MrMasterballSprite) + + ; SPRITE_LAPRAS_GIVER + dw LaprasGiverSprite + db $c0 ; byte count + db BANK(LaprasGiverSprite) + + ; SPRITE_WARDEN + dw WardenSprite + db $c0 ; byte count + db BANK(WardenSprite) + + ; SPRITE_SS_CAPTAIN + dw SsCaptainSprite + db $c0 ; byte count + db BANK(SsCaptainSprite) + + ; SPRITE_FISHER2 + dw Fisher2Sprite + db $c0 ; byte count + db BANK(Fisher2Sprite) + + ; SPRITE_BLACKBELT + dw BlackbeltSprite + db $c0 ; byte count + db BANK(BlackbeltSprite) + + ; SPRITE_GUARD + dw GuardSprite + db $c0 ; byte count + db BANK(GuardSprite) + + ; $32 + dw GuardSprite + db $c0 ; byte count + db BANK(GuardSprite) + + ; SPRITE_MOM + dw MomSprite + db $c0 ; byte count + db BANK(MomSprite) + + ; SPRITE_BALDING_GUY + dw BaldingGuySprite + db $c0 ; byte count + db BANK(BaldingGuySprite) + + ; SPRITE_YOUNG_BOY + dw YoungBoySprite + db $c0 ; byte count + db BANK(YoungBoySprite) + + ; SPRITE_GAMEBOY_KID + dw GameboyKidSprite + db $c0 ; byte count + db BANK(GameboyKidSprite) + + ; SPRITE_GAMEBOY_KID_COPY + dw GameboyKidSprite + db $c0 ; byte count + db BANK(GameboyKidSprite) + + ; SPRITE_CLEFAIRY + dw ClefairySprite + db $c0 ; byte count + db BANK(ClefairySprite) + + ; SPRITE_AGATHA + dw AgathaSprite + db $c0 ; byte count + db BANK(AgathaSprite) + + ; SPRITE_BRUNO + dw BrunoSprite + db $c0 ; byte count + db BANK(BrunoSprite) + + ; SPRITE_LORELEI + dw LoreleiSprite + db $c0 ; byte count + db BANK(LoreleiSprite) + + ; SPRITE_SEEL + dw SeelSprite + db $c0 ; byte count + db BANK(SeelSprite) + + ; SPRITE_BALL + dw BallSprite + db $40 ; byte count + db BANK(BallSprite) + + ; SPRITE_OMANYTE + dw OmanyteSprite + db $40 ; byte count + db BANK(OmanyteSprite) + + ; SPRITE_BOULDER + dw BoulderSprite + db $40 ; byte count + db BANK(BoulderSprite) + + ; SPRITE_PAPER_SHEET + dw PaperSheetSprite + db $40 ; byte count + db BANK(PaperSheetSprite) + + ; SPRITE_BOOK_MAP_DEX + dw BookMapDexSprite + db $40 ; byte count + db BANK(BookMapDexSprite) + + ; SPRITE_CLIPBOARD + dw ClipboardSprite + db $40 ; byte count + db BANK(ClipboardSprite) + + ; SPRITE_SNORLAX + dw SnorlaxSprite + db $40 ; byte count + db BANK(SnorlaxSprite) + + ; SPRITE_OLD_AMBER_COPY + dw OldAmberSprite + db $40 ; byte count + db BANK(OldAmberSprite) + + ; SPRITE_OLD_AMBER + dw OldAmberSprite + db $40 ; byte count + db BANK(OldAmberSprite) + + ; SPRITE_LYING_OLD_MAN_UNUSED_1 + dw LyingOldManSprite + db $40 ; byte count + db BANK(LyingOldManSprite) + + ; SPRITE_LYING_OLD_MAN_UNUSED_2 + dw LyingOldManSprite + db $40 ; byte count + db BANK(LyingOldManSprite) + + ; SPRITE_LYING_OLD_MAN + dw LyingOldManSprite + db $40 ; byte count + db BANK(LyingOldManSprite) diff --git a/engine/overworld/map_sprites.asm b/engine/overworld/map_sprites.asm index 2079bb6a..eb8edb10 100755 --- a/engine/overworld/map_sprites.asm +++ b/engine/overworld/map_sprites.asm @@ -438,3 +438,5 @@ GetSplitMapSpriteSetID: ret INCLUDE "data/maps/sprite_sets.asm" + +INCLUDE "data/sprites/sprites.asm" diff --git a/main.asm b/main.asm index 39519774..cee9dd0f 100755 --- a/main.asm +++ b/main.asm @@ -3,7 +3,7 @@ INCLUDE "constants.asm" SECTION "bank1", ROMX -INCLUDE "data/sprite_facings.asm" +INCLUDE "data/sprites/facings.asm" INCLUDE "engine/events/black_out.asm" MewPicFront:: INCBIN "gfx/pokemon/front/mew.pic" -- cgit v1.2.3 From 64da1f5d6bf96ff7f35165476ecc8d623f76060d Mon Sep 17 00:00:00 2001 From: Rangi Date: Fri, 3 Jul 2020 17:32:21 -0400 Subject: Move graphics-only object file sources into gfx/ Previously this wasn't working, but now the Makefile uses pokegold's technique for running scan_includes. It also enables and fixes some rgbds warnings ("Non-local labels without a colon are deprecated"). --- Makefile | 45 ++++-- gfx/pics.asm | 376 ++++++++++++++++++++++++++++++++++++++++++++ gfx/sprites.asm | 73 +++++++++ gfx/tilesets.asm | 63 ++++++++ pics.asm | 376 -------------------------------------------- scripts/CeladonMart3F.asm | 2 +- scripts/CeruleanCaveB1F.asm | 2 +- scripts/PowerPlant.asm | 2 +- sprites.asm | 73 --------- tilesets.asm | 63 -------- 10 files changed, 545 insertions(+), 530 deletions(-) create mode 100644 gfx/pics.asm create mode 100644 gfx/sprites.asm create mode 100644 gfx/tilesets.asm delete mode 100644 pics.asm delete mode 100644 sprites.asm delete mode 100644 tilesets.asm diff --git a/Makefile b/Makefile index 9475c377..684d665e 100644 --- a/Makefile +++ b/Makefile @@ -5,11 +5,11 @@ audio.o \ home.o \ main.o \ maps.o \ -pics.o \ -sprites.o \ text.o \ -tilesets.o \ wram.o \ +gfx/pics.o \ +gfx/sprites.o \ +gfx/tilesets.o pokered_obj := $(rom_obj:.o=_red.o) pokeblue_obj := $(rom_obj:.o=_blue.o) @@ -35,7 +35,7 @@ RGBLINK ?= $(RGBDS)rgblink .PHONY: all red blue clean tidy compare tools all: $(roms) -red: pokered.gbc +red: pokered.gbc blue: pokeblue.gbc # For contributors to make sure a change didn't affect the contents of the rom. @@ -44,7 +44,7 @@ compare: $(roms) clean: rm -f $(roms) $(pokered_obj) $(pokeblue_obj) $(roms:.gbc=.map) $(roms:.gbc=.sym) - find . \( -iname '*.1bpp' -o -iname '*.2bpp' -o -iname '*.pic' \) -exec rm {} + + find gfx \( -iname '*.1bpp' -o -iname '*.2bpp' -o -iname '*.pic' \) -delete $(MAKE) clean -C tools/ tidy: @@ -55,28 +55,43 @@ tools: $(MAKE) -C tools/ +RGBASMFLAGS = -h -Weverything +# Create a sym/map for debug purposes if `make` run with `DEBUG=1` +ifeq ($(DEBUG),1) +RGBASMFLAGS += -E +endif + +$(pokered_obj): RGBASMFLAGS += -D _RED +$(pokeblue_obj): RGBASMFLAGS += -D _BLUE + +# The dep rules have to be explicit or else missing files won't be reported. +# As a side effect, they're evaluated immediately instead of when the rule is invoked. +# It doesn't look like $(shell) can be deferred so there might not be a better way. +define DEP +$1: $2 $$(shell tools/scan_includes $2) + $$(RGBASM) $$(RGBASMFLAGS) -o $$@ $$< +endef + # Build tools when building the rom. # This has to happen before the rules are processed, since that's when scan_includes is run. ifeq (,$(filter clean tools,$(MAKECMDGOALS))) + $(info $(shell $(MAKE) -C tools)) -endif +# Dependencies for objects (drop _red and _blue from asm file basenames) +$(foreach obj, $(pokered_obj), $(eval $(call DEP,$(obj),$(obj:_red.o=.asm)))) +$(foreach obj, $(pokeblue_obj), $(eval $(call DEP,$(obj),$(obj:_blue.o=.asm)))) -%.asm: ; +endif -%_red.o: dep = $(shell tools/scan_includes $(@D)/$*.asm) -$(pokered_obj): %_red.o: %.asm $$(dep) - $(RGBASM) -D _RED -h -o $@ $*.asm -%_blue.o: dep = $(shell tools/scan_includes $(@D)/$*.asm) -$(pokeblue_obj): %_blue.o: %.asm $$(dep) - $(RGBASM) -D _BLUE -h -o $@ $*.asm +%.asm: ; pokered_opt = -jsv -k 01 -l 0x33 -m 0x13 -p 0 -r 03 -t "POKEMON RED" pokeblue_opt = -jsv -k 01 -l 0x33 -m 0x13 -p 0 -r 03 -t "POKEMON BLUE" -%.gbc: $$(%_obj) - $(RGBLINK) -d -m $*.map -n $*.sym -l layout.link -o $@ $^ +%.gbc: $$(%_obj) layout.link + $(RGBLINK) -d -m $*.map -n $*.sym -l layout.link -o $@ $(filter %.o,$^) $(RGBFIX) $($*_opt) $@ diff --git a/gfx/pics.asm b/gfx/pics.asm new file mode 100644 index 00000000..0e2adc24 --- /dev/null +++ b/gfx/pics.asm @@ -0,0 +1,376 @@ +SECTION "Pics 1", ROMX + +RhydonPicFront:: INCBIN "gfx/pokemon/front/rhydon.pic" +RhydonPicBack:: INCBIN "gfx/pokemon/back/rhydonb.pic" +KangaskhanPicFront:: INCBIN "gfx/pokemon/front/kangaskhan.pic" +KangaskhanPicBack:: INCBIN "gfx/pokemon/back/kangaskhanb.pic" +NidoranMPicFront:: INCBIN "gfx/pokemon/front/nidoranm.pic" +NidoranMPicBack:: INCBIN "gfx/pokemon/back/nidoranmb.pic" +ClefairyPicFront:: INCBIN "gfx/pokemon/front/clefairy.pic" +ClefairyPicBack:: INCBIN "gfx/pokemon/back/clefairyb.pic" +SpearowPicFront:: INCBIN "gfx/pokemon/front/spearow.pic" +SpearowPicBack:: INCBIN "gfx/pokemon/back/spearowb.pic" +VoltorbPicFront:: INCBIN "gfx/pokemon/front/voltorb.pic" +VoltorbPicBack:: INCBIN "gfx/pokemon/back/voltorbb.pic" +NidokingPicFront:: INCBIN "gfx/pokemon/front/nidoking.pic" +NidokingPicBack:: INCBIN "gfx/pokemon/back/nidokingb.pic" +SlowbroPicFront:: INCBIN "gfx/pokemon/front/slowbro.pic" +SlowbroPicBack:: INCBIN "gfx/pokemon/back/slowbrob.pic" +IvysaurPicFront:: INCBIN "gfx/pokemon/front/ivysaur.pic" +IvysaurPicBack:: INCBIN "gfx/pokemon/back/ivysaurb.pic" +ExeggutorPicFront:: INCBIN "gfx/pokemon/front/exeggutor.pic" +ExeggutorPicBack:: INCBIN "gfx/pokemon/back/exeggutorb.pic" +LickitungPicFront:: INCBIN "gfx/pokemon/front/lickitung.pic" +LickitungPicBack:: INCBIN "gfx/pokemon/back/lickitungb.pic" +ExeggcutePicFront:: INCBIN "gfx/pokemon/front/exeggcute.pic" +ExeggcutePicBack:: INCBIN "gfx/pokemon/back/exeggcuteb.pic" +GrimerPicFront:: INCBIN "gfx/pokemon/front/grimer.pic" +GrimerPicBack:: INCBIN "gfx/pokemon/back/grimerb.pic" +GengarPicFront:: INCBIN "gfx/pokemon/front/gengar.pic" +GengarPicBack:: INCBIN "gfx/pokemon/back/gengarb.pic" +NidoranFPicFront:: INCBIN "gfx/pokemon/front/nidoranf.pic" +NidoranFPicBack:: INCBIN "gfx/pokemon/back/nidoranfb.pic" +NidoqueenPicFront:: INCBIN "gfx/pokemon/front/nidoqueen.pic" +NidoqueenPicBack:: INCBIN "gfx/pokemon/back/nidoqueenb.pic" +CubonePicFront:: INCBIN "gfx/pokemon/front/cubone.pic" +CubonePicBack:: INCBIN "gfx/pokemon/back/cuboneb.pic" +RhyhornPicFront:: INCBIN "gfx/pokemon/front/rhyhorn.pic" +RhyhornPicBack:: INCBIN "gfx/pokemon/back/rhyhornb.pic" +LaprasPicFront:: INCBIN "gfx/pokemon/front/lapras.pic" +LaprasPicBack:: INCBIN "gfx/pokemon/back/laprasb.pic" +ArcaninePicFront:: INCBIN "gfx/pokemon/front/arcanine.pic" +ArcaninePicBack:: INCBIN "gfx/pokemon/back/arcanineb.pic" +GyaradosPicFront:: INCBIN "gfx/pokemon/front/gyarados.pic" +GyaradosPicBack:: INCBIN "gfx/pokemon/back/gyaradosb.pic" +ShellderPicFront:: INCBIN "gfx/pokemon/front/shellder.pic" +ShellderPicBack:: INCBIN "gfx/pokemon/back/shellderb.pic" +TentacoolPicFront:: INCBIN "gfx/pokemon/front/tentacool.pic" +TentacoolPicBack:: INCBIN "gfx/pokemon/back/tentacoolb.pic" +GastlyPicFront:: INCBIN "gfx/pokemon/front/gastly.pic" +GastlyPicBack:: INCBIN "gfx/pokemon/back/gastlyb.pic" +ScytherPicFront:: INCBIN "gfx/pokemon/front/scyther.pic" +ScytherPicBack:: INCBIN "gfx/pokemon/back/scytherb.pic" +StaryuPicFront:: INCBIN "gfx/pokemon/front/staryu.pic" +StaryuPicBack:: INCBIN "gfx/pokemon/back/staryub.pic" +BlastoisePicFront:: INCBIN "gfx/pokemon/front/blastoise.pic" +BlastoisePicBack:: INCBIN "gfx/pokemon/back/blastoiseb.pic" +PinsirPicFront:: INCBIN "gfx/pokemon/front/pinsir.pic" +PinsirPicBack:: INCBIN "gfx/pokemon/back/pinsirb.pic" +TangelaPicFront:: INCBIN "gfx/pokemon/front/tangela.pic" +TangelaPicBack:: INCBIN "gfx/pokemon/back/tangelab.pic" + + +SECTION "Pics 2", ROMX + +GrowlithePicFront:: INCBIN "gfx/pokemon/front/growlithe.pic" +GrowlithePicBack:: INCBIN "gfx/pokemon/back/growlitheb.pic" +OnixPicFront:: INCBIN "gfx/pokemon/front/onix.pic" +OnixPicBack:: INCBIN "gfx/pokemon/back/onixb.pic" +FearowPicFront:: INCBIN "gfx/pokemon/front/fearow.pic" +FearowPicBack:: INCBIN "gfx/pokemon/back/fearowb.pic" +PidgeyPicFront:: INCBIN "gfx/pokemon/front/pidgey.pic" +PidgeyPicBack:: INCBIN "gfx/pokemon/back/pidgeyb.pic" +SlowpokePicFront:: INCBIN "gfx/pokemon/front/slowpoke.pic" +SlowpokePicBack:: INCBIN "gfx/pokemon/back/slowpokeb.pic" +KadabraPicFront:: INCBIN "gfx/pokemon/front/kadabra.pic" +KadabraPicBack:: INCBIN "gfx/pokemon/back/kadabrab.pic" +GravelerPicFront:: INCBIN "gfx/pokemon/front/graveler.pic" +GravelerPicBack:: INCBIN "gfx/pokemon/back/gravelerb.pic" +ChanseyPicFront:: INCBIN "gfx/pokemon/front/chansey.pic" +ChanseyPicBack:: INCBIN "gfx/pokemon/back/chanseyb.pic" +MachokePicFront:: INCBIN "gfx/pokemon/front/machoke.pic" +MachokePicBack:: INCBIN "gfx/pokemon/back/machokeb.pic" +MrMimePicFront:: INCBIN "gfx/pokemon/front/mr.mime.pic" +MrMimePicBack:: INCBIN "gfx/pokemon/back/mr.mimeb.pic" +HitmonleePicFront:: INCBIN "gfx/pokemon/front/hitmonlee.pic" +HitmonleePicBack:: INCBIN "gfx/pokemon/back/hitmonleeb.pic" +HitmonchanPicFront:: INCBIN "gfx/pokemon/front/hitmonchan.pic" +HitmonchanPicBack:: INCBIN "gfx/pokemon/back/hitmonchanb.pic" +ArbokPicFront:: INCBIN "gfx/pokemon/front/arbok.pic" +ArbokPicBack:: INCBIN "gfx/pokemon/back/arbokb.pic" +ParasectPicFront:: INCBIN "gfx/pokemon/front/parasect.pic" +ParasectPicBack:: INCBIN "gfx/pokemon/back/parasectb.pic" +PsyduckPicFront:: INCBIN "gfx/pokemon/front/psyduck.pic" +PsyduckPicBack:: INCBIN "gfx/pokemon/back/psyduckb.pic" +DrowzeePicFront:: INCBIN "gfx/pokemon/front/drowzee.pic" +DrowzeePicBack:: INCBIN "gfx/pokemon/back/drowzeeb.pic" +GolemPicFront:: INCBIN "gfx/pokemon/front/golem.pic" +GolemPicBack:: INCBIN "gfx/pokemon/back/golemb.pic" +MagmarPicFront:: INCBIN "gfx/pokemon/front/magmar.pic" +MagmarPicBack:: INCBIN "gfx/pokemon/back/magmarb.pic" +ElectabuzzPicFront:: INCBIN "gfx/pokemon/front/electabuzz.pic" +ElectabuzzPicBack:: INCBIN "gfx/pokemon/back/electabuzzb.pic" +MagnetonPicFront:: INCBIN "gfx/pokemon/front/magneton.pic" +MagnetonPicBack:: INCBIN "gfx/pokemon/back/magnetonb.pic" +KoffingPicFront:: INCBIN "gfx/pokemon/front/koffing.pic" +KoffingPicBack:: INCBIN "gfx/pokemon/back/koffingb.pic" +MankeyPicFront:: INCBIN "gfx/pokemon/front/mankey.pic" +MankeyPicBack:: INCBIN "gfx/pokemon/back/mankeyb.pic" +SeelPicFront:: INCBIN "gfx/pokemon/front/seel.pic" +SeelPicBack:: INCBIN "gfx/pokemon/back/seelb.pic" +DiglettPicFront:: INCBIN "gfx/pokemon/front/diglett.pic" +DiglettPicBack:: INCBIN "gfx/pokemon/back/diglettb.pic" +TaurosPicFront:: INCBIN "gfx/pokemon/front/tauros.pic" +TaurosPicBack:: INCBIN "gfx/pokemon/back/taurosb.pic" +FarfetchdPicFront:: INCBIN "gfx/pokemon/front/farfetchd.pic" +FarfetchdPicBack:: INCBIN "gfx/pokemon/back/farfetchdb.pic" +VenonatPicFront:: INCBIN "gfx/pokemon/front/venonat.pic" +VenonatPicBack:: INCBIN "gfx/pokemon/back/venonatb.pic" +DragonitePicFront:: INCBIN "gfx/pokemon/front/dragonite.pic" +DragonitePicBack:: INCBIN "gfx/pokemon/back/dragoniteb.pic" +DoduoPicFront:: INCBIN "gfx/pokemon/front/doduo.pic" +DoduoPicBack:: INCBIN "gfx/pokemon/back/doduob.pic" +PoliwagPicFront:: INCBIN "gfx/pokemon/front/poliwag.pic" +PoliwagPicBack:: INCBIN "gfx/pokemon/back/poliwagb.pic" +JynxPicFront:: INCBIN "gfx/pokemon/front/jynx.pic" +JynxPicBack:: INCBIN "gfx/pokemon/back/jynxb.pic" +MoltresPicFront:: INCBIN "gfx/pokemon/front/moltres.pic" +MoltresPicBack:: INCBIN "gfx/pokemon/back/moltresb.pic" + + +SECTION "Pics 3", ROMX + +ArticunoPicFront:: INCBIN "gfx/pokemon/front/articuno.pic" +ArticunoPicBack:: INCBIN "gfx/pokemon/back/articunob.pic" +ZapdosPicFront:: INCBIN "gfx/pokemon/front/zapdos.pic" +ZapdosPicBack:: INCBIN "gfx/pokemon/back/zapdosb.pic" +DittoPicFront:: INCBIN "gfx/pokemon/front/ditto.pic" +DittoPicBack:: INCBIN "gfx/pokemon/back/dittob.pic" +MeowthPicFront:: INCBIN "gfx/pokemon/front/meowth.pic" +MeowthPicBack:: INCBIN "gfx/pokemon/back/meowthb.pic" +KrabbyPicFront:: INCBIN "gfx/pokemon/front/krabby.pic" +KrabbyPicBack:: INCBIN "gfx/pokemon/back/krabbyb.pic" +VulpixPicFront:: INCBIN "gfx/pokemon/front/vulpix.pic" +VulpixPicBack:: INCBIN "gfx/pokemon/back/vulpixb.pic" +NinetalesPicFront:: INCBIN "gfx/pokemon/front/ninetales.pic" +NinetalesPicBack:: INCBIN "gfx/pokemon/back/ninetalesb.pic" +PikachuPicFront:: INCBIN "gfx/pokemon/front/pikachu.pic" +PikachuPicBack:: INCBIN "gfx/pokemon/back/pikachub.pic" +RaichuPicFront:: INCBIN "gfx/pokemon/front/raichu.pic" +RaichuPicBack:: INCBIN "gfx/pokemon/back/raichub.pic" +DratiniPicFront:: INCBIN "gfx/pokemon/front/dratini.pic" +DratiniPicBack:: INCBIN "gfx/pokemon/back/dratinib.pic" +DragonairPicFront:: INCBIN "gfx/pokemon/front/dragonair.pic" +DragonairPicBack:: INCBIN "gfx/pokemon/back/dragonairb.pic" +KabutoPicFront:: INCBIN "gfx/pokemon/front/kabuto.pic" +KabutoPicBack:: INCBIN "gfx/pokemon/back/kabutob.pic" +KabutopsPicFront:: INCBIN "gfx/pokemon/front/kabutops.pic" +KabutopsPicBack:: INCBIN "gfx/pokemon/back/kabutopsb.pic" +HorseaPicFront:: INCBIN "gfx/pokemon/front/horsea.pic" +HorseaPicBack:: INCBIN "gfx/pokemon/back/horseab.pic" +SeadraPicFront:: INCBIN "gfx/pokemon/front/seadra.pic" +SeadraPicBack:: INCBIN "gfx/pokemon/back/seadrab.pic" +SandshrewPicFront:: INCBIN "gfx/pokemon/front/sandshrew.pic" +SandshrewPicBack:: INCBIN "gfx/pokemon/back/sandshrewb.pic" +SandslashPicFront:: INCBIN "gfx/pokemon/front/sandslash.pic" +SandslashPicBack:: INCBIN "gfx/pokemon/back/sandslashb.pic" +OmanytePicFront:: INCBIN "gfx/pokemon/front/omanyte.pic" +OmanytePicBack:: INCBIN "gfx/pokemon/back/omanyteb.pic" +OmastarPicFront:: INCBIN "gfx/pokemon/front/omastar.pic" +OmastarPicBack:: INCBIN "gfx/pokemon/back/omastarb.pic" +JigglypuffPicFront:: INCBIN "gfx/pokemon/front/jigglypuff.pic" +JigglypuffPicBack:: INCBIN "gfx/pokemon/back/jigglypuffb.pic" +WigglytuffPicFront:: INCBIN "gfx/pokemon/front/wigglytuff.pic" +WigglytuffPicBack:: INCBIN "gfx/pokemon/back/wigglytuffb.pic" +EeveePicFront:: INCBIN "gfx/pokemon/front/eevee.pic" +EeveePicBack:: INCBIN "gfx/pokemon/back/eeveeb.pic" +FlareonPicFront:: INCBIN "gfx/pokemon/front/flareon.pic" +FlareonPicBack:: INCBIN "gfx/pokemon/back/flareonb.pic" +JolteonPicFront:: INCBIN "gfx/pokemon/front/jolteon.pic" +JolteonPicBack:: INCBIN "gfx/pokemon/back/jolteonb.pic" +VaporeonPicFront:: INCBIN "gfx/pokemon/front/vaporeon.pic" +VaporeonPicBack:: INCBIN "gfx/pokemon/back/vaporeonb.pic" +MachopPicFront:: INCBIN "gfx/pokemon/front/machop.pic" +MachopPicBack:: INCBIN "gfx/pokemon/back/machopb.pic" +ZubatPicFront:: INCBIN "gfx/pokemon/front/zubat.pic" +ZubatPicBack:: INCBIN "gfx/pokemon/back/zubatb.pic" +EkansPicFront:: INCBIN "gfx/pokemon/front/ekans.pic" +EkansPicBack:: INCBIN "gfx/pokemon/back/ekansb.pic" +ParasPicFront:: INCBIN "gfx/pokemon/front/paras.pic" +ParasPicBack:: INCBIN "gfx/pokemon/back/parasb.pic" +PoliwhirlPicFront:: INCBIN "gfx/pokemon/front/poliwhirl.pic" +PoliwhirlPicBack:: INCBIN "gfx/pokemon/back/poliwhirlb.pic" +PoliwrathPicFront:: INCBIN "gfx/pokemon/front/poliwrath.pic" +PoliwrathPicBack:: INCBIN "gfx/pokemon/back/poliwrathb.pic" +WeedlePicFront:: INCBIN "gfx/pokemon/front/weedle.pic" +WeedlePicBack:: INCBIN "gfx/pokemon/back/weedleb.pic" +KakunaPicFront:: INCBIN "gfx/pokemon/front/kakuna.pic" +KakunaPicBack:: INCBIN "gfx/pokemon/back/kakunab.pic" +BeedrillPicFront:: INCBIN "gfx/pokemon/front/beedrill.pic" +BeedrillPicBack:: INCBIN "gfx/pokemon/back/beedrillb.pic" + +FossilKabutopsPic:: INCBIN "gfx/pokemon/front/fossilkabutops.pic" + + +SECTION "Pics 4", ROMX + +DodrioPicFront:: INCBIN "gfx/pokemon/front/dodrio.pic" +DodrioPicBack:: INCBIN "gfx/pokemon/back/dodriob.pic" +PrimeapePicFront:: INCBIN "gfx/pokemon/front/primeape.pic" +PrimeapePicBack:: INCBIN "gfx/pokemon/back/primeapeb.pic" +DugtrioPicFront:: INCBIN "gfx/pokemon/front/dugtrio.pic" +DugtrioPicBack:: INCBIN "gfx/pokemon/back/dugtriob.pic" +VenomothPicFront:: INCBIN "gfx/pokemon/front/venomoth.pic" +VenomothPicBack:: INCBIN "gfx/pokemon/back/venomothb.pic" +DewgongPicFront:: INCBIN "gfx/pokemon/front/dewgong.pic" +DewgongPicBack:: INCBIN "gfx/pokemon/back/dewgongb.pic" +CaterpiePicFront:: INCBIN "gfx/pokemon/front/caterpie.pic" +CaterpiePicBack:: INCBIN "gfx/pokemon/back/caterpieb.pic" +MetapodPicFront:: INCBIN "gfx/pokemon/front/metapod.pic" +MetapodPicBack:: INCBIN "gfx/pokemon/back/metapodb.pic" +ButterfreePicFront:: INCBIN "gfx/pokemon/front/butterfree.pic" +ButterfreePicBack:: INCBIN "gfx/pokemon/back/butterfreeb.pic" +MachampPicFront:: INCBIN "gfx/pokemon/front/machamp.pic" +MachampPicBack:: INCBIN "gfx/pokemon/back/machampb.pic" +GolduckPicFront:: INCBIN "gfx/pokemon/front/golduck.pic" +GolduckPicBack:: INCBIN "gfx/pokemon/back/golduckb.pic" +HypnoPicFront:: INCBIN "gfx/pokemon/front/hypno.pic" +HypnoPicBack:: INCBIN "gfx/pokemon/back/hypnob.pic" +GolbatPicFront:: INCBIN "gfx/pokemon/front/golbat.pic" +GolbatPicBack:: INCBIN "gfx/pokemon/back/golbatb.pic" +MewtwoPicFront:: INCBIN "gfx/pokemon/front/mewtwo.pic" +MewtwoPicBack:: INCBIN "gfx/pokemon/back/mewtwob.pic" +SnorlaxPicFront:: INCBIN "gfx/pokemon/front/snorlax.pic" +SnorlaxPicBack:: INCBIN "gfx/pokemon/back/snorlaxb.pic" +MagikarpPicFront:: INCBIN "gfx/pokemon/front/magikarp.pic" +MagikarpPicBack:: INCBIN "gfx/pokemon/back/magikarpb.pic" +MukPicFront:: INCBIN "gfx/pokemon/front/muk.pic" +MukPicBack:: INCBIN "gfx/pokemon/back/mukb.pic" +KinglerPicFront:: INCBIN "gfx/pokemon/front/kingler.pic" +KinglerPicBack:: INCBIN "gfx/pokemon/back/kinglerb.pic" +CloysterPicFront:: INCBIN "gfx/pokemon/front/cloyster.pic" +CloysterPicBack:: INCBIN "gfx/pokemon/back/cloysterb.pic" +ElectrodePicFront:: INCBIN "gfx/pokemon/front/electrode.pic" +ElectrodePicBack:: INCBIN "gfx/pokemon/back/electrodeb.pic" +ClefablePicFront:: INCBIN "gfx/pokemon/front/clefable.pic" +ClefablePicBack:: INCBIN "gfx/pokemon/back/clefableb.pic" +WeezingPicFront:: INCBIN "gfx/pokemon/front/weezing.pic" +WeezingPicBack:: INCBIN "gfx/pokemon/back/weezingb.pic" +PersianPicFront:: INCBIN "gfx/pokemon/front/persian.pic" +PersianPicBack:: INCBIN "gfx/pokemon/back/persianb.pic" +MarowakPicFront:: INCBIN "gfx/pokemon/front/marowak.pic" +MarowakPicBack:: INCBIN "gfx/pokemon/back/marowakb.pic" +HaunterPicFront:: INCBIN "gfx/pokemon/front/haunter.pic" +HaunterPicBack:: INCBIN "gfx/pokemon/back/haunterb.pic" +AbraPicFront:: INCBIN "gfx/pokemon/front/abra.pic" +AbraPicBack:: INCBIN "gfx/pokemon/back/abrab.pic" +AlakazamPicFront:: INCBIN "gfx/pokemon/front/alakazam.pic" +AlakazamPicBack:: INCBIN "gfx/pokemon/back/alakazamb.pic" +PidgeottoPicFront:: INCBIN "gfx/pokemon/front/pidgeotto.pic" +PidgeottoPicBack:: INCBIN "gfx/pokemon/back/pidgeottob.pic" +PidgeotPicFront:: INCBIN "gfx/pokemon/front/pidgeot.pic" +PidgeotPicBack:: INCBIN "gfx/pokemon/back/pidgeotb.pic" +StarmiePicFront:: INCBIN "gfx/pokemon/front/starmie.pic" +StarmiePicBack:: INCBIN "gfx/pokemon/back/starmieb.pic" + +RedPicBack:: INCBIN "gfx/player/redb.pic" +OldManPic:: INCBIN "gfx/battle/oldman.pic" + + +SECTION "Pics 5", ROMX + +BulbasaurPicFront:: INCBIN "gfx/pokemon/front/bulbasaur.pic" +BulbasaurPicBack:: INCBIN "gfx/pokemon/back/bulbasaurb.pic" +VenusaurPicFront:: INCBIN "gfx/pokemon/front/venusaur.pic" +VenusaurPicBack:: INCBIN "gfx/pokemon/back/venusaurb.pic" +TentacruelPicFront:: INCBIN "gfx/pokemon/front/tentacruel.pic" +TentacruelPicBack:: INCBIN "gfx/pokemon/back/tentacruelb.pic" +GoldeenPicFront:: INCBIN "gfx/pokemon/front/goldeen.pic" +GoldeenPicBack:: INCBIN "gfx/pokemon/back/goldeenb.pic" +SeakingPicFront:: INCBIN "gfx/pokemon/front/seaking.pic" +SeakingPicBack:: INCBIN "gfx/pokemon/back/seakingb.pic" +PonytaPicFront:: INCBIN "gfx/pokemon/front/ponyta.pic" +RapidashPicFront:: INCBIN "gfx/pokemon/front/rapidash.pic" +PonytaPicBack:: INCBIN "gfx/pokemon/back/ponytab.pic" +RapidashPicBack:: INCBIN "gfx/pokemon/back/rapidashb.pic" +RattataPicFront:: INCBIN "gfx/pokemon/front/rattata.pic" +RattataPicBack:: INCBIN "gfx/pokemon/back/rattatab.pic" +RaticatePicFront:: INCBIN "gfx/pokemon/front/raticate.pic" +RaticatePicBack:: INCBIN "gfx/pokemon/back/raticateb.pic" +NidorinoPicFront:: INCBIN "gfx/pokemon/front/nidorino.pic" +NidorinoPicBack:: INCBIN "gfx/pokemon/back/nidorinob.pic" +NidorinaPicFront:: INCBIN "gfx/pokemon/front/nidorina.pic" +NidorinaPicBack:: INCBIN "gfx/pokemon/back/nidorinab.pic" +GeodudePicFront:: INCBIN "gfx/pokemon/front/geodude.pic" +GeodudePicBack:: INCBIN "gfx/pokemon/back/geodudeb.pic" +PorygonPicFront:: INCBIN "gfx/pokemon/front/porygon.pic" +PorygonPicBack:: INCBIN "gfx/pokemon/back/porygonb.pic" +AerodactylPicFront:: INCBIN "gfx/pokemon/front/aerodactyl.pic" +AerodactylPicBack:: INCBIN "gfx/pokemon/back/aerodactylb.pic" +MagnemitePicFront:: INCBIN "gfx/pokemon/front/magnemite.pic" +MagnemitePicBack:: INCBIN "gfx/pokemon/back/magnemiteb.pic" +CharmanderPicFront:: INCBIN "gfx/pokemon/front/charmander.pic" +CharmanderPicBack:: INCBIN "gfx/pokemon/back/charmanderb.pic" +SquirtlePicFront:: INCBIN "gfx/pokemon/front/squirtle.pic" +SquirtlePicBack:: INCBIN "gfx/pokemon/back/squirtleb.pic" +CharmeleonPicFront:: INCBIN "gfx/pokemon/front/charmeleon.pic" +CharmeleonPicBack:: INCBIN "gfx/pokemon/back/charmeleonb.pic" +WartortlePicFront:: INCBIN "gfx/pokemon/front/wartortle.pic" +WartortlePicBack:: INCBIN "gfx/pokemon/back/wartortleb.pic" +CharizardPicFront:: INCBIN "gfx/pokemon/front/charizard.pic" +CharizardPicBack:: INCBIN "gfx/pokemon/back/charizardb.pic" +FossilAerodactylPic:: INCBIN "gfx/pokemon/front/fossilaerodactyl.pic" +GhostPic:: INCBIN "gfx/battle/ghost.pic" +OddishPicFront:: INCBIN "gfx/pokemon/front/oddish.pic" +OddishPicBack:: INCBIN "gfx/pokemon/back/oddishb.pic" +GloomPicFront:: INCBIN "gfx/pokemon/front/gloom.pic" +GloomPicBack:: INCBIN "gfx/pokemon/back/gloomb.pic" +VileplumePicFront:: INCBIN "gfx/pokemon/front/vileplume.pic" +VileplumePicBack:: INCBIN "gfx/pokemon/back/vileplumeb.pic" +BellsproutPicFront:: INCBIN "gfx/pokemon/front/bellsprout.pic" +BellsproutPicBack:: INCBIN "gfx/pokemon/back/bellsproutb.pic" +WeepinbellPicFront:: INCBIN "gfx/pokemon/front/weepinbell.pic" +WeepinbellPicBack:: INCBIN "gfx/pokemon/back/weepinbellb.pic" +VictreebelPicFront:: INCBIN "gfx/pokemon/front/victreebel.pic" +VictreebelPicBack:: INCBIN "gfx/pokemon/back/victreebelb.pic" + + +SECTION "Pics 6", ROMX + +TrainerPics:: +YoungsterPic:: INCBIN "gfx/trainers/youngster.pic" +BugCatcherPic:: INCBIN "gfx/trainers/bugcatcher.pic" +LassPic:: INCBIN "gfx/trainers/lass.pic" +SailorPic:: INCBIN "gfx/trainers/sailor.pic" +JrTrainerMPic:: INCBIN "gfx/trainers/jr.trainerm.pic" +JrTrainerFPic:: INCBIN "gfx/trainers/jr.trainerf.pic" +PokemaniacPic:: INCBIN "gfx/trainers/pokemaniac.pic" +SuperNerdPic:: INCBIN "gfx/trainers/supernerd.pic" +HikerPic:: INCBIN "gfx/trainers/hiker.pic" +BikerPic:: INCBIN "gfx/trainers/biker.pic" +BurglarPic:: INCBIN "gfx/trainers/burglar.pic" +EngineerPic:: INCBIN "gfx/trainers/engineer.pic" +FisherPic:: INCBIN "gfx/trainers/fisher.pic" +SwimmerPic:: INCBIN "gfx/trainers/swimmer.pic" +CueBallPic:: INCBIN "gfx/trainers/cueball.pic" +GamblerPic:: INCBIN "gfx/trainers/gambler.pic" +BeautyPic:: INCBIN "gfx/trainers/beauty.pic" +PsychicPic:: INCBIN "gfx/trainers/psychic.pic" +RockerPic:: INCBIN "gfx/trainers/rocker.pic" +JugglerPic:: INCBIN "gfx/trainers/juggler.pic" +TamerPic:: INCBIN "gfx/trainers/tamer.pic" +BirdKeeperPic:: INCBIN "gfx/trainers/birdkeeper.pic" +BlackbeltPic:: INCBIN "gfx/trainers/blackbelt.pic" +Rival1Pic:: INCBIN "gfx/trainers/rival1.pic" +ProfOakPic:: INCBIN "gfx/trainers/prof.oak.pic" +ChiefPic:: +ScientistPic:: INCBIN "gfx/trainers/scientist.pic" +GiovanniPic:: INCBIN "gfx/trainers/giovanni.pic" +RocketPic:: INCBIN "gfx/trainers/rocket.pic" +CooltrainerMPic:: INCBIN "gfx/trainers/cooltrainerm.pic" +CooltrainerFPic:: INCBIN "gfx/trainers/cooltrainerf.pic" +BrunoPic:: INCBIN "gfx/trainers/bruno.pic" +BrockPic:: INCBIN "gfx/trainers/brock.pic" +MistyPic:: INCBIN "gfx/trainers/misty.pic" +LtSurgePic:: INCBIN "gfx/trainers/lt.surge.pic" +ErikaPic:: INCBIN "gfx/trainers/erika.pic" +KogaPic:: INCBIN "gfx/trainers/koga.pic" +BlainePic:: INCBIN "gfx/trainers/blaine.pic" +SabrinaPic:: INCBIN "gfx/trainers/sabrina.pic" +GentlemanPic:: INCBIN "gfx/trainers/gentleman.pic" +Rival2Pic:: INCBIN "gfx/trainers/rival2.pic" +Rival3Pic:: INCBIN "gfx/trainers/rival3.pic" +LoreleiPic:: INCBIN "gfx/trainers/lorelei.pic" +ChannelerPic:: INCBIN "gfx/trainers/channeler.pic" +AgathaPic:: INCBIN "gfx/trainers/agatha.pic" +LancePic:: INCBIN "gfx/trainers/lance.pic" diff --git a/gfx/sprites.asm b/gfx/sprites.asm new file mode 100644 index 00000000..4548bbe3 --- /dev/null +++ b/gfx/sprites.asm @@ -0,0 +1,73 @@ +SECTION "NPC Sprites 1", ROMX + +OakAideSprite:: INCBIN "gfx/sprites/oak_aide.2bpp" +RockerSprite:: INCBIN "gfx/sprites/rocker.2bpp" +SwimmerSprite:: INCBIN "gfx/sprites/swimmer.2bpp" +WhitePlayerSprite:: INCBIN "gfx/sprites/white_player.2bpp" +GymHelperSprite:: INCBIN "gfx/sprites/gym_helper.2bpp" +OldPersonSprite:: INCBIN "gfx/sprites/old_person.2bpp" +MartGuySprite:: INCBIN "gfx/sprites/mart_guy.2bpp" +FisherSprite:: INCBIN "gfx/sprites/fisher.2bpp" +OldMediumWomanSprite:: INCBIN "gfx/sprites/old_medium_woman.2bpp" +NurseSprite:: INCBIN "gfx/sprites/nurse.2bpp" +CableClubWomanSprite:: INCBIN "gfx/sprites/cable_club_woman.2bpp" +MrMasterballSprite:: INCBIN "gfx/sprites/mr_masterball.2bpp" +LaprasGiverSprite:: INCBIN "gfx/sprites/lapras_giver.2bpp" +WardenSprite:: INCBIN "gfx/sprites/warden.2bpp" +SsCaptainSprite:: INCBIN "gfx/sprites/ss_captain.2bpp" +Fisher2Sprite:: INCBIN "gfx/sprites/fisher2.2bpp" +BlackbeltSprite:: INCBIN "gfx/sprites/blackbelt.2bpp" +GuardSprite:: INCBIN "gfx/sprites/guard.2bpp" +BallSprite:: INCBIN "gfx/sprites/ball.2bpp" +OmanyteSprite:: INCBIN "gfx/sprites/omanyte.2bpp" +BoulderSprite:: INCBIN "gfx/sprites/boulder.2bpp" +PaperSheetSprite:: INCBIN "gfx/sprites/paper_sheet.2bpp" +BookMapDexSprite:: INCBIN "gfx/sprites/book_map_dex.2bpp" +ClipboardSprite:: INCBIN "gfx/sprites/clipboard.2bpp" +SnorlaxSprite:: INCBIN "gfx/sprites/snorlax.2bpp" +OldAmberSprite:: INCBIN "gfx/sprites/old_amber.2bpp" +LyingOldManSprite:: INCBIN "gfx/sprites/lying_old_man.2bpp" + + +SECTION "NPC Sprites 2", ROMX + +RedCyclingSprite:: INCBIN "gfx/sprites/cycling.2bpp" +RedSprite:: INCBIN "gfx/sprites/red.2bpp" +BlueSprite:: INCBIN "gfx/sprites/blue.2bpp" +OakSprite:: INCBIN "gfx/sprites/oak.2bpp" +BugCatcherSprite:: INCBIN "gfx/sprites/bug_catcher.2bpp" +SlowbroSprite:: INCBIN "gfx/sprites/slowbro.2bpp" +LassSprite:: INCBIN "gfx/sprites/lass.2bpp" +BlackHairBoy1Sprite:: INCBIN "gfx/sprites/black_hair_boy_1.2bpp" +LittleGirlSprite:: INCBIN "gfx/sprites/little_girl.2bpp" +BirdSprite:: INCBIN "gfx/sprites/bird.2bpp" +FatBaldGuySprite:: INCBIN "gfx/sprites/fat_bald_guy.2bpp" +GamblerSprite:: INCBIN "gfx/sprites/gambler.2bpp" +BlackHairBoy2Sprite:: INCBIN "gfx/sprites/black_hair_boy_2.2bpp" +GirlSprite:: INCBIN "gfx/sprites/girl.2bpp" +HikerSprite:: INCBIN "gfx/sprites/hiker.2bpp" +FoulardWomanSprite:: INCBIN "gfx/sprites/foulard_woman.2bpp" +GentlemanSprite:: INCBIN "gfx/sprites/gentleman.2bpp" +DaisySprite:: INCBIN "gfx/sprites/daisy.2bpp" +BikerSprite:: INCBIN "gfx/sprites/biker.2bpp" +SailorSprite:: INCBIN "gfx/sprites/sailor.2bpp" +CookSprite:: INCBIN "gfx/sprites/cook.2bpp" +BikeShopGuySprite:: INCBIN "gfx/sprites/bike_shop_guy.2bpp" +MrFujiSprite:: INCBIN "gfx/sprites/mr_fuji.2bpp" +GiovanniSprite:: INCBIN "gfx/sprites/giovanni.2bpp" +RocketSprite:: INCBIN "gfx/sprites/rocket.2bpp" +MediumSprite:: INCBIN "gfx/sprites/medium.2bpp" +WaiterSprite:: INCBIN "gfx/sprites/waiter.2bpp" +ErikaSprite:: INCBIN "gfx/sprites/erika.2bpp" +MomGeishaSprite:: INCBIN "gfx/sprites/mom_geisha.2bpp" +BrunetteGirlSprite:: INCBIN "gfx/sprites/brunette_girl.2bpp" +LanceSprite:: INCBIN "gfx/sprites/lance.2bpp" +MomSprite:: INCBIN "gfx/sprites/mom.2bpp" +BaldingGuySprite:: INCBIN "gfx/sprites/balding_guy.2bpp" +YoungBoySprite:: INCBIN "gfx/sprites/young_boy.2bpp" +GameboyKidSprite:: INCBIN "gfx/sprites/gameboy_kid.2bpp" +ClefairySprite:: INCBIN "gfx/sprites/clefairy.2bpp" +AgathaSprite:: INCBIN "gfx/sprites/agatha.2bpp" +BrunoSprite:: INCBIN "gfx/sprites/bruno.2bpp" +LoreleiSprite:: INCBIN "gfx/sprites/lorelei.2bpp" +SeelSprite:: INCBIN "gfx/sprites/seel.2bpp" diff --git a/gfx/tilesets.asm b/gfx/tilesets.asm new file mode 100644 index 00000000..f64dc20a --- /dev/null +++ b/gfx/tilesets.asm @@ -0,0 +1,63 @@ +SECTION "Tilesets 1", ROMX + +Overworld_GFX:: INCBIN "gfx/tilesets/overworld.2bpp" +Overworld_Block:: INCBIN "gfx/blocksets/overworld.bst" + +RedsHouse1_GFX:: +RedsHouse2_GFX:: INCBIN "gfx/tilesets/reds_house.2bpp" +RedsHouse1_Block:: +RedsHouse2_Block:: INCBIN "gfx/blocksets/reds_house.bst" + +House_GFX:: INCBIN "gfx/tilesets/house.2bpp" +House_Block:: INCBIN "gfx/blocksets/house.bst" +Mansion_GFX:: INCBIN "gfx/tilesets/mansion.2bpp" +Mansion_Block:: INCBIN "gfx/blocksets/mansion.bst" +ShipPort_GFX:: INCBIN "gfx/tilesets/ship_port.2bpp" +ShipPort_Block:: INCBIN "gfx/blocksets/ship_port.bst" +Interior_GFX:: INCBIN "gfx/tilesets/interior.2bpp" +Interior_Block:: INCBIN "gfx/blocksets/interior.bst" +Plateau_GFX:: INCBIN "gfx/tilesets/plateau.2bpp" +Plateau_Block:: INCBIN "gfx/blocksets/plateau.bst" + + +SECTION "Tilesets 2", ROMX + +Dojo_GFX:: +Gym_GFX:: INCBIN "gfx/tilesets/gym.2bpp" +Dojo_Block:: +Gym_Block:: INCBIN "gfx/blocksets/gym.bst" + +Mart_GFX:: +Pokecenter_GFX:: INCBIN "gfx/tilesets/pokecenter.2bpp" +Mart_Block:: +Pokecenter_Block:: INCBIN "gfx/blocksets/pokecenter.bst" + +ForestGate_GFX:: +Museum_GFX:: +Gate_GFX:: INCBIN "gfx/tilesets/gate.2bpp" +ForestGate_Block:: +Museum_Block:: +Gate_Block:: INCBIN "gfx/blocksets/gate.bst" + +Forest_GFX:: INCBIN "gfx/tilesets/forest.2bpp" +Forest_Block:: INCBIN "gfx/blocksets/forest.bst" +Facility_GFX:: INCBIN "gfx/tilesets/facility.2bpp" +Facility_Block:: INCBIN "gfx/blocksets/facility.bst" + + +SECTION "Tilesets 3", ROMX + +Cemetery_GFX:: INCBIN "gfx/tilesets/cemetery.2bpp" +Cemetery_Block:: INCBIN "gfx/blocksets/cemetery.bst" +Cavern_GFX:: INCBIN "gfx/tilesets/cavern.2bpp" +Cavern_Block:: INCBIN "gfx/blocksets/cavern.bst" +Lobby_GFX:: INCBIN "gfx/tilesets/lobby.2bpp" +Lobby_Block:: INCBIN "gfx/blocksets/lobby.bst" +Ship_GFX:: INCBIN "gfx/tilesets/ship.2bpp" +Ship_Block:: INCBIN "gfx/blocksets/ship.bst" +Lab_GFX:: INCBIN "gfx/tilesets/lab.2bpp" +Lab_Block:: INCBIN "gfx/blocksets/lab.bst" +Club_GFX:: INCBIN "gfx/tilesets/club.2bpp" +Club_Block:: INCBIN "gfx/blocksets/club.bst" +Underground_GFX:: INCBIN "gfx/tilesets/underground.2bpp" +Underground_Block:: INCBIN "gfx/blocksets/underground.bst" diff --git a/pics.asm b/pics.asm deleted file mode 100644 index 0e2adc24..00000000 --- a/pics.asm +++ /dev/null @@ -1,376 +0,0 @@ -SECTION "Pics 1", ROMX - -RhydonPicFront:: INCBIN "gfx/pokemon/front/rhydon.pic" -RhydonPicBack:: INCBIN "gfx/pokemon/back/rhydonb.pic" -KangaskhanPicFront:: INCBIN "gfx/pokemon/front/kangaskhan.pic" -KangaskhanPicBack:: INCBIN "gfx/pokemon/back/kangaskhanb.pic" -NidoranMPicFront:: INCBIN "gfx/pokemon/front/nidoranm.pic" -NidoranMPicBack:: INCBIN "gfx/pokemon/back/nidoranmb.pic" -ClefairyPicFront:: INCBIN "gfx/pokemon/front/clefairy.pic" -ClefairyPicBack:: INCBIN "gfx/pokemon/back/clefairyb.pic" -SpearowPicFront:: INCBIN "gfx/pokemon/front/spearow.pic" -SpearowPicBack:: INCBIN "gfx/pokemon/back/spearowb.pic" -VoltorbPicFront:: INCBIN "gfx/pokemon/front/voltorb.pic" -VoltorbPicBack:: INCBIN "gfx/pokemon/back/voltorbb.pic" -NidokingPicFront:: INCBIN "gfx/pokemon/front/nidoking.pic" -NidokingPicBack:: INCBIN "gfx/pokemon/back/nidokingb.pic" -SlowbroPicFront:: INCBIN "gfx/pokemon/front/slowbro.pic" -SlowbroPicBack:: INCBIN "gfx/pokemon/back/slowbrob.pic" -IvysaurPicFront:: INCBIN "gfx/pokemon/front/ivysaur.pic" -IvysaurPicBack:: INCBIN "gfx/pokemon/back/ivysaurb.pic" -ExeggutorPicFront:: INCBIN "gfx/pokemon/front/exeggutor.pic" -ExeggutorPicBack:: INCBIN "gfx/pokemon/back/exeggutorb.pic" -LickitungPicFront:: INCBIN "gfx/pokemon/front/lickitung.pic" -LickitungPicBack:: INCBIN "gfx/pokemon/back/lickitungb.pic" -ExeggcutePicFront:: INCBIN "gfx/pokemon/front/exeggcute.pic" -ExeggcutePicBack:: INCBIN "gfx/pokemon/back/exeggcuteb.pic" -GrimerPicFront:: INCBIN "gfx/pokemon/front/grimer.pic" -GrimerPicBack:: INCBIN "gfx/pokemon/back/grimerb.pic" -GengarPicFront:: INCBIN "gfx/pokemon/front/gengar.pic" -GengarPicBack:: INCBIN "gfx/pokemon/back/gengarb.pic" -NidoranFPicFront:: INCBIN "gfx/pokemon/front/nidoranf.pic" -NidoranFPicBack:: INCBIN "gfx/pokemon/back/nidoranfb.pic" -NidoqueenPicFront:: INCBIN "gfx/pokemon/front/nidoqueen.pic" -NidoqueenPicBack:: INCBIN "gfx/pokemon/back/nidoqueenb.pic" -CubonePicFront:: INCBIN "gfx/pokemon/front/cubone.pic" -CubonePicBack:: INCBIN "gfx/pokemon/back/cuboneb.pic" -RhyhornPicFront:: INCBIN "gfx/pokemon/front/rhyhorn.pic" -RhyhornPicBack:: INCBIN "gfx/pokemon/back/rhyhornb.pic" -LaprasPicFront:: INCBIN "gfx/pokemon/front/lapras.pic" -LaprasPicBack:: INCBIN "gfx/pokemon/back/laprasb.pic" -ArcaninePicFront:: INCBIN "gfx/pokemon/front/arcanine.pic" -ArcaninePicBack:: INCBIN "gfx/pokemon/back/arcanineb.pic" -GyaradosPicFront:: INCBIN "gfx/pokemon/front/gyarados.pic" -GyaradosPicBack:: INCBIN "gfx/pokemon/back/gyaradosb.pic" -ShellderPicFront:: INCBIN "gfx/pokemon/front/shellder.pic" -ShellderPicBack:: INCBIN "gfx/pokemon/back/shellderb.pic" -TentacoolPicFront:: INCBIN "gfx/pokemon/front/tentacool.pic" -TentacoolPicBack:: INCBIN "gfx/pokemon/back/tentacoolb.pic" -GastlyPicFront:: INCBIN "gfx/pokemon/front/gastly.pic" -GastlyPicBack:: INCBIN "gfx/pokemon/back/gastlyb.pic" -ScytherPicFront:: INCBIN "gfx/pokemon/front/scyther.pic" -ScytherPicBack:: INCBIN "gfx/pokemon/back/scytherb.pic" -StaryuPicFront:: INCBIN "gfx/pokemon/front/staryu.pic" -StaryuPicBack:: INCBIN "gfx/pokemon/back/staryub.pic" -BlastoisePicFront:: INCBIN "gfx/pokemon/front/blastoise.pic" -BlastoisePicBack:: INCBIN "gfx/pokemon/back/blastoiseb.pic" -PinsirPicFront:: INCBIN "gfx/pokemon/front/pinsir.pic" -PinsirPicBack:: INCBIN "gfx/pokemon/back/pinsirb.pic" -TangelaPicFront:: INCBIN "gfx/pokemon/front/tangela.pic" -TangelaPicBack:: INCBIN "gfx/pokemon/back/tangelab.pic" - - -SECTION "Pics 2", ROMX - -GrowlithePicFront:: INCBIN "gfx/pokemon/front/growlithe.pic" -GrowlithePicBack:: INCBIN "gfx/pokemon/back/growlitheb.pic" -OnixPicFront:: INCBIN "gfx/pokemon/front/onix.pic" -OnixPicBack:: INCBIN "gfx/pokemon/back/onixb.pic" -FearowPicFront:: INCBIN "gfx/pokemon/front/fearow.pic" -FearowPicBack:: INCBIN "gfx/pokemon/back/fearowb.pic" -PidgeyPicFront:: INCBIN "gfx/pokemon/front/pidgey.pic" -PidgeyPicBack:: INCBIN "gfx/pokemon/back/pidgeyb.pic" -SlowpokePicFront:: INCBIN "gfx/pokemon/front/slowpoke.pic" -SlowpokePicBack:: INCBIN "gfx/pokemon/back/slowpokeb.pic" -KadabraPicFront:: INCBIN "gfx/pokemon/front/kadabra.pic" -KadabraPicBack:: INCBIN "gfx/pokemon/back/kadabrab.pic" -GravelerPicFront:: INCBIN "gfx/pokemon/front/graveler.pic" -GravelerPicBack:: INCBIN "gfx/pokemon/back/gravelerb.pic" -ChanseyPicFront:: INCBIN "gfx/pokemon/front/chansey.pic" -ChanseyPicBack:: INCBIN "gfx/pokemon/back/chanseyb.pic" -MachokePicFront:: INCBIN "gfx/pokemon/front/machoke.pic" -MachokePicBack:: INCBIN "gfx/pokemon/back/machokeb.pic" -MrMimePicFront:: INCBIN "gfx/pokemon/front/mr.mime.pic" -MrMimePicBack:: INCBIN "gfx/pokemon/back/mr.mimeb.pic" -HitmonleePicFront:: INCBIN "gfx/pokemon/front/hitmonlee.pic" -HitmonleePicBack:: INCBIN "gfx/pokemon/back/hitmonleeb.pic" -HitmonchanPicFront:: INCBIN "gfx/pokemon/front/hitmonchan.pic" -HitmonchanPicBack:: INCBIN "gfx/pokemon/back/hitmonchanb.pic" -ArbokPicFront:: INCBIN "gfx/pokemon/front/arbok.pic" -ArbokPicBack:: INCBIN "gfx/pokemon/back/arbokb.pic" -ParasectPicFront:: INCBIN "gfx/pokemon/front/parasect.pic" -ParasectPicBack:: INCBIN "gfx/pokemon/back/parasectb.pic" -PsyduckPicFront:: INCBIN "gfx/pokemon/front/psyduck.pic" -PsyduckPicBack:: INCBIN "gfx/pokemon/back/psyduckb.pic" -DrowzeePicFront:: INCBIN "gfx/pokemon/front/drowzee.pic" -DrowzeePicBack:: INCBIN "gfx/pokemon/back/drowzeeb.pic" -GolemPicFront:: INCBIN "gfx/pokemon/front/golem.pic" -GolemPicBack:: INCBIN "gfx/pokemon/back/golemb.pic" -MagmarPicFront:: INCBIN "gfx/pokemon/front/magmar.pic" -MagmarPicBack:: INCBIN "gfx/pokemon/back/magmarb.pic" -ElectabuzzPicFront:: INCBIN "gfx/pokemon/front/electabuzz.pic" -ElectabuzzPicBack:: INCBIN "gfx/pokemon/back/electabuzzb.pic" -MagnetonPicFront:: INCBIN "gfx/pokemon/front/magneton.pic" -MagnetonPicBack:: INCBIN "gfx/pokemon/back/magnetonb.pic" -KoffingPicFront:: INCBIN "gfx/pokemon/front/koffing.pic" -KoffingPicBack:: INCBIN "gfx/pokemon/back/koffingb.pic" -MankeyPicFront:: INCBIN "gfx/pokemon/front/mankey.pic" -MankeyPicBack:: INCBIN "gfx/pokemon/back/mankeyb.pic" -SeelPicFront:: INCBIN "gfx/pokemon/front/seel.pic" -SeelPicBack:: INCBIN "gfx/pokemon/back/seelb.pic" -DiglettPicFront:: INCBIN "gfx/pokemon/front/diglett.pic" -DiglettPicBack:: INCBIN "gfx/pokemon/back/diglettb.pic" -TaurosPicFront:: INCBIN "gfx/pokemon/front/tauros.pic" -TaurosPicBack:: INCBIN "gfx/pokemon/back/taurosb.pic" -FarfetchdPicFront:: INCBIN "gfx/pokemon/front/farfetchd.pic" -FarfetchdPicBack:: INCBIN "gfx/pokemon/back/farfetchdb.pic" -VenonatPicFront:: INCBIN "gfx/pokemon/front/venonat.pic" -VenonatPicBack:: INCBIN "gfx/pokemon/back/venonatb.pic" -DragonitePicFront:: INCBIN "gfx/pokemon/front/dragonite.pic" -DragonitePicBack:: INCBIN "gfx/pokemon/back/dragoniteb.pic" -DoduoPicFront:: INCBIN "gfx/pokemon/front/doduo.pic" -DoduoPicBack:: INCBIN "gfx/pokemon/back/doduob.pic" -PoliwagPicFront:: INCBIN "gfx/pokemon/front/poliwag.pic" -PoliwagPicBack:: INCBIN "gfx/pokemon/back/poliwagb.pic" -JynxPicFront:: INCBIN "gfx/pokemon/front/jynx.pic" -JynxPicBack:: INCBIN "gfx/pokemon/back/jynxb.pic" -MoltresPicFront:: INCBIN "gfx/pokemon/front/moltres.pic" -MoltresPicBack:: INCBIN "gfx/pokemon/back/moltresb.pic" - - -SECTION "Pics 3", ROMX - -ArticunoPicFront:: INCBIN "gfx/pokemon/front/articuno.pic" -ArticunoPicBack:: INCBIN "gfx/pokemon/back/articunob.pic" -ZapdosPicFront:: INCBIN "gfx/pokemon/front/zapdos.pic" -ZapdosPicBack:: INCBIN "gfx/pokemon/back/zapdosb.pic" -DittoPicFront:: INCBIN "gfx/pokemon/front/ditto.pic" -DittoPicBack:: INCBIN "gfx/pokemon/back/dittob.pic" -MeowthPicFront:: INCBIN "gfx/pokemon/front/meowth.pic" -MeowthPicBack:: INCBIN "gfx/pokemon/back/meowthb.pic" -KrabbyPicFront:: INCBIN "gfx/pokemon/front/krabby.pic" -KrabbyPicBack:: INCBIN "gfx/pokemon/back/krabbyb.pic" -VulpixPicFront:: INCBIN "gfx/pokemon/front/vulpix.pic" -VulpixPicBack:: INCBIN "gfx/pokemon/back/vulpixb.pic" -NinetalesPicFront:: INCBIN "gfx/pokemon/front/ninetales.pic" -NinetalesPicBack:: INCBIN "gfx/pokemon/back/ninetalesb.pic" -PikachuPicFront:: INCBIN "gfx/pokemon/front/pikachu.pic" -PikachuPicBack:: INCBIN "gfx/pokemon/back/pikachub.pic" -RaichuPicFront:: INCBIN "gfx/pokemon/front/raichu.pic" -RaichuPicBack:: INCBIN "gfx/pokemon/back/raichub.pic" -DratiniPicFront:: INCBIN "gfx/pokemon/front/dratini.pic" -DratiniPicBack:: INCBIN "gfx/pokemon/back/dratinib.pic" -DragonairPicFront:: INCBIN "gfx/pokemon/front/dragonair.pic" -DragonairPicBack:: INCBIN "gfx/pokemon/back/dragonairb.pic" -KabutoPicFront:: INCBIN "gfx/pokemon/front/kabuto.pic" -KabutoPicBack:: INCBIN "gfx/pokemon/back/kabutob.pic" -KabutopsPicFront:: INCBIN "gfx/pokemon/front/kabutops.pic" -KabutopsPicBack:: INCBIN "gfx/pokemon/back/kabutopsb.pic" -HorseaPicFront:: INCBIN "gfx/pokemon/front/horsea.pic" -HorseaPicBack:: INCBIN "gfx/pokemon/back/horseab.pic" -SeadraPicFront:: INCBIN "gfx/pokemon/front/seadra.pic" -SeadraPicBack:: INCBIN "gfx/pokemon/back/seadrab.pic" -SandshrewPicFront:: INCBIN "gfx/pokemon/front/sandshrew.pic" -SandshrewPicBack:: INCBIN "gfx/pokemon/back/sandshrewb.pic" -SandslashPicFront:: INCBIN "gfx/pokemon/front/sandslash.pic" -SandslashPicBack:: INCBIN "gfx/pokemon/back/sandslashb.pic" -OmanytePicFront:: INCBIN "gfx/pokemon/front/omanyte.pic" -OmanytePicBack:: INCBIN "gfx/pokemon/back/omanyteb.pic" -OmastarPicFront:: INCBIN "gfx/pokemon/front/omastar.pic" -OmastarPicBack:: INCBIN "gfx/pokemon/back/omastarb.pic" -JigglypuffPicFront:: INCBIN "gfx/pokemon/front/jigglypuff.pic" -JigglypuffPicBack:: INCBIN "gfx/pokemon/back/jigglypuffb.pic" -WigglytuffPicFront:: INCBIN "gfx/pokemon/front/wigglytuff.pic" -WigglytuffPicBack:: INCBIN "gfx/pokemon/back/wigglytuffb.pic" -EeveePicFront:: INCBIN "gfx/pokemon/front/eevee.pic" -EeveePicBack:: INCBIN "gfx/pokemon/back/eeveeb.pic" -FlareonPicFront:: INCBIN "gfx/pokemon/front/flareon.pic" -FlareonPicBack:: INCBIN "gfx/pokemon/back/flareonb.pic" -JolteonPicFront:: INCBIN "gfx/pokemon/front/jolteon.pic" -JolteonPicBack:: INCBIN "gfx/pokemon/back/jolteonb.pic" -VaporeonPicFront:: INCBIN "gfx/pokemon/front/vaporeon.pic" -VaporeonPicBack:: INCBIN "gfx/pokemon/back/vaporeonb.pic" -MachopPicFront:: INCBIN "gfx/pokemon/front/machop.pic" -MachopPicBack:: INCBIN "gfx/pokemon/back/machopb.pic" -ZubatPicFront:: INCBIN "gfx/pokemon/front/zubat.pic" -ZubatPicBack:: INCBIN "gfx/pokemon/back/zubatb.pic" -EkansPicFront:: INCBIN "gfx/pokemon/front/ekans.pic" -EkansPicBack:: INCBIN "gfx/pokemon/back/ekansb.pic" -ParasPicFront:: INCBIN "gfx/pokemon/front/paras.pic" -ParasPicBack:: INCBIN "gfx/pokemon/back/parasb.pic" -PoliwhirlPicFront:: INCBIN "gfx/pokemon/front/poliwhirl.pic" -PoliwhirlPicBack:: INCBIN "gfx/pokemon/back/poliwhirlb.pic" -PoliwrathPicFront:: INCBIN "gfx/pokemon/front/poliwrath.pic" -PoliwrathPicBack:: INCBIN "gfx/pokemon/back/poliwrathb.pic" -WeedlePicFront:: INCBIN "gfx/pokemon/front/weedle.pic" -WeedlePicBack:: INCBIN "gfx/pokemon/back/weedleb.pic" -KakunaPicFront:: INCBIN "gfx/pokemon/front/kakuna.pic" -KakunaPicBack:: INCBIN "gfx/pokemon/back/kakunab.pic" -BeedrillPicFront:: INCBIN "gfx/pokemon/front/beedrill.pic" -BeedrillPicBack:: INCBIN "gfx/pokemon/back/beedrillb.pic" - -FossilKabutopsPic:: INCBIN "gfx/pokemon/front/fossilkabutops.pic" - - -SECTION "Pics 4", ROMX - -DodrioPicFront:: INCBIN "gfx/pokemon/front/dodrio.pic" -DodrioPicBack:: INCBIN "gfx/pokemon/back/dodriob.pic" -PrimeapePicFront:: INCBIN "gfx/pokemon/front/primeape.pic" -PrimeapePicBack:: INCBIN "gfx/pokemon/back/primeapeb.pic" -DugtrioPicFront:: INCBIN "gfx/pokemon/front/dugtrio.pic" -DugtrioPicBack:: INCBIN "gfx/pokemon/back/dugtriob.pic" -VenomothPicFront:: INCBIN "gfx/pokemon/front/venomoth.pic" -VenomothPicBack:: INCBIN "gfx/pokemon/back/venomothb.pic" -DewgongPicFront:: INCBIN "gfx/pokemon/front/dewgong.pic" -DewgongPicBack:: INCBIN "gfx/pokemon/back/dewgongb.pic" -CaterpiePicFront:: INCBIN "gfx/pokemon/front/caterpie.pic" -CaterpiePicBack:: INCBIN "gfx/pokemon/back/caterpieb.pic" -MetapodPicFront:: INCBIN "gfx/pokemon/front/metapod.pic" -MetapodPicBack:: INCBIN "gfx/pokemon/back/metapodb.pic" -ButterfreePicFront:: INCBIN "gfx/pokemon/front/butterfree.pic" -ButterfreePicBack:: INCBIN "gfx/pokemon/back/butterfreeb.pic" -MachampPicFront:: INCBIN "gfx/pokemon/front/machamp.pic" -MachampPicBack:: INCBIN "gfx/pokemon/back/machampb.pic" -GolduckPicFront:: INCBIN "gfx/pokemon/front/golduck.pic" -GolduckPicBack:: INCBIN "gfx/pokemon/back/golduckb.pic" -HypnoPicFront:: INCBIN "gfx/pokemon/front/hypno.pic" -HypnoPicBack:: INCBIN "gfx/pokemon/back/hypnob.pic" -GolbatPicFront:: INCBIN "gfx/pokemon/front/golbat.pic" -GolbatPicBack:: INCBIN "gfx/pokemon/back/golbatb.pic" -MewtwoPicFront:: INCBIN "gfx/pokemon/front/mewtwo.pic" -MewtwoPicBack:: INCBIN "gfx/pokemon/back/mewtwob.pic" -SnorlaxPicFront:: INCBIN "gfx/pokemon/front/snorlax.pic" -SnorlaxPicBack:: INCBIN "gfx/pokemon/back/snorlaxb.pic" -MagikarpPicFront:: INCBIN "gfx/pokemon/front/magikarp.pic" -MagikarpPicBack:: INCBIN "gfx/pokemon/back/magikarpb.pic" -MukPicFront:: INCBIN "gfx/pokemon/front/muk.pic" -MukPicBack:: INCBIN "gfx/pokemon/back/mukb.pic" -KinglerPicFront:: INCBIN "gfx/pokemon/front/kingler.pic" -KinglerPicBack:: INCBIN "gfx/pokemon/back/kinglerb.pic" -CloysterPicFront:: INCBIN "gfx/pokemon/front/cloyster.pic" -CloysterPicBack:: INCBIN "gfx/pokemon/back/cloysterb.pic" -ElectrodePicFront:: INCBIN "gfx/pokemon/front/electrode.pic" -ElectrodePicBack:: INCBIN "gfx/pokemon/back/electrodeb.pic" -ClefablePicFront:: INCBIN "gfx/pokemon/front/clefable.pic" -ClefablePicBack:: INCBIN "gfx/pokemon/back/clefableb.pic" -WeezingPicFront:: INCBIN "gfx/pokemon/front/weezing.pic" -WeezingPicBack:: INCBIN "gfx/pokemon/back/weezingb.pic" -PersianPicFront:: INCBIN "gfx/pokemon/front/persian.pic" -PersianPicBack:: INCBIN "gfx/pokemon/back/persianb.pic" -MarowakPicFront:: INCBIN "gfx/pokemon/front/marowak.pic" -MarowakPicBack:: INCBIN "gfx/pokemon/back/marowakb.pic" -HaunterPicFront:: INCBIN "gfx/pokemon/front/haunter.pic" -HaunterPicBack:: INCBIN "gfx/pokemon/back/haunterb.pic" -AbraPicFront:: INCBIN "gfx/pokemon/front/abra.pic" -AbraPicBack:: INCBIN "gfx/pokemon/back/abrab.pic" -AlakazamPicFront:: INCBIN "gfx/pokemon/front/alakazam.pic" -AlakazamPicBack:: INCBIN "gfx/pokemon/back/alakazamb.pic" -PidgeottoPicFront:: INCBIN "gfx/pokemon/front/pidgeotto.pic" -PidgeottoPicBack:: INCBIN "gfx/pokemon/back/pidgeottob.pic" -PidgeotPicFront:: INCBIN "gfx/pokemon/front/pidgeot.pic" -PidgeotPicBack:: INCBIN "gfx/pokemon/back/pidgeotb.pic" -StarmiePicFront:: INCBIN "gfx/pokemon/front/starmie.pic" -StarmiePicBack:: INCBIN "gfx/pokemon/back/starmieb.pic" - -RedPicBack:: INCBIN "gfx/player/redb.pic" -OldManPic:: INCBIN "gfx/battle/oldman.pic" - - -SECTION "Pics 5", ROMX - -BulbasaurPicFront:: INCBIN "gfx/pokemon/front/bulbasaur.pic" -BulbasaurPicBack:: INCBIN "gfx/pokemon/back/bulbasaurb.pic" -VenusaurPicFront:: INCBIN "gfx/pokemon/front/venusaur.pic" -VenusaurPicBack:: INCBIN "gfx/pokemon/back/venusaurb.pic" -TentacruelPicFront:: INCBIN "gfx/pokemon/front/tentacruel.pic" -TentacruelPicBack:: INCBIN "gfx/pokemon/back/tentacruelb.pic" -GoldeenPicFront:: INCBIN "gfx/pokemon/front/goldeen.pic" -GoldeenPicBack:: INCBIN "gfx/pokemon/back/goldeenb.pic" -SeakingPicFront:: INCBIN "gfx/pokemon/front/seaking.pic" -SeakingPicBack:: INCBIN "gfx/pokemon/back/seakingb.pic" -PonytaPicFront:: INCBIN "gfx/pokemon/front/ponyta.pic" -RapidashPicFront:: INCBIN "gfx/pokemon/front/rapidash.pic" -PonytaPicBack:: INCBIN "gfx/pokemon/back/ponytab.pic" -RapidashPicBack:: INCBIN "gfx/pokemon/back/rapidashb.pic" -RattataPicFront:: INCBIN "gfx/pokemon/front/rattata.pic" -RattataPicBack:: INCBIN "gfx/pokemon/back/rattatab.pic" -RaticatePicFront:: INCBIN "gfx/pokemon/front/raticate.pic" -RaticatePicBack:: INCBIN "gfx/pokemon/back/raticateb.pic" -NidorinoPicFront:: INCBIN "gfx/pokemon/front/nidorino.pic" -NidorinoPicBack:: INCBIN "gfx/pokemon/back/nidorinob.pic" -NidorinaPicFront:: INCBIN "gfx/pokemon/front/nidorina.pic" -NidorinaPicBack:: INCBIN "gfx/pokemon/back/nidorinab.pic" -GeodudePicFront:: INCBIN "gfx/pokemon/front/geodude.pic" -GeodudePicBack:: INCBIN "gfx/pokemon/back/geodudeb.pic" -PorygonPicFront:: INCBIN "gfx/pokemon/front/porygon.pic" -PorygonPicBack:: INCBIN "gfx/pokemon/back/porygonb.pic" -AerodactylPicFront:: INCBIN "gfx/pokemon/front/aerodactyl.pic" -AerodactylPicBack:: INCBIN "gfx/pokemon/back/aerodactylb.pic" -MagnemitePicFront:: INCBIN "gfx/pokemon/front/magnemite.pic" -MagnemitePicBack:: INCBIN "gfx/pokemon/back/magnemiteb.pic" -CharmanderPicFront:: INCBIN "gfx/pokemon/front/charmander.pic" -CharmanderPicBack:: INCBIN "gfx/pokemon/back/charmanderb.pic" -SquirtlePicFront:: INCBIN "gfx/pokemon/front/squirtle.pic" -SquirtlePicBack:: INCBIN "gfx/pokemon/back/squirtleb.pic" -CharmeleonPicFront:: INCBIN "gfx/pokemon/front/charmeleon.pic" -CharmeleonPicBack:: INCBIN "gfx/pokemon/back/charmeleonb.pic" -WartortlePicFront:: INCBIN "gfx/pokemon/front/wartortle.pic" -WartortlePicBack:: INCBIN "gfx/pokemon/back/wartortleb.pic" -CharizardPicFront:: INCBIN "gfx/pokemon/front/charizard.pic" -CharizardPicBack:: INCBIN "gfx/pokemon/back/charizardb.pic" -FossilAerodactylPic:: INCBIN "gfx/pokemon/front/fossilaerodactyl.pic" -GhostPic:: INCBIN "gfx/battle/ghost.pic" -OddishPicFront:: INCBIN "gfx/pokemon/front/oddish.pic" -OddishPicBack:: INCBIN "gfx/pokemon/back/oddishb.pic" -GloomPicFront:: INCBIN "gfx/pokemon/front/gloom.pic" -GloomPicBack:: INCBIN "gfx/pokemon/back/gloomb.pic" -VileplumePicFront:: INCBIN "gfx/pokemon/front/vileplume.pic" -VileplumePicBack:: INCBIN "gfx/pokemon/back/vileplumeb.pic" -BellsproutPicFront:: INCBIN "gfx/pokemon/front/bellsprout.pic" -BellsproutPicBack:: INCBIN "gfx/pokemon/back/bellsproutb.pic" -WeepinbellPicFront:: INCBIN "gfx/pokemon/front/weepinbell.pic" -WeepinbellPicBack:: INCBIN "gfx/pokemon/back/weepinbellb.pic" -VictreebelPicFront:: INCBIN "gfx/pokemon/front/victreebel.pic" -VictreebelPicBack:: INCBIN "gfx/pokemon/back/victreebelb.pic" - - -SECTION "Pics 6", ROMX - -TrainerPics:: -YoungsterPic:: INCBIN "gfx/trainers/youngster.pic" -BugCatcherPic:: INCBIN "gfx/trainers/bugcatcher.pic" -LassPic:: INCBIN "gfx/trainers/lass.pic" -SailorPic:: INCBIN "gfx/trainers/sailor.pic" -JrTrainerMPic:: INCBIN "gfx/trainers/jr.trainerm.pic" -JrTrainerFPic:: INCBIN "gfx/trainers/jr.trainerf.pic" -PokemaniacPic:: INCBIN "gfx/trainers/pokemaniac.pic" -SuperNerdPic:: INCBIN "gfx/trainers/supernerd.pic" -HikerPic:: INCBIN "gfx/trainers/hiker.pic" -BikerPic:: INCBIN "gfx/trainers/biker.pic" -BurglarPic:: INCBIN "gfx/trainers/burglar.pic" -EngineerPic:: INCBIN "gfx/trainers/engineer.pic" -FisherPic:: INCBIN "gfx/trainers/fisher.pic" -SwimmerPic:: INCBIN "gfx/trainers/swimmer.pic" -CueBallPic:: INCBIN "gfx/trainers/cueball.pic" -GamblerPic:: INCBIN "gfx/trainers/gambler.pic" -BeautyPic:: INCBIN "gfx/trainers/beauty.pic" -PsychicPic:: INCBIN "gfx/trainers/psychic.pic" -RockerPic:: INCBIN "gfx/trainers/rocker.pic" -JugglerPic:: INCBIN "gfx/trainers/juggler.pic" -TamerPic:: INCBIN "gfx/trainers/tamer.pic" -BirdKeeperPic:: INCBIN "gfx/trainers/birdkeeper.pic" -BlackbeltPic:: INCBIN "gfx/trainers/blackbelt.pic" -Rival1Pic:: INCBIN "gfx/trainers/rival1.pic" -ProfOakPic:: INCBIN "gfx/trainers/prof.oak.pic" -ChiefPic:: -ScientistPic:: INCBIN "gfx/trainers/scientist.pic" -GiovanniPic:: INCBIN "gfx/trainers/giovanni.pic" -RocketPic:: INCBIN "gfx/trainers/rocket.pic" -CooltrainerMPic:: INCBIN "gfx/trainers/cooltrainerm.pic" -CooltrainerFPic:: INCBIN "gfx/trainers/cooltrainerf.pic" -BrunoPic:: INCBIN "gfx/trainers/bruno.pic" -BrockPic:: INCBIN "gfx/trainers/brock.pic" -MistyPic:: INCBIN "gfx/trainers/misty.pic" -LtSurgePic:: INCBIN "gfx/trainers/lt.surge.pic" -ErikaPic:: INCBIN "gfx/trainers/erika.pic" -KogaPic:: INCBIN "gfx/trainers/koga.pic" -BlainePic:: INCBIN "gfx/trainers/blaine.pic" -SabrinaPic:: INCBIN "gfx/trainers/sabrina.pic" -GentlemanPic:: INCBIN "gfx/trainers/gentleman.pic" -Rival2Pic:: INCBIN "gfx/trainers/rival2.pic" -Rival3Pic:: INCBIN "gfx/trainers/rival3.pic" -LoreleiPic:: INCBIN "gfx/trainers/lorelei.pic" -ChannelerPic:: INCBIN "gfx/trainers/channeler.pic" -AgathaPic:: INCBIN "gfx/trainers/agatha.pic" -LancePic:: INCBIN "gfx/trainers/lance.pic" diff --git a/scripts/CeladonMart3F.asm b/scripts/CeladonMart3F.asm index e7e216d9..c8d8b509 100755 --- a/scripts/CeladonMart3F.asm +++ b/scripts/CeladonMart3F.asm @@ -74,7 +74,7 @@ CeladonMart3Text5: TX_FAR _CeladonMart3Text5 db "@" -CeladonMart3Text12 +CeladonMart3Text12: CeladonMart3Text10: CeladonMart3Text8: CeladonMart3Text6: diff --git a/scripts/CeruleanCaveB1F.asm b/scripts/CeruleanCaveB1F.asm index a570ab18..9017bec3 100755 --- a/scripts/CeruleanCaveB1F.asm +++ b/scripts/CeruleanCaveB1F.asm @@ -7,7 +7,7 @@ CeruleanCaveB1F_Script: ld [wCeruleanCaveB1FCurScript], a ret -CeruleanCaveB1F_ScriptPointers +CeruleanCaveB1F_ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle diff --git a/scripts/PowerPlant.asm b/scripts/PowerPlant.asm index 35b4893f..f720b6f8 100755 --- a/scripts/PowerPlant.asm +++ b/scripts/PowerPlant.asm @@ -7,7 +7,7 @@ PowerPlant_Script: ld [wPowerPlantCurScript], a ret -PowerPlant_ScriptPointers +PowerPlant_ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle diff --git a/sprites.asm b/sprites.asm deleted file mode 100644 index 4548bbe3..00000000 --- a/sprites.asm +++ /dev/null @@ -1,73 +0,0 @@ -SECTION "NPC Sprites 1", ROMX - -OakAideSprite:: INCBIN "gfx/sprites/oak_aide.2bpp" -RockerSprite:: INCBIN "gfx/sprites/rocker.2bpp" -SwimmerSprite:: INCBIN "gfx/sprites/swimmer.2bpp" -WhitePlayerSprite:: INCBIN "gfx/sprites/white_player.2bpp" -GymHelperSprite:: INCBIN "gfx/sprites/gym_helper.2bpp" -OldPersonSprite:: INCBIN "gfx/sprites/old_person.2bpp" -MartGuySprite:: INCBIN "gfx/sprites/mart_guy.2bpp" -FisherSprite:: INCBIN "gfx/sprites/fisher.2bpp" -OldMediumWomanSprite:: INCBIN "gfx/sprites/old_medium_woman.2bpp" -NurseSprite:: INCBIN "gfx/sprites/nurse.2bpp" -CableClubWomanSprite:: INCBIN "gfx/sprites/cable_club_woman.2bpp" -MrMasterballSprite:: INCBIN "gfx/sprites/mr_masterball.2bpp" -LaprasGiverSprite:: INCBIN "gfx/sprites/lapras_giver.2bpp" -WardenSprite:: INCBIN "gfx/sprites/warden.2bpp" -SsCaptainSprite:: INCBIN "gfx/sprites/ss_captain.2bpp" -Fisher2Sprite:: INCBIN "gfx/sprites/fisher2.2bpp" -BlackbeltSprite:: INCBIN "gfx/sprites/blackbelt.2bpp" -GuardSprite:: INCBIN "gfx/sprites/guard.2bpp" -BallSprite:: INCBIN "gfx/sprites/ball.2bpp" -OmanyteSprite:: INCBIN "gfx/sprites/omanyte.2bpp" -BoulderSprite:: INCBIN "gfx/sprites/boulder.2bpp" -PaperSheetSprite:: INCBIN "gfx/sprites/paper_sheet.2bpp" -BookMapDexSprite:: INCBIN "gfx/sprites/book_map_dex.2bpp" -ClipboardSprite:: INCBIN "gfx/sprites/clipboard.2bpp" -SnorlaxSprite:: INCBIN "gfx/sprites/snorlax.2bpp" -OldAmberSprite:: INCBIN "gfx/sprites/old_amber.2bpp" -LyingOldManSprite:: INCBIN "gfx/sprites/lying_old_man.2bpp" - - -SECTION "NPC Sprites 2", ROMX - -RedCyclingSprite:: INCBIN "gfx/sprites/cycling.2bpp" -RedSprite:: INCBIN "gfx/sprites/red.2bpp" -BlueSprite:: INCBIN "gfx/sprites/blue.2bpp" -OakSprite:: INCBIN "gfx/sprites/oak.2bpp" -BugCatcherSprite:: INCBIN "gfx/sprites/bug_catcher.2bpp" -SlowbroSprite:: INCBIN "gfx/sprites/slowbro.2bpp" -LassSprite:: INCBIN "gfx/sprites/lass.2bpp" -BlackHairBoy1Sprite:: INCBIN "gfx/sprites/black_hair_boy_1.2bpp" -LittleGirlSprite:: INCBIN "gfx/sprites/little_girl.2bpp" -BirdSprite:: INCBIN "gfx/sprites/bird.2bpp" -FatBaldGuySprite:: INCBIN "gfx/sprites/fat_bald_guy.2bpp" -GamblerSprite:: INCBIN "gfx/sprites/gambler.2bpp" -BlackHairBoy2Sprite:: INCBIN "gfx/sprites/black_hair_boy_2.2bpp" -GirlSprite:: INCBIN "gfx/sprites/girl.2bpp" -HikerSprite:: INCBIN "gfx/sprites/hiker.2bpp" -FoulardWomanSprite:: INCBIN "gfx/sprites/foulard_woman.2bpp" -GentlemanSprite:: INCBIN "gfx/sprites/gentleman.2bpp" -DaisySprite:: INCBIN "gfx/sprites/daisy.2bpp" -BikerSprite:: INCBIN "gfx/sprites/biker.2bpp" -SailorSprite:: INCBIN "gfx/sprites/sailor.2bpp" -CookSprite:: INCBIN "gfx/sprites/cook.2bpp" -BikeShopGuySprite:: INCBIN "gfx/sprites/bike_shop_guy.2bpp" -MrFujiSprite:: INCBIN "gfx/sprites/mr_fuji.2bpp" -GiovanniSprite:: INCBIN "gfx/sprites/giovanni.2bpp" -RocketSprite:: INCBIN "gfx/sprites/rocket.2bpp" -MediumSprite:: INCBIN "gfx/sprites/medium.2bpp" -WaiterSprite:: INCBIN "gfx/sprites/waiter.2bpp" -ErikaSprite:: INCBIN "gfx/sprites/erika.2bpp" -MomGeishaSprite:: INCBIN "gfx/sprites/mom_geisha.2bpp" -BrunetteGirlSprite:: INCBIN "gfx/sprites/brunette_girl.2bpp" -LanceSprite:: INCBIN "gfx/sprites/lance.2bpp" -MomSprite:: INCBIN "gfx/sprites/mom.2bpp" -BaldingGuySprite:: INCBIN "gfx/sprites/balding_guy.2bpp" -YoungBoySprite:: INCBIN "gfx/sprites/young_boy.2bpp" -GameboyKidSprite:: INCBIN "gfx/sprites/gameboy_kid.2bpp" -ClefairySprite:: INCBIN "gfx/sprites/clefairy.2bpp" -AgathaSprite:: INCBIN "gfx/sprites/agatha.2bpp" -BrunoSprite:: INCBIN "gfx/sprites/bruno.2bpp" -LoreleiSprite:: INCBIN "gfx/sprites/lorelei.2bpp" -SeelSprite:: INCBIN "gfx/sprites/seel.2bpp" diff --git a/tilesets.asm b/tilesets.asm deleted file mode 100644 index f64dc20a..00000000 --- a/tilesets.asm +++ /dev/null @@ -1,63 +0,0 @@ -SECTION "Tilesets 1", ROMX - -Overworld_GFX:: INCBIN "gfx/tilesets/overworld.2bpp" -Overworld_Block:: INCBIN "gfx/blocksets/overworld.bst" - -RedsHouse1_GFX:: -RedsHouse2_GFX:: INCBIN "gfx/tilesets/reds_house.2bpp" -RedsHouse1_Block:: -RedsHouse2_Block:: INCBIN "gfx/blocksets/reds_house.bst" - -House_GFX:: INCBIN "gfx/tilesets/house.2bpp" -House_Block:: INCBIN "gfx/blocksets/house.bst" -Mansion_GFX:: INCBIN "gfx/tilesets/mansion.2bpp" -Mansion_Block:: INCBIN "gfx/blocksets/mansion.bst" -ShipPort_GFX:: INCBIN "gfx/tilesets/ship_port.2bpp" -ShipPort_Block:: INCBIN "gfx/blocksets/ship_port.bst" -Interior_GFX:: INCBIN "gfx/tilesets/interior.2bpp" -Interior_Block:: INCBIN "gfx/blocksets/interior.bst" -Plateau_GFX:: INCBIN "gfx/tilesets/plateau.2bpp" -Plateau_Block:: INCBIN "gfx/blocksets/plateau.bst" - - -SECTION "Tilesets 2", ROMX - -Dojo_GFX:: -Gym_GFX:: INCBIN "gfx/tilesets/gym.2bpp" -Dojo_Block:: -Gym_Block:: INCBIN "gfx/blocksets/gym.bst" - -Mart_GFX:: -Pokecenter_GFX:: INCBIN "gfx/tilesets/pokecenter.2bpp" -Mart_Block:: -Pokecenter_Block:: INCBIN "gfx/blocksets/pokecenter.bst" - -ForestGate_GFX:: -Museum_GFX:: -Gate_GFX:: INCBIN "gfx/tilesets/gate.2bpp" -ForestGate_Block:: -Museum_Block:: -Gate_Block:: INCBIN "gfx/blocksets/gate.bst" - -Forest_GFX:: INCBIN "gfx/tilesets/forest.2bpp" -Forest_Block:: INCBIN "gfx/blocksets/forest.bst" -Facility_GFX:: INCBIN "gfx/tilesets/facility.2bpp" -Facility_Block:: INCBIN "gfx/blocksets/facility.bst" - - -SECTION "Tilesets 3", ROMX - -Cemetery_GFX:: INCBIN "gfx/tilesets/cemetery.2bpp" -Cemetery_Block:: INCBIN "gfx/blocksets/cemetery.bst" -Cavern_GFX:: INCBIN "gfx/tilesets/cavern.2bpp" -Cavern_Block:: INCBIN "gfx/blocksets/cavern.bst" -Lobby_GFX:: INCBIN "gfx/tilesets/lobby.2bpp" -Lobby_Block:: INCBIN "gfx/blocksets/lobby.bst" -Ship_GFX:: INCBIN "gfx/tilesets/ship.2bpp" -Ship_Block:: INCBIN "gfx/blocksets/ship.bst" -Lab_GFX:: INCBIN "gfx/tilesets/lab.2bpp" -Lab_Block:: INCBIN "gfx/blocksets/lab.bst" -Club_GFX:: INCBIN "gfx/tilesets/club.2bpp" -Club_Block:: INCBIN "gfx/blocksets/club.bst" -Underground_GFX:: INCBIN "gfx/tilesets/underground.2bpp" -Underground_Block:: INCBIN "gfx/blocksets/underground.bst" -- cgit v1.2.3 From a5375a080552f46a34377d21ab848f5cff7a6ecc Mon Sep 17 00:00:00 2001 From: Rangi Date: Fri, 3 Jul 2020 17:43:55 -0400 Subject: Factor out graphics INCBINs from main.asm to gfx/*.asm --- gfx/fishing.asm | 4 ++++ gfx/font.asm | 31 +++++++++++++++++++++++++ gfx/player.asm | 3 +++ gfx/trade.asm | 7 ++++++ gfx/trainer_card.asm | 8 +++++++ gfx/version.asm | 8 +++++++ main.asm | 64 +++++----------------------------------------------- 7 files changed, 67 insertions(+), 58 deletions(-) create mode 100644 gfx/fishing.asm create mode 100644 gfx/font.asm create mode 100644 gfx/player.asm create mode 100644 gfx/trade.asm create mode 100644 gfx/trainer_card.asm create mode 100644 gfx/version.asm diff --git a/gfx/fishing.asm b/gfx/fishing.asm new file mode 100644 index 00000000..0a040262 --- /dev/null +++ b/gfx/fishing.asm @@ -0,0 +1,4 @@ +RedFishingTilesFront: INCBIN "gfx/overworld/red_fish_front.2bpp" +RedFishingTilesBack: INCBIN "gfx/overworld/red_fish_back.2bpp" +RedFishingTilesSide: INCBIN "gfx/overworld/red_fish_side.2bpp" +RedFishingRodTiles: INCBIN "gfx/overworld/fishing_rod.2bpp" diff --git a/gfx/font.asm b/gfx/font.asm new file mode 100644 index 00000000..b3dda1e7 --- /dev/null +++ b/gfx/font.asm @@ -0,0 +1,31 @@ +PokemonLogoGraphics: INCBIN "gfx/title/pokemon_logo.2bpp" +FontGraphics:: INCBIN "gfx/font/font.1bpp" +FontGraphicsEnd:: + +ABTiles: INCBIN "gfx/font/AB.2bpp" + +HpBarAndStatusGraphics:: INCBIN "gfx/font/font_battle_extra.2bpp" +HpBarAndStatusGraphicsEnd:: + +BattleHudTiles1: INCBIN "gfx/battle/battle_hud_1.1bpp" +BattleHudTiles1End: +BattleHudTiles2: INCBIN "gfx/battle/battle_hud_2.1bpp" +BattleHudTiles3: INCBIN "gfx/battle/battle_hud_3.1bpp" +BattleHudTiles3End: + +NintendoCopyrightLogoGraphics: INCBIN "gfx/intro_credits/copyright.2bpp" + +GamefreakLogoGraphics: INCBIN "gfx/title/gamefreak_inc.2bpp" +GamefreakLogoGraphicsEnd: + +TextBoxGraphics:: INCBIN "gfx/font/font_extra.2bpp" +TextBoxGraphicsEnd:: + +PokedexTileGraphics: INCBIN "gfx/pokedex/pokedex.2bpp" +PokedexTileGraphicsEnd: + +WorldMapTileGraphics: INCBIN "gfx/town_map/town_map.2bpp" +WorldMapTileGraphicsEnd: + +PlayerCharacterTitleGraphics: INCBIN "gfx/title/player.2bpp" +PlayerCharacterTitleGraphicsEnd: diff --git a/gfx/player.asm b/gfx/player.asm new file mode 100644 index 00000000..188daaf2 --- /dev/null +++ b/gfx/player.asm @@ -0,0 +1,3 @@ +RedPicFront:: INCBIN "gfx/player/red.pic" +ShrinkPic1:: INCBIN "gfx/player/shrink1.pic" +ShrinkPic2:: INCBIN "gfx/player/shrink2.pic" diff --git a/gfx/trade.asm b/gfx/trade.asm new file mode 100644 index 00000000..e5d8db05 --- /dev/null +++ b/gfx/trade.asm @@ -0,0 +1,7 @@ +TradingAnimationGraphics: +INCBIN "gfx/trade/game_boy.2bpp" +INCBIN "gfx/trade/link_cable.2bpp" +TradingAnimationGraphicsEnd: + +TradingAnimationGraphics2: INCBIN "gfx/trade/cable_ball.2bpp" +TradingAnimationGraphics2End: diff --git a/gfx/trainer_card.asm b/gfx/trainer_card.asm new file mode 100644 index 00000000..7484e4ee --- /dev/null +++ b/gfx/trainer_card.asm @@ -0,0 +1,8 @@ +TrainerInfoTextBoxTileGraphics: INCBIN "gfx/trainer_card/trainer_info.2bpp" +TrainerInfoTextBoxTileGraphicsEnd: + +BlankLeaderNames: INCBIN "gfx/trainer_card/blank_leader_names.2bpp" + +CircleTile: INCBIN "gfx/trainer_card/circle_tile.2bpp" + +BadgeNumbersTileGraphics: INCBIN "gfx/trainer_card/badge_numbers.2bpp" diff --git a/gfx/version.asm b/gfx/version.asm new file mode 100644 index 00000000..6f49bca9 --- /dev/null +++ b/gfx/version.asm @@ -0,0 +1,8 @@ +Version_GFX: +IF DEF(_RED) + INCBIN "gfx/title/red_version.1bpp" ; 10 tiles +ENDC +IF DEF(_BLUE) + INCBIN "gfx/title/blue_version.1bpp" ; 8 tiles +ENDC +Version_GFXEnd: diff --git a/main.asm b/main.asm index cee9dd0f..b0c5f489 100755 --- a/main.asm +++ b/main.asm @@ -84,28 +84,7 @@ INCLUDE "engine/events/hidden_objects/pokemon_stuff.asm" SECTION "Graphics (BANK 4)", ROMX -PokemonLogoGraphics: INCBIN "gfx/title/pokemon_logo.2bpp" -FontGraphics:: INCBIN "gfx/font/font.1bpp" -FontGraphicsEnd:: -ABTiles: INCBIN "gfx/font/AB.2bpp" -HpBarAndStatusGraphics:: INCBIN "gfx/font/font_battle_extra.2bpp" -HpBarAndStatusGraphicsEnd:: -BattleHudTiles1: INCBIN "gfx/battle/battle_hud_1.1bpp" -BattleHudTiles1End: -BattleHudTiles2: INCBIN "gfx/battle/battle_hud_2.1bpp" -BattleHudTiles3: INCBIN "gfx/battle/battle_hud_3.1bpp" -BattleHudTiles3End: -NintendoCopyrightLogoGraphics: INCBIN "gfx/intro_credits/copyright.2bpp" -GamefreakLogoGraphics: INCBIN "gfx/title/gamefreak_inc.2bpp" -GamefreakLogoGraphicsEnd: -TextBoxGraphics:: INCBIN "gfx/font/font_extra.2bpp" -TextBoxGraphicsEnd:: -PokedexTileGraphics: INCBIN "gfx/pokedex/pokedex.2bpp" -PokedexTileGraphicsEnd: -WorldMapTileGraphics: INCBIN "gfx/town_map/town_map.2bpp" -WorldMapTileGraphicsEnd: -PlayerCharacterTitleGraphics: INCBIN "gfx/title/player.2bpp" -PlayerCharacterTitleGraphicsEnd: +INCLUDE "gfx/font.asm" SECTION "Battle (BANK 4)", ROMX @@ -113,11 +92,7 @@ SECTION "Battle (BANK 4)", ROMX INCLUDE "engine/overworld/is_player_just_outside_map.asm" INCLUDE "engine/pokemon/status_screen.asm" INCLUDE "engine/menus/party_menu.asm" - -RedPicFront:: INCBIN "gfx/player/red.pic" -ShrinkPic1:: INCBIN "gfx/player/shrink1.pic" -ShrinkPic2:: INCBIN "gfx/player/shrink2.pic" - +INCLUDE "gfx/player.asm" INCLUDE "engine/overworld/turn_sprite.asm" INCLUDE "engine/menus/start_sub_menus.asm" INCLUDE "engine/items/tms.asm" @@ -191,13 +166,7 @@ INCLUDE "engine/battle/move_effects/leech_seed.asm" SECTION "Battle (BANK B)", ROMX INCLUDE "engine/battle/display_effectiveness.asm" - -TrainerInfoTextBoxTileGraphics: INCBIN "gfx/trainer_card/trainer_info.2bpp" -TrainerInfoTextBoxTileGraphicsEnd: -BlankLeaderNames: INCBIN "gfx/trainer_card/blank_leader_names.2bpp" -CircleTile: INCBIN "gfx/trainer_card/circle_tile.2bpp" -BadgeNumbersTileGraphics: INCBIN "gfx/trainer_card/badge_numbers.2bpp" - +INCLUDE "gfx/trainer_card.asm" INCLUDE "engine/items/tmhm.asm" INCLUDE "engine/battle/scale_sprites.asm" INCLUDE "engine/battle/move_effects/pay_day.asm" @@ -229,15 +198,7 @@ INCLUDE "engine/battle/unused_stats_functions.asm" INCLUDE "engine/battle/scroll_draw_trainer_pic.asm" INCLUDE "engine/battle/trainer_ai.asm" INCLUDE "engine/battle/draw_hud_pokeball_gfx.asm" - -TradingAnimationGraphics: -INCBIN "gfx/trade/game_boy.2bpp" -INCBIN "gfx/trade/link_cable.2bpp" -TradingAnimationGraphicsEnd: - -TradingAnimationGraphics2: INCBIN "gfx/trade/cable_ball.2bpp" -TradingAnimationGraphics2End: - +INCLUDE "gfx/trade.asm" INCLUDE "engine/pokemon/evos_moves.asm" INCLUDE "engine/battle/move_effects/heal.asm" INCLUDE "engine/battle/move_effects/transform.asm" @@ -344,15 +305,7 @@ INCLUDE "engine/events/hidden_objects/pokecenter_pc.asm" SECTION "bank1A", ROMX INCLUDE "engine/battle/decrement_pp.asm" - -Version_GFX: -IF DEF(_RED) - INCBIN "gfx/title/red_version.1bpp" ; 10 tiles -ENDC -IF DEF(_BLUE) - INCBIN "gfx/title/blue_version.1bpp" ; 8 tiles -ENDC -Version_GFXEnd: +INCLUDE "gfx/version.asm" SECTION "bank1C", ROMX @@ -393,12 +346,7 @@ SECTION "bank1E", ROMX INCLUDE "engine/battle/animations.asm" INCLUDE "engine/overworld/cut2.asm" INCLUDE "engine/overworld/dust_smoke.asm" - -RedFishingTilesFront: INCBIN "gfx/overworld/red_fish_front.2bpp" -RedFishingTilesBack: INCBIN "gfx/overworld/red_fish_back.2bpp" -RedFishingTilesSide: INCBIN "gfx/overworld/red_fish_side.2bpp" -RedFishingRodTiles: INCBIN "gfx/overworld/fishing_rod.2bpp" - +INCLUDE "gfx/fishing.asm" INCLUDE "data/moves/animations.asm" INCLUDE "engine/movie/evolution.asm" INCLUDE "engine/overworld/elevator.asm" -- cgit v1.2.3 From 55bb99580eeccc92106437c4ad86edb8ca89ecda Mon Sep 17 00:00:00 2001 From: Rangi Date: Fri, 3 Jul 2020 18:19:56 -0400 Subject: data/mapHeaders -> data/maps/headers; data/mapObjects -> data/maps/objects To do: Polished Map support for loading the objects --- data/mapHeaders/AgathasRoom.asm | 3 - data/mapHeaders/BikeShop.asm | 3 - data/mapHeaders/BillsHouse.asm | 3 - data/mapHeaders/BluesHouse.asm | 3 - data/mapHeaders/BrunosRoom.asm | 3 - data/mapHeaders/CeladonChiefHouse.asm | 3 - data/mapHeaders/CeladonCity.asm | 5 - data/mapHeaders/CeladonDiner.asm | 3 - data/mapHeaders/CeladonGym.asm | 3 - data/mapHeaders/CeladonHotel.asm | 3 - data/mapHeaders/CeladonMansion1F.asm | 3 - data/mapHeaders/CeladonMansion2F.asm | 3 - data/mapHeaders/CeladonMansion3F.asm | 3 - data/mapHeaders/CeladonMansionRoof.asm | 3 - data/mapHeaders/CeladonMansionRoofHouse.asm | 3 - data/mapHeaders/CeladonMart1F.asm | 3 - data/mapHeaders/CeladonMart2F.asm | 3 - data/mapHeaders/CeladonMart3F.asm | 3 - data/mapHeaders/CeladonMart4F.asm | 3 - data/mapHeaders/CeladonMart5F.asm | 3 - data/mapHeaders/CeladonMartElevator.asm | 3 - data/mapHeaders/CeladonMartRoof.asm | 3 - data/mapHeaders/CeladonPokecenter.asm | 3 - data/mapHeaders/CeruleanBadgeHouse.asm | 3 - data/mapHeaders/CeruleanCave1F.asm | 3 - data/mapHeaders/CeruleanCave2F.asm | 3 - data/mapHeaders/CeruleanCaveB1F.asm | 3 - data/mapHeaders/CeruleanCity.asm | 7 - data/mapHeaders/CeruleanGym.asm | 3 - data/mapHeaders/CeruleanMart.asm | 3 - data/mapHeaders/CeruleanPokecenter.asm | 3 - data/mapHeaders/CeruleanTradeHouse.asm | 3 - data/mapHeaders/CeruleanTrashedHouse.asm | 3 - data/mapHeaders/ChampionsRoom.asm | 3 - data/mapHeaders/CinnabarGym.asm | 3 - data/mapHeaders/CinnabarIsland.asm | 5 - data/mapHeaders/CinnabarLab.asm | 3 - data/mapHeaders/CinnabarLabFossilRoom.asm | 3 - data/mapHeaders/CinnabarLabMetronomeRoom.asm | 3 - data/mapHeaders/CinnabarLabTradeRoom.asm | 3 - data/mapHeaders/CinnabarMart.asm | 3 - data/mapHeaders/CinnabarPokecenter.asm | 3 - data/mapHeaders/Colosseum.asm | 3 - data/mapHeaders/CopycatsHouse1F.asm | 3 - data/mapHeaders/CopycatsHouse2F.asm | 3 - data/mapHeaders/Daycare.asm | 3 - data/mapHeaders/DiglettsCave.asm | 3 - data/mapHeaders/DiglettsCaveRoute11.asm | 3 - data/mapHeaders/DiglettsCaveRoute2.asm | 3 - data/mapHeaders/FightingDojo.asm | 3 - data/mapHeaders/FuchsiaBillsGrandpasHouse.asm | 3 - data/mapHeaders/FuchsiaCity.asm | 6 - data/mapHeaders/FuchsiaGoodRodHouse.asm | 3 - data/mapHeaders/FuchsiaGym.asm | 3 - data/mapHeaders/FuchsiaMart.asm | 3 - data/mapHeaders/FuchsiaMeetingRoom.asm | 3 - data/mapHeaders/FuchsiaPokecenter.asm | 3 - data/mapHeaders/GameCorner.asm | 3 - data/mapHeaders/GameCornerPrizeRoom.asm | 3 - data/mapHeaders/HallOfFame.asm | 3 - data/mapHeaders/IndigoPlateau.asm | 4 - data/mapHeaders/IndigoPlateauLobby.asm | 3 - data/mapHeaders/LancesRoom.asm | 3 - data/mapHeaders/LavenderCuboneHouse.asm | 3 - data/mapHeaders/LavenderMart.asm | 3 - data/mapHeaders/LavenderPokecenter.asm | 3 - data/mapHeaders/LavenderTown.asm | 6 - data/mapHeaders/LoreleisRoom.asm | 3 - data/mapHeaders/MrFujisHouse.asm | 3 - data/mapHeaders/MrPsychicsHouse.asm | 3 - data/mapHeaders/MtMoon1F.asm | 3 - data/mapHeaders/MtMoonB1F.asm | 3 - data/mapHeaders/MtMoonB2F.asm | 3 - data/mapHeaders/MtMoonPokecenter.asm | 3 - data/mapHeaders/Museum1F.asm | 3 - data/mapHeaders/Museum2F.asm | 3 - data/mapHeaders/NameRatersHouse.asm | 3 - data/mapHeaders/OaksLab.asm | 3 - data/mapHeaders/PalletTown.asm | 5 - data/mapHeaders/PewterCity.asm | 5 - data/mapHeaders/PewterGym.asm | 3 - data/mapHeaders/PewterMart.asm | 3 - data/mapHeaders/PewterNidoranHouse.asm | 3 - data/mapHeaders/PewterPokecenter.asm | 3 - data/mapHeaders/PewterSpeechHouse.asm | 3 - data/mapHeaders/PokemonFanClub.asm | 3 - data/mapHeaders/PokemonMansion1F.asm | 3 - data/mapHeaders/PokemonMansion2F.asm | 3 - data/mapHeaders/PokemonMansion3F.asm | 3 - data/mapHeaders/PokemonMansionB1F.asm | 3 - data/mapHeaders/PokemonTower1F.asm | 3 - data/mapHeaders/PokemonTower2F.asm | 3 - data/mapHeaders/PokemonTower3F.asm | 3 - data/mapHeaders/PokemonTower4F.asm | 3 - data/mapHeaders/PokemonTower5F.asm | 3 - data/mapHeaders/PokemonTower6F.asm | 3 - data/mapHeaders/PokemonTower7F.asm | 3 - data/mapHeaders/PowerPlant.asm | 3 - data/mapHeaders/RedsHouse1F.asm | 3 - data/mapHeaders/RedsHouse2F.asm | 3 - data/mapHeaders/RockTunnel1F.asm | 3 - data/mapHeaders/RockTunnelB1F.asm | 3 - data/mapHeaders/RockTunnelPokecenter.asm | 3 - data/mapHeaders/RocketHideoutB1F.asm | 3 - data/mapHeaders/RocketHideoutB2F.asm | 3 - data/mapHeaders/RocketHideoutB3F.asm | 3 - data/mapHeaders/RocketHideoutB4F.asm | 3 - data/mapHeaders/RocketHideoutElevator.asm | 3 - data/mapHeaders/Route1.asm | 5 - data/mapHeaders/Route10.asm | 5 - data/mapHeaders/Route11.asm | 5 - data/mapHeaders/Route11Gate1F.asm | 3 - data/mapHeaders/Route11Gate2F.asm | 3 - data/mapHeaders/Route12.asm | 6 - data/mapHeaders/Route12Gate1F.asm | 3 - data/mapHeaders/Route12Gate2F.asm | 3 - data/mapHeaders/Route12SuperRodHouse.asm | 3 - data/mapHeaders/Route13.asm | 5 - data/mapHeaders/Route14.asm | 5 - data/mapHeaders/Route15.asm | 5 - data/mapHeaders/Route15Gate1F.asm | 3 - data/mapHeaders/Route15Gate2F.asm | 3 - data/mapHeaders/Route16.asm | 5 - data/mapHeaders/Route16FlyHouse.asm | 3 - data/mapHeaders/Route16Gate1F.asm | 3 - data/mapHeaders/Route16Gate2F.asm | 3 - data/mapHeaders/Route17.asm | 5 - data/mapHeaders/Route18.asm | 5 - data/mapHeaders/Route18Gate1F.asm | 3 - data/mapHeaders/Route18Gate2F.asm | 3 - data/mapHeaders/Route19.asm | 5 - data/mapHeaders/Route2.asm | 5 - data/mapHeaders/Route20.asm | 5 - data/mapHeaders/Route21.asm | 5 - data/mapHeaders/Route22.asm | 5 - data/mapHeaders/Route22Gate.asm | 3 - data/mapHeaders/Route23.asm | 5 - data/mapHeaders/Route24.asm | 5 - data/mapHeaders/Route25.asm | 4 - data/mapHeaders/Route2Gate.asm | 3 - data/mapHeaders/Route2TradeHouse.asm | 3 - data/mapHeaders/Route3.asm | 5 - data/mapHeaders/Route4.asm | 5 - data/mapHeaders/Route5.asm | 5 - data/mapHeaders/Route5Gate.asm | 3 - data/mapHeaders/Route6.asm | 5 - data/mapHeaders/Route6Gate.asm | 3 - data/mapHeaders/Route7.asm | 5 - data/mapHeaders/Route7Gate.asm | 3 - data/mapHeaders/Route8.asm | 5 - data/mapHeaders/Route8Gate.asm | 3 - data/mapHeaders/Route9.asm | 5 - data/mapHeaders/SSAnne1F.asm | 3 - data/mapHeaders/SSAnne1FRooms.asm | 3 - data/mapHeaders/SSAnne2F.asm | 3 - data/mapHeaders/SSAnne2FRooms.asm | 3 - data/mapHeaders/SSAnne3F.asm | 3 - data/mapHeaders/SSAnneB1F.asm | 3 - data/mapHeaders/SSAnneB1FRooms.asm | 3 - data/mapHeaders/SSAnneBow.asm | 3 - data/mapHeaders/SSAnneCaptainsRoom.asm | 3 - data/mapHeaders/SSAnneKitchen.asm | 3 - data/mapHeaders/SafariZoneCenter.asm | 3 - data/mapHeaders/SafariZoneCenterRestHouse.asm | 3 - data/mapHeaders/SafariZoneEast.asm | 3 - data/mapHeaders/SafariZoneEastRestHouse.asm | 3 - data/mapHeaders/SafariZoneGate.asm | 3 - data/mapHeaders/SafariZoneNorth.asm | 3 - data/mapHeaders/SafariZoneNorthRestHouse.asm | 3 - data/mapHeaders/SafariZoneSecretHouse.asm | 3 - data/mapHeaders/SafariZoneWest.asm | 3 - data/mapHeaders/SafariZoneWestRestHouse.asm | 3 - data/mapHeaders/SaffronCity.asm | 7 - data/mapHeaders/SaffronGym.asm | 3 - data/mapHeaders/SaffronMart.asm | 3 - data/mapHeaders/SaffronPidgeyHouse.asm | 3 - data/mapHeaders/SaffronPokecenter.asm | 3 - data/mapHeaders/SeafoamIslands1F.asm | 3 - data/mapHeaders/SeafoamIslandsB1F.asm | 3 - data/mapHeaders/SeafoamIslandsB2F.asm | 3 - data/mapHeaders/SeafoamIslandsB3F.asm | 3 - data/mapHeaders/SeafoamIslandsB4F.asm | 3 - data/mapHeaders/SilphCo10F.asm | 3 - data/mapHeaders/SilphCo11F.asm | 3 - data/mapHeaders/SilphCo1F.asm | 3 - data/mapHeaders/SilphCo2F.asm | 3 - data/mapHeaders/SilphCo3F.asm | 3 - data/mapHeaders/SilphCo4F.asm | 3 - data/mapHeaders/SilphCo5F.asm | 3 - data/mapHeaders/SilphCo6F.asm | 3 - data/mapHeaders/SilphCo7F.asm | 3 - data/mapHeaders/SilphCo8F.asm | 3 - data/mapHeaders/SilphCo9F.asm | 3 - data/mapHeaders/SilphCoElevator.asm | 3 - data/mapHeaders/TradeCenter.asm | 3 - data/mapHeaders/UndergroundPathNorthSouth.asm | 3 - data/mapHeaders/UndergroundPathRoute5.asm | 3 - data/mapHeaders/UndergroundPathRoute6.asm | 3 - data/mapHeaders/UndergroundPathRoute7.asm | 3 - data/mapHeaders/UndergroundPathRoute7Copy.asm | 3 - data/mapHeaders/UndergroundPathRoute8.asm | 3 - data/mapHeaders/UndergroundPathWestEast.asm | 3 - data/mapHeaders/VermilionCity.asm | 5 - data/mapHeaders/VermilionDock.asm | 3 - data/mapHeaders/VermilionGym.asm | 3 - data/mapHeaders/VermilionMart.asm | 3 - data/mapHeaders/VermilionOldRodHouse.asm | 3 - data/mapHeaders/VermilionPidgeyHouse.asm | 3 - data/mapHeaders/VermilionPokecenter.asm | 3 - data/mapHeaders/VermilionTradeHouse.asm | 3 - data/mapHeaders/VictoryRoad1F.asm | 3 - data/mapHeaders/VictoryRoad2F.asm | 3 - data/mapHeaders/VictoryRoad3F.asm | 3 - data/mapHeaders/ViridianCity.asm | 6 - data/mapHeaders/ViridianForest.asm | 3 - data/mapHeaders/ViridianForestNorthGate.asm | 3 - data/mapHeaders/ViridianForestSouthGate.asm | 3 - data/mapHeaders/ViridianGym.asm | 3 - data/mapHeaders/ViridianMart.asm | 3 - data/mapHeaders/ViridianNicknameHouse.asm | 3 - data/mapHeaders/ViridianPokecenter.asm | 3 - data/mapHeaders/ViridianSchoolHouse.asm | 3 - data/mapHeaders/WardensHouse.asm | 3 - data/mapObjects/AgathasRoom.asm | 19 - data/mapObjects/BikeShop.asm | 17 - data/mapObjects/BillsHouse.asm | 17 - data/mapObjects/BluesHouse.asm | 17 - data/mapObjects/BrunosRoom.asm | 19 - data/mapObjects/CeladonChiefHouse.asm | 17 - data/mapObjects/CeladonCity.asm | 54 -- data/mapObjects/CeladonDiner.asm | 19 - data/mapObjects/CeladonGym.asm | 22 - data/mapObjects/CeladonHotel.asm | 17 - data/mapObjects/CeladonMansion1F.asm | 25 - data/mapObjects/CeladonMansion2F.asm | 19 - data/mapObjects/CeladonMansion3F.asm | 26 - data/mapObjects/CeladonMansionRoof.asm | 17 - data/mapObjects/CeladonMansionRoofHouse.asm | 16 - data/mapObjects/CeladonMart1F.asm | 25 - data/mapObjects/CeladonMart2F.asm | 21 - data/mapObjects/CeladonMart3F.asm | 33 - data/mapObjects/CeladonMart4F.asm | 20 - data/mapObjects/CeladonMart5F.asm | 21 - data/mapObjects/CeladonMartElevator.asm | 15 - data/mapObjects/CeladonMartRoof.asm | 18 - data/mapObjects/CeladonPokecenter.asm | 18 - data/mapObjects/CeruleanBadgeHouse.asm | 17 - data/mapObjects/CeruleanCave1F.asm | 31 - data/mapObjects/CeruleanCave2F.asm | 25 - data/mapObjects/CeruleanCaveB1F.asm | 15 - data/mapObjects/CeruleanCity.asm | 47 -- data/mapObjects/CeruleanGym.asm | 18 - data/mapObjects/CeruleanMart.asm | 17 - data/mapObjects/CeruleanPokecenter.asm | 18 - data/mapObjects/CeruleanTradeHouse.asm | 16 - data/mapObjects/CeruleanTrashedHouse.asm | 19 - data/mapObjects/ChampionsRoom.asm | 20 - data/mapObjects/CinnabarGym.asm | 23 - data/mapObjects/CinnabarIsland.asm | 27 - data/mapObjects/CinnabarLab.asm | 25 - data/mapObjects/CinnabarLabFossilRoom.asm | 16 - data/mapObjects/CinnabarLabMetronomeRoom.asm | 19 - data/mapObjects/CinnabarLabTradeRoom.asm | 17 - data/mapObjects/CinnabarMart.asm | 17 - data/mapObjects/CinnabarPokecenter.asm | 18 - data/mapObjects/Colosseum.asm | 9 - data/mapObjects/CopycatsHouse1F.asm | 19 - data/mapObjects/CopycatsHouse2F.asm | 19 - data/mapObjects/Daycare.asm | 15 - data/mapObjects/DiglettsCave.asm | 14 - data/mapObjects/DiglettsCaveRoute11.asm | 17 - data/mapObjects/DiglettsCaveRoute2.asm | 17 - data/mapObjects/FightingDojo.asm | 21 - data/mapObjects/FuchsiaBillsGrandpasHouse.asm | 17 - data/mapObjects/FuchsiaCity.asm | 52 -- data/mapObjects/FuchsiaGoodRodHouse.asm | 17 - data/mapObjects/FuchsiaGym.asm | 22 - data/mapObjects/FuchsiaMart.asm | 17 - data/mapObjects/FuchsiaMeetingRoom.asm | 17 - data/mapObjects/FuchsiaPokecenter.asm | 18 - data/mapObjects/GameCorner.asm | 28 - data/mapObjects/GameCornerPrizeRoom.asm | 19 - data/mapObjects/HallOfFame.asm | 15 - data/mapObjects/IndigoPlateau.asm | 14 - data/mapObjects/IndigoPlateauLobby.asm | 21 - data/mapObjects/LancesRoom.asm | 17 - data/mapObjects/LavenderCuboneHouse.asm | 16 - data/mapObjects/LavenderMart.asm | 17 - data/mapObjects/LavenderPokecenter.asm | 18 - data/mapObjects/LavenderTown.asm | 31 - data/mapObjects/LoreleisRoom.asm | 19 - data/mapObjects/MrFujisHouse.asm | 20 - data/mapObjects/MrPsychicsHouse.asm | 15 - data/mapObjects/MtMoon1F.asm | 34 - data/mapObjects/MtMoonB1F.asm | 26 - data/mapObjects/MtMoonB2F.asm | 27 - data/mapObjects/MtMoonPokecenter.asm | 20 - data/mapObjects/Museum1F.asm | 25 - data/mapObjects/Museum2F.asm | 19 - data/mapObjects/NameRatersHouse.asm | 15 - data/mapObjects/OaksLab.asm | 25 - data/mapObjects/PalletTown.asm | 23 - data/mapObjects/PewterCity.asm | 36 - data/mapObjects/PewterGym.asm | 17 - data/mapObjects/PewterMart.asm | 17 - data/mapObjects/PewterNidoranHouse.asm | 17 - data/mapObjects/PewterPokecenter.asm | 18 - data/mapObjects/PewterSpeechHouse.asm | 16 - data/mapObjects/PokemonFanClub.asm | 22 - data/mapObjects/PokemonMansion1F.asm | 29 - data/mapObjects/PokemonMansion2F.asm | 22 - data/mapObjects/PokemonMansion3F.asm | 21 - data/mapObjects/PokemonMansionB1F.asm | 20 - data/mapObjects/PokemonTower1F.asm | 21 - data/mapObjects/PokemonTower2F.asm | 16 - data/mapObjects/PokemonTower3F.asm | 18 - data/mapObjects/PokemonTower4F.asm | 20 - data/mapObjects/PokemonTower5F.asm | 20 - data/mapObjects/PokemonTower6F.asm | 19 - data/mapObjects/PokemonTower7F.asm | 16 - data/mapObjects/PowerPlant.asm | 30 - data/mapObjects/RedsHouse1F.asm | 18 - data/mapObjects/RedsHouse2F.asm | 12 - data/mapObjects/RockTunnel1F.asm | 34 - data/mapObjects/RockTunnelB1F.asm | 26 - data/mapObjects/RockTunnelPokecenter.asm | 18 - data/mapObjects/RocketHideoutB1F.asm | 27 - data/mapObjects/RocketHideoutB2F.asm | 25 - data/mapObjects/RocketHideoutB3F.asm | 18 - data/mapObjects/RocketHideoutB4F.asm | 25 - data/mapObjects/RocketHideoutElevator.asm | 15 - data/mapObjects/Route1.asm | 14 - data/mapObjects/Route10.asm | 28 - data/mapObjects/Route11.asm | 31 - data/mapObjects/Route11Gate1F.asm | 21 - data/mapObjects/Route11Gate2F.asm | 16 - data/mapObjects/Route12.asm | 30 - data/mapObjects/Route12Gate1F.asm | 21 - data/mapObjects/Route12Gate2F.asm | 15 - data/mapObjects/Route12SuperRodHouse.asm | 15 - data/mapObjects/Route13.asm | 21 - data/mapObjects/Route14.asm | 19 - data/mapObjects/Route15.asm | 30 - data/mapObjects/Route15Gate1F.asm | 21 - data/mapObjects/Route15Gate2F.asm | 14 - data/mapObjects/Route16.asm | 37 - data/mapObjects/Route16FlyHouse.asm | 16 - data/mapObjects/Route16Gate1F.asm | 30 - data/mapObjects/Route16Gate2F.asm | 16 - data/mapObjects/Route17.asm | 24 - data/mapObjects/Route18.asm | 23 - data/mapObjects/Route18Gate1F.asm | 21 - data/mapObjects/Route18Gate2F.asm | 15 - data/mapObjects/Route19.asm | 21 - data/mapObjects/Route2.asm | 33 - data/mapObjects/Route20.asm | 26 - data/mapObjects/Route21.asm | 17 - data/mapObjects/Route22.asm | 15 - data/mapObjects/Route22Gate.asm | 19 - data/mapObjects/Route23.asm | 26 - data/mapObjects/Route24.asm | 16 - data/mapObjects/Route25.asm | 23 - data/mapObjects/Route2Gate.asm | 20 - data/mapObjects/Route2TradeHouse.asm | 16 - data/mapObjects/Route3.asm | 18 - data/mapObjects/Route4.asm | 22 - data/mapObjects/Route5.asm | 21 - data/mapObjects/Route5Gate.asm | 19 - data/mapObjects/Route6.asm | 25 - data/mapObjects/Route6Gate.asm | 19 - data/mapObjects/Route7.asm | 21 - data/mapObjects/Route7Gate.asm | 19 - data/mapObjects/Route8.asm | 30 - data/mapObjects/Route8Gate.asm | 19 - data/mapObjects/Route9.asm | 19 - data/mapObjects/SSAnne1F.asm | 34 - data/mapObjects/SSAnne1FRooms.asm | 33 - data/mapObjects/SSAnne2F.asm | 30 - data/mapObjects/SSAnne2FRooms.asm | 47 -- data/mapObjects/SSAnne3F.asm | 15 - data/mapObjects/SSAnneB1F.asm | 22 - data/mapObjects/SSAnneB1FRooms.asm | 41 -- data/mapObjects/SSAnneBow.asm | 19 - data/mapObjects/SSAnneCaptainsRoom.asm | 15 - data/mapObjects/SSAnneKitchen.asm | 19 - data/mapObjects/SafariZoneCenter.asm | 31 - data/mapObjects/SafariZoneCenterRestHouse.asm | 16 - data/mapObjects/SafariZoneEast.asm | 27 - data/mapObjects/SafariZoneEastRestHouse.asm | 17 - data/mapObjects/SafariZoneGate.asm | 20 - data/mapObjects/SafariZoneNorth.asm | 35 - data/mapObjects/SafariZoneNorthRestHouse.asm | 17 - data/mapObjects/SafariZoneSecretHouse.asm | 15 - data/mapObjects/SafariZoneWest.asm | 34 - data/mapObjects/SafariZoneWestRestHouse.asm | 17 - data/mapObjects/SaffronCity.asm | 51 -- data/mapObjects/SaffronGym.asm | 83 --- data/mapObjects/SaffronMart.asm | 17 - data/mapObjects/SaffronPidgeyHouse.asm | 18 - data/mapObjects/SaffronPokecenter.asm | 18 - data/mapObjects/SeafoamIslands1F.asm | 30 - data/mapObjects/SeafoamIslandsB1F.asm | 26 - data/mapObjects/SeafoamIslandsB2F.asm | 26 - data/mapObjects/SeafoamIslandsB3F.asm | 30 - data/mapObjects/SeafoamIslandsB4F.asm | 23 - data/mapObjects/SilphCo10F.asm | 28 - data/mapObjects/SilphCo11F.asm | 23 - data/mapObjects/SilphCo1F.asm | 21 - data/mapObjects/SilphCo2F.asm | 29 - data/mapObjects/SilphCo3F.asm | 34 - data/mapObjects/SilphCo4F.asm | 31 - data/mapObjects/SilphCo5F.asm | 35 - data/mapObjects/SilphCo6F.asm | 30 - data/mapObjects/SilphCo7F.asm | 33 - data/mapObjects/SilphCo8F.asm | 28 - data/mapObjects/SilphCo9F.asm | 24 - data/mapObjects/SilphCoElevator.asm | 15 - data/mapObjects/TradeCenter.asm | 9 - data/mapObjects/UndergroundPathNorthSouth.asm | 14 - data/mapObjects/UndergroundPathRoute5.asm | 17 - data/mapObjects/UndergroundPathRoute6.asm | 17 - data/mapObjects/UndergroundPathRoute7.asm | 17 - data/mapObjects/UndergroundPathRoute7Copy.asm | 18 - data/mapObjects/UndergroundPathRoute8.asm | 17 - data/mapObjects/UndergroundPathWestEast.asm | 14 - data/mapObjects/VermilionCity.asm | 41 -- data/mapObjects/VermilionDock.asm | 14 - data/mapObjects/VermilionGym.asm | 19 - data/mapObjects/VermilionMart.asm | 17 - data/mapObjects/VermilionOldRodHouse.asm | 15 - data/mapObjects/VermilionPidgeyHouse.asm | 17 - data/mapObjects/VermilionPokecenter.asm | 18 - data/mapObjects/VermilionTradeHouse.asm | 15 - data/mapObjects/VictoryRoad1F.asm | 23 - data/mapObjects/VictoryRoad2F.asm | 37 - data/mapObjects/VictoryRoad3F.asm | 28 - data/mapObjects/ViridianCity.asm | 33 - data/mapObjects/ViridianForest.asm | 36 - data/mapObjects/ViridianForestNorthGate.asm | 20 - data/mapObjects/ViridianForestSouthGate.asm | 20 - data/mapObjects/ViridianGym.asm | 25 - data/mapObjects/ViridianMart.asm | 17 - data/mapObjects/ViridianNicknameHouse.asm | 18 - data/mapObjects/ViridianPokecenter.asm | 18 - data/mapObjects/ViridianSchoolHouse.asm | 16 - data/mapObjects/WardensHouse.asm | 19 - data/maps/headers/AgathasRoom.asm | 3 + data/maps/headers/BikeShop.asm | 3 + data/maps/headers/BillsHouse.asm | 3 + data/maps/headers/BluesHouse.asm | 3 + data/maps/headers/BrunosRoom.asm | 3 + data/maps/headers/CeladonChiefHouse.asm | 3 + data/maps/headers/CeladonCity.asm | 5 + data/maps/headers/CeladonDiner.asm | 3 + data/maps/headers/CeladonGym.asm | 3 + data/maps/headers/CeladonHotel.asm | 3 + data/maps/headers/CeladonMansion1F.asm | 3 + data/maps/headers/CeladonMansion2F.asm | 3 + data/maps/headers/CeladonMansion3F.asm | 3 + data/maps/headers/CeladonMansionRoof.asm | 3 + data/maps/headers/CeladonMansionRoofHouse.asm | 3 + data/maps/headers/CeladonMart1F.asm | 3 + data/maps/headers/CeladonMart2F.asm | 3 + data/maps/headers/CeladonMart3F.asm | 3 + data/maps/headers/CeladonMart4F.asm | 3 + data/maps/headers/CeladonMart5F.asm | 3 + data/maps/headers/CeladonMartElevator.asm | 3 + data/maps/headers/CeladonMartRoof.asm | 3 + data/maps/headers/CeladonPokecenter.asm | 3 + data/maps/headers/CeruleanBadgeHouse.asm | 3 + data/maps/headers/CeruleanCave1F.asm | 3 + data/maps/headers/CeruleanCave2F.asm | 3 + data/maps/headers/CeruleanCaveB1F.asm | 3 + data/maps/headers/CeruleanCity.asm | 7 + data/maps/headers/CeruleanGym.asm | 3 + data/maps/headers/CeruleanMart.asm | 3 + data/maps/headers/CeruleanPokecenter.asm | 3 + data/maps/headers/CeruleanTradeHouse.asm | 3 + data/maps/headers/CeruleanTrashedHouse.asm | 3 + data/maps/headers/ChampionsRoom.asm | 3 + data/maps/headers/CinnabarGym.asm | 3 + data/maps/headers/CinnabarIsland.asm | 5 + data/maps/headers/CinnabarLab.asm | 3 + data/maps/headers/CinnabarLabFossilRoom.asm | 3 + data/maps/headers/CinnabarLabMetronomeRoom.asm | 3 + data/maps/headers/CinnabarLabTradeRoom.asm | 3 + data/maps/headers/CinnabarMart.asm | 3 + data/maps/headers/CinnabarPokecenter.asm | 3 + data/maps/headers/Colosseum.asm | 3 + data/maps/headers/CopycatsHouse1F.asm | 3 + data/maps/headers/CopycatsHouse2F.asm | 3 + data/maps/headers/Daycare.asm | 3 + data/maps/headers/DiglettsCave.asm | 3 + data/maps/headers/DiglettsCaveRoute11.asm | 3 + data/maps/headers/DiglettsCaveRoute2.asm | 3 + data/maps/headers/FightingDojo.asm | 3 + data/maps/headers/FuchsiaBillsGrandpasHouse.asm | 3 + data/maps/headers/FuchsiaCity.asm | 6 + data/maps/headers/FuchsiaGoodRodHouse.asm | 3 + data/maps/headers/FuchsiaGym.asm | 3 + data/maps/headers/FuchsiaMart.asm | 3 + data/maps/headers/FuchsiaMeetingRoom.asm | 3 + data/maps/headers/FuchsiaPokecenter.asm | 3 + data/maps/headers/GameCorner.asm | 3 + data/maps/headers/GameCornerPrizeRoom.asm | 3 + data/maps/headers/HallOfFame.asm | 3 + data/maps/headers/IndigoPlateau.asm | 4 + data/maps/headers/IndigoPlateauLobby.asm | 3 + data/maps/headers/LancesRoom.asm | 3 + data/maps/headers/LavenderCuboneHouse.asm | 3 + data/maps/headers/LavenderMart.asm | 3 + data/maps/headers/LavenderPokecenter.asm | 3 + data/maps/headers/LavenderTown.asm | 6 + data/maps/headers/LoreleisRoom.asm | 3 + data/maps/headers/MrFujisHouse.asm | 3 + data/maps/headers/MrPsychicsHouse.asm | 3 + data/maps/headers/MtMoon1F.asm | 3 + data/maps/headers/MtMoonB1F.asm | 3 + data/maps/headers/MtMoonB2F.asm | 3 + data/maps/headers/MtMoonPokecenter.asm | 3 + data/maps/headers/Museum1F.asm | 3 + data/maps/headers/Museum2F.asm | 3 + data/maps/headers/NameRatersHouse.asm | 3 + data/maps/headers/OaksLab.asm | 3 + data/maps/headers/PalletTown.asm | 5 + data/maps/headers/PewterCity.asm | 5 + data/maps/headers/PewterGym.asm | 3 + data/maps/headers/PewterMart.asm | 3 + data/maps/headers/PewterNidoranHouse.asm | 3 + data/maps/headers/PewterPokecenter.asm | 3 + data/maps/headers/PewterSpeechHouse.asm | 3 + data/maps/headers/PokemonFanClub.asm | 3 + data/maps/headers/PokemonMansion1F.asm | 3 + data/maps/headers/PokemonMansion2F.asm | 3 + data/maps/headers/PokemonMansion3F.asm | 3 + data/maps/headers/PokemonMansionB1F.asm | 3 + data/maps/headers/PokemonTower1F.asm | 3 + data/maps/headers/PokemonTower2F.asm | 3 + data/maps/headers/PokemonTower3F.asm | 3 + data/maps/headers/PokemonTower4F.asm | 3 + data/maps/headers/PokemonTower5F.asm | 3 + data/maps/headers/PokemonTower6F.asm | 3 + data/maps/headers/PokemonTower7F.asm | 3 + data/maps/headers/PowerPlant.asm | 3 + data/maps/headers/RedsHouse1F.asm | 3 + data/maps/headers/RedsHouse2F.asm | 3 + data/maps/headers/RockTunnel1F.asm | 3 + data/maps/headers/RockTunnelB1F.asm | 3 + data/maps/headers/RockTunnelPokecenter.asm | 3 + data/maps/headers/RocketHideoutB1F.asm | 3 + data/maps/headers/RocketHideoutB2F.asm | 3 + data/maps/headers/RocketHideoutB3F.asm | 3 + data/maps/headers/RocketHideoutB4F.asm | 3 + data/maps/headers/RocketHideoutElevator.asm | 3 + data/maps/headers/Route1.asm | 5 + data/maps/headers/Route10.asm | 5 + data/maps/headers/Route11.asm | 5 + data/maps/headers/Route11Gate1F.asm | 3 + data/maps/headers/Route11Gate2F.asm | 3 + data/maps/headers/Route12.asm | 6 + data/maps/headers/Route12Gate1F.asm | 3 + data/maps/headers/Route12Gate2F.asm | 3 + data/maps/headers/Route12SuperRodHouse.asm | 3 + data/maps/headers/Route13.asm | 5 + data/maps/headers/Route14.asm | 5 + data/maps/headers/Route15.asm | 5 + data/maps/headers/Route15Gate1F.asm | 3 + data/maps/headers/Route15Gate2F.asm | 3 + data/maps/headers/Route16.asm | 5 + data/maps/headers/Route16FlyHouse.asm | 3 + data/maps/headers/Route16Gate1F.asm | 3 + data/maps/headers/Route16Gate2F.asm | 3 + data/maps/headers/Route17.asm | 5 + data/maps/headers/Route18.asm | 5 + data/maps/headers/Route18Gate1F.asm | 3 + data/maps/headers/Route18Gate2F.asm | 3 + data/maps/headers/Route19.asm | 5 + data/maps/headers/Route2.asm | 5 + data/maps/headers/Route20.asm | 5 + data/maps/headers/Route21.asm | 5 + data/maps/headers/Route22.asm | 5 + data/maps/headers/Route22Gate.asm | 3 + data/maps/headers/Route23.asm | 5 + data/maps/headers/Route24.asm | 5 + data/maps/headers/Route25.asm | 4 + data/maps/headers/Route2Gate.asm | 3 + data/maps/headers/Route2TradeHouse.asm | 3 + data/maps/headers/Route3.asm | 5 + data/maps/headers/Route4.asm | 5 + data/maps/headers/Route5.asm | 5 + data/maps/headers/Route5Gate.asm | 3 + data/maps/headers/Route6.asm | 5 + data/maps/headers/Route6Gate.asm | 3 + data/maps/headers/Route7.asm | 5 + data/maps/headers/Route7Gate.asm | 3 + data/maps/headers/Route8.asm | 5 + data/maps/headers/Route8Gate.asm | 3 + data/maps/headers/Route9.asm | 5 + data/maps/headers/SSAnne1F.asm | 3 + data/maps/headers/SSAnne1FRooms.asm | 3 + data/maps/headers/SSAnne2F.asm | 3 + data/maps/headers/SSAnne2FRooms.asm | 3 + data/maps/headers/SSAnne3F.asm | 3 + data/maps/headers/SSAnneB1F.asm | 3 + data/maps/headers/SSAnneB1FRooms.asm | 3 + data/maps/headers/SSAnneBow.asm | 3 + data/maps/headers/SSAnneCaptainsRoom.asm | 3 + data/maps/headers/SSAnneKitchen.asm | 3 + data/maps/headers/SafariZoneCenter.asm | 3 + data/maps/headers/SafariZoneCenterRestHouse.asm | 3 + data/maps/headers/SafariZoneEast.asm | 3 + data/maps/headers/SafariZoneEastRestHouse.asm | 3 + data/maps/headers/SafariZoneGate.asm | 3 + data/maps/headers/SafariZoneNorth.asm | 3 + data/maps/headers/SafariZoneNorthRestHouse.asm | 3 + data/maps/headers/SafariZoneSecretHouse.asm | 3 + data/maps/headers/SafariZoneWest.asm | 3 + data/maps/headers/SafariZoneWestRestHouse.asm | 3 + data/maps/headers/SaffronCity.asm | 7 + data/maps/headers/SaffronGym.asm | 3 + data/maps/headers/SaffronMart.asm | 3 + data/maps/headers/SaffronPidgeyHouse.asm | 3 + data/maps/headers/SaffronPokecenter.asm | 3 + data/maps/headers/SeafoamIslands1F.asm | 3 + data/maps/headers/SeafoamIslandsB1F.asm | 3 + data/maps/headers/SeafoamIslandsB2F.asm | 3 + data/maps/headers/SeafoamIslandsB3F.asm | 3 + data/maps/headers/SeafoamIslandsB4F.asm | 3 + data/maps/headers/SilphCo10F.asm | 3 + data/maps/headers/SilphCo11F.asm | 3 + data/maps/headers/SilphCo1F.asm | 3 + data/maps/headers/SilphCo2F.asm | 3 + data/maps/headers/SilphCo3F.asm | 3 + data/maps/headers/SilphCo4F.asm | 3 + data/maps/headers/SilphCo5F.asm | 3 + data/maps/headers/SilphCo6F.asm | 3 + data/maps/headers/SilphCo7F.asm | 3 + data/maps/headers/SilphCo8F.asm | 3 + data/maps/headers/SilphCo9F.asm | 3 + data/maps/headers/SilphCoElevator.asm | 3 + data/maps/headers/TradeCenter.asm | 3 + data/maps/headers/UndergroundPathNorthSouth.asm | 3 + data/maps/headers/UndergroundPathRoute5.asm | 3 + data/maps/headers/UndergroundPathRoute6.asm | 3 + data/maps/headers/UndergroundPathRoute7.asm | 3 + data/maps/headers/UndergroundPathRoute7Copy.asm | 3 + data/maps/headers/UndergroundPathRoute8.asm | 3 + data/maps/headers/UndergroundPathWestEast.asm | 3 + data/maps/headers/VermilionCity.asm | 5 + data/maps/headers/VermilionDock.asm | 3 + data/maps/headers/VermilionGym.asm | 3 + data/maps/headers/VermilionMart.asm | 3 + data/maps/headers/VermilionOldRodHouse.asm | 3 + data/maps/headers/VermilionPidgeyHouse.asm | 3 + data/maps/headers/VermilionPokecenter.asm | 3 + data/maps/headers/VermilionTradeHouse.asm | 3 + data/maps/headers/VictoryRoad1F.asm | 3 + data/maps/headers/VictoryRoad2F.asm | 3 + data/maps/headers/VictoryRoad3F.asm | 3 + data/maps/headers/ViridianCity.asm | 6 + data/maps/headers/ViridianForest.asm | 3 + data/maps/headers/ViridianForestNorthGate.asm | 3 + data/maps/headers/ViridianForestSouthGate.asm | 3 + data/maps/headers/ViridianGym.asm | 3 + data/maps/headers/ViridianMart.asm | 3 + data/maps/headers/ViridianNicknameHouse.asm | 3 + data/maps/headers/ViridianPokecenter.asm | 3 + data/maps/headers/ViridianSchoolHouse.asm | 3 + data/maps/headers/WardensHouse.asm | 3 + data/maps/objects/AgathasRoom.asm | 19 + data/maps/objects/BikeShop.asm | 17 + data/maps/objects/BillsHouse.asm | 17 + data/maps/objects/BluesHouse.asm | 17 + data/maps/objects/BrunosRoom.asm | 19 + data/maps/objects/CeladonChiefHouse.asm | 17 + data/maps/objects/CeladonCity.asm | 54 ++ data/maps/objects/CeladonDiner.asm | 19 + data/maps/objects/CeladonGym.asm | 22 + data/maps/objects/CeladonHotel.asm | 17 + data/maps/objects/CeladonMansion1F.asm | 25 + data/maps/objects/CeladonMansion2F.asm | 19 + data/maps/objects/CeladonMansion3F.asm | 26 + data/maps/objects/CeladonMansionRoof.asm | 17 + data/maps/objects/CeladonMansionRoofHouse.asm | 16 + data/maps/objects/CeladonMart1F.asm | 25 + data/maps/objects/CeladonMart2F.asm | 21 + data/maps/objects/CeladonMart3F.asm | 33 + data/maps/objects/CeladonMart4F.asm | 20 + data/maps/objects/CeladonMart5F.asm | 21 + data/maps/objects/CeladonMartElevator.asm | 15 + data/maps/objects/CeladonMartRoof.asm | 18 + data/maps/objects/CeladonPokecenter.asm | 18 + data/maps/objects/CeruleanBadgeHouse.asm | 17 + data/maps/objects/CeruleanCave1F.asm | 31 + data/maps/objects/CeruleanCave2F.asm | 25 + data/maps/objects/CeruleanCaveB1F.asm | 15 + data/maps/objects/CeruleanCity.asm | 47 ++ data/maps/objects/CeruleanGym.asm | 18 + data/maps/objects/CeruleanMart.asm | 17 + data/maps/objects/CeruleanPokecenter.asm | 18 + data/maps/objects/CeruleanTradeHouse.asm | 16 + data/maps/objects/CeruleanTrashedHouse.asm | 19 + data/maps/objects/ChampionsRoom.asm | 20 + data/maps/objects/CinnabarGym.asm | 23 + data/maps/objects/CinnabarIsland.asm | 27 + data/maps/objects/CinnabarLab.asm | 25 + data/maps/objects/CinnabarLabFossilRoom.asm | 16 + data/maps/objects/CinnabarLabMetronomeRoom.asm | 19 + data/maps/objects/CinnabarLabTradeRoom.asm | 17 + data/maps/objects/CinnabarMart.asm | 17 + data/maps/objects/CinnabarPokecenter.asm | 18 + data/maps/objects/Colosseum.asm | 9 + data/maps/objects/CopycatsHouse1F.asm | 19 + data/maps/objects/CopycatsHouse2F.asm | 19 + data/maps/objects/Daycare.asm | 15 + data/maps/objects/DiglettsCave.asm | 14 + data/maps/objects/DiglettsCaveRoute11.asm | 17 + data/maps/objects/DiglettsCaveRoute2.asm | 17 + data/maps/objects/FightingDojo.asm | 21 + data/maps/objects/FuchsiaBillsGrandpasHouse.asm | 17 + data/maps/objects/FuchsiaCity.asm | 52 ++ data/maps/objects/FuchsiaGoodRodHouse.asm | 17 + data/maps/objects/FuchsiaGym.asm | 22 + data/maps/objects/FuchsiaMart.asm | 17 + data/maps/objects/FuchsiaMeetingRoom.asm | 17 + data/maps/objects/FuchsiaPokecenter.asm | 18 + data/maps/objects/GameCorner.asm | 28 + data/maps/objects/GameCornerPrizeRoom.asm | 19 + data/maps/objects/HallOfFame.asm | 15 + data/maps/objects/IndigoPlateau.asm | 14 + data/maps/objects/IndigoPlateauLobby.asm | 21 + data/maps/objects/LancesRoom.asm | 17 + data/maps/objects/LavenderCuboneHouse.asm | 16 + data/maps/objects/LavenderMart.asm | 17 + data/maps/objects/LavenderPokecenter.asm | 18 + data/maps/objects/LavenderTown.asm | 31 + data/maps/objects/LoreleisRoom.asm | 19 + data/maps/objects/MrFujisHouse.asm | 20 + data/maps/objects/MrPsychicsHouse.asm | 15 + data/maps/objects/MtMoon1F.asm | 34 + data/maps/objects/MtMoonB1F.asm | 26 + data/maps/objects/MtMoonB2F.asm | 27 + data/maps/objects/MtMoonPokecenter.asm | 20 + data/maps/objects/Museum1F.asm | 25 + data/maps/objects/Museum2F.asm | 19 + data/maps/objects/NameRatersHouse.asm | 15 + data/maps/objects/OaksLab.asm | 25 + data/maps/objects/PalletTown.asm | 23 + data/maps/objects/PewterCity.asm | 36 + data/maps/objects/PewterGym.asm | 17 + data/maps/objects/PewterMart.asm | 17 + data/maps/objects/PewterNidoranHouse.asm | 17 + data/maps/objects/PewterPokecenter.asm | 18 + data/maps/objects/PewterSpeechHouse.asm | 16 + data/maps/objects/PokemonFanClub.asm | 22 + data/maps/objects/PokemonMansion1F.asm | 29 + data/maps/objects/PokemonMansion2F.asm | 22 + data/maps/objects/PokemonMansion3F.asm | 21 + data/maps/objects/PokemonMansionB1F.asm | 20 + data/maps/objects/PokemonTower1F.asm | 21 + data/maps/objects/PokemonTower2F.asm | 16 + data/maps/objects/PokemonTower3F.asm | 18 + data/maps/objects/PokemonTower4F.asm | 20 + data/maps/objects/PokemonTower5F.asm | 20 + data/maps/objects/PokemonTower6F.asm | 19 + data/maps/objects/PokemonTower7F.asm | 16 + data/maps/objects/PowerPlant.asm | 30 + data/maps/objects/RedsHouse1F.asm | 18 + data/maps/objects/RedsHouse2F.asm | 12 + data/maps/objects/RockTunnel1F.asm | 34 + data/maps/objects/RockTunnelB1F.asm | 26 + data/maps/objects/RockTunnelPokecenter.asm | 18 + data/maps/objects/RocketHideoutB1F.asm | 27 + data/maps/objects/RocketHideoutB2F.asm | 25 + data/maps/objects/RocketHideoutB3F.asm | 18 + data/maps/objects/RocketHideoutB4F.asm | 25 + data/maps/objects/RocketHideoutElevator.asm | 15 + data/maps/objects/Route1.asm | 14 + data/maps/objects/Route10.asm | 28 + data/maps/objects/Route11.asm | 31 + data/maps/objects/Route11Gate1F.asm | 21 + data/maps/objects/Route11Gate2F.asm | 16 + data/maps/objects/Route12.asm | 30 + data/maps/objects/Route12Gate1F.asm | 21 + data/maps/objects/Route12Gate2F.asm | 15 + data/maps/objects/Route12SuperRodHouse.asm | 15 + data/maps/objects/Route13.asm | 21 + data/maps/objects/Route14.asm | 19 + data/maps/objects/Route15.asm | 30 + data/maps/objects/Route15Gate1F.asm | 21 + data/maps/objects/Route15Gate2F.asm | 14 + data/maps/objects/Route16.asm | 37 + data/maps/objects/Route16FlyHouse.asm | 16 + data/maps/objects/Route16Gate1F.asm | 30 + data/maps/objects/Route16Gate2F.asm | 16 + data/maps/objects/Route17.asm | 24 + data/maps/objects/Route18.asm | 23 + data/maps/objects/Route18Gate1F.asm | 21 + data/maps/objects/Route18Gate2F.asm | 15 + data/maps/objects/Route19.asm | 21 + data/maps/objects/Route2.asm | 33 + data/maps/objects/Route20.asm | 26 + data/maps/objects/Route21.asm | 17 + data/maps/objects/Route22.asm | 15 + data/maps/objects/Route22Gate.asm | 19 + data/maps/objects/Route23.asm | 26 + data/maps/objects/Route24.asm | 16 + data/maps/objects/Route25.asm | 23 + data/maps/objects/Route2Gate.asm | 20 + data/maps/objects/Route2TradeHouse.asm | 16 + data/maps/objects/Route3.asm | 18 + data/maps/objects/Route4.asm | 22 + data/maps/objects/Route5.asm | 21 + data/maps/objects/Route5Gate.asm | 19 + data/maps/objects/Route6.asm | 25 + data/maps/objects/Route6Gate.asm | 19 + data/maps/objects/Route7.asm | 21 + data/maps/objects/Route7Gate.asm | 19 + data/maps/objects/Route8.asm | 30 + data/maps/objects/Route8Gate.asm | 19 + data/maps/objects/Route9.asm | 19 + data/maps/objects/SSAnne1F.asm | 34 + data/maps/objects/SSAnne1FRooms.asm | 33 + data/maps/objects/SSAnne2F.asm | 30 + data/maps/objects/SSAnne2FRooms.asm | 47 ++ data/maps/objects/SSAnne3F.asm | 15 + data/maps/objects/SSAnneB1F.asm | 22 + data/maps/objects/SSAnneB1FRooms.asm | 41 ++ data/maps/objects/SSAnneBow.asm | 19 + data/maps/objects/SSAnneCaptainsRoom.asm | 15 + data/maps/objects/SSAnneKitchen.asm | 19 + data/maps/objects/SafariZoneCenter.asm | 31 + data/maps/objects/SafariZoneCenterRestHouse.asm | 16 + data/maps/objects/SafariZoneEast.asm | 27 + data/maps/objects/SafariZoneEastRestHouse.asm | 17 + data/maps/objects/SafariZoneGate.asm | 20 + data/maps/objects/SafariZoneNorth.asm | 35 + data/maps/objects/SafariZoneNorthRestHouse.asm | 17 + data/maps/objects/SafariZoneSecretHouse.asm | 15 + data/maps/objects/SafariZoneWest.asm | 34 + data/maps/objects/SafariZoneWestRestHouse.asm | 17 + data/maps/objects/SaffronCity.asm | 51 ++ data/maps/objects/SaffronGym.asm | 83 +++ data/maps/objects/SaffronMart.asm | 17 + data/maps/objects/SaffronPidgeyHouse.asm | 18 + data/maps/objects/SaffronPokecenter.asm | 18 + data/maps/objects/SeafoamIslands1F.asm | 30 + data/maps/objects/SeafoamIslandsB1F.asm | 26 + data/maps/objects/SeafoamIslandsB2F.asm | 26 + data/maps/objects/SeafoamIslandsB3F.asm | 30 + data/maps/objects/SeafoamIslandsB4F.asm | 23 + data/maps/objects/SilphCo10F.asm | 28 + data/maps/objects/SilphCo11F.asm | 23 + data/maps/objects/SilphCo1F.asm | 21 + data/maps/objects/SilphCo2F.asm | 29 + data/maps/objects/SilphCo3F.asm | 34 + data/maps/objects/SilphCo4F.asm | 31 + data/maps/objects/SilphCo5F.asm | 35 + data/maps/objects/SilphCo6F.asm | 30 + data/maps/objects/SilphCo7F.asm | 33 + data/maps/objects/SilphCo8F.asm | 28 + data/maps/objects/SilphCo9F.asm | 24 + data/maps/objects/SilphCoElevator.asm | 15 + data/maps/objects/TradeCenter.asm | 9 + data/maps/objects/UndergroundPathNorthSouth.asm | 14 + data/maps/objects/UndergroundPathRoute5.asm | 17 + data/maps/objects/UndergroundPathRoute6.asm | 17 + data/maps/objects/UndergroundPathRoute7.asm | 17 + data/maps/objects/UndergroundPathRoute7Copy.asm | 18 + data/maps/objects/UndergroundPathRoute8.asm | 17 + data/maps/objects/UndergroundPathWestEast.asm | 14 + data/maps/objects/VermilionCity.asm | 41 ++ data/maps/objects/VermilionDock.asm | 14 + data/maps/objects/VermilionGym.asm | 19 + data/maps/objects/VermilionMart.asm | 17 + data/maps/objects/VermilionOldRodHouse.asm | 15 + data/maps/objects/VermilionPidgeyHouse.asm | 17 + data/maps/objects/VermilionPokecenter.asm | 18 + data/maps/objects/VermilionTradeHouse.asm | 15 + data/maps/objects/VictoryRoad1F.asm | 23 + data/maps/objects/VictoryRoad2F.asm | 37 + data/maps/objects/VictoryRoad3F.asm | 28 + data/maps/objects/ViridianCity.asm | 33 + data/maps/objects/ViridianForest.asm | 36 + data/maps/objects/ViridianForestNorthGate.asm | 20 + data/maps/objects/ViridianForestSouthGate.asm | 20 + data/maps/objects/ViridianGym.asm | 25 + data/maps/objects/ViridianMart.asm | 17 + data/maps/objects/ViridianNicknameHouse.asm | 18 + data/maps/objects/ViridianPokecenter.asm | 18 + data/maps/objects/ViridianSchoolHouse.asm | 16 + data/maps/objects/WardensHouse.asm | 19 + maps.asm | 892 ++++++++++++------------ 893 files changed, 6146 insertions(+), 6146 deletions(-) delete mode 100755 data/mapHeaders/AgathasRoom.asm delete mode 100755 data/mapHeaders/BikeShop.asm delete mode 100755 data/mapHeaders/BillsHouse.asm delete mode 100755 data/mapHeaders/BluesHouse.asm delete mode 100755 data/mapHeaders/BrunosRoom.asm delete mode 100755 data/mapHeaders/CeladonChiefHouse.asm delete mode 100755 data/mapHeaders/CeladonCity.asm delete mode 100755 data/mapHeaders/CeladonDiner.asm delete mode 100755 data/mapHeaders/CeladonGym.asm delete mode 100755 data/mapHeaders/CeladonHotel.asm delete mode 100755 data/mapHeaders/CeladonMansion1F.asm delete mode 100755 data/mapHeaders/CeladonMansion2F.asm delete mode 100755 data/mapHeaders/CeladonMansion3F.asm delete mode 100755 data/mapHeaders/CeladonMansionRoof.asm delete mode 100755 data/mapHeaders/CeladonMansionRoofHouse.asm delete mode 100755 data/mapHeaders/CeladonMart1F.asm delete mode 100755 data/mapHeaders/CeladonMart2F.asm delete mode 100755 data/mapHeaders/CeladonMart3F.asm delete mode 100755 data/mapHeaders/CeladonMart4F.asm delete mode 100755 data/mapHeaders/CeladonMart5F.asm delete mode 100755 data/mapHeaders/CeladonMartElevator.asm delete mode 100755 data/mapHeaders/CeladonMartRoof.asm delete mode 100755 data/mapHeaders/CeladonPokecenter.asm delete mode 100755 data/mapHeaders/CeruleanBadgeHouse.asm delete mode 100755 data/mapHeaders/CeruleanCave1F.asm delete mode 100755 data/mapHeaders/CeruleanCave2F.asm delete mode 100755 data/mapHeaders/CeruleanCaveB1F.asm delete mode 100755 data/mapHeaders/CeruleanCity.asm delete mode 100755 data/mapHeaders/CeruleanGym.asm delete mode 100755 data/mapHeaders/CeruleanMart.asm delete mode 100755 data/mapHeaders/CeruleanPokecenter.asm delete mode 100755 data/mapHeaders/CeruleanTradeHouse.asm delete mode 100755 data/mapHeaders/CeruleanTrashedHouse.asm delete mode 100755 data/mapHeaders/ChampionsRoom.asm delete mode 100755 data/mapHeaders/CinnabarGym.asm delete mode 100755 data/mapHeaders/CinnabarIsland.asm delete mode 100755 data/mapHeaders/CinnabarLab.asm delete mode 100755 data/mapHeaders/CinnabarLabFossilRoom.asm delete mode 100755 data/mapHeaders/CinnabarLabMetronomeRoom.asm delete mode 100755 data/mapHeaders/CinnabarLabTradeRoom.asm delete mode 100755 data/mapHeaders/CinnabarMart.asm delete mode 100755 data/mapHeaders/CinnabarPokecenter.asm delete mode 100755 data/mapHeaders/Colosseum.asm delete mode 100755 data/mapHeaders/CopycatsHouse1F.asm delete mode 100755 data/mapHeaders/CopycatsHouse2F.asm delete mode 100755 data/mapHeaders/Daycare.asm delete mode 100755 data/mapHeaders/DiglettsCave.asm delete mode 100755 data/mapHeaders/DiglettsCaveRoute11.asm delete mode 100755 data/mapHeaders/DiglettsCaveRoute2.asm delete mode 100755 data/mapHeaders/FightingDojo.asm delete mode 100755 data/mapHeaders/FuchsiaBillsGrandpasHouse.asm delete mode 100755 data/mapHeaders/FuchsiaCity.asm delete mode 100755 data/mapHeaders/FuchsiaGoodRodHouse.asm delete mode 100755 data/mapHeaders/FuchsiaGym.asm delete mode 100755 data/mapHeaders/FuchsiaMart.asm delete mode 100755 data/mapHeaders/FuchsiaMeetingRoom.asm delete mode 100755 data/mapHeaders/FuchsiaPokecenter.asm delete mode 100755 data/mapHeaders/GameCorner.asm delete mode 100755 data/mapHeaders/GameCornerPrizeRoom.asm delete mode 100755 data/mapHeaders/HallOfFame.asm delete mode 100755 data/mapHeaders/IndigoPlateau.asm delete mode 100755 data/mapHeaders/IndigoPlateauLobby.asm delete mode 100755 data/mapHeaders/LancesRoom.asm delete mode 100755 data/mapHeaders/LavenderCuboneHouse.asm delete mode 100755 data/mapHeaders/LavenderMart.asm delete mode 100755 data/mapHeaders/LavenderPokecenter.asm delete mode 100755 data/mapHeaders/LavenderTown.asm delete mode 100755 data/mapHeaders/LoreleisRoom.asm delete mode 100755 data/mapHeaders/MrFujisHouse.asm delete mode 100755 data/mapHeaders/MrPsychicsHouse.asm delete mode 100755 data/mapHeaders/MtMoon1F.asm delete mode 100755 data/mapHeaders/MtMoonB1F.asm delete mode 100755 data/mapHeaders/MtMoonB2F.asm delete mode 100755 data/mapHeaders/MtMoonPokecenter.asm delete mode 100755 data/mapHeaders/Museum1F.asm delete mode 100755 data/mapHeaders/Museum2F.asm delete mode 100755 data/mapHeaders/NameRatersHouse.asm delete mode 100755 data/mapHeaders/OaksLab.asm delete mode 100755 data/mapHeaders/PalletTown.asm delete mode 100755 data/mapHeaders/PewterCity.asm delete mode 100755 data/mapHeaders/PewterGym.asm delete mode 100755 data/mapHeaders/PewterMart.asm delete mode 100755 data/mapHeaders/PewterNidoranHouse.asm delete mode 100755 data/mapHeaders/PewterPokecenter.asm delete mode 100755 data/mapHeaders/PewterSpeechHouse.asm delete mode 100755 data/mapHeaders/PokemonFanClub.asm delete mode 100755 data/mapHeaders/PokemonMansion1F.asm delete mode 100755 data/mapHeaders/PokemonMansion2F.asm delete mode 100755 data/mapHeaders/PokemonMansion3F.asm delete mode 100755 data/mapHeaders/PokemonMansionB1F.asm delete mode 100755 data/mapHeaders/PokemonTower1F.asm delete mode 100755 data/mapHeaders/PokemonTower2F.asm delete mode 100755 data/mapHeaders/PokemonTower3F.asm delete mode 100755 data/mapHeaders/PokemonTower4F.asm delete mode 100755 data/mapHeaders/PokemonTower5F.asm delete mode 100755 data/mapHeaders/PokemonTower6F.asm delete mode 100755 data/mapHeaders/PokemonTower7F.asm delete mode 100755 data/mapHeaders/PowerPlant.asm delete mode 100755 data/mapHeaders/RedsHouse1F.asm delete mode 100755 data/mapHeaders/RedsHouse2F.asm delete mode 100755 data/mapHeaders/RockTunnel1F.asm delete mode 100755 data/mapHeaders/RockTunnelB1F.asm delete mode 100755 data/mapHeaders/RockTunnelPokecenter.asm delete mode 100755 data/mapHeaders/RocketHideoutB1F.asm delete mode 100755 data/mapHeaders/RocketHideoutB2F.asm delete mode 100755 data/mapHeaders/RocketHideoutB3F.asm delete mode 100755 data/mapHeaders/RocketHideoutB4F.asm delete mode 100755 data/mapHeaders/RocketHideoutElevator.asm delete mode 100755 data/mapHeaders/Route1.asm delete mode 100755 data/mapHeaders/Route10.asm delete mode 100755 data/mapHeaders/Route11.asm delete mode 100755 data/mapHeaders/Route11Gate1F.asm delete mode 100755 data/mapHeaders/Route11Gate2F.asm delete mode 100755 data/mapHeaders/Route12.asm delete mode 100755 data/mapHeaders/Route12Gate1F.asm delete mode 100755 data/mapHeaders/Route12Gate2F.asm delete mode 100755 data/mapHeaders/Route12SuperRodHouse.asm delete mode 100755 data/mapHeaders/Route13.asm delete mode 100755 data/mapHeaders/Route14.asm delete mode 100755 data/mapHeaders/Route15.asm delete mode 100755 data/mapHeaders/Route15Gate1F.asm delete mode 100755 data/mapHeaders/Route15Gate2F.asm delete mode 100755 data/mapHeaders/Route16.asm delete mode 100755 data/mapHeaders/Route16FlyHouse.asm delete mode 100755 data/mapHeaders/Route16Gate1F.asm delete mode 100755 data/mapHeaders/Route16Gate2F.asm delete mode 100755 data/mapHeaders/Route17.asm delete mode 100755 data/mapHeaders/Route18.asm delete mode 100755 data/mapHeaders/Route18Gate1F.asm delete mode 100755 data/mapHeaders/Route18Gate2F.asm delete mode 100755 data/mapHeaders/Route19.asm delete mode 100755 data/mapHeaders/Route2.asm delete mode 100755 data/mapHeaders/Route20.asm delete mode 100755 data/mapHeaders/Route21.asm delete mode 100755 data/mapHeaders/Route22.asm delete mode 100755 data/mapHeaders/Route22Gate.asm delete mode 100755 data/mapHeaders/Route23.asm delete mode 100755 data/mapHeaders/Route24.asm delete mode 100755 data/mapHeaders/Route25.asm delete mode 100755 data/mapHeaders/Route2Gate.asm delete mode 100755 data/mapHeaders/Route2TradeHouse.asm delete mode 100755 data/mapHeaders/Route3.asm delete mode 100755 data/mapHeaders/Route4.asm delete mode 100755 data/mapHeaders/Route5.asm delete mode 100755 data/mapHeaders/Route5Gate.asm delete mode 100755 data/mapHeaders/Route6.asm delete mode 100755 data/mapHeaders/Route6Gate.asm delete mode 100755 data/mapHeaders/Route7.asm delete mode 100755 data/mapHeaders/Route7Gate.asm delete mode 100755 data/mapHeaders/Route8.asm delete mode 100755 data/mapHeaders/Route8Gate.asm delete mode 100755 data/mapHeaders/Route9.asm delete mode 100755 data/mapHeaders/SSAnne1F.asm delete mode 100755 data/mapHeaders/SSAnne1FRooms.asm delete mode 100755 data/mapHeaders/SSAnne2F.asm delete mode 100755 data/mapHeaders/SSAnne2FRooms.asm delete mode 100755 data/mapHeaders/SSAnne3F.asm delete mode 100755 data/mapHeaders/SSAnneB1F.asm delete mode 100755 data/mapHeaders/SSAnneB1FRooms.asm delete mode 100755 data/mapHeaders/SSAnneBow.asm delete mode 100755 data/mapHeaders/SSAnneCaptainsRoom.asm delete mode 100755 data/mapHeaders/SSAnneKitchen.asm delete mode 100755 data/mapHeaders/SafariZoneCenter.asm delete mode 100755 data/mapHeaders/SafariZoneCenterRestHouse.asm delete mode 100755 data/mapHeaders/SafariZoneEast.asm delete mode 100755 data/mapHeaders/SafariZoneEastRestHouse.asm delete mode 100755 data/mapHeaders/SafariZoneGate.asm delete mode 100755 data/mapHeaders/SafariZoneNorth.asm delete mode 100755 data/mapHeaders/SafariZoneNorthRestHouse.asm delete mode 100755 data/mapHeaders/SafariZoneSecretHouse.asm delete mode 100755 data/mapHeaders/SafariZoneWest.asm delete mode 100755 data/mapHeaders/SafariZoneWestRestHouse.asm delete mode 100755 data/mapHeaders/SaffronCity.asm delete mode 100755 data/mapHeaders/SaffronGym.asm delete mode 100755 data/mapHeaders/SaffronMart.asm delete mode 100755 data/mapHeaders/SaffronPidgeyHouse.asm delete mode 100755 data/mapHeaders/SaffronPokecenter.asm delete mode 100755 data/mapHeaders/SeafoamIslands1F.asm delete mode 100755 data/mapHeaders/SeafoamIslandsB1F.asm delete mode 100755 data/mapHeaders/SeafoamIslandsB2F.asm delete mode 100755 data/mapHeaders/SeafoamIslandsB3F.asm delete mode 100755 data/mapHeaders/SeafoamIslandsB4F.asm delete mode 100755 data/mapHeaders/SilphCo10F.asm delete mode 100755 data/mapHeaders/SilphCo11F.asm delete mode 100755 data/mapHeaders/SilphCo1F.asm delete mode 100755 data/mapHeaders/SilphCo2F.asm delete mode 100755 data/mapHeaders/SilphCo3F.asm delete mode 100755 data/mapHeaders/SilphCo4F.asm delete mode 100755 data/mapHeaders/SilphCo5F.asm delete mode 100755 data/mapHeaders/SilphCo6F.asm delete mode 100755 data/mapHeaders/SilphCo7F.asm delete mode 100755 data/mapHeaders/SilphCo8F.asm delete mode 100755 data/mapHeaders/SilphCo9F.asm delete mode 100755 data/mapHeaders/SilphCoElevator.asm delete mode 100755 data/mapHeaders/TradeCenter.asm delete mode 100755 data/mapHeaders/UndergroundPathNorthSouth.asm delete mode 100755 data/mapHeaders/UndergroundPathRoute5.asm delete mode 100755 data/mapHeaders/UndergroundPathRoute6.asm delete mode 100755 data/mapHeaders/UndergroundPathRoute7.asm delete mode 100755 data/mapHeaders/UndergroundPathRoute7Copy.asm delete mode 100755 data/mapHeaders/UndergroundPathRoute8.asm delete mode 100755 data/mapHeaders/UndergroundPathWestEast.asm delete mode 100755 data/mapHeaders/VermilionCity.asm delete mode 100755 data/mapHeaders/VermilionDock.asm delete mode 100755 data/mapHeaders/VermilionGym.asm delete mode 100755 data/mapHeaders/VermilionMart.asm delete mode 100755 data/mapHeaders/VermilionOldRodHouse.asm delete mode 100755 data/mapHeaders/VermilionPidgeyHouse.asm delete mode 100755 data/mapHeaders/VermilionPokecenter.asm delete mode 100755 data/mapHeaders/VermilionTradeHouse.asm delete mode 100755 data/mapHeaders/VictoryRoad1F.asm delete mode 100755 data/mapHeaders/VictoryRoad2F.asm delete mode 100755 data/mapHeaders/VictoryRoad3F.asm delete mode 100755 data/mapHeaders/ViridianCity.asm delete mode 100755 data/mapHeaders/ViridianForest.asm delete mode 100755 data/mapHeaders/ViridianForestNorthGate.asm delete mode 100755 data/mapHeaders/ViridianForestSouthGate.asm delete mode 100755 data/mapHeaders/ViridianGym.asm delete mode 100755 data/mapHeaders/ViridianMart.asm delete mode 100755 data/mapHeaders/ViridianNicknameHouse.asm delete mode 100755 data/mapHeaders/ViridianPokecenter.asm delete mode 100755 data/mapHeaders/ViridianSchoolHouse.asm delete mode 100755 data/mapHeaders/WardensHouse.asm delete mode 100755 data/mapObjects/AgathasRoom.asm delete mode 100755 data/mapObjects/BikeShop.asm delete mode 100755 data/mapObjects/BillsHouse.asm delete mode 100755 data/mapObjects/BluesHouse.asm delete mode 100755 data/mapObjects/BrunosRoom.asm delete mode 100755 data/mapObjects/CeladonChiefHouse.asm delete mode 100755 data/mapObjects/CeladonCity.asm delete mode 100755 data/mapObjects/CeladonDiner.asm delete mode 100755 data/mapObjects/CeladonGym.asm delete mode 100755 data/mapObjects/CeladonHotel.asm delete mode 100755 data/mapObjects/CeladonMansion1F.asm delete mode 100755 data/mapObjects/CeladonMansion2F.asm delete mode 100755 data/mapObjects/CeladonMansion3F.asm delete mode 100755 data/mapObjects/CeladonMansionRoof.asm delete mode 100755 data/mapObjects/CeladonMansionRoofHouse.asm delete mode 100755 data/mapObjects/CeladonMart1F.asm delete mode 100755 data/mapObjects/CeladonMart2F.asm delete mode 100755 data/mapObjects/CeladonMart3F.asm delete mode 100755 data/mapObjects/CeladonMart4F.asm delete mode 100755 data/mapObjects/CeladonMart5F.asm delete mode 100755 data/mapObjects/CeladonMartElevator.asm delete mode 100755 data/mapObjects/CeladonMartRoof.asm delete mode 100755 data/mapObjects/CeladonPokecenter.asm delete mode 100755 data/mapObjects/CeruleanBadgeHouse.asm delete mode 100755 data/mapObjects/CeruleanCave1F.asm delete mode 100755 data/mapObjects/CeruleanCave2F.asm delete mode 100755 data/mapObjects/CeruleanCaveB1F.asm delete mode 100755 data/mapObjects/CeruleanCity.asm delete mode 100755 data/mapObjects/CeruleanGym.asm delete mode 100755 data/mapObjects/CeruleanMart.asm delete mode 100755 data/mapObjects/CeruleanPokecenter.asm delete mode 100755 data/mapObjects/CeruleanTradeHouse.asm delete mode 100755 data/mapObjects/CeruleanTrashedHouse.asm delete mode 100755 data/mapObjects/ChampionsRoom.asm delete mode 100755 data/mapObjects/CinnabarGym.asm delete mode 100755 data/mapObjects/CinnabarIsland.asm delete mode 100755 data/mapObjects/CinnabarLab.asm delete mode 100755 data/mapObjects/CinnabarLabFossilRoom.asm delete mode 100755 data/mapObjects/CinnabarLabMetronomeRoom.asm delete mode 100755 data/mapObjects/CinnabarLabTradeRoom.asm delete mode 100755 data/mapObjects/CinnabarMart.asm delete mode 100755 data/mapObjects/CinnabarPokecenter.asm delete mode 100755 data/mapObjects/Colosseum.asm delete mode 100755 data/mapObjects/CopycatsHouse1F.asm delete mode 100755 data/mapObjects/CopycatsHouse2F.asm delete mode 100755 data/mapObjects/Daycare.asm delete mode 100755 data/mapObjects/DiglettsCave.asm delete mode 100755 data/mapObjects/DiglettsCaveRoute11.asm delete mode 100755 data/mapObjects/DiglettsCaveRoute2.asm delete mode 100755 data/mapObjects/FightingDojo.asm delete mode 100755 data/mapObjects/FuchsiaBillsGrandpasHouse.asm delete mode 100755 data/mapObjects/FuchsiaCity.asm delete mode 100755 data/mapObjects/FuchsiaGoodRodHouse.asm delete mode 100755 data/mapObjects/FuchsiaGym.asm delete mode 100755 data/mapObjects/FuchsiaMart.asm delete mode 100755 data/mapObjects/FuchsiaMeetingRoom.asm delete mode 100755 data/mapObjects/FuchsiaPokecenter.asm delete mode 100755 data/mapObjects/GameCorner.asm delete mode 100755 data/mapObjects/GameCornerPrizeRoom.asm delete mode 100755 data/mapObjects/HallOfFame.asm delete mode 100755 data/mapObjects/IndigoPlateau.asm delete mode 100755 data/mapObjects/IndigoPlateauLobby.asm delete mode 100755 data/mapObjects/LancesRoom.asm delete mode 100755 data/mapObjects/LavenderCuboneHouse.asm delete mode 100755 data/mapObjects/LavenderMart.asm delete mode 100755 data/mapObjects/LavenderPokecenter.asm delete mode 100755 data/mapObjects/LavenderTown.asm delete mode 100755 data/mapObjects/LoreleisRoom.asm delete mode 100755 data/mapObjects/MrFujisHouse.asm delete mode 100755 data/mapObjects/MrPsychicsHouse.asm delete mode 100755 data/mapObjects/MtMoon1F.asm delete mode 100755 data/mapObjects/MtMoonB1F.asm delete mode 100755 data/mapObjects/MtMoonB2F.asm delete mode 100755 data/mapObjects/MtMoonPokecenter.asm delete mode 100755 data/mapObjects/Museum1F.asm delete mode 100755 data/mapObjects/Museum2F.asm delete mode 100755 data/mapObjects/NameRatersHouse.asm delete mode 100755 data/mapObjects/OaksLab.asm delete mode 100755 data/mapObjects/PalletTown.asm delete mode 100755 data/mapObjects/PewterCity.asm delete mode 100755 data/mapObjects/PewterGym.asm delete mode 100755 data/mapObjects/PewterMart.asm delete mode 100755 data/mapObjects/PewterNidoranHouse.asm delete mode 100755 data/mapObjects/PewterPokecenter.asm delete mode 100755 data/mapObjects/PewterSpeechHouse.asm delete mode 100755 data/mapObjects/PokemonFanClub.asm delete mode 100755 data/mapObjects/PokemonMansion1F.asm delete mode 100755 data/mapObjects/PokemonMansion2F.asm delete mode 100755 data/mapObjects/PokemonMansion3F.asm delete mode 100755 data/mapObjects/PokemonMansionB1F.asm delete mode 100755 data/mapObjects/PokemonTower1F.asm delete mode 100755 data/mapObjects/PokemonTower2F.asm delete mode 100755 data/mapObjects/PokemonTower3F.asm delete mode 100755 data/mapObjects/PokemonTower4F.asm delete mode 100755 data/mapObjects/PokemonTower5F.asm delete mode 100755 data/mapObjects/PokemonTower6F.asm delete mode 100755 data/mapObjects/PokemonTower7F.asm delete mode 100755 data/mapObjects/PowerPlant.asm delete mode 100755 data/mapObjects/RedsHouse1F.asm delete mode 100755 data/mapObjects/RedsHouse2F.asm delete mode 100755 data/mapObjects/RockTunnel1F.asm delete mode 100755 data/mapObjects/RockTunnelB1F.asm delete mode 100755 data/mapObjects/RockTunnelPokecenter.asm delete mode 100755 data/mapObjects/RocketHideoutB1F.asm delete mode 100755 data/mapObjects/RocketHideoutB2F.asm delete mode 100755 data/mapObjects/RocketHideoutB3F.asm delete mode 100755 data/mapObjects/RocketHideoutB4F.asm delete mode 100755 data/mapObjects/RocketHideoutElevator.asm delete mode 100755 data/mapObjects/Route1.asm delete mode 100755 data/mapObjects/Route10.asm delete mode 100755 data/mapObjects/Route11.asm delete mode 100755 data/mapObjects/Route11Gate1F.asm delete mode 100755 data/mapObjects/Route11Gate2F.asm delete mode 100755 data/mapObjects/Route12.asm delete mode 100755 data/mapObjects/Route12Gate1F.asm delete mode 100755 data/mapObjects/Route12Gate2F.asm delete mode 100755 data/mapObjects/Route12SuperRodHouse.asm delete mode 100755 data/mapObjects/Route13.asm delete mode 100755 data/mapObjects/Route14.asm delete mode 100755 data/mapObjects/Route15.asm delete mode 100755 data/mapObjects/Route15Gate1F.asm delete mode 100755 data/mapObjects/Route15Gate2F.asm delete mode 100755 data/mapObjects/Route16.asm delete mode 100755 data/mapObjects/Route16FlyHouse.asm delete mode 100755 data/mapObjects/Route16Gate1F.asm delete mode 100755 data/mapObjects/Route16Gate2F.asm delete mode 100755 data/mapObjects/Route17.asm delete mode 100755 data/mapObjects/Route18.asm delete mode 100755 data/mapObjects/Route18Gate1F.asm delete mode 100755 data/mapObjects/Route18Gate2F.asm delete mode 100755 data/mapObjects/Route19.asm delete mode 100755 data/mapObjects/Route2.asm delete mode 100755 data/mapObjects/Route20.asm delete mode 100755 data/mapObjects/Route21.asm delete mode 100755 data/mapObjects/Route22.asm delete mode 100755 data/mapObjects/Route22Gate.asm delete mode 100755 data/mapObjects/Route23.asm delete mode 100755 data/mapObjects/Route24.asm delete mode 100755 data/mapObjects/Route25.asm delete mode 100755 data/mapObjects/Route2Gate.asm delete mode 100755 data/mapObjects/Route2TradeHouse.asm delete mode 100755 data/mapObjects/Route3.asm delete mode 100755 data/mapObjects/Route4.asm delete mode 100755 data/mapObjects/Route5.asm delete mode 100755 data/mapObjects/Route5Gate.asm delete mode 100755 data/mapObjects/Route6.asm delete mode 100755 data/mapObjects/Route6Gate.asm delete mode 100755 data/mapObjects/Route7.asm delete mode 100755 data/mapObjects/Route7Gate.asm delete mode 100755 data/mapObjects/Route8.asm delete mode 100755 data/mapObjects/Route8Gate.asm delete mode 100755 data/mapObjects/Route9.asm delete mode 100755 data/mapObjects/SSAnne1F.asm delete mode 100755 data/mapObjects/SSAnne1FRooms.asm delete mode 100755 data/mapObjects/SSAnne2F.asm delete mode 100755 data/mapObjects/SSAnne2FRooms.asm delete mode 100755 data/mapObjects/SSAnne3F.asm delete mode 100755 data/mapObjects/SSAnneB1F.asm delete mode 100755 data/mapObjects/SSAnneB1FRooms.asm delete mode 100755 data/mapObjects/SSAnneBow.asm delete mode 100755 data/mapObjects/SSAnneCaptainsRoom.asm delete mode 100755 data/mapObjects/SSAnneKitchen.asm delete mode 100755 data/mapObjects/SafariZoneCenter.asm delete mode 100755 data/mapObjects/SafariZoneCenterRestHouse.asm delete mode 100755 data/mapObjects/SafariZoneEast.asm delete mode 100755 data/mapObjects/SafariZoneEastRestHouse.asm delete mode 100755 data/mapObjects/SafariZoneGate.asm delete mode 100755 data/mapObjects/SafariZoneNorth.asm delete mode 100755 data/mapObjects/SafariZoneNorthRestHouse.asm delete mode 100755 data/mapObjects/SafariZoneSecretHouse.asm delete mode 100755 data/mapObjects/SafariZoneWest.asm delete mode 100755 data/mapObjects/SafariZoneWestRestHouse.asm delete mode 100755 data/mapObjects/SaffronCity.asm delete mode 100755 data/mapObjects/SaffronGym.asm delete mode 100755 data/mapObjects/SaffronMart.asm delete mode 100755 data/mapObjects/SaffronPidgeyHouse.asm delete mode 100755 data/mapObjects/SaffronPokecenter.asm delete mode 100755 data/mapObjects/SeafoamIslands1F.asm delete mode 100755 data/mapObjects/SeafoamIslandsB1F.asm delete mode 100755 data/mapObjects/SeafoamIslandsB2F.asm delete mode 100755 data/mapObjects/SeafoamIslandsB3F.asm delete mode 100755 data/mapObjects/SeafoamIslandsB4F.asm delete mode 100755 data/mapObjects/SilphCo10F.asm delete mode 100755 data/mapObjects/SilphCo11F.asm delete mode 100755 data/mapObjects/SilphCo1F.asm delete mode 100755 data/mapObjects/SilphCo2F.asm delete mode 100755 data/mapObjects/SilphCo3F.asm delete mode 100755 data/mapObjects/SilphCo4F.asm delete mode 100755 data/mapObjects/SilphCo5F.asm delete mode 100755 data/mapObjects/SilphCo6F.asm delete mode 100755 data/mapObjects/SilphCo7F.asm delete mode 100755 data/mapObjects/SilphCo8F.asm delete mode 100755 data/mapObjects/SilphCo9F.asm delete mode 100755 data/mapObjects/SilphCoElevator.asm delete mode 100755 data/mapObjects/TradeCenter.asm delete mode 100755 data/mapObjects/UndergroundPathNorthSouth.asm delete mode 100755 data/mapObjects/UndergroundPathRoute5.asm delete mode 100755 data/mapObjects/UndergroundPathRoute6.asm delete mode 100755 data/mapObjects/UndergroundPathRoute7.asm delete mode 100755 data/mapObjects/UndergroundPathRoute7Copy.asm delete mode 100755 data/mapObjects/UndergroundPathRoute8.asm delete mode 100755 data/mapObjects/UndergroundPathWestEast.asm delete mode 100755 data/mapObjects/VermilionCity.asm delete mode 100755 data/mapObjects/VermilionDock.asm delete mode 100755 data/mapObjects/VermilionGym.asm delete mode 100755 data/mapObjects/VermilionMart.asm delete mode 100755 data/mapObjects/VermilionOldRodHouse.asm delete mode 100755 data/mapObjects/VermilionPidgeyHouse.asm delete mode 100755 data/mapObjects/VermilionPokecenter.asm delete mode 100755 data/mapObjects/VermilionTradeHouse.asm delete mode 100755 data/mapObjects/VictoryRoad1F.asm delete mode 100755 data/mapObjects/VictoryRoad2F.asm delete mode 100755 data/mapObjects/VictoryRoad3F.asm delete mode 100755 data/mapObjects/ViridianCity.asm delete mode 100755 data/mapObjects/ViridianForest.asm delete mode 100755 data/mapObjects/ViridianForestNorthGate.asm delete mode 100755 data/mapObjects/ViridianForestSouthGate.asm delete mode 100755 data/mapObjects/ViridianGym.asm delete mode 100755 data/mapObjects/ViridianMart.asm delete mode 100755 data/mapObjects/ViridianNicknameHouse.asm delete mode 100755 data/mapObjects/ViridianPokecenter.asm delete mode 100755 data/mapObjects/ViridianSchoolHouse.asm delete mode 100755 data/mapObjects/WardensHouse.asm create mode 100755 data/maps/headers/AgathasRoom.asm create mode 100755 data/maps/headers/BikeShop.asm create mode 100755 data/maps/headers/BillsHouse.asm create mode 100755 data/maps/headers/BluesHouse.asm create mode 100755 data/maps/headers/BrunosRoom.asm create mode 100755 data/maps/headers/CeladonChiefHouse.asm create mode 100755 data/maps/headers/CeladonCity.asm create mode 100755 data/maps/headers/CeladonDiner.asm create mode 100755 data/maps/headers/CeladonGym.asm create mode 100755 data/maps/headers/CeladonHotel.asm create mode 100755 data/maps/headers/CeladonMansion1F.asm create mode 100755 data/maps/headers/CeladonMansion2F.asm create mode 100755 data/maps/headers/CeladonMansion3F.asm create mode 100755 data/maps/headers/CeladonMansionRoof.asm create mode 100755 data/maps/headers/CeladonMansionRoofHouse.asm create mode 100755 data/maps/headers/CeladonMart1F.asm create mode 100755 data/maps/headers/CeladonMart2F.asm create mode 100755 data/maps/headers/CeladonMart3F.asm create mode 100755 data/maps/headers/CeladonMart4F.asm create mode 100755 data/maps/headers/CeladonMart5F.asm create mode 100755 data/maps/headers/CeladonMartElevator.asm create mode 100755 data/maps/headers/CeladonMartRoof.asm create mode 100755 data/maps/headers/CeladonPokecenter.asm create mode 100755 data/maps/headers/CeruleanBadgeHouse.asm create mode 100755 data/maps/headers/CeruleanCave1F.asm create mode 100755 data/maps/headers/CeruleanCave2F.asm create mode 100755 data/maps/headers/CeruleanCaveB1F.asm create mode 100755 data/maps/headers/CeruleanCity.asm create mode 100755 data/maps/headers/CeruleanGym.asm create mode 100755 data/maps/headers/CeruleanMart.asm create mode 100755 data/maps/headers/CeruleanPokecenter.asm create mode 100755 data/maps/headers/CeruleanTradeHouse.asm create mode 100755 data/maps/headers/CeruleanTrashedHouse.asm create mode 100755 data/maps/headers/ChampionsRoom.asm create mode 100755 data/maps/headers/CinnabarGym.asm create mode 100755 data/maps/headers/CinnabarIsland.asm create mode 100755 data/maps/headers/CinnabarLab.asm create mode 100755 data/maps/headers/CinnabarLabFossilRoom.asm create mode 100755 data/maps/headers/CinnabarLabMetronomeRoom.asm create mode 100755 data/maps/headers/CinnabarLabTradeRoom.asm create mode 100755 data/maps/headers/CinnabarMart.asm create mode 100755 data/maps/headers/CinnabarPokecenter.asm create mode 100755 data/maps/headers/Colosseum.asm create mode 100755 data/maps/headers/CopycatsHouse1F.asm create mode 100755 data/maps/headers/CopycatsHouse2F.asm create mode 100755 data/maps/headers/Daycare.asm create mode 100755 data/maps/headers/DiglettsCave.asm create mode 100755 data/maps/headers/DiglettsCaveRoute11.asm create mode 100755 data/maps/headers/DiglettsCaveRoute2.asm create mode 100755 data/maps/headers/FightingDojo.asm create mode 100755 data/maps/headers/FuchsiaBillsGrandpasHouse.asm create mode 100755 data/maps/headers/FuchsiaCity.asm create mode 100755 data/maps/headers/FuchsiaGoodRodHouse.asm create mode 100755 data/maps/headers/FuchsiaGym.asm create mode 100755 data/maps/headers/FuchsiaMart.asm create mode 100755 data/maps/headers/FuchsiaMeetingRoom.asm create mode 100755 data/maps/headers/FuchsiaPokecenter.asm create mode 100755 data/maps/headers/GameCorner.asm create mode 100755 data/maps/headers/GameCornerPrizeRoom.asm create mode 100755 data/maps/headers/HallOfFame.asm create mode 100755 data/maps/headers/IndigoPlateau.asm create mode 100755 data/maps/headers/IndigoPlateauLobby.asm create mode 100755 data/maps/headers/LancesRoom.asm create mode 100755 data/maps/headers/LavenderCuboneHouse.asm create mode 100755 data/maps/headers/LavenderMart.asm create mode 100755 data/maps/headers/LavenderPokecenter.asm create mode 100755 data/maps/headers/LavenderTown.asm create mode 100755 data/maps/headers/LoreleisRoom.asm create mode 100755 data/maps/headers/MrFujisHouse.asm create mode 100755 data/maps/headers/MrPsychicsHouse.asm create mode 100755 data/maps/headers/MtMoon1F.asm create mode 100755 data/maps/headers/MtMoonB1F.asm create mode 100755 data/maps/headers/MtMoonB2F.asm create mode 100755 data/maps/headers/MtMoonPokecenter.asm create mode 100755 data/maps/headers/Museum1F.asm create mode 100755 data/maps/headers/Museum2F.asm create mode 100755 data/maps/headers/NameRatersHouse.asm create mode 100755 data/maps/headers/OaksLab.asm create mode 100755 data/maps/headers/PalletTown.asm create mode 100755 data/maps/headers/PewterCity.asm create mode 100755 data/maps/headers/PewterGym.asm create mode 100755 data/maps/headers/PewterMart.asm create mode 100755 data/maps/headers/PewterNidoranHouse.asm create mode 100755 data/maps/headers/PewterPokecenter.asm create mode 100755 data/maps/headers/PewterSpeechHouse.asm create mode 100755 data/maps/headers/PokemonFanClub.asm create mode 100755 data/maps/headers/PokemonMansion1F.asm create mode 100755 data/maps/headers/PokemonMansion2F.asm create mode 100755 data/maps/headers/PokemonMansion3F.asm create mode 100755 data/maps/headers/PokemonMansionB1F.asm create mode 100755 data/maps/headers/PokemonTower1F.asm create mode 100755 data/maps/headers/PokemonTower2F.asm create mode 100755 data/maps/headers/PokemonTower3F.asm create mode 100755 data/maps/headers/PokemonTower4F.asm create mode 100755 data/maps/headers/PokemonTower5F.asm create mode 100755 data/maps/headers/PokemonTower6F.asm create mode 100755 data/maps/headers/PokemonTower7F.asm create mode 100755 data/maps/headers/PowerPlant.asm create mode 100755 data/maps/headers/RedsHouse1F.asm create mode 100755 data/maps/headers/RedsHouse2F.asm create mode 100755 data/maps/headers/RockTunnel1F.asm create mode 100755 data/maps/headers/RockTunnelB1F.asm create mode 100755 data/maps/headers/RockTunnelPokecenter.asm create mode 100755 data/maps/headers/RocketHideoutB1F.asm create mode 100755 data/maps/headers/RocketHideoutB2F.asm create mode 100755 data/maps/headers/RocketHideoutB3F.asm create mode 100755 data/maps/headers/RocketHideoutB4F.asm create mode 100755 data/maps/headers/RocketHideoutElevator.asm create mode 100755 data/maps/headers/Route1.asm create mode 100755 data/maps/headers/Route10.asm create mode 100755 data/maps/headers/Route11.asm create mode 100755 data/maps/headers/Route11Gate1F.asm create mode 100755 data/maps/headers/Route11Gate2F.asm create mode 100755 data/maps/headers/Route12.asm create mode 100755 data/maps/headers/Route12Gate1F.asm create mode 100755 data/maps/headers/Route12Gate2F.asm create mode 100755 data/maps/headers/Route12SuperRodHouse.asm create mode 100755 data/maps/headers/Route13.asm create mode 100755 data/maps/headers/Route14.asm create mode 100755 data/maps/headers/Route15.asm create mode 100755 data/maps/headers/Route15Gate1F.asm create mode 100755 data/maps/headers/Route15Gate2F.asm create mode 100755 data/maps/headers/Route16.asm create mode 100755 data/maps/headers/Route16FlyHouse.asm create mode 100755 data/maps/headers/Route16Gate1F.asm create mode 100755 data/maps/headers/Route16Gate2F.asm create mode 100755 data/maps/headers/Route17.asm create mode 100755 data/maps/headers/Route18.asm create mode 100755 data/maps/headers/Route18Gate1F.asm create mode 100755 data/maps/headers/Route18Gate2F.asm create mode 100755 data/maps/headers/Route19.asm create mode 100755 data/maps/headers/Route2.asm create mode 100755 data/maps/headers/Route20.asm create mode 100755 data/maps/headers/Route21.asm create mode 100755 data/maps/headers/Route22.asm create mode 100755 data/maps/headers/Route22Gate.asm create mode 100755 data/maps/headers/Route23.asm create mode 100755 data/maps/headers/Route24.asm create mode 100755 data/maps/headers/Route25.asm create mode 100755 data/maps/headers/Route2Gate.asm create mode 100755 data/maps/headers/Route2TradeHouse.asm create mode 100755 data/maps/headers/Route3.asm create mode 100755 data/maps/headers/Route4.asm create mode 100755 data/maps/headers/Route5.asm create mode 100755 data/maps/headers/Route5Gate.asm create mode 100755 data/maps/headers/Route6.asm create mode 100755 data/maps/headers/Route6Gate.asm create mode 100755 data/maps/headers/Route7.asm create mode 100755 data/maps/headers/Route7Gate.asm create mode 100755 data/maps/headers/Route8.asm create mode 100755 data/maps/headers/Route8Gate.asm create mode 100755 data/maps/headers/Route9.asm create mode 100755 data/maps/headers/SSAnne1F.asm create mode 100755 data/maps/headers/SSAnne1FRooms.asm create mode 100755 data/maps/headers/SSAnne2F.asm create mode 100755 data/maps/headers/SSAnne2FRooms.asm create mode 100755 data/maps/headers/SSAnne3F.asm create mode 100755 data/maps/headers/SSAnneB1F.asm create mode 100755 data/maps/headers/SSAnneB1FRooms.asm create mode 100755 data/maps/headers/SSAnneBow.asm create mode 100755 data/maps/headers/SSAnneCaptainsRoom.asm create mode 100755 data/maps/headers/SSAnneKitchen.asm create mode 100755 data/maps/headers/SafariZoneCenter.asm create mode 100755 data/maps/headers/SafariZoneCenterRestHouse.asm create mode 100755 data/maps/headers/SafariZoneEast.asm create mode 100755 data/maps/headers/SafariZoneEastRestHouse.asm create mode 100755 data/maps/headers/SafariZoneGate.asm create mode 100755 data/maps/headers/SafariZoneNorth.asm create mode 100755 data/maps/headers/SafariZoneNorthRestHouse.asm create mode 100755 data/maps/headers/SafariZoneSecretHouse.asm create mode 100755 data/maps/headers/SafariZoneWest.asm create mode 100755 data/maps/headers/SafariZoneWestRestHouse.asm create mode 100755 data/maps/headers/SaffronCity.asm create mode 100755 data/maps/headers/SaffronGym.asm create mode 100755 data/maps/headers/SaffronMart.asm create mode 100755 data/maps/headers/SaffronPidgeyHouse.asm create mode 100755 data/maps/headers/SaffronPokecenter.asm create mode 100755 data/maps/headers/SeafoamIslands1F.asm create mode 100755 data/maps/headers/SeafoamIslandsB1F.asm create mode 100755 data/maps/headers/SeafoamIslandsB2F.asm create mode 100755 data/maps/headers/SeafoamIslandsB3F.asm create mode 100755 data/maps/headers/SeafoamIslandsB4F.asm create mode 100755 data/maps/headers/SilphCo10F.asm create mode 100755 data/maps/headers/SilphCo11F.asm create mode 100755 data/maps/headers/SilphCo1F.asm create mode 100755 data/maps/headers/SilphCo2F.asm create mode 100755 data/maps/headers/SilphCo3F.asm create mode 100755 data/maps/headers/SilphCo4F.asm create mode 100755 data/maps/headers/SilphCo5F.asm create mode 100755 data/maps/headers/SilphCo6F.asm create mode 100755 data/maps/headers/SilphCo7F.asm create mode 100755 data/maps/headers/SilphCo8F.asm create mode 100755 data/maps/headers/SilphCo9F.asm create mode 100755 data/maps/headers/SilphCoElevator.asm create mode 100755 data/maps/headers/TradeCenter.asm create mode 100755 data/maps/headers/UndergroundPathNorthSouth.asm create mode 100755 data/maps/headers/UndergroundPathRoute5.asm create mode 100755 data/maps/headers/UndergroundPathRoute6.asm create mode 100755 data/maps/headers/UndergroundPathRoute7.asm create mode 100755 data/maps/headers/UndergroundPathRoute7Copy.asm create mode 100755 data/maps/headers/UndergroundPathRoute8.asm create mode 100755 data/maps/headers/UndergroundPathWestEast.asm create mode 100755 data/maps/headers/VermilionCity.asm create mode 100755 data/maps/headers/VermilionDock.asm create mode 100755 data/maps/headers/VermilionGym.asm create mode 100755 data/maps/headers/VermilionMart.asm create mode 100755 data/maps/headers/VermilionOldRodHouse.asm create mode 100755 data/maps/headers/VermilionPidgeyHouse.asm create mode 100755 data/maps/headers/VermilionPokecenter.asm create mode 100755 data/maps/headers/VermilionTradeHouse.asm create mode 100755 data/maps/headers/VictoryRoad1F.asm create mode 100755 data/maps/headers/VictoryRoad2F.asm create mode 100755 data/maps/headers/VictoryRoad3F.asm create mode 100755 data/maps/headers/ViridianCity.asm create mode 100755 data/maps/headers/ViridianForest.asm create mode 100755 data/maps/headers/ViridianForestNorthGate.asm create mode 100755 data/maps/headers/ViridianForestSouthGate.asm create mode 100755 data/maps/headers/ViridianGym.asm create mode 100755 data/maps/headers/ViridianMart.asm create mode 100755 data/maps/headers/ViridianNicknameHouse.asm create mode 100755 data/maps/headers/ViridianPokecenter.asm create mode 100755 data/maps/headers/ViridianSchoolHouse.asm create mode 100755 data/maps/headers/WardensHouse.asm create mode 100755 data/maps/objects/AgathasRoom.asm create mode 100755 data/maps/objects/BikeShop.asm create mode 100755 data/maps/objects/BillsHouse.asm create mode 100755 data/maps/objects/BluesHouse.asm create mode 100755 data/maps/objects/BrunosRoom.asm create mode 100755 data/maps/objects/CeladonChiefHouse.asm create mode 100755 data/maps/objects/CeladonCity.asm create mode 100755 data/maps/objects/CeladonDiner.asm create mode 100755 data/maps/objects/CeladonGym.asm create mode 100755 data/maps/objects/CeladonHotel.asm create mode 100755 data/maps/objects/CeladonMansion1F.asm create mode 100755 data/maps/objects/CeladonMansion2F.asm create mode 100755 data/maps/objects/CeladonMansion3F.asm create mode 100755 data/maps/objects/CeladonMansionRoof.asm create mode 100755 data/maps/objects/CeladonMansionRoofHouse.asm create mode 100755 data/maps/objects/CeladonMart1F.asm create mode 100755 data/maps/objects/CeladonMart2F.asm create mode 100755 data/maps/objects/CeladonMart3F.asm create mode 100755 data/maps/objects/CeladonMart4F.asm create mode 100755 data/maps/objects/CeladonMart5F.asm create mode 100755 data/maps/objects/CeladonMartElevator.asm create mode 100755 data/maps/objects/CeladonMartRoof.asm create mode 100755 data/maps/objects/CeladonPokecenter.asm create mode 100755 data/maps/objects/CeruleanBadgeHouse.asm create mode 100755 data/maps/objects/CeruleanCave1F.asm create mode 100755 data/maps/objects/CeruleanCave2F.asm create mode 100755 data/maps/objects/CeruleanCaveB1F.asm create mode 100755 data/maps/objects/CeruleanCity.asm create mode 100755 data/maps/objects/CeruleanGym.asm create mode 100755 data/maps/objects/CeruleanMart.asm create mode 100755 data/maps/objects/CeruleanPokecenter.asm create mode 100755 data/maps/objects/CeruleanTradeHouse.asm create mode 100755 data/maps/objects/CeruleanTrashedHouse.asm create mode 100755 data/maps/objects/ChampionsRoom.asm create mode 100755 data/maps/objects/CinnabarGym.asm create mode 100755 data/maps/objects/CinnabarIsland.asm create mode 100755 data/maps/objects/CinnabarLab.asm create mode 100755 data/maps/objects/CinnabarLabFossilRoom.asm create mode 100755 data/maps/objects/CinnabarLabMetronomeRoom.asm create mode 100755 data/maps/objects/CinnabarLabTradeRoom.asm create mode 100755 data/maps/objects/CinnabarMart.asm create mode 100755 data/maps/objects/CinnabarPokecenter.asm create mode 100755 data/maps/objects/Colosseum.asm create mode 100755 data/maps/objects/CopycatsHouse1F.asm create mode 100755 data/maps/objects/CopycatsHouse2F.asm create mode 100755 data/maps/objects/Daycare.asm create mode 100755 data/maps/objects/DiglettsCave.asm create mode 100755 data/maps/objects/DiglettsCaveRoute11.asm create mode 100755 data/maps/objects/DiglettsCaveRoute2.asm create mode 100755 data/maps/objects/FightingDojo.asm create mode 100755 data/maps/objects/FuchsiaBillsGrandpasHouse.asm create mode 100755 data/maps/objects/FuchsiaCity.asm create mode 100755 data/maps/objects/FuchsiaGoodRodHouse.asm create mode 100755 data/maps/objects/FuchsiaGym.asm create mode 100755 data/maps/objects/FuchsiaMart.asm create mode 100755 data/maps/objects/FuchsiaMeetingRoom.asm create mode 100755 data/maps/objects/FuchsiaPokecenter.asm create mode 100755 data/maps/objects/GameCorner.asm create mode 100755 data/maps/objects/GameCornerPrizeRoom.asm create mode 100755 data/maps/objects/HallOfFame.asm create mode 100755 data/maps/objects/IndigoPlateau.asm create mode 100755 data/maps/objects/IndigoPlateauLobby.asm create mode 100755 data/maps/objects/LancesRoom.asm create mode 100755 data/maps/objects/LavenderCuboneHouse.asm create mode 100755 data/maps/objects/LavenderMart.asm create mode 100755 data/maps/objects/LavenderPokecenter.asm create mode 100755 data/maps/objects/LavenderTown.asm create mode 100755 data/maps/objects/LoreleisRoom.asm create mode 100755 data/maps/objects/MrFujisHouse.asm create mode 100755 data/maps/objects/MrPsychicsHouse.asm create mode 100755 data/maps/objects/MtMoon1F.asm create mode 100755 data/maps/objects/MtMoonB1F.asm create mode 100755 data/maps/objects/MtMoonB2F.asm create mode 100755 data/maps/objects/MtMoonPokecenter.asm create mode 100755 data/maps/objects/Museum1F.asm create mode 100755 data/maps/objects/Museum2F.asm create mode 100755 data/maps/objects/NameRatersHouse.asm create mode 100755 data/maps/objects/OaksLab.asm create mode 100755 data/maps/objects/PalletTown.asm create mode 100755 data/maps/objects/PewterCity.asm create mode 100755 data/maps/objects/PewterGym.asm create mode 100755 data/maps/objects/PewterMart.asm create mode 100755 data/maps/objects/PewterNidoranHouse.asm create mode 100755 data/maps/objects/PewterPokecenter.asm create mode 100755 data/maps/objects/PewterSpeechHouse.asm create mode 100755 data/maps/objects/PokemonFanClub.asm create mode 100755 data/maps/objects/PokemonMansion1F.asm create mode 100755 data/maps/objects/PokemonMansion2F.asm create mode 100755 data/maps/objects/PokemonMansion3F.asm create mode 100755 data/maps/objects/PokemonMansionB1F.asm create mode 100755 data/maps/objects/PokemonTower1F.asm create mode 100755 data/maps/objects/PokemonTower2F.asm create mode 100755 data/maps/objects/PokemonTower3F.asm create mode 100755 data/maps/objects/PokemonTower4F.asm create mode 100755 data/maps/objects/PokemonTower5F.asm create mode 100755 data/maps/objects/PokemonTower6F.asm create mode 100755 data/maps/objects/PokemonTower7F.asm create mode 100755 data/maps/objects/PowerPlant.asm create mode 100755 data/maps/objects/RedsHouse1F.asm create mode 100755 data/maps/objects/RedsHouse2F.asm create mode 100755 data/maps/objects/RockTunnel1F.asm create mode 100755 data/maps/objects/RockTunnelB1F.asm create mode 100755 data/maps/objects/RockTunnelPokecenter.asm create mode 100755 data/maps/objects/RocketHideoutB1F.asm create mode 100755 data/maps/objects/RocketHideoutB2F.asm create mode 100755 data/maps/objects/RocketHideoutB3F.asm create mode 100755 data/maps/objects/RocketHideoutB4F.asm create mode 100755 data/maps/objects/RocketHideoutElevator.asm create mode 100755 data/maps/objects/Route1.asm create mode 100755 data/maps/objects/Route10.asm create mode 100755 data/maps/objects/Route11.asm create mode 100755 data/maps/objects/Route11Gate1F.asm create mode 100755 data/maps/objects/Route11Gate2F.asm create mode 100755 data/maps/objects/Route12.asm create mode 100755 data/maps/objects/Route12Gate1F.asm create mode 100755 data/maps/objects/Route12Gate2F.asm create mode 100755 data/maps/objects/Route12SuperRodHouse.asm create mode 100755 data/maps/objects/Route13.asm create mode 100755 data/maps/objects/Route14.asm create mode 100755 data/maps/objects/Route15.asm create mode 100755 data/maps/objects/Route15Gate1F.asm create mode 100755 data/maps/objects/Route15Gate2F.asm create mode 100755 data/maps/objects/Route16.asm create mode 100755 data/maps/objects/Route16FlyHouse.asm create mode 100755 data/maps/objects/Route16Gate1F.asm create mode 100755 data/maps/objects/Route16Gate2F.asm create mode 100755 data/maps/objects/Route17.asm create mode 100755 data/maps/objects/Route18.asm create mode 100755 data/maps/objects/Route18Gate1F.asm create mode 100755 data/maps/objects/Route18Gate2F.asm create mode 100755 data/maps/objects/Route19.asm create mode 100755 data/maps/objects/Route2.asm create mode 100755 data/maps/objects/Route20.asm create mode 100755 data/maps/objects/Route21.asm create mode 100755 data/maps/objects/Route22.asm create mode 100755 data/maps/objects/Route22Gate.asm create mode 100755 data/maps/objects/Route23.asm create mode 100755 data/maps/objects/Route24.asm create mode 100755 data/maps/objects/Route25.asm create mode 100755 data/maps/objects/Route2Gate.asm create mode 100755 data/maps/objects/Route2TradeHouse.asm create mode 100755 data/maps/objects/Route3.asm create mode 100755 data/maps/objects/Route4.asm create mode 100755 data/maps/objects/Route5.asm create mode 100755 data/maps/objects/Route5Gate.asm create mode 100755 data/maps/objects/Route6.asm create mode 100755 data/maps/objects/Route6Gate.asm create mode 100755 data/maps/objects/Route7.asm create mode 100755 data/maps/objects/Route7Gate.asm create mode 100755 data/maps/objects/Route8.asm create mode 100755 data/maps/objects/Route8Gate.asm create mode 100755 data/maps/objects/Route9.asm create mode 100755 data/maps/objects/SSAnne1F.asm create mode 100755 data/maps/objects/SSAnne1FRooms.asm create mode 100755 data/maps/objects/SSAnne2F.asm create mode 100755 data/maps/objects/SSAnne2FRooms.asm create mode 100755 data/maps/objects/SSAnne3F.asm create mode 100755 data/maps/objects/SSAnneB1F.asm create mode 100755 data/maps/objects/SSAnneB1FRooms.asm create mode 100755 data/maps/objects/SSAnneBow.asm create mode 100755 data/maps/objects/SSAnneCaptainsRoom.asm create mode 100755 data/maps/objects/SSAnneKitchen.asm create mode 100755 data/maps/objects/SafariZoneCenter.asm create mode 100755 data/maps/objects/SafariZoneCenterRestHouse.asm create mode 100755 data/maps/objects/SafariZoneEast.asm create mode 100755 data/maps/objects/SafariZoneEastRestHouse.asm create mode 100755 data/maps/objects/SafariZoneGate.asm create mode 100755 data/maps/objects/SafariZoneNorth.asm create mode 100755 data/maps/objects/SafariZoneNorthRestHouse.asm create mode 100755 data/maps/objects/SafariZoneSecretHouse.asm create mode 100755 data/maps/objects/SafariZoneWest.asm create mode 100755 data/maps/objects/SafariZoneWestRestHouse.asm create mode 100755 data/maps/objects/SaffronCity.asm create mode 100755 data/maps/objects/SaffronGym.asm create mode 100755 data/maps/objects/SaffronMart.asm create mode 100755 data/maps/objects/SaffronPidgeyHouse.asm create mode 100755 data/maps/objects/SaffronPokecenter.asm create mode 100755 data/maps/objects/SeafoamIslands1F.asm create mode 100755 data/maps/objects/SeafoamIslandsB1F.asm create mode 100755 data/maps/objects/SeafoamIslandsB2F.asm create mode 100755 data/maps/objects/SeafoamIslandsB3F.asm create mode 100755 data/maps/objects/SeafoamIslandsB4F.asm create mode 100755 data/maps/objects/SilphCo10F.asm create mode 100755 data/maps/objects/SilphCo11F.asm create mode 100755 data/maps/objects/SilphCo1F.asm create mode 100755 data/maps/objects/SilphCo2F.asm create mode 100755 data/maps/objects/SilphCo3F.asm create mode 100755 data/maps/objects/SilphCo4F.asm create mode 100755 data/maps/objects/SilphCo5F.asm create mode 100755 data/maps/objects/SilphCo6F.asm create mode 100755 data/maps/objects/SilphCo7F.asm create mode 100755 data/maps/objects/SilphCo8F.asm create mode 100755 data/maps/objects/SilphCo9F.asm create mode 100755 data/maps/objects/SilphCoElevator.asm create mode 100755 data/maps/objects/TradeCenter.asm create mode 100755 data/maps/objects/UndergroundPathNorthSouth.asm create mode 100755 data/maps/objects/UndergroundPathRoute5.asm create mode 100755 data/maps/objects/UndergroundPathRoute6.asm create mode 100755 data/maps/objects/UndergroundPathRoute7.asm create mode 100755 data/maps/objects/UndergroundPathRoute7Copy.asm create mode 100755 data/maps/objects/UndergroundPathRoute8.asm create mode 100755 data/maps/objects/UndergroundPathWestEast.asm create mode 100755 data/maps/objects/VermilionCity.asm create mode 100755 data/maps/objects/VermilionDock.asm create mode 100755 data/maps/objects/VermilionGym.asm create mode 100755 data/maps/objects/VermilionMart.asm create mode 100755 data/maps/objects/VermilionOldRodHouse.asm create mode 100755 data/maps/objects/VermilionPidgeyHouse.asm create mode 100755 data/maps/objects/VermilionPokecenter.asm create mode 100755 data/maps/objects/VermilionTradeHouse.asm create mode 100755 data/maps/objects/VictoryRoad1F.asm create mode 100755 data/maps/objects/VictoryRoad2F.asm create mode 100755 data/maps/objects/VictoryRoad3F.asm create mode 100755 data/maps/objects/ViridianCity.asm create mode 100755 data/maps/objects/ViridianForest.asm create mode 100755 data/maps/objects/ViridianForestNorthGate.asm create mode 100755 data/maps/objects/ViridianForestSouthGate.asm create mode 100755 data/maps/objects/ViridianGym.asm create mode 100755 data/maps/objects/ViridianMart.asm create mode 100755 data/maps/objects/ViridianNicknameHouse.asm create mode 100755 data/maps/objects/ViridianPokecenter.asm create mode 100755 data/maps/objects/ViridianSchoolHouse.asm create mode 100755 data/maps/objects/WardensHouse.asm diff --git a/data/mapHeaders/AgathasRoom.asm b/data/mapHeaders/AgathasRoom.asm deleted file mode 100755 index d04e0cfd..00000000 --- a/data/mapHeaders/AgathasRoom.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header AgathasRoom, AGATHAS_ROOM, CEMETERY, 0 - end_map_header diff --git a/data/mapHeaders/BikeShop.asm b/data/mapHeaders/BikeShop.asm deleted file mode 100755 index b4b520e2..00000000 --- a/data/mapHeaders/BikeShop.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header BikeShop, BIKE_SHOP, CLUB, 0 - end_map_header diff --git a/data/mapHeaders/BillsHouse.asm b/data/mapHeaders/BillsHouse.asm deleted file mode 100755 index 6063175d..00000000 --- a/data/mapHeaders/BillsHouse.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header BillsHouse, BILLS_HOUSE, INTERIOR, 0 - end_map_header diff --git a/data/mapHeaders/BluesHouse.asm b/data/mapHeaders/BluesHouse.asm deleted file mode 100755 index 33cee254..00000000 --- a/data/mapHeaders/BluesHouse.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header BluesHouse, BLUES_HOUSE, HOUSE, 0 - end_map_header diff --git a/data/mapHeaders/BrunosRoom.asm b/data/mapHeaders/BrunosRoom.asm deleted file mode 100755 index a0b2d4fd..00000000 --- a/data/mapHeaders/BrunosRoom.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header BrunosRoom, BRUNOS_ROOM, GYM, 0 - end_map_header diff --git a/data/mapHeaders/CeladonChiefHouse.asm b/data/mapHeaders/CeladonChiefHouse.asm deleted file mode 100755 index 34f17273..00000000 --- a/data/mapHeaders/CeladonChiefHouse.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header CeladonChiefHouse, CELADON_CHIEF_HOUSE, MANSION, 0 - end_map_header diff --git a/data/mapHeaders/CeladonCity.asm b/data/mapHeaders/CeladonCity.asm deleted file mode 100755 index 6faa6f48..00000000 --- a/data/mapHeaders/CeladonCity.asm +++ /dev/null @@ -1,5 +0,0 @@ - - map_header CeladonCity, CELADON_CITY, OVERWORLD, WEST | EAST - connection west, Route16, ROUTE_16, 4 - connection east, Route7, ROUTE_7, 4 - end_map_header diff --git a/data/mapHeaders/CeladonDiner.asm b/data/mapHeaders/CeladonDiner.asm deleted file mode 100755 index b18d9633..00000000 --- a/data/mapHeaders/CeladonDiner.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header CeladonDiner, CELADON_DINER, LOBBY, 0 - end_map_header diff --git a/data/mapHeaders/CeladonGym.asm b/data/mapHeaders/CeladonGym.asm deleted file mode 100755 index 2302c65a..00000000 --- a/data/mapHeaders/CeladonGym.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header CeladonGym, CELADON_GYM, GYM, 0 - end_map_header diff --git a/data/mapHeaders/CeladonHotel.asm b/data/mapHeaders/CeladonHotel.asm deleted file mode 100755 index 2339c14d..00000000 --- a/data/mapHeaders/CeladonHotel.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header CeladonHotel, CELADON_HOTEL, POKECENTER, 0 - end_map_header diff --git a/data/mapHeaders/CeladonMansion1F.asm b/data/mapHeaders/CeladonMansion1F.asm deleted file mode 100755 index 45970028..00000000 --- a/data/mapHeaders/CeladonMansion1F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header CeladonMansion1F, CELADON_MANSION_1F, MANSION, 0 - end_map_header diff --git a/data/mapHeaders/CeladonMansion2F.asm b/data/mapHeaders/CeladonMansion2F.asm deleted file mode 100755 index d5e3e77b..00000000 --- a/data/mapHeaders/CeladonMansion2F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header CeladonMansion2F, CELADON_MANSION_2F, MANSION, 0 - end_map_header diff --git a/data/mapHeaders/CeladonMansion3F.asm b/data/mapHeaders/CeladonMansion3F.asm deleted file mode 100755 index 7566caad..00000000 --- a/data/mapHeaders/CeladonMansion3F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header CeladonMansion3F, CELADON_MANSION_3F, MANSION, 0 - end_map_header diff --git a/data/mapHeaders/CeladonMansionRoof.asm b/data/mapHeaders/CeladonMansionRoof.asm deleted file mode 100755 index 9cbae6f6..00000000 --- a/data/mapHeaders/CeladonMansionRoof.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header CeladonMansionRoof, CELADON_MANSION_ROOF, MANSION, 0 - end_map_header diff --git a/data/mapHeaders/CeladonMansionRoofHouse.asm b/data/mapHeaders/CeladonMansionRoofHouse.asm deleted file mode 100755 index cb80fac8..00000000 --- a/data/mapHeaders/CeladonMansionRoofHouse.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header CeladonMansionRoofHouse, CELADON_MANSION_ROOF_HOUSE, HOUSE, 0 - end_map_header diff --git a/data/mapHeaders/CeladonMart1F.asm b/data/mapHeaders/CeladonMart1F.asm deleted file mode 100755 index 30bd9ba9..00000000 --- a/data/mapHeaders/CeladonMart1F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header CeladonMart1F, CELADON_MART_1F, LOBBY, 0 - end_map_header diff --git a/data/mapHeaders/CeladonMart2F.asm b/data/mapHeaders/CeladonMart2F.asm deleted file mode 100755 index d78dfe28..00000000 --- a/data/mapHeaders/CeladonMart2F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header CeladonMart2F, CELADON_MART_2F, LOBBY, 0 - end_map_header diff --git a/data/mapHeaders/CeladonMart3F.asm b/data/mapHeaders/CeladonMart3F.asm deleted file mode 100755 index ad415eee..00000000 --- a/data/mapHeaders/CeladonMart3F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header CeladonMart3F, CELADON_MART_3F, LOBBY, 0 - end_map_header diff --git a/data/mapHeaders/CeladonMart4F.asm b/data/mapHeaders/CeladonMart4F.asm deleted file mode 100755 index b9ce5b34..00000000 --- a/data/mapHeaders/CeladonMart4F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header CeladonMart4F, CELADON_MART_4F, LOBBY, 0 - end_map_header diff --git a/data/mapHeaders/CeladonMart5F.asm b/data/mapHeaders/CeladonMart5F.asm deleted file mode 100755 index 04d65b2b..00000000 --- a/data/mapHeaders/CeladonMart5F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header CeladonMart5F, CELADON_MART_5F, LOBBY, 0 - end_map_header diff --git a/data/mapHeaders/CeladonMartElevator.asm b/data/mapHeaders/CeladonMartElevator.asm deleted file mode 100755 index 2a98ccb0..00000000 --- a/data/mapHeaders/CeladonMartElevator.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header CeladonMartElevator, CELADON_MART_ELEVATOR, LOBBY, 0 - end_map_header diff --git a/data/mapHeaders/CeladonMartRoof.asm b/data/mapHeaders/CeladonMartRoof.asm deleted file mode 100755 index 823ff25f..00000000 --- a/data/mapHeaders/CeladonMartRoof.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header CeladonMartRoof, CELADON_MART_ROOF, LOBBY, 0 - end_map_header diff --git a/data/mapHeaders/CeladonPokecenter.asm b/data/mapHeaders/CeladonPokecenter.asm deleted file mode 100755 index 378a41ec..00000000 --- a/data/mapHeaders/CeladonPokecenter.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header CeladonPokecenter, CELADON_POKECENTER, POKECENTER, 0 - end_map_header diff --git a/data/mapHeaders/CeruleanBadgeHouse.asm b/data/mapHeaders/CeruleanBadgeHouse.asm deleted file mode 100755 index 47a97b14..00000000 --- a/data/mapHeaders/CeruleanBadgeHouse.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header CeruleanBadgeHouse, CERULEAN_BADGE_HOUSE, SHIP, 0 - end_map_header diff --git a/data/mapHeaders/CeruleanCave1F.asm b/data/mapHeaders/CeruleanCave1F.asm deleted file mode 100755 index 7c80bbeb..00000000 --- a/data/mapHeaders/CeruleanCave1F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header CeruleanCave1F, CERULEAN_CAVE_1F, CAVERN, 0 - end_map_header diff --git a/data/mapHeaders/CeruleanCave2F.asm b/data/mapHeaders/CeruleanCave2F.asm deleted file mode 100755 index 353e265b..00000000 --- a/data/mapHeaders/CeruleanCave2F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header CeruleanCave2F, CERULEAN_CAVE_2F, CAVERN, 0 - end_map_header diff --git a/data/mapHeaders/CeruleanCaveB1F.asm b/data/mapHeaders/CeruleanCaveB1F.asm deleted file mode 100755 index d759aa6b..00000000 --- a/data/mapHeaders/CeruleanCaveB1F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header CeruleanCaveB1F, CERULEAN_CAVE_B1F, CAVERN, 0 - end_map_header diff --git a/data/mapHeaders/CeruleanCity.asm b/data/mapHeaders/CeruleanCity.asm deleted file mode 100755 index c925713c..00000000 --- a/data/mapHeaders/CeruleanCity.asm +++ /dev/null @@ -1,7 +0,0 @@ - - map_header CeruleanCity, CERULEAN_CITY, OVERWORLD, NORTH | SOUTH | WEST | EAST - connection north, Route24, ROUTE_24, 5 - connection south, Route5, ROUTE_5, 5 - connection west, Route4, ROUTE_4, 4 - connection east, Route9, ROUTE_9, 4 - end_map_header diff --git a/data/mapHeaders/CeruleanGym.asm b/data/mapHeaders/CeruleanGym.asm deleted file mode 100755 index b1010ac3..00000000 --- a/data/mapHeaders/CeruleanGym.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header CeruleanGym, CERULEAN_GYM, GYM, 0 - end_map_header diff --git a/data/mapHeaders/CeruleanMart.asm b/data/mapHeaders/CeruleanMart.asm deleted file mode 100755 index 2ee31666..00000000 --- a/data/mapHeaders/CeruleanMart.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header CeruleanMart, CERULEAN_MART, MART, 0 - end_map_header diff --git a/data/mapHeaders/CeruleanPokecenter.asm b/data/mapHeaders/CeruleanPokecenter.asm deleted file mode 100755 index b79e7aff..00000000 --- a/data/mapHeaders/CeruleanPokecenter.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header CeruleanPokecenter, CERULEAN_POKECENTER, POKECENTER, 0 - end_map_header diff --git a/data/mapHeaders/CeruleanTradeHouse.asm b/data/mapHeaders/CeruleanTradeHouse.asm deleted file mode 100755 index 20970b77..00000000 --- a/data/mapHeaders/CeruleanTradeHouse.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header CeruleanTradeHouse, CERULEAN_TRADE_HOUSE, HOUSE, 0 - end_map_header diff --git a/data/mapHeaders/CeruleanTrashedHouse.asm b/data/mapHeaders/CeruleanTrashedHouse.asm deleted file mode 100755 index 192a4195..00000000 --- a/data/mapHeaders/CeruleanTrashedHouse.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header CeruleanTrashedHouse, CERULEAN_TRASHED_HOUSE, HOUSE, 0 - end_map_header diff --git a/data/mapHeaders/ChampionsRoom.asm b/data/mapHeaders/ChampionsRoom.asm deleted file mode 100755 index aadc70a6..00000000 --- a/data/mapHeaders/ChampionsRoom.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header ChampionsRoom, CHAMPIONS_ROOM, GYM, $0 - end_map_header diff --git a/data/mapHeaders/CinnabarGym.asm b/data/mapHeaders/CinnabarGym.asm deleted file mode 100755 index cc6dc1d7..00000000 --- a/data/mapHeaders/CinnabarGym.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header CinnabarGym, CINNABAR_GYM, FACILITY, 0 - end_map_header diff --git a/data/mapHeaders/CinnabarIsland.asm b/data/mapHeaders/CinnabarIsland.asm deleted file mode 100755 index a94498be..00000000 --- a/data/mapHeaders/CinnabarIsland.asm +++ /dev/null @@ -1,5 +0,0 @@ - - map_header CinnabarIsland, CINNABAR_ISLAND, OVERWORLD, NORTH | EAST - connection north, Route21, ROUTE_21, 0 - connection east, Route20, ROUTE_20, 0 - end_map_header diff --git a/data/mapHeaders/CinnabarLab.asm b/data/mapHeaders/CinnabarLab.asm deleted file mode 100755 index e8081e75..00000000 --- a/data/mapHeaders/CinnabarLab.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header CinnabarLab, CINNABAR_LAB, LAB, 0 - end_map_header diff --git a/data/mapHeaders/CinnabarLabFossilRoom.asm b/data/mapHeaders/CinnabarLabFossilRoom.asm deleted file mode 100755 index 3cb88437..00000000 --- a/data/mapHeaders/CinnabarLabFossilRoom.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header CinnabarLabFossilRoom, CINNABAR_LAB_FOSSIL_ROOM, LAB, 0 - end_map_header diff --git a/data/mapHeaders/CinnabarLabMetronomeRoom.asm b/data/mapHeaders/CinnabarLabMetronomeRoom.asm deleted file mode 100755 index d77338c8..00000000 --- a/data/mapHeaders/CinnabarLabMetronomeRoom.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header CinnabarLabMetronomeRoom, CINNABAR_LAB_METRONOME_ROOM, LAB, 0 - end_map_header diff --git a/data/mapHeaders/CinnabarLabTradeRoom.asm b/data/mapHeaders/CinnabarLabTradeRoom.asm deleted file mode 100755 index c23d9c15..00000000 --- a/data/mapHeaders/CinnabarLabTradeRoom.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header CinnabarLabTradeRoom, CINNABAR_LAB_TRADE_ROOM, LAB, 0 - end_map_header diff --git a/data/mapHeaders/CinnabarMart.asm b/data/mapHeaders/CinnabarMart.asm deleted file mode 100755 index c68d582a..00000000 --- a/data/mapHeaders/CinnabarMart.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header CinnabarMart, CINNABAR_MART, MART, 0 - end_map_header diff --git a/data/mapHeaders/CinnabarPokecenter.asm b/data/mapHeaders/CinnabarPokecenter.asm deleted file mode 100755 index d910133b..00000000 --- a/data/mapHeaders/CinnabarPokecenter.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header CinnabarPokecenter, CINNABAR_POKECENTER, POKECENTER, 0 - end_map_header diff --git a/data/mapHeaders/Colosseum.asm b/data/mapHeaders/Colosseum.asm deleted file mode 100755 index faf03eb4..00000000 --- a/data/mapHeaders/Colosseum.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header Colosseum, COLOSSEUM, CLUB, 0 - end_map_header diff --git a/data/mapHeaders/CopycatsHouse1F.asm b/data/mapHeaders/CopycatsHouse1F.asm deleted file mode 100755 index 532cef93..00000000 --- a/data/mapHeaders/CopycatsHouse1F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header CopycatsHouse1F, COPYCATS_HOUSE_1F, REDS_HOUSE_1, 0 - end_map_header diff --git a/data/mapHeaders/CopycatsHouse2F.asm b/data/mapHeaders/CopycatsHouse2F.asm deleted file mode 100755 index 38b1fbbb..00000000 --- a/data/mapHeaders/CopycatsHouse2F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header CopycatsHouse2F, COPYCATS_HOUSE_2F, REDS_HOUSE_2, 0 - end_map_header diff --git a/data/mapHeaders/Daycare.asm b/data/mapHeaders/Daycare.asm deleted file mode 100755 index dabeedd9..00000000 --- a/data/mapHeaders/Daycare.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header Daycare, DAYCARE, HOUSE, 0 - end_map_header diff --git a/data/mapHeaders/DiglettsCave.asm b/data/mapHeaders/DiglettsCave.asm deleted file mode 100755 index d3777d31..00000000 --- a/data/mapHeaders/DiglettsCave.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header DiglettsCave, DIGLETTS_CAVE, CAVERN, 0 - end_map_header diff --git a/data/mapHeaders/DiglettsCaveRoute11.asm b/data/mapHeaders/DiglettsCaveRoute11.asm deleted file mode 100755 index d8bdd704..00000000 --- a/data/mapHeaders/DiglettsCaveRoute11.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header DiglettsCaveRoute11, DIGLETTS_CAVE_ROUTE_11, CAVERN, 0 - end_map_header diff --git a/data/mapHeaders/DiglettsCaveRoute2.asm b/data/mapHeaders/DiglettsCaveRoute2.asm deleted file mode 100755 index 86f5ae35..00000000 --- a/data/mapHeaders/DiglettsCaveRoute2.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header DiglettsCaveRoute2, DIGLETTS_CAVE_ROUTE_2, CAVERN, 0 - end_map_header diff --git a/data/mapHeaders/FightingDojo.asm b/data/mapHeaders/FightingDojo.asm deleted file mode 100755 index 7ecadc57..00000000 --- a/data/mapHeaders/FightingDojo.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header FightingDojo, FIGHTING_DOJO, DOJO, 0 - end_map_header diff --git a/data/mapHeaders/FuchsiaBillsGrandpasHouse.asm b/data/mapHeaders/FuchsiaBillsGrandpasHouse.asm deleted file mode 100755 index 10ba48e9..00000000 --- a/data/mapHeaders/FuchsiaBillsGrandpasHouse.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header FuchsiaBillsGrandpasHouse, FUCHSIA_BILLS_GRANDPAS_HOUSE, HOUSE, 0 - end_map_header diff --git a/data/mapHeaders/FuchsiaCity.asm b/data/mapHeaders/FuchsiaCity.asm deleted file mode 100755 index 6028bce0..00000000 --- a/data/mapHeaders/FuchsiaCity.asm +++ /dev/null @@ -1,6 +0,0 @@ - - map_header FuchsiaCity, FUCHSIA_CITY, OVERWORLD, SOUTH | WEST | EAST - connection south, Route19, ROUTE_19, 5 - connection west, Route18, ROUTE_18, 4 - connection east, Route15, ROUTE_15, 4 - end_map_header diff --git a/data/mapHeaders/FuchsiaGoodRodHouse.asm b/data/mapHeaders/FuchsiaGoodRodHouse.asm deleted file mode 100755 index d21611c1..00000000 --- a/data/mapHeaders/FuchsiaGoodRodHouse.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header FuchsiaGoodRodHouse, FUCHSIA_GOOD_ROD_HOUSE, SHIP, 0 - end_map_header diff --git a/data/mapHeaders/FuchsiaGym.asm b/data/mapHeaders/FuchsiaGym.asm deleted file mode 100755 index 44be2971..00000000 --- a/data/mapHeaders/FuchsiaGym.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header FuchsiaGym, FUCHSIA_GYM, GYM, 0 - end_map_header diff --git a/data/mapHeaders/FuchsiaMart.asm b/data/mapHeaders/FuchsiaMart.asm deleted file mode 100755 index 120fe305..00000000 --- a/data/mapHeaders/FuchsiaMart.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header FuchsiaMart, FUCHSIA_MART, MART, 0 - end_map_header diff --git a/data/mapHeaders/FuchsiaMeetingRoom.asm b/data/mapHeaders/FuchsiaMeetingRoom.asm deleted file mode 100755 index a5ab4f04..00000000 --- a/data/mapHeaders/FuchsiaMeetingRoom.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header FuchsiaMeetingRoom, FUCHSIA_MEETING_ROOM, LAB, 0 - end_map_header diff --git a/data/mapHeaders/FuchsiaPokecenter.asm b/data/mapHeaders/FuchsiaPokecenter.asm deleted file mode 100755 index c1c683bd..00000000 --- a/data/mapHeaders/FuchsiaPokecenter.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header FuchsiaPokecenter, FUCHSIA_POKECENTER, POKECENTER, 0 - end_map_header diff --git a/data/mapHeaders/GameCorner.asm b/data/mapHeaders/GameCorner.asm deleted file mode 100755 index ad367b93..00000000 --- a/data/mapHeaders/GameCorner.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header GameCorner, GAME_CORNER, LOBBY, 0 - end_map_header diff --git a/data/mapHeaders/GameCornerPrizeRoom.asm b/data/mapHeaders/GameCornerPrizeRoom.asm deleted file mode 100755 index 4668cbb8..00000000 --- a/data/mapHeaders/GameCornerPrizeRoom.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header GameCornerPrizeRoom, GAME_CORNER_PRIZE_ROOM, LOBBY, 0 - end_map_header diff --git a/data/mapHeaders/HallOfFame.asm b/data/mapHeaders/HallOfFame.asm deleted file mode 100755 index e2dc3fb3..00000000 --- a/data/mapHeaders/HallOfFame.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header HallOfFame, HALL_OF_FAME, GYM, 0 - end_map_header diff --git a/data/mapHeaders/IndigoPlateau.asm b/data/mapHeaders/IndigoPlateau.asm deleted file mode 100755 index ff394dfe..00000000 --- a/data/mapHeaders/IndigoPlateau.asm +++ /dev/null @@ -1,4 +0,0 @@ - - map_header IndigoPlateau, INDIGO_PLATEAU, PLATEAU, SOUTH - connection south, Route23, ROUTE_23, 0 - end_map_header diff --git a/data/mapHeaders/IndigoPlateauLobby.asm b/data/mapHeaders/IndigoPlateauLobby.asm deleted file mode 100755 index b13afa12..00000000 --- a/data/mapHeaders/IndigoPlateauLobby.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header IndigoPlateauLobby, INDIGO_PLATEAU_LOBBY, MART, 0 - end_map_header diff --git a/data/mapHeaders/LancesRoom.asm b/data/mapHeaders/LancesRoom.asm deleted file mode 100755 index 0b69970e..00000000 --- a/data/mapHeaders/LancesRoom.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header LancesRoom, LANCES_ROOM, DOJO, 0 - end_map_header diff --git a/data/mapHeaders/LavenderCuboneHouse.asm b/data/mapHeaders/LavenderCuboneHouse.asm deleted file mode 100755 index dfd38ff1..00000000 --- a/data/mapHeaders/LavenderCuboneHouse.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header LavenderCuboneHouse, LAVENDER_CUBONE_HOUSE, HOUSE, 0 - end_map_header diff --git a/data/mapHeaders/LavenderMart.asm b/data/mapHeaders/LavenderMart.asm deleted file mode 100755 index 82c239e6..00000000 --- a/data/mapHeaders/LavenderMart.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header LavenderMart, LAVENDER_MART, MART, 0 - end_map_header diff --git a/data/mapHeaders/LavenderPokecenter.asm b/data/mapHeaders/LavenderPokecenter.asm deleted file mode 100755 index c0cd0adf..00000000 --- a/data/mapHeaders/LavenderPokecenter.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header LavenderPokecenter, LAVENDER_POKECENTER, POKECENTER, 0 - end_map_header diff --git a/data/mapHeaders/LavenderTown.asm b/data/mapHeaders/LavenderTown.asm deleted file mode 100755 index 7c1c9c46..00000000 --- a/data/mapHeaders/LavenderTown.asm +++ /dev/null @@ -1,6 +0,0 @@ - - map_header LavenderTown, LAVENDER_TOWN, OVERWORLD, NORTH | SOUTH | WEST - connection north, Route10, ROUTE_10, 0 - connection south, Route12, ROUTE_12, 0 - connection west, Route8, ROUTE_8, 0 - end_map_header diff --git a/data/mapHeaders/LoreleisRoom.asm b/data/mapHeaders/LoreleisRoom.asm deleted file mode 100755 index feff946c..00000000 --- a/data/mapHeaders/LoreleisRoom.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header LoreleisRoom, LORELEIS_ROOM, GYM, 0 - end_map_header diff --git a/data/mapHeaders/MrFujisHouse.asm b/data/mapHeaders/MrFujisHouse.asm deleted file mode 100755 index 023cb501..00000000 --- a/data/mapHeaders/MrFujisHouse.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header MrFujisHouse, MR_FUJIS_HOUSE, HOUSE, 0 - end_map_header diff --git a/data/mapHeaders/MrPsychicsHouse.asm b/data/mapHeaders/MrPsychicsHouse.asm deleted file mode 100755 index 628db044..00000000 --- a/data/mapHeaders/MrPsychicsHouse.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header MrPsychicsHouse, MR_PSYCHICS_HOUSE, HOUSE, 0 - end_map_header diff --git a/data/mapHeaders/MtMoon1F.asm b/data/mapHeaders/MtMoon1F.asm deleted file mode 100755 index 8de2be3e..00000000 --- a/data/mapHeaders/MtMoon1F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header MtMoon1F, MT_MOON_1F, CAVERN, 0 - end_map_header diff --git a/data/mapHeaders/MtMoonB1F.asm b/data/mapHeaders/MtMoonB1F.asm deleted file mode 100755 index 9c97b5c7..00000000 --- a/data/mapHeaders/MtMoonB1F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header MtMoonB1F, MT_MOON_B1F, CAVERN, 0 - end_map_header diff --git a/data/mapHeaders/MtMoonB2F.asm b/data/mapHeaders/MtMoonB2F.asm deleted file mode 100755 index 0ed1f96e..00000000 --- a/data/mapHeaders/MtMoonB2F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header MtMoonB2F, MT_MOON_B2F, CAVERN, 0 - end_map_header diff --git a/data/mapHeaders/MtMoonPokecenter.asm b/data/mapHeaders/MtMoonPokecenter.asm deleted file mode 100755 index 0425eae7..00000000 --- a/data/mapHeaders/MtMoonPokecenter.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header MtMoonPokecenter, MT_MOON_POKECENTER, POKECENTER, 0 - end_map_header diff --git a/data/mapHeaders/Museum1F.asm b/data/mapHeaders/Museum1F.asm deleted file mode 100755 index d92176d2..00000000 --- a/data/mapHeaders/Museum1F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header Museum1F, MUSEUM_1F, MUSEUM, 0 - end_map_header diff --git a/data/mapHeaders/Museum2F.asm b/data/mapHeaders/Museum2F.asm deleted file mode 100755 index d5bf8918..00000000 --- a/data/mapHeaders/Museum2F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header Museum2F, MUSEUM_2F, MUSEUM, 0 - end_map_header diff --git a/data/mapHeaders/NameRatersHouse.asm b/data/mapHeaders/NameRatersHouse.asm deleted file mode 100755 index 3f9010f0..00000000 --- a/data/mapHeaders/NameRatersHouse.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header NameRatersHouse, NAME_RATERS_HOUSE, HOUSE, 0 - end_map_header diff --git a/data/mapHeaders/OaksLab.asm b/data/mapHeaders/OaksLab.asm deleted file mode 100755 index 42bb76e8..00000000 --- a/data/mapHeaders/OaksLab.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header OaksLab, OAKS_LAB, DOJO, 0 - end_map_header diff --git a/data/mapHeaders/PalletTown.asm b/data/mapHeaders/PalletTown.asm deleted file mode 100755 index 2745bdc1..00000000 --- a/data/mapHeaders/PalletTown.asm +++ /dev/null @@ -1,5 +0,0 @@ - - map_header PalletTown, PALLET_TOWN, OVERWORLD, NORTH | SOUTH - connection north, Route1, ROUTE_1, 0 - connection south, Route21, ROUTE_21, 0 - end_map_header diff --git a/data/mapHeaders/PewterCity.asm b/data/mapHeaders/PewterCity.asm deleted file mode 100755 index 268adb7a..00000000 --- a/data/mapHeaders/PewterCity.asm +++ /dev/null @@ -1,5 +0,0 @@ - - map_header PewterCity, PEWTER_CITY, OVERWORLD, SOUTH | EAST - connection south, Route2, ROUTE_2, 5 - connection east, Route3, ROUTE_3, 4 - end_map_header diff --git a/data/mapHeaders/PewterGym.asm b/data/mapHeaders/PewterGym.asm deleted file mode 100755 index a1659e42..00000000 --- a/data/mapHeaders/PewterGym.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header PewterGym, PEWTER_GYM, GYM, 0 - end_map_header diff --git a/data/mapHeaders/PewterMart.asm b/data/mapHeaders/PewterMart.asm deleted file mode 100755 index c9b24eb2..00000000 --- a/data/mapHeaders/PewterMart.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header PewterMart, PEWTER_MART, MART, 0 - end_map_header diff --git a/data/mapHeaders/PewterNidoranHouse.asm b/data/mapHeaders/PewterNidoranHouse.asm deleted file mode 100755 index ee2e46ca..00000000 --- a/data/mapHeaders/PewterNidoranHouse.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header PewterNidoranHouse, PEWTER_NIDORAN_HOUSE, HOUSE, 0 - end_map_header diff --git a/data/mapHeaders/PewterPokecenter.asm b/data/mapHeaders/PewterPokecenter.asm deleted file mode 100755 index 4e420bf8..00000000 --- a/data/mapHeaders/PewterPokecenter.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header PewterPokecenter, PEWTER_POKECENTER, POKECENTER, 0 - end_map_header diff --git a/data/mapHeaders/PewterSpeechHouse.asm b/data/mapHeaders/PewterSpeechHouse.asm deleted file mode 100755 index a378d61e..00000000 --- a/data/mapHeaders/PewterSpeechHouse.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header PewterSpeechHouse, PEWTER_SPEECH_HOUSE, HOUSE, 0 - end_map_header diff --git a/data/mapHeaders/PokemonFanClub.asm b/data/mapHeaders/PokemonFanClub.asm deleted file mode 100755 index b4ff8e1c..00000000 --- a/data/mapHeaders/PokemonFanClub.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header PokemonFanClub, POKEMON_FAN_CLUB, INTERIOR, 0 - end_map_header diff --git a/data/mapHeaders/PokemonMansion1F.asm b/data/mapHeaders/PokemonMansion1F.asm deleted file mode 100755 index 9407f956..00000000 --- a/data/mapHeaders/PokemonMansion1F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header PokemonMansion1F, POKEMON_MANSION_1F, FACILITY, 0 - end_map_header diff --git a/data/mapHeaders/PokemonMansion2F.asm b/data/mapHeaders/PokemonMansion2F.asm deleted file mode 100755 index deb7c84f..00000000 --- a/data/mapHeaders/PokemonMansion2F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header PokemonMansion2F, POKEMON_MANSION_2F, FACILITY, 0 - end_map_header diff --git a/data/mapHeaders/PokemonMansion3F.asm b/data/mapHeaders/PokemonMansion3F.asm deleted file mode 100755 index e4baa709..00000000 --- a/data/mapHeaders/PokemonMansion3F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header PokemonMansion3F, POKEMON_MANSION_3F, FACILITY, 0 - end_map_header diff --git a/data/mapHeaders/PokemonMansionB1F.asm b/data/mapHeaders/PokemonMansionB1F.asm deleted file mode 100755 index 0aae67e6..00000000 --- a/data/mapHeaders/PokemonMansionB1F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header PokemonMansionB1F, POKEMON_MANSION_B1F, FACILITY, 0 - end_map_header diff --git a/data/mapHeaders/PokemonTower1F.asm b/data/mapHeaders/PokemonTower1F.asm deleted file mode 100755 index 185fd2c0..00000000 --- a/data/mapHeaders/PokemonTower1F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header PokemonTower1F, POKEMON_TOWER_1F, CEMETERY, 0 - end_map_header diff --git a/data/mapHeaders/PokemonTower2F.asm b/data/mapHeaders/PokemonTower2F.asm deleted file mode 100755 index 5a6046c8..00000000 --- a/data/mapHeaders/PokemonTower2F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header PokemonTower2F, POKEMON_TOWER_2F, CEMETERY, 0 - end_map_header diff --git a/data/mapHeaders/PokemonTower3F.asm b/data/mapHeaders/PokemonTower3F.asm deleted file mode 100755 index 49ebc4e7..00000000 --- a/data/mapHeaders/PokemonTower3F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header PokemonTower3F, POKEMON_TOWER_3F, CEMETERY, 0 - end_map_header diff --git a/data/mapHeaders/PokemonTower4F.asm b/data/mapHeaders/PokemonTower4F.asm deleted file mode 100755 index 0eb9a0d6..00000000 --- a/data/mapHeaders/PokemonTower4F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header PokemonTower4F, POKEMON_TOWER_4F, CEMETERY, 0 - end_map_header diff --git a/data/mapHeaders/PokemonTower5F.asm b/data/mapHeaders/PokemonTower5F.asm deleted file mode 100755 index e58c63c6..00000000 --- a/data/mapHeaders/PokemonTower5F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header PokemonTower5F, POKEMON_TOWER_5F, CEMETERY, 0 - end_map_header diff --git a/data/mapHeaders/PokemonTower6F.asm b/data/mapHeaders/PokemonTower6F.asm deleted file mode 100755 index ba53347b..00000000 --- a/data/mapHeaders/PokemonTower6F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header PokemonTower6F, POKEMON_TOWER_6F, CEMETERY, 0 - end_map_header diff --git a/data/mapHeaders/PokemonTower7F.asm b/data/mapHeaders/PokemonTower7F.asm deleted file mode 100755 index bd9f839b..00000000 --- a/data/mapHeaders/PokemonTower7F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header PokemonTower7F, POKEMON_TOWER_7F, CEMETERY, 0 - end_map_header diff --git a/data/mapHeaders/PowerPlant.asm b/data/mapHeaders/PowerPlant.asm deleted file mode 100755 index 88d82ae2..00000000 --- a/data/mapHeaders/PowerPlant.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header PowerPlant, POWER_PLANT, FACILITY, 0 - end_map_header diff --git a/data/mapHeaders/RedsHouse1F.asm b/data/mapHeaders/RedsHouse1F.asm deleted file mode 100755 index 018bdc80..00000000 --- a/data/mapHeaders/RedsHouse1F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header RedsHouse1F, REDS_HOUSE_1F, REDS_HOUSE_1, 0 - end_map_header diff --git a/data/mapHeaders/RedsHouse2F.asm b/data/mapHeaders/RedsHouse2F.asm deleted file mode 100755 index 10332e2c..00000000 --- a/data/mapHeaders/RedsHouse2F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header RedsHouse2F, REDS_HOUSE_2F, REDS_HOUSE_2, $00 - end_map_header diff --git a/data/mapHeaders/RockTunnel1F.asm b/data/mapHeaders/RockTunnel1F.asm deleted file mode 100755 index 268ee645..00000000 --- a/data/mapHeaders/RockTunnel1F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header RockTunnel1F, ROCK_TUNNEL_1F, CAVERN, 0 - end_map_header diff --git a/data/mapHeaders/RockTunnelB1F.asm b/data/mapHeaders/RockTunnelB1F.asm deleted file mode 100755 index 7b13f647..00000000 --- a/data/mapHeaders/RockTunnelB1F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header RockTunnelB1F, ROCK_TUNNEL_B1F, CAVERN, 0 - end_map_header diff --git a/data/mapHeaders/RockTunnelPokecenter.asm b/data/mapHeaders/RockTunnelPokecenter.asm deleted file mode 100755 index a873854b..00000000 --- a/data/mapHeaders/RockTunnelPokecenter.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header RockTunnelPokecenter, ROCK_TUNNEL_POKECENTER, POKECENTER, 0 - end_map_header diff --git a/data/mapHeaders/RocketHideoutB1F.asm b/data/mapHeaders/RocketHideoutB1F.asm deleted file mode 100755 index 521a6693..00000000 --- a/data/mapHeaders/RocketHideoutB1F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header RocketHideoutB1F, ROCKET_HIDEOUT_B1F, FACILITY, 0 - end_map_header diff --git a/data/mapHeaders/RocketHideoutB2F.asm b/data/mapHeaders/RocketHideoutB2F.asm deleted file mode 100755 index ab2a965d..00000000 --- a/data/mapHeaders/RocketHideoutB2F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header RocketHideoutB2F, ROCKET_HIDEOUT_B2F, FACILITY, 0 - end_map_header diff --git a/data/mapHeaders/RocketHideoutB3F.asm b/data/mapHeaders/RocketHideoutB3F.asm deleted file mode 100755 index 0a04b00e..00000000 --- a/data/mapHeaders/RocketHideoutB3F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header RocketHideoutB3F, ROCKET_HIDEOUT_B3F, FACILITY, 0 - end_map_header diff --git a/data/mapHeaders/RocketHideoutB4F.asm b/data/mapHeaders/RocketHideoutB4F.asm deleted file mode 100755 index 11512c01..00000000 --- a/data/mapHeaders/RocketHideoutB4F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header RocketHideoutB4F, ROCKET_HIDEOUT_B4F, FACILITY, 0 - end_map_header diff --git a/data/mapHeaders/RocketHideoutElevator.asm b/data/mapHeaders/RocketHideoutElevator.asm deleted file mode 100755 index 90ece237..00000000 --- a/data/mapHeaders/RocketHideoutElevator.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header RocketHideoutElevator, ROCKET_HIDEOUT_ELEVATOR, LOBBY, 0 - end_map_header diff --git a/data/mapHeaders/Route1.asm b/data/mapHeaders/Route1.asm deleted file mode 100755 index 6eeb0347..00000000 --- a/data/mapHeaders/Route1.asm +++ /dev/null @@ -1,5 +0,0 @@ - - map_header Route1, ROUTE_1, OVERWORLD, NORTH | SOUTH - connection north, ViridianCity, VIRIDIAN_CITY, -5 - connection south, PalletTown, PALLET_TOWN, 0 - end_map_header diff --git a/data/mapHeaders/Route10.asm b/data/mapHeaders/Route10.asm deleted file mode 100755 index ba498b0a..00000000 --- a/data/mapHeaders/Route10.asm +++ /dev/null @@ -1,5 +0,0 @@ - - map_header Route10, ROUTE_10, OVERWORLD, SOUTH | WEST - connection south, LavenderTown, LAVENDER_TOWN, 0 - connection west, Route9, ROUTE_9, 0 - end_map_header diff --git a/data/mapHeaders/Route11.asm b/data/mapHeaders/Route11.asm deleted file mode 100755 index d8f2e72f..00000000 --- a/data/mapHeaders/Route11.asm +++ /dev/null @@ -1,5 +0,0 @@ - - map_header Route11, ROUTE_11, OVERWORLD, WEST | EAST - connection west, VermilionCity, VERMILION_CITY, -4 - connection east, Route12, ROUTE_12, -27 - end_map_header diff --git a/data/mapHeaders/Route11Gate1F.asm b/data/mapHeaders/Route11Gate1F.asm deleted file mode 100755 index aa97b791..00000000 --- a/data/mapHeaders/Route11Gate1F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header Route11Gate1F, ROUTE_11_GATE_1F, GATE, 0 - end_map_header diff --git a/data/mapHeaders/Route11Gate2F.asm b/data/mapHeaders/Route11Gate2F.asm deleted file mode 100755 index 560d38db..00000000 --- a/data/mapHeaders/Route11Gate2F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header Route11Gate2F, ROUTE_11_GATE_2F, GATE, 0 - end_map_header diff --git a/data/mapHeaders/Route12.asm b/data/mapHeaders/Route12.asm deleted file mode 100755 index 931ddf1d..00000000 --- a/data/mapHeaders/Route12.asm +++ /dev/null @@ -1,6 +0,0 @@ - - map_header Route12, ROUTE_12, OVERWORLD, NORTH | SOUTH | WEST - connection north, LavenderTown, LAVENDER_TOWN, 0 - connection south, Route13, ROUTE_13, -20 - connection west, Route11, ROUTE_11, 27 - end_map_header diff --git a/data/mapHeaders/Route12Gate1F.asm b/data/mapHeaders/Route12Gate1F.asm deleted file mode 100755 index 047a670c..00000000 --- a/data/mapHeaders/Route12Gate1F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header Route12Gate1F, ROUTE_12_GATE_1F, GATE, 0 - end_map_header diff --git a/data/mapHeaders/Route12Gate2F.asm b/data/mapHeaders/Route12Gate2F.asm deleted file mode 100755 index e1366736..00000000 --- a/data/mapHeaders/Route12Gate2F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header Route12Gate2F, ROUTE_12_GATE_2F, GATE, 0 - end_map_header diff --git a/data/mapHeaders/Route12SuperRodHouse.asm b/data/mapHeaders/Route12SuperRodHouse.asm deleted file mode 100755 index 2195a9b1..00000000 --- a/data/mapHeaders/Route12SuperRodHouse.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header Route12SuperRodHouse, ROUTE_12_SUPER_ROD_HOUSE, HOUSE, 0 - end_map_header diff --git a/data/mapHeaders/Route13.asm b/data/mapHeaders/Route13.asm deleted file mode 100755 index 242aaa02..00000000 --- a/data/mapHeaders/Route13.asm +++ /dev/null @@ -1,5 +0,0 @@ - - map_header Route13, ROUTE_13, OVERWORLD, NORTH | WEST - connection north, Route12, ROUTE_12, 20 - connection west, Route14, ROUTE_14, 0 - end_map_header diff --git a/data/mapHeaders/Route14.asm b/data/mapHeaders/Route14.asm deleted file mode 100755 index c0c39c56..00000000 --- a/data/mapHeaders/Route14.asm +++ /dev/null @@ -1,5 +0,0 @@ - - map_header Route14, ROUTE_14, OVERWORLD, WEST | EAST - connection west, Route15, ROUTE_15, 18 - connection east, Route13, ROUTE_13, 0 - end_map_header diff --git a/data/mapHeaders/Route15.asm b/data/mapHeaders/Route15.asm deleted file mode 100755 index 28a811d2..00000000 --- a/data/mapHeaders/Route15.asm +++ /dev/null @@ -1,5 +0,0 @@ - - map_header Route15, ROUTE_15, OVERWORLD, WEST | EAST - connection west, FuchsiaCity, FUCHSIA_CITY, -4 - connection east, Route14, ROUTE_14, -18 - end_map_header diff --git a/data/mapHeaders/Route15Gate1F.asm b/data/mapHeaders/Route15Gate1F.asm deleted file mode 100755 index a23d15a0..00000000 --- a/data/mapHeaders/Route15Gate1F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header Route15Gate1F, ROUTE_15_GATE_1F, GATE, 0 - end_map_header diff --git a/data/mapHeaders/Route15Gate2F.asm b/data/mapHeaders/Route15Gate2F.asm deleted file mode 100755 index 8ca89872..00000000 --- a/data/mapHeaders/Route15Gate2F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header Route15Gate2F, ROUTE_15_GATE_2F, GATE, 0 - end_map_header diff --git a/data/mapHeaders/Route16.asm b/data/mapHeaders/Route16.asm deleted file mode 100755 index 423c7af2..00000000 --- a/data/mapHeaders/Route16.asm +++ /dev/null @@ -1,5 +0,0 @@ - - map_header Route16, ROUTE_16, OVERWORLD, SOUTH | EAST - connection south, Route17, ROUTE_17, 0 - connection east, CeladonCity, CELADON_CITY, -4 - end_map_header diff --git a/data/mapHeaders/Route16FlyHouse.asm b/data/mapHeaders/Route16FlyHouse.asm deleted file mode 100755 index 240b6df4..00000000 --- a/data/mapHeaders/Route16FlyHouse.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header Route16FlyHouse, ROUTE_16_FLY_HOUSE, HOUSE, 0 - end_map_header diff --git a/data/mapHeaders/Route16Gate1F.asm b/data/mapHeaders/Route16Gate1F.asm deleted file mode 100755 index 74fd1b7f..00000000 --- a/data/mapHeaders/Route16Gate1F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header Route16Gate1F, ROUTE_16_GATE_1F, GATE, 0 - end_map_header diff --git a/data/mapHeaders/Route16Gate2F.asm b/data/mapHeaders/Route16Gate2F.asm deleted file mode 100755 index ed889f4b..00000000 --- a/data/mapHeaders/Route16Gate2F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header Route16Gate2F, ROUTE_16_GATE_2F, GATE, 0 - end_map_header diff --git a/data/mapHeaders/Route17.asm b/data/mapHeaders/Route17.asm deleted file mode 100755 index 5e853299..00000000 --- a/data/mapHeaders/Route17.asm +++ /dev/null @@ -1,5 +0,0 @@ - - map_header Route17, ROUTE_17, OVERWORLD, NORTH | SOUTH - connection north, Route16, ROUTE_16, 0 - connection south, Route18, ROUTE_18, 0 - end_map_header diff --git a/data/mapHeaders/Route18.asm b/data/mapHeaders/Route18.asm deleted file mode 100755 index 34573051..00000000 --- a/data/mapHeaders/Route18.asm +++ /dev/null @@ -1,5 +0,0 @@ - - map_header Route18, ROUTE_18, OVERWORLD, NORTH | EAST - connection north, Route17, ROUTE_17, 0 - connection east, FuchsiaCity, FUCHSIA_CITY, -4 - end_map_header diff --git a/data/mapHeaders/Route18Gate1F.asm b/data/mapHeaders/Route18Gate1F.asm deleted file mode 100755 index 2847e0e3..00000000 --- a/data/mapHeaders/Route18Gate1F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header Route18Gate1F, ROUTE_18_GATE_1F, GATE, 0 - end_map_header diff --git a/data/mapHeaders/Route18Gate2F.asm b/data/mapHeaders/Route18Gate2F.asm deleted file mode 100755 index f25fa700..00000000 --- a/data/mapHeaders/Route18Gate2F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header Route18Gate2F, ROUTE_18_GATE_2F, GATE, 0 - end_map_header diff --git a/data/mapHeaders/Route19.asm b/data/mapHeaders/Route19.asm deleted file mode 100755 index 7f01c804..00000000 --- a/data/mapHeaders/Route19.asm +++ /dev/null @@ -1,5 +0,0 @@ - - map_header Route19, ROUTE_19, OVERWORLD, NORTH | WEST - connection north, FuchsiaCity, FUCHSIA_CITY, -5 - connection west, Route20, ROUTE_20, 18 - end_map_header diff --git a/data/mapHeaders/Route2.asm b/data/mapHeaders/Route2.asm deleted file mode 100755 index 521eef69..00000000 --- a/data/mapHeaders/Route2.asm +++ /dev/null @@ -1,5 +0,0 @@ - - map_header Route2, ROUTE_2, OVERWORLD, NORTH | SOUTH - connection north, PewterCity, PEWTER_CITY, -5 - connection south, ViridianCity, VIRIDIAN_CITY, -5 - end_map_header diff --git a/data/mapHeaders/Route20.asm b/data/mapHeaders/Route20.asm deleted file mode 100755 index 3495b785..00000000 --- a/data/mapHeaders/Route20.asm +++ /dev/null @@ -1,5 +0,0 @@ - - map_header Route20, ROUTE_20, OVERWORLD, WEST | EAST - connection west, CinnabarIsland, CINNABAR_ISLAND, 0 - connection east, Route19, ROUTE_19, -18 - end_map_header diff --git a/data/mapHeaders/Route21.asm b/data/mapHeaders/Route21.asm deleted file mode 100755 index 803bf217..00000000 --- a/data/mapHeaders/Route21.asm +++ /dev/null @@ -1,5 +0,0 @@ - - map_header Route21, ROUTE_21, OVERWORLD, NORTH | SOUTH - connection north, PalletTown, PALLET_TOWN, 0 - connection south, CinnabarIsland, CINNABAR_ISLAND, 0 - end_map_header diff --git a/data/mapHeaders/Route22.asm b/data/mapHeaders/Route22.asm deleted file mode 100755 index e235efa1..00000000 --- a/data/mapHeaders/Route22.asm +++ /dev/null @@ -1,5 +0,0 @@ - - map_header Route22, ROUTE_22, OVERWORLD, NORTH | EAST - connection north, Route23, ROUTE_23, 0 - connection east, ViridianCity, VIRIDIAN_CITY, -4 - end_map_header diff --git a/data/mapHeaders/Route22Gate.asm b/data/mapHeaders/Route22Gate.asm deleted file mode 100755 index a9d1dd37..00000000 --- a/data/mapHeaders/Route22Gate.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header Route22Gate, ROUTE_22_GATE, GATE, 0 - end_map_header diff --git a/data/mapHeaders/Route23.asm b/data/mapHeaders/Route23.asm deleted file mode 100755 index e1535c9d..00000000 --- a/data/mapHeaders/Route23.asm +++ /dev/null @@ -1,5 +0,0 @@ - - map_header Route23, ROUTE_23, PLATEAU, NORTH | SOUTH - connection north, IndigoPlateau, INDIGO_PLATEAU, 0 - connection south, Route22, ROUTE_22, 0 - end_map_header diff --git a/data/mapHeaders/Route24.asm b/data/mapHeaders/Route24.asm deleted file mode 100755 index faf53660..00000000 --- a/data/mapHeaders/Route24.asm +++ /dev/null @@ -1,5 +0,0 @@ - - map_header Route24, ROUTE_24, OVERWORLD, SOUTH | EAST - connection south, CeruleanCity, CERULEAN_CITY, -5 - connection east, Route25, ROUTE_25, 0 - end_map_header diff --git a/data/mapHeaders/Route25.asm b/data/mapHeaders/Route25.asm deleted file mode 100755 index 1873d19b..00000000 --- a/data/mapHeaders/Route25.asm +++ /dev/null @@ -1,4 +0,0 @@ - - map_header Route25, ROUTE_25, OVERWORLD, WEST - connection west, Route24, ROUTE_24, 0 - end_map_header diff --git a/data/mapHeaders/Route2Gate.asm b/data/mapHeaders/Route2Gate.asm deleted file mode 100755 index 730d8f2d..00000000 --- a/data/mapHeaders/Route2Gate.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header Route2Gate, ROUTE_2_GATE, GATE, 0 - end_map_header diff --git a/data/mapHeaders/Route2TradeHouse.asm b/data/mapHeaders/Route2TradeHouse.asm deleted file mode 100755 index b9937dad..00000000 --- a/data/mapHeaders/Route2TradeHouse.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header Route2TradeHouse, ROUTE_2_TRADE_HOUSE, HOUSE, 0 - end_map_header diff --git a/data/mapHeaders/Route3.asm b/data/mapHeaders/Route3.asm deleted file mode 100755 index ddbd7783..00000000 --- a/data/mapHeaders/Route3.asm +++ /dev/null @@ -1,5 +0,0 @@ - - map_header Route3, ROUTE_3, OVERWORLD, NORTH | WEST - connection north, Route4, ROUTE_4, 25 - connection west, PewterCity, PEWTER_CITY, -4 - end_map_header diff --git a/data/mapHeaders/Route4.asm b/data/mapHeaders/Route4.asm deleted file mode 100755 index 6c43171a..00000000 --- a/data/mapHeaders/Route4.asm +++ /dev/null @@ -1,5 +0,0 @@ - - map_header Route4, ROUTE_4, OVERWORLD, SOUTH | EAST - connection south, Route3, ROUTE_3, -25 - connection east, CeruleanCity, CERULEAN_CITY, -4 - end_map_header diff --git a/data/mapHeaders/Route5.asm b/data/mapHeaders/Route5.asm deleted file mode 100755 index ea84090c..00000000 --- a/data/mapHeaders/Route5.asm +++ /dev/null @@ -1,5 +0,0 @@ - - map_header Route5, ROUTE_5, OVERWORLD, NORTH | SOUTH - connection north, CeruleanCity, CERULEAN_CITY, -5 - connection south, SaffronCity, SAFFRON_CITY, -5 - end_map_header diff --git a/data/mapHeaders/Route5Gate.asm b/data/mapHeaders/Route5Gate.asm deleted file mode 100755 index a0115533..00000000 --- a/data/mapHeaders/Route5Gate.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header Route5Gate, ROUTE_5_GATE, GATE, 0 - end_map_header diff --git a/data/mapHeaders/Route6.asm b/data/mapHeaders/Route6.asm deleted file mode 100755 index 956aa4d6..00000000 --- a/data/mapHeaders/Route6.asm +++ /dev/null @@ -1,5 +0,0 @@ - - map_header Route6, ROUTE_6, OVERWORLD, NORTH | SOUTH - connection north, SaffronCity, SAFFRON_CITY, -5 - connection south, VermilionCity, VERMILION_CITY, -5 - end_map_header diff --git a/data/mapHeaders/Route6Gate.asm b/data/mapHeaders/Route6Gate.asm deleted file mode 100755 index f80b57c8..00000000 --- a/data/mapHeaders/Route6Gate.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header Route6Gate, ROUTE_6_GATE, GATE, 0 - end_map_header diff --git a/data/mapHeaders/Route7.asm b/data/mapHeaders/Route7.asm deleted file mode 100755 index 8368c3fe..00000000 --- a/data/mapHeaders/Route7.asm +++ /dev/null @@ -1,5 +0,0 @@ - - map_header Route7, ROUTE_7, OVERWORLD, WEST | EAST - connection west, CeladonCity, CELADON_CITY, -4 - connection east, SaffronCity, SAFFRON_CITY, -4 - end_map_header diff --git a/data/mapHeaders/Route7Gate.asm b/data/mapHeaders/Route7Gate.asm deleted file mode 100755 index e9b9b16d..00000000 --- a/data/mapHeaders/Route7Gate.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header Route7Gate, ROUTE_7_GATE, GATE, 0 - end_map_header diff --git a/data/mapHeaders/Route8.asm b/data/mapHeaders/Route8.asm deleted file mode 100755 index 8df9e023..00000000 --- a/data/mapHeaders/Route8.asm +++ /dev/null @@ -1,5 +0,0 @@ - - map_header Route8, ROUTE_8, OVERWORLD, WEST | EAST - connection west, SaffronCity, SAFFRON_CITY, -4 - connection east, LavenderTown, LAVENDER_TOWN, 0 - end_map_header diff --git a/data/mapHeaders/Route8Gate.asm b/data/mapHeaders/Route8Gate.asm deleted file mode 100755 index f6a320a4..00000000 --- a/data/mapHeaders/Route8Gate.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header Route8Gate, ROUTE_8_GATE, GATE, 0 - end_map_header diff --git a/data/mapHeaders/Route9.asm b/data/mapHeaders/Route9.asm deleted file mode 100755 index c1ed9225..00000000 --- a/data/mapHeaders/Route9.asm +++ /dev/null @@ -1,5 +0,0 @@ - - map_header Route9, ROUTE_9, OVERWORLD, WEST | EAST - connection west, CeruleanCity, CERULEAN_CITY, -4 - connection east, Route10, ROUTE_10, 0 - end_map_header diff --git a/data/mapHeaders/SSAnne1F.asm b/data/mapHeaders/SSAnne1F.asm deleted file mode 100755 index 80d25e2d..00000000 --- a/data/mapHeaders/SSAnne1F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SSAnne1F, SS_ANNE_1F, SHIP, 0 - end_map_header diff --git a/data/mapHeaders/SSAnne1FRooms.asm b/data/mapHeaders/SSAnne1FRooms.asm deleted file mode 100755 index 8bdd8d00..00000000 --- a/data/mapHeaders/SSAnne1FRooms.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SSAnne1FRooms, SS_ANNE_1F_ROOMS, SHIP, 0 - end_map_header diff --git a/data/mapHeaders/SSAnne2F.asm b/data/mapHeaders/SSAnne2F.asm deleted file mode 100755 index b2fe14d7..00000000 --- a/data/mapHeaders/SSAnne2F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SSAnne2F, SS_ANNE_2F, SHIP, 0 - end_map_header diff --git a/data/mapHeaders/SSAnne2FRooms.asm b/data/mapHeaders/SSAnne2FRooms.asm deleted file mode 100755 index 2d349e4c..00000000 --- a/data/mapHeaders/SSAnne2FRooms.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SSAnne2FRooms, SS_ANNE_2F_ROOMS, SHIP, 0 - end_map_header diff --git a/data/mapHeaders/SSAnne3F.asm b/data/mapHeaders/SSAnne3F.asm deleted file mode 100755 index f391a0cd..00000000 --- a/data/mapHeaders/SSAnne3F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SSAnne3F, SS_ANNE_3F, SHIP, 0 - end_map_header diff --git a/data/mapHeaders/SSAnneB1F.asm b/data/mapHeaders/SSAnneB1F.asm deleted file mode 100755 index c21d7cff..00000000 --- a/data/mapHeaders/SSAnneB1F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SSAnneB1F, SS_ANNE_B1F, SHIP, 0 - end_map_header diff --git a/data/mapHeaders/SSAnneB1FRooms.asm b/data/mapHeaders/SSAnneB1FRooms.asm deleted file mode 100755 index 1b8b4620..00000000 --- a/data/mapHeaders/SSAnneB1FRooms.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SSAnneB1FRooms, SS_ANNE_B1F_ROOMS, SHIP, 0 - end_map_header diff --git a/data/mapHeaders/SSAnneBow.asm b/data/mapHeaders/SSAnneBow.asm deleted file mode 100755 index 2195e970..00000000 --- a/data/mapHeaders/SSAnneBow.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SSAnneBow, SS_ANNE_BOW, SHIP, 0 - end_map_header diff --git a/data/mapHeaders/SSAnneCaptainsRoom.asm b/data/mapHeaders/SSAnneCaptainsRoom.asm deleted file mode 100755 index a24f930d..00000000 --- a/data/mapHeaders/SSAnneCaptainsRoom.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SSAnneCaptainsRoom, SS_ANNE_CAPTAINS_ROOM, SHIP, 0 - end_map_header diff --git a/data/mapHeaders/SSAnneKitchen.asm b/data/mapHeaders/SSAnneKitchen.asm deleted file mode 100755 index 47e84fbe..00000000 --- a/data/mapHeaders/SSAnneKitchen.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SSAnneKitchen, SS_ANNE_KITCHEN, SHIP, 0 - end_map_header diff --git a/data/mapHeaders/SafariZoneCenter.asm b/data/mapHeaders/SafariZoneCenter.asm deleted file mode 100755 index ccc58ed1..00000000 --- a/data/mapHeaders/SafariZoneCenter.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SafariZoneCenter, SAFARI_ZONE_CENTER, FOREST, 0 - end_map_header diff --git a/data/mapHeaders/SafariZoneCenterRestHouse.asm b/data/mapHeaders/SafariZoneCenterRestHouse.asm deleted file mode 100755 index a866003f..00000000 --- a/data/mapHeaders/SafariZoneCenterRestHouse.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SafariZoneCenterRestHouse, SAFARI_ZONE_CENTER_REST_HOUSE, GATE, 0 - end_map_header diff --git a/data/mapHeaders/SafariZoneEast.asm b/data/mapHeaders/SafariZoneEast.asm deleted file mode 100755 index c23e9334..00000000 --- a/data/mapHeaders/SafariZoneEast.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SafariZoneEast, SAFARI_ZONE_EAST, FOREST, 0 - end_map_header diff --git a/data/mapHeaders/SafariZoneEastRestHouse.asm b/data/mapHeaders/SafariZoneEastRestHouse.asm deleted file mode 100755 index 1f8d76c6..00000000 --- a/data/mapHeaders/SafariZoneEastRestHouse.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SafariZoneEastRestHouse, SAFARI_ZONE_EAST_REST_HOUSE, GATE, 0 - end_map_header diff --git a/data/mapHeaders/SafariZoneGate.asm b/data/mapHeaders/SafariZoneGate.asm deleted file mode 100755 index 7816460d..00000000 --- a/data/mapHeaders/SafariZoneGate.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SafariZoneGate, SAFARI_ZONE_GATE, GATE, 0 - end_map_header diff --git a/data/mapHeaders/SafariZoneNorth.asm b/data/mapHeaders/SafariZoneNorth.asm deleted file mode 100755 index 32639d22..00000000 --- a/data/mapHeaders/SafariZoneNorth.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SafariZoneNorth, SAFARI_ZONE_NORTH, FOREST, 0 - end_map_header diff --git a/data/mapHeaders/SafariZoneNorthRestHouse.asm b/data/mapHeaders/SafariZoneNorthRestHouse.asm deleted file mode 100755 index ec083803..00000000 --- a/data/mapHeaders/SafariZoneNorthRestHouse.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SafariZoneNorthRestHouse, SAFARI_ZONE_NORTH_REST_HOUSE, GATE, 0 - end_map_header diff --git a/data/mapHeaders/SafariZoneSecretHouse.asm b/data/mapHeaders/SafariZoneSecretHouse.asm deleted file mode 100755 index 630577c4..00000000 --- a/data/mapHeaders/SafariZoneSecretHouse.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SafariZoneSecretHouse, SAFARI_ZONE_SECRET_HOUSE, LAB, 0 - end_map_header diff --git a/data/mapHeaders/SafariZoneWest.asm b/data/mapHeaders/SafariZoneWest.asm deleted file mode 100755 index a1117d09..00000000 --- a/data/mapHeaders/SafariZoneWest.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SafariZoneWest, SAFARI_ZONE_WEST, FOREST, 0 - end_map_header diff --git a/data/mapHeaders/SafariZoneWestRestHouse.asm b/data/mapHeaders/SafariZoneWestRestHouse.asm deleted file mode 100755 index e4618e1d..00000000 --- a/data/mapHeaders/SafariZoneWestRestHouse.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SafariZoneWestRestHouse, SAFARI_ZONE_WEST_REST_HOUSE, GATE, 0 - end_map_header diff --git a/data/mapHeaders/SaffronCity.asm b/data/mapHeaders/SaffronCity.asm deleted file mode 100755 index ee1f71e4..00000000 --- a/data/mapHeaders/SaffronCity.asm +++ /dev/null @@ -1,7 +0,0 @@ - - map_header SaffronCity, SAFFRON_CITY, OVERWORLD, NORTH | SOUTH | WEST | EAST - connection north, Route5, ROUTE_5, 5 - connection south, Route6, ROUTE_6, 5 - connection west, Route7, ROUTE_7, 4 - connection east, Route8, ROUTE_8, 4 - end_map_header diff --git a/data/mapHeaders/SaffronGym.asm b/data/mapHeaders/SaffronGym.asm deleted file mode 100755 index 14ee3323..00000000 --- a/data/mapHeaders/SaffronGym.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SaffronGym, SAFFRON_GYM, FACILITY, 0 - end_map_header diff --git a/data/mapHeaders/SaffronMart.asm b/data/mapHeaders/SaffronMart.asm deleted file mode 100755 index f03132d2..00000000 --- a/data/mapHeaders/SaffronMart.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SaffronMart, SAFFRON_MART, MART, 0 - end_map_header diff --git a/data/mapHeaders/SaffronPidgeyHouse.asm b/data/mapHeaders/SaffronPidgeyHouse.asm deleted file mode 100755 index e9f8dde7..00000000 --- a/data/mapHeaders/SaffronPidgeyHouse.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SaffronPidgeyHouse, SAFFRON_PIDGEY_HOUSE, HOUSE, 0 - end_map_header diff --git a/data/mapHeaders/SaffronPokecenter.asm b/data/mapHeaders/SaffronPokecenter.asm deleted file mode 100755 index 9b250050..00000000 --- a/data/mapHeaders/SaffronPokecenter.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SaffronPokecenter, SAFFRON_POKECENTER, POKECENTER, 0 - end_map_header diff --git a/data/mapHeaders/SeafoamIslands1F.asm b/data/mapHeaders/SeafoamIslands1F.asm deleted file mode 100755 index db530549..00000000 --- a/data/mapHeaders/SeafoamIslands1F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SeafoamIslands1F, SEAFOAM_ISLANDS_1F, CAVERN, 0 - end_map_header diff --git a/data/mapHeaders/SeafoamIslandsB1F.asm b/data/mapHeaders/SeafoamIslandsB1F.asm deleted file mode 100755 index 589eef93..00000000 --- a/data/mapHeaders/SeafoamIslandsB1F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SeafoamIslandsB1F, SEAFOAM_ISLANDS_B1F, CAVERN, 0 - end_map_header diff --git a/data/mapHeaders/SeafoamIslandsB2F.asm b/data/mapHeaders/SeafoamIslandsB2F.asm deleted file mode 100755 index f7e624ed..00000000 --- a/data/mapHeaders/SeafoamIslandsB2F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SeafoamIslandsB2F, SEAFOAM_ISLANDS_B2F, CAVERN, 0 - end_map_header diff --git a/data/mapHeaders/SeafoamIslandsB3F.asm b/data/mapHeaders/SeafoamIslandsB3F.asm deleted file mode 100755 index b57da3c0..00000000 --- a/data/mapHeaders/SeafoamIslandsB3F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SeafoamIslandsB3F, SEAFOAM_ISLANDS_B3F, CAVERN, 0 - end_map_header diff --git a/data/mapHeaders/SeafoamIslandsB4F.asm b/data/mapHeaders/SeafoamIslandsB4F.asm deleted file mode 100755 index bae1e3a2..00000000 --- a/data/mapHeaders/SeafoamIslandsB4F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SeafoamIslandsB4F, SEAFOAM_ISLANDS_B4F, CAVERN, 0 - end_map_header diff --git a/data/mapHeaders/SilphCo10F.asm b/data/mapHeaders/SilphCo10F.asm deleted file mode 100755 index 7a6786e7..00000000 --- a/data/mapHeaders/SilphCo10F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SilphCo10F, SILPH_CO_10F, FACILITY, 0 - end_map_header diff --git a/data/mapHeaders/SilphCo11F.asm b/data/mapHeaders/SilphCo11F.asm deleted file mode 100755 index 72eaaca2..00000000 --- a/data/mapHeaders/SilphCo11F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SilphCo11F, SILPH_CO_11F, INTERIOR, 0 - end_map_header diff --git a/data/mapHeaders/SilphCo1F.asm b/data/mapHeaders/SilphCo1F.asm deleted file mode 100755 index 4c4ac97d..00000000 --- a/data/mapHeaders/SilphCo1F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SilphCo1F, SILPH_CO_1F, FACILITY, 0 - end_map_header diff --git a/data/mapHeaders/SilphCo2F.asm b/data/mapHeaders/SilphCo2F.asm deleted file mode 100755 index 7dc44a55..00000000 --- a/data/mapHeaders/SilphCo2F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SilphCo2F, SILPH_CO_2F, FACILITY, 0 - end_map_header diff --git a/data/mapHeaders/SilphCo3F.asm b/data/mapHeaders/SilphCo3F.asm deleted file mode 100755 index 99e4aa15..00000000 --- a/data/mapHeaders/SilphCo3F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SilphCo3F, SILPH_CO_3F, FACILITY, 0 - end_map_header diff --git a/data/mapHeaders/SilphCo4F.asm b/data/mapHeaders/SilphCo4F.asm deleted file mode 100755 index 8eed0f9a..00000000 --- a/data/mapHeaders/SilphCo4F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SilphCo4F, SILPH_CO_4F, FACILITY, 0 - end_map_header diff --git a/data/mapHeaders/SilphCo5F.asm b/data/mapHeaders/SilphCo5F.asm deleted file mode 100755 index 3b40c360..00000000 --- a/data/mapHeaders/SilphCo5F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SilphCo5F, SILPH_CO_5F, FACILITY, 0 - end_map_header diff --git a/data/mapHeaders/SilphCo6F.asm b/data/mapHeaders/SilphCo6F.asm deleted file mode 100755 index 3d2b3b8c..00000000 --- a/data/mapHeaders/SilphCo6F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SilphCo6F, SILPH_CO_6F, FACILITY, 0 - end_map_header diff --git a/data/mapHeaders/SilphCo7F.asm b/data/mapHeaders/SilphCo7F.asm deleted file mode 100755 index 1591837a..00000000 --- a/data/mapHeaders/SilphCo7F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SilphCo7F, SILPH_CO_7F, FACILITY, 0 - end_map_header diff --git a/data/mapHeaders/SilphCo8F.asm b/data/mapHeaders/SilphCo8F.asm deleted file mode 100755 index e676fa86..00000000 --- a/data/mapHeaders/SilphCo8F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SilphCo8F, SILPH_CO_8F, FACILITY, 0 - end_map_header diff --git a/data/mapHeaders/SilphCo9F.asm b/data/mapHeaders/SilphCo9F.asm deleted file mode 100755 index 89f0300a..00000000 --- a/data/mapHeaders/SilphCo9F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SilphCo9F, SILPH_CO_9F, FACILITY, 0 - end_map_header diff --git a/data/mapHeaders/SilphCoElevator.asm b/data/mapHeaders/SilphCoElevator.asm deleted file mode 100755 index 4dd9cd9f..00000000 --- a/data/mapHeaders/SilphCoElevator.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header SilphCoElevator, SILPH_CO_ELEVATOR, LOBBY, 0 - end_map_header diff --git a/data/mapHeaders/TradeCenter.asm b/data/mapHeaders/TradeCenter.asm deleted file mode 100755 index 268d76b2..00000000 --- a/data/mapHeaders/TradeCenter.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header TradeCenter, TRADE_CENTER, CLUB, 0 - end_map_header diff --git a/data/mapHeaders/UndergroundPathNorthSouth.asm b/data/mapHeaders/UndergroundPathNorthSouth.asm deleted file mode 100755 index 4bb03c79..00000000 --- a/data/mapHeaders/UndergroundPathNorthSouth.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header UndergroundPathNorthSouth, UNDERGROUND_PATH_NORTH_SOUTH, UNDERGROUND, 0 - end_map_header diff --git a/data/mapHeaders/UndergroundPathRoute5.asm b/data/mapHeaders/UndergroundPathRoute5.asm deleted file mode 100755 index 18287254..00000000 --- a/data/mapHeaders/UndergroundPathRoute5.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header UndergroundPathRoute5, UNDERGROUND_PATH_ROUTE_5, GATE, 0 - end_map_header diff --git a/data/mapHeaders/UndergroundPathRoute6.asm b/data/mapHeaders/UndergroundPathRoute6.asm deleted file mode 100755 index 67772543..00000000 --- a/data/mapHeaders/UndergroundPathRoute6.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header UndergroundPathRoute6, UNDERGROUND_PATH_ROUTE_6, GATE, 0 - end_map_header diff --git a/data/mapHeaders/UndergroundPathRoute7.asm b/data/mapHeaders/UndergroundPathRoute7.asm deleted file mode 100755 index d70548ed..00000000 --- a/data/mapHeaders/UndergroundPathRoute7.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header UndergroundPathRoute7, UNDERGROUND_PATH_ROUTE_7, GATE, 0 - end_map_header diff --git a/data/mapHeaders/UndergroundPathRoute7Copy.asm b/data/mapHeaders/UndergroundPathRoute7Copy.asm deleted file mode 100755 index 30bb70a8..00000000 --- a/data/mapHeaders/UndergroundPathRoute7Copy.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header UndergroundPathRoute7Copy, UNDERGROUND_PATH_ROUTE_7, GATE, 0 - end_map_header diff --git a/data/mapHeaders/UndergroundPathRoute8.asm b/data/mapHeaders/UndergroundPathRoute8.asm deleted file mode 100755 index 102d8413..00000000 --- a/data/mapHeaders/UndergroundPathRoute8.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header UndergroundPathRoute8, UNDERGROUND_PATH_ROUTE_8, GATE, 0 - end_map_header diff --git a/data/mapHeaders/UndergroundPathWestEast.asm b/data/mapHeaders/UndergroundPathWestEast.asm deleted file mode 100755 index 05976e87..00000000 --- a/data/mapHeaders/UndergroundPathWestEast.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header UndergroundPathWestEast, UNDERGROUND_PATH_WEST_EAST, UNDERGROUND, 0 - end_map_header diff --git a/data/mapHeaders/VermilionCity.asm b/data/mapHeaders/VermilionCity.asm deleted file mode 100755 index e211562c..00000000 --- a/data/mapHeaders/VermilionCity.asm +++ /dev/null @@ -1,5 +0,0 @@ - - map_header VermilionCity, VERMILION_CITY, OVERWORLD, NORTH | EAST - connection north, Route6, ROUTE_6, 5 - connection east, Route11, ROUTE_11, 4 - end_map_header diff --git a/data/mapHeaders/VermilionDock.asm b/data/mapHeaders/VermilionDock.asm deleted file mode 100755 index 9a9b61c2..00000000 --- a/data/mapHeaders/VermilionDock.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header VermilionDock, VERMILION_DOCK, SHIP_PORT, 0 - end_map_header diff --git a/data/mapHeaders/VermilionGym.asm b/data/mapHeaders/VermilionGym.asm deleted file mode 100755 index ca75b8c1..00000000 --- a/data/mapHeaders/VermilionGym.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header VermilionGym, VERMILION_GYM, GYM, 0 - end_map_header diff --git a/data/mapHeaders/VermilionMart.asm b/data/mapHeaders/VermilionMart.asm deleted file mode 100755 index 5777db4b..00000000 --- a/data/mapHeaders/VermilionMart.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header VermilionMart, VERMILION_MART, MART, 0 - end_map_header diff --git a/data/mapHeaders/VermilionOldRodHouse.asm b/data/mapHeaders/VermilionOldRodHouse.asm deleted file mode 100755 index f9c890e0..00000000 --- a/data/mapHeaders/VermilionOldRodHouse.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header VermilionOldRodHouse, VERMILION_OLD_ROD_HOUSE, HOUSE, 0 - end_map_header diff --git a/data/mapHeaders/VermilionPidgeyHouse.asm b/data/mapHeaders/VermilionPidgeyHouse.asm deleted file mode 100755 index afb81784..00000000 --- a/data/mapHeaders/VermilionPidgeyHouse.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header VermilionPidgeyHouse, VERMILION_PIDGEY_HOUSE, HOUSE, 0 - end_map_header diff --git a/data/mapHeaders/VermilionPokecenter.asm b/data/mapHeaders/VermilionPokecenter.asm deleted file mode 100755 index af9827ac..00000000 --- a/data/mapHeaders/VermilionPokecenter.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header VermilionPokecenter, VERMILION_POKECENTER, POKECENTER, 0 - end_map_header diff --git a/data/mapHeaders/VermilionTradeHouse.asm b/data/mapHeaders/VermilionTradeHouse.asm deleted file mode 100755 index 3cb82c47..00000000 --- a/data/mapHeaders/VermilionTradeHouse.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header VermilionTradeHouse, VERMILION_TRADE_HOUSE, HOUSE, 0 - end_map_header diff --git a/data/mapHeaders/VictoryRoad1F.asm b/data/mapHeaders/VictoryRoad1F.asm deleted file mode 100755 index dae95f16..00000000 --- a/data/mapHeaders/VictoryRoad1F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header VictoryRoad1F, VICTORY_ROAD_1F, CAVERN, 0 - end_map_header diff --git a/data/mapHeaders/VictoryRoad2F.asm b/data/mapHeaders/VictoryRoad2F.asm deleted file mode 100755 index 99079ad3..00000000 --- a/data/mapHeaders/VictoryRoad2F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header VictoryRoad2F, VICTORY_ROAD_2F, CAVERN, 0 - end_map_header diff --git a/data/mapHeaders/VictoryRoad3F.asm b/data/mapHeaders/VictoryRoad3F.asm deleted file mode 100755 index bc15cad7..00000000 --- a/data/mapHeaders/VictoryRoad3F.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header VictoryRoad3F, VICTORY_ROAD_3F, CAVERN, 0 - end_map_header diff --git a/data/mapHeaders/ViridianCity.asm b/data/mapHeaders/ViridianCity.asm deleted file mode 100755 index 0771cc81..00000000 --- a/data/mapHeaders/ViridianCity.asm +++ /dev/null @@ -1,6 +0,0 @@ - - map_header ViridianCity, VIRIDIAN_CITY, OVERWORLD, NORTH | SOUTH | WEST - connection north, Route2, ROUTE_2, 5 - connection south, Route1, ROUTE_1, 5 - connection west, Route22, ROUTE_22, 4 - end_map_header diff --git a/data/mapHeaders/ViridianForest.asm b/data/mapHeaders/ViridianForest.asm deleted file mode 100755 index d531ec86..00000000 --- a/data/mapHeaders/ViridianForest.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header ViridianForest, VIRIDIAN_FOREST, FOREST, 0 - end_map_header diff --git a/data/mapHeaders/ViridianForestNorthGate.asm b/data/mapHeaders/ViridianForestNorthGate.asm deleted file mode 100755 index 5bfcd6ed..00000000 --- a/data/mapHeaders/ViridianForestNorthGate.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header ViridianForestNorthGate, VIRIDIAN_FOREST_NORTH_GATE, FOREST_GATE, 0 - end_map_header diff --git a/data/mapHeaders/ViridianForestSouthGate.asm b/data/mapHeaders/ViridianForestSouthGate.asm deleted file mode 100755 index 87a49284..00000000 --- a/data/mapHeaders/ViridianForestSouthGate.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header ViridianForestSouthGate, VIRIDIAN_FOREST_SOUTH_GATE, FOREST_GATE, 0 - end_map_header diff --git a/data/mapHeaders/ViridianGym.asm b/data/mapHeaders/ViridianGym.asm deleted file mode 100755 index 640a71b6..00000000 --- a/data/mapHeaders/ViridianGym.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header ViridianGym, VIRIDIAN_GYM, GYM, 0 - end_map_header diff --git a/data/mapHeaders/ViridianMart.asm b/data/mapHeaders/ViridianMart.asm deleted file mode 100755 index 817b5265..00000000 --- a/data/mapHeaders/ViridianMart.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header ViridianMart, VIRIDIAN_MART, MART, 0 - end_map_header diff --git a/data/mapHeaders/ViridianNicknameHouse.asm b/data/mapHeaders/ViridianNicknameHouse.asm deleted file mode 100755 index 5a7c272f..00000000 --- a/data/mapHeaders/ViridianNicknameHouse.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header ViridianNicknameHouse, VIRIDIAN_NICKNAME_HOUSE, HOUSE, 0 - end_map_header diff --git a/data/mapHeaders/ViridianPokecenter.asm b/data/mapHeaders/ViridianPokecenter.asm deleted file mode 100755 index daac19f3..00000000 --- a/data/mapHeaders/ViridianPokecenter.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header ViridianPokecenter, VIRIDIAN_POKECENTER, POKECENTER, 0 - end_map_header diff --git a/data/mapHeaders/ViridianSchoolHouse.asm b/data/mapHeaders/ViridianSchoolHouse.asm deleted file mode 100755 index f5b77212..00000000 --- a/data/mapHeaders/ViridianSchoolHouse.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header ViridianSchoolHouse, VIRIDIAN_SCHOOL_HOUSE, HOUSE, 0 - end_map_header diff --git a/data/mapHeaders/WardensHouse.asm b/data/mapHeaders/WardensHouse.asm deleted file mode 100755 index 08216f59..00000000 --- a/data/mapHeaders/WardensHouse.asm +++ /dev/null @@ -1,3 +0,0 @@ - - map_header WardensHouse, WARDENS_HOUSE, LAB, 0 - end_map_header diff --git a/data/mapObjects/AgathasRoom.asm b/data/mapObjects/AgathasRoom.asm deleted file mode 100755 index 4a82e78d..00000000 --- a/data/mapObjects/AgathasRoom.asm +++ /dev/null @@ -1,19 +0,0 @@ -AgathasRoom_Object: - db $0 ; border block - - db 4 ; warps - warp 4, 11, 2, BRUNOS_ROOM - warp 5, 11, 3, BRUNOS_ROOM - warp 4, 0, 0, LANCES_ROOM - warp 5, 0, 0, LANCES_ROOM - - db 0 ; signs - - db 1 ; objects - object SPRITE_AGATHA, 5, 2, STAY, DOWN, 1, OPP_AGATHA, 1 - - ; warp-to - warp_to 4, 11, AGATHAS_ROOM_WIDTH ; BRUNOS_ROOM - warp_to 5, 11, AGATHAS_ROOM_WIDTH ; BRUNOS_ROOM - warp_to 4, 0, AGATHAS_ROOM_WIDTH ; LANCES_ROOM - warp_to 5, 0, AGATHAS_ROOM_WIDTH ; LANCES_ROOM diff --git a/data/mapObjects/BikeShop.asm b/data/mapObjects/BikeShop.asm deleted file mode 100755 index 9f21ab3e..00000000 --- a/data/mapObjects/BikeShop.asm +++ /dev/null @@ -1,17 +0,0 @@ -BikeShop_Object: - db $e ; border block - - db 2 ; warps - warp 2, 7, 4, -1 - warp 3, 7, 4, -1 - - db 0 ; signs - - db 3 ; objects - object SPRITE_BIKE_SHOP_GUY, 6, 2, STAY, NONE, 1 ; person - object SPRITE_MOM_GEISHA, 5, 6, WALK, 1, 2 ; person - object SPRITE_BUG_CATCHER, 1, 3, STAY, UP, 3 ; person - - ; warp-to - warp_to 2, 7, BIKE_SHOP_WIDTH - warp_to 3, 7, BIKE_SHOP_WIDTH diff --git a/data/mapObjects/BillsHouse.asm b/data/mapObjects/BillsHouse.asm deleted file mode 100755 index c8f708cb..00000000 --- a/data/mapObjects/BillsHouse.asm +++ /dev/null @@ -1,17 +0,0 @@ -BillsHouse_Object: - db $d ; border block - - db 2 ; warps - warp 2, 7, 0, -1 - warp 3, 7, 0, -1 - - db 0 ; signs - - db 3 ; objects - object SPRITE_SLOWBRO, 6, 5, STAY, NONE, 1 ; person - object SPRITE_BLACK_HAIR_BOY_2, 4, 4, STAY, NONE, 2 ; person - object SPRITE_BLACK_HAIR_BOY_2, 6, 5, STAY, NONE, 3 ; person - - ; warp-to - warp_to 2, 7, BILLS_HOUSE_WIDTH - warp_to 3, 7, BILLS_HOUSE_WIDTH diff --git a/data/mapObjects/BluesHouse.asm b/data/mapObjects/BluesHouse.asm deleted file mode 100755 index 45ca1286..00000000 --- a/data/mapObjects/BluesHouse.asm +++ /dev/null @@ -1,17 +0,0 @@ -BluesHouse_Object: - db $a ; border block - - db 2 ; warps - warp 2, 7, 1, -1 - warp 3, 7, 1, -1 - - db 0 ; signs - - db 3 ; objects - object SPRITE_DAISY, 2, 3, STAY, RIGHT, 1 ; Daisy, sitting by map - object SPRITE_DAISY, 6, 4, WALK, 1, 2, 0 ; Daisy, walking around - object SPRITE_BOOK_MAP_DEX, 3, 3, STAY, NONE, 3, 0 ; map on table - - ; warp-to - warp_to 2, 7, BLUES_HOUSE_WIDTH - warp_to 3, 7, BLUES_HOUSE_WIDTH diff --git a/data/mapObjects/BrunosRoom.asm b/data/mapObjects/BrunosRoom.asm deleted file mode 100755 index dde1e2dd..00000000 --- a/data/mapObjects/BrunosRoom.asm +++ /dev/null @@ -1,19 +0,0 @@ -BrunosRoom_Object: - db $3 ; border block - - db 4 ; warps - warp 4, 11, 2, LORELEIS_ROOM - warp 5, 11, 3, LORELEIS_ROOM - warp 4, 0, 0, AGATHAS_ROOM - warp 5, 0, 1, AGATHAS_ROOM - - db 0 ; signs - - db 1 ; objects - object SPRITE_BRUNO, 5, 2, STAY, DOWN, 1, OPP_BRUNO, 1 - - ; warp-to - warp_to 4, 11, BRUNOS_ROOM_WIDTH ; LORELEIS_ROOM - warp_to 5, 11, BRUNOS_ROOM_WIDTH ; LORELEIS_ROOM - warp_to 4, 0, BRUNOS_ROOM_WIDTH ; AGATHAS_ROOM - warp_to 5, 0, BRUNOS_ROOM_WIDTH ; AGATHAS_ROOM diff --git a/data/mapObjects/CeladonChiefHouse.asm b/data/mapObjects/CeladonChiefHouse.asm deleted file mode 100755 index 88850f35..00000000 --- a/data/mapObjects/CeladonChiefHouse.asm +++ /dev/null @@ -1,17 +0,0 @@ -CeladonChiefHouse_Object: - db $f ; border block - - db 2 ; warps - warp 2, 7, 11, -1 - warp 3, 7, 11, -1 - - db 0 ; signs - - db 3 ; objects - object SPRITE_OLD_PERSON, 4, 2, STAY, DOWN, 1 ; person - object SPRITE_ROCKET, 1, 4, WALK, 0, 2 ; person - object SPRITE_SAILOR, 5, 6, STAY, LEFT, 3 ; person - - ; warp-to - warp_to 2, 7, CELADON_CHIEF_HOUSE_WIDTH - warp_to 3, 7, CELADON_CHIEF_HOUSE_WIDTH diff --git a/data/mapObjects/CeladonCity.asm b/data/mapObjects/CeladonCity.asm deleted file mode 100755 index 005fc61e..00000000 --- a/data/mapObjects/CeladonCity.asm +++ /dev/null @@ -1,54 +0,0 @@ -CeladonCity_Object: - db $f ; border block - - db 13 ; warps - warp 8, 13, 0, CELADON_MART_1F - warp 10, 13, 2, CELADON_MART_1F - warp 24, 9, 0, CELADON_MANSION_1F - warp 24, 3, 2, CELADON_MANSION_1F - warp 25, 3, 2, CELADON_MANSION_1F - warp 41, 9, 0, CELADON_POKECENTER - warp 12, 27, 0, CELADON_GYM - warp 28, 19, 0, GAME_CORNER - warp 39, 19, 0, CELADON_MART_5F ; beta warp! no longer used - warp 33, 19, 0, GAME_CORNER_PRIZE_ROOM - warp 31, 27, 0, CELADON_DINER - warp 35, 27, 0, CELADON_CHIEF_HOUSE - warp 43, 27, 0, CELADON_HOTEL - - db 9 ; signs - sign 27, 15, 10 ; CeladonCityText10 - sign 19, 15, 11 ; CeladonCityText11 - sign 42, 9, 12 ; PokeCenterSignText - sign 13, 29, 13 ; CeladonCityText13 - sign 21, 9, 14 ; CeladonCityText14 - sign 12, 13, 15 ; CeladonCityText15 - sign 39, 21, 16 ; CeladonCityText16 - sign 33, 21, 17 ; CeladonCityText17 - sign 27, 21, 18 ; CeladonCityText18 - - db 9 ; objects - object SPRITE_LITTLE_GIRL, 8, 17, WALK, 0, 1 ; person - object SPRITE_OLD_PERSON, 11, 28, STAY, UP, 2 ; person - object SPRITE_GIRL, 14, 19, WALK, 1, 3 ; person - object SPRITE_OLD_PERSON, 25, 22, STAY, DOWN, 4 ; person - object SPRITE_OLD_PERSON, 22, 16, STAY, DOWN, 5 ; person - object SPRITE_FISHER2, 32, 12, STAY, LEFT, 6 ; person - object SPRITE_SLOWBRO, 30, 12, STAY, RIGHT, 7 ; person - object SPRITE_ROCKET, 32, 29, WALK, 2, 8 ; person - object SPRITE_ROCKET, 42, 14, WALK, 2, 9 ; person - - ; warp-to - warp_to 8, 13, CELADON_CITY_WIDTH ; CELADON_MART_1F - warp_to 10, 13, CELADON_CITY_WIDTH ; CELADON_MART_1F - warp_to 24, 9, CELADON_CITY_WIDTH ; CELADON_MANSION_1F - warp_to 24, 3, CELADON_CITY_WIDTH ; CELADON_MANSION_1F - warp_to 25, 3, CELADON_CITY_WIDTH ; CELADON_MANSION_1F - warp_to 41, 9, CELADON_CITY_WIDTH ; CELADON_POKECENTER - warp_to 12, 27, CELADON_CITY_WIDTH ; CELADON_GYM - warp_to 28, 19, CELADON_CITY_WIDTH ; GAME_CORNER - warp_to 39, 19, CELADON_CITY_WIDTH ; CELADON_MART_5F - warp_to 33, 19, CELADON_CITY_WIDTH ; GAME_CORNER_PRIZE_ROOM - warp_to 31, 27, CELADON_CITY_WIDTH ; CELADON_DINER - warp_to 35, 27, CELADON_CITY_WIDTH ; CELADON_CHIEF_HOUSE - warp_to 43, 27, CELADON_CITY_WIDTH ; CELADON_HOTEL diff --git a/data/mapObjects/CeladonDiner.asm b/data/mapObjects/CeladonDiner.asm deleted file mode 100755 index 0a4a895d..00000000 --- a/data/mapObjects/CeladonDiner.asm +++ /dev/null @@ -1,19 +0,0 @@ -CeladonDiner_Object: - db $f ; border block - - db 2 ; warps - warp 3, 7, 10, -1 - warp 4, 7, 10, -1 - - db 0 ; signs - - db 5 ; objects - object SPRITE_COOK, 8, 5, WALK, 2, 1 ; person - object SPRITE_MOM_GEISHA, 7, 2, STAY, NONE, 2 ; person - object SPRITE_FAT_BALD_GUY, 1, 4, STAY, DOWN, 3 ; person - object SPRITE_FISHER2, 5, 3, STAY, RIGHT, 4 ; person - object SPRITE_GYM_HELPER, 0, 1, STAY, DOWN, 5 ; person - - ; warp-to - warp_to 3, 7, CELADON_DINER_WIDTH - warp_to 4, 7, CELADON_DINER_WIDTH diff --git a/data/mapObjects/CeladonGym.asm b/data/mapObjects/CeladonGym.asm deleted file mode 100755 index 98fce576..00000000 --- a/data/mapObjects/CeladonGym.asm +++ /dev/null @@ -1,22 +0,0 @@ -CeladonGym_Object: - db $3 ; border block - - db 2 ; warps - warp 4, 17, 6, -1 - warp 5, 17, 6, -1 - - db 0 ; signs - - db 8 ; objects - object SPRITE_ERIKA, 4, 3, STAY, DOWN, 1, OPP_ERIKA, 1 - object SPRITE_LASS, 2, 11, STAY, RIGHT, 2, OPP_LASS, 17 - object SPRITE_FOULARD_WOMAN, 7, 10, STAY, LEFT, 3, OPP_BEAUTY, 1 - object SPRITE_LASS, 9, 5, STAY, DOWN, 4, OPP_JR_TRAINER_F, 11 - object SPRITE_FOULARD_WOMAN, 1, 5, STAY, DOWN, 5, OPP_BEAUTY, 2 - object SPRITE_LASS, 6, 3, STAY, DOWN, 6, OPP_LASS, 18 - object SPRITE_FOULARD_WOMAN, 3, 3, STAY, DOWN, 7, OPP_BEAUTY, 3 - object SPRITE_LASS, 5, 3, STAY, DOWN, 8, OPP_COOLTRAINER_F, 1 - - ; warp-to - warp_to 4, 17, CELADON_GYM_WIDTH - warp_to 5, 17, CELADON_GYM_WIDTH diff --git a/data/mapObjects/CeladonHotel.asm b/data/mapObjects/CeladonHotel.asm deleted file mode 100755 index f4aa1305..00000000 --- a/data/mapObjects/CeladonHotel.asm +++ /dev/null @@ -1,17 +0,0 @@ -CeladonHotel_Object: - db $0 ; border block - - db 2 ; warps - warp 3, 7, 12, -1 - warp 4, 7, 12, -1 - - db 0 ; signs - - db 3 ; objects - object SPRITE_OLD_MEDIUM_WOMAN, 3, 1, STAY, DOWN, 1 ; person - object SPRITE_FOULARD_WOMAN, 2, 4, STAY, NONE, 2 ; person - object SPRITE_BLACK_HAIR_BOY_2, 8, 4, WALK, 2, 3 ; person - - ; warp-to - warp_to 3, 7, CELADON_HOTEL_WIDTH - warp_to 4, 7, CELADON_HOTEL_WIDTH diff --git a/data/mapObjects/CeladonMansion1F.asm b/data/mapObjects/CeladonMansion1F.asm deleted file mode 100755 index 1abd434c..00000000 --- a/data/mapObjects/CeladonMansion1F.asm +++ /dev/null @@ -1,25 +0,0 @@ -CeladonMansion1F_Object: - db $f ; border block - - db 5 ; warps - warp 4, 11, 2, -1 - warp 5, 11, 2, -1 - warp 4, 0, 4, -1 - warp 7, 1, 1, CELADON_MANSION_2F - warp 2, 1, 2, CELADON_MANSION_2F - - db 1 ; signs - sign 4, 9, 5 ; CeladonMansion1Text5 - - db 4 ; objects - object SPRITE_SLOWBRO, 0, 5, STAY, RIGHT, 1 ; person - object SPRITE_OLD_MEDIUM_WOMAN, 1, 5, STAY, DOWN, 2 ; person - object SPRITE_CLEFAIRY, 1, 8, WALK, 2, 3 ; person - object SPRITE_SLOWBRO, 4, 4, WALK, 1, 4 ; person - - ; warp-to - warp_to 4, 11, CELADON_MANSION_1F_WIDTH - warp_to 5, 11, CELADON_MANSION_1F_WIDTH - warp_to 4, 0, CELADON_MANSION_1F_WIDTH - warp_to 7, 1, CELADON_MANSION_1F_WIDTH ; CELADON_MANSION_2F - warp_to 2, 1, CELADON_MANSION_1F_WIDTH ; CELADON_MANSION_2F diff --git a/data/mapObjects/CeladonMansion2F.asm b/data/mapObjects/CeladonMansion2F.asm deleted file mode 100755 index 09c94d29..00000000 --- a/data/mapObjects/CeladonMansion2F.asm +++ /dev/null @@ -1,19 +0,0 @@ -CeladonMansion2F_Object: - db $f ; border block - - db 4 ; warps - warp 6, 1, 0, CELADON_MANSION_3F - warp 7, 1, 3, CELADON_MANSION_1F - warp 2, 1, 4, CELADON_MANSION_1F - warp 4, 1, 3, CELADON_MANSION_3F - - db 1 ; signs - sign 4, 9, 1 ; CeladonMansion2Text1 - - db 0 ; objects - - ; warp-to - warp_to 6, 1, CELADON_MANSION_2F_WIDTH ; CELADON_MANSION_3F - warp_to 7, 1, CELADON_MANSION_2F_WIDTH ; CELADON_MANSION_1F - warp_to 2, 1, CELADON_MANSION_2F_WIDTH ; CELADON_MANSION_1F - warp_to 4, 1, CELADON_MANSION_2F_WIDTH ; CELADON_MANSION_3F diff --git a/data/mapObjects/CeladonMansion3F.asm b/data/mapObjects/CeladonMansion3F.asm deleted file mode 100755 index 32701f14..00000000 --- a/data/mapObjects/CeladonMansion3F.asm +++ /dev/null @@ -1,26 +0,0 @@ -CeladonMansion3F_Object: - db $f ; border block - - db 4 ; warps - warp 6, 1, 0, CELADON_MANSION_2F - warp 7, 1, 0, CELADON_MANSION_ROOF - warp 2, 1, 1, CELADON_MANSION_ROOF - warp 4, 1, 3, CELADON_MANSION_2F - - db 4 ; signs - sign 1, 3, 5 ; CeladonMansion3Text5 - sign 4, 3, 6 ; CeladonMansion3Text6 - sign 1, 6, 7 ; CeladonMansion3Text7 - sign 4, 9, 8 ; CeladonMansion3Text8 - - db 4 ; objects - object SPRITE_BIKE_SHOP_GUY, 0, 4, STAY, UP, 1 ; person - object SPRITE_MART_GUY, 3, 4, STAY, UP, 2 ; person - object SPRITE_BLACK_HAIR_BOY_2, 0, 7, STAY, UP, 3 ; person - object SPRITE_LAPRAS_GIVER, 2, 3, STAY, NONE, 4 ; person - - ; warp-to - warp_to 6, 1, CELADON_MANSION_3F_WIDTH ; CELADON_MANSION_2F - warp_to 7, 1, CELADON_MANSION_3F_WIDTH ; CELADON_MANSION_ROOF - warp_to 2, 1, CELADON_MANSION_3F_WIDTH ; CELADON_MANSION_ROOF - warp_to 4, 1, CELADON_MANSION_3F_WIDTH ; CELADON_MANSION_2F diff --git a/data/mapObjects/CeladonMansionRoof.asm b/data/mapObjects/CeladonMansionRoof.asm deleted file mode 100755 index 353b0b96..00000000 --- a/data/mapObjects/CeladonMansionRoof.asm +++ /dev/null @@ -1,17 +0,0 @@ -CeladonMansionRoof_Object: - db $9 ; border block - - db 3 ; warps - warp 6, 1, 1, CELADON_MANSION_3F - warp 2, 1, 2, CELADON_MANSION_3F - warp 2, 7, 0, CELADON_MANSION_ROOF_HOUSE - - db 1 ; signs - sign 3, 7, 1 ; CeladonMansion4Text1 - - db 0 ; objects - - ; warp-to - warp_to 6, 1, CELADON_MANSION_ROOF_WIDTH ; CELADON_MANSION_3F - warp_to 2, 1, CELADON_MANSION_ROOF_WIDTH ; CELADON_MANSION_3F - warp_to 2, 7, CELADON_MANSION_ROOF_WIDTH ; CELADON_MANSION_ROOF_HOUSE diff --git a/data/mapObjects/CeladonMansionRoofHouse.asm b/data/mapObjects/CeladonMansionRoofHouse.asm deleted file mode 100755 index b6a6149f..00000000 --- a/data/mapObjects/CeladonMansionRoofHouse.asm +++ /dev/null @@ -1,16 +0,0 @@ -CeladonMansionRoofHouse_Object: - db $a ; border block - - db 2 ; warps - warp 2, 7, 2, CELADON_MANSION_ROOF - warp 3, 7, 2, CELADON_MANSION_ROOF - - db 0 ; signs - - db 2 ; objects - object SPRITE_HIKER, 2, 2, STAY, DOWN, 1 ; person - object SPRITE_BALL, 4, 3, STAY, NONE, 2 ; person - - ; warp-to - warp_to 2, 7, CELADON_MANSION_ROOF_HOUSE_WIDTH ; CELADON_MANSION_ROOF - warp_to 3, 7, CELADON_MANSION_ROOF_HOUSE_WIDTH ; CELADON_MANSION_ROOF diff --git a/data/mapObjects/CeladonMart1F.asm b/data/mapObjects/CeladonMart1F.asm deleted file mode 100755 index 2037369a..00000000 --- a/data/mapObjects/CeladonMart1F.asm +++ /dev/null @@ -1,25 +0,0 @@ -CeladonMart1F_Object: - db $f ; border block - - db 6 ; warps - warp 2, 7, 0, -1 - warp 3, 7, 0, -1 - warp 16, 7, 1, -1 - warp 17, 7, 1, -1 - warp 12, 1, 0, CELADON_MART_2F - warp 1, 1, 0, CELADON_MART_ELEVATOR - - db 2 ; signs - sign 11, 4, 2 ; CeladonMart1Text2 - sign 14, 1, 3 ; CeladonMart1Text3 - - db 1 ; objects - object SPRITE_CABLE_CLUB_WOMAN, 8, 3, STAY, DOWN, 1 ; person - - ; warp-to - warp_to 2, 7, CELADON_MART_1F_WIDTH - warp_to 3, 7, CELADON_MART_1F_WIDTH - warp_to 16, 7, CELADON_MART_1F_WIDTH - warp_to 17, 7, CELADON_MART_1F_WIDTH - warp_to 12, 1, CELADON_MART_1F_WIDTH ; CELADON_MART_2F - warp_to 1, 1, CELADON_MART_1F_WIDTH ; CELADON_MART_ELEVATOR diff --git a/data/mapObjects/CeladonMart2F.asm b/data/mapObjects/CeladonMart2F.asm deleted file mode 100755 index 2f5f428e..00000000 --- a/data/mapObjects/CeladonMart2F.asm +++ /dev/null @@ -1,21 +0,0 @@ -CeladonMart2F_Object: - db $f ; border block - - db 3 ; warps - warp 12, 1, 4, CELADON_MART_1F - warp 16, 1, 1, CELADON_MART_3F - warp 1, 1, 0, CELADON_MART_ELEVATOR - - db 1 ; signs - sign 14, 1, 5 ; CeladonMart2Text5 - - db 4 ; objects - object SPRITE_MART_GUY, 5, 3, STAY, DOWN, 1 ; person - object SPRITE_MART_GUY, 6, 3, STAY, DOWN, 2 ; person - object SPRITE_FAT_BALD_GUY, 19, 5, STAY, NONE, 3 ; person - object SPRITE_GIRL, 14, 4, WALK, 1, 4 ; person - - ; warp-to - warp_to 12, 1, CELADON_MART_2F_WIDTH ; CELADON_MART_1F - warp_to 16, 1, CELADON_MART_2F_WIDTH ; CELADON_MART_3F - warp_to 1, 1, CELADON_MART_2F_WIDTH ; CELADON_MART_ELEVATOR diff --git a/data/mapObjects/CeladonMart3F.asm b/data/mapObjects/CeladonMart3F.asm deleted file mode 100755 index 6dfce535..00000000 --- a/data/mapObjects/CeladonMart3F.asm +++ /dev/null @@ -1,33 +0,0 @@ -CeladonMart3F_Object: - db $f ; border block - - db 3 ; warps - warp 12, 1, 0, CELADON_MART_4F - warp 16, 1, 1, CELADON_MART_2F - warp 1, 1, 0, CELADON_MART_ELEVATOR - - db 12 ; signs - sign 2, 4, 6 ; CeladonMart3Text6 - sign 3, 4, 7 ; CeladonMart3Text7 - sign 5, 4, 8 ; CeladonMart3Text8 - sign 6, 4, 9 ; CeladonMart3Text9 - sign 2, 6, 10 ; CeladonMart3Text10 - sign 3, 6, 11 ; CeladonMart3Text11 - sign 5, 6, 12 ; CeladonMart3Text12 - sign 6, 6, 13 ; CeladonMart3Text13 - sign 14, 1, 14 ; CeladonMart3Text14 - sign 4, 1, 15 ; CeladonMart3Text15 - sign 6, 1, 16 ; CeladonMart3Text16 - sign 10, 1, 17 ; CeladonMart3Text17 - - db 5 ; objects - object SPRITE_MART_GUY, 16, 5, STAY, NONE, 1 ; person - object SPRITE_GAMEBOY_KID_COPY, 11, 6, STAY, RIGHT, 2 ; person - object SPRITE_GAMEBOY_KID_COPY, 7, 2, STAY, DOWN, 3 ; person - object SPRITE_GAMEBOY_KID_COPY, 8, 2, STAY, DOWN, 4 ; person - object SPRITE_YOUNG_BOY, 2, 5, STAY, UP, 5 ; person - - ; warp-to - warp_to 12, 1, CELADON_MART_3F_WIDTH ; CELADON_MART_4F - warp_to 16, 1, CELADON_MART_3F_WIDTH ; CELADON_MART_2F - warp_to 1, 1, CELADON_MART_3F_WIDTH ; CELADON_MART_ELEVATOR diff --git a/data/mapObjects/CeladonMart4F.asm b/data/mapObjects/CeladonMart4F.asm deleted file mode 100755 index 18ba3bdc..00000000 --- a/data/mapObjects/CeladonMart4F.asm +++ /dev/null @@ -1,20 +0,0 @@ -CeladonMart4F_Object: - db $f ; border block - - db 3 ; warps - warp 12, 1, 0, CELADON_MART_3F - warp 16, 1, 1, CELADON_MART_5F - warp 1, 1, 0, CELADON_MART_ELEVATOR - - db 1 ; signs - sign 14, 1, 4 ; CeladonMart4Text4 - - db 3 ; objects - object SPRITE_MART_GUY, 5, 7, STAY, NONE, 1 ; person - object SPRITE_BLACK_HAIR_BOY_2, 15, 5, WALK, 2, 2 ; person - object SPRITE_BUG_CATCHER, 5, 2, WALK, 2, 3 ; person - - ; warp-to - warp_to 12, 1, CELADON_MART_4F_WIDTH ; CELADON_MART_3F - warp_to 16, 1, CELADON_MART_4F_WIDTH ; CELADON_MART_5F - warp_to 1, 1, CELADON_MART_4F_WIDTH ; CELADON_MART_ELEVATOR diff --git a/data/mapObjects/CeladonMart5F.asm b/data/mapObjects/CeladonMart5F.asm deleted file mode 100755 index fb1201c9..00000000 --- a/data/mapObjects/CeladonMart5F.asm +++ /dev/null @@ -1,21 +0,0 @@ -CeladonMart5F_Object: - db $f ; border block - - db 3 ; warps - warp 12, 1, 0, CELADON_MART_ROOF - warp 16, 1, 1, CELADON_MART_4F - warp 1, 1, 0, CELADON_MART_ELEVATOR - - db 1 ; signs - sign 14, 1, 5 ; CeladonMart5Text5 - - db 4 ; objects - object SPRITE_GENTLEMAN, 14, 5, WALK, 1, 1 ; person - object SPRITE_SAILOR, 2, 6, STAY, NONE, 2 ; person - object SPRITE_MART_GUY, 5, 3, STAY, DOWN, 3 ; person - object SPRITE_MART_GUY, 6, 3, STAY, DOWN, 4 ; person - - ; warp-to - warp_to 12, 1, CELADON_MART_5F_WIDTH ; CELADON_MART_ROOF - warp_to 16, 1, CELADON_MART_5F_WIDTH ; CELADON_MART_4F - warp_to 1, 1, CELADON_MART_5F_WIDTH ; CELADON_MART_ELEVATOR diff --git a/data/mapObjects/CeladonMartElevator.asm b/data/mapObjects/CeladonMartElevator.asm deleted file mode 100755 index 9688daef..00000000 --- a/data/mapObjects/CeladonMartElevator.asm +++ /dev/null @@ -1,15 +0,0 @@ -CeladonMartElevator_Object: - db $f ; border block - - db 2 ; warps - warp 1, 3, 5, CELADON_MART_1F - warp 2, 3, 5, CELADON_MART_1F - - db 1 ; signs - sign 3, 0, 1 ; CeladonMartElevatorText1 - - db 0 ; objects - - ; warp-to - warp_to 1, 3, CELADON_MART_ELEVATOR_WIDTH ; CELADON_MART_1F - warp_to 2, 3, CELADON_MART_ELEVATOR_WIDTH ; CELADON_MART_1F diff --git a/data/mapObjects/CeladonMartRoof.asm b/data/mapObjects/CeladonMartRoof.asm deleted file mode 100755 index 05cef2d4..00000000 --- a/data/mapObjects/CeladonMartRoof.asm +++ /dev/null @@ -1,18 +0,0 @@ -CeladonMartRoof_Object: - db $42 ; border block - - db 1 ; warps - warp 15, 2, 0, CELADON_MART_5F - - db 4 ; signs - sign 10, 1, 3 ; CeladonMartRoofText3 - sign 11, 1, 4 ; CeladonMartRoofText4 - sign 12, 2, 5 ; CeladonMartRoofText5 - sign 13, 2, 6 ; CeladonMartRoofText6 - - db 2 ; objects - object SPRITE_BLACK_HAIR_BOY_2, 10, 4, STAY, LEFT, 1 ; person - object SPRITE_LITTLE_GIRL, 5, 5, WALK, 0, 2 ; person - - ; warp-to - warp_to 15, 2, CELADON_MART_ROOF_WIDTH ; CELADON_MART_5F diff --git a/data/mapObjects/CeladonPokecenter.asm b/data/mapObjects/CeladonPokecenter.asm deleted file mode 100755 index da5d595f..00000000 --- a/data/mapObjects/CeladonPokecenter.asm +++ /dev/null @@ -1,18 +0,0 @@ -CeladonPokecenter_Object: - db $0 ; border block - - db 2 ; warps - warp 3, 7, 5, -1 - warp 4, 7, 5, -1 - - db 0 ; signs - - db 4 ; objects - object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person - object SPRITE_GENTLEMAN, 7, 3, WALK, 2, 2 ; person - object SPRITE_FOULARD_WOMAN, 10, 5, WALK, 0, 3 ; person - object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person - - ; warp-to - warp_to 3, 7, CELADON_POKECENTER_WIDTH - warp_to 4, 7, CELADON_POKECENTER_WIDTH diff --git a/data/mapObjects/CeruleanBadgeHouse.asm b/data/mapObjects/CeruleanBadgeHouse.asm deleted file mode 100755 index 62a6873b..00000000 --- a/data/mapObjects/CeruleanBadgeHouse.asm +++ /dev/null @@ -1,17 +0,0 @@ -CeruleanBadgeHouse_Object: - db $c ; border block - - db 3 ; warps - warp 2, 0, 9, -1 - warp 2, 7, 8, -1 - warp 3, 7, 8, -1 - - db 0 ; signs - - db 1 ; objects - object SPRITE_FAT_BALD_GUY, 5, 3, STAY, RIGHT, 1 ; person - - ; warp-to - warp_to 2, 0, CERULEAN_BADGE_HOUSE_WIDTH - warp_to 2, 7, CERULEAN_BADGE_HOUSE_WIDTH - warp_to 3, 7, CERULEAN_BADGE_HOUSE_WIDTH diff --git a/data/mapObjects/CeruleanCave1F.asm b/data/mapObjects/CeruleanCave1F.asm deleted file mode 100755 index f9670482..00000000 --- a/data/mapObjects/CeruleanCave1F.asm +++ /dev/null @@ -1,31 +0,0 @@ -CeruleanCave1F_Object: - db $7d ; border block - - db 9 ; warps - warp 24, 17, 6, -1 - warp 25, 17, 6, -1 - warp 27, 1, 0, CERULEAN_CAVE_2F - warp 23, 7, 1, CERULEAN_CAVE_2F - warp 18, 9, 2, CERULEAN_CAVE_2F - warp 7, 1, 3, CERULEAN_CAVE_2F - warp 1, 3, 4, CERULEAN_CAVE_2F - warp 3, 11, 5, CERULEAN_CAVE_2F - warp 0, 6, 0, CERULEAN_CAVE_B1F - - db 0 ; signs - - db 3 ; objects - object SPRITE_BALL, 7, 13, STAY, NONE, 1, FULL_RESTORE - object SPRITE_BALL, 19, 3, STAY, NONE, 2, MAX_ELIXER - object SPRITE_BALL, 5, 0, STAY, NONE, 3, NUGGET - - ; warp-to - warp_to 24, 17, CERULEAN_CAVE_1F_WIDTH - warp_to 25, 17, CERULEAN_CAVE_1F_WIDTH - warp_to 27, 1, CERULEAN_CAVE_1F_WIDTH ; CERULEAN_CAVE_2F - warp_to 23, 7, CERULEAN_CAVE_1F_WIDTH ; CERULEAN_CAVE_2F - warp_to 18, 9, CERULEAN_CAVE_1F_WIDTH ; CERULEAN_CAVE_2F - warp_to 7, 1, CERULEAN_CAVE_1F_WIDTH ; CERULEAN_CAVE_2F - warp_to 1, 3, CERULEAN_CAVE_1F_WIDTH ; CERULEAN_CAVE_2F - warp_to 3, 11, CERULEAN_CAVE_1F_WIDTH ; CERULEAN_CAVE_2F - warp_to 0, 6, CERULEAN_CAVE_1F_WIDTH ; CERULEAN_CAVE_B1F diff --git a/data/mapObjects/CeruleanCave2F.asm b/data/mapObjects/CeruleanCave2F.asm deleted file mode 100755 index f8312da0..00000000 --- a/data/mapObjects/CeruleanCave2F.asm +++ /dev/null @@ -1,25 +0,0 @@ -CeruleanCave2F_Object: - db $7d ; border block - - db 6 ; warps - warp 29, 1, 2, CERULEAN_CAVE_1F - warp 22, 6, 3, CERULEAN_CAVE_1F - warp 19, 7, 4, CERULEAN_CAVE_1F - warp 9, 1, 5, CERULEAN_CAVE_1F - warp 1, 3, 6, CERULEAN_CAVE_1F - warp 3, 11, 7, CERULEAN_CAVE_1F - - db 0 ; signs - - db 3 ; objects - object SPRITE_BALL, 29, 9, STAY, NONE, 1, PP_UP - object SPRITE_BALL, 4, 15, STAY, NONE, 2, ULTRA_BALL - object SPRITE_BALL, 13, 6, STAY, NONE, 3, FULL_RESTORE - - ; warp-to - warp_to 29, 1, CERULEAN_CAVE_2F_WIDTH ; CERULEAN_CAVE_1F - warp_to 22, 6, CERULEAN_CAVE_2F_WIDTH ; CERULEAN_CAVE_1F - warp_to 19, 7, CERULEAN_CAVE_2F_WIDTH ; CERULEAN_CAVE_1F - warp_to 9, 1, CERULEAN_CAVE_2F_WIDTH ; CERULEAN_CAVE_1F - warp_to 1, 3, CERULEAN_CAVE_2F_WIDTH ; CERULEAN_CAVE_1F - warp_to 3, 11, CERULEAN_CAVE_2F_WIDTH ; CERULEAN_CAVE_1F diff --git a/data/mapObjects/CeruleanCaveB1F.asm b/data/mapObjects/CeruleanCaveB1F.asm deleted file mode 100755 index 461f77aa..00000000 --- a/data/mapObjects/CeruleanCaveB1F.asm +++ /dev/null @@ -1,15 +0,0 @@ -CeruleanCaveB1F_Object: - db $7d ; border block - - db 1 ; warps - warp 3, 6, 8, CERULEAN_CAVE_1F - - db 0 ; signs - - db 3 ; objects - object SPRITE_SLOWBRO, 27, 13, STAY, DOWN, 1, MEWTWO, 70 - object SPRITE_BALL, 16, 9, STAY, NONE, 2, ULTRA_BALL - object SPRITE_BALL, 18, 1, STAY, NONE, 3, MAX_REVIVE - - ; warp-to - warp_to 3, 6, CERULEAN_CAVE_B1F_WIDTH ; CERULEAN_CAVE_1F diff --git a/data/mapObjects/CeruleanCity.asm b/data/mapObjects/CeruleanCity.asm deleted file mode 100755 index d5adcfd7..00000000 --- a/data/mapObjects/CeruleanCity.asm +++ /dev/null @@ -1,47 +0,0 @@ -CeruleanCity_Object: - db $f ; border block - - db 10 ; warps - warp 27, 11, 0, CERULEAN_TRASHED_HOUSE - warp 13, 15, 0, CERULEAN_TRADE_HOUSE - warp 19, 17, 0, CERULEAN_POKECENTER - warp 30, 19, 0, CERULEAN_GYM - warp 13, 25, 0, BIKE_SHOP - warp 25, 25, 0, CERULEAN_MART - warp 4, 11, 0, CERULEAN_CAVE_1F - warp 27, 9, 2, CERULEAN_TRASHED_HOUSE - warp 9, 11, 1, CERULEAN_BADGE_HOUSE - warp 9, 9, 0, CERULEAN_BADGE_HOUSE - - db 6 ; signs - sign 23, 19, 12 ; CeruleanCityText12 - sign 17, 29, 13 ; CeruleanCityText13 - sign 26, 25, 14 ; MartSignText - sign 20, 17, 15 ; PokeCenterSignText - sign 11, 25, 16 ; CeruleanCityText16 - sign 27, 21, 17 ; CeruleanCityText17 - - db 11 ; objects - object SPRITE_BLUE, 20, 2, STAY, DOWN, 1 ; person - object SPRITE_ROCKET, 30, 8, STAY, NONE, 2, OPP_ROCKET, 5 - object SPRITE_BLACK_HAIR_BOY_1, 31, 20, STAY, DOWN, 3 ; person - object SPRITE_BLACK_HAIR_BOY_2, 15, 18, WALK, 1, 4 ; person - object SPRITE_BLACK_HAIR_BOY_2, 9, 21, WALK, 2, 5 ; person - object SPRITE_GUARD, 28, 12, STAY, DOWN, 6 ; person - object SPRITE_LASS, 29, 26, STAY, LEFT, 7 ; person - object SPRITE_SLOWBRO, 28, 26, STAY, DOWN, 8 ; person - object SPRITE_LASS, 9, 27, WALK, 2, 9 ; person - object SPRITE_BLACK_HAIR_BOY_2, 4, 12, STAY, DOWN, 10 ; person - object SPRITE_GUARD, 27, 12, STAY, DOWN, 11 ; person - - ; warp-to - warp_to 27, 11, CERULEAN_CITY_WIDTH ; CERULEAN_TRASHED_HOUSE - warp_to 13, 15, CERULEAN_CITY_WIDTH ; CERULEAN_TRADE_HOUSE - warp_to 19, 17, CERULEAN_CITY_WIDTH ; CERULEAN_POKECENTER - warp_to 30, 19, CERULEAN_CITY_WIDTH ; CERULEAN_GYM - warp_to 13, 25, CERULEAN_CITY_WIDTH ; BIKE_SHOP - warp_to 25, 25, CERULEAN_CITY_WIDTH ; CERULEAN_MART - warp_to 4, 11, CERULEAN_CITY_WIDTH ; CERULEAN_CAVE_1F - warp_to 27, 9, CERULEAN_CITY_WIDTH ; CERULEAN_TRASHED_HOUSE - warp_to 9, 11, CERULEAN_CITY_WIDTH ; CERULEAN_BADGE_HOUSE - warp_to 9, 9, CERULEAN_CITY_WIDTH ; CERULEAN_BADGE_HOUSE diff --git a/data/mapObjects/CeruleanGym.asm b/data/mapObjects/CeruleanGym.asm deleted file mode 100755 index 96713648..00000000 --- a/data/mapObjects/CeruleanGym.asm +++ /dev/null @@ -1,18 +0,0 @@ -CeruleanGym_Object: - db $3 ; border block - - db 2 ; warps - warp 4, 13, 3, -1 - warp 5, 13, 3, -1 - - db 0 ; signs - - db 4 ; objects - object SPRITE_BRUNETTE_GIRL, 4, 2, STAY, DOWN, 1, OPP_MISTY, 1 - object SPRITE_LASS, 2, 3, STAY, RIGHT, 2, OPP_JR_TRAINER_F, 1 - object SPRITE_SWIMMER, 8, 7, STAY, LEFT, 3, OPP_SWIMMER, 1 - object SPRITE_GYM_HELPER, 7, 10, STAY, DOWN, 4 ; person - - ; warp-to - warp_to 4, 13, CERULEAN_GYM_WIDTH - warp_to 5, 13, CERULEAN_GYM_WIDTH diff --git a/data/mapObjects/CeruleanMart.asm b/data/mapObjects/CeruleanMart.asm deleted file mode 100755 index 4659375f..00000000 --- a/data/mapObjects/CeruleanMart.asm +++ /dev/null @@ -1,17 +0,0 @@ -CeruleanMart_Object: - db $0 ; border block - - db 2 ; warps - warp 3, 7, 5, -1 - warp 4, 7, 5, -1 - - db 0 ; signs - - db 3 ; objects - object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person - object SPRITE_BLACK_HAIR_BOY_1, 3, 4, WALK, 1, 2 ; person - object SPRITE_LASS, 6, 2, WALK, 2, 3 ; person - - ; warp-to - warp_to 3, 7, CERULEAN_MART_WIDTH - warp_to 4, 7, CERULEAN_MART_WIDTH diff --git a/data/mapObjects/CeruleanPokecenter.asm b/data/mapObjects/CeruleanPokecenter.asm deleted file mode 100755 index f65db52c..00000000 --- a/data/mapObjects/CeruleanPokecenter.asm +++ /dev/null @@ -1,18 +0,0 @@ -CeruleanPokecenter_Object: - db $0 ; border block - - db 2 ; warps - warp 3, 7, 2, -1 - warp 4, 7, 2, -1 - - db 0 ; signs - - db 4 ; objects - object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person - object SPRITE_BLACK_HAIR_BOY_2, 10, 5, WALK, 0, 2 ; person - object SPRITE_GENTLEMAN, 4, 3, STAY, DOWN, 3 ; person - object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person - - ; warp-to - warp_to 3, 7, CERULEAN_POKECENTER_WIDTH - warp_to 4, 7, CERULEAN_POKECENTER_WIDTH diff --git a/data/mapObjects/CeruleanTradeHouse.asm b/data/mapObjects/CeruleanTradeHouse.asm deleted file mode 100755 index a4a46e9b..00000000 --- a/data/mapObjects/CeruleanTradeHouse.asm +++ /dev/null @@ -1,16 +0,0 @@ -CeruleanTradeHouse_Object: - db $a ; border block - - db 2 ; warps - warp 2, 7, 1, -1 - warp 3, 7, 1, -1 - - db 0 ; signs - - db 2 ; objects - object SPRITE_OLD_MEDIUM_WOMAN, 5, 4, STAY, LEFT, 1 ; person - object SPRITE_GAMBLER, 1, 2, STAY, NONE, 2 ; person - - ; warp-to - warp_to 2, 7, CERULEAN_TRADE_HOUSE_WIDTH - warp_to 3, 7, CERULEAN_TRADE_HOUSE_WIDTH diff --git a/data/mapObjects/CeruleanTrashedHouse.asm b/data/mapObjects/CeruleanTrashedHouse.asm deleted file mode 100755 index 44b7cf20..00000000 --- a/data/mapObjects/CeruleanTrashedHouse.asm +++ /dev/null @@ -1,19 +0,0 @@ -CeruleanTrashedHouse_Object: - db $a ; border block - - db 3 ; warps - warp 2, 7, 0, -1 - warp 3, 7, 0, -1 - warp 3, 0, 7, -1 - - db 1 ; signs - sign 3, 0, 3 ; CeruleanHouseTrashedText3 - - db 2 ; objects - object SPRITE_FISHER, 2, 1, STAY, DOWN, 1 ; person - object SPRITE_GIRL, 5, 6, WALK, 2, 2 ; person - - ; warp-to - warp_to 2, 7, CERULEAN_TRASHED_HOUSE_WIDTH - warp_to 3, 7, CERULEAN_TRASHED_HOUSE_WIDTH - warp_to 3, 0, CERULEAN_TRASHED_HOUSE_WIDTH diff --git a/data/mapObjects/ChampionsRoom.asm b/data/mapObjects/ChampionsRoom.asm deleted file mode 100755 index 1e0cb7f4..00000000 --- a/data/mapObjects/ChampionsRoom.asm +++ /dev/null @@ -1,20 +0,0 @@ -ChampionsRoom_Object: - db $3 ; border block - - db 4 ; warps - warp 3, 7, 1, LANCES_ROOM - warp 4, 7, 2, LANCES_ROOM - warp 3, 0, 0, HALL_OF_FAME - warp 4, 0, 0, HALL_OF_FAME - - db 0 ; signs - - db 2 ; objects - object SPRITE_BLUE, 4, 2, STAY, DOWN, 1 ; person - object SPRITE_OAK, 3, 7, STAY, UP, 2 ; person - - ; warp-to - warp_to 3, 7, CHAMPIONS_ROOM_WIDTH ; LANCES_ROOM - warp_to 4, 7, CHAMPIONS_ROOM_WIDTH ; LANCES_ROOM - warp_to 3, 0, CHAMPIONS_ROOM_WIDTH ; HALL_OF_FAME - warp_to 4, 0, CHAMPIONS_ROOM_WIDTH ; HALL_OF_FAME diff --git a/data/mapObjects/CinnabarGym.asm b/data/mapObjects/CinnabarGym.asm deleted file mode 100755 index ab204d43..00000000 --- a/data/mapObjects/CinnabarGym.asm +++ /dev/null @@ -1,23 +0,0 @@ -CinnabarGym_Object: - db $2e ; border block - - db 2 ; warps - warp 16, 17, 1, -1 - warp 17, 17, 1, -1 - - db 0 ; signs - - db 9 ; objects - object SPRITE_FAT_BALD_GUY, 3, 3, STAY, DOWN, 1, OPP_BLAINE, 1 - object SPRITE_BLACK_HAIR_BOY_2, 17, 2, STAY, DOWN, 2, OPP_SUPER_NERD, 9 - object SPRITE_BLACK_HAIR_BOY_2, 17, 8, STAY, DOWN, 3, OPP_BURGLAR, 4 - object SPRITE_BLACK_HAIR_BOY_2, 11, 4, STAY, DOWN, 4, OPP_SUPER_NERD, 10 - object SPRITE_BLACK_HAIR_BOY_2, 11, 8, STAY, DOWN, 5, OPP_BURGLAR, 5 - object SPRITE_BLACK_HAIR_BOY_2, 11, 14, STAY, DOWN, 6, OPP_SUPER_NERD, 11 - object SPRITE_BLACK_HAIR_BOY_2, 3, 14, STAY, DOWN, 7, OPP_BURGLAR, 6 - object SPRITE_BLACK_HAIR_BOY_2, 3, 8, STAY, DOWN, 8, OPP_SUPER_NERD, 12 - object SPRITE_GYM_HELPER, 16, 13, STAY, DOWN, 9 ; person - - ; warp-to - warp_to 16, 17, CINNABAR_GYM_WIDTH - warp_to 17, 17, CINNABAR_GYM_WIDTH diff --git a/data/mapObjects/CinnabarIsland.asm b/data/mapObjects/CinnabarIsland.asm deleted file mode 100755 index 1932e134..00000000 --- a/data/mapObjects/CinnabarIsland.asm +++ /dev/null @@ -1,27 +0,0 @@ -CinnabarIsland_Object: - db $43 ; border block - - db 5 ; warps - warp 6, 3, 1, POKEMON_MANSION_1F - warp 18, 3, 0, CINNABAR_GYM - warp 6, 9, 0, CINNABAR_LAB - warp 11, 11, 0, CINNABAR_POKECENTER - warp 15, 11, 0, CINNABAR_MART - - db 5 ; signs - sign 9, 5, 3 ; CinnabarIslandText3 - sign 16, 11, 4 ; MartSignText - sign 12, 11, 5 ; PokeCenterSignText - sign 9, 11, 6 ; CinnabarIslandText6 - sign 13, 3, 7 ; CinnabarIslandText7 - - db 2 ; objects - object SPRITE_GIRL, 12, 5, WALK, 2, 1 ; person - object SPRITE_GAMBLER, 14, 6, STAY, NONE, 2 ; person - - ; warp-to - warp_to 6, 3, CINNABAR_ISLAND_WIDTH ; POKEMON_MANSION_1F - warp_to 18, 3, CINNABAR_ISLAND_WIDTH ; CINNABAR_GYM - warp_to 6, 9, CINNABAR_ISLAND_WIDTH ; CINNABAR_LAB - warp_to 11, 11, CINNABAR_ISLAND_WIDTH ; CINNABAR_POKECENTER - warp_to 15, 11, CINNABAR_ISLAND_WIDTH ; CINNABAR_MART diff --git a/data/mapObjects/CinnabarLab.asm b/data/mapObjects/CinnabarLab.asm deleted file mode 100755 index deb5d8ed..00000000 --- a/data/mapObjects/CinnabarLab.asm +++ /dev/null @@ -1,25 +0,0 @@ -CinnabarLab_Object: - db $17 ; border block - - db 5 ; warps - warp 2, 7, 2, -1 - warp 3, 7, 2, -1 - warp 8, 4, 0, CINNABAR_LAB_TRADE_ROOM - warp 12, 4, 0, CINNABAR_LAB_METRONOME_ROOM - warp 16, 4, 0, CINNABAR_LAB_FOSSIL_ROOM - - db 4 ; signs - sign 3, 2, 2 ; Lab1Text2 - sign 9, 4, 3 ; Lab1Text3 - sign 13, 4, 4 ; Lab1Text4 - sign 17, 4, 5 ; Lab1Text5 - - db 1 ; objects - object SPRITE_FISHER, 1, 3, STAY, NONE, 1 ; person - - ; warp-to - warp_to 2, 7, CINNABAR_LAB_WIDTH - warp_to 3, 7, CINNABAR_LAB_WIDTH - warp_to 8, 4, CINNABAR_LAB_WIDTH ; CINNABAR_LAB_TRADE_ROOM - warp_to 12, 4, CINNABAR_LAB_WIDTH ; CINNABAR_LAB_METRONOME_ROOM - warp_to 16, 4, CINNABAR_LAB_WIDTH ; CINNABAR_LAB_FOSSIL_ROOM diff --git a/data/mapObjects/CinnabarLabFossilRoom.asm b/data/mapObjects/CinnabarLabFossilRoom.asm deleted file mode 100755 index d31502e6..00000000 --- a/data/mapObjects/CinnabarLabFossilRoom.asm +++ /dev/null @@ -1,16 +0,0 @@ -CinnabarLabFossilRoom_Object: - db $17 ; border block - - db 2 ; warps - warp 2, 7, 4, CINNABAR_LAB - warp 3, 7, 4, CINNABAR_LAB - - db 0 ; signs - - db 2 ; objects - object SPRITE_OAK_AIDE, 5, 2, WALK, 2, 1 ; person - object SPRITE_OAK_AIDE, 7, 6, STAY, UP, 2 ; person - - ; warp-to - warp_to 2, 7, CINNABAR_LAB_FOSSIL_ROOM_WIDTH ; CINNABAR_LAB - warp_to 3, 7, CINNABAR_LAB_FOSSIL_ROOM_WIDTH ; CINNABAR_LAB diff --git a/data/mapObjects/CinnabarLabMetronomeRoom.asm b/data/mapObjects/CinnabarLabMetronomeRoom.asm deleted file mode 100755 index 37f93d43..00000000 --- a/data/mapObjects/CinnabarLabMetronomeRoom.asm +++ /dev/null @@ -1,19 +0,0 @@ -CinnabarLabMetronomeRoom_Object: - db $17 ; border block - - db 2 ; warps - warp 2, 7, 3, CINNABAR_LAB - warp 3, 7, 3, CINNABAR_LAB - - db 3 ; signs - sign 0, 4, 3 ; Lab3Text3 - sign 1, 4, 4 ; Lab3Text4 - sign 2, 1, 5 ; Lab3Text5 - - db 2 ; objects - object SPRITE_OAK_AIDE, 7, 2, STAY, DOWN, 1 ; person - object SPRITE_OAK_AIDE, 2, 3, WALK, 2, 2 ; person - - ; warp-to - warp_to 2, 7, CINNABAR_LAB_METRONOME_ROOM_WIDTH ; CINNABAR_LAB - warp_to 3, 7, CINNABAR_LAB_METRONOME_ROOM_WIDTH ; CINNABAR_LAB diff --git a/data/mapObjects/CinnabarLabTradeRoom.asm b/data/mapObjects/CinnabarLabTradeRoom.asm deleted file mode 100755 index 449cc914..00000000 --- a/data/mapObjects/CinnabarLabTradeRoom.asm +++ /dev/null @@ -1,17 +0,0 @@ -CinnabarLabTradeRoom_Object: - db $17 ; border block - - db 2 ; warps - warp 2, 7, 2, CINNABAR_LAB - warp 3, 7, 2, CINNABAR_LAB - - db 0 ; signs - - db 3 ; objects - object SPRITE_BLACK_HAIR_BOY_2, 3, 2, STAY, DOWN, 1 ; person - object SPRITE_OLD_PERSON, 1, 4, STAY, NONE, 2 ; person - object SPRITE_FOULARD_WOMAN, 5, 5, STAY, UP, 3 ; person - - ; warp-to - warp_to 2, 7, CINNABAR_LAB_TRADE_ROOM_WIDTH ; CINNABAR_LAB - warp_to 3, 7, CINNABAR_LAB_TRADE_ROOM_WIDTH ; CINNABAR_LAB diff --git a/data/mapObjects/CinnabarMart.asm b/data/mapObjects/CinnabarMart.asm deleted file mode 100755 index af88ddf0..00000000 --- a/data/mapObjects/CinnabarMart.asm +++ /dev/null @@ -1,17 +0,0 @@ -CinnabarMart_Object: - db $0 ; border block - - db 2 ; warps - warp 3, 7, 4, -1 - warp 4, 7, 4, -1 - - db 0 ; signs - - db 3 ; objects - object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person - object SPRITE_ERIKA, 6, 2, STAY, NONE, 2 ; person - object SPRITE_OAK_AIDE, 3, 4, STAY, NONE, 3 ; person - - ; warp-to - warp_to 3, 7, CINNABAR_MART_WIDTH - warp_to 4, 7, CINNABAR_MART_WIDTH diff --git a/data/mapObjects/CinnabarPokecenter.asm b/data/mapObjects/CinnabarPokecenter.asm deleted file mode 100755 index 9583ef2a..00000000 --- a/data/mapObjects/CinnabarPokecenter.asm +++ /dev/null @@ -1,18 +0,0 @@ -CinnabarPokecenter_Object: - db $0 ; border block - - db 2 ; warps - warp 3, 7, 3, -1 - warp 4, 7, 3, -1 - - db 0 ; signs - - db 4 ; objects - object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person - object SPRITE_LASS, 9, 4, WALK, 0, 2 ; person - object SPRITE_GENTLEMAN, 2, 6, STAY, NONE, 3 ; person - object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person - - ; warp-to - warp_to 3, 7, CINNABAR_POKECENTER_WIDTH - warp_to 4, 7, CINNABAR_POKECENTER_WIDTH diff --git a/data/mapObjects/Colosseum.asm b/data/mapObjects/Colosseum.asm deleted file mode 100755 index 18762584..00000000 --- a/data/mapObjects/Colosseum.asm +++ /dev/null @@ -1,9 +0,0 @@ -Colosseum_Object: - db $e ; border block - - db 0 ; warps - - db 0 ; signs - - db 1 ; objects - object SPRITE_RED, 2, 2, STAY, 0, 1 ; person diff --git a/data/mapObjects/CopycatsHouse1F.asm b/data/mapObjects/CopycatsHouse1F.asm deleted file mode 100755 index cb4dbb0b..00000000 --- a/data/mapObjects/CopycatsHouse1F.asm +++ /dev/null @@ -1,19 +0,0 @@ -CopycatsHouse1F_Object: - db $a ; border block - - db 3 ; warps - warp 2, 7, 0, -1 - warp 3, 7, 0, -1 - warp 7, 1, 0, COPYCATS_HOUSE_2F - - db 0 ; signs - - db 3 ; objects - object SPRITE_MOM_GEISHA, 2, 2, STAY, DOWN, 1 ; person - object SPRITE_FAT_BALD_GUY, 5, 4, STAY, LEFT, 2 ; person - object SPRITE_CLEFAIRY, 1, 4, WALK, 1, 3 ; person - - ; warp-to - warp_to 2, 7, COPYCATS_HOUSE_1F_WIDTH - warp_to 3, 7, COPYCATS_HOUSE_1F_WIDTH - warp_to 7, 1, COPYCATS_HOUSE_1F_WIDTH ; COPYCATS_HOUSE_2F diff --git a/data/mapObjects/CopycatsHouse2F.asm b/data/mapObjects/CopycatsHouse2F.asm deleted file mode 100755 index 18b56419..00000000 --- a/data/mapObjects/CopycatsHouse2F.asm +++ /dev/null @@ -1,19 +0,0 @@ -CopycatsHouse2F_Object: - db $a ; border block - - db 1 ; warps - warp 7, 1, 2, COPYCATS_HOUSE_1F - - db 2 ; signs - sign 3, 5, 6 ; CopycatsHouse2FText6 - sign 0, 1, 7 ; CopycatsHouse2FText7 - - db 5 ; objects - object SPRITE_BRUNETTE_GIRL, 4, 3, WALK, 0, 1 ; person - object SPRITE_BIRD, 4, 6, WALK, 2, 2 ; person - object SPRITE_SLOWBRO, 5, 1, STAY, DOWN, 3 ; person - object SPRITE_BIRD, 2, 0, STAY, DOWN, 4 ; person - object SPRITE_CLEFAIRY, 1, 6, STAY, RIGHT, 5 ; person - - ; warp-to - warp_to 7, 1, COPYCATS_HOUSE_2F_WIDTH ; COPYCATS_HOUSE_1F diff --git a/data/mapObjects/Daycare.asm b/data/mapObjects/Daycare.asm deleted file mode 100755 index c58c83e4..00000000 --- a/data/mapObjects/Daycare.asm +++ /dev/null @@ -1,15 +0,0 @@ -Daycare_Object: - db $a ; border block - - db 2 ; warps - warp 2, 7, 4, -1 - warp 3, 7, 4, -1 - - db 0 ; signs - - db 1 ; objects - object SPRITE_GENTLEMAN, 2, 3, STAY, RIGHT, 1 ; person - - ; warp-to - warp_to 2, 7, DAYCARE_WIDTH - warp_to 3, 7, DAYCARE_WIDTH diff --git a/data/mapObjects/DiglettsCave.asm b/data/mapObjects/DiglettsCave.asm deleted file mode 100755 index b4fd0af8..00000000 --- a/data/mapObjects/DiglettsCave.asm +++ /dev/null @@ -1,14 +0,0 @@ -DiglettsCave_Object: - db $19 ; border block - - db 2 ; warps - warp 5, 5, 2, DIGLETTS_CAVE_ROUTE_2 - warp 37, 31, 2, DIGLETTS_CAVE_ROUTE_11 - - db 0 ; signs - - db 0 ; objects - - ; warp-to - warp_to 5, 5, DIGLETTS_CAVE_WIDTH ; DIGLETTS_CAVE_ROUTE_2 - warp_to 37, 31, DIGLETTS_CAVE_WIDTH ; DIGLETTS_CAVE_ROUTE_11 diff --git a/data/mapObjects/DiglettsCaveRoute11.asm b/data/mapObjects/DiglettsCaveRoute11.asm deleted file mode 100755 index a4c70f06..00000000 --- a/data/mapObjects/DiglettsCaveRoute11.asm +++ /dev/null @@ -1,17 +0,0 @@ -DiglettsCaveRoute11_Object: - db $7d ; border block - - db 3 ; warps - warp 2, 7, 4, -1 - warp 3, 7, 4, -1 - warp 4, 4, 1, DIGLETTS_CAVE - - db 0 ; signs - - db 1 ; objects - object SPRITE_GAMBLER, 2, 3, STAY, NONE, 1 ; person - - ; warp-to - warp_to 2, 7, DIGLETTS_CAVE_ROUTE_11_WIDTH - warp_to 3, 7, DIGLETTS_CAVE_ROUTE_11_WIDTH - warp_to 4, 4, DIGLETTS_CAVE_ROUTE_11_WIDTH ; DIGLETTS_CAVE diff --git a/data/mapObjects/DiglettsCaveRoute2.asm b/data/mapObjects/DiglettsCaveRoute2.asm deleted file mode 100755 index 0567fee6..00000000 --- a/data/mapObjects/DiglettsCaveRoute2.asm +++ /dev/null @@ -1,17 +0,0 @@ -DiglettsCaveRoute2_Object: - db $7d ; border block - - db 3 ; warps - warp 2, 7, 0, -1 - warp 3, 7, 0, -1 - warp 4, 4, 0, DIGLETTS_CAVE - - db 0 ; signs - - db 1 ; objects - object SPRITE_FISHER, 3, 3, STAY, NONE, 1 ; person - - ; warp-to - warp_to 2, 7, DIGLETTS_CAVE_ROUTE_2_WIDTH - warp_to 3, 7, DIGLETTS_CAVE_ROUTE_2_WIDTH - warp_to 4, 4, DIGLETTS_CAVE_ROUTE_2_WIDTH ; DIGLETTS_CAVE diff --git a/data/mapObjects/FightingDojo.asm b/data/mapObjects/FightingDojo.asm deleted file mode 100755 index fdc7b838..00000000 --- a/data/mapObjects/FightingDojo.asm +++ /dev/null @@ -1,21 +0,0 @@ -FightingDojo_Object: - db $3 ; border block - - db 2 ; warps - warp 4, 11, 1, -1 - warp 5, 11, 1, -1 - - db 0 ; signs - - db 7 ; objects - object SPRITE_HIKER, 5, 3, STAY, DOWN, 1, OPP_BLACKBELT, 1 - object SPRITE_HIKER, 3, 4, STAY, RIGHT, 2, OPP_BLACKBELT, 2 - object SPRITE_HIKER, 3, 6, STAY, RIGHT, 3, OPP_BLACKBELT, 3 - object SPRITE_HIKER, 5, 5, STAY, LEFT, 4, OPP_BLACKBELT, 4 - object SPRITE_HIKER, 5, 7, STAY, LEFT, 5, OPP_BLACKBELT, 5 - object SPRITE_BALL, 4, 1, STAY, NONE, 6 ; person - object SPRITE_BALL, 5, 1, STAY, NONE, 7 ; person - - ; warp-to - warp_to 4, 11, FIGHTING_DOJO_WIDTH - warp_to 5, 11, FIGHTING_DOJO_WIDTH diff --git a/data/mapObjects/FuchsiaBillsGrandpasHouse.asm b/data/mapObjects/FuchsiaBillsGrandpasHouse.asm deleted file mode 100755 index 363b56f9..00000000 --- a/data/mapObjects/FuchsiaBillsGrandpasHouse.asm +++ /dev/null @@ -1,17 +0,0 @@ -FuchsiaBillsGrandpasHouse_Object: - db $a ; border block - - db 2 ; warps - warp 2, 7, 1, -1 - warp 3, 7, 1, -1 - - db 0 ; signs - - db 3 ; objects - object SPRITE_MOM_GEISHA, 2, 3, STAY, RIGHT, 1 ; person - object SPRITE_GAMBLER, 7, 2, STAY, UP, 2 ; person - object SPRITE_BUG_CATCHER, 5, 5, STAY, NONE, 3 ; person - - ; warp-to - warp_to 2, 7, FUCHSIA_BILLS_GRANDPAS_HOUSE_WIDTH - warp_to 3, 7, FUCHSIA_BILLS_GRANDPAS_HOUSE_WIDTH diff --git a/data/mapObjects/FuchsiaCity.asm b/data/mapObjects/FuchsiaCity.asm deleted file mode 100755 index 09c97b02..00000000 --- a/data/mapObjects/FuchsiaCity.asm +++ /dev/null @@ -1,52 +0,0 @@ -FuchsiaCity_Object: - db $f ; border block - - db 9 ; warps - warp 5, 13, 0, FUCHSIA_MART - warp 11, 27, 0, FUCHSIA_BILLS_GRANDPAS_HOUSE - warp 19, 27, 0, FUCHSIA_POKECENTER - warp 27, 27, 0, WARDENS_HOUSE - warp 18, 3, 0, SAFARI_ZONE_GATE - warp 5, 27, 0, FUCHSIA_GYM - warp 22, 13, 0, FUCHSIA_MEETING_ROOM - warp 31, 27, 1, FUCHSIA_GOOD_ROD_HOUSE - warp 31, 24, 0, FUCHSIA_GOOD_ROD_HOUSE - - db 14 ; signs - sign 15, 23, 11 ; FuchsiaCityText11 - sign 25, 15, 12 ; FuchsiaCityText12 - sign 17, 5, 13 ; FuchsiaCityText13 - sign 6, 13, 14 ; MartSignText - sign 20, 27, 15 ; PokeCenterSignText - sign 27, 29, 16 ; FuchsiaCityText16 - sign 21, 15, 17 ; FuchsiaCityText17 - sign 5, 29, 18 ; FuchsiaCityText18 - sign 33, 7, 19 ; FuchsiaCityText19 - sign 27, 7, 20 ; FuchsiaCityText20 - sign 13, 7, 21 ; FuchsiaCityText21 - sign 31, 13, 22 ; FuchsiaCityText22 - sign 13, 15, 23 ; FuchsiaCityText23 - sign 7, 7, 24 ; FuchsiaCityText24 - - db 10 ; objects - object SPRITE_BUG_CATCHER, 10, 12, WALK, 2, 1 ; person - object SPRITE_GAMBLER, 28, 17, WALK, 2, 2 ; person - object SPRITE_FISHER2, 30, 14, STAY, DOWN, 3 ; person - object SPRITE_BUG_CATCHER, 24, 8, STAY, UP, 4 ; person - object SPRITE_CLEFAIRY, 31, 5, WALK, 0, 5 ; person - object SPRITE_BALL, 25, 6, STAY, NONE, 6 ; person - object SPRITE_SLOWBRO, 12, 6, WALK, 2, 7 ; person - object SPRITE_SLOWBRO, 30, 12, WALK, 2, 8 ; person - object SPRITE_SEEL, 8, 17, WALK, 0, 9 ; person - object SPRITE_OMANYTE, 6, 5, STAY, NONE, 10 ; person - - ; warp-to - warp_to 5, 13, FUCHSIA_CITY_WIDTH ; FUCHSIA_MART - warp_to 11, 27, FUCHSIA_CITY_WIDTH ; FUCHSIA_BILLS_GRANDPAS_HOUSE - warp_to 19, 27, FUCHSIA_CITY_WIDTH ; FUCHSIA_POKECENTER - warp_to 27, 27, FUCHSIA_CITY_WIDTH ; WARDENS_HOUSE - warp_to 18, 3, FUCHSIA_CITY_WIDTH ; SAFARI_ZONE_GATE - warp_to 5, 27, FUCHSIA_CITY_WIDTH ; FUCHSIA_GYM - warp_to 22, 13, FUCHSIA_CITY_WIDTH ; FUCHSIA_MEETING_ROOM - warp_to 31, 27, FUCHSIA_CITY_WIDTH ; FUCHSIA_GOOD_ROD_HOUSE - warp_to 31, 24, FUCHSIA_CITY_WIDTH ; FUCHSIA_GOOD_ROD_HOUSE diff --git a/data/mapObjects/FuchsiaGoodRodHouse.asm b/data/mapObjects/FuchsiaGoodRodHouse.asm deleted file mode 100755 index 390447c8..00000000 --- a/data/mapObjects/FuchsiaGoodRodHouse.asm +++ /dev/null @@ -1,17 +0,0 @@ -FuchsiaGoodRodHouse_Object: - db $c ; border block - - db 3 ; warps - warp 2, 0, 8, -1 - warp 2, 7, 7, -1 - warp 3, 7, 7, -1 - - db 0 ; signs - - db 1 ; objects - object SPRITE_FISHER, 5, 3, STAY, RIGHT, 1 ; person - - ; warp-to - warp_to 2, 0, FUCHSIA_GOOD_ROD_HOUSE_WIDTH - warp_to 2, 7, FUCHSIA_GOOD_ROD_HOUSE_WIDTH - warp_to 3, 7, FUCHSIA_GOOD_ROD_HOUSE_WIDTH diff --git a/data/mapObjects/FuchsiaGym.asm b/data/mapObjects/FuchsiaGym.asm deleted file mode 100755 index 5d707d53..00000000 --- a/data/mapObjects/FuchsiaGym.asm +++ /dev/null @@ -1,22 +0,0 @@ -FuchsiaGym_Object: - db $3 ; border block - - db 2 ; warps - warp 4, 17, 5, -1 - warp 5, 17, 5, -1 - - db 0 ; signs - - db 8 ; objects - object SPRITE_BLACKBELT, 4, 10, STAY, DOWN, 1, OPP_KOGA, 1 - object SPRITE_ROCKER, 8, 13, STAY, DOWN, 2, OPP_JUGGLER, 7 - object SPRITE_ROCKER, 7, 8, STAY, RIGHT, 3, OPP_JUGGLER, 3 - object SPRITE_ROCKER, 1, 12, STAY, DOWN, 4, OPP_JUGGLER, 8 - object SPRITE_ROCKER, 3, 5, STAY, UP, 5, OPP_TAMER, 1 - object SPRITE_ROCKER, 8, 2, STAY, DOWN, 6, OPP_TAMER, 2 - object SPRITE_ROCKER, 2, 7, STAY, LEFT, 7, OPP_JUGGLER, 4 - object SPRITE_GYM_HELPER, 7, 15, STAY, DOWN, 8 ; person - - ; warp-to - warp_to 4, 17, FUCHSIA_GYM_WIDTH - warp_to 5, 17, FUCHSIA_GYM_WIDTH diff --git a/data/mapObjects/FuchsiaMart.asm b/data/mapObjects/FuchsiaMart.asm deleted file mode 100755 index cfa71d8d..00000000 --- a/data/mapObjects/FuchsiaMart.asm +++ /dev/null @@ -1,17 +0,0 @@ -FuchsiaMart_Object: - db $0 ; border block - - db 2 ; warps - warp 3, 7, 0, -1 - warp 4, 7, 0, -1 - - db 0 ; signs - - db 3 ; objects - object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person - object SPRITE_FAT_BALD_GUY, 4, 2, STAY, NONE, 2 ; person - object SPRITE_LASS, 6, 5, WALK, 1, 3 ; person - - ; warp-to - warp_to 3, 7, FUCHSIA_MART_WIDTH - warp_to 4, 7, FUCHSIA_MART_WIDTH diff --git a/data/mapObjects/FuchsiaMeetingRoom.asm b/data/mapObjects/FuchsiaMeetingRoom.asm deleted file mode 100755 index 9130d920..00000000 --- a/data/mapObjects/FuchsiaMeetingRoom.asm +++ /dev/null @@ -1,17 +0,0 @@ -FuchsiaMeetingRoom_Object: - db $17 ; border block - - db 2 ; warps - warp 4, 7, 6, -1 - warp 5, 7, 6, -1 - - db 0 ; signs - - db 3 ; objects - object SPRITE_WHITE_PLAYER, 4, 1, STAY, DOWN, 1 ; person - object SPRITE_WHITE_PLAYER, 0, 2, STAY, UP, 2 ; person - object SPRITE_WHITE_PLAYER, 10, 1, STAY, DOWN, 3 ; person - - ; warp-to - warp_to 4, 7, FUCHSIA_MEETING_ROOM_WIDTH - warp_to 5, 7, FUCHSIA_MEETING_ROOM_WIDTH diff --git a/data/mapObjects/FuchsiaPokecenter.asm b/data/mapObjects/FuchsiaPokecenter.asm deleted file mode 100755 index 73dc529d..00000000 --- a/data/mapObjects/FuchsiaPokecenter.asm +++ /dev/null @@ -1,18 +0,0 @@ -FuchsiaPokecenter_Object: - db $0 ; border block - - db 2 ; warps - warp 3, 7, 2, -1 - warp 4, 7, 2, -1 - - db 0 ; signs - - db 4 ; objects - object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person - object SPRITE_ROCKER, 2, 3, STAY, NONE, 2 ; person - object SPRITE_LASS, 6, 5, WALK, 2, 3 ; person - object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person - - ; warp-to - warp_to 3, 7, FUCHSIA_POKECENTER_WIDTH - warp_to 4, 7, FUCHSIA_POKECENTER_WIDTH diff --git a/data/mapObjects/GameCorner.asm b/data/mapObjects/GameCorner.asm deleted file mode 100755 index 2704f6ab..00000000 --- a/data/mapObjects/GameCorner.asm +++ /dev/null @@ -1,28 +0,0 @@ -GameCorner_Object: - db $f ; border block - - db 3 ; warps - warp 15, 17, 7, -1 - warp 16, 17, 7, -1 - warp 17, 4, 1, ROCKET_HIDEOUT_B1F - - db 1 ; signs - sign 9, 4, 12 ; CeladonGameCornerText12 - - db 11 ; objects - object SPRITE_FOULARD_WOMAN, 2, 6, STAY, DOWN, 1 ; person - object SPRITE_MART_GUY, 5, 6, STAY, DOWN, 2 ; person - object SPRITE_FAT_BALD_GUY, 2, 10, STAY, LEFT, 3 ; person - object SPRITE_FOULARD_WOMAN, 2, 13, STAY, LEFT, 4 ; person - object SPRITE_FISHER, 5, 11, STAY, RIGHT, 5 ; person - object SPRITE_MOM_GEISHA, 8, 11, STAY, LEFT, 6 ; person - object SPRITE_GYM_HELPER, 8, 14, STAY, LEFT, 7 ; person - object SPRITE_GAMBLER, 11, 15, STAY, RIGHT, 8 ; person - object SPRITE_MART_GUY, 14, 11, STAY, LEFT, 9 ; person - object SPRITE_GENTLEMAN, 17, 13, STAY, RIGHT, 10 ; person - object SPRITE_ROCKET, 9, 5, STAY, UP, 11, OPP_ROCKET, 7 - - ; warp-to - warp_to 15, 17, GAME_CORNER_WIDTH - warp_to 16, 17, GAME_CORNER_WIDTH - warp_to 17, 4, GAME_CORNER_WIDTH ; ROCKET_HIDEOUT_B1F diff --git a/data/mapObjects/GameCornerPrizeRoom.asm b/data/mapObjects/GameCornerPrizeRoom.asm deleted file mode 100755 index 35cd3ac8..00000000 --- a/data/mapObjects/GameCornerPrizeRoom.asm +++ /dev/null @@ -1,19 +0,0 @@ -GameCornerPrizeRoom_Object: - db $f ; border block - - db 2 ; warps - warp 4, 7, 9, -1 - warp 5, 7, 9, -1 - - db 3 ; signs - sign 2, 2, 3 ; CeladonPrizeRoomText3 - sign 4, 2, 4 ; CeladonPrizeRoomText4 - sign 6, 2, 5 ; CeladonPrizeRoomText5 - - db 2 ; objects - object SPRITE_BALDING_GUY, 1, 4, STAY, NONE, 1 ; person - object SPRITE_GAMBLER, 7, 3, WALK, 2, 2 ; person - - ; warp-to - warp_to 4, 7, GAME_CORNER_PRIZE_ROOM_WIDTH - warp_to 5, 7, GAME_CORNER_PRIZE_ROOM_WIDTH diff --git a/data/mapObjects/HallOfFame.asm b/data/mapObjects/HallOfFame.asm deleted file mode 100755 index 3762d871..00000000 --- a/data/mapObjects/HallOfFame.asm +++ /dev/null @@ -1,15 +0,0 @@ -HallOfFame_Object: - db $3 ; border block - - db 2 ; warps - warp 4, 7, 2, CHAMPIONS_ROOM - warp 5, 7, 3, CHAMPIONS_ROOM - - db 0 ; signs - - db 1 ; objects - object SPRITE_OAK, 5, 2, STAY, DOWN, 1 ; person - - ; warp-to - warp_to 4, 7, HALL_OF_FAME_WIDTH ; CHAMPIONS_ROOM - warp_to 5, 7, HALL_OF_FAME_WIDTH ; CHAMPIONS_ROOM diff --git a/data/mapObjects/IndigoPlateau.asm b/data/mapObjects/IndigoPlateau.asm deleted file mode 100755 index 1447be11..00000000 --- a/data/mapObjects/IndigoPlateau.asm +++ /dev/null @@ -1,14 +0,0 @@ -IndigoPlateau_Object: - db $e ; border block - - db 2 ; warps - warp 9, 5, 0, INDIGO_PLATEAU_LOBBY - warp 10, 5, 0, INDIGO_PLATEAU_LOBBY - - db 0 ; signs - - db 0 ; objects - - ; warp-to - warp_to 9, 5, INDIGO_PLATEAU_WIDTH ; INDIGO_PLATEAU_LOBBY - warp_to 10, 5, INDIGO_PLATEAU_WIDTH ; INDIGO_PLATEAU_LOBBY diff --git a/data/mapObjects/IndigoPlateauLobby.asm b/data/mapObjects/IndigoPlateauLobby.asm deleted file mode 100755 index ea113a16..00000000 --- a/data/mapObjects/IndigoPlateauLobby.asm +++ /dev/null @@ -1,21 +0,0 @@ -IndigoPlateauLobby_Object: - db $0 ; border block - - db 3 ; warps - warp 7, 11, 0, -1 - warp 8, 11, 1, -1 - warp 8, 0, 0, LORELEIS_ROOM - - db 0 ; signs - - db 5 ; objects - object SPRITE_NURSE, 7, 5, STAY, DOWN, 1 ; person - object SPRITE_GYM_HELPER, 4, 9, STAY, RIGHT, 2 ; person - object SPRITE_LASS, 5, 1, STAY, DOWN, 3 ; person - object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 4 ; person - object SPRITE_CABLE_CLUB_WOMAN, 13, 6, STAY, DOWN, 5 ; person - - ; warp-to - warp_to 7, 11, INDIGO_PLATEAU_LOBBY_WIDTH - warp_to 8, 11, INDIGO_PLATEAU_LOBBY_WIDTH - warp_to 8, 0, INDIGO_PLATEAU_LOBBY_WIDTH ; LORELEIS_ROOM diff --git a/data/mapObjects/LancesRoom.asm b/data/mapObjects/LancesRoom.asm deleted file mode 100755 index 6f22631a..00000000 --- a/data/mapObjects/LancesRoom.asm +++ /dev/null @@ -1,17 +0,0 @@ -LancesRoom_Object: - db $3 ; border block - - db 3 ; warps - warp 24, 16, 2, AGATHAS_ROOM - warp 5, 0, 0, CHAMPIONS_ROOM - warp 6, 0, 0, CHAMPIONS_ROOM - - db 0 ; signs - - db 1 ; objects - object SPRITE_LANCE, 6, 1, STAY, DOWN, 1, OPP_LANCE, 1 - - ; warp-to - warp_to 24, 16, LANCES_ROOM_WIDTH ; AGATHAS_ROOM - warp_to 5, 0, LANCES_ROOM_WIDTH ; CHAMPIONS_ROOM - warp_to 6, 0, LANCES_ROOM_WIDTH ; CHAMPIONS_ROOM diff --git a/data/mapObjects/LavenderCuboneHouse.asm b/data/mapObjects/LavenderCuboneHouse.asm deleted file mode 100755 index 96f1b3ba..00000000 --- a/data/mapObjects/LavenderCuboneHouse.asm +++ /dev/null @@ -1,16 +0,0 @@ -LavenderCuboneHouse_Object: - db $a ; border block - - db 2 ; warps - warp 2, 7, 4, -1 - warp 3, 7, 4, -1 - - db 0 ; signs - - db 2 ; objects - object SPRITE_SLOWBRO, 3, 5, STAY, UP, 1 ; person - object SPRITE_BRUNETTE_GIRL, 2, 4, STAY, RIGHT, 2 ; person - - ; warp-to - warp_to 2, 7, LAVENDER_CUBONE_HOUSE_WIDTH - warp_to 3, 7, LAVENDER_CUBONE_HOUSE_WIDTH diff --git a/data/mapObjects/LavenderMart.asm b/data/mapObjects/LavenderMart.asm deleted file mode 100755 index df14ad39..00000000 --- a/data/mapObjects/LavenderMart.asm +++ /dev/null @@ -1,17 +0,0 @@ -LavenderMart_Object: - db $0 ; border block - - db 2 ; warps - warp 3, 7, 3, -1 - warp 4, 7, 3, -1 - - db 0 ; signs - - db 3 ; objects - object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person - object SPRITE_BALDING_GUY, 3, 4, STAY, NONE, 2 ; person - object SPRITE_BLACK_HAIR_BOY_1, 7, 2, STAY, NONE, 3 ; person - - ; warp-to - warp_to 3, 7, LAVENDER_MART_WIDTH - warp_to 4, 7, LAVENDER_MART_WIDTH diff --git a/data/mapObjects/LavenderPokecenter.asm b/data/mapObjects/LavenderPokecenter.asm deleted file mode 100755 index 89e25571..00000000 --- a/data/mapObjects/LavenderPokecenter.asm +++ /dev/null @@ -1,18 +0,0 @@ -LavenderPokecenter_Object: - db $0 ; border block - - db 2 ; warps - warp 3, 7, 0, -1 - warp 4, 7, 0, -1 - - db 0 ; signs - - db 4 ; objects - object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person - object SPRITE_GENTLEMAN, 5, 3, STAY, NONE, 2 ; person - object SPRITE_LITTLE_GIRL, 2, 6, WALK, 1, 3 ; person - object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person - - ; warp-to - warp_to 3, 7, LAVENDER_POKECENTER_WIDTH - warp_to 4, 7, LAVENDER_POKECENTER_WIDTH diff --git a/data/mapObjects/LavenderTown.asm b/data/mapObjects/LavenderTown.asm deleted file mode 100755 index 4aead666..00000000 --- a/data/mapObjects/LavenderTown.asm +++ /dev/null @@ -1,31 +0,0 @@ -LavenderTown_Object: - db $2c ; border block - - db 6 ; warps - warp 3, 5, 0, LAVENDER_POKECENTER - warp 14, 5, 0, POKEMON_TOWER_1F - warp 7, 9, 0, MR_FUJIS_HOUSE - warp 15, 13, 0, LAVENDER_MART - warp 3, 13, 0, LAVENDER_CUBONE_HOUSE - warp 7, 13, 0, NAME_RATERS_HOUSE - - db 6 ; signs - sign 11, 9, 4 ; LavenderTownText4 - sign 9, 3, 5 ; LavenderTownText5 - sign 16, 13, 6 ; MartSignText - sign 4, 5, 7 ; PokeCenterSignText - sign 5, 9, 8 ; LavenderTownText8 - sign 17, 7, 9 ; LavenderTownText9 - - db 3 ; objects - object SPRITE_LITTLE_GIRL, 15, 9, WALK, 0, 1 ; person - object SPRITE_BLACK_HAIR_BOY_1, 9, 10, STAY, NONE, 2 ; person - object SPRITE_BLACK_HAIR_BOY_2, 8, 7, WALK, 2, 3 ; person - - ; warp-to - warp_to 3, 5, LAVENDER_TOWN_WIDTH ; LAVENDER_POKECENTER - warp_to 14, 5, LAVENDER_TOWN_WIDTH ; POKEMON_TOWER_1F - warp_to 7, 9, LAVENDER_TOWN_WIDTH ; MR_FUJIS_HOUSE - warp_to 15, 13, LAVENDER_TOWN_WIDTH ; LAVENDER_MART - warp_to 3, 13, LAVENDER_TOWN_WIDTH ; LAVENDER_CUBONE_HOUSE - warp_to 7, 13, LAVENDER_TOWN_WIDTH ; NAME_RATERS_HOUSE diff --git a/data/mapObjects/LoreleisRoom.asm b/data/mapObjects/LoreleisRoom.asm deleted file mode 100755 index 06450bb4..00000000 --- a/data/mapObjects/LoreleisRoom.asm +++ /dev/null @@ -1,19 +0,0 @@ -LoreleisRoom_Object: - db $3 ; border block - - db 4 ; warps - warp 4, 11, 2, INDIGO_PLATEAU_LOBBY - warp 5, 11, 2, INDIGO_PLATEAU_LOBBY - warp 4, 0, 0, BRUNOS_ROOM - warp 5, 0, 1, BRUNOS_ROOM - - db 0 ; signs - - db 1 ; objects - object SPRITE_LORELEI, 5, 2, STAY, DOWN, 1, OPP_LORELEI, 1 - - ; warp-to - warp_to 4, 11, LORELEIS_ROOM_WIDTH ; INDIGO_PLATEAU_LOBBY - warp_to 5, 11, LORELEIS_ROOM_WIDTH ; INDIGO_PLATEAU_LOBBY - warp_to 4, 0, LORELEIS_ROOM_WIDTH ; BRUNOS_ROOM - warp_to 5, 0, LORELEIS_ROOM_WIDTH ; BRUNOS_ROOM diff --git a/data/mapObjects/MrFujisHouse.asm b/data/mapObjects/MrFujisHouse.asm deleted file mode 100755 index 5b6ca2a6..00000000 --- a/data/mapObjects/MrFujisHouse.asm +++ /dev/null @@ -1,20 +0,0 @@ -MrFujisHouse_Object: - db $a ; border block - - db 2 ; warps - warp 2, 7, 2, -1 - warp 3, 7, 2, -1 - - db 0 ; signs - - db 6 ; objects - object SPRITE_BLACK_HAIR_BOY_2, 3, 5, STAY, NONE, 1 ; person - object SPRITE_LITTLE_GIRL, 6, 3, STAY, DOWN, 2 ; person - object SPRITE_SLOWBRO, 6, 4, STAY, UP, 3 ; person - object SPRITE_SLOWBRO, 1, 3, STAY, NONE, 4 ; person - object SPRITE_MR_FUJI, 3, 1, STAY, NONE, 5 ; person - object SPRITE_BOOK_MAP_DEX, 3, 3, STAY, NONE, 6 ; person - - ; warp-to - warp_to 2, 7, MR_FUJIS_HOUSE_WIDTH - warp_to 3, 7, MR_FUJIS_HOUSE_WIDTH diff --git a/data/mapObjects/MrPsychicsHouse.asm b/data/mapObjects/MrPsychicsHouse.asm deleted file mode 100755 index 01f9e11c..00000000 --- a/data/mapObjects/MrPsychicsHouse.asm +++ /dev/null @@ -1,15 +0,0 @@ -MrPsychicsHouse_Object: - db $a ; border block - - db 2 ; warps - warp 2, 7, 7, -1 - warp 3, 7, 7, -1 - - db 0 ; signs - - db 1 ; objects - object SPRITE_FISHER, 5, 3, STAY, LEFT, 1 ; person - - ; warp-to - warp_to 2, 7, MR_PSYCHICS_HOUSE_WIDTH - warp_to 3, 7, MR_PSYCHICS_HOUSE_WIDTH diff --git a/data/mapObjects/MtMoon1F.asm b/data/mapObjects/MtMoon1F.asm deleted file mode 100755 index 56820161..00000000 --- a/data/mapObjects/MtMoon1F.asm +++ /dev/null @@ -1,34 +0,0 @@ -MtMoon1F_Object: - db $3 ; border block - - db 5 ; warps - warp 14, 35, 1, -1 - warp 15, 35, 1, -1 - warp 5, 5, 0, MT_MOON_B1F - warp 17, 11, 2, MT_MOON_B1F - warp 25, 15, 3, MT_MOON_B1F - - db 1 ; signs - sign 15, 23, 14 ; MtMoon1Text14 - - db 13 ; objects - object SPRITE_HIKER, 5, 6, STAY, DOWN, 1, OPP_HIKER, 1 - object SPRITE_BUG_CATCHER, 12, 16, STAY, RIGHT, 2, OPP_YOUNGSTER, 3 - object SPRITE_LASS, 30, 4, STAY, DOWN, 3, OPP_LASS, 5 - object SPRITE_BLACK_HAIR_BOY_2, 24, 31, STAY, UP, 4, OPP_SUPER_NERD, 1 - object SPRITE_LASS, 16, 23, STAY, DOWN, 5, OPP_LASS, 6 - object SPRITE_BUG_CATCHER, 7, 22, STAY, DOWN, 6, OPP_BUG_CATCHER, 7 - object SPRITE_BUG_CATCHER, 30, 27, STAY, RIGHT, 7, OPP_BUG_CATCHER, 8 - object SPRITE_BALL, 2, 20, STAY, NONE, 8, POTION - object SPRITE_BALL, 2, 2, STAY, NONE, 9, MOON_STONE - object SPRITE_BALL, 35, 31, STAY, NONE, 10, RARE_CANDY - object SPRITE_BALL, 36, 23, STAY, NONE, 11, ESCAPE_ROPE - object SPRITE_BALL, 20, 33, STAY, NONE, 12, POTION - object SPRITE_BALL, 5, 32, STAY, NONE, 13, TM_12 - - ; warp-to - warp_to 14, 35, MT_MOON_1F_WIDTH - warp_to 15, 35, MT_MOON_1F_WIDTH - warp_to 5, 5, MT_MOON_1F_WIDTH ; MT_MOON_B1F - warp_to 17, 11, MT_MOON_1F_WIDTH ; MT_MOON_B1F - warp_to 25, 15, MT_MOON_1F_WIDTH ; MT_MOON_B1F diff --git a/data/mapObjects/MtMoonB1F.asm b/data/mapObjects/MtMoonB1F.asm deleted file mode 100755 index a8365ba7..00000000 --- a/data/mapObjects/MtMoonB1F.asm +++ /dev/null @@ -1,26 +0,0 @@ -MtMoonB1F_Object: - db $3 ; border block - - db 8 ; warps - warp 5, 5, 2, MT_MOON_1F - warp 17, 11, 0, MT_MOON_B2F - warp 25, 9, 3, MT_MOON_1F - warp 25, 15, 4, MT_MOON_1F - warp 21, 17, 1, MT_MOON_B2F - warp 13, 27, 2, MT_MOON_B2F - warp 23, 3, 3, MT_MOON_B2F - warp 27, 3, 2, -1 - - db 0 ; signs - - db 0 ; objects - - ; warp-to - warp_to 5, 5, MT_MOON_B1F_WIDTH ; MT_MOON_1F - warp_to 17, 11, MT_MOON_B1F_WIDTH ; MT_MOON_B2F - warp_to 25, 9, MT_MOON_B1F_WIDTH ; MT_MOON_1F - warp_to 25, 15, MT_MOON_B1F_WIDTH ; MT_MOON_1F - warp_to 21, 17, MT_MOON_B1F_WIDTH ; MT_MOON_B2F - warp_to 13, 27, MT_MOON_B1F_WIDTH ; MT_MOON_B2F - warp_to 23, 3, MT_MOON_B1F_WIDTH ; MT_MOON_B2F - warp_to 27, 3, MT_MOON_B1F_WIDTH diff --git a/data/mapObjects/MtMoonB2F.asm b/data/mapObjects/MtMoonB2F.asm deleted file mode 100755 index 27b2383f..00000000 --- a/data/mapObjects/MtMoonB2F.asm +++ /dev/null @@ -1,27 +0,0 @@ -MtMoonB2F_Object: - db $3 ; border block - - db 4 ; warps - warp 25, 9, 1, MT_MOON_B1F - warp 21, 17, 4, MT_MOON_B1F - warp 15, 27, 5, MT_MOON_B1F - warp 5, 7, 6, MT_MOON_B1F - - db 0 ; signs - - db 9 ; objects - object SPRITE_BLACK_HAIR_BOY_2, 12, 8, STAY, RIGHT, 1, OPP_SUPER_NERD, 2 - object SPRITE_ROCKET, 11, 16, STAY, DOWN, 2, OPP_ROCKET, 1 - object SPRITE_ROCKET, 15, 22, STAY, DOWN, 3, OPP_ROCKET, 2 - object SPRITE_ROCKET, 29, 11, STAY, UP, 4, OPP_ROCKET, 3 - object SPRITE_ROCKET, 29, 17, STAY, LEFT, 5, OPP_ROCKET, 4 - object SPRITE_OMANYTE, 12, 6, STAY, NONE, 6 ; person - object SPRITE_OMANYTE, 13, 6, STAY, NONE, 7 ; person - object SPRITE_BALL, 25, 21, STAY, NONE, 8, HP_UP - object SPRITE_BALL, 29, 5, STAY, NONE, 9, TM_01 - - ; warp-to - warp_to 25, 9, MT_MOON_B2F_WIDTH ; MT_MOON_B1F - warp_to 21, 17, MT_MOON_B2F_WIDTH ; MT_MOON_B1F - warp_to 15, 27, MT_MOON_B2F_WIDTH ; MT_MOON_B1F - warp_to 5, 7, MT_MOON_B2F_WIDTH ; MT_MOON_B1F diff --git a/data/mapObjects/MtMoonPokecenter.asm b/data/mapObjects/MtMoonPokecenter.asm deleted file mode 100755 index b23703e6..00000000 --- a/data/mapObjects/MtMoonPokecenter.asm +++ /dev/null @@ -1,20 +0,0 @@ -MtMoonPokecenter_Object: - db $0 ; border block - - db 2 ; warps - warp 3, 7, 0, -1 - warp 4, 7, 0, -1 - - db 0 ; signs - - db 6 ; objects - object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person - object SPRITE_BUG_CATCHER, 4, 3, STAY, UP, 2 ; person - object SPRITE_GENTLEMAN, 7, 3, STAY, UP, 3 ; person - object SPRITE_FAT_BALD_GUY, 10, 6, WALK, 2, 4 ; person - object SPRITE_CLIPBOARD, 7, 2, STAY, NONE, 5 ; person - object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 6 ; person - - ; warp-to - warp_to 3, 7, MT_MOON_POKECENTER_WIDTH - warp_to 4, 7, MT_MOON_POKECENTER_WIDTH diff --git a/data/mapObjects/Museum1F.asm b/data/mapObjects/Museum1F.asm deleted file mode 100755 index 1cfd2c68..00000000 --- a/data/mapObjects/Museum1F.asm +++ /dev/null @@ -1,25 +0,0 @@ -Museum1F_Object: - db $a ; border block - - db 5 ; warps - warp 10, 7, 0, -1 - warp 11, 7, 0, -1 - warp 16, 7, 1, -1 - warp 17, 7, 1, -1 - warp 7, 7, 0, MUSEUM_2F - - db 0 ; signs - - db 5 ; objects - object SPRITE_OAK_AIDE, 12, 4, STAY, LEFT, 1 ; person - object SPRITE_GAMBLER, 1, 4, STAY, NONE, 2 ; person - object SPRITE_OAK_AIDE, 15, 2, STAY, DOWN, 3 ; person - object SPRITE_OAK_AIDE, 17, 4, STAY, NONE, 4 ; person - object SPRITE_OLD_AMBER, 16, 2, STAY, NONE, 5 ; person - - ; warp-to - warp_to 10, 7, MUSEUM_1F_WIDTH - warp_to 11, 7, MUSEUM_1F_WIDTH - warp_to 16, 7, MUSEUM_1F_WIDTH - warp_to 17, 7, MUSEUM_1F_WIDTH - warp_to 7, 7, MUSEUM_1F_WIDTH ; MUSEUM_2F diff --git a/data/mapObjects/Museum2F.asm b/data/mapObjects/Museum2F.asm deleted file mode 100755 index 80815820..00000000 --- a/data/mapObjects/Museum2F.asm +++ /dev/null @@ -1,19 +0,0 @@ -Museum2F_Object: - db $a ; border block - - db 1 ; warps - warp 7, 7, 4, MUSEUM_1F - - db 2 ; signs - sign 11, 2, 6 ; Museum2FText6 - sign 2, 5, 7 ; Museum2FText7 - - db 5 ; objects - object SPRITE_BUG_CATCHER, 1, 7, WALK, 2, 1 ; person - object SPRITE_OLD_PERSON, 0, 5, STAY, DOWN, 2 ; person - object SPRITE_OAK_AIDE, 7, 5, STAY, DOWN, 3 ; person - object SPRITE_BRUNETTE_GIRL, 11, 5, STAY, NONE, 4 ; person - object SPRITE_HIKER, 12, 5, STAY, DOWN, 5 ; person - - ; warp-to - warp_to 7, 7, MUSEUM_2F_WIDTH ; MUSEUM_1F diff --git a/data/mapObjects/NameRatersHouse.asm b/data/mapObjects/NameRatersHouse.asm deleted file mode 100755 index da95bc43..00000000 --- a/data/mapObjects/NameRatersHouse.asm +++ /dev/null @@ -1,15 +0,0 @@ -NameRatersHouse_Object: - db $a ; border block - - db 2 ; warps - warp 2, 7, 5, -1 - warp 3, 7, 5, -1 - - db 0 ; signs - - db 1 ; objects - object SPRITE_MR_MASTERBALL, 5, 3, STAY, LEFT, 1 ; person - - ; warp-to - warp_to 2, 7, NAME_RATERS_HOUSE_WIDTH - warp_to 3, 7, NAME_RATERS_HOUSE_WIDTH diff --git a/data/mapObjects/OaksLab.asm b/data/mapObjects/OaksLab.asm deleted file mode 100755 index fa78ccdf..00000000 --- a/data/mapObjects/OaksLab.asm +++ /dev/null @@ -1,25 +0,0 @@ -OaksLab_Object: - db $3 ; border block - - db 2 ; warps - warp 4, 11, 2, -1 - warp 5, 11, 2, -1 - - db 0 ; signs - - db 11 ; objects - object SPRITE_BLUE, 4, 3, STAY, NONE, 1, OPP_SONY1, 1 - object SPRITE_BALL, 6, 3, STAY, NONE, 2 ; person - object SPRITE_BALL, 7, 3, STAY, NONE, 3 ; person - object SPRITE_BALL, 8, 3, STAY, NONE, 4 ; person - object SPRITE_OAK, 5, 2, STAY, DOWN, 5 ; person - object SPRITE_BOOK_MAP_DEX, 2, 1, STAY, NONE, 6 ; person - object SPRITE_BOOK_MAP_DEX, 3, 1, STAY, NONE, 7 ; person - object SPRITE_OAK, 5, 10, STAY, UP, 8 ; person - object SPRITE_GIRL, 1, 9, WALK, 1, 9 ; person - object SPRITE_OAK_AIDE, 2, 10, STAY, NONE, 10 ; person - object SPRITE_OAK_AIDE, 8, 10, STAY, NONE, 11 ; person - - ; warp-to - warp_to 4, 11, OAKS_LAB_WIDTH - warp_to 5, 11, OAKS_LAB_WIDTH diff --git a/data/mapObjects/PalletTown.asm b/data/mapObjects/PalletTown.asm deleted file mode 100755 index 68b01175..00000000 --- a/data/mapObjects/PalletTown.asm +++ /dev/null @@ -1,23 +0,0 @@ -PalletTown_Object: - db $b ; border block - - db 3 ; warps - warp 5, 5, 0, REDS_HOUSE_1F - warp 13, 5, 0, BLUES_HOUSE - warp 12, 11, 1, OAKS_LAB - - db 4 ; signs - sign 13, 13, 4 ; PalletTownText4 - sign 7, 9, 5 ; PalletTownText5 - sign 3, 5, 6 ; PalletTownText6 - sign 11, 5, 7 ; PalletTownText7 - - db 3 ; objects - object SPRITE_OAK, 8, 5, STAY, NONE, 1 ; person - object SPRITE_GIRL, 3, 8, WALK, 0, 2 ; person - object SPRITE_FISHER2, 11, 14, WALK, 0, 3 ; person - - ; warp-to - warp_to 5, 5, PALLET_TOWN_WIDTH ; REDS_HOUSE_1F - warp_to 13, 5, PALLET_TOWN_WIDTH ; BLUES_HOUSE - warp_to 12, 11, PALLET_TOWN_WIDTH ; OAKS_LAB diff --git a/data/mapObjects/PewterCity.asm b/data/mapObjects/PewterCity.asm deleted file mode 100755 index e1a3eecb..00000000 --- a/data/mapObjects/PewterCity.asm +++ /dev/null @@ -1,36 +0,0 @@ -PewterCity_Object: - db $a ; border block - - db 7 ; warps - warp 14, 7, 0, MUSEUM_1F - warp 19, 5, 2, MUSEUM_1F - warp 16, 17, 0, PEWTER_GYM - warp 29, 13, 0, PEWTER_NIDORAN_HOUSE - warp 23, 17, 0, PEWTER_MART - warp 7, 29, 0, PEWTER_SPEECH_HOUSE - warp 13, 25, 0, PEWTER_POKECENTER - - db 7 ; signs - sign 19, 29, 6 ; PewterCityText6 - sign 33, 19, 7 ; PewterCityText7 - sign 24, 17, 8 ; MartSignText - sign 14, 25, 9 ; PokeCenterSignText - sign 15, 9, 10 ; PewterCityText10 - sign 11, 17, 11 ; PewterCityText11 - sign 25, 23, 12 ; PewterCityText12 - - db 5 ; objects - object SPRITE_LASS, 8, 15, STAY, NONE, 1 ; person - object SPRITE_BLACK_HAIR_BOY_1, 17, 25, STAY, NONE, 2 ; person - object SPRITE_BLACK_HAIR_BOY_2, 27, 17, STAY, NONE, 3 ; person - object SPRITE_BLACK_HAIR_BOY_2, 26, 25, WALK, 2, 4 ; person - object SPRITE_BUG_CATCHER, 35, 16, STAY, DOWN, 5 ; person - - ; warp-to - warp_to 14, 7, PEWTER_CITY_WIDTH ; MUSEUM_1F - warp_to 19, 5, PEWTER_CITY_WIDTH ; MUSEUM_1F - warp_to 16, 17, PEWTER_CITY_WIDTH ; PEWTER_GYM - warp_to 29, 13, PEWTER_CITY_WIDTH ; PEWTER_NIDORAN_HOUSE - warp_to 23, 17, PEWTER_CITY_WIDTH ; PEWTER_MART - warp_to 7, 29, PEWTER_CITY_WIDTH ; PEWTER_SPEECH_HOUSE - warp_to 13, 25, PEWTER_CITY_WIDTH ; PEWTER_POKECENTER diff --git a/data/mapObjects/PewterGym.asm b/data/mapObjects/PewterGym.asm deleted file mode 100755 index 538c3923..00000000 --- a/data/mapObjects/PewterGym.asm +++ /dev/null @@ -1,17 +0,0 @@ -PewterGym_Object: - db $3 ; border block - - db 2 ; warps - warp 4, 13, 2, -1 - warp 5, 13, 2, -1 - - db 0 ; signs - - db 3 ; objects - object SPRITE_BLACK_HAIR_BOY_2, 4, 1, STAY, DOWN, 1, OPP_BROCK, 1 - object SPRITE_BLACK_HAIR_BOY_1, 3, 6, STAY, RIGHT, 2, OPP_JR_TRAINER_M, 1 - object SPRITE_GYM_HELPER, 7, 10, STAY, DOWN, 3 ; person - - ; warp-to - warp_to 4, 13, PEWTER_GYM_WIDTH - warp_to 5, 13, PEWTER_GYM_WIDTH diff --git a/data/mapObjects/PewterMart.asm b/data/mapObjects/PewterMart.asm deleted file mode 100755 index 9b983316..00000000 --- a/data/mapObjects/PewterMart.asm +++ /dev/null @@ -1,17 +0,0 @@ -PewterMart_Object: - db $0 ; border block - - db 2 ; warps - warp 3, 7, 4, -1 - warp 4, 7, 4, -1 - - db 0 ; signs - - db 3 ; objects - object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person - object SPRITE_BUG_CATCHER, 3, 3, WALK, 1, 2 ; person - object SPRITE_BLACK_HAIR_BOY_2, 5, 5, STAY, NONE, 3 ; person - - ; warp-to - warp_to 3, 7, PEWTER_MART_WIDTH - warp_to 4, 7, PEWTER_MART_WIDTH diff --git a/data/mapObjects/PewterNidoranHouse.asm b/data/mapObjects/PewterNidoranHouse.asm deleted file mode 100755 index f00317d1..00000000 --- a/data/mapObjects/PewterNidoranHouse.asm +++ /dev/null @@ -1,17 +0,0 @@ -PewterNidoranHouse_Object: - db $a ; border block - - db 2 ; warps - warp 2, 7, 3, -1 - warp 3, 7, 3, -1 - - db 0 ; signs - - db 3 ; objects - object SPRITE_SLOWBRO, 4, 5, STAY, LEFT, 1 ; person - object SPRITE_YOUNG_BOY, 3, 5, STAY, RIGHT, 2 ; person - object SPRITE_FAT_BALD_GUY, 1, 2, STAY, NONE, 3 ; person - - ; warp-to - warp_to 2, 7, PEWTER_NIDORAN_HOUSE_WIDTH - warp_to 3, 7, PEWTER_NIDORAN_HOUSE_WIDTH diff --git a/data/mapObjects/PewterPokecenter.asm b/data/mapObjects/PewterPokecenter.asm deleted file mode 100755 index 2b375bf9..00000000 --- a/data/mapObjects/PewterPokecenter.asm +++ /dev/null @@ -1,18 +0,0 @@ -PewterPokecenter_Object: - db $0 ; border block - - db 2 ; warps - warp 3, 7, 6, -1 - warp 4, 7, 6, -1 - - db 0 ; signs - - db 4 ; objects - object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person - object SPRITE_GENTLEMAN, 11, 7, STAY, LEFT, 2 ; person - object SPRITE_CLEFAIRY, 1, 3, STAY, DOWN, 3 ; person - object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person - - ; warp-to - warp_to 3, 7, PEWTER_POKECENTER_WIDTH - warp_to 4, 7, PEWTER_POKECENTER_WIDTH diff --git a/data/mapObjects/PewterSpeechHouse.asm b/data/mapObjects/PewterSpeechHouse.asm deleted file mode 100755 index e7134cb5..00000000 --- a/data/mapObjects/PewterSpeechHouse.asm +++ /dev/null @@ -1,16 +0,0 @@ -PewterSpeechHouse_Object: - db $a ; border block - - db 2 ; warps - warp 2, 7, 5, -1 - warp 3, 7, 5, -1 - - db 0 ; signs - - db 2 ; objects - object SPRITE_GAMBLER, 2, 3, STAY, RIGHT, 1 ; person - object SPRITE_BUG_CATCHER, 4, 5, STAY, NONE, 2 ; person - - ; warp-to - warp_to 2, 7, PEWTER_SPEECH_HOUSE_WIDTH - warp_to 3, 7, PEWTER_SPEECH_HOUSE_WIDTH diff --git a/data/mapObjects/PokemonFanClub.asm b/data/mapObjects/PokemonFanClub.asm deleted file mode 100755 index e1f175f0..00000000 --- a/data/mapObjects/PokemonFanClub.asm +++ /dev/null @@ -1,22 +0,0 @@ -PokemonFanClub_Object: - db $d ; border block - - db 2 ; warps - warp 2, 7, 1, -1 - warp 3, 7, 1, -1 - - db 2 ; signs - sign 1, 0, 7 ; FanClubText7 - sign 6, 0, 8 ; FanClubText8 - - db 6 ; objects - object SPRITE_FISHER2, 6, 3, STAY, LEFT, 1 ; person - object SPRITE_GIRL, 1, 3, STAY, RIGHT, 2 ; person - object SPRITE_CLEFAIRY, 6, 4, STAY, LEFT, 3 ; person - object SPRITE_SEEL, 1, 4, STAY, RIGHT, 4 ; person - object SPRITE_GENTLEMAN, 3, 1, STAY, DOWN, 5 ; person - object SPRITE_CABLE_CLUB_WOMAN, 5, 1, STAY, DOWN, 6 ; person - - ; warp-to - warp_to 2, 7, POKEMON_FAN_CLUB_WIDTH - warp_to 3, 7, POKEMON_FAN_CLUB_WIDTH diff --git a/data/mapObjects/PokemonMansion1F.asm b/data/mapObjects/PokemonMansion1F.asm deleted file mode 100755 index 109b5b8e..00000000 --- a/data/mapObjects/PokemonMansion1F.asm +++ /dev/null @@ -1,29 +0,0 @@ -PokemonMansion1F_Object: - db $2e ; border block - - db 8 ; warps - warp 4, 27, 0, -1 - warp 5, 27, 0, -1 - warp 6, 27, 0, -1 - warp 7, 27, 0, -1 - warp 5, 10, 0, POKEMON_MANSION_2F - warp 21, 23, 0, POKEMON_MANSION_B1F - warp 26, 27, 0, -1 - warp 27, 27, 0, -1 - - db 0 ; signs - - db 3 ; objects - object SPRITE_OAK_AIDE, 17, 17, STAY, LEFT, 1, OPP_SCIENTIST, 4 - object SPRITE_BALL, 14, 3, STAY, NONE, 2, ESCAPE_ROPE - object SPRITE_BALL, 18, 21, STAY, NONE, 3, CARBOS - - ; warp-to - warp_to 4, 27, POKEMON_MANSION_1F_WIDTH - warp_to 5, 27, POKEMON_MANSION_1F_WIDTH - warp_to 6, 27, POKEMON_MANSION_1F_WIDTH - warp_to 7, 27, POKEMON_MANSION_1F_WIDTH - warp_to 5, 10, POKEMON_MANSION_1F_WIDTH ; POKEMON_MANSION_2F - warp_to 21, 23, POKEMON_MANSION_1F_WIDTH ; POKEMON_MANSION_B1F - warp_to 26, 27, POKEMON_MANSION_1F_WIDTH - warp_to 27, 27, POKEMON_MANSION_1F_WIDTH diff --git a/data/mapObjects/PokemonMansion2F.asm b/data/mapObjects/PokemonMansion2F.asm deleted file mode 100755 index 6c0cc5f8..00000000 --- a/data/mapObjects/PokemonMansion2F.asm +++ /dev/null @@ -1,22 +0,0 @@ -PokemonMansion2F_Object: - db $1 ; border block - - db 4 ; warps - warp 5, 10, 4, POKEMON_MANSION_1F - warp 7, 10, 0, POKEMON_MANSION_3F - warp 25, 14, 2, POKEMON_MANSION_3F - warp 6, 1, 1, POKEMON_MANSION_3F - - db 0 ; signs - - db 4 ; objects - object SPRITE_BLACK_HAIR_BOY_2, 3, 17, WALK, 2, 1, OPP_BURGLAR, 7 - object SPRITE_BALL, 28, 7, STAY, NONE, 2, CALCIUM - object SPRITE_BOOK_MAP_DEX, 18, 2, STAY, NONE, 3 ; person - object SPRITE_BOOK_MAP_DEX, 3, 22, STAY, NONE, 4 ; person - - ; warp-to - warp_to 5, 10, POKEMON_MANSION_2F_WIDTH ; POKEMON_MANSION_1F - warp_to 7, 10, POKEMON_MANSION_2F_WIDTH ; POKEMON_MANSION_3F - warp_to 25, 14, POKEMON_MANSION_2F_WIDTH ; POKEMON_MANSION_3F - warp_to 6, 1, POKEMON_MANSION_2F_WIDTH ; POKEMON_MANSION_3F diff --git a/data/mapObjects/PokemonMansion3F.asm b/data/mapObjects/PokemonMansion3F.asm deleted file mode 100755 index 7c8c9c22..00000000 --- a/data/mapObjects/PokemonMansion3F.asm +++ /dev/null @@ -1,21 +0,0 @@ -PokemonMansion3F_Object: - db $1 ; border block - - db 3 ; warps - warp 7, 10, 1, POKEMON_MANSION_2F - warp 6, 1, 3, POKEMON_MANSION_2F - warp 25, 14, 2, POKEMON_MANSION_2F - - db 0 ; signs - - db 5 ; objects - object SPRITE_BLACK_HAIR_BOY_2, 5, 11, WALK, 2, 1, OPP_BURGLAR, 8 - object SPRITE_OAK_AIDE, 20, 11, STAY, LEFT, 2, OPP_SCIENTIST, 12 - object SPRITE_BALL, 1, 16, STAY, NONE, 3, MAX_POTION - object SPRITE_BALL, 25, 5, STAY, NONE, 4, IRON - object SPRITE_BOOK_MAP_DEX, 6, 12, STAY, NONE, 5 ; person - - ; warp-to - warp_to 7, 10, POKEMON_MANSION_3F_WIDTH ; POKEMON_MANSION_2F - warp_to 6, 1, POKEMON_MANSION_3F_WIDTH ; POKEMON_MANSION_2F - warp_to 25, 14, POKEMON_MANSION_3F_WIDTH ; POKEMON_MANSION_2F diff --git a/data/mapObjects/PokemonMansionB1F.asm b/data/mapObjects/PokemonMansionB1F.asm deleted file mode 100755 index ac232799..00000000 --- a/data/mapObjects/PokemonMansionB1F.asm +++ /dev/null @@ -1,20 +0,0 @@ -PokemonMansionB1F_Object: - db $1 ; border block - - db 1 ; warps - warp 23, 22, 5, POKEMON_MANSION_1F - - db 0 ; signs - - db 8 ; objects - object SPRITE_BLACK_HAIR_BOY_2, 16, 23, STAY, NONE, 1, OPP_BURGLAR, 9 - object SPRITE_OAK_AIDE, 27, 11, STAY, DOWN, 2, OPP_SCIENTIST, 13 - object SPRITE_BALL, 10, 2, STAY, NONE, 3, RARE_CANDY - object SPRITE_BALL, 1, 22, STAY, NONE, 4, FULL_RESTORE - object SPRITE_BALL, 19, 25, STAY, NONE, 5, TM_14 - object SPRITE_BALL, 5, 4, STAY, NONE, 6, TM_22 - object SPRITE_BOOK_MAP_DEX, 16, 20, STAY, NONE, 7 ; person - object SPRITE_BALL, 5, 13, STAY, NONE, 8, SECRET_KEY - - ; warp-to - warp_to 23, 22, POKEMON_MANSION_B1F_WIDTH ; POKEMON_MANSION_1F diff --git a/data/mapObjects/PokemonTower1F.asm b/data/mapObjects/PokemonTower1F.asm deleted file mode 100755 index cf62836b..00000000 --- a/data/mapObjects/PokemonTower1F.asm +++ /dev/null @@ -1,21 +0,0 @@ -PokemonTower1F_Object: - db $1 ; border block - - db 3 ; warps - warp 10, 17, 1, -1 - warp 11, 17, 1, -1 - warp 18, 9, 1, POKEMON_TOWER_2F - - db 0 ; signs - - db 5 ; objects - object SPRITE_CABLE_CLUB_WOMAN, 15, 13, STAY, UP, 1 ; person - object SPRITE_MOM_GEISHA, 6, 8, STAY, NONE, 2 ; person - object SPRITE_BALDING_GUY, 8, 12, STAY, NONE, 3 ; person - object SPRITE_GIRL, 13, 7, STAY, NONE, 4 ; person - object SPRITE_MEDIUM, 17, 7, STAY, LEFT, 5 ; person - - ; warp-to - warp_to 10, 17, POKEMON_TOWER_1F_WIDTH - warp_to 11, 17, POKEMON_TOWER_1F_WIDTH - warp_to 18, 9, POKEMON_TOWER_1F_WIDTH ; POKEMON_TOWER_2F diff --git a/data/mapObjects/PokemonTower2F.asm b/data/mapObjects/PokemonTower2F.asm deleted file mode 100755 index 5ce437d1..00000000 --- a/data/mapObjects/PokemonTower2F.asm +++ /dev/null @@ -1,16 +0,0 @@ -PokemonTower2F_Object: - db $1 ; border block - - db 2 ; warps - warp 3, 9, 0, POKEMON_TOWER_3F - warp 18, 9, 2, POKEMON_TOWER_1F - - db 0 ; signs - - db 2 ; objects - object SPRITE_BLUE, 14, 5, STAY, NONE, 1 ; person - object SPRITE_MEDIUM, 3, 7, STAY, RIGHT, 2 ; person - - ; warp-to - warp_to 3, 9, POKEMON_TOWER_2F_WIDTH ; POKEMON_TOWER_3F - warp_to 18, 9, POKEMON_TOWER_2F_WIDTH ; POKEMON_TOWER_1F diff --git a/data/mapObjects/PokemonTower3F.asm b/data/mapObjects/PokemonTower3F.asm deleted file mode 100755 index 79b83f88..00000000 --- a/data/mapObjects/PokemonTower3F.asm +++ /dev/null @@ -1,18 +0,0 @@ -PokemonTower3F_Object: - db $1 ; border block - - db 2 ; warps - warp 3, 9, 0, POKEMON_TOWER_2F - warp 18, 9, 1, POKEMON_TOWER_4F - - db 0 ; signs - - db 4 ; objects - object SPRITE_MEDIUM, 12, 3, STAY, LEFT, 1, OPP_CHANNELER, 5 - object SPRITE_MEDIUM, 9, 8, STAY, DOWN, 2, OPP_CHANNELER, 6 - object SPRITE_MEDIUM, 10, 13, STAY, DOWN, 3, OPP_CHANNELER, 8 - object SPRITE_BALL, 12, 1, STAY, NONE, 4, ESCAPE_ROPE - - ; warp-to - warp_to 3, 9, POKEMON_TOWER_3F_WIDTH ; POKEMON_TOWER_2F - warp_to 18, 9, POKEMON_TOWER_3F_WIDTH ; POKEMON_TOWER_4F diff --git a/data/mapObjects/PokemonTower4F.asm b/data/mapObjects/PokemonTower4F.asm deleted file mode 100755 index db86c02c..00000000 --- a/data/mapObjects/PokemonTower4F.asm +++ /dev/null @@ -1,20 +0,0 @@ -PokemonTower4F_Object: - db $1 ; border block - - db 2 ; warps - warp 3, 9, 0, POKEMON_TOWER_5F - warp 18, 9, 1, POKEMON_TOWER_3F - - db 0 ; signs - - db 6 ; objects - object SPRITE_MEDIUM, 5, 10, STAY, RIGHT, 1, OPP_CHANNELER, 9 - object SPRITE_MEDIUM, 15, 7, STAY, DOWN, 2, OPP_CHANNELER, 10 - object SPRITE_MEDIUM, 14, 12, STAY, LEFT, 3, OPP_CHANNELER, 12 - object SPRITE_BALL, 12, 10, STAY, NONE, 4, ELIXER - object SPRITE_BALL, 9, 10, STAY, NONE, 5, AWAKENING - object SPRITE_BALL, 12, 16, STAY, NONE, 6, HP_UP - - ; warp-to - warp_to 3, 9, POKEMON_TOWER_4F_WIDTH ; POKEMON_TOWER_5F - warp_to 18, 9, POKEMON_TOWER_4F_WIDTH ; POKEMON_TOWER_3F diff --git a/data/mapObjects/PokemonTower5F.asm b/data/mapObjects/PokemonTower5F.asm deleted file mode 100755 index b482871f..00000000 --- a/data/mapObjects/PokemonTower5F.asm +++ /dev/null @@ -1,20 +0,0 @@ -PokemonTower5F_Object: - db $1 ; border block - - db 2 ; warps - warp 3, 9, 0, POKEMON_TOWER_4F - warp 18, 9, 0, POKEMON_TOWER_6F - - db 0 ; signs - - db 6 ; objects - object SPRITE_MEDIUM, 12, 8, STAY, NONE, 1 ; person - object SPRITE_MEDIUM, 17, 7, STAY, LEFT, 2, OPP_CHANNELER, 14 - object SPRITE_MEDIUM, 14, 3, STAY, LEFT, 3, OPP_CHANNELER, 16 - object SPRITE_MEDIUM, 6, 10, STAY, RIGHT, 4, OPP_CHANNELER, 17 - object SPRITE_MEDIUM, 9, 16, STAY, RIGHT, 5, OPP_CHANNELER, 18 - object SPRITE_BALL, 6, 14, STAY, NONE, 6, NUGGET - - ; warp-to - warp_to 3, 9, POKEMON_TOWER_5F_WIDTH ; POKEMON_TOWER_4F - warp_to 18, 9, POKEMON_TOWER_5F_WIDTH ; POKEMON_TOWER_6F diff --git a/data/mapObjects/PokemonTower6F.asm b/data/mapObjects/PokemonTower6F.asm deleted file mode 100755 index 823fe78a..00000000 --- a/data/mapObjects/PokemonTower6F.asm +++ /dev/null @@ -1,19 +0,0 @@ -PokemonTower6F_Object: - db $1 ; border block - - db 2 ; warps - warp 18, 9, 1, POKEMON_TOWER_5F - warp 9, 16, 0, POKEMON_TOWER_7F - - db 0 ; signs - - db 5 ; objects - object SPRITE_MEDIUM, 12, 10, STAY, RIGHT, 1, OPP_CHANNELER, 19 - object SPRITE_MEDIUM, 9, 5, STAY, DOWN, 2, OPP_CHANNELER, 20 - object SPRITE_MEDIUM, 16, 5, STAY, LEFT, 3, OPP_CHANNELER, 21 - object SPRITE_BALL, 6, 8, STAY, NONE, 4, RARE_CANDY - object SPRITE_BALL, 14, 14, STAY, NONE, 5, X_ACCURACY - - ; warp-to - warp_to 18, 9, POKEMON_TOWER_6F_WIDTH ; POKEMON_TOWER_5F - warp_to 9, 16, POKEMON_TOWER_6F_WIDTH ; POKEMON_TOWER_7F diff --git a/data/mapObjects/PokemonTower7F.asm b/data/mapObjects/PokemonTower7F.asm deleted file mode 100755 index 79cb5b0d..00000000 --- a/data/mapObjects/PokemonTower7F.asm +++ /dev/null @@ -1,16 +0,0 @@ -PokemonTower7F_Object: - db $1 ; border block - - db 1 ; warps - warp 9, 16, 1, POKEMON_TOWER_6F - - db 0 ; signs - - db 4 ; objects - object SPRITE_ROCKET, 9, 11, STAY, RIGHT, 1, OPP_ROCKET, 19 - object SPRITE_ROCKET, 12, 9, STAY, LEFT, 2, OPP_ROCKET, 20 - object SPRITE_ROCKET, 9, 7, STAY, RIGHT, 3, OPP_ROCKET, 21 - object SPRITE_MR_FUJI, 10, 3, STAY, DOWN, 4 ; person - - ; warp-to - warp_to 9, 16, POKEMON_TOWER_7F_WIDTH ; POKEMON_TOWER_6F diff --git a/data/mapObjects/PowerPlant.asm b/data/mapObjects/PowerPlant.asm deleted file mode 100755 index a8548b1c..00000000 --- a/data/mapObjects/PowerPlant.asm +++ /dev/null @@ -1,30 +0,0 @@ -PowerPlant_Object: - db $2e ; border block - - db 3 ; warps - warp 4, 35, 3, -1 - warp 5, 35, 3, -1 - warp 0, 11, 3, -1 - - db 0 ; signs - - db 14 ; objects - object SPRITE_BALL, 9, 20, STAY, NONE, 1, VOLTORB, 40 - object SPRITE_BALL, 32, 18, STAY, NONE, 2, VOLTORB, 40 - object SPRITE_BALL, 21, 25, STAY, NONE, 3, VOLTORB, 40 - object SPRITE_BALL, 25, 18, STAY, NONE, 4, ELECTRODE, 43 - object SPRITE_BALL, 23, 34, STAY, NONE, 5, VOLTORB, 40 - object SPRITE_BALL, 26, 28, STAY, NONE, 6, VOLTORB, 40 - object SPRITE_BALL, 21, 14, STAY, NONE, 7, ELECTRODE, 43 - object SPRITE_BALL, 37, 32, STAY, NONE, 8, VOLTORB, 40 - object SPRITE_BIRD, 4, 9, STAY, UP, 9, ZAPDOS, 50 - object SPRITE_BALL, 7, 25, STAY, NONE, 10, CARBOS - object SPRITE_BALL, 28, 3, STAY, NONE, 11, HP_UP - object SPRITE_BALL, 34, 3, STAY, NONE, 12, RARE_CANDY - object SPRITE_BALL, 26, 32, STAY, NONE, 13, TM_25 - object SPRITE_BALL, 20, 32, STAY, NONE, 14, TM_33 - - ; warp-to - warp_to 4, 35, POWER_PLANT_WIDTH - warp_to 5, 35, POWER_PLANT_WIDTH - warp_to 0, 11, POWER_PLANT_WIDTH diff --git a/data/mapObjects/RedsHouse1F.asm b/data/mapObjects/RedsHouse1F.asm deleted file mode 100755 index a54b5411..00000000 --- a/data/mapObjects/RedsHouse1F.asm +++ /dev/null @@ -1,18 +0,0 @@ -RedsHouse1F_Object: - db $a ; border block - - db 3 ; warps - warp 2, 7, 0, -1 ; exit1 - warp 3, 7, 0, -1 ; exit2 - warp 7, 1, 0, REDS_HOUSE_2F ; staircase - - db 1 ; signs - sign 3, 1, 2 ; TV - - db 1 ; objects - object SPRITE_MOM, 5, 4, STAY, LEFT, 1 ; Mom - - ; warp-to - warp_to 2, 7, REDS_HOUSE_1F_WIDTH - warp_to 3, 7, REDS_HOUSE_1F_WIDTH - warp_to 7, 1, REDS_HOUSE_1F_WIDTH diff --git a/data/mapObjects/RedsHouse2F.asm b/data/mapObjects/RedsHouse2F.asm deleted file mode 100755 index 98e9c236..00000000 --- a/data/mapObjects/RedsHouse2F.asm +++ /dev/null @@ -1,12 +0,0 @@ -RedsHouse2F_Object: - db $a ; border block - - db 1 ; warps - warp 7, 1, 2, REDS_HOUSE_1F - - db 0 ; signs - - db 0 ; objects - - ; warp-to - warp_to 7, 1, REDS_HOUSE_2F_WIDTH diff --git a/data/mapObjects/RockTunnel1F.asm b/data/mapObjects/RockTunnel1F.asm deleted file mode 100755 index 1cf5a12f..00000000 --- a/data/mapObjects/RockTunnel1F.asm +++ /dev/null @@ -1,34 +0,0 @@ -RockTunnel1F_Object: - db $3 ; border block - - db 8 ; warps - warp 15, 3, 1, -1 - warp 15, 0, 1, -1 - warp 15, 33, 2, -1 - warp 15, 35, 2, -1 - warp 37, 3, 0, ROCK_TUNNEL_B1F - warp 5, 3, 1, ROCK_TUNNEL_B1F - warp 17, 11, 2, ROCK_TUNNEL_B1F - warp 37, 17, 3, ROCK_TUNNEL_B1F - - db 1 ; signs - sign 11, 29, 8 ; RockTunnel1Text8 - - db 7 ; objects - object SPRITE_HIKER, 7, 5, STAY, DOWN, 1, OPP_HIKER, 12 - object SPRITE_HIKER, 5, 16, STAY, DOWN, 2, OPP_HIKER, 13 - object SPRITE_HIKER, 17, 15, STAY, LEFT, 3, OPP_HIKER, 14 - object SPRITE_BLACK_HAIR_BOY_2, 23, 8, STAY, LEFT, 4, OPP_POKEMANIAC, 7 - object SPRITE_LASS, 37, 21, STAY, LEFT, 5, OPP_JR_TRAINER_F, 17 - object SPRITE_LASS, 22, 24, STAY, DOWN, 6, OPP_JR_TRAINER_F, 18 - object SPRITE_LASS, 32, 24, STAY, RIGHT, 7, OPP_JR_TRAINER_F, 19 - - ; warp-to - warp_to 15, 3, ROCK_TUNNEL_1F_WIDTH - warp_to 15, 0, ROCK_TUNNEL_1F_WIDTH - warp_to 15, 33, ROCK_TUNNEL_1F_WIDTH - warp_to 15, 35, ROCK_TUNNEL_1F_WIDTH - warp_to 37, 3, ROCK_TUNNEL_1F_WIDTH ; ROCK_TUNNEL_B1F - warp_to 5, 3, ROCK_TUNNEL_1F_WIDTH ; ROCK_TUNNEL_B1F - warp_to 17, 11, ROCK_TUNNEL_1F_WIDTH ; ROCK_TUNNEL_B1F - warp_to 37, 17, ROCK_TUNNEL_1F_WIDTH ; ROCK_TUNNEL_B1F diff --git a/data/mapObjects/RockTunnelB1F.asm b/data/mapObjects/RockTunnelB1F.asm deleted file mode 100755 index f562168e..00000000 --- a/data/mapObjects/RockTunnelB1F.asm +++ /dev/null @@ -1,26 +0,0 @@ -RockTunnelB1F_Object: - db $3 ; border block - - db 4 ; warps - warp 33, 25, 4, ROCK_TUNNEL_1F - warp 27, 3, 5, ROCK_TUNNEL_1F - warp 23, 11, 6, ROCK_TUNNEL_1F - warp 3, 3, 7, ROCK_TUNNEL_1F - - db 0 ; signs - - db 8 ; objects - object SPRITE_LASS, 11, 13, STAY, DOWN, 1, OPP_JR_TRAINER_F, 9 - object SPRITE_HIKER, 6, 10, STAY, DOWN, 2, OPP_HIKER, 9 - object SPRITE_BLACK_HAIR_BOY_2, 3, 5, STAY, DOWN, 3, OPP_POKEMANIAC, 3 - object SPRITE_BLACK_HAIR_BOY_2, 20, 21, STAY, RIGHT, 4, OPP_POKEMANIAC, 4 - object SPRITE_HIKER, 30, 10, STAY, DOWN, 5, OPP_HIKER, 10 - object SPRITE_LASS, 14, 28, STAY, RIGHT, 6, OPP_JR_TRAINER_F, 10 - object SPRITE_HIKER, 33, 5, STAY, RIGHT, 7, OPP_HIKER, 11 - object SPRITE_BLACK_HAIR_BOY_2, 26, 30, STAY, DOWN, 8, OPP_POKEMANIAC, 5 - - ; warp-to - warp_to 33, 25, ROCK_TUNNEL_B1F_WIDTH ; ROCK_TUNNEL_1F - warp_to 27, 3, ROCK_TUNNEL_B1F_WIDTH ; ROCK_TUNNEL_1F - warp_to 23, 11, ROCK_TUNNEL_B1F_WIDTH ; ROCK_TUNNEL_1F - warp_to 3, 3, ROCK_TUNNEL_B1F_WIDTH ; ROCK_TUNNEL_1F diff --git a/data/mapObjects/RockTunnelPokecenter.asm b/data/mapObjects/RockTunnelPokecenter.asm deleted file mode 100755 index a7619f7f..00000000 --- a/data/mapObjects/RockTunnelPokecenter.asm +++ /dev/null @@ -1,18 +0,0 @@ -RockTunnelPokecenter_Object: - db $0 ; border block - - db 2 ; warps - warp 3, 7, 0, -1 - warp 4, 7, 0, -1 - - db 0 ; signs - - db 4 ; objects - object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person - object SPRITE_GENTLEMAN, 7, 3, WALK, 2, 2 ; person - object SPRITE_FISHER2, 2, 5, STAY, NONE, 3 ; person - object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person - - ; warp-to - warp_to 3, 7, ROCK_TUNNEL_POKECENTER_WIDTH - warp_to 4, 7, ROCK_TUNNEL_POKECENTER_WIDTH diff --git a/data/mapObjects/RocketHideoutB1F.asm b/data/mapObjects/RocketHideoutB1F.asm deleted file mode 100755 index 99537510..00000000 --- a/data/mapObjects/RocketHideoutB1F.asm +++ /dev/null @@ -1,27 +0,0 @@ -RocketHideoutB1F_Object: - db $2e ; border block - - db 5 ; warps - warp 23, 2, 0, ROCKET_HIDEOUT_B2F - warp 21, 2, 2, GAME_CORNER - warp 24, 19, 0, ROCKET_HIDEOUT_ELEVATOR - warp 21, 24, 3, ROCKET_HIDEOUT_B2F - warp 25, 19, 1, ROCKET_HIDEOUT_ELEVATOR - - db 0 ; signs - - db 7 ; objects - object SPRITE_ROCKET, 26, 8, STAY, LEFT, 1, OPP_ROCKET, 8 - object SPRITE_ROCKET, 12, 6, STAY, RIGHT, 2, OPP_ROCKET, 9 - object SPRITE_ROCKET, 18, 17, STAY, DOWN, 3, OPP_ROCKET, 10 - object SPRITE_ROCKET, 15, 25, STAY, RIGHT, 4, OPP_ROCKET, 11 - object SPRITE_ROCKET, 28, 18, STAY, LEFT, 5, OPP_ROCKET, 12 - object SPRITE_BALL, 11, 14, STAY, NONE, 6, ESCAPE_ROPE - object SPRITE_BALL, 9, 17, STAY, NONE, 7, HYPER_POTION - - ; warp-to - warp_to 23, 2, ROCKET_HIDEOUT_B1F_WIDTH ; ROCKET_HIDEOUT_B2F - warp_to 21, 2, ROCKET_HIDEOUT_B1F_WIDTH ; GAME_CORNER - warp_to 24, 19, ROCKET_HIDEOUT_B1F_WIDTH ; ROCKET_HIDEOUT_ELEVATOR - warp_to 21, 24, ROCKET_HIDEOUT_B1F_WIDTH ; ROCKET_HIDEOUT_B2F - warp_to 25, 19, ROCKET_HIDEOUT_B1F_WIDTH ; ROCKET_HIDEOUT_ELEVATOR diff --git a/data/mapObjects/RocketHideoutB2F.asm b/data/mapObjects/RocketHideoutB2F.asm deleted file mode 100755 index 36fe9289..00000000 --- a/data/mapObjects/RocketHideoutB2F.asm +++ /dev/null @@ -1,25 +0,0 @@ -RocketHideoutB2F_Object: - db $2e ; border block - - db 5 ; warps - warp 27, 8, 0, ROCKET_HIDEOUT_B1F - warp 21, 8, 0, ROCKET_HIDEOUT_B3F - warp 24, 19, 0, ROCKET_HIDEOUT_ELEVATOR - warp 21, 22, 3, ROCKET_HIDEOUT_B1F - warp 25, 19, 1, ROCKET_HIDEOUT_ELEVATOR - - db 0 ; signs - - db 5 ; objects - object SPRITE_ROCKET, 20, 12, STAY, DOWN, 1, OPP_ROCKET, 13 - object SPRITE_BALL, 1, 11, STAY, NONE, 2, MOON_STONE - object SPRITE_BALL, 16, 8, STAY, NONE, 3, NUGGET - object SPRITE_BALL, 6, 12, STAY, NONE, 4, TM_07 - object SPRITE_BALL, 3, 21, STAY, NONE, 5, SUPER_POTION - - ; warp-to - warp_to 27, 8, ROCKET_HIDEOUT_B2F_WIDTH ; ROCKET_HIDEOUT_B1F - warp_to 21, 8, ROCKET_HIDEOUT_B2F_WIDTH ; ROCKET_HIDEOUT_B3F - warp_to 24, 19, ROCKET_HIDEOUT_B2F_WIDTH ; ROCKET_HIDEOUT_ELEVATOR - warp_to 21, 22, ROCKET_HIDEOUT_B2F_WIDTH ; ROCKET_HIDEOUT_B1F - warp_to 25, 19, ROCKET_HIDEOUT_B2F_WIDTH ; ROCKET_HIDEOUT_ELEVATOR diff --git a/data/mapObjects/RocketHideoutB3F.asm b/data/mapObjects/RocketHideoutB3F.asm deleted file mode 100755 index 6169dbed..00000000 --- a/data/mapObjects/RocketHideoutB3F.asm +++ /dev/null @@ -1,18 +0,0 @@ -RocketHideoutB3F_Object: - db $2e ; border block - - db 2 ; warps - warp 25, 6, 1, ROCKET_HIDEOUT_B2F - warp 19, 18, 0, ROCKET_HIDEOUT_B4F - - db 0 ; signs - - db 4 ; objects - object SPRITE_ROCKET, 10, 22, STAY, RIGHT, 1, OPP_ROCKET, 14 - object SPRITE_ROCKET, 26, 12, STAY, UP, 2, OPP_ROCKET, 15 - object SPRITE_BALL, 26, 17, STAY, NONE, 3, TM_10 - object SPRITE_BALL, 20, 14, STAY, NONE, 4, RARE_CANDY - - ; warp-to - warp_to 25, 6, ROCKET_HIDEOUT_B3F_WIDTH ; ROCKET_HIDEOUT_B2F - warp_to 19, 18, ROCKET_HIDEOUT_B3F_WIDTH ; ROCKET_HIDEOUT_B4F diff --git a/data/mapObjects/RocketHideoutB4F.asm b/data/mapObjects/RocketHideoutB4F.asm deleted file mode 100755 index be353f25..00000000 --- a/data/mapObjects/RocketHideoutB4F.asm +++ /dev/null @@ -1,25 +0,0 @@ -RocketHideoutB4F_Object: - db $2e ; border block - - db 3 ; warps - warp 19, 10, 1, ROCKET_HIDEOUT_B3F - warp 24, 15, 0, ROCKET_HIDEOUT_ELEVATOR - warp 25, 15, 1, ROCKET_HIDEOUT_ELEVATOR - - db 0 ; signs - - db 9 ; objects - object SPRITE_GIOVANNI, 25, 3, STAY, DOWN, 1, OPP_GIOVANNI, 1 - object SPRITE_ROCKET, 23, 12, STAY, DOWN, 2, OPP_ROCKET, 16 - object SPRITE_ROCKET, 26, 12, STAY, DOWN, 3, OPP_ROCKET, 17 - object SPRITE_ROCKET, 11, 2, STAY, DOWN, 4, OPP_ROCKET, 18 - object SPRITE_BALL, 10, 12, STAY, NONE, 5, HP_UP - object SPRITE_BALL, 9, 4, STAY, NONE, 6, TM_02 - object SPRITE_BALL, 12, 20, STAY, NONE, 7, IRON - object SPRITE_BALL, 25, 2, STAY, NONE, 8, SILPH_SCOPE - object SPRITE_BALL, 10, 2, STAY, NONE, 9, LIFT_KEY - - ; warp-to - warp_to 19, 10, ROCKET_HIDEOUT_B4F_WIDTH ; ROCKET_HIDEOUT_B3F - warp_to 24, 15, ROCKET_HIDEOUT_B4F_WIDTH ; ROCKET_HIDEOUT_ELEVATOR - warp_to 25, 15, ROCKET_HIDEOUT_B4F_WIDTH ; ROCKET_HIDEOUT_ELEVATOR diff --git a/data/mapObjects/RocketHideoutElevator.asm b/data/mapObjects/RocketHideoutElevator.asm deleted file mode 100755 index bc4fd7ff..00000000 --- a/data/mapObjects/RocketHideoutElevator.asm +++ /dev/null @@ -1,15 +0,0 @@ -RocketHideoutElevator_Object: - db $f ; border block - - db 2 ; warps - warp 2, 1, 2, ROCKET_HIDEOUT_B1F - warp 3, 1, 4, ROCKET_HIDEOUT_B1F - - db 1 ; signs - sign 1, 1, 1 ; RocketHideoutElevatorText1 - - db 0 ; objects - - ; warp-to - warp_to 2, 1, ROCKET_HIDEOUT_ELEVATOR_WIDTH ; ROCKET_HIDEOUT_B1F - warp_to 3, 1, ROCKET_HIDEOUT_ELEVATOR_WIDTH ; ROCKET_HIDEOUT_B1F diff --git a/data/mapObjects/Route1.asm b/data/mapObjects/Route1.asm deleted file mode 100755 index 0815fe67..00000000 --- a/data/mapObjects/Route1.asm +++ /dev/null @@ -1,14 +0,0 @@ -Route1_Object: - db $b ; border block - - db 0 ; warps - - db 1 ; signs - sign 9, 27, 3 ; Route1Text3 - - db 2 ; objects - object SPRITE_BUG_CATCHER, 5, 24, WALK, 1, 1 ; person - object SPRITE_BUG_CATCHER, 15, 13, WALK, 2, 2 ; person - - ; warp-to (unused) - warp_to 2, 7, 4 diff --git a/data/mapObjects/Route10.asm b/data/mapObjects/Route10.asm deleted file mode 100755 index 12850577..00000000 --- a/data/mapObjects/Route10.asm +++ /dev/null @@ -1,28 +0,0 @@ -Route10_Object: - db $2c ; border block - - db 4 ; warps - warp 11, 19, 0, ROCK_TUNNEL_POKECENTER - warp 8, 17, 0, ROCK_TUNNEL_1F - warp 8, 53, 2, ROCK_TUNNEL_1F - warp 6, 39, 0, POWER_PLANT - - db 4 ; signs - sign 7, 19, 7 ; Route10Text7 - sign 12, 19, 8 ; PokeCenterSignText - sign 9, 55, 9 ; Route10Text9 - sign 5, 41, 10 ; Route10Text10 - - db 6 ; objects - object SPRITE_BLACK_HAIR_BOY_2, 10, 44, STAY, LEFT, 1, OPP_POKEMANIAC, 1 - object SPRITE_HIKER, 3, 57, STAY, UP, 2, OPP_HIKER, 7 - object SPRITE_BLACK_HAIR_BOY_2, 14, 64, STAY, LEFT, 3, OPP_POKEMANIAC, 2 - object SPRITE_LASS, 7, 25, STAY, LEFT, 4, OPP_JR_TRAINER_F, 7 - object SPRITE_HIKER, 3, 61, STAY, DOWN, 5, OPP_HIKER, 8 - object SPRITE_LASS, 7, 54, STAY, DOWN, 6, OPP_JR_TRAINER_F, 8 - - ; warp-to - warp_to 11, 19, ROUTE_10_WIDTH ; ROCK_TUNNEL_POKECENTER - warp_to 8, 17, ROUTE_10_WIDTH ; ROCK_TUNNEL_1F - warp_to 8, 53, ROUTE_10_WIDTH ; ROCK_TUNNEL_1F - warp_to 6, 39, ROUTE_10_WIDTH ; POWER_PLANT diff --git a/data/mapObjects/Route11.asm b/data/mapObjects/Route11.asm deleted file mode 100755 index 5ed232f5..00000000 --- a/data/mapObjects/Route11.asm +++ /dev/null @@ -1,31 +0,0 @@ -Route11_Object: - db $f ; border block - - db 5 ; warps - warp 49, 8, 0, ROUTE_11_GATE_1F - warp 49, 9, 1, ROUTE_11_GATE_1F - warp 58, 8, 2, ROUTE_11_GATE_1F - warp 58, 9, 3, ROUTE_11_GATE_1F - warp 4, 5, 0, DIGLETTS_CAVE_ROUTE_11 - - db 1 ; signs - sign 1, 5, 11 ; Route11Text11 - - db 10 ; objects - object SPRITE_GAMBLER, 10, 14, STAY, DOWN, 1, OPP_GAMBLER, 1 - object SPRITE_GAMBLER, 26, 9, STAY, DOWN, 2, OPP_GAMBLER, 2 - object SPRITE_BUG_CATCHER, 13, 5, STAY, LEFT, 3, OPP_YOUNGSTER, 9 - object SPRITE_BLACK_HAIR_BOY_2, 36, 11, STAY, DOWN, 4, OPP_ENGINEER, 2 - object SPRITE_BUG_CATCHER, 22, 4, STAY, UP, 5, OPP_YOUNGSTER, 10 - object SPRITE_GAMBLER, 45, 7, STAY, DOWN, 6, OPP_GAMBLER, 3 - object SPRITE_GAMBLER, 33, 3, STAY, UP, 7, OPP_GAMBLER, 4 - object SPRITE_BUG_CATCHER, 43, 5, STAY, RIGHT, 8, OPP_YOUNGSTER, 11 - object SPRITE_BLACK_HAIR_BOY_2, 45, 16, STAY, LEFT, 9, OPP_ENGINEER, 3 - object SPRITE_BUG_CATCHER, 22, 12, STAY, UP, 10, OPP_YOUNGSTER, 12 - - ; warp-to - warp_to 49, 8, ROUTE_11_WIDTH ; ROUTE_11_GATE_1F - warp_to 49, 9, ROUTE_11_WIDTH ; ROUTE_11_GATE_1F - warp_to 58, 8, ROUTE_11_WIDTH ; ROUTE_11_GATE_1F - warp_to 58, 9, ROUTE_11_WIDTH ; ROUTE_11_GATE_1F - warp_to 4, 5, ROUTE_11_WIDTH ; DIGLETTS_CAVE_ROUTE_11 diff --git a/data/mapObjects/Route11Gate1F.asm b/data/mapObjects/Route11Gate1F.asm deleted file mode 100755 index 5c4a120c..00000000 --- a/data/mapObjects/Route11Gate1F.asm +++ /dev/null @@ -1,21 +0,0 @@ -Route11Gate1F_Object: - db $a ; border block - - db 5 ; warps - warp 0, 4, 0, -1 - warp 0, 5, 1, -1 - warp 7, 4, 2, -1 - warp 7, 5, 3, -1 - warp 6, 8, 0, ROUTE_11_GATE_2F - - db 0 ; signs - - db 1 ; objects - object SPRITE_GUARD, 4, 1, STAY, NONE, 1 ; person - - ; warp-to - warp_to 0, 4, ROUTE_11_GATE_1F_WIDTH - warp_to 0, 5, ROUTE_11_GATE_1F_WIDTH - warp_to 7, 4, ROUTE_11_GATE_1F_WIDTH - warp_to 7, 5, ROUTE_11_GATE_1F_WIDTH - warp_to 6, 8, ROUTE_11_GATE_1F_WIDTH ; ROUTE_11_GATE_2F diff --git a/data/mapObjects/Route11Gate2F.asm b/data/mapObjects/Route11Gate2F.asm deleted file mode 100755 index bf305bba..00000000 --- a/data/mapObjects/Route11Gate2F.asm +++ /dev/null @@ -1,16 +0,0 @@ -Route11Gate2F_Object: - db $a ; border block - - db 1 ; warps - warp 7, 7, 4, ROUTE_11_GATE_1F - - db 2 ; signs - sign 1, 2, 3 ; Route11GateUpstairsText3 - sign 6, 2, 4 ; Route11GateUpstairsText4 - - db 2 ; objects - object SPRITE_BUG_CATCHER, 4, 2, WALK, 2, 1 ; person - object SPRITE_OAK_AIDE, 2, 6, STAY, NONE, 2 ; person - - ; warp-to - warp_to 7, 7, ROUTE_11_GATE_2F_WIDTH ; ROUTE_11_GATE_1F diff --git a/data/mapObjects/Route12.asm b/data/mapObjects/Route12.asm deleted file mode 100755 index a9d84cf0..00000000 --- a/data/mapObjects/Route12.asm +++ /dev/null @@ -1,30 +0,0 @@ -Route12_Object: - db $43 ; border block - - db 4 ; warps - warp 10, 15, 0, ROUTE_12_GATE_1F - warp 11, 15, 1, ROUTE_12_GATE_1F - warp 10, 21, 2, ROUTE_12_GATE_1F - warp 11, 77, 0, ROUTE_12_SUPER_ROD_HOUSE - - db 2 ; signs - sign 13, 13, 11 ; Route12Text11 - sign 11, 63, 12 ; Route12Text12 - - db 10 ; objects - object SPRITE_SNORLAX, 10, 62, STAY, DOWN, 1 ; person - object SPRITE_FISHER2, 14, 31, STAY, LEFT, 2, OPP_FISHER, 3 - object SPRITE_FISHER2, 5, 39, STAY, UP, 3, OPP_FISHER, 4 - object SPRITE_BLACK_HAIR_BOY_1, 11, 92, STAY, LEFT, 4, OPP_JR_TRAINER_M, 9 - object SPRITE_BLACK_HAIR_BOY_2, 14, 76, STAY, UP, 5, OPP_ROCKER, 2 - object SPRITE_FISHER2, 12, 40, STAY, LEFT, 6, OPP_FISHER, 5 - object SPRITE_FISHER2, 9, 52, STAY, RIGHT, 7, OPP_FISHER, 6 - object SPRITE_FISHER2, 6, 87, STAY, DOWN, 8, OPP_FISHER, 11 - object SPRITE_BALL, 14, 35, STAY, NONE, 9, TM_16 - object SPRITE_BALL, 5, 89, STAY, NONE, 10, IRON - - ; warp-to - warp_to 10, 15, ROUTE_12_WIDTH ; ROUTE_12_GATE_1F - warp_to 11, 15, ROUTE_12_WIDTH ; ROUTE_12_GATE_1F - warp_to 10, 21, ROUTE_12_WIDTH ; ROUTE_12_GATE_1F - warp_to 11, 77, ROUTE_12_WIDTH ; ROUTE_12_SUPER_ROD_HOUSE diff --git a/data/mapObjects/Route12Gate1F.asm b/data/mapObjects/Route12Gate1F.asm deleted file mode 100755 index 94f6b91a..00000000 --- a/data/mapObjects/Route12Gate1F.asm +++ /dev/null @@ -1,21 +0,0 @@ -Route12Gate1F_Object: - db $a ; border block - - db 5 ; warps - warp 4, 0, 0, -1 - warp 5, 0, 1, -1 - warp 4, 7, 2, -1 - warp 5, 7, 2, -1 - warp 8, 6, 0, ROUTE_12_GATE_2F - - db 0 ; signs - - db 1 ; objects - object SPRITE_GUARD, 1, 3, STAY, NONE, 1 ; person - - ; warp-to - warp_to 4, 0, ROUTE_12_GATE_1F_WIDTH - warp_to 5, 0, ROUTE_12_GATE_1F_WIDTH - warp_to 4, 7, ROUTE_12_GATE_1F_WIDTH - warp_to 5, 7, ROUTE_12_GATE_1F_WIDTH - warp_to 8, 6, ROUTE_12_GATE_1F_WIDTH ; ROUTE_12_GATE_2F diff --git a/data/mapObjects/Route12Gate2F.asm b/data/mapObjects/Route12Gate2F.asm deleted file mode 100755 index cc6c1c19..00000000 --- a/data/mapObjects/Route12Gate2F.asm +++ /dev/null @@ -1,15 +0,0 @@ -Route12Gate2F_Object: - db $a ; border block - - db 1 ; warps - warp 7, 7, 4, ROUTE_12_GATE_1F - - db 2 ; signs - sign 1, 2, 2 ; Route12GateUpstairsText2 - sign 6, 2, 3 ; Route12GateUpstairsText3 - - db 1 ; objects - object SPRITE_BRUNETTE_GIRL, 3, 4, WALK, 1, 1 ; person - - ; warp-to - warp_to 7, 7, ROUTE_12_GATE_2F_WIDTH ; ROUTE_12_GATE_1F diff --git a/data/mapObjects/Route12SuperRodHouse.asm b/data/mapObjects/Route12SuperRodHouse.asm deleted file mode 100755 index 458378a2..00000000 --- a/data/mapObjects/Route12SuperRodHouse.asm +++ /dev/null @@ -1,15 +0,0 @@ -Route12SuperRodHouse_Object: - db $a ; border block - - db 2 ; warps - warp 2, 7, 3, -1 - warp 3, 7, 3, -1 - - db 0 ; signs - - db 1 ; objects - object SPRITE_FISHER, 2, 4, STAY, RIGHT, 1 ; person - - ; warp-to - warp_to 2, 7, ROUTE_12_SUPER_ROD_HOUSE_WIDTH - warp_to 3, 7, ROUTE_12_SUPER_ROD_HOUSE_WIDTH diff --git a/data/mapObjects/Route13.asm b/data/mapObjects/Route13.asm deleted file mode 100755 index 3f460901..00000000 --- a/data/mapObjects/Route13.asm +++ /dev/null @@ -1,21 +0,0 @@ -Route13_Object: - db $43 ; border block - - db 0 ; warps - - db 3 ; signs - sign 15, 13, 11 ; Route13Text11 - sign 33, 5, 12 ; Route13Text12 - sign 31, 11, 13 ; Route13Text13 - - db 10 ; objects - object SPRITE_BLACK_HAIR_BOY_1, 49, 10, STAY, RIGHT, 1, OPP_BIRD_KEEPER, 1 - object SPRITE_LASS, 48, 10, STAY, DOWN, 2, OPP_JR_TRAINER_F, 12 - object SPRITE_LASS, 27, 9, STAY, DOWN, 3, OPP_JR_TRAINER_F, 13 - object SPRITE_LASS, 23, 10, STAY, LEFT, 4, OPP_JR_TRAINER_F, 14 - object SPRITE_LASS, 50, 5, STAY, DOWN, 5, OPP_JR_TRAINER_F, 15 - object SPRITE_BLACK_HAIR_BOY_1, 12, 4, STAY, RIGHT, 6, OPP_BIRD_KEEPER, 2 - object SPRITE_FOULARD_WOMAN, 33, 6, STAY, DOWN, 7, OPP_BEAUTY, 4 - object SPRITE_FOULARD_WOMAN, 32, 6, STAY, DOWN, 8, OPP_BEAUTY, 5 - object SPRITE_BIKER, 10, 7, STAY, UP, 9, OPP_BIKER, 1 - object SPRITE_BLACK_HAIR_BOY_1, 7, 13, STAY, UP, 10, OPP_BIRD_KEEPER, 3 diff --git a/data/mapObjects/Route14.asm b/data/mapObjects/Route14.asm deleted file mode 100755 index 565e587f..00000000 --- a/data/mapObjects/Route14.asm +++ /dev/null @@ -1,19 +0,0 @@ -Route14_Object: - db $43 ; border block - - db 0 ; warps - - db 1 ; signs - sign 17, 13, 11 ; Route14Text11 - - db 10 ; objects - object SPRITE_BLACK_HAIR_BOY_1, 4, 4, STAY, DOWN, 1, OPP_BIRD_KEEPER, 14 - object SPRITE_BLACK_HAIR_BOY_1, 15, 6, STAY, DOWN, 2, OPP_BIRD_KEEPER, 15 - object SPRITE_BLACK_HAIR_BOY_1, 12, 11, STAY, DOWN, 3, OPP_BIRD_KEEPER, 16 - object SPRITE_BLACK_HAIR_BOY_1, 14, 15, STAY, UP, 4, OPP_BIRD_KEEPER, 17 - object SPRITE_BLACK_HAIR_BOY_1, 15, 31, STAY, LEFT, 5, OPP_BIRD_KEEPER, 4 - object SPRITE_BLACK_HAIR_BOY_1, 6, 49, STAY, UP, 6, OPP_BIRD_KEEPER, 5 - object SPRITE_BIKER, 5, 39, STAY, DOWN, 7, OPP_BIKER, 13 - object SPRITE_BIKER, 4, 30, STAY, RIGHT, 8, OPP_BIKER, 14 - object SPRITE_BIKER, 15, 30, STAY, LEFT, 9, OPP_BIKER, 15 - object SPRITE_BIKER, 4, 31, STAY, RIGHT, 10, OPP_BIKER, 2 diff --git a/data/mapObjects/Route15.asm b/data/mapObjects/Route15.asm deleted file mode 100755 index f52cc1b8..00000000 --- a/data/mapObjects/Route15.asm +++ /dev/null @@ -1,30 +0,0 @@ -Route15_Object: - db $43 ; border block - - db 4 ; warps - warp 7, 8, 0, ROUTE_15_GATE_1F - warp 7, 9, 1, ROUTE_15_GATE_1F - warp 14, 8, 2, ROUTE_15_GATE_1F - warp 14, 9, 3, ROUTE_15_GATE_1F - - db 1 ; signs - sign 39, 9, 12 ; Route15Text12 - - db 11 ; objects - object SPRITE_LASS, 41, 11, STAY, DOWN, 1, OPP_JR_TRAINER_F, 20 - object SPRITE_LASS, 53, 10, STAY, LEFT, 2, OPP_JR_TRAINER_F, 21 - object SPRITE_BLACK_HAIR_BOY_1, 31, 13, STAY, UP, 3, OPP_BIRD_KEEPER, 6 - object SPRITE_BLACK_HAIR_BOY_1, 35, 13, STAY, UP, 4, OPP_BIRD_KEEPER, 7 - object SPRITE_FOULARD_WOMAN, 53, 11, STAY, DOWN, 5, OPP_BEAUTY, 9 - object SPRITE_FOULARD_WOMAN, 41, 10, STAY, RIGHT, 6, OPP_BEAUTY, 10 - object SPRITE_BIKER, 48, 10, STAY, DOWN, 7, OPP_BIKER, 3 - object SPRITE_BIKER, 46, 10, STAY, DOWN, 8, OPP_BIKER, 4 - object SPRITE_LASS, 37, 5, STAY, RIGHT, 9, OPP_JR_TRAINER_F, 22 - object SPRITE_LASS, 18, 13, STAY, UP, 10, OPP_JR_TRAINER_F, 23 - object SPRITE_BALL, 18, 5, STAY, NONE, 11, TM_20 - - ; warp-to - warp_to 7, 8, ROUTE_15_WIDTH ; ROUTE_15_GATE_1F - warp_to 7, 9, ROUTE_15_WIDTH ; ROUTE_15_GATE_1F - warp_to 14, 8, ROUTE_15_WIDTH ; ROUTE_15_GATE_1F - warp_to 14, 9, ROUTE_15_WIDTH ; ROUTE_15_GATE_1F diff --git a/data/mapObjects/Route15Gate1F.asm b/data/mapObjects/Route15Gate1F.asm deleted file mode 100755 index 23b1f5a7..00000000 --- a/data/mapObjects/Route15Gate1F.asm +++ /dev/null @@ -1,21 +0,0 @@ -Route15Gate1F_Object: - db $a ; border block - - db 5 ; warps - warp 0, 4, 0, -1 - warp 0, 5, 1, -1 - warp 7, 4, 2, -1 - warp 7, 5, 3, -1 - warp 6, 8, 0, ROUTE_15_GATE_2F - - db 0 ; signs - - db 1 ; objects - object SPRITE_GUARD, 4, 1, STAY, NONE, 1 ; person - - ; warp-to - warp_to 0, 4, ROUTE_15_GATE_1F_WIDTH - warp_to 0, 5, ROUTE_15_GATE_1F_WIDTH - warp_to 7, 4, ROUTE_15_GATE_1F_WIDTH - warp_to 7, 5, ROUTE_15_GATE_1F_WIDTH - warp_to 6, 8, ROUTE_15_GATE_1F_WIDTH ; ROUTE_15_GATE_2F diff --git a/data/mapObjects/Route15Gate2F.asm b/data/mapObjects/Route15Gate2F.asm deleted file mode 100755 index 162f2b1f..00000000 --- a/data/mapObjects/Route15Gate2F.asm +++ /dev/null @@ -1,14 +0,0 @@ -Route15Gate2F_Object: - db $a ; border block - - db 1 ; warps - warp 7, 7, 4, ROUTE_15_GATE_1F - - db 1 ; signs - sign 6, 2, 2 ; Route15GateUpstairsText2 - - db 1 ; objects - object SPRITE_OAK_AIDE, 4, 2, STAY, DOWN, 1 - - ; warp-to - warp_to 7, 7, ROUTE_15_GATE_2F_WIDTH ; ROUTE_15_GATE_1F diff --git a/data/mapObjects/Route16.asm b/data/mapObjects/Route16.asm deleted file mode 100755 index fb23e6ca..00000000 --- a/data/mapObjects/Route16.asm +++ /dev/null @@ -1,37 +0,0 @@ -Route16_Object: - db $f ; border block - - db 9 ; warps - warp 17, 10, 0, ROUTE_16_GATE_1F - warp 17, 11, 1, ROUTE_16_GATE_1F - warp 24, 10, 2, ROUTE_16_GATE_1F - warp 24, 11, 3, ROUTE_16_GATE_1F - warp 17, 4, 4, ROUTE_16_GATE_1F - warp 17, 5, 5, ROUTE_16_GATE_1F - warp 24, 4, 6, ROUTE_16_GATE_1F - warp 24, 5, 7, ROUTE_16_GATE_1F - warp 7, 5, 0, ROUTE_16_FLY_HOUSE - - db 2 ; signs - sign 27, 11, 8 ; Route16Text8 - sign 5, 17, 9 ; Route16Text9 - - db 7 ; objects - object SPRITE_BIKER, 17, 12, STAY, LEFT, 1, OPP_BIKER, 5 - object SPRITE_BIKER, 14, 13, STAY, RIGHT, 2, OPP_CUE_BALL, 1 - object SPRITE_BIKER, 11, 12, STAY, UP, 3, OPP_CUE_BALL, 2 - object SPRITE_BIKER, 9, 11, STAY, LEFT, 4, OPP_BIKER, 6 - object SPRITE_BIKER, 6, 10, STAY, RIGHT, 5, OPP_CUE_BALL, 3 - object SPRITE_BIKER, 3, 12, STAY, RIGHT, 6, OPP_BIKER, 7 - object SPRITE_SNORLAX, 26, 10, STAY, DOWN, 7 ; person - - ; warp-to - warp_to 17, 10, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F - warp_to 17, 11, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F - warp_to 24, 10, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F - warp_to 24, 11, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F - warp_to 17, 4, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F - warp_to 17, 5, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F - warp_to 24, 4, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F - warp_to 24, 5, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F - warp_to 7, 5, ROUTE_16_WIDTH ; ROUTE_16_FLY_HOUSE diff --git a/data/mapObjects/Route16FlyHouse.asm b/data/mapObjects/Route16FlyHouse.asm deleted file mode 100755 index ec493fef..00000000 --- a/data/mapObjects/Route16FlyHouse.asm +++ /dev/null @@ -1,16 +0,0 @@ -Route16FlyHouse_Object: - db $a ; border block - - db 2 ; warps - warp 2, 7, 8, -1 - warp 3, 7, 8, -1 - - db 0 ; signs - - db 2 ; objects - object SPRITE_BRUNETTE_GIRL, 2, 3, STAY, RIGHT, 1 ; person - object SPRITE_BIRD, 6, 4, WALK, 0, 2 ; person - - ; warp-to - warp_to 2, 7, ROUTE_16_FLY_HOUSE_WIDTH - warp_to 3, 7, ROUTE_16_FLY_HOUSE_WIDTH diff --git a/data/mapObjects/Route16Gate1F.asm b/data/mapObjects/Route16Gate1F.asm deleted file mode 100755 index 1d5baa1d..00000000 --- a/data/mapObjects/Route16Gate1F.asm +++ /dev/null @@ -1,30 +0,0 @@ -Route16Gate1F_Object: - db $a ; border block - - db 9 ; warps - warp 0, 8, 0, -1 - warp 0, 9, 1, -1 - warp 7, 8, 2, -1 - warp 7, 9, 2, -1 - warp 0, 2, 4, -1 - warp 0, 3, 5, -1 - warp 7, 2, 6, -1 - warp 7, 3, 7, -1 - warp 6, 12, 0, ROUTE_16_GATE_2F - - db 0 ; signs - - db 2 ; objects - object SPRITE_GUARD, 4, 5, STAY, DOWN, 1 ; person - object SPRITE_GAMBLER, 4, 3, STAY, NONE, 2 ; person - - ; warp-to - warp_to 0, 8, ROUTE_16_GATE_1F_WIDTH - warp_to 0, 9, ROUTE_16_GATE_1F_WIDTH - warp_to 7, 8, ROUTE_16_GATE_1F_WIDTH - warp_to 7, 9, ROUTE_16_GATE_1F_WIDTH - warp_to 0, 2, ROUTE_16_GATE_1F_WIDTH - warp_to 0, 3, ROUTE_16_GATE_1F_WIDTH - warp_to 7, 2, ROUTE_16_GATE_1F_WIDTH - warp_to 7, 3, ROUTE_16_GATE_1F_WIDTH - warp_to 6, 12, ROUTE_16_GATE_1F_WIDTH ; ROUTE_16_GATE_2F diff --git a/data/mapObjects/Route16Gate2F.asm b/data/mapObjects/Route16Gate2F.asm deleted file mode 100755 index 5914f854..00000000 --- a/data/mapObjects/Route16Gate2F.asm +++ /dev/null @@ -1,16 +0,0 @@ -Route16Gate2F_Object: - db $a ; border block - - db 1 ; warps - warp 7, 7, 8, ROUTE_16_GATE_1F - - db 2 ; signs - sign 1, 2, 3 ; Route16GateUpstairsText3 - sign 6, 2, 4 ; Route16GateUpstairsText4 - - db 2 ; objects - object SPRITE_YOUNG_BOY, 4, 2, STAY, NONE, 1 ; person - object SPRITE_LITTLE_GIRL, 2, 5, WALK, 2, 2 ; person - - ; warp-to - warp_to 7, 7, ROUTE_16_GATE_2F_WIDTH ; ROUTE_16_GATE_1F diff --git a/data/mapObjects/Route17.asm b/data/mapObjects/Route17.asm deleted file mode 100755 index f5bc4307..00000000 --- a/data/mapObjects/Route17.asm +++ /dev/null @@ -1,24 +0,0 @@ -Route17_Object: - db $43 ; border block - - db 0 ; warps - - db 6 ; signs - sign 9, 51, 11 ; Route17Text11 - sign 9, 63, 12 ; Route17Text12 - sign 9, 75, 13 ; Route17Text13 - sign 9, 87, 14 ; Route17Text14 - sign 9, 111, 15 ; Route17Text15 - sign 9, 141, 16 ; Route17Text16 - - db 10 ; objects - object SPRITE_BIKER, 12, 19, STAY, LEFT, 1, OPP_CUE_BALL, 4 - object SPRITE_BIKER, 11, 16, STAY, RIGHT, 2, OPP_CUE_BALL, 5 - object SPRITE_BIKER, 4, 18, STAY, UP, 3, OPP_BIKER, 8 - object SPRITE_BIKER, 7, 32, STAY, LEFT, 4, OPP_BIKER, 9 - object SPRITE_BIKER, 14, 34, STAY, RIGHT, 5, OPP_BIKER, 10 - object SPRITE_BIKER, 17, 58, STAY, LEFT, 6, OPP_CUE_BALL, 6 - object SPRITE_BIKER, 2, 68, STAY, RIGHT, 7, OPP_CUE_BALL, 7 - object SPRITE_BIKER, 14, 98, STAY, RIGHT, 8, OPP_CUE_BALL, 8 - object SPRITE_BIKER, 5, 98, STAY, LEFT, 9, OPP_BIKER, 11 - object SPRITE_BIKER, 10, 118, STAY, DOWN, 10, OPP_BIKER, 12 diff --git a/data/mapObjects/Route18.asm b/data/mapObjects/Route18.asm deleted file mode 100755 index 8bacd6c0..00000000 --- a/data/mapObjects/Route18.asm +++ /dev/null @@ -1,23 +0,0 @@ -Route18_Object: - db $43 ; border block - - db 4 ; warps - warp 33, 8, 0, ROUTE_18_GATE_1F - warp 33, 9, 1, ROUTE_18_GATE_1F - warp 40, 8, 2, ROUTE_18_GATE_1F - warp 40, 9, 3, ROUTE_18_GATE_1F - - db 2 ; signs - sign 43, 7, 4 ; Route18Text4 - sign 33, 5, 5 ; Route18Text5 - - db 3 ; objects - object SPRITE_BLACK_HAIR_BOY_1, 36, 11, STAY, RIGHT, 1, OPP_BIRD_KEEPER, 8 - object SPRITE_BLACK_HAIR_BOY_1, 40, 15, STAY, LEFT, 2, OPP_BIRD_KEEPER, 9 - object SPRITE_BLACK_HAIR_BOY_1, 42, 13, STAY, LEFT, 3, OPP_BIRD_KEEPER, 10 - - ; warp-to - warp_to 33, 8, ROUTE_18_WIDTH ; ROUTE_18_GATE_1F - warp_to 33, 9, ROUTE_18_WIDTH ; ROUTE_18_GATE_1F - warp_to 40, 8, ROUTE_18_WIDTH ; ROUTE_18_GATE_1F - warp_to 40, 9, ROUTE_18_WIDTH ; ROUTE_18_GATE_1F diff --git a/data/mapObjects/Route18Gate1F.asm b/data/mapObjects/Route18Gate1F.asm deleted file mode 100755 index 83cb386a..00000000 --- a/data/mapObjects/Route18Gate1F.asm +++ /dev/null @@ -1,21 +0,0 @@ -Route18Gate1F_Object: - db $a ; border block - - db 5 ; warps - warp 0, 4, 0, -1 - warp 0, 5, 1, -1 - warp 7, 4, 2, -1 - warp 7, 5, 3, -1 - warp 6, 8, 0, ROUTE_18_GATE_2F - - db 0 ; signs - - db 1 ; objects - object SPRITE_GUARD, 4, 1, STAY, DOWN, 1 ; person - - ; warp-to - warp_to 0, 4, ROUTE_18_GATE_1F_WIDTH - warp_to 0, 5, ROUTE_18_GATE_1F_WIDTH - warp_to 7, 4, ROUTE_18_GATE_1F_WIDTH - warp_to 7, 5, ROUTE_18_GATE_1F_WIDTH - warp_to 6, 8, ROUTE_18_GATE_1F_WIDTH ; ROUTE_18_GATE_2F diff --git a/data/mapObjects/Route18Gate2F.asm b/data/mapObjects/Route18Gate2F.asm deleted file mode 100755 index e48ec3b8..00000000 --- a/data/mapObjects/Route18Gate2F.asm +++ /dev/null @@ -1,15 +0,0 @@ -Route18Gate2F_Object: - db $a ; border block - - db 1 ; warps - warp 7, 7, 4, ROUTE_18_GATE_1F - - db 2 ; signs - sign 1, 2, 2 ; Route18GateUpstairsText2 - sign 6, 2, 3 ; Route18GateUpstairsText3 - - db 1 ; objects - object SPRITE_BUG_CATCHER, 4, 2, WALK, 2, 1 ; person - - ; warp-to - warp_to 7, 7, ROUTE_18_GATE_2F_WIDTH ; ROUTE_18_GATE_1F diff --git a/data/mapObjects/Route19.asm b/data/mapObjects/Route19.asm deleted file mode 100755 index 9b39618e..00000000 --- a/data/mapObjects/Route19.asm +++ /dev/null @@ -1,21 +0,0 @@ -Route19_Object: - db $43 ; border block - - db 0 ; warps - - db 1 ; signs - sign 11, 9, 11 ; Route19Text11 - - db 10 ; objects - object SPRITE_BLACK_HAIR_BOY_1, 8, 7, STAY, LEFT, 1, OPP_SWIMMER, 2 - object SPRITE_BLACK_HAIR_BOY_1, 13, 7, STAY, LEFT, 2, OPP_SWIMMER, 3 - object SPRITE_SWIMMER, 13, 25, STAY, LEFT, 3, OPP_SWIMMER, 4 - object SPRITE_SWIMMER, 4, 27, STAY, RIGHT, 4, OPP_SWIMMER, 5 - object SPRITE_SWIMMER, 16, 31, STAY, UP, 5, OPP_SWIMMER, 6 - object SPRITE_SWIMMER, 9, 11, STAY, DOWN, 6, OPP_SWIMMER, 7 - object SPRITE_SWIMMER, 8, 43, STAY, LEFT, 7, OPP_BEAUTY, 12 - object SPRITE_SWIMMER, 11, 43, STAY, RIGHT, 8, OPP_BEAUTY, 13 - object SPRITE_SWIMMER, 9, 42, STAY, UP, 9, OPP_SWIMMER, 8 - object SPRITE_SWIMMER, 10, 44, STAY, DOWN, 10, OPP_BEAUTY, 14 - - ; warp-to diff --git a/data/mapObjects/Route2.asm b/data/mapObjects/Route2.asm deleted file mode 100755 index b27ad199..00000000 --- a/data/mapObjects/Route2.asm +++ /dev/null @@ -1,33 +0,0 @@ -Route2_Object: - db $f ; border block - - db 6 ; warps - warp 12, 9, 0, DIGLETTS_CAVE_ROUTE_2 - warp 3, 11, 1, VIRIDIAN_FOREST_NORTH_GATE - warp 15, 19, 0, ROUTE_2_TRADE_HOUSE - warp 16, 35, 1, ROUTE_2_GATE - warp 15, 39, 2, ROUTE_2_GATE - warp 3, 43, 2, VIRIDIAN_FOREST_SOUTH_GATE - - db 2 ; signs - sign 5, 65, 3 ; Route2Text3 - sign 11, 11, 4 ; Route2Text4 - - db 2 ; objects - object SPRITE_BALL, 13, 54, STAY, NONE, 1, MOON_STONE - object SPRITE_BALL, 13, 45, STAY, NONE, 2, HP_UP - - ; warp-to - warp_to 12, 9, ROUTE_2_WIDTH ; DIGLETTS_CAVE_ROUTE_2 - warp_to 3, 11, ROUTE_2_WIDTH ; VIRIDIAN_FOREST_NORTH_GATE - warp_to 15, 19, ROUTE_2_WIDTH ; ROUTE_2_TRADE_HOUSE - warp_to 16, 35, ROUTE_2_WIDTH ; ROUTE_2_GATE - warp_to 15, 39, ROUTE_2_WIDTH ; ROUTE_2_GATE - warp_to 3, 43, ROUTE_2_WIDTH ; VIRIDIAN_FOREST_SOUTH_GATE - - ; unused - warp_to 2, 7, 4 - db $12, $c7, $9, $7 - warp_to 2, 7, 4 - warp_to 2, 7, 4 - warp_to 2, 7, 4 diff --git a/data/mapObjects/Route20.asm b/data/mapObjects/Route20.asm deleted file mode 100755 index 7bceef97..00000000 --- a/data/mapObjects/Route20.asm +++ /dev/null @@ -1,26 +0,0 @@ -Route20_Object: - db $43 ; border block - - db 2 ; warps - warp 48, 5, 0, SEAFOAM_ISLANDS_1F - warp 58, 9, 2, SEAFOAM_ISLANDS_1F - - db 2 ; signs - sign 51, 7, 11 ; Route20Text11 - sign 57, 11, 12 ; Route20Text12 - - db 10 ; objects - object SPRITE_SWIMMER, 87, 8, STAY, UP, 1, OPP_SWIMMER, 9 - object SPRITE_SWIMMER, 68, 11, STAY, UP, 2, OPP_BEAUTY, 15 - object SPRITE_SWIMMER, 45, 10, STAY, DOWN, 3, OPP_BEAUTY, 6 - object SPRITE_SWIMMER, 55, 14, STAY, RIGHT, 4, OPP_JR_TRAINER_F, 24 - object SPRITE_SWIMMER, 38, 13, STAY, DOWN, 5, OPP_SWIMMER, 10 - object SPRITE_SWIMMER, 87, 13, STAY, UP, 6, OPP_SWIMMER, 11 - object SPRITE_BLACK_HAIR_BOY_1, 34, 9, STAY, UP, 7, OPP_BIRD_KEEPER, 11 - object SPRITE_SWIMMER, 25, 7, STAY, UP, 8, OPP_BEAUTY, 7 - object SPRITE_SWIMMER, 24, 12, STAY, DOWN, 9, OPP_JR_TRAINER_F, 16 - object SPRITE_SWIMMER, 15, 8, STAY, UP, 10, OPP_BEAUTY, 8 - - ; warp-to - warp_to 48, 5, ROUTE_20_WIDTH ; SEAFOAM_ISLANDS_1F - warp_to 58, 9, ROUTE_20_WIDTH ; SEAFOAM_ISLANDS_1F diff --git a/data/mapObjects/Route21.asm b/data/mapObjects/Route21.asm deleted file mode 100755 index b7759b59..00000000 --- a/data/mapObjects/Route21.asm +++ /dev/null @@ -1,17 +0,0 @@ -Route21_Object: - db $43 ; border block - - db 0 ; warps - - db 0 ; signs - - db 9 ; objects - object SPRITE_FISHER2, 4, 24, STAY, LEFT, 1, OPP_FISHER, 7 - object SPRITE_FISHER2, 6, 25, STAY, DOWN, 2, OPP_FISHER, 9 - object SPRITE_SWIMMER, 10, 31, STAY, UP, 3, OPP_SWIMMER, 12 - object SPRITE_SWIMMER, 12, 30, STAY, RIGHT, 4, OPP_CUE_BALL, 9 - object SPRITE_SWIMMER, 16, 63, STAY, DOWN, 5, OPP_SWIMMER, 13 - object SPRITE_SWIMMER, 5, 71, STAY, RIGHT, 6, OPP_SWIMMER, 14 - object SPRITE_SWIMMER, 15, 71, STAY, LEFT, 7, OPP_SWIMMER, 15 - object SPRITE_FISHER2, 14, 56, STAY, LEFT, 8, OPP_FISHER, 8 - object SPRITE_FISHER2, 17, 57, STAY, RIGHT, 9, OPP_FISHER, 10 diff --git a/data/mapObjects/Route22.asm b/data/mapObjects/Route22.asm deleted file mode 100755 index 56e759fd..00000000 --- a/data/mapObjects/Route22.asm +++ /dev/null @@ -1,15 +0,0 @@ -Route22_Object: - db $2c ; border block - - db 1 ; warps - warp 8, 5, 0, ROUTE_22_GATE - - db 1 ; signs - sign 7, 11, 3 ; Route22FrontGateText - - db 2 ; objects - object SPRITE_BLUE, 25, 5, STAY, NONE, 1 ; person - object SPRITE_BLUE, 25, 5, STAY, NONE, 2 ; person - - ; warp-to - warp_to 8, 5, ROUTE_22_WIDTH ; ROUTE_22_GATE diff --git a/data/mapObjects/Route22Gate.asm b/data/mapObjects/Route22Gate.asm deleted file mode 100755 index 3f693c7f..00000000 --- a/data/mapObjects/Route22Gate.asm +++ /dev/null @@ -1,19 +0,0 @@ -Route22Gate_Object: - db $a ; border block - - db 4 ; warps - warp 4, 7, 0, -1 - warp 5, 7, 0, -1 - warp 4, 0, 0, -1 - warp 5, 0, 1, -1 - - db 0 ; signs - - db 1 ; objects - object SPRITE_GUARD, 6, 2, STAY, LEFT, 1 ; person - - ; warp-to - warp_to 4, 7, ROUTE_22_GATE_WIDTH - warp_to 5, 7, ROUTE_22_GATE_WIDTH - warp_to 4, 0, ROUTE_22_GATE_WIDTH - warp_to 5, 0, ROUTE_22_GATE_WIDTH diff --git a/data/mapObjects/Route23.asm b/data/mapObjects/Route23.asm deleted file mode 100755 index b510c285..00000000 --- a/data/mapObjects/Route23.asm +++ /dev/null @@ -1,26 +0,0 @@ -Route23_Object: - db $f ; border block - - db 4 ; warps - warp 7, 139, 2, ROUTE_22_GATE - warp 8, 139, 3, ROUTE_22_GATE - warp 4, 31, 0, VICTORY_ROAD_1F - warp 14, 31, 1, VICTORY_ROAD_2F - - db 1 ; signs - sign 3, 33, 8 ; Route23Text8 - - db 7 ; objects - object SPRITE_GUARD, 4, 35, STAY, DOWN, 1 ; person - object SPRITE_GUARD, 10, 56, STAY, DOWN, 2 ; person - object SPRITE_SWIMMER, 8, 85, STAY, DOWN, 3 ; person - object SPRITE_SWIMMER, 11, 96, STAY, DOWN, 4 ; person - object SPRITE_GUARD, 12, 105, STAY, DOWN, 5 ; person - object SPRITE_GUARD, 8, 119, STAY, DOWN, 6 ; person - object SPRITE_GUARD, 8, 136, STAY, DOWN, 7 ; person - - ; warp-to - warp_to 7, 139, ROUTE_23_WIDTH ; ROUTE_22_GATE - warp_to 8, 139, ROUTE_23_WIDTH ; ROUTE_22_GATE - warp_to 4, 31, ROUTE_23_WIDTH ; VICTORY_ROAD_1F - warp_to 14, 31, ROUTE_23_WIDTH ; VICTORY_ROAD_2F diff --git a/data/mapObjects/Route24.asm b/data/mapObjects/Route24.asm deleted file mode 100755 index 8ef0d2b9..00000000 --- a/data/mapObjects/Route24.asm +++ /dev/null @@ -1,16 +0,0 @@ -Route24_Object: - db $2c ; border block - - db 0 ; warps - - db 0 ; signs - - db 8 ; objects - object SPRITE_BLACK_HAIR_BOY_1, 11, 15, STAY, LEFT, 1, OPP_ROCKET, 6 - object SPRITE_BLACK_HAIR_BOY_1, 5, 20, STAY, UP, 2, OPP_JR_TRAINER_M, 2 - object SPRITE_BLACK_HAIR_BOY_1, 11, 19, STAY, LEFT, 3, OPP_JR_TRAINER_M, 3 - object SPRITE_LASS, 10, 22, STAY, RIGHT, 4, OPP_LASS, 7 - object SPRITE_BUG_CATCHER, 11, 25, STAY, LEFT, 5, OPP_YOUNGSTER, 4 - object SPRITE_LASS, 10, 28, STAY, RIGHT, 6, OPP_LASS, 8 - object SPRITE_BUG_CATCHER, 11, 31, STAY, LEFT, 7, OPP_BUG_CATCHER, 9 - object SPRITE_BALL, 10, 5, STAY, NONE, 8, TM_45 diff --git a/data/mapObjects/Route25.asm b/data/mapObjects/Route25.asm deleted file mode 100755 index a85f85ca..00000000 --- a/data/mapObjects/Route25.asm +++ /dev/null @@ -1,23 +0,0 @@ -Route25_Object: - db $2c ; border block - - db 1 ; warps - warp 45, 3, 0, BILLS_HOUSE - - db 1 ; signs - sign 43, 3, 11 ; Route25Text11 - - db 10 ; objects - object SPRITE_BUG_CATCHER, 14, 2, STAY, DOWN, 1, OPP_YOUNGSTER, 5 - object SPRITE_BUG_CATCHER, 18, 5, STAY, UP, 2, OPP_YOUNGSTER, 6 - object SPRITE_BLACK_HAIR_BOY_1, 24, 4, STAY, DOWN, 3, OPP_JR_TRAINER_M, 2 - object SPRITE_LASS, 18, 8, STAY, RIGHT, 4, OPP_LASS, 9 - object SPRITE_BUG_CATCHER, 32, 3, STAY, LEFT, 5, OPP_YOUNGSTER, 7 - object SPRITE_LASS, 37, 4, STAY, DOWN, 6, OPP_LASS, 10 - object SPRITE_HIKER, 8, 4, STAY, RIGHT, 7, OPP_HIKER, 2 - object SPRITE_HIKER, 23, 9, STAY, UP, 8, OPP_HIKER, 3 - object SPRITE_HIKER, 13, 7, STAY, RIGHT, 9, OPP_HIKER, 4 - object SPRITE_BALL, 22, 2, STAY, NONE, 10, TM_19 - - ; warp-to - warp_to 45, 3, ROUTE_25_WIDTH ; BILLS_HOUSE diff --git a/data/mapObjects/Route2Gate.asm b/data/mapObjects/Route2Gate.asm deleted file mode 100755 index a7feb780..00000000 --- a/data/mapObjects/Route2Gate.asm +++ /dev/null @@ -1,20 +0,0 @@ -Route2Gate_Object: - db $a ; border block - - db 4 ; warps - warp 4, 0, 3, -1 - warp 5, 0, 3, -1 - warp 4, 7, 4, -1 - warp 5, 7, 4, -1 - - db 0 ; signs - - db 2 ; objects - object SPRITE_OAK_AIDE, 1, 4, STAY, LEFT, 1 ; person - object SPRITE_BUG_CATCHER, 5, 4, WALK, 2, 2 ; person - - ; warp-to - warp_to 4, 0, ROUTE_2_GATE_WIDTH - warp_to 5, 0, ROUTE_2_GATE_WIDTH - warp_to 4, 7, ROUTE_2_GATE_WIDTH - warp_to 5, 7, ROUTE_2_GATE_WIDTH diff --git a/data/mapObjects/Route2TradeHouse.asm b/data/mapObjects/Route2TradeHouse.asm deleted file mode 100755 index 89ece3ea..00000000 --- a/data/mapObjects/Route2TradeHouse.asm +++ /dev/null @@ -1,16 +0,0 @@ -Route2TradeHouse_Object: - db $a ; border block - - db 2 ; warps - warp 2, 7, 2, -1 - warp 3, 7, 2, -1 - - db 0 ; signs - - db 2 ; objects - object SPRITE_OAK_AIDE, 2, 4, STAY, RIGHT, 1 ; person - object SPRITE_GAMEBOY_KID_COPY, 4, 1, STAY, DOWN, 2 ; person - - ; warp-to - warp_to 2, 7, ROUTE_2_TRADE_HOUSE_WIDTH - warp_to 3, 7, ROUTE_2_TRADE_HOUSE_WIDTH diff --git a/data/mapObjects/Route3.asm b/data/mapObjects/Route3.asm deleted file mode 100755 index 372ea6cf..00000000 --- a/data/mapObjects/Route3.asm +++ /dev/null @@ -1,18 +0,0 @@ -Route3_Object: - db $2c ; border block - - db 0 ; warps - - db 1 ; signs - sign 59, 9, 10 ; Route3Text10 - - db 9 ; objects - object SPRITE_BLACK_HAIR_BOY_2, 57, 11, STAY, NONE, 1 ; person - object SPRITE_BUG_CATCHER, 10, 6, STAY, RIGHT, 2, OPP_BUG_CATCHER, 4 - object SPRITE_BUG_CATCHER, 14, 4, STAY, DOWN, 3, OPP_YOUNGSTER, 1 - object SPRITE_LASS, 16, 9, STAY, LEFT, 4, OPP_LASS, 1 - object SPRITE_BUG_CATCHER, 19, 5, STAY, DOWN, 5, OPP_BUG_CATCHER, 5 - object SPRITE_LASS, 23, 4, STAY, LEFT, 6, OPP_LASS, 2 - object SPRITE_BUG_CATCHER, 22, 9, STAY, LEFT, 7, OPP_YOUNGSTER, 2 - object SPRITE_BUG_CATCHER, 24, 6, STAY, RIGHT, 8, OPP_BUG_CATCHER, 6 - object SPRITE_LASS, 33, 10, STAY, UP, 9, OPP_LASS, 3 diff --git a/data/mapObjects/Route4.asm b/data/mapObjects/Route4.asm deleted file mode 100755 index 4ab88f8f..00000000 --- a/data/mapObjects/Route4.asm +++ /dev/null @@ -1,22 +0,0 @@ -Route4_Object: - db $2c ; border block - - db 3 ; warps - warp 11, 5, 0, MT_MOON_POKECENTER - warp 18, 5, 0, MT_MOON_1F - warp 24, 5, 7, MT_MOON_B1F - - db 3 ; signs - sign 12, 5, 4 ; PokeCenterSignText - sign 17, 7, 5 ; Route4Text5 - sign 27, 7, 6 ; Route4Text6 - - db 3 ; objects - object SPRITE_LASS, 9, 8, WALK, 0, 1 ; person - object SPRITE_LASS, 63, 3, STAY, RIGHT, 2, OPP_LASS, 4 - object SPRITE_BALL, 57, 3, STAY, NONE, 3, TM_04 - - ; warp-to - warp_to 11, 5, ROUTE_4_WIDTH ; MT_MOON_POKECENTER - warp_to 18, 5, ROUTE_4_WIDTH ; MT_MOON_1F - warp_to 24, 5, ROUTE_4_WIDTH ; MT_MOON_B1F diff --git a/data/mapObjects/Route5.asm b/data/mapObjects/Route5.asm deleted file mode 100755 index df2c8c03..00000000 --- a/data/mapObjects/Route5.asm +++ /dev/null @@ -1,21 +0,0 @@ -Route5_Object: - db $a ; border block - - db 5 ; warps - warp 10, 29, 3, ROUTE_5_GATE - warp 9, 29, 2, ROUTE_5_GATE - warp 10, 33, 0, ROUTE_5_GATE - warp 17, 27, 0, UNDERGROUND_PATH_ROUTE_5 - warp 10, 21, 0, DAYCARE - - db 1 ; signs - sign 17, 29, 1 ; Route5Text1 - - db 0 ; objects - - ; warp-to - warp_to 10, 29, ROUTE_5_WIDTH ; ROUTE_5_GATE - warp_to 9, 29, ROUTE_5_WIDTH ; ROUTE_5_GATE - warp_to 10, 33, ROUTE_5_WIDTH ; ROUTE_5_GATE - warp_to 17, 27, ROUTE_5_WIDTH ; UNDERGROUND_PATH_ROUTE_5 - warp_to 10, 21, ROUTE_5_WIDTH ; DAYCARE diff --git a/data/mapObjects/Route5Gate.asm b/data/mapObjects/Route5Gate.asm deleted file mode 100755 index e0e06a1d..00000000 --- a/data/mapObjects/Route5Gate.asm +++ /dev/null @@ -1,19 +0,0 @@ -Route5Gate_Object: - db $a ; border block - - db 4 ; warps - warp 3, 5, 2, -1 - warp 4, 5, 2, -1 - warp 3, 0, 1, -1 - warp 4, 0, 0, -1 - - db 0 ; signs - - db 1 ; objects - object SPRITE_GUARD, 1, 3, STAY, RIGHT, 1 ; person - - ; warp-to - warp_to 3, 5, ROUTE_5_GATE_WIDTH - warp_to 4, 5, ROUTE_5_GATE_WIDTH - warp_to 3, 0, ROUTE_5_GATE_WIDTH - warp_to 4, 0, ROUTE_5_GATE_WIDTH diff --git a/data/mapObjects/Route6.asm b/data/mapObjects/Route6.asm deleted file mode 100755 index fc2d7e24..00000000 --- a/data/mapObjects/Route6.asm +++ /dev/null @@ -1,25 +0,0 @@ -Route6_Object: - db $f ; border block - - db 4 ; warps - warp 9, 1, 2, ROUTE_6_GATE - warp 10, 1, 2, ROUTE_6_GATE - warp 10, 7, 0, ROUTE_6_GATE - warp 17, 13, 0, UNDERGROUND_PATH_ROUTE_6 - - db 1 ; signs - sign 19, 15, 7 ; Route6Text7 - - db 6 ; objects - object SPRITE_BLACK_HAIR_BOY_1, 10, 21, STAY, RIGHT, 1, OPP_JR_TRAINER_M, 4 - object SPRITE_LASS, 11, 21, STAY, LEFT, 2, OPP_JR_TRAINER_F, 2 - object SPRITE_BUG_CATCHER, 0, 15, STAY, RIGHT, 3, OPP_BUG_CATCHER, 10 - object SPRITE_BLACK_HAIR_BOY_1, 11, 31, STAY, LEFT, 4, OPP_JR_TRAINER_M, 5 - object SPRITE_LASS, 11, 30, STAY, LEFT, 5, OPP_JR_TRAINER_F, 3 - object SPRITE_BUG_CATCHER, 19, 26, STAY, LEFT, 6, OPP_BUG_CATCHER, 11 - - ; warp-to - warp_to 9, 1, ROUTE_6_WIDTH ; ROUTE_6_GATE - warp_to 10, 1, ROUTE_6_WIDTH ; ROUTE_6_GATE - warp_to 10, 7, ROUTE_6_WIDTH ; ROUTE_6_GATE - warp_to 17, 13, ROUTE_6_WIDTH ; UNDERGROUND_PATH_ROUTE_6 diff --git a/data/mapObjects/Route6Gate.asm b/data/mapObjects/Route6Gate.asm deleted file mode 100755 index 8ed96d04..00000000 --- a/data/mapObjects/Route6Gate.asm +++ /dev/null @@ -1,19 +0,0 @@ -Route6Gate_Object: - db $a ; border block - - db 4 ; warps - warp 3, 5, 2, -1 - warp 4, 5, 2, -1 - warp 3, 0, 1, -1 - warp 4, 0, 1, -1 - - db 0 ; signs - - db 1 ; objects - object SPRITE_GUARD, 6, 2, STAY, LEFT, 1 ; person - - ; warp-to - warp_to 3, 5, ROUTE_6_GATE_WIDTH - warp_to 4, 5, ROUTE_6_GATE_WIDTH - warp_to 3, 0, ROUTE_6_GATE_WIDTH - warp_to 4, 0, ROUTE_6_GATE_WIDTH diff --git a/data/mapObjects/Route7.asm b/data/mapObjects/Route7.asm deleted file mode 100755 index 182904ef..00000000 --- a/data/mapObjects/Route7.asm +++ /dev/null @@ -1,21 +0,0 @@ -Route7_Object: - db $f ; border block - - db 5 ; warps - warp 18, 9, 2, ROUTE_7_GATE - warp 18, 10, 3, ROUTE_7_GATE - warp 11, 9, 0, ROUTE_7_GATE - warp 11, 10, 1, ROUTE_7_GATE - warp 5, 13, 0, UNDERGROUND_PATH_ROUTE_7 - - db 1 ; signs - sign 3, 13, 1 ; Route7Text1 - - db 0 ; objects - - ; warp-to - warp_to 18, 9, ROUTE_7_WIDTH ; ROUTE_7_GATE - warp_to 18, 10, ROUTE_7_WIDTH ; ROUTE_7_GATE - warp_to 11, 9, ROUTE_7_WIDTH ; ROUTE_7_GATE - warp_to 11, 10, ROUTE_7_WIDTH ; ROUTE_7_GATE - warp_to 5, 13, ROUTE_7_WIDTH ; UNDERGROUND_PATH_ROUTE_7 diff --git a/data/mapObjects/Route7Gate.asm b/data/mapObjects/Route7Gate.asm deleted file mode 100755 index 7f1afe0a..00000000 --- a/data/mapObjects/Route7Gate.asm +++ /dev/null @@ -1,19 +0,0 @@ -Route7Gate_Object: - db $a ; border block - - db 4 ; warps - warp 0, 3, 3, -1 - warp 0, 4, 3, -1 - warp 5, 3, 0, -1 - warp 5, 4, 1, -1 - - db 0 ; signs - - db 1 ; objects - object SPRITE_GUARD, 3, 1, STAY, DOWN, 1 ; person - - ; warp-to - warp_to 0, 3, ROUTE_7_GATE_WIDTH - warp_to 0, 4, ROUTE_7_GATE_WIDTH - warp_to 5, 3, ROUTE_7_GATE_WIDTH - warp_to 5, 4, ROUTE_7_GATE_WIDTH diff --git a/data/mapObjects/Route8.asm b/data/mapObjects/Route8.asm deleted file mode 100755 index 137d70a0..00000000 --- a/data/mapObjects/Route8.asm +++ /dev/null @@ -1,30 +0,0 @@ -Route8_Object: - db $2c ; border block - - db 5 ; warps - warp 1, 9, 0, ROUTE_8_GATE - warp 1, 10, 1, ROUTE_8_GATE - warp 8, 9, 2, ROUTE_8_GATE - warp 8, 10, 3, ROUTE_8_GATE - warp 13, 3, 0, UNDERGROUND_PATH_ROUTE_8 - - db 1 ; signs - sign 17, 3, 10 ; Route8Text10 - - db 9 ; objects - object SPRITE_BLACK_HAIR_BOY_2, 8, 5, STAY, RIGHT, 1, OPP_SUPER_NERD, 3 - object SPRITE_GAMBLER, 13, 9, STAY, UP, 2, OPP_GAMBLER, 5 - object SPRITE_BLACK_HAIR_BOY_2, 42, 6, STAY, UP, 3, OPP_SUPER_NERD, 4 - object SPRITE_LASS, 26, 3, STAY, LEFT, 4, OPP_LASS, 13 - object SPRITE_BLACK_HAIR_BOY_2, 26, 4, STAY, RIGHT, 5, OPP_SUPER_NERD, 5 - object SPRITE_LASS, 26, 5, STAY, LEFT, 6, OPP_LASS, 14 - object SPRITE_LASS, 26, 6, STAY, RIGHT, 7, OPP_LASS, 15 - object SPRITE_GAMBLER, 46, 13, STAY, DOWN, 8, OPP_GAMBLER, 7 - object SPRITE_LASS, 51, 12, STAY, LEFT, 9, OPP_LASS, 16 - - ; warp-to - warp_to 1, 9, ROUTE_8_WIDTH ; ROUTE_8_GATE - warp_to 1, 10, ROUTE_8_WIDTH ; ROUTE_8_GATE - warp_to 8, 9, ROUTE_8_WIDTH ; ROUTE_8_GATE - warp_to 8, 10, ROUTE_8_WIDTH ; ROUTE_8_GATE - warp_to 13, 3, ROUTE_8_WIDTH ; UNDERGROUND_PATH_ROUTE_8 diff --git a/data/mapObjects/Route8Gate.asm b/data/mapObjects/Route8Gate.asm deleted file mode 100755 index 3bba95a0..00000000 --- a/data/mapObjects/Route8Gate.asm +++ /dev/null @@ -1,19 +0,0 @@ -Route8Gate_Object: - db $a ; border block - - db 4 ; warps - warp 0, 3, 0, -1 - warp 0, 4, 1, -1 - warp 5, 3, 2, -1 - warp 5, 4, 3, -1 - - db 0 ; signs - - db 1 ; objects - object SPRITE_GUARD, 2, 1, STAY, DOWN, 1 ; person - - ; warp-to - warp_to 0, 3, ROUTE_8_GATE_WIDTH - warp_to 0, 4, ROUTE_8_GATE_WIDTH - warp_to 5, 3, ROUTE_8_GATE_WIDTH - warp_to 5, 4, ROUTE_8_GATE_WIDTH diff --git a/data/mapObjects/Route9.asm b/data/mapObjects/Route9.asm deleted file mode 100755 index a991c0c7..00000000 --- a/data/mapObjects/Route9.asm +++ /dev/null @@ -1,19 +0,0 @@ -Route9_Object: - db $2c ; border block - - db 0 ; warps - - db 1 ; signs - sign 25, 7, 11 ; Route9Text11 - - db 10 ; objects - object SPRITE_LASS, 13, 10, STAY, LEFT, 1, OPP_JR_TRAINER_F, 5 - object SPRITE_BLACK_HAIR_BOY_1, 24, 7, STAY, LEFT, 2, OPP_JR_TRAINER_M, 7 - object SPRITE_BLACK_HAIR_BOY_1, 31, 7, STAY, RIGHT, 3, OPP_JR_TRAINER_M, 8 - object SPRITE_LASS, 48, 8, STAY, RIGHT, 4, OPP_JR_TRAINER_F, 6 - object SPRITE_HIKER, 16, 15, STAY, LEFT, 5, OPP_HIKER, 11 - object SPRITE_HIKER, 43, 3, STAY, LEFT, 6, OPP_HIKER, 6 - object SPRITE_BUG_CATCHER, 22, 2, STAY, DOWN, 7, OPP_BUG_CATCHER, 13 - object SPRITE_HIKER, 45, 15, STAY, RIGHT, 8, OPP_HIKER, 5 - object SPRITE_BUG_CATCHER, 40, 8, STAY, RIGHT, 9, OPP_BUG_CATCHER, 14 - object SPRITE_BALL, 10, 15, STAY, NONE, 10, TM_30 diff --git a/data/mapObjects/SSAnne1F.asm b/data/mapObjects/SSAnne1F.asm deleted file mode 100755 index 3e454f06..00000000 --- a/data/mapObjects/SSAnne1F.asm +++ /dev/null @@ -1,34 +0,0 @@ -SSAnne1F_Object: - db $c ; border block - - db 11 ; warps - warp 26, 0, 1, VERMILION_DOCK - warp 27, 0, 1, VERMILION_DOCK - warp 31, 8, 0, SS_ANNE_1F_ROOMS - warp 23, 8, 1, SS_ANNE_1F_ROOMS - warp 19, 8, 2, SS_ANNE_1F_ROOMS - warp 15, 8, 3, SS_ANNE_1F_ROOMS - warp 11, 8, 4, SS_ANNE_1F_ROOMS - warp 7, 8, 5, SS_ANNE_1F_ROOMS - warp 2, 6, 6, SS_ANNE_2F - warp 37, 15, 5, SS_ANNE_B1F - warp 3, 16, 0, SS_ANNE_KITCHEN - - db 0 ; signs - - db 2 ; objects - object SPRITE_WAITER, 12, 6, WALK, 2, 1 ; person - object SPRITE_SAILOR, 27, 5, STAY, NONE, 2 ; person - - ; warp-to - warp_to 26, 0, SS_ANNE_1F_WIDTH ; VERMILION_DOCK - warp_to 27, 0, SS_ANNE_1F_WIDTH ; VERMILION_DOCK - warp_to 31, 8, SS_ANNE_1F_WIDTH ; SS_ANNE_1F_ROOMS - warp_to 23, 8, SS_ANNE_1F_WIDTH ; SS_ANNE_1F_ROOMS - warp_to 19, 8, SS_ANNE_1F_WIDTH ; SS_ANNE_1F_ROOMS - warp_to 15, 8, SS_ANNE_1F_WIDTH ; SS_ANNE_1F_ROOMS - warp_to 11, 8, SS_ANNE_1F_WIDTH ; SS_ANNE_1F_ROOMS - warp_to 7, 8, SS_ANNE_1F_WIDTH ; SS_ANNE_1F_ROOMS - warp_to 2, 6, SS_ANNE_1F_WIDTH ; SS_ANNE_2F - warp_to 37, 15, SS_ANNE_1F_WIDTH ; SS_ANNE_B1F - warp_to 3, 16, SS_ANNE_1F_WIDTH ; SS_ANNE_KITCHEN diff --git a/data/mapObjects/SSAnne1FRooms.asm b/data/mapObjects/SSAnne1FRooms.asm deleted file mode 100755 index 617d2a55..00000000 --- a/data/mapObjects/SSAnne1FRooms.asm +++ /dev/null @@ -1,33 +0,0 @@ -SSAnne1FRooms_Object: - db $c ; border block - - db 6 ; warps - warp 0, 0, 2, SS_ANNE_1F - warp 10, 0, 3, SS_ANNE_1F - warp 20, 0, 4, SS_ANNE_1F - warp 0, 10, 5, SS_ANNE_1F - warp 10, 10, 6, SS_ANNE_1F - warp 20, 10, 7, SS_ANNE_1F - - db 0 ; signs - - db 11 ; objects - object SPRITE_GENTLEMAN, 2, 3, STAY, LEFT, 1, OPP_GENTLEMAN, 1 - object SPRITE_GENTLEMAN, 11, 4, STAY, UP, 2, OPP_GENTLEMAN, 2 - object SPRITE_BUG_CATCHER, 11, 14, STAY, UP, 3, OPP_YOUNGSTER, 8 - object SPRITE_LASS, 13, 11, STAY, LEFT, 4, OPP_LASS, 11 - object SPRITE_GIRL, 22, 3, WALK, 1, 5 ; person - object SPRITE_FAT_BALD_GUY, 0, 14, STAY, NONE, 6 ; person - object SPRITE_LITTLE_GIRL, 2, 11, STAY, DOWN, 7 ; person - object SPRITE_CLEFAIRY, 3, 11, STAY, DOWN, 8 ; person - object SPRITE_GIRL, 10, 13, STAY, RIGHT, 9 ; person - object SPRITE_BALL, 12, 15, STAY, NONE, 10, TM_08 - object SPRITE_GENTLEMAN, 21, 13, WALK, 2, 11 ; person - - ; warp-to - warp_to 0, 0, SS_ANNE_1F_ROOMS_WIDTH ; SS_ANNE_1F - warp_to 10, 0, SS_ANNE_1F_ROOMS_WIDTH ; SS_ANNE_1F - warp_to 20, 0, SS_ANNE_1F_ROOMS_WIDTH ; SS_ANNE_1F - warp_to 0, 10, SS_ANNE_1F_ROOMS_WIDTH ; SS_ANNE_1F - warp_to 10, 10, SS_ANNE_1F_ROOMS_WIDTH ; SS_ANNE_1F - warp_to 20, 10, SS_ANNE_1F_ROOMS_WIDTH ; SS_ANNE_1F diff --git a/data/mapObjects/SSAnne2F.asm b/data/mapObjects/SSAnne2F.asm deleted file mode 100755 index 6abd5ac4..00000000 --- a/data/mapObjects/SSAnne2F.asm +++ /dev/null @@ -1,30 +0,0 @@ -SSAnne2F_Object: - db $c ; border block - - db 9 ; warps - warp 9, 11, 0, SS_ANNE_2F_ROOMS - warp 13, 11, 2, SS_ANNE_2F_ROOMS - warp 17, 11, 4, SS_ANNE_2F_ROOMS - warp 21, 11, 6, SS_ANNE_2F_ROOMS - warp 25, 11, 8, SS_ANNE_2F_ROOMS - warp 29, 11, 10, SS_ANNE_2F_ROOMS - warp 2, 4, 8, SS_ANNE_1F - warp 2, 12, 1, SS_ANNE_3F - warp 36, 4, 0, SS_ANNE_CAPTAINS_ROOM - - db 0 ; signs - - db 2 ; objects - object SPRITE_WAITER, 3, 7, WALK, 1, 1 ; person - object SPRITE_BLUE, 36, 4, STAY, DOWN, 2, OPP_SONY1, 1 - - ; warp-to - warp_to 9, 11, SS_ANNE_2F_WIDTH ; SS_ANNE_2F_ROOMS - warp_to 13, 11, SS_ANNE_2F_WIDTH ; SS_ANNE_2F_ROOMS - warp_to 17, 11, SS_ANNE_2F_WIDTH ; SS_ANNE_2F_ROOMS - warp_to 21, 11, SS_ANNE_2F_WIDTH ; SS_ANNE_2F_ROOMS - warp_to 25, 11, SS_ANNE_2F_WIDTH ; SS_ANNE_2F_ROOMS - warp_to 29, 11, SS_ANNE_2F_WIDTH ; SS_ANNE_2F_ROOMS - warp_to 2, 4, SS_ANNE_2F_WIDTH ; SS_ANNE_1F - warp_to 2, 12, SS_ANNE_2F_WIDTH ; SS_ANNE_3F - warp_to 36, 4, SS_ANNE_2F_WIDTH ; SS_ANNE_CAPTAINS_ROOM diff --git a/data/mapObjects/SSAnne2FRooms.asm b/data/mapObjects/SSAnne2FRooms.asm deleted file mode 100755 index ebb053a8..00000000 --- a/data/mapObjects/SSAnne2FRooms.asm +++ /dev/null @@ -1,47 +0,0 @@ -SSAnne2FRooms_Object: - db $c ; border block - - db 12 ; warps - warp 2, 5, 0, SS_ANNE_2F - warp 3, 5, 0, SS_ANNE_2F - warp 12, 5, 1, SS_ANNE_2F - warp 13, 5, 1, SS_ANNE_2F - warp 22, 5, 2, SS_ANNE_2F - warp 23, 5, 2, SS_ANNE_2F - warp 2, 15, 3, SS_ANNE_2F - warp 3, 15, 3, SS_ANNE_2F - warp 12, 15, 4, SS_ANNE_2F - warp 13, 15, 4, SS_ANNE_2F - warp 22, 15, 5, SS_ANNE_2F - warp 23, 15, 5, SS_ANNE_2F - - db 0 ; signs - - db 13 ; objects - object SPRITE_GENTLEMAN, 10, 2, STAY, RIGHT, 1, OPP_GENTLEMAN, 3 - object SPRITE_FISHER2, 13, 4, STAY, LEFT, 2, OPP_FISHER, 1 - object SPRITE_GENTLEMAN, 0, 14, STAY, RIGHT, 3, OPP_GENTLEMAN, 5 - object SPRITE_LASS, 2, 11, STAY, DOWN, 4, OPP_LASS, 12 - object SPRITE_GENTLEMAN, 1, 2, STAY, DOWN, 5 ; person - object SPRITE_BALL, 12, 1, STAY, NONE, 6, MAX_ETHER - object SPRITE_GENTLEMAN, 21, 2, STAY, DOWN, 7 ; person - object SPRITE_OLD_PERSON, 22, 1, STAY, DOWN, 8 ; person - object SPRITE_BALL, 0, 12, STAY, NONE, 9, RARE_CANDY - object SPRITE_GENTLEMAN, 12, 12, STAY, DOWN, 10 ; person - object SPRITE_YOUNG_BOY, 11, 14, STAY, NONE, 11 ; person - object SPRITE_BRUNETTE_GIRL, 22, 12, STAY, LEFT, 12 ; person - object SPRITE_FOULARD_WOMAN, 20, 12, STAY, RIGHT, 13 ; person - - ; warp-to - warp_to 2, 5, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F - warp_to 3, 5, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F - warp_to 12, 5, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F - warp_to 13, 5, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F - warp_to 22, 5, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F - warp_to 23, 5, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F - warp_to 2, 15, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F - warp_to 3, 15, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F - warp_to 12, 15, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F - warp_to 13, 15, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F - warp_to 22, 15, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F - warp_to 23, 15, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F diff --git a/data/mapObjects/SSAnne3F.asm b/data/mapObjects/SSAnne3F.asm deleted file mode 100755 index f0bfc17b..00000000 --- a/data/mapObjects/SSAnne3F.asm +++ /dev/null @@ -1,15 +0,0 @@ -SSAnne3F_Object: - db $c ; border block - - db 2 ; warps - warp 0, 3, 0, SS_ANNE_BOW - warp 19, 3, 7, SS_ANNE_2F - - db 0 ; signs - - db 1 ; objects - object SPRITE_SAILOR, 9, 3, WALK, 2, 1 ; person - - ; warp-to - warp_to 0, 3, SS_ANNE_3F_WIDTH ; SS_ANNE_BOW - warp_to 19, 3, SS_ANNE_3F_WIDTH ; SS_ANNE_2F diff --git a/data/mapObjects/SSAnneB1F.asm b/data/mapObjects/SSAnneB1F.asm deleted file mode 100755 index fe54ea24..00000000 --- a/data/mapObjects/SSAnneB1F.asm +++ /dev/null @@ -1,22 +0,0 @@ -SSAnneB1F_Object: - db $c ; border block - - db 6 ; warps - warp 23, 3, 8, SS_ANNE_B1F_ROOMS - warp 19, 3, 6, SS_ANNE_B1F_ROOMS - warp 15, 3, 4, SS_ANNE_B1F_ROOMS - warp 11, 3, 2, SS_ANNE_B1F_ROOMS - warp 7, 3, 0, SS_ANNE_B1F_ROOMS - warp 27, 5, 9, SS_ANNE_1F - - db 0 ; signs - - db 0 ; objects - - ; warp-to - warp_to 23, 3, SS_ANNE_B1F_WIDTH ; SS_ANNE_B1F_ROOMS - warp_to 19, 3, SS_ANNE_B1F_WIDTH ; SS_ANNE_B1F_ROOMS - warp_to 15, 3, SS_ANNE_B1F_WIDTH ; SS_ANNE_B1F_ROOMS - warp_to 11, 3, SS_ANNE_B1F_WIDTH ; SS_ANNE_B1F_ROOMS - warp_to 7, 3, SS_ANNE_B1F_WIDTH ; SS_ANNE_B1F_ROOMS - warp_to 27, 5, SS_ANNE_B1F_WIDTH ; SS_ANNE_1F diff --git a/data/mapObjects/SSAnneB1FRooms.asm b/data/mapObjects/SSAnneB1FRooms.asm deleted file mode 100755 index 1d31b89c..00000000 --- a/data/mapObjects/SSAnneB1FRooms.asm +++ /dev/null @@ -1,41 +0,0 @@ -SSAnneB1FRooms_Object: - db $c ; border block - - db 10 ; warps - warp 2, 5, 4, SS_ANNE_B1F - warp 3, 5, 4, SS_ANNE_B1F - warp 12, 5, 3, SS_ANNE_B1F - warp 13, 5, 3, SS_ANNE_B1F - warp 22, 5, 2, SS_ANNE_B1F - warp 23, 5, 2, SS_ANNE_B1F - warp 2, 15, 1, SS_ANNE_B1F - warp 3, 15, 1, SS_ANNE_B1F - warp 12, 15, 0, SS_ANNE_B1F - warp 13, 15, 0, SS_ANNE_B1F - - db 0 ; signs - - db 11 ; objects - object SPRITE_SAILOR, 0, 13, STAY, DOWN, 1, OPP_SAILOR, 3 - object SPRITE_SAILOR, 2, 11, STAY, DOWN, 2, OPP_SAILOR, 4 - object SPRITE_SAILOR, 12, 3, STAY, LEFT, 3, OPP_SAILOR, 5 - object SPRITE_SAILOR, 22, 2, STAY, DOWN, 4, OPP_SAILOR, 6 - object SPRITE_SAILOR, 0, 2, STAY, RIGHT, 5, OPP_SAILOR, 7 - object SPRITE_FISHER2, 0, 4, STAY, RIGHT, 6, OPP_FISHER, 2 - object SPRITE_BLACK_HAIR_BOY_2, 10, 13, STAY, RIGHT, 7 ; person - object SPRITE_SLOWBRO, 11, 12, STAY, NONE, 8 ; person - object SPRITE_BALL, 20, 2, STAY, NONE, 9, ETHER - object SPRITE_BALL, 10, 2, STAY, NONE, 10, TM_44 - object SPRITE_BALL, 12, 11, STAY, NONE, 11, MAX_POTION - - ; warp-to - warp_to 2, 5, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F - warp_to 3, 5, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F - warp_to 12, 5, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F - warp_to 13, 5, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F - warp_to 22, 5, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F - warp_to 23, 5, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F - warp_to 2, 15, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F - warp_to 3, 15, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F - warp_to 12, 15, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F - warp_to 13, 15, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F diff --git a/data/mapObjects/SSAnneBow.asm b/data/mapObjects/SSAnneBow.asm deleted file mode 100755 index 8873c8f8..00000000 --- a/data/mapObjects/SSAnneBow.asm +++ /dev/null @@ -1,19 +0,0 @@ -SSAnneBow_Object: - db $23 ; border block - - db 2 ; warps - warp 13, 6, 0, SS_ANNE_3F - warp 13, 7, 0, SS_ANNE_3F - - db 0 ; signs - - db 5 ; objects - object SPRITE_BLACK_HAIR_BOY_2, 5, 2, STAY, UP, 1 ; person - object SPRITE_SAILOR, 4, 9, STAY, NONE, 2 ; person - object SPRITE_BLACK_HAIR_BOY_1, 7, 11, STAY, NONE, 3 ; person - object SPRITE_SAILOR, 4, 4, STAY, DOWN, 4, OPP_SAILOR, 1 - object SPRITE_SAILOR, 10, 8, STAY, UP, 5, OPP_SAILOR, 2 - - ; warp-to - warp_to 13, 6, SS_ANNE_BOW_WIDTH ; SS_ANNE_3F - warp_to 13, 7, SS_ANNE_BOW_WIDTH ; SS_ANNE_3F diff --git a/data/mapObjects/SSAnneCaptainsRoom.asm b/data/mapObjects/SSAnneCaptainsRoom.asm deleted file mode 100755 index 545656cc..00000000 --- a/data/mapObjects/SSAnneCaptainsRoom.asm +++ /dev/null @@ -1,15 +0,0 @@ -SSAnneCaptainsRoom_Object: - db $c ; border block - - db 1 ; warps - warp 0, 7, 8, SS_ANNE_2F - - db 2 ; signs - sign 4, 1, 2 ; SSAnne7Text2 - sign 1, 2, 3 ; SSAnne7Text3 - - db 1 ; objects - object SPRITE_SS_CAPTAIN, 4, 2, STAY, UP, 1 ; person - - ; warp-to - warp_to 0, 7, SS_ANNE_CAPTAINS_ROOM_WIDTH ; SS_ANNE_2F diff --git a/data/mapObjects/SSAnneKitchen.asm b/data/mapObjects/SSAnneKitchen.asm deleted file mode 100755 index b5771e68..00000000 --- a/data/mapObjects/SSAnneKitchen.asm +++ /dev/null @@ -1,19 +0,0 @@ -SSAnneKitchen_Object: - db $c ; border block - - db 1 ; warps - warp 6, 0, 10, SS_ANNE_1F - - db 0 ; signs - - db 7 ; objects - object SPRITE_COOK, 1, 8, WALK, 1, 1 ; person - object SPRITE_COOK, 5, 8, WALK, 1, 2 ; person - object SPRITE_COOK, 9, 7, WALK, 1, 3 ; person - object SPRITE_COOK, 13, 6, STAY, NONE, 4 ; person - object SPRITE_COOK, 13, 8, STAY, NONE, 5 ; person - object SPRITE_COOK, 13, 10, STAY, NONE, 6 ; person - object SPRITE_COOK, 11, 13, STAY, UP, 7 ; person - - ; warp-to - warp_to 6, 0, SS_ANNE_KITCHEN_WIDTH ; SS_ANNE_1F diff --git a/data/mapObjects/SafariZoneCenter.asm b/data/mapObjects/SafariZoneCenter.asm deleted file mode 100755 index e54cec74..00000000 --- a/data/mapObjects/SafariZoneCenter.asm +++ /dev/null @@ -1,31 +0,0 @@ -SafariZoneCenter_Object: - db $0 ; border block - - db 9 ; warps - warp 14, 25, 2, SAFARI_ZONE_GATE - warp 15, 25, 3, SAFARI_ZONE_GATE - warp 0, 10, 4, SAFARI_ZONE_WEST - warp 0, 11, 5, SAFARI_ZONE_WEST - warp 14, 0, 4, SAFARI_ZONE_NORTH - warp 15, 0, 5, SAFARI_ZONE_NORTH - warp 29, 10, 2, SAFARI_ZONE_EAST - warp 29, 11, 3, SAFARI_ZONE_EAST - warp 17, 19, 0, SAFARI_ZONE_CENTER_REST_HOUSE - - db 2 ; signs - sign 18, 20, 2 ; SafariZoneCenterText2 - sign 14, 22, 3 ; SafariZoneCenterText3 - - db 1 ; objects - object SPRITE_BALL, 14, 10, STAY, NONE, 1, NUGGET - - ; warp-to - warp_to 14, 25, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_GATE - warp_to 15, 25, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_GATE - warp_to 0, 10, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_WEST - warp_to 0, 11, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_WEST - warp_to 14, 0, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_NORTH - warp_to 15, 0, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_NORTH - warp_to 29, 10, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_EAST - warp_to 29, 11, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_EAST - warp_to 17, 19, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_CENTER_REST_HOUSE diff --git a/data/mapObjects/SafariZoneCenterRestHouse.asm b/data/mapObjects/SafariZoneCenterRestHouse.asm deleted file mode 100755 index 9eda9970..00000000 --- a/data/mapObjects/SafariZoneCenterRestHouse.asm +++ /dev/null @@ -1,16 +0,0 @@ -SafariZoneCenterRestHouse_Object: - db $a ; border block - - db 2 ; warps - warp 2, 7, 8, SAFARI_ZONE_CENTER - warp 3, 7, 8, SAFARI_ZONE_CENTER - - db 0 ; signs - - db 2 ; objects - object SPRITE_GIRL, 3, 2, STAY, DOWN, 1 ; person - object SPRITE_OAK_AIDE, 1, 4, WALK, 1, 2 ; person - - ; warp-to - warp_to 2, 7, SAFARI_ZONE_CENTER_REST_HOUSE_WIDTH ; SAFARI_ZONE_CENTER - warp_to 3, 7, SAFARI_ZONE_CENTER_REST_HOUSE_WIDTH ; SAFARI_ZONE_CENTER diff --git a/data/mapObjects/SafariZoneEast.asm b/data/mapObjects/SafariZoneEast.asm deleted file mode 100755 index df612ea9..00000000 --- a/data/mapObjects/SafariZoneEast.asm +++ /dev/null @@ -1,27 +0,0 @@ -SafariZoneEast_Object: - db $0 ; border block - - db 5 ; warps - warp 0, 4, 6, SAFARI_ZONE_NORTH - warp 0, 5, 7, SAFARI_ZONE_NORTH - warp 0, 22, 6, SAFARI_ZONE_CENTER - warp 0, 23, 6, SAFARI_ZONE_CENTER - warp 25, 9, 0, SAFARI_ZONE_EAST_REST_HOUSE - - db 3 ; signs - sign 26, 10, 5 ; SafariZoneEastText5 - sign 6, 4, 6 ; SafariZoneEastText6 - sign 5, 23, 7 ; SafariZoneEastText7 - - db 4 ; objects - object SPRITE_BALL, 21, 10, STAY, NONE, 1, FULL_RESTORE - object SPRITE_BALL, 3, 7, STAY, NONE, 2, MAX_POTION - object SPRITE_BALL, 20, 13, STAY, NONE, 3, CARBOS - object SPRITE_BALL, 15, 12, STAY, NONE, 4, TM_37 - - ; warp-to - warp_to 0, 4, SAFARI_ZONE_EAST_WIDTH ; SAFARI_ZONE_NORTH - warp_to 0, 5, SAFARI_ZONE_EAST_WIDTH ; SAFARI_ZONE_NORTH - warp_to 0, 22, SAFARI_ZONE_EAST_WIDTH ; SAFARI_ZONE_CENTER - warp_to 0, 23, SAFARI_ZONE_EAST_WIDTH ; SAFARI_ZONE_CENTER - warp_to 25, 9, SAFARI_ZONE_EAST_WIDTH ; SAFARI_ZONE_EAST_REST_HOUSE diff --git a/data/mapObjects/SafariZoneEastRestHouse.asm b/data/mapObjects/SafariZoneEastRestHouse.asm deleted file mode 100755 index e7c68343..00000000 --- a/data/mapObjects/SafariZoneEastRestHouse.asm +++ /dev/null @@ -1,17 +0,0 @@ -SafariZoneEastRestHouse_Object: - db $a ; border block - - db 2 ; warps - warp 2, 7, 4, SAFARI_ZONE_EAST - warp 3, 7, 4, SAFARI_ZONE_EAST - - db 0 ; signs - - db 3 ; objects - object SPRITE_OAK_AIDE, 1, 3, WALK, 1, 1 ; person - object SPRITE_ROCKER, 4, 2, STAY, NONE, 2 ; person - object SPRITE_LAPRAS_GIVER, 5, 2, STAY, NONE, 3 ; person - - ; warp-to - warp_to 2, 7, SAFARI_ZONE_EAST_REST_HOUSE_WIDTH ; SAFARI_ZONE_EAST - warp_to 3, 7, SAFARI_ZONE_EAST_REST_HOUSE_WIDTH ; SAFARI_ZONE_EAST diff --git a/data/mapObjects/SafariZoneGate.asm b/data/mapObjects/SafariZoneGate.asm deleted file mode 100755 index 6749b45b..00000000 --- a/data/mapObjects/SafariZoneGate.asm +++ /dev/null @@ -1,20 +0,0 @@ -SafariZoneGate_Object: - db $a ; border block - - db 4 ; warps - warp 3, 5, 4, -1 - warp 4, 5, 4, -1 - warp 3, 0, 0, SAFARI_ZONE_CENTER - warp 4, 0, 1, SAFARI_ZONE_CENTER - - db 0 ; signs - - db 2 ; objects - object SPRITE_WHITE_PLAYER, 6, 2, STAY, LEFT, 1 ; person - object SPRITE_WHITE_PLAYER, 1, 4, STAY, RIGHT, 2 ; person - - ; warp-to - warp_to 3, 5, SAFARI_ZONE_GATE_WIDTH - warp_to 4, 5, SAFARI_ZONE_GATE_WIDTH - warp_to 3, 0, SAFARI_ZONE_GATE_WIDTH ; SAFARI_ZONE_CENTER - warp_to 4, 0, SAFARI_ZONE_GATE_WIDTH ; SAFARI_ZONE_CENTER diff --git a/data/mapObjects/SafariZoneNorth.asm b/data/mapObjects/SafariZoneNorth.asm deleted file mode 100755 index 9eda7b4b..00000000 --- a/data/mapObjects/SafariZoneNorth.asm +++ /dev/null @@ -1,35 +0,0 @@ -SafariZoneNorth_Object: - db $0 ; border block - - db 9 ; warps - warp 2, 35, 0, SAFARI_ZONE_WEST - warp 3, 35, 1, SAFARI_ZONE_WEST - warp 8, 35, 2, SAFARI_ZONE_WEST - warp 9, 35, 3, SAFARI_ZONE_WEST - warp 20, 35, 4, SAFARI_ZONE_CENTER - warp 21, 35, 5, SAFARI_ZONE_CENTER - warp 39, 30, 0, SAFARI_ZONE_EAST - warp 39, 31, 1, SAFARI_ZONE_EAST - warp 35, 3, 0, SAFARI_ZONE_NORTH_REST_HOUSE - - db 5 ; signs - sign 36, 4, 3 ; SafariZoneNorthText3 - sign 4, 25, 4 ; SafariZoneNorthText4 - sign 13, 31, 5 ; SafariZoneNorthText5 - sign 19, 33, 6 ; SafariZoneNorthText6 - sign 26, 28, 7 ; SafariZoneNorthText7 - - db 2 ; objects - object SPRITE_BALL, 25, 1, STAY, NONE, 1, PROTEIN - object SPRITE_BALL, 19, 7, STAY, NONE, 2, TM_40 - - ; warp-to - warp_to 2, 35, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_WEST - warp_to 3, 35, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_WEST - warp_to 8, 35, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_WEST - warp_to 9, 35, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_WEST - warp_to 20, 35, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_CENTER - warp_to 21, 35, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_CENTER - warp_to 39, 30, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_EAST - warp_to 39, 31, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_EAST - warp_to 35, 3, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_NORTH_REST_HOUSE diff --git a/data/mapObjects/SafariZoneNorthRestHouse.asm b/data/mapObjects/SafariZoneNorthRestHouse.asm deleted file mode 100755 index 34b3ab4f..00000000 --- a/data/mapObjects/SafariZoneNorthRestHouse.asm +++ /dev/null @@ -1,17 +0,0 @@ -SafariZoneNorthRestHouse_Object: - db $a ; border block - - db 2 ; warps - warp 2, 7, 8, SAFARI_ZONE_NORTH - warp 3, 7, 8, SAFARI_ZONE_NORTH - - db 0 ; signs - - db 3 ; objects - object SPRITE_OAK_AIDE, 6, 3, WALK, 2, 1 ; person - object SPRITE_WHITE_PLAYER, 3, 4, STAY, NONE, 2 ; person - object SPRITE_GENTLEMAN, 1, 5, WALK, 1, 3 ; person - - ; warp-to - warp_to 2, 7, SAFARI_ZONE_NORTH_REST_HOUSE_WIDTH ; SAFARI_ZONE_NORTH - warp_to 3, 7, SAFARI_ZONE_NORTH_REST_HOUSE_WIDTH ; SAFARI_ZONE_NORTH diff --git a/data/mapObjects/SafariZoneSecretHouse.asm b/data/mapObjects/SafariZoneSecretHouse.asm deleted file mode 100755 index 2a5fc22d..00000000 --- a/data/mapObjects/SafariZoneSecretHouse.asm +++ /dev/null @@ -1,15 +0,0 @@ -SafariZoneSecretHouse_Object: - db $17 ; border block - - db 2 ; warps - warp 2, 7, 6, SAFARI_ZONE_WEST - warp 3, 7, 6, SAFARI_ZONE_WEST - - db 0 ; signs - - db 1 ; objects - object SPRITE_FISHER, 3, 3, STAY, DOWN, 1 ; person - - ; warp-to - warp_to 2, 7, SAFARI_ZONE_SECRET_HOUSE_WIDTH ; SAFARI_ZONE_WEST - warp_to 3, 7, SAFARI_ZONE_SECRET_HOUSE_WIDTH ; SAFARI_ZONE_WEST diff --git a/data/mapObjects/SafariZoneWest.asm b/data/mapObjects/SafariZoneWest.asm deleted file mode 100755 index 7faced72..00000000 --- a/data/mapObjects/SafariZoneWest.asm +++ /dev/null @@ -1,34 +0,0 @@ -SafariZoneWest_Object: - db $0 ; border block - - db 8 ; warps - warp 20, 0, 0, SAFARI_ZONE_NORTH - warp 21, 0, 1, SAFARI_ZONE_NORTH - warp 26, 0, 2, SAFARI_ZONE_NORTH - warp 27, 0, 3, SAFARI_ZONE_NORTH - warp 29, 22, 2, SAFARI_ZONE_CENTER - warp 29, 23, 3, SAFARI_ZONE_CENTER - warp 3, 3, 0, SAFARI_ZONE_SECRET_HOUSE - warp 11, 11, 0, SAFARI_ZONE_WEST_REST_HOUSE - - db 4 ; signs - sign 12, 12, 5 ; SafariZoneWestText5 - sign 17, 3, 6 ; SafariZoneWestText6 - sign 26, 4, 7 ; SafariZoneWestText7 - sign 24, 22, 8 ; SafariZoneWestText8 - - db 4 ; objects - object SPRITE_BALL, 8, 20, STAY, NONE, 1, MAX_POTION - object SPRITE_BALL, 9, 7, STAY, NONE, 2, TM_32 - object SPRITE_BALL, 18, 18, STAY, NONE, 3, MAX_REVIVE - object SPRITE_BALL, 19, 7, STAY, NONE, 4, GOLD_TEETH - - ; warp-to - warp_to 20, 0, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_NORTH - warp_to 21, 0, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_NORTH - warp_to 26, 0, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_NORTH - warp_to 27, 0, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_NORTH - warp_to 29, 22, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_CENTER - warp_to 29, 23, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_CENTER - warp_to 3, 3, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_SECRET_HOUSE - warp_to 11, 11, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_WEST_REST_HOUSE diff --git a/data/mapObjects/SafariZoneWestRestHouse.asm b/data/mapObjects/SafariZoneWestRestHouse.asm deleted file mode 100755 index 9f1bc0ed..00000000 --- a/data/mapObjects/SafariZoneWestRestHouse.asm +++ /dev/null @@ -1,17 +0,0 @@ -SafariZoneWestRestHouse_Object: - db $a ; border block - - db 2 ; warps - warp 2, 7, 7, SAFARI_ZONE_WEST - warp 3, 7, 7, SAFARI_ZONE_WEST - - db 0 ; signs - - db 3 ; objects - object SPRITE_OAK_AIDE, 4, 4, WALK, 0, 1 ; person - object SPRITE_BLACK_HAIR_BOY_1, 0, 2, STAY, RIGHT, 2 ; person - object SPRITE_ERIKA, 6, 2, STAY, DOWN, 3 ; person - - ; warp-to - warp_to 2, 7, SAFARI_ZONE_WEST_REST_HOUSE_WIDTH ; SAFARI_ZONE_WEST - warp_to 3, 7, SAFARI_ZONE_WEST_REST_HOUSE_WIDTH ; SAFARI_ZONE_WEST diff --git a/data/mapObjects/SaffronCity.asm b/data/mapObjects/SaffronCity.asm deleted file mode 100755 index b8d3a9cf..00000000 --- a/data/mapObjects/SaffronCity.asm +++ /dev/null @@ -1,51 +0,0 @@ -SaffronCity_Object: - db $f ; border block - - db 8 ; warps - warp 7, 5, 0, COPYCATS_HOUSE_1F - warp 26, 3, 0, FIGHTING_DOJO - warp 34, 3, 0, SAFFRON_GYM - warp 13, 11, 0, SAFFRON_PIDGEY_HOUSE - warp 25, 11, 0, SAFFRON_MART - warp 18, 21, 0, SILPH_CO_1F - warp 9, 29, 0, SAFFRON_POKECENTER - warp 29, 29, 0, MR_PSYCHICS_HOUSE - - db 10 ; signs - sign 17, 5, 16 ; SaffronCityText16 - sign 27, 5, 17 ; SaffronCityText17 - sign 35, 5, 18 ; SaffronCityText18 - sign 26, 11, 19 ; MartSignText - sign 39, 19, 20 ; SaffronCityText20 - sign 5, 21, 21 ; SaffronCityText21 - sign 15, 21, 22 ; SaffronCityText22 - sign 10, 29, 23 ; PokeCenterSignText - sign 27, 29, 24 ; SaffronCityText24 - sign 1, 19, 25 ; SaffronCityText25 - - db 15 ; objects - object SPRITE_ROCKET, 7, 6, STAY, NONE, 1 ; person - object SPRITE_ROCKET, 20, 8, WALK, 2, 2 ; person - object SPRITE_ROCKET, 34, 4, STAY, NONE, 3 ; person - object SPRITE_ROCKET, 13, 12, STAY, NONE, 4 ; person - object SPRITE_ROCKET, 11, 25, WALK, 2, 5 ; person - object SPRITE_ROCKET, 32, 13, WALK, 2, 6 ; person - object SPRITE_ROCKET, 18, 30, WALK, 2, 7 ; person - object SPRITE_OAK_AIDE, 8, 14, WALK, 0, 8 ; person - object SPRITE_LAPRAS_GIVER, 23, 23, STAY, NONE, 9 ; person - object SPRITE_ERIKA, 17, 30, WALK, 2, 10 ; person - object SPRITE_GENTLEMAN, 30, 12, STAY, DOWN, 11 ; person - object SPRITE_BIRD, 31, 12, STAY, DOWN, 12 ; person - object SPRITE_ROCKER, 18, 8, STAY, UP, 13 ; person - object SPRITE_ROCKET, 18, 22, STAY, DOWN, 14 ; person - object SPRITE_ROCKET, 19, 22, STAY, DOWN, 15 ; person - - ; warp-to - warp_to 7, 5, SAFFRON_CITY_WIDTH ; COPYCATS_HOUSE_1F - warp_to 26, 3, SAFFRON_CITY_WIDTH ; FIGHTING_DOJO - warp_to 34, 3, SAFFRON_CITY_WIDTH ; SAFFRON_GYM - warp_to 13, 11, SAFFRON_CITY_WIDTH ; SAFFRON_PIDGEY_HOUSE - warp_to 25, 11, SAFFRON_CITY_WIDTH ; SAFFRON_MART - warp_to 18, 21, SAFFRON_CITY_WIDTH ; SILPH_CO_1F - warp_to 9, 29, SAFFRON_CITY_WIDTH ; SAFFRON_POKECENTER - warp_to 29, 29, SAFFRON_CITY_WIDTH ; MR_PSYCHICS_HOUSE diff --git a/data/mapObjects/SaffronGym.asm b/data/mapObjects/SaffronGym.asm deleted file mode 100755 index 1869421a..00000000 --- a/data/mapObjects/SaffronGym.asm +++ /dev/null @@ -1,83 +0,0 @@ -SaffronGym_Object: - db $2e ; border block - - db 32 ; warps - warp 8, 17, 2, -1 - warp 9, 17, 2, -1 - warp 1, 3, 22, SAFFRON_GYM - warp 5, 3, 15, SAFFRON_GYM - warp 1, 5, 18, SAFFRON_GYM - warp 5, 5, 8, SAFFRON_GYM - warp 1, 9, 27, SAFFRON_GYM - warp 5, 9, 16, SAFFRON_GYM - warp 1, 11, 5, SAFFRON_GYM - warp 5, 11, 13, SAFFRON_GYM - warp 1, 15, 23, SAFFRON_GYM - warp 5, 15, 30, SAFFRON_GYM - warp 1, 17, 17, SAFFRON_GYM - warp 5, 17, 9, SAFFRON_GYM - warp 9, 3, 26, SAFFRON_GYM - warp 11, 3, 3, SAFFRON_GYM - warp 9, 5, 7, SAFFRON_GYM - warp 11, 5, 12, SAFFRON_GYM - warp 11, 11, 4, SAFFRON_GYM - warp 11, 15, 31, SAFFRON_GYM - warp 15, 3, 24, SAFFRON_GYM - warp 19, 3, 28, SAFFRON_GYM - warp 15, 5, 2, SAFFRON_GYM - warp 19, 5, 10, SAFFRON_GYM - warp 15, 9, 20, SAFFRON_GYM - warp 19, 9, 29, SAFFRON_GYM - warp 15, 11, 14, SAFFRON_GYM - warp 19, 11, 6, SAFFRON_GYM - warp 15, 15, 21, SAFFRON_GYM - warp 19, 15, 25, SAFFRON_GYM - warp 15, 17, 11, SAFFRON_GYM - warp 19, 17, 19, SAFFRON_GYM - - db 0 ; signs - - db 9 ; objects - object SPRITE_GIRL, 9, 8, STAY, DOWN, 1, OPP_SABRINA, 1 - object SPRITE_MEDIUM, 10, 1, STAY, DOWN, 2, OPP_CHANNELER, 22 - object SPRITE_BUG_CATCHER, 17, 1, STAY, DOWN, 3, OPP_PSYCHIC_TR, 1 - object SPRITE_MEDIUM, 3, 7, STAY, DOWN, 4, OPP_CHANNELER, 23 - object SPRITE_BUG_CATCHER, 17, 7, STAY, DOWN, 5, OPP_PSYCHIC_TR, 2 - object SPRITE_MEDIUM, 3, 13, STAY, DOWN, 6, OPP_CHANNELER, 24 - object SPRITE_BUG_CATCHER, 17, 13, STAY, DOWN, 7, OPP_PSYCHIC_TR, 3 - object SPRITE_BUG_CATCHER, 3, 1, STAY, DOWN, 8, OPP_PSYCHIC_TR, 4 - object SPRITE_GYM_HELPER, 10, 15, STAY, DOWN, 9 ; person - - ; warp-to - warp_to 8, 17, SAFFRON_GYM_WIDTH - warp_to 9, 17, SAFFRON_GYM_WIDTH - warp_to 1, 3, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 5, 3, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 1, 5, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 5, 5, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 1, 9, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 5, 9, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 1, 11, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 5, 11, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 1, 15, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 5, 15, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 1, 17, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 5, 17, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 9, 3, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 11, 3, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 9, 5, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 11, 5, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 11, 11, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 11, 15, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 15, 3, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 19, 3, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 15, 5, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 19, 5, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 15, 9, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 19, 9, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 15, 11, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 19, 11, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 15, 15, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 19, 15, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 15, 17, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 19, 17, SAFFRON_GYM_WIDTH ; SAFFRON_GYM diff --git a/data/mapObjects/SaffronMart.asm b/data/mapObjects/SaffronMart.asm deleted file mode 100755 index c376f2de..00000000 --- a/data/mapObjects/SaffronMart.asm +++ /dev/null @@ -1,17 +0,0 @@ -SaffronMart_Object: - db $0 ; border block - - db 2 ; warps - warp 3, 7, 4, -1 - warp 4, 7, 4, -1 - - db 0 ; signs - - db 3 ; objects - object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person - object SPRITE_BLACK_HAIR_BOY_2, 4, 2, STAY, NONE, 2 ; person - object SPRITE_LASS, 6, 5, WALK, 0, 3 ; person - - ; warp-to - warp_to 3, 7, SAFFRON_MART_WIDTH - warp_to 4, 7, SAFFRON_MART_WIDTH diff --git a/data/mapObjects/SaffronPidgeyHouse.asm b/data/mapObjects/SaffronPidgeyHouse.asm deleted file mode 100755 index 65a851bf..00000000 --- a/data/mapObjects/SaffronPidgeyHouse.asm +++ /dev/null @@ -1,18 +0,0 @@ -SaffronPidgeyHouse_Object: - db $a ; border block - - db 2 ; warps - warp 2, 7, 3, -1 - warp 3, 7, 3, -1 - - db 0 ; signs - - db 4 ; objects - object SPRITE_BRUNETTE_GIRL, 2, 3, STAY, RIGHT, 1 ; person - object SPRITE_BIRD, 0, 4, WALK, 1, 2 ; person - object SPRITE_BUG_CATCHER, 4, 1, STAY, DOWN, 3 ; person - object SPRITE_PAPER_SHEET, 3, 3, STAY, NONE, 4 ; person - - ; warp-to - warp_to 2, 7, SAFFRON_PIDGEY_HOUSE_WIDTH - warp_to 3, 7, SAFFRON_PIDGEY_HOUSE_WIDTH diff --git a/data/mapObjects/SaffronPokecenter.asm b/data/mapObjects/SaffronPokecenter.asm deleted file mode 100755 index e54fd76b..00000000 --- a/data/mapObjects/SaffronPokecenter.asm +++ /dev/null @@ -1,18 +0,0 @@ -SaffronPokecenter_Object: - db $0 ; border block - - db 2 ; warps - warp 3, 7, 6, -1 - warp 4, 7, 6, -1 - - db 0 ; signs - - db 4 ; objects - object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person - object SPRITE_FOULARD_WOMAN, 5, 5, STAY, NONE, 2 ; person - object SPRITE_GENTLEMAN, 8, 3, STAY, DOWN, 3 ; person - object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person - - ; warp-to - warp_to 3, 7, SAFFRON_POKECENTER_WIDTH - warp_to 4, 7, SAFFRON_POKECENTER_WIDTH diff --git a/data/mapObjects/SeafoamIslands1F.asm b/data/mapObjects/SeafoamIslands1F.asm deleted file mode 100755 index 8707ee0a..00000000 --- a/data/mapObjects/SeafoamIslands1F.asm +++ /dev/null @@ -1,30 +0,0 @@ -SeafoamIslands1F_Object: - db $7d ; border block - - db 7 ; warps - warp 4, 17, 0, -1 - warp 5, 17, 0, -1 - warp 26, 17, 1, -1 - warp 27, 17, 1, -1 - warp 7, 5, 1, SEAFOAM_ISLANDS_B1F - warp 25, 3, 6, SEAFOAM_ISLANDS_B1F - warp 23, 15, 4, SEAFOAM_ISLANDS_B1F - - db 0 ; signs - - db 2 ; objects - object SPRITE_BOULDER, 18, 10, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person - object SPRITE_BOULDER, 26, 7, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person - - ; warp-to - warp_to 4, 17, SEAFOAM_ISLANDS_1F_WIDTH - warp_to 5, 17, SEAFOAM_ISLANDS_1F_WIDTH - warp_to 26, 17, SEAFOAM_ISLANDS_1F_WIDTH - warp_to 27, 17, SEAFOAM_ISLANDS_1F_WIDTH - warp_to 7, 5, SEAFOAM_ISLANDS_1F_WIDTH ; SEAFOAM_ISLANDS_B1F - warp_to 25, 3, SEAFOAM_ISLANDS_1F_WIDTH ; SEAFOAM_ISLANDS_B1F - warp_to 23, 15, SEAFOAM_ISLANDS_1F_WIDTH ; SEAFOAM_ISLANDS_B1F - - ; holes - warp_to 17, 6, SEAFOAM_ISLANDS_1F_WIDTH - warp_to 24, 6, SEAFOAM_ISLANDS_1F_WIDTH diff --git a/data/mapObjects/SeafoamIslandsB1F.asm b/data/mapObjects/SeafoamIslandsB1F.asm deleted file mode 100755 index 426ca0c3..00000000 --- a/data/mapObjects/SeafoamIslandsB1F.asm +++ /dev/null @@ -1,26 +0,0 @@ -SeafoamIslandsB1F_Object: - db $7d ; border block - - db 7 ; warps - warp 4, 2, 0, SEAFOAM_ISLANDS_B2F - warp 7, 5, 4, SEAFOAM_ISLANDS_1F - warp 13, 7, 2, SEAFOAM_ISLANDS_B2F - warp 19, 15, 3, SEAFOAM_ISLANDS_B2F - warp 23, 15, 6, SEAFOAM_ISLANDS_1F - warp 25, 11, 5, SEAFOAM_ISLANDS_B2F - warp 25, 3, 5, SEAFOAM_ISLANDS_1F - - db 0 ; signs - - db 2 ; objects - object SPRITE_BOULDER, 17, 6, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person - object SPRITE_BOULDER, 22, 6, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person - - ; warp-to - warp_to 4, 2, SEAFOAM_ISLANDS_B1F_WIDTH ; SEAFOAM_ISLANDS_B2F - warp_to 7, 5, SEAFOAM_ISLANDS_B1F_WIDTH ; SEAFOAM_ISLANDS_1F - warp_to 13, 7, SEAFOAM_ISLANDS_B1F_WIDTH ; SEAFOAM_ISLANDS_B2F - warp_to 19, 15, SEAFOAM_ISLANDS_B1F_WIDTH ; SEAFOAM_ISLANDS_B2F - warp_to 23, 15, SEAFOAM_ISLANDS_B1F_WIDTH ; SEAFOAM_ISLANDS_1F - warp_to 25, 11, SEAFOAM_ISLANDS_B1F_WIDTH ; SEAFOAM_ISLANDS_B2F - warp_to 25, 3, SEAFOAM_ISLANDS_B1F_WIDTH ; SEAFOAM_ISLANDS_1F diff --git a/data/mapObjects/SeafoamIslandsB2F.asm b/data/mapObjects/SeafoamIslandsB2F.asm deleted file mode 100755 index 9c1a7898..00000000 --- a/data/mapObjects/SeafoamIslandsB2F.asm +++ /dev/null @@ -1,26 +0,0 @@ -SeafoamIslandsB2F_Object: - db $7d ; border block - - db 7 ; warps - warp 5, 3, 0, SEAFOAM_ISLANDS_B1F - warp 5, 13, 0, SEAFOAM_ISLANDS_B3F - warp 13, 7, 2, SEAFOAM_ISLANDS_B1F - warp 19, 15, 3, SEAFOAM_ISLANDS_B1F - warp 25, 3, 3, SEAFOAM_ISLANDS_B3F - warp 25, 11, 5, SEAFOAM_ISLANDS_B1F - warp 25, 14, 4, SEAFOAM_ISLANDS_B3F - - db 0 ; signs - - db 2 ; objects - object SPRITE_BOULDER, 18, 6, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person - object SPRITE_BOULDER, 23, 6, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person - - ; warp-to - warp_to 5, 3, SEAFOAM_ISLANDS_B2F_WIDTH ; SEAFOAM_ISLANDS_B1F - warp_to 5, 13, SEAFOAM_ISLANDS_B2F_WIDTH ; SEAFOAM_ISLANDS_B3F - warp_to 13, 7, SEAFOAM_ISLANDS_B2F_WIDTH ; SEAFOAM_ISLANDS_B1F - warp_to 19, 15, SEAFOAM_ISLANDS_B2F_WIDTH ; SEAFOAM_ISLANDS_B1F - warp_to 25, 3, SEAFOAM_ISLANDS_B2F_WIDTH ; SEAFOAM_ISLANDS_B3F - warp_to 25, 11, SEAFOAM_ISLANDS_B2F_WIDTH ; SEAFOAM_ISLANDS_B1F - warp_to 25, 14, SEAFOAM_ISLANDS_B2F_WIDTH ; SEAFOAM_ISLANDS_B3F diff --git a/data/mapObjects/SeafoamIslandsB3F.asm b/data/mapObjects/SeafoamIslandsB3F.asm deleted file mode 100755 index d194e1cd..00000000 --- a/data/mapObjects/SeafoamIslandsB3F.asm +++ /dev/null @@ -1,30 +0,0 @@ -SeafoamIslandsB3F_Object: - db $7d ; border block - - db 7 ; warps - warp 5, 12, 1, SEAFOAM_ISLANDS_B2F - warp 8, 6, 2, SEAFOAM_ISLANDS_B4F - warp 25, 4, 3, SEAFOAM_ISLANDS_B4F - warp 25, 3, 4, SEAFOAM_ISLANDS_B2F - warp 25, 14, 6, SEAFOAM_ISLANDS_B2F - warp 20, 17, 0, SEAFOAM_ISLANDS_B4F - warp 21, 17, 1, SEAFOAM_ISLANDS_B4F - - db 0 ; signs - - db 6 ; objects - object SPRITE_BOULDER, 5, 14, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person - object SPRITE_BOULDER, 3, 15, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person - object SPRITE_BOULDER, 8, 14, STAY, BOULDER_MOVEMENT_BYTE_2, 3 ; person - object SPRITE_BOULDER, 9, 14, STAY, BOULDER_MOVEMENT_BYTE_2, 4 ; person - object SPRITE_BOULDER, 18, 6, STAY, NONE, 5 ; person - object SPRITE_BOULDER, 19, 6, STAY, NONE, 6 ; person - - ; warp-to - warp_to 5, 12, SEAFOAM_ISLANDS_B3F_WIDTH ; SEAFOAM_ISLANDS_B2F - warp_to 8, 6, SEAFOAM_ISLANDS_B3F_WIDTH ; SEAFOAM_ISLANDS_B4F - warp_to 25, 4, SEAFOAM_ISLANDS_B3F_WIDTH ; SEAFOAM_ISLANDS_B4F - warp_to 25, 3, SEAFOAM_ISLANDS_B3F_WIDTH ; SEAFOAM_ISLANDS_B2F - warp_to 25, 14, SEAFOAM_ISLANDS_B3F_WIDTH ; SEAFOAM_ISLANDS_B2F - warp_to 20, 17, SEAFOAM_ISLANDS_B3F_WIDTH ; SEAFOAM_ISLANDS_B4F - warp_to 21, 17, SEAFOAM_ISLANDS_B3F_WIDTH ; SEAFOAM_ISLANDS_B4F diff --git a/data/mapObjects/SeafoamIslandsB4F.asm b/data/mapObjects/SeafoamIslandsB4F.asm deleted file mode 100755 index 62d88b0c..00000000 --- a/data/mapObjects/SeafoamIslandsB4F.asm +++ /dev/null @@ -1,23 +0,0 @@ -SeafoamIslandsB4F_Object: - db $7d ; border block - - db 4 ; warps - warp 20, 17, 5, SEAFOAM_ISLANDS_B3F - warp 21, 17, 6, SEAFOAM_ISLANDS_B3F - warp 11, 7, 1, SEAFOAM_ISLANDS_B3F - warp 25, 4, 2, SEAFOAM_ISLANDS_B3F - - db 2 ; signs - sign 9, 15, 4 ; SeafoamIslands5Text4 - sign 23, 1, 5 ; SeafoamIslands5Text5 - - db 3 ; objects - object SPRITE_BOULDER, 4, 15, STAY, NONE, 1 ; person - object SPRITE_BOULDER, 5, 15, STAY, NONE, 2 ; person - object SPRITE_BIRD, 6, 1, STAY, DOWN, 3, ARTICUNO, 50 - - ; warp-to - warp_to 20, 17, SEAFOAM_ISLANDS_B4F_WIDTH ; SEAFOAM_ISLANDS_B3F - warp_to 21, 17, SEAFOAM_ISLANDS_B4F_WIDTH ; SEAFOAM_ISLANDS_B3F - warp_to 11, 7, SEAFOAM_ISLANDS_B4F_WIDTH ; SEAFOAM_ISLANDS_B3F - warp_to 25, 4, SEAFOAM_ISLANDS_B4F_WIDTH ; SEAFOAM_ISLANDS_B3F diff --git a/data/mapObjects/SilphCo10F.asm b/data/mapObjects/SilphCo10F.asm deleted file mode 100755 index 1c8948d3..00000000 --- a/data/mapObjects/SilphCo10F.asm +++ /dev/null @@ -1,28 +0,0 @@ -SilphCo10F_Object: - db $2e ; border block - - db 6 ; warps - warp 8, 0, 0, SILPH_CO_9F - warp 10, 0, 0, SILPH_CO_11F - warp 12, 0, 0, SILPH_CO_ELEVATOR - warp 9, 11, 3, SILPH_CO_4F - warp 13, 15, 5, SILPH_CO_4F - warp 13, 7, 6, SILPH_CO_4F - - db 0 ; signs - - db 6 ; objects - object SPRITE_ROCKET, 1, 9, STAY, RIGHT, 1, OPP_ROCKET, 39 - object SPRITE_OAK_AIDE, 10, 2, STAY, LEFT, 2, OPP_SCIENTIST, 11 - object SPRITE_ERIKA, 9, 15, WALK, 0, 3 ; person - object SPRITE_BALL, 2, 12, STAY, NONE, 4, TM_26 - object SPRITE_BALL, 4, 14, STAY, NONE, 5, RARE_CANDY - object SPRITE_BALL, 5, 11, STAY, NONE, 6, CARBOS - - ; warp-to - warp_to 8, 0, SILPH_CO_10F_WIDTH ; SILPH_CO_9F - warp_to 10, 0, SILPH_CO_10F_WIDTH ; SILPH_CO_11F - warp_to 12, 0, SILPH_CO_10F_WIDTH ; SILPH_CO_ELEVATOR - warp_to 9, 11, SILPH_CO_10F_WIDTH ; SILPH_CO_4F - warp_to 13, 15, SILPH_CO_10F_WIDTH ; SILPH_CO_4F - warp_to 13, 7, SILPH_CO_10F_WIDTH ; SILPH_CO_4F diff --git a/data/mapObjects/SilphCo11F.asm b/data/mapObjects/SilphCo11F.asm deleted file mode 100755 index 7a1dff73..00000000 --- a/data/mapObjects/SilphCo11F.asm +++ /dev/null @@ -1,23 +0,0 @@ -SilphCo11F_Object: - db $d ; border block - - db 4 ; warps - warp 9, 0, 1, SILPH_CO_10F - warp 13, 0, 0, SILPH_CO_ELEVATOR - warp 5, 5, 9, -1 - warp 3, 2, 3, SILPH_CO_7F - - db 0 ; signs - - db 5 ; objects - object SPRITE_MR_MASTERBALL, 7, 5, STAY, DOWN, 1 ; person - object SPRITE_FOULARD_WOMAN, 10, 5, STAY, DOWN, 2 ; person - object SPRITE_GIOVANNI, 6, 9, STAY, DOWN, 3, OPP_GIOVANNI, 2 - object SPRITE_ROCKET, 3, 16, STAY, UP, 4, OPP_ROCKET, 41 - object SPRITE_ROCKET, 15, 9, STAY, UP, 5, OPP_ROCKET, 40 - - ; warp-to - warp_to 9, 0, SILPH_CO_11F_WIDTH ; SILPH_CO_10F - warp_to 13, 0, SILPH_CO_11F_WIDTH ; SILPH_CO_ELEVATOR - warp_to 5, 5, SILPH_CO_11F_WIDTH - warp_to 3, 2, SILPH_CO_11F_WIDTH ; SILPH_CO_7F diff --git a/data/mapObjects/SilphCo1F.asm b/data/mapObjects/SilphCo1F.asm deleted file mode 100755 index fc040091..00000000 --- a/data/mapObjects/SilphCo1F.asm +++ /dev/null @@ -1,21 +0,0 @@ -SilphCo1F_Object: - db $2e ; border block - - db 5 ; warps - warp 10, 17, 5, -1 - warp 11, 17, 5, -1 - warp 26, 0, 0, SILPH_CO_2F - warp 20, 0, 0, SILPH_CO_ELEVATOR - warp 16, 10, 6, SILPH_CO_3F - - db 0 ; signs - - db 1 ; objects - object SPRITE_CABLE_CLUB_WOMAN, 4, 2, STAY, DOWN, 1 ; person - - ; warp-to - warp_to 10, 17, SILPH_CO_1F_WIDTH - warp_to 11, 17, SILPH_CO_1F_WIDTH - warp_to 26, 0, SILPH_CO_1F_WIDTH ; SILPH_CO_2F - warp_to 20, 0, SILPH_CO_1F_WIDTH ; SILPH_CO_ELEVATOR - warp_to 16, 10, SILPH_CO_1F_WIDTH ; SILPH_CO_3F diff --git a/data/mapObjects/SilphCo2F.asm b/data/mapObjects/SilphCo2F.asm deleted file mode 100755 index bc30d78d..00000000 --- a/data/mapObjects/SilphCo2F.asm +++ /dev/null @@ -1,29 +0,0 @@ -SilphCo2F_Object: - db $2e ; border block - - db 7 ; warps - warp 24, 0, 2, SILPH_CO_1F - warp 26, 0, 0, SILPH_CO_3F - warp 20, 0, 0, SILPH_CO_ELEVATOR - warp 3, 3, 6, SILPH_CO_3F - warp 13, 3, 4, SILPH_CO_8F - warp 27, 15, 5, SILPH_CO_8F - warp 9, 15, 4, SILPH_CO_6F - - db 0 ; signs - - db 5 ; objects - object SPRITE_ERIKA, 10, 1, STAY, UP, 1 ; person - object SPRITE_OAK_AIDE, 5, 12, STAY, DOWN, 2, OPP_SCIENTIST, 2 - object SPRITE_OAK_AIDE, 24, 13, STAY, LEFT, 3, OPP_SCIENTIST, 3 - object SPRITE_ROCKET, 16, 11, STAY, UP, 4, OPP_ROCKET, 23 - object SPRITE_ROCKET, 24, 7, STAY, UP, 5, OPP_ROCKET, 24 - - ; warp-to - warp_to 24, 0, SILPH_CO_2F_WIDTH ; SILPH_CO_1F - warp_to 26, 0, SILPH_CO_2F_WIDTH ; SILPH_CO_3F - warp_to 20, 0, SILPH_CO_2F_WIDTH ; SILPH_CO_ELEVATOR - warp_to 3, 3, SILPH_CO_2F_WIDTH ; SILPH_CO_3F - warp_to 13, 3, SILPH_CO_2F_WIDTH ; SILPH_CO_8F - warp_to 27, 15, SILPH_CO_2F_WIDTH ; SILPH_CO_8F - warp_to 9, 15, SILPH_CO_2F_WIDTH ; SILPH_CO_6F diff --git a/data/mapObjects/SilphCo3F.asm b/data/mapObjects/SilphCo3F.asm deleted file mode 100755 index f45cdf81..00000000 --- a/data/mapObjects/SilphCo3F.asm +++ /dev/null @@ -1,34 +0,0 @@ -SilphCo3F_Object: - db $2e ; border block - - db 10 ; warps - warp 26, 0, 1, SILPH_CO_2F - warp 24, 0, 0, SILPH_CO_4F - warp 20, 0, 0, SILPH_CO_ELEVATOR - warp 23, 11, 9, SILPH_CO_3F - warp 3, 3, 5, SILPH_CO_5F - warp 3, 15, 6, SILPH_CO_5F - warp 27, 3, 3, SILPH_CO_2F - warp 3, 11, 3, SILPH_CO_9F - warp 11, 11, 4, SILPH_CO_7F - warp 27, 15, 3, SILPH_CO_3F - - db 0 ; signs - - db 4 ; objects - object SPRITE_LAPRAS_GIVER, 24, 8, STAY, NONE, 1 ; person - object SPRITE_ROCKET, 20, 7, STAY, LEFT, 2, OPP_ROCKET, 25 - object SPRITE_OAK_AIDE, 7, 9, STAY, DOWN, 3, OPP_SCIENTIST, 4 - object SPRITE_BALL, 8, 5, STAY, NONE, 4, HYPER_POTION - - ; warp-to - warp_to 26, 0, SILPH_CO_3F_WIDTH ; SILPH_CO_2F - warp_to 24, 0, SILPH_CO_3F_WIDTH ; SILPH_CO_4F - warp_to 20, 0, SILPH_CO_3F_WIDTH ; SILPH_CO_ELEVATOR - warp_to 23, 11, SILPH_CO_3F_WIDTH ; SILPH_CO_3F - warp_to 3, 3, SILPH_CO_3F_WIDTH ; SILPH_CO_5F - warp_to 3, 15, SILPH_CO_3F_WIDTH ; SILPH_CO_5F - warp_to 27, 3, SILPH_CO_3F_WIDTH ; SILPH_CO_2F - warp_to 3, 11, SILPH_CO_3F_WIDTH ; SILPH_CO_9F - warp_to 11, 11, SILPH_CO_3F_WIDTH ; SILPH_CO_7F - warp_to 27, 15, SILPH_CO_3F_WIDTH ; SILPH_CO_3F diff --git a/data/mapObjects/SilphCo4F.asm b/data/mapObjects/SilphCo4F.asm deleted file mode 100755 index 3d865bbc..00000000 --- a/data/mapObjects/SilphCo4F.asm +++ /dev/null @@ -1,31 +0,0 @@ -SilphCo4F_Object: - db $2e ; border block - - db 7 ; warps - warp 24, 0, 1, SILPH_CO_3F - warp 26, 0, 1, SILPH_CO_5F - warp 20, 0, 0, SILPH_CO_ELEVATOR - warp 11, 7, 3, SILPH_CO_10F - warp 17, 3, 3, SILPH_CO_6F - warp 3, 15, 4, SILPH_CO_10F - warp 17, 11, 5, SILPH_CO_10F - - db 0 ; signs - - db 7 ; objects - object SPRITE_LAPRAS_GIVER, 6, 2, STAY, NONE, 1 ; person - object SPRITE_ROCKET, 9, 14, STAY, RIGHT, 2, OPP_ROCKET, 26 - object SPRITE_OAK_AIDE, 14, 6, STAY, LEFT, 3, OPP_SCIENTIST, 5 - object SPRITE_ROCKET, 26, 10, STAY, UP, 4, OPP_ROCKET, 27 - object SPRITE_BALL, 3, 9, STAY, NONE, 5, FULL_HEAL - object SPRITE_BALL, 4, 7, STAY, NONE, 6, MAX_REVIVE - object SPRITE_BALL, 5, 8, STAY, NONE, 7, ESCAPE_ROPE - - ; warp-to - warp_to 24, 0, SILPH_CO_4F_WIDTH ; SILPH_CO_3F - warp_to 26, 0, SILPH_CO_4F_WIDTH ; SILPH_CO_5F - warp_to 20, 0, SILPH_CO_4F_WIDTH ; SILPH_CO_ELEVATOR - warp_to 11, 7, SILPH_CO_4F_WIDTH ; SILPH_CO_10F - warp_to 17, 3, SILPH_CO_4F_WIDTH ; SILPH_CO_6F - warp_to 3, 15, SILPH_CO_4F_WIDTH ; SILPH_CO_10F - warp_to 17, 11, SILPH_CO_4F_WIDTH ; SILPH_CO_10F diff --git a/data/mapObjects/SilphCo5F.asm b/data/mapObjects/SilphCo5F.asm deleted file mode 100755 index c10f17c8..00000000 --- a/data/mapObjects/SilphCo5F.asm +++ /dev/null @@ -1,35 +0,0 @@ -SilphCo5F_Object: - db $2e ; border block - - db 7 ; warps - warp 24, 0, 1, SILPH_CO_6F - warp 26, 0, 1, SILPH_CO_4F - warp 20, 0, 0, SILPH_CO_ELEVATOR - warp 27, 3, 5, SILPH_CO_7F - warp 9, 15, 4, SILPH_CO_9F - warp 11, 5, 4, SILPH_CO_3F - warp 3, 15, 5, SILPH_CO_3F - - db 0 ; signs - - db 11 ; objects - object SPRITE_LAPRAS_GIVER, 13, 9, STAY, NONE, 1 ; person - object SPRITE_ROCKET, 8, 16, STAY, RIGHT, 2, OPP_ROCKET, 28 - object SPRITE_OAK_AIDE, 8, 3, STAY, RIGHT, 3, OPP_SCIENTIST, 6 - object SPRITE_ROCKER, 18, 10, STAY, UP, 4, OPP_JUGGLER, 1 - object SPRITE_ROCKET, 28, 4, STAY, UP, 5, OPP_ROCKET, 29 - object SPRITE_BALL, 2, 13, STAY, NONE, 6, TM_09 - object SPRITE_BALL, 4, 6, STAY, NONE, 7, PROTEIN - object SPRITE_BALL, 21, 16, STAY, NONE, 8, CARD_KEY - object SPRITE_CLIPBOARD, 22, 12, STAY, NONE, 9 ; person - object SPRITE_CLIPBOARD, 25, 10, STAY, NONE, 10 ; person - object SPRITE_CLIPBOARD, 24, 6, STAY, NONE, 11 ; person - - ; warp-to - warp_to 24, 0, SILPH_CO_5F_WIDTH ; SILPH_CO_6F - warp_to 26, 0, SILPH_CO_5F_WIDTH ; SILPH_CO_4F - warp_to 20, 0, SILPH_CO_5F_WIDTH ; SILPH_CO_ELEVATOR - warp_to 27, 3, SILPH_CO_5F_WIDTH ; SILPH_CO_7F - warp_to 9, 15, SILPH_CO_5F_WIDTH ; SILPH_CO_9F - warp_to 11, 5, SILPH_CO_5F_WIDTH ; SILPH_CO_3F - warp_to 3, 15, SILPH_CO_5F_WIDTH ; SILPH_CO_3F diff --git a/data/mapObjects/SilphCo6F.asm b/data/mapObjects/SilphCo6F.asm deleted file mode 100755 index ad2ac32f..00000000 --- a/data/mapObjects/SilphCo6F.asm +++ /dev/null @@ -1,30 +0,0 @@ -SilphCo6F_Object: - db $2e ; border block - - db 5 ; warps - warp 16, 0, 1, SILPH_CO_7F - warp 14, 0, 0, SILPH_CO_5F - warp 18, 0, 0, SILPH_CO_ELEVATOR - warp 3, 3, 4, SILPH_CO_4F - warp 23, 3, 6, SILPH_CO_2F - - db 0 ; signs - - db 10 ; objects - object SPRITE_LAPRAS_GIVER, 10, 6, STAY, NONE, 1 ; person - object SPRITE_LAPRAS_GIVER, 20, 6, STAY, NONE, 2 ; person - object SPRITE_ERIKA, 21, 6, STAY, DOWN, 3 ; person - object SPRITE_ERIKA, 11, 10, STAY, RIGHT, 4 ; person - object SPRITE_LAPRAS_GIVER, 18, 13, STAY, UP, 5 ; person - object SPRITE_ROCKET, 17, 3, STAY, RIGHT, 6, OPP_ROCKET, 30 - object SPRITE_OAK_AIDE, 7, 8, STAY, DOWN, 7, OPP_SCIENTIST, 7 - object SPRITE_ROCKET, 14, 15, STAY, LEFT, 8, OPP_ROCKET, 31 - object SPRITE_BALL, 3, 12, STAY, NONE, 9, HP_UP - object SPRITE_BALL, 2, 15, STAY, NONE, 10, X_ACCURACY - - ; warp-to - warp_to 16, 0, SILPH_CO_6F_WIDTH ; SILPH_CO_7F - warp_to 14, 0, SILPH_CO_6F_WIDTH ; SILPH_CO_5F - warp_to 18, 0, SILPH_CO_6F_WIDTH ; SILPH_CO_ELEVATOR - warp_to 3, 3, SILPH_CO_6F_WIDTH ; SILPH_CO_4F - warp_to 23, 3, SILPH_CO_6F_WIDTH ; SILPH_CO_2F diff --git a/data/mapObjects/SilphCo7F.asm b/data/mapObjects/SilphCo7F.asm deleted file mode 100755 index 255f4b33..00000000 --- a/data/mapObjects/SilphCo7F.asm +++ /dev/null @@ -1,33 +0,0 @@ -SilphCo7F_Object: - db $2e ; border block - - db 6 ; warps - warp 16, 0, 1, SILPH_CO_8F - warp 22, 0, 0, SILPH_CO_6F - warp 18, 0, 0, SILPH_CO_ELEVATOR - warp 5, 7, 3, SILPH_CO_11F - warp 5, 3, 8, SILPH_CO_3F - warp 21, 15, 3, SILPH_CO_5F - - db 0 ; signs - - db 11 ; objects - object SPRITE_LAPRAS_GIVER, 1, 5, STAY, NONE, 1 ; person - object SPRITE_LAPRAS_GIVER, 13, 13, STAY, UP, 2 ; person - object SPRITE_LAPRAS_GIVER, 7, 10, STAY, NONE, 3 ; person - object SPRITE_ERIKA, 10, 8, STAY, NONE, 4 ; person - object SPRITE_ROCKET, 13, 1, STAY, DOWN, 5, OPP_ROCKET, 32 - object SPRITE_OAK_AIDE, 2, 13, STAY, DOWN, 6, OPP_SCIENTIST, 8 - object SPRITE_ROCKET, 20, 2, STAY, LEFT, 7, OPP_ROCKET, 33 - object SPRITE_ROCKET, 19, 14, STAY, RIGHT, 8, OPP_ROCKET, 34 - object SPRITE_BLUE, 3, 7, STAY, UP, 9 ; person - object SPRITE_BALL, 1, 9, STAY, NONE, 10, CALCIUM - object SPRITE_BALL, 24, 11, STAY, NONE, 11, TM_03 - - ; warp-to - warp_to 16, 0, SILPH_CO_7F_WIDTH ; SILPH_CO_8F - warp_to 22, 0, SILPH_CO_7F_WIDTH ; SILPH_CO_6F - warp_to 18, 0, SILPH_CO_7F_WIDTH ; SILPH_CO_ELEVATOR - warp_to 5, 7, SILPH_CO_7F_WIDTH ; SILPH_CO_11F - warp_to 5, 3, SILPH_CO_7F_WIDTH ; SILPH_CO_3F - warp_to 21, 15, SILPH_CO_7F_WIDTH ; SILPH_CO_5F diff --git a/data/mapObjects/SilphCo8F.asm b/data/mapObjects/SilphCo8F.asm deleted file mode 100755 index d05c7844..00000000 --- a/data/mapObjects/SilphCo8F.asm +++ /dev/null @@ -1,28 +0,0 @@ -SilphCo8F_Object: - db $2e ; border block - - db 7 ; warps - warp 16, 0, 1, SILPH_CO_9F - warp 14, 0, 0, SILPH_CO_7F - warp 18, 0, 0, SILPH_CO_ELEVATOR - warp 3, 11, 6, SILPH_CO_8F - warp 3, 15, 4, SILPH_CO_2F - warp 11, 5, 5, SILPH_CO_2F - warp 11, 9, 3, SILPH_CO_8F - - db 0 ; signs - - db 4 ; objects - object SPRITE_LAPRAS_GIVER, 4, 2, STAY, NONE, 1 ; person - object SPRITE_ROCKET, 19, 2, STAY, LEFT, 2, OPP_ROCKET, 35 - object SPRITE_OAK_AIDE, 10, 2, STAY, DOWN, 3, OPP_SCIENTIST, 9 - object SPRITE_ROCKET, 12, 15, STAY, RIGHT, 4, OPP_ROCKET, 36 - - ; warp-to - warp_to 16, 0, SILPH_CO_8F_WIDTH ; SILPH_CO_9F - warp_to 14, 0, SILPH_CO_8F_WIDTH ; SILPH_CO_7F - warp_to 18, 0, SILPH_CO_8F_WIDTH ; SILPH_CO_ELEVATOR - warp_to 3, 11, SILPH_CO_8F_WIDTH ; SILPH_CO_8F - warp_to 3, 15, SILPH_CO_8F_WIDTH ; SILPH_CO_2F - warp_to 11, 5, SILPH_CO_8F_WIDTH ; SILPH_CO_2F - warp_to 11, 9, SILPH_CO_8F_WIDTH ; SILPH_CO_8F_WIDTH diff --git a/data/mapObjects/SilphCo9F.asm b/data/mapObjects/SilphCo9F.asm deleted file mode 100755 index 28ef5f10..00000000 --- a/data/mapObjects/SilphCo9F.asm +++ /dev/null @@ -1,24 +0,0 @@ -SilphCo9F_Object: - db $2e ; border block - - db 5 ; warps - warp 14, 0, 0, SILPH_CO_10F - warp 16, 0, 0, SILPH_CO_8F - warp 18, 0, 0, SILPH_CO_ELEVATOR - warp 9, 3, 7, SILPH_CO_3F - warp 17, 15, 4, SILPH_CO_5F - - db 0 ; signs - - db 4 ; objects - object SPRITE_NURSE, 3, 14, STAY, DOWN, 1 ; person - object SPRITE_ROCKET, 2, 4, STAY, UP, 2, OPP_ROCKET, 37 - object SPRITE_OAK_AIDE, 21, 13, STAY, DOWN, 3, OPP_SCIENTIST, 10 - object SPRITE_ROCKET, 13, 16, STAY, UP, 4, OPP_ROCKET, 38 - - ; warp-to - warp_to 14, 0, SILPH_CO_9F_WIDTH ; SILPH_CO_10F - warp_to 16, 0, SILPH_CO_9F_WIDTH ; SILPH_CO_8F - warp_to 18, 0, SILPH_CO_9F_WIDTH ; SILPH_CO_ELEVATOR - warp_to 9, 3, SILPH_CO_9F_WIDTH ; SILPH_CO_3F - warp_to 17, 15, SILPH_CO_9F_WIDTH ; SILPH_CO_5F diff --git a/data/mapObjects/SilphCoElevator.asm b/data/mapObjects/SilphCoElevator.asm deleted file mode 100755 index 9c4b5a79..00000000 --- a/data/mapObjects/SilphCoElevator.asm +++ /dev/null @@ -1,15 +0,0 @@ -SilphCoElevator_Object: - db $f ; border block - - db 2 ; warps - warp 1, 3, 0, 237 - warp 2, 3, 0, 237 - - db 1 ; signs - sign 3, 0, 1 ; SilphCoElevatorText1 - - db 0 ; objects - - ; warp-to - warp_to 1, 3, SILPH_CO_ELEVATOR_WIDTH - warp_to 2, 3, SILPH_CO_ELEVATOR_WIDTH diff --git a/data/mapObjects/TradeCenter.asm b/data/mapObjects/TradeCenter.asm deleted file mode 100755 index e6df8087..00000000 --- a/data/mapObjects/TradeCenter.asm +++ /dev/null @@ -1,9 +0,0 @@ -TradeCenter_Object: - db $e ; border block - - db 0 ; warps - - db 0 ; signs - - db 1 ; objects - object SPRITE_RED, 2, 2, STAY, 0, 1 ; person diff --git a/data/mapObjects/UndergroundPathNorthSouth.asm b/data/mapObjects/UndergroundPathNorthSouth.asm deleted file mode 100755 index 35e21cca..00000000 --- a/data/mapObjects/UndergroundPathNorthSouth.asm +++ /dev/null @@ -1,14 +0,0 @@ -UndergroundPathNorthSouth_Object: - db $1 ; border block - - db 2 ; warps - warp 5, 4, 2, UNDERGROUND_PATH_ROUTE_5 - warp 2, 41, 2, UNDERGROUND_PATH_ROUTE_6 - - db 0 ; signs - - db 0 ; objects - - ; warp-to - warp_to 5, 4, UNDERGROUND_PATH_NORTH_SOUTH_WIDTH ; UNDERGROUND_PATH_ROUTE_5 - warp_to 2, 41, UNDERGROUND_PATH_NORTH_SOUTH_WIDTH ; UNDERGROUND_PATH_ROUTE_6 diff --git a/data/mapObjects/UndergroundPathRoute5.asm b/data/mapObjects/UndergroundPathRoute5.asm deleted file mode 100755 index af71ebb4..00000000 --- a/data/mapObjects/UndergroundPathRoute5.asm +++ /dev/null @@ -1,17 +0,0 @@ -UndergroundPathRoute5_Object: - db $a ; border block - - db 3 ; warps - warp 3, 7, 3, -1 - warp 4, 7, 3, -1 - warp 4, 4, 0, UNDERGROUND_PATH_NORTH_SOUTH - - db 0 ; signs - - db 1 ; objects - object SPRITE_LITTLE_GIRL, 2, 3, STAY, NONE, 1 ; person - - ; warp-to - warp_to 3, 7, UNDERGROUND_PATH_ROUTE_5_WIDTH - warp_to 4, 7, UNDERGROUND_PATH_ROUTE_5_WIDTH - warp_to 4, 4, UNDERGROUND_PATH_ROUTE_5_WIDTH ; UNDERGROUND_PATH_NORTH_SOUTH diff --git a/data/mapObjects/UndergroundPathRoute6.asm b/data/mapObjects/UndergroundPathRoute6.asm deleted file mode 100755 index 5a40ade2..00000000 --- a/data/mapObjects/UndergroundPathRoute6.asm +++ /dev/null @@ -1,17 +0,0 @@ -UndergroundPathRoute6_Object: - db $a ; border block - - db 3 ; warps - warp 3, 7, 3, -1 - warp 4, 7, 3, -1 - warp 4, 4, 1, UNDERGROUND_PATH_NORTH_SOUTH - - db 0 ; signs - - db 1 ; objects - object SPRITE_GIRL, 2, 3, STAY, NONE, 1 ; person - - ; warp-to - warp_to 3, 7, UNDERGROUND_PATH_ROUTE_6_WIDTH - warp_to 4, 7, UNDERGROUND_PATH_ROUTE_6_WIDTH - warp_to 4, 4, UNDERGROUND_PATH_ROUTE_6_WIDTH ; UNDERGROUND_PATH_NORTH_SOUTH diff --git a/data/mapObjects/UndergroundPathRoute7.asm b/data/mapObjects/UndergroundPathRoute7.asm deleted file mode 100755 index 4666e0c9..00000000 --- a/data/mapObjects/UndergroundPathRoute7.asm +++ /dev/null @@ -1,17 +0,0 @@ -UndergroundPathRoute7_Object: - db $a ; border block - - db 3 ; warps - warp 3, 7, 4, -1 - warp 4, 7, 4, -1 - warp 4, 4, 0, UNDERGROUND_PATH_WEST_EAST - - db 0 ; signs - - db 1 ; objects - object SPRITE_FAT_BALD_GUY, 2, 4, STAY, NONE, 1 ; person - - ; warp-to - warp_to 3, 7, UNDERGROUND_PATH_ROUTE_7_WIDTH - warp_to 4, 7, UNDERGROUND_PATH_ROUTE_7_WIDTH - warp_to 4, 4, UNDERGROUND_PATH_ROUTE_7_WIDTH ; UNDERGROUND_PATH_WEST_EAST diff --git a/data/mapObjects/UndergroundPathRoute7Copy.asm b/data/mapObjects/UndergroundPathRoute7Copy.asm deleted file mode 100755 index c020646e..00000000 --- a/data/mapObjects/UndergroundPathRoute7Copy.asm +++ /dev/null @@ -1,18 +0,0 @@ -UndergroundPathRoute7Copy_Object: - db $a ; border block - - db 3 ; warps - warp 3, 7, 5, -1 - warp 4, 7, 5, -1 - warp 4, 4, 0, UNDERGROUND_PATH_WEST_EAST - - db 0 ; signs - - db 2 ; objects - object SPRITE_GIRL, 3, 2, STAY, NONE, 1 ; person - object SPRITE_FAT_BALD_GUY, 2, 4, STAY, NONE, 2 ; person - - ; warp-to - warp_to 3, 7, UNDERGROUND_PATH_ROUTE_7_COPY_WIDTH - warp_to 4, 7, UNDERGROUND_PATH_ROUTE_7_COPY_WIDTH - warp_to 4, 4, UNDERGROUND_PATH_ROUTE_7_COPY_WIDTH ; UNDERGROUND_PATH_WEST_EAST diff --git a/data/mapObjects/UndergroundPathRoute8.asm b/data/mapObjects/UndergroundPathRoute8.asm deleted file mode 100755 index 8be0d474..00000000 --- a/data/mapObjects/UndergroundPathRoute8.asm +++ /dev/null @@ -1,17 +0,0 @@ -UndergroundPathRoute8_Object: - db $a ; border block - - db 3 ; warps - warp 3, 7, 4, -1 - warp 4, 7, 4, -1 - warp 4, 4, 1, UNDERGROUND_PATH_WEST_EAST - - db 0 ; signs - - db 1 ; objects - object SPRITE_GIRL, 3, 4, STAY, NONE, 1 ; person - - ; warp-to - warp_to 3, 7, UNDERGROUND_PATH_ROUTE_8_WIDTH - warp_to 4, 7, UNDERGROUND_PATH_ROUTE_8_WIDTH - warp_to 4, 4, UNDERGROUND_PATH_ROUTE_8_WIDTH ; UNDERGROUND_PATH_WEST_EAST diff --git a/data/mapObjects/UndergroundPathWestEast.asm b/data/mapObjects/UndergroundPathWestEast.asm deleted file mode 100755 index fa064aca..00000000 --- a/data/mapObjects/UndergroundPathWestEast.asm +++ /dev/null @@ -1,14 +0,0 @@ -UndergroundPathWestEast_Object: - db $1 ; border block - - db 2 ; warps - warp 2, 5, 2, UNDERGROUND_PATH_ROUTE_7 - warp 47, 2, 2, UNDERGROUND_PATH_ROUTE_8 - - db 0 ; signs - - db 0 ; objects - - ; warp-to - warp_to 2, 5, UNDERGROUND_PATH_WEST_EAST_WIDTH ; UNDERGROUND_PATH_ROUTE_7 - warp_to 47, 2, UNDERGROUND_PATH_WEST_EAST_WIDTH ; UNDERGROUND_PATH_ROUTE_8 diff --git a/data/mapObjects/VermilionCity.asm b/data/mapObjects/VermilionCity.asm deleted file mode 100755 index b1e1a005..00000000 --- a/data/mapObjects/VermilionCity.asm +++ /dev/null @@ -1,41 +0,0 @@ -VermilionCity_Object: - db $43 ; border block - - db 9 ; warps - warp 11, 3, 0, VERMILION_POKECENTER - warp 9, 13, 0, POKEMON_FAN_CLUB - warp 23, 13, 0, VERMILION_MART - warp 12, 19, 0, VERMILION_GYM - warp 23, 19, 0, VERMILION_PIDGEY_HOUSE - warp 18, 31, 0, VERMILION_DOCK - warp 19, 31, 0, VERMILION_DOCK - warp 15, 13, 0, VERMILION_TRADE_HOUSE - warp 7, 3, 0, VERMILION_OLD_ROD_HOUSE - - db 7 ; signs - sign 27, 3, 7 ; VermilionCityText7 - sign 37, 13, 8 ; VermilionCityText8 - sign 24, 13, 9 ; MartSignText - sign 12, 3, 10 ; PokeCenterSignText - sign 7, 13, 11 ; VermilionCityText11 - sign 7, 19, 12 ; VermilionCityText12 - sign 29, 15, 13 ; VermilionCityText13 - - db 6 ; objects - object SPRITE_FOULARD_WOMAN, 19, 7, WALK, 2, 1 ; person - object SPRITE_GAMBLER, 14, 6, STAY, NONE, 2 ; person - object SPRITE_SAILOR, 19, 30, STAY, UP, 3 ; person - object SPRITE_GAMBLER, 30, 7, STAY, NONE, 4 ; person - object SPRITE_SLOWBRO, 29, 9, WALK, 1, 5 ; person - object SPRITE_SAILOR, 25, 27, WALK, 2, 6 ; person - - ; warp-to - warp_to 11, 3, VERMILION_CITY_WIDTH ; VERMILION_POKECENTER - warp_to 9, 13, VERMILION_CITY_WIDTH ; POKEMON_FAN_CLUB - warp_to 23, 13, VERMILION_CITY_WIDTH ; VERMILION_MART - warp_to 12, 19, VERMILION_CITY_WIDTH ; VERMILION_GYM - warp_to 23, 19, VERMILION_CITY_WIDTH ; VERMILION_PIDGEY_HOUSE - warp_to 18, 31, VERMILION_CITY_WIDTH ; VERMILION_DOCK - warp_to 19, 31, VERMILION_CITY_WIDTH ; VERMILION_DOCK - warp_to 15, 13, VERMILION_CITY_WIDTH ; VERMILION_TRADE_HOUSE - warp_to 7, 3, VERMILION_CITY_WIDTH ; VERMILION_OLD_ROD_HOUSE diff --git a/data/mapObjects/VermilionDock.asm b/data/mapObjects/VermilionDock.asm deleted file mode 100755 index 6f07554a..00000000 --- a/data/mapObjects/VermilionDock.asm +++ /dev/null @@ -1,14 +0,0 @@ -VermilionDock_Object: - db $f ; border block - - db 2 ; warps - warp 14, 0, 5, -1 - warp 14, 2, 1, SS_ANNE_1F - - db 0 ; signs - - db 0 ; objects - - ; warp-to - warp_to 14, 0, VERMILION_DOCK_WIDTH - warp_to 14, 2, VERMILION_DOCK_WIDTH ; SS_ANNE_1F diff --git a/data/mapObjects/VermilionGym.asm b/data/mapObjects/VermilionGym.asm deleted file mode 100755 index 4ace83be..00000000 --- a/data/mapObjects/VermilionGym.asm +++ /dev/null @@ -1,19 +0,0 @@ -VermilionGym_Object: - db $3 ; border block - - db 2 ; warps - warp 4, 17, 3, -1 - warp 5, 17, 3, -1 - - db 0 ; signs - - db 5 ; objects - object SPRITE_ROCKER, 5, 1, STAY, DOWN, 1, OPP_LT_SURGE, 1 - object SPRITE_GENTLEMAN, 9, 6, STAY, LEFT, 2, OPP_GENTLEMAN, 3 - object SPRITE_BLACK_HAIR_BOY_2, 3, 8, STAY, LEFT, 3, OPP_ROCKER, 1 - object SPRITE_SAILOR, 0, 10, STAY, RIGHT, 4, OPP_SAILOR, 8 - object SPRITE_GYM_HELPER, 4, 14, STAY, DOWN, 5 ; person - - ; warp-to - warp_to 4, 17, VERMILION_GYM_WIDTH - warp_to 5, 17, VERMILION_GYM_WIDTH diff --git a/data/mapObjects/VermilionMart.asm b/data/mapObjects/VermilionMart.asm deleted file mode 100755 index 74bcf35f..00000000 --- a/data/mapObjects/VermilionMart.asm +++ /dev/null @@ -1,17 +0,0 @@ -VermilionMart_Object: - db $0 ; border block - - db 2 ; warps - warp 3, 7, 2, -1 - warp 4, 7, 2, -1 - - db 0 ; signs - - db 3 ; objects - object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person - object SPRITE_BLACK_HAIR_BOY_1, 5, 6, STAY, NONE, 2 ; person - object SPRITE_LASS, 3, 3, WALK, 2, 3 ; person - - ; warp-to - warp_to 3, 7, VERMILION_MART_WIDTH - warp_to 4, 7, VERMILION_MART_WIDTH diff --git a/data/mapObjects/VermilionOldRodHouse.asm b/data/mapObjects/VermilionOldRodHouse.asm deleted file mode 100755 index f5b4b96a..00000000 --- a/data/mapObjects/VermilionOldRodHouse.asm +++ /dev/null @@ -1,15 +0,0 @@ -VermilionOldRodHouse_Object: - db $a ; border block - - db 2 ; warps - warp 2, 7, 8, -1 - warp 3, 7, 8, -1 - - db 0 ; signs - - db 1 ; objects - object SPRITE_FISHER, 2, 4, STAY, RIGHT, 1 ; person - - ; warp-to - warp_to 2, 7, VERMILION_OLD_ROD_HOUSE_WIDTH - warp_to 3, 7, VERMILION_OLD_ROD_HOUSE_WIDTH diff --git a/data/mapObjects/VermilionPidgeyHouse.asm b/data/mapObjects/VermilionPidgeyHouse.asm deleted file mode 100755 index 0e820f86..00000000 --- a/data/mapObjects/VermilionPidgeyHouse.asm +++ /dev/null @@ -1,17 +0,0 @@ -VermilionPidgeyHouse_Object: - db $a ; border block - - db 2 ; warps - warp 2, 7, 4, -1 - warp 3, 7, 4, -1 - - db 0 ; signs - - db 3 ; objects - object SPRITE_BUG_CATCHER, 5, 3, STAY, LEFT, 1 ; person - object SPRITE_BIRD, 3, 5, WALK, 2, 2 ; person - object SPRITE_PAPER_SHEET, 4, 3, STAY, NONE, 3 ; person - - ; warp-to - warp_to 2, 7, VERMILION_PIDGEY_HOUSE_WIDTH - warp_to 3, 7, VERMILION_PIDGEY_HOUSE_WIDTH diff --git a/data/mapObjects/VermilionPokecenter.asm b/data/mapObjects/VermilionPokecenter.asm deleted file mode 100755 index d2142045..00000000 --- a/data/mapObjects/VermilionPokecenter.asm +++ /dev/null @@ -1,18 +0,0 @@ -VermilionPokecenter_Object: - db $0 ; border block - - db 2 ; warps - warp 3, 7, 0, -1 - warp 4, 7, 0, -1 - - db 0 ; signs - - db 4 ; objects - object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person - object SPRITE_FISHER, 10, 5, STAY, NONE, 2 ; person - object SPRITE_SAILOR, 5, 4, STAY, NONE, 3 ; person - object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person - - ; warp-to - warp_to 3, 7, VERMILION_POKECENTER_WIDTH - warp_to 4, 7, VERMILION_POKECENTER_WIDTH diff --git a/data/mapObjects/VermilionTradeHouse.asm b/data/mapObjects/VermilionTradeHouse.asm deleted file mode 100755 index 30212b2a..00000000 --- a/data/mapObjects/VermilionTradeHouse.asm +++ /dev/null @@ -1,15 +0,0 @@ -VermilionTradeHouse_Object: - db $a ; border block - - db 2 ; warps - warp 2, 7, 7, -1 - warp 3, 7, 7, -1 - - db 0 ; signs - - db 1 ; objects - object SPRITE_LITTLE_GIRL, 3, 5, STAY, UP, 1 ; person - - ; warp-to - warp_to 2, 7, VERMILION_TRADE_HOUSE_WIDTH - warp_to 3, 7, VERMILION_TRADE_HOUSE_WIDTH diff --git a/data/mapObjects/VictoryRoad1F.asm b/data/mapObjects/VictoryRoad1F.asm deleted file mode 100755 index cc0c47ce..00000000 --- a/data/mapObjects/VictoryRoad1F.asm +++ /dev/null @@ -1,23 +0,0 @@ -VictoryRoad1F_Object: - db $7d ; border block - - db 3 ; warps - warp 8, 17, 2, -1 - warp 9, 17, 2, -1 - warp 1, 1, 0, VICTORY_ROAD_2F - - db 0 ; signs - - db 7 ; objects - object SPRITE_LASS, 7, 5, STAY, RIGHT, 1, OPP_COOLTRAINER_F, 5 - object SPRITE_BLACK_HAIR_BOY_1, 3, 2, STAY, DOWN, 2, OPP_COOLTRAINER_M, 5 - object SPRITE_BALL, 11, 0, STAY, NONE, 3, TM_43 - object SPRITE_BALL, 9, 2, STAY, NONE, 4, RARE_CANDY - object SPRITE_BOULDER, 5, 15, STAY, BOULDER_MOVEMENT_BYTE_2, 5 ; person - object SPRITE_BOULDER, 14, 2, STAY, BOULDER_MOVEMENT_BYTE_2, 6 ; person - object SPRITE_BOULDER, 2, 10, STAY, BOULDER_MOVEMENT_BYTE_2, 7 ; person - - ; warp-to - warp_to 8, 17, VICTORY_ROAD_1F_WIDTH - warp_to 9, 17, VICTORY_ROAD_1F_WIDTH - warp_to 1, 1, VICTORY_ROAD_1F_WIDTH ; VICTORY_ROAD_2F diff --git a/data/mapObjects/VictoryRoad2F.asm b/data/mapObjects/VictoryRoad2F.asm deleted file mode 100755 index 55559bca..00000000 --- a/data/mapObjects/VictoryRoad2F.asm +++ /dev/null @@ -1,37 +0,0 @@ -VictoryRoad2F_Object: - db $7d ; border block - - db 7 ; warps - warp 0, 8, 2, VICTORY_ROAD_1F - warp 29, 7, 3, -1 - warp 29, 8, 3, -1 - warp 23, 7, 0, VICTORY_ROAD_3F - warp 25, 14, 2, VICTORY_ROAD_3F - warp 27, 7, 1, VICTORY_ROAD_3F - warp 1, 1, 3, VICTORY_ROAD_3F - - db 0 ; signs - - db 13 ; objects - object SPRITE_HIKER, 12, 9, STAY, LEFT, 1, OPP_BLACKBELT, 9 - object SPRITE_BLACK_HAIR_BOY_2, 21, 13, STAY, LEFT, 2, OPP_JUGGLER, 2 - object SPRITE_BLACK_HAIR_BOY_1, 19, 8, STAY, DOWN, 3, OPP_TAMER, 5 - object SPRITE_BLACK_HAIR_BOY_2, 4, 2, STAY, DOWN, 4, OPP_POKEMANIAC, 6 - object SPRITE_BLACK_HAIR_BOY_2, 26, 3, STAY, LEFT, 5, OPP_JUGGLER, 5 - object SPRITE_BIRD, 11, 5, STAY, UP, 6, MOLTRES, 50 - object SPRITE_BALL, 27, 5, STAY, NONE, 7, TM_17 - object SPRITE_BALL, 18, 9, STAY, NONE, 8, FULL_HEAL - object SPRITE_BALL, 9, 11, STAY, NONE, 9, TM_05 - object SPRITE_BALL, 11, 0, STAY, NONE, 10, GUARD_SPEC - object SPRITE_BOULDER, 4, 14, STAY, BOULDER_MOVEMENT_BYTE_2, 11 ; person - object SPRITE_BOULDER, 5, 5, STAY, BOULDER_MOVEMENT_BYTE_2, 12 ; person - object SPRITE_BOULDER, 23, 16, STAY, BOULDER_MOVEMENT_BYTE_2, 13 ; person - - ; warp-to - warp_to 0, 8, VICTORY_ROAD_2F_WIDTH ; VICTORY_ROAD_1F - warp_to 29, 7, VICTORY_ROAD_2F_WIDTH - warp_to 29, 8, VICTORY_ROAD_2F_WIDTH - warp_to 23, 7, VICTORY_ROAD_2F_WIDTH ; VICTORY_ROAD_3F - warp_to 25, 14, VICTORY_ROAD_2F_WIDTH ; VICTORY_ROAD_3F - warp_to 27, 7, VICTORY_ROAD_2F_WIDTH ; VICTORY_ROAD_3F - warp_to 1, 1, VICTORY_ROAD_2F_WIDTH ; VICTORY_ROAD_3F diff --git a/data/mapObjects/VictoryRoad3F.asm b/data/mapObjects/VictoryRoad3F.asm deleted file mode 100755 index 2eb42417..00000000 --- a/data/mapObjects/VictoryRoad3F.asm +++ /dev/null @@ -1,28 +0,0 @@ -VictoryRoad3F_Object: - db $7d ; border block - - db 4 ; warps - warp 23, 7, 3, VICTORY_ROAD_2F - warp 26, 8, 5, VICTORY_ROAD_2F - warp 27, 15, 4, VICTORY_ROAD_2F - warp 2, 0, 6, VICTORY_ROAD_2F - - db 0 ; signs - - db 10 ; objects - object SPRITE_BLACK_HAIR_BOY_1, 28, 5, STAY, LEFT, 1, OPP_COOLTRAINER_M, 2 - object SPRITE_LASS, 7, 13, STAY, RIGHT, 2, OPP_COOLTRAINER_F, 2 - object SPRITE_BLACK_HAIR_BOY_1, 6, 14, STAY, LEFT, 3, OPP_COOLTRAINER_M, 3 - object SPRITE_LASS, 13, 3, STAY, RIGHT, 4, OPP_COOLTRAINER_F, 3 - object SPRITE_BALL, 26, 5, STAY, NONE, 5, MAX_REVIVE - object SPRITE_BALL, 7, 7, STAY, NONE, 6, TM_47 - object SPRITE_BOULDER, 22, 3, STAY, BOULDER_MOVEMENT_BYTE_2, 7 ; person - object SPRITE_BOULDER, 13, 12, STAY, BOULDER_MOVEMENT_BYTE_2, 8 ; person - object SPRITE_BOULDER, 24, 10, STAY, BOULDER_MOVEMENT_BYTE_2, 9 ; person - object SPRITE_BOULDER, 22, 15, STAY, BOULDER_MOVEMENT_BYTE_2, 10 ; person - - ; warp-to - warp_to 23, 7, VICTORY_ROAD_3F_WIDTH ; VICTORY_ROAD_2F - warp_to 26, 8, VICTORY_ROAD_3F_WIDTH ; VICTORY_ROAD_2F - warp_to 27, 15, VICTORY_ROAD_3F_WIDTH ; VICTORY_ROAD_2F - warp_to 2, 0, VICTORY_ROAD_3F_WIDTH ; VICTORY_ROAD_2F diff --git a/data/mapObjects/ViridianCity.asm b/data/mapObjects/ViridianCity.asm deleted file mode 100755 index 32fe8d3a..00000000 --- a/data/mapObjects/ViridianCity.asm +++ /dev/null @@ -1,33 +0,0 @@ -ViridianCity_Object: - db $f ; border block - - db 5 ; warps - warp 23, 25, 0, VIRIDIAN_POKECENTER - warp 29, 19, 0, VIRIDIAN_MART - warp 21, 15, 0, VIRIDIAN_SCHOOL_HOUSE - warp 21, 9, 0, VIRIDIAN_NICKNAME_HOUSE - warp 32, 7, 0, VIRIDIAN_GYM - - db 6 ; signs - sign 17, 17, 8 ; ViridianCityText8 - sign 19, 1, 9 ; ViridianCityText9 - sign 21, 29, 10 ; ViridianCityText10 - sign 30, 19, 11 ; MartSignText - sign 24, 25, 12 ; PokeCenterSignText - sign 27, 7, 13 ; ViridianCityText13 - - db 7 ; objects - object SPRITE_BUG_CATCHER, 13, 20, WALK, 0, 1 ; person - object SPRITE_GAMBLER, 30, 8, STAY, NONE, 2 ; person - object SPRITE_BUG_CATCHER, 30, 25, WALK, 0, 3 ; person - object SPRITE_GIRL, 17, 9, STAY, RIGHT, 4 ; person - object SPRITE_LYING_OLD_MAN, 18, 9, STAY, NONE, 5 ; person - object SPRITE_FISHER2, 6, 23, STAY, DOWN, 6 ; person - object SPRITE_GAMBLER, 17, 5, WALK, 2, 7 ; person - - ; warp-to - warp_to 23, 25, VIRIDIAN_CITY_WIDTH ; VIRIDIAN_POKECENTER - warp_to 29, 19, VIRIDIAN_CITY_WIDTH ; VIRIDIAN_MART - warp_to 21, 15, VIRIDIAN_CITY_WIDTH ; VIRIDIAN_SCHOOL_HOUSE - warp_to 21, 9, VIRIDIAN_CITY_WIDTH ; VIRIDIAN_NICKNAME_HOUSE - warp_to 32, 7, VIRIDIAN_CITY_WIDTH ; VIRIDIAN_GYM diff --git a/data/mapObjects/ViridianForest.asm b/data/mapObjects/ViridianForest.asm deleted file mode 100755 index cbcb6ff8..00000000 --- a/data/mapObjects/ViridianForest.asm +++ /dev/null @@ -1,36 +0,0 @@ -ViridianForest_Object: - db $3 ; border block - - db 6 ; warps - warp 1, 0, 2, VIRIDIAN_FOREST_NORTH_GATE - warp 2, 0, 3, VIRIDIAN_FOREST_NORTH_GATE - warp 15, 47, 1, VIRIDIAN_FOREST_SOUTH_GATE - warp 16, 47, 1, VIRIDIAN_FOREST_SOUTH_GATE - warp 17, 47, 1, VIRIDIAN_FOREST_SOUTH_GATE - warp 18, 47, 1, VIRIDIAN_FOREST_SOUTH_GATE - - db 6 ; signs - sign 24, 40, 9 ; ViridianForestText9 - sign 16, 32, 10 ; ViridianForestText10 - sign 26, 17, 11 ; ViridianForestText11 - sign 4, 24, 12 ; ViridianForestText12 - sign 18, 45, 13 ; ViridianForestText13 - sign 2, 1, 14 ; ViridianForestText14 - - db 8 ; objects - object SPRITE_BUG_CATCHER, 16, 43, STAY, NONE, 1 ; person - object SPRITE_BUG_CATCHER, 30, 33, STAY, LEFT, 2, OPP_BUG_CATCHER, 1 - object SPRITE_BUG_CATCHER, 30, 19, STAY, LEFT, 3, OPP_BUG_CATCHER, 2 - object SPRITE_BUG_CATCHER, 2, 18, STAY, LEFT, 4, OPP_BUG_CATCHER, 3 - object SPRITE_BALL, 25, 11, STAY, NONE, 5, ANTIDOTE - object SPRITE_BALL, 12, 29, STAY, NONE, 6, POTION - object SPRITE_BALL, 1, 31, STAY, NONE, 7, POKE_BALL - object SPRITE_BUG_CATCHER, 27, 40, STAY, NONE, 8 ; person - - ; warp-to - warp_to 1, 0, VIRIDIAN_FOREST_WIDTH ; VIRIDIAN_FOREST_NORTH_GATE - warp_to 2, 0, VIRIDIAN_FOREST_WIDTH ; VIRIDIAN_FOREST_NORTH_GATE - warp_to 15, 47, VIRIDIAN_FOREST_WIDTH ; VIRIDIAN_FOREST_SOUTH_GATE - warp_to 16, 47, VIRIDIAN_FOREST_WIDTH ; VIRIDIAN_FOREST_SOUTH_GATE - warp_to 17, 47, VIRIDIAN_FOREST_WIDTH ; VIRIDIAN_FOREST_SOUTH_GATE - warp_to 18, 47, VIRIDIAN_FOREST_WIDTH ; VIRIDIAN_FOREST_SOUTH_GATE diff --git a/data/mapObjects/ViridianForestNorthGate.asm b/data/mapObjects/ViridianForestNorthGate.asm deleted file mode 100755 index 81e7fece..00000000 --- a/data/mapObjects/ViridianForestNorthGate.asm +++ /dev/null @@ -1,20 +0,0 @@ -ViridianForestNorthGate_Object: - db $a ; border block - - db 4 ; warps - warp 4, 0, 1, -1 - warp 5, 0, 1, -1 - warp 4, 7, 0, VIRIDIAN_FOREST - warp 5, 7, 0, VIRIDIAN_FOREST - - db 0 ; signs - - db 2 ; objects - object SPRITE_BLACK_HAIR_BOY_2, 3, 2, STAY, NONE, 1 ; person - object SPRITE_OLD_PERSON, 2, 5, STAY, NONE, 2 ; person - - ; warp-to - warp_to 4, 0, VIRIDIAN_FOREST_NORTH_GATE_WIDTH - warp_to 5, 0, VIRIDIAN_FOREST_NORTH_GATE_WIDTH - warp_to 4, 7, VIRIDIAN_FOREST_NORTH_GATE_WIDTH ; VIRIDIAN_FOREST - warp_to 5, 7, VIRIDIAN_FOREST_NORTH_GATE_WIDTH ; VIRIDIAN_FOREST diff --git a/data/mapObjects/ViridianForestSouthGate.asm b/data/mapObjects/ViridianForestSouthGate.asm deleted file mode 100755 index 76f87e51..00000000 --- a/data/mapObjects/ViridianForestSouthGate.asm +++ /dev/null @@ -1,20 +0,0 @@ -ViridianForestSouthGate_Object: - db $a ; border block - - db 4 ; warps - warp 4, 0, 3, VIRIDIAN_FOREST - warp 5, 0, 4, VIRIDIAN_FOREST - warp 4, 7, 5, -1 - warp 5, 7, 5, -1 - - db 0 ; signs - - db 2 ; objects - object SPRITE_GIRL, 8, 4, STAY, LEFT, 1 ; person - object SPRITE_LITTLE_GIRL, 2, 4, WALK, 1, 2 ; person - - ; warp-to - warp_to 4, 0, VIRIDIAN_FOREST_SOUTH_GATE_WIDTH ; VIRIDIAN_FOREST - warp_to 5, 0, VIRIDIAN_FOREST_SOUTH_GATE_WIDTH ; VIRIDIAN_FOREST - warp_to 4, 7, VIRIDIAN_FOREST_SOUTH_GATE_WIDTH - warp_to 5, 7, VIRIDIAN_FOREST_SOUTH_GATE_WIDTH diff --git a/data/mapObjects/ViridianGym.asm b/data/mapObjects/ViridianGym.asm deleted file mode 100755 index e3fd17bd..00000000 --- a/data/mapObjects/ViridianGym.asm +++ /dev/null @@ -1,25 +0,0 @@ -ViridianGym_Object: - db $3 ; border block - - db 2 ; warps - warp 16, 17, 4, -1 - warp 17, 17, 4, -1 - - db 0 ; signs - - db 11 ; objects - object SPRITE_GIOVANNI, 2, 1, STAY, DOWN, 1, OPP_GIOVANNI, 3 - object SPRITE_BLACK_HAIR_BOY_1, 12, 7, STAY, DOWN, 2, OPP_COOLTRAINER_M, 9 - object SPRITE_HIKER, 11, 11, STAY, UP, 3, OPP_BLACKBELT, 6 - object SPRITE_ROCKER, 10, 7, STAY, DOWN, 4, OPP_TAMER, 3 - object SPRITE_HIKER, 3, 7, STAY, LEFT, 5, OPP_BLACKBELT, 7 - object SPRITE_BLACK_HAIR_BOY_1, 13, 5, STAY, RIGHT, 6, OPP_COOLTRAINER_M, 10 - object SPRITE_HIKER, 10, 1, STAY, DOWN, 7, OPP_BLACKBELT, 8 - object SPRITE_ROCKER, 2, 16, STAY, RIGHT, 8, OPP_TAMER, 4 - object SPRITE_BLACK_HAIR_BOY_1, 6, 5, STAY, DOWN, 9, OPP_COOLTRAINER_M, 1 - object SPRITE_GYM_HELPER, 16, 15, STAY, DOWN, 10 ; person - object SPRITE_BALL, 16, 9, STAY, NONE, 11, REVIVE - - ; warp-to - warp_to 16, 17, VIRIDIAN_GYM_WIDTH - warp_to 17, 17, VIRIDIAN_GYM_WIDTH diff --git a/data/mapObjects/ViridianMart.asm b/data/mapObjects/ViridianMart.asm deleted file mode 100755 index b3e7fee5..00000000 --- a/data/mapObjects/ViridianMart.asm +++ /dev/null @@ -1,17 +0,0 @@ -ViridianMart_Object: - db $0 ; border block - - db 2 ; warps - warp 3, 7, 1, -1 - warp 4, 7, 1, -1 - - db 0 ; signs - - db 3 ; objects - object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person - object SPRITE_BUG_CATCHER, 5, 5, WALK, 1, 2 ; person - object SPRITE_BLACK_HAIR_BOY_1, 3, 3, STAY, NONE, 3 ; person - - ; warp-to - warp_to 3, 7, VIRIDIAN_MART_WIDTH - warp_to 4, 7, VIRIDIAN_MART_WIDTH diff --git a/data/mapObjects/ViridianNicknameHouse.asm b/data/mapObjects/ViridianNicknameHouse.asm deleted file mode 100755 index aaf20a91..00000000 --- a/data/mapObjects/ViridianNicknameHouse.asm +++ /dev/null @@ -1,18 +0,0 @@ -ViridianNicknameHouse_Object: - db $a ; border block - - db 2 ; warps - warp 2, 7, 3, -1 - warp 3, 7, 3, -1 - - db 0 ; signs - - db 4 ; objects - object SPRITE_BALDING_GUY, 5, 3, STAY, NONE, 1 ; person - object SPRITE_LITTLE_GIRL, 1, 4, WALK, 1, 2 ; person - object SPRITE_BIRD, 5, 5, WALK, 2, 3 ; person - object SPRITE_CLIPBOARD, 4, 0, STAY, NONE, 4 ; person - - ; warp-to - warp_to 2, 7, VIRIDIAN_NICKNAME_HOUSE_WIDTH - warp_to 3, 7, VIRIDIAN_NICKNAME_HOUSE_WIDTH diff --git a/data/mapObjects/ViridianPokecenter.asm b/data/mapObjects/ViridianPokecenter.asm deleted file mode 100755 index 43b73e68..00000000 --- a/data/mapObjects/ViridianPokecenter.asm +++ /dev/null @@ -1,18 +0,0 @@ -ViridianPokecenter_Object: - db $0 ; border block - - db 2 ; warps - warp 3, 7, 0, -1 - warp 4, 7, 0, -1 - - db 0 ; signs - - db 4 ; objects - object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person - object SPRITE_GENTLEMAN, 10, 5, WALK, 1, 2 ; person - object SPRITE_BLACK_HAIR_BOY_1, 4, 3, STAY, NONE, 3 ; person - object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person - - ; warp-to - warp_to 3, 7, VIRIDIAN_POKECENTER_WIDTH - warp_to 4, 7, VIRIDIAN_POKECENTER_WIDTH diff --git a/data/mapObjects/ViridianSchoolHouse.asm b/data/mapObjects/ViridianSchoolHouse.asm deleted file mode 100755 index 01f2465d..00000000 --- a/data/mapObjects/ViridianSchoolHouse.asm +++ /dev/null @@ -1,16 +0,0 @@ -ViridianSchoolHouse_Object: - db $a ; border block - - db 2 ; warps - warp 2, 7, 2, -1 - warp 3, 7, 2, -1 - - db 0 ; signs - - db 2 ; objects - object SPRITE_BRUNETTE_GIRL, 3, 5, STAY, UP, 1 ; person - object SPRITE_LASS, 4, 1, STAY, DOWN, 2 ; person - - ; warp-to - warp_to 2, 7, VIRIDIAN_SCHOOL_HOUSE_WIDTH - warp_to 3, 7, VIRIDIAN_SCHOOL_HOUSE_WIDTH diff --git a/data/mapObjects/WardensHouse.asm b/data/mapObjects/WardensHouse.asm deleted file mode 100755 index d8445738..00000000 --- a/data/mapObjects/WardensHouse.asm +++ /dev/null @@ -1,19 +0,0 @@ -WardensHouse_Object: - db $17 ; border block - - db 2 ; warps - warp 4, 7, 3, -1 - warp 5, 7, 3, -1 - - db 2 ; signs - sign 4, 3, 4 ; FuchsiaHouse2Text4 - sign 5, 3, 5 ; FuchsiaHouse2Text5 - - db 3 ; objects - object SPRITE_WARDEN, 2, 3, STAY, NONE, 1 ; person - object SPRITE_BALL, 8, 3, STAY, NONE, 2, RARE_CANDY - object SPRITE_BOULDER, 8, 4, STAY, BOULDER_MOVEMENT_BYTE_2, 3 ; person - - ; warp-to - warp_to 4, 7, WARDENS_HOUSE_WIDTH - warp_to 5, 7, WARDENS_HOUSE_WIDTH diff --git a/data/maps/headers/AgathasRoom.asm b/data/maps/headers/AgathasRoom.asm new file mode 100755 index 00000000..d04e0cfd --- /dev/null +++ b/data/maps/headers/AgathasRoom.asm @@ -0,0 +1,3 @@ + + map_header AgathasRoom, AGATHAS_ROOM, CEMETERY, 0 + end_map_header diff --git a/data/maps/headers/BikeShop.asm b/data/maps/headers/BikeShop.asm new file mode 100755 index 00000000..b4b520e2 --- /dev/null +++ b/data/maps/headers/BikeShop.asm @@ -0,0 +1,3 @@ + + map_header BikeShop, BIKE_SHOP, CLUB, 0 + end_map_header diff --git a/data/maps/headers/BillsHouse.asm b/data/maps/headers/BillsHouse.asm new file mode 100755 index 00000000..6063175d --- /dev/null +++ b/data/maps/headers/BillsHouse.asm @@ -0,0 +1,3 @@ + + map_header BillsHouse, BILLS_HOUSE, INTERIOR, 0 + end_map_header diff --git a/data/maps/headers/BluesHouse.asm b/data/maps/headers/BluesHouse.asm new file mode 100755 index 00000000..33cee254 --- /dev/null +++ b/data/maps/headers/BluesHouse.asm @@ -0,0 +1,3 @@ + + map_header BluesHouse, BLUES_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/BrunosRoom.asm b/data/maps/headers/BrunosRoom.asm new file mode 100755 index 00000000..a0b2d4fd --- /dev/null +++ b/data/maps/headers/BrunosRoom.asm @@ -0,0 +1,3 @@ + + map_header BrunosRoom, BRUNOS_ROOM, GYM, 0 + end_map_header diff --git a/data/maps/headers/CeladonChiefHouse.asm b/data/maps/headers/CeladonChiefHouse.asm new file mode 100755 index 00000000..34f17273 --- /dev/null +++ b/data/maps/headers/CeladonChiefHouse.asm @@ -0,0 +1,3 @@ + + map_header CeladonChiefHouse, CELADON_CHIEF_HOUSE, MANSION, 0 + end_map_header diff --git a/data/maps/headers/CeladonCity.asm b/data/maps/headers/CeladonCity.asm new file mode 100755 index 00000000..6faa6f48 --- /dev/null +++ b/data/maps/headers/CeladonCity.asm @@ -0,0 +1,5 @@ + + map_header CeladonCity, CELADON_CITY, OVERWORLD, WEST | EAST + connection west, Route16, ROUTE_16, 4 + connection east, Route7, ROUTE_7, 4 + end_map_header diff --git a/data/maps/headers/CeladonDiner.asm b/data/maps/headers/CeladonDiner.asm new file mode 100755 index 00000000..b18d9633 --- /dev/null +++ b/data/maps/headers/CeladonDiner.asm @@ -0,0 +1,3 @@ + + map_header CeladonDiner, CELADON_DINER, LOBBY, 0 + end_map_header diff --git a/data/maps/headers/CeladonGym.asm b/data/maps/headers/CeladonGym.asm new file mode 100755 index 00000000..2302c65a --- /dev/null +++ b/data/maps/headers/CeladonGym.asm @@ -0,0 +1,3 @@ + + map_header CeladonGym, CELADON_GYM, GYM, 0 + end_map_header diff --git a/data/maps/headers/CeladonHotel.asm b/data/maps/headers/CeladonHotel.asm new file mode 100755 index 00000000..2339c14d --- /dev/null +++ b/data/maps/headers/CeladonHotel.asm @@ -0,0 +1,3 @@ + + map_header CeladonHotel, CELADON_HOTEL, POKECENTER, 0 + end_map_header diff --git a/data/maps/headers/CeladonMansion1F.asm b/data/maps/headers/CeladonMansion1F.asm new file mode 100755 index 00000000..45970028 --- /dev/null +++ b/data/maps/headers/CeladonMansion1F.asm @@ -0,0 +1,3 @@ + + map_header CeladonMansion1F, CELADON_MANSION_1F, MANSION, 0 + end_map_header diff --git a/data/maps/headers/CeladonMansion2F.asm b/data/maps/headers/CeladonMansion2F.asm new file mode 100755 index 00000000..d5e3e77b --- /dev/null +++ b/data/maps/headers/CeladonMansion2F.asm @@ -0,0 +1,3 @@ + + map_header CeladonMansion2F, CELADON_MANSION_2F, MANSION, 0 + end_map_header diff --git a/data/maps/headers/CeladonMansion3F.asm b/data/maps/headers/CeladonMansion3F.asm new file mode 100755 index 00000000..7566caad --- /dev/null +++ b/data/maps/headers/CeladonMansion3F.asm @@ -0,0 +1,3 @@ + + map_header CeladonMansion3F, CELADON_MANSION_3F, MANSION, 0 + end_map_header diff --git a/data/maps/headers/CeladonMansionRoof.asm b/data/maps/headers/CeladonMansionRoof.asm new file mode 100755 index 00000000..9cbae6f6 --- /dev/null +++ b/data/maps/headers/CeladonMansionRoof.asm @@ -0,0 +1,3 @@ + + map_header CeladonMansionRoof, CELADON_MANSION_ROOF, MANSION, 0 + end_map_header diff --git a/data/maps/headers/CeladonMansionRoofHouse.asm b/data/maps/headers/CeladonMansionRoofHouse.asm new file mode 100755 index 00000000..cb80fac8 --- /dev/null +++ b/data/maps/headers/CeladonMansionRoofHouse.asm @@ -0,0 +1,3 @@ + + map_header CeladonMansionRoofHouse, CELADON_MANSION_ROOF_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/CeladonMart1F.asm b/data/maps/headers/CeladonMart1F.asm new file mode 100755 index 00000000..30bd9ba9 --- /dev/null +++ b/data/maps/headers/CeladonMart1F.asm @@ -0,0 +1,3 @@ + + map_header CeladonMart1F, CELADON_MART_1F, LOBBY, 0 + end_map_header diff --git a/data/maps/headers/CeladonMart2F.asm b/data/maps/headers/CeladonMart2F.asm new file mode 100755 index 00000000..d78dfe28 --- /dev/null +++ b/data/maps/headers/CeladonMart2F.asm @@ -0,0 +1,3 @@ + + map_header CeladonMart2F, CELADON_MART_2F, LOBBY, 0 + end_map_header diff --git a/data/maps/headers/CeladonMart3F.asm b/data/maps/headers/CeladonMart3F.asm new file mode 100755 index 00000000..ad415eee --- /dev/null +++ b/data/maps/headers/CeladonMart3F.asm @@ -0,0 +1,3 @@ + + map_header CeladonMart3F, CELADON_MART_3F, LOBBY, 0 + end_map_header diff --git a/data/maps/headers/CeladonMart4F.asm b/data/maps/headers/CeladonMart4F.asm new file mode 100755 index 00000000..b9ce5b34 --- /dev/null +++ b/data/maps/headers/CeladonMart4F.asm @@ -0,0 +1,3 @@ + + map_header CeladonMart4F, CELADON_MART_4F, LOBBY, 0 + end_map_header diff --git a/data/maps/headers/CeladonMart5F.asm b/data/maps/headers/CeladonMart5F.asm new file mode 100755 index 00000000..04d65b2b --- /dev/null +++ b/data/maps/headers/CeladonMart5F.asm @@ -0,0 +1,3 @@ + + map_header CeladonMart5F, CELADON_MART_5F, LOBBY, 0 + end_map_header diff --git a/data/maps/headers/CeladonMartElevator.asm b/data/maps/headers/CeladonMartElevator.asm new file mode 100755 index 00000000..2a98ccb0 --- /dev/null +++ b/data/maps/headers/CeladonMartElevator.asm @@ -0,0 +1,3 @@ + + map_header CeladonMartElevator, CELADON_MART_ELEVATOR, LOBBY, 0 + end_map_header diff --git a/data/maps/headers/CeladonMartRoof.asm b/data/maps/headers/CeladonMartRoof.asm new file mode 100755 index 00000000..823ff25f --- /dev/null +++ b/data/maps/headers/CeladonMartRoof.asm @@ -0,0 +1,3 @@ + + map_header CeladonMartRoof, CELADON_MART_ROOF, LOBBY, 0 + end_map_header diff --git a/data/maps/headers/CeladonPokecenter.asm b/data/maps/headers/CeladonPokecenter.asm new file mode 100755 index 00000000..378a41ec --- /dev/null +++ b/data/maps/headers/CeladonPokecenter.asm @@ -0,0 +1,3 @@ + + map_header CeladonPokecenter, CELADON_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/maps/headers/CeruleanBadgeHouse.asm b/data/maps/headers/CeruleanBadgeHouse.asm new file mode 100755 index 00000000..47a97b14 --- /dev/null +++ b/data/maps/headers/CeruleanBadgeHouse.asm @@ -0,0 +1,3 @@ + + map_header CeruleanBadgeHouse, CERULEAN_BADGE_HOUSE, SHIP, 0 + end_map_header diff --git a/data/maps/headers/CeruleanCave1F.asm b/data/maps/headers/CeruleanCave1F.asm new file mode 100755 index 00000000..7c80bbeb --- /dev/null +++ b/data/maps/headers/CeruleanCave1F.asm @@ -0,0 +1,3 @@ + + map_header CeruleanCave1F, CERULEAN_CAVE_1F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/CeruleanCave2F.asm b/data/maps/headers/CeruleanCave2F.asm new file mode 100755 index 00000000..353e265b --- /dev/null +++ b/data/maps/headers/CeruleanCave2F.asm @@ -0,0 +1,3 @@ + + map_header CeruleanCave2F, CERULEAN_CAVE_2F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/CeruleanCaveB1F.asm b/data/maps/headers/CeruleanCaveB1F.asm new file mode 100755 index 00000000..d759aa6b --- /dev/null +++ b/data/maps/headers/CeruleanCaveB1F.asm @@ -0,0 +1,3 @@ + + map_header CeruleanCaveB1F, CERULEAN_CAVE_B1F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/CeruleanCity.asm b/data/maps/headers/CeruleanCity.asm new file mode 100755 index 00000000..c925713c --- /dev/null +++ b/data/maps/headers/CeruleanCity.asm @@ -0,0 +1,7 @@ + + map_header CeruleanCity, CERULEAN_CITY, OVERWORLD, NORTH | SOUTH | WEST | EAST + connection north, Route24, ROUTE_24, 5 + connection south, Route5, ROUTE_5, 5 + connection west, Route4, ROUTE_4, 4 + connection east, Route9, ROUTE_9, 4 + end_map_header diff --git a/data/maps/headers/CeruleanGym.asm b/data/maps/headers/CeruleanGym.asm new file mode 100755 index 00000000..b1010ac3 --- /dev/null +++ b/data/maps/headers/CeruleanGym.asm @@ -0,0 +1,3 @@ + + map_header CeruleanGym, CERULEAN_GYM, GYM, 0 + end_map_header diff --git a/data/maps/headers/CeruleanMart.asm b/data/maps/headers/CeruleanMart.asm new file mode 100755 index 00000000..2ee31666 --- /dev/null +++ b/data/maps/headers/CeruleanMart.asm @@ -0,0 +1,3 @@ + + map_header CeruleanMart, CERULEAN_MART, MART, 0 + end_map_header diff --git a/data/maps/headers/CeruleanPokecenter.asm b/data/maps/headers/CeruleanPokecenter.asm new file mode 100755 index 00000000..b79e7aff --- /dev/null +++ b/data/maps/headers/CeruleanPokecenter.asm @@ -0,0 +1,3 @@ + + map_header CeruleanPokecenter, CERULEAN_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/maps/headers/CeruleanTradeHouse.asm b/data/maps/headers/CeruleanTradeHouse.asm new file mode 100755 index 00000000..20970b77 --- /dev/null +++ b/data/maps/headers/CeruleanTradeHouse.asm @@ -0,0 +1,3 @@ + + map_header CeruleanTradeHouse, CERULEAN_TRADE_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/CeruleanTrashedHouse.asm b/data/maps/headers/CeruleanTrashedHouse.asm new file mode 100755 index 00000000..192a4195 --- /dev/null +++ b/data/maps/headers/CeruleanTrashedHouse.asm @@ -0,0 +1,3 @@ + + map_header CeruleanTrashedHouse, CERULEAN_TRASHED_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/ChampionsRoom.asm b/data/maps/headers/ChampionsRoom.asm new file mode 100755 index 00000000..aadc70a6 --- /dev/null +++ b/data/maps/headers/ChampionsRoom.asm @@ -0,0 +1,3 @@ + + map_header ChampionsRoom, CHAMPIONS_ROOM, GYM, $0 + end_map_header diff --git a/data/maps/headers/CinnabarGym.asm b/data/maps/headers/CinnabarGym.asm new file mode 100755 index 00000000..cc6dc1d7 --- /dev/null +++ b/data/maps/headers/CinnabarGym.asm @@ -0,0 +1,3 @@ + + map_header CinnabarGym, CINNABAR_GYM, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/CinnabarIsland.asm b/data/maps/headers/CinnabarIsland.asm new file mode 100755 index 00000000..a94498be --- /dev/null +++ b/data/maps/headers/CinnabarIsland.asm @@ -0,0 +1,5 @@ + + map_header CinnabarIsland, CINNABAR_ISLAND, OVERWORLD, NORTH | EAST + connection north, Route21, ROUTE_21, 0 + connection east, Route20, ROUTE_20, 0 + end_map_header diff --git a/data/maps/headers/CinnabarLab.asm b/data/maps/headers/CinnabarLab.asm new file mode 100755 index 00000000..e8081e75 --- /dev/null +++ b/data/maps/headers/CinnabarLab.asm @@ -0,0 +1,3 @@ + + map_header CinnabarLab, CINNABAR_LAB, LAB, 0 + end_map_header diff --git a/data/maps/headers/CinnabarLabFossilRoom.asm b/data/maps/headers/CinnabarLabFossilRoom.asm new file mode 100755 index 00000000..3cb88437 --- /dev/null +++ b/data/maps/headers/CinnabarLabFossilRoom.asm @@ -0,0 +1,3 @@ + + map_header CinnabarLabFossilRoom, CINNABAR_LAB_FOSSIL_ROOM, LAB, 0 + end_map_header diff --git a/data/maps/headers/CinnabarLabMetronomeRoom.asm b/data/maps/headers/CinnabarLabMetronomeRoom.asm new file mode 100755 index 00000000..d77338c8 --- /dev/null +++ b/data/maps/headers/CinnabarLabMetronomeRoom.asm @@ -0,0 +1,3 @@ + + map_header CinnabarLabMetronomeRoom, CINNABAR_LAB_METRONOME_ROOM, LAB, 0 + end_map_header diff --git a/data/maps/headers/CinnabarLabTradeRoom.asm b/data/maps/headers/CinnabarLabTradeRoom.asm new file mode 100755 index 00000000..c23d9c15 --- /dev/null +++ b/data/maps/headers/CinnabarLabTradeRoom.asm @@ -0,0 +1,3 @@ + + map_header CinnabarLabTradeRoom, CINNABAR_LAB_TRADE_ROOM, LAB, 0 + end_map_header diff --git a/data/maps/headers/CinnabarMart.asm b/data/maps/headers/CinnabarMart.asm new file mode 100755 index 00000000..c68d582a --- /dev/null +++ b/data/maps/headers/CinnabarMart.asm @@ -0,0 +1,3 @@ + + map_header CinnabarMart, CINNABAR_MART, MART, 0 + end_map_header diff --git a/data/maps/headers/CinnabarPokecenter.asm b/data/maps/headers/CinnabarPokecenter.asm new file mode 100755 index 00000000..d910133b --- /dev/null +++ b/data/maps/headers/CinnabarPokecenter.asm @@ -0,0 +1,3 @@ + + map_header CinnabarPokecenter, CINNABAR_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/maps/headers/Colosseum.asm b/data/maps/headers/Colosseum.asm new file mode 100755 index 00000000..faf03eb4 --- /dev/null +++ b/data/maps/headers/Colosseum.asm @@ -0,0 +1,3 @@ + + map_header Colosseum, COLOSSEUM, CLUB, 0 + end_map_header diff --git a/data/maps/headers/CopycatsHouse1F.asm b/data/maps/headers/CopycatsHouse1F.asm new file mode 100755 index 00000000..532cef93 --- /dev/null +++ b/data/maps/headers/CopycatsHouse1F.asm @@ -0,0 +1,3 @@ + + map_header CopycatsHouse1F, COPYCATS_HOUSE_1F, REDS_HOUSE_1, 0 + end_map_header diff --git a/data/maps/headers/CopycatsHouse2F.asm b/data/maps/headers/CopycatsHouse2F.asm new file mode 100755 index 00000000..38b1fbbb --- /dev/null +++ b/data/maps/headers/CopycatsHouse2F.asm @@ -0,0 +1,3 @@ + + map_header CopycatsHouse2F, COPYCATS_HOUSE_2F, REDS_HOUSE_2, 0 + end_map_header diff --git a/data/maps/headers/Daycare.asm b/data/maps/headers/Daycare.asm new file mode 100755 index 00000000..dabeedd9 --- /dev/null +++ b/data/maps/headers/Daycare.asm @@ -0,0 +1,3 @@ + + map_header Daycare, DAYCARE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/DiglettsCave.asm b/data/maps/headers/DiglettsCave.asm new file mode 100755 index 00000000..d3777d31 --- /dev/null +++ b/data/maps/headers/DiglettsCave.asm @@ -0,0 +1,3 @@ + + map_header DiglettsCave, DIGLETTS_CAVE, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/DiglettsCaveRoute11.asm b/data/maps/headers/DiglettsCaveRoute11.asm new file mode 100755 index 00000000..d8bdd704 --- /dev/null +++ b/data/maps/headers/DiglettsCaveRoute11.asm @@ -0,0 +1,3 @@ + + map_header DiglettsCaveRoute11, DIGLETTS_CAVE_ROUTE_11, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/DiglettsCaveRoute2.asm b/data/maps/headers/DiglettsCaveRoute2.asm new file mode 100755 index 00000000..86f5ae35 --- /dev/null +++ b/data/maps/headers/DiglettsCaveRoute2.asm @@ -0,0 +1,3 @@ + + map_header DiglettsCaveRoute2, DIGLETTS_CAVE_ROUTE_2, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/FightingDojo.asm b/data/maps/headers/FightingDojo.asm new file mode 100755 index 00000000..7ecadc57 --- /dev/null +++ b/data/maps/headers/FightingDojo.asm @@ -0,0 +1,3 @@ + + map_header FightingDojo, FIGHTING_DOJO, DOJO, 0 + end_map_header diff --git a/data/maps/headers/FuchsiaBillsGrandpasHouse.asm b/data/maps/headers/FuchsiaBillsGrandpasHouse.asm new file mode 100755 index 00000000..10ba48e9 --- /dev/null +++ b/data/maps/headers/FuchsiaBillsGrandpasHouse.asm @@ -0,0 +1,3 @@ + + map_header FuchsiaBillsGrandpasHouse, FUCHSIA_BILLS_GRANDPAS_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/FuchsiaCity.asm b/data/maps/headers/FuchsiaCity.asm new file mode 100755 index 00000000..6028bce0 --- /dev/null +++ b/data/maps/headers/FuchsiaCity.asm @@ -0,0 +1,6 @@ + + map_header FuchsiaCity, FUCHSIA_CITY, OVERWORLD, SOUTH | WEST | EAST + connection south, Route19, ROUTE_19, 5 + connection west, Route18, ROUTE_18, 4 + connection east, Route15, ROUTE_15, 4 + end_map_header diff --git a/data/maps/headers/FuchsiaGoodRodHouse.asm b/data/maps/headers/FuchsiaGoodRodHouse.asm new file mode 100755 index 00000000..d21611c1 --- /dev/null +++ b/data/maps/headers/FuchsiaGoodRodHouse.asm @@ -0,0 +1,3 @@ + + map_header FuchsiaGoodRodHouse, FUCHSIA_GOOD_ROD_HOUSE, SHIP, 0 + end_map_header diff --git a/data/maps/headers/FuchsiaGym.asm b/data/maps/headers/FuchsiaGym.asm new file mode 100755 index 00000000..44be2971 --- /dev/null +++ b/data/maps/headers/FuchsiaGym.asm @@ -0,0 +1,3 @@ + + map_header FuchsiaGym, FUCHSIA_GYM, GYM, 0 + end_map_header diff --git a/data/maps/headers/FuchsiaMart.asm b/data/maps/headers/FuchsiaMart.asm new file mode 100755 index 00000000..120fe305 --- /dev/null +++ b/data/maps/headers/FuchsiaMart.asm @@ -0,0 +1,3 @@ + + map_header FuchsiaMart, FUCHSIA_MART, MART, 0 + end_map_header diff --git a/data/maps/headers/FuchsiaMeetingRoom.asm b/data/maps/headers/FuchsiaMeetingRoom.asm new file mode 100755 index 00000000..a5ab4f04 --- /dev/null +++ b/data/maps/headers/FuchsiaMeetingRoom.asm @@ -0,0 +1,3 @@ + + map_header FuchsiaMeetingRoom, FUCHSIA_MEETING_ROOM, LAB, 0 + end_map_header diff --git a/data/maps/headers/FuchsiaPokecenter.asm b/data/maps/headers/FuchsiaPokecenter.asm new file mode 100755 index 00000000..c1c683bd --- /dev/null +++ b/data/maps/headers/FuchsiaPokecenter.asm @@ -0,0 +1,3 @@ + + map_header FuchsiaPokecenter, FUCHSIA_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/maps/headers/GameCorner.asm b/data/maps/headers/GameCorner.asm new file mode 100755 index 00000000..ad367b93 --- /dev/null +++ b/data/maps/headers/GameCorner.asm @@ -0,0 +1,3 @@ + + map_header GameCorner, GAME_CORNER, LOBBY, 0 + end_map_header diff --git a/data/maps/headers/GameCornerPrizeRoom.asm b/data/maps/headers/GameCornerPrizeRoom.asm new file mode 100755 index 00000000..4668cbb8 --- /dev/null +++ b/data/maps/headers/GameCornerPrizeRoom.asm @@ -0,0 +1,3 @@ + + map_header GameCornerPrizeRoom, GAME_CORNER_PRIZE_ROOM, LOBBY, 0 + end_map_header diff --git a/data/maps/headers/HallOfFame.asm b/data/maps/headers/HallOfFame.asm new file mode 100755 index 00000000..e2dc3fb3 --- /dev/null +++ b/data/maps/headers/HallOfFame.asm @@ -0,0 +1,3 @@ + + map_header HallOfFame, HALL_OF_FAME, GYM, 0 + end_map_header diff --git a/data/maps/headers/IndigoPlateau.asm b/data/maps/headers/IndigoPlateau.asm new file mode 100755 index 00000000..ff394dfe --- /dev/null +++ b/data/maps/headers/IndigoPlateau.asm @@ -0,0 +1,4 @@ + + map_header IndigoPlateau, INDIGO_PLATEAU, PLATEAU, SOUTH + connection south, Route23, ROUTE_23, 0 + end_map_header diff --git a/data/maps/headers/IndigoPlateauLobby.asm b/data/maps/headers/IndigoPlateauLobby.asm new file mode 100755 index 00000000..b13afa12 --- /dev/null +++ b/data/maps/headers/IndigoPlateauLobby.asm @@ -0,0 +1,3 @@ + + map_header IndigoPlateauLobby, INDIGO_PLATEAU_LOBBY, MART, 0 + end_map_header diff --git a/data/maps/headers/LancesRoom.asm b/data/maps/headers/LancesRoom.asm new file mode 100755 index 00000000..0b69970e --- /dev/null +++ b/data/maps/headers/LancesRoom.asm @@ -0,0 +1,3 @@ + + map_header LancesRoom, LANCES_ROOM, DOJO, 0 + end_map_header diff --git a/data/maps/headers/LavenderCuboneHouse.asm b/data/maps/headers/LavenderCuboneHouse.asm new file mode 100755 index 00000000..dfd38ff1 --- /dev/null +++ b/data/maps/headers/LavenderCuboneHouse.asm @@ -0,0 +1,3 @@ + + map_header LavenderCuboneHouse, LAVENDER_CUBONE_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/LavenderMart.asm b/data/maps/headers/LavenderMart.asm new file mode 100755 index 00000000..82c239e6 --- /dev/null +++ b/data/maps/headers/LavenderMart.asm @@ -0,0 +1,3 @@ + + map_header LavenderMart, LAVENDER_MART, MART, 0 + end_map_header diff --git a/data/maps/headers/LavenderPokecenter.asm b/data/maps/headers/LavenderPokecenter.asm new file mode 100755 index 00000000..c0cd0adf --- /dev/null +++ b/data/maps/headers/LavenderPokecenter.asm @@ -0,0 +1,3 @@ + + map_header LavenderPokecenter, LAVENDER_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/maps/headers/LavenderTown.asm b/data/maps/headers/LavenderTown.asm new file mode 100755 index 00000000..7c1c9c46 --- /dev/null +++ b/data/maps/headers/LavenderTown.asm @@ -0,0 +1,6 @@ + + map_header LavenderTown, LAVENDER_TOWN, OVERWORLD, NORTH | SOUTH | WEST + connection north, Route10, ROUTE_10, 0 + connection south, Route12, ROUTE_12, 0 + connection west, Route8, ROUTE_8, 0 + end_map_header diff --git a/data/maps/headers/LoreleisRoom.asm b/data/maps/headers/LoreleisRoom.asm new file mode 100755 index 00000000..feff946c --- /dev/null +++ b/data/maps/headers/LoreleisRoom.asm @@ -0,0 +1,3 @@ + + map_header LoreleisRoom, LORELEIS_ROOM, GYM, 0 + end_map_header diff --git a/data/maps/headers/MrFujisHouse.asm b/data/maps/headers/MrFujisHouse.asm new file mode 100755 index 00000000..023cb501 --- /dev/null +++ b/data/maps/headers/MrFujisHouse.asm @@ -0,0 +1,3 @@ + + map_header MrFujisHouse, MR_FUJIS_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/MrPsychicsHouse.asm b/data/maps/headers/MrPsychicsHouse.asm new file mode 100755 index 00000000..628db044 --- /dev/null +++ b/data/maps/headers/MrPsychicsHouse.asm @@ -0,0 +1,3 @@ + + map_header MrPsychicsHouse, MR_PSYCHICS_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/MtMoon1F.asm b/data/maps/headers/MtMoon1F.asm new file mode 100755 index 00000000..8de2be3e --- /dev/null +++ b/data/maps/headers/MtMoon1F.asm @@ -0,0 +1,3 @@ + + map_header MtMoon1F, MT_MOON_1F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/MtMoonB1F.asm b/data/maps/headers/MtMoonB1F.asm new file mode 100755 index 00000000..9c97b5c7 --- /dev/null +++ b/data/maps/headers/MtMoonB1F.asm @@ -0,0 +1,3 @@ + + map_header MtMoonB1F, MT_MOON_B1F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/MtMoonB2F.asm b/data/maps/headers/MtMoonB2F.asm new file mode 100755 index 00000000..0ed1f96e --- /dev/null +++ b/data/maps/headers/MtMoonB2F.asm @@ -0,0 +1,3 @@ + + map_header MtMoonB2F, MT_MOON_B2F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/MtMoonPokecenter.asm b/data/maps/headers/MtMoonPokecenter.asm new file mode 100755 index 00000000..0425eae7 --- /dev/null +++ b/data/maps/headers/MtMoonPokecenter.asm @@ -0,0 +1,3 @@ + + map_header MtMoonPokecenter, MT_MOON_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/maps/headers/Museum1F.asm b/data/maps/headers/Museum1F.asm new file mode 100755 index 00000000..d92176d2 --- /dev/null +++ b/data/maps/headers/Museum1F.asm @@ -0,0 +1,3 @@ + + map_header Museum1F, MUSEUM_1F, MUSEUM, 0 + end_map_header diff --git a/data/maps/headers/Museum2F.asm b/data/maps/headers/Museum2F.asm new file mode 100755 index 00000000..d5bf8918 --- /dev/null +++ b/data/maps/headers/Museum2F.asm @@ -0,0 +1,3 @@ + + map_header Museum2F, MUSEUM_2F, MUSEUM, 0 + end_map_header diff --git a/data/maps/headers/NameRatersHouse.asm b/data/maps/headers/NameRatersHouse.asm new file mode 100755 index 00000000..3f9010f0 --- /dev/null +++ b/data/maps/headers/NameRatersHouse.asm @@ -0,0 +1,3 @@ + + map_header NameRatersHouse, NAME_RATERS_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/OaksLab.asm b/data/maps/headers/OaksLab.asm new file mode 100755 index 00000000..42bb76e8 --- /dev/null +++ b/data/maps/headers/OaksLab.asm @@ -0,0 +1,3 @@ + + map_header OaksLab, OAKS_LAB, DOJO, 0 + end_map_header diff --git a/data/maps/headers/PalletTown.asm b/data/maps/headers/PalletTown.asm new file mode 100755 index 00000000..2745bdc1 --- /dev/null +++ b/data/maps/headers/PalletTown.asm @@ -0,0 +1,5 @@ + + map_header PalletTown, PALLET_TOWN, OVERWORLD, NORTH | SOUTH + connection north, Route1, ROUTE_1, 0 + connection south, Route21, ROUTE_21, 0 + end_map_header diff --git a/data/maps/headers/PewterCity.asm b/data/maps/headers/PewterCity.asm new file mode 100755 index 00000000..268adb7a --- /dev/null +++ b/data/maps/headers/PewterCity.asm @@ -0,0 +1,5 @@ + + map_header PewterCity, PEWTER_CITY, OVERWORLD, SOUTH | EAST + connection south, Route2, ROUTE_2, 5 + connection east, Route3, ROUTE_3, 4 + end_map_header diff --git a/data/maps/headers/PewterGym.asm b/data/maps/headers/PewterGym.asm new file mode 100755 index 00000000..a1659e42 --- /dev/null +++ b/data/maps/headers/PewterGym.asm @@ -0,0 +1,3 @@ + + map_header PewterGym, PEWTER_GYM, GYM, 0 + end_map_header diff --git a/data/maps/headers/PewterMart.asm b/data/maps/headers/PewterMart.asm new file mode 100755 index 00000000..c9b24eb2 --- /dev/null +++ b/data/maps/headers/PewterMart.asm @@ -0,0 +1,3 @@ + + map_header PewterMart, PEWTER_MART, MART, 0 + end_map_header diff --git a/data/maps/headers/PewterNidoranHouse.asm b/data/maps/headers/PewterNidoranHouse.asm new file mode 100755 index 00000000..ee2e46ca --- /dev/null +++ b/data/maps/headers/PewterNidoranHouse.asm @@ -0,0 +1,3 @@ + + map_header PewterNidoranHouse, PEWTER_NIDORAN_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/PewterPokecenter.asm b/data/maps/headers/PewterPokecenter.asm new file mode 100755 index 00000000..4e420bf8 --- /dev/null +++ b/data/maps/headers/PewterPokecenter.asm @@ -0,0 +1,3 @@ + + map_header PewterPokecenter, PEWTER_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/maps/headers/PewterSpeechHouse.asm b/data/maps/headers/PewterSpeechHouse.asm new file mode 100755 index 00000000..a378d61e --- /dev/null +++ b/data/maps/headers/PewterSpeechHouse.asm @@ -0,0 +1,3 @@ + + map_header PewterSpeechHouse, PEWTER_SPEECH_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/PokemonFanClub.asm b/data/maps/headers/PokemonFanClub.asm new file mode 100755 index 00000000..b4ff8e1c --- /dev/null +++ b/data/maps/headers/PokemonFanClub.asm @@ -0,0 +1,3 @@ + + map_header PokemonFanClub, POKEMON_FAN_CLUB, INTERIOR, 0 + end_map_header diff --git a/data/maps/headers/PokemonMansion1F.asm b/data/maps/headers/PokemonMansion1F.asm new file mode 100755 index 00000000..9407f956 --- /dev/null +++ b/data/maps/headers/PokemonMansion1F.asm @@ -0,0 +1,3 @@ + + map_header PokemonMansion1F, POKEMON_MANSION_1F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/PokemonMansion2F.asm b/data/maps/headers/PokemonMansion2F.asm new file mode 100755 index 00000000..deb7c84f --- /dev/null +++ b/data/maps/headers/PokemonMansion2F.asm @@ -0,0 +1,3 @@ + + map_header PokemonMansion2F, POKEMON_MANSION_2F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/PokemonMansion3F.asm b/data/maps/headers/PokemonMansion3F.asm new file mode 100755 index 00000000..e4baa709 --- /dev/null +++ b/data/maps/headers/PokemonMansion3F.asm @@ -0,0 +1,3 @@ + + map_header PokemonMansion3F, POKEMON_MANSION_3F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/PokemonMansionB1F.asm b/data/maps/headers/PokemonMansionB1F.asm new file mode 100755 index 00000000..0aae67e6 --- /dev/null +++ b/data/maps/headers/PokemonMansionB1F.asm @@ -0,0 +1,3 @@ + + map_header PokemonMansionB1F, POKEMON_MANSION_B1F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/PokemonTower1F.asm b/data/maps/headers/PokemonTower1F.asm new file mode 100755 index 00000000..185fd2c0 --- /dev/null +++ b/data/maps/headers/PokemonTower1F.asm @@ -0,0 +1,3 @@ + + map_header PokemonTower1F, POKEMON_TOWER_1F, CEMETERY, 0 + end_map_header diff --git a/data/maps/headers/PokemonTower2F.asm b/data/maps/headers/PokemonTower2F.asm new file mode 100755 index 00000000..5a6046c8 --- /dev/null +++ b/data/maps/headers/PokemonTower2F.asm @@ -0,0 +1,3 @@ + + map_header PokemonTower2F, POKEMON_TOWER_2F, CEMETERY, 0 + end_map_header diff --git a/data/maps/headers/PokemonTower3F.asm b/data/maps/headers/PokemonTower3F.asm new file mode 100755 index 00000000..49ebc4e7 --- /dev/null +++ b/data/maps/headers/PokemonTower3F.asm @@ -0,0 +1,3 @@ + + map_header PokemonTower3F, POKEMON_TOWER_3F, CEMETERY, 0 + end_map_header diff --git a/data/maps/headers/PokemonTower4F.asm b/data/maps/headers/PokemonTower4F.asm new file mode 100755 index 00000000..0eb9a0d6 --- /dev/null +++ b/data/maps/headers/PokemonTower4F.asm @@ -0,0 +1,3 @@ + + map_header PokemonTower4F, POKEMON_TOWER_4F, CEMETERY, 0 + end_map_header diff --git a/data/maps/headers/PokemonTower5F.asm b/data/maps/headers/PokemonTower5F.asm new file mode 100755 index 00000000..e58c63c6 --- /dev/null +++ b/data/maps/headers/PokemonTower5F.asm @@ -0,0 +1,3 @@ + + map_header PokemonTower5F, POKEMON_TOWER_5F, CEMETERY, 0 + end_map_header diff --git a/data/maps/headers/PokemonTower6F.asm b/data/maps/headers/PokemonTower6F.asm new file mode 100755 index 00000000..ba53347b --- /dev/null +++ b/data/maps/headers/PokemonTower6F.asm @@ -0,0 +1,3 @@ + + map_header PokemonTower6F, POKEMON_TOWER_6F, CEMETERY, 0 + end_map_header diff --git a/data/maps/headers/PokemonTower7F.asm b/data/maps/headers/PokemonTower7F.asm new file mode 100755 index 00000000..bd9f839b --- /dev/null +++ b/data/maps/headers/PokemonTower7F.asm @@ -0,0 +1,3 @@ + + map_header PokemonTower7F, POKEMON_TOWER_7F, CEMETERY, 0 + end_map_header diff --git a/data/maps/headers/PowerPlant.asm b/data/maps/headers/PowerPlant.asm new file mode 100755 index 00000000..88d82ae2 --- /dev/null +++ b/data/maps/headers/PowerPlant.asm @@ -0,0 +1,3 @@ + + map_header PowerPlant, POWER_PLANT, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/RedsHouse1F.asm b/data/maps/headers/RedsHouse1F.asm new file mode 100755 index 00000000..018bdc80 --- /dev/null +++ b/data/maps/headers/RedsHouse1F.asm @@ -0,0 +1,3 @@ + + map_header RedsHouse1F, REDS_HOUSE_1F, REDS_HOUSE_1, 0 + end_map_header diff --git a/data/maps/headers/RedsHouse2F.asm b/data/maps/headers/RedsHouse2F.asm new file mode 100755 index 00000000..10332e2c --- /dev/null +++ b/data/maps/headers/RedsHouse2F.asm @@ -0,0 +1,3 @@ + + map_header RedsHouse2F, REDS_HOUSE_2F, REDS_HOUSE_2, $00 + end_map_header diff --git a/data/maps/headers/RockTunnel1F.asm b/data/maps/headers/RockTunnel1F.asm new file mode 100755 index 00000000..268ee645 --- /dev/null +++ b/data/maps/headers/RockTunnel1F.asm @@ -0,0 +1,3 @@ + + map_header RockTunnel1F, ROCK_TUNNEL_1F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/RockTunnelB1F.asm b/data/maps/headers/RockTunnelB1F.asm new file mode 100755 index 00000000..7b13f647 --- /dev/null +++ b/data/maps/headers/RockTunnelB1F.asm @@ -0,0 +1,3 @@ + + map_header RockTunnelB1F, ROCK_TUNNEL_B1F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/RockTunnelPokecenter.asm b/data/maps/headers/RockTunnelPokecenter.asm new file mode 100755 index 00000000..a873854b --- /dev/null +++ b/data/maps/headers/RockTunnelPokecenter.asm @@ -0,0 +1,3 @@ + + map_header RockTunnelPokecenter, ROCK_TUNNEL_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/maps/headers/RocketHideoutB1F.asm b/data/maps/headers/RocketHideoutB1F.asm new file mode 100755 index 00000000..521a6693 --- /dev/null +++ b/data/maps/headers/RocketHideoutB1F.asm @@ -0,0 +1,3 @@ + + map_header RocketHideoutB1F, ROCKET_HIDEOUT_B1F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/RocketHideoutB2F.asm b/data/maps/headers/RocketHideoutB2F.asm new file mode 100755 index 00000000..ab2a965d --- /dev/null +++ b/data/maps/headers/RocketHideoutB2F.asm @@ -0,0 +1,3 @@ + + map_header RocketHideoutB2F, ROCKET_HIDEOUT_B2F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/RocketHideoutB3F.asm b/data/maps/headers/RocketHideoutB3F.asm new file mode 100755 index 00000000..0a04b00e --- /dev/null +++ b/data/maps/headers/RocketHideoutB3F.asm @@ -0,0 +1,3 @@ + + map_header RocketHideoutB3F, ROCKET_HIDEOUT_B3F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/RocketHideoutB4F.asm b/data/maps/headers/RocketHideoutB4F.asm new file mode 100755 index 00000000..11512c01 --- /dev/null +++ b/data/maps/headers/RocketHideoutB4F.asm @@ -0,0 +1,3 @@ + + map_header RocketHideoutB4F, ROCKET_HIDEOUT_B4F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/RocketHideoutElevator.asm b/data/maps/headers/RocketHideoutElevator.asm new file mode 100755 index 00000000..90ece237 --- /dev/null +++ b/data/maps/headers/RocketHideoutElevator.asm @@ -0,0 +1,3 @@ + + map_header RocketHideoutElevator, ROCKET_HIDEOUT_ELEVATOR, LOBBY, 0 + end_map_header diff --git a/data/maps/headers/Route1.asm b/data/maps/headers/Route1.asm new file mode 100755 index 00000000..6eeb0347 --- /dev/null +++ b/data/maps/headers/Route1.asm @@ -0,0 +1,5 @@ + + map_header Route1, ROUTE_1, OVERWORLD, NORTH | SOUTH + connection north, ViridianCity, VIRIDIAN_CITY, -5 + connection south, PalletTown, PALLET_TOWN, 0 + end_map_header diff --git a/data/maps/headers/Route10.asm b/data/maps/headers/Route10.asm new file mode 100755 index 00000000..ba498b0a --- /dev/null +++ b/data/maps/headers/Route10.asm @@ -0,0 +1,5 @@ + + map_header Route10, ROUTE_10, OVERWORLD, SOUTH | WEST + connection south, LavenderTown, LAVENDER_TOWN, 0 + connection west, Route9, ROUTE_9, 0 + end_map_header diff --git a/data/maps/headers/Route11.asm b/data/maps/headers/Route11.asm new file mode 100755 index 00000000..d8f2e72f --- /dev/null +++ b/data/maps/headers/Route11.asm @@ -0,0 +1,5 @@ + + map_header Route11, ROUTE_11, OVERWORLD, WEST | EAST + connection west, VermilionCity, VERMILION_CITY, -4 + connection east, Route12, ROUTE_12, -27 + end_map_header diff --git a/data/maps/headers/Route11Gate1F.asm b/data/maps/headers/Route11Gate1F.asm new file mode 100755 index 00000000..aa97b791 --- /dev/null +++ b/data/maps/headers/Route11Gate1F.asm @@ -0,0 +1,3 @@ + + map_header Route11Gate1F, ROUTE_11_GATE_1F, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route11Gate2F.asm b/data/maps/headers/Route11Gate2F.asm new file mode 100755 index 00000000..560d38db --- /dev/null +++ b/data/maps/headers/Route11Gate2F.asm @@ -0,0 +1,3 @@ + + map_header Route11Gate2F, ROUTE_11_GATE_2F, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route12.asm b/data/maps/headers/Route12.asm new file mode 100755 index 00000000..931ddf1d --- /dev/null +++ b/data/maps/headers/Route12.asm @@ -0,0 +1,6 @@ + + map_header Route12, ROUTE_12, OVERWORLD, NORTH | SOUTH | WEST + connection north, LavenderTown, LAVENDER_TOWN, 0 + connection south, Route13, ROUTE_13, -20 + connection west, Route11, ROUTE_11, 27 + end_map_header diff --git a/data/maps/headers/Route12Gate1F.asm b/data/maps/headers/Route12Gate1F.asm new file mode 100755 index 00000000..047a670c --- /dev/null +++ b/data/maps/headers/Route12Gate1F.asm @@ -0,0 +1,3 @@ + + map_header Route12Gate1F, ROUTE_12_GATE_1F, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route12Gate2F.asm b/data/maps/headers/Route12Gate2F.asm new file mode 100755 index 00000000..e1366736 --- /dev/null +++ b/data/maps/headers/Route12Gate2F.asm @@ -0,0 +1,3 @@ + + map_header Route12Gate2F, ROUTE_12_GATE_2F, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route12SuperRodHouse.asm b/data/maps/headers/Route12SuperRodHouse.asm new file mode 100755 index 00000000..2195a9b1 --- /dev/null +++ b/data/maps/headers/Route12SuperRodHouse.asm @@ -0,0 +1,3 @@ + + map_header Route12SuperRodHouse, ROUTE_12_SUPER_ROD_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/Route13.asm b/data/maps/headers/Route13.asm new file mode 100755 index 00000000..242aaa02 --- /dev/null +++ b/data/maps/headers/Route13.asm @@ -0,0 +1,5 @@ + + map_header Route13, ROUTE_13, OVERWORLD, NORTH | WEST + connection north, Route12, ROUTE_12, 20 + connection west, Route14, ROUTE_14, 0 + end_map_header diff --git a/data/maps/headers/Route14.asm b/data/maps/headers/Route14.asm new file mode 100755 index 00000000..c0c39c56 --- /dev/null +++ b/data/maps/headers/Route14.asm @@ -0,0 +1,5 @@ + + map_header Route14, ROUTE_14, OVERWORLD, WEST | EAST + connection west, Route15, ROUTE_15, 18 + connection east, Route13, ROUTE_13, 0 + end_map_header diff --git a/data/maps/headers/Route15.asm b/data/maps/headers/Route15.asm new file mode 100755 index 00000000..28a811d2 --- /dev/null +++ b/data/maps/headers/Route15.asm @@ -0,0 +1,5 @@ + + map_header Route15, ROUTE_15, OVERWORLD, WEST | EAST + connection west, FuchsiaCity, FUCHSIA_CITY, -4 + connection east, Route14, ROUTE_14, -18 + end_map_header diff --git a/data/maps/headers/Route15Gate1F.asm b/data/maps/headers/Route15Gate1F.asm new file mode 100755 index 00000000..a23d15a0 --- /dev/null +++ b/data/maps/headers/Route15Gate1F.asm @@ -0,0 +1,3 @@ + + map_header Route15Gate1F, ROUTE_15_GATE_1F, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route15Gate2F.asm b/data/maps/headers/Route15Gate2F.asm new file mode 100755 index 00000000..8ca89872 --- /dev/null +++ b/data/maps/headers/Route15Gate2F.asm @@ -0,0 +1,3 @@ + + map_header Route15Gate2F, ROUTE_15_GATE_2F, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route16.asm b/data/maps/headers/Route16.asm new file mode 100755 index 00000000..423c7af2 --- /dev/null +++ b/data/maps/headers/Route16.asm @@ -0,0 +1,5 @@ + + map_header Route16, ROUTE_16, OVERWORLD, SOUTH | EAST + connection south, Route17, ROUTE_17, 0 + connection east, CeladonCity, CELADON_CITY, -4 + end_map_header diff --git a/data/maps/headers/Route16FlyHouse.asm b/data/maps/headers/Route16FlyHouse.asm new file mode 100755 index 00000000..240b6df4 --- /dev/null +++ b/data/maps/headers/Route16FlyHouse.asm @@ -0,0 +1,3 @@ + + map_header Route16FlyHouse, ROUTE_16_FLY_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/Route16Gate1F.asm b/data/maps/headers/Route16Gate1F.asm new file mode 100755 index 00000000..74fd1b7f --- /dev/null +++ b/data/maps/headers/Route16Gate1F.asm @@ -0,0 +1,3 @@ + + map_header Route16Gate1F, ROUTE_16_GATE_1F, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route16Gate2F.asm b/data/maps/headers/Route16Gate2F.asm new file mode 100755 index 00000000..ed889f4b --- /dev/null +++ b/data/maps/headers/Route16Gate2F.asm @@ -0,0 +1,3 @@ + + map_header Route16Gate2F, ROUTE_16_GATE_2F, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route17.asm b/data/maps/headers/Route17.asm new file mode 100755 index 00000000..5e853299 --- /dev/null +++ b/data/maps/headers/Route17.asm @@ -0,0 +1,5 @@ + + map_header Route17, ROUTE_17, OVERWORLD, NORTH | SOUTH + connection north, Route16, ROUTE_16, 0 + connection south, Route18, ROUTE_18, 0 + end_map_header diff --git a/data/maps/headers/Route18.asm b/data/maps/headers/Route18.asm new file mode 100755 index 00000000..34573051 --- /dev/null +++ b/data/maps/headers/Route18.asm @@ -0,0 +1,5 @@ + + map_header Route18, ROUTE_18, OVERWORLD, NORTH | EAST + connection north, Route17, ROUTE_17, 0 + connection east, FuchsiaCity, FUCHSIA_CITY, -4 + end_map_header diff --git a/data/maps/headers/Route18Gate1F.asm b/data/maps/headers/Route18Gate1F.asm new file mode 100755 index 00000000..2847e0e3 --- /dev/null +++ b/data/maps/headers/Route18Gate1F.asm @@ -0,0 +1,3 @@ + + map_header Route18Gate1F, ROUTE_18_GATE_1F, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route18Gate2F.asm b/data/maps/headers/Route18Gate2F.asm new file mode 100755 index 00000000..f25fa700 --- /dev/null +++ b/data/maps/headers/Route18Gate2F.asm @@ -0,0 +1,3 @@ + + map_header Route18Gate2F, ROUTE_18_GATE_2F, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route19.asm b/data/maps/headers/Route19.asm new file mode 100755 index 00000000..7f01c804 --- /dev/null +++ b/data/maps/headers/Route19.asm @@ -0,0 +1,5 @@ + + map_header Route19, ROUTE_19, OVERWORLD, NORTH | WEST + connection north, FuchsiaCity, FUCHSIA_CITY, -5 + connection west, Route20, ROUTE_20, 18 + end_map_header diff --git a/data/maps/headers/Route2.asm b/data/maps/headers/Route2.asm new file mode 100755 index 00000000..521eef69 --- /dev/null +++ b/data/maps/headers/Route2.asm @@ -0,0 +1,5 @@ + + map_header Route2, ROUTE_2, OVERWORLD, NORTH | SOUTH + connection north, PewterCity, PEWTER_CITY, -5 + connection south, ViridianCity, VIRIDIAN_CITY, -5 + end_map_header diff --git a/data/maps/headers/Route20.asm b/data/maps/headers/Route20.asm new file mode 100755 index 00000000..3495b785 --- /dev/null +++ b/data/maps/headers/Route20.asm @@ -0,0 +1,5 @@ + + map_header Route20, ROUTE_20, OVERWORLD, WEST | EAST + connection west, CinnabarIsland, CINNABAR_ISLAND, 0 + connection east, Route19, ROUTE_19, -18 + end_map_header diff --git a/data/maps/headers/Route21.asm b/data/maps/headers/Route21.asm new file mode 100755 index 00000000..803bf217 --- /dev/null +++ b/data/maps/headers/Route21.asm @@ -0,0 +1,5 @@ + + map_header Route21, ROUTE_21, OVERWORLD, NORTH | SOUTH + connection north, PalletTown, PALLET_TOWN, 0 + connection south, CinnabarIsland, CINNABAR_ISLAND, 0 + end_map_header diff --git a/data/maps/headers/Route22.asm b/data/maps/headers/Route22.asm new file mode 100755 index 00000000..e235efa1 --- /dev/null +++ b/data/maps/headers/Route22.asm @@ -0,0 +1,5 @@ + + map_header Route22, ROUTE_22, OVERWORLD, NORTH | EAST + connection north, Route23, ROUTE_23, 0 + connection east, ViridianCity, VIRIDIAN_CITY, -4 + end_map_header diff --git a/data/maps/headers/Route22Gate.asm b/data/maps/headers/Route22Gate.asm new file mode 100755 index 00000000..a9d1dd37 --- /dev/null +++ b/data/maps/headers/Route22Gate.asm @@ -0,0 +1,3 @@ + + map_header Route22Gate, ROUTE_22_GATE, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route23.asm b/data/maps/headers/Route23.asm new file mode 100755 index 00000000..e1535c9d --- /dev/null +++ b/data/maps/headers/Route23.asm @@ -0,0 +1,5 @@ + + map_header Route23, ROUTE_23, PLATEAU, NORTH | SOUTH + connection north, IndigoPlateau, INDIGO_PLATEAU, 0 + connection south, Route22, ROUTE_22, 0 + end_map_header diff --git a/data/maps/headers/Route24.asm b/data/maps/headers/Route24.asm new file mode 100755 index 00000000..faf53660 --- /dev/null +++ b/data/maps/headers/Route24.asm @@ -0,0 +1,5 @@ + + map_header Route24, ROUTE_24, OVERWORLD, SOUTH | EAST + connection south, CeruleanCity, CERULEAN_CITY, -5 + connection east, Route25, ROUTE_25, 0 + end_map_header diff --git a/data/maps/headers/Route25.asm b/data/maps/headers/Route25.asm new file mode 100755 index 00000000..1873d19b --- /dev/null +++ b/data/maps/headers/Route25.asm @@ -0,0 +1,4 @@ + + map_header Route25, ROUTE_25, OVERWORLD, WEST + connection west, Route24, ROUTE_24, 0 + end_map_header diff --git a/data/maps/headers/Route2Gate.asm b/data/maps/headers/Route2Gate.asm new file mode 100755 index 00000000..730d8f2d --- /dev/null +++ b/data/maps/headers/Route2Gate.asm @@ -0,0 +1,3 @@ + + map_header Route2Gate, ROUTE_2_GATE, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route2TradeHouse.asm b/data/maps/headers/Route2TradeHouse.asm new file mode 100755 index 00000000..b9937dad --- /dev/null +++ b/data/maps/headers/Route2TradeHouse.asm @@ -0,0 +1,3 @@ + + map_header Route2TradeHouse, ROUTE_2_TRADE_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/Route3.asm b/data/maps/headers/Route3.asm new file mode 100755 index 00000000..ddbd7783 --- /dev/null +++ b/data/maps/headers/Route3.asm @@ -0,0 +1,5 @@ + + map_header Route3, ROUTE_3, OVERWORLD, NORTH | WEST + connection north, Route4, ROUTE_4, 25 + connection west, PewterCity, PEWTER_CITY, -4 + end_map_header diff --git a/data/maps/headers/Route4.asm b/data/maps/headers/Route4.asm new file mode 100755 index 00000000..6c43171a --- /dev/null +++ b/data/maps/headers/Route4.asm @@ -0,0 +1,5 @@ + + map_header Route4, ROUTE_4, OVERWORLD, SOUTH | EAST + connection south, Route3, ROUTE_3, -25 + connection east, CeruleanCity, CERULEAN_CITY, -4 + end_map_header diff --git a/data/maps/headers/Route5.asm b/data/maps/headers/Route5.asm new file mode 100755 index 00000000..ea84090c --- /dev/null +++ b/data/maps/headers/Route5.asm @@ -0,0 +1,5 @@ + + map_header Route5, ROUTE_5, OVERWORLD, NORTH | SOUTH + connection north, CeruleanCity, CERULEAN_CITY, -5 + connection south, SaffronCity, SAFFRON_CITY, -5 + end_map_header diff --git a/data/maps/headers/Route5Gate.asm b/data/maps/headers/Route5Gate.asm new file mode 100755 index 00000000..a0115533 --- /dev/null +++ b/data/maps/headers/Route5Gate.asm @@ -0,0 +1,3 @@ + + map_header Route5Gate, ROUTE_5_GATE, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route6.asm b/data/maps/headers/Route6.asm new file mode 100755 index 00000000..956aa4d6 --- /dev/null +++ b/data/maps/headers/Route6.asm @@ -0,0 +1,5 @@ + + map_header Route6, ROUTE_6, OVERWORLD, NORTH | SOUTH + connection north, SaffronCity, SAFFRON_CITY, -5 + connection south, VermilionCity, VERMILION_CITY, -5 + end_map_header diff --git a/data/maps/headers/Route6Gate.asm b/data/maps/headers/Route6Gate.asm new file mode 100755 index 00000000..f80b57c8 --- /dev/null +++ b/data/maps/headers/Route6Gate.asm @@ -0,0 +1,3 @@ + + map_header Route6Gate, ROUTE_6_GATE, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route7.asm b/data/maps/headers/Route7.asm new file mode 100755 index 00000000..8368c3fe --- /dev/null +++ b/data/maps/headers/Route7.asm @@ -0,0 +1,5 @@ + + map_header Route7, ROUTE_7, OVERWORLD, WEST | EAST + connection west, CeladonCity, CELADON_CITY, -4 + connection east, SaffronCity, SAFFRON_CITY, -4 + end_map_header diff --git a/data/maps/headers/Route7Gate.asm b/data/maps/headers/Route7Gate.asm new file mode 100755 index 00000000..e9b9b16d --- /dev/null +++ b/data/maps/headers/Route7Gate.asm @@ -0,0 +1,3 @@ + + map_header Route7Gate, ROUTE_7_GATE, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route8.asm b/data/maps/headers/Route8.asm new file mode 100755 index 00000000..8df9e023 --- /dev/null +++ b/data/maps/headers/Route8.asm @@ -0,0 +1,5 @@ + + map_header Route8, ROUTE_8, OVERWORLD, WEST | EAST + connection west, SaffronCity, SAFFRON_CITY, -4 + connection east, LavenderTown, LAVENDER_TOWN, 0 + end_map_header diff --git a/data/maps/headers/Route8Gate.asm b/data/maps/headers/Route8Gate.asm new file mode 100755 index 00000000..f6a320a4 --- /dev/null +++ b/data/maps/headers/Route8Gate.asm @@ -0,0 +1,3 @@ + + map_header Route8Gate, ROUTE_8_GATE, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route9.asm b/data/maps/headers/Route9.asm new file mode 100755 index 00000000..c1ed9225 --- /dev/null +++ b/data/maps/headers/Route9.asm @@ -0,0 +1,5 @@ + + map_header Route9, ROUTE_9, OVERWORLD, WEST | EAST + connection west, CeruleanCity, CERULEAN_CITY, -4 + connection east, Route10, ROUTE_10, 0 + end_map_header diff --git a/data/maps/headers/SSAnne1F.asm b/data/maps/headers/SSAnne1F.asm new file mode 100755 index 00000000..80d25e2d --- /dev/null +++ b/data/maps/headers/SSAnne1F.asm @@ -0,0 +1,3 @@ + + map_header SSAnne1F, SS_ANNE_1F, SHIP, 0 + end_map_header diff --git a/data/maps/headers/SSAnne1FRooms.asm b/data/maps/headers/SSAnne1FRooms.asm new file mode 100755 index 00000000..8bdd8d00 --- /dev/null +++ b/data/maps/headers/SSAnne1FRooms.asm @@ -0,0 +1,3 @@ + + map_header SSAnne1FRooms, SS_ANNE_1F_ROOMS, SHIP, 0 + end_map_header diff --git a/data/maps/headers/SSAnne2F.asm b/data/maps/headers/SSAnne2F.asm new file mode 100755 index 00000000..b2fe14d7 --- /dev/null +++ b/data/maps/headers/SSAnne2F.asm @@ -0,0 +1,3 @@ + + map_header SSAnne2F, SS_ANNE_2F, SHIP, 0 + end_map_header diff --git a/data/maps/headers/SSAnne2FRooms.asm b/data/maps/headers/SSAnne2FRooms.asm new file mode 100755 index 00000000..2d349e4c --- /dev/null +++ b/data/maps/headers/SSAnne2FRooms.asm @@ -0,0 +1,3 @@ + + map_header SSAnne2FRooms, SS_ANNE_2F_ROOMS, SHIP, 0 + end_map_header diff --git a/data/maps/headers/SSAnne3F.asm b/data/maps/headers/SSAnne3F.asm new file mode 100755 index 00000000..f391a0cd --- /dev/null +++ b/data/maps/headers/SSAnne3F.asm @@ -0,0 +1,3 @@ + + map_header SSAnne3F, SS_ANNE_3F, SHIP, 0 + end_map_header diff --git a/data/maps/headers/SSAnneB1F.asm b/data/maps/headers/SSAnneB1F.asm new file mode 100755 index 00000000..c21d7cff --- /dev/null +++ b/data/maps/headers/SSAnneB1F.asm @@ -0,0 +1,3 @@ + + map_header SSAnneB1F, SS_ANNE_B1F, SHIP, 0 + end_map_header diff --git a/data/maps/headers/SSAnneB1FRooms.asm b/data/maps/headers/SSAnneB1FRooms.asm new file mode 100755 index 00000000..1b8b4620 --- /dev/null +++ b/data/maps/headers/SSAnneB1FRooms.asm @@ -0,0 +1,3 @@ + + map_header SSAnneB1FRooms, SS_ANNE_B1F_ROOMS, SHIP, 0 + end_map_header diff --git a/data/maps/headers/SSAnneBow.asm b/data/maps/headers/SSAnneBow.asm new file mode 100755 index 00000000..2195e970 --- /dev/null +++ b/data/maps/headers/SSAnneBow.asm @@ -0,0 +1,3 @@ + + map_header SSAnneBow, SS_ANNE_BOW, SHIP, 0 + end_map_header diff --git a/data/maps/headers/SSAnneCaptainsRoom.asm b/data/maps/headers/SSAnneCaptainsRoom.asm new file mode 100755 index 00000000..a24f930d --- /dev/null +++ b/data/maps/headers/SSAnneCaptainsRoom.asm @@ -0,0 +1,3 @@ + + map_header SSAnneCaptainsRoom, SS_ANNE_CAPTAINS_ROOM, SHIP, 0 + end_map_header diff --git a/data/maps/headers/SSAnneKitchen.asm b/data/maps/headers/SSAnneKitchen.asm new file mode 100755 index 00000000..47e84fbe --- /dev/null +++ b/data/maps/headers/SSAnneKitchen.asm @@ -0,0 +1,3 @@ + + map_header SSAnneKitchen, SS_ANNE_KITCHEN, SHIP, 0 + end_map_header diff --git a/data/maps/headers/SafariZoneCenter.asm b/data/maps/headers/SafariZoneCenter.asm new file mode 100755 index 00000000..ccc58ed1 --- /dev/null +++ b/data/maps/headers/SafariZoneCenter.asm @@ -0,0 +1,3 @@ + + map_header SafariZoneCenter, SAFARI_ZONE_CENTER, FOREST, 0 + end_map_header diff --git a/data/maps/headers/SafariZoneCenterRestHouse.asm b/data/maps/headers/SafariZoneCenterRestHouse.asm new file mode 100755 index 00000000..a866003f --- /dev/null +++ b/data/maps/headers/SafariZoneCenterRestHouse.asm @@ -0,0 +1,3 @@ + + map_header SafariZoneCenterRestHouse, SAFARI_ZONE_CENTER_REST_HOUSE, GATE, 0 + end_map_header diff --git a/data/maps/headers/SafariZoneEast.asm b/data/maps/headers/SafariZoneEast.asm new file mode 100755 index 00000000..c23e9334 --- /dev/null +++ b/data/maps/headers/SafariZoneEast.asm @@ -0,0 +1,3 @@ + + map_header SafariZoneEast, SAFARI_ZONE_EAST, FOREST, 0 + end_map_header diff --git a/data/maps/headers/SafariZoneEastRestHouse.asm b/data/maps/headers/SafariZoneEastRestHouse.asm new file mode 100755 index 00000000..1f8d76c6 --- /dev/null +++ b/data/maps/headers/SafariZoneEastRestHouse.asm @@ -0,0 +1,3 @@ + + map_header SafariZoneEastRestHouse, SAFARI_ZONE_EAST_REST_HOUSE, GATE, 0 + end_map_header diff --git a/data/maps/headers/SafariZoneGate.asm b/data/maps/headers/SafariZoneGate.asm new file mode 100755 index 00000000..7816460d --- /dev/null +++ b/data/maps/headers/SafariZoneGate.asm @@ -0,0 +1,3 @@ + + map_header SafariZoneGate, SAFARI_ZONE_GATE, GATE, 0 + end_map_header diff --git a/data/maps/headers/SafariZoneNorth.asm b/data/maps/headers/SafariZoneNorth.asm new file mode 100755 index 00000000..32639d22 --- /dev/null +++ b/data/maps/headers/SafariZoneNorth.asm @@ -0,0 +1,3 @@ + + map_header SafariZoneNorth, SAFARI_ZONE_NORTH, FOREST, 0 + end_map_header diff --git a/data/maps/headers/SafariZoneNorthRestHouse.asm b/data/maps/headers/SafariZoneNorthRestHouse.asm new file mode 100755 index 00000000..ec083803 --- /dev/null +++ b/data/maps/headers/SafariZoneNorthRestHouse.asm @@ -0,0 +1,3 @@ + + map_header SafariZoneNorthRestHouse, SAFARI_ZONE_NORTH_REST_HOUSE, GATE, 0 + end_map_header diff --git a/data/maps/headers/SafariZoneSecretHouse.asm b/data/maps/headers/SafariZoneSecretHouse.asm new file mode 100755 index 00000000..630577c4 --- /dev/null +++ b/data/maps/headers/SafariZoneSecretHouse.asm @@ -0,0 +1,3 @@ + + map_header SafariZoneSecretHouse, SAFARI_ZONE_SECRET_HOUSE, LAB, 0 + end_map_header diff --git a/data/maps/headers/SafariZoneWest.asm b/data/maps/headers/SafariZoneWest.asm new file mode 100755 index 00000000..a1117d09 --- /dev/null +++ b/data/maps/headers/SafariZoneWest.asm @@ -0,0 +1,3 @@ + + map_header SafariZoneWest, SAFARI_ZONE_WEST, FOREST, 0 + end_map_header diff --git a/data/maps/headers/SafariZoneWestRestHouse.asm b/data/maps/headers/SafariZoneWestRestHouse.asm new file mode 100755 index 00000000..e4618e1d --- /dev/null +++ b/data/maps/headers/SafariZoneWestRestHouse.asm @@ -0,0 +1,3 @@ + + map_header SafariZoneWestRestHouse, SAFARI_ZONE_WEST_REST_HOUSE, GATE, 0 + end_map_header diff --git a/data/maps/headers/SaffronCity.asm b/data/maps/headers/SaffronCity.asm new file mode 100755 index 00000000..ee1f71e4 --- /dev/null +++ b/data/maps/headers/SaffronCity.asm @@ -0,0 +1,7 @@ + + map_header SaffronCity, SAFFRON_CITY, OVERWORLD, NORTH | SOUTH | WEST | EAST + connection north, Route5, ROUTE_5, 5 + connection south, Route6, ROUTE_6, 5 + connection west, Route7, ROUTE_7, 4 + connection east, Route8, ROUTE_8, 4 + end_map_header diff --git a/data/maps/headers/SaffronGym.asm b/data/maps/headers/SaffronGym.asm new file mode 100755 index 00000000..14ee3323 --- /dev/null +++ b/data/maps/headers/SaffronGym.asm @@ -0,0 +1,3 @@ + + map_header SaffronGym, SAFFRON_GYM, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/SaffronMart.asm b/data/maps/headers/SaffronMart.asm new file mode 100755 index 00000000..f03132d2 --- /dev/null +++ b/data/maps/headers/SaffronMart.asm @@ -0,0 +1,3 @@ + + map_header SaffronMart, SAFFRON_MART, MART, 0 + end_map_header diff --git a/data/maps/headers/SaffronPidgeyHouse.asm b/data/maps/headers/SaffronPidgeyHouse.asm new file mode 100755 index 00000000..e9f8dde7 --- /dev/null +++ b/data/maps/headers/SaffronPidgeyHouse.asm @@ -0,0 +1,3 @@ + + map_header SaffronPidgeyHouse, SAFFRON_PIDGEY_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/SaffronPokecenter.asm b/data/maps/headers/SaffronPokecenter.asm new file mode 100755 index 00000000..9b250050 --- /dev/null +++ b/data/maps/headers/SaffronPokecenter.asm @@ -0,0 +1,3 @@ + + map_header SaffronPokecenter, SAFFRON_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/maps/headers/SeafoamIslands1F.asm b/data/maps/headers/SeafoamIslands1F.asm new file mode 100755 index 00000000..db530549 --- /dev/null +++ b/data/maps/headers/SeafoamIslands1F.asm @@ -0,0 +1,3 @@ + + map_header SeafoamIslands1F, SEAFOAM_ISLANDS_1F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/SeafoamIslandsB1F.asm b/data/maps/headers/SeafoamIslandsB1F.asm new file mode 100755 index 00000000..589eef93 --- /dev/null +++ b/data/maps/headers/SeafoamIslandsB1F.asm @@ -0,0 +1,3 @@ + + map_header SeafoamIslandsB1F, SEAFOAM_ISLANDS_B1F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/SeafoamIslandsB2F.asm b/data/maps/headers/SeafoamIslandsB2F.asm new file mode 100755 index 00000000..f7e624ed --- /dev/null +++ b/data/maps/headers/SeafoamIslandsB2F.asm @@ -0,0 +1,3 @@ + + map_header SeafoamIslandsB2F, SEAFOAM_ISLANDS_B2F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/SeafoamIslandsB3F.asm b/data/maps/headers/SeafoamIslandsB3F.asm new file mode 100755 index 00000000..b57da3c0 --- /dev/null +++ b/data/maps/headers/SeafoamIslandsB3F.asm @@ -0,0 +1,3 @@ + + map_header SeafoamIslandsB3F, SEAFOAM_ISLANDS_B3F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/SeafoamIslandsB4F.asm b/data/maps/headers/SeafoamIslandsB4F.asm new file mode 100755 index 00000000..bae1e3a2 --- /dev/null +++ b/data/maps/headers/SeafoamIslandsB4F.asm @@ -0,0 +1,3 @@ + + map_header SeafoamIslandsB4F, SEAFOAM_ISLANDS_B4F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/SilphCo10F.asm b/data/maps/headers/SilphCo10F.asm new file mode 100755 index 00000000..7a6786e7 --- /dev/null +++ b/data/maps/headers/SilphCo10F.asm @@ -0,0 +1,3 @@ + + map_header SilphCo10F, SILPH_CO_10F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/SilphCo11F.asm b/data/maps/headers/SilphCo11F.asm new file mode 100755 index 00000000..72eaaca2 --- /dev/null +++ b/data/maps/headers/SilphCo11F.asm @@ -0,0 +1,3 @@ + + map_header SilphCo11F, SILPH_CO_11F, INTERIOR, 0 + end_map_header diff --git a/data/maps/headers/SilphCo1F.asm b/data/maps/headers/SilphCo1F.asm new file mode 100755 index 00000000..4c4ac97d --- /dev/null +++ b/data/maps/headers/SilphCo1F.asm @@ -0,0 +1,3 @@ + + map_header SilphCo1F, SILPH_CO_1F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/SilphCo2F.asm b/data/maps/headers/SilphCo2F.asm new file mode 100755 index 00000000..7dc44a55 --- /dev/null +++ b/data/maps/headers/SilphCo2F.asm @@ -0,0 +1,3 @@ + + map_header SilphCo2F, SILPH_CO_2F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/SilphCo3F.asm b/data/maps/headers/SilphCo3F.asm new file mode 100755 index 00000000..99e4aa15 --- /dev/null +++ b/data/maps/headers/SilphCo3F.asm @@ -0,0 +1,3 @@ + + map_header SilphCo3F, SILPH_CO_3F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/SilphCo4F.asm b/data/maps/headers/SilphCo4F.asm new file mode 100755 index 00000000..8eed0f9a --- /dev/null +++ b/data/maps/headers/SilphCo4F.asm @@ -0,0 +1,3 @@ + + map_header SilphCo4F, SILPH_CO_4F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/SilphCo5F.asm b/data/maps/headers/SilphCo5F.asm new file mode 100755 index 00000000..3b40c360 --- /dev/null +++ b/data/maps/headers/SilphCo5F.asm @@ -0,0 +1,3 @@ + + map_header SilphCo5F, SILPH_CO_5F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/SilphCo6F.asm b/data/maps/headers/SilphCo6F.asm new file mode 100755 index 00000000..3d2b3b8c --- /dev/null +++ b/data/maps/headers/SilphCo6F.asm @@ -0,0 +1,3 @@ + + map_header SilphCo6F, SILPH_CO_6F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/SilphCo7F.asm b/data/maps/headers/SilphCo7F.asm new file mode 100755 index 00000000..1591837a --- /dev/null +++ b/data/maps/headers/SilphCo7F.asm @@ -0,0 +1,3 @@ + + map_header SilphCo7F, SILPH_CO_7F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/SilphCo8F.asm b/data/maps/headers/SilphCo8F.asm new file mode 100755 index 00000000..e676fa86 --- /dev/null +++ b/data/maps/headers/SilphCo8F.asm @@ -0,0 +1,3 @@ + + map_header SilphCo8F, SILPH_CO_8F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/SilphCo9F.asm b/data/maps/headers/SilphCo9F.asm new file mode 100755 index 00000000..89f0300a --- /dev/null +++ b/data/maps/headers/SilphCo9F.asm @@ -0,0 +1,3 @@ + + map_header SilphCo9F, SILPH_CO_9F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/SilphCoElevator.asm b/data/maps/headers/SilphCoElevator.asm new file mode 100755 index 00000000..4dd9cd9f --- /dev/null +++ b/data/maps/headers/SilphCoElevator.asm @@ -0,0 +1,3 @@ + + map_header SilphCoElevator, SILPH_CO_ELEVATOR, LOBBY, 0 + end_map_header diff --git a/data/maps/headers/TradeCenter.asm b/data/maps/headers/TradeCenter.asm new file mode 100755 index 00000000..268d76b2 --- /dev/null +++ b/data/maps/headers/TradeCenter.asm @@ -0,0 +1,3 @@ + + map_header TradeCenter, TRADE_CENTER, CLUB, 0 + end_map_header diff --git a/data/maps/headers/UndergroundPathNorthSouth.asm b/data/maps/headers/UndergroundPathNorthSouth.asm new file mode 100755 index 00000000..4bb03c79 --- /dev/null +++ b/data/maps/headers/UndergroundPathNorthSouth.asm @@ -0,0 +1,3 @@ + + map_header UndergroundPathNorthSouth, UNDERGROUND_PATH_NORTH_SOUTH, UNDERGROUND, 0 + end_map_header diff --git a/data/maps/headers/UndergroundPathRoute5.asm b/data/maps/headers/UndergroundPathRoute5.asm new file mode 100755 index 00000000..18287254 --- /dev/null +++ b/data/maps/headers/UndergroundPathRoute5.asm @@ -0,0 +1,3 @@ + + map_header UndergroundPathRoute5, UNDERGROUND_PATH_ROUTE_5, GATE, 0 + end_map_header diff --git a/data/maps/headers/UndergroundPathRoute6.asm b/data/maps/headers/UndergroundPathRoute6.asm new file mode 100755 index 00000000..67772543 --- /dev/null +++ b/data/maps/headers/UndergroundPathRoute6.asm @@ -0,0 +1,3 @@ + + map_header UndergroundPathRoute6, UNDERGROUND_PATH_ROUTE_6, GATE, 0 + end_map_header diff --git a/data/maps/headers/UndergroundPathRoute7.asm b/data/maps/headers/UndergroundPathRoute7.asm new file mode 100755 index 00000000..d70548ed --- /dev/null +++ b/data/maps/headers/UndergroundPathRoute7.asm @@ -0,0 +1,3 @@ + + map_header UndergroundPathRoute7, UNDERGROUND_PATH_ROUTE_7, GATE, 0 + end_map_header diff --git a/data/maps/headers/UndergroundPathRoute7Copy.asm b/data/maps/headers/UndergroundPathRoute7Copy.asm new file mode 100755 index 00000000..30bb70a8 --- /dev/null +++ b/data/maps/headers/UndergroundPathRoute7Copy.asm @@ -0,0 +1,3 @@ + + map_header UndergroundPathRoute7Copy, UNDERGROUND_PATH_ROUTE_7, GATE, 0 + end_map_header diff --git a/data/maps/headers/UndergroundPathRoute8.asm b/data/maps/headers/UndergroundPathRoute8.asm new file mode 100755 index 00000000..102d8413 --- /dev/null +++ b/data/maps/headers/UndergroundPathRoute8.asm @@ -0,0 +1,3 @@ + + map_header UndergroundPathRoute8, UNDERGROUND_PATH_ROUTE_8, GATE, 0 + end_map_header diff --git a/data/maps/headers/UndergroundPathWestEast.asm b/data/maps/headers/UndergroundPathWestEast.asm new file mode 100755 index 00000000..05976e87 --- /dev/null +++ b/data/maps/headers/UndergroundPathWestEast.asm @@ -0,0 +1,3 @@ + + map_header UndergroundPathWestEast, UNDERGROUND_PATH_WEST_EAST, UNDERGROUND, 0 + end_map_header diff --git a/data/maps/headers/VermilionCity.asm b/data/maps/headers/VermilionCity.asm new file mode 100755 index 00000000..e211562c --- /dev/null +++ b/data/maps/headers/VermilionCity.asm @@ -0,0 +1,5 @@ + + map_header VermilionCity, VERMILION_CITY, OVERWORLD, NORTH | EAST + connection north, Route6, ROUTE_6, 5 + connection east, Route11, ROUTE_11, 4 + end_map_header diff --git a/data/maps/headers/VermilionDock.asm b/data/maps/headers/VermilionDock.asm new file mode 100755 index 00000000..9a9b61c2 --- /dev/null +++ b/data/maps/headers/VermilionDock.asm @@ -0,0 +1,3 @@ + + map_header VermilionDock, VERMILION_DOCK, SHIP_PORT, 0 + end_map_header diff --git a/data/maps/headers/VermilionGym.asm b/data/maps/headers/VermilionGym.asm new file mode 100755 index 00000000..ca75b8c1 --- /dev/null +++ b/data/maps/headers/VermilionGym.asm @@ -0,0 +1,3 @@ + + map_header VermilionGym, VERMILION_GYM, GYM, 0 + end_map_header diff --git a/data/maps/headers/VermilionMart.asm b/data/maps/headers/VermilionMart.asm new file mode 100755 index 00000000..5777db4b --- /dev/null +++ b/data/maps/headers/VermilionMart.asm @@ -0,0 +1,3 @@ + + map_header VermilionMart, VERMILION_MART, MART, 0 + end_map_header diff --git a/data/maps/headers/VermilionOldRodHouse.asm b/data/maps/headers/VermilionOldRodHouse.asm new file mode 100755 index 00000000..f9c890e0 --- /dev/null +++ b/data/maps/headers/VermilionOldRodHouse.asm @@ -0,0 +1,3 @@ + + map_header VermilionOldRodHouse, VERMILION_OLD_ROD_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/VermilionPidgeyHouse.asm b/data/maps/headers/VermilionPidgeyHouse.asm new file mode 100755 index 00000000..afb81784 --- /dev/null +++ b/data/maps/headers/VermilionPidgeyHouse.asm @@ -0,0 +1,3 @@ + + map_header VermilionPidgeyHouse, VERMILION_PIDGEY_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/VermilionPokecenter.asm b/data/maps/headers/VermilionPokecenter.asm new file mode 100755 index 00000000..af9827ac --- /dev/null +++ b/data/maps/headers/VermilionPokecenter.asm @@ -0,0 +1,3 @@ + + map_header VermilionPokecenter, VERMILION_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/maps/headers/VermilionTradeHouse.asm b/data/maps/headers/VermilionTradeHouse.asm new file mode 100755 index 00000000..3cb82c47 --- /dev/null +++ b/data/maps/headers/VermilionTradeHouse.asm @@ -0,0 +1,3 @@ + + map_header VermilionTradeHouse, VERMILION_TRADE_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/VictoryRoad1F.asm b/data/maps/headers/VictoryRoad1F.asm new file mode 100755 index 00000000..dae95f16 --- /dev/null +++ b/data/maps/headers/VictoryRoad1F.asm @@ -0,0 +1,3 @@ + + map_header VictoryRoad1F, VICTORY_ROAD_1F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/VictoryRoad2F.asm b/data/maps/headers/VictoryRoad2F.asm new file mode 100755 index 00000000..99079ad3 --- /dev/null +++ b/data/maps/headers/VictoryRoad2F.asm @@ -0,0 +1,3 @@ + + map_header VictoryRoad2F, VICTORY_ROAD_2F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/VictoryRoad3F.asm b/data/maps/headers/VictoryRoad3F.asm new file mode 100755 index 00000000..bc15cad7 --- /dev/null +++ b/data/maps/headers/VictoryRoad3F.asm @@ -0,0 +1,3 @@ + + map_header VictoryRoad3F, VICTORY_ROAD_3F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/ViridianCity.asm b/data/maps/headers/ViridianCity.asm new file mode 100755 index 00000000..0771cc81 --- /dev/null +++ b/data/maps/headers/ViridianCity.asm @@ -0,0 +1,6 @@ + + map_header ViridianCity, VIRIDIAN_CITY, OVERWORLD, NORTH | SOUTH | WEST + connection north, Route2, ROUTE_2, 5 + connection south, Route1, ROUTE_1, 5 + connection west, Route22, ROUTE_22, 4 + end_map_header diff --git a/data/maps/headers/ViridianForest.asm b/data/maps/headers/ViridianForest.asm new file mode 100755 index 00000000..d531ec86 --- /dev/null +++ b/data/maps/headers/ViridianForest.asm @@ -0,0 +1,3 @@ + + map_header ViridianForest, VIRIDIAN_FOREST, FOREST, 0 + end_map_header diff --git a/data/maps/headers/ViridianForestNorthGate.asm b/data/maps/headers/ViridianForestNorthGate.asm new file mode 100755 index 00000000..5bfcd6ed --- /dev/null +++ b/data/maps/headers/ViridianForestNorthGate.asm @@ -0,0 +1,3 @@ + + map_header ViridianForestNorthGate, VIRIDIAN_FOREST_NORTH_GATE, FOREST_GATE, 0 + end_map_header diff --git a/data/maps/headers/ViridianForestSouthGate.asm b/data/maps/headers/ViridianForestSouthGate.asm new file mode 100755 index 00000000..87a49284 --- /dev/null +++ b/data/maps/headers/ViridianForestSouthGate.asm @@ -0,0 +1,3 @@ + + map_header ViridianForestSouthGate, VIRIDIAN_FOREST_SOUTH_GATE, FOREST_GATE, 0 + end_map_header diff --git a/data/maps/headers/ViridianGym.asm b/data/maps/headers/ViridianGym.asm new file mode 100755 index 00000000..640a71b6 --- /dev/null +++ b/data/maps/headers/ViridianGym.asm @@ -0,0 +1,3 @@ + + map_header ViridianGym, VIRIDIAN_GYM, GYM, 0 + end_map_header diff --git a/data/maps/headers/ViridianMart.asm b/data/maps/headers/ViridianMart.asm new file mode 100755 index 00000000..817b5265 --- /dev/null +++ b/data/maps/headers/ViridianMart.asm @@ -0,0 +1,3 @@ + + map_header ViridianMart, VIRIDIAN_MART, MART, 0 + end_map_header diff --git a/data/maps/headers/ViridianNicknameHouse.asm b/data/maps/headers/ViridianNicknameHouse.asm new file mode 100755 index 00000000..5a7c272f --- /dev/null +++ b/data/maps/headers/ViridianNicknameHouse.asm @@ -0,0 +1,3 @@ + + map_header ViridianNicknameHouse, VIRIDIAN_NICKNAME_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/ViridianPokecenter.asm b/data/maps/headers/ViridianPokecenter.asm new file mode 100755 index 00000000..daac19f3 --- /dev/null +++ b/data/maps/headers/ViridianPokecenter.asm @@ -0,0 +1,3 @@ + + map_header ViridianPokecenter, VIRIDIAN_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/maps/headers/ViridianSchoolHouse.asm b/data/maps/headers/ViridianSchoolHouse.asm new file mode 100755 index 00000000..f5b77212 --- /dev/null +++ b/data/maps/headers/ViridianSchoolHouse.asm @@ -0,0 +1,3 @@ + + map_header ViridianSchoolHouse, VIRIDIAN_SCHOOL_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/WardensHouse.asm b/data/maps/headers/WardensHouse.asm new file mode 100755 index 00000000..08216f59 --- /dev/null +++ b/data/maps/headers/WardensHouse.asm @@ -0,0 +1,3 @@ + + map_header WardensHouse, WARDENS_HOUSE, LAB, 0 + end_map_header diff --git a/data/maps/objects/AgathasRoom.asm b/data/maps/objects/AgathasRoom.asm new file mode 100755 index 00000000..4a82e78d --- /dev/null +++ b/data/maps/objects/AgathasRoom.asm @@ -0,0 +1,19 @@ +AgathasRoom_Object: + db $0 ; border block + + db 4 ; warps + warp 4, 11, 2, BRUNOS_ROOM + warp 5, 11, 3, BRUNOS_ROOM + warp 4, 0, 0, LANCES_ROOM + warp 5, 0, 0, LANCES_ROOM + + db 0 ; signs + + db 1 ; objects + object SPRITE_AGATHA, 5, 2, STAY, DOWN, 1, OPP_AGATHA, 1 + + ; warp-to + warp_to 4, 11, AGATHAS_ROOM_WIDTH ; BRUNOS_ROOM + warp_to 5, 11, AGATHAS_ROOM_WIDTH ; BRUNOS_ROOM + warp_to 4, 0, AGATHAS_ROOM_WIDTH ; LANCES_ROOM + warp_to 5, 0, AGATHAS_ROOM_WIDTH ; LANCES_ROOM diff --git a/data/maps/objects/BikeShop.asm b/data/maps/objects/BikeShop.asm new file mode 100755 index 00000000..9f21ab3e --- /dev/null +++ b/data/maps/objects/BikeShop.asm @@ -0,0 +1,17 @@ +BikeShop_Object: + db $e ; border block + + db 2 ; warps + warp 2, 7, 4, -1 + warp 3, 7, 4, -1 + + db 0 ; signs + + db 3 ; objects + object SPRITE_BIKE_SHOP_GUY, 6, 2, STAY, NONE, 1 ; person + object SPRITE_MOM_GEISHA, 5, 6, WALK, 1, 2 ; person + object SPRITE_BUG_CATCHER, 1, 3, STAY, UP, 3 ; person + + ; warp-to + warp_to 2, 7, BIKE_SHOP_WIDTH + warp_to 3, 7, BIKE_SHOP_WIDTH diff --git a/data/maps/objects/BillsHouse.asm b/data/maps/objects/BillsHouse.asm new file mode 100755 index 00000000..c8f708cb --- /dev/null +++ b/data/maps/objects/BillsHouse.asm @@ -0,0 +1,17 @@ +BillsHouse_Object: + db $d ; border block + + db 2 ; warps + warp 2, 7, 0, -1 + warp 3, 7, 0, -1 + + db 0 ; signs + + db 3 ; objects + object SPRITE_SLOWBRO, 6, 5, STAY, NONE, 1 ; person + object SPRITE_BLACK_HAIR_BOY_2, 4, 4, STAY, NONE, 2 ; person + object SPRITE_BLACK_HAIR_BOY_2, 6, 5, STAY, NONE, 3 ; person + + ; warp-to + warp_to 2, 7, BILLS_HOUSE_WIDTH + warp_to 3, 7, BILLS_HOUSE_WIDTH diff --git a/data/maps/objects/BluesHouse.asm b/data/maps/objects/BluesHouse.asm new file mode 100755 index 00000000..45ca1286 --- /dev/null +++ b/data/maps/objects/BluesHouse.asm @@ -0,0 +1,17 @@ +BluesHouse_Object: + db $a ; border block + + db 2 ; warps + warp 2, 7, 1, -1 + warp 3, 7, 1, -1 + + db 0 ; signs + + db 3 ; objects + object SPRITE_DAISY, 2, 3, STAY, RIGHT, 1 ; Daisy, sitting by map + object SPRITE_DAISY, 6, 4, WALK, 1, 2, 0 ; Daisy, walking around + object SPRITE_BOOK_MAP_DEX, 3, 3, STAY, NONE, 3, 0 ; map on table + + ; warp-to + warp_to 2, 7, BLUES_HOUSE_WIDTH + warp_to 3, 7, BLUES_HOUSE_WIDTH diff --git a/data/maps/objects/BrunosRoom.asm b/data/maps/objects/BrunosRoom.asm new file mode 100755 index 00000000..dde1e2dd --- /dev/null +++ b/data/maps/objects/BrunosRoom.asm @@ -0,0 +1,19 @@ +BrunosRoom_Object: + db $3 ; border block + + db 4 ; warps + warp 4, 11, 2, LORELEIS_ROOM + warp 5, 11, 3, LORELEIS_ROOM + warp 4, 0, 0, AGATHAS_ROOM + warp 5, 0, 1, AGATHAS_ROOM + + db 0 ; signs + + db 1 ; objects + object SPRITE_BRUNO, 5, 2, STAY, DOWN, 1, OPP_BRUNO, 1 + + ; warp-to + warp_to 4, 11, BRUNOS_ROOM_WIDTH ; LORELEIS_ROOM + warp_to 5, 11, BRUNOS_ROOM_WIDTH ; LORELEIS_ROOM + warp_to 4, 0, BRUNOS_ROOM_WIDTH ; AGATHAS_ROOM + warp_to 5, 0, BRUNOS_ROOM_WIDTH ; AGATHAS_ROOM diff --git a/data/maps/objects/CeladonChiefHouse.asm b/data/maps/objects/CeladonChiefHouse.asm new file mode 100755 index 00000000..88850f35 --- /dev/null +++ b/data/maps/objects/CeladonChiefHouse.asm @@ -0,0 +1,17 @@ +CeladonChiefHouse_Object: + db $f ; border block + + db 2 ; warps + warp 2, 7, 11, -1 + warp 3, 7, 11, -1 + + db 0 ; signs + + db 3 ; objects + object SPRITE_OLD_PERSON, 4, 2, STAY, DOWN, 1 ; person + object SPRITE_ROCKET, 1, 4, WALK, 0, 2 ; person + object SPRITE_SAILOR, 5, 6, STAY, LEFT, 3 ; person + + ; warp-to + warp_to 2, 7, CELADON_CHIEF_HOUSE_WIDTH + warp_to 3, 7, CELADON_CHIEF_HOUSE_WIDTH diff --git a/data/maps/objects/CeladonCity.asm b/data/maps/objects/CeladonCity.asm new file mode 100755 index 00000000..005fc61e --- /dev/null +++ b/data/maps/objects/CeladonCity.asm @@ -0,0 +1,54 @@ +CeladonCity_Object: + db $f ; border block + + db 13 ; warps + warp 8, 13, 0, CELADON_MART_1F + warp 10, 13, 2, CELADON_MART_1F + warp 24, 9, 0, CELADON_MANSION_1F + warp 24, 3, 2, CELADON_MANSION_1F + warp 25, 3, 2, CELADON_MANSION_1F + warp 41, 9, 0, CELADON_POKECENTER + warp 12, 27, 0, CELADON_GYM + warp 28, 19, 0, GAME_CORNER + warp 39, 19, 0, CELADON_MART_5F ; beta warp! no longer used + warp 33, 19, 0, GAME_CORNER_PRIZE_ROOM + warp 31, 27, 0, CELADON_DINER + warp 35, 27, 0, CELADON_CHIEF_HOUSE + warp 43, 27, 0, CELADON_HOTEL + + db 9 ; signs + sign 27, 15, 10 ; CeladonCityText10 + sign 19, 15, 11 ; CeladonCityText11 + sign 42, 9, 12 ; PokeCenterSignText + sign 13, 29, 13 ; CeladonCityText13 + sign 21, 9, 14 ; CeladonCityText14 + sign 12, 13, 15 ; CeladonCityText15 + sign 39, 21, 16 ; CeladonCityText16 + sign 33, 21, 17 ; CeladonCityText17 + sign 27, 21, 18 ; CeladonCityText18 + + db 9 ; objects + object SPRITE_LITTLE_GIRL, 8, 17, WALK, 0, 1 ; person + object SPRITE_OLD_PERSON, 11, 28, STAY, UP, 2 ; person + object SPRITE_GIRL, 14, 19, WALK, 1, 3 ; person + object SPRITE_OLD_PERSON, 25, 22, STAY, DOWN, 4 ; person + object SPRITE_OLD_PERSON, 22, 16, STAY, DOWN, 5 ; person + object SPRITE_FISHER2, 32, 12, STAY, LEFT, 6 ; person + object SPRITE_SLOWBRO, 30, 12, STAY, RIGHT, 7 ; person + object SPRITE_ROCKET, 32, 29, WALK, 2, 8 ; person + object SPRITE_ROCKET, 42, 14, WALK, 2, 9 ; person + + ; warp-to + warp_to 8, 13, CELADON_CITY_WIDTH ; CELADON_MART_1F + warp_to 10, 13, CELADON_CITY_WIDTH ; CELADON_MART_1F + warp_to 24, 9, CELADON_CITY_WIDTH ; CELADON_MANSION_1F + warp_to 24, 3, CELADON_CITY_WIDTH ; CELADON_MANSION_1F + warp_to 25, 3, CELADON_CITY_WIDTH ; CELADON_MANSION_1F + warp_to 41, 9, CELADON_CITY_WIDTH ; CELADON_POKECENTER + warp_to 12, 27, CELADON_CITY_WIDTH ; CELADON_GYM + warp_to 28, 19, CELADON_CITY_WIDTH ; GAME_CORNER + warp_to 39, 19, CELADON_CITY_WIDTH ; CELADON_MART_5F + warp_to 33, 19, CELADON_CITY_WIDTH ; GAME_CORNER_PRIZE_ROOM + warp_to 31, 27, CELADON_CITY_WIDTH ; CELADON_DINER + warp_to 35, 27, CELADON_CITY_WIDTH ; CELADON_CHIEF_HOUSE + warp_to 43, 27, CELADON_CITY_WIDTH ; CELADON_HOTEL diff --git a/data/maps/objects/CeladonDiner.asm b/data/maps/objects/CeladonDiner.asm new file mode 100755 index 00000000..0a4a895d --- /dev/null +++ b/data/maps/objects/CeladonDiner.asm @@ -0,0 +1,19 @@ +CeladonDiner_Object: + db $f ; border block + + db 2 ; warps + warp 3, 7, 10, -1 + warp 4, 7, 10, -1 + + db 0 ; signs + + db 5 ; objects + object SPRITE_COOK, 8, 5, WALK, 2, 1 ; person + object SPRITE_MOM_GEISHA, 7, 2, STAY, NONE, 2 ; person + object SPRITE_FAT_BALD_GUY, 1, 4, STAY, DOWN, 3 ; person + object SPRITE_FISHER2, 5, 3, STAY, RIGHT, 4 ; person + object SPRITE_GYM_HELPER, 0, 1, STAY, DOWN, 5 ; person + + ; warp-to + warp_to 3, 7, CELADON_DINER_WIDTH + warp_to 4, 7, CELADON_DINER_WIDTH diff --git a/data/maps/objects/CeladonGym.asm b/data/maps/objects/CeladonGym.asm new file mode 100755 index 00000000..98fce576 --- /dev/null +++ b/data/maps/objects/CeladonGym.asm @@ -0,0 +1,22 @@ +CeladonGym_Object: + db $3 ; border block + + db 2 ; warps + warp 4, 17, 6, -1 + warp 5, 17, 6, -1 + + db 0 ; signs + + db 8 ; objects + object SPRITE_ERIKA, 4, 3, STAY, DOWN, 1, OPP_ERIKA, 1 + object SPRITE_LASS, 2, 11, STAY, RIGHT, 2, OPP_LASS, 17 + object SPRITE_FOULARD_WOMAN, 7, 10, STAY, LEFT, 3, OPP_BEAUTY, 1 + object SPRITE_LASS, 9, 5, STAY, DOWN, 4, OPP_JR_TRAINER_F, 11 + object SPRITE_FOULARD_WOMAN, 1, 5, STAY, DOWN, 5, OPP_BEAUTY, 2 + object SPRITE_LASS, 6, 3, STAY, DOWN, 6, OPP_LASS, 18 + object SPRITE_FOULARD_WOMAN, 3, 3, STAY, DOWN, 7, OPP_BEAUTY, 3 + object SPRITE_LASS, 5, 3, STAY, DOWN, 8, OPP_COOLTRAINER_F, 1 + + ; warp-to + warp_to 4, 17, CELADON_GYM_WIDTH + warp_to 5, 17, CELADON_GYM_WIDTH diff --git a/data/maps/objects/CeladonHotel.asm b/data/maps/objects/CeladonHotel.asm new file mode 100755 index 00000000..f4aa1305 --- /dev/null +++ b/data/maps/objects/CeladonHotel.asm @@ -0,0 +1,17 @@ +CeladonHotel_Object: + db $0 ; border block + + db 2 ; warps + warp 3, 7, 12, -1 + warp 4, 7, 12, -1 + + db 0 ; signs + + db 3 ; objects + object SPRITE_OLD_MEDIUM_WOMAN, 3, 1, STAY, DOWN, 1 ; person + object SPRITE_FOULARD_WOMAN, 2, 4, STAY, NONE, 2 ; person + object SPRITE_BLACK_HAIR_BOY_2, 8, 4, WALK, 2, 3 ; person + + ; warp-to + warp_to 3, 7, CELADON_HOTEL_WIDTH + warp_to 4, 7, CELADON_HOTEL_WIDTH diff --git a/data/maps/objects/CeladonMansion1F.asm b/data/maps/objects/CeladonMansion1F.asm new file mode 100755 index 00000000..1abd434c --- /dev/null +++ b/data/maps/objects/CeladonMansion1F.asm @@ -0,0 +1,25 @@ +CeladonMansion1F_Object: + db $f ; border block + + db 5 ; warps + warp 4, 11, 2, -1 + warp 5, 11, 2, -1 + warp 4, 0, 4, -1 + warp 7, 1, 1, CELADON_MANSION_2F + warp 2, 1, 2, CELADON_MANSION_2F + + db 1 ; signs + sign 4, 9, 5 ; CeladonMansion1Text5 + + db 4 ; objects + object SPRITE_SLOWBRO, 0, 5, STAY, RIGHT, 1 ; person + object SPRITE_OLD_MEDIUM_WOMAN, 1, 5, STAY, DOWN, 2 ; person + object SPRITE_CLEFAIRY, 1, 8, WALK, 2, 3 ; person + object SPRITE_SLOWBRO, 4, 4, WALK, 1, 4 ; person + + ; warp-to + warp_to 4, 11, CELADON_MANSION_1F_WIDTH + warp_to 5, 11, CELADON_MANSION_1F_WIDTH + warp_to 4, 0, CELADON_MANSION_1F_WIDTH + warp_to 7, 1, CELADON_MANSION_1F_WIDTH ; CELADON_MANSION_2F + warp_to 2, 1, CELADON_MANSION_1F_WIDTH ; CELADON_MANSION_2F diff --git a/data/maps/objects/CeladonMansion2F.asm b/data/maps/objects/CeladonMansion2F.asm new file mode 100755 index 00000000..09c94d29 --- /dev/null +++ b/data/maps/objects/CeladonMansion2F.asm @@ -0,0 +1,19 @@ +CeladonMansion2F_Object: + db $f ; border block + + db 4 ; warps + warp 6, 1, 0, CELADON_MANSION_3F + warp 7, 1, 3, CELADON_MANSION_1F + warp 2, 1, 4, CELADON_MANSION_1F + warp 4, 1, 3, CELADON_MANSION_3F + + db 1 ; signs + sign 4, 9, 1 ; CeladonMansion2Text1 + + db 0 ; objects + + ; warp-to + warp_to 6, 1, CELADON_MANSION_2F_WIDTH ; CELADON_MANSION_3F + warp_to 7, 1, CELADON_MANSION_2F_WIDTH ; CELADON_MANSION_1F + warp_to 2, 1, CELADON_MANSION_2F_WIDTH ; CELADON_MANSION_1F + warp_to 4, 1, CELADON_MANSION_2F_WIDTH ; CELADON_MANSION_3F diff --git a/data/maps/objects/CeladonMansion3F.asm b/data/maps/objects/CeladonMansion3F.asm new file mode 100755 index 00000000..32701f14 --- /dev/null +++ b/data/maps/objects/CeladonMansion3F.asm @@ -0,0 +1,26 @@ +CeladonMansion3F_Object: + db $f ; border block + + db 4 ; warps + warp 6, 1, 0, CELADON_MANSION_2F + warp 7, 1, 0, CELADON_MANSION_ROOF + warp 2, 1, 1, CELADON_MANSION_ROOF + warp 4, 1, 3, CELADON_MANSION_2F + + db 4 ; signs + sign 1, 3, 5 ; CeladonMansion3Text5 + sign 4, 3, 6 ; CeladonMansion3Text6 + sign 1, 6, 7 ; CeladonMansion3Text7 + sign 4, 9, 8 ; CeladonMansion3Text8 + + db 4 ; objects + object SPRITE_BIKE_SHOP_GUY, 0, 4, STAY, UP, 1 ; person + object SPRITE_MART_GUY, 3, 4, STAY, UP, 2 ; person + object SPRITE_BLACK_HAIR_BOY_2, 0, 7, STAY, UP, 3 ; person + object SPRITE_LAPRAS_GIVER, 2, 3, STAY, NONE, 4 ; person + + ; warp-to + warp_to 6, 1, CELADON_MANSION_3F_WIDTH ; CELADON_MANSION_2F + warp_to 7, 1, CELADON_MANSION_3F_WIDTH ; CELADON_MANSION_ROOF + warp_to 2, 1, CELADON_MANSION_3F_WIDTH ; CELADON_MANSION_ROOF + warp_to 4, 1, CELADON_MANSION_3F_WIDTH ; CELADON_MANSION_2F diff --git a/data/maps/objects/CeladonMansionRoof.asm b/data/maps/objects/CeladonMansionRoof.asm new file mode 100755 index 00000000..353b0b96 --- /dev/null +++ b/data/maps/objects/CeladonMansionRoof.asm @@ -0,0 +1,17 @@ +CeladonMansionRoof_Object: + db $9 ; border block + + db 3 ; warps + warp 6, 1, 1, CELADON_MANSION_3F + warp 2, 1, 2, CELADON_MANSION_3F + warp 2, 7, 0, CELADON_MANSION_ROOF_HOUSE + + db 1 ; signs + sign 3, 7, 1 ; CeladonMansion4Text1 + + db 0 ; objects + + ; warp-to + warp_to 6, 1, CELADON_MANSION_ROOF_WIDTH ; CELADON_MANSION_3F + warp_to 2, 1, CELADON_MANSION_ROOF_WIDTH ; CELADON_MANSION_3F + warp_to 2, 7, CELADON_MANSION_ROOF_WIDTH ; CELADON_MANSION_ROOF_HOUSE diff --git a/data/maps/objects/CeladonMansionRoofHouse.asm b/data/maps/objects/CeladonMansionRoofHouse.asm new file mode 100755 index 00000000..b6a6149f --- /dev/null +++ b/data/maps/objects/CeladonMansionRoofHouse.asm @@ -0,0 +1,16 @@ +CeladonMansionRoofHouse_Object: + db $a ; border block + + db 2 ; warps + warp 2, 7, 2, CELADON_MANSION_ROOF + warp 3, 7, 2, CELADON_MANSION_ROOF + + db 0 ; signs + + db 2 ; objects + object SPRITE_HIKER, 2, 2, STAY, DOWN, 1 ; person + object SPRITE_BALL, 4, 3, STAY, NONE, 2 ; person + + ; warp-to + warp_to 2, 7, CELADON_MANSION_ROOF_HOUSE_WIDTH ; CELADON_MANSION_ROOF + warp_to 3, 7, CELADON_MANSION_ROOF_HOUSE_WIDTH ; CELADON_MANSION_ROOF diff --git a/data/maps/objects/CeladonMart1F.asm b/data/maps/objects/CeladonMart1F.asm new file mode 100755 index 00000000..2037369a --- /dev/null +++ b/data/maps/objects/CeladonMart1F.asm @@ -0,0 +1,25 @@ +CeladonMart1F_Object: + db $f ; border block + + db 6 ; warps + warp 2, 7, 0, -1 + warp 3, 7, 0, -1 + warp 16, 7, 1, -1 + warp 17, 7, 1, -1 + warp 12, 1, 0, CELADON_MART_2F + warp 1, 1, 0, CELADON_MART_ELEVATOR + + db 2 ; signs + sign 11, 4, 2 ; CeladonMart1Text2 + sign 14, 1, 3 ; CeladonMart1Text3 + + db 1 ; objects + object SPRITE_CABLE_CLUB_WOMAN, 8, 3, STAY, DOWN, 1 ; person + + ; warp-to + warp_to 2, 7, CELADON_MART_1F_WIDTH + warp_to 3, 7, CELADON_MART_1F_WIDTH + warp_to 16, 7, CELADON_MART_1F_WIDTH + warp_to 17, 7, CELADON_MART_1F_WIDTH + warp_to 12, 1, CELADON_MART_1F_WIDTH ; CELADON_MART_2F + warp_to 1, 1, CELADON_MART_1F_WIDTH ; CELADON_MART_ELEVATOR diff --git a/data/maps/objects/CeladonMart2F.asm b/data/maps/objects/CeladonMart2F.asm new file mode 100755 index 00000000..2f5f428e --- /dev/null +++ b/data/maps/objects/CeladonMart2F.asm @@ -0,0 +1,21 @@ +CeladonMart2F_Object: + db $f ; border block + + db 3 ; warps + warp 12, 1, 4, CELADON_MART_1F + warp 16, 1, 1, CELADON_MART_3F + warp 1, 1, 0, CELADON_MART_ELEVATOR + + db 1 ; signs + sign 14, 1, 5 ; CeladonMart2Text5 + + db 4 ; objects + object SPRITE_MART_GUY, 5, 3, STAY, DOWN, 1 ; person + object SPRITE_MART_GUY, 6, 3, STAY, DOWN, 2 ; person + object SPRITE_FAT_BALD_GUY, 19, 5, STAY, NONE, 3 ; person + object SPRITE_GIRL, 14, 4, WALK, 1, 4 ; person + + ; warp-to + warp_to 12, 1, CELADON_MART_2F_WIDTH ; CELADON_MART_1F + warp_to 16, 1, CELADON_MART_2F_WIDTH ; CELADON_MART_3F + warp_to 1, 1, CELADON_MART_2F_WIDTH ; CELADON_MART_ELEVATOR diff --git a/data/maps/objects/CeladonMart3F.asm b/data/maps/objects/CeladonMart3F.asm new file mode 100755 index 00000000..6dfce535 --- /dev/null +++ b/data/maps/objects/CeladonMart3F.asm @@ -0,0 +1,33 @@ +CeladonMart3F_Object: + db $f ; border block + + db 3 ; warps + warp 12, 1, 0, CELADON_MART_4F + warp 16, 1, 1, CELADON_MART_2F + warp 1, 1, 0, CELADON_MART_ELEVATOR + + db 12 ; signs + sign 2, 4, 6 ; CeladonMart3Text6 + sign 3, 4, 7 ; CeladonMart3Text7 + sign 5, 4, 8 ; CeladonMart3Text8 + sign 6, 4, 9 ; CeladonMart3Text9 + sign 2, 6, 10 ; CeladonMart3Text10 + sign 3, 6, 11 ; CeladonMart3Text11 + sign 5, 6, 12 ; CeladonMart3Text12 + sign 6, 6, 13 ; CeladonMart3Text13 + sign 14, 1, 14 ; CeladonMart3Text14 + sign 4, 1, 15 ; CeladonMart3Text15 + sign 6, 1, 16 ; CeladonMart3Text16 + sign 10, 1, 17 ; CeladonMart3Text17 + + db 5 ; objects + object SPRITE_MART_GUY, 16, 5, STAY, NONE, 1 ; person + object SPRITE_GAMEBOY_KID_COPY, 11, 6, STAY, RIGHT, 2 ; person + object SPRITE_GAMEBOY_KID_COPY, 7, 2, STAY, DOWN, 3 ; person + object SPRITE_GAMEBOY_KID_COPY, 8, 2, STAY, DOWN, 4 ; person + object SPRITE_YOUNG_BOY, 2, 5, STAY, UP, 5 ; person + + ; warp-to + warp_to 12, 1, CELADON_MART_3F_WIDTH ; CELADON_MART_4F + warp_to 16, 1, CELADON_MART_3F_WIDTH ; CELADON_MART_2F + warp_to 1, 1, CELADON_MART_3F_WIDTH ; CELADON_MART_ELEVATOR diff --git a/data/maps/objects/CeladonMart4F.asm b/data/maps/objects/CeladonMart4F.asm new file mode 100755 index 00000000..18ba3bdc --- /dev/null +++ b/data/maps/objects/CeladonMart4F.asm @@ -0,0 +1,20 @@ +CeladonMart4F_Object: + db $f ; border block + + db 3 ; warps + warp 12, 1, 0, CELADON_MART_3F + warp 16, 1, 1, CELADON_MART_5F + warp 1, 1, 0, CELADON_MART_ELEVATOR + + db 1 ; signs + sign 14, 1, 4 ; CeladonMart4Text4 + + db 3 ; objects + object SPRITE_MART_GUY, 5, 7, STAY, NONE, 1 ; person + object SPRITE_BLACK_HAIR_BOY_2, 15, 5, WALK, 2, 2 ; person + object SPRITE_BUG_CATCHER, 5, 2, WALK, 2, 3 ; person + + ; warp-to + warp_to 12, 1, CELADON_MART_4F_WIDTH ; CELADON_MART_3F + warp_to 16, 1, CELADON_MART_4F_WIDTH ; CELADON_MART_5F + warp_to 1, 1, CELADON_MART_4F_WIDTH ; CELADON_MART_ELEVATOR diff --git a/data/maps/objects/CeladonMart5F.asm b/data/maps/objects/CeladonMart5F.asm new file mode 100755 index 00000000..fb1201c9 --- /dev/null +++ b/data/maps/objects/CeladonMart5F.asm @@ -0,0 +1,21 @@ +CeladonMart5F_Object: + db $f ; border block + + db 3 ; warps + warp 12, 1, 0, CELADON_MART_ROOF + warp 16, 1, 1, CELADON_MART_4F + warp 1, 1, 0, CELADON_MART_ELEVATOR + + db 1 ; signs + sign 14, 1, 5 ; CeladonMart5Text5 + + db 4 ; objects + object SPRITE_GENTLEMAN, 14, 5, WALK, 1, 1 ; person + object SPRITE_SAILOR, 2, 6, STAY, NONE, 2 ; person + object SPRITE_MART_GUY, 5, 3, STAY, DOWN, 3 ; person + object SPRITE_MART_GUY, 6, 3, STAY, DOWN, 4 ; person + + ; warp-to + warp_to 12, 1, CELADON_MART_5F_WIDTH ; CELADON_MART_ROOF + warp_to 16, 1, CELADON_MART_5F_WIDTH ; CELADON_MART_4F + warp_to 1, 1, CELADON_MART_5F_WIDTH ; CELADON_MART_ELEVATOR diff --git a/data/maps/objects/CeladonMartElevator.asm b/data/maps/objects/CeladonMartElevator.asm new file mode 100755 index 00000000..9688daef --- /dev/null +++ b/data/maps/objects/CeladonMartElevator.asm @@ -0,0 +1,15 @@ +CeladonMartElevator_Object: + db $f ; border block + + db 2 ; warps + warp 1, 3, 5, CELADON_MART_1F + warp 2, 3, 5, CELADON_MART_1F + + db 1 ; signs + sign 3, 0, 1 ; CeladonMartElevatorText1 + + db 0 ; objects + + ; warp-to + warp_to 1, 3, CELADON_MART_ELEVATOR_WIDTH ; CELADON_MART_1F + warp_to 2, 3, CELADON_MART_ELEVATOR_WIDTH ; CELADON_MART_1F diff --git a/data/maps/objects/CeladonMartRoof.asm b/data/maps/objects/CeladonMartRoof.asm new file mode 100755 index 00000000..05cef2d4 --- /dev/null +++ b/data/maps/objects/CeladonMartRoof.asm @@ -0,0 +1,18 @@ +CeladonMartRoof_Object: + db $42 ; border block + + db 1 ; warps + warp 15, 2, 0, CELADON_MART_5F + + db 4 ; signs + sign 10, 1, 3 ; CeladonMartRoofText3 + sign 11, 1, 4 ; CeladonMartRoofText4 + sign 12, 2, 5 ; CeladonMartRoofText5 + sign 13, 2, 6 ; CeladonMartRoofText6 + + db 2 ; objects + object SPRITE_BLACK_HAIR_BOY_2, 10, 4, STAY, LEFT, 1 ; person + object SPRITE_LITTLE_GIRL, 5, 5, WALK, 0, 2 ; person + + ; warp-to + warp_to 15, 2, CELADON_MART_ROOF_WIDTH ; CELADON_MART_5F diff --git a/data/maps/objects/CeladonPokecenter.asm b/data/maps/objects/CeladonPokecenter.asm new file mode 100755 index 00000000..da5d595f --- /dev/null +++ b/data/maps/objects/CeladonPokecenter.asm @@ -0,0 +1,18 @@ +CeladonPokecenter_Object: + db $0 ; border block + + db 2 ; warps + warp 3, 7, 5, -1 + warp 4, 7, 5, -1 + + db 0 ; signs + + db 4 ; objects + object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person + object SPRITE_GENTLEMAN, 7, 3, WALK, 2, 2 ; person + object SPRITE_FOULARD_WOMAN, 10, 5, WALK, 0, 3 ; person + object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person + + ; warp-to + warp_to 3, 7, CELADON_POKECENTER_WIDTH + warp_to 4, 7, CELADON_POKECENTER_WIDTH diff --git a/data/maps/objects/CeruleanBadgeHouse.asm b/data/maps/objects/CeruleanBadgeHouse.asm new file mode 100755 index 00000000..62a6873b --- /dev/null +++ b/data/maps/objects/CeruleanBadgeHouse.asm @@ -0,0 +1,17 @@ +CeruleanBadgeHouse_Object: + db $c ; border block + + db 3 ; warps + warp 2, 0, 9, -1 + warp 2, 7, 8, -1 + warp 3, 7, 8, -1 + + db 0 ; signs + + db 1 ; objects + object SPRITE_FAT_BALD_GUY, 5, 3, STAY, RIGHT, 1 ; person + + ; warp-to + warp_to 2, 0, CERULEAN_BADGE_HOUSE_WIDTH + warp_to 2, 7, CERULEAN_BADGE_HOUSE_WIDTH + warp_to 3, 7, CERULEAN_BADGE_HOUSE_WIDTH diff --git a/data/maps/objects/CeruleanCave1F.asm b/data/maps/objects/CeruleanCave1F.asm new file mode 100755 index 00000000..f9670482 --- /dev/null +++ b/data/maps/objects/CeruleanCave1F.asm @@ -0,0 +1,31 @@ +CeruleanCave1F_Object: + db $7d ; border block + + db 9 ; warps + warp 24, 17, 6, -1 + warp 25, 17, 6, -1 + warp 27, 1, 0, CERULEAN_CAVE_2F + warp 23, 7, 1, CERULEAN_CAVE_2F + warp 18, 9, 2, CERULEAN_CAVE_2F + warp 7, 1, 3, CERULEAN_CAVE_2F + warp 1, 3, 4, CERULEAN_CAVE_2F + warp 3, 11, 5, CERULEAN_CAVE_2F + warp 0, 6, 0, CERULEAN_CAVE_B1F + + db 0 ; signs + + db 3 ; objects + object SPRITE_BALL, 7, 13, STAY, NONE, 1, FULL_RESTORE + object SPRITE_BALL, 19, 3, STAY, NONE, 2, MAX_ELIXER + object SPRITE_BALL, 5, 0, STAY, NONE, 3, NUGGET + + ; warp-to + warp_to 24, 17, CERULEAN_CAVE_1F_WIDTH + warp_to 25, 17, CERULEAN_CAVE_1F_WIDTH + warp_to 27, 1, CERULEAN_CAVE_1F_WIDTH ; CERULEAN_CAVE_2F + warp_to 23, 7, CERULEAN_CAVE_1F_WIDTH ; CERULEAN_CAVE_2F + warp_to 18, 9, CERULEAN_CAVE_1F_WIDTH ; CERULEAN_CAVE_2F + warp_to 7, 1, CERULEAN_CAVE_1F_WIDTH ; CERULEAN_CAVE_2F + warp_to 1, 3, CERULEAN_CAVE_1F_WIDTH ; CERULEAN_CAVE_2F + warp_to 3, 11, CERULEAN_CAVE_1F_WIDTH ; CERULEAN_CAVE_2F + warp_to 0, 6, CERULEAN_CAVE_1F_WIDTH ; CERULEAN_CAVE_B1F diff --git a/data/maps/objects/CeruleanCave2F.asm b/data/maps/objects/CeruleanCave2F.asm new file mode 100755 index 00000000..f8312da0 --- /dev/null +++ b/data/maps/objects/CeruleanCave2F.asm @@ -0,0 +1,25 @@ +CeruleanCave2F_Object: + db $7d ; border block + + db 6 ; warps + warp 29, 1, 2, CERULEAN_CAVE_1F + warp 22, 6, 3, CERULEAN_CAVE_1F + warp 19, 7, 4, CERULEAN_CAVE_1F + warp 9, 1, 5, CERULEAN_CAVE_1F + warp 1, 3, 6, CERULEAN_CAVE_1F + warp 3, 11, 7, CERULEAN_CAVE_1F + + db 0 ; signs + + db 3 ; objects + object SPRITE_BALL, 29, 9, STAY, NONE, 1, PP_UP + object SPRITE_BALL, 4, 15, STAY, NONE, 2, ULTRA_BALL + object SPRITE_BALL, 13, 6, STAY, NONE, 3, FULL_RESTORE + + ; warp-to + warp_to 29, 1, CERULEAN_CAVE_2F_WIDTH ; CERULEAN_CAVE_1F + warp_to 22, 6, CERULEAN_CAVE_2F_WIDTH ; CERULEAN_CAVE_1F + warp_to 19, 7, CERULEAN_CAVE_2F_WIDTH ; CERULEAN_CAVE_1F + warp_to 9, 1, CERULEAN_CAVE_2F_WIDTH ; CERULEAN_CAVE_1F + warp_to 1, 3, CERULEAN_CAVE_2F_WIDTH ; CERULEAN_CAVE_1F + warp_to 3, 11, CERULEAN_CAVE_2F_WIDTH ; CERULEAN_CAVE_1F diff --git a/data/maps/objects/CeruleanCaveB1F.asm b/data/maps/objects/CeruleanCaveB1F.asm new file mode 100755 index 00000000..461f77aa --- /dev/null +++ b/data/maps/objects/CeruleanCaveB1F.asm @@ -0,0 +1,15 @@ +CeruleanCaveB1F_Object: + db $7d ; border block + + db 1 ; warps + warp 3, 6, 8, CERULEAN_CAVE_1F + + db 0 ; signs + + db 3 ; objects + object SPRITE_SLOWBRO, 27, 13, STAY, DOWN, 1, MEWTWO, 70 + object SPRITE_BALL, 16, 9, STAY, NONE, 2, ULTRA_BALL + object SPRITE_BALL, 18, 1, STAY, NONE, 3, MAX_REVIVE + + ; warp-to + warp_to 3, 6, CERULEAN_CAVE_B1F_WIDTH ; CERULEAN_CAVE_1F diff --git a/data/maps/objects/CeruleanCity.asm b/data/maps/objects/CeruleanCity.asm new file mode 100755 index 00000000..d5adcfd7 --- /dev/null +++ b/data/maps/objects/CeruleanCity.asm @@ -0,0 +1,47 @@ +CeruleanCity_Object: + db $f ; border block + + db 10 ; warps + warp 27, 11, 0, CERULEAN_TRASHED_HOUSE + warp 13, 15, 0, CERULEAN_TRADE_HOUSE + warp 19, 17, 0, CERULEAN_POKECENTER + warp 30, 19, 0, CERULEAN_GYM + warp 13, 25, 0, BIKE_SHOP + warp 25, 25, 0, CERULEAN_MART + warp 4, 11, 0, CERULEAN_CAVE_1F + warp 27, 9, 2, CERULEAN_TRASHED_HOUSE + warp 9, 11, 1, CERULEAN_BADGE_HOUSE + warp 9, 9, 0, CERULEAN_BADGE_HOUSE + + db 6 ; signs + sign 23, 19, 12 ; CeruleanCityText12 + sign 17, 29, 13 ; CeruleanCityText13 + sign 26, 25, 14 ; MartSignText + sign 20, 17, 15 ; PokeCenterSignText + sign 11, 25, 16 ; CeruleanCityText16 + sign 27, 21, 17 ; CeruleanCityText17 + + db 11 ; objects + object SPRITE_BLUE, 20, 2, STAY, DOWN, 1 ; person + object SPRITE_ROCKET, 30, 8, STAY, NONE, 2, OPP_ROCKET, 5 + object SPRITE_BLACK_HAIR_BOY_1, 31, 20, STAY, DOWN, 3 ; person + object SPRITE_BLACK_HAIR_BOY_2, 15, 18, WALK, 1, 4 ; person + object SPRITE_BLACK_HAIR_BOY_2, 9, 21, WALK, 2, 5 ; person + object SPRITE_GUARD, 28, 12, STAY, DOWN, 6 ; person + object SPRITE_LASS, 29, 26, STAY, LEFT, 7 ; person + object SPRITE_SLOWBRO, 28, 26, STAY, DOWN, 8 ; person + object SPRITE_LASS, 9, 27, WALK, 2, 9 ; person + object SPRITE_BLACK_HAIR_BOY_2, 4, 12, STAY, DOWN, 10 ; person + object SPRITE_GUARD, 27, 12, STAY, DOWN, 11 ; person + + ; warp-to + warp_to 27, 11, CERULEAN_CITY_WIDTH ; CERULEAN_TRASHED_HOUSE + warp_to 13, 15, CERULEAN_CITY_WIDTH ; CERULEAN_TRADE_HOUSE + warp_to 19, 17, CERULEAN_CITY_WIDTH ; CERULEAN_POKECENTER + warp_to 30, 19, CERULEAN_CITY_WIDTH ; CERULEAN_GYM + warp_to 13, 25, CERULEAN_CITY_WIDTH ; BIKE_SHOP + warp_to 25, 25, CERULEAN_CITY_WIDTH ; CERULEAN_MART + warp_to 4, 11, CERULEAN_CITY_WIDTH ; CERULEAN_CAVE_1F + warp_to 27, 9, CERULEAN_CITY_WIDTH ; CERULEAN_TRASHED_HOUSE + warp_to 9, 11, CERULEAN_CITY_WIDTH ; CERULEAN_BADGE_HOUSE + warp_to 9, 9, CERULEAN_CITY_WIDTH ; CERULEAN_BADGE_HOUSE diff --git a/data/maps/objects/CeruleanGym.asm b/data/maps/objects/CeruleanGym.asm new file mode 100755 index 00000000..96713648 --- /dev/null +++ b/data/maps/objects/CeruleanGym.asm @@ -0,0 +1,18 @@ +CeruleanGym_Object: + db $3 ; border block + + db 2 ; warps + warp 4, 13, 3, -1 + warp 5, 13, 3, -1 + + db 0 ; signs + + db 4 ; objects + object SPRITE_BRUNETTE_GIRL, 4, 2, STAY, DOWN, 1, OPP_MISTY, 1 + object SPRITE_LASS, 2, 3, STAY, RIGHT, 2, OPP_JR_TRAINER_F, 1 + object SPRITE_SWIMMER, 8, 7, STAY, LEFT, 3, OPP_SWIMMER, 1 + object SPRITE_GYM_HELPER, 7, 10, STAY, DOWN, 4 ; person + + ; warp-to + warp_to 4, 13, CERULEAN_GYM_WIDTH + warp_to 5, 13, CERULEAN_GYM_WIDTH diff --git a/data/maps/objects/CeruleanMart.asm b/data/maps/objects/CeruleanMart.asm new file mode 100755 index 00000000..4659375f --- /dev/null +++ b/data/maps/objects/CeruleanMart.asm @@ -0,0 +1,17 @@ +CeruleanMart_Object: + db $0 ; border block + + db 2 ; warps + warp 3, 7, 5, -1 + warp 4, 7, 5, -1 + + db 0 ; signs + + db 3 ; objects + object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person + object SPRITE_BLACK_HAIR_BOY_1, 3, 4, WALK, 1, 2 ; person + object SPRITE_LASS, 6, 2, WALK, 2, 3 ; person + + ; warp-to + warp_to 3, 7, CERULEAN_MART_WIDTH + warp_to 4, 7, CERULEAN_MART_WIDTH diff --git a/data/maps/objects/CeruleanPokecenter.asm b/data/maps/objects/CeruleanPokecenter.asm new file mode 100755 index 00000000..f65db52c --- /dev/null +++ b/data/maps/objects/CeruleanPokecenter.asm @@ -0,0 +1,18 @@ +CeruleanPokecenter_Object: + db $0 ; border block + + db 2 ; warps + warp 3, 7, 2, -1 + warp 4, 7, 2, -1 + + db 0 ; signs + + db 4 ; objects + object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person + object SPRITE_BLACK_HAIR_BOY_2, 10, 5, WALK, 0, 2 ; person + object SPRITE_GENTLEMAN, 4, 3, STAY, DOWN, 3 ; person + object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person + + ; warp-to + warp_to 3, 7, CERULEAN_POKECENTER_WIDTH + warp_to 4, 7, CERULEAN_POKECENTER_WIDTH diff --git a/data/maps/objects/CeruleanTradeHouse.asm b/data/maps/objects/CeruleanTradeHouse.asm new file mode 100755 index 00000000..a4a46e9b --- /dev/null +++ b/data/maps/objects/CeruleanTradeHouse.asm @@ -0,0 +1,16 @@ +CeruleanTradeHouse_Object: + db $a ; border block + + db 2 ; warps + warp 2, 7, 1, -1 + warp 3, 7, 1, -1 + + db 0 ; signs + + db 2 ; objects + object SPRITE_OLD_MEDIUM_WOMAN, 5, 4, STAY, LEFT, 1 ; person + object SPRITE_GAMBLER, 1, 2, STAY, NONE, 2 ; person + + ; warp-to + warp_to 2, 7, CERULEAN_TRADE_HOUSE_WIDTH + warp_to 3, 7, CERULEAN_TRADE_HOUSE_WIDTH diff --git a/data/maps/objects/CeruleanTrashedHouse.asm b/data/maps/objects/CeruleanTrashedHouse.asm new file mode 100755 index 00000000..44b7cf20 --- /dev/null +++ b/data/maps/objects/CeruleanTrashedHouse.asm @@ -0,0 +1,19 @@ +CeruleanTrashedHouse_Object: + db $a ; border block + + db 3 ; warps + warp 2, 7, 0, -1 + warp 3, 7, 0, -1 + warp 3, 0, 7, -1 + + db 1 ; signs + sign 3, 0, 3 ; CeruleanHouseTrashedText3 + + db 2 ; objects + object SPRITE_FISHER, 2, 1, STAY, DOWN, 1 ; person + object SPRITE_GIRL, 5, 6, WALK, 2, 2 ; person + + ; warp-to + warp_to 2, 7, CERULEAN_TRASHED_HOUSE_WIDTH + warp_to 3, 7, CERULEAN_TRASHED_HOUSE_WIDTH + warp_to 3, 0, CERULEAN_TRASHED_HOUSE_WIDTH diff --git a/data/maps/objects/ChampionsRoom.asm b/data/maps/objects/ChampionsRoom.asm new file mode 100755 index 00000000..1e0cb7f4 --- /dev/null +++ b/data/maps/objects/ChampionsRoom.asm @@ -0,0 +1,20 @@ +ChampionsRoom_Object: + db $3 ; border block + + db 4 ; warps + warp 3, 7, 1, LANCES_ROOM + warp 4, 7, 2, LANCES_ROOM + warp 3, 0, 0, HALL_OF_FAME + warp 4, 0, 0, HALL_OF_FAME + + db 0 ; signs + + db 2 ; objects + object SPRITE_BLUE, 4, 2, STAY, DOWN, 1 ; person + object SPRITE_OAK, 3, 7, STAY, UP, 2 ; person + + ; warp-to + warp_to 3, 7, CHAMPIONS_ROOM_WIDTH ; LANCES_ROOM + warp_to 4, 7, CHAMPIONS_ROOM_WIDTH ; LANCES_ROOM + warp_to 3, 0, CHAMPIONS_ROOM_WIDTH ; HALL_OF_FAME + warp_to 4, 0, CHAMPIONS_ROOM_WIDTH ; HALL_OF_FAME diff --git a/data/maps/objects/CinnabarGym.asm b/data/maps/objects/CinnabarGym.asm new file mode 100755 index 00000000..ab204d43 --- /dev/null +++ b/data/maps/objects/CinnabarGym.asm @@ -0,0 +1,23 @@ +CinnabarGym_Object: + db $2e ; border block + + db 2 ; warps + warp 16, 17, 1, -1 + warp 17, 17, 1, -1 + + db 0 ; signs + + db 9 ; objects + object SPRITE_FAT_BALD_GUY, 3, 3, STAY, DOWN, 1, OPP_BLAINE, 1 + object SPRITE_BLACK_HAIR_BOY_2, 17, 2, STAY, DOWN, 2, OPP_SUPER_NERD, 9 + object SPRITE_BLACK_HAIR_BOY_2, 17, 8, STAY, DOWN, 3, OPP_BURGLAR, 4 + object SPRITE_BLACK_HAIR_BOY_2, 11, 4, STAY, DOWN, 4, OPP_SUPER_NERD, 10 + object SPRITE_BLACK_HAIR_BOY_2, 11, 8, STAY, DOWN, 5, OPP_BURGLAR, 5 + object SPRITE_BLACK_HAIR_BOY_2, 11, 14, STAY, DOWN, 6, OPP_SUPER_NERD, 11 + object SPRITE_BLACK_HAIR_BOY_2, 3, 14, STAY, DOWN, 7, OPP_BURGLAR, 6 + object SPRITE_BLACK_HAIR_BOY_2, 3, 8, STAY, DOWN, 8, OPP_SUPER_NERD, 12 + object SPRITE_GYM_HELPER, 16, 13, STAY, DOWN, 9 ; person + + ; warp-to + warp_to 16, 17, CINNABAR_GYM_WIDTH + warp_to 17, 17, CINNABAR_GYM_WIDTH diff --git a/data/maps/objects/CinnabarIsland.asm b/data/maps/objects/CinnabarIsland.asm new file mode 100755 index 00000000..1932e134 --- /dev/null +++ b/data/maps/objects/CinnabarIsland.asm @@ -0,0 +1,27 @@ +CinnabarIsland_Object: + db $43 ; border block + + db 5 ; warps + warp 6, 3, 1, POKEMON_MANSION_1F + warp 18, 3, 0, CINNABAR_GYM + warp 6, 9, 0, CINNABAR_LAB + warp 11, 11, 0, CINNABAR_POKECENTER + warp 15, 11, 0, CINNABAR_MART + + db 5 ; signs + sign 9, 5, 3 ; CinnabarIslandText3 + sign 16, 11, 4 ; MartSignText + sign 12, 11, 5 ; PokeCenterSignText + sign 9, 11, 6 ; CinnabarIslandText6 + sign 13, 3, 7 ; CinnabarIslandText7 + + db 2 ; objects + object SPRITE_GIRL, 12, 5, WALK, 2, 1 ; person + object SPRITE_GAMBLER, 14, 6, STAY, NONE, 2 ; person + + ; warp-to + warp_to 6, 3, CINNABAR_ISLAND_WIDTH ; POKEMON_MANSION_1F + warp_to 18, 3, CINNABAR_ISLAND_WIDTH ; CINNABAR_GYM + warp_to 6, 9, CINNABAR_ISLAND_WIDTH ; CINNABAR_LAB + warp_to 11, 11, CINNABAR_ISLAND_WIDTH ; CINNABAR_POKECENTER + warp_to 15, 11, CINNABAR_ISLAND_WIDTH ; CINNABAR_MART diff --git a/data/maps/objects/CinnabarLab.asm b/data/maps/objects/CinnabarLab.asm new file mode 100755 index 00000000..deb5d8ed --- /dev/null +++ b/data/maps/objects/CinnabarLab.asm @@ -0,0 +1,25 @@ +CinnabarLab_Object: + db $17 ; border block + + db 5 ; warps + warp 2, 7, 2, -1 + warp 3, 7, 2, -1 + warp 8, 4, 0, CINNABAR_LAB_TRADE_ROOM + warp 12, 4, 0, CINNABAR_LAB_METRONOME_ROOM + warp 16, 4, 0, CINNABAR_LAB_FOSSIL_ROOM + + db 4 ; signs + sign 3, 2, 2 ; Lab1Text2 + sign 9, 4, 3 ; Lab1Text3 + sign 13, 4, 4 ; Lab1Text4 + sign 17, 4, 5 ; Lab1Text5 + + db 1 ; objects + object SPRITE_FISHER, 1, 3, STAY, NONE, 1 ; person + + ; warp-to + warp_to 2, 7, CINNABAR_LAB_WIDTH + warp_to 3, 7, CINNABAR_LAB_WIDTH + warp_to 8, 4, CINNABAR_LAB_WIDTH ; CINNABAR_LAB_TRADE_ROOM + warp_to 12, 4, CINNABAR_LAB_WIDTH ; CINNABAR_LAB_METRONOME_ROOM + warp_to 16, 4, CINNABAR_LAB_WIDTH ; CINNABAR_LAB_FOSSIL_ROOM diff --git a/data/maps/objects/CinnabarLabFossilRoom.asm b/data/maps/objects/CinnabarLabFossilRoom.asm new file mode 100755 index 00000000..d31502e6 --- /dev/null +++ b/data/maps/objects/CinnabarLabFossilRoom.asm @@ -0,0 +1,16 @@ +CinnabarLabFossilRoom_Object: + db $17 ; border block + + db 2 ; warps + warp 2, 7, 4, CINNABAR_LAB + warp 3, 7, 4, CINNABAR_LAB + + db 0 ; signs + + db 2 ; objects + object SPRITE_OAK_AIDE, 5, 2, WALK, 2, 1 ; person + object SPRITE_OAK_AIDE, 7, 6, STAY, UP, 2 ; person + + ; warp-to + warp_to 2, 7, CINNABAR_LAB_FOSSIL_ROOM_WIDTH ; CINNABAR_LAB + warp_to 3, 7, CINNABAR_LAB_FOSSIL_ROOM_WIDTH ; CINNABAR_LAB diff --git a/data/maps/objects/CinnabarLabMetronomeRoom.asm b/data/maps/objects/CinnabarLabMetronomeRoom.asm new file mode 100755 index 00000000..37f93d43 --- /dev/null +++ b/data/maps/objects/CinnabarLabMetronomeRoom.asm @@ -0,0 +1,19 @@ +CinnabarLabMetronomeRoom_Object: + db $17 ; border block + + db 2 ; warps + warp 2, 7, 3, CINNABAR_LAB + warp 3, 7, 3, CINNABAR_LAB + + db 3 ; signs + sign 0, 4, 3 ; Lab3Text3 + sign 1, 4, 4 ; Lab3Text4 + sign 2, 1, 5 ; Lab3Text5 + + db 2 ; objects + object SPRITE_OAK_AIDE, 7, 2, STAY, DOWN, 1 ; person + object SPRITE_OAK_AIDE, 2, 3, WALK, 2, 2 ; person + + ; warp-to + warp_to 2, 7, CINNABAR_LAB_METRONOME_ROOM_WIDTH ; CINNABAR_LAB + warp_to 3, 7, CINNABAR_LAB_METRONOME_ROOM_WIDTH ; CINNABAR_LAB diff --git a/data/maps/objects/CinnabarLabTradeRoom.asm b/data/maps/objects/CinnabarLabTradeRoom.asm new file mode 100755 index 00000000..449cc914 --- /dev/null +++ b/data/maps/objects/CinnabarLabTradeRoom.asm @@ -0,0 +1,17 @@ +CinnabarLabTradeRoom_Object: + db $17 ; border block + + db 2 ; warps + warp 2, 7, 2, CINNABAR_LAB + warp 3, 7, 2, CINNABAR_LAB + + db 0 ; signs + + db 3 ; objects + object SPRITE_BLACK_HAIR_BOY_2, 3, 2, STAY, DOWN, 1 ; person + object SPRITE_OLD_PERSON, 1, 4, STAY, NONE, 2 ; person + object SPRITE_FOULARD_WOMAN, 5, 5, STAY, UP, 3 ; person + + ; warp-to + warp_to 2, 7, CINNABAR_LAB_TRADE_ROOM_WIDTH ; CINNABAR_LAB + warp_to 3, 7, CINNABAR_LAB_TRADE_ROOM_WIDTH ; CINNABAR_LAB diff --git a/data/maps/objects/CinnabarMart.asm b/data/maps/objects/CinnabarMart.asm new file mode 100755 index 00000000..af88ddf0 --- /dev/null +++ b/data/maps/objects/CinnabarMart.asm @@ -0,0 +1,17 @@ +CinnabarMart_Object: + db $0 ; border block + + db 2 ; warps + warp 3, 7, 4, -1 + warp 4, 7, 4, -1 + + db 0 ; signs + + db 3 ; objects + object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person + object SPRITE_ERIKA, 6, 2, STAY, NONE, 2 ; person + object SPRITE_OAK_AIDE, 3, 4, STAY, NONE, 3 ; person + + ; warp-to + warp_to 3, 7, CINNABAR_MART_WIDTH + warp_to 4, 7, CINNABAR_MART_WIDTH diff --git a/data/maps/objects/CinnabarPokecenter.asm b/data/maps/objects/CinnabarPokecenter.asm new file mode 100755 index 00000000..9583ef2a --- /dev/null +++ b/data/maps/objects/CinnabarPokecenter.asm @@ -0,0 +1,18 @@ +CinnabarPokecenter_Object: + db $0 ; border block + + db 2 ; warps + warp 3, 7, 3, -1 + warp 4, 7, 3, -1 + + db 0 ; signs + + db 4 ; objects + object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person + object SPRITE_LASS, 9, 4, WALK, 0, 2 ; person + object SPRITE_GENTLEMAN, 2, 6, STAY, NONE, 3 ; person + object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person + + ; warp-to + warp_to 3, 7, CINNABAR_POKECENTER_WIDTH + warp_to 4, 7, CINNABAR_POKECENTER_WIDTH diff --git a/data/maps/objects/Colosseum.asm b/data/maps/objects/Colosseum.asm new file mode 100755 index 00000000..18762584 --- /dev/null +++ b/data/maps/objects/Colosseum.asm @@ -0,0 +1,9 @@ +Colosseum_Object: + db $e ; border block + + db 0 ; warps + + db 0 ; signs + + db 1 ; objects + object SPRITE_RED, 2, 2, STAY, 0, 1 ; person diff --git a/data/maps/objects/CopycatsHouse1F.asm b/data/maps/objects/CopycatsHouse1F.asm new file mode 100755 index 00000000..cb4dbb0b --- /dev/null +++ b/data/maps/objects/CopycatsHouse1F.asm @@ -0,0 +1,19 @@ +CopycatsHouse1F_Object: + db $a ; border block + + db 3 ; warps + warp 2, 7, 0, -1 + warp 3, 7, 0, -1 + warp 7, 1, 0, COPYCATS_HOUSE_2F + + db 0 ; signs + + db 3 ; objects + object SPRITE_MOM_GEISHA, 2, 2, STAY, DOWN, 1 ; person + object SPRITE_FAT_BALD_GUY, 5, 4, STAY, LEFT, 2 ; person + object SPRITE_CLEFAIRY, 1, 4, WALK, 1, 3 ; person + + ; warp-to + warp_to 2, 7, COPYCATS_HOUSE_1F_WIDTH + warp_to 3, 7, COPYCATS_HOUSE_1F_WIDTH + warp_to 7, 1, COPYCATS_HOUSE_1F_WIDTH ; COPYCATS_HOUSE_2F diff --git a/data/maps/objects/CopycatsHouse2F.asm b/data/maps/objects/CopycatsHouse2F.asm new file mode 100755 index 00000000..18b56419 --- /dev/null +++ b/data/maps/objects/CopycatsHouse2F.asm @@ -0,0 +1,19 @@ +CopycatsHouse2F_Object: + db $a ; border block + + db 1 ; warps + warp 7, 1, 2, COPYCATS_HOUSE_1F + + db 2 ; signs + sign 3, 5, 6 ; CopycatsHouse2FText6 + sign 0, 1, 7 ; CopycatsHouse2FText7 + + db 5 ; objects + object SPRITE_BRUNETTE_GIRL, 4, 3, WALK, 0, 1 ; person + object SPRITE_BIRD, 4, 6, WALK, 2, 2 ; person + object SPRITE_SLOWBRO, 5, 1, STAY, DOWN, 3 ; person + object SPRITE_BIRD, 2, 0, STAY, DOWN, 4 ; person + object SPRITE_CLEFAIRY, 1, 6, STAY, RIGHT, 5 ; person + + ; warp-to + warp_to 7, 1, COPYCATS_HOUSE_2F_WIDTH ; COPYCATS_HOUSE_1F diff --git a/data/maps/objects/Daycare.asm b/data/maps/objects/Daycare.asm new file mode 100755 index 00000000..c58c83e4 --- /dev/null +++ b/data/maps/objects/Daycare.asm @@ -0,0 +1,15 @@ +Daycare_Object: + db $a ; border block + + db 2 ; warps + warp 2, 7, 4, -1 + warp 3, 7, 4, -1 + + db 0 ; signs + + db 1 ; objects + object SPRITE_GENTLEMAN, 2, 3, STAY, RIGHT, 1 ; person + + ; warp-to + warp_to 2, 7, DAYCARE_WIDTH + warp_to 3, 7, DAYCARE_WIDTH diff --git a/data/maps/objects/DiglettsCave.asm b/data/maps/objects/DiglettsCave.asm new file mode 100755 index 00000000..b4fd0af8 --- /dev/null +++ b/data/maps/objects/DiglettsCave.asm @@ -0,0 +1,14 @@ +DiglettsCave_Object: + db $19 ; border block + + db 2 ; warps + warp 5, 5, 2, DIGLETTS_CAVE_ROUTE_2 + warp 37, 31, 2, DIGLETTS_CAVE_ROUTE_11 + + db 0 ; signs + + db 0 ; objects + + ; warp-to + warp_to 5, 5, DIGLETTS_CAVE_WIDTH ; DIGLETTS_CAVE_ROUTE_2 + warp_to 37, 31, DIGLETTS_CAVE_WIDTH ; DIGLETTS_CAVE_ROUTE_11 diff --git a/data/maps/objects/DiglettsCaveRoute11.asm b/data/maps/objects/DiglettsCaveRoute11.asm new file mode 100755 index 00000000..a4c70f06 --- /dev/null +++ b/data/maps/objects/DiglettsCaveRoute11.asm @@ -0,0 +1,17 @@ +DiglettsCaveRoute11_Object: + db $7d ; border block + + db 3 ; warps + warp 2, 7, 4, -1 + warp 3, 7, 4, -1 + warp 4, 4, 1, DIGLETTS_CAVE + + db 0 ; signs + + db 1 ; objects + object SPRITE_GAMBLER, 2, 3, STAY, NONE, 1 ; person + + ; warp-to + warp_to 2, 7, DIGLETTS_CAVE_ROUTE_11_WIDTH + warp_to 3, 7, DIGLETTS_CAVE_ROUTE_11_WIDTH + warp_to 4, 4, DIGLETTS_CAVE_ROUTE_11_WIDTH ; DIGLETTS_CAVE diff --git a/data/maps/objects/DiglettsCaveRoute2.asm b/data/maps/objects/DiglettsCaveRoute2.asm new file mode 100755 index 00000000..0567fee6 --- /dev/null +++ b/data/maps/objects/DiglettsCaveRoute2.asm @@ -0,0 +1,17 @@ +DiglettsCaveRoute2_Object: + db $7d ; border block + + db 3 ; warps + warp 2, 7, 0, -1 + warp 3, 7, 0, -1 + warp 4, 4, 0, DIGLETTS_CAVE + + db 0 ; signs + + db 1 ; objects + object SPRITE_FISHER, 3, 3, STAY, NONE, 1 ; person + + ; warp-to + warp_to 2, 7, DIGLETTS_CAVE_ROUTE_2_WIDTH + warp_to 3, 7, DIGLETTS_CAVE_ROUTE_2_WIDTH + warp_to 4, 4, DIGLETTS_CAVE_ROUTE_2_WIDTH ; DIGLETTS_CAVE diff --git a/data/maps/objects/FightingDojo.asm b/data/maps/objects/FightingDojo.asm new file mode 100755 index 00000000..fdc7b838 --- /dev/null +++ b/data/maps/objects/FightingDojo.asm @@ -0,0 +1,21 @@ +FightingDojo_Object: + db $3 ; border block + + db 2 ; warps + warp 4, 11, 1, -1 + warp 5, 11, 1, -1 + + db 0 ; signs + + db 7 ; objects + object SPRITE_HIKER, 5, 3, STAY, DOWN, 1, OPP_BLACKBELT, 1 + object SPRITE_HIKER, 3, 4, STAY, RIGHT, 2, OPP_BLACKBELT, 2 + object SPRITE_HIKER, 3, 6, STAY, RIGHT, 3, OPP_BLACKBELT, 3 + object SPRITE_HIKER, 5, 5, STAY, LEFT, 4, OPP_BLACKBELT, 4 + object SPRITE_HIKER, 5, 7, STAY, LEFT, 5, OPP_BLACKBELT, 5 + object SPRITE_BALL, 4, 1, STAY, NONE, 6 ; person + object SPRITE_BALL, 5, 1, STAY, NONE, 7 ; person + + ; warp-to + warp_to 4, 11, FIGHTING_DOJO_WIDTH + warp_to 5, 11, FIGHTING_DOJO_WIDTH diff --git a/data/maps/objects/FuchsiaBillsGrandpasHouse.asm b/data/maps/objects/FuchsiaBillsGrandpasHouse.asm new file mode 100755 index 00000000..363b56f9 --- /dev/null +++ b/data/maps/objects/FuchsiaBillsGrandpasHouse.asm @@ -0,0 +1,17 @@ +FuchsiaBillsGrandpasHouse_Object: + db $a ; border block + + db 2 ; warps + warp 2, 7, 1, -1 + warp 3, 7, 1, -1 + + db 0 ; signs + + db 3 ; objects + object SPRITE_MOM_GEISHA, 2, 3, STAY, RIGHT, 1 ; person + object SPRITE_GAMBLER, 7, 2, STAY, UP, 2 ; person + object SPRITE_BUG_CATCHER, 5, 5, STAY, NONE, 3 ; person + + ; warp-to + warp_to 2, 7, FUCHSIA_BILLS_GRANDPAS_HOUSE_WIDTH + warp_to 3, 7, FUCHSIA_BILLS_GRANDPAS_HOUSE_WIDTH diff --git a/data/maps/objects/FuchsiaCity.asm b/data/maps/objects/FuchsiaCity.asm new file mode 100755 index 00000000..09c97b02 --- /dev/null +++ b/data/maps/objects/FuchsiaCity.asm @@ -0,0 +1,52 @@ +FuchsiaCity_Object: + db $f ; border block + + db 9 ; warps + warp 5, 13, 0, FUCHSIA_MART + warp 11, 27, 0, FUCHSIA_BILLS_GRANDPAS_HOUSE + warp 19, 27, 0, FUCHSIA_POKECENTER + warp 27, 27, 0, WARDENS_HOUSE + warp 18, 3, 0, SAFARI_ZONE_GATE + warp 5, 27, 0, FUCHSIA_GYM + warp 22, 13, 0, FUCHSIA_MEETING_ROOM + warp 31, 27, 1, FUCHSIA_GOOD_ROD_HOUSE + warp 31, 24, 0, FUCHSIA_GOOD_ROD_HOUSE + + db 14 ; signs + sign 15, 23, 11 ; FuchsiaCityText11 + sign 25, 15, 12 ; FuchsiaCityText12 + sign 17, 5, 13 ; FuchsiaCityText13 + sign 6, 13, 14 ; MartSignText + sign 20, 27, 15 ; PokeCenterSignText + sign 27, 29, 16 ; FuchsiaCityText16 + sign 21, 15, 17 ; FuchsiaCityText17 + sign 5, 29, 18 ; FuchsiaCityText18 + sign 33, 7, 19 ; FuchsiaCityText19 + sign 27, 7, 20 ; FuchsiaCityText20 + sign 13, 7, 21 ; FuchsiaCityText21 + sign 31, 13, 22 ; FuchsiaCityText22 + sign 13, 15, 23 ; FuchsiaCityText23 + sign 7, 7, 24 ; FuchsiaCityText24 + + db 10 ; objects + object SPRITE_BUG_CATCHER, 10, 12, WALK, 2, 1 ; person + object SPRITE_GAMBLER, 28, 17, WALK, 2, 2 ; person + object SPRITE_FISHER2, 30, 14, STAY, DOWN, 3 ; person + object SPRITE_BUG_CATCHER, 24, 8, STAY, UP, 4 ; person + object SPRITE_CLEFAIRY, 31, 5, WALK, 0, 5 ; person + object SPRITE_BALL, 25, 6, STAY, NONE, 6 ; person + object SPRITE_SLOWBRO, 12, 6, WALK, 2, 7 ; person + object SPRITE_SLOWBRO, 30, 12, WALK, 2, 8 ; person + object SPRITE_SEEL, 8, 17, WALK, 0, 9 ; person + object SPRITE_OMANYTE, 6, 5, STAY, NONE, 10 ; person + + ; warp-to + warp_to 5, 13, FUCHSIA_CITY_WIDTH ; FUCHSIA_MART + warp_to 11, 27, FUCHSIA_CITY_WIDTH ; FUCHSIA_BILLS_GRANDPAS_HOUSE + warp_to 19, 27, FUCHSIA_CITY_WIDTH ; FUCHSIA_POKECENTER + warp_to 27, 27, FUCHSIA_CITY_WIDTH ; WARDENS_HOUSE + warp_to 18, 3, FUCHSIA_CITY_WIDTH ; SAFARI_ZONE_GATE + warp_to 5, 27, FUCHSIA_CITY_WIDTH ; FUCHSIA_GYM + warp_to 22, 13, FUCHSIA_CITY_WIDTH ; FUCHSIA_MEETING_ROOM + warp_to 31, 27, FUCHSIA_CITY_WIDTH ; FUCHSIA_GOOD_ROD_HOUSE + warp_to 31, 24, FUCHSIA_CITY_WIDTH ; FUCHSIA_GOOD_ROD_HOUSE diff --git a/data/maps/objects/FuchsiaGoodRodHouse.asm b/data/maps/objects/FuchsiaGoodRodHouse.asm new file mode 100755 index 00000000..390447c8 --- /dev/null +++ b/data/maps/objects/FuchsiaGoodRodHouse.asm @@ -0,0 +1,17 @@ +FuchsiaGoodRodHouse_Object: + db $c ; border block + + db 3 ; warps + warp 2, 0, 8, -1 + warp 2, 7, 7, -1 + warp 3, 7, 7, -1 + + db 0 ; signs + + db 1 ; objects + object SPRITE_FISHER, 5, 3, STAY, RIGHT, 1 ; person + + ; warp-to + warp_to 2, 0, FUCHSIA_GOOD_ROD_HOUSE_WIDTH + warp_to 2, 7, FUCHSIA_GOOD_ROD_HOUSE_WIDTH + warp_to 3, 7, FUCHSIA_GOOD_ROD_HOUSE_WIDTH diff --git a/data/maps/objects/FuchsiaGym.asm b/data/maps/objects/FuchsiaGym.asm new file mode 100755 index 00000000..5d707d53 --- /dev/null +++ b/data/maps/objects/FuchsiaGym.asm @@ -0,0 +1,22 @@ +FuchsiaGym_Object: + db $3 ; border block + + db 2 ; warps + warp 4, 17, 5, -1 + warp 5, 17, 5, -1 + + db 0 ; signs + + db 8 ; objects + object SPRITE_BLACKBELT, 4, 10, STAY, DOWN, 1, OPP_KOGA, 1 + object SPRITE_ROCKER, 8, 13, STAY, DOWN, 2, OPP_JUGGLER, 7 + object SPRITE_ROCKER, 7, 8, STAY, RIGHT, 3, OPP_JUGGLER, 3 + object SPRITE_ROCKER, 1, 12, STAY, DOWN, 4, OPP_JUGGLER, 8 + object SPRITE_ROCKER, 3, 5, STAY, UP, 5, OPP_TAMER, 1 + object SPRITE_ROCKER, 8, 2, STAY, DOWN, 6, OPP_TAMER, 2 + object SPRITE_ROCKER, 2, 7, STAY, LEFT, 7, OPP_JUGGLER, 4 + object SPRITE_GYM_HELPER, 7, 15, STAY, DOWN, 8 ; person + + ; warp-to + warp_to 4, 17, FUCHSIA_GYM_WIDTH + warp_to 5, 17, FUCHSIA_GYM_WIDTH diff --git a/data/maps/objects/FuchsiaMart.asm b/data/maps/objects/FuchsiaMart.asm new file mode 100755 index 00000000..cfa71d8d --- /dev/null +++ b/data/maps/objects/FuchsiaMart.asm @@ -0,0 +1,17 @@ +FuchsiaMart_Object: + db $0 ; border block + + db 2 ; warps + warp 3, 7, 0, -1 + warp 4, 7, 0, -1 + + db 0 ; signs + + db 3 ; objects + object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person + object SPRITE_FAT_BALD_GUY, 4, 2, STAY, NONE, 2 ; person + object SPRITE_LASS, 6, 5, WALK, 1, 3 ; person + + ; warp-to + warp_to 3, 7, FUCHSIA_MART_WIDTH + warp_to 4, 7, FUCHSIA_MART_WIDTH diff --git a/data/maps/objects/FuchsiaMeetingRoom.asm b/data/maps/objects/FuchsiaMeetingRoom.asm new file mode 100755 index 00000000..9130d920 --- /dev/null +++ b/data/maps/objects/FuchsiaMeetingRoom.asm @@ -0,0 +1,17 @@ +FuchsiaMeetingRoom_Object: + db $17 ; border block + + db 2 ; warps + warp 4, 7, 6, -1 + warp 5, 7, 6, -1 + + db 0 ; signs + + db 3 ; objects + object SPRITE_WHITE_PLAYER, 4, 1, STAY, DOWN, 1 ; person + object SPRITE_WHITE_PLAYER, 0, 2, STAY, UP, 2 ; person + object SPRITE_WHITE_PLAYER, 10, 1, STAY, DOWN, 3 ; person + + ; warp-to + warp_to 4, 7, FUCHSIA_MEETING_ROOM_WIDTH + warp_to 5, 7, FUCHSIA_MEETING_ROOM_WIDTH diff --git a/data/maps/objects/FuchsiaPokecenter.asm b/data/maps/objects/FuchsiaPokecenter.asm new file mode 100755 index 00000000..73dc529d --- /dev/null +++ b/data/maps/objects/FuchsiaPokecenter.asm @@ -0,0 +1,18 @@ +FuchsiaPokecenter_Object: + db $0 ; border block + + db 2 ; warps + warp 3, 7, 2, -1 + warp 4, 7, 2, -1 + + db 0 ; signs + + db 4 ; objects + object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person + object SPRITE_ROCKER, 2, 3, STAY, NONE, 2 ; person + object SPRITE_LASS, 6, 5, WALK, 2, 3 ; person + object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person + + ; warp-to + warp_to 3, 7, FUCHSIA_POKECENTER_WIDTH + warp_to 4, 7, FUCHSIA_POKECENTER_WIDTH diff --git a/data/maps/objects/GameCorner.asm b/data/maps/objects/GameCorner.asm new file mode 100755 index 00000000..2704f6ab --- /dev/null +++ b/data/maps/objects/GameCorner.asm @@ -0,0 +1,28 @@ +GameCorner_Object: + db $f ; border block + + db 3 ; warps + warp 15, 17, 7, -1 + warp 16, 17, 7, -1 + warp 17, 4, 1, ROCKET_HIDEOUT_B1F + + db 1 ; signs + sign 9, 4, 12 ; CeladonGameCornerText12 + + db 11 ; objects + object SPRITE_FOULARD_WOMAN, 2, 6, STAY, DOWN, 1 ; person + object SPRITE_MART_GUY, 5, 6, STAY, DOWN, 2 ; person + object SPRITE_FAT_BALD_GUY, 2, 10, STAY, LEFT, 3 ; person + object SPRITE_FOULARD_WOMAN, 2, 13, STAY, LEFT, 4 ; person + object SPRITE_FISHER, 5, 11, STAY, RIGHT, 5 ; person + object SPRITE_MOM_GEISHA, 8, 11, STAY, LEFT, 6 ; person + object SPRITE_GYM_HELPER, 8, 14, STAY, LEFT, 7 ; person + object SPRITE_GAMBLER, 11, 15, STAY, RIGHT, 8 ; person + object SPRITE_MART_GUY, 14, 11, STAY, LEFT, 9 ; person + object SPRITE_GENTLEMAN, 17, 13, STAY, RIGHT, 10 ; person + object SPRITE_ROCKET, 9, 5, STAY, UP, 11, OPP_ROCKET, 7 + + ; warp-to + warp_to 15, 17, GAME_CORNER_WIDTH + warp_to 16, 17, GAME_CORNER_WIDTH + warp_to 17, 4, GAME_CORNER_WIDTH ; ROCKET_HIDEOUT_B1F diff --git a/data/maps/objects/GameCornerPrizeRoom.asm b/data/maps/objects/GameCornerPrizeRoom.asm new file mode 100755 index 00000000..35cd3ac8 --- /dev/null +++ b/data/maps/objects/GameCornerPrizeRoom.asm @@ -0,0 +1,19 @@ +GameCornerPrizeRoom_Object: + db $f ; border block + + db 2 ; warps + warp 4, 7, 9, -1 + warp 5, 7, 9, -1 + + db 3 ; signs + sign 2, 2, 3 ; CeladonPrizeRoomText3 + sign 4, 2, 4 ; CeladonPrizeRoomText4 + sign 6, 2, 5 ; CeladonPrizeRoomText5 + + db 2 ; objects + object SPRITE_BALDING_GUY, 1, 4, STAY, NONE, 1 ; person + object SPRITE_GAMBLER, 7, 3, WALK, 2, 2 ; person + + ; warp-to + warp_to 4, 7, GAME_CORNER_PRIZE_ROOM_WIDTH + warp_to 5, 7, GAME_CORNER_PRIZE_ROOM_WIDTH diff --git a/data/maps/objects/HallOfFame.asm b/data/maps/objects/HallOfFame.asm new file mode 100755 index 00000000..3762d871 --- /dev/null +++ b/data/maps/objects/HallOfFame.asm @@ -0,0 +1,15 @@ +HallOfFame_Object: + db $3 ; border block + + db 2 ; warps + warp 4, 7, 2, CHAMPIONS_ROOM + warp 5, 7, 3, CHAMPIONS_ROOM + + db 0 ; signs + + db 1 ; objects + object SPRITE_OAK, 5, 2, STAY, DOWN, 1 ; person + + ; warp-to + warp_to 4, 7, HALL_OF_FAME_WIDTH ; CHAMPIONS_ROOM + warp_to 5, 7, HALL_OF_FAME_WIDTH ; CHAMPIONS_ROOM diff --git a/data/maps/objects/IndigoPlateau.asm b/data/maps/objects/IndigoPlateau.asm new file mode 100755 index 00000000..1447be11 --- /dev/null +++ b/data/maps/objects/IndigoPlateau.asm @@ -0,0 +1,14 @@ +IndigoPlateau_Object: + db $e ; border block + + db 2 ; warps + warp 9, 5, 0, INDIGO_PLATEAU_LOBBY + warp 10, 5, 0, INDIGO_PLATEAU_LOBBY + + db 0 ; signs + + db 0 ; objects + + ; warp-to + warp_to 9, 5, INDIGO_PLATEAU_WIDTH ; INDIGO_PLATEAU_LOBBY + warp_to 10, 5, INDIGO_PLATEAU_WIDTH ; INDIGO_PLATEAU_LOBBY diff --git a/data/maps/objects/IndigoPlateauLobby.asm b/data/maps/objects/IndigoPlateauLobby.asm new file mode 100755 index 00000000..ea113a16 --- /dev/null +++ b/data/maps/objects/IndigoPlateauLobby.asm @@ -0,0 +1,21 @@ +IndigoPlateauLobby_Object: + db $0 ; border block + + db 3 ; warps + warp 7, 11, 0, -1 + warp 8, 11, 1, -1 + warp 8, 0, 0, LORELEIS_ROOM + + db 0 ; signs + + db 5 ; objects + object SPRITE_NURSE, 7, 5, STAY, DOWN, 1 ; person + object SPRITE_GYM_HELPER, 4, 9, STAY, RIGHT, 2 ; person + object SPRITE_LASS, 5, 1, STAY, DOWN, 3 ; person + object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 4 ; person + object SPRITE_CABLE_CLUB_WOMAN, 13, 6, STAY, DOWN, 5 ; person + + ; warp-to + warp_to 7, 11, INDIGO_PLATEAU_LOBBY_WIDTH + warp_to 8, 11, INDIGO_PLATEAU_LOBBY_WIDTH + warp_to 8, 0, INDIGO_PLATEAU_LOBBY_WIDTH ; LORELEIS_ROOM diff --git a/data/maps/objects/LancesRoom.asm b/data/maps/objects/LancesRoom.asm new file mode 100755 index 00000000..6f22631a --- /dev/null +++ b/data/maps/objects/LancesRoom.asm @@ -0,0 +1,17 @@ +LancesRoom_Object: + db $3 ; border block + + db 3 ; warps + warp 24, 16, 2, AGATHAS_ROOM + warp 5, 0, 0, CHAMPIONS_ROOM + warp 6, 0, 0, CHAMPIONS_ROOM + + db 0 ; signs + + db 1 ; objects + object SPRITE_LANCE, 6, 1, STAY, DOWN, 1, OPP_LANCE, 1 + + ; warp-to + warp_to 24, 16, LANCES_ROOM_WIDTH ; AGATHAS_ROOM + warp_to 5, 0, LANCES_ROOM_WIDTH ; CHAMPIONS_ROOM + warp_to 6, 0, LANCES_ROOM_WIDTH ; CHAMPIONS_ROOM diff --git a/data/maps/objects/LavenderCuboneHouse.asm b/data/maps/objects/LavenderCuboneHouse.asm new file mode 100755 index 00000000..96f1b3ba --- /dev/null +++ b/data/maps/objects/LavenderCuboneHouse.asm @@ -0,0 +1,16 @@ +LavenderCuboneHouse_Object: + db $a ; border block + + db 2 ; warps + warp 2, 7, 4, -1 + warp 3, 7, 4, -1 + + db 0 ; signs + + db 2 ; objects + object SPRITE_SLOWBRO, 3, 5, STAY, UP, 1 ; person + object SPRITE_BRUNETTE_GIRL, 2, 4, STAY, RIGHT, 2 ; person + + ; warp-to + warp_to 2, 7, LAVENDER_CUBONE_HOUSE_WIDTH + warp_to 3, 7, LAVENDER_CUBONE_HOUSE_WIDTH diff --git a/data/maps/objects/LavenderMart.asm b/data/maps/objects/LavenderMart.asm new file mode 100755 index 00000000..df14ad39 --- /dev/null +++ b/data/maps/objects/LavenderMart.asm @@ -0,0 +1,17 @@ +LavenderMart_Object: + db $0 ; border block + + db 2 ; warps + warp 3, 7, 3, -1 + warp 4, 7, 3, -1 + + db 0 ; signs + + db 3 ; objects + object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person + object SPRITE_BALDING_GUY, 3, 4, STAY, NONE, 2 ; person + object SPRITE_BLACK_HAIR_BOY_1, 7, 2, STAY, NONE, 3 ; person + + ; warp-to + warp_to 3, 7, LAVENDER_MART_WIDTH + warp_to 4, 7, LAVENDER_MART_WIDTH diff --git a/data/maps/objects/LavenderPokecenter.asm b/data/maps/objects/LavenderPokecenter.asm new file mode 100755 index 00000000..89e25571 --- /dev/null +++ b/data/maps/objects/LavenderPokecenter.asm @@ -0,0 +1,18 @@ +LavenderPokecenter_Object: + db $0 ; border block + + db 2 ; warps + warp 3, 7, 0, -1 + warp 4, 7, 0, -1 + + db 0 ; signs + + db 4 ; objects + object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person + object SPRITE_GENTLEMAN, 5, 3, STAY, NONE, 2 ; person + object SPRITE_LITTLE_GIRL, 2, 6, WALK, 1, 3 ; person + object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person + + ; warp-to + warp_to 3, 7, LAVENDER_POKECENTER_WIDTH + warp_to 4, 7, LAVENDER_POKECENTER_WIDTH diff --git a/data/maps/objects/LavenderTown.asm b/data/maps/objects/LavenderTown.asm new file mode 100755 index 00000000..4aead666 --- /dev/null +++ b/data/maps/objects/LavenderTown.asm @@ -0,0 +1,31 @@ +LavenderTown_Object: + db $2c ; border block + + db 6 ; warps + warp 3, 5, 0, LAVENDER_POKECENTER + warp 14, 5, 0, POKEMON_TOWER_1F + warp 7, 9, 0, MR_FUJIS_HOUSE + warp 15, 13, 0, LAVENDER_MART + warp 3, 13, 0, LAVENDER_CUBONE_HOUSE + warp 7, 13, 0, NAME_RATERS_HOUSE + + db 6 ; signs + sign 11, 9, 4 ; LavenderTownText4 + sign 9, 3, 5 ; LavenderTownText5 + sign 16, 13, 6 ; MartSignText + sign 4, 5, 7 ; PokeCenterSignText + sign 5, 9, 8 ; LavenderTownText8 + sign 17, 7, 9 ; LavenderTownText9 + + db 3 ; objects + object SPRITE_LITTLE_GIRL, 15, 9, WALK, 0, 1 ; person + object SPRITE_BLACK_HAIR_BOY_1, 9, 10, STAY, NONE, 2 ; person + object SPRITE_BLACK_HAIR_BOY_2, 8, 7, WALK, 2, 3 ; person + + ; warp-to + warp_to 3, 5, LAVENDER_TOWN_WIDTH ; LAVENDER_POKECENTER + warp_to 14, 5, LAVENDER_TOWN_WIDTH ; POKEMON_TOWER_1F + warp_to 7, 9, LAVENDER_TOWN_WIDTH ; MR_FUJIS_HOUSE + warp_to 15, 13, LAVENDER_TOWN_WIDTH ; LAVENDER_MART + warp_to 3, 13, LAVENDER_TOWN_WIDTH ; LAVENDER_CUBONE_HOUSE + warp_to 7, 13, LAVENDER_TOWN_WIDTH ; NAME_RATERS_HOUSE diff --git a/data/maps/objects/LoreleisRoom.asm b/data/maps/objects/LoreleisRoom.asm new file mode 100755 index 00000000..06450bb4 --- /dev/null +++ b/data/maps/objects/LoreleisRoom.asm @@ -0,0 +1,19 @@ +LoreleisRoom_Object: + db $3 ; border block + + db 4 ; warps + warp 4, 11, 2, INDIGO_PLATEAU_LOBBY + warp 5, 11, 2, INDIGO_PLATEAU_LOBBY + warp 4, 0, 0, BRUNOS_ROOM + warp 5, 0, 1, BRUNOS_ROOM + + db 0 ; signs + + db 1 ; objects + object SPRITE_LORELEI, 5, 2, STAY, DOWN, 1, OPP_LORELEI, 1 + + ; warp-to + warp_to 4, 11, LORELEIS_ROOM_WIDTH ; INDIGO_PLATEAU_LOBBY + warp_to 5, 11, LORELEIS_ROOM_WIDTH ; INDIGO_PLATEAU_LOBBY + warp_to 4, 0, LORELEIS_ROOM_WIDTH ; BRUNOS_ROOM + warp_to 5, 0, LORELEIS_ROOM_WIDTH ; BRUNOS_ROOM diff --git a/data/maps/objects/MrFujisHouse.asm b/data/maps/objects/MrFujisHouse.asm new file mode 100755 index 00000000..5b6ca2a6 --- /dev/null +++ b/data/maps/objects/MrFujisHouse.asm @@ -0,0 +1,20 @@ +MrFujisHouse_Object: + db $a ; border block + + db 2 ; warps + warp 2, 7, 2, -1 + warp 3, 7, 2, -1 + + db 0 ; signs + + db 6 ; objects + object SPRITE_BLACK_HAIR_BOY_2, 3, 5, STAY, NONE, 1 ; person + object SPRITE_LITTLE_GIRL, 6, 3, STAY, DOWN, 2 ; person + object SPRITE_SLOWBRO, 6, 4, STAY, UP, 3 ; person + object SPRITE_SLOWBRO, 1, 3, STAY, NONE, 4 ; person + object SPRITE_MR_FUJI, 3, 1, STAY, NONE, 5 ; person + object SPRITE_BOOK_MAP_DEX, 3, 3, STAY, NONE, 6 ; person + + ; warp-to + warp_to 2, 7, MR_FUJIS_HOUSE_WIDTH + warp_to 3, 7, MR_FUJIS_HOUSE_WIDTH diff --git a/data/maps/objects/MrPsychicsHouse.asm b/data/maps/objects/MrPsychicsHouse.asm new file mode 100755 index 00000000..01f9e11c --- /dev/null +++ b/data/maps/objects/MrPsychicsHouse.asm @@ -0,0 +1,15 @@ +MrPsychicsHouse_Object: + db $a ; border block + + db 2 ; warps + warp 2, 7, 7, -1 + warp 3, 7, 7, -1 + + db 0 ; signs + + db 1 ; objects + object SPRITE_FISHER, 5, 3, STAY, LEFT, 1 ; person + + ; warp-to + warp_to 2, 7, MR_PSYCHICS_HOUSE_WIDTH + warp_to 3, 7, MR_PSYCHICS_HOUSE_WIDTH diff --git a/data/maps/objects/MtMoon1F.asm b/data/maps/objects/MtMoon1F.asm new file mode 100755 index 00000000..56820161 --- /dev/null +++ b/data/maps/objects/MtMoon1F.asm @@ -0,0 +1,34 @@ +MtMoon1F_Object: + db $3 ; border block + + db 5 ; warps + warp 14, 35, 1, -1 + warp 15, 35, 1, -1 + warp 5, 5, 0, MT_MOON_B1F + warp 17, 11, 2, MT_MOON_B1F + warp 25, 15, 3, MT_MOON_B1F + + db 1 ; signs + sign 15, 23, 14 ; MtMoon1Text14 + + db 13 ; objects + object SPRITE_HIKER, 5, 6, STAY, DOWN, 1, OPP_HIKER, 1 + object SPRITE_BUG_CATCHER, 12, 16, STAY, RIGHT, 2, OPP_YOUNGSTER, 3 + object SPRITE_LASS, 30, 4, STAY, DOWN, 3, OPP_LASS, 5 + object SPRITE_BLACK_HAIR_BOY_2, 24, 31, STAY, UP, 4, OPP_SUPER_NERD, 1 + object SPRITE_LASS, 16, 23, STAY, DOWN, 5, OPP_LASS, 6 + object SPRITE_BUG_CATCHER, 7, 22, STAY, DOWN, 6, OPP_BUG_CATCHER, 7 + object SPRITE_BUG_CATCHER, 30, 27, STAY, RIGHT, 7, OPP_BUG_CATCHER, 8 + object SPRITE_BALL, 2, 20, STAY, NONE, 8, POTION + object SPRITE_BALL, 2, 2, STAY, NONE, 9, MOON_STONE + object SPRITE_BALL, 35, 31, STAY, NONE, 10, RARE_CANDY + object SPRITE_BALL, 36, 23, STAY, NONE, 11, ESCAPE_ROPE + object SPRITE_BALL, 20, 33, STAY, NONE, 12, POTION + object SPRITE_BALL, 5, 32, STAY, NONE, 13, TM_12 + + ; warp-to + warp_to 14, 35, MT_MOON_1F_WIDTH + warp_to 15, 35, MT_MOON_1F_WIDTH + warp_to 5, 5, MT_MOON_1F_WIDTH ; MT_MOON_B1F + warp_to 17, 11, MT_MOON_1F_WIDTH ; MT_MOON_B1F + warp_to 25, 15, MT_MOON_1F_WIDTH ; MT_MOON_B1F diff --git a/data/maps/objects/MtMoonB1F.asm b/data/maps/objects/MtMoonB1F.asm new file mode 100755 index 00000000..a8365ba7 --- /dev/null +++ b/data/maps/objects/MtMoonB1F.asm @@ -0,0 +1,26 @@ +MtMoonB1F_Object: + db $3 ; border block + + db 8 ; warps + warp 5, 5, 2, MT_MOON_1F + warp 17, 11, 0, MT_MOON_B2F + warp 25, 9, 3, MT_MOON_1F + warp 25, 15, 4, MT_MOON_1F + warp 21, 17, 1, MT_MOON_B2F + warp 13, 27, 2, MT_MOON_B2F + warp 23, 3, 3, MT_MOON_B2F + warp 27, 3, 2, -1 + + db 0 ; signs + + db 0 ; objects + + ; warp-to + warp_to 5, 5, MT_MOON_B1F_WIDTH ; MT_MOON_1F + warp_to 17, 11, MT_MOON_B1F_WIDTH ; MT_MOON_B2F + warp_to 25, 9, MT_MOON_B1F_WIDTH ; MT_MOON_1F + warp_to 25, 15, MT_MOON_B1F_WIDTH ; MT_MOON_1F + warp_to 21, 17, MT_MOON_B1F_WIDTH ; MT_MOON_B2F + warp_to 13, 27, MT_MOON_B1F_WIDTH ; MT_MOON_B2F + warp_to 23, 3, MT_MOON_B1F_WIDTH ; MT_MOON_B2F + warp_to 27, 3, MT_MOON_B1F_WIDTH diff --git a/data/maps/objects/MtMoonB2F.asm b/data/maps/objects/MtMoonB2F.asm new file mode 100755 index 00000000..27b2383f --- /dev/null +++ b/data/maps/objects/MtMoonB2F.asm @@ -0,0 +1,27 @@ +MtMoonB2F_Object: + db $3 ; border block + + db 4 ; warps + warp 25, 9, 1, MT_MOON_B1F + warp 21, 17, 4, MT_MOON_B1F + warp 15, 27, 5, MT_MOON_B1F + warp 5, 7, 6, MT_MOON_B1F + + db 0 ; signs + + db 9 ; objects + object SPRITE_BLACK_HAIR_BOY_2, 12, 8, STAY, RIGHT, 1, OPP_SUPER_NERD, 2 + object SPRITE_ROCKET, 11, 16, STAY, DOWN, 2, OPP_ROCKET, 1 + object SPRITE_ROCKET, 15, 22, STAY, DOWN, 3, OPP_ROCKET, 2 + object SPRITE_ROCKET, 29, 11, STAY, UP, 4, OPP_ROCKET, 3 + object SPRITE_ROCKET, 29, 17, STAY, LEFT, 5, OPP_ROCKET, 4 + object SPRITE_OMANYTE, 12, 6, STAY, NONE, 6 ; person + object SPRITE_OMANYTE, 13, 6, STAY, NONE, 7 ; person + object SPRITE_BALL, 25, 21, STAY, NONE, 8, HP_UP + object SPRITE_BALL, 29, 5, STAY, NONE, 9, TM_01 + + ; warp-to + warp_to 25, 9, MT_MOON_B2F_WIDTH ; MT_MOON_B1F + warp_to 21, 17, MT_MOON_B2F_WIDTH ; MT_MOON_B1F + warp_to 15, 27, MT_MOON_B2F_WIDTH ; MT_MOON_B1F + warp_to 5, 7, MT_MOON_B2F_WIDTH ; MT_MOON_B1F diff --git a/data/maps/objects/MtMoonPokecenter.asm b/data/maps/objects/MtMoonPokecenter.asm new file mode 100755 index 00000000..b23703e6 --- /dev/null +++ b/data/maps/objects/MtMoonPokecenter.asm @@ -0,0 +1,20 @@ +MtMoonPokecenter_Object: + db $0 ; border block + + db 2 ; warps + warp 3, 7, 0, -1 + warp 4, 7, 0, -1 + + db 0 ; signs + + db 6 ; objects + object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person + object SPRITE_BUG_CATCHER, 4, 3, STAY, UP, 2 ; person + object SPRITE_GENTLEMAN, 7, 3, STAY, UP, 3 ; person + object SPRITE_FAT_BALD_GUY, 10, 6, WALK, 2, 4 ; person + object SPRITE_CLIPBOARD, 7, 2, STAY, NONE, 5 ; person + object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 6 ; person + + ; warp-to + warp_to 3, 7, MT_MOON_POKECENTER_WIDTH + warp_to 4, 7, MT_MOON_POKECENTER_WIDTH diff --git a/data/maps/objects/Museum1F.asm b/data/maps/objects/Museum1F.asm new file mode 100755 index 00000000..1cfd2c68 --- /dev/null +++ b/data/maps/objects/Museum1F.asm @@ -0,0 +1,25 @@ +Museum1F_Object: + db $a ; border block + + db 5 ; warps + warp 10, 7, 0, -1 + warp 11, 7, 0, -1 + warp 16, 7, 1, -1 + warp 17, 7, 1, -1 + warp 7, 7, 0, MUSEUM_2F + + db 0 ; signs + + db 5 ; objects + object SPRITE_OAK_AIDE, 12, 4, STAY, LEFT, 1 ; person + object SPRITE_GAMBLER, 1, 4, STAY, NONE, 2 ; person + object SPRITE_OAK_AIDE, 15, 2, STAY, DOWN, 3 ; person + object SPRITE_OAK_AIDE, 17, 4, STAY, NONE, 4 ; person + object SPRITE_OLD_AMBER, 16, 2, STAY, NONE, 5 ; person + + ; warp-to + warp_to 10, 7, MUSEUM_1F_WIDTH + warp_to 11, 7, MUSEUM_1F_WIDTH + warp_to 16, 7, MUSEUM_1F_WIDTH + warp_to 17, 7, MUSEUM_1F_WIDTH + warp_to 7, 7, MUSEUM_1F_WIDTH ; MUSEUM_2F diff --git a/data/maps/objects/Museum2F.asm b/data/maps/objects/Museum2F.asm new file mode 100755 index 00000000..80815820 --- /dev/null +++ b/data/maps/objects/Museum2F.asm @@ -0,0 +1,19 @@ +Museum2F_Object: + db $a ; border block + + db 1 ; warps + warp 7, 7, 4, MUSEUM_1F + + db 2 ; signs + sign 11, 2, 6 ; Museum2FText6 + sign 2, 5, 7 ; Museum2FText7 + + db 5 ; objects + object SPRITE_BUG_CATCHER, 1, 7, WALK, 2, 1 ; person + object SPRITE_OLD_PERSON, 0, 5, STAY, DOWN, 2 ; person + object SPRITE_OAK_AIDE, 7, 5, STAY, DOWN, 3 ; person + object SPRITE_BRUNETTE_GIRL, 11, 5, STAY, NONE, 4 ; person + object SPRITE_HIKER, 12, 5, STAY, DOWN, 5 ; person + + ; warp-to + warp_to 7, 7, MUSEUM_2F_WIDTH ; MUSEUM_1F diff --git a/data/maps/objects/NameRatersHouse.asm b/data/maps/objects/NameRatersHouse.asm new file mode 100755 index 00000000..da95bc43 --- /dev/null +++ b/data/maps/objects/NameRatersHouse.asm @@ -0,0 +1,15 @@ +NameRatersHouse_Object: + db $a ; border block + + db 2 ; warps + warp 2, 7, 5, -1 + warp 3, 7, 5, -1 + + db 0 ; signs + + db 1 ; objects + object SPRITE_MR_MASTERBALL, 5, 3, STAY, LEFT, 1 ; person + + ; warp-to + warp_to 2, 7, NAME_RATERS_HOUSE_WIDTH + warp_to 3, 7, NAME_RATERS_HOUSE_WIDTH diff --git a/data/maps/objects/OaksLab.asm b/data/maps/objects/OaksLab.asm new file mode 100755 index 00000000..fa78ccdf --- /dev/null +++ b/data/maps/objects/OaksLab.asm @@ -0,0 +1,25 @@ +OaksLab_Object: + db $3 ; border block + + db 2 ; warps + warp 4, 11, 2, -1 + warp 5, 11, 2, -1 + + db 0 ; signs + + db 11 ; objects + object SPRITE_BLUE, 4, 3, STAY, NONE, 1, OPP_SONY1, 1 + object SPRITE_BALL, 6, 3, STAY, NONE, 2 ; person + object SPRITE_BALL, 7, 3, STAY, NONE, 3 ; person + object SPRITE_BALL, 8, 3, STAY, NONE, 4 ; person + object SPRITE_OAK, 5, 2, STAY, DOWN, 5 ; person + object SPRITE_BOOK_MAP_DEX, 2, 1, STAY, NONE, 6 ; person + object SPRITE_BOOK_MAP_DEX, 3, 1, STAY, NONE, 7 ; person + object SPRITE_OAK, 5, 10, STAY, UP, 8 ; person + object SPRITE_GIRL, 1, 9, WALK, 1, 9 ; person + object SPRITE_OAK_AIDE, 2, 10, STAY, NONE, 10 ; person + object SPRITE_OAK_AIDE, 8, 10, STAY, NONE, 11 ; person + + ; warp-to + warp_to 4, 11, OAKS_LAB_WIDTH + warp_to 5, 11, OAKS_LAB_WIDTH diff --git a/data/maps/objects/PalletTown.asm b/data/maps/objects/PalletTown.asm new file mode 100755 index 00000000..68b01175 --- /dev/null +++ b/data/maps/objects/PalletTown.asm @@ -0,0 +1,23 @@ +PalletTown_Object: + db $b ; border block + + db 3 ; warps + warp 5, 5, 0, REDS_HOUSE_1F + warp 13, 5, 0, BLUES_HOUSE + warp 12, 11, 1, OAKS_LAB + + db 4 ; signs + sign 13, 13, 4 ; PalletTownText4 + sign 7, 9, 5 ; PalletTownText5 + sign 3, 5, 6 ; PalletTownText6 + sign 11, 5, 7 ; PalletTownText7 + + db 3 ; objects + object SPRITE_OAK, 8, 5, STAY, NONE, 1 ; person + object SPRITE_GIRL, 3, 8, WALK, 0, 2 ; person + object SPRITE_FISHER2, 11, 14, WALK, 0, 3 ; person + + ; warp-to + warp_to 5, 5, PALLET_TOWN_WIDTH ; REDS_HOUSE_1F + warp_to 13, 5, PALLET_TOWN_WIDTH ; BLUES_HOUSE + warp_to 12, 11, PALLET_TOWN_WIDTH ; OAKS_LAB diff --git a/data/maps/objects/PewterCity.asm b/data/maps/objects/PewterCity.asm new file mode 100755 index 00000000..e1a3eecb --- /dev/null +++ b/data/maps/objects/PewterCity.asm @@ -0,0 +1,36 @@ +PewterCity_Object: + db $a ; border block + + db 7 ; warps + warp 14, 7, 0, MUSEUM_1F + warp 19, 5, 2, MUSEUM_1F + warp 16, 17, 0, PEWTER_GYM + warp 29, 13, 0, PEWTER_NIDORAN_HOUSE + warp 23, 17, 0, PEWTER_MART + warp 7, 29, 0, PEWTER_SPEECH_HOUSE + warp 13, 25, 0, PEWTER_POKECENTER + + db 7 ; signs + sign 19, 29, 6 ; PewterCityText6 + sign 33, 19, 7 ; PewterCityText7 + sign 24, 17, 8 ; MartSignText + sign 14, 25, 9 ; PokeCenterSignText + sign 15, 9, 10 ; PewterCityText10 + sign 11, 17, 11 ; PewterCityText11 + sign 25, 23, 12 ; PewterCityText12 + + db 5 ; objects + object SPRITE_LASS, 8, 15, STAY, NONE, 1 ; person + object SPRITE_BLACK_HAIR_BOY_1, 17, 25, STAY, NONE, 2 ; person + object SPRITE_BLACK_HAIR_BOY_2, 27, 17, STAY, NONE, 3 ; person + object SPRITE_BLACK_HAIR_BOY_2, 26, 25, WALK, 2, 4 ; person + object SPRITE_BUG_CATCHER, 35, 16, STAY, DOWN, 5 ; person + + ; warp-to + warp_to 14, 7, PEWTER_CITY_WIDTH ; MUSEUM_1F + warp_to 19, 5, PEWTER_CITY_WIDTH ; MUSEUM_1F + warp_to 16, 17, PEWTER_CITY_WIDTH ; PEWTER_GYM + warp_to 29, 13, PEWTER_CITY_WIDTH ; PEWTER_NIDORAN_HOUSE + warp_to 23, 17, PEWTER_CITY_WIDTH ; PEWTER_MART + warp_to 7, 29, PEWTER_CITY_WIDTH ; PEWTER_SPEECH_HOUSE + warp_to 13, 25, PEWTER_CITY_WIDTH ; PEWTER_POKECENTER diff --git a/data/maps/objects/PewterGym.asm b/data/maps/objects/PewterGym.asm new file mode 100755 index 00000000..538c3923 --- /dev/null +++ b/data/maps/objects/PewterGym.asm @@ -0,0 +1,17 @@ +PewterGym_Object: + db $3 ; border block + + db 2 ; warps + warp 4, 13, 2, -1 + warp 5, 13, 2, -1 + + db 0 ; signs + + db 3 ; objects + object SPRITE_BLACK_HAIR_BOY_2, 4, 1, STAY, DOWN, 1, OPP_BROCK, 1 + object SPRITE_BLACK_HAIR_BOY_1, 3, 6, STAY, RIGHT, 2, OPP_JR_TRAINER_M, 1 + object SPRITE_GYM_HELPER, 7, 10, STAY, DOWN, 3 ; person + + ; warp-to + warp_to 4, 13, PEWTER_GYM_WIDTH + warp_to 5, 13, PEWTER_GYM_WIDTH diff --git a/data/maps/objects/PewterMart.asm b/data/maps/objects/PewterMart.asm new file mode 100755 index 00000000..9b983316 --- /dev/null +++ b/data/maps/objects/PewterMart.asm @@ -0,0 +1,17 @@ +PewterMart_Object: + db $0 ; border block + + db 2 ; warps + warp 3, 7, 4, -1 + warp 4, 7, 4, -1 + + db 0 ; signs + + db 3 ; objects + object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person + object SPRITE_BUG_CATCHER, 3, 3, WALK, 1, 2 ; person + object SPRITE_BLACK_HAIR_BOY_2, 5, 5, STAY, NONE, 3 ; person + + ; warp-to + warp_to 3, 7, PEWTER_MART_WIDTH + warp_to 4, 7, PEWTER_MART_WIDTH diff --git a/data/maps/objects/PewterNidoranHouse.asm b/data/maps/objects/PewterNidoranHouse.asm new file mode 100755 index 00000000..f00317d1 --- /dev/null +++ b/data/maps/objects/PewterNidoranHouse.asm @@ -0,0 +1,17 @@ +PewterNidoranHouse_Object: + db $a ; border block + + db 2 ; warps + warp 2, 7, 3, -1 + warp 3, 7, 3, -1 + + db 0 ; signs + + db 3 ; objects + object SPRITE_SLOWBRO, 4, 5, STAY, LEFT, 1 ; person + object SPRITE_YOUNG_BOY, 3, 5, STAY, RIGHT, 2 ; person + object SPRITE_FAT_BALD_GUY, 1, 2, STAY, NONE, 3 ; person + + ; warp-to + warp_to 2, 7, PEWTER_NIDORAN_HOUSE_WIDTH + warp_to 3, 7, PEWTER_NIDORAN_HOUSE_WIDTH diff --git a/data/maps/objects/PewterPokecenter.asm b/data/maps/objects/PewterPokecenter.asm new file mode 100755 index 00000000..2b375bf9 --- /dev/null +++ b/data/maps/objects/PewterPokecenter.asm @@ -0,0 +1,18 @@ +PewterPokecenter_Object: + db $0 ; border block + + db 2 ; warps + warp 3, 7, 6, -1 + warp 4, 7, 6, -1 + + db 0 ; signs + + db 4 ; objects + object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person + object SPRITE_GENTLEMAN, 11, 7, STAY, LEFT, 2 ; person + object SPRITE_CLEFAIRY, 1, 3, STAY, DOWN, 3 ; person + object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person + + ; warp-to + warp_to 3, 7, PEWTER_POKECENTER_WIDTH + warp_to 4, 7, PEWTER_POKECENTER_WIDTH diff --git a/data/maps/objects/PewterSpeechHouse.asm b/data/maps/objects/PewterSpeechHouse.asm new file mode 100755 index 00000000..e7134cb5 --- /dev/null +++ b/data/maps/objects/PewterSpeechHouse.asm @@ -0,0 +1,16 @@ +PewterSpeechHouse_Object: + db $a ; border block + + db 2 ; warps + warp 2, 7, 5, -1 + warp 3, 7, 5, -1 + + db 0 ; signs + + db 2 ; objects + object SPRITE_GAMBLER, 2, 3, STAY, RIGHT, 1 ; person + object SPRITE_BUG_CATCHER, 4, 5, STAY, NONE, 2 ; person + + ; warp-to + warp_to 2, 7, PEWTER_SPEECH_HOUSE_WIDTH + warp_to 3, 7, PEWTER_SPEECH_HOUSE_WIDTH diff --git a/data/maps/objects/PokemonFanClub.asm b/data/maps/objects/PokemonFanClub.asm new file mode 100755 index 00000000..e1f175f0 --- /dev/null +++ b/data/maps/objects/PokemonFanClub.asm @@ -0,0 +1,22 @@ +PokemonFanClub_Object: + db $d ; border block + + db 2 ; warps + warp 2, 7, 1, -1 + warp 3, 7, 1, -1 + + db 2 ; signs + sign 1, 0, 7 ; FanClubText7 + sign 6, 0, 8 ; FanClubText8 + + db 6 ; objects + object SPRITE_FISHER2, 6, 3, STAY, LEFT, 1 ; person + object SPRITE_GIRL, 1, 3, STAY, RIGHT, 2 ; person + object SPRITE_CLEFAIRY, 6, 4, STAY, LEFT, 3 ; person + object SPRITE_SEEL, 1, 4, STAY, RIGHT, 4 ; person + object SPRITE_GENTLEMAN, 3, 1, STAY, DOWN, 5 ; person + object SPRITE_CABLE_CLUB_WOMAN, 5, 1, STAY, DOWN, 6 ; person + + ; warp-to + warp_to 2, 7, POKEMON_FAN_CLUB_WIDTH + warp_to 3, 7, POKEMON_FAN_CLUB_WIDTH diff --git a/data/maps/objects/PokemonMansion1F.asm b/data/maps/objects/PokemonMansion1F.asm new file mode 100755 index 00000000..109b5b8e --- /dev/null +++ b/data/maps/objects/PokemonMansion1F.asm @@ -0,0 +1,29 @@ +PokemonMansion1F_Object: + db $2e ; border block + + db 8 ; warps + warp 4, 27, 0, -1 + warp 5, 27, 0, -1 + warp 6, 27, 0, -1 + warp 7, 27, 0, -1 + warp 5, 10, 0, POKEMON_MANSION_2F + warp 21, 23, 0, POKEMON_MANSION_B1F + warp 26, 27, 0, -1 + warp 27, 27, 0, -1 + + db 0 ; signs + + db 3 ; objects + object SPRITE_OAK_AIDE, 17, 17, STAY, LEFT, 1, OPP_SCIENTIST, 4 + object SPRITE_BALL, 14, 3, STAY, NONE, 2, ESCAPE_ROPE + object SPRITE_BALL, 18, 21, STAY, NONE, 3, CARBOS + + ; warp-to + warp_to 4, 27, POKEMON_MANSION_1F_WIDTH + warp_to 5, 27, POKEMON_MANSION_1F_WIDTH + warp_to 6, 27, POKEMON_MANSION_1F_WIDTH + warp_to 7, 27, POKEMON_MANSION_1F_WIDTH + warp_to 5, 10, POKEMON_MANSION_1F_WIDTH ; POKEMON_MANSION_2F + warp_to 21, 23, POKEMON_MANSION_1F_WIDTH ; POKEMON_MANSION_B1F + warp_to 26, 27, POKEMON_MANSION_1F_WIDTH + warp_to 27, 27, POKEMON_MANSION_1F_WIDTH diff --git a/data/maps/objects/PokemonMansion2F.asm b/data/maps/objects/PokemonMansion2F.asm new file mode 100755 index 00000000..6c0cc5f8 --- /dev/null +++ b/data/maps/objects/PokemonMansion2F.asm @@ -0,0 +1,22 @@ +PokemonMansion2F_Object: + db $1 ; border block + + db 4 ; warps + warp 5, 10, 4, POKEMON_MANSION_1F + warp 7, 10, 0, POKEMON_MANSION_3F + warp 25, 14, 2, POKEMON_MANSION_3F + warp 6, 1, 1, POKEMON_MANSION_3F + + db 0 ; signs + + db 4 ; objects + object SPRITE_BLACK_HAIR_BOY_2, 3, 17, WALK, 2, 1, OPP_BURGLAR, 7 + object SPRITE_BALL, 28, 7, STAY, NONE, 2, CALCIUM + object SPRITE_BOOK_MAP_DEX, 18, 2, STAY, NONE, 3 ; person + object SPRITE_BOOK_MAP_DEX, 3, 22, STAY, NONE, 4 ; person + + ; warp-to + warp_to 5, 10, POKEMON_MANSION_2F_WIDTH ; POKEMON_MANSION_1F + warp_to 7, 10, POKEMON_MANSION_2F_WIDTH ; POKEMON_MANSION_3F + warp_to 25, 14, POKEMON_MANSION_2F_WIDTH ; POKEMON_MANSION_3F + warp_to 6, 1, POKEMON_MANSION_2F_WIDTH ; POKEMON_MANSION_3F diff --git a/data/maps/objects/PokemonMansion3F.asm b/data/maps/objects/PokemonMansion3F.asm new file mode 100755 index 00000000..7c8c9c22 --- /dev/null +++ b/data/maps/objects/PokemonMansion3F.asm @@ -0,0 +1,21 @@ +PokemonMansion3F_Object: + db $1 ; border block + + db 3 ; warps + warp 7, 10, 1, POKEMON_MANSION_2F + warp 6, 1, 3, POKEMON_MANSION_2F + warp 25, 14, 2, POKEMON_MANSION_2F + + db 0 ; signs + + db 5 ; objects + object SPRITE_BLACK_HAIR_BOY_2, 5, 11, WALK, 2, 1, OPP_BURGLAR, 8 + object SPRITE_OAK_AIDE, 20, 11, STAY, LEFT, 2, OPP_SCIENTIST, 12 + object SPRITE_BALL, 1, 16, STAY, NONE, 3, MAX_POTION + object SPRITE_BALL, 25, 5, STAY, NONE, 4, IRON + object SPRITE_BOOK_MAP_DEX, 6, 12, STAY, NONE, 5 ; person + + ; warp-to + warp_to 7, 10, POKEMON_MANSION_3F_WIDTH ; POKEMON_MANSION_2F + warp_to 6, 1, POKEMON_MANSION_3F_WIDTH ; POKEMON_MANSION_2F + warp_to 25, 14, POKEMON_MANSION_3F_WIDTH ; POKEMON_MANSION_2F diff --git a/data/maps/objects/PokemonMansionB1F.asm b/data/maps/objects/PokemonMansionB1F.asm new file mode 100755 index 00000000..ac232799 --- /dev/null +++ b/data/maps/objects/PokemonMansionB1F.asm @@ -0,0 +1,20 @@ +PokemonMansionB1F_Object: + db $1 ; border block + + db 1 ; warps + warp 23, 22, 5, POKEMON_MANSION_1F + + db 0 ; signs + + db 8 ; objects + object SPRITE_BLACK_HAIR_BOY_2, 16, 23, STAY, NONE, 1, OPP_BURGLAR, 9 + object SPRITE_OAK_AIDE, 27, 11, STAY, DOWN, 2, OPP_SCIENTIST, 13 + object SPRITE_BALL, 10, 2, STAY, NONE, 3, RARE_CANDY + object SPRITE_BALL, 1, 22, STAY, NONE, 4, FULL_RESTORE + object SPRITE_BALL, 19, 25, STAY, NONE, 5, TM_14 + object SPRITE_BALL, 5, 4, STAY, NONE, 6, TM_22 + object SPRITE_BOOK_MAP_DEX, 16, 20, STAY, NONE, 7 ; person + object SPRITE_BALL, 5, 13, STAY, NONE, 8, SECRET_KEY + + ; warp-to + warp_to 23, 22, POKEMON_MANSION_B1F_WIDTH ; POKEMON_MANSION_1F diff --git a/data/maps/objects/PokemonTower1F.asm b/data/maps/objects/PokemonTower1F.asm new file mode 100755 index 00000000..cf62836b --- /dev/null +++ b/data/maps/objects/PokemonTower1F.asm @@ -0,0 +1,21 @@ +PokemonTower1F_Object: + db $1 ; border block + + db 3 ; warps + warp 10, 17, 1, -1 + warp 11, 17, 1, -1 + warp 18, 9, 1, POKEMON_TOWER_2F + + db 0 ; signs + + db 5 ; objects + object SPRITE_CABLE_CLUB_WOMAN, 15, 13, STAY, UP, 1 ; person + object SPRITE_MOM_GEISHA, 6, 8, STAY, NONE, 2 ; person + object SPRITE_BALDING_GUY, 8, 12, STAY, NONE, 3 ; person + object SPRITE_GIRL, 13, 7, STAY, NONE, 4 ; person + object SPRITE_MEDIUM, 17, 7, STAY, LEFT, 5 ; person + + ; warp-to + warp_to 10, 17, POKEMON_TOWER_1F_WIDTH + warp_to 11, 17, POKEMON_TOWER_1F_WIDTH + warp_to 18, 9, POKEMON_TOWER_1F_WIDTH ; POKEMON_TOWER_2F diff --git a/data/maps/objects/PokemonTower2F.asm b/data/maps/objects/PokemonTower2F.asm new file mode 100755 index 00000000..5ce437d1 --- /dev/null +++ b/data/maps/objects/PokemonTower2F.asm @@ -0,0 +1,16 @@ +PokemonTower2F_Object: + db $1 ; border block + + db 2 ; warps + warp 3, 9, 0, POKEMON_TOWER_3F + warp 18, 9, 2, POKEMON_TOWER_1F + + db 0 ; signs + + db 2 ; objects + object SPRITE_BLUE, 14, 5, STAY, NONE, 1 ; person + object SPRITE_MEDIUM, 3, 7, STAY, RIGHT, 2 ; person + + ; warp-to + warp_to 3, 9, POKEMON_TOWER_2F_WIDTH ; POKEMON_TOWER_3F + warp_to 18, 9, POKEMON_TOWER_2F_WIDTH ; POKEMON_TOWER_1F diff --git a/data/maps/objects/PokemonTower3F.asm b/data/maps/objects/PokemonTower3F.asm new file mode 100755 index 00000000..79b83f88 --- /dev/null +++ b/data/maps/objects/PokemonTower3F.asm @@ -0,0 +1,18 @@ +PokemonTower3F_Object: + db $1 ; border block + + db 2 ; warps + warp 3, 9, 0, POKEMON_TOWER_2F + warp 18, 9, 1, POKEMON_TOWER_4F + + db 0 ; signs + + db 4 ; objects + object SPRITE_MEDIUM, 12, 3, STAY, LEFT, 1, OPP_CHANNELER, 5 + object SPRITE_MEDIUM, 9, 8, STAY, DOWN, 2, OPP_CHANNELER, 6 + object SPRITE_MEDIUM, 10, 13, STAY, DOWN, 3, OPP_CHANNELER, 8 + object SPRITE_BALL, 12, 1, STAY, NONE, 4, ESCAPE_ROPE + + ; warp-to + warp_to 3, 9, POKEMON_TOWER_3F_WIDTH ; POKEMON_TOWER_2F + warp_to 18, 9, POKEMON_TOWER_3F_WIDTH ; POKEMON_TOWER_4F diff --git a/data/maps/objects/PokemonTower4F.asm b/data/maps/objects/PokemonTower4F.asm new file mode 100755 index 00000000..db86c02c --- /dev/null +++ b/data/maps/objects/PokemonTower4F.asm @@ -0,0 +1,20 @@ +PokemonTower4F_Object: + db $1 ; border block + + db 2 ; warps + warp 3, 9, 0, POKEMON_TOWER_5F + warp 18, 9, 1, POKEMON_TOWER_3F + + db 0 ; signs + + db 6 ; objects + object SPRITE_MEDIUM, 5, 10, STAY, RIGHT, 1, OPP_CHANNELER, 9 + object SPRITE_MEDIUM, 15, 7, STAY, DOWN, 2, OPP_CHANNELER, 10 + object SPRITE_MEDIUM, 14, 12, STAY, LEFT, 3, OPP_CHANNELER, 12 + object SPRITE_BALL, 12, 10, STAY, NONE, 4, ELIXER + object SPRITE_BALL, 9, 10, STAY, NONE, 5, AWAKENING + object SPRITE_BALL, 12, 16, STAY, NONE, 6, HP_UP + + ; warp-to + warp_to 3, 9, POKEMON_TOWER_4F_WIDTH ; POKEMON_TOWER_5F + warp_to 18, 9, POKEMON_TOWER_4F_WIDTH ; POKEMON_TOWER_3F diff --git a/data/maps/objects/PokemonTower5F.asm b/data/maps/objects/PokemonTower5F.asm new file mode 100755 index 00000000..b482871f --- /dev/null +++ b/data/maps/objects/PokemonTower5F.asm @@ -0,0 +1,20 @@ +PokemonTower5F_Object: + db $1 ; border block + + db 2 ; warps + warp 3, 9, 0, POKEMON_TOWER_4F + warp 18, 9, 0, POKEMON_TOWER_6F + + db 0 ; signs + + db 6 ; objects + object SPRITE_MEDIUM, 12, 8, STAY, NONE, 1 ; person + object SPRITE_MEDIUM, 17, 7, STAY, LEFT, 2, OPP_CHANNELER, 14 + object SPRITE_MEDIUM, 14, 3, STAY, LEFT, 3, OPP_CHANNELER, 16 + object SPRITE_MEDIUM, 6, 10, STAY, RIGHT, 4, OPP_CHANNELER, 17 + object SPRITE_MEDIUM, 9, 16, STAY, RIGHT, 5, OPP_CHANNELER, 18 + object SPRITE_BALL, 6, 14, STAY, NONE, 6, NUGGET + + ; warp-to + warp_to 3, 9, POKEMON_TOWER_5F_WIDTH ; POKEMON_TOWER_4F + warp_to 18, 9, POKEMON_TOWER_5F_WIDTH ; POKEMON_TOWER_6F diff --git a/data/maps/objects/PokemonTower6F.asm b/data/maps/objects/PokemonTower6F.asm new file mode 100755 index 00000000..823fe78a --- /dev/null +++ b/data/maps/objects/PokemonTower6F.asm @@ -0,0 +1,19 @@ +PokemonTower6F_Object: + db $1 ; border block + + db 2 ; warps + warp 18, 9, 1, POKEMON_TOWER_5F + warp 9, 16, 0, POKEMON_TOWER_7F + + db 0 ; signs + + db 5 ; objects + object SPRITE_MEDIUM, 12, 10, STAY, RIGHT, 1, OPP_CHANNELER, 19 + object SPRITE_MEDIUM, 9, 5, STAY, DOWN, 2, OPP_CHANNELER, 20 + object SPRITE_MEDIUM, 16, 5, STAY, LEFT, 3, OPP_CHANNELER, 21 + object SPRITE_BALL, 6, 8, STAY, NONE, 4, RARE_CANDY + object SPRITE_BALL, 14, 14, STAY, NONE, 5, X_ACCURACY + + ; warp-to + warp_to 18, 9, POKEMON_TOWER_6F_WIDTH ; POKEMON_TOWER_5F + warp_to 9, 16, POKEMON_TOWER_6F_WIDTH ; POKEMON_TOWER_7F diff --git a/data/maps/objects/PokemonTower7F.asm b/data/maps/objects/PokemonTower7F.asm new file mode 100755 index 00000000..79cb5b0d --- /dev/null +++ b/data/maps/objects/PokemonTower7F.asm @@ -0,0 +1,16 @@ +PokemonTower7F_Object: + db $1 ; border block + + db 1 ; warps + warp 9, 16, 1, POKEMON_TOWER_6F + + db 0 ; signs + + db 4 ; objects + object SPRITE_ROCKET, 9, 11, STAY, RIGHT, 1, OPP_ROCKET, 19 + object SPRITE_ROCKET, 12, 9, STAY, LEFT, 2, OPP_ROCKET, 20 + object SPRITE_ROCKET, 9, 7, STAY, RIGHT, 3, OPP_ROCKET, 21 + object SPRITE_MR_FUJI, 10, 3, STAY, DOWN, 4 ; person + + ; warp-to + warp_to 9, 16, POKEMON_TOWER_7F_WIDTH ; POKEMON_TOWER_6F diff --git a/data/maps/objects/PowerPlant.asm b/data/maps/objects/PowerPlant.asm new file mode 100755 index 00000000..a8548b1c --- /dev/null +++ b/data/maps/objects/PowerPlant.asm @@ -0,0 +1,30 @@ +PowerPlant_Object: + db $2e ; border block + + db 3 ; warps + warp 4, 35, 3, -1 + warp 5, 35, 3, -1 + warp 0, 11, 3, -1 + + db 0 ; signs + + db 14 ; objects + object SPRITE_BALL, 9, 20, STAY, NONE, 1, VOLTORB, 40 + object SPRITE_BALL, 32, 18, STAY, NONE, 2, VOLTORB, 40 + object SPRITE_BALL, 21, 25, STAY, NONE, 3, VOLTORB, 40 + object SPRITE_BALL, 25, 18, STAY, NONE, 4, ELECTRODE, 43 + object SPRITE_BALL, 23, 34, STAY, NONE, 5, VOLTORB, 40 + object SPRITE_BALL, 26, 28, STAY, NONE, 6, VOLTORB, 40 + object SPRITE_BALL, 21, 14, STAY, NONE, 7, ELECTRODE, 43 + object SPRITE_BALL, 37, 32, STAY, NONE, 8, VOLTORB, 40 + object SPRITE_BIRD, 4, 9, STAY, UP, 9, ZAPDOS, 50 + object SPRITE_BALL, 7, 25, STAY, NONE, 10, CARBOS + object SPRITE_BALL, 28, 3, STAY, NONE, 11, HP_UP + object SPRITE_BALL, 34, 3, STAY, NONE, 12, RARE_CANDY + object SPRITE_BALL, 26, 32, STAY, NONE, 13, TM_25 + object SPRITE_BALL, 20, 32, STAY, NONE, 14, TM_33 + + ; warp-to + warp_to 4, 35, POWER_PLANT_WIDTH + warp_to 5, 35, POWER_PLANT_WIDTH + warp_to 0, 11, POWER_PLANT_WIDTH diff --git a/data/maps/objects/RedsHouse1F.asm b/data/maps/objects/RedsHouse1F.asm new file mode 100755 index 00000000..a54b5411 --- /dev/null +++ b/data/maps/objects/RedsHouse1F.asm @@ -0,0 +1,18 @@ +RedsHouse1F_Object: + db $a ; border block + + db 3 ; warps + warp 2, 7, 0, -1 ; exit1 + warp 3, 7, 0, -1 ; exit2 + warp 7, 1, 0, REDS_HOUSE_2F ; staircase + + db 1 ; signs + sign 3, 1, 2 ; TV + + db 1 ; objects + object SPRITE_MOM, 5, 4, STAY, LEFT, 1 ; Mom + + ; warp-to + warp_to 2, 7, REDS_HOUSE_1F_WIDTH + warp_to 3, 7, REDS_HOUSE_1F_WIDTH + warp_to 7, 1, REDS_HOUSE_1F_WIDTH diff --git a/data/maps/objects/RedsHouse2F.asm b/data/maps/objects/RedsHouse2F.asm new file mode 100755 index 00000000..98e9c236 --- /dev/null +++ b/data/maps/objects/RedsHouse2F.asm @@ -0,0 +1,12 @@ +RedsHouse2F_Object: + db $a ; border block + + db 1 ; warps + warp 7, 1, 2, REDS_HOUSE_1F + + db 0 ; signs + + db 0 ; objects + + ; warp-to + warp_to 7, 1, REDS_HOUSE_2F_WIDTH diff --git a/data/maps/objects/RockTunnel1F.asm b/data/maps/objects/RockTunnel1F.asm new file mode 100755 index 00000000..1cf5a12f --- /dev/null +++ b/data/maps/objects/RockTunnel1F.asm @@ -0,0 +1,34 @@ +RockTunnel1F_Object: + db $3 ; border block + + db 8 ; warps + warp 15, 3, 1, -1 + warp 15, 0, 1, -1 + warp 15, 33, 2, -1 + warp 15, 35, 2, -1 + warp 37, 3, 0, ROCK_TUNNEL_B1F + warp 5, 3, 1, ROCK_TUNNEL_B1F + warp 17, 11, 2, ROCK_TUNNEL_B1F + warp 37, 17, 3, ROCK_TUNNEL_B1F + + db 1 ; signs + sign 11, 29, 8 ; RockTunnel1Text8 + + db 7 ; objects + object SPRITE_HIKER, 7, 5, STAY, DOWN, 1, OPP_HIKER, 12 + object SPRITE_HIKER, 5, 16, STAY, DOWN, 2, OPP_HIKER, 13 + object SPRITE_HIKER, 17, 15, STAY, LEFT, 3, OPP_HIKER, 14 + object SPRITE_BLACK_HAIR_BOY_2, 23, 8, STAY, LEFT, 4, OPP_POKEMANIAC, 7 + object SPRITE_LASS, 37, 21, STAY, LEFT, 5, OPP_JR_TRAINER_F, 17 + object SPRITE_LASS, 22, 24, STAY, DOWN, 6, OPP_JR_TRAINER_F, 18 + object SPRITE_LASS, 32, 24, STAY, RIGHT, 7, OPP_JR_TRAINER_F, 19 + + ; warp-to + warp_to 15, 3, ROCK_TUNNEL_1F_WIDTH + warp_to 15, 0, ROCK_TUNNEL_1F_WIDTH + warp_to 15, 33, ROCK_TUNNEL_1F_WIDTH + warp_to 15, 35, ROCK_TUNNEL_1F_WIDTH + warp_to 37, 3, ROCK_TUNNEL_1F_WIDTH ; ROCK_TUNNEL_B1F + warp_to 5, 3, ROCK_TUNNEL_1F_WIDTH ; ROCK_TUNNEL_B1F + warp_to 17, 11, ROCK_TUNNEL_1F_WIDTH ; ROCK_TUNNEL_B1F + warp_to 37, 17, ROCK_TUNNEL_1F_WIDTH ; ROCK_TUNNEL_B1F diff --git a/data/maps/objects/RockTunnelB1F.asm b/data/maps/objects/RockTunnelB1F.asm new file mode 100755 index 00000000..f562168e --- /dev/null +++ b/data/maps/objects/RockTunnelB1F.asm @@ -0,0 +1,26 @@ +RockTunnelB1F_Object: + db $3 ; border block + + db 4 ; warps + warp 33, 25, 4, ROCK_TUNNEL_1F + warp 27, 3, 5, ROCK_TUNNEL_1F + warp 23, 11, 6, ROCK_TUNNEL_1F + warp 3, 3, 7, ROCK_TUNNEL_1F + + db 0 ; signs + + db 8 ; objects + object SPRITE_LASS, 11, 13, STAY, DOWN, 1, OPP_JR_TRAINER_F, 9 + object SPRITE_HIKER, 6, 10, STAY, DOWN, 2, OPP_HIKER, 9 + object SPRITE_BLACK_HAIR_BOY_2, 3, 5, STAY, DOWN, 3, OPP_POKEMANIAC, 3 + object SPRITE_BLACK_HAIR_BOY_2, 20, 21, STAY, RIGHT, 4, OPP_POKEMANIAC, 4 + object SPRITE_HIKER, 30, 10, STAY, DOWN, 5, OPP_HIKER, 10 + object SPRITE_LASS, 14, 28, STAY, RIGHT, 6, OPP_JR_TRAINER_F, 10 + object SPRITE_HIKER, 33, 5, STAY, RIGHT, 7, OPP_HIKER, 11 + object SPRITE_BLACK_HAIR_BOY_2, 26, 30, STAY, DOWN, 8, OPP_POKEMANIAC, 5 + + ; warp-to + warp_to 33, 25, ROCK_TUNNEL_B1F_WIDTH ; ROCK_TUNNEL_1F + warp_to 27, 3, ROCK_TUNNEL_B1F_WIDTH ; ROCK_TUNNEL_1F + warp_to 23, 11, ROCK_TUNNEL_B1F_WIDTH ; ROCK_TUNNEL_1F + warp_to 3, 3, ROCK_TUNNEL_B1F_WIDTH ; ROCK_TUNNEL_1F diff --git a/data/maps/objects/RockTunnelPokecenter.asm b/data/maps/objects/RockTunnelPokecenter.asm new file mode 100755 index 00000000..a7619f7f --- /dev/null +++ b/data/maps/objects/RockTunnelPokecenter.asm @@ -0,0 +1,18 @@ +RockTunnelPokecenter_Object: + db $0 ; border block + + db 2 ; warps + warp 3, 7, 0, -1 + warp 4, 7, 0, -1 + + db 0 ; signs + + db 4 ; objects + object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person + object SPRITE_GENTLEMAN, 7, 3, WALK, 2, 2 ; person + object SPRITE_FISHER2, 2, 5, STAY, NONE, 3 ; person + object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person + + ; warp-to + warp_to 3, 7, ROCK_TUNNEL_POKECENTER_WIDTH + warp_to 4, 7, ROCK_TUNNEL_POKECENTER_WIDTH diff --git a/data/maps/objects/RocketHideoutB1F.asm b/data/maps/objects/RocketHideoutB1F.asm new file mode 100755 index 00000000..99537510 --- /dev/null +++ b/data/maps/objects/RocketHideoutB1F.asm @@ -0,0 +1,27 @@ +RocketHideoutB1F_Object: + db $2e ; border block + + db 5 ; warps + warp 23, 2, 0, ROCKET_HIDEOUT_B2F + warp 21, 2, 2, GAME_CORNER + warp 24, 19, 0, ROCKET_HIDEOUT_ELEVATOR + warp 21, 24, 3, ROCKET_HIDEOUT_B2F + warp 25, 19, 1, ROCKET_HIDEOUT_ELEVATOR + + db 0 ; signs + + db 7 ; objects + object SPRITE_ROCKET, 26, 8, STAY, LEFT, 1, OPP_ROCKET, 8 + object SPRITE_ROCKET, 12, 6, STAY, RIGHT, 2, OPP_ROCKET, 9 + object SPRITE_ROCKET, 18, 17, STAY, DOWN, 3, OPP_ROCKET, 10 + object SPRITE_ROCKET, 15, 25, STAY, RIGHT, 4, OPP_ROCKET, 11 + object SPRITE_ROCKET, 28, 18, STAY, LEFT, 5, OPP_ROCKET, 12 + object SPRITE_BALL, 11, 14, STAY, NONE, 6, ESCAPE_ROPE + object SPRITE_BALL, 9, 17, STAY, NONE, 7, HYPER_POTION + + ; warp-to + warp_to 23, 2, ROCKET_HIDEOUT_B1F_WIDTH ; ROCKET_HIDEOUT_B2F + warp_to 21, 2, ROCKET_HIDEOUT_B1F_WIDTH ; GAME_CORNER + warp_to 24, 19, ROCKET_HIDEOUT_B1F_WIDTH ; ROCKET_HIDEOUT_ELEVATOR + warp_to 21, 24, ROCKET_HIDEOUT_B1F_WIDTH ; ROCKET_HIDEOUT_B2F + warp_to 25, 19, ROCKET_HIDEOUT_B1F_WIDTH ; ROCKET_HIDEOUT_ELEVATOR diff --git a/data/maps/objects/RocketHideoutB2F.asm b/data/maps/objects/RocketHideoutB2F.asm new file mode 100755 index 00000000..36fe9289 --- /dev/null +++ b/data/maps/objects/RocketHideoutB2F.asm @@ -0,0 +1,25 @@ +RocketHideoutB2F_Object: + db $2e ; border block + + db 5 ; warps + warp 27, 8, 0, ROCKET_HIDEOUT_B1F + warp 21, 8, 0, ROCKET_HIDEOUT_B3F + warp 24, 19, 0, ROCKET_HIDEOUT_ELEVATOR + warp 21, 22, 3, ROCKET_HIDEOUT_B1F + warp 25, 19, 1, ROCKET_HIDEOUT_ELEVATOR + + db 0 ; signs + + db 5 ; objects + object SPRITE_ROCKET, 20, 12, STAY, DOWN, 1, OPP_ROCKET, 13 + object SPRITE_BALL, 1, 11, STAY, NONE, 2, MOON_STONE + object SPRITE_BALL, 16, 8, STAY, NONE, 3, NUGGET + object SPRITE_BALL, 6, 12, STAY, NONE, 4, TM_07 + object SPRITE_BALL, 3, 21, STAY, NONE, 5, SUPER_POTION + + ; warp-to + warp_to 27, 8, ROCKET_HIDEOUT_B2F_WIDTH ; ROCKET_HIDEOUT_B1F + warp_to 21, 8, ROCKET_HIDEOUT_B2F_WIDTH ; ROCKET_HIDEOUT_B3F + warp_to 24, 19, ROCKET_HIDEOUT_B2F_WIDTH ; ROCKET_HIDEOUT_ELEVATOR + warp_to 21, 22, ROCKET_HIDEOUT_B2F_WIDTH ; ROCKET_HIDEOUT_B1F + warp_to 25, 19, ROCKET_HIDEOUT_B2F_WIDTH ; ROCKET_HIDEOUT_ELEVATOR diff --git a/data/maps/objects/RocketHideoutB3F.asm b/data/maps/objects/RocketHideoutB3F.asm new file mode 100755 index 00000000..6169dbed --- /dev/null +++ b/data/maps/objects/RocketHideoutB3F.asm @@ -0,0 +1,18 @@ +RocketHideoutB3F_Object: + db $2e ; border block + + db 2 ; warps + warp 25, 6, 1, ROCKET_HIDEOUT_B2F + warp 19, 18, 0, ROCKET_HIDEOUT_B4F + + db 0 ; signs + + db 4 ; objects + object SPRITE_ROCKET, 10, 22, STAY, RIGHT, 1, OPP_ROCKET, 14 + object SPRITE_ROCKET, 26, 12, STAY, UP, 2, OPP_ROCKET, 15 + object SPRITE_BALL, 26, 17, STAY, NONE, 3, TM_10 + object SPRITE_BALL, 20, 14, STAY, NONE, 4, RARE_CANDY + + ; warp-to + warp_to 25, 6, ROCKET_HIDEOUT_B3F_WIDTH ; ROCKET_HIDEOUT_B2F + warp_to 19, 18, ROCKET_HIDEOUT_B3F_WIDTH ; ROCKET_HIDEOUT_B4F diff --git a/data/maps/objects/RocketHideoutB4F.asm b/data/maps/objects/RocketHideoutB4F.asm new file mode 100755 index 00000000..be353f25 --- /dev/null +++ b/data/maps/objects/RocketHideoutB4F.asm @@ -0,0 +1,25 @@ +RocketHideoutB4F_Object: + db $2e ; border block + + db 3 ; warps + warp 19, 10, 1, ROCKET_HIDEOUT_B3F + warp 24, 15, 0, ROCKET_HIDEOUT_ELEVATOR + warp 25, 15, 1, ROCKET_HIDEOUT_ELEVATOR + + db 0 ; signs + + db 9 ; objects + object SPRITE_GIOVANNI, 25, 3, STAY, DOWN, 1, OPP_GIOVANNI, 1 + object SPRITE_ROCKET, 23, 12, STAY, DOWN, 2, OPP_ROCKET, 16 + object SPRITE_ROCKET, 26, 12, STAY, DOWN, 3, OPP_ROCKET, 17 + object SPRITE_ROCKET, 11, 2, STAY, DOWN, 4, OPP_ROCKET, 18 + object SPRITE_BALL, 10, 12, STAY, NONE, 5, HP_UP + object SPRITE_BALL, 9, 4, STAY, NONE, 6, TM_02 + object SPRITE_BALL, 12, 20, STAY, NONE, 7, IRON + object SPRITE_BALL, 25, 2, STAY, NONE, 8, SILPH_SCOPE + object SPRITE_BALL, 10, 2, STAY, NONE, 9, LIFT_KEY + + ; warp-to + warp_to 19, 10, ROCKET_HIDEOUT_B4F_WIDTH ; ROCKET_HIDEOUT_B3F + warp_to 24, 15, ROCKET_HIDEOUT_B4F_WIDTH ; ROCKET_HIDEOUT_ELEVATOR + warp_to 25, 15, ROCKET_HIDEOUT_B4F_WIDTH ; ROCKET_HIDEOUT_ELEVATOR diff --git a/data/maps/objects/RocketHideoutElevator.asm b/data/maps/objects/RocketHideoutElevator.asm new file mode 100755 index 00000000..bc4fd7ff --- /dev/null +++ b/data/maps/objects/RocketHideoutElevator.asm @@ -0,0 +1,15 @@ +RocketHideoutElevator_Object: + db $f ; border block + + db 2 ; warps + warp 2, 1, 2, ROCKET_HIDEOUT_B1F + warp 3, 1, 4, ROCKET_HIDEOUT_B1F + + db 1 ; signs + sign 1, 1, 1 ; RocketHideoutElevatorText1 + + db 0 ; objects + + ; warp-to + warp_to 2, 1, ROCKET_HIDEOUT_ELEVATOR_WIDTH ; ROCKET_HIDEOUT_B1F + warp_to 3, 1, ROCKET_HIDEOUT_ELEVATOR_WIDTH ; ROCKET_HIDEOUT_B1F diff --git a/data/maps/objects/Route1.asm b/data/maps/objects/Route1.asm new file mode 100755 index 00000000..0815fe67 --- /dev/null +++ b/data/maps/objects/Route1.asm @@ -0,0 +1,14 @@ +Route1_Object: + db $b ; border block + + db 0 ; warps + + db 1 ; signs + sign 9, 27, 3 ; Route1Text3 + + db 2 ; objects + object SPRITE_BUG_CATCHER, 5, 24, WALK, 1, 1 ; person + object SPRITE_BUG_CATCHER, 15, 13, WALK, 2, 2 ; person + + ; warp-to (unused) + warp_to 2, 7, 4 diff --git a/data/maps/objects/Route10.asm b/data/maps/objects/Route10.asm new file mode 100755 index 00000000..12850577 --- /dev/null +++ b/data/maps/objects/Route10.asm @@ -0,0 +1,28 @@ +Route10_Object: + db $2c ; border block + + db 4 ; warps + warp 11, 19, 0, ROCK_TUNNEL_POKECENTER + warp 8, 17, 0, ROCK_TUNNEL_1F + warp 8, 53, 2, ROCK_TUNNEL_1F + warp 6, 39, 0, POWER_PLANT + + db 4 ; signs + sign 7, 19, 7 ; Route10Text7 + sign 12, 19, 8 ; PokeCenterSignText + sign 9, 55, 9 ; Route10Text9 + sign 5, 41, 10 ; Route10Text10 + + db 6 ; objects + object SPRITE_BLACK_HAIR_BOY_2, 10, 44, STAY, LEFT, 1, OPP_POKEMANIAC, 1 + object SPRITE_HIKER, 3, 57, STAY, UP, 2, OPP_HIKER, 7 + object SPRITE_BLACK_HAIR_BOY_2, 14, 64, STAY, LEFT, 3, OPP_POKEMANIAC, 2 + object SPRITE_LASS, 7, 25, STAY, LEFT, 4, OPP_JR_TRAINER_F, 7 + object SPRITE_HIKER, 3, 61, STAY, DOWN, 5, OPP_HIKER, 8 + object SPRITE_LASS, 7, 54, STAY, DOWN, 6, OPP_JR_TRAINER_F, 8 + + ; warp-to + warp_to 11, 19, ROUTE_10_WIDTH ; ROCK_TUNNEL_POKECENTER + warp_to 8, 17, ROUTE_10_WIDTH ; ROCK_TUNNEL_1F + warp_to 8, 53, ROUTE_10_WIDTH ; ROCK_TUNNEL_1F + warp_to 6, 39, ROUTE_10_WIDTH ; POWER_PLANT diff --git a/data/maps/objects/Route11.asm b/data/maps/objects/Route11.asm new file mode 100755 index 00000000..5ed232f5 --- /dev/null +++ b/data/maps/objects/Route11.asm @@ -0,0 +1,31 @@ +Route11_Object: + db $f ; border block + + db 5 ; warps + warp 49, 8, 0, ROUTE_11_GATE_1F + warp 49, 9, 1, ROUTE_11_GATE_1F + warp 58, 8, 2, ROUTE_11_GATE_1F + warp 58, 9, 3, ROUTE_11_GATE_1F + warp 4, 5, 0, DIGLETTS_CAVE_ROUTE_11 + + db 1 ; signs + sign 1, 5, 11 ; Route11Text11 + + db 10 ; objects + object SPRITE_GAMBLER, 10, 14, STAY, DOWN, 1, OPP_GAMBLER, 1 + object SPRITE_GAMBLER, 26, 9, STAY, DOWN, 2, OPP_GAMBLER, 2 + object SPRITE_BUG_CATCHER, 13, 5, STAY, LEFT, 3, OPP_YOUNGSTER, 9 + object SPRITE_BLACK_HAIR_BOY_2, 36, 11, STAY, DOWN, 4, OPP_ENGINEER, 2 + object SPRITE_BUG_CATCHER, 22, 4, STAY, UP, 5, OPP_YOUNGSTER, 10 + object SPRITE_GAMBLER, 45, 7, STAY, DOWN, 6, OPP_GAMBLER, 3 + object SPRITE_GAMBLER, 33, 3, STAY, UP, 7, OPP_GAMBLER, 4 + object SPRITE_BUG_CATCHER, 43, 5, STAY, RIGHT, 8, OPP_YOUNGSTER, 11 + object SPRITE_BLACK_HAIR_BOY_2, 45, 16, STAY, LEFT, 9, OPP_ENGINEER, 3 + object SPRITE_BUG_CATCHER, 22, 12, STAY, UP, 10, OPP_YOUNGSTER, 12 + + ; warp-to + warp_to 49, 8, ROUTE_11_WIDTH ; ROUTE_11_GATE_1F + warp_to 49, 9, ROUTE_11_WIDTH ; ROUTE_11_GATE_1F + warp_to 58, 8, ROUTE_11_WIDTH ; ROUTE_11_GATE_1F + warp_to 58, 9, ROUTE_11_WIDTH ; ROUTE_11_GATE_1F + warp_to 4, 5, ROUTE_11_WIDTH ; DIGLETTS_CAVE_ROUTE_11 diff --git a/data/maps/objects/Route11Gate1F.asm b/data/maps/objects/Route11Gate1F.asm new file mode 100755 index 00000000..5c4a120c --- /dev/null +++ b/data/maps/objects/Route11Gate1F.asm @@ -0,0 +1,21 @@ +Route11Gate1F_Object: + db $a ; border block + + db 5 ; warps + warp 0, 4, 0, -1 + warp 0, 5, 1, -1 + warp 7, 4, 2, -1 + warp 7, 5, 3, -1 + warp 6, 8, 0, ROUTE_11_GATE_2F + + db 0 ; signs + + db 1 ; objects + object SPRITE_GUARD, 4, 1, STAY, NONE, 1 ; person + + ; warp-to + warp_to 0, 4, ROUTE_11_GATE_1F_WIDTH + warp_to 0, 5, ROUTE_11_GATE_1F_WIDTH + warp_to 7, 4, ROUTE_11_GATE_1F_WIDTH + warp_to 7, 5, ROUTE_11_GATE_1F_WIDTH + warp_to 6, 8, ROUTE_11_GATE_1F_WIDTH ; ROUTE_11_GATE_2F diff --git a/data/maps/objects/Route11Gate2F.asm b/data/maps/objects/Route11Gate2F.asm new file mode 100755 index 00000000..bf305bba --- /dev/null +++ b/data/maps/objects/Route11Gate2F.asm @@ -0,0 +1,16 @@ +Route11Gate2F_Object: + db $a ; border block + + db 1 ; warps + warp 7, 7, 4, ROUTE_11_GATE_1F + + db 2 ; signs + sign 1, 2, 3 ; Route11GateUpstairsText3 + sign 6, 2, 4 ; Route11GateUpstairsText4 + + db 2 ; objects + object SPRITE_BUG_CATCHER, 4, 2, WALK, 2, 1 ; person + object SPRITE_OAK_AIDE, 2, 6, STAY, NONE, 2 ; person + + ; warp-to + warp_to 7, 7, ROUTE_11_GATE_2F_WIDTH ; ROUTE_11_GATE_1F diff --git a/data/maps/objects/Route12.asm b/data/maps/objects/Route12.asm new file mode 100755 index 00000000..a9d84cf0 --- /dev/null +++ b/data/maps/objects/Route12.asm @@ -0,0 +1,30 @@ +Route12_Object: + db $43 ; border block + + db 4 ; warps + warp 10, 15, 0, ROUTE_12_GATE_1F + warp 11, 15, 1, ROUTE_12_GATE_1F + warp 10, 21, 2, ROUTE_12_GATE_1F + warp 11, 77, 0, ROUTE_12_SUPER_ROD_HOUSE + + db 2 ; signs + sign 13, 13, 11 ; Route12Text11 + sign 11, 63, 12 ; Route12Text12 + + db 10 ; objects + object SPRITE_SNORLAX, 10, 62, STAY, DOWN, 1 ; person + object SPRITE_FISHER2, 14, 31, STAY, LEFT, 2, OPP_FISHER, 3 + object SPRITE_FISHER2, 5, 39, STAY, UP, 3, OPP_FISHER, 4 + object SPRITE_BLACK_HAIR_BOY_1, 11, 92, STAY, LEFT, 4, OPP_JR_TRAINER_M, 9 + object SPRITE_BLACK_HAIR_BOY_2, 14, 76, STAY, UP, 5, OPP_ROCKER, 2 + object SPRITE_FISHER2, 12, 40, STAY, LEFT, 6, OPP_FISHER, 5 + object SPRITE_FISHER2, 9, 52, STAY, RIGHT, 7, OPP_FISHER, 6 + object SPRITE_FISHER2, 6, 87, STAY, DOWN, 8, OPP_FISHER, 11 + object SPRITE_BALL, 14, 35, STAY, NONE, 9, TM_16 + object SPRITE_BALL, 5, 89, STAY, NONE, 10, IRON + + ; warp-to + warp_to 10, 15, ROUTE_12_WIDTH ; ROUTE_12_GATE_1F + warp_to 11, 15, ROUTE_12_WIDTH ; ROUTE_12_GATE_1F + warp_to 10, 21, ROUTE_12_WIDTH ; ROUTE_12_GATE_1F + warp_to 11, 77, ROUTE_12_WIDTH ; ROUTE_12_SUPER_ROD_HOUSE diff --git a/data/maps/objects/Route12Gate1F.asm b/data/maps/objects/Route12Gate1F.asm new file mode 100755 index 00000000..94f6b91a --- /dev/null +++ b/data/maps/objects/Route12Gate1F.asm @@ -0,0 +1,21 @@ +Route12Gate1F_Object: + db $a ; border block + + db 5 ; warps + warp 4, 0, 0, -1 + warp 5, 0, 1, -1 + warp 4, 7, 2, -1 + warp 5, 7, 2, -1 + warp 8, 6, 0, ROUTE_12_GATE_2F + + db 0 ; signs + + db 1 ; objects + object SPRITE_GUARD, 1, 3, STAY, NONE, 1 ; person + + ; warp-to + warp_to 4, 0, ROUTE_12_GATE_1F_WIDTH + warp_to 5, 0, ROUTE_12_GATE_1F_WIDTH + warp_to 4, 7, ROUTE_12_GATE_1F_WIDTH + warp_to 5, 7, ROUTE_12_GATE_1F_WIDTH + warp_to 8, 6, ROUTE_12_GATE_1F_WIDTH ; ROUTE_12_GATE_2F diff --git a/data/maps/objects/Route12Gate2F.asm b/data/maps/objects/Route12Gate2F.asm new file mode 100755 index 00000000..cc6c1c19 --- /dev/null +++ b/data/maps/objects/Route12Gate2F.asm @@ -0,0 +1,15 @@ +Route12Gate2F_Object: + db $a ; border block + + db 1 ; warps + warp 7, 7, 4, ROUTE_12_GATE_1F + + db 2 ; signs + sign 1, 2, 2 ; Route12GateUpstairsText2 + sign 6, 2, 3 ; Route12GateUpstairsText3 + + db 1 ; objects + object SPRITE_BRUNETTE_GIRL, 3, 4, WALK, 1, 1 ; person + + ; warp-to + warp_to 7, 7, ROUTE_12_GATE_2F_WIDTH ; ROUTE_12_GATE_1F diff --git a/data/maps/objects/Route12SuperRodHouse.asm b/data/maps/objects/Route12SuperRodHouse.asm new file mode 100755 index 00000000..458378a2 --- /dev/null +++ b/data/maps/objects/Route12SuperRodHouse.asm @@ -0,0 +1,15 @@ +Route12SuperRodHouse_Object: + db $a ; border block + + db 2 ; warps + warp 2, 7, 3, -1 + warp 3, 7, 3, -1 + + db 0 ; signs + + db 1 ; objects + object SPRITE_FISHER, 2, 4, STAY, RIGHT, 1 ; person + + ; warp-to + warp_to 2, 7, ROUTE_12_SUPER_ROD_HOUSE_WIDTH + warp_to 3, 7, ROUTE_12_SUPER_ROD_HOUSE_WIDTH diff --git a/data/maps/objects/Route13.asm b/data/maps/objects/Route13.asm new file mode 100755 index 00000000..3f460901 --- /dev/null +++ b/data/maps/objects/Route13.asm @@ -0,0 +1,21 @@ +Route13_Object: + db $43 ; border block + + db 0 ; warps + + db 3 ; signs + sign 15, 13, 11 ; Route13Text11 + sign 33, 5, 12 ; Route13Text12 + sign 31, 11, 13 ; Route13Text13 + + db 10 ; objects + object SPRITE_BLACK_HAIR_BOY_1, 49, 10, STAY, RIGHT, 1, OPP_BIRD_KEEPER, 1 + object SPRITE_LASS, 48, 10, STAY, DOWN, 2, OPP_JR_TRAINER_F, 12 + object SPRITE_LASS, 27, 9, STAY, DOWN, 3, OPP_JR_TRAINER_F, 13 + object SPRITE_LASS, 23, 10, STAY, LEFT, 4, OPP_JR_TRAINER_F, 14 + object SPRITE_LASS, 50, 5, STAY, DOWN, 5, OPP_JR_TRAINER_F, 15 + object SPRITE_BLACK_HAIR_BOY_1, 12, 4, STAY, RIGHT, 6, OPP_BIRD_KEEPER, 2 + object SPRITE_FOULARD_WOMAN, 33, 6, STAY, DOWN, 7, OPP_BEAUTY, 4 + object SPRITE_FOULARD_WOMAN, 32, 6, STAY, DOWN, 8, OPP_BEAUTY, 5 + object SPRITE_BIKER, 10, 7, STAY, UP, 9, OPP_BIKER, 1 + object SPRITE_BLACK_HAIR_BOY_1, 7, 13, STAY, UP, 10, OPP_BIRD_KEEPER, 3 diff --git a/data/maps/objects/Route14.asm b/data/maps/objects/Route14.asm new file mode 100755 index 00000000..565e587f --- /dev/null +++ b/data/maps/objects/Route14.asm @@ -0,0 +1,19 @@ +Route14_Object: + db $43 ; border block + + db 0 ; warps + + db 1 ; signs + sign 17, 13, 11 ; Route14Text11 + + db 10 ; objects + object SPRITE_BLACK_HAIR_BOY_1, 4, 4, STAY, DOWN, 1, OPP_BIRD_KEEPER, 14 + object SPRITE_BLACK_HAIR_BOY_1, 15, 6, STAY, DOWN, 2, OPP_BIRD_KEEPER, 15 + object SPRITE_BLACK_HAIR_BOY_1, 12, 11, STAY, DOWN, 3, OPP_BIRD_KEEPER, 16 + object SPRITE_BLACK_HAIR_BOY_1, 14, 15, STAY, UP, 4, OPP_BIRD_KEEPER, 17 + object SPRITE_BLACK_HAIR_BOY_1, 15, 31, STAY, LEFT, 5, OPP_BIRD_KEEPER, 4 + object SPRITE_BLACK_HAIR_BOY_1, 6, 49, STAY, UP, 6, OPP_BIRD_KEEPER, 5 + object SPRITE_BIKER, 5, 39, STAY, DOWN, 7, OPP_BIKER, 13 + object SPRITE_BIKER, 4, 30, STAY, RIGHT, 8, OPP_BIKER, 14 + object SPRITE_BIKER, 15, 30, STAY, LEFT, 9, OPP_BIKER, 15 + object SPRITE_BIKER, 4, 31, STAY, RIGHT, 10, OPP_BIKER, 2 diff --git a/data/maps/objects/Route15.asm b/data/maps/objects/Route15.asm new file mode 100755 index 00000000..f52cc1b8 --- /dev/null +++ b/data/maps/objects/Route15.asm @@ -0,0 +1,30 @@ +Route15_Object: + db $43 ; border block + + db 4 ; warps + warp 7, 8, 0, ROUTE_15_GATE_1F + warp 7, 9, 1, ROUTE_15_GATE_1F + warp 14, 8, 2, ROUTE_15_GATE_1F + warp 14, 9, 3, ROUTE_15_GATE_1F + + db 1 ; signs + sign 39, 9, 12 ; Route15Text12 + + db 11 ; objects + object SPRITE_LASS, 41, 11, STAY, DOWN, 1, OPP_JR_TRAINER_F, 20 + object SPRITE_LASS, 53, 10, STAY, LEFT, 2, OPP_JR_TRAINER_F, 21 + object SPRITE_BLACK_HAIR_BOY_1, 31, 13, STAY, UP, 3, OPP_BIRD_KEEPER, 6 + object SPRITE_BLACK_HAIR_BOY_1, 35, 13, STAY, UP, 4, OPP_BIRD_KEEPER, 7 + object SPRITE_FOULARD_WOMAN, 53, 11, STAY, DOWN, 5, OPP_BEAUTY, 9 + object SPRITE_FOULARD_WOMAN, 41, 10, STAY, RIGHT, 6, OPP_BEAUTY, 10 + object SPRITE_BIKER, 48, 10, STAY, DOWN, 7, OPP_BIKER, 3 + object SPRITE_BIKER, 46, 10, STAY, DOWN, 8, OPP_BIKER, 4 + object SPRITE_LASS, 37, 5, STAY, RIGHT, 9, OPP_JR_TRAINER_F, 22 + object SPRITE_LASS, 18, 13, STAY, UP, 10, OPP_JR_TRAINER_F, 23 + object SPRITE_BALL, 18, 5, STAY, NONE, 11, TM_20 + + ; warp-to + warp_to 7, 8, ROUTE_15_WIDTH ; ROUTE_15_GATE_1F + warp_to 7, 9, ROUTE_15_WIDTH ; ROUTE_15_GATE_1F + warp_to 14, 8, ROUTE_15_WIDTH ; ROUTE_15_GATE_1F + warp_to 14, 9, ROUTE_15_WIDTH ; ROUTE_15_GATE_1F diff --git a/data/maps/objects/Route15Gate1F.asm b/data/maps/objects/Route15Gate1F.asm new file mode 100755 index 00000000..23b1f5a7 --- /dev/null +++ b/data/maps/objects/Route15Gate1F.asm @@ -0,0 +1,21 @@ +Route15Gate1F_Object: + db $a ; border block + + db 5 ; warps + warp 0, 4, 0, -1 + warp 0, 5, 1, -1 + warp 7, 4, 2, -1 + warp 7, 5, 3, -1 + warp 6, 8, 0, ROUTE_15_GATE_2F + + db 0 ; signs + + db 1 ; objects + object SPRITE_GUARD, 4, 1, STAY, NONE, 1 ; person + + ; warp-to + warp_to 0, 4, ROUTE_15_GATE_1F_WIDTH + warp_to 0, 5, ROUTE_15_GATE_1F_WIDTH + warp_to 7, 4, ROUTE_15_GATE_1F_WIDTH + warp_to 7, 5, ROUTE_15_GATE_1F_WIDTH + warp_to 6, 8, ROUTE_15_GATE_1F_WIDTH ; ROUTE_15_GATE_2F diff --git a/data/maps/objects/Route15Gate2F.asm b/data/maps/objects/Route15Gate2F.asm new file mode 100755 index 00000000..162f2b1f --- /dev/null +++ b/data/maps/objects/Route15Gate2F.asm @@ -0,0 +1,14 @@ +Route15Gate2F_Object: + db $a ; border block + + db 1 ; warps + warp 7, 7, 4, ROUTE_15_GATE_1F + + db 1 ; signs + sign 6, 2, 2 ; Route15GateUpstairsText2 + + db 1 ; objects + object SPRITE_OAK_AIDE, 4, 2, STAY, DOWN, 1 + + ; warp-to + warp_to 7, 7, ROUTE_15_GATE_2F_WIDTH ; ROUTE_15_GATE_1F diff --git a/data/maps/objects/Route16.asm b/data/maps/objects/Route16.asm new file mode 100755 index 00000000..fb23e6ca --- /dev/null +++ b/data/maps/objects/Route16.asm @@ -0,0 +1,37 @@ +Route16_Object: + db $f ; border block + + db 9 ; warps + warp 17, 10, 0, ROUTE_16_GATE_1F + warp 17, 11, 1, ROUTE_16_GATE_1F + warp 24, 10, 2, ROUTE_16_GATE_1F + warp 24, 11, 3, ROUTE_16_GATE_1F + warp 17, 4, 4, ROUTE_16_GATE_1F + warp 17, 5, 5, ROUTE_16_GATE_1F + warp 24, 4, 6, ROUTE_16_GATE_1F + warp 24, 5, 7, ROUTE_16_GATE_1F + warp 7, 5, 0, ROUTE_16_FLY_HOUSE + + db 2 ; signs + sign 27, 11, 8 ; Route16Text8 + sign 5, 17, 9 ; Route16Text9 + + db 7 ; objects + object SPRITE_BIKER, 17, 12, STAY, LEFT, 1, OPP_BIKER, 5 + object SPRITE_BIKER, 14, 13, STAY, RIGHT, 2, OPP_CUE_BALL, 1 + object SPRITE_BIKER, 11, 12, STAY, UP, 3, OPP_CUE_BALL, 2 + object SPRITE_BIKER, 9, 11, STAY, LEFT, 4, OPP_BIKER, 6 + object SPRITE_BIKER, 6, 10, STAY, RIGHT, 5, OPP_CUE_BALL, 3 + object SPRITE_BIKER, 3, 12, STAY, RIGHT, 6, OPP_BIKER, 7 + object SPRITE_SNORLAX, 26, 10, STAY, DOWN, 7 ; person + + ; warp-to + warp_to 17, 10, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F + warp_to 17, 11, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F + warp_to 24, 10, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F + warp_to 24, 11, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F + warp_to 17, 4, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F + warp_to 17, 5, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F + warp_to 24, 4, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F + warp_to 24, 5, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F + warp_to 7, 5, ROUTE_16_WIDTH ; ROUTE_16_FLY_HOUSE diff --git a/data/maps/objects/Route16FlyHouse.asm b/data/maps/objects/Route16FlyHouse.asm new file mode 100755 index 00000000..ec493fef --- /dev/null +++ b/data/maps/objects/Route16FlyHouse.asm @@ -0,0 +1,16 @@ +Route16FlyHouse_Object: + db $a ; border block + + db 2 ; warps + warp 2, 7, 8, -1 + warp 3, 7, 8, -1 + + db 0 ; signs + + db 2 ; objects + object SPRITE_BRUNETTE_GIRL, 2, 3, STAY, RIGHT, 1 ; person + object SPRITE_BIRD, 6, 4, WALK, 0, 2 ; person + + ; warp-to + warp_to 2, 7, ROUTE_16_FLY_HOUSE_WIDTH + warp_to 3, 7, ROUTE_16_FLY_HOUSE_WIDTH diff --git a/data/maps/objects/Route16Gate1F.asm b/data/maps/objects/Route16Gate1F.asm new file mode 100755 index 00000000..1d5baa1d --- /dev/null +++ b/data/maps/objects/Route16Gate1F.asm @@ -0,0 +1,30 @@ +Route16Gate1F_Object: + db $a ; border block + + db 9 ; warps + warp 0, 8, 0, -1 + warp 0, 9, 1, -1 + warp 7, 8, 2, -1 + warp 7, 9, 2, -1 + warp 0, 2, 4, -1 + warp 0, 3, 5, -1 + warp 7, 2, 6, -1 + warp 7, 3, 7, -1 + warp 6, 12, 0, ROUTE_16_GATE_2F + + db 0 ; signs + + db 2 ; objects + object SPRITE_GUARD, 4, 5, STAY, DOWN, 1 ; person + object SPRITE_GAMBLER, 4, 3, STAY, NONE, 2 ; person + + ; warp-to + warp_to 0, 8, ROUTE_16_GATE_1F_WIDTH + warp_to 0, 9, ROUTE_16_GATE_1F_WIDTH + warp_to 7, 8, ROUTE_16_GATE_1F_WIDTH + warp_to 7, 9, ROUTE_16_GATE_1F_WIDTH + warp_to 0, 2, ROUTE_16_GATE_1F_WIDTH + warp_to 0, 3, ROUTE_16_GATE_1F_WIDTH + warp_to 7, 2, ROUTE_16_GATE_1F_WIDTH + warp_to 7, 3, ROUTE_16_GATE_1F_WIDTH + warp_to 6, 12, ROUTE_16_GATE_1F_WIDTH ; ROUTE_16_GATE_2F diff --git a/data/maps/objects/Route16Gate2F.asm b/data/maps/objects/Route16Gate2F.asm new file mode 100755 index 00000000..5914f854 --- /dev/null +++ b/data/maps/objects/Route16Gate2F.asm @@ -0,0 +1,16 @@ +Route16Gate2F_Object: + db $a ; border block + + db 1 ; warps + warp 7, 7, 8, ROUTE_16_GATE_1F + + db 2 ; signs + sign 1, 2, 3 ; Route16GateUpstairsText3 + sign 6, 2, 4 ; Route16GateUpstairsText4 + + db 2 ; objects + object SPRITE_YOUNG_BOY, 4, 2, STAY, NONE, 1 ; person + object SPRITE_LITTLE_GIRL, 2, 5, WALK, 2, 2 ; person + + ; warp-to + warp_to 7, 7, ROUTE_16_GATE_2F_WIDTH ; ROUTE_16_GATE_1F diff --git a/data/maps/objects/Route17.asm b/data/maps/objects/Route17.asm new file mode 100755 index 00000000..f5bc4307 --- /dev/null +++ b/data/maps/objects/Route17.asm @@ -0,0 +1,24 @@ +Route17_Object: + db $43 ; border block + + db 0 ; warps + + db 6 ; signs + sign 9, 51, 11 ; Route17Text11 + sign 9, 63, 12 ; Route17Text12 + sign 9, 75, 13 ; Route17Text13 + sign 9, 87, 14 ; Route17Text14 + sign 9, 111, 15 ; Route17Text15 + sign 9, 141, 16 ; Route17Text16 + + db 10 ; objects + object SPRITE_BIKER, 12, 19, STAY, LEFT, 1, OPP_CUE_BALL, 4 + object SPRITE_BIKER, 11, 16, STAY, RIGHT, 2, OPP_CUE_BALL, 5 + object SPRITE_BIKER, 4, 18, STAY, UP, 3, OPP_BIKER, 8 + object SPRITE_BIKER, 7, 32, STAY, LEFT, 4, OPP_BIKER, 9 + object SPRITE_BIKER, 14, 34, STAY, RIGHT, 5, OPP_BIKER, 10 + object SPRITE_BIKER, 17, 58, STAY, LEFT, 6, OPP_CUE_BALL, 6 + object SPRITE_BIKER, 2, 68, STAY, RIGHT, 7, OPP_CUE_BALL, 7 + object SPRITE_BIKER, 14, 98, STAY, RIGHT, 8, OPP_CUE_BALL, 8 + object SPRITE_BIKER, 5, 98, STAY, LEFT, 9, OPP_BIKER, 11 + object SPRITE_BIKER, 10, 118, STAY, DOWN, 10, OPP_BIKER, 12 diff --git a/data/maps/objects/Route18.asm b/data/maps/objects/Route18.asm new file mode 100755 index 00000000..8bacd6c0 --- /dev/null +++ b/data/maps/objects/Route18.asm @@ -0,0 +1,23 @@ +Route18_Object: + db $43 ; border block + + db 4 ; warps + warp 33, 8, 0, ROUTE_18_GATE_1F + warp 33, 9, 1, ROUTE_18_GATE_1F + warp 40, 8, 2, ROUTE_18_GATE_1F + warp 40, 9, 3, ROUTE_18_GATE_1F + + db 2 ; signs + sign 43, 7, 4 ; Route18Text4 + sign 33, 5, 5 ; Route18Text5 + + db 3 ; objects + object SPRITE_BLACK_HAIR_BOY_1, 36, 11, STAY, RIGHT, 1, OPP_BIRD_KEEPER, 8 + object SPRITE_BLACK_HAIR_BOY_1, 40, 15, STAY, LEFT, 2, OPP_BIRD_KEEPER, 9 + object SPRITE_BLACK_HAIR_BOY_1, 42, 13, STAY, LEFT, 3, OPP_BIRD_KEEPER, 10 + + ; warp-to + warp_to 33, 8, ROUTE_18_WIDTH ; ROUTE_18_GATE_1F + warp_to 33, 9, ROUTE_18_WIDTH ; ROUTE_18_GATE_1F + warp_to 40, 8, ROUTE_18_WIDTH ; ROUTE_18_GATE_1F + warp_to 40, 9, ROUTE_18_WIDTH ; ROUTE_18_GATE_1F diff --git a/data/maps/objects/Route18Gate1F.asm b/data/maps/objects/Route18Gate1F.asm new file mode 100755 index 00000000..83cb386a --- /dev/null +++ b/data/maps/objects/Route18Gate1F.asm @@ -0,0 +1,21 @@ +Route18Gate1F_Object: + db $a ; border block + + db 5 ; warps + warp 0, 4, 0, -1 + warp 0, 5, 1, -1 + warp 7, 4, 2, -1 + warp 7, 5, 3, -1 + warp 6, 8, 0, ROUTE_18_GATE_2F + + db 0 ; signs + + db 1 ; objects + object SPRITE_GUARD, 4, 1, STAY, DOWN, 1 ; person + + ; warp-to + warp_to 0, 4, ROUTE_18_GATE_1F_WIDTH + warp_to 0, 5, ROUTE_18_GATE_1F_WIDTH + warp_to 7, 4, ROUTE_18_GATE_1F_WIDTH + warp_to 7, 5, ROUTE_18_GATE_1F_WIDTH + warp_to 6, 8, ROUTE_18_GATE_1F_WIDTH ; ROUTE_18_GATE_2F diff --git a/data/maps/objects/Route18Gate2F.asm b/data/maps/objects/Route18Gate2F.asm new file mode 100755 index 00000000..e48ec3b8 --- /dev/null +++ b/data/maps/objects/Route18Gate2F.asm @@ -0,0 +1,15 @@ +Route18Gate2F_Object: + db $a ; border block + + db 1 ; warps + warp 7, 7, 4, ROUTE_18_GATE_1F + + db 2 ; signs + sign 1, 2, 2 ; Route18GateUpstairsText2 + sign 6, 2, 3 ; Route18GateUpstairsText3 + + db 1 ; objects + object SPRITE_BUG_CATCHER, 4, 2, WALK, 2, 1 ; person + + ; warp-to + warp_to 7, 7, ROUTE_18_GATE_2F_WIDTH ; ROUTE_18_GATE_1F diff --git a/data/maps/objects/Route19.asm b/data/maps/objects/Route19.asm new file mode 100755 index 00000000..9b39618e --- /dev/null +++ b/data/maps/objects/Route19.asm @@ -0,0 +1,21 @@ +Route19_Object: + db $43 ; border block + + db 0 ; warps + + db 1 ; signs + sign 11, 9, 11 ; Route19Text11 + + db 10 ; objects + object SPRITE_BLACK_HAIR_BOY_1, 8, 7, STAY, LEFT, 1, OPP_SWIMMER, 2 + object SPRITE_BLACK_HAIR_BOY_1, 13, 7, STAY, LEFT, 2, OPP_SWIMMER, 3 + object SPRITE_SWIMMER, 13, 25, STAY, LEFT, 3, OPP_SWIMMER, 4 + object SPRITE_SWIMMER, 4, 27, STAY, RIGHT, 4, OPP_SWIMMER, 5 + object SPRITE_SWIMMER, 16, 31, STAY, UP, 5, OPP_SWIMMER, 6 + object SPRITE_SWIMMER, 9, 11, STAY, DOWN, 6, OPP_SWIMMER, 7 + object SPRITE_SWIMMER, 8, 43, STAY, LEFT, 7, OPP_BEAUTY, 12 + object SPRITE_SWIMMER, 11, 43, STAY, RIGHT, 8, OPP_BEAUTY, 13 + object SPRITE_SWIMMER, 9, 42, STAY, UP, 9, OPP_SWIMMER, 8 + object SPRITE_SWIMMER, 10, 44, STAY, DOWN, 10, OPP_BEAUTY, 14 + + ; warp-to diff --git a/data/maps/objects/Route2.asm b/data/maps/objects/Route2.asm new file mode 100755 index 00000000..b27ad199 --- /dev/null +++ b/data/maps/objects/Route2.asm @@ -0,0 +1,33 @@ +Route2_Object: + db $f ; border block + + db 6 ; warps + warp 12, 9, 0, DIGLETTS_CAVE_ROUTE_2 + warp 3, 11, 1, VIRIDIAN_FOREST_NORTH_GATE + warp 15, 19, 0, ROUTE_2_TRADE_HOUSE + warp 16, 35, 1, ROUTE_2_GATE + warp 15, 39, 2, ROUTE_2_GATE + warp 3, 43, 2, VIRIDIAN_FOREST_SOUTH_GATE + + db 2 ; signs + sign 5, 65, 3 ; Route2Text3 + sign 11, 11, 4 ; Route2Text4 + + db 2 ; objects + object SPRITE_BALL, 13, 54, STAY, NONE, 1, MOON_STONE + object SPRITE_BALL, 13, 45, STAY, NONE, 2, HP_UP + + ; warp-to + warp_to 12, 9, ROUTE_2_WIDTH ; DIGLETTS_CAVE_ROUTE_2 + warp_to 3, 11, ROUTE_2_WIDTH ; VIRIDIAN_FOREST_NORTH_GATE + warp_to 15, 19, ROUTE_2_WIDTH ; ROUTE_2_TRADE_HOUSE + warp_to 16, 35, ROUTE_2_WIDTH ; ROUTE_2_GATE + warp_to 15, 39, ROUTE_2_WIDTH ; ROUTE_2_GATE + warp_to 3, 43, ROUTE_2_WIDTH ; VIRIDIAN_FOREST_SOUTH_GATE + + ; unused + warp_to 2, 7, 4 + db $12, $c7, $9, $7 + warp_to 2, 7, 4 + warp_to 2, 7, 4 + warp_to 2, 7, 4 diff --git a/data/maps/objects/Route20.asm b/data/maps/objects/Route20.asm new file mode 100755 index 00000000..7bceef97 --- /dev/null +++ b/data/maps/objects/Route20.asm @@ -0,0 +1,26 @@ +Route20_Object: + db $43 ; border block + + db 2 ; warps + warp 48, 5, 0, SEAFOAM_ISLANDS_1F + warp 58, 9, 2, SEAFOAM_ISLANDS_1F + + db 2 ; signs + sign 51, 7, 11 ; Route20Text11 + sign 57, 11, 12 ; Route20Text12 + + db 10 ; objects + object SPRITE_SWIMMER, 87, 8, STAY, UP, 1, OPP_SWIMMER, 9 + object SPRITE_SWIMMER, 68, 11, STAY, UP, 2, OPP_BEAUTY, 15 + object SPRITE_SWIMMER, 45, 10, STAY, DOWN, 3, OPP_BEAUTY, 6 + object SPRITE_SWIMMER, 55, 14, STAY, RIGHT, 4, OPP_JR_TRAINER_F, 24 + object SPRITE_SWIMMER, 38, 13, STAY, DOWN, 5, OPP_SWIMMER, 10 + object SPRITE_SWIMMER, 87, 13, STAY, UP, 6, OPP_SWIMMER, 11 + object SPRITE_BLACK_HAIR_BOY_1, 34, 9, STAY, UP, 7, OPP_BIRD_KEEPER, 11 + object SPRITE_SWIMMER, 25, 7, STAY, UP, 8, OPP_BEAUTY, 7 + object SPRITE_SWIMMER, 24, 12, STAY, DOWN, 9, OPP_JR_TRAINER_F, 16 + object SPRITE_SWIMMER, 15, 8, STAY, UP, 10, OPP_BEAUTY, 8 + + ; warp-to + warp_to 48, 5, ROUTE_20_WIDTH ; SEAFOAM_ISLANDS_1F + warp_to 58, 9, ROUTE_20_WIDTH ; SEAFOAM_ISLANDS_1F diff --git a/data/maps/objects/Route21.asm b/data/maps/objects/Route21.asm new file mode 100755 index 00000000..b7759b59 --- /dev/null +++ b/data/maps/objects/Route21.asm @@ -0,0 +1,17 @@ +Route21_Object: + db $43 ; border block + + db 0 ; warps + + db 0 ; signs + + db 9 ; objects + object SPRITE_FISHER2, 4, 24, STAY, LEFT, 1, OPP_FISHER, 7 + object SPRITE_FISHER2, 6, 25, STAY, DOWN, 2, OPP_FISHER, 9 + object SPRITE_SWIMMER, 10, 31, STAY, UP, 3, OPP_SWIMMER, 12 + object SPRITE_SWIMMER, 12, 30, STAY, RIGHT, 4, OPP_CUE_BALL, 9 + object SPRITE_SWIMMER, 16, 63, STAY, DOWN, 5, OPP_SWIMMER, 13 + object SPRITE_SWIMMER, 5, 71, STAY, RIGHT, 6, OPP_SWIMMER, 14 + object SPRITE_SWIMMER, 15, 71, STAY, LEFT, 7, OPP_SWIMMER, 15 + object SPRITE_FISHER2, 14, 56, STAY, LEFT, 8, OPP_FISHER, 8 + object SPRITE_FISHER2, 17, 57, STAY, RIGHT, 9, OPP_FISHER, 10 diff --git a/data/maps/objects/Route22.asm b/data/maps/objects/Route22.asm new file mode 100755 index 00000000..56e759fd --- /dev/null +++ b/data/maps/objects/Route22.asm @@ -0,0 +1,15 @@ +Route22_Object: + db $2c ; border block + + db 1 ; warps + warp 8, 5, 0, ROUTE_22_GATE + + db 1 ; signs + sign 7, 11, 3 ; Route22FrontGateText + + db 2 ; objects + object SPRITE_BLUE, 25, 5, STAY, NONE, 1 ; person + object SPRITE_BLUE, 25, 5, STAY, NONE, 2 ; person + + ; warp-to + warp_to 8, 5, ROUTE_22_WIDTH ; ROUTE_22_GATE diff --git a/data/maps/objects/Route22Gate.asm b/data/maps/objects/Route22Gate.asm new file mode 100755 index 00000000..3f693c7f --- /dev/null +++ b/data/maps/objects/Route22Gate.asm @@ -0,0 +1,19 @@ +Route22Gate_Object: + db $a ; border block + + db 4 ; warps + warp 4, 7, 0, -1 + warp 5, 7, 0, -1 + warp 4, 0, 0, -1 + warp 5, 0, 1, -1 + + db 0 ; signs + + db 1 ; objects + object SPRITE_GUARD, 6, 2, STAY, LEFT, 1 ; person + + ; warp-to + warp_to 4, 7, ROUTE_22_GATE_WIDTH + warp_to 5, 7, ROUTE_22_GATE_WIDTH + warp_to 4, 0, ROUTE_22_GATE_WIDTH + warp_to 5, 0, ROUTE_22_GATE_WIDTH diff --git a/data/maps/objects/Route23.asm b/data/maps/objects/Route23.asm new file mode 100755 index 00000000..b510c285 --- /dev/null +++ b/data/maps/objects/Route23.asm @@ -0,0 +1,26 @@ +Route23_Object: + db $f ; border block + + db 4 ; warps + warp 7, 139, 2, ROUTE_22_GATE + warp 8, 139, 3, ROUTE_22_GATE + warp 4, 31, 0, VICTORY_ROAD_1F + warp 14, 31, 1, VICTORY_ROAD_2F + + db 1 ; signs + sign 3, 33, 8 ; Route23Text8 + + db 7 ; objects + object SPRITE_GUARD, 4, 35, STAY, DOWN, 1 ; person + object SPRITE_GUARD, 10, 56, STAY, DOWN, 2 ; person + object SPRITE_SWIMMER, 8, 85, STAY, DOWN, 3 ; person + object SPRITE_SWIMMER, 11, 96, STAY, DOWN, 4 ; person + object SPRITE_GUARD, 12, 105, STAY, DOWN, 5 ; person + object SPRITE_GUARD, 8, 119, STAY, DOWN, 6 ; person + object SPRITE_GUARD, 8, 136, STAY, DOWN, 7 ; person + + ; warp-to + warp_to 7, 139, ROUTE_23_WIDTH ; ROUTE_22_GATE + warp_to 8, 139, ROUTE_23_WIDTH ; ROUTE_22_GATE + warp_to 4, 31, ROUTE_23_WIDTH ; VICTORY_ROAD_1F + warp_to 14, 31, ROUTE_23_WIDTH ; VICTORY_ROAD_2F diff --git a/data/maps/objects/Route24.asm b/data/maps/objects/Route24.asm new file mode 100755 index 00000000..8ef0d2b9 --- /dev/null +++ b/data/maps/objects/Route24.asm @@ -0,0 +1,16 @@ +Route24_Object: + db $2c ; border block + + db 0 ; warps + + db 0 ; signs + + db 8 ; objects + object SPRITE_BLACK_HAIR_BOY_1, 11, 15, STAY, LEFT, 1, OPP_ROCKET, 6 + object SPRITE_BLACK_HAIR_BOY_1, 5, 20, STAY, UP, 2, OPP_JR_TRAINER_M, 2 + object SPRITE_BLACK_HAIR_BOY_1, 11, 19, STAY, LEFT, 3, OPP_JR_TRAINER_M, 3 + object SPRITE_LASS, 10, 22, STAY, RIGHT, 4, OPP_LASS, 7 + object SPRITE_BUG_CATCHER, 11, 25, STAY, LEFT, 5, OPP_YOUNGSTER, 4 + object SPRITE_LASS, 10, 28, STAY, RIGHT, 6, OPP_LASS, 8 + object SPRITE_BUG_CATCHER, 11, 31, STAY, LEFT, 7, OPP_BUG_CATCHER, 9 + object SPRITE_BALL, 10, 5, STAY, NONE, 8, TM_45 diff --git a/data/maps/objects/Route25.asm b/data/maps/objects/Route25.asm new file mode 100755 index 00000000..a85f85ca --- /dev/null +++ b/data/maps/objects/Route25.asm @@ -0,0 +1,23 @@ +Route25_Object: + db $2c ; border block + + db 1 ; warps + warp 45, 3, 0, BILLS_HOUSE + + db 1 ; signs + sign 43, 3, 11 ; Route25Text11 + + db 10 ; objects + object SPRITE_BUG_CATCHER, 14, 2, STAY, DOWN, 1, OPP_YOUNGSTER, 5 + object SPRITE_BUG_CATCHER, 18, 5, STAY, UP, 2, OPP_YOUNGSTER, 6 + object SPRITE_BLACK_HAIR_BOY_1, 24, 4, STAY, DOWN, 3, OPP_JR_TRAINER_M, 2 + object SPRITE_LASS, 18, 8, STAY, RIGHT, 4, OPP_LASS, 9 + object SPRITE_BUG_CATCHER, 32, 3, STAY, LEFT, 5, OPP_YOUNGSTER, 7 + object SPRITE_LASS, 37, 4, STAY, DOWN, 6, OPP_LASS, 10 + object SPRITE_HIKER, 8, 4, STAY, RIGHT, 7, OPP_HIKER, 2 + object SPRITE_HIKER, 23, 9, STAY, UP, 8, OPP_HIKER, 3 + object SPRITE_HIKER, 13, 7, STAY, RIGHT, 9, OPP_HIKER, 4 + object SPRITE_BALL, 22, 2, STAY, NONE, 10, TM_19 + + ; warp-to + warp_to 45, 3, ROUTE_25_WIDTH ; BILLS_HOUSE diff --git a/data/maps/objects/Route2Gate.asm b/data/maps/objects/Route2Gate.asm new file mode 100755 index 00000000..a7feb780 --- /dev/null +++ b/data/maps/objects/Route2Gate.asm @@ -0,0 +1,20 @@ +Route2Gate_Object: + db $a ; border block + + db 4 ; warps + warp 4, 0, 3, -1 + warp 5, 0, 3, -1 + warp 4, 7, 4, -1 + warp 5, 7, 4, -1 + + db 0 ; signs + + db 2 ; objects + object SPRITE_OAK_AIDE, 1, 4, STAY, LEFT, 1 ; person + object SPRITE_BUG_CATCHER, 5, 4, WALK, 2, 2 ; person + + ; warp-to + warp_to 4, 0, ROUTE_2_GATE_WIDTH + warp_to 5, 0, ROUTE_2_GATE_WIDTH + warp_to 4, 7, ROUTE_2_GATE_WIDTH + warp_to 5, 7, ROUTE_2_GATE_WIDTH diff --git a/data/maps/objects/Route2TradeHouse.asm b/data/maps/objects/Route2TradeHouse.asm new file mode 100755 index 00000000..89ece3ea --- /dev/null +++ b/data/maps/objects/Route2TradeHouse.asm @@ -0,0 +1,16 @@ +Route2TradeHouse_Object: + db $a ; border block + + db 2 ; warps + warp 2, 7, 2, -1 + warp 3, 7, 2, -1 + + db 0 ; signs + + db 2 ; objects + object SPRITE_OAK_AIDE, 2, 4, STAY, RIGHT, 1 ; person + object SPRITE_GAMEBOY_KID_COPY, 4, 1, STAY, DOWN, 2 ; person + + ; warp-to + warp_to 2, 7, ROUTE_2_TRADE_HOUSE_WIDTH + warp_to 3, 7, ROUTE_2_TRADE_HOUSE_WIDTH diff --git a/data/maps/objects/Route3.asm b/data/maps/objects/Route3.asm new file mode 100755 index 00000000..372ea6cf --- /dev/null +++ b/data/maps/objects/Route3.asm @@ -0,0 +1,18 @@ +Route3_Object: + db $2c ; border block + + db 0 ; warps + + db 1 ; signs + sign 59, 9, 10 ; Route3Text10 + + db 9 ; objects + object SPRITE_BLACK_HAIR_BOY_2, 57, 11, STAY, NONE, 1 ; person + object SPRITE_BUG_CATCHER, 10, 6, STAY, RIGHT, 2, OPP_BUG_CATCHER, 4 + object SPRITE_BUG_CATCHER, 14, 4, STAY, DOWN, 3, OPP_YOUNGSTER, 1 + object SPRITE_LASS, 16, 9, STAY, LEFT, 4, OPP_LASS, 1 + object SPRITE_BUG_CATCHER, 19, 5, STAY, DOWN, 5, OPP_BUG_CATCHER, 5 + object SPRITE_LASS, 23, 4, STAY, LEFT, 6, OPP_LASS, 2 + object SPRITE_BUG_CATCHER, 22, 9, STAY, LEFT, 7, OPP_YOUNGSTER, 2 + object SPRITE_BUG_CATCHER, 24, 6, STAY, RIGHT, 8, OPP_BUG_CATCHER, 6 + object SPRITE_LASS, 33, 10, STAY, UP, 9, OPP_LASS, 3 diff --git a/data/maps/objects/Route4.asm b/data/maps/objects/Route4.asm new file mode 100755 index 00000000..4ab88f8f --- /dev/null +++ b/data/maps/objects/Route4.asm @@ -0,0 +1,22 @@ +Route4_Object: + db $2c ; border block + + db 3 ; warps + warp 11, 5, 0, MT_MOON_POKECENTER + warp 18, 5, 0, MT_MOON_1F + warp 24, 5, 7, MT_MOON_B1F + + db 3 ; signs + sign 12, 5, 4 ; PokeCenterSignText + sign 17, 7, 5 ; Route4Text5 + sign 27, 7, 6 ; Route4Text6 + + db 3 ; objects + object SPRITE_LASS, 9, 8, WALK, 0, 1 ; person + object SPRITE_LASS, 63, 3, STAY, RIGHT, 2, OPP_LASS, 4 + object SPRITE_BALL, 57, 3, STAY, NONE, 3, TM_04 + + ; warp-to + warp_to 11, 5, ROUTE_4_WIDTH ; MT_MOON_POKECENTER + warp_to 18, 5, ROUTE_4_WIDTH ; MT_MOON_1F + warp_to 24, 5, ROUTE_4_WIDTH ; MT_MOON_B1F diff --git a/data/maps/objects/Route5.asm b/data/maps/objects/Route5.asm new file mode 100755 index 00000000..df2c8c03 --- /dev/null +++ b/data/maps/objects/Route5.asm @@ -0,0 +1,21 @@ +Route5_Object: + db $a ; border block + + db 5 ; warps + warp 10, 29, 3, ROUTE_5_GATE + warp 9, 29, 2, ROUTE_5_GATE + warp 10, 33, 0, ROUTE_5_GATE + warp 17, 27, 0, UNDERGROUND_PATH_ROUTE_5 + warp 10, 21, 0, DAYCARE + + db 1 ; signs + sign 17, 29, 1 ; Route5Text1 + + db 0 ; objects + + ; warp-to + warp_to 10, 29, ROUTE_5_WIDTH ; ROUTE_5_GATE + warp_to 9, 29, ROUTE_5_WIDTH ; ROUTE_5_GATE + warp_to 10, 33, ROUTE_5_WIDTH ; ROUTE_5_GATE + warp_to 17, 27, ROUTE_5_WIDTH ; UNDERGROUND_PATH_ROUTE_5 + warp_to 10, 21, ROUTE_5_WIDTH ; DAYCARE diff --git a/data/maps/objects/Route5Gate.asm b/data/maps/objects/Route5Gate.asm new file mode 100755 index 00000000..e0e06a1d --- /dev/null +++ b/data/maps/objects/Route5Gate.asm @@ -0,0 +1,19 @@ +Route5Gate_Object: + db $a ; border block + + db 4 ; warps + warp 3, 5, 2, -1 + warp 4, 5, 2, -1 + warp 3, 0, 1, -1 + warp 4, 0, 0, -1 + + db 0 ; signs + + db 1 ; objects + object SPRITE_GUARD, 1, 3, STAY, RIGHT, 1 ; person + + ; warp-to + warp_to 3, 5, ROUTE_5_GATE_WIDTH + warp_to 4, 5, ROUTE_5_GATE_WIDTH + warp_to 3, 0, ROUTE_5_GATE_WIDTH + warp_to 4, 0, ROUTE_5_GATE_WIDTH diff --git a/data/maps/objects/Route6.asm b/data/maps/objects/Route6.asm new file mode 100755 index 00000000..fc2d7e24 --- /dev/null +++ b/data/maps/objects/Route6.asm @@ -0,0 +1,25 @@ +Route6_Object: + db $f ; border block + + db 4 ; warps + warp 9, 1, 2, ROUTE_6_GATE + warp 10, 1, 2, ROUTE_6_GATE + warp 10, 7, 0, ROUTE_6_GATE + warp 17, 13, 0, UNDERGROUND_PATH_ROUTE_6 + + db 1 ; signs + sign 19, 15, 7 ; Route6Text7 + + db 6 ; objects + object SPRITE_BLACK_HAIR_BOY_1, 10, 21, STAY, RIGHT, 1, OPP_JR_TRAINER_M, 4 + object SPRITE_LASS, 11, 21, STAY, LEFT, 2, OPP_JR_TRAINER_F, 2 + object SPRITE_BUG_CATCHER, 0, 15, STAY, RIGHT, 3, OPP_BUG_CATCHER, 10 + object SPRITE_BLACK_HAIR_BOY_1, 11, 31, STAY, LEFT, 4, OPP_JR_TRAINER_M, 5 + object SPRITE_LASS, 11, 30, STAY, LEFT, 5, OPP_JR_TRAINER_F, 3 + object SPRITE_BUG_CATCHER, 19, 26, STAY, LEFT, 6, OPP_BUG_CATCHER, 11 + + ; warp-to + warp_to 9, 1, ROUTE_6_WIDTH ; ROUTE_6_GATE + warp_to 10, 1, ROUTE_6_WIDTH ; ROUTE_6_GATE + warp_to 10, 7, ROUTE_6_WIDTH ; ROUTE_6_GATE + warp_to 17, 13, ROUTE_6_WIDTH ; UNDERGROUND_PATH_ROUTE_6 diff --git a/data/maps/objects/Route6Gate.asm b/data/maps/objects/Route6Gate.asm new file mode 100755 index 00000000..8ed96d04 --- /dev/null +++ b/data/maps/objects/Route6Gate.asm @@ -0,0 +1,19 @@ +Route6Gate_Object: + db $a ; border block + + db 4 ; warps + warp 3, 5, 2, -1 + warp 4, 5, 2, -1 + warp 3, 0, 1, -1 + warp 4, 0, 1, -1 + + db 0 ; signs + + db 1 ; objects + object SPRITE_GUARD, 6, 2, STAY, LEFT, 1 ; person + + ; warp-to + warp_to 3, 5, ROUTE_6_GATE_WIDTH + warp_to 4, 5, ROUTE_6_GATE_WIDTH + warp_to 3, 0, ROUTE_6_GATE_WIDTH + warp_to 4, 0, ROUTE_6_GATE_WIDTH diff --git a/data/maps/objects/Route7.asm b/data/maps/objects/Route7.asm new file mode 100755 index 00000000..182904ef --- /dev/null +++ b/data/maps/objects/Route7.asm @@ -0,0 +1,21 @@ +Route7_Object: + db $f ; border block + + db 5 ; warps + warp 18, 9, 2, ROUTE_7_GATE + warp 18, 10, 3, ROUTE_7_GATE + warp 11, 9, 0, ROUTE_7_GATE + warp 11, 10, 1, ROUTE_7_GATE + warp 5, 13, 0, UNDERGROUND_PATH_ROUTE_7 + + db 1 ; signs + sign 3, 13, 1 ; Route7Text1 + + db 0 ; objects + + ; warp-to + warp_to 18, 9, ROUTE_7_WIDTH ; ROUTE_7_GATE + warp_to 18, 10, ROUTE_7_WIDTH ; ROUTE_7_GATE + warp_to 11, 9, ROUTE_7_WIDTH ; ROUTE_7_GATE + warp_to 11, 10, ROUTE_7_WIDTH ; ROUTE_7_GATE + warp_to 5, 13, ROUTE_7_WIDTH ; UNDERGROUND_PATH_ROUTE_7 diff --git a/data/maps/objects/Route7Gate.asm b/data/maps/objects/Route7Gate.asm new file mode 100755 index 00000000..7f1afe0a --- /dev/null +++ b/data/maps/objects/Route7Gate.asm @@ -0,0 +1,19 @@ +Route7Gate_Object: + db $a ; border block + + db 4 ; warps + warp 0, 3, 3, -1 + warp 0, 4, 3, -1 + warp 5, 3, 0, -1 + warp 5, 4, 1, -1 + + db 0 ; signs + + db 1 ; objects + object SPRITE_GUARD, 3, 1, STAY, DOWN, 1 ; person + + ; warp-to + warp_to 0, 3, ROUTE_7_GATE_WIDTH + warp_to 0, 4, ROUTE_7_GATE_WIDTH + warp_to 5, 3, ROUTE_7_GATE_WIDTH + warp_to 5, 4, ROUTE_7_GATE_WIDTH diff --git a/data/maps/objects/Route8.asm b/data/maps/objects/Route8.asm new file mode 100755 index 00000000..137d70a0 --- /dev/null +++ b/data/maps/objects/Route8.asm @@ -0,0 +1,30 @@ +Route8_Object: + db $2c ; border block + + db 5 ; warps + warp 1, 9, 0, ROUTE_8_GATE + warp 1, 10, 1, ROUTE_8_GATE + warp 8, 9, 2, ROUTE_8_GATE + warp 8, 10, 3, ROUTE_8_GATE + warp 13, 3, 0, UNDERGROUND_PATH_ROUTE_8 + + db 1 ; signs + sign 17, 3, 10 ; Route8Text10 + + db 9 ; objects + object SPRITE_BLACK_HAIR_BOY_2, 8, 5, STAY, RIGHT, 1, OPP_SUPER_NERD, 3 + object SPRITE_GAMBLER, 13, 9, STAY, UP, 2, OPP_GAMBLER, 5 + object SPRITE_BLACK_HAIR_BOY_2, 42, 6, STAY, UP, 3, OPP_SUPER_NERD, 4 + object SPRITE_LASS, 26, 3, STAY, LEFT, 4, OPP_LASS, 13 + object SPRITE_BLACK_HAIR_BOY_2, 26, 4, STAY, RIGHT, 5, OPP_SUPER_NERD, 5 + object SPRITE_LASS, 26, 5, STAY, LEFT, 6, OPP_LASS, 14 + object SPRITE_LASS, 26, 6, STAY, RIGHT, 7, OPP_LASS, 15 + object SPRITE_GAMBLER, 46, 13, STAY, DOWN, 8, OPP_GAMBLER, 7 + object SPRITE_LASS, 51, 12, STAY, LEFT, 9, OPP_LASS, 16 + + ; warp-to + warp_to 1, 9, ROUTE_8_WIDTH ; ROUTE_8_GATE + warp_to 1, 10, ROUTE_8_WIDTH ; ROUTE_8_GATE + warp_to 8, 9, ROUTE_8_WIDTH ; ROUTE_8_GATE + warp_to 8, 10, ROUTE_8_WIDTH ; ROUTE_8_GATE + warp_to 13, 3, ROUTE_8_WIDTH ; UNDERGROUND_PATH_ROUTE_8 diff --git a/data/maps/objects/Route8Gate.asm b/data/maps/objects/Route8Gate.asm new file mode 100755 index 00000000..3bba95a0 --- /dev/null +++ b/data/maps/objects/Route8Gate.asm @@ -0,0 +1,19 @@ +Route8Gate_Object: + db $a ; border block + + db 4 ; warps + warp 0, 3, 0, -1 + warp 0, 4, 1, -1 + warp 5, 3, 2, -1 + warp 5, 4, 3, -1 + + db 0 ; signs + + db 1 ; objects + object SPRITE_GUARD, 2, 1, STAY, DOWN, 1 ; person + + ; warp-to + warp_to 0, 3, ROUTE_8_GATE_WIDTH + warp_to 0, 4, ROUTE_8_GATE_WIDTH + warp_to 5, 3, ROUTE_8_GATE_WIDTH + warp_to 5, 4, ROUTE_8_GATE_WIDTH diff --git a/data/maps/objects/Route9.asm b/data/maps/objects/Route9.asm new file mode 100755 index 00000000..a991c0c7 --- /dev/null +++ b/data/maps/objects/Route9.asm @@ -0,0 +1,19 @@ +Route9_Object: + db $2c ; border block + + db 0 ; warps + + db 1 ; signs + sign 25, 7, 11 ; Route9Text11 + + db 10 ; objects + object SPRITE_LASS, 13, 10, STAY, LEFT, 1, OPP_JR_TRAINER_F, 5 + object SPRITE_BLACK_HAIR_BOY_1, 24, 7, STAY, LEFT, 2, OPP_JR_TRAINER_M, 7 + object SPRITE_BLACK_HAIR_BOY_1, 31, 7, STAY, RIGHT, 3, OPP_JR_TRAINER_M, 8 + object SPRITE_LASS, 48, 8, STAY, RIGHT, 4, OPP_JR_TRAINER_F, 6 + object SPRITE_HIKER, 16, 15, STAY, LEFT, 5, OPP_HIKER, 11 + object SPRITE_HIKER, 43, 3, STAY, LEFT, 6, OPP_HIKER, 6 + object SPRITE_BUG_CATCHER, 22, 2, STAY, DOWN, 7, OPP_BUG_CATCHER, 13 + object SPRITE_HIKER, 45, 15, STAY, RIGHT, 8, OPP_HIKER, 5 + object SPRITE_BUG_CATCHER, 40, 8, STAY, RIGHT, 9, OPP_BUG_CATCHER, 14 + object SPRITE_BALL, 10, 15, STAY, NONE, 10, TM_30 diff --git a/data/maps/objects/SSAnne1F.asm b/data/maps/objects/SSAnne1F.asm new file mode 100755 index 00000000..3e454f06 --- /dev/null +++ b/data/maps/objects/SSAnne1F.asm @@ -0,0 +1,34 @@ +SSAnne1F_Object: + db $c ; border block + + db 11 ; warps + warp 26, 0, 1, VERMILION_DOCK + warp 27, 0, 1, VERMILION_DOCK + warp 31, 8, 0, SS_ANNE_1F_ROOMS + warp 23, 8, 1, SS_ANNE_1F_ROOMS + warp 19, 8, 2, SS_ANNE_1F_ROOMS + warp 15, 8, 3, SS_ANNE_1F_ROOMS + warp 11, 8, 4, SS_ANNE_1F_ROOMS + warp 7, 8, 5, SS_ANNE_1F_ROOMS + warp 2, 6, 6, SS_ANNE_2F + warp 37, 15, 5, SS_ANNE_B1F + warp 3, 16, 0, SS_ANNE_KITCHEN + + db 0 ; signs + + db 2 ; objects + object SPRITE_WAITER, 12, 6, WALK, 2, 1 ; person + object SPRITE_SAILOR, 27, 5, STAY, NONE, 2 ; person + + ; warp-to + warp_to 26, 0, SS_ANNE_1F_WIDTH ; VERMILION_DOCK + warp_to 27, 0, SS_ANNE_1F_WIDTH ; VERMILION_DOCK + warp_to 31, 8, SS_ANNE_1F_WIDTH ; SS_ANNE_1F_ROOMS + warp_to 23, 8, SS_ANNE_1F_WIDTH ; SS_ANNE_1F_ROOMS + warp_to 19, 8, SS_ANNE_1F_WIDTH ; SS_ANNE_1F_ROOMS + warp_to 15, 8, SS_ANNE_1F_WIDTH ; SS_ANNE_1F_ROOMS + warp_to 11, 8, SS_ANNE_1F_WIDTH ; SS_ANNE_1F_ROOMS + warp_to 7, 8, SS_ANNE_1F_WIDTH ; SS_ANNE_1F_ROOMS + warp_to 2, 6, SS_ANNE_1F_WIDTH ; SS_ANNE_2F + warp_to 37, 15, SS_ANNE_1F_WIDTH ; SS_ANNE_B1F + warp_to 3, 16, SS_ANNE_1F_WIDTH ; SS_ANNE_KITCHEN diff --git a/data/maps/objects/SSAnne1FRooms.asm b/data/maps/objects/SSAnne1FRooms.asm new file mode 100755 index 00000000..617d2a55 --- /dev/null +++ b/data/maps/objects/SSAnne1FRooms.asm @@ -0,0 +1,33 @@ +SSAnne1FRooms_Object: + db $c ; border block + + db 6 ; warps + warp 0, 0, 2, SS_ANNE_1F + warp 10, 0, 3, SS_ANNE_1F + warp 20, 0, 4, SS_ANNE_1F + warp 0, 10, 5, SS_ANNE_1F + warp 10, 10, 6, SS_ANNE_1F + warp 20, 10, 7, SS_ANNE_1F + + db 0 ; signs + + db 11 ; objects + object SPRITE_GENTLEMAN, 2, 3, STAY, LEFT, 1, OPP_GENTLEMAN, 1 + object SPRITE_GENTLEMAN, 11, 4, STAY, UP, 2, OPP_GENTLEMAN, 2 + object SPRITE_BUG_CATCHER, 11, 14, STAY, UP, 3, OPP_YOUNGSTER, 8 + object SPRITE_LASS, 13, 11, STAY, LEFT, 4, OPP_LASS, 11 + object SPRITE_GIRL, 22, 3, WALK, 1, 5 ; person + object SPRITE_FAT_BALD_GUY, 0, 14, STAY, NONE, 6 ; person + object SPRITE_LITTLE_GIRL, 2, 11, STAY, DOWN, 7 ; person + object SPRITE_CLEFAIRY, 3, 11, STAY, DOWN, 8 ; person + object SPRITE_GIRL, 10, 13, STAY, RIGHT, 9 ; person + object SPRITE_BALL, 12, 15, STAY, NONE, 10, TM_08 + object SPRITE_GENTLEMAN, 21, 13, WALK, 2, 11 ; person + + ; warp-to + warp_to 0, 0, SS_ANNE_1F_ROOMS_WIDTH ; SS_ANNE_1F + warp_to 10, 0, SS_ANNE_1F_ROOMS_WIDTH ; SS_ANNE_1F + warp_to 20, 0, SS_ANNE_1F_ROOMS_WIDTH ; SS_ANNE_1F + warp_to 0, 10, SS_ANNE_1F_ROOMS_WIDTH ; SS_ANNE_1F + warp_to 10, 10, SS_ANNE_1F_ROOMS_WIDTH ; SS_ANNE_1F + warp_to 20, 10, SS_ANNE_1F_ROOMS_WIDTH ; SS_ANNE_1F diff --git a/data/maps/objects/SSAnne2F.asm b/data/maps/objects/SSAnne2F.asm new file mode 100755 index 00000000..6abd5ac4 --- /dev/null +++ b/data/maps/objects/SSAnne2F.asm @@ -0,0 +1,30 @@ +SSAnne2F_Object: + db $c ; border block + + db 9 ; warps + warp 9, 11, 0, SS_ANNE_2F_ROOMS + warp 13, 11, 2, SS_ANNE_2F_ROOMS + warp 17, 11, 4, SS_ANNE_2F_ROOMS + warp 21, 11, 6, SS_ANNE_2F_ROOMS + warp 25, 11, 8, SS_ANNE_2F_ROOMS + warp 29, 11, 10, SS_ANNE_2F_ROOMS + warp 2, 4, 8, SS_ANNE_1F + warp 2, 12, 1, SS_ANNE_3F + warp 36, 4, 0, SS_ANNE_CAPTAINS_ROOM + + db 0 ; signs + + db 2 ; objects + object SPRITE_WAITER, 3, 7, WALK, 1, 1 ; person + object SPRITE_BLUE, 36, 4, STAY, DOWN, 2, OPP_SONY1, 1 + + ; warp-to + warp_to 9, 11, SS_ANNE_2F_WIDTH ; SS_ANNE_2F_ROOMS + warp_to 13, 11, SS_ANNE_2F_WIDTH ; SS_ANNE_2F_ROOMS + warp_to 17, 11, SS_ANNE_2F_WIDTH ; SS_ANNE_2F_ROOMS + warp_to 21, 11, SS_ANNE_2F_WIDTH ; SS_ANNE_2F_ROOMS + warp_to 25, 11, SS_ANNE_2F_WIDTH ; SS_ANNE_2F_ROOMS + warp_to 29, 11, SS_ANNE_2F_WIDTH ; SS_ANNE_2F_ROOMS + warp_to 2, 4, SS_ANNE_2F_WIDTH ; SS_ANNE_1F + warp_to 2, 12, SS_ANNE_2F_WIDTH ; SS_ANNE_3F + warp_to 36, 4, SS_ANNE_2F_WIDTH ; SS_ANNE_CAPTAINS_ROOM diff --git a/data/maps/objects/SSAnne2FRooms.asm b/data/maps/objects/SSAnne2FRooms.asm new file mode 100755 index 00000000..ebb053a8 --- /dev/null +++ b/data/maps/objects/SSAnne2FRooms.asm @@ -0,0 +1,47 @@ +SSAnne2FRooms_Object: + db $c ; border block + + db 12 ; warps + warp 2, 5, 0, SS_ANNE_2F + warp 3, 5, 0, SS_ANNE_2F + warp 12, 5, 1, SS_ANNE_2F + warp 13, 5, 1, SS_ANNE_2F + warp 22, 5, 2, SS_ANNE_2F + warp 23, 5, 2, SS_ANNE_2F + warp 2, 15, 3, SS_ANNE_2F + warp 3, 15, 3, SS_ANNE_2F + warp 12, 15, 4, SS_ANNE_2F + warp 13, 15, 4, SS_ANNE_2F + warp 22, 15, 5, SS_ANNE_2F + warp 23, 15, 5, SS_ANNE_2F + + db 0 ; signs + + db 13 ; objects + object SPRITE_GENTLEMAN, 10, 2, STAY, RIGHT, 1, OPP_GENTLEMAN, 3 + object SPRITE_FISHER2, 13, 4, STAY, LEFT, 2, OPP_FISHER, 1 + object SPRITE_GENTLEMAN, 0, 14, STAY, RIGHT, 3, OPP_GENTLEMAN, 5 + object SPRITE_LASS, 2, 11, STAY, DOWN, 4, OPP_LASS, 12 + object SPRITE_GENTLEMAN, 1, 2, STAY, DOWN, 5 ; person + object SPRITE_BALL, 12, 1, STAY, NONE, 6, MAX_ETHER + object SPRITE_GENTLEMAN, 21, 2, STAY, DOWN, 7 ; person + object SPRITE_OLD_PERSON, 22, 1, STAY, DOWN, 8 ; person + object SPRITE_BALL, 0, 12, STAY, NONE, 9, RARE_CANDY + object SPRITE_GENTLEMAN, 12, 12, STAY, DOWN, 10 ; person + object SPRITE_YOUNG_BOY, 11, 14, STAY, NONE, 11 ; person + object SPRITE_BRUNETTE_GIRL, 22, 12, STAY, LEFT, 12 ; person + object SPRITE_FOULARD_WOMAN, 20, 12, STAY, RIGHT, 13 ; person + + ; warp-to + warp_to 2, 5, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F + warp_to 3, 5, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F + warp_to 12, 5, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F + warp_to 13, 5, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F + warp_to 22, 5, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F + warp_to 23, 5, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F + warp_to 2, 15, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F + warp_to 3, 15, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F + warp_to 12, 15, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F + warp_to 13, 15, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F + warp_to 22, 15, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F + warp_to 23, 15, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F diff --git a/data/maps/objects/SSAnne3F.asm b/data/maps/objects/SSAnne3F.asm new file mode 100755 index 00000000..f0bfc17b --- /dev/null +++ b/data/maps/objects/SSAnne3F.asm @@ -0,0 +1,15 @@ +SSAnne3F_Object: + db $c ; border block + + db 2 ; warps + warp 0, 3, 0, SS_ANNE_BOW + warp 19, 3, 7, SS_ANNE_2F + + db 0 ; signs + + db 1 ; objects + object SPRITE_SAILOR, 9, 3, WALK, 2, 1 ; person + + ; warp-to + warp_to 0, 3, SS_ANNE_3F_WIDTH ; SS_ANNE_BOW + warp_to 19, 3, SS_ANNE_3F_WIDTH ; SS_ANNE_2F diff --git a/data/maps/objects/SSAnneB1F.asm b/data/maps/objects/SSAnneB1F.asm new file mode 100755 index 00000000..fe54ea24 --- /dev/null +++ b/data/maps/objects/SSAnneB1F.asm @@ -0,0 +1,22 @@ +SSAnneB1F_Object: + db $c ; border block + + db 6 ; warps + warp 23, 3, 8, SS_ANNE_B1F_ROOMS + warp 19, 3, 6, SS_ANNE_B1F_ROOMS + warp 15, 3, 4, SS_ANNE_B1F_ROOMS + warp 11, 3, 2, SS_ANNE_B1F_ROOMS + warp 7, 3, 0, SS_ANNE_B1F_ROOMS + warp 27, 5, 9, SS_ANNE_1F + + db 0 ; signs + + db 0 ; objects + + ; warp-to + warp_to 23, 3, SS_ANNE_B1F_WIDTH ; SS_ANNE_B1F_ROOMS + warp_to 19, 3, SS_ANNE_B1F_WIDTH ; SS_ANNE_B1F_ROOMS + warp_to 15, 3, SS_ANNE_B1F_WIDTH ; SS_ANNE_B1F_ROOMS + warp_to 11, 3, SS_ANNE_B1F_WIDTH ; SS_ANNE_B1F_ROOMS + warp_to 7, 3, SS_ANNE_B1F_WIDTH ; SS_ANNE_B1F_ROOMS + warp_to 27, 5, SS_ANNE_B1F_WIDTH ; SS_ANNE_1F diff --git a/data/maps/objects/SSAnneB1FRooms.asm b/data/maps/objects/SSAnneB1FRooms.asm new file mode 100755 index 00000000..1d31b89c --- /dev/null +++ b/data/maps/objects/SSAnneB1FRooms.asm @@ -0,0 +1,41 @@ +SSAnneB1FRooms_Object: + db $c ; border block + + db 10 ; warps + warp 2, 5, 4, SS_ANNE_B1F + warp 3, 5, 4, SS_ANNE_B1F + warp 12, 5, 3, SS_ANNE_B1F + warp 13, 5, 3, SS_ANNE_B1F + warp 22, 5, 2, SS_ANNE_B1F + warp 23, 5, 2, SS_ANNE_B1F + warp 2, 15, 1, SS_ANNE_B1F + warp 3, 15, 1, SS_ANNE_B1F + warp 12, 15, 0, SS_ANNE_B1F + warp 13, 15, 0, SS_ANNE_B1F + + db 0 ; signs + + db 11 ; objects + object SPRITE_SAILOR, 0, 13, STAY, DOWN, 1, OPP_SAILOR, 3 + object SPRITE_SAILOR, 2, 11, STAY, DOWN, 2, OPP_SAILOR, 4 + object SPRITE_SAILOR, 12, 3, STAY, LEFT, 3, OPP_SAILOR, 5 + object SPRITE_SAILOR, 22, 2, STAY, DOWN, 4, OPP_SAILOR, 6 + object SPRITE_SAILOR, 0, 2, STAY, RIGHT, 5, OPP_SAILOR, 7 + object SPRITE_FISHER2, 0, 4, STAY, RIGHT, 6, OPP_FISHER, 2 + object SPRITE_BLACK_HAIR_BOY_2, 10, 13, STAY, RIGHT, 7 ; person + object SPRITE_SLOWBRO, 11, 12, STAY, NONE, 8 ; person + object SPRITE_BALL, 20, 2, STAY, NONE, 9, ETHER + object SPRITE_BALL, 10, 2, STAY, NONE, 10, TM_44 + object SPRITE_BALL, 12, 11, STAY, NONE, 11, MAX_POTION + + ; warp-to + warp_to 2, 5, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F + warp_to 3, 5, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F + warp_to 12, 5, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F + warp_to 13, 5, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F + warp_to 22, 5, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F + warp_to 23, 5, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F + warp_to 2, 15, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F + warp_to 3, 15, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F + warp_to 12, 15, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F + warp_to 13, 15, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F diff --git a/data/maps/objects/SSAnneBow.asm b/data/maps/objects/SSAnneBow.asm new file mode 100755 index 00000000..8873c8f8 --- /dev/null +++ b/data/maps/objects/SSAnneBow.asm @@ -0,0 +1,19 @@ +SSAnneBow_Object: + db $23 ; border block + + db 2 ; warps + warp 13, 6, 0, SS_ANNE_3F + warp 13, 7, 0, SS_ANNE_3F + + db 0 ; signs + + db 5 ; objects + object SPRITE_BLACK_HAIR_BOY_2, 5, 2, STAY, UP, 1 ; person + object SPRITE_SAILOR, 4, 9, STAY, NONE, 2 ; person + object SPRITE_BLACK_HAIR_BOY_1, 7, 11, STAY, NONE, 3 ; person + object SPRITE_SAILOR, 4, 4, STAY, DOWN, 4, OPP_SAILOR, 1 + object SPRITE_SAILOR, 10, 8, STAY, UP, 5, OPP_SAILOR, 2 + + ; warp-to + warp_to 13, 6, SS_ANNE_BOW_WIDTH ; SS_ANNE_3F + warp_to 13, 7, SS_ANNE_BOW_WIDTH ; SS_ANNE_3F diff --git a/data/maps/objects/SSAnneCaptainsRoom.asm b/data/maps/objects/SSAnneCaptainsRoom.asm new file mode 100755 index 00000000..545656cc --- /dev/null +++ b/data/maps/objects/SSAnneCaptainsRoom.asm @@ -0,0 +1,15 @@ +SSAnneCaptainsRoom_Object: + db $c ; border block + + db 1 ; warps + warp 0, 7, 8, SS_ANNE_2F + + db 2 ; signs + sign 4, 1, 2 ; SSAnne7Text2 + sign 1, 2, 3 ; SSAnne7Text3 + + db 1 ; objects + object SPRITE_SS_CAPTAIN, 4, 2, STAY, UP, 1 ; person + + ; warp-to + warp_to 0, 7, SS_ANNE_CAPTAINS_ROOM_WIDTH ; SS_ANNE_2F diff --git a/data/maps/objects/SSAnneKitchen.asm b/data/maps/objects/SSAnneKitchen.asm new file mode 100755 index 00000000..b5771e68 --- /dev/null +++ b/data/maps/objects/SSAnneKitchen.asm @@ -0,0 +1,19 @@ +SSAnneKitchen_Object: + db $c ; border block + + db 1 ; warps + warp 6, 0, 10, SS_ANNE_1F + + db 0 ; signs + + db 7 ; objects + object SPRITE_COOK, 1, 8, WALK, 1, 1 ; person + object SPRITE_COOK, 5, 8, WALK, 1, 2 ; person + object SPRITE_COOK, 9, 7, WALK, 1, 3 ; person + object SPRITE_COOK, 13, 6, STAY, NONE, 4 ; person + object SPRITE_COOK, 13, 8, STAY, NONE, 5 ; person + object SPRITE_COOK, 13, 10, STAY, NONE, 6 ; person + object SPRITE_COOK, 11, 13, STAY, UP, 7 ; person + + ; warp-to + warp_to 6, 0, SS_ANNE_KITCHEN_WIDTH ; SS_ANNE_1F diff --git a/data/maps/objects/SafariZoneCenter.asm b/data/maps/objects/SafariZoneCenter.asm new file mode 100755 index 00000000..e54cec74 --- /dev/null +++ b/data/maps/objects/SafariZoneCenter.asm @@ -0,0 +1,31 @@ +SafariZoneCenter_Object: + db $0 ; border block + + db 9 ; warps + warp 14, 25, 2, SAFARI_ZONE_GATE + warp 15, 25, 3, SAFARI_ZONE_GATE + warp 0, 10, 4, SAFARI_ZONE_WEST + warp 0, 11, 5, SAFARI_ZONE_WEST + warp 14, 0, 4, SAFARI_ZONE_NORTH + warp 15, 0, 5, SAFARI_ZONE_NORTH + warp 29, 10, 2, SAFARI_ZONE_EAST + warp 29, 11, 3, SAFARI_ZONE_EAST + warp 17, 19, 0, SAFARI_ZONE_CENTER_REST_HOUSE + + db 2 ; signs + sign 18, 20, 2 ; SafariZoneCenterText2 + sign 14, 22, 3 ; SafariZoneCenterText3 + + db 1 ; objects + object SPRITE_BALL, 14, 10, STAY, NONE, 1, NUGGET + + ; warp-to + warp_to 14, 25, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_GATE + warp_to 15, 25, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_GATE + warp_to 0, 10, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_WEST + warp_to 0, 11, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_WEST + warp_to 14, 0, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_NORTH + warp_to 15, 0, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_NORTH + warp_to 29, 10, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_EAST + warp_to 29, 11, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_EAST + warp_to 17, 19, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_CENTER_REST_HOUSE diff --git a/data/maps/objects/SafariZoneCenterRestHouse.asm b/data/maps/objects/SafariZoneCenterRestHouse.asm new file mode 100755 index 00000000..9eda9970 --- /dev/null +++ b/data/maps/objects/SafariZoneCenterRestHouse.asm @@ -0,0 +1,16 @@ +SafariZoneCenterRestHouse_Object: + db $a ; border block + + db 2 ; warps + warp 2, 7, 8, SAFARI_ZONE_CENTER + warp 3, 7, 8, SAFARI_ZONE_CENTER + + db 0 ; signs + + db 2 ; objects + object SPRITE_GIRL, 3, 2, STAY, DOWN, 1 ; person + object SPRITE_OAK_AIDE, 1, 4, WALK, 1, 2 ; person + + ; warp-to + warp_to 2, 7, SAFARI_ZONE_CENTER_REST_HOUSE_WIDTH ; SAFARI_ZONE_CENTER + warp_to 3, 7, SAFARI_ZONE_CENTER_REST_HOUSE_WIDTH ; SAFARI_ZONE_CENTER diff --git a/data/maps/objects/SafariZoneEast.asm b/data/maps/objects/SafariZoneEast.asm new file mode 100755 index 00000000..df612ea9 --- /dev/null +++ b/data/maps/objects/SafariZoneEast.asm @@ -0,0 +1,27 @@ +SafariZoneEast_Object: + db $0 ; border block + + db 5 ; warps + warp 0, 4, 6, SAFARI_ZONE_NORTH + warp 0, 5, 7, SAFARI_ZONE_NORTH + warp 0, 22, 6, SAFARI_ZONE_CENTER + warp 0, 23, 6, SAFARI_ZONE_CENTER + warp 25, 9, 0, SAFARI_ZONE_EAST_REST_HOUSE + + db 3 ; signs + sign 26, 10, 5 ; SafariZoneEastText5 + sign 6, 4, 6 ; SafariZoneEastText6 + sign 5, 23, 7 ; SafariZoneEastText7 + + db 4 ; objects + object SPRITE_BALL, 21, 10, STAY, NONE, 1, FULL_RESTORE + object SPRITE_BALL, 3, 7, STAY, NONE, 2, MAX_POTION + object SPRITE_BALL, 20, 13, STAY, NONE, 3, CARBOS + object SPRITE_BALL, 15, 12, STAY, NONE, 4, TM_37 + + ; warp-to + warp_to 0, 4, SAFARI_ZONE_EAST_WIDTH ; SAFARI_ZONE_NORTH + warp_to 0, 5, SAFARI_ZONE_EAST_WIDTH ; SAFARI_ZONE_NORTH + warp_to 0, 22, SAFARI_ZONE_EAST_WIDTH ; SAFARI_ZONE_CENTER + warp_to 0, 23, SAFARI_ZONE_EAST_WIDTH ; SAFARI_ZONE_CENTER + warp_to 25, 9, SAFARI_ZONE_EAST_WIDTH ; SAFARI_ZONE_EAST_REST_HOUSE diff --git a/data/maps/objects/SafariZoneEastRestHouse.asm b/data/maps/objects/SafariZoneEastRestHouse.asm new file mode 100755 index 00000000..e7c68343 --- /dev/null +++ b/data/maps/objects/SafariZoneEastRestHouse.asm @@ -0,0 +1,17 @@ +SafariZoneEastRestHouse_Object: + db $a ; border block + + db 2 ; warps + warp 2, 7, 4, SAFARI_ZONE_EAST + warp 3, 7, 4, SAFARI_ZONE_EAST + + db 0 ; signs + + db 3 ; objects + object SPRITE_OAK_AIDE, 1, 3, WALK, 1, 1 ; person + object SPRITE_ROCKER, 4, 2, STAY, NONE, 2 ; person + object SPRITE_LAPRAS_GIVER, 5, 2, STAY, NONE, 3 ; person + + ; warp-to + warp_to 2, 7, SAFARI_ZONE_EAST_REST_HOUSE_WIDTH ; SAFARI_ZONE_EAST + warp_to 3, 7, SAFARI_ZONE_EAST_REST_HOUSE_WIDTH ; SAFARI_ZONE_EAST diff --git a/data/maps/objects/SafariZoneGate.asm b/data/maps/objects/SafariZoneGate.asm new file mode 100755 index 00000000..6749b45b --- /dev/null +++ b/data/maps/objects/SafariZoneGate.asm @@ -0,0 +1,20 @@ +SafariZoneGate_Object: + db $a ; border block + + db 4 ; warps + warp 3, 5, 4, -1 + warp 4, 5, 4, -1 + warp 3, 0, 0, SAFARI_ZONE_CENTER + warp 4, 0, 1, SAFARI_ZONE_CENTER + + db 0 ; signs + + db 2 ; objects + object SPRITE_WHITE_PLAYER, 6, 2, STAY, LEFT, 1 ; person + object SPRITE_WHITE_PLAYER, 1, 4, STAY, RIGHT, 2 ; person + + ; warp-to + warp_to 3, 5, SAFARI_ZONE_GATE_WIDTH + warp_to 4, 5, SAFARI_ZONE_GATE_WIDTH + warp_to 3, 0, SAFARI_ZONE_GATE_WIDTH ; SAFARI_ZONE_CENTER + warp_to 4, 0, SAFARI_ZONE_GATE_WIDTH ; SAFARI_ZONE_CENTER diff --git a/data/maps/objects/SafariZoneNorth.asm b/data/maps/objects/SafariZoneNorth.asm new file mode 100755 index 00000000..9eda7b4b --- /dev/null +++ b/data/maps/objects/SafariZoneNorth.asm @@ -0,0 +1,35 @@ +SafariZoneNorth_Object: + db $0 ; border block + + db 9 ; warps + warp 2, 35, 0, SAFARI_ZONE_WEST + warp 3, 35, 1, SAFARI_ZONE_WEST + warp 8, 35, 2, SAFARI_ZONE_WEST + warp 9, 35, 3, SAFARI_ZONE_WEST + warp 20, 35, 4, SAFARI_ZONE_CENTER + warp 21, 35, 5, SAFARI_ZONE_CENTER + warp 39, 30, 0, SAFARI_ZONE_EAST + warp 39, 31, 1, SAFARI_ZONE_EAST + warp 35, 3, 0, SAFARI_ZONE_NORTH_REST_HOUSE + + db 5 ; signs + sign 36, 4, 3 ; SafariZoneNorthText3 + sign 4, 25, 4 ; SafariZoneNorthText4 + sign 13, 31, 5 ; SafariZoneNorthText5 + sign 19, 33, 6 ; SafariZoneNorthText6 + sign 26, 28, 7 ; SafariZoneNorthText7 + + db 2 ; objects + object SPRITE_BALL, 25, 1, STAY, NONE, 1, PROTEIN + object SPRITE_BALL, 19, 7, STAY, NONE, 2, TM_40 + + ; warp-to + warp_to 2, 35, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_WEST + warp_to 3, 35, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_WEST + warp_to 8, 35, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_WEST + warp_to 9, 35, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_WEST + warp_to 20, 35, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_CENTER + warp_to 21, 35, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_CENTER + warp_to 39, 30, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_EAST + warp_to 39, 31, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_EAST + warp_to 35, 3, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_NORTH_REST_HOUSE diff --git a/data/maps/objects/SafariZoneNorthRestHouse.asm b/data/maps/objects/SafariZoneNorthRestHouse.asm new file mode 100755 index 00000000..34b3ab4f --- /dev/null +++ b/data/maps/objects/SafariZoneNorthRestHouse.asm @@ -0,0 +1,17 @@ +SafariZoneNorthRestHouse_Object: + db $a ; border block + + db 2 ; warps + warp 2, 7, 8, SAFARI_ZONE_NORTH + warp 3, 7, 8, SAFARI_ZONE_NORTH + + db 0 ; signs + + db 3 ; objects + object SPRITE_OAK_AIDE, 6, 3, WALK, 2, 1 ; person + object SPRITE_WHITE_PLAYER, 3, 4, STAY, NONE, 2 ; person + object SPRITE_GENTLEMAN, 1, 5, WALK, 1, 3 ; person + + ; warp-to + warp_to 2, 7, SAFARI_ZONE_NORTH_REST_HOUSE_WIDTH ; SAFARI_ZONE_NORTH + warp_to 3, 7, SAFARI_ZONE_NORTH_REST_HOUSE_WIDTH ; SAFARI_ZONE_NORTH diff --git a/data/maps/objects/SafariZoneSecretHouse.asm b/data/maps/objects/SafariZoneSecretHouse.asm new file mode 100755 index 00000000..2a5fc22d --- /dev/null +++ b/data/maps/objects/SafariZoneSecretHouse.asm @@ -0,0 +1,15 @@ +SafariZoneSecretHouse_Object: + db $17 ; border block + + db 2 ; warps + warp 2, 7, 6, SAFARI_ZONE_WEST + warp 3, 7, 6, SAFARI_ZONE_WEST + + db 0 ; signs + + db 1 ; objects + object SPRITE_FISHER, 3, 3, STAY, DOWN, 1 ; person + + ; warp-to + warp_to 2, 7, SAFARI_ZONE_SECRET_HOUSE_WIDTH ; SAFARI_ZONE_WEST + warp_to 3, 7, SAFARI_ZONE_SECRET_HOUSE_WIDTH ; SAFARI_ZONE_WEST diff --git a/data/maps/objects/SafariZoneWest.asm b/data/maps/objects/SafariZoneWest.asm new file mode 100755 index 00000000..7faced72 --- /dev/null +++ b/data/maps/objects/SafariZoneWest.asm @@ -0,0 +1,34 @@ +SafariZoneWest_Object: + db $0 ; border block + + db 8 ; warps + warp 20, 0, 0, SAFARI_ZONE_NORTH + warp 21, 0, 1, SAFARI_ZONE_NORTH + warp 26, 0, 2, SAFARI_ZONE_NORTH + warp 27, 0, 3, SAFARI_ZONE_NORTH + warp 29, 22, 2, SAFARI_ZONE_CENTER + warp 29, 23, 3, SAFARI_ZONE_CENTER + warp 3, 3, 0, SAFARI_ZONE_SECRET_HOUSE + warp 11, 11, 0, SAFARI_ZONE_WEST_REST_HOUSE + + db 4 ; signs + sign 12, 12, 5 ; SafariZoneWestText5 + sign 17, 3, 6 ; SafariZoneWestText6 + sign 26, 4, 7 ; SafariZoneWestText7 + sign 24, 22, 8 ; SafariZoneWestText8 + + db 4 ; objects + object SPRITE_BALL, 8, 20, STAY, NONE, 1, MAX_POTION + object SPRITE_BALL, 9, 7, STAY, NONE, 2, TM_32 + object SPRITE_BALL, 18, 18, STAY, NONE, 3, MAX_REVIVE + object SPRITE_BALL, 19, 7, STAY, NONE, 4, GOLD_TEETH + + ; warp-to + warp_to 20, 0, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_NORTH + warp_to 21, 0, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_NORTH + warp_to 26, 0, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_NORTH + warp_to 27, 0, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_NORTH + warp_to 29, 22, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_CENTER + warp_to 29, 23, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_CENTER + warp_to 3, 3, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_SECRET_HOUSE + warp_to 11, 11, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_WEST_REST_HOUSE diff --git a/data/maps/objects/SafariZoneWestRestHouse.asm b/data/maps/objects/SafariZoneWestRestHouse.asm new file mode 100755 index 00000000..9f1bc0ed --- /dev/null +++ b/data/maps/objects/SafariZoneWestRestHouse.asm @@ -0,0 +1,17 @@ +SafariZoneWestRestHouse_Object: + db $a ; border block + + db 2 ; warps + warp 2, 7, 7, SAFARI_ZONE_WEST + warp 3, 7, 7, SAFARI_ZONE_WEST + + db 0 ; signs + + db 3 ; objects + object SPRITE_OAK_AIDE, 4, 4, WALK, 0, 1 ; person + object SPRITE_BLACK_HAIR_BOY_1, 0, 2, STAY, RIGHT, 2 ; person + object SPRITE_ERIKA, 6, 2, STAY, DOWN, 3 ; person + + ; warp-to + warp_to 2, 7, SAFARI_ZONE_WEST_REST_HOUSE_WIDTH ; SAFARI_ZONE_WEST + warp_to 3, 7, SAFARI_ZONE_WEST_REST_HOUSE_WIDTH ; SAFARI_ZONE_WEST diff --git a/data/maps/objects/SaffronCity.asm b/data/maps/objects/SaffronCity.asm new file mode 100755 index 00000000..b8d3a9cf --- /dev/null +++ b/data/maps/objects/SaffronCity.asm @@ -0,0 +1,51 @@ +SaffronCity_Object: + db $f ; border block + + db 8 ; warps + warp 7, 5, 0, COPYCATS_HOUSE_1F + warp 26, 3, 0, FIGHTING_DOJO + warp 34, 3, 0, SAFFRON_GYM + warp 13, 11, 0, SAFFRON_PIDGEY_HOUSE + warp 25, 11, 0, SAFFRON_MART + warp 18, 21, 0, SILPH_CO_1F + warp 9, 29, 0, SAFFRON_POKECENTER + warp 29, 29, 0, MR_PSYCHICS_HOUSE + + db 10 ; signs + sign 17, 5, 16 ; SaffronCityText16 + sign 27, 5, 17 ; SaffronCityText17 + sign 35, 5, 18 ; SaffronCityText18 + sign 26, 11, 19 ; MartSignText + sign 39, 19, 20 ; SaffronCityText20 + sign 5, 21, 21 ; SaffronCityText21 + sign 15, 21, 22 ; SaffronCityText22 + sign 10, 29, 23 ; PokeCenterSignText + sign 27, 29, 24 ; SaffronCityText24 + sign 1, 19, 25 ; SaffronCityText25 + + db 15 ; objects + object SPRITE_ROCKET, 7, 6, STAY, NONE, 1 ; person + object SPRITE_ROCKET, 20, 8, WALK, 2, 2 ; person + object SPRITE_ROCKET, 34, 4, STAY, NONE, 3 ; person + object SPRITE_ROCKET, 13, 12, STAY, NONE, 4 ; person + object SPRITE_ROCKET, 11, 25, WALK, 2, 5 ; person + object SPRITE_ROCKET, 32, 13, WALK, 2, 6 ; person + object SPRITE_ROCKET, 18, 30, WALK, 2, 7 ; person + object SPRITE_OAK_AIDE, 8, 14, WALK, 0, 8 ; person + object SPRITE_LAPRAS_GIVER, 23, 23, STAY, NONE, 9 ; person + object SPRITE_ERIKA, 17, 30, WALK, 2, 10 ; person + object SPRITE_GENTLEMAN, 30, 12, STAY, DOWN, 11 ; person + object SPRITE_BIRD, 31, 12, STAY, DOWN, 12 ; person + object SPRITE_ROCKER, 18, 8, STAY, UP, 13 ; person + object SPRITE_ROCKET, 18, 22, STAY, DOWN, 14 ; person + object SPRITE_ROCKET, 19, 22, STAY, DOWN, 15 ; person + + ; warp-to + warp_to 7, 5, SAFFRON_CITY_WIDTH ; COPYCATS_HOUSE_1F + warp_to 26, 3, SAFFRON_CITY_WIDTH ; FIGHTING_DOJO + warp_to 34, 3, SAFFRON_CITY_WIDTH ; SAFFRON_GYM + warp_to 13, 11, SAFFRON_CITY_WIDTH ; SAFFRON_PIDGEY_HOUSE + warp_to 25, 11, SAFFRON_CITY_WIDTH ; SAFFRON_MART + warp_to 18, 21, SAFFRON_CITY_WIDTH ; SILPH_CO_1F + warp_to 9, 29, SAFFRON_CITY_WIDTH ; SAFFRON_POKECENTER + warp_to 29, 29, SAFFRON_CITY_WIDTH ; MR_PSYCHICS_HOUSE diff --git a/data/maps/objects/SaffronGym.asm b/data/maps/objects/SaffronGym.asm new file mode 100755 index 00000000..1869421a --- /dev/null +++ b/data/maps/objects/SaffronGym.asm @@ -0,0 +1,83 @@ +SaffronGym_Object: + db $2e ; border block + + db 32 ; warps + warp 8, 17, 2, -1 + warp 9, 17, 2, -1 + warp 1, 3, 22, SAFFRON_GYM + warp 5, 3, 15, SAFFRON_GYM + warp 1, 5, 18, SAFFRON_GYM + warp 5, 5, 8, SAFFRON_GYM + warp 1, 9, 27, SAFFRON_GYM + warp 5, 9, 16, SAFFRON_GYM + warp 1, 11, 5, SAFFRON_GYM + warp 5, 11, 13, SAFFRON_GYM + warp 1, 15, 23, SAFFRON_GYM + warp 5, 15, 30, SAFFRON_GYM + warp 1, 17, 17, SAFFRON_GYM + warp 5, 17, 9, SAFFRON_GYM + warp 9, 3, 26, SAFFRON_GYM + warp 11, 3, 3, SAFFRON_GYM + warp 9, 5, 7, SAFFRON_GYM + warp 11, 5, 12, SAFFRON_GYM + warp 11, 11, 4, SAFFRON_GYM + warp 11, 15, 31, SAFFRON_GYM + warp 15, 3, 24, SAFFRON_GYM + warp 19, 3, 28, SAFFRON_GYM + warp 15, 5, 2, SAFFRON_GYM + warp 19, 5, 10, SAFFRON_GYM + warp 15, 9, 20, SAFFRON_GYM + warp 19, 9, 29, SAFFRON_GYM + warp 15, 11, 14, SAFFRON_GYM + warp 19, 11, 6, SAFFRON_GYM + warp 15, 15, 21, SAFFRON_GYM + warp 19, 15, 25, SAFFRON_GYM + warp 15, 17, 11, SAFFRON_GYM + warp 19, 17, 19, SAFFRON_GYM + + db 0 ; signs + + db 9 ; objects + object SPRITE_GIRL, 9, 8, STAY, DOWN, 1, OPP_SABRINA, 1 + object SPRITE_MEDIUM, 10, 1, STAY, DOWN, 2, OPP_CHANNELER, 22 + object SPRITE_BUG_CATCHER, 17, 1, STAY, DOWN, 3, OPP_PSYCHIC_TR, 1 + object SPRITE_MEDIUM, 3, 7, STAY, DOWN, 4, OPP_CHANNELER, 23 + object SPRITE_BUG_CATCHER, 17, 7, STAY, DOWN, 5, OPP_PSYCHIC_TR, 2 + object SPRITE_MEDIUM, 3, 13, STAY, DOWN, 6, OPP_CHANNELER, 24 + object SPRITE_BUG_CATCHER, 17, 13, STAY, DOWN, 7, OPP_PSYCHIC_TR, 3 + object SPRITE_BUG_CATCHER, 3, 1, STAY, DOWN, 8, OPP_PSYCHIC_TR, 4 + object SPRITE_GYM_HELPER, 10, 15, STAY, DOWN, 9 ; person + + ; warp-to + warp_to 8, 17, SAFFRON_GYM_WIDTH + warp_to 9, 17, SAFFRON_GYM_WIDTH + warp_to 1, 3, SAFFRON_GYM_WIDTH ; SAFFRON_GYM + warp_to 5, 3, SAFFRON_GYM_WIDTH ; SAFFRON_GYM + warp_to 1, 5, SAFFRON_GYM_WIDTH ; SAFFRON_GYM + warp_to 5, 5, SAFFRON_GYM_WIDTH ; SAFFRON_GYM + warp_to 1, 9, SAFFRON_GYM_WIDTH ; SAFFRON_GYM + warp_to 5, 9, SAFFRON_GYM_WIDTH ; SAFFRON_GYM + warp_to 1, 11, SAFFRON_GYM_WIDTH ; SAFFRON_GYM + warp_to 5, 11, SAFFRON_GYM_WIDTH ; SAFFRON_GYM + warp_to 1, 15, SAFFRON_GYM_WIDTH ; SAFFRON_GYM + warp_to 5, 15, SAFFRON_GYM_WIDTH ; SAFFRON_GYM + warp_to 1, 17, SAFFRON_GYM_WIDTH ; SAFFRON_GYM + warp_to 5, 17, SAFFRON_GYM_WIDTH ; SAFFRON_GYM + warp_to 9, 3, SAFFRON_GYM_WIDTH ; SAFFRON_GYM + warp_to 11, 3, SAFFRON_GYM_WIDTH ; SAFFRON_GYM + warp_to 9, 5, SAFFRON_GYM_WIDTH ; SAFFRON_GYM + warp_to 11, 5, SAFFRON_GYM_WIDTH ; SAFFRON_GYM + warp_to 11, 11, SAFFRON_GYM_WIDTH ; SAFFRON_GYM + warp_to 11, 15, SAFFRON_GYM_WIDTH ; SAFFRON_GYM + warp_to 15, 3, SAFFRON_GYM_WIDTH ; SAFFRON_GYM + warp_to 19, 3, SAFFRON_GYM_WIDTH ; SAFFRON_GYM + warp_to 15, 5, SAFFRON_GYM_WIDTH ; SAFFRON_GYM + warp_to 19, 5, SAFFRON_GYM_WIDTH ; SAFFRON_GYM + warp_to 15, 9, SAFFRON_GYM_WIDTH ; SAFFRON_GYM + warp_to 19, 9, SAFFRON_GYM_WIDTH ; SAFFRON_GYM + warp_to 15, 11, SAFFRON_GYM_WIDTH ; SAFFRON_GYM + warp_to 19, 11, SAFFRON_GYM_WIDTH ; SAFFRON_GYM + warp_to 15, 15, SAFFRON_GYM_WIDTH ; SAFFRON_GYM + warp_to 19, 15, SAFFRON_GYM_WIDTH ; SAFFRON_GYM + warp_to 15, 17, SAFFRON_GYM_WIDTH ; SAFFRON_GYM + warp_to 19, 17, SAFFRON_GYM_WIDTH ; SAFFRON_GYM diff --git a/data/maps/objects/SaffronMart.asm b/data/maps/objects/SaffronMart.asm new file mode 100755 index 00000000..c376f2de --- /dev/null +++ b/data/maps/objects/SaffronMart.asm @@ -0,0 +1,17 @@ +SaffronMart_Object: + db $0 ; border block + + db 2 ; warps + warp 3, 7, 4, -1 + warp 4, 7, 4, -1 + + db 0 ; signs + + db 3 ; objects + object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person + object SPRITE_BLACK_HAIR_BOY_2, 4, 2, STAY, NONE, 2 ; person + object SPRITE_LASS, 6, 5, WALK, 0, 3 ; person + + ; warp-to + warp_to 3, 7, SAFFRON_MART_WIDTH + warp_to 4, 7, SAFFRON_MART_WIDTH diff --git a/data/maps/objects/SaffronPidgeyHouse.asm b/data/maps/objects/SaffronPidgeyHouse.asm new file mode 100755 index 00000000..65a851bf --- /dev/null +++ b/data/maps/objects/SaffronPidgeyHouse.asm @@ -0,0 +1,18 @@ +SaffronPidgeyHouse_Object: + db $a ; border block + + db 2 ; warps + warp 2, 7, 3, -1 + warp 3, 7, 3, -1 + + db 0 ; signs + + db 4 ; objects + object SPRITE_BRUNETTE_GIRL, 2, 3, STAY, RIGHT, 1 ; person + object SPRITE_BIRD, 0, 4, WALK, 1, 2 ; person + object SPRITE_BUG_CATCHER, 4, 1, STAY, DOWN, 3 ; person + object SPRITE_PAPER_SHEET, 3, 3, STAY, NONE, 4 ; person + + ; warp-to + warp_to 2, 7, SAFFRON_PIDGEY_HOUSE_WIDTH + warp_to 3, 7, SAFFRON_PIDGEY_HOUSE_WIDTH diff --git a/data/maps/objects/SaffronPokecenter.asm b/data/maps/objects/SaffronPokecenter.asm new file mode 100755 index 00000000..e54fd76b --- /dev/null +++ b/data/maps/objects/SaffronPokecenter.asm @@ -0,0 +1,18 @@ +SaffronPokecenter_Object: + db $0 ; border block + + db 2 ; warps + warp 3, 7, 6, -1 + warp 4, 7, 6, -1 + + db 0 ; signs + + db 4 ; objects + object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person + object SPRITE_FOULARD_WOMAN, 5, 5, STAY, NONE, 2 ; person + object SPRITE_GENTLEMAN, 8, 3, STAY, DOWN, 3 ; person + object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person + + ; warp-to + warp_to 3, 7, SAFFRON_POKECENTER_WIDTH + warp_to 4, 7, SAFFRON_POKECENTER_WIDTH diff --git a/data/maps/objects/SeafoamIslands1F.asm b/data/maps/objects/SeafoamIslands1F.asm new file mode 100755 index 00000000..8707ee0a --- /dev/null +++ b/data/maps/objects/SeafoamIslands1F.asm @@ -0,0 +1,30 @@ +SeafoamIslands1F_Object: + db $7d ; border block + + db 7 ; warps + warp 4, 17, 0, -1 + warp 5, 17, 0, -1 + warp 26, 17, 1, -1 + warp 27, 17, 1, -1 + warp 7, 5, 1, SEAFOAM_ISLANDS_B1F + warp 25, 3, 6, SEAFOAM_ISLANDS_B1F + warp 23, 15, 4, SEAFOAM_ISLANDS_B1F + + db 0 ; signs + + db 2 ; objects + object SPRITE_BOULDER, 18, 10, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person + object SPRITE_BOULDER, 26, 7, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person + + ; warp-to + warp_to 4, 17, SEAFOAM_ISLANDS_1F_WIDTH + warp_to 5, 17, SEAFOAM_ISLANDS_1F_WIDTH + warp_to 26, 17, SEAFOAM_ISLANDS_1F_WIDTH + warp_to 27, 17, SEAFOAM_ISLANDS_1F_WIDTH + warp_to 7, 5, SEAFOAM_ISLANDS_1F_WIDTH ; SEAFOAM_ISLANDS_B1F + warp_to 25, 3, SEAFOAM_ISLANDS_1F_WIDTH ; SEAFOAM_ISLANDS_B1F + warp_to 23, 15, SEAFOAM_ISLANDS_1F_WIDTH ; SEAFOAM_ISLANDS_B1F + + ; holes + warp_to 17, 6, SEAFOAM_ISLANDS_1F_WIDTH + warp_to 24, 6, SEAFOAM_ISLANDS_1F_WIDTH diff --git a/data/maps/objects/SeafoamIslandsB1F.asm b/data/maps/objects/SeafoamIslandsB1F.asm new file mode 100755 index 00000000..426ca0c3 --- /dev/null +++ b/data/maps/objects/SeafoamIslandsB1F.asm @@ -0,0 +1,26 @@ +SeafoamIslandsB1F_Object: + db $7d ; border block + + db 7 ; warps + warp 4, 2, 0, SEAFOAM_ISLANDS_B2F + warp 7, 5, 4, SEAFOAM_ISLANDS_1F + warp 13, 7, 2, SEAFOAM_ISLANDS_B2F + warp 19, 15, 3, SEAFOAM_ISLANDS_B2F + warp 23, 15, 6, SEAFOAM_ISLANDS_1F + warp 25, 11, 5, SEAFOAM_ISLANDS_B2F + warp 25, 3, 5, SEAFOAM_ISLANDS_1F + + db 0 ; signs + + db 2 ; objects + object SPRITE_BOULDER, 17, 6, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person + object SPRITE_BOULDER, 22, 6, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person + + ; warp-to + warp_to 4, 2, SEAFOAM_ISLANDS_B1F_WIDTH ; SEAFOAM_ISLANDS_B2F + warp_to 7, 5, SEAFOAM_ISLANDS_B1F_WIDTH ; SEAFOAM_ISLANDS_1F + warp_to 13, 7, SEAFOAM_ISLANDS_B1F_WIDTH ; SEAFOAM_ISLANDS_B2F + warp_to 19, 15, SEAFOAM_ISLANDS_B1F_WIDTH ; SEAFOAM_ISLANDS_B2F + warp_to 23, 15, SEAFOAM_ISLANDS_B1F_WIDTH ; SEAFOAM_ISLANDS_1F + warp_to 25, 11, SEAFOAM_ISLANDS_B1F_WIDTH ; SEAFOAM_ISLANDS_B2F + warp_to 25, 3, SEAFOAM_ISLANDS_B1F_WIDTH ; SEAFOAM_ISLANDS_1F diff --git a/data/maps/objects/SeafoamIslandsB2F.asm b/data/maps/objects/SeafoamIslandsB2F.asm new file mode 100755 index 00000000..9c1a7898 --- /dev/null +++ b/data/maps/objects/SeafoamIslandsB2F.asm @@ -0,0 +1,26 @@ +SeafoamIslandsB2F_Object: + db $7d ; border block + + db 7 ; warps + warp 5, 3, 0, SEAFOAM_ISLANDS_B1F + warp 5, 13, 0, SEAFOAM_ISLANDS_B3F + warp 13, 7, 2, SEAFOAM_ISLANDS_B1F + warp 19, 15, 3, SEAFOAM_ISLANDS_B1F + warp 25, 3, 3, SEAFOAM_ISLANDS_B3F + warp 25, 11, 5, SEAFOAM_ISLANDS_B1F + warp 25, 14, 4, SEAFOAM_ISLANDS_B3F + + db 0 ; signs + + db 2 ; objects + object SPRITE_BOULDER, 18, 6, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person + object SPRITE_BOULDER, 23, 6, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person + + ; warp-to + warp_to 5, 3, SEAFOAM_ISLANDS_B2F_WIDTH ; SEAFOAM_ISLANDS_B1F + warp_to 5, 13, SEAFOAM_ISLANDS_B2F_WIDTH ; SEAFOAM_ISLANDS_B3F + warp_to 13, 7, SEAFOAM_ISLANDS_B2F_WIDTH ; SEAFOAM_ISLANDS_B1F + warp_to 19, 15, SEAFOAM_ISLANDS_B2F_WIDTH ; SEAFOAM_ISLANDS_B1F + warp_to 25, 3, SEAFOAM_ISLANDS_B2F_WIDTH ; SEAFOAM_ISLANDS_B3F + warp_to 25, 11, SEAFOAM_ISLANDS_B2F_WIDTH ; SEAFOAM_ISLANDS_B1F + warp_to 25, 14, SEAFOAM_ISLANDS_B2F_WIDTH ; SEAFOAM_ISLANDS_B3F diff --git a/data/maps/objects/SeafoamIslandsB3F.asm b/data/maps/objects/SeafoamIslandsB3F.asm new file mode 100755 index 00000000..d194e1cd --- /dev/null +++ b/data/maps/objects/SeafoamIslandsB3F.asm @@ -0,0 +1,30 @@ +SeafoamIslandsB3F_Object: + db $7d ; border block + + db 7 ; warps + warp 5, 12, 1, SEAFOAM_ISLANDS_B2F + warp 8, 6, 2, SEAFOAM_ISLANDS_B4F + warp 25, 4, 3, SEAFOAM_ISLANDS_B4F + warp 25, 3, 4, SEAFOAM_ISLANDS_B2F + warp 25, 14, 6, SEAFOAM_ISLANDS_B2F + warp 20, 17, 0, SEAFOAM_ISLANDS_B4F + warp 21, 17, 1, SEAFOAM_ISLANDS_B4F + + db 0 ; signs + + db 6 ; objects + object SPRITE_BOULDER, 5, 14, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person + object SPRITE_BOULDER, 3, 15, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person + object SPRITE_BOULDER, 8, 14, STAY, BOULDER_MOVEMENT_BYTE_2, 3 ; person + object SPRITE_BOULDER, 9, 14, STAY, BOULDER_MOVEMENT_BYTE_2, 4 ; person + object SPRITE_BOULDER, 18, 6, STAY, NONE, 5 ; person + object SPRITE_BOULDER, 19, 6, STAY, NONE, 6 ; person + + ; warp-to + warp_to 5, 12, SEAFOAM_ISLANDS_B3F_WIDTH ; SEAFOAM_ISLANDS_B2F + warp_to 8, 6, SEAFOAM_ISLANDS_B3F_WIDTH ; SEAFOAM_ISLANDS_B4F + warp_to 25, 4, SEAFOAM_ISLANDS_B3F_WIDTH ; SEAFOAM_ISLANDS_B4F + warp_to 25, 3, SEAFOAM_ISLANDS_B3F_WIDTH ; SEAFOAM_ISLANDS_B2F + warp_to 25, 14, SEAFOAM_ISLANDS_B3F_WIDTH ; SEAFOAM_ISLANDS_B2F + warp_to 20, 17, SEAFOAM_ISLANDS_B3F_WIDTH ; SEAFOAM_ISLANDS_B4F + warp_to 21, 17, SEAFOAM_ISLANDS_B3F_WIDTH ; SEAFOAM_ISLANDS_B4F diff --git a/data/maps/objects/SeafoamIslandsB4F.asm b/data/maps/objects/SeafoamIslandsB4F.asm new file mode 100755 index 00000000..62d88b0c --- /dev/null +++ b/data/maps/objects/SeafoamIslandsB4F.asm @@ -0,0 +1,23 @@ +SeafoamIslandsB4F_Object: + db $7d ; border block + + db 4 ; warps + warp 20, 17, 5, SEAFOAM_ISLANDS_B3F + warp 21, 17, 6, SEAFOAM_ISLANDS_B3F + warp 11, 7, 1, SEAFOAM_ISLANDS_B3F + warp 25, 4, 2, SEAFOAM_ISLANDS_B3F + + db 2 ; signs + sign 9, 15, 4 ; SeafoamIslands5Text4 + sign 23, 1, 5 ; SeafoamIslands5Text5 + + db 3 ; objects + object SPRITE_BOULDER, 4, 15, STAY, NONE, 1 ; person + object SPRITE_BOULDER, 5, 15, STAY, NONE, 2 ; person + object SPRITE_BIRD, 6, 1, STAY, DOWN, 3, ARTICUNO, 50 + + ; warp-to + warp_to 20, 17, SEAFOAM_ISLANDS_B4F_WIDTH ; SEAFOAM_ISLANDS_B3F + warp_to 21, 17, SEAFOAM_ISLANDS_B4F_WIDTH ; SEAFOAM_ISLANDS_B3F + warp_to 11, 7, SEAFOAM_ISLANDS_B4F_WIDTH ; SEAFOAM_ISLANDS_B3F + warp_to 25, 4, SEAFOAM_ISLANDS_B4F_WIDTH ; SEAFOAM_ISLANDS_B3F diff --git a/data/maps/objects/SilphCo10F.asm b/data/maps/objects/SilphCo10F.asm new file mode 100755 index 00000000..1c8948d3 --- /dev/null +++ b/data/maps/objects/SilphCo10F.asm @@ -0,0 +1,28 @@ +SilphCo10F_Object: + db $2e ; border block + + db 6 ; warps + warp 8, 0, 0, SILPH_CO_9F + warp 10, 0, 0, SILPH_CO_11F + warp 12, 0, 0, SILPH_CO_ELEVATOR + warp 9, 11, 3, SILPH_CO_4F + warp 13, 15, 5, SILPH_CO_4F + warp 13, 7, 6, SILPH_CO_4F + + db 0 ; signs + + db 6 ; objects + object SPRITE_ROCKET, 1, 9, STAY, RIGHT, 1, OPP_ROCKET, 39 + object SPRITE_OAK_AIDE, 10, 2, STAY, LEFT, 2, OPP_SCIENTIST, 11 + object SPRITE_ERIKA, 9, 15, WALK, 0, 3 ; person + object SPRITE_BALL, 2, 12, STAY, NONE, 4, TM_26 + object SPRITE_BALL, 4, 14, STAY, NONE, 5, RARE_CANDY + object SPRITE_BALL, 5, 11, STAY, NONE, 6, CARBOS + + ; warp-to + warp_to 8, 0, SILPH_CO_10F_WIDTH ; SILPH_CO_9F + warp_to 10, 0, SILPH_CO_10F_WIDTH ; SILPH_CO_11F + warp_to 12, 0, SILPH_CO_10F_WIDTH ; SILPH_CO_ELEVATOR + warp_to 9, 11, SILPH_CO_10F_WIDTH ; SILPH_CO_4F + warp_to 13, 15, SILPH_CO_10F_WIDTH ; SILPH_CO_4F + warp_to 13, 7, SILPH_CO_10F_WIDTH ; SILPH_CO_4F diff --git a/data/maps/objects/SilphCo11F.asm b/data/maps/objects/SilphCo11F.asm new file mode 100755 index 00000000..7a1dff73 --- /dev/null +++ b/data/maps/objects/SilphCo11F.asm @@ -0,0 +1,23 @@ +SilphCo11F_Object: + db $d ; border block + + db 4 ; warps + warp 9, 0, 1, SILPH_CO_10F + warp 13, 0, 0, SILPH_CO_ELEVATOR + warp 5, 5, 9, -1 + warp 3, 2, 3, SILPH_CO_7F + + db 0 ; signs + + db 5 ; objects + object SPRITE_MR_MASTERBALL, 7, 5, STAY, DOWN, 1 ; person + object SPRITE_FOULARD_WOMAN, 10, 5, STAY, DOWN, 2 ; person + object SPRITE_GIOVANNI, 6, 9, STAY, DOWN, 3, OPP_GIOVANNI, 2 + object SPRITE_ROCKET, 3, 16, STAY, UP, 4, OPP_ROCKET, 41 + object SPRITE_ROCKET, 15, 9, STAY, UP, 5, OPP_ROCKET, 40 + + ; warp-to + warp_to 9, 0, SILPH_CO_11F_WIDTH ; SILPH_CO_10F + warp_to 13, 0, SILPH_CO_11F_WIDTH ; SILPH_CO_ELEVATOR + warp_to 5, 5, SILPH_CO_11F_WIDTH + warp_to 3, 2, SILPH_CO_11F_WIDTH ; SILPH_CO_7F diff --git a/data/maps/objects/SilphCo1F.asm b/data/maps/objects/SilphCo1F.asm new file mode 100755 index 00000000..fc040091 --- /dev/null +++ b/data/maps/objects/SilphCo1F.asm @@ -0,0 +1,21 @@ +SilphCo1F_Object: + db $2e ; border block + + db 5 ; warps + warp 10, 17, 5, -1 + warp 11, 17, 5, -1 + warp 26, 0, 0, SILPH_CO_2F + warp 20, 0, 0, SILPH_CO_ELEVATOR + warp 16, 10, 6, SILPH_CO_3F + + db 0 ; signs + + db 1 ; objects + object SPRITE_CABLE_CLUB_WOMAN, 4, 2, STAY, DOWN, 1 ; person + + ; warp-to + warp_to 10, 17, SILPH_CO_1F_WIDTH + warp_to 11, 17, SILPH_CO_1F_WIDTH + warp_to 26, 0, SILPH_CO_1F_WIDTH ; SILPH_CO_2F + warp_to 20, 0, SILPH_CO_1F_WIDTH ; SILPH_CO_ELEVATOR + warp_to 16, 10, SILPH_CO_1F_WIDTH ; SILPH_CO_3F diff --git a/data/maps/objects/SilphCo2F.asm b/data/maps/objects/SilphCo2F.asm new file mode 100755 index 00000000..bc30d78d --- /dev/null +++ b/data/maps/objects/SilphCo2F.asm @@ -0,0 +1,29 @@ +SilphCo2F_Object: + db $2e ; border block + + db 7 ; warps + warp 24, 0, 2, SILPH_CO_1F + warp 26, 0, 0, SILPH_CO_3F + warp 20, 0, 0, SILPH_CO_ELEVATOR + warp 3, 3, 6, SILPH_CO_3F + warp 13, 3, 4, SILPH_CO_8F + warp 27, 15, 5, SILPH_CO_8F + warp 9, 15, 4, SILPH_CO_6F + + db 0 ; signs + + db 5 ; objects + object SPRITE_ERIKA, 10, 1, STAY, UP, 1 ; person + object SPRITE_OAK_AIDE, 5, 12, STAY, DOWN, 2, OPP_SCIENTIST, 2 + object SPRITE_OAK_AIDE, 24, 13, STAY, LEFT, 3, OPP_SCIENTIST, 3 + object SPRITE_ROCKET, 16, 11, STAY, UP, 4, OPP_ROCKET, 23 + object SPRITE_ROCKET, 24, 7, STAY, UP, 5, OPP_ROCKET, 24 + + ; warp-to + warp_to 24, 0, SILPH_CO_2F_WIDTH ; SILPH_CO_1F + warp_to 26, 0, SILPH_CO_2F_WIDTH ; SILPH_CO_3F + warp_to 20, 0, SILPH_CO_2F_WIDTH ; SILPH_CO_ELEVATOR + warp_to 3, 3, SILPH_CO_2F_WIDTH ; SILPH_CO_3F + warp_to 13, 3, SILPH_CO_2F_WIDTH ; SILPH_CO_8F + warp_to 27, 15, SILPH_CO_2F_WIDTH ; SILPH_CO_8F + warp_to 9, 15, SILPH_CO_2F_WIDTH ; SILPH_CO_6F diff --git a/data/maps/objects/SilphCo3F.asm b/data/maps/objects/SilphCo3F.asm new file mode 100755 index 00000000..f45cdf81 --- /dev/null +++ b/data/maps/objects/SilphCo3F.asm @@ -0,0 +1,34 @@ +SilphCo3F_Object: + db $2e ; border block + + db 10 ; warps + warp 26, 0, 1, SILPH_CO_2F + warp 24, 0, 0, SILPH_CO_4F + warp 20, 0, 0, SILPH_CO_ELEVATOR + warp 23, 11, 9, SILPH_CO_3F + warp 3, 3, 5, SILPH_CO_5F + warp 3, 15, 6, SILPH_CO_5F + warp 27, 3, 3, SILPH_CO_2F + warp 3, 11, 3, SILPH_CO_9F + warp 11, 11, 4, SILPH_CO_7F + warp 27, 15, 3, SILPH_CO_3F + + db 0 ; signs + + db 4 ; objects + object SPRITE_LAPRAS_GIVER, 24, 8, STAY, NONE, 1 ; person + object SPRITE_ROCKET, 20, 7, STAY, LEFT, 2, OPP_ROCKET, 25 + object SPRITE_OAK_AIDE, 7, 9, STAY, DOWN, 3, OPP_SCIENTIST, 4 + object SPRITE_BALL, 8, 5, STAY, NONE, 4, HYPER_POTION + + ; warp-to + warp_to 26, 0, SILPH_CO_3F_WIDTH ; SILPH_CO_2F + warp_to 24, 0, SILPH_CO_3F_WIDTH ; SILPH_CO_4F + warp_to 20, 0, SILPH_CO_3F_WIDTH ; SILPH_CO_ELEVATOR + warp_to 23, 11, SILPH_CO_3F_WIDTH ; SILPH_CO_3F + warp_to 3, 3, SILPH_CO_3F_WIDTH ; SILPH_CO_5F + warp_to 3, 15, SILPH_CO_3F_WIDTH ; SILPH_CO_5F + warp_to 27, 3, SILPH_CO_3F_WIDTH ; SILPH_CO_2F + warp_to 3, 11, SILPH_CO_3F_WIDTH ; SILPH_CO_9F + warp_to 11, 11, SILPH_CO_3F_WIDTH ; SILPH_CO_7F + warp_to 27, 15, SILPH_CO_3F_WIDTH ; SILPH_CO_3F diff --git a/data/maps/objects/SilphCo4F.asm b/data/maps/objects/SilphCo4F.asm new file mode 100755 index 00000000..3d865bbc --- /dev/null +++ b/data/maps/objects/SilphCo4F.asm @@ -0,0 +1,31 @@ +SilphCo4F_Object: + db $2e ; border block + + db 7 ; warps + warp 24, 0, 1, SILPH_CO_3F + warp 26, 0, 1, SILPH_CO_5F + warp 20, 0, 0, SILPH_CO_ELEVATOR + warp 11, 7, 3, SILPH_CO_10F + warp 17, 3, 3, SILPH_CO_6F + warp 3, 15, 4, SILPH_CO_10F + warp 17, 11, 5, SILPH_CO_10F + + db 0 ; signs + + db 7 ; objects + object SPRITE_LAPRAS_GIVER, 6, 2, STAY, NONE, 1 ; person + object SPRITE_ROCKET, 9, 14, STAY, RIGHT, 2, OPP_ROCKET, 26 + object SPRITE_OAK_AIDE, 14, 6, STAY, LEFT, 3, OPP_SCIENTIST, 5 + object SPRITE_ROCKET, 26, 10, STAY, UP, 4, OPP_ROCKET, 27 + object SPRITE_BALL, 3, 9, STAY, NONE, 5, FULL_HEAL + object SPRITE_BALL, 4, 7, STAY, NONE, 6, MAX_REVIVE + object SPRITE_BALL, 5, 8, STAY, NONE, 7, ESCAPE_ROPE + + ; warp-to + warp_to 24, 0, SILPH_CO_4F_WIDTH ; SILPH_CO_3F + warp_to 26, 0, SILPH_CO_4F_WIDTH ; SILPH_CO_5F + warp_to 20, 0, SILPH_CO_4F_WIDTH ; SILPH_CO_ELEVATOR + warp_to 11, 7, SILPH_CO_4F_WIDTH ; SILPH_CO_10F + warp_to 17, 3, SILPH_CO_4F_WIDTH ; SILPH_CO_6F + warp_to 3, 15, SILPH_CO_4F_WIDTH ; SILPH_CO_10F + warp_to 17, 11, SILPH_CO_4F_WIDTH ; SILPH_CO_10F diff --git a/data/maps/objects/SilphCo5F.asm b/data/maps/objects/SilphCo5F.asm new file mode 100755 index 00000000..c10f17c8 --- /dev/null +++ b/data/maps/objects/SilphCo5F.asm @@ -0,0 +1,35 @@ +SilphCo5F_Object: + db $2e ; border block + + db 7 ; warps + warp 24, 0, 1, SILPH_CO_6F + warp 26, 0, 1, SILPH_CO_4F + warp 20, 0, 0, SILPH_CO_ELEVATOR + warp 27, 3, 5, SILPH_CO_7F + warp 9, 15, 4, SILPH_CO_9F + warp 11, 5, 4, SILPH_CO_3F + warp 3, 15, 5, SILPH_CO_3F + + db 0 ; signs + + db 11 ; objects + object SPRITE_LAPRAS_GIVER, 13, 9, STAY, NONE, 1 ; person + object SPRITE_ROCKET, 8, 16, STAY, RIGHT, 2, OPP_ROCKET, 28 + object SPRITE_OAK_AIDE, 8, 3, STAY, RIGHT, 3, OPP_SCIENTIST, 6 + object SPRITE_ROCKER, 18, 10, STAY, UP, 4, OPP_JUGGLER, 1 + object SPRITE_ROCKET, 28, 4, STAY, UP, 5, OPP_ROCKET, 29 + object SPRITE_BALL, 2, 13, STAY, NONE, 6, TM_09 + object SPRITE_BALL, 4, 6, STAY, NONE, 7, PROTEIN + object SPRITE_BALL, 21, 16, STAY, NONE, 8, CARD_KEY + object SPRITE_CLIPBOARD, 22, 12, STAY, NONE, 9 ; person + object SPRITE_CLIPBOARD, 25, 10, STAY, NONE, 10 ; person + object SPRITE_CLIPBOARD, 24, 6, STAY, NONE, 11 ; person + + ; warp-to + warp_to 24, 0, SILPH_CO_5F_WIDTH ; SILPH_CO_6F + warp_to 26, 0, SILPH_CO_5F_WIDTH ; SILPH_CO_4F + warp_to 20, 0, SILPH_CO_5F_WIDTH ; SILPH_CO_ELEVATOR + warp_to 27, 3, SILPH_CO_5F_WIDTH ; SILPH_CO_7F + warp_to 9, 15, SILPH_CO_5F_WIDTH ; SILPH_CO_9F + warp_to 11, 5, SILPH_CO_5F_WIDTH ; SILPH_CO_3F + warp_to 3, 15, SILPH_CO_5F_WIDTH ; SILPH_CO_3F diff --git a/data/maps/objects/SilphCo6F.asm b/data/maps/objects/SilphCo6F.asm new file mode 100755 index 00000000..ad2ac32f --- /dev/null +++ b/data/maps/objects/SilphCo6F.asm @@ -0,0 +1,30 @@ +SilphCo6F_Object: + db $2e ; border block + + db 5 ; warps + warp 16, 0, 1, SILPH_CO_7F + warp 14, 0, 0, SILPH_CO_5F + warp 18, 0, 0, SILPH_CO_ELEVATOR + warp 3, 3, 4, SILPH_CO_4F + warp 23, 3, 6, SILPH_CO_2F + + db 0 ; signs + + db 10 ; objects + object SPRITE_LAPRAS_GIVER, 10, 6, STAY, NONE, 1 ; person + object SPRITE_LAPRAS_GIVER, 20, 6, STAY, NONE, 2 ; person + object SPRITE_ERIKA, 21, 6, STAY, DOWN, 3 ; person + object SPRITE_ERIKA, 11, 10, STAY, RIGHT, 4 ; person + object SPRITE_LAPRAS_GIVER, 18, 13, STAY, UP, 5 ; person + object SPRITE_ROCKET, 17, 3, STAY, RIGHT, 6, OPP_ROCKET, 30 + object SPRITE_OAK_AIDE, 7, 8, STAY, DOWN, 7, OPP_SCIENTIST, 7 + object SPRITE_ROCKET, 14, 15, STAY, LEFT, 8, OPP_ROCKET, 31 + object SPRITE_BALL, 3, 12, STAY, NONE, 9, HP_UP + object SPRITE_BALL, 2, 15, STAY, NONE, 10, X_ACCURACY + + ; warp-to + warp_to 16, 0, SILPH_CO_6F_WIDTH ; SILPH_CO_7F + warp_to 14, 0, SILPH_CO_6F_WIDTH ; SILPH_CO_5F + warp_to 18, 0, SILPH_CO_6F_WIDTH ; SILPH_CO_ELEVATOR + warp_to 3, 3, SILPH_CO_6F_WIDTH ; SILPH_CO_4F + warp_to 23, 3, SILPH_CO_6F_WIDTH ; SILPH_CO_2F diff --git a/data/maps/objects/SilphCo7F.asm b/data/maps/objects/SilphCo7F.asm new file mode 100755 index 00000000..255f4b33 --- /dev/null +++ b/data/maps/objects/SilphCo7F.asm @@ -0,0 +1,33 @@ +SilphCo7F_Object: + db $2e ; border block + + db 6 ; warps + warp 16, 0, 1, SILPH_CO_8F + warp 22, 0, 0, SILPH_CO_6F + warp 18, 0, 0, SILPH_CO_ELEVATOR + warp 5, 7, 3, SILPH_CO_11F + warp 5, 3, 8, SILPH_CO_3F + warp 21, 15, 3, SILPH_CO_5F + + db 0 ; signs + + db 11 ; objects + object SPRITE_LAPRAS_GIVER, 1, 5, STAY, NONE, 1 ; person + object SPRITE_LAPRAS_GIVER, 13, 13, STAY, UP, 2 ; person + object SPRITE_LAPRAS_GIVER, 7, 10, STAY, NONE, 3 ; person + object SPRITE_ERIKA, 10, 8, STAY, NONE, 4 ; person + object SPRITE_ROCKET, 13, 1, STAY, DOWN, 5, OPP_ROCKET, 32 + object SPRITE_OAK_AIDE, 2, 13, STAY, DOWN, 6, OPP_SCIENTIST, 8 + object SPRITE_ROCKET, 20, 2, STAY, LEFT, 7, OPP_ROCKET, 33 + object SPRITE_ROCKET, 19, 14, STAY, RIGHT, 8, OPP_ROCKET, 34 + object SPRITE_BLUE, 3, 7, STAY, UP, 9 ; person + object SPRITE_BALL, 1, 9, STAY, NONE, 10, CALCIUM + object SPRITE_BALL, 24, 11, STAY, NONE, 11, TM_03 + + ; warp-to + warp_to 16, 0, SILPH_CO_7F_WIDTH ; SILPH_CO_8F + warp_to 22, 0, SILPH_CO_7F_WIDTH ; SILPH_CO_6F + warp_to 18, 0, SILPH_CO_7F_WIDTH ; SILPH_CO_ELEVATOR + warp_to 5, 7, SILPH_CO_7F_WIDTH ; SILPH_CO_11F + warp_to 5, 3, SILPH_CO_7F_WIDTH ; SILPH_CO_3F + warp_to 21, 15, SILPH_CO_7F_WIDTH ; SILPH_CO_5F diff --git a/data/maps/objects/SilphCo8F.asm b/data/maps/objects/SilphCo8F.asm new file mode 100755 index 00000000..d05c7844 --- /dev/null +++ b/data/maps/objects/SilphCo8F.asm @@ -0,0 +1,28 @@ +SilphCo8F_Object: + db $2e ; border block + + db 7 ; warps + warp 16, 0, 1, SILPH_CO_9F + warp 14, 0, 0, SILPH_CO_7F + warp 18, 0, 0, SILPH_CO_ELEVATOR + warp 3, 11, 6, SILPH_CO_8F + warp 3, 15, 4, SILPH_CO_2F + warp 11, 5, 5, SILPH_CO_2F + warp 11, 9, 3, SILPH_CO_8F + + db 0 ; signs + + db 4 ; objects + object SPRITE_LAPRAS_GIVER, 4, 2, STAY, NONE, 1 ; person + object SPRITE_ROCKET, 19, 2, STAY, LEFT, 2, OPP_ROCKET, 35 + object SPRITE_OAK_AIDE, 10, 2, STAY, DOWN, 3, OPP_SCIENTIST, 9 + object SPRITE_ROCKET, 12, 15, STAY, RIGHT, 4, OPP_ROCKET, 36 + + ; warp-to + warp_to 16, 0, SILPH_CO_8F_WIDTH ; SILPH_CO_9F + warp_to 14, 0, SILPH_CO_8F_WIDTH ; SILPH_CO_7F + warp_to 18, 0, SILPH_CO_8F_WIDTH ; SILPH_CO_ELEVATOR + warp_to 3, 11, SILPH_CO_8F_WIDTH ; SILPH_CO_8F + warp_to 3, 15, SILPH_CO_8F_WIDTH ; SILPH_CO_2F + warp_to 11, 5, SILPH_CO_8F_WIDTH ; SILPH_CO_2F + warp_to 11, 9, SILPH_CO_8F_WIDTH ; SILPH_CO_8F_WIDTH diff --git a/data/maps/objects/SilphCo9F.asm b/data/maps/objects/SilphCo9F.asm new file mode 100755 index 00000000..28ef5f10 --- /dev/null +++ b/data/maps/objects/SilphCo9F.asm @@ -0,0 +1,24 @@ +SilphCo9F_Object: + db $2e ; border block + + db 5 ; warps + warp 14, 0, 0, SILPH_CO_10F + warp 16, 0, 0, SILPH_CO_8F + warp 18, 0, 0, SILPH_CO_ELEVATOR + warp 9, 3, 7, SILPH_CO_3F + warp 17, 15, 4, SILPH_CO_5F + + db 0 ; signs + + db 4 ; objects + object SPRITE_NURSE, 3, 14, STAY, DOWN, 1 ; person + object SPRITE_ROCKET, 2, 4, STAY, UP, 2, OPP_ROCKET, 37 + object SPRITE_OAK_AIDE, 21, 13, STAY, DOWN, 3, OPP_SCIENTIST, 10 + object SPRITE_ROCKET, 13, 16, STAY, UP, 4, OPP_ROCKET, 38 + + ; warp-to + warp_to 14, 0, SILPH_CO_9F_WIDTH ; SILPH_CO_10F + warp_to 16, 0, SILPH_CO_9F_WIDTH ; SILPH_CO_8F + warp_to 18, 0, SILPH_CO_9F_WIDTH ; SILPH_CO_ELEVATOR + warp_to 9, 3, SILPH_CO_9F_WIDTH ; SILPH_CO_3F + warp_to 17, 15, SILPH_CO_9F_WIDTH ; SILPH_CO_5F diff --git a/data/maps/objects/SilphCoElevator.asm b/data/maps/objects/SilphCoElevator.asm new file mode 100755 index 00000000..9c4b5a79 --- /dev/null +++ b/data/maps/objects/SilphCoElevator.asm @@ -0,0 +1,15 @@ +SilphCoElevator_Object: + db $f ; border block + + db 2 ; warps + warp 1, 3, 0, 237 + warp 2, 3, 0, 237 + + db 1 ; signs + sign 3, 0, 1 ; SilphCoElevatorText1 + + db 0 ; objects + + ; warp-to + warp_to 1, 3, SILPH_CO_ELEVATOR_WIDTH + warp_to 2, 3, SILPH_CO_ELEVATOR_WIDTH diff --git a/data/maps/objects/TradeCenter.asm b/data/maps/objects/TradeCenter.asm new file mode 100755 index 00000000..e6df8087 --- /dev/null +++ b/data/maps/objects/TradeCenter.asm @@ -0,0 +1,9 @@ +TradeCenter_Object: + db $e ; border block + + db 0 ; warps + + db 0 ; signs + + db 1 ; objects + object SPRITE_RED, 2, 2, STAY, 0, 1 ; person diff --git a/data/maps/objects/UndergroundPathNorthSouth.asm b/data/maps/objects/UndergroundPathNorthSouth.asm new file mode 100755 index 00000000..35e21cca --- /dev/null +++ b/data/maps/objects/UndergroundPathNorthSouth.asm @@ -0,0 +1,14 @@ +UndergroundPathNorthSouth_Object: + db $1 ; border block + + db 2 ; warps + warp 5, 4, 2, UNDERGROUND_PATH_ROUTE_5 + warp 2, 41, 2, UNDERGROUND_PATH_ROUTE_6 + + db 0 ; signs + + db 0 ; objects + + ; warp-to + warp_to 5, 4, UNDERGROUND_PATH_NORTH_SOUTH_WIDTH ; UNDERGROUND_PATH_ROUTE_5 + warp_to 2, 41, UNDERGROUND_PATH_NORTH_SOUTH_WIDTH ; UNDERGROUND_PATH_ROUTE_6 diff --git a/data/maps/objects/UndergroundPathRoute5.asm b/data/maps/objects/UndergroundPathRoute5.asm new file mode 100755 index 00000000..af71ebb4 --- /dev/null +++ b/data/maps/objects/UndergroundPathRoute5.asm @@ -0,0 +1,17 @@ +UndergroundPathRoute5_Object: + db $a ; border block + + db 3 ; warps + warp 3, 7, 3, -1 + warp 4, 7, 3, -1 + warp 4, 4, 0, UNDERGROUND_PATH_NORTH_SOUTH + + db 0 ; signs + + db 1 ; objects + object SPRITE_LITTLE_GIRL, 2, 3, STAY, NONE, 1 ; person + + ; warp-to + warp_to 3, 7, UNDERGROUND_PATH_ROUTE_5_WIDTH + warp_to 4, 7, UNDERGROUND_PATH_ROUTE_5_WIDTH + warp_to 4, 4, UNDERGROUND_PATH_ROUTE_5_WIDTH ; UNDERGROUND_PATH_NORTH_SOUTH diff --git a/data/maps/objects/UndergroundPathRoute6.asm b/data/maps/objects/UndergroundPathRoute6.asm new file mode 100755 index 00000000..5a40ade2 --- /dev/null +++ b/data/maps/objects/UndergroundPathRoute6.asm @@ -0,0 +1,17 @@ +UndergroundPathRoute6_Object: + db $a ; border block + + db 3 ; warps + warp 3, 7, 3, -1 + warp 4, 7, 3, -1 + warp 4, 4, 1, UNDERGROUND_PATH_NORTH_SOUTH + + db 0 ; signs + + db 1 ; objects + object SPRITE_GIRL, 2, 3, STAY, NONE, 1 ; person + + ; warp-to + warp_to 3, 7, UNDERGROUND_PATH_ROUTE_6_WIDTH + warp_to 4, 7, UNDERGROUND_PATH_ROUTE_6_WIDTH + warp_to 4, 4, UNDERGROUND_PATH_ROUTE_6_WIDTH ; UNDERGROUND_PATH_NORTH_SOUTH diff --git a/data/maps/objects/UndergroundPathRoute7.asm b/data/maps/objects/UndergroundPathRoute7.asm new file mode 100755 index 00000000..4666e0c9 --- /dev/null +++ b/data/maps/objects/UndergroundPathRoute7.asm @@ -0,0 +1,17 @@ +UndergroundPathRoute7_Object: + db $a ; border block + + db 3 ; warps + warp 3, 7, 4, -1 + warp 4, 7, 4, -1 + warp 4, 4, 0, UNDERGROUND_PATH_WEST_EAST + + db 0 ; signs + + db 1 ; objects + object SPRITE_FAT_BALD_GUY, 2, 4, STAY, NONE, 1 ; person + + ; warp-to + warp_to 3, 7, UNDERGROUND_PATH_ROUTE_7_WIDTH + warp_to 4, 7, UNDERGROUND_PATH_ROUTE_7_WIDTH + warp_to 4, 4, UNDERGROUND_PATH_ROUTE_7_WIDTH ; UNDERGROUND_PATH_WEST_EAST diff --git a/data/maps/objects/UndergroundPathRoute7Copy.asm b/data/maps/objects/UndergroundPathRoute7Copy.asm new file mode 100755 index 00000000..c020646e --- /dev/null +++ b/data/maps/objects/UndergroundPathRoute7Copy.asm @@ -0,0 +1,18 @@ +UndergroundPathRoute7Copy_Object: + db $a ; border block + + db 3 ; warps + warp 3, 7, 5, -1 + warp 4, 7, 5, -1 + warp 4, 4, 0, UNDERGROUND_PATH_WEST_EAST + + db 0 ; signs + + db 2 ; objects + object SPRITE_GIRL, 3, 2, STAY, NONE, 1 ; person + object SPRITE_FAT_BALD_GUY, 2, 4, STAY, NONE, 2 ; person + + ; warp-to + warp_to 3, 7, UNDERGROUND_PATH_ROUTE_7_COPY_WIDTH + warp_to 4, 7, UNDERGROUND_PATH_ROUTE_7_COPY_WIDTH + warp_to 4, 4, UNDERGROUND_PATH_ROUTE_7_COPY_WIDTH ; UNDERGROUND_PATH_WEST_EAST diff --git a/data/maps/objects/UndergroundPathRoute8.asm b/data/maps/objects/UndergroundPathRoute8.asm new file mode 100755 index 00000000..8be0d474 --- /dev/null +++ b/data/maps/objects/UndergroundPathRoute8.asm @@ -0,0 +1,17 @@ +UndergroundPathRoute8_Object: + db $a ; border block + + db 3 ; warps + warp 3, 7, 4, -1 + warp 4, 7, 4, -1 + warp 4, 4, 1, UNDERGROUND_PATH_WEST_EAST + + db 0 ; signs + + db 1 ; objects + object SPRITE_GIRL, 3, 4, STAY, NONE, 1 ; person + + ; warp-to + warp_to 3, 7, UNDERGROUND_PATH_ROUTE_8_WIDTH + warp_to 4, 7, UNDERGROUND_PATH_ROUTE_8_WIDTH + warp_to 4, 4, UNDERGROUND_PATH_ROUTE_8_WIDTH ; UNDERGROUND_PATH_WEST_EAST diff --git a/data/maps/objects/UndergroundPathWestEast.asm b/data/maps/objects/UndergroundPathWestEast.asm new file mode 100755 index 00000000..fa064aca --- /dev/null +++ b/data/maps/objects/UndergroundPathWestEast.asm @@ -0,0 +1,14 @@ +UndergroundPathWestEast_Object: + db $1 ; border block + + db 2 ; warps + warp 2, 5, 2, UNDERGROUND_PATH_ROUTE_7 + warp 47, 2, 2, UNDERGROUND_PATH_ROUTE_8 + + db 0 ; signs + + db 0 ; objects + + ; warp-to + warp_to 2, 5, UNDERGROUND_PATH_WEST_EAST_WIDTH ; UNDERGROUND_PATH_ROUTE_7 + warp_to 47, 2, UNDERGROUND_PATH_WEST_EAST_WIDTH ; UNDERGROUND_PATH_ROUTE_8 diff --git a/data/maps/objects/VermilionCity.asm b/data/maps/objects/VermilionCity.asm new file mode 100755 index 00000000..b1e1a005 --- /dev/null +++ b/data/maps/objects/VermilionCity.asm @@ -0,0 +1,41 @@ +VermilionCity_Object: + db $43 ; border block + + db 9 ; warps + warp 11, 3, 0, VERMILION_POKECENTER + warp 9, 13, 0, POKEMON_FAN_CLUB + warp 23, 13, 0, VERMILION_MART + warp 12, 19, 0, VERMILION_GYM + warp 23, 19, 0, VERMILION_PIDGEY_HOUSE + warp 18, 31, 0, VERMILION_DOCK + warp 19, 31, 0, VERMILION_DOCK + warp 15, 13, 0, VERMILION_TRADE_HOUSE + warp 7, 3, 0, VERMILION_OLD_ROD_HOUSE + + db 7 ; signs + sign 27, 3, 7 ; VermilionCityText7 + sign 37, 13, 8 ; VermilionCityText8 + sign 24, 13, 9 ; MartSignText + sign 12, 3, 10 ; PokeCenterSignText + sign 7, 13, 11 ; VermilionCityText11 + sign 7, 19, 12 ; VermilionCityText12 + sign 29, 15, 13 ; VermilionCityText13 + + db 6 ; objects + object SPRITE_FOULARD_WOMAN, 19, 7, WALK, 2, 1 ; person + object SPRITE_GAMBLER, 14, 6, STAY, NONE, 2 ; person + object SPRITE_SAILOR, 19, 30, STAY, UP, 3 ; person + object SPRITE_GAMBLER, 30, 7, STAY, NONE, 4 ; person + object SPRITE_SLOWBRO, 29, 9, WALK, 1, 5 ; person + object SPRITE_SAILOR, 25, 27, WALK, 2, 6 ; person + + ; warp-to + warp_to 11, 3, VERMILION_CITY_WIDTH ; VERMILION_POKECENTER + warp_to 9, 13, VERMILION_CITY_WIDTH ; POKEMON_FAN_CLUB + warp_to 23, 13, VERMILION_CITY_WIDTH ; VERMILION_MART + warp_to 12, 19, VERMILION_CITY_WIDTH ; VERMILION_GYM + warp_to 23, 19, VERMILION_CITY_WIDTH ; VERMILION_PIDGEY_HOUSE + warp_to 18, 31, VERMILION_CITY_WIDTH ; VERMILION_DOCK + warp_to 19, 31, VERMILION_CITY_WIDTH ; VERMILION_DOCK + warp_to 15, 13, VERMILION_CITY_WIDTH ; VERMILION_TRADE_HOUSE + warp_to 7, 3, VERMILION_CITY_WIDTH ; VERMILION_OLD_ROD_HOUSE diff --git a/data/maps/objects/VermilionDock.asm b/data/maps/objects/VermilionDock.asm new file mode 100755 index 00000000..6f07554a --- /dev/null +++ b/data/maps/objects/VermilionDock.asm @@ -0,0 +1,14 @@ +VermilionDock_Object: + db $f ; border block + + db 2 ; warps + warp 14, 0, 5, -1 + warp 14, 2, 1, SS_ANNE_1F + + db 0 ; signs + + db 0 ; objects + + ; warp-to + warp_to 14, 0, VERMILION_DOCK_WIDTH + warp_to 14, 2, VERMILION_DOCK_WIDTH ; SS_ANNE_1F diff --git a/data/maps/objects/VermilionGym.asm b/data/maps/objects/VermilionGym.asm new file mode 100755 index 00000000..4ace83be --- /dev/null +++ b/data/maps/objects/VermilionGym.asm @@ -0,0 +1,19 @@ +VermilionGym_Object: + db $3 ; border block + + db 2 ; warps + warp 4, 17, 3, -1 + warp 5, 17, 3, -1 + + db 0 ; signs + + db 5 ; objects + object SPRITE_ROCKER, 5, 1, STAY, DOWN, 1, OPP_LT_SURGE, 1 + object SPRITE_GENTLEMAN, 9, 6, STAY, LEFT, 2, OPP_GENTLEMAN, 3 + object SPRITE_BLACK_HAIR_BOY_2, 3, 8, STAY, LEFT, 3, OPP_ROCKER, 1 + object SPRITE_SAILOR, 0, 10, STAY, RIGHT, 4, OPP_SAILOR, 8 + object SPRITE_GYM_HELPER, 4, 14, STAY, DOWN, 5 ; person + + ; warp-to + warp_to 4, 17, VERMILION_GYM_WIDTH + warp_to 5, 17, VERMILION_GYM_WIDTH diff --git a/data/maps/objects/VermilionMart.asm b/data/maps/objects/VermilionMart.asm new file mode 100755 index 00000000..74bcf35f --- /dev/null +++ b/data/maps/objects/VermilionMart.asm @@ -0,0 +1,17 @@ +VermilionMart_Object: + db $0 ; border block + + db 2 ; warps + warp 3, 7, 2, -1 + warp 4, 7, 2, -1 + + db 0 ; signs + + db 3 ; objects + object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person + object SPRITE_BLACK_HAIR_BOY_1, 5, 6, STAY, NONE, 2 ; person + object SPRITE_LASS, 3, 3, WALK, 2, 3 ; person + + ; warp-to + warp_to 3, 7, VERMILION_MART_WIDTH + warp_to 4, 7, VERMILION_MART_WIDTH diff --git a/data/maps/objects/VermilionOldRodHouse.asm b/data/maps/objects/VermilionOldRodHouse.asm new file mode 100755 index 00000000..f5b4b96a --- /dev/null +++ b/data/maps/objects/VermilionOldRodHouse.asm @@ -0,0 +1,15 @@ +VermilionOldRodHouse_Object: + db $a ; border block + + db 2 ; warps + warp 2, 7, 8, -1 + warp 3, 7, 8, -1 + + db 0 ; signs + + db 1 ; objects + object SPRITE_FISHER, 2, 4, STAY, RIGHT, 1 ; person + + ; warp-to + warp_to 2, 7, VERMILION_OLD_ROD_HOUSE_WIDTH + warp_to 3, 7, VERMILION_OLD_ROD_HOUSE_WIDTH diff --git a/data/maps/objects/VermilionPidgeyHouse.asm b/data/maps/objects/VermilionPidgeyHouse.asm new file mode 100755 index 00000000..0e820f86 --- /dev/null +++ b/data/maps/objects/VermilionPidgeyHouse.asm @@ -0,0 +1,17 @@ +VermilionPidgeyHouse_Object: + db $a ; border block + + db 2 ; warps + warp 2, 7, 4, -1 + warp 3, 7, 4, -1 + + db 0 ; signs + + db 3 ; objects + object SPRITE_BUG_CATCHER, 5, 3, STAY, LEFT, 1 ; person + object SPRITE_BIRD, 3, 5, WALK, 2, 2 ; person + object SPRITE_PAPER_SHEET, 4, 3, STAY, NONE, 3 ; person + + ; warp-to + warp_to 2, 7, VERMILION_PIDGEY_HOUSE_WIDTH + warp_to 3, 7, VERMILION_PIDGEY_HOUSE_WIDTH diff --git a/data/maps/objects/VermilionPokecenter.asm b/data/maps/objects/VermilionPokecenter.asm new file mode 100755 index 00000000..d2142045 --- /dev/null +++ b/data/maps/objects/VermilionPokecenter.asm @@ -0,0 +1,18 @@ +VermilionPokecenter_Object: + db $0 ; border block + + db 2 ; warps + warp 3, 7, 0, -1 + warp 4, 7, 0, -1 + + db 0 ; signs + + db 4 ; objects + object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person + object SPRITE_FISHER, 10, 5, STAY, NONE, 2 ; person + object SPRITE_SAILOR, 5, 4, STAY, NONE, 3 ; person + object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person + + ; warp-to + warp_to 3, 7, VERMILION_POKECENTER_WIDTH + warp_to 4, 7, VERMILION_POKECENTER_WIDTH diff --git a/data/maps/objects/VermilionTradeHouse.asm b/data/maps/objects/VermilionTradeHouse.asm new file mode 100755 index 00000000..30212b2a --- /dev/null +++ b/data/maps/objects/VermilionTradeHouse.asm @@ -0,0 +1,15 @@ +VermilionTradeHouse_Object: + db $a ; border block + + db 2 ; warps + warp 2, 7, 7, -1 + warp 3, 7, 7, -1 + + db 0 ; signs + + db 1 ; objects + object SPRITE_LITTLE_GIRL, 3, 5, STAY, UP, 1 ; person + + ; warp-to + warp_to 2, 7, VERMILION_TRADE_HOUSE_WIDTH + warp_to 3, 7, VERMILION_TRADE_HOUSE_WIDTH diff --git a/data/maps/objects/VictoryRoad1F.asm b/data/maps/objects/VictoryRoad1F.asm new file mode 100755 index 00000000..cc0c47ce --- /dev/null +++ b/data/maps/objects/VictoryRoad1F.asm @@ -0,0 +1,23 @@ +VictoryRoad1F_Object: + db $7d ; border block + + db 3 ; warps + warp 8, 17, 2, -1 + warp 9, 17, 2, -1 + warp 1, 1, 0, VICTORY_ROAD_2F + + db 0 ; signs + + db 7 ; objects + object SPRITE_LASS, 7, 5, STAY, RIGHT, 1, OPP_COOLTRAINER_F, 5 + object SPRITE_BLACK_HAIR_BOY_1, 3, 2, STAY, DOWN, 2, OPP_COOLTRAINER_M, 5 + object SPRITE_BALL, 11, 0, STAY, NONE, 3, TM_43 + object SPRITE_BALL, 9, 2, STAY, NONE, 4, RARE_CANDY + object SPRITE_BOULDER, 5, 15, STAY, BOULDER_MOVEMENT_BYTE_2, 5 ; person + object SPRITE_BOULDER, 14, 2, STAY, BOULDER_MOVEMENT_BYTE_2, 6 ; person + object SPRITE_BOULDER, 2, 10, STAY, BOULDER_MOVEMENT_BYTE_2, 7 ; person + + ; warp-to + warp_to 8, 17, VICTORY_ROAD_1F_WIDTH + warp_to 9, 17, VICTORY_ROAD_1F_WIDTH + warp_to 1, 1, VICTORY_ROAD_1F_WIDTH ; VICTORY_ROAD_2F diff --git a/data/maps/objects/VictoryRoad2F.asm b/data/maps/objects/VictoryRoad2F.asm new file mode 100755 index 00000000..55559bca --- /dev/null +++ b/data/maps/objects/VictoryRoad2F.asm @@ -0,0 +1,37 @@ +VictoryRoad2F_Object: + db $7d ; border block + + db 7 ; warps + warp 0, 8, 2, VICTORY_ROAD_1F + warp 29, 7, 3, -1 + warp 29, 8, 3, -1 + warp 23, 7, 0, VICTORY_ROAD_3F + warp 25, 14, 2, VICTORY_ROAD_3F + warp 27, 7, 1, VICTORY_ROAD_3F + warp 1, 1, 3, VICTORY_ROAD_3F + + db 0 ; signs + + db 13 ; objects + object SPRITE_HIKER, 12, 9, STAY, LEFT, 1, OPP_BLACKBELT, 9 + object SPRITE_BLACK_HAIR_BOY_2, 21, 13, STAY, LEFT, 2, OPP_JUGGLER, 2 + object SPRITE_BLACK_HAIR_BOY_1, 19, 8, STAY, DOWN, 3, OPP_TAMER, 5 + object SPRITE_BLACK_HAIR_BOY_2, 4, 2, STAY, DOWN, 4, OPP_POKEMANIAC, 6 + object SPRITE_BLACK_HAIR_BOY_2, 26, 3, STAY, LEFT, 5, OPP_JUGGLER, 5 + object SPRITE_BIRD, 11, 5, STAY, UP, 6, MOLTRES, 50 + object SPRITE_BALL, 27, 5, STAY, NONE, 7, TM_17 + object SPRITE_BALL, 18, 9, STAY, NONE, 8, FULL_HEAL + object SPRITE_BALL, 9, 11, STAY, NONE, 9, TM_05 + object SPRITE_BALL, 11, 0, STAY, NONE, 10, GUARD_SPEC + object SPRITE_BOULDER, 4, 14, STAY, BOULDER_MOVEMENT_BYTE_2, 11 ; person + object SPRITE_BOULDER, 5, 5, STAY, BOULDER_MOVEMENT_BYTE_2, 12 ; person + object SPRITE_BOULDER, 23, 16, STAY, BOULDER_MOVEMENT_BYTE_2, 13 ; person + + ; warp-to + warp_to 0, 8, VICTORY_ROAD_2F_WIDTH ; VICTORY_ROAD_1F + warp_to 29, 7, VICTORY_ROAD_2F_WIDTH + warp_to 29, 8, VICTORY_ROAD_2F_WIDTH + warp_to 23, 7, VICTORY_ROAD_2F_WIDTH ; VICTORY_ROAD_3F + warp_to 25, 14, VICTORY_ROAD_2F_WIDTH ; VICTORY_ROAD_3F + warp_to 27, 7, VICTORY_ROAD_2F_WIDTH ; VICTORY_ROAD_3F + warp_to 1, 1, VICTORY_ROAD_2F_WIDTH ; VICTORY_ROAD_3F diff --git a/data/maps/objects/VictoryRoad3F.asm b/data/maps/objects/VictoryRoad3F.asm new file mode 100755 index 00000000..2eb42417 --- /dev/null +++ b/data/maps/objects/VictoryRoad3F.asm @@ -0,0 +1,28 @@ +VictoryRoad3F_Object: + db $7d ; border block + + db 4 ; warps + warp 23, 7, 3, VICTORY_ROAD_2F + warp 26, 8, 5, VICTORY_ROAD_2F + warp 27, 15, 4, VICTORY_ROAD_2F + warp 2, 0, 6, VICTORY_ROAD_2F + + db 0 ; signs + + db 10 ; objects + object SPRITE_BLACK_HAIR_BOY_1, 28, 5, STAY, LEFT, 1, OPP_COOLTRAINER_M, 2 + object SPRITE_LASS, 7, 13, STAY, RIGHT, 2, OPP_COOLTRAINER_F, 2 + object SPRITE_BLACK_HAIR_BOY_1, 6, 14, STAY, LEFT, 3, OPP_COOLTRAINER_M, 3 + object SPRITE_LASS, 13, 3, STAY, RIGHT, 4, OPP_COOLTRAINER_F, 3 + object SPRITE_BALL, 26, 5, STAY, NONE, 5, MAX_REVIVE + object SPRITE_BALL, 7, 7, STAY, NONE, 6, TM_47 + object SPRITE_BOULDER, 22, 3, STAY, BOULDER_MOVEMENT_BYTE_2, 7 ; person + object SPRITE_BOULDER, 13, 12, STAY, BOULDER_MOVEMENT_BYTE_2, 8 ; person + object SPRITE_BOULDER, 24, 10, STAY, BOULDER_MOVEMENT_BYTE_2, 9 ; person + object SPRITE_BOULDER, 22, 15, STAY, BOULDER_MOVEMENT_BYTE_2, 10 ; person + + ; warp-to + warp_to 23, 7, VICTORY_ROAD_3F_WIDTH ; VICTORY_ROAD_2F + warp_to 26, 8, VICTORY_ROAD_3F_WIDTH ; VICTORY_ROAD_2F + warp_to 27, 15, VICTORY_ROAD_3F_WIDTH ; VICTORY_ROAD_2F + warp_to 2, 0, VICTORY_ROAD_3F_WIDTH ; VICTORY_ROAD_2F diff --git a/data/maps/objects/ViridianCity.asm b/data/maps/objects/ViridianCity.asm new file mode 100755 index 00000000..32fe8d3a --- /dev/null +++ b/data/maps/objects/ViridianCity.asm @@ -0,0 +1,33 @@ +ViridianCity_Object: + db $f ; border block + + db 5 ; warps + warp 23, 25, 0, VIRIDIAN_POKECENTER + warp 29, 19, 0, VIRIDIAN_MART + warp 21, 15, 0, VIRIDIAN_SCHOOL_HOUSE + warp 21, 9, 0, VIRIDIAN_NICKNAME_HOUSE + warp 32, 7, 0, VIRIDIAN_GYM + + db 6 ; signs + sign 17, 17, 8 ; ViridianCityText8 + sign 19, 1, 9 ; ViridianCityText9 + sign 21, 29, 10 ; ViridianCityText10 + sign 30, 19, 11 ; MartSignText + sign 24, 25, 12 ; PokeCenterSignText + sign 27, 7, 13 ; ViridianCityText13 + + db 7 ; objects + object SPRITE_BUG_CATCHER, 13, 20, WALK, 0, 1 ; person + object SPRITE_GAMBLER, 30, 8, STAY, NONE, 2 ; person + object SPRITE_BUG_CATCHER, 30, 25, WALK, 0, 3 ; person + object SPRITE_GIRL, 17, 9, STAY, RIGHT, 4 ; person + object SPRITE_LYING_OLD_MAN, 18, 9, STAY, NONE, 5 ; person + object SPRITE_FISHER2, 6, 23, STAY, DOWN, 6 ; person + object SPRITE_GAMBLER, 17, 5, WALK, 2, 7 ; person + + ; warp-to + warp_to 23, 25, VIRIDIAN_CITY_WIDTH ; VIRIDIAN_POKECENTER + warp_to 29, 19, VIRIDIAN_CITY_WIDTH ; VIRIDIAN_MART + warp_to 21, 15, VIRIDIAN_CITY_WIDTH ; VIRIDIAN_SCHOOL_HOUSE + warp_to 21, 9, VIRIDIAN_CITY_WIDTH ; VIRIDIAN_NICKNAME_HOUSE + warp_to 32, 7, VIRIDIAN_CITY_WIDTH ; VIRIDIAN_GYM diff --git a/data/maps/objects/ViridianForest.asm b/data/maps/objects/ViridianForest.asm new file mode 100755 index 00000000..cbcb6ff8 --- /dev/null +++ b/data/maps/objects/ViridianForest.asm @@ -0,0 +1,36 @@ +ViridianForest_Object: + db $3 ; border block + + db 6 ; warps + warp 1, 0, 2, VIRIDIAN_FOREST_NORTH_GATE + warp 2, 0, 3, VIRIDIAN_FOREST_NORTH_GATE + warp 15, 47, 1, VIRIDIAN_FOREST_SOUTH_GATE + warp 16, 47, 1, VIRIDIAN_FOREST_SOUTH_GATE + warp 17, 47, 1, VIRIDIAN_FOREST_SOUTH_GATE + warp 18, 47, 1, VIRIDIAN_FOREST_SOUTH_GATE + + db 6 ; signs + sign 24, 40, 9 ; ViridianForestText9 + sign 16, 32, 10 ; ViridianForestText10 + sign 26, 17, 11 ; ViridianForestText11 + sign 4, 24, 12 ; ViridianForestText12 + sign 18, 45, 13 ; ViridianForestText13 + sign 2, 1, 14 ; ViridianForestText14 + + db 8 ; objects + object SPRITE_BUG_CATCHER, 16, 43, STAY, NONE, 1 ; person + object SPRITE_BUG_CATCHER, 30, 33, STAY, LEFT, 2, OPP_BUG_CATCHER, 1 + object SPRITE_BUG_CATCHER, 30, 19, STAY, LEFT, 3, OPP_BUG_CATCHER, 2 + object SPRITE_BUG_CATCHER, 2, 18, STAY, LEFT, 4, OPP_BUG_CATCHER, 3 + object SPRITE_BALL, 25, 11, STAY, NONE, 5, ANTIDOTE + object SPRITE_BALL, 12, 29, STAY, NONE, 6, POTION + object SPRITE_BALL, 1, 31, STAY, NONE, 7, POKE_BALL + object SPRITE_BUG_CATCHER, 27, 40, STAY, NONE, 8 ; person + + ; warp-to + warp_to 1, 0, VIRIDIAN_FOREST_WIDTH ; VIRIDIAN_FOREST_NORTH_GATE + warp_to 2, 0, VIRIDIAN_FOREST_WIDTH ; VIRIDIAN_FOREST_NORTH_GATE + warp_to 15, 47, VIRIDIAN_FOREST_WIDTH ; VIRIDIAN_FOREST_SOUTH_GATE + warp_to 16, 47, VIRIDIAN_FOREST_WIDTH ; VIRIDIAN_FOREST_SOUTH_GATE + warp_to 17, 47, VIRIDIAN_FOREST_WIDTH ; VIRIDIAN_FOREST_SOUTH_GATE + warp_to 18, 47, VIRIDIAN_FOREST_WIDTH ; VIRIDIAN_FOREST_SOUTH_GATE diff --git a/data/maps/objects/ViridianForestNorthGate.asm b/data/maps/objects/ViridianForestNorthGate.asm new file mode 100755 index 00000000..81e7fece --- /dev/null +++ b/data/maps/objects/ViridianForestNorthGate.asm @@ -0,0 +1,20 @@ +ViridianForestNorthGate_Object: + db $a ; border block + + db 4 ; warps + warp 4, 0, 1, -1 + warp 5, 0, 1, -1 + warp 4, 7, 0, VIRIDIAN_FOREST + warp 5, 7, 0, VIRIDIAN_FOREST + + db 0 ; signs + + db 2 ; objects + object SPRITE_BLACK_HAIR_BOY_2, 3, 2, STAY, NONE, 1 ; person + object SPRITE_OLD_PERSON, 2, 5, STAY, NONE, 2 ; person + + ; warp-to + warp_to 4, 0, VIRIDIAN_FOREST_NORTH_GATE_WIDTH + warp_to 5, 0, VIRIDIAN_FOREST_NORTH_GATE_WIDTH + warp_to 4, 7, VIRIDIAN_FOREST_NORTH_GATE_WIDTH ; VIRIDIAN_FOREST + warp_to 5, 7, VIRIDIAN_FOREST_NORTH_GATE_WIDTH ; VIRIDIAN_FOREST diff --git a/data/maps/objects/ViridianForestSouthGate.asm b/data/maps/objects/ViridianForestSouthGate.asm new file mode 100755 index 00000000..76f87e51 --- /dev/null +++ b/data/maps/objects/ViridianForestSouthGate.asm @@ -0,0 +1,20 @@ +ViridianForestSouthGate_Object: + db $a ; border block + + db 4 ; warps + warp 4, 0, 3, VIRIDIAN_FOREST + warp 5, 0, 4, VIRIDIAN_FOREST + warp 4, 7, 5, -1 + warp 5, 7, 5, -1 + + db 0 ; signs + + db 2 ; objects + object SPRITE_GIRL, 8, 4, STAY, LEFT, 1 ; person + object SPRITE_LITTLE_GIRL, 2, 4, WALK, 1, 2 ; person + + ; warp-to + warp_to 4, 0, VIRIDIAN_FOREST_SOUTH_GATE_WIDTH ; VIRIDIAN_FOREST + warp_to 5, 0, VIRIDIAN_FOREST_SOUTH_GATE_WIDTH ; VIRIDIAN_FOREST + warp_to 4, 7, VIRIDIAN_FOREST_SOUTH_GATE_WIDTH + warp_to 5, 7, VIRIDIAN_FOREST_SOUTH_GATE_WIDTH diff --git a/data/maps/objects/ViridianGym.asm b/data/maps/objects/ViridianGym.asm new file mode 100755 index 00000000..e3fd17bd --- /dev/null +++ b/data/maps/objects/ViridianGym.asm @@ -0,0 +1,25 @@ +ViridianGym_Object: + db $3 ; border block + + db 2 ; warps + warp 16, 17, 4, -1 + warp 17, 17, 4, -1 + + db 0 ; signs + + db 11 ; objects + object SPRITE_GIOVANNI, 2, 1, STAY, DOWN, 1, OPP_GIOVANNI, 3 + object SPRITE_BLACK_HAIR_BOY_1, 12, 7, STAY, DOWN, 2, OPP_COOLTRAINER_M, 9 + object SPRITE_HIKER, 11, 11, STAY, UP, 3, OPP_BLACKBELT, 6 + object SPRITE_ROCKER, 10, 7, STAY, DOWN, 4, OPP_TAMER, 3 + object SPRITE_HIKER, 3, 7, STAY, LEFT, 5, OPP_BLACKBELT, 7 + object SPRITE_BLACK_HAIR_BOY_1, 13, 5, STAY, RIGHT, 6, OPP_COOLTRAINER_M, 10 + object SPRITE_HIKER, 10, 1, STAY, DOWN, 7, OPP_BLACKBELT, 8 + object SPRITE_ROCKER, 2, 16, STAY, RIGHT, 8, OPP_TAMER, 4 + object SPRITE_BLACK_HAIR_BOY_1, 6, 5, STAY, DOWN, 9, OPP_COOLTRAINER_M, 1 + object SPRITE_GYM_HELPER, 16, 15, STAY, DOWN, 10 ; person + object SPRITE_BALL, 16, 9, STAY, NONE, 11, REVIVE + + ; warp-to + warp_to 16, 17, VIRIDIAN_GYM_WIDTH + warp_to 17, 17, VIRIDIAN_GYM_WIDTH diff --git a/data/maps/objects/ViridianMart.asm b/data/maps/objects/ViridianMart.asm new file mode 100755 index 00000000..b3e7fee5 --- /dev/null +++ b/data/maps/objects/ViridianMart.asm @@ -0,0 +1,17 @@ +ViridianMart_Object: + db $0 ; border block + + db 2 ; warps + warp 3, 7, 1, -1 + warp 4, 7, 1, -1 + + db 0 ; signs + + db 3 ; objects + object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person + object SPRITE_BUG_CATCHER, 5, 5, WALK, 1, 2 ; person + object SPRITE_BLACK_HAIR_BOY_1, 3, 3, STAY, NONE, 3 ; person + + ; warp-to + warp_to 3, 7, VIRIDIAN_MART_WIDTH + warp_to 4, 7, VIRIDIAN_MART_WIDTH diff --git a/data/maps/objects/ViridianNicknameHouse.asm b/data/maps/objects/ViridianNicknameHouse.asm new file mode 100755 index 00000000..aaf20a91 --- /dev/null +++ b/data/maps/objects/ViridianNicknameHouse.asm @@ -0,0 +1,18 @@ +ViridianNicknameHouse_Object: + db $a ; border block + + db 2 ; warps + warp 2, 7, 3, -1 + warp 3, 7, 3, -1 + + db 0 ; signs + + db 4 ; objects + object SPRITE_BALDING_GUY, 5, 3, STAY, NONE, 1 ; person + object SPRITE_LITTLE_GIRL, 1, 4, WALK, 1, 2 ; person + object SPRITE_BIRD, 5, 5, WALK, 2, 3 ; person + object SPRITE_CLIPBOARD, 4, 0, STAY, NONE, 4 ; person + + ; warp-to + warp_to 2, 7, VIRIDIAN_NICKNAME_HOUSE_WIDTH + warp_to 3, 7, VIRIDIAN_NICKNAME_HOUSE_WIDTH diff --git a/data/maps/objects/ViridianPokecenter.asm b/data/maps/objects/ViridianPokecenter.asm new file mode 100755 index 00000000..43b73e68 --- /dev/null +++ b/data/maps/objects/ViridianPokecenter.asm @@ -0,0 +1,18 @@ +ViridianPokecenter_Object: + db $0 ; border block + + db 2 ; warps + warp 3, 7, 0, -1 + warp 4, 7, 0, -1 + + db 0 ; signs + + db 4 ; objects + object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person + object SPRITE_GENTLEMAN, 10, 5, WALK, 1, 2 ; person + object SPRITE_BLACK_HAIR_BOY_1, 4, 3, STAY, NONE, 3 ; person + object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person + + ; warp-to + warp_to 3, 7, VIRIDIAN_POKECENTER_WIDTH + warp_to 4, 7, VIRIDIAN_POKECENTER_WIDTH diff --git a/data/maps/objects/ViridianSchoolHouse.asm b/data/maps/objects/ViridianSchoolHouse.asm new file mode 100755 index 00000000..01f2465d --- /dev/null +++ b/data/maps/objects/ViridianSchoolHouse.asm @@ -0,0 +1,16 @@ +ViridianSchoolHouse_Object: + db $a ; border block + + db 2 ; warps + warp 2, 7, 2, -1 + warp 3, 7, 2, -1 + + db 0 ; signs + + db 2 ; objects + object SPRITE_BRUNETTE_GIRL, 3, 5, STAY, UP, 1 ; person + object SPRITE_LASS, 4, 1, STAY, DOWN, 2 ; person + + ; warp-to + warp_to 2, 7, VIRIDIAN_SCHOOL_HOUSE_WIDTH + warp_to 3, 7, VIRIDIAN_SCHOOL_HOUSE_WIDTH diff --git a/data/maps/objects/WardensHouse.asm b/data/maps/objects/WardensHouse.asm new file mode 100755 index 00000000..d8445738 --- /dev/null +++ b/data/maps/objects/WardensHouse.asm @@ -0,0 +1,19 @@ +WardensHouse_Object: + db $17 ; border block + + db 2 ; warps + warp 4, 7, 3, -1 + warp 5, 7, 3, -1 + + db 2 ; signs + sign 4, 3, 4 ; FuchsiaHouse2Text4 + sign 5, 3, 5 ; FuchsiaHouse2Text5 + + db 3 ; objects + object SPRITE_WARDEN, 2, 3, STAY, NONE, 1 ; person + object SPRITE_BALL, 8, 3, STAY, NONE, 2, RARE_CANDY + object SPRITE_BOULDER, 8, 4, STAY, BOULDER_MOVEMENT_BYTE_2, 3 ; person + + ; warp-to + warp_to 4, 7, WARDENS_HOUSE_WIDTH + warp_to 5, 7, WARDENS_HOUSE_WIDTH diff --git a/maps.asm b/maps.asm index 8b3cbea4..4f00f451 100644 --- a/maps.asm +++ b/maps.asm @@ -3,33 +3,33 @@ INCLUDE "constants.asm" SECTION "Maps 1", ROMX -INCLUDE "data/mapHeaders/CeladonCity.asm" -INCLUDE "data/mapObjects/CeladonCity.asm" +INCLUDE "data/maps/headers/CeladonCity.asm" +INCLUDE "data/maps/objects/CeladonCity.asm" CeladonCity_Blocks: INCBIN "maps/CeladonCity.blk" -INCLUDE "data/mapHeaders/PalletTown.asm" -INCLUDE "data/mapObjects/PalletTown.asm" +INCLUDE "data/maps/headers/PalletTown.asm" +INCLUDE "data/maps/objects/PalletTown.asm" PalletTown_Blocks: INCBIN "maps/PalletTown.blk" -INCLUDE "data/mapHeaders/ViridianCity.asm" -INCLUDE "data/mapObjects/ViridianCity.asm" +INCLUDE "data/maps/headers/ViridianCity.asm" +INCLUDE "data/maps/objects/ViridianCity.asm" ViridianCity_Blocks: INCBIN "maps/ViridianCity.blk" -INCLUDE "data/mapHeaders/PewterCity.asm" +INCLUDE "data/maps/headers/PewterCity.asm" ds 1 -INCLUDE "data/mapObjects/PewterCity.asm" +INCLUDE "data/maps/objects/PewterCity.asm" PewterCity_Blocks: INCBIN "maps/PewterCity.blk" -INCLUDE "data/mapHeaders/CeruleanCity.asm" -INCLUDE "data/mapObjects/CeruleanCity.asm" +INCLUDE "data/maps/headers/CeruleanCity.asm" +INCLUDE "data/maps/objects/CeruleanCity.asm" CeruleanCity_Blocks: INCBIN "maps/CeruleanCity.blk" -INCLUDE "data/mapHeaders/VermilionCity.asm" -INCLUDE "data/mapObjects/VermilionCity.asm" +INCLUDE "data/maps/headers/VermilionCity.asm" +INCLUDE "data/maps/objects/VermilionCity.asm" VermilionCity_Blocks: INCBIN "maps/VermilionCity.blk" -INCLUDE "data/mapHeaders/FuchsiaCity.asm" -INCLUDE "data/mapObjects/FuchsiaCity.asm" +INCLUDE "data/maps/headers/FuchsiaCity.asm" +INCLUDE "data/maps/objects/FuchsiaCity.asm" FuchsiaCity_Blocks: INCBIN "maps/FuchsiaCity.blk" @@ -43,45 +43,45 @@ INCLUDE "scripts/VermilionCity.asm" INCLUDE "scripts/CeladonCity.asm" INCLUDE "scripts/FuchsiaCity.asm" -INCLUDE "data/mapHeaders/BluesHouse.asm" +INCLUDE "data/maps/headers/BluesHouse.asm" INCLUDE "scripts/BluesHouse.asm" -INCLUDE "data/mapObjects/BluesHouse.asm" +INCLUDE "data/maps/objects/BluesHouse.asm" BluesHouse_Blocks: INCBIN "maps/BluesHouse.blk" -INCLUDE "data/mapHeaders/VermilionTradeHouse.asm" +INCLUDE "data/maps/headers/VermilionTradeHouse.asm" INCLUDE "scripts/VermilionTradeHouse.asm" -INCLUDE "data/mapObjects/VermilionTradeHouse.asm" +INCLUDE "data/maps/objects/VermilionTradeHouse.asm" VermilionTradeHouse_Blocks: INCBIN "maps/VermilionTradeHouse.blk" -INCLUDE "data/mapHeaders/IndigoPlateauLobby.asm" +INCLUDE "data/maps/headers/IndigoPlateauLobby.asm" INCLUDE "scripts/IndigoPlateauLobby.asm" -INCLUDE "data/mapObjects/IndigoPlateauLobby.asm" +INCLUDE "data/maps/objects/IndigoPlateauLobby.asm" IndigoPlateauLobby_Blocks: INCBIN "maps/IndigoPlateauLobby.blk" -INCLUDE "data/mapHeaders/SilphCo4F.asm" +INCLUDE "data/maps/headers/SilphCo4F.asm" INCLUDE "scripts/SilphCo4F.asm" -INCLUDE "data/mapObjects/SilphCo4F.asm" +INCLUDE "data/maps/objects/SilphCo4F.asm" SilphCo4F_Blocks: INCBIN "maps/SilphCo4F.blk" -INCLUDE "data/mapHeaders/SilphCo5F.asm" +INCLUDE "data/maps/headers/SilphCo5F.asm" INCLUDE "scripts/SilphCo5F.asm" -INCLUDE "data/mapObjects/SilphCo5F.asm" +INCLUDE "data/maps/objects/SilphCo5F.asm" SilphCo5F_Blocks: INCBIN "maps/SilphCo5F.blk" -INCLUDE "data/mapHeaders/SilphCo6F.asm" +INCLUDE "data/maps/headers/SilphCo6F.asm" INCLUDE "scripts/SilphCo6F.asm" -INCLUDE "data/mapObjects/SilphCo6F.asm" +INCLUDE "data/maps/objects/SilphCo6F.asm" SilphCo6F_Blocks: INCBIN "maps/SilphCo6F.blk" SECTION "Maps 3", ROMX -INCLUDE "data/mapHeaders/CinnabarIsland.asm" -INCLUDE "data/mapObjects/CinnabarIsland.asm" +INCLUDE "data/maps/headers/CinnabarIsland.asm" +INCLUDE "data/maps/objects/CinnabarIsland.asm" CinnabarIsland_Blocks: INCBIN "maps/CinnabarIsland.blk" -INCLUDE "data/mapHeaders/Route1.asm" -INCLUDE "data/mapObjects/Route1.asm" +INCLUDE "data/maps/headers/Route1.asm" +INCLUDE "data/maps/objects/Route1.asm" Route1_Blocks: INCBIN "maps/Route1.blk" UndergroundPathRoute8_Blocks: INCBIN "maps/UndergroundPathRoute8.blk" @@ -116,143 +116,143 @@ INCLUDE "scripts/CinnabarIsland.asm" INCLUDE "scripts/Route1.asm" -INCLUDE "data/mapHeaders/OaksLab.asm" +INCLUDE "data/maps/headers/OaksLab.asm" INCLUDE "scripts/OaksLab.asm" -INCLUDE "data/mapObjects/OaksLab.asm" +INCLUDE "data/maps/objects/OaksLab.asm" -INCLUDE "data/mapHeaders/ViridianMart.asm" +INCLUDE "data/maps/headers/ViridianMart.asm" INCLUDE "scripts/ViridianMart.asm" -INCLUDE "data/mapObjects/ViridianMart.asm" +INCLUDE "data/maps/objects/ViridianMart.asm" ViridianMart_Blocks: INCBIN "maps/ViridianMart.blk" -INCLUDE "data/mapHeaders/ViridianSchoolHouse.asm" +INCLUDE "data/maps/headers/ViridianSchoolHouse.asm" INCLUDE "scripts/ViridianSchoolHouse.asm" -INCLUDE "data/mapObjects/ViridianSchoolHouse.asm" +INCLUDE "data/maps/objects/ViridianSchoolHouse.asm" -INCLUDE "data/mapHeaders/ViridianNicknameHouse.asm" +INCLUDE "data/maps/headers/ViridianNicknameHouse.asm" ds 1 INCLUDE "scripts/ViridianNicknameHouse.asm" -INCLUDE "data/mapObjects/ViridianNicknameHouse.asm" +INCLUDE "data/maps/objects/ViridianNicknameHouse.asm" -INCLUDE "data/mapHeaders/PewterNidoranHouse.asm" +INCLUDE "data/maps/headers/PewterNidoranHouse.asm" INCLUDE "scripts/PewterNidoranHouse.asm" -INCLUDE "data/mapObjects/PewterNidoranHouse.asm" +INCLUDE "data/maps/objects/PewterNidoranHouse.asm" -INCLUDE "data/mapHeaders/PewterSpeechHouse.asm" +INCLUDE "data/maps/headers/PewterSpeechHouse.asm" INCLUDE "scripts/PewterSpeechHouse.asm" -INCLUDE "data/mapObjects/PewterSpeechHouse.asm" +INCLUDE "data/maps/objects/PewterSpeechHouse.asm" -INCLUDE "data/mapHeaders/CeruleanTrashedHouse.asm" +INCLUDE "data/maps/headers/CeruleanTrashedHouse.asm" INCLUDE "scripts/CeruleanTrashedHouse.asm" -INCLUDE "data/mapObjects/CeruleanTrashedHouse.asm" +INCLUDE "data/maps/objects/CeruleanTrashedHouse.asm" -INCLUDE "data/mapHeaders/CeruleanTradeHouse.asm" +INCLUDE "data/maps/headers/CeruleanTradeHouse.asm" INCLUDE "scripts/CeruleanTradeHouse.asm" -INCLUDE "data/mapObjects/CeruleanTradeHouse.asm" +INCLUDE "data/maps/objects/CeruleanTradeHouse.asm" -INCLUDE "data/mapHeaders/BikeShop.asm" +INCLUDE "data/maps/headers/BikeShop.asm" INCLUDE "scripts/BikeShop.asm" -INCLUDE "data/mapObjects/BikeShop.asm" +INCLUDE "data/maps/objects/BikeShop.asm" BikeShop_Blocks: INCBIN "maps/BikeShop.blk" -INCLUDE "data/mapHeaders/MrFujisHouse.asm" +INCLUDE "data/maps/headers/MrFujisHouse.asm" INCLUDE "scripts/MrFujisHouse.asm" -INCLUDE "data/mapObjects/MrFujisHouse.asm" +INCLUDE "data/maps/objects/MrFujisHouse.asm" -INCLUDE "data/mapHeaders/LavenderCuboneHouse.asm" +INCLUDE "data/maps/headers/LavenderCuboneHouse.asm" INCLUDE "scripts/LavenderCuboneHouse.asm" -INCLUDE "data/mapObjects/LavenderCuboneHouse.asm" +INCLUDE "data/maps/objects/LavenderCuboneHouse.asm" -INCLUDE "data/mapHeaders/NameRatersHouse.asm" +INCLUDE "data/maps/headers/NameRatersHouse.asm" INCLUDE "scripts/NameRatersHouse.asm" -INCLUDE "data/mapObjects/NameRatersHouse.asm" +INCLUDE "data/maps/objects/NameRatersHouse.asm" -INCLUDE "data/mapHeaders/VermilionPidgeyHouse.asm" +INCLUDE "data/maps/headers/VermilionPidgeyHouse.asm" INCLUDE "scripts/VermilionPidgeyHouse.asm" -INCLUDE "data/mapObjects/VermilionPidgeyHouse.asm" +INCLUDE "data/maps/objects/VermilionPidgeyHouse.asm" -INCLUDE "data/mapHeaders/VermilionDock.asm" +INCLUDE "data/maps/headers/VermilionDock.asm" INCLUDE "scripts/VermilionDock.asm" -INCLUDE "data/mapObjects/VermilionDock.asm" +INCLUDE "data/maps/objects/VermilionDock.asm" VermilionDock_Blocks: INCBIN "maps/VermilionDock.blk" -INCLUDE "data/mapHeaders/CeladonMansionRoofHouse.asm" +INCLUDE "data/maps/headers/CeladonMansionRoofHouse.asm" INCLUDE "scripts/CeladonMansionRoofHouse.asm" -INCLUDE "data/mapObjects/CeladonMansionRoofHouse.asm" +INCLUDE "data/maps/objects/CeladonMansionRoofHouse.asm" -INCLUDE "data/mapHeaders/FuchsiaMart.asm" +INCLUDE "data/maps/headers/FuchsiaMart.asm" INCLUDE "scripts/FuchsiaMart.asm" -INCLUDE "data/mapObjects/FuchsiaMart.asm" +INCLUDE "data/maps/objects/FuchsiaMart.asm" FuchsiaMart_Blocks: INCBIN "maps/FuchsiaMart.blk" -INCLUDE "data/mapHeaders/SaffronPidgeyHouse.asm" +INCLUDE "data/maps/headers/SaffronPidgeyHouse.asm" INCLUDE "scripts/SaffronPidgeyHouse.asm" -INCLUDE "data/mapObjects/SaffronPidgeyHouse.asm" +INCLUDE "data/maps/objects/SaffronPidgeyHouse.asm" -INCLUDE "data/mapHeaders/MrPsychicsHouse.asm" +INCLUDE "data/maps/headers/MrPsychicsHouse.asm" INCLUDE "scripts/MrPsychicsHouse.asm" -INCLUDE "data/mapObjects/MrPsychicsHouse.asm" +INCLUDE "data/maps/objects/MrPsychicsHouse.asm" -INCLUDE "data/mapHeaders/DiglettsCaveRoute2.asm" +INCLUDE "data/maps/headers/DiglettsCaveRoute2.asm" INCLUDE "scripts/DiglettsCaveRoute2.asm" -INCLUDE "data/mapObjects/DiglettsCaveRoute2.asm" +INCLUDE "data/maps/objects/DiglettsCaveRoute2.asm" -INCLUDE "data/mapHeaders/Route2TradeHouse.asm" +INCLUDE "data/maps/headers/Route2TradeHouse.asm" INCLUDE "scripts/Route2TradeHouse.asm" -INCLUDE "data/mapObjects/Route2TradeHouse.asm" +INCLUDE "data/maps/objects/Route2TradeHouse.asm" -INCLUDE "data/mapHeaders/Route5Gate.asm" +INCLUDE "data/maps/headers/Route5Gate.asm" INCLUDE "scripts/Route5Gate.asm" -INCLUDE "data/mapObjects/Route5Gate.asm" +INCLUDE "data/maps/objects/Route5Gate.asm" Route5Gate_Blocks: INCBIN "maps/Route5Gate.blk" -INCLUDE "data/mapHeaders/Route6Gate.asm" +INCLUDE "data/maps/headers/Route6Gate.asm" INCLUDE "scripts/Route6Gate.asm" -INCLUDE "data/mapObjects/Route6Gate.asm" +INCLUDE "data/maps/objects/Route6Gate.asm" Route6Gate_Blocks: INCBIN "maps/Route6Gate.blk" -INCLUDE "data/mapHeaders/Route7Gate.asm" +INCLUDE "data/maps/headers/Route7Gate.asm" INCLUDE "scripts/Route7Gate.asm" -INCLUDE "data/mapObjects/Route7Gate.asm" +INCLUDE "data/maps/objects/Route7Gate.asm" Route7Gate_Blocks: INCBIN "maps/Route7Gate.blk" -INCLUDE "data/mapHeaders/Route8Gate.asm" +INCLUDE "data/maps/headers/Route8Gate.asm" INCLUDE "scripts/Route8Gate.asm" -INCLUDE "data/mapObjects/Route8Gate.asm" +INCLUDE "data/maps/objects/Route8Gate.asm" Route8Gate_Blocks: INCBIN "maps/Route8Gate.blk" -INCLUDE "data/mapHeaders/UndergroundPathRoute8.asm" +INCLUDE "data/maps/headers/UndergroundPathRoute8.asm" INCLUDE "scripts/UndergroundPathRoute8.asm" -INCLUDE "data/mapObjects/UndergroundPathRoute8.asm" +INCLUDE "data/maps/objects/UndergroundPathRoute8.asm" -INCLUDE "data/mapHeaders/PowerPlant.asm" +INCLUDE "data/maps/headers/PowerPlant.asm" INCLUDE "scripts/PowerPlant.asm" -INCLUDE "data/mapObjects/PowerPlant.asm" +INCLUDE "data/maps/objects/PowerPlant.asm" PowerPlant_Blocks: INCBIN "maps/PowerPlant.blk" -INCLUDE "data/mapHeaders/DiglettsCaveRoute11.asm" +INCLUDE "data/maps/headers/DiglettsCaveRoute11.asm" INCLUDE "scripts/DiglettsCaveRoute11.asm" -INCLUDE "data/mapObjects/DiglettsCaveRoute11.asm" +INCLUDE "data/maps/objects/DiglettsCaveRoute11.asm" -INCLUDE "data/mapHeaders/Route16FlyHouse.asm" +INCLUDE "data/maps/headers/Route16FlyHouse.asm" INCLUDE "scripts/Route16FlyHouse.asm" -INCLUDE "data/mapObjects/Route16FlyHouse.asm" +INCLUDE "data/maps/objects/Route16FlyHouse.asm" -INCLUDE "data/mapHeaders/Route22Gate.asm" +INCLUDE "data/maps/headers/Route22Gate.asm" INCLUDE "scripts/Route22Gate.asm" -INCLUDE "data/mapObjects/Route22Gate.asm" +INCLUDE "data/maps/objects/Route22Gate.asm" Route22Gate_Blocks: INCBIN "maps/Route22Gate.blk" -INCLUDE "data/mapHeaders/BillsHouse.asm" +INCLUDE "data/maps/headers/BillsHouse.asm" INCLUDE "scripts/BillsHouse.asm" -INCLUDE "data/mapObjects/BillsHouse.asm" +INCLUDE "data/maps/objects/BillsHouse.asm" BillsHouse_Blocks: INCBIN "maps/BillsHouse.blk" SECTION "Maps 5", ROMX -INCLUDE "data/mapHeaders/LavenderTown.asm" -INCLUDE "data/mapObjects/LavenderTown.asm" +INCLUDE "data/maps/headers/LavenderTown.asm" +INCLUDE "data/maps/objects/LavenderTown.asm" LavenderTown_Blocks: INCBIN "maps/LavenderTown.blk" ViridianPokecenter_Blocks: INCBIN "maps/ViridianPokecenter.blk" @@ -267,136 +267,136 @@ INCLUDE "scripts/LavenderTown.asm" SECTION "Maps 6", ROMX -INCLUDE "data/mapHeaders/ViridianPokecenter.asm" +INCLUDE "data/maps/headers/ViridianPokecenter.asm" INCLUDE "scripts/ViridianPokecenter.asm" -INCLUDE "data/mapObjects/ViridianPokecenter.asm" +INCLUDE "data/maps/objects/ViridianPokecenter.asm" -INCLUDE "data/mapHeaders/PokemonMansion1F.asm" +INCLUDE "data/maps/headers/PokemonMansion1F.asm" INCLUDE "scripts/PokemonMansion1F.asm" -INCLUDE "data/mapObjects/PokemonMansion1F.asm" +INCLUDE "data/maps/objects/PokemonMansion1F.asm" PokemonMansion1F_Blocks: INCBIN "maps/PokemonMansion1F.blk" -INCLUDE "data/mapHeaders/RockTunnel1F.asm" +INCLUDE "data/maps/headers/RockTunnel1F.asm" INCLUDE "scripts/RockTunnel1F.asm" -INCLUDE "data/mapObjects/RockTunnel1F.asm" +INCLUDE "data/maps/objects/RockTunnel1F.asm" RockTunnel1F_Blocks: INCBIN "maps/RockTunnel1F.blk" -INCLUDE "data/mapHeaders/SeafoamIslands1F.asm" +INCLUDE "data/maps/headers/SeafoamIslands1F.asm" INCLUDE "scripts/SeafoamIslands1F.asm" -INCLUDE "data/mapObjects/SeafoamIslands1F.asm" +INCLUDE "data/maps/objects/SeafoamIslands1F.asm" SeafoamIslands1F_Blocks: INCBIN "maps/SeafoamIslands1F.blk" -INCLUDE "data/mapHeaders/SSAnne3F.asm" +INCLUDE "data/maps/headers/SSAnne3F.asm" INCLUDE "scripts/SSAnne3F.asm" -INCLUDE "data/mapObjects/SSAnne3F.asm" +INCLUDE "data/maps/objects/SSAnne3F.asm" SSAnne3F_Blocks: INCBIN "maps/SSAnne3F.blk" -INCLUDE "data/mapHeaders/VictoryRoad3F.asm" +INCLUDE "data/maps/headers/VictoryRoad3F.asm" INCLUDE "scripts/VictoryRoad3F.asm" -INCLUDE "data/mapObjects/VictoryRoad3F.asm" +INCLUDE "data/maps/objects/VictoryRoad3F.asm" VictoryRoad3F_Blocks: INCBIN "maps/VictoryRoad3F.blk" -INCLUDE "data/mapHeaders/RocketHideoutB1F.asm" +INCLUDE "data/maps/headers/RocketHideoutB1F.asm" INCLUDE "scripts/RocketHideoutB1F.asm" -INCLUDE "data/mapObjects/RocketHideoutB1F.asm" +INCLUDE "data/maps/objects/RocketHideoutB1F.asm" RocketHideoutB1F_Blocks: INCBIN "maps/RocketHideoutB1F.blk" -INCLUDE "data/mapHeaders/RocketHideoutB2F.asm" +INCLUDE "data/maps/headers/RocketHideoutB2F.asm" INCLUDE "scripts/RocketHideoutB2F.asm" -INCLUDE "data/mapObjects/RocketHideoutB2F.asm" +INCLUDE "data/maps/objects/RocketHideoutB2F.asm" RocketHideoutB2F_Blocks: INCBIN "maps/RocketHideoutB2F.blk" -INCLUDE "data/mapHeaders/RocketHideoutB3F.asm" +INCLUDE "data/maps/headers/RocketHideoutB3F.asm" INCLUDE "scripts/RocketHideoutB3F.asm" -INCLUDE "data/mapObjects/RocketHideoutB3F.asm" +INCLUDE "data/maps/objects/RocketHideoutB3F.asm" RocketHideoutB3F_Blocks: INCBIN "maps/RocketHideoutB3F.blk" -INCLUDE "data/mapHeaders/RocketHideoutB4F.asm" +INCLUDE "data/maps/headers/RocketHideoutB4F.asm" INCLUDE "scripts/RocketHideoutB4F.asm" -INCLUDE "data/mapObjects/RocketHideoutB4F.asm" +INCLUDE "data/maps/objects/RocketHideoutB4F.asm" RocketHideoutB4F_Blocks: INCBIN "maps/RocketHideoutB4F.blk" -INCLUDE "data/mapHeaders/RocketHideoutElevator.asm" +INCLUDE "data/maps/headers/RocketHideoutElevator.asm" INCLUDE "scripts/RocketHideoutElevator.asm" -INCLUDE "data/mapObjects/RocketHideoutElevator.asm" +INCLUDE "data/maps/objects/RocketHideoutElevator.asm" RocketHideoutElevator_Blocks: INCBIN "maps/RocketHideoutElevator.blk" -INCLUDE "data/mapHeaders/SilphCoElevator.asm" +INCLUDE "data/maps/headers/SilphCoElevator.asm" INCLUDE "scripts/SilphCoElevator.asm" -INCLUDE "data/mapObjects/SilphCoElevator.asm" +INCLUDE "data/maps/objects/SilphCoElevator.asm" SilphCoElevator_Blocks: INCBIN "maps/SilphCoElevator.blk" -INCLUDE "data/mapHeaders/SafariZoneEast.asm" +INCLUDE "data/maps/headers/SafariZoneEast.asm" INCLUDE "scripts/SafariZoneEast.asm" -INCLUDE "data/mapObjects/SafariZoneEast.asm" +INCLUDE "data/maps/objects/SafariZoneEast.asm" SafariZoneEast_Blocks: INCBIN "maps/SafariZoneEast.blk" -INCLUDE "data/mapHeaders/SafariZoneNorth.asm" +INCLUDE "data/maps/headers/SafariZoneNorth.asm" INCLUDE "scripts/SafariZoneNorth.asm" -INCLUDE "data/mapObjects/SafariZoneNorth.asm" +INCLUDE "data/maps/objects/SafariZoneNorth.asm" SafariZoneNorth_Blocks: INCBIN "maps/SafariZoneNorth.blk" -INCLUDE "data/mapHeaders/SafariZoneCenter.asm" +INCLUDE "data/maps/headers/SafariZoneCenter.asm" INCLUDE "scripts/SafariZoneCenter.asm" -INCLUDE "data/mapObjects/SafariZoneCenter.asm" +INCLUDE "data/maps/objects/SafariZoneCenter.asm" SafariZoneCenter_Blocks: INCBIN "maps/SafariZoneCenter.blk" -INCLUDE "data/mapHeaders/SafariZoneCenterRestHouse.asm" +INCLUDE "data/maps/headers/SafariZoneCenterRestHouse.asm" INCLUDE "scripts/SafariZoneCenterRestHouse.asm" -INCLUDE "data/mapObjects/SafariZoneCenterRestHouse.asm" +INCLUDE "data/maps/objects/SafariZoneCenterRestHouse.asm" -INCLUDE "data/mapHeaders/SafariZoneWestRestHouse.asm" +INCLUDE "data/maps/headers/SafariZoneWestRestHouse.asm" INCLUDE "scripts/SafariZoneWestRestHouse.asm" -INCLUDE "data/mapObjects/SafariZoneWestRestHouse.asm" +INCLUDE "data/maps/objects/SafariZoneWestRestHouse.asm" -INCLUDE "data/mapHeaders/SafariZoneEastRestHouse.asm" +INCLUDE "data/maps/headers/SafariZoneEastRestHouse.asm" INCLUDE "scripts/SafariZoneEastRestHouse.asm" -INCLUDE "data/mapObjects/SafariZoneEastRestHouse.asm" +INCLUDE "data/maps/objects/SafariZoneEastRestHouse.asm" -INCLUDE "data/mapHeaders/SafariZoneNorthRestHouse.asm" +INCLUDE "data/maps/headers/SafariZoneNorthRestHouse.asm" INCLUDE "scripts/SafariZoneNorthRestHouse.asm" -INCLUDE "data/mapObjects/SafariZoneNorthRestHouse.asm" +INCLUDE "data/maps/objects/SafariZoneNorthRestHouse.asm" -INCLUDE "data/mapHeaders/CeruleanCave2F.asm" +INCLUDE "data/maps/headers/CeruleanCave2F.asm" INCLUDE "scripts/CeruleanCave2F.asm" -INCLUDE "data/mapObjects/CeruleanCave2F.asm" +INCLUDE "data/maps/objects/CeruleanCave2F.asm" CeruleanCave2F_Blocks: INCBIN "maps/CeruleanCave2F.blk" -INCLUDE "data/mapHeaders/CeruleanCaveB1F.asm" +INCLUDE "data/maps/headers/CeruleanCaveB1F.asm" INCLUDE "scripts/CeruleanCaveB1F.asm" -INCLUDE "data/mapObjects/CeruleanCaveB1F.asm" +INCLUDE "data/maps/objects/CeruleanCaveB1F.asm" CeruleanCaveB1F_Blocks: INCBIN "maps/CeruleanCaveB1F.blk" -INCLUDE "data/mapHeaders/RockTunnelB1F.asm" +INCLUDE "data/maps/headers/RockTunnelB1F.asm" INCLUDE "scripts/RockTunnelB1F.asm" -INCLUDE "data/mapObjects/RockTunnelB1F.asm" +INCLUDE "data/maps/objects/RockTunnelB1F.asm" RockTunnelB1F_Blocks: INCBIN "maps/RockTunnelB1F.blk" -INCLUDE "data/mapHeaders/SeafoamIslandsB1F.asm" +INCLUDE "data/maps/headers/SeafoamIslandsB1F.asm" INCLUDE "scripts/SeafoamIslandsB1F.asm" -INCLUDE "data/mapObjects/SeafoamIslandsB1F.asm" +INCLUDE "data/maps/objects/SeafoamIslandsB1F.asm" SeafoamIslandsB1F_Blocks: INCBIN "maps/SeafoamIslandsB1F.blk" -INCLUDE "data/mapHeaders/SeafoamIslandsB2F.asm" +INCLUDE "data/maps/headers/SeafoamIslandsB2F.asm" INCLUDE "scripts/SeafoamIslandsB2F.asm" -INCLUDE "data/mapObjects/SeafoamIslandsB2F.asm" +INCLUDE "data/maps/objects/SeafoamIslandsB2F.asm" SeafoamIslandsB2F_Blocks: INCBIN "maps/SeafoamIslandsB2F.blk" -INCLUDE "data/mapHeaders/SeafoamIslandsB3F.asm" +INCLUDE "data/maps/headers/SeafoamIslandsB3F.asm" INCLUDE "scripts/SeafoamIslandsB3F.asm" -INCLUDE "data/mapObjects/SeafoamIslandsB3F.asm" +INCLUDE "data/maps/objects/SeafoamIslandsB3F.asm" SeafoamIslandsB3F_Blocks: INCBIN "maps/SeafoamIslandsB3F.blk" -INCLUDE "data/mapHeaders/SeafoamIslandsB4F.asm" +INCLUDE "data/maps/headers/SeafoamIslandsB4F.asm" INCLUDE "scripts/SeafoamIslandsB4F.asm" -INCLUDE "data/mapObjects/SeafoamIslandsB4F.asm" +INCLUDE "data/maps/objects/SeafoamIslandsB4F.asm" SeafoamIslandsB4F_Blocks: INCBIN "maps/SeafoamIslandsB4F.blk" SECTION "Maps 7", ROMX -INCLUDE "data/mapHeaders/Route7.asm" -INCLUDE "data/mapObjects/Route7.asm" +INCLUDE "data/maps/headers/Route7.asm" +INCLUDE "data/maps/objects/Route7.asm" Route7_Blocks: INCBIN "maps/Route7.blk" CeladonPokecenter_Blocks: @@ -418,203 +418,203 @@ SECTION "Maps 8", ROMX INCLUDE "scripts/Route7.asm" -INCLUDE "data/mapHeaders/RedsHouse1F.asm" +INCLUDE "data/maps/headers/RedsHouse1F.asm" INCLUDE "scripts/RedsHouse1F.asm" -INCLUDE "data/mapObjects/RedsHouse1F.asm" +INCLUDE "data/maps/objects/RedsHouse1F.asm" RedsHouse1F_Blocks: INCBIN "maps/RedsHouse1F.blk" -INCLUDE "data/mapHeaders/CeladonMart3F.asm" +INCLUDE "data/maps/headers/CeladonMart3F.asm" INCLUDE "scripts/CeladonMart3F.asm" -INCLUDE "data/mapObjects/CeladonMart3F.asm" +INCLUDE "data/maps/objects/CeladonMart3F.asm" CeladonMart3F_Blocks: INCBIN "maps/CeladonMart3F.blk" -INCLUDE "data/mapHeaders/CeladonMart4F.asm" +INCLUDE "data/maps/headers/CeladonMart4F.asm" INCLUDE "scripts/CeladonMart4F.asm" -INCLUDE "data/mapObjects/CeladonMart4F.asm" +INCLUDE "data/maps/objects/CeladonMart4F.asm" CeladonMart4F_Blocks: INCBIN "maps/CeladonMart4F.blk" -INCLUDE "data/mapHeaders/CeladonMartRoof.asm" +INCLUDE "data/maps/headers/CeladonMartRoof.asm" INCLUDE "scripts/CeladonMartRoof.asm" -INCLUDE "data/mapObjects/CeladonMartRoof.asm" +INCLUDE "data/maps/objects/CeladonMartRoof.asm" CeladonMartRoof_Blocks: INCBIN "maps/CeladonMartRoof.blk" -INCLUDE "data/mapHeaders/CeladonMartElevator.asm" +INCLUDE "data/maps/headers/CeladonMartElevator.asm" INCLUDE "scripts/CeladonMartElevator.asm" -INCLUDE "data/mapObjects/CeladonMartElevator.asm" +INCLUDE "data/maps/objects/CeladonMartElevator.asm" CeladonMartElevator_Blocks: INCBIN "maps/CeladonMartElevator.blk" -INCLUDE "data/mapHeaders/CeladonMansion1F.asm" +INCLUDE "data/maps/headers/CeladonMansion1F.asm" INCLUDE "scripts/CeladonMansion1F.asm" -INCLUDE "data/mapObjects/CeladonMansion1F.asm" +INCLUDE "data/maps/objects/CeladonMansion1F.asm" CeladonMansion1F_Blocks: INCBIN "maps/CeladonMansion1F.blk" -INCLUDE "data/mapHeaders/CeladonMansion2F.asm" +INCLUDE "data/maps/headers/CeladonMansion2F.asm" INCLUDE "scripts/CeladonMansion2F.asm" -INCLUDE "data/mapObjects/CeladonMansion2F.asm" +INCLUDE "data/maps/objects/CeladonMansion2F.asm" CeladonMansion2F_Blocks: INCBIN "maps/CeladonMansion2F.blk" -INCLUDE "data/mapHeaders/CeladonMansion3F.asm" +INCLUDE "data/maps/headers/CeladonMansion3F.asm" INCLUDE "scripts/CeladonMansion3F.asm" -INCLUDE "data/mapObjects/CeladonMansion3F.asm" +INCLUDE "data/maps/objects/CeladonMansion3F.asm" CeladonMansion3F_Blocks: INCBIN "maps/CeladonMansion3F.blk" -INCLUDE "data/mapHeaders/CeladonMansionRoof.asm" +INCLUDE "data/maps/headers/CeladonMansionRoof.asm" INCLUDE "scripts/CeladonMansionRoof.asm" -INCLUDE "data/mapObjects/CeladonMansionRoof.asm" +INCLUDE "data/maps/objects/CeladonMansionRoof.asm" CeladonMansionRoof_Blocks: INCBIN "maps/CeladonMansionRoof.blk" -INCLUDE "data/mapHeaders/CeladonPokecenter.asm" +INCLUDE "data/maps/headers/CeladonPokecenter.asm" INCLUDE "scripts/CeladonPokecenter.asm" -INCLUDE "data/mapObjects/CeladonPokecenter.asm" +INCLUDE "data/maps/objects/CeladonPokecenter.asm" -INCLUDE "data/mapHeaders/CeladonGym.asm" +INCLUDE "data/maps/headers/CeladonGym.asm" INCLUDE "scripts/CeladonGym.asm" -INCLUDE "data/mapObjects/CeladonGym.asm" +INCLUDE "data/maps/objects/CeladonGym.asm" CeladonGym_Blocks: INCBIN "maps/CeladonGym.blk" -INCLUDE "data/mapHeaders/GameCorner.asm" +INCLUDE "data/maps/headers/GameCorner.asm" INCLUDE "scripts/GameCorner.asm" -INCLUDE "data/mapObjects/GameCorner.asm" +INCLUDE "data/maps/objects/GameCorner.asm" GameCorner_Blocks: INCBIN "maps/GameCorner.blk" -INCLUDE "data/mapHeaders/CeladonMart5F.asm" +INCLUDE "data/maps/headers/CeladonMart5F.asm" INCLUDE "scripts/CeladonMart5F.asm" -INCLUDE "data/mapObjects/CeladonMart5F.asm" +INCLUDE "data/maps/objects/CeladonMart5F.asm" CeladonMart5F_Blocks: INCBIN "maps/CeladonMart5F.blk" -INCLUDE "data/mapHeaders/GameCornerPrizeRoom.asm" +INCLUDE "data/maps/headers/GameCornerPrizeRoom.asm" INCLUDE "scripts/GameCornerPrizeRoom.asm" -INCLUDE "data/mapObjects/GameCornerPrizeRoom.asm" +INCLUDE "data/maps/objects/GameCornerPrizeRoom.asm" GameCornerPrizeRoom_Blocks: INCBIN "maps/GameCornerPrizeRoom.blk" -INCLUDE "data/mapHeaders/CeladonDiner.asm" +INCLUDE "data/maps/headers/CeladonDiner.asm" INCLUDE "scripts/CeladonDiner.asm" -INCLUDE "data/mapObjects/CeladonDiner.asm" +INCLUDE "data/maps/objects/CeladonDiner.asm" CeladonDiner_Blocks: INCBIN "maps/CeladonDiner.blk" -INCLUDE "data/mapHeaders/CeladonChiefHouse.asm" +INCLUDE "data/maps/headers/CeladonChiefHouse.asm" INCLUDE "scripts/CeladonChiefHouse.asm" -INCLUDE "data/mapObjects/CeladonChiefHouse.asm" +INCLUDE "data/maps/objects/CeladonChiefHouse.asm" CeladonChiefHouse_Blocks: INCBIN "maps/CeladonChiefHouse.blk" -INCLUDE "data/mapHeaders/CeladonHotel.asm" +INCLUDE "data/maps/headers/CeladonHotel.asm" INCLUDE "scripts/CeladonHotel.asm" -INCLUDE "data/mapObjects/CeladonHotel.asm" +INCLUDE "data/maps/objects/CeladonHotel.asm" CeladonHotel_Blocks: INCBIN "maps/CeladonHotel.blk" -INCLUDE "data/mapHeaders/MtMoonPokecenter.asm" +INCLUDE "data/maps/headers/MtMoonPokecenter.asm" INCLUDE "scripts/MtMoonPokecenter.asm" -INCLUDE "data/mapObjects/MtMoonPokecenter.asm" +INCLUDE "data/maps/objects/MtMoonPokecenter.asm" -INCLUDE "data/mapHeaders/RockTunnelPokecenter.asm" +INCLUDE "data/maps/headers/RockTunnelPokecenter.asm" INCLUDE "scripts/RockTunnelPokecenter.asm" -INCLUDE "data/mapObjects/RockTunnelPokecenter.asm" +INCLUDE "data/maps/objects/RockTunnelPokecenter.asm" -INCLUDE "data/mapHeaders/Route11Gate1F.asm" +INCLUDE "data/maps/headers/Route11Gate1F.asm" INCLUDE "scripts/Route11Gate1F.asm" -INCLUDE "data/mapObjects/Route11Gate1F.asm" +INCLUDE "data/maps/objects/Route11Gate1F.asm" -INCLUDE "data/mapHeaders/Route11Gate2F.asm" +INCLUDE "data/maps/headers/Route11Gate2F.asm" INCLUDE "scripts/Route11Gate2F.asm" -INCLUDE "data/mapObjects/Route11Gate2F.asm" +INCLUDE "data/maps/objects/Route11Gate2F.asm" -INCLUDE "data/mapHeaders/Route12Gate1F.asm" +INCLUDE "data/maps/headers/Route12Gate1F.asm" INCLUDE "scripts/Route12Gate1F.asm" -INCLUDE "data/mapObjects/Route12Gate1F.asm" +INCLUDE "data/maps/objects/Route12Gate1F.asm" Route12Gate1F_Blocks: INCBIN "maps/Route12Gate1F.blk" -INCLUDE "data/mapHeaders/Route12Gate2F.asm" +INCLUDE "data/maps/headers/Route12Gate2F.asm" INCLUDE "scripts/Route12Gate2F.asm" -INCLUDE "data/mapObjects/Route12Gate2F.asm" +INCLUDE "data/maps/objects/Route12Gate2F.asm" -INCLUDE "data/mapHeaders/Route15Gate1F.asm" +INCLUDE "data/maps/headers/Route15Gate1F.asm" INCLUDE "scripts/Route15Gate1F.asm" -INCLUDE "data/mapObjects/Route15Gate1F.asm" +INCLUDE "data/maps/objects/Route15Gate1F.asm" -INCLUDE "data/mapHeaders/Route15Gate2F.asm" +INCLUDE "data/maps/headers/Route15Gate2F.asm" INCLUDE "scripts/Route15Gate2F.asm" -INCLUDE "data/mapObjects/Route15Gate2F.asm" +INCLUDE "data/maps/objects/Route15Gate2F.asm" -INCLUDE "data/mapHeaders/Route16Gate1F.asm" +INCLUDE "data/maps/headers/Route16Gate1F.asm" INCLUDE "scripts/Route16Gate1F.asm" -INCLUDE "data/mapObjects/Route16Gate1F.asm" +INCLUDE "data/maps/objects/Route16Gate1F.asm" Route16Gate1F_Blocks: INCBIN "maps/Route16Gate1F.blk" -INCLUDE "data/mapHeaders/Route16Gate2F.asm" +INCLUDE "data/maps/headers/Route16Gate2F.asm" INCLUDE "scripts/Route16Gate2F.asm" -INCLUDE "data/mapObjects/Route16Gate2F.asm" +INCLUDE "data/maps/objects/Route16Gate2F.asm" -INCLUDE "data/mapHeaders/Route18Gate1F.asm" +INCLUDE "data/maps/headers/Route18Gate1F.asm" INCLUDE "scripts/Route18Gate1F.asm" -INCLUDE "data/mapObjects/Route18Gate1F.asm" +INCLUDE "data/maps/objects/Route18Gate1F.asm" -INCLUDE "data/mapHeaders/Route18Gate2F.asm" +INCLUDE "data/maps/headers/Route18Gate2F.asm" INCLUDE "scripts/Route18Gate2F.asm" -INCLUDE "data/mapObjects/Route18Gate2F.asm" +INCLUDE "data/maps/objects/Route18Gate2F.asm" -INCLUDE "data/mapHeaders/MtMoon1F.asm" +INCLUDE "data/maps/headers/MtMoon1F.asm" INCLUDE "scripts/MtMoon1F.asm" -INCLUDE "data/mapObjects/MtMoon1F.asm" +INCLUDE "data/maps/objects/MtMoon1F.asm" MtMoon1F_Blocks: INCBIN "maps/MtMoon1F.blk" -INCLUDE "data/mapHeaders/MtMoonB2F.asm" +INCLUDE "data/maps/headers/MtMoonB2F.asm" INCLUDE "scripts/MtMoonB2F.asm" -INCLUDE "data/mapObjects/MtMoonB2F.asm" +INCLUDE "data/maps/objects/MtMoonB2F.asm" MtMoonB2F_Blocks: INCBIN "maps/MtMoonB2F.blk" -INCLUDE "data/mapHeaders/SafariZoneWest.asm" +INCLUDE "data/maps/headers/SafariZoneWest.asm" INCLUDE "scripts/SafariZoneWest.asm" -INCLUDE "data/mapObjects/SafariZoneWest.asm" +INCLUDE "data/maps/objects/SafariZoneWest.asm" SafariZoneWest_Blocks: INCBIN "maps/SafariZoneWest.blk" -INCLUDE "data/mapHeaders/SafariZoneSecretHouse.asm" +INCLUDE "data/maps/headers/SafariZoneSecretHouse.asm" INCLUDE "scripts/SafariZoneSecretHouse.asm" -INCLUDE "data/mapObjects/SafariZoneSecretHouse.asm" +INCLUDE "data/maps/objects/SafariZoneSecretHouse.asm" SafariZoneSecretHouse_Blocks: INCBIN "maps/SafariZoneSecretHouse.blk" SECTION "Maps 9", ROMX -INCLUDE "data/mapHeaders/TradeCenter.asm" +INCLUDE "data/maps/headers/TradeCenter.asm" INCLUDE "scripts/TradeCenter.asm" -INCLUDE "data/mapObjects/TradeCenter.asm" +INCLUDE "data/maps/objects/TradeCenter.asm" TradeCenter_Blocks: INCBIN "maps/TradeCenter.blk" -INCLUDE "data/mapHeaders/Colosseum.asm" +INCLUDE "data/maps/headers/Colosseum.asm" INCLUDE "scripts/Colosseum.asm" -INCLUDE "data/mapObjects/Colosseum.asm" +INCLUDE "data/maps/objects/Colosseum.asm" Colosseum_Blocks: INCBIN "maps/Colosseum.blk" SECTION "Maps 10", ROMX -INCLUDE "data/mapHeaders/Route22.asm" -INCLUDE "data/mapObjects/Route22.asm" +INCLUDE "data/maps/headers/Route22.asm" +INCLUDE "data/maps/objects/Route22.asm" Route22_Blocks: INCBIN "maps/Route22.blk" -INCLUDE "data/mapHeaders/Route20.asm" -INCLUDE "data/mapObjects/Route20.asm" +INCLUDE "data/maps/headers/Route20.asm" +INCLUDE "data/maps/objects/Route20.asm" Route20_Blocks: INCBIN "maps/Route20.blk" -INCLUDE "data/mapHeaders/Route23.asm" -INCLUDE "data/mapObjects/Route23.asm" +INCLUDE "data/maps/headers/Route23.asm" +INCLUDE "data/maps/objects/Route23.asm" Route23_Blocks: INCBIN "maps/Route23.blk" -INCLUDE "data/mapHeaders/Route24.asm" -INCLUDE "data/mapObjects/Route24.asm" +INCLUDE "data/maps/headers/Route24.asm" +INCLUDE "data/maps/objects/Route24.asm" Route24_Blocks: INCBIN "maps/Route24.blk" -INCLUDE "data/mapHeaders/Route25.asm" -INCLUDE "data/mapObjects/Route25.asm" +INCLUDE "data/maps/headers/Route25.asm" +INCLUDE "data/maps/objects/Route25.asm" Route25_Blocks: INCBIN "maps/Route25.blk" -INCLUDE "data/mapHeaders/IndigoPlateau.asm" +INCLUDE "data/maps/headers/IndigoPlateau.asm" INCLUDE "scripts/IndigoPlateau.asm" -INCLUDE "data/mapObjects/IndigoPlateau.asm" +INCLUDE "data/maps/objects/IndigoPlateau.asm" IndigoPlateau_Blocks: INCBIN "maps/IndigoPlateau.blk" -INCLUDE "data/mapHeaders/SaffronCity.asm" -INCLUDE "data/mapObjects/SaffronCity.asm" +INCLUDE "data/maps/headers/SaffronCity.asm" +INCLUDE "data/maps/objects/SaffronCity.asm" SaffronCity_Blocks: INCBIN "maps/SaffronCity.blk" INCLUDE "scripts/SaffronCity.asm" @@ -624,77 +624,77 @@ INCLUDE "scripts/Route23.asm" INCLUDE "scripts/Route24.asm" INCLUDE "scripts/Route25.asm" -INCLUDE "data/mapHeaders/VictoryRoad2F.asm" +INCLUDE "data/maps/headers/VictoryRoad2F.asm" INCLUDE "scripts/VictoryRoad2F.asm" -INCLUDE "data/mapObjects/VictoryRoad2F.asm" +INCLUDE "data/maps/objects/VictoryRoad2F.asm" VictoryRoad2F_Blocks: INCBIN "maps/VictoryRoad2F.blk" -INCLUDE "data/mapHeaders/MtMoonB1F.asm" +INCLUDE "data/maps/headers/MtMoonB1F.asm" INCLUDE "scripts/MtMoonB1F.asm" -INCLUDE "data/mapObjects/MtMoonB1F.asm" +INCLUDE "data/maps/objects/MtMoonB1F.asm" MtMoonB1F_Blocks: INCBIN "maps/MtMoonB1F.blk" -INCLUDE "data/mapHeaders/SilphCo7F.asm" +INCLUDE "data/maps/headers/SilphCo7F.asm" INCLUDE "scripts/SilphCo7F.asm" -INCLUDE "data/mapObjects/SilphCo7F.asm" +INCLUDE "data/maps/objects/SilphCo7F.asm" SilphCo7F_Blocks: INCBIN "maps/SilphCo7F.blk" -INCLUDE "data/mapHeaders/PokemonMansion2F.asm" +INCLUDE "data/maps/headers/PokemonMansion2F.asm" INCLUDE "scripts/PokemonMansion2F.asm" -INCLUDE "data/mapObjects/PokemonMansion2F.asm" +INCLUDE "data/maps/objects/PokemonMansion2F.asm" PokemonMansion2F_Blocks: INCBIN "maps/PokemonMansion2F.blk" -INCLUDE "data/mapHeaders/PokemonMansion3F.asm" +INCLUDE "data/maps/headers/PokemonMansion3F.asm" INCLUDE "scripts/PokemonMansion3F.asm" -INCLUDE "data/mapObjects/PokemonMansion3F.asm" +INCLUDE "data/maps/objects/PokemonMansion3F.asm" PokemonMansion3F_Blocks: INCBIN "maps/PokemonMansion3F.blk" -INCLUDE "data/mapHeaders/PokemonMansionB1F.asm" +INCLUDE "data/maps/headers/PokemonMansionB1F.asm" INCLUDE "scripts/PokemonMansionB1F.asm" -INCLUDE "data/mapObjects/PokemonMansionB1F.asm" +INCLUDE "data/maps/objects/PokemonMansionB1F.asm" PokemonMansionB1F_Blocks: INCBIN "maps/PokemonMansionB1F.blk" SECTION "Maps 11", ROMX -INCLUDE "data/mapHeaders/Route2.asm" -INCLUDE "data/mapObjects/Route2.asm" +INCLUDE "data/maps/headers/Route2.asm" +INCLUDE "data/maps/objects/Route2.asm" Route2_Blocks: INCBIN "maps/Route2.blk" -INCLUDE "data/mapHeaders/Route3.asm" -INCLUDE "data/mapObjects/Route3.asm" +INCLUDE "data/maps/headers/Route3.asm" +INCLUDE "data/maps/objects/Route3.asm" Route3_Blocks: INCBIN "maps/Route3.blk" -INCLUDE "data/mapHeaders/Route4.asm" -INCLUDE "data/mapObjects/Route4.asm" +INCLUDE "data/maps/headers/Route4.asm" +INCLUDE "data/maps/objects/Route4.asm" Route4_Blocks: INCBIN "maps/Route4.blk" -INCLUDE "data/mapHeaders/Route5.asm" -INCLUDE "data/mapObjects/Route5.asm" +INCLUDE "data/maps/headers/Route5.asm" +INCLUDE "data/maps/objects/Route5.asm" Route5_Blocks: INCBIN "maps/Route5.blk" -INCLUDE "data/mapHeaders/Route9.asm" -INCLUDE "data/mapObjects/Route9.asm" +INCLUDE "data/maps/headers/Route9.asm" +INCLUDE "data/maps/objects/Route9.asm" Route9_Blocks: INCBIN "maps/Route9.blk" -INCLUDE "data/mapHeaders/Route13.asm" -INCLUDE "data/mapObjects/Route13.asm" +INCLUDE "data/maps/headers/Route13.asm" +INCLUDE "data/maps/objects/Route13.asm" Route13_Blocks: INCBIN "maps/Route13.blk" -INCLUDE "data/mapHeaders/Route14.asm" -INCLUDE "data/mapObjects/Route14.asm" +INCLUDE "data/maps/headers/Route14.asm" +INCLUDE "data/maps/objects/Route14.asm" Route14_Blocks: INCBIN "maps/Route14.blk" -INCLUDE "data/mapHeaders/Route17.asm" -INCLUDE "data/mapObjects/Route17.asm" +INCLUDE "data/maps/headers/Route17.asm" +INCLUDE "data/maps/objects/Route17.asm" Route17_Blocks: INCBIN "maps/Route17.blk" -INCLUDE "data/mapHeaders/Route19.asm" -INCLUDE "data/mapObjects/Route19.asm" +INCLUDE "data/maps/headers/Route19.asm" +INCLUDE "data/maps/objects/Route19.asm" Route19_Blocks: INCBIN "maps/Route19.blk" -INCLUDE "data/mapHeaders/Route21.asm" -INCLUDE "data/mapObjects/Route21.asm" +INCLUDE "data/maps/headers/Route21.asm" +INCLUDE "data/maps/objects/Route21.asm" Route21_Blocks: INCBIN "maps/Route21.blk" VermilionOldRodHouse_Blocks: @@ -717,65 +717,65 @@ INCLUDE "scripts/Route17.asm" INCLUDE "scripts/Route19.asm" INCLUDE "scripts/Route21.asm" -INCLUDE "data/mapHeaders/VermilionOldRodHouse.asm" +INCLUDE "data/maps/headers/VermilionOldRodHouse.asm" INCLUDE "scripts/VermilionOldRodHouse.asm" -INCLUDE "data/mapObjects/VermilionOldRodHouse.asm" +INCLUDE "data/maps/objects/VermilionOldRodHouse.asm" -INCLUDE "data/mapHeaders/CeladonMart2F.asm" +INCLUDE "data/maps/headers/CeladonMart2F.asm" INCLUDE "scripts/CeladonMart2F.asm" -INCLUDE "data/mapObjects/CeladonMart2F.asm" +INCLUDE "data/maps/objects/CeladonMart2F.asm" CeladonMart2F_Blocks: INCBIN "maps/CeladonMart2F.blk" -INCLUDE "data/mapHeaders/FuchsiaGoodRodHouse.asm" +INCLUDE "data/maps/headers/FuchsiaGoodRodHouse.asm" INCLUDE "scripts/FuchsiaGoodRodHouse.asm" -INCLUDE "data/mapObjects/FuchsiaGoodRodHouse.asm" +INCLUDE "data/maps/objects/FuchsiaGoodRodHouse.asm" -INCLUDE "data/mapHeaders/Daycare.asm" +INCLUDE "data/maps/headers/Daycare.asm" INCLUDE "scripts/Daycare.asm" -INCLUDE "data/mapObjects/Daycare.asm" +INCLUDE "data/maps/objects/Daycare.asm" -INCLUDE "data/mapHeaders/Route12SuperRodHouse.asm" +INCLUDE "data/maps/headers/Route12SuperRodHouse.asm" INCLUDE "scripts/Route12SuperRodHouse.asm" -INCLUDE "data/mapObjects/Route12SuperRodHouse.asm" +INCLUDE "data/maps/objects/Route12SuperRodHouse.asm" -INCLUDE "data/mapHeaders/SilphCo8F.asm" +INCLUDE "data/maps/headers/SilphCo8F.asm" INCLUDE "scripts/SilphCo8F.asm" -INCLUDE "data/mapObjects/SilphCo8F.asm" +INCLUDE "data/maps/objects/SilphCo8F.asm" SilphCo8F_Blocks: INCBIN "maps/SilphCo8F.blk" SECTION "Maps 13", ROMX -INCLUDE "data/mapHeaders/Route6.asm" -INCLUDE "data/mapObjects/Route6.asm" +INCLUDE "data/maps/headers/Route6.asm" +INCLUDE "data/maps/objects/Route6.asm" Route6_Blocks: INCBIN "maps/Route6.blk" -INCLUDE "data/mapHeaders/Route8.asm" -INCLUDE "data/mapObjects/Route8.asm" +INCLUDE "data/maps/headers/Route8.asm" +INCLUDE "data/maps/objects/Route8.asm" Route8_Blocks: INCBIN "maps/Route8.blk" -INCLUDE "data/mapHeaders/Route10.asm" -INCLUDE "data/mapObjects/Route10.asm" +INCLUDE "data/maps/headers/Route10.asm" +INCLUDE "data/maps/objects/Route10.asm" Route10_Blocks: INCBIN "maps/Route10.blk" -INCLUDE "data/mapHeaders/Route11.asm" -INCLUDE "data/mapObjects/Route11.asm" +INCLUDE "data/maps/headers/Route11.asm" +INCLUDE "data/maps/objects/Route11.asm" Route11_Blocks: INCBIN "maps/Route11.blk" -INCLUDE "data/mapHeaders/Route12.asm" -INCLUDE "data/mapObjects/Route12.asm" +INCLUDE "data/maps/headers/Route12.asm" +INCLUDE "data/maps/objects/Route12.asm" Route12_Blocks: INCBIN "maps/Route12.blk" -INCLUDE "data/mapHeaders/Route15.asm" -INCLUDE "data/mapObjects/Route15.asm" +INCLUDE "data/maps/headers/Route15.asm" +INCLUDE "data/maps/objects/Route15.asm" Route15_Blocks: INCBIN "maps/Route15.blk" -INCLUDE "data/mapHeaders/Route16.asm" -INCLUDE "data/mapObjects/Route16.asm" +INCLUDE "data/maps/headers/Route16.asm" +INCLUDE "data/maps/objects/Route16.asm" Route16_Blocks: INCBIN "maps/Route16.blk" -INCLUDE "data/mapHeaders/Route18.asm" -INCLUDE "data/mapObjects/Route18.asm" +INCLUDE "data/maps/headers/Route18.asm" +INCLUDE "data/maps/objects/Route18.asm" Route18_Blocks: INCBIN "maps/Route18.blk" INCBIN "maps/UnusedPokecenterCopy.blk" @@ -792,34 +792,34 @@ INCLUDE "scripts/Route15.asm" INCLUDE "scripts/Route16.asm" INCLUDE "scripts/Route18.asm" -INCLUDE "data/mapHeaders/PokemonFanClub.asm" +INCLUDE "data/maps/headers/PokemonFanClub.asm" INCLUDE "scripts/PokemonFanClub.asm" -INCLUDE "data/mapObjects/PokemonFanClub.asm" +INCLUDE "data/maps/objects/PokemonFanClub.asm" PokemonFanClub_Blocks: INCBIN "maps/PokemonFanClub.blk" -INCLUDE "data/mapHeaders/SilphCo2F.asm" +INCLUDE "data/maps/headers/SilphCo2F.asm" INCLUDE "scripts/SilphCo2F.asm" -INCLUDE "data/mapObjects/SilphCo2F.asm" +INCLUDE "data/maps/objects/SilphCo2F.asm" SilphCo2F_Blocks: INCBIN "maps/SilphCo2F.blk" -INCLUDE "data/mapHeaders/SilphCo3F.asm" +INCLUDE "data/maps/headers/SilphCo3F.asm" INCLUDE "scripts/SilphCo3F.asm" -INCLUDE "data/mapObjects/SilphCo3F.asm" +INCLUDE "data/maps/objects/SilphCo3F.asm" SilphCo3F_Blocks: INCBIN "maps/SilphCo3F.blk" -INCLUDE "data/mapHeaders/SilphCo10F.asm" +INCLUDE "data/maps/headers/SilphCo10F.asm" INCLUDE "scripts/SilphCo10F.asm" -INCLUDE "data/mapObjects/SilphCo10F.asm" +INCLUDE "data/maps/objects/SilphCo10F.asm" SilphCo10F_Blocks: INCBIN "maps/SilphCo10F.blk" -INCLUDE "data/mapHeaders/LancesRoom.asm" +INCLUDE "data/maps/headers/LancesRoom.asm" INCLUDE "scripts/LancesRoom.asm" -INCLUDE "data/mapObjects/LancesRoom.asm" +INCLUDE "data/maps/objects/LancesRoom.asm" LancesRoom_Blocks: INCBIN "maps/LancesRoom.blk" -INCLUDE "data/mapHeaders/HallOfFame.asm" +INCLUDE "data/maps/headers/HallOfFame.asm" INCLUDE "scripts/HallOfFame.asm" -INCLUDE "data/mapObjects/HallOfFame.asm" +INCLUDE "data/maps/objects/HallOfFame.asm" HallOfFame_Blocks: INCBIN "maps/HallOfFame.blk" @@ -851,128 +851,128 @@ Route2Gate_Blocks: ViridianForestSouthGate_Blocks: ViridianForestNorthGate_Blocks: INCBIN "maps/ViridianForestNorthGate.blk" -INCLUDE "data/mapHeaders/RedsHouse2F.asm" +INCLUDE "data/maps/headers/RedsHouse2F.asm" INCLUDE "scripts/RedsHouse2F.asm" -INCLUDE "data/mapObjects/RedsHouse2F.asm" +INCLUDE "data/maps/objects/RedsHouse2F.asm" SECTION "Maps 16", ROMX -INCLUDE "data/mapHeaders/Museum1F.asm" +INCLUDE "data/maps/headers/Museum1F.asm" INCLUDE "scripts/Museum1F.asm" -INCLUDE "data/mapObjects/Museum1F.asm" +INCLUDE "data/maps/objects/Museum1F.asm" -INCLUDE "data/mapHeaders/Museum2F.asm" +INCLUDE "data/maps/headers/Museum2F.asm" INCLUDE "scripts/Museum2F.asm" -INCLUDE "data/mapObjects/Museum2F.asm" +INCLUDE "data/maps/objects/Museum2F.asm" -INCLUDE "data/mapHeaders/PewterGym.asm" +INCLUDE "data/maps/headers/PewterGym.asm" INCLUDE "scripts/PewterGym.asm" -INCLUDE "data/mapObjects/PewterGym.asm" +INCLUDE "data/maps/objects/PewterGym.asm" PewterGym_Blocks: INCBIN "maps/PewterGym.blk" -INCLUDE "data/mapHeaders/PewterPokecenter.asm" +INCLUDE "data/maps/headers/PewterPokecenter.asm" INCLUDE "scripts/PewterPokecenter.asm" -INCLUDE "data/mapObjects/PewterPokecenter.asm" +INCLUDE "data/maps/objects/PewterPokecenter.asm" -INCLUDE "data/mapHeaders/CeruleanPokecenter.asm" +INCLUDE "data/maps/headers/CeruleanPokecenter.asm" INCLUDE "scripts/CeruleanPokecenter.asm" -INCLUDE "data/mapObjects/CeruleanPokecenter.asm" +INCLUDE "data/maps/objects/CeruleanPokecenter.asm" CeruleanPokecenter_Blocks: INCBIN "maps/CeruleanPokecenter.blk" -INCLUDE "data/mapHeaders/CeruleanGym.asm" +INCLUDE "data/maps/headers/CeruleanGym.asm" INCLUDE "scripts/CeruleanGym.asm" -INCLUDE "data/mapObjects/CeruleanGym.asm" +INCLUDE "data/maps/objects/CeruleanGym.asm" CeruleanGym_Blocks: INCBIN "maps/CeruleanGym.blk" -INCLUDE "data/mapHeaders/CeruleanMart.asm" +INCLUDE "data/maps/headers/CeruleanMart.asm" INCLUDE "scripts/CeruleanMart.asm" -INCLUDE "data/mapObjects/CeruleanMart.asm" +INCLUDE "data/maps/objects/CeruleanMart.asm" -INCLUDE "data/mapHeaders/LavenderPokecenter.asm" +INCLUDE "data/maps/headers/LavenderPokecenter.asm" INCLUDE "scripts/LavenderPokecenter.asm" -INCLUDE "data/mapObjects/LavenderPokecenter.asm" +INCLUDE "data/maps/objects/LavenderPokecenter.asm" -INCLUDE "data/mapHeaders/LavenderMart.asm" +INCLUDE "data/maps/headers/LavenderMart.asm" INCLUDE "scripts/LavenderMart.asm" -INCLUDE "data/mapObjects/LavenderMart.asm" +INCLUDE "data/maps/objects/LavenderMart.asm" -INCLUDE "data/mapHeaders/VermilionPokecenter.asm" +INCLUDE "data/maps/headers/VermilionPokecenter.asm" INCLUDE "scripts/VermilionPokecenter.asm" -INCLUDE "data/mapObjects/VermilionPokecenter.asm" +INCLUDE "data/maps/objects/VermilionPokecenter.asm" -INCLUDE "data/mapHeaders/VermilionMart.asm" +INCLUDE "data/maps/headers/VermilionMart.asm" INCLUDE "scripts/VermilionMart.asm" -INCLUDE "data/mapObjects/VermilionMart.asm" +INCLUDE "data/maps/objects/VermilionMart.asm" -INCLUDE "data/mapHeaders/VermilionGym.asm" +INCLUDE "data/maps/headers/VermilionGym.asm" INCLUDE "scripts/VermilionGym.asm" -INCLUDE "data/mapObjects/VermilionGym.asm" +INCLUDE "data/maps/objects/VermilionGym.asm" VermilionGym_Blocks: INCBIN "maps/VermilionGym.blk" -INCLUDE "data/mapHeaders/CopycatsHouse2F.asm" +INCLUDE "data/maps/headers/CopycatsHouse2F.asm" INCLUDE "scripts/CopycatsHouse2F.asm" -INCLUDE "data/mapObjects/CopycatsHouse2F.asm" +INCLUDE "data/maps/objects/CopycatsHouse2F.asm" -INCLUDE "data/mapHeaders/FightingDojo.asm" +INCLUDE "data/maps/headers/FightingDojo.asm" INCLUDE "scripts/FightingDojo.asm" -INCLUDE "data/mapObjects/FightingDojo.asm" +INCLUDE "data/maps/objects/FightingDojo.asm" FightingDojo_Blocks: INCBIN "maps/FightingDojo.blk" -INCLUDE "data/mapHeaders/SaffronGym.asm" +INCLUDE "data/maps/headers/SaffronGym.asm" INCLUDE "scripts/SaffronGym.asm" -INCLUDE "data/mapObjects/SaffronGym.asm" +INCLUDE "data/maps/objects/SaffronGym.asm" SaffronGym_Blocks: INCBIN "maps/SaffronGym.blk" -INCLUDE "data/mapHeaders/SaffronMart.asm" +INCLUDE "data/maps/headers/SaffronMart.asm" INCLUDE "scripts/SaffronMart.asm" -INCLUDE "data/mapObjects/SaffronMart.asm" +INCLUDE "data/maps/objects/SaffronMart.asm" -INCLUDE "data/mapHeaders/SilphCo1F.asm" +INCLUDE "data/maps/headers/SilphCo1F.asm" INCLUDE "scripts/SilphCo1F.asm" -INCLUDE "data/mapObjects/SilphCo1F.asm" +INCLUDE "data/maps/objects/SilphCo1F.asm" SilphCo1F_Blocks: INCBIN "maps/SilphCo1F.blk" -INCLUDE "data/mapHeaders/SaffronPokecenter.asm" +INCLUDE "data/maps/headers/SaffronPokecenter.asm" INCLUDE "scripts/SaffronPokecenter.asm" -INCLUDE "data/mapObjects/SaffronPokecenter.asm" +INCLUDE "data/maps/objects/SaffronPokecenter.asm" -INCLUDE "data/mapHeaders/ViridianForestNorthGate.asm" +INCLUDE "data/maps/headers/ViridianForestNorthGate.asm" INCLUDE "scripts/ViridianForestNorthGate.asm" -INCLUDE "data/mapObjects/ViridianForestNorthGate.asm" +INCLUDE "data/maps/objects/ViridianForestNorthGate.asm" -INCLUDE "data/mapHeaders/Route2Gate.asm" +INCLUDE "data/maps/headers/Route2Gate.asm" INCLUDE "scripts/Route2Gate.asm" -INCLUDE "data/mapObjects/Route2Gate.asm" +INCLUDE "data/maps/objects/Route2Gate.asm" -INCLUDE "data/mapHeaders/ViridianForestSouthGate.asm" +INCLUDE "data/maps/headers/ViridianForestSouthGate.asm" INCLUDE "scripts/ViridianForestSouthGate.asm" -INCLUDE "data/mapObjects/ViridianForestSouthGate.asm" +INCLUDE "data/maps/objects/ViridianForestSouthGate.asm" -INCLUDE "data/mapHeaders/UndergroundPathRoute5.asm" +INCLUDE "data/maps/headers/UndergroundPathRoute5.asm" INCLUDE "scripts/UndergroundPathRoute5.asm" -INCLUDE "data/mapObjects/UndergroundPathRoute5.asm" +INCLUDE "data/maps/objects/UndergroundPathRoute5.asm" -INCLUDE "data/mapHeaders/UndergroundPathRoute6.asm" +INCLUDE "data/maps/headers/UndergroundPathRoute6.asm" INCLUDE "scripts/UndergroundPathRoute6.asm" -INCLUDE "data/mapObjects/UndergroundPathRoute6.asm" +INCLUDE "data/maps/objects/UndergroundPathRoute6.asm" -INCLUDE "data/mapHeaders/UndergroundPathRoute7.asm" +INCLUDE "data/maps/headers/UndergroundPathRoute7.asm" INCLUDE "scripts/UndergroundPathRoute7.asm" -INCLUDE "data/mapObjects/UndergroundPathRoute7.asm" +INCLUDE "data/maps/objects/UndergroundPathRoute7.asm" -INCLUDE "data/mapHeaders/UndergroundPathRoute7Copy.asm" +INCLUDE "data/maps/headers/UndergroundPathRoute7Copy.asm" INCLUDE "scripts/UndergroundPathRoute7Copy.asm" -INCLUDE "data/mapObjects/UndergroundPathRoute7Copy.asm" +INCLUDE "data/maps/objects/UndergroundPathRoute7Copy.asm" -INCLUDE "data/mapHeaders/SilphCo9F.asm" +INCLUDE "data/maps/headers/SilphCo9F.asm" INCLUDE "scripts/SilphCo9F.asm" -INCLUDE "data/mapObjects/SilphCo9F.asm" +INCLUDE "data/maps/objects/SilphCo9F.asm" SilphCo9F_Blocks: INCBIN "maps/SilphCo9F.blk" -INCLUDE "data/mapHeaders/VictoryRoad1F.asm" +INCLUDE "data/maps/headers/VictoryRoad1F.asm" INCLUDE "scripts/VictoryRoad1F.asm" -INCLUDE "data/mapObjects/VictoryRoad1F.asm" +INCLUDE "data/maps/objects/VictoryRoad1F.asm" VictoryRoad1F_Blocks: INCBIN "maps/VictoryRoad1F.blk" @@ -987,114 +987,114 @@ UndergroundPathWestEast_Blocks: INCBIN "maps/UndergroundPathWestEast.blk" SSAnneB1FRooms_Blocks: SSAnne2FRooms_Blocks: INCBIN "maps/SSAnne2FRooms.blk" -INCLUDE "data/mapHeaders/PokemonTower1F.asm" +INCLUDE "data/maps/headers/PokemonTower1F.asm" INCLUDE "scripts/PokemonTower1F.asm" -INCLUDE "data/mapObjects/PokemonTower1F.asm" +INCLUDE "data/maps/objects/PokemonTower1F.asm" PokemonTower1F_Blocks: INCBIN "maps/PokemonTower1F.blk" -INCLUDE "data/mapHeaders/PokemonTower2F.asm" +INCLUDE "data/maps/headers/PokemonTower2F.asm" INCLUDE "scripts/PokemonTower2F.asm" -INCLUDE "data/mapObjects/PokemonTower2F.asm" +INCLUDE "data/maps/objects/PokemonTower2F.asm" PokemonTower2F_Blocks: INCBIN "maps/PokemonTower2F.blk" -INCLUDE "data/mapHeaders/PokemonTower3F.asm" +INCLUDE "data/maps/headers/PokemonTower3F.asm" INCLUDE "scripts/PokemonTower3F.asm" -INCLUDE "data/mapObjects/PokemonTower3F.asm" +INCLUDE "data/maps/objects/PokemonTower3F.asm" PokemonTower3F_Blocks: INCBIN "maps/PokemonTower3F.blk" -INCLUDE "data/mapHeaders/PokemonTower4F.asm" +INCLUDE "data/maps/headers/PokemonTower4F.asm" INCLUDE "scripts/PokemonTower4F.asm" -INCLUDE "data/mapObjects/PokemonTower4F.asm" +INCLUDE "data/maps/objects/PokemonTower4F.asm" PokemonTower4F_Blocks: INCBIN "maps/PokemonTower4F.blk" -INCLUDE "data/mapHeaders/PokemonTower5F.asm" +INCLUDE "data/maps/headers/PokemonTower5F.asm" INCLUDE "scripts/PokemonTower5F.asm" -INCLUDE "data/mapObjects/PokemonTower5F.asm" +INCLUDE "data/maps/objects/PokemonTower5F.asm" PokemonTower5F_Blocks: INCBIN "maps/PokemonTower5F.blk" -INCLUDE "data/mapHeaders/PokemonTower6F.asm" +INCLUDE "data/maps/headers/PokemonTower6F.asm" INCLUDE "scripts/PokemonTower6F.asm" -INCLUDE "data/mapObjects/PokemonTower6F.asm" +INCLUDE "data/maps/objects/PokemonTower6F.asm" PokemonTower6F_Blocks: INCBIN "maps/PokemonTower6F.blk" INCBIN "maps/UnusedEmptyMap.blk" -INCLUDE "data/mapHeaders/PokemonTower7F.asm" +INCLUDE "data/maps/headers/PokemonTower7F.asm" INCLUDE "scripts/PokemonTower7F.asm" -INCLUDE "data/mapObjects/PokemonTower7F.asm" +INCLUDE "data/maps/objects/PokemonTower7F.asm" PokemonTower7F_Blocks: INCBIN "maps/PokemonTower7F.blk" -INCLUDE "data/mapHeaders/CeladonMart1F.asm" +INCLUDE "data/maps/headers/CeladonMart1F.asm" INCLUDE "scripts/CeladonMart1F.asm" -INCLUDE "data/mapObjects/CeladonMart1F.asm" +INCLUDE "data/maps/objects/CeladonMart1F.asm" CeladonMart1F_Blocks: INCBIN "maps/CeladonMart1F.blk" SECTION "Maps 18", ROMX -INCLUDE "data/mapHeaders/ViridianForest.asm" +INCLUDE "data/maps/headers/ViridianForest.asm" INCLUDE "scripts/ViridianForest.asm" -INCLUDE "data/mapObjects/ViridianForest.asm" +INCLUDE "data/maps/objects/ViridianForest.asm" -INCLUDE "data/mapHeaders/SSAnne1F.asm" +INCLUDE "data/maps/headers/SSAnne1F.asm" INCLUDE "scripts/SSAnne1F.asm" -INCLUDE "data/mapObjects/SSAnne1F.asm" +INCLUDE "data/maps/objects/SSAnne1F.asm" SSAnne1F_Blocks: INCBIN "maps/SSAnne1F.blk" -INCLUDE "data/mapHeaders/SSAnne2F.asm" +INCLUDE "data/maps/headers/SSAnne2F.asm" INCLUDE "scripts/SSAnne2F.asm" -INCLUDE "data/mapObjects/SSAnne2F.asm" +INCLUDE "data/maps/objects/SSAnne2F.asm" SSAnne2F_Blocks: INCBIN "maps/SSAnne2F.blk" -INCLUDE "data/mapHeaders/SSAnneB1F.asm" +INCLUDE "data/maps/headers/SSAnneB1F.asm" INCLUDE "scripts/SSAnneB1F.asm" -INCLUDE "data/mapObjects/SSAnneB1F.asm" +INCLUDE "data/maps/objects/SSAnneB1F.asm" SSAnneB1F_Blocks: INCBIN "maps/SSAnneB1F.blk" -INCLUDE "data/mapHeaders/SSAnneBow.asm" +INCLUDE "data/maps/headers/SSAnneBow.asm" INCLUDE "scripts/SSAnneBow.asm" -INCLUDE "data/mapObjects/SSAnneBow.asm" +INCLUDE "data/maps/objects/SSAnneBow.asm" SSAnneBow_Blocks: INCBIN "maps/SSAnneBow.blk" -INCLUDE "data/mapHeaders/SSAnneKitchen.asm" +INCLUDE "data/maps/headers/SSAnneKitchen.asm" INCLUDE "scripts/SSAnneKitchen.asm" -INCLUDE "data/mapObjects/SSAnneKitchen.asm" +INCLUDE "data/maps/objects/SSAnneKitchen.asm" SSAnneKitchen_Blocks: INCBIN "maps/SSAnneKitchen.blk" -INCLUDE "data/mapHeaders/SSAnneCaptainsRoom.asm" +INCLUDE "data/maps/headers/SSAnneCaptainsRoom.asm" INCLUDE "scripts/SSAnneCaptainsRoom.asm" -INCLUDE "data/mapObjects/SSAnneCaptainsRoom.asm" +INCLUDE "data/maps/objects/SSAnneCaptainsRoom.asm" SSAnneCaptainsRoom_Blocks: INCBIN "maps/SSAnneCaptainsRoom.blk" -INCLUDE "data/mapHeaders/SSAnne1FRooms.asm" +INCLUDE "data/maps/headers/SSAnne1FRooms.asm" INCLUDE "scripts/SSAnne1FRooms.asm" -INCLUDE "data/mapObjects/SSAnne1FRooms.asm" +INCLUDE "data/maps/objects/SSAnne1FRooms.asm" SSAnne1FRooms_Blocks: INCBIN "maps/SSAnne1FRooms.blk" -INCLUDE "data/mapHeaders/SSAnne2FRooms.asm" +INCLUDE "data/maps/headers/SSAnne2FRooms.asm" INCLUDE "scripts/SSAnne2FRooms.asm" -INCLUDE "data/mapObjects/SSAnne2FRooms.asm" +INCLUDE "data/maps/objects/SSAnne2FRooms.asm" -INCLUDE "data/mapHeaders/SSAnneB1FRooms.asm" +INCLUDE "data/maps/headers/SSAnneB1FRooms.asm" INCLUDE "scripts/SSAnneB1FRooms.asm" -INCLUDE "data/mapObjects/SSAnneB1FRooms.asm" +INCLUDE "data/maps/objects/SSAnneB1FRooms.asm" -INCLUDE "data/mapHeaders/UndergroundPathNorthSouth.asm" +INCLUDE "data/maps/headers/UndergroundPathNorthSouth.asm" INCLUDE "scripts/UndergroundPathNorthSouth.asm" -INCLUDE "data/mapObjects/UndergroundPathNorthSouth.asm" +INCLUDE "data/maps/objects/UndergroundPathNorthSouth.asm" -INCLUDE "data/mapHeaders/UndergroundPathWestEast.asm" +INCLUDE "data/maps/headers/UndergroundPathWestEast.asm" INCLUDE "scripts/UndergroundPathWestEast.asm" -INCLUDE "data/mapObjects/UndergroundPathWestEast.asm" +INCLUDE "data/maps/objects/UndergroundPathWestEast.asm" -INCLUDE "data/mapHeaders/DiglettsCave.asm" +INCLUDE "data/maps/headers/DiglettsCave.asm" INCLUDE "scripts/DiglettsCave.asm" -INCLUDE "data/mapObjects/DiglettsCave.asm" +INCLUDE "data/maps/objects/DiglettsCave.asm" DiglettsCave_Blocks: INCBIN "maps/DiglettsCave.blk" -INCLUDE "data/mapHeaders/SilphCo11F.asm" +INCLUDE "data/maps/headers/SilphCo11F.asm" INCLUDE "scripts/SilphCo11F.asm" -INCLUDE "data/mapObjects/SilphCo11F.asm" +INCLUDE "data/maps/objects/SilphCo11F.asm" SilphCo11F_Blocks: INCBIN "maps/SilphCo11F.blk" @@ -1117,108 +1117,108 @@ SECTION "Maps 20", ROMX INCLUDE "scripts/CeruleanCity_2.asm" -INCLUDE "data/mapHeaders/ViridianGym.asm" +INCLUDE "data/maps/headers/ViridianGym.asm" INCLUDE "scripts/ViridianGym.asm" -INCLUDE "data/mapObjects/ViridianGym.asm" +INCLUDE "data/maps/objects/ViridianGym.asm" ViridianGym_Blocks: INCBIN "maps/ViridianGym.blk" -INCLUDE "data/mapHeaders/PewterMart.asm" +INCLUDE "data/maps/headers/PewterMart.asm" INCLUDE "scripts/PewterMart.asm" -INCLUDE "data/mapObjects/PewterMart.asm" +INCLUDE "data/maps/objects/PewterMart.asm" -INCLUDE "data/mapHeaders/CeruleanCave1F.asm" +INCLUDE "data/maps/headers/CeruleanCave1F.asm" INCLUDE "scripts/CeruleanCave1F.asm" -INCLUDE "data/mapObjects/CeruleanCave1F.asm" +INCLUDE "data/maps/objects/CeruleanCave1F.asm" CeruleanCave1F_Blocks: INCBIN "maps/CeruleanCave1F.blk" -INCLUDE "data/mapHeaders/CeruleanBadgeHouse.asm" +INCLUDE "data/maps/headers/CeruleanBadgeHouse.asm" INCLUDE "scripts/CeruleanBadgeHouse.asm" -INCLUDE "data/mapObjects/CeruleanBadgeHouse.asm" +INCLUDE "data/maps/objects/CeruleanBadgeHouse.asm" SECTION "Maps 21", ROMX -INCLUDE "data/mapHeaders/FuchsiaBillsGrandpasHouse.asm" +INCLUDE "data/maps/headers/FuchsiaBillsGrandpasHouse.asm" INCLUDE "scripts/FuchsiaBillsGrandpasHouse.asm" -INCLUDE "data/mapObjects/FuchsiaBillsGrandpasHouse.asm" +INCLUDE "data/maps/objects/FuchsiaBillsGrandpasHouse.asm" -INCLUDE "data/mapHeaders/FuchsiaPokecenter.asm" +INCLUDE "data/maps/headers/FuchsiaPokecenter.asm" INCLUDE "scripts/FuchsiaPokecenter.asm" -INCLUDE "data/mapObjects/FuchsiaPokecenter.asm" +INCLUDE "data/maps/objects/FuchsiaPokecenter.asm" -INCLUDE "data/mapHeaders/WardensHouse.asm" +INCLUDE "data/maps/headers/WardensHouse.asm" INCLUDE "scripts/WardensHouse.asm" -INCLUDE "data/mapObjects/WardensHouse.asm" +INCLUDE "data/maps/objects/WardensHouse.asm" WardensHouse_Blocks: INCBIN "maps/WardensHouse.blk" -INCLUDE "data/mapHeaders/SafariZoneGate.asm" +INCLUDE "data/maps/headers/SafariZoneGate.asm" INCLUDE "scripts/SafariZoneGate.asm" -INCLUDE "data/mapObjects/SafariZoneGate.asm" +INCLUDE "data/maps/objects/SafariZoneGate.asm" SafariZoneGate_Blocks: INCBIN "maps/SafariZoneGate.blk" -INCLUDE "data/mapHeaders/FuchsiaGym.asm" +INCLUDE "data/maps/headers/FuchsiaGym.asm" INCLUDE "scripts/FuchsiaGym.asm" -INCLUDE "data/mapObjects/FuchsiaGym.asm" +INCLUDE "data/maps/objects/FuchsiaGym.asm" FuchsiaGym_Blocks: INCBIN "maps/FuchsiaGym.blk" -INCLUDE "data/mapHeaders/FuchsiaMeetingRoom.asm" +INCLUDE "data/maps/headers/FuchsiaMeetingRoom.asm" INCLUDE "scripts/FuchsiaMeetingRoom.asm" -INCLUDE "data/mapObjects/FuchsiaMeetingRoom.asm" +INCLUDE "data/maps/objects/FuchsiaMeetingRoom.asm" FuchsiaMeetingRoom_Blocks: INCBIN "maps/FuchsiaMeetingRoom.blk" -INCLUDE "data/mapHeaders/CinnabarGym.asm" +INCLUDE "data/maps/headers/CinnabarGym.asm" INCLUDE "scripts/CinnabarGym.asm" -INCLUDE "data/mapObjects/CinnabarGym.asm" +INCLUDE "data/maps/objects/CinnabarGym.asm" CinnabarGym_Blocks: INCBIN "maps/CinnabarGym.blk" -INCLUDE "data/mapHeaders/CinnabarLab.asm" +INCLUDE "data/maps/headers/CinnabarLab.asm" INCLUDE "scripts/CinnabarLab.asm" -INCLUDE "data/mapObjects/CinnabarLab.asm" +INCLUDE "data/maps/objects/CinnabarLab.asm" CinnabarLab_Blocks: INCBIN "maps/CinnabarLab.blk" -INCLUDE "data/mapHeaders/CinnabarLabTradeRoom.asm" +INCLUDE "data/maps/headers/CinnabarLabTradeRoom.asm" INCLUDE "scripts/CinnabarLabTradeRoom.asm" -INCLUDE "data/mapObjects/CinnabarLabTradeRoom.asm" +INCLUDE "data/maps/objects/CinnabarLabTradeRoom.asm" CinnabarLabTradeRoom_Blocks: INCBIN "maps/CinnabarLabTradeRoom.blk" -INCLUDE "data/mapHeaders/CinnabarLabMetronomeRoom.asm" +INCLUDE "data/maps/headers/CinnabarLabMetronomeRoom.asm" INCLUDE "scripts/CinnabarLabMetronomeRoom.asm" -INCLUDE "data/mapObjects/CinnabarLabMetronomeRoom.asm" +INCLUDE "data/maps/objects/CinnabarLabMetronomeRoom.asm" CinnabarLabMetronomeRoom_Blocks: INCBIN "maps/CinnabarLabMetronomeRoom.blk" -INCLUDE "data/mapHeaders/CinnabarLabFossilRoom.asm" +INCLUDE "data/maps/headers/CinnabarLabFossilRoom.asm" INCLUDE "scripts/CinnabarLabFossilRoom.asm" -INCLUDE "data/mapObjects/CinnabarLabFossilRoom.asm" +INCLUDE "data/maps/objects/CinnabarLabFossilRoom.asm" CinnabarLabFossilRoom_Blocks: INCBIN "maps/CinnabarLabFossilRoom.blk" -INCLUDE "data/mapHeaders/CinnabarPokecenter.asm" +INCLUDE "data/maps/headers/CinnabarPokecenter.asm" INCLUDE "scripts/CinnabarPokecenter.asm" -INCLUDE "data/mapObjects/CinnabarPokecenter.asm" +INCLUDE "data/maps/objects/CinnabarPokecenter.asm" -INCLUDE "data/mapHeaders/CinnabarMart.asm" +INCLUDE "data/maps/headers/CinnabarMart.asm" INCLUDE "scripts/CinnabarMart.asm" -INCLUDE "data/mapObjects/CinnabarMart.asm" +INCLUDE "data/maps/objects/CinnabarMart.asm" -INCLUDE "data/mapHeaders/CopycatsHouse1F.asm" +INCLUDE "data/maps/headers/CopycatsHouse1F.asm" INCLUDE "scripts/CopycatsHouse1F.asm" -INCLUDE "data/mapObjects/CopycatsHouse1F.asm" +INCLUDE "data/maps/objects/CopycatsHouse1F.asm" -INCLUDE "data/mapHeaders/ChampionsRoom.asm" +INCLUDE "data/maps/headers/ChampionsRoom.asm" INCLUDE "scripts/ChampionsRoom.asm" -INCLUDE "data/mapObjects/ChampionsRoom.asm" +INCLUDE "data/maps/objects/ChampionsRoom.asm" ChampionsRoom_Blocks: INCBIN "maps/ChampionsRoom.blk" -INCLUDE "data/mapHeaders/LoreleisRoom.asm" +INCLUDE "data/maps/headers/LoreleisRoom.asm" INCLUDE "scripts/LoreleisRoom.asm" -INCLUDE "data/mapObjects/LoreleisRoom.asm" +INCLUDE "data/maps/objects/LoreleisRoom.asm" LoreleisRoom_Blocks: INCBIN "maps/LoreleisRoom.blk" -INCLUDE "data/mapHeaders/BrunosRoom.asm" +INCLUDE "data/maps/headers/BrunosRoom.asm" INCLUDE "scripts/BrunosRoom.asm" -INCLUDE "data/mapObjects/BrunosRoom.asm" +INCLUDE "data/maps/objects/BrunosRoom.asm" BrunosRoom_Blocks: INCBIN "maps/BrunosRoom.blk" -INCLUDE "data/mapHeaders/AgathasRoom.asm" +INCLUDE "data/maps/headers/AgathasRoom.asm" INCLUDE "scripts/AgathasRoom.asm" -INCLUDE "data/mapObjects/AgathasRoom.asm" +INCLUDE "data/maps/objects/AgathasRoom.asm" AgathasRoom_Blocks: INCBIN "maps/AgathasRoom.blk" -- cgit v1.2.3 From 35deb771130a9012ee4494b1db097761f2fe2919 Mon Sep 17 00:00:00 2001 From: Rangi Date: Fri, 3 Jul 2020 19:59:41 -0400 Subject: H_CONSTANTNAMES -> hConstantNames --- engine/battle/animations.asm | 66 ++-- engine/battle/battle_transitions.asm | 18 +- engine/battle/common_text.asm | 22 +- engine/battle/core.asm | 332 ++++++++-------- engine/battle/effects.asm | 122 +++--- engine/battle/experience.asm | 32 +- engine/battle/ghost_marowak_anim.asm | 6 +- engine/battle/move_effects/conversion.asm | 2 +- engine/battle/move_effects/drain_hp.asm | 6 +- engine/battle/move_effects/focus_energy.asm | 2 +- engine/battle/move_effects/haze.asm | 2 +- engine/battle/move_effects/heal.asm | 6 +- engine/battle/move_effects/leech_seed.asm | 2 +- engine/battle/move_effects/mist.asm | 2 +- engine/battle/move_effects/one_hit_ko.asm | 2 +- engine/battle/move_effects/paralyze.asm | 2 +- engine/battle/move_effects/pay_day.asm | 24 +- engine/battle/move_effects/recoil.asm | 4 +- .../battle/move_effects/reflect_light_screen.asm | 2 +- engine/battle/move_effects/substitute.asm | 2 +- engine/battle/move_effects/transform.asm | 8 +- engine/battle/scale_sprites.asm | 6 +- engine/battle/trainer_ai.asm | 10 +- engine/battle/unused_stats_functions.asm | 4 +- engine/debug/test_battle.asm | 2 +- engine/events/hidden_objects/museum_fossils.asm | 2 +- engine/events/hidden_objects/town_map.asm | 4 +- engine/gfx/hp_bar.asm | 16 +- engine/items/item_effects.asm | 98 ++--- engine/link/cable_club.asm | 8 +- engine/math/multiply_divide.asm | 158 ++++---- engine/menus/display_text_id_init.asm | 2 +- engine/menus/main_menu.asm | 10 +- engine/menus/naming_screen.asm | 4 +- engine/menus/party_menu.asm | 12 +- engine/menus/pokedex.asm | 6 +- engine/menus/save.asm | 12 +- engine/menus/start_sub_menus.asm | 12 +- engine/movie/credits.asm | 10 +- engine/movie/evolution.asm | 10 +- engine/movie/hall_of_fame.asm | 2 +- engine/movie/intro.asm | 4 +- engine/movie/oak_speech/oak_speech.asm | 8 +- engine/movie/oak_speech/oak_speech2.asm | 4 +- engine/movie/title.asm | 6 +- engine/movie/trade.asm | 36 +- engine/overworld/auto_movement.asm | 4 +- engine/overworld/clear_variables.asm | 2 +- engine/overworld/missable_objects.asm | 14 +- engine/overworld/movement.asm | 84 ++-- engine/overworld/push_boulder.asm | 2 +- engine/overworld/sprite_collisions.asm | 12 +- engine/overworld/trainer_sight.asm | 12 +- engine/overworld/turn_sprite.asm | 6 +- engine/overworld/update_map.asm | 6 +- engine/pokemon/add_mon.asm | 4 +- engine/pokemon/bills_pc.asm | 6 +- engine/pokemon/evos_moves.asm | 4 +- engine/pokemon/experience.asm | 50 +-- engine/pokemon/learn_move.asm | 12 +- engine/pokemon/status_screen.asm | 6 +- engine/slots/game_corner_slots.asm | 2 +- home.asm | 432 ++++++++++----------- home/audio.asm | 6 +- home/copy.asm | 6 +- home/copy2.asm | 76 ++-- home/init.asm | 6 +- home/overworld.asm | 22 +- home/pic.asm | 6 +- home/predef.asm | 8 +- home/start_menu.asm | 2 +- home/text.asm | 12 +- home/vblank.asm | 20 +- home/vcopy.asm | 116 +++--- hram.asm | 81 ++-- macros/farcall.asm | 6 +- scripts/BillsHouse.asm | 4 +- scripts/CeladonGym.asm | 2 +- scripts/CeruleanCity.asm | 12 +- scripts/CeruleanGym.asm | 2 +- scripts/ChampionsRoom.asm | 16 +- scripts/CinnabarGym.asm | 2 +- scripts/FightingDojo.asm | 4 +- scripts/FuchsiaGym.asm | 2 +- scripts/GameCorner.asm | 6 +- scripts/HallOfFame.asm | 2 +- scripts/MtMoonB2F.asm | 6 +- scripts/OaksLab.asm | 52 +-- scripts/PalletTown.asm | 6 +- scripts/PewterCity.asm | 12 +- scripts/PewterGym.asm | 2 +- scripts/PokemonTower2F.asm | 4 +- scripts/PokemonTower7F.asm | 2 +- scripts/RocketHideoutB4F.asm | 2 +- scripts/Route22.asm | 16 +- scripts/SSAnne2F.asm | 8 +- scripts/SaffronGym.asm | 2 +- scripts/SilphCo11F.asm | 8 +- scripts/SilphCo7F.asm | 8 +- scripts/TradeCenter.asm | 2 +- scripts/VermilionDock.asm | 4 +- scripts/VermilionGym.asm | 2 +- scripts/ViridianGym.asm | 2 +- scripts/WardensHouse.asm | 2 +- 104 files changed, 1163 insertions(+), 1164 deletions(-) diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index 4f75aab9..c16fa3ec 100755 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -308,7 +308,7 @@ LoadSubanimation: ; sets the transform to the subanimation type if it's the enemy's turn GetSubanimationTransform1: ld b, a - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, b ret nz @@ -319,7 +319,7 @@ GetSubanimationTransform1: ; sets the transform to 2 (i.e. horizontal and vertical flip) if it's the player's turn ; sets the transform to 0 (i.e. no transform) if it's the enemy's turn GetSubanimationTransform2: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, 2 << 5 ret z @@ -421,7 +421,7 @@ MoveAnimation: ShareMoveAnimations: ; some moves just reuse animations from status conditions - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ret z @@ -920,16 +920,16 @@ AnimationDelay10: ; calls a function with the turn flipped from player to enemy or vice versa ; input - hl - address of function to call CallWithTurnFlipped: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] push af xor 1 - ld [H_WHOSETURN], a + ld [hWhoseTurn], a ld de, .returnAddress push de jp hl .returnAddress pop af - ld [H_WHOSETURN], a + ld [hWhoseTurn], a ret ; flashes the screen for an extended period (48 frames) @@ -1133,7 +1133,7 @@ _AnimationWaterDroplets: AnimationSlideMonUp: ; Slides the mon's sprite upwards. ld c, 7 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a coord hl, 1, 6 coord de, 1, 5 @@ -1201,7 +1201,7 @@ _AnimationSlideMonUp: jr nz, .slideLoop ; Fill in the bottom row of the mon pic with the next row's tile IDs. - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a coord hl, 1, 11 jr z, .next @@ -1370,7 +1370,7 @@ AnimationShowEnemyMonPic: AnimationShakeBackAndForth: ; Shakes the mon's sprite back and forth rapidly. This is used in Double Team. ; The mon's sprite disappears after this animation. - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a coord hl, 0, 5 coord de, 2, 5 @@ -1418,7 +1418,7 @@ AnimationMoveMonHorizontally: ; Shifts the mon's sprite horizontally to a fixed location. Used by lots of ; animations like Tackle/Body Slam. call AnimationHideMonPic - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a coord hl, 2, 5 jr z, .next @@ -1434,7 +1434,7 @@ AnimationMoveMonHorizontally: AnimationResetMonPosition: ; Resets the mon's sprites to be located at the normal coordinates. - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, 5 * SCREEN_WIDTH + 2 jr z, .next @@ -1446,7 +1446,7 @@ AnimationResetMonPosition: AnimationSpiralBallsInward: ; Creates an effect that looks like energy balls spiralling into the ; player mon's sprite. Used in Focus Energy, for example. - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playerTurn ld a, -40 @@ -1530,7 +1530,7 @@ AnimationSquishMonPic: ld c, 4 .loop push bc - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playerTurn coord hl, 16, 0 @@ -1583,7 +1583,7 @@ _AnimationSquishMonPic: AnimationShootBallsUpward: ; Shoots one pillar of "energy" balls upwards. Used in Teleport/Sky Attack ; animations. - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playerTurn lb bc, 0, 16 * 8 @@ -1651,7 +1651,7 @@ _AnimationShootBallsUpward: AnimationShootManyBallsUpward: ; Shoots several pillars of "energy" balls upward. - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld hl, UpwardBallsAnimXCoordinatesPlayerTurn ld a, $50 ; y coordinate for "energy" ball pillar @@ -1743,7 +1743,7 @@ AnimationSlideMonDownAndHide: _AnimationSlideMonOff: ; Slides the mon's sprite off the screen horizontally by e tiles and waits ; [wSlideMonDelay] V-blanks each time the pic is slid by one tile. - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playerTurn coord hl, 12, 0 @@ -1758,7 +1758,7 @@ _AnimationSlideMonOff: .rowLoop ; iterates once for each row ld c, 8 .tileLoop ; iterates once for each tile in the row - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playerTurn2 call .EnemyNextTile @@ -1821,7 +1821,7 @@ AnimationSlideMonHalfOff: jp Delay3 CopyTempPicToMonPic: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld hl, vBackPic ; player turn jr z, .next @@ -1837,7 +1837,7 @@ AnimationWavyScreen: call BattleAnimCopyTileMapToVRAM call Delay3 xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld a, SCREEN_HEIGHT_PIXELS ld [hWY], a ld d, $80 ; terminator @@ -1865,7 +1865,7 @@ AnimationWavyScreen: call SaveScreenTilesToBuffer2 call ClearScreen ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Delay3 call LoadScreenTilesFromBuffer2 ld hl, vBGMap1 @@ -1898,7 +1898,7 @@ AnimationSubstitute: xor a ld bc, $0310 call FillMemory - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playerTurn ld hl, SlowbroSprite ; facing down sprite @@ -1937,7 +1937,7 @@ CopySlowbroSpriteData: jp FarCopyData2 HideSubstituteShowMonAnim: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld hl, wPlayerMonMinimized ld a, [wPlayerBattleStatus2] @@ -1987,7 +1987,7 @@ AnimationTransformMon: ld [wChangeMonPicEnemyTurnSpecies], a ChangeMonPic: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playerTurn ld a, [wChangeMonPicEnemyTurnSpecies] @@ -2020,11 +2020,11 @@ ChangeMonPic: AnimationHideEnemyMonPic: ; Hides the enemy mon's sprite xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld hl, AnimationHideMonPic call CallWithTurnFlipped ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a jp Delay3 InitMultipleObjectsOAM: @@ -2050,7 +2050,7 @@ InitMultipleObjectsOAM: AnimationHideMonPic: ; Hides the mon's sprite. - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playerTurn ld a, 12 @@ -2078,7 +2078,7 @@ ClearMonPicFromTileMap: ; in order to show only a portion of the mon sprite. GetMonSpriteTileMapPointerFromRowCount: push de - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr nz, .enemyTurn ld a, 20 * 5 + 1 @@ -2166,7 +2166,7 @@ GetMoveSound: ld b, a call IsCryMove jr nc, .NotCryMove - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr nz, .next ld a, [wBattleMonSpecies] ; get number of current monster @@ -2211,7 +2211,7 @@ IsCryMove: INCLUDE "data/moves/sfx.asm" CopyPicTiles: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, $31 ; base tile ID of player mon sprite jr z, .next @@ -2235,7 +2235,7 @@ CopyDownscaledMonTiles: CopyTileIDs_NoBGTransfer: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ; fall through ; b = number of rows @@ -2261,7 +2261,7 @@ CopyTileIDs: dec b jr nz, .rowLoop ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a pop hl ret @@ -2624,9 +2624,9 @@ ShakeEnemyHUD_ShakeBG: BattleAnimCopyTileMapToVRAM: ld a, h - ld [H_AUTOBGTRANSFERDEST + 1], a + ld [hAutoBGTransferDest + 1], a ld a, l - ld [H_AUTOBGTRANSFERDEST], a + ld [hAutoBGTransferDest], a jp Delay3 TossBallAnimation: diff --git a/engine/battle/battle_transitions.asm b/engine/battle/battle_transitions.asm index 06b02aec..98e87dc0 100644 --- a/engine/battle/battle_transitions.asm +++ b/engine/battle/battle_transitions.asm @@ -1,6 +1,6 @@ BattleTransition: ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Delay3 xor a ld [hWY], a @@ -349,7 +349,7 @@ BattleTransition_Shrink: .loop push bc xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a coord hl, 0, 7 coord de, 0, 8 ld bc, -SCREEN_WIDTH * 2 @@ -367,7 +367,7 @@ BattleTransition_Shrink: ld bc, 2 call BattleTransition_CopyTiles2 ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld c, 6 call DelayFrames pop bc @@ -381,7 +381,7 @@ BattleTransition_Shrink: BattleTransition_Split: ld c, SCREEN_HEIGHT / 2 xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a .loop push bc coord hl, 0, 16 @@ -496,7 +496,7 @@ BattleTransition_VerticalStripes: coord hl, 0, 0 coord de, 1, 17 xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a .loop push bc push hl @@ -535,7 +535,7 @@ BattleTransition_HorizontalStripes: coord hl, 0, 0 coord de, 19, 1 xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a .loop push bc push hl @@ -582,7 +582,7 @@ BattleTransition_FlashScreen: ld b, $3 call BattleTransition_FlashScreen_ xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ret BattleTransition_Circle_Sub1: @@ -601,10 +601,10 @@ BattleTransition_Circle_Sub1: BattleTransition_TransferDelay3: ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Delay3 xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ret ; used for low level wild non-dungeon battles diff --git a/engine/battle/common_text.asm b/engine/battle/common_text.asm index e541d604..e8998414 100644 --- a/engine/battle/common_text.asm +++ b/engine/battle/common_text.asm @@ -101,16 +101,16 @@ PrintSendOutMonMessage: ld hl, GoText jr z, .printText xor a - ld [H_MULTIPLICAND], a + ld [hMultiplicand], a ld hl, wEnemyMonHP ld a, [hli] ld [wLastSwitchInEnemyMonHP], a - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand + 1], a ld a, [hl] ld [wLastSwitchInEnemyMonHP + 1], a - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a ld a, 25 - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ld hl, wEnemyMonMaxHP ld a, [hli] @@ -121,9 +121,9 @@ PrintSendOutMonMessage: rr b ld a, b ld b, 4 - ld [H_DIVISOR], a ; enemy mon max HP divided by 4 + ld [hDivisor], a ; enemy mon max HP divided by 4 call Divide - ld a, [H_QUOTIENT + 3] ; a = (enemy mon current HP * 25) / (enemy max HP / 4); this approximates the current percentage of max HP + ld a, [hQuotient + 3] ; a = (enemy mon current HP * 25) / (enemy max HP / 4); this approximates the current percentage of max HP ld hl, GoText ; 70% or greater cp 70 jr nc, .printText @@ -179,14 +179,14 @@ PlayerMon2Text: dec hl ld a, [de] sub b - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a dec de ld b, [hl] ld a, [de] sbc b - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand + 1], a ld a, 25 - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ld hl, wEnemyMonMaxHP ld a, [hli] @@ -197,11 +197,11 @@ PlayerMon2Text: rr b ld a, b ld b, 4 - ld [H_DIVISOR], a + ld [hDivisor], a call Divide pop bc pop de - ld a, [H_QUOTIENT + 3] ; a = ((LastSwitchInEnemyMonHP - CurrentEnemyMonHP) / 25) / (EnemyMonMaxHP / 4) + ld a, [hQuotient + 3] ; a = ((LastSwitchInEnemyMonHP - CurrentEnemyMonHP) / 25) / (EnemyMonMaxHP / 4) ; Assuming that the enemy mon hasn't gained HP since the last switch in, ; a approximates the percentage that the enemy mon's total HP has decreased ; since the last switch in. diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 647436ff..e503243d 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -57,7 +57,7 @@ SlidePlayerAndEnemySilhouettesOnScreen: ld [wUpdateSpritesEnabled], a call Delay3 xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld b, $70 ld c, $90 ld a, c @@ -83,7 +83,7 @@ SlidePlayerAndEnemySilhouettesOnScreen: dec c jr nz, .slideSilhouettesLoop ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld a, $31 ld [hStartTileID], a coord hl, 1, 5 @@ -92,7 +92,7 @@ SlidePlayerAndEnemySilhouettesOnScreen: ld [hWY], a ld [rWY], a inc a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Delay3 ld b, SET_PAL_BATTLE call RunPaletteCommand @@ -266,7 +266,7 @@ EnemyRan: ld a, SFX_RUN call PlaySoundWaitForCurrent xor a - ld [H_WHOSETURN], a + ld [hWhoseTurn], a jpab AnimationSlideEnemyMonOff WildRanText: @@ -412,7 +412,7 @@ MainInBattleLoop: jr .playerMovesFirst .enemyMovesFirst ld a, $1 - ld [H_WHOSETURN], a + ld [hWhoseTurn], a callab TrainerAI jr c, .AIActionUsedEnemyFirst call ExecuteEnemyMove @@ -450,7 +450,7 @@ MainInBattleLoop: jp z, HandlePlayerMonFainted call DrawHUDsAndHPBars ld a, $1 - ld [H_WHOSETURN], a + ld [hWhoseTurn], a callab TrainerAI jr c, .AIActionUsedPlayerFirst call ExecuteEnemyMove @@ -470,7 +470,7 @@ MainInBattleLoop: HandlePoisonBurnLeechSeed: ld hl, wBattleMonHP ld de, wBattleMonStatus - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playersTurn ld hl, wEnemyMonHP @@ -495,7 +495,7 @@ HandlePoisonBurnLeechSeed: call HandlePoisonBurnLeechSeed_DecreaseOwnHP .notBurnedOrPoisoned ld de, wPlayerBattleStatus2 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playersTurn2 ld de, wEnemyBattleStatus2 @@ -504,16 +504,16 @@ HandlePoisonBurnLeechSeed: add a jr nc, .notLeechSeeded push hl - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] push af xor $1 - ld [H_WHOSETURN], a + ld [hWhoseTurn], a xor a ld [wAnimationType], a ld a, ABSORB call PlayMoveAnimation ; play leech seed animation (from opposing mon) pop af - ld [H_WHOSETURN], a + ld [hWhoseTurn], a pop hl call HandlePoisonBurnLeechSeed_DecreaseOwnHP call HandlePoisonBurnLeechSeed_IncreaseEnemyHP @@ -571,7 +571,7 @@ HandlePoisonBurnLeechSeed_DecreaseOwnHP: .nonZeroDamage ld hl, wPlayerBattleStatus3 ld de, wPlayerToxicCounter - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playersTurn ld hl, wEnemyBattleStatus3 @@ -618,7 +618,7 @@ HandlePoisonBurnLeechSeed_DecreaseOwnHP: HandlePoisonBurnLeechSeed_IncreaseEnemyHP: push hl ld hl, wEnemyMonMaxHP - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playersTurn ld hl, wBattleMonMaxHP @@ -655,19 +655,19 @@ HandlePoisonBurnLeechSeed_IncreaseEnemyHP: ld [hl], a ld [wHPBarNewHP], a .noOverfullHeal - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] xor $1 - ld [H_WHOSETURN], a + ld [hWhoseTurn], a call UpdateCurMonHPBar - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] xor $1 - ld [H_WHOSETURN], a + ld [hWhoseTurn], a pop hl ret UpdateCurMonHPBar: coord hl, 10, 9 ; tile pointer to player HP bar - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, $1 jr z, .playersTurn @@ -1177,7 +1177,7 @@ LinkBattleLostText: db "@" ; slides pic of fainted mon downwards until it disappears -; bug: when this is called, [H_AUTOBGTRANSFERENABLED] is non-zero, so there is screen tearing +; bug: when this is called, [hAutoBGTransferEnabled] is non-zero, so there is screen tearing SlideDownFaintedMonPic: ld a, [wd730] push af @@ -1230,7 +1230,7 @@ SevenSpacesText: ; slides the player or enemy trainer off screen ; a is the number of tiles to slide it horizontally (always 9 for the player trainer or 8 for the enemy trainer) ; if a is 8, the slide is to the right, else it is to the left -; bug: when this is called, [H_AUTOBGTRANSFERENABLED] is non-zero, so there is screen tearing +; bug: when this is called, [hAutoBGTransferEnabled] is non-zero, so there is screen tearing SlideTrainerPicOffScreen: ld [hSlideAmount], a ld c, a @@ -1508,29 +1508,29 @@ TryRunningFromBattle: inc a ld [wNumRunAttempts], a ld a, [hli] - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand + 1], a ld a, [hl] - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a ld a, [de] ld [hEnemySpeed], a inc de ld a, [de] ld [hEnemySpeed + 1], a call LoadScreenTilesFromBuffer1 - ld de, H_MULTIPLICAND + 1 + ld de, hMultiplicand + 1 ld hl, hEnemySpeed ld c, 2 call StringCmp jr nc, .canEscape ; jump if player speed greater than enemy speed xor a - ld [H_MULTIPLICAND], a + ld [hMultiplicand], a ld a, 32 - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ; multiply player speed by 32 - ld a, [H_PRODUCT + 2] - ld [H_DIVIDEND], a - ld a, [H_PRODUCT + 3] - ld [H_DIVIDEND + 1], a + ld a, [hProduct + 2] + ld [hDividend], a + ld a, [hProduct + 3] + ld [hDividend + 1], a ld a, [hEnemySpeed] ld b, a ld a, [hEnemySpeed + 1] @@ -1541,10 +1541,10 @@ TryRunningFromBattle: rr a and a jr z, .canEscape ; jump if enemy speed divided by 4, mod 256 is 0 - ld [H_DIVISOR], a ; ((enemy speed / 4) % 256) + ld [hDivisor], a ; ((enemy speed / 4) % 256) ld b, $2 call Divide ; divide (player speed * 32) by ((enemy speed / 4) % 256) - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] and a ; is the quotient greater than 256? jr nz, .canEscape ; if so, the player can escape ld a, [wNumRunAttempts] @@ -1554,15 +1554,15 @@ TryRunningFromBattle: dec c jr z, .compareWithRandomValue ld b, 30 - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] add b - ld [H_QUOTIENT + 3], a + ld [hQuotient + 3], a jr c, .canEscape jr .loop .compareWithRandomValue call BattleRandom ld b, a - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] cp b jr nc, .canEscape ; if the random value was less than or equal to the quotient ; plus 30 times the number of attempts, the player can escape @@ -1754,7 +1754,7 @@ SendOutMon: ld hl, wEnemyBattleStatus1 res USING_TRAPPING_MOVE, [hl] ld a, $1 - ld [H_WHOSETURN], a + ld [hWhoseTurn], a ld a, POOF_ANIM call PlayMoveAnimation coord hl, 4, 11 @@ -1812,7 +1812,7 @@ DrawHUDsAndHPBars: DrawPlayerHUDAndHPBar: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a coord hl, 9, 7 lb bc, 5, 11 call ClearScreenArea @@ -1845,7 +1845,7 @@ DrawPlayerHUDAndHPBar: coord hl, 10, 9 predef DrawHP ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld hl, wPlayerHPBarColor call GetBattleHealthBarColor ld hl, wBattleMonHP @@ -1873,7 +1873,7 @@ DrawPlayerHUDAndHPBar: DrawEnemyHUDAndHPBar: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a coord hl, 0, 0 lb bc, 4, 12 call ClearScreenArea @@ -1895,9 +1895,9 @@ DrawEnemyHUDAndHPBar: .skipPrintLevel ld hl, wEnemyMonHP ld a, [hli] - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand + 1], a ld a, [hld] - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a or [hl] ; is current HP zero? jr nz, .hpNonzero ; current HP is 0 @@ -1908,45 +1908,45 @@ DrawEnemyHUDAndHPBar: jp .drawHPBar .hpNonzero xor a - ld [H_MULTIPLICAND], a + ld [hMultiplicand], a ld a, 48 - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ; multiply current HP by 48 ld hl, wEnemyMonMaxHP ld a, [hli] ld b, a ld a, [hl] - ld [H_DIVISOR], a + ld [hDivisor], a ld a, b and a ; is max HP > 255? jr z, .doDivide ; if max HP > 255, scale both (current HP * 48) and max HP by dividing by 4 so that max HP fits in one byte ; (it needs to be one byte so it can be used as the divisor for the Divide function) - ld a, [H_DIVISOR] + ld a, [hDivisor] srl b rr a srl b rr a - ld [H_DIVISOR], a - ld a, [H_PRODUCT + 2] + ld [hDivisor], a + ld a, [hProduct + 2] ld b, a srl b - ld a, [H_PRODUCT + 3] + ld a, [hProduct + 3] rr a srl b rr a - ld [H_PRODUCT + 3], a + ld [hProduct + 3], a ld a, b - ld [H_PRODUCT + 2], a + ld [hProduct + 2], a .doDivide - ld a, [H_PRODUCT + 2] - ld [H_DIVIDEND], a - ld a, [H_PRODUCT + 3] - ld [H_DIVIDEND + 1], a + ld a, [hProduct + 2] + ld [hDividend], a + ld a, [hProduct + 3] + ld [hDividend + 1], a ld a, $2 ld b, a call Divide ; divide (current HP * 48) by max HP - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] ; set variables for DrawHPBar ld e, a ld a, $6 @@ -1958,7 +1958,7 @@ DrawEnemyHUDAndHPBar: coord hl, 2, 2 call DrawHPBar ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld hl, wEnemyHPBarColor GetBattleHealthBarColor: @@ -2469,13 +2469,13 @@ MoveSelectionMenu: .writemoves ld de, wMovesString - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] set 2, a - ld [hFlags_0xFFF6], a + ld [hFlagsFFF6], a call PlaceString - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] res 2, a - ld [hFlags_0xFFF6], a + ld [hFlagsFFF6], a ret .regularmenu @@ -2595,10 +2595,10 @@ SelectMenuItem: call AddNTimes ld [hl], "▷" .select - ld hl, hFlags_0xFFF6 + ld hl, hFlagsFFF6 set 1, [hl] call HandleMenuInput - ld hl, hFlags_0xFFF6 + ld hl, hFlagsFFF6 res 1, [hl] bit 6, a jp nz, SelectMenuItem_CursorUp ; up @@ -2825,7 +2825,7 @@ SwapMovesInMenu: PrintMenuItem: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a coord hl, 0, 8 ld b, 3 ld c, 9 @@ -2847,7 +2847,7 @@ PrintMenuItem: ld hl, wCurrentMenuItem dec [hl] xor a - ld [H_WHOSETURN], a + ld [hWhoseTurn], a ld hl, wBattleMonMoves ld a, [wCurrentMenuItem] ld c, a @@ -2891,7 +2891,7 @@ PrintMenuItem: predef PrintMoveType .moveDisabled ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a jp Delay3 DisabledText: @@ -3043,7 +3043,7 @@ LinkBattleExchangeData: ExecutePlayerMove: xor a - ld [H_WHOSETURN], a ; set player's turn + ld [hWhoseTurn], a ; set player's turn ld a, [wPlayerSelectedMove] inc a jp z, ExecutePlayerMoveDone ; for selected move = FF, skip most of player's turn @@ -3252,7 +3252,7 @@ PrintGhostText: ; print the ghost battle messages call IsGhostBattle ret nz - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr nz, .Ghost ld a, [wBattleMonStatus] ; player’s turn @@ -3619,7 +3619,7 @@ CantMoveText: PrintMoveIsDisabledText: ld hl, wPlayerSelectedMove ld de, wPlayerBattleStatus1 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .removeChargingUp inc hl @@ -3675,11 +3675,11 @@ HandleSelfConfusionDamage: xor a ld [wAnimationType], a inc a - ld [H_WHOSETURN], a + ld [hWhoseTurn], a call PlayMoveAnimation call DrawPlayerHUDAndHPBar xor a - ld [H_WHOSETURN], a + ld [hWhoseTurn], a jp ApplyDamageToPlayerPokemon PrintMonName1Text: @@ -3694,7 +3694,7 @@ PrintMonName1Text: MonName1Text: TX_FAR _MonName1Text TX_ASM - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wPlayerMoveNum] ld hl, wPlayerUsedMove @@ -3818,7 +3818,7 @@ INCLUDE "data/moves/grammar.asm" PrintMoveFailureText: ld de, wPlayerMoveEffect - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playersTurn ld de, wEnemyMoveEffect @@ -3866,7 +3866,7 @@ PrintMoveFailureText: call PrintText ld b, $4 predef PredefShakeScreenHorizontally - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr nz, .enemyTurn jp ApplyDamageToPlayerPokemon @@ -4160,9 +4160,9 @@ GetDamageVarsForPlayerAttack: ; in the case of a critical hit, reset the player's attack and the enemy's defense to their base values ld c, 3 ; defense stat call GetEnemyMonStat - ld a, [H_PRODUCT + 2] + ld a, [hProduct + 2] ld b, a - ld a, [H_PRODUCT + 3] + ld a, [hProduct + 3] ld c, a push bc ld hl, wPartyMon1Attack @@ -4192,9 +4192,9 @@ GetDamageVarsForPlayerAttack: ; in the case of a critical hit, reset the player's and enemy's specials to their base values ld c, 5 ; special stat call GetEnemyMonStat - ld a, [H_PRODUCT + 2] + ld a, [hProduct + 2] ld b, a - ld a, [H_PRODUCT + 3] + ld a, [hProduct + 3] ld c, a push bc ld hl, wPartyMon1Special @@ -4281,7 +4281,7 @@ GetDamageVarsForEnemyAttack: push bc ld c, 2 ; attack stat call GetEnemyMonStat - ld hl, H_PRODUCT + 2 + ld hl, hProduct + 2 pop bc jr .scaleStats .specialAttack @@ -4313,7 +4313,7 @@ GetDamageVarsForEnemyAttack: push bc ld c, 5 ; special stat call GetEnemyMonStat - ld hl, H_PRODUCT + 2 + ld hl, hProduct + 2 pop bc ; if either the offensive or defensive stat is too large to store in a byte, scale both stats by dividing them by 4 ; this allows values with up to 10 bits (values up to 1023) to be handled @@ -4371,9 +4371,9 @@ GetEnemyMonStat: ld bc, wEnemyMon2 - wEnemyMon1 call AddNTimes ld a, [hli] - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand + 1], a ld a, [hl] - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a pop bc pop de ret @@ -4404,7 +4404,7 @@ CalculateDamage: ; d: base power ; e: level - ld a, [H_WHOSETURN] ; whose turn? + ld a, [hWhoseTurn] ; whose turn? and a ld a, [wPlayerMoveEffect] jr z, .effect @@ -4436,7 +4436,7 @@ CalculateDamage: .skipbp xor a - ld hl, H_DIVIDEND + ld hl, hDividend ldi [hl], a ldi [hl], a ld [hl], a @@ -4487,41 +4487,41 @@ CalculateDamage: ld hl, wDamage ld b, [hl] - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] add b - ld [H_QUOTIENT + 3], a + ld [hQuotient + 3], a jr nc, .asm_3dfd0 - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] inc a - ld [H_QUOTIENT + 2], a + ld [hQuotient + 2], a and a jr z, .asm_3e004 .asm_3dfd0 - ld a, [H_QUOTIENT] + ld a, [hQuotient] ld b, a - ld a, [H_QUOTIENT + 1] + ld a, [hQuotient + 1] or a jr nz, .asm_3e004 - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] cp 998 / $100 jr c, .asm_3dfe8 cp 998 / $100 + 1 jr nc, .asm_3e004 - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] cp 998 % $100 jr nc, .asm_3e004 .asm_3dfe8 inc hl - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] ld b, [hl] add b ld [hld], a - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] ld b, [hl] adc b ld [hl], a @@ -4573,7 +4573,7 @@ INCLUDE "data/battle/unused_critical_hit_moves.asm" CriticalHitTest: xor a ld [wCriticalHitOrOHKO], a - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wEnemyMonSpecies] jr nz, .handleEnemy @@ -4584,7 +4584,7 @@ CriticalHitTest: ld a, [wMonHBaseSpeed] ld b, a srl b ; (effective (base speed/2)) - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld hl, wPlayerMovePower ld de, wPlayerBattleStatus2 @@ -4646,7 +4646,7 @@ HandleCounterMove: ; the outcome may be affected by the player's actions in the move selection menu prior to switching the Pokemon. ; This might also lead to desync glitches in link battles. - ld a, [H_WHOSETURN] ; whose turn + ld a, [hWhoseTurn] ; whose turn and a ; player's turn ld hl, wEnemySelectedMove @@ -4954,7 +4954,7 @@ AttackSubstitute: ; values for player turn ld de, wEnemySubstituteHP ld bc, wEnemyBattleStatus2 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .applyDamageToSubstitute ; values for enemy turn @@ -4979,14 +4979,14 @@ AttackSubstitute: ld hl, SubstituteBrokeText call PrintText ; flip whose turn it is for the next function call - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] xor $01 - ld [H_WHOSETURN], a + ld [hWhoseTurn], a callab HideSubstituteShowMonAnim ; animate the substitute breaking ; flip the turn back to the way it was - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] xor $01 - ld [H_WHOSETURN], a + ld [hWhoseTurn], a ld hl, wPlayerMoveEffect ; value for player's turn and a jr z, .nullifyEffect @@ -5010,7 +5010,7 @@ HandleBuildingRage: ld hl, wEnemyBattleStatus2 ld de, wEnemyMonStatMods ld bc, wEnemyMoveNum - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .next ; values for the enemy turn @@ -5023,9 +5023,9 @@ HandleBuildingRage: ld a, [de] cp $0d ; maximum stat modifier value ret z ; return if attack modifier is already maxed - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] xor $01 ; flip turn for the stat modifier raising function - ld [H_WHOSETURN], a + ld [hWhoseTurn], a ; temporarily change the target pokemon's move to $00 and the effect to the one ; that causes the attack modifier to go up one stage ld h, b @@ -5042,9 +5042,9 @@ HandleBuildingRage: ldd [hl], a ; null move effect ld a, RAGE ld [hl], a ; restore the target pokemon's move number to Rage - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] xor $01 ; flip turn back to the way it was - ld [H_WHOSETURN], a + ld [hWhoseTurn], a ret BuildingRageText: @@ -5060,7 +5060,7 @@ MirrorMoveCopyMove: ; wPlayerUsedMove is also set to 0 whenever the player is fast asleep or frozen solid. ; wEnemyUsedMove is also set to 0 whenever the enemy is fast asleep or frozen solid. - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ; values for player turn ld a, [wEnemyUsedMove] @@ -5113,7 +5113,7 @@ MetronomePickMove: ; values for player turn ld de, wPlayerMoveNum ld hl, wPlayerSelectedMove - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .pickMoveLoop ; values for enemy turn @@ -5135,7 +5135,7 @@ MetronomePickMove: ; it's used to prevent moves that run another move within the same turn ; (like Mirror Move and Metronome) from losing 2 PP IncrementMovePP: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ; values for player turn ld hl, wBattleMonPP @@ -5154,7 +5154,7 @@ IncrementMovePP: ld h, d ld l, e add hl, bc - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wPlayerMonNumber] ; value for player turn jr z, .updatePP @@ -5178,7 +5178,7 @@ AdjustDamageForMoveType: ld e, [hl] ; e = type 2 of defender ld a, [wPlayerMoveType] ld [wMoveType], a - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .next ; values for enemy turn @@ -5242,25 +5242,25 @@ AdjustDamageForMoveType: and $80 ld b, a ld a, [hl] ; a = damage multiplier - ld [H_MULTIPLIER], a + ld [hMultiplier], a add b ld [wDamageMultipliers], a xor a - ld [H_MULTIPLICAND], a + ld [hMultiplicand], a ld hl, wDamage ld a, [hli] - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand + 1], a ld a, [hld] - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a call Multiply ld a, 10 - ld [H_DIVISOR], a + ld [hDivisor], a ld b, $04 call Divide - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] ld [hli], a ld b, a - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] ld [hl], a or b ; is damage 0? jr nz, .skipTypeImmunity @@ -5325,7 +5325,7 @@ MoveHitTest: ld hl, wEnemyBattleStatus1 ld de, wPlayerMoveEffect ld bc, wEnemyMonStatus - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .dreamEaterCheck ; enemy's turn @@ -5354,7 +5354,7 @@ MoveHitTest: .checkForDigOrFlyStatus bit INVULNERABLE, [hl] jp nz, .moveMissed - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr nz, .enemyTurn .playerTurn @@ -5408,7 +5408,7 @@ MoveHitTest: call CalcHitChance ; scale the move accuracy according to attacker's accuracy and target's evasion ld a, [wPlayerMoveAccuracy] ld b, a - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .doAccuracyCheck ld a, [wEnemyMoveAccuracy] @@ -5427,7 +5427,7 @@ MoveHitTest: ld [hl], a inc a ld [wMoveMissed], a - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playerTurn2 .enemyTurn2 @@ -5442,7 +5442,7 @@ MoveHitTest: ; values for player turn CalcHitChance: ld hl, wPlayerMoveAccuracy - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wPlayerMonAccuracyMod] ld b, a @@ -5462,10 +5462,10 @@ CalcHitChance: ; decreases the hit chance instead of increasing the hit chance) ; zero the high bytes of the multiplicand xor a - ld [H_MULTIPLICAND], a - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand], a + ld [hMultiplicand + 1], a ld a, [hl] - ld [H_MULTIPLICAND + 2], a ; set multiplicand to move accuracy + ld [hMultiplicand + 2], a ; set multiplicand to move accuracy push hl ld d, $02 ; loop has two iterations ; loop to do the calculations, the first iteration multiplies by the accuracy ratio and @@ -5480,29 +5480,29 @@ CalcHitChance: add hl, bc ; hl = address of stat modifier ratio pop bc ld a, [hli] - ld [H_MULTIPLIER], a ; set multiplier to the numerator of the ratio + ld [hMultiplier], a ; set multiplier to the numerator of the ratio call Multiply ld a, [hl] - ld [H_DIVISOR], a ; set divisor to the the denominator of the ratio + ld [hDivisor], a ; set divisor to the the denominator of the ratio ; (the dividend is the product of the previous multiplication) ld b, $04 ; number of bytes in the dividend call Divide - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] ld b, a - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] or b jp nz, .nextCalculation ; make sure the result is always at least one - ld [H_QUOTIENT + 2], a + ld [hQuotient + 2], a ld a, $01 - ld [H_QUOTIENT + 3], a + ld [hQuotient + 3], a .nextCalculation ld b, c dec d jr nz, .loop - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] and a ; is the calculated hit chance over 0xFF? - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] jr z, .storeAccuracy ; if calculated hit chance over 0xFF ld a, $ff ; set the hit chance to 0xFF @@ -5522,29 +5522,29 @@ RandomizeDamage: ret c ; return if damage is equal to 0 or 1 .DamageGreaterThanOne xor a - ld [H_MULTIPLICAND], a + ld [hMultiplicand], a dec hl ld a, [hli] - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand + 1], a ld a, [hl] - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a ; loop until a random number greater than or equal to 217 is generated .loop call BattleRandom rrca cp 217 jr c, .loop - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ; multiply damage by the random number, which is in the range [217, 255] ld a, 255 - ld [H_DIVISOR], a + ld [hDivisor], a ld b, $4 call Divide ; divide the result by 255 ; store the modified damage - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] ld hl, wDamage ld [hli], a - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] ld [hl], a ret @@ -5900,11 +5900,11 @@ CheckEnemyStatusConditions: ld [hl], a xor a ld [wAnimationType], a - ld [H_WHOSETURN], a + ld [hWhoseTurn], a ld a, POUND call PlayMoveAnimation ld a, $1 - ld [H_WHOSETURN], a + ld [hWhoseTurn], a call ApplyDamageToEnemyPokemon jr .monHurtItselfOrFullyParalysed .checkIfTriedToUseDisabledMove @@ -6051,7 +6051,7 @@ CheckEnemyStatusConditions: ret GetCurrentMove: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jp z, .player ld de, wEnemyMoveNum @@ -6257,13 +6257,13 @@ DoBattleTransitionAndInitBattleVariables: predef BattleTransition callab LoadHudAndHpBarAndStatusTilePatterns ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld a, $ff ld [wUpdateSpritesEnabled], a call ClearSprites call ClearScreen xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld [hWY], a ld [rWY], a ld [hTilesetType], a @@ -6340,7 +6340,7 @@ LoadPlayerBackPic: ld [$4000], a ld hl, vSprites ld de, sSpriteBuffer1 - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] ld b, a ld c, 7 * 7 call CopyVideoData @@ -6367,12 +6367,12 @@ ApplyBurnAndParalysisPenaltiesToEnemy: xor a ApplyBurnAndParalysisPenalties: - ld [H_WHOSETURN], a + ld [hWhoseTurn], a call QuarterSpeedDueToParalysis jp HalveAttackDueToBurn QuarterSpeedDueToParalysis: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playerTurn .enemyTurn ; quarter the player's speed @@ -6415,7 +6415,7 @@ QuarterSpeedDueToParalysis: ret HalveAttackDueToBurn: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playerTurn .enemyTurn ; halve the player's attack @@ -6505,35 +6505,35 @@ CalculateModifiedStat: ld b, 0 add hl, bc xor a - ld [H_MULTIPLICAND], a + ld [hMultiplicand], a ld a, [de] - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand + 1], a inc de ld a, [de] - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a ld a, [hli] - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ld a, [hl] - ld [H_DIVISOR], a + ld [hDivisor], a ld b, $4 call Divide pop hl - ld a, [H_DIVIDEND + 3] + ld a, [hDividend + 3] sub 999 % $100 - ld a, [H_DIVIDEND + 2] + ld a, [hDividend + 2] sbc 999 / $100 jp c, .storeNewStatValue ; cap the stat at 999 ld a, 999 / $100 - ld [H_DIVIDEND + 2], a + ld [hDividend + 2], a ld a, 999 % $100 - ld [H_DIVIDEND + 3], a + ld [hDividend + 3], a .storeNewStatValue - ld a, [H_DIVIDEND + 2] + ld a, [hDividend + 2] ld [hli], a ld b, a - ld a, [H_DIVIDEND + 3] + ld a, [hDividend + 3] ld [hl], a or b jr nz, .done @@ -6683,7 +6683,7 @@ BattleRandom: HandleExplodingAnimation: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld hl, wEnemyMonType1 ld de, wEnemyBattleStatus1 @@ -6826,18 +6826,18 @@ _InitBattleCommon: call RunPaletteCommand call SlidePlayerAndEnemySilhouettesOnScreen xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld hl, .emptyString call PrintText call SaveScreenTilesToBuffer1 call ClearScreen ld a, $98 - ld [H_AUTOBGTRANSFERDEST + 1], a + ld [hAutoBGTransferDest + 1], a ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Delay3 ld a, $9c - ld [H_AUTOBGTRANSFERDEST + 1], a + ld [hAutoBGTransferDest + 1], a call LoadScreenTilesFromBuffer1 coord hl, 9, 7 lb bc, 5, 10 @@ -6998,6 +6998,6 @@ LoadMonBackPic: ld hl, vSprites ld de, vBackPic ld c, (2*SPRITEBUFFERSIZE)/16 ; count of 16-byte chunks to be copied - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] ld b, a jp CopyVideoData diff --git a/engine/battle/effects.asm b/engine/battle/effects.asm index 2c015097..0a1eb61c 100644 --- a/engine/battle/effects.asm +++ b/engine/battle/effects.asm @@ -4,7 +4,7 @@ JumpMoveEffect: ret _JumpMoveEffect: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wPlayerMoveEffect] jr z, .next1 @@ -26,7 +26,7 @@ INCLUDE "data/moves/effects_pointers.asm" SleepEffect: ld de, wEnemyMonStatus ld bc, wEnemyBattleStatus2 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jp z, .sleepEffect ld de, wBattleMonStatus @@ -78,7 +78,7 @@ AlreadyAsleepText: PoisonEffect: ld hl, wEnemyMonStatus ld de, wPlayerMoveEffect - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .poisonEffect ld hl, wBattleMonStatus @@ -121,7 +121,7 @@ PoisonEffect: set 3, [hl] ; mon is now poisoned push de dec de - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld b, ANIM_C7 ld hl, wPlayerBattleStatus3 @@ -175,7 +175,7 @@ DrainHPEffect: ExplodeEffect: ld hl, wBattleMonHP ld de, wPlayerBattleStatus2 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .faintUser ld hl, wEnemyMonHP @@ -196,7 +196,7 @@ FreezeBurnParalyzeEffect: ld [wAnimationType], a call CheckTargetSubstitute ; test bit 4 of d063/d068 flags [target has substitute flag] ret nz ; return if they have a substitute, can't effect them - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jp nz, opponentAttacker ld a, [wEnemyMonStatus] @@ -308,7 +308,7 @@ CheckDefrost: ; any fire-type move that has a chance inflict burn (all but Fire Spin) will defrost a frozen target and 1 << FRZ ; are they frozen? ret z ; return if so - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr nz, .opponent ;player [attacker] @@ -346,7 +346,7 @@ FireDefrostedText: StatModifierUpEffect: ld hl, wPlayerMonStatMods ld de, wPlayerMoveEffect - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .statModifierUpEffect ld hl, wEnemyMonStatMods @@ -382,7 +382,7 @@ StatModifierUpEffect: push hl ld hl, wBattleMonAttack + 1 ld de, wPlayerMonUnmodifiedAttack - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .pointToStats ld hl, wEnemyMonAttack + 1 @@ -417,35 +417,35 @@ StatModifierUpEffect: add hl, bc pop bc xor a - ld [H_MULTIPLICAND], a + ld [hMultiplicand], a ld a, [de] - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand + 1], a inc de ld a, [de] - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a ld a, [hli] - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ld a, [hl] - ld [H_DIVISOR], a + ld [hDivisor], a ld b, $4 call Divide pop hl ; cap at 999 - ld a, [H_PRODUCT + 3] + ld a, [hProduct + 3] sub 999 % $100 - ld a, [H_PRODUCT + 2] + ld a, [hProduct + 2] sbc 999 / $100 jp c, UpdateStat ld a, 999 / $100 - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand + 1], a ld a, 999 % $100 - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a UpdateStat: - ld a, [H_PRODUCT + 2] + ld a, [hProduct + 2] ld [hli], a - ld a, [H_PRODUCT + 3] + ld a, [hProduct + 3] ld [hl], a pop hl UpdateStatDone: @@ -455,7 +455,7 @@ UpdateStatDone: ld hl, wPlayerBattleStatus2 ld de, wPlayerMoveNum ld bc, wPlayerMonMinimized - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .asm_3f4e6 ld hl, wEnemyBattleStatus2 @@ -488,7 +488,7 @@ UpdateStatDone: pop af call nz, Bankswitch .applyBadgeBoostsAndStatusPenalties - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a call z, ApplyBadgeStatBoosts ; whenever the player uses a stat-up move, badge boosts get reapplied again to every stat, ; even to those not affected by the stat-up move (will be boosted further) @@ -511,7 +511,7 @@ MonsStatsRoseText: TX_FAR _MonsStatsRoseText TX_ASM ld hl, GreatlyRoseText - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wPlayerMoveEffect] jr z, .playerTurn @@ -534,7 +534,7 @@ StatModifierDownEffect: ld hl, wEnemyMonStatMods ld de, wPlayerMoveEffect ld bc, wEnemyBattleStatus1 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .statModifierDownEffect ld hl, wPlayerMonStatMods @@ -601,7 +601,7 @@ StatModifierDownEffect: push de ld hl, wEnemyMonAttack + 1 ld de, wEnemyMonUnmodifiedAttack - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .pointToStat ld hl, wBattleMonAttack + 1 @@ -637,33 +637,33 @@ StatModifierDownEffect: add hl, bc pop bc xor a - ld [H_MULTIPLICAND], a + ld [hMultiplicand], a ld a, [de] - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand + 1], a inc de ld a, [de] - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a ld a, [hli] - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ld a, [hl] - ld [H_DIVISOR], a + ld [hDivisor], a ld b, $4 call Divide pop hl - ld a, [H_PRODUCT + 3] + ld a, [hProduct + 3] ld b, a - ld a, [H_PRODUCT + 2] + ld a, [hProduct + 2] or b jp nz, UpdateLoweredStat - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand + 1], a ld a, $1 - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a UpdateLoweredStat: - ld a, [H_PRODUCT + 2] + ld a, [hProduct + 2] ld [hli], a - ld a, [H_PRODUCT + 3] + ld a, [hProduct + 3] ld [hl], a pop de pop hl @@ -678,7 +678,7 @@ UpdateLoweredStatDone: jr nc, .ApplyBadgeBoostsAndStatusPenalties call PlayCurrentMoveAnimation2 .ApplyBadgeBoostsAndStatusPenalties - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a call nz, ApplyBadgeStatBoosts ; whenever the player uses a stat-down move, badge boosts get reapplied again to every stat, ; even to those not affected by the stat-up move (will be boosted further) @@ -713,7 +713,7 @@ MonsStatsFellText: TX_FAR _MonsStatsFellText TX_ASM ld hl, FellText - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wPlayerMoveEffect] jr z, .playerTurn @@ -759,7 +759,7 @@ BideEffect: ld hl, wPlayerBattleStatus1 ld de, wPlayerBideAccumulatedDamage ld bc, wPlayerNumAttacksLeft - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .bideEffect ld hl, wEnemyBattleStatus1 @@ -778,14 +778,14 @@ BideEffect: inc a inc a ld [bc], a ; set Bide counter to 2 or 3 at random - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] add XSTATITEM_ANIM jp PlayBattleAnimation2 ThrashPetalDanceEffect: ld hl, wPlayerBattleStatus1 ld de, wPlayerNumAttacksLeft - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .thrashPetalDanceEffect ld hl, wEnemyBattleStatus1 @@ -797,12 +797,12 @@ ThrashPetalDanceEffect: inc a inc a ld [de], a ; set thrash/petal dance counter to 2 or 3 at random - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] add ANIM_B0 jp PlayBattleAnimation2 SwitchAndTeleportEffect: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr nz, .handleEnemy ld a, [wIsInBattle] @@ -920,7 +920,7 @@ TwoToFiveAttacksEffect: ld hl, wPlayerBattleStatus1 ld de, wPlayerNumAttacksLeft ld bc, wPlayerNumHits - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .twoToFiveAttacksEffect ld hl, wEnemyBattleStatus1 @@ -931,7 +931,7 @@ TwoToFiveAttacksEffect: ret nz set ATTACKING_MULTIPLE_TIMES, [hl] ; mon is now attacking multiple times ld hl, wPlayerMoveEffect - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .setNumberOfHits ld hl, wEnemyMoveEffect @@ -967,7 +967,7 @@ FlinchSideEffect: ret nz ld hl, wEnemyBattleStatus1 ld de, wPlayerMoveEffect - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .flinchSideEffect ld hl, wPlayerBattleStatus1 @@ -992,7 +992,7 @@ OneHitKOEffect: ChargeEffect: ld hl, wPlayerBattleStatus1 ld de, wPlayerMoveEffect - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld b, XSTATITEM_ANIM jr z, .chargeEffect @@ -1074,7 +1074,7 @@ DugAHoleText: TrappingEffect: ld hl, wPlayerBattleStatus1 ld de, wPlayerNumAttacksLeft - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .trappingEffect ld hl, wEnemyBattleStatus1 @@ -1120,7 +1120,7 @@ ConfusionEffect: jr nz, ConfusionEffectFailed ConfusionSideEffectSuccess: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld hl, wEnemyBattleStatus1 ld bc, wEnemyConfusedCounter @@ -1164,7 +1164,7 @@ SubstituteEffect: HyperBeamEffect: ld hl, wPlayerBattleStatus2 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .hyperBeamEffect ld hl, wEnemyBattleStatus2 @@ -1175,7 +1175,7 @@ HyperBeamEffect: ClearHyperBeam: push hl ld hl, wEnemyBattleStatus2 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playerTurn ld hl, wPlayerBattleStatus2 @@ -1186,7 +1186,7 @@ ClearHyperBeam: RageEffect: ld hl, wPlayerBattleStatus2 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .player ld hl, wEnemyBattleStatus2 @@ -1201,7 +1201,7 @@ MimicEffect: ld a, [wMoveMissed] and a jr nz, .mimicMissed - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld hl, wBattleMonMoves ld a, [wPlayerBattleStatus1] @@ -1226,7 +1226,7 @@ MimicEffect: and a jr z, .getRandomMove ld d, a - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld hl, wBattleMonMoves ld a, [wPlayerMoveListIndex] @@ -1284,7 +1284,7 @@ DisableEffect: jr nz, .moveMissed ld de, wEnemyDisabledMove ld hl, wEnemyMonMoves - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .disableEffect ld de, wPlayerDisabledMove @@ -1307,7 +1307,7 @@ DisableEffect: jr z, .pickMoveToDisable ; loop until a non-00 move slot is found ld [wd11e], a ; store move number push hl - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld hl, wBattleMonPP jr nz, .enemyTurn @@ -1345,7 +1345,7 @@ DisableEffect: ld [de], a call PlayCurrentMoveAnimation2 ld hl, wPlayerDisabledMoveNumber - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr nz, .printDisableText inc hl ; wEnemyDisabledMoveNumber @@ -1430,7 +1430,7 @@ ParalyzedMayNotAttackText: CheckTargetSubstitute: push hl ld hl, wEnemyBattleStatus2 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .next1 ld hl, wPlayerBattleStatus2 @@ -1442,7 +1442,7 @@ CheckTargetSubstitute: PlayCurrentMoveAnimation2: ; animation at MOVENUM will be played unless MOVENUM is 0 ; plays wAnimationType 3 or 6 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wPlayerMoveNum] jr z, .notEnemyTurn @@ -1454,7 +1454,7 @@ PlayCurrentMoveAnimation2: PlayBattleAnimation2: ; play animation ID at a and animation type 6 or 3 ld [wAnimationID], a - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, $6 jr z, .storeAnimationType @@ -1468,7 +1468,7 @@ PlayCurrentMoveAnimation: ; resets wAnimationType xor a ld [wAnimationType], a - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wPlayerMoveNum] jr z, .notEnemyTurn diff --git a/engine/battle/experience.asm b/engine/battle/experience.asm index 24748338..c628ae32 100644 --- a/engine/battle/experience.asm +++ b/engine/battle/experience.asm @@ -55,15 +55,15 @@ GainExperience: jr .gainStatExpLoop .statExpDone xor a - ld [H_MULTIPLICAND], a - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand], a + ld [hMultiplicand + 1], a ld a, [wEnemyMonBaseExp] - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a ld a, [wEnemyMonLevel] - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ld a, 7 - ld [H_DIVISOR], a + ld [hDivisor], a ld b, 4 call Divide ld hl, wPartyMon1OTID - (wPartyMon1DVs - 1) @@ -91,12 +91,12 @@ GainExperience: inc hl ; add the gained exp to the party mon's exp ld b, [hl] - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] ld [wExpAmountGained + 1], a add b ld [hld], a ld b, [hl] - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] ld [wExpAmountGained], a adc b ld [hl], a @@ -311,14 +311,14 @@ DivideExpDataByNumMonsGainingExp: ld c, wEnemyMonBaseExp + 1 - wEnemyMonBaseStats .divideLoop xor a - ld [H_DIVIDEND], a + ld [hDividend], a ld a, [hl] - ld [H_DIVIDEND + 1], a + ld [hDividend + 1], a ld a, [wd11e] - ld [H_DIVISOR], a + ld [hDivisor], a ld b, $2 call Divide ; divide value by number of mons gaining exp - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] ld [hli], a dec c jr nz, .divideLoop @@ -326,17 +326,17 @@ DivideExpDataByNumMonsGainingExp: ; multiplies exp by 1.5 BoostExp: - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] ld b, a - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] ld c, a srl b rr c add c - ld [H_QUOTIENT + 3], a - ld a, [H_QUOTIENT + 2] + ld [hQuotient + 3], a + ld a, [hQuotient + 2] adc b - ld [H_QUOTIENT + 2], a + ld [hQuotient + 2], a ret GainedText: diff --git a/engine/battle/ghost_marowak_anim.asm b/engine/battle/ghost_marowak_anim.asm index 7adb20d8..28f536ca 100644 --- a/engine/battle/ghost_marowak_anim.asm +++ b/engine/battle/ghost_marowak_anim.asm @@ -9,12 +9,12 @@ MarowakAnim: call ClearScreenArea call Delay3 xor a - ld [H_AUTOBGTRANSFERENABLED], a ; disable BG transfer so we don't see the Marowak too soon + ld [hAutoBGTransferEnabled], a ; disable BG transfer so we don't see the Marowak too soon ; replace ghost pic with Marowak in BG ld a, MAROWAK ld [wChangeMonPicEnemyTurnSpecies], a ld a, $1 - ld [H_WHOSETURN], a + ld [hWhoseTurn], a callab ChangeMonPic ; alternate between black and light grey 8 times. ; this makes the ghost's body appear to flash @@ -44,7 +44,7 @@ MarowakAnim: and a jr nz, .fadeInMarowakLoop ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a ; enable BG transfer so the BG Marowak pic will be visible after the sprite one is cleared + ld [hAutoBGTransferEnabled], a ; enable BG transfer so the BG Marowak pic will be visible after the sprite one is cleared call Delay3 jp ClearSprites diff --git a/engine/battle/move_effects/conversion.asm b/engine/battle/move_effects/conversion.asm index f23c3d70..8c41f914 100644 --- a/engine/battle/move_effects/conversion.asm +++ b/engine/battle/move_effects/conversion.asm @@ -1,7 +1,7 @@ ConversionEffect_: ld hl, wEnemyMonType1 ld de, wBattleMonType1 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wEnemyBattleStatus1] jr z, .conversionEffect diff --git a/engine/battle/move_effects/drain_hp.asm b/engine/battle/move_effects/drain_hp.asm index e5f4681a..60d23a95 100644 --- a/engine/battle/move_effects/drain_hp.asm +++ b/engine/battle/move_effects/drain_hp.asm @@ -14,7 +14,7 @@ DrainHPEffect_: .getAttackerHP ld hl, wBattleMonHP ld de, wBattleMonMaxHP - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jp z, .addDamageToAttackerHP ld hl, wEnemyMonHP @@ -69,7 +69,7 @@ DrainHPEffect_: ld [wHPBarNewHP+1], a inc de .next - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a coord hl, 10, 9 ld a, $1 @@ -83,7 +83,7 @@ DrainHPEffect_: predef DrawEnemyHUDAndHPBar callab ReadPlayerMonCurHPAndStatus ld hl, SuckedHealthText - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wPlayerMoveEffect] jr z, .next3 diff --git a/engine/battle/move_effects/focus_energy.asm b/engine/battle/move_effects/focus_energy.asm index 16dad7bb..af4a6521 100644 --- a/engine/battle/move_effects/focus_energy.asm +++ b/engine/battle/move_effects/focus_energy.asm @@ -1,6 +1,6 @@ FocusEnergyEffect_: ld hl, wPlayerBattleStatus2 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .notEnemy ld hl, wEnemyBattleStatus2 diff --git a/engine/battle/move_effects/haze.asm b/engine/battle/move_effects/haze.asm index 47723ba2..bd73d249 100644 --- a/engine/battle/move_effects/haze.asm +++ b/engine/battle/move_effects/haze.asm @@ -15,7 +15,7 @@ HazeEffect_: ; cure non-volatile status, but only for the target ld hl, wEnemyMonStatus ld de, wEnemySelectedMove - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .cureStatuses ld hl, wBattleMonStatus diff --git a/engine/battle/move_effects/heal.asm b/engine/battle/move_effects/heal.asm index 2e68acc0..8042bc63 100644 --- a/engine/battle/move_effects/heal.asm +++ b/engine/battle/move_effects/heal.asm @@ -1,5 +1,5 @@ HealEffect_: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld de, wBattleMonHP ld hl, wBattleMonMaxHP @@ -27,7 +27,7 @@ HealEffect_: ld c, 50 call DelayFrames ld hl, wBattleMonStatus - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .restEffect ld hl, wEnemyMonStatus @@ -87,7 +87,7 @@ HealEffect_: .playAnim ld hl, PlayCurrentMoveAnimation call BankswitchEtoF - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a coord hl, 10, 9 ld a, $1 diff --git a/engine/battle/move_effects/leech_seed.asm b/engine/battle/move_effects/leech_seed.asm index f4d3ee9c..981f5da9 100644 --- a/engine/battle/move_effects/leech_seed.asm +++ b/engine/battle/move_effects/leech_seed.asm @@ -5,7 +5,7 @@ LeechSeedEffect_: jr nz, .moveMissed ld hl, wEnemyBattleStatus2 ld de, wEnemyMonType1 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .leechSeedEffect ld hl, wPlayerBattleStatus2 diff --git a/engine/battle/move_effects/mist.asm b/engine/battle/move_effects/mist.asm index 65070a3e..6373770d 100644 --- a/engine/battle/move_effects/mist.asm +++ b/engine/battle/move_effects/mist.asm @@ -1,6 +1,6 @@ MistEffect_: ld hl, wPlayerBattleStatus2 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .mistEffect ld hl, wEnemyBattleStatus2 diff --git a/engine/battle/move_effects/one_hit_ko.asm b/engine/battle/move_effects/one_hit_ko.asm index 827e2197..347a4c7b 100644 --- a/engine/battle/move_effects/one_hit_ko.asm +++ b/engine/battle/move_effects/one_hit_ko.asm @@ -7,7 +7,7 @@ OneHitKOEffect_: ld [wCriticalHitOrOHKO], a ld hl, wBattleMonSpeed + 1 ld de, wEnemyMonSpeed + 1 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .compareSpeed ld hl, wEnemyMonSpeed + 1 diff --git a/engine/battle/move_effects/paralyze.asm b/engine/battle/move_effects/paralyze.asm index 95979ae6..b01aa5cf 100644 --- a/engine/battle/move_effects/paralyze.asm +++ b/engine/battle/move_effects/paralyze.asm @@ -1,7 +1,7 @@ ParalyzeEffect_: ld hl, wEnemyMonStatus ld de, wPlayerMoveType - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jp z, .next ld hl, wBattleMonStatus diff --git a/engine/battle/move_effects/pay_day.asm b/engine/battle/move_effects/pay_day.asm index e5daf014..5bdb86da 100644 --- a/engine/battle/move_effects/pay_day.asm +++ b/engine/battle/move_effects/pay_day.asm @@ -2,7 +2,7 @@ PayDayEffect_: xor a ld hl, wcd6d ld [hli], a - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wBattleMonLevel] jr z, .payDayEffect @@ -10,28 +10,28 @@ PayDayEffect_: .payDayEffect ; level * 2 add a - ld [H_DIVIDEND + 3], a + ld [hDividend + 3], a xor a - ld [H_DIVIDEND], a - ld [H_DIVIDEND + 1], a - ld [H_DIVIDEND + 2], a + ld [hDividend], a + ld [hDividend + 1], a + ld [hDividend + 2], a ; convert to BCD ld a, 100 - ld [H_DIVISOR], a + ld [hDivisor], a ld b, $4 call Divide - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] ld [hli], a - ld a, [H_REMAINDER] - ld [H_DIVIDEND + 3], a + ld a, [hRemainder] + ld [hDividend + 3], a ld a, 10 - ld [H_DIVISOR], a + ld [hDivisor], a ld b, $4 call Divide - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] swap a ld b, a - ld a, [H_REMAINDER] + ld a, [hRemainder] add b ld [hl], a ld de, wTotalPayDayMoney + 2 diff --git a/engine/battle/move_effects/recoil.asm b/engine/battle/move_effects/recoil.asm index 0f2f087b..e94f8043 100644 --- a/engine/battle/move_effects/recoil.asm +++ b/engine/battle/move_effects/recoil.asm @@ -1,5 +1,5 @@ RecoilEffect_: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wPlayerMoveNum] ld hl, wBattleMonMaxHP @@ -54,7 +54,7 @@ RecoilEffect_: ld [hl], a .getHPBarCoords coord hl, 10, 9 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, $1 jr z, .updateHPBar diff --git a/engine/battle/move_effects/reflect_light_screen.asm b/engine/battle/move_effects/reflect_light_screen.asm index 2805a969..7693a348 100644 --- a/engine/battle/move_effects/reflect_light_screen.asm +++ b/engine/battle/move_effects/reflect_light_screen.asm @@ -1,7 +1,7 @@ ReflectLightScreenEffect_: ld hl, wPlayerBattleStatus3 ld de, wPlayerMoveEffect - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .reflectLightScreenEffect ld hl, wEnemyBattleStatus3 diff --git a/engine/battle/move_effects/substitute.asm b/engine/battle/move_effects/substitute.asm index 1bb6c887..a1cd11b2 100644 --- a/engine/battle/move_effects/substitute.asm +++ b/engine/battle/move_effects/substitute.asm @@ -4,7 +4,7 @@ SubstituteEffect_: ld hl, wBattleMonMaxHP ld de, wPlayerSubstituteHP ld bc, wPlayerBattleStatus2 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .notEnemy ld hl, wEnemyMonMaxHP diff --git a/engine/battle/move_effects/transform.asm b/engine/battle/move_effects/transform.asm index 9a5de9cc..1b459910 100644 --- a/engine/battle/move_effects/transform.asm +++ b/engine/battle/move_effects/transform.asm @@ -3,7 +3,7 @@ TransformEffect_: ld de, wEnemyMonSpecies ld bc, wEnemyBattleStatus3 ld a, [wEnemyBattleStatus1] - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr nz, .hitTest ld hl, wEnemyMonSpecies @@ -18,7 +18,7 @@ TransformEffect_: push de push bc ld hl, wPlayerBattleStatus2 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .transformEffect ld hl, wEnemyBattleStatus2 @@ -64,7 +64,7 @@ TransformEffect_: inc bc inc bc call CopyData - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .next ; save enemy mon DVs at wTransformedEnemyMonOriginalDVs @@ -128,7 +128,7 @@ TransformEffect_: jp PrintText .copyBasedOnTurn - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .gotStatsOrModsToCopy push hl diff --git a/engine/battle/scale_sprites.asm b/engine/battle/scale_sprites.asm index 98521528..1774f7c5 100644 --- a/engine/battle/scale_sprites.asm +++ b/engine/battle/scale_sprites.asm @@ -41,16 +41,16 @@ ScaleFirstThreeSpriteColumnsByTwo: ScaleLastSpriteColumnByTwo: ld a, 4*8 - 4 ; $1c, 4 tiles minus 4 unused rows - ld [H_SPRITEINTERLACECOUNTER], a + ld [hSpriteInterlaceCounter], a ld bc, -1 .columnInnerLoop ld a, [de] dec de swap a ; only high nybble contains information call ScalePixelsByTwo - ld a, [H_SPRITEINTERLACECOUNTER] + ld a, [hSpriteInterlaceCounter] dec a - ld [H_SPRITEINTERLACECOUNTER], a + ld [hSpriteInterlaceCounter], a jr nz, .columnInnerLoop dec de ; skip last 4 rows of new column dec de diff --git a/engine/battle/trainer_ai.asm b/engine/battle/trainer_ai.asm index 91aef0f1..2178be38 100644 --- a/engine/battle/trainer_ai.asm +++ b/engine/battle/trainer_ai.asm @@ -655,17 +655,17 @@ AIUseDireHit: ; unused AICheckIfHPBelowFraction: ; return carry if enemy trainer's current HP is below 1 / a of the maximum - ld [H_DIVISOR], a + ld [hDivisor], a ld hl, wEnemyMonMaxHP ld a, [hli] - ld [H_DIVIDEND], a + ld [hDividend], a ld a, [hl] - ld [H_DIVIDEND + 1], a + ld [hDividend + 1], a ld b, 2 call Divide - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] ld c, a - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] ld b, a ld hl, wEnemyMonHP + 1 ld a, [hld] diff --git a/engine/battle/unused_stats_functions.asm b/engine/battle/unused_stats_functions.asm index 55f78fd3..fb3422c7 100644 --- a/engine/battle/unused_stats_functions.asm +++ b/engine/battle/unused_stats_functions.asm @@ -1,6 +1,6 @@ ; does nothing since no stats are ever selected (barring glitches) DoubleSelectedStats: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wPlayerStatsToDouble] ld hl, wBattleMonAttack + 1 @@ -30,7 +30,7 @@ DoubleSelectedStats: ; does nothing since no stats are ever selected (barring glitches) HalveSelectedStats: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wPlayerStatsToHalve] ld hl, wBattleMonAttack diff --git a/engine/debug/test_battle.asm b/engine/debug/test_battle.asm index d9dcf1fa..92d6e4a9 100644 --- a/engine/debug/test_battle.asm +++ b/engine/debug/test_battle.asm @@ -41,5 +41,5 @@ TestBattle: ; do it all again. ld a, 1 ld [wUpdateSpritesEnabled], a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a jr .loop diff --git a/engine/events/hidden_objects/museum_fossils.asm b/engine/events/hidden_objects/museum_fossils.asm index be6b13a1..8636418c 100644 --- a/engine/events/hidden_objects/museum_fossils.asm +++ b/engine/events/hidden_objects/museum_fossils.asm @@ -26,7 +26,7 @@ DisplayMonFrontSpriteInBox: ; Displays a pokemon's front sprite in a pop-up window. ; [wcf91] = pokemon internal id number ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Delay3 xor a ld [hWY], a diff --git a/engine/events/hidden_objects/town_map.asm b/engine/events/hidden_objects/town_map.asm index 5ee8329d..31e75d0d 100644 --- a/engine/events/hidden_objects/town_map.asm +++ b/engine/events/hidden_objects/town_map.asm @@ -10,13 +10,13 @@ TownMapText:: xor a ld [hWY], a inc a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call LoadFontTilePatterns callba DisplayTownMap ld hl, wd730 res 6, [hl] ld de, TextScriptEnd push de - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af jp CloseTextDisplay diff --git a/engine/gfx/hp_bar.asm b/engine/gfx/hp_bar.asm index 221bd7a9..4b91da58 100755 --- a/engine/gfx/hp_bar.asm +++ b/engine/gfx/hp_bar.asm @@ -6,7 +6,7 @@ HPBarLength: GetHPBarLength: push hl xor a - ld hl, H_MULTIPLICAND + ld hl, hMultiplicand ld [hli], a ld a, b ld [hli], a @@ -21,22 +21,22 @@ GetHPBarLength: rr e srl d rr e - ld a, [H_MULTIPLICAND+1] + ld a, [hMultiplicand+1] ld b, a - ld a, [H_MULTIPLICAND+2] + ld a, [hMultiplicand+2] srl b ; divide multiplication result as well rr a srl b rr a - ld [H_MULTIPLICAND+2], a + ld [hMultiplicand+2], a ld a, b - ld [H_MULTIPLICAND+1], a + ld [hMultiplicand+1], a .maxHPSmaller256 ld a, e - ld [H_DIVISOR], a + ld [hDivisor], a ld b, $4 call Divide - ld a, [H_MULTIPLICAND+2] + ld a, [hMultiplicand+2] ld e, a ; e = bc * 48 / de (num of pixels of HP bar) pop hl and a @@ -213,7 +213,7 @@ UpdateHPBar_PrintHPNumber: ld a, [wHPBarOldHP + 1] ld [wHPBarTempHP], a push hl - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] bit 0, a jr z, .asm_fb15 ld de, $9 diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm index 1214a3f8..a793ae00 100755 --- a/engine/items/item_effects.asm +++ b/engine/items/item_effects.asm @@ -239,14 +239,14 @@ ItemUseBall: ; Calculate MaxHP * 255. xor a - ld [H_MULTIPLICAND], a + ld [hMultiplicand], a ld hl, wEnemyMonMaxHP ld a, [hli] - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand + 1], a ld a, [hl] - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a ld a, 255 - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ; Determine BallFactor. It's 8 for Great Balls and 12 for the others. @@ -260,7 +260,7 @@ ItemUseBall: ; Note that the results of all division operations are floored. ; Calculate (MaxHP * 255) / BallFactor. - ld [H_DIVISOR], a + ld [hDivisor], a ld b, 4 ; number of bytes in dividend call Divide @@ -281,17 +281,17 @@ ItemUseBall: .skip2 ; Let W = ((MaxHP * 255) / BallFactor) / max(HP / 4, 1). Calculate W. - ld [H_DIVISOR], a + ld [hDivisor], a ld b, 4 call Divide -; If W > 255, store 255 in [H_QUOTIENT + 3]. -; Let X = min(W, 255) = [H_QUOTIENT + 3]. - ld a, [H_QUOTIENT + 2] +; If W > 255, store 255 in [hQuotient + 3]. +; Let X = min(W, 255) = [hQuotient + 3]. + ld a, [hQuotient + 2] and a jr z, .skip3 ld a, 255 - ld [H_QUOTIENT + 3], a + ld [hQuotient + 3], a .skip3 pop bc ; b = Rand1 - Status @@ -302,7 +302,7 @@ ItemUseBall: jr c, .failedToCapture ; If W > 255, the ball captures the Pokémon. - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] and a jr nz, .captured @@ -310,7 +310,7 @@ ItemUseBall: ; If Rand2 > X, the ball fails to capture the Pokémon. ld b, a - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] cp b jr c, .failedToCapture @@ -318,17 +318,17 @@ ItemUseBall: jr .skipShakeCalculations .failedToCapture - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] ld [wPokeBallCaptureCalcTemp], a ; Save X. ; Calculate CatchRate * 100. xor a - ld [H_MULTIPLICAND], a - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand], a + ld [hMultiplicand + 1], a ld a, [wEnemyMonActualCatchRate] - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a ld a, 100 - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ; Determine BallFactor2. @@ -349,26 +349,26 @@ ItemUseBall: .skip4 ; Let Y = (CatchRate * 100) / BallFactor2. Calculate Y. ld a, b - ld [H_DIVISOR], a + ld [hDivisor], a ld b, 4 call Divide ; If Y > 255, there are 3 shakes. ; Note that this shouldn't be possible. ; The maximum value of Y is (255 * 100) / 150 = 170. - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] and a ld b, $63 ; 3 shakes jr nz, .setAnimData ; Calculate X * Y. ld a, [wPokeBallCaptureCalcTemp] - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ; Calculate (X * Y) / 255. ld a, 255 - ld [H_DIVISOR], a + ld [hDivisor], a ld b, 4 call Divide @@ -386,19 +386,19 @@ ItemUseBall: .addAilmentValue ; If the Pokémon has a status ailment, add Status2. - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] add b - ld [H_QUOTIENT + 3], a + ld [hQuotient + 3], a .skip5 ; Finally determine the number of shakes. -; Let Z = ((X * Y) / 255) + Status2 = [H_QUOTIENT + 3]. +; Let Z = ((X * Y) / 255) + Status2 = [hQuotient + 3]. ; The number of shakes depend on the range Z is in. ; 0 ≤ Z < 10: 0 shakes (the ball misses) ; 10 ≤ Z < 30: 1 shake ; 30 ≤ Z < 70: 2 shakes ; 70 ≤ Z: 3 shakes - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] cp 10 ld b, $20 jr c, .setAnimData @@ -422,7 +422,7 @@ ItemUseBall: ld a, TOSS_ANIM ld [wAnimationID], a xor a - ld [H_WHOSETURN], a + ld [hWhoseTurn], a ld [wAnimationType], a ld [wDamageMultipliers], a ld a, [wWhichPokemon] @@ -1018,18 +1018,18 @@ ItemUseMedicine: call AddNTimes ld a, [hli] ld [wHPBarMaxHP + 1], a - ld [H_DIVIDEND], a + ld [hDividend], a ld a, [hl] ld [wHPBarMaxHP], a - ld [H_DIVIDEND + 1], a + ld [hDividend + 1], a ld a, 5 - ld [H_DIVISOR], a + ld [hDivisor], a ld b, 2 ; number of bytes call Divide ; get 1/5 of max HP of pokemon that used Softboiled ld bc, (wPartyMon1HP + 1) - (wPartyMon1MaxHP + 1) add hl, bc ; hl now points to LSB of current HP of pokemon that used Softboiled ; subtract 1/5 of max HP from current HP of pokemon that used Softboiled - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] push af ld b, a ld a, [hl] @@ -1037,7 +1037,7 @@ ItemUseMedicine: sub b ld [hld], a ld [wHPBarNewHP], a - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] ld b, a ld a, [hl] ld [wHPBarOldHP+1], a @@ -1050,15 +1050,15 @@ ItemUseMedicine: call AddNTimes ; calculate coordinates of HP bar of pokemon that used Softboiled ld a, SFX_HEAL_HP call PlaySoundWaitForCurrent - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] set 0, a - ld [hFlags_0xFFF6], a + ld [hFlagsFFF6], a ld a, $02 ld [wHPBarType], a predef UpdateHPBar2 ; animate HP bar decrease of pokemon that used Softboiled - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] res 0, a - ld [hFlags_0xFFF6], a + ld [hFlagsFFF6], a pop af ld b, a ; store heal amount (1/5 of max HP) ld hl, wHPBarOldHP + 1 @@ -1200,15 +1200,15 @@ ItemUseMedicine: jr z, .playStatusAilmentCuringSound ld a, SFX_HEAL_HP call PlaySoundWaitForCurrent - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] set 0, a - ld [hFlags_0xFFF6], a + ld [hFlagsFFF6], a ld a, $02 ld [wHPBarType], a predef UpdateHPBar2 ; animate the HP bar lengthening - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] res 0, a - ld [hFlags_0xFFF6], a + ld [hFlagsFFF6], a ld a, REVIVE_MSG ld [wPartyMenuTypeOrMessageID], a ld a, [wcf91] @@ -1224,13 +1224,13 @@ ItemUseMedicine: call PlaySoundWaitForCurrent .showHealingItemMessage xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call ClearScreen dec a ld [wUpdateSpritesEnabled], a call RedrawPartyMenu ; redraws the party menu and displays the message ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld c, 50 call DelayFrames call WaitForTextScrollButtonPress @@ -1459,7 +1459,7 @@ BaitRockCommon: ld [wAnimationID], a xor a ld [wAnimationType], a - ld [H_WHOSETURN], a + ld [hWhoseTurn], a ld [de], a ; zero escape factor (for bait), zero bait factor (for rock) .randomLoop ; loop until a random number less than 5 is generated call Random @@ -1698,7 +1698,7 @@ ItemUseXStat: call LoadScreenTilesFromBuffer1 ; restore saved screen call Delay3 xor a - ld [H_WHOSETURN], a ; set turn to player's turn + ld [hWhoseTurn], a ; set turn to player's turn callba StatModifierUpEffect ; do stat increase move pop hl pop af @@ -2463,13 +2463,13 @@ RestoreBonusPP: AddBonusPP: push bc ld a, [de] ; normal max PP of move - ld [H_DIVIDEND + 3], a + ld [hDividend + 3], a xor a - ld [H_DIVIDEND], a - ld [H_DIVIDEND + 1], a - ld [H_DIVIDEND + 2], a + ld [hDividend], a + ld [hDividend + 1], a + ld [hDividend + 2], a ld a, 5 - ld [H_DIVISOR], a + ld [hDivisor], a ld b, 4 call Divide ld a, [hl] ; move PP @@ -2480,7 +2480,7 @@ AddBonusPP: srl a ld c, a ; c = number of PP Ups used .loop - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] cp 8 ; is the amount greater than or equal to 8? jr c, .addAmount ld a, 7 ; cap the amount at 7 diff --git a/engine/link/cable_club.asm b/engine/link/cable_club.asm index 8aadf1e5..13b92e71 100755 --- a/engine/link/cable_club.asm +++ b/engine/link/cable_club.asm @@ -338,10 +338,10 @@ TradeCenter_SelectMon: ld a, 1 ld [wTopMenuItemX], a .enemyMonMenu_HandleInput - ld hl, hFlags_0xFFF6 + ld hl, hFlagsFFF6 set 1, [hl] call HandleMenuInput - ld hl, hFlags_0xFFF6 + ld hl, hFlagsFFF6 res 1, [hl] and a jp z, .getNewInput @@ -403,10 +403,10 @@ TradeCenter_SelectMon: lb bc, 6, 1 call ClearScreenArea .playerMonMenu_HandleInput - ld hl, hFlags_0xFFF6 + ld hl, hFlagsFFF6 set 1, [hl] call HandleMenuInput - ld hl, hFlags_0xFFF6 + ld hl, hFlagsFFF6 res 1, [hl] and a ; was anything pressed? jr nz, .playerMonMenu_SomethingPressed diff --git a/engine/math/multiply_divide.asm b/engine/math/multiply_divide.asm index 6cdc6c87..8bbc20a1 100755 --- a/engine/math/multiply_divide.asm +++ b/engine/math/multiply_divide.asm @@ -2,142 +2,142 @@ _Multiply:: ld a, $8 ld b, a xor a - ld [H_PRODUCT], a - ld [H_MULTIPLYBUFFER], a - ld [H_MULTIPLYBUFFER+1], a - ld [H_MULTIPLYBUFFER+2], a - ld [H_MULTIPLYBUFFER+3], a + ld [hProduct], a + ld [hMultiplyBuffer], a + ld [hMultiplyBuffer+1], a + ld [hMultiplyBuffer+2], a + ld [hMultiplyBuffer+3], a .loop - ld a, [H_MULTIPLIER] + ld a, [hMultiplier] srl a - ld [H_MULTIPLIER], a ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN) + ld [hMultiplier], a ; (aliases: hDivisor, hMultiplier, hPowerOf10) jr nc, .smallMultiplier - ld a, [H_MULTIPLYBUFFER+3] + ld a, [hMultiplyBuffer+3] ld c, a - ld a, [H_MULTIPLICAND+2] + ld a, [hMultiplicand+2] add c - ld [H_MULTIPLYBUFFER+3], a - ld a, [H_MULTIPLYBUFFER+2] + ld [hMultiplyBuffer+3], a + ld a, [hMultiplyBuffer+2] ld c, a - ld a, [H_MULTIPLICAND+1] + ld a, [hMultiplicand+1] adc c - ld [H_MULTIPLYBUFFER+2], a - ld a, [H_MULTIPLYBUFFER+1] + ld [hMultiplyBuffer+2], a + ld a, [hMultiplyBuffer+1] ld c, a - ld a, [H_MULTIPLICAND] ; (aliases: H_MULTIPLICAND) + ld a, [hMultiplicand] ; (aliases: hMultiplicand) adc c - ld [H_MULTIPLYBUFFER+1], a - ld a, [H_MULTIPLYBUFFER] + ld [hMultiplyBuffer+1], a + ld a, [hMultiplyBuffer] ld c, a - ld a, [H_PRODUCT] ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT) + ld a, [hProduct] ; (aliases: hProduct, hPastLeadingZeros, hQuotient) adc c - ld [H_MULTIPLYBUFFER], a + ld [hMultiplyBuffer], a .smallMultiplier dec b jr z, .done - ld a, [H_MULTIPLICAND+2] + ld a, [hMultiplicand+2] sla a - ld [H_MULTIPLICAND+2], a - ld a, [H_MULTIPLICAND+1] + ld [hMultiplicand+2], a + ld a, [hMultiplicand+1] rl a - ld [H_MULTIPLICAND+1], a - ld a, [H_MULTIPLICAND] + ld [hMultiplicand+1], a + ld a, [hMultiplicand] rl a - ld [H_MULTIPLICAND], a - ld a, [H_PRODUCT] + ld [hMultiplicand], a + ld a, [hProduct] rl a - ld [H_PRODUCT], a + ld [hProduct], a jr .loop .done - ld a, [H_MULTIPLYBUFFER+3] - ld [H_PRODUCT+3], a - ld a, [H_MULTIPLYBUFFER+2] - ld [H_PRODUCT+2], a - ld a, [H_MULTIPLYBUFFER+1] - ld [H_PRODUCT+1], a - ld a, [H_MULTIPLYBUFFER] - ld [H_PRODUCT], a + ld a, [hMultiplyBuffer+3] + ld [hProduct+3], a + ld a, [hMultiplyBuffer+2] + ld [hProduct+2], a + ld a, [hMultiplyBuffer+1] + ld [hProduct+1], a + ld a, [hMultiplyBuffer] + ld [hProduct], a ret _Divide:: xor a - ld [H_DIVIDEBUFFER], a - ld [H_DIVIDEBUFFER+1], a - ld [H_DIVIDEBUFFER+2], a - ld [H_DIVIDEBUFFER+3], a - ld [H_DIVIDEBUFFER+4], a + ld [hDivideBuffer], a + ld [hDivideBuffer+1], a + ld [hDivideBuffer+2], a + ld [hDivideBuffer+3], a + ld [hDivideBuffer+4], a ld a, $9 ld e, a .asm_37db3 - ld a, [H_DIVIDEBUFFER] + ld a, [hDivideBuffer] ld c, a - ld a, [H_DIVIDEND+1] ; (aliases: H_MULTIPLICAND) + ld a, [hDividend+1] ; (aliases: hMultiplicand) sub c ld d, a - ld a, [H_DIVISOR] ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN) + ld a, [hDivisor] ; (aliases: hDivisor, hMultiplier, hPowerOf10) ld c, a - ld a, [H_DIVIDEND] ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT) + ld a, [hDividend] ; (aliases: hProduct, hPastLeadingZeros, hQuotient) sbc c jr c, .asm_37dce - ld [H_DIVIDEND], a ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT) + ld [hDividend], a ; (aliases: hProduct, hPastLeadingZeros, hQuotient) ld a, d - ld [H_DIVIDEND+1], a ; (aliases: H_MULTIPLICAND) - ld a, [H_DIVIDEBUFFER+4] + ld [hDividend+1], a ; (aliases: hMultiplicand) + ld a, [hDivideBuffer+4] inc a - ld [H_DIVIDEBUFFER+4], a + ld [hDivideBuffer+4], a jr .asm_37db3 .asm_37dce ld a, b cp $1 jr z, .asm_37e18 - ld a, [H_DIVIDEBUFFER+4] + ld a, [hDivideBuffer+4] sla a - ld [H_DIVIDEBUFFER+4], a - ld a, [H_DIVIDEBUFFER+3] + ld [hDivideBuffer+4], a + ld a, [hDivideBuffer+3] rl a - ld [H_DIVIDEBUFFER+3], a - ld a, [H_DIVIDEBUFFER+2] + ld [hDivideBuffer+3], a + ld a, [hDivideBuffer+2] rl a - ld [H_DIVIDEBUFFER+2], a - ld a, [H_DIVIDEBUFFER+1] + ld [hDivideBuffer+2], a + ld a, [hDivideBuffer+1] rl a - ld [H_DIVIDEBUFFER+1], a + ld [hDivideBuffer+1], a dec e jr nz, .asm_37e04 ld a, $8 ld e, a - ld a, [H_DIVIDEBUFFER] - ld [H_DIVISOR], a ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN) + ld a, [hDivideBuffer] + ld [hDivisor], a ; (aliases: hDivisor, hMultiplier, hPowerOf10) xor a - ld [H_DIVIDEBUFFER], a - ld a, [H_DIVIDEND+1] ; (aliases: H_MULTIPLICAND) - ld [H_DIVIDEND], a ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT) - ld a, [H_DIVIDEND+2] - ld [H_DIVIDEND+1], a ; (aliases: H_MULTIPLICAND) - ld a, [H_DIVIDEND+3] - ld [H_DIVIDEND+2], a + ld [hDivideBuffer], a + ld a, [hDividend+1] ; (aliases: hMultiplicand) + ld [hDividend], a ; (aliases: hProduct, hPastLeadingZeros, hQuotient) + ld a, [hDividend+2] + ld [hDividend+1], a ; (aliases: hMultiplicand) + ld a, [hDividend+3] + ld [hDividend+2], a .asm_37e04 ld a, e cp $1 jr nz, .asm_37e0a dec b .asm_37e0a - ld a, [H_DIVISOR] ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN) + ld a, [hDivisor] ; (aliases: hDivisor, hMultiplier, hPowerOf10) srl a - ld [H_DIVISOR], a ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN) - ld a, [H_DIVIDEBUFFER] + ld [hDivisor], a ; (aliases: hDivisor, hMultiplier, hPowerOf10) + ld a, [hDivideBuffer] rr a - ld [H_DIVIDEBUFFER], a + ld [hDivideBuffer], a jr .asm_37db3 .asm_37e18 - ld a, [H_DIVIDEND+1] ; (aliases: H_MULTIPLICAND) - ld [H_REMAINDER], a ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN) - ld a, [H_DIVIDEBUFFER+4] - ld [H_QUOTIENT+3], a - ld a, [H_DIVIDEBUFFER+3] - ld [H_QUOTIENT+2], a - ld a, [H_DIVIDEBUFFER+2] - ld [H_QUOTIENT+1], a ; (aliases: H_MULTIPLICAND) - ld a, [H_DIVIDEBUFFER+1] - ld [H_DIVIDEND], a ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT) + ld a, [hDividend+1] ; (aliases: hMultiplicand) + ld [hRemainder], a ; (aliases: hDivisor, hMultiplier, hPowerOf10) + ld a, [hDivideBuffer+4] + ld [hQuotient+3], a + ld a, [hDivideBuffer+3] + ld [hQuotient+2], a + ld a, [hDivideBuffer+2] + ld [hQuotient+1], a ; (aliases: hMultiplicand) + ld a, [hDivideBuffer+1] + ld [hDividend], a ; (aliases: hProduct, hPastLeadingZeros, hQuotient) ret diff --git a/engine/menus/display_text_id_init.asm b/engine/menus/display_text_id_init.asm index 5043ad22..e1f6c678 100644 --- a/engine/menus/display_text_id_init.asm +++ b/engine/menus/display_text_id_init.asm @@ -74,5 +74,5 @@ DisplayTextIDInit:: ld [hWY], a ; put the window on the screen call LoadFontTilePatterns ld a, $01 - ld [H_AUTOBGTRANSFERENABLED], a ; enable continuous WRAM to VRAM transfer each V-blank + ld [hAutoBGTransferEnabled], a ; enable continuous WRAM to VRAM transfer each V-blank ret diff --git a/engine/menus/main_menu.asm b/engine/menus/main_menu.asm index 8eda6744..fe82ec4a 100755 --- a/engine/menus/main_menu.asm +++ b/engine/menus/main_menu.asm @@ -342,7 +342,7 @@ CableClubOptionsText: DisplayContinueGameInfo: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a coord hl, 4, 7 ld b, 8 ld c, 14 @@ -360,13 +360,13 @@ DisplayContinueGameInfo: coord hl, 13, 15 call PrintPlayTime ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld c, 30 jp DelayFrames PrintSaveScreenText: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a coord hl, 4, 0 ld b, $8 ld c, $e @@ -386,7 +386,7 @@ PrintSaveScreenText: coord hl, 13, 8 call PrintPlayTime ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld c, 30 jp DelayFrames @@ -463,7 +463,7 @@ DisplayOptionMenu: ld a, [wOptionsTextSpeedCursorX] ; text speed cursor X coordinate ld [wTopMenuItemX], a ld a, $01 - ld [H_AUTOBGTRANSFERENABLED], a ; enable auto background transfer + ld [hAutoBGTransferEnabled], a ; enable auto background transfer call Delay3 .loop call PlaceMenuCursor diff --git a/engine/menus/naming_screen.asm b/engine/menus/naming_screen.asm index 6e78c5c3..efeab4c3 100755 --- a/engine/menus/naming_screen.asm +++ b/engine/menus/naming_screen.asm @@ -337,7 +337,7 @@ ED_TileEnd: PrintAlphabet: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld a, [wAlphabetCase] and a ld de, LowerCaseAlphabet @@ -362,7 +362,7 @@ PrintAlphabet: jr nz, .outerLoop call PlaceString ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a jp Delay3 INCLUDE "data/text/alphabets.asm" diff --git a/engine/menus/party_menu.asm b/engine/menus/party_menu.asm index 41b6074b..b64c1af8 100755 --- a/engine/menus/party_menu.asm +++ b/engine/menus/party_menu.asm @@ -19,7 +19,7 @@ ; f8: leveled up DrawPartyMenu_:: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call ClearScreen call UpdateSprites callba LoadMonPartySpriteGfxWithLCDDisabled ; load pokemon icon graphics @@ -88,14 +88,14 @@ RedrawPartyMenu_:: pop hl push hl ld bc, SCREEN_WIDTH + 1 ; down 1 row and right 1 column - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] set 0, a - ld [hFlags_0xFFF6], a + ld [hFlagsFFF6], a add hl, bc predef DrawHP2 ; draw HP bar and prints current / max HP - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] res 0, a - ld [hFlags_0xFFF6], a + ld [hFlagsFFF6], a call SetPartyMenuHPBarColor ; color the HP bar (on SGB) pop hl jr .printLevel @@ -213,7 +213,7 @@ RedrawPartyMenu_:: pop af ld [hl], a ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Delay3 jp GBPalNormal .printItemUseMessage diff --git a/engine/menus/pokedex.asm b/engine/menus/pokedex.asm index 25c9ad89..0b7fb83c 100755 --- a/engine/menus/pokedex.asm +++ b/engine/menus/pokedex.asm @@ -156,7 +156,7 @@ HandlePokedexSideMenu: ; sets carry flag if player presses A, unsets carry flag if player presses B HandlePokedexListMenu: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ; draw the horizontal line separating the seen and owned amounts from the menu coord hl, 15, 8 ld a, "─" @@ -216,7 +216,7 @@ HandlePokedexListMenu: ld [wDexMaxSeenMon], a .loop xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a coord hl, 4, 2 lb bc, 14, 10 call ClearScreenArea @@ -280,7 +280,7 @@ HandlePokedexListMenu: dec d jr nz, .printPokemonLoop ld a, 01 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Delay3 call GBPalNormal call HandleMenuInput diff --git a/engine/menus/save.asm b/engine/menus/save.asm index 33a7ba8d..5aec7bd0 100755 --- a/engine/menus/save.asm +++ b/engine/menus/save.asm @@ -351,10 +351,10 @@ ChangeBox:: call z, EmptyAllSRAMBoxes ; if so, empty all boxes in SRAM call DisplayChangeBoxMenu call UpdateSprites - ld hl, hFlags_0xFFF6 + ld hl, hFlagsFFF6 set 1, [hl] call HandleMenuInput - ld hl, hFlags_0xFFF6 + ld hl, hFlagsFFF6 res 1, [hl] bit 1, a ; pressed b ret nz @@ -420,7 +420,7 @@ CopyBoxToOrFromSRAM: DisplayChangeBoxMenu: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld a, A_BUTTON | B_BUTTON ld [wMenuWatchedKeys], a ld a, 11 @@ -445,12 +445,12 @@ DisplayChangeBoxMenu: ld b, 12 ld c, 7 call TextBoxBorder - ld hl, hFlags_0xFFF6 + ld hl, hFlagsFFF6 set 2, [hl] ld de, BoxNames coord hl, 13, 1 call PlaceString - ld hl, hFlags_0xFFF6 + ld hl, hFlagsFFF6 res 2, [hl] ld a, [wCurrentBoxNum] and $7f @@ -486,7 +486,7 @@ DisplayChangeBoxMenu: dec a jr nz, .loop ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ret ChooseABoxText: diff --git a/engine/menus/start_sub_menus.asm b/engine/menus/start_sub_menus.asm index d9501da7..43c767e2 100755 --- a/engine/menus/start_sub_menus.asm +++ b/engine/menus/start_sub_menus.asm @@ -239,21 +239,21 @@ StartMenu_Pokemon:: ld bc, wPartyMon2 - wPartyMon1 call AddNTimes ld a, [hli] - ld [H_DIVIDEND], a + ld [hDividend], a ld a, [hl] - ld [H_DIVIDEND + 1], a + ld [hDividend + 1], a ld a, 5 - ld [H_DIVISOR], a + ld [hDivisor], a ld b, 2 ; number of bytes call Divide ld bc, wPartyMon1HP - wPartyMon1MaxHP add hl, bc ld a, [hld] ld b, a - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] sub b ld b, [hl] - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] sbc b jp nc, .notHealthyEnough ld a, [wPartyAndBillsPCSavedMenuItem] @@ -648,7 +648,7 @@ StartMenu_SaveReset:: StartMenu_Option:: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call ClearScreen call UpdateSprites callab DisplayOptionMenu diff --git a/engine/movie/credits.asm b/engine/movie/credits.asm index dd735df6..4ba50615 100755 --- a/engine/movie/credits.asm +++ b/engine/movie/credits.asm @@ -47,7 +47,7 @@ FadeInCreditsText: DisplayCreditsMon: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call SaveScreenTilesToBuffer1 call FillMiddleOfScreenWithWhite @@ -67,7 +67,7 @@ DisplayCreditsMon: ld hl, vBGMap0 + $c call CreditsCopyTileMapToVRAM xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call LoadScreenTilesFromBuffer1 ld hl, vBGMap0 call CreditsCopyTileMapToVRAM @@ -138,11 +138,11 @@ HoFGBPalettes: CreditsCopyTileMapToVRAM: ld a, l - ld [H_AUTOBGTRANSFERDEST], a + ld [hAutoBGTransferDest], a ld a, h - ld [H_AUTOBGTRANSFERDEST + 1], a + ld [hAutoBGTransferDest + 1], a ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a jp Delay3 ZeroMemory: diff --git a/engine/movie/evolution.asm b/engine/movie/evolution.asm index af2ed13b..1e3aaad4 100755 --- a/engine/movie/evolution.asm +++ b/engine/movie/evolution.asm @@ -13,12 +13,12 @@ EvolveMon: ld [wNewSoundID], a call PlaySound ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld a, SFX_TINK call PlaySound call Delay3 xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld [hTilesetType], a ld a, [wEvoOldSpecies] ld [wWholeScreenPaletteMonSpecies], a @@ -37,7 +37,7 @@ EvolveMon: ld [wd0b5], a call Evolution_LoadPic ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld a, [wEvoOldSpecies] call PlayCry call WaitForSoundToFinish @@ -117,7 +117,7 @@ Evolution_BackAndForthAnim: Evolution_ChangeMonPic: push bc xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a coord hl, 7, 2 lb bc, 7, 7 ld de, SCREEN_WIDTH - 7 @@ -134,7 +134,7 @@ Evolution_ChangeMonPic: dec b jr nz, .loop ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Delay3 pop bc ret diff --git a/engine/movie/hall_of_fame.asm b/engine/movie/hall_of_fame.asm index 3c9b1723..d874b2fd 100755 --- a/engine/movie/hall_of_fame.asm +++ b/engine/movie/hall_of_fame.asm @@ -24,7 +24,7 @@ AnimateHallOfFame: ld [wLetterPrintingDelayFlags], a ; no delay ld [wHoFMonOrPlayer], a ; mon inc a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld hl, wNumHoFTeams ld a, [hl] inc a diff --git a/engine/movie/intro.asm b/engine/movie/intro.asm index 9a13c96f..a8151ab4 100755 --- a/engine/movie/intro.asm +++ b/engine/movie/intro.asm @@ -14,13 +14,13 @@ PlayIntro: xor a ld [hJoyHeld], a inc a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call PlayShootingStar call PlayIntroScene call GBFadeOutToWhite xor a ld [hSCX], a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call ClearSprites call DelayFrame ret diff --git a/engine/movie/oak_speech/oak_speech.asm b/engine/movie/oak_speech/oak_speech.asm index fdcb4778..ea7b84d8 100755 --- a/engine/movie/oak_speech/oak_speech.asm +++ b/engine/movie/oak_speech/oak_speech.asm @@ -104,12 +104,12 @@ OakSpeech: ld hl, OakSpeechText3 call PrintText .next - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, SFX_SHRINK call PlaySound pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ld c, 4 call DelayFrames @@ -126,7 +126,7 @@ OakSpeech: lb bc, BANK(ShrinkPic2), $00 call IntroDisplayPicCenteredOrUpperRight call ResetPlayerSpriteData - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, BANK(Music_PalletTown) ld [wAudioROMBank], a @@ -137,7 +137,7 @@ OakSpeech: ld [wNewSoundID], a call PlaySound pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ld c, 20 call DelayFrames diff --git a/engine/movie/oak_speech/oak_speech2.asm b/engine/movie/oak_speech/oak_speech2.asm index d7112440..8c4a896b 100755 --- a/engine/movie/oak_speech/oak_speech2.asm +++ b/engine/movie/oak_speech/oak_speech2.asm @@ -107,7 +107,7 @@ OakSpeechSlidePicCommon: ld e, l .loop xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld a, [hSlideDirection] and a jr nz, .slideLeft @@ -134,7 +134,7 @@ OakSpeechSlidePicCommon: ld [hl], a .next3 ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Delay3 ld a, [hSlidingRegionSize] ld c, a diff --git a/engine/movie/title.asm b/engine/movie/title.asm index 4bdbb05d..1a2d16a0 100755 --- a/engine/movie/title.asm +++ b/engine/movie/title.asm @@ -24,7 +24,7 @@ SetDefaultNamesBeforeTitlescreen:: DisplayTitleScreen: call GBPalWhiteOut ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a xor a ld [hTilesetType], a ld [hSCX], a @@ -239,7 +239,7 @@ ENDC xor a ld [hWY], a inc a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call ClearScreen ld a, vBGMap0 / $100 call TitleScreenCopyTileMapToVRAM @@ -358,7 +358,7 @@ LoadTitleMonSprite: jp LoadFrontSpriteByMonIndex TitleScreenCopyTileMapToVRAM: - ld [H_AUTOBGTRANSFERDEST + 1], a + ld [hAutoBGTransferDest + 1], a jp Delay3 LoadCopyrightAndTextBoxTiles: diff --git a/engine/movie/trade.asm b/engine/movie/trade.asm index 8bc8e3bc..6af6f2e3 100755 --- a/engine/movie/trade.asm +++ b/engine/movie/trade.asm @@ -137,10 +137,10 @@ Trade_Delay100: Trade_CopyTileMapToVRAM: ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Delay3 xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ret Trade_Delay80: @@ -184,7 +184,7 @@ LoadTradingGFXAndMonNames: ld [rOBP0], a call EnableLCD xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld a, [wTradedPlayerMonSpecies] ld [wd11e], a call GetMonName @@ -231,7 +231,7 @@ Trade_ShowPlayerMon: ld [rWX], a ld [hSCX], a xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a coord hl, 4, 0 ld b, 6 ld c, 10 @@ -261,7 +261,7 @@ Trade_ShowPlayerMon: ld a, [wTradedPlayerMonSpecies] call PlayCry xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ret Trade_DrawOpenEndOfLinkCable: @@ -336,13 +336,13 @@ Trade_AnimateBallEnteringLinkCable: .ballSpriteReachedEdgeOfScreen call ClearSprites ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call ClearScreen ld b, $98 call CopyScreenTileBufferToVRAM call Delay3 xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ret Trade_BallInsideLinkCableOAM: @@ -360,13 +360,13 @@ Trade_ShowEnemyMon: call Trade_PrintEnemyMonInfoText call Trade_CopyTileMapToVRAM ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld a, [wTradedEnemyMonSpecies] call Trade_LoadMonSprite ld a, TRADE_BALL_POOF_ANIM call Trade_ShowAnimation ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld a, [wTradedEnemyMonSpecies] call PlayCry call Trade_Delay100 @@ -397,7 +397,7 @@ Trade_AnimLeftToRight: ld b, $6 call Trade_AnimMonMoveHorizontal ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Trade_DrawCableAcrossScreen ld b, $4 call Trade_AnimMonMoveHorizontal @@ -405,7 +405,7 @@ Trade_AnimLeftToRight: ld b, $6 call Trade_AnimMonMoveHorizontal xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Trade_AnimMonMoveVertical jp ClearSprites @@ -430,7 +430,7 @@ Trade_AnimRightToLeft: ld b, $6 call Trade_AnimMonMoveHorizontal ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Trade_DrawCableAcrossScreen ld b, $4 call Trade_AnimMonMoveHorizontal @@ -438,16 +438,16 @@ Trade_AnimRightToLeft: ld b, $6 call Trade_AnimMonMoveHorizontal xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a jp ClearSprites Trade_InitGameboyTransferGfx: ; Initialises the graphics for showing a mon moving between gameboys. ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call ClearScreen xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Trade_LoadMonPartySpriteGfx call DelayFrame ld a, %10101011 @@ -731,9 +731,9 @@ Trade_LoadMonSprite: ld b, SET_PAL_POKEMON_WHOLE_SCREEN ld c, 0 call RunPaletteCommand - ld a, [H_AUTOBGTRANSFERENABLED] + ld a, [hAutoBGTransferEnabled] xor $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call GetMonHeader coord hl, 7, 2 call LoadFlippedFrontSpriteByMonIndex @@ -743,7 +743,7 @@ Trade_LoadMonSprite: Trade_ShowClearedWindow: ; clears the window and covers the BG entirely with the window ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call ClearScreen ld a, %11100011 ld [rLCDC], a diff --git a/engine/overworld/auto_movement.asm b/engine/overworld/auto_movement.asm index e478c9ad..421e3180 100755 --- a/engine/overworld/auto_movement.asm +++ b/engine/overworld/auto_movement.asm @@ -66,7 +66,7 @@ PalletMovementScript_OakMoveLeft: call FillMemory ld [hl], $ff ld a, [wSpriteIndex] - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld de, wNPCMovementDirections2 call MoveSprite ld a, $1 @@ -282,7 +282,7 @@ FreezeEnemyTrainerSprite:: jr .loop .notRival ld a, [wSpriteIndex] - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a jp SetSpriteMovementBytesToFF RivalIDs: diff --git a/engine/overworld/clear_variables.asm b/engine/overworld/clear_variables.asm index 32dc85cd..b5a1f4a0 100644 --- a/engine/overworld/clear_variables.asm +++ b/engine/overworld/clear_variables.asm @@ -3,7 +3,7 @@ ClearVariablesOnEnterMap:: ld [hWY], a ld [rWY], a xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld [wStepCounter], a ld [wLoneAttackNo], a ld [hJoyPressed], a diff --git a/engine/overworld/missable_objects.asm b/engine/overworld/missable_objects.asm index 7d6de545..6d365715 100644 --- a/engine/overworld/missable_objects.asm +++ b/engine/overworld/missable_objects.asm @@ -31,19 +31,19 @@ LoadMissableObjects: sub d ld h, a ld a, h - ld [H_DIVIDEND], a + ld [hDividend], a ld a, l - ld [H_DIVIDEND+1], a + ld [hDividend+1], a xor a - ld [H_DIVIDEND+2], a - ld [H_DIVIDEND+3], a + ld [hDividend+2], a + ld [hDividend+3], a ld a, $3 - ld [H_DIVISOR], a + ld [hDivisor], a ld b, $2 call Divide ; divide difference by 3, resulting in the global offset (number of missable items before ours) ld a, [wCurMap] ld b, a - ld a, [H_DIVIDEND+3] + ld a, [hDividend+3] ld c, a ; store global offset in c ld de, wMissableObjectList pop hl @@ -99,7 +99,7 @@ InitializeMissableObjectsFlags: ; tests if current sprite is a missable object that is hidden/has been removed IsObjectHidden: - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] swap a ld b, a ld hl, wMissableObjectList diff --git a/engine/overworld/movement.asm b/engine/overworld/movement.asm index f272f497..432ae5ca 100644 --- a/engine/overworld/movement.asm +++ b/engine/overworld/movement.asm @@ -63,7 +63,7 @@ UpdatePlayerSprite: ld a, [wd736] bit 7, a ; is the player sprite spinning due to a spin tile? jr nz, .skipSpriteAnim - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $7 ld l, a ld a, [hl] @@ -103,7 +103,7 @@ UpdatePlayerSprite: UnusedReadSpriteDataFunction: push bc push af - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] ld c, a pop af add c @@ -112,7 +112,7 @@ UnusedReadSpriteDataFunction: ret UpdateNPCSprite: - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] swap a dec a add a @@ -122,7 +122,7 @@ UpdateNPCSprite: ld a, [hl] ; read movement byte 2 ld [wCurSpriteMovement2], a ld h, $c1 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] ld l, a inc l ld a, [hl] ; c1x1 @@ -131,7 +131,7 @@ UpdateNPCSprite: call CheckSpriteAvailability ret c ; if sprite is invisible, on tile >=MAP_TILESET_SIZE, in grass or player is currently walking ld h, $c1 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] ld l, a inc l ld a, [hl] ; c1x1 @@ -151,7 +151,7 @@ UpdateNPCSprite: ret nz ; don't do anything yet if player is currently moving (redundant, already tested in CheckSpriteAvailability) call InitializeSpriteScreenPosition ld h, $c2 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $6 ld l, a ld a, [hl] ; c2x6: movement byte 1 @@ -264,11 +264,11 @@ ChangeFacingDirection: TryWalking: push hl ld h, $c1 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $9 ld l, a ld [hl], c ; c1x9 (update facing direction) - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $3 ld l, a ld [hl], d ; c1x3 (update Y movement delta) @@ -282,7 +282,7 @@ TryWalking: pop de ret c ; cannot walk there (reinitialization of delay values already done) ld h, $c2 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $4 ld l, a ld a, [hl] ; c2x4: Y position @@ -291,7 +291,7 @@ TryWalking: ld a, [hl] ; c2x5: X position add e ld [hl], a ; update X position - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] ld l, a ld [hl], $10 ; c2x0=16: walk animation counter dec h @@ -301,7 +301,7 @@ TryWalking: ; update the walking animation parameters for a sprite that is currently walking UpdateSpriteInWalkingAnimation: - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $7 ld l, a ld a, [hl] ; c1x7 (counter until next walk animation frame) @@ -317,7 +317,7 @@ UpdateSpriteInWalkingAnimation: and $3 ld [hl], a ; advance to next animation frame every 4 ticks (16 ticks total for one step) .noNextAnimationFrame - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $3 ld l, a ld a, [hli] ; c1x3 (movement Y delta) @@ -330,7 +330,7 @@ UpdateSpriteInWalkingAnimation: ld a, [hl] ; c1x6 (screen X position) add b ld [hl], a ; update screen X position - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] ld l, a inc h ld a, [hl] ; c2x0 (walk animation counter) @@ -343,7 +343,7 @@ UpdateSpriteInWalkingAnimation: ld a, [hl] ; c2x6 (movement byte 1) cp $fe jr nc, .initNextMovementCounter ; values $fe and $ff - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] inc a ld l, a dec h @@ -351,14 +351,14 @@ UpdateSpriteInWalkingAnimation: ret .initNextMovementCounter call Random - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $8 ld l, a ld a, [hRandomAdd] and $7f ld [hl], a ; c2x8: set next movement delay to a random value in [0,$7f] dec h ; note that value 0 actually makes the delay $100 (bug?) - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] inc a ld l, a ld [hl], $2 ; c1x1 = 2 (movement status) @@ -375,7 +375,7 @@ UpdateSpriteInWalkingAnimation: ; update delay value (c2x8) for sprites in the delayed state (c1x1) UpdateSpriteMovementDelay: ld h, $c2 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $6 ld l, a ld a, [hl] ; c2x6: movement byte 1 @@ -390,13 +390,13 @@ UpdateSpriteMovementDelay: jr nz, notYetMoving .moving dec h - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] inc a ld l, a ld [hl], $1 ; c1x1 = 1 (mark as ready to move) notYetMoving: ld h, wSpriteStateData1 / $100 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $8 ld l, a ld [hl], $0 ; c1x8 = 0 (walk animation frame) @@ -429,7 +429,7 @@ MakeNPCFacePlayer: .notFacingRight ld c, SPRITE_FACING_LEFT .facingDirectionDetermined - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $9 ld l, a ld [hl], c ; c1x9: set facing direction @@ -440,7 +440,7 @@ InitializeSpriteStatus: inc l ld [hl], $ff ; $c1x2: set sprite image to $ff (invisible/off screen) inc h - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $2 ld l, a ld a, $8 @@ -451,7 +451,7 @@ InitializeSpriteStatus: ; calculates the sprite's screen position form its map position and the player position InitializeSpriteScreenPosition: ld h, wSpriteStateData2 / $100 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $4 ld l, a ld a, [wYCoord] @@ -479,13 +479,13 @@ CheckSpriteAvailability: and a jp nz, .spriteInvisible ld h, wSpriteStateData2 / $100 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $6 ld l, a ld a, [hl] ; c2x6: movement byte 1 cp $fe jr c, .skipXVisibilityTest ; movement byte 1 < $fe (i.e. the sprite's movement is scripted) - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $4 ld l, a ld b, [hl] ; c2x4: Y pos (+4) @@ -527,7 +527,7 @@ CheckSpriteAvailability: jr c, .spriteVisible ; standing on tile with ID >=MAP_TILESET_SIZE (top right tile) .spriteInvisible ld h, wSpriteStateData1 / $100 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $2 ld l, a ld [hl], $ff ; c1x2 @@ -540,7 +540,7 @@ CheckSpriteAvailability: jr nz, .done ; if player is currently walking, we're done call UpdateSpriteImage inc h - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $7 ld l, a ld a, [wGrassTile] @@ -556,7 +556,7 @@ CheckSpriteAvailability: UpdateSpriteImage: ld h, $c1 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $8 ld l, a ld a, [hli] ; c1x8: walk animation frame @@ -567,7 +567,7 @@ UpdateSpriteImage: ld a, [$ff93] ; current sprite offset add b ld b, a - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $2 ld l, a ld [hl], b ; c1x2: sprite to display @@ -581,7 +581,7 @@ UpdateSpriteImage: ; set carry on failure, clears carry on success CanWalkOntoTile: ld h, wSpriteStateData2 / $100 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $6 ld l, a ld a, [hl] ; c2x6 (movement byte 1) @@ -602,14 +602,14 @@ CanWalkOntoTile: cp c jr nz, .tilePassableLoop ld h, $c2 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $6 ld l, a ld a, [hl] ; $c2x6 (movement byte 1) inc a jr z, .impassable ; if $ff, no movement allowed (however, changing direction is) ld h, wSpriteStateData1 / $100 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $4 ld l, a ld a, [hli] ; c1x4 (screen Y pos) @@ -628,14 +628,14 @@ CanWalkOntoTile: pop bc pop de ld h, wSpriteStateData1 / $100 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $c ld l, a ld a, [hl] ; c1xc (directions in which sprite collision would occur) and b ; check against chosen direction (1,2,4 or 8) jr nz, .impassable ; collision between sprites, don't go there ld h, wSpriteStateData2 / $100 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $2 ld l, a ld a, [hli] ; c2x2 (sprite Y displacement, initialized at $8, keep track of where a sprite did go) @@ -666,7 +666,7 @@ CanWalkOntoTile: ret .impassable ld h, $c1 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] inc a ld l, a ld [hl], $2 ; c1x1 = 2 (set movement status to delayed) @@ -677,7 +677,7 @@ CanWalkOntoTile: inc l ld [hl], a ; c1x5 = 0 (clear X movement delta) inc h - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $8 ld l, a call Random @@ -692,7 +692,7 @@ CanWalkOntoTile: ; hl: output pointer GetTileSpriteStandsOn: ld h, wSpriteStateData1 / $100 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $4 ld l, a ld a, [hli] ; c1x4: screen Y position @@ -784,7 +784,7 @@ DoScriptedNPCMovement: ld a, [hl] add b ld [hl], a - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $9 ld l, a ld a, c @@ -817,7 +817,7 @@ GetSpriteScreenXPointer: GetSpriteScreenXYPointerCommon: ld hl, wSpriteStateData1 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add l add b ld l, a @@ -825,7 +825,7 @@ GetSpriteScreenXYPointerCommon: AnimScriptedNPCMovement: ld hl, wSpriteStateData2 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $e ld l, a ld a, [hl] ; VRAM slot @@ -833,7 +833,7 @@ AnimScriptedNPCMovement: swap a ld b, a ld hl, wSpriteStateData1 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $9 ld l, a ld a, [hl] ; facing direction @@ -852,7 +852,7 @@ AnimScriptedNPCMovement: ld [hSpriteVRAMSlotAndFacing], a call AdvanceScriptedNPCAnimFrameCounter ld hl, wSpriteStateData1 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $2 ld l, a ld a, [hSpriteVRAMSlotAndFacing] @@ -863,7 +863,7 @@ AnimScriptedNPCMovement: ret AdvanceScriptedNPCAnimFrameCounter: - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $7 ld l, a ld a, [hl] ; intra-animation frame counter diff --git a/engine/overworld/push_boulder.asm b/engine/overworld/push_boulder.asm index c45554f1..e4dd91cf 100644 --- a/engine/overworld/push_boulder.asm +++ b/engine/overworld/push_boulder.asm @@ -92,7 +92,7 @@ DoBoulderDustAnimation:: call ResetBoulderPushFlags set 7, [hl] ld a, [wBoulderSpriteIndex] - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call GetSpriteMovementByte2Pointer ld [hl], $10 ld a, SFX_CUT diff --git a/engine/overworld/sprite_collisions.asm b/engine/overworld/sprite_collisions.asm index 0e6b2d06..43d1759c 100644 --- a/engine/overworld/sprite_collisions.asm +++ b/engine/overworld/sprite_collisions.asm @@ -6,7 +6,7 @@ _UpdateSprites:: ld l, a sub $e ld c, a - ld [H_CURRENTSPRITEOFFSET], a + ld [hCurrentSpriteOffset], a ld a, [hl] and a jr z, .skipSprite ; tests $c2Xe @@ -34,14 +34,14 @@ UpdateNonPlayerSprite: ld [$ff93], a ; $10 * sprite# ld a, [wNPCMovementScriptSpriteOffset] ; some sprite offset? ld b, a - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] cp b jr nz, .unequal jp DoScriptedNPCMovement .unequal jp UpdateNPCSprite -; This detects if the current sprite (whose offset is at H_CURRENTSPRITEOFFSET) +; This detects if the current sprite (whose offset is at hCurrentSpriteOffset) ; is going to collide with another sprite by looping over the other sprites. ; The current sprite's offset will be labelled with i (e.g. $c1i0). ; The loop sprite's offset will labelled with j (e.g. $c1j0). @@ -54,7 +54,7 @@ DetectCollisionBetweenSprites: nop ld h, wSpriteStateData1 / $100 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add wSpriteStateData1 % $100 ld l, a @@ -113,7 +113,7 @@ DetectCollisionBetweenSprites: ld [$ff8f], a ; store loop counter swap a ld e, a - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] cp e ; does the loop sprite match the current sprite? jp z, .next ; go to the next sprite if they match @@ -128,7 +128,7 @@ DetectCollisionBetweenSprites: inc a jp z, .next ; go the next sprite if offscreen - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add 10 ld l, a diff --git a/engine/overworld/trainer_sight.asm b/engine/overworld/trainer_sight.asm index 5a68b627..f0ea7266 100755 --- a/engine/overworld/trainer_sight.asm +++ b/engine/overworld/trainer_sight.asm @@ -2,7 +2,7 @@ _GetSpritePosition1:: ld hl, wSpriteStateData1 ld de, $4 ld a, [wSpriteIndex] - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call GetSpriteDataPointer ld a, [hli] ; c1x4 (screen Y pos) ld [$ffeb], a @@ -21,7 +21,7 @@ _GetSpritePosition2:: ld hl, wSpriteStateData1 ld de, $4 ld a, [wSpriteIndex] - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call GetSpriteDataPointer ld a, [hli] ; c1x4 (screen Y pos) ld [wSavedSpriteScreenY], a @@ -40,7 +40,7 @@ _SetSpritePosition1:: ld hl, wSpriteStateData1 ld de, $4 ld a, [wSpriteIndex] - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call GetSpriteDataPointer ld a, [$ffeb] ; c1x4 (screen Y pos) ld [hli], a @@ -59,7 +59,7 @@ _SetSpritePosition2:: ld hl, wSpriteStateData1 ld de, 4 ld a, [wSpriteIndex] - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call GetSpriteDataPointer ld a, [wSavedSpriteScreenY] ld [hli], a ; c1x4 (screen Y pos) @@ -144,7 +144,7 @@ TrainerWalkUpToPlayer:: call FillMemory ; write the necessary steps to reach player ld [hl], $ff ; write end of list sentinel ld a, [wSpriteIndex] - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a jp MoveSprite_ ; input: de = offset within sprite entry @@ -152,7 +152,7 @@ TrainerWalkUpToPlayer:: GetSpriteDataPointer: push de add hl, de - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] swap a ld d, $0 ld e, a diff --git a/engine/overworld/turn_sprite.asm b/engine/overworld/turn_sprite.asm index c7f7712b..bef26537 100755 --- a/engine/overworld/turn_sprite.asm +++ b/engine/overworld/turn_sprite.asm @@ -1,12 +1,12 @@ UpdateSpriteFacingOffsetAndDelayMovement:: ld h, $c2 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $8 ld l, a ld a, $7f ; maximum movement delay ld [hl], a ; c2x8 (movement delay) dec h - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $9 ld l, a ld a, [hld] ; c1x9 (facing direction) @@ -14,7 +14,7 @@ UpdateSpriteFacingOffsetAndDelayMovement:: xor a ld [hld], a ld [hl], a ; c1x8 (walk animation frame) - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $2 ld l, a ld a, [hl] ; c1x2 (facing and animation table offset) diff --git a/engine/overworld/update_map.asm b/engine/overworld/update_map.asm index 8577b9e7..c494065c 100644 --- a/engine/overworld/update_map.asm +++ b/engine/overworld/update_map.asm @@ -50,12 +50,12 @@ RedrawMapView: ld a, [wIsInBattle] inc a ret z - ld a, [H_AUTOBGTRANSFERENABLED] + ld a, [hAutoBGTransferEnabled] push af ld a, [hTilesetType] push af xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld [hTilesetType], a ; no flower/water BG tile animations call LoadCurrentMapView call RunDefaultPaletteCommand @@ -114,7 +114,7 @@ RedrawMapView: pop af ld [hTilesetType], a pop af - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ret CompareHLWithBC: diff --git a/engine/pokemon/add_mon.asm b/engine/pokemon/add_mon.asm index 7627136b..8d0a6495 100644 --- a/engine/pokemon/add_mon.asm +++ b/engine/pokemon/add_mon.asm @@ -129,10 +129,10 @@ _AddPartyMon:: xor a ld b, a call CalcStat ; calc HP stat (set cur Hp to max HP) - ld a, [H_MULTIPLICAND+1] + ld a, [hMultiplicand+1] ld [de], a inc de - ld a, [H_MULTIPLICAND+2] + ld a, [hMultiplicand+2] ld [de], a inc de xor a diff --git a/engine/pokemon/bills_pc.asm b/engine/pokemon/bills_pc.asm index 7d599404..1a97caf0 100644 --- a/engine/pokemon/bills_pc.asm +++ b/engine/pokemon/bills_pc.asm @@ -1,6 +1,6 @@ DisplayPCMainMenu:: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call SaveScreenTilesToBuffer2 ld a, [wNumHoFTeams] and a @@ -82,7 +82,7 @@ DisplayPCMainMenu:: ld [wCurrentMenuItem], a ld [wLastMenuItem], a ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ret SomeonesPCText: db "SOMEONE's PC@" @@ -168,7 +168,7 @@ BillsPCMenu: ld de, BoxNoPCText call PlaceString ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Delay3 call HandleMenuInput bit 1, a diff --git a/engine/pokemon/evos_moves.asm b/engine/pokemon/evos_moves.asm index d25b71ec..36f135cc 100755 --- a/engine/pokemon/evos_moves.asm +++ b/engine/pokemon/evos_moves.asm @@ -120,12 +120,12 @@ Evolution_PartyMonLoop: ; loop over party mons ld c, 50 call DelayFrames xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a coord hl, 0, 0 lb bc, 12, 20 call ClearScreenArea ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld a, $ff ld [wUpdateSpritesEnabled], a call ClearSprites diff --git a/engine/pokemon/experience.asm b/engine/pokemon/experience.asm index 3ee4b2a8..76e6b88b 100755 --- a/engine/pokemon/experience.asm +++ b/engine/pokemon/experience.asm @@ -38,58 +38,58 @@ CalcExperience:: add hl, bc call CalcDSquared ld a, d - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ld a, [hl] and $f0 swap a - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ld a, [hli] and $f - ld [H_DIVISOR], a + ld [hDivisor], a ld b, $4 call Divide - ld a, [H_QUOTIENT + 1] + ld a, [hQuotient + 1] push af - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] push af - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] push af call CalcDSquared ld a, [hl] and $7f - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply - ld a, [H_PRODUCT + 1] + ld a, [hProduct + 1] push af - ld a, [H_PRODUCT + 2] + ld a, [hProduct + 2] push af - ld a, [H_PRODUCT + 3] + ld a, [hProduct + 3] push af ld a, [hli] push af xor a - ld [H_MULTIPLICAND], a - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand], a + ld [hMultiplicand + 1], a ld a, d - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a ld a, [hli] - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ld b, [hl] - ld a, [H_PRODUCT + 3] + ld a, [hProduct + 3] sub b - ld [H_PRODUCT + 3], a + ld [hProduct + 3], a ld b, $0 - ld a, [H_PRODUCT + 2] + ld a, [hProduct + 2] sbc b - ld [H_PRODUCT + 2], a - ld a, [H_PRODUCT + 1] + ld [hProduct + 2], a + ld a, [hProduct + 1] sbc b - ld [H_PRODUCT + 1], a + ld [hProduct + 1], a ; The difference of the linear term and the constant term consists of 3 bytes -; starting at H_PRODUCT + 1. Below, hExperience (an alias of that address) will +; starting at hProduct + 1. Below, hExperience (an alias of that address) will ; be used instead for the further work of adding or subtracting the squared ; term and adding the cubed term. pop af @@ -139,11 +139,11 @@ CalcExperience:: ; calculates d*d CalcDSquared: xor a - ld [H_MULTIPLICAND], a - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand], a + ld [hMultiplicand + 1], a ld a, d - ld [H_MULTIPLICAND + 2], a - ld [H_MULTIPLIER], a + ld [hMultiplicand + 2], a + ld [hMultiplier], a jp Multiply INCLUDE "data/growth_rates.asm" diff --git a/engine/pokemon/learn_move.asm b/engine/pokemon/learn_move.asm index 53c7f87e..09413c9b 100755 --- a/engine/pokemon/learn_move.asm +++ b/engine/pokemon/learn_move.asm @@ -126,13 +126,13 @@ TryingToLearn: call TextBoxBorder coord hl, 6, 8 ld de, wMovesString - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] set 2, a - ld [hFlags_0xFFF6], a + ld [hFlagsFFF6], a call PlaceString - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] res 2, a - ld [hFlags_0xFFF6], a + ld [hFlagsFFF6], a ld hl, wTopMenuItemY ld a, 8 ld [hli], a ; wTopMenuItemY @@ -146,10 +146,10 @@ TryingToLearn: ld a, A_BUTTON | B_BUTTON ld [hli], a ; wMenuWatchedKeys ld [hl], 0 ; wLastMenuItem - ld hl, hFlags_0xFFF6 + ld hl, hFlagsFFF6 set 1, [hl] call HandleMenuInput - ld hl, hFlags_0xFFF6 + ld hl, hFlagsFFF6 res 1, [hl] push af call LoadScreenTilesFromBuffer1 diff --git a/engine/pokemon/status_screen.asm b/engine/pokemon/status_screen.asm index 20bee0ee..f66cdf5a 100755 --- a/engine/pokemon/status_screen.asm +++ b/engine/pokemon/status_screen.asm @@ -40,7 +40,7 @@ DrawHP_: push hl call DrawHPBar pop hl - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] bit 0, a jr z, .printFractionBelowBar ld bc, $9 ; right of bar @@ -299,7 +299,7 @@ StatusScreen2: push af xor a ld [hTilesetType], a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld bc, NUM_MOVES + 1 ld hl, wMoves call FillMemory @@ -424,7 +424,7 @@ StatusScreen2: coord hl, 9, 1 call PlaceString ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Delay3 call WaitForTextScrollButtonPress ; wait for button pop af diff --git a/engine/slots/game_corner_slots.asm b/engine/slots/game_corner_slots.asm index 2108695f..d95d20a3 100755 --- a/engine/slots/game_corner_slots.asm +++ b/engine/slots/game_corner_slots.asm @@ -22,7 +22,7 @@ StartSlotMachine: ld a, 250 .next ld [wSlotMachineSevenAndBarModeChance], a - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] ld [wSlotMachineSavedROMBank], a call PromptUserToPlaySlots ret diff --git a/home.asm b/home.asm index 07cb6c0e..e9cd3ecf 100644 --- a/home.asm +++ b/home.asm @@ -53,10 +53,10 @@ CheckForUserInterruption:: ; a = ID of destination warp within destination map LoadDestinationWarpPosition:: ld b, a - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, [wPredefParentBank] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ld a, b add a @@ -68,7 +68,7 @@ LoadDestinationWarpPosition:: ld de, wCurrentTileBlockMapViewPointer call CopyData pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -197,10 +197,10 @@ LoadFrontSpriteByMonIndex:: ld de, vFrontPic call LoadMonFrontSprite pop hl - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, Bank(CopyUncompressedPicToHL) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a xor a ld [hStartTileID], a @@ -208,7 +208,7 @@ LoadFrontSpriteByMonIndex:: xor a ld [wSpriteFlipped], a pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -400,15 +400,15 @@ PrintStatusCondition:: ret PrintStatusConditionNotFainted:: - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, BANK(PrintStatusAilment) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a call PrintStatusAilment ; print status condition pop bc ld a, b - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -457,10 +457,10 @@ GetwMoves:: ; INPUT: ; [wd0b5] = pokemon ID GetMonHeader:: - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, BANK(BaseStats) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a push bc push de @@ -515,7 +515,7 @@ GetMonHeader:: pop de pop bc pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -681,7 +681,7 @@ LoadMonFrontSprite:: LoadUncompressedSpriteData:: push de and $f - ld [H_SPRITEWIDTH], a ; each byte contains 8 pixels (in 1bpp), so tiles=bytes for width + ld [hSpriteWidth], a ; each byte contains 8 pixels (in 1bpp), so tiles=bytes for width ld b, a ld a, $7 sub b ; 7-w @@ -692,7 +692,7 @@ LoadUncompressedSpriteData:: add a add a sub b ; 7*((8-w)/2) ; skip for horizontal center (in tiles) - ld [H_SPRITEOFFSET], a + ld [hSpriteOffset], a ld a, c swap a and $f @@ -700,16 +700,16 @@ LoadUncompressedSpriteData:: add a add a add a ; 8*tiles is height in bytes - ld [H_SPRITEHEIGHT], a + ld [hSpriteHeight], a ld a, $7 sub b ; 7-h ; skip for vertical center (in tiles, relative to current column) ld b, a - ld a, [H_SPRITEOFFSET] + ld a, [hSpriteOffset] add b ; 7*((8-w)/2) + 7-h ; combined overall offset (in tiles) add a add a add a ; 8*(7*((8-w)/2) + 7-h) ; combined overall offset (in bytes) - ld [H_SPRITEOFFSET], a + ld [hSpriteOffset], a xor a ld [$4000], a ld hl, sSpriteBuffer0 @@ -728,15 +728,15 @@ LoadUncompressedSpriteData:: ; copies and aligns the sprite data properly inside the sprite buffer ; sprite buffers are 7*7 tiles in size, the loaded sprite is centered within this area AlignSpriteDataCentered:: - ld a, [H_SPRITEOFFSET] + ld a, [hSpriteOffset] ld b, $0 ld c, a add hl, bc - ld a, [H_SPRITEWIDTH] + ld a, [hSpriteWidth] .columnLoop push af push hl - ld a, [H_SPRITEHEIGHT] + ld a, [hSpriteHeight] ld c, a .columnInnerLoop ld a, [de] @@ -775,7 +775,7 @@ InterlaceMergeSpriteBuffers:: ld de, sSpriteBuffer1 + (SPRITEBUFFERSIZE - 1) ; source 2: end of buffer 1 ld bc, sSpriteBuffer0 + (SPRITEBUFFERSIZE - 1) ; source 1: end of buffer 0 ld a, SPRITEBUFFERSIZE/2 ; $c4 - ld [H_SPRITEINTERLACECOUNTER], a + ld [hSpriteInterlaceCounter], a .interlaceLoop ld a, [de] dec de @@ -789,9 +789,9 @@ InterlaceMergeSpriteBuffers:: ld a, [bc] dec bc ld [hld], a ; write byte of source 1 - ld a, [H_SPRITEINTERLACECOUNTER] + ld a, [hSpriteInterlaceCounter] dec a - ld [H_SPRITEINTERLACECOUNTER], a + ld [hSpriteInterlaceCounter], a jr nz, .interlaceLoop ld a, [wSpriteFlipped] and a @@ -809,7 +809,7 @@ InterlaceMergeSpriteBuffers:: pop hl ld de, sSpriteBuffer1 ld c, (2*SPRITEBUFFERSIZE)/16 ; $31, number of 16 byte chunks to be copied - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] ld b, a jp CopyVideoData @@ -830,14 +830,14 @@ UpdateSprites:: ld a, [wUpdateSpritesEnabled] dec a ret nz - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, Bank(_UpdateSprites) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a call _UpdateSprites pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -951,7 +951,7 @@ FadeOutAudio:: ; this function is used to display sign messages, sprite dialog, etc. ; INPUT: [hSpriteIndexOrTextID] = sprite ID or text ID DisplayTextID:: - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af callba DisplayTextIDInit ; initialization ld hl, wTextPredefFlag @@ -962,7 +962,7 @@ DisplayTextID:: call SwitchToMapRomBank .skipSwitchToMapBank ld a, 30 ; half a second - ld [H_FRAMECOUNTER], a ; used as joypad poll timer + ld [hFrameCounter], a ; used as joypad poll timer ld hl, wMapTextPtr ld a, [hli] ld h, [hl] @@ -1065,7 +1065,7 @@ CloseTextDisplay:: call DelayFrame call LoadGBPal xor a - ld [H_AUTOBGTRANSFERENABLED], a ; disable continuous WRAM to VRAM transfer each V-blank + ld [hAutoBGTransferEnabled], a ; disable continuous WRAM to VRAM transfer each V-blank ; loop to make sprites face the directions they originally faced before the dialogue ld hl, wSpriteStateData2 + $19 ld c, $0f @@ -1079,7 +1079,7 @@ CloseTextDisplay:: dec c jr nz, .restoreSpriteFacingDirectionLoop ld a, BANK(InitMapSprites) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a call InitMapSprites ; reload sprite tile pattern data (since it was partially overwritten by text tile patterns) ld hl, wFontLoaded @@ -1089,7 +1089,7 @@ CloseTextDisplay:: call z, LoadPlayerSpriteGraphics call LoadCurrentMapView pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a jp UpdateSprites @@ -1102,14 +1102,14 @@ DisplayPokemartDialogue:: call LoadItemList ld a, PRICEDITEMLISTMENU ld [wListMenuID], a - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, Bank(DisplayPokemartDialogue_) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a call DisplayPokemartDialogue_ pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a jp AfterDisplayingTextID @@ -1141,14 +1141,14 @@ DisplayPokemonCenterDialogue:: ld [$ff8d], a inc hl - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, Bank(DisplayPokemonCenterDialogue_) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a call DisplayPokemonCenterDialogue_ pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a jp AfterDisplayingTextID @@ -1237,14 +1237,14 @@ AddAmountSoldToMoney:: ; [wWhichPokemon] = index (within the inventory) of the item to remove ; [wItemQuantity] = quantity to remove RemoveItemFromInventory:: - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, BANK(RemoveItemFromInventory_) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a call RemoveItemFromInventory_ pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -1256,15 +1256,15 @@ RemoveItemFromInventory:: ; sets carry flag if successful, unsets carry flag if unsuccessful AddItemToInventory:: push bc - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, BANK(AddItemToInventory_) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a call AddItemToInventory_ pop bc ld a, b - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a pop bc ret @@ -1274,7 +1274,7 @@ AddItemToInventory:: ; [wListPointer] = address of the list (2 bytes) DisplayListMenuID:: xor a - ld [H_AUTOBGTRANSFERENABLED], a ; disable auto-transfer + ld [hAutoBGTransferEnabled], a ; disable auto-transfer ld a, 1 ld [hJoy7], a ; joypad state update flag ld a, [wBattleType] @@ -1328,10 +1328,10 @@ DisplayListMenuID:: DisplayListMenuIDLoop:: xor a - ld [H_AUTOBGTRANSFERENABLED], a ; disable transfer + ld [hAutoBGTransferEnabled], a ; disable transfer call PrintListMenuEntries ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a ; enable transfer + ld [hAutoBGTransferEnabled], a ; enable transfer call Delay3 ld a, [wBattleType] and a ; is it the Old Man battle? @@ -1798,10 +1798,10 @@ ListMenuCancelText:: GetMonName:: push hl - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, BANK(MonsterNames) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ld a, [wd11e] dec a @@ -1817,7 +1817,7 @@ GetMonName:: ld [hl], "@" pop de pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a pop hl ret @@ -1941,7 +1941,7 @@ GetMoveName:: ; reloads text box tile patterns, current map view, and tileset tile patterns ReloadMapData:: - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, [wCurMap] call SwitchToMapRomBank @@ -1951,13 +1951,13 @@ ReloadMapData:: call LoadTilesetTilePatternData call EnableLCD pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret ; reloads tileset tile patterns ReloadTilesetTilePatterns:: - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, [wCurMap] call SwitchToMapRomBank @@ -1965,7 +1965,7 @@ ReloadTilesetTilePatterns:: call LoadTilesetTilePatternData call EnableLCD pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -2002,15 +2002,15 @@ UseItem:: ; OUTPUT: ; clears carry flag if the item is tossed, sets carry flag if not TossItem:: - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, BANK(TossItem_) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a call TossItem_ pop de ld a, d - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -2036,15 +2036,15 @@ IsKeyItem:: ; [wTextBoxID] = text box ID ; b, c = y, x cursor position (TWO_OPTION_MENU only) DisplayTextBoxID:: - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, BANK(DisplayTextBoxID_) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a call DisplayTextBoxID_ pop bc ld a, b - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -2078,15 +2078,15 @@ RunNPCMovementScript:: ld a, [hli] ld h, [hl] ld l, a - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, [wNPCMovementScriptBank] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ld a, [wNPCMovementScriptFunctionNum] call CallFunctionInTable pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -2407,7 +2407,7 @@ CheckForEngagingTrainers:: ; hl = text if the player wins ; de = text if the player loses SaveEndBattleTextPointers:: - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] ld [wEndBattleTextRomBank], a ld a, h ld [wEndBattleWinTextPointer], a @@ -2442,10 +2442,10 @@ PrintEndBattleText:: res 7, [hl] pop hl ret z - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, [wEndBattleTextRomBank] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a push hl callba SaveTrainerName @@ -2453,7 +2453,7 @@ PrintEndBattleText:: call PrintText pop hl pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a callba FreezeEnemyTrainerSprite jp WaitForSoundToFinish @@ -2623,7 +2623,7 @@ SetSpriteFacingDirectionAndDelay:: SetSpriteFacingDirection:: ld a, $9 - ld [H_SPRITEDATAOFFSET], a + ld [hSpriteDataOffset], a call GetPointerWithinSpriteStateData1 ld a, [hSpriteFacingDirection] ld [hl], a @@ -2678,14 +2678,14 @@ CheckCoords:: ; tests if a boulder's coordinates are in a specified array ; INPUT: ; hl = address of array -; [H_SPRITEINDEX] = index of boulder sprite +; [hSpriteIndex] = index of boulder sprite ; OUTPUT: ; [wCoordIndex] = if there is match, the matching array index ; sets carry if the coordinates are in the array, clears carry if not CheckBoulderCoords:: push hl ld hl, wSpriteStateData2 + $04 - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] swap a ld d, $0 ld e, a @@ -2707,9 +2707,9 @@ GetPointerWithinSpriteStateData2:: ld h, $c2 _GetPointerWithinSpriteStateData: - ld a, [H_SPRITEDATAOFFSET] + ld a, [hSpriteDataOffset] ld b, a - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] swap a add b ld l, a @@ -2746,7 +2746,7 @@ DecodeRLEList:: inc a ; include sentinel in counting ret -; sets movement byte 1 for sprite [H_SPRITEINDEX] to $FE and byte 2 to [hSpriteMovementByte2] +; sets movement byte 1 for sprite [hSpriteIndex] to $FE and byte 2 to [hSpriteMovementByte2] SetSpriteMovementBytesToFE:: push hl call GetSpriteMovementByte1Pointer @@ -2757,7 +2757,7 @@ SetSpriteMovementBytesToFE:: pop hl ret -; sets both movement bytes for sprite [H_SPRITEINDEX] to $FF +; sets both movement bytes for sprite [hSpriteIndex] to $FF SetSpriteMovementBytesToFF:: push hl call GetSpriteMovementByte1Pointer @@ -2767,20 +2767,20 @@ SetSpriteMovementBytesToFF:: pop hl ret -; returns the sprite movement byte 1 pointer for sprite [H_SPRITEINDEX] in hl +; returns the sprite movement byte 1 pointer for sprite [hSpriteIndex] in hl GetSpriteMovementByte1Pointer:: ld h, $C2 - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] swap a add 6 ld l, a ret -; returns the sprite movement byte 2 pointer for sprite [H_SPRITEINDEX] in hl +; returns the sprite movement byte 2 pointer for sprite [hSpriteIndex] in hl GetSpriteMovementByte2Pointer:: push de ld hl, wMapSpriteData - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] dec a add a ld d, 0 @@ -2846,27 +2846,27 @@ BankswitchHome:: ; switches to bank # in a ; Only use this when in the home bank! ld [wBankswitchHomeTemp], a - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] ld [wBankswitchHomeSavedROMBank], a ld a, [wBankswitchHomeTemp] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret BankswitchBack:: ; returns from BankswitchHome ld a, [wBankswitchHomeSavedROMBank] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret Bankswitch:: ; self-contained bankswitch, use this when not in the home bank ; switches to the bank in b - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, b - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ld bc, .Return push bc @@ -2874,7 +2874,7 @@ Bankswitch:: .Return pop bc ld a, b - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -2929,7 +2929,7 @@ CalcDifference:: ret MoveSprite:: -; move the sprite [H_SPRITEINDEX] with the movement pointed to by de +; move the sprite [hSpriteIndex] with the movement pointed to by de ; actually only copies the movement data to wNPCMovementDirections for later call SetSpriteMovementBytesToFF MoveSprite_:: @@ -3068,13 +3068,13 @@ SaveScreenTilesToBuffer2:: LoadScreenTilesFromBuffer2:: call LoadScreenTilesFromBuffer2DisableBGTransfer ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ret -; loads screen tiles stored in wTileMapBackup2 but leaves H_AUTOBGTRANSFERENABLED disabled +; loads screen tiles stored in wTileMapBackup2 but leaves hAutoBGTransferEnabled disabled LoadScreenTilesFromBuffer2DisableBGTransfer:: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld hl, wTileMapBackup2 coord de, 0, 0 ld bc, SCREEN_WIDTH * SCREEN_HEIGHT @@ -3089,13 +3089,13 @@ SaveScreenTilesToBuffer1:: LoadScreenTilesFromBuffer1:: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld hl, wTileMapBackup coord de, 0, 0 ld bc, SCREEN_WIDTH * SCREEN_HEIGHT call CopyData ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ret DelayFrames:: @@ -3154,7 +3154,7 @@ GetName:: cp HM_01 jp nc, GetMachineName - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af push hl push bc @@ -3172,7 +3172,7 @@ GetName:: .otherEntries ;2-7 = OTHER ENTRIES ld a, [wPredefBank] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ld a, [wNameListType] ;VariousNames' entryID dec a @@ -3220,14 +3220,14 @@ GetName:: pop bc pop hl pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret GetItemPrice:: ; Stores item's price as BCD at hItemPrice (3 bytes) ; Input: [wcf91] = item id - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, [wListMenuID] cp MOVESLISTMENU @@ -3235,7 +3235,7 @@ GetItemPrice:: jr nz, .ok ld a, $f ; hardcoded Bank .ok - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ld hl, wItemPrices ld a, [hli] @@ -3259,13 +3259,13 @@ GetItemPrice:: jr .done .getTMPrice ld a, Bank(GetMachinePrice) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a call GetMachinePrice .done ld de, hItemPrice pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -3312,10 +3312,10 @@ JoypadLowSensitivity:: jr z, .noNewlyPressedButtons .newlyPressedButtons ld a, 30 ; half a second delay - ld [H_FRAMECOUNTER], a + ld [hFrameCounter], a ret .noNewlyPressedButtons - ld a, [H_FRAMECOUNTER] + ld a, [hFrameCounter] and a ; is the delay over? jr z, .delayOver .delayNotOver @@ -3334,18 +3334,18 @@ JoypadLowSensitivity:: ld [hJoy5], a .setShortDelay ld a, 5 ; 1/12 of a second delay - ld [H_FRAMECOUNTER], a + ld [hFrameCounter], a ret WaitForTextScrollButtonPress:: - ld a, [H_DOWNARROWBLINKCNT1] + ld a, [hDownArrowBlinkCount1] push af - ld a, [H_DOWNARROWBLINKCNT2] + ld a, [hDownArrowBlinkCount2] push af xor a - ld [H_DOWNARROWBLINKCNT1], a + ld [hDownArrowBlinkCount1], a ld a, $6 - ld [H_DOWNARROWBLINKCNT2], a + ld [hDownArrowBlinkCount2], a .loop push hl ld a, [wTownMapSpriteBlinkingEnabled] @@ -3362,9 +3362,9 @@ WaitForTextScrollButtonPress:: and A_BUTTON | B_BUTTON jr z, .loop pop af - ld [H_DOWNARROWBLINKCNT2], a + ld [hDownArrowBlinkCount2], a pop af - ld [H_DOWNARROWBLINKCNT1], a + ld [hDownArrowBlinkCount1], a ret ; (unless in link battle) waits for A or B being pressed and outputs the scrolling sound effect @@ -3407,14 +3407,14 @@ Divide:: push hl push de push bc - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, Bank(_Divide) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a call _Divide pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a pop bc pop de @@ -3439,11 +3439,11 @@ PrintLetterDelay:: jr z, .waitOneFrame ld a, [wOptions] and $f - ld [H_FRAMECOUNTER], a + ld [hFrameCounter], a jr .checkButtons .waitOneFrame ld a, 1 - ld [H_FRAMECOUNTER], a + ld [hFrameCounter], a .checkButtons call Joypad ld a, [hJoyHeld] @@ -3458,7 +3458,7 @@ PrintLetterDelay:: call DelayFrame jr .done .buttonsNotPressed ; if neither A nor B is pressed - ld a, [H_FRAMECOUNTER] + ld a, [hFrameCounter] and a jr nz, .checkButtons .done @@ -3505,10 +3505,10 @@ CalcStats:: .statsLoop inc c call CalcStat - ld a, [H_MULTIPLICAND+1] + ld a, [hMultiplicand+1] ld [de], a inc de - ld a, [H_MULTIPLICAND+2] + ld a, [hMultiplicand+2] ld [de], a inc de ld a, c @@ -3541,14 +3541,14 @@ CalcStat:: add hl, bc ; skip to corresponding stat exp value .statExpLoop ; calculates ceil(Sqrt(stat exp)) in b xor a - ld [H_MULTIPLICAND], a - ld [H_MULTIPLICAND+1], a + ld [hMultiplicand], a + ld [hMultiplicand+1], a inc b ; increment current stat exp bonus ld a, b cp $ff jr z, .statExpDone - ld [H_MULTIPLICAND+2], a - ld [H_MULTIPLIER], a + ld [hMultiplicand+2], a + ld [hMultiplier], a call Multiply ld a, [hld] ld d, a @@ -3636,22 +3636,22 @@ CalcStat:: jr nc, .noCarry2 inc d ; de = (Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4 .noCarry2 - ld [H_MULTIPLICAND+2], a + ld [hMultiplicand+2], a ld a, d - ld [H_MULTIPLICAND+1], a + ld [hMultiplicand+1], a xor a - ld [H_MULTIPLICAND], a + ld [hMultiplicand], a ld a, [wCurEnemyLVL] - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ; ((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level - ld a, [H_MULTIPLICAND] - ld [H_DIVIDEND], a - ld a, [H_MULTIPLICAND+1] - ld [H_DIVIDEND+1], a - ld a, [H_MULTIPLICAND+2] - ld [H_DIVIDEND+2], a + ld a, [hMultiplicand] + ld [hDividend], a + ld a, [hMultiplicand+1] + ld [hDividend+1], a + ld a, [hMultiplicand+2] + ld [hDividend+2], a ld a, $64 - ld [H_DIVISOR], a + ld [hDivisor], a ld a, $3 ld b, a call Divide ; (((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level) / 100 @@ -3661,38 +3661,38 @@ CalcStat:: jr nz, .notHPStat ld a, [wCurEnemyLVL] ld b, a - ld a, [H_MULTIPLICAND+2] + ld a, [hMultiplicand+2] add b - ld [H_MULTIPLICAND+2], a + ld [hMultiplicand+2], a jr nc, .noCarry3 - ld a, [H_MULTIPLICAND+1] + ld a, [hMultiplicand+1] inc a - ld [H_MULTIPLICAND+1], a ; HP: (((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level) / 100 + Level + ld [hMultiplicand+1], a ; HP: (((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level) / 100 + Level .noCarry3 ld a, 10 ; +10 for HP stat .notHPStat ld b, a - ld a, [H_MULTIPLICAND+2] + ld a, [hMultiplicand+2] add b - ld [H_MULTIPLICAND+2], a + ld [hMultiplicand+2], a jr nc, .noCarry4 - ld a, [H_MULTIPLICAND+1] + ld a, [hMultiplicand+1] inc a ; non-HP: (((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level) / 100 + 5 - ld [H_MULTIPLICAND+1], a ; HP: (((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level) / 100 + Level + 10 + ld [hMultiplicand+1], a ; HP: (((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level) / 100 + Level + 10 .noCarry4 - ld a, [H_MULTIPLICAND+1] ; check for overflow (>999) + ld a, [hMultiplicand+1] ; check for overflow (>999) cp 999 / $100 + 1 jr nc, .overflow cp 999 / $100 jr c, .noOverflow - ld a, [H_MULTIPLICAND+2] + ld a, [hMultiplicand+2] cp 999 % $100 + 1 jr c, .noOverflow .overflow ld a, 999 / $100 ; overflow: cap at 999 - ld [H_MULTIPLICAND+1], a + ld [hMultiplicand+1], a ld a, 999 % $100 - ld [H_MULTIPLICAND+2], a + ld [hMultiplicand+2], a .noOverflow pop bc pop de @@ -3700,28 +3700,28 @@ CalcStat:: ret AddEnemyMonToPlayerParty:: - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, BANK(_AddEnemyMonToPlayerParty) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a call _AddEnemyMonToPlayerParty pop bc ld a, b - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret MoveMon:: - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, BANK(_MoveMon) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a call _MoveMon pop bc ld a, b - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -3801,14 +3801,14 @@ HandleMenuInput:: ld [wPartyMenuAnimMonEnabled], a HandleMenuInput_:: - ld a, [H_DOWNARROWBLINKCNT1] + ld a, [hDownArrowBlinkCount1] push af - ld a, [H_DOWNARROWBLINKCNT2] + ld a, [hDownArrowBlinkCount2] push af ; save existing values on stack xor a - ld [H_DOWNARROWBLINKCNT1], a ; blinking down arrow timing value 1 + ld [hDownArrowBlinkCount1], a ; blinking down arrow timing value 1 ld a, 6 - ld [H_DOWNARROWBLINKCNT2], a ; blinking down arrow timing value 2 + ld [hDownArrowBlinkCount2], a ; blinking down arrow timing value 2 .loop1 xor a ld [wAnimCounter], a ; counter for pokemon shaking animation @@ -3837,9 +3837,9 @@ HandleMenuInput_:: .giveUpWaiting ; if a key wasn't pressed within the specified number of checks pop af - ld [H_DOWNARROWBLINKCNT2], a + ld [hDownArrowBlinkCount2], a pop af - ld [H_DOWNARROWBLINKCNT1], a ; restore previous values + ld [hDownArrowBlinkCount1], a ; restore previous values xor a ld [wMenuWrappingEnabled], a ; disable menu wrapping ret @@ -3901,9 +3901,9 @@ HandleMenuInput_:: call PlaySound .skipPlayingSound pop af - ld [H_DOWNARROWBLINKCNT2], a + ld [hDownArrowBlinkCount2], a pop af - ld [H_DOWNARROWBLINKCNT1], a ; restore previous values + ld [hDownArrowBlinkCount1], a ; restore previous values xor a ld [wMenuWrappingEnabled], a ; disable menu wrapping ld a, [hJoy5] @@ -3934,7 +3934,7 @@ PlaceMenuCursor:: and a ; was the previous menu id 0? jr z, .checkForArrow1 push af - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] bit 1, a ; is the menu double spaced? jr z, .doubleSpaced1 ld bc, 20 @@ -3960,7 +3960,7 @@ PlaceMenuCursor:: and a jr z, .checkForArrow2 push af - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] bit 1, a ; is the menu double spaced? jr z, .doubleSpaced2 ld bc, 20 @@ -4014,7 +4014,7 @@ EraseMenuCursor:: ; This toggles a blinking down arrow at hl on and off after a delay has passed. ; This is often called even when no blinking is occurring. -; The reason is that most functions that call this initialize H_DOWNARROWBLINKCNT1 to 0. +; The reason is that most functions that call this initialize hDownArrowBlinkCount1 to 0. ; The effect is that if the tile at hl is initialized with a down arrow, ; this function will toggle that down arrow on and off, but if the tile isn't ; initialized with a down arrow, this function does nothing. @@ -4027,36 +4027,36 @@ HandleDownArrowBlinkTiming:: cp b jr nz, .downArrowOff .downArrowOn - ld a, [H_DOWNARROWBLINKCNT1] + ld a, [hDownArrowBlinkCount1] dec a - ld [H_DOWNARROWBLINKCNT1], a + ld [hDownArrowBlinkCount1], a ret nz - ld a, [H_DOWNARROWBLINKCNT2] + ld a, [hDownArrowBlinkCount2] dec a - ld [H_DOWNARROWBLINKCNT2], a + ld [hDownArrowBlinkCount2], a ret nz ld a, " " ld [hl], a ld a, $ff - ld [H_DOWNARROWBLINKCNT1], a + ld [hDownArrowBlinkCount1], a ld a, $06 - ld [H_DOWNARROWBLINKCNT2], a + ld [hDownArrowBlinkCount2], a ret .downArrowOff - ld a, [H_DOWNARROWBLINKCNT1] + ld a, [hDownArrowBlinkCount1] and a ret z dec a - ld [H_DOWNARROWBLINKCNT1], a + ld [hDownArrowBlinkCount1], a ret nz dec a - ld [H_DOWNARROWBLINKCNT1], a - ld a, [H_DOWNARROWBLINKCNT2] + ld [hDownArrowBlinkCount1], a + ld a, [hDownArrowBlinkCount2] dec a - ld [H_DOWNARROWBLINKCNT2], a + ld [hDownArrowBlinkCount2], a ret nz ld a, $06 - ld [H_DOWNARROWBLINKCNT2], a + ld [hDownArrowBlinkCount2], a ld a, "▼" ld [hl], a ret @@ -4100,9 +4100,9 @@ PrintNumber:: ; in bits 7 and 6 of b respectively. push bc xor a - ld [H_PASTLEADINGZEROES], a - ld [H_NUMTOPRINT], a - ld [H_NUMTOPRINT + 1], a + ld [hPastLeadingZeros], a + ld [hNumToPrint], a + ld [hNumToPrint + 1], a ld a, b and $f cp 1 @@ -4111,26 +4111,26 @@ PrintNumber:: jr z, .word .long ld a, [de] - ld [H_NUMTOPRINT], a + ld [hNumToPrint], a inc de ld a, [de] - ld [H_NUMTOPRINT + 1], a + ld [hNumToPrint + 1], a inc de ld a, [de] - ld [H_NUMTOPRINT + 2], a + ld [hNumToPrint + 2], a jr .start .word ld a, [de] - ld [H_NUMTOPRINT + 1], a + ld [hNumToPrint + 1], a inc de ld a, [de] - ld [H_NUMTOPRINT + 2], a + ld [hNumToPrint + 2], a jr .start .byte ld a, [de] - ld [H_NUMTOPRINT + 2], a + ld [hNumToPrint + 2], a .start push de @@ -4159,16 +4159,16 @@ if (\1) / $10000 ld a, \1 / $10000 % $100 else xor a endc - ld [H_POWEROFTEN + 0], a + ld [hPowerOf10 + 0], a if (\1) / $100 ld a, \1 / $100 % $100 else xor a endc - ld [H_POWEROFTEN + 1], a + ld [hPowerOf10 + 1], a ld a, \1 / $1 % $100 - ld [H_POWEROFTEN + 2], a + ld [hPowerOf10 + 2], a call .PrintDigit call .NextDigit @@ -4182,7 +4182,7 @@ endm .tens ld c, 0 - ld a, [H_NUMTOPRINT + 2] + ld a, [hNumToPrint + 2] .mod cp 10 jr c, .ok @@ -4192,9 +4192,9 @@ endm .ok ld b, a - ld a, [H_PASTLEADINGZEROES] + ld a, [hPastLeadingZeros] or c - ld [H_PASTLEADINGZEROES], a + ld [hPastLeadingZeros], a jr nz, .past call .PrintLeadingZero jr .next @@ -4219,74 +4219,74 @@ endm ; Print the quotient, and keep the modulus. ld c, 0 .loop - ld a, [H_POWEROFTEN] + ld a, [hPowerOf10] ld b, a - ld a, [H_NUMTOPRINT] - ld [H_SAVEDNUMTOPRINT], a + ld a, [hNumToPrint] + ld [hSavedNumToPrint], a cp b jr c, .underflow0 sub b - ld [H_NUMTOPRINT], a - ld a, [H_POWEROFTEN + 1] + ld [hNumToPrint], a + ld a, [hPowerOf10 + 1] ld b, a - ld a, [H_NUMTOPRINT + 1] - ld [H_SAVEDNUMTOPRINT + 1], a + ld a, [hNumToPrint + 1] + ld [hSavedNumToPrint + 1], a cp b jr nc, .noborrow1 - ld a, [H_NUMTOPRINT] + ld a, [hNumToPrint] or 0 jr z, .underflow1 dec a - ld [H_NUMTOPRINT], a - ld a, [H_NUMTOPRINT + 1] + ld [hNumToPrint], a + ld a, [hNumToPrint + 1] .noborrow1 sub b - ld [H_NUMTOPRINT + 1], a - ld a, [H_POWEROFTEN + 2] + ld [hNumToPrint + 1], a + ld a, [hPowerOf10 + 2] ld b, a - ld a, [H_NUMTOPRINT + 2] - ld [H_SAVEDNUMTOPRINT + 2], a + ld a, [hNumToPrint + 2] + ld [hSavedNumToPrint + 2], a cp b jr nc, .noborrow2 - ld a, [H_NUMTOPRINT + 1] + ld a, [hNumToPrint + 1] and a jr nz, .borrowed - ld a, [H_NUMTOPRINT] + ld a, [hNumToPrint] and a jr z, .underflow2 dec a - ld [H_NUMTOPRINT], a + ld [hNumToPrint], a xor a .borrowed dec a - ld [H_NUMTOPRINT + 1], a - ld a, [H_NUMTOPRINT + 2] + ld [hNumToPrint + 1], a + ld a, [hNumToPrint + 2] .noborrow2 sub b - ld [H_NUMTOPRINT + 2], a + ld [hNumToPrint + 2], a inc c jr .loop .underflow2 - ld a, [H_SAVEDNUMTOPRINT + 1] - ld [H_NUMTOPRINT + 1], a + ld a, [hSavedNumToPrint + 1] + ld [hNumToPrint + 1], a .underflow1 - ld a, [H_SAVEDNUMTOPRINT] - ld [H_NUMTOPRINT], a + ld a, [hSavedNumToPrint] + ld [hNumToPrint], a .underflow0 - ld a, [H_PASTLEADINGZEROES] + ld a, [hPastLeadingZeros] or c jr z, .PrintLeadingZero ld a, "0" add c ld [hl], a - ld [H_PASTLEADINGZEROES], a + ld [hPastLeadingZeros], a ret .PrintLeadingZero: @@ -4303,7 +4303,7 @@ endm jr nz, .inc bit BIT_LEFT_ALIGN, d jr z, .inc - ld a, [H_PASTLEADINGZEROES] + ld a, [hPastLeadingZeros] and a ret z .inc @@ -4491,7 +4491,7 @@ UpdateCinnabarGymGateTileBlocks:: jpba UpdateCinnabarGymGateTileBlocks_ CheckForHiddenObjectOrBookshelfOrCardKeyDoor:: - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, [hJoyHeld] bit 0, a ; A button @@ -4499,14 +4499,14 @@ CheckForHiddenObjectOrBookshelfOrCardKeyDoor:: ; A button is pressed ld a, Bank(CheckForHiddenObject) ld [MBC1RomBank], a - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a call CheckForHiddenObject ld a, [$ffee] and a jr nz, .hiddenObjectNotFound ld a, [wHiddenObjectFunctionRomBank] ld [MBC1RomBank], a - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld de, .returnAddress push de jp hl @@ -4524,7 +4524,7 @@ CheckForHiddenObjectOrBookshelfOrCardKeyDoor:: ld [$ffeb], a pop af ld [MBC1RomBank], a - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ret PrintPredefTextID:: diff --git a/home/audio.asm b/home/audio.asm index 242f038b..04f0276d 100644 --- a/home/audio.asm +++ b/home/audio.asm @@ -170,10 +170,10 @@ PlaySound:: .noFadeOut xor a ld [wNewSoundID], a - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] ld [hSavedROMBank], a ld a, [wAudioROMBank] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a cp BANK(Audio1_PlaySound) jr nz, .checkForAudio2 @@ -198,7 +198,7 @@ PlaySound:: .next2 ld a, [hSavedROMBank] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a jr .done diff --git a/home/copy.asm b/home/copy.asm index be9c8c0c..910f508b 100644 --- a/home/copy.asm +++ b/home/copy.asm @@ -1,14 +1,14 @@ FarCopyData:: ; Copy bc bytes from a:hl to de. ld [wBuffer], a - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, [wBuffer] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a call CopyData pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret diff --git a/home/copy2.asm b/home/copy2.asm index d4f35668..521223b6 100644 --- a/home/copy2.asm +++ b/home/copy2.asm @@ -2,24 +2,24 @@ FarCopyData2:: ; Identical to FarCopyData, but uses hROMBankTemp ; as temp space instead of wBuffer. ld [hROMBankTemp], a - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, [hROMBankTemp] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a call CopyData pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret FarCopyData3:: ; Copy bc bytes from a:de to hl. ld [hROMBankTemp], a - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, [hROMBankTemp] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a push hl push de @@ -31,7 +31,7 @@ FarCopyData3:: pop de pop hl pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -39,10 +39,10 @@ FarCopyDataDouble:: ; Expand bc bytes of 1bpp image data ; from a:hl to 2bpp data at de. ld [hROMBankTemp], a - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, [hROMBankTemp] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a .loop ld a, [hli] @@ -55,7 +55,7 @@ FarCopyDataDouble:: or b jr nz, .loop pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -64,27 +64,27 @@ CopyVideoData:: ; tiles from b:de to hl, 8 tiles at a time. ; This takes c/8 frames. - ld a, [H_AUTOBGTRANSFERENABLED] + ld a, [hAutoBGTransferEnabled] push af xor a ; disable auto-transfer while copying - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] ld [hROMBankTemp], a ld a, b - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ld a, e - ld [H_VBCOPYSRC], a + ld [hVBlankCopySource], a ld a, d - ld [H_VBCOPYSRC + 1], a + ld [hVBlankCopySource + 1], a ld a, l - ld [H_VBCOPYDEST], a + ld [hVBlankCopyDest], a ld a, h - ld [H_VBCOPYDEST + 1], a + ld [hVBlankCopyDest + 1], a .loop ld a, c @@ -92,18 +92,18 @@ CopyVideoData:: jr nc, .keepgoing .done - ld [H_VBCOPYSIZE], a + ld [hVBlankCopySize], a call DelayFrame ld a, [hROMBankTemp] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a pop af - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ret .keepgoing ld a, 8 - ld [H_VBCOPYSIZE], a + ld [hVBlankCopySize], a call DelayFrame ld a, c sub 8 @@ -114,26 +114,26 @@ CopyVideoDataDouble:: ; Wait for the next VBlank, then copy c 1bpp ; tiles from b:de to hl, 8 tiles at a time. ; This takes c/8 frames. - ld a, [H_AUTOBGTRANSFERENABLED] + ld a, [hAutoBGTransferEnabled] push af xor a ; disable auto-transfer while copying - ld [H_AUTOBGTRANSFERENABLED], a - ld a, [H_LOADEDROMBANK] + ld [hAutoBGTransferEnabled], a + ld a, [hLoadedROMBank] ld [hROMBankTemp], a ld a, b - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ld a, e - ld [H_VBCOPYDOUBLESRC], a + ld [hVBlankCopyDoubleSource], a ld a, d - ld [H_VBCOPYDOUBLESRC + 1], a + ld [hVBlankCopyDoubleSource + 1], a ld a, l - ld [H_VBCOPYDOUBLEDEST], a + ld [hVBlankCopyDoubleDest], a ld a, h - ld [H_VBCOPYDOUBLEDEST + 1], a + ld [hVBlankCopyDoubleDest + 1], a .loop ld a, c @@ -141,18 +141,18 @@ CopyVideoDataDouble:: jr nc, .keepgoing .done - ld [H_VBCOPYDOUBLESIZE], a + ld [hVBlankCopyDoubleSize], a call DelayFrame ld a, [hROMBankTemp] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a pop af - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ret .keepgoing ld a, 8 - ld [H_VBCOPYDOUBLESIZE], a + ld [hVBlankCopyDoubleSize], a call DelayFrame ld a, c sub 8 @@ -200,16 +200,16 @@ CopyScreenTileBufferToVRAM:: .setup ld a, d - ld [H_VBCOPYBGSRC+1], a + ld [hVBlankCopyBGSource+1], a call GetRowColAddressBgMap ld a, l - ld [H_VBCOPYBGDEST], a + ld [hVBlankCopyBGDest], a ld a, h - ld [H_VBCOPYBGDEST+1], a + ld [hVBlankCopyBGDest+1], a ld a, c - ld [H_VBCOPYBGNUMROWS], a + ld [hVBlankCopyBGNumRows], a ld a, e - ld [H_VBCOPYBGSRC], a + ld [hVBlankCopyBGSource], a ret ClearScreen:: diff --git a/home/init.asm b/home/init.asm index 9e3e2c82..efc886e0 100644 --- a/home/init.asm +++ b/home/init.asm @@ -60,7 +60,7 @@ rLCDC_DEFAULT EQU %11100011 call ClearSprites ld a, Bank(WriteDMACodeToHRAM) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a call WriteDMACodeToHRAM @@ -101,9 +101,9 @@ rLCDC_DEFAULT EQU %11100011 ld [wAudioROMBank], a ld [wAudioSavedROMBank], a ld a, $9c - ld [H_AUTOBGTRANSFERDEST + 1], a + ld [hAutoBGTransferDest + 1], a xor a - ld [H_AUTOBGTRANSFERDEST], a + ld [hAutoBGTransferDest], a dec a ld [wUpdateSpritesEnabled], a diff --git a/home/overworld.asm b/home/overworld.asm index cc8c498c..9fb269dc 100644 --- a/home/overworld.asm +++ b/home/overworld.asm @@ -763,7 +763,7 @@ HandleBlackOut:: ld hl, wd72e res 5, [hl] ld a, Bank(ResetStatusAndHalveMoneyOnBlackout) ; also Bank(SpecialWarpIn) and Bank(SpecialEnterMap) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a call ResetStatusAndHalveMoneyOnBlackout call SpecialWarpIn @@ -794,7 +794,7 @@ HandleFlyWarpOrDungeonWarp:: res 5, [hl] ; forced to ride bike call LeaveMapAnim ld a, Bank(SpecialWarpIn) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a call SpecialWarpIn jp SpecialEnterMap @@ -1372,10 +1372,10 @@ TilePairCollisionsWater:: ; this builds a tile map from the tile block map based on the current X/Y coordinates of the player's character LoadCurrentMapView:: - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, [wTilesetBank] ; tile data ROM bank - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ; switch to ROM bank that contains tile data ld a, [wCurrentTileBlockMapViewPointer] ; address of upper left corner of current map view ld e, a @@ -1457,7 +1457,7 @@ LoadCurrentMapView:: dec b jr nz, .rowLoop2 pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ; restore previous ROM bank ret @@ -2291,10 +2291,10 @@ LoadMapHeader:: ld a, [wCurMap] ld c, a ld b, $00 - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, BANK(MapSongBanks) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ld hl, MapSongBanks add hl, bc @@ -2304,7 +2304,7 @@ LoadMapHeader:: ld a, [hl] ld [wMapMusicROMBank], a ; music 2 pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -2322,7 +2322,7 @@ CopyMapConnectionHeader:: ; function to load map data LoadMapData:: - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af call DisableLCD ld a, $98 @@ -2377,7 +2377,7 @@ LoadMapData:: call PlayDefaultMusicFadeOutCurrent .restoreRomBank pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -2396,7 +2396,7 @@ SwitchToMapRomBank:: ld [$ffe8], a ; save map ROM bank call BankswitchBack ld a, [$ffe8] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ; switch to map ROM bank pop bc pop hl diff --git a/home/pic.asm b/home/pic.asm index a1c18e8a..cfc39f0f 100644 --- a/home/pic.asm +++ b/home/pic.asm @@ -2,10 +2,10 @@ ; bank is given in a, sprite input stream is pointed to in wSpriteInputPtr UncompressSpriteData:: ld b, a - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, b - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ld a, SRAM_ENABLE ld [MBC1SRamEnable], a @@ -13,7 +13,7 @@ UncompressSpriteData:: ld [MBC1SRamBank], a call _UncompressSpriteData pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret diff --git a/home/predef.asm b/home/predef.asm index 9bb9be74..4f0c37d9 100644 --- a/home/predef.asm +++ b/home/predef.asm @@ -8,18 +8,18 @@ Predef:: ; A hack for LoadDestinationWarpPosition. ; See LoadTilesetHeader (predef $19). - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] ld [wPredefParentBank], a push af ld a, BANK(GetPredefPointer) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a call GetPredefPointer ld a, [wPredefBank] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ld de, .done @@ -28,7 +28,7 @@ Predef:: .done pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret diff --git a/home/start_menu.asm b/home/start_menu.asm index eb4b4f2d..38333644 100755 --- a/home/start_menu.asm +++ b/home/start_menu.asm @@ -1,6 +1,6 @@ DisplayStartMenu:: ld a, BANK(StartMenu_Pokedex) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ld a, [wWalkBikeSurfState] ; walking/biking/surfing ld [wWalkBikeSurfStateCopy], a diff --git a/home/text.asm b/home/text.asm index 9db81530..89c93dd0 100644 --- a/home/text.asm +++ b/home/text.asm @@ -62,7 +62,7 @@ Char4ETest:: cp $4E ; next jr nz, .char4FTest ld bc, 2 * SCREEN_WIDTH - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] bit 2, a jr z, .ok ld bc, SCREEN_WIDTH @@ -180,7 +180,7 @@ Char59:: ; or ; player active monster’s name ; (like Char5A but flipped) - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] xor 1 jr MonsterNameCharsCommon @@ -189,7 +189,7 @@ Char5A:: ; player active monster’s name ; or ; enemy active monster’s name, prefixed with “Enemy ” - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] MonsterNameCharsCommon:: push de and a @@ -675,14 +675,14 @@ TextCommand0D:: ; BB = bank TextCommand17:: pop hl - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, [hli] ld e, a ld a, [hli] ld d, a ld a, [hli] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a push hl ld l, e @@ -690,7 +690,7 @@ TextCommand17:: call TextCommandProcessor pop hl pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a jp NextTextCommand diff --git a/home/vblank.asm b/home/vblank.asm index e80fba75..e8232ea3 100644 --- a/home/vblank.asm +++ b/home/vblank.asm @@ -5,7 +5,7 @@ VBlank:: push de push hl - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] ld [wVBlankSavedROMBank], a ld a, [hSCX] @@ -28,7 +28,7 @@ VBlank:: call UpdateMovingBgTiles call $ff80 ; hOAMDMA ld a, BANK(PrepareOAMData) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a call PrepareOAMData @@ -36,24 +36,24 @@ VBlank:: call Random - ld a, [H_VBLANKOCCURRED] + ld a, [hVBlankOccurred] and a jr z, .skipZeroing xor a - ld [H_VBLANKOCCURRED], a + ld [hVBlankOccurred], a .skipZeroing - ld a, [H_FRAMECOUNTER] + ld a, [hFrameCounter] and a jr z, .skipDec dec a - ld [H_FRAMECOUNTER], a + ld [hFrameCounter], a .skipDec call FadeOutAudio ld a, [wAudioROMBank] ; music ROM bank - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a cp BANK(Audio1_UpdateMusic) @@ -79,7 +79,7 @@ VBlank:: call z, ReadJoypad ld a, [wVBlankSavedROMBank] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a pop hl @@ -96,10 +96,10 @@ DelayFrame:: NOT_VBLANKED EQU 1 ld a, NOT_VBLANKED - ld [H_VBLANKOCCURRED], a + ld [hVBlankOccurred], a .halt halt - ld a, [H_VBLANKOCCURRED] + ld a, [hVBlankOccurred] and a jr nz, .halt ret diff --git a/home/vcopy.asm b/home/vcopy.asm index 3f49ad3e..a6213b32 100644 --- a/home/vcopy.asm +++ b/home/vcopy.asm @@ -120,15 +120,15 @@ RedrawRowOrColumn:: ; the above function, RedrawRowOrColumn, is used when walking to ; improve efficiency. AutoBgMapTransfer:: - ld a, [H_AUTOBGTRANSFERENABLED] + ld a, [hAutoBGTransferEnabled] and a ret z ld hl, sp + 0 ld a, h - ld [H_SPTEMP], a + ld [hSPTemp], a ld a, l - ld [H_SPTEMP + 1], a ; save stack pinter - ld a, [H_AUTOBGTRANSFERPORTION] + ld [hSPTemp + 1], a ; save stack pinter + ld a, [hAutoBGTransferPortion] and a jr z, .transferTopThird dec a @@ -136,9 +136,9 @@ AutoBgMapTransfer:: .transferBottomThird coord hl, 0, 12 ld sp, hl - ld a, [H_AUTOBGTRANSFERDEST + 1] + ld a, [hAutoBGTransferDest + 1] ld h, a - ld a, [H_AUTOBGTRANSFERDEST] + ld a, [hAutoBGTransferDest] ld l, a ld de, (12 * 32) add hl, de @@ -147,24 +147,24 @@ AutoBgMapTransfer:: .transferTopThird coord hl, 0, 0 ld sp, hl - ld a, [H_AUTOBGTRANSFERDEST + 1] + ld a, [hAutoBGTransferDest + 1] ld h, a - ld a, [H_AUTOBGTRANSFERDEST] + ld a, [hAutoBGTransferDest] ld l, a ld a, TRANSFERMIDDLE jr .doTransfer .transferMiddleThird coord hl, 0, 6 ld sp, hl - ld a, [H_AUTOBGTRANSFERDEST + 1] + ld a, [hAutoBGTransferDest + 1] ld h, a - ld a, [H_AUTOBGTRANSFERDEST] + ld a, [hAutoBGTransferDest] ld l, a ld de, (6 * 32) add hl, de ld a, TRANSFERBOTTOM .doTransfer - ld [H_AUTOBGTRANSFERPORTION], a ; store next portion + ld [hAutoBGTransferPortion], a ; store next portion ld b, 6 TransferBgRows:: @@ -192,73 +192,73 @@ TransferBgRows:: dec b jr nz, TransferBgRows - ld a, [H_SPTEMP] + ld a, [hSPTemp] ld h, a - ld a, [H_SPTEMP + 1] + ld a, [hSPTemp + 1] ld l, a ld sp, hl ret -; Copies [H_VBCOPYBGNUMROWS] rows from H_VBCOPYBGSRC to H_VBCOPYBGDEST. -; If H_VBCOPYBGSRC is XX00, the transfer is disabled. +; Copies [hVBlankCopyBGNumRows] rows from hVBlankCopyBGSource to hVBlankCopyBGDest. +; If hVBlankCopyBGSource is XX00, the transfer is disabled. VBlankCopyBgMap:: - ld a, [H_VBCOPYBGSRC] ; doubles as enabling byte + ld a, [hVBlankCopyBGSource] ; doubles as enabling byte and a ret z ld hl, sp + 0 ld a, h - ld [H_SPTEMP], a + ld [hSPTemp], a ld a, l - ld [H_SPTEMP + 1], a ; save stack pointer - ld a, [H_VBCOPYBGSRC] + ld [hSPTemp + 1], a ; save stack pointer + ld a, [hVBlankCopyBGSource] ld l, a - ld a, [H_VBCOPYBGSRC + 1] + ld a, [hVBlankCopyBGSource + 1] ld h, a ld sp, hl - ld a, [H_VBCOPYBGDEST] + ld a, [hVBlankCopyBGDest] ld l, a - ld a, [H_VBCOPYBGDEST + 1] + ld a, [hVBlankCopyBGDest + 1] ld h, a - ld a, [H_VBCOPYBGNUMROWS] + ld a, [hVBlankCopyBGNumRows] ld b, a xor a - ld [H_VBCOPYBGSRC], a ; disable transfer so it doesn't continue next V-blank + ld [hVBlankCopyBGSource], a ; disable transfer so it doesn't continue next V-blank jr TransferBgRows VBlankCopyDouble:: -; Copy [H_VBCOPYDOUBLESIZE] 1bpp tiles -; from H_VBCOPYDOUBLESRC to H_VBCOPYDOUBLEDEST. +; Copy [hVBlankCopyDoubleSize] 1bpp tiles +; from hVBlankCopyDoubleSource to hVBlankCopyDoubleDest. ; While we're here, convert to 2bpp. ; The process is straightforward: ; copy each byte twice. - ld a, [H_VBCOPYDOUBLESIZE] + ld a, [hVBlankCopyDoubleSize] and a ret z ld hl, sp + 0 ld a, h - ld [H_SPTEMP], a + ld [hSPTemp], a ld a, l - ld [H_SPTEMP + 1], a + ld [hSPTemp + 1], a - ld a, [H_VBCOPYDOUBLESRC] + ld a, [hVBlankCopyDoubleSource] ld l, a - ld a, [H_VBCOPYDOUBLESRC + 1] + ld a, [hVBlankCopyDoubleSource + 1] ld h, a ld sp, hl - ld a, [H_VBCOPYDOUBLEDEST] + ld a, [hVBlankCopyDoubleDest] ld l, a - ld a, [H_VBCOPYDOUBLEDEST + 1] + ld a, [hVBlankCopyDoubleDest + 1] ld h, a - ld a, [H_VBCOPYDOUBLESIZE] + ld a, [hVBlankCopyDoubleSize] ld b, a xor a ; transferred - ld [H_VBCOPYDOUBLESIZE], a + ld [hVBlankCopyDoubleSize], a .loop rept 3 @@ -286,19 +286,19 @@ VBlankCopyDouble:: jr nz, .loop ld a, l - ld [H_VBCOPYDOUBLEDEST], a + ld [hVBlankCopyDoubleDest], a ld a, h - ld [H_VBCOPYDOUBLEDEST + 1], a + ld [hVBlankCopyDoubleDest + 1], a ld hl, sp + 0 ld a, l - ld [H_VBCOPYDOUBLESRC], a + ld [hVBlankCopyDoubleSource], a ld a, h - ld [H_VBCOPYDOUBLESRC + 1], a + ld [hVBlankCopyDoubleSource + 1], a - ld a, [H_SPTEMP] + ld a, [hSPTemp] ld h, a - ld a, [H_SPTEMP + 1] + ld a, [hSPTemp + 1] ld l, a ld sp, hl @@ -306,37 +306,37 @@ VBlankCopyDouble:: VBlankCopy:: -; Copy [H_VBCOPYSIZE] 2bpp tiles (or 16 * [H_VBCOPYSIZE] tile map entries) -; from H_VBCOPYSRC to H_VBCOPYDEST. +; Copy [hVBlankCopySize] 2bpp tiles (or 16 * [hVBlankCopySize] tile map entries) +; from hVBlankCopySource to hVBlankCopyDest. ; Source and destination addresses are updated, ; so transfer can continue in subsequent calls. - ld a, [H_VBCOPYSIZE] + ld a, [hVBlankCopySize] and a ret z ld hl, sp + 0 ld a, h - ld [H_SPTEMP], a + ld [hSPTemp], a ld a, l - ld [H_SPTEMP + 1], a + ld [hSPTemp + 1], a - ld a, [H_VBCOPYSRC] + ld a, [hVBlankCopySource] ld l, a - ld a, [H_VBCOPYSRC + 1] + ld a, [hVBlankCopySource + 1] ld h, a ld sp, hl - ld a, [H_VBCOPYDEST] + ld a, [hVBlankCopyDest] ld l, a - ld a, [H_VBCOPYDEST + 1] + ld a, [hVBlankCopyDest + 1] ld h, a - ld a, [H_VBCOPYSIZE] + ld a, [hVBlankCopySize] ld b, a xor a ; transferred - ld [H_VBCOPYSIZE], a + ld [hVBlankCopySize], a .loop rept 7 @@ -356,19 +356,19 @@ VBlankCopy:: jr nz, .loop ld a, l - ld [H_VBCOPYDEST], a + ld [hVBlankCopyDest], a ld a, h - ld [H_VBCOPYDEST + 1], a + ld [hVBlankCopyDest + 1], a ld hl, sp + 0 ld a, l - ld [H_VBCOPYSRC], a + ld [hVBlankCopySource], a ld a, h - ld [H_VBCOPYSRC + 1], a + ld [hVBlankCopySource + 1], a - ld a, [H_SPTEMP] + ld a, [hSPTemp] ld h, a - ld a, [H_SPTEMP + 1] + ld a, [hSPTemp + 1] ld l, a ld sp, hl diff --git a/hram.asm b/hram.asm index 4beca9c4..69abb717 100644 --- a/hram.asm +++ b/hram.asm @@ -26,17 +26,17 @@ hSlideAmount EQU $FF8B hRLEByteValue EQU $FF8B -H_SPRITEWIDTH EQU $FF8B ; in tiles -H_SPRITEINTERLACECOUNTER EQU $FF8B -H_SPRITEHEIGHT EQU $FF8C ; in tiles -H_SPRITEOFFSET EQU $FF8D +hSpriteWidth EQU $FF8B ; in tiles +hSpriteInterlaceCounter EQU $FF8B +hSpriteHeight EQU $FF8C ; in tiles +hSpriteOffset EQU $FF8D ; counters for blinking down arrow -H_DOWNARROWBLINKCNT1 EQU $FF8B -H_DOWNARROWBLINKCNT2 EQU $FF8C +hDownArrowBlinkCount1 EQU $FF8B +hDownArrowBlinkCount2 EQU $FF8C -H_SPRITEDATAOFFSET EQU $FF8B -H_SPRITEINDEX EQU $FF8C +hSpriteDataOffset EQU $FF8B +hSpriteIndex EQU $FF8C hMapStride EQU $FF8B hMapWidth EQU $FF8C @@ -101,24 +101,24 @@ hExperience EQU $FF96 ; 3 bytes, big endian ; Multiplication and division variables are meant ; to overlap for back-to-back usage. Big endian. -H_MULTIPLICAND EQU $FF96 ; 3 bytes -H_MULTIPLIER EQU $FF99 ; 1 byte -H_PRODUCT EQU $FF95 ; 4 bytes +hMultiplicand EQU $FF96 ; 3 bytes +hMultiplier EQU $FF99 ; 1 byte +hProduct EQU $FF95 ; 4 bytes -H_DIVIDEND EQU $FF95 ; 4 bytes -H_DIVISOR EQU $FF99 ; 1 byte -H_QUOTIENT EQU $FF95 ; 4 bytes -H_REMAINDER EQU $FF99 ; 1 byte +hDividend EQU $FF95 ; 4 bytes +hDivisor EQU $FF99 ; 1 byte +hQuotient EQU $FF95 ; 4 bytes +hRemainder EQU $FF99 ; 1 byte -H_DIVIDEBUFFER EQU $FF9A +hDivideBuffer EQU $FF9A -H_MULTIPLYBUFFER EQU $FF9B +hMultiplyBuffer EQU $FF9B ; PrintNumber (big endian). -H_PASTLEADINGZEROES EQU $FF95 ; last char printed -H_NUMTOPRINT EQU $FF96 ; 3 bytes -H_POWEROFTEN EQU $FF99 ; 3 bytes -H_SAVEDNUMTOPRINT EQU $FF9C ; 3 bytes +hPastLeadingZeros EQU $FF95 ; last char printed +hNumToPrint EQU $FF96 ; 3 bytes +hPowerOf10 EQU $FF99 ; 3 bytes +hSavedNumToPrint EQU $FF9C ; 3 bytes ; distance in steps between NPC and player hNPCPlayerYDistance EQU $FF95 @@ -183,14 +183,14 @@ hJoy5 EQU $FFB5 hJoy6 EQU $FFB6 hJoy7 EQU $FFB7 -H_LOADEDROMBANK EQU $FFB8 +hLoadedROMBank EQU $FFB8 hSavedROMBank EQU $FFB9 ; is automatic background transfer during V-blank enabled? ; if nonzero, yes ; if zero, no -H_AUTOBGTRANSFERENABLED EQU $FFBA +hAutoBGTransferEnabled EQU $FFBA TRANSFERTOP EQU 0 TRANSFERMIDDLE EQU 1 @@ -199,45 +199,45 @@ TRANSFERBOTTOM EQU 2 ; 00 = top third of background ; 01 = middle third of background ; 02 = bottom third of background -H_AUTOBGTRANSFERPORTION EQU $FFBB +hAutoBGTransferPortion EQU $FFBB ; the destination address of the automatic background transfer -H_AUTOBGTRANSFERDEST EQU $FFBC ; 2 bytes +hAutoBGTransferDest EQU $FFBC ; 2 bytes ; temporary storage for stack pointer during memory transfers that use pop ; to increase speed -H_SPTEMP EQU $FFBF ; 2 bytes +hSPTemp EQU $FFBF ; 2 bytes ; source address for VBlankCopyBgMap function ; the first byte doubles as the byte that enabled the transfer. ; if it is 0, the transfer is disabled ; if it is not 0, the transfer is enabled ; this means that XX00 is not a valid source address -H_VBCOPYBGSRC EQU $FFC1 ; 2 bytes +hVBlankCopyBGSource EQU $FFC1 ; 2 bytes ; destination address for VBlankCopyBgMap function -H_VBCOPYBGDEST EQU $FFC3 ; 2 bytes +hVBlankCopyBGDest EQU $FFC3 ; 2 bytes ; number of rows for VBlankCopyBgMap to copy -H_VBCOPYBGNUMROWS EQU $FFC5 +hVBlankCopyBGNumRows EQU $FFC5 ; size of VBlankCopy transfer in 16-byte units -H_VBCOPYSIZE EQU $FFC6 +hVBlankCopySize EQU $FFC6 ; source address for VBlankCopy function -H_VBCOPYSRC EQU $FFC7 +hVBlankCopySource EQU $FFC7 ; destination address for VBlankCopy function -H_VBCOPYDEST EQU $FFC9 +hVBlankCopyDest EQU $FFC9 ; size of source data for VBlankCopyDouble in 8-byte units -H_VBCOPYDOUBLESIZE EQU $FFCB +hVBlankCopyDoubleSize EQU $FFCB ; source address for VBlankCopyDouble function -H_VBCOPYDOUBLESRC EQU $FFCC +hVBlankCopyDoubleSource EQU $FFCC ; destination address for VBlankCopyDouble function -H_VBCOPYDOUBLEDEST EQU $FFCE +hVBlankCopyDoubleDest EQU $FFCE ; controls whether a row or column of 2x2 tile blocks is redrawn in V-blank ; 00 = no redraw @@ -253,12 +253,12 @@ hRedrawRowOrColumnDest EQU $FFD1 hRandomAdd EQU $FFD3 hRandomSub EQU $FFD4 -H_FRAMECOUNTER EQU $FFD5 ; decremented every V-blank (used for delays) +hFrameCounter EQU $FFD5 ; decremented every V-blank (used for delays) ; V-blank sets this to 0 each time it runs. ; So, by setting it to a nonzero value and waiting for it to become 0 again, ; you can detect that the V-blank handler has run since then. -H_VBLANKOCCURRED EQU $FFD6 +hVBlankOccurred EQU $FFD6 ; 00 = indoor ; 01 = cave @@ -268,7 +268,7 @@ hTilesetType EQU $FFD7 hMovingBGTilesCounter1 EQU $FFD8 -H_CURRENTSPRITEOFFSET EQU $FFDA ; multiple of $10 +hCurrentSpriteOffset EQU $FFDA ; multiple of $10 hItemCounter EQU $FFDB @@ -310,15 +310,14 @@ hCoordsInFrontOfPlayerMatch EQU $FFEA hSpriteAnimFrameCounter EQU $FFEA -H_WHOSETURN EQU $FFF3 ; 0 on player’s turn, 1 on enemy’s turn +hWhoseTurn EQU $FFF3 ; 0 on player’s turn, 1 on enemy’s turn ; bit 0: draw HP fraction to the right of bar instead of below (for party menu) ; bit 1: menu is double spaced -hFlags_0xFFF6 EQU $FFF6 +hFlagsFFF6 EQU $FFF6 hFieldMoveMonMenuTopMenuItemX EQU $FFF7 hDisableJoypadPolling EQU $FFF9 hJoyInput EQU $FFF8 - diff --git a/macros/farcall.asm b/macros/farcall.asm index fc208e3d..885f8c66 100644 --- a/macros/farcall.asm +++ b/macros/farcall.asm @@ -25,13 +25,13 @@ jpab: MACRO ENDM homecall: MACRO - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, BANK(\1) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a call \1 pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ENDM diff --git a/scripts/BillsHouse.asm b/scripts/BillsHouse.asm index 74efc960..0c8ca4de 100755 --- a/scripts/BillsHouse.asm +++ b/scripts/BillsHouse.asm @@ -23,7 +23,7 @@ BillsHouseScript1: ld de, MovementData_1e7a0 .notDown ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite ld a, $2 ld [wBillsHouseCurScript], a @@ -80,7 +80,7 @@ BillsHouseScript3: ld c, 8 call DelayFrames ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld de, MovementData_1e807 call MoveSprite ld a, $4 diff --git a/scripts/CeladonGym.asm b/scripts/CeladonGym.asm index 50c02196..e2665555 100755 --- a/scripts/CeladonGym.asm +++ b/scripts/CeladonGym.asm @@ -170,7 +170,7 @@ CeladonGymText1: ld hl, CeladonGymText_48a63 ld de, CeladonGymText_48a63 call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/CeruleanCity.asm b/scripts/CeruleanCity.asm index 94ec2496..61dd03f6 100755 --- a/scripts/CeruleanCity.asm +++ b/scripts/CeruleanCity.asm @@ -79,9 +79,9 @@ CeruleanCityScript0: cp $14 jr z, .asm_19535 ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, $5 - ld [H_SPRITEDATAOFFSET], a + ld [hSpriteDataOffset], a call GetPointerWithinSpriteStateData2 ld [hl], $19 .asm_19535 @@ -90,7 +90,7 @@ CeruleanCityScript0: predef ShowObject ld de, CeruleanCityMovement1 ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite ld a, $1 ld [wCeruleanCityCurScript], a @@ -114,7 +114,7 @@ CeruleanCityMovement1: CeruleanCityScript_1955d: ld a, 1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a xor a ; SPRITE_FACING_DOWN ld [hSpriteFacingDirection], a jp SetSpriteFacingDirectionAndDelay ; face object @@ -176,7 +176,7 @@ CeruleanCityScript2: call PlaySound callba Music_RivalAlternateStart ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteMovementBytesToFF ld a, [wXCoord] cp $14 @@ -187,7 +187,7 @@ CeruleanCityScript2: ld de, CeruleanCityMovement3 .asm_195f3 ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite ld a, $3 ld [wCeruleanCityCurScript], a diff --git a/scripts/CeruleanGym.asm b/scripts/CeruleanGym.asm index c4aaf7de..a3a8f18d 100755 --- a/scripts/CeruleanGym.asm +++ b/scripts/CeruleanGym.asm @@ -121,7 +121,7 @@ CeruleanGymText1: ld hl, CeruleanGymText_5c7d8 ld de, CeruleanGymText_5c7d8 call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/ChampionsRoom.asm b/scripts/ChampionsRoom.asm index e3cdc6d2..506dc525 100755 --- a/scripts/ChampionsRoom.asm +++ b/scripts/ChampionsRoom.asm @@ -101,7 +101,7 @@ GaryScript3: ld [hSpriteIndexOrTextID], a call GaryScript_760c8 ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteMovementBytesToFF ld a, $4 ld [wChampionsRoomCurScript], a @@ -113,11 +113,11 @@ GaryScript4: ld [hSpriteIndexOrTextID], a call GaryScript_760c8 ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteMovementBytesToFF ld de, OakEntranceAfterVictoryMovement ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite ld a, HS_CHAMPIONS_ROOM_OAK ld [wMissableObjectIndex], a @@ -141,12 +141,12 @@ GaryScript5: ld a, PLAYER_DIR_LEFT ld [wPlayerMovingDirection], a ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, SPRITE_FACING_LEFT ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a xor a ; SPRITE_FACING_DOWN ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -159,7 +159,7 @@ GaryScript5: GaryScript6: ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, SPRITE_FACING_RIGHT ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -172,7 +172,7 @@ GaryScript6: GaryScript7: ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a xor a ; SPRITE_FACING_DOWN ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -181,7 +181,7 @@ GaryScript7: call GaryScript_760c8 ld de, OakExitGaryRoomMovement ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite ld a, $8 ld [wChampionsRoomCurScript], a diff --git a/scripts/CinnabarGym.asm b/scripts/CinnabarGym.asm index f8be5823..1e92505a 100755 --- a/scripts/CinnabarGym.asm +++ b/scripts/CinnabarGym.asm @@ -50,7 +50,7 @@ CinnabarGymScript0: ld a, [wOpponentAfterWrongAnswer] and a ret z - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a cp $4 jr nz, .asm_757c3 ld a, PLAYER_DIR_DOWN diff --git a/scripts/FightingDojo.asm b/scripts/FightingDojo.asm index fc691dba..acedbbfe 100755 --- a/scripts/FightingDojo.asm +++ b/scripts/FightingDojo.asm @@ -43,7 +43,7 @@ FightingDojoScript1: ld a, PLAYER_DIR_RIGHT ld [wPlayerMovingDirection], a ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, SPRITE_FACING_LEFT ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -62,7 +62,7 @@ FightingDojoScript3: ld a, PLAYER_DIR_RIGHT ld [wPlayerMovingDirection], a ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, SPRITE_FACING_LEFT ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay diff --git a/scripts/FuchsiaGym.asm b/scripts/FuchsiaGym.asm index 15f016af..d0917106 100755 --- a/scripts/FuchsiaGym.asm +++ b/scripts/FuchsiaGym.asm @@ -161,7 +161,7 @@ FuchsiaGymText1: ld hl, KogaAfterBattleText ld de, KogaAfterBattleText call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/GameCorner.asm b/scripts/GameCorner.asm index 265508e0..57f18ac7 100755 --- a/scripts/GameCorner.asm +++ b/scripts/GameCorner.asm @@ -60,7 +60,7 @@ CeladonGameCornerScript1: ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $b - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteMovementBytesToFF ld de, MovementData_48c5a ld a, [wYCoord] @@ -75,7 +75,7 @@ CeladonGameCornerScript1: ld de, MovementData_48c63 .asm_48c4d ld a, $b - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite ld a, $2 ld [wGameCornerCurScript], a @@ -418,7 +418,7 @@ CeladonGameCornerText11: ld hl, CeladonGameCornerText_48ed3 ld de, CeladonGameCornerText_48ed3 call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/HallOfFame.asm b/scripts/HallOfFame.asm index af424089..14b4f15e 100755 --- a/scripts/HallOfFame.asm +++ b/scripts/HallOfFame.asm @@ -79,7 +79,7 @@ HallofFameRoomScript1: ld a, PLAYER_DIR_RIGHT ld [wPlayerMovingDirection], a ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteMovementBytesToFF ld a, SPRITE_FACING_LEFT ld [hSpriteFacingDirection], a diff --git a/scripts/MtMoonB2F.asm b/scripts/MtMoonB2F.asm index 863d9d22..3a9ec99f 100755 --- a/scripts/MtMoonB2F.asm +++ b/scripts/MtMoonB2F.asm @@ -88,7 +88,7 @@ MtMoon3Script3: MtMoon3Script4: ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteMovementBytesToFF ld hl, CoordsData_49dea call ArePlayerCoordsInArray @@ -102,7 +102,7 @@ MtMoon3Script4: ld de, MovementData_49df8 .asm_49dda ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite ld a, $5 ld [wMtMoonB2FCurScript], a @@ -222,7 +222,7 @@ MtMoon3Text1: ld hl, MtMoon3Text_49f8a ld de, MtMoon3Text_49f8a call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/OaksLab.asm b/scripts/OaksLab.asm index 79de99ff..a0383246 100755 --- a/scripts/OaksLab.asm +++ b/scripts/OaksLab.asm @@ -48,7 +48,7 @@ OaksLabScript0: OaksLabScript1: ld a, $8 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld de, OakEntryMovement call MoveSprite @@ -86,12 +86,12 @@ OaksLabScript3: ld [wSimulatedJoypadStatesIndex], a call StartSimulatingJoypadStates ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a xor a ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $5 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a xor a ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -111,7 +111,7 @@ OaksLabScript4: SetEvent EVENT_FOLLOWED_OAK_INTO_LAB SetEvent EVENT_FOLLOWED_OAK_INTO_LAB_2 ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, SPRITE_FACING_UP ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -155,12 +155,12 @@ OaksLabScript6: cp $6 ret nz ld a, $5 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a xor a ; SPRITE_FACING_DOWN ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a xor a ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -254,9 +254,9 @@ OaksLabScript8: jr nz, .moveBlue push hl ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, $4 - ld [H_SPRITEDATAOFFSET], a + ld [hSpriteDataOffset], a call GetPointerWithinSpriteStateData1 push hl ld [hl], $4c @@ -281,7 +281,7 @@ OaksLabScript8: .moveBlue ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite ld a, $9 @@ -295,7 +295,7 @@ OaksLabScript9: ld a, $fc ld [wJoyIgnore], a ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, SPRITE_FACING_UP ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -324,7 +324,7 @@ OaksLabScript9: ld [wd11e], a call GetMonName ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, SPRITE_FACING_UP ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -344,7 +344,7 @@ OaksLabScript10: cp $6 ret nz ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a xor a ; SPRITE_FACING_DOWN ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -368,7 +368,7 @@ OaksLabScript10: predef FindPathToPlayer ld de, wNPCMovementDirections2 ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite ld a, $b @@ -424,7 +424,7 @@ OaksLabScript12: ld [wSpriteIndex], a call SetSpritePosition1 ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a xor a ; SPRITE_FACING_DOWN ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -443,7 +443,7 @@ OaksLabScript13: call DisplayTextID callba Music_RivalAlternateStart ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld de, .RivalExitMovement call MoveSprite ld a, [wXCoord] @@ -530,7 +530,7 @@ OaksLabScript15: call FillMemory ld [hl], $ff ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld de, wNPCMovementDirections2 call MoveSprite @@ -540,12 +540,12 @@ OaksLabScript15: OaksLabScript_1cefd: ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, SPRITE_FACING_UP ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $8 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a xor a ; SPRITE_FACING_DOWN ld [hSpriteFacingDirection], a jp SetSpriteFacingDirectionAndDelay @@ -588,7 +588,7 @@ OaksLabScript16: ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, SPRITE_FACING_RIGHT ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -616,7 +616,7 @@ OaksLabScript16: call PlaySound callba Music_RivalAlternateStart ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld de, wNPCMovementDirections2 call MoveSprite @@ -840,15 +840,15 @@ OaksLabText39: OaksLabScript_1d157: ld a, $5 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, $9 - ld [H_SPRITEDATAOFFSET], a + ld [hSpriteDataOffset], a call GetPointerWithinSpriteStateData1 ld [hl], SPRITE_FACING_DOWN ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, $9 - ld [H_SPRITEDATAOFFSET], a + ld [hSpriteDataOffset], a call GetPointerWithinSpriteStateData1 ld [hl], SPRITE_FACING_RIGHT ld hl, wd730 @@ -947,9 +947,9 @@ OaksLabReceivedMonText: OaksLabScript_1d22d: ld a, $5 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, $9 - ld [H_SPRITEDATAOFFSET], a + ld [hSpriteDataOffset], a call GetPointerWithinSpriteStateData1 ld [hl], $0 ld hl, OaksLabLastMonText diff --git a/scripts/PalletTown.asm b/scripts/PalletTown.asm index 4c6ab015..ff500ca0 100755 --- a/scripts/PalletTown.asm +++ b/scripts/PalletTown.asm @@ -61,7 +61,7 @@ PalletTownScript1: PalletTownScript2: ld a, 1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, SPRITE_FACING_UP ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -79,7 +79,7 @@ PalletTownScript2: predef FindPathToPlayer ; load Oak’s movement into wNPCMovementDirections2 ld de, wNPCMovementDirections2 ld a, 1 ; oak - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite ld a, $FF ld [wJoyIgnore], a @@ -111,7 +111,7 @@ PalletTownScript3: ld [wNPCMovementScriptFunctionNum], a ld a, 1 ld [wNPCMovementScriptPointerTableNum], a - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] ld [wNPCMovementScriptBank], a ; trigger the next script diff --git a/scripts/PewterCity.asm b/scripts/PewterCity.asm index 18296675..1b658242 100755 --- a/scripts/PewterCity.asm +++ b/scripts/PewterCity.asm @@ -44,7 +44,7 @@ PewterCityScript1: and a ret nz ld a, $3 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, SPRITE_FACING_UP ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -69,7 +69,7 @@ PewterCityScript1: ld [wSpriteIndex], a call SetSpritePosition1 ld a, $3 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld de, MovementData_PewterMuseumGuyExit call MoveSprite ld a, $2 @@ -112,7 +112,7 @@ PewterCityScript4: and a ret nz ld a, $5 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, SPRITE_FACING_LEFT ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -137,7 +137,7 @@ PewterCityScript4: ld [wSpriteIndex], a call SetSpritePosition1 ld a, $5 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld de, MovementData_PewterGymGuyExit call MoveSprite ld a, $5 @@ -220,7 +220,7 @@ PewterCityText3: ld [wNPCMovementScriptFunctionNum], a ld a, $2 ld [wNPCMovementScriptPointerTableNum], a - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] ld [wNPCMovementScriptBank], a ld a, $3 ld [wSpriteIndex], a @@ -284,7 +284,7 @@ PewterCityText5: ld [wNPCMovementScriptFunctionNum], a ld a, $3 ld [wNPCMovementScriptPointerTableNum], a - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] ld [wNPCMovementScriptBank], a ld a, $5 ld [wSpriteIndex], a diff --git a/scripts/PewterGym.asm b/scripts/PewterGym.asm index cf02b141..643fe41c 100755 --- a/scripts/PewterGym.asm +++ b/scripts/PewterGym.asm @@ -120,7 +120,7 @@ PewterGymText1: ld hl, PewterGymText_5c4bc ld de, PewterGymText_5c4bc call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/PokemonTower2F.asm b/scripts/PokemonTower2F.asm index 94916e37..cc00d938 100755 --- a/scripts/PokemonTower2F.asm +++ b/scripts/PokemonTower2F.asm @@ -41,7 +41,7 @@ PokemonTower2Script0: .asm_60544 ld [wPlayerMovingDirection], a ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, b ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -74,7 +74,7 @@ PokemonTower2Script1: ld de, MovementData_605a9 .asm_60589 ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a diff --git a/scripts/PokemonTower7F.asm b/scripts/PokemonTower7F.asm index 4b2a1827..fa2ca9bc 100755 --- a/scripts/PokemonTower7F.asm +++ b/scripts/PokemonTower7F.asm @@ -107,7 +107,7 @@ PokemonTower7Script_60db6: ld d, [hl] ld e, a ld a, [wSpriteIndex] - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a jp MoveSprite .asm_60dde inc hl diff --git a/scripts/RocketHideoutB4F.asm b/scripts/RocketHideoutB4F.asm index b2ce21f4..71fe7d1c 100755 --- a/scripts/RocketHideoutB4F.asm +++ b/scripts/RocketHideoutB4F.asm @@ -125,7 +125,7 @@ RocketHideout4Text1: ld hl, RocketHideout4Text_4557f ld de, RocketHideout4Text_4557f call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/Route22.asm b/scripts/Route22.asm index 1fd7e09a..8fde2d42 100755 --- a/scripts/Route22.asm +++ b/scripts/Route22.asm @@ -96,7 +96,7 @@ Route22Script0: ld a, MUSIC_MEET_RIVAL call PlayMusic ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call Route22MoveRivalSprite ld a, $1 ld [wRoute22CurScript], a @@ -118,7 +118,7 @@ Route22Script1: .asm_50f7a ld [hSpriteFacingDirection], a ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteFacingDirectionAndDelay xor a ld [wJoyIgnore], a @@ -159,7 +159,7 @@ Route22Script2: .done ld [hSpriteFacingDirection], a ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteFacingDirectionAndDelay ld a, $f0 ld [wJoyIgnore], a @@ -191,7 +191,7 @@ Route22Script_5100d: ld de, Route22RivalExitMovementData2 Route22MoveRival1: ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a jp MoveSprite Route22RivalExitMovementData1: @@ -250,7 +250,7 @@ Route22Script_5104e: call PlaySound callba Music_RivalAlternateTempo ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call Route22MoveRivalSprite ld a, $4 ld [wRoute22CurScript], a @@ -261,7 +261,7 @@ Route22Script4: bit 0, a ret nz ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, [wcf0d] cp $1 jr nz, .asm_510a1 @@ -305,7 +305,7 @@ Route22Script5: cp $ff jp z, Route22Script_50ece ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, [wcf0d] cp $1 jr nz, .asm_510fb @@ -350,7 +350,7 @@ Route22Script_51142: ld de, MovementData_5114d Route22MoveRival2: ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a jp MoveSprite MovementData_5114c: diff --git a/scripts/SSAnne2F.asm b/scripts/SSAnne2F.asm index 2795d1d1..203e9711 100755 --- a/scripts/SSAnne2F.asm +++ b/scripts/SSAnne2F.asm @@ -37,7 +37,7 @@ SSAnne2Script0: predef ShowObject call Delay3 ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteMovementBytesToFF xor a ld [hJoyHeld], a @@ -83,7 +83,7 @@ SSAnne2Script_61416: .asm_61427 ld [hSpriteFacingDirection], a ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a jp SetSpriteFacingDirectionAndDelay SSAnne2Script1: @@ -132,7 +132,7 @@ SSAnne2Script2: ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteMovementBytesToFF ld a, [wXCoord] cp $25 @@ -143,7 +143,7 @@ SSAnne2Script2: ld de, MovementData_614b7 .asm_6149a ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a diff --git a/scripts/SaffronGym.asm b/scripts/SaffronGym.asm index 0539d613..8842472c 100755 --- a/scripts/SaffronGym.asm +++ b/scripts/SaffronGym.asm @@ -171,7 +171,7 @@ SaffronGymText1: ld hl, SaffronGymText_5d167 ld de, SaffronGymText_5d167 call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/SilphCo11F.asm b/scripts/SilphCo11F.asm index 483082a1..2f9d7924 100755 --- a/scripts/SilphCo11F.asm +++ b/scripts/SilphCo11F.asm @@ -178,7 +178,7 @@ SilphCo11Script0: ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $3 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteMovementBytesToFF ld de, MovementData_62216 call MoveSprite @@ -199,7 +199,7 @@ MovementData_62216: SilphCo11Script_6221a: ld [wPlayerMovingDirection], a ld a, $3 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, b ld [hSpriteFacingDirection], a jp SetSpriteFacingDirectionAndDelay @@ -239,7 +239,7 @@ SilphCo11Script3: bit 0, a ret nz ld a, $3 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteMovementBytesToFF ld a, [wcf0d] cp $1 @@ -263,7 +263,7 @@ SilphCo11Script4: ld hl, SilphCo10Text_62330 ld de, SilphCo10Text_62330 call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/SilphCo7F.asm b/scripts/SilphCo7F.asm index 84a94c92..97dd09ea 100755 --- a/scripts/SilphCo7F.asm +++ b/scripts/SilphCo7F.asm @@ -140,7 +140,7 @@ SilphCo7Script0: ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $9 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteMovementBytesToFF ld de, MovementData_51c7d ld a, [wCoordIndex] @@ -150,7 +150,7 @@ SilphCo7Script0: inc de .asm_51c6c ld a, $9 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite ld a, $3 jp SilphCo7Text_51c10 @@ -212,7 +212,7 @@ SilphCo7Script4: ld a, PLAYER_DIR_DOWN ld [wPlayerMovingDirection], a ld a, $9 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, SPRITE_FACING_UP ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -230,7 +230,7 @@ SilphCo7Script4: ld de, MovementData_51d1a .asm_51d0e ld a, $9 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite ld a, $5 jp SilphCo7Text_51c10 diff --git a/scripts/TradeCenter.asm b/scripts/TradeCenter.asm index ddb3061e..3201c8cd 100755 --- a/scripts/TradeCenter.asm +++ b/scripts/TradeCenter.asm @@ -8,7 +8,7 @@ TradeCenter_Script: .next ld [hSpriteFacingDirection], a ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteFacingDirection ld hl, wd72d bit 0, [hl] diff --git a/scripts/VermilionDock.asm b/scripts/VermilionDock.asm index cc237f8e..4b0cf439 100755 --- a/scripts/VermilionDock.asm +++ b/scripts/VermilionDock.asm @@ -57,10 +57,10 @@ VermilionDock_1db9b: ld a, $14 ; water tile call FillMemory ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Delay3 xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld [wSSAnneSmokeDriftAmount], a ld [rOBP1], a ld a, 88 diff --git a/scripts/VermilionGym.asm b/scripts/VermilionGym.asm index 0af37945..1569fb55 100755 --- a/scripts/VermilionGym.asm +++ b/scripts/VermilionGym.asm @@ -150,7 +150,7 @@ LTSurgeText: ld hl, ReceivedThunderbadgeText ld de, ReceivedThunderbadgeText call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/ViridianGym.asm b/scripts/ViridianGym.asm index b0f94b9d..40e6a57f 100755 --- a/scripts/ViridianGym.asm +++ b/scripts/ViridianGym.asm @@ -289,7 +289,7 @@ ViridianGymText1: ld hl, ViridianGymText_74ad3 ld de, ViridianGymText_74ad3 call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/WardensHouse.asm b/scripts/WardensHouse.asm index 69e199c9..e6ca47b2 100755 --- a/scripts/WardensHouse.asm +++ b/scripts/WardensHouse.asm @@ -95,7 +95,7 @@ HM04NoRoomText: FuchsiaHouse2Text5: FuchsiaHouse2Text4: TX_ASM - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] cp $4 ld hl, FuchsiaHouse2Text_7517b jr nz, .asm_4c9a2 -- cgit v1.2.3 From 6ef36800b0dcb86100a7c716172015667e60dc99 Mon Sep 17 00:00:00 2001 From: Rangi Date: Fri, 3 Jul 2020 22:11:35 -0400 Subject: Replace raw hex values with HRAM constants To do: turn constants into labels and use ldh --- audio/engine_1.asm | 2 +- audio/engine_2.asm | 2 +- audio/engine_3.asm | 2 +- audio/pokedex_rating_sfx.asm | 2 +- audio/wave_instruments.asm | 2 +- constants/hardware_constants.asm | 16 +++++++ data/events/hidden_objects.asm | 46 +++++++++---------- data/maps/hide_show_data.asm | 4 +- data/wild/grass_water.asm | 2 +- engine/battle/animations.asm | 2 +- engine/battle/core.asm | 4 +- engine/battle/scale_sprites.asm | 4 +- engine/events/cinnabar_lab.asm | 2 +- engine/events/diploma.asm | 2 +- engine/events/hidden_objects/bookshelves.asm | 4 +- engine/events/hidden_objects/cinnabar_gym_quiz.asm | 12 ++--- engine/events/pick_up_item.asm | 4 +- engine/events/saffron_guards.asm | 2 +- engine/gfx/oam_dma.asm | 4 +- engine/gfx/screen_effects.asm | 12 ++--- engine/items/item_effects.asm | 2 +- engine/link/cable_club.asm | 4 +- engine/menus/pokedex.asm | 6 +-- engine/menus/save.asm | 8 ++-- engine/menus/swap_items.asm | 8 ++-- engine/movie/oak_speech/oak_speech.asm | 8 ++-- engine/overworld/hidden_objects.asm | 14 +++--- engine/overworld/missable_objects.asm | 2 +- engine/overworld/movement.asm | 4 +- engine/overworld/player_state.asm | 32 +++++++------- engine/overworld/sprite_collisions.asm | 40 ++++++++--------- engine/overworld/tilesets.asm | 2 +- engine/overworld/trainer_sight.asm | 16 +++---- engine/overworld/update_map.asm | 14 +++--- home.asm | 48 ++++++++++---------- home/init.asm | 6 +-- home/overworld.asm | 12 ++--- home/text.asm | 2 +- home/vblank.asm | 2 +- hram.asm | 51 +++++++++++++++++++++- scripts/BikeShop.asm | 2 +- scripts/BillsHouse.asm | 8 ++-- scripts/CinnabarGym.asm | 4 +- scripts/CopycatsHouse2F.asm | 2 +- scripts/OaksLab.asm | 8 ++-- scripts/PewterCity.asm | 16 +++---- scripts/Route5Gate.asm | 4 +- scripts/Route6Gate.asm | 2 +- scripts/Route7Gate.asm | 2 +- scripts/Route8Gate.asm | 2 +- scripts/SSAnne2F.asm | 4 +- scripts/SSAnneCaptainsRoom.asm | 2 +- scripts/SilphCo10F.asm | 2 +- scripts/SilphCo11F.asm | 8 ++-- scripts/SilphCo2F.asm | 8 ++-- scripts/SilphCo3F.asm | 2 +- scripts/SilphCo4F.asm | 8 ++-- scripts/SilphCo5F.asm | 2 +- scripts/SilphCo6F.asm | 2 +- scripts/SilphCo7F.asm | 8 ++-- scripts/SilphCo8F.asm | 8 ++-- scripts/SilphCo9F.asm | 8 ++-- scripts/ViridianCity.asm | 32 +++++++------- scripts/WardensHouse.asm | 2 +- wram.asm | 2 +- 65 files changed, 311 insertions(+), 248 deletions(-) diff --git a/audio/engine_1.asm b/audio/engine_1.asm index 0f76f576..20b992aa 100644 --- a/audio/engine_1.asm +++ b/audio/engine_1.asm @@ -925,7 +925,7 @@ Audio1_ApplyWavePatternAndFrequency: ld e, [hl] inc hl ld d, [hl] - ld hl, $ff30 ; wave pattern RAM + ld hl, rWave_0 ld b, $f ld a, $0 ; stop hardware channel 3 ld [rNR30], a diff --git a/audio/engine_2.asm b/audio/engine_2.asm index 2e0aad0d..864a8c21 100644 --- a/audio/engine_2.asm +++ b/audio/engine_2.asm @@ -936,7 +936,7 @@ Audio2_ApplyWavePatternAndFrequency: ld e, [hl] inc hl ld d, [hl] - ld hl, $ff30 ; wave pattern RAM + ld hl, rWave_0 ld b, $f ld a, $0 ; stop hardware channel 3 ld [rNR30], a diff --git a/audio/engine_3.asm b/audio/engine_3.asm index 771b44df..c0aaeaf8 100644 --- a/audio/engine_3.asm +++ b/audio/engine_3.asm @@ -925,7 +925,7 @@ Audio3_ApplyWavePatternAndFrequency: ld e, [hl] inc hl ld d, [hl] - ld hl, $ff30 ; wave pattern RAM + ld hl, rWave_0 ld b, $f ld a, $0 ; stop hardware channel 3 ld [rNR30], a diff --git a/audio/pokedex_rating_sfx.asm b/audio/pokedex_rating_sfx.asm index f3aace8a..1b5dc4f0 100644 --- a/audio/pokedex_rating_sfx.asm +++ b/audio/pokedex_rating_sfx.asm @@ -1,5 +1,5 @@ PlayPokedexRatingSfx:: - ld a, [$ffdc] + ld a, [hDexRatingNumMonsOwned] ld c, $0 ld hl, OwnedMonValues .getSfxPointer diff --git a/audio/wave_instruments.asm b/audio/wave_instruments.asm index c915f18a..4a830f4b 100644 --- a/audio/wave_instruments.asm +++ b/audio/wave_instruments.asm @@ -13,7 +13,7 @@ ; these are the definitions for the channel 3 instruments ; each instrument definition is made up of 32 points (nibbles) that form ; the graph of the wave -; the current instrument is copied to $FF30 +; the current instrument is copied to rWave_0--rWave_f .wave0 db $02,$46,$8A,$CE,$FF,$FE,$ED,$DC,$CB,$A9,$87,$65,$44,$33,$22,$11 diff --git a/constants/hardware_constants.asm b/constants/hardware_constants.asm index 9f2aa1b7..59ec6170 100644 --- a/constants/hardware_constants.asm +++ b/constants/hardware_constants.asm @@ -64,6 +64,22 @@ rNR44 EQU $ff23 ; Channel 4 Counter/consecutive; Initial (R/W) rNR50 EQU $ff24 ; Channel control / ON-OFF / Volume (R/W) rNR51 EQU $ff25 ; Selection of Sound output terminal (R/W) rNR52 EQU $ff26 ; Sound on/off +rWave_0 EQU $ff30 +rWave_1 EQU $ff31 +rWave_2 EQU $ff32 +rWave_3 EQU $ff33 +rWave_4 EQU $ff34 +rWave_5 EQU $ff35 +rWave_6 EQU $ff36 +rWave_7 EQU $ff37 +rWave_8 EQU $ff38 +rWave_9 EQU $ff39 +rWave_a EQU $ff3a +rWave_b EQU $ff3b +rWave_c EQU $ff3c +rWave_d EQU $ff3d +rWave_e EQU $ff3e +rWave_f EQU $ff3f rLCDC EQU $ff40 ; LCD Control (R/W) rLCDC_ENABLE EQU 7 rLCDC_ENABLE_MASK EQU 1 << rLCDC_ENABLE diff --git a/data/events/hidden_objects.asm b/data/events/hidden_objects.asm index 737947a7..8fc539ef 100755 --- a/data/events/hidden_objects.asm +++ b/data/events/hidden_objects.asm @@ -224,7 +224,7 @@ OaksLabHiddenObjects: db $FF ViridianPokecenterHiddenObjects: db $04,$00,$08 - db Bank(PrintBenchGuyText) + db BANK(PrintBenchGuyText) dw PrintBenchGuyText db $03,$0d,$04 db BANK(OpenPokemonCenterPC) @@ -234,7 +234,7 @@ ViridianMartHiddenObjects: db $FF ViridianSchoolHiddenObjects: db $04,$03,(ViridianSchoolNotebook_id - TextPredefs) / 2 + 1 - db Bank(PrintNotebookText) + db BANK(PrintNotebookText) dw PrintNotebookText db $00,$03,(ViridianSchoolBlackboard_id - TextPredefs) / 2 + 1 db BANK(PrintBlackboardLinkCableText) @@ -262,7 +262,7 @@ PewterMartHiddenObjects: db $FF PewterPokecenterHiddenObjects: db $04,$00,$08 - db Bank(PrintBenchGuyText) + db BANK(PrintBenchGuyText) dw PrintBenchGuyText db $03,$0d,$04 db BANK(OpenPokemonCenterPC) @@ -270,7 +270,7 @@ PewterPokecenterHiddenObjects: db $FF CeruleanPokecenterHiddenObjects: db $04,$00,$08 - db Bank(PrintBenchGuyText) + db BANK(PrintBenchGuyText) dw PrintBenchGuyText db $03,$0d,$04 db BANK(OpenPokemonCenterPC) @@ -286,7 +286,7 @@ CeruleanMartHiddenObjects: db $FF LavenderPokecenterHiddenObjects: db $04,$00,$08 - db Bank(PrintBenchGuyText) + db BANK(PrintBenchGuyText) dw PrintBenchGuyText db $03,$0d,$04 db BANK(OpenPokemonCenterPC) @@ -297,7 +297,7 @@ VermilionPokecenterHiddenObjects: db BANK(OpenPokemonCenterPC) dw OpenPokemonCenterPC db $04,$00,$04 - db Bank(PrintBenchGuyText) + db BANK(PrintBenchGuyText) dw PrintBenchGuyText db $FF VermilionGymHiddenObjects: @@ -345,7 +345,7 @@ CeladonMansion2HiddenObjects: db $FF CeladonPokecenterHiddenObjects: db $04,$00,$08 - db Bank(PrintBenchGuyText) + db BANK(PrintBenchGuyText) dw PrintBenchGuyText db $03,$0d,$04 db BANK(OpenPokemonCenterPC) @@ -460,7 +460,7 @@ CeladonHotelHiddenObjects: db BANK(OpenPokemonCenterPC) dw OpenPokemonCenterPC db $04,$00,$08 - db Bank(PrintBenchGuyText) + db BANK(PrintBenchGuyText) dw PrintBenchGuyText db $FF FuchsiaPokecenterHiddenObjects: @@ -468,7 +468,7 @@ FuchsiaPokecenterHiddenObjects: db BANK(OpenPokemonCenterPC) dw OpenPokemonCenterPC db $04,$00,$04 - db Bank(PrintBenchGuyText) + db BANK(PrintBenchGuyText) dw PrintBenchGuyText db $FF FuchsiaGymHiddenObjects: @@ -481,27 +481,27 @@ CinnabarGymHiddenObjects: db $0d,$11,$04 dbw BANK(GymStatues),GymStatues db $07,$0f,$01 - db Bank(PrintCinnabarQuiz) + db BANK(PrintCinnabarQuiz) dw PrintCinnabarQuiz db $01,$0a,$12 - db Bank(PrintCinnabarQuiz) + db BANK(PrintCinnabarQuiz) dw PrintCinnabarQuiz db $07,$09,$13 - db Bank(PrintCinnabarQuiz) + db BANK(PrintCinnabarQuiz) dw PrintCinnabarQuiz db $0d,$09,$14 - db Bank(PrintCinnabarQuiz) + db BANK(PrintCinnabarQuiz) dw PrintCinnabarQuiz db $0d,$01,$05 - db Bank(PrintCinnabarQuiz) + db BANK(PrintCinnabarQuiz) dw PrintCinnabarQuiz db $07,$01,$16 - db Bank(PrintCinnabarQuiz) + db BANK(PrintCinnabarQuiz) dw PrintCinnabarQuiz db $FF CinnabarPokecenterHiddenObjects: db $04,$00,$04 - db Bank(PrintBenchGuyText) + db BANK(PrintBenchGuyText) dw PrintBenchGuyText db $03,$0d,$04 db BANK(OpenPokemonCenterPC) @@ -513,7 +513,7 @@ SaffronGymHiddenObjects: db $FF MtMoonPokecenterHiddenObjects: db $04,$00,$08 - db Bank(PrintBenchGuyText) + db BANK(PrintBenchGuyText) dw PrintBenchGuyText db $03,$0d,$04 db BANK(OpenPokemonCenterPC) @@ -521,7 +521,7 @@ MtMoonPokecenterHiddenObjects: db $FF RockTunnelPokecenterHiddenObjects: db $04,$00,$08 - db Bank(PrintBenchGuyText) + db BANK(PrintBenchGuyText) dw PrintBenchGuyText db $03,$0d,$04 db BANK(OpenPokemonCenterPC) @@ -589,7 +589,7 @@ RocketHideout4HiddenObjects: db $FF SaffronPokecenterHiddenObjects: db $04,$00,$04 - db Bank(PrintBenchGuyText) + db BANK(PrintBenchGuyText) dw PrintBenchGuyText db $03,$0d,$04 db BANK(OpenPokemonCenterPC) @@ -704,7 +704,7 @@ ViridianCityHiddenObjects: db $FF SafariZoneRestHouse2HiddenObjects: db $04,$00,$08 - db Bank(PrintBenchGuyText) + db BANK(PrintBenchGuyText) dw PrintBenchGuyText db $03,$0d,$04 db BANK(OpenPokemonCenterPC) @@ -712,7 +712,7 @@ SafariZoneRestHouse2HiddenObjects: db $FF SafariZoneRestHouse3HiddenObjects: db $04,$00,$08 - db Bank(PrintBenchGuyText) + db BANK(PrintBenchGuyText) dw PrintBenchGuyText db $03,$0d,$04 db BANK(OpenPokemonCenterPC) @@ -720,7 +720,7 @@ SafariZoneRestHouse3HiddenObjects: db $FF SafariZoneRestHouse4HiddenObjects: db $04,$00,$08 - db Bank(PrintBenchGuyText) + db BANK(PrintBenchGuyText) dw PrintBenchGuyText db $03,$0d,$04 db BANK(OpenPokemonCenterPC) @@ -750,7 +750,7 @@ CeladonMansion5HiddenObjects: db BANK(PrintBlackboardLinkCableText) dw PrintBlackboardLinkCableText db $04,$03,(TMNotebook_id - TextPredefs) / 2 + 1 - db Bank(PrintNotebookText) + db BANK(PrintNotebookText) dw PrintNotebookText db $FF FightingDojoHiddenObjects: diff --git a/data/maps/hide_show_data.asm b/data/maps/hide_show_data.asm index 7f4593ca..bc89d600 100755 --- a/data/maps/hide_show_data.asm +++ b/data/maps/hide_show_data.asm @@ -2,7 +2,7 @@ ; objects for each map ($00-$F8) ; Table of 2-Byte pointers, one pointer per map, -; goes up to Map_F7, ends with $FFFF. +; goes up to Map_F7, ends with -1. ; points to table listing all missable object in the area MapHSPointers: dw MapHS00 @@ -253,7 +253,7 @@ MapHSPointers: dw MapHSXX dw MapHSXX dw MapHSXX - dw $FFFF + dw -1 ; end ; Structure: ; 3 bytes per object diff --git a/data/wild/grass_water.asm b/data/wild/grass_water.asm index f1dd461e..9dc41f82 100755 --- a/data/wild/grass_water.asm +++ b/data/wild/grass_water.asm @@ -247,7 +247,7 @@ WildDataPointers: dw NoMons dw NoMons dw NoMons - dw $FFFF + dw -1 ; end ; wild pokemon data is divided into two parts. ; first part: pokemon found in grass diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index c16fa3ec..d858e066 100755 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -163,7 +163,7 @@ DrawFrameBlock: PlayAnimation: xor a - ld [$FF8B], a ; it looks like nothing reads this + ld [hROMBankTemp], a ; it looks like nothing reads this ld [wSubAnimTransform], a ld a, [wAnimationID] ; get animation number dec a diff --git a/engine/battle/core.asm b/engine/battle/core.asm index e503243d..00852b2b 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -6870,9 +6870,9 @@ _LoadTrainerPic: ld d, a ; de contains pointer to trainer pic ld a, [wLinkState] and a - ld a, Bank(TrainerPics) ; this is where all the trainer pics are (not counting Red's) + ld a, BANK(TrainerPics) ; this is where all the trainer pics are (not counting Red's) jr z, .loadSprite - ld a, Bank(RedPicFront) + ld a, BANK(RedPicFront) .loadSprite call UncompressSpriteFromDE ld de, vFrontPic diff --git a/engine/battle/scale_sprites.asm b/engine/battle/scale_sprites.asm index 1774f7c5..11967ba1 100644 --- a/engine/battle/scale_sprites.asm +++ b/engine/battle/scale_sprites.asm @@ -17,7 +17,7 @@ ScaleFirstThreeSpriteColumnsByTwo: .columnInnerLoop push bc ld a, [de] - ld bc, -(7*8)+1 ; $ffc9, scale lower nybble and seek to previous output column + ld bc, -(7*8)+1 ; -$37, scale lower nybble and seek to previous output column call ScalePixelsByTwo ld a, [de] dec de @@ -32,7 +32,7 @@ ScaleFirstThreeSpriteColumnsByTwo: dec de dec de ld a, b - ld bc, -7*8 ; $ffc8, skip one output column (which has already been written along with the current one) + ld bc, -7*8 ; -$38, skip one output column (which has already been written along with the current one) add hl, bc ld b, a dec b diff --git a/engine/events/cinnabar_lab.asm b/engine/events/cinnabar_lab.asm index e642840d..e1598f98 100755 --- a/engine/events/cinnabar_lab.asm +++ b/engine/events/cinnabar_lab.asm @@ -35,7 +35,7 @@ GiveFossilToCinnabarLab:: ld e, a add hl, de ld a, [hl] - ld [$ffdb], a + ld [hItemToRemoveID], a cp DOME_FOSSIL jr z, .choseDomeFossil cp HELIX_FOSSIL diff --git a/engine/events/diploma.asm b/engine/events/diploma.asm index e53ef58f..24bd2f22 100755 --- a/engine/events/diploma.asm +++ b/engine/events/diploma.asm @@ -73,7 +73,7 @@ UnusedPlayerNameLengthFunc: ; Unused function that does a calculation involving the length of the player's ; name. ld hl, wPlayerName - ld bc, $ff00 + lb bc, $ff, $00 .loop ld a, [hli] cp "@" diff --git a/engine/events/hidden_objects/bookshelves.asm b/engine/events/hidden_objects/bookshelves.asm index 82cd8843..eaf744ff 100644 --- a/engine/events/hidden_objects/bookshelves.asm +++ b/engine/events/hidden_objects/bookshelves.asm @@ -24,7 +24,7 @@ PrintBookshelfText:: pop af call PrintPredefTextID xor a - ld [$ffdb], a + ld [hFFDB], a ret .nextBookshelfEntry1 inc hl @@ -33,7 +33,7 @@ PrintBookshelfText:: jr .loop .noMatch ld a, $ff - ld [$ffdb], a + ld [hFFDB], a jpba PrintCardKeyText INCLUDE "data/tilesets/bookshelf_tile_ids.asm" diff --git a/engine/events/hidden_objects/cinnabar_gym_quiz.asm b/engine/events/hidden_objects/cinnabar_gym_quiz.asm index 9f549eea..6404717e 100644 --- a/engine/events/hidden_objects/cinnabar_gym_quiz.asm +++ b/engine/events/hidden_objects/cinnabar_gym_quiz.asm @@ -16,7 +16,7 @@ CinnabarGymQuiz:: pop af and $f0 swap a - ld [$ffdc], a + ld [hGymGateAnswer], a ld hl, CinnabarGymQuizIntroText call PrintText ld a, [hGymGateIndex] @@ -77,7 +77,7 @@ CinnabarGymGateFlagAction: CinnabarGymQuiz_1ea92: call YesNoChoice - ld a, [$ffdc] + ld a, [hGymGateAnswer] ld c, a ld a, [wCurrentMenuItem] cp c @@ -85,10 +85,10 @@ CinnabarGymQuiz_1ea92: ld hl, wCurrentMapScriptFlags set 5, [hl] ld a, [hGymGateIndex] - ld [$ffe0], a + ld [hBackupGymGateIndex], a ld hl, CinnabarGymQuizCorrectText call PrintText - ld a, [$ffe0] + ld a, [hBackupGymGateIndex] AdjustEventBit EVENT_CINNABAR_GYM_GATE0_UNLOCKED, 0 ld c, a ld b, FLAG_SET @@ -122,7 +122,7 @@ CinnabarGymQuizCorrectText: TX_BLINK TX_ASM - ld a, [$ffe0] + ld a, [hBackupGymGateIndex] AdjustEventBit EVENT_CINNABAR_GYM_GATE0_UNLOCKED, 0 ld c, a ld b, FLAG_TEST @@ -162,7 +162,7 @@ UpdateCinnabarGymGateTileBlocks_:: ld [wGymGateTileBlock], a push bc ld a, [hGymGateIndex] - ld [$ffe0], a + ld [hBackupGymGateIndex], a AdjustEventBit EVENT_CINNABAR_GYM_GATE0_UNLOCKED, 0 ld c, a ld b, FLAG_TEST diff --git a/engine/events/pick_up_item.asm b/engine/events/pick_up_item.asm index 9f19100a..5a658f22 100644 --- a/engine/events/pick_up_item.asm +++ b/engine/events/pick_up_item.asm @@ -15,7 +15,7 @@ PickUpItem: .isMissable ld a, [hl] - ld [$ffdb], a + ld [hMissableObjectIndex], a ld hl, wMapSpriteExtraData ld a, [hSpriteIndexOrTextID] @@ -30,7 +30,7 @@ PickUpItem: call GiveItem jr nc, .BagFull - ld a, [$ffdb] + ld a, [hMissableObjectIndex] ld [wMissableObjectIndex], a predef HideObject ld a, 1 diff --git a/engine/events/saffron_guards.asm b/engine/events/saffron_guards.asm index 02ab92ea..59c2725c 100755 --- a/engine/events/saffron_guards.asm +++ b/engine/events/saffron_guards.asm @@ -2,7 +2,7 @@ RemoveGuardDrink:: ld hl, GuardDrinksList .drinkLoop ld a, [hli] - ld [$ffdb], a + ld [hItemToRemoveID], a and a ret z push hl diff --git a/engine/gfx/oam_dma.asm b/engine/gfx/oam_dma.asm index b0d64675..aeea4c01 100644 --- a/engine/gfx/oam_dma.asm +++ b/engine/gfx/oam_dma.asm @@ -1,12 +1,12 @@ WriteDMACodeToHRAM:: ; Since no other memory is available during OAM DMA, ; DMARoutine is copied to HRAM and executed there. - ld c, $ff80 % $100 + ld c, hDMARoutine % $100 ld b, DMARoutineEnd - DMARoutine ld hl, DMARoutine .copy ld a, [hli] - ld [$ff00+c], a + ldh [c], a inc c dec b jr nz, .copy diff --git a/engine/gfx/screen_effects.asm b/engine/gfx/screen_effects.asm index 95f0ea25..0d3806c1 100755 --- a/engine/gfx/screen_effects.asm +++ b/engine/gfx/screen_effects.asm @@ -19,7 +19,7 @@ PredefShakeScreenVertically: ld [wDisableVBlankWYUpdate], a xor a .loop - ld [$ff96], a + ld [hMutateWY], a call .MutateWY call .MutateWY dec b @@ -30,9 +30,9 @@ PredefShakeScreenVertically: ret .MutateWY - ld a, [$ff96] + ld a, [hMutateWY] xor b - ld [$ff96], a + ld [hMutateWY], a ld [rWY], a ld c, 3 jp DelayFrames @@ -43,7 +43,7 @@ PredefShakeScreenHorizontally: call GetPredefRegisters xor a .loop - ld [$ff97], a + ld [hMutateWX], a call .MutateWX ld c, 1 call DelayFrames @@ -58,9 +58,9 @@ PredefShakeScreenHorizontally: ret .MutateWX - ld a, [$ff97] + ld a, [hMutateWX] xor b - ld [$ff97], a + ld [hMutateWX], a bit 7, a jr z, .skipZeroing xor a ; zero a if it's negative diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm index a793ae00..7e2aa227 100755 --- a/engine/items/item_effects.asm +++ b/engine/items/item_effects.asm @@ -1341,7 +1341,7 @@ ItemUseMedicine: push hl push de ld d, a - callab CalcExperience ; calculate experience for next level and store it at $ff96 + callab CalcExperience ; calculate experience for next level and store it at hExperience pop de pop hl ld bc, wPartyMon1Exp - wPartyMon1Level diff --git a/engine/link/cable_club.asm b/engine/link/cable_club.asm index 13b92e71..58008a94 100755 --- a/engine/link/cable_club.asm +++ b/engine/link/cable_club.asm @@ -663,7 +663,7 @@ TradeCenter_PrintPartyListNames: push de push hl ld a, c - ld [$ff95], a + ld [hPastLeadingZeros], a call GetMonName pop hl call PlaceString @@ -903,7 +903,7 @@ CableClub_Run: ld [wTilesetGfxPtr + 1], a ld a, l ld [wTilesetGfxPtr], a - ld a, Bank(Club_GFX) + ld a, BANK(Club_GFX) ld [wTilesetBank], a ld hl, Club_Coll ld a, h diff --git a/engine/menus/pokedex.asm b/engine/menus/pokedex.asm index 0b7fb83c..baf656b6 100755 --- a/engine/menus/pokedex.asm +++ b/engine/menus/pokedex.asm @@ -566,11 +566,11 @@ ShowPokedexDataInternal: pop hl inc hl ; hl = address of pokedex description text coord bc, 1, 11 - ld a, 2 - ld [$fff4], a + ld a, %10 + ld [hClearLetterPrintingDelayFlags], a call TextCommandProcessor ; print pokedex description text xor a - ld [$fff4], a + ld [hClearLetterPrintingDelayFlags], a .waitForButtonPress call JoypadLowSensitivity ld a, [hJoy5] diff --git a/engine/menus/save.asm b/engine/menus/save.asm index 5aec7bd0..f2ecc3aa 100755 --- a/engine/menus/save.asm +++ b/engine/menus/save.asm @@ -601,9 +601,9 @@ GetMonCountsForBoxesInBank: ret SAVCheckRandomID: -;checks if Sav file is the same by checking player's name 1st letter ($a598) +; checks if Sav file is the same by checking player's name 1st letter ; and the two random numbers generated at game beginning -;(which are stored at wPlayerID)s +; (which are stored at wPlayerID)s ld a, $0a ld [MBC1SRamEnable], a ld a, $01 @@ -702,7 +702,7 @@ ClearSAV: PadSRAM_FF: ld [MBC1SRamBank], a - ld hl, $a000 - ld bc, $2000 + ld hl, $a000 ; start of SRAM + ld bc, $2000 ; size of SRAM ld a, $ff jp FillMemory diff --git a/engine/menus/swap_items.asm b/engine/menus/swap_items.asm index 826fe60b..8b793ea1 100644 --- a/engine/menus/swap_items.asm +++ b/engine/menus/swap_items.asm @@ -77,18 +77,18 @@ HandleItemListSwapping:: cp b jr z, .swapSameItemType .swapDifferentItems - ld [$ff95], a ; [$ff95] = second item ID + ld [hSwapItemID], a ; save second item ID ld a, [hld] - ld [$ff96], a ; [$ff96] = second item quantity + ld [hSwapItemQuantity], a ; save second item quantity ld a, [de] ld [hli], a ; put first item ID in second item slot inc de ld a, [de] ld [hl], a ; put first item quantity in second item slot - ld a, [$ff96] + ld a, [hSwapItemQuantity] ld [de], a ; put second item quantity in first item slot dec de - ld a, [$ff95] + ld a, [hSwapItemID] ld [de], a ; put second item ID in first item slot xor a ld [wMenuItemToSwap], a ; 0 means no item is currently being swapped diff --git a/engine/movie/oak_speech/oak_speech.asm b/engine/movie/oak_speech/oak_speech.asm index ea7b84d8..578cf3b2 100755 --- a/engine/movie/oak_speech/oak_speech.asm +++ b/engine/movie/oak_speech/oak_speech.asm @@ -57,7 +57,7 @@ OakSpeech: bit 1, a ; possibly a debug mode bit jp nz, .skipChoosingNames ld de, ProfOakPic - lb bc, Bank(ProfOakPic), $00 + lb bc, BANK(ProfOakPic), $00 call IntroDisplayPicCenteredOrUpperRight call FadeInIntroPic ld hl, OakSpeechText1 @@ -76,7 +76,7 @@ OakSpeech: call GBFadeOutToWhite call ClearScreen ld de, RedPicFront - lb bc, Bank(RedPicFront), $00 + lb bc, BANK(RedPicFront), $00 call IntroDisplayPicCenteredOrUpperRight call MovePicLeft ld hl, IntroducePlayerText @@ -85,7 +85,7 @@ OakSpeech: call GBFadeOutToWhite call ClearScreen ld de, Rival1Pic - lb bc, Bank(Rival1Pic), $00 + lb bc, BANK(Rival1Pic), $00 call IntroDisplayPicCenteredOrUpperRight call FadeInIntroPic ld hl, IntroduceRivalText @@ -95,7 +95,7 @@ OakSpeech: call GBFadeOutToWhite call ClearScreen ld de, RedPicFront - lb bc, Bank(RedPicFront), $00 + lb bc, BANK(RedPicFront), $00 call IntroDisplayPicCenteredOrUpperRight call GBFadeInFromWhite ld a, [wd72d] diff --git a/engine/overworld/hidden_objects.asm b/engine/overworld/hidden_objects.asm index 5887660e..a19694e0 100755 --- a/engine/overworld/hidden_objects.asm +++ b/engine/overworld/hidden_objects.asm @@ -14,14 +14,14 @@ IsPlayerOnDungeonWarp:: set 4, [hl] ret -; if a hidden object was found, stores $00 in [$ffee], else stores $ff +; if a hidden object was found, stores $00 in [hFoundHiddenObject], else stores $ff CheckForHiddenObject:: - ld hl, $ffeb + ld hl, hFoundHiddenObjectOrBookshelf xor a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hl], a + ld [hli], a ; [hFoundHiddenObjectOrBookshelf] + ld [hli], a ; [hSavedMapTextPtr] + ld [hli], a ; [hSavedMapTextPtr + 1] + ld [hl], a ; [hFoundHiddenObject] ld de, $0 ld hl, HiddenObjectMaps .hiddenMapLoop @@ -81,7 +81,7 @@ CheckForHiddenObject:: ret .noMatch ld a, $ff - ld [$ffee], a + ld [hFoundHiddenObject], a ret ; checks if the coordinates in front of the player's sprite match Y in b and X in c diff --git a/engine/overworld/missable_objects.asm b/engine/overworld/missable_objects.asm index 6d365715..a89fcb54 100644 --- a/engine/overworld/missable_objects.asm +++ b/engine/overworld/missable_objects.asm @@ -120,7 +120,7 @@ IsObjectHidden: .notHidden xor a .hidden - ld [$ffe5], a + ld [hIsHiddenMissableObject], a ret ; adds missable object (items, leg. pokemon, etc.) to the map diff --git a/engine/overworld/movement.asm b/engine/overworld/movement.asm index 432ae5ca..6c354779 100644 --- a/engine/overworld/movement.asm +++ b/engine/overworld/movement.asm @@ -475,7 +475,7 @@ InitializeSpriteScreenPosition: ; tests if sprite is off screen or otherwise unable to do anything CheckSpriteAvailability: predef IsObjectHidden - ld a, [$ffe5] + ld a, [hIsHiddenMissableObject] and a jp nz, .spriteInvisible ld h, wSpriteStateData2 / $100 @@ -564,7 +564,7 @@ UpdateSpriteImage: ld a, [hl] ; c1x9: facing direction add b ld b, a - ld a, [$ff93] ; current sprite offset + ld a, [hTilePlayerStandingOn] add b ld b, a ld a, [hCurrentSpriteOffset] diff --git a/engine/overworld/player_state.asm b/engine/overworld/player_state.asm index 69b9201f..ea24fdc1 100644 --- a/engine/overworld/player_state.asm +++ b/engine/overworld/player_state.asm @@ -297,7 +297,7 @@ _GetTileAndCoordsInFrontOfPlayer: GetTileTwoStepsInFrontOfPlayer: xor a - ld [$ffdb], a + ld [hPlayerFacing], a ld hl, wYCoord ld a, [hli] ld d, a @@ -306,7 +306,7 @@ GetTileTwoStepsInFrontOfPlayer: and a ; cp SPRITE_FACING_DOWN jr nz, .notFacingDown ; facing down - ld hl, $ffdb + ld hl, hPlayerFacing set 0, [hl] aCoord 8, 13 inc d @@ -315,7 +315,7 @@ GetTileTwoStepsInFrontOfPlayer: cp SPRITE_FACING_UP jr nz, .notFacingUp ; facing up - ld hl, $ffdb + ld hl, hPlayerFacing set 1, [hl] aCoord 8, 5 dec d @@ -324,7 +324,7 @@ GetTileTwoStepsInFrontOfPlayer: cp SPRITE_FACING_LEFT jr nz, .notFacingLeft ; facing left - ld hl, $ffdb + ld hl, hPlayerFacing set 2, [hl] aCoord 4, 9 dec e @@ -333,7 +333,7 @@ GetTileTwoStepsInFrontOfPlayer: cp SPRITE_FACING_RIGHT jr nz, .storeTile ; facing right - ld hl, $ffdb + ld hl, hPlayerFacing set 3, [hl] aCoord 12, 9 inc e @@ -378,33 +378,33 @@ CheckForBoulderCollisionWithSprites: ld hl, wSpriteStateData2 + $14 add hl, de ld a, [hli] ; map Y position - ld [$ffdc], a + ld [hPlayerYCoord], a ld a, [hl] ; map X position - ld [$ffdd], a + ld [hPlayerXCoord], a ld a, [wNumSprites] ld c, a ld de, $f ld hl, wSpriteStateData2 + $14 - ld a, [$ffdb] + ld a, [hPlayerFacing] and $3 ; facing up or down? jr z, .pushingHorizontallyLoop .pushingVerticallyLoop inc hl - ld a, [$ffdd] + ld a, [hPlayerXCoord] cp [hl] jr nz, .nextSprite1 ; if X coordinates don't match dec hl ld a, [hli] ld b, a - ld a, [$ffdb] + ld a, [hPlayerFacing] rrca jr c, .pushingDown ; pushing up - ld a, [$ffdc] + ld a, [hPlayerYCoord] dec a jr .compareYCoords .pushingDown - ld a, [$ffdc] + ld a, [hPlayerYCoord] inc a .compareYCoords cp b @@ -417,19 +417,19 @@ CheckForBoulderCollisionWithSprites: .pushingHorizontallyLoop ld a, [hli] ld b, a - ld a, [$ffdc] + ld a, [hPlayerYCoord] cp b jr nz, .nextSprite2 ld b, [hl] - ld a, [$ffdb] + ld a, [hPlayerFacing] bit 2, a jr nz, .pushingLeft ; pushing right - ld a, [$ffdd] + ld a, [hPlayerXCoord] inc a jr .compareXCoords .pushingLeft - ld a, [$ffdd] + ld a, [hPlayerXCoord] dec a .compareXCoords cp b diff --git a/engine/overworld/sprite_collisions.asm b/engine/overworld/sprite_collisions.asm index 43d1759c..c5ff8ebb 100644 --- a/engine/overworld/sprite_collisions.asm +++ b/engine/overworld/sprite_collisions.asm @@ -31,7 +31,7 @@ _UpdateSprites:: UpdateNonPlayerSprite: dec a swap a - ld [$ff93], a ; $10 * sprite# + ld [hTilePlayerStandingOn], a ; $10 * sprite# ld a, [wNPCMovementScriptSpriteOffset] ; some sprite offset? ld b, a ld a, [hCurrentSpriteOffset] @@ -79,7 +79,7 @@ DetectCollisionBetweenSprites: and $f0 or c - ld [$ff90], a ; store Y coordinate adjusted for direction of movement + ld [hFF90], a ; store Y coordinate adjusted for direction of movement ld a, [hli] ; a = [$c1i5] (delta X) (-1, 0, or 1) call SetSpriteCollisionValues @@ -92,7 +92,7 @@ DetectCollisionBetweenSprites: and $f0 or c - ld [$ff91], a ; store X coordinate adjusted for direction of movement + ld [hFF91], a ; store X coordinate adjusted for direction of movement ld a, l add 7 @@ -102,15 +102,15 @@ DetectCollisionBetweenSprites: ld [hld], a ; zero [$c1id] XXX what's [$c1id] for? ld [hld], a ; zero [$c1ic] (directions in which collisions occurred) - ld a, [$ff91] + ld a, [hFF91] ld [hld], a ; [$c1ib] = adjusted X coordinate - ld a, [$ff90] + ld a, [hFF90] ld [hl], a ; [$c1ia] = adjusted Y coordinate xor a ; zero the loop counter .loop - ld [$ff8f], a ; store loop counter + ld [hFF8F], a ; store loop counter swap a ld e, a ld a, [hCurrentSpriteOffset] @@ -154,7 +154,7 @@ DetectCollisionBetweenSprites: cpl inc a .noCarry1 - ld [$ff90], a ; store the distance between the two sprites' adjusted Y values + ld [hFF90], a ; store the distance between the two sprites' adjusted Y values ; Use the carry flag set by the above subtraction to determine which sprite's ; Y coordinate is larger. This information is used later to set [$c1ic], @@ -176,11 +176,11 @@ DetectCollisionBetweenSprites: ld b, 9 .next1 - ld a, [$ff90] ; a = distance between adjusted Y coordinates + ld a, [hFF90] ; a = distance between adjusted Y coordinates sub b - ld [$ff92], a ; store distance adjusted using sprite i's direction + ld [hFF92], a ; store distance adjusted using sprite i's direction ld a, b - ld [$ff90], a ; store 7 or 9 depending on sprite i's delta Y + ld [hFF90], a ; store 7 or 9 depending on sprite i's delta Y jr c, .checkXDistance ; If sprite j's delta Y is 0, then b = 7, else b = 9. @@ -193,7 +193,7 @@ DetectCollisionBetweenSprites: ld b, 9 .next2 - ld a, [$ff92] ; a = distance adjusted using sprite i's direction + ld a, [hFF92] ; a = distance adjusted using sprite i's direction sub b ; adjust distance using sprite j's direction jr z, .checkXDistance jr nc, .next ; go to next sprite if distance is still positive after both adjustments @@ -225,7 +225,7 @@ DetectCollisionBetweenSprites: cpl inc a .noCarry2 - ld [$ff91], a ; store the distance between the two sprites' adjusted X values + ld [hFF91], a ; store the distance between the two sprites' adjusted X values ; Use the carry flag set by the above subtraction to determine which sprite's ; X coordinate is larger. This information is used later to set [$c1ic], @@ -247,11 +247,11 @@ DetectCollisionBetweenSprites: ld b, 9 .next3 - ld a, [$ff91] ; a = distance between adjusted X coordinates + ld a, [hFF91] ; a = distance between adjusted X coordinates sub b - ld [$ff92], a ; store distance adjusted using sprite i's direction + ld [hFF92], a ; store distance adjusted using sprite i's direction ld a, b - ld [$ff91], a ; store 7 or 9 depending on sprite i's delta X + ld [hFF91], a ; store 7 or 9 depending on sprite i's delta X jr c, .collision ; If sprite j's delta X is 0, then b = 7, else b = 9. @@ -264,15 +264,15 @@ DetectCollisionBetweenSprites: ld b, 9 .next4 - ld a, [$ff92] ; a = distance adjusted using sprite i's direction + ld a, [hFF92] ; a = distance adjusted using sprite i's direction sub b ; adjust distance using sprite j's direction jr z, .collision jr nc, .next ; go to next sprite if distance is still positive after both adjustments .collision - ld a, [$ff91] ; a = 7 or 9 depending on sprite i's delta X + ld a, [hFF91] ; a = 7 or 9 depending on sprite i's delta X ld b, a - ld a, [$ff90] ; a = 7 or 9 depending on sprite i's delta Y + ld a, [hFF90] ; a = 7 or 9 depending on sprite i's delta Y inc l ; If delta X isn't 0 and delta Y is 0, then b = %0011, else b = %1100. @@ -294,7 +294,7 @@ DetectCollisionBetweenSprites: ; set bit in [$c1ie] or [$c1if] to indicate which sprite the collision occurred with inc l inc l - ld a, [$ff8f] ; a = loop counter + ld a, [hFF8F] ; a = loop counter ld de, SpriteCollisionBitTable add a add e @@ -311,7 +311,7 @@ DetectCollisionBetweenSprites: ld [hl], a .next - ld a, [$ff8f] ; a = loop counter + ld a, [hFF8F] ; a = loop counter inc a cp $10 jp nz, .loop diff --git a/engine/overworld/tilesets.asm b/engine/overworld/tilesets.asm index d6b8221c..88147233 100644 --- a/engine/overworld/tilesets.asm +++ b/engine/overworld/tilesets.asm @@ -25,7 +25,7 @@ LoadTilesetHeader: ld a, [hl] ld [hTilesetType], a xor a - ld [$ffd8], a + ld [hMovingBGTilesCounter1], a pop hl ld a, [wCurMapTileset] push hl diff --git a/engine/overworld/trainer_sight.asm b/engine/overworld/trainer_sight.asm index f0ea7266..81978c35 100755 --- a/engine/overworld/trainer_sight.asm +++ b/engine/overworld/trainer_sight.asm @@ -5,16 +5,16 @@ _GetSpritePosition1:: ld [hSpriteIndex], a call GetSpriteDataPointer ld a, [hli] ; c1x4 (screen Y pos) - ld [$ffeb], a + ld [hSpriteScreenYCoord], a inc hl ld a, [hl] ; c1x6 (screen X pos) - ld [$ffec], a + ld [hSpriteScreenXCoord], a ld de, (wSpriteStateData2 + $4) - (wSpriteStateData1 + $6) add hl, de ld a, [hli] ; c2x4 (map Y pos) - ld [$ffed], a + ld [hSpriteMapYCoord], a ld a, [hl] ; c2x5 (map X pos) - ld [$ffee], a + ld [hSpriteMapXCoord], a ret _GetSpritePosition2:: @@ -42,16 +42,16 @@ _SetSpritePosition1:: ld a, [wSpriteIndex] ld [hSpriteIndex], a call GetSpriteDataPointer - ld a, [$ffeb] ; c1x4 (screen Y pos) + ld a, [hSpriteScreenYCoord] ; c1x4 (screen Y pos) ld [hli], a inc hl - ld a, [$ffec] ; c1x6 (screen X pos) + ld a, [hSpriteScreenXCoord] ; c1x6 (screen X pos) ld [hl], a ld de, (wSpriteStateData2 + $4) - (wSpriteStateData1 + $6) add hl, de - ld a, [$ffed] ; c2x4 (map Y pos) + ld a, [hSpriteMapYCoord] ; c2x4 (map Y pos) ld [hli], a - ld a, [$ffee] ; c2x5 (map X pos) + ld a, [hSpriteMapXCoord] ; c2x5 (map X pos) ld [hl], a ret diff --git a/engine/overworld/update_map.asm b/engine/overworld/update_map.asm index c494065c..92ae2b10 100644 --- a/engine/overworld/update_map.asm +++ b/engine/overworld/update_map.asm @@ -63,7 +63,7 @@ RedrawMapView: ld a, [hli] ld h, [hl] ld l, a - ld de, -2 * 32 + ld de, -2 * BG_MAP_WIDTH add hl, de ld a, h and $3 @@ -73,23 +73,23 @@ RedrawMapView: ld a, h ld [wBuffer + 1], a ; this copy of the address is not used ld a, 2 - ld [$ffbe], a - ld c, 9 ; number of rows of 2x2 tiles (this covers the whole screen) + ld [hRedrawMapViewRowOffset], a + ld c, SCREEN_HEIGHT / 2 ; number of rows of 2x2 tiles (this covers the whole screen) .redrawRowLoop push bc push hl push hl ld hl, wTileMap - 2 * SCREEN_WIDTH ld de, SCREEN_WIDTH - ld a, [$ffbe] + ld a, [hRedrawMapViewRowOffset] .calcWRAMAddrLoop add hl, de dec a jr nz, .calcWRAMAddrLoop call CopyToRedrawRowOrColumnSrcTiles pop hl - ld de, $20 - ld a, [$ffbe] + ld de, BG_MAP_WIDTH + ld a, [hRedrawMapViewRowOffset] ld c, a .calcVRAMAddrLoop add hl, de @@ -104,7 +104,7 @@ RedrawMapView: ld a, REDRAW_ROW ld [hRedrawRowOrColumnMode], a call DelayFrame - ld hl, $ffbe + ld hl, hRedrawMapViewRowOffset inc [hl] inc [hl] pop hl diff --git a/home.asm b/home.asm index e9cd3ecf..2c58d0e6 100644 --- a/home.asm +++ b/home.asm @@ -199,7 +199,7 @@ LoadFrontSpriteByMonIndex:: pop hl ld a, [hLoadedROMBank] push af - ld a, Bank(CopyUncompressedPicToHL) + ld a, BANK(CopyUncompressedPicToHL) ld [hLoadedROMBank], a ld [MBC1RomBank], a xor a @@ -832,7 +832,7 @@ UpdateSprites:: ret nz ld a, [hLoadedROMBank] push af - ld a, Bank(_UpdateSprites) + ld a, BANK(_UpdateSprites) ld [hLoadedROMBank], a ld [MBC1RomBank], a call _UpdateSprites @@ -1104,7 +1104,7 @@ DisplayPokemartDialogue:: ld [wListMenuID], a ld a, [hLoadedROMBank] push af - ld a, Bank(DisplayPokemartDialogue_) + ld a, BANK(DisplayPokemartDialogue_) ld [hLoadedROMBank], a ld [MBC1RomBank], a call DisplayPokemartDialogue_ @@ -1136,14 +1136,14 @@ LoadItemList:: DisplayPokemonCenterDialogue:: ; zeroing these doesn't appear to serve any purpose xor a - ld [$ff8b], a - ld [$ff8c], a - ld [$ff8d], a + ld [hItemPrice], a + ld [hItemPrice + 1], a + ld [hItemPrice + 2], a inc hl ld a, [hLoadedROMBank] push af - ld a, Bank(DisplayPokemonCenterDialogue_) + ld a, BANK(DisplayPokemonCenterDialogue_) ld [hLoadedROMBank], a ld [MBC1RomBank], a call DisplayPokemonCenterDialogue_ @@ -2794,7 +2794,7 @@ GetTrainerInformation:: ld a, [wLinkState] and a jr nz, .linkBattle - ld a, Bank(TrainerPicAndMoneyPointers) + ld a, BANK(TrainerPicAndMoneyPointers) call BankswitchHome ld a, [wTrainerClass] dec a @@ -3185,12 +3185,12 @@ GetName:: ld hl, NamePointers add hl, de ld a, [hli] - ld [$ff96], a + ld [hSwapTemp + 1], a ld a, [hl] - ld [$ff95], a - ld a, [$ff95] + ld [hSwapTemp], a + ld a, [hSwapTemp] ld h, a - ld a, [$ff96] + ld a, [hSwapTemp + 1] ld l, a ld a, [wd0b5] ld b, a @@ -3258,7 +3258,7 @@ GetItemPrice:: ld [hItemPrice], a jr .done .getTMPrice - ld a, Bank(GetMachinePrice) + ld a, BANK(GetMachinePrice) ld [hLoadedROMBank], a ld [MBC1RomBank], a call GetMachinePrice @@ -3409,7 +3409,7 @@ Divide:: push bc ld a, [hLoadedROMBank] push af - ld a, Bank(_Divide) + ld a, BANK(_Divide) ld [hLoadedROMBank], a ld [MBC1RomBank], a call _Divide @@ -3552,11 +3552,11 @@ CalcStat:: call Multiply ld a, [hld] ld d, a - ld a, [$ff98] + ld a, [hProduct + 3] sub d ld a, [hli] ld d, a - ld a, [$ff97] + ld a, [hProduct + 2] sbc d ; test if (current stat exp bonus)^2 < stat exp jr c, .statExpLoop .statExpDone @@ -4497,11 +4497,11 @@ CheckForHiddenObjectOrBookshelfOrCardKeyDoor:: bit 0, a ; A button jr z, .nothingFound ; A button is pressed - ld a, Bank(CheckForHiddenObject) + ld a, BANK(CheckForHiddenObject) ld [MBC1RomBank], a ld [hLoadedROMBank], a call CheckForHiddenObject - ld a, [$ffee] + ld a, [hFoundHiddenObject] and a jr nz, .hiddenObjectNotFound ld a, [wHiddenObjectFunctionRomBank] @@ -4515,13 +4515,13 @@ CheckForHiddenObjectOrBookshelfOrCardKeyDoor:: jr .done .hiddenObjectNotFound callba PrintBookshelfText - ld a, [$ffdb] + ld a, [hFFDB] and a jr z, .done .nothingFound ld a, $ff .done - ld [$ffeb], a + ld [hFoundHiddenObjectOrBookshelf], a pop af ld [MBC1RomBank], a ld [hLoadedROMBank], a @@ -4537,17 +4537,17 @@ PrintPredefTextID:: RestoreMapTextPointer:: ld hl, wMapTextPtr - ld a, [$ffec] + ld a, [hSavedMapTextPtr] ld [hli], a - ld a, [$ffec + 1] + ld a, [hSavedMapTextPtr + 1] ld [hl], a ret SetMapTextPointer:: ld a, [wMapTextPtr] - ld [$ffec], a + ld [hSavedMapTextPtr], a ld a, [wMapTextPtr + 1] - ld [$ffec + 1], a + ld [hSavedMapTextPtr + 1], a ld a, l ld [wMapTextPtr], a ld a, h diff --git a/home/init.asm b/home/init.asm index efc886e0..48294fa6 100644 --- a/home/init.asm +++ b/home/init.asm @@ -53,13 +53,13 @@ rLCDC_DEFAULT EQU %11100011 call ClearVram - ld hl, $ff80 - ld bc, $ffff - $ff80 + ld hl, $ff80 ; start of HRAM + ld bc, $ffff - $ff80 ; size of HRAM call FillMemory call ClearSprites - ld a, Bank(WriteDMACodeToHRAM) + ld a, BANK(WriteDMACodeToHRAM) ld [hLoadedROMBank], a ld [MBC1RomBank], a call WriteDMACodeToHRAM diff --git a/home/overworld.asm b/home/overworld.asm index 9fb269dc..c959beb6 100644 --- a/home/overworld.asm +++ b/home/overworld.asm @@ -88,7 +88,7 @@ OverworldLoopLessDelay:: call IsPlayerCharacterBeingControlledByGame jr nz, .checkForOpponent call CheckForHiddenObjectOrBookshelfOrCardKeyDoor - ld a, [$ffeb] + ld a, [hFoundHiddenObjectOrBookshelf] and a jp z, OverworldLoop ; jump if a hidden object or bookshelf was found, but not if a card key door was found call IsSpriteOrSignInFrontOfPlayer @@ -762,7 +762,7 @@ HandleBlackOut:: call StopMusic ld hl, wd72e res 5, [hl] - ld a, Bank(ResetStatusAndHalveMoneyOnBlackout) ; also Bank(SpecialWarpIn) and Bank(SpecialEnterMap) + ld a, BANK(ResetStatusAndHalveMoneyOnBlackout) ; also BANK(SpecialWarpIn) and BANK(SpecialEnterMap) ld [hLoadedROMBank], a ld [MBC1RomBank], a call ResetStatusAndHalveMoneyOnBlackout @@ -793,7 +793,7 @@ HandleFlyWarpOrDungeonWarp:: set 2, [hl] ; fly warp or dungeon warp res 5, [hl] ; forced to ride bike call LeaveMapAnim - ld a, Bank(SpecialWarpIn) + ld a, BANK(SpecialWarpIn) ld [hLoadedROMBank], a ld [MBC1RomBank], a call SpecialWarpIn @@ -2388,14 +2388,14 @@ SwitchToMapRomBank:: push bc ld c, a ld b, $00 - ld a, Bank(MapHeaderBanks) + ld a, BANK(MapHeaderBanks) call BankswitchHome ; switch to ROM bank 3 ld hl, MapHeaderBanks add hl, bc ld a, [hl] - ld [$ffe8], a ; save map ROM bank + ld [hMapROMBank], a ; save map ROM bank call BankswitchBack - ld a, [$ffe8] + ld a, [hMapROMBank] ld [hLoadedROMBank], a ld [MBC1RomBank], a ; switch to map ROM bank pop bc diff --git a/home/text.asm b/home/text.asm index 89c93dd0..0d2ed0a2 100644 --- a/home/text.asm +++ b/home/text.asm @@ -365,7 +365,7 @@ TextCommandProcessor:: push af set 1, a ld e, a - ld a, [$fff4] + ld a, [hClearLetterPrintingDelayFlags] xor e ld [wLetterPrintingDelayFlags], a ld a, c diff --git a/home/vblank.asm b/home/vblank.asm index e8232ea3..78f5f69d 100644 --- a/home/vblank.asm +++ b/home/vblank.asm @@ -26,7 +26,7 @@ VBlank:: call VBlankCopy call VBlankCopyDouble call UpdateMovingBgTiles - call $ff80 ; hOAMDMA + call hDMARoutine ld a, BANK(PrepareOAMData) ld [hLoadedROMBank], a ld [MBC1RomBank], a diff --git a/hram.asm b/hram.asm index 69abb717..ab18b8c9 100644 --- a/hram.asm +++ b/hram.asm @@ -1,3 +1,5 @@ +hDMARoutine EQU $FF80 + hSoftReset EQU $FF8A ; Initialized to 16. ; Decremented each input iteration if the player @@ -81,6 +83,11 @@ hOAMBufferOffset EQU $FF90 hSpriteScreenX EQU $FF91 hSpriteScreenY EQU $FF92 +hFF8F EQU $FF8F +hFF90 EQU $FF90 +hFF91 EQU $FF91 +hFF92 EQU $FF92 + hTilePlayerStandingOn EQU $FF93 hSpritePriority EQU $FF94 @@ -90,14 +97,20 @@ hSignCoordPointer EQU $FF95 hNPCMovementDirections2Index EQU $FF95 +hSwapItemID EQU $FF95 +hSwapItemQuantity EQU $FF96 + ; CalcPositionOfPlayerRelativeToNPC hNPCSpriteOffset EQU $FF95 -; temp value used when swapping bytes +; temp value used when swapping bytes or words hSwapTemp EQU $FF95 hExperience EQU $FF96 ; 3 bytes, big endian +hMutateWY EQU $FF96 +hMutateWX EQU $FF97 + ; Multiplication and division variables are meant ; to overlap for back-to-back usage. Big endian. @@ -204,6 +217,8 @@ hAutoBGTransferPortion EQU $FFBB ; the destination address of the automatic background transfer hAutoBGTransferDest EQU $FFBC ; 2 bytes +hRedrawMapViewRowOffset EQU $FFBE + ; temporary storage for stack pointer during memory transfers that use pop ; to increase speed hSPTemp EQU $FFBF ; 2 bytes @@ -272,7 +287,8 @@ hCurrentSpriteOffset EQU $FFDA ; multiple of $10 hItemCounter EQU $FFDB -hGymGateIndex EQU $FFDB +hGymGateIndex EQU $FFDB +hGymGateAnswer EQU $FFDC hGymTrashCanRandNumMask EQU $FFDB @@ -285,33 +301,64 @@ hDexRatingNumMonsOwned EQU $FFDC ; $FF = player cancelled hOaksAideResult EQU $FFDB +hSavedCoordIndex EQU $FFDB + hOaksAideRequirement EQU $FFDB ; required number of owned mons hOaksAideRewardItem EQU $FFDC hOaksAideNumMonsOwned EQU $FFDD +hPlayerFacing EQU $FFDB +hPlayerYCoord EQU $FFDC +hPlayerXCoord EQU $FFDD + +hMissableObjectIndex EQU $FFDB + hItemToRemoveID EQU $FFDB hItemToRemoveIndex EQU $FFDC hVendingMachineItem EQU $FFDB hVendingMachinePrice EQU $FFDC ; 3-byte BCD number +hFFDB EQU $FFDB +hFFDC EQU $FFDC + +hBackupGymGateIndex EQU $FFE0 + +hUnlockedSilphCoDoors EQU $FFE0 + ; the first tile ID in a sequence of tile IDs that increase by 1 each step hStartTileID EQU $FFE1 hNewPartyLength EQU $FFE4 +hIsHiddenMissableObject EQU $FFE5 + hDividend2 EQU $FFE5 hDivisor2 EQU $FFE6 hQuotient2 EQU $FFE7 +hMapROMBank EQU $FFE8 + hSpriteVRAMSlotAndFacing EQU $FFE9 hCoordsInFrontOfPlayerMatch EQU $FFEA hSpriteAnimFrameCounter EQU $FFEA +hSpriteScreenYCoord EQU $FFEB +hSpriteScreenXCoord EQU $FFEC +hSpriteMapYCoord EQU $FFED +hSpriteMapXCoord EQU $FFEE + +hFoundHiddenObjectOrBookshelf EQU $FFEB +hFoundHiddenObject EQU $FFEE + +hSavedMapTextPtr EQU $FFEC + hWhoseTurn EQU $FFF3 ; 0 on player’s turn, 1 on enemy’s turn +hClearLetterPrintingDelayFlags EQU $FFF4 + ; bit 0: draw HP fraction to the right of bar instead of below (for party menu) ; bit 1: menu is double spaced hFlagsFFF6 EQU $FFF6 diff --git a/scripts/BikeShop.asm b/scripts/BikeShop.asm index 71149759..2661ca70 100755 --- a/scripts/BikeShop.asm +++ b/scripts/BikeShop.asm @@ -23,7 +23,7 @@ BikeShopText1: call GiveItem jr nc, .BagFull ld a, BIKE_VOUCHER - ld [$ffdb], a + ld [hItemToRemoveID], a callba RemoveItemByID SetEvent EVENT_GOT_BICYCLE ld hl, BikeShopText_1d824 diff --git a/scripts/BillsHouse.asm b/scripts/BillsHouse.asm index 0c8ca4de..395694a3 100755 --- a/scripts/BillsHouse.asm +++ b/scripts/BillsHouse.asm @@ -66,13 +66,13 @@ BillsHouseScript3: ld a, $2 ld [wSpriteIndex], a ld a, $c - ld [$ffeb], a + ld [hSpriteScreenYCoord], a ld a, $40 - ld [$ffec], a + ld [hSpriteScreenXCoord], a ld a, $6 - ld [$ffed], a + ld [hSpriteMapYCoord], a ld a, $5 - ld [$ffee], a + ld [hSpriteMapXCoord], a call SetSpritePosition1 ld a, HS_BILL_1 ld [wMissableObjectIndex], a diff --git a/scripts/CinnabarGym.asm b/scripts/CinnabarGym.asm index 1e92505a..08bbbe8b 100755 --- a/scripts/CinnabarGym.asm +++ b/scripts/CinnabarGym.asm @@ -96,7 +96,7 @@ CinnabarGymScript2: cp $ff jp z, CinnabarGymScript_75792 ld a, [wTrainerHeaderFlagBit] - ld [$ffdb], a + ld [hGymGateIndex], a AdjustEventBit EVENT_BEAT_CINNABAR_GYM_TRAINER_0, 2 ld c, a ld b, FLAG_TEST @@ -111,7 +111,7 @@ CinnabarGymScript2: call WaitForSoundToFinish .asm_7581b ld a, [wTrainerHeaderFlagBit] - ld [$ffdb], a + ld [hGymGateIndex], a AdjustEventBit EVENT_BEAT_CINNABAR_GYM_TRAINER_0, 2 ld c, a ld b, FLAG_SET diff --git a/scripts/CopycatsHouse2F.asm b/scripts/CopycatsHouse2F.asm index b43234c3..64612535 100755 --- a/scripts/CopycatsHouse2F.asm +++ b/scripts/CopycatsHouse2F.asm @@ -29,7 +29,7 @@ CopycatsHouse2FText1: ld hl, ReceivedTM31Text call PrintText ld a, POKE_DOLL - ld [$ffdb], a + ld [hItemToRemoveID], a callba RemoveItemByID SetEvent EVENT_GOT_TM31 jr .asm_62ecd diff --git a/scripts/OaksLab.asm b/scripts/OaksLab.asm index a0383246..9bb84923 100755 --- a/scripts/OaksLab.asm +++ b/scripts/OaksLab.asm @@ -672,9 +672,9 @@ OaksLabScript_RemoveParcel: OaksLabScript_1d02b: ld a, $7c - ld [$ffeb], a + ld [hSpriteScreenYCoord], a ld a, $8 - ld [$ffee], a + ld [hSpriteMapXCoord], a ld a, [wYCoord] cp $3 jr nz, .asm_1d045 @@ -703,9 +703,9 @@ OaksLabScript_1d02b: .asm_1d066 ld a, $20 .asm_1d068 - ld [$ffec], a + ld [hSpriteScreenXCoord], a ld a, b - ld [$ffed], a + ld [hSpriteMapYCoord], a ld a, $1 ld [wSpriteIndex], a call SetSpritePosition1 diff --git a/scripts/PewterCity.asm b/scripts/PewterCity.asm index 1b658242..86037c13 100755 --- a/scripts/PewterCity.asm +++ b/scripts/PewterCity.asm @@ -58,13 +58,13 @@ PewterCityScript1: ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $3c - ld [$ffeb], a + ld [hSpriteScreenYCoord], a ld a, $30 - ld [$ffec], a + ld [hSpriteScreenXCoord], a ld a, $c - ld [$ffed], a + ld [hSpriteMapYCoord], a ld a, $11 - ld [$ffee], a + ld [hSpriteMapXCoord], a ld a, $3 ld [wSpriteIndex], a call SetSpritePosition1 @@ -126,13 +126,13 @@ PewterCityScript4: ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $3c - ld [$ffeb], a + ld [hSpriteScreenYCoord], a ld a, $40 - ld [$ffec], a + ld [hSpriteScreenXCoord], a ld a, $16 - ld [$ffed], a + ld [hSpriteMapYCoord], a ld a, $10 - ld [$ffee], a + ld [hSpriteMapXCoord], a ld a, $5 ld [wSpriteIndex], a call SetSpritePosition1 diff --git a/scripts/Route5Gate.asm b/scripts/Route5Gate.asm index bc763dfd..e5d86b97 100755 --- a/scripts/Route5Gate.asm +++ b/scripts/Route5Gate.asm @@ -27,7 +27,7 @@ Route5GateScript0: xor a ld [hJoyHeld], a callba RemoveGuardDrink - ld a, [$ffdb] + ld a, [hItemToRemoveID] and a jr nz, .asm_1df82 ld a, $2 @@ -74,7 +74,7 @@ Route5GateText1: bit 6, a jr nz, .asm_88856 callba RemoveGuardDrink - ld a, [$ffdb] + ld a, [hItemToRemoveID] and a jr nz, .asm_768a2 ld hl, Route5GateText2 diff --git a/scripts/Route6Gate.asm b/scripts/Route6Gate.asm index 348f61ac..6b00eddb 100755 --- a/scripts/Route6Gate.asm +++ b/scripts/Route6Gate.asm @@ -21,7 +21,7 @@ Route6GateScript0: xor a ld [hJoyHeld], a callba RemoveGuardDrink - ld a, [$ffdb] + ld a, [hItemToRemoveID] and a jr nz, .asm_1e080 ld a, $2 diff --git a/scripts/Route7Gate.asm b/scripts/Route7Gate.asm index 724172c5..06c5c91b 100755 --- a/scripts/Route7Gate.asm +++ b/scripts/Route7Gate.asm @@ -33,7 +33,7 @@ Route7GateScript0: xor a ld [hJoyHeld], a callba RemoveGuardDrink - ld a, [$ffdb] + ld a, [hItemToRemoveID] and a jr nz, .asm_1e15a ld a, $2 diff --git a/scripts/Route8Gate.asm b/scripts/Route8Gate.asm index 8ecea68e..80b8b9a4 100755 --- a/scripts/Route8Gate.asm +++ b/scripts/Route8Gate.asm @@ -32,7 +32,7 @@ Route8GateScript0: xor a ld [hJoyHeld], a callba RemoveGuardDrink - ld a, [$ffdb] + ld a, [hItemToRemoveID] and a jr nz, .asm_1e220 ld a, $2 diff --git a/scripts/SSAnne2F.asm b/scripts/SSAnne2F.asm index 203e9711..face08d8 100755 --- a/scripts/SSAnne2F.asm +++ b/scripts/SSAnne2F.asm @@ -31,7 +31,7 @@ SSAnne2Script0: ld a, MUSIC_MEET_RIVAL call PlayMusic ld a, [wCoordIndex] - ld [$ffdb], a + ld [hSavedCoordIndex], a ld a, HS_SS_ANNE_2F_RIVAL ld [wMissableObjectIndex], a predef ShowObject @@ -43,7 +43,7 @@ SSAnne2Script0: ld [hJoyHeld], a ld a, $f0 ld [wJoyIgnore], a - ld a, [$ffdb] + ld a, [hSavedCoordIndex] cp $2 jr nz, .asm_61400 ld de, MovementData_6140c diff --git a/scripts/SSAnneCaptainsRoom.asm b/scripts/SSAnneCaptainsRoom.asm index 5723c32d..6078ccf0 100755 --- a/scripts/SSAnneCaptainsRoom.asm +++ b/scripts/SSAnneCaptainsRoom.asm @@ -51,7 +51,7 @@ SSAnne7RubText: ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound - ld a, Bank(Music_PkmnHealed) + ld a, BANK(Music_PkmnHealed) ld [wAudioROMBank], a .asm_61908 ld a, MUSIC_PKMN_HEALED diff --git a/scripts/SilphCo10F.asm b/scripts/SilphCo10F.asm index 40506682..92d95de1 100755 --- a/scripts/SilphCo10F.asm +++ b/scripts/SilphCo10F.asm @@ -28,7 +28,7 @@ SilphCo10GateCoords: db $FF SilphCo10Text_5a176: - ld a, [$ffe0] + ld a, [hUnlockedSilphCoDoors] and a ret z SetEvent EVENT_SILPH_CO_10_UNLOCKED_DOOR diff --git a/scripts/SilphCo11F.asm b/scripts/SilphCo11F.asm index 2f9d7924..116b528f 100755 --- a/scripts/SilphCo11F.asm +++ b/scripts/SilphCo11F.asm @@ -35,14 +35,14 @@ SilphCo11Script_62137: ld a, [hl] ld c, a xor a - ld [$ffe0], a + ld [hUnlockedSilphCoDoors], a pop hl .asm_62143 ld a, [hli] cp $ff jr z, .asm_6215f push hl - ld hl, $ffe0 + ld hl, hUnlockedSilphCoDoors inc [hl] pop hl cp b @@ -60,11 +60,11 @@ SilphCo11Script_62137: ret .asm_6215f xor a - ld [$ffe0], a + ld [hUnlockedSilphCoDoors], a ret SilphCo11Script_62163: - ld a, [$ffe0] + ld a, [hUnlockedSilphCoDoors] and a ret z SetEvent EVENT_SILPH_CO_11_UNLOCKED_DOOR diff --git a/scripts/SilphCo2F.asm b/scripts/SilphCo2F.asm index 5fd542cb..0ff7cee3 100755 --- a/scripts/SilphCo2F.asm +++ b/scripts/SilphCo2F.asm @@ -45,14 +45,14 @@ SilphCo2Script_59d43: ld a, [hl] ld c, a xor a - ld [$ffe0], a + ld [hUnlockedSilphCoDoors], a pop hl .asm_59d4f ld a, [hli] cp $ff jr z, .asm_59d6b push hl - ld hl, $ffe0 + ld hl, hUnlockedSilphCoDoors inc [hl] pop hl cp b @@ -70,12 +70,12 @@ SilphCo2Script_59d43: ret .asm_59d6b xor a - ld [$ffe0], a + ld [hUnlockedSilphCoDoors], a ret SilphCo2Script_59d6f: EventFlagAddress hl, EVENT_SILPH_CO_2_UNLOCKED_DOOR1 - ld a, [$ffe0] + ld a, [hUnlockedSilphCoDoors] and a ret z cp $1 diff --git a/scripts/SilphCo3F.asm b/scripts/SilphCo3F.asm index 42b5d611..3b6b1da8 100755 --- a/scripts/SilphCo3F.asm +++ b/scripts/SilphCo3F.asm @@ -39,7 +39,7 @@ SilphCo3GateCoords: SilphCo3Script_59fad: EventFlagAddress hl, EVENT_SILPH_CO_3_UNLOCKED_DOOR1 - ld a, [$ffe0] + ld a, [hUnlockedSilphCoDoors] and a ret z cp $1 diff --git a/scripts/SilphCo4F.asm b/scripts/SilphCo4F.asm index 7d5072f6..61288277 100755 --- a/scripts/SilphCo4F.asm +++ b/scripts/SilphCo4F.asm @@ -45,14 +45,14 @@ SilphCo4Script_19d5d: ld a, [hl] ld c, a xor a - ld [$ffe0], a + ld [hUnlockedSilphCoDoors], a pop hl .asm_19d69 ld a, [hli] cp $ff jr z, .asm_19d85 push hl - ld hl, $ffe0 + ld hl, hUnlockedSilphCoDoors inc [hl] pop hl cp b @@ -70,12 +70,12 @@ SilphCo4Script_19d5d: ret .asm_19d85 xor a - ld [$ffe0], a + ld [hUnlockedSilphCoDoors], a ret SilphCo4Script_19d89: EventFlagAddress hl, EVENT_SILPH_CO_4_UNLOCKED_DOOR1 - ld a, [$ffe0] + ld a, [hUnlockedSilphCoDoors] and a ret z cp $1 diff --git a/scripts/SilphCo5F.asm b/scripts/SilphCo5F.asm index d9deda5b..39d7235b 100755 --- a/scripts/SilphCo5F.asm +++ b/scripts/SilphCo5F.asm @@ -49,7 +49,7 @@ SilphCo5GateCoords: SilphCo5Script_19f9e: EventFlagAddress hl, EVENT_SILPH_CO_5_UNLOCKED_DOOR1 - ld a, [$ffe0] + ld a, [hUnlockedSilphCoDoors] and a ret z cp $1 diff --git a/scripts/SilphCo6F.asm b/scripts/SilphCo6F.asm index ddbcba79..9e6ffaf1 100755 --- a/scripts/SilphCo6F.asm +++ b/scripts/SilphCo6F.asm @@ -28,7 +28,7 @@ SilphCo6GateCoords: db $FF SilphCo6Script_1a1e6: - ld a, [$ffe0] + ld a, [hUnlockedSilphCoDoors] and a ret z SetEvent EVENT_SILPH_CO_6_UNLOCKED_DOOR diff --git a/scripts/SilphCo7F.asm b/scripts/SilphCo7F.asm index 97dd09ea..4966bba6 100755 --- a/scripts/SilphCo7F.asm +++ b/scripts/SilphCo7F.asm @@ -55,14 +55,14 @@ SilphCo7Text_51bc8: ld a, [hl] ld c, a xor a - ld [$ffe0], a + ld [hUnlockedSilphCoDoors], a pop hl .asm_51bd4 ld a, [hli] cp $ff jr z, .asm_51bf0 push hl - ld hl, $ffe0 + ld hl, hUnlockedSilphCoDoors inc [hl] pop hl cp b @@ -80,12 +80,12 @@ SilphCo7Text_51bc8: ret .asm_51bf0 xor a - ld [$ffe0], a + ld [hUnlockedSilphCoDoors], a ret SilphCo7Text_51bf4: EventFlagAddress hl, EVENT_SILPH_CO_7_UNLOCKED_DOOR1 - ld a, [$ffe0] + ld a, [hUnlockedSilphCoDoors] and a ret z cp $1 diff --git a/scripts/SilphCo8F.asm b/scripts/SilphCo8F.asm index ce6579f7..b1c32a34 100755 --- a/scripts/SilphCo8F.asm +++ b/scripts/SilphCo8F.asm @@ -35,14 +35,14 @@ SilphCo8Script_56541: ld a, [hl] ld c, a xor a - ld [$ffe0], a + ld [hUnlockedSilphCoDoors], a pop hl .asm_5654d ld a, [hli] cp $ff jr z, .asm_56569 push hl - ld hl, $ffe0 + ld hl, hUnlockedSilphCoDoors inc [hl] pop hl cp b @@ -60,11 +60,11 @@ SilphCo8Script_56541: ret .asm_56569 xor a - ld [$ffe0], a + ld [hUnlockedSilphCoDoors], a ret SilphCo8Script_5656d: - ld a, [$ffe0] + ld a, [hUnlockedSilphCoDoors] and a ret z SetEvent EVENT_SILPH_CO_8_UNLOCKED_DOOR diff --git a/scripts/SilphCo9F.asm b/scripts/SilphCo9F.asm index 66291e98..d9fdc625 100755 --- a/scripts/SilphCo9F.asm +++ b/scripts/SilphCo9F.asm @@ -65,14 +65,14 @@ SilphCo9Script_5d837: ld a, [hl] ld c, a xor a - ld [$ffe0], a + ld [hUnlockedSilphCoDoors], a pop hl .asm_5d843 ld a, [hli] cp $ff jr z, .asm_5d85f push hl - ld hl, $ffe0 + ld hl, hUnlockedSilphCoDoors inc [hl] pop hl cp b @@ -90,12 +90,12 @@ SilphCo9Script_5d837: ret .asm_5d85f xor a - ld [$ffe0], a + ld [hUnlockedSilphCoDoors], a ret SilphCo9Script_5d863: EventFlagAddress hl, EVENT_SILPH_CO_9_UNLOCKED_DOOR1 - ld a, [$ffe0] + ld a, [hUnlockedSilphCoDoors] and a ret z cp $1 diff --git a/scripts/ViridianCity.asm b/scripts/ViridianCity.asm index 643431a4..c3eb9a79 100755 --- a/scripts/ViridianCity.asm +++ b/scripts/ViridianCity.asm @@ -59,14 +59,14 @@ ViridianCityScript_1903d: ret ViridianCityScript1: - ld a, [wSpriteStateData1 + $34] - ld [$ffeb], a - ld a, [wSpriteStateData1 + $36] - ld [$ffec], a - ld a, [wSpriteStateData2 + $34] - ld [$ffed], a - ld a, [wSpriteStateData2 + $35] - ld [$ffee], a + ld a, [wSprite03StateData1YPixels] + ld [hSpriteScreenYCoord], a + ld a, [wSprite03StateData1XPixels] + ld [hSpriteScreenXCoord], a + ld a, [wSprite03StateData2MapY] + ld [hSpriteMapYCoord], a + ld a, [wSprite03StateData2MapX] + ld [hSpriteMapXCoord], a xor a ld [wListScrollOffset], a @@ -82,14 +82,14 @@ ViridianCityScript1: ret ViridianCityScript2: - ld a, [$ffeb] - ld [wSpriteStateData1 + $34], a - ld a, [$ffec] - ld [wSpriteStateData1 + $36], a - ld a, [$ffed] - ld [wSpriteStateData2 + $34], a - ld a, [$ffee] - ld [wSpriteStateData2 + $35], a + ld a, [hSpriteScreenYCoord] + ld [wSprite03StateData1YPixels], a + ld a, [hSpriteScreenXCoord] + ld [wSprite03StateData1XPixels], a + ld a, [hSpriteMapYCoord] + ld [wSprite03StateData2MapY], a + ld a, [hSpriteMapXCoord] + ld [wSprite03StateData2MapX], a call UpdateSprites call Delay3 xor a diff --git a/scripts/WardensHouse.asm b/scripts/WardensHouse.asm index e6ca47b2..015d137f 100755 --- a/scripts/WardensHouse.asm +++ b/scripts/WardensHouse.asm @@ -32,7 +32,7 @@ FuchsiaHouse2Text1: ld hl, WardenTeethText1 call PrintText ld a, GOLD_TEETH - ld [$ffdb], a + ld [hItemToRemoveID], a callba RemoveItemByID SetEvent EVENT_GAVE_GOLD_TEETH .asm_60cba diff --git a/wram.asm b/wram.asm index 40e1604a..9c37b3db 100755 --- a/wram.asm +++ b/wram.asm @@ -1985,7 +1985,7 @@ wSpriteOutputBitOffset:: ; determines where in the output byte the two bits are ds 1 wSpriteLoadFlags:: -; bit 0 determines used buffer (0 -> $a188, 1 -> $a310) +; bit 0 determines used buffer (0 -> sSpriteBuffer1, 1 -> sSpriteBuffer2) ; bit 1 loading last sprite chunk? (there are at most 2 chunks per load operation) ds 1 wSpriteUnpackMode:: -- cgit v1.2.3 From 053afc46349952688c0ce2116cc76f8d4733895e Mon Sep 17 00:00:00 2001 From: Rangi Date: Fri, 3 Jul 2020 22:57:43 -0400 Subject: Move more code from home.asm to home/ --- data/moves/hm_moves.asm | 7 +- data/predef_pointers.asm | 6 + data/text_predef_pointers.asm | 71 + engine/pokemon/bills_pc.asm | 1 + home.asm | 3091 ++--------------------------------------- home/bankswitch.asm | 35 + home/list_menu.asm | 526 +++++++ home/move_mon.asm | 242 ++++ home/names.asm | 141 ++ home/names2.asm | 93 ++ home/overworld_text.asm | 31 + home/pokemon.asm | 464 +++++++ home/predef_text.asm | 237 ++++ home/print_bcd.asm | 77 + home/print_num.asm | 217 +++ home/trainers.asm | 436 ++++++ home/uncompress.asm | 196 +++ home/yes_no.asm | 40 + macros/predef.asm | 25 +- 19 files changed, 2959 insertions(+), 2977 deletions(-) create mode 100644 data/text_predef_pointers.asm create mode 100644 home/bankswitch.asm create mode 100644 home/list_menu.asm create mode 100644 home/move_mon.asm create mode 100644 home/names.asm create mode 100644 home/names2.asm create mode 100644 home/overworld_text.asm create mode 100644 home/pokemon.asm create mode 100644 home/predef_text.asm create mode 100644 home/print_bcd.asm create mode 100644 home/print_num.asm create mode 100644 home/trainers.asm create mode 100644 home/uncompress.asm create mode 100644 home/yes_no.asm diff --git a/data/moves/hm_moves.asm b/data/moves/hm_moves.asm index d72eddfe..4f14b8df 100644 --- a/data/moves/hm_moves.asm +++ b/data/moves/hm_moves.asm @@ -1,7 +1,10 @@ -HMMoveArray: +; This file is INCLUDEd twice: +; - for HMMoves in home/names.asm +; - for HMMoveArray in engine/pokemon/bills_pc.asm + db CUT db FLY db SURF db STRENGTH db FLASH - db -1 + db -1 ; end diff --git a/data/predef_pointers.asm b/data/predef_pointers.asm index 5ce797e0..9d206a48 100644 --- a/data/predef_pointers.asm +++ b/data/predef_pointers.asm @@ -1,3 +1,9 @@ +add_predef: MACRO +\1Predef:: + db BANK(\1) + dw \1 +ENDM + PredefPointers:: ; these are pointers to ASM routines. ; they appear to be used in overworld map scripts. diff --git a/data/text_predef_pointers.asm b/data/text_predef_pointers.asm new file mode 100644 index 00000000..bbe9c8d8 --- /dev/null +++ b/data/text_predef_pointers.asm @@ -0,0 +1,71 @@ +add_tx_pre: MACRO +\1_id:: dw \1 +ENDM + +TextPredefs:: + add_tx_pre CardKeySuccessText ; 01 + add_tx_pre CardKeyFailText ; 02 + add_tx_pre RedBedroomPCText ; 03 + add_tx_pre RedBedroomSNESText ; 04 + add_tx_pre PushStartText ; 05 + add_tx_pre SaveOptionText ; 06 + add_tx_pre StrengthsAndWeaknessesText ; 07 + add_tx_pre OakLabEmailText ; 08 + add_tx_pre AerodactylFossilText ; 09 + add_tx_pre Route15UpstairsBinocularsText ; 0A + add_tx_pre KabutopsFossilText ; 0B + add_tx_pre GymStatueText1 ; 0C + add_tx_pre GymStatueText2 ; 0D + add_tx_pre BookcaseText ; 0E + add_tx_pre ViridianCityPokecenterBenchGuyText ; 0F + add_tx_pre PewterCityPokecenterBenchGuyText ; 10 + add_tx_pre CeruleanCityPokecenterBenchGuyText ; 11 + add_tx_pre LavenderCityPokecenterBenchGuyText ; 12 + add_tx_pre VermilionCityPokecenterBenchGuyText ; 13 + add_tx_pre CeladonCityPokecenterBenchGuyText ; 14 + add_tx_pre CeladonCityHotelText ; 15 + add_tx_pre FuchsiaCityPokecenterBenchGuyText ; 16 + add_tx_pre CinnabarIslandPokecenterBenchGuyText ; 17 + add_tx_pre SaffronCityPokecenterBenchGuyText ; 18 + add_tx_pre MtMoonPokecenterBenchGuyText ; 19 + add_tx_pre RockTunnelPokecenterBenchGuyText ; 1A + add_tx_pre UnusedBenchGuyText1 ; 1B XXX unused + add_tx_pre UnusedBenchGuyText2 ; 1C XXX unused + add_tx_pre UnusedBenchGuyText3 ; 1D XXX unused + add_tx_pre UnusedPredefText ; 1E XXX unused + add_tx_pre PokemonCenterPCText ; 1F + add_tx_pre ViridianSchoolNotebook ; 20 + add_tx_pre ViridianSchoolBlackboard ; 21 + add_tx_pre JustAMomentText ; 22 + add_tx_pre OpenBillsPCText ; 23 + add_tx_pre FoundHiddenItemText ; 24 + add_tx_pre HiddenItemBagFullText ; 25 XXX unused + add_tx_pre VermilionGymTrashText ; 26 + add_tx_pre IndigoPlateauHQText ; 27 + add_tx_pre GameCornerOutOfOrderText ; 28 + add_tx_pre GameCornerOutToLunchText ; 29 + add_tx_pre GameCornerSomeonesKeysText ; 2A + add_tx_pre FoundHiddenCoinsText ; 2B + add_tx_pre DroppedHiddenCoinsText ; 2C + add_tx_pre BillsHouseMonitorText ; 2D + add_tx_pre BillsHouseInitiatedText ; 2E + add_tx_pre BillsHousePokemonList ; 2F + add_tx_pre MagazinesText ; 30 + add_tx_pre CinnabarGymQuiz ; 31 + add_tx_pre GameCornerNoCoinsText ; 32 + add_tx_pre GameCornerCoinCaseText ; 33 + add_tx_pre LinkCableHelp ; 34 + add_tx_pre TMNotebook ; 35 + add_tx_pre FightingDojoText ; 36 + add_tx_pre EnemiesOnEverySideText ; 37 + add_tx_pre WhatGoesAroundComesAroundText ; 38 + add_tx_pre NewBicycleText ; 39 + add_tx_pre IndigoPlateauStatues ; 3A + add_tx_pre VermilionGymTrashSuccessText1 ; 3B + add_tx_pre VermilionGymTrashSuccessText2 ; 3C XXX unused + add_tx_pre VermilionGymTrashSuccessText3 ; 3D + add_tx_pre VermilionGymTrashFailText ; 3E + add_tx_pre TownMapText ; 3F + add_tx_pre BookOrSculptureText ; 40 + add_tx_pre ElevatorText ; 41 + add_tx_pre PokemonStuffText ; 42 diff --git a/engine/pokemon/bills_pc.asm b/engine/pokemon/bills_pc.asm index 1a97caf0..d9a329f5 100644 --- a/engine/pokemon/bills_pc.asm +++ b/engine/pokemon/bills_pc.asm @@ -376,6 +376,7 @@ KnowsHMMove:: and a ret +HMMoveArray: INCLUDE "data/moves/hm_moves.asm" DisplayDepositWithdrawMenu: diff --git a/home.asm b/home.asm index 2c58d0e6..7f743312 100644 --- a/home.asm +++ b/home.asm @@ -72,1123 +72,113 @@ LoadDestinationWarpPosition:: ld [MBC1RomBank], a ret +INCLUDE "home/pokemon.asm" +INCLUDE "home/print_bcd.asm" +INCLUDE "home/uncompress.asm" +INCLUDE "data/tilesets/collision_tile_ids.asm" +INCLUDE "home/copy2.asm" +INCLUDE "home/text.asm" +INCLUDE "home/vcopy.asm" +INCLUDE "home/init.asm" +INCLUDE "home/vblank.asm" +INCLUDE "home/fade.asm" +INCLUDE "home/serial.asm" +INCLUDE "home/timer.asm" +INCLUDE "home/audio.asm" -DrawHPBar:: -; Draw an HP bar d tiles long, and fill it to e pixels. -; If c is nonzero, show at least a sliver regardless. -; The right end of the bar changes with [wHPBarType]. - - push hl - push de - push bc - - ; Left - ld a, $71 ; "HP:" - ld [hli], a - ld a, $62 - ld [hli], a - - push hl - - ; Middle - ld a, $63 ; empty -.draw - ld [hli], a - dec d - jr nz, .draw - - ; Right - ld a, [wHPBarType] +UpdateSprites:: + ld a, [wUpdateSpritesEnabled] dec a - ld a, $6d ; status screen and battle - jr z, .ok - dec a ; pokemon menu -.ok - ld [hl], a - - pop hl - - ld a, e - and a - jr nz, .fill - - ; If c is nonzero, draw a pixel anyway. - ld a, c - and a - jr z, .done - ld e, 1 - -.fill - ld a, e - sub 8 - jr c, .partial - ld e, a - ld a, $6b ; full - ld [hli], a - ld a, e - and a - jr z, .done - jr .fill - -.partial - ; Fill remaining pixels at the end if necessary. - ld a, $63 ; empty - add e - ld [hl], a -.done - pop bc - pop de - pop hl - ret - - -; loads pokemon data from one of multiple sources to wLoadedMon -; loads base stats to wMonHeader -; INPUT: -; [wWhichPokemon] = index of pokemon within party/box -; [wMonDataLocation] = source -; 00: player's party -; 01: enemy's party -; 02: current box -; 03: daycare -; OUTPUT: -; [wcf91] = pokemon ID -; wLoadedMon = base address of pokemon data -; wMonHeader = base address of base stats -LoadMonData:: - jpab LoadMonData_ - -OverwritewMoves:: -; Write c to [wMoves + b]. Unused. - ld hl, wMoves - ld e, b - ld d, 0 - add hl, de - ld a, c - ld [hl], a - ret - -LoadFlippedFrontSpriteByMonIndex:: - ld a, 1 - ld [wSpriteFlipped], a - -LoadFrontSpriteByMonIndex:: - push hl - ld a, [wd11e] - push af - ld a, [wcf91] - ld [wd11e], a - predef IndexToPokedex - ld hl, wd11e - ld a, [hl] - pop bc - ld [hl], b - and a - pop hl - jr z, .invalidDexNumber ; dex #0 invalid - cp NUM_POKEMON + 1 - jr c, .validDexNumber ; dex >#151 invalid -.invalidDexNumber - ld a, RHYDON ; $1 - ld [wcf91], a - ret -.validDexNumber - push hl - ld de, vFrontPic - call LoadMonFrontSprite - pop hl + ret nz ld a, [hLoadedROMBank] push af - ld a, BANK(CopyUncompressedPicToHL) + ld a, BANK(_UpdateSprites) ld [hLoadedROMBank], a ld [MBC1RomBank], a - xor a - ld [hStartTileID], a - call CopyUncompressedPicToHL - xor a - ld [wSpriteFlipped], a + call _UpdateSprites pop af ld [hLoadedROMBank], a ld [MBC1RomBank], a ret +INCLUDE "data/items/marts.asm" +INCLUDE "home/overworld_text.asm" +INCLUDE "home/pic.asm" -PlayCry:: -; Play monster a's cry. - call GetCryData - call PlaySound - jp WaitForSoundToFinish - -GetCryData:: -; Load cry data for monster a. - dec a - ld c, a - ld b, 0 - ld hl, CryData - add hl, bc - add hl, bc - add hl, bc - - ld a, BANK(CryData) - call BankswitchHome - ld a, [hli] - ld b, a ; cry id - ld a, [hli] - ld [wFrequencyModifier], a - ld a, [hl] - ld [wTempoModifier], a - call BankswitchBack - - ; Cry headers have 3 channels, - ; and start from index CRY_SFX_START, - ; so add 3 times the cry id. - ld a, b - ld c, CRY_SFX_START - rlca ; * 2 - add b - add c +ResetPlayerSpriteData:: + ld hl, wSpriteStateData1 + call ResetPlayerSpriteData_ClearSpriteData + ld hl, wSpriteStateData2 + call ResetPlayerSpriteData_ClearSpriteData + ld a, $1 + ld [wSpriteStateData1], a + ld [wSpriteStateData2 + $0e], a + ld hl, wSpriteStateData1 + 4 + ld [hl], $3c ; set Y screen pos + inc hl + inc hl + ld [hl], $40 ; set X screen pos ret -DisplayPartyMenu:: - ld a, [hTilesetType] - push af - xor a - ld [hTilesetType], a - call GBPalWhiteOutWithDelay3 - call ClearSprites - call PartyMenuInit - call DrawPartyMenu - jp HandlePartyMenuInput - -GoBackToPartyMenu:: - ld a, [hTilesetType] - push af +; overwrites sprite data with zeroes +ResetPlayerSpriteData_ClearSpriteData:: + ld bc, $10 xor a - ld [hTilesetType], a - call PartyMenuInit - call RedrawPartyMenu - jp HandlePartyMenuInput + jp FillMemory -PartyMenuInit:: - ld a, 1 ; hardcoded bank - call BankswitchHome - call LoadHpBarAndStatusTilePatterns - ld hl, wd730 - set 6, [hl] ; turn off letter printing delay - xor a ; PLAYER_PARTY_DATA - ld [wMonDataLocation], a - ld [wMenuWatchMovingOutOfBounds], a - ld hl, wTopMenuItemY - inc a - ld [hli], a ; top menu item Y - xor a - ld [hli], a ; top menu item X - ld a, [wPartyAndBillsPCSavedMenuItem] - push af - ld [hli], a ; current menu item ID - inc hl - ld a, [wPartyCount] - and a ; are there more than 0 pokemon in the party? - jr z, .storeMaxMenuItemID - dec a -; if party is not empty, the max menu item ID is ([wPartyCount] - 1) -; otherwise, it is 0 -.storeMaxMenuItemID - ld [hli], a ; max menu item ID - ld a, [wForcePlayerToChooseMon] +FadeOutAudio:: + ld a, [wAudioFadeOutControl] + and a ; currently fading out audio? + jr nz, .fadingOut + ld a, [wd72c] + bit 1, a + ret nz + ld a, $77 + ld [rNR50], a + ret +.fadingOut + ld a, [wAudioFadeOutCounter] and a - ld a, A_BUTTON | B_BUTTON - jr z, .next - xor a - ld [wForcePlayerToChooseMon], a - inc a ; a = A_BUTTON -.next - ld [hli], a ; menu watched keys - pop af - ld [hl], a ; old menu item ID + jr z, .counterReachedZero + dec a + ld [wAudioFadeOutCounter], a ret - -HandlePartyMenuInput:: - ld a, 1 - ld [wMenuWrappingEnabled], a - ld a, $40 - ld [wPartyMenuAnimMonEnabled], a - call HandleMenuInput_ - call PlaceUnfilledArrowMenuCursor +.counterReachedZero + ld a, [wAudioFadeOutCounterReloadValue] + ld [wAudioFadeOutCounter], a + ld a, [rNR50] + and a ; has the volume reached 0? + jr z, .fadeOutComplete ld b, a - xor a - ld [wPartyMenuAnimMonEnabled], a - ld a, [wCurrentMenuItem] - ld [wPartyAndBillsPCSavedMenuItem], a - ld hl, wd730 - res 6, [hl] ; turn on letter printing delay - ld a, [wMenuItemToSwap] - and a - jp nz, .swappingPokemon - pop af - ld [hTilesetType], a - bit 1, b - jr nz, .noPokemonChosen - ld a, [wPartyCount] - and a - jr z, .noPokemonChosen - ld a, [wCurrentMenuItem] - ld [wWhichPokemon], a - ld hl, wPartySpecies - ld b, 0 + and $f + dec a ld c, a - add hl, bc - ld a, [hl] - ld [wcf91], a - ld [wBattleMonSpecies2], a - call BankswitchBack - and a - ret -.noPokemonChosen - call BankswitchBack - scf + ld a, b + and $f0 + swap a + dec a + swap a + or c + ld [rNR50], a ret -.swappingPokemon - bit 1, b ; was the B button pressed? - jr z, .handleSwap ; if not, handle swapping the pokemon -.cancelSwap ; if the B button was pressed - callba ErasePartyMenuCursors - xor a - ld [wMenuItemToSwap], a - ld [wPartyMenuTypeOrMessageID], a - call RedrawPartyMenu - jr HandlePartyMenuInput -.handleSwap - ld a, [wCurrentMenuItem] - ld [wWhichPokemon], a - callba SwitchPartyMon - jr HandlePartyMenuInput - -DrawPartyMenu:: - ld hl, DrawPartyMenu_ - jr DrawPartyMenuCommon - -RedrawPartyMenu:: - ld hl, RedrawPartyMenu_ - -DrawPartyMenuCommon:: - ld b, BANK(RedrawPartyMenu_) - jp Bankswitch - -; prints a pokemon's status condition -; INPUT: -; de = address of status condition -; hl = destination address -PrintStatusCondition:: - push de - dec de - dec de ; de = address of current HP - ld a, [de] +.fadeOutComplete + ld a, [wAudioFadeOutControl] ld b, a - dec de - ld a, [de] - or b ; is the pokemon's HP zero? - pop de - jr nz, PrintStatusConditionNotFainted -; if the pokemon's HP is 0, print "FNT" - ld a, "F" - ld [hli], a - ld a, "N" - ld [hli], a - ld [hl], "T" - and a - ret - -PrintStatusConditionNotFainted:: - ld a, [hLoadedROMBank] - push af - ld a, BANK(PrintStatusAilment) - ld [hLoadedROMBank], a - ld [MBC1RomBank], a - call PrintStatusAilment ; print status condition - pop bc + xor a + ld [wAudioFadeOutControl], a + ld a, SFX_STOP_ALL_MUSIC + ld [wNewSoundID], a + call PlaySound + ld a, [wAudioSavedROMBank] + ld [wAudioROMBank], a ld a, b - ld [hLoadedROMBank], a - ld [MBC1RomBank], a - ret - -; function to print pokemon level, leaving off the ":L" if the level is at least 100 -; INPUT: -; hl = destination address -; [wLoadedMonLevel] = level -PrintLevel:: - ld a, $6e ; ":L" tile ID - ld [hli], a - ld c, 2 ; number of digits - ld a, [wLoadedMonLevel] ; level - cp 100 - jr c, PrintLevelCommon -; if level at least 100, write over the ":L" tile - dec hl - inc c ; increment number of digits to 3 - jr PrintLevelCommon - -; prints the level without leaving off ":L" regardless of level -; INPUT: -; hl = destination address -; [wLoadedMonLevel] = level -PrintLevelFull:: - ld a, $6e ; ":L" tile ID - ld [hli], a - ld c, 3 ; number of digits - ld a, [wLoadedMonLevel] ; level - -PrintLevelCommon:: - ld [wd11e], a - ld de, wd11e - ld b, LEFT_ALIGN | 1 ; 1 byte - jp PrintNumber + ld [wNewSoundID], a + jp PlaySound -GetwMoves:: -; Unused. Returns the move at index a from wMoves in a - ld hl, wMoves - ld c, a - ld b, 0 - add hl, bc - ld a, [hl] - ret +INCLUDE "home/predef_text.asm" +INCLUDE "home/start_menu.asm" -; copies the base stat data of a pokemon to wMonHeader -; INPUT: -; [wd0b5] = pokemon ID -GetMonHeader:: - ld a, [hLoadedROMBank] - push af - ld a, BANK(BaseStats) - ld [hLoadedROMBank], a - ld [MBC1RomBank], a - push bc - push de - push hl - ld a, [wd11e] - push af - ld a, [wd0b5] - ld [wd11e], a - ld de, FossilKabutopsPic - ld b, $66 ; size of Kabutops fossil and Ghost sprites - cp FOSSIL_KABUTOPS ; Kabutops fossil - jr z, .specialID - ld de, GhostPic - cp MON_GHOST ; Ghost - jr z, .specialID - ld de, FossilAerodactylPic - ld b, $77 ; size of Aerodactyl fossil sprite - cp FOSSIL_AERODACTYL ; Aerodactyl fossil - jr z, .specialID - cp MEW - jr z, .mew - predef IndexToPokedex ; convert pokemon ID in [wd11e] to pokedex number - ld a, [wd11e] - dec a - ld bc, MonBaseStatsEnd - MonBaseStats - ld hl, BaseStats - call AddNTimes - ld de, wMonHeader - ld bc, MonBaseStatsEnd - MonBaseStats - call CopyData - jr .done -.specialID - ld hl, wMonHSpriteDim - ld [hl], b ; write sprite dimensions - inc hl - ld [hl], e ; write front sprite pointer - inc hl - ld [hl], d - jr .done -.mew - ld hl, MewBaseStats - ld de, wMonHeader - ld bc, MonBaseStatsEnd - MonBaseStats - ld a, BANK(MewBaseStats) - call FarCopyData -.done - ld a, [wd0b5] - ld [wMonHIndex], a - pop af - ld [wd11e], a - pop hl - pop de - pop bc - pop af - ld [hLoadedROMBank], a - ld [MBC1RomBank], a - ret - -; copy party pokemon's name to wcd6d -GetPartyMonName2:: - ld a, [wWhichPokemon] ; index within party - ld hl, wPartyMonNicks - -; this is called more often -GetPartyMonName:: - push hl - push bc - call SkipFixedLengthTextEntries ; add NAME_LENGTH to hl, a times - ld de, wcd6d - push de - ld bc, NAME_LENGTH - call CopyData - pop de - pop bc - pop hl - ret - -; function to print a BCD (Binary-coded decimal) number -; de = address of BCD number -; hl = destination address -; c = flags and length -; bit 7: if set, do not print leading zeroes -; if unset, print leading zeroes -; bit 6: if set, left-align the string (do not pad empty digits with spaces) -; if unset, right-align the string -; bit 5: if set, print currency symbol at the beginning of the string -; if unset, do not print the currency symbol -; bits 0-4: length of BCD number in bytes -; Note that bits 5 and 7 are modified during execution. The above reflects -; their meaning at the beginning of the functions's execution. -PrintBCDNumber:: - ld b, c ; save flags in b - res 7, c - res 6, c - res 5, c ; c now holds the length - bit 5, b - jr z, .loop - bit 7, b - jr nz, .loop - ld [hl], "¥" - inc hl -.loop - ld a, [de] - swap a - call PrintBCDDigit ; print upper digit - ld a, [de] - call PrintBCDDigit ; print lower digit - inc de - dec c - jr nz, .loop - bit 7, b ; were any non-zero digits printed? - jr z, .done ; if so, we are done -.numberEqualsZero ; if every digit of the BCD number is zero - bit 6, b ; left or right alignment? - jr nz, .skipRightAlignmentAdjustment - dec hl ; if the string is right-aligned, it needs to be moved back one space -.skipRightAlignmentAdjustment - bit 5, b - jr z, .skipCurrencySymbol - ld [hl], "¥" - inc hl -.skipCurrencySymbol - ld [hl], "0" - call PrintLetterDelay - inc hl -.done - ret - -PrintBCDDigit:: - and $f - and a - jr z, .zeroDigit -.nonzeroDigit - bit 7, b ; have any non-space characters been printed? - jr z, .outputDigit -; if bit 7 is set, then no numbers have been printed yet - bit 5, b ; print the currency symbol? - jr z, .skipCurrencySymbol - ld [hl], "¥" - inc hl - res 5, b -.skipCurrencySymbol - res 7, b ; unset 7 to indicate that a nonzero digit has been reached -.outputDigit - add "0" - ld [hli], a - jp PrintLetterDelay -.zeroDigit - bit 7, b ; either printing leading zeroes or already reached a nonzero digit? - jr z, .outputDigit ; if so, print a zero digit - bit 6, b ; left or right alignment? - ret nz - inc hl ; if right-aligned, "print" a space by advancing the pointer - ret - -; uncompresses the front or back sprite of the specified mon -; assumes the corresponding mon header is already loaded -; hl contains offset to sprite pointer ($b for front or $d for back) -UncompressMonSprite:: - ld bc, wMonHeader - add hl, bc - ld a, [hli] - ld [wSpriteInputPtr], a ; fetch sprite input pointer - ld a, [hl] - ld [wSpriteInputPtr+1], a -; define (by index number) the bank that a pokemon's image is in -; index = Mew, bank 1 -; index = Kabutops fossil, bank $B -; index < $1F, bank 9 -; $1F ≤ index < $4A, bank $A -; $4A ≤ index < $74, bank $B -; $74 ≤ index < $99, bank $C -; $99 ≤ index, bank $D - ld a, [wcf91] ; XXX name for this ram location - ld b, a - cp MEW - ld a, BANK(MewPicFront) - jr z, .GotBank - ld a, b - cp FOSSIL_KABUTOPS - ld a, BANK(FossilKabutopsPic) - jr z, .GotBank - ld a, b - cp TANGELA + 1 - ld a, BANK(TangelaPicFront) - jr c, .GotBank - ld a, b - cp MOLTRES + 1 - ld a, BANK(MoltresPicFront) - jr c, .GotBank - ld a, b - cp BEEDRILL + 2 - ld a, BANK(BeedrillPicFront) - jr c, .GotBank - ld a, b - cp STARMIE + 1 - ld a, BANK(StarmiePicFront) - jr c, .GotBank - ld a, BANK(VictreebelPicFront) -.GotBank - jp UncompressSpriteData - -; de: destination location -LoadMonFrontSprite:: - push de - ld hl, wMonHFrontSprite - wMonHeader - call UncompressMonSprite - ld hl, wMonHSpriteDim - ld a, [hli] - ld c, a - pop de - ; fall through - -; postprocesses uncompressed sprite chunks to a 2bpp sprite and loads it into video ram -; calculates alignment parameters to place both sprite chunks in the center of the 7*7 tile sprite buffers -; de: destination location -; a,c: sprite dimensions (in tiles of 8x8 each) -LoadUncompressedSpriteData:: - push de - and $f - ld [hSpriteWidth], a ; each byte contains 8 pixels (in 1bpp), so tiles=bytes for width - ld b, a - ld a, $7 - sub b ; 7-w - inc a ; 8-w - srl a ; (8-w)/2 ; horizontal center (in tiles, rounded up) - ld b, a - add a - add a - add a - sub b ; 7*((8-w)/2) ; skip for horizontal center (in tiles) - ld [hSpriteOffset], a - ld a, c - swap a - and $f - ld b, a - add a - add a - add a ; 8*tiles is height in bytes - ld [hSpriteHeight], a - ld a, $7 - sub b ; 7-h ; skip for vertical center (in tiles, relative to current column) - ld b, a - ld a, [hSpriteOffset] - add b ; 7*((8-w)/2) + 7-h ; combined overall offset (in tiles) - add a - add a - add a ; 8*(7*((8-w)/2) + 7-h) ; combined overall offset (in bytes) - ld [hSpriteOffset], a - xor a - ld [$4000], a - ld hl, sSpriteBuffer0 - call ZeroSpriteBuffer ; zero buffer 0 - ld de, sSpriteBuffer1 - ld hl, sSpriteBuffer0 - call AlignSpriteDataCentered ; copy and align buffer 1 to 0 (containing the MSB of the 2bpp sprite) - ld hl, sSpriteBuffer1 - call ZeroSpriteBuffer ; zero buffer 1 - ld de, sSpriteBuffer2 - ld hl, sSpriteBuffer1 - call AlignSpriteDataCentered ; copy and align buffer 2 to 1 (containing the LSB of the 2bpp sprite) - pop de - jp InterlaceMergeSpriteBuffers - -; copies and aligns the sprite data properly inside the sprite buffer -; sprite buffers are 7*7 tiles in size, the loaded sprite is centered within this area -AlignSpriteDataCentered:: - ld a, [hSpriteOffset] - ld b, $0 - ld c, a - add hl, bc - ld a, [hSpriteWidth] -.columnLoop - push af - push hl - ld a, [hSpriteHeight] - ld c, a -.columnInnerLoop - ld a, [de] - inc de - ld [hli], a - dec c - jr nz, .columnInnerLoop - pop hl - ld bc, 7*8 ; 7 tiles - add hl, bc ; advance one full column - pop af - dec a - jr nz, .columnLoop - ret - -; fills the sprite buffer (pointed to in hl) with zeros -ZeroSpriteBuffer:: - ld bc, SPRITEBUFFERSIZE -.nextByteLoop - xor a - ld [hli], a - dec bc - ld a, b - or c - jr nz, .nextByteLoop - ret - -; combines the (7*7 tiles, 1bpp) sprite chunks in buffer 0 and 1 into a 2bpp sprite located in buffer 1 through 2 -; in the resulting sprite, the rows of the two source sprites are interlaced -; de: output address -InterlaceMergeSpriteBuffers:: - xor a - ld [$4000], a - push de - ld hl, sSpriteBuffer2 + (SPRITEBUFFERSIZE - 1) ; destination: end of buffer 2 - ld de, sSpriteBuffer1 + (SPRITEBUFFERSIZE - 1) ; source 2: end of buffer 1 - ld bc, sSpriteBuffer0 + (SPRITEBUFFERSIZE - 1) ; source 1: end of buffer 0 - ld a, SPRITEBUFFERSIZE/2 ; $c4 - ld [hSpriteInterlaceCounter], a -.interlaceLoop - ld a, [de] - dec de - ld [hld], a ; write byte of source 2 - ld a, [bc] - dec bc - ld [hld], a ; write byte of source 1 - ld a, [de] - dec de - ld [hld], a ; write byte of source 2 - ld a, [bc] - dec bc - ld [hld], a ; write byte of source 1 - ld a, [hSpriteInterlaceCounter] - dec a - ld [hSpriteInterlaceCounter], a - jr nz, .interlaceLoop - ld a, [wSpriteFlipped] - and a - jr z, .notFlipped - ld bc, 2*SPRITEBUFFERSIZE - ld hl, sSpriteBuffer1 -.swapLoop - swap [hl] ; if flipped swap nybbles in all bytes - inc hl - dec bc - ld a, b - or c - jr nz, .swapLoop -.notFlipped - pop hl - ld de, sSpriteBuffer1 - ld c, (2*SPRITEBUFFERSIZE)/16 ; $31, number of 16 byte chunks to be copied - ld a, [hLoadedROMBank] - ld b, a - jp CopyVideoData - - -INCLUDE "data/tilesets/collision_tile_ids.asm" -INCLUDE "home/copy2.asm" -INCLUDE "home/text.asm" -INCLUDE "home/vcopy.asm" -INCLUDE "home/init.asm" -INCLUDE "home/vblank.asm" -INCLUDE "home/fade.asm" -INCLUDE "home/serial.asm" -INCLUDE "home/timer.asm" -INCLUDE "home/audio.asm" - - -UpdateSprites:: - ld a, [wUpdateSpritesEnabled] - dec a - ret nz - ld a, [hLoadedROMBank] - push af - ld a, BANK(_UpdateSprites) - ld [hLoadedROMBank], a - ld [MBC1RomBank], a - call _UpdateSprites - pop af - ld [hLoadedROMBank], a - ld [MBC1RomBank], a - ret - -INCLUDE "data/items/marts.asm" - -TextScriptEndingChar:: - db "@" -TextScriptEnd:: - ld hl, TextScriptEndingChar - ret - -ExclamationText:: - TX_FAR _ExclamationText - db "@" - -GroundRoseText:: - TX_FAR _GroundRoseText - db "@" - -BoulderText:: - TX_FAR _BoulderText - db "@" - -MartSignText:: - TX_FAR _MartSignText - db "@" - -PokeCenterSignText:: - TX_FAR _PokeCenterSignText - db "@" - -PickUpItemText:: - TX_ASM - predef PickUpItem - jp TextScriptEnd - - -INCLUDE "home/pic.asm" - - -ResetPlayerSpriteData:: - ld hl, wSpriteStateData1 - call ResetPlayerSpriteData_ClearSpriteData - ld hl, wSpriteStateData2 - call ResetPlayerSpriteData_ClearSpriteData - ld a, $1 - ld [wSpriteStateData1], a - ld [wSpriteStateData2 + $0e], a - ld hl, wSpriteStateData1 + 4 - ld [hl], $3c ; set Y screen pos - inc hl - inc hl - ld [hl], $40 ; set X screen pos - ret - -; overwrites sprite data with zeroes -ResetPlayerSpriteData_ClearSpriteData:: - ld bc, $10 - xor a - jp FillMemory - -FadeOutAudio:: - ld a, [wAudioFadeOutControl] - and a ; currently fading out audio? - jr nz, .fadingOut - ld a, [wd72c] - bit 1, a - ret nz - ld a, $77 - ld [rNR50], a - ret -.fadingOut - ld a, [wAudioFadeOutCounter] - and a - jr z, .counterReachedZero - dec a - ld [wAudioFadeOutCounter], a - ret -.counterReachedZero - ld a, [wAudioFadeOutCounterReloadValue] - ld [wAudioFadeOutCounter], a - ld a, [rNR50] - and a ; has the volume reached 0? - jr z, .fadeOutComplete - ld b, a - and $f - dec a - ld c, a - ld a, b - and $f0 - swap a - dec a - swap a - or c - ld [rNR50], a - ret -.fadeOutComplete - ld a, [wAudioFadeOutControl] - ld b, a - xor a - ld [wAudioFadeOutControl], a - ld a, SFX_STOP_ALL_MUSIC - ld [wNewSoundID], a - call PlaySound - ld a, [wAudioSavedROMBank] - ld [wAudioROMBank], a - ld a, b - ld [wNewSoundID], a - jp PlaySound - -; this function is used to display sign messages, sprite dialog, etc. -; INPUT: [hSpriteIndexOrTextID] = sprite ID or text ID -DisplayTextID:: - ld a, [hLoadedROMBank] - push af - callba DisplayTextIDInit ; initialization - ld hl, wTextPredefFlag - bit 0, [hl] - res 0, [hl] - jr nz, .skipSwitchToMapBank - ld a, [wCurMap] - call SwitchToMapRomBank -.skipSwitchToMapBank - ld a, 30 ; half a second - ld [hFrameCounter], a ; used as joypad poll timer - ld hl, wMapTextPtr - ld a, [hli] - ld h, [hl] - ld l, a ; hl = map text pointer - ld d, $00 - ld a, [hSpriteIndexOrTextID] ; text ID - ld [wSpriteIndex], a - and a - jp z, DisplayStartMenu - cp TEXT_SAFARI_GAME_OVER - jp z, DisplaySafariGameOverText - cp TEXT_MON_FAINTED - jp z, DisplayPokemonFaintedText - cp TEXT_BLACKED_OUT - jp z, DisplayPlayerBlackedOutText - cp TEXT_REPEL_WORE_OFF - jp z, DisplayRepelWoreOffText - ld a, [wNumSprites] - ld e, a - ld a, [hSpriteIndexOrTextID] ; sprite ID - cp e - jr z, .spriteHandling - jr nc, .skipSpriteHandling -.spriteHandling -; get the text ID of the sprite - push hl - push de - push bc - callba UpdateSpriteFacingOffsetAndDelayMovement ; update the graphics of the sprite the player is talking to (to face the right direction) - pop bc - pop de - ld hl, wMapSpriteData ; NPC text entries - ld a, [hSpriteIndexOrTextID] - dec a - add a - add l - ld l, a - jr nc, .noCarry - inc h -.noCarry - inc hl - ld a, [hl] ; a = text ID of the sprite - pop hl -.skipSpriteHandling -; look up the address of the text in the map's text entries - dec a - ld e, a - sla e - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a ; hl = address of the text - ld a, [hl] ; a = first byte of text -; check first byte of text for special cases - cp $fe ; Pokemart NPC - jp z, DisplayPokemartDialogue - cp $ff ; Pokemon Center NPC - jp z, DisplayPokemonCenterDialogue - cp $fc ; Item Storage PC - jp z, FuncTX_ItemStoragePC - cp $fd ; Bill's PC - jp z, FuncTX_BillsPC - cp $f9 ; Pokemon Center PC - jp z, FuncTX_PokemonCenterPC - cp $f5 ; Vending Machine - jr nz, .notVendingMachine - callba VendingMachineMenu ; jump banks to vending machine routine - jr AfterDisplayingTextID -.notVendingMachine - cp $f7 ; prize menu - jp z, FuncTX_GameCornerPrizeMenu - cp $f6 ; cable connection NPC in Pokemon Center - jr nz, .notSpecialCase - callab CableClubNPC - jr AfterDisplayingTextID -.notSpecialCase - call PrintText_NoCreatingTextBox ; display the text - ld a, [wDoNotWaitForButtonPressAfterDisplayingText] - and a - jr nz, HoldTextDisplayOpen - -AfterDisplayingTextID:: - ld a, [wEnteringCableClub] - and a - jr nz, HoldTextDisplayOpen - call WaitForTextScrollButtonPress ; wait for a button press after displaying all the text - -; loop to hold the dialogue box open as long as the player keeps holding down the A button -HoldTextDisplayOpen:: - call Joypad - ld a, [hJoyHeld] - bit 0, a ; is the A button being pressed? - jr nz, HoldTextDisplayOpen - -CloseTextDisplay:: - ld a, [wCurMap] - call SwitchToMapRomBank - ld a, $90 - ld [hWY], a ; move the window off the screen - call DelayFrame - call LoadGBPal - xor a - ld [hAutoBGTransferEnabled], a ; disable continuous WRAM to VRAM transfer each V-blank -; loop to make sprites face the directions they originally faced before the dialogue - ld hl, wSpriteStateData2 + $19 - ld c, $0f - ld de, $0010 -.restoreSpriteFacingDirectionLoop - ld a, [hl] - dec h - ld [hl], a - inc h - add hl, de - dec c - jr nz, .restoreSpriteFacingDirectionLoop - ld a, BANK(InitMapSprites) - ld [hLoadedROMBank], a - ld [MBC1RomBank], a - call InitMapSprites ; reload sprite tile pattern data (since it was partially overwritten by text tile patterns) - ld hl, wFontLoaded - res 0, [hl] - ld a, [wd732] - bit 3, a ; used fly warp - call z, LoadPlayerSpriteGraphics - call LoadCurrentMapView - pop af - ld [hLoadedROMBank], a - ld [MBC1RomBank], a - jp UpdateSprites - -DisplayPokemartDialogue:: - push hl - ld hl, PokemartGreetingText - call PrintText - pop hl - inc hl - call LoadItemList - ld a, PRICEDITEMLISTMENU - ld [wListMenuID], a - ld a, [hLoadedROMBank] - push af - ld a, BANK(DisplayPokemartDialogue_) - ld [hLoadedROMBank], a - ld [MBC1RomBank], a - call DisplayPokemartDialogue_ - pop af - ld [hLoadedROMBank], a - ld [MBC1RomBank], a - jp AfterDisplayingTextID - -PokemartGreetingText:: - TX_FAR _PokemartGreetingText - db "@" - -LoadItemList:: - ld a, 1 - ld [wUpdateSpritesEnabled], a - ld a, h - ld [wItemListPointer], a - ld a, l - ld [wItemListPointer + 1], a - ld de, wItemList -.loop - ld a, [hli] - ld [de], a - inc de - cp $ff - jr nz, .loop - ret - -DisplayPokemonCenterDialogue:: -; zeroing these doesn't appear to serve any purpose - xor a - ld [hItemPrice], a - ld [hItemPrice + 1], a - ld [hItemPrice + 2], a - - inc hl - ld a, [hLoadedROMBank] - push af - ld a, BANK(DisplayPokemonCenterDialogue_) - ld [hLoadedROMBank], a - ld [MBC1RomBank], a - call DisplayPokemonCenterDialogue_ - pop af - ld [hLoadedROMBank], a - ld [MBC1RomBank], a - jp AfterDisplayingTextID - -DisplaySafariGameOverText:: - callab PrintSafariGameOverText - jp AfterDisplayingTextID - -DisplayPokemonFaintedText:: - ld hl, PokemonFaintedText - call PrintText - jp AfterDisplayingTextID - -PokemonFaintedText:: - TX_FAR _PokemonFaintedText - db "@" - -DisplayPlayerBlackedOutText:: - ld hl, PlayerBlackedOutText - call PrintText - ld a, [wd732] - res 5, a ; reset forced to use bike bit - ld [wd732], a - jp HoldTextDisplayOpen - -PlayerBlackedOutText:: - TX_FAR _PlayerBlackedOutText - db "@" - -DisplayRepelWoreOffText:: - ld hl, RepelWoreOffText - call PrintText - jp AfterDisplayingTextID - -RepelWoreOffText:: - TX_FAR _RepelWoreOffText - db "@" - -INCLUDE "home/start_menu.asm" - -; function to count how many bits are set in a string of bytes +; function to count how many bits are set in a string of bytes ; INPUT: ; hl = address of string of bytes ; b = length of string of bytes @@ -1204,740 +194,73 @@ CountSetBits:: srl e ld a, 0 adc c - ld c, a - dec d - jr nz, .innerLoop - dec b - jr nz, .loop - ld a, c - ld [wNumSetBits], a - ret - -; subtracts the amount the player paid from their money -; OUTPUT: carry = 0(success) or 1(fail because there is not enough money) -SubtractAmountPaidFromMoney:: - jpba SubtractAmountPaidFromMoney_ - -; adds the amount the player sold to their money -AddAmountSoldToMoney:: - ld de, wPlayerMoney + 2 - ld hl, hMoney + 2 ; total price of items - ld c, 3 ; length of money in bytes - predef AddBCDPredef ; add total price to money - ld a, MONEY_BOX - ld [wTextBoxID], a - call DisplayTextBoxID ; redraw money text box - ld a, SFX_PURCHASE - call PlaySoundWaitForCurrent - jp WaitForSoundToFinish - -; function to remove an item (in varying quantities) from the player's bag or PC box -; INPUT: -; HL = address of inventory (either wNumBagItems or wNumBoxItems) -; [wWhichPokemon] = index (within the inventory) of the item to remove -; [wItemQuantity] = quantity to remove -RemoveItemFromInventory:: - ld a, [hLoadedROMBank] - push af - ld a, BANK(RemoveItemFromInventory_) - ld [hLoadedROMBank], a - ld [MBC1RomBank], a - call RemoveItemFromInventory_ - pop af - ld [hLoadedROMBank], a - ld [MBC1RomBank], a - ret - -; function to add an item (in varying quantities) to the player's bag or PC box -; INPUT: -; HL = address of inventory (either wNumBagItems or wNumBoxItems) -; [wcf91] = item ID -; [wItemQuantity] = item quantity -; sets carry flag if successful, unsets carry flag if unsuccessful -AddItemToInventory:: - push bc - ld a, [hLoadedROMBank] - push af - ld a, BANK(AddItemToInventory_) - ld [hLoadedROMBank], a - ld [MBC1RomBank], a - call AddItemToInventory_ - pop bc - ld a, b - ld [hLoadedROMBank], a - ld [MBC1RomBank], a - pop bc - ret - -; INPUT: -; [wListMenuID] = list menu ID -; [wListPointer] = address of the list (2 bytes) -DisplayListMenuID:: - xor a - ld [hAutoBGTransferEnabled], a ; disable auto-transfer - ld a, 1 - ld [hJoy7], a ; joypad state update flag - ld a, [wBattleType] - and a ; is it the Old Man battle? - jr nz, .specialBattleType - ld a, $01 ; hardcoded bank - jr .bankswitch -.specialBattleType ; Old Man battle - ld a, BANK(DisplayBattleMenu) -.bankswitch - call BankswitchHome - ld hl, wd730 - set 6, [hl] ; turn off letter printing delay - xor a - ld [wMenuItemToSwap], a ; 0 means no item is currently being swapped - ld [wListCount], a - ld a, [wListPointer] - ld l, a - ld a, [wListPointer + 1] - ld h, a ; hl = address of the list - ld a, [hl] ; the first byte is the number of entries in the list - ld [wListCount], a - ld a, LIST_MENU_BOX - ld [wTextBoxID], a - call DisplayTextBoxID ; draw the menu text box - call UpdateSprites ; disable sprites behind the text box -; the code up to .skipMovingSprites appears to be useless - coord hl, 4, 2 ; coordinates of upper left corner of menu text box - lb de, 9, 14 ; height and width of menu text box - ld a, [wListMenuID] - and a ; is it a PC pokemon list? - jr nz, .skipMovingSprites - call UpdateSprites -.skipMovingSprites - ld a, 1 ; max menu item ID is 1 if the list has less than 2 entries - ld [wMenuWatchMovingOutOfBounds], a - ld a, [wListCount] - cp 2 ; does the list have less than 2 entries? - jr c, .setMenuVariables - ld a, 2 ; max menu item ID is 2 if the list has at least 2 entries -.setMenuVariables - ld [wMaxMenuItem], a - ld a, 4 - ld [wTopMenuItemY], a - ld a, 5 - ld [wTopMenuItemX], a - ld a, A_BUTTON | B_BUTTON | SELECT - ld [wMenuWatchedKeys], a - ld c, 10 - call DelayFrames - -DisplayListMenuIDLoop:: - xor a - ld [hAutoBGTransferEnabled], a ; disable transfer - call PrintListMenuEntries - ld a, 1 - ld [hAutoBGTransferEnabled], a ; enable transfer - call Delay3 - ld a, [wBattleType] - and a ; is it the Old Man battle? - jr z, .notOldManBattle -.oldManBattle - ld a, "▶" - Coorda 5, 4 ; place menu cursor in front of first menu entry - ld c, 80 - call DelayFrames - xor a - ld [wCurrentMenuItem], a - coord hl, 5, 4 - ld a, l - ld [wMenuCursorLocation], a - ld a, h - ld [wMenuCursorLocation + 1], a - jr .buttonAPressed -.notOldManBattle - call LoadGBPal - call HandleMenuInput - push af - call PlaceMenuCursor - pop af - bit 0, a ; was the A button pressed? - jp z, .checkOtherKeys -.buttonAPressed - ld a, [wCurrentMenuItem] - call PlaceUnfilledArrowMenuCursor - -; pointless because both values are overwritten before they are read - ld a, $01 - ld [wMenuExitMethod], a - ld [wChosenMenuItem], a - - xor a - ld [wMenuWatchMovingOutOfBounds], a - ld a, [wCurrentMenuItem] - ld c, a - ld a, [wListScrollOffset] - add c - ld c, a - ld a, [wListCount] - and a ; is the list empty? - jp z, ExitListMenu ; if so, exit the menu - dec a - cp c ; did the player select Cancel? - jp c, ExitListMenu ; if so, exit the menu - ld a, c - ld [wWhichPokemon], a - ld a, [wListMenuID] - cp ITEMLISTMENU - jr nz, .skipMultiplying -; if it's an item menu - sla c ; item entries are 2 bytes long, so multiply by 2 -.skipMultiplying - ld a, [wListPointer] - ld l, a - ld a, [wListPointer + 1] - ld h, a - inc hl ; hl = beginning of list entries - ld b, 0 - add hl, bc - ld a, [hl] - ld [wcf91], a - ld a, [wListMenuID] - and a ; is it a PC pokemon list? - jr z, .pokemonList - push hl - call GetItemPrice - pop hl - ld a, [wListMenuID] - cp ITEMLISTMENU - jr nz, .skipGettingQuantity -; if it's an item menu - inc hl - ld a, [hl] ; a = item quantity - ld [wMaxItemQuantity], a -.skipGettingQuantity - ld a, [wcf91] - ld [wd0b5], a - ld a, BANK(ItemNames) - ld [wPredefBank], a - call GetName - jr .storeChosenEntry -.pokemonList - ld hl, wPartyCount - ld a, [wListPointer] - cp l ; is it a list of party pokemon or box pokemon? - ld hl, wPartyMonNicks - jr z, .getPokemonName - ld hl, wBoxMonNicks ; box pokemon names -.getPokemonName - ld a, [wWhichPokemon] - call GetPartyMonName -.storeChosenEntry ; store the menu entry that the player chose and return - ld de, wcd6d - call CopyStringToCF4B ; copy name to wcf4b - ld a, CHOSE_MENU_ITEM - ld [wMenuExitMethod], a - ld a, [wCurrentMenuItem] - ld [wChosenMenuItem], a - xor a - ld [hJoy7], a ; joypad state update flag - ld hl, wd730 - res 6, [hl] ; turn on letter printing delay - jp BankswitchBack -.checkOtherKeys ; check B, SELECT, Up, and Down keys - bit 1, a ; was the B button pressed? - jp nz, ExitListMenu ; if so, exit the menu - bit 2, a ; was the select button pressed? - jp nz, HandleItemListSwapping ; if so, allow the player to swap menu entries - ld b, a - bit 7, b ; was Down pressed? - ld hl, wListScrollOffset - jr z, .upPressed -.downPressed - ld a, [hl] - add 3 - ld b, a - ld a, [wListCount] - cp b ; will going down scroll past the Cancel button? - jp c, DisplayListMenuIDLoop - inc [hl] ; if not, go down - jp DisplayListMenuIDLoop -.upPressed - ld a, [hl] - and a - jp z, DisplayListMenuIDLoop - dec [hl] - jp DisplayListMenuIDLoop - -DisplayChooseQuantityMenu:: -; text box dimensions/coordinates for just quantity - coord hl, 15, 9 - ld b, 1 ; height - ld c, 3 ; width - ld a, [wListMenuID] - cp PRICEDITEMLISTMENU - jr nz, .drawTextBox -; text box dimensions/coordinates for quantity and price - coord hl, 7, 9 - ld b, 1 ; height - ld c, 11 ; width -.drawTextBox - call TextBoxBorder - coord hl, 16, 10 - ld a, [wListMenuID] - cp PRICEDITEMLISTMENU - jr nz, .printInitialQuantity - coord hl, 8, 10 -.printInitialQuantity - ld de, InitialQuantityText - call PlaceString - xor a - ld [wItemQuantity], a ; initialize current quantity to 0 - jp .incrementQuantity -.waitForKeyPressLoop - call JoypadLowSensitivity - ld a, [hJoyPressed] ; newly pressed buttons - bit 0, a ; was the A button pressed? - jp nz, .buttonAPressed - bit 1, a ; was the B button pressed? - jp nz, .buttonBPressed - bit 6, a ; was Up pressed? - jr nz, .incrementQuantity - bit 7, a ; was Down pressed? - jr nz, .decrementQuantity - jr .waitForKeyPressLoop -.incrementQuantity - ld a, [wMaxItemQuantity] - inc a - ld b, a - ld hl, wItemQuantity ; current quantity - inc [hl] - ld a, [hl] - cp b - jr nz, .handleNewQuantity -; wrap to 1 if the player goes above the max quantity - ld a, 1 - ld [hl], a - jr .handleNewQuantity -.decrementQuantity - ld hl, wItemQuantity ; current quantity - dec [hl] - jr nz, .handleNewQuantity -; wrap to the max quantity if the player goes below 1 - ld a, [wMaxItemQuantity] - ld [hl], a -.handleNewQuantity - coord hl, 17, 10 - ld a, [wListMenuID] - cp PRICEDITEMLISTMENU - jr nz, .printQuantity -.printPrice - ld c, $03 - ld a, [wItemQuantity] - ld b, a - ld hl, hMoney ; total price -; initialize total price to 0 - xor a - ld [hli], a - ld [hli], a - ld [hl], a -.addLoop ; loop to multiply the individual price by the quantity to get the total price - ld de, hMoney + 2 - ld hl, hItemPrice + 2 - push bc - predef AddBCDPredef ; add the individual price to the current sum - pop bc - dec b - jr nz, .addLoop - ld a, [hHalveItemPrices] - and a ; should the price be halved (for selling items)? - jr z, .skipHalvingPrice - xor a - ld [hDivideBCDDivisor], a - ld [hDivideBCDDivisor + 1], a - ld a, $02 - ld [hDivideBCDDivisor + 2], a - predef DivideBCDPredef3 ; halves the price -; store the halved price - ld a, [hDivideBCDQuotient] - ld [hMoney], a - ld a, [hDivideBCDQuotient + 1] - ld [hMoney + 1], a - ld a, [hDivideBCDQuotient + 2] - ld [hMoney + 2], a -.skipHalvingPrice - coord hl, 12, 10 - ld de, SpacesBetweenQuantityAndPriceText - call PlaceString - ld de, hMoney ; total price - ld c, $a3 - call PrintBCDNumber - coord hl, 9, 10 -.printQuantity - ld de, wItemQuantity ; current quantity - lb bc, LEADING_ZEROES | 1, 2 ; 1 byte, 2 digits - call PrintNumber - jp .waitForKeyPressLoop -.buttonAPressed ; the player chose to make the transaction - xor a - ld [wMenuItemToSwap], a ; 0 means no item is currently being swapped - ret -.buttonBPressed ; the player chose to cancel the transaction - xor a - ld [wMenuItemToSwap], a ; 0 means no item is currently being swapped - ld a, $ff - ret - -InitialQuantityText:: - db "×01@" - -SpacesBetweenQuantityAndPriceText:: - db " @" - -ExitListMenu:: - ld a, [wCurrentMenuItem] - ld [wChosenMenuItem], a - ld a, CANCELLED_MENU - ld [wMenuExitMethod], a - ld [wMenuWatchMovingOutOfBounds], a - xor a - ld [hJoy7], a - ld hl, wd730 - res 6, [hl] - call BankswitchBack - xor a - ld [wMenuItemToSwap], a ; 0 means no item is currently being swapped - scf - ret - -PrintListMenuEntries:: - coord hl, 5, 3 - ld b, 9 - ld c, 14 - call ClearScreenArea - ld a, [wListPointer] - ld e, a - ld a, [wListPointer + 1] - ld d, a - inc de ; de = beginning of list entries - ld a, [wListScrollOffset] - ld c, a - ld a, [wListMenuID] - cp ITEMLISTMENU - ld a, c - jr nz, .skipMultiplying -; if it's an item menu -; item entries are 2 bytes long, so multiply by 2 - sla a - sla c -.skipMultiplying - add e - ld e, a - jr nc, .noCarry - inc d -.noCarry - coord hl, 6, 4 ; coordinates of first list entry name - ld b, 4 ; print 4 names -.loop - ld a, b - ld [wWhichPokemon], a - ld a, [de] - ld [wd11e], a - cp $ff - jp z, .printCancelMenuItem - push bc - push de - push hl - push hl - push de - ld a, [wListMenuID] - and a - jr z, .pokemonPCMenu - cp MOVESLISTMENU - jr z, .movesMenu -.itemMenu - call GetItemName - jr .placeNameString -.pokemonPCMenu - push hl - ld hl, wPartyCount - ld a, [wListPointer] - cp l ; is it a list of party pokemon or box pokemon? - ld hl, wPartyMonNicks - jr z, .getPokemonName - ld hl, wBoxMonNicks ; box pokemon names -.getPokemonName - ld a, [wWhichPokemon] - ld b, a - ld a, 4 - sub b - ld b, a - ld a, [wListScrollOffset] - add b - call GetPartyMonName - pop hl - jr .placeNameString -.movesMenu - call GetMoveName -.placeNameString - call PlaceString - pop de - pop hl - ld a, [wPrintItemPrices] - and a ; should prices be printed? - jr z, .skipPrintingItemPrice -.printItemPrice - push hl - ld a, [de] - ld de, ItemPrices - ld [wcf91], a - call GetItemPrice ; get price - pop hl - ld bc, SCREEN_WIDTH + 5 ; 1 row down and 5 columns right - add hl, bc - ld c, $a3 ; no leading zeroes, right-aligned, print currency symbol, 3 bytes - call PrintBCDNumber -.skipPrintingItemPrice - ld a, [wListMenuID] - and a - jr nz, .skipPrintingPokemonLevel -.printPokemonLevel - ld a, [wd11e] - push af - push hl - ld hl, wPartyCount - ld a, [wListPointer] - cp l ; is it a list of party pokemon or box pokemon? - ld a, PLAYER_PARTY_DATA - jr z, .next - ld a, BOX_DATA -.next - ld [wMonDataLocation], a - ld hl, wWhichPokemon - ld a, [hl] - ld b, a - ld a, $04 - sub b - ld b, a - ld a, [wListScrollOffset] - add b - ld [hl], a - call LoadMonData - ld a, [wMonDataLocation] - and a ; is it a list of party pokemon or box pokemon? - jr z, .skipCopyingLevel -.copyLevel - ld a, [wLoadedMonBoxLevel] - ld [wLoadedMonLevel], a -.skipCopyingLevel - pop hl - ld bc, $001c - add hl, bc - call PrintLevel - pop af - ld [wd11e], a -.skipPrintingPokemonLevel - pop hl - pop de - inc de - ld a, [wListMenuID] - cp ITEMLISTMENU - jr nz, .nextListEntry -.printItemQuantity - ld a, [wd11e] - ld [wcf91], a - call IsKeyItem ; check if item is unsellable - ld a, [wIsKeyItem] - and a ; is the item unsellable? - jr nz, .skipPrintingItemQuantity ; if so, don't print the quantity - push hl - ld bc, SCREEN_WIDTH + 8 ; 1 row down and 8 columns right - add hl, bc - ld a, "×" - ld [hli], a - ld a, [wd11e] - push af - ld a, [de] - ld [wMaxItemQuantity], a - push de - ld de, wd11e - ld [de], a - lb bc, 1, 2 - call PrintNumber - pop de - pop af - ld [wd11e], a - pop hl -.skipPrintingItemQuantity - inc de - pop bc - inc c - push bc - inc c - ld a, [wMenuItemToSwap] ; ID of item chosen for swapping (counts from 1) - and a ; is an item being swapped? - jr z, .nextListEntry - sla a - cp c ; is it this item? - jr nz, .nextListEntry - dec hl - ld a, $ec ; unfilled right arrow menu cursor to indicate an item being swapped - ld [hli], a -.nextListEntry - ld bc, 2 * SCREEN_WIDTH ; 2 rows - add hl, bc - pop bc - inc c + ld c, a + dec d + jr nz, .innerLoop dec b - jp nz, .loop - ld bc, -8 - add hl, bc - ld a, "▼" - ld [hl], a + jr nz, .loop + ld a, c + ld [wNumSetBits], a ret -.printCancelMenuItem - ld de, ListMenuCancelText - jp PlaceString -ListMenuCancelText:: - db "CANCEL@" +; subtracts the amount the player paid from their money +; OUTPUT: carry = 0(success) or 1(fail because there is not enough money) +SubtractAmountPaidFromMoney:: + jpba SubtractAmountPaidFromMoney_ -GetMonName:: - push hl +; adds the amount the player sold to their money +AddAmountSoldToMoney:: + ld de, wPlayerMoney + 2 + ld hl, hMoney + 2 ; total price of items + ld c, 3 ; length of money in bytes + predef AddBCDPredef ; add total price to money + ld a, MONEY_BOX + ld [wTextBoxID], a + call DisplayTextBoxID ; redraw money text box + ld a, SFX_PURCHASE + call PlaySoundWaitForCurrent + jp WaitForSoundToFinish + +; function to remove an item (in varying quantities) from the player's bag or PC box +; INPUT: +; HL = address of inventory (either wNumBagItems or wNumBoxItems) +; [wWhichPokemon] = index (within the inventory) of the item to remove +; [wItemQuantity] = quantity to remove +RemoveItemFromInventory:: ld a, [hLoadedROMBank] push af - ld a, BANK(MonsterNames) + ld a, BANK(RemoveItemFromInventory_) ld [hLoadedROMBank], a ld [MBC1RomBank], a - ld a, [wd11e] - dec a - ld hl, MonsterNames - ld c, 10 - ld b, 0 - call AddNTimes - ld de, wcd6d - push de - ld bc, 10 - call CopyData - ld hl, wcd6d + 10 - ld [hl], "@" - pop de + call RemoveItemFromInventory_ pop af ld [hLoadedROMBank], a ld [MBC1RomBank], a - pop hl - ret - -GetItemName:: -; given an item ID at [wd11e], store the name of the item into a string -; starting at wcd6d - push hl - push bc - ld a, [wd11e] - cp HM_01 ; is this a TM/HM? - jr nc, .Machine - - ld [wd0b5], a - ld a, ITEM_NAME - ld [wNameListType], a - ld a, BANK(ItemNames) - ld [wPredefBank], a - call GetName - jr .Finish - -.Machine - call GetMachineName -.Finish - ld de, wcd6d ; pointer to where item name is stored in RAM - pop bc - pop hl ret -GetMachineName:: -; copies the name of the TM/HM in [wd11e] to wcd6d - push hl - push de +; function to add an item (in varying quantities) to the player's bag or PC box +; INPUT: +; HL = address of inventory (either wNumBagItems or wNumBoxItems) +; [wcf91] = item ID +; [wItemQuantity] = item quantity +; sets carry flag if successful, unsets carry flag if unsuccessful +AddItemToInventory:: push bc - ld a, [wd11e] - push af - cp TM_01 ; is this a TM? [not HM] - jr nc, .WriteTM -; if HM, then write "HM" and add 5 to the item ID, so we can reuse the -; TM printing code - add 5 - ld [wd11e], a - ld hl, HiddenPrefix ; points to "HM" - ld bc, 2 - jr .WriteMachinePrefix -.WriteTM - ld hl, TechnicalPrefix ; points to "TM" - ld bc, 2 -.WriteMachinePrefix - ld de, wcd6d - call CopyData - -; now get the machine number and convert it to text - ld a, [wd11e] - sub TM_01 - 1 - ld b, "0" -.FirstDigit - sub 10 - jr c, .SecondDigit - inc b - jr .FirstDigit -.SecondDigit - add 10 + ld a, [hLoadedROMBank] push af + ld a, BANK(AddItemToInventory_) + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + call AddItemToInventory_ + pop bc ld a, b - ld [de], a - inc de - pop af - ld b, "0" - add b - ld [de], a - inc de - ld a, "@" - ld [de], a - pop af - ld [wd11e], a + ld [hLoadedROMBank], a + ld [MBC1RomBank], a pop bc - pop de - pop hl - ret - -TechnicalPrefix:: - db "TM" -HiddenPrefix:: - db "HM" - -; sets carry if item is HM, clears carry if item is not HM -; Input: a = item ID -IsItemHM:: - cp HM_01 - jr c, .notHM - cp TM_01 - ret -.notHM - and a ret -; sets carry if move is an HM, clears carry if move is not an HM -; Input: a = move ID -IsMoveHM:: - ld hl, HMMoves - ld de, 1 - jp IsInArray - -HMMoves:: - db CUT,FLY,SURF,STRENGTH,FLASH - db $ff ; terminator - -GetMoveName:: - push hl - ld a, MOVE_NAME - ld [wNameListType], a - ld a, [wd11e] - ld [wd0b5], a - ld a, BANK(MoveNames) - ld [wPredefBank], a - call GetName - ld de, wcd6d ; pointer to where move name is stored in RAM - pop hl - ret +INCLUDE "home/list_menu.asm" +INCLUDE "home/names.asm" ; reloads text box tile patterns, current map view, and tileset tile patterns ReloadMapData:: @@ -2103,442 +426,7 @@ EndNPCMovementScript:: EmptyFunc2:: ret -; stores hl in [wTrainerHeaderPtr] -StoreTrainerHeaderPointer:: - ld a, h - ld [wTrainerHeaderPtr], a - ld a, l - ld [wTrainerHeaderPtr+1], a - ret - -; executes the current map script from the function pointer array provided in hl. -; a: map script index to execute (unless overridden by [wd733] bit 4) -ExecuteCurMapScriptInTable:: - push af - push de - call StoreTrainerHeaderPointer - pop hl - pop af - push hl - ld hl, wFlags_D733 - bit 4, [hl] - res 4, [hl] - jr z, .useProvidedIndex ; test if map script index was overridden manually - ld a, [wCurMapScript] -.useProvidedIndex - pop hl - ld [wCurMapScript], a - call CallFunctionInTable - ld a, [wCurMapScript] - ret - -LoadGymLeaderAndCityName:: - push de - ld de, wGymCityName - ld bc, $11 - call CopyData ; load city name - pop hl - ld de, wGymLeaderName - ld bc, NAME_LENGTH - jp CopyData ; load gym leader name - -; reads specific information from trainer header (pointed to at wTrainerHeaderPtr) -; a: offset in header data -; 0 -> flag's bit (into wTrainerHeaderFlagBit) -; 2 -> flag's byte ptr (into hl) -; 4 -> before battle text (into hl) -; 6 -> after battle text (into hl) -; 8 -> end battle text (into hl) -ReadTrainerHeaderInfo:: - push de - push af - ld d, $0 - ld e, a - ld hl, wTrainerHeaderPtr - ld a, [hli] - ld l, [hl] - ld h, a - add hl, de - pop af - and a - jr nz, .nonZeroOffset - ld a, [hl] - ld [wTrainerHeaderFlagBit], a ; store flag's bit - jr .done -.nonZeroOffset - cp $2 - jr z, .readPointer ; read flag's byte ptr - cp $4 - jr z, .readPointer ; read before battle text - cp $6 - jr z, .readPointer ; read after battle text - cp $8 - jr z, .readPointer ; read end battle text - cp $a - jr nz, .done - ld a, [hli] ; read end battle text (2) but override the result afterwards (XXX why, bug?) - ld d, [hl] - ld e, a - jr .done -.readPointer - ld a, [hli] - ld h, [hl] - ld l, a -.done - pop de - ret - -TrainerFlagAction:: - predef_jump FlagActionPredef - -TalkToTrainer:: - call StoreTrainerHeaderPointer - xor a - call ReadTrainerHeaderInfo ; read flag's bit - ld a, $2 - call ReadTrainerHeaderInfo ; read flag's byte ptr - ld a, [wTrainerHeaderFlagBit] - ld c, a - ld b, FLAG_TEST - call TrainerFlagAction ; read trainer's flag - ld a, c - and a - jr z, .trainerNotYetFought ; test trainer's flag - ld a, $6 - call ReadTrainerHeaderInfo ; print after battle text - jp PrintText -.trainerNotYetFought - ld a, $4 - call ReadTrainerHeaderInfo ; print before battle text - call PrintText - ld a, $a - call ReadTrainerHeaderInfo ; (?) does nothing apparently (maybe bug in ReadTrainerHeaderInfo) - push de - ld a, $8 - call ReadTrainerHeaderInfo ; read end battle text - pop de - call SaveEndBattleTextPointers - ld hl, wFlags_D733 - set 4, [hl] ; activate map script index override (index is set below) - ld hl, wFlags_0xcd60 - bit 0, [hl] ; test if player is already engaging the trainer (because the trainer saw the player) - ret nz -; if the player talked to the trainer of his own volition - call EngageMapTrainer - ld hl, wCurMapScript - inc [hl] ; increment map script index before StartTrainerBattle increments it again (next script function is usually EndTrainerBattle) - jp StartTrainerBattle - -; checks if any trainers are seeing the player and wanting to fight -CheckFightingMapTrainers:: - call CheckForEngagingTrainers - ld a, [wSpriteIndex] - cp $ff - jr nz, .trainerEngaging - xor a - ld [wSpriteIndex], a - ld [wTrainerHeaderFlagBit], a - ret -.trainerEngaging - ld hl, wFlags_D733 - set 3, [hl] - ld [wEmotionBubbleSpriteIndex], a - xor a ; EXCLAMATION_BUBBLE - ld [wWhichEmotionBubble], a - predef EmotionBubble - ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN - ld [wJoyIgnore], a - xor a - ld [hJoyHeld], a - call TrainerWalkUpToPlayer_Bank0 - ld hl, wCurMapScript - inc [hl] ; increment map script index (next script function is usually DisplayEnemyTrainerTextAndStartBattle) - ret - -; display the before battle text after the enemy trainer has walked up to the player's sprite -DisplayEnemyTrainerTextAndStartBattle:: - ld a, [wd730] - and $1 - ret nz ; return if the enemy trainer hasn't finished walking to the player's sprite - ld [wJoyIgnore], a - ld a, [wSpriteIndex] - ld [hSpriteIndexOrTextID], a - call DisplayTextID - ; fall through - -StartTrainerBattle:: - xor a - ld [wJoyIgnore], a - call InitBattleEnemyParameters - ld hl, wd72d - set 6, [hl] - set 7, [hl] - ld hl, wd72e - set 1, [hl] - ld hl, wCurMapScript - inc [hl] ; increment map script index (next script function is usually EndTrainerBattle) - ret - -EndTrainerBattle:: - ld hl, wCurrentMapScriptFlags - set 5, [hl] - set 6, [hl] - ld hl, wd72d - res 7, [hl] - ld hl, wFlags_0xcd60 - res 0, [hl] ; player is no longer engaged by any trainer - ld a, [wIsInBattle] - cp $ff - jp z, ResetButtonPressedAndMapScript - ld a, $2 - call ReadTrainerHeaderInfo - ld a, [wTrainerHeaderFlagBit] - ld c, a - ld b, FLAG_SET - call TrainerFlagAction ; flag trainer as fought - ld a, [wEnemyMonOrTrainerClass] - cp OPP_ID_OFFSET - jr nc, .skipRemoveSprite ; test if trainer was fought (in that case skip removing the corresponding sprite) - ld hl, wMissableObjectList - ld de, $2 - ld a, [wSpriteIndex] - call IsInArray ; search for sprite ID - inc hl - ld a, [hl] - ld [wMissableObjectIndex], a ; load corresponding missable object index and remove it - predef HideObject -.skipRemoveSprite - ld hl, wd730 - bit 4, [hl] - res 4, [hl] - ret nz - -ResetButtonPressedAndMapScript:: - xor a - ld [wJoyIgnore], a - ld [hJoyHeld], a - ld [hJoyPressed], a - ld [hJoyReleased], a - ld [wCurMapScript], a ; reset battle status - ret - -; calls TrainerWalkUpToPlayer -TrainerWalkUpToPlayer_Bank0:: - jpba TrainerWalkUpToPlayer - -; sets opponent type and mon set/lvl based on the engaging trainer data -InitBattleEnemyParameters:: - ld a, [wEngagedTrainerClass] - ld [wCurOpponent], a - ld [wEnemyMonOrTrainerClass], a - cp OPP_ID_OFFSET - ld a, [wEngagedTrainerSet] - jr c, .noTrainer - ld [wTrainerNo], a - ret -.noTrainer - ld [wCurEnemyLVL], a - ret - -GetSpritePosition1:: - ld hl, _GetSpritePosition1 - jr SpritePositionBankswitch - -GetSpritePosition2:: - ld hl, _GetSpritePosition2 - jr SpritePositionBankswitch - -SetSpritePosition1:: - ld hl, _SetSpritePosition1 - jr SpritePositionBankswitch - -SetSpritePosition2:: - ld hl, _SetSpritePosition2 -SpritePositionBankswitch:: - ld b, BANK(_GetSpritePosition1) ; BANK(_GetSpritePosition2), BANK(_SetSpritePosition1), BANK(_SetSpritePosition2) - jp Bankswitch ; indirect jump to one of the four functions - -CheckForEngagingTrainers:: - xor a - call ReadTrainerHeaderInfo ; read trainer flag's bit (unused) - ld d, h ; store trainer header address in de - ld e, l -.trainerLoop - call StoreTrainerHeaderPointer ; set trainer header pointer to current trainer - ld a, [de] - ld [wSpriteIndex], a ; store trainer flag's bit - ld [wTrainerHeaderFlagBit], a - cp $ff - ret z - ld a, $2 - call ReadTrainerHeaderInfo ; read trainer flag's byte ptr - ld b, FLAG_TEST - ld a, [wTrainerHeaderFlagBit] - ld c, a - call TrainerFlagAction ; read trainer flag - ld a, c - and a ; has the trainer already been defeated? - jr nz, .continue - push hl - push de - push hl - xor a - call ReadTrainerHeaderInfo ; get trainer header pointer - inc hl - ld a, [hl] ; read trainer engage distance - pop hl - ld [wTrainerEngageDistance], a - ld a, [wSpriteIndex] - swap a - ld [wTrainerSpriteOffset], a - predef TrainerEngage - pop de - pop hl - ld a, [wTrainerSpriteOffset] - and a - ret nz ; break if the trainer is engaging -.continue - ld hl, $c - add hl, de - ld d, h - ld e, l - jr .trainerLoop - -; hl = text if the player wins -; de = text if the player loses -SaveEndBattleTextPointers:: - ld a, [hLoadedROMBank] - ld [wEndBattleTextRomBank], a - ld a, h - ld [wEndBattleWinTextPointer], a - ld a, l - ld [wEndBattleWinTextPointer + 1], a - ld a, d - ld [wEndBattleLoseTextPointer], a - ld a, e - ld [wEndBattleLoseTextPointer + 1], a - ret - -; loads data of some trainer on the current map and plays pre-battle music -; [wSpriteIndex]: sprite ID of trainer who is engaged -EngageMapTrainer:: - ld hl, wMapSpriteExtraData - ld d, $0 - ld a, [wSpriteIndex] - dec a - add a - ld e, a - add hl, de ; seek to engaged trainer data - ld a, [hli] ; load trainer class - ld [wEngagedTrainerClass], a - ld a, [hl] ; load trainer mon set - ld [wEngagedTrainerSet], a - jp PlayTrainerMusic - -PrintEndBattleText:: - push hl - ld hl, wd72d - bit 7, [hl] - res 7, [hl] - pop hl - ret z - ld a, [hLoadedROMBank] - push af - ld a, [wEndBattleTextRomBank] - ld [hLoadedROMBank], a - ld [MBC1RomBank], a - push hl - callba SaveTrainerName - ld hl, TrainerEndBattleText - call PrintText - pop hl - pop af - ld [hLoadedROMBank], a - ld [MBC1RomBank], a - callba FreezeEnemyTrainerSprite - jp WaitForSoundToFinish - -GetSavedEndBattleTextPointer:: - ld a, [wBattleResult] - and a -; won battle - jr nz, .lostBattle - ld a, [wEndBattleWinTextPointer] - ld h, a - ld a, [wEndBattleWinTextPointer + 1] - ld l, a - ret -.lostBattle - ld a, [wEndBattleLoseTextPointer] - ld h, a - ld a, [wEndBattleLoseTextPointer + 1] - ld l, a - ret - -TrainerEndBattleText:: - TX_FAR _TrainerNameText - TX_ASM - call GetSavedEndBattleTextPointer - call TextCommandProcessor - jp TextScriptEnd - -; only engage withe trainer if the player is not already -; engaged with another trainer -; XXX unused? -CheckIfAlreadyEngaged:: - ld a, [wFlags_0xcd60] - bit 0, a - ret nz - call EngageMapTrainer - xor a - ret - -PlayTrainerMusic:: - ld a, [wEngagedTrainerClass] - cp OPP_SONY1 - ret z - cp OPP_SONY2 - ret z - cp OPP_SONY3 - ret z - ld a, [wGymLeaderNo] - and a - ret nz - xor a - ld [wAudioFadeOutControl], a - ld a, SFX_STOP_ALL_MUSIC - call PlaySound - ld a, BANK(Music_MeetEvilTrainer) - ld [wAudioROMBank], a - ld [wAudioSavedROMBank], a - ld a, [wEngagedTrainerClass] - ld b, a - ld hl, EvilTrainerList -.evilTrainerListLoop - ld a, [hli] - cp $ff - jr z, .noEvilTrainer - cp b - jr nz, .evilTrainerListLoop - ld a, MUSIC_MEET_EVIL_TRAINER - jr .PlaySound -.noEvilTrainer - ld hl, FemaleTrainerList -.femaleTrainerListLoop - ld a, [hli] - cp $ff - jr z, .maleTrainer - cp b - jr nz, .femaleTrainerListLoop - ld a, MUSIC_MEET_FEMALE_TRAINER - jr .PlaySound -.maleTrainer - ld a, MUSIC_MEET_MALE_TRAINER -.PlaySound - ld [wNewSoundID], a - jp PlaySound - -INCLUDE "data/trainers/encounter_types.asm" +INCLUDE "home/trainers.asm" ; checks if the player's coordinates match an arrow movement tile's coordinates ; and if so, decodes the RLE movement data @@ -2841,83 +729,8 @@ HasEnoughCoins:: ld c, 2 jp StringCmp - -BankswitchHome:: -; switches to bank # in a -; Only use this when in the home bank! - ld [wBankswitchHomeTemp], a - ld a, [hLoadedROMBank] - ld [wBankswitchHomeSavedROMBank], a - ld a, [wBankswitchHomeTemp] - ld [hLoadedROMBank], a - ld [MBC1RomBank], a - ret - -BankswitchBack:: -; returns from BankswitchHome - ld a, [wBankswitchHomeSavedROMBank] - ld [hLoadedROMBank], a - ld [MBC1RomBank], a - ret - -Bankswitch:: -; self-contained bankswitch, use this when not in the home bank -; switches to the bank in b - ld a, [hLoadedROMBank] - push af - ld a, b - ld [hLoadedROMBank], a - ld [MBC1RomBank], a - ld bc, .Return - push bc - jp hl -.Return - pop bc - ld a, b - ld [hLoadedROMBank], a - ld [MBC1RomBank], a - ret - -; displays yes/no choice -; yes -> set carry -YesNoChoice:: - call SaveScreenTilesToBuffer1 - call InitYesNoTextBoxParameters - jr DisplayYesNoChoice - -Func_35f4:: - ld a, TWO_OPTION_MENU - ld [wTextBoxID], a - call InitYesNoTextBoxParameters - jp DisplayTextBoxID - -InitYesNoTextBoxParameters:: - xor a ; YES_NO_MENU - ld [wTwoOptionMenuID], a - coord hl, 14, 7 - ld bc, $80f - ret - -YesNoChoicePokeCenter:: - call SaveScreenTilesToBuffer1 - ld a, HEAL_CANCEL_MENU - ld [wTwoOptionMenuID], a - coord hl, 11, 6 - lb bc, 8, 12 - jr DisplayYesNoChoice - -WideYesNoChoice:: ; unused - call SaveScreenTilesToBuffer1 - ld a, WIDE_YES_NO_MENU - ld [wTwoOptionMenuID], a - coord hl, 12, 7 - lb bc, 8, 13 - -DisplayYesNoChoice:: - ld a, TWO_OPTION_MENU - ld [wTextBoxID], a - call DisplayTextBoxID - jp LoadScreenTilesFromBuffer1 +INCLUDE "home/bankswitch.asm" +INCLUDE "home/yes_no.asm" ; calculates the difference |a-b|, setting carry flag if a999) - cp 999 / $100 + 1 - jr nc, .overflow - cp 999 / $100 - jr c, .noOverflow - ld a, [hMultiplicand+2] - cp 999 % $100 + 1 - jr c, .noOverflow -.overflow - ld a, 999 / $100 ; overflow: cap at 999 - ld [hMultiplicand+1], a - ld a, 999 % $100 - ld [hMultiplicand+2], a -.noOverflow - pop bc - pop de - pop hl - ret - -AddEnemyMonToPlayerParty:: - ld a, [hLoadedROMBank] - push af - ld a, BANK(_AddEnemyMonToPlayerParty) - ld [hLoadedROMBank], a - ld [MBC1RomBank], a - call _AddEnemyMonToPlayerParty - pop bc - ld a, b - ld [hLoadedROMBank], a - ld [MBC1RomBank], a - ret - -MoveMon:: - ld a, [hLoadedROMBank] - push af - ld a, BANK(_MoveMon) - ld [hLoadedROMBank], a - ld [MBC1RomBank], a - call _MoveMon - pop bc - ld a, b - ld [hLoadedROMBank], a - ld [MBC1RomBank], a - ret +INCLUDE "home/move_mon.asm" ; skips a text entries, each of size NAME_LENGTH (like trainer name, OT name, rival name, ...) ; hl: base pointer, will be incremented by NAME_LENGTH * a @@ -4091,225 +1568,7 @@ PrintText_NoCreatingTextBox:: coord bc, 1, 14 jp TextCommandProcessor - -PrintNumber:: -; Print the c-digit, b-byte value at de. -; Allows 2 to 7 digits. For 1-digit numbers, add -; the value to char "0" instead of calling PrintNumber. -; Flags LEADING_ZEROES and LEFT_ALIGN can be given -; in bits 7 and 6 of b respectively. - push bc - xor a - ld [hPastLeadingZeros], a - ld [hNumToPrint], a - ld [hNumToPrint + 1], a - ld a, b - and $f - cp 1 - jr z, .byte - cp 2 - jr z, .word -.long - ld a, [de] - ld [hNumToPrint], a - inc de - ld a, [de] - ld [hNumToPrint + 1], a - inc de - ld a, [de] - ld [hNumToPrint + 2], a - jr .start - -.word - ld a, [de] - ld [hNumToPrint + 1], a - inc de - ld a, [de] - ld [hNumToPrint + 2], a - jr .start - -.byte - ld a, [de] - ld [hNumToPrint + 2], a - -.start - push de - - ld d, b - ld a, c - ld b, a - xor a - ld c, a - ld a, b - - cp 2 - jr z, .tens - cp 3 - jr z, .hundreds - cp 4 - jr z, .thousands - cp 5 - jr z, .ten_thousands - cp 6 - jr z, .hundred_thousands - -print_digit: macro - -if (\1) / $10000 - ld a, \1 / $10000 % $100 -else xor a -endc - ld [hPowerOf10 + 0], a - -if (\1) / $100 - ld a, \1 / $100 % $100 -else xor a -endc - ld [hPowerOf10 + 1], a - - ld a, \1 / $1 % $100 - ld [hPowerOf10 + 2], a - - call .PrintDigit - call .NextDigit -endm - -.millions print_digit 1000000 -.hundred_thousands print_digit 100000 -.ten_thousands print_digit 10000 -.thousands print_digit 1000 -.hundreds print_digit 100 - -.tens - ld c, 0 - ld a, [hNumToPrint + 2] -.mod - cp 10 - jr c, .ok - sub 10 - inc c - jr .mod -.ok - - ld b, a - ld a, [hPastLeadingZeros] - or c - ld [hPastLeadingZeros], a - jr nz, .past - call .PrintLeadingZero - jr .next -.past - ld a, "0" - add c - ld [hl], a -.next - - call .NextDigit -.ones - ld a, "0" - add b - ld [hli], a - pop de - dec de - pop bc - ret - -.PrintDigit: -; Divide by the current decimal place. -; Print the quotient, and keep the modulus. - ld c, 0 -.loop - ld a, [hPowerOf10] - ld b, a - ld a, [hNumToPrint] - ld [hSavedNumToPrint], a - cp b - jr c, .underflow0 - sub b - ld [hNumToPrint], a - ld a, [hPowerOf10 + 1] - ld b, a - ld a, [hNumToPrint + 1] - ld [hSavedNumToPrint + 1], a - cp b - jr nc, .noborrow1 - - ld a, [hNumToPrint] - or 0 - jr z, .underflow1 - dec a - ld [hNumToPrint], a - ld a, [hNumToPrint + 1] -.noborrow1 - - sub b - ld [hNumToPrint + 1], a - ld a, [hPowerOf10 + 2] - ld b, a - ld a, [hNumToPrint + 2] - ld [hSavedNumToPrint + 2], a - cp b - jr nc, .noborrow2 - - ld a, [hNumToPrint + 1] - and a - jr nz, .borrowed - - ld a, [hNumToPrint] - and a - jr z, .underflow2 - dec a - ld [hNumToPrint], a - xor a -.borrowed - - dec a - ld [hNumToPrint + 1], a - ld a, [hNumToPrint + 2] -.noborrow2 - sub b - ld [hNumToPrint + 2], a - inc c - jr .loop - -.underflow2 - ld a, [hSavedNumToPrint + 1] - ld [hNumToPrint + 1], a -.underflow1 - ld a, [hSavedNumToPrint] - ld [hNumToPrint], a -.underflow0 - ld a, [hPastLeadingZeros] - or c - jr z, .PrintLeadingZero - - ld a, "0" - add c - ld [hl], a - ld [hPastLeadingZeros], a - ret - -.PrintLeadingZero: - bit BIT_LEADING_ZEROES, d - ret z - ld [hl], "0" - ret - -.NextDigit: -; Increment unless the number is left-aligned, -; leading zeroes are not printed, and no digits -; have been printed yet. - bit BIT_LEADING_ZEROES, d - jr nz, .inc - bit BIT_LEFT_ALIGN, d - jr z, .inc - ld a, [hPastLeadingZeros] - and a - ret z -.inc - inc hl - ret - +INCLUDE "home/print_num.asm" CallFunctionInTable:: ; Call function a in jumptable hl. @@ -4333,7 +1592,6 @@ CallFunctionInTable:: pop hl ret - IsInArray:: ; Search an array at hl for the value in a. ; Entry size is de bytes. @@ -4360,7 +1618,6 @@ IsInRestOfArray:: scf ret - RestoreScreenTilesAndReloadTilePatterns:: call ClearSprites ld a, $1 @@ -4371,7 +1628,6 @@ RestoreScreenTilesAndReloadTilePatterns:: call RunDefaultPaletteCommand jr Delay3 - GBPalWhiteOutWithDelay3:: call GBPalWhiteOut @@ -4397,7 +1653,6 @@ GBPalWhiteOut:: ld [rOBP1], a ret - RunDefaultPaletteCommand:: ld b, $ff RunPaletteCommand:: @@ -4441,7 +1696,6 @@ ReloadMapSpriteTilePatterns:: call LoadFontTilePatterns jp UpdateSprites - GiveItem:: ; Give player quantity c of item b, ; and copy the item's name to wcf4b. @@ -4469,7 +1723,6 @@ GivePokemon:: ld [wMonDataLocation], a jpba _GivePokemon - Random:: ; Return a random number in a. ; For battles, use BattleRandom. @@ -4483,10 +1736,8 @@ Random:: pop hl ret - INCLUDE "home/predef.asm" - UpdateCinnabarGymGateTileBlocks:: jpba UpdateCinnabarGymGateTileBlocks_ @@ -4554,72 +1805,4 @@ SetMapTextPointer:: ld [wMapTextPtr + 1], a ret -TextPredefs:: -const_value = 1 - - add_tx_pre CardKeySuccessText ; 01 - add_tx_pre CardKeyFailText ; 02 - add_tx_pre RedBedroomPCText ; 03 - add_tx_pre RedBedroomSNESText ; 04 - add_tx_pre PushStartText ; 05 - add_tx_pre SaveOptionText ; 06 - add_tx_pre StrengthsAndWeaknessesText ; 07 - add_tx_pre OakLabEmailText ; 08 - add_tx_pre AerodactylFossilText ; 09 - add_tx_pre Route15UpstairsBinocularsText ; 0A - add_tx_pre KabutopsFossilText ; 0B - add_tx_pre GymStatueText1 ; 0C - add_tx_pre GymStatueText2 ; 0D - add_tx_pre BookcaseText ; 0E - add_tx_pre ViridianCityPokecenterBenchGuyText ; 0F - add_tx_pre PewterCityPokecenterBenchGuyText ; 10 - add_tx_pre CeruleanCityPokecenterBenchGuyText ; 11 - add_tx_pre LavenderCityPokecenterBenchGuyText ; 12 - add_tx_pre VermilionCityPokecenterBenchGuyText ; 13 - add_tx_pre CeladonCityPokecenterBenchGuyText ; 14 - add_tx_pre CeladonCityHotelText ; 15 - add_tx_pre FuchsiaCityPokecenterBenchGuyText ; 16 - add_tx_pre CinnabarIslandPokecenterBenchGuyText ; 17 - add_tx_pre SaffronCityPokecenterBenchGuyText ; 18 - add_tx_pre MtMoonPokecenterBenchGuyText ; 19 - add_tx_pre RockTunnelPokecenterBenchGuyText ; 1A - add_tx_pre UnusedBenchGuyText1 ; 1B XXX unused - add_tx_pre UnusedBenchGuyText2 ; 1C XXX unused - add_tx_pre UnusedBenchGuyText3 ; 1D XXX unused - add_tx_pre UnusedPredefText ; 1E XXX unused - add_tx_pre PokemonCenterPCText ; 1F - add_tx_pre ViridianSchoolNotebook ; 20 - add_tx_pre ViridianSchoolBlackboard ; 21 - add_tx_pre JustAMomentText ; 22 - add_tx_pre OpenBillsPCText ; 23 - add_tx_pre FoundHiddenItemText ; 24 - add_tx_pre HiddenItemBagFullText ; 25 XXX unused - add_tx_pre VermilionGymTrashText ; 26 - add_tx_pre IndigoPlateauHQText ; 27 - add_tx_pre GameCornerOutOfOrderText ; 28 - add_tx_pre GameCornerOutToLunchText ; 29 - add_tx_pre GameCornerSomeonesKeysText ; 2A - add_tx_pre FoundHiddenCoinsText ; 2B - add_tx_pre DroppedHiddenCoinsText ; 2C - add_tx_pre BillsHouseMonitorText ; 2D - add_tx_pre BillsHouseInitiatedText ; 2E - add_tx_pre BillsHousePokemonList ; 2F - add_tx_pre MagazinesText ; 30 - add_tx_pre CinnabarGymQuiz ; 31 - add_tx_pre GameCornerNoCoinsText ; 32 - add_tx_pre GameCornerCoinCaseText ; 33 - add_tx_pre LinkCableHelp ; 34 - add_tx_pre TMNotebook ; 35 - add_tx_pre FightingDojoText ; 36 - add_tx_pre EnemiesOnEverySideText ; 37 - add_tx_pre WhatGoesAroundComesAroundText ; 38 - add_tx_pre NewBicycleText ; 39 - add_tx_pre IndigoPlateauStatues ; 3A - add_tx_pre VermilionGymTrashSuccessText1 ; 3B - add_tx_pre VermilionGymTrashSuccessText2 ; 3C XXX unused - add_tx_pre VermilionGymTrashSuccessText3 ; 3D - add_tx_pre VermilionGymTrashFailText ; 3E - add_tx_pre TownMapText ; 3F - add_tx_pre BookOrSculptureText ; 40 - add_tx_pre ElevatorText ; 41 - add_tx_pre PokemonStuffText ; 42 +INCLUDE "data/text_predef_pointers.asm" diff --git a/home/bankswitch.asm b/home/bankswitch.asm new file mode 100644 index 00000000..086ca2f3 --- /dev/null +++ b/home/bankswitch.asm @@ -0,0 +1,35 @@ +BankswitchHome:: +; switches to bank # in a +; Only use this when in the home bank! + ld [wBankswitchHomeTemp], a + ld a, [hLoadedROMBank] + ld [wBankswitchHomeSavedROMBank], a + ld a, [wBankswitchHomeTemp] + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + ret + +BankswitchBack:: +; returns from BankswitchHome + ld a, [wBankswitchHomeSavedROMBank] + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + ret + +Bankswitch:: +; self-contained bankswitch, use this when not in the home bank +; switches to the bank in b + ld a, [hLoadedROMBank] + push af + ld a, b + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + ld bc, .Return + push bc + jp hl +.Return + pop bc + ld a, b + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + ret diff --git a/home/list_menu.asm b/home/list_menu.asm new file mode 100644 index 00000000..68335ed5 --- /dev/null +++ b/home/list_menu.asm @@ -0,0 +1,526 @@ +; INPUT: +; [wListMenuID] = list menu ID +; [wListPointer] = address of the list (2 bytes) +DisplayListMenuID:: + xor a + ld [hAutoBGTransferEnabled], a ; disable auto-transfer + ld a, 1 + ld [hJoy7], a ; joypad state update flag + ld a, [wBattleType] + and a ; is it the Old Man battle? + jr nz, .specialBattleType + ld a, $01 ; hardcoded bank + jr .bankswitch +.specialBattleType ; Old Man battle + ld a, BANK(DisplayBattleMenu) +.bankswitch + call BankswitchHome + ld hl, wd730 + set 6, [hl] ; turn off letter printing delay + xor a + ld [wMenuItemToSwap], a ; 0 means no item is currently being swapped + ld [wListCount], a + ld a, [wListPointer] + ld l, a + ld a, [wListPointer + 1] + ld h, a ; hl = address of the list + ld a, [hl] ; the first byte is the number of entries in the list + ld [wListCount], a + ld a, LIST_MENU_BOX + ld [wTextBoxID], a + call DisplayTextBoxID ; draw the menu text box + call UpdateSprites ; disable sprites behind the text box +; the code up to .skipMovingSprites appears to be useless + coord hl, 4, 2 ; coordinates of upper left corner of menu text box + lb de, 9, 14 ; height and width of menu text box + ld a, [wListMenuID] + and a ; is it a PC pokemon list? + jr nz, .skipMovingSprites + call UpdateSprites +.skipMovingSprites + ld a, 1 ; max menu item ID is 1 if the list has less than 2 entries + ld [wMenuWatchMovingOutOfBounds], a + ld a, [wListCount] + cp 2 ; does the list have less than 2 entries? + jr c, .setMenuVariables + ld a, 2 ; max menu item ID is 2 if the list has at least 2 entries +.setMenuVariables + ld [wMaxMenuItem], a + ld a, 4 + ld [wTopMenuItemY], a + ld a, 5 + ld [wTopMenuItemX], a + ld a, A_BUTTON | B_BUTTON | SELECT + ld [wMenuWatchedKeys], a + ld c, 10 + call DelayFrames + +DisplayListMenuIDLoop:: + xor a + ld [hAutoBGTransferEnabled], a ; disable transfer + call PrintListMenuEntries + ld a, 1 + ld [hAutoBGTransferEnabled], a ; enable transfer + call Delay3 + ld a, [wBattleType] + and a ; is it the Old Man battle? + jr z, .notOldManBattle +.oldManBattle + ld a, "▶" + Coorda 5, 4 ; place menu cursor in front of first menu entry + ld c, 80 + call DelayFrames + xor a + ld [wCurrentMenuItem], a + coord hl, 5, 4 + ld a, l + ld [wMenuCursorLocation], a + ld a, h + ld [wMenuCursorLocation + 1], a + jr .buttonAPressed +.notOldManBattle + call LoadGBPal + call HandleMenuInput + push af + call PlaceMenuCursor + pop af + bit 0, a ; was the A button pressed? + jp z, .checkOtherKeys +.buttonAPressed + ld a, [wCurrentMenuItem] + call PlaceUnfilledArrowMenuCursor + +; pointless because both values are overwritten before they are read + ld a, $01 + ld [wMenuExitMethod], a + ld [wChosenMenuItem], a + + xor a + ld [wMenuWatchMovingOutOfBounds], a + ld a, [wCurrentMenuItem] + ld c, a + ld a, [wListScrollOffset] + add c + ld c, a + ld a, [wListCount] + and a ; is the list empty? + jp z, ExitListMenu ; if so, exit the menu + dec a + cp c ; did the player select Cancel? + jp c, ExitListMenu ; if so, exit the menu + ld a, c + ld [wWhichPokemon], a + ld a, [wListMenuID] + cp ITEMLISTMENU + jr nz, .skipMultiplying +; if it's an item menu + sla c ; item entries are 2 bytes long, so multiply by 2 +.skipMultiplying + ld a, [wListPointer] + ld l, a + ld a, [wListPointer + 1] + ld h, a + inc hl ; hl = beginning of list entries + ld b, 0 + add hl, bc + ld a, [hl] + ld [wcf91], a + ld a, [wListMenuID] + and a ; is it a PC pokemon list? + jr z, .pokemonList + push hl + call GetItemPrice + pop hl + ld a, [wListMenuID] + cp ITEMLISTMENU + jr nz, .skipGettingQuantity +; if it's an item menu + inc hl + ld a, [hl] ; a = item quantity + ld [wMaxItemQuantity], a +.skipGettingQuantity + ld a, [wcf91] + ld [wd0b5], a + ld a, BANK(ItemNames) + ld [wPredefBank], a + call GetName + jr .storeChosenEntry +.pokemonList + ld hl, wPartyCount + ld a, [wListPointer] + cp l ; is it a list of party pokemon or box pokemon? + ld hl, wPartyMonNicks + jr z, .getPokemonName + ld hl, wBoxMonNicks ; box pokemon names +.getPokemonName + ld a, [wWhichPokemon] + call GetPartyMonName +.storeChosenEntry ; store the menu entry that the player chose and return + ld de, wcd6d + call CopyStringToCF4B ; copy name to wcf4b + ld a, CHOSE_MENU_ITEM + ld [wMenuExitMethod], a + ld a, [wCurrentMenuItem] + ld [wChosenMenuItem], a + xor a + ld [hJoy7], a ; joypad state update flag + ld hl, wd730 + res 6, [hl] ; turn on letter printing delay + jp BankswitchBack +.checkOtherKeys ; check B, SELECT, Up, and Down keys + bit 1, a ; was the B button pressed? + jp nz, ExitListMenu ; if so, exit the menu + bit 2, a ; was the select button pressed? + jp nz, HandleItemListSwapping ; if so, allow the player to swap menu entries + ld b, a + bit 7, b ; was Down pressed? + ld hl, wListScrollOffset + jr z, .upPressed +.downPressed + ld a, [hl] + add 3 + ld b, a + ld a, [wListCount] + cp b ; will going down scroll past the Cancel button? + jp c, DisplayListMenuIDLoop + inc [hl] ; if not, go down + jp DisplayListMenuIDLoop +.upPressed + ld a, [hl] + and a + jp z, DisplayListMenuIDLoop + dec [hl] + jp DisplayListMenuIDLoop + +DisplayChooseQuantityMenu:: +; text box dimensions/coordinates for just quantity + coord hl, 15, 9 + ld b, 1 ; height + ld c, 3 ; width + ld a, [wListMenuID] + cp PRICEDITEMLISTMENU + jr nz, .drawTextBox +; text box dimensions/coordinates for quantity and price + coord hl, 7, 9 + ld b, 1 ; height + ld c, 11 ; width +.drawTextBox + call TextBoxBorder + coord hl, 16, 10 + ld a, [wListMenuID] + cp PRICEDITEMLISTMENU + jr nz, .printInitialQuantity + coord hl, 8, 10 +.printInitialQuantity + ld de, InitialQuantityText + call PlaceString + xor a + ld [wItemQuantity], a ; initialize current quantity to 0 + jp .incrementQuantity +.waitForKeyPressLoop + call JoypadLowSensitivity + ld a, [hJoyPressed] ; newly pressed buttons + bit 0, a ; was the A button pressed? + jp nz, .buttonAPressed + bit 1, a ; was the B button pressed? + jp nz, .buttonBPressed + bit 6, a ; was Up pressed? + jr nz, .incrementQuantity + bit 7, a ; was Down pressed? + jr nz, .decrementQuantity + jr .waitForKeyPressLoop +.incrementQuantity + ld a, [wMaxItemQuantity] + inc a + ld b, a + ld hl, wItemQuantity ; current quantity + inc [hl] + ld a, [hl] + cp b + jr nz, .handleNewQuantity +; wrap to 1 if the player goes above the max quantity + ld a, 1 + ld [hl], a + jr .handleNewQuantity +.decrementQuantity + ld hl, wItemQuantity ; current quantity + dec [hl] + jr nz, .handleNewQuantity +; wrap to the max quantity if the player goes below 1 + ld a, [wMaxItemQuantity] + ld [hl], a +.handleNewQuantity + coord hl, 17, 10 + ld a, [wListMenuID] + cp PRICEDITEMLISTMENU + jr nz, .printQuantity +.printPrice + ld c, $03 + ld a, [wItemQuantity] + ld b, a + ld hl, hMoney ; total price +; initialize total price to 0 + xor a + ld [hli], a + ld [hli], a + ld [hl], a +.addLoop ; loop to multiply the individual price by the quantity to get the total price + ld de, hMoney + 2 + ld hl, hItemPrice + 2 + push bc + predef AddBCDPredef ; add the individual price to the current sum + pop bc + dec b + jr nz, .addLoop + ld a, [hHalveItemPrices] + and a ; should the price be halved (for selling items)? + jr z, .skipHalvingPrice + xor a + ld [hDivideBCDDivisor], a + ld [hDivideBCDDivisor + 1], a + ld a, $02 + ld [hDivideBCDDivisor + 2], a + predef DivideBCDPredef3 ; halves the price +; store the halved price + ld a, [hDivideBCDQuotient] + ld [hMoney], a + ld a, [hDivideBCDQuotient + 1] + ld [hMoney + 1], a + ld a, [hDivideBCDQuotient + 2] + ld [hMoney + 2], a +.skipHalvingPrice + coord hl, 12, 10 + ld de, SpacesBetweenQuantityAndPriceText + call PlaceString + ld de, hMoney ; total price + ld c, $a3 + call PrintBCDNumber + coord hl, 9, 10 +.printQuantity + ld de, wItemQuantity ; current quantity + lb bc, LEADING_ZEROES | 1, 2 ; 1 byte, 2 digits + call PrintNumber + jp .waitForKeyPressLoop +.buttonAPressed ; the player chose to make the transaction + xor a + ld [wMenuItemToSwap], a ; 0 means no item is currently being swapped + ret +.buttonBPressed ; the player chose to cancel the transaction + xor a + ld [wMenuItemToSwap], a ; 0 means no item is currently being swapped + ld a, $ff + ret + +InitialQuantityText:: + db "×01@" + +SpacesBetweenQuantityAndPriceText:: + db " @" + +ExitListMenu:: + ld a, [wCurrentMenuItem] + ld [wChosenMenuItem], a + ld a, CANCELLED_MENU + ld [wMenuExitMethod], a + ld [wMenuWatchMovingOutOfBounds], a + xor a + ld [hJoy7], a + ld hl, wd730 + res 6, [hl] + call BankswitchBack + xor a + ld [wMenuItemToSwap], a ; 0 means no item is currently being swapped + scf + ret + +PrintListMenuEntries:: + coord hl, 5, 3 + ld b, 9 + ld c, 14 + call ClearScreenArea + ld a, [wListPointer] + ld e, a + ld a, [wListPointer + 1] + ld d, a + inc de ; de = beginning of list entries + ld a, [wListScrollOffset] + ld c, a + ld a, [wListMenuID] + cp ITEMLISTMENU + ld a, c + jr nz, .skipMultiplying +; if it's an item menu +; item entries are 2 bytes long, so multiply by 2 + sla a + sla c +.skipMultiplying + add e + ld e, a + jr nc, .noCarry + inc d +.noCarry + coord hl, 6, 4 ; coordinates of first list entry name + ld b, 4 ; print 4 names +.loop + ld a, b + ld [wWhichPokemon], a + ld a, [de] + ld [wd11e], a + cp $ff + jp z, .printCancelMenuItem + push bc + push de + push hl + push hl + push de + ld a, [wListMenuID] + and a + jr z, .pokemonPCMenu + cp MOVESLISTMENU + jr z, .movesMenu +.itemMenu + call GetItemName + jr .placeNameString +.pokemonPCMenu + push hl + ld hl, wPartyCount + ld a, [wListPointer] + cp l ; is it a list of party pokemon or box pokemon? + ld hl, wPartyMonNicks + jr z, .getPokemonName + ld hl, wBoxMonNicks ; box pokemon names +.getPokemonName + ld a, [wWhichPokemon] + ld b, a + ld a, 4 + sub b + ld b, a + ld a, [wListScrollOffset] + add b + call GetPartyMonName + pop hl + jr .placeNameString +.movesMenu + call GetMoveName +.placeNameString + call PlaceString + pop de + pop hl + ld a, [wPrintItemPrices] + and a ; should prices be printed? + jr z, .skipPrintingItemPrice +.printItemPrice + push hl + ld a, [de] + ld de, ItemPrices + ld [wcf91], a + call GetItemPrice ; get price + pop hl + ld bc, SCREEN_WIDTH + 5 ; 1 row down and 5 columns right + add hl, bc + ld c, $a3 ; no leading zeroes, right-aligned, print currency symbol, 3 bytes + call PrintBCDNumber +.skipPrintingItemPrice + ld a, [wListMenuID] + and a + jr nz, .skipPrintingPokemonLevel +.printPokemonLevel + ld a, [wd11e] + push af + push hl + ld hl, wPartyCount + ld a, [wListPointer] + cp l ; is it a list of party pokemon or box pokemon? + ld a, PLAYER_PARTY_DATA + jr z, .next + ld a, BOX_DATA +.next + ld [wMonDataLocation], a + ld hl, wWhichPokemon + ld a, [hl] + ld b, a + ld a, $04 + sub b + ld b, a + ld a, [wListScrollOffset] + add b + ld [hl], a + call LoadMonData + ld a, [wMonDataLocation] + and a ; is it a list of party pokemon or box pokemon? + jr z, .skipCopyingLevel +.copyLevel + ld a, [wLoadedMonBoxLevel] + ld [wLoadedMonLevel], a +.skipCopyingLevel + pop hl + ld bc, $001c + add hl, bc + call PrintLevel + pop af + ld [wd11e], a +.skipPrintingPokemonLevel + pop hl + pop de + inc de + ld a, [wListMenuID] + cp ITEMLISTMENU + jr nz, .nextListEntry +.printItemQuantity + ld a, [wd11e] + ld [wcf91], a + call IsKeyItem ; check if item is unsellable + ld a, [wIsKeyItem] + and a ; is the item unsellable? + jr nz, .skipPrintingItemQuantity ; if so, don't print the quantity + push hl + ld bc, SCREEN_WIDTH + 8 ; 1 row down and 8 columns right + add hl, bc + ld a, "×" + ld [hli], a + ld a, [wd11e] + push af + ld a, [de] + ld [wMaxItemQuantity], a + push de + ld de, wd11e + ld [de], a + lb bc, 1, 2 + call PrintNumber + pop de + pop af + ld [wd11e], a + pop hl +.skipPrintingItemQuantity + inc de + pop bc + inc c + push bc + inc c + ld a, [wMenuItemToSwap] ; ID of item chosen for swapping (counts from 1) + and a ; is an item being swapped? + jr z, .nextListEntry + sla a + cp c ; is it this item? + jr nz, .nextListEntry + dec hl + ld a, $ec ; unfilled right arrow menu cursor to indicate an item being swapped + ld [hli], a +.nextListEntry + ld bc, 2 * SCREEN_WIDTH ; 2 rows + add hl, bc + pop bc + inc c + dec b + jp nz, .loop + ld bc, -8 + add hl, bc + ld a, "▼" + ld [hl], a + ret +.printCancelMenuItem + ld de, ListMenuCancelText + jp PlaceString + +ListMenuCancelText:: + db "CANCEL@" diff --git a/home/move_mon.asm b/home/move_mon.asm new file mode 100644 index 00000000..e13ebf4e --- /dev/null +++ b/home/move_mon.asm @@ -0,0 +1,242 @@ +; Function to remove a pokemon from the party or the current box. +; wWhichPokemon determines the pokemon. +; [wRemoveMonFromBox] == 0 specifies the party. +; [wRemoveMonFromBox] != 0 specifies the current box. +RemovePokemon:: + jpab _RemovePokemon + +AddPartyMon:: + push hl + push de + push bc + callba _AddPartyMon + pop bc + pop de + pop hl + ret + +; calculates all 5 stats of current mon and writes them to [de] +CalcStats:: + ld c, $0 +.statsLoop + inc c + call CalcStat + ld a, [hMultiplicand+1] + ld [de], a + inc de + ld a, [hMultiplicand+2] + ld [de], a + inc de + ld a, c + cp NUM_STATS + jr nz, .statsLoop + ret + +; calculates stat c of current mon +; c: stat to calc (HP=1,Atk=2,Def=3,Spd=4,Spc=5) +; b: consider stat exp? +; hl: base ptr to stat exp values ([hl + 2*c - 1] and [hl + 2*c]) +CalcStat:: + push hl + push de + push bc + ld a, b + ld d, a + push hl + ld hl, wMonHeader + ld b, $0 + add hl, bc + ld a, [hl] ; read base value of stat + ld e, a + pop hl + push hl + sla c + ld a, d + and a + jr z, .statExpDone ; consider stat exp? + add hl, bc ; skip to corresponding stat exp value +.statExpLoop ; calculates ceil(Sqrt(stat exp)) in b + xor a + ld [hMultiplicand], a + ld [hMultiplicand+1], a + inc b ; increment current stat exp bonus + ld a, b + cp $ff + jr z, .statExpDone + ld [hMultiplicand+2], a + ld [hMultiplier], a + call Multiply + ld a, [hld] + ld d, a + ld a, [hProduct + 3] + sub d + ld a, [hli] + ld d, a + ld a, [hProduct + 2] + sbc d ; test if (current stat exp bonus)^2 < stat exp + jr c, .statExpLoop +.statExpDone + srl c + pop hl + push bc + ld bc, wPartyMon1DVs - (wPartyMon1HPExp - 1) ; also wEnemyMonDVs - wEnemyMonHP + add hl, bc + pop bc + ld a, c + cp $2 + jr z, .getAttackIV + cp $3 + jr z, .getDefenseIV + cp $4 + jr z, .getSpeedIV + cp $5 + jr z, .getSpecialIV +.getHpIV + push bc + ld a, [hl] ; Atk IV + swap a + and $1 + sla a + sla a + sla a + ld b, a + ld a, [hli] ; Def IV + and $1 + sla a + sla a + add b + ld b, a + ld a, [hl] ; Spd IV + swap a + and $1 + sla a + add b + ld b, a + ld a, [hl] ; Spc IV + and $1 + add b ; HP IV: LSB of the other 4 IVs + pop bc + jr .calcStatFromIV +.getAttackIV + ld a, [hl] + swap a + and $f + jr .calcStatFromIV +.getDefenseIV + ld a, [hl] + and $f + jr .calcStatFromIV +.getSpeedIV + inc hl + ld a, [hl] + swap a + and $f + jr .calcStatFromIV +.getSpecialIV + inc hl + ld a, [hl] + and $f +.calcStatFromIV + ld d, $0 + add e + ld e, a + jr nc, .noCarry + inc d ; de = Base + IV +.noCarry + sla e + rl d ; de = (Base + IV) * 2 + srl b + srl b ; b = ceil(Sqrt(stat exp)) / 4 + ld a, b + add e + jr nc, .noCarry2 + inc d ; de = (Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4 +.noCarry2 + ld [hMultiplicand+2], a + ld a, d + ld [hMultiplicand+1], a + xor a + ld [hMultiplicand], a + ld a, [wCurEnemyLVL] + ld [hMultiplier], a + call Multiply ; ((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level + ld a, [hMultiplicand] + ld [hDividend], a + ld a, [hMultiplicand+1] + ld [hDividend+1], a + ld a, [hMultiplicand+2] + ld [hDividend+2], a + ld a, $64 + ld [hDivisor], a + ld a, $3 + ld b, a + call Divide ; (((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level) / 100 + ld a, c + cp $1 + ld a, 5 ; + 5 for non-HP stat + jr nz, .notHPStat + ld a, [wCurEnemyLVL] + ld b, a + ld a, [hMultiplicand+2] + add b + ld [hMultiplicand+2], a + jr nc, .noCarry3 + ld a, [hMultiplicand+1] + inc a + ld [hMultiplicand+1], a ; HP: (((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level) / 100 + Level +.noCarry3 + ld a, 10 ; +10 for HP stat +.notHPStat + ld b, a + ld a, [hMultiplicand+2] + add b + ld [hMultiplicand+2], a + jr nc, .noCarry4 + ld a, [hMultiplicand+1] + inc a ; non-HP: (((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level) / 100 + 5 + ld [hMultiplicand+1], a ; HP: (((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level) / 100 + Level + 10 +.noCarry4 + ld a, [hMultiplicand+1] ; check for overflow (>999) + cp 999 / $100 + 1 + jr nc, .overflow + cp 999 / $100 + jr c, .noOverflow + ld a, [hMultiplicand+2] + cp 999 % $100 + 1 + jr c, .noOverflow +.overflow + ld a, 999 / $100 ; overflow: cap at 999 + ld [hMultiplicand+1], a + ld a, 999 % $100 + ld [hMultiplicand+2], a +.noOverflow + pop bc + pop de + pop hl + ret + +AddEnemyMonToPlayerParty:: + ld a, [hLoadedROMBank] + push af + ld a, BANK(_AddEnemyMonToPlayerParty) + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + call _AddEnemyMonToPlayerParty + pop bc + ld a, b + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + ret + +MoveMon:: + ld a, [hLoadedROMBank] + push af + ld a, BANK(_MoveMon) + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + call _MoveMon + pop bc + ld a, b + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + ret diff --git a/home/names.asm b/home/names.asm new file mode 100644 index 00000000..cbc8910b --- /dev/null +++ b/home/names.asm @@ -0,0 +1,141 @@ +GetMonName:: + push hl + ld a, [hLoadedROMBank] + push af + ld a, BANK(MonsterNames) + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + ld a, [wd11e] + dec a + ld hl, MonsterNames + ld c, 10 + ld b, 0 + call AddNTimes + ld de, wcd6d + push de + ld bc, 10 + call CopyData + ld hl, wcd6d + 10 + ld [hl], "@" + pop de + pop af + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + pop hl + ret + +GetItemName:: +; given an item ID at [wd11e], store the name of the item into a string +; starting at wcd6d + push hl + push bc + ld a, [wd11e] + cp HM_01 ; is this a TM/HM? + jr nc, .Machine + + ld [wd0b5], a + ld a, ITEM_NAME + ld [wNameListType], a + ld a, BANK(ItemNames) + ld [wPredefBank], a + call GetName + jr .Finish + +.Machine + call GetMachineName +.Finish + ld de, wcd6d ; pointer to where item name is stored in RAM + pop bc + pop hl + ret + +GetMachineName:: +; copies the name of the TM/HM in [wd11e] to wcd6d + push hl + push de + push bc + ld a, [wd11e] + push af + cp TM_01 ; is this a TM? [not HM] + jr nc, .WriteTM +; if HM, then write "HM" and add 5 to the item ID, so we can reuse the +; TM printing code + add 5 + ld [wd11e], a + ld hl, HiddenPrefix ; points to "HM" + ld bc, 2 + jr .WriteMachinePrefix +.WriteTM + ld hl, TechnicalPrefix ; points to "TM" + ld bc, 2 +.WriteMachinePrefix + ld de, wcd6d + call CopyData + +; now get the machine number and convert it to text + ld a, [wd11e] + sub TM_01 - 1 + ld b, "0" +.FirstDigit + sub 10 + jr c, .SecondDigit + inc b + jr .FirstDigit +.SecondDigit + add 10 + push af + ld a, b + ld [de], a + inc de + pop af + ld b, "0" + add b + ld [de], a + inc de + ld a, "@" + ld [de], a + pop af + ld [wd11e], a + pop bc + pop de + pop hl + ret + +TechnicalPrefix:: + db "TM" +HiddenPrefix:: + db "HM" + +; sets carry if item is HM, clears carry if item is not HM +; Input: a = item ID +IsItemHM:: + cp HM_01 + jr c, .notHM + cp TM_01 + ret +.notHM + and a + ret + +; sets carry if move is an HM, clears carry if move is not an HM +; Input: a = move ID +IsMoveHM:: + ld hl, HMMoves + ld de, 1 + jp IsInArray + +HMMoves:: +INCLUDE "data/moves/hm_moves.asm" + +GetMoveName:: + push hl + ld a, MOVE_NAME + ld [wNameListType], a + ld a, [wd11e] + ld [wd0b5], a + ld a, BANK(MoveNames) + ld [wPredefBank], a + call GetName + ld de, wcd6d ; pointer to where move name is stored in RAM + pop hl + ret diff --git a/home/names2.asm b/home/names2.asm new file mode 100644 index 00000000..178a0780 --- /dev/null +++ b/home/names2.asm @@ -0,0 +1,93 @@ +NamePointers:: + dw MonsterNames + dw MoveNames + dw UnusedNames + dw ItemNames + dw wPartyMonOT ; player's OT names list + dw wEnemyMonOT ; enemy's OT names list + dw TrainerNames + +GetName:: +; arguments: +; [wd0b5] = which name +; [wNameListType] = which list +; [wPredefBank] = bank of list +; +; returns pointer to name in de + ld a, [wd0b5] + ld [wd11e], a + + ; TM names are separate from item names. + ; BUG: This applies to all names instead of just items. + cp HM_01 + jp nc, GetMachineName + + ld a, [hLoadedROMBank] + push af + push hl + push bc + push de + ld a, [wNameListType] ;List3759_entrySelector + dec a + jr nz, .otherEntries + ;1 = MON_NAMES + call GetMonName + ld hl, NAME_LENGTH + add hl, de + ld e, l + ld d, h + jr .gotPtr +.otherEntries + ;2-7 = OTHER ENTRIES + ld a, [wPredefBank] + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + ld a, [wNameListType] ;VariousNames' entryID + dec a + add a + ld d, 0 + ld e, a + jr nc, .skip + inc d +.skip + ld hl, NamePointers + add hl, de + ld a, [hli] + ld [hSwapTemp + 1], a + ld a, [hl] + ld [hSwapTemp], a + ld a, [hSwapTemp] + ld h, a + ld a, [hSwapTemp + 1] + ld l, a + ld a, [wd0b5] + ld b, a + ld c, 0 +.nextName + ld d, h + ld e, l +.nextChar + ld a, [hli] + cp "@" + jr nz, .nextChar + inc c ;entry counter + ld a, b ;wanted entry + cp c + jr nz, .nextName + ld h, d + ld l, e + ld de, wcd6d + ld bc, $0014 + call CopyData +.gotPtr + ld a, e + ld [wUnusedCF8D], a + ld a, d + ld [wUnusedCF8D + 1], a + pop de + pop bc + pop hl + pop af + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + ret diff --git a/home/overworld_text.asm b/home/overworld_text.asm new file mode 100644 index 00000000..b32335f7 --- /dev/null +++ b/home/overworld_text.asm @@ -0,0 +1,31 @@ +TextScriptEndingChar:: + db "@" + +TextScriptEnd:: + ld hl, TextScriptEndingChar + ret + +ExclamationText:: + TX_FAR _ExclamationText + db "@" + +GroundRoseText:: + TX_FAR _GroundRoseText + db "@" + +BoulderText:: + TX_FAR _BoulderText + db "@" + +MartSignText:: + TX_FAR _MartSignText + db "@" + +PokeCenterSignText:: + TX_FAR _PokeCenterSignText + db "@" + +PickUpItemText:: + TX_ASM + predef PickUpItem + jp TextScriptEnd diff --git a/home/pokemon.asm b/home/pokemon.asm new file mode 100644 index 00000000..141baa65 --- /dev/null +++ b/home/pokemon.asm @@ -0,0 +1,464 @@ +DrawHPBar:: +; Draw an HP bar d tiles long, and fill it to e pixels. +; If c is nonzero, show at least a sliver regardless. +; The right end of the bar changes with [wHPBarType]. + + push hl + push de + push bc + + ; Left + ld a, $71 ; "HP:" + ld [hli], a + ld a, $62 + ld [hli], a + + push hl + + ; Middle + ld a, $63 ; empty +.draw + ld [hli], a + dec d + jr nz, .draw + + ; Right + ld a, [wHPBarType] + dec a + ld a, $6d ; status screen and battle + jr z, .ok + dec a ; pokemon menu +.ok + ld [hl], a + + pop hl + + ld a, e + and a + jr nz, .fill + + ; If c is nonzero, draw a pixel anyway. + ld a, c + and a + jr z, .done + ld e, 1 + +.fill + ld a, e + sub 8 + jr c, .partial + ld e, a + ld a, $6b ; full + ld [hli], a + ld a, e + and a + jr z, .done + jr .fill + +.partial + ; Fill remaining pixels at the end if necessary. + ld a, $63 ; empty + add e + ld [hl], a +.done + pop bc + pop de + pop hl + ret + + +; loads pokemon data from one of multiple sources to wLoadedMon +; loads base stats to wMonHeader +; INPUT: +; [wWhichPokemon] = index of pokemon within party/box +; [wMonDataLocation] = source +; 00: player's party +; 01: enemy's party +; 02: current box +; 03: daycare +; OUTPUT: +; [wcf91] = pokemon ID +; wLoadedMon = base address of pokemon data +; wMonHeader = base address of base stats +LoadMonData:: + jpab LoadMonData_ + +OverwritewMoves:: +; Write c to [wMoves + b]. Unused. + ld hl, wMoves + ld e, b + ld d, 0 + add hl, de + ld a, c + ld [hl], a + ret + +LoadFlippedFrontSpriteByMonIndex:: + ld a, 1 + ld [wSpriteFlipped], a + +LoadFrontSpriteByMonIndex:: + push hl + ld a, [wd11e] + push af + ld a, [wcf91] + ld [wd11e], a + predef IndexToPokedex + ld hl, wd11e + ld a, [hl] + pop bc + ld [hl], b + and a + pop hl + jr z, .invalidDexNumber ; dex #0 invalid + cp NUM_POKEMON + 1 + jr c, .validDexNumber ; dex >#151 invalid +.invalidDexNumber + ld a, RHYDON ; $1 + ld [wcf91], a + ret +.validDexNumber + push hl + ld de, vFrontPic + call LoadMonFrontSprite + pop hl + ld a, [hLoadedROMBank] + push af + ld a, BANK(CopyUncompressedPicToHL) + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + xor a + ld [hStartTileID], a + call CopyUncompressedPicToHL + xor a + ld [wSpriteFlipped], a + pop af + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + ret + + +PlayCry:: +; Play monster a's cry. + call GetCryData + call PlaySound + jp WaitForSoundToFinish + +GetCryData:: +; Load cry data for monster a. + dec a + ld c, a + ld b, 0 + ld hl, CryData + add hl, bc + add hl, bc + add hl, bc + + ld a, BANK(CryData) + call BankswitchHome + ld a, [hli] + ld b, a ; cry id + ld a, [hli] + ld [wFrequencyModifier], a + ld a, [hl] + ld [wTempoModifier], a + call BankswitchBack + + ; Cry headers have 3 channels, + ; and start from index CRY_SFX_START, + ; so add 3 times the cry id. + ld a, b + ld c, CRY_SFX_START + rlca ; * 2 + add b + add c + ret + +DisplayPartyMenu:: + ld a, [hTilesetType] + push af + xor a + ld [hTilesetType], a + call GBPalWhiteOutWithDelay3 + call ClearSprites + call PartyMenuInit + call DrawPartyMenu + jp HandlePartyMenuInput + +GoBackToPartyMenu:: + ld a, [hTilesetType] + push af + xor a + ld [hTilesetType], a + call PartyMenuInit + call RedrawPartyMenu + jp HandlePartyMenuInput + +PartyMenuInit:: + ld a, 1 ; hardcoded bank + call BankswitchHome + call LoadHpBarAndStatusTilePatterns + ld hl, wd730 + set 6, [hl] ; turn off letter printing delay + xor a ; PLAYER_PARTY_DATA + ld [wMonDataLocation], a + ld [wMenuWatchMovingOutOfBounds], a + ld hl, wTopMenuItemY + inc a + ld [hli], a ; top menu item Y + xor a + ld [hli], a ; top menu item X + ld a, [wPartyAndBillsPCSavedMenuItem] + push af + ld [hli], a ; current menu item ID + inc hl + ld a, [wPartyCount] + and a ; are there more than 0 pokemon in the party? + jr z, .storeMaxMenuItemID + dec a +; if party is not empty, the max menu item ID is ([wPartyCount] - 1) +; otherwise, it is 0 +.storeMaxMenuItemID + ld [hli], a ; max menu item ID + ld a, [wForcePlayerToChooseMon] + and a + ld a, A_BUTTON | B_BUTTON + jr z, .next + xor a + ld [wForcePlayerToChooseMon], a + inc a ; a = A_BUTTON +.next + ld [hli], a ; menu watched keys + pop af + ld [hl], a ; old menu item ID + ret + +HandlePartyMenuInput:: + ld a, 1 + ld [wMenuWrappingEnabled], a + ld a, $40 + ld [wPartyMenuAnimMonEnabled], a + call HandleMenuInput_ + call PlaceUnfilledArrowMenuCursor + ld b, a + xor a + ld [wPartyMenuAnimMonEnabled], a + ld a, [wCurrentMenuItem] + ld [wPartyAndBillsPCSavedMenuItem], a + ld hl, wd730 + res 6, [hl] ; turn on letter printing delay + ld a, [wMenuItemToSwap] + and a + jp nz, .swappingPokemon + pop af + ld [hTilesetType], a + bit 1, b + jr nz, .noPokemonChosen + ld a, [wPartyCount] + and a + jr z, .noPokemonChosen + ld a, [wCurrentMenuItem] + ld [wWhichPokemon], a + ld hl, wPartySpecies + ld b, 0 + ld c, a + add hl, bc + ld a, [hl] + ld [wcf91], a + ld [wBattleMonSpecies2], a + call BankswitchBack + and a + ret +.noPokemonChosen + call BankswitchBack + scf + ret +.swappingPokemon + bit 1, b ; was the B button pressed? + jr z, .handleSwap ; if not, handle swapping the pokemon +.cancelSwap ; if the B button was pressed + callba ErasePartyMenuCursors + xor a + ld [wMenuItemToSwap], a + ld [wPartyMenuTypeOrMessageID], a + call RedrawPartyMenu + jr HandlePartyMenuInput +.handleSwap + ld a, [wCurrentMenuItem] + ld [wWhichPokemon], a + callba SwitchPartyMon + jr HandlePartyMenuInput + +DrawPartyMenu:: + ld hl, DrawPartyMenu_ + jr DrawPartyMenuCommon + +RedrawPartyMenu:: + ld hl, RedrawPartyMenu_ + +DrawPartyMenuCommon:: + ld b, BANK(RedrawPartyMenu_) + jp Bankswitch + +; prints a pokemon's status condition +; INPUT: +; de = address of status condition +; hl = destination address +PrintStatusCondition:: + push de + dec de + dec de ; de = address of current HP + ld a, [de] + ld b, a + dec de + ld a, [de] + or b ; is the pokemon's HP zero? + pop de + jr nz, PrintStatusConditionNotFainted +; if the pokemon's HP is 0, print "FNT" + ld a, "F" + ld [hli], a + ld a, "N" + ld [hli], a + ld [hl], "T" + and a + ret + +PrintStatusConditionNotFainted:: + ld a, [hLoadedROMBank] + push af + ld a, BANK(PrintStatusAilment) + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + call PrintStatusAilment ; print status condition + pop bc + ld a, b + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + ret + +; function to print pokemon level, leaving off the ":L" if the level is at least 100 +; INPUT: +; hl = destination address +; [wLoadedMonLevel] = level +PrintLevel:: + ld a, $6e ; ":L" tile ID + ld [hli], a + ld c, 2 ; number of digits + ld a, [wLoadedMonLevel] ; level + cp 100 + jr c, PrintLevelCommon +; if level at least 100, write over the ":L" tile + dec hl + inc c ; increment number of digits to 3 + jr PrintLevelCommon + +; prints the level without leaving off ":L" regardless of level +; INPUT: +; hl = destination address +; [wLoadedMonLevel] = level +PrintLevelFull:: + ld a, $6e ; ":L" tile ID + ld [hli], a + ld c, 3 ; number of digits + ld a, [wLoadedMonLevel] ; level + +PrintLevelCommon:: + ld [wd11e], a + ld de, wd11e + ld b, LEFT_ALIGN | 1 ; 1 byte + jp PrintNumber + +GetwMoves:: +; Unused. Returns the move at index a from wMoves in a + ld hl, wMoves + ld c, a + ld b, 0 + add hl, bc + ld a, [hl] + ret + +; copies the base stat data of a pokemon to wMonHeader +; INPUT: +; [wd0b5] = pokemon ID +GetMonHeader:: + ld a, [hLoadedROMBank] + push af + ld a, BANK(BaseStats) + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + push bc + push de + push hl + ld a, [wd11e] + push af + ld a, [wd0b5] + ld [wd11e], a + ld de, FossilKabutopsPic + ld b, $66 ; size of Kabutops fossil and Ghost sprites + cp FOSSIL_KABUTOPS ; Kabutops fossil + jr z, .specialID + ld de, GhostPic + cp MON_GHOST ; Ghost + jr z, .specialID + ld de, FossilAerodactylPic + ld b, $77 ; size of Aerodactyl fossil sprite + cp FOSSIL_AERODACTYL ; Aerodactyl fossil + jr z, .specialID + cp MEW + jr z, .mew + predef IndexToPokedex ; convert pokemon ID in [wd11e] to pokedex number + ld a, [wd11e] + dec a + ld bc, MonBaseStatsEnd - MonBaseStats + ld hl, BaseStats + call AddNTimes + ld de, wMonHeader + ld bc, MonBaseStatsEnd - MonBaseStats + call CopyData + jr .done +.specialID + ld hl, wMonHSpriteDim + ld [hl], b ; write sprite dimensions + inc hl + ld [hl], e ; write front sprite pointer + inc hl + ld [hl], d + jr .done +.mew + ld hl, MewBaseStats + ld de, wMonHeader + ld bc, MonBaseStatsEnd - MonBaseStats + ld a, BANK(MewBaseStats) + call FarCopyData +.done + ld a, [wd0b5] + ld [wMonHIndex], a + pop af + ld [wd11e], a + pop hl + pop de + pop bc + pop af + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + ret + +; copy party pokemon's name to wcd6d +GetPartyMonName2:: + ld a, [wWhichPokemon] ; index within party + ld hl, wPartyMonNicks + +; this is called more often +GetPartyMonName:: + push hl + push bc + call SkipFixedLengthTextEntries ; add NAME_LENGTH to hl, a times + ld de, wcd6d + push de + ld bc, NAME_LENGTH + call CopyData + pop de + pop bc + pop hl + ret diff --git a/home/predef_text.asm b/home/predef_text.asm new file mode 100644 index 00000000..24001c24 --- /dev/null +++ b/home/predef_text.asm @@ -0,0 +1,237 @@ +; this function is used to display sign messages, sprite dialog, etc. +; INPUT: [hSpriteIndexOrTextID] = sprite ID or text ID +DisplayTextID:: + ld a, [hLoadedROMBank] + push af + callba DisplayTextIDInit ; initialization + ld hl, wTextPredefFlag + bit 0, [hl] + res 0, [hl] + jr nz, .skipSwitchToMapBank + ld a, [wCurMap] + call SwitchToMapRomBank +.skipSwitchToMapBank + ld a, 30 ; half a second + ld [hFrameCounter], a ; used as joypad poll timer + ld hl, wMapTextPtr + ld a, [hli] + ld h, [hl] + ld l, a ; hl = map text pointer + ld d, $00 + ld a, [hSpriteIndexOrTextID] ; text ID + ld [wSpriteIndex], a + and a + jp z, DisplayStartMenu + cp TEXT_SAFARI_GAME_OVER + jp z, DisplaySafariGameOverText + cp TEXT_MON_FAINTED + jp z, DisplayPokemonFaintedText + cp TEXT_BLACKED_OUT + jp z, DisplayPlayerBlackedOutText + cp TEXT_REPEL_WORE_OFF + jp z, DisplayRepelWoreOffText + ld a, [wNumSprites] + ld e, a + ld a, [hSpriteIndexOrTextID] ; sprite ID + cp e + jr z, .spriteHandling + jr nc, .skipSpriteHandling +.spriteHandling +; get the text ID of the sprite + push hl + push de + push bc + callba UpdateSpriteFacingOffsetAndDelayMovement ; update the graphics of the sprite the player is talking to (to face the right direction) + pop bc + pop de + ld hl, wMapSpriteData ; NPC text entries + ld a, [hSpriteIndexOrTextID] + dec a + add a + add l + ld l, a + jr nc, .noCarry + inc h +.noCarry + inc hl + ld a, [hl] ; a = text ID of the sprite + pop hl +.skipSpriteHandling +; look up the address of the text in the map's text entries + dec a + ld e, a + sla e + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a ; hl = address of the text + ld a, [hl] ; a = first byte of text +; check first byte of text for special cases + cp $fe ; Pokemart NPC + jp z, DisplayPokemartDialogue + cp $ff ; Pokemon Center NPC + jp z, DisplayPokemonCenterDialogue + cp $fc ; Item Storage PC + jp z, FuncTX_ItemStoragePC + cp $fd ; Bill's PC + jp z, FuncTX_BillsPC + cp $f9 ; Pokemon Center PC + jp z, FuncTX_PokemonCenterPC + cp $f5 ; Vending Machine + jr nz, .notVendingMachine + callba VendingMachineMenu ; jump banks to vending machine routine + jr AfterDisplayingTextID +.notVendingMachine + cp $f7 ; prize menu + jp z, FuncTX_GameCornerPrizeMenu + cp $f6 ; cable connection NPC in Pokemon Center + jr nz, .notSpecialCase + callab CableClubNPC + jr AfterDisplayingTextID +.notSpecialCase + call PrintText_NoCreatingTextBox ; display the text + ld a, [wDoNotWaitForButtonPressAfterDisplayingText] + and a + jr nz, HoldTextDisplayOpen + +AfterDisplayingTextID:: + ld a, [wEnteringCableClub] + and a + jr nz, HoldTextDisplayOpen + call WaitForTextScrollButtonPress ; wait for a button press after displaying all the text + +; loop to hold the dialogue box open as long as the player keeps holding down the A button +HoldTextDisplayOpen:: + call Joypad + ld a, [hJoyHeld] + bit 0, a ; is the A button being pressed? + jr nz, HoldTextDisplayOpen + +CloseTextDisplay:: + ld a, [wCurMap] + call SwitchToMapRomBank + ld a, $90 + ld [hWY], a ; move the window off the screen + call DelayFrame + call LoadGBPal + xor a + ld [hAutoBGTransferEnabled], a ; disable continuous WRAM to VRAM transfer each V-blank +; loop to make sprites face the directions they originally faced before the dialogue + ld hl, wSpriteStateData2 + $19 + ld c, $0f + ld de, $0010 +.restoreSpriteFacingDirectionLoop + ld a, [hl] + dec h + ld [hl], a + inc h + add hl, de + dec c + jr nz, .restoreSpriteFacingDirectionLoop + ld a, BANK(InitMapSprites) + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + call InitMapSprites ; reload sprite tile pattern data (since it was partially overwritten by text tile patterns) + ld hl, wFontLoaded + res 0, [hl] + ld a, [wd732] + bit 3, a ; used fly warp + call z, LoadPlayerSpriteGraphics + call LoadCurrentMapView + pop af + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + jp UpdateSprites + +DisplayPokemartDialogue:: + push hl + ld hl, PokemartGreetingText + call PrintText + pop hl + inc hl + call LoadItemList + ld a, PRICEDITEMLISTMENU + ld [wListMenuID], a + ld a, [hLoadedROMBank] + push af + ld a, BANK(DisplayPokemartDialogue_) + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + call DisplayPokemartDialogue_ + pop af + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + jp AfterDisplayingTextID + +PokemartGreetingText:: + TX_FAR _PokemartGreetingText + db "@" + +LoadItemList:: + ld a, 1 + ld [wUpdateSpritesEnabled], a + ld a, h + ld [wItemListPointer], a + ld a, l + ld [wItemListPointer + 1], a + ld de, wItemList +.loop + ld a, [hli] + ld [de], a + inc de + cp $ff + jr nz, .loop + ret + +DisplayPokemonCenterDialogue:: +; zeroing these doesn't appear to serve any purpose + xor a + ld [hItemPrice], a + ld [hItemPrice + 1], a + ld [hItemPrice + 2], a + + inc hl + ld a, [hLoadedROMBank] + push af + ld a, BANK(DisplayPokemonCenterDialogue_) + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + call DisplayPokemonCenterDialogue_ + pop af + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + jp AfterDisplayingTextID + +DisplaySafariGameOverText:: + callab PrintSafariGameOverText + jp AfterDisplayingTextID + +DisplayPokemonFaintedText:: + ld hl, PokemonFaintedText + call PrintText + jp AfterDisplayingTextID + +PokemonFaintedText:: + TX_FAR _PokemonFaintedText + db "@" + +DisplayPlayerBlackedOutText:: + ld hl, PlayerBlackedOutText + call PrintText + ld a, [wd732] + res 5, a ; reset forced to use bike bit + ld [wd732], a + jp HoldTextDisplayOpen + +PlayerBlackedOutText:: + TX_FAR _PlayerBlackedOutText + db "@" + +DisplayRepelWoreOffText:: + ld hl, RepelWoreOffText + call PrintText + jp AfterDisplayingTextID + +RepelWoreOffText:: + TX_FAR _RepelWoreOffText + db "@" diff --git a/home/print_bcd.asm b/home/print_bcd.asm new file mode 100644 index 00000000..38aedd3c --- /dev/null +++ b/home/print_bcd.asm @@ -0,0 +1,77 @@ +; function to print a BCD (Binary-coded decimal) number +; de = address of BCD number +; hl = destination address +; c = flags and length +; bit 7: if set, do not print leading zeroes +; if unset, print leading zeroes +; bit 6: if set, left-align the string (do not pad empty digits with spaces) +; if unset, right-align the string +; bit 5: if set, print currency symbol at the beginning of the string +; if unset, do not print the currency symbol +; bits 0-4: length of BCD number in bytes +; Note that bits 5 and 7 are modified during execution. The above reflects +; their meaning at the beginning of the functions's execution. +PrintBCDNumber:: + ld b, c ; save flags in b + res 7, c + res 6, c + res 5, c ; c now holds the length + bit 5, b + jr z, .loop + bit 7, b + jr nz, .loop + ld [hl], "¥" + inc hl +.loop + ld a, [de] + swap a + call PrintBCDDigit ; print upper digit + ld a, [de] + call PrintBCDDigit ; print lower digit + inc de + dec c + jr nz, .loop + bit 7, b ; were any non-zero digits printed? + jr z, .done ; if so, we are done +.numberEqualsZero ; if every digit of the BCD number is zero + bit 6, b ; left or right alignment? + jr nz, .skipRightAlignmentAdjustment + dec hl ; if the string is right-aligned, it needs to be moved back one space +.skipRightAlignmentAdjustment + bit 5, b + jr z, .skipCurrencySymbol + ld [hl], "¥" + inc hl +.skipCurrencySymbol + ld [hl], "0" + call PrintLetterDelay + inc hl +.done + ret + +PrintBCDDigit:: + and $f + and a + jr z, .zeroDigit +.nonzeroDigit + bit 7, b ; have any non-space characters been printed? + jr z, .outputDigit +; if bit 7 is set, then no numbers have been printed yet + bit 5, b ; print the currency symbol? + jr z, .skipCurrencySymbol + ld [hl], "¥" + inc hl + res 5, b +.skipCurrencySymbol + res 7, b ; unset 7 to indicate that a nonzero digit has been reached +.outputDigit + add "0" + ld [hli], a + jp PrintLetterDelay +.zeroDigit + bit 7, b ; either printing leading zeroes or already reached a nonzero digit? + jr z, .outputDigit ; if so, print a zero digit + bit 6, b ; left or right alignment? + ret nz + inc hl ; if right-aligned, "print" a space by advancing the pointer + ret diff --git a/home/print_num.asm b/home/print_num.asm new file mode 100644 index 00000000..5155977b --- /dev/null +++ b/home/print_num.asm @@ -0,0 +1,217 @@ +PrintNumber:: +; Print the c-digit, b-byte value at de. +; Allows 2 to 7 digits. For 1-digit numbers, add +; the value to char "0" instead of calling PrintNumber. +; Flags LEADING_ZEROES and LEFT_ALIGN can be given +; in bits 7 and 6 of b respectively. + push bc + xor a + ld [hPastLeadingZeros], a + ld [hNumToPrint], a + ld [hNumToPrint + 1], a + ld a, b + and $f + cp 1 + jr z, .byte + cp 2 + jr z, .word +.long + ld a, [de] + ld [hNumToPrint], a + inc de + ld a, [de] + ld [hNumToPrint + 1], a + inc de + ld a, [de] + ld [hNumToPrint + 2], a + jr .start + +.word + ld a, [de] + ld [hNumToPrint + 1], a + inc de + ld a, [de] + ld [hNumToPrint + 2], a + jr .start + +.byte + ld a, [de] + ld [hNumToPrint + 2], a + +.start + push de + + ld d, b + ld a, c + ld b, a + xor a + ld c, a + ld a, b + + cp 2 + jr z, .tens + cp 3 + jr z, .hundreds + cp 4 + jr z, .thousands + cp 5 + jr z, .ten_thousands + cp 6 + jr z, .hundred_thousands + +print_digit: macro + +if (\1) / $10000 + ld a, \1 / $10000 % $100 +else xor a +endc + ld [hPowerOf10 + 0], a + +if (\1) / $100 + ld a, \1 / $100 % $100 +else xor a +endc + ld [hPowerOf10 + 1], a + + ld a, \1 / $1 % $100 + ld [hPowerOf10 + 2], a + + call .PrintDigit + call .NextDigit +endm + +.millions print_digit 1000000 +.hundred_thousands print_digit 100000 +.ten_thousands print_digit 10000 +.thousands print_digit 1000 +.hundreds print_digit 100 + +.tens + ld c, 0 + ld a, [hNumToPrint + 2] +.mod + cp 10 + jr c, .ok + sub 10 + inc c + jr .mod +.ok + + ld b, a + ld a, [hPastLeadingZeros] + or c + ld [hPastLeadingZeros], a + jr nz, .past + call .PrintLeadingZero + jr .next +.past + ld a, "0" + add c + ld [hl], a +.next + + call .NextDigit +.ones + ld a, "0" + add b + ld [hli], a + pop de + dec de + pop bc + ret + +.PrintDigit: +; Divide by the current decimal place. +; Print the quotient, and keep the modulus. + ld c, 0 +.loop + ld a, [hPowerOf10] + ld b, a + ld a, [hNumToPrint] + ld [hSavedNumToPrint], a + cp b + jr c, .underflow0 + sub b + ld [hNumToPrint], a + ld a, [hPowerOf10 + 1] + ld b, a + ld a, [hNumToPrint + 1] + ld [hSavedNumToPrint + 1], a + cp b + jr nc, .noborrow1 + + ld a, [hNumToPrint] + or 0 + jr z, .underflow1 + dec a + ld [hNumToPrint], a + ld a, [hNumToPrint + 1] +.noborrow1 + + sub b + ld [hNumToPrint + 1], a + ld a, [hPowerOf10 + 2] + ld b, a + ld a, [hNumToPrint + 2] + ld [hSavedNumToPrint + 2], a + cp b + jr nc, .noborrow2 + + ld a, [hNumToPrint + 1] + and a + jr nz, .borrowed + + ld a, [hNumToPrint] + and a + jr z, .underflow2 + dec a + ld [hNumToPrint], a + xor a +.borrowed + + dec a + ld [hNumToPrint + 1], a + ld a, [hNumToPrint + 2] +.noborrow2 + sub b + ld [hNumToPrint + 2], a + inc c + jr .loop + +.underflow2 + ld a, [hSavedNumToPrint + 1] + ld [hNumToPrint + 1], a +.underflow1 + ld a, [hSavedNumToPrint] + ld [hNumToPrint], a +.underflow0 + ld a, [hPastLeadingZeros] + or c + jr z, .PrintLeadingZero + + ld a, "0" + add c + ld [hl], a + ld [hPastLeadingZeros], a + ret + +.PrintLeadingZero: + bit BIT_LEADING_ZEROES, d + ret z + ld [hl], "0" + ret + +.NextDigit: +; Increment unless the number is left-aligned, +; leading zeroes are not printed, and no digits +; have been printed yet. + bit BIT_LEADING_ZEROES, d + jr nz, .inc + bit BIT_LEFT_ALIGN, d + jr z, .inc + ld a, [hPastLeadingZeros] + and a + ret z +.inc + inc hl + ret diff --git a/home/trainers.asm b/home/trainers.asm new file mode 100644 index 00000000..9c3519a2 --- /dev/null +++ b/home/trainers.asm @@ -0,0 +1,436 @@ +; stores hl in [wTrainerHeaderPtr] +StoreTrainerHeaderPointer:: + ld a, h + ld [wTrainerHeaderPtr], a + ld a, l + ld [wTrainerHeaderPtr+1], a + ret + +; executes the current map script from the function pointer array provided in hl. +; a: map script index to execute (unless overridden by [wd733] bit 4) +ExecuteCurMapScriptInTable:: + push af + push de + call StoreTrainerHeaderPointer + pop hl + pop af + push hl + ld hl, wFlags_D733 + bit 4, [hl] + res 4, [hl] + jr z, .useProvidedIndex ; test if map script index was overridden manually + ld a, [wCurMapScript] +.useProvidedIndex + pop hl + ld [wCurMapScript], a + call CallFunctionInTable + ld a, [wCurMapScript] + ret + +LoadGymLeaderAndCityName:: + push de + ld de, wGymCityName + ld bc, $11 + call CopyData ; load city name + pop hl + ld de, wGymLeaderName + ld bc, NAME_LENGTH + jp CopyData ; load gym leader name + +; reads specific information from trainer header (pointed to at wTrainerHeaderPtr) +; a: offset in header data +; 0 -> flag's bit (into wTrainerHeaderFlagBit) +; 2 -> flag's byte ptr (into hl) +; 4 -> before battle text (into hl) +; 6 -> after battle text (into hl) +; 8 -> end battle text (into hl) +ReadTrainerHeaderInfo:: + push de + push af + ld d, $0 + ld e, a + ld hl, wTrainerHeaderPtr + ld a, [hli] + ld l, [hl] + ld h, a + add hl, de + pop af + and a + jr nz, .nonZeroOffset + ld a, [hl] + ld [wTrainerHeaderFlagBit], a ; store flag's bit + jr .done +.nonZeroOffset + cp $2 + jr z, .readPointer ; read flag's byte ptr + cp $4 + jr z, .readPointer ; read before battle text + cp $6 + jr z, .readPointer ; read after battle text + cp $8 + jr z, .readPointer ; read end battle text + cp $a + jr nz, .done + ld a, [hli] ; read end battle text (2) but override the result afterwards (XXX why, bug?) + ld d, [hl] + ld e, a + jr .done +.readPointer + ld a, [hli] + ld h, [hl] + ld l, a +.done + pop de + ret + +TrainerFlagAction:: + predef_jump FlagActionPredef + +TalkToTrainer:: + call StoreTrainerHeaderPointer + xor a + call ReadTrainerHeaderInfo ; read flag's bit + ld a, $2 + call ReadTrainerHeaderInfo ; read flag's byte ptr + ld a, [wTrainerHeaderFlagBit] + ld c, a + ld b, FLAG_TEST + call TrainerFlagAction ; read trainer's flag + ld a, c + and a + jr z, .trainerNotYetFought ; test trainer's flag + ld a, $6 + call ReadTrainerHeaderInfo ; print after battle text + jp PrintText +.trainerNotYetFought + ld a, $4 + call ReadTrainerHeaderInfo ; print before battle text + call PrintText + ld a, $a + call ReadTrainerHeaderInfo ; (?) does nothing apparently (maybe bug in ReadTrainerHeaderInfo) + push de + ld a, $8 + call ReadTrainerHeaderInfo ; read end battle text + pop de + call SaveEndBattleTextPointers + ld hl, wFlags_D733 + set 4, [hl] ; activate map script index override (index is set below) + ld hl, wFlags_0xcd60 + bit 0, [hl] ; test if player is already engaging the trainer (because the trainer saw the player) + ret nz +; if the player talked to the trainer of his own volition + call EngageMapTrainer + ld hl, wCurMapScript + inc [hl] ; increment map script index before StartTrainerBattle increments it again (next script function is usually EndTrainerBattle) + jp StartTrainerBattle + +; checks if any trainers are seeing the player and wanting to fight +CheckFightingMapTrainers:: + call CheckForEngagingTrainers + ld a, [wSpriteIndex] + cp $ff + jr nz, .trainerEngaging + xor a + ld [wSpriteIndex], a + ld [wTrainerHeaderFlagBit], a + ret +.trainerEngaging + ld hl, wFlags_D733 + set 3, [hl] + ld [wEmotionBubbleSpriteIndex], a + xor a ; EXCLAMATION_BUBBLE + ld [wWhichEmotionBubble], a + predef EmotionBubble + ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN + ld [wJoyIgnore], a + xor a + ld [hJoyHeld], a + call TrainerWalkUpToPlayer_Bank0 + ld hl, wCurMapScript + inc [hl] ; increment map script index (next script function is usually DisplayEnemyTrainerTextAndStartBattle) + ret + +; display the before battle text after the enemy trainer has walked up to the player's sprite +DisplayEnemyTrainerTextAndStartBattle:: + ld a, [wd730] + and $1 + ret nz ; return if the enemy trainer hasn't finished walking to the player's sprite + ld [wJoyIgnore], a + ld a, [wSpriteIndex] + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ; fall through + +StartTrainerBattle:: + xor a + ld [wJoyIgnore], a + call InitBattleEnemyParameters + ld hl, wd72d + set 6, [hl] + set 7, [hl] + ld hl, wd72e + set 1, [hl] + ld hl, wCurMapScript + inc [hl] ; increment map script index (next script function is usually EndTrainerBattle) + ret + +EndTrainerBattle:: + ld hl, wCurrentMapScriptFlags + set 5, [hl] + set 6, [hl] + ld hl, wd72d + res 7, [hl] + ld hl, wFlags_0xcd60 + res 0, [hl] ; player is no longer engaged by any trainer + ld a, [wIsInBattle] + cp $ff + jp z, ResetButtonPressedAndMapScript + ld a, $2 + call ReadTrainerHeaderInfo + ld a, [wTrainerHeaderFlagBit] + ld c, a + ld b, FLAG_SET + call TrainerFlagAction ; flag trainer as fought + ld a, [wEnemyMonOrTrainerClass] + cp OPP_ID_OFFSET + jr nc, .skipRemoveSprite ; test if trainer was fought (in that case skip removing the corresponding sprite) + ld hl, wMissableObjectList + ld de, $2 + ld a, [wSpriteIndex] + call IsInArray ; search for sprite ID + inc hl + ld a, [hl] + ld [wMissableObjectIndex], a ; load corresponding missable object index and remove it + predef HideObject +.skipRemoveSprite + ld hl, wd730 + bit 4, [hl] + res 4, [hl] + ret nz + +ResetButtonPressedAndMapScript:: + xor a + ld [wJoyIgnore], a + ld [hJoyHeld], a + ld [hJoyPressed], a + ld [hJoyReleased], a + ld [wCurMapScript], a ; reset battle status + ret + +; calls TrainerWalkUpToPlayer +TrainerWalkUpToPlayer_Bank0:: + jpba TrainerWalkUpToPlayer + +; sets opponent type and mon set/lvl based on the engaging trainer data +InitBattleEnemyParameters:: + ld a, [wEngagedTrainerClass] + ld [wCurOpponent], a + ld [wEnemyMonOrTrainerClass], a + cp OPP_ID_OFFSET + ld a, [wEngagedTrainerSet] + jr c, .noTrainer + ld [wTrainerNo], a + ret +.noTrainer + ld [wCurEnemyLVL], a + ret + +GetSpritePosition1:: + ld hl, _GetSpritePosition1 + jr SpritePositionBankswitch + +GetSpritePosition2:: + ld hl, _GetSpritePosition2 + jr SpritePositionBankswitch + +SetSpritePosition1:: + ld hl, _SetSpritePosition1 + jr SpritePositionBankswitch + +SetSpritePosition2:: + ld hl, _SetSpritePosition2 +SpritePositionBankswitch:: + ld b, BANK(_GetSpritePosition1) ; BANK(_GetSpritePosition2), BANK(_SetSpritePosition1), BANK(_SetSpritePosition2) + jp Bankswitch ; indirect jump to one of the four functions + +CheckForEngagingTrainers:: + xor a + call ReadTrainerHeaderInfo ; read trainer flag's bit (unused) + ld d, h ; store trainer header address in de + ld e, l +.trainerLoop + call StoreTrainerHeaderPointer ; set trainer header pointer to current trainer + ld a, [de] + ld [wSpriteIndex], a ; store trainer flag's bit + ld [wTrainerHeaderFlagBit], a + cp $ff + ret z + ld a, $2 + call ReadTrainerHeaderInfo ; read trainer flag's byte ptr + ld b, FLAG_TEST + ld a, [wTrainerHeaderFlagBit] + ld c, a + call TrainerFlagAction ; read trainer flag + ld a, c + and a ; has the trainer already been defeated? + jr nz, .continue + push hl + push de + push hl + xor a + call ReadTrainerHeaderInfo ; get trainer header pointer + inc hl + ld a, [hl] ; read trainer engage distance + pop hl + ld [wTrainerEngageDistance], a + ld a, [wSpriteIndex] + swap a + ld [wTrainerSpriteOffset], a + predef TrainerEngage + pop de + pop hl + ld a, [wTrainerSpriteOffset] + and a + ret nz ; break if the trainer is engaging +.continue + ld hl, $c + add hl, de + ld d, h + ld e, l + jr .trainerLoop + +; hl = text if the player wins +; de = text if the player loses +SaveEndBattleTextPointers:: + ld a, [hLoadedROMBank] + ld [wEndBattleTextRomBank], a + ld a, h + ld [wEndBattleWinTextPointer], a + ld a, l + ld [wEndBattleWinTextPointer + 1], a + ld a, d + ld [wEndBattleLoseTextPointer], a + ld a, e + ld [wEndBattleLoseTextPointer + 1], a + ret + +; loads data of some trainer on the current map and plays pre-battle music +; [wSpriteIndex]: sprite ID of trainer who is engaged +EngageMapTrainer:: + ld hl, wMapSpriteExtraData + ld d, $0 + ld a, [wSpriteIndex] + dec a + add a + ld e, a + add hl, de ; seek to engaged trainer data + ld a, [hli] ; load trainer class + ld [wEngagedTrainerClass], a + ld a, [hl] ; load trainer mon set + ld [wEngagedTrainerSet], a + jp PlayTrainerMusic + +PrintEndBattleText:: + push hl + ld hl, wd72d + bit 7, [hl] + res 7, [hl] + pop hl + ret z + ld a, [hLoadedROMBank] + push af + ld a, [wEndBattleTextRomBank] + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + push hl + callba SaveTrainerName + ld hl, TrainerEndBattleText + call PrintText + pop hl + pop af + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + callba FreezeEnemyTrainerSprite + jp WaitForSoundToFinish + +GetSavedEndBattleTextPointer:: + ld a, [wBattleResult] + and a +; won battle + jr nz, .lostBattle + ld a, [wEndBattleWinTextPointer] + ld h, a + ld a, [wEndBattleWinTextPointer + 1] + ld l, a + ret +.lostBattle + ld a, [wEndBattleLoseTextPointer] + ld h, a + ld a, [wEndBattleLoseTextPointer + 1] + ld l, a + ret + +TrainerEndBattleText:: + TX_FAR _TrainerNameText + TX_ASM + call GetSavedEndBattleTextPointer + call TextCommandProcessor + jp TextScriptEnd + +; only engage with the trainer if the player is not already +; engaged with another trainer +; XXX unused? +CheckIfAlreadyEngaged:: + ld a, [wFlags_0xcd60] + bit 0, a + ret nz + call EngageMapTrainer + xor a + ret + +PlayTrainerMusic:: + ld a, [wEngagedTrainerClass] + cp OPP_SONY1 + ret z + cp OPP_SONY2 + ret z + cp OPP_SONY3 + ret z + ld a, [wGymLeaderNo] + and a + ret nz + xor a + ld [wAudioFadeOutControl], a + ld a, SFX_STOP_ALL_MUSIC + call PlaySound + ld a, BANK(Music_MeetEvilTrainer) + ld [wAudioROMBank], a + ld [wAudioSavedROMBank], a + ld a, [wEngagedTrainerClass] + ld b, a + ld hl, EvilTrainerList +.evilTrainerListLoop + ld a, [hli] + cp $ff + jr z, .noEvilTrainer + cp b + jr nz, .evilTrainerListLoop + ld a, MUSIC_MEET_EVIL_TRAINER + jr .PlaySound +.noEvilTrainer + ld hl, FemaleTrainerList +.femaleTrainerListLoop + ld a, [hli] + cp $ff + jr z, .maleTrainer + cp b + jr nz, .femaleTrainerListLoop + ld a, MUSIC_MEET_FEMALE_TRAINER + jr .PlaySound +.maleTrainer + ld a, MUSIC_MEET_MALE_TRAINER +.PlaySound + ld [wNewSoundID], a + jp PlaySound + +INCLUDE "data/trainers/encounter_types.asm" diff --git a/home/uncompress.asm b/home/uncompress.asm new file mode 100644 index 00000000..02683db7 --- /dev/null +++ b/home/uncompress.asm @@ -0,0 +1,196 @@ +; uncompresses the front or back sprite of the specified mon +; assumes the corresponding mon header is already loaded +; hl contains offset to sprite pointer ($b for front or $d for back) +UncompressMonSprite:: + ld bc, wMonHeader + add hl, bc + ld a, [hli] + ld [wSpriteInputPtr], a ; fetch sprite input pointer + ld a, [hl] + ld [wSpriteInputPtr+1], a +; define (by index number) the bank that a pokemon's image is in +; index = Mew, bank 1 +; index = Kabutops fossil, bank $B +; index < $1F, bank 9 +; $1F ≤ index < $4A, bank $A +; $4A ≤ index < $74, bank $B +; $74 ≤ index < $99, bank $C +; $99 ≤ index, bank $D + ld a, [wcf91] ; XXX name for this ram location + ld b, a + cp MEW + ld a, BANK(MewPicFront) + jr z, .GotBank + ld a, b + cp FOSSIL_KABUTOPS + ld a, BANK(FossilKabutopsPic) + jr z, .GotBank + ld a, b + cp TANGELA + 1 + ld a, BANK(TangelaPicFront) + jr c, .GotBank + ld a, b + cp MOLTRES + 1 + ld a, BANK(MoltresPicFront) + jr c, .GotBank + ld a, b + cp BEEDRILL + 2 + ld a, BANK(BeedrillPicFront) + jr c, .GotBank + ld a, b + cp STARMIE + 1 + ld a, BANK(StarmiePicFront) + jr c, .GotBank + ld a, BANK(VictreebelPicFront) +.GotBank + jp UncompressSpriteData + +; de: destination location +LoadMonFrontSprite:: + push de + ld hl, wMonHFrontSprite - wMonHeader + call UncompressMonSprite + ld hl, wMonHSpriteDim + ld a, [hli] + ld c, a + pop de + ; fall through + +; postprocesses uncompressed sprite chunks to a 2bpp sprite and loads it into video ram +; calculates alignment parameters to place both sprite chunks in the center of the 7*7 tile sprite buffers +; de: destination location +; a,c: sprite dimensions (in tiles of 8x8 each) +LoadUncompressedSpriteData:: + push de + and $f + ld [hSpriteWidth], a ; each byte contains 8 pixels (in 1bpp), so tiles=bytes for width + ld b, a + ld a, $7 + sub b ; 7-w + inc a ; 8-w + srl a ; (8-w)/2 ; horizontal center (in tiles, rounded up) + ld b, a + add a + add a + add a + sub b ; 7*((8-w)/2) ; skip for horizontal center (in tiles) + ld [hSpriteOffset], a + ld a, c + swap a + and $f + ld b, a + add a + add a + add a ; 8*tiles is height in bytes + ld [hSpriteHeight], a + ld a, $7 + sub b ; 7-h ; skip for vertical center (in tiles, relative to current column) + ld b, a + ld a, [hSpriteOffset] + add b ; 7*((8-w)/2) + 7-h ; combined overall offset (in tiles) + add a + add a + add a ; 8*(7*((8-w)/2) + 7-h) ; combined overall offset (in bytes) + ld [hSpriteOffset], a + xor a + ld [$4000], a + ld hl, sSpriteBuffer0 + call ZeroSpriteBuffer ; zero buffer 0 + ld de, sSpriteBuffer1 + ld hl, sSpriteBuffer0 + call AlignSpriteDataCentered ; copy and align buffer 1 to 0 (containing the MSB of the 2bpp sprite) + ld hl, sSpriteBuffer1 + call ZeroSpriteBuffer ; zero buffer 1 + ld de, sSpriteBuffer2 + ld hl, sSpriteBuffer1 + call AlignSpriteDataCentered ; copy and align buffer 2 to 1 (containing the LSB of the 2bpp sprite) + pop de + jp InterlaceMergeSpriteBuffers + +; copies and aligns the sprite data properly inside the sprite buffer +; sprite buffers are 7*7 tiles in size, the loaded sprite is centered within this area +AlignSpriteDataCentered:: + ld a, [hSpriteOffset] + ld b, $0 + ld c, a + add hl, bc + ld a, [hSpriteWidth] +.columnLoop + push af + push hl + ld a, [hSpriteHeight] + ld c, a +.columnInnerLoop + ld a, [de] + inc de + ld [hli], a + dec c + jr nz, .columnInnerLoop + pop hl + ld bc, 7*8 ; 7 tiles + add hl, bc ; advance one full column + pop af + dec a + jr nz, .columnLoop + ret + +; fills the sprite buffer (pointed to in hl) with zeros +ZeroSpriteBuffer:: + ld bc, SPRITEBUFFERSIZE +.nextByteLoop + xor a + ld [hli], a + dec bc + ld a, b + or c + jr nz, .nextByteLoop + ret + +; combines the (7*7 tiles, 1bpp) sprite chunks in buffer 0 and 1 into a 2bpp sprite located in buffer 1 through 2 +; in the resulting sprite, the rows of the two source sprites are interlaced +; de: output address +InterlaceMergeSpriteBuffers:: + xor a + ld [$4000], a + push de + ld hl, sSpriteBuffer2 + (SPRITEBUFFERSIZE - 1) ; destination: end of buffer 2 + ld de, sSpriteBuffer1 + (SPRITEBUFFERSIZE - 1) ; source 2: end of buffer 1 + ld bc, sSpriteBuffer0 + (SPRITEBUFFERSIZE - 1) ; source 1: end of buffer 0 + ld a, SPRITEBUFFERSIZE/2 ; $c4 + ld [hSpriteInterlaceCounter], a +.interlaceLoop + ld a, [de] + dec de + ld [hld], a ; write byte of source 2 + ld a, [bc] + dec bc + ld [hld], a ; write byte of source 1 + ld a, [de] + dec de + ld [hld], a ; write byte of source 2 + ld a, [bc] + dec bc + ld [hld], a ; write byte of source 1 + ld a, [hSpriteInterlaceCounter] + dec a + ld [hSpriteInterlaceCounter], a + jr nz, .interlaceLoop + ld a, [wSpriteFlipped] + and a + jr z, .notFlipped + ld bc, 2*SPRITEBUFFERSIZE + ld hl, sSpriteBuffer1 +.swapLoop + swap [hl] ; if flipped swap nybbles in all bytes + inc hl + dec bc + ld a, b + or c + jr nz, .swapLoop +.notFlipped + pop hl + ld de, sSpriteBuffer1 + ld c, (2*SPRITEBUFFERSIZE)/16 ; $31, number of 16 byte chunks to be copied + ld a, [hLoadedROMBank] + ld b, a + jp CopyVideoData diff --git a/home/yes_no.asm b/home/yes_no.asm new file mode 100644 index 00000000..61aa1390 --- /dev/null +++ b/home/yes_no.asm @@ -0,0 +1,40 @@ +; displays yes/no choice +; yes -> set carry +YesNoChoice:: + call SaveScreenTilesToBuffer1 + call InitYesNoTextBoxParameters + jr DisplayYesNoChoice + +Func_35f4:: + ld a, TWO_OPTION_MENU + ld [wTextBoxID], a + call InitYesNoTextBoxParameters + jp DisplayTextBoxID + +InitYesNoTextBoxParameters:: + xor a ; YES_NO_MENU + ld [wTwoOptionMenuID], a + coord hl, 14, 7 + ld bc, $80f + ret + +YesNoChoicePokeCenter:: + call SaveScreenTilesToBuffer1 + ld a, HEAL_CANCEL_MENU + ld [wTwoOptionMenuID], a + coord hl, 11, 6 + lb bc, 8, 12 + jr DisplayYesNoChoice + +WideYesNoChoice:: ; unused + call SaveScreenTilesToBuffer1 + ld a, WIDE_YES_NO_MENU + ld [wTwoOptionMenuID], a + coord hl, 12, 7 + lb bc, 8, 13 + +DisplayYesNoChoice:: + ld a, TWO_OPTION_MENU + ld [wTextBoxID], a + call DisplayTextBoxID + jp LoadScreenTilesFromBuffer1 diff --git a/macros/predef.asm b/macros/predef.asm index fda42004..d86582d1 100644 --- a/macros/predef.asm +++ b/macros/predef.asm @@ -1,13 +1,3 @@ -predef_const: MACRO - const \1PredefID -ENDM - -add_predef: MACRO -\1Predef:: - db BANK(\1) - dw \1 -ENDM - predef_id: MACRO ld a, (\1Predef - PredefPointers) / 3 ENDM @@ -22,17 +12,6 @@ predef_jump: MACRO jp Predef ENDM -tx_pre_const: MACRO - const \1_id -ENDM - -add_tx_pre: MACRO -\1_id:: dw \1 -ENDM - -db_tx_pre: MACRO - db (\1_id - TextPredefs) / 2 + 1 -ENDM tx_pre_id: MACRO ld a, (\1_id - TextPredefs) / 2 + 1 @@ -47,3 +26,7 @@ tx_pre_jump: MACRO tx_pre_id \1 jp PrintPredefTextID ENDM + +db_tx_pre: MACRO + db (\1_id - TextPredefs) / 2 + 1 +ENDM -- cgit v1.2.3 From f9dc42a740eb28eddcefa1d872656600f02f55ce Mon Sep 17 00:00:00 2001 From: Rangi Date: Fri, 3 Jul 2020 22:59:12 -0400 Subject: Factor out Mew's pics and base data --- data/pokemon/mew.asm | 4 ++++ main.asm | 6 +----- 2 files changed, 5 insertions(+), 5 deletions(-) create mode 100644 data/pokemon/mew.asm diff --git a/data/pokemon/mew.asm b/data/pokemon/mew.asm new file mode 100644 index 00000000..972f3d05 --- /dev/null +++ b/data/pokemon/mew.asm @@ -0,0 +1,4 @@ +MewPicFront:: INCBIN "gfx/pokemon/front/mew.pic" +MewPicBack:: INCBIN "gfx/pokemon/back/mewb.pic" + +INCLUDE "data/pokemon/base_stats/mew.asm" diff --git a/main.asm b/main.asm index b0c5f489..b325a343 100755 --- a/main.asm +++ b/main.asm @@ -5,11 +5,7 @@ SECTION "bank1", ROMX INCLUDE "data/sprites/facings.asm" INCLUDE "engine/events/black_out.asm" - -MewPicFront:: INCBIN "gfx/pokemon/front/mew.pic" -MewPicBack:: INCBIN "gfx/pokemon/back/mewb.pic" -INCLUDE "data/pokemon/base_stats/mew.asm" - +INCLUDE "data/pokemon/mew.asm" INCLUDE "engine/battle/safari_zone.asm" INCLUDE "engine/movie/title.asm" INCLUDE "engine/pokemon/load_mon_data.asm" -- cgit v1.2.3 From 9b144cf647fe0ca11941abff53db5e2ec2a20127 Mon Sep 17 00:00:00 2001 From: Rangi Date: Fri, 3 Jul 2020 23:05:25 -0400 Subject: home/pic.asm -> home/uncompress.asm; home/uncompress.asm -> home/pics.asm One does the actual decompression, the other synthesizes the decompressed data. --- home.asm | 4 +- home/pic.asm | 591 ------------------------------------------ home/pics.asm | 196 ++++++++++++++ home/uncompress.asm | 725 ++++++++++++++++++++++++++++++++++++++++------------ 4 files changed, 758 insertions(+), 758 deletions(-) delete mode 100644 home/pic.asm create mode 100644 home/pics.asm diff --git a/home.asm b/home.asm index 7f743312..8507bf0d 100644 --- a/home.asm +++ b/home.asm @@ -74,7 +74,7 @@ LoadDestinationWarpPosition:: INCLUDE "home/pokemon.asm" INCLUDE "home/print_bcd.asm" -INCLUDE "home/uncompress.asm" +INCLUDE "home/pics.asm" INCLUDE "data/tilesets/collision_tile_ids.asm" INCLUDE "home/copy2.asm" INCLUDE "home/text.asm" @@ -103,7 +103,7 @@ UpdateSprites:: INCLUDE "data/items/marts.asm" INCLUDE "home/overworld_text.asm" -INCLUDE "home/pic.asm" +INCLUDE "home/uncompress.asm" ResetPlayerSpriteData:: ld hl, wSpriteStateData1 diff --git a/home/pic.asm b/home/pic.asm deleted file mode 100644 index cfc39f0f..00000000 --- a/home/pic.asm +++ /dev/null @@ -1,591 +0,0 @@ -; bankswitches and runs _UncompressSpriteData -; bank is given in a, sprite input stream is pointed to in wSpriteInputPtr -UncompressSpriteData:: - ld b, a - ld a, [hLoadedROMBank] - push af - ld a, b - ld [hLoadedROMBank], a - ld [MBC1RomBank], a - ld a, SRAM_ENABLE - ld [MBC1SRamEnable], a - xor a - ld [MBC1SRamBank], a - call _UncompressSpriteData - pop af - ld [hLoadedROMBank], a - ld [MBC1RomBank], a - ret - -; initializes necessary data to load a sprite and runs UncompressSpriteDataLoop -_UncompressSpriteData:: - ld hl, sSpriteBuffer1 - ld c, (2*SPRITEBUFFERSIZE) % $100 - ld b, (2*SPRITEBUFFERSIZE) / $100 - xor a - call FillMemory ; clear sprite buffer 1 and 2 - ld a, $1 - ld [wSpriteInputBitCounter], a - ld a, $3 - ld [wSpriteOutputBitOffset], a - xor a - ld [wSpriteCurPosX], a - ld [wSpriteCurPosY], a - ld [wSpriteLoadFlags], a - call ReadNextInputByte ; first byte of input determines sprite width (high nybble) and height (low nybble) in tiles (8x8 pixels) - ld b, a - and $f - add a - add a - add a - ld [wSpriteHeight], a - ld a, b - swap a - and $f - add a - add a - add a - ld [wSpriteWidth], a - call ReadNextInputBit - ld [wSpriteLoadFlags], a ; initialite bit1 to 0 and bit0 to the first input bit - ; this will load two chunks of data to sSpriteBuffer1 and sSpriteBuffer2 - ; bit 0 decides in which one the first chunk is placed - ; fall through - -; uncompresses a chunk from the sprite input data stream (pointed to at wd0da) into sSpriteBuffer1 or sSpriteBuffer2 -; each chunk is a 1bpp sprite. A 2bpp sprite consist of two chunks which are merged afterwards -; note that this is an endless loop which is terminated during a call to MoveToNextBufferPosition by manipulating the stack -UncompressSpriteDataLoop:: - ld hl, sSpriteBuffer1 - ld a, [wSpriteLoadFlags] - bit 0, a - jr z, .useSpriteBuffer1 ; check which buffer to use - ld hl, sSpriteBuffer2 -.useSpriteBuffer1 - call StoreSpriteOutputPointer - ld a, [wSpriteLoadFlags] - bit 1, a - jr z, .startDecompression ; check if last iteration - call ReadNextInputBit ; if last chunk, read 1-2 bit unpacking mode - and a - jr z, .unpackingMode0 ; 0 -> mode 0 - call ReadNextInputBit ; 1 0 -> mode 1 - inc a ; 1 1 -> mode 2 -.unpackingMode0 - ld [wSpriteUnpackMode], a -.startDecompression - call ReadNextInputBit - and a - jr z, .readRLEncodedZeros ; if first bit is 0, the input starts with zeroes, otherwise with (non-zero) input -.readNextInput - call ReadNextInputBit - ld c, a - call ReadNextInputBit - sla c - or c ; read next two bits into c - and a - jr z, .readRLEncodedZeros ; 00 -> RLEncoded zeroes following - call WriteSpriteBitsToBuffer ; otherwise write input to output and repeat - call MoveToNextBufferPosition - jr .readNextInput -.readRLEncodedZeros - ld c, $0 ; number of zeroes it length encoded, the number -.countConsecutiveOnesLoop ; of consecutive ones determines the number of bits the number has - call ReadNextInputBit - and a - jr z, .countConsecutiveOnesFinished - inc c - jr .countConsecutiveOnesLoop -.countConsecutiveOnesFinished - ld a, c - add a - ld hl, LengthEncodingOffsetList - add l - ld l, a - jr nc, .noCarry - inc h -.noCarry - ld a, [hli] ; read offset that is added to the number later on - ld e, a ; adding an offset of 2^length - 1 makes every integer uniquely - ld d, [hl] ; representable in the length encoding and saves bits - push de - inc c - ld e, $0 - ld d, e -.readNumberOfZerosLoop ; reads the next c+1 bits of input - call ReadNextInputBit - or e - ld e, a - dec c - jr z, .readNumberOfZerosDone - sla e - rl d - jr .readNumberOfZerosLoop -.readNumberOfZerosDone - pop hl ; add the offset - add hl, de - ld e, l - ld d, h -.writeZerosLoop - ld b, e - xor a ; write 00 to buffer - call WriteSpriteBitsToBuffer - ld e, b - call MoveToNextBufferPosition - dec de - ld a, d - and a - jr nz, .continueLoop - ld a, e - and a -.continueLoop - jr nz, .writeZerosLoop - jr .readNextInput - -; moves output pointer to next position -; also cancels the calling function if the all output is done (by removing the return pointer from stack) -; and calls postprocessing functions according to the unpack mode -MoveToNextBufferPosition:: - ld a, [wSpriteHeight] - ld b, a - ld a, [wSpriteCurPosY] - inc a - cp b - jr z, .curColumnDone - ld [wSpriteCurPosY], a - ld a, [wSpriteOutputPtr] - inc a - ld [wSpriteOutputPtr], a - ret nz - ld a, [wSpriteOutputPtr+1] - inc a - ld [wSpriteOutputPtr+1], a - ret -.curColumnDone - xor a - ld [wSpriteCurPosY], a - ld a, [wSpriteOutputBitOffset] - and a - jr z, .bitOffsetsDone - dec a - ld [wSpriteOutputBitOffset], a - ld hl, wSpriteOutputPtrCached - ld a, [hli] - ld [wSpriteOutputPtr], a - ld a, [hl] - ld [wSpriteOutputPtr+1], a - ret -.bitOffsetsDone - ld a, $3 - ld [wSpriteOutputBitOffset], a - ld a, [wSpriteCurPosX] - add $8 - ld [wSpriteCurPosX], a - ld b, a - ld a, [wSpriteWidth] - cp b - jr z, .allColumnsDone - ld a, [wSpriteOutputPtr] - ld l, a - ld a, [wSpriteOutputPtr+1] - ld h, a - inc hl - jp StoreSpriteOutputPointer -.allColumnsDone - pop hl - xor a - ld [wSpriteCurPosX], a - ld a, [wSpriteLoadFlags] - bit 1, a - jr nz, .done ; test if there is one more sprite to go - xor $1 - set 1, a - ld [wSpriteLoadFlags], a - jp UncompressSpriteDataLoop -.done - jp UnpackSprite - -; writes 2 bits (from a) to the output buffer (pointed to from wSpriteOutputPtr) -WriteSpriteBitsToBuffer:: - ld e, a - ld a, [wSpriteOutputBitOffset] - and a - jr z, .offset0 - cp $2 - jr c, .offset1 - jr z, .offset2 - rrc e ; offset 3 - rrc e - jr .offset0 -.offset1 - sla e - sla e - jr .offset0 -.offset2 - swap e -.offset0 - ld a, [wSpriteOutputPtr] - ld l, a - ld a, [wSpriteOutputPtr+1] - ld h, a - ld a, [hl] - or e - ld [hl], a - ret - -; reads next bit from input stream and returns it in a -ReadNextInputBit:: - ld a, [wSpriteInputBitCounter] - dec a - jr nz, .curByteHasMoreBitsToRead - call ReadNextInputByte - ld [wSpriteInputCurByte], a - ld a, $8 -.curByteHasMoreBitsToRead - ld [wSpriteInputBitCounter], a - ld a, [wSpriteInputCurByte] - rlca - ld [wSpriteInputCurByte], a - and $1 - ret - -; reads next byte from input stream and returns it in a -ReadNextInputByte:: - ld a, [wSpriteInputPtr] - ld l, a - ld a, [wSpriteInputPtr+1] - ld h, a - ld a, [hli] - ld b, a - ld a, l - ld [wSpriteInputPtr], a - ld a, h - ld [wSpriteInputPtr+1], a - ld a, b - ret - -; the nth item is 2^n - 1 -LengthEncodingOffsetList:: - dw %0000000000000001 - dw %0000000000000011 - dw %0000000000000111 - dw %0000000000001111 - dw %0000000000011111 - dw %0000000000111111 - dw %0000000001111111 - dw %0000000011111111 - dw %0000000111111111 - dw %0000001111111111 - dw %0000011111111111 - dw %0000111111111111 - dw %0001111111111111 - dw %0011111111111111 - dw %0111111111111111 - dw %1111111111111111 - -; unpacks the sprite data depending on the unpack mode -UnpackSprite:: - ld a, [wSpriteUnpackMode] - cp $2 - jp z, UnpackSpriteMode2 - and a - jp nz, XorSpriteChunks - ld hl, sSpriteBuffer1 - call SpriteDifferentialDecode - ld hl, sSpriteBuffer2 - ; fall through - -; decodes differential encoded sprite data -; input bit value 0 preserves the current bit value and input bit value 1 toggles it (starting from initial value 0). -SpriteDifferentialDecode:: - xor a - ld [wSpriteCurPosX], a - ld [wSpriteCurPosY], a - call StoreSpriteOutputPointer - ld a, [wSpriteFlipped] - and a - jr z, .notFlipped - ld hl, DecodeNybble0TableFlipped - ld de, DecodeNybble1TableFlipped - jr .storeDecodeTablesPointers -.notFlipped - ld hl, DecodeNybble0Table - ld de, DecodeNybble1Table -.storeDecodeTablesPointers - ld a, l - ld [wSpriteDecodeTable0Ptr], a - ld a, h - ld [wSpriteDecodeTable0Ptr+1], a - ld a, e - ld [wSpriteDecodeTable1Ptr], a - ld a, d - ld [wSpriteDecodeTable1Ptr+1], a - ld e, $0 ; last decoded nybble, initialized to 0 -.decodeNextByteLoop - ld a, [wSpriteOutputPtr] - ld l, a - ld a, [wSpriteOutputPtr+1] - ld h, a - ld a, [hl] - ld b, a - swap a - and $f - call DifferentialDecodeNybble ; decode high nybble - swap a - ld d, a - ld a, b - and $f - call DifferentialDecodeNybble ; decode low nybble - or d - ld b, a - ld a, [wSpriteOutputPtr] - ld l, a - ld a, [wSpriteOutputPtr+1] - ld h, a - ld a, b - ld [hl], a ; write back decoded data - ld a, [wSpriteHeight] - add l ; move on to next column - jr nc, .noCarry - inc h -.noCarry - ld [wSpriteOutputPtr], a - ld a, h - ld [wSpriteOutputPtr+1], a - ld a, [wSpriteCurPosX] - add $8 - ld [wSpriteCurPosX], a - ld b, a - ld a, [wSpriteWidth] - cp b - jr nz, .decodeNextByteLoop ; test if current row is done - xor a - ld e, a - ld [wSpriteCurPosX], a - ld a, [wSpriteCurPosY] ; move on to next row - inc a - ld [wSpriteCurPosY], a - ld b, a - ld a, [wSpriteHeight] - cp b - jr z, .done ; test if all rows finished - ld a, [wSpriteOutputPtrCached] - ld l, a - ld a, [wSpriteOutputPtrCached+1] - ld h, a - inc hl - call StoreSpriteOutputPointer - jr .decodeNextByteLoop -.done - xor a - ld [wSpriteCurPosY], a - ret - -; decodes the nybble stored in a. Last decoded data is assumed to be in e (needed to determine if initial value is 0 or 1) -DifferentialDecodeNybble:: - srl a ; c=a%2, a/=2 - ld c, $0 - jr nc, .evenNumber - ld c, $1 -.evenNumber - ld l, a - ld a, [wSpriteFlipped] - and a - jr z, .notFlipped ; determine if initial value is 0 or one - bit 3, e ; if flipped, consider MSB of last data - jr .selectLookupTable -.notFlipped - bit 0, e ; else consider LSB -.selectLookupTable - ld e, l - jr nz, .initialValue1 ; load the appropriate table - ld a, [wSpriteDecodeTable0Ptr] - ld l, a - ld a, [wSpriteDecodeTable0Ptr+1] - jr .tableLookup -.initialValue1 - ld a, [wSpriteDecodeTable1Ptr] - ld l, a - ld a, [wSpriteDecodeTable1Ptr+1] -.tableLookup - ld h, a - ld a, e - add l - ld l, a - jr nc, .noCarry - inc h -.noCarry - ld a, [hl] - bit 0, c - jr nz, .selectLowNybble - swap a ; select high nybble -.selectLowNybble - and $f - ld e, a ; update last decoded data - ret - -DecodeNybble0Table:: - dn $0, $1 - dn $3, $2 - dn $7, $6 - dn $4, $5 - dn $f, $e - dn $c, $d - dn $8, $9 - dn $b, $a -DecodeNybble1Table:: - dn $f, $e - dn $c, $d - dn $8, $9 - dn $b, $a - dn $0, $1 - dn $3, $2 - dn $7, $6 - dn $4, $5 -DecodeNybble0TableFlipped:: - dn $0, $8 - dn $c, $4 - dn $e, $6 - dn $2, $a - dn $f, $7 - dn $3, $b - dn $1, $9 - dn $d, $5 -DecodeNybble1TableFlipped:: - dn $f, $7 - dn $3, $b - dn $1, $9 - dn $d, $5 - dn $0, $8 - dn $c, $4 - dn $e, $6 - dn $2, $a - -; combines the two loaded chunks with xor (the chunk loaded second is the destination). The source chunk is differeintial decoded beforehand. -XorSpriteChunks:: - xor a - ld [wSpriteCurPosX], a - ld [wSpriteCurPosY], a - call ResetSpriteBufferPointers - ld a, [wSpriteOutputPtr] ; points to buffer 1 or 2, depending on flags - ld l, a - ld a, [wSpriteOutputPtr+1] - ld h, a - call SpriteDifferentialDecode ; decode buffer 1 or 2, depending on flags - call ResetSpriteBufferPointers - ld a, [wSpriteOutputPtr] ; source buffer, points to buffer 1 or 2, depending on flags - ld l, a - ld a, [wSpriteOutputPtr+1] - ld h, a - ld a, [wSpriteOutputPtrCached] ; destination buffer, points to buffer 2 or 1, depending on flags - ld e, a - ld a, [wSpriteOutputPtrCached+1] - ld d, a -.xorChunksLoop - ld a, [wSpriteFlipped] - and a - jr z, .notFlipped - push de - ld a, [de] - ld b, a - swap a - and $f - call ReverseNybble ; if flipped reverse the nybbles in the destination buffer - swap a - ld c, a - ld a, b - and $f - call ReverseNybble - or c - pop de - ld [de], a -.notFlipped - ld a, [hli] - ld b, a - ld a, [de] - xor b - ld [de], a - inc de - ld a, [wSpriteCurPosY] - inc a - ld [wSpriteCurPosY], a ; go to next row - ld b, a - ld a, [wSpriteHeight] - cp b - jr nz, .xorChunksLoop ; test if column finished - xor a - ld [wSpriteCurPosY], a - ld a, [wSpriteCurPosX] - add $8 - ld [wSpriteCurPosX], a ; go to next column - ld b, a - ld a, [wSpriteWidth] - cp b - jr nz, .xorChunksLoop ; test if all columns finished - xor a - ld [wSpriteCurPosX], a - ret - -; reverses the bits in the nybble given in register a -ReverseNybble:: - ld de, NybbleReverseTable - add e - ld e, a - jr nc, .noCarry - inc d -.noCarry - ld a, [de] - ret - -; resets sprite buffer pointers to buffer 1 and 2, depending on wSpriteLoadFlags -ResetSpriteBufferPointers:: - ld a, [wSpriteLoadFlags] - bit 0, a - jr nz, .buffer2Selected - ld de, sSpriteBuffer1 - ld hl, sSpriteBuffer2 - jr .storeBufferPointers -.buffer2Selected - ld de, sSpriteBuffer2 - ld hl, sSpriteBuffer1 -.storeBufferPointers - ld a, l - ld [wSpriteOutputPtr], a - ld a, h - ld [wSpriteOutputPtr+1], a - ld a, e - ld [wSpriteOutputPtrCached], a - ld a, d - ld [wSpriteOutputPtrCached+1], a - ret - -; maps each nybble to its reverse -NybbleReverseTable:: - db $0, $8, $4, $c, $2, $a, $6 ,$e, $1, $9, $5, $d, $3, $b, $7 ,$f - -; combines the two loaded chunks with xor (the chunk loaded second is the destination). Both chunks are differeintial decoded beforehand. -UnpackSpriteMode2:: - call ResetSpriteBufferPointers - ld a, [wSpriteFlipped] - push af - xor a - ld [wSpriteFlipped], a ; temporarily clear flipped flag for decoding the destination chunk - ld a, [wSpriteOutputPtrCached] - ld l, a - ld a, [wSpriteOutputPtrCached+1] - ld h, a - call SpriteDifferentialDecode - call ResetSpriteBufferPointers - pop af - ld [wSpriteFlipped], a - jp XorSpriteChunks - -; stores hl into the output pointers -StoreSpriteOutputPointer:: - ld a, l - ld [wSpriteOutputPtr], a - ld [wSpriteOutputPtrCached], a - ld a, h - ld [wSpriteOutputPtr+1], a - ld [wSpriteOutputPtrCached+1], a - ret diff --git a/home/pics.asm b/home/pics.asm new file mode 100644 index 00000000..02683db7 --- /dev/null +++ b/home/pics.asm @@ -0,0 +1,196 @@ +; uncompresses the front or back sprite of the specified mon +; assumes the corresponding mon header is already loaded +; hl contains offset to sprite pointer ($b for front or $d for back) +UncompressMonSprite:: + ld bc, wMonHeader + add hl, bc + ld a, [hli] + ld [wSpriteInputPtr], a ; fetch sprite input pointer + ld a, [hl] + ld [wSpriteInputPtr+1], a +; define (by index number) the bank that a pokemon's image is in +; index = Mew, bank 1 +; index = Kabutops fossil, bank $B +; index < $1F, bank 9 +; $1F ≤ index < $4A, bank $A +; $4A ≤ index < $74, bank $B +; $74 ≤ index < $99, bank $C +; $99 ≤ index, bank $D + ld a, [wcf91] ; XXX name for this ram location + ld b, a + cp MEW + ld a, BANK(MewPicFront) + jr z, .GotBank + ld a, b + cp FOSSIL_KABUTOPS + ld a, BANK(FossilKabutopsPic) + jr z, .GotBank + ld a, b + cp TANGELA + 1 + ld a, BANK(TangelaPicFront) + jr c, .GotBank + ld a, b + cp MOLTRES + 1 + ld a, BANK(MoltresPicFront) + jr c, .GotBank + ld a, b + cp BEEDRILL + 2 + ld a, BANK(BeedrillPicFront) + jr c, .GotBank + ld a, b + cp STARMIE + 1 + ld a, BANK(StarmiePicFront) + jr c, .GotBank + ld a, BANK(VictreebelPicFront) +.GotBank + jp UncompressSpriteData + +; de: destination location +LoadMonFrontSprite:: + push de + ld hl, wMonHFrontSprite - wMonHeader + call UncompressMonSprite + ld hl, wMonHSpriteDim + ld a, [hli] + ld c, a + pop de + ; fall through + +; postprocesses uncompressed sprite chunks to a 2bpp sprite and loads it into video ram +; calculates alignment parameters to place both sprite chunks in the center of the 7*7 tile sprite buffers +; de: destination location +; a,c: sprite dimensions (in tiles of 8x8 each) +LoadUncompressedSpriteData:: + push de + and $f + ld [hSpriteWidth], a ; each byte contains 8 pixels (in 1bpp), so tiles=bytes for width + ld b, a + ld a, $7 + sub b ; 7-w + inc a ; 8-w + srl a ; (8-w)/2 ; horizontal center (in tiles, rounded up) + ld b, a + add a + add a + add a + sub b ; 7*((8-w)/2) ; skip for horizontal center (in tiles) + ld [hSpriteOffset], a + ld a, c + swap a + and $f + ld b, a + add a + add a + add a ; 8*tiles is height in bytes + ld [hSpriteHeight], a + ld a, $7 + sub b ; 7-h ; skip for vertical center (in tiles, relative to current column) + ld b, a + ld a, [hSpriteOffset] + add b ; 7*((8-w)/2) + 7-h ; combined overall offset (in tiles) + add a + add a + add a ; 8*(7*((8-w)/2) + 7-h) ; combined overall offset (in bytes) + ld [hSpriteOffset], a + xor a + ld [$4000], a + ld hl, sSpriteBuffer0 + call ZeroSpriteBuffer ; zero buffer 0 + ld de, sSpriteBuffer1 + ld hl, sSpriteBuffer0 + call AlignSpriteDataCentered ; copy and align buffer 1 to 0 (containing the MSB of the 2bpp sprite) + ld hl, sSpriteBuffer1 + call ZeroSpriteBuffer ; zero buffer 1 + ld de, sSpriteBuffer2 + ld hl, sSpriteBuffer1 + call AlignSpriteDataCentered ; copy and align buffer 2 to 1 (containing the LSB of the 2bpp sprite) + pop de + jp InterlaceMergeSpriteBuffers + +; copies and aligns the sprite data properly inside the sprite buffer +; sprite buffers are 7*7 tiles in size, the loaded sprite is centered within this area +AlignSpriteDataCentered:: + ld a, [hSpriteOffset] + ld b, $0 + ld c, a + add hl, bc + ld a, [hSpriteWidth] +.columnLoop + push af + push hl + ld a, [hSpriteHeight] + ld c, a +.columnInnerLoop + ld a, [de] + inc de + ld [hli], a + dec c + jr nz, .columnInnerLoop + pop hl + ld bc, 7*8 ; 7 tiles + add hl, bc ; advance one full column + pop af + dec a + jr nz, .columnLoop + ret + +; fills the sprite buffer (pointed to in hl) with zeros +ZeroSpriteBuffer:: + ld bc, SPRITEBUFFERSIZE +.nextByteLoop + xor a + ld [hli], a + dec bc + ld a, b + or c + jr nz, .nextByteLoop + ret + +; combines the (7*7 tiles, 1bpp) sprite chunks in buffer 0 and 1 into a 2bpp sprite located in buffer 1 through 2 +; in the resulting sprite, the rows of the two source sprites are interlaced +; de: output address +InterlaceMergeSpriteBuffers:: + xor a + ld [$4000], a + push de + ld hl, sSpriteBuffer2 + (SPRITEBUFFERSIZE - 1) ; destination: end of buffer 2 + ld de, sSpriteBuffer1 + (SPRITEBUFFERSIZE - 1) ; source 2: end of buffer 1 + ld bc, sSpriteBuffer0 + (SPRITEBUFFERSIZE - 1) ; source 1: end of buffer 0 + ld a, SPRITEBUFFERSIZE/2 ; $c4 + ld [hSpriteInterlaceCounter], a +.interlaceLoop + ld a, [de] + dec de + ld [hld], a ; write byte of source 2 + ld a, [bc] + dec bc + ld [hld], a ; write byte of source 1 + ld a, [de] + dec de + ld [hld], a ; write byte of source 2 + ld a, [bc] + dec bc + ld [hld], a ; write byte of source 1 + ld a, [hSpriteInterlaceCounter] + dec a + ld [hSpriteInterlaceCounter], a + jr nz, .interlaceLoop + ld a, [wSpriteFlipped] + and a + jr z, .notFlipped + ld bc, 2*SPRITEBUFFERSIZE + ld hl, sSpriteBuffer1 +.swapLoop + swap [hl] ; if flipped swap nybbles in all bytes + inc hl + dec bc + ld a, b + or c + jr nz, .swapLoop +.notFlipped + pop hl + ld de, sSpriteBuffer1 + ld c, (2*SPRITEBUFFERSIZE)/16 ; $31, number of 16 byte chunks to be copied + ld a, [hLoadedROMBank] + ld b, a + jp CopyVideoData diff --git a/home/uncompress.asm b/home/uncompress.asm index 02683db7..cfc39f0f 100644 --- a/home/uncompress.asm +++ b/home/uncompress.asm @@ -1,196 +1,591 @@ -; uncompresses the front or back sprite of the specified mon -; assumes the corresponding mon header is already loaded -; hl contains offset to sprite pointer ($b for front or $d for back) -UncompressMonSprite:: - ld bc, wMonHeader - add hl, bc - ld a, [hli] - ld [wSpriteInputPtr], a ; fetch sprite input pointer - ld a, [hl] - ld [wSpriteInputPtr+1], a -; define (by index number) the bank that a pokemon's image is in -; index = Mew, bank 1 -; index = Kabutops fossil, bank $B -; index < $1F, bank 9 -; $1F ≤ index < $4A, bank $A -; $4A ≤ index < $74, bank $B -; $74 ≤ index < $99, bank $C -; $99 ≤ index, bank $D - ld a, [wcf91] ; XXX name for this ram location +; bankswitches and runs _UncompressSpriteData +; bank is given in a, sprite input stream is pointed to in wSpriteInputPtr +UncompressSpriteData:: ld b, a - cp MEW - ld a, BANK(MewPicFront) - jr z, .GotBank - ld a, b - cp FOSSIL_KABUTOPS - ld a, BANK(FossilKabutopsPic) - jr z, .GotBank - ld a, b - cp TANGELA + 1 - ld a, BANK(TangelaPicFront) - jr c, .GotBank - ld a, b - cp MOLTRES + 1 - ld a, BANK(MoltresPicFront) - jr c, .GotBank - ld a, b - cp BEEDRILL + 2 - ld a, BANK(BeedrillPicFront) - jr c, .GotBank + ld a, [hLoadedROMBank] + push af ld a, b - cp STARMIE + 1 - ld a, BANK(StarmiePicFront) - jr c, .GotBank - ld a, BANK(VictreebelPicFront) -.GotBank - jp UncompressSpriteData - -; de: destination location -LoadMonFrontSprite:: - push de - ld hl, wMonHFrontSprite - wMonHeader - call UncompressMonSprite - ld hl, wMonHSpriteDim - ld a, [hli] - ld c, a - pop de - ; fall through + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + ld a, SRAM_ENABLE + ld [MBC1SRamEnable], a + xor a + ld [MBC1SRamBank], a + call _UncompressSpriteData + pop af + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + ret -; postprocesses uncompressed sprite chunks to a 2bpp sprite and loads it into video ram -; calculates alignment parameters to place both sprite chunks in the center of the 7*7 tile sprite buffers -; de: destination location -; a,c: sprite dimensions (in tiles of 8x8 each) -LoadUncompressedSpriteData:: - push de - and $f - ld [hSpriteWidth], a ; each byte contains 8 pixels (in 1bpp), so tiles=bytes for width - ld b, a - ld a, $7 - sub b ; 7-w - inc a ; 8-w - srl a ; (8-w)/2 ; horizontal center (in tiles, rounded up) +; initializes necessary data to load a sprite and runs UncompressSpriteDataLoop +_UncompressSpriteData:: + ld hl, sSpriteBuffer1 + ld c, (2*SPRITEBUFFERSIZE) % $100 + ld b, (2*SPRITEBUFFERSIZE) / $100 + xor a + call FillMemory ; clear sprite buffer 1 and 2 + ld a, $1 + ld [wSpriteInputBitCounter], a + ld a, $3 + ld [wSpriteOutputBitOffset], a + xor a + ld [wSpriteCurPosX], a + ld [wSpriteCurPosY], a + ld [wSpriteLoadFlags], a + call ReadNextInputByte ; first byte of input determines sprite width (high nybble) and height (low nybble) in tiles (8x8 pixels) ld b, a + and $f add a add a add a - sub b ; 7*((8-w)/2) ; skip for horizontal center (in tiles) - ld [hSpriteOffset], a - ld a, c + ld [wSpriteHeight], a + ld a, b swap a and $f - ld b, a add a add a - add a ; 8*tiles is height in bytes - ld [hSpriteHeight], a - ld a, $7 - sub b ; 7-h ; skip for vertical center (in tiles, relative to current column) - ld b, a - ld a, [hSpriteOffset] - add b ; 7*((8-w)/2) + 7-h ; combined overall offset (in tiles) - add a add a - add a ; 8*(7*((8-w)/2) + 7-h) ; combined overall offset (in bytes) - ld [hSpriteOffset], a - xor a - ld [$4000], a - ld hl, sSpriteBuffer0 - call ZeroSpriteBuffer ; zero buffer 0 - ld de, sSpriteBuffer1 - ld hl, sSpriteBuffer0 - call AlignSpriteDataCentered ; copy and align buffer 1 to 0 (containing the MSB of the 2bpp sprite) - ld hl, sSpriteBuffer1 - call ZeroSpriteBuffer ; zero buffer 1 - ld de, sSpriteBuffer2 - ld hl, sSpriteBuffer1 - call AlignSpriteDataCentered ; copy and align buffer 2 to 1 (containing the LSB of the 2bpp sprite) - pop de - jp InterlaceMergeSpriteBuffers + ld [wSpriteWidth], a + call ReadNextInputBit + ld [wSpriteLoadFlags], a ; initialite bit1 to 0 and bit0 to the first input bit + ; this will load two chunks of data to sSpriteBuffer1 and sSpriteBuffer2 + ; bit 0 decides in which one the first chunk is placed + ; fall through -; copies and aligns the sprite data properly inside the sprite buffer -; sprite buffers are 7*7 tiles in size, the loaded sprite is centered within this area -AlignSpriteDataCentered:: - ld a, [hSpriteOffset] - ld b, $0 - ld c, a - add hl, bc - ld a, [hSpriteWidth] -.columnLoop - push af - push hl - ld a, [hSpriteHeight] +; uncompresses a chunk from the sprite input data stream (pointed to at wd0da) into sSpriteBuffer1 or sSpriteBuffer2 +; each chunk is a 1bpp sprite. A 2bpp sprite consist of two chunks which are merged afterwards +; note that this is an endless loop which is terminated during a call to MoveToNextBufferPosition by manipulating the stack +UncompressSpriteDataLoop:: + ld hl, sSpriteBuffer1 + ld a, [wSpriteLoadFlags] + bit 0, a + jr z, .useSpriteBuffer1 ; check which buffer to use + ld hl, sSpriteBuffer2 +.useSpriteBuffer1 + call StoreSpriteOutputPointer + ld a, [wSpriteLoadFlags] + bit 1, a + jr z, .startDecompression ; check if last iteration + call ReadNextInputBit ; if last chunk, read 1-2 bit unpacking mode + and a + jr z, .unpackingMode0 ; 0 -> mode 0 + call ReadNextInputBit ; 1 0 -> mode 1 + inc a ; 1 1 -> mode 2 +.unpackingMode0 + ld [wSpriteUnpackMode], a +.startDecompression + call ReadNextInputBit + and a + jr z, .readRLEncodedZeros ; if first bit is 0, the input starts with zeroes, otherwise with (non-zero) input +.readNextInput + call ReadNextInputBit ld c, a -.columnInnerLoop - ld a, [de] - inc de - ld [hli], a + call ReadNextInputBit + sla c + or c ; read next two bits into c + and a + jr z, .readRLEncodedZeros ; 00 -> RLEncoded zeroes following + call WriteSpriteBitsToBuffer ; otherwise write input to output and repeat + call MoveToNextBufferPosition + jr .readNextInput +.readRLEncodedZeros + ld c, $0 ; number of zeroes it length encoded, the number +.countConsecutiveOnesLoop ; of consecutive ones determines the number of bits the number has + call ReadNextInputBit + and a + jr z, .countConsecutiveOnesFinished + inc c + jr .countConsecutiveOnesLoop +.countConsecutiveOnesFinished + ld a, c + add a + ld hl, LengthEncodingOffsetList + add l + ld l, a + jr nc, .noCarry + inc h +.noCarry + ld a, [hli] ; read offset that is added to the number later on + ld e, a ; adding an offset of 2^length - 1 makes every integer uniquely + ld d, [hl] ; representable in the length encoding and saves bits + push de + inc c + ld e, $0 + ld d, e +.readNumberOfZerosLoop ; reads the next c+1 bits of input + call ReadNextInputBit + or e + ld e, a dec c - jr nz, .columnInnerLoop + jr z, .readNumberOfZerosDone + sla e + rl d + jr .readNumberOfZerosLoop +.readNumberOfZerosDone + pop hl ; add the offset + add hl, de + ld e, l + ld d, h +.writeZerosLoop + ld b, e + xor a ; write 00 to buffer + call WriteSpriteBitsToBuffer + ld e, b + call MoveToNextBufferPosition + dec de + ld a, d + and a + jr nz, .continueLoop + ld a, e + and a +.continueLoop + jr nz, .writeZerosLoop + jr .readNextInput + +; moves output pointer to next position +; also cancels the calling function if the all output is done (by removing the return pointer from stack) +; and calls postprocessing functions according to the unpack mode +MoveToNextBufferPosition:: + ld a, [wSpriteHeight] + ld b, a + ld a, [wSpriteCurPosY] + inc a + cp b + jr z, .curColumnDone + ld [wSpriteCurPosY], a + ld a, [wSpriteOutputPtr] + inc a + ld [wSpriteOutputPtr], a + ret nz + ld a, [wSpriteOutputPtr+1] + inc a + ld [wSpriteOutputPtr+1], a + ret +.curColumnDone + xor a + ld [wSpriteCurPosY], a + ld a, [wSpriteOutputBitOffset] + and a + jr z, .bitOffsetsDone + dec a + ld [wSpriteOutputBitOffset], a + ld hl, wSpriteOutputPtrCached + ld a, [hli] + ld [wSpriteOutputPtr], a + ld a, [hl] + ld [wSpriteOutputPtr+1], a + ret +.bitOffsetsDone + ld a, $3 + ld [wSpriteOutputBitOffset], a + ld a, [wSpriteCurPosX] + add $8 + ld [wSpriteCurPosX], a + ld b, a + ld a, [wSpriteWidth] + cp b + jr z, .allColumnsDone + ld a, [wSpriteOutputPtr] + ld l, a + ld a, [wSpriteOutputPtr+1] + ld h, a + inc hl + jp StoreSpriteOutputPointer +.allColumnsDone pop hl - ld bc, 7*8 ; 7 tiles - add hl, bc ; advance one full column - pop af + xor a + ld [wSpriteCurPosX], a + ld a, [wSpriteLoadFlags] + bit 1, a + jr nz, .done ; test if there is one more sprite to go + xor $1 + set 1, a + ld [wSpriteLoadFlags], a + jp UncompressSpriteDataLoop +.done + jp UnpackSprite + +; writes 2 bits (from a) to the output buffer (pointed to from wSpriteOutputPtr) +WriteSpriteBitsToBuffer:: + ld e, a + ld a, [wSpriteOutputBitOffset] + and a + jr z, .offset0 + cp $2 + jr c, .offset1 + jr z, .offset2 + rrc e ; offset 3 + rrc e + jr .offset0 +.offset1 + sla e + sla e + jr .offset0 +.offset2 + swap e +.offset0 + ld a, [wSpriteOutputPtr] + ld l, a + ld a, [wSpriteOutputPtr+1] + ld h, a + ld a, [hl] + or e + ld [hl], a + ret + +; reads next bit from input stream and returns it in a +ReadNextInputBit:: + ld a, [wSpriteInputBitCounter] dec a - jr nz, .columnLoop + jr nz, .curByteHasMoreBitsToRead + call ReadNextInputByte + ld [wSpriteInputCurByte], a + ld a, $8 +.curByteHasMoreBitsToRead + ld [wSpriteInputBitCounter], a + ld a, [wSpriteInputCurByte] + rlca + ld [wSpriteInputCurByte], a + and $1 ret -; fills the sprite buffer (pointed to in hl) with zeros -ZeroSpriteBuffer:: - ld bc, SPRITEBUFFERSIZE -.nextByteLoop - xor a - ld [hli], a - dec bc +; reads next byte from input stream and returns it in a +ReadNextInputByte:: + ld a, [wSpriteInputPtr] + ld l, a + ld a, [wSpriteInputPtr+1] + ld h, a + ld a, [hli] + ld b, a + ld a, l + ld [wSpriteInputPtr], a + ld a, h + ld [wSpriteInputPtr+1], a ld a, b - or c - jr nz, .nextByteLoop ret -; combines the (7*7 tiles, 1bpp) sprite chunks in buffer 0 and 1 into a 2bpp sprite located in buffer 1 through 2 -; in the resulting sprite, the rows of the two source sprites are interlaced -; de: output address -InterlaceMergeSpriteBuffers:: +; the nth item is 2^n - 1 +LengthEncodingOffsetList:: + dw %0000000000000001 + dw %0000000000000011 + dw %0000000000000111 + dw %0000000000001111 + dw %0000000000011111 + dw %0000000000111111 + dw %0000000001111111 + dw %0000000011111111 + dw %0000000111111111 + dw %0000001111111111 + dw %0000011111111111 + dw %0000111111111111 + dw %0001111111111111 + dw %0011111111111111 + dw %0111111111111111 + dw %1111111111111111 + +; unpacks the sprite data depending on the unpack mode +UnpackSprite:: + ld a, [wSpriteUnpackMode] + cp $2 + jp z, UnpackSpriteMode2 + and a + jp nz, XorSpriteChunks + ld hl, sSpriteBuffer1 + call SpriteDifferentialDecode + ld hl, sSpriteBuffer2 + ; fall through + +; decodes differential encoded sprite data +; input bit value 0 preserves the current bit value and input bit value 1 toggles it (starting from initial value 0). +SpriteDifferentialDecode:: xor a - ld [$4000], a - push de - ld hl, sSpriteBuffer2 + (SPRITEBUFFERSIZE - 1) ; destination: end of buffer 2 - ld de, sSpriteBuffer1 + (SPRITEBUFFERSIZE - 1) ; source 2: end of buffer 1 - ld bc, sSpriteBuffer0 + (SPRITEBUFFERSIZE - 1) ; source 1: end of buffer 0 - ld a, SPRITEBUFFERSIZE/2 ; $c4 - ld [hSpriteInterlaceCounter], a -.interlaceLoop - ld a, [de] - dec de - ld [hld], a ; write byte of source 2 - ld a, [bc] - dec bc - ld [hld], a ; write byte of source 1 - ld a, [de] - dec de - ld [hld], a ; write byte of source 2 - ld a, [bc] - dec bc - ld [hld], a ; write byte of source 1 - ld a, [hSpriteInterlaceCounter] - dec a - ld [hSpriteInterlaceCounter], a - jr nz, .interlaceLoop + ld [wSpriteCurPosX], a + ld [wSpriteCurPosY], a + call StoreSpriteOutputPointer ld a, [wSpriteFlipped] and a jr z, .notFlipped - ld bc, 2*SPRITEBUFFERSIZE - ld hl, sSpriteBuffer1 -.swapLoop - swap [hl] ; if flipped swap nybbles in all bytes + ld hl, DecodeNybble0TableFlipped + ld de, DecodeNybble1TableFlipped + jr .storeDecodeTablesPointers +.notFlipped + ld hl, DecodeNybble0Table + ld de, DecodeNybble1Table +.storeDecodeTablesPointers + ld a, l + ld [wSpriteDecodeTable0Ptr], a + ld a, h + ld [wSpriteDecodeTable0Ptr+1], a + ld a, e + ld [wSpriteDecodeTable1Ptr], a + ld a, d + ld [wSpriteDecodeTable1Ptr+1], a + ld e, $0 ; last decoded nybble, initialized to 0 +.decodeNextByteLoop + ld a, [wSpriteOutputPtr] + ld l, a + ld a, [wSpriteOutputPtr+1] + ld h, a + ld a, [hl] + ld b, a + swap a + and $f + call DifferentialDecodeNybble ; decode high nybble + swap a + ld d, a + ld a, b + and $f + call DifferentialDecodeNybble ; decode low nybble + or d + ld b, a + ld a, [wSpriteOutputPtr] + ld l, a + ld a, [wSpriteOutputPtr+1] + ld h, a + ld a, b + ld [hl], a ; write back decoded data + ld a, [wSpriteHeight] + add l ; move on to next column + jr nc, .noCarry + inc h +.noCarry + ld [wSpriteOutputPtr], a + ld a, h + ld [wSpriteOutputPtr+1], a + ld a, [wSpriteCurPosX] + add $8 + ld [wSpriteCurPosX], a + ld b, a + ld a, [wSpriteWidth] + cp b + jr nz, .decodeNextByteLoop ; test if current row is done + xor a + ld e, a + ld [wSpriteCurPosX], a + ld a, [wSpriteCurPosY] ; move on to next row + inc a + ld [wSpriteCurPosY], a + ld b, a + ld a, [wSpriteHeight] + cp b + jr z, .done ; test if all rows finished + ld a, [wSpriteOutputPtrCached] + ld l, a + ld a, [wSpriteOutputPtrCached+1] + ld h, a inc hl - dec bc + call StoreSpriteOutputPointer + jr .decodeNextByteLoop +.done + xor a + ld [wSpriteCurPosY], a + ret + +; decodes the nybble stored in a. Last decoded data is assumed to be in e (needed to determine if initial value is 0 or 1) +DifferentialDecodeNybble:: + srl a ; c=a%2, a/=2 + ld c, $0 + jr nc, .evenNumber + ld c, $1 +.evenNumber + ld l, a + ld a, [wSpriteFlipped] + and a + jr z, .notFlipped ; determine if initial value is 0 or one + bit 3, e ; if flipped, consider MSB of last data + jr .selectLookupTable +.notFlipped + bit 0, e ; else consider LSB +.selectLookupTable + ld e, l + jr nz, .initialValue1 ; load the appropriate table + ld a, [wSpriteDecodeTable0Ptr] + ld l, a + ld a, [wSpriteDecodeTable0Ptr+1] + jr .tableLookup +.initialValue1 + ld a, [wSpriteDecodeTable1Ptr] + ld l, a + ld a, [wSpriteDecodeTable1Ptr+1] +.tableLookup + ld h, a + ld a, e + add l + ld l, a + jr nc, .noCarry + inc h +.noCarry + ld a, [hl] + bit 0, c + jr nz, .selectLowNybble + swap a ; select high nybble +.selectLowNybble + and $f + ld e, a ; update last decoded data + ret + +DecodeNybble0Table:: + dn $0, $1 + dn $3, $2 + dn $7, $6 + dn $4, $5 + dn $f, $e + dn $c, $d + dn $8, $9 + dn $b, $a +DecodeNybble1Table:: + dn $f, $e + dn $c, $d + dn $8, $9 + dn $b, $a + dn $0, $1 + dn $3, $2 + dn $7, $6 + dn $4, $5 +DecodeNybble0TableFlipped:: + dn $0, $8 + dn $c, $4 + dn $e, $6 + dn $2, $a + dn $f, $7 + dn $3, $b + dn $1, $9 + dn $d, $5 +DecodeNybble1TableFlipped:: + dn $f, $7 + dn $3, $b + dn $1, $9 + dn $d, $5 + dn $0, $8 + dn $c, $4 + dn $e, $6 + dn $2, $a + +; combines the two loaded chunks with xor (the chunk loaded second is the destination). The source chunk is differeintial decoded beforehand. +XorSpriteChunks:: + xor a + ld [wSpriteCurPosX], a + ld [wSpriteCurPosY], a + call ResetSpriteBufferPointers + ld a, [wSpriteOutputPtr] ; points to buffer 1 or 2, depending on flags + ld l, a + ld a, [wSpriteOutputPtr+1] + ld h, a + call SpriteDifferentialDecode ; decode buffer 1 or 2, depending on flags + call ResetSpriteBufferPointers + ld a, [wSpriteOutputPtr] ; source buffer, points to buffer 1 or 2, depending on flags + ld l, a + ld a, [wSpriteOutputPtr+1] + ld h, a + ld a, [wSpriteOutputPtrCached] ; destination buffer, points to buffer 2 or 1, depending on flags + ld e, a + ld a, [wSpriteOutputPtrCached+1] + ld d, a +.xorChunksLoop + ld a, [wSpriteFlipped] + and a + jr z, .notFlipped + push de + ld a, [de] + ld b, a + swap a + and $f + call ReverseNybble ; if flipped reverse the nybbles in the destination buffer + swap a + ld c, a ld a, b + and $f + call ReverseNybble or c - jr nz, .swapLoop + pop de + ld [de], a .notFlipped - pop hl - ld de, sSpriteBuffer1 - ld c, (2*SPRITEBUFFERSIZE)/16 ; $31, number of 16 byte chunks to be copied - ld a, [hLoadedROMBank] + ld a, [hli] + ld b, a + ld a, [de] + xor b + ld [de], a + inc de + ld a, [wSpriteCurPosY] + inc a + ld [wSpriteCurPosY], a ; go to next row + ld b, a + ld a, [wSpriteHeight] + cp b + jr nz, .xorChunksLoop ; test if column finished + xor a + ld [wSpriteCurPosY], a + ld a, [wSpriteCurPosX] + add $8 + ld [wSpriteCurPosX], a ; go to next column ld b, a - jp CopyVideoData + ld a, [wSpriteWidth] + cp b + jr nz, .xorChunksLoop ; test if all columns finished + xor a + ld [wSpriteCurPosX], a + ret + +; reverses the bits in the nybble given in register a +ReverseNybble:: + ld de, NybbleReverseTable + add e + ld e, a + jr nc, .noCarry + inc d +.noCarry + ld a, [de] + ret + +; resets sprite buffer pointers to buffer 1 and 2, depending on wSpriteLoadFlags +ResetSpriteBufferPointers:: + ld a, [wSpriteLoadFlags] + bit 0, a + jr nz, .buffer2Selected + ld de, sSpriteBuffer1 + ld hl, sSpriteBuffer2 + jr .storeBufferPointers +.buffer2Selected + ld de, sSpriteBuffer2 + ld hl, sSpriteBuffer1 +.storeBufferPointers + ld a, l + ld [wSpriteOutputPtr], a + ld a, h + ld [wSpriteOutputPtr+1], a + ld a, e + ld [wSpriteOutputPtrCached], a + ld a, d + ld [wSpriteOutputPtrCached+1], a + ret + +; maps each nybble to its reverse +NybbleReverseTable:: + db $0, $8, $4, $c, $2, $a, $6 ,$e, $1, $9, $5, $d, $3, $b, $7 ,$f + +; combines the two loaded chunks with xor (the chunk loaded second is the destination). Both chunks are differeintial decoded beforehand. +UnpackSpriteMode2:: + call ResetSpriteBufferPointers + ld a, [wSpriteFlipped] + push af + xor a + ld [wSpriteFlipped], a ; temporarily clear flipped flag for decoding the destination chunk + ld a, [wSpriteOutputPtrCached] + ld l, a + ld a, [wSpriteOutputPtrCached+1] + ld h, a + call SpriteDifferentialDecode + call ResetSpriteBufferPointers + pop af + ld [wSpriteFlipped], a + jp XorSpriteChunks + +; stores hl into the output pointers +StoreSpriteOutputPointer:: + ld a, l + ld [wSpriteOutputPtr], a + ld [wSpriteOutputPtrCached], a + ld a, h + ld [wSpriteOutputPtr+1], a + ld [wSpriteOutputPtrCached+1], a + ret -- cgit v1.2.3 From cdfab2e8194eff4559a02aac0fb7c9aa6b989686 Mon Sep 17 00:00:00 2001 From: Rangi Date: Fri, 3 Jul 2020 23:19:59 -0400 Subject: Document why Mew is set apart --- data/pokemon/mew.asm | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/data/pokemon/mew.asm b/data/pokemon/mew.asm index 972f3d05..ad8cb9b8 100644 --- a/data/pokemon/mew.asm +++ b/data/pokemon/mew.asm @@ -1,3 +1,13 @@ +; Mew's pics and base data are not grouped with the other Pokémon +; because it was a last-minute addition "as a kind of prank". +; Shigeki Morimoto explained in an Iwata Asks interview: +; "We put Mew in right at the very end. The cartridge was really full and +; there wasn't room for much more on there. Then the debug features which +; weren't going to be included in the final version of the game were removed, +; creating a miniscule 300 bytes of free space. So we thought that we could +; slot Mew in there. What we did would be unthinkable nowadays!" +; http://iwataasks.nintendo.com/interviews/#/ds/pokemon/0/0 + MewPicFront:: INCBIN "gfx/pokemon/front/mew.pic" MewPicBack:: INCBIN "gfx/pokemon/back/mewb.pic" -- cgit v1.2.3 From 7e92d5ba8c7d7c255a49bce76239ec12d6398cef Mon Sep 17 00:00:00 2001 From: Rangi Date: Sat, 4 Jul 2020 00:37:10 -0400 Subject: Make suggested changes from review --- constants/music_constants.asm | 1 + constants/palette_constants.asm | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/constants/music_constants.asm b/constants/music_constants.asm index 7bbe5c62..3f3f111e 100644 --- a/constants/music_constants.asm +++ b/constants/music_constants.asm @@ -166,6 +166,7 @@ MAX_SFX_ID_1 EQUS "SFX_SAFARI_ZONE_PA" ; AUDIO_2 music_const SFX_LEVEL_UP, SFX_Level_Up + music_const SFX_BALL_TOSS, SFX_Ball_Toss music_const SFX_BALL_POOF, SFX_Ball_Poof music_const SFX_FAINT_THUD, SFX_Faint_Thud diff --git a/constants/palette_constants.asm b/constants/palette_constants.asm index da63651a..567c3cfc 100755 --- a/constants/palette_constants.asm +++ b/constants/palette_constants.asm @@ -21,8 +21,8 @@ const SET_PAL_POKEMON_WHOLE_SCREEN ; $0B const SET_PAL_GAME_FREAK_INTRO ; $0C const SET_PAL_TRAINER_CARD ; $0D -const_value = -4 - const UPDATE_PARTY_MENU_BLK_PACKET ; $FC + +UPDATE_PARTY_MENU_BLK_PACKET EQU $fc ; sgb palettes const_def -- cgit v1.2.3 From e4e0af4d6713161d46cc0a1d580645ca40d6fa81 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sat, 4 Jul 2020 01:00:45 -0400 Subject: Remove remaining raw $xxxx values, and replace "+ -1" with "- 1" (supported by rgbds 0.4.0) --- constants/hardware_constants.asm | 13 +++++ constants/move_constants.asm | 2 +- constants/pokedex_constants.asm | 2 +- constants/pokemon_constants.asm | 2 +- data/moves/effects_pointers.asm | 14 +++--- engine/battle/animations.asm | 6 +-- engine/battle/core.asm | 12 ++--- engine/battle/trainer_ai.asm | 2 +- engine/events/diploma.asm | 2 +- engine/events/prize_menu.asm | 4 +- engine/menus/display_text_id_init.asm | 4 +- engine/menus/save.asm | 4 +- engine/menus/start_sub_menus.asm | 10 ++-- engine/movie/title.asm | 2 +- engine/overworld/map_sprites.asm | 3 +- engine/overworld/wild_mons.asm | 6 +-- engine/pokemon/status_screen.asm | 4 +- engine/slots/slot_machine.asm | 2 +- home/init.asm | 12 ++--- home/list_menu.asm | 2 +- home/names2.asm | 2 +- home/overworld.asm | 12 ++--- home/pics.asm | 4 +- home/predef_text.asm | 2 +- macros/scripts/events.asm | 12 ++--- macros/wram.asm | 92 ++++++++++++++++++++++++++++++++++ scripts/OaksLab.asm | 2 +- scripts/VermilionDock.asm | 2 +- wram.asm | 94 ++--------------------------------- 29 files changed, 172 insertions(+), 158 deletions(-) create mode 100644 macros/wram.asm diff --git a/constants/hardware_constants.asm b/constants/hardware_constants.asm index 59ec6170..993a02f5 100644 --- a/constants/hardware_constants.asm +++ b/constants/hardware_constants.asm @@ -2,6 +2,19 @@ GBC EQU $11 +; memory map +VRAM_Begin EQU $8000 +VRAM_End EQU $a000 +SRAM_Begin EQU $a000 +SRAM_End EQU $c000 +WRAM0_Begin EQU $c000 +WRAM0_End EQU $d000 +WRAM1_Begin EQU $d000 +WRAM1_End EQU $e000 +; hardware registers $ff00-$ff80 (see below) +HRAM_Begin EQU $ff80 +HRAM_End EQU $ffff + ; MBC1 MBC1SRamEnable EQU $0000 MBC1RomBank EQU $2000 diff --git a/constants/move_constants.asm b/constants/move_constants.asm index 850662de..5dd06a41 100644 --- a/constants/move_constants.asm +++ b/constants/move_constants.asm @@ -165,7 +165,7 @@ const SLASH ; a3 const SUBSTITUTE ; a4 -NUM_ATTACKS EQU const_value + -1 +NUM_ATTACKS EQU const_value - 1 const STRUGGLE ; a5 diff --git a/constants/pokedex_constants.asm b/constants/pokedex_constants.asm index c8605852..e462586e 100644 --- a/constants/pokedex_constants.asm +++ b/constants/pokedex_constants.asm @@ -151,4 +151,4 @@ const DEX_MEWTWO ; 150 const DEX_MEW ; 151 -NUM_POKEMON EQU const_value + -1 +NUM_POKEMON EQU const_value - 1 diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm index 5484a65d..7abdd4d3 100644 --- a/constants/pokemon_constants.asm +++ b/constants/pokemon_constants.asm @@ -191,4 +191,4 @@ const WEEPINBELL ; $BD const VICTREEBEL ; $BE -NUM_POKEMON_INDEXES EQU const_value + -1 +NUM_POKEMON_INDEXES EQU const_value - 1 diff --git a/data/moves/effects_pointers.asm b/data/moves/effects_pointers.asm index 0d36e887..02f6e5c6 100644 --- a/data/moves/effects_pointers.asm +++ b/data/moves/effects_pointers.asm @@ -7,7 +7,7 @@ MoveEffectPointerTable: dw FreezeBurnParalyzeEffect ; PARALYZE_SIDE_EFFECT1 dw ExplodeEffect ; EXPLODE_EFFECT dw DrainHPEffect ; DREAM_EATER_EFFECT - dw $0000 ; MIRROR_MOVE_EFFECT + dw NULL ; MIRROR_MOVE_EFFECT dw StatModifierUpEffect ; ATTACK_UP1_EFFECT dw StatModifierUpEffect ; DEFENSE_UP1_EFFECT dw StatModifierUpEffect ; SPEED_UP1_EFFECT @@ -15,7 +15,7 @@ MoveEffectPointerTable: dw StatModifierUpEffect ; ACCURACY_UP1_EFFECT dw StatModifierUpEffect ; EVASION_UP1_EFFECT dw PayDayEffect ; PAY_DAY_EFFECT - dw $0000 ; SWIFT_EFFECT + dw NULL ; SWIFT_EFFECT dw StatModifierDownEffect ; ATTACK_DOWN1_EFFECT dw StatModifierDownEffect ; DEFENSE_DOWN1_EFFECT dw StatModifierDownEffect ; SPEED_DOWN1_EFFECT @@ -38,12 +38,12 @@ MoveEffectPointerTable: dw FlinchSideEffect ; FLINCH_SIDE_EFFECT2 dw OneHitKOEffect ; OHKO_EFFECT dw ChargeEffect ; CHARGE_EFFECT - dw $0000 ; SUPER_FANG_EFFECT - dw $0000 ; SPECIAL_DAMAGE_EFFECT + dw NULL ; SUPER_FANG_EFFECT + dw NULL ; SPECIAL_DAMAGE_EFFECT dw TrappingEffect ; TRAPPING_EFFECT dw ChargeEffect ; FLY_EFFECT dw TwoToFiveAttacksEffect ; ATTACK_TWICE_EFFECT - dw $0000 ; JUMP_KICK_EFFECT + dw NULL ; JUMP_KICK_EFFECT dw MistEffect ; MIST_EFFECT dw FocusEnergyEffect ; FOCUS_ENERGY_EFFECT dw RecoilEffect ; RECOIL_EFFECT @@ -76,12 +76,12 @@ MoveEffectPointerTable: dw StatModifierDownEffect ; unused effect dw ConfusionSideEffect ; CONFUSION_SIDE_EFFECT dw TwoToFiveAttacksEffect ; TWINEEDLE_EFFECT - dw $0000 ; unused effect + dw NULL ; unused effect dw SubstituteEffect ; SUBSTITUTE_EFFECT dw HyperBeamEffect ; HYPER_BEAM_EFFECT dw RageEffect ; RAGE_EFFECT dw MimicEffect ; MIMIC_EFFECT - dw $0000 ; METRONOME_EFFECT + dw NULL ; METRONOME_EFFECT dw LeechSeedEffect ; LEECH_SEED_EFFECT dw SplashEffect ; SPLASH_EFFECT dw DisableEffect ; DISABLE_EFFECT diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index d858e066..ee476ce9 100755 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -1735,7 +1735,7 @@ AnimationSlideMonDownAndHide: jr nz, .loop call AnimationHideMonPic ld hl, wTempPic - ld bc, $0310 + ld bc, $310 xor a call FillMemory jp CopyTempPicToMonPic @@ -1896,7 +1896,7 @@ AnimationSubstitute: ; Changes the pokemon's sprite to the mini sprite ld hl, wTempPic xor a - ld bc, $0310 + ld bc, $310 call FillMemory ld a, [hWhoseTurn] and a @@ -1932,7 +1932,7 @@ AnimationSubstitute: jp AnimationShowMonPic CopySlowbroSpriteData: - ld bc, $0010 + ld bc, $10 ld a, BANK(SlowbroSprite) jp FarCopyData2 diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 00852b2b..6881aef5 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -582,7 +582,7 @@ HandlePoisonBurnLeechSeed_DecreaseOwnHP: ld a, [de] ; increment toxic counter inc a ld [de], a - ld hl, $0000 + ld hl, 0 .toxicTicksLoop add hl, bc dec a @@ -5345,8 +5345,8 @@ MoveHitTest: ret z ; Swift never misses (interestingly, Azure Heights lists this is a myth, but it appears to be true) call CheckTargetSubstitute ; substitute check (note that this overwrites a) jr z, .checkForDigOrFlyStatus -; this code is buggy. it's supposed to prevent HP draining moves from working on substitutes. -; since $7b79 overwrites a with either $00 or $01, it never works. +; This code is buggy. It's supposed to prevent HP draining moves from working on substitutes. +; Since CheckTargetSubstitute overwrites a with either $00 or $01, it never works. cp DRAIN_HP_EFFECT jp z, .moveMissed cp DREAM_EATER_EFFECT @@ -6335,9 +6335,9 @@ LoadPlayerBackPic: ld de, vBackPic call InterlaceMergeSpriteBuffers ld a, $a - ld [$0], a + ld [MBC1SRamEnable], a xor a - ld [$4000], a + ld [MBC1SRamBank], a ld hl, vSprites ld de, sSpriteBuffer1 ld a, [hLoadedROMBank] @@ -6345,7 +6345,7 @@ LoadPlayerBackPic: ld c, 7 * 7 call CopyVideoData xor a - ld [$0], a + ld [MBC1SRamEnable], a ld a, $31 ld [hStartTileID], a coord hl, 1, 5 diff --git a/engine/battle/trainer_ai.asm b/engine/battle/trainer_ai.asm index 2178be38..d61b44f8 100644 --- a/engine/battle/trainer_ai.asm +++ b/engine/battle/trainer_ai.asm @@ -134,7 +134,7 @@ AIMoveChoiceModification1: push de push bc ld hl, StatusAilmentMoveEffects - ld de, $0001 + ld de, 1 call IsInArray pop bc pop de diff --git a/engine/events/diploma.asm b/engine/events/diploma.asm index 24bd2f22..53d78e57 100755 --- a/engine/events/diploma.asm +++ b/engine/events/diploma.asm @@ -9,7 +9,7 @@ DisplayDiploma:: call DisableLCD ld hl, CircleTile ld de, vChars2 + $700 - ld bc, $0010 + ld bc, $10 ld a, BANK(CircleTile) call FarCopyData2 coord hl, 0, 0 diff --git a/engine/events/prize_menu.asm b/engine/events/prize_menu.asm index aa86f828..5a00a89e 100755 --- a/engine/events/prize_menu.asm +++ b/engine/events/prize_menu.asm @@ -131,10 +131,8 @@ GetPrizeMenuId: coord hl, 13, 5 ; reg. c: ; [low nybble] number of bytes -; [bit 765 = %100] space-padding (not zero-padding) +; [bits 765 = %100] space-padding (not zero-padding) ld c, (1 << 7 | 2) -; Function $15CD displays BCD value (same routine -; used by text-command $02) call PrintBCDNumber ld de, wPrize2Price coord hl, 13, 7 diff --git a/engine/menus/display_text_id_init.asm b/engine/menus/display_text_id_init.asm index e1f6c678..45c76f9c 100644 --- a/engine/menus/display_text_id_init.asm +++ b/engine/menus/display_text_id_init.asm @@ -43,7 +43,7 @@ DisplayTextIDInit:: ; the original direction they were facing must be restored after the dialogue is over ld hl, wSpriteStateData1 + $19 ld c, $0f - ld de, $0010 + ld de, $10 .spriteFacingDirectionCopyLoop ld a, [hl] inc h @@ -55,7 +55,7 @@ DisplayTextIDInit:: ; loop to force all the sprites in the middle of animation to stand still ; (so that they don't like they're frozen mid-step during the dialogue) ld hl, wSpriteStateData1 + 2 - ld de, $0010 + ld de, $10 ld c, e .spriteStandStillLoop ld a, [hl] diff --git a/engine/menus/save.asm b/engine/menus/save.asm index f2ecc3aa..ee73c850 100755 --- a/engine/menus/save.asm +++ b/engine/menus/save.asm @@ -702,7 +702,7 @@ ClearSAV: PadSRAM_FF: ld [MBC1SRamBank], a - ld hl, $a000 ; start of SRAM - ld bc, $2000 ; size of SRAM + ld hl, SRAM_Begin + ld bc, SRAM_End - SRAM_Begin ld a, $ff jp FillMemory diff --git a/engine/menus/start_sub_menus.asm b/engine/menus/start_sub_menus.asm index 43c767e2..526540df 100755 --- a/engine/menus/start_sub_menus.asm +++ b/engine/menus/start_sub_menus.asm @@ -491,12 +491,12 @@ DrawTrainerInfo: call CopyData ld hl, TrainerInfoTextBoxTileGraphics ; trainer info text box tile patterns ld de, vChars2 + $770 - ld bc, $0080 + ld bc, $80 push bc call TrainerInfo_FarCopyData ld hl, BlankLeaderNames ld de, vChars2 + $600 - ld bc, $0170 + ld bc, $170 call TrainerInfo_FarCopyData pop bc ld hl, BadgeNumbersTileGraphics ; badge number tile patterns @@ -504,14 +504,14 @@ DrawTrainerInfo: call TrainerInfo_FarCopyData ld hl, GymLeaderFaceAndBadgeTileGraphics ; gym leader face and badge tile patterns ld de, vChars2 + $200 - ld bc, $0400 + ld bc, $400 ld a, $03 call FarCopyData2 ld hl, TextBoxGraphics - ld de, $00d0 + ld de, $d0 add hl, de ; hl = colon tile pattern ld de, vChars1 + $560 - ld bc, $0010 + ld bc, $10 ld a, $04 push bc call FarCopyData2 diff --git a/engine/movie/title.asm b/engine/movie/title.asm index 1a2d16a0..9cbe5494 100755 --- a/engine/movie/title.asm +++ b/engine/movie/title.asm @@ -317,7 +317,7 @@ DrawPlayerCharacter: xor a ld [wPlayerCharacterOAMTile], a ld hl, wOAMBuffer - ld de, $605a + lb de, $60, $5a ld b, 7 .loop push de diff --git a/engine/overworld/map_sprites.asm b/engine/overworld/map_sprites.asm index eb8edb10..904e9b04 100755 --- a/engine/overworld/map_sprites.asm +++ b/engine/overworld/map_sprites.asm @@ -133,8 +133,7 @@ LoadMapSpriteTilePatterns: jr nc, .fourTileSpriteVRAMAddr ld d, a dec d -; Equivalent to multiplying $C0 (number of bytes in 12 tiles) times the VRAM -; slot and adding the result to $8000 (the VRAM base address). +; vSprites += [hVRAMSlot] * $C0 (the number of bytes in 12 tiles) .calculateVRAMAddrLoop add hl, bc dec d diff --git a/engine/overworld/wild_mons.asm b/engine/overworld/wild_mons.asm index 24dc7681..2593e0ec 100644 --- a/engine/overworld/wild_mons.asm +++ b/engine/overworld/wild_mons.asm @@ -16,10 +16,10 @@ LoadWildData:: jr z, .NoGrassData ; if no grass data, skip to surfing data push hl ld de, wGrassMons ; otherwise, load grass data - ld bc, $0014 + ld bc, $14 call CopyData pop hl - ld bc, $0014 + ld bc, $14 add hl, bc .NoGrassData ld a, [hli] @@ -27,7 +27,7 @@ LoadWildData:: and a ret z ; if no water data, we're done ld de, wWaterMons ; otherwise, load surfing data - ld bc, $0014 + ld bc, $14 jp CopyData INCLUDE "data/wild/grass_water.asm" diff --git a/engine/pokemon/status_screen.asm b/engine/pokemon/status_screen.asm index f66cdf5a..b262a8b7 100755 --- a/engine/pokemon/status_screen.asm +++ b/engine/pokemon/status_screen.asm @@ -254,7 +254,7 @@ PrintStatsBox: ld c, 8 call TextBoxBorder ; Draws the box coord hl, 1, 9 ; Start printing stats from here - ld bc, $0019 ; Number offset + ld bc, $19 ; Number offset jr .PrintStats .DifferentBox coord hl, 9, 2 @@ -262,7 +262,7 @@ PrintStatsBox: ld c, 9 call TextBoxBorder coord hl, 11, 3 - ld bc, $0018 + ld bc, $18 .PrintStats push bc push hl diff --git a/engine/slots/slot_machine.asm b/engine/slots/slot_machine.asm index 16696713..c3de5dd2 100755 --- a/engine/slots/slot_machine.asm +++ b/engine/slots/slot_machine.asm @@ -31,7 +31,7 @@ PromptUserToPlaySlots: xor a ld [wSlotMachineAllowMatchesCounter], a ld hl, wStoppingWhichSlotMachineWheel - ld bc, $0014 + ld bc, $14 call FillMemory call MainSlotMachineLoop ld hl, wd730 diff --git a/home/init.asm b/home/init.asm index 48294fa6..83238bad 100644 --- a/home/init.asm +++ b/home/init.asm @@ -41,8 +41,8 @@ rLCDC_DEFAULT EQU %11100011 ld sp, wStack - ld hl, $c000 ; start of WRAM - ld bc, $2000 ; size of WRAM + ld hl, WRAM0_Begin + ld bc, WRAM1_End - WRAM0_Begin .loop ld [hl], 0 inc hl @@ -53,8 +53,8 @@ rLCDC_DEFAULT EQU %11100011 call ClearVram - ld hl, $ff80 ; start of HRAM - ld bc, $ffff - $ff80 ; size of HRAM + ld hl, HRAM_Begin + ld bc, HRAM_End - HRAM_Begin call FillMemory call ClearSprites @@ -119,8 +119,8 @@ rLCDC_DEFAULT EQU %11100011 jp SetDefaultNamesBeforeTitlescreen ClearVram:: - ld hl, $8000 - ld bc, $2000 + ld hl, VRAM_Begin + ld bc, VRAM_End - VRAM_Begin xor a jp FillMemory diff --git a/home/list_menu.asm b/home/list_menu.asm index 68335ed5..4ce973b2 100644 --- a/home/list_menu.asm +++ b/home/list_menu.asm @@ -454,7 +454,7 @@ PrintListMenuEntries:: ld [wLoadedMonLevel], a .skipCopyingLevel pop hl - ld bc, $001c + ld bc, $1c add hl, bc call PrintLevel pop af diff --git a/home/names2.asm b/home/names2.asm index 178a0780..319febd3 100644 --- a/home/names2.asm +++ b/home/names2.asm @@ -77,7 +77,7 @@ GetName:: ld h, d ld l, e ld de, wcd6d - ld bc, $0014 + ld bc, $14 call CopyData .gotPtr ld a, e diff --git a/home/overworld.asm b/home/overworld.asm index c959beb6..79e4ea97 100644 --- a/home/overworld.asm +++ b/home/overworld.asm @@ -1424,18 +1424,18 @@ LoadCurrentMapView:: dec b jr nz, .rowLoop ld hl, wTileMapBackup - ld bc, $0000 + ld bc, $0 .adjustForYCoordWithinTileBlock ld a, [wYBlockCoord] and a jr z, .adjustForXCoordWithinTileBlock - ld bc, $0030 + ld bc, $30 add hl, bc .adjustForXCoordWithinTileBlock ld a, [wXBlockCoord] and a jr z, .copyToVisibleAreaBuffer - ld bc, $0002 + ld bc, $2 add hl, bc .copyToVisibleAreaBuffer coord de, 0, 0 ; base address for the tiles that are directly transferred to VRAM during V-blank @@ -1739,7 +1739,7 @@ ScheduleSouthRowRedraw:: ld l, a ld a, [wMapViewVRAMPointer + 1] ld h, a - ld bc, $0200 + ld bc, $200 add hl, bc ld a, h and $03 @@ -1835,7 +1835,7 @@ DrawTileBlock:: ld a, [de] ld [hl], a inc de - ld bc, $0015 + ld bc, $15 add hl, bc pop bc dec c @@ -2180,7 +2180,7 @@ LoadMapHeader:: jr nz, .zeroSpriteDataLoop ; initialize all C100-C1FF sprite entries to disabled (other than player's) ld hl, wSpriteStateData1 + $12 - ld de, $0010 + ld de, $10 ld c, $0f .disableSpriteEntriesLoop ld [hl], $ff diff --git a/home/pics.asm b/home/pics.asm index 02683db7..c6d99cbb 100644 --- a/home/pics.asm +++ b/home/pics.asm @@ -93,7 +93,7 @@ LoadUncompressedSpriteData:: add a ; 8*(7*((8-w)/2) + 7-h) ; combined overall offset (in bytes) ld [hSpriteOffset], a xor a - ld [$4000], a + ld [MBC1SRamBank], a ld hl, sSpriteBuffer0 call ZeroSpriteBuffer ; zero buffer 0 ld de, sSpriteBuffer1 @@ -151,7 +151,7 @@ ZeroSpriteBuffer:: ; de: output address InterlaceMergeSpriteBuffers:: xor a - ld [$4000], a + ld [MBC1SRamBank], a push de ld hl, sSpriteBuffer2 + (SPRITEBUFFERSIZE - 1) ; destination: end of buffer 2 ld de, sSpriteBuffer1 + (SPRITEBUFFERSIZE - 1) ; source 2: end of buffer 1 diff --git a/home/predef_text.asm b/home/predef_text.asm index 24001c24..059e23ab 100644 --- a/home/predef_text.asm +++ b/home/predef_text.asm @@ -119,7 +119,7 @@ CloseTextDisplay:: ; loop to make sprites face the directions they originally faced before the dialogue ld hl, wSpriteStateData2 + $19 ld c, $0f - ld de, $0010 + ld de, $10 .restoreSpriteFacingDirectionLoop ld a, [hl] dec h diff --git a/macros/scripts/events.asm b/macros/scripts/events.asm index 9be354e3..c5f90107 100755 --- a/macros/scripts/events.asm +++ b/macros/scripts/events.asm @@ -183,7 +183,7 @@ ENDM ;\3, \4, ... = additional (optional) event indices SetEvents: MACRO SetEvent \1 - rept (_NARG + -1) + rept _NARG - 1 SetEventReuseHL \2 shift endr @@ -235,7 +235,7 @@ ENDM ;\3 = event index (optional) ResetEvents: MACRO ResetEvent \1 - rept (_NARG + -1) + rept _NARG - 1 ResetEventReuseHL \2 shift endr @@ -283,7 +283,7 @@ event_fill_start = event_start_byte + 1 event_fill_count = event_end_byte - event_start_byte - 1 IF ((\1) % 8) == 0 -event_fill_start = event_fill_start + -1 +event_fill_start = event_fill_start - 1 event_fill_count = event_fill_count + 1 ELSE ld a, [wEventFlags + event_start_byte] @@ -304,7 +304,7 @@ event_fill_count = event_fill_count + 1 ld a, $ff ld hl, wEventFlags + event_fill_start - REPT event_fill_count + -1 + REPT event_fill_count - 1 ld [hli], a ENDR @@ -345,7 +345,7 @@ event_fill_start = event_start_byte + 1 event_fill_count = event_end_byte - event_start_byte - 1 IF ((\1) % 8) == 0 -event_fill_start = event_fill_start + -1 +event_fill_start = event_fill_start - 1 event_fill_count = event_fill_count + 1 ELSE ld a, [wEventFlags + event_start_byte] @@ -370,7 +370,7 @@ event_fill_count = event_fill_count + 1 xor a ENDC - REPT event_fill_count + -1 + REPT event_fill_count - 1 ld [hli], a ENDR diff --git a/macros/wram.asm b/macros/wram.asm new file mode 100644 index 00000000..7a9b4a6a --- /dev/null +++ b/macros/wram.asm @@ -0,0 +1,92 @@ +; Used in wram.asm + +flag_array: MACRO + ds ((\1) + 7) / 8 +ENDM + +BOX_STRUCT_LENGTH EQU 25 + NUM_MOVES * 2 + +box_struct: MACRO +\1Species:: db +\1HP:: dw +\1BoxLevel:: db +\1Status:: db +\1Type:: +\1Type1:: db +\1Type2:: db +\1CatchRate:: db +\1Moves:: ds NUM_MOVES +\1OTID:: dw +\1Exp:: ds 3 +\1HPExp:: dw +\1AttackExp:: dw +\1DefenseExp:: dw +\1SpeedExp:: dw +\1SpecialExp:: dw +\1DVs:: ds 2 +\1PP:: ds NUM_MOVES +ENDM + +party_struct: MACRO + box_struct \1 +\1Level:: db +\1Stats:: +\1MaxHP:: dw +\1Attack:: dw +\1Defense:: dw +\1Speed:: dw +\1Special:: dw +ENDM + +battle_struct: MACRO +\1Species:: db +\1HP:: dw +\1PartyPos:: +\1BoxLevel:: db +\1Status:: db +\1Type:: +\1Type1:: db +\1Type2:: db +\1CatchRate:: db +\1Moves:: ds NUM_MOVES +\1DVs:: ds 2 +\1Level:: db +\1Stats:: +\1MaxHP:: dw +\1Attack:: dw +\1Defense:: dw +\1Speed:: dw +\1Special:: dw +\1PP:: ds NUM_MOVES +ENDM + +spritestatedata1: MACRO +\1PictureID:: db +\1MovementStatus:: db +\1ImageIndex:: db +\1YStepVector:: db +\1YPixels:: db +\1XStepVector:: db +\1XPixels:: db +\1IntraAnimFrameCounter:: db +\1AnimFrameCounter:: db +\1FacingDirection:: db + ds 6 +\1End:: +ENDM + +spritestatedata2: MACRO +\1WalkAnimationCounter:: db + ds 1 +\1YDisplacement:: db +\1XDisplacement:: db +\1MapY:: db +\1MapX:: db +\1MovementByte1:: db +\1GrassPriority:: db +\1MovementDelay:: db + ds 5 +\1ImageBaseOffset:: db + ds 1 +\1End:: +ENDM diff --git a/scripts/OaksLab.asm b/scripts/OaksLab.asm index 9bb84923..b3347849 100755 --- a/scripts/OaksLab.asm +++ b/scripts/OaksLab.asm @@ -652,7 +652,7 @@ OaksLabScript18: OaksLabScript_RemoveParcel: ld hl, wBagItems - ld bc, $0000 + ld bc, 0 .loop ld a, [hli] cp $ff diff --git a/scripts/VermilionDock.asm b/scripts/VermilionDock.asm index 4b0cf439..90fef6b2 100755 --- a/scripts/VermilionDock.asm +++ b/scripts/VermilionDock.asm @@ -78,7 +78,7 @@ VermilionDock_1db9b: ld d, $0 ld e, $8 .asm_1dbfa - ld hl, $0002 + ld hl, $2 add hl, bc ld a, l ld [wMapViewVRAMPointer], a diff --git a/wram.asm b/wram.asm index 9c37b3db..e2fa05a6 100755 --- a/wram.asm +++ b/wram.asm @@ -1,63 +1,6 @@ INCLUDE "constants.asm" -flag_array: MACRO - ds ((\1) + 7) / 8 -ENDM - -box_struct_length EQU 25 + NUM_MOVES * 2 -box_struct: MACRO -\1Species:: db -\1HP:: dw -\1BoxLevel:: db -\1Status:: db -\1Type:: -\1Type1:: db -\1Type2:: db -\1CatchRate:: db -\1Moves:: ds NUM_MOVES -\1OTID:: dw -\1Exp:: ds 3 -\1HPExp:: dw -\1AttackExp:: dw -\1DefenseExp:: dw -\1SpeedExp:: dw -\1SpecialExp:: dw -\1DVs:: ds 2 -\1PP:: ds NUM_MOVES -ENDM - -party_struct: MACRO - box_struct \1 -\1Level:: db -\1Stats:: -\1MaxHP:: dw -\1Attack:: dw -\1Defense:: dw -\1Speed:: dw -\1Special:: dw -ENDM - -battle_struct: MACRO -\1Species:: db -\1HP:: dw -\1PartyPos:: -\1BoxLevel:: db -\1Status:: db -\1Type:: -\1Type1:: db -\1Type2:: db -\1CatchRate:: db -\1Moves:: ds NUM_MOVES -\1DVs:: ds 2 -\1Level:: db -\1Stats:: -\1MaxHP:: dw -\1Attack:: dw -\1Defense:: dw -\1Speed:: dw -\1Special:: dw -\1PP:: ds NUM_MOVES -ENDM +INCLUDE "macros/wram.asm" SECTION "WRAM Bank 0", WRAM0 @@ -228,21 +171,6 @@ wSpriteStateData1:: ; C1xD ; C1xE ; C1xF -spritestatedata1: MACRO -\1PictureID:: db -\1MovementStatus:: db -\1ImageIndex:: db -\1YStepVector:: db -\1YPixels:: db -\1XStepVector:: db -\1XPixels:: db -\1IntraAnimFrameCounter:: db -\1AnimFrameCounter:: db -\1FacingDirection:: db - ds 6 -\1End:: -endm - wSpritePlayerStateData1:: spritestatedata1 wSpritePlayerStateData1 wSprite01StateData1:: spritestatedata1 wSprite01StateData1 wSprite02StateData1:: spritestatedata1 wSprite02StateData1 @@ -280,22 +208,6 @@ wSpriteStateData2:: ; C2xD ; C2xE: sprite image base offset (in video ram, player always has value 1, used to compute c1x2) ; C2xF -spritestatedata2: MACRO -\1WalkAnimationCounter:: db - ds 1 -\1YDisplacement:: db -\1XDisplacement:: db -\1MapY:: db -\1MapX:: db -\1MovementByte1:: db -\1GrassPriority:: db -\1MovementDelay:: db - ds 5 -\1ImageBaseOffset:: db - ds 1 -\1End:: -endm - wSpritePlayerStateData2:: spritestatedata2 wSpritePlayerStateData2 wSprite01StateData2:: spritestatedata2 wSprite01StateData2 wSprite02StateData2:: spritestatedata2 wSprite02StateData2 @@ -1050,7 +962,7 @@ wOptionsCancelCursorX:: ds 1 wDayCarePerLevelCost:: -; 2-byte BCD number (always set to $0100) +; 2-byte BCD number (always set to $100) wHoFTeamIndex2:: @@ -3185,7 +3097,7 @@ wBoxSpecies:: ds MONS_PER_BOX + 1 wBoxMons:: wBoxMon1:: box_struct wBoxMon1 -wBoxMon2:: ds box_struct_length * (MONS_PER_BOX + -1) +wBoxMon2:: ds BOX_STRUCT_LENGTH * (MONS_PER_BOX - 1) wBoxMonOT:: ds NAME_LENGTH * MONS_PER_BOX wBoxMonNicks:: ds NAME_LENGTH * MONS_PER_BOX -- cgit v1.2.3 From 73be62fad6007b1a84675153634aaf57676455ac Mon Sep 17 00:00:00 2001 From: Rangi Date: Sat, 4 Jul 2020 01:03:25 -0400 Subject: Verify that rgbds is at least verson 0.4.0 Adapt the INSTALL guide from pokecrystal. --- INSTALL.md | 184 +++++++++++++++++++++++++++++++++++++++++++++++---------- Makefile | 17 +++--- rgbdscheck.asm | 12 ++++ 3 files changed, 174 insertions(+), 39 deletions(-) create mode 100644 rgbdscheck.asm diff --git a/INSTALL.md b/INSTALL.md index c708a013..48b0fa7c 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -1,60 +1,180 @@ -# Linux +# Instructions - sudo apt-get install make git gcc +These instructions explain how to set up the tools required to build **pokered**, including [**rgbds**](https://github.com/rednex/rgbds), which assembles the source files into a ROM. - sudo apt-get install byacc flex pkg-config libpng-dev - git clone https://github.com/rednex/rgbds - cd rgbds - sudo make install - cd .. +If you run into trouble, ask for help on IRC or Discord (see [README.md](README.md)). - git clone https://github.com/pret/pokered - cd pokered -To build **pokered.gbc** and **pokeblue.gbc**: +## Windows 10 - make +Download and install [**Windows Subsystem for Linux**](https://docs.microsoft.com/en-us/windows/wsl/install-win10). Then open the **WSL terminal**. -To build them individually: +WSL has its own file system that's not accessible from Windows, but Windows files *are* accessible from WSL. So you're going to want to install pokered within Windows. You'll have to change the **current working directory** every time you open WSL. - make red - make blue +For example, if you want to store pokered in **C:\Users\\*\*\Desktop**, enter this command: +```bash +cd /mnt/c/Users//Desktop +``` -# Mac +(The Windows `C:\` drive is called `/mnt/c/` in WSL. Replace *\* in the example path with your username.) -Get [**Homebrew**](http://brew.sh/). +Then follow [the instructions for **Linux**](#linux). -Then in **Terminal**, run: +If this doesn't work, try following [the regular Windows instructions](#windows) below. - xcode-select --install - brew install rgbds - git clone https://github.com/pret/pokered - cd pokered +## Windows -To build **pokered.gbc** and **pokeblue.gbc**: +Download [**Cygwin**](http://cygwin.com/install.html): **setup-x86_64.exe** for 64-bit Windows, **setup-x86.exe** for 32-bit. - make +Run setup and leave the default settings. At the "**Select Packages**" step, choose to install the following, all of which are in the "**Devel**" category: +- `make` +- `git` +- `gcc-core` -# Windows +Double click on the text that says "**Skip**" next to each package to select the most recent version to install. -Download [**Cygwin**](http://cygwin.com/install.html): **setup-x86_64.exe** for 64-bit Windows, **setup-x86.exe** for 32-bit. +Then download [**rgbds**](https://github.com/rednex/rgbds/releases/): the latest **win64.zip** or **win32.zip** release. Extract it and put all the `exe` and `dll` files individually in **C:\cygwin64\usr\local\bin**. + +**Note: If you already have an older rgbds, you will need to update to 0.4.0.** Ignore this if you have never installed rgbds before. If a version newer than 0.4.0 does not work, try downloading 0.4.0. + +Now open the **Cygwin terminal** and enter the following commands. + +Cygwin has its own file system that's within Windows, at **C:\cygwin64\home\\*\***. If you don't want to store pokered there, you'll have to change the **current working directory** every time you open Cygwin. + +For example, if you want to store pokered in **C:\Users\\*\*\Desktop**: + +```bash +cd /cygdrive/c/Users//Desktop +``` + +(The Windows `C:\` drive is called `/cygdrive/c/` in Cygwin. Replace *\* in the example path with your username.) + +Now you're ready to [build **pokered**](#build-pokered). + + +## Mac OS X + +Install [**Homebrew**](https://brew.sh/). Follow the official instructions. + +Open **Terminal** and enter the following commands. + +To install **rgbds**: + +```bash +brew install rgbds +``` + +Now you're ready to [build **pokered**](#build-pokered). + + +## Linux + +Open **Terminal** and enter the following commands, depending on which distro you're using. + +### Debian or Ubuntu + +To install the software required for **pokered**: + +```bash +sudo apt-get install make gcc git +``` -Run setup and leave the default settings. At "Select Packages", choose to install the following: +To install **rgbds**: + +```bash +sudo apt-get install pkg-config flex bison libpng-dev +git clone -b v0.4.0 --depth=1 https://github.com/rednex/rgbds +sudo make -C rgbds install +``` + +### OpenSUSE + +To install the software required for **pokered**: + +```bash +sudo zypper install make gcc git +``` + +To install **rgbds**: + +```bash +sudo zypper install pkg-config flex bison libpng16-devel +git clone -b v0.4.0 --depth=1 https://github.com/rednex/rgbds +sudo make -C rgbds install +``` + +### Arch Linux + +To install the software required for **pokered**: + +```bash +sudo pacman -S make gcc git +``` + +**rgbds** is available on the [AUR](https://aur.archlinux.org/packages/rgbds/). + +Alternatively, to install **rgbds** manually: + +```bash +sudo pacman -S pkg-config flex bison libpng +git clone -b v0.4.0 --depth=1 https://github.com/rednex/rgbds +sudo make -C rgbds install +``` + +### Termux + +To install the software required for **pokered**: + +```bash +sudo apt install make clang git sed +``` + +To install **rgbds**: + +```bash +sudo apt install rgbds +``` + +### Other distros + +If your distro is not listed here, try to find the required software in its repositories: - `make` +- `gcc` (or `clang`) - `git` -- `gcc-core` +- `rgbds` + +If `rgbds` is not available, you'll also need these: + +- `pkg-config` +- `flex` +- `bison` +- `libpng` (and the development headers) + +To install **rgbds**: + +```bash +git clone -b v0.4.0 --depth=1 https://github.com/rednex/rgbds +sudo make -C rgbds install +``` + +Now you're ready to [build **pokered**](#build-pokered). + -Then download [**rgbds**](https://github.com/rednex/rgbds/releases/): the latest **win64.tar.gz** or **win32.tar.gz** release. Extract it and put all the `exe` and `dll` files individually in **C:\cygwin64\usr\local\bin**. +## Build pokered -In the **Cygwin terminal**, enter these commands: +To download the **pokered** source files: - git clone https://github.com/pret/pokered - cd pokered +```bash +git clone https://github.com/pret/pokered +cd pokered +``` To build **pokered.gbc** and **pokeblue.gbc**: - make +```bash +make +``` diff --git a/Makefile b/Makefile index 684d665e..3e2a6e89 100644 --- a/Makefile +++ b/Makefile @@ -38,19 +38,19 @@ all: $(roms) red: pokered.gbc blue: pokeblue.gbc -# For contributors to make sure a change didn't affect the contents of the rom. -compare: $(roms) - @$(MD5) roms.md5 - clean: - rm -f $(roms) $(pokered_obj) $(pokeblue_obj) $(roms:.gbc=.map) $(roms:.gbc=.sym) + rm -f $(roms) $(pokered_obj) $(pokeblue_obj) $(roms:.gbc=.map) $(roms:.gbc=.sym) rgbdscheck.o find gfx \( -iname '*.1bpp' -o -iname '*.2bpp' -o -iname '*.pic' \) -delete $(MAKE) clean -C tools/ tidy: - rm -f $(roms) $(pokered_obj) $(pokeblue_obj) $(roms:.gbc=.map) $(roms:.gbc=.sym) + rm -f $(roms) $(pokered_obj) $(pokeblue_obj) $(roms:.gbc=.map) $(roms:.gbc=.sym) rgbdscheck.o $(MAKE) clean -C tools/ +# For contributors to make sure a change didn't affect the original contents of the ROMs. +compare: $(roms) + @$(MD5) roms.md5 + tools: $(MAKE) -C tools/ @@ -64,11 +64,14 @@ endif $(pokered_obj): RGBASMFLAGS += -D _RED $(pokeblue_obj): RGBASMFLAGS += -D _BLUE +rgbdscheck.o: rgbdscheck.asm + $(RGBASM) -o $@ $< + # The dep rules have to be explicit or else missing files won't be reported. # As a side effect, they're evaluated immediately instead of when the rule is invoked. # It doesn't look like $(shell) can be deferred so there might not be a better way. define DEP -$1: $2 $$(shell tools/scan_includes $2) +$1: $2 $$(shell tools/scan_includes $2) | rgbdscheck.o $$(RGBASM) $$(RGBASMFLAGS) -o $$@ $$< endef diff --git a/rgbdscheck.asm b/rgbdscheck.asm new file mode 100644 index 00000000..d10f8d50 --- /dev/null +++ b/rgbdscheck.asm @@ -0,0 +1,12 @@ +; pokered requires rgbds 0.4.0 or newer. +MAJOR EQU 0 +MINOR EQU 4 +PATCH EQU 0 + +if !DEF(__RGBDS_MAJOR__) || !DEF(__RGBDS_MINOR__) || !DEF(__RGBDS_PATCH__) + fail "pokered requires rgbds {MAJOR}.{MINOR}.{PATCH} or newer." +elif (__RGBDS_MAJOR__ < MAJOR) || \ + (__RGBDS_MAJOR__ == MAJOR && __RGBDS_MINOR__ < MINOR) || \ + (__RGBDS_MAJOR__ == MAJOR && __RGBDS_MINOR__ == MINOR && __RGBDS_PATCH__ < PATCH) + fail "pokered requires rgbds {MAJOR}.{MINOR}.{PATCH} or newer." +endc -- cgit v1.2.3 From 36f8cd1477b8ebe0537e99abd3ba53471a2e16c4 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sat, 4 Jul 2020 16:16:29 -0400 Subject: UPDATE_PARTY_MENU_BLK_PACKET -> SET_PAL_PARTY_MENU_HP_BARS, and introduce SET_PAL_DEFAULT --- constants/palette_constants.asm | 3 ++- engine/gfx/palettes.asm | 10 +++++----- engine/menus/party_menu.asm | 2 +- home.asm | 2 +- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/constants/palette_constants.asm b/constants/palette_constants.asm index 567c3cfc..c0c397ee 100755 --- a/constants/palette_constants.asm +++ b/constants/palette_constants.asm @@ -22,7 +22,8 @@ const SET_PAL_GAME_FREAK_INTRO ; $0C const SET_PAL_TRAINER_CARD ; $0D -UPDATE_PARTY_MENU_BLK_PACKET EQU $fc +SET_PAL_PARTY_MENU_HP_BARS EQU $fc +SET_PAL_DEFAULT EQU $ff ; sgb palettes const_def diff --git a/engine/gfx/palettes.asm b/engine/gfx/palettes.asm index 9ec0f04a..58e08e86 100755 --- a/engine/gfx/palettes.asm +++ b/engine/gfx/palettes.asm @@ -1,11 +1,11 @@ _RunPaletteCommand: call GetPredefRegisters ld a, b - cp $ff - jr nz, .next - ld a, [wDefaultPaletteCommand] ; use default command if command ID is $ff -.next - cp UPDATE_PARTY_MENU_BLK_PACKET + cp SET_PAL_DEFAULT + jr nz, .not_default + ld a, [wDefaultPaletteCommand] +.not_default + cp SET_PAL_PARTY_MENU_HP_BARS jp z, UpdatePartyMenuBlkPacket ld l, a ld h, 0 diff --git a/engine/menus/party_menu.asm b/engine/menus/party_menu.asm index b64c1af8..9ae5706e 100755 --- a/engine/menus/party_menu.asm +++ b/engine/menus/party_menu.asm @@ -318,7 +318,7 @@ SetPartyMenuHPBarColor: ld b, 0 add hl, bc call GetHealthBarColor - ld b, UPDATE_PARTY_MENU_BLK_PACKET + ld b, SET_PAL_PARTY_MENU_HP_BARS call RunPaletteCommand ld hl, wWhichPartyMenuHPBar inc [hl] diff --git a/home.asm b/home.asm index 8507bf0d..19101c9a 100644 --- a/home.asm +++ b/home.asm @@ -1654,7 +1654,7 @@ GBPalWhiteOut:: ret RunDefaultPaletteCommand:: - ld b, $ff + ld b, SET_PAL_DEFAULT RunPaletteCommand:: ld a, [wOnSGB] and a -- cgit v1.2.3 From 139a28ff9906d728a6820fe678a2a616eb309421 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sat, 4 Jul 2020 17:09:35 -0400 Subject: Port pokecrystal's formatting of text commands and special characters --- charmap.asm | 651 ++++++++++++--------- constants/text_constants.asm | 15 +- data/items/marts.asm | 32 +- data/maps/names.asm | 2 +- data/pokemon/dex_entries.asm | 606 +++++++++---------- data/text/alphabets.asm | 14 +- data/text/dakutens.asm | 4 +- data/text/text_1.asm | 46 +- data/text/text_2.asm | 349 ++++++----- data/text/text_3.asm | 54 +- data/text/text_4.asm | 50 +- data/text/text_5.asm | 20 +- data/text/text_6.asm | 43 +- data/text/text_7.asm | 60 +- engine/battle/common_text.asm | 64 +- engine/battle/core.asm | 281 ++++----- engine/battle/display_effectiveness.asm | 8 +- engine/battle/effects.asm | 128 ++-- engine/battle/end_of_battle.asm | 4 +- engine/battle/experience.asm | 20 +- engine/battle/move_effects/conversion.asm | 4 +- engine/battle/move_effects/drain_hp.asm | 8 +- engine/battle/move_effects/focus_energy.asm | 6 +- engine/battle/move_effects/haze.asm | 4 +- engine/battle/move_effects/heal.asm | 12 +- engine/battle/move_effects/leech_seed.asm | 8 +- engine/battle/move_effects/mist.asm | 4 +- engine/battle/move_effects/pay_day.asm | 4 +- engine/battle/move_effects/recoil.asm | 4 +- .../battle/move_effects/reflect_light_screen.asm | 8 +- engine/battle/move_effects/substitute.asm | 12 +- engine/battle/move_effects/transform.asm | 4 +- engine/battle/safari_zone.asm | 8 +- engine/battle/trainer_ai.asm | 8 +- engine/events/card_key.asm | 12 +- engine/events/cinnabar_lab.asm | 16 +- engine/events/diploma.asm | 6 +- engine/events/elevator.asm | 4 +- engine/events/give_pokemon.asm | 14 +- engine/events/hidden_items.asm | 22 +- engine/events/hidden_objects/bench_guys.asm | 66 +-- engine/events/hidden_objects/bills_house_pc.asm | 20 +- engine/events/hidden_objects/blues_room.asm | 4 +- engine/events/hidden_objects/book_or_sculpture.asm | 10 +- engine/events/hidden_objects/cinnabar_gym_quiz.asm | 42 +- engine/events/hidden_objects/elevator.asm | 4 +- engine/events/hidden_objects/fighting_dojo.asm | 12 +- engine/events/hidden_objects/gym_statues.asm | 8 +- engine/events/hidden_objects/indigo_plateau_hq.asm | 4 +- .../hidden_objects/indigo_plateau_statues.asm | 14 +- engine/events/hidden_objects/magazines.asm | 4 +- engine/events/hidden_objects/museum_fossils.asm | 8 +- engine/events/hidden_objects/new_bike.asm | 4 +- engine/events/hidden_objects/oaks_lab_email.asm | 4 +- engine/events/hidden_objects/oaks_lab_posters.asm | 12 +- engine/events/hidden_objects/pokecenter_pc.asm | 2 +- engine/events/hidden_objects/pokemon_stuff.asm | 4 +- engine/events/hidden_objects/reds_room.asm | 6 +- .../events/hidden_objects/route_15_binoculars.asm | 4 +- engine/events/hidden_objects/safari_game.asm | 10 +- engine/events/hidden_objects/school_blackboard.asm | 56 +- engine/events/hidden_objects/school_notebooks.asm | 34 +- engine/events/hidden_objects/town_map.asm | 6 +- .../events/hidden_objects/vermilion_gym_trash.asm | 22 +- engine/events/in_game_trades.asm | 75 ++- engine/events/oaks_aide.asm | 26 +- engine/events/pick_up_item.asm | 10 +- engine/events/pokecenter.asm | 24 +- engine/events/pokedex_rating.asm | 68 +-- engine/events/pokemart.asm | 44 +- engine/events/prize_menu.asm | 42 +- engine/events/vending_machine.asm | 20 +- engine/items/item_effects.asm | 198 +++---- engine/items/tmhm.asm | 4 +- engine/link/cable_club.asm | 4 +- engine/link/cable_club_npc.asm | 30 +- engine/menus/league_pc.asm | 4 +- engine/menus/main_menu.asm | 18 +- engine/menus/naming_screen.asm | 4 +- engine/menus/oaks_pc.asm | 14 +- engine/menus/party_menu.asm | 60 +- engine/menus/pc.asm | 16 +- engine/menus/players_pc.asm | 56 +- engine/menus/pokedex.asm | 10 +- engine/menus/save.asm | 24 +- engine/menus/start_sub_menus.asm | 32 +- engine/menus/text_box.asm | 8 +- engine/movie/hall_of_fame.asm | 8 +- engine/movie/oak_speech/clear_save.asm | 4 +- engine/movie/oak_speech/oak_speech.asm | 24 +- engine/movie/oak_speech/oak_speech2.asm | 12 +- engine/movie/trade.asm | 32 +- engine/movie/trade2.asm | 5 +- engine/overworld/cut.asm | 8 +- engine/overworld/field_move_messages.asm | 16 +- engine/overworld/map_sprites.asm | 2 +- engine/overworld/player_animations.asm | 12 +- engine/pokemon/bills_pc.asm | 62 +- engine/pokemon/evos_moves.asm | 16 +- engine/pokemon/learn_move.asm | 42 +- engine/pokemon/status_screen.asm | 21 +- engine/slots/game_corner_slots.asm | 12 +- engine/slots/game_corner_slots2.asm | 8 +- engine/slots/slot_machine.asm | 40 +- home.asm | 10 +- home/overworld.asm | 4 +- home/overworld_text.asm | 28 +- home/pokemon.asm | 4 +- home/predef_text.asm | 237 -------- home/text.asm | 471 +++++++-------- home/text_script.asm | 231 ++++++++ home/trainers.asm | 4 +- macros/code.asm | 11 + macros/scripts/text.asm | 287 ++++++--- scripts/AgathasRoom.asm | 18 +- scripts/BikeShop.asm | 52 +- scripts/BillsHouse.asm | 44 +- scripts/BluesHouse.asm | 32 +- scripts/BrunosRoom.asm | 18 +- scripts/CeladonChiefHouse.asm | 12 +- scripts/CeladonCity.asm | 84 +-- scripts/CeladonDiner.asm | 36 +- scripts/CeladonGym.asm | 128 ++-- scripts/CeladonHotel.asm | 12 +- scripts/CeladonMansion1F.asm | 20 +- scripts/CeladonMansion2F.asm | 4 +- scripts/CeladonMansion3F.asm | 40 +- scripts/CeladonMansionRoof.asm | 4 +- scripts/CeladonMansionRoofHouse.asm | 6 +- scripts/CeladonMart1F.asm | 12 +- scripts/CeladonMart2F.asm | 12 +- scripts/CeladonMart3F.asm | 64 +- scripts/CeladonMart4F.asm | 12 +- scripts/CeladonMart5F.asm | 12 +- scripts/CeladonMartElevator.asm | 2 +- scripts/CeladonMartRoof.asm | 84 +-- scripts/CeladonPokecenter.asm | 12 +- scripts/CeruleanBadgeHouse.asm | 46 +- scripts/CeruleanCaveB1F.asm | 6 +- scripts/CeruleanCity.asm | 118 ++-- scripts/CeruleanGym.asm | 70 +-- scripts/CeruleanMart.asm | 8 +- scripts/CeruleanPokecenter.asm | 12 +- scripts/CeruleanTradeHouse.asm | 6 +- scripts/CeruleanTrashedHouse.asm | 18 +- scripts/ChampionsRoom.asm | 36 +- scripts/CinnabarGym.asm | 142 ++--- scripts/CinnabarIsland.asm | 24 +- scripts/CinnabarLab.asm | 20 +- scripts/CinnabarLabFossilRoom.asm | 20 +- scripts/CinnabarLabMetronomeRoom.asm | 32 +- scripts/CinnabarLabTradeRoom.asm | 8 +- scripts/CinnabarMart.asm | 8 +- scripts/CinnabarPokecenter.asm | 12 +- scripts/Colosseum.asm | 4 +- scripts/CopycatsHouse1F.asm | 12 +- scripts/CopycatsHouse2F.asm | 52 +- scripts/Daycare.asm | 60 +- scripts/DiglettsCave.asm | 2 +- scripts/DiglettsCaveRoute11.asm | 4 +- scripts/DiglettsCaveRoute2.asm | 4 +- scripts/FightingDojo.asm | 90 +-- scripts/FuchsiaBillsGrandpasHouse.asm | 12 +- scripts/FuchsiaCity.asm | 84 +-- scripts/FuchsiaGoodRodHouse.asm | 34 +- scripts/FuchsiaGym.asm | 124 ++-- scripts/FuchsiaMart.asm | 8 +- scripts/FuchsiaMeetingRoom.asm | 12 +- scripts/FuchsiaPokecenter.asm | 12 +- scripts/GameCorner.asm | 140 ++--- scripts/GameCornerPrizeRoom.asm | 10 +- scripts/HallOfFame.asm | 4 +- scripts/IndigoPlateauLobby.asm | 12 +- scripts/LancesRoom.asm | 14 +- scripts/LavenderCuboneHouse.asm | 14 +- scripts/LavenderMart.asm | 14 +- scripts/LavenderPokecenter.asm | 12 +- scripts/LavenderTown.asm | 38 +- scripts/LoreleisRoom.asm | 18 +- scripts/MrFujisHouse.asm | 54 +- scripts/MrPsychicsHouse.asm | 20 +- scripts/MtMoon1F.asm | 102 ++-- scripts/MtMoonB1F.asm | 4 +- scripts/MtMoonB2F.asm | 106 ++-- scripts/MtMoonPokecenter.asm | 30 +- scripts/Museum1F.asm | 76 +-- scripts/Museum2F.asm | 28 +- scripts/NameRatersHouse.asm | 30 +- scripts/OaksLab.asm | 208 +++---- scripts/PalletTown.asm | 34 +- scripts/PewterCity.asm | 70 +-- scripts/PewterGym.asm | 70 +-- scripts/PewterMart.asm | 12 +- scripts/PewterNidoranHouse.asm | 12 +- scripts/PewterPokecenter.asm | 14 +- scripts/PewterSpeechHouse.asm | 8 +- scripts/PokemonFanClub.asm | 74 +-- scripts/PokemonMansion1F.asm | 28 +- scripts/PokemonMansion2F.asm | 36 +- scripts/PokemonMansion3F.asm | 32 +- scripts/PokemonMansionB1F.asm | 32 +- scripts/PokemonTower1F.asm | 20 +- scripts/PokemonTower2F.asm | 22 +- scripts/PokemonTower3F.asm | 42 +- scripts/PokemonTower4F.asm | 42 +- scripts/PokemonTower5F.asm | 64 +- scripts/PokemonTower6F.asm | 56 +- scripts/PokemonTower7F.asm | 48 +- scripts/PowerPlant.asm | 26 +- scripts/RedsHouse1F.asm | 24 +- scripts/RedsHouse2F.asm | 2 +- scripts/RockTunnel1F.asm | 102 ++-- scripts/RockTunnelB1F.asm | 112 ++-- scripts/RockTunnelPokecenter.asm | 8 +- scripts/RocketHideoutB1F.asm | 74 +-- scripts/RocketHideoutB2F.asm | 14 +- scripts/RocketHideoutB3F.asm | 28 +- scripts/RocketHideoutB4F.asm | 58 +- scripts/RocketHideoutElevator.asm | 8 +- scripts/Route1.asm | 28 +- scripts/Route10.asm | 92 +-- scripts/Route11.asm | 144 ++--- scripts/Route11Gate1F.asm | 4 +- scripts/Route11Gate2F.asm | 24 +- scripts/Route12.asm | 118 ++-- scripts/Route12Gate1F.asm | 4 +- scripts/Route12Gate2F.asm | 32 +- scripts/Route12SuperRodHouse.asm | 26 +- scripts/Route13.asm | 152 ++--- scripts/Route14.asm | 144 ++--- scripts/Route15.asm | 144 ++--- scripts/Route15Gate1F.asm | 4 +- scripts/Route15Gate2F.asm | 12 +- scripts/Route16.asm | 104 ++-- scripts/Route16FlyHouse.asm | 26 +- scripts/Route16Gate1F.asm | 18 +- scripts/Route16Gate2F.asm | 24 +- scripts/Route17.asm | 164 +++--- scripts/Route18.asm | 50 +- scripts/Route18Gate1F.asm | 14 +- scripts/Route18Gate2F.asm | 14 +- scripts/Route19.asm | 144 ++--- scripts/Route2.asm | 8 +- scripts/Route20.asm | 144 ++--- scripts/Route21.asm | 126 ++-- scripts/Route22.asm | 40 +- scripts/Route22Gate.asm | 16 +- scripts/Route23.asm | 30 +- scripts/Route24.asm | 118 ++-- scripts/Route25.asm | 130 ++-- scripts/Route2Gate.asm | 10 +- scripts/Route2TradeHouse.asm | 6 +- scripts/Route3.asm | 120 ++-- scripts/Route4.asm | 26 +- scripts/Route5.asm | 4 +- scripts/Route5Gate.asm | 18 +- scripts/Route6.asm | 84 +-- scripts/Route7.asm | 4 +- scripts/Route8.asm | 130 ++-- scripts/Route9.asm | 130 ++-- scripts/SSAnne1F.asm | 8 +- scripts/SSAnne1FRooms.asm | 80 +-- scripts/SSAnne2F.asm | 22 +- scripts/SSAnne2FRooms.asm | 98 ++-- scripts/SSAnne3F.asm | 4 +- scripts/SSAnneB1F.asm | 2 +- scripts/SSAnneB1FRooms.asm | 92 +-- scripts/SSAnneBow.asm | 40 +- scripts/SSAnneCaptainsRoom.asm | 32 +- scripts/SSAnneKitchen.asm | 42 +- scripts/SafariZoneCenter.asm | 8 +- scripts/SafariZoneCenterRestHouse.asm | 8 +- scripts/SafariZoneEast.asm | 12 +- scripts/SafariZoneEastRestHouse.asm | 12 +- scripts/SafariZoneGate.asm | 54 +- scripts/SafariZoneNorth.asm | 20 +- scripts/SafariZoneNorthRestHouse.asm | 12 +- scripts/SafariZoneSecretHouse.asm | 20 +- scripts/SafariZoneWest.asm | 16 +- scripts/SafariZoneWestRestHouse.asm | 12 +- scripts/SaffronCity.asm | 94 +-- scripts/SaffronGym.asm | 142 ++--- scripts/SaffronMart.asm | 8 +- scripts/SaffronPidgeyHouse.asm | 16 +- scripts/SaffronPokecenter.asm | 12 +- scripts/SeafoamIslandsB4F.asm | 14 +- scripts/SilphCo10F.asm | 38 +- scripts/SilphCo11F.asm | 70 +-- scripts/SilphCo1F.asm | 4 +- scripts/SilphCo2F.asm | 76 +-- scripts/SilphCo3F.asm | 38 +- scripts/SilphCo4F.asm | 52 +- scripts/SilphCo5F.asm | 78 +-- scripts/SilphCo6F.asm | 92 +-- scripts/SilphCo7F.asm | 126 ++-- scripts/SilphCo8F.asm | 52 +- scripts/SilphCo9F.asm | 56 +- scripts/SilphCoElevator.asm | 2 +- scripts/TradeCenter.asm | 4 +- scripts/UndergroundPathNorthSouth.asm | 2 +- scripts/UndergroundPathRoute5.asm | 8 +- scripts/UndergroundPathRoute6.asm | 4 +- scripts/UndergroundPathRoute7.asm | 4 +- scripts/UndergroundPathRoute7Copy.asm | 16 +- scripts/UndergroundPathRoute8.asm | 4 +- scripts/UndergroundPathWestEast.asm | 2 +- scripts/VermilionCity.asm | 72 +-- scripts/VermilionDock.asm | 4 +- scripts/VermilionGym.asm | 82 +-- scripts/VermilionMart.asm | 8 +- scripts/VermilionOldRodHouse.asm | 26 +- scripts/VermilionPidgeyHouse.asm | 12 +- scripts/VermilionPokecenter.asm | 12 +- scripts/VermilionTradeHouse.asm | 2 +- scripts/VictoryRoad1F.asm | 28 +- scripts/VictoryRoad2F.asm | 76 +-- scripts/VictoryRoad3F.asm | 56 +- scripts/ViridianCity.asm | 102 ++-- scripts/ViridianForest.asm | 74 +-- scripts/ViridianForestNorthGate.asm | 8 +- scripts/ViridianForestSouthGate.asm | 8 +- scripts/ViridianGym.asm | 156 ++--- scripts/ViridianMart.asm | 22 +- scripts/ViridianNicknameHouse.asm | 18 +- scripts/ViridianPokecenter.asm | 12 +- scripts/ViridianSchoolHouse.asm | 8 +- scripts/WardensHouse.asm | 50 +- text/BikeShop.asm | 3 +- text/BillsHouse.asm | 5 +- text/BluesHouse.asm | 5 +- text/CeladonCity.asm | 8 +- text/CeladonDiner.asm | 5 +- text/CeladonGym.asm | 7 +- text/CeladonMansion1F.asm | 9 +- text/CeladonMansion3F.asm | 3 +- text/CeladonMart3F.asm | 5 +- text/CeladonMartRoof.asm | 51 +- text/CeruleanCaveB1F.asm | 3 +- text/CeruleanCity.asm | 8 +- text/CeruleanGym.asm | 6 +- text/ChampionsRoom.asm | 2 +- text/CinnabarGym.asm | 10 +- text/CinnabarLabFossilRoom.asm | 10 +- text/CinnabarLabMetronomeRoom.asm | 5 +- text/CopycatsHouse1F.asm | 3 +- text/CopycatsHouse2F.asm | 13 +- text/Daycare.asm | 20 +- text/Daycare_2.asm | 3 +- text/FuchsiaGoodRodHouse.asm | 5 +- text/FuchsiaGym_2.asm | 7 +- text/GameCorner.asm | 12 +- text/LancesRoom.asm | 3 +- text/LavenderCuboneHouse.asm | 3 +- text/MrFujisHouse.asm | 13 +- text/MrPsychicsHouse.asm | 5 +- text/MtMoonB1F.asm | 2 +- text/MtMoonB2F.asm | 11 +- text/MtMoonPokecenter.asm | 2 +- text/Museum1F.asm | 3 +- text/NameRatersHouse.asm | 8 +- text/OaksLab.asm | 27 +- text/PalletTown.asm | 3 +- text/PewterGym_2.asm | 10 +- text/PewterNidoranHouse.asm | 3 +- text/PokemonFanClub.asm | 7 +- text/PowerPlant.asm | 3 +- text/RocketHideoutB1F.asm | 3 +- text/RocketHideoutElevator.asm | 3 +- text/Route1.asm | 5 +- text/Route12Gate2F.asm | 3 +- text/Route12SuperRodHouse.asm | 7 +- text/Route15.asm | 3 +- text/Route16FlyHouse.asm | 3 +- text/Route22Gate.asm | 8 +- text/Route23.asm | 16 +- text/Route24.asm | 10 +- text/SSAnne1FRooms.asm | 3 +- text/SSAnneB1FRooms.asm | 6 +- text/SSAnneCaptainsRoom.asm | 8 +- text/SafariZoneGate.asm | 11 +- text/SafariZoneSecretHouse.asm | 5 +- text/SaffronCity.asm | 3 +- text/SaffronGates.asm | 5 +- text/SaffronGym.asm | 8 +- text/SaffronPidgeyHouse.asm | 3 +- text/SeafoamIslandsB4F.asm | 3 +- text/SilphCo11F.asm | 5 +- text/SilphCo2F.asm | 5 +- text/VermilionCity.asm | 5 +- text/VermilionDock.asm | 2 +- text/VermilionGym_2.asm | 7 +- text/VermilionOldRodHouse.asm | 7 +- text/VermilionPidgeyHouse.asm | 3 +- text/VictoryRoad2F.asm | 3 +- text/ViridianCity.asm | 3 +- text/ViridianGym.asm | 11 +- text/ViridianMart.asm | 3 +- text/WardensHouse.asm | 10 +- 398 files changed, 7622 insertions(+), 7250 deletions(-) delete mode 100644 home/predef_text.asm create mode 100644 home/text_script.asm diff --git a/charmap.asm b/charmap.asm index 4b5278c6..fde17a4d 100644 --- a/charmap.asm +++ b/charmap.asm @@ -1,265 +1,386 @@ -charmap "ガ", $05 -charmap "ギ", $06 -charmap "グ", $07 -charmap "ゲ", $08 -charmap "ゴ", $09 -charmap "ザ", $0A -charmap "ジ", $0B -charmap "ズ", $0C -charmap "ゼ", $0D -charmap "ゾ", $0E -charmap "ダ", $0F -charmap "ヂ", $10 -charmap "ヅ", $11 -charmap "デ", $12 -charmap "ド", $13 -charmap "バ", $19 -charmap "ビ", $1A -charmap "ブ", $1B -charmap "ボ", $1C -charmap "が", $26 -charmap "ぎ", $27 -charmap "ぐ", $28 -charmap "げ", $29 -charmap "ご", $2A -charmap "ざ", $2B -charmap "じ", $2C -charmap "ず", $2D -charmap "ぜ", $2E -charmap "ぞ", $2F -charmap "だ", $30 -charmap "ぢ", $31 -charmap "づ", $32 -charmap "で", $33 -charmap "ど", $34 -charmap "ば", $3A -charmap "び", $3B -charmap "ぶ", $3C -charmap "べ", $3D -charmap "ぼ", $3E -charmap "パ", $40 -charmap "ピ", $41 -charmap "プ", $42 -charmap "ポ", $43 -charmap "ぱ", $44 -charmap "ぴ", $45 -charmap "ぷ", $46 -charmap "ぺ", $47 -charmap "ぽ", $48 -charmap "ア", $80 -charmap "イ", $81 -charmap "ウ", $82 -charmap "エ", $83 -charmap "ォ", $84 -charmap "カ", $85 -charmap "キ", $86 -charmap "ク", $87 -charmap "ケ", $88 -charmap "コ", $89 -charmap "サ", $8A -charmap "シ", $8B -charmap "ス", $8C -charmap "セ", $8D -charmap "ソ", $8E -charmap "タ", $8F -charmap "チ", $90 -charmap "ツ", $91 -charmap "テ", $92 -charmap "ト", $93 -charmap "ナ", $94 -charmap "ニ", $95 -charmap "ヌ", $96 -charmap "ネ", $97 -charmap "ノ", $98 -charmap "ハ", $99 -charmap "ヒ", $9A -charmap "フ", $9B -charmap "ホ", $9C -charmap "マ", $9D -charmap "ミ", $9E -charmap "ム", $9F -charmap "メ", $A0 -charmap "モ", $A1 -charmap "ヤ", $A2 -charmap "ユ", $A3 -charmap "ヨ", $A4 -charmap "ラ", $A5 -charmap "ル", $A6 -charmap "レ", $A7 -charmap "ロ", $A8 -charmap "ワ", $A9 -charmap "ヲ", $AA -charmap "ン", $AB -charmap "ッ", $AC -charmap "ャ", $AD -charmap "ュ", $AE -charmap "ョ", $AF -charmap "ィ", $B0 -charmap "あ", $B1 -charmap "い", $B2 -charmap "う", $B3 -charmap "え", $B4 -charmap "お", $B5 -charmap "か", $B6 -charmap "き", $B7 -charmap "く", $B8 -charmap "け", $B9 -charmap "こ", $BA -charmap "さ", $BB -charmap "し", $BC -charmap "す", $BD -charmap "せ", $BE -charmap "そ", $BF -charmap "た", $C0 -charmap "ち", $C1 -charmap "つ", $C2 -charmap "て", $C3 -charmap "と", $C4 -charmap "な", $C5 -charmap "に", $C6 -charmap "ぬ", $C7 -charmap "ね", $C8 -charmap "の", $C9 -charmap "は", $CA -charmap "ひ", $CB -charmap "ふ", $CC -charmap "へ", $CD -charmap "ほ", $CE -charmap "ま", $CF -charmap "み", $D0 -charmap "む", $D1 -charmap "め", $D2 -charmap "も", $D3 -charmap "や", $D4 -charmap "ゆ", $D5 -charmap "よ", $D6 -charmap "ら", $D7 -charmap "り", $D8 -charmap "る", $D9 -charmap "れ", $DA -charmap "ろ", $DB -charmap "わ", $DC -charmap "を", $DD -charmap "ん", $DE -charmap "っ", $DF -charmap "ゃ", $E0 -charmap "ゅ", $E1 -charmap "ょ", $E2 -charmap "ー", $E3 - -charmap "", $4A ; PkMn -charmap "@", $50 -charmap "", $52 -charmap "", $53 -charmap "#", $54 -;charmap "POKé", $54 -charmap "", $59 -charmap "", $5A -charmap "′", $71 -charmap "″", $73 -charmap "№", $74 -charmap "…", $75 - -charmap "┌", $79 -charmap "─", $7A -charmap "┐", $7B -charmap "│", $7C -charmap "└", $7D -charmap "┘", $7E - -charmap " ", $7F -charmap "A", $80 -charmap "B", $81 -charmap "C", $82 -charmap "D", $83 -charmap "E", $84 -charmap "F", $85 -charmap "G", $86 -charmap "H", $87 -charmap "I", $88 -charmap "J", $89 -charmap "K", $8A -charmap "L", $8B -charmap "M", $8C -charmap "N", $8D -charmap "O", $8E -charmap "P", $8F -charmap "Q", $90 -charmap "R", $91 -charmap "S", $92 -charmap "T", $93 -charmap "U", $94 -charmap "V", $95 -charmap "W", $96 -charmap "X", $97 -charmap "Y", $98 -charmap "Z", $99 -charmap "(", $9A -charmap ")", $9B -charmap ":", $9C -charmap ";", $9D -charmap "[", $9E -charmap "]", $9F -charmap "a", $A0 -charmap "b", $A1 -charmap "c", $A2 -charmap "d", $A3 -charmap "e", $A4 -charmap "f", $A5 -charmap "g", $A6 -charmap "h", $A7 -charmap "i", $A8 -charmap "j", $A9 -charmap "k", $AA -charmap "l", $AB -charmap "m", $AC -charmap "n", $AD -charmap "o", $AE -charmap "p", $AF -charmap "q", $B0 -charmap "r", $B1 -charmap "s", $B2 -charmap "t", $B3 -charmap "u", $B4 -charmap "v", $B5 -charmap "w", $B6 -charmap "x", $B7 -charmap "y", $B8 -charmap "z", $B9 -charmap "é", $BA -charmap "'d", $BB -charmap "'l", $BC -charmap "'s", $BD -charmap "'t", $BE -charmap "'v", $BF - -charmap "'", $E0 - -charmap "-", $E3 -charmap "'r", $E4 -charmap "'m", $E5 -charmap "?", $E6 -charmap "!", $E7 -charmap ".", $E8 - -charmap "▷", $EC -charmap "▶", $ED -charmap "▲", $ED -charmap "▼", $EE -charmap "♂", $EF -charmap "¥", $F0 -charmap "×", $F1 -charmap "⠄", $F2 -charmap "/", $F3 -charmap ",", $F4 -charmap "♀", $F5 -charmap "0", $F6 -charmap "1", $F7 -charmap "2", $F8 -charmap "3", $F9 -charmap "4", $FA -charmap "5", $FB -charmap "6", $FC -charmap "7", $FD -charmap "8", $FE -charmap "9", $FF +; $00-$17 are TX_* constants (see macros/scripts/text.asm) + +; Control characters (see home/text.asm) + + charmap "", $00 + charmap "", $49 + charmap "", $4a ; "" + charmap "<_CONT>", $4b ; implements "" + charmap "", $4c + charmap "", $4e + charmap "", $4f + charmap "@", $50 ; string terminator + charmap "", $51 + charmap "", $52 ; wPlayerName + charmap "", $53 ; wRivalName + charmap "#", $54 ; "POKé" + charmap "", $55 + charmap "<……>", $56 ; "……" + charmap "", $57 + charmap "", $58 + charmap "", $59 + charmap "", $5a + charmap "", $5b ; "PC" + charmap "", $5c ; "TM" + charmap "", $5d ; "TRAINER" + charmap "", $5e ; "ROCKET" + charmap "", $5f + +; Actual characters (from gfx/font/font_extra.png) + + charmap "", $60 ; unused + charmap "", $61 ; unused + charmap "", $62 ; unused + charmap "", $63 ; unused + charmap "", $64 ; unused + charmap "", $65 ; unused + charmap "", $66 ; unused + charmap "", $67 ; unused + charmap "", $68 ; unused + charmap "", $69 + charmap "", $6a + charmap "", $6b ; unused + charmap "", $6c ; unused + charmap "", $6d ; colon with tinier dots than ":" + charmap "ぃ", $6e ; hiragana small i, unused + charmap "ぅ", $6f ; hiragana small u, unused + charmap "‘", $70 ; opening single quote + charmap "’", $71 ; closing single quote + charmap "“", $72 ; opening quote + charmap "”", $73 ; closing quote + charmap "·", $74 ; middle dot, unused + charmap "…", $75 ; ellipsis + charmap "ぁ", $76 ; hiragana small a, unused + charmap "ぇ", $77 ; hiragana small e, unused + charmap "ぉ", $78 ; hiragana small o, unused + + charmap "┌", $79 + charmap "─", $7a + charmap "┐", $7b + charmap "│", $7c + charmap "└", $7d + charmap "┘", $7e + charmap " ", $7f + +; Actual characters (from gfx/font/font_battle_extra.png) + + charmap "", $6e + + charmap "", $70 ; narrow "to" + + charmap "『", $72 ; Japanese opening quote, unused + charmap "", $73 + charmap "№", $74 + +; Actual characters (from other graphics files) + + ; needed for ShowPokedexDataInternal (see engine/menus/pokedex.asm) + charmap "′", $60 ; gfx/pokedex/pokedex.png + charmap "″", $61 ; gfx/pokedex/pokedex.png + + ; needed for StatusScreen (see engine/pokemon/status_screen.asm) + charmap "", $72 ; gfx/font/P.1bpp + + ; needed for LoadTownMap_Fly (see engine/items/town_map.asm) + charmap "▲", $ed ; gfx/town_map/up_arrow.1bpp + + ; needed for PrintAlphabet (see engine/menus/naming_screen.asm) + charmap "", $f0 ; gfx/font/ED.1bpp + +; Actual characters (from gfx/font/font.png) + + charmap "A", $80 + charmap "B", $81 + charmap "C", $82 + charmap "D", $83 + charmap "E", $84 + charmap "F", $85 + charmap "G", $86 + charmap "H", $87 + charmap "I", $88 + charmap "J", $89 + charmap "K", $8a + charmap "L", $8b + charmap "M", $8c + charmap "N", $8d + charmap "O", $8e + charmap "P", $8f + charmap "Q", $90 + charmap "R", $91 + charmap "S", $92 + charmap "T", $93 + charmap "U", $94 + charmap "V", $95 + charmap "W", $96 + charmap "X", $97 + charmap "Y", $98 + charmap "Z", $99 + + charmap "(", $9a + charmap ")", $9b + charmap ":", $9c + charmap ";", $9d + charmap "[", $9e + charmap "]", $9f + + charmap "a", $a0 + charmap "b", $a1 + charmap "c", $a2 + charmap "d", $a3 + charmap "e", $a4 + charmap "f", $a5 + charmap "g", $a6 + charmap "h", $a7 + charmap "i", $a8 + charmap "j", $a9 + charmap "k", $aa + charmap "l", $ab + charmap "m", $ac + charmap "n", $ad + charmap "o", $ae + charmap "p", $af + charmap "q", $b0 + charmap "r", $b1 + charmap "s", $b2 + charmap "t", $b3 + charmap "u", $b4 + charmap "v", $b5 + charmap "w", $b6 + charmap "x", $b7 + charmap "y", $b8 + charmap "z", $b9 + + charmap "é", $ba + charmap "'d", $bb + charmap "'l", $bc + charmap "'s", $bd + charmap "'t", $be + charmap "'v", $bf + + charmap "'", $e0 + charmap "", $e1 + charmap "", $e2 + charmap "-", $e3 + + charmap "'r", $e4 + charmap "'m", $e5 + + charmap "?", $e6 + charmap "!", $e7 + charmap ".", $e8 + + charmap "ァ", $e9 ; katakana small a, unused + charmap "ゥ", $ea ; katakana small u, unused + charmap "ェ", $eb ; katakana small e, unused + + charmap "▷", $ec + charmap "▶", $ed + charmap "▼", $ee + charmap "♂", $ef + charmap "¥", $f0 + charmap "×", $f1 + charmap "", $f2 ; decimal point; same as "." in English + charmap "/", $f3 + charmap ",", $f4 + charmap "♀", $f5 + + charmap "0", $f6 + charmap "1", $f7 + charmap "2", $f8 + charmap "3", $f9 + charmap "4", $fa + charmap "5", $fb + charmap "6", $fc + charmap "7", $fd + charmap "8", $fe + charmap "9", $ff + + +; Japanese kana, for those bits of text that were not translated to English + + charmap "ガ", $05 + charmap "ギ", $06 + charmap "グ", $07 + charmap "ゲ", $08 + charmap "ゴ", $09 + charmap "ザ", $0a + charmap "ジ", $0b + charmap "ズ", $0c + charmap "ゼ", $0d + charmap "ゾ", $0e + charmap "ダ", $0f + charmap "ヂ", $10 + charmap "ヅ", $11 + charmap "デ", $12 + charmap "ド", $13 + + charmap "バ", $19 + charmap "ビ", $1a + charmap "ブ", $1b + charmap "ボ", $1c + + charmap "が", $26 + charmap "ぎ", $27 + charmap "ぐ", $28 + charmap "げ", $29 + charmap "ご", $2a + charmap "ざ", $2b + charmap "じ", $2c + charmap "ず", $2d + charmap "ぜ", $2e + charmap "ぞ", $2f + charmap "だ", $30 + charmap "ぢ", $31 + charmap "づ", $32 + charmap "で", $33 + charmap "ど", $34 + + charmap "ば", $3a + charmap "び", $3b + charmap "ぶ", $3c + charmap "べ", $3d + charmap "ぼ", $3e + + charmap "パ", $40 + charmap "ピ", $41 + charmap "プ", $42 + charmap "ポ", $43 + charmap "ぱ", $44 + charmap "ぴ", $45 + charmap "ぷ", $46 + charmap "ぺ", $47 + charmap "ぽ", $48 + + charmap "「", $70 + charmap "」", $71 + charmap "』", $73 + charmap "⋯", $75 + + charmap " ", $7f + + charmap "ア", $80 + charmap "イ", $81 + charmap "ウ", $82 + charmap "エ", $83 + charmap "ォ", $84 + charmap "カ", $85 + charmap "キ", $86 + charmap "ク", $87 + charmap "ケ", $88 + charmap "コ", $89 + charmap "サ", $8a + charmap "シ", $8b + charmap "ス", $8c + charmap "セ", $8d + charmap "ソ", $8e + charmap "タ", $8f + charmap "チ", $90 + charmap "ツ", $91 + charmap "テ", $92 + charmap "ト", $93 + charmap "ナ", $94 + charmap "ニ", $95 + charmap "ヌ", $96 + charmap "ネ", $97 + charmap "ノ", $98 + charmap "ハ", $99 + charmap "ヒ", $9a + charmap "フ", $9b + charmap "ホ", $9c + charmap "マ", $9d + charmap "ミ", $9e + charmap "ム", $9f + charmap "メ", $a0 + charmap "モ", $a1 + charmap "ヤ", $a2 + charmap "ユ", $a3 + charmap "ヨ", $a4 + charmap "ラ", $a5 + charmap "ル", $a6 + charmap "レ", $a7 + charmap "ロ", $a8 + charmap "ワ", $a9 + charmap "ヲ", $aa + charmap "ン", $ab + charmap "ッ", $ac + charmap "ャ", $ad + charmap "ュ", $ae + charmap "ョ", $af + charmap "ィ", $b0 + + charmap "あ", $b1 + charmap "い", $b2 + charmap "う", $b3 + charmap "え", $b4 + charmap "お", $b5 + charmap "か", $b6 + charmap "き", $b7 + charmap "く", $b8 + charmap "け", $b9 + charmap "こ", $ba + charmap "さ", $bb + charmap "し", $bc + charmap "す", $bd + charmap "せ", $be + charmap "そ", $bf + charmap "た", $c0 + charmap "ち", $c1 + charmap "つ", $c2 + charmap "て", $c3 + charmap "と", $c4 + charmap "な", $c5 + charmap "に", $c6 + charmap "ぬ", $c7 + charmap "ね", $c8 + charmap "の", $c9 + charmap "は", $ca + charmap "ひ", $cb + charmap "ふ", $cc + charmap "へ", $cd + charmap "ほ", $ce + charmap "ま", $cf + charmap "み", $d0 + charmap "む", $d1 + charmap "め", $d2 + charmap "も", $d3 + charmap "や", $d4 + charmap "ゆ", $d5 + charmap "よ", $d6 + charmap "ら", $d7 + charmap "り", $d8 + charmap "る", $d9 + charmap "れ", $da + charmap "ろ", $db + charmap "わ", $dc + charmap "を", $dd + charmap "ん", $de + charmap "っ", $df + charmap "ゃ", $e0 + charmap "ゅ", $e1 + charmap "ょ", $e2 + + charmap "ー", $e3 + charmap "゚", $e4 + charmap "゙", $e5 + + charmap "?", $e6 + charmap "!", $e7 + charmap "。", $e8 + + charmap "円", $f0 + + charmap ".", $f2 + charmap "/", $f3 + + charmap "ォ", $f4 + + charmap "0", $f6 + charmap "1", $f7 + charmap "2", $f8 + charmap "3", $f9 + charmap "4", $fa + charmap "5", $fb + charmap "6", $fc + charmap "7", $fd + charmap "8", $fe + charmap "9", $ff diff --git a/constants/text_constants.asm b/constants/text_constants.asm index a3ef2012..35b817eb 100644 --- a/constants/text_constants.asm +++ b/constants/text_constants.asm @@ -1,12 +1,6 @@ NAME_LENGTH EQU 11 ITEM_NAME_LENGTH EQU 13 -; special text IDs -TEXT_MON_FAINTED EQU $d0 -TEXT_BLACKED_OUT EQU $d1 -TEXT_REPEL_WORE_OFF EQU $d2 -TEXT_SAFARI_GAME_OVER EQU $d3 - ; PrintNumber BIT_MONEY_SIGN EQU 5 BIT_LEFT_ALIGN EQU 6 @@ -15,3 +9,12 @@ BIT_LEADING_ZEROES EQU 7 MONEY_SIGN EQU (1 << BIT_MONEY_SIGN) LEFT_ALIGN EQU (1 << BIT_LEFT_ALIGN) LEADING_ZEROES EQU (1 << BIT_LEADING_ZEROES) + +; special text IDs (see home/text_script.asm) + const_def $d0 + const TEXT_MON_FAINTED ; $d0 + const TEXT_BLACKED_OUT ; $d1 + const TEXT_REPEL_WORE_OFF ; $d2 + const TEXT_SAFARI_GAME_OVER ; $d3 + +TEXT_START_MENU EQU $00 diff --git a/data/items/marts.asm b/data/items/marts.asm index 35ae2e9d..3d7677a0 100755 --- a/data/items/marts.asm +++ b/data/items/marts.asm @@ -3,62 +3,62 @@ ; Viridian ViridianCashierText:: - TX_MART POKE_BALL, ANTIDOTE, PARLYZ_HEAL, BURN_HEAL + script_mart POKE_BALL, ANTIDOTE, PARLYZ_HEAL, BURN_HEAL ; Pewter PewterCashierText:: - TX_MART POKE_BALL, POTION, ESCAPE_ROPE, ANTIDOTE, BURN_HEAL, AWAKENING, PARLYZ_HEAL + script_mart POKE_BALL, POTION, ESCAPE_ROPE, ANTIDOTE, BURN_HEAL, AWAKENING, PARLYZ_HEAL ; Cerulean CeruleanCashierText:: - TX_MART POKE_BALL, POTION, REPEL, ANTIDOTE, BURN_HEAL, AWAKENING, PARLYZ_HEAL + script_mart POKE_BALL, POTION, REPEL, ANTIDOTE, BURN_HEAL, AWAKENING, PARLYZ_HEAL ; Bike shop - TX_MART BICYCLE + script_mart BICYCLE ; Vermilion VermilionCashierText:: - TX_MART POKE_BALL, SUPER_POTION, ICE_HEAL, AWAKENING, PARLYZ_HEAL, REPEL + script_mart POKE_BALL, SUPER_POTION, ICE_HEAL, AWAKENING, PARLYZ_HEAL, REPEL ; Lavender LavenderCashierText:: - TX_MART GREAT_BALL, SUPER_POTION, REVIVE, ESCAPE_ROPE, SUPER_REPEL, ANTIDOTE, BURN_HEAL, ICE_HEAL, PARLYZ_HEAL + script_mart GREAT_BALL, SUPER_POTION, REVIVE, ESCAPE_ROPE, SUPER_REPEL, ANTIDOTE, BURN_HEAL, ICE_HEAL, PARLYZ_HEAL ; Celadon Dept. Store 2F (1) CeladonMart2Clerk1Text:: - TX_MART GREAT_BALL, SUPER_POTION, REVIVE, SUPER_REPEL, ANTIDOTE, BURN_HEAL, ICE_HEAL, AWAKENING, PARLYZ_HEAL + script_mart GREAT_BALL, SUPER_POTION, REVIVE, SUPER_REPEL, ANTIDOTE, BURN_HEAL, ICE_HEAL, AWAKENING, PARLYZ_HEAL ; Celadon Dept. Store 2F (2) CeladonMart2Clerk2Text:: - TX_MART TM_32, TM_33, TM_02, TM_07, TM_37, TM_01, TM_05, TM_09, TM_17 + script_mart TM_32, TM_33, TM_02, TM_07, TM_37, TM_01, TM_05, TM_09, TM_17 ; Celadon Dept. Store 4F CeladonMart4ClerkText:: - TX_MART POKE_DOLL, FIRE_STONE, THUNDER_STONE, WATER_STONE, LEAF_STONE + script_mart POKE_DOLL, FIRE_STONE, THUNDER_STONE, WATER_STONE, LEAF_STONE ; Celadon Dept. Store 5F (1) CeladonMart5Clerk1Text:: - TX_MART X_ACCURACY, GUARD_SPEC, DIRE_HIT, X_ATTACK, X_DEFEND, X_SPEED, X_SPECIAL + script_mart X_ACCURACY, GUARD_SPEC, DIRE_HIT, X_ATTACK, X_DEFEND, X_SPEED, X_SPECIAL ; Celadon Dept. Store 5F (2) CeladonMart5Clerk2Text:: - TX_MART HP_UP, PROTEIN, IRON, CARBOS, CALCIUM + script_mart HP_UP, PROTEIN, IRON, CARBOS, CALCIUM ; Fuchsia FuchsiaCashierText:: - TX_MART ULTRA_BALL, GREAT_BALL, SUPER_POTION, REVIVE, FULL_HEAL, SUPER_REPEL + script_mart ULTRA_BALL, GREAT_BALL, SUPER_POTION, REVIVE, FULL_HEAL, SUPER_REPEL ; unused? - TX_MART GREAT_BALL, HYPER_POTION, SUPER_POTION, FULL_HEAL, REVIVE + script_mart GREAT_BALL, HYPER_POTION, SUPER_POTION, FULL_HEAL, REVIVE ; Cinnabar CinnabarCashierText:: - TX_MART ULTRA_BALL, GREAT_BALL, HYPER_POTION, MAX_REPEL, ESCAPE_ROPE, FULL_HEAL, REVIVE + script_mart ULTRA_BALL, GREAT_BALL, HYPER_POTION, MAX_REPEL, ESCAPE_ROPE, FULL_HEAL, REVIVE ; Saffron SaffronCashierText:: - TX_MART GREAT_BALL, HYPER_POTION, MAX_REPEL, ESCAPE_ROPE, FULL_HEAL, REVIVE + script_mart GREAT_BALL, HYPER_POTION, MAX_REPEL, ESCAPE_ROPE, FULL_HEAL, REVIVE ; Indigo IndigoCashierText:: - TX_MART ULTRA_BALL, GREAT_BALL, FULL_RESTORE, MAX_POTION, FULL_HEAL, REVIVE, MAX_REPEL + script_mart ULTRA_BALL, GREAT_BALL, FULL_RESTORE, MAX_POTION, FULL_HEAL, REVIVE, MAX_REPEL diff --git a/data/maps/names.asm b/data/maps/names.asm index c2642942..493f3936 100755 --- a/data/maps/names.asm +++ b/data/maps/names.asm @@ -98,7 +98,7 @@ RocketHQName: SilphCoName: db "SILPH CO.@" PokemonMansionName: - db " MANSION@" + db " MANSION@" SafariZoneName: db "SAFARI ZONE@" CeruleanCaveName: diff --git a/data/pokemon/dex_entries.asm b/data/pokemon/dex_entries.asm index 495a8e33..c8dc12a7 100755 --- a/data/pokemon/dex_entries.asm +++ b/data/pokemon/dex_entries.asm @@ -199,1061 +199,1061 @@ RhydonDexEntry: db "DRILL@" db 6,3 dw 2650 - TX_FAR _RhydonDexEntry - db "@" + text_far _RhydonDexEntry + text_end KangaskhanDexEntry: db "PARENT@" db 7,3 dw 1760 - TX_FAR _KangaskhanDexEntry - db "@" + text_far _KangaskhanDexEntry + text_end NidoranMDexEntry: db "POISON PIN@" db 1,8 dw 200 - TX_FAR _NidoranMDexEntry - db "@" + text_far _NidoranMDexEntry + text_end ClefairyDexEntry: db "FAIRY@" db 2,0 dw 170 - TX_FAR _ClefairyDexEntry - db "@" + text_far _ClefairyDexEntry + text_end SpearowDexEntry: db "TINY BIRD@" db 1,0 dw 40 - TX_FAR _SpearowDexEntry - db "@" + text_far _SpearowDexEntry + text_end VoltorbDexEntry: db "BALL@" db 1,8 dw 230 - TX_FAR _VoltorbDexEntry - db "@" + text_far _VoltorbDexEntry + text_end NidokingDexEntry: db "DRILL@" db 4,7 dw 1370 - TX_FAR _NidokingDexEntry - db "@" + text_far _NidokingDexEntry + text_end SlowbroDexEntry: db "HERMITCRAB@" db 5,3 dw 1730 - TX_FAR _SlowbroDexEntry - db "@" + text_far _SlowbroDexEntry + text_end IvysaurDexEntry: db "SEED@" db 3,3 dw 290 - TX_FAR _IvysaurDexEntry - db "@" + text_far _IvysaurDexEntry + text_end ExeggutorDexEntry: db "COCONUT@" db 6,7 dw 2650 - TX_FAR _ExeggutorDexEntry - db "@" + text_far _ExeggutorDexEntry + text_end LickitungDexEntry: db "LICKING@" db 3,11 dw 1440 - TX_FAR _LickitungDexEntry - db "@" + text_far _LickitungDexEntry + text_end ExeggcuteDexEntry: db "EGG@" db 1,4 dw 60 - TX_FAR _ExeggcuteDexEntry - db "@" + text_far _ExeggcuteDexEntry + text_end GrimerDexEntry: db "SLUDGE@" db 2,11 dw 660 - TX_FAR _GrimerDexEntry - db "@" + text_far _GrimerDexEntry + text_end GengarDexEntry: db "SHADOW@" db 4,11 dw 890 - TX_FAR _GengarDexEntry - db "@" + text_far _GengarDexEntry + text_end NidoranFDexEntry: db "POISON PIN@" db 1,4 dw 150 - TX_FAR _NidoranFDexEntry - db "@" + text_far _NidoranFDexEntry + text_end NidoqueenDexEntry: db "DRILL@" db 4,3 dw 1320 - TX_FAR _NidoqueenDexEntry - db "@" + text_far _NidoqueenDexEntry + text_end CuboneDexEntry: db "LONELY@" db 1,4 dw 140 - TX_FAR _CuboneDexEntry - db "@" + text_far _CuboneDexEntry + text_end RhyhornDexEntry: db "SPIKES@" db 3,3 dw 2540 - TX_FAR _RhyhornDexEntry - db "@" + text_far _RhyhornDexEntry + text_end LaprasDexEntry: db "TRANSPORT@" db 8,2 dw 4850 - TX_FAR _LaprasDexEntry - db "@" + text_far _LaprasDexEntry + text_end ArcanineDexEntry: db "LEGENDARY@" db 6,3 dw 3420 - TX_FAR _ArcanineDexEntry - db "@" + text_far _ArcanineDexEntry + text_end MewDexEntry: db "NEW SPECIE@" db 1,4 dw 90 - TX_FAR _MewDexEntry - db "@" + text_far _MewDexEntry + text_end GyaradosDexEntry: db "ATROCIOUS@" db 21,4 dw 5180 - TX_FAR _GyaradosDexEntry - db "@" + text_far _GyaradosDexEntry + text_end ShellderDexEntry: db "BIVALVE@" db 1,0 dw 90 - TX_FAR _ShellderDexEntry - db "@" + text_far _ShellderDexEntry + text_end TentacoolDexEntry: db "JELLYFISH@" db 2,11 dw 1000 - TX_FAR _TentacoolDexEntry - db "@" + text_far _TentacoolDexEntry + text_end GastlyDexEntry: db "GAS@" db 4,3 dw 2 - TX_FAR _GastlyDexEntry - db "@" + text_far _GastlyDexEntry + text_end ScytherDexEntry: db "MANTIS@" db 4,11 dw 1230 - TX_FAR _ScytherDexEntry - db "@" + text_far _ScytherDexEntry + text_end StaryuDexEntry: db "STARSHAPE@" db 2,7 dw 760 - TX_FAR _StaryuDexEntry - db "@" + text_far _StaryuDexEntry + text_end BlastoiseDexEntry: db "SHELLFISH@" db 5,3 dw 1890 - TX_FAR _BlastoiseDexEntry - db "@" + text_far _BlastoiseDexEntry + text_end PinsirDexEntry: db "STAGBEETLE@" db 4,11 dw 1210 - TX_FAR _PinsirDexEntry - db "@" + text_far _PinsirDexEntry + text_end TangelaDexEntry: db "VINE@" db 3,3 dw 770 - TX_FAR _TangelaDexEntry - db "@" + text_far _TangelaDexEntry + text_end GrowlitheDexEntry: db "PUPPY@" db 2,4 dw 420 - TX_FAR _GrowlitheDexEntry - db "@" + text_far _GrowlitheDexEntry + text_end OnixDexEntry: db "ROCK SNAKE@" db 28,10 dw 4630 - TX_FAR _OnixDexEntry - db "@" + text_far _OnixDexEntry + text_end FearowDexEntry: db "BEAK@" db 3,11 dw 840 - TX_FAR _FearowDexEntry - db "@" + text_far _FearowDexEntry + text_end PidgeyDexEntry: db "TINY BIRD@" db 1,0 dw 40 - TX_FAR _PidgeyDexEntry - db "@" + text_far _PidgeyDexEntry + text_end SlowpokeDexEntry: db "DOPEY@" db 3,11 dw 790 - TX_FAR _SlowpokeDexEntry - db "@" + text_far _SlowpokeDexEntry + text_end KadabraDexEntry: db "PSI@" db 4,3 dw 1250 - TX_FAR _KadabraDexEntry - db "@" + text_far _KadabraDexEntry + text_end GravelerDexEntry: db "ROCK@" db 3,3 dw 2320 - TX_FAR _GravelerDexEntry - db "@" + text_far _GravelerDexEntry + text_end ChanseyDexEntry: db "EGG@" db 3,7 dw 760 - TX_FAR _ChanseyDexEntry - db "@" + text_far _ChanseyDexEntry + text_end MachokeDexEntry: db "SUPERPOWER@" db 4,11 dw 1550 - TX_FAR _MachokeDexEntry - db "@" + text_far _MachokeDexEntry + text_end MrMimeDexEntry: db "BARRIER@" db 4,3 dw 1200 - TX_FAR _MrMimeDexEntry - db "@" + text_far _MrMimeDexEntry + text_end HitmonleeDexEntry: db "KICKING@" db 4,11 dw 1100 - TX_FAR _HitmonleeDexEntry - db "@" + text_far _HitmonleeDexEntry + text_end HitmonchanDexEntry: db "PUNCHING@" db 4,7 dw 1110 - TX_FAR _HitmonchanDexEntry - db "@" + text_far _HitmonchanDexEntry + text_end ArbokDexEntry: db "COBRA@" db 11,6 dw 1430 - TX_FAR _ArbokDexEntry - db "@" + text_far _ArbokDexEntry + text_end ParasectDexEntry: db "MUSHROOM@" db 3,3 dw 650 - TX_FAR _ParasectDexEntry - db "@" + text_far _ParasectDexEntry + text_end PsyduckDexEntry: db "DUCK@" db 2,7 dw 430 - TX_FAR _PsyduckDexEntry - db "@" + text_far _PsyduckDexEntry + text_end DrowzeeDexEntry: db "HYPNOSIS@" db 3,3 dw 710 - TX_FAR _DrowzeeDexEntry - db "@" + text_far _DrowzeeDexEntry + text_end GolemDexEntry: db "MEGATON@" db 4,7 dw 6620 - TX_FAR _GolemDexEntry - db "@" + text_far _GolemDexEntry + text_end MagmarDexEntry: db "SPITFIRE@" db 4,3 dw 980 - TX_FAR _MagmarDexEntry - db "@" + text_far _MagmarDexEntry + text_end ElectabuzzDexEntry: db "ELECTRIC@" db 3,7 dw 660 - TX_FAR _ElectabuzzDexEntry - db "@" + text_far _ElectabuzzDexEntry + text_end MagnetonDexEntry: db "MAGNET@" db 3,3 dw 1320 - TX_FAR _MagnetonDexEntry - db "@" + text_far _MagnetonDexEntry + text_end KoffingDexEntry: db "POISON GAS@" db 2,0 dw 20 - TX_FAR _KoffingDexEntry - db "@" + text_far _KoffingDexEntry + text_end MankeyDexEntry: db "PIG MONKEY@" db 1,8 dw 620 - TX_FAR _MankeyDexEntry - db "@" + text_far _MankeyDexEntry + text_end SeelDexEntry: db "SEA LION@" db 3,7 dw 1980 - TX_FAR _SeelDexEntry - db "@" + text_far _SeelDexEntry + text_end DiglettDexEntry: db "MOLE@" db 0,8 dw 20 - TX_FAR _DiglettDexEntry - db "@" + text_far _DiglettDexEntry + text_end TaurosDexEntry: db "WILD BULL@" db 4,7 dw 1950 - TX_FAR _TaurosDexEntry - db "@" + text_far _TaurosDexEntry + text_end FarfetchdDexEntry: db "WILD DUCK@" db 2,7 dw 330 - TX_FAR _FarfetchdDexEntry - db "@" + text_far _FarfetchdDexEntry + text_end VenonatDexEntry: db "INSECT@" db 3,3 dw 660 - TX_FAR _VenonatDexEntry - db "@" + text_far _VenonatDexEntry + text_end DragoniteDexEntry: db "DRAGON@" db 7,3 dw 4630 - TX_FAR _DragoniteDexEntry - db "@" + text_far _DragoniteDexEntry + text_end DoduoDexEntry: db "TWIN BIRD@" db 4,7 dw 860 - TX_FAR _DoduoDexEntry - db "@" + text_far _DoduoDexEntry + text_end PoliwagDexEntry: db "TADPOLE@" db 2,0 dw 270 - TX_FAR _PoliwagDexEntry - db "@" + text_far _PoliwagDexEntry + text_end JynxDexEntry: db "HUMANSHAPE@" db 4,7 dw 900 - TX_FAR _JynxDexEntry - db "@" + text_far _JynxDexEntry + text_end MoltresDexEntry: db "FLAME@" db 6,7 dw 1320 - TX_FAR _MoltresDexEntry - db "@" + text_far _MoltresDexEntry + text_end ArticunoDexEntry: db "FREEZE@" db 5,7 dw 1220 - TX_FAR _ArticunoDexEntry - db "@" + text_far _ArticunoDexEntry + text_end ZapdosDexEntry: db "ELECTRIC@" db 5,3 dw 1160 - TX_FAR _ZapdosDexEntry - db "@" + text_far _ZapdosDexEntry + text_end DittoDexEntry: db "TRANSFORM@" db 1,0 dw 90 - TX_FAR _DittoDexEntry - db "@" + text_far _DittoDexEntry + text_end MeowthDexEntry: db "SCRATCHCAT@" db 1,4 dw 90 - TX_FAR _MeowthDexEntry - db "@" + text_far _MeowthDexEntry + text_end KrabbyDexEntry: db "RIVER CRAB@" db 1,4 dw 140 - TX_FAR _KrabbyDexEntry - db "@" + text_far _KrabbyDexEntry + text_end VulpixDexEntry: db "FOX@" db 2,0 dw 220 - TX_FAR _VulpixDexEntry - db "@" + text_far _VulpixDexEntry + text_end NinetalesDexEntry: db "FOX@" db 3,7 dw 440 - TX_FAR _NinetalesDexEntry - db "@" + text_far _NinetalesDexEntry + text_end PikachuDexEntry: db "MOUSE@" db 1,4 dw 130 - TX_FAR _PikachuDexEntry - db "@" + text_far _PikachuDexEntry + text_end RaichuDexEntry: db "MOUSE@" db 2,7 dw 660 - TX_FAR _RaichuDexEntry - db "@" + text_far _RaichuDexEntry + text_end DratiniDexEntry: db "DRAGON@" db 5,11 dw 70 - TX_FAR _DratiniDexEntry - db "@" + text_far _DratiniDexEntry + text_end DragonairDexEntry: db "DRAGON@" db 13,1 dw 360 - TX_FAR _DragonairDexEntry - db "@" + text_far _DragonairDexEntry + text_end KabutoDexEntry: db "SHELLFISH@" db 1,8 dw 250 - TX_FAR _KabutoDexEntry - db "@" + text_far _KabutoDexEntry + text_end KabutopsDexEntry: db "SHELLFISH@" db 4,3 dw 890 - TX_FAR _KabutopsDexEntry - db "@" + text_far _KabutopsDexEntry + text_end HorseaDexEntry: db "DRAGON@" db 1,4 dw 180 - TX_FAR _HorseaDexEntry - db "@" + text_far _HorseaDexEntry + text_end SeadraDexEntry: db "DRAGON@" db 3,11 dw 550 - TX_FAR _SeadraDexEntry - db "@" + text_far _SeadraDexEntry + text_end SandshrewDexEntry: db "MOUSE@" db 2,0 dw 260 - TX_FAR _SandshrewDexEntry - db "@" + text_far _SandshrewDexEntry + text_end SandslashDexEntry: db "MOUSE@" db 3,3 dw 650 - TX_FAR _SandslashDexEntry - db "@" + text_far _SandslashDexEntry + text_end OmanyteDexEntry: db "SPIRAL@" db 1,4 dw 170 - TX_FAR _OmanyteDexEntry - db "@" + text_far _OmanyteDexEntry + text_end OmastarDexEntry: db "SPIRAL@" db 3,3 dw 770 - TX_FAR _OmastarDexEntry - db "@" + text_far _OmastarDexEntry + text_end JigglypuffDexEntry: db "BALLOON@" db 1,8 dw 120 - TX_FAR _JigglypuffDexEntry - db "@" + text_far _JigglypuffDexEntry + text_end WigglytuffDexEntry: db "BALLOON@" db 3,3 dw 260 - TX_FAR _WigglytuffDexEntry - db "@" + text_far _WigglytuffDexEntry + text_end EeveeDexEntry: db "EVOLUTION@" db 1,0 dw 140 - TX_FAR _EeveeDexEntry - db "@" + text_far _EeveeDexEntry + text_end FlareonDexEntry: db "FLAME@" db 2,11 dw 550 - TX_FAR _FlareonDexEntry - db "@" + text_far _FlareonDexEntry + text_end JolteonDexEntry: db "LIGHTNING@" db 2,7 dw 540 - TX_FAR _JolteonDexEntry - db "@" + text_far _JolteonDexEntry + text_end VaporeonDexEntry: db "BUBBLE JET@" db 3,3 dw 640 - TX_FAR _VaporeonDexEntry - db "@" + text_far _VaporeonDexEntry + text_end MachopDexEntry: db "SUPERPOWER@" db 2,7 dw 430 - TX_FAR _MachopDexEntry - db "@" + text_far _MachopDexEntry + text_end ZubatDexEntry: db "BAT@" db 2,7 dw 170 - TX_FAR _ZubatDexEntry - db "@" + text_far _ZubatDexEntry + text_end EkansDexEntry: db "SNAKE@" db 6,7 dw 150 - TX_FAR _EkansDexEntry - db "@" + text_far _EkansDexEntry + text_end ParasDexEntry: db "MUSHROOM@" db 1,0 dw 120 - TX_FAR _ParasDexEntry - db "@" + text_far _ParasDexEntry + text_end PoliwhirlDexEntry: db "TADPOLE@" db 3,3 dw 440 - TX_FAR _PoliwhirlDexEntry - db "@" + text_far _PoliwhirlDexEntry + text_end PoliwrathDexEntry: db "TADPOLE@" db 4,3 dw 1190 - TX_FAR _PoliwrathDexEntry - db "@" + text_far _PoliwrathDexEntry + text_end WeedleDexEntry: db "HAIRY BUG@" db 1,0 dw 70 - TX_FAR _WeedleDexEntry - db "@" + text_far _WeedleDexEntry + text_end KakunaDexEntry: db "COCOON@" db 2,0 dw 220 - TX_FAR _KakunaDexEntry - db "@" + text_far _KakunaDexEntry + text_end BeedrillDexEntry: db "POISON BEE@" db 3,3 dw 650 - TX_FAR _BeedrillDexEntry - db "@" + text_far _BeedrillDexEntry + text_end DodrioDexEntry: db "TRIPLEBIRD@" db 5,11 dw 1880 - TX_FAR _DodrioDexEntry - db "@" + text_far _DodrioDexEntry + text_end PrimeapeDexEntry: db "PIG MONKEY@" db 3,3 dw 710 - TX_FAR _PrimeapeDexEntry - db "@" + text_far _PrimeapeDexEntry + text_end DugtrioDexEntry: db "MOLE@" db 2,4 dw 730 - TX_FAR _DugtrioDexEntry - db "@" + text_far _DugtrioDexEntry + text_end VenomothDexEntry: db "POISONMOTH@" db 4,11 dw 280 - TX_FAR _VenomothDexEntry - db "@" + text_far _VenomothDexEntry + text_end DewgongDexEntry: db "SEA LION@" db 5,7 dw 2650 - TX_FAR _DewgongDexEntry - db "@" + text_far _DewgongDexEntry + text_end CaterpieDexEntry: db "WORM@" db 1,0 dw 60 - TX_FAR _CaterpieDexEntry - db "@" + text_far _CaterpieDexEntry + text_end MetapodDexEntry: db "COCOON@" db 2,4 dw 220 - TX_FAR _MetapodDexEntry - db "@" + text_far _MetapodDexEntry + text_end ButterfreeDexEntry: db "BUTTERFLY@" db 3,7 dw 710 - TX_FAR _ButterfreeDexEntry - db "@" + text_far _ButterfreeDexEntry + text_end MachampDexEntry: db "SUPERPOWER@" db 5,3 dw 2870 - TX_FAR _MachampDexEntry - db "@" + text_far _MachampDexEntry + text_end GolduckDexEntry: db "DUCK@" db 5,7 dw 1690 - TX_FAR _GolduckDexEntry - db "@" + text_far _GolduckDexEntry + text_end HypnoDexEntry: db "HYPNOSIS@" db 5,3 dw 1670 - TX_FAR _HypnoDexEntry - db "@" + text_far _HypnoDexEntry + text_end GolbatDexEntry: db "BAT@" db 5,3 dw 1210 - TX_FAR _GolbatDexEntry - db "@" + text_far _GolbatDexEntry + text_end MewtwoDexEntry: db "GENETIC@" db 6,7 dw 2690 - TX_FAR _MewtwoDexEntry - db "@" + text_far _MewtwoDexEntry + text_end SnorlaxDexEntry: db "SLEEPING@" db 6,11 dw 10140 - TX_FAR _SnorlaxDexEntry - db "@" + text_far _SnorlaxDexEntry + text_end MagikarpDexEntry: db "FISH@" db 2,11 dw 220 - TX_FAR _MagikarpDexEntry - db "@" + text_far _MagikarpDexEntry + text_end MukDexEntry: db "SLUDGE@" db 3,11 dw 660 - TX_FAR _MukDexEntry - db "@" + text_far _MukDexEntry + text_end KinglerDexEntry: db "PINCER@" db 4,3 dw 1320 - TX_FAR _KinglerDexEntry - db "@" + text_far _KinglerDexEntry + text_end CloysterDexEntry: db "BIVALVE@" db 4,11 dw 2920 - TX_FAR _CloysterDexEntry - db "@" + text_far _CloysterDexEntry + text_end ElectrodeDexEntry: db "BALL@" db 3,11 dw 1470 - TX_FAR _ElectrodeDexEntry - db "@" + text_far _ElectrodeDexEntry + text_end ClefableDexEntry: db "FAIRY@" db 4,3 dw 880 - TX_FAR _ClefableDexEntry - db "@" + text_far _ClefableDexEntry + text_end WeezingDexEntry: db "POISON GAS@" db 3,11 dw 210 - TX_FAR _WeezingDexEntry - db "@" + text_far _WeezingDexEntry + text_end PersianDexEntry: db "CLASSY CAT@" db 3,3 dw 710 - TX_FAR _PersianDexEntry - db "@" + text_far _PersianDexEntry + text_end MarowakDexEntry: db "BONEKEEPER@" db 3,3 dw 990 - TX_FAR _MarowakDexEntry - db "@" + text_far _MarowakDexEntry + text_end HaunterDexEntry: db "GAS@" db 5,3 dw 2 - TX_FAR _HaunterDexEntry - db "@" + text_far _HaunterDexEntry + text_end AbraDexEntry: db "PSI@" db 2,11 dw 430 - TX_FAR _AbraDexEntry - db "@" + text_far _AbraDexEntry + text_end AlakazamDexEntry: db "PSI@" db 4,11 dw 1060 - TX_FAR _AlakazamDexEntry - db "@" + text_far _AlakazamDexEntry + text_end PidgeottoDexEntry: db "BIRD@" db 3,7 dw 660 - TX_FAR _PidgeottoDexEntry - db "@" + text_far _PidgeottoDexEntry + text_end PidgeotDexEntry: db "BIRD@" db 4,11 dw 870 - TX_FAR _PidgeotDexEntry - db "@" + text_far _PidgeotDexEntry + text_end StarmieDexEntry: db "MYSTERIOUS@" db 3,7 dw 1760 - TX_FAR _StarmieDexEntry - db "@" + text_far _StarmieDexEntry + text_end BulbasaurDexEntry: db "SEED@" db 2,4 dw 150 - TX_FAR _BulbasaurDexEntry - db "@" + text_far _BulbasaurDexEntry + text_end VenusaurDexEntry: db "SEED@" db 6,7 dw 2210 - TX_FAR _VenusaurDexEntry - db "@" + text_far _VenusaurDexEntry + text_end TentacruelDexEntry: db "JELLYFISH@" db 5,3 dw 1210 - TX_FAR _TentacruelDexEntry - db "@" + text_far _TentacruelDexEntry + text_end GoldeenDexEntry: db "GOLDFISH@" db 2,0 dw 330 - TX_FAR _GoldeenDexEntry - db "@" + text_far _GoldeenDexEntry + text_end SeakingDexEntry: db "GOLDFISH@" db 4,3 dw 860 - TX_FAR _SeakingDexEntry - db "@" + text_far _SeakingDexEntry + text_end PonytaDexEntry: db "FIRE HORSE@" db 3,3 dw 660 - TX_FAR _PonytaDexEntry - db "@" + text_far _PonytaDexEntry + text_end RapidashDexEntry: db "FIRE HORSE@" db 5,7 dw 2090 - TX_FAR _RapidashDexEntry - db "@" + text_far _RapidashDexEntry + text_end RattataDexEntry: db "RAT@" db 1,0 dw 80 - TX_FAR _RattataDexEntry - db "@" + text_far _RattataDexEntry + text_end RaticateDexEntry: db "RAT@" db 2,4 dw 410 - TX_FAR _RaticateDexEntry - db "@" + text_far _RaticateDexEntry + text_end NidorinoDexEntry: db "POISON PIN@" db 2,11 dw 430 - TX_FAR _NidorinoDexEntry - db "@" + text_far _NidorinoDexEntry + text_end NidorinaDexEntry: db "POISON PIN@" db 2,7 dw 440 - TX_FAR _NidorinaDexEntry - db "@" + text_far _NidorinaDexEntry + text_end GeodudeDexEntry: db "ROCK@" db 1,4 dw 440 - TX_FAR _GeodudeDexEntry - db "@" + text_far _GeodudeDexEntry + text_end PorygonDexEntry: db "VIRTUAL@" db 2,7 dw 800 - TX_FAR _PorygonDexEntry - db "@" + text_far _PorygonDexEntry + text_end AerodactylDexEntry: db "FOSSIL@" db 5,11 dw 1300 - TX_FAR _AerodactylDexEntry - db "@" + text_far _AerodactylDexEntry + text_end MagnemiteDexEntry: db "MAGNET@" db 1,0 dw 130 - TX_FAR _MagnemiteDexEntry - db "@" + text_far _MagnemiteDexEntry + text_end CharmanderDexEntry: db "LIZARD@" db 2,0 dw 190 - TX_FAR _CharmanderDexEntry - db "@" + text_far _CharmanderDexEntry + text_end SquirtleDexEntry: db "TINYTURTLE@" db 1,8 dw 200 - TX_FAR _SquirtleDexEntry - db "@" + text_far _SquirtleDexEntry + text_end CharmeleonDexEntry: db "FLAME@" db 3,7 dw 420 - TX_FAR _CharmeleonDexEntry - db "@" + text_far _CharmeleonDexEntry + text_end WartortleDexEntry: db "TURTLE@" db 3,3 dw 500 - TX_FAR _WartortleDexEntry - db "@" + text_far _WartortleDexEntry + text_end CharizardDexEntry: db "FLAME@" db 5,7 dw 2000 - TX_FAR _CharizardDexEntry - db "@" + text_far _CharizardDexEntry + text_end OddishDexEntry: db "WEED@" db 1,8 dw 120 - TX_FAR _OddishDexEntry - db "@" + text_far _OddishDexEntry + text_end GloomDexEntry: db "WEED@" db 2,7 dw 190 - TX_FAR _GloomDexEntry - db "@" + text_far _GloomDexEntry + text_end VileplumeDexEntry: db "FLOWER@" db 3,11 dw 410 - TX_FAR _VileplumeDexEntry - db "@" + text_far _VileplumeDexEntry + text_end BellsproutDexEntry: db "FLOWER@" db 2,4 dw 90 - TX_FAR _BellsproutDexEntry - db "@" + text_far _BellsproutDexEntry + text_end WeepinbellDexEntry: db "FLYCATCHER@" db 3,3 dw 140 - TX_FAR _WeepinbellDexEntry - db "@" + text_far _WeepinbellDexEntry + text_end VictreebelDexEntry: db "FLYCATCHER@" db 5,7 dw 340 - TX_FAR _VictreebelDexEntry - db "@" + text_far _VictreebelDexEntry + text_end MissingNoDexEntry: db "???@" db 10 ; 1.0 m db 100 ; 10.0 kg - text "コメント さくせいちゅう@" ; コメント作成中 (Comment to be written) + text "コメント さくせいちゅう@" ; コメント作成中 (Comment to be written) diff --git a/data/text/alphabets.asm b/data/text/alphabets.asm index 9799a7e6..07e6cf96 100644 --- a/data/text/alphabets.asm +++ b/data/text/alphabets.asm @@ -1,5 +1,15 @@ LowerCaseAlphabet: - db "abcdefghijklmnopqrstuvwxyz ×():;[]",$e1,$e2,"-?!♂♀/⠄,¥UPPER CASE@" + db "abcdefghi" + db "jklmnopqr" + db "stuvwxyz " + db "×():;[]" + db "-?!♂♀/," + db "UPPER CASE@" UpperCaseAlphabet: - db "ABCDEFGHIJKLMNOPQRSTUVWXYZ ×():;[]",$e1,$e2,"-?!♂♀/⠄,¥lower case@" + db "ABCDEFGHI" + db "JKLMNOPQR" + db "STUVWXYZ " + db "×():;[]" + db "-?!♂♀/," + db "lower case@" diff --git a/data/text/dakutens.asm b/data/text/dakutens.asm index f3bf4854..7a53c71f 100644 --- a/data/text/dakutens.asm +++ b/data/text/dakutens.asm @@ -7,9 +7,9 @@ Dakutens: db "サザ", "シジ", "スズ", "セゼ", "ソゾ" db "タダ", "チヂ", "ツヅ", "テデ", "トド" db "ハバ", "ヒビ", "フブ", "へべ", "ホボ" - db $ff + db -1 ; end Handakutens: db "はぱ", "ひぴ", "ふぷ", "へぺ", "ほぽ" db "ハパ", "ヒピ", "フプ", "へぺ", "ホポ" - db $ff + db -1 ; end diff --git a/data/text/text_1.asm b/data/text/text_1.asm index 1ab54da3..af1d3827 100644 --- a/data/text/text_1.asm +++ b/data/text/text_1.asm @@ -1,8 +1,9 @@ _CardKeySuccessText1:: - text "Bingo!@@" + text "Bingo!@" + text_end _CardKeySuccessText2:: - text "" + text_start line "The CARD KEY" cont "opened the door!" done @@ -13,8 +14,9 @@ _CardKeyFailText:: done _TrainerNameText:: - TX_RAM wcd6d - text ": @@" + text_ram wcd6d + text ": @" + text_end _NoNibbleText:: text "Not even a nibble!" @@ -58,8 +60,9 @@ _PokeCenterSignText:: _FoundItemText:: text " found" line "@" - TX_RAM wcf4b - text "!@@" + text_ram wcf4b + text "!@" + text_end _NoMoreRoomForItemText:: text "No more room for" @@ -72,19 +75,19 @@ _OaksAideHiText:: cont "AIDE!" para "If you caught @" - TX_NUM hOaksAideRequirement, 1, 3 - text "" + text_decimal hOaksAideRequirement, 1, 3 + text_start line "kinds of #MON," cont "I'm supposed to" cont "give you an" cont "@" - TX_RAM wOaksAideRewardItemName + text_ram wOaksAideRewardItemName text "!" para "So, ! Have" line "you caught at" cont "least @" - TX_NUM hOaksAideRequirement, 1, 3 + text_decimal hOaksAideRequirement, 1, 3 text " kinds of" cont "#MON?" done @@ -93,16 +96,16 @@ _OaksAideUhOhText:: text "Let's see..." line "Uh-oh! You have" cont "caught only @" - TX_NUM hOaksAideNumMonsOwned, 1, 3 - text "" + text_decimal hOaksAideNumMonsOwned, 1, 3 + text_start cont "kinds of #MON!" para "You need @" - TX_NUM hOaksAideRequirement, 1, 3 + text_decimal hOaksAideRequirement, 1, 3 text " kinds" line "if you want the" cont "@" - TX_RAM wOaksAideRewardItemName + text_ram wOaksAideRewardItemName text "." done @@ -110,18 +113,18 @@ _OaksAideComeBackText:: text "Oh. I see." para "When you get @" - TX_NUM hOaksAideRequirement, 1, 3 - text "" + text_decimal hOaksAideRequirement, 1, 3 + text_start line "kinds, come back" cont "for @" - TX_RAM wOaksAideRewardItemName + text_ram wOaksAideRewardItemName text "." done _OaksAideHereYouGoText:: text "Great! You have" line "caught @" - TX_NUM hOaksAideNumMonsOwned, 1, 3 + text_decimal hOaksAideNumMonsOwned, 1, 3 text " kinds " cont "of #MON!" cont "Congratulations!" @@ -132,14 +135,15 @@ _OaksAideHereYouGoText:: _OaksAideGotItemText:: text " got the" line "@" - TX_RAM wOaksAideRewardItemName - text "!@@" + text_ram wOaksAideRewardItemName + text "!@" + text_end _OaksAideNoRoomText:: text "Oh! I see you" line "don't have any" cont "room for the" cont "@" - TX_RAM wOaksAideRewardItemName + text_ram wOaksAideRewardItemName text "." done diff --git a/data/text/text_2.asm b/data/text/text_2.asm index 01e8641b..5e620fbb 100644 --- a/data/text/text_2.asm +++ b/data/text/text_2.asm @@ -1,53 +1,53 @@ _AIBattleWithdrawText:: - TX_RAM wTrainerName + text_ram wTrainerName text " with-" line "drew @" - TX_RAM wEnemyMonNick + text_ram wEnemyMonNick text "!" prompt _AIBattleUseItemText:: - TX_RAM wTrainerName - text "" + text_ram wTrainerName + text_start line "used @" - TX_RAM wcd6d - text "" + text_ram wcd6d + text_start cont "on @" - TX_RAM wEnemyMonNick + text_ram wEnemyMonNick text "!" prompt _TradeWentToText:: - TX_RAM wcf4b + text_ram wcf4b text " went" line "to @" - TX_RAM wLinkEnemyTrainerName + text_ram wLinkEnemyTrainerName text "." done _TradeForText:: text "For 's" line "@" - TX_RAM wcf4b + text_ram wcf4b text "," done _TradeSendsText:: - TX_RAM wLinkEnemyTrainerName + text_ram wLinkEnemyTrainerName text " sends" line "@" - TX_RAM wcd6d + text_ram wcd6d text "." done _TradeWavesFarewellText:: - TX_RAM wLinkEnemyTrainerName + text_ram wLinkEnemyTrainerName text " waves" line "farewell as" done _TradeTransferredText:: - TX_RAM wcd6d + text_ram wcd6d text " is" line "transferred." done @@ -55,22 +55,22 @@ _TradeTransferredText:: _TradeTakeCareText:: text "Take good care of" line "@" - TX_RAM wcd6d + text_ram wcd6d text "." done _TradeWillTradeText:: - TX_RAM wLinkEnemyTrainerName + text_ram wLinkEnemyTrainerName text " will" line "trade @" - TX_RAM wcd6d - text "" + text_ram wcd6d + text_start done _TradeforText:: text "for 's" line "@" - TX_RAM wcf4b + text_ram wcf4b text "." done @@ -106,7 +106,7 @@ _OneMoreGoSlotMachineText:: _LinedUpText:: text " lined up!" line "Scored @" - TX_RAM wcf4b + text_ram wcf4b text " coins!" done @@ -115,39 +115,40 @@ _NotThisTimeText:: prompt _YeahText:: - text "Yeah!@@" + text "Yeah!@" + text_end _DexSeenOwnedText:: text "#DEX Seen:@" - TX_NUM wDexRatingNumMonsSeen, 1, 3 - text "" + text_decimal wDexRatingNumMonsSeen, 1, 3 + text_start line " Owned:@" - TX_NUM wDexRatingNumMonsOwned, 1, 3 - db "@" + text_decimal wDexRatingNumMonsOwned, 1, 3 + text_end _DexRatingText:: - text "#DEX Rating", $6d + text "#DEX Rating" done _GymStatueText1:: - TX_RAM wGymCityName - text "" + text_ram wGymCityName + text_start line "#MON GYM" cont "LEADER: @" - TX_RAM wGymLeaderName - text "" + text_ram wGymLeaderName + text_start para "WINNING TRAINERS:" line "" done _GymStatueText2:: - TX_RAM wGymCityName - text "" + text_ram wGymCityName + text_start line "#MON GYM" cont "LEADER: @" - TX_RAM wGymLeaderName - text "" + text_ram wGymLeaderName + text_start para "WINNING TRAINERS:" line "" @@ -375,7 +376,8 @@ _CinnabarGymQuizCorrectText:: text "You're absolutely" line "correct!" - para "Go on through!@@" + para "Go on through!@" + text_end _CinnabarGymQuizIncorrectText:: text "Sorry! Bad call!" @@ -398,7 +400,8 @@ _BillsHouseMonitorText:: _BillsHouseInitiatedText:: text " initiated" line "TELEPORTER's Cell" - cont "Separator!@@" + cont "Separator!@" + text_end _BillsHousePokemonListText1:: text "BILL's favorite" @@ -479,7 +482,8 @@ TMNotebookText:: line "HMs that can be" cont "used repeatedly." - para "SILPH CO.@@" + para "SILPH CO.@" + text_end _TurnPageText:: text "Turn the page?" @@ -487,7 +491,8 @@ _TurnPageText:: _ViridianSchoolNotebookText5:: text "GIRL: Hey! Don't" - line "look at my notes!@@" + line "look at my notes!@" + text_end _ViridianSchoolNotebookText1:: text "Looked at the" @@ -718,7 +723,8 @@ _VermilionGymTrashSuccessText1:: cont "Turn it on!" para "The 1st electric" - line "lock opened!@@" + line "lock opened!@" + text_end _VermilionGymTrashSuccessText2:: text "Hey! There's" @@ -732,19 +738,22 @@ _VermilionGymTrashSuccessText3:: line "lock opened!" para "The motorized door" - line "opened!@@" + line "opened!@" + text_end _VermilionGymTrashFailText:: text "Nope! There's" line "only trash here." cont "Hey! The electric" - cont "locks were reset!@@" + cont "locks were reset!@" + text_end _FoundHiddenItemText:: text " found" line "@" - TX_RAM wcd6d - text "!@@" + text_ram wcd6d + text "!@" + text_end _HiddenItemBagFullText:: text "But, has" @@ -755,17 +764,19 @@ _HiddenItemBagFullText:: _FoundHiddenCoinsText:: text " found" line "@" - TX_BCD hCoins, 2 | LEADING_ZEROES | LEFT_ALIGN - text " coins!@@" + text_bcd hCoins, 2 | LEADING_ZEROES | LEFT_ALIGN + text " coins!@" + text_end _FoundHiddenCoins2Text:: text " found" line "@" - TX_BCD hCoins, 2 | LEADING_ZEROES | LEFT_ALIGN - text " coins!@@" + text_bcd hCoins, 2 | LEADING_ZEROES | LEFT_ALIGN + text " coins!@" + text_end _DroppedHiddenCoinsText:: - text "" + text_start para "Oops! Dropped" line "some coins!" done @@ -802,7 +813,8 @@ _ElevatorText:: done _TownMapText:: - text "A TOWN MAP.@@" + text "A TOWN MAP.@" + text_end _PokemonStuffText:: text "Wow! Tons of" @@ -818,15 +830,15 @@ _OutOfSafariBallsText:: _WildRanText:: text "Wild @" - TX_RAM wEnemyMonNick - text "" + text_ram wEnemyMonNick + text_start line "ran!" prompt _EnemyRanText:: text "Enemy @" - TX_RAM wEnemyMonNick - text "" + text_ram wEnemyMonNick + text_start line "ran!" prompt @@ -847,28 +859,28 @@ _HurtByLeechSeedText:: _EnemyMonFaintedText:: text "Enemy @" - TX_RAM wEnemyMonNick - text "" + text_ram wEnemyMonNick + text_start line "fainted!" prompt _MoneyForWinningText:: text " got ¥@" - TX_BCD wAmountMoneyWon, 3 | LEADING_ZEROES | LEFT_ALIGN - text "" + text_bcd wAmountMoneyWon, 3 | LEADING_ZEROES | LEFT_ALIGN + text_start line "for winning!" prompt _TrainerDefeatedText:: text " defeated" line "@" - TX_RAM wTrainerName + text_ram wTrainerName text "!" prompt _PlayerMonFaintedText:: - TX_RAM wBattleMonNick - text "" + text_ram wBattleMonNick + text_start line "fainted!" prompt @@ -892,16 +904,16 @@ _PlayerBlackedOutText2:: _LinkBattleLostText:: text " lost to" line "@" - TX_RAM wTrainerName + text_ram wTrainerName text "!" prompt _TrainerAboutToUseText:: - TX_RAM wTrainerName + text_ram wTrainerName text " is" line "about to use" cont"@" - TX_RAM wEnemyMonNick + text_ram wEnemyMonNick text "!" para "Will " @@ -909,10 +921,10 @@ _TrainerAboutToUseText:: done _TrainerSentOutText:: - TX_RAM wTrainerName + text_ram wTrainerName text " sent" line "out @" - TX_RAM wEnemyMonNick + text_ram wEnemyMonNick text "!" done @@ -941,7 +953,7 @@ _ItemsCantBeUsedHereText:: prompt _AlreadyOutText:: - TX_RAM wBattleMonNick + text_ram wBattleMonNick text " is" line "already out!" prompt @@ -957,7 +969,7 @@ _MoveDisabledText:: prompt _NoMovesLeftText:: - TX_RAM wBattleMonNick + text_ram wBattleMonNick text " has no" line "moves left!" done @@ -965,12 +977,12 @@ _NoMovesLeftText:: _MultiHitText:: text "Hit the enemy" line "@" - TX_NUM wPlayerNumHits,1,1 + text_decimal wPlayerNumHits, 1, 1 text " times!" prompt _ScaredText:: - TX_RAM wBattleMonNick + text_ram wBattleMonNick text " is too" line "scared to move!" prompt @@ -1058,28 +1070,32 @@ _CantMoveText:: _MoveIsDisabledText:: text "'s" line "@" - TX_RAM wcd6d + text_ram wcd6d text " is" cont "disabled!" prompt _MonName1Text:: - text "@@" + text "@" + text_end _Used1Text:: - text "" - line "used @@" + text_start + line "used @" + text_end _Used2Text:: - text "" - line "used @@" + text_start + line "used @" + text_end _InsteadText:: text "instead," - cont "@@" + cont "@" + text_end _CF4BText:: - TX_RAM wcf4b + text_ram wcf4b text "@" _ExclamationPoint1Text:: @@ -1132,32 +1148,32 @@ _OHKOText:: prompt _LoafingAroundText:: - TX_RAM wBattleMonNick + text_ram wBattleMonNick text " is" line "loafing around." prompt _BeganToNapText:: - TX_RAM wBattleMonNick + text_ram wBattleMonNick text " began" line "to nap!" prompt _WontObeyText:: - TX_RAM wBattleMonNick + text_ram wBattleMonNick text " won't" line "obey!" prompt _TurnedAwayText:: - TX_RAM wBattleMonNick + text_ram wBattleMonNick text " turned" line "away!" prompt _IgnoredOrdersText:: - TX_RAM wBattleMonNick - text "" + text_ram wBattleMonNick + text_start line "ignored orders!" prompt @@ -1184,58 +1200,62 @@ _MirrorMoveFailedText:: _HitXTimesText:: text "Hit @" - TX_NUM wEnemyNumHits, 1, 1 + text_decimal wEnemyNumHits, 1, 1 text " times!" prompt _GainedText:: - TX_RAM wcd6d + text_ram wcd6d text " gained" - line "@@" + line "@" + text_end _WithExpAllText:: text "with EXP.ALL," - cont "@@" + cont "@" + text_end _BoostedText:: text "a boosted" - cont "@@" + cont "@" + text_end _ExpPointsText:: - TX_NUM wExpAmountGained, 2, 4 + text_decimal wExpAmountGained, 2, 4 text " EXP. Points!" prompt _GrewLevelText:: - TX_RAM wcd6d + text_ram wcd6d text " grew" line "to level @" - TX_NUM wCurEnemyLVL, 1, 3 - text "!@@" + text_decimal wCurEnemyLVL, 1, 3 + text "!@" + text_end _WildMonAppearedText:: text "Wild @" - TX_RAM wEnemyMonNick - text "" + text_ram wEnemyMonNick + text_start line "appeared!" prompt _HookedMonAttackedText:: text "The hooked" line "@" - TX_RAM wEnemyMonNick - text "" + text_ram wEnemyMonNick + text_start cont "attacked!" prompt _EnemyAppearedText:: - TX_RAM wEnemyMonNick - text "" + text_ram wEnemyMonNick + text_start line "appeared!" prompt _TrainerWantsToFightText:: - TX_RAM wTrainerName + text_ram wTrainerName text " wants" line "to fight!" prompt @@ -1252,38 +1272,46 @@ _GhostCantBeIDdText:: prompt _GoText:: - text "Go! @@" + text "Go! @" + text_end _DoItText:: - text "Do it! @@" + text "Do it! @" + text_end _GetmText:: - text "Get'm! @@" + text "Get'm! @" + text_end _EnemysWeakText:: text "The enemy's weak!" - line "Get'm! @@" + line "Get'm! @" + text_end _PlayerMon1Text:: - TX_RAM wBattleMonNick + text_ram wBattleMonNick text "!" done _PlayerMon2Text:: - TX_RAM wBattleMonNick - text " @@" + text_ram wBattleMonNick + text " @" + text_end _EnoughText:: - text "enough!@@" + text "enough!@" + text_end _OKExclamationText:: - text "OK!@@" + text "OK!@" + text_end _GoodText:: - text "good!@@" + text "good!@" + text_end _ComeBackText:: - text "" + text_start line "Come back!" done @@ -1299,15 +1327,15 @@ _NotVeryEffectiveText:: _SafariZoneEatingText:: text "Wild @" - TX_RAM wEnemyMonNick - text "" + text_ram wEnemyMonNick + text_start line "is eating!" prompt _SafariZoneAngryText:: text "Wild @" - TX_RAM wEnemyMonNick - text "" + text_ram wEnemyMonNick + text_start line "is angry!" prompt @@ -1315,7 +1343,7 @@ _SafariZoneAngryText:: _PickUpPayDayMoneyText:: text " picked up" line "¥@" - TX_BCD wTotalPayDayMoney, 3 | LEADING_ZEROES | LEFT_ALIGN + text_bcd wTotalPayDayMoney, 3 | LEADING_ZEROES | LEFT_ALIGN text "!" prompt @@ -1354,61 +1382,62 @@ _PartyMenuSwapMonText:: done _PotionText:: - TX_RAM wcd6d - text "" + text_ram wcd6d + text_start line "recovered by @" - TX_NUM wHPBarHPDifference, 2, 3 + text_decimal wHPBarHPDifference, 2, 3 text "!" done _AntidoteText:: - TX_RAM wcd6d + text_ram wcd6d text " was" line "cured of poison!" done _ParlyzHealText:: - TX_RAM wcd6d + text_ram wcd6d text "'s" line "rid of paralysis!" done _BurnHealText:: - TX_RAM wcd6d + text_ram wcd6d text "'s" line "burn was healed!" done _IceHealText:: - TX_RAM wcd6d + text_ram wcd6d text " was" line "defrosted!" done _AwakeningText:: - TX_RAM wcd6d - text "" + text_ram wcd6d + text_start line "woke up!" done _FullHealText:: - TX_RAM wcd6d + text_ram wcd6d text "'s" line "health returned!" done _ReviveText:: - TX_RAM wcd6d - text "" + text_ram wcd6d + text_start line "is revitalized!" done _RareCandyText:: - TX_RAM wcd6d + text_ram wcd6d text " grew" line "to level @" - TX_NUM wCurEnemyLVL, 1, 3 - text "!@@" + text_decimal wCurEnemyLVL, 1, 3 + text "!@" + text_end _TurnedOnPC1Text:: text " turned on" @@ -1458,7 +1487,7 @@ _DepositHowManyText:: done _ItemWasStoredText:: - TX_RAM wcd6d + text_ram wcd6d text " was" line "stored via PC." prompt @@ -1485,7 +1514,7 @@ _WithdrawHowManyText:: _WithdrewItemText:: text "Withdrew" line "@" - TX_RAM wcd6d + text_ram wcd6d text "." prompt @@ -1530,10 +1559,10 @@ _DepositWhichMonText:: done _MonWasStoredText:: - TX_RAM wcf4b + text_ram wcf4b text " was" line "stored in Box @" - TX_RAM wBoxNumString + text_ram wBoxNumString text "." prompt @@ -1548,11 +1577,11 @@ _BoxFullText:: prompt _MonIsTakenOutText:: - TX_RAM wcf4b + text_ram wcf4b text " is" line "taken out." cont "Got @" - TX_RAM wcf4b + text_ram wcf4b text "." prompt @@ -1577,25 +1606,26 @@ _ReleaseWhichMonText:: _OnceReleasedText:: text "Once released," line "@" - TX_RAM wcf4b + text_ram wcf4b text " is" cont "gone forever. OK?" done _MonWasReleasedText:: - TX_RAM wcf4b + text_ram wcf4b text " was" line "released outside." cont "Bye @" _CF4BExclamationText:: - TX_RAM wcf4b + text_ram wcf4b text "!" prompt _RequireCoinCaseText:: text "A COIN CASE is" - line "required!@@" + line "required!@" + text_end _ExchangeCoinsForPrizesText:: text "We exchange your" @@ -1608,25 +1638,29 @@ _WhichPrizeText:: done _HereYouGoText:: - text "Here you go!@@" + text "Here you go!@" + text_end _SoYouWantPrizeText:: text "So, you want" line "@" - TX_RAM wcd6d + text_ram wcd6d text "?" done _SorryNeedMoreCoinsText:: text "Sorry, you need" - line "more coins.@@" + line "more coins.@" + text_end _OopsYouDontHaveEnoughRoomText:: text "Oops! You don't" - line "have enough room.@@" + line "have enough room.@" + text_end _OhFineThenText:: - text "Oh, fine then.@@" + text "Oh, fine then.@" + text_end _GetDexRatedText:: text "Want to get your" @@ -1635,7 +1669,8 @@ _GetDexRatedText:: _ClosedOaksPCText:: text "Closed link to" - line "PROF.OAK's PC.@@" + line "PROF.OAK's PC.@" + text_end _AccessedOaksPCText:: text "Accessed PROF." @@ -1674,10 +1709,13 @@ _OakSpeechText2A:: text "This world is" line "inhabited by" cont "creatures called" - cont "#MON!@@" + cont "#MON!@" + text_end _OakSpeechText2B:: - text $51,"For some people," + text_start + + para "For some people," line "#MON are" cont "pets. Others use" cont "them for fights." @@ -1720,7 +1758,7 @@ _DoYouWantToNicknameText:: text "Do you want to" line "give a nickname" cont "to @" - TX_RAM wcd6d + text_ram wcd6d text "?" done @@ -1736,18 +1774,19 @@ _HisNameIsText:: prompt _WillBeTradedText:: - TX_RAM wNameOfPlayerMonToBeTraded + text_ram wNameOfPlayerMonToBeTraded text " and" line "@" - TX_RAM wcd6d + text_ram wcd6d text " will" cont "be traded." done -_Char00Text:: - TX_NUM hSpriteIndexOrTextID,1,2 +_TextIDErrorText:: + text_decimal hSpriteIndexOrTextID, 1, 2 text " ERROR." done -_Char55Text:: - text $4B,"@@" +_ContCharText:: + text "<_CONT>@" + text_end diff --git a/data/text/text_3.asm b/data/text/text_3.asm index 3b2ff787..6407dce7 100644 --- a/data/text/text_3.asm +++ b/data/text/text_3.asm @@ -29,31 +29,32 @@ _WhenYouChangeBoxText:: _ChooseABoxText:: text "Choose a" - line " BOX.@@" + line " BOX.@" + text_end _EvolvedText:: - TX_RAM wcf4b + text_ram wcf4b text " evolved" done _IntoText:: - text "" + text_start line "into @" - TX_RAM wcd6d + text_ram wcd6d text "!" done _StoppedEvolvingText:: text "Huh? @" - TX_RAM wcf4b - text "" + text_ram wcf4b + text_start line "stopped evolving!" prompt _IsEvolvingText:: text "What? @" - TX_RAM wcf4b - text "" + text_ram wcf4b + text_start line "is evolving!" done @@ -95,11 +96,13 @@ _FireDefrostedText:: _MonsStatsRoseText:: text "'s" line "@" - TX_RAM wcf4b - text "@@" + text_ram wcf4b + text "@" + text_end _GreatlyRoseText:: - text $4c, "greatly@@" + text "greatly@" + text_end _RoseText:: text " rose!" @@ -108,11 +111,13 @@ _RoseText:: _MonsStatsFellText:: text "'s" line "@" - TX_RAM wcf4b - text "@@" + text_ram wcf4b + text "@" + text_end _GreatlyFellText:: - text $4c, "greatly@@" + text "greatly@" + text_end _FellText:: text " fell!" @@ -134,35 +139,36 @@ _WasBlownAwayText:: prompt _ChargeMoveEffectText:: - text "@@" + text "@" + text_end _MadeWhirlwindText:: - text "" + text_start line "made a whirlwind!" prompt _TookInSunlightText:: - text "" + text_start line "took in sunlight!" prompt _LoweredItsHeadText:: - text "" + text_start line "lowered its head!" prompt _SkyAttackGlowingText:: - text "" + text_start line "is glowing!" prompt _FlewUpHighText:: - text "" + text_start line "flew up high!" prompt _DugAHoleText:: - text "" + text_start line "dug a hole!" prompt @@ -175,14 +181,14 @@ _MimicLearnedMoveText:: text "" line "learned" cont "@" - TX_RAM wcd6d + text_ram wcd6d text "!" prompt _MoveWasDisabledText:: text "'s" line "@" - TX_RAM wcd6d + text_ram wcd6d text " was" cont "disabled!" prompt @@ -285,7 +291,7 @@ _TransformedText:: text "" line "transformed into" cont "@" - TX_RAM wcd6d + text_ram wcd6d text "!" prompt diff --git a/data/text/text_4.asm b/data/text/text_4.asm index 6ec22680..4c01b5f4 100644 --- a/data/text/text_4.asm +++ b/data/text/text_4.asm @@ -4,8 +4,8 @@ _PokemartGreetingText:: done _PokemonFaintedText:: - TX_RAM wcd6d - text "" + text_ram wcd6d + text_start line "fainted!" done @@ -27,11 +27,11 @@ _PokemartBuyingGreetingText:: done _PokemartTellBuyPriceText:: - TX_RAM wcf4b + text_ram wcf4b text "?" line "That will be" cont "¥@" - TX_BCD hMoney, 3 | LEADING_ZEROES | LEFT_ALIGN + text_bcd hMoney, 3 | LEADING_ZEROES | LEFT_ALIGN text ". OK?" done @@ -58,7 +58,7 @@ _PokemonSellingGreetingText:: _PokemartTellSellPriceText:: text "I can pay you" line "¥@" - TX_BCD hMoney, 3 | LEADING_ZEROES | LEFT_ALIGN + text_bcd hMoney, 3 | LEADING_ZEROES | LEFT_ALIGN text " for that." done @@ -82,11 +82,12 @@ _PokemartAnythingElseText:: done _LearnedMove1Text:: - TX_RAM wLearnMoveMonName + text_ram wLearnMoveMonName text " learned" line "@" - TX_RAM wcf4b - text "!@@" + text_ram wcf4b + text "!@" + text_end _WhichMoveToForgetText:: text "Which move should" @@ -96,53 +97,55 @@ _WhichMoveToForgetText:: _AbandonLearningText:: text "Abandon learning" line "@" - TX_RAM wcf4b + text_ram wcf4b text "?" done _DidNotLearnText:: - TX_RAM wLearnMoveMonName - text "" + text_ram wLearnMoveMonName + text_start line "did not learn" cont "@" - TX_RAM wcf4b + text_ram wcf4b text "!" prompt _TryingToLearnText:: - TX_RAM wLearnMoveMonName + text_ram wLearnMoveMonName text " is" line "trying to learn" cont "@" - TX_RAM wcf4b + text_ram wcf4b text "!" para "But, @" - TX_RAM wLearnMoveMonName - text "" + text_ram wLearnMoveMonName + text_start line "can't learn more" cont "than 4 moves!" para "Delete an older" line "move to make room" cont "for @" - TX_RAM wcf4b + text_ram wcf4b text "?" done _OneTwoAndText:: - text "1, 2 and...@@" + text "1, 2 and...@" + text_end _PoofText:: - text " Poof!@@" + text " Poof!@" + text_end _ForgotAndText:: - text "" + text_start para "@" - TX_RAM wLearnMoveMonName + text_ram wLearnMoveMonName text " forgot" line "@" - TX_RAM wcd6d + text_ram wcd6d text "!" para "And..." @@ -204,7 +207,8 @@ _CableClubNPCPleaseApplyHereHaveToSaveText:: done _CableClubNPCPleaseWaitText:: - text "Please wait.@@" + text "Please wait.@" + text_end _CableClubNPCLinkClosedBecauseOfInactivityText:: text "The link has been" diff --git a/data/text/text_5.asm b/data/text/text_5.asm index 26a11a40..ae7151cc 100644 --- a/data/text/text_5.asm +++ b/data/text/text_5.asm @@ -9,12 +9,13 @@ _CableClubNPCMakingPreparationsText:: done _UsedStrengthText:: - TX_RAM wcd6d + text_ram wcd6d text " used" - line "STRENGTH.@@" + line "STRENGTH.@" + text_end _CanMoveBouldersText:: - TX_RAM wcd6d + text_ram wcd6d text " can" line "move boulders." prompt @@ -40,13 +41,13 @@ _WarpToLastPokemonCenterText:: done _CannotUseTeleportNowText:: - TX_RAM wcd6d + text_ram wcd6d text " can't" line "use TELEPORT now." prompt _CannotFlyHereText:: - TX_RAM wcd6d + text_ram wcd6d text " can't" line "FLY here." prompt @@ -74,18 +75,19 @@ _CannotGetOffHereText:: _GotMonText:: text " got" line "@" - TX_RAM wcd6d - text "!@@" + text_ram wcd6d + text "!@" + text_end _SentToBoxText:: text "There's no more" line "room for #MON!" cont "@" - TX_RAM wBoxMonNicks + text_ram wBoxMonNicks text " was" cont "sent to #MON" cont "BOX @" - TX_RAM wcf4b + text_ram wcf4b text " on PC!" done diff --git a/data/text/text_6.asm b/data/text/text_6.asm index 45c553cd..39eb22ea 100644 --- a/data/text/text_6.asm +++ b/data/text/text_6.asm @@ -29,19 +29,20 @@ _ItemUseBallText04:: _ItemUseBallText05:: text "All right!" line "@" - TX_RAM wEnemyMonNick + text_ram wEnemyMonNick text " was" - cont "caught!@@" + cont "caught!@" + text_end _ItemUseBallText07:: - TX_RAM wBoxMonNicks + text_ram wBoxMonNicks text " was" line "transferred to" cont "BILL's PC!" prompt _ItemUseBallText08:: - TX_RAM wBoxMonNicks + text_ram wBoxMonNicks text " was" line "transferred to" cont "someone's PC!" @@ -51,13 +52,14 @@ _ItemUseBallText06:: text "New #DEX data" line "will be added for" cont "@" - TX_RAM wEnemyMonNick - text "!@@" + text_ram wEnemyMonNick + text "!@" + text_end _SurfingGotOnText:: text " got on" line "@" - TX_RAM wcd6d + text_ram wcd6d text "!" prompt @@ -67,10 +69,10 @@ _SurfingNoPlaceToGetOffText:: prompt _VitaminStatRoseText:: - TX_RAM wcd6d + text_ram wcd6d text "'s" line "@" - TX_RAM wcf4b + text_ram wcf4b text " rose." prompt @@ -104,12 +106,13 @@ _FluteWokeUpText:: _PlayedFluteHadEffectText:: text " played the" - line "# FLUTE.@@" + line "# FLUTE.@" + text_end _CoinCaseNumCoinsText:: text "Coins" line "@" - TX_BCD wPlayerCoins, 2 | LEADING_ZEROES | LEFT_ALIGN + text_bcd wPlayerCoins, 2 | LEADING_ZEROES | LEFT_ALIGN text " " prompt @@ -135,13 +138,13 @@ _RestorePPWhichTechniqueText:: done _PPMaxedOutText:: - TX_RAM wcf4b + text_ram wcf4b text "'s PP" line "is maxed out." prompt _PPIncreasedText:: - TX_RAM wcf4b + text_ram wcf4b text "'s PP" line "increased." prompt @@ -161,26 +164,26 @@ _BootedUpHMText:: _TeachMachineMoveText:: text "It contained" line "@" - TX_RAM wcf4b + text_ram wcf4b text "!" para "Teach @" - TX_RAM wcf4b - text "" + text_ram wcf4b + text_start line "to a #MON?" done _MonCannotLearnMachineMoveText:: - TX_RAM wcd6d + text_ram wcd6d text " is not" line "compatible with" cont "@" - TX_RAM wcf4b + text_ram wcf4b text "." para "It can't learn" line "@" - TX_RAM wcf4b + text_ram wcf4b text "." prompt @@ -217,7 +220,7 @@ _NoCyclingAllowedHereText:: _NoSurfingHereText:: text "No SURFing on" line "@" - TX_RAM wcd6d + text_ram wcd6d text " here!" prompt diff --git a/data/text/text_7.asm b/data/text/text_7.asm index e836fc8e..34f070bd 100644 --- a/data/text/text_7.asm +++ b/data/text/text_7.asm @@ -1,39 +1,42 @@ _ItemUseText001:: - text " used@@" + text " used@" + text_end _ItemUseText002:: - TX_RAM wcf4b + text_ram wcf4b text "!" done _GotOnBicycleText1:: - text " got on the@@" + text " got on the@" + text_end _GotOnBicycleText2:: - TX_RAM wcf4b + text_ram wcf4b text "!" prompt _GotOffBicycleText1:: - text " got off@@" + text " got off@" + text_end _GotOffBicycleText2:: text "the @" - TX_RAM wcf4b + text_ram wcf4b text "." prompt _ThrewAwayItemText:: text "Threw away" line "@" - TX_RAM wcd6d + text_ram wcd6d text "." prompt _IsItOKToTossItemText:: text "Is it OK to toss" line "@" - TX_RAM wcf4b + text_ram wcf4b text "?" prompt @@ -43,10 +46,10 @@ _TooImportantToTossText:: prompt _AlreadyKnowsText:: - TX_RAM wcd6d + text_ram wcd6d text " knows" line "@" - TX_RAM wcf4b + text_ram wcf4b text "!" prompt @@ -58,21 +61,22 @@ _ConnectCableText:: _TradedForText:: text " traded" line "@" - TX_RAM wInGameTradeGiveMonName + text_ram wInGameTradeGiveMonName text " for" cont "@" - TX_RAM wInGameTradeReceiveMonName - text "!@@" + text_ram wInGameTradeReceiveMonName + text "!@" + text_end _WannaTrade1Text:: text "I'm looking for" line "@" - TX_RAM wInGameTradeGiveMonName + text_ram wInGameTradeGiveMonName text "! Wanna" para "trade one for" line "@" - TX_RAM wInGameTradeReceiveMonName + text_ram wInGameTradeReceiveMonName text "? " done @@ -84,7 +88,7 @@ _NoTrade1Text:: _WrongMon1Text:: text "What? That's not" line "@" - TX_RAM wInGameTradeGiveMonName + text_ram wInGameTradeGiveMonName text "!" para "If you get one," @@ -98,7 +102,7 @@ _Thanks1Text:: _AfterTrade1Text:: text "Isn't my old" line "@" - TX_RAM wInGameTradeReceiveMonName + text_ram wInGameTradeReceiveMonName text " great?" done @@ -107,10 +111,10 @@ _WannaTrade2Text:: line "you want to trade" para "your @" - TX_RAM wInGameTradeGiveMonName - text "" + text_ram wInGameTradeGiveMonName + text_start line "for @" - TX_RAM wInGameTradeReceiveMonName + text_ram wInGameTradeReceiveMonName text "?" done @@ -122,7 +126,7 @@ _NoTrade2Text:: _WrongMon2Text:: text "Hmmm? This isn't" line "@" - TX_RAM wInGameTradeGiveMonName + text_ram wInGameTradeGiveMonName text "." para "Think of me when" @@ -135,7 +139,7 @@ _Thanks2Text:: _AfterTrade2Text:: text "The @" - TX_RAM wInGameTradeGiveMonName + text_ram wInGameTradeGiveMonName text " you" line "traded to me" @@ -145,12 +149,12 @@ _AfterTrade2Text:: _WannaTrade3Text:: text "Hi! Do you have" line "@" - TX_RAM wInGameTradeGiveMonName + text_ram wInGameTradeGiveMonName text "?" para "Want to trade it" line "for @" - TX_RAM wInGameTradeReceiveMonName + text_ram wInGameTradeReceiveMonName text "?" done @@ -161,7 +165,7 @@ _NoTrade3Text:: _WrongMon3Text:: text "...This is no" line "@" - TX_RAM wInGameTradeGiveMonName + text_ram wInGameTradeGiveMonName text "." para "If you get one," @@ -175,11 +179,11 @@ _Thanks3Text:: _AfterTrade3Text:: text "How is my old" line "@" - TX_RAM wInGameTradeReceiveMonName + text_ram wInGameTradeReceiveMonName text "?" para "My @" - TX_RAM wInGameTradeGiveMonName + text_ram wInGameTradeGiveMonName text " is" line "doing great!" done @@ -190,7 +194,7 @@ _NothingToCutText:: prompt _UsedCutText:: - TX_RAM wcd6d + text_ram wcd6d text " hacked" line "away with CUT!" prompt diff --git a/engine/battle/common_text.asm b/engine/battle/common_text.asm index e8998414..1cb455f3 100644 --- a/engine/battle/common_text.asm +++ b/engine/battle/common_text.asm @@ -71,28 +71,28 @@ PrintBeginningBattleText: ret WildMonAppearedText: - TX_FAR _WildMonAppearedText - db "@" + text_far _WildMonAppearedText + text_end HookedMonAttackedText: - TX_FAR _HookedMonAttackedText - db "@" + text_far _HookedMonAttackedText + text_end EnemyAppearedText: - TX_FAR _EnemyAppearedText - db "@" + text_far _EnemyAppearedText + text_end TrainerWantsToFightText: - TX_FAR _TrainerWantsToFightText - db "@" + text_far _TrainerWantsToFightText + text_end UnveiledGhostText: - TX_FAR _UnveiledGhostText - db "@" + text_far _UnveiledGhostText + text_end GhostCantBeIDdText: - TX_FAR _GhostCantBeIDdText - db "@" + text_far _GhostCantBeIDdText + text_end PrintSendOutMonMessage: ld hl, wEnemyMonHP @@ -138,39 +138,39 @@ PrintSendOutMonMessage: jp PrintText GoText: - TX_FAR _GoText - TX_ASM + text_far _GoText + text_asm jr PrintPlayerMon1Text DoItText: - TX_FAR _DoItText - TX_ASM + text_far _DoItText + text_asm jr PrintPlayerMon1Text GetmText: - TX_FAR _GetmText - TX_ASM + text_far _GetmText + text_asm jr PrintPlayerMon1Text EnemysWeakText: - TX_FAR _EnemysWeakText - TX_ASM + text_far _EnemysWeakText + text_asm PrintPlayerMon1Text: ld hl, PlayerMon1Text ret PlayerMon1Text: - TX_FAR _PlayerMon1Text - db "@" + text_far _PlayerMon1Text + text_end RetreatMon: ld hl, PlayerMon2Text jp PrintText PlayerMon2Text: - TX_FAR _PlayerMon2Text - TX_ASM + text_far _PlayerMon2Text + text_asm push de push bc ld hl, wEnemyMonHP + 1 @@ -220,18 +220,18 @@ PlayerMon2Text: ret EnoughText: - TX_FAR _EnoughText - TX_ASM + text_far _EnoughText + text_asm jr PrintComeBackText OKExclamationText: - TX_FAR _OKExclamationText - TX_ASM + text_far _OKExclamationText + text_asm jr PrintComeBackText GoodText: - TX_FAR _GoodText - TX_ASM + text_far _GoodText + text_asm jr PrintComeBackText PrintComeBackText: @@ -239,5 +239,5 @@ PrintComeBackText: ret ComeBackText: - TX_FAR _ComeBackText - db "@" + text_far _ComeBackText + text_end diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 6881aef5..f89dc781 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -207,8 +207,8 @@ StartBattle: jr EnemyRan ; if b was greater than the random value, the enemy runs .outOfSafariBallsText - TX_FAR _OutOfSafariBallsText - db "@" + text_far _OutOfSafariBallsText + text_end .playerSendOutFirstMon xor a @@ -270,12 +270,12 @@ EnemyRan: jpab AnimationSlideEnemyMonOff WildRanText: - TX_FAR _WildRanText - db "@" + text_far _WildRanText + text_end EnemyRanText: - TX_FAR _EnemyRanText - db "@" + text_far _EnemyRanText + text_end MainInBattleLoop: call ReadPlayerMonCurHPAndStatus @@ -532,16 +532,16 @@ HandlePoisonBurnLeechSeed: ret HurtByPoisonText: - TX_FAR _HurtByPoisonText - db "@" + text_far _HurtByPoisonText + text_end HurtByBurnText: - TX_FAR _HurtByBurnText - db "@" + text_far _HurtByBurnText + text_end HurtByLeechSeedText: - TX_FAR _HurtByLeechSeedText - db "@" + text_far _HurtByLeechSeedText + text_end ; decreases the mon's current HP by 1/16 of the Max HP (multiplied by number of toxic ticks if active) ; note that the toxic ticks are considered even if the damage is not poison (hence the Leech Seed glitch) @@ -858,8 +858,8 @@ FaintEnemyPokemon: jpab GainExperience EnemyMonFaintedText: - TX_FAR _EnemyMonFaintedText - db "@" + text_far _EnemyMonFaintedText + text_end EndLowHealthAlarm: ; This function is called when the player has the won the battle. It turns off @@ -949,12 +949,12 @@ TrainerBattleVictory: predef_jump AddBCDPredef MoneyForWinningText: - TX_FAR _MoneyForWinningText - db "@" + text_far _MoneyForWinningText + text_end TrainerDefeatedText: - TX_FAR _TrainerDefeatedText - db "@" + text_far _TrainerDefeatedText + text_end PlayBattleVictoryMusic: push af @@ -1044,8 +1044,8 @@ RemoveFaintedPlayerMon: jp PrintText PlayerMonFaintedText: - TX_FAR _PlayerMonFaintedText - db "@" + text_far _PlayerMonFaintedText + text_end ; asks if you want to use next mon ; stores whether you ran in C flag @@ -1078,8 +1078,8 @@ DoUseNextMonDialogue: jp TryRunningFromBattle UseNextMonText: - TX_FAR _UseNextMonText - db "@" + text_far _UseNextMonText + text_end ; choose next player mon to send out ; stores whether enemy mon has no HP left in Z flag @@ -1165,16 +1165,16 @@ HandlePlayerBlackOut: ret Sony1WinText: - TX_FAR _Sony1WinText - db "@" + text_far _Sony1WinText + text_end PlayerBlackedOutText2: - TX_FAR _PlayerBlackedOutText2 - db "@" + text_far _PlayerBlackedOutText2 + text_end LinkBattleLostText: - TX_FAR _LinkBattleLostText - db "@" + text_far _LinkBattleLostText + text_end ; slides pic of fainted mon downwards until it disappears ; bug: when this is called, [hAutoBGTransferEnabled] is non-zero, so there is screen tearing @@ -1442,12 +1442,12 @@ EnemySendOutFirstMon: jp SwitchPlayerMon TrainerAboutToUseText: - TX_FAR _TrainerAboutToUseText - db "@" + text_far _TrainerAboutToUseText + text_end TrainerSentOutText: - TX_FAR _TrainerSentOutText - db "@" + text_far _TrainerSentOutText + text_end ; tests if the player has any pokemon that are not fainted ; sets d = 0 if all fainted, d != 0 if some mons are still alive @@ -1487,8 +1487,8 @@ HasMonFainted: ret NoWillText: - TX_FAR _NoWillText - db "@" + text_far _NoWillText + text_end ; try to run from battle (hl = player speed, de = enemy speed) ; stores whether the attempt was successful in carry flag @@ -1610,16 +1610,16 @@ TryRunningFromBattle: ret CantEscapeText: - TX_FAR _CantEscapeText - db "@" + text_far _CantEscapeText + text_end NoRunningText: - TX_FAR _NoRunningText - db "@" + text_far _NoRunningText + text_end GotAwayText: - TX_FAR _GotAwayText - db "@" + text_far _GotAwayText + text_end ; copies from party data to battle mon data when sending out a new player mon LoadBattleMonFromParty: @@ -2289,8 +2289,8 @@ UseBagItem: ret ItemsCantBeUsedHereText: - TX_FAR _ItemsCantBeUsedHereText - db "@" + text_far _ItemsCantBeUsedHereText + text_end PartyMenuOrRockOrRun: dec a ; was Run selected? @@ -2434,8 +2434,8 @@ SwitchPlayerMon: ret AlreadyOutText: - TX_FAR _AlreadyOutText - db "@" + text_far _AlreadyOutText + text_end BattleMenu_RunWasSelected: call LoadScreenTilesFromBuffer1 @@ -2667,12 +2667,12 @@ SelectMenuItem: jp MoveSelectionMenu MoveNoPPText: - TX_FAR _MoveNoPPText - db "@" + text_far _MoveNoPPText + text_end MoveDisabledText: - TX_FAR _MoveDisabledText - db "@" + text_far _MoveDisabledText + text_end WhichTechniqueString: db "WHICH TECHNIQUE?@" @@ -2744,8 +2744,8 @@ AnyMoveToSelect: ret NoMovesLeftText: - TX_FAR _NoMovesLeftText - db "@" + text_far _NoMovesLeftText + text_end SwapMovesInMenu: ld a, [wMenuItemToSwap] @@ -3239,8 +3239,8 @@ MirrorMoveCheck: jp ExecutePlayerMoveDone MultiHitText: - TX_FAR _MultiHitText - db "@" + text_far _MultiHitText + text_end ExecutePlayerMoveDone: xor a @@ -3269,12 +3269,12 @@ PrintGhostText: ret ScaredText: - TX_FAR _ScaredText - db "@" + text_far _ScaredText + text_end GetOutText: - TX_FAR _GetOutText - db "@" + text_far _GetOutText + text_end IsGhostBattle: ld a, [wIsInBattle] @@ -3557,64 +3557,64 @@ CheckPlayerStatusConditions: ret FastAsleepText: - TX_FAR _FastAsleepText - db "@" + text_far _FastAsleepText + text_end WokeUpText: - TX_FAR _WokeUpText - db "@" + text_far _WokeUpText + text_end IsFrozenText: - TX_FAR _IsFrozenText - db "@" + text_far _IsFrozenText + text_end FullyParalyzedText: - TX_FAR _FullyParalyzedText - db "@" + text_far _FullyParalyzedText + text_end FlinchedText: - TX_FAR _FlinchedText - db "@" + text_far _FlinchedText + text_end MustRechargeText: - TX_FAR _MustRechargeText - db "@" + text_far _MustRechargeText + text_end DisabledNoMoreText: - TX_FAR _DisabledNoMoreText - db "@" + text_far _DisabledNoMoreText + text_end IsConfusedText: - TX_FAR _IsConfusedText - db "@" + text_far _IsConfusedText + text_end HurtItselfText: - TX_FAR _HurtItselfText - db "@" + text_far _HurtItselfText + text_end ConfusedNoMoreText: - TX_FAR _ConfusedNoMoreText - db "@" + text_far _ConfusedNoMoreText + text_end SavingEnergyText: - TX_FAR _SavingEnergyText - db "@" + text_far _SavingEnergyText + text_end UnleashedEnergyText: - TX_FAR _UnleashedEnergyText - db "@" + text_far _UnleashedEnergyText + text_end ThrashingAboutText: - TX_FAR _ThrashingAboutText - db "@" + text_far _ThrashingAboutText + text_end AttackContinuesText: - TX_FAR _AttackContinuesText - db "@" + text_far _AttackContinuesText + text_end CantMoveText: - TX_FAR _CantMoveText - db "@" + text_far _CantMoveText + text_end PrintMoveIsDisabledText: ld hl, wPlayerSelectedMove @@ -3635,8 +3635,8 @@ PrintMoveIsDisabledText: jp PrintText MoveIsDisabledText: - TX_FAR _MoveIsDisabledText - db "@" + text_far _MoveIsDisabledText + text_end HandleSelfConfusionDamage: ld hl, HurtItselfText @@ -3692,8 +3692,8 @@ PrintMonName1Text: ; this likely had to do with Japanese grammar that got translated, ; but the functionality didn't get removed MonName1Text: - TX_FAR _MonName1Text - TX_ASM + text_far _MonName1Text + text_asm ld a, [hWhoseTurn] and a ld a, [wPlayerMoveNum] @@ -3717,13 +3717,13 @@ MonName1Text: ret Used1Text: - TX_FAR _Used1Text - TX_ASM + text_far _Used1Text + text_asm jr PrintInsteadText Used2Text: - TX_FAR _Used2Text - TX_ASM + text_far _Used2Text + text_asm ; fall through PrintInsteadText: @@ -3734,8 +3734,8 @@ PrintInsteadText: ret InsteadText: - TX_FAR _InsteadText - TX_ASM + text_far _InsteadText + text_asm ; fall through PrintMoveName: @@ -3743,8 +3743,8 @@ PrintMoveName: ret _PrintMoveName: - TX_FAR _CF4BText - TX_ASM + text_far _CF4BText + text_asm ld hl, ExclamationPointPointerTable ld a, [wd11e] ; exclamation point num add a @@ -3766,24 +3766,24 @@ ExclamationPointPointerTable: dw ExclamationPoint5Text ExclamationPoint1Text: - TX_FAR _ExclamationPoint1Text - db "@" + text_far _ExclamationPoint1Text + text_end ExclamationPoint2Text: - TX_FAR _ExclamationPoint2Text - db "@" + text_far _ExclamationPoint2Text + text_end ExclamationPoint3Text: - TX_FAR _ExclamationPoint3Text - db "@" + text_far _ExclamationPoint3Text + text_end ExclamationPoint4Text: - TX_FAR _ExclamationPoint4Text - db "@" + text_far _ExclamationPoint4Text + text_end ExclamationPoint5Text: - TX_FAR _ExclamationPoint5Text - db "@" + text_far _ExclamationPoint5Text + text_end ; this function does nothing useful ; if the move being used is in set [1-4] from ExclamationPointMoveSets, @@ -3874,24 +3874,24 @@ PrintMoveFailureText: jp ApplyDamageToEnemyPokemon AttackMissedText: - TX_FAR _AttackMissedText - db "@" + text_far _AttackMissedText + text_end KeptGoingAndCrashedText: - TX_FAR _KeptGoingAndCrashedText - db "@" + text_far _KeptGoingAndCrashedText + text_end UnaffectedText: - TX_FAR _UnaffectedText - db "@" + text_far _UnaffectedText + text_end PrintDoesntAffectText: ld hl, DoesntAffectMonText jp PrintText DoesntAffectMonText: - TX_FAR _DoesntAffectMonText - db "@" + text_far _DoesntAffectMonText + text_end ; if there was a critical hit or an OHKO was successful, print the corresponding text PrintCriticalOHKOText: @@ -3919,12 +3919,12 @@ CriticalOHKOTextPointers: dw OHKOText CriticalHitText: - TX_FAR _CriticalHitText - db "@" + text_far _CriticalHitText + text_end OHKOText: - TX_FAR _OHKOText - db "@" + text_far _OHKOText + text_end ; checks if a traded mon will disobey due to lack of badges ; stores whether the mon will use a move in Z flag @@ -4108,24 +4108,24 @@ CheckForDisobedience: ret LoafingAroundText: - TX_FAR _LoafingAroundText - db "@" + text_far _LoafingAroundText + text_end BeganToNapText: - TX_FAR _BeganToNapText - db "@" + text_far _BeganToNapText + text_end WontObeyText: - TX_FAR _WontObeyText - db "@" + text_far _WontObeyText + text_end TurnedAwayText: - TX_FAR _TurnedAwayText - db "@" + text_far _TurnedAwayText + text_end IgnoredOrdersText: - TX_FAR _IgnoredOrdersText - db "@" + text_far _IgnoredOrdersText + text_end ; sets b, c, d, and e for the CalculateDamage routine in the case of an attack by the player mon GetDamageVarsForPlayerAttack: @@ -4997,12 +4997,12 @@ AttackSubstitute: jp DrawHUDsAndHPBars SubstituteTookDamageText: - TX_FAR _SubstituteTookDamageText - db "@" + text_far _SubstituteTookDamageText + text_end SubstituteBrokeText: - TX_FAR _SubstituteBrokeText - db "@" + text_far _SubstituteBrokeText + text_end ; this function raises the attack modifier of a pokemon using Rage when that pokemon is attacked HandleBuildingRage: @@ -5048,8 +5048,8 @@ HandleBuildingRage: ret BuildingRageText: - TX_FAR _BuildingRageText - db "@" + text_far _BuildingRageText + text_end ; copy last move for Mirror Move ; sets zero flag on failure and unsets zero flag on success @@ -5084,8 +5084,8 @@ MirrorMoveCopyMove: ret MirrorMoveFailedText: - TX_FAR _MirrorMoveFailedText - db "@" + text_far _MirrorMoveFailedText + text_end ; function used to reload move data for moves like Mirror Move and Metronome ReloadMoveData: @@ -5759,8 +5759,8 @@ EnemyCheckIfMirrorMoveEffect: jr ExecuteEnemyMoveDone HitXTimesText: - TX_FAR _HitXTimesText - db "@" + text_far _HitXTimesText + text_end ExecuteEnemyMoveDone: ld b, $1 @@ -6626,6 +6626,7 @@ LoadHudTilePatterns: PrintEmptyString: ld hl, .emptyString jp PrintText + .emptyString db "@" diff --git a/engine/battle/display_effectiveness.asm b/engine/battle/display_effectiveness.asm index 1bf14460..b23695cf 100644 --- a/engine/battle/display_effectiveness.asm +++ b/engine/battle/display_effectiveness.asm @@ -10,9 +10,9 @@ DisplayEffectiveness: jp PrintText SuperEffectiveText: - TX_FAR _SuperEffectiveText - db "@" + text_far _SuperEffectiveText + text_end NotVeryEffectiveText: - TX_FAR _NotVeryEffectiveText - db "@" + text_far _NotVeryEffectiveText + text_end diff --git a/engine/battle/effects.asm b/engine/battle/effects.asm index 0a1eb61c..22fadb42 100644 --- a/engine/battle/effects.asm +++ b/engine/battle/effects.asm @@ -68,12 +68,12 @@ SleepEffect: jp PrintDidntAffectText FellAsleepText: - TX_FAR _FellAsleepText - db "@" + text_far _FellAsleepText + text_end AlreadyAsleepText: - TX_FAR _AlreadyAsleepText - db "@" + text_far _AlreadyAsleepText + text_end PoisonEffect: ld hl, wEnemyMonStatus @@ -162,12 +162,12 @@ PoisonEffect: jp PrintDidntAffectText PoisonedText: - TX_FAR _PoisonedText - db "@" + text_far _PoisonedText + text_end BadlyPoisonedText: - TX_FAR _BadlyPoisonedText - db "@" + text_far _BadlyPoisonedText + text_end DrainHPEffect: jpab DrainHPEffect_ @@ -297,12 +297,12 @@ opponentAttacker: jp PrintText BurnedText: - TX_FAR _BurnedText - db "@" + text_far _BurnedText + text_end FrozenText: - TX_FAR _FrozenText - db "@" + text_far _FrozenText + text_end CheckDefrost: ; any fire-type move that has a chance inflict burn (all but Fire Spin) will defrost a frozen target @@ -340,8 +340,8 @@ CheckDefrost: jp PrintText FireDefrostedText: - TX_FAR _FireDefrostedText - db "@" + text_far _FireDefrostedText + text_end StatModifierUpEffect: ld hl, wPlayerMonStatMods @@ -508,8 +508,8 @@ PrintNothingHappenedText: jp PrintText MonsStatsRoseText: - TX_FAR _MonsStatsRoseText - TX_ASM + text_far _MonsStatsRoseText + text_asm ld hl, GreatlyRoseText ld a, [hWhoseTurn] and a @@ -523,12 +523,12 @@ MonsStatsRoseText: ret GreatlyRoseText: - TX_DELAY - TX_FAR _GreatlyRoseText + text_pause + text_far _GreatlyRoseText ; fallthrough RoseText: - TX_FAR _RoseText - db "@" + text_far _RoseText + text_end StatModifierDownEffect: ld hl, wEnemyMonStatMods @@ -710,8 +710,8 @@ MoveMissed: jp ConditionalPrintButItFailed MonsStatsFellText: - TX_FAR _MonsStatsFellText - TX_ASM + text_far _MonsStatsFellText + text_asm ld hl, FellText ld a, [hWhoseTurn] and a @@ -728,12 +728,12 @@ MonsStatsFellText: ret GreatlyFellText: - TX_DELAY - TX_FAR _GreatlyFellText + text_pause + text_far _GreatlyFellText ; fallthrough FellText: - TX_FAR _FellText - db "@" + text_far _FellText + text_end PrintStatText: ld hl, StatsTextStrings @@ -905,16 +905,16 @@ SwitchAndTeleportEffect: jp PrintText RanFromBattleText: - TX_FAR _RanFromBattleText - db "@" + text_far _RanFromBattleText + text_end RanAwayScaredText: - TX_FAR _RanAwayScaredText - db "@" + text_far _RanAwayScaredText + text_end WasBlownAwayText: - TX_FAR _WasBlownAwayText - db "@" + text_far _WasBlownAwayText + text_end TwoToFiveAttacksEffect: ld hl, wPlayerBattleStatus1 @@ -1024,8 +1024,8 @@ ChargeEffect: jp PrintText ChargeMoveEffectText: - TX_FAR _ChargeMoveEffectText - TX_ASM + text_far _ChargeMoveEffectText + text_asm ld a, [wChargeMoveNum] cp RAZOR_WIND ld hl, MadeWhirlwindText @@ -1048,28 +1048,28 @@ ChargeMoveEffectText: ret MadeWhirlwindText: - TX_FAR _MadeWhirlwindText - db "@" + text_far _MadeWhirlwindText + text_end TookInSunlightText: - TX_FAR _TookInSunlightText - db "@" + text_far _TookInSunlightText + text_end LoweredItsHeadText: - TX_FAR _LoweredItsHeadText - db "@" + text_far _LoweredItsHeadText + text_end SkyAttackGlowingText: - TX_FAR _SkyAttackGlowingText - db "@" + text_far _SkyAttackGlowingText + text_end FlewUpHighText: - TX_FAR _FlewUpHighText - db "@" + text_far _FlewUpHighText + text_end DugAHoleText: - TX_FAR _DugAHoleText - db "@" + text_far _DugAHoleText + text_end TrappingEffect: ld hl, wPlayerBattleStatus1 @@ -1146,8 +1146,8 @@ ConfusionSideEffectSuccess: jp PrintText BecameConfusedText: - TX_FAR _BecameConfusedText - db "@" + text_far _BecameConfusedText + text_end ConfusionEffectFailed: cp CONFUSION_SIDE_EFFECT @@ -1267,8 +1267,8 @@ MimicEffect: jp PrintButItFailedText_ MimicLearnedMoveText: - TX_FAR _MimicLearnedMoveText - db "@" + text_far _MimicLearnedMoveText + text_end LeechSeedEffect: jpab LeechSeedEffect_ @@ -1361,8 +1361,8 @@ DisableEffect: jp PrintButItFailedText_ MoveWasDisabledText: - TX_FAR _MoveWasDisabledText - db "@" + text_far _MoveWasDisabledText + text_end PayDayEffect: jpab PayDayEffect_ @@ -1383,16 +1383,16 @@ ReflectLightScreenEffect: jpab ReflectLightScreenEffect_ NothingHappenedText: - TX_FAR _NothingHappenedText - db "@" + text_far _NothingHappenedText + text_end PrintNoEffectText: ld hl, NoEffectText jp PrintText NoEffectText: - TX_FAR _NoEffectText - db "@" + text_far _NoEffectText + text_end ConditionalPrintButItFailed: ld a, [wMoveDidntMiss] @@ -1404,28 +1404,28 @@ PrintButItFailedText_: jp PrintText ButItFailedText: - TX_FAR _ButItFailedText - db "@" + text_far _ButItFailedText + text_end PrintDidntAffectText: ld hl, DidntAffectText jp PrintText DidntAffectText: - TX_FAR _DidntAffectText - db "@" + text_far _DidntAffectText + text_end IsUnaffectedText: - TX_FAR _IsUnaffectedText - db "@" + text_far _IsUnaffectedText + text_end PrintMayNotAttackText: ld hl, ParalyzedMayNotAttackText jp PrintText ParalyzedMayNotAttackText: - TX_FAR _ParalyzedMayNotAttackText - db "@" + text_far _ParalyzedMayNotAttackText + text_end CheckTargetSubstitute: push hl diff --git a/engine/battle/end_of_battle.asm b/engine/battle/end_of_battle.asm index 830a23a1..f490c34d 100755 --- a/engine/battle/end_of_battle.asm +++ b/engine/battle/end_of_battle.asm @@ -84,5 +84,5 @@ DrawText: db " DRAW@" PickUpPayDayMoneyText: - TX_FAR _PickUpPayDayMoneyText - db "@" + text_far _PickUpPayDayMoneyText + text_end diff --git a/engine/battle/experience.asm b/engine/battle/experience.asm index c628ae32..6bc0a019 100644 --- a/engine/battle/experience.asm +++ b/engine/battle/experience.asm @@ -340,8 +340,8 @@ BoostExp: ret GainedText: - TX_FAR _GainedText - TX_ASM + text_far _GainedText + text_asm ld a, [wBoostExpByExpAll] ld hl, WithExpAllText and a @@ -354,19 +354,19 @@ GainedText: ret WithExpAllText: - TX_FAR _WithExpAllText - TX_ASM + text_far _WithExpAllText + text_asm ld hl, ExpPointsText ret BoostedText: - TX_FAR _BoostedText + text_far _BoostedText ExpPointsText: - TX_FAR _ExpPointsText - db "@" + text_far _ExpPointsText + text_end GrewLevelText: - TX_FAR _GrewLevelText - TX_SFX_LEVEL_UP - db "@" + text_far _GrewLevelText + sound_level_up + text_end diff --git a/engine/battle/move_effects/conversion.asm b/engine/battle/move_effects/conversion.asm index 8c41f914..662f65e0 100644 --- a/engine/battle/move_effects/conversion.asm +++ b/engine/battle/move_effects/conversion.asm @@ -25,8 +25,8 @@ ConversionEffect_: jp PrintText ConvertedTypeText: - TX_FAR _ConvertedTypeText - db "@" + text_far _ConvertedTypeText + text_end PrintButItFailedText: ld hl, PrintButItFailedText_ diff --git a/engine/battle/move_effects/drain_hp.asm b/engine/battle/move_effects/drain_hp.asm index 60d23a95..452ccf0c 100644 --- a/engine/battle/move_effects/drain_hp.asm +++ b/engine/battle/move_effects/drain_hp.asm @@ -96,9 +96,9 @@ DrainHPEffect_: jp PrintText SuckedHealthText: - TX_FAR _SuckedHealthText - db "@" + text_far _SuckedHealthText + text_end DreamWasEatenText: - TX_FAR _DreamWasEatenText - db "@" + text_far _DreamWasEatenText + text_end diff --git a/engine/battle/move_effects/focus_energy.asm b/engine/battle/move_effects/focus_energy.asm index af4a6521..7a426d2c 100644 --- a/engine/battle/move_effects/focus_energy.asm +++ b/engine/battle/move_effects/focus_energy.asm @@ -17,6 +17,6 @@ FocusEnergyEffect_: jpab PrintButItFailedText_ GettingPumpedText: - TX_DELAY - TX_FAR _GettingPumpedText - db "@" + text_pause + text_far _GettingPumpedText + text_end diff --git a/engine/battle/move_effects/haze.asm b/engine/battle/move_effects/haze.asm index bd73d249..521ff662 100644 --- a/engine/battle/move_effects/haze.asm +++ b/engine/battle/move_effects/haze.asm @@ -77,5 +77,5 @@ ResetStats: ret StatusChangesEliminatedText: - TX_FAR _StatusChangesEliminatedText - db "@" + text_far _StatusChangesEliminatedText + text_end diff --git a/engine/battle/move_effects/heal.asm b/engine/battle/move_effects/heal.asm index 8042bc63..8cc9da93 100644 --- a/engine/battle/move_effects/heal.asm +++ b/engine/battle/move_effects/heal.asm @@ -108,13 +108,13 @@ HealEffect_: jp BankswitchEtoF StartedSleepingEffect: - TX_FAR _StartedSleepingEffect - db "@" + text_far _StartedSleepingEffect + text_end FellAsleepBecameHealthyText: - TX_FAR _FellAsleepBecameHealthyText - db "@" + text_far _FellAsleepBecameHealthyText + text_end RegainedHealthText: - TX_FAR _RegainedHealthText - db "@" + text_far _RegainedHealthText + text_end diff --git a/engine/battle/move_effects/leech_seed.asm b/engine/battle/move_effects/leech_seed.asm index 981f5da9..74360233 100644 --- a/engine/battle/move_effects/leech_seed.asm +++ b/engine/battle/move_effects/leech_seed.asm @@ -32,9 +32,9 @@ LeechSeedEffect_: jp PrintText WasSeededText: - TX_FAR _WasSeededText - db "@" + text_far _WasSeededText + text_end EvadedAttackText: - TX_FAR _EvadedAttackText - db "@" + text_far _EvadedAttackText + text_end diff --git a/engine/battle/move_effects/mist.asm b/engine/battle/move_effects/mist.asm index 6373770d..67ee4921 100644 --- a/engine/battle/move_effects/mist.asm +++ b/engine/battle/move_effects/mist.asm @@ -15,5 +15,5 @@ MistEffect_: jpab PrintButItFailedText_ ShroudedInMistText: - TX_FAR _ShroudedInMistText - db "@" + text_far _ShroudedInMistText + text_end diff --git a/engine/battle/move_effects/pay_day.asm b/engine/battle/move_effects/pay_day.asm index 5bdb86da..11140ec2 100644 --- a/engine/battle/move_effects/pay_day.asm +++ b/engine/battle/move_effects/pay_day.asm @@ -41,5 +41,5 @@ PayDayEffect_: jp PrintText CoinsScatteredText: - TX_FAR _CoinsScatteredText - db "@" + text_far _CoinsScatteredText + text_end diff --git a/engine/battle/move_effects/recoil.asm b/engine/battle/move_effects/recoil.asm index e94f8043..63aff429 100644 --- a/engine/battle/move_effects/recoil.asm +++ b/engine/battle/move_effects/recoil.asm @@ -66,5 +66,5 @@ RecoilEffect_: ld hl, HitWithRecoilText jp PrintText HitWithRecoilText: - TX_FAR _HitWithRecoilText - db "@" + text_far _HitWithRecoilText + text_end diff --git a/engine/battle/move_effects/reflect_light_screen.asm b/engine/battle/move_effects/reflect_light_screen.asm index 7693a348..07338c9a 100644 --- a/engine/battle/move_effects/reflect_light_screen.asm +++ b/engine/battle/move_effects/reflect_light_screen.asm @@ -33,12 +33,12 @@ ReflectLightScreenEffect_: jp BankswitchEtoF LightScreenProtectedText: - TX_FAR _LightScreenProtectedText - db "@" + text_far _LightScreenProtectedText + text_end ReflectGainedArmorText: - TX_FAR _ReflectGainedArmorText - db "@" + text_far _ReflectGainedArmorText + text_end BankswitchEtoF: ld b, BANK(BattleCore) diff --git a/engine/battle/move_effects/substitute.asm b/engine/battle/move_effects/substitute.asm index a1cd11b2..95c43462 100644 --- a/engine/battle/move_effects/substitute.asm +++ b/engine/battle/move_effects/substitute.asm @@ -65,13 +65,13 @@ SubstituteEffect_: jp PrintText SubstituteText: - TX_FAR _SubstituteText - db "@" + text_far _SubstituteText + text_end HasSubstituteText: - TX_FAR _HasSubstituteText - db "@" + text_far _HasSubstituteText + text_end TooWeakSubstituteText: - TX_FAR _TooWeakSubstituteText - db "@" + text_far _TooWeakSubstituteText + text_end diff --git a/engine/battle/move_effects/transform.asm b/engine/battle/move_effects/transform.asm index 1b459910..da26d031 100644 --- a/engine/battle/move_effects/transform.asm +++ b/engine/battle/move_effects/transform.asm @@ -144,5 +144,5 @@ TransformEffect_: jp BankswitchEtoF TransformedText: - TX_FAR _TransformedText - db "@" + text_far _TransformedText + text_end diff --git a/engine/battle/safari_zone.asm b/engine/battle/safari_zone.asm index 4672892d..4f01c2f4 100755 --- a/engine/battle/safari_zone.asm +++ b/engine/battle/safari_zone.asm @@ -28,9 +28,9 @@ PrintSafariZoneBattleText: jp PrintText SafariZoneEatingText: - TX_FAR _SafariZoneEatingText - db "@" + text_far _SafariZoneEatingText + text_end SafariZoneAngryText: - TX_FAR _SafariZoneAngryText - db "@" + text_far _SafariZoneAngryText + text_end diff --git a/engine/battle/trainer_ai.asm b/engine/battle/trainer_ai.asm index d61b44f8..bb1ebc1a 100644 --- a/engine/battle/trainer_ai.asm +++ b/engine/battle/trainer_ai.asm @@ -610,8 +610,8 @@ SwitchEnemyMon: ret AIBattleWithdrawText: - TX_FAR _AIBattleWithdrawText - db "@" + text_far _AIBattleWithdrawText + text_end AIUseFullHeal: call AIPlayRestoringSFX @@ -735,5 +735,5 @@ AIPrintItemUse_: jp PrintText AIBattleUseItemText: - TX_FAR _AIBattleUseItemText - db "@" + text_far _AIBattleUseItemText + text_end diff --git a/engine/events/card_key.asm b/engine/events/card_key.asm index c77d5fcd..cc641893 100755 --- a/engine/events/card_key.asm +++ b/engine/events/card_key.asm @@ -72,14 +72,14 @@ SilphCoMapList: db $FF CardKeySuccessText:: - TX_FAR _CardKeySuccessText1 - TX_SFX_ITEM_1 - TX_FAR _CardKeySuccessText2 - db "@" + text_far _CardKeySuccessText1 + sound_get_item_1 + text_far _CardKeySuccessText2 + text_end CardKeyFailText:: - TX_FAR _CardKeyFailText - db "@" + text_far _CardKeyFailText + text_end ; d = Y ; e = X diff --git a/engine/events/cinnabar_lab.asm b/engine/events/cinnabar_lab.asm index e1598f98..7878780c 100755 --- a/engine/events/cinnabar_lab.asm +++ b/engine/events/cinnabar_lab.asm @@ -73,20 +73,20 @@ GiveFossilToCinnabarLab:: ret LabFossil_610ae: - TX_FAR _Lab4Text_610ae - db "@" + text_far _Lab4Text_610ae + text_end LabFossil_610b3: - TX_FAR _Lab4Text_610b3 - db "@" + text_far _Lab4Text_610b3 + text_end LabFossil_610b8: - TX_FAR _Lab4Text_610b8 - db "@" + text_far _Lab4Text_610b8 + text_end LabFossil_610bd: - TX_FAR _Lab4Text_610bd - db "@" + text_far _Lab4Text_610bd + text_end PrintFossilsInBag: ; Prints each fossil in the player's bag on a separate line in the menu. diff --git a/engine/events/diploma.asm b/engine/events/diploma.asm index 53d78e57..92196537 100755 --- a/engine/events/diploma.asm +++ b/engine/events/diploma.asm @@ -1,3 +1,5 @@ +CIRCLE_TILE_ID EQU $70 + DisplayDiploma:: call SaveScreenTilesToBuffer2 call GBPalWhiteOutWithDelay3 @@ -8,7 +10,7 @@ DisplayDiploma:: set 6, [hl] call DisableLCD ld hl, CircleTile - ld de, vChars2 + $700 + ld de, vChars2 + CIRCLE_TILE_ID * $10 ld bc, $10 ld a, BANK(CircleTile) call FarCopyData2 @@ -94,7 +96,7 @@ DiplomaTextPointersAndCoords: dwCoord 9, 16 DiplomaText: - db $70,"Diploma",$70,"@" + db CIRCLE_TILE_ID, "Diploma", CIRCLE_TILE_ID, "@" DiplomaPlayer: db "Player@" diff --git a/engine/events/elevator.asm b/engine/events/elevator.asm index 752bdd1a..8e871456 100755 --- a/engine/events/elevator.asm +++ b/engine/events/elevator.asm @@ -44,5 +44,5 @@ DisplayElevatorFloorMenu: ret WhichFloorText: - TX_FAR _WhichFloorText - db "@" + text_far _WhichFloorText + text_end diff --git a/engine/events/give_pokemon.asm b/engine/events/give_pokemon.asm index 03177e60..041b9fb0 100755 --- a/engine/events/give_pokemon.asm +++ b/engine/events/give_pokemon.asm @@ -69,14 +69,14 @@ SetPokedexOwnedFlag: jp PrintText GotMonText: - TX_FAR _GotMonText - TX_SFX_ITEM_1 - db "@" + text_far _GotMonText + sound_get_item_1 + text_end SentToBoxText: - TX_FAR _SentToBoxText - db "@" + text_far _SentToBoxText + text_end BoxIsFullText: - TX_FAR _BoxIsFullText - db "@" + text_far _BoxIsFullText + text_end diff --git a/engine/events/hidden_items.asm b/engine/events/hidden_items.asm index ad954c9f..85ae7c93 100755 --- a/engine/events/hidden_items.asm +++ b/engine/events/hidden_items.asm @@ -21,8 +21,8 @@ HiddenItems: INCLUDE "data/events/hidden_item_coords.asm" FoundHiddenItemText:: - TX_FAR _FoundHiddenItemText - TX_ASM + text_far _FoundHiddenItemText + text_asm ld a, [wHiddenObjectFunctionArgument] ; item ID ld b, a ld c, 1 @@ -46,8 +46,8 @@ FoundHiddenItemText:: jp TextScriptEnd HiddenItemBagFullText:: - TX_FAR _HiddenItemBagFullText - db "@" + text_far _HiddenItemBagFullText + text_end HiddenCoins: ld b, COIN_CASE @@ -121,15 +121,15 @@ HiddenCoins: INCLUDE "data/events/hidden_coins.asm" FoundHiddenCoinsText:: - TX_FAR _FoundHiddenCoinsText - TX_SFX_ITEM_2 - db "@" + text_far _FoundHiddenCoinsText + sound_get_item_2 + text_end DroppedHiddenCoinsText:: - TX_FAR _FoundHiddenCoins2Text - TX_SFX_ITEM_2 - TX_FAR _DroppedHiddenCoinsText - db "@" + text_far _FoundHiddenCoins2Text + sound_get_item_2 + text_far _DroppedHiddenCoinsText + text_end FindHiddenItemOrCoinsIndex: ld a, [wHiddenObjectY] diff --git a/engine/events/hidden_objects/bench_guys.asm b/engine/events/hidden_objects/bench_guys.asm index 995b5929..a6db73b9 100644 --- a/engine/events/hidden_objects/bench_guys.asm +++ b/engine/events/hidden_objects/bench_guys.asm @@ -50,59 +50,59 @@ BenchGuyTextPointers: db $FF ViridianCityPokecenterBenchGuyText:: - TX_FAR _ViridianCityPokecenterGuyText - db "@" + text_far _ViridianCityPokecenterGuyText + text_end PewterCityPokecenterBenchGuyText:: - TX_FAR _PewterCityPokecenterGuyText - db "@" + text_far _PewterCityPokecenterGuyText + text_end CeruleanCityPokecenterBenchGuyText:: - TX_FAR _CeruleanPokecenterGuyText - db "@" + text_far _CeruleanPokecenterGuyText + text_end LavenderCityPokecenterBenchGuyText:: - TX_FAR _LavenderPokecenterGuyText - db "@" + text_far _LavenderPokecenterGuyText + text_end MtMoonPokecenterBenchGuyText:: - TX_FAR _MtMoonPokecenterBenchGuyText - db "@" + text_far _MtMoonPokecenterBenchGuyText + text_end RockTunnelPokecenterBenchGuyText:: - TX_FAR _RockTunnelPokecenterGuyText - db "@" + text_far _RockTunnelPokecenterGuyText + text_end UnusedBenchGuyText1:: - TX_FAR _UnusedBenchGuyText1 - db "@" + text_far _UnusedBenchGuyText1 + text_end UnusedBenchGuyText2:: - TX_FAR _UnusedBenchGuyText2 - db "@" + text_far _UnusedBenchGuyText2 + text_end UnusedBenchGuyText3:: - TX_FAR _UnusedBenchGuyText3 - db "@" + text_far _UnusedBenchGuyText3 + text_end VermilionCityPokecenterBenchGuyText:: - TX_FAR _VermilionPokecenterGuyText - db "@" + text_far _VermilionPokecenterGuyText + text_end CeladonCityPokecenterBenchGuyText:: - TX_FAR _CeladonCityPokecenterGuyText - db "@" + text_far _CeladonCityPokecenterGuyText + text_end FuchsiaCityPokecenterBenchGuyText:: - TX_FAR _FuchsiaCityPokecenterGuyText - db "@" + text_far _FuchsiaCityPokecenterGuyText + text_end CinnabarIslandPokecenterBenchGuyText:: - TX_FAR _CinnabarPokecenterGuyText - db "@" + text_far _CinnabarPokecenterGuyText + text_end SaffronCityPokecenterBenchGuyText:: - TX_ASM + text_asm CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI ld hl, SaffronCityPokecenterBenchGuyText2 jr nz, .asm_624f2 @@ -112,13 +112,13 @@ SaffronCityPokecenterBenchGuyText:: jp TextScriptEnd SaffronCityPokecenterBenchGuyText1: - TX_FAR _SaffronCityPokecenterGuyText1 - db "@" + text_far _SaffronCityPokecenterGuyText1 + text_end SaffronCityPokecenterBenchGuyText2: - TX_FAR _SaffronCityPokecenterGuyText2 - db "@" + text_far _SaffronCityPokecenterGuyText2 + text_end CeladonCityHotelText:: - TX_FAR _CeladonCityHotelText - db "@" + text_far _CeladonCityHotelText + text_end diff --git a/engine/events/hidden_objects/bills_house_pc.asm b/engine/events/hidden_objects/bills_house_pc.asm index 836aace0..d6e9c19a 100644 --- a/engine/events/hidden_objects/bills_house_pc.asm +++ b/engine/events/hidden_objects/bills_house_pc.asm @@ -45,13 +45,13 @@ BillsHousePC: ret BillsHouseMonitorText:: - TX_FAR _BillsHouseMonitorText - db "@" + text_far _BillsHouseMonitorText + text_end BillsHouseInitiatedText:: - TX_FAR _BillsHouseInitiatedText - TX_BLINK - TX_ASM + text_far _BillsHouseInitiatedText + text_promptbutton + text_asm ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound @@ -65,7 +65,7 @@ BillsHouseInitiatedText:: jp TextScriptEnd BillsHousePokemonList:: - TX_ASM + text_asm call SaveScreenTilesToBuffer1 ld hl, BillsHousePokemonListText1 call PrintText @@ -119,8 +119,8 @@ BillsHousePokemonList:: jp TextScriptEnd BillsHousePokemonListText1: - TX_FAR _BillsHousePokemonListText1 - db "@" + text_far _BillsHousePokemonListText1 + text_end BillsMonListText: db "EEVEE" @@ -130,5 +130,5 @@ BillsMonListText: next "CANCEL@" BillsHousePokemonListText2: - TX_FAR _BillsHousePokemonListText2 - db "@" + text_far _BillsHousePokemonListText2 + text_end diff --git a/engine/events/hidden_objects/blues_room.asm b/engine/events/hidden_objects/blues_room.asm index 879a7ac8..bcbad556 100644 --- a/engine/events/hidden_objects/blues_room.asm +++ b/engine/events/hidden_objects/blues_room.asm @@ -9,5 +9,5 @@ PrintBookcaseText: tx_pre_jump BookcaseText BookcaseText:: - TX_FAR _BookcaseText - db "@" + text_far _BookcaseText + text_end diff --git a/engine/events/hidden_objects/book_or_sculpture.asm b/engine/events/hidden_objects/book_or_sculpture.asm index 2d6f278a..2f3334b8 100644 --- a/engine/events/hidden_objects/book_or_sculpture.asm +++ b/engine/events/hidden_objects/book_or_sculpture.asm @@ -1,5 +1,5 @@ BookOrSculptureText:: - TX_ASM + text_asm ld hl, PokemonBooksText ld a, [wCurMapTileset] cp MANSION ; Celadon Mansion tileset @@ -13,9 +13,9 @@ BookOrSculptureText:: jp TextScriptEnd PokemonBooksText: - TX_FAR _PokemonBooksText - db "@" + text_far _PokemonBooksText + text_end DiglettSculptureText: - TX_FAR _DiglettSculptureText - db "@" + text_far _DiglettSculptureText + text_end diff --git a/engine/events/hidden_objects/cinnabar_gym_quiz.asm b/engine/events/hidden_objects/cinnabar_gym_quiz.asm index 6404717e..9412ee45 100644 --- a/engine/events/hidden_objects/cinnabar_gym_quiz.asm +++ b/engine/events/hidden_objects/cinnabar_gym_quiz.asm @@ -6,7 +6,7 @@ PrintCinnabarQuiz: tx_pre_jump CinnabarGymQuiz CinnabarGymQuiz:: - TX_ASM + text_asm xor a ld [wOpponentAfterWrongAnswer], a ld a, [wHiddenObjectFunctionArgument] @@ -36,8 +36,8 @@ CinnabarGymQuiz:: jp TextScriptEnd CinnabarGymQuizIntroText: - TX_FAR _CinnabarGymQuizIntroText - db "@" + text_far _CinnabarGymQuizIntroText + text_end CinnabarQuizQuestions: dw CinnabarQuizQuestionsText1 @@ -48,28 +48,28 @@ CinnabarQuizQuestions: dw CinnabarQuizQuestionsText6 CinnabarQuizQuestionsText1: - TX_FAR _CinnabarQuizQuestionsText1 - db "@" + text_far _CinnabarQuizQuestionsText1 + text_end CinnabarQuizQuestionsText2: - TX_FAR _CinnabarQuizQuestionsText2 - db "@" + text_far _CinnabarQuizQuestionsText2 + text_end CinnabarQuizQuestionsText3: - TX_FAR _CinnabarQuizQuestionsText3 - db "@" + text_far _CinnabarQuizQuestionsText3 + text_end CinnabarQuizQuestionsText4: - TX_FAR _CinnabarQuizQuestionsText4 - db "@" + text_far _CinnabarQuizQuestionsText4 + text_end CinnabarQuizQuestionsText5: - TX_FAR _CinnabarQuizQuestionsText5 - db "@" + text_far _CinnabarQuizQuestionsText5 + text_end CinnabarQuizQuestionsText6: - TX_FAR _CinnabarQuizQuestionsText6 - db "@" + text_far _CinnabarQuizQuestionsText6 + text_end CinnabarGymGateFlagAction: EventFlagAddress hl, EVENT_CINNABAR_GYM_GATE0_UNLOCKED @@ -117,10 +117,10 @@ CinnabarGymQuiz_1ea92: ret CinnabarGymQuizCorrectText: - TX_SFX_ITEM_1 - TX_FAR _CinnabarGymQuizCorrectText - TX_BLINK - TX_ASM + sound_get_item_1 + text_far _CinnabarGymQuizCorrectText + text_promptbutton + text_asm ld a, [hBackupGymGateIndex] AdjustEventBit EVENT_CINNABAR_GYM_GATE0_UNLOCKED, 0 @@ -137,8 +137,8 @@ CinnabarGymQuizCorrectText: jp TextScriptEnd CinnabarGymQuizIncorrectText: - TX_FAR _CinnabarGymQuizIncorrectText - db "@" + text_far _CinnabarGymQuizIncorrectText + text_end UpdateCinnabarGymGateTileBlocks_:: ; Update the overworld map with open floor blocks or locked gate blocks diff --git a/engine/events/hidden_objects/elevator.asm b/engine/events/hidden_objects/elevator.asm index e72ca44b..ab0f731f 100644 --- a/engine/events/hidden_objects/elevator.asm +++ b/engine/events/hidden_objects/elevator.asm @@ -1,3 +1,3 @@ ElevatorText:: - TX_FAR _ElevatorText - db "@" + text_far _ElevatorText + text_end diff --git a/engine/events/hidden_objects/fighting_dojo.asm b/engine/events/hidden_objects/fighting_dojo.asm index 94d4871d..b4f89985 100644 --- a/engine/events/hidden_objects/fighting_dojo.asm +++ b/engine/events/hidden_objects/fighting_dojo.asm @@ -3,21 +3,21 @@ PrintFightingDojoText2: tx_pre_jump EnemiesOnEverySideText EnemiesOnEverySideText:: - TX_FAR _EnemiesOnEverySideText - db "@" + text_far _EnemiesOnEverySideText + text_end PrintFightingDojoText3: call EnableAutoTextBoxDrawing tx_pre_jump WhatGoesAroundComesAroundText WhatGoesAroundComesAroundText:: - TX_FAR _WhatGoesAroundComesAroundText - db "@" + text_far _WhatGoesAroundComesAroundText + text_end PrintFightingDojoText: call EnableAutoTextBoxDrawing tx_pre_jump FightingDojoText FightingDojoText:: - TX_FAR _FightingDojoText - db "@" + text_far _FightingDojoText + text_end diff --git a/engine/events/hidden_objects/gym_statues.asm b/engine/events/hidden_objects/gym_statues.asm index e9a407b2..3a17557f 100644 --- a/engine/events/hidden_objects/gym_statues.asm +++ b/engine/events/hidden_objects/gym_statues.asm @@ -40,9 +40,9 @@ GymStatues: db $ff GymStatueText1:: - TX_FAR _GymStatueText1 - db "@" + text_far _GymStatueText1 + text_end GymStatueText2:: - TX_FAR _GymStatueText2 - db "@" + text_far _GymStatueText2 + text_end diff --git a/engine/events/hidden_objects/indigo_plateau_hq.asm b/engine/events/hidden_objects/indigo_plateau_hq.asm index d0d0b8c2..840c114d 100644 --- a/engine/events/hidden_objects/indigo_plateau_hq.asm +++ b/engine/events/hidden_objects/indigo_plateau_hq.asm @@ -6,5 +6,5 @@ PrintIndigoPlateauHQText: tx_pre_jump IndigoPlateauHQText IndigoPlateauHQText:: - TX_FAR _IndigoPlateauHQText - db "@" + text_far _IndigoPlateauHQText + text_end diff --git a/engine/events/hidden_objects/indigo_plateau_statues.asm b/engine/events/hidden_objects/indigo_plateau_statues.asm index 62b31e0a..23e94fcf 100644 --- a/engine/events/hidden_objects/indigo_plateau_statues.asm +++ b/engine/events/hidden_objects/indigo_plateau_statues.asm @@ -1,5 +1,5 @@ IndigoPlateauStatues:: - TX_ASM + text_asm ld hl, IndigoPlateauStatuesText1 call PrintText ld a, [wXCoord] @@ -12,13 +12,13 @@ IndigoPlateauStatues:: jp TextScriptEnd IndigoPlateauStatuesText1: - TX_FAR _IndigoPlateauStatuesText1 - db "@" + text_far _IndigoPlateauStatuesText1 + text_end IndigoPlateauStatuesText2: - TX_FAR _IndigoPlateauStatuesText2 - db "@" + text_far _IndigoPlateauStatuesText2 + text_end IndigoPlateauStatuesText3: - TX_FAR _IndigoPlateauStatuesText3 - db "@" + text_far _IndigoPlateauStatuesText3 + text_end diff --git a/engine/events/hidden_objects/magazines.asm b/engine/events/hidden_objects/magazines.asm index af31b317..b58636ff 100644 --- a/engine/events/hidden_objects/magazines.asm +++ b/engine/events/hidden_objects/magazines.asm @@ -4,5 +4,5 @@ PrintMagazinesText: ret MagazinesText:: - TX_FAR _MagazinesText - db "@" + text_far _MagazinesText + text_end diff --git a/engine/events/hidden_objects/museum_fossils.asm b/engine/events/hidden_objects/museum_fossils.asm index 8636418c..36fb2556 100644 --- a/engine/events/hidden_objects/museum_fossils.asm +++ b/engine/events/hidden_objects/museum_fossils.asm @@ -7,8 +7,8 @@ AerodactylFossil: ret AerodactylFossilText:: - TX_FAR _AerodactylFossilText - db "@" + text_far _AerodactylFossilText + text_end KabutopsFossil: ld a, FOSSIL_KABUTOPS @@ -19,8 +19,8 @@ KabutopsFossil: ret KabutopsFossilText:: - TX_FAR _KabutopsFossilText - db "@" + text_far _KabutopsFossilText + text_end DisplayMonFrontSpriteInBox: ; Displays a pokemon's front sprite in a pop-up window. diff --git a/engine/events/hidden_objects/new_bike.asm b/engine/events/hidden_objects/new_bike.asm index 7836262e..5bce5937 100644 --- a/engine/events/hidden_objects/new_bike.asm +++ b/engine/events/hidden_objects/new_bike.asm @@ -3,5 +3,5 @@ PrintNewBikeText: tx_pre_jump NewBicycleText NewBicycleText:: - TX_FAR _NewBicycleText - db "@" + text_far _NewBicycleText + text_end diff --git a/engine/events/hidden_objects/oaks_lab_email.asm b/engine/events/hidden_objects/oaks_lab_email.asm index c59ff9ac..cf3b2c9e 100644 --- a/engine/events/hidden_objects/oaks_lab_email.asm +++ b/engine/events/hidden_objects/oaks_lab_email.asm @@ -6,5 +6,5 @@ DisplayOakLabEmailText: tx_pre_jump OakLabEmailText OakLabEmailText:: - TX_FAR _OakLabEmailText - db "@" + text_far _OakLabEmailText + text_end diff --git a/engine/events/hidden_objects/oaks_lab_posters.asm b/engine/events/hidden_objects/oaks_lab_posters.asm index 0fe21cf3..502cf951 100644 --- a/engine/events/hidden_objects/oaks_lab_posters.asm +++ b/engine/events/hidden_objects/oaks_lab_posters.asm @@ -3,8 +3,8 @@ DisplayOakLabLeftPoster: tx_pre_jump PushStartText PushStartText:: - TX_FAR _PushStartText - db "@" + text_far _PushStartText + text_end DisplayOakLabRightPoster: call EnableAutoTextBoxDrawing @@ -21,9 +21,9 @@ DisplayOakLabRightPoster: jp PrintPredefTextID SaveOptionText:: - TX_FAR _SaveOptionText - db "@" + text_far _SaveOptionText + text_end StrengthsAndWeaknessesText:: - TX_FAR _StrengthsAndWeaknessesText - db "@" + text_far _StrengthsAndWeaknessesText + text_end diff --git a/engine/events/hidden_objects/pokecenter_pc.asm b/engine/events/hidden_objects/pokecenter_pc.asm index c1225d3a..9a2ab064 100644 --- a/engine/events/hidden_objects/pokecenter_pc.asm +++ b/engine/events/hidden_objects/pokecenter_pc.asm @@ -8,4 +8,4 @@ OpenPokemonCenterPC: tx_pre_jump PokemonCenterPCText PokemonCenterPCText:: - TX_POKECENTER_PC + script_pokecenter_pc diff --git a/engine/events/hidden_objects/pokemon_stuff.asm b/engine/events/hidden_objects/pokemon_stuff.asm index b78b2500..267a191a 100644 --- a/engine/events/hidden_objects/pokemon_stuff.asm +++ b/engine/events/hidden_objects/pokemon_stuff.asm @@ -1,3 +1,3 @@ PokemonStuffText:: - TX_FAR _PokemonStuffText - db "@" + text_far _PokemonStuffText + text_end diff --git a/engine/events/hidden_objects/reds_room.asm b/engine/events/hidden_objects/reds_room.asm index b124f9c6..7b8d51a0 100644 --- a/engine/events/hidden_objects/reds_room.asm +++ b/engine/events/hidden_objects/reds_room.asm @@ -3,12 +3,12 @@ PrintRedSNESText: tx_pre_jump RedBedroomSNESText RedBedroomSNESText:: - TX_FAR _RedBedroomSNESText - db "@" + text_far _RedBedroomSNESText + text_end OpenRedsPC: call EnableAutoTextBoxDrawing tx_pre_jump RedBedroomPCText RedBedroomPCText:: - TX_PLAYERS_PC + script_players_pc diff --git a/engine/events/hidden_objects/route_15_binoculars.asm b/engine/events/hidden_objects/route_15_binoculars.asm index b380bb33..028ea30d 100644 --- a/engine/events/hidden_objects/route_15_binoculars.asm +++ b/engine/events/hidden_objects/route_15_binoculars.asm @@ -10,5 +10,5 @@ Route15GateLeftBinoculars: jp DisplayMonFrontSpriteInBox Route15UpstairsBinocularsText:: - TX_FAR _Route15UpstairsBinocularsText - db "@" + text_far _Route15UpstairsBinocularsText + text_end diff --git a/engine/events/hidden_objects/safari_game.asm b/engine/events/hidden_objects/safari_game.asm index 68fc943f..656e872a 100644 --- a/engine/events/hidden_objects/safari_game.asm +++ b/engine/events/hidden_objects/safari_game.asm @@ -59,7 +59,7 @@ PrintSafariGameOverText:: jp PrintText SafariGameOverText: - TX_ASM + text_asm ld a, [wNumSafariBalls] and a jr z, .noMoreSafariBalls @@ -71,9 +71,9 @@ SafariGameOverText: jp TextScriptEnd TimesUpText: - TX_FAR _TimesUpText - db "@" + text_far _TimesUpText + text_end GameOverText: - TX_FAR _GameOverText - db "@" + text_far _GameOverText + text_end diff --git a/engine/events/hidden_objects/school_blackboard.asm b/engine/events/hidden_objects/school_blackboard.asm index 4cd48d23..48b97d73 100644 --- a/engine/events/hidden_objects/school_blackboard.asm +++ b/engine/events/hidden_objects/school_blackboard.asm @@ -7,7 +7,7 @@ PrintBlackboardLinkCableText: ret LinkCableHelp:: - TX_ASM + text_asm call SaveScreenTilesToBuffer1 ld hl, LinkCableHelpText1 call PrintText @@ -60,12 +60,12 @@ LinkCableHelp:: jp TextScriptEnd LinkCableHelpText1: - TX_FAR _LinkCableHelpText1 - db "@" + text_far _LinkCableHelpText1 + text_end LinkCableHelpText2: - TX_FAR _LinkCableHelpText2 - db "@" + text_far _LinkCableHelpText2 + text_end HowToLinkText: db "HOW TO LINK" @@ -79,19 +79,19 @@ LinkCableInfoTexts: dw LinkCableInfoText3 LinkCableInfoText1: - TX_FAR _LinkCableInfoText1 - db "@" + text_far _LinkCableInfoText1 + text_end LinkCableInfoText2: - TX_FAR _LinkCableInfoText2 - db "@" + text_far _LinkCableInfoText2 + text_end LinkCableInfoText3: - TX_FAR _LinkCableInfoText3 - db "@" + text_far _LinkCableInfoText3 + text_end ViridianSchoolBlackboard:: - TX_ASM + text_asm call SaveScreenTilesToBuffer1 ld hl, ViridianSchoolBlackboardText1 call PrintText @@ -177,12 +177,12 @@ ViridianSchoolBlackboard:: jp TextScriptEnd ViridianSchoolBlackboardText1: - TX_FAR _ViridianSchoolBlackboardText1 - db "@" + text_far _ViridianSchoolBlackboardText1 + text_end ViridianSchoolBlackboardText2: - TX_FAR _ViridianSchoolBlackboardText2 - db "@" + text_far _ViridianSchoolBlackboardText2 + text_end StatusAilmentText1: db " SLP" @@ -192,7 +192,9 @@ StatusAilmentText1: StatusAilmentText2: db " BRN" next " FRZ" - next " QUIT@@" + next " QUIT@" + + db "@" ; unused ViridianBlackboardStatusPointers: dw ViridianBlackboardSleepText @@ -202,21 +204,21 @@ ViridianBlackboardStatusPointers: dw ViridianBlackboardFrozenText ViridianBlackboardSleepText: - TX_FAR _ViridianBlackboardSleepText - db "@" + text_far _ViridianBlackboardSleepText + text_end ViridianBlackboardPoisonText: - TX_FAR _ViridianBlackboardPoisonText - db "@" + text_far _ViridianBlackboardPoisonText + text_end ViridianBlackboardPrlzText: - TX_FAR _ViridianBlackboardPrlzText - db "@" + text_far _ViridianBlackboardPrlzText + text_end ViridianBlackboardBurnText: - TX_FAR _ViridianBlackboardBurnText - db "@" + text_far _ViridianBlackboardBurnText + text_end ViridianBlackboardFrozenText: - TX_FAR _ViridianBlackboardFrozenText - db "@" + text_far _ViridianBlackboardFrozenText + text_end diff --git a/engine/events/hidden_objects/school_notebooks.asm b/engine/events/hidden_objects/school_notebooks.asm index f5cc1341..9fccf6c0 100644 --- a/engine/events/hidden_objects/school_notebooks.asm +++ b/engine/events/hidden_objects/school_notebooks.asm @@ -6,12 +6,12 @@ PrintNotebookText: jp PrintPredefTextID TMNotebook:: - TX_FAR TMNotebookText - TX_WAIT - db "@" + text_far TMNotebookText + text_linkpromptbutton + text_end ViridianSchoolNotebook:: - TX_ASM + text_asm ld hl, ViridianSchoolNotebookText1 call PrintText call TurnPageSchoolNotebook @@ -40,26 +40,26 @@ TurnPageSchoolNotebook: ret TurnPageText: - TX_FAR _TurnPageText - db "@" + text_far _TurnPageText + text_end ViridianSchoolNotebookText5: - TX_FAR _ViridianSchoolNotebookText5 - TX_WAIT - db "@" + text_far _ViridianSchoolNotebookText5 + text_linkpromptbutton + text_end ViridianSchoolNotebookText1: - TX_FAR _ViridianSchoolNotebookText1 - db "@" + text_far _ViridianSchoolNotebookText1 + text_end ViridianSchoolNotebookText2: - TX_FAR _ViridianSchoolNotebookText2 - db "@" + text_far _ViridianSchoolNotebookText2 + text_end ViridianSchoolNotebookText3: - TX_FAR _ViridianSchoolNotebookText3 - db "@" + text_far _ViridianSchoolNotebookText3 + text_end ViridianSchoolNotebookText4: - TX_FAR _ViridianSchoolNotebookText4 - db "@" + text_far _ViridianSchoolNotebookText4 + text_end diff --git a/engine/events/hidden_objects/town_map.asm b/engine/events/hidden_objects/town_map.asm index 31e75d0d..9481b902 100644 --- a/engine/events/hidden_objects/town_map.asm +++ b/engine/events/hidden_objects/town_map.asm @@ -1,7 +1,7 @@ TownMapText:: - TX_FAR _TownMapText - TX_BLINK - TX_ASM + text_far _TownMapText + text_promptbutton + text_asm ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a ld hl, wd730 diff --git a/engine/events/hidden_objects/vermilion_gym_trash.asm b/engine/events/hidden_objects/vermilion_gym_trash.asm index c2d22cd5..f46b53c2 100644 --- a/engine/events/hidden_objects/vermilion_gym_trash.asm +++ b/engine/events/hidden_objects/vermilion_gym_trash.asm @@ -3,8 +3,8 @@ PrintTrashText: tx_pre_jump VermilionGymTrashText VermilionGymTrashText:: - TX_FAR _VermilionGymTrashText - db "@" + text_far _VermilionGymTrashText + text_end GymTrashScript: call EnableAutoTextBoxDrawing @@ -128,8 +128,8 @@ GymTrashCans: db 2, 11, 13, 0, 0 ; 14 VermilionGymTrashSuccessText1:: - TX_FAR _VermilionGymTrashSuccessText1 - TX_ASM + text_far _VermilionGymTrashSuccessText1 + text_asm call WaitForSoundToFinish ld a, SFX_SWITCH call PlaySound @@ -138,12 +138,12 @@ VermilionGymTrashSuccessText1:: ; unused VermilionGymTrashSuccessText2:: - TX_FAR _VermilionGymTrashSuccessText2 - db "@" + text_far _VermilionGymTrashSuccessText2 + text_end ; unused VermilionGymTrashSuccesPlaySfx: - TX_ASM + text_asm call WaitForSoundToFinish ld a, SFX_SWITCH call PlaySound @@ -151,8 +151,8 @@ VermilionGymTrashSuccesPlaySfx: jp TextScriptEnd VermilionGymTrashSuccessText3:: - TX_FAR _VermilionGymTrashSuccessText3 - TX_ASM + text_far _VermilionGymTrashSuccessText3 + text_asm call WaitForSoundToFinish ld a, SFX_GO_INSIDE call PlaySound @@ -160,8 +160,8 @@ VermilionGymTrashSuccessText3:: jp TextScriptEnd VermilionGymTrashFailText:: - TX_FAR _VermilionGymTrashFailText - TX_ASM + text_far _VermilionGymTrashFailText + text_asm call WaitForSoundToFinish ld a, SFX_DENIED call PlaySound diff --git a/engine/events/in_game_trades.asm b/engine/events/in_game_trades.asm index c1466485..a25abe0b 100755 --- a/engine/events/in_game_trades.asm +++ b/engine/events/in_game_trades.asm @@ -230,8 +230,7 @@ InGameTrade_GetReceivedMonPointer: ret InGameTrade_TrainerString: - ; "TRAINER@@@@@@@@@@" - db $5d, "@@@@@@@@@@" + db "@@@@@@@@@@" InGameTradeTextPointers: dw TradeTextPointers1 @@ -260,71 +259,71 @@ TradeTextPointers3: dw AfterTrade3Text ConnectCableText: - TX_FAR _ConnectCableText - db "@" + text_far _ConnectCableText + text_end TradedForText: - TX_FAR _TradedForText - TX_SFX_KEY_ITEM - TX_DELAY - db "@" + text_far _TradedForText + sound_get_key_item + text_pause + text_end WannaTrade1Text: - TX_FAR _WannaTrade1Text - db "@" + text_far _WannaTrade1Text + text_end NoTrade1Text: - TX_FAR _NoTrade1Text - db "@" + text_far _NoTrade1Text + text_end WrongMon1Text: - TX_FAR _WrongMon1Text - db "@" + text_far _WrongMon1Text + text_end Thanks1Text: - TX_FAR _Thanks1Text - db "@" + text_far _Thanks1Text + text_end AfterTrade1Text: - TX_FAR _AfterTrade1Text - db "@" + text_far _AfterTrade1Text + text_end WannaTrade2Text: - TX_FAR _WannaTrade2Text - db "@" + text_far _WannaTrade2Text + text_end NoTrade2Text: - TX_FAR _NoTrade2Text - db "@" + text_far _NoTrade2Text + text_end WrongMon2Text: - TX_FAR _WrongMon2Text - db "@" + text_far _WrongMon2Text + text_end Thanks2Text: - TX_FAR _Thanks2Text - db "@" + text_far _Thanks2Text + text_end AfterTrade2Text: - TX_FAR _AfterTrade2Text - db "@" + text_far _AfterTrade2Text + text_end WannaTrade3Text: - TX_FAR _WannaTrade3Text - db "@" + text_far _WannaTrade3Text + text_end NoTrade3Text: - TX_FAR _NoTrade3Text - db "@" + text_far _NoTrade3Text + text_end WrongMon3Text: - TX_FAR _WrongMon3Text - db "@" + text_far _WrongMon3Text + text_end Thanks3Text: - TX_FAR _Thanks3Text - db "@" + text_far _Thanks3Text + text_end AfterTrade3Text: - TX_FAR _AfterTrade3Text - db "@" + text_far _AfterTrade3Text + text_end diff --git a/engine/events/oaks_aide.asm b/engine/events/oaks_aide.asm index f5068fda..61304877 100755 --- a/engine/events/oaks_aide.asm +++ b/engine/events/oaks_aide.asm @@ -46,26 +46,26 @@ OaksAideScript: ret OaksAideHiText: - TX_FAR _OaksAideHiText - db "@" + text_far _OaksAideHiText + text_end OaksAideUhOhText: - TX_FAR _OaksAideUhOhText - db "@" + text_far _OaksAideUhOhText + text_end OaksAideComeBackText: - TX_FAR _OaksAideComeBackText - db "@" + text_far _OaksAideComeBackText + text_end OaksAideHereYouGoText: - TX_FAR _OaksAideHereYouGoText - db "@" + text_far _OaksAideHereYouGoText + text_end OaksAideGotItemText: - TX_FAR _OaksAideGotItemText - TX_SFX_ITEM_1 - db "@" + text_far _OaksAideGotItemText + sound_get_item_1 + text_end OaksAideNoRoomText: - TX_FAR _OaksAideNoRoomText - db "@" + text_far _OaksAideNoRoomText + text_end diff --git a/engine/events/pick_up_item.asm b/engine/events/pick_up_item.asm index 5a658f22..ec50d9c4 100644 --- a/engine/events/pick_up_item.asm +++ b/engine/events/pick_up_item.asm @@ -45,10 +45,10 @@ PickUpItem: ret FoundItemText: - TX_FAR _FoundItemText - TX_SFX_ITEM_1 - db "@" + text_far _FoundItemText + sound_get_item_1 + text_end NoMoreRoomForItemText: - TX_FAR _NoMoreRoomForItemText - db "@" + text_far _NoMoreRoomForItemText + text_end diff --git a/engine/events/pokecenter.asm b/engine/events/pokecenter.asm index f340e06d..f6ec6491 100755 --- a/engine/events/pokecenter.asm +++ b/engine/events/pokecenter.asm @@ -46,23 +46,23 @@ DisplayPokemonCenterDialogue_:: jp UpdateSprites PokemonCenterWelcomeText: - TX_FAR _PokemonCenterWelcomeText - db "@" + text_far _PokemonCenterWelcomeText + text_end ShallWeHealYourPokemonText: - TX_DELAY - TX_FAR _ShallWeHealYourPokemonText - db "@" + text_pause + text_far _ShallWeHealYourPokemonText + text_end NeedYourPokemonText: - TX_FAR _NeedYourPokemonText - db "@" + text_far _NeedYourPokemonText + text_end PokemonFightingFitText: - TX_FAR _PokemonFightingFitText - db "@" + text_far _PokemonFightingFitText + text_end PokemonCenterFarewellText: - TX_DELAY - TX_FAR _PokemonCenterFarewellText - db "@" + text_pause + text_far _PokemonCenterFarewellText + text_end diff --git a/engine/events/pokedex_rating.asm b/engine/events/pokedex_rating.asm index f1aaf618..9dbe2138 100755 --- a/engine/events/pokedex_rating.asm +++ b/engine/events/pokedex_rating.asm @@ -52,8 +52,8 @@ DisplayDexRating: ret PokedexRatingText_441cc: - TX_FAR _OaksLabText_441cc - db "@" + text_far _OaksLabText_441cc + text_end DexRatingsTable: db 10 @@ -90,65 +90,65 @@ DexRatingsTable: dw PokedexRatingText_4424c PokedexRatingText_44201: - TX_FAR _OaksLabText_44201 - db "@" + text_far _OaksLabText_44201 + text_end PokedexRatingText_44206: - TX_FAR _OaksLabText_44206 - db "@" + text_far _OaksLabText_44206 + text_end PokedexRatingText_4420b: - TX_FAR _OaksLabText_4420b - db "@" + text_far _OaksLabText_4420b + text_end PokedexRatingText_44210: - TX_FAR _OaksLabText_44210 - db "@" + text_far _OaksLabText_44210 + text_end PokedexRatingText_44215: - TX_FAR _OaksLabText_44215 - db "@" + text_far _OaksLabText_44215 + text_end PokedexRatingText_4421a: - TX_FAR _OaksLabText_4421a - db "@" + text_far _OaksLabText_4421a + text_end PokedexRatingText_4421f: - TX_FAR _OaksLabText_4421f - db "@" + text_far _OaksLabText_4421f + text_end PokedexRatingText_44224: - TX_FAR _OaksLabText_44224 - db "@" + text_far _OaksLabText_44224 + text_end PokedexRatingText_44229: - TX_FAR _OaksLabText_44229 - db "@" + text_far _OaksLabText_44229 + text_end PokedexRatingText_4422e: - TX_FAR _OaksLabText_4422e - db "@" + text_far _OaksLabText_4422e + text_end PokedexRatingText_44233: - TX_FAR _OaksLabText_44233 - db "@" + text_far _OaksLabText_44233 + text_end PokedexRatingText_44238: - TX_FAR _OaksLabText_44238 - db "@" + text_far _OaksLabText_44238 + text_end PokedexRatingText_4423d: - TX_FAR _OaksLabText_4423d - db "@" + text_far _OaksLabText_4423d + text_end PokedexRatingText_44242: - TX_FAR _OaksLabText_44242 - db "@" + text_far _OaksLabText_44242 + text_end PokedexRatingText_44247: - TX_FAR _OaksLabText_44247 - db "@" + text_far _OaksLabText_44247 + text_end PokedexRatingText_4424c: - TX_FAR _OaksLabText_4424c - db "@" + text_far _OaksLabText_4424c + text_end diff --git a/engine/events/pokemart.asm b/engine/events/pokemart.asm index 177e8a09..b05e4ed6 100755 --- a/engine/events/pokemart.asm +++ b/engine/events/pokemart.asm @@ -228,45 +228,45 @@ DisplayPokemartDialogue_:: ret PokemartBuyingGreetingText: - TX_FAR _PokemartBuyingGreetingText - db "@" + text_far _PokemartBuyingGreetingText + text_end PokemartTellBuyPriceText: - TX_FAR _PokemartTellBuyPriceText - db "@" + text_far _PokemartTellBuyPriceText + text_end PokemartBoughtItemText: - TX_FAR _PokemartBoughtItemText - db "@" + text_far _PokemartBoughtItemText + text_end PokemartNotEnoughMoneyText: - TX_FAR _PokemartNotEnoughMoneyText - db "@" + text_far _PokemartNotEnoughMoneyText + text_end PokemartItemBagFullText: - TX_FAR _PokemartItemBagFullText - db "@" + text_far _PokemartItemBagFullText + text_end PokemonSellingGreetingText: - TX_FAR _PokemonSellingGreetingText - db "@" + text_far _PokemonSellingGreetingText + text_end PokemartTellSellPriceText: - TX_FAR _PokemartTellSellPriceText - db "@" + text_far _PokemartTellSellPriceText + text_end PokemartItemBagEmptyText: - TX_FAR _PokemartItemBagEmptyText - db "@" + text_far _PokemartItemBagEmptyText + text_end PokemartUnsellableItemText: - TX_FAR _PokemartUnsellableItemText - db "@" + text_far _PokemartUnsellableItemText + text_end PokemartThankYouText: - TX_FAR _PokemartThankYouText - db "@" + text_far _PokemartThankYouText + text_end PokemartAnythingElseText: - TX_FAR _PokemartAnythingElseText - db "@" + text_far _PokemartAnythingElseText + text_end diff --git a/engine/events/prize_menu.asm b/engine/events/prize_menu.asm index 5a00a89e..c79fdbbc 100755 --- a/engine/events/prize_menu.asm +++ b/engine/events/prize_menu.asm @@ -43,17 +43,17 @@ CeladonPrizeMenu:: ret RequireCoinCaseTextPtr: - TX_FAR _RequireCoinCaseText - TX_WAIT - db "@" + text_far _RequireCoinCaseText + text_linkpromptbutton + text_end ExchangeCoinsForPrizesTextPtr: - TX_FAR _ExchangeCoinsForPrizesText - db "@" + text_far _ExchangeCoinsForPrizesText + text_end WhichPrizeTextPtr: - TX_FAR _WhichPrizeText - db "@" + text_far _WhichPrizeText + text_end GetPrizeMenuId: ; determine which one among the three @@ -263,28 +263,28 @@ UnknownPrizeData: db $00,$01,$00,$01,$00,$01,$00,$00,$01 HereYouGoTextPtr: - TX_FAR _HereYouGoText - TX_WAIT - db "@" + text_far _HereYouGoText + text_linkpromptbutton + text_end SoYouWantPrizeTextPtr: - TX_FAR _SoYouWantPrizeText - db "@" + text_far _SoYouWantPrizeText + text_end SorryNeedMoreCoinsText: - TX_FAR _SorryNeedMoreCoinsText - TX_WAIT - db "@" + text_far _SorryNeedMoreCoinsText + text_linkpromptbutton + text_end PrizeRoomBagIsFullTextPtr: - TX_FAR _OopsYouDontHaveEnoughRoomText - TX_WAIT - db "@" + text_far _OopsYouDontHaveEnoughRoomText + text_linkpromptbutton + text_end OhFineThenTextPtr: - TX_FAR _OhFineThenText - TX_WAIT - db "@" + text_far _OhFineThenText + text_linkpromptbutton + text_end GetPrizeMonLevel: ld a, [wcf91] diff --git a/engine/events/vending_machine.asm b/engine/events/vending_machine.asm index 4a39f7b9..acb8dce8 100755 --- a/engine/events/vending_machine.asm +++ b/engine/events/vending_machine.asm @@ -81,8 +81,8 @@ VendingMachineMenu:: jp PrintText VendingMachineText1: - TX_FAR _VendingMachineText1 - db "@" + text_far _VendingMachineText1 + text_end DrinkText: db "FRESH WATER" @@ -97,20 +97,20 @@ DrinkPriceText: next "@" VendingMachineText4: - TX_FAR _VendingMachineText4 - db "@" + text_far _VendingMachineText4 + text_end VendingMachineText5: - TX_FAR _VendingMachineText5 - db "@" + text_far _VendingMachineText5 + text_end VendingMachineText6: - TX_FAR _VendingMachineText6 - db "@" + text_far _VendingMachineText6 + text_end VendingMachineText7: - TX_FAR _VendingMachineText7 - db "@" + text_far _VendingMachineText7 + text_end LoadVendingMachineItem: ld hl, VendingPrices diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm index 7e2aa227..93eab051 100755 --- a/engine/items/item_effects.asm +++ b/engine/items/item_effects.asm @@ -586,47 +586,47 @@ ItemUseBall: ItemUseBallText00: ;"It dodged the thrown ball!" ;"This pokemon can't be caught" - TX_FAR _ItemUseBallText00 - db "@" + text_far _ItemUseBallText00 + text_end ItemUseBallText01: ;"You missed the pokemon!" - TX_FAR _ItemUseBallText01 - db "@" + text_far _ItemUseBallText01 + text_end ItemUseBallText02: ;"Darn! The pokemon broke free!" - TX_FAR _ItemUseBallText02 - db "@" + text_far _ItemUseBallText02 + text_end ItemUseBallText03: ;"Aww! It appeared to be caught!" - TX_FAR _ItemUseBallText03 - db "@" + text_far _ItemUseBallText03 + text_end ItemUseBallText04: ;"Shoot! It was so close too!" - TX_FAR _ItemUseBallText04 - db "@" + text_far _ItemUseBallText04 + text_end ItemUseBallText05: ;"All right! {MonName} was caught!" ;play sound - TX_FAR _ItemUseBallText05 - TX_SFX_CAUGHT_MON - TX_BLINK - db "@" + text_far _ItemUseBallText05 + sound_caught_mon + text_promptbutton + text_end ItemUseBallText07: ;"X was transferred to Bill's PC" - TX_FAR _ItemUseBallText07 - db "@" + text_far _ItemUseBallText07 + text_end ItemUseBallText08: ;"X was transferred to someone's PC" - TX_FAR _ItemUseBallText08 - db "@" + text_far _ItemUseBallText08 + text_end ItemUseBallText06: ;"New DEX data will be added..." ;play sound - TX_FAR _ItemUseBallText06 - TX_SFX_DEX_PAGE_ADDED - TX_BLINK - db "@" + text_far _ItemUseBallText06 + sound_dex_page_added + text_promptbutton + text_end ItemUseTownMap: ld a, [wIsInBattle] @@ -745,12 +745,12 @@ ItemUseSurfboard: ret SurfingGotOnText: - TX_FAR _SurfingGotOnText - db "@" + text_far _SurfingGotOnText + text_end SurfingNoPlaceToGetOffText: - TX_FAR _SurfingNoPlaceToGetOffText - db "@" + text_far _SurfingNoPlaceToGetOffText + text_end ItemUsePokedex: predef_jump ShowPokedexMenu @@ -1417,12 +1417,12 @@ ItemUseMedicine: jp RemoveUsedItem VitaminStatRoseText: - TX_FAR _VitaminStatRoseText - db "@" + text_far _VitaminStatRoseText + text_end VitaminNoEffectText: - TX_FAR _VitaminNoEffectText - db "@" + text_far _VitaminNoEffectText + text_end VitaminText: db "HEALTH@" @@ -1479,12 +1479,12 @@ BaitRockCommon: jp DelayFrames ThrewBaitText: - TX_FAR _ThrewBaitText - db "@" + text_far _ThrewBaitText + text_end ThrewRockText: - TX_FAR _ThrewRockText - db "@" + text_far _ThrewRockText + text_end ; also used for Dig out-of-battle effect ItemUseEscapeRope: @@ -1829,17 +1829,17 @@ Route16SnorlaxFluteCoords: db $ff ; terminator PlayedFluteNoEffectText: - TX_FAR _PlayedFluteNoEffectText - db "@" + text_far _PlayedFluteNoEffectText + text_end FluteWokeUpText: - TX_FAR _FluteWokeUpText - db "@" + text_far _FluteWokeUpText + text_end PlayedFluteHadEffectText: - TX_FAR _PlayedFluteHadEffectText - TX_BLINK - TX_ASM + text_far _PlayedFluteHadEffectText + text_promptbutton + text_asm ld a, [wIsInBattle] and a jr nz, .done @@ -1865,8 +1865,8 @@ ItemUseCoinCase: jp PrintText CoinCaseNumCoinsText: - TX_FAR _CoinCaseNumCoinsText - db "@" + text_far _CoinCaseNumCoinsText + text_end ItemUseOldRod: call FishingInit @@ -1984,12 +1984,12 @@ ItemUseItemfinder: jp PrintText ItemfinderFoundItemText: - TX_FAR _ItemfinderFoundItemText - db "@" + text_far _ItemfinderFoundItemText + text_end ItemfinderFoundNothingText: - TX_FAR _ItemfinderFoundNothingText - db "@" + text_far _ItemfinderFoundNothingText + text_end ItemUsePPUp: ld a, [wIsInBattle] @@ -2173,24 +2173,24 @@ ItemUsePPRestore: ret RaisePPWhichTechniqueText: - TX_FAR _RaisePPWhichTechniqueText - db "@" + text_far _RaisePPWhichTechniqueText + text_end RestorePPWhichTechniqueText: - TX_FAR _RestorePPWhichTechniqueText - db "@" + text_far _RestorePPWhichTechniqueText + text_end PPMaxedOutText: - TX_FAR _PPMaxedOutText - db "@" + text_far _PPMaxedOutText + text_end PPIncreasedText: - TX_FAR _PPIncreasedText - db "@" + text_far _PPIncreasedText + text_end PPRestoredText: - TX_FAR _PPRestoredText - db "@" + text_far _PPRestoredText + text_end ; for items that can't be used from the Item menu UnusableItem: @@ -2294,20 +2294,20 @@ ItemUseTMHM: jp RemoveUsedItem BootedUpTMText: - TX_FAR _BootedUpTMText - db "@" + text_far _BootedUpTMText + text_end BootedUpHMText: - TX_FAR _BootedUpHMText - db "@" + text_far _BootedUpHMText + text_end TeachMachineMoveText: - TX_FAR _TeachMachineMoveText - db "@" + text_far _TeachMachineMoveText + text_end MonCannotLearnMachineMoveText: - TX_FAR _MonCannotLearnMachineMoveText - db "@" + text_far _MonCannotLearnMachineMoveText + text_end PrintItemUseTextAndRemoveItem: ld hl, ItemUseText00 @@ -2364,54 +2364,54 @@ ItemUseFailed: jp PrintText ItemUseNotTimeText: - TX_FAR _ItemUseNotTimeText - db "@" + text_far _ItemUseNotTimeText + text_end ItemUseNotYoursToUseText: - TX_FAR _ItemUseNotYoursToUseText - db "@" + text_far _ItemUseNotYoursToUseText + text_end ItemUseNoEffectText: - TX_FAR _ItemUseNoEffectText - db "@" + text_far _ItemUseNoEffectText + text_end ThrowBallAtTrainerMonText1: - TX_FAR _ThrowBallAtTrainerMonText1 - db "@" + text_far _ThrowBallAtTrainerMonText1 + text_end ThrowBallAtTrainerMonText2: - TX_FAR _ThrowBallAtTrainerMonText2 - db "@" + text_far _ThrowBallAtTrainerMonText2 + text_end NoCyclingAllowedHereText: - TX_FAR _NoCyclingAllowedHereText - db "@" + text_far _NoCyclingAllowedHereText + text_end NoSurfingHereText: - TX_FAR _NoSurfingHereText - db "@" + text_far _NoSurfingHereText + text_end BoxFullCannotThrowBallText: - TX_FAR _BoxFullCannotThrowBallText - db "@" + text_far _BoxFullCannotThrowBallText + text_end ItemUseText00: - TX_FAR _ItemUseText001 - TX_LINE - TX_FAR _ItemUseText002 - db "@" + text_far _ItemUseText001 + text_low + text_far _ItemUseText002 + text_end GotOnBicycleText: - TX_FAR _GotOnBicycleText1 - TX_LINE - TX_FAR _GotOnBicycleText2 - db "@" + text_far _GotOnBicycleText1 + text_low + text_far _GotOnBicycleText2 + text_end GotOffBicycleText: - TX_FAR _GotOffBicycleText1 - TX_LINE - TX_FAR _GotOffBicycleText2 - db "@" + text_far _GotOffBicycleText1 + text_low + text_far _GotOffBicycleText2 + text_end ; restores bonus PP (from PP Ups) when healing at a pokemon center ; also, when a PP Up is used, it increases the current PP by one PP Up bonus @@ -2639,16 +2639,16 @@ TossItem_:: ret ThrewAwayItemText: - TX_FAR _ThrewAwayItemText - db "@" + text_far _ThrewAwayItemText + text_end IsItOKToTossItemText: - TX_FAR _IsItOKToTossItemText - db "@" + text_far _IsItOKToTossItemText + text_end TooImportantToTossText: - TX_FAR _TooImportantToTossText - db "@" + text_far _TooImportantToTossText + text_end ; checks if an item is a key item ; INPUT: diff --git a/engine/items/tmhm.asm b/engine/items/tmhm.asm index 7ccaa232..a11cd736 100755 --- a/engine/items/tmhm.asm +++ b/engine/items/tmhm.asm @@ -22,5 +22,5 @@ CheckIfMoveIsKnown: ret AlreadyKnowsText: - TX_FAR _AlreadyKnowsText - db "@" + text_far _AlreadyKnowsText + text_end diff --git a/engine/link/cable_club.asm b/engine/link/cable_club.asm index 58008a94..ca43a895 100755 --- a/engine/link/cable_club.asm +++ b/engine/link/cable_club.asm @@ -872,8 +872,8 @@ TradeCenter_Trade: jp CallCurrentTradeCenterFunction WillBeTradedText: - TX_FAR _WillBeTradedText - db "@" + text_far _WillBeTradedText + text_end TradeCompleted: db "Trade completed!@" diff --git a/engine/link/cable_club_npc.asm b/engine/link/cable_club_npc.asm index bb0f7680..6001c314 100755 --- a/engine/link/cable_club_npc.asm +++ b/engine/link/cable_club_npc.asm @@ -110,33 +110,33 @@ CableClubNPC:: jpab LinkMenu CableClubNPCAreaReservedFor2FriendsLinkedByCableText: - TX_FAR _CableClubNPCAreaReservedFor2FriendsLinkedByCableText - db "@" + text_far _CableClubNPCAreaReservedFor2FriendsLinkedByCableText + text_end CableClubNPCWelcomeText: - TX_FAR _CableClubNPCWelcomeText - db "@" + text_far _CableClubNPCWelcomeText + text_end CableClubNPCPleaseApplyHereHaveToSaveText: - TX_FAR _CableClubNPCPleaseApplyHereHaveToSaveText - db "@" + text_far _CableClubNPCPleaseApplyHereHaveToSaveText + text_end CableClubNPCPleaseWaitText: - TX_FAR _CableClubNPCPleaseWaitText - TX_DELAY - db "@" + text_far _CableClubNPCPleaseWaitText + text_pause + text_end CableClubNPCLinkClosedBecauseOfInactivityText: - TX_FAR _CableClubNPCLinkClosedBecauseOfInactivityText - db "@" + text_far _CableClubNPCLinkClosedBecauseOfInactivityText + text_end CableClubNPCPleaseComeAgainText: - TX_FAR _CableClubNPCPleaseComeAgainText - db "@" + text_far _CableClubNPCPleaseComeAgainText + text_end CableClubNPCMakingPreparationsText: - TX_FAR _CableClubNPCMakingPreparationsText - db "@" + text_far _CableClubNPCMakingPreparationsText + text_end CloseLinkConnection: call Delay3 diff --git a/engine/menus/league_pc.asm b/engine/menus/league_pc.asm index 170c0ef3..c07c6bc1 100755 --- a/engine/menus/league_pc.asm +++ b/engine/menus/league_pc.asm @@ -116,5 +116,5 @@ HallOfFameNoText: db "HALL OF FAME No @" AccessedHoFPCText: - TX_FAR _AccessedHoFPCText - db "@" + text_far _AccessedHoFPCText + text_end diff --git a/engine/menus/main_menu.asm b/engine/menus/main_menu.asm index fe82ec4a..43289ce8 100755 --- a/engine/menus/main_menu.asm +++ b/engine/menus/main_menu.asm @@ -136,7 +136,7 @@ LinkMenu: ld [wLetterPrintingDelayFlags], a ld hl, wd72e set 6, [hl] - ld hl, TextTerminator_6b20 + ld hl, LinkMenuEmptyText call PrintText call SaveScreenTilesToBuffer1 ld hl, WhereWouldYouLikeText @@ -293,16 +293,16 @@ LinkMenu: ret WhereWouldYouLikeText: - TX_FAR _WhereWouldYouLikeText - db "@" + text_far _WhereWouldYouLikeText + text_end PleaseWaitText: - TX_FAR _PleaseWaitText - db "@" + text_far _PleaseWaitText + text_end LinkCanceledText: - TX_FAR _LinkCanceledText - db "@" + text_far _LinkCanceledText + text_end StartNewGame: ld hl, wd732 @@ -329,7 +329,9 @@ SpecialEnterMap:: jp EnterMap ContinueText: - db "CONTINUE", $4e + db "CONTINUE" + next "" + ; fallthrough NewGameText: db "NEW GAME" diff --git a/engine/menus/naming_screen.asm b/engine/menus/naming_screen.asm index efeab4c3..a84609c9 100755 --- a/engine/menus/naming_screen.asm +++ b/engine/menus/naming_screen.asm @@ -50,8 +50,8 @@ AskName: jp CopyData DoYouWantToNicknameText: - TX_FAR _DoYouWantToNicknameText - db "@" + text_far _DoYouWantToNicknameText + text_end DisplayNameRaterScreen:: ld hl, wBuffer diff --git a/engine/menus/oaks_pc.asm b/engine/menus/oaks_pc.asm index 03c9b8f1..cdb97aca 100755 --- a/engine/menus/oaks_pc.asm +++ b/engine/menus/oaks_pc.asm @@ -15,14 +15,14 @@ OpenOaksPC: jp LoadScreenTilesFromBuffer2 GetDexRatedText: - TX_FAR _GetDexRatedText - db "@" + text_far _GetDexRatedText + text_end ClosedOaksPCText: - TX_FAR _ClosedOaksPCText - TX_WAIT - db "@" + text_far _ClosedOaksPCText + text_linkpromptbutton + text_end AccessedOaksPCText: - TX_FAR _AccessedOaksPCText - db "@" + text_far _AccessedOaksPCText + text_end diff --git a/engine/menus/party_menu.asm b/engine/menus/party_menu.asm index 9ae5706e..f63a3cf0 100755 --- a/engine/menus/party_menu.asm +++ b/engine/menus/party_menu.asm @@ -254,62 +254,62 @@ PartyMenuMessagePointers: dw PartyMenuItemUseText PartyMenuNormalText: - TX_FAR _PartyMenuNormalText - db "@" + text_far _PartyMenuNormalText + text_end PartyMenuItemUseText: - TX_FAR _PartyMenuItemUseText - db "@" + text_far _PartyMenuItemUseText + text_end PartyMenuBattleText: - TX_FAR _PartyMenuBattleText - db "@" + text_far _PartyMenuBattleText + text_end PartyMenuUseTMText: - TX_FAR _PartyMenuUseTMText - db "@" + text_far _PartyMenuUseTMText + text_end PartyMenuSwapMonText: - TX_FAR _PartyMenuSwapMonText - db "@" + text_far _PartyMenuSwapMonText + text_end PotionText: - TX_FAR _PotionText - db "@" + text_far _PotionText + text_end AntidoteText: - TX_FAR _AntidoteText - db "@" + text_far _AntidoteText + text_end ParlyzHealText: - TX_FAR _ParlyzHealText - db "@" + text_far _ParlyzHealText + text_end BurnHealText: - TX_FAR _BurnHealText - db "@" + text_far _BurnHealText + text_end IceHealText: - TX_FAR _IceHealText - db "@" + text_far _IceHealText + text_end AwakeningText: - TX_FAR _AwakeningText - db "@" + text_far _AwakeningText + text_end FullHealText: - TX_FAR _FullHealText - db "@" + text_far _FullHealText + text_end ReviveText: - TX_FAR _ReviveText - db "@" + text_far _ReviveText + text_end RareCandyText: - TX_FAR _RareCandyText - TX_SFX_ITEM_1 ; probably supposed to play SFX_LEVEL_UP but the wrong music bank is loaded - TX_BLINK - db "@" + text_far _RareCandyText + sound_get_item_1 ; probably supposed to play SFX_LEVEL_UP but the wrong music bank is loaded + text_promptbutton + text_end SetPartyMenuHPBarColor: ld hl, wPartyMenuHPBarColors diff --git a/engine/menus/pc.asm b/engine/menus/pc.asm index 6ec45f2e..f296ad61 100755 --- a/engine/menus/pc.asm +++ b/engine/menus/pc.asm @@ -99,20 +99,20 @@ LogOff: ret TurnedOnPC1Text: - TX_FAR _TurnedOnPC1Text - db "@" + text_far _TurnedOnPC1Text + text_end AccessedBillsPCText: - TX_FAR _AccessedBillsPCText - db "@" + text_far _AccessedBillsPCText + text_end AccessedSomeonesPCText: - TX_FAR _AccessedSomeonesPCText - db "@" + text_far _AccessedSomeonesPCText + text_end AccessedMyPCText: - TX_FAR _AccessedMyPCText - db "@" + text_far _AccessedMyPCText + text_end ; removes one of the specified item ID [hItemToRemoveID] from bag (if existent) RemoveItemByID:: diff --git a/engine/menus/players_pc.asm b/engine/menus/players_pc.asm index 403632fa..ebaacd52 100755 --- a/engine/menus/players_pc.asm +++ b/engine/menus/players_pc.asm @@ -247,57 +247,57 @@ PlayersPCMenuEntries: next "LOG OFF@" TurnedOnPC2Text: - TX_FAR _TurnedOnPC2Text - db "@" + text_far _TurnedOnPC2Text + text_end WhatDoYouWantText: - TX_FAR _WhatDoYouWantText - db "@" + text_far _WhatDoYouWantText + text_end WhatToDepositText: - TX_FAR _WhatToDepositText - db "@" + text_far _WhatToDepositText + text_end DepositHowManyText: - TX_FAR _DepositHowManyText - db "@" + text_far _DepositHowManyText + text_end ItemWasStoredText: - TX_FAR _ItemWasStoredText - db "@" + text_far _ItemWasStoredText + text_end NothingToDepositText: - TX_FAR _NothingToDepositText - db "@" + text_far _NothingToDepositText + text_end NoRoomToStoreText: - TX_FAR _NoRoomToStoreText - db "@" + text_far _NoRoomToStoreText + text_end WhatToWithdrawText: - TX_FAR _WhatToWithdrawText - db "@" + text_far _WhatToWithdrawText + text_end WithdrawHowManyText: - TX_FAR _WithdrawHowManyText - db "@" + text_far _WithdrawHowManyText + text_end WithdrewItemText: - TX_FAR _WithdrewItemText - db "@" + text_far _WithdrewItemText + text_end NothingStoredText: - TX_FAR _NothingStoredText - db "@" + text_far _NothingStoredText + text_end CantCarryMoreText: - TX_FAR _CantCarryMoreText - db "@" + text_far _CantCarryMoreText + text_end WhatToTossText: - TX_FAR _WhatToTossText - db "@" + text_far _WhatToTossText + text_end TossHowManyText: - TX_FAR _TossHowManyText - db "@" + text_far _TossHowManyText + text_end diff --git a/engine/menus/pokedex.asm b/engine/menus/pokedex.asm index baf656b6..542ef873 100755 --- a/engine/menus/pokedex.asm +++ b/engine/menus/pokedex.asm @@ -478,7 +478,7 @@ ShowPokedexDataInternal: coord hl, 2, 8 ld a, "№" ld [hli], a - ld a, "⠄" + ld a, "" ld [hli], a ld de, wd11e lb bc, LEADING_ZEROES | 1, 3 @@ -518,14 +518,14 @@ ShowPokedexDataInternal: coord hl, 12, 6 lb bc, 1, 2 call PrintNumber ; print feet (height) - ld a, $60 ; feet symbol tile (one tick) + ld a, "′" ld [hl], a inc de inc de ; de = address of inches (height) coord hl, 15, 6 lb bc, LEADING_ZEROES | 1, 2 call PrintNumber ; print inches (height) - ld a, $61 ; inches symbol tile (two ticks) + ld a, "″" ld [hl], a ; now print the weight (note that weight is stored in tenths of pounds internally) inc de @@ -558,7 +558,7 @@ ShowPokedexDataInternal: inc hl ld a, [hli] ld [hld], a ; make space for the decimal point by moving the last digit forward one tile - ld [hl], "⠄" ; decimal point tile + ld [hl], "" ; decimal point tile pop af ld [hDexWeight + 1], a ; restore original value of [hDexWeight + 1] pop af @@ -590,7 +590,7 @@ ShowPokedexDataInternal: ret HeightWeightText: - db "HT ?",$60,"??",$61 + db "HT ?′??″" next "WT ???lb@" ; XXX does anything point to this? diff --git a/engine/menus/save.asm b/engine/menus/save.asm index ee73c850..462e0eea 100755 --- a/engine/menus/save.asm +++ b/engine/menus/save.asm @@ -28,8 +28,8 @@ LoadSAV: ret FileDataDestroyedText: - TX_FAR _FileDataDestroyedText - db "@" + text_far _FileDataDestroyedText + text_end LoadSAV0: ld a, SRAM_ENABLE @@ -184,16 +184,16 @@ SaveSAVConfirm: ret WouldYouLikeToSaveText: - TX_FAR _WouldYouLikeToSaveText - db "@" + text_far _WouldYouLikeToSaveText + text_end GameSavedText: - TX_FAR _GameSavedText - db "@" + text_far _GameSavedText + text_end OlderFileWillBeErasedText: - TX_FAR _OlderFileWillBeErasedText - db "@" + text_far _OlderFileWillBeErasedText + text_end SaveSAVtoSRAM0: ld a, SRAM_ENABLE @@ -386,8 +386,8 @@ ChangeBox:: ret WhenYouChangeBoxText: - TX_FAR _WhenYouChangeBoxText - db "@" + text_far _WhenYouChangeBoxText + text_end CopyBoxToOrFromSRAM: ; copy an entire box from hl to de with b as the SRAM bank @@ -490,8 +490,8 @@ DisplayChangeBoxMenu: ret ChooseABoxText: - TX_FAR _ChooseABoxText - db "@" + text_far _ChooseABoxText + text_end BoxNames: db "BOX 1" diff --git a/engine/menus/start_sub_menus.asm b/engine/menus/start_sub_menus.asm index 526540df..9ec06556 100755 --- a/engine/menus/start_sub_menus.asm +++ b/engine/menus/start_sub_menus.asm @@ -190,8 +190,8 @@ StartMenu_Pokemon:: call GBPalWhiteOutWithDelay3 jp .goBackToMap .flashLightsAreaText - TX_FAR _FlashLightsAreaText - db "@" + text_far _FlashLightsAreaText + text_end .dig ld a, ESCAPE_ROPE ld [wcf91], a @@ -225,14 +225,14 @@ StartMenu_Pokemon:: call GBPalWhiteOutWithDelay3 jp .goBackToMap .warpToLastPokemonCenterText - TX_FAR _WarpToLastPokemonCenterText - db "@" + text_far _WarpToLastPokemonCenterText + text_end .cannotUseTeleportNowText - TX_FAR _CannotUseTeleportNowText - db "@" + text_far _CannotUseTeleportNowText + text_end .cannotFlyHereText - TX_FAR _CannotFlyHereText - db "@" + text_far _CannotFlyHereText + text_end .softboiled ld hl, wPartyMon1MaxHP ld a, [wWhichPokemon] @@ -270,8 +270,8 @@ StartMenu_Pokemon:: call PrintText jp .loop .notHealthyEnoughText - TX_FAR _NotHealthyEnoughText - db "@" + text_far _NotHealthyEnoughText + text_end .goBackToMap call RestoreScreenTilesAndReloadTilePatterns jp CloseTextDisplay @@ -280,8 +280,8 @@ StartMenu_Pokemon:: call PrintText jp .loop .newBadgeRequiredText - TX_FAR _NewBadgeRequiredText - db "@" + text_far _NewBadgeRequiredText + text_end ; writes a blank tile to all possible menu cursor positions on the party menu ErasePartyMenuCursors:: @@ -439,12 +439,12 @@ StartMenu_Item:: jp ItemMenuLoop CannotUseItemsHereText: - TX_FAR _CannotUseItemsHereText - db "@" + text_far _CannotUseItemsHereText + text_end CannotGetOffHereText: - TX_FAR _CannotGetOffHereText - db "@" + text_far _CannotGetOffHereText + text_end INCLUDE "data/items/use_party.asm" diff --git a/engine/menus/text_box.asm b/engine/menus/text_box.asm index 00045959..e3de41b4 100644 --- a/engine/menus/text_box.asm +++ b/engine/menus/text_box.asm @@ -220,7 +220,9 @@ TextBoxTextAndCoordTable: BuySellQuitText: db "BUY" next "SELL" - next "QUIT@@" + next "QUIT@" + + db "@" ; unused UseTossText: db "USE" @@ -245,7 +247,7 @@ JapaneseMainMenuText: next "さいしょから@" BattleMenuText: - db "FIGHT ",$E1,$E2 + db "FIGHT " next "ITEM RUN@" SafariZoneBattleMenuText: @@ -258,7 +260,7 @@ SwitchStatsCancelText: next "CANCEL@" JapaneseAhText: - db "アッ!@" + db "アッ!@" JapanesePokedexMenu: db "データをみる" diff --git a/engine/movie/hall_of_fame.asm b/engine/movie/hall_of_fame.asm index d874b2fd..f0553eb6 100755 --- a/engine/movie/hall_of_fame.asm +++ b/engine/movie/hall_of_fame.asm @@ -257,12 +257,12 @@ HoFMoneyText: db "MONEY@" DexSeenOwnedText: - TX_FAR _DexSeenOwnedText - db "@" + text_far _DexSeenOwnedText + text_end DexRatingText: - TX_FAR _DexRatingText - db "@" + text_far _DexRatingText + text_end HoFRecordMonInfo: ld hl, wHallOfFame diff --git a/engine/movie/oak_speech/clear_save.asm b/engine/movie/oak_speech/clear_save.asm index b47cd6c4..b214ec32 100755 --- a/engine/movie/oak_speech/clear_save.asm +++ b/engine/movie/oak_speech/clear_save.asm @@ -19,5 +19,5 @@ DoClearSaveDialogue: jp Init ClearSaveDataText: - TX_FAR _ClearSaveDataText - db "@" + text_far _ClearSaveDataText + text_end diff --git a/engine/movie/oak_speech/oak_speech.asm b/engine/movie/oak_speech/oak_speech.asm index 578cf3b2..e6087012 100755 --- a/engine/movie/oak_speech/oak_speech.asm +++ b/engine/movie/oak_speech/oak_speech.asm @@ -153,22 +153,22 @@ OakSpeech: call GBFadeOutToWhite jp ClearScreen OakSpeechText1: - TX_FAR _OakSpeechText1 - db "@" + text_far _OakSpeechText1 + text_end OakSpeechText2: - TX_FAR _OakSpeechText2A - TX_CRY_NIDORINA - TX_FAR _OakSpeechText2B - db "@" + text_far _OakSpeechText2A + sound_cry_nidorina + text_far _OakSpeechText2B + text_end IntroducePlayerText: - TX_FAR _IntroducePlayerText - db "@" + text_far _IntroducePlayerText + text_end IntroduceRivalText: - TX_FAR _IntroduceRivalText - db "@" + text_far _IntroduceRivalText + text_end OakSpeechText3: - TX_FAR _OakSpeechText3 - db "@" + text_far _OakSpeechText3 + text_end FadeInIntroPic: ld hl, IntroFadePalettes diff --git a/engine/movie/oak_speech/oak_speech2.asm b/engine/movie/oak_speech/oak_speech2.asm index 8c4a896b..743d0d13 100755 --- a/engine/movie/oak_speech/oak_speech2.asm +++ b/engine/movie/oak_speech/oak_speech2.asm @@ -28,8 +28,8 @@ ChoosePlayerName: jp PrintText YourNameIsText: - TX_FAR _YourNameIsText - db "@" + text_far _YourNameIsText + text_end ChooseRivalName: call OakSpeechSlidePicRight @@ -61,8 +61,8 @@ ChooseRivalName: jp PrintText HisNameIsText: - TX_FAR _HisNameIsText - db "@" + text_far _HisNameIsText + text_end OakSpeechSlidePicLeft: push de @@ -215,5 +215,5 @@ GetDefaultName: INCLUDE "data/player_names_list.asm" -TextTerminator_6b20: - db "@" +LinkMenuEmptyText: + text_end diff --git a/engine/movie/trade.asm b/engine/movie/trade.asm index 6af6f2e3..8b596e5e 100755 --- a/engine/movie/trade.asm +++ b/engine/movie/trade.asm @@ -785,8 +785,8 @@ PrintTradeWentToText: jp Trade_SlideTextBoxOffScreen TradeWentToText: - TX_FAR _TradeWentToText - db "@" + text_far _TradeWentToText + text_end PrintTradeForSendsText: ld hl, TradeForText @@ -797,12 +797,12 @@ PrintTradeForSendsText: jp Trade_Delay80 TradeForText: - TX_FAR _TradeForText - db "@" + text_far _TradeForText + text_end TradeSendsText: - TX_FAR _TradeSendsText - db "@" + text_far _TradeSendsText + text_end PrintTradeFarewellText: ld hl, TradeWavesFarewellText @@ -814,12 +814,12 @@ PrintTradeFarewellText: jp Trade_SlideTextBoxOffScreen TradeWavesFarewellText: - TX_FAR _TradeWavesFarewellText - db "@" + text_far _TradeWavesFarewellText + text_end TradeTransferredText: - TX_FAR _TradeTransferredText - db "@" + text_far _TradeTransferredText + text_end PrintTradeTakeCareText: ld hl, TradeTakeCareText @@ -827,8 +827,8 @@ PrintTradeTakeCareText: jp Trade_Delay80 TradeTakeCareText: - TX_FAR _TradeTakeCareText - db "@" + text_far _TradeTakeCareText + text_end PrintTradeWillTradeText: ld hl, TradeWillTradeText @@ -839,12 +839,12 @@ PrintTradeWillTradeText: jp Trade_Delay80 TradeWillTradeText: - TX_FAR _TradeWillTradeText - db "@" + text_far _TradeWillTradeText + text_end TradeforText: - TX_FAR _TradeforText - db "@" + text_far _TradeforText + text_end Trade_ShowAnimation: ld [wAnimationID], a diff --git a/engine/movie/trade2.asm b/engine/movie/trade2.asm index 2c79e077..6b744fd8 100755 --- a/engine/movie/trade2.asm +++ b/engine/movie/trade2.asm @@ -43,6 +43,7 @@ Trade_PrintEnemyMonInfoText: jp PrintNumber Trade_MonInfoText: - db "──№⠄",$4E + db "──№" + next "" next "OT/" - next $73,"№⠄","@" + next "@" diff --git a/engine/overworld/cut.asm b/engine/overworld/cut.asm index c75fbbb6..fa28a751 100755 --- a/engine/overworld/cut.asm +++ b/engine/overworld/cut.asm @@ -22,8 +22,8 @@ UsedCut: jp PrintText .NothingToCutText - TX_FAR _NothingToCutText - db "@" + text_far _NothingToCutText + text_end .canCut ld [wCutTile], a @@ -68,8 +68,8 @@ UsedCut: jp RedrawMapView UsedCutText: - TX_FAR _UsedCutText - db "@" + text_far _UsedCutText + text_end InitCutAnimOAM: xor a diff --git a/engine/overworld/field_move_messages.asm b/engine/overworld/field_move_messages.asm index b1506742..8e849e46 100644 --- a/engine/overworld/field_move_messages.asm +++ b/engine/overworld/field_move_messages.asm @@ -7,16 +7,16 @@ PrintStrengthTxt: jp PrintText UsedStrengthText: - TX_FAR _UsedStrengthText - TX_ASM + text_far _UsedStrengthText + text_asm ld a, [wcf91] call PlayCry call Delay3 jp TextScriptEnd CanMoveBouldersText: - TX_FAR _CanMoveBouldersText - db "@" + text_far _CanMoveBouldersText + text_end IsSurfingAllowed: ; Returns whether surfing is allowed in bit 1 of wd728. @@ -49,9 +49,9 @@ CoordsData_cdf7: db $0B,$07,$FF CurrentTooFastText: - TX_FAR _CurrentTooFastText - db "@" + text_far _CurrentTooFastText + text_end CyclingIsFunText: - TX_FAR _CyclingIsFunText - db "@" + text_far _CyclingIsFunText + text_end diff --git a/engine/overworld/map_sprites.asm b/engine/overworld/map_sprites.asm index 904e9b04..00981b51 100755 --- a/engine/overworld/map_sprites.asm +++ b/engine/overworld/map_sprites.asm @@ -133,7 +133,7 @@ LoadMapSpriteTilePatterns: jr nc, .fourTileSpriteVRAMAddr ld d, a dec d -; vSprites += [hVRAMSlot] * $C0 (the number of bytes in 12 tiles) +; hl = vSprites + [hVRAMSlot] * $C0 (the number of bytes in 12 tiles) .calculateVRAMAddrLoop add hl, bc dec d diff --git a/engine/overworld/player_animations.asm b/engine/overworld/player_animations.asm index a3f6e051..c1c15ccf 100755 --- a/engine/overworld/player_animations.asm +++ b/engine/overworld/player_animations.asm @@ -457,16 +457,16 @@ FishingAnim: ret NoNibbleText: - TX_FAR _NoNibbleText - db "@" + text_far _NoNibbleText + text_end NothingHereText: - TX_FAR _NothingHereText - db "@" + text_far _NothingHereText + text_end ItsABiteText: - TX_FAR _ItsABiteText - db "@" + text_far _ItsABiteText + text_end FishingRodOAM: ; specifies how the fishing rod should be drawn on the screen diff --git a/engine/pokemon/bills_pc.asm b/engine/pokemon/bills_pc.asm index d9a329f5..05271e40 100644 --- a/engine/pokemon/bills_pc.asm +++ b/engine/pokemon/bills_pc.asm @@ -89,7 +89,7 @@ SomeonesPCText: db "SOMEONE's PC@" BillsPCText: db "BILL's PC@" PlayersPCText: db "'s PC@" OaksPCText: db "PROF.OAK's PC@" -PKMNLeaguePCText: db "LEAGUE@" +PKMNLeaguePCText: db "LEAGUE@" LogOffPCText: db "LOG OFF@" BillsPC_:: @@ -339,9 +339,9 @@ DisplayMonListMenu: ret BillsPCMenuText: - db "WITHDRAW " - next "DEPOSIT " - next "RELEASE " + db "WITHDRAW " + next "DEPOSIT " + next "RELEASE " next "CHANGE BOX" next "SEE YA!" db "@" @@ -453,52 +453,52 @@ StatsCancelPCText: next "CANCEL@" SwitchOnText: - TX_FAR _SwitchOnText - db "@" + text_far _SwitchOnText + text_end WhatText: - TX_FAR _WhatText - db "@" + text_far _WhatText + text_end DepositWhichMonText: - TX_FAR _DepositWhichMonText - db "@" + text_far _DepositWhichMonText + text_end MonWasStoredText: - TX_FAR _MonWasStoredText - db "@" + text_far _MonWasStoredText + text_end CantDepositLastMonText: - TX_FAR _CantDepositLastMonText - db "@" + text_far _CantDepositLastMonText + text_end BoxFullText: - TX_FAR _BoxFullText - db "@" + text_far _BoxFullText + text_end MonIsTakenOutText: - TX_FAR _MonIsTakenOutText - db "@" + text_far _MonIsTakenOutText + text_end NoMonText: - TX_FAR _NoMonText - db "@" + text_far _NoMonText + text_end CantTakeMonText: - TX_FAR _CantTakeMonText - db "@" + text_far _CantTakeMonText + text_end ReleaseWhichMonText: - TX_FAR _ReleaseWhichMonText - db "@" + text_far _ReleaseWhichMonText + text_end OnceReleasedText: - TX_FAR _OnceReleasedText - db "@" + text_far _OnceReleasedText + text_end MonWasReleasedText: - TX_FAR _MonWasReleasedText - db "@" + text_far _MonWasReleasedText + text_end CableClubLeftGameboy:: ld a, [hSerialConnectionStatus] @@ -535,8 +535,8 @@ CableClubRightGameboy:: tx_pre_jump JustAMomentText JustAMomentText:: - TX_FAR _JustAMomentText - db "@" + text_far _JustAMomentText + text_end ld a, [wSpriteStateData1 + 9] ; player's sprite facing direction cp SPRITE_FACING_UP @@ -545,5 +545,5 @@ JustAMomentText:: tx_pre_jump OpenBillsPCText OpenBillsPCText:: - TX_BILLS_PC + script_bills_pc diff --git a/engine/pokemon/evos_moves.asm b/engine/pokemon/evos_moves.asm index 36f135cc..469d689a 100755 --- a/engine/pokemon/evos_moves.asm +++ b/engine/pokemon/evos_moves.asm @@ -296,20 +296,20 @@ CancelledEvolution: jp Evolution_PartyMonLoop EvolvedText: - TX_FAR _EvolvedText - db "@" + text_far _EvolvedText + text_end IntoText: - TX_FAR _IntoText - db "@" + text_far _IntoText + text_end StoppedEvolvingText: - TX_FAR _StoppedEvolvingText - db "@" + text_far _StoppedEvolvingText + text_end IsEvolvingText: - TX_FAR _IsEvolvingText - db "@" + text_far _IsEvolvingText + text_end Evolution_ReloadTilesetTilePatterns: ld a, [wLinkState] diff --git a/engine/pokemon/learn_move.asm b/engine/pokemon/learn_move.asm index 09413c9b..e1b1a4c7 100755 --- a/engine/pokemon/learn_move.asm +++ b/engine/pokemon/learn_move.asm @@ -184,43 +184,43 @@ TryingToLearn: ret LearnedMove1Text: - TX_FAR _LearnedMove1Text - TX_SFX_ITEM_1 ; plays SFX_GET_ITEM_1 in the party menu (rare candy) and plays SFX_LEVEL_UP in battle - TX_BLINK - db "@" + text_far _LearnedMove1Text + sound_get_item_1 ; plays SFX_GET_ITEM_1 in the party menu (rare candy) and plays SFX_LEVEL_UP in battle + text_promptbutton + text_end WhichMoveToForgetText: - TX_FAR _WhichMoveToForgetText - db "@" + text_far _WhichMoveToForgetText + text_end AbandonLearningText: - TX_FAR _AbandonLearningText - db "@" + text_far _AbandonLearningText + text_end DidNotLearnText: - TX_FAR _DidNotLearnText - db "@" + text_far _DidNotLearnText + text_end TryingToLearnText: - TX_FAR _TryingToLearnText - db "@" + text_far _TryingToLearnText + text_end OneTwoAndText: - TX_FAR _OneTwoAndText - TX_DELAY - TX_ASM + text_far _OneTwoAndText + text_pause + text_asm ld a, SFX_SWAP call PlaySoundWaitForCurrent ld hl, PoofText ret PoofText: - TX_FAR _PoofText - TX_DELAY + text_far _PoofText + text_pause ForgotAndText: - TX_FAR _ForgotAndText - db "@" + text_far _ForgotAndText + text_end HMCantDeleteText: - TX_FAR _HMCantDeleteText - db "@" + text_far _HMCantDeleteText + text_end diff --git a/engine/pokemon/status_screen.asm b/engine/pokemon/status_screen.asm index b262a8b7..35cc9502 100755 --- a/engine/pokemon/status_screen.asm +++ b/engine/pokemon/status_screen.asm @@ -110,7 +110,7 @@ StatusScreen: call DrawLineBox ; Draws the box around name, HP and status ld de, -6 add hl, de - ld [hl], "⠄" ; . after No ("." is a different one) + ld [hl], "" dec hl ld [hl], "№" coord hl, 19, 9 @@ -205,14 +205,17 @@ NamePointers2: dw wDayCareMonName Type1Text: - db "TYPE1/", $4e - + db "TYPE1/" + next "" + ; fallthrough Type2Text: - db "TYPE2/", $4e - + db "TYPE2/" + next "" + ; fallthrough IDNoText: - db $73, "№/", $4e - + db "№/" + next "" + ; fallthrough OTText: db "OT/" next "@" @@ -328,7 +331,7 @@ StatusScreen2: ld b, a ; Number of moves ? coord hl, 11, 10 ld de, SCREEN_WIDTH * 2 - ld a, $72 ; special P tile id + ld a, "" call StatusScreen_PrintPP ; Print "PP" ld a, b and a @@ -399,7 +402,7 @@ StatusScreen2: ld [wLoadedMonLevel], a ; Increase temporarily if not 100 .Level100 coord hl, 14, 6 - ld [hl], $70 ; 1-tile "to" + ld [hl], "" inc hl inc hl call PrintLevel diff --git a/engine/slots/game_corner_slots.asm b/engine/slots/game_corner_slots.asm index d95d20a3..84f3efdc 100755 --- a/engine/slots/game_corner_slots.asm +++ b/engine/slots/game_corner_slots.asm @@ -42,13 +42,13 @@ StartSlotMachine: ret GameCornerOutOfOrderText:: - TX_FAR _GameCornerOutOfOrderText - db "@" + text_far _GameCornerOutOfOrderText + text_end GameCornerOutToLunchText:: - TX_FAR _GameCornerOutToLunchText - db "@" + text_far _GameCornerOutToLunchText + text_end GameCornerSomeonesKeysText:: - TX_FAR _GameCornerSomeonesKeysText - db "@" + text_far _GameCornerSomeonesKeysText + text_end diff --git a/engine/slots/game_corner_slots2.asm b/engine/slots/game_corner_slots2.asm index 8f6e8374..f0fba746 100755 --- a/engine/slots/game_corner_slots2.asm +++ b/engine/slots/game_corner_slots2.asm @@ -23,9 +23,9 @@ AbleToPlaySlotsCheck: ret GameCornerCoinCaseText:: - TX_FAR _GameCornerCoinCaseText - db "@" + text_far _GameCornerCoinCaseText + text_end GameCornerNoCoinsText:: - TX_FAR _GameCornerNoCoinsText - db "@" + text_far _GameCornerNoCoinsText + text_end diff --git a/engine/slots/slot_machine.asm b/engine/slots/slot_machine.asm index c3de5dd2..3802cdd5 100755 --- a/engine/slots/slot_machine.asm +++ b/engine/slots/slot_machine.asm @@ -53,8 +53,8 @@ PromptUserToPlaySlots: jp CloseTextDisplay PlaySlotMachineText: - TX_FAR _PlaySlotMachineText - db "@" + text_far _PlaySlotMachineText + text_end MainSlotMachineLoop: call SlotMachine_PrintCreditCoins @@ -152,24 +152,24 @@ CoinMultiplierSlotMachineText: next "×1@" OutOfCoinsSlotMachineText: - TX_FAR _OutOfCoinsSlotMachineText - db "@" + text_far _OutOfCoinsSlotMachineText + text_end BetHowManySlotMachineText: - TX_FAR _BetHowManySlotMachineText - db "@" + text_far _BetHowManySlotMachineText + text_end StartSlotMachineText: - TX_FAR _StartSlotMachineText - db "@" + text_far _StartSlotMachineText + text_end NotEnoughCoinsSlotMachineText: - TX_FAR _NotEnoughCoinsSlotMachineText - db "@" + text_far _NotEnoughCoinsSlotMachineText + text_end OneMoreGoSlotMachineText: - TX_FAR _OneMoreGoSlotMachineText - db "@" + text_far _OneMoreGoSlotMachineText + text_end SlotMachine_SetFlags: ld hl, wSlotMachineFlags @@ -476,7 +476,7 @@ SlotMachine_CheckForMatches: jp .done SymbolLinedUpSlotMachineText: - TX_ASM + text_asm push bc call SlotMachine_PrintWinningSymbol ld hl, LinedUpText @@ -488,8 +488,8 @@ SymbolLinedUpSlotMachineText: ret LinedUpText: - TX_FAR _LinedUpText - db "@" + text_far _LinedUpText + text_end SlotRewardPointers: dw SlotReward300Func @@ -518,8 +518,8 @@ SlotReward15Text: db "15@" NotThisTimeText: - TX_FAR _NotThisTimeText - db "@" + text_far _NotThisTimeText + text_end ; compares the slot machine tiles at bc, de, and hl SlotMachine_CheckForMatch: @@ -609,9 +609,9 @@ SlotReward300Func: ret YeahText: - TX_FAR _YeahText - TX_DELAY - db "@" + text_far _YeahText + text_pause + text_end SlotMachine_PrintWinningSymbol: ; prints winning symbol and down arrow in text box diff --git a/home.asm b/home.asm index 19101c9a..811c544f 100644 --- a/home.asm +++ b/home.asm @@ -175,7 +175,7 @@ FadeOutAudio:: ld [wNewSoundID], a jp PlaySound -INCLUDE "home/predef_text.asm" +INCLUDE "home/text_script.asm" INCLUDE "home/start_menu.asm" ; function to count how many bits are set in a string of bytes @@ -456,19 +456,19 @@ DecodeArrowMovementRLE:: inc hl jr DecodeArrowMovementRLE -FuncTX_ItemStoragePC:: +TextScript_ItemStoragePC:: call SaveScreenTilesToBuffer2 ld b, BANK(PlayerPC) ld hl, PlayerPC jr bankswitchAndContinue -FuncTX_BillsPC:: +TextScript_BillsPC:: call SaveScreenTilesToBuffer2 ld b, BANK(BillsPC_) ld hl, BillsPC_ jr bankswitchAndContinue -FuncTX_GameCornerPrizeMenu:: +TextScript_GameCornerPrizeMenu:: ; XXX find a better name for this function ; special_F7 ld b, BANK(CeladonPrizeMenu) @@ -477,7 +477,7 @@ bankswitchAndContinue:: call Bankswitch jp HoldTextDisplayOpen ; continue to main text-engine function -FuncTX_PokemonCenterPC:: +TextScript_PokemonCenterPC:: ld b, BANK(ActivatePC) ld hl, ActivatePC jr bankswitchAndContinue diff --git a/home/overworld.asm b/home/overworld.asm index 79e4ea97..c16c121c 100644 --- a/home/overworld.asm +++ b/home/overworld.asm @@ -75,8 +75,8 @@ OverworldLoopLessDelay:: bit 3, a ; start button jr z, .startButtonNotPressed ; if START is pressed - xor a - ld [hSpriteIndexOrTextID], a ; start menu text ID + xor a ; TEXT_START_MENU + ld [hSpriteIndexOrTextID], a jp .displayDialogue .startButtonNotPressed bit 0, a ; A button diff --git a/home/overworld_text.asm b/home/overworld_text.asm index b32335f7..7ea23fe4 100644 --- a/home/overworld_text.asm +++ b/home/overworld_text.asm @@ -1,31 +1,31 @@ -TextScriptEndingChar:: - db "@" +TextScriptEndingText:: + text_end TextScriptEnd:: - ld hl, TextScriptEndingChar + ld hl, TextScriptEndingText ret ExclamationText:: - TX_FAR _ExclamationText - db "@" + text_far _ExclamationText + text_end GroundRoseText:: - TX_FAR _GroundRoseText - db "@" + text_far _GroundRoseText + text_end BoulderText:: - TX_FAR _BoulderText - db "@" + text_far _BoulderText + text_end MartSignText:: - TX_FAR _MartSignText - db "@" + text_far _MartSignText + text_end PokeCenterSignText:: - TX_FAR _PokeCenterSignText - db "@" + text_far _PokeCenterSignText + text_end PickUpItemText:: - TX_ASM + text_asm predef PickUpItem jp TextScriptEnd diff --git a/home/pokemon.asm b/home/pokemon.asm index 141baa65..539632d4 100644 --- a/home/pokemon.asm +++ b/home/pokemon.asm @@ -342,7 +342,7 @@ PrintStatusConditionNotFainted:: ; hl = destination address ; [wLoadedMonLevel] = level PrintLevel:: - ld a, $6e ; ":L" tile ID + ld a, "" ; ":L" tile ID ld [hli], a ld c, 2 ; number of digits ld a, [wLoadedMonLevel] ; level @@ -358,7 +358,7 @@ PrintLevel:: ; hl = destination address ; [wLoadedMonLevel] = level PrintLevelFull:: - ld a, $6e ; ":L" tile ID + ld a, "" ; ":L" tile ID ld [hli], a ld c, 3 ; number of digits ld a, [wLoadedMonLevel] ; level diff --git a/home/predef_text.asm b/home/predef_text.asm deleted file mode 100644 index 059e23ab..00000000 --- a/home/predef_text.asm +++ /dev/null @@ -1,237 +0,0 @@ -; this function is used to display sign messages, sprite dialog, etc. -; INPUT: [hSpriteIndexOrTextID] = sprite ID or text ID -DisplayTextID:: - ld a, [hLoadedROMBank] - push af - callba DisplayTextIDInit ; initialization - ld hl, wTextPredefFlag - bit 0, [hl] - res 0, [hl] - jr nz, .skipSwitchToMapBank - ld a, [wCurMap] - call SwitchToMapRomBank -.skipSwitchToMapBank - ld a, 30 ; half a second - ld [hFrameCounter], a ; used as joypad poll timer - ld hl, wMapTextPtr - ld a, [hli] - ld h, [hl] - ld l, a ; hl = map text pointer - ld d, $00 - ld a, [hSpriteIndexOrTextID] ; text ID - ld [wSpriteIndex], a - and a - jp z, DisplayStartMenu - cp TEXT_SAFARI_GAME_OVER - jp z, DisplaySafariGameOverText - cp TEXT_MON_FAINTED - jp z, DisplayPokemonFaintedText - cp TEXT_BLACKED_OUT - jp z, DisplayPlayerBlackedOutText - cp TEXT_REPEL_WORE_OFF - jp z, DisplayRepelWoreOffText - ld a, [wNumSprites] - ld e, a - ld a, [hSpriteIndexOrTextID] ; sprite ID - cp e - jr z, .spriteHandling - jr nc, .skipSpriteHandling -.spriteHandling -; get the text ID of the sprite - push hl - push de - push bc - callba UpdateSpriteFacingOffsetAndDelayMovement ; update the graphics of the sprite the player is talking to (to face the right direction) - pop bc - pop de - ld hl, wMapSpriteData ; NPC text entries - ld a, [hSpriteIndexOrTextID] - dec a - add a - add l - ld l, a - jr nc, .noCarry - inc h -.noCarry - inc hl - ld a, [hl] ; a = text ID of the sprite - pop hl -.skipSpriteHandling -; look up the address of the text in the map's text entries - dec a - ld e, a - sla e - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a ; hl = address of the text - ld a, [hl] ; a = first byte of text -; check first byte of text for special cases - cp $fe ; Pokemart NPC - jp z, DisplayPokemartDialogue - cp $ff ; Pokemon Center NPC - jp z, DisplayPokemonCenterDialogue - cp $fc ; Item Storage PC - jp z, FuncTX_ItemStoragePC - cp $fd ; Bill's PC - jp z, FuncTX_BillsPC - cp $f9 ; Pokemon Center PC - jp z, FuncTX_PokemonCenterPC - cp $f5 ; Vending Machine - jr nz, .notVendingMachine - callba VendingMachineMenu ; jump banks to vending machine routine - jr AfterDisplayingTextID -.notVendingMachine - cp $f7 ; prize menu - jp z, FuncTX_GameCornerPrizeMenu - cp $f6 ; cable connection NPC in Pokemon Center - jr nz, .notSpecialCase - callab CableClubNPC - jr AfterDisplayingTextID -.notSpecialCase - call PrintText_NoCreatingTextBox ; display the text - ld a, [wDoNotWaitForButtonPressAfterDisplayingText] - and a - jr nz, HoldTextDisplayOpen - -AfterDisplayingTextID:: - ld a, [wEnteringCableClub] - and a - jr nz, HoldTextDisplayOpen - call WaitForTextScrollButtonPress ; wait for a button press after displaying all the text - -; loop to hold the dialogue box open as long as the player keeps holding down the A button -HoldTextDisplayOpen:: - call Joypad - ld a, [hJoyHeld] - bit 0, a ; is the A button being pressed? - jr nz, HoldTextDisplayOpen - -CloseTextDisplay:: - ld a, [wCurMap] - call SwitchToMapRomBank - ld a, $90 - ld [hWY], a ; move the window off the screen - call DelayFrame - call LoadGBPal - xor a - ld [hAutoBGTransferEnabled], a ; disable continuous WRAM to VRAM transfer each V-blank -; loop to make sprites face the directions they originally faced before the dialogue - ld hl, wSpriteStateData2 + $19 - ld c, $0f - ld de, $10 -.restoreSpriteFacingDirectionLoop - ld a, [hl] - dec h - ld [hl], a - inc h - add hl, de - dec c - jr nz, .restoreSpriteFacingDirectionLoop - ld a, BANK(InitMapSprites) - ld [hLoadedROMBank], a - ld [MBC1RomBank], a - call InitMapSprites ; reload sprite tile pattern data (since it was partially overwritten by text tile patterns) - ld hl, wFontLoaded - res 0, [hl] - ld a, [wd732] - bit 3, a ; used fly warp - call z, LoadPlayerSpriteGraphics - call LoadCurrentMapView - pop af - ld [hLoadedROMBank], a - ld [MBC1RomBank], a - jp UpdateSprites - -DisplayPokemartDialogue:: - push hl - ld hl, PokemartGreetingText - call PrintText - pop hl - inc hl - call LoadItemList - ld a, PRICEDITEMLISTMENU - ld [wListMenuID], a - ld a, [hLoadedROMBank] - push af - ld a, BANK(DisplayPokemartDialogue_) - ld [hLoadedROMBank], a - ld [MBC1RomBank], a - call DisplayPokemartDialogue_ - pop af - ld [hLoadedROMBank], a - ld [MBC1RomBank], a - jp AfterDisplayingTextID - -PokemartGreetingText:: - TX_FAR _PokemartGreetingText - db "@" - -LoadItemList:: - ld a, 1 - ld [wUpdateSpritesEnabled], a - ld a, h - ld [wItemListPointer], a - ld a, l - ld [wItemListPointer + 1], a - ld de, wItemList -.loop - ld a, [hli] - ld [de], a - inc de - cp $ff - jr nz, .loop - ret - -DisplayPokemonCenterDialogue:: -; zeroing these doesn't appear to serve any purpose - xor a - ld [hItemPrice], a - ld [hItemPrice + 1], a - ld [hItemPrice + 2], a - - inc hl - ld a, [hLoadedROMBank] - push af - ld a, BANK(DisplayPokemonCenterDialogue_) - ld [hLoadedROMBank], a - ld [MBC1RomBank], a - call DisplayPokemonCenterDialogue_ - pop af - ld [hLoadedROMBank], a - ld [MBC1RomBank], a - jp AfterDisplayingTextID - -DisplaySafariGameOverText:: - callab PrintSafariGameOverText - jp AfterDisplayingTextID - -DisplayPokemonFaintedText:: - ld hl, PokemonFaintedText - call PrintText - jp AfterDisplayingTextID - -PokemonFaintedText:: - TX_FAR _PokemonFaintedText - db "@" - -DisplayPlayerBlackedOutText:: - ld hl, PlayerBlackedOutText - call PrintText - ld a, [wd732] - res 5, a ; reset forced to use bike bit - ld [wd732], a - jp HoldTextDisplayOpen - -PlayerBlackedOutText:: - TX_FAR _PlayerBlackedOutText - db "@" - -DisplayRepelWoreOffText:: - ld hl, RepelWoreOffText - call PrintText - jp AfterDisplayingTextID - -RepelWoreOffText:: - TX_FAR _RepelWoreOffText - db "@" diff --git a/home/text.asm b/home/text.asm index 0d2ed0a2..d0fc8042 100644 --- a/home/text.asm +++ b/home/text.asm @@ -5,9 +5,9 @@ TextBoxBorder:: push hl ld a, "┌" ld [hli], a - inc a ; ─ - call NPlaceChar - inc a ; ┐ + inc a ; "─" + call .PlaceChars + inc a ; "┐" ld [hl], a pop hl @@ -20,7 +20,7 @@ TextBoxBorder:: ld a, "│" ld [hli], a ld a, " " - call NPlaceChar + call .PlaceChars ld [hl], "│" pop hl @@ -33,11 +33,11 @@ TextBoxBorder:: ld a, "└" ld [hli], a ld a, "─" - call NPlaceChar + call .PlaceChars ld [hl], "┘" ret -NPlaceChar:: +.PlaceChars:: ; Place char a c times. ld d, c .loop @@ -48,19 +48,19 @@ NPlaceChar:: PlaceString:: push hl + PlaceNextChar:: ld a, [de] - cp "@" - jr nz, Char4ETest + jr nz, .NotTerminator ld b, h ld c, l pop hl ret -Char4ETest:: - cp $4E ; next - jr nz, .char4FTest +.NotTerminator + cp "" + jr nz, .NotNext ld bc, 2 * SCREEN_WIDTH ld a, [hFlagsFFF6] bit 2, a @@ -70,142 +70,101 @@ Char4ETest:: pop hl add hl, bc push hl - jp PlaceNextChar_inc + jp NextChar -.char4FTest - cp $4F ; line - jr nz, .next3 +.NotNext + cp "" + jr nz, .NotLine pop hl coord hl, 1, 16 push hl - jp PlaceNextChar_inc - -.next3 ; Check against a dictionary -dict: macro -if \1 == 0 - and a -else - cp \1 -endc - jp z, \2 -endm - - dict $00, Char00 ; error - dict $4C, Char4C ; autocont - dict $4B, Char4B ; cont_ - dict $51, Char51 ; para - dict $49, Char49 ; page - dict $52, Char52 ; player - dict $53, Char53 ; rival - dict $54, Char54 ; POKé - dict $5B, Char5B ; PC - dict $5E, Char5E ; ROCKET - dict $5C, Char5C ; TM - dict $5D, Char5D ; TRAINER - dict $55, Char55 ; cont - dict $56, Char56 ; 6 dots - dict $57, Char57 ; done - dict $58, Char58 ; prompt - dict $4A, Char4A ; PKMN - dict $5F, Char5F ; dex - dict $59, Char59 ; TARGET - dict $5A, Char5A ; USER + jp NextChar + +.NotLine + +; Check against a dictionary + dict "", NullChar + dict "", _ContTextNoPause + dict "<_CONT>", _ContText + dict "", Paragraph + dict "", PageChar + dict "", PrintPlayerName + dict "", PrintRivalName + dict "#", PlacePOKe + dict "", PCChar + dict "", RocketChar + dict "", TMChar + dict "", TrainerChar + dict "", ContText + dict "<……>", SixDotsChar + dict "", DoneText + dict "", PromptText + dict "", PlacePKMN + dict "", PlaceDexEnd + dict "", PlaceMoveTargetsName + dict "", PlaceMoveUsersName ld [hli], a call PrintLetterDelay -PlaceNextChar_inc:: + +NextChar:: inc de jp PlaceNextChar -Char00:: +NullChar:: ld b, h ld c, l pop hl - ld de, Char00Text + ld de, TextIDErrorText dec de ret -Char00Text:: ; “%d ERROR.” - TX_FAR _Char00Text - db "@" - -Char52:: ; player’s name - push de - ld de, wPlayerName - jr FinishDTE - -Char53:: ; rival’s name - push de - ld de, wRivalName - jr FinishDTE - -Char5D:: ; TRAINER - push de - ld de, Char5DText - jr FinishDTE - -Char5C:: ; TM - push de - ld de, Char5CText - jr FinishDTE - -Char5B:: ; PC - push de - ld de, Char5BText - jr FinishDTE - -Char5E:: ; ROCKET - push de - ld de, Char5EText - jr FinishDTE - -Char54:: ; POKé - push de - ld de, Char54Text - jr FinishDTE +TextIDErrorText:: ; "[hSpriteIndexOrTextID] ERROR." + text_far _TextIDErrorText + text_end -Char56:: ; …… +print_name: MACRO push de - ld de, Char56Text - jr FinishDTE - -Char4A:: ; PKMN - push de - ld de, Char4AText - jr FinishDTE - -Char59:: -; depending on whose turn it is, print -; enemy active monster’s name, prefixed with “Enemy ” -; or -; player active monster’s name -; (like Char5A but flipped) + ld de, \1 + jr PlaceCommandCharacter +ENDM + +PrintPlayerName:: print_name wPlayerName +PrintRivalName:: print_name wRivalName + +TrainerChar:: print_name TrainerCharText +TMChar:: print_name TMCharText +PCChar:: print_name PCCharText +RocketChar:: print_name RocketCharText +PlacePOKe:: print_name PlacePOKeText +SixDotsChar:: print_name SixDotsCharText +PlacePKMN:: print_name PlacePKMNText + +PlaceMoveTargetsName:: ld a, [hWhoseTurn] xor 1 - jr MonsterNameCharsCommon + jr PlaceMoveUsersName.place -Char5A:: -; depending on whose turn it is, print -; player active monster’s name -; or -; enemy active monster’s name, prefixed with “Enemy ” +PlaceMoveUsersName:: ld a, [hWhoseTurn] -MonsterNameCharsCommon:: + +.place: push de and a - jr nz, .Enemy - ld de, wBattleMonNick ; player active monster name - jr FinishDTE + jr nz, .enemy -.Enemy - ; print “Enemy ” - ld de, Char5AText + ld de, wBattleMonNick + jr PlaceCommandCharacter + +.enemy + ld de, EnemyText call PlaceString ld h, b ld l, c - ld de, wEnemyMonNick ; enemy active monster name + ld de, wEnemyMonNick + ; fallthrough -FinishDTE:: +PlaceCommandCharacter:: call PlaceString ld h, b ld l, c @@ -213,28 +172,20 @@ FinishDTE:: inc de jp PlaceNextChar -Char5CText:: - db "TM@" -Char5DText:: - db "TRAINER@" -Char5BText:: - db "PC@" -Char5EText:: - db "ROCKET@" -Char54Text:: - db "POKé@" -Char56Text:: - db "……@" -Char5AText:: - db "Enemy @" -Char4AText:: - db $E1,$E2,"@" ; PKMN - -Char55:: +TMCharText:: db "TM@" +TrainerCharText:: db "TRAINER@" +PCCharText:: db "PC@" +RocketCharText:: db "ROCKET@" +PlacePOKeText:: db "POKé@" +SixDotsCharText:: db "……@" +EnemyText:: db "Enemy @" +PlacePKMNText:: db "@" + +ContText:: push de ld b, h ld c, l - ld hl, Char55Text + ld hl, ContCharText call TextCommandProcessor ld h, b ld l, c @@ -242,18 +193,16 @@ Char55:: inc de jp PlaceNextChar -Char55Text:: -; equivalent to Char4B - TX_FAR _Char55Text - db "@" +ContCharText:: + text_far _ContCharText + text_end -Char5F:: -; ends a Pokédex entry +PlaceDexEnd:: ld [hl], "." pop hl ret -Char58:: ; prompt +PromptText:: ld a, [wLinkState] cp LINK_STATE_BATTLING jp z, .ok @@ -264,16 +213,17 @@ Char58:: ; prompt call ManualTextScroll ld a, " " Coorda 18, 16 -Char57:: ; done + +DoneText:: pop hl - ld de, Char58Text + ld de, .stop dec de ret -Char58Text:: - db "@" +.stop: + text_end -Char51:: ; para +Paragraph:: push de ld a, "▼" Coorda 18, 16 @@ -286,9 +236,9 @@ Char51:: ; para call DelayFrames pop de coord hl, 1, 14 - jp PlaceNextChar_inc + jp NextChar -Char49:: +PageChar:: push de ld a, "▼" Coorda 18, 16 @@ -303,9 +253,9 @@ Char49:: pop hl coord hl, 1, 11 push hl - jp PlaceNextChar_inc + jp NextChar -Char4B:: +_ContText:: ld a, "▼" Coorda 18, 16 call ProtectedDelay3 @@ -314,14 +264,13 @@ Char4B:: pop de ld a, " " Coorda 18, 16 - ;fall through -Char4C:: +_ContTextNoPause:: push de call ScrollTextUpOneLine call ScrollTextUpOneLine coord hl, 1, 16 pop de - jp PlaceNextChar_inc + jp NextChar ; move both rows of text in the normal text box up one row ; always called twice in a row @@ -345,7 +294,6 @@ ScrollTextUpOneLine:: dec b jr nz, .clearText - ; wait five frames ld b, 5 .WaitFrame call DelayFrame @@ -375,18 +323,18 @@ TextCommandProcessor:: NextTextCommand:: ld a, [hli] - cp "@" ; terminator - jr nz, .doTextCommand + cp TX_END + jr nz, .TextCommand pop af ld [wLetterPrintingDelayFlags], a ret -.doTextCommand + +.TextCommand: push hl - cp $17 - jp z, TextCommand17 - cp $0e - jp nc, TextCommand0B ; if a != 0x17 and a >= 0xE, go to command 0xB -; if a < 0xE, use a jump table + cp TX_FAR + jp z, TextCommand_FAR + cp TX_SOUND_POKEDEX_RATING + jp nc, TextCommand_SOUND ld hl, TextCommandJumpTable push bc add a @@ -399,12 +347,8 @@ NextTextCommand:: ld l, a jp hl -; draw box -; 04AAAABBCC -; AAAA = address of upper left corner -; BB = height -; CC = width -TextCommand04:: +TextCommand_BOX:: +; draw a box (height, width) pop hl ld a, [hli] ld e, a @@ -421,9 +365,8 @@ TextCommand04:: pop hl jr NextTextCommand -; place string inline -; 00{string} -TextCommand00:: +TextCommand_START:: +; write text until "@" pop hl ld d, h ld e, l @@ -435,10 +378,8 @@ TextCommand00:: inc hl jr NextTextCommand -; place string from RAM -; 01AAAA -; AAAA = address of string -TextCommand01:: +TextCommand_RAM:: +; write text from a ram address (little endian) pop hl ld a, [hli] ld e, a @@ -451,13 +392,8 @@ TextCommand01:: pop hl jr NextTextCommand -; print BCD number -; 02AAAABB -; AAAA = address of BCD number -; BB -; bits 0-4 = length in bytes -; bits 5-7 = unknown flags -TextCommand02:: +TextCommand_BCD:: +; write bcd from address, typically ram pop hl ld a, [hli] ld e, a @@ -474,10 +410,8 @@ TextCommand02:: pop hl jr NextTextCommand -; repoint destination address -; 03AAAA -; AAAA = new destination address -TextCommand03:: +TextCommand_MOVE:: +; move to a new tile pop hl ld a, [hli] ld [wTextDest], a @@ -487,21 +421,17 @@ TextCommand03:: ld b, a jp NextTextCommand -; repoint destination to second line of dialogue text box -; 05 -; (no arguments) -TextCommand05:: +TextCommand_LOW:: +; write text at (1,16) pop hl - coord bc, 1, 16 ; address of second line of dialogue text box + coord bc, 1, 16 ; second line of dialogue text box jp NextTextCommand -; blink arrow and wait for A or B to be pressed -; 06 -; (no arguments) -TextCommand06:: +TextCommand_PROMPT_BUTTON:: +; wait for button press; show arrow ld a, [wLinkState] cp LINK_STATE_BATTLING - jp z, TextCommand0D + jp z, TextCommand_LINK_PROMPT_BUTTON ld a, "▼" Coorda 18, 16 ; place down arrow in lower right corner of dialogue text box push bc @@ -512,33 +442,26 @@ TextCommand06:: pop hl jp NextTextCommand -; scroll text up one line -; 07 -; (no arguments) -TextCommand07:: +TextCommand_SCROLL:: +; pushes text up two lines and sets the BC cursor to the border tile +; below the first character column of the text box. ld a, " " Coorda 18, 16 ; place blank space in lower right corner of dialogue text box call ScrollTextUpOneLine call ScrollTextUpOneLine pop hl - coord bc, 1, 16 ; address of second line of dialogue text box + coord bc, 1, 16 ; second line of dialogue text box jp NextTextCommand -; execute asm inline -; 08{code} -TextCommand08:: +TextCommand_START_ASM:: +; run assembly code pop hl ld de, NextTextCommand - push de ; return address + push de jp hl -; print decimal number (converted from binary number) -; 09AAAABB -; AAAA = address of number -; BB -; bits 0-3 = how many digits to display -; bits 4-7 = how long the number is in bytes -TextCommand09:: +TextCommand_NUM:: +; print a number pop hl ld a, [hli] ld e, a @@ -554,7 +477,7 @@ TextCommand09:: ld a, b and $f0 swap a - set BIT_LEFT_ALIGN,a + set BIT_LEFT_ALIGN, a ld b, a call PrintNumber ld b, h @@ -562,45 +485,42 @@ TextCommand09:: pop hl jp NextTextCommand -; wait half a second if the user doesn't hold A or B -; 0A -; (no arguments) -TextCommand0A:: +TextCommand_PAUSE:: +; wait for button press or 30 frames push bc call Joypad ld a, [hJoyHeld] and A_BUTTON | B_BUTTON - jr nz, .skipDelay - ld c, 30 + jr nz, .done + ld c, 30 ; half a second call DelayFrames -.skipDelay +.done pop bc pop hl jp NextTextCommand -; plays sounds -; this actually handles various command ID's, not just 0B -; (no arguments) -TextCommand0B:: +TextCommand_SOUND:: +; play a sound effect from TextCommandSounds pop hl push bc dec hl ld a, [hli] - ld b, a ; b = command number that got us here + ld b, a ; b = text command number that got us here push hl ld hl, TextCommandSounds .loop ld a, [hli] cp b - jr z, .matchFound + jr z, .play inc hl jr .loop -.matchFound - cp $14 + +.play + cp TX_SOUND_CRY_NIDORINA jr z, .pokemonCry - cp $15 + cp TX_SOUND_CRY_PIDGEOT jr z, .pokemonCry - cp $16 + cp TX_SOUND_CRY_DEWGONG jr z, .pokemonCry ld a, [hl] call PlaySound @@ -608,6 +528,7 @@ TextCommand0B:: pop hl pop bc jp NextTextCommand + .pokemonCry push de ld a, [hl] @@ -617,29 +538,27 @@ TextCommand0B:: pop bc jp NextTextCommand -; format: text command ID, sound ID or cry ID TextCommandSounds:: - db $0B, SFX_GET_ITEM_1 ; actually plays SFX_LEVEL_UP when the battle music engine is loaded - db $12, SFX_CAUGHT_MON - db $0E, SFX_POKEDEX_RATING ; unused? - db $0F, SFX_GET_ITEM_1 ; unused? - db $10, SFX_GET_ITEM_2 - db $11, SFX_GET_KEY_ITEM - db $13, SFX_DEX_PAGE_ADDED - db $14, NIDORINA ; used in OakSpeech - db $15, PIDGEOT ; used in SaffronCityText12 - db $16, DEWGONG ; unused? - -; draw ellipses -; 0CAA -; AA = number of ellipses to draw -TextCommand0C:: + db TX_SOUND_GET_ITEM_1, SFX_GET_ITEM_1 ; actually plays SFX_LEVEL_UP when the battle music engine is loaded + db TX_SOUND_CAUGHT_MON, SFX_CAUGHT_MON + db TX_SOUND_POKEDEX_RATING, SFX_POKEDEX_RATING ; unused + db TX_SOUND_GET_ITEM_1_DUPLICATE, SFX_GET_ITEM_1 ; unused + db TX_SOUND_GET_ITEM_2, SFX_GET_ITEM_2 + db TX_SOUND_GET_KEY_ITEM, SFX_GET_KEY_ITEM + db TX_SOUND_DEX_PAGE_ADDED, SFX_DEX_PAGE_ADDED + db TX_SOUND_CRY_NIDORINA, NIDORINA ; used in OakSpeech + db TX_SOUND_CRY_PIDGEOT, PIDGEOT ; used in SaffronCityText12 + db TX_SOUND_CRY_DEWGONG, DEWGONG ; unused + +TextCommand_DOTS:: +; wait for button press or 30 frames while printing "…"s pop hl ld a, [hli] ld d, a push hl ld h, b ld l, c + .loop ld a, "…" ld [hli], a @@ -648,64 +567,66 @@ TextCommand0C:: pop de ld a, [hJoyHeld] ; joypad state and A_BUTTON | B_BUTTON - jr nz, .skipDelay ; if so, skip the delay + jr nz, .next ; if so, skip the delay ld c, 10 call DelayFrames -.skipDelay +.next dec d jr nz, .loop + ld b, h ld c, l pop hl jp NextTextCommand -; wait for A or B to be pressed -; 0D -; (no arguments) -TextCommand0D:: +TextCommand_LINK_PROMPT_BUTTON:: +; wait for button press; display arrow push bc - call ManualTextScroll ; wait for A or B to be pressed + call ManualTextScroll pop bc pop hl jp NextTextCommand -; process text commands in another ROM bank -; 17AAAABB -; AAAA = address of text commands -; BB = bank -TextCommand17:: +TextCommand_FAR:: +; write text from a different bank (little endian) pop hl ld a, [hLoadedROMBank] push af + ld a, [hli] ld e, a ld a, [hli] ld d, a ld a, [hli] + ld [hLoadedROMBank], a ld [MBC1RomBank], a + push hl ld l, e ld h, d call TextCommandProcessor pop hl + pop af ld [hLoadedROMBank], a ld [MBC1RomBank], a jp NextTextCommand TextCommandJumpTable:: - dw TextCommand00 - dw TextCommand01 - dw TextCommand02 - dw TextCommand03 - dw TextCommand04 - dw TextCommand05 - dw TextCommand06 - dw TextCommand07 - dw TextCommand08 - dw TextCommand09 - dw TextCommand0A - dw TextCommand0B - dw TextCommand0C - dw TextCommand0D +; entries correspond to TX_* constants (see macros/scripts/text.asm) + dw TextCommand_START ; TX_START + dw TextCommand_RAM ; TX_RAM + dw TextCommand_BCD ; TX_BCD + dw TextCommand_MOVE ; TX_MOVE + dw TextCommand_BOX ; TX_BOX + dw TextCommand_LOW ; TX_LOW + dw TextCommand_PROMPT_BUTTON ; TX_PROMPT_BUTTON + dw TextCommand_SCROLL ; TX_SCROLL + dw TextCommand_START_ASM ; TX_START_ASM + dw TextCommand_NUM ; TX_NUM + dw TextCommand_PAUSE ; TX_PAUSE + dw TextCommand_SOUND ; TX_SOUND_GET_ITEM_1 (also handles other TX_SOUND_* commands) + dw TextCommand_DOTS ; TX_DOTS + dw TextCommand_LINK_PROMPT_BUTTON ; TX_LINK_PROMPT_BUTTON + ; greater TX_* constants are handled directly by NextTextCommand diff --git a/home/text_script.asm b/home/text_script.asm new file mode 100644 index 00000000..8bfe0927 --- /dev/null +++ b/home/text_script.asm @@ -0,0 +1,231 @@ +; this function is used to display sign messages, sprite dialog, etc. +; INPUT: [hSpriteIndexOrTextID] = sprite ID or text ID +DisplayTextID:: + ld a, [hLoadedROMBank] + push af + callba DisplayTextIDInit ; initialization + ld hl, wTextPredefFlag + bit 0, [hl] + res 0, [hl] + jr nz, .skipSwitchToMapBank + ld a, [wCurMap] + call SwitchToMapRomBank +.skipSwitchToMapBank + ld a, 30 ; half a second + ld [hFrameCounter], a ; used as joypad poll timer + ld hl, wMapTextPtr + ld a, [hli] + ld h, [hl] + ld l, a ; hl = map text pointer + ld d, $00 + ld a, [hSpriteIndexOrTextID] ; text ID + ld [wSpriteIndex], a + + dict TEXT_START_MENU, DisplayStartMenu + dict TEXT_SAFARI_GAME_OVER, DisplaySafariGameOverText + dict TEXT_MON_FAINTED, DisplayPokemonFaintedText + dict TEXT_BLACKED_OUT, DisplayPlayerBlackedOutText + dict TEXT_REPEL_WORE_OFF, DisplayRepelWoreOffText + + ld a, [wNumSprites] + ld e, a + ld a, [hSpriteIndexOrTextID] ; sprite ID + cp e + jr z, .spriteHandling + jr nc, .skipSpriteHandling +.spriteHandling +; get the text ID of the sprite + push hl + push de + push bc + callba UpdateSpriteFacingOffsetAndDelayMovement ; update the graphics of the sprite the player is talking to (to face the right direction) + pop bc + pop de + ld hl, wMapSpriteData ; NPC text entries + ld a, [hSpriteIndexOrTextID] + dec a + add a + add l + ld l, a + jr nc, .noCarry + inc h +.noCarry + inc hl + ld a, [hl] ; a = text ID of the sprite + pop hl +.skipSpriteHandling +; look up the address of the text in the map's text entries + dec a + ld e, a + sla e + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a ; hl = address of the text + ld a, [hl] ; a = first byte of text + +; check first byte of text for special cases + +dict2: MACRO + cp \1 + jr nz, .not\@ + \2 + jr AfterDisplayingTextID +.not\@ +ENDM + + dict TX_SCRIPT_MART, DisplayPokemartDialogue + dict TX_SCRIPT_POKECENTER_NURSE, DisplayPokemonCenterDialogue + dict TX_SCRIPT_PLAYERS_PC, TextScript_ItemStoragePC + dict TX_SCRIPT_BILLS_PC, TextScript_BillsPC + dict TX_SCRIPT_POKECENTER_PC, TextScript_PokemonCenterPC + dict2 TX_SCRIPT_VENDING_MACHINE, callba VendingMachineMenu + dict TX_SCRIPT_PRIZE_VENDOR, TextScript_GameCornerPrizeMenu + dict2 TX_SCRIPT_CABLE_CLUB_RECEPTIONIST, callab CableClubNPC + + call PrintText_NoCreatingTextBox ; display the text + ld a, [wDoNotWaitForButtonPressAfterDisplayingText] + and a + jr nz, HoldTextDisplayOpen + +AfterDisplayingTextID:: + ld a, [wEnteringCableClub] + and a + jr nz, HoldTextDisplayOpen + call WaitForTextScrollButtonPress ; wait for a button press after displaying all the text + +; loop to hold the dialogue box open as long as the player keeps holding down the A button +HoldTextDisplayOpen:: + call Joypad + ld a, [hJoyHeld] + bit 0, a ; is the A button being pressed? + jr nz, HoldTextDisplayOpen + +CloseTextDisplay:: + ld a, [wCurMap] + call SwitchToMapRomBank + ld a, $90 + ld [hWY], a ; move the window off the screen + call DelayFrame + call LoadGBPal + xor a + ld [hAutoBGTransferEnabled], a ; disable continuous WRAM to VRAM transfer each V-blank +; loop to make sprites face the directions they originally faced before the dialogue + ld hl, wSpriteStateData2 + $19 + ld c, $0f + ld de, $10 +.restoreSpriteFacingDirectionLoop + ld a, [hl] + dec h + ld [hl], a + inc h + add hl, de + dec c + jr nz, .restoreSpriteFacingDirectionLoop + ld a, BANK(InitMapSprites) + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + call InitMapSprites ; reload sprite tile pattern data (since it was partially overwritten by text tile patterns) + ld hl, wFontLoaded + res 0, [hl] + ld a, [wd732] + bit 3, a ; used fly warp + call z, LoadPlayerSpriteGraphics + call LoadCurrentMapView + pop af + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + jp UpdateSprites + +DisplayPokemartDialogue:: + push hl + ld hl, PokemartGreetingText + call PrintText + pop hl + inc hl + call LoadItemList + ld a, PRICEDITEMLISTMENU + ld [wListMenuID], a + ld a, [hLoadedROMBank] + push af + ld a, BANK(DisplayPokemartDialogue_) + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + call DisplayPokemartDialogue_ + pop af + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + jp AfterDisplayingTextID + +PokemartGreetingText:: + text_far _PokemartGreetingText + text_end + +LoadItemList:: + ld a, 1 + ld [wUpdateSpritesEnabled], a + ld a, h + ld [wItemListPointer], a + ld a, l + ld [wItemListPointer + 1], a + ld de, wItemList +.loop + ld a, [hli] + ld [de], a + inc de + cp $ff + jr nz, .loop + ret + +DisplayPokemonCenterDialogue:: +; zeroing these doesn't appear to serve any purpose + xor a + ld [hItemPrice], a + ld [hItemPrice + 1], a + ld [hItemPrice + 2], a + + inc hl + ld a, [hLoadedROMBank] + push af + ld a, BANK(DisplayPokemonCenterDialogue_) + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + call DisplayPokemonCenterDialogue_ + pop af + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + jp AfterDisplayingTextID + +DisplaySafariGameOverText:: + callab PrintSafariGameOverText + jp AfterDisplayingTextID + +DisplayPokemonFaintedText:: + ld hl, PokemonFaintedText + call PrintText + jp AfterDisplayingTextID + +PokemonFaintedText:: + text_far _PokemonFaintedText + text_end + +DisplayPlayerBlackedOutText:: + ld hl, PlayerBlackedOutText + call PrintText + ld a, [wd732] + res 5, a ; reset forced to use bike bit + ld [wd732], a + jp HoldTextDisplayOpen + +PlayerBlackedOutText:: + text_far _PlayerBlackedOutText + text_end + +DisplayRepelWoreOffText:: + ld hl, RepelWoreOffText + call PrintText + jp AfterDisplayingTextID + +RepelWoreOffText:: + text_far _RepelWoreOffText + text_end diff --git a/home/trainers.asm b/home/trainers.asm index 9c3519a2..22601db8 100644 --- a/home/trainers.asm +++ b/home/trainers.asm @@ -371,8 +371,8 @@ GetSavedEndBattleTextPointer:: ret TrainerEndBattleText:: - TX_FAR _TrainerNameText - TX_ASM + text_far _TrainerNameText + text_asm call GetSavedEndBattleTextPointer call TextCommandProcessor jp TextScriptEnd diff --git a/macros/code.asm b/macros/code.asm index 8b7d6184..72ce9caf 100755 --- a/macros/code.asm +++ b/macros/code.asm @@ -7,3 +7,14 @@ ENDM ldPal: MACRO ld \1, \2 << 6 | \3 << 4 | \4 << 2 | \5 ENDM + +; Design patterns + +dict: MACRO +if \1 == 0 + and a +else + cp \1 +endc + jp z, \2 +ENDM diff --git a/macros/scripts/text.asm b/macros/scripts/text.asm index 732a22d4..b1e1727b 100755 --- a/macros/scripts/text.asm +++ b/macros/scripts/text.asm @@ -1,78 +1,211 @@ -text EQUS "db $00," ; Start writing text. -next EQUS "db $4e," ; Move a line down. -line EQUS "db $4f," ; Start writing at the bottom line. -para EQUS "db $51," ; Start a new paragraph. -cont EQUS "db $55," ; Scroll to the next line. -done EQUS "db $57" ; End a text box. -prompt EQUS "db $58" ; Prompt the player to end a text box (initiating some other event). - -page EQUS "db $49," ; Start a new Pokedex page. -dex EQUS "db $5f, $50" ; End a Pokedex entry. - -TX_RAM: MACRO -; prints text to screen -; \1: RAM address to read from - db $1 - dw \1 -ENDM - -TX_BCD: MACRO -; \1: RAM address to read from -; \2: number of bytes + print flags - db $2 - dw \1 - db \2 -ENDM - -TX_LINE EQUS "db $05" -TX_BLINK EQUS "db $06" -;TX_SCROLL EQUS "db $07" -TX_ASM EQUS "db $08" - -TX_NUM: MACRO +text EQUS "db TX_START," ; Start writing text. +next EQUS "db \"\"," ; Move a line down. +line EQUS "db \"\"," ; Start writing at the bottom line. +para EQUS "db \"\"," ; Start a new paragraph. +cont EQUS "db \"\"," ; Scroll to the next line. +done EQUS "db \"\"" ; End a text box. +prompt EQUS "db \"\"" ; Prompt the player to end a text box (initiating some other event). + +page EQUS "db \"\"," ; Start a new Pokédex page. +dex EQUS "db \"\", \"@\"" ; End a Pokédex entry. + + +; TextCommandJumpTable indexes (see home/text.asm) + enum_start + + enum TX_START ; $00 +text_start: MACRO + db TX_START +ENDM + + enum TX_RAM ; $01 +text_ram: MACRO + db TX_RAM + dw \1 ; address to read from +ENDM + + enum TX_BCD ; $02 +text_bcd: MACRO + db TX_BCD + dw \1 ; address to read from + db \2 ; number of bytes + print flags +ENDM + + enum TX_MOVE ; $03 +text_move: MACRO + db TX_MOVE + dw \1 ; address of the new location +ENDM + + enum TX_BOX ; $04 +text_box: MACRO +; draw box + db TX_BOX + dw \1 ; address of upper left corner + db \2, \3 ; height, width +ENDM + + enum TX_LOW ; $05 +text_low: MACRO + db TX_LOW +ENDM + + enum TX_PROMPT_BUTTON ; $06 +text_promptbutton: MACRO + db TX_PROMPT_BUTTON +ENDM + + enum TX_SCROLL ; $07 +text_scroll: MACRO + db TX_SCROLL +ENDM + + enum TX_START_ASM ; $08 +text_asm: MACRO + db TX_START_ASM +ENDM + + enum TX_NUM ; $09 +text_decimal: MACRO ; print a big-endian decimal number. -; \1: address to read from -; \2: number of bytes to read -; \3: number of digits to display - db $09 - dw \1 - db \2 << 4 | \3 -ENDM - -TX_DELAY EQUS "db $0a" -TX_SFX_ITEM_1 EQUS "db $0b" -TX_SFX_LEVEL_UP EQUS "db $0b" -;TX_ELLIPSES EQUS "db $0c" -TX_WAIT EQUS "db $0d" -;TX_SFX_DEX_RATING EQUS "db $0e" -TX_SFX_ITEM_2 EQUS "db $10" -TX_SFX_KEY_ITEM EQUS "db $11" -TX_SFX_CAUGHT_MON EQUS "db $12" -TX_SFX_DEX_PAGE_ADDED EQUS "db $13" -TX_CRY_NIDORINA EQUS "db $14" -TX_CRY_PIDGEOT EQUS "db $15" -;TX_CRY_DEWGONG EQUS "db $16" - -TX_FAR: MACRO - db $17 - dw \1 - db BANK(\1) -ENDM - -TX_VENDING_MACHINE EQUS "db $f5" -TX_CABLE_CLUB_RECEPTIONIST EQUS "db $f6" -TX_PRIZE_VENDOR EQUS "db $f7" -TX_POKECENTER_PC EQUS "db $f9" -TX_PLAYERS_PC EQUS "db $fc" -TX_BILLS_PC EQUS "db $fd" - -TX_MART: MACRO - db $FE, _NARG - REPT _NARG - db \1 - SHIFT - ENDR - db $FF -ENDM - -TX_POKECENTER_NURSE EQUS "db $ff" + db TX_NUM + dw \1 ; address to read from + dn \2, \3 ; number of bytes to read, number of digits to display +ENDM + + enum TX_PAUSE ; $0a +text_pause: MACRO + db TX_PAUSE +ENDM + + enum TX_SOUND_GET_ITEM_1 ; $0b +sound_get_item_1: MACRO + db TX_SOUND_GET_ITEM_1 +ENDM + +TX_SOUND_LEVEL_UP EQU TX_SOUND_GET_ITEM_1 +sound_level_up EQUS "sound_get_item_1" + + enum TX_DOTS ; $0c +text_dots: MACRO + db TX_DOTS + db \1 ; number of ellipses to draw +ENDM + + enum TX_LINK_PROMPT_BUTTON ; $0d +text_linkpromptbutton: MACRO + db TX_LINK_PROMPT_BUTTON +ENDM + + enum TX_SOUND_POKEDEX_RATING ; $0e +sound_pokedex_rating: MACRO + db TX_SOUND_POKEDEX_RATING +ENDM + + enum TX_SOUND_GET_ITEM_1_DUPLICATE ; $0f +sound_get_item_1_duplicate: MACRO + db TX_SOUND_GET_ITEM_1_DUPLICATE +ENDM + + enum TX_SOUND_GET_ITEM_2 ; $10 +sound_get_item_2: MACRO + db TX_SOUND_GET_ITEM_2 +ENDM + + enum TX_SOUND_GET_KEY_ITEM ; $11 +sound_get_key_item: MACRO + db TX_SOUND_GET_KEY_ITEM +ENDM + + enum TX_SOUND_CAUGHT_MON ; $12 +sound_caught_mon: MACRO + db TX_SOUND_CAUGHT_MON +ENDM + + enum TX_SOUND_DEX_PAGE_ADDED ; $13 +sound_dex_page_added: MACRO + db TX_SOUND_DEX_PAGE_ADDED +ENDM + + enum TX_SOUND_CRY_NIDORINA ; $14 +sound_cry_nidorina: MACRO + db TX_SOUND_CRY_NIDORINA +ENDM + + enum TX_SOUND_CRY_PIDGEOT ; $15 +sound_cry_pidgeot: MACRO + db TX_SOUND_CRY_PIDGEOT +ENDM + + enum TX_SOUND_CRY_DEWGONG ; $16 +sound_cry_dewgong: MACRO + db TX_SOUND_CRY_DEWGONG +ENDM + + enum TX_FAR ; $17 +text_far: MACRO + db TX_FAR + dab \1 ; address of text commands +ENDM + + + enum_set $50 + + enum TX_END ; $50 +text_end: MACRO + db TX_END +ENDM + + +; Text script IDs (see home/text_script.asm) + enum_set $f5 + + enum TX_SCRIPT_VENDING_MACHINE ; $f5 +script_vending_machine: MACRO + db TX_SCRIPT_VENDING_MACHINE +ENDM + + enum TX_SCRIPT_CABLE_CLUB_RECEPTIONIST ; $f6 +script_cable_club_receptionist: MACRO + db TX_SCRIPT_CABLE_CLUB_RECEPTIONIST +ENDM + + enum TX_SCRIPT_PRIZE_VENDOR ; $f7 +script_prize_vendor: MACRO + db TX_SCRIPT_PRIZE_VENDOR +ENDM + + enum_set $f9 + + enum TX_SCRIPT_POKECENTER_PC ; $f9 +script_pokecenter_pc: MACRO + db TX_SCRIPT_POKECENTER_PC +ENDM + + enum_set $fc + + enum TX_SCRIPT_PLAYERS_PC ; $fc +script_players_pc: MACRO + db TX_SCRIPT_PLAYERS_PC +ENDM + + enum TX_SCRIPT_BILLS_PC ; $fd +script_bills_pc: MACRO + db TX_SCRIPT_BILLS_PC +ENDM + + enum TX_SCRIPT_MART ; $fe +script_mart: MACRO + db TX_SCRIPT_MART + db _NARG ; number of items +rept _NARG + db \1 ; item id + shift +endr + db -1 ; end +ENDM + + enum TX_SCRIPT_POKECENTER_NURSE ; $ff +script_pokecenter_nurse: MACRO + db TX_SCRIPT_POKECENTER_NURSE +ENDM diff --git a/scripts/AgathasRoom.asm b/scripts/AgathasRoom.asm index a1dba196..6d304de8 100755 --- a/scripts/AgathasRoom.asm +++ b/scripts/AgathasRoom.asm @@ -132,23 +132,23 @@ AgathaTrainerHeader0: db $ff AgathaText1: - TX_ASM + text_asm ld hl, AgathaTrainerHeader0 call TalkToTrainer jp TextScriptEnd AgathaBeforeBattleText: - TX_FAR _AgathaBeforeBattleText - db "@" + text_far _AgathaBeforeBattleText + text_end AgathaEndBattleText: - TX_FAR _AgathaEndBattleText - db "@" + text_far _AgathaEndBattleText + text_end AgathaAfterBattleText: - TX_FAR _AgathaAfterBattleText - db "@" + text_far _AgathaAfterBattleText + text_end AgathaDontRunAwayText: - TX_FAR _AgathaDontRunAwayText - db "@" + text_far _AgathaDontRunAwayText + text_end diff --git a/scripts/BikeShop.asm b/scripts/BikeShop.asm index 2661ca70..07e96c1b 100755 --- a/scripts/BikeShop.asm +++ b/scripts/BikeShop.asm @@ -7,7 +7,7 @@ BikeShop_TextPointers: dw BikeShopText3 BikeShopText1: - TX_ASM + text_asm CheckEvent EVENT_GOT_BICYCLE jr z, .asm_260d4 ld hl, BikeShopText_1d82f @@ -86,50 +86,50 @@ BikeShopMenuPrice: db "¥1000000@" BikeShopText_1d810: - TX_FAR _BikeShopText_1d810 - db "@" + text_far _BikeShopText_1d810 + text_end BikeShopText_1d815: - TX_FAR _BikeShopText_1d815 - db "@" + text_far _BikeShopText_1d815 + text_end BikeShopCantAffordText: - TX_FAR _BikeShopCantAffordText - db "@" + text_far _BikeShopCantAffordText + text_end BikeShopText_1d81f: - TX_FAR _BikeShopText_1d81f - db "@" + text_far _BikeShopText_1d81f + text_end BikeShopText_1d824: - TX_FAR _BikeShopText_1d824 - TX_SFX_KEY_ITEM - db "@" + text_far _BikeShopText_1d824 + sound_get_key_item + text_end BikeShopComeAgainText: - TX_FAR _BikeShopComeAgainText - db "@" + text_far _BikeShopComeAgainText + text_end BikeShopText_1d82f: - TX_FAR _BikeShopText_1d82f - db "@" + text_far _BikeShopText_1d82f + text_end BikeShopText_1d834: - TX_FAR _BikeShopText_1d834 - db "@" + text_far _BikeShopText_1d834 + text_end BikeShopText2: - TX_ASM + text_asm ld hl, BikeShopText_1d843 call PrintText jp TextScriptEnd BikeShopText_1d843: - TX_FAR _BikeShopText_1d843 - db "@" + text_far _BikeShopText_1d843 + text_end BikeShopText3: - TX_ASM + text_asm CheckEvent EVENT_GOT_BICYCLE ld hl, BikeShopText_1d861 jr nz, .asm_34d2d @@ -139,9 +139,9 @@ BikeShopText3: jp TextScriptEnd BikeShopText_1d85c: - TX_FAR _BikeShopText_1d85c - db "@" + text_far _BikeShopText_1d85c + text_end BikeShopText_1d861: - TX_FAR _BikeShopText_1d861 - db "@" + text_far _BikeShopText_1d861 + text_end diff --git a/scripts/BillsHouse.asm b/scripts/BillsHouse.asm index 395694a3..c1948ae4 100755 --- a/scripts/BillsHouse.asm +++ b/scripts/BillsHouse.asm @@ -122,10 +122,10 @@ BillsHouse_TextPointers: dw BillsHouseText4 BillsHouseText4: - TX_BILLS_PC + script_bills_pc BillsHouseText1: - TX_ASM + text_asm ld hl, BillsHouseText_1e865 call PrintText call YesNoChoice @@ -146,19 +146,19 @@ BillsHouseText1: jp TextScriptEnd BillsHouseText_1e865: - TX_FAR _BillsHouseText_1e865 - db "@" + text_far _BillsHouseText_1e865 + text_end BillsHouseText_1e86a: - TX_FAR _BillsHouseText_1e86a - db "@" + text_far _BillsHouseText_1e86a + text_end BillsHouseText_1e86f: - TX_FAR _BillsHouseText_1e86f - db "@" + text_far _BillsHouseText_1e86f + text_end BillsHouseText2: - TX_ASM + text_asm CheckEvent EVENT_GOT_SS_TICKET jr nz, .asm_1e8a9 ld hl, BillThankYouText @@ -186,29 +186,29 @@ BillsHouseText2: jp TextScriptEnd BillThankYouText: - TX_FAR _BillThankYouText - db "@" + text_far _BillThankYouText + text_end SSTicketReceivedText: - TX_FAR _SSTicketReceivedText - TX_SFX_KEY_ITEM - TX_BLINK - db "@" + text_far _SSTicketReceivedText + sound_get_key_item + text_promptbutton + text_end SSTicketNoRoomText: - TX_FAR _SSTicketNoRoomText - db "@" + text_far _SSTicketNoRoomText + text_end BillsHouseText_1e8cb: - TX_FAR _BillsHouseText_1e8cb - db "@" + text_far _BillsHouseText_1e8cb + text_end BillsHouseText3: - TX_ASM + text_asm ld hl, BillsHouseText_1e8da call PrintText jp TextScriptEnd BillsHouseText_1e8da: - TX_FAR _BillsHouseText_1e8da - db "@" + text_far _BillsHouseText_1e8da + text_end diff --git a/scripts/BluesHouse.asm b/scripts/BluesHouse.asm index f325049f..241d6f5a 100755 --- a/scripts/BluesHouse.asm +++ b/scripts/BluesHouse.asm @@ -25,7 +25,7 @@ BluesHouse_TextPointers: dw BluesHouseText3 BluesHouseText1: - TX_ASM + text_asm CheckEvent EVENT_GOT_TOWN_MAP jr nz, .GotMap CheckEvent EVENT_GOT_POKEDEX @@ -60,30 +60,30 @@ BluesHouseText1: jp TextScriptEnd DaisyInitialText: - TX_FAR _DaisyInitialText - db "@" + text_far _DaisyInitialText + text_end DaisyOfferMapText: - TX_FAR _DaisyOfferMapText - db "@" + text_far _DaisyOfferMapText + text_end GotMapText: - TX_FAR _GotMapText - TX_SFX_KEY_ITEM - db "@" + text_far _GotMapText + sound_get_key_item + text_end DaisyBagFullText: - TX_FAR _DaisyBagFullText - db "@" + text_far _DaisyBagFullText + text_end DaisyUseMapText: - TX_FAR _DaisyUseMapText - db "@" + text_far _DaisyUseMapText + text_end BluesHouseText2: ; Daisy, walking around - TX_FAR _BluesHouseText2 - db "@" + text_far _BluesHouseText2 + text_end BluesHouseText3: ; map on table - TX_FAR _BluesHouseText3 - db "@" + text_far _BluesHouseText3 + text_end diff --git a/scripts/BrunosRoom.asm b/scripts/BrunosRoom.asm index 3b6385b7..85cd86af 100755 --- a/scripts/BrunosRoom.asm +++ b/scripts/BrunosRoom.asm @@ -129,23 +129,23 @@ BrunoTrainerHeader0: db $ff BrunoText1: - TX_ASM + text_asm ld hl, BrunoTrainerHeader0 call TalkToTrainer jp TextScriptEnd BrunoBeforeBattleText: - TX_FAR _BrunoBeforeBattleText - db "@" + text_far _BrunoBeforeBattleText + text_end BrunoEndBattleText: - TX_FAR _BrunoEndBattleText - db "@" + text_far _BrunoEndBattleText + text_end BrunoAfterBattleText: - TX_FAR _BrunoAfterBattleText - db "@" + text_far _BrunoAfterBattleText + text_end BrunoDontRunAwayText: - TX_FAR _BrunoDontRunAwayText - db "@" + text_far _BrunoDontRunAwayText + text_end diff --git a/scripts/CeladonChiefHouse.asm b/scripts/CeladonChiefHouse.asm index fc37bd4d..ad604b98 100755 --- a/scripts/CeladonChiefHouse.asm +++ b/scripts/CeladonChiefHouse.asm @@ -8,13 +8,13 @@ CeladonChiefHouse_TextPointers: dw CeladonHouseText3 CeladonHouseText1: - TX_FAR _CeladonHouseText1 - db "@" + text_far _CeladonHouseText1 + text_end CeladonHouseText2: - TX_FAR _CeladonHouseText2 - db "@" + text_far _CeladonHouseText2 + text_end CeladonHouseText3: - TX_FAR _CeladonHouseText3 - db "@" + text_far _CeladonHouseText3 + text_end diff --git a/scripts/CeladonCity.asm b/scripts/CeladonCity.asm index e2d7d371..37569c0b 100755 --- a/scripts/CeladonCity.asm +++ b/scripts/CeladonCity.asm @@ -25,23 +25,23 @@ CeladonCity_TextPointers: dw CeladonCityText18 CeladonCityText1: - TX_FAR _CeladonCityText1 - db "@" + text_far _CeladonCityText1 + text_end CeladonCityText2: - TX_FAR _CeladonCityText2 - db "@" + text_far _CeladonCityText2 + text_end CeladonCityText3: - TX_FAR _CeladonCityText3 - db "@" + text_far _CeladonCityText3 + text_end CeladonCityText4: - TX_FAR _CeladonCityText4 - db "@" + text_far _CeladonCityText4 + text_end CeladonCityText5: - TX_ASM + text_asm CheckEvent EVENT_GOT_TM41 jr nz, .asm_7053f ld hl, TM41PreText @@ -64,69 +64,69 @@ CeladonCityText5: jp TextScriptEnd TM41PreText: - TX_FAR _TM41PreText - db "@" + text_far _TM41PreText + text_end ReceivedTM41Text: - TX_FAR _ReceivedTM41Text - TX_SFX_ITEM_1 - db "@" + text_far _ReceivedTM41Text + sound_get_item_1 + text_end TM41ExplanationText: - TX_FAR _TM41ExplanationText - db "@" + text_far _TM41ExplanationText + text_end TM41NoRoomText: - TX_FAR _TM41NoRoomText - db "@" + text_far _TM41NoRoomText + text_end CeladonCityText6: - TX_FAR _CeladonCityText6 - db "@" + text_far _CeladonCityText6 + text_end CeladonCityText7: - TX_FAR _CeladonCityText7 - TX_ASM + text_far _CeladonCityText7 + text_asm ld a, POLIWRATH call PlayCry jp TextScriptEnd CeladonCityText8: - TX_FAR _CeladonCityText8 - db "@" + text_far _CeladonCityText8 + text_end CeladonCityText9: - TX_FAR _CeladonCityText9 - db "@" + text_far _CeladonCityText9 + text_end CeladonCityText10: - TX_FAR _CeladonCityText10 - db "@" + text_far _CeladonCityText10 + text_end CeladonCityText11: - TX_FAR _CeladonCityText11 - db "@" + text_far _CeladonCityText11 + text_end CeladonCityText13: - TX_FAR _CeladonCityText13 - db "@" + text_far _CeladonCityText13 + text_end CeladonCityText14: - TX_FAR _CeladonCityText14 - db "@" + text_far _CeladonCityText14 + text_end CeladonCityText15: - TX_FAR _CeladonCityText15 - db "@" + text_far _CeladonCityText15 + text_end CeladonCityText16: - TX_FAR _CeladonCityText16 - db "@" + text_far _CeladonCityText16 + text_end CeladonCityText17: - TX_FAR _CeladonCityText17 - db "@" + text_far _CeladonCityText17 + text_end CeladonCityText18: - TX_FAR _CeladonCityText18 - db "@" + text_far _CeladonCityText18 + text_end diff --git a/scripts/CeladonDiner.asm b/scripts/CeladonDiner.asm index 371205de..e5a2d8b2 100755 --- a/scripts/CeladonDiner.asm +++ b/scripts/CeladonDiner.asm @@ -10,23 +10,23 @@ CeladonDiner_TextPointers: dw CeladonDinerText5 CeladonDinerText1: - TX_FAR _CeladonDinerText1 - db "@" + text_far _CeladonDinerText1 + text_end CeladonDinerText2: - TX_FAR _CeladonDinerText2 - db "@" + text_far _CeladonDinerText2 + text_end CeladonDinerText3: - TX_FAR _CeladonDinerText3 - db "@" + text_far _CeladonDinerText3 + text_end CeladonDinerText4: - TX_FAR _CeladonDinerText4 - db "@" + text_far _CeladonDinerText4 + text_end CeladonDinerText5: - TX_ASM + text_asm CheckEvent EVENT_GOT_COIN_CASE jr nz, .asm_eb14d ld hl, CeladonDinerText_491a7 @@ -49,18 +49,18 @@ CeladonDinerText5: jp TextScriptEnd CeladonDinerText_491a7: - TX_FAR _CeladonDinerText_491a7 - db "@" + text_far _CeladonDinerText_491a7 + text_end ReceivedCoinCaseText: - TX_FAR _ReceivedCoinCaseText - TX_SFX_KEY_ITEM - db "@" + text_far _ReceivedCoinCaseText + sound_get_key_item + text_end CoinCaseNoRoomText: - TX_FAR _CoinCaseNoRoomText - db "@" + text_far _CoinCaseNoRoomText + text_end CeladonDinerText_491b7: - TX_FAR _CeladonDinerText_491b7 - db "@" + text_far _CeladonDinerText_491b7 + text_end diff --git a/scripts/CeladonGym.asm b/scripts/CeladonGym.asm index e2665555..1a39cc3f 100755 --- a/scripts/CeladonGym.asm +++ b/scripts/CeladonGym.asm @@ -149,7 +149,7 @@ CeladonGymTrainerHeader6: db $ff CeladonGymText1: - TX_ASM + text_asm CheckEvent EVENT_BEAT_ERIKA jr z, .beginBattle CheckEventReuseA EVENT_GOT_TM21 @@ -183,153 +183,153 @@ CeladonGymText1: jp TextScriptEnd CeladonGymText_48a5e: - TX_FAR _CeladonGymText_48a5e - db "@" + text_far _CeladonGymText_48a5e + text_end CeladonGymText_48a63: - TX_FAR _CeladonGymText_48a63 - db "@" + text_far _CeladonGymText_48a63 + text_end CeladonGymText_48a68: - TX_FAR _CeladonGymText_48a68 - db "@" + text_far _CeladonGymText_48a68 + text_end CeladonGymText9: - TX_FAR _CeladonGymText9 - db "@" + text_far _CeladonGymText9 + text_end TM21Text: - TX_FAR _ReceivedTM21Text - TX_SFX_ITEM_1 - TX_FAR _TM21ExplanationText - db "@" + text_far _ReceivedTM21Text + sound_get_item_1 + text_far _TM21ExplanationText + text_end TM21NoRoomText: - TX_FAR _TM21NoRoomText - db "@" + text_far _TM21NoRoomText + text_end CeladonGymText2: - TX_ASM + text_asm ld hl, CeladonGymTrainerHeader0 call TalkToTrainer jp TextScriptEnd CeladonGymBattleText2: - TX_FAR _CeladonGymBattleText2 - db "@" + text_far _CeladonGymBattleText2 + text_end CeladonGymEndBattleText2: - TX_FAR _CeladonGymEndBattleText2 - db "@" + text_far _CeladonGymEndBattleText2 + text_end CeladonGymAfterBattleText2: - TX_FAR _CeladonGymAfterBattleText2 - db "@" + text_far _CeladonGymAfterBattleText2 + text_end CeladonGymText3: - TX_ASM + text_asm ld hl, CeladonGymTrainerHeader1 call TalkToTrainer jp TextScriptEnd CeladonGymBattleText3: - TX_FAR _CeladonGymBattleText3 - db "@" + text_far _CeladonGymBattleText3 + text_end CeladonGymEndBattleText3: - TX_FAR _CeladonGymEndBattleText3 - db "@" + text_far _CeladonGymEndBattleText3 + text_end CeladonGymAfterBattleText3: - TX_FAR _CeladonGymAfterBattleText3 - db "@" + text_far _CeladonGymAfterBattleText3 + text_end CeladonGymText4: - TX_ASM + text_asm ld hl, CeladonGymTrainerHeader2 call TalkToTrainer jp TextScriptEnd CeladonGymBattleText4: - TX_FAR _CeladonGymBattleText4 - db "@" + text_far _CeladonGymBattleText4 + text_end CeladonGymEndBattleText4: - TX_FAR _CeladonGymEndBattleText4 - db "@" + text_far _CeladonGymEndBattleText4 + text_end CeladonGymAfterBattleText4: - TX_FAR _CeladonGymAfterBattleText4 - db "@" + text_far _CeladonGymAfterBattleText4 + text_end CeladonGymText5: - TX_ASM + text_asm ld hl, CeladonGymTrainerHeader3 call TalkToTrainer jp TextScriptEnd CeladonGymBattleText5: - TX_FAR _CeladonGymBattleText5 - db "@" + text_far _CeladonGymBattleText5 + text_end CeladonGymEndBattleText5: - TX_FAR _CeladonGymEndBattleText5 - db "@" + text_far _CeladonGymEndBattleText5 + text_end CeladonGymAfterBattleText5: - TX_FAR _CeladonGymAfterBattleText5 - db "@" + text_far _CeladonGymAfterBattleText5 + text_end CeladonGymText6: - TX_ASM + text_asm ld hl, CeladonGymTrainerHeader4 call TalkToTrainer jp TextScriptEnd CeladonGymBattleText6: - TX_FAR _CeladonGymBattleText6 - db "@" + text_far _CeladonGymBattleText6 + text_end CeladonGymEndBattleText6: - TX_FAR _CeladonGymEndBattleText6 - db "@" + text_far _CeladonGymEndBattleText6 + text_end CeladonGymAfterBattleText6: - TX_FAR _CeladonGymAfterBattleText6 - db "@" + text_far _CeladonGymAfterBattleText6 + text_end CeladonGymText7: - TX_ASM + text_asm ld hl, CeladonGymTrainerHeader5 call TalkToTrainer jp TextScriptEnd CeladonGymBattleText7: - TX_FAR _CeladonGymBattleText7 - db "@" + text_far _CeladonGymBattleText7 + text_end CeladonGymEndBattleText7: - TX_FAR _CeladonGymEndBattleText7 - db "@" + text_far _CeladonGymEndBattleText7 + text_end CeladonGymAfterBattleText7: - TX_FAR _CeladonGymAfterBattleText7 - db "@" + text_far _CeladonGymAfterBattleText7 + text_end CeladonGymText8: - TX_ASM + text_asm ld hl, CeladonGymTrainerHeader6 call TalkToTrainer jp TextScriptEnd CeladonGymBattleText8: - TX_FAR _CeladonGymBattleText8 - db "@" + text_far _CeladonGymBattleText8 + text_end CeladonGymEndBattleText8: - TX_FAR _CeladonGymEndBattleText8 - db "@" + text_far _CeladonGymEndBattleText8 + text_end CeladonGymAfterBattleText8: - TX_FAR _CeladonGymAfterBattleText8 - db "@" + text_far _CeladonGymAfterBattleText8 + text_end diff --git a/scripts/CeladonHotel.asm b/scripts/CeladonHotel.asm index ee4e140c..2cdd95b0 100755 --- a/scripts/CeladonHotel.asm +++ b/scripts/CeladonHotel.asm @@ -7,13 +7,13 @@ CeladonHotel_TextPointers: dw CeladonHotelText3 CeladonHotelText1: - TX_FAR _CeladonHotelText1 - db "@" + text_far _CeladonHotelText1 + text_end CeladonHotelText2: - TX_FAR _CeladonHotelText2 - db "@" + text_far _CeladonHotelText2 + text_end CeladonHotelText3: - TX_FAR _CeladonHotelText3 - db "@" + text_far _CeladonHotelText3 + text_end diff --git a/scripts/CeladonMansion1F.asm b/scripts/CeladonMansion1F.asm index 41524983..2a386aad 100755 --- a/scripts/CeladonMansion1F.asm +++ b/scripts/CeladonMansion1F.asm @@ -13,27 +13,27 @@ CeladonMansion1_486a1: jp TextScriptEnd CeladonMansion1Text1: - TX_FAR _CeladonMansion1Text1 - TX_ASM + text_far _CeladonMansion1Text1 + text_asm ld a, MEOWTH jp CeladonMansion1_486a1 CeladonMansion1Text2: - TX_FAR _CeladonMansion1Text2 - db "@" + text_far _CeladonMansion1Text2 + text_end CeladonMansion1Text3: - TX_FAR _CeladonMansion1Text3 - TX_ASM + text_far _CeladonMansion1Text3 + text_asm ld a, CLEFAIRY jp CeladonMansion1_486a1 CeladonMansion1Text4: - TX_FAR _CeladonMansion1Text4 - TX_ASM + text_far _CeladonMansion1Text4 + text_asm ld a, NIDORAN_F jp CeladonMansion1_486a1 CeladonMansion1Text5: - TX_FAR _CeladonMansion1Text5 - db "@" + text_far _CeladonMansion1Text5 + text_end diff --git a/scripts/CeladonMansion2F.asm b/scripts/CeladonMansion2F.asm index 9deb606d..8f83e86a 100755 --- a/scripts/CeladonMansion2F.asm +++ b/scripts/CeladonMansion2F.asm @@ -6,5 +6,5 @@ CeladonMansion2F_TextPointers: dw CeladonMansion2Text1 CeladonMansion2Text1: - TX_FAR _CeladonMansion2Text1 - db "@" + text_far _CeladonMansion2Text1 + text_end diff --git a/scripts/CeladonMansion3F.asm b/scripts/CeladonMansion3F.asm index 43832f63..c9085b32 100755 --- a/scripts/CeladonMansion3F.asm +++ b/scripts/CeladonMansion3F.asm @@ -12,19 +12,19 @@ CeladonMansion3F_TextPointers: dw GameFreakSignText ProgrammerText: - TX_FAR _ProgrammerText - db "@" + text_far _ProgrammerText + text_end GraphicArtistText: - TX_FAR _GraphicArtistText - db "@" + text_far _GraphicArtistText + text_end WriterText: - TX_FAR _WriterText - db "@" + text_far _WriterText + text_end DirectorText: - TX_ASM + text_asm ; check pokédex ld hl, wPokedexOwned @@ -42,30 +42,30 @@ DirectorText: jp TextScriptEnd .GameDesigner - TX_FAR _GameDesignerText - db "@" + text_far _GameDesignerText + text_end .CompletedDexText - TX_FAR _CompletedDexText - TX_BLINK - TX_ASM + text_far _CompletedDexText + text_promptbutton + text_asm callab DisplayDiploma ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a jp TextScriptEnd GameFreakPCText1: - TX_FAR _CeladonMansion3Text5 - db "@" + text_far _CeladonMansion3Text5 + text_end GameFreakPCText2: - TX_FAR _CeladonMansion3Text6 - db "@" + text_far _CeladonMansion3Text6 + text_end GameFreakPCText3: - TX_FAR _CeladonMansion3Text7 - db "@" + text_far _CeladonMansion3Text7 + text_end GameFreakSignText: - TX_FAR _CeladonMansion3Text8 - db "@" + text_far _CeladonMansion3Text8 + text_end diff --git a/scripts/CeladonMansionRoof.asm b/scripts/CeladonMansionRoof.asm index d5028537..860fcbdf 100755 --- a/scripts/CeladonMansionRoof.asm +++ b/scripts/CeladonMansionRoof.asm @@ -5,5 +5,5 @@ CeladonMansionRoof_TextPointers: dw CeladonMansion4Text1 CeladonMansion4Text1: - TX_FAR _CeladonMansion4Text1 - db "@" + text_far _CeladonMansion4Text1 + text_end diff --git a/scripts/CeladonMansionRoofHouse.asm b/scripts/CeladonMansionRoofHouse.asm index e519d506..28cec151 100755 --- a/scripts/CeladonMansionRoofHouse.asm +++ b/scripts/CeladonMansionRoofHouse.asm @@ -6,11 +6,11 @@ CeladonMansionRoofHouse_TextPointers: dw CeladonMansion5Text2 CeladonMansion5Text1: - TX_FAR _CeladonMansion5Text1 - db "@" + text_far _CeladonMansion5Text1 + text_end CeladonMansion5Text2: - TX_ASM + text_asm lb bc, EEVEE, 25 call GivePokemon jr nc, .asm_24365 diff --git a/scripts/CeladonMart1F.asm b/scripts/CeladonMart1F.asm index 8afd805a..dca3c796 100755 --- a/scripts/CeladonMart1F.asm +++ b/scripts/CeladonMart1F.asm @@ -7,13 +7,13 @@ CeladonMart1F_TextPointers: dw CeladonMart1Text3 CeladonMart1Text1: - TX_FAR _CeladonMart1Text1 - db "@" + text_far _CeladonMart1Text1 + text_end CeladonMart1Text2: - TX_FAR _CeladonMart1Text2 - db "@" + text_far _CeladonMart1Text2 + text_end CeladonMart1Text3: - TX_FAR _CeladonMart1Text3 - db "@" + text_far _CeladonMart1Text3 + text_end diff --git a/scripts/CeladonMart2F.asm b/scripts/CeladonMart2F.asm index 787c186e..11827128 100755 --- a/scripts/CeladonMart2F.asm +++ b/scripts/CeladonMart2F.asm @@ -9,13 +9,13 @@ CeladonMart2F_TextPointers: dw CeladonMart2Text5 CeladonMart2Text3: - TX_FAR _CeladonMart2Text3 - db "@" + text_far _CeladonMart2Text3 + text_end CeladonMart2Text4: - TX_FAR _CeladonMart2Text4 - db "@" + text_far _CeladonMart2Text4 + text_end CeladonMart2Text5: - TX_FAR _CeladonMart2Text5 - db "@" + text_far _CeladonMart2Text5 + text_end diff --git a/scripts/CeladonMart3F.asm b/scripts/CeladonMart3F.asm index c8d8b509..c70f18d4 100755 --- a/scripts/CeladonMart3F.asm +++ b/scripts/CeladonMart3F.asm @@ -21,7 +21,7 @@ CeladonMart3F_TextPointers: dw CeladonMart3Text17 CeladonMart3Text1: - TX_ASM + text_asm CheckEvent EVENT_GOT_TM18 jr nz, .asm_a5463 ld hl, TM18PreReceiveText @@ -42,67 +42,67 @@ CeladonMart3Text1: jp TextScriptEnd TM18PreReceiveText: - TX_FAR _TM18PreReceiveText - db "@" + text_far _TM18PreReceiveText + text_end ReceivedTM18Text: - TX_FAR _ReceivedTM18Text - TX_SFX_ITEM_1 - db "@" + text_far _ReceivedTM18Text + sound_get_item_1 + text_end TM18ExplanationText: - TX_FAR _TM18ExplanationText - db "@" + text_far _TM18ExplanationText + text_end TM18NoRoomText: - TX_FAR _TM18NoRoomText - db "@" + text_far _TM18NoRoomText + text_end CeladonMart3Text2: - TX_FAR _CeladonMart3Text2 - db "@" + text_far _CeladonMart3Text2 + text_end CeladonMart3Text3: - TX_FAR _CeladonMart3Text3 - db "@" + text_far _CeladonMart3Text3 + text_end CeladonMart3Text4: - TX_FAR _CeladonMart3Text4 - db "@" + text_far _CeladonMart3Text4 + text_end CeladonMart3Text5: - TX_FAR _CeladonMart3Text5 - db "@" + text_far _CeladonMart3Text5 + text_end CeladonMart3Text12: CeladonMart3Text10: CeladonMart3Text8: CeladonMart3Text6: - TX_FAR _CeladonMart3Text6 - db "@" + text_far _CeladonMart3Text6 + text_end CeladonMart3Text7: - TX_FAR _CeladonMart3Text7 - db "@" + text_far _CeladonMart3Text7 + text_end CeladonMart3Text9: - TX_FAR _CeladonMart3Text9 - db "@" + text_far _CeladonMart3Text9 + text_end CeladonMart3Text11: - TX_FAR _CeladonMart3Text11 - db "@" + text_far _CeladonMart3Text11 + text_end CeladonMart3Text13: - TX_FAR _CeladonMart3Text13 - db "@" + text_far _CeladonMart3Text13 + text_end CeladonMart3Text14: - TX_FAR _CeladonMart3Text14 - db "@" + text_far _CeladonMart3Text14 + text_end CeladonMart3Text17: CeladonMart3Text16: CeladonMart3Text15: - TX_FAR _CeladonMart3Text15 - db "@" + text_far _CeladonMart3Text15 + text_end diff --git a/scripts/CeladonMart4F.asm b/scripts/CeladonMart4F.asm index 20f817e9..1365dd0d 100755 --- a/scripts/CeladonMart4F.asm +++ b/scripts/CeladonMart4F.asm @@ -8,13 +8,13 @@ CeladonMart4F_TextPointers: dw CeladonMart4Text4 CeladonMart4Text2: - TX_FAR _CeladonMart4Text2 - db "@" + text_far _CeladonMart4Text2 + text_end CeladonMart4Text3: - TX_FAR _CeladonMart4Text3 - db "@" + text_far _CeladonMart4Text3 + text_end CeladonMart4Text4: - TX_FAR _CeladonMart4Text4 - db "@" + text_far _CeladonMart4Text4 + text_end diff --git a/scripts/CeladonMart5F.asm b/scripts/CeladonMart5F.asm index 9f52f866..91748706 100755 --- a/scripts/CeladonMart5F.asm +++ b/scripts/CeladonMart5F.asm @@ -9,13 +9,13 @@ CeladonMart5F_TextPointers: dw CeladonMart5Text5 CeladonMart5Text1: - TX_FAR _CeladonMart5Text1 - db "@" + text_far _CeladonMart5Text1 + text_end CeladonMart5Text2: - TX_FAR _CeladonMart5Text2 - db "@" + text_far _CeladonMart5Text2 + text_end CeladonMart5Text5: - TX_FAR _CeladonMart5Text5 - db "@" + text_far _CeladonMart5Text5 + text_end diff --git a/scripts/CeladonMartElevator.asm b/scripts/CeladonMartElevator.asm index 34b923f9..bcac0d14 100755 --- a/scripts/CeladonMartElevator.asm +++ b/scripts/CeladonMartElevator.asm @@ -66,7 +66,7 @@ CeladonMartElevator_TextPointers: dw CeladonMartElevatorText1 CeladonMartElevatorText1: - TX_ASM + text_asm call CeladonMartElevatorScript_48631 ld hl, CeladonMartElevatorWarpMaps predef DisplayElevatorFloorMenu diff --git a/scripts/CeladonMartRoof.asm b/scripts/CeladonMartRoof.asm index 35c740b2..7c1d7039 100755 --- a/scripts/CeladonMartRoof.asm +++ b/scripts/CeladonMartRoof.asm @@ -134,54 +134,54 @@ RemoveItemByIDBank12: jpba RemoveItemByID CeladonMartRoofText_484ee: - TX_FAR _CeladonMartRoofText_484ee - db "@" + text_far _CeladonMartRoofText_484ee + text_end CeladonMartRoofText_484f3: - TX_FAR _CeladonMartRoofText_484f3 - TX_WAIT - db "@" + text_far _CeladonMartRoofText_484f3 + text_linkpromptbutton + text_end CeladonMartRoofText_484f9: - TX_FAR _CeladonMartRoofText_484f9 - TX_SFX_ITEM_1 - TX_FAR _CeladonMartRoofText_484fe - TX_WAIT - db "@" + text_far _CeladonMartRoofText_484f9 + sound_get_item_1 + text_far _CeladonMartRoofText_484fe + text_linkpromptbutton + text_end CeladonMartRoofText_48504: - TX_FAR _CeladonMartRoofText_48504 - TX_WAIT - db "@" + text_far _CeladonMartRoofText_48504 + text_linkpromptbutton + text_end CeladonMartRoofText_4850a: - TX_FAR _CeladonMartRoofText_4850a - TX_SFX_ITEM_1 - TX_FAR _CeladonMartRoofText_4850f - TX_WAIT - db "@" + text_far _CeladonMartRoofText_4850a + sound_get_item_1 + text_far _CeladonMartRoofText_4850f + text_linkpromptbutton + text_end CeladonMartRoofText_48515: - TX_FAR _CeladonMartRoofText_48515 - TX_WAIT - db "@" + text_far _CeladonMartRoofText_48515 + text_linkpromptbutton + text_end ReceivedTM49Text: - TX_FAR _ReceivedTM49Text - TX_SFX_ITEM_1 - TX_FAR _CeladonMartRoofText_48520 - TX_WAIT - db "@" + text_far _ReceivedTM49Text + sound_get_item_1 + text_far _CeladonMartRoofText_48520 + text_linkpromptbutton + text_end CeladonMartRoofText_48526: - TX_FAR _CeladonMartRoofText_48526 - TX_WAIT - db "@" + text_far _CeladonMartRoofText_48526 + text_linkpromptbutton + text_end CeladonMartRoofText_4852c: - TX_FAR _CeladonMartRoofText_4852c - TX_WAIT - db "@" + text_far _CeladonMartRoofText_4852c + text_linkpromptbutton + text_end CeladonMartRoofScript_PrintDrinksInBag: ld hl, wFilteredBagItems @@ -214,11 +214,11 @@ CeladonMartRoof_TextPointers: dw CeladonMartRoofText6 CeladonMartRoofText1: - TX_FAR _CeladonMartRoofText1 - db "@" + text_far _CeladonMartRoofText1 + text_end CeladonMartRoofText2: - TX_ASM + text_asm call CeladonMartRoofScript_GetDrinksInBag ld a, [wFilteredBagItemsCount] and a @@ -240,16 +240,16 @@ CeladonMartRoofText2: jp TextScriptEnd CeladonMartRoofText3: - TX_FAR _CeladonMartRoofText_48598 - db "@" + text_far _CeladonMartRoofText_48598 + text_end CeladonMartRoofText4: - TX_FAR _CeladonMartRoofText4 - db "@" + text_far _CeladonMartRoofText4 + text_end CeladonMartRoofText5: - TX_VENDING_MACHINE + script_vending_machine CeladonMartRoofText6: - TX_FAR _CeladonMartRoofText6 - db "@" + text_far _CeladonMartRoofText6 + text_end diff --git a/scripts/CeladonPokecenter.asm b/scripts/CeladonPokecenter.asm index b5efb7d5..0f28e1b2 100755 --- a/scripts/CeladonPokecenter.asm +++ b/scripts/CeladonPokecenter.asm @@ -9,15 +9,15 @@ CeladonPokecenter_TextPointers: dw CeladonTradeNurseText CeladonTradeNurseText: - TX_CABLE_CLUB_RECEPTIONIST + script_cable_club_receptionist CeladonHealNurseText: - TX_POKECENTER_NURSE + script_pokecenter_nurse CeladonPokecenterText2: - TX_FAR _CeladonPokecenterText2 - db "@" + text_far _CeladonPokecenterText2 + text_end CeladonPokecenterText3: - TX_FAR _CeladonPokecenterText3 - db "@" + text_far _CeladonPokecenterText3 + text_end diff --git a/scripts/CeruleanBadgeHouse.asm b/scripts/CeruleanBadgeHouse.asm index cab2bf23..e1e4ab44 100755 --- a/scripts/CeruleanBadgeHouse.asm +++ b/scripts/CeruleanBadgeHouse.asm @@ -9,7 +9,7 @@ CeruleanBadgeHouse_TextPointers: dw CeruleanHouse2Text1 CeruleanHouse2Text1: - TX_ASM + text_asm ld hl, CeruleanHouse2Text_74e77 call PrintText xor a @@ -55,16 +55,16 @@ BadgeItemList: db $8,BOULDERBADGE,CASCADEBADGE,THUNDERBADGE,RAINBOWBADGE,SOULBADGE,MARSHBADGE,VOLCANOBADGE,EARTHBADGE,$FF CeruleanHouse2Text_74e77: - TX_FAR _CeruleanHouse2Text_74e77 - db "@" + text_far _CeruleanHouse2Text_74e77 + text_end CeruleanHouse2Text_74e7c: - TX_FAR _CeruleanHouse2Text_74e7c - db "@" + text_far _CeruleanHouse2Text_74e7c + text_end CeruleanHouse2Text_74e81: - TX_FAR _CeruleanHouse2Text_74e81 - db "@" + text_far _CeruleanHouse2Text_74e81 + text_end TextPointers_74e86: dw CeruleanHouse2Text_74e96 @@ -77,33 +77,33 @@ TextPointers_74e86: dw CeruleanHouse2Text_74eb9 CeruleanHouse2Text_74e96: - TX_FAR _CeruleanHouse2Text_74e96 - db "@" + text_far _CeruleanHouse2Text_74e96 + text_end CeruleanHouse2Text_74e9b: - TX_FAR _CeruleanHouse2Text_74e9b - db "@" + text_far _CeruleanHouse2Text_74e9b + text_end CeruleanHouse2Text_74ea0: - TX_FAR _CeruleanHouse2Text_74ea0 - db "@" + text_far _CeruleanHouse2Text_74ea0 + text_end CeruleanHouse2Text_74ea5: - TX_FAR _CeruleanHouse2Text_74ea5 - db "@" + text_far _CeruleanHouse2Text_74ea5 + text_end CeruleanHouse2Text_74eaa: - TX_FAR _CeruleanHouse2Text_74eaa - db "@" + text_far _CeruleanHouse2Text_74eaa + text_end CeruleanHouse2Text_74eaf: - TX_FAR _CeruleanHouse2Text_74eaf - db "@" + text_far _CeruleanHouse2Text_74eaf + text_end CeruleanHouse2Text_74eb4: - TX_FAR _CeruleanHouse2Text_74eb4 - db "@" + text_far _CeruleanHouse2Text_74eb4 + text_end CeruleanHouse2Text_74eb9: - TX_FAR _CeruleanHouse2Text_74eb9 - db "@" + text_far _CeruleanHouse2Text_74eb9 + text_end diff --git a/scripts/CeruleanCaveB1F.asm b/scripts/CeruleanCaveB1F.asm index 9017bec3..52239085 100755 --- a/scripts/CeruleanCaveB1F.asm +++ b/scripts/CeruleanCaveB1F.asm @@ -29,14 +29,14 @@ MewtwoTrainerHeader: db $ff MewtwoText: - TX_ASM + text_asm ld hl, MewtwoTrainerHeader call TalkToTrainer jp TextScriptEnd MewtwoBattleText: - TX_FAR _MewtwoBattleText - TX_ASM + text_far _MewtwoBattleText + text_asm ld a, MEWTWO call PlayCry call WaitForSoundToFinish diff --git a/scripts/CeruleanCity.asm b/scripts/CeruleanCity.asm index 61dd03f6..410ed485 100755 --- a/scripts/CeruleanCity.asm +++ b/scripts/CeruleanCity.asm @@ -247,7 +247,7 @@ CeruleanCity_TextPointers: dw CeruleanCityText17 CeruleanCityText1: - TX_ASM + text_asm CheckEvent EVENT_BEAT_CERULEAN_RIVAL ; do pre-battle text jr z, .PreBattleText @@ -262,23 +262,23 @@ CeruleanCityText1: jp TextScriptEnd CeruleanCityText_19668: - TX_FAR _CeruleanCityText_19668 - db "@" + text_far _CeruleanCityText_19668 + text_end CeruleanCityText_1966d: - TX_FAR _CeruleanCityText_1966d - db "@" + text_far _CeruleanCityText_1966d + text_end CeruleanCityText_19672: - TX_FAR _CeruleanCityText_19672 - db "@" + text_far _CeruleanCityText_19672 + text_end CeruleanCityText_19677: - TX_FAR _CeruleanCityText_19677 - db "@" + text_far _CeruleanCityText_19677 + text_end CeruleanCityText2: - TX_ASM + text_asm CheckEvent EVENT_BEAT_CERULEAN_ROCKET_THIEF jr nz, .asm_4ca20 ld hl, CeruleanCityText_196d9 @@ -315,47 +315,47 @@ CeruleanCityText2: jp TextScriptEnd CeruleanCityText_196d9: - TX_FAR _CeruleanCityText_196d9 - db "@" + text_far _CeruleanCityText_196d9 + text_end ReceivedTM28Text: - TX_FAR _ReceivedTM28Text - TX_SFX_ITEM_1 - TX_FAR _ReceivedTM28Text2 - TX_WAIT - db "@" + text_far _ReceivedTM28Text + sound_get_item_1 + text_far _ReceivedTM28Text2 + text_linkpromptbutton + text_end TM28NoRoomText: - TX_FAR _TM28NoRoomText - db "@" + text_far _TM28NoRoomText + text_end CeruleanCityText_196ee: - TX_FAR _CeruleanCityText_196ee - db "@" + text_far _CeruleanCityText_196ee + text_end CeruleanCityText_196f3: - TX_FAR _CeruleanCityText_196f3 - db "@" + text_far _CeruleanCityText_196f3 + text_end CeruleanCityText3: - TX_FAR _CeruleanCityText3 - db "@" + text_far _CeruleanCityText3 + text_end CeruleanCityText4: - TX_FAR _CeruleanCityText4 - db "@" + text_far _CeruleanCityText4 + text_end CeruleanCityText5: - TX_FAR _CeruleanCityText5 - db "@" + text_far _CeruleanCityText5 + text_end CeruleanCityText11: CeruleanCityText6: - TX_FAR _CeruleanCityText6 - db "@" + text_far _CeruleanCityText6 + text_end CeruleanCityText7: - TX_ASM + text_asm ld a, [hRandomAdd] cp 180 jr c, .asm_e9fc9 @@ -375,19 +375,19 @@ CeruleanCityText7: jp TextScriptEnd CeruleanCityText_19730: - TX_FAR _CeruleanCityText_19730 - db "@" + text_far _CeruleanCityText_19730 + text_end CeruleanCityText_19735: - TX_FAR _CeruleanCityText_19735 - db "@" + text_far _CeruleanCityText_19735 + text_end CeruleanCityText_1973a: - TX_FAR _CeruleanCityText_1973a - db "@" + text_far _CeruleanCityText_1973a + text_end CeruleanCityText8: - TX_ASM + text_asm ld a, [hRandomAdd] cp 180 jr c, .asm_e28da @@ -413,41 +413,41 @@ CeruleanCityText8: jp TextScriptEnd CeruleanCityText_1976f: - TX_FAR _CeruleanCityText_1976f - db "@" + text_far _CeruleanCityText_1976f + text_end CeruleanCityText_19774: - TX_FAR _CeruleanCityText_19774 - db "@" + text_far _CeruleanCityText_19774 + text_end CeruleanCityText_19779: - TX_FAR _CeruleanCityText_19779 - db "@" + text_far _CeruleanCityText_19779 + text_end CeruleanCityText_1977e: - TX_FAR _CeruleanCityText_1977e - db "@" + text_far _CeruleanCityText_1977e + text_end CeruleanCityText9: - TX_FAR _CeruleanCityText9 - db "@" + text_far _CeruleanCityText9 + text_end CeruleanCityText10: - TX_FAR _CeruleanCityText10 - db "@" + text_far _CeruleanCityText10 + text_end CeruleanCityText12: - TX_FAR _CeruleanCityText12 - db "@" + text_far _CeruleanCityText12 + text_end CeruleanCityText13: - TX_FAR _CeruleanCityText13 - db "@" + text_far _CeruleanCityText13 + text_end CeruleanCityText16: - TX_FAR _CeruleanCityText16 - db "@" + text_far _CeruleanCityText16 + text_end CeruleanCityText17: - TX_FAR _CeruleanCityText17 - db "@" + text_far _CeruleanCityText17 + text_end diff --git a/scripts/CeruleanGym.asm b/scripts/CeruleanGym.asm index a3a8f18d..ed3bed14 100755 --- a/scripts/CeruleanGym.asm +++ b/scripts/CeruleanGym.asm @@ -100,7 +100,7 @@ CeruleanGymTrainerHeader1: db $ff CeruleanGymText1: - TX_ASM + text_asm CheckEvent EVENT_BEAT_MISTY jr z, .beginBattle CheckEventReuseA EVENT_GOT_TM11 @@ -135,70 +135,70 @@ CeruleanGymText1: jp TextScriptEnd CeruleanGymText_5c7be: - TX_FAR _CeruleanGymText_5c7be - db "@" + text_far _CeruleanGymText_5c7be + text_end CeruleanGymText_5c7c3: - TX_FAR _CeruleanGymText_5c7c3 - db "@" + text_far _CeruleanGymText_5c7c3 + text_end CeruleanGymText5: - TX_FAR _CeruleanGymText_5c7c8 - db "@" + text_far _CeruleanGymText_5c7c8 + text_end CeruleanGymText6: - TX_FAR _ReceivedTM11Text - TX_SFX_ITEM_1 - db "@" + text_far _ReceivedTM11Text + sound_get_item_1 + text_end CeruleanGymText7: - TX_FAR _CeruleanGymText_5c7d3 - db "@" + text_far _CeruleanGymText_5c7d3 + text_end CeruleanGymText_5c7d8: - TX_FAR _CeruleanGymText_5c7d8 - TX_SFX_KEY_ITEM ; actually plays the second channel of SFX_BALL_POOF due to the wrong music bank being loaded - TX_BLINK - db "@" + text_far _CeruleanGymText_5c7d8 + sound_get_key_item ; actually plays the second channel of SFX_BALL_POOF due to the wrong music bank being loaded + text_promptbutton + text_end CeruleanGymText2: - TX_ASM + text_asm ld hl, CeruleanGymTrainerHeader0 call TalkToTrainer jp TextScriptEnd CeruleanGymBattleText1: - TX_FAR _CeruleanGymBattleText1 - db "@" + text_far _CeruleanGymBattleText1 + text_end CeruleanGymEndBattleText1: - TX_FAR _CeruleanGymEndBattleText1 - db "@" + text_far _CeruleanGymEndBattleText1 + text_end CeruleanGymAfterBattleText1: - TX_FAR _CeruleanGymAfterBattleText1 - db "@" + text_far _CeruleanGymAfterBattleText1 + text_end CeruleanGymText3: - TX_ASM + text_asm ld hl, CeruleanGymTrainerHeader1 call TalkToTrainer jp TextScriptEnd CeruleanGymBattleText2: - TX_FAR _CeruleanGymBattleText2 - db "@" + text_far _CeruleanGymBattleText2 + text_end CeruleanGymEndBattleText2: - TX_FAR _CeruleanGymEndBattleText2 - db "@" + text_far _CeruleanGymEndBattleText2 + text_end CeruleanGymAfterBattleText2: - TX_FAR _CeruleanGymAfterBattleText2 - db "@" + text_far _CeruleanGymAfterBattleText2 + text_end CeruleanGymText4: - TX_ASM + text_asm CheckEvent EVENT_BEAT_MISTY jr nz, .asm_5c821 ld hl, CeruleanGymText_5c82a @@ -211,9 +211,9 @@ CeruleanGymText4: jp TextScriptEnd CeruleanGymText_5c82a: - TX_FAR _CeruleanGymText_5c82a - db "@" + text_far _CeruleanGymText_5c82a + text_end CeruleanGymText_5c82f: - TX_FAR _CeruleanGymText_5c82f - db "@" + text_far _CeruleanGymText_5c82f + text_end diff --git a/scripts/CeruleanMart.asm b/scripts/CeruleanMart.asm index f812aadd..beb0fa1b 100755 --- a/scripts/CeruleanMart.asm +++ b/scripts/CeruleanMart.asm @@ -7,9 +7,9 @@ CeruleanMart_TextPointers: dw CeruleanMartText3 CeruleanMartText2: - TX_FAR _CeruleanMartText2 - db "@" + text_far _CeruleanMartText2 + text_end CeruleanMartText3: - TX_FAR _CeruleanMartText3 - db "@" + text_far _CeruleanMartText3 + text_end diff --git a/scripts/CeruleanPokecenter.asm b/scripts/CeruleanPokecenter.asm index 82bd04f3..680640f4 100755 --- a/scripts/CeruleanPokecenter.asm +++ b/scripts/CeruleanPokecenter.asm @@ -9,15 +9,15 @@ CeruleanPokecenter_TextPointers: dw CeruleanTradeNurseText CeruleanTradeNurseText: - TX_CABLE_CLUB_RECEPTIONIST + script_cable_club_receptionist CeruleanHealNurseText: - TX_POKECENTER_NURSE + script_pokecenter_nurse CeruleanPokecenterText2: - TX_FAR _CeruleanPokecenterText2 - db "@" + text_far _CeruleanPokecenterText2 + text_end CeruleanPokecenterText3: - TX_FAR _CeruleanPokecenterText3 - db "@" + text_far _CeruleanPokecenterText3 + text_end diff --git a/scripts/CeruleanTradeHouse.asm b/scripts/CeruleanTradeHouse.asm index f80da19a..ba88f1b5 100755 --- a/scripts/CeruleanTradeHouse.asm +++ b/scripts/CeruleanTradeHouse.asm @@ -6,11 +6,11 @@ CeruleanTradeHouse_TextPointers: dw CeruleanHouse1Text2 CeruleanHouse1Text1: - TX_FAR _CeruleanHouse1Text1 - db "@" + text_far _CeruleanHouse1Text1 + text_end CeruleanHouse1Text2: - TX_ASM + text_asm ld a, $6 ld [wWhichTrade], a predef DoInGameTradeDialogue diff --git a/scripts/CeruleanTrashedHouse.asm b/scripts/CeruleanTrashedHouse.asm index f249ef01..0d1e6ac3 100755 --- a/scripts/CeruleanTrashedHouse.asm +++ b/scripts/CeruleanTrashedHouse.asm @@ -8,7 +8,7 @@ CeruleanTrashedHouse_TextPointers: dw CeruleanHouseTrashedText3 CeruleanHouseTrashedText1: - TX_ASM + text_asm ld b, $e4 predef GetQuantityOfItemInBag and b @@ -23,17 +23,17 @@ CeruleanHouseTrashedText1: jp TextScriptEnd CeruleanHouseTrashedText_1d6ab: - TX_FAR _CeruleanTrashedText_1d6ab - db "@" + text_far _CeruleanTrashedText_1d6ab + text_end CeruleanHouseTrashedText_1d6b0: - TX_FAR _CeruleanTrashedText_1d6b0 - db "@" + text_far _CeruleanTrashedText_1d6b0 + text_end CeruleanHouseTrashedText2: - TX_FAR _CeruleanHouseTrashedText2 - db "@" + text_far _CeruleanHouseTrashedText2 + text_end CeruleanHouseTrashedText3: - TX_FAR _CeruleanHouseTrashedText3 - db "@" + text_far _CeruleanHouseTrashedText3 + text_end diff --git a/scripts/ChampionsRoom.asm b/scripts/ChampionsRoom.asm index 506dc525..ef6ff8fb 100755 --- a/scripts/ChampionsRoom.asm +++ b/scripts/ChampionsRoom.asm @@ -247,7 +247,7 @@ ChampionsRoom_TextPointers: dw GaryText5 GaryText1: - TX_ASM + text_asm CheckEvent EVENT_BEAT_CHAMPION_RIVAL ld hl, GaryChampionIntroText jr z, .printText @@ -257,27 +257,27 @@ GaryText1: jp TextScriptEnd GaryChampionIntroText: - TX_FAR _GaryChampionIntroText - db "@" + text_far _GaryChampionIntroText + text_end GaryDefeatedText: - TX_FAR _GaryDefeatedText - db "@" + text_far _GaryDefeatedText + text_end GaryVictoryText: - TX_FAR _GaryVictoryText - db "@" + text_far _GaryVictoryText + text_end GaryText_76103: - TX_FAR _GaryText_76103 - db "@" + text_far _GaryText_76103 + text_end GaryText2: - TX_FAR _GaryText2 - db "@" + text_far _GaryText2 + text_end GaryText3: - TX_ASM + text_asm ld a, [wPlayerStarter] ld [wd11e], a call GetMonName @@ -286,13 +286,13 @@ GaryText3: jp TextScriptEnd GaryText_76120: - TX_FAR _GaryText_76120 - db "@" + text_far _GaryText_76120 + text_end GaryText4: - TX_FAR _GaryText_76125 - db "@" + text_far _GaryText_76125 + text_end GaryText5: - TX_FAR _GaryText_7612a - db "@" + text_far _GaryText_7612a + text_end diff --git a/scripts/CinnabarGym.asm b/scripts/CinnabarGym.asm index 08bbbe8b..cde00d61 100755 --- a/scripts/CinnabarGym.asm +++ b/scripts/CinnabarGym.asm @@ -205,7 +205,7 @@ CinnabarGymScript_758b7: jp TextScriptEnd CinnabarGymText1: - TX_ASM + text_asm CheckEvent EVENT_BEAT_BLAINE jr z, .beginBattle CheckEventReuseA EVENT_GOT_TM38 @@ -228,35 +228,35 @@ CinnabarGymText1: jp CinnabarGymScript_758b7 BlaineBattleText: - TX_FAR _BlaineBattleText - db "@" + text_far _BlaineBattleText + text_end BlaineEndBattleText: - TX_FAR _BlaineEndBattleText - TX_SFX_KEY_ITEM ; actually plays the second channel of SFX_BALL_POOF due to the wrong music bank being loaded - TX_WAIT - db "@" + text_far _BlaineEndBattleText + sound_get_key_item ; actually plays the second channel of SFX_BALL_POOF due to the wrong music bank being loaded + text_linkpromptbutton + text_end BlaineFireBlastText: - TX_FAR _BlaineFireBlastText - db "@" + text_far _BlaineFireBlastText + text_end BlaineBadgeText: - TX_FAR _BlaineBadgeText - db "@" + text_far _BlaineBadgeText + text_end ReceivedTM38Text: - TX_FAR _ReceivedTM38Text - TX_SFX_ITEM_1 - TX_FAR _TM38ExplanationText - db "@" + text_far _ReceivedTM38Text + sound_get_item_1 + text_far _TM38ExplanationText + text_end TM38NoRoomText: - TX_FAR _TM38NoRoomText - db "@" + text_far _TM38NoRoomText + text_end CinnabarGymText2: - TX_ASM + text_asm call CinnabarGymScript_757a0 CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_0 jr nz, .asm_46bb4 @@ -272,19 +272,19 @@ CinnabarGymText2: jp TextScriptEnd CinnabarGymText_7595f: - TX_FAR _CinnabarGymText_7595f - db "@" + text_far _CinnabarGymText_7595f + text_end CinnabarGymText_75964: - TX_FAR _CinnabarGymText_75964 - db "@" + text_far _CinnabarGymText_75964 + text_end CinnabarGymText_75969: - TX_FAR _CinnabarGymText_75969 - db "@" + text_far _CinnabarGymText_75969 + text_end CinnabarGymText3: - TX_ASM + text_asm call CinnabarGymScript_757a0 CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_1 jr nz, .asm_4b406 @@ -300,19 +300,19 @@ CinnabarGymText3: jp TextScriptEnd CinnabarGymText_75994: - TX_FAR _CinnabarGymText_75994 - db "@" + text_far _CinnabarGymText_75994 + text_end CinnabarGymText_75999: - TX_FAR _CinnabarGymText_75999 - db "@" + text_far _CinnabarGymText_75999 + text_end CinnabarGymText_7599e: - TX_FAR _CinnabarGymText_7599e - db "@" + text_far _CinnabarGymText_7599e + text_end CinnabarGymText4: - TX_ASM + text_asm call CinnabarGymScript_757a0 CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_2 jr nz, .asm_c0673 @@ -328,19 +328,19 @@ CinnabarGymText4: jp TextScriptEnd CinnabarGymText_759c9: - TX_FAR _CinnabarGymText_759c9 - db "@" + text_far _CinnabarGymText_759c9 + text_end CinnabarGymText_759ce: - TX_FAR _CinnabarGymText_759ce - db "@" + text_far _CinnabarGymText_759ce + text_end CinnabarGymText_759d3: - TX_FAR _CinnabarGymText_759d3 - db "@" + text_far _CinnabarGymText_759d3 + text_end CinnabarGymText5: - TX_ASM + text_asm call CinnabarGymScript_757a0 CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_3 jr nz, .asm_5cfd7 @@ -356,19 +356,19 @@ CinnabarGymText5: jp TextScriptEnd CinnabarGymText_759fe: - TX_FAR _CinnabarGymText_759fe - db "@" + text_far _CinnabarGymText_759fe + text_end CinnabarGymText_75a03: - TX_FAR _CinnabarGymText_75a03 - db "@" + text_far _CinnabarGymText_75a03 + text_end CinnabarGymText_75a08: - TX_FAR _CinnabarGymText_75a08 - db "@" + text_far _CinnabarGymText_75a08 + text_end CinnabarGymText6: - TX_ASM + text_asm call CinnabarGymScript_757a0 CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_4 jr nz, .asm_776b4 @@ -384,19 +384,19 @@ CinnabarGymText6: jp TextScriptEnd CinnabarGymText_75a33: - TX_FAR _CinnabarGymText_75a33 - db "@" + text_far _CinnabarGymText_75a33 + text_end CinnabarGymText_75a38: - TX_FAR _CinnabarGymText_75a38 - db "@" + text_far _CinnabarGymText_75a38 + text_end CinnabarGymText_75a3d: - TX_FAR _CinnabarGymText_75a3d - db "@" + text_far _CinnabarGymText_75a3d + text_end CinnabarGymText7: - TX_ASM + text_asm call CinnabarGymScript_757a0 CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_5 jr nz, .asm_2f755 @@ -412,19 +412,19 @@ CinnabarGymText7: jp TextScriptEnd CinnabarGymText_75a68: - TX_FAR _CinnabarGymText_75a68 - db "@" + text_far _CinnabarGymText_75a68 + text_end CinnabarGymText_75a6d: - TX_FAR _CinnabarGymText_75a6d - db "@" + text_far _CinnabarGymText_75a6d + text_end CinnabarGymText_75a72: - TX_FAR _CinnabarGymText_75a72 - db "@" + text_far _CinnabarGymText_75a72 + text_end CinnabarGymText8: - TX_ASM + text_asm call CinnabarGymScript_757a0 CheckEvent EVENT_BEAT_CINNABAR_GYM_TRAINER_6 jr nz, .asm_d87be @@ -440,19 +440,19 @@ CinnabarGymText8: jp TextScriptEnd CinnabarGymText_75a9d: - TX_FAR _CinnabarGymText_75a9d - db "@" + text_far _CinnabarGymText_75a9d + text_end CinnabarGymText_75aa2: - TX_FAR _CinnabarGymText_75aa2 - db "@" + text_far _CinnabarGymText_75aa2 + text_end CinnabarGymText_75aa7: - TX_FAR _CinnabarGymText_75aa7 - db "@" + text_far _CinnabarGymText_75aa7 + text_end CinnabarGymText9: - TX_ASM + text_asm CheckEvent EVENT_BEAT_BLAINE jr nz, .asm_627d9 ld hl, CinnabarGymText_75ac2 @@ -464,9 +464,9 @@ CinnabarGymText9: jp TextScriptEnd CinnabarGymText_75ac2: - TX_FAR _CinnabarGymText_75ac2 - db "@" + text_far _CinnabarGymText_75ac2 + text_end CinnabarGymText_75ac7: - TX_FAR _CinnabarGymText_75ac7 - db "@" + text_far _CinnabarGymText_75ac7 + text_end diff --git a/scripts/CinnabarIsland.asm b/scripts/CinnabarIsland.asm index b6346a9c..9934d06f 100755 --- a/scripts/CinnabarIsland.asm +++ b/scripts/CinnabarIsland.asm @@ -61,25 +61,25 @@ CinnabarIsland_TextPointers: dw CinnabarIslandText8 CinnabarIslandText8: - TX_FAR _CinnabarIslandText8 - db "@" + text_far _CinnabarIslandText8 + text_end CinnabarIslandText1: - TX_FAR _CinnabarIslandText1 - db "@" + text_far _CinnabarIslandText1 + text_end CinnabarIslandText2: - TX_FAR _CinnabarIslandText2 - db "@" + text_far _CinnabarIslandText2 + text_end CinnabarIslandText3: - TX_FAR _CinnabarIslandText3 - db "@" + text_far _CinnabarIslandText3 + text_end CinnabarIslandText6: - TX_FAR _CinnabarIslandText6 - db "@" + text_far _CinnabarIslandText6 + text_end CinnabarIslandText7: - TX_FAR _CinnabarIslandText7 - db "@" + text_far _CinnabarIslandText7 + text_end diff --git a/scripts/CinnabarLab.asm b/scripts/CinnabarLab.asm index aab3324b..2f4be7f2 100755 --- a/scripts/CinnabarLab.asm +++ b/scripts/CinnabarLab.asm @@ -10,21 +10,21 @@ CinnabarLab_TextPointers: dw Lab1Text5 Lab1Text1: - TX_FAR _Lab1Text1 - db "@" + text_far _Lab1Text1 + text_end Lab1Text2: - TX_FAR _Lab1Text2 - db "@" + text_far _Lab1Text2 + text_end Lab1Text3: - TX_FAR _Lab1Text3 - db "@" + text_far _Lab1Text3 + text_end Lab1Text4: - TX_FAR _Lab1Text4 - db "@" + text_far _Lab1Text4 + text_end Lab1Text5: - TX_FAR _Lab1Text5 - db "@" + text_far _Lab1Text5 + text_end diff --git a/scripts/CinnabarLabFossilRoom.asm b/scripts/CinnabarLabFossilRoom.asm index f5f03a19..ac33e6ee 100755 --- a/scripts/CinnabarLabFossilRoom.asm +++ b/scripts/CinnabarLabFossilRoom.asm @@ -47,7 +47,7 @@ FossilsList: db $00 Lab4Text1: - TX_ASM + text_asm CheckEvent EVENT_GAVE_FOSSIL_TO_LAB jr nz, .asm_75d96 ld hl, Lab4Text_75dc6 @@ -83,23 +83,23 @@ Lab4Text1: jr .asm_75d93 Lab4Text_75dc6: - TX_FAR _Lab4Text_75dc6 - db "@" + text_far _Lab4Text_75dc6 + text_end Lab4Text_75dcb: - TX_FAR _Lab4Text_75dcb - db "@" + text_far _Lab4Text_75dcb + text_end Lab4Text_75dd0: - TX_FAR _Lab4Text_75dd0 - db "@" + text_far _Lab4Text_75dd0 + text_end Lab4Text_75dd5: - TX_FAR _Lab4Text_75dd5 - db "@" + text_far _Lab4Text_75dd5 + text_end Lab4Text2: - TX_ASM + text_asm ld a, $3 ld [wWhichTrade], a predef DoInGameTradeDialogue diff --git a/scripts/CinnabarLabMetronomeRoom.asm b/scripts/CinnabarLabMetronomeRoom.asm index 6eddceae..fd449736 100755 --- a/scripts/CinnabarLabMetronomeRoom.asm +++ b/scripts/CinnabarLabMetronomeRoom.asm @@ -9,7 +9,7 @@ CinnabarLabMetronomeRoom_TextPointers: dw Lab3Text5 Lab3Text1: - TX_ASM + text_asm CheckEvent EVENT_GOT_TM35 jr nz, .asm_e551a ld hl, TM35PreReceiveText @@ -32,31 +32,31 @@ Lab3Text1: jp TextScriptEnd TM35PreReceiveText: - TX_FAR _TM35PreReceiveText - db "@" + text_far _TM35PreReceiveText + text_end ReceivedTM35Text: - TX_FAR _ReceivedTM35Text - TX_SFX_ITEM_1 - db "@" + text_far _ReceivedTM35Text + sound_get_item_1 + text_end TM35ExplanationText: - TX_FAR _TM35ExplanationText - db "@" + text_far _TM35ExplanationText + text_end TM35NoRoomText: - TX_FAR _TM35NoRoomText - db "@" + text_far _TM35NoRoomText + text_end Lab3Text2: - TX_FAR _Lab3Text2 - db "@" + text_far _Lab3Text2 + text_end Lab3Text4: Lab3Text3: - TX_FAR _Lab3Text3 - db "@" + text_far _Lab3Text3 + text_end Lab3Text5: - TX_FAR _Lab3Text5 - db "@" + text_far _Lab3Text5 + text_end diff --git a/scripts/CinnabarLabTradeRoom.asm b/scripts/CinnabarLabTradeRoom.asm index 6093ae14..d313c128 100755 --- a/scripts/CinnabarLabTradeRoom.asm +++ b/scripts/CinnabarLabTradeRoom.asm @@ -7,17 +7,17 @@ CinnabarLabTradeRoom_TextPointers: dw Lab2Text3 Lab2Text1: - TX_FAR _Lab2Text1 - db "@" + text_far _Lab2Text1 + text_end Lab2Text2: - TX_ASM + text_asm ld a, $7 ld [wWhichTrade], a jr Lab2DoTrade Lab2Text3: - TX_ASM + text_asm ld a, $8 ld [wWhichTrade], a Lab2DoTrade: diff --git a/scripts/CinnabarMart.asm b/scripts/CinnabarMart.asm index 898948c7..e614bd29 100755 --- a/scripts/CinnabarMart.asm +++ b/scripts/CinnabarMart.asm @@ -7,9 +7,9 @@ CinnabarMart_TextPointers: dw CinnabarMartText3 CinnabarMartText2: - TX_FAR _CinnabarMartText2 - db "@" + text_far _CinnabarMartText2 + text_end CinnabarMartText3: - TX_FAR _CinnabarMartText3 - db "@" + text_far _CinnabarMartText3 + text_end diff --git a/scripts/CinnabarPokecenter.asm b/scripts/CinnabarPokecenter.asm index a6184bb0..9396f851 100755 --- a/scripts/CinnabarPokecenter.asm +++ b/scripts/CinnabarPokecenter.asm @@ -9,15 +9,15 @@ CinnabarPokecenter_TextPointers: dw CinnabarTradeNurseText CinnabarHealNurseText: - TX_POKECENTER_NURSE + script_pokecenter_nurse CinnabarPokecenterText2: - TX_FAR _CinnabarPokecenterText2 - db "@" + text_far _CinnabarPokecenterText2 + text_end CinnabarPokecenterText3: - TX_FAR _CinnabarPokecenterText3 - db "@" + text_far _CinnabarPokecenterText3 + text_end CinnabarTradeNurseText: - TX_CABLE_CLUB_RECEPTIONIST + script_cable_club_receptionist diff --git a/scripts/Colosseum.asm b/scripts/Colosseum.asm index 8cc6b056..83d41bdc 100755 --- a/scripts/Colosseum.asm +++ b/scripts/Colosseum.asm @@ -5,5 +5,5 @@ Colosseum_TextPointers: dw ColosseumText1 ColosseumText1: - TX_FAR _ColosseumText1 - db "@" + text_far _ColosseumText1 + text_end diff --git a/scripts/CopycatsHouse1F.asm b/scripts/CopycatsHouse1F.asm index a86625fc..fc5ff3cf 100755 --- a/scripts/CopycatsHouse1F.asm +++ b/scripts/CopycatsHouse1F.asm @@ -7,16 +7,16 @@ CopycatsHouse1F_TextPointers: dw CopycatsHouse1FText3 CopycatsHouse1FText1: - TX_FAR _CopycatsHouse1FText1 - db "@" + text_far _CopycatsHouse1FText1 + text_end CopycatsHouse1FText2: - TX_FAR _CopycatsHouse1FText2 - db "@" + text_far _CopycatsHouse1FText2 + text_end CopycatsHouse1FText3: - TX_FAR _CopycatsHouse1FText3 - TX_ASM + text_far _CopycatsHouse1FText3 + text_asm ld a, CHANSEY call PlayCry jp TextScriptEnd diff --git a/scripts/CopycatsHouse2F.asm b/scripts/CopycatsHouse2F.asm index 64612535..959aa249 100755 --- a/scripts/CopycatsHouse2F.asm +++ b/scripts/CopycatsHouse2F.asm @@ -11,7 +11,7 @@ CopycatsHouse2F_TextPointers: dw CopycatsHouse2FText7 CopycatsHouse2FText1: - TX_ASM + text_asm CheckEvent EVENT_GOT_TM31 jr nz, .asm_7ccf3 ld a, $1 @@ -44,46 +44,46 @@ CopycatsHouse2FText1: jp TextScriptEnd CopycatsHouse2FText_5ccd4: - TX_FAR _CopycatsHouse2FText_5ccd4 - db "@" + text_far _CopycatsHouse2FText_5ccd4 + text_end TM31PreReceiveText: - TX_FAR _TM31PreReceiveText - db "@" + text_far _TM31PreReceiveText + text_end ReceivedTM31Text: - TX_FAR _ReceivedTM31Text - TX_SFX_ITEM_1 + text_far _ReceivedTM31Text + sound_get_item_1 TM31ExplanationText1: - TX_FAR _TM31ExplanationText1 - TX_WAIT - db "@" + text_far _TM31ExplanationText1 + text_linkpromptbutton + text_end TM31ExplanationText2: - TX_FAR _TM31ExplanationText2 - db "@" + text_far _TM31ExplanationText2 + text_end TM31NoRoomText: - TX_FAR _TM31NoRoomText - TX_WAIT - db "@" + text_far _TM31NoRoomText + text_linkpromptbutton + text_end CopycatsHouse2FText2: - TX_FAR _CopycatsHouse2FText2 - db "@" + text_far _CopycatsHouse2FText2 + text_end CopycatsHouse2FText5: CopycatsHouse2FText4: CopycatsHouse2FText3: - TX_FAR _CopycatsHouse2FText3 - db "@" + text_far _CopycatsHouse2FText3 + text_end CopycatsHouse2FText6: - TX_FAR _CopycatsHouse2FText6 - db "@" + text_far _CopycatsHouse2FText6 + text_end CopycatsHouse2FText7: - TX_ASM + text_asm ld a, [wSpriteStateData1 + 9] cp SPRITE_FACING_UP ld hl, CopycatsHouse2FText_5cd1c @@ -94,9 +94,9 @@ CopycatsHouse2FText7: jp TextScriptEnd CopycatsHouse2FText_5cd17: - TX_FAR _CopycatsHouse2FText_5cd17 - db "@" + text_far _CopycatsHouse2FText_5cd17 + text_end CopycatsHouse2FText_5cd1c: - TX_FAR _CopycatsHouse2FText_5cd1c - db "@" + text_far _CopycatsHouse2FText_5cd1c + text_end diff --git a/scripts/Daycare.asm b/scripts/Daycare.asm index 81cf5534..4c9e2a85 100755 --- a/scripts/Daycare.asm +++ b/scripts/Daycare.asm @@ -5,7 +5,7 @@ Daycare_TextPointers: dw DayCareMText1 DayCareMText1: - TX_ASM + text_asm call SaveScreenTilesToBuffer2 ld a, [wDayCareInUse] and a @@ -211,59 +211,59 @@ DayCareMText1: jp TextScriptEnd DayCareIntroText: - TX_FAR _DayCareIntroText - db "@" + text_far _DayCareIntroText + text_end DayCareWhichMonText: - TX_FAR _DayCareWhichMonText - db "@" + text_far _DayCareWhichMonText + text_end DayCareWillLookAfterMonText: - TX_FAR _DayCareWillLookAfterMonText - db "@" + text_far _DayCareWillLookAfterMonText + text_end DayCareComeSeeMeInAWhileText: - TX_FAR _DayCareComeSeeMeInAWhileText - db "@" + text_far _DayCareComeSeeMeInAWhileText + text_end DayCareMonHasGrownText: - TX_FAR _DayCareMonHasGrownText - db "@" + text_far _DayCareMonHasGrownText + text_end DayCareOweMoneyText: - TX_FAR _DayCareOweMoneyText - db "@" + text_far _DayCareOweMoneyText + text_end DayCareGotMonBackText: - TX_FAR _DayCareGotMonBackText - db "@" + text_far _DayCareGotMonBackText + text_end DayCareMonNeedsMoreTimeText: - TX_FAR _DayCareMonNeedsMoreTimeText - db "@" + text_far _DayCareMonNeedsMoreTimeText + text_end DayCareAllRightThenText: - TX_FAR _DayCareAllRightThenText + text_far _DayCareAllRightThenText DayCareComeAgainText: - TX_FAR _DayCareComeAgainText - db "@" + text_far _DayCareComeAgainText + text_end DayCareNoRoomForMonText: - TX_FAR _DayCareNoRoomForMonText - db "@" + text_far _DayCareNoRoomForMonText + text_end DayCareOnlyHaveOneMonText: - TX_FAR _DayCareOnlyHaveOneMonText - db "@" + text_far _DayCareOnlyHaveOneMonText + text_end DayCareCantAcceptMonWithHMText: - TX_FAR _DayCareCantAcceptMonWithHMText - db "@" + text_far _DayCareCantAcceptMonWithHMText + text_end DayCareHeresYourMonText: - TX_FAR _DayCareHeresYourMonText - db "@" + text_far _DayCareHeresYourMonText + text_end DayCareNotEnoughMoneyText: - TX_FAR _DayCareNotEnoughMoneyText - db "@" + text_far _DayCareNotEnoughMoneyText + text_end diff --git a/scripts/DiglettsCave.asm b/scripts/DiglettsCave.asm index 1d7b23f9..6746743f 100755 --- a/scripts/DiglettsCave.asm +++ b/scripts/DiglettsCave.asm @@ -2,4 +2,4 @@ DiglettsCave_Script: jp EnableAutoTextBoxDrawing DiglettsCave_TextPointers: - db "@" + text_end diff --git a/scripts/DiglettsCaveRoute11.asm b/scripts/DiglettsCaveRoute11.asm index 54c3112e..648fe2bc 100755 --- a/scripts/DiglettsCaveRoute11.asm +++ b/scripts/DiglettsCaveRoute11.asm @@ -8,5 +8,5 @@ DiglettsCaveRoute11_TextPointers: dw DiglettsCaveEntranceRoute11Text1 DiglettsCaveEntranceRoute11Text1: - TX_FAR _DiglettsCaveEntRoute11Text1 - db "@" + text_far _DiglettsCaveEntRoute11Text1 + text_end diff --git a/scripts/DiglettsCaveRoute2.asm b/scripts/DiglettsCaveRoute2.asm index 5fe7777c..32f17d65 100755 --- a/scripts/DiglettsCaveRoute2.asm +++ b/scripts/DiglettsCaveRoute2.asm @@ -7,5 +7,5 @@ DiglettsCaveRoute2_TextPointers: dw DiglettsCaveRoute2Text1 DiglettsCaveRoute2Text1: - TX_FAR _DiglettsCaveRoute2Text1 - db "@" + text_far _DiglettsCaveRoute2Text1 + text_end diff --git a/scripts/FightingDojo.asm b/scripts/FightingDojo.asm index acedbbfe..eb1e3d55 100755 --- a/scripts/FightingDojo.asm +++ b/scripts/FightingDojo.asm @@ -129,7 +129,7 @@ FightingDojoTrainerHeader3: db $ff FightingDojoText1: - TX_ASM + text_asm CheckEvent EVENT_DEFEATED_FIGHTING_DOJO jp nz, .continue1 CheckEventReuseA EVENT_BEAT_KARATE_MASTER @@ -161,96 +161,96 @@ FightingDojoText1: jp TextScriptEnd FightingDojoText_5ce8e: - TX_FAR _FightingDojoText_5ce8e - db "@" + text_far _FightingDojoText_5ce8e + text_end FightingDojoText_5ce93: - TX_FAR _FightingDojoText_5ce93 - db "@" + text_far _FightingDojoText_5ce93 + text_end FightingDojoText8: - TX_FAR _FightingDojoText_5ce98 - db "@" + text_far _FightingDojoText_5ce98 + text_end FightingDojoText_5ce9d: - TX_FAR _FightingDojoText_5ce9d - db "@" + text_far _FightingDojoText_5ce9d + text_end FightingDojoText2: - TX_ASM + text_asm ld hl, FightingDojoTrainerHeader0 call TalkToTrainer jp TextScriptEnd FightingDojoBattleText1: - TX_FAR _FightingDojoBattleText1 - db "@" + text_far _FightingDojoBattleText1 + text_end FightingDojoEndBattleText1: - TX_FAR _FightingDojoEndBattleText1 - db "@" + text_far _FightingDojoEndBattleText1 + text_end FightingDojoAfterBattleText1: - TX_FAR _FightingDojoAfterBattleText1 - db "@" + text_far _FightingDojoAfterBattleText1 + text_end FightingDojoText3: - TX_ASM + text_asm ld hl, FightingDojoTrainerHeader1 call TalkToTrainer jp TextScriptEnd FightingDojoBattleText2: - TX_FAR _FightingDojoBattleText2 - db "@" + text_far _FightingDojoBattleText2 + text_end FightingDojoEndBattleText2: - TX_FAR _FightingDojoEndBattleText2 - db "@" + text_far _FightingDojoEndBattleText2 + text_end FightingDojoAfterBattleText2: - TX_FAR _FightingDojoAfterBattleText2 - db "@" + text_far _FightingDojoAfterBattleText2 + text_end FightingDojoText4: - TX_ASM + text_asm ld hl, FightingDojoTrainerHeader2 call TalkToTrainer jp TextScriptEnd FightingDojoBattleText3: - TX_FAR _FightingDojoBattleText3 - db "@" + text_far _FightingDojoBattleText3 + text_end FightingDojoEndBattleText3: - TX_FAR _FightingDojoEndBattleText3 - db "@" + text_far _FightingDojoEndBattleText3 + text_end FightingDojoAfterBattleText3: - TX_FAR _FightingDojoAfterBattleText3 - db "@" + text_far _FightingDojoAfterBattleText3 + text_end FightingDojoText5: - TX_ASM + text_asm ld hl, FightingDojoTrainerHeader3 call TalkToTrainer jp TextScriptEnd FightingDojoBattleText4: - TX_FAR _FightingDojoBattleText4 - db "@" + text_far _FightingDojoBattleText4 + text_end FightingDojoEndBattleText4: - TX_FAR _FightingDojoEndBattleText4 - db "@" + text_far _FightingDojoEndBattleText4 + text_end FightingDojoAfterBattleText4: - TX_FAR _FightingDojoAfterBattleText4 - db "@" + text_far _FightingDojoAfterBattleText4 + text_end FightingDojoText6: ; Hitmonlee Poké Ball - TX_ASM + text_asm CheckEitherEventSet EVENT_GOT_HITMONLEE, EVENT_GOT_HITMONCHAN jr z, .GetMon ld hl, OtherHitmonText @@ -280,12 +280,12 @@ FightingDojoText6: jp TextScriptEnd WantHitmonleeText: - TX_FAR _WantHitmonleeText - db "@" + text_far _WantHitmonleeText + text_end FightingDojoText7: ; Hitmonchan Poké Ball - TX_ASM + text_asm CheckEitherEventSet EVENT_GOT_HITMONLEE, EVENT_GOT_HITMONCHAN jr z, .GetMon ld hl, OtherHitmonText @@ -315,9 +315,9 @@ FightingDojoText7: jp TextScriptEnd WantHitmonchanText: - TX_FAR _WantHitmonchanText - db "@" + text_far _WantHitmonchanText + text_end OtherHitmonText: - TX_FAR _OtherHitmonText - db "@" + text_far _OtherHitmonText + text_end diff --git a/scripts/FuchsiaBillsGrandpasHouse.asm b/scripts/FuchsiaBillsGrandpasHouse.asm index ca5f2c16..69ce1cf1 100755 --- a/scripts/FuchsiaBillsGrandpasHouse.asm +++ b/scripts/FuchsiaBillsGrandpasHouse.asm @@ -8,13 +8,13 @@ FuchsiaBillsGrandpasHouse_TextPointers: dw FuchsiaHouse1Text3 FuchsiaHouse1Text1: - TX_FAR _FuchsiaHouse1Text1 - db "@" + text_far _FuchsiaHouse1Text1 + text_end FuchsiaHouse1Text2: - TX_FAR _FuchsiaHouse1Text2 - db "@" + text_far _FuchsiaHouse1Text2 + text_end FuchsiaHouse1Text3: - TX_FAR _FuchsiaHouse1Text3 - db "@" + text_far _FuchsiaHouse1Text3 + text_end diff --git a/scripts/FuchsiaCity.asm b/scripts/FuchsiaCity.asm index d3f0ce32..ac9f273b 100755 --- a/scripts/FuchsiaCity.asm +++ b/scripts/FuchsiaCity.asm @@ -28,20 +28,20 @@ FuchsiaCity_TextPointers: dw FuchsiaCityText24 FuchsiaCityText1: - TX_FAR _FuchsiaCityText1 - db "@" + text_far _FuchsiaCityText1 + text_end FuchsiaCityText2: - TX_FAR _FuchsiaCityText2 - db "@" + text_far _FuchsiaCityText2 + text_end FuchsiaCityText3: - TX_FAR _FuchsiaCityText3 - db "@" + text_far _FuchsiaCityText3 + text_end FuchsiaCityText4: - TX_FAR _FuchsiaCityText4 - db "@" + text_far _FuchsiaCityText4 + text_end FuchsiaCityText5: FuchsiaCityText6: @@ -49,32 +49,32 @@ FuchsiaCityText7: FuchsiaCityText8: FuchsiaCityText9: FuchsiaCityText10: - TX_FAR _FuchsiaCityText5 - db "@" + text_far _FuchsiaCityText5 + text_end FuchsiaCityText12: FuchsiaCityText11: - TX_FAR _FuchsiaCityText11 - db "@" + text_far _FuchsiaCityText11 + text_end FuchsiaCityText13: - TX_FAR _FuchsiaCityText13 - db "@" + text_far _FuchsiaCityText13 + text_end FuchsiaCityText16: - TX_FAR _FuchsiaCityText16 - db "@" + text_far _FuchsiaCityText16 + text_end FuchsiaCityText17: - TX_FAR _FuchsiaCityText17 - db "@" + text_far _FuchsiaCityText17 + text_end FuchsiaCityText18: - TX_FAR _FuchsiaCityText18 - db "@" + text_far _FuchsiaCityText18 + text_end FuchsiaCityText19: - TX_ASM + text_asm ld hl, FuchsiaCityChanseyText call PrintText ld a, CHANSEY @@ -82,11 +82,11 @@ FuchsiaCityText19: jp TextScriptEnd FuchsiaCityChanseyText: - TX_FAR _FuchsiaCityChanseyText - db "@" + text_far _FuchsiaCityChanseyText + text_end FuchsiaCityText20: - TX_ASM + text_asm ld hl, FuchsiaCityVoltorbText call PrintText ld a, VOLTORB @@ -94,11 +94,11 @@ FuchsiaCityText20: jp TextScriptEnd FuchsiaCityVoltorbText: - TX_FAR _FuchsiaCityVoltorbText - db "@" + text_far _FuchsiaCityVoltorbText + text_end FuchsiaCityText21: - TX_ASM + text_asm ld hl, FuchsiaCityKangaskhanText call PrintText ld a, KANGASKHAN @@ -106,11 +106,11 @@ FuchsiaCityText21: jp TextScriptEnd FuchsiaCityKangaskhanText: - TX_FAR _FuchsiaCityKangaskhanText - db "@" + text_far _FuchsiaCityKangaskhanText + text_end FuchsiaCityText22: - TX_ASM + text_asm ld hl, FuchsiaCitySlowpokeText call PrintText ld a, SLOWPOKE @@ -118,11 +118,11 @@ FuchsiaCityText22: jp TextScriptEnd FuchsiaCitySlowpokeText: - TX_FAR _FuchsiaCitySlowpokeText - db "@" + text_far _FuchsiaCitySlowpokeText + text_end FuchsiaCityText23: - TX_ASM + text_asm ld hl, FuchsiaCityLaprasText call PrintText ld a, LAPRAS @@ -130,11 +130,11 @@ FuchsiaCityText23: jp TextScriptEnd FuchsiaCityLaprasText: - TX_FAR _FuchsiaCityLaprasText - db "@" + text_far _FuchsiaCityLaprasText + text_end FuchsiaCityText24: - TX_ASM + text_asm CheckEvent EVENT_GOT_DOME_FOSSIL jr nz, .asm_3b4e8 CheckEventReuseA EVENT_GOT_HELIX_FOSSIL @@ -157,13 +157,13 @@ FuchsiaCityText24: jp TextScriptEnd FuchsiaCityOmanyteText: - TX_FAR _FuchsiaCityOmanyteText - db "@" + text_far _FuchsiaCityOmanyteText + text_end FuchsiaCityKabutoText: - TX_FAR _FuchsiaCityKabutoText - db "@" + text_far _FuchsiaCityKabutoText + text_end FuchsiaCityText_19b2a: - TX_FAR _FuchsiaCityText_19b2a - db "@" + text_far _FuchsiaCityText_19b2a + text_end diff --git a/scripts/FuchsiaGoodRodHouse.asm b/scripts/FuchsiaGoodRodHouse.asm index 93a20e80..848f744c 100755 --- a/scripts/FuchsiaGoodRodHouse.asm +++ b/scripts/FuchsiaGoodRodHouse.asm @@ -5,7 +5,7 @@ FuchsiaGoodRodHouse_TextPointers: dw FuchsiaHouse3Text1 FuchsiaHouse3Text1: - TX_ASM + text_asm ld a, [wd728] bit 4, a jr nz, .after @@ -44,32 +44,32 @@ FuchsiaHouse3Text1: jp TextScriptEnd FuchsiaHouse3Text_561bd: - TX_FAR _FuchsiaHouse3Text_561bd - db "@" + text_far _FuchsiaHouse3Text_561bd + text_end FuchsiaHouse3Text_561c2: - TX_FAR _FuchsiaHouse3Text_561c2 - TX_SFX_ITEM_1 - db "@" + text_far _FuchsiaHouse3Text_561c2 + sound_get_item_1 + text_end UnusedText_561c8: - para "つり こそ" - line "おとこの ロマン だ!" + para "つり こそ" + line "おとこの ロマン だ!" para "へぼいつりざおは" - line "コイキングしか つれ なんだが" - line "この いいつりざおなら" - line "もっと いいもんが つれるんじゃ!" + line "コイキングしか つれ なんだが" + line "この いいつりざおなら" + line "もっと いいもんが つれるんじゃ!" done FuchsiaHouse3Text_56212: - TX_FAR _FuchsiaHouse3Text_56212 - db "@" + text_far _FuchsiaHouse3Text_56212 + text_end FuchsiaHouse3Text_56217: - TX_FAR _FuchsiaHouse3Text_56217 - db "@" + text_far _FuchsiaHouse3Text_56217 + text_end FuchsiaHouse3Text_5621c: - TX_FAR _FuchsiaHouse3Text_5621c - db "@" + text_far _FuchsiaHouse3Text_5621c + text_end diff --git a/scripts/FuchsiaGym.asm b/scripts/FuchsiaGym.asm index d0917106..bf494074 100755 --- a/scripts/FuchsiaGym.asm +++ b/scripts/FuchsiaGym.asm @@ -140,7 +140,7 @@ FuchsiaGymTrainerHeader5: db $ff FuchsiaGymText1: - TX_ASM + text_asm CheckEvent EVENT_BEAT_KOGA jr z, .beginBattle CheckEventReuseA EVENT_GOT_TM06 @@ -175,143 +175,143 @@ FuchsiaGymText1: jp TextScriptEnd KogaBeforeBattleText: - TX_FAR _KogaBeforeBattleText - db "@" + text_far _KogaBeforeBattleText + text_end KogaAfterBattleText: - TX_FAR _KogaAfterBattleText - db "@" + text_far _KogaAfterBattleText + text_end KogaExplainToxicText: - TX_FAR _KogaExplainToxicText - db "@" + text_far _KogaExplainToxicText + text_end FuchsiaGymText9: - TX_FAR _FuchsiaGymText9 - db "@" + text_far _FuchsiaGymText9 + text_end FuchsiaGymText10: - TX_FAR _ReceivedTM06Text - TX_SFX_KEY_ITEM + text_far _ReceivedTM06Text + sound_get_key_item TM06ExplanationText: - TX_FAR _TM06ExplanationText - db "@" + text_far _TM06ExplanationText + text_end FuchsiaGymText11: - TX_FAR _TM06NoRoomText - db "@" + text_far _TM06NoRoomText + text_end FuchsiaGymText2: - TX_ASM + text_asm ld hl, FuchsiaGymTrainerHeader0 call TalkToTrainer jp TextScriptEnd FuchsiaGymBattleText1: - TX_FAR _FuchsiaGymBattleText1 - db "@" + text_far _FuchsiaGymBattleText1 + text_end FuchsiaGymEndBattleText1: - TX_FAR _FuchsiaGymEndBattleText1 - db "@" + text_far _FuchsiaGymEndBattleText1 + text_end FuchsiaGymAfterBattleText1: - TX_FAR _FuchsiaGymAfterBattleText1 - db "@" + text_far _FuchsiaGymAfterBattleText1 + text_end FuchsiaGymText3: - TX_ASM + text_asm ld hl, FuchsiaGymTrainerHeader1 call TalkToTrainer jp TextScriptEnd FuchsiaGymBattleText2: - TX_FAR _FuchsiaGymBattleText2 - db "@" + text_far _FuchsiaGymBattleText2 + text_end FuchsiaGymEndBattleText2: - TX_FAR _FuchsiaGymEndBattleText2 - db "@" + text_far _FuchsiaGymEndBattleText2 + text_end FuchsiaGymAfterBattleText2: - TX_FAR _FuchsiaGymAfterBattleText2 - db "@" + text_far _FuchsiaGymAfterBattleText2 + text_end FuchsiaGymText4: - TX_ASM + text_asm ld hl, FuchsiaGymTrainerHeader2 call TalkToTrainer jp TextScriptEnd FuchsiaGymBattleText3: - TX_FAR _FuchsiaGymBattleText3 - db "@" + text_far _FuchsiaGymBattleText3 + text_end FuchsiaGymEndBattleText3: - TX_FAR _FuchsiaGymEndBattleText3 - db "@" + text_far _FuchsiaGymEndBattleText3 + text_end FuchsiaGymAfterBattleText3: - TX_FAR _FuchsiaGymAfterBattleText3 - db "@" + text_far _FuchsiaGymAfterBattleText3 + text_end FuchsiaGymText5: - TX_ASM + text_asm ld hl, FuchsiaGymTrainerHeader3 call TalkToTrainer jp TextScriptEnd FuchsiaGymBattleText4: - TX_FAR _FuchsiaGymBattleText4 - db "@" + text_far _FuchsiaGymBattleText4 + text_end FuchsiaGymEndBattleText4: - TX_FAR _FuchsiaGymEndBattleText4 - db "@" + text_far _FuchsiaGymEndBattleText4 + text_end FuchsiaGymAfterBattleText4: - TX_FAR _FuchsiaGymAfterBattleText4 - db "@" + text_far _FuchsiaGymAfterBattleText4 + text_end FuchsiaGymText6: - TX_ASM + text_asm ld hl, FuchsiaGymTrainerHeader4 call TalkToTrainer jp TextScriptEnd FuchsiaGymBattleText5: - TX_FAR _FuchsiaGymBattleText5 - db "@" + text_far _FuchsiaGymBattleText5 + text_end FuchsiaGymEndBattleText5: - TX_FAR _FuchsiaGymEndBattleText5 - db "@" + text_far _FuchsiaGymEndBattleText5 + text_end FuchsiaGymAfterBattleText5: - TX_FAR _FuchsiaGymAfterBattleText5 - db "@" + text_far _FuchsiaGymAfterBattleText5 + text_end FuchsiaGymText7: - TX_ASM + text_asm ld hl, FuchsiaGymTrainerHeader5 call TalkToTrainer jp TextScriptEnd FuchsiaGymBattleText6: - TX_FAR _FuchsiaGymBattleText6 - db "@" + text_far _FuchsiaGymBattleText6 + text_end FuchsiaGymEndBattleText6: - TX_FAR _FuchsiaGymEndBattleText6 - db "@" + text_far _FuchsiaGymEndBattleText6 + text_end FuchsiaGymAfterBattleText6: - TX_FAR _FuchsiaGymAfterBattleText6 - db "@" + text_far _FuchsiaGymAfterBattleText6 + text_end FuchsiaGymText8: - TX_ASM + text_asm CheckEvent EVENT_BEAT_KOGA ld hl, FuchsiaGymText_75653 jr nz, .asm_50671 @@ -321,9 +321,9 @@ FuchsiaGymText8: jp TextScriptEnd FuchsiaGymText_7564e: - TX_FAR _FuchsiaGymText_7564e - db "@" + text_far _FuchsiaGymText_7564e + text_end FuchsiaGymText_75653: - TX_FAR _FuchsiaGymText_75653 - db "@" + text_far _FuchsiaGymText_75653 + text_end diff --git a/scripts/FuchsiaMart.asm b/scripts/FuchsiaMart.asm index f17cac49..e6d64c53 100755 --- a/scripts/FuchsiaMart.asm +++ b/scripts/FuchsiaMart.asm @@ -7,9 +7,9 @@ FuchsiaMart_TextPointers: dw FuchsiaMartText3 FuchsiaMartText2: - TX_FAR _FuchsiaMartText2 - db "@" + text_far _FuchsiaMartText2 + text_end FuchsiaMartText3: - TX_FAR _FuchsiaMartText3 - db "@" + text_far _FuchsiaMartText3 + text_end diff --git a/scripts/FuchsiaMeetingRoom.asm b/scripts/FuchsiaMeetingRoom.asm index 95ac12fa..4fc05b1f 100755 --- a/scripts/FuchsiaMeetingRoom.asm +++ b/scripts/FuchsiaMeetingRoom.asm @@ -8,13 +8,13 @@ FuchsiaMeetingRoom_TextPointers: dw FuchsiaMeetingRoomText3 FuchsiaMeetingRoomText1: - TX_FAR _FuchsiaMeetingRoomText1 - db "@" + text_far _FuchsiaMeetingRoomText1 + text_end FuchsiaMeetingRoomText2: - TX_FAR _FuchsiaMeetingRoomText2 - db "@" + text_far _FuchsiaMeetingRoomText2 + text_end FuchsiaMeetingRoomText3: - TX_FAR _FuchsiaMeetingRoomText3 - db "@" + text_far _FuchsiaMeetingRoomText3 + text_end diff --git a/scripts/FuchsiaPokecenter.asm b/scripts/FuchsiaPokecenter.asm index 182ec8c3..788ee24b 100755 --- a/scripts/FuchsiaPokecenter.asm +++ b/scripts/FuchsiaPokecenter.asm @@ -9,15 +9,15 @@ FuchsiaPokecenter_TextPointers: dw FuchsiaTradeNurseText FuchsiaHealNurseText: - TX_POKECENTER_NURSE + script_pokecenter_nurse FuchsiaPokecenterText2: - TX_FAR _FuchsiaPokecenterText1 - db "@" + text_far _FuchsiaPokecenterText1 + text_end FuchsiaPokecenterText3: - TX_FAR _FuchsiaPokecenterText3 - db "@" + text_far _FuchsiaPokecenterText3 + text_end FuchsiaTradeNurseText: - TX_CABLE_CLUB_RECEPTIONIST + script_cable_club_receptionist diff --git a/scripts/GameCorner.asm b/scripts/GameCorner.asm index 57f18ac7..551caa78 100755 --- a/scripts/GameCorner.asm +++ b/scripts/GameCorner.asm @@ -132,11 +132,11 @@ GameCorner_TextPointers: dw CeladonGameCornerText13 CeladonGameCornerText1: - TX_FAR _CeladonGameCornerText1 - db "@" + text_far _CeladonGameCornerText1 + text_end CeladonGameCornerText2: - TX_ASM + text_asm call CeladonGameCornerScript_48f1e ld hl, CeladonGameCornerText_48d22 call PrintText @@ -193,39 +193,39 @@ CeladonGameCornerText2: jp TextScriptEnd CeladonGameCornerText_48d22: - TX_FAR _CeladonGameCornerText_48d22 - db "@" + text_far _CeladonGameCornerText_48d22 + text_end CeladonGameCornerText_48d27: - TX_FAR _CeladonGameCornerText_48d27 - db "@" + text_far _CeladonGameCornerText_48d27 + text_end CeladonGameCornerText_48d2c: - TX_FAR _CeladonGameCornerText_48d2c - db "@" + text_far _CeladonGameCornerText_48d2c + text_end CeladonGameCornerText_48d31: - TX_FAR _CeladonGameCornerText_48d31 - db "@" + text_far _CeladonGameCornerText_48d31 + text_end CeladonGameCornerText_48d36: - TX_FAR _CeladonGameCornerText_48d36 - db "@" + text_far _CeladonGameCornerText_48d36 + text_end CeladonGameCornerText_48d3b: - TX_FAR _CeladonGameCornerText_48d3b - db "@" + text_far _CeladonGameCornerText_48d3b + text_end CeladonGameCornerText3: - TX_FAR _CeladonGameCornerText3 - db "@" + text_far _CeladonGameCornerText3 + text_end CeladonGameCornerText4: - TX_FAR _CeladonGameCornerText4 - db "@" + text_far _CeladonGameCornerText4 + text_end CeladonGameCornerText5: - TX_ASM + text_asm CheckEvent EVENT_GOT_10_COINS jr nz, .asm_48d89 ld hl, CeladonGameCornerText_48d9c @@ -262,28 +262,28 @@ CeladonGameCornerText5: jp TextScriptEnd CeladonGameCornerText_48d9c: - TX_FAR _CeladonGameCornerText_48d9c - db "@" + text_far _CeladonGameCornerText_48d9c + text_end Received10CoinsText: - TX_FAR _Received10CoinsText - TX_SFX_ITEM_1 - db "@" + text_far _Received10CoinsText + sound_get_item_1 + text_end CeladonGameCornerText_48da7: - TX_FAR _CeladonGameCornerText_48da7 - db "@" + text_far _CeladonGameCornerText_48da7 + text_end CeladonGameCornerText_48dac: - TX_FAR _CeladonGameCornerText_48dac - db "@" + text_far _CeladonGameCornerText_48dac + text_end CeladonGameCornerText6: - TX_FAR _CeladonGameCornerText6 - db "@" + text_far _CeladonGameCornerText6 + text_end CeladonGameCornerText7: - TX_ASM + text_asm CheckEvent EVENT_BEAT_ERIKA ld hl, CeladonGameCornerText_48dca jr z, .asm_48dc4 @@ -293,19 +293,19 @@ CeladonGameCornerText7: jp TextScriptEnd CeladonGameCornerText_48dca: - TX_FAR _CeladonGameCornerText_48dca - db "@" + text_far _CeladonGameCornerText_48dca + text_end CeladonGameCornerText_48dcf: - TX_FAR _CeladonGameCornerText_48dcf - db "@" + text_far _CeladonGameCornerText_48dcf + text_end CeladonGameCornerText8: - TX_FAR _CeladonGameCornerText8 - db "@" + text_far _CeladonGameCornerText8 + text_end CeladonGameCornerText9: - TX_ASM + text_asm CheckEvent EVENT_GOT_20_COINS_2 jr nz, .asm_48e13 ld hl, CeladonGameCornerText_48e26 @@ -340,24 +340,24 @@ CeladonGameCornerText9: jp TextScriptEnd CeladonGameCornerText_48e26: - TX_FAR _CeladonGameCornerText_48e26 - db "@" + text_far _CeladonGameCornerText_48e26 + text_end Received20CoinsText: - TX_FAR _Received20CoinsText - TX_SFX_ITEM_1 - db "@" + text_far _Received20CoinsText + sound_get_item_1 + text_end CeladonGameCornerText_48e31: - TX_FAR _CeladonGameCornerText_48e31 - db "@" + text_far _CeladonGameCornerText_48e31 + text_end CeladonGameCornerText_48e36: - TX_FAR _CeladonGameCornerText_48e36 - db "@" + text_far _CeladonGameCornerText_48e36 + text_end CeladonGameCornerText10: - TX_ASM + text_asm CheckEvent EVENT_GOT_20_COINS jr nz, .asm_48e75 ld hl, CeladonGameCornerText_48e88 @@ -392,24 +392,24 @@ CeladonGameCornerText10: jp TextScriptEnd CeladonGameCornerText_48e88: - TX_FAR _CeladonGameCornerText_48e88 - db "@" + text_far _CeladonGameCornerText_48e88 + text_end CeladonGameCornerText_48e8d: - TX_FAR _CeladonGameCornerText_48e8d - TX_SFX_ITEM_1 - db "@" + text_far _CeladonGameCornerText_48e8d + sound_get_item_1 + text_end CeladonGameCornerText_48e93: - TX_FAR _CeladonGameCornerText_48e93 - db "@" + text_far _CeladonGameCornerText_48e93 + text_end CeladonGameCornerText_48e98: - TX_FAR _CeladonGameCornerText_48e98 - db "@" + text_far _CeladonGameCornerText_48e98 + text_end CeladonGameCornerText11: - TX_ASM + text_asm ld hl, CeladonGameCornerText_48ece call PrintText ld hl, wd72d @@ -431,19 +431,19 @@ CeladonGameCornerText11: jp TextScriptEnd CeladonGameCornerText_48ece: - TX_FAR _CeladonGameCornerText_48ece - db "@" + text_far _CeladonGameCornerText_48ece + text_end CeladonGameCornerText_48ed3: - TX_FAR _CeladonGameCornerText_48ed3 - db "@" + text_far _CeladonGameCornerText_48ed3 + text_end CeladonGameCornerText13: - TX_FAR _CeladonGameCornerText_48ed8 - db "@" + text_far _CeladonGameCornerText_48ed8 + text_end CeladonGameCornerText12: - TX_ASM + text_asm ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a ld hl, CeladonGameCornerText_48f09 @@ -460,16 +460,16 @@ CeladonGameCornerText12: jp TextScriptEnd CeladonGameCornerText_48f09: - TX_FAR _CeladonGameCornerText_48f09 - TX_ASM + text_far _CeladonGameCornerText_48f09 + text_asm ld a, SFX_SWITCH call PlaySound call WaitForSoundToFinish jp TextScriptEnd CeladonGameCornerText_48f19: - TX_FAR _CeladonGameCornerText_48f19 - db "@" + text_far _CeladonGameCornerText_48f19 + text_end CeladonGameCornerScript_48f1e: ld hl, wd730 diff --git a/scripts/GameCornerPrizeRoom.asm b/scripts/GameCornerPrizeRoom.asm index e6cf6f0d..c8dddf71 100755 --- a/scripts/GameCornerPrizeRoom.asm +++ b/scripts/GameCornerPrizeRoom.asm @@ -9,12 +9,12 @@ GameCornerPrizeRoom_TextPointers: dw CeladonPrizeRoomText3 CeladonPrizeRoomText1: - TX_FAR _CeladonPrizeRoomText1 - db "@" + text_far _CeladonPrizeRoomText1 + text_end CeladonPrizeRoomText2: - TX_FAR _CeladonPrizeRoomText2 - db "@" + text_far _CeladonPrizeRoomText2 + text_end CeladonPrizeRoomText3: - TX_PRIZE_VENDOR + script_prize_vendor diff --git a/scripts/HallOfFame.asm b/scripts/HallOfFame.asm index 14b4f15e..ef3ed128 100755 --- a/scripts/HallOfFame.asm +++ b/scripts/HallOfFame.asm @@ -105,5 +105,5 @@ HallOfFame_TextPointers: dw HallofFameRoomText1 HallofFameRoomText1: - TX_FAR _HallofFameRoomText1 - db "@" + text_far _HallofFameRoomText1 + text_end diff --git a/scripts/IndigoPlateauLobby.asm b/scripts/IndigoPlateauLobby.asm index f83c0ba4..a9b549e3 100755 --- a/scripts/IndigoPlateauLobby.asm +++ b/scripts/IndigoPlateauLobby.asm @@ -22,15 +22,15 @@ IndigoPlateauLobby_TextPointers: dw IndigoTradeNurseText IndigoHealNurseText: - TX_POKECENTER_NURSE + script_pokecenter_nurse IndigoPlateauLobbyText2: - TX_FAR _IndigoPlateauLobbyText2 - db "@" + text_far _IndigoPlateauLobbyText2 + text_end IndigoPlateauLobbyText3: - TX_FAR _IndigoPlateauLobbyText3 - db "@" + text_far _IndigoPlateauLobbyText3 + text_end IndigoTradeNurseText: - TX_CABLE_CLUB_RECEPTIONIST + script_cable_club_receptionist diff --git a/scripts/LancesRoom.asm b/scripts/LancesRoom.asm index 5e19ea7d..712972e8 100755 --- a/scripts/LancesRoom.asm +++ b/scripts/LancesRoom.asm @@ -142,21 +142,21 @@ LanceTrainerHeader0: db $ff LanceText1: - TX_ASM + text_asm ld hl, LanceTrainerHeader0 call TalkToTrainer jp TextScriptEnd LanceBeforeBattleText: - TX_FAR _LanceBeforeBattleText - db "@" + text_far _LanceBeforeBattleText + text_end LanceEndBattleText: - TX_FAR _LanceEndBattleText - db "@" + text_far _LanceEndBattleText + text_end LanceAfterBattleText: - TX_FAR _LanceAfterBattleText - TX_ASM + text_far _LanceAfterBattleText + text_asm SetEvent EVENT_BEAT_LANCE jp TextScriptEnd diff --git a/scripts/LavenderCuboneHouse.asm b/scripts/LavenderCuboneHouse.asm index ff5aa732..45f2f8d8 100755 --- a/scripts/LavenderCuboneHouse.asm +++ b/scripts/LavenderCuboneHouse.asm @@ -7,14 +7,14 @@ LavenderCuboneHouse_TextPointers: dw LavenderHouse2Text2 LavenderHouse2Text1: - TX_FAR _LavenderHouse2Text1 - TX_ASM + text_far _LavenderHouse2Text1 + text_asm ld a, CUBONE call PlayCry jp TextScriptEnd LavenderHouse2Text2: - TX_ASM + text_asm CheckEvent EVENT_RESCUED_MR_FUJI jr nz, .asm_65711 ld hl, LavenderHouse2Text_1d9dc @@ -27,9 +27,9 @@ LavenderHouse2Text2: jp TextScriptEnd LavenderHouse2Text_1d9dc: - TX_FAR _LavenderHouse2Text_1d9dc - db "@" + text_far _LavenderHouse2Text_1d9dc + text_end LavenderHouse2Text_1d9e1: - TX_FAR _LavenderHouse2Text_1d9e1 - db "@" + text_far _LavenderHouse2Text_1d9e1 + text_end diff --git a/scripts/LavenderMart.asm b/scripts/LavenderMart.asm index 47330e5d..2b67aaa6 100755 --- a/scripts/LavenderMart.asm +++ b/scripts/LavenderMart.asm @@ -7,11 +7,11 @@ LavenderMart_TextPointers: dw LavenderMartText3 LavenderMartText2: - TX_FAR _LavenderMartText2 - db "@" + text_far _LavenderMartText2 + text_end LavenderMartText3: - TX_ASM + text_asm CheckEvent EVENT_RESCUED_MR_FUJI jr nz, .Nugget ld hl, .ReviveText @@ -24,9 +24,9 @@ LavenderMartText3: jp TextScriptEnd .ReviveText - TX_FAR _LavenderMartReviveText - db "@" + text_far _LavenderMartReviveText + text_end .NuggetText - TX_FAR _LavenderMartNuggetText - db "@" + text_far _LavenderMartNuggetText + text_end diff --git a/scripts/LavenderPokecenter.asm b/scripts/LavenderPokecenter.asm index 10482fef..b8a1d2a5 100755 --- a/scripts/LavenderPokecenter.asm +++ b/scripts/LavenderPokecenter.asm @@ -9,15 +9,15 @@ LavenderPokecenter_TextPointers: dw LavenderTradeNurseText LavenderTradeNurseText: - TX_CABLE_CLUB_RECEPTIONIST + script_cable_club_receptionist LavenderHealNurseText: - TX_POKECENTER_NURSE + script_pokecenter_nurse LavenderPokecenterText2: - TX_FAR _LavenderPokecenterText2 - db "@" + text_far _LavenderPokecenterText2 + text_end LavenderPokecenterText3: - TX_FAR _LavenderPokecenterText3 - db "@" + text_far _LavenderPokecenterText3 + text_end diff --git a/scripts/LavenderTown.asm b/scripts/LavenderTown.asm index c23996e9..7902db45 100755 --- a/scripts/LavenderTown.asm +++ b/scripts/LavenderTown.asm @@ -13,7 +13,7 @@ LavenderTown_TextPointers: dw LavenderTownText9 LavenderTownText1: - TX_ASM + text_asm ld hl, LavenderTownText_4413c call PrintText call YesNoChoice @@ -27,37 +27,37 @@ LavenderTownText1: jp TextScriptEnd LavenderTownText_4413c: - TX_FAR _LavenderTownText_4413c - db "@" + text_far _LavenderTownText_4413c + text_end LavenderTownText_44141: - TX_FAR _LavenderTownText_44141 - db "@" + text_far _LavenderTownText_44141 + text_end LavenderTownText_44146: - TX_FAR _LavenderTownText_44146 - db "@" + text_far _LavenderTownText_44146 + text_end LavenderTownText2: - TX_FAR _LavenderTownText2 - db "@" + text_far _LavenderTownText2 + text_end LavenderTownText3: - TX_FAR _LavenderTownText3 - db "@" + text_far _LavenderTownText3 + text_end LavenderTownText4: - TX_FAR _LavenderTownText4 - db "@" + text_far _LavenderTownText4 + text_end LavenderTownText5: - TX_FAR _LavenderTownText5 - db "@" + text_far _LavenderTownText5 + text_end LavenderTownText8: - TX_FAR _LavenderTownText8 - db "@" + text_far _LavenderTownText8 + text_end LavenderTownText9: - TX_FAR _LavenderTownText9 - db "@" + text_far _LavenderTownText9 + text_end diff --git a/scripts/LoreleisRoom.asm b/scripts/LoreleisRoom.asm index 81142377..c03d1161 100755 --- a/scripts/LoreleisRoom.asm +++ b/scripts/LoreleisRoom.asm @@ -131,23 +131,23 @@ LoreleiTrainerHeader0: db $ff LoreleiText1: - TX_ASM + text_asm ld hl, LoreleiTrainerHeader0 call TalkToTrainer jp TextScriptEnd LoreleiBeforeBattleText: - TX_FAR _LoreleiBeforeBattleText - db "@" + text_far _LoreleiBeforeBattleText + text_end LoreleiEndBattleText: - TX_FAR _LoreleiEndBattleText - db "@" + text_far _LoreleiEndBattleText + text_end LoreleiAfterBattleText: - TX_FAR _LoreleiAfterBattleText - db "@" + text_far _LoreleiAfterBattleText + text_end LoreleiDontRunAwayText: - TX_FAR _LoreleiDontRunAwayText - db "@" + text_far _LoreleiDontRunAwayText + text_end diff --git a/scripts/MrFujisHouse.asm b/scripts/MrFujisHouse.asm index 98190cd8..88f36e4f 100755 --- a/scripts/MrFujisHouse.asm +++ b/scripts/MrFujisHouse.asm @@ -11,7 +11,7 @@ MrFujisHouse_TextPointers: dw LavenderHouse1Text6 LavenderHouse1Text1: - TX_ASM + text_asm CheckEvent EVENT_RESCUED_MR_FUJI jr nz, .asm_72e5d ld hl, LavenderHouse1Text_1d8d1 @@ -24,15 +24,15 @@ LavenderHouse1Text1: jp TextScriptEnd LavenderHouse1Text_1d8d1: - TX_FAR _LavenderHouse1Text_1d8d1 - db "@" + text_far _LavenderHouse1Text_1d8d1 + text_end LavenderHouse1Text_1d8d6: - TX_FAR _LavenderHouse1Text_1d8d6 - db "@" + text_far _LavenderHouse1Text_1d8d6 + text_end LavenderHouse1Text2: - TX_ASM + text_asm CheckEvent EVENT_RESCUED_MR_FUJI jr nz, .asm_06470 ld hl, LavenderHouse1Text_1d8f4 @@ -45,29 +45,29 @@ LavenderHouse1Text2: jp TextScriptEnd LavenderHouse1Text_1d8f4: - TX_FAR _LavenderHouse1Text_1d8f4 - db "@" + text_far _LavenderHouse1Text_1d8f4 + text_end LavenderHouse1Text_1d8f9: - TX_FAR _LavenderHouse1Text_1d8f9 - db "@" + text_far _LavenderHouse1Text_1d8f9 + text_end LavenderHouse1Text3: - TX_FAR _LavenderHouse1Text3 - TX_ASM + text_far _LavenderHouse1Text3 + text_asm ld a, PSYDUCK call PlayCry jp TextScriptEnd LavenderHouse1Text4: - TX_FAR _LavenderHouse1Text4 - TX_ASM + text_far _LavenderHouse1Text4 + text_asm ld a, NIDORINO call PlayCry jp TextScriptEnd LavenderHouse1Text5: - TX_ASM + text_asm CheckEvent EVENT_GOT_POKE_FLUTE jr nz, .asm_15ac2 ld hl, LavenderHouse1Text_1d94c @@ -90,23 +90,23 @@ LavenderHouse1Text5: jp TextScriptEnd LavenderHouse1Text_1d94c: - TX_FAR _LavenderHouse1Text_1d94c - db "@" + text_far _LavenderHouse1Text_1d94c + text_end ReceivedFluteText: - TX_FAR _ReceivedFluteText - TX_SFX_KEY_ITEM - TX_FAR _FluteExplanationText - db "@" + text_far _ReceivedFluteText + sound_get_key_item + text_far _FluteExplanationText + text_end FluteNoRoomText: - TX_FAR _FluteNoRoomText - db "@" + text_far _FluteNoRoomText + text_end MrFujiAfterFluteText: - TX_FAR _MrFujiAfterFluteText - db "@" + text_far _MrFujiAfterFluteText + text_end LavenderHouse1Text6: - TX_FAR _LavenderHouse1Text6 - db "@" + text_far _LavenderHouse1Text6 + text_end diff --git a/scripts/MrPsychicsHouse.asm b/scripts/MrPsychicsHouse.asm index 7d4f54c0..15d3c0cd 100755 --- a/scripts/MrPsychicsHouse.asm +++ b/scripts/MrPsychicsHouse.asm @@ -5,7 +5,7 @@ MrPsychicsHouse_TextPointers: dw SaffronHouse2Text1 SaffronHouse2Text1: - TX_ASM + text_asm CheckEvent EVENT_GOT_TM29 jr nz, .asm_9e72b ld hl, TM29PreReceiveText @@ -28,18 +28,18 @@ SaffronHouse2Text1: jp TextScriptEnd TM29PreReceiveText: - TX_FAR _TM29PreReceiveText - db "@" + text_far _TM29PreReceiveText + text_end ReceivedTM29Text: - TX_FAR _ReceivedTM29Text - TX_SFX_ITEM_1 - db "@" + text_far _ReceivedTM29Text + sound_get_item_1 + text_end TM29ExplanationText: - TX_FAR _TM29ExplanationText - db "@" + text_far _TM29ExplanationText + text_end TM29NoRoomText: - TX_FAR _TM29NoRoomText - db "@" + text_far _TM29NoRoomText + text_end diff --git a/scripts/MtMoon1F.asm b/scripts/MtMoon1F.asm index b05b3f60..a538b9b2 100755 --- a/scripts/MtMoon1F.asm +++ b/scripts/MtMoon1F.asm @@ -94,131 +94,131 @@ MtMoon1TrainerHeader6: db $ff MtMoon1Text1: - TX_ASM + text_asm ld hl, MtMoon1TrainerHeader0 call TalkToTrainer jp TextScriptEnd MtMoon1Text2: - TX_ASM + text_asm ld hl, MtMoon1TrainerHeader1 call TalkToTrainer jp TextScriptEnd MtMoon1Text3: - TX_ASM + text_asm ld hl, MtMoon1TrainerHeader2 call TalkToTrainer jp TextScriptEnd MtMoon1Text4: - TX_ASM + text_asm ld hl, MtMoon1TrainerHeader3 call TalkToTrainer jp TextScriptEnd MtMoon1Text5: - TX_ASM + text_asm ld hl, MtMoon1TrainerHeader4 call TalkToTrainer jp TextScriptEnd MtMoon1Text6: - TX_ASM + text_asm ld hl, MtMoon1TrainerHeader5 call TalkToTrainer jp TextScriptEnd MtMoon1Text7: - TX_ASM + text_asm ld hl, MtMoon1TrainerHeader6 call TalkToTrainer jp TextScriptEnd MtMoon1BattleText2: - TX_FAR _MtMoon1BattleText2 - db "@" + text_far _MtMoon1BattleText2 + text_end MtMoon1EndBattleText2: - TX_FAR _MtMoon1EndBattleText2 - db "@" + text_far _MtMoon1EndBattleText2 + text_end MtMoon1AfterBattleText2: - TX_FAR _MtMoon1AfterBattleText2 - db "@" + text_far _MtMoon1AfterBattleText2 + text_end MtMoon1BattleText3: - TX_FAR _MtMoon1BattleText3 - db "@" + text_far _MtMoon1BattleText3 + text_end MtMoon1EndBattleText3: - TX_FAR _MtMoon1EndBattleText3 - db "@" + text_far _MtMoon1EndBattleText3 + text_end MtMoon1AfterBattleText3: - TX_FAR _MtMoon1AfterBattleText3 - db "@" + text_far _MtMoon1AfterBattleText3 + text_end MtMoon1BattleText4: - TX_FAR _MtMoon1BattleText4 - db "@" + text_far _MtMoon1BattleText4 + text_end MtMoon1EndBattleText4: - TX_FAR _MtMoon1EndBattleText4 - db "@" + text_far _MtMoon1EndBattleText4 + text_end MtMoon1AfterBattleText4: - TX_FAR _MtMoon1AfterBattleText4 - db "@" + text_far _MtMoon1AfterBattleText4 + text_end MtMoon1BattleText5: - TX_FAR _MtMoon1BattleText5 - db "@" + text_far _MtMoon1BattleText5 + text_end MtMoon1EndBattleText5: - TX_FAR _MtMoon1EndBattleText5 - db "@" + text_far _MtMoon1EndBattleText5 + text_end MtMoon1AfterBattleText5: - TX_FAR _MtMoon1AfterBattleText5 - db "@" + text_far _MtMoon1AfterBattleText5 + text_end MtMoon1BattleText6: - TX_FAR _MtMoon1BattleText6 - db "@" + text_far _MtMoon1BattleText6 + text_end MtMoon1EndBattleText6: - TX_FAR _MtMoon1EndBattleText6 - db "@" + text_far _MtMoon1EndBattleText6 + text_end MtMoon1AfterBattleText6: - TX_FAR _MtMoon1AfterBattleText6 - db "@" + text_far _MtMoon1AfterBattleText6 + text_end MtMoon1BattleText7: - TX_FAR _MtMoon1BattleText7 - db "@" + text_far _MtMoon1BattleText7 + text_end MtMoon1EndBattleText7: - TX_FAR _MtMoon1EndBattleText7 - db "@" + text_far _MtMoon1EndBattleText7 + text_end MtMoon1AfterBattleText7: - TX_FAR _MtMoon1AfterBattleText7 - db "@" + text_far _MtMoon1AfterBattleText7 + text_end MtMoon1BattleText8: - TX_FAR _MtMoon1BattleText8 - db "@" + text_far _MtMoon1BattleText8 + text_end MtMoon1EndBattleText8: - TX_FAR _MtMoon1EndBattleText8 - db "@" + text_far _MtMoon1EndBattleText8 + text_end MtMoon1AfterBattleText8: - TX_FAR _MtMoon1AfterBattleText8 - db "@" + text_far _MtMoon1AfterBattleText8 + text_end MtMoon1Text14: - TX_FAR _MtMoon1Text14 - db "@" + text_far _MtMoon1Text14 + text_end diff --git a/scripts/MtMoonB1F.asm b/scripts/MtMoonB1F.asm index 779812c3..06af2dd3 100755 --- a/scripts/MtMoonB1F.asm +++ b/scripts/MtMoonB1F.asm @@ -6,5 +6,5 @@ MtMoonB1F_TextPointers: dw MtMoonText1 MtMoonText1: - TX_FAR _MtMoonText1 - db "@" + text_far _MtMoonText1 + text_end diff --git a/scripts/MtMoonB2F.asm b/scripts/MtMoonB2F.asm index 3a9ec99f..cc6828f7 100755 --- a/scripts/MtMoonB2F.asm +++ b/scripts/MtMoonB2F.asm @@ -205,7 +205,7 @@ MtMoon3TrainerHeader3: db $ff MtMoon3Text1: - TX_ASM + text_asm CheckEvent EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD jr z, .asm_49e8d and $c0 @@ -237,31 +237,31 @@ MtMoon3Text1: jp TextScriptEnd MtMoon3Text2: - TX_ASM + text_asm ld hl, MtMoon3TrainerHeader0 call TalkToTrainer jp TextScriptEnd MtMoon3Text3: - TX_ASM + text_asm ld hl, MtMoon3TrainerHeader1 call TalkToTrainer jp TextScriptEnd MtMoon3Text4: - TX_ASM + text_asm ld hl, MtMoon3TrainerHeader2 call TalkToTrainer jp TextScriptEnd MtMoon3Text5: - TX_ASM + text_asm ld hl, MtMoon3TrainerHeader3 call TalkToTrainer jp TextScriptEnd MtMoon3Text6: - TX_ASM + text_asm ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a ld hl, MtMoon3Text_49f24 @@ -285,11 +285,11 @@ MtMoon3Text6: jp TextScriptEnd MtMoon3Text_49f24: - TX_FAR _MtMoon3Text_49f24 - db "@" + text_far _MtMoon3Text_49f24 + text_end MtMoon3Text7: - TX_ASM + text_asm ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a ld hl, MtMoon3Text_49f64 @@ -313,18 +313,18 @@ MtMoon3Text7: jp TextScriptEnd MtMoon3Text_49f64: - TX_FAR _MtMoon3Text_49f64 - db "@" + text_far _MtMoon3Text_49f64 + text_end MtMoon3Script_49f69: ld hl, MtMoon3Text_49f6f jp PrintText MtMoon3Text_49f6f: - TX_FAR _MtMoon3Text_49f6f - TX_SFX_KEY_ITEM - TX_WAIT - db "@" + text_far _MtMoon3Text_49f6f + sound_get_key_item + text_linkpromptbutton + text_end MtMoon3Script_49f76: ld hl, MtMoon3Text_49f7f @@ -332,75 +332,75 @@ MtMoon3Script_49f76: jp TextScriptEnd MtMoon3Text_49f7f: - TX_FAR _MtMoon3Text_49f7f - TX_WAIT - db "@" + text_far _MtMoon3Text_49f7f + text_linkpromptbutton + text_end MtMoon3Text_49f85: - TX_FAR _MtMoon3Text_49f85 - db "@" + text_far _MtMoon3Text_49f85 + text_end MtMoon3Text_49f8a: - TX_FAR _MtMoon3Text_49f8a - db "@" + text_far _MtMoon3Text_49f8a + text_end MtMoon3Text_49f8f: - TX_FAR _MtMoon3Text_49f8f - db "@" + text_far _MtMoon3Text_49f8f + text_end MtMoon3Text_49f94: - TX_FAR _MtMoon3Text_49f94 - db "@" + text_far _MtMoon3Text_49f94 + text_end MtMoon3Text_49f99: - TX_FAR _MtMoon3Text_49f99 - TX_SFX_KEY_ITEM - db "@" + text_far _MtMoon3Text_49f99 + sound_get_key_item + text_end MtMoon3BattleText2: - TX_FAR _MtMoon3BattleText2 - db "@" + text_far _MtMoon3BattleText2 + text_end MtMoon3EndBattleText2: - TX_FAR _MtMoon3EndBattleText2 - db "@" + text_far _MtMoon3EndBattleText2 + text_end MtMoon3AfterBattleText2: - TX_FAR _MtMoon3AfterBattleText2 - db "@" + text_far _MtMoon3AfterBattleText2 + text_end MtMoon3BattleText3: - TX_FAR _MtMoon3BattleText3 - db "@" + text_far _MtMoon3BattleText3 + text_end MtMoon3EndBattleText3: - TX_FAR _MtMoon3EndBattleText3 - db "@" + text_far _MtMoon3EndBattleText3 + text_end MtMoon3AfterBattleText3: - TX_FAR _MtMoon3AfterBattleText3 - db "@" + text_far _MtMoon3AfterBattleText3 + text_end MtMoon3BattleText4: - TX_FAR _MtMoon3BattleText4 - db "@" + text_far _MtMoon3BattleText4 + text_end MtMoon3EndBattleText4: - TX_FAR _MtMoon3EndBattleText4 - db "@" + text_far _MtMoon3EndBattleText4 + text_end MtMoon3AfterBattleText4: - TX_FAR _MtMoon3AfterBattleText4 - db "@" + text_far _MtMoon3AfterBattleText4 + text_end MtMoon3BattleText5: - TX_FAR _MtMoon3BattleText5 - db "@" + text_far _MtMoon3BattleText5 + text_end MtMoon3EndBattleText5: - TX_FAR _MtMoon3EndBattleText5 - db "@" + text_far _MtMoon3EndBattleText5 + text_end MtMoon3AfterBattleText5: - TX_FAR _MtMoon3AfterBattleText5 - db "@" + text_far _MtMoon3AfterBattleText5 + text_end diff --git a/scripts/MtMoonPokecenter.asm b/scripts/MtMoonPokecenter.asm index 969031db..8a5ca99f 100755 --- a/scripts/MtMoonPokecenter.asm +++ b/scripts/MtMoonPokecenter.asm @@ -14,15 +14,15 @@ MtMoonHealNurseText: db $ff MtMoonPokecenterText2: - TX_FAR _MtMoonPokecenterText1 - db "@" + text_far _MtMoonPokecenterText1 + text_end MtMoonPokecenterText3: - TX_FAR _MtMoonPokecenterText3 - db "@" + text_far _MtMoonPokecenterText3 + text_end MagikarpSalesmanText: - TX_ASM + text_asm CheckEvent EVENT_BOUGHT_MAGIKARP, 1 jp c, .alreadyBoughtMagikarp ld hl, .Text1 @@ -71,24 +71,24 @@ MagikarpSalesmanText: jp TextScriptEnd .Text1 - TX_FAR _MagikarpSalesmanText1 - db "@" + text_far _MagikarpSalesmanText1 + text_end .RefuseText - TX_FAR _MagikarpSalesmanNoText - db "@" + text_far _MagikarpSalesmanNoText + text_end .NoMoneyText - TX_FAR _MagikarpSalesmanNoMoneyText - db "@" + text_far _MagikarpSalesmanNoMoneyText + text_end .Text2 - TX_FAR _MagikarpSalesmanText2 - db "@" + text_far _MagikarpSalesmanText2 + text_end MtMoonPokecenterText5: - TX_FAR _MtMoonPokecenterText5 - db "@" + text_far _MtMoonPokecenterText5 + text_end MtMoonTradeNurseText: db $f6 diff --git a/scripts/Museum1F.asm b/scripts/Museum1F.asm index 712f1fc4..a8a609ff 100755 --- a/scripts/Museum1F.asm +++ b/scripts/Museum1F.asm @@ -39,7 +39,7 @@ Museum1F_TextPointers: dw Museum1FText5 Museum1FText1: - TX_ASM + text_asm ld a, [wYCoord] cp $4 jr nz, .asm_8774b @@ -140,53 +140,53 @@ Museum1FScriptEnd: jp TextScriptEnd Museum1FText_5c21a: - TX_FAR _Museum1FText_5c21a - db "@" + text_far _Museum1FText_5c21a + text_end Museum1FText_5c21f: - TX_FAR _Museum1FText_5c21f - db "@" + text_far _Museum1FText_5c21f + text_end Museum1FText_5c224: - TX_FAR _Museum1FText_5c224 - db "@" + text_far _Museum1FText_5c224 + text_end Museum1FText_5c229: - TX_FAR _Museum1FText_5c229 - db "@" + text_far _Museum1FText_5c229 + text_end Museum1FText_5c22e: - TX_FAR _Museum1FText_5c22e - db "@" + text_far _Museum1FText_5c22e + text_end Museum1FText_5c233: - TX_FAR _Museum1FText_5c233 - db "@" + text_far _Museum1FText_5c233 + text_end Museum1FText_5c238: - TX_FAR _Museum1FText_5c238 - db "@" + text_far _Museum1FText_5c238 + text_end Museum1FText_5c23d: - TX_FAR _Museum1FText_5c23d - db "@" + text_far _Museum1FText_5c23d + text_end Museum1FText_5c242: - TX_FAR _Museum1FText_5c242 - db "@" + text_far _Museum1FText_5c242 + text_end Museum1FText2: - TX_ASM + text_asm ld hl, Museum1FText_5c251 call PrintText jp TextScriptEnd Museum1FText_5c251: - TX_FAR _Museum1FText_5c251 - db "@" + text_far _Museum1FText_5c251 + text_end Museum1FText3: - TX_ASM + text_asm CheckEvent EVENT_GOT_OLD_AMBER jr nz, .asm_5c285 ld hl, Museum1FText_5c28e @@ -210,38 +210,38 @@ Museum1FText3: jp TextScriptEnd Museum1FText_5c28e: - TX_FAR _Museum1FText_5c28e - db "@" + text_far _Museum1FText_5c28e + text_end ReceivedOldAmberText: - TX_FAR _ReceivedOldAmberText - TX_SFX_ITEM_1 - db "@" + text_far _ReceivedOldAmberText + sound_get_item_1 + text_end Museum1FText_5c299: - TX_FAR _Museum1FText_5c299 - db "@" + text_far _Museum1FText_5c299 + text_end Museum1FText_5c29e: - TX_FAR _Museum1FText_5c29e - db "@" + text_far _Museum1FText_5c29e + text_end Museum1FText4: - TX_ASM + text_asm ld hl, Museum1FText_5c2ad call PrintText jp TextScriptEnd Museum1FText_5c2ad: - TX_FAR _Museum1FText_5c2ad - db "@" + text_far _Museum1FText_5c2ad + text_end Museum1FText5: - TX_ASM + text_asm ld hl, Museum1FText_5c2bc call PrintText jp TextScriptEnd Museum1FText_5c2bc: - TX_FAR _Museum1FText_5c2bc - db "@" + text_far _Museum1FText_5c2bc + text_end diff --git a/scripts/Museum2F.asm b/scripts/Museum2F.asm index ce4d3d81..8b1aa0bf 100755 --- a/scripts/Museum2F.asm +++ b/scripts/Museum2F.asm @@ -11,29 +11,29 @@ Museum2F_TextPointers: dw Museum2FText7 Museum2FText1: - TX_FAR _Museum2FText1 - db "@" + text_far _Museum2FText1 + text_end Museum2FText2: - TX_FAR _Museum2FText2 - db "@" + text_far _Museum2FText2 + text_end Museum2FText3: - TX_FAR _Museum2FText3 - db "@" + text_far _Museum2FText3 + text_end Museum2FText4: - TX_FAR _Museum2FText4 - db "@" + text_far _Museum2FText4 + text_end Museum2FText5: - TX_FAR _Museum2FText5 - db "@" + text_far _Museum2FText5 + text_end Museum2FText6: - TX_FAR _Museum2FText6 - db "@" + text_far _Museum2FText6 + text_end Museum2FText7: - TX_FAR _Museum2FText7 - db "@" + text_far _Museum2FText7 + text_end diff --git a/scripts/NameRatersHouse.asm b/scripts/NameRatersHouse.asm index 323cb360..7694e92b 100755 --- a/scripts/NameRatersHouse.asm +++ b/scripts/NameRatersHouse.asm @@ -41,7 +41,7 @@ NameRatersHouse_TextPointers: dw NameRaterText1 NameRaterText1: - TX_ASM + text_asm call SaveScreenTilesToBuffer2 ld hl, NameRaterText_1dab3 call NameRaterScript_1da15 @@ -79,29 +79,29 @@ NameRaterText1: jr .asm_1daa8 NameRaterText_1dab3: - TX_FAR _NameRaterText_1dab3 - db "@" + text_far _NameRaterText_1dab3 + text_end NameRaterText_1dab8: - TX_FAR _NameRaterText_1dab8 - db "@" + text_far _NameRaterText_1dab8 + text_end NameRaterText_1dabd: - TX_FAR _NameRaterText_1dabd - db "@" + text_far _NameRaterText_1dabd + text_end NameRaterText_1dac2: - TX_FAR _NameRaterText_1dac2 - db "@" + text_far _NameRaterText_1dac2 + text_end NameRaterText_1dac7: - TX_FAR _NameRaterText_1dac7 - db "@" + text_far _NameRaterText_1dac7 + text_end NameRaterText_1dacc: - TX_FAR _NameRaterText_1dacc - db "@" + text_far _NameRaterText_1dacc + text_end NameRaterText_1dad1: - TX_FAR _NameRaterText_1dad1 - db "@" + text_far _NameRaterText_1dad1 + text_end diff --git a/scripts/OaksLab.asm b/scripts/OaksLab.asm index b3347849..a890f44e 100755 --- a/scripts/OaksLab.asm +++ b/scripts/OaksLab.asm @@ -762,7 +762,7 @@ OaksLab_TextPointers2: dw OaksLabText11 OaksLabText1: - TX_ASM + text_asm CheckEvent EVENT_FOLLOWED_OAK_INTO_LAB_2 jr nz, .beforeChooseMon ld hl, OaksLabGaryText1 @@ -781,19 +781,19 @@ OaksLabText1: jp TextScriptEnd OaksLabGaryText1: - TX_FAR _OaksLabGaryText1 - db "@" + text_far _OaksLabGaryText1 + text_end OaksLabText40: - TX_FAR _OaksLabText40 - db "@" + text_far _OaksLabText40 + text_end OaksLabText41: - TX_FAR _OaksLabText41 - db "@" + text_far _OaksLabText41 + text_end OaksLabText2: - TX_ASM + text_asm ld a, STARTER2 ld [wRivalStarterTemp], a ld a, $3 @@ -803,7 +803,7 @@ OaksLabText2: jr OaksLabScript_1d133 OaksLabText3: - TX_ASM + text_asm ld a, STARTER3 ld [wRivalStarterTemp], a ld a, $4 @@ -813,7 +813,7 @@ OaksLabText3: jr OaksLabScript_1d133 OaksLabText4: - TX_ASM + text_asm ld a, STARTER1 ld [wRivalStarterTemp], a ld a, $2 @@ -835,8 +835,8 @@ OaksLabScript_1d133: jp TextScriptEnd OaksLabText39: - TX_FAR _OaksLabText39 - db "@" + text_far _OaksLabText39 + text_end OaksLabScript_1d157: ld a, $5 @@ -870,22 +870,22 @@ OaksLabLookAtCharmander: ld hl, OaksLabCharmanderText jr OaksLabMonChoiceMenu OaksLabCharmanderText: - TX_FAR _OaksLabCharmanderText - db "@" + text_far _OaksLabCharmanderText + text_end OaksLabLookAtSquirtle: ld hl, OaksLabSquirtleText jr OaksLabMonChoiceMenu OaksLabSquirtleText: - TX_FAR _OaksLabSquirtleText - db "@" + text_far _OaksLabSquirtleText + text_end OaksLabLookAtBulbasaur: ld hl, OaksLabBulbasaurText jr OaksLabMonChoiceMenu OaksLabBulbasaurText: - TX_FAR _OaksLabBulbasaurText - db "@" + text_far _OaksLabBulbasaurText + text_end OaksLabMonChoiceMenu: call PrintText @@ -937,13 +937,13 @@ OaksLabMonChoiceEnd: jp TextScriptEnd OaksLabMonEnergeticText: - TX_FAR _OaksLabMonEnergeticText - db "@" + text_far _OaksLabMonEnergeticText + text_end OaksLabReceivedMonText: - TX_FAR _OaksLabReceivedMonText - TX_SFX_KEY_ITEM - db "@" + text_far _OaksLabReceivedMonText + sound_get_key_item + text_end OaksLabScript_1d22d: ld a, $5 @@ -957,12 +957,12 @@ OaksLabScript_1d22d: jp TextScriptEnd OaksLabLastMonText: - TX_FAR _OaksLabLastMonText - db "@" + text_far _OaksLabLastMonText + text_end OaksLabText32: OaksLabText5: - TX_ASM + text_asm CheckEvent EVENT_PALLET_AFTER_GETTING_POKEBALLS jr nz, .asm_1d266 ld hl, wPokedexOwned @@ -1033,201 +1033,201 @@ OaksLabText5: jp TextScriptEnd OaksLabText_1d2f0: - TX_FAR _OaksLabText_1d2f0 - db "@" + text_far _OaksLabText_1d2f0 + text_end OaksLabText_1d2f5: - TX_FAR _OaksLabText_1d2f5 - db "@" + text_far _OaksLabText_1d2f5 + text_end OaksLabText_1d2fa: - TX_FAR _OaksLabText_1d2fa - db "@" + text_far _OaksLabText_1d2fa + text_end OaksLabDeliverParcelText: - TX_FAR _OaksLabDeliverParcelText1 - TX_SFX_KEY_ITEM - TX_FAR _OaksLabDeliverParcelText2 - db "@" + text_far _OaksLabDeliverParcelText1 + sound_get_key_item + text_far _OaksLabDeliverParcelText2 + text_end OaksLabAroundWorldText: - TX_FAR _OaksLabAroundWorldText - db "@" + text_far _OaksLabAroundWorldText + text_end OaksLabGivePokeballsText: - TX_FAR _OaksLabGivePokeballsText1 - TX_SFX_KEY_ITEM - TX_FAR _OaksLabGivePokeballsText2 - db "@" + text_far _OaksLabGivePokeballsText1 + sound_get_key_item + text_far _OaksLabGivePokeballsText2 + text_end OaksLabPleaseVisitText: - TX_FAR _OaksLabPleaseVisitText - db "@" + text_far _OaksLabPleaseVisitText + text_end OaksLabText_1d31d: - TX_FAR _OaksLabText_1d31d - db "@" + text_far _OaksLabText_1d31d + text_end OaksLabText7: OaksLabText6: - TX_ASM + text_asm ld hl, OaksLabText_1d32c call PrintText jp TextScriptEnd OaksLabText_1d32c: - TX_FAR _OaksLabText_1d32c - db "@" + text_far _OaksLabText_1d32c + text_end OaksLabText8: - TX_FAR _OaksLabText8 - db "@" + text_far _OaksLabText8 + text_end OaksLabText9: - TX_ASM + text_asm ld hl, OaksLabText_1d340 call PrintText jp TextScriptEnd OaksLabText_1d340: - TX_FAR _OaksLabText_1d340 - db "@" + text_far _OaksLabText_1d340 + text_end OaksLabText17: - TX_ASM + text_asm ld hl, OaksLabRivalWaitingText call PrintText jp TextScriptEnd OaksLabRivalWaitingText: - TX_FAR _OaksLabRivalWaitingText - db "@" + text_far _OaksLabRivalWaitingText + text_end OaksLabText18: - TX_ASM + text_asm ld hl, OaksLabChooseMonText call PrintText jp TextScriptEnd OaksLabChooseMonText: - TX_FAR _OaksLabChooseMonText - db "@" + text_far _OaksLabChooseMonText + text_end OaksLabText19: - TX_ASM + text_asm ld hl, OaksLabRivalInterjectionText call PrintText jp TextScriptEnd OaksLabRivalInterjectionText: - TX_FAR _OaksLabRivalInterjectionText - db "@" + text_far _OaksLabRivalInterjectionText + text_end OaksLabText20: - TX_ASM + text_asm ld hl, OaksLabBePatientText call PrintText jp TextScriptEnd OaksLabBePatientText: - TX_FAR _OaksLabBePatientText - db "@" + text_far _OaksLabBePatientText + text_end OaksLabText12: - TX_ASM + text_asm ld hl, OaksLabLeavingText call PrintText jp TextScriptEnd OaksLabLeavingText: - TX_FAR _OaksLabLeavingText - db "@" + text_far _OaksLabLeavingText + text_end OaksLabText13: - TX_ASM + text_asm ld hl, OaksLabRivalPickingMonText call PrintText jp TextScriptEnd OaksLabRivalPickingMonText: - TX_FAR _OaksLabRivalPickingMonText - db "@" + text_far _OaksLabRivalPickingMonText + text_end OaksLabText14: - TX_ASM + text_asm ld hl, OaksLabRivalReceivedMonText call PrintText jp TextScriptEnd OaksLabRivalReceivedMonText: - TX_FAR _OaksLabRivalReceivedMonText - TX_SFX_KEY_ITEM - db "@" + text_far _OaksLabRivalReceivedMonText + sound_get_key_item + text_end OaksLabText15: - TX_ASM + text_asm ld hl, OaksLabRivalChallengeText call PrintText jp TextScriptEnd OaksLabRivalChallengeText: - TX_FAR _OaksLabRivalChallengeText - db "@" + text_far _OaksLabRivalChallengeText + text_end OaksLabText_1d3be: - TX_FAR _OaksLabText_1d3be - db "@" + text_far _OaksLabText_1d3be + text_end OaksLabText_1d3c3: - TX_FAR _OaksLabText_1d3c3 - db "@" + text_far _OaksLabText_1d3c3 + text_end OaksLabText16: - TX_ASM + text_asm ld hl, OaksLabRivalToughenUpText call PrintText jp TextScriptEnd OaksLabRivalToughenUpText: - TX_FAR _OaksLabRivalToughenUpText - db "@" + text_far _OaksLabRivalToughenUpText + text_end OaksLabText21: - TX_FAR _OaksLabText21 - db "@" + text_far _OaksLabText21 + text_end OaksLabText22: - TX_FAR _OaksLabText22 - db "@" + text_far _OaksLabText22 + text_end OaksLabText23: - TX_FAR _OaksLabText23 - db "@" + text_far _OaksLabText23 + text_end OaksLabText24: - TX_FAR _OaksLabText24 - db "@" + text_far _OaksLabText24 + text_end OaksLabText25: - TX_FAR _OaksLabText25 - TX_SFX_KEY_ITEM - db "@" + text_far _OaksLabText25 + sound_get_key_item + text_end OaksLabText26: - TX_FAR _OaksLabText26 - db "@" + text_far _OaksLabText26 + text_end OaksLabText27: - TX_FAR _OaksLabText27 - db "@" + text_far _OaksLabText27 + text_end OaksLabText11: OaksLabText10: - TX_ASM + text_asm ld hl, OaksLabText_1d405 call PrintText jp TextScriptEnd OaksLabText_1d405: - TX_FAR _OaksLabText_1d405 - db "@" + text_far _OaksLabText_1d405 + text_end diff --git a/scripts/PalletTown.asm b/scripts/PalletTown.asm index ff500ca0..579e8cd8 100755 --- a/scripts/PalletTown.asm +++ b/scripts/PalletTown.asm @@ -158,7 +158,7 @@ PalletTown_TextPointers: dw PalletTownText7 PalletTownText1: - TX_ASM + text_asm ld a, [wcf0d] and a jr nz, .next @@ -173,8 +173,8 @@ PalletTownText1: jp TextScriptEnd OakAppearsText: - TX_FAR _OakAppearsText - TX_ASM + text_far _OakAppearsText + text_asm ld c, 10 call DelayFrames xor a @@ -186,29 +186,29 @@ OakAppearsText: jp TextScriptEnd OakWalksUpText: - TX_FAR _OakWalksUpText - db "@" + text_far _OakWalksUpText + text_end PalletTownText2: ; girl - TX_FAR _PalletTownText2 - db "@" + text_far _PalletTownText2 + text_end PalletTownText3: ; fat man - TX_FAR _PalletTownText3 - db "@" + text_far _PalletTownText3 + text_end PalletTownText4: ; sign by lab - TX_FAR _PalletTownText4 - db "@" + text_far _PalletTownText4 + text_end PalletTownText5: ; sign by fence - TX_FAR _PalletTownText5 - db "@" + text_far _PalletTownText5 + text_end PalletTownText6: ; sign by Red’s house - TX_FAR _PalletTownText6 - db "@" + text_far _PalletTownText6 + text_end PalletTownText7: ; sign by Blue’s house - TX_FAR _PalletTownText7 - db "@" + text_far _PalletTownText7 + text_end diff --git a/scripts/PewterCity.asm b/scripts/PewterCity.asm index 86037c13..a082d5eb 100755 --- a/scripts/PewterCity.asm +++ b/scripts/PewterCity.asm @@ -193,15 +193,15 @@ PewterCity_TextPointers: dw PewterCityText14 PewterCityText1: - TX_FAR _PewterCityText1 - db "@" + text_far _PewterCityText1 + text_end PewterCityText2: - TX_FAR _PewterCityText2 - db "@" + text_far _PewterCityText2 + text_end PewterCityText3: - TX_ASM + text_asm ld hl, PewterCityText_193f1 call PrintText call YesNoChoice @@ -231,23 +231,23 @@ PewterCityText3: jp TextScriptEnd PewterCityText_193f1: - TX_FAR _PewterCityText_193f1 - db "@" + text_far _PewterCityText_193f1 + text_end PewterCityText_193f6: - TX_FAR _PewterCityText_193f6 - db "@" + text_far _PewterCityText_193f6 + text_end PewterCityText_193fb: - TX_FAR _PewterCityText_193fb - db "@" + text_far _PewterCityText_193fb + text_end PewterCityText13: - TX_FAR _PewterCityText13 - db "@" + text_far _PewterCityText13 + text_end PewterCityText4: - TX_ASM + text_asm ld hl, PewterCityText_19427 call PrintText call YesNoChoice @@ -264,19 +264,19 @@ PewterCityText4: jp TextScriptEnd PewterCityText_19427: - TX_FAR _PewterCityText_19427 - db "@" + text_far _PewterCityText_19427 + text_end PewterCityText_1942c: - TX_FAR _PewterCityText_1942c - db "@" + text_far _PewterCityText_1942c + text_end PewterCityText_19431: - TX_FAR _PewterCityText_19431 - db "@" + text_far _PewterCityText_19431 + text_end PewterCityText5: - TX_ASM + text_asm ld hl, PewterCityText_1945d call PrintText xor a @@ -294,29 +294,29 @@ PewterCityText5: jp TextScriptEnd PewterCityText_1945d: - TX_FAR _PewterCityText_1945d - db "@" + text_far _PewterCityText_1945d + text_end PewterCityText14: - TX_FAR _PewterCityText14 - db "@" + text_far _PewterCityText14 + text_end PewterCityText6: - TX_FAR _PewterCityText6 - db "@" + text_far _PewterCityText6 + text_end PewterCityText7: - TX_FAR _PewterCityText7 - db "@" + text_far _PewterCityText7 + text_end PewterCityText10: - TX_FAR _PewterCityText10 - db "@" + text_far _PewterCityText10 + text_end PewterCityText11: - TX_FAR _PewterCityText11 - db "@" + text_far _PewterCityText11 + text_end PewterCityText12: - TX_FAR _PewterCityText12 - db "@" + text_far _PewterCityText12 + text_end diff --git a/scripts/PewterGym.asm b/scripts/PewterGym.asm index 643fe41c..8e3bdc46 100755 --- a/scripts/PewterGym.asm +++ b/scripts/PewterGym.asm @@ -99,7 +99,7 @@ PewterGymTrainerHeader0: db $ff PewterGymText1: - TX_ASM + text_asm CheckEvent EVENT_BEAT_BROCK jr z, .beginBattle CheckEventReuseA EVENT_GOT_TM34 @@ -135,53 +135,53 @@ PewterGymText1: jp TextScriptEnd PewterGymText_5c49e: - TX_FAR _PewterGymText_5c49e - db "@" + text_far _PewterGymText_5c49e + text_end PewterGymText_5c4a3: - TX_FAR _PewterGymText_5c4a3 - db "@" + text_far _PewterGymText_5c4a3 + text_end PewterGymText4: - TX_FAR _TM34PreReceiveText - db "@" + text_far _TM34PreReceiveText + text_end PewterGymText5: - TX_FAR _ReceivedTM34Text - TX_SFX_ITEM_1 - TX_FAR _TM34ExplanationText - db "@" + text_far _ReceivedTM34Text + sound_get_item_1 + text_far _TM34ExplanationText + text_end PewterGymText6: - TX_FAR _TM34NoRoomText - db "@" + text_far _TM34NoRoomText + text_end PewterGymText_5c4bc: - TX_FAR _PewterGymText_5c4bc - TX_SFX_LEVEL_UP ; probably supposed to play SFX_GET_ITEM_1 but the wrong music bank is loaded - TX_FAR _PewterGymText_5c4c1 - db "@" + text_far _PewterGymText_5c4bc + sound_level_up ; probably supposed to play SFX_GET_ITEM_1 but the wrong music bank is loaded + text_far _PewterGymText_5c4c1 + text_end PewterGymText2: - TX_ASM + text_asm ld hl, PewterGymTrainerHeader0 call TalkToTrainer jp TextScriptEnd PewterGymBattleText1: - TX_FAR _PewterGymBattleText1 - db "@" + text_far _PewterGymBattleText1 + text_end PewterGymEndBattleText1: - TX_FAR _PewterGymEndBattleText1 - db "@" + text_far _PewterGymEndBattleText1 + text_end PewterGymAfterBattleText1: - TX_FAR _PewterGymAfterBattleText1 - db "@" + text_far _PewterGymAfterBattleText1 + text_end PewterGymText3: - TX_ASM + text_asm ld a, [wBeatGymFlags] bit 0, a jr nz, .asm_5c50c @@ -208,21 +208,21 @@ PewterGymText3: jp TextScriptEnd PewterGymText_5c515: - TX_FAR _PewterGymText_5c515 - db "@" + text_far _PewterGymText_5c515 + text_end PewterGymText_5c51a: - TX_FAR _PewterGymText_5c51a - db "@" + text_far _PewterGymText_5c51a + text_end PewterGymText_5c51f: - TX_FAR _PewterGymText_5c51f - db "@" + text_far _PewterGymText_5c51f + text_end PewterGymText_5c524: - TX_FAR _PewterGymText_5c524 - db "@" + text_far _PewterGymText_5c524 + text_end PewterGymText_5c529: - TX_FAR _PewterGymText_5c529 - db "@" + text_far _PewterGymText_5c529 + text_end diff --git a/scripts/PewterMart.asm b/scripts/PewterMart.asm index c71f8413..b2ae5a11 100755 --- a/scripts/PewterMart.asm +++ b/scripts/PewterMart.asm @@ -10,19 +10,19 @@ PewterMart_TextPointers: dw PewterMartText3 PewterMartText2: - TX_ASM + text_asm ld hl, .Text call PrintText jp TextScriptEnd .Text - TX_FAR _PewterMartText2 - db "@" + text_far _PewterMartText2 + text_end PewterMartText3: - TX_ASM + text_asm ld hl, .Text call PrintText jp TextScriptEnd .Text - TX_FAR _PewterMartText3 - db "@" + text_far _PewterMartText3 + text_end diff --git a/scripts/PewterNidoranHouse.asm b/scripts/PewterNidoranHouse.asm index a4e85e08..93d430c0 100755 --- a/scripts/PewterNidoranHouse.asm +++ b/scripts/PewterNidoranHouse.asm @@ -7,17 +7,17 @@ PewterNidoranHouse_TextPointers: dw PewterHouse1Text3 PewterHouse1Text1: - TX_FAR _PewterHouse1Text1 - TX_ASM + text_far _PewterHouse1Text1 + text_asm ld a, NIDORAN_M call PlayCry call WaitForSoundToFinish jp TextScriptEnd PewterHouse1Text2: - TX_FAR _PewterHouse1Text2 - db "@" + text_far _PewterHouse1Text2 + text_end PewterHouse1Text3: - TX_FAR _PewterHouse1Text3 - db "@" + text_far _PewterHouse1Text3 + text_end diff --git a/scripts/PewterPokecenter.asm b/scripts/PewterPokecenter.asm index be933fee..1c626541 100755 --- a/scripts/PewterPokecenter.asm +++ b/scripts/PewterPokecenter.asm @@ -9,14 +9,14 @@ PewterPokecenter_TextPointers: dw PewterTradeNurseText PewterHealNurseText: - TX_POKECENTER_NURSE + script_pokecenter_nurse PewterPokecenterText2: - TX_FAR _PewterPokecenterText2 - db "@" + text_far _PewterPokecenterText2 + text_end PewterJigglypuffText: - TX_ASM + text_asm ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a ld hl, .Text @@ -71,8 +71,8 @@ PewterJigglypuffText: jp TextScriptEnd .Text - TX_FAR _PewterJigglypuffText - db "@" + text_far _PewterJigglypuffText + text_end JigglypuffFacingDirections: db $30 | SPRITE_FACING_DOWN @@ -82,4 +82,4 @@ JigglypuffFacingDirections: JigglypuffFacingDirectionsEnd: PewterTradeNurseText: - TX_CABLE_CLUB_RECEPTIONIST + script_cable_club_receptionist diff --git a/scripts/PewterSpeechHouse.asm b/scripts/PewterSpeechHouse.asm index 943e1759..5d3d9249 100755 --- a/scripts/PewterSpeechHouse.asm +++ b/scripts/PewterSpeechHouse.asm @@ -6,9 +6,9 @@ PewterSpeechHouse_TextPointers: dw PewterHouse2Text2 PewterHouse2Text1: - TX_FAR _PewterHouse2Text1 - db "@" + text_far _PewterHouse2Text1 + text_end PewterHouse2Text2: - TX_FAR _PewterHouse2Text2 - db "@" + text_far _PewterHouse2Text2 + text_end diff --git a/scripts/PokemonFanClub.asm b/scripts/PokemonFanClub.asm index 673d6011..62a5ce84 100755 --- a/scripts/PokemonFanClub.asm +++ b/scripts/PokemonFanClub.asm @@ -23,7 +23,7 @@ PokemonFanClub_TextPointers: FanClubText1: ; pikachu fan - TX_ASM + text_asm CheckEvent EVENT_PIKACHU_FAN_BOAST jr nz, .mineisbetter ld hl, .normaltext @@ -38,16 +38,16 @@ FanClubText1: jp TextScriptEnd .normaltext - TX_FAR PikachuFanText - db "@" + text_far PikachuFanText + text_end .bettertext - TX_FAR PikachuFanBetterText - db "@" + text_far PikachuFanBetterText + text_end FanClubText2: ; seel fan - TX_ASM + text_asm CheckEvent EVENT_SEEL_FAN_BOAST jr nz, .mineisbetter ld hl, .normaltext @@ -62,16 +62,16 @@ FanClubText2: jp TextScriptEnd .normaltext - TX_FAR SeelFanText - db "@" + text_far SeelFanText + text_end .bettertext - TX_FAR SeelFanBetterText - db "@" + text_far SeelFanBetterText + text_end FanClubText3: ; pikachu - TX_ASM + text_asm ld hl, .text call PrintText ld a, PIKACHU @@ -80,12 +80,12 @@ FanClubText3: jp TextScriptEnd .text - TX_FAR FanClubPikachuText - db "@" + text_far FanClubPikachuText + text_end FanClubText4: ; seel - TX_ASM + text_asm ld hl, .text call PrintText ld a, SEEL @@ -94,12 +94,12 @@ FanClubText4: jp TextScriptEnd .text - TX_FAR FanClubSeelText - db "@" + text_far FanClubSeelText + text_end FanClubText5: ; chair - TX_ASM + text_asm call FanClubBikeInBag jr nz, .nothingleft @@ -135,39 +135,39 @@ FanClubText5: jp TextScriptEnd .meetchairtext - TX_FAR FanClubMeetChairText - db "@" + text_far FanClubMeetChairText + text_end .storytext - TX_FAR FanClubChairStoryText - db "@" + text_far FanClubChairStoryText + text_end .receivedvouchertext - TX_FAR ReceivedBikeVoucherText - TX_SFX_KEY_ITEM - TX_FAR ExplainBikeVoucherText - db "@" + text_far ReceivedBikeVoucherText + sound_get_key_item + text_far ExplainBikeVoucherText + text_end .nostorytext - TX_FAR FanClubNoStoryText - db "@" + text_far FanClubNoStoryText + text_end .finaltext - TX_FAR FanClubChairFinalText - db "@" + text_far FanClubChairFinalText + text_end .bagfulltext - TX_FAR FanClubBagFullText - db "@" + text_far FanClubBagFullText + text_end FanClubText6: - TX_FAR _FanClubText6 - db "@" + text_far _FanClubText6 + text_end FanClubText7: - TX_FAR _FanClubText7 - db "@" + text_far _FanClubText7 + text_end FanClubText8: - TX_FAR _FanClubText8 - db "@" + text_far _FanClubText8 + text_end diff --git a/scripts/PokemonMansion1F.asm b/scripts/PokemonMansion1F.asm index 028097af..d369e992 100755 --- a/scripts/PokemonMansion1F.asm +++ b/scripts/PokemonMansion1F.asm @@ -78,25 +78,25 @@ Mansion1TrainerHeader0: db $ff Mansion1Text1: - TX_ASM + text_asm ld hl, Mansion1TrainerHeader0 call TalkToTrainer jp TextScriptEnd Mansion1BattleText2: - TX_FAR _Mansion1BattleText2 - db "@" + text_far _Mansion1BattleText2 + text_end Mansion1EndBattleText2: - TX_FAR _Mansion1EndBattleText2 - db "@" + text_far _Mansion1EndBattleText2 + text_end Mansion1AfterBattleText2: - TX_FAR _Mansion1AfterBattleText2 - db "@" + text_far _Mansion1AfterBattleText2 + text_end Mansion1Text4: - TX_ASM + text_asm ld hl, MansionSwitchText call PrintText call YesNoChoice @@ -122,13 +122,13 @@ Mansion1Text4: jp TextScriptEnd MansionSwitchText: - TX_FAR _MansionSwitchText - db "@" + text_far _MansionSwitchText + text_end MansionSwitchPressedText: - TX_FAR _MansionSwitchPressedText - db "@" + text_far _MansionSwitchPressedText + text_end MansionSwitchNotPressedText: - TX_FAR _MansionSwitchNotPressedText - db "@" + text_far _MansionSwitchNotPressedText + text_end diff --git a/scripts/PokemonMansion2F.asm b/scripts/PokemonMansion2F.asm index f5643dad..3ddc28a5 100755 --- a/scripts/PokemonMansion2F.asm +++ b/scripts/PokemonMansion2F.asm @@ -75,34 +75,34 @@ Mansion2TrainerHeader0: db $ff Mansion2Text1: - TX_ASM + text_asm ld hl, Mansion2TrainerHeader0 call TalkToTrainer jp TextScriptEnd Mansion2BattleText1: - TX_FAR _Mansion2BattleText1 - db "@" + text_far _Mansion2BattleText1 + text_end Mansion2EndBattleText1: - TX_FAR _Mansion2EndBattleText1 - db "@" + text_far _Mansion2EndBattleText1 + text_end Mansion2AfterBattleText1: - TX_FAR _Mansion2AfterBattleText1 - db "@" + text_far _Mansion2AfterBattleText1 + text_end Mansion2Text3: - TX_FAR _Mansion2Text3 - db "@" + text_far _Mansion2Text3 + text_end Mansion2Text4: - TX_FAR _Mansion2Text4 - db "@" + text_far _Mansion2Text4 + text_end Mansion3Text6: Mansion2Text5: - TX_ASM + text_asm ld hl, Mansion2Text_520c2 call PrintText call YesNoChoice @@ -128,13 +128,13 @@ Mansion2Text5: jp TextScriptEnd Mansion2Text_520c2: - TX_FAR _Mansion2Text_520c2 - db "@" + text_far _Mansion2Text_520c2 + text_end Mansion2Text_520c7: - TX_FAR _Mansion2Text_520c7 - db "@" + text_far _Mansion2Text_520c7 + text_end Mansion2Text_520cc: - TX_FAR _Mansion2Text_520cc - db "@" + text_far _Mansion2Text_520cc + text_end diff --git a/scripts/PokemonMansion3F.asm b/scripts/PokemonMansion3F.asm index 532394d4..a04c3b1f 100755 --- a/scripts/PokemonMansion3F.asm +++ b/scripts/PokemonMansion3F.asm @@ -111,41 +111,41 @@ Mansion3TrainerHeader1: db $ff Mansion3Text1: - TX_ASM + text_asm ld hl, Mansion3TrainerHeader0 call TalkToTrainer jp TextScriptEnd Mansion3Text2: - TX_ASM + text_asm ld hl, Mansion3TrainerHeader1 call TalkToTrainer jp TextScriptEnd Mansion3BattleText1: - TX_FAR _Mansion3BattleText1 - db "@" + text_far _Mansion3BattleText1 + text_end Mansion3EndBattleText1: - TX_FAR _Mansion3EndBattleText1 - db "@" + text_far _Mansion3EndBattleText1 + text_end Mansion3AfterBattleText1: - TX_FAR _Mansion3AfterBattleText1 - db "@" + text_far _Mansion3AfterBattleText1 + text_end Mansion3BattleText2: - TX_FAR _Mansion3BattleText2 - db "@" + text_far _Mansion3BattleText2 + text_end Mansion3EndBattleText2: - TX_FAR _Mansion3EndBattleText2 - db "@" + text_far _Mansion3EndBattleText2 + text_end Mansion3AfterBattleText2: - TX_FAR _Mansion3AfterBattleText2 - db "@" + text_far _Mansion3AfterBattleText2 + text_end Mansion3Text5: - TX_FAR _Mansion3Text5 - db "@" + text_far _Mansion3Text5 + text_end diff --git a/scripts/PokemonMansionB1F.asm b/scripts/PokemonMansionB1F.asm index f8a20590..99e866d8 100755 --- a/scripts/PokemonMansionB1F.asm +++ b/scripts/PokemonMansionB1F.asm @@ -90,41 +90,41 @@ Mansion4TrainerHeader1: db $ff Mansion4Text1: - TX_ASM + text_asm ld hl, Mansion4TrainerHeader0 call TalkToTrainer jp TextScriptEnd Mansion4Text2: - TX_ASM + text_asm ld hl, Mansion4TrainerHeader1 call TalkToTrainer jp TextScriptEnd Mansion4BattleText1: - TX_FAR _Mansion4BattleText1 - db "@" + text_far _Mansion4BattleText1 + text_end Mansion4EndBattleText1: - TX_FAR _Mansion4EndBattleText1 - db "@" + text_far _Mansion4EndBattleText1 + text_end Mansion4AfterBattleText1: - TX_FAR _Mansion4AfterBattleText1 - db "@" + text_far _Mansion4AfterBattleText1 + text_end Mansion4BattleText2: - TX_FAR _Mansion4BattleText2 - db "@" + text_far _Mansion4BattleText2 + text_end Mansion4EndBattleText2: - TX_FAR _Mansion4EndBattleText2 - db "@" + text_far _Mansion4EndBattleText2 + text_end Mansion4AfterBattleText2: - TX_FAR _Mansion4AfterBattleText2 - db "@" + text_far _Mansion4AfterBattleText2 + text_end Mansion4Text7: - TX_FAR _Mansion4Text7 - db "@" + text_far _Mansion4Text7 + text_end diff --git a/scripts/PokemonTower1F.asm b/scripts/PokemonTower1F.asm index 66b5505c..65614523 100755 --- a/scripts/PokemonTower1F.asm +++ b/scripts/PokemonTower1F.asm @@ -9,21 +9,21 @@ PokemonTower1F_TextPointers: dw PokemonTower1Text5 PokemonTower1Text1: - TX_FAR _PokemonTower1Text1 - db "@" + text_far _PokemonTower1Text1 + text_end PokemonTower1Text2: - TX_FAR _PokemonTower1Text2 - db "@" + text_far _PokemonTower1Text2 + text_end PokemonTower1Text3: - TX_FAR _PokemonTower1Text3 - db "@" + text_far _PokemonTower1Text3 + text_end PokemonTower1Text4: - TX_FAR _PokemonTower1Text4 - db "@" + text_far _PokemonTower1Text4 + text_end PokemonTower1Text5: - TX_FAR _PokemonTower1Text5 - db "@" + text_far _PokemonTower1Text5 + text_end diff --git a/scripts/PokemonTower2F.asm b/scripts/PokemonTower2F.asm index cc00d938..4cf308b5 100755 --- a/scripts/PokemonTower2F.asm +++ b/scripts/PokemonTower2F.asm @@ -127,7 +127,7 @@ PokemonTower2F_TextPointers: dw PokemonTower2Text2 PokemonTower2Text1: - TX_ASM + text_asm CheckEvent EVENT_BEAT_POKEMON_TOWER_RIVAL jr z, .asm_16f24 ld hl, PokemonTower2Text_6063c @@ -168,21 +168,21 @@ PokemonTower2Text1: jp TextScriptEnd PokemonTower2Text_6062d: - TX_FAR _PokemonTower2Text_6062d - db "@" + text_far _PokemonTower2Text_6062d + text_end PokemonTower2Text_60632: - TX_FAR _PokemonTower2Text_60632 - db "@" + text_far _PokemonTower2Text_60632 + text_end PokemonTower2Text_60637: - TX_FAR _PokemonTower2Text_60637 - db "@" + text_far _PokemonTower2Text_60637 + text_end PokemonTower2Text_6063c: - TX_FAR _PokemonTower2Text_6063c - db "@" + text_far _PokemonTower2Text_6063c + text_end PokemonTower2Text2: - TX_FAR _PokemonTower2Text2 - db "@" + text_far _PokemonTower2Text2 + text_end diff --git a/scripts/PokemonTower3F.asm b/scripts/PokemonTower3F.asm index 7d8f63e9..d35bd758 100755 --- a/scripts/PokemonTower3F.asm +++ b/scripts/PokemonTower3F.asm @@ -47,55 +47,55 @@ PokemonTower3TrainerHeader2: db $ff PokemonTower3Text1: - TX_ASM + text_asm ld hl, PokemonTower3TrainerHeader0 call TalkToTrainer jp TextScriptEnd PokemonTower3Text2: - TX_ASM + text_asm ld hl, PokemonTower3TrainerHeader1 call TalkToTrainer jp TextScriptEnd PokemonTower3Text3: - TX_ASM + text_asm ld hl, PokemonTower3TrainerHeader2 call TalkToTrainer jp TextScriptEnd PokemonTower3BattleText1: - TX_FAR _PokemonTower3BattleText1 - db "@" + text_far _PokemonTower3BattleText1 + text_end PokemonTower3EndBattleText1: - TX_FAR _PokemonTower3EndBattleText1 - db "@" + text_far _PokemonTower3EndBattleText1 + text_end PokemonTower3AfterBattleText1: - TX_FAR _PokemonTower3AfterBattleText1 - db "@" + text_far _PokemonTower3AfterBattleText1 + text_end PokemonTower3BattleText2: - TX_FAR _PokemonTower3BattleText2 - db "@" + text_far _PokemonTower3BattleText2 + text_end PokemonTower3EndBattleText2: - TX_FAR _PokemonTower3EndBattleText2 - db "@" + text_far _PokemonTower3EndBattleText2 + text_end PokemonTower3AfterBattleText2: - TX_FAR _PokemonTower3AfterBattleText2 - db "@" + text_far _PokemonTower3AfterBattleText2 + text_end PokemonTower3BattleText3: - TX_FAR _PokemonTower3BattleText3 - db "@" + text_far _PokemonTower3BattleText3 + text_end PokemonTower3EndBattleText3: - TX_FAR _PokemonTower3EndBattleText3 - db "@" + text_far _PokemonTower3EndBattleText3 + text_end PokemonTower3AfterBattleText3: - TX_FAR _PokemonTower3AfterBattleText3 - db "@" + text_far _PokemonTower3AfterBattleText3 + text_end diff --git a/scripts/PokemonTower4F.asm b/scripts/PokemonTower4F.asm index b8e0d772..17a679b2 100755 --- a/scripts/PokemonTower4F.asm +++ b/scripts/PokemonTower4F.asm @@ -50,55 +50,55 @@ PokemonTower4TrainerHeader2: db $ff PokemonTower4Text1: - TX_ASM + text_asm ld hl, PokemonTower4TrainerHeader0 call TalkToTrainer jp TextScriptEnd PokemonTower4Text2: - TX_ASM + text_asm ld hl, PokemonTower4TrainerHeader1 call TalkToTrainer jp TextScriptEnd PokemonTower4Text3: - TX_ASM + text_asm ld hl, PokemonTower4TrainerHeader2 call TalkToTrainer jp TextScriptEnd PokemonTower4BattleText1: - TX_FAR _PokemonTower4BattleText1 - db "@" + text_far _PokemonTower4BattleText1 + text_end PokemonTower4EndBattleText1: - TX_FAR _PokemonTower4EndBattleText1 - db "@" + text_far _PokemonTower4EndBattleText1 + text_end PokemonTower4AfterBattleText1: - TX_FAR _PokemonTower4AfterBattleText1 - db "@" + text_far _PokemonTower4AfterBattleText1 + text_end PokemonTower4BattleText2: - TX_FAR _PokemonTower4BattleText2 - db "@" + text_far _PokemonTower4BattleText2 + text_end PokemonTower4EndBattleText2: - TX_FAR _PokemonTower4EndBattleText2 - db "@" + text_far _PokemonTower4EndBattleText2 + text_end PokemonTower4AfterBattleText2: - TX_FAR _PokemonTower4AfterBattleText2 - db "@" + text_far _PokemonTower4AfterBattleText2 + text_end PokemonTower4BattleText3: - TX_FAR _PokemonTower4BattleText3 - db "@" + text_far _PokemonTower4BattleText3 + text_end PokemonTower4EndBattleText3: - TX_FAR _PokemonTower4EndBattleText3 - db "@" + text_far _PokemonTower4EndBattleText3 + text_end PokemonTower4AfterBattleText3: - TX_FAR _PokemonTower4AfterBattleText3 - db "@" + text_far _PokemonTower4AfterBattleText3 + text_end diff --git a/scripts/PokemonTower5F.asm b/scripts/PokemonTower5F.asm index 299261e9..de09ec49 100755 --- a/scripts/PokemonTower5F.asm +++ b/scripts/PokemonTower5F.asm @@ -96,81 +96,81 @@ PokemonTower5TrainerHeader3: db $ff PokemonTower5Text1: - TX_FAR _PokemonTower5Text1 - db "@" + text_far _PokemonTower5Text1 + text_end PokemonTower5Text2: - TX_ASM + text_asm ld hl, PokemonTower5TrainerHeader0 call TalkToTrainer jp TextScriptEnd PokemonTower5BattleText1: - TX_FAR _PokemonTower5BattleText1 - db "@" + text_far _PokemonTower5BattleText1 + text_end PokemonTower5EndBattleText1: - TX_FAR _PokemonTower5EndBattleText1 - db "@" + text_far _PokemonTower5EndBattleText1 + text_end PokemonTower5AfterBattleText1: - TX_FAR _PokemonTower5AfterBattleText1 - db "@" + text_far _PokemonTower5AfterBattleText1 + text_end PokemonTower5Text3: - TX_ASM + text_asm ld hl, PokemonTower5TrainerHeader1 call TalkToTrainer jp TextScriptEnd PokemonTower5BattleText2: - TX_FAR _PokemonTower5BattleText2 - db "@" + text_far _PokemonTower5BattleText2 + text_end PokemonTower5EndBattleText2: - TX_FAR _PokemonTower5EndBattleText2 - db "@" + text_far _PokemonTower5EndBattleText2 + text_end PokemonTower5AfterBattleText2: - TX_FAR _PokemonTower5AfterBattleText2 - db "@" + text_far _PokemonTower5AfterBattleText2 + text_end PokemonTower5Text4: - TX_ASM + text_asm ld hl, PokemonTower5TrainerHeader2 call TalkToTrainer jp TextScriptEnd PokemonTower5BattleText3: - TX_FAR _PokemonTower5BattleText3 - db "@" + text_far _PokemonTower5BattleText3 + text_end PokemonTower5EndBattleText3: - TX_FAR _PokemonTower5EndBattleText3 - db "@" + text_far _PokemonTower5EndBattleText3 + text_end PokemonTower5AfterBattleText3: - TX_FAR _PokemonTower5AfterBattleText3 - db "@" + text_far _PokemonTower5AfterBattleText3 + text_end PokemonTower5Text5: - TX_ASM + text_asm ld hl, PokemonTower5TrainerHeader3 call TalkToTrainer jp TextScriptEnd PokemonTower5BattleText4: - TX_FAR _PokemonTower5BattleText4 - db "@" + text_far _PokemonTower5BattleText4 + text_end PokemonTower5EndBattleText4: - TX_FAR _PokemonTower5EndBattleText4 - db "@" + text_far _PokemonTower5EndBattleText4 + text_end PokemonTower5AfterBattleText4: - TX_FAR _PokemonTower5AfterBattleText4 - db "@" + text_far _PokemonTower5AfterBattleText4 + text_end PokemonTower5Text7: - TX_FAR _PokemonTower5Text7 - db "@" + text_far _PokemonTower5Text7 + text_end diff --git a/scripts/PokemonTower6F.asm b/scripts/PokemonTower6F.asm index 14c07c48..2590e70f 100755 --- a/scripts/PokemonTower6F.asm +++ b/scripts/PokemonTower6F.asm @@ -133,25 +133,25 @@ PokemonTower6TrainerHeader2: db $ff PokemonTower6Text1: - TX_ASM + text_asm ld hl, PokemonTower6TrainerHeader0 call TalkToTrainer jp TextScriptEnd PokemonTower6Text2: - TX_ASM + text_asm ld hl, PokemonTower6TrainerHeader1 call TalkToTrainer jp TextScriptEnd PokemonTower6Text3: - TX_ASM + text_asm ld hl, PokemonTower6TrainerHeader2 call TalkToTrainer jp TextScriptEnd PokemonTower6Text7: - TX_ASM + text_asm ld hl, PokemonTower2Text_60c1f call PrintText ld a, MAROWAK @@ -164,49 +164,49 @@ PokemonTower6Text7: jp TextScriptEnd PokemonTower2Text_60c1f: - TX_FAR _PokemonTower2Text_60c1f - db "@" + text_far _PokemonTower2Text_60c1f + text_end PokemonTower2Text_60c24: - TX_FAR _PokemonTower2Text_60c24 - db "@" + text_far _PokemonTower2Text_60c24 + text_end PokemonTower6BattleText1: - TX_FAR _PokemonTower6BattleText1 - db "@" + text_far _PokemonTower6BattleText1 + text_end PokemonTower6EndBattleText1: - TX_FAR _PokemonTower6EndBattleText1 - db "@" + text_far _PokemonTower6EndBattleText1 + text_end PokemonTower6AfterBattleText1: - TX_FAR _PokemonTower6AfterBattleText1 - db "@" + text_far _PokemonTower6AfterBattleText1 + text_end PokemonTower6BattleText2: - TX_FAR _PokemonTower6BattleText2 - db "@" + text_far _PokemonTower6BattleText2 + text_end PokemonTower6EndBattleText2: - TX_FAR _PokemonTower6EndBattleText2 - db "@" + text_far _PokemonTower6EndBattleText2 + text_end PokemonTower6AfterBattleText2: - TX_FAR _PokemonTower6AfterBattleText2 - db "@" + text_far _PokemonTower6AfterBattleText2 + text_end PokemonTower6BattleText3: - TX_FAR _PokemonTower6BattleText3 - db "@" + text_far _PokemonTower6BattleText3 + text_end PokemonTower6EndBattleText3: - TX_FAR _PokemonTower6EndBattleText3 - db "@" + text_far _PokemonTower6EndBattleText3 + text_end PokemonTower6AfterBattleText3: - TX_FAR _PokemonTower6AfterBattleText3 - db "@" + text_far _PokemonTower6AfterBattleText3 + text_end PokemonTower6Text6: - TX_FAR _PokemonTower6Text6 - db "@" + text_far _PokemonTower6Text6 + text_end diff --git a/scripts/PokemonTower7F.asm b/scripts/PokemonTower7F.asm index fa2ca9bc..498b8c8f 100755 --- a/scripts/PokemonTower7F.asm +++ b/scripts/PokemonTower7F.asm @@ -234,25 +234,25 @@ PokemonTower7TrainerHeader2: db $ff PokemonTower7Text1: - TX_ASM + text_asm ld hl, PokemonTower7TrainerHeader0 call TalkToTrainer jp TextScriptEnd PokemonTower7Text2: - TX_ASM + text_asm ld hl, PokemonTower7TrainerHeader1 call TalkToTrainer jp TextScriptEnd PokemonTower7Text3: - TX_ASM + text_asm ld hl, PokemonTower7TrainerHeader2 call TalkToTrainer jp TextScriptEnd PokemonTower7FujiText: - TX_ASM + text_asm ld hl, TowerRescueFujiText call PrintText SetEvent EVENT_RESCUED_MR_FUJI @@ -272,41 +272,41 @@ PokemonTower7FujiText: jp TextScriptEnd TowerRescueFujiText: - TX_FAR _TowerRescueFujiText - db "@" + text_far _TowerRescueFujiText + text_end PokemonTower7BattleText1: - TX_FAR _PokemonTower7BattleText1 - db "@" + text_far _PokemonTower7BattleText1 + text_end PokemonTower7EndBattleText1: - TX_FAR _PokemonTower7EndBattleText1 - db "@" + text_far _PokemonTower7EndBattleText1 + text_end PokemonTower7AfterBattleText1: - TX_FAR _PokemonTower7AfterBattleText1 - db "@" + text_far _PokemonTower7AfterBattleText1 + text_end PokemonTower7BattleText2: - TX_FAR _PokemonTower7BattleText2 - db "@" + text_far _PokemonTower7BattleText2 + text_end PokemonTower7EndBattleText2: - TX_FAR _PokemonTower7EndBattleText2 - db "@" + text_far _PokemonTower7EndBattleText2 + text_end PokemonTower7AfterBattleText2: - TX_FAR _PokemonTower7AfterBattleText2 - db "@" + text_far _PokemonTower7AfterBattleText2 + text_end PokemonTower7BattleText3: - TX_FAR _PokemonTower7BattleText3 - db "@" + text_far _PokemonTower7BattleText3 + text_end PokemonTower7EndBattleText3: - TX_FAR _PokemonTower7EndBattleText3 - db "@" + text_far _PokemonTower7EndBattleText3 + text_end PokemonTower7AfterBattleText3: - TX_FAR _PokemonTower7AfterBattleText3 - db "@" + text_far _PokemonTower7AfterBattleText3 + text_end diff --git a/scripts/PowerPlant.asm b/scripts/PowerPlant.asm index f720b6f8..c5c0e0e9 100755 --- a/scripts/PowerPlant.asm +++ b/scripts/PowerPlant.asm @@ -118,57 +118,57 @@ InitVoltorbBattle: jp TextScriptEnd Voltorb0Text: - TX_ASM + text_asm ld hl, Voltorb0TrainerHeader jr InitVoltorbBattle Voltorb1Text: - TX_ASM + text_asm ld hl, Voltorb1TrainerHeader jr InitVoltorbBattle Voltorb2Text: - TX_ASM + text_asm ld hl, Voltorb2TrainerHeader jr InitVoltorbBattle Voltorb3Text: - TX_ASM + text_asm ld hl, Voltorb3TrainerHeader jr InitVoltorbBattle Voltorb4Text: - TX_ASM + text_asm ld hl, Voltorb4TrainerHeader jr InitVoltorbBattle Voltorb5Text: - TX_ASM + text_asm ld hl, Voltorb5TrainerHeader jr InitVoltorbBattle Voltorb6Text: - TX_ASM + text_asm ld hl, Voltorb6TrainerHeader jr InitVoltorbBattle Voltorb7Text: - TX_ASM + text_asm ld hl, Voltorb7TrainerHeader jr InitVoltorbBattle ZapdosText: - TX_ASM + text_asm ld hl, ZapdosTrainerHeader jr InitVoltorbBattle VoltorbBattleText: - TX_FAR _VoltorbBattleText - db "@" + text_far _VoltorbBattleText + text_end ZapdosBattleText: - TX_FAR _ZapdosBattleText - TX_ASM + text_far _ZapdosBattleText + text_asm ld a, ZAPDOS call PlayCry call WaitForSoundToFinish diff --git a/scripts/RedsHouse1F.asm b/scripts/RedsHouse1F.asm index b982d71c..cb071537 100755 --- a/scripts/RedsHouse1F.asm +++ b/scripts/RedsHouse1F.asm @@ -6,7 +6,7 @@ RedsHouse1F_TextPointers: dw RedsHouse1FText2 RedsHouse1FText1: ; Mom - TX_ASM + text_asm ld a, [wd72e] bit 3, a jr nz, .heal ; if player has received a Pokémon from Oak, heal team @@ -19,8 +19,8 @@ RedsHouse1FText1: ; Mom jp TextScriptEnd MomWakeUpText: - TX_FAR _MomWakeUpText - db "@" + text_far _MomWakeUpText + text_end MomHealPokemon: ld hl, MomHealText1 @@ -43,14 +43,14 @@ MomHealPokemon: jp PrintText MomHealText1: - TX_FAR _MomHealText1 - db "@" + text_far _MomHealText1 + text_end MomHealText2: - TX_FAR _MomHealText2 - db "@" + text_far _MomHealText2 + text_end RedsHouse1FText2: ; TV - TX_ASM + text_asm ld a, [wSpriteStateData1 + 9] cp SPRITE_FACING_UP ld hl, TVWrongSideText @@ -61,9 +61,9 @@ RedsHouse1FText2: ; TV jp TextScriptEnd StandByMeText: - TX_FAR _StandByMeText - db "@" + text_far _StandByMeText + text_end TVWrongSideText: - TX_FAR _TVWrongSideText - db "@" + text_far _TVWrongSideText + text_end diff --git a/scripts/RedsHouse2F.asm b/scripts/RedsHouse2F.asm index 5ec86678..69a62f81 100755 --- a/scripts/RedsHouse2F.asm +++ b/scripts/RedsHouse2F.asm @@ -21,4 +21,4 @@ RedsHouse2FScript1: ret RedsHouse2F_TextPointers: - db "@" + text_end diff --git a/scripts/RockTunnel1F.asm b/scripts/RockTunnel1F.asm index 94620d96..41645f4a 100755 --- a/scripts/RockTunnel1F.asm +++ b/scripts/RockTunnel1F.asm @@ -88,126 +88,126 @@ RockTunnel1TrainerHeader6: db $ff RockTunnel1Text1: - TX_ASM + text_asm ld hl, RockTunnel1TrainerHeader0 jr RockTunnel1TalkToTrainer RockTunnel1Text2: - TX_ASM + text_asm ld hl, RockTunnel1TrainerHeader1 jr RockTunnel1TalkToTrainer RockTunnel1Text3: - TX_ASM + text_asm ld hl, RockTunnel1TrainerHeader2 jr RockTunnel1TalkToTrainer RockTunnel1Text4: - TX_ASM + text_asm ld hl, RockTunnel1TrainerHeader3 jr RockTunnel1TalkToTrainer RockTunnel1Text5: - TX_ASM + text_asm ld hl, RockTunnel1TrainerHeader4 jr RockTunnel1TalkToTrainer RockTunnel1Text6: - TX_ASM + text_asm ld hl, RockTunnel1TrainerHeader5 jr RockTunnel1TalkToTrainer RockTunnel1Text7: - TX_ASM + text_asm ld hl, RockTunnel1TrainerHeader6 RockTunnel1TalkToTrainer: call TalkToTrainer jp TextScriptEnd RockTunnel1BattleText1: - TX_FAR _RockTunnel1BattleText1 - db "@" + text_far _RockTunnel1BattleText1 + text_end RockTunnel1EndBattleText1: - TX_FAR _RockTunnel1EndBattleText1 - db "@" + text_far _RockTunnel1EndBattleText1 + text_end RockTunnel1AfterBattleText1: - TX_FAR _RockTunnel1AfterBattleText1 - db "@" + text_far _RockTunnel1AfterBattleText1 + text_end RockTunnel1BattleText2: - TX_FAR _RockTunnel1BattleText2 - db "@" + text_far _RockTunnel1BattleText2 + text_end RockTunnel1EndBattleText2: - TX_FAR _RockTunnel1EndBattleText2 - db "@" + text_far _RockTunnel1EndBattleText2 + text_end RockTunnel1AfterBattleText2: - TX_FAR _RockTunnel1AfterBattleText2 - db "@" + text_far _RockTunnel1AfterBattleText2 + text_end RockTunnel1BattleText3: - TX_FAR _RockTunnel1BattleText3 - db "@" + text_far _RockTunnel1BattleText3 + text_end RockTunnel1EndBattleText3: - TX_FAR _RockTunnel1EndBattleText3 - db "@" + text_far _RockTunnel1EndBattleText3 + text_end RockTunnel1AfterBattleText3: - TX_FAR _RockTunnel1AfterBattleText3 - db "@" + text_far _RockTunnel1AfterBattleText3 + text_end RockTunnel1BattleText4: - TX_FAR _RockTunnel1BattleText4 - db "@" + text_far _RockTunnel1BattleText4 + text_end RockTunnel1EndBattleText4: - TX_FAR _RockTunnel1EndBattleText4 - db "@" + text_far _RockTunnel1EndBattleText4 + text_end RockTunnel1AfterBattleText4: - TX_FAR _RockTunnel1AfterBattleText4 - db "@" + text_far _RockTunnel1AfterBattleText4 + text_end RockTunnel1BattleText5: - TX_FAR _RockTunnel1BattleText5 - db "@" + text_far _RockTunnel1BattleText5 + text_end RockTunnel1EndBattleText5: - TX_FAR _RockTunnel1EndBattleText5 - db "@" + text_far _RockTunnel1EndBattleText5 + text_end RockTunnel1AfterBattleText5: - TX_FAR _RockTunnel1AfterBattleText5 - db "@" + text_far _RockTunnel1AfterBattleText5 + text_end RockTunnel1BattleText6: - TX_FAR _RockTunnel1BattleText6 - db "@" + text_far _RockTunnel1BattleText6 + text_end RockTunnel1EndBattleText6: - TX_FAR _RockTunnel1EndBattleText6 - db "@" + text_far _RockTunnel1EndBattleText6 + text_end RockTunnel1AfterBattleText6: - TX_FAR _RockTunnel1AfterBattleText6 - db "@" + text_far _RockTunnel1AfterBattleText6 + text_end RockTunnel1BattleText7: - TX_FAR _RockTunnel1BattleText7 - db "@" + text_far _RockTunnel1BattleText7 + text_end RockTunnel1EndBattleText7: - TX_FAR _RockTunnel1EndBattleText7 - db "@" + text_far _RockTunnel1EndBattleText7 + text_end RockTunnel1AfterBattleText7: - TX_FAR _RockTunnel1AfterBattleText7 - db "@" + text_far _RockTunnel1AfterBattleText7 + text_end RockTunnel1Text8: - TX_FAR _RockTunnel1Text8 - db "@" + text_far _RockTunnel1Text8 + text_end diff --git a/scripts/RockTunnelB1F.asm b/scripts/RockTunnelB1F.asm index 7e6fcc8b..2a96ae49 100755 --- a/scripts/RockTunnelB1F.asm +++ b/scripts/RockTunnelB1F.asm @@ -97,145 +97,145 @@ RockTunnel2TrainerHeader7: db $ff RockTunnel2Text1: - TX_ASM + text_asm ld hl, RockTunnel2TrainerHeader0 call TalkToTrainer jp TextScriptEnd RockTunnel2Text2: - TX_ASM + text_asm ld hl, RockTunnel2TrainerHeader1 call TalkToTrainer jp TextScriptEnd RockTunnel2Text3: - TX_ASM + text_asm ld hl, RockTunnel2TrainerHeader2 call TalkToTrainer jp TextScriptEnd RockTunnel2Text4: - TX_ASM + text_asm ld hl, RockTunnel2TrainerHeader3 call TalkToTrainer jp TextScriptEnd RockTunnel2Text5: - TX_ASM + text_asm ld hl, RockTunnel2TrainerHeader4 call TalkToTrainer jp TextScriptEnd RockTunnel2Text6: - TX_ASM + text_asm ld hl, RockTunnel2TrainerHeader5 call TalkToTrainer jp TextScriptEnd RockTunnel2Text7: - TX_ASM + text_asm ld hl, RockTunnel2TrainerHeader6 call TalkToTrainer jp TextScriptEnd RockTunnel2Text8: - TX_ASM + text_asm ld hl, RockTunnel2TrainerHeader7 call TalkToTrainer jp TextScriptEnd RockTunnel2BattleText2: - TX_FAR _RockTunnel2BattleText2 - db "@" + text_far _RockTunnel2BattleText2 + text_end RockTunnel2EndBattleText2: - TX_FAR _RockTunnel2EndBattleText2 - db "@" + text_far _RockTunnel2EndBattleText2 + text_end RockTunnel2AfterBattleText2: - TX_FAR _RockTunnel2AfterBattleText2 - db "@" + text_far _RockTunnel2AfterBattleText2 + text_end RockTunnel2BattleText3: - TX_FAR _RockTunnel2BattleText3 - db "@" + text_far _RockTunnel2BattleText3 + text_end RockTunnel2EndBattleText3: - TX_FAR _RockTunnel2EndBattleText3 - db "@" + text_far _RockTunnel2EndBattleText3 + text_end RockTunnel2AfterBattleText3: - TX_FAR _RockTunnel2AfterBattleText3 - db "@" + text_far _RockTunnel2AfterBattleText3 + text_end RockTunnel2BattleText4: - TX_FAR _RockTunnel2BattleText4 - db "@" + text_far _RockTunnel2BattleText4 + text_end RockTunnel2EndBattleText4: - TX_FAR _RockTunnel2EndBattleText4 - db "@" + text_far _RockTunnel2EndBattleText4 + text_end RockTunnel2AfterBattleText4: - TX_FAR _RockTunnel2AfterBattleText4 - db "@" + text_far _RockTunnel2AfterBattleText4 + text_end RockTunnel2BattleText5: - TX_FAR _RockTunnel2BattleText5 - db "@" + text_far _RockTunnel2BattleText5 + text_end RockTunnel2EndBattleText5: - TX_FAR _RockTunnel2EndBattleText5 - db "@" + text_far _RockTunnel2EndBattleText5 + text_end RockTunnel2AfterBattleText5: - TX_FAR _RockTunnel2AfterBattleText5 - db "@" + text_far _RockTunnel2AfterBattleText5 + text_end RockTunnel2BattleText6: - TX_FAR _RockTunnel2BattleText6 - db "@" + text_far _RockTunnel2BattleText6 + text_end RockTunnel2EndBattleText6: - TX_FAR _RockTunnel2EndBattleText6 - db "@" + text_far _RockTunnel2EndBattleText6 + text_end RockTunnel2AfterBattleText6: - TX_FAR _RockTunnel2AfterBattleText6 - db "@" + text_far _RockTunnel2AfterBattleText6 + text_end RockTunnel2BattleText7: - TX_FAR _RockTunnel2BattleText7 - db "@" + text_far _RockTunnel2BattleText7 + text_end RockTunnel2EndBattleText7: - TX_FAR _RockTunnel2EndBattleText7 - db "@" + text_far _RockTunnel2EndBattleText7 + text_end RockTunnel2AfterBattleText7: - TX_FAR _RockTunnel2AfterBattleText7 - db "@" + text_far _RockTunnel2AfterBattleText7 + text_end RockTunnel2BattleText8: - TX_FAR _RockTunnel2BattleText8 - db "@" + text_far _RockTunnel2BattleText8 + text_end RockTunnel2EndBattleText8: - TX_FAR _RockTunnel2EndBattleText8 - db "@" + text_far _RockTunnel2EndBattleText8 + text_end RockTunnel2AfterBattleText8: - TX_FAR _RockTunnel2AfterBattleText8 - db "@" + text_far _RockTunnel2AfterBattleText8 + text_end RockTunnel2BattleText9: - TX_FAR _RockTunnel2BattleText9 - db "@" + text_far _RockTunnel2BattleText9 + text_end RockTunnel2EndBattleText9: - TX_FAR _RockTunnel2EndBattleText9 - db "@" + text_far _RockTunnel2EndBattleText9 + text_end RockTunnel2AfterBattleText9: - TX_FAR _RockTunnel2AfterBattleText9 - db "@" + text_far _RockTunnel2AfterBattleText9 + text_end diff --git a/scripts/RockTunnelPokecenter.asm b/scripts/RockTunnelPokecenter.asm index cbcd6318..999edf13 100755 --- a/scripts/RockTunnelPokecenter.asm +++ b/scripts/RockTunnelPokecenter.asm @@ -12,12 +12,12 @@ RockTunnelHealNurseText: db $ff RockTunnelPokecenterText2: - TX_FAR _RockTunnelPokecenterText2 - db "@" + text_far _RockTunnelPokecenterText2 + text_end RockTunnelPokecenterText3: - TX_FAR _RockTunnelPokecenterText3 - db "@" + text_far _RockTunnelPokecenterText3 + text_end RockTunnelTradeNurseText: db $f6 diff --git a/scripts/RocketHideoutB1F.asm b/scripts/RocketHideoutB1F.asm index 0cbddb49..762a6b72 100755 --- a/scripts/RocketHideoutB1F.asm +++ b/scripts/RocketHideoutB1F.asm @@ -92,98 +92,98 @@ RocketHideout1TrainerHeader4: db $ff RocketHideout1Text1: - TX_ASM + text_asm ld hl, RocketHideout1TrainerHeader0 call TalkToTrainer jp TextScriptEnd RocketHideout1Text2: - TX_ASM + text_asm ld hl, RocketHideout1TrainerHeader1 call TalkToTrainer jp TextScriptEnd RocketHideout1Text3: - TX_ASM + text_asm ld hl, RocketHideout1TrainerHeader2 call TalkToTrainer jp TextScriptEnd RocketHideout1Text4: - TX_ASM + text_asm ld hl, RocketHideout1TrainerHeader3 call TalkToTrainer jp TextScriptEnd RocketHideout1Text5: - TX_ASM + text_asm ld hl, RocketHideout1TrainerHeader4 call TalkToTrainer jp TextScriptEnd RocketHideout1EndBattleText6: - TX_FAR _RocketHideout1EndBattleText6 - TX_ASM + text_far _RocketHideout1EndBattleText6 + text_asm SetEvent EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4 ld hl, RocketHideout1Text_44c9f ret RocketHideout1Text_44c9f: - TX_BLINK - db "@" + text_promptbutton + text_end RocketHideout1BattleText2: - TX_FAR _RocketHideout1BattleText2 - db "@" + text_far _RocketHideout1BattleText2 + text_end RocketHideout1EndBattleText2: - TX_FAR _RocketHideout1EndBattleText2 - db "@" + text_far _RocketHideout1EndBattleText2 + text_end RocketHideout1AfterBattleTxt2: - TX_FAR _RocketHideout1AfterBattleTxt2 - db "@" + text_far _RocketHideout1AfterBattleTxt2 + text_end RocketHideout1BattleText3: - TX_FAR _RocketHideout1BattleText3 - db "@" + text_far _RocketHideout1BattleText3 + text_end RocketHideout1EndBattleText3: - TX_FAR _RocketHideout1EndBattleText3 - db "@" + text_far _RocketHideout1EndBattleText3 + text_end RocketHideout1AfterBattleTxt3: - TX_FAR _RocketHideout1AfterBattleTxt3 - db "@" + text_far _RocketHideout1AfterBattleTxt3 + text_end RocketHideout1BattleText4: - TX_FAR _RocketHideout1BattleText4 - db "@" + text_far _RocketHideout1BattleText4 + text_end RocketHideout1EndBattleText4: - TX_FAR _RocketHideout1EndBattleText4 - db "@" + text_far _RocketHideout1EndBattleText4 + text_end RocketHideout1AfterBattleTxt4: - TX_FAR _RocketHideout1AfterBattleTxt4 - db "@" + text_far _RocketHideout1AfterBattleTxt4 + text_end RocketHideout1BattleText5: - TX_FAR _RocketHideout1BattleText5 - db "@" + text_far _RocketHideout1BattleText5 + text_end RocketHideout1EndBattleText5: - TX_FAR _RocketHideout1EndBattleText5 - db "@" + text_far _RocketHideout1EndBattleText5 + text_end RocketHideout1AfterBattleTxt5: - TX_FAR _RocketHideout1AfterBattleTxt5 - db "@" + text_far _RocketHideout1AfterBattleTxt5 + text_end RocketHideout1BattleText6: - TX_FAR _RocketHideout1BattleText6 - db "@" + text_far _RocketHideout1BattleText6 + text_end RocketHideout1AfterBattleTxt6: - TX_FAR _RocketHideout1AfterBattleTxt6 - db "@" + text_far _RocketHideout1AfterBattleTxt6 + text_end diff --git a/scripts/RocketHideoutB2F.asm b/scripts/RocketHideoutB2F.asm index 40e2acc4..23eca790 100755 --- a/scripts/RocketHideoutB2F.asm +++ b/scripts/RocketHideoutB2F.asm @@ -432,19 +432,19 @@ RocketHideout2TrainerHeader0: db $ff RocketHideout2Text1: - TX_ASM + text_asm ld hl, RocketHideout2TrainerHeader0 call TalkToTrainer jp TextScriptEnd RocketHideout2BattleText2: - TX_FAR _RocketHideout2BattleText2 - db "@" + text_far _RocketHideout2BattleText2 + text_end RocketHideout2EndBattleText2: - TX_FAR _RocketHideout2EndBattleText2 - db "@" + text_far _RocketHideout2EndBattleText2 + text_end RocketHideout2AfterBattleTxt2: - TX_FAR _RocketHideout2AfterBattleTxt2 - db "@" + text_far _RocketHideout2AfterBattleTxt2 + text_end diff --git a/scripts/RocketHideoutB3F.asm b/scripts/RocketHideoutB3F.asm index 4dd537b3..09a47a1d 100755 --- a/scripts/RocketHideoutB3F.asm +++ b/scripts/RocketHideoutB3F.asm @@ -170,37 +170,37 @@ RocketHideout3TrainerHeader1: db $ff RocketHideout3Text1: - TX_ASM + text_asm ld hl, RocketHideout3TrainerHeader0 call TalkToTrainer jp TextScriptEnd RocketHideout3BattleText2: - TX_FAR _RocketHideout3BattleText2 - db "@" + text_far _RocketHideout3BattleText2 + text_end RocketHideout3EndBattleText2: - TX_FAR _RocketHideout3EndBattleText2 - db "@" + text_far _RocketHideout3EndBattleText2 + text_end RocketHideout3AfterBattleTxt2: - TX_FAR _RocketHideout3AfterBattleTxt2 - db "@" + text_far _RocketHideout3AfterBattleTxt2 + text_end RocketHideout3Text2: - TX_ASM + text_asm ld hl, RocketHideout3TrainerHeader1 call TalkToTrainer jp TextScriptEnd RocketHideout3BattleTxt: - TX_FAR _RocketHideout3BattleTxt - db "@" + text_far _RocketHideout3BattleTxt + text_end RocketHideout3EndBattleText3: - TX_FAR _RocketHideout3EndBattleText3 - db "@" + text_far _RocketHideout3EndBattleText3 + text_end RocketHideout3AfterBattleText3: - TX_FAR _RocketHide3AfterBattleText3 - db "@" + text_far _RocketHide3AfterBattleText3 + text_end diff --git a/scripts/RocketHideoutB4F.asm b/scripts/RocketHideoutB4F.asm index 71fe7d1c..81762a8f 100755 --- a/scripts/RocketHideoutB4F.asm +++ b/scripts/RocketHideoutB4F.asm @@ -114,7 +114,7 @@ RocketHideout4TrainerHeader2: db $ff RocketHideout4Text1: - TX_ASM + text_asm CheckEvent EVENT_BEAT_ROCKET_HIDEOUT_GIOVANNI jp nz, .asm_545571 ld hl, RocketHideout4Text_4557a @@ -142,69 +142,69 @@ RocketHideout4Text1: jp TextScriptEnd RocketHideout4Text_4557a: - TX_FAR _RocketHideout4Text_4557a - db "@" + text_far _RocketHideout4Text_4557a + text_end RocketHideout4Text_4557f: - TX_FAR _RocketHideout4Text_4557f - db "@" + text_far _RocketHideout4Text_4557f + text_end RocketHideout4Text10: - TX_FAR _RocketHideout4Text_45584 - db "@" + text_far _RocketHideout4Text_45584 + text_end RocketHideout4Text2: - TX_ASM + text_asm ld hl, RocketHideout4TrainerHeader0 call TalkToTrainer jp TextScriptEnd RocketHideout4BattleText2: - TX_FAR _RocketHideout4BattleText2 - db "@" + text_far _RocketHideout4BattleText2 + text_end RocketHideout4EndBattleText2: - TX_FAR _RocketHideout4EndBattleText2 - db "@" + text_far _RocketHideout4EndBattleText2 + text_end RocketHideout4AfterBattleText2: - TX_FAR _RocketHide4AfterBattleText2 - db "@" + text_far _RocketHide4AfterBattleText2 + text_end RocketHideout4Text3: - TX_ASM + text_asm ld hl, RocketHideout4TrainerHeader1 call TalkToTrainer jp TextScriptEnd RocketHideout4BattleText3: - TX_FAR _RocketHideout4BattleText3 - db "@" + text_far _RocketHideout4BattleText3 + text_end RocketHideout4EndBattleText3: - TX_FAR _RocketHideout4EndBattleText3 - db "@" + text_far _RocketHideout4EndBattleText3 + text_end RocketHideout4AfterBattleText3: - TX_FAR _RocketHide4AfterBattleText3 - db "@" + text_far _RocketHide4AfterBattleText3 + text_end RocketHideout4Text4: - TX_ASM + text_asm ld hl, RocketHideout4TrainerHeader2 call TalkToTrainer jp TextScriptEnd RocketHideout4BattleText4: - TX_FAR _RocketHideout4BattleText4 - db "@" + text_far _RocketHideout4BattleText4 + text_end RocketHideout4EndBattleText4: - TX_FAR _RocketHideout4EndBattleText4 - db "@" + text_far _RocketHideout4EndBattleText4 + text_end RocketHideout4AfterBattleText4: - TX_ASM + text_asm ld hl, RocketHideout4Text_455ec call PrintText CheckAndSetEvent EVENT_ROCKET_DROPPED_LIFT_KEY @@ -216,5 +216,5 @@ RocketHideout4AfterBattleText4: jp TextScriptEnd RocketHideout4Text_455ec: - TX_FAR _RocketHideout4Text_455ec - db "@" + text_far _RocketHideout4Text_455ec + text_end diff --git a/scripts/RocketHideoutElevator.asm b/scripts/RocketHideoutElevator.asm index 9525db3a..f4317ec0 100755 --- a/scripts/RocketHideoutElevator.asm +++ b/scripts/RocketHideoutElevator.asm @@ -65,7 +65,7 @@ RocketHideoutElevator_TextPointers: dw RocketHideoutElevatorText1 RocketHideoutElevatorText1: - TX_ASM + text_asm ld b, LIFT_KEY call IsItemInBag jr z, .asm_45782 @@ -80,6 +80,6 @@ RocketHideoutElevatorText1: jp TextScriptEnd RocketHideoutElevatorText_4578b: - TX_FAR _RocketElevatorText_4578b - TX_WAIT - db "@" + text_far _RocketElevatorText_4578b + text_linkpromptbutton + text_end diff --git a/scripts/Route1.asm b/scripts/Route1.asm index e733b54d..3aa948c7 100755 --- a/scripts/Route1.asm +++ b/scripts/Route1.asm @@ -7,7 +7,7 @@ Route1_TextPointers: dw Route1Text3 Route1Text1: - TX_ASM + text_asm CheckAndSetEvent EVENT_GOT_POTION_SAMPLE jr nz, .asm_1cada ld hl, Route1ViridianMartSampleText @@ -27,26 +27,26 @@ Route1Text1: jp TextScriptEnd Route1ViridianMartSampleText: - TX_FAR _Route1ViridianMartSampleText - db "@" + text_far _Route1ViridianMartSampleText + text_end Route1Text_1cae8: - TX_FAR _Route1Text_1cae8 - TX_SFX_ITEM_1 - db "@" + text_far _Route1Text_1cae8 + sound_get_item_1 + text_end Route1Text_1caee: - TX_FAR _Route1Text_1caee - db "@" + text_far _Route1Text_1caee + text_end Route1Text_1caf3: - TX_FAR _Route1Text_1caf3 - db "@" + text_far _Route1Text_1caf3 + text_end Route1Text2: - TX_FAR _Route1Text2 - db "@" + text_far _Route1Text2 + text_end Route1Text3: - TX_FAR _Route1Text3 - db "@" + text_far _Route1Text3 + text_end diff --git a/scripts/Route10.asm b/scripts/Route10.asm index 3fffa2c0..99b9313f 100755 --- a/scripts/Route10.asm +++ b/scripts/Route10.asm @@ -81,118 +81,118 @@ Route10TrainerHeader5: db $ff Route10Text1: - TX_ASM + text_asm ld hl, Route10TrainerHeader0 call TalkToTrainer jp TextScriptEnd Route10BattleText1: - TX_FAR _Route10BattleText1 - db "@" + text_far _Route10BattleText1 + text_end Route10EndBattleText1: - TX_FAR _Route10EndBattleText1 - db "@" + text_far _Route10EndBattleText1 + text_end Route10AfterBattleText1: - TX_FAR _Route10AfterBattleText1 - db "@" + text_far _Route10AfterBattleText1 + text_end Route10Text2: - TX_ASM + text_asm ld hl, Route10TrainerHeader1 call TalkToTrainer jp TextScriptEnd Route10BattleText2: - TX_FAR _Route10BattleText2 - db "@" + text_far _Route10BattleText2 + text_end Route10EndBattleText2: - TX_FAR _Route10EndBattleText2 - db "@" + text_far _Route10EndBattleText2 + text_end Route10AfterBattleText2: - TX_FAR _Route10AfterBattleText2 - db "@" + text_far _Route10AfterBattleText2 + text_end Route10Text3: - TX_ASM + text_asm ld hl, Route10TrainerHeader2 call TalkToTrainer jp TextScriptEnd Route10BattleText3: - TX_FAR _Route10BattleText3 - db "@" + text_far _Route10BattleText3 + text_end Route10EndBattleText3: - TX_FAR _Route10EndBattleText3 - db "@" + text_far _Route10EndBattleText3 + text_end Route10AfterBattleText3: - TX_FAR _Route10AfterBattleText3 - db "@" + text_far _Route10AfterBattleText3 + text_end Route10Text4: - TX_ASM + text_asm ld hl, Route10TrainerHeader3 call TalkToTrainer jp TextScriptEnd Route10BattleText4: - TX_FAR _Route10BattleText4 - db "@" + text_far _Route10BattleText4 + text_end Route10EndBattleText4: - TX_FAR _Route10EndBattleText4 - db "@" + text_far _Route10EndBattleText4 + text_end Route10AfterBattleText4: - TX_FAR _Route10AfterBattleText4 - db "@" + text_far _Route10AfterBattleText4 + text_end Route10Text5: - TX_ASM + text_asm ld hl, Route10TrainerHeader4 call TalkToTrainer jp TextScriptEnd Route10BattleText5: - TX_FAR _Route10BattleText5 - db "@" + text_far _Route10BattleText5 + text_end Route10EndBattleText5: - TX_FAR _Route10EndBattleText5 - db "@" + text_far _Route10EndBattleText5 + text_end Route10AfterBattleText5: - TX_FAR _Route10AfterBattleText5 - db "@" + text_far _Route10AfterBattleText5 + text_end Route10Text6: - TX_ASM + text_asm ld hl, Route10TrainerHeader5 call TalkToTrainer jp TextScriptEnd Route10BattleText6: - TX_FAR _Route10BattleText6 - db "@" + text_far _Route10BattleText6 + text_end Route10EndBattleText6: - TX_FAR _Route10EndBattleText6 - db "@" + text_far _Route10EndBattleText6 + text_end Route10AfterBattleText6: - TX_FAR _Route10AfterBattleText6 - db "@" + text_far _Route10AfterBattleText6 + text_end Route10Text9: Route10Text7: - TX_FAR _Route10Text7 ; _Route10Text9 - db "@" + text_far _Route10Text7 ; _Route10Text9 + text_end Route10Text10: - TX_FAR _Route10Text10 - db "@" + text_far _Route10Text10 + text_end diff --git a/scripts/Route11.asm b/scripts/Route11.asm index 891237cc..9fe26966 100755 --- a/scripts/Route11.asm +++ b/scripts/Route11.asm @@ -118,185 +118,185 @@ Route11TrainerHeader9: db $ff Route11Text1: - TX_ASM + text_asm ld hl, Route11TrainerHeader0 call TalkToTrainer jp TextScriptEnd Route11BattleText1: - TX_FAR _Route11BattleText1 - db "@" + text_far _Route11BattleText1 + text_end Route11EndBattleText1: - TX_FAR _Route11EndBattleText1 - db "@" + text_far _Route11EndBattleText1 + text_end Route11AfterBattleText1: - TX_FAR _Route11AfterBattleText1 - db "@" + text_far _Route11AfterBattleText1 + text_end Route11Text2: - TX_ASM + text_asm ld hl, Route11TrainerHeader1 call TalkToTrainer jp TextScriptEnd Route11BattleText2: - TX_FAR _Route11BattleText2 - db "@" + text_far _Route11BattleText2 + text_end Route11EndBattleText2: - TX_FAR _Route11EndBattleText2 - db "@" + text_far _Route11EndBattleText2 + text_end Route11AfterBattleText2: - TX_FAR _Route11AfterBattleText2 - db "@" + text_far _Route11AfterBattleText2 + text_end Route11Text3: - TX_ASM + text_asm ld hl, Route11TrainerHeader2 call TalkToTrainer jp TextScriptEnd Route11BattleText3: - TX_FAR _Route11BattleText3 - db "@" + text_far _Route11BattleText3 + text_end Route11EndBattleText3: - TX_FAR _Route11EndBattleText3 - db "@" + text_far _Route11EndBattleText3 + text_end Route11AfterBattleText3: - TX_FAR _Route11AfterBattleText3 - db "@" + text_far _Route11AfterBattleText3 + text_end Route11Text4: - TX_ASM + text_asm ld hl, Route11TrainerHeader3 call TalkToTrainer jp TextScriptEnd Route11BattleText4: - TX_FAR _Route11BattleText4 - db "@" + text_far _Route11BattleText4 + text_end Route11EndBattleText4: - TX_FAR _Route11EndBattleText4 - db "@" + text_far _Route11EndBattleText4 + text_end Route11AfterBattleText4: - TX_FAR _Route11AfterBattleText4 - db "@" + text_far _Route11AfterBattleText4 + text_end Route11Text5: - TX_ASM + text_asm ld hl, Route11TrainerHeader4 call TalkToTrainer jp TextScriptEnd Route11BattleText5: - TX_FAR _Route11BattleText5 - db "@" + text_far _Route11BattleText5 + text_end Route11EndBattleText5: - TX_FAR _Route11EndBattleText5 - db "@" + text_far _Route11EndBattleText5 + text_end Route11AfterBattleText5: - TX_FAR _Route11AfterBattleText5 - db "@" + text_far _Route11AfterBattleText5 + text_end Route11Text6: - TX_ASM + text_asm ld hl, Route11TrainerHeader5 call TalkToTrainer jp TextScriptEnd Route11BattleText6: - TX_FAR _Route11BattleText6 - db "@" + text_far _Route11BattleText6 + text_end Route11EndBattleText6: - TX_FAR _Route11EndBattleText6 - db "@" + text_far _Route11EndBattleText6 + text_end Route11AfterBattleText6: - TX_FAR _Route11AfterBattleText6 - db "@" + text_far _Route11AfterBattleText6 + text_end Route11Text7: - TX_ASM + text_asm ld hl, Route11TrainerHeader6 call TalkToTrainer jp TextScriptEnd Route11BattleText7: - TX_FAR _Route11BattleText7 - db "@" + text_far _Route11BattleText7 + text_end Route11EndBattleText7: - TX_FAR _Route11EndBattleText7 - db "@" + text_far _Route11EndBattleText7 + text_end Route11AfterBattleText7: - TX_FAR _Route11AfterBattleText7 - db "@" + text_far _Route11AfterBattleText7 + text_end Route11Text8: - TX_ASM + text_asm ld hl, Route11TrainerHeader7 call TalkToTrainer jp TextScriptEnd Route11BattleText8: - TX_FAR _Route11BattleText8 - db "@" + text_far _Route11BattleText8 + text_end Route11EndBattleText8: - TX_FAR _Route11EndBattleText8 - db "@" + text_far _Route11EndBattleText8 + text_end Route11AfterBattleText8: - TX_FAR _Route11AfterBattleText8 - db "@" + text_far _Route11AfterBattleText8 + text_end Route11Text9: - TX_ASM + text_asm ld hl, Route11TrainerHeader8 call TalkToTrainer jp TextScriptEnd Route11BattleText9: - TX_FAR _Route11BattleText9 - db "@" + text_far _Route11BattleText9 + text_end Route11EndBattleText9: - TX_FAR _Route11EndBattleText9 - db "@" + text_far _Route11EndBattleText9 + text_end Route11AfterBattleText9: - TX_FAR _Route11AfterBattleText9 - db "@" + text_far _Route11AfterBattleText9 + text_end Route11Text10: - TX_ASM + text_asm ld hl, Route11TrainerHeader9 call TalkToTrainer jp TextScriptEnd Route11BattleText10: - TX_FAR _Route11BattleText10 - db "@" + text_far _Route11BattleText10 + text_end Route11EndBattleText10: - TX_FAR _Route11EndBattleText10 - db "@" + text_far _Route11EndBattleText10 + text_end Route11AfterBattleText10: - TX_FAR _Route11AfterBattleText10 - db "@" + text_far _Route11AfterBattleText10 + text_end Route11Text11: - TX_FAR _Route11Text11 - db "@" + text_far _Route11Text11 + text_end diff --git a/scripts/Route11Gate1F.asm b/scripts/Route11Gate1F.asm index 8e5f6c03..d1ebe6ea 100755 --- a/scripts/Route11Gate1F.asm +++ b/scripts/Route11Gate1F.asm @@ -5,5 +5,5 @@ Route11Gate1F_TextPointers: dw Route11GateText1 Route11GateText1: - TX_FAR _Route11GateText1 - db "@" + text_far _Route11GateText1 + text_end diff --git a/scripts/Route11Gate2F.asm b/scripts/Route11Gate2F.asm index c140937d..f888d72f 100755 --- a/scripts/Route11Gate2F.asm +++ b/scripts/Route11Gate2F.asm @@ -8,7 +8,7 @@ Route11Gate2F_TextPointers: dw Route11GateUpstairsText4 Route11GateUpstairsText1: - TX_ASM + text_asm xor a ld [wWhichTrade], a predef DoInGameTradeDialogue @@ -16,7 +16,7 @@ Route11GateUpstairsScriptEnd: jp TextScriptEnd Route11GateUpstairsText2: - TX_ASM + text_asm CheckEvent EVENT_GOT_ITEMFINDER, 1 jr c, .asm_4949b ld a, 30 ; pokemon needed @@ -42,11 +42,11 @@ Route11GateUpstairsText2: jr Route11GateUpstairsScriptEnd Route11GateUpstairsText_494a3: - TX_FAR _Route11GateUpstairsText_494a3 - db "@" + text_far _Route11GateUpstairsText_494a3 + text_end Route11GateUpstairsText3: - TX_ASM + text_asm ld a, [wSpriteStateData1 + 9] cp SPRITE_FACING_UP jp nz, GateUpstairsScript_PrintIfFacingUp @@ -59,18 +59,18 @@ Route11GateUpstairsText3: jp TextScriptEnd BinocularsSnorlaxText: - TX_FAR _BinocularsSnorlaxText - db "@" + text_far _BinocularsSnorlaxText + text_end BinocularsNoSnorlaxText: - TX_FAR _BinocularsNoSnorlaxText - db "@" + text_far _BinocularsNoSnorlaxText + text_end Route11GateUpstairsText4: - TX_ASM + text_asm ld hl, Route11GateUpstairsText_494d5 jp GateUpstairsScript_PrintIfFacingUp Route11GateUpstairsText_494d5: - TX_FAR _Route11GateUpstairsText_494d5 - db "@" + text_far _Route11GateUpstairsText_494d5 + text_end diff --git a/scripts/Route12.asm b/scripts/Route12.asm index 510e7727..1033e495 100755 --- a/scripts/Route12.asm +++ b/scripts/Route12.asm @@ -142,147 +142,147 @@ Route12TrainerHeader6: db $ff Route12Text1: - TX_FAR _Route12Text1 - db "@" + text_far _Route12Text1 + text_end Route12Text13: - TX_FAR _Route12Text13 - db "@" + text_far _Route12Text13 + text_end Route12Text14: - TX_FAR _Route12Text14 - db "@" + text_far _Route12Text14 + text_end Route12Text2: - TX_ASM + text_asm ld hl, Route12TrainerHeader0 call TalkToTrainer jp TextScriptEnd Route12BattleText1: - TX_FAR _Route12BattleText1 - db "@" + text_far _Route12BattleText1 + text_end Route12EndBattleText1: - TX_FAR _Route12EndBattleText1 - db "@" + text_far _Route12EndBattleText1 + text_end Route12AfterBattleText1: - TX_FAR _Route12AfterBattleText1 - db "@" + text_far _Route12AfterBattleText1 + text_end Route12Text3: - TX_ASM + text_asm ld hl, Route12TrainerHeader1 call TalkToTrainer jp TextScriptEnd Route12BattleText2: - TX_FAR _Route12BattleText2 - db "@" + text_far _Route12BattleText2 + text_end Route12EndBattleText2: - TX_FAR _Route12EndBattleText2 - db "@" + text_far _Route12EndBattleText2 + text_end Route12AfterBattleText2: - TX_FAR _Route12AfterBattleText2 - db "@" + text_far _Route12AfterBattleText2 + text_end Route12Text4: - TX_ASM + text_asm ld hl, Route12TrainerHeader2 call TalkToTrainer jp TextScriptEnd Route12BattleText3: - TX_FAR _Route12BattleText3 - db "@" + text_far _Route12BattleText3 + text_end Route12EndBattleText3: - TX_FAR _Route12EndBattleText3 - db "@" + text_far _Route12EndBattleText3 + text_end Route12AfterBattleText3: - TX_FAR _Route12AfterBattleText3 - db "@" + text_far _Route12AfterBattleText3 + text_end Route12Text5: - TX_ASM + text_asm ld hl, Route12TrainerHeader3 call TalkToTrainer jp TextScriptEnd Route12BattleText4: - TX_FAR _Route12BattleText4 - db "@" + text_far _Route12BattleText4 + text_end Route12EndBattleText4: - TX_FAR _Route12EndBattleText4 - db "@" + text_far _Route12EndBattleText4 + text_end Route12AfterBattleText4: - TX_FAR _Route12AfterBattleText4 - db "@" + text_far _Route12AfterBattleText4 + text_end Route12Text6: - TX_ASM + text_asm ld hl, Route12TrainerHeader4 call TalkToTrainer jp TextScriptEnd Route12BattleText5: - TX_FAR _Route12BattleText5 - db "@" + text_far _Route12BattleText5 + text_end Route12EndBattleText5: - TX_FAR _Route12EndBattleText5 - db "@" + text_far _Route12EndBattleText5 + text_end Route12AfterBattleText5: - TX_FAR _Route12AfterBattleText5 - db "@" + text_far _Route12AfterBattleText5 + text_end Route12Text7: - TX_ASM + text_asm ld hl, Route12TrainerHeader5 call TalkToTrainer jp TextScriptEnd Route12BattleText6: - TX_FAR _Route12BattleText6 - db "@" + text_far _Route12BattleText6 + text_end Route12EndBattleText6: - TX_FAR _Route12EndBattleText6 - db "@" + text_far _Route12EndBattleText6 + text_end Route12AfterBattleText6: - TX_FAR _Route12AfterBattleText6 - db "@" + text_far _Route12AfterBattleText6 + text_end Route12Text8: - TX_ASM + text_asm ld hl, Route12TrainerHeader6 call TalkToTrainer jp TextScriptEnd Route12BattleText7: - TX_FAR _Route12BattleText7 - db "@" + text_far _Route12BattleText7 + text_end Route12EndBattleText7: - TX_FAR _Route12EndBattleText7 - db "@" + text_far _Route12EndBattleText7 + text_end Route12AfterBattleText7: - TX_FAR _Route12AfterBattleText7 - db "@" + text_far _Route12AfterBattleText7 + text_end Route12Text11: - TX_FAR _Route12Text11 - db "@" + text_far _Route12Text11 + text_end Route12Text12: - TX_FAR _Route12Text12 - db "@" + text_far _Route12Text12 + text_end diff --git a/scripts/Route12Gate1F.asm b/scripts/Route12Gate1F.asm index 52d427ee..72f2dfbf 100755 --- a/scripts/Route12Gate1F.asm +++ b/scripts/Route12Gate1F.asm @@ -5,5 +5,5 @@ Route12Gate1F_TextPointers: dw Route12GateText1 Route12GateText1: - TX_FAR _Route12GateText1 - db "@" + text_far _Route12GateText1 + text_end diff --git a/scripts/Route12Gate2F.asm b/scripts/Route12Gate2F.asm index 0cc2768b..6409a24b 100755 --- a/scripts/Route12Gate2F.asm +++ b/scripts/Route12Gate2F.asm @@ -7,7 +7,7 @@ Route12Gate2F_TextPointers: dw Route12GateUpstairsText3 Route12GateUpstairsText1: - TX_ASM + text_asm CheckEvent EVENT_GOT_TM39, 1 jr c, .asm_0ad3c ld hl, TM39PreReceiveText @@ -30,39 +30,39 @@ Route12GateUpstairsText1: jp TextScriptEnd TM39PreReceiveText: - TX_FAR _TM39PreReceiveText - db "@" + text_far _TM39PreReceiveText + text_end ReceivedTM39Text: - TX_FAR _ReceivedTM39Text - TX_SFX_ITEM_1 - db "@" + text_far _ReceivedTM39Text + sound_get_item_1 + text_end TM39ExplanationText: - TX_FAR _TM39ExplanationText - db "@" + text_far _TM39ExplanationText + text_end TM39NoRoomText: - TX_FAR _TM39NoRoomText - db "@" + text_far _TM39NoRoomText + text_end Route12GateUpstairsText2: - TX_ASM + text_asm ld hl, Route12GateUpstairsText_495b8 jp GateUpstairsScript_PrintIfFacingUp Route12GateUpstairsText_495b8: - TX_FAR _Route12GateUpstairsText_495b8 - db "@" + text_far _Route12GateUpstairsText_495b8 + text_end Route12GateUpstairsText3: - TX_ASM + text_asm ld hl, Route12GateUpstairsText_495c4 jp GateUpstairsScript_PrintIfFacingUp Route12GateUpstairsText_495c4: - TX_FAR _Route12GateUpstairsText_495c4 - db "@" + text_far _Route12GateUpstairsText_495c4 + text_end GateUpstairsScript_PrintIfFacingUp: ld a, [wSpriteStateData1 + 9] diff --git a/scripts/Route12SuperRodHouse.asm b/scripts/Route12SuperRodHouse.asm index de8ed8f0..6cc1602c 100755 --- a/scripts/Route12SuperRodHouse.asm +++ b/scripts/Route12SuperRodHouse.asm @@ -5,7 +5,7 @@ Route12SuperRodHouse_TextPointers: dw Route12HouseText1 Route12HouseText1: - TX_ASM + text_asm ld a, [wd728] bit 5, a jr nz, .asm_b4cad @@ -35,23 +35,23 @@ Route12HouseText1: jp TextScriptEnd Route12HouseText_564c0: - TX_FAR _Route12HouseText_564c0 - db "@" + text_far _Route12HouseText_564c0 + text_end Route12HouseText_564c5: - TX_FAR _Route12HouseText_564c5 - TX_SFX_ITEM_1 - TX_FAR _Route12HouseText_564ca - db "@" + text_far _Route12HouseText_564c5 + sound_get_item_1 + text_far _Route12HouseText_564ca + text_end Route12HouseText_564cf: - TX_FAR _Route12HouseText_564cf - db "@" + text_far _Route12HouseText_564cf + text_end Route12HouseText_564d4: - TX_FAR _Route12HouseText_564d4 - db "@" + text_far _Route12HouseText_564d4 + text_end Route12HouseText_564d9: - TX_FAR _Route12HouseText_564d9 - db "@" + text_far _Route12HouseText_564d9 + text_end diff --git a/scripts/Route13.asm b/scripts/Route13.asm index 8f92147e..9d3b3540 100755 --- a/scripts/Route13.asm +++ b/scripts/Route13.asm @@ -120,193 +120,193 @@ Route13TrainerHeader9: db $ff Route13Text1: - TX_ASM + text_asm ld hl, Route13TrainerHeader0 call TalkToTrainer jp TextScriptEnd Route13BattleText2: - TX_FAR _Route13BattleText2 - db "@" + text_far _Route13BattleText2 + text_end Route13EndBattleText2: - TX_FAR _Route13EndBattleText2 - db "@" + text_far _Route13EndBattleText2 + text_end Route13AfterBattleText2: - TX_FAR _Route13AfterBattleText2 - db "@" + text_far _Route13AfterBattleText2 + text_end Route13Text2: - TX_ASM + text_asm ld hl, Route13TrainerHeader1 call TalkToTrainer jp TextScriptEnd Route13BattleText3: - TX_FAR _Route13BattleText3 - db "@" + text_far _Route13BattleText3 + text_end Route13EndBattleText3: - TX_FAR _Route13EndBattleText3 - db "@" + text_far _Route13EndBattleText3 + text_end Route13AfterBattleText3: - TX_FAR _Route13AfterBattleText3 - db "@" + text_far _Route13AfterBattleText3 + text_end Route13Text3: - TX_ASM + text_asm ld hl, Route13TrainerHeader2 call TalkToTrainer jp TextScriptEnd Route13BattleText4: - TX_FAR _Route13BattleText4 - db "@" + text_far _Route13BattleText4 + text_end Route13EndBattleText4: - TX_FAR _Route13EndBattleText4 - db "@" + text_far _Route13EndBattleText4 + text_end Route13AfterBattleText4: - TX_FAR _Route13AfterBattleText4 - db "@" + text_far _Route13AfterBattleText4 + text_end Route13Text4: - TX_ASM + text_asm ld hl, Route13TrainerHeader3 call TalkToTrainer jp TextScriptEnd Route13BattleText5: - TX_FAR _Route13BattleText5 - db "@" + text_far _Route13BattleText5 + text_end Route13EndBattleText5: - TX_FAR _Route13EndBattleText5 - db "@" + text_far _Route13EndBattleText5 + text_end Route13AfterBattleText5: - TX_FAR _Route13AfterBattleText5 - db "@" + text_far _Route13AfterBattleText5 + text_end Route13Text5: - TX_ASM + text_asm ld hl, Route13TrainerHeader4 call TalkToTrainer jp TextScriptEnd Route13BattleText6: - TX_FAR _Route13BattleText6 - db "@" + text_far _Route13BattleText6 + text_end Route13EndBattleText6: - TX_FAR _Route13EndBattleText6 - db "@" + text_far _Route13EndBattleText6 + text_end Route13AfterBattleText6: - TX_FAR _Route13AfterBattleText6 - db "@" + text_far _Route13AfterBattleText6 + text_end Route13Text6: - TX_ASM + text_asm ld hl, Route13TrainerHeader5 call TalkToTrainer jp TextScriptEnd Route13BattleText7: - TX_FAR _Route13BattleText7 - db "@" + text_far _Route13BattleText7 + text_end Route13EndBattleText7: - TX_FAR _Route13EndBattleText7 - db "@" + text_far _Route13EndBattleText7 + text_end Route13AfterBattleText7: - TX_FAR _Route13AfterBattleText7 - db "@" + text_far _Route13AfterBattleText7 + text_end Route13Text7: - TX_ASM + text_asm ld hl, Route13TrainerHeader6 call TalkToTrainer jp TextScriptEnd Route13BattleText8: - TX_FAR _Route13BattleText8 - db "@" + text_far _Route13BattleText8 + text_end Route13EndBattleText8: - TX_FAR _Route13EndBattleText8 - db "@" + text_far _Route13EndBattleText8 + text_end Route13AfterBattleText8: - TX_FAR _Route13AfterBattleText8 - db "@" + text_far _Route13AfterBattleText8 + text_end Route13Text8: - TX_ASM + text_asm ld hl, Route13TrainerHeader7 call TalkToTrainer jp TextScriptEnd Route13BattleText9: - TX_FAR _Route13BattleText9 - db "@" + text_far _Route13BattleText9 + text_end Route13EndBattleText9: - TX_FAR _Route13EndBattleText9 - db "@" + text_far _Route13EndBattleText9 + text_end Route13AfterBattleText9: - TX_FAR _Route13AfterBattleText9 - db "@" + text_far _Route13AfterBattleText9 + text_end Route13Text9: - TX_ASM + text_asm ld hl, Route13TrainerHeader8 call TalkToTrainer jp TextScriptEnd Route13BattleText10: - TX_FAR _Route13BattleText10 - db "@" + text_far _Route13BattleText10 + text_end Route13EndBattleText10: - TX_FAR _Route13EndBattleText10 - db "@" + text_far _Route13EndBattleText10 + text_end Route13AfterBattleText10: - TX_FAR _Route13AfterBattleText10 - db "@" + text_far _Route13AfterBattleText10 + text_end Route13Text10: - TX_ASM + text_asm ld hl, Route13TrainerHeader9 call TalkToTrainer jp TextScriptEnd Route13BattleText11: - TX_FAR _Route13BattleText11 - db "@" + text_far _Route13BattleText11 + text_end Route13EndBattleText11: - TX_FAR _Route13EndBattleText11 - db "@" + text_far _Route13EndBattleText11 + text_end Route13AfterBattleText11: - TX_FAR _Route13AfterBattleText11 - db "@" + text_far _Route13AfterBattleText11 + text_end Route13Text11: - TX_FAR _Route13Text11 - db "@" + text_far _Route13Text11 + text_end Route13Text12: - TX_FAR _Route13Text12 - db "@" + text_far _Route13Text12 + text_end Route13Text13: - TX_FAR _Route13Text13 - db "@" + text_far _Route13Text13 + text_end diff --git a/scripts/Route14.asm b/scripts/Route14.asm index fdc84d74..20a02e75 100755 --- a/scripts/Route14.asm +++ b/scripts/Route14.asm @@ -118,185 +118,185 @@ Route14TrainerHeader9: db $ff Route14Text1: - TX_ASM + text_asm ld hl, Route14TrainerHeader0 call TalkToTrainer jp TextScriptEnd Route14BattleText1: - TX_FAR _Route14BattleText1 - db "@" + text_far _Route14BattleText1 + text_end Route14EndBattleText1: - TX_FAR _Route14EndBattleText1 - db "@" + text_far _Route14EndBattleText1 + text_end Route14AfterBattleText1: - TX_FAR _Route14AfterBattleText1 - db "@" + text_far _Route14AfterBattleText1 + text_end Route14Text2: - TX_ASM + text_asm ld hl, Route14TrainerHeader1 call TalkToTrainer jp TextScriptEnd Route14BattleText2: - TX_FAR _Route14BattleText2 - db "@" + text_far _Route14BattleText2 + text_end Route14EndBattleText2: - TX_FAR _Route14EndBattleText2 - db "@" + text_far _Route14EndBattleText2 + text_end Route14AfterBattleText2: - TX_FAR _Route14AfterBattleText2 - db "@" + text_far _Route14AfterBattleText2 + text_end Route14Text3: - TX_ASM + text_asm ld hl, Route14TrainerHeader2 call TalkToTrainer jp TextScriptEnd Route14BattleText3: - TX_FAR _Route14BattleText3 - db "@" + text_far _Route14BattleText3 + text_end Route14EndBattleText3: - TX_FAR _Route14EndBattleText3 - db "@" + text_far _Route14EndBattleText3 + text_end Route14AfterBattleText3: - TX_FAR _Route14AfterBattleText3 - db "@" + text_far _Route14AfterBattleText3 + text_end Route14Text4: - TX_ASM + text_asm ld hl, Route14TrainerHeader3 call TalkToTrainer jp TextScriptEnd Route14BattleText4: - TX_FAR _Route14BattleText4 - db "@" + text_far _Route14BattleText4 + text_end Route14EndBattleText4: - TX_FAR _Route14EndBattleText4 - db "@" + text_far _Route14EndBattleText4 + text_end Route14AfterBattleText4: - TX_FAR _Route14AfterBattleText4 - db "@" + text_far _Route14AfterBattleText4 + text_end Route14Text5: - TX_ASM + text_asm ld hl, Route14TrainerHeader4 call TalkToTrainer jp TextScriptEnd Route14BattleText5: - TX_FAR _Route14BattleText5 - db "@" + text_far _Route14BattleText5 + text_end Route14EndBattleText5: - TX_FAR _Route14EndBattleText5 - db "@" + text_far _Route14EndBattleText5 + text_end Route14AfterBattleText5: - TX_FAR _Route14AfterBattleText5 - db "@" + text_far _Route14AfterBattleText5 + text_end Route14Text6: - TX_ASM + text_asm ld hl, Route14TrainerHeader5 call TalkToTrainer jp TextScriptEnd Route14BattleText6: - TX_FAR _Route14BattleText6 - db "@" + text_far _Route14BattleText6 + text_end Route14EndBattleText6: - TX_FAR _Route14EndBattleText6 - db "@" + text_far _Route14EndBattleText6 + text_end Route14AfterBattleText6: - TX_FAR _Route14AfterBattleText6 - db "@" + text_far _Route14AfterBattleText6 + text_end Route14Text7: - TX_ASM + text_asm ld hl, Route14TrainerHeader6 call TalkToTrainer jp TextScriptEnd Route14BattleText7: - TX_FAR _Route14BattleText7 - db "@" + text_far _Route14BattleText7 + text_end Route14EndBattleText7: - TX_FAR _Route14EndBattleText7 - db "@" + text_far _Route14EndBattleText7 + text_end Route14AfterBattleText7: - TX_FAR _Route14AfterBattleText7 - db "@" + text_far _Route14AfterBattleText7 + text_end Route14Text8: - TX_ASM + text_asm ld hl, Route14TrainerHeader7 call TalkToTrainer jp TextScriptEnd Route14BattleText8: - TX_FAR _Route14BattleText8 - db "@" + text_far _Route14BattleText8 + text_end Route14EndBattleText8: - TX_FAR _Route14EndBattleText8 - db "@" + text_far _Route14EndBattleText8 + text_end Route14AfterBattleText8: - TX_FAR _Route14AfterBattleText8 - db "@" + text_far _Route14AfterBattleText8 + text_end Route14Text9: - TX_ASM + text_asm ld hl, Route14TrainerHeader8 call TalkToTrainer jp TextScriptEnd Route14BattleText9: - TX_FAR _Route14BattleText9 - db "@" + text_far _Route14BattleText9 + text_end Route14EndBattleText9: - TX_FAR _Route14EndBattleText9 - db "@" + text_far _Route14EndBattleText9 + text_end Route14AfterBattleText9: - TX_FAR _Route14AfterBattleText9 - db "@" + text_far _Route14AfterBattleText9 + text_end Route14Text10: - TX_ASM + text_asm ld hl, Route14TrainerHeader9 call TalkToTrainer jp TextScriptEnd Route14BattleText10: - TX_FAR _Route14BattleText10 - db "@" + text_far _Route14BattleText10 + text_end Route14EndBattleText10: - TX_FAR _Route14EndBattleText10 - db "@" + text_far _Route14EndBattleText10 + text_end Route14AfterBattleText10: - TX_FAR _Route14AfterBattleText10 - db "@" + text_far _Route14AfterBattleText10 + text_end Route14Text11: - TX_FAR _Route14Text11 - db "@" + text_far _Route14Text11 + text_end diff --git a/scripts/Route15.asm b/scripts/Route15.asm index d973eb9c..e0a4c62d 100755 --- a/scripts/Route15.asm +++ b/scripts/Route15.asm @@ -119,177 +119,177 @@ Route15TrainerHeader9: db $ff Route15Text1: - TX_ASM + text_asm ld hl, Route15TrainerHeader0 jr Route15TalkToTrainer Route15Text2: - TX_ASM + text_asm ld hl, Route15TrainerHeader1 jr Route15TalkToTrainer Route15Text3: - TX_ASM + text_asm ld hl, Route15TrainerHeader2 jr Route15TalkToTrainer Route15Text4: - TX_ASM + text_asm ld hl, Route15TrainerHeader3 jr Route15TalkToTrainer Route15Text5: - TX_ASM + text_asm ld hl, Route15TrainerHeader4 jr Route15TalkToTrainer Route15Text6: - TX_ASM + text_asm ld hl, Route15TrainerHeader5 jr Route15TalkToTrainer Route15Text7: - TX_ASM + text_asm ld hl, Route15TrainerHeader6 jr Route15TalkToTrainer Route15Text8: - TX_ASM + text_asm ld hl, Route15TrainerHeader7 jr Route15TalkToTrainer Route15Text9: - TX_ASM + text_asm ld hl, Route15TrainerHeader8 jr Route15TalkToTrainer Route15Text10: - TX_ASM + text_asm ld hl, Route15TrainerHeader9 Route15TalkToTrainer: call TalkToTrainer jp TextScriptEnd Route15BattleText1: - TX_FAR _Route15BattleText1 - db "@" + text_far _Route15BattleText1 + text_end Route15EndBattleText1: - TX_FAR _Route15EndBattleText1 - db "@" + text_far _Route15EndBattleText1 + text_end Route15AfterBattleText1: - TX_FAR _Route15AfterBattleText1 - db "@" + text_far _Route15AfterBattleText1 + text_end Route15BattleText2: - TX_FAR _Route15BattleText2 - db "@" + text_far _Route15BattleText2 + text_end Route15EndBattleText2: - TX_FAR _Route15EndBattleText2 - db "@" + text_far _Route15EndBattleText2 + text_end Route15AfterBattleText2: - TX_FAR _Route15AfterBattleText2 - db "@" + text_far _Route15AfterBattleText2 + text_end Route15BattleText3: - TX_FAR _Route15BattleText3 - db "@" + text_far _Route15BattleText3 + text_end Route15EndBattleText3: - TX_FAR _Route15EndBattleText3 - db "@" + text_far _Route15EndBattleText3 + text_end Route15AfterBattleText3: - TX_FAR _Route15AfterBattleText3 - db "@" + text_far _Route15AfterBattleText3 + text_end Route15BattleText4: - TX_FAR _Route15BattleText4 - db "@" + text_far _Route15BattleText4 + text_end Route15EndBattleText4: - TX_FAR _Route15EndBattleText4 - db "@" + text_far _Route15EndBattleText4 + text_end Route15AfterBattleText4: - TX_FAR _Route15AfterBattleText4 - db "@" + text_far _Route15AfterBattleText4 + text_end Route15BattleText5: - TX_FAR _Route15BattleText5 - db "@" + text_far _Route15BattleText5 + text_end Route15EndBattleText5: - TX_FAR _Route15EndBattleText5 - db "@" + text_far _Route15EndBattleText5 + text_end Route15AfterBattleText5: - TX_FAR _Route15AfterBattleText5 - db "@" + text_far _Route15AfterBattleText5 + text_end Route15BattleText6: - TX_FAR _Route15BattleText6 - db "@" + text_far _Route15BattleText6 + text_end Route15EndBattleText6: - TX_FAR _Route15EndBattleText6 - db "@" + text_far _Route15EndBattleText6 + text_end Route15AfterBattleText6: - TX_FAR _Route15AfterBattleText6 - db "@" + text_far _Route15AfterBattleText6 + text_end Route15BattleText7: - TX_FAR _Route15BattleText7 - db "@" + text_far _Route15BattleText7 + text_end Route15EndBattleText7: - TX_FAR _Route15EndBattleText7 - db "@" + text_far _Route15EndBattleText7 + text_end Route15AfterBattleText7: - TX_FAR _Route15AfterBattleText7 - db "@" + text_far _Route15AfterBattleText7 + text_end Route15BattleText8: - TX_FAR _Route15BattleText8 - db "@" + text_far _Route15BattleText8 + text_end Route15EndBattleText8: - TX_FAR _Route15EndBattleText8 - db "@" + text_far _Route15EndBattleText8 + text_end Route15AfterBattleText8: - TX_FAR _Route15AfterBattleText8 - db "@" + text_far _Route15AfterBattleText8 + text_end Route15BattleText9: - TX_FAR _Route15BattleText9 - db "@" + text_far _Route15BattleText9 + text_end Route15EndBattleText9: - TX_FAR _Route15EndBattleText9 - db "@" + text_far _Route15EndBattleText9 + text_end Route15AfterBattleText9: - TX_FAR _Route15AfterBattleText9 - db "@" + text_far _Route15AfterBattleText9 + text_end Route15BattleText10: - TX_FAR _Route15BattleText10 - db "@" + text_far _Route15BattleText10 + text_end Route15EndBattleText10: - TX_FAR _Route15EndBattleText10 - db "@" + text_far _Route15EndBattleText10 + text_end Route15AfterBattleText10: - TX_FAR _Route15AfterBattleText10 - db "@" + text_far _Route15AfterBattleText10 + text_end Route15Text12: - TX_FAR _Route15Text12 - db "@" + text_far _Route15Text12 + text_end diff --git a/scripts/Route15Gate1F.asm b/scripts/Route15Gate1F.asm index 910eb2a5..dfbce9d4 100755 --- a/scripts/Route15Gate1F.asm +++ b/scripts/Route15Gate1F.asm @@ -5,5 +5,5 @@ Route15Gate1F_TextPointers: dw Route15GateText1 Route15GateText1: - TX_FAR _Route15GateText1 - db "@" + text_far _Route15GateText1 + text_end diff --git a/scripts/Route15Gate2F.asm b/scripts/Route15Gate2F.asm index 83763762..a0535949 100755 --- a/scripts/Route15Gate2F.asm +++ b/scripts/Route15Gate2F.asm @@ -6,7 +6,7 @@ Route15Gate2F_TextPointers: dw Route15GateUpstairsText2 Route15GateUpstairsText1: - TX_ASM + text_asm CheckEvent EVENT_GOT_EXP_ALL jr nz, .asm_49683 ld a, 50 ; pokemon needed @@ -31,14 +31,14 @@ Route15GateUpstairsText1: jp TextScriptEnd Route15GateUpstairsText_4968c: - TX_FAR _Route15GateUpstairsText_4968c - db "@" + text_far _Route15GateUpstairsText_4968c + text_end Route15GateUpstairsText2: - TX_ASM + text_asm ld hl, Route15GateUpstairsText_49698 jp GateUpstairsScript_PrintIfFacingUp Route15GateUpstairsText_49698: - TX_FAR _Route15GateUpstairsText_49698 - db "@" + text_far _Route15GateUpstairsText_49698 + text_end diff --git a/scripts/Route16.asm b/scripts/Route16.asm index 54f83380..f813b4e5 100755 --- a/scripts/Route16.asm +++ b/scripts/Route16.asm @@ -131,129 +131,129 @@ Route16TrainerHeader5: db $ff Route16Text1: - TX_ASM + text_asm ld hl, Route16TrainerHeader0 call TalkToTrainer jp TextScriptEnd Route16BattleText1: - TX_FAR _Route16BattleText1 - db "@" + text_far _Route16BattleText1 + text_end Route16EndBattleText1: - TX_FAR _Route16EndBattleText1 - db "@" + text_far _Route16EndBattleText1 + text_end Route16AfterBattleText1: - TX_FAR _Route16AfterBattleText1 - db "@" + text_far _Route16AfterBattleText1 + text_end Route16Text2: - TX_ASM + text_asm ld hl, Route16TrainerHeader1 call TalkToTrainer jp TextScriptEnd Route16BattleText2: - TX_FAR _Route16BattleText2 - db "@" + text_far _Route16BattleText2 + text_end Route16EndBattleText2: - TX_FAR _Route16EndBattleText2 - db "@" + text_far _Route16EndBattleText2 + text_end Route16AfterBattleText2: - TX_FAR _Route16AfterBattleText2 - db "@" + text_far _Route16AfterBattleText2 + text_end Route16Text3: - TX_ASM + text_asm ld hl, Route16TrainerHeader2 call TalkToTrainer jp TextScriptEnd Route16BattleText3: - TX_FAR _Route16BattleText3 - db "@" + text_far _Route16BattleText3 + text_end Route16EndBattleText3: - TX_FAR _Route16EndBattleText3 - db "@" + text_far _Route16EndBattleText3 + text_end Route16AfterBattleText3: - TX_FAR _Route16AfterBattleText3 - db "@" + text_far _Route16AfterBattleText3 + text_end Route16Text4: - TX_ASM + text_asm ld hl, Route16TrainerHeader3 call TalkToTrainer jp TextScriptEnd Route16BattleText4: - TX_FAR _Route16BattleText4 - db "@" + text_far _Route16BattleText4 + text_end Route16EndBattleText4: - TX_FAR _Route16EndBattleText4 - db "@" + text_far _Route16EndBattleText4 + text_end Route16AfterBattleText4: - TX_FAR _Route16AfterBattleText4 - db "@" + text_far _Route16AfterBattleText4 + text_end Route16Text5: - TX_ASM + text_asm ld hl, Route16TrainerHeader4 call TalkToTrainer jp TextScriptEnd Route16BattleText5: - TX_FAR _Route16BattleText5 - db "@" + text_far _Route16BattleText5 + text_end Route16EndBattleText5: - TX_FAR _Route16EndBattleText5 - db "@" + text_far _Route16EndBattleText5 + text_end Route16AfterBattleText5: - TX_FAR _Route16AfterBattleText5 - db "@" + text_far _Route16AfterBattleText5 + text_end Route16Text6: - TX_ASM + text_asm ld hl, Route16TrainerHeader5 call TalkToTrainer jp TextScriptEnd Route16BattleText6: - TX_FAR _Route16BattleText6 - db "@" + text_far _Route16BattleText6 + text_end Route16EndBattleText6: - TX_FAR _Route16EndBattleText6 - db "@" + text_far _Route16EndBattleText6 + text_end Route16AfterBattleText6: - TX_FAR _Route16AfterBattleText6 - db "@" + text_far _Route16AfterBattleText6 + text_end Route16Text7: - TX_FAR _Route16Text7 - db "@" + text_far _Route16Text7 + text_end Route16Text10: - TX_FAR _Route16Text10 - db "@" + text_far _Route16Text10 + text_end Route16Text11: - TX_FAR _Route16Text11 - db "@" + text_far _Route16Text11 + text_end Route16Text8: - TX_FAR _Route16Text8 - db "@" + text_far _Route16Text8 + text_end Route16Text9: - TX_FAR _Route16Text9 - db "@" + text_far _Route16Text9 + text_end diff --git a/scripts/Route16FlyHouse.asm b/scripts/Route16FlyHouse.asm index 1d74ac80..38f7bbef 100755 --- a/scripts/Route16FlyHouse.asm +++ b/scripts/Route16FlyHouse.asm @@ -6,7 +6,7 @@ Route16FlyHouse_TextPointers: dw Route16HouseText2 Route16HouseText1: - TX_ASM + text_asm CheckEvent EVENT_GOT_HM02 ld hl, HM02ExplanationText jr nz, .asm_13616 @@ -25,24 +25,24 @@ Route16HouseText1: jp TextScriptEnd Route16HouseText3: - TX_FAR _Route16HouseText3 - db "@" + text_far _Route16HouseText3 + text_end ReceivedHM02Text: - TX_FAR _ReceivedHM02Text - TX_SFX_KEY_ITEM - db "@" + text_far _ReceivedHM02Text + sound_get_key_item + text_end HM02ExplanationText: - TX_FAR _HM02ExplanationText - db "@" + text_far _HM02ExplanationText + text_end HM02NoRoomText: - TX_FAR _HM02NoRoomText - db "@" + text_far _HM02NoRoomText + text_end Route16HouseText2: - TX_ASM + text_asm ld hl, Route16HouseText_1e652 call PrintText ld a, FEAROW @@ -51,5 +51,5 @@ Route16HouseText2: jp TextScriptEnd Route16HouseText_1e652: - TX_FAR _Route16HouseText_1e652 - db "@" + text_far _Route16HouseText_1e652 + text_end diff --git a/scripts/Route16Gate1F.asm b/scripts/Route16Gate1F.asm index f814d209..af84bab0 100755 --- a/scripts/Route16Gate1F.asm +++ b/scripts/Route16Gate1F.asm @@ -92,7 +92,7 @@ Route16Gate1F_TextPointers: dw Route16GateText3 Route16GateText1: - TX_ASM + text_asm call Route16GateScript_49755 jr z, .asm_0bdf3 ld hl, Route16GateText_4977c @@ -105,17 +105,17 @@ Route16GateText1: jp TextScriptEnd Route16GateText_49777: - TX_FAR _Route16GateText_49777 - db "@" + text_far _Route16GateText_49777 + text_end Route16GateText_4977c: - TX_FAR _Route16GateText_4977c - db "@" + text_far _Route16GateText_4977c + text_end Route16GateText3: - TX_FAR _Route16GateText_49781 - db "@" + text_far _Route16GateText_49781 + text_end Route16GateText2: - TX_FAR _Route16GateText2 - db "@" + text_far _Route16GateText2 + text_end diff --git a/scripts/Route16Gate2F.asm b/scripts/Route16Gate2F.asm index 643a5ec7..27e147a1 100755 --- a/scripts/Route16Gate2F.asm +++ b/scripts/Route16Gate2F.asm @@ -8,39 +8,39 @@ Route16Gate2F_TextPointers: dw Route16GateUpstairsText4 Route16GateUpstairsText1: - TX_ASM + text_asm ld hl, Route16GateUpstairsText_49820 call PrintText jp TextScriptEnd Route16GateUpstairsText_49820: - TX_FAR _Route16GateUpstairsText_49820 - db "@" + text_far _Route16GateUpstairsText_49820 + text_end Route16GateUpstairsText2: - TX_ASM + text_asm ld hl, Route16GateUpstairsText_4982f call PrintText jp TextScriptEnd Route16GateUpstairsText_4982f: - TX_FAR _Route16GateUpstairsText_4982f - db "@" + text_far _Route16GateUpstairsText_4982f + text_end Route16GateUpstairsText3: - TX_ASM + text_asm ld hl, Route16GateUpstairsText_4983b jp GateUpstairsScript_PrintIfFacingUp Route16GateUpstairsText_4983b: - TX_FAR _Route16GateUpstairsText_4983b - db "@" + text_far _Route16GateUpstairsText_4983b + text_end Route16GateUpstairsText4: - TX_ASM + text_asm ld hl, Route16GateUpstairsText_49847 jp GateUpstairsScript_PrintIfFacingUp Route16GateUpstairsText_49847: - TX_FAR _Route16GateUpstairsText_49847 - db "@" + text_far _Route16GateUpstairsText_49847 + text_end diff --git a/scripts/Route17.asm b/scripts/Route17.asm index dd92ac44..4c580e06 100755 --- a/scripts/Route17.asm +++ b/scripts/Route17.asm @@ -123,205 +123,205 @@ Route17TrainerHeader9: db $ff Route17Text1: - TX_ASM + text_asm ld hl, Route17TrainerHeader0 call TalkToTrainer jp TextScriptEnd Route17BattleText1: - TX_FAR _Route17BattleText1 - db "@" + text_far _Route17BattleText1 + text_end Route17EndBattleText1: - TX_FAR _Route17EndBattleText1 - db "@" + text_far _Route17EndBattleText1 + text_end Route17AfterBattleText1: - TX_FAR _Route17AfterBattleText1 - db "@" + text_far _Route17AfterBattleText1 + text_end Route17Text2: - TX_ASM + text_asm ld hl, Route17TrainerHeader1 call TalkToTrainer jp TextScriptEnd Route17BattleText2: - TX_FAR _Route17BattleText2 - db "@" + text_far _Route17BattleText2 + text_end Route17EndBattleText2: - TX_FAR _Route17EndBattleText2 - db "@" + text_far _Route17EndBattleText2 + text_end Route17AfterBattleText2: - TX_FAR _Route17AfterBattleText2 - db "@" + text_far _Route17AfterBattleText2 + text_end Route17Text3: - TX_ASM + text_asm ld hl, Route17TrainerHeader2 call TalkToTrainer jp TextScriptEnd Route17BattleText3: - TX_FAR _Route17BattleText3 - db "@" + text_far _Route17BattleText3 + text_end Route17EndBattleText3: - TX_FAR _Route17EndBattleText3 - db "@" + text_far _Route17EndBattleText3 + text_end Route17AfterBattleText3: - TX_FAR _Route17AfterBattleText3 - db "@" + text_far _Route17AfterBattleText3 + text_end Route17Text4: - TX_ASM + text_asm ld hl, Route17TrainerHeader3 call TalkToTrainer jp TextScriptEnd Route17BattleText4: - TX_FAR _Route17BattleText4 - db "@" + text_far _Route17BattleText4 + text_end Route17EndBattleText4: - TX_FAR _Route17EndBattleText4 - db "@" + text_far _Route17EndBattleText4 + text_end Route17AfterBattleText4: - TX_FAR _Route17AfterBattleText4 - db "@" + text_far _Route17AfterBattleText4 + text_end Route17Text5: - TX_ASM + text_asm ld hl, Route17TrainerHeader4 call TalkToTrainer jp TextScriptEnd Route17BattleText5: - TX_FAR _Route17BattleText5 - db "@" + text_far _Route17BattleText5 + text_end Route17EndBattleText5: - TX_FAR _Route17EndBattleText5 - db "@" + text_far _Route17EndBattleText5 + text_end Route17AfterBattleText5: - TX_FAR _Route17AfterBattleText5 - db "@" + text_far _Route17AfterBattleText5 + text_end Route17Text6: - TX_ASM + text_asm ld hl, Route17TrainerHeader5 call TalkToTrainer jp TextScriptEnd Route17BattleText6: - TX_FAR _Route17BattleText6 - db "@" + text_far _Route17BattleText6 + text_end Route17EndBattleText6: - TX_FAR _Route17EndBattleText6 - db "@" + text_far _Route17EndBattleText6 + text_end Route17AfterBattleText6: - TX_FAR _Route17AfterBattleText6 - db "@" + text_far _Route17AfterBattleText6 + text_end Route17Text7: - TX_ASM + text_asm ld hl, Route17TrainerHeader6 call TalkToTrainer jp TextScriptEnd Route17BattleText7: - TX_FAR _Route17BattleText7 - db "@" + text_far _Route17BattleText7 + text_end Route17EndBattleText7: - TX_FAR _Route17EndBattleText7 - db "@" + text_far _Route17EndBattleText7 + text_end Route17AfterBattleText7: - TX_FAR _Route17AfterBattleText7 - db "@" + text_far _Route17AfterBattleText7 + text_end Route17Text8: - TX_ASM + text_asm ld hl, Route17TrainerHeader7 call TalkToTrainer jp TextScriptEnd Route17BattleText8: - TX_FAR _Route17BattleText8 - db "@" + text_far _Route17BattleText8 + text_end Route17EndBattleText8: - TX_FAR _Route17EndBattleText8 - db "@" + text_far _Route17EndBattleText8 + text_end Route17AfterBattleText8: - TX_FAR _Route17AfterBattleText8 - db "@" + text_far _Route17AfterBattleText8 + text_end Route17Text9: - TX_ASM + text_asm ld hl, Route17TrainerHeader8 call TalkToTrainer jp TextScriptEnd Route17BattleText9: - TX_FAR _Route17BattleText9 - db "@" + text_far _Route17BattleText9 + text_end Route17EndBattleText9: - TX_FAR _Route17EndBattleText9 - db "@" + text_far _Route17EndBattleText9 + text_end Route17AfterBattleText9: - TX_FAR _Route17AfterBattleText9 - db "@" + text_far _Route17AfterBattleText9 + text_end Route17Text10: - TX_ASM + text_asm ld hl, Route17TrainerHeader9 call TalkToTrainer jp TextScriptEnd Route17BattleText10: - TX_FAR _Route17BattleText10 - db "@" + text_far _Route17BattleText10 + text_end Route17EndBattleText10: - TX_FAR _Route17EndBattleText10 - db "@" + text_far _Route17EndBattleText10 + text_end Route17AfterBattleText10: - TX_FAR _Route17AfterBattleText10 - db "@" + text_far _Route17AfterBattleText10 + text_end Route17Text11: - TX_FAR _Route17Text11 - db "@" + text_far _Route17Text11 + text_end Route17Text12: - TX_FAR _Route17Text12 - db "@" + text_far _Route17Text12 + text_end Route17Text13: - TX_FAR _Route17Text13 - db "@" + text_far _Route17Text13 + text_end Route17Text14: - TX_FAR _Route17Text14 - db "@" + text_far _Route17Text14 + text_end Route17Text15: - TX_FAR _Route17Text15 - db "@" + text_far _Route17Text15 + text_end Route17Text16: - TX_FAR _Route17Text16 - db "@" + text_far _Route17Text16 + text_end diff --git a/scripts/Route18.asm b/scripts/Route18.asm index 022d41be..85d3efd3 100755 --- a/scripts/Route18.asm +++ b/scripts/Route18.asm @@ -49,63 +49,63 @@ Route18TrainerHeader2: db $ff Route18Text1: - TX_ASM + text_asm ld hl, Route18TrainerHeader0 call TalkToTrainer jp TextScriptEnd Route18BattleText1: - TX_FAR _Route18BattleText1 - db "@" + text_far _Route18BattleText1 + text_end Route18EndBattleText1: - TX_FAR _Route18EndBattleText1 - db "@" + text_far _Route18EndBattleText1 + text_end Route18AfterBattleText1: - TX_FAR _Route18AfterBattleText1 - db "@" + text_far _Route18AfterBattleText1 + text_end Route18Text2: - TX_ASM + text_asm ld hl, Route18TrainerHeader1 call TalkToTrainer jp TextScriptEnd Route18BattleText2: - TX_FAR _Route18BattleText2 - db "@" + text_far _Route18BattleText2 + text_end Route18EndBattleText2: - TX_FAR _Route18EndBattleText2 - db "@" + text_far _Route18EndBattleText2 + text_end Route18AfterBattleText2: - TX_FAR _Route18AfterBattleText2 - db "@" + text_far _Route18AfterBattleText2 + text_end Route18Text3: - TX_ASM + text_asm ld hl, Route18TrainerHeader2 call TalkToTrainer jp TextScriptEnd Route18BattleText3: - TX_FAR _Route18BattleText3 - db "@" + text_far _Route18BattleText3 + text_end Route18EndBattleText3: - TX_FAR _Route18EndBattleText3 - db "@" + text_far _Route18EndBattleText3 + text_end Route18AfterBattleText3: - TX_FAR _Route18AfterBattleText3 - db "@" + text_far _Route18AfterBattleText3 + text_end Route18Text4: - TX_FAR _Route18Text4 - db "@" + text_far _Route18Text4 + text_end Route18Text5: - TX_FAR _Route18Text5 - db "@" + text_far _Route18Text5 + text_end diff --git a/scripts/Route18Gate1F.asm b/scripts/Route18Gate1F.asm index 812cb3e0..ad876e15 100755 --- a/scripts/Route18Gate1F.asm +++ b/scripts/Route18Gate1F.asm @@ -87,7 +87,7 @@ Route18Gate1F_TextPointers: dw Route18GateText2 Route18GateText1: - TX_ASM + text_asm call Route16GateScript_49755 jr z, .asm_3c84d ld hl, Route18GateText_4992d @@ -100,13 +100,13 @@ Route18GateText1: jp TextScriptEnd Route18GateText_49928: - TX_FAR _Route18GateText_49928 - db "@" + text_far _Route18GateText_49928 + text_end Route18GateText_4992d: - TX_FAR _Route18GateText_4992d - db "@" + text_far _Route18GateText_4992d + text_end Route18GateText2: - TX_FAR _Route18GateText_49932 - db "@" + text_far _Route18GateText_49932 + text_end diff --git a/scripts/Route18Gate2F.asm b/scripts/Route18Gate2F.asm index 6987a099..d7511859 100755 --- a/scripts/Route18Gate2F.asm +++ b/scripts/Route18Gate2F.asm @@ -7,26 +7,26 @@ Route18Gate2F_TextPointers: dw Route18GateUpstairsText3 Route18GateUpstairsText1: - TX_ASM + text_asm ld a, $5 ld [wWhichTrade], a predef DoInGameTradeDialogue jp TextScriptEnd Route18GateUpstairsText2: - TX_ASM + text_asm ld hl, Route18GateUpstairsText_49993 jp GateUpstairsScript_PrintIfFacingUp Route18GateUpstairsText_49993: - TX_FAR _Route18GateUpstairsText_49993 - db "@" + text_far _Route18GateUpstairsText_49993 + text_end Route18GateUpstairsText3: - TX_ASM + text_asm ld hl, Route18GateUpstairsText_4999f jp GateUpstairsScript_PrintIfFacingUp Route18GateUpstairsText_4999f: - TX_FAR _Route18GateUpstairsText_4999f - db "@" + text_far _Route18GateUpstairsText_4999f + text_end diff --git a/scripts/Route19.asm b/scripts/Route19.asm index 6f603e05..c26e3a12 100755 --- a/scripts/Route19.asm +++ b/scripts/Route19.asm @@ -118,185 +118,185 @@ Route19TrainerHeader9: db $ff Route19Text1: - TX_ASM + text_asm ld hl, Route19TrainerHeader0 call TalkToTrainer jp TextScriptEnd Route19Text2: - TX_ASM + text_asm ld hl, Route19TrainerHeader1 call TalkToTrainer jp TextScriptEnd Route19Text3: - TX_ASM + text_asm ld hl, Route19TrainerHeader2 call TalkToTrainer jp TextScriptEnd Route19Text4: - TX_ASM + text_asm ld hl, Route19TrainerHeader3 call TalkToTrainer jp TextScriptEnd Route19Text5: - TX_ASM + text_asm ld hl, Route19TrainerHeader4 call TalkToTrainer jp TextScriptEnd Route19Text6: - TX_ASM + text_asm ld hl, Route19TrainerHeader5 call TalkToTrainer jp TextScriptEnd Route19Text7: - TX_ASM + text_asm ld hl, Route19TrainerHeader6 call TalkToTrainer jp TextScriptEnd Route19Text8: - TX_ASM + text_asm ld hl, Route19TrainerHeader7 call TalkToTrainer jp TextScriptEnd Route19Text9: - TX_ASM + text_asm ld hl, Route19TrainerHeader8 call TalkToTrainer jp TextScriptEnd Route19Text10: - TX_ASM + text_asm ld hl, Route19TrainerHeader9 call TalkToTrainer jp TextScriptEnd Route19BattleText1: - TX_FAR _Route19BattleText1 - db "@" + text_far _Route19BattleText1 + text_end Route19EndBattleText1: - TX_FAR _Route19EndBattleText1 - db "@" + text_far _Route19EndBattleText1 + text_end Route19AfterBattleText1: - TX_FAR _Route19AfterBattleText1 - db "@" + text_far _Route19AfterBattleText1 + text_end Route19BattleText2: - TX_FAR _Route19BattleText2 - db "@" + text_far _Route19BattleText2 + text_end Route19EndBattleText2: - TX_FAR _Route19EndBattleText2 - db "@" + text_far _Route19EndBattleText2 + text_end Route19AfterBattleText2: - TX_FAR _Route19AfterBattleText2 - db "@" + text_far _Route19AfterBattleText2 + text_end Route19BattleText3: - TX_FAR _Route19BattleText3 - db "@" + text_far _Route19BattleText3 + text_end Route19EndBattleText3: - TX_FAR _Route19EndBattleText3 - db "@" + text_far _Route19EndBattleText3 + text_end Route19AfterBattleText3: - TX_FAR _Route19AfterBattleText3 - db "@" + text_far _Route19AfterBattleText3 + text_end Route19BattleText4: - TX_FAR _Route19BattleText4 - db "@" + text_far _Route19BattleText4 + text_end Route19EndBattleText4: - TX_FAR _Route19EndBattleText4 - db "@" + text_far _Route19EndBattleText4 + text_end Route19AfterBattleText4: - TX_FAR _Route19AfterBattleText4 - db "@" + text_far _Route19AfterBattleText4 + text_end Route19BattleText5: - TX_FAR _Route19BattleText5 - db "@" + text_far _Route19BattleText5 + text_end Route19EndBattleText5: - TX_FAR _Route19EndBattleText5 - db "@" + text_far _Route19EndBattleText5 + text_end Route19AfterBattleText5: - TX_FAR _Route19AfterBattleText5 - db "@" + text_far _Route19AfterBattleText5 + text_end Route19BattleText6: - TX_FAR _Route19BattleText6 - db "@" + text_far _Route19BattleText6 + text_end Route19EndBattleText6: - TX_FAR _Route19EndBattleText6 - db "@" + text_far _Route19EndBattleText6 + text_end Route19AfterBattleText6: - TX_FAR _Route19AfterBattleText6 - db "@" + text_far _Route19AfterBattleText6 + text_end Route19BattleText7: - TX_FAR _Route19BattleText7 - db "@" + text_far _Route19BattleText7 + text_end Route19EndBattleText7: - TX_FAR _Route19EndBattleText7 - db "@" + text_far _Route19EndBattleText7 + text_end Route19AfterBattleText7: - TX_FAR _Route19AfterBattleText7 - db "@" + text_far _Route19AfterBattleText7 + text_end Route19BattleText8: - TX_FAR _Route19BattleText8 - db "@" + text_far _Route19BattleText8 + text_end Route19EndBattleText8: - TX_FAR _Route19EndBattleText8 - db "@" + text_far _Route19EndBattleText8 + text_end Route19AfterBattleText8: - TX_FAR _Route19AfterBattleText8 - db "@" + text_far _Route19AfterBattleText8 + text_end Route19BattleText9: - TX_FAR _Route19BattleText9 - db "@" + text_far _Route19BattleText9 + text_end Route19EndBattleText9: - TX_FAR _Route19EndBattleText9 - db "@" + text_far _Route19EndBattleText9 + text_end Route19AfterBattleText9: - TX_FAR _Route19AfterBattleText9 - db "@" + text_far _Route19AfterBattleText9 + text_end Route19BattleText10: - TX_FAR _Route19BattleText10 - db "@" + text_far _Route19BattleText10 + text_end Route19EndBattleText10: - TX_FAR _Route19EndBattleText10 - db "@" + text_far _Route19EndBattleText10 + text_end Route19AfterBattleText10: - TX_FAR _Route19AfterBattleText10 - db "@" + text_far _Route19AfterBattleText10 + text_end Route19Text11: - TX_FAR _Route19Text11 - db "@" + text_far _Route19Text11 + text_end diff --git a/scripts/Route2.asm b/scripts/Route2.asm index f4b1c8c4..c6886ce4 100755 --- a/scripts/Route2.asm +++ b/scripts/Route2.asm @@ -8,9 +8,9 @@ Route2_TextPointers: dw Route2Text4 Route2Text3: - TX_FAR _Route2Text3 - db "@" + text_far _Route2Text3 + text_end Route2Text4: - TX_FAR _Route2Text4 - db "@" + text_far _Route2Text4 + text_end diff --git a/scripts/Route20.asm b/scripts/Route20.asm index 081a723e..393bc7da 100755 --- a/scripts/Route20.asm +++ b/scripts/Route20.asm @@ -168,186 +168,186 @@ Route20TrainerHeader9: db $ff Route20Text1: - TX_ASM + text_asm ld hl, Route20TrainerHeader0 call TalkToTrainer jp TextScriptEnd Route20Text2: - TX_ASM + text_asm ld hl, Route20TrainerHeader1 call TalkToTrainer jp TextScriptEnd Route20Text3: - TX_ASM + text_asm ld hl, Route20TrainerHeader2 call TalkToTrainer jp TextScriptEnd Route20Text4: - TX_ASM + text_asm ld hl, Route20TrainerHeader3 call TalkToTrainer jp TextScriptEnd Route20Text5: - TX_ASM + text_asm ld hl, Route20TrainerHeader4 call TalkToTrainer jp TextScriptEnd Route20Text6: - TX_ASM + text_asm ld hl, Route20TrainerHeader5 call TalkToTrainer jp TextScriptEnd Route20Text7: - TX_ASM + text_asm ld hl, Route20TrainerHeader6 call TalkToTrainer jp TextScriptEnd Route20Text8: - TX_ASM + text_asm ld hl, Route20TrainerHeader7 call TalkToTrainer jp TextScriptEnd Route20Text9: - TX_ASM + text_asm ld hl, Route20TrainerHeader8 call TalkToTrainer jp TextScriptEnd Route20Text10: - TX_ASM + text_asm ld hl, Route20TrainerHeader9 call TalkToTrainer jp TextScriptEnd Route20BattleText1: - TX_FAR _Route20BattleText1 - db "@" + text_far _Route20BattleText1 + text_end Route20EndBattleText1: - TX_FAR _Route20EndBattleText1 - db "@" + text_far _Route20EndBattleText1 + text_end Route20AfterBattleText1: - TX_FAR _Route20AfterBattleText1 - db "@" + text_far _Route20AfterBattleText1 + text_end Route20BattleText2: - TX_FAR _Route20BattleText2 - db "@" + text_far _Route20BattleText2 + text_end Route20EndBattleText2: - TX_FAR _Route20EndBattleText2 - db "@" + text_far _Route20EndBattleText2 + text_end Route20AfterBattleText2: - TX_FAR _Route20AfterBattleText2 - db "@" + text_far _Route20AfterBattleText2 + text_end Route20BattleText3: - TX_FAR _Route20BattleText3 - db "@" + text_far _Route20BattleText3 + text_end Route20EndBattleText3: - TX_FAR _Route20EndBattleText3 - db "@" + text_far _Route20EndBattleText3 + text_end Route20AfterBattleText3: - TX_FAR _Route20AfterBattleText3 - db "@" + text_far _Route20AfterBattleText3 + text_end Route20BattleText4: - TX_FAR _Route20BattleText4 - db "@" + text_far _Route20BattleText4 + text_end Route20EndBattleText4: - TX_FAR _Route20EndBattleText4 - db "@" + text_far _Route20EndBattleText4 + text_end Route20AfterBattleText4: - TX_FAR _Route20AfterBattleText4 - db "@" + text_far _Route20AfterBattleText4 + text_end Route20BattleText5: - TX_FAR _Route20BattleText5 - db "@" + text_far _Route20BattleText5 + text_end Route20EndBattleText5: - TX_FAR _Route20EndBattleText5 - db "@" + text_far _Route20EndBattleText5 + text_end Route20AfterBattleText5: - TX_FAR _Route20AfterBattleText5 - db "@" + text_far _Route20AfterBattleText5 + text_end Route20BattleText6: - TX_FAR _Route20BattleText6 - db "@" + text_far _Route20BattleText6 + text_end Route20EndBattleText6: - TX_FAR _Route20EndBattleText6 - db "@" + text_far _Route20EndBattleText6 + text_end Route20AfterBattleText6: - TX_FAR _Route20AfterBattleText6 - db "@" + text_far _Route20AfterBattleText6 + text_end Route20BattleText7: - TX_FAR _Route20BattleText7 - db "@" + text_far _Route20BattleText7 + text_end Route20EndBattleText7: - TX_FAR _Route20EndBattleText7 - db "@" + text_far _Route20EndBattleText7 + text_end Route20AfterBattleText7: - TX_FAR _Route20AfterBattleText7 - db "@" + text_far _Route20AfterBattleText7 + text_end Route20BattleText8: - TX_FAR _Route20BattleText8 - db "@" + text_far _Route20BattleText8 + text_end Route20EndBattleText8: - TX_FAR _Route20EndBattleText8 - db "@" + text_far _Route20EndBattleText8 + text_end Route20AfterBattleText8: - TX_FAR _Route20AfterBattleText8 - db "@" + text_far _Route20AfterBattleText8 + text_end Route20BattleText9: - TX_FAR _Route20BattleText9 - db "@" + text_far _Route20BattleText9 + text_end Route20EndBattleText9: - TX_FAR _Route20EndBattleText9 - db "@" + text_far _Route20EndBattleText9 + text_end Route20AfterBattleText9: - TX_FAR _Route20AfterBattleText9 - db "@" + text_far _Route20AfterBattleText9 + text_end Route20BattleText10: - TX_FAR _Route20BattleText10 - db "@" + text_far _Route20BattleText10 + text_end Route20EndBattleText10: - TX_FAR _Route20EndBattleText10 - db "@" + text_far _Route20EndBattleText10 + text_end Route20AfterBattleText10: - TX_FAR _Route20AfterBattleText10 - db "@" + text_far _Route20AfterBattleText10 + text_end Route20Text12: Route20Text11: - TX_FAR _Route20Text11 - db "@" + text_far _Route20Text11 + text_end diff --git a/scripts/Route21.asm b/scripts/Route21.asm index 15dacd5d..1df2f1c8 100755 --- a/scripts/Route21.asm +++ b/scripts/Route21.asm @@ -107,163 +107,163 @@ Route21TrainerHeader8: db $ff Route21Text1: - TX_ASM + text_asm ld hl, Route21TrainerHeader0 call TalkToTrainer jp TextScriptEnd Route21Text2: - TX_ASM + text_asm ld hl, Route21TrainerHeader1 call TalkToTrainer jp TextScriptEnd Route21Text3: - TX_ASM + text_asm ld hl, Route21TrainerHeader2 call TalkToTrainer jp TextScriptEnd Route21Text4: - TX_ASM + text_asm ld hl, Route21TrainerHeader3 call TalkToTrainer jp TextScriptEnd Route21Text5: - TX_ASM + text_asm ld hl, Route21TrainerHeader4 call TalkToTrainer jp TextScriptEnd Route21Text6: - TX_ASM + text_asm ld hl, Route21TrainerHeader5 call TalkToTrainer jp TextScriptEnd Route21Text7: - TX_ASM + text_asm ld hl, Route21TrainerHeader6 call TalkToTrainer jp TextScriptEnd Route21Text8: - TX_ASM + text_asm ld hl, Route21TrainerHeader7 call TalkToTrainer jp TextScriptEnd Route21Text9: - TX_ASM + text_asm ld hl, Route21TrainerHeader8 call TalkToTrainer jp TextScriptEnd Route21BattleText1: - TX_FAR _Route21BattleText1 - db "@" + text_far _Route21BattleText1 + text_end Route21EndBattleText1: - TX_FAR _Route21EndBattleText1 - db "@" + text_far _Route21EndBattleText1 + text_end Route21AfterBattleText1: - TX_FAR _Route21AfterBattleText1 - db "@" + text_far _Route21AfterBattleText1 + text_end Route21BattleText2: - TX_FAR _Route21BattleText2 - db "@" + text_far _Route21BattleText2 + text_end Route21EndBattleText2: - TX_FAR _Route21EndBattleText2 - db "@" + text_far _Route21EndBattleText2 + text_end Route21AfterBattleText2: - TX_FAR _Route21AfterBattleText2 - db "@" + text_far _Route21AfterBattleText2 + text_end Route21BattleText3: - TX_FAR _Route21BattleText3 - db "@" + text_far _Route21BattleText3 + text_end Route21EndBattleText3: - TX_FAR _Route21EndBattleText3 - db "@" + text_far _Route21EndBattleText3 + text_end Route21AfterBattleText3: - TX_FAR _Route21AfterBattleText3 - db "@" + text_far _Route21AfterBattleText3 + text_end Route21BattleText4: - TX_FAR _Route21BattleText4 - db "@" + text_far _Route21BattleText4 + text_end Route21EndBattleText4: - TX_FAR _Route21EndBattleText4 - db "@" + text_far _Route21EndBattleText4 + text_end Route21AfterBattleText4: - TX_FAR _Route21AfterBattleText4 - db "@" + text_far _Route21AfterBattleText4 + text_end Route21BattleText5: - TX_FAR _Route21BattleText5 - db "@" + text_far _Route21BattleText5 + text_end Route21EndBattleText5: - TX_FAR _Route21EndBattleText5 - db "@" + text_far _Route21EndBattleText5 + text_end Route21AfterBattleText5: - TX_FAR _Route21AfterBattleText5 - db "@" + text_far _Route21AfterBattleText5 + text_end Route21BattleText6: - TX_FAR _Route21BattleText6 - db "@" + text_far _Route21BattleText6 + text_end Route21EndBattleText6: - TX_FAR _Route21EndBattleText6 - db "@" + text_far _Route21EndBattleText6 + text_end Route21AfterBattleText6: - TX_FAR _Route21AfterBattleText6 - db "@" + text_far _Route21AfterBattleText6 + text_end Route21BattleText7: - TX_FAR _Route21BattleText7 - db "@" + text_far _Route21BattleText7 + text_end Route21EndBattleText7: - TX_FAR _Route21EndBattleText7 - db "@" + text_far _Route21EndBattleText7 + text_end Route21AfterBattleText7: - TX_FAR _Route21AfterBattleText7 - db "@" + text_far _Route21AfterBattleText7 + text_end Route21BattleText8: - TX_FAR _Route21BattleText8 - db "@" + text_far _Route21BattleText8 + text_end Route21EndBattleText8: - TX_FAR _Route21EndBattleText8 - db "@" + text_far _Route21EndBattleText8 + text_end Route21AfterBattleText8: - TX_FAR _Route21AfterBattleText8 - db "@" + text_far _Route21AfterBattleText8 + text_end Route21BattleText9: - TX_FAR _Route21BattleText9 - db "@" + text_far _Route21BattleText9 + text_end Route21EndBattleText9: - TX_FAR _Route21EndBattleText9 - db "@" + text_far _Route21EndBattleText9 + text_end Route21AfterBattleText9: - TX_FAR _Route21AfterBattleText9 - db "@" + text_far _Route21AfterBattleText9 + text_end diff --git a/scripts/Route22.asm b/scripts/Route22.asm index 8fde2d42..8771ad0e 100755 --- a/scripts/Route22.asm +++ b/scripts/Route22.asm @@ -383,7 +383,7 @@ Route22_TextPointers: dw Route22FrontGateText Route22Text1: - TX_ASM + text_asm CheckEvent EVENT_BEAT_ROUTE22_RIVAL_1ST_BATTLE jr z, .asm_5118b ld hl, Route22RivalAfterBattleText1 @@ -396,7 +396,7 @@ Route22Text1: jp TextScriptEnd Route22Text2: - TX_ASM + text_asm CheckEvent EVENT_BEAT_ROUTE22_RIVAL_2ND_BATTLE jr z, .asm_511a4 ld hl, Route22RivalAfterBattleText2 @@ -409,37 +409,37 @@ Route22Text2: jp TextScriptEnd Route22RivalBeforeBattleText1: - TX_FAR _Route22RivalBeforeBattleText1 - db "@" + text_far _Route22RivalBeforeBattleText1 + text_end Route22RivalAfterBattleText1: - TX_FAR _Route22RivalAfterBattleText1 - db "@" + text_far _Route22RivalAfterBattleText1 + text_end Route22RivalDefeatedText1: - TX_FAR _Route22RivalDefeatedText1 - db "@" + text_far _Route22RivalDefeatedText1 + text_end Route22Text_511bc: - TX_FAR _Route22Text_511bc - db "@" + text_far _Route22Text_511bc + text_end Route22RivalBeforeBattleText2: - TX_FAR _Route22RivalBeforeBattleText2 - db "@" + text_far _Route22RivalBeforeBattleText2 + text_end Route22RivalAfterBattleText2: - TX_FAR _Route22RivalAfterBattleText2 - db "@" + text_far _Route22RivalAfterBattleText2 + text_end Route22RivalDefeatedText2: - TX_FAR _Route22RivalDefeatedText2 - db "@" + text_far _Route22RivalDefeatedText2 + text_end Route22Text_511d0: - TX_FAR _Route22Text_511d0 - db "@" + text_far _Route22Text_511d0 + text_end Route22FrontGateText: - TX_FAR _Route22FrontGateText - db "@" + text_far _Route22FrontGateText + text_end diff --git a/scripts/Route22Gate.asm b/scripts/Route22Gate.asm index 86b1220d..b7fcc8f5 100755 --- a/scripts/Route22Gate.asm +++ b/scripts/Route22Gate.asm @@ -57,7 +57,7 @@ Route22Gate_TextPointers: dw Route22GateText1 Route22GateText1: - TX_ASM + text_asm ld a, [wObtainedBadges] bit 0, a jr nz, .asm_1e6f6 @@ -75,8 +75,8 @@ Route22GateText1: jp TextScriptEnd Route22GateText_1e704: - TX_FAR _Route22GateText_1e704 - TX_ASM + text_far _Route22GateText_1e704 + text_asm ld a, SFX_DENIED call PlaySoundWaitForCurrent call WaitForSoundToFinish @@ -84,10 +84,10 @@ Route22GateText_1e704: ret Route22GateText_1e715: - TX_FAR _Route22GateText_1e715 - db "@" + text_far _Route22GateText_1e715 + text_end Route22GateText_1e71a: - TX_FAR _Route22GateText_1e71a - TX_SFX_ITEM_1 - db "@" + text_far _Route22GateText_1e71a + sound_get_item_1 + text_end diff --git a/scripts/Route23.asm b/scripts/Route23.asm index e91e2c98..e8bc5475 100755 --- a/scripts/Route23.asm +++ b/scripts/Route23.asm @@ -142,43 +142,43 @@ Route23_TextPointers: dw Route23Text8 Route23Text1: - TX_ASM + text_asm EventFlagBit a, EVENT_PASSED_EARTHBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK call Route23Script_51346 jp TextScriptEnd Route23Text2: - TX_ASM + text_asm EventFlagBit a, EVENT_PASSED_VOLCANOBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK call Route23Script_51346 jp TextScriptEnd Route23Text3: - TX_ASM + text_asm EventFlagBit a, EVENT_PASSED_MARSHBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK call Route23Script_51346 jp TextScriptEnd Route23Text4: - TX_ASM + text_asm EventFlagBit a, EVENT_PASSED_SOULBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK call Route23Script_51346 jp TextScriptEnd Route23Text5: - TX_ASM + text_asm EventFlagBit a, EVENT_PASSED_RAINBOWBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK call Route23Script_51346 jp TextScriptEnd Route23Text6: - TX_ASM + text_asm EventFlagBit a, EVENT_PASSED_THUNDERBADGE_CHECK, EVENT_PASSED_CASCADEBADGE_CHECK call Route23Script_51346 jp TextScriptEnd Route23Text7: - TX_ASM + text_asm EventFlagBit a, EVENT_PASSED_CASCADEBADGE_CHECK call Route23Script_51346 jp TextScriptEnd @@ -218,19 +218,19 @@ Route23Script_51388: jp PrintText VictoryRoadGuardText1: - TX_FAR _VictoryRoadGuardText1 - TX_ASM + text_far _VictoryRoadGuardText1 + text_asm ld a, SFX_DENIED call PlaySoundWaitForCurrent call WaitForSoundToFinish jp TextScriptEnd VictoryRoadGuardText2: - TX_FAR _VictoryRoadGuardText2 - TX_SFX_ITEM_1 - TX_FAR _VictoryRoadGuardText_513a3 - db "@" + text_far _VictoryRoadGuardText2 + sound_get_item_1 + text_far _VictoryRoadGuardText_513a3 + text_end Route23Text8: - TX_FAR _Route23Text8 - db "@" + text_far _Route23Text8 + text_end diff --git a/scripts/Route24.asm b/scripts/Route24.asm index a8e16e7d..f04a43cf 100755 --- a/scripts/Route24.asm +++ b/scripts/Route24.asm @@ -142,7 +142,7 @@ Route24TrainerHeader5: db $ff Route24Text1: - TX_ASM + text_asm ResetEvent EVENT_NUGGET_REWARD_AVAILABLE CheckEvent EVENT_GOT_NUGGET jr nz, .asm_514f9 @@ -183,137 +183,137 @@ Route24Text1: jp TextScriptEnd Route24Text_51510: - TX_FAR _Route24Text_51510 - TX_SFX_ITEM_1 - TX_FAR _Route24Text_51515 - db "@" + text_far _Route24Text_51510 + sound_get_item_1 + text_far _Route24Text_51515 + text_end Route24Text_5151a: - TX_FAR _Route24Text_5151a - TX_SFX_ITEM_1 - TX_BLINK - db "@" + text_far _Route24Text_5151a + sound_get_item_1 + text_promptbutton + text_end Route24Text_51521: - TX_FAR _Route24Text_51521 - db "@" + text_far _Route24Text_51521 + text_end Route24Text_51526: - TX_FAR _Route24Text_51526 - db "@" + text_far _Route24Text_51526 + text_end Route24Text_5152b: - TX_FAR _Route24Text_5152b - db "@" + text_far _Route24Text_5152b + text_end Route24Text_51530: - TX_FAR _Route24Text_51530 - db "@" + text_far _Route24Text_51530 + text_end Route24Text2: - TX_ASM + text_asm ld hl, Route24TrainerHeader0 call TalkToTrainer jp TextScriptEnd Route24Text3: - TX_ASM + text_asm ld hl, Route24TrainerHeader1 call TalkToTrainer jp TextScriptEnd Route24Text4: - TX_ASM + text_asm ld hl, Route24TrainerHeader2 call TalkToTrainer jp TextScriptEnd Route24Text5: - TX_ASM + text_asm ld hl, Route24TrainerHeader3 call TalkToTrainer jp TextScriptEnd Route24Text6: - TX_ASM + text_asm ld hl, Route24TrainerHeader4 call TalkToTrainer jp TextScriptEnd Route24Text7: - TX_ASM + text_asm ld hl, Route24TrainerHeader5 call TalkToTrainer jp TextScriptEnd Route24BattleText1: - TX_FAR _Route24BattleText1 - db "@" + text_far _Route24BattleText1 + text_end Route24EndBattleText1: - TX_FAR _Route24EndBattleText1 - db "@" + text_far _Route24EndBattleText1 + text_end Route24AfterBattleText1: - TX_FAR _Route24AfterBattleText1 - db "@" + text_far _Route24AfterBattleText1 + text_end Route24BattleText2: - TX_FAR _Route24BattleText2 - db "@" + text_far _Route24BattleText2 + text_end Route24EndBattleText2: - TX_FAR _Route24EndBattleText2 - db "@" + text_far _Route24EndBattleText2 + text_end Route24AfterBattleText2: - TX_FAR _Route24AfterBattleText2 - db "@" + text_far _Route24AfterBattleText2 + text_end Route24BattleText3: - TX_FAR _Route24BattleText3 - db "@" + text_far _Route24BattleText3 + text_end Route24EndBattleText3: - TX_FAR _Route24EndBattleText3 - db "@" + text_far _Route24EndBattleText3 + text_end Route24AfterBattleText3: - TX_FAR _Route24AfterBattleText3 - db "@" + text_far _Route24AfterBattleText3 + text_end Route24BattleText4: - TX_FAR _Route24BattleText4 - db "@" + text_far _Route24BattleText4 + text_end Route24EndBattleText4: - TX_FAR _Route24EndBattleText4 - db "@" + text_far _Route24EndBattleText4 + text_end Route24AfterBattleText4: - TX_FAR _Route24AfterBattleText4 - db "@" + text_far _Route24AfterBattleText4 + text_end Route24BattleText5: - TX_FAR _Route24BattleText5 - db "@" + text_far _Route24BattleText5 + text_end Route24EndBattleText5: - TX_FAR _Route24EndBattleText5 - db "@" + text_far _Route24EndBattleText5 + text_end Route24AfterBattleText5: - TX_FAR _Route24AfterBattleText5 - db "@" + text_far _Route24AfterBattleText5 + text_end Route24BattleText6: - TX_FAR _Route24BattleText6 - db "@" + text_far _Route24BattleText6 + text_end Route24EndBattleText6: - TX_FAR _Route24EndBattleText6 - db "@" + text_far _Route24EndBattleText6 + text_end Route24AfterBattleText6: - TX_FAR _Route24AfterBattleText6 - db "@" + text_far _Route24AfterBattleText6 + text_end diff --git a/scripts/Route25.asm b/scripts/Route25.asm index 7166919d..b4d8ad80 100755 --- a/scripts/Route25.asm +++ b/scripts/Route25.asm @@ -137,167 +137,167 @@ Route25TrainerHeader8: db $ff Route25Text1: - TX_ASM + text_asm ld hl, Route25TrainerHeader0 call TalkToTrainer jp TextScriptEnd Route25Text2: - TX_ASM + text_asm ld hl, Route25TrainerHeader1 call TalkToTrainer jp TextScriptEnd Route25Text3: - TX_ASM + text_asm ld hl, Route25TrainerHeader2 call TalkToTrainer jp TextScriptEnd Route25Text4: - TX_ASM + text_asm ld hl, Route25TrainerHeader3 call TalkToTrainer jp TextScriptEnd Route25Text5: - TX_ASM + text_asm ld hl, Route25TrainerHeader4 call TalkToTrainer jp TextScriptEnd Route25Text6: - TX_ASM + text_asm ld hl, Route25TrainerHeader5 call TalkToTrainer jp TextScriptEnd Route25Text7: - TX_ASM + text_asm ld hl, Route25TrainerHeader6 call TalkToTrainer jp TextScriptEnd Route25Text8: - TX_ASM + text_asm ld hl, Route25TrainerHeader7 call TalkToTrainer jp TextScriptEnd Route25Text9: - TX_ASM + text_asm ld hl, Route25TrainerHeader8 call TalkToTrainer jp TextScriptEnd Route25BattleText1: - TX_FAR _Route25BattleText1 - db "@" + text_far _Route25BattleText1 + text_end Route25EndBattleText1: - TX_FAR _Route25EndBattleText1 - db "@" + text_far _Route25EndBattleText1 + text_end Route25AfterBattleText1: - TX_FAR _Route25AfterBattleText1 - db "@" + text_far _Route25AfterBattleText1 + text_end Route25BattleText2: - TX_FAR _Route25BattleText2 - db "@" + text_far _Route25BattleText2 + text_end Route25EndBattleText2: - TX_FAR _Route25EndBattleText2 - db "@" + text_far _Route25EndBattleText2 + text_end Route25AfterBattleText2: - TX_FAR _Route25AfterBattleText2 - db "@" + text_far _Route25AfterBattleText2 + text_end Route25BattleText3: - TX_FAR _Route25BattleText3 - db "@" + text_far _Route25BattleText3 + text_end Route25EndBattleText3: - TX_FAR _Route25EndBattleText3 - db "@" + text_far _Route25EndBattleText3 + text_end Route25AfterBattleText3: - TX_FAR _Route25AfterBattleText3 - db "@" + text_far _Route25AfterBattleText3 + text_end Route25BattleText4: - TX_FAR _Route25BattleText4 - db "@" + text_far _Route25BattleText4 + text_end Route25EndBattleText4: - TX_FAR _Route25EndBattleText4 - db "@" + text_far _Route25EndBattleText4 + text_end Route25AfterBattleText4: - TX_FAR _Route25AfterBattleText4 - db "@" + text_far _Route25AfterBattleText4 + text_end Route25BattleText5: - TX_FAR _Route25BattleText5 - db "@" + text_far _Route25BattleText5 + text_end Route25EndBattleText5: - TX_FAR _Route25EndBattleText5 - db "@" + text_far _Route25EndBattleText5 + text_end Route25AfterBattleText5: - TX_FAR _Route25AfterBattleText5 - db "@" + text_far _Route25AfterBattleText5 + text_end Route25BattleText6: - TX_FAR _Route25BattleText6 - db "@" + text_far _Route25BattleText6 + text_end Route25EndBattleText6: - TX_FAR _Route25EndBattleText6 - db "@" + text_far _Route25EndBattleText6 + text_end Route25AfterBattleText6: - TX_FAR _Route25AfterBattleText6 - db "@" + text_far _Route25AfterBattleText6 + text_end Route25BattleText7: - TX_FAR _Route25BattleText7 - db "@" + text_far _Route25BattleText7 + text_end Route25EndBattleText7: - TX_FAR _Route25EndBattleText7 - db "@" + text_far _Route25EndBattleText7 + text_end Route25AfterBattleText7: - TX_FAR _Route25AfterBattleText7 - db "@" + text_far _Route25AfterBattleText7 + text_end Route25BattleText8: - TX_FAR _Route25BattleText8 - db "@" + text_far _Route25BattleText8 + text_end Route25EndBattleText8: - TX_FAR _Route25EndBattleText8 - db "@" + text_far _Route25EndBattleText8 + text_end Route25AfterBattleText8: - TX_FAR _Route25AfterBattleText8 - db "@" + text_far _Route25AfterBattleText8 + text_end Route25BattleText9: - TX_FAR _Route25BattleText9 - db "@" + text_far _Route25BattleText9 + text_end Route25EndBattleText9: - TX_FAR _Route25EndBattleText9 - db "@" + text_far _Route25EndBattleText9 + text_end Route25AfterBattleText9: - TX_FAR _Route25AfterBattleText9 - db "@" + text_far _Route25AfterBattleText9 + text_end Route25Text11: - TX_FAR _Route25Text11 - db "@" + text_far _Route25Text11 + text_end diff --git a/scripts/Route2Gate.asm b/scripts/Route2Gate.asm index 70d93814..d1afd534 100755 --- a/scripts/Route2Gate.asm +++ b/scripts/Route2Gate.asm @@ -6,7 +6,7 @@ Route2Gate_TextPointers: dw Route2GateText2 Route2GateText1: - TX_ASM + text_asm CheckEvent EVENT_GOT_HM05 jr nz, .asm_5d60d ld a, 10 ; pokemon needed @@ -31,9 +31,9 @@ Route2GateText1: jp TextScriptEnd Route2GateText_5d616: - TX_FAR _Route2GateText_5d616 - db "@" + text_far _Route2GateText_5d616 + text_end Route2GateText2: - TX_FAR _Route2GateText2 - db "@" + text_far _Route2GateText2 + text_end diff --git a/scripts/Route2TradeHouse.asm b/scripts/Route2TradeHouse.asm index a89e2fe9..fd3c51e3 100755 --- a/scripts/Route2TradeHouse.asm +++ b/scripts/Route2TradeHouse.asm @@ -6,11 +6,11 @@ Route2TradeHouse_TextPointers: dw Route2HouseText2 Route2HouseText1: - TX_FAR _Route2HouseText1 - db "@" + text_far _Route2HouseText1 + text_end Route2HouseText2: - TX_ASM + text_asm ld a, $1 ld [wWhichTrade], a predef DoInGameTradeDialogue diff --git a/scripts/Route3.asm b/scripts/Route3.asm index d55831bf..91fcadc2 100755 --- a/scripts/Route3.asm +++ b/scripts/Route3.asm @@ -99,153 +99,153 @@ Route3TrainerHeader7: db $ff Route3Text1: - TX_FAR _Route3Text1 - db "@" + text_far _Route3Text1 + text_end Route3Text2: - TX_ASM + text_asm ld hl, Route3TrainerHeader0 call TalkToTrainer jp TextScriptEnd Route3BattleText1: - TX_FAR _Route3BattleText1 - db "@" + text_far _Route3BattleText1 + text_end Route3EndBattleText1: - TX_FAR _Route3EndBattleText1 - db "@" + text_far _Route3EndBattleText1 + text_end Route3AfterBattleText1: - TX_FAR _Route3AfterBattleText1 - db "@" + text_far _Route3AfterBattleText1 + text_end Route3Text3: - TX_ASM + text_asm ld hl, Route3TrainerHeader1 call TalkToTrainer jp TextScriptEnd Route3BattleText2: - TX_FAR _Route3BattleText2 - db "@" + text_far _Route3BattleText2 + text_end Route3EndBattleText2: - TX_FAR _Route3EndBattleText2 - db "@" + text_far _Route3EndBattleText2 + text_end Route3AfterBattleText2: - TX_FAR _Route3AfterBattleText2 - db "@" + text_far _Route3AfterBattleText2 + text_end Route3Text4: - TX_ASM + text_asm ld hl, Route3TrainerHeader2 call TalkToTrainer jp TextScriptEnd Route3BattleText3: - TX_FAR _Route3BattleText3 - db "@" + text_far _Route3BattleText3 + text_end Route3EndBattleText3: - TX_FAR _Route3EndBattleText3 - db "@" + text_far _Route3EndBattleText3 + text_end Route3AfterBattleText3: - TX_FAR _Route3AfterBattleText3 - db "@" + text_far _Route3AfterBattleText3 + text_end Route3Text5: - TX_ASM + text_asm ld hl, Route3TrainerHeader3 call TalkToTrainer jp TextScriptEnd Route3BattleText4: - TX_FAR _Route3BattleText4 - db "@" + text_far _Route3BattleText4 + text_end Route3EndBattleText4: - TX_FAR _Route3EndBattleText4 - db "@" + text_far _Route3EndBattleText4 + text_end Route3AfterBattleText4: - TX_FAR _Route3AfterBattleText4 - db "@" + text_far _Route3AfterBattleText4 + text_end Route3Text6: - TX_ASM + text_asm ld hl, Route3TrainerHeader4 call TalkToTrainer jp TextScriptEnd Route3BattleText5: - TX_FAR _Route3BattleText5 - db "@" + text_far _Route3BattleText5 + text_end Route3EndBattleText5: - TX_FAR _Route3EndBattleText5 - db "@" + text_far _Route3EndBattleText5 + text_end Route3AfterBattleText5: - TX_FAR _Route3AfterBattleText5 - db "@" + text_far _Route3AfterBattleText5 + text_end Route3Text7: - TX_ASM + text_asm ld hl, Route3TrainerHeader5 call TalkToTrainer jp TextScriptEnd Route3BattleText6: - TX_FAR _Route3BattleText6 - db "@" + text_far _Route3BattleText6 + text_end Route3EndBattleText6: - TX_FAR _Route3EndBattleText6 - db "@" + text_far _Route3EndBattleText6 + text_end Route3AfterBattleText6: - TX_FAR _Route3AfterBattleText6 - db "@" + text_far _Route3AfterBattleText6 + text_end Route3Text8: - TX_ASM + text_asm ld hl, Route3TrainerHeader6 call TalkToTrainer jp TextScriptEnd Route3BattleText7: - TX_FAR _Route3BattleText7 - db "@" + text_far _Route3BattleText7 + text_end Route3EndBattleText7: - TX_FAR _Route3EndBattleText7 - db "@" + text_far _Route3EndBattleText7 + text_end Route3AfterBattleText7: - TX_FAR _Route3AfterBattleText7 - db "@" + text_far _Route3AfterBattleText7 + text_end Route3Text9: - TX_ASM + text_asm ld hl, Route3TrainerHeader7 call TalkToTrainer jp TextScriptEnd Route3BattleText8: - TX_FAR _Route3BattleText8 - db "@" + text_far _Route3BattleText8 + text_end Route3EndBattleText8: - TX_FAR _Route3EndBattleText8 - db "@" + text_far _Route3EndBattleText8 + text_end Route3AfterBattleText8: - TX_FAR _Route3AfterBattleText8 - db "@" + text_far _Route3AfterBattleText8 + text_end Route3Text10: - TX_FAR _Route3Text10 - db "@" + text_far _Route3Text10 + text_end diff --git a/scripts/Route4.asm b/scripts/Route4.asm index 9b04a47a..ef1d6302 100755 --- a/scripts/Route4.asm +++ b/scripts/Route4.asm @@ -32,31 +32,31 @@ Route4TrainerHeader0: db $ff Route4Text1: - TX_FAR _Route4Text1 - db "@" + text_far _Route4Text1 + text_end Route4Text2: - TX_ASM + text_asm ld hl, Route4TrainerHeader0 call TalkToTrainer jp TextScriptEnd Route4BattleText1: - TX_FAR _Route4BattleText1 - db "@" + text_far _Route4BattleText1 + text_end Route4EndBattleText1: - TX_FAR _Route4EndBattleText1 - db "@" + text_far _Route4EndBattleText1 + text_end Route4AfterBattleText1: - TX_FAR _Route4AfterBattleText1 - db "@" + text_far _Route4AfterBattleText1 + text_end Route4Text5: - TX_FAR _Route4Text5 - db "@" + text_far _Route4Text5 + text_end Route4Text6: - TX_FAR _Route4Text6 - db "@" + text_far _Route4Text6 + text_end diff --git a/scripts/Route5.asm b/scripts/Route5.asm index 1b2bd242..33f3c345 100755 --- a/scripts/Route5.asm +++ b/scripts/Route5.asm @@ -5,5 +5,5 @@ Route5_TextPointers: dw Route5Text1 Route5Text1: - TX_FAR _Route5Text1 - db "@" + text_far _Route5Text1 + text_end diff --git a/scripts/Route5Gate.asm b/scripts/Route5Gate.asm index e5d86b97..0bd896f1 100755 --- a/scripts/Route5Gate.asm +++ b/scripts/Route5Gate.asm @@ -69,7 +69,7 @@ Route8GateText1: Route7GateText1: Route6GateText1: Route5GateText1: - TX_ASM + text_asm ld a, [wd728] bit 6, a jr nz, .asm_88856 @@ -98,20 +98,20 @@ Route8GateText2: Route7GateText2: Route6GateText2: Route5GateText2: - TX_FAR _SaffronGateText_1dfe7 - db "@" + text_far _SaffronGateText_1dfe7 + text_end Route8GateText3: Route7GateText3: Route6GateText3: Route5GateText3: - TX_FAR _SaffronGateText_8aaa9 - TX_SFX_KEY_ITEM - TX_FAR _SaffronGateText_1dff1 - db "@" + text_far _SaffronGateText_8aaa9 + sound_get_key_item + text_far _SaffronGateText_1dff1 + text_end SaffronGateText_1dff6: - TX_FAR _SaffronGateText_1dff6 - db "@" + text_far _SaffronGateText_1dff6 + text_end diff --git a/scripts/Route6.asm b/scripts/Route6.asm index 9f43b800..b649ba47 100755 --- a/scripts/Route6.asm +++ b/scripts/Route6.asm @@ -78,109 +78,109 @@ Route6TrainerHeader5: db $ff Route6Text1: - TX_ASM + text_asm ld hl, Route6TrainerHeader0 call TalkToTrainer jp TextScriptEnd Route6BattleText1: - TX_FAR _Route6BattleText1 - db "@" + text_far _Route6BattleText1 + text_end Route6EndBattleText1: - TX_FAR _Route6EndBattleText1 - db "@" + text_far _Route6EndBattleText1 + text_end Route6AfterBattleText1: - TX_FAR _Route6AfterBattleText1 - db "@" + text_far _Route6AfterBattleText1 + text_end Route6Text2: - TX_ASM + text_asm ld hl, Route6TrainerHeader1 call TalkToTrainer jp TextScriptEnd Route6BattleText2: - TX_FAR _Route6BattleText2 - db "@" + text_far _Route6BattleText2 + text_end Route6EndBattleText2: - TX_FAR _Route6EndBattleText2 - db "@" + text_far _Route6EndBattleText2 + text_end Route6Text3: - TX_ASM + text_asm ld hl, Route6TrainerHeader2 call TalkToTrainer jp TextScriptEnd Route6BattleText3: - TX_FAR _Route6BattleText3 - db "@" + text_far _Route6BattleText3 + text_end Route6EndBattleText3: - TX_FAR _Route6EndBattleText3 - db "@" + text_far _Route6EndBattleText3 + text_end Route6AfterBattleText3: - TX_FAR _Route6AfterBattleText3 - db "@" + text_far _Route6AfterBattleText3 + text_end Route6Text4: - TX_ASM + text_asm ld hl, Route6TrainerHeader3 call TalkToTrainer jp TextScriptEnd Route6BattleText4: - TX_FAR _Route6BattleText4 - db "@" + text_far _Route6BattleText4 + text_end Route6EndBattleText4: - TX_FAR _Route6EndBattleText4 - db "@" + text_far _Route6EndBattleText4 + text_end Route6AfterBattleText4: - TX_FAR _Route6AfterBattleText4 - db "@" + text_far _Route6AfterBattleText4 + text_end Route6Text5: - TX_ASM + text_asm ld hl, Route6TrainerHeader4 call TalkToTrainer jp TextScriptEnd Route6BattleText5: - TX_FAR _Route6BattleText5 - db "@" + text_far _Route6BattleText5 + text_end Route6EndBattleText5: - TX_FAR _Route6EndBattleText5 - db "@" + text_far _Route6EndBattleText5 + text_end Route6AfterBattleText5: - TX_FAR _Route6AfterBattleText5 - db "@" + text_far _Route6AfterBattleText5 + text_end Route6Text6: - TX_ASM + text_asm ld hl, Route6TrainerHeader5 call TalkToTrainer jp TextScriptEnd Route6BattleText6: - TX_FAR _Route6BattleText6 - db "@" + text_far _Route6BattleText6 + text_end Route6EndBattleText6: - TX_FAR _Route6EndBattleText6 - db "@" + text_far _Route6EndBattleText6 + text_end Route6AfterBattleText6: - TX_FAR _Route6AfterBattleText6 - db "@" + text_far _Route6AfterBattleText6 + text_end Route6Text7: - TX_FAR _Route6Text7 - db "@" + text_far _Route6Text7 + text_end diff --git a/scripts/Route7.asm b/scripts/Route7.asm index 55774553..1fd38abb 100755 --- a/scripts/Route7.asm +++ b/scripts/Route7.asm @@ -5,5 +5,5 @@ Route7_TextPointers: dw Route7Text1 Route7Text1: - TX_FAR _Route7Text1 - db "@" + text_far _Route7Text1 + text_end diff --git a/scripts/Route8.asm b/scripts/Route8.asm index f3388505..c52b6c3c 100755 --- a/scripts/Route8.asm +++ b/scripts/Route8.asm @@ -108,167 +108,167 @@ Route8TrainerHeader8: db $ff Route8Text1: - TX_ASM + text_asm ld hl, Route8TrainerHeader0 call TalkToTrainer jp TextScriptEnd Route8BattleText1: - TX_FAR _Route8BattleText1 - db "@" + text_far _Route8BattleText1 + text_end Route8EndBattleText1: - TX_FAR _Route8EndBattleText1 - db "@" + text_far _Route8EndBattleText1 + text_end Route8AfterBattleText1: - TX_FAR _Route8AfterBattleText1 - db "@" + text_far _Route8AfterBattleText1 + text_end Route8Text2: - TX_ASM + text_asm ld hl, Route8TrainerHeader1 call TalkToTrainer jp TextScriptEnd Route8BattleText2: - TX_FAR _Route8BattleText2 - db "@" + text_far _Route8BattleText2 + text_end Route8EndBattleText2: - TX_FAR _Route8EndBattleText2 - db "@" + text_far _Route8EndBattleText2 + text_end Route8AfterBattleText2: - TX_FAR _Route8AfterBattleText2 - db "@" + text_far _Route8AfterBattleText2 + text_end Route8Text3: - TX_ASM + text_asm ld hl, Route8TrainerHeader2 call TalkToTrainer jp TextScriptEnd Route8BattleText3: - TX_FAR _Route8BattleText3 - db "@" + text_far _Route8BattleText3 + text_end Route8EndBattleText3: - TX_FAR _Route8EndBattleText3 - db "@" + text_far _Route8EndBattleText3 + text_end Route8AfterBattleText3: - TX_FAR _Route8AfterBattleText3 - db "@" + text_far _Route8AfterBattleText3 + text_end Route8Text4: - TX_ASM + text_asm ld hl, Route8TrainerHeader3 call TalkToTrainer jp TextScriptEnd Route8BattleText4: - TX_FAR _Route8BattleText4 - db "@" + text_far _Route8BattleText4 + text_end Route8EndBattleText4: - TX_FAR _Route8EndBattleText4 - db "@" + text_far _Route8EndBattleText4 + text_end Route8AfterBattleText4: - TX_FAR _Route8AfterBattleText4 - db "@" + text_far _Route8AfterBattleText4 + text_end Route8Text5: - TX_ASM + text_asm ld hl, Route8TrainerHeader4 call TalkToTrainer jp TextScriptEnd Route8BattleText5: - TX_FAR _Route8BattleText5 - db "@" + text_far _Route8BattleText5 + text_end Route8EndBattleText5: - TX_FAR _Route8EndBattleText5 - db "@" + text_far _Route8EndBattleText5 + text_end Route8AfterBattleText5: - TX_FAR _Route8AfterBattleText5 - db "@" + text_far _Route8AfterBattleText5 + text_end Route8Text6: - TX_ASM + text_asm ld hl, Route8TrainerHeader5 call TalkToTrainer jp TextScriptEnd Route8BattleText6: - TX_FAR _Route8BattleText6 - db "@" + text_far _Route8BattleText6 + text_end Route8EndBattleText6: - TX_FAR _Route8EndBattleText6 - db "@" + text_far _Route8EndBattleText6 + text_end Route8AfterBattleText6: - TX_FAR _Route8AfterBattleText6 - db "@" + text_far _Route8AfterBattleText6 + text_end Route8Text7: - TX_ASM + text_asm ld hl, Route8TrainerHeader6 call TalkToTrainer jp TextScriptEnd Route8BattleText7: - TX_FAR _Route8BattleText7 - db "@" + text_far _Route8BattleText7 + text_end Route8EndBattleText7: - TX_FAR _Route8EndBattleText7 - db "@" + text_far _Route8EndBattleText7 + text_end Route8AfterBattleText7: - TX_FAR _Route8AfterBattleText7 - db "@" + text_far _Route8AfterBattleText7 + text_end Route8Text8: - TX_ASM + text_asm ld hl, Route8TrainerHeader7 call TalkToTrainer jp TextScriptEnd Route8BattleText8: - TX_FAR _Route8BattleText8 - db "@" + text_far _Route8BattleText8 + text_end Route8EndBattleText8: - TX_FAR _Route8EndBattleText8 - db "@" + text_far _Route8EndBattleText8 + text_end Route8AfterBattleText8: - TX_FAR _Route8AfterBattleText8 - db "@" + text_far _Route8AfterBattleText8 + text_end Route8Text9: - TX_ASM + text_asm ld hl, Route8TrainerHeader8 call TalkToTrainer jp TextScriptEnd Route8BattleText9: - TX_FAR _Route8BattleText9 - db "@" + text_far _Route8BattleText9 + text_end Route8EndBattleText9: - TX_FAR _Route8EndBattleText9 - db "@" + text_far _Route8EndBattleText9 + text_end Route8AfterBattleText9: - TX_FAR _Route8AfterBattleText9 - db "@" + text_far _Route8AfterBattleText9 + text_end Route8Text10: - TX_FAR _Route8Text10 - db "@" + text_far _Route8Text10 + text_end diff --git a/scripts/Route9.asm b/scripts/Route9.asm index a18096f0..b7911209 100755 --- a/scripts/Route9.asm +++ b/scripts/Route9.asm @@ -109,160 +109,160 @@ Route9TrainerHeader8: db $ff Route9Text1: - TX_ASM + text_asm ld hl, Route9TrainerHeader0 jr Route9TalkToTrainer Route9Text2: - TX_ASM + text_asm ld hl, Route9TrainerHeader1 jr Route9TalkToTrainer Route9Text3: - TX_ASM + text_asm ld hl, Route9TrainerHeader2 jr Route9TalkToTrainer Route9Text4: - TX_ASM + text_asm ld hl, Route9TrainerHeader3 jr Route9TalkToTrainer Route9Text5: - TX_ASM + text_asm ld hl, Route9TrainerHeader4 jr Route9TalkToTrainer Route9Text6: - TX_ASM + text_asm ld hl, Route9TrainerHeader5 jr Route9TalkToTrainer Route9Text7: - TX_ASM + text_asm ld hl, Route9TrainerHeader6 jr Route9TalkToTrainer Route9Text8: - TX_ASM + text_asm ld hl, Route9TrainerHeader7 jr Route9TalkToTrainer Route9Text9: - TX_ASM + text_asm ld hl, Route9TrainerHeader8 Route9TalkToTrainer: call TalkToTrainer jp TextScriptEnd Route9BattleText1: - TX_FAR _Route9BattleText1 - db "@" + text_far _Route9BattleText1 + text_end Route9EndBattleText1: - TX_FAR _Route9EndBattleText1 - db "@" + text_far _Route9EndBattleText1 + text_end Route9AfterBattleText1: - TX_FAR _Route9AfterBattleText1 - db "@" + text_far _Route9AfterBattleText1 + text_end Route9BattleText2: - TX_FAR _Route9BattleText2 - db "@" + text_far _Route9BattleText2 + text_end Route9EndBattleText2: - TX_FAR _Route9EndBattleText2 - db "@" + text_far _Route9EndBattleText2 + text_end Route9AfterBattleText2: - TX_FAR _Route9AfterBattleText2 - db "@" + text_far _Route9AfterBattleText2 + text_end Route9BattleText3: - TX_FAR _Route9BattleText3 - db "@" + text_far _Route9BattleText3 + text_end Route9EndBattleText3: - TX_FAR _Route9EndBattleText3 - db "@" + text_far _Route9EndBattleText3 + text_end Route9AfterBattleText3: - TX_FAR _Route9AfterBattleText3 - db "@" + text_far _Route9AfterBattleText3 + text_end Route9BattleText4: - TX_FAR _Route9BattleText4 - db "@" + text_far _Route9BattleText4 + text_end Route9EndBattleText4: - TX_FAR _Route9EndBattleText4 - db "@" + text_far _Route9EndBattleText4 + text_end Route9AfterBattleText4: - TX_FAR _Route9AfterBattleText4 - db "@" + text_far _Route9AfterBattleText4 + text_end Route9BattleText5: - TX_FAR _Route9BattleText5 - db "@" + text_far _Route9BattleText5 + text_end Route9EndBattleText5: - TX_FAR _Route9EndBattleText5 - db "@" + text_far _Route9EndBattleText5 + text_end Route9AfterBattleText5: - TX_FAR _Route9AfterBattleText5 - db "@" + text_far _Route9AfterBattleText5 + text_end Route9BattleText6: - TX_FAR _Route9BattleText6 - db "@" + text_far _Route9BattleText6 + text_end Route9EndBattleText6: - TX_FAR _Route9EndBattleText6 - db "@" + text_far _Route9EndBattleText6 + text_end Route9AfterBattleText6: - TX_FAR _Route9AfterBattleText6 - db "@" + text_far _Route9AfterBattleText6 + text_end Route9BattleText7: - TX_FAR _Route9BattleText7 - db "@" + text_far _Route9BattleText7 + text_end Route9EndBattleText7: - TX_FAR _Route9EndBattleText7 - db "@" + text_far _Route9EndBattleText7 + text_end Route9AfterBattleText7: - TX_FAR _Route9AfterBattleText7 - db "@" + text_far _Route9AfterBattleText7 + text_end Route9BattleText8: - TX_FAR _Route9BattleText8 - db "@" + text_far _Route9BattleText8 + text_end Route9EndBattleText8: - TX_FAR _Route9EndBattleText8 - db "@" + text_far _Route9EndBattleText8 + text_end Route9AfterBattleText8: - TX_FAR _Route9AfterBattleText8 - db "@" + text_far _Route9AfterBattleText8 + text_end Route9BattleText9: - TX_FAR _Route9BattleText9 - db "@" + text_far _Route9BattleText9 + text_end Route9EndBattleText9: - TX_FAR _Route9EndBattleText9 - db "@" + text_far _Route9EndBattleText9 + text_end Route9AfterBattleText9: - TX_FAR _Route9AfterBattleText9 - db "@" + text_far _Route9AfterBattleText9 + text_end Route9Text11: - TX_FAR _Route9Text11 - db "@" + text_far _Route9Text11 + text_end diff --git a/scripts/SSAnne1F.asm b/scripts/SSAnne1F.asm index 5cace6ee..c819f470 100755 --- a/scripts/SSAnne1F.asm +++ b/scripts/SSAnne1F.asm @@ -7,9 +7,9 @@ SSAnne1F_TextPointers: dw SSAnne1Text2 SSAnne1Text1: - TX_FAR _SSAnne1Text1 - db "@" + text_far _SSAnne1Text1 + text_end SSAnne1Text2: - TX_FAR _SSAnne1Text2 - db "@" + text_far _SSAnne1Text2 + text_end diff --git a/scripts/SSAnne1FRooms.asm b/scripts/SSAnne1FRooms.asm index 2371f286..2e75cddd 100755 --- a/scripts/SSAnne1FRooms.asm +++ b/scripts/SSAnne1FRooms.asm @@ -64,100 +64,100 @@ SSAnne8TrainerHeader3: db $ff SSAnne8Text1: - TX_ASM + text_asm ld hl, SSAnne8TrainerHeader0 call TalkToTrainer jp TextScriptEnd SSAnne8Text2: - TX_ASM + text_asm ld hl, SSAnne8TrainerHeader1 call TalkToTrainer jp TextScriptEnd SSAnne8Text3: - TX_ASM + text_asm ld hl, SSAnne8TrainerHeader2 call TalkToTrainer jp TextScriptEnd SSAnne8Text4: - TX_ASM + text_asm ld hl, SSAnne8TrainerHeader3 call TalkToTrainer jp TextScriptEnd SSAnne8Text8: - TX_FAR _SSAnne8Text8 - TX_ASM + text_far _SSAnne8Text8 + text_asm ld a, WIGGLYTUFF call PlayCry jp TextScriptEnd SSAnne8BattleText1: - TX_FAR _SSAnne8BattleText1 - db "@" + text_far _SSAnne8BattleText1 + text_end SSAnne8EndBattleText1: - TX_FAR _SSAnne8EndBattleText1 - db "@" + text_far _SSAnne8EndBattleText1 + text_end SSAnne8AfterBattleText1: - TX_FAR _SSAnne8AfterBattleText1 - db "@" + text_far _SSAnne8AfterBattleText1 + text_end SSAnne8BattleText2: - TX_FAR _SSAnne8BattleText2 - db "@" + text_far _SSAnne8BattleText2 + text_end SSAnne8EndBattleText2: - TX_FAR _SSAnne8EndBattleText2 - db "@" + text_far _SSAnne8EndBattleText2 + text_end SSAnne8AfterBattleText2: - TX_FAR _SSAnne8AfterBattleText2 - db "@" + text_far _SSAnne8AfterBattleText2 + text_end SSAnne8BattleText3: - TX_FAR _SSAnne8BattleText3 - db "@" + text_far _SSAnne8BattleText3 + text_end SSAnne8EndBattleText3: - TX_FAR _SSAnne8EndBattleText3 - db "@" + text_far _SSAnne8EndBattleText3 + text_end SSAnne8AfterBattleText3: - TX_FAR _SSAnne8AfterBattleText3 - db "@" + text_far _SSAnne8AfterBattleText3 + text_end SSAnne8BattleText4: - TX_FAR _SSAnne8BattleText4 - db "@" + text_far _SSAnne8BattleText4 + text_end SSAnne8EndBattleText4: - TX_FAR _SSAnne8EndBattleText4 - db "@" + text_far _SSAnne8EndBattleText4 + text_end SSAnne8AfterBattleText4: - TX_FAR _SSAnne8AfterBattleText4 - db "@" + text_far _SSAnne8AfterBattleText4 + text_end SSAnne8Text5: - TX_FAR _SSAnne8Text5 - db "@" + text_far _SSAnne8Text5 + text_end SSAnne8Text6: - TX_FAR _SSAnne8Text6 - db "@" + text_far _SSAnne8Text6 + text_end SSAnne8Text7: - TX_FAR _SSAnne8Text7 - db "@" + text_far _SSAnne8Text7 + text_end SSAnne8Text9: - TX_FAR _SSAnne8Text9 - db "@" + text_far _SSAnne8Text9 + text_end SSAnne8Text11: - TX_FAR _SSAnne8Text11 - db "@" + text_far _SSAnne8Text11 + text_end diff --git a/scripts/SSAnne2F.asm b/scripts/SSAnne2F.asm index face08d8..98d4f197 100755 --- a/scripts/SSAnne2F.asm +++ b/scripts/SSAnne2F.asm @@ -184,11 +184,11 @@ SSAnne2F_TextPointers: dw SSAnne2Text3 SSAnne2Text1: - TX_FAR _SSAnne2Text1 - db "@" + text_far _SSAnne2Text1 + text_end SSAnne2Text2: - TX_ASM + text_asm ld hl, SSAnneRivalBeforeBattleText call PrintText ld hl, wd72d @@ -200,17 +200,17 @@ SSAnne2Text2: jp TextScriptEnd SSAnneRivalBeforeBattleText: - TX_FAR _SSAnneRivalBeforeBattleText - db "@" + text_far _SSAnneRivalBeforeBattleText + text_end SSAnneRivalDefeatedText: - TX_FAR _SSAnneRivalDefeatedText - db "@" + text_far _SSAnneRivalDefeatedText + text_end SSAnneRivalWonText: - TX_FAR _SSAnneRivalWonText - db "@" + text_far _SSAnneRivalWonText + text_end SSAnne2Text3: - TX_FAR _SSAnneRivalCaptainText - db "@" + text_far _SSAnneRivalCaptainText + text_end diff --git a/scripts/SSAnne2FRooms.asm b/scripts/SSAnne2FRooms.asm index a79e1be8..949cfec8 100755 --- a/scripts/SSAnne2FRooms.asm +++ b/scripts/SSAnne2FRooms.asm @@ -69,31 +69,31 @@ SSAnne9TrainerHeader3: db $ff SSAnne9Text1: - TX_ASM + text_asm ld hl, SSAnne9TrainerHeader0 call TalkToTrainer jp TextScriptEnd SSAnne9Text2: - TX_ASM + text_asm ld hl, SSAnne9TrainerHeader1 call TalkToTrainer jp TextScriptEnd SSAnne9Text3: - TX_ASM + text_asm ld hl, SSAnne9TrainerHeader2 call TalkToTrainer jp TextScriptEnd SSAnne9Text4: - TX_ASM + text_asm ld hl, SSAnne9TrainerHeader3 call TalkToTrainer jp TextScriptEnd SSAnne9Text5: - TX_ASM + text_asm call SaveScreenTilesToBuffer1 ld hl, SSAnne9Text_61bf2 call PrintText @@ -103,113 +103,113 @@ SSAnne9Text5: jp TextScriptEnd SSAnne9Text_61bf2: - TX_FAR _SSAnne9Text_61bf2 - db "@" + text_far _SSAnne9Text_61bf2 + text_end SSAnne9Text7: - TX_ASM + text_asm ld hl, SSAnne9Text_61c01 call PrintText jp TextScriptEnd SSAnne9Text_61c01: - TX_FAR _SSAnne9Text_61c01 - db "@" + text_far _SSAnne9Text_61c01 + text_end SSAnne9Text8: - TX_ASM + text_asm ld hl, SSAnne9Text_61c10 call PrintText jp TextScriptEnd SSAnne9Text_61c10: - TX_FAR _SSAnne9Text_61c10 - db "@" + text_far _SSAnne9Text_61c10 + text_end SSAnne9Text10: - TX_ASM + text_asm ld hl, SSAnne9Text_61c1f call PrintText jp TextScriptEnd SSAnne9Text_61c1f: - TX_FAR _SSAnne9Text_61c1f - db "@" + text_far _SSAnne9Text_61c1f + text_end SSAnne9Text11: - TX_ASM + text_asm ld hl, SSAnne9Text_61c2e call PrintText jp TextScriptEnd SSAnne9Text_61c2e: - TX_FAR _SSAnne9Text_61c2e - db "@" + text_far _SSAnne9Text_61c2e + text_end SSAnne9Text12: - TX_ASM + text_asm ld hl, SSAnne9Text_61c3d call PrintText jp TextScriptEnd SSAnne9Text_61c3d: - TX_FAR _SSAnne9Text_61c3d - db "@" + text_far _SSAnne9Text_61c3d + text_end SSAnne9Text13: - TX_ASM + text_asm ld hl, SSAnne9Text_61c4c call PrintText jp TextScriptEnd SSAnne9Text_61c4c: - TX_FAR _SSAnne9Text_61c4c - db "@" + text_far _SSAnne9Text_61c4c + text_end SSAnne9BattleText1: - TX_FAR _SSAnne9BattleText1 - db "@" + text_far _SSAnne9BattleText1 + text_end SSAnne9EndBattleText1: - TX_FAR _SSAnne9EndBattleText1 - db "@" + text_far _SSAnne9EndBattleText1 + text_end SSAnne9AfterBattleText1: - TX_FAR _SSAnne9AfterBattleText1 - db "@" + text_far _SSAnne9AfterBattleText1 + text_end SSAnne9BattleText2: - TX_FAR _SSAnne9BattleText2 - db "@" + text_far _SSAnne9BattleText2 + text_end SSAnne9EndBattleText2: - TX_FAR _SSAnne9EndBattleText2 - db "@" + text_far _SSAnne9EndBattleText2 + text_end SSAnne9AfterBattleText2: - TX_FAR _SSAnne9AfterBattleText2 - db "@" + text_far _SSAnne9AfterBattleText2 + text_end SSAnne9BattleText3: - TX_FAR _SSAnne9BattleText3 - db "@" + text_far _SSAnne9BattleText3 + text_end SSAnne9EndBattleText3: - TX_FAR _SSAnne9EndBattleText3 - db "@" + text_far _SSAnne9EndBattleText3 + text_end SSAnne9AfterBattleText3: - TX_FAR _SSAnne9AfterBattleText3 - db "@" + text_far _SSAnne9AfterBattleText3 + text_end SSAnne9BattleText4: - TX_FAR _SSAnne9BattleText4 - db "@" + text_far _SSAnne9BattleText4 + text_end SSAnne9EndBattleText4: - TX_FAR _SSAnne9EndBattleText4 - db "@" + text_far _SSAnne9EndBattleText4 + text_end SSAnne9AfterBattleText4: - TX_FAR _SSAnne9AfterBattleText4 - db "@" + text_far _SSAnne9AfterBattleText4 + text_end diff --git a/scripts/SSAnne3F.asm b/scripts/SSAnne3F.asm index 5da0e0c7..e3e7a1d3 100755 --- a/scripts/SSAnne3F.asm +++ b/scripts/SSAnne3F.asm @@ -5,5 +5,5 @@ SSAnne3F_TextPointers: dw SSAnne3Text1 SSAnne3Text1: - TX_FAR _SSAnne3Text1 - db "@" + text_far _SSAnne3Text1 + text_end diff --git a/scripts/SSAnneB1F.asm b/scripts/SSAnneB1F.asm index 25df076f..91452977 100755 --- a/scripts/SSAnneB1F.asm +++ b/scripts/SSAnneB1F.asm @@ -2,4 +2,4 @@ SSAnneB1F_Script: jp EnableAutoTextBoxDrawing SSAnneB1F_TextPointers: - db "@" + text_end diff --git a/scripts/SSAnneB1FRooms.asm b/scripts/SSAnneB1FRooms.asm index 3777852c..e655b1b8 100755 --- a/scripts/SSAnneB1FRooms.asm +++ b/scripts/SSAnneB1FRooms.asm @@ -82,120 +82,120 @@ SSAnne10TrainerHeader5: db $ff SSAnne10Text1: - TX_ASM + text_asm ld hl, SSAnne10TrainerHeader0 call TalkToTrainer jp TextScriptEnd SSAnne10Text2: - TX_ASM + text_asm ld hl, SSAnne10TrainerHeader1 call TalkToTrainer jp TextScriptEnd SSAnne10Text3: - TX_ASM + text_asm ld hl, SSAnne10TrainerHeader2 call TalkToTrainer jp TextScriptEnd SSAnne10Text4: - TX_ASM + text_asm ld hl, SSAnne10TrainerHeader3 call TalkToTrainer jp TextScriptEnd SSAnne10Text5: - TX_ASM + text_asm ld hl, SSAnne10TrainerHeader4 call TalkToTrainer jp TextScriptEnd SSAnne10Text6: - TX_ASM + text_asm ld hl, SSAnne10TrainerHeader5 call TalkToTrainer jp TextScriptEnd SSAnne10Text8: - TX_FAR _SSAnne10Text8 - TX_ASM + text_far _SSAnne10Text8 + text_asm ld a, MACHOKE call PlayCry jp TextScriptEnd SSAnne10BattleText1: - TX_FAR _SSAnne10BattleText1 - db "@" + text_far _SSAnne10BattleText1 + text_end SSAnne10EndBattleText1: - TX_FAR _SSAnne10EndBattleText1 - db "@" + text_far _SSAnne10EndBattleText1 + text_end SSAnne10AfterBattleText1: - TX_FAR _SSAnne10AfterBattleText1 - db "@" + text_far _SSAnne10AfterBattleText1 + text_end SSAnne10BattleText2: - TX_FAR _SSAnne10BattleText2 - db "@" + text_far _SSAnne10BattleText2 + text_end SSAnne10EndBattleText2: - TX_FAR _SSAnne10EndBattleText2 - db "@" + text_far _SSAnne10EndBattleText2 + text_end SSAnne10AfterBattleText2: - TX_FAR _SSAnne10AfterBattleText2 - db "@" + text_far _SSAnne10AfterBattleText2 + text_end SSAnne10BattleText3: - TX_FAR _SSAnne10BattleText3 - db "@" + text_far _SSAnne10BattleText3 + text_end SSAnne10EndBattleText3: - TX_FAR _SSAnne10EndBattleText3 - db "@" + text_far _SSAnne10EndBattleText3 + text_end SSAnne10AfterBattleText3: - TX_FAR _SSAnne10AfterBattleText3 - db "@" + text_far _SSAnne10AfterBattleText3 + text_end SSAnne10BattleText4: - TX_FAR _SSAnne10BattleText4 - db "@" + text_far _SSAnne10BattleText4 + text_end SSAnne10EndBattleText4: - TX_FAR _SSAnne10EndBattleText4 - db "@" + text_far _SSAnne10EndBattleText4 + text_end SSAnne10AfterBattleText4: - TX_FAR _SSAnne10AfterBattleText4 - db "@" + text_far _SSAnne10AfterBattleText4 + text_end SSAnne10BattleText5: - TX_FAR _SSAnne10BattleText5 - db "@" + text_far _SSAnne10BattleText5 + text_end SSAnne10EndBattleText5: - TX_FAR _SSAnne10EndBattleText5 - db "@" + text_far _SSAnne10EndBattleText5 + text_end SSAnne10AfterBattleText5: - TX_FAR _SSAnne10AfterBattleText5 - db "@" + text_far _SSAnne10AfterBattleText5 + text_end SSAnne10BattleText6: - TX_FAR _SSAnne10BattleText6 - db "@" + text_far _SSAnne10BattleText6 + text_end SSAnne10EndBattleText6: - TX_FAR _SSAnne10EndBattleText6 - db "@" + text_far _SSAnne10EndBattleText6 + text_end SSAnne10AfterBattleText6: - TX_FAR _SSAnne10AfterBattleText6 - db "@" + text_far _SSAnne10AfterBattleText6 + text_end SSAnne10Text7: - TX_FAR _SSAnne10Text7 - db "@" + text_far _SSAnne10Text7 + text_end diff --git a/scripts/SSAnneBow.asm b/scripts/SSAnneBow.asm index 4569f0f8..fbc60d1a 100755 --- a/scripts/SSAnneBow.asm +++ b/scripts/SSAnneBow.asm @@ -40,49 +40,49 @@ SSAnne5TrainerHeader1: db $ff SSAnne5Text1: - TX_FAR _SSAnne5Text1 - db "@" + text_far _SSAnne5Text1 + text_end SSAnne5Text2: - TX_FAR _SSAnne5Text2 - db "@" + text_far _SSAnne5Text2 + text_end SSAnne5Text3: - TX_FAR _SSAnne5Text3 - db "@" + text_far _SSAnne5Text3 + text_end SSAnne5Text4: - TX_ASM + text_asm ld hl, SSAnne5TrainerHeader0 call TalkToTrainer jp TextScriptEnd SSAnne5BattleText1: - TX_FAR _SSAnne5BattleText1 - db "@" + text_far _SSAnne5BattleText1 + text_end SSAnne5EndBattleText1: - TX_FAR _SSAnne5EndBattleText1 - db "@" + text_far _SSAnne5EndBattleText1 + text_end SSAnne5AfterBattleText1: - TX_FAR _SSAnne5AfterBattleText1 - db "@" + text_far _SSAnne5AfterBattleText1 + text_end SSAnne5Text5: - TX_ASM + text_asm ld hl, SSAnne5TrainerHeader1 call TalkToTrainer jp TextScriptEnd SSAnne5BattleText2: - TX_FAR _SSAnne5BattleText2 - db "@" + text_far _SSAnne5BattleText2 + text_end SSAnne5EndBattleText2: - TX_FAR _SSAnne5EndBattleText2 - db "@" + text_far _SSAnne5EndBattleText2 + text_end SSAnne5AfterBattleText2: - TX_FAR _SSAnne5AfterBattleText2 - db "@" + text_far _SSAnne5AfterBattleText2 + text_end diff --git a/scripts/SSAnneCaptainsRoom.asm b/scripts/SSAnneCaptainsRoom.asm index 6078ccf0..70518c37 100755 --- a/scripts/SSAnneCaptainsRoom.asm +++ b/scripts/SSAnneCaptainsRoom.asm @@ -15,7 +15,7 @@ SSAnneCaptainsRoom_TextPointers: dw SSAnne7Text3 SSAnne7Text1: - TX_ASM + text_asm CheckEvent EVENT_GOT_HM01 jr nz, .asm_797c4 ld hl, SSAnne7RubText @@ -42,8 +42,8 @@ SSAnne7Text1: jp TextScriptEnd SSAnne7RubText: - TX_FAR _SSAnne7RubText - TX_ASM + text_far _SSAnne7RubText + text_asm ld a, [wAudioROMBank] cp BANK(Audio3_UpdateMusic) ld [wAudioSavedROMBank], a @@ -68,26 +68,26 @@ SSAnne7RubText: jp TextScriptEnd ReceivingHM01Text: - TX_FAR _ReceivingHM01Text - db "@" + text_far _ReceivingHM01Text + text_end ReceivedHM01Text: - TX_FAR _ReceivedHM01Text - TX_SFX_KEY_ITEM - db "@" + text_far _ReceivedHM01Text + sound_get_key_item + text_end SSAnne7Text_61932: - TX_FAR _SSAnne7Text_61932 - db "@" + text_far _SSAnne7Text_61932 + text_end HM01NoRoomText: - TX_FAR _HM01NoRoomText - db "@" + text_far _HM01NoRoomText + text_end SSAnne7Text2: - TX_FAR _SSAnne7Text2 - db "@" + text_far _SSAnne7Text2 + text_end SSAnne7Text3: - TX_FAR _SSAnne7Text3 - db "@" + text_far _SSAnne7Text3 + text_end diff --git a/scripts/SSAnneKitchen.asm b/scripts/SSAnneKitchen.asm index 137706a0..7334cc69 100755 --- a/scripts/SSAnneKitchen.asm +++ b/scripts/SSAnneKitchen.asm @@ -12,31 +12,31 @@ SSAnneKitchen_TextPointers: dw SSAnne6Text7 SSAnne6Text1: - TX_FAR _SSAnne6Text1 - db "@" + text_far _SSAnne6Text1 + text_end SSAnne6Text2: - TX_FAR _SSAnne6Text2 - db "@" + text_far _SSAnne6Text2 + text_end SSAnne6Text3: - TX_FAR _SSAnne6Text3 - db "@" + text_far _SSAnne6Text3 + text_end SSAnne6Text4: - TX_FAR _SSAnne6Text4 - db "@" + text_far _SSAnne6Text4 + text_end SSAnne6Text5: - TX_FAR _SSAnne6Text5 - db "@" + text_far _SSAnne6Text5 + text_end SSAnne6Text6: - TX_FAR _SSAnne6Text6 - db "@" + text_far _SSAnne6Text6 + text_end SSAnne6Text7: - TX_ASM + text_asm ld hl, SSAnne6Text_61807 call PrintText ld a, [hRandomAdd] @@ -56,17 +56,17 @@ SSAnne6Text7: jp TextScriptEnd SSAnne6Text_61807: - TX_FAR _SSAnne6Text_61807 - db "@" + text_far _SSAnne6Text_61807 + text_end SSAnne6Text_6180c: - TX_FAR _SSAnne6Text_6180c - db "@" + text_far _SSAnne6Text_6180c + text_end SSAnne6Text_61811: - TX_FAR _SSAnne6Text_61811 - db "@" + text_far _SSAnne6Text_61811 + text_end SSAnne6Text_61816: - TX_FAR _SSAnne6Text_61816 - db "@" + text_far _SSAnne6Text_61816 + text_end diff --git a/scripts/SafariZoneCenter.asm b/scripts/SafariZoneCenter.asm index 0a266887..1e7db243 100755 --- a/scripts/SafariZoneCenter.asm +++ b/scripts/SafariZoneCenter.asm @@ -7,9 +7,9 @@ SafariZoneCenter_TextPointers: dw SafariZoneCenterText3 SafariZoneCenterText2: - TX_FAR _SafariZoneCenterText2 - db "@" + text_far _SafariZoneCenterText2 + text_end SafariZoneCenterText3: - TX_FAR _SafariZoneCenterText3 - db "@" + text_far _SafariZoneCenterText3 + text_end diff --git a/scripts/SafariZoneCenterRestHouse.asm b/scripts/SafariZoneCenterRestHouse.asm index a652644b..a03823cc 100755 --- a/scripts/SafariZoneCenterRestHouse.asm +++ b/scripts/SafariZoneCenterRestHouse.asm @@ -6,9 +6,9 @@ SafariZoneCenterRestHouse_TextPointers: dw SafariZoneRestHouse1Text2 SafariZoneRestHouse1Text1: - TX_FAR _SafariZoneRestHouse1Text1 - db "@" + text_far _SafariZoneRestHouse1Text1 + text_end SafariZoneRestHouse1Text2: - TX_FAR _SafariZoneRestHouse1Text2 - db "@" + text_far _SafariZoneRestHouse1Text2 + text_end diff --git a/scripts/SafariZoneEast.asm b/scripts/SafariZoneEast.asm index 7f4a5543..062eeab1 100755 --- a/scripts/SafariZoneEast.asm +++ b/scripts/SafariZoneEast.asm @@ -11,13 +11,13 @@ SafariZoneEast_TextPointers: dw SafariZoneEastText7 SafariZoneEastText5: - TX_FAR _SafariZoneEastText5 - db "@" + text_far _SafariZoneEastText5 + text_end SafariZoneEastText6: - TX_FAR _SafariZoneEastText6 - db "@" + text_far _SafariZoneEastText6 + text_end SafariZoneEastText7: - TX_FAR _SafariZoneEastText7 - db "@" + text_far _SafariZoneEastText7 + text_end diff --git a/scripts/SafariZoneEastRestHouse.asm b/scripts/SafariZoneEastRestHouse.asm index 24141459..03655d69 100755 --- a/scripts/SafariZoneEastRestHouse.asm +++ b/scripts/SafariZoneEastRestHouse.asm @@ -8,13 +8,13 @@ SafariZoneEastRestHouse_TextPointers: dw SafariZoneRestHouse3Text3 SafariZoneRestHouse3Text1: - TX_FAR _SafariZoneRestHouse3Text1 - db "@" + text_far _SafariZoneRestHouse3Text1 + text_end SafariZoneRestHouse3Text2: - TX_FAR _SafariZoneRestHouse3Text2 - db "@" + text_far _SafariZoneRestHouse3Text2 + text_end SafariZoneRestHouse3Text3: - TX_FAR _SafariZoneRestHouse3Text3 - db "@" + text_far _SafariZoneRestHouse3Text3 + text_end diff --git a/scripts/SafariZoneGate.asm b/scripts/SafariZoneGate.asm index f3de556b..6f8299fc 100755 --- a/scripts/SafariZoneGate.asm +++ b/scripts/SafariZoneGate.asm @@ -139,12 +139,12 @@ SafariZoneGate_TextPointers: dw .SafariZoneEntranceText6 .SafariZoneEntranceText1 - TX_FAR _SafariZoneEntranceText1 - db "@" + text_far _SafariZoneEntranceText1 + text_end .SafariZoneEntranceText4 - TX_FAR SafariZoneEntranceText_9e6e4 - TX_ASM + text_far SafariZoneEntranceText_9e6e4 + text_asm ld a, MONEY_BOX ld [wTextBoxID], a call DisplayTextBoxID @@ -208,22 +208,22 @@ SafariZoneGate_TextPointers: jp TextScriptEnd .MakePaymentText - TX_FAR SafariZoneEntranceText_9e747 - TX_SFX_ITEM_1 - TX_FAR _SafariZoneEntranceText_75360 - db "@" + text_far SafariZoneEntranceText_9e747 + sound_get_item_1 + text_far _SafariZoneEntranceText_75360 + text_end .PleaseComeAgainText - TX_FAR _SafariZoneEntranceText_75365 - db "@" + text_far _SafariZoneEntranceText_75365 + text_end .NotEnoughMoneyText - TX_FAR _SafariZoneEntranceText_7536a - db "@" + text_far _SafariZoneEntranceText_7536a + text_end .SafariZoneEntranceText5 - TX_FAR SafariZoneEntranceText_9e814 - TX_ASM + text_far SafariZoneEntranceText_9e814 + text_asm call YesNoChoice ld a, [wCurrentMenuItem] and a @@ -255,19 +255,19 @@ SafariZoneGate_TextPointers: jp TextScriptEnd .SafariZoneEntranceText_753bb - TX_FAR _SafariZoneEntranceText_753bb - db "@" + text_far _SafariZoneEntranceText_753bb + text_end .SafariZoneEntranceText_753c0 - TX_FAR _SafariZoneEntranceText_753c0 - db "@" + text_far _SafariZoneEntranceText_753c0 + text_end .SafariZoneEntranceText6 - TX_FAR _SafariZoneEntranceText_753c5 - db "@" + text_far _SafariZoneEntranceText_753c5 + text_end .SafariZoneEntranceText2 - TX_ASM + text_asm ld hl, .FirstTimeQuestionText call PrintText call YesNoChoice @@ -281,13 +281,13 @@ SafariZoneGate_TextPointers: jp TextScriptEnd .FirstTimeQuestionText - TX_FAR _SafariZoneEntranceText_753e6 - db "@" + text_far _SafariZoneEntranceText_753e6 + text_end .ExplanationText - TX_FAR _SafariZoneEntranceText_753eb - db "@" + text_far _SafariZoneEntranceText_753eb + text_end .RegularText - TX_FAR _SafariZoneEntranceText_753f0 - db "@" + text_far _SafariZoneEntranceText_753f0 + text_end diff --git a/scripts/SafariZoneNorth.asm b/scripts/SafariZoneNorth.asm index 734328b4..aaf39ea2 100755 --- a/scripts/SafariZoneNorth.asm +++ b/scripts/SafariZoneNorth.asm @@ -11,21 +11,21 @@ SafariZoneNorth_TextPointers: dw SafariZoneNorthText7 SafariZoneNorthText3: - TX_FAR _SafariZoneNorthText3 - db "@" + text_far _SafariZoneNorthText3 + text_end SafariZoneNorthText4: - TX_FAR _SafariZoneNorthText4 - db "@" + text_far _SafariZoneNorthText4 + text_end SafariZoneNorthText5: - TX_FAR _SafariZoneNorthText5 - db "@" + text_far _SafariZoneNorthText5 + text_end SafariZoneNorthText6: - TX_FAR _SafariZoneNorthText6 - db "@" + text_far _SafariZoneNorthText6 + text_end SafariZoneNorthText7: - TX_FAR _SafariZoneNorthText7 - db "@" + text_far _SafariZoneNorthText7 + text_end diff --git a/scripts/SafariZoneNorthRestHouse.asm b/scripts/SafariZoneNorthRestHouse.asm index fdc438f4..b7a690a1 100755 --- a/scripts/SafariZoneNorthRestHouse.asm +++ b/scripts/SafariZoneNorthRestHouse.asm @@ -8,13 +8,13 @@ SafariZoneNorthRestHouse_TextPointers: dw SafariZoneRestHouse4Text3 SafariZoneRestHouse4Text1: - TX_FAR _SafariZoneRestHouse4Text1 - db "@" + text_far _SafariZoneRestHouse4Text1 + text_end SafariZoneRestHouse4Text2: - TX_FAR _SafariZoneRestHouse4Text2 - db "@" + text_far _SafariZoneRestHouse4Text2 + text_end SafariZoneRestHouse4Text3: - TX_FAR _SafariZoneRestHouse4Text3 - db "@" + text_far _SafariZoneRestHouse4Text3 + text_end diff --git a/scripts/SafariZoneSecretHouse.asm b/scripts/SafariZoneSecretHouse.asm index 2d9b2305..af04adb3 100755 --- a/scripts/SafariZoneSecretHouse.asm +++ b/scripts/SafariZoneSecretHouse.asm @@ -5,7 +5,7 @@ SafariZoneSecretHouse_TextPointers: dw SafariZoneSecretHouseText1 SafariZoneSecretHouseText1: - TX_ASM + text_asm CheckEvent EVENT_GOT_HM03 jr nz, .asm_20a9b ld hl, SafariZoneSecretHouseText_4a350 @@ -28,18 +28,18 @@ SafariZoneSecretHouseText1: jp TextScriptEnd SafariZoneSecretHouseText_4a350: - TX_FAR _SecretHouseText_4a350 - db "@" + text_far _SecretHouseText_4a350 + text_end ReceivedHM03Text: - TX_FAR _ReceivedHM03Text - TX_SFX_ITEM_1 - db "@" + text_far _ReceivedHM03Text + sound_get_item_1 + text_end HM03ExplanationText: - TX_FAR _HM03ExplanationText - db "@" + text_far _HM03ExplanationText + text_end HM03NoRoomText: - TX_FAR _HM03NoRoomText - db "@" + text_far _HM03NoRoomText + text_end diff --git a/scripts/SafariZoneWest.asm b/scripts/SafariZoneWest.asm index 483a92ee..7ae0807d 100755 --- a/scripts/SafariZoneWest.asm +++ b/scripts/SafariZoneWest.asm @@ -12,17 +12,17 @@ SafariZoneWest_TextPointers: dw SafariZoneWestText8 SafariZoneWestText5: - TX_FAR _SafariZoneWestText5 - db "@" + text_far _SafariZoneWestText5 + text_end SafariZoneWestText6: - TX_FAR _SafariZoneWestText6 - db "@" + text_far _SafariZoneWestText6 + text_end SafariZoneWestText7: - TX_FAR _SafariZoneWestText7 - db "@" + text_far _SafariZoneWestText7 + text_end SafariZoneWestText8: - TX_FAR _SafariZoneWestText8 - db "@" + text_far _SafariZoneWestText8 + text_end diff --git a/scripts/SafariZoneWestRestHouse.asm b/scripts/SafariZoneWestRestHouse.asm index 371bd56c..74ad98fe 100755 --- a/scripts/SafariZoneWestRestHouse.asm +++ b/scripts/SafariZoneWestRestHouse.asm @@ -8,13 +8,13 @@ SafariZoneWestRestHouse_TextPointers: dw SafariZoneRestHouse2Text3 SafariZoneRestHouse2Text1: - TX_FAR _SafariZoneRestHouse2Text1 - db "@" + text_far _SafariZoneRestHouse2Text1 + text_end SafariZoneRestHouse2Text2: - TX_FAR _SafariZoneRestHouse2Text2 - db "@" + text_far _SafariZoneRestHouse2Text2 + text_end SafariZoneRestHouse2Text3: - TX_FAR _SafariZoneRestHouse2Text3 - db "@" + text_far _SafariZoneRestHouse2Text3 + text_end diff --git a/scripts/SaffronCity.asm b/scripts/SaffronCity.asm index 02e6e2bb..84982534 100755 --- a/scripts/SaffronCity.asm +++ b/scripts/SaffronCity.asm @@ -29,94 +29,94 @@ SaffronCity_TextPointers: dw SaffronCityText25 SaffronCityText1: - TX_FAR _SaffronCityText1 - db "@" + text_far _SaffronCityText1 + text_end SaffronCityText2: - TX_FAR _SaffronCityText2 - db "@" + text_far _SaffronCityText2 + text_end SaffronCityText3: - TX_FAR _SaffronCityText3 - db "@" + text_far _SaffronCityText3 + text_end SaffronCityText4: - TX_FAR _SaffronCityText4 - db "@" + text_far _SaffronCityText4 + text_end SaffronCityText5: - TX_FAR _SaffronCityText5 - db "@" + text_far _SaffronCityText5 + text_end SaffronCityText6: - TX_FAR _SaffronCityText6 - db "@" + text_far _SaffronCityText6 + text_end SaffronCityText7: - TX_FAR _SaffronCityText7 - db "@" + text_far _SaffronCityText7 + text_end SaffronCityText8: - TX_FAR _SaffronCityText8 - db "@" + text_far _SaffronCityText8 + text_end SaffronCityText9: - TX_FAR _SaffronCityText9 - db "@" + text_far _SaffronCityText9 + text_end SaffronCityText10: - TX_FAR _SaffronCityText10 - db "@" + text_far _SaffronCityText10 + text_end SaffronCityText11: - TX_FAR _SaffronCityText11 - db "@" + text_far _SaffronCityText11 + text_end SaffronCityText12: - TX_FAR _SaffronCityText12 - TX_CRY_PIDGEOT - db "@" + text_far _SaffronCityText12 + sound_cry_pidgeot + text_end SaffronCityText13: - TX_FAR _SaffronCityText13 - db "@" + text_far _SaffronCityText13 + text_end SaffronCityText14: - TX_FAR _SaffronCityText14 - db "@" + text_far _SaffronCityText14 + text_end SaffronCityText15: - TX_FAR _SaffronCityText15 - db "@" + text_far _SaffronCityText15 + text_end SaffronCityText16: - TX_FAR _SaffronCityText16 - db "@" + text_far _SaffronCityText16 + text_end SaffronCityText17: - TX_FAR _SaffronCityText17 - db "@" + text_far _SaffronCityText17 + text_end SaffronCityText18: - TX_FAR _SaffronCityText18 - db "@" + text_far _SaffronCityText18 + text_end SaffronCityText20: - TX_FAR _SaffronCityText20 - db "@" + text_far _SaffronCityText20 + text_end SaffronCityText21: - TX_FAR _SaffronCityText21 - db "@" + text_far _SaffronCityText21 + text_end SaffronCityText22: - TX_FAR _SaffronCityText22 - db "@" + text_far _SaffronCityText22 + text_end SaffronCityText24: - TX_FAR _SaffronCityText24 - db "@" + text_far _SaffronCityText24 + text_end SaffronCityText25: - TX_FAR _SaffronCityText25 - db "@" + text_far _SaffronCityText25 + text_end diff --git a/scripts/SaffronGym.asm b/scripts/SaffronGym.asm index 8842472c..c53ea0f0 100755 --- a/scripts/SaffronGym.asm +++ b/scripts/SaffronGym.asm @@ -150,7 +150,7 @@ SaffronGymTrainerHeader6: db $ff SaffronGymText1: - TX_ASM + text_asm CheckEvent EVENT_BEAT_SABRINA jr z, .beginBattle CheckEventReuseA EVENT_GOT_TM46 @@ -183,77 +183,77 @@ SaffronGymText1: jp TextScriptEnd SaffronGymText_5d162: - TX_FAR _SaffronGymText_5d162 - db "@" + text_far _SaffronGymText_5d162 + text_end SaffronGymText_5d167: - TX_FAR _SaffronGymText_5d167 - TX_SFX_KEY_ITEM ; actually plays the second channel of SFX_BALL_POOF due to the wrong music bank being loaded - TX_BLINK - db "@" + text_far _SaffronGymText_5d167 + sound_get_key_item ; actually plays the second channel of SFX_BALL_POOF due to the wrong music bank being loaded + text_promptbutton + text_end SaffronGymText_5d16e: - TX_FAR _SaffronGymText_5d16e - db "@" + text_far _SaffronGymText_5d16e + text_end SaffronGymText10: - TX_FAR _SaffronGymText_5d173 - db "@" + text_far _SaffronGymText_5d173 + text_end SaffronGymText11: - TX_FAR ReceivedTM46Text - TX_SFX_ITEM_1 - TX_FAR _TM46ExplanationText - db "@" + text_far ReceivedTM46Text + sound_get_item_1 + text_far _TM46ExplanationText + text_end SaffronGymText12: - TX_FAR _TM46NoRoomText - db "@" + text_far _TM46NoRoomText + text_end SaffronGymText2: - TX_ASM + text_asm ld hl, SaffronGymTrainerHeader0 call TalkToTrainer jp TextScriptEnd SaffronGymText3: - TX_ASM + text_asm ld hl, SaffronGymTrainerHeader1 call TalkToTrainer jp TextScriptEnd SaffronGymText4: - TX_ASM + text_asm ld hl, SaffronGymTrainerHeader2 call TalkToTrainer jp TextScriptEnd SaffronGymText5: - TX_ASM + text_asm ld hl, SaffronGymTrainerHeader3 call TalkToTrainer jp TextScriptEnd SaffronGymText6: - TX_ASM + text_asm ld hl, SaffronGymTrainerHeader4 call TalkToTrainer jp TextScriptEnd SaffronGymText7: - TX_ASM + text_asm ld hl, SaffronGymTrainerHeader5 call TalkToTrainer jp TextScriptEnd SaffronGymText8: - TX_ASM + text_asm ld hl, SaffronGymTrainerHeader6 call TalkToTrainer jp TextScriptEnd SaffronGymText9: - TX_ASM + text_asm CheckEvent EVENT_BEAT_SABRINA jr nz, .asm_5d1dd ld hl, SaffronGymText_5d1e6 @@ -266,93 +266,93 @@ SaffronGymText9: jp TextScriptEnd SaffronGymText_5d1e6: - TX_FAR _SaffronGymText_5d1e6 - db "@" + text_far _SaffronGymText_5d1e6 + text_end SaffronGymText_5d1eb: - TX_FAR _SaffronGymText_5d1eb - db "@" + text_far _SaffronGymText_5d1eb + text_end SaffronGymBattleText1: - TX_FAR _SaffronGymBattleText1 - db "@" + text_far _SaffronGymBattleText1 + text_end SaffronGymEndBattleText1: - TX_FAR _SaffronGymEndBattleText1 - db "@" + text_far _SaffronGymEndBattleText1 + text_end SaffronGymAfterBattleText1: - TX_FAR _SaffronGymAfterBattleText1 - db "@" + text_far _SaffronGymAfterBattleText1 + text_end SaffronGymBattleText2: - TX_FAR _SaffronGymBattleText2 - db "@" + text_far _SaffronGymBattleText2 + text_end SaffronGymEndBattleText2: - TX_FAR _SaffronGymEndBattleText2 - db "@" + text_far _SaffronGymEndBattleText2 + text_end SaffronGymAfterBattleText2: - TX_FAR _SaffronGymAfterBattleText2 - db "@" + text_far _SaffronGymAfterBattleText2 + text_end SaffronGymBattleText3: - TX_FAR _SaffronGymBattleText3 - db "@" + text_far _SaffronGymBattleText3 + text_end SaffronGymEndBattleText3: - TX_FAR _SaffronGymEndBattleText3 - db "@" + text_far _SaffronGymEndBattleText3 + text_end SaffronGymAfterBattleText3: - TX_FAR _SaffronGymAfterBattleText3 - db "@" + text_far _SaffronGymAfterBattleText3 + text_end SaffronGymBattleText4: - TX_FAR _SaffronGymBattleText4 - db "@" + text_far _SaffronGymBattleText4 + text_end SaffronGymEndBattleText4: - TX_FAR _SaffronGymEndBattleText4 - db "@" + text_far _SaffronGymEndBattleText4 + text_end SaffronGymAfterBattleText4: - TX_FAR _SaffronGymAfterBattleText4 - db "@" + text_far _SaffronGymAfterBattleText4 + text_end SaffronGymBattleText5: - TX_FAR _SaffronGymBattleText5 - db "@" + text_far _SaffronGymBattleText5 + text_end SaffronGymEndBattleText5: - TX_FAR _SaffronGymEndBattleText5 - db "@" + text_far _SaffronGymEndBattleText5 + text_end SaffronGymAfterBattleText5: - TX_FAR _SaffronGymAfterBattleText5 - db "@" + text_far _SaffronGymAfterBattleText5 + text_end SaffronGymBattleText6: - TX_FAR _SaffronGymBattleText6 - db "@" + text_far _SaffronGymBattleText6 + text_end SaffronGymEndBattleText6: - TX_FAR _SaffronGymEndBattleText6 - db "@" + text_far _SaffronGymEndBattleText6 + text_end SaffronGymAfterBattleText6: - TX_FAR _SaffronGymAfterBattleText6 - db "@" + text_far _SaffronGymAfterBattleText6 + text_end SaffronGymBattleText7: - TX_FAR _SaffronGymBattleText7 - db "@" + text_far _SaffronGymBattleText7 + text_end SaffronGymEndBattleText7: - TX_FAR _SaffronGymEndBattleText7 - db "@" + text_far _SaffronGymEndBattleText7 + text_end SaffronGymAfterBattleText7: - TX_FAR _SaffronGymAfterBattleText7 - db "@" + text_far _SaffronGymAfterBattleText7 + text_end diff --git a/scripts/SaffronMart.asm b/scripts/SaffronMart.asm index ebb3cddf..bfa47eb1 100755 --- a/scripts/SaffronMart.asm +++ b/scripts/SaffronMart.asm @@ -7,9 +7,9 @@ SaffronMart_TextPointers: dw SaffronMartText3 SaffronMartText2: - TX_FAR _SaffronMartText2 - db "@" + text_far _SaffronMartText2 + text_end SaffronMartText3: - TX_FAR _SaffronMartText3 - db "@" + text_far _SaffronMartText3 + text_end diff --git a/scripts/SaffronPidgeyHouse.asm b/scripts/SaffronPidgeyHouse.asm index f38fbfdb..90078e81 100755 --- a/scripts/SaffronPidgeyHouse.asm +++ b/scripts/SaffronPidgeyHouse.asm @@ -8,20 +8,20 @@ SaffronPidgeyHouse_TextPointers: dw SaffronHouse1Text4 SaffronHouse1Text1: - TX_FAR _SaffronHouse1Text1 - db "@" + text_far _SaffronHouse1Text1 + text_end SaffronHouse1Text2: - TX_FAR _SaffronHouse1Text2 - TX_ASM + text_far _SaffronHouse1Text2 + text_asm ld a, PIDGEY call PlayCry jp TextScriptEnd SaffronHouse1Text3: - TX_FAR _SaffronHouse1Text3 - db "@" + text_far _SaffronHouse1Text3 + text_end SaffronHouse1Text4: - TX_FAR _SaffronHouse1Text4 - db "@" + text_far _SaffronHouse1Text4 + text_end diff --git a/scripts/SaffronPokecenter.asm b/scripts/SaffronPokecenter.asm index a1d73628..68eb4fc6 100755 --- a/scripts/SaffronPokecenter.asm +++ b/scripts/SaffronPokecenter.asm @@ -9,15 +9,15 @@ SaffronPokecenter_TextPointers: dw SaffronTradeNurseText SaffronHealNurseText: - TX_POKECENTER_NURSE + script_pokecenter_nurse SaffronPokecenterText2: - TX_FAR _SaffronPokecenterText2 - db "@" + text_far _SaffronPokecenterText2 + text_end SaffronPokecenterText3: - TX_FAR _SaffronPokecenterText3 - db "@" + text_far _SaffronPokecenterText3 + text_end SaffronTradeNurseText: - TX_CABLE_CLUB_RECEPTIONIST + script_cable_club_receptionist diff --git a/scripts/SeafoamIslandsB4F.asm b/scripts/SeafoamIslandsB4F.asm index d08628d0..9bc6b21e 100755 --- a/scripts/SeafoamIslandsB4F.asm +++ b/scripts/SeafoamIslandsB4F.asm @@ -149,7 +149,7 @@ ArticunoTrainerHeader: db $ff ArticunoText: - TX_ASM + text_asm ld hl, ArticunoTrainerHeader call TalkToTrainer ld a, $4 @@ -157,17 +157,17 @@ ArticunoText: jp TextScriptEnd ArticunoBattleText: - TX_FAR _ArticunoBattleText - TX_ASM + text_far _ArticunoBattleText + text_asm ld a, ARTICUNO call PlayCry call WaitForSoundToFinish jp TextScriptEnd SeafoamIslands5Text4: - TX_FAR _SeafoamIslands5Text4 - db "@" + text_far _SeafoamIslands5Text4 + text_end SeafoamIslands5Text5: - TX_FAR _SeafoamIslands5Text5 - db "@" + text_far _SeafoamIslands5Text5 + text_end diff --git a/scripts/SilphCo10F.asm b/scripts/SilphCo10F.asm index 92d95de1..140584f1 100755 --- a/scripts/SilphCo10F.asm +++ b/scripts/SilphCo10F.asm @@ -68,19 +68,19 @@ SilphCo10TrainerHeader1: db $ff SilphCo10Text1: - TX_ASM + text_asm ld hl, SilphCo10TrainerHeader0 call TalkToTrainer jp TextScriptEnd SilphCo10Text2: - TX_ASM + text_asm ld hl, SilphCo10TrainerHeader1 call TalkToTrainer jp TextScriptEnd SilphCo10Text3: - TX_ASM + text_asm CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI ld hl, SilphCo10Text_5a1d8 jr nz, .asm_cf85f @@ -90,33 +90,33 @@ SilphCo10Text3: jp TextScriptEnd SilphCo10Text_5a1d3: - TX_FAR _SilphCo10Text_5a1d3 - db "@" + text_far _SilphCo10Text_5a1d3 + text_end SilphCo10Text_5a1d8: - TX_FAR _SilphCo10Text_5a1d8 - db "@" + text_far _SilphCo10Text_5a1d8 + text_end SilphCo10BattleText1: - TX_FAR _SilphCo10BattleText1 - db "@" + text_far _SilphCo10BattleText1 + text_end SilphCo10EndBattleText1: - TX_FAR _SilphCo10EndBattleText1 - db "@" + text_far _SilphCo10EndBattleText1 + text_end SilphCo10AfterBattleText1: - TX_FAR _SilphCo10AfterBattleText1 - db "@" + text_far _SilphCo10AfterBattleText1 + text_end SilphCo10BattleText2: - TX_FAR _SilphCo10BattleText2 - db "@" + text_far _SilphCo10BattleText2 + text_end SilphCo10EndBattleText2: - TX_FAR _SilphCo10EndBattleText2 - db "@" + text_far _SilphCo10EndBattleText2 + text_end SilphCo10AfterBattleText2: - TX_FAR _SilphCo10AfterBattleText2 - db "@" + text_far _SilphCo10AfterBattleText2 + text_end diff --git a/scripts/SilphCo11F.asm b/scripts/SilphCo11F.asm index 116b528f..a2c540fe 100755 --- a/scripts/SilphCo11F.asm +++ b/scripts/SilphCo11F.asm @@ -301,7 +301,7 @@ SilphCo11TrainerHeader1: db $ff SilphCo11Text1: - TX_ASM + text_asm CheckEvent EVENT_GOT_MASTER_BALL jp nz, .asm_62308 ld hl, SilphCoPresidentText @@ -324,76 +324,76 @@ SilphCo11Text1: jp TextScriptEnd SilphCoPresidentText: - TX_FAR _SilphCoPresidentText - db "@" + text_far _SilphCoPresidentText + text_end ReceivedSilphCoMasterBallText: - TX_FAR _ReceivedSilphCoMasterBallText - TX_SFX_KEY_ITEM - db "@" + text_far _ReceivedSilphCoMasterBallText + sound_get_key_item + text_end SilphCo10Text_6231c: - TX_FAR _SilphCo10Text_6231c - db "@" + text_far _SilphCo10Text_6231c + text_end SilphCoMasterBallNoRoomText: - TX_FAR _SilphCoMasterBallNoRoomText - db "@" + text_far _SilphCoMasterBallNoRoomText + text_end SilphCo11Text2: - TX_FAR _SilphCo11Text2 - db "@" + text_far _SilphCo11Text2 + text_end SilphCo11Text3: - TX_FAR _SilphCo11Text3 - db "@" + text_far _SilphCo11Text3 + text_end SilphCo10Text_62330: - TX_FAR _SilphCo10Text_62330 - db "@" + text_far _SilphCo10Text_62330 + text_end SilphCo11Text6: - TX_FAR _SilphCo10Text_62335 - db "@" + text_far _SilphCo10Text_62335 + text_end SilphCo11Text4: - TX_ASM + text_asm ld hl, SilphCo11TrainerHeader0 call TalkToTrainer jp TextScriptEnd SilphCo11BattleText1: - TX_FAR _SilphCo11BattleText1 - db "@" + text_far _SilphCo11BattleText1 + text_end SilphCo11EndBattleText1: - TX_FAR _SilphCo11EndBattleText1 - db "@" + text_far _SilphCo11EndBattleText1 + text_end SilphCo11AfterBattleText1: - TX_FAR _SilphCo11AfterBattleText1 - db "@" + text_far _SilphCo11AfterBattleText1 + text_end SilphCo11Text5: - TX_ASM + text_asm ld hl, SilphCo11TrainerHeader1 call TalkToTrainer jp TextScriptEnd SilphCo11BattleText2: - TX_FAR _SilphCo11BattleText2 - db "@" + text_far _SilphCo11BattleText2 + text_end SilphCo11EndBattleText2: - TX_FAR _SilphCo11EndBattleText2 - db "@" + text_far _SilphCo11EndBattleText2 + text_end SilphCo11AfterBattleText2: - TX_FAR _SilphCo11AfterBattleText2 - db "@" + text_far _SilphCo11AfterBattleText2 + text_end SilphCo10Text_6236c: - TX_ASM + text_asm ld hl, SilphCo10Text_6237b call PrintText ld a, PORYGON @@ -401,5 +401,5 @@ SilphCo10Text_6236c: jp TextScriptEnd SilphCo10Text_6237b: - TX_FAR _SilphCo10Text_6237b - db "@" + text_far _SilphCo10Text_6237b + text_end diff --git a/scripts/SilphCo1F.asm b/scripts/SilphCo1F.asm index 6ccaa29c..bc484b7c 100755 --- a/scripts/SilphCo1F.asm +++ b/scripts/SilphCo1F.asm @@ -12,5 +12,5 @@ SilphCo1F_TextPointers: dw SilphCo1Text1 SilphCo1Text1: - TX_FAR _SilphCo1Text1 - db "@" + text_far _SilphCo1Text1 + text_end diff --git a/scripts/SilphCo2F.asm b/scripts/SilphCo2F.asm index 0ff7cee3..3cc27fab 100755 --- a/scripts/SilphCo2F.asm +++ b/scripts/SilphCo2F.asm @@ -137,7 +137,7 @@ SilphCo2TrainerHeader3: db $ff SilphCo2Text1: - TX_ASM + text_asm CheckEvent EVENT_GOT_TM36 jr nz, .asm_59de4 ld hl, SilphCo2Text_59ded @@ -156,90 +156,90 @@ SilphCo2Text1: jp TextScriptEnd SilphCo2Text_59ded: - TX_FAR _SilphCo2Text_59ded - db "@" + text_far _SilphCo2Text_59ded + text_end ReceivedTM36Text: - TX_FAR _ReceivedTM36Text - TX_SFX_ITEM_1 - db "@" + text_far _ReceivedTM36Text + sound_get_item_1 + text_end TM36ExplanationText: - TX_FAR _TM36ExplanationText - db "@" + text_far _TM36ExplanationText + text_end TM36NoRoomText: - TX_FAR _TM36NoRoomText - db "@" + text_far _TM36NoRoomText + text_end SilphCo2Text2: - TX_ASM + text_asm ld hl, SilphCo2TrainerHeader0 call TalkToTrainer jp TextScriptEnd SilphCo2Text3: - TX_ASM + text_asm ld hl, SilphCo2TrainerHeader1 call TalkToTrainer jp TextScriptEnd SilphCo2Text4: - TX_ASM + text_asm ld hl, SilphCo2TrainerHeader2 call TalkToTrainer jp TextScriptEnd SilphCo2Text5: - TX_ASM + text_asm ld hl, SilphCo2TrainerHeader3 call TalkToTrainer jp TextScriptEnd SilphCo2BattleText1: - TX_FAR _SilphCo2BattleText1 - db "@" + text_far _SilphCo2BattleText1 + text_end SilphCo2EndBattleText1: - TX_FAR _SilphCo2EndBattleText1 - db "@" + text_far _SilphCo2EndBattleText1 + text_end SilphCo2AfterBattleText1: - TX_FAR _SilphCo2AfterBattleText1 - db "@" + text_far _SilphCo2AfterBattleText1 + text_end SilphCo2BattleText2: - TX_FAR _SilphCo2BattleText2 - db "@" + text_far _SilphCo2BattleText2 + text_end SilphCo2EndBattleText2: - TX_FAR _SilphCo2EndBattleText2 - db "@" + text_far _SilphCo2EndBattleText2 + text_end SilphCo2AfterBattleText2: - TX_FAR _SilphCo2AfterBattleText2 - db "@" + text_far _SilphCo2AfterBattleText2 + text_end SilphCo2BattleText3: - TX_FAR _SilphCo2BattleText3 - db "@" + text_far _SilphCo2BattleText3 + text_end SilphCo2EndBattleText3: - TX_FAR _SilphCo2EndBattleText3 - db "@" + text_far _SilphCo2EndBattleText3 + text_end SilphCo2AfterBattleText3: - TX_FAR _SilphCo2AfterBattleText3 - db "@" + text_far _SilphCo2AfterBattleText3 + text_end SilphCo2BattleText4: - TX_FAR _SilphCo2BattleText4 - db "@" + text_far _SilphCo2BattleText4 + text_end SilphCo2EndBattleText4: - TX_FAR _SilphCo2EndBattleText4 - db "@" + text_far _SilphCo2EndBattleText4 + text_end SilphCo2AfterBattleText4: - TX_FAR _SilphCo2AfterBattleText4 - db "@" + text_far _SilphCo2AfterBattleText4 + text_end diff --git a/scripts/SilphCo3F.asm b/scripts/SilphCo3F.asm index 3b6b1da8..ddd40048 100755 --- a/scripts/SilphCo3F.asm +++ b/scripts/SilphCo3F.asm @@ -82,7 +82,7 @@ SilphCo3TrainerHeader1: db $ff SilphCo3Text1: - TX_ASM + text_asm CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI ld hl, SilphCo3Text_59ffe jr nz, .asm_59fee @@ -92,45 +92,45 @@ SilphCo3Text1: jp TextScriptEnd SilphCo3Text_59ff9: - TX_FAR _SilphCo3Text_59ff9 - db "@" + text_far _SilphCo3Text_59ff9 + text_end SilphCo3Text_59ffe: - TX_FAR _SilphCo3Text_59ffe - db "@" + text_far _SilphCo3Text_59ffe + text_end SilphCo3Text2: - TX_ASM + text_asm ld hl, SilphCo3TrainerHeader0 call TalkToTrainer jp TextScriptEnd SilphCo3BattleText1: - TX_FAR _SilphCo3BattleText1 - db "@" + text_far _SilphCo3BattleText1 + text_end SilphCo3EndBattleText1: - TX_FAR _SilphCo3EndBattleText1 - db "@" + text_far _SilphCo3EndBattleText1 + text_end SilphCo3AfterBattleText1: - TX_FAR _SilphCo3AfterBattleText1 - db "@" + text_far _SilphCo3AfterBattleText1 + text_end SilphCo3Text3: - TX_ASM + text_asm ld hl, SilphCo3TrainerHeader1 call TalkToTrainer jp TextScriptEnd SilphCo3BattleText2: - TX_FAR _SilphCo3BattleText2 - db "@" + text_far _SilphCo3BattleText2 + text_end SilphCo3EndBattleText2: - TX_FAR _SilphCo3EndBattleText2 - db "@" + text_far _SilphCo3EndBattleText2 + text_end SilphCo3AfterBattleText2: - TX_FAR _SilphCo3AfterBattleText2 - db "@" + text_far _SilphCo3AfterBattleText2 + text_end diff --git a/scripts/SilphCo4F.asm b/scripts/SilphCo4F.asm index 61288277..523336c0 100755 --- a/scripts/SilphCo4F.asm +++ b/scripts/SilphCo4F.asm @@ -130,70 +130,70 @@ SilphCo4TrainerHeader2: db $ff SilphCo4Text1: - TX_ASM + text_asm ld hl, SilphCo4Text_19de0 ld de, SilphCo4Text_19de5 call SilphCo6Script_1a22f jp TextScriptEnd SilphCo4Text_19de0: - TX_FAR _SilphCo4Text_19de0 - db "@" + text_far _SilphCo4Text_19de0 + text_end SilphCo4Text_19de5: - TX_FAR _SilphCo4Text_19de5 - db "@" + text_far _SilphCo4Text_19de5 + text_end SilphCo4Text2: - TX_ASM + text_asm ld hl, SilphCo4TrainerHeader0 call TalkToTrainer jp TextScriptEnd SilphCo4BattleText2: - TX_FAR _SilphCo4BattleText2 - db "@" + text_far _SilphCo4BattleText2 + text_end SilphCo4EndBattleText2: - TX_FAR _SilphCo4EndBattleText2 - db "@" + text_far _SilphCo4EndBattleText2 + text_end SilphCo4AfterBattleText2: - TX_FAR _SilphCo4AfterBattleText2 - db "@" + text_far _SilphCo4AfterBattleText2 + text_end SilphCo4Text3: - TX_ASM + text_asm ld hl, SilphCo4TrainerHeader1 call TalkToTrainer jp TextScriptEnd SilphCo4BattleText3: - TX_FAR _SilphCo4BattleText3 - db "@" + text_far _SilphCo4BattleText3 + text_end SilphCo4EndBattleText3: - TX_FAR _SilphCo4EndBattleText3 - db "@" + text_far _SilphCo4EndBattleText3 + text_end SilphCo4AfterBattleText3: - TX_FAR _SilphCo4AfterBattleText3 - db "@" + text_far _SilphCo4AfterBattleText3 + text_end SilphCo4Text4: - TX_ASM + text_asm ld hl, SilphCo4TrainerHeader2 call TalkToTrainer jp TextScriptEnd SilphCo4BattleText4: - TX_FAR _SilphCo4BattleText4 - db "@" + text_far _SilphCo4BattleText4 + text_end SilphCo4EndBattleText4: - TX_FAR _SilphCo4EndBattleText4 - db "@" + text_far _SilphCo4EndBattleText4 + text_end SilphCo4AfterBattleText4: - TX_FAR _SilphCo4AfterBattleText4 - db "@" + text_far _SilphCo4AfterBattleText4 + text_end diff --git a/scripts/SilphCo5F.asm b/scripts/SilphCo5F.asm index 39d7235b..653390c7 100755 --- a/scripts/SilphCo5F.asm +++ b/scripts/SilphCo5F.asm @@ -122,100 +122,100 @@ SilphCo5TrainerHeader3: db $ff SilphCo5Text1: - TX_ASM + text_asm ld hl, SilphCo5Text_1a010 ld de, SilphCo5Text_1a015 call SilphCo6Script_1a22f jp TextScriptEnd SilphCo5Text_1a010: - TX_FAR _SilphCo5Text_1a010 - db "@" + text_far _SilphCo5Text_1a010 + text_end SilphCo5Text_1a015: - TX_FAR _SilphCo5Text_1a015 - db "@" + text_far _SilphCo5Text_1a015 + text_end SilphCo5Text2: - TX_ASM + text_asm ld hl, SilphCo5TrainerHeader0 call TalkToTrainer jp TextScriptEnd SilphCo5BattleText2: - TX_FAR _SilphCo5BattleText2 - db "@" + text_far _SilphCo5BattleText2 + text_end SilphCo5EndBattleText2: - TX_FAR _SilphCo5EndBattleText2 - db "@" + text_far _SilphCo5EndBattleText2 + text_end SilphCo5AfterBattleText2: - TX_FAR _SilphCo5AfterBattleText2 - db "@" + text_far _SilphCo5AfterBattleText2 + text_end SilphCo5Text3: - TX_ASM + text_asm ld hl, SilphCo5TrainerHeader1 call TalkToTrainer jp TextScriptEnd SilphCo5BattleText3: - TX_FAR _SilphCo5BattleText3 - db "@" + text_far _SilphCo5BattleText3 + text_end SilphCo5EndBattleText3: - TX_FAR _SilphCo5EndBattleText3 - db "@" + text_far _SilphCo5EndBattleText3 + text_end SilphCo5AfterBattleText3: - TX_FAR _SilphCo5AfterBattleText3 - db "@" + text_far _SilphCo5AfterBattleText3 + text_end SilphCo5Text4: - TX_ASM + text_asm ld hl, SilphCo5TrainerHeader2 call TalkToTrainer jp TextScriptEnd SilphCo5BattleText4: - TX_FAR _SilphCo5BattleText4 - db "@" + text_far _SilphCo5BattleText4 + text_end SilphCo5EndBattleText4: - TX_FAR _SilphCo5EndBattleText4 - db "@" + text_far _SilphCo5EndBattleText4 + text_end SilphCo5AfterBattleText4: - TX_FAR _SilphCo5AfterBattleText4 - db "@" + text_far _SilphCo5AfterBattleText4 + text_end SilphCo5Text5: - TX_ASM + text_asm ld hl, SilphCo5TrainerHeader3 call TalkToTrainer jp TextScriptEnd SilphCo5BattleText5: - TX_FAR _SilphCo5BattleText5 - db "@" + text_far _SilphCo5BattleText5 + text_end SilphCo5EndBattleText5: - TX_FAR _SilphCo5EndBattleText5 - db "@" + text_far _SilphCo5EndBattleText5 + text_end SilphCo5AfterBattleText5: - TX_FAR _SilphCo5AfterBattleText5 - db "@" + text_far _SilphCo5AfterBattleText5 + text_end SilphCo5Text9: - TX_FAR _SilphCo5Text9 - db "@" + text_far _SilphCo5Text9 + text_end SilphCo5Text10: - TX_FAR _SilphCo5Text10 - db "@" + text_far _SilphCo5Text10 + text_end SilphCo5Text11: - TX_FAR _SilphCo5Text11 - db "@" + text_far _SilphCo5Text11 + text_end diff --git a/scripts/SilphCo6F.asm b/scripts/SilphCo6F.asm index 9e6ffaf1..0d393b6e 100755 --- a/scripts/SilphCo6F.asm +++ b/scripts/SilphCo6F.asm @@ -91,130 +91,130 @@ SilphCo6Script_1a22f: jp PrintText SilphCo6Text1: - TX_ASM + text_asm ld hl, SilphCo6Text_1a24a ld de, SilphCo6Text_1a24f call SilphCo6Script_1a22f jp TextScriptEnd SilphCo6Text_1a24a: - TX_FAR _SilphCo6Text_1a24a - db "@" + text_far _SilphCo6Text_1a24a + text_end SilphCo6Text_1a24f: - TX_FAR _SilphCo6Text_1a24f - db "@" + text_far _SilphCo6Text_1a24f + text_end SilphCo6Text2: - TX_ASM + text_asm ld hl, SilphCo6Text_1a261 ld de, SilphCo6Text_1a266 call SilphCo6Script_1a22f jp TextScriptEnd SilphCo6Text_1a261: - TX_FAR _SilphCo6Text_1a261 - db "@" + text_far _SilphCo6Text_1a261 + text_end SilphCo6Text_1a266: - TX_FAR _SilphCo6Text_1a266 - db "@" + text_far _SilphCo6Text_1a266 + text_end SilphCo6Text3: - TX_ASM + text_asm ld hl, SilphCo6Text_1a278 ld de, SilphCo6Text_1a27d call SilphCo6Script_1a22f jp TextScriptEnd SilphCo6Text_1a278: - TX_FAR _SilphCo6Text_1a278 - db "@" + text_far _SilphCo6Text_1a278 + text_end SilphCo6Text_1a27d: - TX_FAR _SilphCo6Text_1a27d - db "@" + text_far _SilphCo6Text_1a27d + text_end SilphCo6Text4: - TX_ASM + text_asm ld hl, SilphCo6Text_1a28f ld de, SilphCo6Text_1a294 call SilphCo6Script_1a22f jp TextScriptEnd SilphCo6Text_1a28f: - TX_FAR _SilphCo6Text_1a28f - db "@" + text_far _SilphCo6Text_1a28f + text_end SilphCo6Text_1a294: - TX_FAR _SilphCo6Text_1a294 - db "@" + text_far _SilphCo6Text_1a294 + text_end SilphCo6Text5: - TX_ASM + text_asm ld hl, SilphCo6Text_1a2a6 ld de, SilphCo6Text_1a2ab call SilphCo6Script_1a22f jp TextScriptEnd SilphCo6Text_1a2a6: - TX_FAR _SilphCo6Text_1a2a6 - db "@" + text_far _SilphCo6Text_1a2a6 + text_end SilphCo6Text_1a2ab: - TX_FAR _SilphCo6Text_1a2ab - db "@" + text_far _SilphCo6Text_1a2ab + text_end SilphCo6Text6: - TX_ASM + text_asm ld hl, SilphCo6TrainerHeader0 call TalkToTrainer jp TextScriptEnd SilphCo6BattleText2: - TX_FAR _SilphCo6BattleText2 - db "@" + text_far _SilphCo6BattleText2 + text_end SilphCo6EndBattleText2: - TX_FAR _SilphCo6EndBattleText2 - db "@" + text_far _SilphCo6EndBattleText2 + text_end SilphCo6AfterBattleText2: - TX_FAR _SilphCo6AfterBattleText2 - db "@" + text_far _SilphCo6AfterBattleText2 + text_end SilphCo6Text7: - TX_ASM + text_asm ld hl, SilphCo6TrainerHeader1 call TalkToTrainer jp TextScriptEnd SilphCo6BattleText3: - TX_FAR _SilphCo6BattleText3 - db "@" + text_far _SilphCo6BattleText3 + text_end SilphCo6EndBattleText3: - TX_FAR _SilphCo6EndBattleText3 - db "@" + text_far _SilphCo6EndBattleText3 + text_end SilphCo6AfterBattleText3: - TX_FAR _SilphCo6AfterBattleText3 - db "@" + text_far _SilphCo6AfterBattleText3 + text_end SilphCo6Text8: - TX_ASM + text_asm ld hl, SilphCo6TrainerHeader2 call TalkToTrainer jp TextScriptEnd SilphCo6BattleText4: - TX_FAR _SilphCo6BattleText4 - db "@" + text_far _SilphCo6BattleText4 + text_end SilphCo6EndBattleText4: - TX_FAR _SilphCo6EndBattleText4 - db "@" + text_far _SilphCo6EndBattleText4 + text_end SilphCo6AfterBattleText4: - TX_FAR _SilphCo6AfterBattleText4 - db "@" + text_far _SilphCo6AfterBattleText4 + text_end diff --git a/scripts/SilphCo7F.asm b/scripts/SilphCo7F.asm index 4966bba6..966a18d9 100755 --- a/scripts/SilphCo7F.asm +++ b/scripts/SilphCo7F.asm @@ -319,7 +319,7 @@ SilphCo7TrainerHeader3: SilphCo7Text1: ; lapras guy - TX_ASM + text_asm ld a, [wd72e] bit 0, a ; got lapras? jr z, .givelapras @@ -350,23 +350,23 @@ SilphCo7Text1: jp TextScriptEnd .MeetLaprasGuyText - TX_FAR _MeetLaprasGuyText - db "@" + text_far _MeetLaprasGuyText + text_end .HeresYourLaprasText - TX_FAR _HeresYourLaprasText - db "@" + text_far _HeresYourLaprasText + text_end .LaprasGuyText - TX_FAR _LaprasGuyText - db "@" + text_far _LaprasGuyText + text_end .LaprasGuySavedText - TX_FAR _LaprasGuySavedText - db "@" + text_far _LaprasGuySavedText + text_end SilphCo7Text2: - TX_ASM + text_asm CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI jr nz, .savedsilph ld hl, .rockettext @@ -379,15 +379,15 @@ SilphCo7Text2: jp TextScriptEnd .rockettext - TX_FAR _SilphCo7Text_51e00 - db "@" + text_far _SilphCo7Text_51e00 + text_end .savedtext - TX_FAR _CanceledMasterBallText - db "@" + text_far _CanceledMasterBallText + text_end SilphCo7Text3: - TX_ASM + text_asm CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI jr nz, .savedsilph ld hl, .rockettext @@ -400,15 +400,15 @@ SilphCo7Text3: jp TextScriptEnd .rockettext - TX_FAR _SilphCo7Text_51e23 - db "@" + text_far _SilphCo7Text_51e23 + text_end .savedtext - TX_FAR _SilphCo7Text_51e28 - db "@" + text_far _SilphCo7Text_51e28 + text_end SilphCo7Text4: - TX_ASM + text_asm CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI jr nz, .savedsilph ld hl, .rockettext @@ -421,107 +421,107 @@ SilphCo7Text4: jp TextScriptEnd .rockettext - TX_FAR _SilphCo7Text_51e46 - db "@" + text_far _SilphCo7Text_51e46 + text_end .savedtext - TX_FAR _SilphCo7Text_51e4b - db "@" + text_far _SilphCo7Text_51e4b + text_end SilphCo7Text5: - TX_ASM + text_asm ld hl, SilphCo7TrainerHeader0 call TalkToTrainer jp TextScriptEnd SilphCo7BattleText1: - TX_FAR _SilphCo7BattleText1 - db "@" + text_far _SilphCo7BattleText1 + text_end SilphCo7EndBattleText1: - TX_FAR _SilphCo7EndBattleText1 - db "@" + text_far _SilphCo7EndBattleText1 + text_end SilphCo7AfterBattleText1: - TX_FAR _SilphCo7AfterBattleText1 - db "@" + text_far _SilphCo7AfterBattleText1 + text_end SilphCo7Text6: - TX_ASM + text_asm ld hl, SilphCo7TrainerHeader1 call TalkToTrainer jp TextScriptEnd SilphCo7BattleText2: - TX_FAR _SilphCo7BattleText2 - db "@" + text_far _SilphCo7BattleText2 + text_end SilphCo7EndBattleText2: - TX_FAR _SilphCo7EndBattleText2 - db "@" + text_far _SilphCo7EndBattleText2 + text_end SilphCo7AfterBattleText2: - TX_FAR _SilphCo7AfterBattleText2 - db "@" + text_far _SilphCo7AfterBattleText2 + text_end SilphCo7Text7: - TX_ASM + text_asm ld hl, SilphCo7TrainerHeader2 call TalkToTrainer jp TextScriptEnd SilphCo7BattleText3: - TX_FAR _SilphCo7BattleText3 - db "@" + text_far _SilphCo7BattleText3 + text_end SilphCo7EndBattleText3: - TX_FAR _SilphCo7EndBattleText3 - db "@" + text_far _SilphCo7EndBattleText3 + text_end SilphCo7AfterBattleText3: - TX_FAR _SilphCo7AfterBattleText3 - db "@" + text_far _SilphCo7AfterBattleText3 + text_end SilphCo7Text8: - TX_ASM + text_asm ld hl, SilphCo7TrainerHeader3 call TalkToTrainer jp TextScriptEnd SilphCo7BattleText4: - TX_FAR _SilphCo7BattleText4 - db "@" + text_far _SilphCo7BattleText4 + text_end SilphCo7EndBattleText4: - TX_FAR _SilphCo7EndBattleText4 - db "@" + text_far _SilphCo7EndBattleText4 + text_end SilphCo7AfterBattleText4: - TX_FAR _SilphCo7AfterBattleText4 - db "@" + text_far _SilphCo7AfterBattleText4 + text_end SilphCo7Text9: - TX_ASM + text_asm ld hl, SilphCo7Text_51ebe call PrintText jp TextScriptEnd SilphCo7Text_51ebe: - TX_FAR _SilphCo7Text_51ebe - db "@" + text_far _SilphCo7Text_51ebe + text_end SilphCo7Text13: - TX_FAR _SilphCo7Text_51ec3 - db "@" + text_far _SilphCo7Text_51ec3 + text_end SilphCo7Text14: - TX_FAR _SilphCo7Text_51ec8 - db "@" + text_far _SilphCo7Text_51ec8 + text_end SilphCo7Text_51ecd: - TX_FAR _SilphCo7Text_51ecd - db "@" + text_far _SilphCo7Text_51ecd + text_end SilphCo7Text15: - TX_FAR _SilphCo7Text_51ed2 - db "@" + text_far _SilphCo7Text_51ed2 + text_end diff --git a/scripts/SilphCo8F.asm b/scripts/SilphCo8F.asm index b1c32a34..71e529a6 100755 --- a/scripts/SilphCo8F.asm +++ b/scripts/SilphCo8F.asm @@ -111,7 +111,7 @@ SilphCo8TrainerHeader2: db $ff SilphCo8Text1: - TX_ASM + text_asm CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI ld hl, SilphCo8Text_565c3 jr nz, .asm_565b8 @@ -121,63 +121,63 @@ SilphCo8Text1: jp TextScriptEnd SilphCo8Text_565be: - TX_FAR _SilphCo8Text_565be - db "@" + text_far _SilphCo8Text_565be + text_end SilphCo8Text_565c3: - TX_FAR _SilphCo8Text_565c3 - db "@" + text_far _SilphCo8Text_565c3 + text_end SilphCo8Text2: - TX_ASM + text_asm ld hl, SilphCo8TrainerHeader0 call TalkToTrainer jp TextScriptEnd SilphCo8Text3: - TX_ASM + text_asm ld hl, SilphCo8TrainerHeader1 call TalkToTrainer jp TextScriptEnd SilphCo8Text4: - TX_ASM + text_asm ld hl, SilphCo8TrainerHeader2 call TalkToTrainer jp TextScriptEnd SilphCo8BattleText1: - TX_FAR _SilphCo8BattleText1 - db "@" + text_far _SilphCo8BattleText1 + text_end SilphCo8EndBattleText1: - TX_FAR _SilphCo8EndBattleText1 - db "@" + text_far _SilphCo8EndBattleText1 + text_end SilphCo8AfterBattleText1: - TX_FAR _SilphCo8AfterBattleText1 - db "@" + text_far _SilphCo8AfterBattleText1 + text_end SilphCo8BattleText2: - TX_FAR _SilphCo8BattleText2 - db "@" + text_far _SilphCo8BattleText2 + text_end SilphCo8EndBattleText2: - TX_FAR _SilphCo8EndBattleText2 - db "@" + text_far _SilphCo8EndBattleText2 + text_end SilphCo8AfterBattleText2: - TX_FAR _SilphCo8AfterBattleText2 - db "@" + text_far _SilphCo8AfterBattleText2 + text_end SilphCo8BattleText3: - TX_FAR _SilphCo8BattleText3 - db "@" + text_far _SilphCo8BattleText3 + text_end SilphCo8EndBattleText3: - TX_FAR _SilphCo8EndBattleText3 - db "@" + text_far _SilphCo8EndBattleText3 + text_end SilphCo8AfterBattleText3: - TX_FAR _SilphCo8AfterBattleText3 - db "@" + text_far _SilphCo8AfterBattleText3 + text_end diff --git a/scripts/SilphCo9F.asm b/scripts/SilphCo9F.asm index d9fdc625..e1676bf2 100755 --- a/scripts/SilphCo9F.asm +++ b/scripts/SilphCo9F.asm @@ -159,7 +159,7 @@ SilphCo9TrainerHeader2: db $ff SilphCo9Text1: - TX_ASM + text_asm CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI jr nz, .asm_5d8dc ld hl, SilphCo9Text_5d8e5 @@ -178,67 +178,67 @@ SilphCo9Text1: jp TextScriptEnd SilphCo9Text_5d8e5: - TX_FAR _SilphCo9Text_5d8e5 - db "@" + text_far _SilphCo9Text_5d8e5 + text_end SilphCo9Text_5d8ea: - TX_FAR _SilphCo9Text_5d8ea - db "@" + text_far _SilphCo9Text_5d8ea + text_end SilphCo9Text_5d8ef: - TX_FAR _SilphCo9Text_5d8ef - db "@" + text_far _SilphCo9Text_5d8ef + text_end SilphCo9Text2: - TX_ASM + text_asm ld hl, SilphCo9TrainerHeader0 call TalkToTrainer jp TextScriptEnd SilphCo9Text3: - TX_ASM + text_asm ld hl, SilphCo9TrainerHeader1 call TalkToTrainer jp TextScriptEnd SilphCo9Text4: - TX_ASM + text_asm ld hl, SilphCo9TrainerHeader2 call TalkToTrainer jp TextScriptEnd SilphCo9BattleText1: - TX_FAR _SilphCo9BattleText1 - db "@" + text_far _SilphCo9BattleText1 + text_end SilphCo9EndBattleText1: - TX_FAR _SilphCo9EndBattleText1 - db "@" + text_far _SilphCo9EndBattleText1 + text_end SilphCo9AfterBattleText1: - TX_FAR _SilphCo9AfterBattleText1 - db "@" + text_far _SilphCo9AfterBattleText1 + text_end SilphCo9BattleText2: - TX_FAR _SilphCo9BattleText2 - db "@" + text_far _SilphCo9BattleText2 + text_end SilphCo9EndBattleText2: - TX_FAR _SilphCo9EndBattleText2 - db "@" + text_far _SilphCo9EndBattleText2 + text_end SilphCo9AfterBattleText2: - TX_FAR _SilphCo9AfterBattleText2 - db "@" + text_far _SilphCo9AfterBattleText2 + text_end SilphCo9BattleText3: - TX_FAR _SilphCo9BattleText3 - db "@" + text_far _SilphCo9BattleText3 + text_end SilphCo9EndBattleText3: - TX_FAR _SilphCo9EndBattleText3 - db "@" + text_far _SilphCo9EndBattleText3 + text_end SilphCo9AfterBattleText3: - TX_FAR _SilphCo9AfterBattleText3 - db "@" + text_far _SilphCo9AfterBattleText3 + text_end diff --git a/scripts/SilphCoElevator.asm b/scripts/SilphCoElevator.asm index 49de6b27..3ff507c7 100755 --- a/scripts/SilphCoElevator.asm +++ b/scripts/SilphCoElevator.asm @@ -81,7 +81,7 @@ SilphCoElevator_TextPointers: dw SilphCoElevatorText1 SilphCoElevatorText1: - TX_ASM + text_asm call SilphCoElevatorScript_457f1 ld hl, SilphCoElevatorWarpMaps predef DisplayElevatorFloorMenu diff --git a/scripts/TradeCenter.asm b/scripts/TradeCenter.asm index 3201c8cd..3a1a10f3 100755 --- a/scripts/TradeCenter.asm +++ b/scripts/TradeCenter.asm @@ -34,5 +34,5 @@ TradeCenter_TextPointers: dw TradeCenterText1 TradeCenterText1: - TX_FAR _TradeCenterText1 - db "@" + text_far _TradeCenterText1 + text_end diff --git a/scripts/UndergroundPathNorthSouth.asm b/scripts/UndergroundPathNorthSouth.asm index 52b3d8bf..eb8fe4fd 100755 --- a/scripts/UndergroundPathNorthSouth.asm +++ b/scripts/UndergroundPathNorthSouth.asm @@ -2,4 +2,4 @@ UndergroundPathNorthSouth_Script: jp EnableAutoTextBoxDrawing UndergroundPathNorthSouth_TextPointers: - db "@" + text_end diff --git a/scripts/UndergroundPathRoute5.asm b/scripts/UndergroundPathRoute5.asm index 23d72569..1cb1f78a 100755 --- a/scripts/UndergroundPathRoute5.asm +++ b/scripts/UndergroundPathRoute5.asm @@ -3,16 +3,16 @@ UndergroundPathRoute5_Script: ld [wLastMap], a ret -UndergroundPathEntranceRoute5_5d6af: - db "@" +UndergroundPathEntranceRoute5_TextScriptEndingText: + text_end UndergroundPathRoute5_TextPointers: dw UndergroundPathEntranceRoute5Text1 UndergroundPathEntranceRoute5Text1: - TX_ASM + text_asm ld a, $9 ld [wWhichTrade], a predef DoInGameTradeDialogue - ld hl, UndergroundPathEntranceRoute5_5d6af + ld hl, UndergroundPathEntranceRoute5_TextScriptEndingText ret diff --git a/scripts/UndergroundPathRoute6.asm b/scripts/UndergroundPathRoute6.asm index 0a690518..e3994e33 100755 --- a/scripts/UndergroundPathRoute6.asm +++ b/scripts/UndergroundPathRoute6.asm @@ -7,5 +7,5 @@ UndergroundPathRoute6_TextPointers: dw UndergroundPathEntranceRoute6Text1 UndergroundPathEntranceRoute6Text1: - TX_FAR _UndergrdTunnelEntRoute6Text1 - db "@" + text_far _UndergrdTunnelEntRoute6Text1 + text_end diff --git a/scripts/UndergroundPathRoute7.asm b/scripts/UndergroundPathRoute7.asm index 3a1f14c7..c311b409 100755 --- a/scripts/UndergroundPathRoute7.asm +++ b/scripts/UndergroundPathRoute7.asm @@ -7,5 +7,5 @@ UndergroundPathRoute7_TextPointers: dw UndergroundPathEntranceRoute7Text1 UndergroundPathEntranceRoute7Text1: - TX_FAR _UndergroundPathEntRoute7Text1 - db "@" + text_far _UndergroundPathEntRoute7Text1 + text_end diff --git a/scripts/UndergroundPathRoute7Copy.asm b/scripts/UndergroundPathRoute7Copy.asm index 8a494caf..2eb74fce 100755 --- a/scripts/UndergroundPathRoute7Copy.asm +++ b/scripts/UndergroundPathRoute7Copy.asm @@ -8,17 +8,17 @@ UndergroundPathRoute7Copy_TextPointers: dw UGPathRoute7EntranceUnusedText_5d77d UGPathRoute7EntranceUnusedText_5d773: - TX_FAR _UGPathRoute7EntranceUnusedText_5d773 - db "@" + text_far _UGPathRoute7EntranceUnusedText_5d773 + text_end UGPathRoute7EntranceUnusedText_5d778: - TX_FAR _UGPathRoute7EntranceUnusedText_5d778 - db "@" + text_far _UGPathRoute7EntranceUnusedText_5d778 + text_end UGPathRoute7EntranceUnusedText_5d77d: - TX_FAR _UGPathRoute7EntranceUnusedText_5d77d - db "@" + text_far _UGPathRoute7EntranceUnusedText_5d77d + text_end UGPathRoute7EntranceUnusedText_5d782: - TX_FAR _UGPathRoute7EntranceUnusedText_5d782 - db "@" + text_far _UGPathRoute7EntranceUnusedText_5d782 + text_end diff --git a/scripts/UndergroundPathRoute8.asm b/scripts/UndergroundPathRoute8.asm index ab0a9977..6eab58c2 100755 --- a/scripts/UndergroundPathRoute8.asm +++ b/scripts/UndergroundPathRoute8.asm @@ -7,5 +7,5 @@ UndergroundPathRoute8_TextPointers: dw UndergroundPathEntranceRoute8Text1 UndergroundPathEntranceRoute8Text1: - TX_FAR _UndergroundPathEntRoute8Text1 - db "@" + text_far _UndergroundPathEntRoute8Text1 + text_end diff --git a/scripts/UndergroundPathWestEast.asm b/scripts/UndergroundPathWestEast.asm index cb1a7bd8..e21c3268 100755 --- a/scripts/UndergroundPathWestEast.asm +++ b/scripts/UndergroundPathWestEast.asm @@ -2,4 +2,4 @@ UndergroundPathWestEast_Script: jp EnableAutoTextBoxDrawing UndergroundPathWestEast_TextPointers: - db "@" + text_end diff --git a/scripts/VermilionCity.asm b/scripts/VermilionCity.asm index b253fea6..9f0e8139 100755 --- a/scripts/VermilionCity.asm +++ b/scripts/VermilionCity.asm @@ -129,11 +129,11 @@ VermilionCity_TextPointers: dw VermilionCityText13 VermilionCityText1: - TX_FAR _VermilionCityText1 - db "@" + text_far _VermilionCityText1 + text_end VermilionCityText2: - TX_ASM + text_asm CheckEvent EVENT_SS_ANNE_LEFT jr nz, .shipHasDeparted ld hl, VermilionCityTextDidYouSee @@ -146,15 +146,15 @@ VermilionCityText2: jp TextScriptEnd VermilionCityTextDidYouSee: - TX_FAR _VermilionCityTextDidYouSee - db "@" + text_far _VermilionCityTextDidYouSee + text_end VermilionCityTextSSAnneDeparted: - TX_FAR _VermilionCityTextSSAnneDeparted - db "@" + text_far _VermilionCityTextSSAnneDeparted + text_end VermilionCityText3: - TX_ASM + text_asm CheckEvent EVENT_SS_ANNE_LEFT jr nz, .shipHasDeparted ld a, [wSpriteStateData1 + 9] @@ -196,32 +196,32 @@ VermilionCityText3: db $ff SSAnneWelcomeText4: - TX_FAR _SSAnneWelcomeText4 - db "@" + text_far _SSAnneWelcomeText4 + text_end SSAnneWelcomeText9: - TX_FAR _SSAnneWelcomeText9 - db "@" + text_far _SSAnneWelcomeText9 + text_end SSAnneFlashedTicketText: - TX_FAR _SSAnneFlashedTicketText - db "@" + text_far _SSAnneFlashedTicketText + text_end SSAnneNoTicketText: - TX_FAR _SSAnneNoTicketText - db "@" + text_far _SSAnneNoTicketText + text_end SSAnneNotHereText: - TX_FAR _SSAnneNotHereText - db "@" + text_far _SSAnneNotHereText + text_end VermilionCityText4: - TX_FAR _VermilionCityText4 - db "@" + text_far _VermilionCityText4 + text_end VermilionCityText5: - TX_FAR _VermilionCityText5 - TX_ASM + text_far _VermilionCityText5 + text_asm ld a, MACHOP call PlayCry call WaitForSoundToFinish @@ -229,29 +229,29 @@ VermilionCityText5: ret VermilionCityText14: - TX_FAR _VermilionCityText14 - db "@" + text_far _VermilionCityText14 + text_end VermilionCityText6: - TX_FAR _VermilionCityText6 - db "@" + text_far _VermilionCityText6 + text_end VermilionCityText7: - TX_FAR _VermilionCityText7 - db "@" + text_far _VermilionCityText7 + text_end VermilionCityText8: - TX_FAR _VermilionCityText8 - db "@" + text_far _VermilionCityText8 + text_end VermilionCityText11: - TX_FAR _VermilionCityText11 - db "@" + text_far _VermilionCityText11 + text_end VermilionCityText12: - TX_FAR _VermilionCityText12 - db "@" + text_far _VermilionCityText12 + text_end VermilionCityText13: - TX_FAR _VermilionCityText13 - db "@" + text_far _VermilionCityText13 + text_end diff --git a/scripts/VermilionDock.asm b/scripts/VermilionDock.asm index 90fef6b2..3f520cfb 100755 --- a/scripts/VermilionDock.asm +++ b/scripts/VermilionDock.asm @@ -211,5 +211,5 @@ VermilionDock_TextPointers: dw VermilionDockText1 VermilionDockText1: - TX_FAR _VermilionDockText1 - db "@" + text_far _VermilionDockText1 + text_end diff --git a/scripts/VermilionGym.asm b/scripts/VermilionGym.asm index 1569fb55..cea7e3ec 100755 --- a/scripts/VermilionGym.asm +++ b/scripts/VermilionGym.asm @@ -129,7 +129,7 @@ VermilionGymTrainerHeader2: db $ff LTSurgeText: - TX_ASM + text_asm CheckEvent EVENT_BEAT_LT_SURGE jr z, .beforeBeat CheckEventReuseA EVENT_GOT_TM24 @@ -165,87 +165,87 @@ LTSurgeText: jp TextScriptEnd LTSurgePreBattleText: - TX_FAR _LTSurgePreBattleText - db "@" + text_far _LTSurgePreBattleText + text_end LTSurgePostBattleAdviceText: - TX_FAR _LTSurgePostBattleAdviceText - db "@" + text_far _LTSurgePostBattleAdviceText + text_end LTSurgeThunderbadgeInfoText: - TX_FAR _LTSurgeThunderbadgeInfoText - db "@" + text_far _LTSurgeThunderbadgeInfoText + text_end ReceivedTM24Text: - TX_FAR _ReceivedTM24Text - TX_SFX_KEY_ITEM - TX_FAR _TM24ExplanationText - db "@" + text_far _ReceivedTM24Text + sound_get_key_item + text_far _TM24ExplanationText + text_end TM24NoRoomText: - TX_FAR _TM24NoRoomText - db "@" + text_far _TM24NoRoomText + text_end ReceivedThunderbadgeText: - TX_FAR _ReceivedThunderbadgeText - db "@" + text_far _ReceivedThunderbadgeText + text_end VermilionGymTrainerText1: - TX_ASM + text_asm ld hl, VermilionGymTrainerHeader0 call TalkToTrainer jp TextScriptEnd VermilionGymBattleText1: - TX_FAR _VermilionGymBattleText1 - db "@" + text_far _VermilionGymBattleText1 + text_end VermilionGymEndBattleText1: - TX_FAR _VermilionGymEndBattleText1 - db "@" + text_far _VermilionGymEndBattleText1 + text_end VermilionGymAfterBattleText1: - TX_FAR _VermilionGymAfterBattleText1 - db "@" + text_far _VermilionGymAfterBattleText1 + text_end VermilionGymTrainerText2: - TX_ASM + text_asm ld hl, VermilionGymTrainerHeader1 call TalkToTrainer jp TextScriptEnd VermilionGymBattleText2: - TX_FAR _VermilionGymBattleText2 - db "@" + text_far _VermilionGymBattleText2 + text_end VermilionGymEndBattleText2: - TX_FAR _VermilionGymEndBattleText2 - db "@" + text_far _VermilionGymEndBattleText2 + text_end VermilionGymAfterBattleText2: - TX_FAR _VermilionGymAfterBattleText2 - db "@" + text_far _VermilionGymAfterBattleText2 + text_end VermilionGymTrainerText3: - TX_ASM + text_asm ld hl, VermilionGymTrainerHeader2 call TalkToTrainer jp TextScriptEnd VermilionGymBattleText3: - TX_FAR _VermilionGymBattleText3 - db "@" + text_far _VermilionGymBattleText3 + text_end VermilionGymEndBattleText3: - TX_FAR _VermilionGymEndBattleText3 - db "@" + text_far _VermilionGymEndBattleText3 + text_end VermilionGymAfterBattleText3: - TX_FAR _VermilionGymAfterBattleText3 - db "@" + text_far _VermilionGymAfterBattleText3 + text_end VermilionGymFanText: - TX_ASM + text_asm ld a, [wBeatGymFlags] bit 2, a jr nz, .afterBeat @@ -259,9 +259,9 @@ VermilionGymFanText: jp TextScriptEnd VermilionGymFanPreBattleText: - TX_FAR _VermilionGymFanPreBattleText - db "@" + text_far _VermilionGymFanPreBattleText + text_end VermilionGymFanPostBattleText: - TX_FAR _VermilionGymFanPostBattleText - db "@" + text_far _VermilionGymFanPostBattleText + text_end diff --git a/scripts/VermilionMart.asm b/scripts/VermilionMart.asm index 00ba0c26..88a632c8 100755 --- a/scripts/VermilionMart.asm +++ b/scripts/VermilionMart.asm @@ -7,9 +7,9 @@ VermilionMart_TextPointers: dw VermilionMartText3 VermilionMartText2: - TX_FAR _VermilionMartText2 - db "@" + text_far _VermilionMartText2 + text_end VermilionMartText3: - TX_FAR _VermilionMartText3 - db "@" + text_far _VermilionMartText3 + text_end diff --git a/scripts/VermilionOldRodHouse.asm b/scripts/VermilionOldRodHouse.asm index 772158ff..5305820d 100755 --- a/scripts/VermilionOldRodHouse.asm +++ b/scripts/VermilionOldRodHouse.asm @@ -5,7 +5,7 @@ VermilionOldRodHouse_TextPointers: dw VermilionHouse2Text1 VermilionHouse2Text1: - TX_ASM + text_asm ld a, [wd728] bit 3, a jr nz, .asm_03ef5 @@ -35,23 +35,23 @@ VermilionHouse2Text1: jp TextScriptEnd VermilionHouse2Text_560b1: - TX_FAR _VermilionHouse2Text_560b1 - db "@" + text_far _VermilionHouse2Text_560b1 + text_end VermilionHouse2Text_560b6: - TX_FAR _VermilionHouse2Text_560b6 - TX_SFX_ITEM_1 - TX_FAR _VermilionHouse2Text_560bb - db "@" + text_far _VermilionHouse2Text_560b6 + sound_get_item_1 + text_far _VermilionHouse2Text_560bb + text_end VermilionHouse2Text_560c0: - TX_FAR _VermilionHouse2Text_560c0 - db "@" + text_far _VermilionHouse2Text_560c0 + text_end VermilionHouse2Text_560c5: - TX_FAR _VermilionHouse2Text_560c5 - db "@" + text_far _VermilionHouse2Text_560c5 + text_end VermilionHouse2Text_560ca: - TX_FAR _VermilionHouse2Text_560ca - db "@" + text_far _VermilionHouse2Text_560ca + text_end diff --git a/scripts/VermilionPidgeyHouse.asm b/scripts/VermilionPidgeyHouse.asm index 5004d367..fef476d5 100755 --- a/scripts/VermilionPidgeyHouse.asm +++ b/scripts/VermilionPidgeyHouse.asm @@ -8,17 +8,17 @@ VermilionPidgeyHouse_TextPointers: dw VermilionHouse1Text3 VermilionHouse1Text1: - TX_FAR _VermilionHouse1Text1 - db "@" + text_far _VermilionHouse1Text1 + text_end VermilionHouse1Text2: - TX_FAR _VermilionHouse1Text2 - TX_ASM + text_far _VermilionHouse1Text2 + text_asm ld a, PIDGEY call PlayCry call WaitForSoundToFinish jp TextScriptEnd VermilionHouse1Text3: - TX_FAR _VermilionHouse1Text3 - db "@" + text_far _VermilionHouse1Text3 + text_end diff --git a/scripts/VermilionPokecenter.asm b/scripts/VermilionPokecenter.asm index 60b28c57..65b5a3df 100755 --- a/scripts/VermilionPokecenter.asm +++ b/scripts/VermilionPokecenter.asm @@ -9,15 +9,15 @@ VermilionPokecenter_TextPointers: dw VermilionTradeNurseText VermilionHealNurseText: - TX_POKECENTER_NURSE + script_pokecenter_nurse VermilionPokecenterText2: - TX_FAR _VermilionPokecenterText2 - db "@" + text_far _VermilionPokecenterText2 + text_end VermilionPokecenterText3: - TX_FAR _VermilionPokecenterText3 - db "@" + text_far _VermilionPokecenterText3 + text_end VermilionTradeNurseText: - TX_CABLE_CLUB_RECEPTIONIST + script_cable_club_receptionist diff --git a/scripts/VermilionTradeHouse.asm b/scripts/VermilionTradeHouse.asm index 828e3716..368654d9 100755 --- a/scripts/VermilionTradeHouse.asm +++ b/scripts/VermilionTradeHouse.asm @@ -5,7 +5,7 @@ VermilionTradeHouse_TextPointers: dw VermilionHouse3Text1 VermilionHouse3Text1: - TX_ASM + text_asm ld a, $4 ld [wWhichTrade], a predef DoInGameTradeDialogue diff --git a/scripts/VictoryRoad1F.asm b/scripts/VictoryRoad1F.asm index 0a2588a7..afff8ca5 100755 --- a/scripts/VictoryRoad1F.asm +++ b/scripts/VictoryRoad1F.asm @@ -67,37 +67,37 @@ VictoryRoad1TrainerHeader1: db $ff VictoryRoad1Text1: - TX_ASM + text_asm ld hl, VictoryRoad1TrainerHeader0 call TalkToTrainer jp TextScriptEnd VictoryRoad1Text2: - TX_ASM + text_asm ld hl, VictoryRoad1TrainerHeader1 call TalkToTrainer jp TextScriptEnd VictoryRoad1BattleText1: - TX_FAR _VictoryRoad1BattleText1 - db "@" + text_far _VictoryRoad1BattleText1 + text_end VictoryRoad1EndBattleText1: - TX_FAR _VictoryRoad1EndBattleText1 - db "@" + text_far _VictoryRoad1EndBattleText1 + text_end VictoryRoad1AfterBattleText1: - TX_FAR _VictoryRoad1AfterBattleText1 - db "@" + text_far _VictoryRoad1AfterBattleText1 + text_end VictoryRoad1BattleText2: - TX_FAR _VictoryRoad1BattleText2 - db "@" + text_far _VictoryRoad1BattleText2 + text_end VictoryRoad1EndBattleText2: - TX_FAR _VictoryRoad1EndBattleText2 - db "@" + text_far _VictoryRoad1EndBattleText2 + text_end VictoryRoad1AfterBattleText2: - TX_FAR _VictoryRoad1AfterBattleText2 - db "@" + text_far _VictoryRoad1AfterBattleText2 + text_end diff --git a/scripts/VictoryRoad2F.asm b/scripts/VictoryRoad2F.asm index 9dfb05ed..e4814f4e 100755 --- a/scripts/VictoryRoad2F.asm +++ b/scripts/VictoryRoad2F.asm @@ -140,105 +140,105 @@ MoltresTrainerHeader: db $ff VictoryRoad2Text1: - TX_ASM + text_asm ld hl, VictoryRoad2TrainerHeader0 call TalkToTrainer jp TextScriptEnd VictoryRoad2Text2: - TX_ASM + text_asm ld hl, VictoryRoad2TrainerHeader1 call TalkToTrainer jp TextScriptEnd VictoryRoad2Text3: - TX_ASM + text_asm ld hl, VictoryRoad2TrainerHeader2 call TalkToTrainer jp TextScriptEnd VictoryRoad2Text4: - TX_ASM + text_asm ld hl, VictoryRoad2TrainerHeader3 call TalkToTrainer jp TextScriptEnd VictoryRoad2Text5: - TX_ASM + text_asm ld hl, VictoryRoad2TrainerHeader4 call TalkToTrainer jp TextScriptEnd MoltresText: - TX_ASM + text_asm ld hl, MoltresTrainerHeader call TalkToTrainer jp TextScriptEnd MoltresBattleText: - TX_FAR _MoltresBattleText - TX_ASM + text_far _MoltresBattleText + text_asm ld a, MOLTRES call PlayCry call WaitForSoundToFinish jp TextScriptEnd VictoryRoad2BattleText1: - TX_FAR _VictoryRoad2BattleText1 - db "@" + text_far _VictoryRoad2BattleText1 + text_end VictoryRoad2EndBattleText1: - TX_FAR _VictoryRoad2EndBattleText1 - db "@" + text_far _VictoryRoad2EndBattleText1 + text_end VictoryRoad2AfterBattleText1: - TX_FAR _VictoryRoad2AfterBattleText1 - db "@" + text_far _VictoryRoad2AfterBattleText1 + text_end VictoryRoad2BattleText2: - TX_FAR _VictoryRoad2BattleText2 - db "@" + text_far _VictoryRoad2BattleText2 + text_end VictoryRoad2EndBattleText2: - TX_FAR _VictoryRoad2EndBattleText2 - db "@" + text_far _VictoryRoad2EndBattleText2 + text_end VictoryRoad2AfterBattleText2: - TX_FAR _VictoryRoad2AfterBattleText2 - db "@" + text_far _VictoryRoad2AfterBattleText2 + text_end VictoryRoad2BattleText3: - TX_FAR _VictoryRoad2BattleText3 - db "@" + text_far _VictoryRoad2BattleText3 + text_end VictoryRoad2EndBattleText3: - TX_FAR _VictoryRoad2EndBattleText3 - db "@" + text_far _VictoryRoad2EndBattleText3 + text_end VictoryRoad2AfterBattleText3: - TX_FAR _VictoryRoad2AfterBattleText3 - db "@" + text_far _VictoryRoad2AfterBattleText3 + text_end VictoryRoad2BattleText4: - TX_FAR _VictoryRoad2BattleText4 - db "@" + text_far _VictoryRoad2BattleText4 + text_end VictoryRoad2EndBattleText4: - TX_FAR _VictoryRoad2EndBattleText4 - db "@" + text_far _VictoryRoad2EndBattleText4 + text_end VictoryRoad2AfterBattleText4: - TX_FAR _VictoryRoad2AfterBattleText4 - db "@" + text_far _VictoryRoad2AfterBattleText4 + text_end VictoryRoad2BattleText5: - TX_FAR _VictoryRoad2BattleText5 - db "@" + text_far _VictoryRoad2BattleText5 + text_end VictoryRoad2EndBattleText5: - TX_FAR _VictoryRoad2EndBattleText5 - db "@" + text_far _VictoryRoad2EndBattleText5 + text_end VictoryRoad2AfterBattleText5: - TX_FAR _VictoryRoad2AfterBattleText5 - db "@" + text_far _VictoryRoad2AfterBattleText5 + text_end diff --git a/scripts/VictoryRoad3F.asm b/scripts/VictoryRoad3F.asm index d145c4a1..7ca6dbcb 100755 --- a/scripts/VictoryRoad3F.asm +++ b/scripts/VictoryRoad3F.asm @@ -125,73 +125,73 @@ VictoryRoad3TrainerHeader3: db $ff VictoryRoad3Text1: - TX_ASM + text_asm ld hl, VictoryRoad3TrainerHeader0 call TalkToTrainer jp TextScriptEnd VictoryRoad3Text2: - TX_ASM + text_asm ld hl, VictoryRoad3TrainerHeader1 call TalkToTrainer jp TextScriptEnd VictoryRoad3Text3: - TX_ASM + text_asm ld hl, VictoryRoad3TrainerHeader2 call TalkToTrainer jp TextScriptEnd VictoryRoad3Text4: - TX_ASM + text_asm ld hl, VictoryRoad3TrainerHeader3 call TalkToTrainer jp TextScriptEnd VictoryRoad3BattleText2: - TX_FAR _VictoryRoad3BattleText2 - db "@" + text_far _VictoryRoad3BattleText2 + text_end VictoryRoad3EndBattleText2: - TX_FAR _VictoryRoad3EndBattleText2 - db "@" + text_far _VictoryRoad3EndBattleText2 + text_end VictoryRoad3AfterBattleText2: - TX_FAR _VictoryRoad3AfterBattleText2 - db "@" + text_far _VictoryRoad3AfterBattleText2 + text_end VictoryRoad3BattleText3: - TX_FAR _VictoryRoad3BattleText3 - db "@" + text_far _VictoryRoad3BattleText3 + text_end VictoryRoad3EndBattleText3: - TX_FAR _VictoryRoad3EndBattleText3 - db "@" + text_far _VictoryRoad3EndBattleText3 + text_end VictoryRoad3AfterBattleText3: - TX_FAR _VictoryRoad3AfterBattleText3 - db "@" + text_far _VictoryRoad3AfterBattleText3 + text_end VictoryRoad3BattleText4: - TX_FAR _VictoryRoad3BattleText4 - db "@" + text_far _VictoryRoad3BattleText4 + text_end VictoryRoad3EndBattleText4: - TX_FAR _VictoryRoad3EndBattleText4 - db "@" + text_far _VictoryRoad3EndBattleText4 + text_end VictoryRoad3AfterBattleText4: - TX_FAR _VictoryRoad3AfterBattleText4 - db "@" + text_far _VictoryRoad3AfterBattleText4 + text_end VictoryRoad3BattleText5: - TX_FAR _VictoryRoad3BattleText5 - db "@" + text_far _VictoryRoad3BattleText5 + text_end VictoryRoad3EndBattleText5: - TX_FAR _VictoryRoad3EndBattleText5 - db "@" + text_far _VictoryRoad3EndBattleText5 + text_end VictoryRoad3AfterBattleText5: - TX_FAR _VictoryRoad3AfterBattleText5 - db "@" + text_far _VictoryRoad3AfterBattleText5 + text_end diff --git a/scripts/ViridianCity.asm b/scripts/ViridianCity.asm index c3eb9a79..7c4d9c97 100755 --- a/scripts/ViridianCity.asm +++ b/scripts/ViridianCity.asm @@ -142,11 +142,11 @@ ViridianCity_TextPointers: dw ViridianCityText15 ViridianCityText1: - TX_FAR _ViridianCityText1 - db "@" + text_far _ViridianCityText1 + text_end ViridianCityText2: - TX_ASM + text_asm ld a, [wObtainedBadges] cp %01111111 ld hl, ViridianCityText_19127 @@ -159,15 +159,15 @@ ViridianCityText2: jp TextScriptEnd ViridianCityText_19122: - TX_FAR _ViridianCityText_19122 - db "@" + text_far _ViridianCityText_19122 + text_end ViridianCityText_19127: - TX_FAR _ViridianCityText_19127 - db "@" + text_far _ViridianCityText_19127 + text_end ViridianCityText3: - TX_ASM + text_asm ld hl, ViridianCityText_1914d call PrintText call YesNoChoice @@ -184,19 +184,19 @@ ViridianCityText3: jp TextScriptEnd ViridianCityText_1914d: - TX_FAR _ViridianCityText_1914d - db "@" + text_far _ViridianCityText_1914d + text_end ViridianCityText_19152: - TX_FAR _ViridianCityText_19152 - db "@" + text_far _ViridianCityText_19152 + text_end ViridianCityText_19157: - TX_FAR _ViridianCityText_19157 - db "@" + text_far _ViridianCityText_19157 + text_end ViridianCityText4: - TX_ASM + text_asm CheckEvent EVENT_GOT_POKEDEX jr nz, .gotPokedex ld hl, ViridianCityText_19175 @@ -209,15 +209,15 @@ ViridianCityText4: jp TextScriptEnd ViridianCityText_19175: - TX_FAR _ViridianCityText_19175 - db "@" + text_far _ViridianCityText_19175 + text_end ViridianCityText_1917a: - TX_FAR _ViridianCityText_1917a - db "@" + text_far _ViridianCityText_1917a + text_end ViridianCityText5: - TX_ASM + text_asm ld hl, ViridianCityText_19191 call PrintText call ViridianCityScript_190cf @@ -226,11 +226,11 @@ ViridianCityText5: jp TextScriptEnd ViridianCityText_19191: - TX_FAR _ViridianCityText_19191 - db "@" + text_far _ViridianCityText_19191 + text_end ViridianCityText6: - TX_ASM + text_asm CheckEvent EVENT_GOT_TM42 jr nz, .gotTm42 ld hl, ViridianCityText_191ca @@ -253,24 +253,24 @@ ViridianCityText6: jp TextScriptEnd ViridianCityText_191ca: - TX_FAR _ViridianCityText_191ca - db "@" + text_far _ViridianCityText_191ca + text_end ReceivedTM42Text: - TX_FAR _ReceivedTM42Text - TX_SFX_ITEM_2 - db "@" + text_far _ReceivedTM42Text + sound_get_item_2 + text_end TM42Explanation: - TX_FAR _TM42Explanation - db "@" + text_far _TM42Explanation + text_end TM42NoRoomText: - TX_FAR _TM42NoRoomText - db "@" + text_far _TM42NoRoomText + text_end ViridianCityText7: - TX_ASM + text_asm ld hl, ViridianCityText_1920a call PrintText ld c, 2 @@ -291,37 +291,37 @@ ViridianCityText7: jp TextScriptEnd ViridianCityText_1920a: - TX_FAR _ViridianCityText_1920a - db "@" + text_far _ViridianCityText_1920a + text_end ViridianCityText_1920f: - TX_FAR _ViridianCityText_1920f - db "@" + text_far _ViridianCityText_1920f + text_end ViridianCityText_19214: - TX_FAR _ViridianCityText_19214 - db "@" + text_far _ViridianCityText_19214 + text_end ViridianCityText15: - TX_FAR _ViridianCityText_19219 - db "@" + text_far _ViridianCityText_19219 + text_end ViridianCityText8: - TX_FAR _ViridianCityText8 - db "@" + text_far _ViridianCityText8 + text_end ViridianCityText9: - TX_FAR _ViridianCityText9 - db "@" + text_far _ViridianCityText9 + text_end ViridianCityText10: - TX_FAR _ViridianCityText10 - db "@" + text_far _ViridianCityText10 + text_end ViridianCityText13: - TX_FAR _ViridianCityText13 - db "@" + text_far _ViridianCityText13 + text_end ViridianCityText14: - TX_FAR _ViridianCityText14 - db "@" + text_far _ViridianCityText14 + text_end diff --git a/scripts/ViridianForest.asm b/scripts/ViridianForest.asm index acd26b8a..0bbbbd59 100755 --- a/scripts/ViridianForest.asm +++ b/scripts/ViridianForest.asm @@ -58,87 +58,87 @@ ViridianForestTrainerHeader2: db $ff ViridianForestText1: - TX_FAR _ViridianForestText1 - db "@" + text_far _ViridianForestText1 + text_end ViridianForestText2: - TX_ASM + text_asm ld hl, ViridianForestTrainerHeader0 call TalkToTrainer jp TextScriptEnd ViridianForestText3: - TX_ASM + text_asm ld hl, ViridianForestTrainerHeader1 call TalkToTrainer jp TextScriptEnd ViridianForestText4: - TX_ASM + text_asm ld hl, ViridianForestTrainerHeader2 call TalkToTrainer jp TextScriptEnd ViridianForestBattleText1: - TX_FAR _ViridianForestBattleText1 - db "@" + text_far _ViridianForestBattleText1 + text_end ViridianForestEndBattleText1: - TX_FAR _ViridianForestEndBattleText1 - db "@" + text_far _ViridianForestEndBattleText1 + text_end ViridianForestAfterBattleText1: - TX_FAR _ViridianFrstAfterBattleText1 - db "@" + text_far _ViridianFrstAfterBattleText1 + text_end ViridianForestBattleText2: - TX_FAR _ViridianForestBattleText2 - db "@" + text_far _ViridianForestBattleText2 + text_end ViridianForestEndBattleText2: - TX_FAR _ViridianForestEndBattleText2 - db "@" + text_far _ViridianForestEndBattleText2 + text_end ViridianForestAfterBattleText2: - TX_FAR _ViridianFrstAfterBattleText2 - db "@" + text_far _ViridianFrstAfterBattleText2 + text_end ViridianForestBattleText3: - TX_FAR _ViridianForestBattleText3 - db "@" + text_far _ViridianForestBattleText3 + text_end ViridianForestEndBattleText3: - TX_FAR _ViridianForestEndBattleText3 - db "@" + text_far _ViridianForestEndBattleText3 + text_end ViridianForestAfterBattleText3: - TX_FAR _ViridianFrstAfterBattleText3 - db "@" + text_far _ViridianFrstAfterBattleText3 + text_end ViridianForestText8: - TX_FAR _ViridianForestText8 - db "@" + text_far _ViridianForestText8 + text_end ViridianForestText9: - TX_FAR _ViridianForestText9 - db "@" + text_far _ViridianForestText9 + text_end ViridianForestText10: - TX_FAR _ViridianForestText10 - db "@" + text_far _ViridianForestText10 + text_end ViridianForestText11: - TX_FAR _ViridianForestText11 - db "@" + text_far _ViridianForestText11 + text_end ViridianForestText12: - TX_FAR _ViridianForestText12 - db "@" + text_far _ViridianForestText12 + text_end ViridianForestText13: - TX_FAR _ViridianForestText13 - db "@" + text_far _ViridianForestText13 + text_end ViridianForestText14: - TX_FAR _ViridianForestText14 - db "@" + text_far _ViridianForestText14 + text_end diff --git a/scripts/ViridianForestNorthGate.asm b/scripts/ViridianForestNorthGate.asm index e421bf5b..6aef26d3 100755 --- a/scripts/ViridianForestNorthGate.asm +++ b/scripts/ViridianForestNorthGate.asm @@ -6,9 +6,9 @@ ViridianForestNorthGate_TextPointers: dw ViridianForestExitText2 ViridianForestExitText1: - TX_FAR _ViridianForestExitText1 - db "@" + text_far _ViridianForestExitText1 + text_end ViridianForestExitText2: - TX_FAR _ViridianForestExitText2 - db "@" + text_far _ViridianForestExitText2 + text_end diff --git a/scripts/ViridianForestSouthGate.asm b/scripts/ViridianForestSouthGate.asm index 397f0eca..996ac2ae 100755 --- a/scripts/ViridianForestSouthGate.asm +++ b/scripts/ViridianForestSouthGate.asm @@ -6,9 +6,9 @@ ViridianForestSouthGate_TextPointers: dw ViridianForestEntranceText2 ViridianForestEntranceText1: - TX_FAR _ViridianForestEntranceText1 - db "@" + text_far _ViridianForestEntranceText1 + text_end ViridianForestEntranceText2: - TX_FAR _ViridianForestEntranceText2 - db "@" + text_far _ViridianForestEntranceText2 + text_end diff --git a/scripts/ViridianGym.asm b/scripts/ViridianGym.asm index 40e6a57f..77ef4491 100755 --- a/scripts/ViridianGym.asm +++ b/scripts/ViridianGym.asm @@ -259,7 +259,7 @@ ViridianGymTrainerHeader7: db $ff ViridianGymText1: - TX_ASM + text_asm CheckEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI jr z, .beginBattle CheckEventReuseA EVENT_GOT_TM27 @@ -301,181 +301,181 @@ ViridianGymText1: jp TextScriptEnd ViridianGymText_74ace: - TX_FAR _ViridianGymText_74ace - db "@" + text_far _ViridianGymText_74ace + text_end ViridianGymText_74ad3: - TX_FAR _ViridianGymText_74ad3 - TX_SFX_LEVEL_UP ; probably supposed to play SFX_GET_ITEM_1 but the wrong music bank is loaded - db "@" + text_far _ViridianGymText_74ad3 + sound_level_up ; probably supposed to play SFX_GET_ITEM_1 but the wrong music bank is loaded + text_end ViridianGymText_74ad9: - TX_FAR _ViridianGymText_74ad9 - TX_WAIT - db "@" + text_far _ViridianGymText_74ad9 + text_linkpromptbutton + text_end ViridianGymText12: - TX_FAR _ViridianGymText12 - db "@" + text_far _ViridianGymText12 + text_end ViridianGymText13: - TX_FAR _ReceivedTM27Text - TX_SFX_ITEM_1 + text_far _ReceivedTM27Text + sound_get_item_1 TM27ExplanationText: - TX_FAR _TM27ExplanationText - db "@" + text_far _TM27ExplanationText + text_end ViridianGymText14: - TX_FAR _TM27NoRoomText - db "@" + text_far _TM27NoRoomText + text_end ViridianGymText2: - TX_ASM + text_asm ld hl, ViridianGymTrainerHeader0 call TalkToTrainer jp TextScriptEnd ViridianGymBattleText1: - TX_FAR _ViridianGymBattleText1 - db "@" + text_far _ViridianGymBattleText1 + text_end ViridianGymEndBattleText1: - TX_FAR _ViridianGymEndBattleText1 - db "@" + text_far _ViridianGymEndBattleText1 + text_end ViridianGymAfterBattleText1: - TX_FAR _ViridianGymAfterBattleText1 - db "@" + text_far _ViridianGymAfterBattleText1 + text_end ViridianGymText3: - TX_ASM + text_asm ld hl, ViridianGymTrainerHeader1 call TalkToTrainer jp TextScriptEnd ViridianGymBattleText2: - TX_FAR _ViridianGymBattleText2 - db "@" + text_far _ViridianGymBattleText2 + text_end ViridianGymEndBattleText2: - TX_FAR _ViridianGymEndBattleText2 - db "@" + text_far _ViridianGymEndBattleText2 + text_end ViridianGymAfterBattleText2: - TX_FAR _ViridianGymAfterBattleText2 - db "@" + text_far _ViridianGymAfterBattleText2 + text_end ViridianGymText4: - TX_ASM + text_asm ld hl, ViridianGymTrainerHeader2 call TalkToTrainer jp TextScriptEnd ViridianGymBattleText3: - TX_FAR _ViridianGymBattleText3 - db "@" + text_far _ViridianGymBattleText3 + text_end ViridianGymEndBattleText3: - TX_FAR _ViridianGymEndBattleText3 - db "@" + text_far _ViridianGymEndBattleText3 + text_end ViridianGymAfterBattleText3: - TX_FAR _ViridianGymAfterBattleText3 - db "@" + text_far _ViridianGymAfterBattleText3 + text_end ViridianGymText5: - TX_ASM + text_asm ld hl, ViridianGymTrainerHeader3 call TalkToTrainer jp TextScriptEnd ViridianGymBattleText4: - TX_FAR _ViridianGymBattleText4 - db "@" + text_far _ViridianGymBattleText4 + text_end ViridianGymEndBattleText4: - TX_FAR _ViridianGymEndBattleText4 - db "@" + text_far _ViridianGymEndBattleText4 + text_end ViridianGymAfterBattleText4: - TX_FAR _ViridianGymAfterBattleText4 - db "@" + text_far _ViridianGymAfterBattleText4 + text_end ViridianGymText6: - TX_ASM + text_asm ld hl, ViridianGymTrainerHeader4 call TalkToTrainer jp TextScriptEnd ViridianGymBattleText5: - TX_FAR _ViridianGymBattleText5 - db "@" + text_far _ViridianGymBattleText5 + text_end ViridianGymEndBattleText5: - TX_FAR _ViridianGymEndBattleText5 - db "@" + text_far _ViridianGymEndBattleText5 + text_end ViridianGymAfterBattleText5: - TX_FAR _ViridianGymAfterBattleText5 - db "@" + text_far _ViridianGymAfterBattleText5 + text_end ViridianGymText7: - TX_ASM + text_asm ld hl, ViridianGymTrainerHeader5 call TalkToTrainer jp TextScriptEnd ViridianGymBattleText6: - TX_FAR _ViridianGymBattleText6 - db "@" + text_far _ViridianGymBattleText6 + text_end ViridianGymEndBattleText6: - TX_FAR _ViridianGymEndBattleText6 - db "@" + text_far _ViridianGymEndBattleText6 + text_end ViridianGymAfterBattleText6: - TX_FAR _ViridianGymAfterBattleText6 - db "@" + text_far _ViridianGymAfterBattleText6 + text_end ViridianGymText8: - TX_ASM + text_asm ld hl, ViridianGymTrainerHeader6 call TalkToTrainer jp TextScriptEnd ViridianGymBattleText7: - TX_FAR _ViridianGymBattleText7 - db "@" + text_far _ViridianGymBattleText7 + text_end ViridianGymEndBattleText7: - TX_FAR _ViridianGymEndBattleText7 - db "@" + text_far _ViridianGymEndBattleText7 + text_end ViridianGymAfterBattleText7: - TX_FAR _ViridianGymAfterBattleText7 - db "@" + text_far _ViridianGymAfterBattleText7 + text_end ViridianGymText9: - TX_ASM + text_asm ld hl, ViridianGymTrainerHeader7 call TalkToTrainer jp TextScriptEnd ViridianGymBattleText8: - TX_FAR _ViridianGymBattleText8 - db "@" + text_far _ViridianGymBattleText8 + text_end ViridianGymEndBattleText8: - TX_FAR _ViridianGymEndBattleText8 - db "@" + text_far _ViridianGymEndBattleText8 + text_end ViridianGymAfterBattleText8: - TX_FAR _ViridianGymAfterBattleText8 - db "@" + text_far _ViridianGymAfterBattleText8 + text_end ViridianGymText10: - TX_ASM + text_asm CheckEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI jr nz, .asm_1abd1 ld hl, ViridianGymText_74bd4 @@ -488,9 +488,9 @@ ViridianGymText10: jp TextScriptEnd ViridianGymText_74bd4: - TX_FAR _ViridianGymText_74bd4 - db "@" + text_far _ViridianGymText_74bd4 + text_end ViridianGymText_74bd9: - TX_FAR _ViridianGymText_74bd9 - db "@" + text_far _ViridianGymText_74bd9 + text_end diff --git a/scripts/ViridianMart.asm b/scripts/ViridianMart.asm index b90d331c..09ddfda9 100755 --- a/scripts/ViridianMart.asm +++ b/scripts/ViridianMart.asm @@ -73,22 +73,22 @@ ViridianMart_TextPointers2: dw ViridianMartText3 ViridianMartText1: - TX_FAR _ViridianMartText1 - db "@" + text_far _ViridianMartText1 + text_end ViridianMartText4: - TX_FAR _ViridianMartText4 - db "@" + text_far _ViridianMartText4 + text_end ViridianMartText5: - TX_FAR ViridianMartParcelQuestText - TX_SFX_KEY_ITEM - db "@" + text_far ViridianMartParcelQuestText + sound_get_key_item + text_end ViridianMartText2: - TX_FAR _ViridianMartText2 - db "@" + text_far _ViridianMartText2 + text_end ViridianMartText3: - TX_FAR _ViridianMartText3 - db "@" + text_far _ViridianMartText3 + text_end diff --git a/scripts/ViridianNicknameHouse.asm b/scripts/ViridianNicknameHouse.asm index 000fe82b..df7482c2 100755 --- a/scripts/ViridianNicknameHouse.asm +++ b/scripts/ViridianNicknameHouse.asm @@ -8,15 +8,15 @@ ViridianNicknameHouse_TextPointers: dw ViridianHouseText4 ViridianHouseText1: - TX_FAR _ViridianHouseText1 - db "@" + text_far _ViridianHouseText1 + text_end ViridianHouseText2: - TX_FAR _ViridianHouseText2 - db "@" + text_far _ViridianHouseText2 + text_end ViridianHouseText3: - TX_ASM + text_asm ld hl, ViridianHouseText_1d5b1 call PrintText ld a, SPEAROW @@ -25,9 +25,9 @@ ViridianHouseText3: jp TextScriptEnd ViridianHouseText_1d5b1: - TX_FAR _ViridianHouseText_1d5b1 - db "@" + text_far _ViridianHouseText_1d5b1 + text_end ViridianHouseText4: - TX_FAR _ViridianHouseText4 - db "@" + text_far _ViridianHouseText4 + text_end diff --git a/scripts/ViridianPokecenter.asm b/scripts/ViridianPokecenter.asm index 14c25b9f..08577678 100755 --- a/scripts/ViridianPokecenter.asm +++ b/scripts/ViridianPokecenter.asm @@ -9,15 +9,15 @@ ViridianPokecenter_TextPointers: dw ViridianTradeNurseText ViridianHealNurseText: - TX_POKECENTER_NURSE + script_pokecenter_nurse ViridianPokeCenterText2: - TX_FAR _ViridianPokeCenterText2 - db "@" + text_far _ViridianPokeCenterText2 + text_end ViridianPokeCenterText3: - TX_FAR _ViridianPokeCenterText3 - db "@" + text_far _ViridianPokeCenterText3 + text_end ViridianTradeNurseText: - TX_CABLE_CLUB_RECEPTIONIST + script_cable_club_receptionist diff --git a/scripts/ViridianSchoolHouse.asm b/scripts/ViridianSchoolHouse.asm index 2d9579b7..731e2dac 100755 --- a/scripts/ViridianSchoolHouse.asm +++ b/scripts/ViridianSchoolHouse.asm @@ -6,9 +6,9 @@ ViridianSchoolHouse_TextPointers: dw SchoolText2 SchoolText1: - TX_FAR _SchoolText1 - db "@" + text_far _SchoolText1 + text_end SchoolText2: - TX_FAR _SchoolText2 - db "@" + text_far _SchoolText2 + text_end diff --git a/scripts/WardensHouse.asm b/scripts/WardensHouse.asm index 015d137f..ef1bbb75 100755 --- a/scripts/WardensHouse.asm +++ b/scripts/WardensHouse.asm @@ -9,7 +9,7 @@ WardensHouse_TextPointers: dw FuchsiaHouse2Text5 FuchsiaHouse2Text1: - TX_ASM + text_asm CheckEvent EVENT_GOT_HM04 jr nz, .subtract ld b, GOLD_TEETH @@ -56,45 +56,45 @@ FuchsiaHouse2Text1: jp TextScriptEnd WardenGibberishText1: - TX_FAR _WardenGibberishText1 - db "@" + text_far _WardenGibberishText1 + text_end WardenGibberishText2: - TX_FAR _WardenGibberishText2 - db "@" + text_far _WardenGibberishText2 + text_end WardenGibberishText3: - TX_FAR _WardenGibberishText3 - db "@" + text_far _WardenGibberishText3 + text_end WardenTeethText1: - TX_FAR _WardenTeethText1 - TX_SFX_ITEM_1 + text_far _WardenTeethText1 + sound_get_item_1 WardenTeethText2: - TX_FAR _WardenTeethText2 - db "@" + text_far _WardenTeethText2 + text_end WardenThankYouText: - TX_FAR _WardenThankYouText - db "@" + text_far _WardenThankYouText + text_end ReceivedHM04Text: - TX_FAR _ReceivedHM04Text - TX_SFX_ITEM_1 - db "@" + text_far _ReceivedHM04Text + sound_get_item_1 + text_end HM04ExplanationText: - TX_FAR _HM04ExplanationText - db "@" + text_far _HM04ExplanationText + text_end HM04NoRoomText: - TX_FAR _HM04NoRoomText - db "@" + text_far _HM04NoRoomText + text_end FuchsiaHouse2Text5: FuchsiaHouse2Text4: - TX_ASM + text_asm ld a, [hSpriteIndex] cp $4 ld hl, FuchsiaHouse2Text_7517b @@ -105,9 +105,9 @@ FuchsiaHouse2Text4: jp TextScriptEnd FuchsiaHouse2Text_75176: - TX_FAR _FuchsiaHouse2Text_75176 - db "@" + text_far _FuchsiaHouse2Text_75176 + text_end FuchsiaHouse2Text_7517b: - TX_FAR _FuchsiaHouse2Text_7517b - db "@" + text_far _FuchsiaHouse2Text_7517b + text_end diff --git a/text/BikeShop.asm b/text/BikeShop.asm index 86799865..5d71133c 100644 --- a/text/BikeShop.asm +++ b/text/BikeShop.asm @@ -27,7 +27,8 @@ _BikeShopText_1d81f:: _BikeShopText_1d824:: text " exchanged" line "the BIKE VOUCHER" - cont "for a BICYCLE.@@" + cont "for a BICYCLE.@" + text_end _BikeShopComeAgainText:: text "Come back again" diff --git a/text/BillsHouse.asm b/text/BillsHouse.asm index 5ece48d7..11bb3200 100644 --- a/text/BillsHouse.asm +++ b/text/BillsHouse.asm @@ -56,8 +56,9 @@ _BillThankYouText:: _SSTicketReceivedText:: text " received" line "an @" - TX_RAM wcf4b - text "!@@" + text_ram wcf4b + text "!@" + text_end _SSTicketNoRoomText:: text "You've got too" diff --git a/text/BluesHouse.asm b/text/BluesHouse.asm index 1898636a..a9b9ca47 100644 --- a/text/BluesHouse.asm +++ b/text/BluesHouse.asm @@ -14,8 +14,9 @@ _DaisyOfferMapText:: _GotMapText:: text " got a" line "@" - TX_RAM wcf4b - text "!@@" + text_ram wcf4b + text "!@" + text_end _DaisyBagFullText:: text "You have too much" diff --git a/text/CeladonCity.asm b/text/CeladonCity.asm index 1dbd5cdf..76fa1775 100644 --- a/text/CeladonCity.asm +++ b/text/CeladonCity.asm @@ -42,8 +42,9 @@ _TM41PreText:: _ReceivedTM41Text:: text " received" line "@" - TX_RAM wcf4b - text "!@@" + text_ram wcf4b + text "!@" + text_end _TM41ExplanationText:: text "TM41 teaches" @@ -72,7 +73,8 @@ _CeladonCityText6:: _CeladonCityText7:: text "POLIWRATH: Ribi" - line "ribit!@@" + line "ribit!@" + text_end _CeladonCityText8:: text "What are you" diff --git a/text/CeladonDiner.asm b/text/CeladonDiner.asm index dc5e9350..dd86a0c1 100644 --- a/text/CeladonDiner.asm +++ b/text/CeladonDiner.asm @@ -44,8 +44,9 @@ _CeladonDinerText_491a7:: _ReceivedCoinCaseText:: text " received" line "a @" - TX_RAM wcf4b - text "!@@" + text_ram wcf4b + text "!@" + text_end _CoinCaseNoRoomText:: text "Make room for" diff --git a/text/CeladonGym.asm b/text/CeladonGym.asm index d6586035..5d354bbb 100644 --- a/text/CeladonGym.asm +++ b/text/CeladonGym.asm @@ -64,11 +64,12 @@ _CeladonGymText9:: _ReceivedTM21Text:: text " received" line "@" - TX_RAM wcf4b - text "!@@" + text_ram wcf4b + text "!@" + text_end _TM21ExplanationText:: - text "" + text_start para "TM21 contains" line "MEGA DRAIN." diff --git a/text/CeladonMansion1F.asm b/text/CeladonMansion1F.asm index fc175cd5..14a48a81 100644 --- a/text/CeladonMansion1F.asm +++ b/text/CeladonMansion1F.asm @@ -1,5 +1,6 @@ _CeladonMansion1Text1:: - text "MEOWTH: Meow!@@" + text "MEOWTH: Meow!@" + text_end _CeladonMansion1Text2:: text "My dear #MON" @@ -11,11 +12,13 @@ _CeladonMansion1Text2:: _CeladonMansion1Text3:: text "CLEFAIRY: Pi" - line "pippippi!@@" + line "pippippi!@" + text_end _CeladonMansion1Text4:: text "NIDORAN: Kya" - line "kyaoo!@@" + line "kyaoo!@" + text_end _CeladonMansion1Text5:: text "CELADON MANSION" diff --git a/text/CeladonMansion3F.asm b/text/CeladonMansion3F.asm index c8858281..714ecf19 100644 --- a/text/CeladonMansion3F.asm +++ b/text/CeladonMansion3F.asm @@ -39,7 +39,8 @@ _CompletedDexText:: line "You completed" cont "your #DEX!" cont "Congratulations!" - cont "...@@" + cont "...@" + text_end _CeladonMansion3Text5:: text "It's the game" diff --git a/text/CeladonMart3F.asm b/text/CeladonMart3F.asm index 8211750d..9871a5ae 100644 --- a/text/CeladonMart3F.asm +++ b/text/CeladonMart3F.asm @@ -10,8 +10,9 @@ _TM18PreReceiveText:: _ReceivedTM18Text:: text " received" line "@" - TX_RAM wcf4b - text "!@@" + text_ram wcf4b + text "!@" + text_end _TM18ExplanationText:: text "TM18 is COUNTER!" diff --git a/text/CeladonMartRoof.asm b/text/CeladonMartRoof.asm index 1ed52e86..15bf8c04 100644 --- a/text/CeladonMartRoof.asm +++ b/text/CeladonMartRoof.asm @@ -11,24 +11,27 @@ _CeladonMartRoofText_484f3:: para "Thank you!" para "You can have this" - line "from me!@@" + line "from me!@" + text_end _CeladonMartRoofText_484f9:: text " received" line "@" - TX_RAM wcf4b - text "!@@" + text_ram wcf4b + text "!@" + text_end _CeladonMartRoofText_484fe:: - text "" + text_start para "@" - TX_RAM wcf4b + text_ram wcf4b text " contains" line "ICE BEAM!" para "It can freeze the" - line "target sometimes!@@" + line "target sometimes!@" + text_end _CeladonMartRoofText_48504:: text "Yay!" @@ -38,24 +41,27 @@ _CeladonMartRoofText_48504:: para "Thank you!" para "You can have this" - line "from me!@@" + line "from me!@" + text_end _CeladonMartRoofText_4850a:: text " received" line "@" - TX_RAM wcf4b - text "!@@" + text_ram wcf4b + text "!@" + text_end _CeladonMartRoofText_4850f:: - text "" + text_start para "@" - TX_RAM wcf4b + text_ram wcf4b text " contains" line "ROCK SLIDE!" para "It can spook the" - line "target sometimes!@@" + line "target sometimes!@" + text_end _CeladonMartRoofText_48515:: text "Yay!" @@ -65,26 +71,31 @@ _CeladonMartRoofText_48515:: para "Thank you!" para "You can have this" - line "from me!@@" + line "from me!@" + text_end _ReceivedTM49Text:: text " received" - line "TM49!@@" + line "TM49!@" + text_end _CeladonMartRoofText_48520:: - text "" + text_start para "TM49 contains" - line "TRI ATTACK!@@" + line "TRI ATTACK!@" + text_end _CeladonMartRoofText_48526:: text "You don't have" - line "space for this!@@" + line "space for this!@" + text_end _CeladonMartRoofText_4852c:: text "No thank you!" line "I'm not thirsty" - cont "after all!@@" + cont "after all!@" + text_end _CeladonMartRoofText1:: text "My sister is a" @@ -126,8 +137,8 @@ _VendingMachineText4:: done _VendingMachineText5:: - TX_RAM wcf4b - text "" + text_ram wcf4b + text_start line "popped out!" done diff --git a/text/CeruleanCaveB1F.asm b/text/CeruleanCaveB1F.asm index 0918a3ce..cb407c60 100644 --- a/text/CeruleanCaveB1F.asm +++ b/text/CeruleanCaveB1F.asm @@ -1,2 +1,3 @@ _MewtwoBattleText:: - text "Mew!@@" + text "Mew!@" + text_end diff --git a/text/CeruleanCity.asm b/text/CeruleanCity.asm index f0d2c29e..d0884a39 100644 --- a/text/CeruleanCity.asm +++ b/text/CeruleanCity.asm @@ -70,13 +70,15 @@ _CeruleanCityText_196d9:: _ReceivedTM28Text:: text " recovered" - line "TM28!@@" + line "TM28!@" + text_end _ReceivedTM28Text2:: - text "" + text_start para "I better get" - line "moving! Bye!@@" + line "moving! Bye!@" + text_end _TM28NoRoomText:: text "Make room for" diff --git a/text/CeruleanGym.asm b/text/CeruleanGym.asm index 1d1d6d1c..d302ec3a 100644 --- a/text/CeruleanGym.asm +++ b/text/CeruleanGym.asm @@ -47,7 +47,8 @@ _CeruleanGymText_5c7c8:: _ReceivedTM11Text:: text " received" - line "TM11!@@" + line "TM11!@" + text_end _CeruleanGymText_5c7d3:: text "You better make" @@ -62,7 +63,8 @@ _CeruleanGymText_5c7d8:: para "You can have the" line "CASCADEBADGE to" - cont "show you beat me!@@" + cont "show you beat me!@" + text_end _CeruleanGymBattleText1:: text "I'm more than good" diff --git a/text/ChampionsRoom.asm b/text/ChampionsRoom.asm index 61050565..575b7da4 100644 --- a/text/ChampionsRoom.asm +++ b/text/ChampionsRoom.asm @@ -96,7 +96,7 @@ _GaryText_76120:: line "much since you" cont "first left with" cont "@" - TX_RAM wcd6d + text_ram wcd6d text "!" para ", you have" diff --git a/text/CinnabarGym.asm b/text/CinnabarGym.asm index 1b531571..bf6cc0fb 100644 --- a/text/CinnabarGym.asm +++ b/text/CinnabarGym.asm @@ -18,7 +18,8 @@ _BlaineEndBattleText:: line "burnt out!" para "You have earned" - line "the VOLCANOBADGE!@@" + line "the VOLCANOBADGE!@" + text_end _BlaineFireBlastText:: text "FIRE BLAST is the" @@ -44,11 +45,12 @@ _BlaineBadgeText:: _ReceivedTM38Text:: text " received" line "@" - TX_RAM wcf4b - text "!@@" + text_ram wcf4b + text "!@" + text_end _TM38ExplanationText:: - text "" + text_start para "TM38 contains" line "FIRE BLAST!" diff --git a/text/CinnabarLabFossilRoom.asm b/text/CinnabarLabFossilRoom.asm index 95bde685..e7983fe9 100644 --- a/text/CinnabarLabFossilRoom.asm +++ b/text/CinnabarLabFossilRoom.asm @@ -30,20 +30,20 @@ _Lab4Text_75dd5:: line "back to life!" para "It was @" - TX_RAM wcf4b - text "" + text_ram wcf4b + text_start line "like I think!" prompt _Lab4Text_610ae:: text "Oh! That is" line "@" - TX_RAM wcd6d + text_ram wcd6d text "!" para "It is fossil of" line "@" - TX_RAM wcf4b + text_ram wcf4b text ", a" cont "#MON that is" cont "already extinct!" @@ -60,7 +60,7 @@ _Lab4Text_610b3:: para " handed" line "over @" - TX_RAM wcd6d + text_ram wcd6d text "!" prompt diff --git a/text/CinnabarLabMetronomeRoom.asm b/text/CinnabarLabMetronomeRoom.asm index fa04677f..f9b2c5d5 100644 --- a/text/CinnabarLabMetronomeRoom.asm +++ b/text/CinnabarLabMetronomeRoom.asm @@ -9,8 +9,9 @@ _TM35PreReceiveText:: _ReceivedTM35Text:: text " received " line "@" - TX_RAM wcf4b - text "!@@" + text_ram wcf4b + text "!@" + text_end _TM35ExplanationText:: text "Tch-tch-tch!" diff --git a/text/CopycatsHouse1F.asm b/text/CopycatsHouse1F.asm index 3ec2b151..0bf84558 100644 --- a/text/CopycatsHouse1F.asm +++ b/text/CopycatsHouse1F.asm @@ -17,4 +17,5 @@ _CopycatsHouse1FText2:: _CopycatsHouse1FText3:: text "CHANSEY: Chaan!" - line "Sii!@@" + line "Sii!@" + text_end diff --git a/text/CopycatsHouse2F.asm b/text/CopycatsHouse2F.asm index 561b2ac5..7d1aa0ad 100644 --- a/text/CopycatsHouse2F.asm +++ b/text/CopycatsHouse2F.asm @@ -29,17 +29,19 @@ _TM31PreReceiveText:: _ReceivedTM31Text:: text " received" line "@" - TX_RAM wcf4b - text "!@@" + text_ram wcf4b + text "!@" + text_end _TM31ExplanationText1:: - text "" + text_start para "TM31 contains my" line "favorite, MIMIC!" para "Use it on a good" - line "#MON!@@" + line "#MON!@" + text_end _TM31ExplanationText2:: text ": Hi!" @@ -57,7 +59,8 @@ _TM31ExplanationText2:: _TM31NoRoomText:: text "Don't you want" - line "this?@@" + line "this?@" + text_end _CopycatsHouse2FText2:: text "DODUO: Giiih!" diff --git a/text/Daycare.asm b/text/Daycare.asm index 2759c798..197927dd 100644 --- a/text/Daycare.asm +++ b/text/Daycare.asm @@ -13,8 +13,8 @@ _DayCareWhichMonText:: _DayCareWillLookAfterMonText:: text "Fine, I'll look" line "after @" - TX_RAM wcd6d - text "" + text_ram wcd6d + text_start cont "for a while." prompt @@ -25,13 +25,13 @@ _DayCareComeSeeMeInAWhileText:: _DayCareMonHasGrownText:: text "Your @" - TX_RAM wcd6d - text "" + text_ram wcd6d + text_start line "has grown a lot!" para "By level, it's" line "grown by @" - TX_NUM wDayCareNumLevelsGrown,$1,$3 + text_decimal wDayCareNumLevelsGrown, 1, 3 text "!" para "Aren't I great?" @@ -39,8 +39,8 @@ _DayCareMonHasGrownText:: _DayCareOweMoneyText:: text "You owe me ¥@" - TX_BCD wDayCareTotalCost, $c2 - text "" + text_bcd wDayCareTotalCost, 2 | LEADING_ZEROES | LEFT_ALIGN + text_start line "for the return" cont "of this #MON." done @@ -48,15 +48,15 @@ _DayCareOweMoneyText:: _DayCareGotMonBackText:: text " got" line "@" - TX_RAM wDayCareMonName + text_ram wDayCareMonName text " back!" done _DayCareMonNeedsMoreTimeText:: text "Back already?" line "Your @" - TX_RAM wcd6d - text "" + text_ram wcd6d + text_start cont "needs some more" cont "time with me." prompt diff --git a/text/Daycare_2.asm b/text/Daycare_2.asm index 20c0e5ad..7efb200e 100644 --- a/text/Daycare_2.asm +++ b/text/Daycare_2.asm @@ -1,6 +1,7 @@ _DayCareAllRightThenText:: text "All right then," - line "@@" + line "@" + text_end _DayCareComeAgainText:: text "come again." diff --git a/text/FuchsiaGoodRodHouse.asm b/text/FuchsiaGoodRodHouse.asm index b1b8b2f2..142c2837 100644 --- a/text/FuchsiaGoodRodHouse.asm +++ b/text/FuchsiaGoodRodHouse.asm @@ -19,8 +19,9 @@ _FuchsiaHouse3Text_561c2:: para " received" line "a @" - TX_RAM wcf4b - text "!@@" + text_ram wcf4b + text "!@" + text_end _FuchsiaHouse3Text_56212:: text "Oh... That's so" diff --git a/text/FuchsiaGym_2.asm b/text/FuchsiaGym_2.asm index f7b39d9c..e8043e24 100644 --- a/text/FuchsiaGym_2.asm +++ b/text/FuchsiaGym_2.asm @@ -27,11 +27,12 @@ _FuchsiaGymText9:: _ReceivedTM06Text:: text " received" line "@" - TX_RAM wcf4b - text "!@@" + text_ram wcf4b + text "!@" + text_end _TM06ExplanationText:: - text "" + text_start para "TM06 contains" line "TOXIC!" diff --git a/text/GameCorner.asm b/text/GameCorner.asm index 1e59f83e..1868daf8 100644 --- a/text/GameCorner.asm +++ b/text/GameCorner.asm @@ -65,7 +65,8 @@ _CeladonGameCornerText_48d9c:: _Received10CoinsText:: text " received" - line "10 coins!@@" + line "10 coins!@" + text_end _CeladonGameCornerText_48da7:: text "You don't need my" @@ -122,7 +123,8 @@ _CeladonGameCornerText_48e26:: _Received20CoinsText:: text " received" - line "20 coins!@@" + line "20 coins!@" + text_end _CeladonGameCornerText_48e31:: text "You have lots of" @@ -144,7 +146,8 @@ _CeladonGameCornerText_48e88:: _CeladonGameCornerText_48e8d:: text " received" - line "20 coins!@@" + line "20 coins!@" + text_end _CeladonGameCornerText_48e93:: text "You've got your" @@ -178,7 +181,8 @@ _CeladonGameCornerText_48f09:: para "A switch behind" line "the poster!?" - cont "Let's push it!@@" + cont "Let's push it!@" + text_end _CeladonGameCornerText_48f19:: text "Oops! Forgot the" diff --git a/text/LancesRoom.asm b/text/LancesRoom.asm index ed3dcada..2531b638 100644 --- a/text/LancesRoom.asm +++ b/text/LancesRoom.asm @@ -60,4 +60,5 @@ _LanceAfterBattleText:: para "He is the real" line "#MON LEAGUE" - cont "champion!@@" + cont "champion!@" + text_end diff --git a/text/LavenderCuboneHouse.asm b/text/LavenderCuboneHouse.asm index 66cc85a5..77b8598d 100644 --- a/text/LavenderCuboneHouse.asm +++ b/text/LavenderCuboneHouse.asm @@ -1,5 +1,6 @@ _LavenderHouse2Text1:: - text "CUBONE: Kyarugoo!@@" + text "CUBONE: Kyarugoo!@" + text_end _LavenderHouse2Text_1d9dc:: text "I hate those" diff --git a/text/MrFujisHouse.asm b/text/MrFujisHouse.asm index f903eb6a..2f76ad94 100644 --- a/text/MrFujisHouse.asm +++ b/text/MrFujisHouse.asm @@ -28,10 +28,12 @@ _LavenderHouse1Text_1d8f9:: done _LavenderHouse1Text3:: - text "PSYDUCK: Gwappa!@@" + text "PSYDUCK: Gwappa!@" + text_end _LavenderHouse1Text4:: - text "NIDORINO: Gaoo!@@" + text "NIDORINO: Gaoo!@" + text_end _LavenderHouse1Text_1d94c:: text "MR.FUJI: ." @@ -48,11 +50,12 @@ _LavenderHouse1Text_1d94c:: _ReceivedFluteText:: text " received" line "a @" - TX_RAM wcf4b - text "!@@" + text_ram wcf4b + text "!@" + text_end _FluteExplanationText:: - text "" + text_start para "Upon hearing #" line "FLUTE, sleeping" diff --git a/text/MrPsychicsHouse.asm b/text/MrPsychicsHouse.asm index 7be2e11e..5ac2c9af 100644 --- a/text/MrPsychicsHouse.asm +++ b/text/MrPsychicsHouse.asm @@ -8,8 +8,9 @@ _TM29PreReceiveText:: _ReceivedTM29Text:: text " received" line "@" - TX_RAM wcf4b - text "!@@" + text_ram wcf4b + text "!@" + text_end _TM29ExplanationText:: text "TM29 is PSYCHIC!" diff --git a/text/MtMoonB1F.asm b/text/MtMoonB1F.asm index 755fa583..968b845f 100644 --- a/text/MtMoonB1F.asm +++ b/text/MtMoonB1F.asm @@ -1,3 +1,3 @@ _MtMoonText1:: - text "" + text_start done diff --git a/text/MtMoonB2F.asm b/text/MtMoonB2F.asm index 472649b9..f920e0fb 100644 --- a/text/MtMoonB2F.asm +++ b/text/MtMoonB2F.asm @@ -11,12 +11,14 @@ _MtMoon3Text_49f64:: _MtMoon3Text_49f6f:: text " got the" line "@" - TX_RAM wcf4b - text "!@@" + text_ram wcf4b + text "!@" + text_end _MtMoon3Text_49f7f:: text "Look, you've got" - line "no room for this.@@" + line "no room for this.@" + text_end _MtMoon3Text_49f85:: text "Hey, stop!" @@ -50,7 +52,8 @@ _MtMoon3Text_49f94:: _MtMoon3Text_49f99:: text "All right. Then" - line "this is mine!@@" + line "this is mine!@" + text_end _MtMoon3BattleText2:: text "TEAM ROCKET will" diff --git a/text/MtMoonPokecenter.asm b/text/MtMoonPokecenter.asm index 7bc99dae..dda62044 100644 --- a/text/MtMoonPokecenter.asm +++ b/text/MtMoonPokecenter.asm @@ -44,5 +44,5 @@ _MagikarpSalesmanText2:: done _MtMoonPokecenterText5:: - text "" + text_start done diff --git a/text/Museum1F.asm b/text/Museum1F.asm index 16431bda..be1bb2f7 100644 --- a/text/Museum1F.asm +++ b/text/Museum1F.asm @@ -82,7 +82,8 @@ _Museum1FText_5c28e:: _ReceivedOldAmberText:: text " received" - line "OLD AMBER!@@" + line "OLD AMBER!@" + text_end _Museum1FText_5c299:: text "Ssh! Get the OLD" diff --git a/text/NameRatersHouse.asm b/text/NameRatersHouse.asm index 65d3e8a4..b5032144 100644 --- a/text/NameRatersHouse.asm +++ b/text/NameRatersHouse.asm @@ -14,7 +14,7 @@ _NameRaterText_1dab8:: prompt _NameRaterText_1dabd:: - TX_RAM wcd6d + text_ram wcd6d text ", is it?" line "That is a decent" cont "nickname!" @@ -35,7 +35,7 @@ _NameRaterText_1dac7:: text "OK! This #MON" line "has been renamed" cont "@" - TX_RAM wBuffer + text_ram wBuffer text "!" para "That's a better" @@ -48,13 +48,13 @@ _NameRaterText_1dacc:: done _NameRaterText_1dad1:: - TX_RAM wcd6d + text_ram wcd6d text ", is it?" line "That is a truly" cont "impeccable name!" para "Take good care of" line "@" - TX_RAM wcd6d + text_ram wcd6d text "!" done diff --git a/text/OaksLab.asm b/text/OaksLab.asm index 7a6f57b7..18ecadb7 100644 --- a/text/OaksLab.asm +++ b/text/OaksLab.asm @@ -51,8 +51,9 @@ _OaksLabMonEnergeticText:: _OaksLabReceivedMonText:: text " received" line "a @" - TX_RAM wcd6d - text "!@@" + text_ram wcd6d + text "!@" + text_end _OaksLabLastMonText:: text "That's PROF.OAK's" @@ -96,10 +97,11 @@ _OaksLabDeliverParcelText1:: line "something for me?" para " delivered" - line "OAK's PARCEL.@@" + line "OAK's PARCEL.@" + text_end _OaksLabDeliverParcelText2:: - text "" + text_start para "Ah! This is the" line "custom # BALL" cont "I ordered!" @@ -124,10 +126,11 @@ _OaksLabGivePokeballsText1:: cont "#MON." para " got 5" - line "# BALLs!@@" + line "# BALLs!@" + text_end _OaksLabGivePokeballsText2:: - text "" + text_start para "When a wild" line "#MON appears," cont "it's fair game." @@ -240,8 +243,9 @@ _OaksLabRivalPickingMonText:: _OaksLabRivalReceivedMonText:: text " received" line "a @" - TX_RAM wcd6d - text "!@@" + text_ram wcd6d + text "!@" + text_end _OaksLabRivalChallengeText:: text ": Wait" @@ -310,7 +314,8 @@ _OaksLabText25:: cont "these with you!" para " got" - line "#DEX from OAK!@@" + line "#DEX from OAK!@" + text_end _OaksLabText26:: text "To make a complete" @@ -363,10 +368,10 @@ _OaksLabText_441cc:: line "letion is:" para "@" - TX_NUM hDexRatingNumMonsSeen, 1, 3 + text_decimal hDexRatingNumMonsSeen, 1, 3 text " #MON seen" line "@" - TX_NUM hDexRatingNumMonsOwned, 1, 3 + text_decimal hDexRatingNumMonsOwned, 1, 3 text " #MON owned" para "PROF.OAK's" diff --git a/text/PalletTown.asm b/text/PalletTown.asm index d5eda74f..caaed3ac 100644 --- a/text/PalletTown.asm +++ b/text/PalletTown.asm @@ -1,6 +1,7 @@ _OakAppearsText:: text "OAK: Hey! Wait!" - line "Don't go out!@@" + line "Don't go out!@" + text_end _OakWalksUpText:: text "OAK: It's unsafe!" diff --git a/text/PewterGym_2.asm b/text/PewterGym_2.asm index 5312e4f2..b3c079a4 100644 --- a/text/PewterGym_2.asm +++ b/text/PewterGym_2.asm @@ -19,10 +19,11 @@ _TM34PreReceiveText:: _ReceivedTM34Text:: text " received" - line "TM34!@@" + line "TM34!@" + text_end _TM34ExplanationText:: - text "" + text_start para "A TM contains a" line "technique that" @@ -59,10 +60,11 @@ _PewterGymText_5c4bc:: cont "the BOULDERBADGE!" para " received" - line "the BOULDERBADGE!@@" + line "the BOULDERBADGE!@" + text_end _PewterGymText_5c4c1:: - text "" + text_start para "That's an official" line "#MON LEAGUE" diff --git a/text/PewterNidoranHouse.asm b/text/PewterNidoranHouse.asm index 450e8372..d4a092c8 100644 --- a/text/PewterNidoranHouse.asm +++ b/text/PewterNidoranHouse.asm @@ -1,5 +1,6 @@ _PewterHouse1Text1:: - text "NIDORAN: Bowbow!@@" + text "NIDORAN: Bowbow!@" + text_end _PewterHouse1Text2:: text "NIDORAN sit!" diff --git a/text/PokemonFanClub.asm b/text/PokemonFanClub.asm index 4827f2e8..87c273a6 100644 --- a/text/PokemonFanClub.asm +++ b/text/PokemonFanClub.asm @@ -85,11 +85,12 @@ FanClubChairStoryText:: ReceivedBikeVoucherText:: text " received" line "a @" - TX_RAM wcf4b - text "!@@" + text_ram wcf4b + text "!@" + text_end ExplainBikeVoucherText:: - text "" + text_start para "Exchange that for" line "a BICYCLE!" diff --git a/text/PowerPlant.asm b/text/PowerPlant.asm index e5df6674..dcdcd739 100644 --- a/text/PowerPlant.asm +++ b/text/PowerPlant.asm @@ -3,4 +3,5 @@ _VoltorbBattleText:: done _ZapdosBattleText:: - text "Gyaoo!@@" + text "Gyaoo!@" + text_end diff --git a/text/RocketHideoutB1F.asm b/text/RocketHideoutB1F.asm index 36117804..c4fcb4b1 100644 --- a/text/RocketHideoutB1F.asm +++ b/text/RocketHideoutB1F.asm @@ -1,5 +1,6 @@ _RocketHideout1EndBattleText6:: - text "Why...?@@" + text "Why...?@" + text_end _RocketHideout1BattleText2:: text "Who are you? How" diff --git a/text/RocketHideoutElevator.asm b/text/RocketHideoutElevator.asm index 6f2aa638..1b8ba561 100644 --- a/text/RocketHideoutElevator.asm +++ b/text/RocketHideoutElevator.asm @@ -1,3 +1,4 @@ _RocketElevatorText_4578b:: text "It appears to" - line "need a key.@@" + line "need a key.@" + text_end diff --git a/text/Route1.asm b/text/Route1.asm index 73188f09..bf32af26 100644 --- a/text/Route1.asm +++ b/text/Route1.asm @@ -15,8 +15,9 @@ _Route1ViridianMartSampleText:: _Route1Text_1cae8:: text " got" line "@" - TX_RAM wcf4b - text "!@@" + text_ram wcf4b + text "!@" + text_end _Route1Text_1caee:: text "We also carry" diff --git a/text/Route12Gate2F.asm b/text/Route12Gate2F.asm index 95a89527..b5a6465f 100644 --- a/text/Route12Gate2F.asm +++ b/text/Route12Gate2F.asm @@ -10,7 +10,8 @@ _TM39PreReceiveText:: _ReceivedTM39Text:: text " received" - line "TM39!@@" + line "TM39!@" + text_end _TM39ExplanationText:: text "TM39 is a move" diff --git a/text/Route12SuperRodHouse.asm b/text/Route12SuperRodHouse.asm index 7dfaa74f..ff633d3a 100644 --- a/text/Route12SuperRodHouse.asm +++ b/text/Route12SuperRodHouse.asm @@ -18,11 +18,12 @@ _Route12HouseText_564c5:: para " received" line "a @" - TX_RAM wcf4b - text "!@@" + text_ram wcf4b + text "!@" + text_end _Route12HouseText_564ca:: - text "" + text_start para "Fishing is a way" line "of life!" diff --git a/text/Route15.asm b/text/Route15.asm index a23b8500..9dc0e6ba 100644 --- a/text/Route15.asm +++ b/text/Route15.asm @@ -162,7 +162,8 @@ _Route15EndBattleText10:: _Route15AfterBattleText10:: text "I'll go train with" - line "weaker people.@@" + line "weaker people.@" + text_end _Route15Text12:: text "ROUTE 15" diff --git a/text/Route16FlyHouse.asm b/text/Route16FlyHouse.asm index 77efde87..89f76e51 100644 --- a/text/Route16FlyHouse.asm +++ b/text/Route16FlyHouse.asm @@ -10,7 +10,8 @@ _Route16HouseText3:: _ReceivedHM02Text:: text " received" - line "HM02!@@" + line "HM02!@" + text_end _HM02ExplanationText:: text "HM02 is FLY." diff --git a/text/Route22Gate.asm b/text/Route22Gate.asm index ce3f6824..33893d6e 100644 --- a/text/Route22Gate.asm +++ b/text/Route22Gate.asm @@ -4,10 +4,11 @@ _Route22GateText_1e704:: cont "allowed through." para "You don't have the" - line "BOULDERBADGE yet!@@" + line "BOULDERBADGE yet!@" + text_end _Route22GateText_1e715:: - text "" + text_start para "The rules are" line "rules. I can't" @@ -17,4 +18,5 @@ _Route22GateText_1e715:: _Route22GateText_1e71a:: text "Oh! That is the" line "BOULDERBADGE!" - cont "Go right ahead!@@" + cont "Go right ahead!@" + text_end diff --git a/text/Route23.asm b/text/Route23.asm index a7e534de..f21857b3 100644 --- a/text/Route23.asm +++ b/text/Route23.asm @@ -2,32 +2,34 @@ _VictoryRoadGuardText1:: text "You can pass here" line "only if you have" cont "the @" - TX_RAM wcd6d + text_ram wcd6d text "!" para "You don't have the" line "@" - TX_RAM wcd6d + text_ram wcd6d text " yet!" para "You have to have" line "it to get to" - cont "#MON LEAGUE!@@" + cont "#MON LEAGUE!@" + text_end _VictoryRoadGuardText2:: text "You can pass here" line "only if you have" cont "the @" - TX_RAM wcd6d + text_ram wcd6d text "!" para "Oh! That is the" line "@" - TX_RAM wcd6d - text "!@@" + text_ram wcd6d + text "!@" + text_end _VictoryRoadGuardText_513a3:: - text "" + text_start para "OK then! Please," line "go right ahead!" diff --git a/text/Route24.asm b/text/Route24.asm index c14b689a..6792c401 100644 --- a/text/Route24.asm +++ b/text/Route24.asm @@ -1,10 +1,11 @@ _Route24Text_51510:: text "Congratulations!" line "You beat our 5" - cont "contest trainers!@@" + cont "contest trainers!@" + text_end _Route24Text_51515:: - text "" + text_start para "You just earned a" line "fabulous prize!" @@ -13,8 +14,9 @@ _Route24Text_51515:: _Route24Text_5151a:: text " received" line "a @" - TX_RAM wcf4b - text "!@@" + text_ram wcf4b + text "!@" + text_end _Route24Text_51521:: text "You don't have" diff --git a/text/SSAnne1FRooms.asm b/text/SSAnne1FRooms.asm index 7a09303e..da672f8d 100644 --- a/text/SSAnne1FRooms.asm +++ b/text/SSAnne1FRooms.asm @@ -1,6 +1,7 @@ _SSAnne8Text8:: text "WIGGLYTUFF: Puup" - line "pupuu!@@" + line "pupuu!@" + text_end _SSAnne8BattleText1:: text "I travel alone" diff --git a/text/SSAnneB1FRooms.asm b/text/SSAnneB1FRooms.asm index 7df629b5..8072fc85 100644 --- a/text/SSAnneB1FRooms.asm +++ b/text/SSAnneB1FRooms.asm @@ -1,6 +1,7 @@ _SSAnne10Text8:: text "MACHOKE: Gwoh!" - line "Goggoh!@@" + line "Goggoh!@" + text_end _SSAnne10BattleText1:: text "You know what they" @@ -52,7 +53,8 @@ _SSAnne10AfterBattleText3:: _SSAnne10BattleText4:: text "I like feisty" - line "kids like you!@@" + line "kids like you!@" + text_end _SSAnne10EndBattleText4:: text "Argh!" diff --git a/text/SSAnneCaptainsRoom.asm b/text/SSAnneCaptainsRoom.asm index 7bf004da..5216cf04 100644 --- a/text/SSAnneCaptainsRoom.asm +++ b/text/SSAnneCaptainsRoom.asm @@ -8,7 +8,8 @@ _SSAnne7RubText:: cont "back!" para "Rub-rub..." - line "Rub-rub...@@" + line "Rub-rub...@" + text_end _ReceivingHM01Text:: text "CAPTAIN: Whew!" @@ -33,8 +34,9 @@ _ReceivingHM01Text:: _ReceivedHM01Text:: text " got" line "@" - TX_RAM wcf4b - text "!@@" + text_ram wcf4b + text "!@" + text_end _SSAnne7Text_61932:: text "CAPTAIN: Whew!" diff --git a/text/SafariZoneGate.asm b/text/SafariZoneGate.asm index 5c143891..59a7c2af 100644 --- a/text/SafariZoneGate.asm +++ b/text/SafariZoneGate.asm @@ -10,7 +10,8 @@ SafariZoneEntranceText_9e6e4:: cont "want in the park!" para "Would you like to" - line "join the hunt?@@" + line "join the hunt?@" + text_end SafariZoneEntranceText_9e747:: text "That'll be ¥500" @@ -21,10 +22,11 @@ SafariZoneEntranceText_9e747:: cont "here." para " received" - line "30 SAFARI BALLs!@@" + line "30 SAFARI BALLs!@" + text_end _SafariZoneEntranceText_75360:: - text "" + text_start para "We'll call you on" line "the PA when you" @@ -43,7 +45,8 @@ _SafariZoneEntranceText_7536a:: done SafariZoneEntranceText_9e814:: - text "Leaving early?@@" + text "Leaving early?@" + text_end _SafariZoneEntranceText_753bb:: text "Please return any" diff --git a/text/SafariZoneSecretHouse.asm b/text/SafariZoneSecretHouse.asm index 3df79d90..8aff18b7 100644 --- a/text/SafariZoneSecretHouse.asm +++ b/text/SafariZoneSecretHouse.asm @@ -17,8 +17,9 @@ _SecretHouseText_4a350:: _ReceivedHM03Text:: text " received" line "@" - TX_RAM wcf4b - text "!@@" + text_ram wcf4b + text "!@" + text_end _HM03ExplanationText:: text "HM03 is SURF!" diff --git a/text/SaffronCity.asm b/text/SaffronCity.asm index a0422c8c..ae9c44f2 100644 --- a/text/SaffronCity.asm +++ b/text/SaffronCity.asm @@ -65,7 +65,8 @@ _SaffronCityText11:: done _SaffronCityText12:: - text "PIDGEOT: Bi bibii!@@" + text "PIDGEOT: Bi bibii!@" + text_end _SaffronCityText13:: text "I saw ROCKET" diff --git a/text/SaffronGates.asm b/text/SaffronGates.asm index 9bb4601f..4f53553a 100644 --- a/text/SaffronGates.asm +++ b/text/SaffronGates.asm @@ -13,10 +13,11 @@ _SaffronGateText_8aaa9:: cont "..." cont "Huh? I can have" cont "this drink?" - cont "Gee, thanks!@@" + cont "Gee, thanks!@" + text_end _SaffronGateText_1dff1:: - text "" + text_start para "..." line "Glug glug..." diff --git a/text/SaffronGym.asm b/text/SaffronGym.asm index 6f49a331..ae8556c0 100644 --- a/text/SaffronGym.asm +++ b/text/SaffronGym.asm @@ -27,7 +27,8 @@ _SaffronGymText_5d167:: cont "to win!" para "You earned the" - line "MARSHBADGE!@@" + line "MARSHBADGE!@" + text_end _SaffronGymText_5d16e:: text "Everyone has" @@ -56,10 +57,11 @@ _SaffronGymText_5d173:: ReceivedTM46Text:: text " received" - line "TM46!@@" + line "TM46!@" + text_end _TM46ExplanationText:: - text "" + text_start para "TM46 is PSYWAVE!" line "It uses powerful" diff --git a/text/SaffronPidgeyHouse.asm b/text/SaffronPidgeyHouse.asm index 214bf089..d8666a07 100644 --- a/text/SaffronPidgeyHouse.asm +++ b/text/SaffronPidgeyHouse.asm @@ -8,7 +8,8 @@ _SaffronHouse1Text1:: done _SaffronHouse1Text2:: - text "PIDGEY: Kurukkoo!@@" + text "PIDGEY: Kurukkoo!@" + text_end _SaffronHouse1Text3:: text "The COPYCAT is" diff --git a/text/SeafoamIslandsB4F.asm b/text/SeafoamIslandsB4F.asm index 608d165f..ea7eeaa2 100644 --- a/text/SeafoamIslandsB4F.asm +++ b/text/SeafoamIslandsB4F.asm @@ -1,5 +1,6 @@ _ArticunoBattleText:: - text "Gyaoo!@@" + text "Gyaoo!@" + text_end _SeafoamIslands5Text4:: text "Boulders might" diff --git a/text/SilphCo11F.asm b/text/SilphCo11F.asm index fbaa6086..36adf7d9 100644 --- a/text/SilphCo11F.asm +++ b/text/SilphCo11F.asm @@ -22,8 +22,9 @@ _SilphCoPresidentText:: _ReceivedSilphCoMasterBallText:: text " got a" line "@" - TX_RAM wcf4b - text "!@@" + text_ram wcf4b + text "!@" + text_end _SilphCo10Text_6231c:: text "PRESIDENT: You" diff --git a/text/SilphCo2F.asm b/text/SilphCo2F.asm index bd87630a..b0cce269 100644 --- a/text/SilphCo2F.asm +++ b/text/SilphCo2F.asm @@ -12,8 +12,9 @@ _SilphCo2Text_59ded:: _ReceivedTM36Text:: text " got" line "@" - TX_RAM wcf4b - text "!@@" + text_ram wcf4b + text "!@" + text_end _TM36ExplanationText:: text "TM36 is" diff --git a/text/VermilionCity.asm b/text/VermilionCity.asm index 1cbc535c..2f60eb97 100644 --- a/text/VermilionCity.asm +++ b/text/VermilionCity.asm @@ -68,10 +68,11 @@ _VermilionCityText4:: _VermilionCityText5:: text "MACHOP: Guoh!" - line "Gogogoh!@@" + line "Gogogoh!@" + text_end _VermilionCityText14:: - text "" + text_start para "A MACHOP is" line "stomping the land" cont "flat." diff --git a/text/VermilionDock.asm b/text/VermilionDock.asm index 5d998e82..aaf1ed34 100644 --- a/text/VermilionDock.asm +++ b/text/VermilionDock.asm @@ -1,3 +1,3 @@ _VermilionDockText1:: - text "" + text_start done diff --git a/text/VermilionGym_2.asm b/text/VermilionGym_2.asm index 50da9719..bf50422d 100644 --- a/text/VermilionGym_2.asm +++ b/text/VermilionGym_2.asm @@ -26,11 +26,12 @@ _LTSurgeThunderbadgeInfoText:: _ReceivedTM24Text:: text " received " line "@" - TX_RAM wcf4b - text "!@@" + text_ram wcf4b + text "!@" + text_end _TM24ExplanationText:: - text "" + text_start para "TM24 contains" line "THUNDERBOLT!" diff --git a/text/VermilionOldRodHouse.asm b/text/VermilionOldRodHouse.asm index 32526e36..d9a94cd4 100644 --- a/text/VermilionOldRodHouse.asm +++ b/text/VermilionOldRodHouse.asm @@ -18,11 +18,12 @@ _VermilionHouse2Text_560b6:: para " received" line "an @" - TX_RAM wcf4b - text "!@@" + text_ram wcf4b + text "!@" + text_end _VermilionHouse2Text_560bb:: - text "" + text_start para "Fishing is a way" line "of life!" diff --git a/text/VermilionPidgeyHouse.asm b/text/VermilionPidgeyHouse.asm index 91c18708..858e84f3 100644 --- a/text/VermilionPidgeyHouse.asm +++ b/text/VermilionPidgeyHouse.asm @@ -6,7 +6,8 @@ _VermilionHouse1Text1:: done _VermilionHouse1Text2:: - text "PIDGEY: Kurukkoo!@@" + text "PIDGEY: Kurukkoo!@" + text_end _VermilionHouse1Text3:: text "Dear PIPPI, I hope" diff --git a/text/VictoryRoad2F.asm b/text/VictoryRoad2F.asm index ec9dcf4f..ff72afaa 100644 --- a/text/VictoryRoad2F.asm +++ b/text/VictoryRoad2F.asm @@ -1,5 +1,6 @@ _MoltresBattleText:: - text "Gyaoo!@@" + text "Gyaoo!@" + text_end _VictoryRoad2BattleText1:: text "VICTORY ROAD is" diff --git a/text/ViridianCity.asm b/text/ViridianCity.asm index 67ab5c40..8ee81348 100644 --- a/text/ViridianCity.asm +++ b/text/ViridianCity.asm @@ -84,7 +84,8 @@ _ViridianCityText_191ca:: _ReceivedTM42Text:: text " received" - line "TM42!@@" + line "TM42!@" + text_end _TM42Explanation:: text "TM42 contains" diff --git a/text/ViridianGym.asm b/text/ViridianGym.asm index 4c7b5207..2b1f67ae 100644 --- a/text/ViridianGym.asm +++ b/text/ViridianGym.asm @@ -24,7 +24,8 @@ _ViridianGymText_74ad3:: cont "intense fight!" cont "You have won!" cont "As proof, here is" - cont "the EARTHBADGE!@@" + cont "the EARTHBADGE!@" + text_end _ViridianGymText_74ad9:: text "Having lost, I" @@ -39,7 +40,8 @@ _ViridianGymText_74ad9:: para "Let us meet again" line "some day!" - cont "Farewell!@@" + cont "Farewell!@" + text_end _ViridianGymText12:: text "The EARTHBADGE" @@ -61,10 +63,11 @@ _ViridianGymText12:: _ReceivedTM27Text:: text " received" - line "TM27!@@" + line "TM27!@" + text_end _TM27ExplanationText:: - text "" + text_start para "TM27 is FISSURE!" line "It will take out" diff --git a/text/ViridianMart.asm b/text/ViridianMart.asm index 61750afe..640d7fd1 100644 --- a/text/ViridianMart.asm +++ b/text/ViridianMart.asm @@ -17,7 +17,8 @@ ViridianMartParcelQuestText:: cont "to him?" para " got" - line "OAK's PARCEL!@@" + line "OAK's PARCEL!@" + text_end _ViridianMartText2:: text "This shop sells" diff --git a/text/WardensHouse.asm b/text/WardensHouse.asm index 7efddb90..47612904 100644 --- a/text/WardensHouse.asm +++ b/text/WardensHouse.asm @@ -20,10 +20,11 @@ _WardenGibberishText3:: _WardenTeethText1:: text " gave the" line "GOLD TEETH to the" - cont "WARDEN!@@" + cont "WARDEN!@" + text_end _WardenTeethText2:: - text "" + text_start para "The WARDEN popped" line "in his teeth!" @@ -45,8 +46,9 @@ _WardenThankYouText:: _ReceivedHM04Text:: text " received" line "@" - TX_RAM wcf4b - text "!@@" + text_ram wcf4b + text "!@" + text_end _HM04ExplanationText:: text "WARDEN: HM04" -- cgit v1.2.3 From 4e6adcddff69fd53ce342ead502a0699cd5f75ba Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 5 Jul 2020 14:11:39 -0400 Subject: Use SHA-1, not MD5, for 'make compare' Fixes #183 --- Makefile | 9 ++++++--- roms.md5 | 2 -- roms.sha1 | 2 ++ 3 files changed, 8 insertions(+), 5 deletions(-) delete mode 100644 roms.md5 create mode 100644 roms.sha1 diff --git a/Makefile b/Makefile index 3e2a6e89..b2ab9f35 100644 --- a/Makefile +++ b/Makefile @@ -17,7 +17,11 @@ pokeblue_obj := $(rom_obj:.o=_blue.o) ### Build tools -MD5 := md5sum -c +ifeq (,$(shell which sha1sum)) +SHA1 := shasum +else +SHA1 := sha1sum +endif RGBDS ?= RGBASM ?= $(RGBDS)rgbasm @@ -47,9 +51,8 @@ tidy: rm -f $(roms) $(pokered_obj) $(pokeblue_obj) $(roms:.gbc=.map) $(roms:.gbc=.sym) rgbdscheck.o $(MAKE) clean -C tools/ -# For contributors to make sure a change didn't affect the original contents of the ROMs. compare: $(roms) - @$(MD5) roms.md5 + @$(SHA1) -c roms.sha1 tools: $(MAKE) -C tools/ diff --git a/roms.md5 b/roms.md5 deleted file mode 100644 index c4128cfd..00000000 --- a/roms.md5 +++ /dev/null @@ -1,2 +0,0 @@ -3d45c1ee9abd5738df46d2bdda8b57dc pokered.gbc -50927e843568814f7ed45ec4f944bd8b pokeblue.gbc diff --git a/roms.sha1 b/roms.sha1 new file mode 100644 index 00000000..742056ac --- /dev/null +++ b/roms.sha1 @@ -0,0 +1,2 @@ +ea9bcae617fdf159b045185467ae58b2e4a48b9a pokered.gbc +d7037c83e1ae5b39bde3c30787637ba1d4c48ce2 pokeblue.gbc -- cgit v1.2.3 From d6820cdcbfe48adb3ef7935b84c21fcb7796e701 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 5 Jul 2020 14:15:49 -0400 Subject: File-specific graphics rules update rgbgfx (flags only), not RGBGFX (program path), like pokecrystal Fixes #227 --- Makefile | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Makefile b/Makefile index b2ab9f35..301e2035 100644 --- a/Makefile +++ b/Makefile @@ -106,12 +106,12 @@ pokeblue_opt = -jsv -k 01 -l 0x33 -m 0x13 -p 0 -r 03 -t "POKEMON BLUE" gfx/battle/attack_anim_1.2bpp: tools/gfx += --trim-whitespace gfx/battle/attack_anim_2.2bpp: tools/gfx += --trim-whitespace -gfx/intro_credits/blue_jigglypuff_1.2bpp: $(RGBGFX) += -h -gfx/intro_credits/blue_jigglypuff_2.2bpp: $(RGBGFX) += -h -gfx/intro_credits/blue_jigglypuff_3.2bpp: $(RGBGFX) += -h -gfx/intro_credits/red_nidorino_1.2bpp: $(RGBGFX) += -h -gfx/intro_credits/red_nidorino_2.2bpp: $(RGBGFX) += -h -gfx/intro_credits/red_nidorino_3.2bpp: $(RGBGFX) += -h +gfx/intro_credits/blue_jigglypuff_1.2bpp: rgbgfx += -h +gfx/intro_credits/blue_jigglypuff_2.2bpp: rgbgfx += -h +gfx/intro_credits/blue_jigglypuff_3.2bpp: rgbgfx += -h +gfx/intro_credits/red_nidorino_1.2bpp: rgbgfx += -h +gfx/intro_credits/red_nidorino_2.2bpp: rgbgfx += -h +gfx/intro_credits/red_nidorino_3.2bpp: rgbgfx += -h gfx/intro_credits/the_end.2bpp: tools/gfx += --interleave --png=$< @@ -134,7 +134,7 @@ gfx/trade/game_boy.2bpp: tools/gfx += --remove-duplicates tools/gfx $(tools/gfx) -o $@ $@) %.1bpp: %.png - $(RGBGFX) -d1 $(rgbgfx) -o $@ $< + $(RGBGFX) $(rgbgfx) -d1 -o $@ $< $(if $(tools/gfx),\ tools/gfx $(tools/gfx) -d1 -o $@ $@) -- cgit v1.2.3 From d9db3d74957c5a96d369db39bd3fa72ba5792d82 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 5 Jul 2020 14:38:08 -0400 Subject: Update map hide/show data labels Fixes #235 --- constants/hide_show_constants.asm | 3 + data/maps/hide_show_data.asm | 1129 ++++++++++++++++----------------- engine/overworld/missable_objects.asm | 14 +- 3 files changed, 568 insertions(+), 578 deletions(-) diff --git a/constants/hide_show_constants.asm b/constants/hide_show_constants.asm index 1aeb9149..21c83644 100755 --- a/constants/hide_show_constants.asm +++ b/constants/hide_show_constants.asm @@ -1,3 +1,6 @@ +HIDE EQU $11 +SHOW EQU $15 + ; this is a list of the sprites that can be enabled/disabled during the game ; sprites marked with an X are constants that are never used ; because those sprites are not (de)activated in a map's script diff --git a/data/maps/hide_show_data.asm b/data/maps/hide_show_data.asm index bc89d600..4203e90a 100755 --- a/data/maps/hide_show_data.asm +++ b/data/maps/hide_show_data.asm @@ -1,577 +1,564 @@ -; data for default hidden/shown -; objects for each map ($00-$F8) +; default hidden/shown objects for each map -; Table of 2-Byte pointers, one pointer per map, -; goes up to Map_F7, ends with -1. -; points to table listing all missable object in the area MapHSPointers: - dw MapHS00 - dw MapHS01 - dw MapHS02 - dw MapHS03 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS0A - dw MapHSXX - dw MapHSXX - dw MapHS0D - dw MapHSXX - dw MapHS0F - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS14 - dw MapHSXX - dw MapHSXX - dw MapHS17 - dw MapHSXX - dw MapHSXX - dw MapHS1A - dw MapHS1B - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS21 - dw MapHSXX - dw MapHS23 - dw MapHS24 - dw MapHSXX - dw MapHSXX - dw MapHS27 - dw MapHS28 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS2D - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS33 - dw MapHS34 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS3B - dw MapHSXX - dw MapHS3D - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS53 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS58 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS60 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS66 - dw MapHS67 - dw MapHS68 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS6C - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS78 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS84 - dw MapHSXX - dw MapHSXX - dw MapHS87 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS8F - dw MapHS90 - dw MapHS91 - dw MapHS92 - dw MapHS93 - dw MapHS94 - dw MapHS95 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS9B - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHS9F - dw MapHSA0 - dw MapHSA1 - dw MapHSA2 - dw MapHSXX - dw MapHSXX - dw MapHSA5 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSB1 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSB5 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSC0 - dw MapHSXX - dw MapHSC2 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSC6 - dw MapHSC7 - dw MapHSC8 - dw MapHSC9 - dw MapHSCA - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSCF - dw MapHSD0 - dw MapHSD1 - dw MapHSD2 - dw MapHSD3 - dw MapHSD4 - dw MapHSD5 - dw MapHSD6 - dw MapHSD7 - dw MapHSD8 - dw MapHSD9 - dw MapHSDA - dw MapHSDB - dw MapHSDC - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSE2 - dw MapHSE3 - dw MapHSE4 - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSE9 - dw MapHSEA - dw MapHSEB - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSXX - dw MapHSF4 - dw MapHSXX - dw MapHSXX - dw MapHSXX +; entries correspond to map ids + dw PalletTownHS + dw ViridianCityHS + dw PewterCityHS + dw CeruleanCityHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw SaffronCityHS + dw NoHS + dw NoHS + dw Route2HS + dw NoHS + dw Route4HS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw Route9HS + dw NoHS + dw NoHS + dw Route12HS + dw NoHS + dw NoHS + dw Route15HS + dw Rout16eHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw Route22HS + dw NoHS + dw Route24HS + dw Route25HS + dw NoHS + dw NoHS + dw BluesHouseHS + dw OaksLabHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw ViridianGymHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw ViridianForestHS + dw Museum1FHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw MtMoon1FHS + dw NoHS + dw MtMoonB2FHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw PowerPlantHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw BillsHouseHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw SSAnne2FHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw SSAnne1FRoomsHS + dw SSAnne2FRoomsHS + dw SSAnneB1FRoomsHS + dw NoHS + dw NoHS + dw NoHS + dw VictoryRoad1FHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw ChampionsRoomHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw CeladonMansionRoofHouseHS + dw NoHS + dw NoHS + dw GameCornerHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw PokemonTower2FHS + dw PokemonTower3FHS + dw PokemonTower4FHS + dw PokemonTower5FHS + dw PokemonTower6FHS + dw PokemonTower7FHS + dw MrFujisHouseHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw WardensHouseHS + dw NoHS + dw NoHS + dw NoHS + dw SeafoamIslandsB1FHS + dw SeafoamIslandsB2FHS + dw SeafoamIslandsB3FHS + dw SeafoamIslandsB4FHS + dw NoHS + dw NoHS + dw PokemonMansion1FHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw FightingDojoHS + dw NoHS + dw NoHS + dw NoHS + dw SilphCo1FHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw SeafoamIslands1FHS + dw NoHS + dw VictoryRoad2FHS + dw NoHS + dw NoHS + dw NoHS + dw VictoryRoad3FHS + dw RocketHideoutB1FHS + dw RocketHideoutB2FHS + dw RocketHideoutB3FHS + dw RocketHideoutB4FHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw SilphCo2FHS + dw SilphCo3FHS + dw SilphCo4FHS + dw SilphCo5FHS + dw SilphCo6FHS + dw SilphCo7FHS + dw SilphCo8FHS + dw PokemonMansion2FHS + dw PokemonMansion3FHS + dw PokemonMansionB1FHS + dw SafariZoneEastHS + dw SafariZoneNorthHS + dw SafariZoneWestHS + dw SafariZoneCenterHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw CeruleanCave2FHS + dw CeruleanCaveB1FHS + dw CeruleanCaveHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw SilphCo9FHS + dw SilphCo10FHS + dw SilphCo11FHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw NoHS + dw UnusedMapF4HS + dw NoHS + dw NoHS + dw NoHS dw -1 ; end -; Structure: -; 3 bytes per object -; [Map_ID][Object_ID][H/S] -; -; Program stops reading when either: -; a) Map_ID = $FF -; b) Map_ID ≠ currentMapID -; -; This Data is loaded into RAM at wd5ce-$D5F?. (wMissableObjectList) +NoHS: + db $FF, $FF, $FF -; These constants come from the bytes for Predef functions: -Hide equ $11 -Show equ $15 +MissableObjects: +; entries correspond to HS_* constants +; format: map id, object id, HIDE/SHOW -MapHSXX: - db $FF,$FF,$FF -MapHS00: - db PALLET_TOWN,$01,Hide -MapHS01: - db VIRIDIAN_CITY,$05,Show - db VIRIDIAN_CITY,$07,Hide -MapHS02: - db PEWTER_CITY,$03,Show - db PEWTER_CITY,$05,Show -MapHS03: - db CERULEAN_CITY,$01,Hide - db CERULEAN_CITY,$02,Show - db CERULEAN_CITY,$06,Hide - db CERULEAN_CITY,$0A,Show - db CERULEAN_CITY,$0B,Show -MapHS0A: - db SAFFRON_CITY,$01,Show - db SAFFRON_CITY,$02,Show - db SAFFRON_CITY,$03,Show - db SAFFRON_CITY,$04,Show - db SAFFRON_CITY,$05,Show - db SAFFRON_CITY,$06,Show - db SAFFRON_CITY,$07,Show - db SAFFRON_CITY,$08,Hide - db SAFFRON_CITY,$09,Hide - db SAFFRON_CITY,$0A,Hide - db SAFFRON_CITY,$0B,Hide - db SAFFRON_CITY,$0C,Hide - db SAFFRON_CITY,$0D,Hide - db SAFFRON_CITY,$0E,Show - db SAFFRON_CITY,$0F,Hide -MapHS0D: - db ROUTE_2,$01,Show - db ROUTE_2,$02,Show -MapHS0F: - db ROUTE_4,$03,Show -MapHS14: - db ROUTE_9,$0A,Show -MapHS17: - db ROUTE_12,$01,Show - db ROUTE_12,$09,Show - db ROUTE_12,$0A,Show -MapHS1A: - db ROUTE_15,$0B,Show -MapHS1B: - db ROUTE_16,$07,Show -MapHS21: - db ROUTE_22,$01,Hide - db ROUTE_22,$02,Hide -MapHS23: - db ROUTE_24,$01,Show - db ROUTE_24,$08,Show -MapHS24: - db ROUTE_25,$0A,Show -MapHS27: - db BLUES_HOUSE,$01,Show - db BLUES_HOUSE,$02,Hide - db BLUES_HOUSE,$03,Show -MapHS28: - db OAKS_LAB,$01,Show - db OAKS_LAB,$02,Show - db OAKS_LAB,$03,Show - db OAKS_LAB,$04,Show - db OAKS_LAB,$05,Hide - db OAKS_LAB,$06,Show - db OAKS_LAB,$07,Show - db OAKS_LAB,$08,Hide -MapHS2D: - db VIRIDIAN_GYM,$01,Show - db VIRIDIAN_GYM,$0B,Show -MapHS34: - db MUSEUM_1F,$05,Show -MapHSE4: - db CERULEAN_CAVE_1F,$01,Show - db CERULEAN_CAVE_1F,$02,Show - db CERULEAN_CAVE_1F,$03,Show -MapHS8F: - db POKEMON_TOWER_2F,$01,Show -MapHS90: - db POKEMON_TOWER_3F,$04,Show -MapHS91: - db POKEMON_TOWER_4F,$04,Show - db POKEMON_TOWER_4F,$05,Show - db POKEMON_TOWER_4F,$06,Show -MapHS92: - db POKEMON_TOWER_5F,$06,Show -MapHS93: - db POKEMON_TOWER_6F,$04,Show - db POKEMON_TOWER_6F,$05,Show -MapHS94: - db POKEMON_TOWER_7F,$01,Show - db POKEMON_TOWER_7F,$02,Show - db POKEMON_TOWER_7F,$03,Show - db POKEMON_TOWER_7F,$04,Show -MapHS95: - db MR_FUJIS_HOUSE,$05,Hide -MapHS84: - db CELADON_MANSION_ROOF_HOUSE,$02,Show -MapHS87: - db GAME_CORNER,$0B,Show -MapHS9B: - db WARDENS_HOUSE,$02,Show -MapHSA5: - db POKEMON_MANSION_1F,$02,Show - db POKEMON_MANSION_1F,$03,Show -MapHSB1: - db FIGHTING_DOJO,$06,Show - db FIGHTING_DOJO,$07,Show -MapHSB5: - db SILPH_CO_1F,$01,Hide -MapHS53: - db POWER_PLANT,$01,Show - db POWER_PLANT,$02,Show - db POWER_PLANT,$03,Show - db POWER_PLANT,$04,Show - db POWER_PLANT,$05,Show - db POWER_PLANT,$06,Show - db POWER_PLANT,$07,Show - db POWER_PLANT,$08,Show - db POWER_PLANT,$09,Show - db POWER_PLANT,$0A,Show - db POWER_PLANT,$0B,Show - db POWER_PLANT,$0C,Show - db POWER_PLANT,$0D,Show - db POWER_PLANT,$0E,Show -MapHSC2: - db VICTORY_ROAD_2F,$06,Show - db VICTORY_ROAD_2F,$07,Show - db VICTORY_ROAD_2F,$08,Show - db VICTORY_ROAD_2F,$09,Show - db VICTORY_ROAD_2F,$0A,Show - db VICTORY_ROAD_2F,$0D,Show -MapHS58: - db BILLS_HOUSE,$01,Show - db BILLS_HOUSE,$02,Hide - db BILLS_HOUSE,$03,Hide -MapHS33: - db VIRIDIAN_FOREST,$05,Show - db VIRIDIAN_FOREST,$06,Show - db VIRIDIAN_FOREST,$07,Show -MapHS3B: - db MT_MOON_1F,$08,Show - db MT_MOON_1F,$09,Show - db MT_MOON_1F,$0A,Show - db MT_MOON_1F,$0B,Show - db MT_MOON_1F,$0C,Show - db MT_MOON_1F,$0D,Show -MapHS3D: - db MT_MOON_B2F,$06,Show - db MT_MOON_B2F,$07,Show - db MT_MOON_B2F,$08,Show - db MT_MOON_B2F,$09,Show -MapHS60: - db SS_ANNE_2F,$02,Hide -MapHS66: - db SS_ANNE_1F_ROOMS,$0A,Show -MapHS67: - db SS_ANNE_2F_ROOMS,$06,Show - db SS_ANNE_2F_ROOMS,$09,Show -MapHS68: - db SS_ANNE_B1F_ROOMS,$09,Show - db SS_ANNE_B1F_ROOMS,$0A,Show - db SS_ANNE_B1F_ROOMS,$0B,Show -MapHSC6: - db VICTORY_ROAD_3F,$05,Show - db VICTORY_ROAD_3F,$06,Show - db VICTORY_ROAD_3F,$0A,Show -MapHSC7: - db ROCKET_HIDEOUT_B1F,$06,Show - db ROCKET_HIDEOUT_B1F,$07,Show -MapHSC8: - db ROCKET_HIDEOUT_B2F,$02,Show - db ROCKET_HIDEOUT_B2F,$03,Show - db ROCKET_HIDEOUT_B2F,$04,Show - db ROCKET_HIDEOUT_B2F,$05,Show -MapHSC9: - db ROCKET_HIDEOUT_B3F,$03,Show - db ROCKET_HIDEOUT_B3F,$04,Show -MapHSCA: - db ROCKET_HIDEOUT_B4F,$01,Show - db ROCKET_HIDEOUT_B4F,$05,Show - db ROCKET_HIDEOUT_B4F,$06,Show - db ROCKET_HIDEOUT_B4F,$07,Show - db ROCKET_HIDEOUT_B4F,$08,Hide - db ROCKET_HIDEOUT_B4F,$09,Hide -MapHSCF: - db SILPH_CO_2F,$01,Show - db SILPH_CO_2F,$02,Show - db SILPH_CO_2F,$03,Show - db SILPH_CO_2F,$04,Show - db SILPH_CO_2F,$05,Show -MapHSD0: - db SILPH_CO_3F,$02,Show - db SILPH_CO_3F,$03,Show - db SILPH_CO_3F,$04,Show -MapHSD1: - db SILPH_CO_4F,$02,Show - db SILPH_CO_4F,$03,Show - db SILPH_CO_4F,$04,Show - db SILPH_CO_4F,$05,Show - db SILPH_CO_4F,$06,Show - db SILPH_CO_4F,$07,Show -MapHSD2: - db SILPH_CO_5F,$02,Show - db SILPH_CO_5F,$03,Show - db SILPH_CO_5F,$04,Show - db SILPH_CO_5F,$05,Show - db SILPH_CO_5F,$06,Show - db SILPH_CO_5F,$07,Show - db SILPH_CO_5F,$08,Show -MapHSD3: - db SILPH_CO_6F,$06,Show - db SILPH_CO_6F,$07,Show - db SILPH_CO_6F,$08,Show - db SILPH_CO_6F,$09,Show - db SILPH_CO_6F,$0A,Show -MapHSD4: - db SILPH_CO_7F,$05,Show - db SILPH_CO_7F,$06,Show - db SILPH_CO_7F,$07,Show - db SILPH_CO_7F,$08,Show - db SILPH_CO_7F,$09,Show - db SILPH_CO_7F,$0A,Show - db SILPH_CO_7F,$0B,Show - db SILPH_CO_7F,$0C,Show -MapHSD5: - db SILPH_CO_8F,$02,Show - db SILPH_CO_8F,$03,Show - db SILPH_CO_8F,$04,Show -MapHSE9: - db SILPH_CO_9F,$02,Show - db SILPH_CO_9F,$03,Show - db SILPH_CO_9F,$04,Show -MapHSEA: - db SILPH_CO_10F,$01,Show - db SILPH_CO_10F,$02,Show - db SILPH_CO_10F,$03,Show - db SILPH_CO_10F,$04,Show - db SILPH_CO_10F,$05,Show - db SILPH_CO_10F,$06,Show -MapHSEB: - db SILPH_CO_11F,$03,Show - db SILPH_CO_11F,$04,Show - db SILPH_CO_11F,$05,Show -MapHSF4: - db UNUSED_MAP_F4,$02,Show -MapHSD6: - db POKEMON_MANSION_2F,$02,Show -MapHSD7: - db POKEMON_MANSION_3F,$03,Show - db POKEMON_MANSION_3F,$04,Show -MapHSD8: - db POKEMON_MANSION_B1F,$03,Show - db POKEMON_MANSION_B1F,$04,Show - db POKEMON_MANSION_B1F,$05,Show - db POKEMON_MANSION_B1F,$06,Show - db POKEMON_MANSION_B1F,$08,Show -MapHSD9: - db SAFARI_ZONE_EAST,$01,Show - db SAFARI_ZONE_EAST,$02,Show - db SAFARI_ZONE_EAST,$03,Show - db SAFARI_ZONE_EAST,$04,Show -MapHSDA: - db SAFARI_ZONE_NORTH,$01,Show - db SAFARI_ZONE_NORTH,$02,Show -MapHSDB: - db SAFARI_ZONE_WEST,$01,Show - db SAFARI_ZONE_WEST,$02,Show - db SAFARI_ZONE_WEST,$03,Show - db SAFARI_ZONE_WEST,$04,Show -MapHSDC: - db SAFARI_ZONE_CENTER,$01,Show -MapHSE2: - db CERULEAN_CAVE_2F,$01,Show - db CERULEAN_CAVE_2F,$02,Show - db CERULEAN_CAVE_2F,$03,Show -MapHSE3: - db CERULEAN_CAVE_B1F,$01,Show - db CERULEAN_CAVE_B1F,$02,Show - db CERULEAN_CAVE_B1F,$03,Show -MapHS6C: - db VICTORY_ROAD_1F,$03,Show - db VICTORY_ROAD_1F,$04,Show -MapHS78: - db CHAMPIONS_ROOM,$02,Hide -MapHSC0: - db SEAFOAM_ISLANDS_1F,$01,Show - db SEAFOAM_ISLANDS_1F,$02,Show -MapHS9F: - db SEAFOAM_ISLANDS_B1F,$01,Hide - db SEAFOAM_ISLANDS_B1F,$02,Hide -MapHSA0: - db SEAFOAM_ISLANDS_B2F,$01,Hide - db SEAFOAM_ISLANDS_B2F,$02,Hide -MapHSA1: - db SEAFOAM_ISLANDS_B3F,$02,Show - db SEAFOAM_ISLANDS_B3F,$03,Show - db SEAFOAM_ISLANDS_B3F,$05,Hide - db SEAFOAM_ISLANDS_B3F,$06,Hide -MapHSA2: - db SEAFOAM_ISLANDS_B4F,$01,Hide - db SEAFOAM_ISLANDS_B4F,$02,Hide - db SEAFOAM_ISLANDS_B4F,$03,Show - - db $FF,$01,Show +PalletTownHS: + db PALLET_TOWN, $01, HIDE +ViridianCityHS: + db VIRIDIAN_CITY, $05, SHOW + db VIRIDIAN_CITY, $07, HIDE +PewterCityHS: + db PEWTER_CITY, $03, SHOW + db PEWTER_CITY, $05, SHOW +CeruleanCityHS: + db CERULEAN_CITY, $01, HIDE + db CERULEAN_CITY, $02, SHOW + db CERULEAN_CITY, $06, HIDE + db CERULEAN_CITY, $0A, SHOW + db CERULEAN_CITY, $0B, SHOW +SaffronCityHS: + db SAFFRON_CITY, $01, SHOW + db SAFFRON_CITY, $02, SHOW + db SAFFRON_CITY, $03, SHOW + db SAFFRON_CITY, $04, SHOW + db SAFFRON_CITY, $05, SHOW + db SAFFRON_CITY, $06, SHOW + db SAFFRON_CITY, $07, SHOW + db SAFFRON_CITY, $08, HIDE + db SAFFRON_CITY, $09, HIDE + db SAFFRON_CITY, $0A, HIDE + db SAFFRON_CITY, $0B, HIDE + db SAFFRON_CITY, $0C, HIDE + db SAFFRON_CITY, $0D, HIDE + db SAFFRON_CITY, $0E, SHOW + db SAFFRON_CITY, $0F, HIDE +Route2HS: + db ROUTE_2, $01, SHOW + db ROUTE_2, $02, SHOW +Route4HS: + db ROUTE_4, $03, SHOW +Route9HS: + db ROUTE_9, $0A, SHOW +Route12HS: + db ROUTE_12, $01, SHOW + db ROUTE_12, $09, SHOW + db ROUTE_12, $0A, SHOW +Route15HS: + db ROUTE_15, $0B, SHOW +Rout16eHS: + db ROUTE_16, $07, SHOW +Route22HS: + db ROUTE_22, $01, HIDE + db ROUTE_22, $02, HIDE +Route24HS: + db ROUTE_24, $01, SHOW + db ROUTE_24, $08, SHOW +Route25HS: + db ROUTE_25, $0A, SHOW +BluesHouseHS: + db BLUES_HOUSE, $01, SHOW + db BLUES_HOUSE, $02, HIDE + db BLUES_HOUSE, $03, SHOW +OaksLabHS: + db OAKS_LAB, $01, SHOW + db OAKS_LAB, $02, SHOW + db OAKS_LAB, $03, SHOW + db OAKS_LAB, $04, SHOW + db OAKS_LAB, $05, HIDE + db OAKS_LAB, $06, SHOW + db OAKS_LAB, $07, SHOW + db OAKS_LAB, $08, HIDE +ViridianGymHS: + db VIRIDIAN_GYM, $01, SHOW + db VIRIDIAN_GYM, $0B, SHOW +Museum1FHS: + db MUSEUM_1F, $05, SHOW +CeruleanCaveHS: + db CERULEAN_CAVE_1F, $01, SHOW + db CERULEAN_CAVE_1F, $02, SHOW + db CERULEAN_CAVE_1F, $03, SHOW +PokemonTower2FHS: + db POKEMON_TOWER_2F, $01, SHOW +PokemonTower3FHS: + db POKEMON_TOWER_3F, $04, SHOW +PokemonTower4FHS: + db POKEMON_TOWER_4F, $04, SHOW + db POKEMON_TOWER_4F, $05, SHOW + db POKEMON_TOWER_4F, $06, SHOW +PokemonTower5FHS: + db POKEMON_TOWER_5F, $06, SHOW +PokemonTower6FHS: + db POKEMON_TOWER_6F, $04, SHOW + db POKEMON_TOWER_6F, $05, SHOW +PokemonTower7FHS: + db POKEMON_TOWER_7F, $01, SHOW + db POKEMON_TOWER_7F, $02, SHOW + db POKEMON_TOWER_7F, $03, SHOW + db POKEMON_TOWER_7F, $04, SHOW +MrFujisHouseHS: + db MR_FUJIS_HOUSE, $05, HIDE +CeladonMansionRoofHouseHS: + db CELADON_MANSION_ROOF_HOUSE, $02, SHOW +GameCornerHS: + db GAME_CORNER, $0B, SHOW +WardensHouseHS: + db WARDENS_HOUSE, $02, SHOW +PokemonMansion1FHS: + db POKEMON_MANSION_1F, $02, SHOW + db POKEMON_MANSION_1F, $03, SHOW +FightingDojoHS: + db FIGHTING_DOJO, $06, SHOW + db FIGHTING_DOJO, $07, SHOW +SilphCo1FHS: + db SILPH_CO_1F, $01, HIDE +PowerPlantHS: + db POWER_PLANT, $01, SHOW + db POWER_PLANT, $02, SHOW + db POWER_PLANT, $03, SHOW + db POWER_PLANT, $04, SHOW + db POWER_PLANT, $05, SHOW + db POWER_PLANT, $06, SHOW + db POWER_PLANT, $07, SHOW + db POWER_PLANT, $08, SHOW + db POWER_PLANT, $09, SHOW + db POWER_PLANT, $0A, SHOW + db POWER_PLANT, $0B, SHOW + db POWER_PLANT, $0C, SHOW + db POWER_PLANT, $0D, SHOW + db POWER_PLANT, $0E, SHOW +VictoryRoad2FHS: + db VICTORY_ROAD_2F, $06, SHOW + db VICTORY_ROAD_2F, $07, SHOW + db VICTORY_ROAD_2F, $08, SHOW + db VICTORY_ROAD_2F, $09, SHOW + db VICTORY_ROAD_2F, $0A, SHOW + db VICTORY_ROAD_2F, $0D, SHOW +BillsHouseHS: + db BILLS_HOUSE, $01, SHOW + db BILLS_HOUSE, $02, HIDE + db BILLS_HOUSE, $03, HIDE +ViridianForestHS: + db VIRIDIAN_FOREST, $05, SHOW + db VIRIDIAN_FOREST, $06, SHOW + db VIRIDIAN_FOREST, $07, SHOW +MtMoon1FHS: + db MT_MOON_1F, $08, SHOW + db MT_MOON_1F, $09, SHOW + db MT_MOON_1F, $0A, SHOW + db MT_MOON_1F, $0B, SHOW + db MT_MOON_1F, $0C, SHOW + db MT_MOON_1F, $0D, SHOW +MtMoonB2FHS: + db MT_MOON_B2F, $06, SHOW + db MT_MOON_B2F, $07, SHOW + db MT_MOON_B2F, $08, SHOW + db MT_MOON_B2F, $09, SHOW +SSAnne2FHS: + db SS_ANNE_2F, $02, HIDE +SSAnne1FRoomsHS: + db SS_ANNE_1F_ROOMS, $0A, SHOW +SSAnne2FRoomsHS: + db SS_ANNE_2F_ROOMS, $06, SHOW + db SS_ANNE_2F_ROOMS, $09, SHOW +SSAnneB1FRoomsHS: + db SS_ANNE_B1F_ROOMS, $09, SHOW + db SS_ANNE_B1F_ROOMS, $0A, SHOW + db SS_ANNE_B1F_ROOMS, $0B, SHOW +VictoryRoad3FHS: + db VICTORY_ROAD_3F, $05, SHOW + db VICTORY_ROAD_3F, $06, SHOW + db VICTORY_ROAD_3F, $0A, SHOW +RocketHideoutB1FHS: + db ROCKET_HIDEOUT_B1F, $06, SHOW + db ROCKET_HIDEOUT_B1F, $07, SHOW +RocketHideoutB2FHS: + db ROCKET_HIDEOUT_B2F, $02, SHOW + db ROCKET_HIDEOUT_B2F, $03, SHOW + db ROCKET_HIDEOUT_B2F, $04, SHOW + db ROCKET_HIDEOUT_B2F, $05, SHOW +RocketHideoutB3FHS: + db ROCKET_HIDEOUT_B3F, $03, SHOW + db ROCKET_HIDEOUT_B3F, $04, SHOW +RocketHideoutB4FHS: + db ROCKET_HIDEOUT_B4F, $01, SHOW + db ROCKET_HIDEOUT_B4F, $05, SHOW + db ROCKET_HIDEOUT_B4F, $06, SHOW + db ROCKET_HIDEOUT_B4F, $07, SHOW + db ROCKET_HIDEOUT_B4F, $08, HIDE + db ROCKET_HIDEOUT_B4F, $09, HIDE +SilphCo2FHS: + db SILPH_CO_2F, $01, SHOW + db SILPH_CO_2F, $02, SHOW + db SILPH_CO_2F, $03, SHOW + db SILPH_CO_2F, $04, SHOW + db SILPH_CO_2F, $05, SHOW +SilphCo3FHS: + db SILPH_CO_3F, $02, SHOW + db SILPH_CO_3F, $03, SHOW + db SILPH_CO_3F, $04, SHOW +SilphCo4FHS: + db SILPH_CO_4F, $02, SHOW + db SILPH_CO_4F, $03, SHOW + db SILPH_CO_4F, $04, SHOW + db SILPH_CO_4F, $05, SHOW + db SILPH_CO_4F, $06, SHOW + db SILPH_CO_4F, $07, SHOW +SilphCo5FHS: + db SILPH_CO_5F, $02, SHOW + db SILPH_CO_5F, $03, SHOW + db SILPH_CO_5F, $04, SHOW + db SILPH_CO_5F, $05, SHOW + db SILPH_CO_5F, $06, SHOW + db SILPH_CO_5F, $07, SHOW + db SILPH_CO_5F, $08, SHOW +SilphCo6FHS: + db SILPH_CO_6F, $06, SHOW + db SILPH_CO_6F, $07, SHOW + db SILPH_CO_6F, $08, SHOW + db SILPH_CO_6F, $09, SHOW + db SILPH_CO_6F, $0A, SHOW +SilphCo7FHS: + db SILPH_CO_7F, $05, SHOW + db SILPH_CO_7F, $06, SHOW + db SILPH_CO_7F, $07, SHOW + db SILPH_CO_7F, $08, SHOW + db SILPH_CO_7F, $09, SHOW + db SILPH_CO_7F, $0A, SHOW + db SILPH_CO_7F, $0B, SHOW + db SILPH_CO_7F, $0C, SHOW +SilphCo8FHS: + db SILPH_CO_8F, $02, SHOW + db SILPH_CO_8F, $03, SHOW + db SILPH_CO_8F, $04, SHOW +SilphCo9FHS: + db SILPH_CO_9F, $02, SHOW + db SILPH_CO_9F, $03, SHOW + db SILPH_CO_9F, $04, SHOW +SilphCo10FHS: + db SILPH_CO_10F, $01, SHOW + db SILPH_CO_10F, $02, SHOW + db SILPH_CO_10F, $03, SHOW + db SILPH_CO_10F, $04, SHOW + db SILPH_CO_10F, $05, SHOW + db SILPH_CO_10F, $06, SHOW +SilphCo11FHS: + db SILPH_CO_11F, $03, SHOW + db SILPH_CO_11F, $04, SHOW + db SILPH_CO_11F, $05, SHOW +UnusedMapF4HS: + db UNUSED_MAP_F4, $02, SHOW +PokemonMansion2FHS: + db POKEMON_MANSION_2F, $02, SHOW +PokemonMansion3FHS: + db POKEMON_MANSION_3F, $03, SHOW + db POKEMON_MANSION_3F, $04, SHOW +PokemonMansionB1FHS: + db POKEMON_MANSION_B1F, $03, SHOW + db POKEMON_MANSION_B1F, $04, SHOW + db POKEMON_MANSION_B1F, $05, SHOW + db POKEMON_MANSION_B1F, $06, SHOW + db POKEMON_MANSION_B1F, $08, SHOW +SafariZoneEastHS: + db SAFARI_ZONE_EAST, $01, SHOW + db SAFARI_ZONE_EAST, $02, SHOW + db SAFARI_ZONE_EAST, $03, SHOW + db SAFARI_ZONE_EAST, $04, SHOW +SafariZoneNorthHS: + db SAFARI_ZONE_NORTH, $01, SHOW + db SAFARI_ZONE_NORTH, $02, SHOW +SafariZoneWestHS: + db SAFARI_ZONE_WEST, $01, SHOW + db SAFARI_ZONE_WEST, $02, SHOW + db SAFARI_ZONE_WEST, $03, SHOW + db SAFARI_ZONE_WEST, $04, SHOW +SafariZoneCenterHS: + db SAFARI_ZONE_CENTER, $01, SHOW +CeruleanCave2FHS: + db CERULEAN_CAVE_2F, $01, SHOW + db CERULEAN_CAVE_2F, $02, SHOW + db CERULEAN_CAVE_2F, $03, SHOW +CeruleanCaveB1FHS: + db CERULEAN_CAVE_B1F, $01, SHOW + db CERULEAN_CAVE_B1F, $02, SHOW + db CERULEAN_CAVE_B1F, $03, SHOW +VictoryRoad1FHS: + db VICTORY_ROAD_1F, $03, SHOW + db VICTORY_ROAD_1F, $04, SHOW +ChampionsRoomHS: + db CHAMPIONS_ROOM, $02, HIDE +SeafoamIslands1FHS: + db SEAFOAM_ISLANDS_1F, $01, SHOW + db SEAFOAM_ISLANDS_1F, $02, SHOW +SeafoamIslandsB1FHS: + db SEAFOAM_ISLANDS_B1F, $01, HIDE + db SEAFOAM_ISLANDS_B1F, $02, HIDE +SeafoamIslandsB2FHS: + db SEAFOAM_ISLANDS_B2F, $01, HIDE + db SEAFOAM_ISLANDS_B2F, $02, HIDE +SeafoamIslandsB3FHS: + db SEAFOAM_ISLANDS_B3F, $02, SHOW + db SEAFOAM_ISLANDS_B3F, $03, SHOW + db SEAFOAM_ISLANDS_B3F, $05, HIDE + db SEAFOAM_ISLANDS_B3F, $06, HIDE +SeafoamIslandsB4FHS: + db SEAFOAM_ISLANDS_B4F, $01, HIDE + db SEAFOAM_ISLANDS_B4F, $02, HIDE + db SEAFOAM_ISLANDS_B4F, $03, SHOW + db $FF, $01, SHOW ; end diff --git a/engine/overworld/missable_objects.asm b/engine/overworld/missable_objects.asm index a89fcb54..1ebe8064 100644 --- a/engine/overworld/missable_objects.asm +++ b/engine/overworld/missable_objects.asm @@ -20,7 +20,7 @@ MarkTownVisitedAndLoadMissableObjects:: LoadMissableObjects: ld l, a push hl - ld de, MapHS00 ; calculate difference between out pointer and the base pointer + ld de, MissableObjects ; calculate difference between out pointer and the base pointer ld a, l sub e jr nc, .asm_f13c @@ -49,7 +49,7 @@ LoadMissableObjects: pop hl .writeMissableObjectsListLoop ld a, [hli] - cp $ff + cp -1 jr z, .done ; end of list cp b jr nz, .done ; not for current map anymore @@ -63,7 +63,7 @@ LoadMissableObjects: inc de jr .writeMissableObjectsListLoop .done - ld a, $ff + ld a, -1 ld [de], a ; write sentinel ret @@ -72,17 +72,17 @@ InitializeMissableObjectsFlags: ld bc, wMissableObjectFlagsEnd - wMissableObjectFlags xor a call FillMemory ; clear missable objects flags - ld hl, MapHS00 + ld hl, MissableObjects xor a ld [wMissableObjectCounter], a .missableObjectsLoop ld a, [hli] - cp $ff ; end of list + cp -1 ; end of list ret z push hl inc hl ld a, [hl] - cp Hide + cp HIDE jr nz, .skip ld hl, wMissableObjectFlags ld a, [wMissableObjectCounter] @@ -105,7 +105,7 @@ IsObjectHidden: ld hl, wMissableObjectList .loop ld a, [hli] - cp $ff + cp -1 jr z, .notHidden ; not missable -> not hidden cp b ld a, [hli] -- cgit v1.2.3 From b30b14f3224e2e96b76ad5cba088eec601a72856 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 5 Jul 2020 14:40:20 -0400 Subject: Correct comments in AISwitchIfEnoughMons Fixes #244 --- engine/battle/trainer_ai.asm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/engine/battle/trainer_ai.asm b/engine/battle/trainer_ai.asm index bb1ebc1a..8373ef4f 100644 --- a/engine/battle/trainer_ai.asm +++ b/engine/battle/trainer_ai.asm @@ -549,7 +549,7 @@ AIPrintItemUseAndUpdateHPBar: jp DecrementAICount AISwitchIfEnoughMons: -; enemy trainer switches if there are 3 or more unfainted mons in party +; enemy trainer switches if there are 2 or more unfainted mons in party ld a, [wEnemyPartyCount] ld c, a ld hl, wEnemyMon1HP @@ -573,7 +573,7 @@ AISwitchIfEnoughMons: jr nz, .loop ld a, d ; how many available monsters are there? - cp 2 ; don't bother if only 1 or 2 + cp 2 ; don't bother if only 1 jp nc, SwitchEnemyMon and a ret -- cgit v1.2.3 From 155695cbfe35133bae1e6affae7f0a90457cfe9f Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 5 Jul 2020 15:01:29 -0400 Subject: Use constants for damage limits in CalculateDamage Fixes #255 --- constants/battle_constants.asm | 4 +++ engine/battle/core.asm | 62 +++++++++++++++++++++++------------------- 2 files changed, 38 insertions(+), 28 deletions(-) diff --git a/constants/battle_constants.asm b/constants/battle_constants.asm index e45ad7f1..bdcd2b98 100644 --- a/constants/battle_constants.asm +++ b/constants/battle_constants.asm @@ -13,6 +13,10 @@ BATTLE_TYPE_NORMAL EQU 0 BATTLE_TYPE_OLD_MAN EQU 1 BATTLE_TYPE_SAFARI EQU 2 +; damage limits before type effectiveness +MIN_NEUTRAL_DAMAGE EQU 2 +MAX_NEUTRAL_DAMAGE EQU 999 + ; fixed damage constants SONICBOOM_DAMAGE EQU 20 DRAGON_RAGE_DAMAGE EQU 40 diff --git a/engine/battle/core.asm b/engine/battle/core.asm index f89dc781..935764aa 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -4485,37 +4485,42 @@ CalculateDamage: ld b, 4 call Divide +; Update wCurDamage. +; Capped at MAX_NEUTRAL_DAMAGE - MIN_NEUTRAL_DAMAGE: 999 - 2 = 997. ld hl, wDamage ld b, [hl] ld a, [hQuotient + 3] add b ld [hQuotient + 3], a - jr nc, .asm_3dfd0 + jr nc, .dont_cap_1 ld a, [hQuotient + 2] inc a ld [hQuotient + 2], a and a - jr z, .asm_3e004 + jr z, .cap -.asm_3dfd0 +.dont_cap_1 ld a, [hQuotient] ld b, a ld a, [hQuotient + 1] or a - jr nz, .asm_3e004 + jr nz, .cap ld a, [hQuotient + 2] - cp 998 / $100 - jr c, .asm_3dfe8 - cp 998 / $100 + 1 - jr nc, .asm_3e004 + cp (MAX_NEUTRAL_DAMAGE - MIN_NEUTRAL_DAMAGE + 1) / $100 + jr c, .dont_cap_2 + + cp (MAX_NEUTRAL_DAMAGE - MIN_NEUTRAL_DAMAGE + 1) / $100 + 1 + jr nc, .cap + ld a, [hQuotient + 3] - cp 998 % $100 - jr nc, .asm_3e004 + cp (MAX_NEUTRAL_DAMAGE - MIN_NEUTRAL_DAMAGE + 1) % $100 + jr nc, .cap -.asm_3dfe8 +.dont_cap_2 inc hl + ld a, [hQuotient + 3] ld b, [hl] add b @@ -4525,36 +4530,37 @@ CalculateDamage: ld b, [hl] adc b ld [hl], a - jr c, .asm_3e004 + jr c, .cap ld a, [hl] - cp 998 / $100 - jr c, .asm_3e00a - cp 998 / $100 + 1 - jr nc, .asm_3e004 + cp (MAX_NEUTRAL_DAMAGE - MIN_NEUTRAL_DAMAGE + 1) / $100 + jr c, .dont_cap_3 + + cp (MAX_NEUTRAL_DAMAGE - MIN_NEUTRAL_DAMAGE + 1) / $100 + 1 + jr nc, .cap + inc hl ld a, [hld] - cp 998 % $100 - jr c, .asm_3e00a + cp (MAX_NEUTRAL_DAMAGE - MIN_NEUTRAL_DAMAGE + 1) % $100 + jr c, .dont_cap_3 -.asm_3e004 -; cap at 997 - ld a, 997 / $100 +.cap + ld a, (MAX_NEUTRAL_DAMAGE - MIN_NEUTRAL_DAMAGE) / $100 ld [hli], a - ld a, 997 % $100 + ld a, (MAX_NEUTRAL_DAMAGE - MIN_NEUTRAL_DAMAGE) % $100 ld [hld], a -.asm_3e00a -; add 2 +.dont_cap_3 +; Add back MIN_NEUTRAL_DAMAGE (capping at 999). inc hl ld a, [hl] - add 2 + add MIN_NEUTRAL_DAMAGE ld [hld], a - jr nc, .done + jr nc, .dont_floor inc [hl] +.dont_floor -.done -; minimum damage is 1 +; Returns nz and nc. ld a, 1 and a ret -- cgit v1.2.3 From f60ee848e8d5adff0ec77023e8aeb848f6678c45 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 5 Jul 2020 15:17:03 -0400 Subject: Make .gitignore consistent with pokegold and pokecrystal Closes #209 (pokeyellow will need all pokered's recent changes synced) --- .gitignore | 42 ++++++++++++++++++++++++------------------ 1 file changed, 24 insertions(+), 18 deletions(-) diff --git a/.gitignore b/.gitignore index dd1b5a9d..d319e60c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,10 @@ +# generated +*.tx +*.o + # precompiled python *.pyc - -# compiled object file -*.o +*$py.class # no binaries *.exe @@ -11,26 +13,30 @@ *.gbc *.gb +# save game files +*.sgm +*.sav +*.rtc +*.sn* +*.sa* +*.sg1 + # rgbds extras *.map *.sym -# converted image data -*.2bpp -*.1bpp -*.pic +# vim configuration +# http://www.vim.org/scripts/script.php?script_id=441 +.lvimrc -# swap files for vim +# swap files for vim and gedit .*.swp +*~ -# no data from extras/ -*.json - -# for any of the poor souls with save game files in their working directory -*.sgm -*.sav -*.sys +# macos files +.DS_STORE -# for vim configuration -# url: http://www.vim.org/scripts/script.php?script_id=441 -.lvimrc +# compiled graphics +*.1bpp +*.2bpp +*.pic -- cgit v1.2.3 From b2369b0961add3a7b7475870df4e46566903dd8b Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 5 Jul 2020 15:35:38 -0400 Subject: Port credits command constants from pokeyellow --- constants/credits_constants.asm | 8 +++++ data/credits/credits_order.asm | 75 +++++++++++++++++++++-------------------- engine/movie/credits.asm | 14 ++++---- 3 files changed, 53 insertions(+), 44 deletions(-) diff --git a/constants/credits_constants.asm b/constants/credits_constants.asm index c9d15e9b..2366f70f 100644 --- a/constants/credits_constants.asm +++ b/constants/credits_constants.asm @@ -63,3 +63,11 @@ const CRED_FUKUI ; $3D const CRED_CLUB ; $3E const CRED_PAAD ; $3F + +const_value = $FA + const CRED_THE_END ; $FA + const CRED_COPYRIGHT ; $FB + const CRED_TEXT ; $FC + const CRED_TEXT_FADE ; $FD + const CRED_TEXT_MON ; $FE + const CRED_TEXT_FADE_MON ; $FF diff --git a/data/credits/credits_order.asm b/data/credits/credits_order.asm index 20b9137f..f8454e91 100755 --- a/data/credits/credits_order.asm +++ b/data/credits/credits_order.asm @@ -1,39 +1,40 @@ CreditsOrder: ; subsequent credits elements will be displayed on separate lines. -; $FF, $FE, $FD, $FC, $FB, and $FA are commands that are used -; to go to the next set of credits texts. - db CRED_MON, CRED_VERSION, $FF - db CRED_DIRECTOR, CRED_TAJIRI, $FF - db CRED_PROGRAMMERS, CRED_TA_OOTA, CRED_MORIMOTO, $FD - db CRED_PROGRAMMERS, CRED_WATANABE, CRED_MASUDE, CRED_TAMADA, $FE - db CRED_CHAR_DESIGN, CRED_SUGIMORI, CRED_NISHIDA, $FF - db CRED_MUSIC, CRED_MASUDE, $FD - db CRED_SOUND_EFFECTS, CRED_MASUDE, $FE - db CRED_GAME_DESIGN, CRED_TAJIRI, $FF - db CRED_MONSTER_DESIGN, CRED_SUGIMORI, CRED_NISHIDA, CRED_FUZIWARA, $FD - db CRED_MONSTER_DESIGN, CRED_MORIMOTO, CRED_SA_OOTA, CRED_YOSHIKAWA, $FE - db CRED_GAME_SCENE, CRED_TAJIRI, $FD - db CRED_GAME_SCENE, CRED_TANIGUCHI, CRED_NONOMURA, CRED_ZINNAI, $FE - db CRED_PARAM, CRED_NISINO, CRED_TA_NAKAMURA, $FF - db CRED_MAP, CRED_TAJIRI, CRED_NISINO, $FD - db CRED_MAP, CRED_MATSUSIMA, CRED_NONOMURA, CRED_TANIGUCHI, $FE - db CRED_TEST, CRED_KAKEI, CRED_TSUCHIYA, $FD - db CRED_TEST, CRED_TA_NAKAMURA, CRED_YUDA, $FE - db CRED_SPECIAL, CRED_HISHIDA, CRED_SAKAI, $FD - db CRED_SPECIAL, CRED_YAMAGUCHI, CRED_YAMAMOTO, $FC - db CRED_SPECIAL, CRED_TOMISAWA, CRED_KAWAMOTO, CRED_TO_OOTA, $FE - db CRED_PRODUCERS, CRED_MIYAMOTO, $FD - db CRED_PRODUCERS, CRED_KAWAGUCHI, $FC - db CRED_PRODUCERS, CRED_ISHIHARA, $FE - db CRED_US_STAFF, $FD - db CRED_US_COORD, CRED_TILDEN, $FD - db CRED_US_COORD, CRED_KAWAKAMI, CRED_HI_NAKAMURA, $FC - db CRED_US_COORD, CRED_GIESE, CRED_OSBORNE, $FC - db CRED_TRANS, CRED_OGASAWARA, $FD - db CRED_PROGRAMMERS, CRED_MURAKAWA, CRED_FUKUI, $FD - db CRED_SPECIAL, CRED_IWATA, $FD - db CRED_SPECIAL, CRED_HARADA, $FC - db CRED_TEST, CRED_PAAD, CRED_CLUB, $FD - db CRED_PRODUCER, CRED_IZUSHI, $FD - db CRED_EXECUTIVE, CRED_YAMAUCHI, $FF - db $FB, $FF, $FA +; CRED_TEXT, CRED_TEXT_FADE, CRED_TEXT_MON, and CRED_TEXT_FADE_MON are +; commands that are used to go to the next set of credits texts. + db CRED_MON, CRED_VERSION, CRED_TEXT_FADE_MON + db CRED_DIRECTOR, CRED_TAJIRI, CRED_TEXT_FADE_MON + db CRED_PROGRAMMERS, CRED_TA_OOTA, CRED_MORIMOTO, CRED_TEXT_FADE + db CRED_PROGRAMMERS, CRED_WATANABE, CRED_MASUDE, CRED_TAMADA, CRED_TEXT_MON + db CRED_CHAR_DESIGN, CRED_SUGIMORI, CRED_NISHIDA, CRED_TEXT_FADE_MON + db CRED_MUSIC, CRED_MASUDE, CRED_TEXT_FADE + db CRED_SOUND_EFFECTS, CRED_MASUDE, CRED_TEXT_MON + db CRED_GAME_DESIGN, CRED_TAJIRI, CRED_TEXT_FADE_MON + db CRED_MONSTER_DESIGN, CRED_SUGIMORI, CRED_NISHIDA, CRED_FUZIWARA, CRED_TEXT_FADE + db CRED_MONSTER_DESIGN, CRED_MORIMOTO, CRED_SA_OOTA, CRED_YOSHIKAWA, CRED_TEXT_MON + db CRED_GAME_SCENE, CRED_TAJIRI, CRED_TEXT_FADE + db CRED_GAME_SCENE, CRED_TANIGUCHI, CRED_NONOMURA, CRED_ZINNAI, CRED_TEXT_MON + db CRED_PARAM, CRED_NISINO, CRED_TA_NAKAMURA, CRED_TEXT_FADE_MON + db CRED_MAP, CRED_TAJIRI, CRED_NISINO, CRED_TEXT_FADE + db CRED_MAP, CRED_MATSUSIMA, CRED_NONOMURA, CRED_TANIGUCHI, CRED_TEXT_MON + db CRED_TEST, CRED_KAKEI, CRED_TSUCHIYA, CRED_TEXT_FADE + db CRED_TEST, CRED_TA_NAKAMURA, CRED_YUDA, CRED_TEXT_MON + db CRED_SPECIAL, CRED_HISHIDA, CRED_SAKAI, CRED_TEXT_FADE + db CRED_SPECIAL, CRED_YAMAGUCHI, CRED_YAMAMOTO, CRED_TEXT + db CRED_SPECIAL, CRED_TOMISAWA, CRED_KAWAMOTO, CRED_TO_OOTA, CRED_TEXT_MON + db CRED_PRODUCERS, CRED_MIYAMOTO, CRED_TEXT_FADE + db CRED_PRODUCERS, CRED_KAWAGUCHI, CRED_TEXT + db CRED_PRODUCERS, CRED_ISHIHARA, CRED_TEXT_MON + db CRED_US_STAFF, CRED_TEXT_FADE + db CRED_US_COORD, CRED_TILDEN, CRED_TEXT_FADE + db CRED_US_COORD, CRED_KAWAKAMI, CRED_HI_NAKAMURA, CRED_TEXT + db CRED_US_COORD, CRED_GIESE, CRED_OSBORNE, CRED_TEXT + db CRED_TRANS, CRED_OGASAWARA, CRED_TEXT_FADE + db CRED_PROGRAMMERS, CRED_MURAKAWA, CRED_FUKUI, CRED_TEXT_FADE + db CRED_SPECIAL, CRED_IWATA, CRED_TEXT_FADE + db CRED_SPECIAL, CRED_HARADA, CRED_TEXT + db CRED_TEST, CRED_PAAD, CRED_CLUB, CRED_TEXT_FADE + db CRED_PRODUCER, CRED_IZUSHI, CRED_TEXT_FADE + db CRED_EXECUTIVE, CRED_YAMAUCHI, CRED_TEXT_FADE_MON + db CRED_COPYRIGHT, CRED_TEXT_FADE_MON + db CRED_THE_END diff --git a/engine/movie/credits.asm b/engine/movie/credits.asm index 4ba50615..d8e593a5 100755 --- a/engine/movie/credits.asm +++ b/engine/movie/credits.asm @@ -180,17 +180,17 @@ Credits: ld a, [de] inc de push de - cp $ff + cp CRED_TEXT_FADE_MON jr z, .fadeInTextAndShowMon - cp $fe + cp CRED_TEXT_MON jr z, .showTextAndShowMon - cp $fd + cp CRED_TEXT_FADE jr z, .fadeInText - cp $fc + cp CRED_TEXT jr z, .showText - cp $fb + cp CRED_COPYRIGHT jr z, .showCopyrightText - cp $fa + cp CRED_THE_END jr z, .showTheEnd push hl push hl @@ -205,7 +205,7 @@ Credits: ld a, [de] inc de ld c, a - ld b, $ff + ld b, -1 pop hl add hl, bc call PlaceString -- cgit v1.2.3 From 6137f5accb77db2d5d07df2f058e85115caf073c Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 5 Jul 2020 15:57:07 -0400 Subject: Port and improve hidden_object macro from pokeyellow --- data/events/hidden_objects.asm | 994 +++++++++++++++++------------------------ 1 file changed, 401 insertions(+), 593 deletions(-) diff --git a/data/events/hidden_objects.asm b/data/events/hidden_objects.asm index 8fc539ef..ed30f81b 100755 --- a/data/events/hidden_objects.asm +++ b/data/events/hidden_objects.asm @@ -84,7 +84,7 @@ HiddenObjectMaps: db VERMILION_CITY db CERULEAN_CITY db ROUTE_4 - db $FF + db -1 ; end HiddenObjectPointers: ; each of these pointers is for the corresponding map in HiddenObjectMaps @@ -174,680 +174,488 @@ HiddenObjectPointers: dw CeruleanCityHiddenObjects dw Route4HiddenObjects -; format: y-coord, x-coord, text id/item id, object routine +hidden_object: MACRO + db \2 ; y coord + db \1 ; x coord + db \3 ; item id + dba \4 ; object routine +ENDM + +hidden_text_predef: MACRO + db \2 ; y coord + db \1 ; x coord + db_tx_pre \3 ; text id + dba \4 ; object routine +ENDM + TradeCenterHiddenObjects: - db $04,$05,$d0 - db BANK(CableClubRightGameboy) - dw CableClubRightGameboy - db $04,$04,$d0 - db BANK(CableClubLeftGameboy) - dw CableClubLeftGameboy - db $FF + hidden_object 5, 4, $d0, CableClubRightGameboy + hidden_object 4, 4, $d0, CableClubLeftGameboy + db -1 ; end + ColosseumHiddenObjects: - db $04,$05,$d0 - db BANK(CableClubRightGameboy) - dw CableClubRightGameboy - db $04,$04,$d0 - db BANK(CableClubLeftGameboy) - dw CableClubLeftGameboy - db $FF + hidden_object 5, 4, $d0, CableClubRightGameboy + hidden_object 4, 4, $d0, CableClubLeftGameboy + db -1 ; end + RedsHouse2FHiddenObjects: - db $01,$00,$04 - dbw BANK(OpenRedsPC), OpenRedsPC - db $05,$03,$d0 - dbw BANK(PrintRedSNESText), PrintRedSNESText - db $FF + hidden_object 0, 1, SPRITE_FACING_UP, OpenRedsPC + hidden_object 3, 5, $d0, PrintRedSNESText + db -1 ; end + BluesHouseHiddenObjects: - db $01,$00,$04 - db BANK(PrintBookcaseText) - dw PrintBookcaseText - db $01,$01,$04 - db BANK(PrintBookcaseText) - dw PrintBookcaseText - db $01,$07,$04 - db BANK(PrintBookcaseText) - dw PrintBookcaseText - db $FF + hidden_object 0, 1, SPRITE_FACING_UP, PrintBookcaseText + hidden_object 1, 1, SPRITE_FACING_UP, PrintBookcaseText + hidden_object 7, 1, SPRITE_FACING_UP, PrintBookcaseText + db -1 ; end + OaksLabHiddenObjects: - db $00,$04,$04 - db BANK(DisplayOakLabLeftPoster) - dw DisplayOakLabLeftPoster - db $00,$05,$04 - db BANK(DisplayOakLabRightPoster) - dw DisplayOakLabRightPoster - db $01,$00,$04 - db BANK(DisplayOakLabEmailText) - dw DisplayOakLabEmailText - db $01,$01,$04 - db BANK(DisplayOakLabEmailText) - dw DisplayOakLabEmailText - db $FF + hidden_object 4, 0, SPRITE_FACING_UP, DisplayOakLabLeftPoster + hidden_object 5, 0, SPRITE_FACING_UP, DisplayOakLabRightPoster + hidden_object 0, 1, SPRITE_FACING_UP, DisplayOakLabEmailText + hidden_object 1, 1, SPRITE_FACING_UP, DisplayOakLabEmailText + db -1 ; end + ViridianPokecenterHiddenObjects: - db $04,$00,$08 - db BANK(PrintBenchGuyText) - dw PrintBenchGuyText - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF + hidden_object 0, 4, SPRITE_FACING_LEFT, PrintBenchGuyText + hidden_object 13, 3, SPRITE_FACING_UP, OpenPokemonCenterPC + db -1 ; end + ViridianMartHiddenObjects: - db $FF + db -1 ; end + ViridianSchoolHiddenObjects: - db $04,$03,(ViridianSchoolNotebook_id - TextPredefs) / 2 + 1 - db BANK(PrintNotebookText) - dw PrintNotebookText - db $00,$03,(ViridianSchoolBlackboard_id - TextPredefs) / 2 + 1 - db BANK(PrintBlackboardLinkCableText) - dw PrintBlackboardLinkCableText - db $FF + hidden_text_predef 3, 4, ViridianSchoolNotebook, PrintNotebookText + hidden_text_predef 3, 0, ViridianSchoolBlackboard, PrintBlackboardLinkCableText + db -1 ; end + ViridianGymHiddenObjects: - db $0f,$0f,$04 - dbw BANK(GymStatues),GymStatues - db $0f,$12,$04 - dbw BANK(GymStatues),GymStatues - db $FF + hidden_object 15, 15, SPRITE_FACING_UP, GymStatues + hidden_object 18, 15, SPRITE_FACING_UP, GymStatues + db -1 ; end + Museum1FHiddenObjects: - db $03,$02,$04 - dbw BANK(AerodactylFossil), AerodactylFossil - db $06,$02,$04 - dbw BANK(KabutopsFossil), KabutopsFossil - db $FF + hidden_object 2, 3, SPRITE_FACING_UP, AerodactylFossil + hidden_object 2, 6, SPRITE_FACING_UP, KabutopsFossil + db -1 ; end + PewterGymHiddenObjects: - db $0a,$03,$04 - dbw BANK(GymStatues),GymStatues - db $0a,$06,$04 - dbw BANK(GymStatues),GymStatues - db $FF + hidden_object 3, 10, SPRITE_FACING_UP, GymStatues + hidden_object 6, 10, SPRITE_FACING_UP, GymStatues + db -1 ; end + PewterMartHiddenObjects: - db $FF + db -1 ; end + PewterPokecenterHiddenObjects: - db $04,$00,$08 - db BANK(PrintBenchGuyText) - dw PrintBenchGuyText - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF + hidden_object 0, 4, SPRITE_FACING_LEFT, PrintBenchGuyText + hidden_object 13, 3, SPRITE_FACING_UP, OpenPokemonCenterPC + db -1 ; end + CeruleanPokecenterHiddenObjects: - db $04,$00,$08 - db BANK(PrintBenchGuyText) - dw PrintBenchGuyText - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF + hidden_object 0, 4, SPRITE_FACING_LEFT, PrintBenchGuyText + hidden_object 13, 3, SPRITE_FACING_UP, OpenPokemonCenterPC + db -1 ; end + CeruleanGymHiddenObjects: - db $0b,$03,$04 - dbw BANK(GymStatues),GymStatues - db $0b,$06,$04 - dbw BANK(GymStatues),GymStatues - db $FF + hidden_object 3, 11, SPRITE_FACING_UP, GymStatues + hidden_object 6, 11, SPRITE_FACING_UP, GymStatues + db -1 ; end + CeruleanMartHiddenObjects: - db $FF + db -1 ; end + LavenderPokecenterHiddenObjects: - db $04,$00,$08 - db BANK(PrintBenchGuyText) - dw PrintBenchGuyText - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF + hidden_object 0, 4, SPRITE_FACING_LEFT, PrintBenchGuyText + hidden_object 13, 3, SPRITE_FACING_UP, OpenPokemonCenterPC + db -1 ; end + VermilionPokecenterHiddenObjects: - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $04,$00,$04 - db BANK(PrintBenchGuyText) - dw PrintBenchGuyText - db $FF + hidden_object 13, 3, SPRITE_FACING_UP, OpenPokemonCenterPC + hidden_object 0, 4, SPRITE_FACING_UP, PrintBenchGuyText + db -1 ; end + VermilionGymHiddenObjects: - db $0e,$03,$04 - dbw BANK(GymStatues), GymStatues - db $0e,$06,$04 - dbw BANK(GymStatues), GymStatues - db $01,$06,$00 - dbw BANK(PrintTrashText), PrintTrashText - db $07,$01,$00 - dbw BANK(GymTrashScript), GymTrashScript - db $09,$01,$01 - dbw BANK(GymTrashScript), GymTrashScript - db $0b,$01,$02 - dbw BANK(GymTrashScript), GymTrashScript - db $07,$03,$03 - dbw BANK(GymTrashScript), GymTrashScript - db $09,$03,$04 - dbw BANK(GymTrashScript), GymTrashScript - db $0b,$03,$05 - dbw BANK(GymTrashScript), GymTrashScript - db $07,$05,$06 - dbw BANK(GymTrashScript), GymTrashScript - db $09,$05,$07 - dbw BANK(GymTrashScript), GymTrashScript - db $0b,$05,$08 - dbw BANK(GymTrashScript), GymTrashScript - db $07,$07,$09 - dbw BANK(GymTrashScript), GymTrashScript - db $09,$07,$0a - dbw BANK(GymTrashScript), GymTrashScript - db $0b,$07,$0b - dbw BANK(GymTrashScript), GymTrashScript - db $07,$09,$0c - dbw BANK(GymTrashScript), GymTrashScript - db $09,$09,$0d - dbw BANK(GymTrashScript), GymTrashScript - db $0b,$09,$0e - dbw BANK(GymTrashScript), GymTrashScript - db $FF + hidden_object 3, 14, SPRITE_FACING_UP, GymStatues + hidden_object 6, 14, SPRITE_FACING_UP, GymStatues + hidden_object 6, 1, SPRITE_FACING_DOWN, PrintTrashText + hidden_object 1, 7, 0, GymTrashScript + hidden_object 1, 9, 1, GymTrashScript + hidden_object 1, 11, 2, GymTrashScript + hidden_object 3, 7, 3, GymTrashScript + hidden_object 3, 9, 4, GymTrashScript + hidden_object 3, 11, 5, GymTrashScript + hidden_object 5, 7, 6, GymTrashScript + hidden_object 5, 9, 7, GymTrashScript + hidden_object 5, 11, 8, GymTrashScript + hidden_object 7, 7, 9, GymTrashScript + hidden_object 7, 9, 10, GymTrashScript + hidden_object 7, 11, 11, GymTrashScript + hidden_object 9, 7, 12, GymTrashScript + hidden_object 9, 9, 13, GymTrashScript + hidden_object 9, 11, 14, GymTrashScript + db -1 ; end + CeladonMansion2HiddenObjects: - db $05,$00,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF + hidden_object 0, 5, SPRITE_FACING_UP, OpenPokemonCenterPC + db -1 ; end + CeladonPokecenterHiddenObjects: - db $04,$00,$08 - db BANK(PrintBenchGuyText) - dw PrintBenchGuyText - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF + hidden_object 0, 4, SPRITE_FACING_LEFT, PrintBenchGuyText + hidden_object 13, 3, SPRITE_FACING_UP, OpenPokemonCenterPC + db -1 ; end + CeladonGymHiddenObjects: - db $0f,$03,$04 - dbw BANK(GymStatues),GymStatues - db $0f,$06,$04 - dbw BANK(GymStatues),GymStatues - db $FF + hidden_object 3, 15, SPRITE_FACING_UP, GymStatues + hidden_object 6, 15, SPRITE_FACING_UP, GymStatues + db -1 ; end + GameCornerHiddenObjects: - db $0f,$12,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0e,$12,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0d,$12,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0c,$12,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0b,$12,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0a,$12,$ff ; "Someone's Keys" - dbw BANK(StartSlotMachine), StartSlotMachine - db $0a,$0d,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0b,$0d,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0c,$0d,$fe ; "Out To Lunch" - dbw BANK(StartSlotMachine), StartSlotMachine - db $0d,$0d,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0e,$0d,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0f,$0d,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0f,$0c,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0e,$0c,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0d,$0c,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0c,$0c,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0b,$0c,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0a,$0c,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0a,$07,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0b,$07,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0c,$07,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0d,$07,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0e,$07,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0f,$07,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0f,$06,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0e,$06,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0d,$06,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0c,$06,$fd ; "Out Of Order" - dbw BANK(StartSlotMachine), StartSlotMachine - db $0b,$06,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0a,$06,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0a,$01,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0b,$01,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0c,$01,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0d,$01,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0e,$01,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0f,$01,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $08,$00,COIN+10 - dbw BANK(HiddenCoins),HiddenCoins - db $10,$01,COIN+10 - dbw BANK(HiddenCoins),HiddenCoins - db $0b,$03,COIN+20 - dbw BANK(HiddenCoins),HiddenCoins - db $0e,$03,COIN+10 - dbw BANK(HiddenCoins),HiddenCoins - db $0c,$04,COIN+10 - dbw BANK(HiddenCoins),HiddenCoins - db $0c,$09,COIN+20 - dbw BANK(HiddenCoins),HiddenCoins - db $0f,$09,COIN+10 - dbw BANK(HiddenCoins),HiddenCoins - db $0e,$10,COIN+10 - dbw BANK(HiddenCoins),HiddenCoins - db $10,$0a,COIN+10 - dbw BANK(HiddenCoins),HiddenCoins - db $07,$0b,COIN+40 - dbw BANK(HiddenCoins),HiddenCoins - db $08,$0f,COIN+100 - dbw BANK(HiddenCoins),HiddenCoins - db $0f,$0c,COIN+10 - dbw BANK(HiddenCoins),HiddenCoins - db $FF + hidden_object 18, 15, $d0, StartSlotMachine + hidden_object 18, 14, $d0, StartSlotMachine + hidden_object 18, 13, $d0, StartSlotMachine + hidden_object 18, 12, $d0, StartSlotMachine + hidden_object 18, 11, $d0, StartSlotMachine + hidden_object 18, 10, $ff, StartSlotMachine ; "Someone's Keys" + hidden_object 13, 10, $d0, StartSlotMachine + hidden_object 13, 11, $d0, StartSlotMachine + hidden_object 13, 12, $fe, StartSlotMachine ; "Out To Lunch" + hidden_object 13, 13, $d0, StartSlotMachine + hidden_object 13, 14, $d0, StartSlotMachine + hidden_object 13, 15, $d0, StartSlotMachine + hidden_object 12, 15, $d0, StartSlotMachine + hidden_object 12, 14, $d0, StartSlotMachine + hidden_object 12, 13, $d0, StartSlotMachine + hidden_object 12, 12, $d0, StartSlotMachine + hidden_object 12, 11, $d0, StartSlotMachine + hidden_object 12, 10, $d0, StartSlotMachine + hidden_object 7, 10, $d0, StartSlotMachine + hidden_object 7, 11, $d0, StartSlotMachine + hidden_object 7, 12, $d0, StartSlotMachine + hidden_object 7, 13, $d0, StartSlotMachine + hidden_object 7, 14, $d0, StartSlotMachine + hidden_object 7, 15, $d0, StartSlotMachine + hidden_object 6, 15, $d0, StartSlotMachine + hidden_object 6, 14, $d0, StartSlotMachine + hidden_object 6, 13, $d0, StartSlotMachine + hidden_object 6, 12, $fd, StartSlotMachine ; "Out Of Order" + hidden_object 6, 11, $d0, StartSlotMachine + hidden_object 6, 10, $d0, StartSlotMachine + hidden_object 1, 10, $d0, StartSlotMachine + hidden_object 1, 11, $d0, StartSlotMachine + hidden_object 1, 12, $d0, StartSlotMachine + hidden_object 1, 13, $d0, StartSlotMachine + hidden_object 1, 14, $d0, StartSlotMachine + hidden_object 1, 15, $d0, StartSlotMachine + hidden_object 0, 8, COIN+10, HiddenCoins + hidden_object 1, 16, COIN+10, HiddenCoins + hidden_object 3, 11, COIN+20, HiddenCoins + hidden_object 3, 14, COIN+10, HiddenCoins + hidden_object 4, 12, COIN+10, HiddenCoins + hidden_object 9, 12, COIN+20, HiddenCoins + hidden_object 9, 15, COIN+10, HiddenCoins + hidden_object 16, 14, COIN+10, HiddenCoins + hidden_object 10, 16, COIN+10, HiddenCoins + hidden_object 11, 7, COIN+40, HiddenCoins + hidden_object 15, 8, COIN+100, HiddenCoins + hidden_object 12, 15, COIN+10, HiddenCoins + db -1 ; end + CeladonHotelHiddenObjects: - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $04,$00,$08 - db BANK(PrintBenchGuyText) - dw PrintBenchGuyText - db $FF + hidden_object 13, 3, SPRITE_FACING_UP, OpenPokemonCenterPC + hidden_object 0, 4, SPRITE_FACING_LEFT, PrintBenchGuyText + db -1 ; end + FuchsiaPokecenterHiddenObjects: - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $04,$00,$04 - db BANK(PrintBenchGuyText) - dw PrintBenchGuyText - db $FF + hidden_object 13, 3, SPRITE_FACING_UP, OpenPokemonCenterPC + hidden_object 0, 4, SPRITE_FACING_UP, PrintBenchGuyText + db -1 ; end + FuchsiaGymHiddenObjects: - db $0f,$03,$04 - dbw BANK(GymStatues),GymStatues - db $0f,$06,$04 - dbw BANK(GymStatues),GymStatues - db $FF + hidden_object 3, 15, SPRITE_FACING_UP, GymStatues + hidden_object 6, 15, SPRITE_FACING_UP, GymStatues + db -1 ; end + CinnabarGymHiddenObjects: - db $0d,$11,$04 - dbw BANK(GymStatues),GymStatues - db $07,$0f,$01 - db BANK(PrintCinnabarQuiz) - dw PrintCinnabarQuiz - db $01,$0a,$12 - db BANK(PrintCinnabarQuiz) - dw PrintCinnabarQuiz - db $07,$09,$13 - db BANK(PrintCinnabarQuiz) - dw PrintCinnabarQuiz - db $0d,$09,$14 - db BANK(PrintCinnabarQuiz) - dw PrintCinnabarQuiz - db $0d,$01,$05 - db BANK(PrintCinnabarQuiz) - dw PrintCinnabarQuiz - db $07,$01,$16 - db BANK(PrintCinnabarQuiz) - dw PrintCinnabarQuiz - db $FF + hidden_object 17, 13, SPRITE_FACING_UP, GymStatues + hidden_object 15, 7, (0 << 4) | 1, PrintCinnabarQuiz + hidden_object 10, 1, (1 << 4) | 2, PrintCinnabarQuiz + hidden_object 9, 7, (1 << 4) | 3, PrintCinnabarQuiz + hidden_object 9, 13, (1 << 4) | 4, PrintCinnabarQuiz + hidden_object 1, 13, (0 << 4) | 5, PrintCinnabarQuiz + hidden_object 1, 7, (1 << 4) | 6, PrintCinnabarQuiz + db -1 ; end + CinnabarPokecenterHiddenObjects: - db $04,$00,$04 - db BANK(PrintBenchGuyText) - dw PrintBenchGuyText - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF + hidden_object 0, 4, SPRITE_FACING_UP, PrintBenchGuyText + hidden_object 13, 3, SPRITE_FACING_UP, OpenPokemonCenterPC + db -1 ; end + SaffronGymHiddenObjects: - db $0f,$09,$04 - dbw BANK(GymStatues),GymStatues - db $FF + hidden_object 9, 15, SPRITE_FACING_UP, GymStatues + db -1 ; end + MtMoonPokecenterHiddenObjects: - db $04,$00,$08 - db BANK(PrintBenchGuyText) - dw PrintBenchGuyText - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF + hidden_object 0, 4, SPRITE_FACING_LEFT, PrintBenchGuyText + hidden_object 13, 3, SPRITE_FACING_UP, OpenPokemonCenterPC + db -1 ; end + RockTunnelPokecenterHiddenObjects: - db $04,$00,$08 - db BANK(PrintBenchGuyText) - dw PrintBenchGuyText - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF + hidden_object 0, 4, SPRITE_FACING_LEFT, PrintBenchGuyText + hidden_object 13, 3, SPRITE_FACING_UP, OpenPokemonCenterPC + db -1 ; end + ViridianForestHiddenObjects: - db $12,$01,POTION - dbw BANK(HiddenItems),HiddenItems - db $2a,$10,ANTIDOTE - dbw BANK(HiddenItems),HiddenItems - db $FF + hidden_object 1, 18, POTION, HiddenItems + hidden_object 16, 42, ANTIDOTE, HiddenItems + db -1 ; end + MtMoon3HiddenObjects: - db $0c,$12,MOON_STONE - dbw BANK(HiddenItems),HiddenItems - db $09,$21,ETHER - dbw BANK(HiddenItems),HiddenItems - db $FF + hidden_object 18, 12, MOON_STONE, HiddenItems + hidden_object 33, 9, ETHER, HiddenItems + db -1 ; end + IndigoPlateauHiddenObjects: - db $0d,$08,$ff - db BANK(PrintIndigoPlateauHQText) - dw PrintIndigoPlateauHQText - db $0d,$0b,$00 - db BANK(PrintIndigoPlateauHQText) - dw PrintIndigoPlateauHQText - db $FF + hidden_object 8, 13, $ff, PrintIndigoPlateauHQText + hidden_object 11, 13, SPRITE_FACING_DOWN, PrintIndigoPlateauHQText + db -1 ; end + Route25HiddenObjects: - db $03,$26,ETHER - dbw BANK(HiddenItems),HiddenItems - db $01,$0a,ELIXER - dbw BANK(HiddenItems),HiddenItems - db $FF + hidden_object 38, 3, ETHER, HiddenItems + hidden_object 10, 1, ELIXER, HiddenItems + db -1 ; end + Route9HiddenObjects: - db $07,$0e,ETHER - dbw BANK(HiddenItems),HiddenItems - db $FF + hidden_object 14, 7, ETHER, HiddenItems + db -1 ; end + SSAnne6HiddenObjects: - db $05,$0d,$00 - dbw BANK(PrintTrashText), PrintTrashText - db $07,$0d,$00 - dbw BANK(PrintTrashText), PrintTrashText - db $09,$0d,GREAT_BALL - dbw BANK(HiddenItems),HiddenItems - db $FF + hidden_object 13, 5, SPRITE_FACING_DOWN, PrintTrashText + hidden_object 13, 7, SPRITE_FACING_DOWN, PrintTrashText + hidden_object 13, 9, GREAT_BALL, HiddenItems + db -1 ; end + SSAnne10HiddenObjects: - db $01,$03,HYPER_POTION - dbw BANK(HiddenItems),HiddenItems - db $FF + hidden_object 3, 1, HYPER_POTION, HiddenItems + db -1 ; end + Route10HiddenObjects: - db $11,$09,SUPER_POTION - dbw BANK(HiddenItems),HiddenItems - db $35,$10,MAX_ETHER - dbw BANK(HiddenItems),HiddenItems - db $FF + hidden_object 9, 17, SUPER_POTION, HiddenItems + hidden_object 16, 53, MAX_ETHER, HiddenItems + db -1 ; end + RocketHideout1HiddenObjects: - db $0f,$15,PP_UP - dbw BANK(HiddenItems),HiddenItems - db $FF + hidden_object 21, 15, PP_UP, HiddenItems + db -1 ; end + RocketHideout3HiddenObjects: - db $11,$1b,NUGGET - dbw BANK(HiddenItems),HiddenItems - db $FF + hidden_object 27, 17, NUGGET, HiddenItems + db -1 ; end + RocketHideout4HiddenObjects: - db $01,$19,SUPER_POTION - dbw BANK(HiddenItems),HiddenItems - db $FF + hidden_object 25, 1, SUPER_POTION, HiddenItems + db -1 ; end + SaffronPokecenterHiddenObjects: - db $04,$00,$04 - db BANK(PrintBenchGuyText) - dw PrintBenchGuyText - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF + hidden_object 0, 4, SPRITE_FACING_UP, PrintBenchGuyText + hidden_object 13, 3, SPRITE_FACING_UP, OpenPokemonCenterPC + db -1 ; end + PokemonTower5HiddenObjects: - db $0c,$04,ELIXER - dbw BANK(HiddenItems),HiddenItems - db $FF + hidden_object 4, 12, ELIXER, HiddenItems + db -1 ; end + Route13HiddenObjects: - db $0e,$01,PP_UP - dbw BANK(HiddenItems),HiddenItems - db $0d,$10,CALCIUM - dbw BANK(HiddenItems),HiddenItems - db $FF + hidden_object 1, 14, PP_UP, HiddenItems + hidden_object 16, 13, CALCIUM, HiddenItems + db -1 ; end + SafariZoneEntranceHiddenObjects: - db $01,$0a,NUGGET - dbw BANK(HiddenItems),HiddenItems - db $FF + hidden_object 10, 1, NUGGET, HiddenItems + db -1 ; end + SafariZoneWestHiddenObjects: - db $05,$06,REVIVE - dbw BANK(HiddenItems),HiddenItems - db $FF + hidden_object 6, 5, REVIVE, HiddenItems + db -1 ; end + SilphCo5FHiddenObjects: - db $03,$0c,ELIXER - dbw BANK(HiddenItems),HiddenItems - db $FF + hidden_object 12, 3, ELIXER, HiddenItems + db -1 ; end + SilphCo9FHiddenObjects: - db $0f,$02,MAX_POTION - dbw BANK(HiddenItems),HiddenItems - db $FF + hidden_object 2, 15, MAX_POTION, HiddenItems + db -1 ; end + CopycatsHouse2FHiddenObjects: - db $01,$01,NUGGET - dbw BANK(HiddenItems),HiddenItems - db $FF + hidden_object 1, 1, NUGGET, HiddenItems + db -1 ; end + CeruleanCave1HiddenObjects: - db $0b,$0e,RARE_CANDY - dbw BANK(HiddenItems),HiddenItems - db $FF + hidden_object 14, 11, RARE_CANDY, HiddenItems + db -1 ; end + CeruleanCave3HiddenObjects: - db $03,$1b,ULTRA_BALL - dbw BANK(HiddenItems),HiddenItems - db $FF + hidden_object 27, 3, ULTRA_BALL, HiddenItems + db -1 ; end + PowerPlantHiddenObjects: - db $10,$11,MAX_ELIXER - dbw BANK(HiddenItems),HiddenItems - db $01,$0c,PP_UP - dbw BANK(HiddenItems),HiddenItems - db $FF + hidden_object 17, 16, MAX_ELIXER, HiddenItems + hidden_object 12, 1, PP_UP, HiddenItems + db -1 ; end + SeafoamIslands3HiddenObjects: - db $0f,$0f,NUGGET - dbw BANK(HiddenItems),HiddenItems - db $FF + hidden_object 15, 15, NUGGET, HiddenItems + db -1 ; end + SeafoamIslands5HiddenObjects: - db $11,$19,ULTRA_BALL - dbw BANK(HiddenItems),HiddenItems - db $FF + hidden_object 25, 17, ULTRA_BALL, HiddenItems + db -1 ; end + Mansion1HiddenObjects: - db $10,$08,MOON_STONE - dbw BANK(HiddenItems),HiddenItems - db $05,$02,$04 - db BANK(Mansion1Script_Switches) - dw Mansion1Script_Switches - db $FF + hidden_object 8, 16, MOON_STONE, HiddenItems + hidden_object 2, 5, SPRITE_FACING_UP, Mansion1Script_Switches + db -1 ; end + Mansion2HiddenObjects: - db $0b,$02,$04 - db BANK(Mansion2Script_Switches) - dw Mansion2Script_Switches - db $FF + hidden_object 2, 11, SPRITE_FACING_UP, Mansion2Script_Switches + db -1 ; end + Mansion3HiddenObjects: - db $09,$01,MAX_REVIVE - dbw BANK(HiddenItems),HiddenItems - db $05,$0a,$04 - db BANK(Mansion3Script_Switches) - dw Mansion3Script_Switches - db $FF + hidden_object 1, 9, MAX_REVIVE, HiddenItems + hidden_object 10, 5, SPRITE_FACING_UP, Mansion3Script_Switches + db -1 ; end + Mansion4HiddenObjects: - db $09,$01,RARE_CANDY - dbw BANK(HiddenItems),HiddenItems - db $03,$14,$04 - db BANK(Mansion4Script_Switches) - dw Mansion4Script_Switches - db $19,$12,$04 - db BANK(Mansion4Script_Switches) - dw Mansion4Script_Switches - db $FF + hidden_object 1, 9, RARE_CANDY, HiddenItems + hidden_object 20, 3, SPRITE_FACING_UP, Mansion4Script_Switches + hidden_object 18, 25, SPRITE_FACING_UP, Mansion4Script_Switches + db -1 ; end + Route23HiddenObjects: - db $2c,$09,FULL_RESTORE - dbw BANK(HiddenItems),HiddenItems - db $46,$13,ULTRA_BALL - dbw BANK(HiddenItems),HiddenItems - db $5a,$08,MAX_ETHER - dbw BANK(HiddenItems),HiddenItems - db $FF + hidden_object 9, 44, FULL_RESTORE, HiddenItems + hidden_object 19, 70, ULTRA_BALL, HiddenItems + hidden_object 8, 90, MAX_ETHER, HiddenItems + db -1 ; end + VictoryRoad2HiddenObjects: - db $02,$05,ULTRA_BALL - dbw BANK(HiddenItems),HiddenItems - db $07,$1a,FULL_RESTORE - dbw BANK(HiddenItems),HiddenItems - db $FF + hidden_object 5, 2, ULTRA_BALL, HiddenItems + hidden_object 26, 7, FULL_RESTORE, HiddenItems + db -1 ; end + Unused6FHiddenObjects: - db $0b,$0e,MAX_ELIXER - dbw BANK(HiddenItems),HiddenItems - db $FF + hidden_object 14, 11, MAX_ELIXER, HiddenItems + db -1 ; end + BillsHouseHiddenObjects: - db $04,$01,$04 - dbw BANK(BillsHousePC), BillsHousePC - db $FF + hidden_object 1, 4, SPRITE_FACING_UP, BillsHousePC + db -1 ; end + ViridianCityHiddenObjects: - db $04,$0e,POTION - dbw BANK(HiddenItems),HiddenItems - db $FF + hidden_object 14, 4, POTION, HiddenItems + db -1 ; end + SafariZoneRestHouse2HiddenObjects: - db $04,$00,$08 - db BANK(PrintBenchGuyText) - dw PrintBenchGuyText - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF + hidden_object 0, 4, SPRITE_FACING_LEFT, PrintBenchGuyText + hidden_object 13, 3, SPRITE_FACING_UP, OpenPokemonCenterPC + db -1 ; end + SafariZoneRestHouse3HiddenObjects: - db $04,$00,$08 - db BANK(PrintBenchGuyText) - dw PrintBenchGuyText - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF + hidden_object 0, 4, SPRITE_FACING_LEFT, PrintBenchGuyText + hidden_object 13, 3, SPRITE_FACING_UP, OpenPokemonCenterPC + db -1 ; end + SafariZoneRestHouse4HiddenObjects: - db $04,$00,$08 - db BANK(PrintBenchGuyText) - dw PrintBenchGuyText - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF + hidden_object 0, 4, SPRITE_FACING_LEFT, PrintBenchGuyText + hidden_object 13, 3, SPRITE_FACING_UP, OpenPokemonCenterPC + db -1 ; end + Route15GateUpstairsHiddenObjects: - db $02,$01,$04 - db BANK(Route15GateLeftBinoculars) - dw Route15GateLeftBinoculars - db $FF + hidden_object 1, 2, SPRITE_FACING_UP, Route15GateLeftBinoculars + db -1 ; end + LavenderHouse1HiddenObjects: - db $01,$00,$00 - db BANK(PrintMagazinesText) - dw PrintMagazinesText - db $01,$01,$00 - db BANK(PrintMagazinesText) - dw PrintMagazinesText - db $01,$07,$00 - db BANK(PrintMagazinesText) - dw PrintMagazinesText - db $FF + hidden_object 0, 1, SPRITE_FACING_DOWN, PrintMagazinesText + hidden_object 1, 1, SPRITE_FACING_DOWN, PrintMagazinesText + hidden_object 7, 1, SPRITE_FACING_DOWN, PrintMagazinesText + db -1 ; end + CeladonMansion5HiddenObjects: - db $00,$03,(LinkCableHelp_id - TextPredefs) / 2 + 1 - db BANK(PrintBlackboardLinkCableText) - dw PrintBlackboardLinkCableText - db $00,$04,(LinkCableHelp_id - TextPredefs) / 2 + 1 - db BANK(PrintBlackboardLinkCableText) - dw PrintBlackboardLinkCableText - db $04,$03,(TMNotebook_id - TextPredefs) / 2 + 1 - db BANK(PrintNotebookText) - dw PrintNotebookText - db $FF + hidden_text_predef 3, 0, LinkCableHelp, PrintBlackboardLinkCableText + hidden_text_predef 4, 0, LinkCableHelp, PrintBlackboardLinkCableText + hidden_text_predef 3, 4, TMNotebook, PrintNotebookText + db -1 ; end + FightingDojoHiddenObjects: - db $09,$03,$04 - db BANK(PrintFightingDojoText) - dw PrintFightingDojoText - db $09,$06,$04 - db BANK(PrintFightingDojoText) - dw PrintFightingDojoText - db $00,$04,$04 - db BANK(PrintFightingDojoText2) - dw PrintFightingDojoText2 - db $00,$05,$04 - db BANK(PrintFightingDojoText3) - dw PrintFightingDojoText3 - db $FF + hidden_object 3, 9, SPRITE_FACING_UP, PrintFightingDojoText + hidden_object 6, 9, SPRITE_FACING_UP, PrintFightingDojoText + hidden_object 4, 0, SPRITE_FACING_UP, PrintFightingDojoText2 + hidden_object 5, 0, SPRITE_FACING_UP, PrintFightingDojoText3 + db -1 ; end + IndigoPlateauLobbyHiddenObjects: - db $07,$0f,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF + hidden_object 15, 7, SPRITE_FACING_UP, OpenPokemonCenterPC + db -1 ; end + CinnabarLab4HiddenObjects: - db $04,$00,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $04,$02,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF + hidden_object 0, 4, SPRITE_FACING_UP, OpenPokemonCenterPC + hidden_object 2, 4, SPRITE_FACING_UP, OpenPokemonCenterPC + db -1 ; end + BikeShopHiddenObjects: - db $00,$01,$d0 - dbw BANK(PrintNewBikeText), PrintNewBikeText - db $01,$02,$d0 - dbw BANK(PrintNewBikeText), PrintNewBikeText - db $02,$01,$d0 - dbw BANK(PrintNewBikeText), PrintNewBikeText - db $02,$03,$d0 - dbw BANK(PrintNewBikeText), PrintNewBikeText - db $04,$00,$d0 - dbw BANK(PrintNewBikeText), PrintNewBikeText - db $05,$01,$d0 - dbw BANK(PrintNewBikeText), PrintNewBikeText - db $FF + hidden_object 1, 0, $d0, PrintNewBikeText + hidden_object 2, 1, $d0, PrintNewBikeText + hidden_object 1, 2, $d0, PrintNewBikeText + hidden_object 3, 2, $d0, PrintNewBikeText + hidden_object 0, 4, $d0, PrintNewBikeText + hidden_object 1, 5, $d0, PrintNewBikeText + db -1 ; end + Route11HiddenObjects: - db $05,$30,ESCAPE_ROPE - dbw BANK(HiddenItems),HiddenItems - db $FF + hidden_object 48, 5, ESCAPE_ROPE, HiddenItems + db -1 ; end + Route12HiddenObjects: - db $3f,$02,HYPER_POTION - dbw BANK(HiddenItems),HiddenItems - db $FF + hidden_object 2, 63, HYPER_POTION, HiddenItems + db -1 ; end + SilphCo11FHiddenObjects: - db $0c,$0a,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF + hidden_object 10, 12, SPRITE_FACING_UP, OpenPokemonCenterPC + db -1 ; end + Route17HiddenObjects: - db $0e,$0f,RARE_CANDY - dbw BANK(HiddenItems),HiddenItems - db $2d,$08,FULL_RESTORE - dbw BANK(HiddenItems),HiddenItems - db $48,$11,PP_UP - dbw BANK(HiddenItems),HiddenItems - db $5b,$04,MAX_REVIVE - dbw BANK(HiddenItems),HiddenItems - db $79,$08,MAX_ELIXER - dbw BANK(HiddenItems),HiddenItems - db $FF + hidden_object 15, 14, RARE_CANDY, HiddenItems + hidden_object 8, 45, FULL_RESTORE, HiddenItems + hidden_object 17, 72, PP_UP, HiddenItems + hidden_object 4, 91, MAX_REVIVE, HiddenItems + hidden_object 8, 121, MAX_ELIXER, HiddenItems + db -1 ; end + UndergroundPathNsHiddenObjects: - db $04,$03,FULL_RESTORE - dbw BANK(HiddenItems),HiddenItems - db $22,$04,X_SPECIAL - dbw BANK(HiddenItems),HiddenItems - db $FF + hidden_object 3, 4, FULL_RESTORE, HiddenItems + hidden_object 4, 34, X_SPECIAL, HiddenItems + db -1 ; end + UndergroundPathWeHiddenObjects: - db $02,$0c,NUGGET - dbw BANK(HiddenItems),HiddenItems - db $05,$15,ELIXER - dbw BANK(HiddenItems),HiddenItems - db $FF + hidden_object 12, 2, NUGGET, HiddenItems + hidden_object 21, 5, ELIXER, HiddenItems + db -1 ; end + CeladonCityHiddenObjects: - db $0f,$30,PP_UP - dbw BANK(HiddenItems),HiddenItems - db $FF + hidden_object 48, 15, PP_UP, HiddenItems + db -1 ; end + SeafoamIslands4HiddenObjects: - db $10,$09,MAX_ELIXER - dbw BANK(HiddenItems),HiddenItems - db $FF + hidden_object 9, 16, MAX_ELIXER, HiddenItems + db -1 ; end + VermilionCityHiddenObjects: - db $0b,$0e,MAX_ETHER - dbw BANK(HiddenItems),HiddenItems - db $FF + hidden_object 14, 11, MAX_ETHER, HiddenItems + db -1 ; end + CeruleanCityHiddenObjects: - db $08,$0f,RARE_CANDY - dbw BANK(HiddenItems),HiddenItems - db $FF + hidden_object 15, 8, RARE_CANDY, HiddenItems + db -1 ; end + Route4HiddenObjects: - db $03,$28,GREAT_BALL - dbw BANK(HiddenItems),HiddenItems - db $FF + hidden_object 40, 3, GREAT_BALL, HiddenItems + db -1 ; end -- cgit v1.2.3 From a77999f7f151567a47dd69affe9a29378f298ff4 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 5 Jul 2020 16:15:01 -0400 Subject: Logical spacing in data/sgb/sgb_palettes.asm --- constants/gfx_constants.asm | 21 ++-- data/sgb/sgb_palettes.asm | 210 +++++++---------------------------- engine/battle/animations.asm | 8 +- engine/movie/intro.asm | 6 +- engine/movie/title.asm | 2 +- engine/overworld/clear_variables.asm | 2 +- engine/overworld/cut.asm | 2 +- macros.asm | 1 + macros/data.asm | 4 - macros/gfx.asm | 17 +++ 10 files changed, 84 insertions(+), 189 deletions(-) create mode 100644 macros/gfx.asm diff --git a/constants/gfx_constants.asm b/constants/gfx_constants.asm index 04671ecb..0cc0d98d 100644 --- a/constants/gfx_constants.asm +++ b/constants/gfx_constants.asm @@ -1,15 +1,20 @@ -SCREEN_WIDTH EQU 20 -SCREEN_HEIGHT EQU 18 +TILE_WIDTH EQU 8 ; pixels +LEN_1BPP_TILE EQU 1 * TILE_WIDTH ; bytes +LEN_2BPP_TILE EQU 2 * TILE_WIDTH ; bytes -SCREEN_WIDTH_PIXELS EQU SCREEN_WIDTH * 8 -SCREEN_HEIGHT_PIXELS EQU SCREEN_HEIGHT * 8 +NUM_PAL_COLORS EQU 4 +PAL_COLOR_SIZE EQU 2 +PALETTE_SIZE EQU NUM_PAL_COLORS * PAL_COLOR_SIZE -BYTES_PER_TILE EQU 16 +SCREEN_WIDTH EQU 20 +SCREEN_HEIGHT EQU 18 +SCREEN_WIDTH_PX EQU SCREEN_WIDTH * TILE_WIDTH ; pixels +SCREEN_HEIGHT_PX EQU SCREEN_HEIGHT * TILE_WIDTH ; pixels -BG_MAP_WIDTH EQU 32 -BG_MAP_HEIGHT EQU 32 +BG_MAP_WIDTH EQU 32 ; tiles +BG_MAP_HEIGHT EQU 32 ; tiles -SPRITEBUFFERSIZE EQU 7*7 * 8 ; 7 * 7 (tiles) * 8 (bytes per tile) +SPRITEBUFFERSIZE EQU 7 * 7 * LEN_1BPP_TILE ; HP bar HP_BAR_GREEN EQU 0 diff --git a/data/sgb/sgb_palettes.asm b/data/sgb/sgb_palettes.asm index 97f1d8ec..056ac8b9 100755 --- a/data/sgb/sgb_palettes.asm +++ b/data/sgb/sgb_palettes.asm @@ -1,174 +1,50 @@ -; palettes for overworlds, title screen, monsters SuperPalettes: - RGB 31,29,31 ; PAL_ROUTE - RGB 21,28,11 - RGB 20,26,31 - RGB 3,2,2 - RGB 31,29,31 ; PAL_PALLET - RGB 25,28,27 - RGB 20,26,31 - RGB 3,2,2 - RGB 31,29,31 ; PAL_VIRIDIAN - RGB 17,26,3 - RGB 20,26,31 - RGB 3,2,2 - RGB 31,29,31 ; PAL_PEWTER - RGB 23,25,16 - RGB 20,26,31 - RGB 3,2,2 - RGB 31,29,31 ; PAL_CERULEAN - RGB 17,20,30 - RGB 20,26,31 - RGB 3,2,2 - RGB 31,29,31 ; PAL_LAVENDER - RGB 27,20,27 - RGB 20,26,31 - RGB 3,2,2 - RGB 31,29,31 ; PAL_VERMILION - RGB 30,18,0 - RGB 20,26,31 - RGB 3,2,2 - RGB 31,29,31 ; PAL_CELADON - RGB 16,30,22 - RGB 20,26,31 - RGB 3,2,2 - RGB 31,29,31 ; PAL_FUCHSIA - RGB 31,15,22 - RGB 20,26,31 - RGB 3,2,2 - RGB 31,29,31 ; PAL_CINNABAR - RGB 26,10,6 - RGB 20,26,31 - RGB 3,2,2 - RGB 31,29,31 ; PAL_INDIGO - RGB 22,14,24 - RGB 20,26,31 - RGB 3,2,2 - RGB 31,29,31 ; PAL_SAFFRON - RGB 27,27,3 - RGB 20,26,31 - RGB 3,2,2 - RGB 31,29,31 ; PAL_TOWNMAP - RGB 20,26,31 - RGB 17,23,10 - RGB 3,2,2 + RGB 31,29,31, 21,28,11, 20,26,31, 03,02,02 ; PAL_ROUTE + RGB 31,29,31, 25,28,27, 20,26,31, 03,02,02 ; PAL_PALLET + RGB 31,29,31, 17,26,03, 20,26,31, 03,02,02 ; PAL_VIRIDIAN + RGB 31,29,31, 23,25,16, 20,26,31, 03,02,02 ; PAL_PEWTER + RGB 31,29,31, 17,20,30, 20,26,31, 03,02,02 ; PAL_CERULEAN + RGB 31,29,31, 27,20,27, 20,26,31, 03,02,02 ; PAL_LAVENDER + RGB 31,29,31, 30,18,00, 20,26,31, 03,02,02 ; PAL_VERMILION + RGB 31,29,31, 16,30,22, 20,26,31, 03,02,02 ; PAL_CELADON + RGB 31,29,31, 31,15,22, 20,26,31, 03,02,02 ; PAL_FUCHSIA + RGB 31,29,31, 26,10,06, 20,26,31, 03,02,02 ; PAL_CINNABAR + RGB 31,29,31, 22,14,24, 20,26,31, 03,02,02 ; PAL_INDIGO + RGB 31,29,31, 27,27,03, 20,26,31, 03,02,02 ; PAL_SAFFRON + RGB 31,29,31, 20,26,31, 17,23,10, 03,02,02 ; PAL_TOWNMAP IF DEF(_RED) - RGB 31,29,31 ; PAL_LOGO1 - RGB 30,30,17 - RGB 17,23,10 - RGB 21,0,4 + RGB 31,29,31, 30,30,17, 17,23,10, 21,00,04 ; PAL_LOGO1 ENDC IF DEF(_BLUE) - RGB 31,29,31 ; PAL_LOGO1 - RGB 30,30,17 - RGB 21,0,4 - RGB 14,19,29 -ENDC - RGB 31,29,31 ; PAL_LOGO2 - RGB 30,30,17 - RGB 18,18,24 - RGB 7,7,16 - RGB 31,29,31 ; PAL_0F - RGB 24,20,30 - RGB 11,20,30 - RGB 3,2,2 - RGB 31,29,31 ; PAL_MEWMON - RGB 30,22,17 - RGB 16,14,19 - RGB 3,2,2 - RGB 31,29,31 ; PAL_BLUEMON - RGB 18,20,27 - RGB 11,15,23 - RGB 3,2,2 - RGB 31,29,31 ; PAL_REDMON - RGB 31,20,10 - RGB 26,10,6 - RGB 3,2,2 - RGB 31,29,31 ; PAL_CYANMON - RGB 21,25,29 - RGB 14,19,25 - RGB 3,2,2 - RGB 31,29,31 ; PAL_PURPLEMON - RGB 27,22,24 - RGB 21,15,23 - RGB 3,2,2 - RGB 31,29,31 ; PAL_BROWNMON - RGB 28,20,15 - RGB 21,14,9 - RGB 3,2,2 - RGB 31,29,31 ; PAL_GREENMON - RGB 20,26,16 - RGB 9,20,11 - RGB 3,2,2 - RGB 31,29,31 ; PAL_PINKMON - RGB 30,22,24 - RGB 28,15,21 - RGB 3,2,2 - RGB 31,29,31 ; PAL_YELLOWMON - RGB 31,28,14 - RGB 26,20,0 - RGB 3,2,2 - RGB 31,29,31 ; PAL_GREYMON - RGB 26,21,22 - RGB 15,15,18 - RGB 3,2,2 - RGB 31,29,31 ; PAL_SLOTS1 - RGB 26,21,22 - RGB 27,20,6 - RGB 3,2,2 - RGB 31,29,31 ; PAL_SLOTS2 - RGB 31,31,17 -IF DEF(_RED) - RGB 25,17,21 -ENDC -IF DEF(_BLUE) - RGB 16,19,29 -ENDC - RGB 3,2,2 - RGB 31,29,31 ; PAL_SLOTS3 - RGB 22,31,16 + RGB 31,29,31, 30,30,17, 21,00,04, 14,19,29 ; PAL_LOGO1 +ENDC + RGB 31,29,31, 30,30,17, 18,18,24, 07,07,16 ; PAL_LOGO2 + RGB 31,29,31, 24,20,30, 11,20,30, 03,02,02 ; PAL_0F + RGB 31,29,31, 30,22,17, 16,14,19, 03,02,02 ; PAL_MEWMON + RGB 31,29,31, 18,20,27, 11,15,23, 03,02,02 ; PAL_BLUEMON + RGB 31,29,31, 31,20,10, 26,10,06, 03,02,02 ; PAL_REDMON + RGB 31,29,31, 21,25,29, 14,19,25, 03,02,02 ; PAL_CYANMON + RGB 31,29,31, 27,22,24, 21,15,23, 03,02,02 ; PAL_PURPLEMON + RGB 31,29,31, 28,20,15, 21,14,09, 03,02,02 ; PAL_BROWNMON + RGB 31,29,31, 20,26,16, 09,20,11, 03,02,02 ; PAL_GREENMON + RGB 31,29,31, 30,22,24, 28,15,21, 03,02,02 ; PAL_PINKMON + RGB 31,29,31, 31,28,14, 26,20,00, 03,02,02 ; PAL_YELLOWMON + RGB 31,29,31, 26,21,22, 15,15,18, 03,02,02 ; PAL_GREYMON + RGB 31,29,31, 26,21,22, 27,20,06, 03,02,02 ; PAL_SLOTS1 IF DEF(_RED) - RGB 25,17,21 + RGB 31,29,31, 31,31,17, 25,17,21, 03,02,02 ; PAL_SLOTS2 + RGB 31,29,31, 22,31,16, 25,17,21, 03,02,02 ; PAL_SLOTS3 + RGB 31,29,31, 16,19,29, 25,17,21, 03,02,02 ; PAL_SLOTS4 ENDC IF DEF(_BLUE) - RGB 16,19,29 -ENDC - RGB 3,2,2 - RGB 31,29,31 ; PAL_SLOTS4 -IF DEF(_RED) - RGB 16,19,29 - RGB 25,17,21 -ENDC -IF DEF(_BLUE) - RGB 25,17,21 - RGB 16,19,29 -ENDC - RGB 3,2,2 - RGB 31,29,31 ; PAL_BLACK - RGB 7,7,7 - RGB 2,3,3 - RGB 3,2,2 - RGB 31,29,31 ; PAL_GREENBAR - RGB 30,26,15 - RGB 9,20,11 - RGB 3,2,2 - RGB 31,29,31 ; PAL_YELLOWBAR - RGB 30,26,15 - RGB 26,20,0 - RGB 3,2,2 - RGB 31,29,31 ; PAL_REDBAR - RGB 30,26,15 - RGB 26,10,6 - RGB 3,2,2 - RGB 31,29,31 ; PAL_BADGE - RGB 30,22,17 - RGB 11,15,23 - RGB 3,2,2 - RGB 31,29,31 ; PAL_CAVE - RGB 21,14,9 - RGB 18,24,22 - RGB 3,2,2 - RGB 31,29,31 ; PAL_GAMEFREAK - RGB 31,28,14 - RGB 24,20,10 - RGB 3,2,2 + RGB 31,29,31, 31,31,17, 16,19,29, 03,02,02 ; PAL_SLOTS2 + RGB 31,29,31, 22,31,16, 16,19,29, 03,02,02 ; PAL_SLOTS3 + RGB 31,29,31, 25,17,21, 16,19,29, 03,02,02 ; PAL_SLOTS4 +ENDC + RGB 31,29,31, 07,07,07, 02,03,03, 03,02,02 ; PAL_BLACK + RGB 31,29,31, 30,26,15, 09,20,11, 03,02,02 ; PAL_GREENBAR + RGB 31,29,31, 30,26,15, 26,20,00, 03,02,02 ; PAL_YELLOWBAR + RGB 31,29,31, 30,26,15, 26,10,06, 03,02,02 ; PAL_REDBAR + RGB 31,29,31, 30,22,17, 11,15,23, 03,02,02 ; PAL_BADGE + RGB 31,29,31, 21,14,09, 18,24,22, 03,02,02 ; PAL_CAVE + RGB 31,29,31, 31,28,14, 24,20,10, 03,02,02 ; PAL_GAMEFREAK diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index ee476ce9..78301b2e 100755 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -1838,10 +1838,10 @@ AnimationWavyScreen: call Delay3 xor a ld [hAutoBGTransferEnabled], a - ld a, SCREEN_HEIGHT_PIXELS + ld a, SCREEN_HEIGHT_PX ld [hWY], a ld d, $80 ; terminator - ld e, SCREEN_HEIGHT_PIXELS - 1 + ld e, SCREEN_HEIGHT_PX - 1 ld c, $ff ld hl, WavyScreenLineOffsets .loop @@ -2538,7 +2538,7 @@ AnimationShakeEnemyHUD: ; Now that the regular BG is showing the same thing the window was, move the ; window off the screen so that we can modify its contents below. - ld a, SCREEN_HEIGHT_PIXELS + ld a, SCREEN_HEIGHT_PX ld [hWY], a ; Copy wTileMap to VRAM such that the row below the enemy HUD (in wTileMap) is @@ -2575,7 +2575,7 @@ AnimationShakeEnemyHUD: ; Restore the original graphics. call AnimationShowMonPic call ClearSprites - ld a, SCREEN_HEIGHT_PIXELS + ld a, SCREEN_HEIGHT_PX ld [hWY], a ld hl, vBGMap1 call BattleAnimCopyTileMapToVRAM diff --git a/engine/movie/intro.asm b/engine/movie/intro.asm index a8151ab4..21f1a885 100755 --- a/engine/movie/intro.asm +++ b/engine/movie/intro.asm @@ -97,7 +97,7 @@ PlayIntroScene: ; hip ld a, SFX_INTRO_HIP call PlaySound - ld a, (FightIntroFrontMon2 - FightIntroFrontMon) / BYTES_PER_TILE + ld a, (FightIntroFrontMon2 - FightIntroFrontMon) / LEN_2BPP_TILE ld [wIntroNidorinoBaseTile], a ld de, IntroNidorinoAnimation3 call AnimateIntroNidorino @@ -129,7 +129,7 @@ PlayIntroScene: call CheckForUserInterruption ret c - ld a, (FightIntroFrontMon2 - FightIntroFrontMon) / BYTES_PER_TILE + ld a, (FightIntroFrontMon2 - FightIntroFrontMon) / LEN_2BPP_TILE ld [wIntroNidorinoBaseTile], a ld de, IntroNidorinoAnimation6 call AnimateIntroNidorino @@ -140,7 +140,7 @@ PlayIntroScene: ; lunge ld a, SFX_INTRO_LUNGE call PlaySound - ld a, (FightIntroFrontMon3 - FightIntroFrontMon) / BYTES_PER_TILE + ld a, (FightIntroFrontMon3 - FightIntroFrontMon) / LEN_2BPP_TILE ld [wIntroNidorinoBaseTile], a ld de, IntroNidorinoAnimation7 jp AnimateIntroNidorino diff --git a/engine/movie/title.asm b/engine/movie/title.asm index 9cbe5494..5ee9b77f 100755 --- a/engine/movie/title.asm +++ b/engine/movie/title.asm @@ -189,7 +189,7 @@ ENDC ; scroll game version in from the right call PrintGameVersionOnTitleScreen - ld a, SCREEN_HEIGHT_PIXELS + ld a, SCREEN_HEIGHT_PX ld [hWY], a ld d, 144 .scrollTitleScreenGameVersionLoop diff --git a/engine/overworld/clear_variables.asm b/engine/overworld/clear_variables.asm index b5a1f4a0..9b735495 100644 --- a/engine/overworld/clear_variables.asm +++ b/engine/overworld/clear_variables.asm @@ -1,5 +1,5 @@ ClearVariablesOnEnterMap:: - ld a, SCREEN_HEIGHT_PIXELS + ld a, SCREEN_HEIGHT_PX ld [hWY], a ld [rWY], a xor a diff --git a/engine/overworld/cut.asm b/engine/overworld/cut.asm index fa28a751..dd9b7c1a 100755 --- a/engine/overworld/cut.asm +++ b/engine/overworld/cut.asm @@ -37,7 +37,7 @@ UsedCut: call GBPalWhiteOutWithDelay3 call ClearSprites call RestoreScreenTilesAndReloadTilePatterns - ld a, SCREEN_HEIGHT_PIXELS + ld a, SCREEN_HEIGHT_PX ld [hWY], a call Delay3 call LoadGBPal diff --git a/macros.asm b/macros.asm index a092d25c..a20160c0 100644 --- a/macros.asm +++ b/macros.asm @@ -3,6 +3,7 @@ INCLUDE "macros/predef.asm" INCLUDE "macros/farcall.asm" INCLUDE "macros/data.asm" INCLUDE "macros/code.asm" +INCLUDE "macros/gfx.asm" INCLUDE "macros/coords.asm" INCLUDE "macros/scripts/audio.asm" diff --git a/macros/data.asm b/macros/data.asm index 54d1d561..46fb866d 100755 --- a/macros/data.asm +++ b/macros/data.asm @@ -16,10 +16,6 @@ ENDM coins equs "bcd2" money equs "bcd3" -RGB: MACRO - dw (\3 << 10 | \2 << 5 | \1) -ENDM - tmlearn: MACRO x = 0 REPT _NARG diff --git a/macros/gfx.asm b/macros/gfx.asm new file mode 100644 index 00000000..bad051ad --- /dev/null +++ b/macros/gfx.asm @@ -0,0 +1,17 @@ +RGB: MACRO +rept _NARG / 3 + dw palred (\1) + palgreen (\2) + palblue (\3) + shift 3 +endr +ENDM + +palred EQUS "(1 << 0) *" +palgreen EQUS "(1 << 5) *" +palblue EQUS "(1 << 10) *" + +palettes EQUS "* PALETTE_SIZE" +palette EQUS "+ PALETTE_SIZE *" +color EQUS "+ PAL_COLOR_SIZE *" + +tiles EQUS "* LEN_2BPP_TILE" +tile EQUS "+ LEN_2BPP_TILE *" -- cgit v1.2.3 From b0aa4cb14a602bc2acf15bc0f2591a94a30487a2 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 5 Jul 2020 16:35:06 -0400 Subject: Port two HRAM labels from pokeyellow --- engine/overworld/hidden_objects.asm | 10 +++++----- home.asm | 4 ++-- home/overworld.asm | 2 +- hram.asm | 4 ++-- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/engine/overworld/hidden_objects.asm b/engine/overworld/hidden_objects.asm index a19694e0..d4a0a2bd 100755 --- a/engine/overworld/hidden_objects.asm +++ b/engine/overworld/hidden_objects.asm @@ -14,14 +14,14 @@ IsPlayerOnDungeonWarp:: set 4, [hl] ret -; if a hidden object was found, stores $00 in [hFoundHiddenObject], else stores $ff +; if a hidden object was found, stores $00 in [hDidntFindAnyHiddenObject], else stores $ff CheckForHiddenObject:: - ld hl, hFoundHiddenObjectOrBookshelf + ld hl, hItemAlreadyFound xor a - ld [hli], a ; [hFoundHiddenObjectOrBookshelf] + ld [hli], a ; [hItemAlreadyFound] ld [hli], a ; [hSavedMapTextPtr] ld [hli], a ; [hSavedMapTextPtr + 1] - ld [hl], a ; [hFoundHiddenObject] + ld [hl], a ; [hDidntFindAnyHiddenObject] ld de, $0 ld hl, HiddenObjectMaps .hiddenMapLoop @@ -81,7 +81,7 @@ CheckForHiddenObject:: ret .noMatch ld a, $ff - ld [hFoundHiddenObject], a + ld [hDidntFindAnyHiddenObject], a ret ; checks if the coordinates in front of the player's sprite match Y in b and X in c diff --git a/home.asm b/home.asm index 811c544f..0e977d11 100644 --- a/home.asm +++ b/home.asm @@ -1752,7 +1752,7 @@ CheckForHiddenObjectOrBookshelfOrCardKeyDoor:: ld [MBC1RomBank], a ld [hLoadedROMBank], a call CheckForHiddenObject - ld a, [hFoundHiddenObject] + ld a, [hDidntFindAnyHiddenObject] and a jr nz, .hiddenObjectNotFound ld a, [wHiddenObjectFunctionRomBank] @@ -1772,7 +1772,7 @@ CheckForHiddenObjectOrBookshelfOrCardKeyDoor:: .nothingFound ld a, $ff .done - ld [hFoundHiddenObjectOrBookshelf], a + ld [hItemAlreadyFound], a pop af ld [MBC1RomBank], a ld [hLoadedROMBank], a diff --git a/home/overworld.asm b/home/overworld.asm index c16c121c..b17208c7 100644 --- a/home/overworld.asm +++ b/home/overworld.asm @@ -88,7 +88,7 @@ OverworldLoopLessDelay:: call IsPlayerCharacterBeingControlledByGame jr nz, .checkForOpponent call CheckForHiddenObjectOrBookshelfOrCardKeyDoor - ld a, [hFoundHiddenObjectOrBookshelf] + ld a, [hItemAlreadyFound] and a jp z, OverworldLoop ; jump if a hidden object or bookshelf was found, but not if a card key door was found call IsSpriteOrSignInFrontOfPlayer diff --git a/hram.asm b/hram.asm index ab18b8c9..ee557050 100644 --- a/hram.asm +++ b/hram.asm @@ -350,8 +350,8 @@ hSpriteScreenXCoord EQU $FFEC hSpriteMapYCoord EQU $FFED hSpriteMapXCoord EQU $FFEE -hFoundHiddenObjectOrBookshelf EQU $FFEB -hFoundHiddenObject EQU $FFEE +hItemAlreadyFound EQU $FFEB +hDidntFindAnyHiddenObject EQU $FFEE hSavedMapTextPtr EQU $FFEC -- cgit v1.2.3 From 7ab43f4d17aa63d4ef1050d80560379f19200088 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 5 Jul 2020 16:41:45 -0400 Subject: Port _RemovePokemon documentation from pokeyellow --- engine/pokemon/remove_mon.asm | 66 +++++++++++++++++++++---------------------- wram.asm | 1 + 2 files changed, 34 insertions(+), 33 deletions(-) diff --git a/engine/pokemon/remove_mon.asm b/engine/pokemon/remove_mon.asm index 6f7e91d6..c85b96bf 100644 --- a/engine/pokemon/remove_mon.asm +++ b/engine/pokemon/remove_mon.asm @@ -2,9 +2,9 @@ _RemovePokemon:: ld hl, wPartyCount ld a, [wRemoveMonFromBox] and a - jr z, .asm_7b74 + jr z, .usePartyCount ld hl, wNumInBox -.asm_7b74 +.usePartyCount ld a, [hl] dec a ld [hli], a @@ -15,28 +15,28 @@ _RemovePokemon:: ld e, l ld d, h inc de -.asm_7b81 +.shiftMonSpeciesLoop ld a, [de] inc de ld [hli], a - inc a - jr nz, .asm_7b81 + inc a ; reached terminator? + jr nz, .shiftMonSpeciesLoop ; if not, continue shifting species ld hl, wPartyMonOT - ld d, $5 + ld d, PARTY_LENGTH - 1 ; max number of pokemon to shift ld a, [wRemoveMonFromBox] and a - jr z, .asm_7b97 + jr z, .usePartyMonOTs ld hl, wBoxMonOT - ld d, $13 -.asm_7b97 + ld d, MONS_PER_BOX - 1 +.usePartyMonOTs ld a, [wWhichPokemon] call SkipFixedLengthTextEntries ld a, [wWhichPokemon] - cp d - jr nz, .asm_7ba6 - ld [hl], $ff + cp d ; are we removing the last pokemon? + jr nz, .notRemovingLastMon ; if not, shift the pokemon below + ld [hl], $ff ; else, write the terminator and return ret -.asm_7ba6 +.notRemovingLastMon ld d, h ld e, l ld bc, NAME_LENGTH @@ -44,41 +44,41 @@ _RemovePokemon:: ld bc, wPartyMonNicks ld a, [wRemoveMonFromBox] and a - jr z, .asm_7bb8 + jr z, .usePartyMonNicks ld bc, wBoxMonNicks -.asm_7bb8 +.usePartyMonNicks call CopyDataUntil ld hl, wPartyMons ld bc, wPartyMon2 - wPartyMon1 ld a, [wRemoveMonFromBox] and a - jr z, .asm_7bcd + jr z, .usePartyMonStructs ld hl, wBoxMons ld bc, wBoxMon2 - wBoxMon1 -.asm_7bcd +.usePartyMonStructs ld a, [wWhichPokemon] - call AddNTimes - ld d, h + call AddNTimes ; get address of the pokemon removed + ld d, h ; store in de for CopyDataUntil ld e, l ld a, [wRemoveMonFromBox] and a - jr z, .asm_7be4 + jr z, .copyUntilPartyMonOTs ld bc, wBoxMon2 - wBoxMon1 - add hl, bc - ld bc, wBoxMonOT - jr .asm_7beb -.asm_7be4 + add hl, bc ; get address of pokemon after the pokemon removed + ld bc, wBoxMonOT ; address of when to stop copying + jr .continue +.copyUntilPartyMonOTs ld bc, wPartyMon2 - wPartyMon1 - add hl, bc - ld bc, wPartyMonOT -.asm_7beb - call CopyDataUntil + add hl, bc ; get address of pokemon after the pokemon removed + ld bc, wPartyMonOT ; address of when to stop copying +.continue + call CopyDataUntil ; shift all pokemon data after the removed mon to the removed mon's location ld hl, wPartyMonNicks ld a, [wRemoveMonFromBox] and a - jr z, .asm_7bfa + jr z, .usePartyMonNicks2 ld hl, wBoxMonNicks -.asm_7bfa +.usePartyMonNicks2 ld bc, NAME_LENGTH ld a, [wWhichPokemon] call AddNTimes @@ -86,10 +86,10 @@ _RemovePokemon:: ld e, l ld bc, NAME_LENGTH add hl, bc - ld bc, wPokedexOwned + ld bc, wPartyMonNicksEnd ld a, [wRemoveMonFromBox] and a - jr z, .asm_7c15 + jr z, .copyUntilPartyMonNicksEnd ld bc, wBoxMonNicksEnd -.asm_7c15 +.copyUntilPartyMonNicksEnd jp CopyDataUntil diff --git a/wram.asm b/wram.asm index e2fa05a6..c216a08c 100755 --- a/wram.asm +++ b/wram.asm @@ -2216,6 +2216,7 @@ wPartyMon6:: party_struct wPartyMon6 wPartyMonOT:: ds NAME_LENGTH * PARTY_LENGTH wPartyMonNicks:: ds NAME_LENGTH * PARTY_LENGTH +wPartyMonNicksEnd:: wPartyDataEnd:: -- cgit v1.2.3 From 2b2ed54bbf017943ba2343cd6c1dbe88b8f34a4e Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 5 Jul 2020 17:29:11 -0400 Subject: Identify wSpriteStateData1 and wSpriteStateData2 offsets, like pokeyellow --- engine/battle/battle_transitions.asm | 2 +- engine/events/card_key.asm | 2 +- engine/events/hidden_objects/bench_guys.asm | 2 +- engine/events/hidden_objects/bills_house_pc.asm | 2 +- engine/events/hidden_objects/bookshelves.asm | 2 +- engine/events/hidden_objects/cinnabar_gym_quiz.asm | 2 +- engine/events/hidden_objects/gym_statues.asm | 2 +- engine/events/hidden_objects/indigo_plateau_hq.asm | 2 +- engine/events/hidden_objects/oaks_lab_email.asm | 2 +- engine/events/hidden_objects/pokecenter_pc.asm | 4 +- .../events/hidden_objects/route_15_binoculars.asm | 2 +- engine/events/pokecenter.asm | 4 +- engine/menus/display_text_id_init.asm | 4 +- engine/movie/oak_speech/oak_speech.asm | 4 +- engine/overworld/auto_movement.asm | 6 +-- engine/overworld/cut.asm | 4 +- engine/overworld/dust_smoke.asm | 2 +- engine/overworld/emotion_bubbles.asm | 2 +- engine/overworld/hidden_objects.asm | 2 +- engine/overworld/ledges.asm | 2 +- engine/overworld/map_sprites.asm | 20 ++++----- engine/overworld/movement.asm | 50 +++++++++++----------- engine/overworld/pathfinding.asm | 6 +-- engine/overworld/player_animations.asm | 36 ++++++++-------- engine/overworld/player_state.asm | 12 +++--- engine/overworld/push_boulder.asm | 4 +- engine/overworld/sprite_collisions.asm | 6 +-- engine/overworld/trainer_sight.asm | 28 ++++++------ engine/pokemon/bills_pc.asm | 6 +-- engine/slots/game_corner_slots2.asm | 2 +- home.asm | 10 ++--- home/overworld.asm | 42 +++++++++--------- home/text_script.asm | 2 +- macros/wram.asm | 7 ++- scripts/BillsHouse.asm | 2 +- scripts/CeruleanCity.asm | 2 +- scripts/CinnabarIsland.asm | 2 +- scripts/CopycatsHouse2F.asm | 2 +- scripts/OaksLab.asm | 6 +-- scripts/PalletTown.asm | 2 +- scripts/PokemonMansion1F.asm | 2 +- scripts/PokemonMansion2F.asm | 2 +- scripts/PokemonMansion3F.asm | 2 +- scripts/PokemonMansionB1F.asm | 2 +- scripts/PokemonTower6F.asm | 2 +- scripts/PokemonTower7F.asm | 2 +- scripts/RedsHouse1F.asm | 2 +- scripts/RocketHideoutB2F.asm | 4 +- scripts/Route11Gate2F.asm | 2 +- scripts/Route12Gate2F.asm | 2 +- scripts/Route22.asm | 2 +- scripts/Route22Gate.asm | 2 +- scripts/Route23.asm | 2 +- scripts/Route6Gate.asm | 2 +- scripts/Route7Gate.asm | 2 +- scripts/Route8Gate.asm | 2 +- scripts/SafariZoneGate.asm | 6 +-- scripts/SeafoamIslandsB3F.asm | 2 +- scripts/TradeCenter.asm | 8 ++-- scripts/VermilionCity.asm | 4 +- scripts/VermilionDock.asm | 4 +- scripts/ViridianCity.asm | 2 +- 62 files changed, 182 insertions(+), 179 deletions(-) diff --git a/engine/battle/battle_transitions.asm b/engine/battle/battle_transitions.asm index 98e87dc0..548e85fb 100644 --- a/engine/battle/battle_transitions.asm +++ b/engine/battle/battle_transitions.asm @@ -10,7 +10,7 @@ BattleTransition: ; Determine which OAM block is being used by the enemy trainer sprite (if there ; is one). - ld hl, wSpriteStateData1 + 2 + ld hl, wSpritePlayerStateData1ImageIndex ld a, [hSpriteIndexOrTextID] ; enemy trainer sprite index (0 if wild battle) ld c, a ld b, 0 diff --git a/engine/events/card_key.asm b/engine/events/card_key.asm index cc641893..a37a1f27 100755 --- a/engine/events/card_key.asm +++ b/engine/events/card_key.asm @@ -88,7 +88,7 @@ GetCoordsInFrontOfPlayer: ld d, a ld a, [wXCoord] ld e, a - ld a, [wSpriteStateData1 + 9] ; player's sprite facing direction + ld a, [wSpritePlayerStateData1FacingDirection] and a jr nz, .notFacingDown ; facing down diff --git a/engine/events/hidden_objects/bench_guys.asm b/engine/events/hidden_objects/bench_guys.asm index a6db73b9..d5db99ec 100644 --- a/engine/events/hidden_objects/bench_guys.asm +++ b/engine/events/hidden_objects/bench_guys.asm @@ -15,7 +15,7 @@ PrintBenchGuyText: .match ld a, [hli] ld b, a - ld a, [wSpriteStateData1 + 9] + ld a, [wSpritePlayerStateData1FacingDirection] cp b jr nz, .loop ; player isn't facing left at the bench guy ld a, [hl] diff --git a/engine/events/hidden_objects/bills_house_pc.asm b/engine/events/hidden_objects/bills_house_pc.asm index d6e9c19a..92679d66 100644 --- a/engine/events/hidden_objects/bills_house_pc.asm +++ b/engine/events/hidden_objects/bills_house_pc.asm @@ -1,6 +1,6 @@ BillsHousePC: call EnableAutoTextBoxDrawing - ld a, [wSpriteStateData1 + 9] + ld a, [wSpritePlayerStateData1FacingDirection] cp SPRITE_FACING_UP ret nz CheckEvent EVENT_LEFT_BILLS_HOUSE_AFTER_HELPING diff --git a/engine/events/hidden_objects/bookshelves.asm b/engine/events/hidden_objects/bookshelves.asm index eaf744ff..9cdd037a 100644 --- a/engine/events/hidden_objects/bookshelves.asm +++ b/engine/events/hidden_objects/bookshelves.asm @@ -1,6 +1,6 @@ ; prints text for bookshelves in buildings without sign events PrintBookshelfText:: - ld a, [wSpriteStateData1 + 9] ; player's sprite facing direction + ld a, [wSpritePlayerStateData1FacingDirection] cp SPRITE_FACING_UP jr nz, .noMatch ; facing up diff --git a/engine/events/hidden_objects/cinnabar_gym_quiz.asm b/engine/events/hidden_objects/cinnabar_gym_quiz.asm index 9412ee45..da309f87 100644 --- a/engine/events/hidden_objects/cinnabar_gym_quiz.asm +++ b/engine/events/hidden_objects/cinnabar_gym_quiz.asm @@ -1,5 +1,5 @@ PrintCinnabarQuiz: - ld a, [wSpriteStateData1 + 9] + ld a, [wSpritePlayerStateData1FacingDirection] cp SPRITE_FACING_UP ret nz call EnableAutoTextBoxDrawing diff --git a/engine/events/hidden_objects/gym_statues.asm b/engine/events/hidden_objects/gym_statues.asm index 3a17557f..1f592f2f 100644 --- a/engine/events/hidden_objects/gym_statues.asm +++ b/engine/events/hidden_objects/gym_statues.asm @@ -3,7 +3,7 @@ GymStatues: ; if in a gym and don’t have the corresponding badge, a = GymStatueText1_id and jp PrintPredefTextID ; else ret call EnableAutoTextBoxDrawing - ld a, [wSpriteStateData1 + 9] + ld a, [wSpritePlayerStateData1FacingDirection] cp SPRITE_FACING_UP ret nz ld hl, .BadgeFlags diff --git a/engine/events/hidden_objects/indigo_plateau_hq.asm b/engine/events/hidden_objects/indigo_plateau_hq.asm index 840c114d..e8fd0220 100644 --- a/engine/events/hidden_objects/indigo_plateau_hq.asm +++ b/engine/events/hidden_objects/indigo_plateau_hq.asm @@ -1,5 +1,5 @@ PrintIndigoPlateauHQText: - ld a, [wSpriteStateData1 + 9] + ld a, [wSpritePlayerStateData1FacingDirection] cp SPRITE_FACING_UP ret nz call EnableAutoTextBoxDrawing diff --git a/engine/events/hidden_objects/oaks_lab_email.asm b/engine/events/hidden_objects/oaks_lab_email.asm index cf3b2c9e..b66babe0 100644 --- a/engine/events/hidden_objects/oaks_lab_email.asm +++ b/engine/events/hidden_objects/oaks_lab_email.asm @@ -1,5 +1,5 @@ DisplayOakLabEmailText: - ld a, [wSpriteStateData1 + 9] + ld a, [wSpritePlayerStateData1FacingDirection] cp SPRITE_FACING_UP ret nz call EnableAutoTextBoxDrawing diff --git a/engine/events/hidden_objects/pokecenter_pc.asm b/engine/events/hidden_objects/pokecenter_pc.asm index 9a2ab064..9ae7d41c 100644 --- a/engine/events/hidden_objects/pokecenter_pc.asm +++ b/engine/events/hidden_objects/pokecenter_pc.asm @@ -1,6 +1,6 @@ OpenPokemonCenterPC: - ld a, [wSpriteStateData1 + 9] - cp SPRITE_FACING_UP ; check to see if player is facing up + ld a, [wSpritePlayerStateData1FacingDirection] + cp SPRITE_FACING_UP ret nz call EnableAutoTextBoxDrawing ld a, $1 diff --git a/engine/events/hidden_objects/route_15_binoculars.asm b/engine/events/hidden_objects/route_15_binoculars.asm index 028ea30d..ce047c2f 100644 --- a/engine/events/hidden_objects/route_15_binoculars.asm +++ b/engine/events/hidden_objects/route_15_binoculars.asm @@ -1,5 +1,5 @@ Route15GateLeftBinoculars: - ld a, [wSpriteStateData1 + 9] + ld a, [wSpritePlayerStateData1FacingDirection] cp SPRITE_FACING_UP ret nz call EnableAutoTextBoxDrawing diff --git a/engine/events/pokecenter.asm b/engine/events/pokecenter.asm index f6ec6491..030c333f 100755 --- a/engine/events/pokecenter.asm +++ b/engine/events/pokecenter.asm @@ -19,7 +19,7 @@ DisplayPokemonCenterDialogue_:: ld hl, NeedYourPokemonText call PrintText ld a, $18 - ld [wSpriteStateData1 + $12], a ; make the nurse turn to face the machine + ld [wSprite01StateData1ImageIndex], a ; make the nurse turn to face the machine call Delay3 predef HealParty callba AnimateHealingMachine ; do the healing machine animation @@ -34,7 +34,7 @@ DisplayPokemonCenterDialogue_:: ld hl, PokemonFightingFitText call PrintText ld a, $14 - ld [wSpriteStateData1 + $12], a ; make the nurse bow + ld [wSprite01StateData1ImageIndex], a ; make the nurse bow ld c, a call DelayFrames jr .done diff --git a/engine/menus/display_text_id_init.asm b/engine/menus/display_text_id_init.asm index 45c76f9c..c02e5bbc 100644 --- a/engine/menus/display_text_id_init.asm +++ b/engine/menus/display_text_id_init.asm @@ -41,7 +41,7 @@ DisplayTextIDInit:: ; loop to copy C1X9 (direction the sprite is facing) to C2X9 for each sprite ; this is done because when you talk to an NPC, they turn to look your way ; the original direction they were facing must be restored after the dialogue is over - ld hl, wSpriteStateData1 + $19 + ld hl, wSprite01StateData1FacingDirection ld c, $0f ld de, $10 .spriteFacingDirectionCopyLoop @@ -54,7 +54,7 @@ DisplayTextIDInit:: jr nz, .spriteFacingDirectionCopyLoop ; loop to force all the sprites in the middle of animation to stand still ; (so that they don't like they're frozen mid-step during the dialogue) - ld hl, wSpriteStateData1 + 2 + ld hl, wSpritePlayerStateData1ImageIndex ld de, $10 ld c, e .spriteStandStillLoop diff --git a/engine/movie/oak_speech/oak_speech.asm b/engine/movie/oak_speech/oak_speech.asm index e6087012..0dd0c2dc 100755 --- a/engine/movie/oak_speech/oak_speech.asm +++ b/engine/movie/oak_speech/oak_speech.asm @@ -9,8 +9,8 @@ SetDefaultNames: ld bc, wBoxDataEnd - wPlayerName xor a call FillMemory - ld hl, wSpriteStateData1 - ld bc, $200 + ld hl, wSpriteDataStart + ld bc, wSpriteDataEnd - wSpriteDataStart xor a call FillMemory pop af diff --git a/engine/overworld/auto_movement.asm b/engine/overworld/auto_movement.asm index 421e3180..5e70ab8c 100755 --- a/engine/overworld/auto_movement.asm +++ b/engine/overworld/auto_movement.asm @@ -12,7 +12,7 @@ PlayerStepOutFromDoor:: ld a, D_DOWN ld [wSimulatedJoypadStatesEnd], a xor a - ld [wSpriteStateData1 + 2], a + ld [wSpritePlayerStateData1ImageIndex], a call StartSimulatingJoypadStates ret .notStandingOnDoor @@ -110,7 +110,7 @@ PalletMovementScript_WalkToLab: swap a ld [wNPCMovementScriptSpriteOffset], a xor a - ld [wSpriteStateData2 + $06], a + ld [wSpritePlayerStateData2MovementByte1], a ld hl, wSimulatedJoypadStatesEnd ld de, RLEList_PlayerWalkToLab call DecodeRLEList @@ -228,7 +228,7 @@ PewterMovementScript_WalkToGym: swap a ld [wNPCMovementScriptSpriteOffset], a xor a - ld [wSpriteStateData2 + $06], a + ld [wSpritePlayerStateData2MovementByte1], a ld hl, wSimulatedJoypadStatesEnd ld de, RLEList_PewterGymPlayer call DecodeRLEList diff --git a/engine/overworld/cut.asm b/engine/overworld/cut.asm index dd9b7c1a..f99bf323 100755 --- a/engine/overworld/cut.asm +++ b/engine/overworld/cut.asm @@ -127,7 +127,7 @@ CutOrBoulderDustAnimationTilesAndAttributes: db $FE,$10,$FF,$10 GetCutOrBoulderDustAnimationOffsets: - ld hl, wSpriteStateData1 + 4 + ld hl, wSpritePlayerStateData1YPixels ld a, [hli] ; player's sprite screen Y position ld b, a inc hl @@ -187,7 +187,7 @@ ReplaceTreeTileBlock: ld h, [hl] ld l, a add hl, bc - ld a, [wSpriteStateData1 + 9] ; player sprite's facing direction + ld a, [wSpritePlayerStateData1FacingDirection] and a jr z, .down cp SPRITE_FACING_UP diff --git a/engine/overworld/dust_smoke.asm b/engine/overworld/dust_smoke.asm index 6c26b712..2dc6882e 100755 --- a/engine/overworld/dust_smoke.asm +++ b/engine/overworld/dust_smoke.asm @@ -30,7 +30,7 @@ AnimateBoulderDust: jp LoadPlayerSpriteGraphics GetMoveBoulderDustFunctionPointer: - ld a, [wSpriteStateData1 + 9] ; player's sprite facing direction + ld a, [wSpritePlayerStateData1FacingDirection] ld hl, MoveBoulderDustFunctionPointerTable ld c, a ld b, $0 diff --git a/engine/overworld/emotion_bubbles.asm b/engine/overworld/emotion_bubbles.asm index 20309fc1..1ac07b80 100755 --- a/engine/overworld/emotion_bubbles.asm +++ b/engine/overworld/emotion_bubbles.asm @@ -38,7 +38,7 @@ EmotionBubble: jr nz, .loop ; get the screen coordinates of the sprite the bubble is to be displayed above - ld hl, wSpriteStateData1 + 4 + ld hl, wSpritePlayerStateData1YPixels ld a, [wEmotionBubbleSpriteIndex] swap a ld c, a diff --git a/engine/overworld/hidden_objects.asm b/engine/overworld/hidden_objects.asm index d4a0a2bd..5ce7f3cb 100755 --- a/engine/overworld/hidden_objects.asm +++ b/engine/overworld/hidden_objects.asm @@ -87,7 +87,7 @@ CheckForHiddenObject:: ; checks if the coordinates in front of the player's sprite match Y in b and X in c ; [hCoordsInFrontOfPlayerMatch] = $00 if they match, $ff if they don't match CheckIfCoordsInFrontOfPlayerMatch: - ld a, [wSpriteStateData1 + 9] ; player's sprite facing direction + ld a, [wSpritePlayerStateData1FacingDirection] cp SPRITE_FACING_UP jr z, .facingUp cp SPRITE_FACING_LEFT diff --git a/engine/overworld/ledges.asm b/engine/overworld/ledges.asm index c56914f6..0f135fb6 100755 --- a/engine/overworld/ledges.asm +++ b/engine/overworld/ledges.asm @@ -6,7 +6,7 @@ HandleLedges:: and a ; OVERWORLD ret nz predef GetTileAndCoordsInFrontOfPlayer - ld a, [wSpriteStateData1 + 9] + ld a, [wSpritePlayerStateData1FacingDirection] ld b, a aCoord 8, 9 ld c, a diff --git a/engine/overworld/map_sprites.asm b/engine/overworld/map_sprites.asm index 00981b51..0de1befd 100755 --- a/engine/overworld/map_sprites.asm +++ b/engine/overworld/map_sprites.asm @@ -12,8 +12,8 @@ InitMapSprites:: call InitOutsideMapSprites ret c ; return if the map is an outside map (already handled by above call) ; if the map is an inside map (i.e. mapID >= $25) - ld hl, wSpriteStateData1 - ld de, wSpriteStateData2 + $0d + ld hl, wSpritePlayerStateData1PictureID + ld de, wSpritePlayerStateData2PictureID ; Loop to copy picture ID's from $C1X0 to $C2XD for LoadMapSpriteTilePatterns. .copyPictureIDLoop ld a, [hl] ; $C1X0 (picture ID) @@ -37,7 +37,7 @@ LoadMapSpriteTilePatterns: .spritesExist ld c, a ; c = [wNumSprites] ld b, $10 ; number of sprite slots - ld hl, wSpriteStateData2 + $0d + ld hl, wSpritePlayerStateData2PictureID xor a ld [hFourTileSpriteCount], a .copyPictureIDLoop ; loop to copy picture ID from $C2XD to $C2XE @@ -48,9 +48,9 @@ LoadMapSpriteTilePatterns: ld l, a dec b jr nz, .copyPictureIDLoop - ld hl, wSpriteStateData2 + $1e + ld hl, wSprite01StateData2ImageBaseOffset .loadTilePatternLoop - ld de, wSpriteStateData2 + $1d + ld de, wSprite01StateData2PictureID ; Check if the current picture ID has already had its tile patterns loaded. ; This done by looping through the previous sprite slots and seeing if any of ; their picture ID's match that of the current sprite slot. @@ -70,7 +70,7 @@ LoadMapSpriteTilePatterns: ld e, a jr .checkIfAlreadyLoadedLoop .notAlreadyLoaded - ld de, wSpriteStateData2 + $0e + ld de, wSpritePlayerStateData2ImageBaseOffset ld b, $01 ; loop to find the highest tile pattern VRAM slot (among the first 10 slots) used by a previous sprite slot ; this is done in order to find the first free VRAM slot available @@ -215,7 +215,7 @@ LoadMapSpriteTilePatterns: ld l, a dec c jp nz, .loadTilePatternLoop - ld hl, wSpriteStateData2 + $0d + ld hl, wSpritePlayerStateData2PictureID ld b, $10 ; the pictures ID's stored at $C2XD are no longer needed, so zero them .zeroStoredPictureIDLoop @@ -287,7 +287,7 @@ InitOutsideMapSprites: jr nc, .noCarry2 inc d .noCarry2 - ld hl, wSpriteStateData2 + $0d + ld hl, wSpritePlayerStateData2PictureID ld a, SPRITE_RED ld [hl], a ld bc, wSpriteSet @@ -323,7 +323,7 @@ InitOutsideMapSprites: call LoadMapSpriteTilePatterns pop af ld [wNumSprites], a ; restore number of sprites - ld hl, wSpriteStateData2 + $1e + ld hl, wSprite01StateData2ImageBaseOffset ld b, $0f ; The VRAM tile pattern slots that LoadMapSpriteTilePatterns set are in the ; order of the map's sprite set, not the order of the actual sprites loaded @@ -337,7 +337,7 @@ InitOutsideMapSprites: dec b jr nz, .zeroVRAMSlotsLoop .skipLoadingSpriteSet - ld hl, wSpriteStateData1 + $10 + ld hl, wSprite01StateData1 ; This loop stores the correct VRAM tile pattern slots according the sprite ; data from the map's header. Since the VRAM tile pattern slots are filled in ; the order of the sprite set, in order to find the VRAM tile pattern slot diff --git a/engine/overworld/movement.asm b/engine/overworld/movement.asm index 6c354779..d27ccb4b 100644 --- a/engine/overworld/movement.asm +++ b/engine/overworld/movement.asm @@ -1,13 +1,13 @@ MAP_TILESET_SIZE EQU $60 UpdatePlayerSprite: - ld a, [wSpriteStateData2] + ld a, [wSpritePlayerStateData2WalkAnimationCounter] and a jr z, .checkIfTextBoxInFrontOfSprite cp $ff jr z, .disableSprite dec a - ld [wSpriteStateData2], a + ld [wSpritePlayerStateData2WalkAnimationCounter], a jr .disableSprite ; check if a text box is in front of the sprite by checking if the lower left ; background tile the sprite is standing on is greater than $5F, which is @@ -19,7 +19,7 @@ UpdatePlayerSprite: jr c, .lowerLeftTileIsMapTile .disableSprite ld a, $ff - ld [wSpriteStateData1 + 2], a + ld [wSpritePlayerStateData1ImageIndex], a ret .lowerLeftTileIsMapTile call DetectCollisionBetweenSprites @@ -51,11 +51,11 @@ UpdatePlayerSprite: .notMoving ; zero the animation counters xor a - ld [wSpriteStateData1 + 7], a - ld [wSpriteStateData1 + 8], a + ld [wSpritePlayerStateData1IntraAnimFrameCounter], a + ld [wSpritePlayerStateData1AnimFrameCounter], a jr .calcImageIndex .next - ld [wSpriteStateData1 + 9], a ; facing direction + ld [wSpritePlayerStateData1FacingDirection], a ld a, [wFontLoaded] bit 0, a jr nz, .notMoving @@ -79,11 +79,11 @@ UpdatePlayerSprite: and $3 ld [hl], a .calcImageIndex - ld a, [wSpriteStateData1 + 8] + ld a, [wSpritePlayerStateData1AnimFrameCounter] ld b, a - ld a, [wSpriteStateData1 + 9] + ld a, [wSpritePlayerStateData1FacingDirection] add b - ld [wSpriteStateData1 + 2], a + ld [wSpritePlayerStateData1ImageIndex], a .skipSpriteAnim ; If the player is standing on a grass tile, make the player's sprite have ; lower priority than the background so that it's partially obscured by the @@ -97,7 +97,7 @@ UpdatePlayerSprite: jr nz, .next2 ld a, $80 .next2 - ld [wSpriteStateData2 + 7], a + ld [wSpritePlayerStateData2GrassPriority], a ret UnusedReadSpriteDataFunction: @@ -397,7 +397,7 @@ UpdateSpriteMovementDelay: notYetMoving: ld h, wSpriteStateData1 / $100 ld a, [hCurrentSpriteOffset] - add $8 + add wSpritePlayerStateData1AnimFrameCounter - wSpritePlayerStateData1 ld l, a ld [hl], $0 ; c1x8 = 0 (walk animation frame) jp UpdateSpriteImage @@ -452,7 +452,7 @@ InitializeSpriteStatus: InitializeSpriteScreenPosition: ld h, wSpriteStateData2 / $100 ld a, [hCurrentSpriteOffset] - add $4 + add wSpritePlayerStateData2MapY - wSpritePlayerStateData2 ld l, a ld a, [wYCoord] ld b, a @@ -480,13 +480,13 @@ CheckSpriteAvailability: jp nz, .spriteInvisible ld h, wSpriteStateData2 / $100 ld a, [hCurrentSpriteOffset] - add $6 + add wSpritePlayerStateData2MovementByte1 - wSpritePlayerStateData2 ld l, a ld a, [hl] ; c2x6: movement byte 1 cp $fe jr c, .skipXVisibilityTest ; movement byte 1 < $fe (i.e. the sprite's movement is scripted) ld a, [hCurrentSpriteOffset] - add $4 + add wSpritePlayerStateData2MapY - wSpritePlayerStateData2 ld l, a ld b, [hl] ; c2x4: Y pos (+4) ld a, [wYCoord] @@ -528,7 +528,7 @@ CheckSpriteAvailability: .spriteInvisible ld h, wSpriteStateData1 / $100 ld a, [hCurrentSpriteOffset] - add $2 + add wSpritePlayerStateData1ImageIndex - wSpritePlayerStateData1 ld l, a ld [hl], $ff ; c1x2 scf @@ -582,7 +582,7 @@ UpdateSpriteImage: CanWalkOntoTile: ld h, wSpriteStateData2 / $100 ld a, [hCurrentSpriteOffset] - add $6 + add wSpritePlayerStateData2MovementByte1 - wSpritePlayerStateData2 ld l, a ld a, [hl] ; c2x6 (movement byte 1) cp $fe @@ -610,7 +610,7 @@ CanWalkOntoTile: jr z, .impassable ; if $ff, no movement allowed (however, changing direction is) ld h, wSpriteStateData1 / $100 ld a, [hCurrentSpriteOffset] - add $4 + add wSpritePlayerStateData1YPixels - wSpritePlayerStateData1 ld l, a ld a, [hli] ; c1x4 (screen Y pos) add $4 ; align to blocks (Y pos is always 4 pixels off) @@ -636,7 +636,7 @@ CanWalkOntoTile: jr nz, .impassable ; collision between sprites, don't go there ld h, wSpriteStateData2 / $100 ld a, [hCurrentSpriteOffset] - add $2 + add wSpritePlayerStateData2YDisplacement - wSpritePlayerStateData2 ld l, a ld a, [hli] ; c2x2 (sprite Y displacement, initialized at $8, keep track of where a sprite did go) bit 7, d ; check if going upwards (d=$ff) @@ -665,7 +665,7 @@ CanWalkOntoTile: and a ; clear carry (marking success) ret .impassable - ld h, $c1 + ld h, wSpriteStateData1 / $100 ld a, [hCurrentSpriteOffset] inc a ld l, a @@ -693,7 +693,7 @@ CanWalkOntoTile: GetTileSpriteStandsOn: ld h, wSpriteStateData1 / $100 ld a, [hCurrentSpriteOffset] - add $4 + add wSpritePlayerStateData1YPixels - wSpritePlayerStateData1 ld l, a ld a, [hli] ; c1x4: screen Y position add $4 ; align to 2*2 tile blocks (Y position is always off 4 pixels to the top) @@ -807,12 +807,12 @@ InitScriptedNPCMovement: jp AnimScriptedNPCMovement GetSpriteScreenYPointer: - ld a, $4 + ld a, wSpritePlayerStateData1YPixels - wSpritePlayerStateData1 ld b, a jr GetSpriteScreenXYPointerCommon GetSpriteScreenXPointer: - ld a, $6 + ld a, wSpritePlayerStateData1XPixels - wSpritePlayerStateData1 ld b, a GetSpriteScreenXYPointerCommon: @@ -826,7 +826,7 @@ GetSpriteScreenXYPointerCommon: AnimScriptedNPCMovement: ld hl, wSpriteStateData2 ld a, [hCurrentSpriteOffset] - add $e + add wSpritePlayerStateData2ImageBaseOffset - wSpritePlayerStateData2 ld l, a ld a, [hl] ; VRAM slot dec a @@ -834,7 +834,7 @@ AnimScriptedNPCMovement: ld b, a ld hl, wSpriteStateData1 ld a, [hCurrentSpriteOffset] - add $9 + add wSpritePlayerStateData1FacingDirection - wSpritePlayerStateData1 ld l, a ld a, [hl] ; facing direction cp SPRITE_FACING_DOWN @@ -853,7 +853,7 @@ AnimScriptedNPCMovement: call AdvanceScriptedNPCAnimFrameCounter ld hl, wSpriteStateData1 ld a, [hCurrentSpriteOffset] - add $2 + add wSpritePlayerStateData1ImageIndex - wSpritePlayerStateData1 ld l, a ld a, [hSpriteVRAMSlotAndFacing] ld b, a diff --git a/engine/overworld/pathfinding.asm b/engine/overworld/pathfinding.asm index ba052d38..7251759c 100644 --- a/engine/overworld/pathfinding.asm +++ b/engine/overworld/pathfinding.asm @@ -77,14 +77,14 @@ FindPathToPlayer: CalcPositionOfPlayerRelativeToNPC: xor a ld [hNPCPlayerRelativePosFlags], a - ld a, [wSpriteStateData1 + 4] ; player's sprite screen Y position in pixels + ld a, [wSpritePlayerStateData1YPixels] ld d, a - ld a, [wSpriteStateData1 + 6] ; player's sprite screen X position in pixels + ld a, [wSpritePlayerStateData1XPixels] ld e, a ld hl, wSpriteStateData1 ld a, [hNPCSpriteOffset] add l - add $4 + add wSpritePlayerStateData1YPixels - wSpritePlayerStateData1 ld l, a jr nc, .noCarry inc h diff --git a/engine/overworld/player_animations.asm b/engine/overworld/player_animations.asm index c1c15ccf..cfd6cc8d 100755 --- a/engine/overworld/player_animations.asm +++ b/engine/overworld/player_animations.asm @@ -1,7 +1,7 @@ EnterMapAnim:: call InitFacingDirectionList ld a, $ec - ld [wSpriteStateData1 + 4], a ; player's sprite Y screen position + ld [wSpritePlayerStateData1YPixels], a call Delay3 push hl call GBFadeInFromWhite @@ -227,19 +227,19 @@ DoFlyAnimation: ld a, [wFlyAnimBirdSpriteImageIndex] xor $1 ; make the bird flap its wings ld [wFlyAnimBirdSpriteImageIndex], a - ld [wSpriteStateData1 + 2], a + ld [wSpritePlayerStateData1ImageIndex], a call Delay3 ld a, [wFlyAnimUsingCoordList] cp $ff jr z, .skipCopyingCoords ; if the bird is flapping its wings in place - ld hl, wSpriteStateData1 + 4 + ld hl, wSpritePlayerStateData1YPixels ld a, [de] inc de - ld [hli], a + ld [hli], a ; y inc hl ld a, [de] inc de - ld [hl], a + ld [hl], a ; x .skipCopyingCoords ld a, [wFlyAnimCounter] dec a @@ -258,15 +258,15 @@ LoadBirdSpriteGraphics: jp CopyVideoData InitFacingDirectionList: - ld a, [wSpriteStateData1 + 2] ; player's sprite facing direction (image index is locked to standing images) + ld a, [wSpritePlayerStateData1ImageIndex] ; (image index is locked to standing images) ld [wSavedPlayerFacingDirection], a - ld a, [wSpriteStateData1 + 4] ; player's sprite Y screen position + ld a, [wSpritePlayerStateData1YPixels] ld [wSavedPlayerScreenY], a ld hl, PlayerSpinningFacingOrder ld de, wFacingDirectionList ld bc, 4 call CopyData - ld a, [wSpriteStateData1 + 2] ; player's sprite facing direction (image index is locked to standing images) + ld a, [wSpritePlayerStateData1ImageIndex] ; (image index is locked to standing images) ld hl, wFacingDirectionList ; find the place in the list that matches the current facing direction .loop @@ -284,7 +284,7 @@ PlayerSpinningFacingOrder: SpinPlayerSprite: ; copy the current value from the list into the sprite data and rotate the list ld a, [hl] - ld [wSpriteStateData1 + 2], a ; player's sprite facing direction (image index is locked to standing images) + ld [wSpritePlayerStateData1ImageIndex], a ; (image index is locked to standing images) push hl ld hl, wFacingDirectionList ld de, wFacingDirectionList - 1 @@ -320,9 +320,9 @@ PlayerSpinWhileMovingUpOrDown: call SpinPlayerSprite ld a, [wPlayerSpinWhileMovingUpOrDownAnimDeltaY] ld c, a - ld a, [wSpriteStateData1 + 4] ; player's sprite Y screen position + ld a, [wSpritePlayerStateData1YPixels] add c - ld [wSpriteStateData1 + 4], a + ld [wSpritePlayerStateData1YPixels], a ld c, a ld a, [wPlayerSpinWhileMovingUpOrDownAnimMaxY] cp c @@ -334,9 +334,9 @@ PlayerSpinWhileMovingUpOrDown: RestoreFacingDirectionAndYScreenPos: ld a, [wSavedPlayerScreenY] - ld [wSpriteStateData1 + 4], a + ld [wSpritePlayerStateData1YPixels], a ld a, [wSavedPlayerFacingDirection] - ld [wSpriteStateData1 + 2], a + ld [wSpritePlayerStateData1ImageIndex], a ; (image index is locked to standing images) ret ; if SGB, 2 frames, else 3 frames @@ -387,7 +387,7 @@ FishingAnim: ld a, $4 ld hl, RedFishingTiles call LoadAnimSpriteGfx - ld a, [wSpriteStateData1 + 2] + ld a, [wSpritePlayerStateData1ImageIndex] ld c, a ld b, $0 ld hl, FishingRodOAM @@ -410,7 +410,7 @@ FishingAnim: ; shake the player's sprite vertically ld b, 10 .loop - ld hl, wSpriteStateData1 + 4 ; player's sprite Y screen position + ld hl, wSpritePlayerStateData1YPixels call .ShakePlayerSprite ld hl, wOAMBuffer + $9c call .ShakePlayerSprite @@ -420,7 +420,7 @@ FishingAnim: ; If the player is facing up, hide the fishing rod so it doesn't overlap with ; the exclamation bubble that will be shown next. - ld a, [wSpriteStateData1 + 2] ; player's sprite facing direction + ld a, [wSpritePlayerStateData1ImageIndex] ; (image index is locked to standing images) cp SPRITE_FACING_UP jr nz, .skipHidingFishingRod ld a, $a0 @@ -434,7 +434,7 @@ FishingAnim: predef EmotionBubble ; If the player is facing up, unhide the fishing rod. - ld a, [wSpriteStateData1 + 2] ; player's sprite facing direction + ld a, [wSpritePlayerStateData1ImageIndex] ; (image index is locked to standing images) cp SPRITE_FACING_UP jr nz, .skipUnhidingFishingRod ld a, $44 @@ -507,7 +507,7 @@ _HandleMidJump:: ld hl, PlayerJumpingYScreenCoords add hl, bc ld a, [hl] - ld [wSpriteStateData1 + 4], a ; player's sprite y coordinate + ld [wSpritePlayerStateData1YPixels], a ret .finishedJump ld a, [wWalkCounter] diff --git a/engine/overworld/player_state.asm b/engine/overworld/player_state.asm index ea24fdc1..9ff67df8 100644 --- a/engine/overworld/player_state.asm +++ b/engine/overworld/player_state.asm @@ -88,7 +88,7 @@ IsPlayerFacingEdgeOfMap:: push hl push de push bc - ld a, [wSpriteStateData1 + 9] ; player sprite's facing direction + ld a, [wSpritePlayerStateData1FacingDirection] srl a ld c, a ld b, $0 @@ -158,7 +158,7 @@ IsWarpTileInFrontOfPlayer:: ld a, [wCurMap] cp SS_ANNE_BOW jr z, IsSSAnneBowWarpTileInFrontOfPlayer - ld a, [wSpriteStateData1 + 9] ; player sprite's facing direction + ld a, [wSpritePlayerStateData1FacingDirection] srl a ld c, a ld b, 0 @@ -263,7 +263,7 @@ _GetTileAndCoordsInFrontOfPlayer: ld d, a ld a, [wXCoord] ld e, a - ld a, [wSpriteStateData1 + 9] ; player's sprite facing direction + ld a, [wSpritePlayerStateData1FacingDirection] and a ; cp SPRITE_FACING_DOWN jr nz, .notFacingDown ; facing down @@ -302,7 +302,7 @@ GetTileTwoStepsInFrontOfPlayer: ld a, [hli] ld d, a ld e, [hl] - ld a, [wSpriteStateData1 + 9] ; player's sprite facing direction + ld a, [wSpritePlayerStateData1FacingDirection] and a ; cp SPRITE_FACING_DOWN jr nz, .notFacingDown ; facing down @@ -375,7 +375,7 @@ CheckForBoulderCollisionWithSprites: swap a ld d, 0 ld e, a - ld hl, wSpriteStateData2 + $14 + ld hl, wSprite01StateData2MapY add hl, de ld a, [hli] ; map Y position ld [hPlayerYCoord], a @@ -384,7 +384,7 @@ CheckForBoulderCollisionWithSprites: ld a, [wNumSprites] ld c, a ld de, $f - ld hl, wSpriteStateData2 + $14 + ld hl, wSprite01StateData2MapY ld a, [hPlayerFacing] and $3 ; facing up or down? jr z, .pushingHorizontallyLoop diff --git a/engine/overworld/push_boulder.asm b/engine/overworld/push_boulder.asm index e4dd91cf..da1c6dee 100644 --- a/engine/overworld/push_boulder.asm +++ b/engine/overworld/push_boulder.asm @@ -12,7 +12,7 @@ TryPushingBoulder:: ld [wBoulderSpriteIndex], a and a jp z, ResetBoulderPushFlags - ld hl, wSpriteStateData1 + 1 + ld hl, wSpritePlayerStateData1MovementStatus ld d, $0 ld a, [hSpriteIndexOrTextID] swap a @@ -36,7 +36,7 @@ TryPushingBoulder:: jp nz, ResetBoulderPushFlags ld a, [hJoyHeld] ld b, a - ld a, [wSpriteStateData1 + 9] ; player's sprite facing direction + ld a, [wSpritePlayerStateData1FacingDirection] cp SPRITE_FACING_UP jr z, .pushBoulderUp cp SPRITE_FACING_LEFT diff --git a/engine/overworld/sprite_collisions.asm b/engine/overworld/sprite_collisions.asm index c5ff8ebb..48cd95b9 100644 --- a/engine/overworld/sprite_collisions.asm +++ b/engine/overworld/sprite_collisions.asm @@ -1,10 +1,10 @@ _UpdateSprites:: ld h, $c1 inc h - ld a, $e ; wSpriteStateData2 + $0e + ld a, wSpritePlayerStateData2ImageBaseOffset - wSpritePlayerStateData2 .spriteLoop ld l, a - sub $e + sub wSpritePlayerStateData2ImageBaseOffset - wSpritePlayerStateData2 ld c, a ld [hCurrentSpriteOffset], a ld a, [hl] @@ -20,7 +20,7 @@ _UpdateSprites:: .skipSprite ld a, l add $10 ; move to next sprite - cp $e ; test for overflow (back at $0e) + cp wSpritePlayerStateData2ImageBaseOffset - wSpritePlayerStateData2 ; test for overflow (back at beginning) jr nz, .spriteLoop ret .updateCurrentSprite diff --git a/engine/overworld/trainer_sight.asm b/engine/overworld/trainer_sight.asm index 81978c35..c12c064b 100755 --- a/engine/overworld/trainer_sight.asm +++ b/engine/overworld/trainer_sight.asm @@ -1,6 +1,6 @@ _GetSpritePosition1:: ld hl, wSpriteStateData1 - ld de, $4 + ld de, wSpritePlayerStateData1YPixels - wSpritePlayerStateData1 ld a, [wSpriteIndex] ld [hSpriteIndex], a call GetSpriteDataPointer @@ -9,7 +9,7 @@ _GetSpritePosition1:: inc hl ld a, [hl] ; c1x6 (screen X pos) ld [hSpriteScreenXCoord], a - ld de, (wSpriteStateData2 + $4) - (wSpriteStateData1 + $6) + ld de, wSpritePlayerStateData2MapY - wSpritePlayerStateData1XPixels add hl, de ld a, [hli] ; c2x4 (map Y pos) ld [hSpriteMapYCoord], a @@ -19,7 +19,7 @@ _GetSpritePosition1:: _GetSpritePosition2:: ld hl, wSpriteStateData1 - ld de, $4 + ld de, wSpritePlayerStateData1YPixels - wSpritePlayerStateData1 ld a, [wSpriteIndex] ld [hSpriteIndex], a call GetSpriteDataPointer @@ -28,7 +28,7 @@ _GetSpritePosition2:: inc hl ld a, [hl] ; c1x6 (screen X pos) ld [wSavedSpriteScreenX], a - ld de, (wSpriteStateData2 + $4) - (wSpriteStateData1 + $6) + ld de, wSpritePlayerStateData2MapY - wSpritePlayerStateData1XPixels add hl, de ld a, [hli] ; c2x4 (map Y pos) ld [wSavedSpriteMapY], a @@ -38,7 +38,7 @@ _GetSpritePosition2:: _SetSpritePosition1:: ld hl, wSpriteStateData1 - ld de, $4 + ld de, wSpritePlayerStateData1YPixels - wSpritePlayerStateData1 ld a, [wSpriteIndex] ld [hSpriteIndex], a call GetSpriteDataPointer @@ -47,7 +47,7 @@ _SetSpritePosition1:: inc hl ld a, [hSpriteScreenXCoord] ; c1x6 (screen X pos) ld [hl], a - ld de, (wSpriteStateData2 + $4) - (wSpriteStateData1 + $6) + ld de, wSpritePlayerStateData2MapY - wSpritePlayerStateData1XPixels add hl, de ld a, [hSpriteMapYCoord] ; c2x4 (map Y pos) ld [hli], a @@ -57,7 +57,7 @@ _SetSpritePosition1:: _SetSpritePosition2:: ld hl, wSpriteStateData1 - ld de, 4 + ld de, wSpritePlayerStateData1YPixels - wSpritePlayerStateData1 ld a, [wSpriteIndex] ld [hSpriteIndex], a call GetSpriteDataPointer @@ -66,7 +66,7 @@ _SetSpritePosition2:: inc hl ld a, [wSavedSpriteScreenX] ld [hl], a ; c1x6 (screen X pos) - ld de, (wSpriteStateData2 + $4) - (wSpriteStateData1 + $6) + ld de, wSpritePlayerStateData2MapY - wSpritePlayerStateData1XPixels add hl, de ld a, [wSavedSpriteMapY] ld [hli], a ; c2x4 (map Y pos) @@ -165,7 +165,7 @@ TrainerEngage: push hl push de ld a, [wTrainerSpriteOffset] - add $2 + add wSpritePlayerStateData1ImageIndex - wSpritePlayerStateData1 ld d, $0 ld e, a ld hl, wSpriteStateData1 @@ -176,7 +176,7 @@ TrainerEngage: jp .noEngage .spriteOnScreen ld a, [wTrainerSpriteOffset] - add $9 + add wSpritePlayerStateData1FacingDirection - wSpritePlayerStateData1 ld d, $0 ld e, a ld hl, wSpriteStateData1 @@ -234,7 +234,7 @@ TrainerEngage: ; reads trainer's Y position to wTrainerScreenY and X position to wTrainerScreenX ReadTrainerScreenPosition: ld a, [wTrainerSpriteOffset] - add $4 + add wSpritePlayerStateData1YPixels - wSpritePlayerStateData1 ld d, $0 ld e, a ld hl, wSpriteStateData1 @@ -242,7 +242,7 @@ ReadTrainerScreenPosition: ld a, [hl] ; c1x4 (sprite Y pos) ld [wTrainerScreenY], a ld a, [wTrainerSpriteOffset] - add $6 + add wSpritePlayerStateData1XPixels - wSpritePlayerStateData1 ld d, $0 ld e, a ld hl, wSpriteStateData1 @@ -295,7 +295,7 @@ CheckPlayerIsInFrontOfSprite: cp POWER_PLANT jp z, .engage ; bypass this for power plant to get voltorb fake items to work ld a, [wTrainerSpriteOffset] - add $4 + add wSpritePlayerStateData1YPixels - wSpritePlayerStateData1 ld d, $0 ld e, a ld hl, wSpriteStateData1 @@ -307,7 +307,7 @@ CheckPlayerIsInFrontOfSprite: .notOnTopmostTile ld [wTrainerScreenY], a ld a, [wTrainerSpriteOffset] - add $6 + add wSpritePlayerStateData1XPixels - wSpritePlayerStateData1 ld d, $0 ld e, a ld hl, wSpriteStateData1 diff --git a/engine/pokemon/bills_pc.asm b/engine/pokemon/bills_pc.asm index 05271e40..7877ada1 100644 --- a/engine/pokemon/bills_pc.asm +++ b/engine/pokemon/bills_pc.asm @@ -504,7 +504,7 @@ CableClubLeftGameboy:: ld a, [hSerialConnectionStatus] cp USING_EXTERNAL_CLOCK ret z - ld a, [wSpriteStateData1 + 9] ; player's sprite facing direction + ld a, [wSpritePlayerStateData1FacingDirection] cp SPRITE_FACING_RIGHT ret nz ld a, [wCurMap] @@ -521,7 +521,7 @@ CableClubRightGameboy:: ld a, [hSerialConnectionStatus] cp USING_INTERNAL_CLOCK ret z - ld a, [wSpriteStateData1 + 9] ; player's sprite facing direction + ld a, [wSpritePlayerStateData1FacingDirection] cp SPRITE_FACING_LEFT ret nz ld a, [wCurMap] @@ -538,7 +538,7 @@ JustAMomentText:: text_far _JustAMomentText text_end - ld a, [wSpriteStateData1 + 9] ; player's sprite facing direction + ld a, [wSpritePlayerStateData1FacingDirection] cp SPRITE_FACING_UP ret nz call EnableAutoTextBoxDrawing diff --git a/engine/slots/game_corner_slots2.asm b/engine/slots/game_corner_slots2.asm index f0fba746..a4ba4ec1 100755 --- a/engine/slots/game_corner_slots2.asm +++ b/engine/slots/game_corner_slots2.asm @@ -1,5 +1,5 @@ AbleToPlaySlotsCheck: - ld a, [wSpriteStateData1 + 2] + ld a, [wSpritePlayerStateData1ImageIndex] and $8 jr z, .done ; not able ld b, COIN_CASE diff --git a/home.asm b/home.asm index 0e977d11..c33ab449 100644 --- a/home.asm +++ b/home.asm @@ -111,9 +111,9 @@ ResetPlayerSpriteData:: ld hl, wSpriteStateData2 call ResetPlayerSpriteData_ClearSpriteData ld a, $1 - ld [wSpriteStateData1], a - ld [wSpriteStateData2 + $0e], a - ld hl, wSpriteStateData1 + 4 + ld [wSpritePlayerStateData1PictureID], a + ld [wSpritePlayerStateData2ImageBaseOffset], a + ld hl, wSpritePlayerStateData1YPixels ld [hl], $3c ; set Y screen pos inc hl inc hl @@ -485,7 +485,7 @@ TextScript_PokemonCenterPC:: StartSimulatingJoypadStates:: xor a ld [wOverrideSimulatedJoypadStatesMask], a - ld [wSpriteStateData2 + $06], a ; player's sprite movement byte 1 + ld [wSpritePlayerStateData2MovementByte1], a ld hl, wd730 set 7, [hl] ret @@ -572,7 +572,7 @@ CheckCoords:: ; sets carry if the coordinates are in the array, clears carry if not CheckBoulderCoords:: push hl - ld hl, wSpriteStateData2 + $04 + ld hl, wSpritePlayerStateData2MapY ld a, [hSpriteIndex] swap a ld d, $0 diff --git a/home/overworld.asm b/home/overworld.asm index b17208c7..be4af6ee 100644 --- a/home/overworld.asm +++ b/home/overworld.asm @@ -149,7 +149,7 @@ OverworldLoopLessDelay:: bit 7, a ; down button jr z, .checkIfUpButtonIsPressed ld a, 1 - ld [wSpriteStateData1 + 3], a ; delta Y + ld [wSpritePlayerStateData1YStepVector], a ld a, PLAYER_DIR_DOWN jr .handleDirectionButtonPress @@ -157,7 +157,7 @@ OverworldLoopLessDelay:: bit 6, a ; up button jr z, .checkIfLeftButtonIsPressed ld a, -1 - ld [wSpriteStateData1 + 3], a ; delta Y + ld [wSpritePlayerStateData1YStepVector], a ld a, PLAYER_DIR_UP jr .handleDirectionButtonPress @@ -165,7 +165,7 @@ OverworldLoopLessDelay:: bit 5, a ; left button jr z, .checkIfRightButtonIsPressed ld a, -1 - ld [wSpriteStateData1 + 5], a ; delta X + ld [wSpritePlayerStateData1XStepVector], a ld a, PLAYER_DIR_LEFT jr .handleDirectionButtonPress @@ -173,7 +173,7 @@ OverworldLoopLessDelay:: bit 4, a ; right button jr z, .noDirectionButtonsPressed ld a, 1 - ld [wSpriteStateData1 + 5], a ; delta X + ld [wSpritePlayerStateData1XStepVector], a .handleDirectionButtonPress @@ -1133,7 +1133,7 @@ IsSpriteInFrontOfPlayer:: ld d, $10 ; talking range in pixels (normal range) IsSpriteInFrontOfPlayer2:: lb bc, $3c, $40 ; Y and X position of player sprite - ld a, [wSpriteStateData1 + 9] ; direction the player is facing + ld a, [wSpritePlayerStateData1FacingDirection] .checkIfPlayerFacingUp cp SPRITE_FACING_UP jr nz, .checkIfPlayerFacingDown @@ -1176,7 +1176,7 @@ IsSpriteInFrontOfPlayer2:: and a ret z ; if there are sprites - ld hl, wSpriteStateData1 + $10 + ld hl, wSprite01StateData1 ld d, a ld e, $01 .spriteLoop @@ -1228,7 +1228,7 @@ CollisionCheckOnLand:: jr nz, .noCollision ; no collisions when the player's movements are being controlled by the game ld a, [wPlayerDirection] ; the direction that the player is trying to go in ld d, a - ld a, [wSpriteStateData1 + 12] ; the player sprite's collision data (bit field) (set in the sprite movement code) + ld a, [wSpritePlayerStateData1CollisionData] and d ; check if a sprite is in the direction the player is trying to go jr nz, .collision xor a @@ -1462,9 +1462,9 @@ LoadCurrentMapView:: ret AdvancePlayerSprite:: - ld a, [wSpriteStateData1 + 3] ; delta Y + ld a, [wSpritePlayerStateData1YStepVector] ld b, a - ld a, [wSpriteStateData1 + 5] ; delta X + ld a, [wSpritePlayerStateData1XStepVector] ld c, a ld hl, wWalkCounter ; walking animation counter dec [hl] @@ -1596,7 +1596,7 @@ AdvancePlayerSprite:: call MoveTileBlockMapPointerNorth .updateMapView call LoadCurrentMapView - ld a, [wSpriteStateData1 + 3] ; delta Y + ld a, [wSpritePlayerStateData1YStepVector] cp $01 jr nz, .checkIfMovingNorth2 ; if moving south @@ -1609,7 +1609,7 @@ AdvancePlayerSprite:: call ScheduleNorthRowRedraw jr .scrollBackgroundAndSprites .checkIfMovingEast2 - ld a, [wSpriteStateData1 + 5] ; delta X + ld a, [wSpritePlayerStateData1XStepVector] cp $01 jr nz, .checkIfMovingWest2 ; if moving east @@ -1621,9 +1621,9 @@ AdvancePlayerSprite:: ; if moving west call ScheduleWestColumnRedraw .scrollBackgroundAndSprites - ld a, [wSpriteStateData1 + 3] ; delta Y + ld a, [wSpritePlayerStateData1YStepVector] ld b, a - ld a, [wSpriteStateData1 + 5] ; delta X + ld a, [wSpritePlayerStateData1XStepVector] ld c, a sla b sla c @@ -1635,7 +1635,7 @@ AdvancePlayerSprite:: ld [hSCX], a ; update background scroll X ; shift all the sprites in the direction opposite of the player's motion ; so that the player appears to move relative to them - ld hl, wSpriteStateData1 + $14 + ld hl, wSprite01StateData1YPixels ld a, [wNumSprites] ; number of sprites and a ; are there any sprites? jr z, .done @@ -1845,8 +1845,8 @@ DrawTileBlock:: ; function to update joypad state and simulate button presses JoypadOverworld:: xor a - ld [wSpriteStateData1 + 3], a - ld [wSpriteStateData1 + 5], a + ld [wSpritePlayerStateData1YStepVector], a + ld [wSpritePlayerStateData1XStepVector], a call RunMapScript call Joypad ld a, [wFlags_D733] @@ -1920,7 +1920,7 @@ CollisionCheckOnWater:: jp nz, .noCollision ; return and clear carry if button presses are being simulated ld a, [wPlayerDirection] ; the direction that the player is trying to go in ld d, a - ld a, [wSpriteStateData1 + 12] ; the player sprite's collision data (bit field) (set in the sprite movement code) + ld a, [wSpritePlayerStateData1CollisionData] and d ; check if a sprite is in the direction the player is trying to go jr nz, .checkIfNextTileIsPassable ; bug? ld hl, TilePairCollisionsWater @@ -2168,8 +2168,8 @@ LoadMapHeader:: ld [wNumSprites], a ; save the number of sprites push hl ; zero C110-C1FF and C210-C2FF - ld hl, wSpriteStateData1 + $10 - ld de, wSpriteStateData2 + $10 + ld hl, wSprite01StateData1 + ld de, wSprite01StateData2 xor a ld b, $f0 .zeroSpriteDataLoop @@ -2179,7 +2179,7 @@ LoadMapHeader:: dec b jr nz, .zeroSpriteDataLoop ; initialize all C100-C1FF sprite entries to disabled (other than player's) - ld hl, wSpriteStateData1 + $12 + ld hl, wSprite01StateData1ImageIndex ld de, $10 ld c, $0f .disableSpriteEntriesLoop @@ -2188,7 +2188,7 @@ LoadMapHeader:: dec c jr nz, .disableSpriteEntriesLoop pop hl - ld de, wSpriteStateData1 + $10 + ld de, wSprite01StateData1 ld a, [wNumSprites] ; number of sprites and a ; are there any sprites? jp z, .finishUp ; if there are no sprites, skip the rest diff --git a/home/text_script.asm b/home/text_script.asm index 8bfe0927..2dd2dbde 100644 --- a/home/text_script.asm +++ b/home/text_script.asm @@ -111,7 +111,7 @@ CloseTextDisplay:: xor a ld [hAutoBGTransferEnabled], a ; disable continuous WRAM to VRAM transfer each V-blank ; loop to make sprites face the directions they originally faced before the dialogue - ld hl, wSpriteStateData2 + $19 + ld hl, wSprite01StateData2 + 9 ; should be wSprite01StateData1FacingDirection? ld c, $0f ld de, $10 .restoreSpriteFacingDirectionLoop diff --git a/macros/wram.asm b/macros/wram.asm index 7a9b4a6a..62464543 100644 --- a/macros/wram.asm +++ b/macros/wram.asm @@ -71,7 +71,9 @@ spritestatedata1: MACRO \1IntraAnimFrameCounter:: db \1AnimFrameCounter:: db \1FacingDirection:: db - ds 6 + ds 2 +\1CollisionData:: db + ds 3 \1End:: ENDM @@ -85,7 +87,8 @@ spritestatedata2: MACRO \1MovementByte1:: db \1GrassPriority:: db \1MovementDelay:: db - ds 5 + ds 4 +\1PictureID:: db \1ImageBaseOffset:: db ds 1 \1End:: diff --git a/scripts/BillsHouse.asm b/scripts/BillsHouse.asm index c1948ae4..3601c0b6 100755 --- a/scripts/BillsHouse.asm +++ b/scripts/BillsHouse.asm @@ -16,7 +16,7 @@ BillsHouseScript0: ret BillsHouseScript1: - ld a, [wSpriteStateData1 + 9] + ld a, [wSpritePlayerStateData1FacingDirection] and a ; cp SPRITE_FACING_DOWN ld de, MovementData_1e79c jr nz, .notDown diff --git a/scripts/CeruleanCity.asm b/scripts/CeruleanCity.asm index 410ed485..0c3e10cf 100755 --- a/scripts/CeruleanCity.asm +++ b/scripts/CeruleanCity.asm @@ -50,7 +50,7 @@ CeruleanCityScript0: .asm_194e6 ld [wPlayerMovingDirection], a ld a, b - ld [wSpriteStateData1 + 2 * $10 + $9], a + ld [wSprite02StateData1FacingDirection], a call Delay3 ld a, $2 ld [hSpriteIndexOrTextID], a diff --git a/scripts/CinnabarIsland.asm b/scripts/CinnabarIsland.asm index 9934d06f..54bbe1d8 100755 --- a/scripts/CinnabarIsland.asm +++ b/scripts/CinnabarIsland.asm @@ -35,7 +35,7 @@ CinnabarIslandScript0: ld [wSimulatedJoypadStatesEnd], a call StartSimulatingJoypadStates xor a - ld [wSpriteStateData1 + 9], a + ld [wSpritePlayerStateData1FacingDirection], a ld [wJoyIgnore], a ld a, $1 ld [wCinnabarIslandCurScript], a diff --git a/scripts/CopycatsHouse2F.asm b/scripts/CopycatsHouse2F.asm index 959aa249..9f28496a 100755 --- a/scripts/CopycatsHouse2F.asm +++ b/scripts/CopycatsHouse2F.asm @@ -84,7 +84,7 @@ CopycatsHouse2FText6: CopycatsHouse2FText7: text_asm - ld a, [wSpriteStateData1 + 9] + ld a, [wSpritePlayerStateData1FacingDirection] cp SPRITE_FACING_UP ld hl, CopycatsHouse2FText_5cd1c jr nz, .notUp diff --git a/scripts/OaksLab.asm b/scripts/OaksLab.asm index a890f44e..01196d7c 100755 --- a/scripts/OaksLab.asm +++ b/scripts/OaksLab.asm @@ -492,17 +492,17 @@ OaksLabScript14: cp $4 jr nz, .turnPlayerLeft ld a, SPRITE_FACING_RIGHT - ld [wSpriteStateData1 + 9], a + ld [wSpritePlayerStateData1FacingDirection], a jr .done .turnPlayerLeft ld a, SPRITE_FACING_LEFT - ld [wSpriteStateData1 + 9], a + ld [wSpritePlayerStateData1FacingDirection], a jr .done .turnPlayerDown cp $4 ret nz xor a ; ld a, SPRITE_FACING_DOWN - ld [wSpriteStateData1 + 9], a + ld [wSpritePlayerStateData1FacingDirection], a .done ret diff --git a/scripts/PalletTown.asm b/scripts/PalletTown.asm index 579e8cd8..e063e0c8 100755 --- a/scripts/PalletTown.asm +++ b/scripts/PalletTown.asm @@ -94,7 +94,7 @@ PalletTownScript3: bit 0, a ret nz xor a ; ld a, SPRITE_FACING_DOWN - ld [wSpriteStateData1 + 9], a + ld [wSpritePlayerStateData1FacingDirection], a ld a, 1 ld [wcf0d], a ld a, $FC diff --git a/scripts/PokemonMansion1F.asm b/scripts/PokemonMansion1F.asm index d369e992..d8f3728c 100755 --- a/scripts/PokemonMansion1F.asm +++ b/scripts/PokemonMansion1F.asm @@ -46,7 +46,7 @@ Mansion1ReplaceBlock: ret Mansion1Script_Switches:: - ld a, [wSpriteStateData1 + 9] + ld a, [wSpritePlayerStateData1FacingDirection] cp SPRITE_FACING_UP ret nz xor a diff --git a/scripts/PokemonMansion2F.asm b/scripts/PokemonMansion2F.asm index 3ddc28a5..e560d6bd 100755 --- a/scripts/PokemonMansion2F.asm +++ b/scripts/PokemonMansion2F.asm @@ -42,7 +42,7 @@ Mansion2Script_5202f: predef_jump ReplaceTileBlock Mansion2Script_Switches:: - ld a, [wSpriteStateData1 + 9] + ld a, [wSpritePlayerStateData1FacingDirection] cp SPRITE_FACING_UP ret nz xor a diff --git a/scripts/PokemonMansion3F.asm b/scripts/PokemonMansion3F.asm index a04c3b1f..ad346702 100755 --- a/scripts/PokemonMansion3F.asm +++ b/scripts/PokemonMansion3F.asm @@ -73,7 +73,7 @@ Mansion3Script_5225b: ret Mansion3Script_Switches:: - ld a, [wSpriteStateData1 + 9] + ld a, [wSpritePlayerStateData1FacingDirection] cp SPRITE_FACING_UP ret nz xor a diff --git a/scripts/PokemonMansionB1F.asm b/scripts/PokemonMansionB1F.asm index 99e866d8..aa7123f0 100755 --- a/scripts/PokemonMansionB1F.asm +++ b/scripts/PokemonMansionB1F.asm @@ -44,7 +44,7 @@ Mansion4Script_523cf: ret Mansion4Script_Switches:: - ld a, [wSpriteStateData1 + 9] + ld a, [wSpritePlayerStateData1FacingDirection] cp SPRITE_FACING_UP ret nz xor a diff --git a/scripts/PokemonTower6F.asm b/scripts/PokemonTower6F.asm index 2590e70f..a6ae22ec 100755 --- a/scripts/PokemonTower6F.asm +++ b/scripts/PokemonTower6F.asm @@ -75,7 +75,7 @@ PokemonTower6Script4: ld a, $10 ld [wSimulatedJoypadStatesEnd], a xor a - ld [wSpriteStateData2 + $06], a + ld [wSpritePlayerStateData2MovementByte1], a ld [wOverrideSimulatedJoypadStatesMask], a ld hl, wd730 set 7, [hl] diff --git a/scripts/PokemonTower7F.asm b/scripts/PokemonTower7F.asm index 498b8c8f..3f16ca92 100755 --- a/scripts/PokemonTower7F.asm +++ b/scripts/PokemonTower7F.asm @@ -70,7 +70,7 @@ PokemonTower7Script4: ld [wMissableObjectIndex], a predef HideObject ld a, SPRITE_FACING_UP - ld [wSpriteStateData1 + 9], a + ld [wSpritePlayerStateData1FacingDirection], a ld a, MR_FUJIS_HOUSE ld [hWarpDestinationMap], a ld a, $1 diff --git a/scripts/RedsHouse1F.asm b/scripts/RedsHouse1F.asm index cb071537..9f45a760 100755 --- a/scripts/RedsHouse1F.asm +++ b/scripts/RedsHouse1F.asm @@ -51,7 +51,7 @@ MomHealText2: RedsHouse1FText2: ; TV text_asm - ld a, [wSpriteStateData1 + 9] + ld a, [wSpritePlayerStateData1FacingDirection] cp SPRITE_FACING_UP ld hl, TVWrongSideText jr nz, .notUp diff --git a/scripts/RocketHideoutB2F.asm b/scripts/RocketHideoutB2F.asm index 23eca790..7a43e90e 100755 --- a/scripts/RocketHideoutB2F.asm +++ b/scripts/RocketHideoutB2F.asm @@ -314,7 +314,7 @@ RocketHideout2Script3: ret LoadSpinnerArrowTiles:: - ld a, [wSpriteStateData1 + 2] + ld a, [wSpritePlayerStateData1ImageIndex] srl a srl a ld hl, SpinnerPlayerFacingDirections @@ -322,7 +322,7 @@ LoadSpinnerArrowTiles:: ld b, $0 add hl, bc ld a, [hl] - ld [wSpriteStateData1 + 2], a + ld [wSpritePlayerStateData1ImageIndex], a ld a, [wCurMapTileset] cp FACILITY ld hl, FacilitySpinnerArrows diff --git a/scripts/Route11Gate2F.asm b/scripts/Route11Gate2F.asm index f888d72f..1fefc824 100755 --- a/scripts/Route11Gate2F.asm +++ b/scripts/Route11Gate2F.asm @@ -47,7 +47,7 @@ Route11GateUpstairsText_494a3: Route11GateUpstairsText3: text_asm - ld a, [wSpriteStateData1 + 9] + ld a, [wSpritePlayerStateData1FacingDirection] cp SPRITE_FACING_UP jp nz, GateUpstairsScript_PrintIfFacingUp CheckEvent EVENT_BEAT_ROUTE12_SNORLAX diff --git a/scripts/Route12Gate2F.asm b/scripts/Route12Gate2F.asm index 6409a24b..ff4bf2b2 100755 --- a/scripts/Route12Gate2F.asm +++ b/scripts/Route12Gate2F.asm @@ -65,7 +65,7 @@ Route12GateUpstairsText_495c4: text_end GateUpstairsScript_PrintIfFacingUp: - ld a, [wSpriteStateData1 + 9] + ld a, [wSpritePlayerStateData1FacingDirection] cp SPRITE_FACING_UP jr z, .up ld a, $1 diff --git a/scripts/Route22.asm b/scripts/Route22.asm index 8771ad0e..b6970ef0 100755 --- a/scripts/Route22.asm +++ b/scripts/Route22.asm @@ -149,7 +149,7 @@ Route22Script2: ld a, [wIsInBattle] cp $ff jp z, Route22Script_50ece - ld a, [wSpriteStateData1 + 9] + ld a, [wSpritePlayerStateData1FacingDirection] and a ; cp SPRITE_FACING_DOWN jr nz, .notDown ld a, SPRITE_FACING_UP diff --git a/scripts/Route22Gate.asm b/scripts/Route22Gate.asm index b7fcc8f5..e2311b95 100755 --- a/scripts/Route22Gate.asm +++ b/scripts/Route22Gate.asm @@ -37,7 +37,7 @@ Route22GateScript_1e6ba: ld [wSimulatedJoypadStatesIndex], a ld a, D_DOWN ld [wSimulatedJoypadStatesEnd], a - ld [wSpriteStateData1 + 9], a + ld [wSpritePlayerStateData1FacingDirection], a ld [wJoyIgnore], a jp StartSimulatingJoypadStates diff --git a/scripts/Route23.asm b/scripts/Route23.asm index e8bc5475..b617992b 100755 --- a/scripts/Route23.asm +++ b/scripts/Route23.asm @@ -118,7 +118,7 @@ Route23Script_512d8: ld a, D_DOWN ld [wSimulatedJoypadStatesEnd], a xor a - ld [wSpriteStateData1 + 9], a + ld [wSpritePlayerStateData1FacingDirection], a ld [wJoyIgnore], a jp StartSimulatingJoypadStates diff --git a/scripts/Route6Gate.asm b/scripts/Route6Gate.asm index 6b00eddb..6e9dd4b3 100755 --- a/scripts/Route6Gate.asm +++ b/scripts/Route6Gate.asm @@ -60,7 +60,7 @@ Route6GateScript_1e0a1: ld a, $1 ld [wSimulatedJoypadStatesIndex], a xor a - ld [wSpriteStateData2 + $06], a + ld [wSpritePlayerStateData2MovementByte1], a ld [wOverrideSimulatedJoypadStatesMask], a ret diff --git a/scripts/Route7Gate.asm b/scripts/Route7Gate.asm index 06c5c91b..00d7472f 100755 --- a/scripts/Route7Gate.asm +++ b/scripts/Route7Gate.asm @@ -17,7 +17,7 @@ Route7GateScript_1e111: ld a, $1 ld [wSimulatedJoypadStatesIndex], a xor a - ld [wSpriteStateData2 + $06], a + ld [wSpritePlayerStateData2MovementByte1], a ld [wOverrideSimulatedJoypadStatesMask], a ret diff --git a/scripts/Route8Gate.asm b/scripts/Route8Gate.asm index 80b8b9a4..d3003c4d 100755 --- a/scripts/Route8Gate.asm +++ b/scripts/Route8Gate.asm @@ -16,7 +16,7 @@ Route8GateScript_1e1d7: ld a, $1 ld [wSimulatedJoypadStatesIndex], a xor a - ld [wSpriteStateData2 + $06], a + ld [wSpritePlayerStateData2MovementByte1], a ld [wOverrideSimulatedJoypadStatesMask], a ret diff --git a/scripts/SafariZoneGate.asm b/scripts/SafariZoneGate.asm index 6f8299fc..76f4faa6 100755 --- a/scripts/SafariZoneGate.asm +++ b/scripts/SafariZoneGate.asm @@ -25,7 +25,7 @@ SafariZoneGate_ScriptPointers: xor a ld [hJoyHeld], a ld a, SPRITE_FACING_RIGHT - ld [wSpriteStateData1 + 9], a + ld [wSpritePlayerStateData1FacingDirection], a ld a, [wCoordIndex] cp $1 jr z, .asm_7520f @@ -231,7 +231,7 @@ SafariZoneGate_TextPointers: ld hl, .SafariZoneEntranceText_753bb call PrintText xor a - ld [wSpriteStateData1 + 9], a + ld [wSpritePlayerStateData1FacingDirection], a ld a, D_DOWN ld c, $3 call SafariZoneEntranceAutoWalk @@ -243,7 +243,7 @@ SafariZoneGate_TextPointers: ld hl, .SafariZoneEntranceText_753c0 call PrintText ld a, SPRITE_FACING_UP - ld [wSpriteStateData1 + 9], a + ld [wSpritePlayerStateData1FacingDirection], a ld a, D_UP ld c, $1 call SafariZoneEntranceAutoWalk diff --git a/scripts/SeafoamIslandsB3F.asm b/scripts/SeafoamIslandsB3F.asm index c8fec338..7d0e032b 100755 --- a/scripts/SeafoamIslandsB3F.asm +++ b/scripts/SeafoamIslandsB3F.asm @@ -109,7 +109,7 @@ SeafoamIslands4Script2: dec a ld [wSimulatedJoypadStatesIndex], a xor a - ld [wSpriteStateData2 + $06], a + ld [wSpritePlayerStateData2MovementByte1], a ld hl, wd730 set 7, [hl] ld hl, wFlags_D733 diff --git a/scripts/TradeCenter.asm b/scripts/TradeCenter.asm index 3a1a10f3..e7fa8ac8 100755 --- a/scripts/TradeCenter.asm +++ b/scripts/TradeCenter.asm @@ -14,20 +14,20 @@ TradeCenter_Script: bit 0, [hl] set 0, [hl] ret nz - ld hl, wSpriteStateData2 + $14 + ld hl, wSprite01StateData2MapY ld a, $8 ld [hli], a ld a, $a ld [hl], a ld a, SPRITE_FACING_LEFT - ld [wSpriteStateData1 + $19], a + ld [wSprite01StateData1FacingDirection], a ld a, [hSerialConnectionStatus] cp USING_INTERNAL_CLOCK ret z ld a, $7 - ld [wSpriteStateData2 + $15], a + ld [wSprite01StateData2MapX], a ld a, SPRITE_FACING_RIGHT - ld [wSpriteStateData1 + $19], a + ld [wSprite01StateData1FacingDirection], a ret TradeCenter_TextPointers: diff --git a/scripts/VermilionCity.asm b/scripts/VermilionCity.asm index 9f0e8139..127ee16a 100755 --- a/scripts/VermilionCity.asm +++ b/scripts/VermilionCity.asm @@ -38,7 +38,7 @@ VermilionCity_ScriptPointers: dw VermilionCityScript4 VermilionCityScript0: - ld a, [wSpriteStateData1 + 9] + ld a, [wSpritePlayerStateData1FacingDirection] and a ; cp SPRITE_FACING_DOWN ret nz ld hl, SSAnneTicketCheckCoords @@ -157,7 +157,7 @@ VermilionCityText3: text_asm CheckEvent EVENT_SS_ANNE_LEFT jr nz, .shipHasDeparted - ld a, [wSpriteStateData1 + 9] + ld a, [wSpritePlayerStateData1FacingDirection] cp SPRITE_FACING_RIGHT jr z, .greetPlayer ld hl, .inFrontOfOrBehindGuardCoords diff --git a/scripts/VermilionDock.asm b/scripts/VermilionDock.asm index 3f520cfb..2c39bdb8 100755 --- a/scripts/VermilionDock.asm +++ b/scripts/VermilionDock.asm @@ -21,7 +21,7 @@ VermilionDock_Script: ld a, $3 ld [wSimulatedJoypadStatesIndex], a xor a - ld [wSpriteStateData2 + $06], a + ld [wSpritePlayerStateData2MovementByte1], a ld [wOverrideSimulatedJoypadStatesMask], a dec a ld [wJoyIgnore], a @@ -47,7 +47,7 @@ VermilionDock_1db9b: call PlayMusic callba LoadSmokeTileFourTimes xor a - ld [wSpriteStateData1 + 2], a + ld [wSpritePlayerStateData1ImageIndex], a ld c, 120 call DelayFrames ld b, $9c diff --git a/scripts/ViridianCity.asm b/scripts/ViridianCity.asm index 7c4d9c97..20594974 100755 --- a/scripts/ViridianCity.asm +++ b/scripts/ViridianCity.asm @@ -120,7 +120,7 @@ ViridianCityScript_190cf: ld a, D_DOWN ld [wSimulatedJoypadStatesEnd], a xor a - ld [wSpriteStateData1 + 9], a + ld [wSpritePlayerStateData1FacingDirection], a ld [wJoyIgnore], a ret -- cgit v1.2.3 From 1db2e7b5b470a47da9ca237ad704c2b73f29af2e Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 5 Jul 2020 18:56:24 -0400 Subject: =?UTF-8?q?Fix=20Japanese=20charmap:=20large=20"=E3=82=AA"=20is=20?= =?UTF-8?q?$84,=20small=20"=E3=82=A9"=20is=20$F4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- charmap.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/charmap.asm b/charmap.asm index fde17a4d..f0967978 100644 --- a/charmap.asm +++ b/charmap.asm @@ -262,7 +262,7 @@ charmap "イ", $81 charmap "ウ", $82 charmap "エ", $83 - charmap "ォ", $84 + charmap "オ", $84 charmap "カ", $85 charmap "キ", $86 charmap "ク", $87 -- cgit v1.2.3 From 034801b6afafc812679483f22b85dc8287826d4c Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 5 Jul 2020 18:56:55 -0400 Subject: Sync .gitignore with pokegold and pokecrystal --- .gitignore | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/.gitignore b/.gitignore index d319e60c..31f29175 100644 --- a/.gitignore +++ b/.gitignore @@ -1,18 +1,26 @@ -# generated -*.tx +# compiled objects *.o -# precompiled python -*.pyc -*$py.class - -# no binaries -*.exe +# compiled graphics +*.1bpp +*.2bpp +*.pic -# roms +# compiled roms *.gbc *.gb +# rgbds extras +*.map +*.sym + +# tool binaries +*.exe + +# precompiled python +*.pyc +*$py.class + # save game files *.sgm *.sav @@ -21,10 +29,6 @@ *.sa* *.sg1 -# rgbds extras -*.map -*.sym - # vim configuration # http://www.vim.org/scripts/script.php?script_id=441 .lvimrc @@ -35,8 +39,3 @@ # macos files .DS_STORE - -# compiled graphics -*.1bpp -*.2bpp -*.pic -- cgit v1.2.3 From 89a41f4bdfe4e0579b4b64cfb3542362c0f2c53b Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 5 Jul 2020 19:06:56 -0400 Subject: Sync README.md with pokegold and pokecrystal, and use binary SHA-1 ROM hashes --- README.md | 35 ++++++++++++++++++++--------------- roms.sha1 | 4 ++-- 2 files changed, 22 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 49503a3e..21e48780 100644 --- a/README.md +++ b/README.md @@ -1,27 +1,30 @@ -# Pokémon Red and Blue +# Pokémon Red and Blue [![Build Status][travis-badge]][travis] This is a disassembly of Pokémon Red and Blue. -It builds the following roms: +It builds the following ROMs: -* Pokemon Red (UE) [S][!].gb `md5: 3d45c1ee9abd5738df46d2bdda8b57dc` -* Pokemon Blue (UE) [S][!].gb `md5: 50927e843568814f7ed45ec4f944bd8b` +- Pokemon Red (UE) [S][!].gb `sha1: ea9bcae617fdf159b045185467ae58b2e4a48b9a` +- Pokemon Blue (UE) [S][!].gb `sha1: d7037c83e1ae5b39bde3c30787637ba1d4c48ce2` To set up the repository, see [**INSTALL.md**](INSTALL.md). ## See also -* Disassembly of [**Pokémon Yellow**][pokeyellow] -* Disassembly of [**Pokémon Gold**][pokegold] -* Disassembly of [**Pokémon Crystal**][pokecrystal] -* Disassembly of [**Pokémon Pinball**][pokepinball] -* Disassembly of [**Pokémon TCG**][poketcg] -* Disassembly of [**Pokémon Ruby**][pokeruby] -* Disassembly of [**Pokémon Fire Red**][pokefirered] -* Disassembly of [**Pokémon Emerald**][pokeemerald] -* Discord: [**pret**][Discord] -* irc: **irc.freenode.net** [**#pret**][irc] +- **Discord:** [pret][discord] +- **IRC:** [freenode#pret][irc] + +Other disassembly projects: + +- [**Pokémon Yellow**][pokeyellow] +- [**Pokémon Gold/Silver**][pokegold] +- [**Pokémon Crystal**][pokecrystal] +- [**Pokémon Pinball**][pokepinball] +- [**Pokémon TCG**][poketcg] +- [**Pokémon Ruby**][pokeruby] +- [**Pokémon FireRed**][pokefirered] +- [**Pokémon Emerald**][pokeemerald] [pokeyellow]: https://github.com/pret/pokeyellow [pokegold]: https://github.com/pret/pokegold @@ -31,5 +34,7 @@ To set up the repository, see [**INSTALL.md**](INSTALL.md). [pokeruby]: https://github.com/pret/pokeruby [pokefirered]: https://github.com/pret/pokefirered [pokeemerald]: https://github.com/pret/pokeemerald -[Discord]: https://discord.gg/d5dubZ3 +[discord]: https://discord.gg/d5dubZ3 [irc]: https://kiwiirc.com/client/irc.freenode.net/?#pret +[travis]: https://travis-ci.org/pret/pokered +[travis-badge]: https://travis-ci.org/pret/pokered.svg?branch=master diff --git a/roms.sha1 b/roms.sha1 index 742056ac..d3c48ac7 100644 --- a/roms.sha1 +++ b/roms.sha1 @@ -1,2 +1,2 @@ -ea9bcae617fdf159b045185467ae58b2e4a48b9a pokered.gbc -d7037c83e1ae5b39bde3c30787637ba1d4c48ce2 pokeblue.gbc +ea9bcae617fdf159b045185467ae58b2e4a48b9a *pokered.gbc +d7037c83e1ae5b39bde3c30787637ba1d4c48ce2 *pokeblue.gbc -- cgit v1.2.3 From 550cfb58cfe5cf545484f02d76594151a53ebe37 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 5 Jul 2020 19:13:54 -0400 Subject: gfx/overworld/spinners.png, like gfx/battle/balls.png, is 4x1 not 2x2 --- gfx/overworld/spinners.png | Bin 131 -> 128 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/gfx/overworld/spinners.png b/gfx/overworld/spinners.png index aea0672b..534ae610 100644 Binary files a/gfx/overworld/spinners.png and b/gfx/overworld/spinners.png differ -- cgit v1.2.3 From 95014444bc0ee24553674f8c10e6b41ea43febbd Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 5 Jul 2020 19:44:00 -0400 Subject: Remove user system-specific files from .gitignore --- .gitignore | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/.gitignore b/.gitignore index 31f29175..8643ec14 100644 --- a/.gitignore +++ b/.gitignore @@ -28,14 +28,3 @@ *.sn* *.sa* *.sg1 - -# vim configuration -# http://www.vim.org/scripts/script.php?script_id=441 -.lvimrc - -# swap files for vim and gedit -.*.swp -*~ - -# macos files -.DS_STORE -- cgit v1.2.3 From 5fe8aab3445cb76d8e1c4be954c0392f40798950 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 5 Jul 2020 19:55:03 -0400 Subject: db $f6 == script_cable_club_receptionist --- scripts/MtMoonPokecenter.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/MtMoonPokecenter.asm b/scripts/MtMoonPokecenter.asm index 8a5ca99f..bcc540a3 100755 --- a/scripts/MtMoonPokecenter.asm +++ b/scripts/MtMoonPokecenter.asm @@ -91,4 +91,4 @@ MtMoonPokecenterText5: text_end MtMoonTradeNurseText: - db $f6 + script_cable_club_receptionist -- cgit v1.2.3 From 66ebe56adc7a6a742a413eb2adbdc369b86183d5 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 5 Jul 2020 21:59:32 -0400 Subject: Port pokecrystal's base data and tmhm structure To do: TM/HM constants named after moves --- data/pokemon/base_stats/abra.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/aerodactyl.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/alakazam.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/arbok.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/arcanine.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/articuno.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/beedrill.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/bellsprout.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/blastoise.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/bulbasaur.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/butterfree.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/caterpie.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/chansey.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/charizard.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/charmander.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/charmeleon.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/clefable.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/clefairy.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/cloyster.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/cubone.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/dewgong.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/diglett.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/ditto.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/dodrio.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/doduo.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/dragonair.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/dragonite.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/dratini.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/drowzee.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/dugtrio.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/eevee.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/ekans.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/electabuzz.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/electrode.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/exeggcute.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/exeggutor.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/farfetchd.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/fearow.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/flareon.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/gastly.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/gengar.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/geodude.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/gloom.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/golbat.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/goldeen.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/golduck.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/golem.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/graveler.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/grimer.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/growlithe.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/gyarados.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/haunter.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/hitmonchan.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/hitmonlee.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/horsea.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/hypno.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/ivysaur.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/jigglypuff.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/jolteon.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/jynx.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/kabuto.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/kabutops.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/kadabra.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/kakuna.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/kangaskhan.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/kingler.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/koffing.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/krabby.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/lapras.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/lickitung.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/machamp.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/machoke.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/machop.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/magikarp.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/magmar.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/magnemite.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/magneton.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/mankey.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/marowak.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/meowth.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/metapod.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/mew.asm | 49 ++++++++++++++-------------------- data/pokemon/base_stats/mewtwo.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/moltres.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/mrmime.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/muk.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/nidoking.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/nidoqueen.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/nidoranf.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/nidoranm.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/nidorina.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/nidorino.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/ninetales.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/oddish.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/omanyte.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/omastar.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/onix.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/paras.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/parasect.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/persian.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/pidgeot.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/pidgeotto.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/pidgey.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/pikachu.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/pinsir.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/poliwag.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/poliwhirl.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/poliwrath.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/ponyta.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/porygon.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/primeape.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/psyduck.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/raichu.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/rapidash.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/raticate.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/rattata.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/rhydon.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/rhyhorn.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/sandshrew.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/sandslash.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/scyther.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/seadra.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/seaking.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/seel.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/shellder.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/slowbro.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/slowpoke.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/snorlax.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/spearow.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/squirtle.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/starmie.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/staryu.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/tangela.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/tauros.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/tentacool.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/tentacruel.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/vaporeon.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/venomoth.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/venonat.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/venusaur.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/victreebel.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/vileplume.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/voltorb.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/vulpix.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/wartortle.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/weedle.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/weepinbell.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/weezing.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/wigglytuff.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/zapdos.asm | 48 ++++++++++++++------------------- data/pokemon/base_stats/zubat.asm | 48 ++++++++++++++------------------- data/pokemon/mew.asm | 1 + macros/data.asm | 36 ++++++++++++++++++------- 153 files changed, 3048 insertions(+), 4238 deletions(-) diff --git a/data/pokemon/base_stats/abra.asm b/data/pokemon/base_stats/abra.asm index dfb446ca..4a03ddac 100644 --- a/data/pokemon/base_stats/abra.asm +++ b/data/pokemon/base_stats/abra.asm @@ -1,28 +1,20 @@ -db DEX_ABRA ; pokedex id -db 25 ; base hp -db 20 ; base attack -db 15 ; base defense -db 90 ; base speed -db 105 ; base special -db PSYCHIC ; species type 1 -db PSYCHIC ; species type 2 -db 200 ; catch rate -db 73 ; base exp yield -INCBIN "gfx/pokemon/front/abra.pic",0,1 ; 55, sprite dimensions -dw AbraPicFront -dw AbraPicBack -; attacks known at lvl 0 -db TELEPORT -db 0 -db 0 -db 0 -db 3 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10 - tmlearn 17,18,19,20 - tmlearn 29,30,31,32 - tmlearn 33,34,35,40 - tmlearn 44,45,46 - tmlearn 49,50,55 -db 0 ; padding + db DEX_ABRA ; pokedex id + + db 25, 20, 15, 90, 105 + ; hp atk def spd spc + + db PSYCHIC, PSYCHIC ; type + db 200 ; catch rate + db 73 ; base exp + + INCBIN "gfx/pokemon/front/abra.pic", 0, 1 ; sprite dimensions + dw AbraPicFront, AbraPicBack + + db TELEPORT, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset + db 3 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 8, 9, 10, 17, 18, 19, 20, 29, 30, 31, 32, 33, 34, 35, 40, 44, 45, 46, 49, 50, 55 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/aerodactyl.asm b/data/pokemon/base_stats/aerodactyl.asm index 564fc831..6048256f 100644 --- a/data/pokemon/base_stats/aerodactyl.asm +++ b/data/pokemon/base_stats/aerodactyl.asm @@ -1,28 +1,20 @@ -db DEX_AERODACTYL ; pokedex id -db 80 ; base hp -db 105 ; base attack -db 65 ; base defense -db 130 ; base speed -db 60 ; base special -db ROCK ; species type 1 -db FLYING ; species type 2 -db 45 ; catch rate -db 202 ; base exp yield -INCBIN "gfx/pokemon/front/aerodactyl.pic",0,1 ; 77, sprite dimensions -dw AerodactylPicFront -dw AerodactylPicBack -; attacks known at lvl 0 -db WING_ATTACK -db AGILITY -db 0 -db 0 -db 5 ; growth rate -; learnset - tmlearn 2,4,6 - tmlearn 9,10,15 - tmlearn 20,23 - tmlearn 31,32 - tmlearn 33,34,38,39 - tmlearn 43,44 - tmlearn 50,52 -db 0 ; padding + db DEX_AERODACTYL ; pokedex id + + db 80, 105, 65, 130, 60 + ; hp atk def spd spc + + db ROCK, FLYING ; type + db 45 ; catch rate + db 202 ; base exp + + INCBIN "gfx/pokemon/front/aerodactyl.pic", 0, 1 ; sprite dimensions + dw AerodactylPicFront, AerodactylPicBack + + db WING_ATTACK, AGILITY, NO_MOVE, NO_MOVE ; level 1 learnset + db 5 ; growth rate + + ; tm/hm learnset + tmhm 2, 4, 6, 9, 10, 15, 20, 23, 31, 32, 33, 34, 38, 39, 43, 44, 50, 52 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/alakazam.asm b/data/pokemon/base_stats/alakazam.asm index 57f7f516..1d081a1c 100644 --- a/data/pokemon/base_stats/alakazam.asm +++ b/data/pokemon/base_stats/alakazam.asm @@ -1,28 +1,20 @@ -db DEX_ALAKAZAM ; pokedex id -db 55 ; base hp -db 50 ; base attack -db 45 ; base defense -db 120 ; base speed -db 135 ; base special -db PSYCHIC ; species type 1 -db PSYCHIC ; species type 2 -db 50 ; catch rate -db 186 ; base exp yield -INCBIN "gfx/pokemon/front/alakazam.pic",0,1 ; 77, sprite dimensions -dw AlakazamPicFront -dw AlakazamPicBack -; attacks known at lvl 0 -db TELEPORT -db CONFUSION -db DISABLE -db 0 -db 3 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,15 - tmlearn 17,18,19,20 - tmlearn 28,29,30,31,32 - tmlearn 33,34,35,40 - tmlearn 44,45,46 - tmlearn 49,50,55 -db 0 ; padding + db DEX_ALAKAZAM ; pokedex id + + db 55, 50, 45, 120, 135 + ; hp atk def spd spc + + db PSYCHIC, PSYCHIC ; type + db 50 ; catch rate + db 186 ; base exp + + INCBIN "gfx/pokemon/front/alakazam.pic", 0, 1 ; sprite dimensions + dw AlakazamPicFront, AlakazamPicBack + + db TELEPORT, CONFUSION, DISABLE, NO_MOVE ; level 1 learnset + db 3 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 8, 9, 10, 15, 17, 18, 19, 20, 28, 29, 30, 31, 32, 33, 34, 35, 40, 44, 45, 46, 49, 50, 55 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/arbok.asm b/data/pokemon/base_stats/arbok.asm index 1e88289f..69fd0f19 100644 --- a/data/pokemon/base_stats/arbok.asm +++ b/data/pokemon/base_stats/arbok.asm @@ -1,28 +1,20 @@ -db DEX_ARBOK ; pokedex id -db 60 ; base hp -db 85 ; base attack -db 69 ; base defense -db 80 ; base speed -db 65 ; base special -db POISON ; species type 1 -db POISON ; species type 2 -db 90 ; catch rate -db 147 ; base exp yield -INCBIN "gfx/pokemon/front/arbok.pic",0,1 ; 77, sprite dimensions -dw ArbokPicFront -dw ArbokPicBack -; attacks known at lvl 0 -db WRAP -db LEER -db POISON_STING -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10,15 - tmlearn 20,21 - tmlearn 26,27,28,31,32 - tmlearn 34,40 - tmlearn 44,48 - tmlearn 50,54 -db 0 ; padding + db DEX_ARBOK ; pokedex id + + db 60, 85, 69, 80, 65 + ; hp atk def spd spc + + db POISON, POISON ; type + db 90 ; catch rate + db 147 ; base exp + + INCBIN "gfx/pokemon/front/arbok.pic", 0, 1 ; sprite dimensions + dw ArbokPicFront, ArbokPicBack + + db WRAP, LEER, POISON_STING, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 6, 8, 9, 10, 15, 20, 21, 26, 27, 28, 31, 32, 34, 40, 44, 48, 50, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/arcanine.asm b/data/pokemon/base_stats/arcanine.asm index c661cc88..de1fd8f6 100644 --- a/data/pokemon/base_stats/arcanine.asm +++ b/data/pokemon/base_stats/arcanine.asm @@ -1,28 +1,20 @@ -db DEX_ARCANINE ; pokedex id -db 90 ; base hp -db 110 ; base attack -db 80 ; base defense -db 95 ; base speed -db 80 ; base special -db FIRE ; species type 1 -db FIRE ; species type 2 -db 75 ; catch rate -db 213 ; base exp yield -INCBIN "gfx/pokemon/front/arcanine.pic",0,1 ; 77, sprite dimensions -dw ArcaninePicFront -dw ArcaninePicBack -; attacks known at lvl 0 -db ROAR -db EMBER -db LEER -db TAKE_DOWN -db 5 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10,15 - tmlearn 20,23 - tmlearn 28,30,31,32 - tmlearn 33,34,38,39,40 - tmlearn 44 - tmlearn 50 -db 0 ; padding + db DEX_ARCANINE ; pokedex id + + db 90, 110, 80, 95, 80 + ; hp atk def spd spc + + db FIRE, FIRE ; type + db 75 ; catch rate + db 213 ; base exp + + INCBIN "gfx/pokemon/front/arcanine.pic", 0, 1 ; sprite dimensions + dw ArcaninePicFront, ArcaninePicBack + + db ROAR, EMBER, LEER, TAKE_DOWN ; level 1 learnset + db 5 ; growth rate + + ; tm/hm learnset + tmhm 6, 8, 9, 10, 15, 20, 23, 28, 30, 31, 32, 33, 34, 38, 39, 40, 44, 50 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/articuno.asm b/data/pokemon/base_stats/articuno.asm index 6265c654..00395155 100644 --- a/data/pokemon/base_stats/articuno.asm +++ b/data/pokemon/base_stats/articuno.asm @@ -1,28 +1,20 @@ -db DEX_ARTICUNO ; pokedex id -db 90 ; base hp -db 85 ; base attack -db 100 ; base defense -db 85 ; base speed -db 125 ; base special -db ICE ; species type 1 -db FLYING ; species type 2 -db 3 ; catch rate -db 215 ; base exp yield -INCBIN "gfx/pokemon/front/articuno.pic",0,1 ; 77, sprite dimensions -dw ArticunoPicFront -dw ArticunoPicBack -; attacks known at lvl 0 -db PECK -db ICE_BEAM -db 0 -db 0 -db 5 ; growth rate -; learnset - tmlearn 2,4,6 - tmlearn 9,10,11,12,13,14,15 - tmlearn 20 - tmlearn 31,32 - tmlearn 33,34,39 - tmlearn 43,44 - tmlearn 50,52 -db 0 ; padding + db DEX_ARTICUNO ; pokedex id + + db 90, 85, 100, 85, 125 + ; hp atk def spd spc + + db ICE, FLYING ; type + db 3 ; catch rate + db 215 ; base exp + + INCBIN "gfx/pokemon/front/articuno.pic", 0, 1 ; sprite dimensions + dw ArticunoPicFront, ArticunoPicBack + + db PECK, ICE_BEAM, NO_MOVE, NO_MOVE ; level 1 learnset + db 5 ; growth rate + + ; tm/hm learnset + tmhm 2, 4, 6, 9, 10, 11, 12, 13, 14, 15, 20, 31, 32, 33, 34, 39, 43, 44, 50, 52 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/beedrill.asm b/data/pokemon/base_stats/beedrill.asm index 516f5747..3070d2e3 100644 --- a/data/pokemon/base_stats/beedrill.asm +++ b/data/pokemon/base_stats/beedrill.asm @@ -1,28 +1,20 @@ -db DEX_BEEDRILL ; pokedex id -db 65 ; base hp -db 80 ; base attack -db 40 ; base defense -db 75 ; base speed -db 45 ; base special -db BUG ; species type 1 -db POISON ; species type 2 -db 45 ; catch rate -db 159 ; base exp yield -INCBIN "gfx/pokemon/front/beedrill.pic",0,1 ; 77, sprite dimensions -dw BeedrillPicFront -dw BeedrillPicBack -; attacks known at lvl 0 -db FURY_ATTACK -db 0 -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 3,6 - tmlearn 9,10,15 - tmlearn 20,21 - tmlearn 31,32 - tmlearn 33,34,39,40 - tmlearn 44 - tmlearn 50,51 -db 0 ; padding + db DEX_BEEDRILL ; pokedex id + + db 65, 80, 40, 75, 45 + ; hp atk def spd spc + + db BUG, POISON ; type + db 45 ; catch rate + db 159 ; base exp + + INCBIN "gfx/pokemon/front/beedrill.pic", 0, 1 ; sprite dimensions + dw BeedrillPicFront, BeedrillPicBack + + db FURY_ATTACK, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 3, 6, 9, 10, 15, 20, 21, 31, 32, 33, 34, 39, 40, 44, 50, 51 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/bellsprout.asm b/data/pokemon/base_stats/bellsprout.asm index 42c1a22c..da7a8670 100644 --- a/data/pokemon/base_stats/bellsprout.asm +++ b/data/pokemon/base_stats/bellsprout.asm @@ -1,28 +1,20 @@ -db DEX_BELLSPROUT ; pokedex id -db 50 ; base hp -db 75 ; base attack -db 35 ; base defense -db 40 ; base speed -db 70 ; base special -db GRASS ; species type 1 -db POISON ; species type 2 -db 255 ; catch rate -db 84 ; base exp yield -INCBIN "gfx/pokemon/front/bellsprout.pic",0,1 ; 55, sprite dimensions -dw BellsproutPicFront -dw BellsproutPicBack -; attacks known at lvl 0 -db VINE_WHIP -db GROWTH -db 0 -db 0 -db 3 ; growth rate -; learnset - tmlearn 3,6 - tmlearn 9,10 - tmlearn 20,21,22 - tmlearn 31,32 - tmlearn 33,34 - tmlearn 44 - tmlearn 50,51 -db 0 ; padding + db DEX_BELLSPROUT ; pokedex id + + db 50, 75, 35, 40, 70 + ; hp atk def spd spc + + db GRASS, POISON ; type + db 255 ; catch rate + db 84 ; base exp + + INCBIN "gfx/pokemon/front/bellsprout.pic", 0, 1 ; sprite dimensions + dw BellsproutPicFront, BellsproutPicBack + + db VINE_WHIP, GROWTH, NO_MOVE, NO_MOVE ; level 1 learnset + db 3 ; growth rate + + ; tm/hm learnset + tmhm 3, 6, 9, 10, 20, 21, 22, 31, 32, 33, 34, 44, 50, 51 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/blastoise.asm b/data/pokemon/base_stats/blastoise.asm index 1e073c26..5d26f61a 100644 --- a/data/pokemon/base_stats/blastoise.asm +++ b/data/pokemon/base_stats/blastoise.asm @@ -1,28 +1,20 @@ -db DEX_BLASTOISE ; pokedex id -db 79 ; base hp -db 83 ; base attack -db 100 ; base defense -db 78 ; base speed -db 85 ; base special -db WATER ; species type 1 -db WATER ; species type 2 -db 45 ; catch rate -db 210 ; base exp yield -INCBIN "gfx/pokemon/front/blastoise.pic",0,1 ; 77, sprite dimensions -dw BlastoisePicFront -dw BlastoisePicBack -; attacks known at lvl 0 -db TACKLE -db TAIL_WHIP -db BUBBLE -db WATER_GUN -db 3 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,11,12,13,14,15 - tmlearn 17,18,19,20 - tmlearn 26,27,28,31,32 - tmlearn 33,34,40 - tmlearn 44 - tmlearn 50,53,54 -db 0 ; padding + db DEX_BLASTOISE ; pokedex id + + db 79, 83, 100, 78, 85 + ; hp atk def spd spc + + db WATER, WATER ; type + db 45 ; catch rate + db 210 ; base exp + + INCBIN "gfx/pokemon/front/blastoise.pic", 0, 1 ; sprite dimensions + dw BlastoisePicFront, BlastoisePicBack + + db TACKLE, TAIL_WHIP, BUBBLE, WATER_GUN ; level 1 learnset + db 3 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 26, 27, 28, 31, 32, 33, 34, 40, 44, 50, 53, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/bulbasaur.asm b/data/pokemon/base_stats/bulbasaur.asm index 08e171ef..469d73c0 100644 --- a/data/pokemon/base_stats/bulbasaur.asm +++ b/data/pokemon/base_stats/bulbasaur.asm @@ -1,28 +1,20 @@ -db DEX_BULBASAUR ; pokedex id -db 45 ; base hp -db 49 ; base attack -db 49 ; base defense -db 45 ; base speed -db 65 ; base special -db GRASS ; species type 1 -db POISON ; species type 2 -db 45 ; catch rate -db 64 ; base exp yield -INCBIN "gfx/pokemon/front/bulbasaur.pic",0,1 ; 55, sprite dimensions -dw BulbasaurPicFront -dw BulbasaurPicBack -; attacks known at lvl 0 -db TACKLE -db GROWL -db 0 -db 0 -db 3 ; growth rate -; learnset - tmlearn 3,6,8 - tmlearn 9,10 - tmlearn 20,21,22 - tmlearn 31,32 - tmlearn 33,34 - tmlearn 44 - tmlearn 50,51 -db 0 ; padding + db DEX_BULBASAUR ; pokedex id + + db 45, 49, 49, 45, 65 + ; hp atk def spd spc + + db GRASS, POISON ; type + db 45 ; catch rate + db 64 ; base exp + + INCBIN "gfx/pokemon/front/bulbasaur.pic", 0, 1 ; sprite dimensions + dw BulbasaurPicFront, BulbasaurPicBack + + db TACKLE, GROWL, NO_MOVE, NO_MOVE ; level 1 learnset + db 3 ; growth rate + + ; tm/hm learnset + tmhm 3, 6, 8, 9, 10, 20, 21, 22, 31, 32, 33, 34, 44, 50, 51 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/butterfree.asm b/data/pokemon/base_stats/butterfree.asm index 2f0dae18..e2ee27c9 100644 --- a/data/pokemon/base_stats/butterfree.asm +++ b/data/pokemon/base_stats/butterfree.asm @@ -1,28 +1,20 @@ -db DEX_BUTTERFREE ; pokedex id -db 60 ; base hp -db 45 ; base attack -db 50 ; base defense -db 70 ; base speed -db 80 ; base special -db BUG ; species type 1 -db FLYING ; species type 2 -db 45 ; catch rate -db 160 ; base exp yield -INCBIN "gfx/pokemon/front/butterfree.pic",0,1 ; 77, sprite dimensions -dw ButterfreePicFront -dw ButterfreePicBack -; attacks known at lvl 0 -db CONFUSION -db 0 -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 2,4,6 - tmlearn 9,10,15 - tmlearn 20,21,22 - tmlearn 29,30,31,32 - tmlearn 33,34,39 - tmlearn 44,46 - tmlearn 50 -db 0 ; padding + db DEX_BUTTERFREE ; pokedex id + + db 60, 45, 50, 70, 80 + ; hp atk def spd spc + + db BUG, FLYING ; type + db 45 ; catch rate + db 160 ; base exp + + INCBIN "gfx/pokemon/front/butterfree.pic", 0, 1 ; sprite dimensions + dw ButterfreePicFront, ButterfreePicBack + + db CONFUSION, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 2, 4, 6, 9, 10, 15, 20, 21, 22, 29, 30, 31, 32, 33, 34, 39, 44, 46, 50 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/caterpie.asm b/data/pokemon/base_stats/caterpie.asm index 75270144..eb16ed98 100644 --- a/data/pokemon/base_stats/caterpie.asm +++ b/data/pokemon/base_stats/caterpie.asm @@ -1,28 +1,20 @@ -db DEX_CATERPIE ; pokedex id -db 45 ; base hp -db 30 ; base attack -db 35 ; base defense -db 45 ; base speed -db 20 ; base special -db BUG ; species type 1 -db BUG ; species type 2 -db 255 ; catch rate -db 53 ; base exp yield -INCBIN "gfx/pokemon/front/caterpie.pic",0,1 ; 55, sprite dimensions -dw CaterpiePicFront -dw CaterpiePicBack -; attacks known at lvl 0 -db TACKLE -db STRING_SHOT -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 -db 0 ; padding + db DEX_CATERPIE ; pokedex id + + db 45, 30, 35, 45, 20 + ; hp atk def spd spc + + db BUG, BUG ; type + db 255 ; catch rate + db 53 ; base exp + + INCBIN "gfx/pokemon/front/caterpie.pic", 0, 1 ; sprite dimensions + dw CaterpiePicFront, CaterpiePicBack + + db TACKLE, STRING_SHOT, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/chansey.asm b/data/pokemon/base_stats/chansey.asm index 7f0cf16e..60de178f 100644 --- a/data/pokemon/base_stats/chansey.asm +++ b/data/pokemon/base_stats/chansey.asm @@ -1,28 +1,20 @@ -db DEX_CHANSEY ; pokedex id -db 250 ; base hp -db 5 ; base attack -db 5 ; base defense -db 50 ; base speed -db 105 ; base special -db NORMAL ; species type 1 -db NORMAL ; species type 2 -db 30 ; catch rate -db 255 ; base exp yield -INCBIN "gfx/pokemon/front/chansey.pic",0,1 ; 66, sprite dimensions -dw ChanseyPicFront -dw ChanseyPicBack -; attacks known at lvl 0 -db POUND -db DOUBLESLAP -db 0 -db 0 -db 4 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,11,12,13,14,15 - tmlearn 17,18,19,20,22,24 - tmlearn 25,29,30,31,32 - tmlearn 33,34,35,37,38,40 - tmlearn 41,44,45,46 - tmlearn 49,50,54,55 -db 0 ; padding + db DEX_CHANSEY ; pokedex id + + db 250, 5, 5, 50, 105 + ; hp atk def spd spc + + db NORMAL, NORMAL ; type + db 30 ; catch rate + db 255 ; base exp + + INCBIN "gfx/pokemon/front/chansey.pic", 0, 1 ; sprite dimensions + dw ChanseyPicFront, ChanseyPicBack + + db POUND, DOUBLESLAP, NO_MOVE, NO_MOVE ; level 1 learnset + db 4 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 22, 24, 25, 29, 30, 31, 32, 33, 34, 35, 37, 38, 40, 41, 44, 45, 46, 49, 50, 54, 55 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/charizard.asm b/data/pokemon/base_stats/charizard.asm index c0df120e..5e90f089 100644 --- a/data/pokemon/base_stats/charizard.asm +++ b/data/pokemon/base_stats/charizard.asm @@ -1,28 +1,20 @@ -db DEX_CHARIZARD ; pokedex id -db 78 ; base hp -db 84 ; base attack -db 78 ; base defense -db 100 ; base speed -db 85 ; base special -db FIRE ; species type 1 -db FLYING ; species type 2 -db 45 ; catch rate -db 209 ; base exp yield -INCBIN "gfx/pokemon/front/charizard.pic",0,1 ; 77, sprite dimensions -dw CharizardPicFront -dw CharizardPicBack -; attacks known at lvl 0 -db SCRATCH -db GROWL -db EMBER -db LEER -db 3 ; growth rate -; learnset - tmlearn 1,3,5,6,8 - tmlearn 9,10,15 - tmlearn 17,18,19,20,23 - tmlearn 26,27,28,31,32 - tmlearn 33,34,38,39,40 - tmlearn 44 - tmlearn 50,51,54 -db 0 ; padding + db DEX_CHARIZARD ; pokedex id + + db 78, 84, 78, 100, 85 + ; hp atk def spd spc + + db FIRE, FLYING ; type + db 45 ; catch rate + db 209 ; base exp + + INCBIN "gfx/pokemon/front/charizard.pic", 0, 1 ; sprite dimensions + dw CharizardPicFront, CharizardPicBack + + db SCRATCH, GROWL, EMBER, LEER ; level 1 learnset + db 3 ; growth rate + + ; tm/hm learnset + tmhm 1, 3, 5, 6, 8, 9, 10, 15, 17, 18, 19, 20, 23, 26, 27, 28, 31, 32, 33, 34, 38, 39, 40, 44, 50, 51, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/charmander.asm b/data/pokemon/base_stats/charmander.asm index a296b609..19baf29d 100644 --- a/data/pokemon/base_stats/charmander.asm +++ b/data/pokemon/base_stats/charmander.asm @@ -1,28 +1,20 @@ -db DEX_CHARMANDER ; pokedex id -db 39 ; base hp -db 52 ; base attack -db 43 ; base defense -db 65 ; base speed -db 50 ; base special -db FIRE ; species type 1 -db FIRE ; species type 2 -db 45 ; catch rate -db 65 ; base exp yield -INCBIN "gfx/pokemon/front/charmander.pic",0,1 ; 55, sprite dimensions -dw CharmanderPicFront -dw CharmanderPicBack -; attacks known at lvl 0 -db SCRATCH -db GROWL -db 0 -db 0 -db 3 ; growth rate -; learnset - tmlearn 1,3,5,6,8 - tmlearn 9,10 - tmlearn 17,18,19,20,23 - tmlearn 28,31,32 - tmlearn 33,34,38,39,40 - tmlearn 44 - tmlearn 50,51,54 -db 0 ; padding + db DEX_CHARMANDER ; pokedex id + + db 39, 52, 43, 65, 50 + ; hp atk def spd spc + + db FIRE, FIRE ; type + db 45 ; catch rate + db 65 ; base exp + + INCBIN "gfx/pokemon/front/charmander.pic", 0, 1 ; sprite dimensions + dw CharmanderPicFront, CharmanderPicBack + + db SCRATCH, GROWL, NO_MOVE, NO_MOVE ; level 1 learnset + db 3 ; growth rate + + ; tm/hm learnset + tmhm 1, 3, 5, 6, 8, 9, 10, 17, 18, 19, 20, 23, 28, 31, 32, 33, 34, 38, 39, 40, 44, 50, 51, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/charmeleon.asm b/data/pokemon/base_stats/charmeleon.asm index 62e8eb89..221c8f2f 100644 --- a/data/pokemon/base_stats/charmeleon.asm +++ b/data/pokemon/base_stats/charmeleon.asm @@ -1,28 +1,20 @@ -db DEX_CHARMELEON ; pokedex id -db 58 ; base hp -db 64 ; base attack -db 58 ; base defense -db 80 ; base speed -db 65 ; base special -db FIRE ; species type 1 -db FIRE ; species type 2 -db 45 ; catch rate -db 142 ; base exp yield -INCBIN "gfx/pokemon/front/charmeleon.pic",0,1 ; 66, sprite dimensions -dw CharmeleonPicFront -dw CharmeleonPicBack -; attacks known at lvl 0 -db SCRATCH -db GROWL -db EMBER -db 0 -db 3 ; growth rate -; learnset - tmlearn 1,3,5,6,8 - tmlearn 9,10 - tmlearn 17,18,19,20,23 - tmlearn 28,31,32 - tmlearn 33,34,38,39,40 - tmlearn 44 - tmlearn 50,51,54 -db 0 ; padding + db DEX_CHARMELEON ; pokedex id + + db 58, 64, 58, 80, 65 + ; hp atk def spd spc + + db FIRE, FIRE ; type + db 45 ; catch rate + db 142 ; base exp + + INCBIN "gfx/pokemon/front/charmeleon.pic", 0, 1 ; sprite dimensions + dw CharmeleonPicFront, CharmeleonPicBack + + db SCRATCH, GROWL, EMBER, NO_MOVE ; level 1 learnset + db 3 ; growth rate + + ; tm/hm learnset + tmhm 1, 3, 5, 6, 8, 9, 10, 17, 18, 19, 20, 23, 28, 31, 32, 33, 34, 38, 39, 40, 44, 50, 51, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/clefable.asm b/data/pokemon/base_stats/clefable.asm index 407a5170..b7ac8210 100644 --- a/data/pokemon/base_stats/clefable.asm +++ b/data/pokemon/base_stats/clefable.asm @@ -1,28 +1,20 @@ -db DEX_CLEFABLE ; pokedex id -db 95 ; base hp -db 70 ; base attack -db 73 ; base defense -db 60 ; base speed -db 85 ; base special -db NORMAL ; species type 1 -db NORMAL ; species type 2 -db 25 ; catch rate -db 129 ; base exp yield -INCBIN "gfx/pokemon/front/clefable.pic",0,1 ; 66, sprite dimensions -dw ClefablePicFront -dw ClefablePicBack -; attacks known at lvl 0 -db SING -db DOUBLESLAP -db MINIMIZE -db METRONOME -db 4 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,11,12,13,14,15 - tmlearn 17,18,19,20,22,24 - tmlearn 25,29,30,31,32 - tmlearn 33,34,35,38,40 - tmlearn 44,45,46 - tmlearn 49,50,54,55 -db 0 ; padding + db DEX_CLEFABLE ; pokedex id + + db 95, 70, 73, 60, 85 + ; hp atk def spd spc + + db NORMAL, NORMAL ; type + db 25 ; catch rate + db 129 ; base exp + + INCBIN "gfx/pokemon/front/clefable.pic", 0, 1 ; sprite dimensions + dw ClefablePicFront, ClefablePicBack + + db SING, DOUBLESLAP, MINIMIZE, METRONOME ; level 1 learnset + db 4 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 22, 24, 25, 29, 30, 31, 32, 33, 34, 35, 38, 40, 44, 45, 46, 49, 50, 54, 55 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/clefairy.asm b/data/pokemon/base_stats/clefairy.asm index 2e3bbf92..5ffe1482 100644 --- a/data/pokemon/base_stats/clefairy.asm +++ b/data/pokemon/base_stats/clefairy.asm @@ -1,28 +1,20 @@ -db DEX_CLEFAIRY ; pokedex id -db 70 ; base hp -db 45 ; base attack -db 48 ; base defense -db 35 ; base speed -db 60 ; base special -db NORMAL ; species type 1 -db NORMAL ; species type 2 -db 150 ; catch rate -db 68 ; base exp yield -INCBIN "gfx/pokemon/front/clefairy.pic",0,1 ; 55, sprite dimensions -dw ClefairyPicFront -dw ClefairyPicBack -; attacks known at lvl 0 -db POUND -db GROWL -db 0 -db 0 -db 4 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,11,12,13,14 - tmlearn 17,18,19,20,22,24 - tmlearn 25,29,30,31,32 - tmlearn 33,34,35,38,40 - tmlearn 44,45,46 - tmlearn 49,50,54,55 -db 0 ; padding + db DEX_CLEFAIRY ; pokedex id + + db 70, 45, 48, 35, 60 + ; hp atk def spd spc + + db NORMAL, NORMAL ; type + db 150 ; catch rate + db 68 ; base exp + + INCBIN "gfx/pokemon/front/clefairy.pic", 0, 1 ; sprite dimensions + dw ClefairyPicFront, ClefairyPicBack + + db POUND, GROWL, NO_MOVE, NO_MOVE ; level 1 learnset + db 4 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 22, 24, 25, 29, 30, 31, 32, 33, 34, 35, 38, 40, 44, 45, 46, 49, 50, 54, 55 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/cloyster.asm b/data/pokemon/base_stats/cloyster.asm index 9b79bd78..3091d309 100644 --- a/data/pokemon/base_stats/cloyster.asm +++ b/data/pokemon/base_stats/cloyster.asm @@ -1,28 +1,20 @@ -db DEX_CLOYSTER ; pokedex id -db 50 ; base hp -db 95 ; base attack -db 180 ; base defense -db 70 ; base speed -db 85 ; base special -db WATER ; species type 1 -db ICE ; species type 2 -db 60 ; catch rate -db 203 ; base exp yield -INCBIN "gfx/pokemon/front/cloyster.pic",0,1 ; 77, sprite dimensions -dw CloysterPicFront -dw CloysterPicBack -; attacks known at lvl 0 -db WITHDRAW -db SUPERSONIC -db CLAMP -db AURORA_BEAM -db 5 ; growth rate -; learnset - tmlearn 6 - tmlearn 9,10,11,12,13,14,15 - tmlearn 20 - tmlearn 30,31,32 - tmlearn 33,34,36,39 - tmlearn 44,47 - tmlearn 49,50,53 -db 0 ; padding + db DEX_CLOYSTER ; pokedex id + + db 50, 95, 180, 70, 85 + ; hp atk def spd spc + + db WATER, ICE ; type + db 60 ; catch rate + db 203 ; base exp + + INCBIN "gfx/pokemon/front/cloyster.pic", 0, 1 ; sprite dimensions + dw CloysterPicFront, CloysterPicBack + + db WITHDRAW, SUPERSONIC, CLAMP, AURORA_BEAM ; level 1 learnset + db 5 ; growth rate + + ; tm/hm learnset + tmhm 6, 9, 10, 11, 12, 13, 14, 15, 20, 30, 31, 32, 33, 34, 36, 39, 44, 47, 49, 50, 53 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/cubone.asm b/data/pokemon/base_stats/cubone.asm index 776a771c..229c524d 100644 --- a/data/pokemon/base_stats/cubone.asm +++ b/data/pokemon/base_stats/cubone.asm @@ -1,28 +1,20 @@ -db DEX_CUBONE ; pokedex id -db 50 ; base hp -db 50 ; base attack -db 95 ; base defense -db 35 ; base speed -db 40 ; base special -db GROUND ; species type 1 -db GROUND ; species type 2 -db 190 ; catch rate -db 87 ; base exp yield -INCBIN "gfx/pokemon/front/cubone.pic",0,1 ; 55, sprite dimensions -dw CubonePicFront -dw CubonePicBack -; attacks known at lvl 0 -db BONE_CLUB -db GROWL -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,11,12,13,14 - tmlearn 17,18,19,20 - tmlearn 26,27,28,31,32 - tmlearn 34,38,40 - tmlearn 44 - tmlearn 50,54 -db 0 ; padding + db DEX_CUBONE ; pokedex id + + db 50, 50, 95, 35, 40 + ; hp atk def spd spc + + db GROUND, GROUND ; type + db 190 ; catch rate + db 87 ; base exp + + INCBIN "gfx/pokemon/front/cubone.pic", 0, 1 ; sprite dimensions + dw CubonePicFront, CubonePicBack + + db BONE_CLUB, GROWL, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 26, 27, 28, 31, 32, 34, 38, 40, 44, 50, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/dewgong.asm b/data/pokemon/base_stats/dewgong.asm index 59ab04b0..6a0a5872 100644 --- a/data/pokemon/base_stats/dewgong.asm +++ b/data/pokemon/base_stats/dewgong.asm @@ -1,28 +1,20 @@ -db DEX_DEWGONG ; pokedex id -db 90 ; base hp -db 70 ; base attack -db 80 ; base defense -db 70 ; base speed -db 95 ; base special -db WATER ; species type 1 -db ICE ; species type 2 -db 75 ; catch rate -db 176 ; base exp yield -INCBIN "gfx/pokemon/front/dewgong.pic",0,1 ; 66, sprite dimensions -dw DewgongPicFront -dw DewgongPicBack -; attacks known at lvl 0 -db HEADBUTT -db GROWL -db AURORA_BEAM -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,7,8 - tmlearn 9,10,11,12,13,14,15,16 - tmlearn 20 - tmlearn 31,32 - tmlearn 34,40 - tmlearn 44 - tmlearn 50,53,54 -db 0 ; padding + db DEX_DEWGONG ; pokedex id + + db 90, 70, 80, 70, 95 + ; hp atk def spd spc + + db WATER, ICE ; type + db 75 ; catch rate + db 176 ; base exp + + INCBIN "gfx/pokemon/front/dewgong.pic", 0, 1 ; sprite dimensions + dw DewgongPicFront, DewgongPicBack + + db HEADBUTT, GROWL, AURORA_BEAM, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 20, 31, 32, 34, 40, 44, 50, 53, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/diglett.asm b/data/pokemon/base_stats/diglett.asm index da8648d8..93c23c1c 100644 --- a/data/pokemon/base_stats/diglett.asm +++ b/data/pokemon/base_stats/diglett.asm @@ -1,28 +1,20 @@ -db DEX_DIGLETT ; pokedex id -db 10 ; base hp -db 55 ; base attack -db 25 ; base defense -db 95 ; base speed -db 45 ; base special -db GROUND ; species type 1 -db GROUND ; species type 2 -db 255 ; catch rate -db 81 ; base exp yield -INCBIN "gfx/pokemon/front/diglett.pic",0,1 ; 55, sprite dimensions -dw DiglettPicFront -dw DiglettPicBack -; attacks known at lvl 0 -db SCRATCH -db 0 -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10 - tmlearn 20 - tmlearn 26,27,28,31,32 - tmlearn 34 - tmlearn 44,48 - tmlearn 50 -db 0 ; padding + db DEX_DIGLETT ; pokedex id + + db 10, 55, 25, 95, 45 + ; hp atk def spd spc + + db GROUND, GROUND ; type + db 255 ; catch rate + db 81 ; base exp + + INCBIN "gfx/pokemon/front/diglett.pic", 0, 1 ; sprite dimensions + dw DiglettPicFront, DiglettPicBack + + db SCRATCH, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 6, 8, 9, 10, 20, 26, 27, 28, 31, 32, 34, 44, 48, 50 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/ditto.asm b/data/pokemon/base_stats/ditto.asm index aff87275..05f48b49 100644 --- a/data/pokemon/base_stats/ditto.asm +++ b/data/pokemon/base_stats/ditto.asm @@ -1,28 +1,20 @@ -db DEX_DITTO ; pokedex id -db 48 ; base hp -db 48 ; base attack -db 48 ; base defense -db 48 ; base speed -db 48 ; base special -db NORMAL ; species type 1 -db NORMAL ; species type 2 -db 35 ; catch rate -db 61 ; base exp yield -INCBIN "gfx/pokemon/front/ditto.pic",0,1 ; 55, sprite dimensions -dw DittoPicFront -dw DittoPicBack -; attacks known at lvl 0 -db TRANSFORM -db 0 -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 -db 0 ; padding + db DEX_DITTO ; pokedex id + + db 48, 48, 48, 48, 48 + ; hp atk def spd spc + + db NORMAL, NORMAL ; type + db 35 ; catch rate + db 61 ; base exp + + INCBIN "gfx/pokemon/front/ditto.pic", 0, 1 ; sprite dimensions + dw DittoPicFront, DittoPicBack + + db TRANSFORM, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/dodrio.asm b/data/pokemon/base_stats/dodrio.asm index baf1fd8a..60e11357 100644 --- a/data/pokemon/base_stats/dodrio.asm +++ b/data/pokemon/base_stats/dodrio.asm @@ -1,28 +1,20 @@ -db DEX_DODRIO ; pokedex id -db 60 ; base hp -db 110 ; base attack -db 70 ; base defense -db 100 ; base speed -db 60 ; base special -db NORMAL ; species type 1 -db FLYING ; species type 2 -db 45 ; catch rate -db 158 ; base exp yield -INCBIN "gfx/pokemon/front/dodrio.pic",0,1 ; 77, sprite dimensions -dw DodrioPicFront -dw DodrioPicBack -; attacks known at lvl 0 -db PECK -db GROWL -db FURY_ATTACK -db 0 -db 0 ; growth rate -; learnset - tmlearn 4,6,8 - tmlearn 9,10,15 - tmlearn 20 - tmlearn 31,32 - tmlearn 33,34,40 - tmlearn 43,44 - tmlearn 49,50,52 -db 0 ; padding + db DEX_DODRIO ; pokedex id + + db 60, 110, 70, 100, 60 + ; hp atk def spd spc + + db NORMAL, FLYING ; type + db 45 ; catch rate + db 158 ; base exp + + INCBIN "gfx/pokemon/front/dodrio.pic", 0, 1 ; sprite dimensions + dw DodrioPicFront, DodrioPicBack + + db PECK, GROWL, FURY_ATTACK, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 4, 6, 8, 9, 10, 15, 20, 31, 32, 33, 34, 40, 43, 44, 49, 50, 52 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/doduo.asm b/data/pokemon/base_stats/doduo.asm index 33d1506a..b14ef2f9 100644 --- a/data/pokemon/base_stats/doduo.asm +++ b/data/pokemon/base_stats/doduo.asm @@ -1,28 +1,20 @@ -db DEX_DODUO ; pokedex id -db 35 ; base hp -db 85 ; base attack -db 45 ; base defense -db 75 ; base speed -db 35 ; base special -db NORMAL ; species type 1 -db FLYING ; species type 2 -db 190 ; catch rate -db 96 ; base exp yield -INCBIN "gfx/pokemon/front/doduo.pic",0,1 ; 55, sprite dimensions -dw DoduoPicFront -dw DoduoPicBack -; attacks known at lvl 0 -db PECK -db 0 -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 4,6,8 - tmlearn 9,10 - tmlearn 20 - tmlearn 31,32 - tmlearn 33,34,40 - tmlearn 43,44 - tmlearn 49,50,52 -db 0 ; padding + db DEX_DODUO ; pokedex id + + db 35, 85, 45, 75, 35 + ; hp atk def spd spc + + db NORMAL, FLYING ; type + db 190 ; catch rate + db 96 ; base exp + + INCBIN "gfx/pokemon/front/doduo.pic", 0, 1 ; sprite dimensions + dw DoduoPicFront, DoduoPicBack + + db PECK, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 4, 6, 8, 9, 10, 20, 31, 32, 33, 34, 40, 43, 44, 49, 50, 52 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/dragonair.asm b/data/pokemon/base_stats/dragonair.asm index 9d8ab0c2..6e33aff5 100644 --- a/data/pokemon/base_stats/dragonair.asm +++ b/data/pokemon/base_stats/dragonair.asm @@ -1,28 +1,20 @@ -db DEX_DRAGONAIR ; pokedex id -db 61 ; base hp -db 84 ; base attack -db 65 ; base defense -db 70 ; base speed -db 70 ; base special -db DRAGON ; species type 1 -db DRAGON ; species type 2 -db 45 ; catch rate -db 144 ; base exp yield -INCBIN "gfx/pokemon/front/dragonair.pic",0,1 ; 66, sprite dimensions -dw DragonairPicFront -dw DragonairPicBack -; attacks known at lvl 0 -db WRAP -db LEER -db THUNDER_WAVE -db 0 -db 5 ; growth rate -; learnset - tmlearn 6,7,8 - tmlearn 9,10,11,12,13,14 - tmlearn 20,23,24 - tmlearn 25,31,32 - tmlearn 33,34,38,39,40 - tmlearn 44,45 - tmlearn 50,53 -db 0 ; padding + db DEX_DRAGONAIR ; pokedex id + + db 61, 84, 65, 70, 70 + ; hp atk def spd spc + + db DRAGON, DRAGON ; type + db 45 ; catch rate + db 144 ; base exp + + INCBIN "gfx/pokemon/front/dragonair.pic", 0, 1 ; sprite dimensions + dw DragonairPicFront, DragonairPicBack + + db WRAP, LEER, THUNDER_WAVE, NO_MOVE ; level 1 learnset + db 5 ; growth rate + + ; tm/hm learnset + tmhm 6, 7, 8, 9, 10, 11, 12, 13, 14, 20, 23, 24, 25, 31, 32, 33, 34, 38, 39, 40, 44, 45, 50, 53 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/dragonite.asm b/data/pokemon/base_stats/dragonite.asm index 22653bcc..be418291 100644 --- a/data/pokemon/base_stats/dragonite.asm +++ b/data/pokemon/base_stats/dragonite.asm @@ -1,28 +1,20 @@ -db DEX_DRAGONITE ; pokedex id -db 91 ; base hp -db 134 ; base attack -db 95 ; base defense -db 80 ; base speed -db 100 ; base special -db DRAGON ; species type 1 -db FLYING ; species type 2 -db 45 ; catch rate -db 218 ; base exp yield -INCBIN "gfx/pokemon/front/dragonite.pic",0,1 ; 77, sprite dimensions -dw DragonitePicFront -dw DragonitePicBack -; attacks known at lvl 0 -db WRAP -db LEER -db THUNDER_WAVE -db AGILITY -db 5 ; growth rate -; learnset - tmlearn 2,6,7,8 - tmlearn 9,10,11,12,13,14,15 - tmlearn 20,23,24 - tmlearn 25,31,32 - tmlearn 33,34,38,39,40 - tmlearn 44,45 - tmlearn 50,53,54 -db 0 ; padding + db DEX_DRAGONITE ; pokedex id + + db 91, 134, 95, 80, 100 + ; hp atk def spd spc + + db DRAGON, FLYING ; type + db 45 ; catch rate + db 218 ; base exp + + INCBIN "gfx/pokemon/front/dragonite.pic", 0, 1 ; sprite dimensions + dw DragonitePicFront, DragonitePicBack + + db WRAP, LEER, THUNDER_WAVE, AGILITY ; level 1 learnset + db 5 ; growth rate + + ; tm/hm learnset + tmhm 2, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 20, 23, 24, 25, 31, 32, 33, 34, 38, 39, 40, 44, 45, 50, 53, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/dratini.asm b/data/pokemon/base_stats/dratini.asm index c377c217..dddb1464 100644 --- a/data/pokemon/base_stats/dratini.asm +++ b/data/pokemon/base_stats/dratini.asm @@ -1,28 +1,20 @@ -db DEX_DRATINI ; pokedex id -db 41 ; base hp -db 64 ; base attack -db 45 ; base defense -db 50 ; base speed -db 50 ; base special -db DRAGON ; species type 1 -db DRAGON ; species type 2 -db 45 ; catch rate -db 67 ; base exp yield -INCBIN "gfx/pokemon/front/dratini.pic",0,1 ; 55, sprite dimensions -dw DratiniPicFront -dw DratiniPicBack -; attacks known at lvl 0 -db WRAP -db LEER -db 0 -db 0 -db 5 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10,11,12,13,14 - tmlearn 20,23,24 - tmlearn 25,31,32 - tmlearn 33,34,38,39,40 - tmlearn 44,45 - tmlearn 50,53 -db 0 ; padding + db DEX_DRATINI ; pokedex id + + db 41, 64, 45, 50, 50 + ; hp atk def spd spc + + db DRAGON, DRAGON ; type + db 45 ; catch rate + db 67 ; base exp + + INCBIN "gfx/pokemon/front/dratini.pic", 0, 1 ; sprite dimensions + dw DratiniPicFront, DratiniPicBack + + db WRAP, LEER, NO_MOVE, NO_MOVE ; level 1 learnset + db 5 ; growth rate + + ; tm/hm learnset + tmhm 6, 8, 9, 10, 11, 12, 13, 14, 20, 23, 24, 25, 31, 32, 33, 34, 38, 39, 40, 44, 45, 50, 53 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/drowzee.asm b/data/pokemon/base_stats/drowzee.asm index 075158c4..135b1aaf 100644 --- a/data/pokemon/base_stats/drowzee.asm +++ b/data/pokemon/base_stats/drowzee.asm @@ -1,28 +1,20 @@ -db DEX_DROWZEE ; pokedex id -db 60 ; base hp -db 48 ; base attack -db 45 ; base defense -db 42 ; base speed -db 90 ; base special -db PSYCHIC ; species type 1 -db PSYCHIC ; species type 2 -db 190 ; catch rate -db 102 ; base exp yield -INCBIN "gfx/pokemon/front/drowzee.pic",0,1 ; 66, sprite dimensions -dw DrowzeePicFront -dw DrowzeePicBack -; attacks known at lvl 0 -db POUND -db HYPNOSIS -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10 - tmlearn 17,18,19,20 - tmlearn 29,30,31,32 - tmlearn 33,34,35,40 - tmlearn 42,44,45,46 - tmlearn 49,50,55 -db 0 ; padding + db DEX_DROWZEE ; pokedex id + + db 60, 48, 45, 42, 90 + ; hp atk def spd spc + + db PSYCHIC, PSYCHIC ; type + db 190 ; catch rate + db 102 ; base exp + + INCBIN "gfx/pokemon/front/drowzee.pic", 0, 1 ; sprite dimensions + dw DrowzeePicFront, DrowzeePicBack + + db POUND, HYPNOSIS, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 8, 9, 10, 17, 18, 19, 20, 29, 30, 31, 32, 33, 34, 35, 40, 42, 44, 45, 46, 49, 50, 55 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/dugtrio.asm b/data/pokemon/base_stats/dugtrio.asm index 86a55e22..f7c046dc 100644 --- a/data/pokemon/base_stats/dugtrio.asm +++ b/data/pokemon/base_stats/dugtrio.asm @@ -1,28 +1,20 @@ -db DEX_DUGTRIO ; pokedex id -db 35 ; base hp -db 80 ; base attack -db 50 ; base defense -db 120 ; base speed -db 70 ; base special -db GROUND ; species type 1 -db GROUND ; species type 2 -db 50 ; catch rate -db 153 ; base exp yield -INCBIN "gfx/pokemon/front/dugtrio.pic",0,1 ; 66, sprite dimensions -dw DugtrioPicFront -dw DugtrioPicBack -; attacks known at lvl 0 -db SCRATCH -db GROWL -db DIG -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10,15 - tmlearn 20 - tmlearn 26,27,28,31,32 - tmlearn 34 - tmlearn 44,48 - tmlearn 50 -db 0 ; padding + db DEX_DUGTRIO ; pokedex id + + db 35, 80, 50, 120, 70 + ; hp atk def spd spc + + db GROUND, GROUND ; type + db 50 ; catch rate + db 153 ; base exp + + INCBIN "gfx/pokemon/front/dugtrio.pic", 0, 1 ; sprite dimensions + dw DugtrioPicFront, DugtrioPicBack + + db SCRATCH, GROWL, DIG, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 6, 8, 9, 10, 15, 20, 26, 27, 28, 31, 32, 34, 44, 48, 50 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/eevee.asm b/data/pokemon/base_stats/eevee.asm index d5cbaa9b..2ea7575a 100644 --- a/data/pokemon/base_stats/eevee.asm +++ b/data/pokemon/base_stats/eevee.asm @@ -1,28 +1,20 @@ -db DEX_EEVEE ; pokedex id -db 55 ; base hp -db 55 ; base attack -db 50 ; base defense -db 55 ; base speed -db 65 ; base special -db NORMAL ; species type 1 -db NORMAL ; species type 2 -db 45 ; catch rate -db 92 ; base exp yield -INCBIN "gfx/pokemon/front/eevee.pic",0,1 ; 55, sprite dimensions -dw EeveePicFront -dw EeveePicBack -; attacks known at lvl 0 -db TACKLE -db SAND_ATTACK -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10 - tmlearn 20 - tmlearn 31,32 - tmlearn 33,34,39,40 - tmlearn 44 - tmlearn 50 -db 0 ; padding + db DEX_EEVEE ; pokedex id + + db 55, 55, 50, 55, 65 + ; hp atk def spd spc + + db NORMAL, NORMAL ; type + db 45 ; catch rate + db 92 ; base exp + + INCBIN "gfx/pokemon/front/eevee.pic", 0, 1 ; sprite dimensions + dw EeveePicFront, EeveePicBack + + db TACKLE, SAND_ATTACK, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 6, 8, 9, 10, 20, 31, 32, 33, 34, 39, 40, 44, 50 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/ekans.asm b/data/pokemon/base_stats/ekans.asm index 94295b51..cc46bbff 100644 --- a/data/pokemon/base_stats/ekans.asm +++ b/data/pokemon/base_stats/ekans.asm @@ -1,28 +1,20 @@ -db DEX_EKANS ; pokedex id -db 35 ; base hp -db 60 ; base attack -db 44 ; base defense -db 55 ; base speed -db 40 ; base special -db POISON ; species type 1 -db POISON ; species type 2 -db 255 ; catch rate -db 62 ; base exp yield -INCBIN "gfx/pokemon/front/ekans.pic",0,1 ; 55, sprite dimensions -dw EkansPicFront -dw EkansPicBack -; attacks known at lvl 0 -db WRAP -db LEER -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10 - tmlearn 20,21 - tmlearn 26,27,28,31,32 - tmlearn 34,40 - tmlearn 44,48 - tmlearn 50,54 -db 0 ; padding + db DEX_EKANS ; pokedex id + + db 35, 60, 44, 55, 40 + ; hp atk def spd spc + + db POISON, POISON ; type + db 255 ; catch rate + db 62 ; base exp + + INCBIN "gfx/pokemon/front/ekans.pic", 0, 1 ; sprite dimensions + dw EkansPicFront, EkansPicBack + + db WRAP, LEER, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 6, 8, 9, 10, 20, 21, 26, 27, 28, 31, 32, 34, 40, 44, 48, 50, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/electabuzz.asm b/data/pokemon/base_stats/electabuzz.asm index 5a1bc59f..5f56e32b 100644 --- a/data/pokemon/base_stats/electabuzz.asm +++ b/data/pokemon/base_stats/electabuzz.asm @@ -1,28 +1,20 @@ -db DEX_ELECTABUZZ ; pokedex id -db 65 ; base hp -db 83 ; base attack -db 57 ; base defense -db 105 ; base speed -db 85 ; base special -db ELECTRIC ; species type 1 -db ELECTRIC ; species type 2 -db 45 ; catch rate -db 156 ; base exp yield -INCBIN "gfx/pokemon/front/electabuzz.pic",0,1 ; 66, sprite dimensions -dw ElectabuzzPicFront -dw ElectabuzzPicBack -; attacks known at lvl 0 -db QUICK_ATTACK -db LEER -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,15 - tmlearn 17,18,19,20,24 - tmlearn 25,29,30,31,32 - tmlearn 33,34,35,39,40 - tmlearn 44,45,46 - tmlearn 50,54,55 -db 0 ; padding + db DEX_ELECTABUZZ ; pokedex id + + db 65, 83, 57, 105, 85 + ; hp atk def spd spc + + db ELECTRIC, ELECTRIC ; type + db 45 ; catch rate + db 156 ; base exp + + INCBIN "gfx/pokemon/front/electabuzz.pic", 0, 1 ; sprite dimensions + dw ElectabuzzPicFront, ElectabuzzPicBack + + db QUICK_ATTACK, LEER, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 8, 9, 10, 15, 17, 18, 19, 20, 24, 25, 29, 30, 31, 32, 33, 34, 35, 39, 40, 44, 45, 46, 50, 54, 55 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/electrode.asm b/data/pokemon/base_stats/electrode.asm index 86b023c3..e58176f3 100644 --- a/data/pokemon/base_stats/electrode.asm +++ b/data/pokemon/base_stats/electrode.asm @@ -1,28 +1,20 @@ -db DEX_ELECTRODE ; pokedex id -db 60 ; base hp -db 50 ; base attack -db 70 ; base defense -db 140 ; base speed -db 80 ; base special -db ELECTRIC ; species type 1 -db ELECTRIC ; species type 2 -db 60 ; catch rate -db 150 ; base exp yield -INCBIN "gfx/pokemon/front/electrode.pic",0,1 ; 55, sprite dimensions -dw ElectrodePicFront -dw ElectrodePicBack -; attacks known at lvl 0 -db TACKLE -db SCREECH -db SONICBOOM -db 0 -db 0 ; growth rate -; learnset - tmlearn 6 - tmlearn 9,15 - tmlearn 20,24 - tmlearn 25,30,31,32 - tmlearn 33,34,36,39,40 - tmlearn 44,45,47 - tmlearn 50,55 -db 0 ; padding + db DEX_ELECTRODE ; pokedex id + + db 60, 50, 70, 140, 80 + ; hp atk def spd spc + + db ELECTRIC, ELECTRIC ; type + db 60 ; catch rate + db 150 ; base exp + + INCBIN "gfx/pokemon/front/electrode.pic", 0, 1 ; sprite dimensions + dw ElectrodePicFront, ElectrodePicBack + + db TACKLE, SCREECH, SONICBOOM, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 6, 9, 15, 20, 24, 25, 30, 31, 32, 33, 34, 36, 39, 40, 44, 45, 47, 50, 55 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/exeggcute.asm b/data/pokemon/base_stats/exeggcute.asm index 6499362a..af84cf77 100644 --- a/data/pokemon/base_stats/exeggcute.asm +++ b/data/pokemon/base_stats/exeggcute.asm @@ -1,28 +1,20 @@ -db DEX_EXEGGCUTE ; pokedex id -db 60 ; base hp -db 40 ; base attack -db 80 ; base defense -db 40 ; base speed -db 60 ; base special -db GRASS ; species type 1 -db PSYCHIC ; species type 2 -db 90 ; catch rate -db 98 ; base exp yield -INCBIN "gfx/pokemon/front/exeggcute.pic",0,1 ; 77, sprite dimensions -dw ExeggcutePicFront -dw ExeggcutePicBack -; attacks known at lvl 0 -db BARRAGE -db HYPNOSIS -db 0 -db 0 -db 5 ; growth rate -; learnset - tmlearn 6 - tmlearn 9,10 - tmlearn 20 - tmlearn 29,30,31,32 - tmlearn 33,34,36,37 - tmlearn 44,46,47 - tmlearn 50 -db 0 ; padding + db DEX_EXEGGCUTE ; pokedex id + + db 60, 40, 80, 40, 60 + ; hp atk def spd spc + + db GRASS, PSYCHIC ; type + db 90 ; catch rate + db 98 ; base exp + + INCBIN "gfx/pokemon/front/exeggcute.pic", 0, 1 ; sprite dimensions + dw ExeggcutePicFront, ExeggcutePicBack + + db BARRAGE, HYPNOSIS, NO_MOVE, NO_MOVE ; level 1 learnset + db 5 ; growth rate + + ; tm/hm learnset + tmhm 6, 9, 10, 20, 29, 30, 31, 32, 33, 34, 36, 37, 44, 46, 47, 50 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/exeggutor.asm b/data/pokemon/base_stats/exeggutor.asm index 17b1f6a6..99cf8743 100644 --- a/data/pokemon/base_stats/exeggutor.asm +++ b/data/pokemon/base_stats/exeggutor.asm @@ -1,28 +1,20 @@ -db DEX_EXEGGUTOR ; pokedex id -db 95 ; base hp -db 95 ; base attack -db 85 ; base defense -db 55 ; base speed -db 125 ; base special -db GRASS ; species type 1 -db PSYCHIC ; species type 2 -db 45 ; catch rate -db 212 ; base exp yield -INCBIN "gfx/pokemon/front/exeggutor.pic",0,1 ; 77, sprite dimensions -dw ExeggutorPicFront -dw ExeggutorPicBack -; attacks known at lvl 0 -db BARRAGE -db HYPNOSIS -db 0 -db 0 -db 5 ; growth rate -; learnset - tmlearn 6 - tmlearn 9,10,15 - tmlearn 20,21,22 - tmlearn 29,30,31,32 - tmlearn 33,34,36,37 - tmlearn 44,46,47 - tmlearn 50,54 -db 0 ; padding + db DEX_EXEGGUTOR ; pokedex id + + db 95, 95, 85, 55, 125 + ; hp atk def spd spc + + db GRASS, PSYCHIC ; type + db 45 ; catch rate + db 212 ; base exp + + INCBIN "gfx/pokemon/front/exeggutor.pic", 0, 1 ; sprite dimensions + dw ExeggutorPicFront, ExeggutorPicBack + + db BARRAGE, HYPNOSIS, NO_MOVE, NO_MOVE ; level 1 learnset + db 5 ; growth rate + + ; tm/hm learnset + tmhm 6, 9, 10, 15, 20, 21, 22, 29, 30, 31, 32, 33, 34, 36, 37, 44, 46, 47, 50, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/farfetchd.asm b/data/pokemon/base_stats/farfetchd.asm index ffbb70f1..3167b559 100644 --- a/data/pokemon/base_stats/farfetchd.asm +++ b/data/pokemon/base_stats/farfetchd.asm @@ -1,28 +1,20 @@ -db DEX_FARFETCHD ; pokedex id -db 52 ; base hp -db 65 ; base attack -db 55 ; base defense -db 60 ; base speed -db 58 ; base special -db NORMAL ; species type 1 -db FLYING ; species type 2 -db 45 ; catch rate -db 94 ; base exp yield -INCBIN "gfx/pokemon/front/farfetchd.pic",0,1 ; 66, sprite dimensions -dw FarfetchdPicFront -dw FarfetchdPicBack -; attacks known at lvl 0 -db PECK -db SAND_ATTACK -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 2,3,4,6,8 - tmlearn 9,10 - tmlearn 20 - tmlearn 31,32 - tmlearn 33,34,39,40 - tmlearn 44 - tmlearn 50,51,52 -db 0 ; padding + db DEX_FARFETCHD ; pokedex id + + db 52, 65, 55, 60, 58 + ; hp atk def spd spc + + db NORMAL, FLYING ; type + db 45 ; catch rate + db 94 ; base exp + + INCBIN "gfx/pokemon/front/farfetchd.pic", 0, 1 ; sprite dimensions + dw FarfetchdPicFront, FarfetchdPicBack + + db PECK, SAND_ATTACK, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 2, 3, 4, 6, 8, 9, 10, 20, 31, 32, 33, 34, 39, 40, 44, 50, 51, 52 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/fearow.asm b/data/pokemon/base_stats/fearow.asm index d03722ba..98ef992c 100644 --- a/data/pokemon/base_stats/fearow.asm +++ b/data/pokemon/base_stats/fearow.asm @@ -1,28 +1,20 @@ -db DEX_FEAROW ; pokedex id -db 65 ; base hp -db 90 ; base attack -db 65 ; base defense -db 100 ; base speed -db 61 ; base special -db NORMAL ; species type 1 -db FLYING ; species type 2 -db 90 ; catch rate -db 162 ; base exp yield -INCBIN "gfx/pokemon/front/fearow.pic",0,1 ; 77, sprite dimensions -dw FearowPicFront -dw FearowPicBack -; attacks known at lvl 0 -db PECK -db GROWL -db LEER -db 0 -db 0 ; growth rate -; learnset - tmlearn 2,4,6 - tmlearn 9,10,15 - tmlearn 20 - tmlearn 31,32 - tmlearn 34,39 - tmlearn 43,44 - tmlearn 50,52 -db 0 ; padding + db DEX_FEAROW ; pokedex id + + db 65, 90, 65, 100, 61 + ; hp atk def spd spc + + db NORMAL, FLYING ; type + db 90 ; catch rate + db 162 ; base exp + + INCBIN "gfx/pokemon/front/fearow.pic", 0, 1 ; sprite dimensions + dw FearowPicFront, FearowPicBack + + db PECK, GROWL, LEER, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 2, 4, 6, 9, 10, 15, 20, 31, 32, 34, 39, 43, 44, 50, 52 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/flareon.asm b/data/pokemon/base_stats/flareon.asm index 8ebe4ede..a32fb71a 100644 --- a/data/pokemon/base_stats/flareon.asm +++ b/data/pokemon/base_stats/flareon.asm @@ -1,28 +1,20 @@ -db DEX_FLAREON ; pokedex id -db 65 ; base hp -db 130 ; base attack -db 60 ; base defense -db 65 ; base speed -db 110 ; base special -db FIRE ; species type 1 -db FIRE ; species type 2 -db 45 ; catch rate -db 198 ; base exp yield -INCBIN "gfx/pokemon/front/flareon.pic",0,1 ; 66, sprite dimensions -dw FlareonPicFront -dw FlareonPicBack -; attacks known at lvl 0 -db TACKLE -db SAND_ATTACK -db QUICK_ATTACK -db EMBER -db 0 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10,15 - tmlearn 20 - tmlearn 31,32 - tmlearn 33,34,38,39,40 - tmlearn 44 - tmlearn 50 -db 0 ; padding + db DEX_FLAREON ; pokedex id + + db 65, 130, 60, 65, 110 + ; hp atk def spd spc + + db FIRE, FIRE ; type + db 45 ; catch rate + db 198 ; base exp + + INCBIN "gfx/pokemon/front/flareon.pic", 0, 1 ; sprite dimensions + dw FlareonPicFront, FlareonPicBack + + db TACKLE, SAND_ATTACK, QUICK_ATTACK, EMBER ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 6, 8, 9, 10, 15, 20, 31, 32, 33, 34, 38, 39, 40, 44, 50 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/gastly.asm b/data/pokemon/base_stats/gastly.asm index b68d431b..c64c8618 100644 --- a/data/pokemon/base_stats/gastly.asm +++ b/data/pokemon/base_stats/gastly.asm @@ -1,28 +1,20 @@ -db DEX_GASTLY ; pokedex id -db 30 ; base hp -db 35 ; base attack -db 30 ; base defense -db 80 ; base speed -db 100 ; base special -db GHOST ; species type 1 -db POISON ; species type 2 -db 190 ; catch rate -db 95 ; base exp yield -INCBIN "gfx/pokemon/front/gastly.pic",0,1 ; 77, sprite dimensions -dw GastlyPicFront -dw GastlyPicBack -; attacks known at lvl 0 -db LICK -db CONFUSE_RAY -db NIGHT_SHADE -db 0 -db 3 ; growth rate -; learnset - tmlearn 6 - tmlearn 0 - tmlearn 20,21,24 - tmlearn 25,29,31,32 - tmlearn 34,36 - tmlearn 42,44,46,47 - tmlearn 50 -db 0 ; padding + db DEX_GASTLY ; pokedex id + + db 30, 35, 30, 80, 100 + ; hp atk def spd spc + + db GHOST, POISON ; type + db 190 ; catch rate + db 95 ; base exp + + INCBIN "gfx/pokemon/front/gastly.pic", 0, 1 ; sprite dimensions + dw GastlyPicFront, GastlyPicBack + + db LICK, CONFUSE_RAY, NIGHT_SHADE, NO_MOVE ; level 1 learnset + db 3 ; growth rate + + ; tm/hm learnset + tmhm 6, 20, 21, 24, 25, 29, 31, 32, 34, 36, 42, 44, 46, 47, 50 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/gengar.asm b/data/pokemon/base_stats/gengar.asm index bdbe5de6..fb3fcfab 100644 --- a/data/pokemon/base_stats/gengar.asm +++ b/data/pokemon/base_stats/gengar.asm @@ -1,28 +1,20 @@ -db DEX_GENGAR ; pokedex id -db 60 ; base hp -db 65 ; base attack -db 60 ; base defense -db 110 ; base speed -db 130 ; base special -db GHOST ; species type 1 -db POISON ; species type 2 -db 45 ; catch rate -db 190 ; base exp yield -INCBIN "gfx/pokemon/front/gengar.pic",0,1 ; 66, sprite dimensions -dw GengarPicFront -dw GengarPicBack -; attacks known at lvl 0 -db LICK -db CONFUSE_RAY -db NIGHT_SHADE -db 0 -db 3 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,15 - tmlearn 17,18,19,20,21,24 - tmlearn 25,29,31,32 - tmlearn 34,35,36,40 - tmlearn 42,44,46,47 - tmlearn 50,54 -db 0 ; padding + db DEX_GENGAR ; pokedex id + + db 60, 65, 60, 110, 130 + ; hp atk def spd spc + + db GHOST, POISON ; type + db 45 ; catch rate + db 190 ; base exp + + INCBIN "gfx/pokemon/front/gengar.pic", 0, 1 ; sprite dimensions + dw GengarPicFront, GengarPicBack + + db LICK, CONFUSE_RAY, NIGHT_SHADE, NO_MOVE ; level 1 learnset + db 3 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 8, 9, 10, 15, 17, 18, 19, 20, 21, 24, 25, 29, 31, 32, 34, 35, 36, 40, 42, 44, 46, 47, 50, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/geodude.asm b/data/pokemon/base_stats/geodude.asm index 9ffd1c86..d588fc1e 100644 --- a/data/pokemon/base_stats/geodude.asm +++ b/data/pokemon/base_stats/geodude.asm @@ -1,28 +1,20 @@ -db DEX_GEODUDE ; pokedex id -db 40 ; base hp -db 80 ; base attack -db 100 ; base defense -db 20 ; base speed -db 30 ; base special -db ROCK ; species type 1 -db GROUND ; species type 2 -db 255 ; catch rate -db 86 ; base exp yield -INCBIN "gfx/pokemon/front/geodude.pic",0,1 ; 55, sprite dimensions -dw GeodudePicFront -dw GeodudePicBack -; attacks known at lvl 0 -db TACKLE -db 0 -db 0 -db 0 -db 3 ; growth rate -; learnset - tmlearn 1,6,8 - tmlearn 9,10 - tmlearn 17,18,19,20 - tmlearn 26,27,28,31,32 - tmlearn 34,35,36,38 - tmlearn 44,47,48 - tmlearn 50,54 -db 0 ; padding + db DEX_GEODUDE ; pokedex id + + db 40, 80, 100, 20, 30 + ; hp atk def spd spc + + db ROCK, GROUND ; type + db 255 ; catch rate + db 86 ; base exp + + INCBIN "gfx/pokemon/front/geodude.pic", 0, 1 ; sprite dimensions + dw GeodudePicFront, GeodudePicBack + + db TACKLE, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset + db 3 ; growth rate + + ; tm/hm learnset + tmhm 1, 6, 8, 9, 10, 17, 18, 19, 20, 26, 27, 28, 31, 32, 34, 35, 36, 38, 44, 47, 48, 50, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/gloom.asm b/data/pokemon/base_stats/gloom.asm index 6c08287e..8a332698 100644 --- a/data/pokemon/base_stats/gloom.asm +++ b/data/pokemon/base_stats/gloom.asm @@ -1,28 +1,20 @@ -db DEX_GLOOM ; pokedex id -db 60 ; base hp -db 65 ; base attack -db 70 ; base defense -db 40 ; base speed -db 85 ; base special -db GRASS ; species type 1 -db POISON ; species type 2 -db 120 ; catch rate -db 132 ; base exp yield -INCBIN "gfx/pokemon/front/gloom.pic",0,1 ; 66, sprite dimensions -dw GloomPicFront -dw GloomPicBack -; attacks known at lvl 0 -db ABSORB -db POISONPOWDER -db STUN_SPORE -db 0 -db 3 ; growth rate -; learnset - tmlearn 3,6 - tmlearn 9,10 - tmlearn 20,21,22 - tmlearn 31,32 - tmlearn 33,34 - tmlearn 44 - tmlearn 50,51 -db 0 ; padding + db DEX_GLOOM ; pokedex id + + db 60, 65, 70, 40, 85 + ; hp atk def spd spc + + db GRASS, POISON ; type + db 120 ; catch rate + db 132 ; base exp + + INCBIN "gfx/pokemon/front/gloom.pic", 0, 1 ; sprite dimensions + dw GloomPicFront, GloomPicBack + + db ABSORB, POISONPOWDER, STUN_SPORE, NO_MOVE ; level 1 learnset + db 3 ; growth rate + + ; tm/hm learnset + tmhm 3, 6, 9, 10, 20, 21, 22, 31, 32, 33, 34, 44, 50, 51 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/golbat.asm b/data/pokemon/base_stats/golbat.asm index de93ee3f..969da94e 100644 --- a/data/pokemon/base_stats/golbat.asm +++ b/data/pokemon/base_stats/golbat.asm @@ -1,28 +1,20 @@ -db DEX_GOLBAT ; pokedex id -db 75 ; base hp -db 80 ; base attack -db 70 ; base defense -db 90 ; base speed -db 75 ; base special -db POISON ; species type 1 -db FLYING ; species type 2 -db 90 ; catch rate -db 171 ; base exp yield -INCBIN "gfx/pokemon/front/golbat.pic",0,1 ; 77, sprite dimensions -dw GolbatPicFront -dw GolbatPicBack -; attacks known at lvl 0 -db LEECH_LIFE -db SCREECH -db BITE -db 0 -db 0 ; growth rate -; learnset - tmlearn 2,4,6 - tmlearn 9,10,15 - tmlearn 20,21 - tmlearn 31,32 - tmlearn 34,39 - tmlearn 44 - tmlearn 50 -db 0 ; padding + db DEX_GOLBAT ; pokedex id + + db 75, 80, 70, 90, 75 + ; hp atk def spd spc + + db POISON, FLYING ; type + db 90 ; catch rate + db 171 ; base exp + + INCBIN "gfx/pokemon/front/golbat.pic", 0, 1 ; sprite dimensions + dw GolbatPicFront, GolbatPicBack + + db LEECH_LIFE, SCREECH, BITE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 2, 4, 6, 9, 10, 15, 20, 21, 31, 32, 34, 39, 44, 50 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/goldeen.asm b/data/pokemon/base_stats/goldeen.asm index 32c89599..16cc4a42 100644 --- a/data/pokemon/base_stats/goldeen.asm +++ b/data/pokemon/base_stats/goldeen.asm @@ -1,28 +1,20 @@ -db DEX_GOLDEEN ; pokedex id -db 45 ; base hp -db 67 ; base attack -db 60 ; base defense -db 63 ; base speed -db 50 ; base special -db WATER ; species type 1 -db WATER ; species type 2 -db 225 ; catch rate -db 111 ; base exp yield -INCBIN "gfx/pokemon/front/goldeen.pic",0,1 ; 66, sprite dimensions -dw GoldeenPicFront -dw GoldeenPicBack -; attacks known at lvl 0 -db PECK -db TAIL_WHIP -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,7 - tmlearn 9,10,11,12,13,14 - tmlearn 20 - tmlearn 31,32 - tmlearn 34,39,40 - tmlearn 44 - tmlearn 50,53 -db 0 ; padding + db DEX_GOLDEEN ; pokedex id + + db 45, 67, 60, 63, 50 + ; hp atk def spd spc + + db WATER, WATER ; type + db 225 ; catch rate + db 111 ; base exp + + INCBIN "gfx/pokemon/front/goldeen.pic", 0, 1 ; sprite dimensions + dw GoldeenPicFront, GoldeenPicBack + + db PECK, TAIL_WHIP, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 6, 7, 9, 10, 11, 12, 13, 14, 20, 31, 32, 34, 39, 40, 44, 50, 53 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/golduck.asm b/data/pokemon/base_stats/golduck.asm index 6f2cc6a9..9db265e4 100644 --- a/data/pokemon/base_stats/golduck.asm +++ b/data/pokemon/base_stats/golduck.asm @@ -1,28 +1,20 @@ -db DEX_GOLDUCK ; pokedex id -db 80 ; base hp -db 82 ; base attack -db 78 ; base defense -db 85 ; base speed -db 80 ; base special -db WATER ; species type 1 -db WATER ; species type 2 -db 75 ; catch rate -db 174 ; base exp yield -INCBIN "gfx/pokemon/front/golduck.pic",0,1 ; 77, sprite dimensions -dw GolduckPicFront -dw GolduckPicBack -; attacks known at lvl 0 -db SCRATCH -db TAIL_WHIP -db DISABLE -db 0 -db 0 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,11,12,13,14,15,16 - tmlearn 17,18,19,20 - tmlearn 28,31,32 - tmlearn 34,39,40 - tmlearn 44 - tmlearn 50,53,54 -db 0 ; padding + db DEX_GOLDUCK ; pokedex id + + db 80, 82, 78, 85, 80 + ; hp atk def spd spc + + db WATER, WATER ; type + db 75 ; catch rate + db 174 ; base exp + + INCBIN "gfx/pokemon/front/golduck.pic", 0, 1 ; sprite dimensions + dw GolduckPicFront, GolduckPicBack + + db SCRATCH, TAIL_WHIP, DISABLE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 28, 31, 32, 34, 39, 40, 44, 50, 53, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/golem.asm b/data/pokemon/base_stats/golem.asm index b5506372..f3aa245a 100644 --- a/data/pokemon/base_stats/golem.asm +++ b/data/pokemon/base_stats/golem.asm @@ -1,28 +1,20 @@ -db DEX_GOLEM ; pokedex id -db 80 ; base hp -db 110 ; base attack -db 130 ; base defense -db 45 ; base speed -db 55 ; base special -db ROCK ; species type 1 -db GROUND ; species type 2 -db 45 ; catch rate -db 177 ; base exp yield -INCBIN "gfx/pokemon/front/golem.pic",0,1 ; 66, sprite dimensions -dw GolemPicFront -dw GolemPicBack -; attacks known at lvl 0 -db TACKLE -db DEFENSE_CURL -db 0 -db 0 -db 3 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,15 - tmlearn 17,18,19,20 - tmlearn 26,27,28,31,32 - tmlearn 34,35,36,38 - tmlearn 44,47,48 - tmlearn 50,54 -db 0 ; padding + db DEX_GOLEM ; pokedex id + + db 80, 110, 130, 45, 55 + ; hp atk def spd spc + + db ROCK, GROUND ; type + db 45 ; catch rate + db 177 ; base exp + + INCBIN "gfx/pokemon/front/golem.pic", 0, 1 ; sprite dimensions + dw GolemPicFront, GolemPicBack + + db TACKLE, DEFENSE_CURL, NO_MOVE, NO_MOVE ; level 1 learnset + db 3 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 8, 9, 10, 15, 17, 18, 19, 20, 26, 27, 28, 31, 32, 34, 35, 36, 38, 44, 47, 48, 50, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/graveler.asm b/data/pokemon/base_stats/graveler.asm index 0525c587..53ad0075 100644 --- a/data/pokemon/base_stats/graveler.asm +++ b/data/pokemon/base_stats/graveler.asm @@ -1,28 +1,20 @@ -db DEX_GRAVELER ; pokedex id -db 55 ; base hp -db 95 ; base attack -db 115 ; base defense -db 35 ; base speed -db 45 ; base special -db ROCK ; species type 1 -db GROUND ; species type 2 -db 120 ; catch rate -db 134 ; base exp yield -INCBIN "gfx/pokemon/front/graveler.pic",0,1 ; 66, sprite dimensions -dw GravelerPicFront -dw GravelerPicBack -; attacks known at lvl 0 -db TACKLE -db DEFENSE_CURL -db 0 -db 0 -db 3 ; growth rate -; learnset - tmlearn 1,6,8 - tmlearn 9,10 - tmlearn 17,18,19,20 - tmlearn 26,27,28,31,32 - tmlearn 34,35,36,38 - tmlearn 44,47,48 - tmlearn 50,54 -db 0 ; padding + db DEX_GRAVELER ; pokedex id + + db 55, 95, 115, 35, 45 + ; hp atk def spd spc + + db ROCK, GROUND ; type + db 120 ; catch rate + db 134 ; base exp + + INCBIN "gfx/pokemon/front/graveler.pic", 0, 1 ; sprite dimensions + dw GravelerPicFront, GravelerPicBack + + db TACKLE, DEFENSE_CURL, NO_MOVE, NO_MOVE ; level 1 learnset + db 3 ; growth rate + + ; tm/hm learnset + tmhm 1, 6, 8, 9, 10, 17, 18, 19, 20, 26, 27, 28, 31, 32, 34, 35, 36, 38, 44, 47, 48, 50, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/grimer.asm b/data/pokemon/base_stats/grimer.asm index 63533c00..6722c401 100644 --- a/data/pokemon/base_stats/grimer.asm +++ b/data/pokemon/base_stats/grimer.asm @@ -1,28 +1,20 @@ -db DEX_GRIMER ; pokedex id -db 80 ; base hp -db 80 ; base attack -db 50 ; base defense -db 25 ; base speed -db 40 ; base special -db POISON ; species type 1 -db POISON ; species type 2 -db 190 ; catch rate -db 90 ; base exp yield -INCBIN "gfx/pokemon/front/grimer.pic",0,1 ; 55, sprite dimensions -dw GrimerPicFront -dw GrimerPicBack -; attacks known at lvl 0 -db POUND -db DISABLE -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 0 - tmlearn 20,21,24 - tmlearn 25,31,32 - tmlearn 34,36,38 - tmlearn 44,47 - tmlearn 50 -db 0 ; padding + db DEX_GRIMER ; pokedex id + + db 80, 80, 50, 25, 40 + ; hp atk def spd spc + + db POISON, POISON ; type + db 190 ; catch rate + db 90 ; base exp + + INCBIN "gfx/pokemon/front/grimer.pic", 0, 1 ; sprite dimensions + dw GrimerPicFront, GrimerPicBack + + db POUND, DISABLE, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 6, 8, 20, 21, 24, 25, 31, 32, 34, 36, 38, 44, 47, 50 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/growlithe.asm b/data/pokemon/base_stats/growlithe.asm index 9bf5e036..960a78e2 100644 --- a/data/pokemon/base_stats/growlithe.asm +++ b/data/pokemon/base_stats/growlithe.asm @@ -1,28 +1,20 @@ -db DEX_GROWLITHE ; pokedex id -db 55 ; base hp -db 70 ; base attack -db 45 ; base defense -db 60 ; base speed -db 50 ; base special -db FIRE ; species type 1 -db FIRE ; species type 2 -db 190 ; catch rate -db 91 ; base exp yield -INCBIN "gfx/pokemon/front/growlithe.pic",0,1 ; 55, sprite dimensions -dw GrowlithePicFront -dw GrowlithePicBack -; attacks known at lvl 0 -db BITE -db ROAR -db 0 -db 0 -db 5 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10 - tmlearn 20,23 - tmlearn 28,31,32 - tmlearn 33,34,38,39,40 - tmlearn 44 - tmlearn 50 -db 0 ; padding + db DEX_GROWLITHE ; pokedex id + + db 55, 70, 45, 60, 50 + ; hp atk def spd spc + + db FIRE, FIRE ; type + db 190 ; catch rate + db 91 ; base exp + + INCBIN "gfx/pokemon/front/growlithe.pic", 0, 1 ; sprite dimensions + dw GrowlithePicFront, GrowlithePicBack + + db BITE, ROAR, NO_MOVE, NO_MOVE ; level 1 learnset + db 5 ; growth rate + + ; tm/hm learnset + tmhm 6, 8, 9, 10, 20, 23, 28, 31, 32, 33, 34, 38, 39, 40, 44, 50 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/gyarados.asm b/data/pokemon/base_stats/gyarados.asm index 3cd2e213..848f4769 100644 --- a/data/pokemon/base_stats/gyarados.asm +++ b/data/pokemon/base_stats/gyarados.asm @@ -1,28 +1,20 @@ -db DEX_GYARADOS ; pokedex id -db 95 ; base hp -db 125 ; base attack -db 79 ; base defense -db 81 ; base speed -db 100 ; base special -db WATER ; species type 1 -db FLYING ; species type 2 -db 45 ; catch rate -db 214 ; base exp yield -INCBIN "gfx/pokemon/front/gyarados.pic",0,1 ; 77, sprite dimensions -dw GyaradosPicFront -dw GyaradosPicBack -; attacks known at lvl 0 -db BITE -db DRAGON_RAGE -db LEER -db HYDRO_PUMP -db 5 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10,11,12,13,14,15 - tmlearn 20,23,24 - tmlearn 25,31,32 - tmlearn 33,34,38,40 - tmlearn 44 - tmlearn 50,53,54 -db 0 ; padding + db DEX_GYARADOS ; pokedex id + + db 95, 125, 79, 81, 100 + ; hp atk def spd spc + + db WATER, FLYING ; type + db 45 ; catch rate + db 214 ; base exp + + INCBIN "gfx/pokemon/front/gyarados.pic", 0, 1 ; sprite dimensions + dw GyaradosPicFront, GyaradosPicBack + + db BITE, DRAGON_RAGE, LEER, HYDRO_PUMP ; level 1 learnset + db 5 ; growth rate + + ; tm/hm learnset + tmhm 6, 8, 9, 10, 11, 12, 13, 14, 15, 20, 23, 24, 25, 31, 32, 33, 34, 38, 40, 44, 50, 53, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/haunter.asm b/data/pokemon/base_stats/haunter.asm index 879b75d4..83bd827b 100644 --- a/data/pokemon/base_stats/haunter.asm +++ b/data/pokemon/base_stats/haunter.asm @@ -1,28 +1,20 @@ -db DEX_HAUNTER ; pokedex id -db 45 ; base hp -db 50 ; base attack -db 45 ; base defense -db 95 ; base speed -db 115 ; base special -db GHOST ; species type 1 -db POISON ; species type 2 -db 90 ; catch rate -db 126 ; base exp yield -INCBIN "gfx/pokemon/front/haunter.pic",0,1 ; 66, sprite dimensions -dw HaunterPicFront -dw HaunterPicBack -; attacks known at lvl 0 -db LICK -db CONFUSE_RAY -db NIGHT_SHADE -db 0 -db 3 ; growth rate -; learnset - tmlearn 6 - tmlearn 0 - tmlearn 20,21,24 - tmlearn 25,29,31,32 - tmlearn 34,36 - tmlearn 42,44,46,47 - tmlearn 50 -db 0 ; padding + db DEX_HAUNTER ; pokedex id + + db 45, 50, 45, 95, 115 + ; hp atk def spd spc + + db GHOST, POISON ; type + db 90 ; catch rate + db 126 ; base exp + + INCBIN "gfx/pokemon/front/haunter.pic", 0, 1 ; sprite dimensions + dw HaunterPicFront, HaunterPicBack + + db LICK, CONFUSE_RAY, NIGHT_SHADE, NO_MOVE ; level 1 learnset + db 3 ; growth rate + + ; tm/hm learnset + tmhm 6, 20, 21, 24, 25, 29, 31, 32, 34, 36, 42, 44, 46, 47, 50 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/hitmonchan.asm b/data/pokemon/base_stats/hitmonchan.asm index f34bf086..1da96542 100644 --- a/data/pokemon/base_stats/hitmonchan.asm +++ b/data/pokemon/base_stats/hitmonchan.asm @@ -1,28 +1,20 @@ -db DEX_HITMONCHAN ; pokedex id -db 50 ; base hp -db 105 ; base attack -db 79 ; base defense -db 76 ; base speed -db 35 ; base special -db FIGHTING ; species type 1 -db FIGHTING ; species type 2 -db 45 ; catch rate -db 140 ; base exp yield -INCBIN "gfx/pokemon/front/hitmonchan.pic",0,1 ; 66, sprite dimensions -dw HitmonchanPicFront -dw HitmonchanPicBack -; attacks known at lvl 0 -db COMET_PUNCH -db AGILITY -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10 - tmlearn 17,18,19,20 - tmlearn 31,32 - tmlearn 34,35,39,40 - tmlearn 44 - tmlearn 50,54 -db 0 ; padding + db DEX_HITMONCHAN ; pokedex id + + db 50, 105, 79, 76, 35 + ; hp atk def spd spc + + db FIGHTING, FIGHTING ; type + db 45 ; catch rate + db 140 ; base exp + + INCBIN "gfx/pokemon/front/hitmonchan.pic", 0, 1 ; sprite dimensions + dw HitmonchanPicFront, HitmonchanPicBack + + db COMET_PUNCH, AGILITY, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 8, 9, 10, 17, 18, 19, 20, 31, 32, 34, 35, 39, 40, 44, 50, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/hitmonlee.asm b/data/pokemon/base_stats/hitmonlee.asm index 2590bfb0..e0ffdcd4 100644 --- a/data/pokemon/base_stats/hitmonlee.asm +++ b/data/pokemon/base_stats/hitmonlee.asm @@ -1,28 +1,20 @@ -db DEX_HITMONLEE ; pokedex id -db 50 ; base hp -db 120 ; base attack -db 53 ; base defense -db 87 ; base speed -db 35 ; base special -db FIGHTING ; species type 1 -db FIGHTING ; species type 2 -db 45 ; catch rate -db 139 ; base exp yield -INCBIN "gfx/pokemon/front/hitmonlee.pic",0,1 ; 77, sprite dimensions -dw HitmonleePicFront -dw HitmonleePicBack -; attacks known at lvl 0 -db DOUBLE_KICK -db MEDITATE -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10 - tmlearn 17,18,19,20 - tmlearn 31,32 - tmlearn 34,35,39,40 - tmlearn 44 - tmlearn 50,54 -db 0 ; padding + db DEX_HITMONLEE ; pokedex id + + db 50, 120, 53, 87, 35 + ; hp atk def spd spc + + db FIGHTING, FIGHTING ; type + db 45 ; catch rate + db 139 ; base exp + + INCBIN "gfx/pokemon/front/hitmonlee.pic", 0, 1 ; sprite dimensions + dw HitmonleePicFront, HitmonleePicBack + + db DOUBLE_KICK, MEDITATE, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 8, 9, 10, 17, 18, 19, 20, 31, 32, 34, 35, 39, 40, 44, 50, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/horsea.asm b/data/pokemon/base_stats/horsea.asm index ecf98197..1c990276 100644 --- a/data/pokemon/base_stats/horsea.asm +++ b/data/pokemon/base_stats/horsea.asm @@ -1,28 +1,20 @@ -db DEX_HORSEA ; pokedex id -db 30 ; base hp -db 40 ; base attack -db 70 ; base defense -db 60 ; base speed -db 70 ; base special -db WATER ; species type 1 -db WATER ; species type 2 -db 225 ; catch rate -db 83 ; base exp yield -INCBIN "gfx/pokemon/front/horsea.pic",0,1 ; 55, sprite dimensions -dw HorseaPicFront -dw HorseaPicBack -; attacks known at lvl 0 -db BUBBLE -db 0 -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 6 - tmlearn 9,10,11,12,13,14 - tmlearn 20 - tmlearn 31,32 - tmlearn 34,39,40 - tmlearn 44 - tmlearn 50,53 -db 0 ; padding + db DEX_HORSEA ; pokedex id + + db 30, 40, 70, 60, 70 + ; hp atk def spd spc + + db WATER, WATER ; type + db 225 ; catch rate + db 83 ; base exp + + INCBIN "gfx/pokemon/front/horsea.pic", 0, 1 ; sprite dimensions + dw HorseaPicFront, HorseaPicBack + + db BUBBLE, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 6, 9, 10, 11, 12, 13, 14, 20, 31, 32, 34, 39, 40, 44, 50, 53 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/hypno.asm b/data/pokemon/base_stats/hypno.asm index 9d251cd6..e1b3a06c 100644 --- a/data/pokemon/base_stats/hypno.asm +++ b/data/pokemon/base_stats/hypno.asm @@ -1,28 +1,20 @@ -db DEX_HYPNO ; pokedex id -db 85 ; base hp -db 73 ; base attack -db 70 ; base defense -db 67 ; base speed -db 115 ; base special -db PSYCHIC ; species type 1 -db PSYCHIC ; species type 2 -db 75 ; catch rate -db 165 ; base exp yield -INCBIN "gfx/pokemon/front/hypno.pic",0,1 ; 77, sprite dimensions -dw HypnoPicFront -dw HypnoPicBack -; attacks known at lvl 0 -db POUND -db HYPNOSIS -db DISABLE -db CONFUSION -db 0 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,15 - tmlearn 17,18,19,20 - tmlearn 29,30,31,32 - tmlearn 33,34,35,40 - tmlearn 42,44,45,46 - tmlearn 49,50,55 -db 0 ; padding + db DEX_HYPNO ; pokedex id + + db 85, 73, 70, 67, 115 + ; hp atk def spd spc + + db PSYCHIC, PSYCHIC ; type + db 75 ; catch rate + db 165 ; base exp + + INCBIN "gfx/pokemon/front/hypno.pic", 0, 1 ; sprite dimensions + dw HypnoPicFront, HypnoPicBack + + db POUND, HYPNOSIS, DISABLE, CONFUSION ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 8, 9, 10, 15, 17, 18, 19, 20, 29, 30, 31, 32, 33, 34, 35, 40, 42, 44, 45, 46, 49, 50, 55 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/ivysaur.asm b/data/pokemon/base_stats/ivysaur.asm index f90549b9..bd8d818f 100644 --- a/data/pokemon/base_stats/ivysaur.asm +++ b/data/pokemon/base_stats/ivysaur.asm @@ -1,28 +1,20 @@ -db DEX_IVYSAUR ; pokedex id -db 60 ; base hp -db 62 ; base attack -db 63 ; base defense -db 60 ; base speed -db 80 ; base special -db GRASS ; species type 1 -db POISON ; species type 2 -db 45 ; catch rate -db 141 ; base exp yield -INCBIN "gfx/pokemon/front/ivysaur.pic",0,1 ; 66, sprite dimensions -dw IvysaurPicFront -dw IvysaurPicBack -; attacks known at lvl 0 -db TACKLE -db GROWL -db LEECH_SEED -db 0 -db 3 ; growth rate -; learnset - tmlearn 3,6,8 - tmlearn 9,10 - tmlearn 20,21,22 - tmlearn 31,32 - tmlearn 33,34 - tmlearn 44 - tmlearn 50,51 -db 0 ; padding + db DEX_IVYSAUR ; pokedex id + + db 60, 62, 63, 60, 80 + ; hp atk def spd spc + + db GRASS, POISON ; type + db 45 ; catch rate + db 141 ; base exp + + INCBIN "gfx/pokemon/front/ivysaur.pic", 0, 1 ; sprite dimensions + dw IvysaurPicFront, IvysaurPicBack + + db TACKLE, GROWL, LEECH_SEED, NO_MOVE ; level 1 learnset + db 3 ; growth rate + + ; tm/hm learnset + tmhm 3, 6, 8, 9, 10, 20, 21, 22, 31, 32, 33, 34, 44, 50, 51 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/jigglypuff.asm b/data/pokemon/base_stats/jigglypuff.asm index 0a6bdf49..75648dbf 100644 --- a/data/pokemon/base_stats/jigglypuff.asm +++ b/data/pokemon/base_stats/jigglypuff.asm @@ -1,28 +1,20 @@ -db DEX_JIGGLYPUFF ; pokedex id -db 115 ; base hp -db 45 ; base attack -db 20 ; base defense -db 20 ; base speed -db 25 ; base special -db NORMAL ; species type 1 -db NORMAL ; species type 2 -db 170 ; catch rate -db 76 ; base exp yield -INCBIN "gfx/pokemon/front/jigglypuff.pic",0,1 ; 55, sprite dimensions -dw JigglypuffPicFront -dw JigglypuffPicBack -; attacks known at lvl 0 -db SING -db 0 -db 0 -db 0 -db 4 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,11,12,13,14 - tmlearn 17,18,19,20,22,24 - tmlearn 25,29,30,31,32 - tmlearn 33,34,38,40 - tmlearn 44,45,46 - tmlearn 49,50,54,55 -db 0 ; padding + db DEX_JIGGLYPUFF ; pokedex id + + db 115, 45, 20, 20, 25 + ; hp atk def spd spc + + db NORMAL, NORMAL ; type + db 170 ; catch rate + db 76 ; base exp + + INCBIN "gfx/pokemon/front/jigglypuff.pic", 0, 1 ; sprite dimensions + dw JigglypuffPicFront, JigglypuffPicBack + + db SING, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset + db 4 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 22, 24, 25, 29, 30, 31, 32, 33, 34, 38, 40, 44, 45, 46, 49, 50, 54, 55 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/jolteon.asm b/data/pokemon/base_stats/jolteon.asm index 1752354b..4294495b 100644 --- a/data/pokemon/base_stats/jolteon.asm +++ b/data/pokemon/base_stats/jolteon.asm @@ -1,28 +1,20 @@ -db DEX_JOLTEON ; pokedex id -db 65 ; base hp -db 65 ; base attack -db 60 ; base defense -db 130 ; base speed -db 110 ; base special -db ELECTRIC ; species type 1 -db ELECTRIC ; species type 2 -db 45 ; catch rate -db 197 ; base exp yield -INCBIN "gfx/pokemon/front/jolteon.pic",0,1 ; 66, sprite dimensions -dw JolteonPicFront -dw JolteonPicBack -; attacks known at lvl 0 -db TACKLE -db SAND_ATTACK -db QUICK_ATTACK -db THUNDERSHOCK -db 0 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10,15 - tmlearn 20,24 - tmlearn 25,31,32 - tmlearn 33,34,39,40 - tmlearn 44,45 - tmlearn 50,55 -db 0 ; padding + db DEX_JOLTEON ; pokedex id + + db 65, 65, 60, 130, 110 + ; hp atk def spd spc + + db ELECTRIC, ELECTRIC ; type + db 45 ; catch rate + db 197 ; base exp + + INCBIN "gfx/pokemon/front/jolteon.pic", 0, 1 ; sprite dimensions + dw JolteonPicFront, JolteonPicBack + + db TACKLE, SAND_ATTACK, QUICK_ATTACK, THUNDERSHOCK ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 6, 8, 9, 10, 15, 20, 24, 25, 31, 32, 33, 34, 39, 40, 44, 45, 50, 55 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/jynx.asm b/data/pokemon/base_stats/jynx.asm index f82796e5..7741c711 100644 --- a/data/pokemon/base_stats/jynx.asm +++ b/data/pokemon/base_stats/jynx.asm @@ -1,28 +1,20 @@ -db DEX_JYNX ; pokedex id -db 65 ; base hp -db 50 ; base attack -db 35 ; base defense -db 95 ; base speed -db 95 ; base special -db ICE ; species type 1 -db PSYCHIC ; species type 2 -db 45 ; catch rate -db 137 ; base exp yield -INCBIN "gfx/pokemon/front/jynx.pic",0,1 ; 66, sprite dimensions -dw JynxPicFront -dw JynxPicBack -; attacks known at lvl 0 -db POUND -db LOVELY_KISS -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,11,12,13,14,15 - tmlearn 17,18,19,20 - tmlearn 29,30,31,32 - tmlearn 33,34,35,40 - tmlearn 44,46 - tmlearn 50 -db 0 ; padding + db DEX_JYNX ; pokedex id + + db 65, 50, 35, 95, 95 + ; hp atk def spd spc + + db ICE, PSYCHIC ; type + db 45 ; catch rate + db 137 ; base exp + + INCBIN "gfx/pokemon/front/jynx.pic", 0, 1 ; sprite dimensions + dw JynxPicFront, JynxPicBack + + db POUND, LOVELY_KISS, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 29, 30, 31, 32, 33, 34, 35, 40, 44, 46, 50 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/kabuto.asm b/data/pokemon/base_stats/kabuto.asm index fc2df213..2f62b050 100644 --- a/data/pokemon/base_stats/kabuto.asm +++ b/data/pokemon/base_stats/kabuto.asm @@ -1,28 +1,20 @@ -db DEX_KABUTO ; pokedex id -db 30 ; base hp -db 80 ; base attack -db 90 ; base defense -db 55 ; base speed -db 45 ; base special -db ROCK ; species type 1 -db WATER ; species type 2 -db 45 ; catch rate -db 119 ; base exp yield -INCBIN "gfx/pokemon/front/kabuto.pic",0,1 ; 55, sprite dimensions -dw KabutoPicFront -dw KabutoPicBack -; attacks known at lvl 0 -db SCRATCH -db HARDEN -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10,11,12,13,14 - tmlearn 20 - tmlearn 31,32 - tmlearn 33,34 - tmlearn 44 - tmlearn 50,53 -db 0 ; padding + db DEX_KABUTO ; pokedex id + + db 30, 80, 90, 55, 45 + ; hp atk def spd spc + + db ROCK, WATER ; type + db 45 ; catch rate + db 119 ; base exp + + INCBIN "gfx/pokemon/front/kabuto.pic", 0, 1 ; sprite dimensions + dw KabutoPicFront, KabutoPicBack + + db SCRATCH, HARDEN, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 6, 8, 9, 10, 11, 12, 13, 14, 20, 31, 32, 33, 34, 44, 50, 53 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/kabutops.asm b/data/pokemon/base_stats/kabutops.asm index ca35e56a..acaab322 100644 --- a/data/pokemon/base_stats/kabutops.asm +++ b/data/pokemon/base_stats/kabutops.asm @@ -1,28 +1,20 @@ -db DEX_KABUTOPS ; pokedex id -db 60 ; base hp -db 115 ; base attack -db 105 ; base defense -db 80 ; base speed -db 70 ; base special -db ROCK ; species type 1 -db WATER ; species type 2 -db 45 ; catch rate -db 201 ; base exp yield -INCBIN "gfx/pokemon/front/kabutops.pic",0,1 ; 66, sprite dimensions -dw KabutopsPicFront -dw KabutopsPicBack -; attacks known at lvl 0 -db SCRATCH -db HARDEN -db ABSORB -db 0 -db 0 ; growth rate -; learnset - tmlearn 2,3,5,6,8 - tmlearn 9,10,11,12,13,14,15 - tmlearn 17,19,20 - tmlearn 31,32 - tmlearn 33,34,40 - tmlearn 44 - tmlearn 50,53 -db 0 ; padding + db DEX_KABUTOPS ; pokedex id + + db 60, 115, 105, 80, 70 + ; hp atk def spd spc + + db ROCK, WATER ; type + db 45 ; catch rate + db 201 ; base exp + + INCBIN "gfx/pokemon/front/kabutops.pic", 0, 1 ; sprite dimensions + dw KabutopsPicFront, KabutopsPicBack + + db SCRATCH, HARDEN, ABSORB, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 2, 3, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19, 20, 31, 32, 33, 34, 40, 44, 50, 53 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/kadabra.asm b/data/pokemon/base_stats/kadabra.asm index 652f762a..edc4a455 100644 --- a/data/pokemon/base_stats/kadabra.asm +++ b/data/pokemon/base_stats/kadabra.asm @@ -1,28 +1,20 @@ -db DEX_KADABRA ; pokedex id -db 40 ; base hp -db 35 ; base attack -db 30 ; base defense -db 105 ; base speed -db 120 ; base special -db PSYCHIC ; species type 1 -db PSYCHIC ; species type 2 -db 100 ; catch rate -db 145 ; base exp yield -INCBIN "gfx/pokemon/front/kadabra.pic",0,1 ; 66, sprite dimensions -dw KadabraPicFront -dw KadabraPicBack -; attacks known at lvl 0 -db TELEPORT -db CONFUSION -db DISABLE -db 0 -db 3 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10 - tmlearn 17,18,19,20 - tmlearn 28,29,30,31,32 - tmlearn 33,34,35,40 - tmlearn 44,45,46 - tmlearn 49,50,55 -db 0 ; padding + db DEX_KADABRA ; pokedex id + + db 40, 35, 30, 105, 120 + ; hp atk def spd spc + + db PSYCHIC, PSYCHIC ; type + db 100 ; catch rate + db 145 ; base exp + + INCBIN "gfx/pokemon/front/kadabra.pic", 0, 1 ; sprite dimensions + dw KadabraPicFront, KadabraPicBack + + db TELEPORT, CONFUSION, DISABLE, NO_MOVE ; level 1 learnset + db 3 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 8, 9, 10, 17, 18, 19, 20, 28, 29, 30, 31, 32, 33, 34, 35, 40, 44, 45, 46, 49, 50, 55 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/kakuna.asm b/data/pokemon/base_stats/kakuna.asm index 4a7ec5b4..2244a2d0 100644 --- a/data/pokemon/base_stats/kakuna.asm +++ b/data/pokemon/base_stats/kakuna.asm @@ -1,28 +1,20 @@ -db DEX_KAKUNA ; pokedex id -db 45 ; base hp -db 25 ; base attack -db 50 ; base defense -db 35 ; base speed -db 25 ; base special -db BUG ; species type 1 -db POISON ; species type 2 -db 120 ; catch rate -db 71 ; base exp yield -INCBIN "gfx/pokemon/front/kakuna.pic",0,1 ; 55, sprite dimensions -dw KakunaPicFront -dw KakunaPicBack -; attacks known at lvl 0 -db HARDEN -db 0 -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 -db 0 ; padding + db DEX_KAKUNA ; pokedex id + + db 45, 25, 50, 35, 25 + ; hp atk def spd spc + + db BUG, POISON ; type + db 120 ; catch rate + db 71 ; base exp + + INCBIN "gfx/pokemon/front/kakuna.pic", 0, 1 ; sprite dimensions + dw KakunaPicFront, KakunaPicBack + + db HARDEN, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/kangaskhan.asm b/data/pokemon/base_stats/kangaskhan.asm index 381c8879..c819cc91 100644 --- a/data/pokemon/base_stats/kangaskhan.asm +++ b/data/pokemon/base_stats/kangaskhan.asm @@ -1,28 +1,20 @@ -db DEX_KANGASKHAN ; pokedex id -db 105 ; base hp -db 95 ; base attack -db 80 ; base defense -db 90 ; base speed -db 40 ; base special -db NORMAL ; species type 1 -db NORMAL ; species type 2 -db 45 ; catch rate -db 175 ; base exp yield -INCBIN "gfx/pokemon/front/kangaskhan.pic",0,1 ; 77, sprite dimensions -dw KangaskhanPicFront -dw KangaskhanPicBack -; attacks known at lvl 0 -db COMET_PUNCH -db RAGE -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,11,12,13,14,15 - tmlearn 17,18,19,20,24 - tmlearn 25,26,27,31,32 - tmlearn 34,38,40 - tmlearn 44,48 - tmlearn 50,53,54 -db 0 ; padding + db DEX_KANGASKHAN ; pokedex id + + db 105, 95, 80, 90, 40 + ; hp atk def spd spc + + db NORMAL, NORMAL ; type + db 45 ; catch rate + db 175 ; base exp + + INCBIN "gfx/pokemon/front/kangaskhan.pic", 0, 1 ; sprite dimensions + dw KangaskhanPicFront, KangaskhanPicBack + + db COMET_PUNCH, RAGE, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 24, 25, 26, 27, 31, 32, 34, 38, 40, 44, 48, 50, 53, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/kingler.asm b/data/pokemon/base_stats/kingler.asm index d4b426fb..75eeaf04 100644 --- a/data/pokemon/base_stats/kingler.asm +++ b/data/pokemon/base_stats/kingler.asm @@ -1,28 +1,20 @@ -db DEX_KINGLER ; pokedex id -db 55 ; base hp -db 130 ; base attack -db 115 ; base defense -db 75 ; base speed -db 50 ; base special -db WATER ; species type 1 -db WATER ; species type 2 -db 60 ; catch rate -db 206 ; base exp yield -INCBIN "gfx/pokemon/front/kingler.pic",0,1 ; 77, sprite dimensions -dw KinglerPicFront -dw KinglerPicBack -; attacks known at lvl 0 -db BUBBLE -db LEER -db VICEGRIP -db 0 -db 0 ; growth rate -; learnset - tmlearn 3,6,8 - tmlearn 9,10,11,12,13,14,15 - tmlearn 20 - tmlearn 31,32 - tmlearn 34 - tmlearn 44 - tmlearn 50,51,53,54 -db 0 ; padding + db DEX_KINGLER ; pokedex id + + db 55, 130, 115, 75, 50 + ; hp atk def spd spc + + db WATER, WATER ; type + db 60 ; catch rate + db 206 ; base exp + + INCBIN "gfx/pokemon/front/kingler.pic", 0, 1 ; sprite dimensions + dw KinglerPicFront, KinglerPicBack + + db BUBBLE, LEER, VICEGRIP, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 3, 6, 8, 9, 10, 11, 12, 13, 14, 15, 20, 31, 32, 34, 44, 50, 51, 53, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/koffing.asm b/data/pokemon/base_stats/koffing.asm index ca3e1029..bd92b32a 100644 --- a/data/pokemon/base_stats/koffing.asm +++ b/data/pokemon/base_stats/koffing.asm @@ -1,28 +1,20 @@ -db DEX_KOFFING ; pokedex id -db 40 ; base hp -db 65 ; base attack -db 95 ; base defense -db 35 ; base speed -db 60 ; base special -db POISON ; species type 1 -db POISON ; species type 2 -db 190 ; catch rate -db 114 ; base exp yield -INCBIN "gfx/pokemon/front/koffing.pic",0,1 ; 66, sprite dimensions -dw KoffingPicFront -dw KoffingPicBack -; attacks known at lvl 0 -db TACKLE -db SMOG -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 6 - tmlearn 0 - tmlearn 20,24 - tmlearn 25,31,32 - tmlearn 34,36,38 - tmlearn 44,47 - tmlearn 50 -db 0 ; padding + db DEX_KOFFING ; pokedex id + + db 40, 65, 95, 35, 60 + ; hp atk def spd spc + + db POISON, POISON ; type + db 190 ; catch rate + db 114 ; base exp + + INCBIN "gfx/pokemon/front/koffing.pic", 0, 1 ; sprite dimensions + dw KoffingPicFront, KoffingPicBack + + db TACKLE, SMOG, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 6, 20, 24, 25, 31, 32, 34, 36, 38, 44, 47, 50 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/krabby.asm b/data/pokemon/base_stats/krabby.asm index d1839d26..2b45f30a 100644 --- a/data/pokemon/base_stats/krabby.asm +++ b/data/pokemon/base_stats/krabby.asm @@ -1,28 +1,20 @@ -db DEX_KRABBY ; pokedex id -db 30 ; base hp -db 105 ; base attack -db 90 ; base defense -db 50 ; base speed -db 25 ; base special -db WATER ; species type 1 -db WATER ; species type 2 -db 225 ; catch rate -db 115 ; base exp yield -INCBIN "gfx/pokemon/front/krabby.pic",0,1 ; 55, sprite dimensions -dw KrabbyPicFront -dw KrabbyPicBack -; attacks known at lvl 0 -db BUBBLE -db LEER -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 3,6,8 - tmlearn 9,10,11,12,13,14 - tmlearn 20 - tmlearn 31,32 - tmlearn 34 - tmlearn 44 - tmlearn 50,51,53,54 -db 0 ; padding + db DEX_KRABBY ; pokedex id + + db 30, 105, 90, 50, 25 + ; hp atk def spd spc + + db WATER, WATER ; type + db 225 ; catch rate + db 115 ; base exp + + INCBIN "gfx/pokemon/front/krabby.pic", 0, 1 ; sprite dimensions + dw KrabbyPicFront, KrabbyPicBack + + db BUBBLE, LEER, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 3, 6, 8, 9, 10, 11, 12, 13, 14, 20, 31, 32, 34, 44, 50, 51, 53, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/lapras.asm b/data/pokemon/base_stats/lapras.asm index 17b80461..c7d7fb55 100644 --- a/data/pokemon/base_stats/lapras.asm +++ b/data/pokemon/base_stats/lapras.asm @@ -1,28 +1,20 @@ -db DEX_LAPRAS ; pokedex id -db 130 ; base hp -db 85 ; base attack -db 80 ; base defense -db 60 ; base speed -db 95 ; base special -db WATER ; species type 1 -db ICE ; species type 2 -db 45 ; catch rate -db 219 ; base exp yield -INCBIN "gfx/pokemon/front/lapras.pic",0,1 ; 77, sprite dimensions -dw LaprasPicFront -dw LaprasPicBack -; attacks known at lvl 0 -db WATER_GUN -db GROWL -db 0 -db 0 -db 5 ; growth rate -; learnset - tmlearn 6,7,8 - tmlearn 9,10,11,12,13,14,15 - tmlearn 20,22,23,24 - tmlearn 25,29,31,32 - tmlearn 33,34,40 - tmlearn 44,46 - tmlearn 50,53,54 -db 0 ; padding + db DEX_LAPRAS ; pokedex id + + db 130, 85, 80, 60, 95 + ; hp atk def spd spc + + db WATER, ICE ; type + db 45 ; catch rate + db 219 ; base exp + + INCBIN "gfx/pokemon/front/lapras.pic", 0, 1 ; sprite dimensions + dw LaprasPicFront, LaprasPicBack + + db WATER_GUN, GROWL, NO_MOVE, NO_MOVE ; level 1 learnset + db 5 ; growth rate + + ; tm/hm learnset + tmhm 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 20, 22, 23, 24, 25, 29, 31, 32, 33, 34, 40, 44, 46, 50, 53, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/lickitung.asm b/data/pokemon/base_stats/lickitung.asm index 5c772dd3..0d9de58c 100644 --- a/data/pokemon/base_stats/lickitung.asm +++ b/data/pokemon/base_stats/lickitung.asm @@ -1,28 +1,20 @@ -db DEX_LICKITUNG ; pokedex id -db 90 ; base hp -db 55 ; base attack -db 75 ; base defense -db 30 ; base speed -db 60 ; base special -db NORMAL ; species type 1 -db NORMAL ; species type 2 -db 45 ; catch rate -db 127 ; base exp yield -INCBIN "gfx/pokemon/front/lickitung.pic",0,1 ; 77, sprite dimensions -dw LickitungPicFront -dw LickitungPicBack -; attacks known at lvl 0 -db WRAP -db SUPERSONIC -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 1,3,5,6,8 - tmlearn 9,10,11,12,13,14,15 - tmlearn 17,18,19,20,24 - tmlearn 25,26,27,31,32 - tmlearn 34,38,40 - tmlearn 44 - tmlearn 50,51,53,54 -db 0 ; padding + db DEX_LICKITUNG ; pokedex id + + db 90, 55, 75, 30, 60 + ; hp atk def spd spc + + db NORMAL, NORMAL ; type + db 45 ; catch rate + db 127 ; base exp + + INCBIN "gfx/pokemon/front/lickitung.pic", 0, 1 ; sprite dimensions + dw LickitungPicFront, LickitungPicBack + + db WRAP, SUPERSONIC, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 1, 3, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 24, 25, 26, 27, 31, 32, 34, 38, 40, 44, 50, 51, 53, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/machamp.asm b/data/pokemon/base_stats/machamp.asm index 825766a6..9411581a 100644 --- a/data/pokemon/base_stats/machamp.asm +++ b/data/pokemon/base_stats/machamp.asm @@ -1,28 +1,20 @@ -db DEX_MACHAMP ; pokedex id -db 90 ; base hp -db 130 ; base attack -db 80 ; base defense -db 55 ; base speed -db 65 ; base special -db FIGHTING ; species type 1 -db FIGHTING ; species type 2 -db 45 ; catch rate -db 193 ; base exp yield -INCBIN "gfx/pokemon/front/machamp.pic",0,1 ; 77, sprite dimensions -dw MachampPicFront -dw MachampPicBack -; attacks known at lvl 0 -db KARATE_CHOP -db LOW_KICK -db LEER -db 0 -db 3 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,15 - tmlearn 17,18,19,20 - tmlearn 26,27,28,31,32 - tmlearn 34,35,38,40 - tmlearn 44,48 - tmlearn 50,54 -db 0 ; padding + db DEX_MACHAMP ; pokedex id + + db 90, 130, 80, 55, 65 + ; hp atk def spd spc + + db FIGHTING, FIGHTING ; type + db 45 ; catch rate + db 193 ; base exp + + INCBIN "gfx/pokemon/front/machamp.pic", 0, 1 ; sprite dimensions + dw MachampPicFront, MachampPicBack + + db KARATE_CHOP, LOW_KICK, LEER, NO_MOVE ; level 1 learnset + db 3 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 8, 9, 10, 15, 17, 18, 19, 20, 26, 27, 28, 31, 32, 34, 35, 38, 40, 44, 48, 50, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/machoke.asm b/data/pokemon/base_stats/machoke.asm index 9bc5df42..51b49a97 100644 --- a/data/pokemon/base_stats/machoke.asm +++ b/data/pokemon/base_stats/machoke.asm @@ -1,28 +1,20 @@ -db DEX_MACHOKE ; pokedex id -db 80 ; base hp -db 100 ; base attack -db 70 ; base defense -db 45 ; base speed -db 50 ; base special -db FIGHTING ; species type 1 -db FIGHTING ; species type 2 -db 90 ; catch rate -db 146 ; base exp yield -INCBIN "gfx/pokemon/front/machoke.pic",0,1 ; 77, sprite dimensions -dw MachokePicFront -dw MachokePicBack -; attacks known at lvl 0 -db KARATE_CHOP -db LOW_KICK -db LEER -db 0 -db 3 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10 - tmlearn 17,18,19,20 - tmlearn 26,27,28,31,32 - tmlearn 34,35,38,40 - tmlearn 44,48 - tmlearn 50,54 -db 0 ; padding + db DEX_MACHOKE ; pokedex id + + db 80, 100, 70, 45, 50 + ; hp atk def spd spc + + db FIGHTING, FIGHTING ; type + db 90 ; catch rate + db 146 ; base exp + + INCBIN "gfx/pokemon/front/machoke.pic", 0, 1 ; sprite dimensions + dw MachokePicFront, MachokePicBack + + db KARATE_CHOP, LOW_KICK, LEER, NO_MOVE ; level 1 learnset + db 3 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 8, 9, 10, 17, 18, 19, 20, 26, 27, 28, 31, 32, 34, 35, 38, 40, 44, 48, 50, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/machop.asm b/data/pokemon/base_stats/machop.asm index a691183a..2d34c36a 100644 --- a/data/pokemon/base_stats/machop.asm +++ b/data/pokemon/base_stats/machop.asm @@ -1,28 +1,20 @@ -db DEX_MACHOP ; pokedex id -db 70 ; base hp -db 80 ; base attack -db 50 ; base defense -db 35 ; base speed -db 35 ; base special -db FIGHTING ; species type 1 -db FIGHTING ; species type 2 -db 180 ; catch rate -db 88 ; base exp yield -INCBIN "gfx/pokemon/front/machop.pic",0,1 ; 55, sprite dimensions -dw MachopPicFront -dw MachopPicBack -; attacks known at lvl 0 -db KARATE_CHOP -db 0 -db 0 -db 0 -db 3 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10 - tmlearn 17,18,19,20 - tmlearn 26,27,28,31,32 - tmlearn 34,35,38,40 - tmlearn 44,48 - tmlearn 50,54 -db 0 ; padding + db DEX_MACHOP ; pokedex id + + db 70, 80, 50, 35, 35 + ; hp atk def spd spc + + db FIGHTING, FIGHTING ; type + db 180 ; catch rate + db 88 ; base exp + + INCBIN "gfx/pokemon/front/machop.pic", 0, 1 ; sprite dimensions + dw MachopPicFront, MachopPicBack + + db KARATE_CHOP, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset + db 3 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 8, 9, 10, 17, 18, 19, 20, 26, 27, 28, 31, 32, 34, 35, 38, 40, 44, 48, 50, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/magikarp.asm b/data/pokemon/base_stats/magikarp.asm index 5185e3f0..000b232b 100644 --- a/data/pokemon/base_stats/magikarp.asm +++ b/data/pokemon/base_stats/magikarp.asm @@ -1,28 +1,20 @@ -db DEX_MAGIKARP ; pokedex id -db 20 ; base hp -db 10 ; base attack -db 55 ; base defense -db 80 ; base speed -db 20 ; base special -db WATER ; species type 1 -db WATER ; species type 2 -db 255 ; catch rate -db 20 ; base exp yield -INCBIN "gfx/pokemon/front/magikarp.pic",0,1 ; 66, sprite dimensions -dw MagikarpPicFront -dw MagikarpPicBack -; attacks known at lvl 0 -db SPLASH -db 0 -db 0 -db 0 -db 5 ; growth rate -; learnset - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 -db 0 ; padding + db DEX_MAGIKARP ; pokedex id + + db 20, 10, 55, 80, 20 + ; hp atk def spd spc + + db WATER, WATER ; type + db 255 ; catch rate + db 20 ; base exp + + INCBIN "gfx/pokemon/front/magikarp.pic", 0, 1 ; sprite dimensions + dw MagikarpPicFront, MagikarpPicBack + + db SPLASH, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset + db 5 ; growth rate + + ; tm/hm learnset + tmhm + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/magmar.asm b/data/pokemon/base_stats/magmar.asm index b24f519c..82ef8cae 100644 --- a/data/pokemon/base_stats/magmar.asm +++ b/data/pokemon/base_stats/magmar.asm @@ -1,28 +1,20 @@ -db DEX_MAGMAR ; pokedex id -db 65 ; base hp -db 95 ; base attack -db 57 ; base defense -db 93 ; base speed -db 85 ; base special -db FIRE ; species type 1 -db FIRE ; species type 2 -db 45 ; catch rate -db 167 ; base exp yield -INCBIN "gfx/pokemon/front/magmar.pic",0,1 ; 66, sprite dimensions -dw MagmarPicFront -dw MagmarPicBack -; attacks known at lvl 0 -db EMBER -db 0 -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,15 - tmlearn 17,18,19,20 - tmlearn 29,30,31,32 - tmlearn 34,35,38,40 - tmlearn 44,46 - tmlearn 50,54 -db 0 ; padding + db DEX_MAGMAR ; pokedex id + + db 65, 95, 57, 93, 85 + ; hp atk def spd spc + + db FIRE, FIRE ; type + db 45 ; catch rate + db 167 ; base exp + + INCBIN "gfx/pokemon/front/magmar.pic", 0, 1 ; sprite dimensions + dw MagmarPicFront, MagmarPicBack + + db EMBER, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 8, 9, 10, 15, 17, 18, 19, 20, 29, 30, 31, 32, 34, 35, 38, 40, 44, 46, 50, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/magnemite.asm b/data/pokemon/base_stats/magnemite.asm index f7fe0b00..38707e1a 100644 --- a/data/pokemon/base_stats/magnemite.asm +++ b/data/pokemon/base_stats/magnemite.asm @@ -1,28 +1,20 @@ -db DEX_MAGNEMITE ; pokedex id -db 25 ; base hp -db 35 ; base attack -db 70 ; base defense -db 45 ; base speed -db 95 ; base special -db ELECTRIC ; species type 1 -db ELECTRIC ; species type 2 -db 190 ; catch rate -db 89 ; base exp yield -INCBIN "gfx/pokemon/front/magnemite.pic",0,1 ; 55, sprite dimensions -dw MagnemitePicFront -dw MagnemitePicBack -; attacks known at lvl 0 -db TACKLE -db 0 -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 6 - tmlearn 9,10 - tmlearn 20,24 - tmlearn 25,30,31,32 - tmlearn 33,34,39 - tmlearn 44,45 - tmlearn 50,55 -db 0 ; padding + db DEX_MAGNEMITE ; pokedex id + + db 25, 35, 70, 45, 95 + ; hp atk def spd spc + + db ELECTRIC, ELECTRIC ; type + db 190 ; catch rate + db 89 ; base exp + + INCBIN "gfx/pokemon/front/magnemite.pic", 0, 1 ; sprite dimensions + dw MagnemitePicFront, MagnemitePicBack + + db TACKLE, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 6, 9, 10, 20, 24, 25, 30, 31, 32, 33, 34, 39, 44, 45, 50, 55 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/magneton.asm b/data/pokemon/base_stats/magneton.asm index 7c32d059..18faa5af 100644 --- a/data/pokemon/base_stats/magneton.asm +++ b/data/pokemon/base_stats/magneton.asm @@ -1,28 +1,20 @@ -db DEX_MAGNETON ; pokedex id -db 50 ; base hp -db 60 ; base attack -db 95 ; base defense -db 70 ; base speed -db 120 ; base special -db ELECTRIC ; species type 1 -db ELECTRIC ; species type 2 -db 60 ; catch rate -db 161 ; base exp yield -INCBIN "gfx/pokemon/front/magneton.pic",0,1 ; 66, sprite dimensions -dw MagnetonPicFront -dw MagnetonPicBack -; attacks known at lvl 0 -db TACKLE -db SONICBOOM -db THUNDERSHOCK -db 0 -db 0 ; growth rate -; learnset - tmlearn 6 - tmlearn 9,10,15 - tmlearn 20,24 - tmlearn 25,30,31,32 - tmlearn 33,34,39 - tmlearn 44,45 - tmlearn 50,55 -db 0 ; padding + db DEX_MAGNETON ; pokedex id + + db 50, 60, 95, 70, 120 + ; hp atk def spd spc + + db ELECTRIC, ELECTRIC ; type + db 60 ; catch rate + db 161 ; base exp + + INCBIN "gfx/pokemon/front/magneton.pic", 0, 1 ; sprite dimensions + dw MagnetonPicFront, MagnetonPicBack + + db TACKLE, SONICBOOM, THUNDERSHOCK, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 6, 9, 10, 15, 20, 24, 25, 30, 31, 32, 33, 34, 39, 44, 45, 50, 55 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/mankey.asm b/data/pokemon/base_stats/mankey.asm index 07b961c5..373b21fd 100644 --- a/data/pokemon/base_stats/mankey.asm +++ b/data/pokemon/base_stats/mankey.asm @@ -1,28 +1,20 @@ -db DEX_MANKEY ; pokedex id -db 40 ; base hp -db 80 ; base attack -db 35 ; base defense -db 70 ; base speed -db 35 ; base special -db FIGHTING ; species type 1 -db FIGHTING ; species type 2 -db 190 ; catch rate -db 74 ; base exp yield -INCBIN "gfx/pokemon/front/mankey.pic",0,1 ; 55, sprite dimensions -dw MankeyPicFront -dw MankeyPicBack -; attacks known at lvl 0 -db SCRATCH -db LEER -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,16 - tmlearn 17,18,19,20,24 - tmlearn 25,28,31,32 - tmlearn 34,35,39,40 - tmlearn 44,48 - tmlearn 50,54 -db 0 ; padding + db DEX_MANKEY ; pokedex id + + db 40, 80, 35, 70, 35 + ; hp atk def spd spc + + db FIGHTING, FIGHTING ; type + db 190 ; catch rate + db 74 ; base exp + + INCBIN "gfx/pokemon/front/mankey.pic", 0, 1 ; sprite dimensions + dw MankeyPicFront, MankeyPicBack + + db SCRATCH, LEER, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 8, 9, 10, 16, 17, 18, 19, 20, 24, 25, 28, 31, 32, 34, 35, 39, 40, 44, 48, 50, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/marowak.asm b/data/pokemon/base_stats/marowak.asm index a2c5a4c6..183992e6 100644 --- a/data/pokemon/base_stats/marowak.asm +++ b/data/pokemon/base_stats/marowak.asm @@ -1,28 +1,20 @@ -db DEX_MAROWAK ; pokedex id -db 60 ; base hp -db 80 ; base attack -db 110 ; base defense -db 45 ; base speed -db 50 ; base special -db GROUND ; species type 1 -db GROUND ; species type 2 -db 75 ; catch rate -db 124 ; base exp yield -INCBIN "gfx/pokemon/front/marowak.pic",0,1 ; 66, sprite dimensions -dw MarowakPicFront -dw MarowakPicBack -; attacks known at lvl 0 -db BONE_CLUB -db GROWL -db LEER -db FOCUS_ENERGY -db 0 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,11,12,13,14,15 - tmlearn 17,18,19,20 - tmlearn 26,27,28,31,32 - tmlearn 34,38,40 - tmlearn 44 - tmlearn 50,54 -db 0 ; padding + db DEX_MAROWAK ; pokedex id + + db 60, 80, 110, 45, 50 + ; hp atk def spd spc + + db GROUND, GROUND ; type + db 75 ; catch rate + db 124 ; base exp + + INCBIN "gfx/pokemon/front/marowak.pic", 0, 1 ; sprite dimensions + dw MarowakPicFront, MarowakPicBack + + db BONE_CLUB, GROWL, LEER, FOCUS_ENERGY ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 26, 27, 28, 31, 32, 34, 38, 40, 44, 50, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/meowth.asm b/data/pokemon/base_stats/meowth.asm index aa1904ba..8a74d1d3 100644 --- a/data/pokemon/base_stats/meowth.asm +++ b/data/pokemon/base_stats/meowth.asm @@ -1,28 +1,20 @@ -db DEX_MEOWTH ; pokedex id -db 40 ; base hp -db 45 ; base attack -db 35 ; base defense -db 90 ; base speed -db 40 ; base special -db NORMAL ; species type 1 -db NORMAL ; species type 2 -db 255 ; catch rate -db 69 ; base exp yield -INCBIN "gfx/pokemon/front/meowth.pic",0,1 ; 55, sprite dimensions -dw MeowthPicFront -dw MeowthPicBack -; attacks known at lvl 0 -db SCRATCH -db GROWL -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10,11,12,16 - tmlearn 20,24 - tmlearn 25,31,32 - tmlearn 34,39,40 - tmlearn 44 - tmlearn 50 -db 0 ; padding + db DEX_MEOWTH ; pokedex id + + db 40, 45, 35, 90, 40 + ; hp atk def spd spc + + db NORMAL, NORMAL ; type + db 255 ; catch rate + db 69 ; base exp + + INCBIN "gfx/pokemon/front/meowth.pic", 0, 1 ; sprite dimensions + dw MeowthPicFront, MeowthPicBack + + db SCRATCH, GROWL, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 6, 8, 9, 10, 11, 12, 16, 20, 24, 25, 31, 32, 34, 39, 40, 44, 50 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/metapod.asm b/data/pokemon/base_stats/metapod.asm index cf4f52b7..c1845d22 100644 --- a/data/pokemon/base_stats/metapod.asm +++ b/data/pokemon/base_stats/metapod.asm @@ -1,28 +1,20 @@ -db DEX_METAPOD ; pokedex id -db 50 ; base hp -db 20 ; base attack -db 55 ; base defense -db 30 ; base speed -db 25 ; base special -db BUG ; species type 1 -db BUG ; species type 2 -db 120 ; catch rate -db 72 ; base exp yield -INCBIN "gfx/pokemon/front/metapod.pic",0,1 ; 55, sprite dimensions -dw MetapodPicFront -dw MetapodPicBack -; attacks known at lvl 0 -db HARDEN -db 0 -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 -db 0 ; padding + db DEX_METAPOD ; pokedex id + + db 50, 20, 55, 30, 25 + ; hp atk def spd spc + + db BUG, BUG ; type + db 120 ; catch rate + db 72 ; base exp + + INCBIN "gfx/pokemon/front/metapod.pic", 0, 1 ; sprite dimensions + dw MetapodPicFront, MetapodPicBack + + db HARDEN, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/mew.asm b/data/pokemon/base_stats/mew.asm index f89a2864..b114c7d7 100644 --- a/data/pokemon/base_stats/mew.asm +++ b/data/pokemon/base_stats/mew.asm @@ -1,29 +1,20 @@ -MewBaseStats:: -db DEX_MEW ; pokedex id -db 100 ; base hp -db 100 ; base attack -db 100 ; base defense -db 100 ; base speed -db 100 ; base special -db PSYCHIC ; species type 1 -db PSYCHIC ; species type 2 -db 45 ; catch rate -db 64 ; base exp yield -INCBIN "gfx/pokemon/front/mew.pic",0,1 ; 55, sprite dimensions -dw MewPicFront -dw MewPicBack -; attacks known at lvl 0 -db POUND -db 0 -db 0 -db 0 -db 3 ; growth rate -; learnset - tmlearn 1,2,3,4,5,6,7,8 - tmlearn 9,10,11,12,13,14,15,16 - tmlearn 17,18,19,20,21,22,23,24 - tmlearn 25,26,27,28,29,30,31,32 - tmlearn 33,34,35,36,37,38,39,40 - tmlearn 41,42,43,44,45,46,47,48 - tmlearn 49,50,51,52,53,54,55,56 -db %11111111 ; usually spacing + db DEX_MEW ; pokedex id + + db 100, 100, 100, 100, 100 + ; hp atk def spd spc + + db PSYCHIC, PSYCHIC ; type + db 45 ; catch rate + db 64 ; base exp + + INCBIN "gfx/pokemon/front/mew.pic", 0, 1 ; sprite dimensions + dw MewPicFront, MewPicBack + + db POUND, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset + db 3 ; growth rate + + ; tm/hm learnset + tmhm 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56 + ; end + + db %11111111 ; padding diff --git a/data/pokemon/base_stats/mewtwo.asm b/data/pokemon/base_stats/mewtwo.asm index 6e85291d..d69d6890 100644 --- a/data/pokemon/base_stats/mewtwo.asm +++ b/data/pokemon/base_stats/mewtwo.asm @@ -1,28 +1,20 @@ -db DEX_MEWTWO ; pokedex id -db 106 ; base hp -db 110 ; base attack -db 90 ; base defense -db 130 ; base speed -db 154 ; base special -db PSYCHIC ; species type 1 -db PSYCHIC ; species type 2 -db 3 ; catch rate -db 220 ; base exp yield -INCBIN "gfx/pokemon/front/mewtwo.pic",0,1 ; 77, sprite dimensions -dw MewtwoPicFront -dw MewtwoPicBack -; attacks known at lvl 0 -db CONFUSION -db DISABLE -db SWIFT -db PSYCHIC_M -db 5 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,11,12,13,14,15,16 - tmlearn 17,18,19,20,22,24 - tmlearn 25,29,30,31,32 - tmlearn 33,34,35,36,38,40 - tmlearn 44,45,46 - tmlearn 49,50,54,55 -db 0 ; padding + db DEX_MEWTWO ; pokedex id + + db 106, 110, 90, 130, 154 + ; hp atk def spd spc + + db PSYCHIC, PSYCHIC ; type + db 3 ; catch rate + db 220 ; base exp + + INCBIN "gfx/pokemon/front/mewtwo.pic", 0, 1 ; sprite dimensions + dw MewtwoPicFront, MewtwoPicBack + + db CONFUSION, DISABLE, SWIFT, PSYCHIC_M ; level 1 learnset + db 5 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 24, 25, 29, 30, 31, 32, 33, 34, 35, 36, 38, 40, 44, 45, 46, 49, 50, 54, 55 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/moltres.asm b/data/pokemon/base_stats/moltres.asm index 4c54cf44..d701d937 100644 --- a/data/pokemon/base_stats/moltres.asm +++ b/data/pokemon/base_stats/moltres.asm @@ -1,28 +1,20 @@ -db DEX_MOLTRES ; pokedex id -db 90 ; base hp -db 100 ; base attack -db 90 ; base defense -db 90 ; base speed -db 125 ; base special -db FIRE ; species type 1 -db FLYING ; species type 2 -db 3 ; catch rate -db 217 ; base exp yield -INCBIN "gfx/pokemon/front/moltres.pic",0,1 ; 77, sprite dimensions -dw MoltresPicFront -dw MoltresPicBack -; attacks known at lvl 0 -db PECK -db FIRE_SPIN -db 0 -db 0 -db 5 ; growth rate -; learnset - tmlearn 2,4,6 - tmlearn 9,10,15 - tmlearn 20 - tmlearn 31,32 - tmlearn 33,34,38,39 - tmlearn 43,44 - tmlearn 50,52 -db 0 ; padding + db DEX_MOLTRES ; pokedex id + + db 90, 100, 90, 90, 125 + ; hp atk def spd spc + + db FIRE, FLYING ; type + db 3 ; catch rate + db 217 ; base exp + + INCBIN "gfx/pokemon/front/moltres.pic", 0, 1 ; sprite dimensions + dw MoltresPicFront, MoltresPicBack + + db PECK, FIRE_SPIN, NO_MOVE, NO_MOVE ; level 1 learnset + db 5 ; growth rate + + ; tm/hm learnset + tmhm 2, 4, 6, 9, 10, 15, 20, 31, 32, 33, 34, 38, 39, 43, 44, 50, 52 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/mrmime.asm b/data/pokemon/base_stats/mrmime.asm index 95f2655a..7f776523 100644 --- a/data/pokemon/base_stats/mrmime.asm +++ b/data/pokemon/base_stats/mrmime.asm @@ -1,28 +1,20 @@ -db DEX_MR_MIME ; pokedex id -db 40 ; base hp -db 45 ; base attack -db 65 ; base defense -db 90 ; base speed -db 100 ; base special -db PSYCHIC ; species type 1 -db PSYCHIC ; species type 2 -db 45 ; catch rate -db 136 ; base exp yield -INCBIN "gfx/pokemon/front/mr.mime.pic",0,1 ; 66, sprite dimensions -dw MrMimePicFront -dw MrMimePicBack -; attacks known at lvl 0 -db CONFUSION -db BARRIER -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,15 - tmlearn 17,18,19,20,22,24 - tmlearn 25,29,30,31,32 - tmlearn 33,34,35,40 - tmlearn 44,45,46 - tmlearn 50,55 -db 0 ; padding + db DEX_MR_MIME ; pokedex id + + db 40, 45, 65, 90, 100 + ; hp atk def spd spc + + db PSYCHIC, PSYCHIC ; type + db 45 ; catch rate + db 136 ; base exp + + INCBIN "gfx/pokemon/front/mr.mime.pic", 0, 1 ; sprite dimensions + dw MrMimePicFront, MrMimePicBack + + db CONFUSION, BARRIER, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 8, 9, 10, 15, 17, 18, 19, 20, 22, 24, 25, 29, 30, 31, 32, 33, 34, 35, 40, 44, 45, 46, 50, 55 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/muk.asm b/data/pokemon/base_stats/muk.asm index 45f7921f..6891afcb 100644 --- a/data/pokemon/base_stats/muk.asm +++ b/data/pokemon/base_stats/muk.asm @@ -1,28 +1,20 @@ -db DEX_MUK ; pokedex id -db 105 ; base hp -db 105 ; base attack -db 75 ; base defense -db 50 ; base speed -db 65 ; base special -db POISON ; species type 1 -db POISON ; species type 2 -db 75 ; catch rate -db 157 ; base exp yield -INCBIN "gfx/pokemon/front/muk.pic",0,1 ; 77, sprite dimensions -dw MukPicFront -dw MukPicBack -; attacks known at lvl 0 -db POUND -db DISABLE -db POISON_GAS -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 15 - tmlearn 20,21,24 - tmlearn 25,31,32 - tmlearn 34,36,38 - tmlearn 44,47 - tmlearn 50 -db 0 ; padding + db DEX_MUK ; pokedex id + + db 105, 105, 75, 50, 65 + ; hp atk def spd spc + + db POISON, POISON ; type + db 75 ; catch rate + db 157 ; base exp + + INCBIN "gfx/pokemon/front/muk.pic", 0, 1 ; sprite dimensions + dw MukPicFront, MukPicBack + + db POUND, DISABLE, POISON_GAS, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 6, 8, 15, 20, 21, 24, 25, 31, 32, 34, 36, 38, 44, 47, 50 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/nidoking.asm b/data/pokemon/base_stats/nidoking.asm index 7d5ff438..92118c2f 100644 --- a/data/pokemon/base_stats/nidoking.asm +++ b/data/pokemon/base_stats/nidoking.asm @@ -1,28 +1,20 @@ -db DEX_NIDOKING ; pokedex id -db 81 ; base hp -db 92 ; base attack -db 77 ; base defense -db 85 ; base speed -db 75 ; base special -db POISON ; species type 1 -db GROUND ; species type 2 -db 45 ; catch rate -db 195 ; base exp yield -INCBIN "gfx/pokemon/front/nidoking.pic",0,1 ; 77, sprite dimensions -dw NidokingPicFront -dw NidokingPicBack -; attacks known at lvl 0 -db TACKLE -db HORN_ATTACK -db POISON_STING -db THRASH -db 3 ; growth rate -; learnset - tmlearn 1,5,6,7,8 - tmlearn 9,10,11,12,13,14,15,16 - tmlearn 17,18,19,20,24 - tmlearn 25,26,27,31,32 - tmlearn 33,34,38,40 - tmlearn 44,48 - tmlearn 50,53,54 -db 0 ; padding + db DEX_NIDOKING ; pokedex id + + db 81, 92, 77, 85, 75 + ; hp atk def spd spc + + db POISON, GROUND ; type + db 45 ; catch rate + db 195 ; base exp + + INCBIN "gfx/pokemon/front/nidoking.pic", 0, 1 ; sprite dimensions + dw NidokingPicFront, NidokingPicBack + + db TACKLE, HORN_ATTACK, POISON_STING, THRASH ; level 1 learnset + db 3 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 24, 25, 26, 27, 31, 32, 33, 34, 38, 40, 44, 48, 50, 53, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/nidoqueen.asm b/data/pokemon/base_stats/nidoqueen.asm index 9b635e3e..6d11434b 100644 --- a/data/pokemon/base_stats/nidoqueen.asm +++ b/data/pokemon/base_stats/nidoqueen.asm @@ -1,28 +1,20 @@ -db DEX_NIDOQUEEN ; pokedex id -db 90 ; base hp -db 82 ; base attack -db 87 ; base defense -db 76 ; base speed -db 75 ; base special -db POISON ; species type 1 -db GROUND ; species type 2 -db 45 ; catch rate -db 194 ; base exp yield -INCBIN "gfx/pokemon/front/nidoqueen.pic",0,1 ; 77, sprite dimensions -dw NidoqueenPicFront -dw NidoqueenPicBack -; attacks known at lvl 0 -db TACKLE -db SCRATCH -db TAIL_WHIP -db BODY_SLAM -db 3 ; growth rate -; learnset - tmlearn 1,5,6,7,8 - tmlearn 9,10,11,12,13,14,15,16 - tmlearn 17,18,19,20,24 - tmlearn 25,26,27,31,32 - tmlearn 33,34,38,40 - tmlearn 44,48 - tmlearn 50,53,54 -db 0 ; padding + db DEX_NIDOQUEEN ; pokedex id + + db 90, 82, 87, 76, 75 + ; hp atk def spd spc + + db POISON, GROUND ; type + db 45 ; catch rate + db 194 ; base exp + + INCBIN "gfx/pokemon/front/nidoqueen.pic", 0, 1 ; sprite dimensions + dw NidoqueenPicFront, NidoqueenPicBack + + db TACKLE, SCRATCH, TAIL_WHIP, BODY_SLAM ; level 1 learnset + db 3 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 24, 25, 26, 27, 31, 32, 33, 34, 38, 40, 44, 48, 50, 53, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/nidoranf.asm b/data/pokemon/base_stats/nidoranf.asm index f58e971d..e2dac3a2 100644 --- a/data/pokemon/base_stats/nidoranf.asm +++ b/data/pokemon/base_stats/nidoranf.asm @@ -1,28 +1,20 @@ -db DEX_NIDORAN_F ; pokedex id -db 55 ; base hp -db 47 ; base attack -db 52 ; base defense -db 41 ; base speed -db 40 ; base special -db POISON ; species type 1 -db POISON ; species type 2 -db 235 ; catch rate -db 59 ; base exp yield -INCBIN "gfx/pokemon/front/nidoranf.pic",0,1 ; 55, sprite dimensions -dw NidoranFPicFront -dw NidoranFPicBack -; attacks known at lvl 0 -db GROWL -db TACKLE -db 0 -db 0 -db 3 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10,14 - tmlearn 20,24 - tmlearn 25,31,32 - tmlearn 33,34,40 - tmlearn 44 - tmlearn 50 -db 0 ; padding + db DEX_NIDORAN_F ; pokedex id + + db 55, 47, 52, 41, 40 + ; hp atk def spd spc + + db POISON, POISON ; type + db 235 ; catch rate + db 59 ; base exp + + INCBIN "gfx/pokemon/front/nidoranf.pic", 0, 1 ; sprite dimensions + dw NidoranFPicFront, NidoranFPicBack + + db GROWL, TACKLE, NO_MOVE, NO_MOVE ; level 1 learnset + db 3 ; growth rate + + ; tm/hm learnset + tmhm 6, 8, 9, 10, 14, 20, 24, 25, 31, 32, 33, 34, 40, 44, 50 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/nidoranm.asm b/data/pokemon/base_stats/nidoranm.asm index 2c5374ba..fb562990 100644 --- a/data/pokemon/base_stats/nidoranm.asm +++ b/data/pokemon/base_stats/nidoranm.asm @@ -1,28 +1,20 @@ -db DEX_NIDORAN_M ; pokedex id -db 46 ; base hp -db 57 ; base attack -db 40 ; base defense -db 50 ; base speed -db 40 ; base special -db POISON ; species type 1 -db POISON ; species type 2 -db 235 ; catch rate -db 60 ; base exp yield -INCBIN "gfx/pokemon/front/nidoranm.pic",0,1 ; 55, sprite dimensions -dw NidoranMPicFront -dw NidoranMPicBack -; attacks known at lvl 0 -db LEER -db TACKLE -db 0 -db 0 -db 3 ; growth rate -; learnset - tmlearn 6,7,8 - tmlearn 9,10,14 - tmlearn 20,24 - tmlearn 25,31,32 - tmlearn 33,34,40 - tmlearn 44 - tmlearn 50 -db 0 ; padding + db DEX_NIDORAN_M ; pokedex id + + db 46, 57, 40, 50, 40 + ; hp atk def spd spc + + db POISON, POISON ; type + db 235 ; catch rate + db 60 ; base exp + + INCBIN "gfx/pokemon/front/nidoranm.pic", 0, 1 ; sprite dimensions + dw NidoranMPicFront, NidoranMPicBack + + db LEER, TACKLE, NO_MOVE, NO_MOVE ; level 1 learnset + db 3 ; growth rate + + ; tm/hm learnset + tmhm 6, 7, 8, 9, 10, 14, 20, 24, 25, 31, 32, 33, 34, 40, 44, 50 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/nidorina.asm b/data/pokemon/base_stats/nidorina.asm index ae7681c4..8a28d677 100644 --- a/data/pokemon/base_stats/nidorina.asm +++ b/data/pokemon/base_stats/nidorina.asm @@ -1,28 +1,20 @@ -db DEX_NIDORINA ; pokedex id -db 70 ; base hp -db 62 ; base attack -db 67 ; base defense -db 56 ; base speed -db 55 ; base special -db POISON ; species type 1 -db POISON ; species type 2 -db 120 ; catch rate -db 117 ; base exp yield -INCBIN "gfx/pokemon/front/nidorina.pic",0,1 ; 66, sprite dimensions -dw NidorinaPicFront -dw NidorinaPicBack -; attacks known at lvl 0 -db GROWL -db TACKLE -db SCRATCH -db 0 -db 3 ; growth rate -; learnset - tmlearn 6,7,8 - tmlearn 9,10,11,12,13,14 - tmlearn 20,24 - tmlearn 25,31,32 - tmlearn 33,34,40 - tmlearn 44 - tmlearn 50 -db 0 ; padding + db DEX_NIDORINA ; pokedex id + + db 70, 62, 67, 56, 55 + ; hp atk def spd spc + + db POISON, POISON ; type + db 120 ; catch rate + db 117 ; base exp + + INCBIN "gfx/pokemon/front/nidorina.pic", 0, 1 ; sprite dimensions + dw NidorinaPicFront, NidorinaPicBack + + db GROWL, TACKLE, SCRATCH, NO_MOVE ; level 1 learnset + db 3 ; growth rate + + ; tm/hm learnset + tmhm 6, 7, 8, 9, 10, 11, 12, 13, 14, 20, 24, 25, 31, 32, 33, 34, 40, 44, 50 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/nidorino.asm b/data/pokemon/base_stats/nidorino.asm index c9c87c25..9bc09bef 100644 --- a/data/pokemon/base_stats/nidorino.asm +++ b/data/pokemon/base_stats/nidorino.asm @@ -1,28 +1,20 @@ -db DEX_NIDORINO ; pokedex id -db 61 ; base hp -db 72 ; base attack -db 57 ; base defense -db 65 ; base speed -db 55 ; base special -db POISON ; species type 1 -db POISON ; species type 2 -db 120 ; catch rate -db 118 ; base exp yield -INCBIN "gfx/pokemon/front/nidorino.pic",0,1 ; 66, sprite dimensions -dw NidorinoPicFront -dw NidorinoPicBack -; attacks known at lvl 0 -db LEER -db TACKLE -db HORN_ATTACK -db 0 -db 3 ; growth rate -; learnset - tmlearn 6,7,8 - tmlearn 9,10,11,12,13,14 - tmlearn 20,24 - tmlearn 25,31,32 - tmlearn 33,34,40 - tmlearn 44 - tmlearn 50 -db 0 ; padding + db DEX_NIDORINO ; pokedex id + + db 61, 72, 57, 65, 55 + ; hp atk def spd spc + + db POISON, POISON ; type + db 120 ; catch rate + db 118 ; base exp + + INCBIN "gfx/pokemon/front/nidorino.pic", 0, 1 ; sprite dimensions + dw NidorinoPicFront, NidorinoPicBack + + db LEER, TACKLE, HORN_ATTACK, NO_MOVE ; level 1 learnset + db 3 ; growth rate + + ; tm/hm learnset + tmhm 6, 7, 8, 9, 10, 11, 12, 13, 14, 20, 24, 25, 31, 32, 33, 34, 40, 44, 50 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/ninetales.asm b/data/pokemon/base_stats/ninetales.asm index 88d95329..4a1f8b00 100644 --- a/data/pokemon/base_stats/ninetales.asm +++ b/data/pokemon/base_stats/ninetales.asm @@ -1,28 +1,20 @@ -db DEX_NINETALES ; pokedex id -db 73 ; base hp -db 76 ; base attack -db 75 ; base defense -db 100 ; base speed -db 100 ; base special -db FIRE ; species type 1 -db FIRE ; species type 2 -db 75 ; catch rate -db 178 ; base exp yield -INCBIN "gfx/pokemon/front/ninetales.pic",0,1 ; 77, sprite dimensions -dw NinetalesPicFront -dw NinetalesPicBack -; attacks known at lvl 0 -db EMBER -db TAIL_WHIP -db QUICK_ATTACK -db ROAR -db 0 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10,15 - tmlearn 20 - tmlearn 28,31,32 - tmlearn 33,34,38,39,40 - tmlearn 44 - tmlearn 50 -db 0 ; padding + db DEX_NINETALES ; pokedex id + + db 73, 76, 75, 100, 100 + ; hp atk def spd spc + + db FIRE, FIRE ; type + db 75 ; catch rate + db 178 ; base exp + + INCBIN "gfx/pokemon/front/ninetales.pic", 0, 1 ; sprite dimensions + dw NinetalesPicFront, NinetalesPicBack + + db EMBER, TAIL_WHIP, QUICK_ATTACK, ROAR ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 6, 8, 9, 10, 15, 20, 28, 31, 32, 33, 34, 38, 39, 40, 44, 50 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/oddish.asm b/data/pokemon/base_stats/oddish.asm index d0309427..5fba3fc2 100644 --- a/data/pokemon/base_stats/oddish.asm +++ b/data/pokemon/base_stats/oddish.asm @@ -1,28 +1,20 @@ -db DEX_ODDISH ; pokedex id -db 45 ; base hp -db 50 ; base attack -db 55 ; base defense -db 30 ; base speed -db 75 ; base special -db GRASS ; species type 1 -db POISON ; species type 2 -db 255 ; catch rate -db 78 ; base exp yield -INCBIN "gfx/pokemon/front/oddish.pic",0,1 ; 55, sprite dimensions -dw OddishPicFront -dw OddishPicBack -; attacks known at lvl 0 -db ABSORB -db 0 -db 0 -db 0 -db 3 ; growth rate -; learnset - tmlearn 3,6 - tmlearn 9,10 - tmlearn 20,21,22 - tmlearn 31,32 - tmlearn 33,34 - tmlearn 44 - tmlearn 50,51 -db 0 ; padding + db DEX_ODDISH ; pokedex id + + db 45, 50, 55, 30, 75 + ; hp atk def spd spc + + db GRASS, POISON ; type + db 255 ; catch rate + db 78 ; base exp + + INCBIN "gfx/pokemon/front/oddish.pic", 0, 1 ; sprite dimensions + dw OddishPicFront, OddishPicBack + + db ABSORB, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset + db 3 ; growth rate + + ; tm/hm learnset + tmhm 3, 6, 9, 10, 20, 21, 22, 31, 32, 33, 34, 44, 50, 51 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/omanyte.asm b/data/pokemon/base_stats/omanyte.asm index 33541539..fa3481de 100644 --- a/data/pokemon/base_stats/omanyte.asm +++ b/data/pokemon/base_stats/omanyte.asm @@ -1,28 +1,20 @@ -db DEX_OMANYTE ; pokedex id -db 35 ; base hp -db 40 ; base attack -db 100 ; base defense -db 35 ; base speed -db 90 ; base special -db ROCK ; species type 1 -db WATER ; species type 2 -db 45 ; catch rate -db 120 ; base exp yield -INCBIN "gfx/pokemon/front/omanyte.pic",0,1 ; 55, sprite dimensions -dw OmanytePicFront -dw OmanytePicBack -; attacks known at lvl 0 -db WATER_GUN -db WITHDRAW -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10,11,12,13,14 - tmlearn 20 - tmlearn 31,32 - tmlearn 33,34 - tmlearn 44 - tmlearn 50,53 -db 0 ; padding + db DEX_OMANYTE ; pokedex id + + db 35, 40, 100, 35, 90 + ; hp atk def spd spc + + db ROCK, WATER ; type + db 45 ; catch rate + db 120 ; base exp + + INCBIN "gfx/pokemon/front/omanyte.pic", 0, 1 ; sprite dimensions + dw OmanytePicFront, OmanytePicBack + + db WATER_GUN, WITHDRAW, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 6, 8, 9, 10, 11, 12, 13, 14, 20, 31, 32, 33, 34, 44, 50, 53 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/omastar.asm b/data/pokemon/base_stats/omastar.asm index dfd5c7a2..dfa034f9 100644 --- a/data/pokemon/base_stats/omastar.asm +++ b/data/pokemon/base_stats/omastar.asm @@ -1,28 +1,20 @@ -db DEX_OMASTAR ; pokedex id -db 70 ; base hp -db 60 ; base attack -db 125 ; base defense -db 55 ; base speed -db 115 ; base special -db ROCK ; species type 1 -db WATER ; species type 2 -db 45 ; catch rate -db 199 ; base exp yield -INCBIN "gfx/pokemon/front/omastar.pic",0,1 ; 66, sprite dimensions -dw OmastarPicFront -dw OmastarPicBack -; attacks known at lvl 0 -db WATER_GUN -db WITHDRAW -db HORN_ATTACK -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,7,8 - tmlearn 9,10,11,12,13,14,15 - tmlearn 17,19,20 - tmlearn 31,32 - tmlearn 33,34,40 - tmlearn 44 - tmlearn 50,53 -db 0 ; padding + db DEX_OMASTAR ; pokedex id + + db 70, 60, 125, 55, 115 + ; hp atk def spd spc + + db ROCK, WATER ; type + db 45 ; catch rate + db 199 ; base exp + + INCBIN "gfx/pokemon/front/omastar.pic", 0, 1 ; sprite dimensions + dw OmastarPicFront, OmastarPicBack + + db WATER_GUN, WITHDRAW, HORN_ATTACK, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19, 20, 31, 32, 33, 34, 40, 44, 50, 53 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/onix.asm b/data/pokemon/base_stats/onix.asm index a0ad840e..90c0ffdd 100644 --- a/data/pokemon/base_stats/onix.asm +++ b/data/pokemon/base_stats/onix.asm @@ -1,28 +1,20 @@ -db DEX_ONIX ; pokedex id -db 35 ; base hp -db 45 ; base attack -db 160 ; base defense -db 70 ; base speed -db 30 ; base special -db ROCK ; species type 1 -db GROUND ; species type 2 -db 45 ; catch rate -db 108 ; base exp yield -INCBIN "gfx/pokemon/front/onix.pic",0,1 ; 77, sprite dimensions -dw OnixPicFront -dw OnixPicBack -; attacks known at lvl 0 -db TACKLE -db SCREECH -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10 - tmlearn 20 - tmlearn 26,27,28,31,32 - tmlearn 34,36,40 - tmlearn 44,47,48 - tmlearn 50,54 -db 0 ; padding + db DEX_ONIX ; pokedex id + + db 35, 45, 160, 70, 30 + ; hp atk def spd spc + + db ROCK, GROUND ; type + db 45 ; catch rate + db 108 ; base exp + + INCBIN "gfx/pokemon/front/onix.pic", 0, 1 ; sprite dimensions + dw OnixPicFront, OnixPicBack + + db TACKLE, SCREECH, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 6, 8, 9, 10, 20, 26, 27, 28, 31, 32, 34, 36, 40, 44, 47, 48, 50, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/paras.asm b/data/pokemon/base_stats/paras.asm index 47d2d490..f8bac0f0 100644 --- a/data/pokemon/base_stats/paras.asm +++ b/data/pokemon/base_stats/paras.asm @@ -1,28 +1,20 @@ -db DEX_PARAS ; pokedex id -db 35 ; base hp -db 70 ; base attack -db 55 ; base defense -db 25 ; base speed -db 55 ; base special -db BUG ; species type 1 -db GRASS ; species type 2 -db 190 ; catch rate -db 70 ; base exp yield -INCBIN "gfx/pokemon/front/paras.pic",0,1 ; 55, sprite dimensions -dw ParasPicFront -dw ParasPicBack -; attacks known at lvl 0 -db SCRATCH -db 0 -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 3,6,8 - tmlearn 9,10 - tmlearn 20,21,22 - tmlearn 28,31,32 - tmlearn 33,34,40 - tmlearn 44 - tmlearn 50,51 -db 0 ; padding + db DEX_PARAS ; pokedex id + + db 35, 70, 55, 25, 55 + ; hp atk def spd spc + + db BUG, GRASS ; type + db 190 ; catch rate + db 70 ; base exp + + INCBIN "gfx/pokemon/front/paras.pic", 0, 1 ; sprite dimensions + dw ParasPicFront, ParasPicBack + + db SCRATCH, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 3, 6, 8, 9, 10, 20, 21, 22, 28, 31, 32, 33, 34, 40, 44, 50, 51 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/parasect.asm b/data/pokemon/base_stats/parasect.asm index 8e39c90e..584024c3 100644 --- a/data/pokemon/base_stats/parasect.asm +++ b/data/pokemon/base_stats/parasect.asm @@ -1,28 +1,20 @@ -db DEX_PARASECT ; pokedex id -db 60 ; base hp -db 95 ; base attack -db 80 ; base defense -db 30 ; base speed -db 80 ; base special -db BUG ; species type 1 -db GRASS ; species type 2 -db 75 ; catch rate -db 128 ; base exp yield -INCBIN "gfx/pokemon/front/parasect.pic",0,1 ; 77, sprite dimensions -dw ParasectPicFront -dw ParasectPicBack -; attacks known at lvl 0 -db SCRATCH -db STUN_SPORE -db LEECH_LIFE -db 0 -db 0 ; growth rate -; learnset - tmlearn 3,6,8 - tmlearn 9,10,15 - tmlearn 20,21,22 - tmlearn 28,31,32 - tmlearn 33,34,40 - tmlearn 44 - tmlearn 50,51 -db 0 ; padding + db DEX_PARASECT ; pokedex id + + db 60, 95, 80, 30, 80 + ; hp atk def spd spc + + db BUG, GRASS ; type + db 75 ; catch rate + db 128 ; base exp + + INCBIN "gfx/pokemon/front/parasect.pic", 0, 1 ; sprite dimensions + dw ParasectPicFront, ParasectPicBack + + db SCRATCH, STUN_SPORE, LEECH_LIFE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 3, 6, 8, 9, 10, 15, 20, 21, 22, 28, 31, 32, 33, 34, 40, 44, 50, 51 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/persian.asm b/data/pokemon/base_stats/persian.asm index 40a9d70c..0cdf7925 100644 --- a/data/pokemon/base_stats/persian.asm +++ b/data/pokemon/base_stats/persian.asm @@ -1,28 +1,20 @@ -db DEX_PERSIAN ; pokedex id -db 65 ; base hp -db 70 ; base attack -db 60 ; base defense -db 115 ; base speed -db 65 ; base special -db NORMAL ; species type 1 -db NORMAL ; species type 2 -db 90 ; catch rate -db 148 ; base exp yield -INCBIN "gfx/pokemon/front/persian.pic",0,1 ; 77, sprite dimensions -dw PersianPicFront -dw PersianPicBack -; attacks known at lvl 0 -db SCRATCH -db GROWL -db BITE -db SCREECH -db 0 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10,11,12,15,16 - tmlearn 20,24 - tmlearn 25,31,32 - tmlearn 34,39,40 - tmlearn 44 - tmlearn 50 -db 0 ; padding + db DEX_PERSIAN ; pokedex id + + db 65, 70, 60, 115, 65 + ; hp atk def spd spc + + db NORMAL, NORMAL ; type + db 90 ; catch rate + db 148 ; base exp + + INCBIN "gfx/pokemon/front/persian.pic", 0, 1 ; sprite dimensions + dw PersianPicFront, PersianPicBack + + db SCRATCH, GROWL, BITE, SCREECH ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 6, 8, 9, 10, 11, 12, 15, 16, 20, 24, 25, 31, 32, 34, 39, 40, 44, 50 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/pidgeot.asm b/data/pokemon/base_stats/pidgeot.asm index 9c770dd6..a8c48487 100644 --- a/data/pokemon/base_stats/pidgeot.asm +++ b/data/pokemon/base_stats/pidgeot.asm @@ -1,28 +1,20 @@ -db DEX_PIDGEOT ; pokedex id -db 83 ; base hp -db 80 ; base attack -db 75 ; base defense -db 91 ; base speed -db 70 ; base special -db NORMAL ; species type 1 -db FLYING ; species type 2 -db 45 ; catch rate -db 172 ; base exp yield -INCBIN "gfx/pokemon/front/pidgeot.pic",0,1 ; 77, sprite dimensions -dw PidgeotPicFront -dw PidgeotPicBack -; attacks known at lvl 0 -db GUST -db SAND_ATTACK -db QUICK_ATTACK -db 0 -db 3 ; growth rate -; learnset - tmlearn 2,4,6 - tmlearn 9,10,15 - tmlearn 20 - tmlearn 31,32 - tmlearn 33,34,39 - tmlearn 43,44 - tmlearn 50,52 -db 0 ; padding + db DEX_PIDGEOT ; pokedex id + + db 83, 80, 75, 91, 70 + ; hp atk def spd spc + + db NORMAL, FLYING ; type + db 45 ; catch rate + db 172 ; base exp + + INCBIN "gfx/pokemon/front/pidgeot.pic", 0, 1 ; sprite dimensions + dw PidgeotPicFront, PidgeotPicBack + + db GUST, SAND_ATTACK, QUICK_ATTACK, NO_MOVE ; level 1 learnset + db 3 ; growth rate + + ; tm/hm learnset + tmhm 2, 4, 6, 9, 10, 15, 20, 31, 32, 33, 34, 39, 43, 44, 50, 52 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/pidgeotto.asm b/data/pokemon/base_stats/pidgeotto.asm index 1a2962e7..70bbb1bc 100644 --- a/data/pokemon/base_stats/pidgeotto.asm +++ b/data/pokemon/base_stats/pidgeotto.asm @@ -1,28 +1,20 @@ -db DEX_PIDGEOTTO ; pokedex id -db 63 ; base hp -db 60 ; base attack -db 55 ; base defense -db 71 ; base speed -db 50 ; base special -db NORMAL ; species type 1 -db FLYING ; species type 2 -db 120 ; catch rate -db 113 ; base exp yield -INCBIN "gfx/pokemon/front/pidgeotto.pic",0,1 ; 66, sprite dimensions -dw PidgeottoPicFront -dw PidgeottoPicBack -; attacks known at lvl 0 -db GUST -db SAND_ATTACK -db 0 -db 0 -db 3 ; growth rate -; learnset - tmlearn 2,4,6 - tmlearn 9,10 - tmlearn 20 - tmlearn 31,32 - tmlearn 33,34,39 - tmlearn 43,44 - tmlearn 50,52 -db 0 ; padding + db DEX_PIDGEOTTO ; pokedex id + + db 63, 60, 55, 71, 50 + ; hp atk def spd spc + + db NORMAL, FLYING ; type + db 120 ; catch rate + db 113 ; base exp + + INCBIN "gfx/pokemon/front/pidgeotto.pic", 0, 1 ; sprite dimensions + dw PidgeottoPicFront, PidgeottoPicBack + + db GUST, SAND_ATTACK, NO_MOVE, NO_MOVE ; level 1 learnset + db 3 ; growth rate + + ; tm/hm learnset + tmhm 2, 4, 6, 9, 10, 20, 31, 32, 33, 34, 39, 43, 44, 50, 52 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/pidgey.asm b/data/pokemon/base_stats/pidgey.asm index ca167e3b..40926f47 100644 --- a/data/pokemon/base_stats/pidgey.asm +++ b/data/pokemon/base_stats/pidgey.asm @@ -1,28 +1,20 @@ -db DEX_PIDGEY ; pokedex id -db 40 ; base hp -db 45 ; base attack -db 40 ; base defense -db 56 ; base speed -db 35 ; base special -db NORMAL ; species type 1 -db FLYING ; species type 2 -db 255 ; catch rate -db 55 ; base exp yield -INCBIN "gfx/pokemon/front/pidgey.pic",0,1 ; 55, sprite dimensions -dw PidgeyPicFront -dw PidgeyPicBack -; attacks known at lvl 0 -db GUST -db 0 -db 0 -db 0 -db 3 ; growth rate -; learnset - tmlearn 2,4,6 - tmlearn 9,10 - tmlearn 20 - tmlearn 31,32 - tmlearn 33,34,39 - tmlearn 43,44 - tmlearn 50,52 -db 0 ; padding + db DEX_PIDGEY ; pokedex id + + db 40, 45, 40, 56, 35 + ; hp atk def spd spc + + db NORMAL, FLYING ; type + db 255 ; catch rate + db 55 ; base exp + + INCBIN "gfx/pokemon/front/pidgey.pic", 0, 1 ; sprite dimensions + dw PidgeyPicFront, PidgeyPicBack + + db GUST, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset + db 3 ; growth rate + + ; tm/hm learnset + tmhm 2, 4, 6, 9, 10, 20, 31, 32, 33, 34, 39, 43, 44, 50, 52 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/pikachu.asm b/data/pokemon/base_stats/pikachu.asm index 36391ed8..a5e9d538 100644 --- a/data/pokemon/base_stats/pikachu.asm +++ b/data/pokemon/base_stats/pikachu.asm @@ -1,28 +1,20 @@ -db DEX_PIKACHU ; pokedex id -db 35 ; base hp -db 55 ; base attack -db 30 ; base defense -db 90 ; base speed -db 50 ; base special -db ELECTRIC ; species type 1 -db ELECTRIC ; species type 2 -db 190 ; catch rate -db 82 ; base exp yield -INCBIN "gfx/pokemon/front/pikachu.pic",0,1 ; 55, sprite dimensions -dw PikachuPicFront -dw PikachuPicBack -; attacks known at lvl 0 -db THUNDERSHOCK -db GROWL -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,16 - tmlearn 17,19,20,24 - tmlearn 25,31,32 - tmlearn 33,34,39,40 - tmlearn 44,45 - tmlearn 50,55 -db 0 ; padding + db DEX_PIKACHU ; pokedex id + + db 35, 55, 30, 90, 50 + ; hp atk def spd spc + + db ELECTRIC, ELECTRIC ; type + db 190 ; catch rate + db 82 ; base exp + + INCBIN "gfx/pokemon/front/pikachu.pic", 0, 1 ; sprite dimensions + dw PikachuPicFront, PikachuPicBack + + db THUNDERSHOCK, GROWL, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 8, 9, 10, 16, 17, 19, 20, 24, 25, 31, 32, 33, 34, 39, 40, 44, 45, 50, 55 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/pinsir.asm b/data/pokemon/base_stats/pinsir.asm index db749370..1c8e40f9 100644 --- a/data/pokemon/base_stats/pinsir.asm +++ b/data/pokemon/base_stats/pinsir.asm @@ -1,28 +1,20 @@ -db DEX_PINSIR ; pokedex id -db 65 ; base hp -db 125 ; base attack -db 100 ; base defense -db 85 ; base speed -db 55 ; base special -db BUG ; species type 1 -db BUG ; species type 2 -db 45 ; catch rate -db 200 ; base exp yield -INCBIN "gfx/pokemon/front/pinsir.pic",0,1 ; 77, sprite dimensions -dw PinsirPicFront -dw PinsirPicBack -; attacks known at lvl 0 -db VICEGRIP -db 0 -db 0 -db 0 -db 5 ; growth rate -; learnset - tmlearn 3,6,8 - tmlearn 9,10,15 - tmlearn 17,19,20 - tmlearn 31,32 - tmlearn 34 - tmlearn 44 - tmlearn 50,51,54 -db 0 ; padding + db DEX_PINSIR ; pokedex id + + db 65, 125, 100, 85, 55 + ; hp atk def spd spc + + db BUG, BUG ; type + db 45 ; catch rate + db 200 ; base exp + + INCBIN "gfx/pokemon/front/pinsir.pic", 0, 1 ; sprite dimensions + dw PinsirPicFront, PinsirPicBack + + db VICEGRIP, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset + db 5 ; growth rate + + ; tm/hm learnset + tmhm 3, 6, 8, 9, 10, 15, 17, 19, 20, 31, 32, 34, 44, 50, 51, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/poliwag.asm b/data/pokemon/base_stats/poliwag.asm index a4e260ba..98738169 100644 --- a/data/pokemon/base_stats/poliwag.asm +++ b/data/pokemon/base_stats/poliwag.asm @@ -1,28 +1,20 @@ -db DEX_POLIWAG ; pokedex id -db 40 ; base hp -db 50 ; base attack -db 40 ; base defense -db 90 ; base speed -db 40 ; base special -db WATER ; species type 1 -db WATER ; species type 2 -db 255 ; catch rate -db 77 ; base exp yield -INCBIN "gfx/pokemon/front/poliwag.pic",0,1 ; 55, sprite dimensions -dw PoliwagPicFront -dw PoliwagPicBack -; attacks known at lvl 0 -db BUBBLE -db 0 -db 0 -db 0 -db 3 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10,11,12,13,14 - tmlearn 20 - tmlearn 29,31,32 - tmlearn 34,40 - tmlearn 44,46 - tmlearn 50,53 -db 0 ; padding + db DEX_POLIWAG ; pokedex id + + db 40, 50, 40, 90, 40 + ; hp atk def spd spc + + db WATER, WATER ; type + db 255 ; catch rate + db 77 ; base exp + + INCBIN "gfx/pokemon/front/poliwag.pic", 0, 1 ; sprite dimensions + dw PoliwagPicFront, PoliwagPicBack + + db BUBBLE, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset + db 3 ; growth rate + + ; tm/hm learnset + tmhm 6, 8, 9, 10, 11, 12, 13, 14, 20, 29, 31, 32, 34, 40, 44, 46, 50, 53 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/poliwhirl.asm b/data/pokemon/base_stats/poliwhirl.asm index 706bd498..65f989b1 100644 --- a/data/pokemon/base_stats/poliwhirl.asm +++ b/data/pokemon/base_stats/poliwhirl.asm @@ -1,28 +1,20 @@ -db DEX_POLIWHIRL ; pokedex id -db 65 ; base hp -db 65 ; base attack -db 65 ; base defense -db 90 ; base speed -db 50 ; base special -db WATER ; species type 1 -db WATER ; species type 2 -db 120 ; catch rate -db 131 ; base exp yield -INCBIN "gfx/pokemon/front/poliwhirl.pic",0,1 ; 66, sprite dimensions -dw PoliwhirlPicFront -dw PoliwhirlPicBack -; attacks known at lvl 0 -db BUBBLE -db HYPNOSIS -db WATER_GUN -db 0 -db 3 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,11,12,13,14 - tmlearn 17,18,19,20 - tmlearn 26,27,29,31,32 - tmlearn 34,35,40 - tmlearn 44,46 - tmlearn 50,53,54 -db 0 ; padding + db DEX_POLIWHIRL ; pokedex id + + db 65, 65, 65, 90, 50 + ; hp atk def spd spc + + db WATER, WATER ; type + db 120 ; catch rate + db 131 ; base exp + + INCBIN "gfx/pokemon/front/poliwhirl.pic", 0, 1 ; sprite dimensions + dw PoliwhirlPicFront, PoliwhirlPicBack + + db BUBBLE, HYPNOSIS, WATER_GUN, NO_MOVE ; level 1 learnset + db 3 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 26, 27, 29, 31, 32, 34, 35, 40, 44, 46, 50, 53, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/poliwrath.asm b/data/pokemon/base_stats/poliwrath.asm index 6f7d4b78..4686c270 100644 --- a/data/pokemon/base_stats/poliwrath.asm +++ b/data/pokemon/base_stats/poliwrath.asm @@ -1,28 +1,20 @@ -db DEX_POLIWRATH ; pokedex id -db 90 ; base hp -db 85 ; base attack -db 95 ; base defense -db 70 ; base speed -db 70 ; base special -db WATER ; species type 1 -db FIGHTING ; species type 2 -db 45 ; catch rate -db 185 ; base exp yield -INCBIN "gfx/pokemon/front/poliwrath.pic",0,1 ; 77, sprite dimensions -dw PoliwrathPicFront -dw PoliwrathPicBack -; attacks known at lvl 0 -db HYPNOSIS -db WATER_GUN -db DOUBLESLAP -db BODY_SLAM -db 3 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,11,12,13,14,15 - tmlearn 17,18,19,20 - tmlearn 26,27,29,31,32 - tmlearn 34,35,40 - tmlearn 44,46 - tmlearn 50,53,54 -db 0 ; padding + db DEX_POLIWRATH ; pokedex id + + db 90, 85, 95, 70, 70 + ; hp atk def spd spc + + db WATER, FIGHTING ; type + db 45 ; catch rate + db 185 ; base exp + + INCBIN "gfx/pokemon/front/poliwrath.pic", 0, 1 ; sprite dimensions + dw PoliwrathPicFront, PoliwrathPicBack + + db HYPNOSIS, WATER_GUN, DOUBLESLAP, BODY_SLAM ; level 1 learnset + db 3 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 26, 27, 29, 31, 32, 34, 35, 40, 44, 46, 50, 53, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/ponyta.asm b/data/pokemon/base_stats/ponyta.asm index 667d3cc9..365586a3 100644 --- a/data/pokemon/base_stats/ponyta.asm +++ b/data/pokemon/base_stats/ponyta.asm @@ -1,28 +1,20 @@ -db DEX_PONYTA ; pokedex id -db 50 ; base hp -db 85 ; base attack -db 55 ; base defense -db 90 ; base speed -db 65 ; base special -db FIRE ; species type 1 -db FIRE ; species type 2 -db 190 ; catch rate -db 152 ; base exp yield -INCBIN "gfx/pokemon/front/ponyta.pic",0,1 ; 66, sprite dimensions -dw PonytaPicFront -dw PonytaPicBack -; attacks known at lvl 0 -db EMBER -db 0 -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,7,8 - tmlearn 9,10 - tmlearn 20 - tmlearn 31,32 - tmlearn 33,34,38,39,40 - tmlearn 44 - tmlearn 50 -db 0 ; padding + db DEX_PONYTA ; pokedex id + + db 50, 85, 55, 90, 65 + ; hp atk def spd spc + + db FIRE, FIRE ; type + db 190 ; catch rate + db 152 ; base exp + + INCBIN "gfx/pokemon/front/ponyta.pic", 0, 1 ; sprite dimensions + dw PonytaPicFront, PonytaPicBack + + db EMBER, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 6, 7, 8, 9, 10, 20, 31, 32, 33, 34, 38, 39, 40, 44, 50 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/porygon.asm b/data/pokemon/base_stats/porygon.asm index 71a37154..4a2f37c5 100644 --- a/data/pokemon/base_stats/porygon.asm +++ b/data/pokemon/base_stats/porygon.asm @@ -1,28 +1,20 @@ -db DEX_PORYGON ; pokedex id -db 65 ; base hp -db 60 ; base attack -db 70 ; base defense -db 40 ; base speed -db 75 ; base special -db NORMAL ; species type 1 -db NORMAL ; species type 2 -db 45 ; catch rate -db 130 ; base exp yield -INCBIN "gfx/pokemon/front/porygon.pic",0,1 ; 66, sprite dimensions -dw PorygonPicFront -dw PorygonPicBack -; attacks known at lvl 0 -db TACKLE -db SHARPEN -db CONVERSION -db 0 -db 0 ; growth rate -; learnset - tmlearn 6 - tmlearn 9,10,13,14,15 - tmlearn 20,24 - tmlearn 25,29,30,31,32 - tmlearn 33,34,39,40 - tmlearn 44,45,46 - tmlearn 49,50,55 -db 0 ; padding + db DEX_PORYGON ; pokedex id + + db 65, 60, 70, 40, 75 + ; hp atk def spd spc + + db NORMAL, NORMAL ; type + db 45 ; catch rate + db 130 ; base exp + + INCBIN "gfx/pokemon/front/porygon.pic", 0, 1 ; sprite dimensions + dw PorygonPicFront, PorygonPicBack + + db TACKLE, SHARPEN, CONVERSION, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 6, 9, 10, 13, 14, 15, 20, 24, 25, 29, 30, 31, 32, 33, 34, 39, 40, 44, 45, 46, 49, 50, 55 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/primeape.asm b/data/pokemon/base_stats/primeape.asm index 2d00ee76..2c9a8868 100644 --- a/data/pokemon/base_stats/primeape.asm +++ b/data/pokemon/base_stats/primeape.asm @@ -1,28 +1,20 @@ -db DEX_PRIMEAPE ; pokedex id -db 65 ; base hp -db 105 ; base attack -db 60 ; base defense -db 95 ; base speed -db 60 ; base special -db FIGHTING ; species type 1 -db FIGHTING ; species type 2 -db 75 ; catch rate -db 149 ; base exp yield -INCBIN "gfx/pokemon/front/primeape.pic",0,1 ; 77, sprite dimensions -dw PrimeapePicFront -dw PrimeapePicBack -; attacks known at lvl 0 -db SCRATCH -db LEER -db KARATE_CHOP -db FURY_SWIPES -db 0 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,15,16 - tmlearn 17,18,19,20,24 - tmlearn 25,28,31,32 - tmlearn 34,35,39,40 - tmlearn 44,48 - tmlearn 50,54 -db 0 ; padding + db DEX_PRIMEAPE ; pokedex id + + db 65, 105, 60, 95, 60 + ; hp atk def spd spc + + db FIGHTING, FIGHTING ; type + db 75 ; catch rate + db 149 ; base exp + + INCBIN "gfx/pokemon/front/primeape.pic", 0, 1 ; sprite dimensions + dw PrimeapePicFront, PrimeapePicBack + + db SCRATCH, LEER, KARATE_CHOP, FURY_SWIPES ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 8, 9, 10, 15, 16, 17, 18, 19, 20, 24, 25, 28, 31, 32, 34, 35, 39, 40, 44, 48, 50, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/psyduck.asm b/data/pokemon/base_stats/psyduck.asm index 163f851e..86468364 100644 --- a/data/pokemon/base_stats/psyduck.asm +++ b/data/pokemon/base_stats/psyduck.asm @@ -1,28 +1,20 @@ -db DEX_PSYDUCK ; pokedex id -db 50 ; base hp -db 52 ; base attack -db 48 ; base defense -db 55 ; base speed -db 50 ; base special -db WATER ; species type 1 -db WATER ; species type 2 -db 190 ; catch rate -db 80 ; base exp yield -INCBIN "gfx/pokemon/front/psyduck.pic",0,1 ; 55, sprite dimensions -dw PsyduckPicFront -dw PsyduckPicBack -; attacks known at lvl 0 -db SCRATCH -db 0 -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,11,12,13,14,16 - tmlearn 17,18,19,20 - tmlearn 28,31,32 - tmlearn 34,39,40 - tmlearn 44 - tmlearn 50,53,54 -db 0 ; padding + db DEX_PSYDUCK ; pokedex id + + db 50, 52, 48, 55, 50 + ; hp atk def spd spc + + db WATER, WATER ; type + db 190 ; catch rate + db 80 ; base exp + + INCBIN "gfx/pokemon/front/psyduck.pic", 0, 1 ; sprite dimensions + dw PsyduckPicFront, PsyduckPicBack + + db SCRATCH, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 28, 31, 32, 34, 39, 40, 44, 50, 53, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/raichu.asm b/data/pokemon/base_stats/raichu.asm index c2c0c6a9..780a3cc0 100644 --- a/data/pokemon/base_stats/raichu.asm +++ b/data/pokemon/base_stats/raichu.asm @@ -1,28 +1,20 @@ -db DEX_RAICHU ; pokedex id -db 60 ; base hp -db 90 ; base attack -db 55 ; base defense -db 100 ; base speed -db 90 ; base special -db ELECTRIC ; species type 1 -db ELECTRIC ; species type 2 -db 75 ; catch rate -db 122 ; base exp yield -INCBIN "gfx/pokemon/front/raichu.pic",0,1 ; 77, sprite dimensions -dw RaichuPicFront -dw RaichuPicBack -; attacks known at lvl 0 -db THUNDERSHOCK -db GROWL -db THUNDER_WAVE -db 0 -db 0 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,15,16 - tmlearn 17,19,20,24 - tmlearn 25,31,32 - tmlearn 33,34,39,40 - tmlearn 44,45 - tmlearn 50,55 -db 0 ; padding + db DEX_RAICHU ; pokedex id + + db 60, 90, 55, 100, 90 + ; hp atk def spd spc + + db ELECTRIC, ELECTRIC ; type + db 75 ; catch rate + db 122 ; base exp + + INCBIN "gfx/pokemon/front/raichu.pic", 0, 1 ; sprite dimensions + dw RaichuPicFront, RaichuPicBack + + db THUNDERSHOCK, GROWL, THUNDER_WAVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 8, 9, 10, 15, 16, 17, 19, 20, 24, 25, 31, 32, 33, 34, 39, 40, 44, 45, 50, 55 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/rapidash.asm b/data/pokemon/base_stats/rapidash.asm index 53dcbe4a..461aef98 100644 --- a/data/pokemon/base_stats/rapidash.asm +++ b/data/pokemon/base_stats/rapidash.asm @@ -1,28 +1,20 @@ -db DEX_RAPIDASH ; pokedex id -db 65 ; base hp -db 100 ; base attack -db 70 ; base defense -db 105 ; base speed -db 80 ; base special -db FIRE ; species type 1 -db FIRE ; species type 2 -db 60 ; catch rate -db 192 ; base exp yield -INCBIN "gfx/pokemon/front/rapidash.pic",0,1 ; 77, sprite dimensions -dw RapidashPicFront -dw RapidashPicBack -; attacks known at lvl 0 -db EMBER -db TAIL_WHIP -db STOMP -db GROWL -db 0 ; growth rate -; learnset - tmlearn 6,7,8 - tmlearn 9,10,15 - tmlearn 20 - tmlearn 31,32 - tmlearn 33,34,38,39,40 - tmlearn 44 - tmlearn 50 -db 0 ; padding + db DEX_RAPIDASH ; pokedex id + + db 65, 100, 70, 105, 80 + ; hp atk def spd spc + + db FIRE, FIRE ; type + db 60 ; catch rate + db 192 ; base exp + + INCBIN "gfx/pokemon/front/rapidash.pic", 0, 1 ; sprite dimensions + dw RapidashPicFront, RapidashPicBack + + db EMBER, TAIL_WHIP, STOMP, GROWL ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 6, 7, 8, 9, 10, 15, 20, 31, 32, 33, 34, 38, 39, 40, 44, 50 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/raticate.asm b/data/pokemon/base_stats/raticate.asm index 157b22bb..f22c23b8 100644 --- a/data/pokemon/base_stats/raticate.asm +++ b/data/pokemon/base_stats/raticate.asm @@ -1,28 +1,20 @@ -db DEX_RATICATE ; pokedex id -db 55 ; base hp -db 81 ; base attack -db 60 ; base defense -db 97 ; base speed -db 50 ; base special -db NORMAL ; species type 1 -db NORMAL ; species type 2 -db 90 ; catch rate -db 116 ; base exp yield -INCBIN "gfx/pokemon/front/raticate.pic",0,1 ; 66, sprite dimensions -dw RaticatePicFront -dw RaticatePicBack -; attacks known at lvl 0 -db TACKLE -db TAIL_WHIP -db QUICK_ATTACK -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10,11,12,13,14,15 - tmlearn 20,24 - tmlearn 25,28,31,32 - tmlearn 34,39,40 - tmlearn 44 - tmlearn 50 -db 0 ; padding + db DEX_RATICATE ; pokedex id + + db 55, 81, 60, 97, 50 + ; hp atk def spd spc + + db NORMAL, NORMAL ; type + db 90 ; catch rate + db 116 ; base exp + + INCBIN "gfx/pokemon/front/raticate.pic", 0, 1 ; sprite dimensions + dw RaticatePicFront, RaticatePicBack + + db TACKLE, TAIL_WHIP, QUICK_ATTACK, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 6, 8, 9, 10, 11, 12, 13, 14, 15, 20, 24, 25, 28, 31, 32, 34, 39, 40, 44, 50 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/rattata.asm b/data/pokemon/base_stats/rattata.asm index 5dfafddb..5874cf93 100644 --- a/data/pokemon/base_stats/rattata.asm +++ b/data/pokemon/base_stats/rattata.asm @@ -1,28 +1,20 @@ -db DEX_RATTATA ; pokedex id -db 30 ; base hp -db 56 ; base attack -db 35 ; base defense -db 72 ; base speed -db 25 ; base special -db NORMAL ; species type 1 -db NORMAL ; species type 2 -db 255 ; catch rate -db 57 ; base exp yield -INCBIN "gfx/pokemon/front/rattata.pic",0,1 ; 55, sprite dimensions -dw RattataPicFront -dw RattataPicBack -; attacks known at lvl 0 -db TACKLE -db TAIL_WHIP -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10,11,12,14 - tmlearn 20,24 - tmlearn 25,28,31,32 - tmlearn 34,39,40 - tmlearn 44 - tmlearn 50 -db 0 ; padding + db DEX_RATTATA ; pokedex id + + db 30, 56, 35, 72, 25 + ; hp atk def spd spc + + db NORMAL, NORMAL ; type + db 255 ; catch rate + db 57 ; base exp + + INCBIN "gfx/pokemon/front/rattata.pic", 0, 1 ; sprite dimensions + dw RattataPicFront, RattataPicBack + + db TACKLE, TAIL_WHIP, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 6, 8, 9, 10, 11, 12, 14, 20, 24, 25, 28, 31, 32, 34, 39, 40, 44, 50 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/rhydon.asm b/data/pokemon/base_stats/rhydon.asm index 9f611a83..b2a96669 100644 --- a/data/pokemon/base_stats/rhydon.asm +++ b/data/pokemon/base_stats/rhydon.asm @@ -1,28 +1,20 @@ -db DEX_RHYDON ; pokedex id -db 105 ; base hp -db 130 ; base attack -db 120 ; base defense -db 40 ; base speed -db 45 ; base special -db GROUND ; species type 1 -db ROCK ; species type 2 -db 60 ; catch rate -db 204 ; base exp yield -INCBIN "gfx/pokemon/front/rhydon.pic",0,1 ; 77, sprite dimensions -dw RhydonPicFront -dw RhydonPicBack -; attacks known at lvl 0 -db HORN_ATTACK -db STOMP -db TAIL_WHIP -db FURY_ATTACK -db 5 ; growth rate -; learnset - tmlearn 1,5,6,7,8 - tmlearn 9,10,11,12,13,14,15,16 - tmlearn 17,18,19,20,24 - tmlearn 25,26,27,28,31,32 - tmlearn 34,38,40 - tmlearn 44,48 - tmlearn 50,53,54 -db 0 ; padding + db DEX_RHYDON ; pokedex id + + db 105, 130, 120, 40, 45 + ; hp atk def spd spc + + db GROUND, ROCK ; type + db 60 ; catch rate + db 204 ; base exp + + INCBIN "gfx/pokemon/front/rhydon.pic", 0, 1 ; sprite dimensions + dw RhydonPicFront, RhydonPicBack + + db HORN_ATTACK, STOMP, TAIL_WHIP, FURY_ATTACK ; level 1 learnset + db 5 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 24, 25, 26, 27, 28, 31, 32, 34, 38, 40, 44, 48, 50, 53, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/rhyhorn.asm b/data/pokemon/base_stats/rhyhorn.asm index b7fc9137..d7b7d1d5 100644 --- a/data/pokemon/base_stats/rhyhorn.asm +++ b/data/pokemon/base_stats/rhyhorn.asm @@ -1,28 +1,20 @@ -db DEX_RHYHORN ; pokedex id -db 80 ; base hp -db 85 ; base attack -db 95 ; base defense -db 25 ; base speed -db 30 ; base special -db GROUND ; species type 1 -db ROCK ; species type 2 -db 120 ; catch rate -db 135 ; base exp yield -INCBIN "gfx/pokemon/front/rhyhorn.pic",0,1 ; 77, sprite dimensions -dw RhyhornPicFront -dw RhyhornPicBack -; attacks known at lvl 0 -db HORN_ATTACK -db 0 -db 0 -db 0 -db 5 ; growth rate -; learnset - tmlearn 6,7,8 - tmlearn 9,10 - tmlearn 20,24 - tmlearn 25,26,27,28,31,32 - tmlearn 34,38,40 - tmlearn 44,48 - tmlearn 50,54 -db 0 ; padding + db DEX_RHYHORN ; pokedex id + + db 80, 85, 95, 25, 30 + ; hp atk def spd spc + + db GROUND, ROCK ; type + db 120 ; catch rate + db 135 ; base exp + + INCBIN "gfx/pokemon/front/rhyhorn.pic", 0, 1 ; sprite dimensions + dw RhyhornPicFront, RhyhornPicBack + + db HORN_ATTACK, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset + db 5 ; growth rate + + ; tm/hm learnset + tmhm 6, 7, 8, 9, 10, 20, 24, 25, 26, 27, 28, 31, 32, 34, 38, 40, 44, 48, 50, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/sandshrew.asm b/data/pokemon/base_stats/sandshrew.asm index a098678e..428bee9c 100644 --- a/data/pokemon/base_stats/sandshrew.asm +++ b/data/pokemon/base_stats/sandshrew.asm @@ -1,28 +1,20 @@ -db DEX_SANDSHREW ; pokedex id -db 50 ; base hp -db 75 ; base attack -db 85 ; base defense -db 40 ; base speed -db 30 ; base special -db GROUND ; species type 1 -db GROUND ; species type 2 -db 255 ; catch rate -db 93 ; base exp yield -INCBIN "gfx/pokemon/front/sandshrew.pic",0,1 ; 55, sprite dimensions -dw SandshrewPicFront -dw SandshrewPicBack -; attacks known at lvl 0 -db SCRATCH -db 0 -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 3,6,8 - tmlearn 9,10 - tmlearn 17,19,20 - tmlearn 26,27,28,31,32 - tmlearn 34,39,40 - tmlearn 44,48 - tmlearn 50,51,54 -db 0 ; padding + db DEX_SANDSHREW ; pokedex id + + db 50, 75, 85, 40, 30 + ; hp atk def spd spc + + db GROUND, GROUND ; type + db 255 ; catch rate + db 93 ; base exp + + INCBIN "gfx/pokemon/front/sandshrew.pic", 0, 1 ; sprite dimensions + dw SandshrewPicFront, SandshrewPicBack + + db SCRATCH, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 3, 6, 8, 9, 10, 17, 19, 20, 26, 27, 28, 31, 32, 34, 39, 40, 44, 48, 50, 51, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/sandslash.asm b/data/pokemon/base_stats/sandslash.asm index c596265c..a7639ac9 100644 --- a/data/pokemon/base_stats/sandslash.asm +++ b/data/pokemon/base_stats/sandslash.asm @@ -1,28 +1,20 @@ -db DEX_SANDSLASH ; pokedex id -db 75 ; base hp -db 100 ; base attack -db 110 ; base defense -db 65 ; base speed -db 55 ; base special -db GROUND ; species type 1 -db GROUND ; species type 2 -db 90 ; catch rate -db 163 ; base exp yield -INCBIN "gfx/pokemon/front/sandslash.pic",0,1 ; 66, sprite dimensions -dw SandslashPicFront -dw SandslashPicBack -; attacks known at lvl 0 -db SCRATCH -db SAND_ATTACK -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 3,6,8 - tmlearn 9,10,15 - tmlearn 17,19,20 - tmlearn 26,27,28,31,32 - tmlearn 34,39,40 - tmlearn 44,48 - tmlearn 50,51,54 -db 0 ; padding + db DEX_SANDSLASH ; pokedex id + + db 75, 100, 110, 65, 55 + ; hp atk def spd spc + + db GROUND, GROUND ; type + db 90 ; catch rate + db 163 ; base exp + + INCBIN "gfx/pokemon/front/sandslash.pic", 0, 1 ; sprite dimensions + dw SandslashPicFront, SandslashPicBack + + db SCRATCH, SAND_ATTACK, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 3, 6, 8, 9, 10, 15, 17, 19, 20, 26, 27, 28, 31, 32, 34, 39, 40, 44, 48, 50, 51, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/scyther.asm b/data/pokemon/base_stats/scyther.asm index 303a33c1..caca5e77 100644 --- a/data/pokemon/base_stats/scyther.asm +++ b/data/pokemon/base_stats/scyther.asm @@ -1,28 +1,20 @@ -db DEX_SCYTHER ; pokedex id -db 70 ; base hp -db 110 ; base attack -db 80 ; base defense -db 105 ; base speed -db 55 ; base special -db BUG ; species type 1 -db FLYING ; species type 2 -db 45 ; catch rate -db 187 ; base exp yield -INCBIN "gfx/pokemon/front/scyther.pic",0,1 ; 77, sprite dimensions -dw ScytherPicFront -dw ScytherPicBack -; attacks known at lvl 0 -db QUICK_ATTACK -db 0 -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 3,6 - tmlearn 9,10,15 - tmlearn 20 - tmlearn 31,32 - tmlearn 34,39,40 - tmlearn 44 - tmlearn 50,51 -db 0 ; padding + db DEX_SCYTHER ; pokedex id + + db 70, 110, 80, 105, 55 + ; hp atk def spd spc + + db BUG, FLYING ; type + db 45 ; catch rate + db 187 ; base exp + + INCBIN "gfx/pokemon/front/scyther.pic", 0, 1 ; sprite dimensions + dw ScytherPicFront, ScytherPicBack + + db QUICK_ATTACK, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 3, 6, 9, 10, 15, 20, 31, 32, 34, 39, 40, 44, 50, 51 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/seadra.asm b/data/pokemon/base_stats/seadra.asm index cd9bbc3f..f2074bbe 100644 --- a/data/pokemon/base_stats/seadra.asm +++ b/data/pokemon/base_stats/seadra.asm @@ -1,28 +1,20 @@ -db DEX_SEADRA ; pokedex id -db 55 ; base hp -db 65 ; base attack -db 95 ; base defense -db 85 ; base speed -db 95 ; base special -db WATER ; species type 1 -db WATER ; species type 2 -db 75 ; catch rate -db 155 ; base exp yield -INCBIN "gfx/pokemon/front/seadra.pic",0,1 ; 66, sprite dimensions -dw SeadraPicFront -dw SeadraPicBack -; attacks known at lvl 0 -db BUBBLE -db SMOKESCREEN -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 6 - tmlearn 9,10,11,12,13,14,15 - tmlearn 20 - tmlearn 31,32 - tmlearn 34,39,40 - tmlearn 44 - tmlearn 50,53 -db 0 ; padding + db DEX_SEADRA ; pokedex id + + db 55, 65, 95, 85, 95 + ; hp atk def spd spc + + db WATER, WATER ; type + db 75 ; catch rate + db 155 ; base exp + + INCBIN "gfx/pokemon/front/seadra.pic", 0, 1 ; sprite dimensions + dw SeadraPicFront, SeadraPicBack + + db BUBBLE, SMOKESCREEN, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 6, 9, 10, 11, 12, 13, 14, 15, 20, 31, 32, 34, 39, 40, 44, 50, 53 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/seaking.asm b/data/pokemon/base_stats/seaking.asm index c14b095b..b9c22a98 100644 --- a/data/pokemon/base_stats/seaking.asm +++ b/data/pokemon/base_stats/seaking.asm @@ -1,28 +1,20 @@ -db DEX_SEAKING ; pokedex id -db 80 ; base hp -db 92 ; base attack -db 65 ; base defense -db 68 ; base speed -db 80 ; base special -db WATER ; species type 1 -db WATER ; species type 2 -db 60 ; catch rate -db 170 ; base exp yield -INCBIN "gfx/pokemon/front/seaking.pic",0,1 ; 77, sprite dimensions -dw SeakingPicFront -dw SeakingPicBack -; attacks known at lvl 0 -db PECK -db TAIL_WHIP -db SUPERSONIC -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,7 - tmlearn 9,10,11,12,13,14,15 - tmlearn 20 - tmlearn 31,32 - tmlearn 34,39,40 - tmlearn 44 - tmlearn 50,53 -db 0 ; padding + db DEX_SEAKING ; pokedex id + + db 80, 92, 65, 68, 80 + ; hp atk def spd spc + + db WATER, WATER ; type + db 60 ; catch rate + db 170 ; base exp + + INCBIN "gfx/pokemon/front/seaking.pic", 0, 1 ; sprite dimensions + dw SeakingPicFront, SeakingPicBack + + db PECK, TAIL_WHIP, SUPERSONIC, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 6, 7, 9, 10, 11, 12, 13, 14, 15, 20, 31, 32, 34, 39, 40, 44, 50, 53 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/seel.asm b/data/pokemon/base_stats/seel.asm index 64c0cd7f..e0736520 100644 --- a/data/pokemon/base_stats/seel.asm +++ b/data/pokemon/base_stats/seel.asm @@ -1,28 +1,20 @@ -db DEX_SEEL ; pokedex id -db 65 ; base hp -db 45 ; base attack -db 55 ; base defense -db 45 ; base speed -db 70 ; base special -db WATER ; species type 1 -db WATER ; species type 2 -db 190 ; catch rate -db 100 ; base exp yield -INCBIN "gfx/pokemon/front/seel.pic",0,1 ; 66, sprite dimensions -dw SeelPicFront -dw SeelPicBack -; attacks known at lvl 0 -db HEADBUTT -db 0 -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,7,8 - tmlearn 9,10,11,12,13,14,16 - tmlearn 20 - tmlearn 31,32 - tmlearn 34,40 - tmlearn 44 - tmlearn 50,53,54 -db 0 ; padding + db DEX_SEEL ; pokedex id + + db 65, 45, 55, 45, 70 + ; hp atk def spd spc + + db WATER, WATER ; type + db 190 ; catch rate + db 100 ; base exp + + INCBIN "gfx/pokemon/front/seel.pic", 0, 1 ; sprite dimensions + dw SeelPicFront, SeelPicBack + + db HEADBUTT, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 20, 31, 32, 34, 40, 44, 50, 53, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/shellder.asm b/data/pokemon/base_stats/shellder.asm index c051f2f5..22af71c2 100644 --- a/data/pokemon/base_stats/shellder.asm +++ b/data/pokemon/base_stats/shellder.asm @@ -1,28 +1,20 @@ -db DEX_SHELLDER ; pokedex id -db 30 ; base hp -db 65 ; base attack -db 100 ; base defense -db 40 ; base speed -db 45 ; base special -db WATER ; species type 1 -db WATER ; species type 2 -db 190 ; catch rate -db 97 ; base exp yield -INCBIN "gfx/pokemon/front/shellder.pic",0,1 ; 55, sprite dimensions -dw ShellderPicFront -dw ShellderPicBack -; attacks known at lvl 0 -db TACKLE -db WITHDRAW -db 0 -db 0 -db 5 ; growth rate -; learnset - tmlearn 6 - tmlearn 9,10,11,12,13,14 - tmlearn 20 - tmlearn 30,31,32 - tmlearn 33,34,36,39 - tmlearn 44,47 - tmlearn 49,50,53 -db 0 ; padding + db DEX_SHELLDER ; pokedex id + + db 30, 65, 100, 40, 45 + ; hp atk def spd spc + + db WATER, WATER ; type + db 190 ; catch rate + db 97 ; base exp + + INCBIN "gfx/pokemon/front/shellder.pic", 0, 1 ; sprite dimensions + dw ShellderPicFront, ShellderPicBack + + db TACKLE, WITHDRAW, NO_MOVE, NO_MOVE ; level 1 learnset + db 5 ; growth rate + + ; tm/hm learnset + tmhm 6, 9, 10, 11, 12, 13, 14, 20, 30, 31, 32, 33, 34, 36, 39, 44, 47, 49, 50, 53 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/slowbro.asm b/data/pokemon/base_stats/slowbro.asm index 51d3f564..0f440532 100644 --- a/data/pokemon/base_stats/slowbro.asm +++ b/data/pokemon/base_stats/slowbro.asm @@ -1,28 +1,20 @@ -db DEX_SLOWBRO ; pokedex id -db 95 ; base hp -db 75 ; base attack -db 110 ; base defense -db 30 ; base speed -db 80 ; base special -db WATER ; species type 1 -db PSYCHIC ; species type 2 -db 75 ; catch rate -db 164 ; base exp yield -INCBIN "gfx/pokemon/front/slowbro.pic",0,1 ; 77, sprite dimensions -dw SlowbroPicFront -dw SlowbroPicBack -; attacks known at lvl 0 -db CONFUSION -db DISABLE -db HEADBUTT -db 0 -db 0 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,11,12,13,14,15,16 - tmlearn 17,18,19,20 - tmlearn 26,27,28,29,30,31,32 - tmlearn 33,34,38,39,40 - tmlearn 44,45,46 - tmlearn 49,50,53,54,55 -db 0 ; padding + db DEX_SLOWBRO ; pokedex id + + db 95, 75, 110, 30, 80 + ; hp atk def spd spc + + db WATER, PSYCHIC ; type + db 75 ; catch rate + db 164 ; base exp + + INCBIN "gfx/pokemon/front/slowbro.pic", 0, 1 ; sprite dimensions + dw SlowbroPicFront, SlowbroPicBack + + db CONFUSION, DISABLE, HEADBUTT, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 26, 27, 28, 29, 30, 31, 32, 33, 34, 38, 39, 40, 44, 45, 46, 49, 50, 53, 54, 55 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/slowpoke.asm b/data/pokemon/base_stats/slowpoke.asm index 60e47ea8..644fb3de 100644 --- a/data/pokemon/base_stats/slowpoke.asm +++ b/data/pokemon/base_stats/slowpoke.asm @@ -1,28 +1,20 @@ -db DEX_SLOWPOKE ; pokedex id -db 90 ; base hp -db 65 ; base attack -db 65 ; base defense -db 15 ; base speed -db 40 ; base special -db WATER ; species type 1 -db PSYCHIC ; species type 2 -db 190 ; catch rate -db 99 ; base exp yield -INCBIN "gfx/pokemon/front/slowpoke.pic",0,1 ; 55, sprite dimensions -dw SlowpokePicFront -dw SlowpokePicBack -; attacks known at lvl 0 -db CONFUSION -db 0 -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10,11,12,13,14,16 - tmlearn 20 - tmlearn 26,27,28,29,30,31,32 - tmlearn 33,34,38,39,40 - tmlearn 44,45,46 - tmlearn 49,50,53,54,55 -db 0 ; padding + db DEX_SLOWPOKE ; pokedex id + + db 90, 65, 65, 15, 40 + ; hp atk def spd spc + + db WATER, PSYCHIC ; type + db 190 ; catch rate + db 99 ; base exp + + INCBIN "gfx/pokemon/front/slowpoke.pic", 0, 1 ; sprite dimensions + dw SlowpokePicFront, SlowpokePicBack + + db CONFUSION, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 6, 8, 9, 10, 11, 12, 13, 14, 16, 20, 26, 27, 28, 29, 30, 31, 32, 33, 34, 38, 39, 40, 44, 45, 46, 49, 50, 53, 54, 55 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/snorlax.asm b/data/pokemon/base_stats/snorlax.asm index c1d47cd6..586ccdfc 100644 --- a/data/pokemon/base_stats/snorlax.asm +++ b/data/pokemon/base_stats/snorlax.asm @@ -1,28 +1,20 @@ -db DEX_SNORLAX ; pokedex id -db 160 ; base hp -db 110 ; base attack -db 65 ; base defense -db 30 ; base speed -db 65 ; base special -db NORMAL ; species type 1 -db NORMAL ; species type 2 -db 25 ; catch rate -db 154 ; base exp yield -INCBIN "gfx/pokemon/front/snorlax.pic",0,1 ; 77, sprite dimensions -dw SnorlaxPicFront -dw SnorlaxPicBack -; attacks known at lvl 0 -db HEADBUTT -db AMNESIA -db REST -db 0 -db 5 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,11,12,13,14,15,16 - tmlearn 17,18,19,20,22,24 - tmlearn 25,26,27,29,31,32 - tmlearn 33,34,35,36,38,40 - tmlearn 44,46,48 - tmlearn 50,53,54 -db 0 ; padding + db DEX_SNORLAX ; pokedex id + + db 160, 110, 65, 30, 65 + ; hp atk def spd spc + + db NORMAL, NORMAL ; type + db 25 ; catch rate + db 154 ; base exp + + INCBIN "gfx/pokemon/front/snorlax.pic", 0, 1 ; sprite dimensions + dw SnorlaxPicFront, SnorlaxPicBack + + db HEADBUTT, AMNESIA, REST, NO_MOVE ; level 1 learnset + db 5 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 24, 25, 26, 27, 29, 31, 32, 33, 34, 35, 36, 38, 40, 44, 46, 48, 50, 53, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/spearow.asm b/data/pokemon/base_stats/spearow.asm index 9b8db91d..05471e4e 100644 --- a/data/pokemon/base_stats/spearow.asm +++ b/data/pokemon/base_stats/spearow.asm @@ -1,28 +1,20 @@ -db DEX_SPEAROW ; pokedex id -db 40 ; base hp -db 60 ; base attack -db 30 ; base defense -db 70 ; base speed -db 31 ; base special -db NORMAL ; species type 1 -db FLYING ; species type 2 -db 255 ; catch rate -db 58 ; base exp yield -INCBIN "gfx/pokemon/front/spearow.pic",0,1 ; 55, sprite dimensions -dw SpearowPicFront -dw SpearowPicBack -; attacks known at lvl 0 -db PECK -db GROWL -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 2,4,6 - tmlearn 9,10 - tmlearn 20 - tmlearn 31,32 - tmlearn 34,39 - tmlearn 43,44 - tmlearn 50,52 -db 0 ; padding + db DEX_SPEAROW ; pokedex id + + db 40, 60, 30, 70, 31 + ; hp atk def spd spc + + db NORMAL, FLYING ; type + db 255 ; catch rate + db 58 ; base exp + + INCBIN "gfx/pokemon/front/spearow.pic", 0, 1 ; sprite dimensions + dw SpearowPicFront, SpearowPicBack + + db PECK, GROWL, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 2, 4, 6, 9, 10, 20, 31, 32, 34, 39, 43, 44, 50, 52 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/squirtle.asm b/data/pokemon/base_stats/squirtle.asm index 639809f9..1d645227 100644 --- a/data/pokemon/base_stats/squirtle.asm +++ b/data/pokemon/base_stats/squirtle.asm @@ -1,28 +1,20 @@ -db DEX_SQUIRTLE ; pokedex id -db 44 ; base hp -db 48 ; base attack -db 65 ; base defense -db 43 ; base speed -db 50 ; base special -db WATER ; species type 1 -db WATER ; species type 2 -db 45 ; catch rate -db 66 ; base exp yield -INCBIN "gfx/pokemon/front/squirtle.pic",0,1 ; 55, sprite dimensions -dw SquirtlePicFront -dw SquirtlePicBack -; attacks known at lvl 0 -db TACKLE -db TAIL_WHIP -db 0 -db 0 -db 3 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,11,12,13,14 - tmlearn 17,18,19,20 - tmlearn 28,31,32 - tmlearn 33,34,40 - tmlearn 44 - tmlearn 50,53,54 -db 0 ; padding + db DEX_SQUIRTLE ; pokedex id + + db 44, 48, 65, 43, 50 + ; hp atk def spd spc + + db WATER, WATER ; type + db 45 ; catch rate + db 66 ; base exp + + INCBIN "gfx/pokemon/front/squirtle.pic", 0, 1 ; sprite dimensions + dw SquirtlePicFront, SquirtlePicBack + + db TACKLE, TAIL_WHIP, NO_MOVE, NO_MOVE ; level 1 learnset + db 3 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 28, 31, 32, 33, 34, 40, 44, 50, 53, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/starmie.asm b/data/pokemon/base_stats/starmie.asm index 23858638..ce8f10be 100644 --- a/data/pokemon/base_stats/starmie.asm +++ b/data/pokemon/base_stats/starmie.asm @@ -1,28 +1,20 @@ -db DEX_STARMIE ; pokedex id -db 60 ; base hp -db 75 ; base attack -db 85 ; base defense -db 115 ; base speed -db 100 ; base special -db WATER ; species type 1 -db PSYCHIC ; species type 2 -db 60 ; catch rate -db 207 ; base exp yield -INCBIN "gfx/pokemon/front/starmie.pic",0,1 ; 66, sprite dimensions -dw StarmiePicFront -dw StarmiePicBack -; attacks known at lvl 0 -db TACKLE -db WATER_GUN -db HARDEN -db 0 -db 5 ; growth rate -; learnset - tmlearn 6 - tmlearn 9,10,11,12,13,14,15 - tmlearn 20,24 - tmlearn 25,29,30,31,32 - tmlearn 33,34,39,40 - tmlearn 44,45,46 - tmlearn 49,50,53,55 -db 0 ; padding + db DEX_STARMIE ; pokedex id + + db 60, 75, 85, 115, 100 + ; hp atk def spd spc + + db WATER, PSYCHIC ; type + db 60 ; catch rate + db 207 ; base exp + + INCBIN "gfx/pokemon/front/starmie.pic", 0, 1 ; sprite dimensions + dw StarmiePicFront, StarmiePicBack + + db TACKLE, WATER_GUN, HARDEN, NO_MOVE ; level 1 learnset + db 5 ; growth rate + + ; tm/hm learnset + tmhm 6, 9, 10, 11, 12, 13, 14, 15, 20, 24, 25, 29, 30, 31, 32, 33, 34, 39, 40, 44, 45, 46, 49, 50, 53, 55 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/staryu.asm b/data/pokemon/base_stats/staryu.asm index ffbb1f21..224e1fb8 100644 --- a/data/pokemon/base_stats/staryu.asm +++ b/data/pokemon/base_stats/staryu.asm @@ -1,28 +1,20 @@ -db DEX_STARYU ; pokedex id -db 30 ; base hp -db 45 ; base attack -db 55 ; base defense -db 85 ; base speed -db 70 ; base special -db WATER ; species type 1 -db WATER ; species type 2 -db 225 ; catch rate -db 106 ; base exp yield -INCBIN "gfx/pokemon/front/staryu.pic",0,1 ; 66, sprite dimensions -dw StaryuPicFront -dw StaryuPicBack -; attacks known at lvl 0 -db TACKLE -db 0 -db 0 -db 0 -db 5 ; growth rate -; learnset - tmlearn 6 - tmlearn 9,10,11,12,13,14 - tmlearn 20,24 - tmlearn 25,29,30,31,32 - tmlearn 33,34,39,40 - tmlearn 44,45,46 - tmlearn 49,50,53,55 -db 0 ; padding + db DEX_STARYU ; pokedex id + + db 30, 45, 55, 85, 70 + ; hp atk def spd spc + + db WATER, WATER ; type + db 225 ; catch rate + db 106 ; base exp + + INCBIN "gfx/pokemon/front/staryu.pic", 0, 1 ; sprite dimensions + dw StaryuPicFront, StaryuPicBack + + db TACKLE, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset + db 5 ; growth rate + + ; tm/hm learnset + tmhm 6, 9, 10, 11, 12, 13, 14, 20, 24, 25, 29, 30, 31, 32, 33, 34, 39, 40, 44, 45, 46, 49, 50, 53, 55 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/tangela.asm b/data/pokemon/base_stats/tangela.asm index 65570b3c..7148fad0 100644 --- a/data/pokemon/base_stats/tangela.asm +++ b/data/pokemon/base_stats/tangela.asm @@ -1,28 +1,20 @@ -db DEX_TANGELA ; pokedex id -db 65 ; base hp -db 55 ; base attack -db 115 ; base defense -db 60 ; base speed -db 100 ; base special -db GRASS ; species type 1 -db GRASS ; species type 2 -db 45 ; catch rate -db 166 ; base exp yield -INCBIN "gfx/pokemon/front/tangela.pic",0,1 ; 66, sprite dimensions -dw TangelaPicFront -dw TangelaPicBack -; attacks known at lvl 0 -db CONSTRICT -db BIND -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 3,6,8 - tmlearn 9,10,15 - tmlearn 20,21,22 - tmlearn 31,32 - tmlearn 34,40 - tmlearn 44 - tmlearn 50,51 -db 0 ; padding + db DEX_TANGELA ; pokedex id + + db 65, 55, 115, 60, 100 + ; hp atk def spd spc + + db GRASS, GRASS ; type + db 45 ; catch rate + db 166 ; base exp + + INCBIN "gfx/pokemon/front/tangela.pic", 0, 1 ; sprite dimensions + dw TangelaPicFront, TangelaPicBack + + db CONSTRICT, BIND, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 3, 6, 8, 9, 10, 15, 20, 21, 22, 31, 32, 34, 40, 44, 50, 51 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/tauros.asm b/data/pokemon/base_stats/tauros.asm index e66980d7..cbf16aa5 100644 --- a/data/pokemon/base_stats/tauros.asm +++ b/data/pokemon/base_stats/tauros.asm @@ -1,28 +1,20 @@ -db DEX_TAUROS ; pokedex id -db 75 ; base hp -db 100 ; base attack -db 95 ; base defense -db 110 ; base speed -db 70 ; base special -db NORMAL ; species type 1 -db NORMAL ; species type 2 -db 45 ; catch rate -db 211 ; base exp yield -INCBIN "gfx/pokemon/front/tauros.pic",0,1 ; 77, sprite dimensions -dw TaurosPicFront -dw TaurosPicBack -; attacks known at lvl 0 -db TACKLE -db 0 -db 0 -db 0 -db 5 ; growth rate -; learnset - tmlearn 6,7,8 - tmlearn 9,10,13,14,15 - tmlearn 20,24 - tmlearn 25,26,27,31,32 - tmlearn 34,38,40 - tmlearn 44 - tmlearn 50,54 -db 0 ; padding + db DEX_TAUROS ; pokedex id + + db 75, 100, 95, 110, 70 + ; hp atk def spd spc + + db NORMAL, NORMAL ; type + db 45 ; catch rate + db 211 ; base exp + + INCBIN "gfx/pokemon/front/tauros.pic", 0, 1 ; sprite dimensions + dw TaurosPicFront, TaurosPicBack + + db TACKLE, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset + db 5 ; growth rate + + ; tm/hm learnset + tmhm 6, 7, 8, 9, 10, 13, 14, 15, 20, 24, 25, 26, 27, 31, 32, 34, 38, 40, 44, 50, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/tentacool.asm b/data/pokemon/base_stats/tentacool.asm index 0b1b840d..b452d836 100644 --- a/data/pokemon/base_stats/tentacool.asm +++ b/data/pokemon/base_stats/tentacool.asm @@ -1,28 +1,20 @@ -db DEX_TENTACOOL ; pokedex id -db 40 ; base hp -db 40 ; base attack -db 35 ; base defense -db 70 ; base speed -db 100 ; base special -db WATER ; species type 1 -db POISON ; species type 2 -db 190 ; catch rate -db 105 ; base exp yield -INCBIN "gfx/pokemon/front/tentacool.pic",0,1 ; 55, sprite dimensions -dw TentacoolPicFront -dw TentacoolPicBack -; attacks known at lvl 0 -db ACID -db 0 -db 0 -db 0 -db 5 ; growth rate -; learnset - tmlearn 3,6 - tmlearn 9,10,11,12,13,14 - tmlearn 20,21 - tmlearn 31,32 - tmlearn 33,34,40 - tmlearn 44 - tmlearn 50,51,53 -db 0 ; padding + db DEX_TENTACOOL ; pokedex id + + db 40, 40, 35, 70, 100 + ; hp atk def spd spc + + db WATER, POISON ; type + db 190 ; catch rate + db 105 ; base exp + + INCBIN "gfx/pokemon/front/tentacool.pic", 0, 1 ; sprite dimensions + dw TentacoolPicFront, TentacoolPicBack + + db ACID, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset + db 5 ; growth rate + + ; tm/hm learnset + tmhm 3, 6, 9, 10, 11, 12, 13, 14, 20, 21, 31, 32, 33, 34, 40, 44, 50, 51, 53 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/tentacruel.asm b/data/pokemon/base_stats/tentacruel.asm index ef82c764..05b6f6ec 100644 --- a/data/pokemon/base_stats/tentacruel.asm +++ b/data/pokemon/base_stats/tentacruel.asm @@ -1,28 +1,20 @@ -db DEX_TENTACRUEL ; pokedex id -db 80 ; base hp -db 70 ; base attack -db 65 ; base defense -db 100 ; base speed -db 120 ; base special -db WATER ; species type 1 -db POISON ; species type 2 -db 60 ; catch rate -db 205 ; base exp yield -INCBIN "gfx/pokemon/front/tentacruel.pic",0,1 ; 66, sprite dimensions -dw TentacruelPicFront -dw TentacruelPicBack -; attacks known at lvl 0 -db ACID -db SUPERSONIC -db WRAP -db 0 -db 5 ; growth rate -; learnset - tmlearn 3,6 - tmlearn 9,10,11,12,13,14,15 - tmlearn 20,21 - tmlearn 31,32 - tmlearn 33,34,40 - tmlearn 44 - tmlearn 50,51,53 -db 0 ; padding + db DEX_TENTACRUEL ; pokedex id + + db 80, 70, 65, 100, 120 + ; hp atk def spd spc + + db WATER, POISON ; type + db 60 ; catch rate + db 205 ; base exp + + INCBIN "gfx/pokemon/front/tentacruel.pic", 0, 1 ; sprite dimensions + dw TentacruelPicFront, TentacruelPicBack + + db ACID, SUPERSONIC, WRAP, NO_MOVE ; level 1 learnset + db 5 ; growth rate + + ; tm/hm learnset + tmhm 3, 6, 9, 10, 11, 12, 13, 14, 15, 20, 21, 31, 32, 33, 34, 40, 44, 50, 51, 53 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/vaporeon.asm b/data/pokemon/base_stats/vaporeon.asm index a01c9ade..bf6bf6d9 100644 --- a/data/pokemon/base_stats/vaporeon.asm +++ b/data/pokemon/base_stats/vaporeon.asm @@ -1,28 +1,20 @@ -db DEX_VAPOREON ; pokedex id -db 130 ; base hp -db 65 ; base attack -db 60 ; base defense -db 65 ; base speed -db 110 ; base special -db WATER ; species type 1 -db WATER ; species type 2 -db 45 ; catch rate -db 196 ; base exp yield -INCBIN "gfx/pokemon/front/vaporeon.pic",0,1 ; 66, sprite dimensions -dw VaporeonPicFront -dw VaporeonPicBack -; attacks known at lvl 0 -db TACKLE -db SAND_ATTACK -db QUICK_ATTACK -db WATER_GUN -db 0 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10,11,12,13,14,15 - tmlearn 20 - tmlearn 31,32 - tmlearn 33,34,39,40 - tmlearn 44 - tmlearn 50,53 -db 0 ; padding + db DEX_VAPOREON ; pokedex id + + db 130, 65, 60, 65, 110 + ; hp atk def spd spc + + db WATER, WATER ; type + db 45 ; catch rate + db 196 ; base exp + + INCBIN "gfx/pokemon/front/vaporeon.pic", 0, 1 ; sprite dimensions + dw VaporeonPicFront, VaporeonPicBack + + db TACKLE, SAND_ATTACK, QUICK_ATTACK, WATER_GUN ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 6, 8, 9, 10, 11, 12, 13, 14, 15, 20, 31, 32, 33, 34, 39, 40, 44, 50, 53 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/venomoth.asm b/data/pokemon/base_stats/venomoth.asm index 7518f31e..b9987fa8 100644 --- a/data/pokemon/base_stats/venomoth.asm +++ b/data/pokemon/base_stats/venomoth.asm @@ -1,28 +1,20 @@ -db DEX_VENOMOTH ; pokedex id -db 70 ; base hp -db 65 ; base attack -db 60 ; base defense -db 90 ; base speed -db 90 ; base special -db BUG ; species type 1 -db POISON ; species type 2 -db 75 ; catch rate -db 138 ; base exp yield -INCBIN "gfx/pokemon/front/venomoth.pic",0,1 ; 77, sprite dimensions -dw VenomothPicFront -dw VenomothPicBack -; attacks known at lvl 0 -db TACKLE -db DISABLE -db POISONPOWDER -db LEECH_LIFE -db 0 ; growth rate -; learnset - tmlearn 2,4,6 - tmlearn 9,10,15 - tmlearn 20,21,22 - tmlearn 29,30,31,32 - tmlearn 33,34,39 - tmlearn 44,46 - tmlearn 50 -db 0 ; padding + db DEX_VENOMOTH ; pokedex id + + db 70, 65, 60, 90, 90 + ; hp atk def spd spc + + db BUG, POISON ; type + db 75 ; catch rate + db 138 ; base exp + + INCBIN "gfx/pokemon/front/venomoth.pic", 0, 1 ; sprite dimensions + dw VenomothPicFront, VenomothPicBack + + db TACKLE, DISABLE, POISONPOWDER, LEECH_LIFE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 2, 4, 6, 9, 10, 15, 20, 21, 22, 29, 30, 31, 32, 33, 34, 39, 44, 46, 50 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/venonat.asm b/data/pokemon/base_stats/venonat.asm index 1e88d9ae..afe877de 100644 --- a/data/pokemon/base_stats/venonat.asm +++ b/data/pokemon/base_stats/venonat.asm @@ -1,28 +1,20 @@ -db DEX_VENONAT ; pokedex id -db 60 ; base hp -db 55 ; base attack -db 50 ; base defense -db 45 ; base speed -db 40 ; base special -db BUG ; species type 1 -db POISON ; species type 2 -db 190 ; catch rate -db 75 ; base exp yield -INCBIN "gfx/pokemon/front/venonat.pic",0,1 ; 55, sprite dimensions -dw VenonatPicFront -dw VenonatPicBack -; attacks known at lvl 0 -db TACKLE -db DISABLE -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 6 - tmlearn 9,10 - tmlearn 20,21,22 - tmlearn 29,31,32 - tmlearn 33,34 - tmlearn 44,46 - tmlearn 50 -db 0 ; padding + db DEX_VENONAT ; pokedex id + + db 60, 55, 50, 45, 40 + ; hp atk def spd spc + + db BUG, POISON ; type + db 190 ; catch rate + db 75 ; base exp + + INCBIN "gfx/pokemon/front/venonat.pic", 0, 1 ; sprite dimensions + dw VenonatPicFront, VenonatPicBack + + db TACKLE, DISABLE, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 6, 9, 10, 20, 21, 22, 29, 31, 32, 33, 34, 44, 46, 50 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/venusaur.asm b/data/pokemon/base_stats/venusaur.asm index bda8a528..308006aa 100644 --- a/data/pokemon/base_stats/venusaur.asm +++ b/data/pokemon/base_stats/venusaur.asm @@ -1,28 +1,20 @@ -db DEX_VENUSAUR ; pokedex id -db 80 ; base hp -db 82 ; base attack -db 83 ; base defense -db 80 ; base speed -db 100 ; base special -db GRASS ; species type 1 -db POISON ; species type 2 -db 45 ; catch rate -db 208 ; base exp yield -INCBIN "gfx/pokemon/front/venusaur.pic",0,1 ; 77, sprite dimensions -dw VenusaurPicFront -dw VenusaurPicBack -; attacks known at lvl 0 -db TACKLE -db GROWL -db LEECH_SEED -db VINE_WHIP -db 3 ; growth rate -; learnset - tmlearn 3,6,8 - tmlearn 9,10,15 - tmlearn 20,21,22 - tmlearn 31,32 - tmlearn 33,34 - tmlearn 44 - tmlearn 50,51 -db 0 ; padding + db DEX_VENUSAUR ; pokedex id + + db 80, 82, 83, 80, 100 + ; hp atk def spd spc + + db GRASS, POISON ; type + db 45 ; catch rate + db 208 ; base exp + + INCBIN "gfx/pokemon/front/venusaur.pic", 0, 1 ; sprite dimensions + dw VenusaurPicFront, VenusaurPicBack + + db TACKLE, GROWL, LEECH_SEED, VINE_WHIP ; level 1 learnset + db 3 ; growth rate + + ; tm/hm learnset + tmhm 3, 6, 8, 9, 10, 15, 20, 21, 22, 31, 32, 33, 34, 44, 50, 51 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/victreebel.asm b/data/pokemon/base_stats/victreebel.asm index ce528805..17ea6643 100644 --- a/data/pokemon/base_stats/victreebel.asm +++ b/data/pokemon/base_stats/victreebel.asm @@ -1,28 +1,20 @@ -db DEX_VICTREEBEL ; pokedex id -db 80 ; base hp -db 105 ; base attack -db 65 ; base defense -db 70 ; base speed -db 100 ; base special -db GRASS ; species type 1 -db POISON ; species type 2 -db 45 ; catch rate -db 191 ; base exp yield -INCBIN "gfx/pokemon/front/victreebel.pic",0,1 ; 77, sprite dimensions -dw VictreebelPicFront -dw VictreebelPicBack -; attacks known at lvl 0 -db SLEEP_POWDER -db STUN_SPORE -db ACID -db RAZOR_LEAF -db 3 ; growth rate -; learnset - tmlearn 3,6,8 - tmlearn 9,10,15 - tmlearn 20,21,22 - tmlearn 31,32 - tmlearn 33,34 - tmlearn 44 - tmlearn 50,51 -db 0 ; padding + db DEX_VICTREEBEL ; pokedex id + + db 80, 105, 65, 70, 100 + ; hp atk def spd spc + + db GRASS, POISON ; type + db 45 ; catch rate + db 191 ; base exp + + INCBIN "gfx/pokemon/front/victreebel.pic", 0, 1 ; sprite dimensions + dw VictreebelPicFront, VictreebelPicBack + + db SLEEP_POWDER, STUN_SPORE, ACID, RAZOR_LEAF ; level 1 learnset + db 3 ; growth rate + + ; tm/hm learnset + tmhm 3, 6, 8, 9, 10, 15, 20, 21, 22, 31, 32, 33, 34, 44, 50, 51 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/vileplume.asm b/data/pokemon/base_stats/vileplume.asm index 2ec67131..9e6bc95c 100644 --- a/data/pokemon/base_stats/vileplume.asm +++ b/data/pokemon/base_stats/vileplume.asm @@ -1,28 +1,20 @@ -db DEX_VILEPLUME ; pokedex id -db 75 ; base hp -db 80 ; base attack -db 85 ; base defense -db 50 ; base speed -db 100 ; base special -db GRASS ; species type 1 -db POISON ; species type 2 -db 45 ; catch rate -db 184 ; base exp yield -INCBIN "gfx/pokemon/front/vileplume.pic",0,1 ; 77, sprite dimensions -dw VileplumePicFront -dw VileplumePicBack -; attacks known at lvl 0 -db STUN_SPORE -db SLEEP_POWDER -db ACID -db PETAL_DANCE -db 3 ; growth rate -; learnset - tmlearn 3,6,8 - tmlearn 9,10,15 - tmlearn 20,21,22 - tmlearn 31,32 - tmlearn 33,34 - tmlearn 44 - tmlearn 50,51 -db 0 ; padding + db DEX_VILEPLUME ; pokedex id + + db 75, 80, 85, 50, 100 + ; hp atk def spd spc + + db GRASS, POISON ; type + db 45 ; catch rate + db 184 ; base exp + + INCBIN "gfx/pokemon/front/vileplume.pic", 0, 1 ; sprite dimensions + dw VileplumePicFront, VileplumePicBack + + db STUN_SPORE, SLEEP_POWDER, ACID, PETAL_DANCE ; level 1 learnset + db 3 ; growth rate + + ; tm/hm learnset + tmhm 3, 6, 8, 9, 10, 15, 20, 21, 22, 31, 32, 33, 34, 44, 50, 51 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/voltorb.asm b/data/pokemon/base_stats/voltorb.asm index 6cb55714..2ae4998c 100644 --- a/data/pokemon/base_stats/voltorb.asm +++ b/data/pokemon/base_stats/voltorb.asm @@ -1,28 +1,20 @@ -db DEX_VOLTORB ; pokedex id -db 40 ; base hp -db 30 ; base attack -db 50 ; base defense -db 100 ; base speed -db 55 ; base special -db ELECTRIC ; species type 1 -db ELECTRIC ; species type 2 -db 190 ; catch rate -db 103 ; base exp yield -INCBIN "gfx/pokemon/front/voltorb.pic",0,1 ; 55, sprite dimensions -dw VoltorbPicFront -dw VoltorbPicBack -; attacks known at lvl 0 -db TACKLE -db SCREECH -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 6 - tmlearn 9 - tmlearn 20,24 - tmlearn 25,30,31,32 - tmlearn 33,34,36,39 - tmlearn 44,45,47 - tmlearn 50,55 -db 0 ; padding + db DEX_VOLTORB ; pokedex id + + db 40, 30, 50, 100, 55 + ; hp atk def spd spc + + db ELECTRIC, ELECTRIC ; type + db 190 ; catch rate + db 103 ; base exp + + INCBIN "gfx/pokemon/front/voltorb.pic", 0, 1 ; sprite dimensions + dw VoltorbPicFront, VoltorbPicBack + + db TACKLE, SCREECH, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 6, 9, 20, 24, 25, 30, 31, 32, 33, 34, 36, 39, 44, 45, 47, 50, 55 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/vulpix.asm b/data/pokemon/base_stats/vulpix.asm index 9285df13..7ccd994d 100644 --- a/data/pokemon/base_stats/vulpix.asm +++ b/data/pokemon/base_stats/vulpix.asm @@ -1,28 +1,20 @@ -db DEX_VULPIX ; pokedex id -db 38 ; base hp -db 41 ; base attack -db 40 ; base defense -db 65 ; base speed -db 65 ; base special -db FIRE ; species type 1 -db FIRE ; species type 2 -db 190 ; catch rate -db 63 ; base exp yield -INCBIN "gfx/pokemon/front/vulpix.pic",0,1 ; 66, sprite dimensions -dw VulpixPicFront -dw VulpixPicBack -; attacks known at lvl 0 -db EMBER -db TAIL_WHIP -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 6,8 - tmlearn 9,10 - tmlearn 20 - tmlearn 28,31,32 - tmlearn 33,34,38,39,40 - tmlearn 44 - tmlearn 50 -db 0 ; padding + db DEX_VULPIX ; pokedex id + + db 38, 41, 40, 65, 65 + ; hp atk def spd spc + + db FIRE, FIRE ; type + db 190 ; catch rate + db 63 ; base exp + + INCBIN "gfx/pokemon/front/vulpix.pic", 0, 1 ; sprite dimensions + dw VulpixPicFront, VulpixPicBack + + db EMBER, TAIL_WHIP, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 6, 8, 9, 10, 20, 28, 31, 32, 33, 34, 38, 39, 40, 44, 50 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/wartortle.asm b/data/pokemon/base_stats/wartortle.asm index ce37e7b3..5a1326f7 100644 --- a/data/pokemon/base_stats/wartortle.asm +++ b/data/pokemon/base_stats/wartortle.asm @@ -1,28 +1,20 @@ -db DEX_WARTORTLE ; pokedex id -db 59 ; base hp -db 63 ; base attack -db 80 ; base defense -db 58 ; base speed -db 65 ; base special -db WATER ; species type 1 -db WATER ; species type 2 -db 45 ; catch rate -db 143 ; base exp yield -INCBIN "gfx/pokemon/front/wartortle.pic",0,1 ; 66, sprite dimensions -dw WartortlePicFront -dw WartortlePicBack -; attacks known at lvl 0 -db TACKLE -db TAIL_WHIP -db BUBBLE -db 0 -db 3 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,11,12,13,14 - tmlearn 17,18,19,20 - tmlearn 28,31,32 - tmlearn 33,34,40 - tmlearn 44 - tmlearn 50,53,54 -db 0 ; padding + db DEX_WARTORTLE ; pokedex id + + db 59, 63, 80, 58, 65 + ; hp atk def spd spc + + db WATER, WATER ; type + db 45 ; catch rate + db 143 ; base exp + + INCBIN "gfx/pokemon/front/wartortle.pic", 0, 1 ; sprite dimensions + dw WartortlePicFront, WartortlePicBack + + db TACKLE, TAIL_WHIP, BUBBLE, NO_MOVE ; level 1 learnset + db 3 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 28, 31, 32, 33, 34, 40, 44, 50, 53, 54 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/weedle.asm b/data/pokemon/base_stats/weedle.asm index 7434d93a..9fb962ab 100644 --- a/data/pokemon/base_stats/weedle.asm +++ b/data/pokemon/base_stats/weedle.asm @@ -1,28 +1,20 @@ -db DEX_WEEDLE ; pokedex id -db 40 ; base hp -db 35 ; base attack -db 30 ; base defense -db 50 ; base speed -db 20 ; base special -db BUG ; species type 1 -db POISON ; species type 2 -db 255 ; catch rate -db 52 ; base exp yield -INCBIN "gfx/pokemon/front/weedle.pic",0,1 ; 55, sprite dimensions -dw WeedlePicFront -dw WeedlePicBack -; attacks known at lvl 0 -db POISON_STING -db STRING_SHOT -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 - tmlearn 0 -db 0 ; padding + db DEX_WEEDLE ; pokedex id + + db 40, 35, 30, 50, 20 + ; hp atk def spd spc + + db BUG, POISON ; type + db 255 ; catch rate + db 52 ; base exp + + INCBIN "gfx/pokemon/front/weedle.pic", 0, 1 ; sprite dimensions + dw WeedlePicFront, WeedlePicBack + + db POISON_STING, STRING_SHOT, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/weepinbell.asm b/data/pokemon/base_stats/weepinbell.asm index 48e18a31..60003774 100644 --- a/data/pokemon/base_stats/weepinbell.asm +++ b/data/pokemon/base_stats/weepinbell.asm @@ -1,28 +1,20 @@ -db DEX_WEEPINBELL ; pokedex id -db 65 ; base hp -db 90 ; base attack -db 50 ; base defense -db 55 ; base speed -db 85 ; base special -db GRASS ; species type 1 -db POISON ; species type 2 -db 120 ; catch rate -db 151 ; base exp yield -INCBIN "gfx/pokemon/front/weepinbell.pic",0,1 ; 66, sprite dimensions -dw WeepinbellPicFront -dw WeepinbellPicBack -; attacks known at lvl 0 -db VINE_WHIP -db GROWTH -db WRAP -db 0 -db 3 ; growth rate -; learnset - tmlearn 3,6 - tmlearn 9,10 - tmlearn 20,21,22 - tmlearn 31,32 - tmlearn 33,34 - tmlearn 44 - tmlearn 50,51 -db 0 ; padding + db DEX_WEEPINBELL ; pokedex id + + db 65, 90, 50, 55, 85 + ; hp atk def spd spc + + db GRASS, POISON ; type + db 120 ; catch rate + db 151 ; base exp + + INCBIN "gfx/pokemon/front/weepinbell.pic", 0, 1 ; sprite dimensions + dw WeepinbellPicFront, WeepinbellPicBack + + db VINE_WHIP, GROWTH, WRAP, NO_MOVE ; level 1 learnset + db 3 ; growth rate + + ; tm/hm learnset + tmhm 3, 6, 9, 10, 20, 21, 22, 31, 32, 33, 34, 44, 50, 51 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/weezing.asm b/data/pokemon/base_stats/weezing.asm index 21779741..cfdf16d7 100644 --- a/data/pokemon/base_stats/weezing.asm +++ b/data/pokemon/base_stats/weezing.asm @@ -1,28 +1,20 @@ -db DEX_WEEZING ; pokedex id -db 65 ; base hp -db 90 ; base attack -db 120 ; base defense -db 60 ; base speed -db 85 ; base special -db POISON ; species type 1 -db POISON ; species type 2 -db 60 ; catch rate -db 173 ; base exp yield -INCBIN "gfx/pokemon/front/weezing.pic",0,1 ; 77, sprite dimensions -dw WeezingPicFront -dw WeezingPicBack -; attacks known at lvl 0 -db TACKLE -db SMOG -db SLUDGE -db 0 -db 0 ; growth rate -; learnset - tmlearn 6 - tmlearn 15 - tmlearn 20,24 - tmlearn 25,31,32 - tmlearn 34,36,38 - tmlearn 44,47 - tmlearn 50 -db 0 ; padding + db DEX_WEEZING ; pokedex id + + db 65, 90, 120, 60, 85 + ; hp atk def spd spc + + db POISON, POISON ; type + db 60 ; catch rate + db 173 ; base exp + + INCBIN "gfx/pokemon/front/weezing.pic", 0, 1 ; sprite dimensions + dw WeezingPicFront, WeezingPicBack + + db TACKLE, SMOG, SLUDGE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 6, 15, 20, 24, 25, 31, 32, 34, 36, 38, 44, 47, 50 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/wigglytuff.asm b/data/pokemon/base_stats/wigglytuff.asm index 4f7fec95..c95ce777 100644 --- a/data/pokemon/base_stats/wigglytuff.asm +++ b/data/pokemon/base_stats/wigglytuff.asm @@ -1,28 +1,20 @@ -db DEX_WIGGLYTUFF ; pokedex id -db 140 ; base hp -db 70 ; base attack -db 45 ; base defense -db 45 ; base speed -db 50 ; base special -db NORMAL ; species type 1 -db NORMAL ; species type 2 -db 50 ; catch rate -db 109 ; base exp yield -INCBIN "gfx/pokemon/front/wigglytuff.pic",0,1 ; 66, sprite dimensions -dw WigglytuffPicFront -dw WigglytuffPicBack -; attacks known at lvl 0 -db SING -db DISABLE -db DEFENSE_CURL -db DOUBLESLAP -db 4 ; growth rate -; learnset - tmlearn 1,5,6,8 - tmlearn 9,10,11,12,13,14,15 - tmlearn 17,18,19,20,22,24 - tmlearn 25,29,30,31,32 - tmlearn 33,34,38,40 - tmlearn 44,45,46 - tmlearn 49,50,54,55 -db 0 ; padding + db DEX_WIGGLYTUFF ; pokedex id + + db 140, 70, 45, 45, 50 + ; hp atk def spd spc + + db NORMAL, NORMAL ; type + db 50 ; catch rate + db 109 ; base exp + + INCBIN "gfx/pokemon/front/wigglytuff.pic", 0, 1 ; sprite dimensions + dw WigglytuffPicFront, WigglytuffPicBack + + db SING, DISABLE, DEFENSE_CURL, DOUBLESLAP ; level 1 learnset + db 4 ; growth rate + + ; tm/hm learnset + tmhm 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 22, 24, 25, 29, 30, 31, 32, 33, 34, 38, 40, 44, 45, 46, 49, 50, 54, 55 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/zapdos.asm b/data/pokemon/base_stats/zapdos.asm index 560f78c4..da9c6050 100644 --- a/data/pokemon/base_stats/zapdos.asm +++ b/data/pokemon/base_stats/zapdos.asm @@ -1,28 +1,20 @@ -db DEX_ZAPDOS ; pokedex id -db 90 ; base hp -db 90 ; base attack -db 85 ; base defense -db 100 ; base speed -db 125 ; base special -db ELECTRIC ; species type 1 -db FLYING ; species type 2 -db 3 ; catch rate -db 216 ; base exp yield -INCBIN "gfx/pokemon/front/zapdos.pic",0,1 ; 77, sprite dimensions -dw ZapdosPicFront -dw ZapdosPicBack -; attacks known at lvl 0 -db THUNDERSHOCK -db DRILL_PECK -db 0 -db 0 -db 5 ; growth rate -; learnset - tmlearn 2,4,6 - tmlearn 9,10,15 - tmlearn 20,24 - tmlearn 25,31,32 - tmlearn 33,34,39 - tmlearn 43,44,45 - tmlearn 50,52,55 -db 0 ; padding + db DEX_ZAPDOS ; pokedex id + + db 90, 90, 85, 100, 125 + ; hp atk def spd spc + + db ELECTRIC, FLYING ; type + db 3 ; catch rate + db 216 ; base exp + + INCBIN "gfx/pokemon/front/zapdos.pic", 0, 1 ; sprite dimensions + dw ZapdosPicFront, ZapdosPicBack + + db THUNDERSHOCK, DRILL_PECK, NO_MOVE, NO_MOVE ; level 1 learnset + db 5 ; growth rate + + ; tm/hm learnset + tmhm 2, 4, 6, 9, 10, 15, 20, 24, 25, 31, 32, 33, 34, 39, 43, 44, 45, 50, 52, 55 + ; end + + db 0 ; padding diff --git a/data/pokemon/base_stats/zubat.asm b/data/pokemon/base_stats/zubat.asm index 55b7ac4c..e40e9ed9 100644 --- a/data/pokemon/base_stats/zubat.asm +++ b/data/pokemon/base_stats/zubat.asm @@ -1,28 +1,20 @@ -db DEX_ZUBAT ; pokedex id -db 40 ; base hp -db 45 ; base attack -db 35 ; base defense -db 55 ; base speed -db 40 ; base special -db POISON ; species type 1 -db FLYING ; species type 2 -db 255 ; catch rate -db 54 ; base exp yield -INCBIN "gfx/pokemon/front/zubat.pic",0,1 ; 55, sprite dimensions -dw ZubatPicFront -dw ZubatPicBack -; attacks known at lvl 0 -db LEECH_LIFE -db 0 -db 0 -db 0 -db 0 ; growth rate -; learnset - tmlearn 2,4,6 - tmlearn 9,10 - tmlearn 20,21 - tmlearn 31,32 - tmlearn 34,39 - tmlearn 44 - tmlearn 50 -db 0 ; padding + db DEX_ZUBAT ; pokedex id + + db 40, 45, 35, 55, 40 + ; hp atk def spd spc + + db POISON, FLYING ; type + db 255 ; catch rate + db 54 ; base exp + + INCBIN "gfx/pokemon/front/zubat.pic", 0, 1 ; sprite dimensions + dw ZubatPicFront, ZubatPicBack + + db LEECH_LIFE, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset + db 0 ; growth rate + + ; tm/hm learnset + tmhm 2, 4, 6, 9, 10, 20, 21, 31, 32, 34, 39, 44, 50 + ; end + + db 0 ; padding diff --git a/data/pokemon/mew.asm b/data/pokemon/mew.asm index ad8cb9b8..c68867ee 100644 --- a/data/pokemon/mew.asm +++ b/data/pokemon/mew.asm @@ -11,4 +11,5 @@ MewPicFront:: INCBIN "gfx/pokemon/front/mew.pic" MewPicBack:: INCBIN "gfx/pokemon/back/mewb.pic" +MewBaseStats:: INCLUDE "data/pokemon/base_stats/mew.asm" diff --git a/macros/data.asm b/macros/data.asm index 46fb866d..40227b87 100755 --- a/macros/data.asm +++ b/macros/data.asm @@ -16,15 +16,33 @@ ENDM coins equs "bcd2" money equs "bcd3" -tmlearn: MACRO -x = 0 - REPT _NARG -IF \1 != 0 -x = x | (1 << ((\1 - 1) % 8)) -ENDC - SHIFT - ENDR - db x +tmhm: MACRO +; used in data/pokemon/base_stats/*.asm +_tms1 = 0 ; TM01-TM24 (24) +_tms2 = 0 ; TM25-TM48 (24) +_tms3 = 0 ; TM49-TM50 + HM01-HM05 (7/24) +rept _NARG + if (\1) < 24 + 1 +_tms1 = _tms1 | (1 << ((\1) - 1)) + elif (\1) < 48 + 1 +_tms2 = _tms2 | (1 << ((\1) - 1 - 24)) + else +_tms3 = _tms3 | (1 << ((\1) - 1 - 48)) + endc + shift +endr +rept 3 ; TM01-TM24 (24/24) + db _tms1 & $ff +_tms1 = _tms1 >> 8 +endr +rept 3 ; TM25-TM48 (24/24) + db _tms2 & $ff +_tms2 = _tms2 >> 8 +endr +rept 1 ; TM49-TM50 + HM01-HM05 (7/8) + db _tms3 & $ff +_tms3 = _tms3 >> 8 +endr ENDM -- cgit v1.2.3 From 405889193ed592174407599df0bfd08a2d707a1b Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 5 Jul 2020 22:52:27 -0400 Subject: TM/HM constants named after moves --- constants/item_constants.asm | 134 +++++++++++++++++++------------- data/events/prizes.asm | 6 +- data/items/marts.asm | 2 +- data/items/tm_prices.asm | 50 ++++++------ data/maps/objects/MtMoon1F.asm | 2 +- data/maps/objects/MtMoonB2F.asm | 2 +- data/maps/objects/PokemonMansionB1F.asm | 4 +- data/maps/objects/PowerPlant.asm | 4 +- data/maps/objects/RocketHideoutB2F.asm | 2 +- data/maps/objects/RocketHideoutB3F.asm | 2 +- data/maps/objects/RocketHideoutB4F.asm | 2 +- data/maps/objects/Route12.asm | 2 +- data/maps/objects/Route15.asm | 2 +- data/maps/objects/Route24.asm | 2 +- data/maps/objects/Route25.asm | 2 +- data/maps/objects/Route4.asm | 2 +- data/maps/objects/Route9.asm | 2 +- data/maps/objects/SSAnne1FRooms.asm | 2 +- data/maps/objects/SSAnneB1FRooms.asm | 2 +- data/maps/objects/SafariZoneEast.asm | 2 +- data/maps/objects/SafariZoneNorth.asm | 2 +- data/maps/objects/SafariZoneWest.asm | 2 +- data/maps/objects/SilphCo10F.asm | 2 +- data/maps/objects/SilphCo5F.asm | 2 +- data/maps/objects/SilphCo7F.asm | 2 +- data/maps/objects/VictoryRoad1F.asm | 2 +- data/maps/objects/VictoryRoad2F.asm | 4 +- data/maps/objects/VictoryRoad3F.asm | 2 +- data/pokemon/base_stats/abra.asm | 2 +- data/pokemon/base_stats/aerodactyl.asm | 2 +- data/pokemon/base_stats/alakazam.asm | 2 +- data/pokemon/base_stats/arbok.asm | 2 +- data/pokemon/base_stats/arcanine.asm | 2 +- data/pokemon/base_stats/articuno.asm | 2 +- data/pokemon/base_stats/beedrill.asm | 2 +- data/pokemon/base_stats/bellsprout.asm | 2 +- data/pokemon/base_stats/blastoise.asm | 2 +- data/pokemon/base_stats/bulbasaur.asm | 2 +- data/pokemon/base_stats/butterfree.asm | 2 +- data/pokemon/base_stats/chansey.asm | 2 +- data/pokemon/base_stats/charizard.asm | 2 +- data/pokemon/base_stats/charmander.asm | 2 +- data/pokemon/base_stats/charmeleon.asm | 2 +- data/pokemon/base_stats/clefable.asm | 2 +- data/pokemon/base_stats/clefairy.asm | 2 +- data/pokemon/base_stats/cloyster.asm | 2 +- data/pokemon/base_stats/cubone.asm | 2 +- data/pokemon/base_stats/dewgong.asm | 2 +- data/pokemon/base_stats/diglett.asm | 2 +- data/pokemon/base_stats/dodrio.asm | 2 +- data/pokemon/base_stats/doduo.asm | 2 +- data/pokemon/base_stats/dragonair.asm | 2 +- data/pokemon/base_stats/dragonite.asm | 2 +- data/pokemon/base_stats/dratini.asm | 2 +- data/pokemon/base_stats/drowzee.asm | 2 +- data/pokemon/base_stats/dugtrio.asm | 2 +- data/pokemon/base_stats/eevee.asm | 2 +- data/pokemon/base_stats/ekans.asm | 2 +- data/pokemon/base_stats/electabuzz.asm | 2 +- data/pokemon/base_stats/electrode.asm | 2 +- data/pokemon/base_stats/exeggcute.asm | 2 +- data/pokemon/base_stats/exeggutor.asm | 2 +- data/pokemon/base_stats/farfetchd.asm | 2 +- data/pokemon/base_stats/fearow.asm | 2 +- data/pokemon/base_stats/flareon.asm | 2 +- data/pokemon/base_stats/gastly.asm | 2 +- data/pokemon/base_stats/gengar.asm | 2 +- data/pokemon/base_stats/geodude.asm | 2 +- data/pokemon/base_stats/gloom.asm | 2 +- data/pokemon/base_stats/golbat.asm | 2 +- data/pokemon/base_stats/goldeen.asm | 2 +- data/pokemon/base_stats/golduck.asm | 2 +- data/pokemon/base_stats/golem.asm | 2 +- data/pokemon/base_stats/graveler.asm | 2 +- data/pokemon/base_stats/grimer.asm | 2 +- data/pokemon/base_stats/growlithe.asm | 2 +- data/pokemon/base_stats/gyarados.asm | 2 +- data/pokemon/base_stats/haunter.asm | 2 +- data/pokemon/base_stats/hitmonchan.asm | 2 +- data/pokemon/base_stats/hitmonlee.asm | 2 +- data/pokemon/base_stats/horsea.asm | 2 +- data/pokemon/base_stats/hypno.asm | 2 +- data/pokemon/base_stats/ivysaur.asm | 2 +- data/pokemon/base_stats/jigglypuff.asm | 2 +- data/pokemon/base_stats/jolteon.asm | 2 +- data/pokemon/base_stats/jynx.asm | 2 +- data/pokemon/base_stats/kabuto.asm | 2 +- data/pokemon/base_stats/kabutops.asm | 2 +- data/pokemon/base_stats/kadabra.asm | 2 +- data/pokemon/base_stats/kangaskhan.asm | 2 +- data/pokemon/base_stats/kingler.asm | 2 +- data/pokemon/base_stats/koffing.asm | 2 +- data/pokemon/base_stats/krabby.asm | 2 +- data/pokemon/base_stats/lapras.asm | 2 +- data/pokemon/base_stats/lickitung.asm | 2 +- data/pokemon/base_stats/machamp.asm | 2 +- data/pokemon/base_stats/machoke.asm | 2 +- data/pokemon/base_stats/machop.asm | 2 +- data/pokemon/base_stats/magmar.asm | 2 +- data/pokemon/base_stats/magnemite.asm | 2 +- data/pokemon/base_stats/magneton.asm | 2 +- data/pokemon/base_stats/mankey.asm | 2 +- data/pokemon/base_stats/marowak.asm | 2 +- data/pokemon/base_stats/meowth.asm | 2 +- data/pokemon/base_stats/mew.asm | 2 +- data/pokemon/base_stats/mewtwo.asm | 2 +- data/pokemon/base_stats/moltres.asm | 2 +- data/pokemon/base_stats/mrmime.asm | 2 +- data/pokemon/base_stats/muk.asm | 2 +- data/pokemon/base_stats/nidoking.asm | 2 +- data/pokemon/base_stats/nidoqueen.asm | 2 +- data/pokemon/base_stats/nidoranf.asm | 2 +- data/pokemon/base_stats/nidoranm.asm | 2 +- data/pokemon/base_stats/nidorina.asm | 2 +- data/pokemon/base_stats/nidorino.asm | 2 +- data/pokemon/base_stats/ninetales.asm | 2 +- data/pokemon/base_stats/oddish.asm | 2 +- data/pokemon/base_stats/omanyte.asm | 2 +- data/pokemon/base_stats/omastar.asm | 2 +- data/pokemon/base_stats/onix.asm | 2 +- data/pokemon/base_stats/paras.asm | 2 +- data/pokemon/base_stats/parasect.asm | 2 +- data/pokemon/base_stats/persian.asm | 2 +- data/pokemon/base_stats/pidgeot.asm | 2 +- data/pokemon/base_stats/pidgeotto.asm | 2 +- data/pokemon/base_stats/pidgey.asm | 2 +- data/pokemon/base_stats/pikachu.asm | 2 +- data/pokemon/base_stats/pinsir.asm | 2 +- data/pokemon/base_stats/poliwag.asm | 2 +- data/pokemon/base_stats/poliwhirl.asm | 2 +- data/pokemon/base_stats/poliwrath.asm | 2 +- data/pokemon/base_stats/ponyta.asm | 2 +- data/pokemon/base_stats/porygon.asm | 2 +- data/pokemon/base_stats/primeape.asm | 2 +- data/pokemon/base_stats/psyduck.asm | 2 +- data/pokemon/base_stats/raichu.asm | 2 +- data/pokemon/base_stats/rapidash.asm | 2 +- data/pokemon/base_stats/raticate.asm | 2 +- data/pokemon/base_stats/rattata.asm | 2 +- data/pokemon/base_stats/rhydon.asm | 2 +- data/pokemon/base_stats/rhyhorn.asm | 2 +- data/pokemon/base_stats/sandshrew.asm | 2 +- data/pokemon/base_stats/sandslash.asm | 2 +- data/pokemon/base_stats/scyther.asm | 2 +- data/pokemon/base_stats/seadra.asm | 2 +- data/pokemon/base_stats/seaking.asm | 2 +- data/pokemon/base_stats/seel.asm | 2 +- data/pokemon/base_stats/shellder.asm | 2 +- data/pokemon/base_stats/slowbro.asm | 2 +- data/pokemon/base_stats/slowpoke.asm | 2 +- data/pokemon/base_stats/snorlax.asm | 2 +- data/pokemon/base_stats/spearow.asm | 2 +- data/pokemon/base_stats/squirtle.asm | 2 +- data/pokemon/base_stats/starmie.asm | 2 +- data/pokemon/base_stats/staryu.asm | 2 +- data/pokemon/base_stats/tangela.asm | 2 +- data/pokemon/base_stats/tauros.asm | 2 +- data/pokemon/base_stats/tentacool.asm | 2 +- data/pokemon/base_stats/tentacruel.asm | 2 +- data/pokemon/base_stats/vaporeon.asm | 2 +- data/pokemon/base_stats/venomoth.asm | 2 +- data/pokemon/base_stats/venonat.asm | 2 +- data/pokemon/base_stats/venusaur.asm | 2 +- data/pokemon/base_stats/victreebel.asm | 2 +- data/pokemon/base_stats/vileplume.asm | 2 +- data/pokemon/base_stats/voltorb.asm | 2 +- data/pokemon/base_stats/vulpix.asm | 2 +- data/pokemon/base_stats/wartortle.asm | 2 +- data/pokemon/base_stats/weepinbell.asm | 2 +- data/pokemon/base_stats/weezing.asm | 2 +- data/pokemon/base_stats/wigglytuff.asm | 2 +- data/pokemon/base_stats/zapdos.asm | 2 +- data/pokemon/base_stats/zubat.asm | 2 +- engine/items/item_effects.asm | 8 +- engine/items/tm_prices.asm | 4 +- engine/menus/start_sub_menus.asm | 2 +- home.asm | 2 +- home/names.asm | 14 ++-- home/names2.asm | 2 +- macros/data.asm | 14 ++-- scripts/CeladonCity.asm | 2 +- scripts/CeladonGym.asm | 2 +- scripts/CeladonMart3F.asm | 2 +- scripts/CeladonMartRoof.asm | 6 +- scripts/CeruleanCity.asm | 2 +- scripts/CeruleanGym.asm | 2 +- scripts/CinnabarGym.asm | 2 +- scripts/CinnabarLabMetronomeRoom.asm | 2 +- scripts/CopycatsHouse2F.asm | 2 +- scripts/FuchsiaGym.asm | 2 +- scripts/MrPsychicsHouse.asm | 2 +- scripts/PewterGym.asm | 2 +- scripts/Route12Gate2F.asm | 2 +- scripts/Route16FlyHouse.asm | 2 +- scripts/Route2Gate.asm | 2 +- scripts/SSAnneCaptainsRoom.asm | 2 +- scripts/SafariZoneSecretHouse.asm | 2 +- scripts/SaffronGym.asm | 2 +- scripts/SilphCo2F.asm | 2 +- scripts/VermilionGym.asm | 2 +- scripts/ViridianCity.asm | 2 +- scripts/ViridianGym.asm | 2 +- scripts/WardensHouse.asm | 2 +- 203 files changed, 330 insertions(+), 302 deletions(-) diff --git a/constants/item_constants.asm b/constants/item_constants.asm index a0c32d14..0bb7cdb7 100755 --- a/constants/item_constants.asm +++ b/constants/item_constants.asm @@ -102,58 +102,82 @@ SAFARI_ROCK EQU $16 ; overload const_value = $C4 - const HM_01 ; $C4 - const HM_02 ; $C5 - const HM_03 ; $C6 - const HM_04 ; $C7 - const HM_05 ; $C8 - const TM_01 ; $C9 - const TM_02 ; $CA - const TM_03 ; $CB - const TM_04 ; $CC - const TM_05 ; $CD - const TM_06 ; $CE - const TM_07 ; $CF - const TM_08 ; $D0 - const TM_09 ; $D1 - const TM_10 ; $D2 - const TM_11 ; $D3 - const TM_12 ; $D4 - const TM_13 ; $D5 - const TM_14 ; $D6 - const TM_15 ; $D7 - const TM_16 ; $D8 - const TM_17 ; $D9 - const TM_18 ; $DA - const TM_19 ; $DB - const TM_20 ; $DC - const TM_21 ; $DD - const TM_22 ; $DE - const TM_23 ; $DF - const TM_24 ; $E0 - const TM_25 ; $E1 - const TM_26 ; $E2 - const TM_27 ; $E3 - const TM_28 ; $E4 - const TM_29 ; $E5 - const TM_30 ; $E6 - const TM_31 ; $E7 - const TM_32 ; $E8 - const TM_33 ; $E9 - const TM_34 ; $EA - const TM_35 ; $EB - const TM_36 ; $EC - const TM_37 ; $ED - const TM_38 ; $EE - const TM_39 ; $EF - const TM_40 ; $F0 - const TM_41 ; $F1 - const TM_42 ; $F2 - const TM_43 ; $F3 - const TM_44 ; $F4 - const TM_45 ; $F5 - const TM_46 ; $F6 - const TM_47 ; $F7 - const TM_48 ; $F8 - const TM_49 ; $F9 - const TM_50 ; $FA +add_hm: MACRO +if !DEF(HM01) +HM01 EQU const_value + enum_start 51 ; NUM_TMS + 1 +endc + const HM_\1 + enum \1_TMNUM +ENDM + + add_hm CUT ; $C4 + add_hm FLY ; $C5 + add_hm SURF ; $C6 + add_hm STRENGTH ; $C7 + add_hm FLASH ; $C8 +NUM_HMS EQU const_value - HM01 + +add_tm: MACRO +if !DEF(TM01) +TM01 EQU const_value + enum_start 1 +endc + const TM_\1 + enum \1_TMNUM +ENDM + + add_tm MEGA_PUNCH ; $C9 + add_tm RAZOR_WIND ; $CA + add_tm SWORDS_DANCE ; $CB + add_tm WHIRLWIND ; $CC + add_tm MEGA_KICK ; $CD + add_tm TOXIC ; $CE + add_tm HORN_DRILL ; $CF + add_tm BODY_SLAM ; $D0 + add_tm TAKE_DOWN ; $D1 + add_tm DOUBLE_EDGE ; $D2 + add_tm BUBBLEBEAM ; $D3 + add_tm WATER_GUN ; $D4 + add_tm ICE_BEAM ; $D5 + add_tm BLIZZARD ; $D6 + add_tm HYPER_BEAM ; $D7 + add_tm PAY_DAY ; $D8 + add_tm SUBMISSION ; $D9 + add_tm COUNTER ; $DA + add_tm SEISMIC_TOSS ; $DB + add_tm RAGE ; $DC + add_tm MEGA_DRAIN ; $DD + add_tm SOLARBEAM ; $DE + add_tm DRAGON_RAGE ; $DF + add_tm THUNDERBOLT ; $E0 + add_tm THUNDER ; $E1 + add_tm EARTHQUAKE ; $E2 + add_tm FISSURE ; $E3 + add_tm DIG ; $E4 + add_tm PSYCHIC_M ; $E5 + add_tm TELEPORT ; $E6 + add_tm MIMIC ; $E7 + add_tm DOUBLE_TEAM ; $E8 + add_tm REFLECT ; $E9 + add_tm BIDE ; $EA + add_tm METRONOME ; $EB + add_tm SELFDESTRUCT ; $EC + add_tm EGG_BOMB ; $ED + add_tm FIRE_BLAST ; $EE + add_tm SWIFT ; $EF + add_tm SKULL_BASH ; $F0 + add_tm SOFTBOILED ; $F1 + add_tm DREAM_EATER ; $F2 + add_tm SKY_ATTACK ; $F3 + add_tm REST ; $F4 + add_tm THUNDER_WAVE ; $F5 + add_tm PSYWAVE ; $F6 + add_tm EXPLOSION ; $F7 + add_tm ROCK_SLIDE ; $F8 + add_tm TRI_ATTACK ; $F9 + add_tm SUBSTITUTE ; $FA +NUM_TMS EQU const_value - TM01 + + enum_start NUM_TMS + NUM_HMS + 1 + enum UNUSED_TMNUM diff --git a/data/events/prizes.asm b/data/events/prizes.asm index 1120c0d0..ac162b33 100755 --- a/data/events/prizes.asm +++ b/data/events/prizes.asm @@ -60,9 +60,9 @@ ENDC db "@" PrizeMenuTMsEntries: - db TM_23 - db TM_15 - db TM_50 + db TM_DRAGON_RAGE + db TM_HYPER_BEAM + db TM_SUBSTITUTE db "@" PrizeMenuTMsCost: diff --git a/data/items/marts.asm b/data/items/marts.asm index 3d7677a0..80d62931 100755 --- a/data/items/marts.asm +++ b/data/items/marts.asm @@ -30,7 +30,7 @@ CeladonMart2Clerk1Text:: ; Celadon Dept. Store 2F (2) CeladonMart2Clerk2Text:: - script_mart TM_32, TM_33, TM_02, TM_07, TM_37, TM_01, TM_05, TM_09, TM_17 + script_mart TM_DOUBLE_TEAM, TM_REFLECT, TM_RAZOR_WIND, TM_HORN_DRILL, TM_EGG_BOMB, TM_MEGA_PUNCH, TM_MEGA_KICK, TM_TAKE_DOWN, TM_SUBMISSION ; Celadon Dept. Store 4F CeladonMart4ClerkText:: diff --git a/data/items/tm_prices.asm b/data/items/tm_prices.asm index ccc8be05..7f007e9d 100755 --- a/data/items/tm_prices.asm +++ b/data/items/tm_prices.asm @@ -1,27 +1,27 @@ TechnicalMachinePrices: ; In thousands (nybbles). - dn 3, 2 ; TM_01, TM_02 - dn 2, 1 ; TM_03, TM_04 - dn 3, 4 ; TM_05, TM_06 - dn 2, 4 ; TM_07, TM_08 - dn 3, 4 ; TM_09, TM_10 - dn 2, 1 ; TM_11, TM_12 - dn 4, 5 ; TM_13, TM_14 - dn 5, 5 ; TM_15, TM_16 - dn 3, 2 ; TM_17, TM_18 - dn 3, 2 ; TM_19, TM_20 - dn 5, 5 ; TM_21, TM_22 - dn 5, 2 ; TM_23, TM_24 - dn 5, 4 ; TM_25, TM_26 - dn 5, 2 ; TM_27, TM_28 - dn 4, 1 ; TM_29, TM_30 - dn 2, 1 ; TM_31, TM_32 - dn 1, 2 ; TM_33, TM_34 - dn 4, 2 ; TM_35, TM_36 - dn 2, 5 ; TM_37, TM_38 - dn 2, 4 ; TM_39, TM_40 - dn 2, 2 ; TM_41, TM_42 - dn 5, 2 ; TM_43, TM_44 - dn 2, 4 ; TM_45, TM_46 - dn 3, 4 ; TM_47, TM_48 - dn 4, 2 ; TM_49, TM_50 + dn 3, 2 ; TM01, TM02 + dn 2, 1 ; TM03, TM04 + dn 3, 4 ; TM05, TM06 + dn 2, 4 ; TM07, TM08 + dn 3, 4 ; TM09, TM10 + dn 2, 1 ; TM11, TM12 + dn 4, 5 ; TM13, TM14 + dn 5, 5 ; TM15, TM16 + dn 3, 2 ; TM17, TM18 + dn 3, 2 ; TM19, TM20 + dn 5, 5 ; TM21, TM22 + dn 5, 2 ; TM23, TM24 + dn 5, 4 ; TM25, TM26 + dn 5, 2 ; TM27, TM28 + dn 4, 1 ; TM29, TM30 + dn 2, 1 ; TM31, TM32 + dn 1, 2 ; TM33, TM34 + dn 4, 2 ; TM35, TM36 + dn 2, 5 ; TM37, TM38 + dn 2, 4 ; TM39, TM40 + dn 2, 2 ; TM41, TM42 + dn 5, 2 ; TM43, TM44 + dn 2, 4 ; TM45, TM46 + dn 3, 4 ; TM47, TM48 + dn 4, 2 ; TM49, TM50 diff --git a/data/maps/objects/MtMoon1F.asm b/data/maps/objects/MtMoon1F.asm index 56820161..bc158512 100755 --- a/data/maps/objects/MtMoon1F.asm +++ b/data/maps/objects/MtMoon1F.asm @@ -24,7 +24,7 @@ MtMoon1F_Object: object SPRITE_BALL, 35, 31, STAY, NONE, 10, RARE_CANDY object SPRITE_BALL, 36, 23, STAY, NONE, 11, ESCAPE_ROPE object SPRITE_BALL, 20, 33, STAY, NONE, 12, POTION - object SPRITE_BALL, 5, 32, STAY, NONE, 13, TM_12 + object SPRITE_BALL, 5, 32, STAY, NONE, 13, TM_WATER_GUN ; warp-to warp_to 14, 35, MT_MOON_1F_WIDTH diff --git a/data/maps/objects/MtMoonB2F.asm b/data/maps/objects/MtMoonB2F.asm index 27b2383f..6c90514d 100755 --- a/data/maps/objects/MtMoonB2F.asm +++ b/data/maps/objects/MtMoonB2F.asm @@ -18,7 +18,7 @@ MtMoonB2F_Object: object SPRITE_OMANYTE, 12, 6, STAY, NONE, 6 ; person object SPRITE_OMANYTE, 13, 6, STAY, NONE, 7 ; person object SPRITE_BALL, 25, 21, STAY, NONE, 8, HP_UP - object SPRITE_BALL, 29, 5, STAY, NONE, 9, TM_01 + object SPRITE_BALL, 29, 5, STAY, NONE, 9, TM_MEGA_PUNCH ; warp-to warp_to 25, 9, MT_MOON_B2F_WIDTH ; MT_MOON_B1F diff --git a/data/maps/objects/PokemonMansionB1F.asm b/data/maps/objects/PokemonMansionB1F.asm index ac232799..1a6d6f32 100755 --- a/data/maps/objects/PokemonMansionB1F.asm +++ b/data/maps/objects/PokemonMansionB1F.asm @@ -11,8 +11,8 @@ PokemonMansionB1F_Object: object SPRITE_OAK_AIDE, 27, 11, STAY, DOWN, 2, OPP_SCIENTIST, 13 object SPRITE_BALL, 10, 2, STAY, NONE, 3, RARE_CANDY object SPRITE_BALL, 1, 22, STAY, NONE, 4, FULL_RESTORE - object SPRITE_BALL, 19, 25, STAY, NONE, 5, TM_14 - object SPRITE_BALL, 5, 4, STAY, NONE, 6, TM_22 + object SPRITE_BALL, 19, 25, STAY, NONE, 5, TM_BLIZZARD + object SPRITE_BALL, 5, 4, STAY, NONE, 6, TM_SOLARBEAM object SPRITE_BOOK_MAP_DEX, 16, 20, STAY, NONE, 7 ; person object SPRITE_BALL, 5, 13, STAY, NONE, 8, SECRET_KEY diff --git a/data/maps/objects/PowerPlant.asm b/data/maps/objects/PowerPlant.asm index a8548b1c..05465325 100755 --- a/data/maps/objects/PowerPlant.asm +++ b/data/maps/objects/PowerPlant.asm @@ -21,8 +21,8 @@ PowerPlant_Object: object SPRITE_BALL, 7, 25, STAY, NONE, 10, CARBOS object SPRITE_BALL, 28, 3, STAY, NONE, 11, HP_UP object SPRITE_BALL, 34, 3, STAY, NONE, 12, RARE_CANDY - object SPRITE_BALL, 26, 32, STAY, NONE, 13, TM_25 - object SPRITE_BALL, 20, 32, STAY, NONE, 14, TM_33 + object SPRITE_BALL, 26, 32, STAY, NONE, 13, TM_THUNDER + object SPRITE_BALL, 20, 32, STAY, NONE, 14, TM_REFLECT ; warp-to warp_to 4, 35, POWER_PLANT_WIDTH diff --git a/data/maps/objects/RocketHideoutB2F.asm b/data/maps/objects/RocketHideoutB2F.asm index 36fe9289..b0836736 100755 --- a/data/maps/objects/RocketHideoutB2F.asm +++ b/data/maps/objects/RocketHideoutB2F.asm @@ -14,7 +14,7 @@ RocketHideoutB2F_Object: object SPRITE_ROCKET, 20, 12, STAY, DOWN, 1, OPP_ROCKET, 13 object SPRITE_BALL, 1, 11, STAY, NONE, 2, MOON_STONE object SPRITE_BALL, 16, 8, STAY, NONE, 3, NUGGET - object SPRITE_BALL, 6, 12, STAY, NONE, 4, TM_07 + object SPRITE_BALL, 6, 12, STAY, NONE, 4, TM_HORN_DRILL object SPRITE_BALL, 3, 21, STAY, NONE, 5, SUPER_POTION ; warp-to diff --git a/data/maps/objects/RocketHideoutB3F.asm b/data/maps/objects/RocketHideoutB3F.asm index 6169dbed..86ab03fe 100755 --- a/data/maps/objects/RocketHideoutB3F.asm +++ b/data/maps/objects/RocketHideoutB3F.asm @@ -10,7 +10,7 @@ RocketHideoutB3F_Object: db 4 ; objects object SPRITE_ROCKET, 10, 22, STAY, RIGHT, 1, OPP_ROCKET, 14 object SPRITE_ROCKET, 26, 12, STAY, UP, 2, OPP_ROCKET, 15 - object SPRITE_BALL, 26, 17, STAY, NONE, 3, TM_10 + object SPRITE_BALL, 26, 17, STAY, NONE, 3, TM_DOUBLE_EDGE object SPRITE_BALL, 20, 14, STAY, NONE, 4, RARE_CANDY ; warp-to diff --git a/data/maps/objects/RocketHideoutB4F.asm b/data/maps/objects/RocketHideoutB4F.asm index be353f25..9ca7aeed 100755 --- a/data/maps/objects/RocketHideoutB4F.asm +++ b/data/maps/objects/RocketHideoutB4F.asm @@ -14,7 +14,7 @@ RocketHideoutB4F_Object: object SPRITE_ROCKET, 26, 12, STAY, DOWN, 3, OPP_ROCKET, 17 object SPRITE_ROCKET, 11, 2, STAY, DOWN, 4, OPP_ROCKET, 18 object SPRITE_BALL, 10, 12, STAY, NONE, 5, HP_UP - object SPRITE_BALL, 9, 4, STAY, NONE, 6, TM_02 + object SPRITE_BALL, 9, 4, STAY, NONE, 6, TM_RAZOR_WIND object SPRITE_BALL, 12, 20, STAY, NONE, 7, IRON object SPRITE_BALL, 25, 2, STAY, NONE, 8, SILPH_SCOPE object SPRITE_BALL, 10, 2, STAY, NONE, 9, LIFT_KEY diff --git a/data/maps/objects/Route12.asm b/data/maps/objects/Route12.asm index a9d84cf0..6cce9529 100755 --- a/data/maps/objects/Route12.asm +++ b/data/maps/objects/Route12.asm @@ -20,7 +20,7 @@ Route12_Object: object SPRITE_FISHER2, 12, 40, STAY, LEFT, 6, OPP_FISHER, 5 object SPRITE_FISHER2, 9, 52, STAY, RIGHT, 7, OPP_FISHER, 6 object SPRITE_FISHER2, 6, 87, STAY, DOWN, 8, OPP_FISHER, 11 - object SPRITE_BALL, 14, 35, STAY, NONE, 9, TM_16 + object SPRITE_BALL, 14, 35, STAY, NONE, 9, TM_PAY_DAY object SPRITE_BALL, 5, 89, STAY, NONE, 10, IRON ; warp-to diff --git a/data/maps/objects/Route15.asm b/data/maps/objects/Route15.asm index f52cc1b8..80257319 100755 --- a/data/maps/objects/Route15.asm +++ b/data/maps/objects/Route15.asm @@ -21,7 +21,7 @@ Route15_Object: object SPRITE_BIKER, 46, 10, STAY, DOWN, 8, OPP_BIKER, 4 object SPRITE_LASS, 37, 5, STAY, RIGHT, 9, OPP_JR_TRAINER_F, 22 object SPRITE_LASS, 18, 13, STAY, UP, 10, OPP_JR_TRAINER_F, 23 - object SPRITE_BALL, 18, 5, STAY, NONE, 11, TM_20 + object SPRITE_BALL, 18, 5, STAY, NONE, 11, TM_RAGE ; warp-to warp_to 7, 8, ROUTE_15_WIDTH ; ROUTE_15_GATE_1F diff --git a/data/maps/objects/Route24.asm b/data/maps/objects/Route24.asm index 8ef0d2b9..6eefd3d3 100755 --- a/data/maps/objects/Route24.asm +++ b/data/maps/objects/Route24.asm @@ -13,4 +13,4 @@ Route24_Object: object SPRITE_BUG_CATCHER, 11, 25, STAY, LEFT, 5, OPP_YOUNGSTER, 4 object SPRITE_LASS, 10, 28, STAY, RIGHT, 6, OPP_LASS, 8 object SPRITE_BUG_CATCHER, 11, 31, STAY, LEFT, 7, OPP_BUG_CATCHER, 9 - object SPRITE_BALL, 10, 5, STAY, NONE, 8, TM_45 + object SPRITE_BALL, 10, 5, STAY, NONE, 8, TM_THUNDER_WAVE diff --git a/data/maps/objects/Route25.asm b/data/maps/objects/Route25.asm index a85f85ca..1d2ebc1b 100755 --- a/data/maps/objects/Route25.asm +++ b/data/maps/objects/Route25.asm @@ -17,7 +17,7 @@ Route25_Object: object SPRITE_HIKER, 8, 4, STAY, RIGHT, 7, OPP_HIKER, 2 object SPRITE_HIKER, 23, 9, STAY, UP, 8, OPP_HIKER, 3 object SPRITE_HIKER, 13, 7, STAY, RIGHT, 9, OPP_HIKER, 4 - object SPRITE_BALL, 22, 2, STAY, NONE, 10, TM_19 + object SPRITE_BALL, 22, 2, STAY, NONE, 10, TM_SEISMIC_TOSS ; warp-to warp_to 45, 3, ROUTE_25_WIDTH ; BILLS_HOUSE diff --git a/data/maps/objects/Route4.asm b/data/maps/objects/Route4.asm index 4ab88f8f..0c34f6db 100755 --- a/data/maps/objects/Route4.asm +++ b/data/maps/objects/Route4.asm @@ -14,7 +14,7 @@ Route4_Object: db 3 ; objects object SPRITE_LASS, 9, 8, WALK, 0, 1 ; person object SPRITE_LASS, 63, 3, STAY, RIGHT, 2, OPP_LASS, 4 - object SPRITE_BALL, 57, 3, STAY, NONE, 3, TM_04 + object SPRITE_BALL, 57, 3, STAY, NONE, 3, TM_WHIRLWIND ; warp-to warp_to 11, 5, ROUTE_4_WIDTH ; MT_MOON_POKECENTER diff --git a/data/maps/objects/Route9.asm b/data/maps/objects/Route9.asm index a991c0c7..50fac190 100755 --- a/data/maps/objects/Route9.asm +++ b/data/maps/objects/Route9.asm @@ -16,4 +16,4 @@ Route9_Object: object SPRITE_BUG_CATCHER, 22, 2, STAY, DOWN, 7, OPP_BUG_CATCHER, 13 object SPRITE_HIKER, 45, 15, STAY, RIGHT, 8, OPP_HIKER, 5 object SPRITE_BUG_CATCHER, 40, 8, STAY, RIGHT, 9, OPP_BUG_CATCHER, 14 - object SPRITE_BALL, 10, 15, STAY, NONE, 10, TM_30 + object SPRITE_BALL, 10, 15, STAY, NONE, 10, TM_TELEPORT diff --git a/data/maps/objects/SSAnne1FRooms.asm b/data/maps/objects/SSAnne1FRooms.asm index 617d2a55..1b7813a1 100755 --- a/data/maps/objects/SSAnne1FRooms.asm +++ b/data/maps/objects/SSAnne1FRooms.asm @@ -21,7 +21,7 @@ SSAnne1FRooms_Object: object SPRITE_LITTLE_GIRL, 2, 11, STAY, DOWN, 7 ; person object SPRITE_CLEFAIRY, 3, 11, STAY, DOWN, 8 ; person object SPRITE_GIRL, 10, 13, STAY, RIGHT, 9 ; person - object SPRITE_BALL, 12, 15, STAY, NONE, 10, TM_08 + object SPRITE_BALL, 12, 15, STAY, NONE, 10, TM_BODY_SLAM object SPRITE_GENTLEMAN, 21, 13, WALK, 2, 11 ; person ; warp-to diff --git a/data/maps/objects/SSAnneB1FRooms.asm b/data/maps/objects/SSAnneB1FRooms.asm index 1d31b89c..5a03cafd 100755 --- a/data/maps/objects/SSAnneB1FRooms.asm +++ b/data/maps/objects/SSAnneB1FRooms.asm @@ -25,7 +25,7 @@ SSAnneB1FRooms_Object: object SPRITE_BLACK_HAIR_BOY_2, 10, 13, STAY, RIGHT, 7 ; person object SPRITE_SLOWBRO, 11, 12, STAY, NONE, 8 ; person object SPRITE_BALL, 20, 2, STAY, NONE, 9, ETHER - object SPRITE_BALL, 10, 2, STAY, NONE, 10, TM_44 + object SPRITE_BALL, 10, 2, STAY, NONE, 10, TM_REST object SPRITE_BALL, 12, 11, STAY, NONE, 11, MAX_POTION ; warp-to diff --git a/data/maps/objects/SafariZoneEast.asm b/data/maps/objects/SafariZoneEast.asm index df612ea9..31d8861b 100755 --- a/data/maps/objects/SafariZoneEast.asm +++ b/data/maps/objects/SafariZoneEast.asm @@ -17,7 +17,7 @@ SafariZoneEast_Object: object SPRITE_BALL, 21, 10, STAY, NONE, 1, FULL_RESTORE object SPRITE_BALL, 3, 7, STAY, NONE, 2, MAX_POTION object SPRITE_BALL, 20, 13, STAY, NONE, 3, CARBOS - object SPRITE_BALL, 15, 12, STAY, NONE, 4, TM_37 + object SPRITE_BALL, 15, 12, STAY, NONE, 4, TM_EGG_BOMB ; warp-to warp_to 0, 4, SAFARI_ZONE_EAST_WIDTH ; SAFARI_ZONE_NORTH diff --git a/data/maps/objects/SafariZoneNorth.asm b/data/maps/objects/SafariZoneNorth.asm index 9eda7b4b..75c7d164 100755 --- a/data/maps/objects/SafariZoneNorth.asm +++ b/data/maps/objects/SafariZoneNorth.asm @@ -21,7 +21,7 @@ SafariZoneNorth_Object: db 2 ; objects object SPRITE_BALL, 25, 1, STAY, NONE, 1, PROTEIN - object SPRITE_BALL, 19, 7, STAY, NONE, 2, TM_40 + object SPRITE_BALL, 19, 7, STAY, NONE, 2, TM_SKULL_BASH ; warp-to warp_to 2, 35, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_WEST diff --git a/data/maps/objects/SafariZoneWest.asm b/data/maps/objects/SafariZoneWest.asm index 7faced72..492dd3e2 100755 --- a/data/maps/objects/SafariZoneWest.asm +++ b/data/maps/objects/SafariZoneWest.asm @@ -19,7 +19,7 @@ SafariZoneWest_Object: db 4 ; objects object SPRITE_BALL, 8, 20, STAY, NONE, 1, MAX_POTION - object SPRITE_BALL, 9, 7, STAY, NONE, 2, TM_32 + object SPRITE_BALL, 9, 7, STAY, NONE, 2, TM_DOUBLE_TEAM object SPRITE_BALL, 18, 18, STAY, NONE, 3, MAX_REVIVE object SPRITE_BALL, 19, 7, STAY, NONE, 4, GOLD_TEETH diff --git a/data/maps/objects/SilphCo10F.asm b/data/maps/objects/SilphCo10F.asm index 1c8948d3..0bea3a43 100755 --- a/data/maps/objects/SilphCo10F.asm +++ b/data/maps/objects/SilphCo10F.asm @@ -15,7 +15,7 @@ SilphCo10F_Object: object SPRITE_ROCKET, 1, 9, STAY, RIGHT, 1, OPP_ROCKET, 39 object SPRITE_OAK_AIDE, 10, 2, STAY, LEFT, 2, OPP_SCIENTIST, 11 object SPRITE_ERIKA, 9, 15, WALK, 0, 3 ; person - object SPRITE_BALL, 2, 12, STAY, NONE, 4, TM_26 + object SPRITE_BALL, 2, 12, STAY, NONE, 4, TM_EARTHQUAKE object SPRITE_BALL, 4, 14, STAY, NONE, 5, RARE_CANDY object SPRITE_BALL, 5, 11, STAY, NONE, 6, CARBOS diff --git a/data/maps/objects/SilphCo5F.asm b/data/maps/objects/SilphCo5F.asm index c10f17c8..86745b21 100755 --- a/data/maps/objects/SilphCo5F.asm +++ b/data/maps/objects/SilphCo5F.asm @@ -18,7 +18,7 @@ SilphCo5F_Object: object SPRITE_OAK_AIDE, 8, 3, STAY, RIGHT, 3, OPP_SCIENTIST, 6 object SPRITE_ROCKER, 18, 10, STAY, UP, 4, OPP_JUGGLER, 1 object SPRITE_ROCKET, 28, 4, STAY, UP, 5, OPP_ROCKET, 29 - object SPRITE_BALL, 2, 13, STAY, NONE, 6, TM_09 + object SPRITE_BALL, 2, 13, STAY, NONE, 6, TM_TAKE_DOWN object SPRITE_BALL, 4, 6, STAY, NONE, 7, PROTEIN object SPRITE_BALL, 21, 16, STAY, NONE, 8, CARD_KEY object SPRITE_CLIPBOARD, 22, 12, STAY, NONE, 9 ; person diff --git a/data/maps/objects/SilphCo7F.asm b/data/maps/objects/SilphCo7F.asm index 255f4b33..7202a469 100755 --- a/data/maps/objects/SilphCo7F.asm +++ b/data/maps/objects/SilphCo7F.asm @@ -22,7 +22,7 @@ SilphCo7F_Object: object SPRITE_ROCKET, 19, 14, STAY, RIGHT, 8, OPP_ROCKET, 34 object SPRITE_BLUE, 3, 7, STAY, UP, 9 ; person object SPRITE_BALL, 1, 9, STAY, NONE, 10, CALCIUM - object SPRITE_BALL, 24, 11, STAY, NONE, 11, TM_03 + object SPRITE_BALL, 24, 11, STAY, NONE, 11, TM_SWORDS_DANCE ; warp-to warp_to 16, 0, SILPH_CO_7F_WIDTH ; SILPH_CO_8F diff --git a/data/maps/objects/VictoryRoad1F.asm b/data/maps/objects/VictoryRoad1F.asm index cc0c47ce..76907c40 100755 --- a/data/maps/objects/VictoryRoad1F.asm +++ b/data/maps/objects/VictoryRoad1F.asm @@ -11,7 +11,7 @@ VictoryRoad1F_Object: db 7 ; objects object SPRITE_LASS, 7, 5, STAY, RIGHT, 1, OPP_COOLTRAINER_F, 5 object SPRITE_BLACK_HAIR_BOY_1, 3, 2, STAY, DOWN, 2, OPP_COOLTRAINER_M, 5 - object SPRITE_BALL, 11, 0, STAY, NONE, 3, TM_43 + object SPRITE_BALL, 11, 0, STAY, NONE, 3, TM_SKY_ATTACK object SPRITE_BALL, 9, 2, STAY, NONE, 4, RARE_CANDY object SPRITE_BOULDER, 5, 15, STAY, BOULDER_MOVEMENT_BYTE_2, 5 ; person object SPRITE_BOULDER, 14, 2, STAY, BOULDER_MOVEMENT_BYTE_2, 6 ; person diff --git a/data/maps/objects/VictoryRoad2F.asm b/data/maps/objects/VictoryRoad2F.asm index 55559bca..100b9b7f 100755 --- a/data/maps/objects/VictoryRoad2F.asm +++ b/data/maps/objects/VictoryRoad2F.asm @@ -19,9 +19,9 @@ VictoryRoad2F_Object: object SPRITE_BLACK_HAIR_BOY_2, 4, 2, STAY, DOWN, 4, OPP_POKEMANIAC, 6 object SPRITE_BLACK_HAIR_BOY_2, 26, 3, STAY, LEFT, 5, OPP_JUGGLER, 5 object SPRITE_BIRD, 11, 5, STAY, UP, 6, MOLTRES, 50 - object SPRITE_BALL, 27, 5, STAY, NONE, 7, TM_17 + object SPRITE_BALL, 27, 5, STAY, NONE, 7, TM_SUBMISSION object SPRITE_BALL, 18, 9, STAY, NONE, 8, FULL_HEAL - object SPRITE_BALL, 9, 11, STAY, NONE, 9, TM_05 + object SPRITE_BALL, 9, 11, STAY, NONE, 9, TM_MEGA_KICK object SPRITE_BALL, 11, 0, STAY, NONE, 10, GUARD_SPEC object SPRITE_BOULDER, 4, 14, STAY, BOULDER_MOVEMENT_BYTE_2, 11 ; person object SPRITE_BOULDER, 5, 5, STAY, BOULDER_MOVEMENT_BYTE_2, 12 ; person diff --git a/data/maps/objects/VictoryRoad3F.asm b/data/maps/objects/VictoryRoad3F.asm index 2eb42417..f5eeae79 100755 --- a/data/maps/objects/VictoryRoad3F.asm +++ b/data/maps/objects/VictoryRoad3F.asm @@ -15,7 +15,7 @@ VictoryRoad3F_Object: object SPRITE_BLACK_HAIR_BOY_1, 6, 14, STAY, LEFT, 3, OPP_COOLTRAINER_M, 3 object SPRITE_LASS, 13, 3, STAY, RIGHT, 4, OPP_COOLTRAINER_F, 3 object SPRITE_BALL, 26, 5, STAY, NONE, 5, MAX_REVIVE - object SPRITE_BALL, 7, 7, STAY, NONE, 6, TM_47 + object SPRITE_BALL, 7, 7, STAY, NONE, 6, TM_EXPLOSION object SPRITE_BOULDER, 22, 3, STAY, BOULDER_MOVEMENT_BYTE_2, 7 ; person object SPRITE_BOULDER, 13, 12, STAY, BOULDER_MOVEMENT_BYTE_2, 8 ; person object SPRITE_BOULDER, 24, 10, STAY, BOULDER_MOVEMENT_BYTE_2, 9 ; person diff --git a/data/pokemon/base_stats/abra.asm b/data/pokemon/base_stats/abra.asm index 4a03ddac..f0afa212 100644 --- a/data/pokemon/base_stats/abra.asm +++ b/data/pokemon/base_stats/abra.asm @@ -14,7 +14,7 @@ db 3 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 8, 9, 10, 17, 18, 19, 20, 29, 30, 31, 32, 33, 34, 35, 40, 44, 45, 46, 49, 50, 55 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, METRONOME, SKULL_BASH, REST, THUNDER_WAVE, PSYWAVE, TRI_ATTACK, SUBSTITUTE, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/aerodactyl.asm b/data/pokemon/base_stats/aerodactyl.asm index 6048256f..f1b19e0a 100644 --- a/data/pokemon/base_stats/aerodactyl.asm +++ b/data/pokemon/base_stats/aerodactyl.asm @@ -14,7 +14,7 @@ db 5 ; growth rate ; tm/hm learnset - tmhm 2, 4, 6, 9, 10, 15, 20, 23, 31, 32, 33, 34, 38, 39, 43, 44, 50, 52 + tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, DRAGON_RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SWIFT, SKY_ATTACK, REST, SUBSTITUTE, FLY ; end db 0 ; padding diff --git a/data/pokemon/base_stats/alakazam.asm b/data/pokemon/base_stats/alakazam.asm index 1d081a1c..218831ad 100644 --- a/data/pokemon/base_stats/alakazam.asm +++ b/data/pokemon/base_stats/alakazam.asm @@ -14,7 +14,7 @@ db 3 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 8, 9, 10, 15, 17, 18, 19, 20, 28, 29, 30, 31, 32, 33, 34, 35, 40, 44, 45, 46, 49, 50, 55 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, DIG, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, METRONOME, SKULL_BASH, REST, THUNDER_WAVE, PSYWAVE, TRI_ATTACK, SUBSTITUTE, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/arbok.asm b/data/pokemon/base_stats/arbok.asm index 69fd0f19..97c08fac 100644 --- a/data/pokemon/base_stats/arbok.asm +++ b/data/pokemon/base_stats/arbok.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 6, 8, 9, 10, 15, 20, 21, 26, 27, 28, 31, 32, 34, 40, 44, 48, 50, 54 + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, MEGA_DRAIN, EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, BIDE, SKULL_BASH, REST, ROCK_SLIDE, SUBSTITUTE, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/arcanine.asm b/data/pokemon/base_stats/arcanine.asm index de1fd8f6..bf33f222 100644 --- a/data/pokemon/base_stats/arcanine.asm +++ b/data/pokemon/base_stats/arcanine.asm @@ -14,7 +14,7 @@ db 5 ; growth rate ; tm/hm learnset - tmhm 6, 8, 9, 10, 15, 20, 23, 28, 30, 31, 32, 33, 34, 38, 39, 40, 44, 50 + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, DRAGON_RAGE, DIG, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SWIFT, SKULL_BASH, REST, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/articuno.asm b/data/pokemon/base_stats/articuno.asm index 00395155..9e1b7fb9 100644 --- a/data/pokemon/base_stats/articuno.asm +++ b/data/pokemon/base_stats/articuno.asm @@ -14,7 +14,7 @@ db 5 ; growth rate ; tm/hm learnset - tmhm 2, 4, 6, 9, 10, 11, 12, 13, 14, 15, 20, 31, 32, 33, 34, 39, 43, 44, 50, 52 + tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SWIFT, SKY_ATTACK, REST, SUBSTITUTE, FLY ; end db 0 ; padding diff --git a/data/pokemon/base_stats/beedrill.asm b/data/pokemon/base_stats/beedrill.asm index 3070d2e3..44984a34 100644 --- a/data/pokemon/base_stats/beedrill.asm +++ b/data/pokemon/base_stats/beedrill.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 3, 6, 9, 10, 15, 20, 21, 31, 32, 33, 34, 39, 40, 44, 50, 51 + tmhm SWORDS_DANCE, TOXIC, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, MEGA_DRAIN, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SWIFT, SKULL_BASH, REST, SUBSTITUTE, CUT ; end db 0 ; padding diff --git a/data/pokemon/base_stats/bellsprout.asm b/data/pokemon/base_stats/bellsprout.asm index da7a8670..0e94cf7f 100644 --- a/data/pokemon/base_stats/bellsprout.asm +++ b/data/pokemon/base_stats/bellsprout.asm @@ -14,7 +14,7 @@ db 3 ; growth rate ; tm/hm learnset - tmhm 3, 6, 9, 10, 20, 21, 22, 31, 32, 33, 34, 44, 50, 51 + tmhm SWORDS_DANCE, TOXIC, TAKE_DOWN, DOUBLE_EDGE, RAGE, MEGA_DRAIN, SOLARBEAM, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, REST, SUBSTITUTE, CUT ; end db 0 ; padding diff --git a/data/pokemon/base_stats/blastoise.asm b/data/pokemon/base_stats/blastoise.asm index 5d26f61a..911dfb2f 100644 --- a/data/pokemon/base_stats/blastoise.asm +++ b/data/pokemon/base_stats/blastoise.asm @@ -14,7 +14,7 @@ db 3 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 26, 27, 28, 31, 32, 33, 34, 40, 44, 50, 53, 54 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SKULL_BASH, REST, SUBSTITUTE, SURF, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/bulbasaur.asm b/data/pokemon/base_stats/bulbasaur.asm index 469d73c0..471e3c74 100644 --- a/data/pokemon/base_stats/bulbasaur.asm +++ b/data/pokemon/base_stats/bulbasaur.asm @@ -14,7 +14,7 @@ db 3 ; growth rate ; tm/hm learnset - tmhm 3, 6, 8, 9, 10, 20, 21, 22, 31, 32, 33, 34, 44, 50, 51 + tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, RAGE, MEGA_DRAIN, SOLARBEAM, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, REST, SUBSTITUTE, CUT ; end db 0 ; padding diff --git a/data/pokemon/base_stats/butterfree.asm b/data/pokemon/base_stats/butterfree.asm index e2ee27c9..ae6cedbb 100644 --- a/data/pokemon/base_stats/butterfree.asm +++ b/data/pokemon/base_stats/butterfree.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 2, 4, 6, 9, 10, 15, 20, 21, 22, 29, 30, 31, 32, 33, 34, 39, 44, 46, 50 + tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, MEGA_DRAIN, SOLARBEAM, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SWIFT, REST, PSYWAVE, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/chansey.asm b/data/pokemon/base_stats/chansey.asm index 60de178f..c20678b7 100644 --- a/data/pokemon/base_stats/chansey.asm +++ b/data/pokemon/base_stats/chansey.asm @@ -14,7 +14,7 @@ db 4 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 22, 24, 25, 29, 30, 31, 32, 33, 34, 35, 37, 38, 40, 41, 44, 45, 46, 49, 50, 54, 55 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, SOLARBEAM, THUNDERBOLT, THUNDER, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, METRONOME, EGG_BOMB, FIRE_BLAST, SKULL_BASH, SOFTBOILED, REST, THUNDER_WAVE, PSYWAVE, TRI_ATTACK, SUBSTITUTE, STRENGTH, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/charizard.asm b/data/pokemon/base_stats/charizard.asm index 5e90f089..14c62eeb 100644 --- a/data/pokemon/base_stats/charizard.asm +++ b/data/pokemon/base_stats/charizard.asm @@ -14,7 +14,7 @@ db 3 ; growth rate ; tm/hm learnset - tmhm 1, 3, 5, 6, 8, 9, 10, 15, 17, 18, 19, 20, 23, 26, 27, 28, 31, 32, 33, 34, 38, 39, 40, 44, 50, 51, 54 + tmhm MEGA_PUNCH, SWORDS_DANCE, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, DRAGON_RAGE, EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SWIFT, SKULL_BASH, REST, SUBSTITUTE, CUT, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/charmander.asm b/data/pokemon/base_stats/charmander.asm index 19baf29d..309cbfc4 100644 --- a/data/pokemon/base_stats/charmander.asm +++ b/data/pokemon/base_stats/charmander.asm @@ -14,7 +14,7 @@ db 3 ; growth rate ; tm/hm learnset - tmhm 1, 3, 5, 6, 8, 9, 10, 17, 18, 19, 20, 23, 28, 31, 32, 33, 34, 38, 39, 40, 44, 50, 51, 54 + tmhm MEGA_PUNCH, SWORDS_DANCE, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, DRAGON_RAGE, DIG, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SWIFT, SKULL_BASH, REST, SUBSTITUTE, CUT, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/charmeleon.asm b/data/pokemon/base_stats/charmeleon.asm index 221c8f2f..2e23b941 100644 --- a/data/pokemon/base_stats/charmeleon.asm +++ b/data/pokemon/base_stats/charmeleon.asm @@ -14,7 +14,7 @@ db 3 ; growth rate ; tm/hm learnset - tmhm 1, 3, 5, 6, 8, 9, 10, 17, 18, 19, 20, 23, 28, 31, 32, 33, 34, 38, 39, 40, 44, 50, 51, 54 + tmhm MEGA_PUNCH, SWORDS_DANCE, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, DRAGON_RAGE, DIG, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SWIFT, SKULL_BASH, REST, SUBSTITUTE, CUT, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/clefable.asm b/data/pokemon/base_stats/clefable.asm index b7ac8210..b2058408 100644 --- a/data/pokemon/base_stats/clefable.asm +++ b/data/pokemon/base_stats/clefable.asm @@ -14,7 +14,7 @@ db 4 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 22, 24, 25, 29, 30, 31, 32, 33, 34, 35, 38, 40, 44, 45, 46, 49, 50, 54, 55 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, SOLARBEAM, THUNDERBOLT, THUNDER, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, METRONOME, FIRE_BLAST, SKULL_BASH, REST, THUNDER_WAVE, PSYWAVE, TRI_ATTACK, SUBSTITUTE, STRENGTH, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/clefairy.asm b/data/pokemon/base_stats/clefairy.asm index 5ffe1482..0f04192b 100644 --- a/data/pokemon/base_stats/clefairy.asm +++ b/data/pokemon/base_stats/clefairy.asm @@ -14,7 +14,7 @@ db 4 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 22, 24, 25, 29, 30, 31, 32, 33, 34, 35, 38, 40, 44, 45, 46, 49, 50, 54, 55 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, SOLARBEAM, THUNDERBOLT, THUNDER, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, METRONOME, FIRE_BLAST, SKULL_BASH, REST, THUNDER_WAVE, PSYWAVE, TRI_ATTACK, SUBSTITUTE, STRENGTH, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/cloyster.asm b/data/pokemon/base_stats/cloyster.asm index 3091d309..81929264 100644 --- a/data/pokemon/base_stats/cloyster.asm +++ b/data/pokemon/base_stats/cloyster.asm @@ -14,7 +14,7 @@ db 5 ; growth rate ; tm/hm learnset - tmhm 6, 9, 10, 11, 12, 13, 14, 15, 20, 30, 31, 32, 33, 34, 36, 39, 44, 47, 49, 50, 53 + tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, RAGE, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SELFDESTRUCT, SWIFT, REST, EXPLOSION, TRI_ATTACK, SUBSTITUTE, SURF ; end db 0 ; padding diff --git a/data/pokemon/base_stats/cubone.asm b/data/pokemon/base_stats/cubone.asm index 229c524d..873ff6f6 100644 --- a/data/pokemon/base_stats/cubone.asm +++ b/data/pokemon/base_stats/cubone.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 26, 27, 28, 31, 32, 34, 38, 40, 44, 50, 54 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, BIDE, FIRE_BLAST, SKULL_BASH, REST, SUBSTITUTE, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/dewgong.asm b/data/pokemon/base_stats/dewgong.asm index 6a0a5872..578ac716 100644 --- a/data/pokemon/base_stats/dewgong.asm +++ b/data/pokemon/base_stats/dewgong.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 20, 31, 32, 34, 40, 44, 50, 53, 54 + tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, PAY_DAY, RAGE, MIMIC, DOUBLE_TEAM, BIDE, SKULL_BASH, REST, SUBSTITUTE, SURF, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/diglett.asm b/data/pokemon/base_stats/diglett.asm index 93c23c1c..a419655f 100644 --- a/data/pokemon/base_stats/diglett.asm +++ b/data/pokemon/base_stats/diglett.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 6, 8, 9, 10, 20, 26, 27, 28, 31, 32, 34, 44, 48, 50 + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, RAGE, EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, BIDE, REST, ROCK_SLIDE, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/dodrio.asm b/data/pokemon/base_stats/dodrio.asm index 60e11357..934aa513 100644 --- a/data/pokemon/base_stats/dodrio.asm +++ b/data/pokemon/base_stats/dodrio.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 4, 6, 8, 9, 10, 15, 20, 31, 32, 33, 34, 40, 43, 44, 49, 50, 52 + tmhm WHIRLWIND, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SKULL_BASH, SKY_ATTACK, REST, TRI_ATTACK, SUBSTITUTE, FLY ; end db 0 ; padding diff --git a/data/pokemon/base_stats/doduo.asm b/data/pokemon/base_stats/doduo.asm index b14ef2f9..1ab009fe 100644 --- a/data/pokemon/base_stats/doduo.asm +++ b/data/pokemon/base_stats/doduo.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 4, 6, 8, 9, 10, 20, 31, 32, 33, 34, 40, 43, 44, 49, 50, 52 + tmhm WHIRLWIND, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SKULL_BASH, SKY_ATTACK, REST, TRI_ATTACK, SUBSTITUTE, FLY ; end db 0 ; padding diff --git a/data/pokemon/base_stats/dragonair.asm b/data/pokemon/base_stats/dragonair.asm index 6e33aff5..fd1f0942 100644 --- a/data/pokemon/base_stats/dragonair.asm +++ b/data/pokemon/base_stats/dragonair.asm @@ -14,7 +14,7 @@ db 5 ; growth rate ; tm/hm learnset - tmhm 6, 7, 8, 9, 10, 11, 12, 13, 14, 20, 23, 24, 25, 31, 32, 33, 34, 38, 39, 40, 44, 45, 50, 53 + tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, RAGE, DRAGON_RAGE, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SWIFT, SKULL_BASH, REST, THUNDER_WAVE, SUBSTITUTE, SURF ; end db 0 ; padding diff --git a/data/pokemon/base_stats/dragonite.asm b/data/pokemon/base_stats/dragonite.asm index be418291..a0f67954 100644 --- a/data/pokemon/base_stats/dragonite.asm +++ b/data/pokemon/base_stats/dragonite.asm @@ -14,7 +14,7 @@ db 5 ; growth rate ; tm/hm learnset - tmhm 2, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 20, 23, 24, 25, 31, 32, 33, 34, 38, 39, 40, 44, 45, 50, 53, 54 + tmhm RAZOR_WIND, TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, RAGE, DRAGON_RAGE, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SWIFT, SKULL_BASH, REST, THUNDER_WAVE, SUBSTITUTE, SURF, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/dratini.asm b/data/pokemon/base_stats/dratini.asm index dddb1464..75c250df 100644 --- a/data/pokemon/base_stats/dratini.asm +++ b/data/pokemon/base_stats/dratini.asm @@ -14,7 +14,7 @@ db 5 ; growth rate ; tm/hm learnset - tmhm 6, 8, 9, 10, 11, 12, 13, 14, 20, 23, 24, 25, 31, 32, 33, 34, 38, 39, 40, 44, 45, 50, 53 + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, RAGE, DRAGON_RAGE, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SWIFT, SKULL_BASH, REST, THUNDER_WAVE, SUBSTITUTE, SURF ; end db 0 ; padding diff --git a/data/pokemon/base_stats/drowzee.asm b/data/pokemon/base_stats/drowzee.asm index 135b1aaf..b8bdb080 100644 --- a/data/pokemon/base_stats/drowzee.asm +++ b/data/pokemon/base_stats/drowzee.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 8, 9, 10, 17, 18, 19, 20, 29, 30, 31, 32, 33, 34, 35, 40, 42, 44, 45, 46, 49, 50, 55 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, METRONOME, SKULL_BASH, DREAM_EATER, REST, THUNDER_WAVE, PSYWAVE, TRI_ATTACK, SUBSTITUTE, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/dugtrio.asm b/data/pokemon/base_stats/dugtrio.asm index f7c046dc..0a6da045 100644 --- a/data/pokemon/base_stats/dugtrio.asm +++ b/data/pokemon/base_stats/dugtrio.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 6, 8, 9, 10, 15, 20, 26, 27, 28, 31, 32, 34, 44, 48, 50 + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, BIDE, REST, ROCK_SLIDE, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/eevee.asm b/data/pokemon/base_stats/eevee.asm index 2ea7575a..f2baedfa 100644 --- a/data/pokemon/base_stats/eevee.asm +++ b/data/pokemon/base_stats/eevee.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 6, 8, 9, 10, 20, 31, 32, 33, 34, 39, 40, 44, 50 + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SWIFT, SKULL_BASH, REST, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/ekans.asm b/data/pokemon/base_stats/ekans.asm index cc46bbff..6d04e817 100644 --- a/data/pokemon/base_stats/ekans.asm +++ b/data/pokemon/base_stats/ekans.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 6, 8, 9, 10, 20, 21, 26, 27, 28, 31, 32, 34, 40, 44, 48, 50, 54 + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, RAGE, MEGA_DRAIN, EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, BIDE, SKULL_BASH, REST, ROCK_SLIDE, SUBSTITUTE, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/electabuzz.asm b/data/pokemon/base_stats/electabuzz.asm index 5f56e32b..349ea44c 100644 --- a/data/pokemon/base_stats/electabuzz.asm +++ b/data/pokemon/base_stats/electabuzz.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 8, 9, 10, 15, 17, 18, 19, 20, 24, 25, 29, 30, 31, 32, 33, 34, 35, 39, 40, 44, 45, 46, 50, 54, 55 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, THUNDERBOLT, THUNDER, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, METRONOME, SWIFT, SKULL_BASH, REST, THUNDER_WAVE, PSYWAVE, SUBSTITUTE, STRENGTH, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/electrode.asm b/data/pokemon/base_stats/electrode.asm index e58176f3..b11474a9 100644 --- a/data/pokemon/base_stats/electrode.asm +++ b/data/pokemon/base_stats/electrode.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 6, 9, 15, 20, 24, 25, 30, 31, 32, 33, 34, 36, 39, 40, 44, 45, 47, 50, 55 + tmhm TOXIC, TAKE_DOWN, HYPER_BEAM, RAGE, THUNDERBOLT, THUNDER, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SELFDESTRUCT, SWIFT, SKULL_BASH, REST, THUNDER_WAVE, EXPLOSION, SUBSTITUTE, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/exeggcute.asm b/data/pokemon/base_stats/exeggcute.asm index af84cf77..cc12b94d 100644 --- a/data/pokemon/base_stats/exeggcute.asm +++ b/data/pokemon/base_stats/exeggcute.asm @@ -14,7 +14,7 @@ db 5 ; growth rate ; tm/hm learnset - tmhm 6, 9, 10, 20, 29, 30, 31, 32, 33, 34, 36, 37, 44, 46, 47, 50 + tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, RAGE, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SELFDESTRUCT, EGG_BOMB, REST, PSYWAVE, EXPLOSION, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/exeggutor.asm b/data/pokemon/base_stats/exeggutor.asm index 99cf8743..28d6181b 100644 --- a/data/pokemon/base_stats/exeggutor.asm +++ b/data/pokemon/base_stats/exeggutor.asm @@ -14,7 +14,7 @@ db 5 ; growth rate ; tm/hm learnset - tmhm 6, 9, 10, 15, 20, 21, 22, 29, 30, 31, 32, 33, 34, 36, 37, 44, 46, 47, 50, 54 + tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, MEGA_DRAIN, SOLARBEAM, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SELFDESTRUCT, EGG_BOMB, REST, PSYWAVE, EXPLOSION, SUBSTITUTE, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/farfetchd.asm b/data/pokemon/base_stats/farfetchd.asm index 3167b559..5c40b094 100644 --- a/data/pokemon/base_stats/farfetchd.asm +++ b/data/pokemon/base_stats/farfetchd.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 2, 3, 4, 6, 8, 9, 10, 20, 31, 32, 33, 34, 39, 40, 44, 50, 51, 52 + tmhm RAZOR_WIND, SWORDS_DANCE, WHIRLWIND, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SWIFT, SKULL_BASH, REST, SUBSTITUTE, CUT, FLY ; end db 0 ; padding diff --git a/data/pokemon/base_stats/fearow.asm b/data/pokemon/base_stats/fearow.asm index 98ef992c..bfe84032 100644 --- a/data/pokemon/base_stats/fearow.asm +++ b/data/pokemon/base_stats/fearow.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 2, 4, 6, 9, 10, 15, 20, 31, 32, 34, 39, 43, 44, 50, 52 + tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, MIMIC, DOUBLE_TEAM, BIDE, SWIFT, SKY_ATTACK, REST, SUBSTITUTE, FLY ; end db 0 ; padding diff --git a/data/pokemon/base_stats/flareon.asm b/data/pokemon/base_stats/flareon.asm index a32fb71a..ce17ed6f 100644 --- a/data/pokemon/base_stats/flareon.asm +++ b/data/pokemon/base_stats/flareon.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 6, 8, 9, 10, 15, 20, 31, 32, 33, 34, 38, 39, 40, 44, 50 + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SWIFT, SKULL_BASH, REST, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/gastly.asm b/data/pokemon/base_stats/gastly.asm index c64c8618..59304c01 100644 --- a/data/pokemon/base_stats/gastly.asm +++ b/data/pokemon/base_stats/gastly.asm @@ -14,7 +14,7 @@ db 3 ; growth rate ; tm/hm learnset - tmhm 6, 20, 21, 24, 25, 29, 31, 32, 34, 36, 42, 44, 46, 47, 50 + tmhm TOXIC, RAGE, MEGA_DRAIN, THUNDERBOLT, THUNDER, PSYCHIC_M, MIMIC, DOUBLE_TEAM, BIDE, SELFDESTRUCT, DREAM_EATER, REST, PSYWAVE, EXPLOSION, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/gengar.asm b/data/pokemon/base_stats/gengar.asm index fb3fcfab..9dfb6c20 100644 --- a/data/pokemon/base_stats/gengar.asm +++ b/data/pokemon/base_stats/gengar.asm @@ -14,7 +14,7 @@ db 3 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 8, 9, 10, 15, 17, 18, 19, 20, 21, 24, 25, 29, 31, 32, 34, 35, 36, 40, 42, 44, 46, 47, 50, 54 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, MEGA_DRAIN, THUNDERBOLT, THUNDER, PSYCHIC_M, MIMIC, DOUBLE_TEAM, BIDE, METRONOME, SELFDESTRUCT, SKULL_BASH, DREAM_EATER, REST, PSYWAVE, EXPLOSION, SUBSTITUTE, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/geodude.asm b/data/pokemon/base_stats/geodude.asm index d588fc1e..2b17764d 100644 --- a/data/pokemon/base_stats/geodude.asm +++ b/data/pokemon/base_stats/geodude.asm @@ -14,7 +14,7 @@ db 3 ; growth rate ; tm/hm learnset - tmhm 1, 6, 8, 9, 10, 17, 18, 19, 20, 26, 27, 28, 31, 32, 34, 35, 36, 38, 44, 47, 48, 50, 54 + tmhm MEGA_PUNCH, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, BIDE, METRONOME, SELFDESTRUCT, FIRE_BLAST, REST, EXPLOSION, ROCK_SLIDE, SUBSTITUTE, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/gloom.asm b/data/pokemon/base_stats/gloom.asm index 8a332698..daaaac6b 100644 --- a/data/pokemon/base_stats/gloom.asm +++ b/data/pokemon/base_stats/gloom.asm @@ -14,7 +14,7 @@ db 3 ; growth rate ; tm/hm learnset - tmhm 3, 6, 9, 10, 20, 21, 22, 31, 32, 33, 34, 44, 50, 51 + tmhm SWORDS_DANCE, TOXIC, TAKE_DOWN, DOUBLE_EDGE, RAGE, MEGA_DRAIN, SOLARBEAM, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, REST, SUBSTITUTE, CUT ; end db 0 ; padding diff --git a/data/pokemon/base_stats/golbat.asm b/data/pokemon/base_stats/golbat.asm index 969da94e..74bcd2a8 100644 --- a/data/pokemon/base_stats/golbat.asm +++ b/data/pokemon/base_stats/golbat.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 2, 4, 6, 9, 10, 15, 20, 21, 31, 32, 34, 39, 44, 50 + tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, MEGA_DRAIN, MIMIC, DOUBLE_TEAM, BIDE, SWIFT, REST, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/goldeen.asm b/data/pokemon/base_stats/goldeen.asm index 16cc4a42..6a90a7f1 100644 --- a/data/pokemon/base_stats/goldeen.asm +++ b/data/pokemon/base_stats/goldeen.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 6, 7, 9, 10, 11, 12, 13, 14, 20, 31, 32, 34, 39, 40, 44, 50, 53 + tmhm TOXIC, HORN_DRILL, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, RAGE, MIMIC, DOUBLE_TEAM, BIDE, SWIFT, SKULL_BASH, REST, SUBSTITUTE, SURF ; end db 0 ; padding diff --git a/data/pokemon/base_stats/golduck.asm b/data/pokemon/base_stats/golduck.asm index 9db265e4..c9d8be7d 100644 --- a/data/pokemon/base_stats/golduck.asm +++ b/data/pokemon/base_stats/golduck.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 28, 31, 32, 34, 39, 40, 44, 50, 53, 54 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, PAY_DAY, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, DIG, MIMIC, DOUBLE_TEAM, BIDE, SWIFT, SKULL_BASH, REST, SUBSTITUTE, SURF, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/golem.asm b/data/pokemon/base_stats/golem.asm index f3aa245a..71a08194 100644 --- a/data/pokemon/base_stats/golem.asm +++ b/data/pokemon/base_stats/golem.asm @@ -14,7 +14,7 @@ db 3 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 8, 9, 10, 15, 17, 18, 19, 20, 26, 27, 28, 31, 32, 34, 35, 36, 38, 44, 47, 48, 50, 54 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, BIDE, METRONOME, SELFDESTRUCT, FIRE_BLAST, REST, EXPLOSION, ROCK_SLIDE, SUBSTITUTE, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/graveler.asm b/data/pokemon/base_stats/graveler.asm index 53ad0075..47dc13f8 100644 --- a/data/pokemon/base_stats/graveler.asm +++ b/data/pokemon/base_stats/graveler.asm @@ -14,7 +14,7 @@ db 3 ; growth rate ; tm/hm learnset - tmhm 1, 6, 8, 9, 10, 17, 18, 19, 20, 26, 27, 28, 31, 32, 34, 35, 36, 38, 44, 47, 48, 50, 54 + tmhm MEGA_PUNCH, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, BIDE, METRONOME, SELFDESTRUCT, FIRE_BLAST, REST, EXPLOSION, ROCK_SLIDE, SUBSTITUTE, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/grimer.asm b/data/pokemon/base_stats/grimer.asm index 6722c401..ec9d5753 100644 --- a/data/pokemon/base_stats/grimer.asm +++ b/data/pokemon/base_stats/grimer.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 6, 8, 20, 21, 24, 25, 31, 32, 34, 36, 38, 44, 47, 50 + tmhm TOXIC, BODY_SLAM, RAGE, MEGA_DRAIN, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, BIDE, SELFDESTRUCT, FIRE_BLAST, REST, EXPLOSION, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/growlithe.asm b/data/pokemon/base_stats/growlithe.asm index 960a78e2..207b948e 100644 --- a/data/pokemon/base_stats/growlithe.asm +++ b/data/pokemon/base_stats/growlithe.asm @@ -14,7 +14,7 @@ db 5 ; growth rate ; tm/hm learnset - tmhm 6, 8, 9, 10, 20, 23, 28, 31, 32, 33, 34, 38, 39, 40, 44, 50 + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, RAGE, DRAGON_RAGE, DIG, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SWIFT, SKULL_BASH, REST, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/gyarados.asm b/data/pokemon/base_stats/gyarados.asm index 848f4769..0a69b1fc 100644 --- a/data/pokemon/base_stats/gyarados.asm +++ b/data/pokemon/base_stats/gyarados.asm @@ -14,7 +14,7 @@ db 5 ; growth rate ; tm/hm learnset - tmhm 6, 8, 9, 10, 11, 12, 13, 14, 15, 20, 23, 24, 25, 31, 32, 33, 34, 38, 40, 44, 50, 53, 54 + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, RAGE, DRAGON_RAGE, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SKULL_BASH, REST, SUBSTITUTE, SURF, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/haunter.asm b/data/pokemon/base_stats/haunter.asm index 83bd827b..00bce8ab 100644 --- a/data/pokemon/base_stats/haunter.asm +++ b/data/pokemon/base_stats/haunter.asm @@ -14,7 +14,7 @@ db 3 ; growth rate ; tm/hm learnset - tmhm 6, 20, 21, 24, 25, 29, 31, 32, 34, 36, 42, 44, 46, 47, 50 + tmhm TOXIC, RAGE, MEGA_DRAIN, THUNDERBOLT, THUNDER, PSYCHIC_M, MIMIC, DOUBLE_TEAM, BIDE, SELFDESTRUCT, DREAM_EATER, REST, PSYWAVE, EXPLOSION, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/hitmonchan.asm b/data/pokemon/base_stats/hitmonchan.asm index 1da96542..c074cada 100644 --- a/data/pokemon/base_stats/hitmonchan.asm +++ b/data/pokemon/base_stats/hitmonchan.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 8, 9, 10, 17, 18, 19, 20, 31, 32, 34, 35, 39, 40, 44, 50, 54 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, MIMIC, DOUBLE_TEAM, BIDE, METRONOME, SWIFT, SKULL_BASH, REST, SUBSTITUTE, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/hitmonlee.asm b/data/pokemon/base_stats/hitmonlee.asm index e0ffdcd4..003d1858 100644 --- a/data/pokemon/base_stats/hitmonlee.asm +++ b/data/pokemon/base_stats/hitmonlee.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 8, 9, 10, 17, 18, 19, 20, 31, 32, 34, 35, 39, 40, 44, 50, 54 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, MIMIC, DOUBLE_TEAM, BIDE, METRONOME, SWIFT, SKULL_BASH, REST, SUBSTITUTE, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/horsea.asm b/data/pokemon/base_stats/horsea.asm index 1c990276..a09ca8c2 100644 --- a/data/pokemon/base_stats/horsea.asm +++ b/data/pokemon/base_stats/horsea.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 6, 9, 10, 11, 12, 13, 14, 20, 31, 32, 34, 39, 40, 44, 50, 53 + tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, RAGE, MIMIC, DOUBLE_TEAM, BIDE, SWIFT, SKULL_BASH, REST, SUBSTITUTE, SURF ; end db 0 ; padding diff --git a/data/pokemon/base_stats/hypno.asm b/data/pokemon/base_stats/hypno.asm index e1b3a06c..285d76ba 100644 --- a/data/pokemon/base_stats/hypno.asm +++ b/data/pokemon/base_stats/hypno.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 8, 9, 10, 15, 17, 18, 19, 20, 29, 30, 31, 32, 33, 34, 35, 40, 42, 44, 45, 46, 49, 50, 55 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, METRONOME, SKULL_BASH, DREAM_EATER, REST, THUNDER_WAVE, PSYWAVE, TRI_ATTACK, SUBSTITUTE, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/ivysaur.asm b/data/pokemon/base_stats/ivysaur.asm index bd8d818f..cca3b10b 100644 --- a/data/pokemon/base_stats/ivysaur.asm +++ b/data/pokemon/base_stats/ivysaur.asm @@ -14,7 +14,7 @@ db 3 ; growth rate ; tm/hm learnset - tmhm 3, 6, 8, 9, 10, 20, 21, 22, 31, 32, 33, 34, 44, 50, 51 + tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, RAGE, MEGA_DRAIN, SOLARBEAM, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, REST, SUBSTITUTE, CUT ; end db 0 ; padding diff --git a/data/pokemon/base_stats/jigglypuff.asm b/data/pokemon/base_stats/jigglypuff.asm index 75648dbf..71d6b7e3 100644 --- a/data/pokemon/base_stats/jigglypuff.asm +++ b/data/pokemon/base_stats/jigglypuff.asm @@ -14,7 +14,7 @@ db 4 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 22, 24, 25, 29, 30, 31, 32, 33, 34, 38, 40, 44, 45, 46, 49, 50, 54, 55 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, SOLARBEAM, THUNDERBOLT, THUNDER, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SKULL_BASH, REST, THUNDER_WAVE, PSYWAVE, TRI_ATTACK, SUBSTITUTE, STRENGTH, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/jolteon.asm b/data/pokemon/base_stats/jolteon.asm index 4294495b..33f0af84 100644 --- a/data/pokemon/base_stats/jolteon.asm +++ b/data/pokemon/base_stats/jolteon.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 6, 8, 9, 10, 15, 20, 24, 25, 31, 32, 33, 34, 39, 40, 44, 45, 50, 55 + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SWIFT, SKULL_BASH, REST, THUNDER_WAVE, SUBSTITUTE, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/jynx.asm b/data/pokemon/base_stats/jynx.asm index 7741c711..2739a65d 100644 --- a/data/pokemon/base_stats/jynx.asm +++ b/data/pokemon/base_stats/jynx.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 29, 30, 31, 32, 33, 34, 35, 40, 44, 46, 50 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, METRONOME, SKULL_BASH, REST, PSYWAVE, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/kabuto.asm b/data/pokemon/base_stats/kabuto.asm index 2f62b050..66a2bb28 100644 --- a/data/pokemon/base_stats/kabuto.asm +++ b/data/pokemon/base_stats/kabuto.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 6, 8, 9, 10, 11, 12, 13, 14, 20, 31, 32, 33, 34, 44, 50, 53 + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, REST, SUBSTITUTE, SURF ; end db 0 ; padding diff --git a/data/pokemon/base_stats/kabutops.asm b/data/pokemon/base_stats/kabutops.asm index acaab322..0973642b 100644 --- a/data/pokemon/base_stats/kabutops.asm +++ b/data/pokemon/base_stats/kabutops.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 2, 3, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19, 20, 31, 32, 33, 34, 40, 44, 50, 53 + tmhm RAZOR_WIND, SWORDS_DANCE, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, SUBMISSION, SEISMIC_TOSS, RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SKULL_BASH, REST, SUBSTITUTE, SURF ; end db 0 ; padding diff --git a/data/pokemon/base_stats/kadabra.asm b/data/pokemon/base_stats/kadabra.asm index edc4a455..9963b0a4 100644 --- a/data/pokemon/base_stats/kadabra.asm +++ b/data/pokemon/base_stats/kadabra.asm @@ -14,7 +14,7 @@ db 3 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 8, 9, 10, 17, 18, 19, 20, 28, 29, 30, 31, 32, 33, 34, 35, 40, 44, 45, 46, 49, 50, 55 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, DIG, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, METRONOME, SKULL_BASH, REST, THUNDER_WAVE, PSYWAVE, TRI_ATTACK, SUBSTITUTE, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/kangaskhan.asm b/data/pokemon/base_stats/kangaskhan.asm index c819cc91..d89091e5 100644 --- a/data/pokemon/base_stats/kangaskhan.asm +++ b/data/pokemon/base_stats/kangaskhan.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 24, 25, 26, 27, 31, 32, 34, 38, 40, 44, 48, 50, 53, 54 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, THUNDERBOLT, THUNDER, EARTHQUAKE, FISSURE, MIMIC, DOUBLE_TEAM, BIDE, FIRE_BLAST, SKULL_BASH, REST, ROCK_SLIDE, SUBSTITUTE, SURF, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/kingler.asm b/data/pokemon/base_stats/kingler.asm index 75eeaf04..70feb704 100644 --- a/data/pokemon/base_stats/kingler.asm +++ b/data/pokemon/base_stats/kingler.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 3, 6, 8, 9, 10, 11, 12, 13, 14, 15, 20, 31, 32, 34, 44, 50, 51, 53, 54 + tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, RAGE, MIMIC, DOUBLE_TEAM, BIDE, REST, SUBSTITUTE, CUT, SURF, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/koffing.asm b/data/pokemon/base_stats/koffing.asm index bd92b32a..d649fca9 100644 --- a/data/pokemon/base_stats/koffing.asm +++ b/data/pokemon/base_stats/koffing.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 6, 20, 24, 25, 31, 32, 34, 36, 38, 44, 47, 50 + tmhm TOXIC, RAGE, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, BIDE, SELFDESTRUCT, FIRE_BLAST, REST, EXPLOSION, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/krabby.asm b/data/pokemon/base_stats/krabby.asm index 2b45f30a..a92daa5f 100644 --- a/data/pokemon/base_stats/krabby.asm +++ b/data/pokemon/base_stats/krabby.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 3, 6, 8, 9, 10, 11, 12, 13, 14, 20, 31, 32, 34, 44, 50, 51, 53, 54 + tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, RAGE, MIMIC, DOUBLE_TEAM, BIDE, REST, SUBSTITUTE, CUT, SURF, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/lapras.asm b/data/pokemon/base_stats/lapras.asm index c7d7fb55..b59be2ee 100644 --- a/data/pokemon/base_stats/lapras.asm +++ b/data/pokemon/base_stats/lapras.asm @@ -14,7 +14,7 @@ db 5 ; growth rate ; tm/hm learnset - tmhm 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 20, 22, 23, 24, 25, 29, 31, 32, 33, 34, 40, 44, 46, 50, 53, 54 + tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, RAGE, SOLARBEAM, DRAGON_RAGE, THUNDERBOLT, THUNDER, PSYCHIC_M, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SKULL_BASH, REST, PSYWAVE, SUBSTITUTE, SURF, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/lickitung.asm b/data/pokemon/base_stats/lickitung.asm index 0d9de58c..c0fb8c79 100644 --- a/data/pokemon/base_stats/lickitung.asm +++ b/data/pokemon/base_stats/lickitung.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 1, 3, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 24, 25, 26, 27, 31, 32, 34, 38, 40, 44, 50, 51, 53, 54 + tmhm MEGA_PUNCH, SWORDS_DANCE, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, THUNDERBOLT, THUNDER, EARTHQUAKE, FISSURE, MIMIC, DOUBLE_TEAM, BIDE, FIRE_BLAST, SKULL_BASH, REST, SUBSTITUTE, CUT, SURF, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/machamp.asm b/data/pokemon/base_stats/machamp.asm index 9411581a..f077c00c 100644 --- a/data/pokemon/base_stats/machamp.asm +++ b/data/pokemon/base_stats/machamp.asm @@ -14,7 +14,7 @@ db 3 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 8, 9, 10, 15, 17, 18, 19, 20, 26, 27, 28, 31, 32, 34, 35, 38, 40, 44, 48, 50, 54 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, BIDE, METRONOME, FIRE_BLAST, SKULL_BASH, REST, ROCK_SLIDE, SUBSTITUTE, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/machoke.asm b/data/pokemon/base_stats/machoke.asm index 51b49a97..b8b952b0 100644 --- a/data/pokemon/base_stats/machoke.asm +++ b/data/pokemon/base_stats/machoke.asm @@ -14,7 +14,7 @@ db 3 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 8, 9, 10, 17, 18, 19, 20, 26, 27, 28, 31, 32, 34, 35, 38, 40, 44, 48, 50, 54 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, BIDE, METRONOME, FIRE_BLAST, SKULL_BASH, REST, ROCK_SLIDE, SUBSTITUTE, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/machop.asm b/data/pokemon/base_stats/machop.asm index 2d34c36a..1d4cbb44 100644 --- a/data/pokemon/base_stats/machop.asm +++ b/data/pokemon/base_stats/machop.asm @@ -14,7 +14,7 @@ db 3 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 8, 9, 10, 17, 18, 19, 20, 26, 27, 28, 31, 32, 34, 35, 38, 40, 44, 48, 50, 54 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, BIDE, METRONOME, FIRE_BLAST, SKULL_BASH, REST, ROCK_SLIDE, SUBSTITUTE, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/magmar.asm b/data/pokemon/base_stats/magmar.asm index 82ef8cae..86ee0aae 100644 --- a/data/pokemon/base_stats/magmar.asm +++ b/data/pokemon/base_stats/magmar.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 8, 9, 10, 15, 17, 18, 19, 20, 29, 30, 31, 32, 34, 35, 38, 40, 44, 46, 50, 54 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, BIDE, METRONOME, FIRE_BLAST, SKULL_BASH, REST, PSYWAVE, SUBSTITUTE, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/magnemite.asm b/data/pokemon/base_stats/magnemite.asm index 38707e1a..9929c85d 100644 --- a/data/pokemon/base_stats/magnemite.asm +++ b/data/pokemon/base_stats/magnemite.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 6, 9, 10, 20, 24, 25, 30, 31, 32, 33, 34, 39, 44, 45, 50, 55 + tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, RAGE, THUNDERBOLT, THUNDER, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SWIFT, REST, THUNDER_WAVE, SUBSTITUTE, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/magneton.asm b/data/pokemon/base_stats/magneton.asm index 18faa5af..bb8dec67 100644 --- a/data/pokemon/base_stats/magneton.asm +++ b/data/pokemon/base_stats/magneton.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 6, 9, 10, 15, 20, 24, 25, 30, 31, 32, 33, 34, 39, 44, 45, 50, 55 + tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, THUNDERBOLT, THUNDER, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SWIFT, REST, THUNDER_WAVE, SUBSTITUTE, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/mankey.asm b/data/pokemon/base_stats/mankey.asm index 373b21fd..8dad5b4d 100644 --- a/data/pokemon/base_stats/mankey.asm +++ b/data/pokemon/base_stats/mankey.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 8, 9, 10, 16, 17, 18, 19, 20, 24, 25, 28, 31, 32, 34, 35, 39, 40, 44, 48, 50, 54 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, PAY_DAY, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, THUNDERBOLT, THUNDER, DIG, MIMIC, DOUBLE_TEAM, BIDE, METRONOME, SWIFT, SKULL_BASH, REST, ROCK_SLIDE, SUBSTITUTE, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/marowak.asm b/data/pokemon/base_stats/marowak.asm index 183992e6..5ec6fb51 100644 --- a/data/pokemon/base_stats/marowak.asm +++ b/data/pokemon/base_stats/marowak.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 26, 27, 28, 31, 32, 34, 38, 40, 44, 50, 54 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, BIDE, FIRE_BLAST, SKULL_BASH, REST, SUBSTITUTE, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/meowth.asm b/data/pokemon/base_stats/meowth.asm index 8a74d1d3..9a42b5eb 100644 --- a/data/pokemon/base_stats/meowth.asm +++ b/data/pokemon/base_stats/meowth.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 6, 8, 9, 10, 11, 12, 16, 20, 24, 25, 31, 32, 34, 39, 40, 44, 50 + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, PAY_DAY, RAGE, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, BIDE, SWIFT, SKULL_BASH, REST, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/mew.asm b/data/pokemon/base_stats/mew.asm index b114c7d7..8fb6cd83 100644 --- a/data/pokemon/base_stats/mew.asm +++ b/data/pokemon/base_stats/mew.asm @@ -14,7 +14,7 @@ db 3 ; growth rate ; tm/hm learnset - tmhm 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56 + tmhm MEGA_PUNCH, RAZOR_WIND, SWORDS_DANCE, WHIRLWIND, MEGA_KICK, TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, PAY_DAY, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, MEGA_DRAIN, SOLARBEAM, DRAGON_RAGE, THUNDERBOLT, THUNDER, EARTHQUAKE, FISSURE, DIG, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, METRONOME, SELFDESTRUCT, EGG_BOMB, FIRE_BLAST, SWIFT, SKULL_BASH, SOFTBOILED, DREAM_EATER, SKY_ATTACK, REST, THUNDER_WAVE, PSYWAVE, EXPLOSION, ROCK_SLIDE, TRI_ATTACK, SUBSTITUTE, CUT, FLY, SURF, STRENGTH, FLASH, UNUSED ; end db %11111111 ; padding diff --git a/data/pokemon/base_stats/mewtwo.asm b/data/pokemon/base_stats/mewtwo.asm index d69d6890..09f047a7 100644 --- a/data/pokemon/base_stats/mewtwo.asm +++ b/data/pokemon/base_stats/mewtwo.asm @@ -14,7 +14,7 @@ db 5 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 24, 25, 29, 30, 31, 32, 33, 34, 35, 36, 38, 40, 44, 45, 46, 49, 50, 54, 55 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, PAY_DAY, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, SOLARBEAM, THUNDERBOLT, THUNDER, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, METRONOME, SELFDESTRUCT, FIRE_BLAST, SKULL_BASH, REST, THUNDER_WAVE, PSYWAVE, TRI_ATTACK, SUBSTITUTE, STRENGTH, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/moltres.asm b/data/pokemon/base_stats/moltres.asm index d701d937..c9e99702 100644 --- a/data/pokemon/base_stats/moltres.asm +++ b/data/pokemon/base_stats/moltres.asm @@ -14,7 +14,7 @@ db 5 ; growth rate ; tm/hm learnset - tmhm 2, 4, 6, 9, 10, 15, 20, 31, 32, 33, 34, 38, 39, 43, 44, 50, 52 + tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SWIFT, SKY_ATTACK, REST, SUBSTITUTE, FLY ; end db 0 ; padding diff --git a/data/pokemon/base_stats/mrmime.asm b/data/pokemon/base_stats/mrmime.asm index 7f776523..157cb6fe 100644 --- a/data/pokemon/base_stats/mrmime.asm +++ b/data/pokemon/base_stats/mrmime.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 8, 9, 10, 15, 17, 18, 19, 20, 22, 24, 25, 29, 30, 31, 32, 33, 34, 35, 40, 44, 45, 46, 50, 55 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, SOLARBEAM, THUNDERBOLT, THUNDER, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, METRONOME, SKULL_BASH, REST, THUNDER_WAVE, PSYWAVE, SUBSTITUTE, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/muk.asm b/data/pokemon/base_stats/muk.asm index 6891afcb..c5118326 100644 --- a/data/pokemon/base_stats/muk.asm +++ b/data/pokemon/base_stats/muk.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 6, 8, 15, 20, 21, 24, 25, 31, 32, 34, 36, 38, 44, 47, 50 + tmhm TOXIC, BODY_SLAM, HYPER_BEAM, RAGE, MEGA_DRAIN, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, BIDE, SELFDESTRUCT, FIRE_BLAST, REST, EXPLOSION, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/nidoking.asm b/data/pokemon/base_stats/nidoking.asm index 92118c2f..4eed1366 100644 --- a/data/pokemon/base_stats/nidoking.asm +++ b/data/pokemon/base_stats/nidoking.asm @@ -14,7 +14,7 @@ db 3 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 24, 25, 26, 27, 31, 32, 33, 34, 38, 40, 44, 48, 50, 53, 54 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, PAY_DAY, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, THUNDERBOLT, THUNDER, EARTHQUAKE, FISSURE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SKULL_BASH, REST, ROCK_SLIDE, SUBSTITUTE, SURF, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/nidoqueen.asm b/data/pokemon/base_stats/nidoqueen.asm index 6d11434b..0a1030da 100644 --- a/data/pokemon/base_stats/nidoqueen.asm +++ b/data/pokemon/base_stats/nidoqueen.asm @@ -14,7 +14,7 @@ db 3 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 24, 25, 26, 27, 31, 32, 33, 34, 38, 40, 44, 48, 50, 53, 54 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, PAY_DAY, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, THUNDERBOLT, THUNDER, EARTHQUAKE, FISSURE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SKULL_BASH, REST, ROCK_SLIDE, SUBSTITUTE, SURF, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/nidoranf.asm b/data/pokemon/base_stats/nidoranf.asm index e2dac3a2..8c1a67e2 100644 --- a/data/pokemon/base_stats/nidoranf.asm +++ b/data/pokemon/base_stats/nidoranf.asm @@ -14,7 +14,7 @@ db 3 ; growth rate ; tm/hm learnset - tmhm 6, 8, 9, 10, 14, 20, 24, 25, 31, 32, 33, 34, 40, 44, 50 + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BLIZZARD, RAGE, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SKULL_BASH, REST, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/nidoranm.asm b/data/pokemon/base_stats/nidoranm.asm index fb562990..0609846d 100644 --- a/data/pokemon/base_stats/nidoranm.asm +++ b/data/pokemon/base_stats/nidoranm.asm @@ -14,7 +14,7 @@ db 3 ; growth rate ; tm/hm learnset - tmhm 6, 7, 8, 9, 10, 14, 20, 24, 25, 31, 32, 33, 34, 40, 44, 50 + tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BLIZZARD, RAGE, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SKULL_BASH, REST, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/nidorina.asm b/data/pokemon/base_stats/nidorina.asm index 8a28d677..16105199 100644 --- a/data/pokemon/base_stats/nidorina.asm +++ b/data/pokemon/base_stats/nidorina.asm @@ -14,7 +14,7 @@ db 3 ; growth rate ; tm/hm learnset - tmhm 6, 7, 8, 9, 10, 11, 12, 13, 14, 20, 24, 25, 31, 32, 33, 34, 40, 44, 50 + tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, RAGE, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SKULL_BASH, REST, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/nidorino.asm b/data/pokemon/base_stats/nidorino.asm index 9bc09bef..8d25b1a5 100644 --- a/data/pokemon/base_stats/nidorino.asm +++ b/data/pokemon/base_stats/nidorino.asm @@ -14,7 +14,7 @@ db 3 ; growth rate ; tm/hm learnset - tmhm 6, 7, 8, 9, 10, 11, 12, 13, 14, 20, 24, 25, 31, 32, 33, 34, 40, 44, 50 + tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, RAGE, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SKULL_BASH, REST, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/ninetales.asm b/data/pokemon/base_stats/ninetales.asm index 4a1f8b00..2a36f76f 100644 --- a/data/pokemon/base_stats/ninetales.asm +++ b/data/pokemon/base_stats/ninetales.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 6, 8, 9, 10, 15, 20, 28, 31, 32, 33, 34, 38, 39, 40, 44, 50 + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, DIG, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SWIFT, SKULL_BASH, REST, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/oddish.asm b/data/pokemon/base_stats/oddish.asm index 5fba3fc2..c8fb7e7c 100644 --- a/data/pokemon/base_stats/oddish.asm +++ b/data/pokemon/base_stats/oddish.asm @@ -14,7 +14,7 @@ db 3 ; growth rate ; tm/hm learnset - tmhm 3, 6, 9, 10, 20, 21, 22, 31, 32, 33, 34, 44, 50, 51 + tmhm SWORDS_DANCE, TOXIC, TAKE_DOWN, DOUBLE_EDGE, RAGE, MEGA_DRAIN, SOLARBEAM, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, REST, SUBSTITUTE, CUT ; end db 0 ; padding diff --git a/data/pokemon/base_stats/omanyte.asm b/data/pokemon/base_stats/omanyte.asm index fa3481de..777a30a4 100644 --- a/data/pokemon/base_stats/omanyte.asm +++ b/data/pokemon/base_stats/omanyte.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 6, 8, 9, 10, 11, 12, 13, 14, 20, 31, 32, 33, 34, 44, 50, 53 + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, REST, SUBSTITUTE, SURF ; end db 0 ; padding diff --git a/data/pokemon/base_stats/omastar.asm b/data/pokemon/base_stats/omastar.asm index dfa034f9..15effc88 100644 --- a/data/pokemon/base_stats/omastar.asm +++ b/data/pokemon/base_stats/omastar.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 19, 20, 31, 32, 33, 34, 40, 44, 50, 53 + tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, SUBMISSION, SEISMIC_TOSS, RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SKULL_BASH, REST, SUBSTITUTE, SURF ; end db 0 ; padding diff --git a/data/pokemon/base_stats/onix.asm b/data/pokemon/base_stats/onix.asm index 90c0ffdd..568ec179 100644 --- a/data/pokemon/base_stats/onix.asm +++ b/data/pokemon/base_stats/onix.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 6, 8, 9, 10, 20, 26, 27, 28, 31, 32, 34, 36, 40, 44, 47, 48, 50, 54 + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, RAGE, EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, BIDE, SELFDESTRUCT, SKULL_BASH, REST, EXPLOSION, ROCK_SLIDE, SUBSTITUTE, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/paras.asm b/data/pokemon/base_stats/paras.asm index f8bac0f0..26dd58ea 100644 --- a/data/pokemon/base_stats/paras.asm +++ b/data/pokemon/base_stats/paras.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 3, 6, 8, 9, 10, 20, 21, 22, 28, 31, 32, 33, 34, 40, 44, 50, 51 + tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, RAGE, MEGA_DRAIN, SOLARBEAM, DIG, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SKULL_BASH, REST, SUBSTITUTE, CUT ; end db 0 ; padding diff --git a/data/pokemon/base_stats/parasect.asm b/data/pokemon/base_stats/parasect.asm index 584024c3..95811fb0 100644 --- a/data/pokemon/base_stats/parasect.asm +++ b/data/pokemon/base_stats/parasect.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 3, 6, 8, 9, 10, 15, 20, 21, 22, 28, 31, 32, 33, 34, 40, 44, 50, 51 + tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, MEGA_DRAIN, SOLARBEAM, DIG, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SKULL_BASH, REST, SUBSTITUTE, CUT ; end db 0 ; padding diff --git a/data/pokemon/base_stats/persian.asm b/data/pokemon/base_stats/persian.asm index 0cdf7925..76aea86a 100644 --- a/data/pokemon/base_stats/persian.asm +++ b/data/pokemon/base_stats/persian.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 6, 8, 9, 10, 11, 12, 15, 16, 20, 24, 25, 31, 32, 34, 39, 40, 44, 50 + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, HYPER_BEAM, PAY_DAY, RAGE, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, BIDE, SWIFT, SKULL_BASH, REST, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/pidgeot.asm b/data/pokemon/base_stats/pidgeot.asm index a8c48487..3d7a5cf0 100644 --- a/data/pokemon/base_stats/pidgeot.asm +++ b/data/pokemon/base_stats/pidgeot.asm @@ -14,7 +14,7 @@ db 3 ; growth rate ; tm/hm learnset - tmhm 2, 4, 6, 9, 10, 15, 20, 31, 32, 33, 34, 39, 43, 44, 50, 52 + tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SWIFT, SKY_ATTACK, REST, SUBSTITUTE, FLY ; end db 0 ; padding diff --git a/data/pokemon/base_stats/pidgeotto.asm b/data/pokemon/base_stats/pidgeotto.asm index 70bbb1bc..79c67e82 100644 --- a/data/pokemon/base_stats/pidgeotto.asm +++ b/data/pokemon/base_stats/pidgeotto.asm @@ -14,7 +14,7 @@ db 3 ; growth rate ; tm/hm learnset - tmhm 2, 4, 6, 9, 10, 20, 31, 32, 33, 34, 39, 43, 44, 50, 52 + tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SWIFT, SKY_ATTACK, REST, SUBSTITUTE, FLY ; end db 0 ; padding diff --git a/data/pokemon/base_stats/pidgey.asm b/data/pokemon/base_stats/pidgey.asm index 40926f47..20544718 100644 --- a/data/pokemon/base_stats/pidgey.asm +++ b/data/pokemon/base_stats/pidgey.asm @@ -14,7 +14,7 @@ db 3 ; growth rate ; tm/hm learnset - tmhm 2, 4, 6, 9, 10, 20, 31, 32, 33, 34, 39, 43, 44, 50, 52 + tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SWIFT, SKY_ATTACK, REST, SUBSTITUTE, FLY ; end db 0 ; padding diff --git a/data/pokemon/base_stats/pikachu.asm b/data/pokemon/base_stats/pikachu.asm index a5e9d538..34cca53a 100644 --- a/data/pokemon/base_stats/pikachu.asm +++ b/data/pokemon/base_stats/pikachu.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 8, 9, 10, 16, 17, 19, 20, 24, 25, 31, 32, 33, 34, 39, 40, 44, 45, 50, 55 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, PAY_DAY, SUBMISSION, SEISMIC_TOSS, RAGE, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SWIFT, SKULL_BASH, REST, THUNDER_WAVE, SUBSTITUTE, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/pinsir.asm b/data/pokemon/base_stats/pinsir.asm index 1c8e40f9..ce57c120 100644 --- a/data/pokemon/base_stats/pinsir.asm +++ b/data/pokemon/base_stats/pinsir.asm @@ -14,7 +14,7 @@ db 5 ; growth rate ; tm/hm learnset - tmhm 3, 6, 8, 9, 10, 15, 17, 19, 20, 31, 32, 34, 44, 50, 51, 54 + tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, SUBMISSION, SEISMIC_TOSS, RAGE, MIMIC, DOUBLE_TEAM, BIDE, REST, SUBSTITUTE, CUT, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/poliwag.asm b/data/pokemon/base_stats/poliwag.asm index 98738169..b2a4002c 100644 --- a/data/pokemon/base_stats/poliwag.asm +++ b/data/pokemon/base_stats/poliwag.asm @@ -14,7 +14,7 @@ db 3 ; growth rate ; tm/hm learnset - tmhm 6, 8, 9, 10, 11, 12, 13, 14, 20, 29, 31, 32, 34, 40, 44, 46, 50, 53 + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, RAGE, PSYCHIC_M, MIMIC, DOUBLE_TEAM, BIDE, SKULL_BASH, REST, PSYWAVE, SUBSTITUTE, SURF ; end db 0 ; padding diff --git a/data/pokemon/base_stats/poliwhirl.asm b/data/pokemon/base_stats/poliwhirl.asm index 65f989b1..041cc949 100644 --- a/data/pokemon/base_stats/poliwhirl.asm +++ b/data/pokemon/base_stats/poliwhirl.asm @@ -14,7 +14,7 @@ db 3 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 26, 27, 29, 31, 32, 34, 35, 40, 44, 46, 50, 53, 54 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, EARTHQUAKE, FISSURE, PSYCHIC_M, MIMIC, DOUBLE_TEAM, BIDE, METRONOME, SKULL_BASH, REST, PSYWAVE, SUBSTITUTE, SURF, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/poliwrath.asm b/data/pokemon/base_stats/poliwrath.asm index 4686c270..ac2233e0 100644 --- a/data/pokemon/base_stats/poliwrath.asm +++ b/data/pokemon/base_stats/poliwrath.asm @@ -14,7 +14,7 @@ db 3 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 26, 27, 29, 31, 32, 34, 35, 40, 44, 46, 50, 53, 54 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, EARTHQUAKE, FISSURE, PSYCHIC_M, MIMIC, DOUBLE_TEAM, BIDE, METRONOME, SKULL_BASH, REST, PSYWAVE, SUBSTITUTE, SURF, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/ponyta.asm b/data/pokemon/base_stats/ponyta.asm index 365586a3..2e2c032d 100644 --- a/data/pokemon/base_stats/ponyta.asm +++ b/data/pokemon/base_stats/ponyta.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 6, 7, 8, 9, 10, 20, 31, 32, 33, 34, 38, 39, 40, 44, 50 + tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SWIFT, SKULL_BASH, REST, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/porygon.asm b/data/pokemon/base_stats/porygon.asm index 4a2f37c5..86c1c837 100644 --- a/data/pokemon/base_stats/porygon.asm +++ b/data/pokemon/base_stats/porygon.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 6, 9, 10, 13, 14, 15, 20, 24, 25, 29, 30, 31, 32, 33, 34, 39, 40, 44, 45, 46, 49, 50, 55 + tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, ICE_BEAM, BLIZZARD, HYPER_BEAM, RAGE, THUNDERBOLT, THUNDER, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SWIFT, SKULL_BASH, REST, THUNDER_WAVE, PSYWAVE, TRI_ATTACK, SUBSTITUTE, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/primeape.asm b/data/pokemon/base_stats/primeape.asm index 2c9a8868..5175a4da 100644 --- a/data/pokemon/base_stats/primeape.asm +++ b/data/pokemon/base_stats/primeape.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 8, 9, 10, 15, 16, 17, 18, 19, 20, 24, 25, 28, 31, 32, 34, 35, 39, 40, 44, 48, 50, 54 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, PAY_DAY, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, THUNDERBOLT, THUNDER, DIG, MIMIC, DOUBLE_TEAM, BIDE, METRONOME, SWIFT, SKULL_BASH, REST, ROCK_SLIDE, SUBSTITUTE, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/psyduck.asm b/data/pokemon/base_stats/psyduck.asm index 86468364..f72de54f 100644 --- a/data/pokemon/base_stats/psyduck.asm +++ b/data/pokemon/base_stats/psyduck.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 16, 17, 18, 19, 20, 28, 31, 32, 34, 39, 40, 44, 50, 53, 54 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, PAY_DAY, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, DIG, MIMIC, DOUBLE_TEAM, BIDE, SWIFT, SKULL_BASH, REST, SUBSTITUTE, SURF, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/raichu.asm b/data/pokemon/base_stats/raichu.asm index 780a3cc0..9251ef65 100644 --- a/data/pokemon/base_stats/raichu.asm +++ b/data/pokemon/base_stats/raichu.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 8, 9, 10, 15, 16, 17, 19, 20, 24, 25, 31, 32, 33, 34, 39, 40, 44, 45, 50, 55 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, PAY_DAY, SUBMISSION, SEISMIC_TOSS, RAGE, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SWIFT, SKULL_BASH, REST, THUNDER_WAVE, SUBSTITUTE, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/rapidash.asm b/data/pokemon/base_stats/rapidash.asm index 461aef98..846a96f1 100644 --- a/data/pokemon/base_stats/rapidash.asm +++ b/data/pokemon/base_stats/rapidash.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 6, 7, 8, 9, 10, 15, 20, 31, 32, 33, 34, 38, 39, 40, 44, 50 + tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SWIFT, SKULL_BASH, REST, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/raticate.asm b/data/pokemon/base_stats/raticate.asm index f22c23b8..2f092e74 100644 --- a/data/pokemon/base_stats/raticate.asm +++ b/data/pokemon/base_stats/raticate.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 6, 8, 9, 10, 11, 12, 13, 14, 15, 20, 24, 25, 28, 31, 32, 34, 39, 40, 44, 50 + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, RAGE, THUNDERBOLT, THUNDER, DIG, MIMIC, DOUBLE_TEAM, BIDE, SWIFT, SKULL_BASH, REST, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/rattata.asm b/data/pokemon/base_stats/rattata.asm index 5874cf93..917bee17 100644 --- a/data/pokemon/base_stats/rattata.asm +++ b/data/pokemon/base_stats/rattata.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 6, 8, 9, 10, 11, 12, 14, 20, 24, 25, 28, 31, 32, 34, 39, 40, 44, 50 + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, BLIZZARD, RAGE, THUNDERBOLT, THUNDER, DIG, MIMIC, DOUBLE_TEAM, BIDE, SWIFT, SKULL_BASH, REST, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/rhydon.asm b/data/pokemon/base_stats/rhydon.asm index b2a96669..36dd2e8b 100644 --- a/data/pokemon/base_stats/rhydon.asm +++ b/data/pokemon/base_stats/rhydon.asm @@ -14,7 +14,7 @@ db 5 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 24, 25, 26, 27, 28, 31, 32, 34, 38, 40, 44, 48, 50, 53, 54 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, PAY_DAY, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, THUNDERBOLT, THUNDER, EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, BIDE, FIRE_BLAST, SKULL_BASH, REST, ROCK_SLIDE, SUBSTITUTE, SURF, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/rhyhorn.asm b/data/pokemon/base_stats/rhyhorn.asm index d7b7d1d5..bfd49fef 100644 --- a/data/pokemon/base_stats/rhyhorn.asm +++ b/data/pokemon/base_stats/rhyhorn.asm @@ -14,7 +14,7 @@ db 5 ; growth rate ; tm/hm learnset - tmhm 6, 7, 8, 9, 10, 20, 24, 25, 26, 27, 28, 31, 32, 34, 38, 40, 44, 48, 50, 54 + tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, RAGE, THUNDERBOLT, THUNDER, EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, BIDE, FIRE_BLAST, SKULL_BASH, REST, ROCK_SLIDE, SUBSTITUTE, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/sandshrew.asm b/data/pokemon/base_stats/sandshrew.asm index 428bee9c..e16d482d 100644 --- a/data/pokemon/base_stats/sandshrew.asm +++ b/data/pokemon/base_stats/sandshrew.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 3, 6, 8, 9, 10, 17, 19, 20, 26, 27, 28, 31, 32, 34, 39, 40, 44, 48, 50, 51, 54 + tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, SUBMISSION, SEISMIC_TOSS, RAGE, EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, BIDE, SWIFT, SKULL_BASH, REST, ROCK_SLIDE, SUBSTITUTE, CUT, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/sandslash.asm b/data/pokemon/base_stats/sandslash.asm index a7639ac9..748a3828 100644 --- a/data/pokemon/base_stats/sandslash.asm +++ b/data/pokemon/base_stats/sandslash.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 3, 6, 8, 9, 10, 15, 17, 19, 20, 26, 27, 28, 31, 32, 34, 39, 40, 44, 48, 50, 51, 54 + tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, SUBMISSION, SEISMIC_TOSS, RAGE, EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, BIDE, SWIFT, SKULL_BASH, REST, ROCK_SLIDE, SUBSTITUTE, CUT, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/scyther.asm b/data/pokemon/base_stats/scyther.asm index caca5e77..b833345d 100644 --- a/data/pokemon/base_stats/scyther.asm +++ b/data/pokemon/base_stats/scyther.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 3, 6, 9, 10, 15, 20, 31, 32, 34, 39, 40, 44, 50, 51 + tmhm SWORDS_DANCE, TOXIC, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, MIMIC, DOUBLE_TEAM, BIDE, SWIFT, SKULL_BASH, REST, SUBSTITUTE, CUT ; end db 0 ; padding diff --git a/data/pokemon/base_stats/seadra.asm b/data/pokemon/base_stats/seadra.asm index f2074bbe..64da5ace 100644 --- a/data/pokemon/base_stats/seadra.asm +++ b/data/pokemon/base_stats/seadra.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 6, 9, 10, 11, 12, 13, 14, 15, 20, 31, 32, 34, 39, 40, 44, 50, 53 + tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, RAGE, MIMIC, DOUBLE_TEAM, BIDE, SWIFT, SKULL_BASH, REST, SUBSTITUTE, SURF ; end db 0 ; padding diff --git a/data/pokemon/base_stats/seaking.asm b/data/pokemon/base_stats/seaking.asm index b9c22a98..652e78a4 100644 --- a/data/pokemon/base_stats/seaking.asm +++ b/data/pokemon/base_stats/seaking.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 6, 7, 9, 10, 11, 12, 13, 14, 15, 20, 31, 32, 34, 39, 40, 44, 50, 53 + tmhm TOXIC, HORN_DRILL, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, RAGE, MIMIC, DOUBLE_TEAM, BIDE, SWIFT, SKULL_BASH, REST, SUBSTITUTE, SURF ; end db 0 ; padding diff --git a/data/pokemon/base_stats/seel.asm b/data/pokemon/base_stats/seel.asm index e0736520..65e3b6ea 100644 --- a/data/pokemon/base_stats/seel.asm +++ b/data/pokemon/base_stats/seel.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 6, 7, 8, 9, 10, 11, 12, 13, 14, 16, 20, 31, 32, 34, 40, 44, 50, 53, 54 + tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, PAY_DAY, RAGE, MIMIC, DOUBLE_TEAM, BIDE, SKULL_BASH, REST, SUBSTITUTE, SURF, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/shellder.asm b/data/pokemon/base_stats/shellder.asm index 22af71c2..b0051565 100644 --- a/data/pokemon/base_stats/shellder.asm +++ b/data/pokemon/base_stats/shellder.asm @@ -14,7 +14,7 @@ db 5 ; growth rate ; tm/hm learnset - tmhm 6, 9, 10, 11, 12, 13, 14, 20, 30, 31, 32, 33, 34, 36, 39, 44, 47, 49, 50, 53 + tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, RAGE, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SELFDESTRUCT, SWIFT, REST, EXPLOSION, TRI_ATTACK, SUBSTITUTE, SURF ; end db 0 ; padding diff --git a/data/pokemon/base_stats/slowbro.asm b/data/pokemon/base_stats/slowbro.asm index 0f440532..0a4f04a7 100644 --- a/data/pokemon/base_stats/slowbro.asm +++ b/data/pokemon/base_stats/slowbro.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 26, 27, 28, 29, 30, 31, 32, 33, 34, 38, 39, 40, 44, 45, 46, 49, 50, 53, 54, 55 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, PAY_DAY, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, EARTHQUAKE, FISSURE, DIG, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SWIFT, SKULL_BASH, REST, THUNDER_WAVE, PSYWAVE, TRI_ATTACK, SUBSTITUTE, SURF, STRENGTH, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/slowpoke.asm b/data/pokemon/base_stats/slowpoke.asm index 644fb3de..571fcde4 100644 --- a/data/pokemon/base_stats/slowpoke.asm +++ b/data/pokemon/base_stats/slowpoke.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 6, 8, 9, 10, 11, 12, 13, 14, 16, 20, 26, 27, 28, 29, 30, 31, 32, 33, 34, 38, 39, 40, 44, 45, 46, 49, 50, 53, 54, 55 + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, PAY_DAY, RAGE, EARTHQUAKE, FISSURE, DIG, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SWIFT, SKULL_BASH, REST, THUNDER_WAVE, PSYWAVE, TRI_ATTACK, SUBSTITUTE, SURF, STRENGTH, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/snorlax.asm b/data/pokemon/base_stats/snorlax.asm index 586ccdfc..7deceef6 100644 --- a/data/pokemon/base_stats/snorlax.asm +++ b/data/pokemon/base_stats/snorlax.asm @@ -14,7 +14,7 @@ db 5 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 24, 25, 26, 27, 29, 31, 32, 33, 34, 35, 36, 38, 40, 44, 46, 48, 50, 53, 54 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, PAY_DAY, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, SOLARBEAM, THUNDERBOLT, THUNDER, EARTHQUAKE, FISSURE, PSYCHIC_M, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, METRONOME, SELFDESTRUCT, FIRE_BLAST, SKULL_BASH, REST, PSYWAVE, ROCK_SLIDE, SUBSTITUTE, SURF, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/spearow.asm b/data/pokemon/base_stats/spearow.asm index 05471e4e..023c058b 100644 --- a/data/pokemon/base_stats/spearow.asm +++ b/data/pokemon/base_stats/spearow.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 2, 4, 6, 9, 10, 20, 31, 32, 34, 39, 43, 44, 50, 52 + tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, RAGE, MIMIC, DOUBLE_TEAM, BIDE, SWIFT, SKY_ATTACK, REST, SUBSTITUTE, FLY ; end db 0 ; padding diff --git a/data/pokemon/base_stats/squirtle.asm b/data/pokemon/base_stats/squirtle.asm index 1d645227..5212a998 100644 --- a/data/pokemon/base_stats/squirtle.asm +++ b/data/pokemon/base_stats/squirtle.asm @@ -14,7 +14,7 @@ db 3 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 28, 31, 32, 33, 34, 40, 44, 50, 53, 54 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, DIG, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SKULL_BASH, REST, SUBSTITUTE, SURF, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/starmie.asm b/data/pokemon/base_stats/starmie.asm index ce8f10be..ba966d5b 100644 --- a/data/pokemon/base_stats/starmie.asm +++ b/data/pokemon/base_stats/starmie.asm @@ -14,7 +14,7 @@ db 5 ; growth rate ; tm/hm learnset - tmhm 6, 9, 10, 11, 12, 13, 14, 15, 20, 24, 25, 29, 30, 31, 32, 33, 34, 39, 40, 44, 45, 46, 49, 50, 53, 55 + tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, RAGE, THUNDERBOLT, THUNDER, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SWIFT, SKULL_BASH, REST, THUNDER_WAVE, PSYWAVE, TRI_ATTACK, SUBSTITUTE, SURF, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/staryu.asm b/data/pokemon/base_stats/staryu.asm index 224e1fb8..5d2292ed 100644 --- a/data/pokemon/base_stats/staryu.asm +++ b/data/pokemon/base_stats/staryu.asm @@ -14,7 +14,7 @@ db 5 ; growth rate ; tm/hm learnset - tmhm 6, 9, 10, 11, 12, 13, 14, 20, 24, 25, 29, 30, 31, 32, 33, 34, 39, 40, 44, 45, 46, 49, 50, 53, 55 + tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, RAGE, THUNDERBOLT, THUNDER, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SWIFT, SKULL_BASH, REST, THUNDER_WAVE, PSYWAVE, TRI_ATTACK, SUBSTITUTE, SURF, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/tangela.asm b/data/pokemon/base_stats/tangela.asm index 7148fad0..8c8f736a 100644 --- a/data/pokemon/base_stats/tangela.asm +++ b/data/pokemon/base_stats/tangela.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 3, 6, 8, 9, 10, 15, 20, 21, 22, 31, 32, 34, 40, 44, 50, 51 + tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, MEGA_DRAIN, SOLARBEAM, MIMIC, DOUBLE_TEAM, BIDE, SKULL_BASH, REST, SUBSTITUTE, CUT ; end db 0 ; padding diff --git a/data/pokemon/base_stats/tauros.asm b/data/pokemon/base_stats/tauros.asm index cbf16aa5..db03e054 100644 --- a/data/pokemon/base_stats/tauros.asm +++ b/data/pokemon/base_stats/tauros.asm @@ -14,7 +14,7 @@ db 5 ; growth rate ; tm/hm learnset - tmhm 6, 7, 8, 9, 10, 13, 14, 15, 20, 24, 25, 26, 27, 31, 32, 34, 38, 40, 44, 50, 54 + tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, ICE_BEAM, BLIZZARD, HYPER_BEAM, RAGE, THUNDERBOLT, THUNDER, EARTHQUAKE, FISSURE, MIMIC, DOUBLE_TEAM, BIDE, FIRE_BLAST, SKULL_BASH, REST, SUBSTITUTE, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/tentacool.asm b/data/pokemon/base_stats/tentacool.asm index b452d836..5c4c2b34 100644 --- a/data/pokemon/base_stats/tentacool.asm +++ b/data/pokemon/base_stats/tentacool.asm @@ -14,7 +14,7 @@ db 5 ; growth rate ; tm/hm learnset - tmhm 3, 6, 9, 10, 11, 12, 13, 14, 20, 21, 31, 32, 33, 34, 40, 44, 50, 51, 53 + tmhm SWORDS_DANCE, TOXIC, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, RAGE, MEGA_DRAIN, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SKULL_BASH, REST, SUBSTITUTE, CUT, SURF ; end db 0 ; padding diff --git a/data/pokemon/base_stats/tentacruel.asm b/data/pokemon/base_stats/tentacruel.asm index 05b6f6ec..7d93e11b 100644 --- a/data/pokemon/base_stats/tentacruel.asm +++ b/data/pokemon/base_stats/tentacruel.asm @@ -14,7 +14,7 @@ db 5 ; growth rate ; tm/hm learnset - tmhm 3, 6, 9, 10, 11, 12, 13, 14, 15, 20, 21, 31, 32, 33, 34, 40, 44, 50, 51, 53 + tmhm SWORDS_DANCE, TOXIC, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, RAGE, MEGA_DRAIN, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SKULL_BASH, REST, SUBSTITUTE, CUT, SURF ; end db 0 ; padding diff --git a/data/pokemon/base_stats/vaporeon.asm b/data/pokemon/base_stats/vaporeon.asm index bf6bf6d9..c432b4b4 100644 --- a/data/pokemon/base_stats/vaporeon.asm +++ b/data/pokemon/base_stats/vaporeon.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 6, 8, 9, 10, 11, 12, 13, 14, 15, 20, 31, 32, 33, 34, 39, 40, 44, 50, 53 + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SWIFT, SKULL_BASH, REST, SUBSTITUTE, SURF ; end db 0 ; padding diff --git a/data/pokemon/base_stats/venomoth.asm b/data/pokemon/base_stats/venomoth.asm index b9987fa8..95a9e4bf 100644 --- a/data/pokemon/base_stats/venomoth.asm +++ b/data/pokemon/base_stats/venomoth.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 2, 4, 6, 9, 10, 15, 20, 21, 22, 29, 30, 31, 32, 33, 34, 39, 44, 46, 50 + tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, MEGA_DRAIN, SOLARBEAM, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SWIFT, REST, PSYWAVE, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/venonat.asm b/data/pokemon/base_stats/venonat.asm index afe877de..458de396 100644 --- a/data/pokemon/base_stats/venonat.asm +++ b/data/pokemon/base_stats/venonat.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 6, 9, 10, 20, 21, 22, 29, 31, 32, 33, 34, 44, 46, 50 + tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, RAGE, MEGA_DRAIN, SOLARBEAM, PSYCHIC_M, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, REST, PSYWAVE, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/venusaur.asm b/data/pokemon/base_stats/venusaur.asm index 308006aa..ecfdf4ec 100644 --- a/data/pokemon/base_stats/venusaur.asm +++ b/data/pokemon/base_stats/venusaur.asm @@ -14,7 +14,7 @@ db 3 ; growth rate ; tm/hm learnset - tmhm 3, 6, 8, 9, 10, 15, 20, 21, 22, 31, 32, 33, 34, 44, 50, 51 + tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, MEGA_DRAIN, SOLARBEAM, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, REST, SUBSTITUTE, CUT ; end db 0 ; padding diff --git a/data/pokemon/base_stats/victreebel.asm b/data/pokemon/base_stats/victreebel.asm index 17ea6643..b0e8025c 100644 --- a/data/pokemon/base_stats/victreebel.asm +++ b/data/pokemon/base_stats/victreebel.asm @@ -14,7 +14,7 @@ db 3 ; growth rate ; tm/hm learnset - tmhm 3, 6, 8, 9, 10, 15, 20, 21, 22, 31, 32, 33, 34, 44, 50, 51 + tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, MEGA_DRAIN, SOLARBEAM, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, REST, SUBSTITUTE, CUT ; end db 0 ; padding diff --git a/data/pokemon/base_stats/vileplume.asm b/data/pokemon/base_stats/vileplume.asm index 9e6bc95c..b6296607 100644 --- a/data/pokemon/base_stats/vileplume.asm +++ b/data/pokemon/base_stats/vileplume.asm @@ -14,7 +14,7 @@ db 3 ; growth rate ; tm/hm learnset - tmhm 3, 6, 8, 9, 10, 15, 20, 21, 22, 31, 32, 33, 34, 44, 50, 51 + tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, MEGA_DRAIN, SOLARBEAM, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, REST, SUBSTITUTE, CUT ; end db 0 ; padding diff --git a/data/pokemon/base_stats/voltorb.asm b/data/pokemon/base_stats/voltorb.asm index 2ae4998c..fec528af 100644 --- a/data/pokemon/base_stats/voltorb.asm +++ b/data/pokemon/base_stats/voltorb.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 6, 9, 20, 24, 25, 30, 31, 32, 33, 34, 36, 39, 44, 45, 47, 50, 55 + tmhm TOXIC, TAKE_DOWN, RAGE, THUNDERBOLT, THUNDER, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SELFDESTRUCT, SWIFT, REST, THUNDER_WAVE, EXPLOSION, SUBSTITUTE, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/vulpix.asm b/data/pokemon/base_stats/vulpix.asm index 7ccd994d..c2832ce9 100644 --- a/data/pokemon/base_stats/vulpix.asm +++ b/data/pokemon/base_stats/vulpix.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 6, 8, 9, 10, 20, 28, 31, 32, 33, 34, 38, 39, 40, 44, 50 + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, RAGE, DIG, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SWIFT, SKULL_BASH, REST, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/wartortle.asm b/data/pokemon/base_stats/wartortle.asm index 5a1326f7..06f573d9 100644 --- a/data/pokemon/base_stats/wartortle.asm +++ b/data/pokemon/base_stats/wartortle.asm @@ -14,7 +14,7 @@ db 3 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 17, 18, 19, 20, 28, 31, 32, 33, 34, 40, 44, 50, 53, 54 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, DIG, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SKULL_BASH, REST, SUBSTITUTE, SURF, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/weepinbell.asm b/data/pokemon/base_stats/weepinbell.asm index 60003774..492348de 100644 --- a/data/pokemon/base_stats/weepinbell.asm +++ b/data/pokemon/base_stats/weepinbell.asm @@ -14,7 +14,7 @@ db 3 ; growth rate ; tm/hm learnset - tmhm 3, 6, 9, 10, 20, 21, 22, 31, 32, 33, 34, 44, 50, 51 + tmhm SWORDS_DANCE, TOXIC, TAKE_DOWN, DOUBLE_EDGE, RAGE, MEGA_DRAIN, SOLARBEAM, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, REST, SUBSTITUTE, CUT ; end db 0 ; padding diff --git a/data/pokemon/base_stats/weezing.asm b/data/pokemon/base_stats/weezing.asm index cfdf16d7..7a58f82c 100644 --- a/data/pokemon/base_stats/weezing.asm +++ b/data/pokemon/base_stats/weezing.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 6, 15, 20, 24, 25, 31, 32, 34, 36, 38, 44, 47, 50 + tmhm TOXIC, HYPER_BEAM, RAGE, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, BIDE, SELFDESTRUCT, FIRE_BLAST, REST, EXPLOSION, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/wigglytuff.asm b/data/pokemon/base_stats/wigglytuff.asm index c95ce777..ef10f24c 100644 --- a/data/pokemon/base_stats/wigglytuff.asm +++ b/data/pokemon/base_stats/wigglytuff.asm @@ -14,7 +14,7 @@ db 4 ; growth rate ; tm/hm learnset - tmhm 1, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 17, 18, 19, 20, 22, 24, 25, 29, 30, 31, 32, 33, 34, 38, 40, 44, 45, 46, 49, 50, 54, 55 + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, SOLARBEAM, THUNDERBOLT, THUNDER, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SKULL_BASH, REST, THUNDER_WAVE, PSYWAVE, TRI_ATTACK, SUBSTITUTE, STRENGTH, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/zapdos.asm b/data/pokemon/base_stats/zapdos.asm index da9c6050..a08da4d2 100644 --- a/data/pokemon/base_stats/zapdos.asm +++ b/data/pokemon/base_stats/zapdos.asm @@ -14,7 +14,7 @@ db 5 ; growth rate ; tm/hm learnset - tmhm 2, 4, 6, 9, 10, 15, 20, 24, 25, 31, 32, 33, 34, 39, 43, 44, 45, 50, 52, 55 + tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SWIFT, SKY_ATTACK, REST, THUNDER_WAVE, SUBSTITUTE, FLY, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/zubat.asm b/data/pokemon/base_stats/zubat.asm index e40e9ed9..0f8db04d 100644 --- a/data/pokemon/base_stats/zubat.asm +++ b/data/pokemon/base_stats/zubat.asm @@ -14,7 +14,7 @@ db 0 ; growth rate ; tm/hm learnset - tmhm 2, 4, 6, 9, 10, 20, 21, 31, 32, 34, 39, 44, 50 + tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, RAGE, MEGA_DRAIN, MIMIC, DOUBLE_TEAM, BIDE, SWIFT, REST, SUBSTITUTE ; end db 0 ; padding diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm index 93eab051..238c2ea9 100755 --- a/engine/items/item_effects.asm +++ b/engine/items/item_effects.asm @@ -2,7 +2,7 @@ UseItem_:: ld a, 1 ld [wActionResultOrTookBattleTurn], a ; initialise to success value ld a, [wcf91] ;contains item_ID - cp HM_01 + cp HM01 jp nc, ItemUseTMHM ld hl, ItemUsePtrTable dec a @@ -2201,10 +2201,10 @@ ItemUseTMHM: and a jp nz, ItemUseNotTime ld a, [wcf91] - sub TM_01 + sub TM01 ; underflows below 0 for HM items (before TM items) push af jr nc, .skipAdding - add 55 ; if item is an HM, add 55 + add NUM_TMS + NUM_HMS ; adjust HM IDs to come after TM IDs .skipAdding inc a ld [wd11e], a @@ -2661,7 +2661,7 @@ IsKeyItem_:: ld a, $01 ld [wIsKeyItem], a ld a, [wcf91] - cp HM_01 ; is the item an HM or TM? + cp HM01 ; is the item an HM or TM? jr nc, .checkIfItemIsHM ; if the item is not an HM or TM push af diff --git a/engine/items/tm_prices.asm b/engine/items/tm_prices.asm index 85531bab..502191d5 100755 --- a/engine/items/tm_prices.asm +++ b/engine/items/tm_prices.asm @@ -2,8 +2,8 @@ GetMachinePrice:: ; Input: [wcf91] = Item Id of a TM ; Output: Stores the TM price at hItemPrice ld a, [wcf91] ; a contains TM item id - sub TM_01 - ret c + sub TM01 ; underflows below 0 for HM items (before TM items) + ret c ; HMs are priceless ld d, a ld hl, TechnicalMachinePrices srl a diff --git a/engine/menus/start_sub_menus.asm b/engine/menus/start_sub_menus.asm index 9ec06556..5182ae79 100755 --- a/engine/menus/start_sub_menus.asm +++ b/engine/menus/start_sub_menus.asm @@ -384,7 +384,7 @@ StartMenu_Item:: ; use item ld [wPseudoItemID], a ; a must be 0 due to above conditional jump ld a, [wcf91] - cp HM_01 + cp HM01 jr nc, .useItem_partyMenu ld hl, UsableItems_CloseMenu ld de, 1 diff --git a/home.asm b/home.asm index c33ab449..83860e2e 100644 --- a/home.asm +++ b/home.asm @@ -960,7 +960,7 @@ GetItemPrice:: ld h, [hl] ld l, a ld a, [wcf91] ; a contains item id - cp HM_01 + cp HM01 jr nc, .getTMPrice ld bc, $3 .loop diff --git a/home/names.asm b/home/names.asm index cbc8910b..489bd040 100644 --- a/home/names.asm +++ b/home/names.asm @@ -30,7 +30,7 @@ GetItemName:: push hl push bc ld a, [wd11e] - cp HM_01 ; is this a TM/HM? + cp HM01 ; is this a TM/HM? jr nc, .Machine ld [wd0b5], a @@ -56,11 +56,11 @@ GetMachineName:: push bc ld a, [wd11e] push af - cp TM_01 ; is this a TM? [not HM] + cp TM01 ; is this a TM? [not HM] jr nc, .WriteTM -; if HM, then write "HM" and add 5 to the item ID, so we can reuse the +; if HM, then write "HM" and add NUM_HMS to the item ID, so we can reuse the ; TM printing code - add 5 + add NUM_HMS ld [wd11e], a ld hl, HiddenPrefix ; points to "HM" ld bc, 2 @@ -74,7 +74,7 @@ GetMachineName:: ; now get the machine number and convert it to text ld a, [wd11e] - sub TM_01 - 1 + sub TM01 - 1 ld b, "0" .FirstDigit sub 10 @@ -109,9 +109,9 @@ HiddenPrefix:: ; sets carry if item is HM, clears carry if item is not HM ; Input: a = item ID IsItemHM:: - cp HM_01 + cp HM01 jr c, .notHM - cp TM_01 + cp TM01 ret .notHM and a diff --git a/home/names2.asm b/home/names2.asm index 319febd3..ecf6ae63 100644 --- a/home/names2.asm +++ b/home/names2.asm @@ -19,7 +19,7 @@ GetName:: ; TM names are separate from item names. ; BUG: This applies to all names instead of just items. - cp HM_01 + cp HM01 jp nc, GetMachineName ld a, [hLoadedROMBank] diff --git a/macros/data.asm b/macros/data.asm index 40227b87..333bf937 100755 --- a/macros/data.asm +++ b/macros/data.asm @@ -22,12 +22,16 @@ _tms1 = 0 ; TM01-TM24 (24) _tms2 = 0 ; TM25-TM48 (24) _tms3 = 0 ; TM49-TM50 + HM01-HM05 (7/24) rept _NARG - if (\1) < 24 + 1 -_tms1 = _tms1 | (1 << ((\1) - 1)) - elif (\1) < 48 + 1 -_tms2 = _tms2 | (1 << ((\1) - 1 - 24)) + if DEF(\1_TMNUM) + if \1_TMNUM < 24 + 1 +_tms1 = _tms1 | (1 << ((\1_TMNUM) - 1)) + elif \1_TMNUM < 48 + 1 +_tms2 = _tms2 | (1 << ((\1_TMNUM) - 1 - 24)) else -_tms3 = _tms3 | (1 << ((\1) - 1 - 48)) +_tms3 = _tms3 | (1 << ((\1_TMNUM) - 1 - 48)) + endc + else + fail "\1 is not a TM or HM move" endc shift endr diff --git a/scripts/CeladonCity.asm b/scripts/CeladonCity.asm index 37569c0b..bd0228d8 100755 --- a/scripts/CeladonCity.asm +++ b/scripts/CeladonCity.asm @@ -46,7 +46,7 @@ CeladonCityText5: jr nz, .asm_7053f ld hl, TM41PreText call PrintText - lb bc, TM_41, 1 + lb bc, TM_SOFTBOILED, 1 call GiveItem jr c, .Success ld hl, TM41NoRoomText diff --git a/scripts/CeladonGym.asm b/scripts/CeladonGym.asm index 1a39cc3f..4af9d146 100755 --- a/scripts/CeladonGym.asm +++ b/scripts/CeladonGym.asm @@ -47,7 +47,7 @@ CeladonGymText_48963: ld [hSpriteIndexOrTextID], a call DisplayTextID SetEvent EVENT_BEAT_ERIKA - lb bc, TM_21, 1 + lb bc, TM_MEGA_DRAIN, 1 call GiveItem jr nc, .BagFull ld a, $a diff --git a/scripts/CeladonMart3F.asm b/scripts/CeladonMart3F.asm index c70f18d4..e3e929da 100755 --- a/scripts/CeladonMart3F.asm +++ b/scripts/CeladonMart3F.asm @@ -26,7 +26,7 @@ CeladonMart3Text1: jr nz, .asm_a5463 ld hl, TM18PreReceiveText call PrintText - lb bc, TM_18, 1 + lb bc, TM_COUNTER, 1 call GiveItem jr nc, .BagFull SetEvent EVENT_GOT_TM18 diff --git a/scripts/CeladonMartRoof.asm b/scripts/CeladonMartRoof.asm index 7c1d7039..c2bbd169 100755 --- a/scripts/CeladonMartRoof.asm +++ b/scripts/CeladonMartRoof.asm @@ -90,7 +90,7 @@ CeladonMartRoofScript_GiveDrinkToGirl: ld hl, CeladonMartRoofText_48515 call PrintText call RemoveItemByIDBank12 - lb bc, TM_49, 1 + lb bc, TM_TRI_ATTACK, 1 call GiveItem jr nc, .bagFull ld hl, ReceivedTM49Text @@ -103,7 +103,7 @@ CeladonMartRoofScript_GiveDrinkToGirl: ld hl, CeladonMartRoofText_48504 call PrintText call RemoveItemByIDBank12 - lb bc, TM_48, 1 + lb bc, TM_ROCK_SLIDE, 1 call GiveItem jr nc, .bagFull ld hl, CeladonMartRoofText_4850a @@ -116,7 +116,7 @@ CeladonMartRoofScript_GiveDrinkToGirl: ld hl, CeladonMartRoofText_484f3 call PrintText call RemoveItemByIDBank12 - lb bc, TM_13, 1 + lb bc, TM_ICE_BEAM, 1 call GiveItem jr nc, .bagFull ld hl, CeladonMartRoofText_484f9 diff --git a/scripts/CeruleanCity.asm b/scripts/CeruleanCity.asm index 0c3e10cf..bed09c10 100755 --- a/scripts/CeruleanCity.asm +++ b/scripts/CeruleanCity.asm @@ -299,7 +299,7 @@ CeruleanCityText2: .asm_4ca20 ld hl, CeruleanCityText_196f3 call PrintText - lb bc, TM_28, 1 + lb bc, TM_DIG, 1 call GiveItem jr c, .Success ld hl, TM28NoRoomText diff --git a/scripts/CeruleanGym.asm b/scripts/CeruleanGym.asm index ed3bed14..14363066 100755 --- a/scripts/CeruleanGym.asm +++ b/scripts/CeruleanGym.asm @@ -47,7 +47,7 @@ CeruleanGymScript_5c70d: ld [hSpriteIndexOrTextID], a call DisplayTextID SetEvent EVENT_BEAT_MISTY - lb bc, TM_11, 1 + lb bc, TM_BUBBLEBEAM, 1 call GiveItem jr nc, .BagFull ld a, $6 diff --git a/scripts/CinnabarGym.asm b/scripts/CinnabarGym.asm index cde00d61..7d4121a6 100755 --- a/scripts/CinnabarGym.asm +++ b/scripts/CinnabarGym.asm @@ -144,7 +144,7 @@ CinnabarGymScript3_75857: ld [hSpriteIndexOrTextID], a call DisplayTextID SetEvent EVENT_BEAT_BLAINE - lb bc, TM_38, 1 + lb bc, TM_FIRE_BLAST, 1 call GiveItem jr nc, .BagFull ld a, $b diff --git a/scripts/CinnabarLabMetronomeRoom.asm b/scripts/CinnabarLabMetronomeRoom.asm index fd449736..976a2176 100755 --- a/scripts/CinnabarLabMetronomeRoom.asm +++ b/scripts/CinnabarLabMetronomeRoom.asm @@ -14,7 +14,7 @@ Lab3Text1: jr nz, .asm_e551a ld hl, TM35PreReceiveText call PrintText - lb bc, TM_35, 1 + lb bc, TM_METRONOME, 1 call GiveItem jr nc, .BagFull ld hl, ReceivedTM35Text diff --git a/scripts/CopycatsHouse2F.asm b/scripts/CopycatsHouse2F.asm index 9f28496a..e72b1467 100755 --- a/scripts/CopycatsHouse2F.asm +++ b/scripts/CopycatsHouse2F.asm @@ -23,7 +23,7 @@ CopycatsHouse2FText1: jr z, .asm_62ecd ld hl, TM31PreReceiveText call PrintText - lb bc, TM_31, 1 + lb bc, TM_MIMIC, 1 call GiveItem jr nc, .BagFull ld hl, ReceivedTM31Text diff --git a/scripts/FuchsiaGym.asm b/scripts/FuchsiaGym.asm index bf494074..6fa569a0 100755 --- a/scripts/FuchsiaGym.asm +++ b/scripts/FuchsiaGym.asm @@ -47,7 +47,7 @@ FuchsiaGymScript3_75497: ld [hSpriteIndexOrTextID], a call DisplayTextID SetEvent EVENT_BEAT_KOGA - lb bc, TM_06, 1 + lb bc, TM_TOXIC, 1 call GiveItem jr nc, .BagFull ld a, $a diff --git a/scripts/MrPsychicsHouse.asm b/scripts/MrPsychicsHouse.asm index 15d3c0cd..1e694772 100755 --- a/scripts/MrPsychicsHouse.asm +++ b/scripts/MrPsychicsHouse.asm @@ -10,7 +10,7 @@ SaffronHouse2Text1: jr nz, .asm_9e72b ld hl, TM29PreReceiveText call PrintText - lb bc, TM_29, 1 + lb bc, TM_PSYCHIC_M, 1 call GiveItem jr nc, .BagFull ld hl, ReceivedTM29Text diff --git a/scripts/PewterGym.asm b/scripts/PewterGym.asm index 8e3bdc46..7215e095 100755 --- a/scripts/PewterGym.asm +++ b/scripts/PewterGym.asm @@ -47,7 +47,7 @@ PewterGymScript_5c3df: ld [hSpriteIndexOrTextID], a call DisplayTextID SetEvent EVENT_BEAT_BROCK - lb bc, TM_34, 1 + lb bc, TM_BIDE, 1 call GiveItem jr nc, .BagFull ld a, $5 diff --git a/scripts/Route12Gate2F.asm b/scripts/Route12Gate2F.asm index ff4bf2b2..a7e426c9 100755 --- a/scripts/Route12Gate2F.asm +++ b/scripts/Route12Gate2F.asm @@ -12,7 +12,7 @@ Route12GateUpstairsText1: jr c, .asm_0ad3c ld hl, TM39PreReceiveText call PrintText - lb bc, TM_39, 1 + lb bc, TM_SWIFT, 1 call GiveItem jr nc, .BagFull ld hl, ReceivedTM39Text diff --git a/scripts/Route16FlyHouse.asm b/scripts/Route16FlyHouse.asm index 38f7bbef..d5b0350a 100755 --- a/scripts/Route16FlyHouse.asm +++ b/scripts/Route16FlyHouse.asm @@ -12,7 +12,7 @@ Route16HouseText1: jr nz, .asm_13616 ld hl, Route16HouseText3 call PrintText - lb bc, HM_02, 1 + lb bc, HM_FLY, 1 call GiveItem jr nc, .BagFull SetEvent EVENT_GOT_HM02 diff --git a/scripts/Route2Gate.asm b/scripts/Route2Gate.asm index d1afd534..27da0909 100755 --- a/scripts/Route2Gate.asm +++ b/scripts/Route2Gate.asm @@ -11,7 +11,7 @@ Route2GateText1: jr nz, .asm_5d60d ld a, 10 ; pokemon needed ld [hOaksAideRequirement], a - ld a, HM_05 ; oak's aide reward + ld a, HM_FLASH ; oak's aide reward ld [hOaksAideRewardItem], a ld [wd11e], a call GetItemName diff --git a/scripts/SSAnneCaptainsRoom.asm b/scripts/SSAnneCaptainsRoom.asm index 70518c37..8b464b53 100755 --- a/scripts/SSAnneCaptainsRoom.asm +++ b/scripts/SSAnneCaptainsRoom.asm @@ -22,7 +22,7 @@ SSAnne7Text1: call PrintText ld hl, ReceivingHM01Text call PrintText - lb bc, HM_01, 1 + lb bc, HM_CUT, 1 call GiveItem jr nc, .BagFull ld hl, ReceivedHM01Text diff --git a/scripts/SafariZoneSecretHouse.asm b/scripts/SafariZoneSecretHouse.asm index af04adb3..35aa90d7 100755 --- a/scripts/SafariZoneSecretHouse.asm +++ b/scripts/SafariZoneSecretHouse.asm @@ -10,7 +10,7 @@ SafariZoneSecretHouseText1: jr nz, .asm_20a9b ld hl, SafariZoneSecretHouseText_4a350 call PrintText - lb bc, HM_03, 1 + lb bc, HM_SURF, 1 call GiveItem jr nc, .BagFull ld hl, ReceivedHM03Text diff --git a/scripts/SaffronGym.asm b/scripts/SaffronGym.asm index c53ea0f0..88a76253 100755 --- a/scripts/SaffronGym.asm +++ b/scripts/SaffronGym.asm @@ -47,7 +47,7 @@ SaffronGymText_5d068: ld [hSpriteIndexOrTextID], a call DisplayTextID SetEvent EVENT_BEAT_SABRINA - lb bc, TM_46, 1 + lb bc, TM_PSYWAVE, 1 call GiveItem jr nc, .BagFull ld a, $b diff --git a/scripts/SilphCo2F.asm b/scripts/SilphCo2F.asm index 3cc27fab..212d0b90 100755 --- a/scripts/SilphCo2F.asm +++ b/scripts/SilphCo2F.asm @@ -142,7 +142,7 @@ SilphCo2Text1: jr nz, .asm_59de4 ld hl, SilphCo2Text_59ded call PrintText - lb bc, TM_36, 1 + lb bc, TM_SELFDESTRUCT, 1 call GiveItem ld hl, TM36NoRoomText jr nc, .asm_59de7 diff --git a/scripts/VermilionGym.asm b/scripts/VermilionGym.asm index cea7e3ec..10967cbe 100755 --- a/scripts/VermilionGym.asm +++ b/scripts/VermilionGym.asm @@ -66,7 +66,7 @@ VermilionGymReceiveTM24: ld [hSpriteIndexOrTextID], a call DisplayTextID SetEvent EVENT_BEAT_LT_SURGE - lb bc, TM_24, 1 + lb bc, TM_THUNDERBOLT, 1 call GiveItem jr nc, .BagFull ld a, $7 diff --git a/scripts/ViridianCity.asm b/scripts/ViridianCity.asm index 20594974..2a86374e 100755 --- a/scripts/ViridianCity.asm +++ b/scripts/ViridianCity.asm @@ -235,7 +235,7 @@ ViridianCityText6: jr nz, .gotTm42 ld hl, ViridianCityText_191ca call PrintText - lb bc, TM_42, 1 + lb bc, TM_DREAM_EATER, 1 call GiveItem jr nc, .BagFull ld hl, ReceivedTM42Text diff --git a/scripts/ViridianGym.asm b/scripts/ViridianGym.asm index 77ef4491..f32d98c3 100755 --- a/scripts/ViridianGym.asm +++ b/scripts/ViridianGym.asm @@ -141,7 +141,7 @@ ViridianGymScript3_74995: ld [hSpriteIndexOrTextID], a call DisplayTextID SetEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI - lb bc, TM_27, 1 + lb bc, TM_FISSURE, 1 call GiveItem jr nc, .BagFull ld a, $d diff --git a/scripts/WardensHouse.asm b/scripts/WardensHouse.asm index ef1bbb75..474ba320 100755 --- a/scripts/WardensHouse.asm +++ b/scripts/WardensHouse.asm @@ -38,7 +38,7 @@ FuchsiaHouse2Text1: .asm_60cba ld hl, WardenThankYouText call PrintText - lb bc, HM_04, 1 + lb bc, HM_STRENGTH, 1 call GiveItem jr nc, .BagFull ld hl, ReceivedHM04Text -- cgit v1.2.3 From 25a3e67b940fc91c11ed9b408fa20762995e6948 Mon Sep 17 00:00:00 2001 From: Rangi Date: Mon, 6 Jul 2020 09:32:55 -0400 Subject: add_tm and add_hm define TM##_MOVE and HM##_MOVE constants, to avoid repeating the move names twice --- constants.asm | 2 +- constants/item_constants.asm | 39 +++++++++++++-- data/moves/tmhm_moves.asm | 113 ++++++++++++++++++++++--------------------- 3 files changed, 94 insertions(+), 60 deletions(-) diff --git a/constants.asm b/constants.asm index b1395ea8..f52af60d 100644 --- a/constants.asm +++ b/constants.asm @@ -16,12 +16,12 @@ INCLUDE "constants/pokemon_constants.asm" INCLUDE "constants/pokedex_constants.asm" INCLUDE "constants/pokemon_data_constants.asm" INCLUDE "constants/trainer_constants.asm" -INCLUDE "constants/item_constants.asm" INCLUDE "constants/type_constants.asm" INCLUDE "constants/move_constants.asm" INCLUDE "constants/move_animation_constants.asm" INCLUDE "constants/move_effect_constants.asm" INCLUDE "constants/battle_constants.asm" +INCLUDE "constants/item_constants.asm" INCLUDE "constants/icon_constants.asm" INCLUDE "constants/sprite_constants.asm" INCLUDE "constants/sprite_data_constants.asm" diff --git a/constants/item_constants.asm b/constants/item_constants.asm index 0bb7cdb7..1ec70446 100755 --- a/constants/item_constants.asm +++ b/constants/item_constants.asm @@ -103,10 +103,27 @@ SAFARI_ROCK EQU $16 ; overload const_value = $C4 add_hm: MACRO -if !DEF(HM01) +; Defines three constants: +; - HM_\1: the item id, starting at $C4 +; - \1_TMNUM: the learnable TM/HM flag, starting at 51 +; - HM##_MOVE: alias for the move id, equal to the value of \1 +; The first usage also defines HM01 as the first HM item id. +; +; HMs are defined before TMs, so the value of NUM_TMS is not +; available here, and its value of 50 is hard-coded. +IF !DEF(HM01) HM01 EQU const_value enum_start 51 ; NUM_TMS + 1 -endc +ENDC +HM_VALUE EQU __enum__ - 50 ; __enum__ - NUM_TMS +IF HM_VALUE < 10 +MOVE_FOR_HM EQUS "HM0{d:HM_VALUE}_MOVE" +ELSE +MOVE_FOR_HM EQUS "HM{d:HM_VALUE}_MOVE" +ENDC +MOVE_FOR_HM = \1 +PURGE MOVE_FOR_HM +PURGE HM_VALUE const HM_\1 enum \1_TMNUM ENDM @@ -119,10 +136,22 @@ ENDM NUM_HMS EQU const_value - HM01 add_tm: MACRO -if !DEF(TM01) +; Defines three constants: +; - TM_\1: the item id, starting at $C9 +; - \1_TMNUM: the learnable TM/HM flag, starting at 1 +; - TM##_MOVE: alias for the move id, equal to the value of \1 +; The first usage also defines TM01 as the first TM item id. +IF !DEF(TM01) TM01 EQU const_value enum_start 1 -endc +ENDC +IF __enum__ < 10 +MOVE_FOR_TM EQUS "TM0{d:__enum__}_MOVE" +ELSE +MOVE_FOR_TM EQUS "TM{d:__enum__}_MOVE" +ENDC +MOVE_FOR_TM = \1 +PURGE MOVE_FOR_TM const TM_\1 enum \1_TMNUM ENDM @@ -179,5 +208,7 @@ ENDM add_tm SUBSTITUTE ; $FA NUM_TMS EQU const_value - TM01 +; 50 TMs + 5 HMs = 55 learnable TM/HM flags per Pokémon. +; These fit in 7 bytes, with one unused bit left over. enum_start NUM_TMS + NUM_HMS + 1 enum UNUSED_TMNUM diff --git a/data/moves/tmhm_moves.asm b/data/moves/tmhm_moves.asm index 23c1685e..0e722f09 100755 --- a/data/moves/tmhm_moves.asm +++ b/data/moves/tmhm_moves.asm @@ -1,56 +1,59 @@ +; The add_hm and add_tm macros in constants/item_constants.asm simultaneously +; define constants for the item IDs and for the corresponding move values. + TechnicalMachines: - db MEGA_PUNCH - db RAZOR_WIND - db SWORDS_DANCE - db WHIRLWIND - db MEGA_KICK - db TOXIC - db HORN_DRILL - db BODY_SLAM - db TAKE_DOWN - db DOUBLE_EDGE - db BUBBLEBEAM - db WATER_GUN - db ICE_BEAM - db BLIZZARD - db HYPER_BEAM - db PAY_DAY - db SUBMISSION - db COUNTER - db SEISMIC_TOSS - db RAGE - db MEGA_DRAIN - db SOLARBEAM - db DRAGON_RAGE - db THUNDERBOLT - db THUNDER - db EARTHQUAKE - db FISSURE - db DIG - db PSYCHIC_M - db TELEPORT - db MIMIC - db DOUBLE_TEAM - db REFLECT - db BIDE - db METRONOME - db SELFDESTRUCT - db EGG_BOMB - db FIRE_BLAST - db SWIFT - db SKULL_BASH - db SOFTBOILED - db DREAM_EATER - db SKY_ATTACK - db REST - db THUNDER_WAVE - db PSYWAVE - db EXPLOSION - db ROCK_SLIDE - db TRI_ATTACK - db SUBSTITUTE - db CUT - db FLY - db SURF - db STRENGTH - db FLASH + db TM01_MOVE + db TM02_MOVE + db TM03_MOVE + db TM04_MOVE + db TM05_MOVE + db TM06_MOVE + db TM07_MOVE + db TM08_MOVE + db TM09_MOVE + db TM10_MOVE + db TM11_MOVE + db TM12_MOVE + db TM13_MOVE + db TM14_MOVE + db TM15_MOVE + db TM16_MOVE + db TM17_MOVE + db TM18_MOVE + db TM19_MOVE + db TM20_MOVE + db TM21_MOVE + db TM22_MOVE + db TM23_MOVE + db TM24_MOVE + db TM25_MOVE + db TM26_MOVE + db TM27_MOVE + db TM28_MOVE + db TM29_MOVE + db TM30_MOVE + db TM31_MOVE + db TM32_MOVE + db TM33_MOVE + db TM34_MOVE + db TM35_MOVE + db TM36_MOVE + db TM37_MOVE + db TM38_MOVE + db TM39_MOVE + db TM40_MOVE + db TM41_MOVE + db TM42_MOVE + db TM43_MOVE + db TM44_MOVE + db TM45_MOVE + db TM46_MOVE + db TM47_MOVE + db TM48_MOVE + db TM49_MOVE + db TM50_MOVE + db HM01_MOVE + db HM02_MOVE + db HM03_MOVE + db HM04_MOVE + db HM05_MOVE -- cgit v1.2.3 From 6ad4c26a0345ab74a067ea9584747ea419531342 Mon Sep 17 00:00:00 2001 From: Rangi Date: Mon, 6 Jul 2020 11:19:53 -0400 Subject: Align tmhm learnsets in rows of 5 --- data/pokemon/base_stats/abra.asm | 6 +++++- data/pokemon/base_stats/aerodactyl.asm | 5 ++++- data/pokemon/base_stats/alakazam.asm | 7 ++++++- data/pokemon/base_stats/arbok.asm | 5 ++++- data/pokemon/base_stats/arcanine.asm | 5 ++++- data/pokemon/base_stats/articuno.asm | 5 ++++- data/pokemon/base_stats/beedrill.asm | 5 ++++- data/pokemon/base_stats/bellsprout.asm | 4 +++- data/pokemon/base_stats/blastoise.asm | 7 ++++++- data/pokemon/base_stats/bulbasaur.asm | 4 +++- data/pokemon/base_stats/butterfree.asm | 5 ++++- data/pokemon/base_stats/chansey.asm | 9 ++++++++- data/pokemon/base_stats/charizard.asm | 7 ++++++- data/pokemon/base_stats/charmander.asm | 6 +++++- data/pokemon/base_stats/charmeleon.asm | 6 +++++- data/pokemon/base_stats/clefable.asm | 8 +++++++- data/pokemon/base_stats/clefairy.asm | 8 +++++++- data/pokemon/base_stats/cloyster.asm | 6 +++++- data/pokemon/base_stats/cubone.asm | 6 +++++- data/pokemon/base_stats/dewgong.asm | 5 ++++- data/pokemon/base_stats/diglett.asm | 4 +++- data/pokemon/base_stats/dodrio.asm | 5 ++++- data/pokemon/base_stats/doduo.asm | 5 ++++- data/pokemon/base_stats/dragonair.asm | 6 +++++- data/pokemon/base_stats/dragonite.asm | 7 ++++++- data/pokemon/base_stats/dratini.asm | 6 +++++- data/pokemon/base_stats/drowzee.asm | 6 +++++- data/pokemon/base_stats/dugtrio.asm | 4 +++- data/pokemon/base_stats/eevee.asm | 4 +++- data/pokemon/base_stats/ekans.asm | 5 ++++- data/pokemon/base_stats/electabuzz.asm | 7 ++++++- data/pokemon/base_stats/electrode.asm | 5 ++++- data/pokemon/base_stats/exeggcute.asm | 5 ++++- data/pokemon/base_stats/exeggutor.asm | 5 ++++- data/pokemon/base_stats/farfetchd.asm | 5 ++++- data/pokemon/base_stats/fearow.asm | 4 +++- data/pokemon/base_stats/flareon.asm | 4 +++- data/pokemon/base_stats/gastly.asm | 4 +++- data/pokemon/base_stats/gengar.asm | 7 ++++++- data/pokemon/base_stats/geodude.asm | 6 +++++- data/pokemon/base_stats/gloom.asm | 4 +++- data/pokemon/base_stats/golbat.asm | 4 +++- data/pokemon/base_stats/goldeen.asm | 5 ++++- data/pokemon/base_stats/golduck.asm | 7 ++++++- data/pokemon/base_stats/golem.asm | 6 +++++- data/pokemon/base_stats/graveler.asm | 6 +++++- data/pokemon/base_stats/grimer.asm | 4 +++- data/pokemon/base_stats/growlithe.asm | 5 ++++- data/pokemon/base_stats/gyarados.asm | 6 +++++- data/pokemon/base_stats/haunter.asm | 4 +++- data/pokemon/base_stats/hitmonchan.asm | 5 ++++- data/pokemon/base_stats/hitmonlee.asm | 5 ++++- data/pokemon/base_stats/horsea.asm | 5 ++++- data/pokemon/base_stats/hypno.asm | 7 ++++++- data/pokemon/base_stats/ivysaur.asm | 4 +++- data/pokemon/base_stats/jigglypuff.asm | 8 +++++++- data/pokemon/base_stats/jolteon.asm | 5 ++++- data/pokemon/base_stats/jynx.asm | 7 ++++++- data/pokemon/base_stats/kabuto.asm | 5 ++++- data/pokemon/base_stats/kabutops.asm | 6 +++++- data/pokemon/base_stats/kadabra.asm | 6 +++++- data/pokemon/base_stats/kangaskhan.asm | 7 ++++++- data/pokemon/base_stats/kingler.asm | 5 ++++- data/pokemon/base_stats/koffing.asm | 4 +++- data/pokemon/base_stats/krabby.asm | 5 ++++- data/pokemon/base_stats/lapras.asm | 7 ++++++- data/pokemon/base_stats/lickitung.asm | 7 ++++++- data/pokemon/base_stats/machamp.asm | 6 +++++- data/pokemon/base_stats/machoke.asm | 6 +++++- data/pokemon/base_stats/machop.asm | 6 +++++- data/pokemon/base_stats/magmar.asm | 6 +++++- data/pokemon/base_stats/magnemite.asm | 5 ++++- data/pokemon/base_stats/magneton.asm | 5 ++++- data/pokemon/base_stats/mankey.asm | 6 +++++- data/pokemon/base_stats/marowak.asm | 7 ++++++- data/pokemon/base_stats/meowth.asm | 5 ++++- data/pokemon/base_stats/mew.asm | 13 ++++++++++++- data/pokemon/base_stats/mewtwo.asm | 9 ++++++++- data/pokemon/base_stats/moltres.asm | 5 ++++- data/pokemon/base_stats/mrmime.asm | 7 ++++++- data/pokemon/base_stats/muk.asm | 4 +++- data/pokemon/base_stats/nidoking.asm | 8 +++++++- data/pokemon/base_stats/nidoqueen.asm | 8 +++++++- data/pokemon/base_stats/nidoranf.asm | 4 +++- data/pokemon/base_stats/nidoranm.asm | 5 ++++- data/pokemon/base_stats/nidorina.asm | 5 ++++- data/pokemon/base_stats/nidorino.asm | 5 ++++- data/pokemon/base_stats/ninetales.asm | 5 ++++- data/pokemon/base_stats/oddish.asm | 4 +++- data/pokemon/base_stats/omanyte.asm | 5 ++++- data/pokemon/base_stats/omastar.asm | 6 +++++- data/pokemon/base_stats/onix.asm | 5 ++++- data/pokemon/base_stats/paras.asm | 5 ++++- data/pokemon/base_stats/parasect.asm | 5 ++++- data/pokemon/base_stats/persian.asm | 5 ++++- data/pokemon/base_stats/pidgeot.asm | 5 ++++- data/pokemon/base_stats/pidgeotto.asm | 4 +++- data/pokemon/base_stats/pidgey.asm | 4 +++- data/pokemon/base_stats/pikachu.asm | 6 +++++- data/pokemon/base_stats/pinsir.asm | 5 ++++- data/pokemon/base_stats/poliwag.asm | 5 ++++- data/pokemon/base_stats/poliwhirl.asm | 7 ++++++- data/pokemon/base_stats/poliwrath.asm | 7 ++++++- data/pokemon/base_stats/ponyta.asm | 4 +++- data/pokemon/base_stats/porygon.asm | 6 +++++- data/pokemon/base_stats/primeape.asm | 6 +++++- data/pokemon/base_stats/psyduck.asm | 6 +++++- data/pokemon/base_stats/raichu.asm | 6 +++++- data/pokemon/base_stats/rapidash.asm | 5 ++++- data/pokemon/base_stats/raticate.asm | 5 ++++- data/pokemon/base_stats/rattata.asm | 5 ++++- data/pokemon/base_stats/rhydon.asm | 8 +++++++- data/pokemon/base_stats/rhyhorn.asm | 5 ++++- data/pokemon/base_stats/sandshrew.asm | 6 +++++- data/pokemon/base_stats/sandslash.asm | 6 +++++- data/pokemon/base_stats/scyther.asm | 4 +++- data/pokemon/base_stats/seadra.asm | 5 ++++- data/pokemon/base_stats/seaking.asm | 5 ++++- data/pokemon/base_stats/seel.asm | 5 ++++- data/pokemon/base_stats/shellder.asm | 5 ++++- data/pokemon/base_stats/slowbro.asm | 9 ++++++++- data/pokemon/base_stats/slowpoke.asm | 7 ++++++- data/pokemon/base_stats/snorlax.asm | 9 ++++++++- data/pokemon/base_stats/spearow.asm | 4 +++- data/pokemon/base_stats/squirtle.asm | 6 +++++- data/pokemon/base_stats/starmie.asm | 7 ++++++- data/pokemon/base_stats/staryu.asm | 6 +++++- data/pokemon/base_stats/tangela.asm | 5 ++++- data/pokemon/base_stats/tauros.asm | 6 +++++- data/pokemon/base_stats/tentacool.asm | 5 ++++- data/pokemon/base_stats/tentacruel.asm | 5 ++++- data/pokemon/base_stats/vaporeon.asm | 5 ++++- data/pokemon/base_stats/venomoth.asm | 5 ++++- data/pokemon/base_stats/venonat.asm | 4 +++- data/pokemon/base_stats/venusaur.asm | 5 ++++- data/pokemon/base_stats/victreebel.asm | 5 ++++- data/pokemon/base_stats/vileplume.asm | 5 ++++- data/pokemon/base_stats/voltorb.asm | 5 ++++- data/pokemon/base_stats/vulpix.asm | 4 +++- data/pokemon/base_stats/wartortle.asm | 6 +++++- data/pokemon/base_stats/weepinbell.asm | 4 +++- data/pokemon/base_stats/weezing.asm | 4 +++- data/pokemon/base_stats/wigglytuff.asm | 8 +++++++- data/pokemon/base_stats/zapdos.asm | 5 ++++- data/pokemon/base_stats/zubat.asm | 4 +++- 145 files changed, 665 insertions(+), 145 deletions(-) diff --git a/data/pokemon/base_stats/abra.asm b/data/pokemon/base_stats/abra.asm index f0afa212..522bd0a5 100644 --- a/data/pokemon/base_stats/abra.asm +++ b/data/pokemon/base_stats/abra.asm @@ -14,7 +14,11 @@ db 3 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, METRONOME, SKULL_BASH, REST, THUNDER_WAVE, PSYWAVE, TRI_ATTACK, SUBSTITUTE, FLASH + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, \ + PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, \ + BIDE, METRONOME, SKULL_BASH, REST, THUNDER_WAVE, \ + PSYWAVE, TRI_ATTACK, SUBSTITUTE, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/aerodactyl.asm b/data/pokemon/base_stats/aerodactyl.asm index f1b19e0a..c71c39e7 100644 --- a/data/pokemon/base_stats/aerodactyl.asm +++ b/data/pokemon/base_stats/aerodactyl.asm @@ -14,7 +14,10 @@ db 5 ; growth rate ; tm/hm learnset - tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, DRAGON_RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SWIFT, SKY_ATTACK, REST, SUBSTITUTE, FLY + tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, \ + HYPER_BEAM, RAGE, DRAGON_RAGE, MIMIC, DOUBLE_TEAM, \ + REFLECT, BIDE, FIRE_BLAST, SWIFT, SKY_ATTACK, \ + REST, SUBSTITUTE, FLY ; end db 0 ; padding diff --git a/data/pokemon/base_stats/alakazam.asm b/data/pokemon/base_stats/alakazam.asm index 218831ad..d4b8296a 100644 --- a/data/pokemon/base_stats/alakazam.asm +++ b/data/pokemon/base_stats/alakazam.asm @@ -14,7 +14,12 @@ db 3 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, DIG, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, METRONOME, SKULL_BASH, REST, THUNDER_WAVE, PSYWAVE, TRI_ATTACK, SUBSTITUTE, FLASH + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, \ + RAGE, DIG, PSYCHIC_M, TELEPORT, MIMIC, \ + DOUBLE_TEAM, REFLECT, BIDE, METRONOME, SKULL_BASH, \ + REST, THUNDER_WAVE, PSYWAVE, TRI_ATTACK, SUBSTITUTE, \ + FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/arbok.asm b/data/pokemon/base_stats/arbok.asm index 97c08fac..50abbb5f 100644 --- a/data/pokemon/base_stats/arbok.asm +++ b/data/pokemon/base_stats/arbok.asm @@ -14,7 +14,10 @@ db 0 ; growth rate ; tm/hm learnset - tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, MEGA_DRAIN, EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, BIDE, SKULL_BASH, REST, ROCK_SLIDE, SUBSTITUTE, STRENGTH + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, \ + RAGE, MEGA_DRAIN, EARTHQUAKE, FISSURE, DIG, \ + MIMIC, DOUBLE_TEAM, BIDE, SKULL_BASH, REST, \ + ROCK_SLIDE, SUBSTITUTE, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/arcanine.asm b/data/pokemon/base_stats/arcanine.asm index bf33f222..9628fd96 100644 --- a/data/pokemon/base_stats/arcanine.asm +++ b/data/pokemon/base_stats/arcanine.asm @@ -14,7 +14,10 @@ db 5 ; growth rate ; tm/hm learnset - tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, DRAGON_RAGE, DIG, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SWIFT, SKULL_BASH, REST, SUBSTITUTE + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, \ + RAGE, DRAGON_RAGE, DIG, TELEPORT, MIMIC, \ + DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SWIFT, \ + SKULL_BASH, REST, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/articuno.asm b/data/pokemon/base_stats/articuno.asm index 9e1b7fb9..67f61110 100644 --- a/data/pokemon/base_stats/articuno.asm +++ b/data/pokemon/base_stats/articuno.asm @@ -14,7 +14,10 @@ db 5 ; growth rate ; tm/hm learnset - tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SWIFT, SKY_ATTACK, REST, SUBSTITUTE, FLY + tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, \ + BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, \ + RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, \ + SWIFT, SKY_ATTACK, REST, SUBSTITUTE, FLY ; end db 0 ; padding diff --git a/data/pokemon/base_stats/beedrill.asm b/data/pokemon/base_stats/beedrill.asm index 44984a34..33b0549c 100644 --- a/data/pokemon/base_stats/beedrill.asm +++ b/data/pokemon/base_stats/beedrill.asm @@ -14,7 +14,10 @@ db 0 ; growth rate ; tm/hm learnset - tmhm SWORDS_DANCE, TOXIC, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, MEGA_DRAIN, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SWIFT, SKULL_BASH, REST, SUBSTITUTE, CUT + tmhm SWORDS_DANCE, TOXIC, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, \ + RAGE, MEGA_DRAIN, MIMIC, DOUBLE_TEAM, REFLECT, \ + BIDE, SWIFT, SKULL_BASH, REST, SUBSTITUTE, \ + CUT ; end db 0 ; padding diff --git a/data/pokemon/base_stats/bellsprout.asm b/data/pokemon/base_stats/bellsprout.asm index 0e94cf7f..c5f27ee7 100644 --- a/data/pokemon/base_stats/bellsprout.asm +++ b/data/pokemon/base_stats/bellsprout.asm @@ -14,7 +14,9 @@ db 3 ; growth rate ; tm/hm learnset - tmhm SWORDS_DANCE, TOXIC, TAKE_DOWN, DOUBLE_EDGE, RAGE, MEGA_DRAIN, SOLARBEAM, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, REST, SUBSTITUTE, CUT + tmhm SWORDS_DANCE, TOXIC, TAKE_DOWN, DOUBLE_EDGE, RAGE, \ + MEGA_DRAIN, SOLARBEAM, MIMIC, DOUBLE_TEAM, REFLECT, \ + BIDE, REST, SUBSTITUTE, CUT ; end db 0 ; padding diff --git a/data/pokemon/base_stats/blastoise.asm b/data/pokemon/base_stats/blastoise.asm index 911dfb2f..78ba666b 100644 --- a/data/pokemon/base_stats/blastoise.asm +++ b/data/pokemon/base_stats/blastoise.asm @@ -14,7 +14,12 @@ db 3 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SKULL_BASH, REST, SUBSTITUTE, SURF, STRENGTH + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, \ + HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, \ + EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, \ + REFLECT, BIDE, SKULL_BASH, REST, SUBSTITUTE, \ + SURF, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/bulbasaur.asm b/data/pokemon/base_stats/bulbasaur.asm index 471e3c74..9f5cb091 100644 --- a/data/pokemon/base_stats/bulbasaur.asm +++ b/data/pokemon/base_stats/bulbasaur.asm @@ -14,7 +14,9 @@ db 3 ; growth rate ; tm/hm learnset - tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, RAGE, MEGA_DRAIN, SOLARBEAM, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, REST, SUBSTITUTE, CUT + tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ + RAGE, MEGA_DRAIN, SOLARBEAM, MIMIC, DOUBLE_TEAM, \ + REFLECT, BIDE, REST, SUBSTITUTE, CUT ; end db 0 ; padding diff --git a/data/pokemon/base_stats/butterfree.asm b/data/pokemon/base_stats/butterfree.asm index ae6cedbb..4dbc25be 100644 --- a/data/pokemon/base_stats/butterfree.asm +++ b/data/pokemon/base_stats/butterfree.asm @@ -14,7 +14,10 @@ db 0 ; growth rate ; tm/hm learnset - tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, MEGA_DRAIN, SOLARBEAM, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SWIFT, REST, PSYWAVE, SUBSTITUTE + tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, \ + HYPER_BEAM, RAGE, MEGA_DRAIN, SOLARBEAM, PSYCHIC_M, \ + TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, \ + SWIFT, REST, PSYWAVE, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/chansey.asm b/data/pokemon/base_stats/chansey.asm index c20678b7..601243a1 100644 --- a/data/pokemon/base_stats/chansey.asm +++ b/data/pokemon/base_stats/chansey.asm @@ -14,7 +14,14 @@ db 4 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, SOLARBEAM, THUNDERBOLT, THUNDER, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, METRONOME, EGG_BOMB, FIRE_BLAST, SKULL_BASH, SOFTBOILED, REST, THUNDER_WAVE, PSYWAVE, TRI_ATTACK, SUBSTITUTE, STRENGTH, FLASH + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, \ + HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, \ + SOLARBEAM, THUNDERBOLT, THUNDER, PSYCHIC_M, TELEPORT, \ + MIMIC, DOUBLE_TEAM, REFLECT, BIDE, METRONOME, \ + EGG_BOMB, FIRE_BLAST, SKULL_BASH, SOFTBOILED, REST, \ + THUNDER_WAVE, PSYWAVE, TRI_ATTACK, SUBSTITUTE, STRENGTH, \ + FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/charizard.asm b/data/pokemon/base_stats/charizard.asm index 14c62eeb..4ead8541 100644 --- a/data/pokemon/base_stats/charizard.asm +++ b/data/pokemon/base_stats/charizard.asm @@ -14,7 +14,12 @@ db 3 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, SWORDS_DANCE, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, DRAGON_RAGE, EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SWIFT, SKULL_BASH, REST, SUBSTITUTE, CUT, STRENGTH + tmhm MEGA_PUNCH, SWORDS_DANCE, MEGA_KICK, TOXIC, BODY_SLAM, \ + TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, SUBMISSION, COUNTER, \ + SEISMIC_TOSS, RAGE, DRAGON_RAGE, EARTHQUAKE, FISSURE, \ + DIG, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, \ + FIRE_BLAST, SWIFT, SKULL_BASH, REST, SUBSTITUTE, \ + CUT, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/charmander.asm b/data/pokemon/base_stats/charmander.asm index 309cbfc4..e6363f85 100644 --- a/data/pokemon/base_stats/charmander.asm +++ b/data/pokemon/base_stats/charmander.asm @@ -14,7 +14,11 @@ db 3 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, SWORDS_DANCE, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, DRAGON_RAGE, DIG, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SWIFT, SKULL_BASH, REST, SUBSTITUTE, CUT, STRENGTH + tmhm MEGA_PUNCH, SWORDS_DANCE, MEGA_KICK, TOXIC, BODY_SLAM, \ + TAKE_DOWN, DOUBLE_EDGE, SUBMISSION, COUNTER, SEISMIC_TOSS, \ + RAGE, DRAGON_RAGE, DIG, MIMIC, DOUBLE_TEAM, \ + REFLECT, BIDE, FIRE_BLAST, SWIFT, SKULL_BASH, \ + REST, SUBSTITUTE, CUT, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/charmeleon.asm b/data/pokemon/base_stats/charmeleon.asm index 2e23b941..2125e6e7 100644 --- a/data/pokemon/base_stats/charmeleon.asm +++ b/data/pokemon/base_stats/charmeleon.asm @@ -14,7 +14,11 @@ db 3 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, SWORDS_DANCE, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, DRAGON_RAGE, DIG, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SWIFT, SKULL_BASH, REST, SUBSTITUTE, CUT, STRENGTH + tmhm MEGA_PUNCH, SWORDS_DANCE, MEGA_KICK, TOXIC, BODY_SLAM, \ + TAKE_DOWN, DOUBLE_EDGE, SUBMISSION, COUNTER, SEISMIC_TOSS, \ + RAGE, DRAGON_RAGE, DIG, MIMIC, DOUBLE_TEAM, \ + REFLECT, BIDE, FIRE_BLAST, SWIFT, SKULL_BASH, \ + REST, SUBSTITUTE, CUT, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/clefable.asm b/data/pokemon/base_stats/clefable.asm index b2058408..6af3dd7a 100644 --- a/data/pokemon/base_stats/clefable.asm +++ b/data/pokemon/base_stats/clefable.asm @@ -14,7 +14,13 @@ db 4 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, SOLARBEAM, THUNDERBOLT, THUNDER, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, METRONOME, FIRE_BLAST, SKULL_BASH, REST, THUNDER_WAVE, PSYWAVE, TRI_ATTACK, SUBSTITUTE, STRENGTH, FLASH + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, \ + HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, \ + SOLARBEAM, THUNDERBOLT, THUNDER, PSYCHIC_M, TELEPORT, \ + MIMIC, DOUBLE_TEAM, REFLECT, BIDE, METRONOME, \ + FIRE_BLAST, SKULL_BASH, REST, THUNDER_WAVE, PSYWAVE, \ + TRI_ATTACK, SUBSTITUTE, STRENGTH, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/clefairy.asm b/data/pokemon/base_stats/clefairy.asm index 0f04192b..b10bc7a5 100644 --- a/data/pokemon/base_stats/clefairy.asm +++ b/data/pokemon/base_stats/clefairy.asm @@ -14,7 +14,13 @@ db 4 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, SOLARBEAM, THUNDERBOLT, THUNDER, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, METRONOME, FIRE_BLAST, SKULL_BASH, REST, THUNDER_WAVE, PSYWAVE, TRI_ATTACK, SUBSTITUTE, STRENGTH, FLASH + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, \ + SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, SOLARBEAM, \ + THUNDERBOLT, THUNDER, PSYCHIC_M, TELEPORT, MIMIC, \ + DOUBLE_TEAM, REFLECT, BIDE, METRONOME, FIRE_BLAST, \ + SKULL_BASH, REST, THUNDER_WAVE, PSYWAVE, TRI_ATTACK, \ + SUBSTITUTE, STRENGTH, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/cloyster.asm b/data/pokemon/base_stats/cloyster.asm index 81929264..56ca3d08 100644 --- a/data/pokemon/base_stats/cloyster.asm +++ b/data/pokemon/base_stats/cloyster.asm @@ -14,7 +14,11 @@ db 5 ; growth rate ; tm/hm learnset - tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, RAGE, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SELFDESTRUCT, SWIFT, REST, EXPLOSION, TRI_ATTACK, SUBSTITUTE, SURF + tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, \ + ICE_BEAM, BLIZZARD, HYPER_BEAM, RAGE, TELEPORT, \ + MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SELFDESTRUCT, \ + SWIFT, REST, EXPLOSION, TRI_ATTACK, SUBSTITUTE, \ + SURF ; end db 0 ; padding diff --git a/data/pokemon/base_stats/cubone.asm b/data/pokemon/base_stats/cubone.asm index 873ff6f6..23d87e6a 100644 --- a/data/pokemon/base_stats/cubone.asm +++ b/data/pokemon/base_stats/cubone.asm @@ -14,7 +14,11 @@ db 0 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, BIDE, FIRE_BLAST, SKULL_BASH, REST, SUBSTITUTE, STRENGTH + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, \ + SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, EARTHQUAKE, \ + FISSURE, DIG, MIMIC, DOUBLE_TEAM, BIDE, \ + FIRE_BLAST, SKULL_BASH, REST, SUBSTITUTE, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/dewgong.asm b/data/pokemon/base_stats/dewgong.asm index 578ac716..61b64270 100644 --- a/data/pokemon/base_stats/dewgong.asm +++ b/data/pokemon/base_stats/dewgong.asm @@ -14,7 +14,10 @@ db 0 ; growth rate ; tm/hm learnset - tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, PAY_DAY, RAGE, MIMIC, DOUBLE_TEAM, BIDE, SKULL_BASH, REST, SUBSTITUTE, SURF, STRENGTH + tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ + BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, \ + PAY_DAY, RAGE, MIMIC, DOUBLE_TEAM, BIDE, \ + SKULL_BASH, REST, SUBSTITUTE, SURF, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/diglett.asm b/data/pokemon/base_stats/diglett.asm index a419655f..ecb28f04 100644 --- a/data/pokemon/base_stats/diglett.asm +++ b/data/pokemon/base_stats/diglett.asm @@ -14,7 +14,9 @@ db 0 ; growth rate ; tm/hm learnset - tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, RAGE, EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, BIDE, REST, ROCK_SLIDE, SUBSTITUTE + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, RAGE, \ + EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, \ + BIDE, REST, ROCK_SLIDE, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/dodrio.asm b/data/pokemon/base_stats/dodrio.asm index 934aa513..33685dc0 100644 --- a/data/pokemon/base_stats/dodrio.asm +++ b/data/pokemon/base_stats/dodrio.asm @@ -14,7 +14,10 @@ db 0 ; growth rate ; tm/hm learnset - tmhm WHIRLWIND, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SKULL_BASH, SKY_ATTACK, REST, TRI_ATTACK, SUBSTITUTE, FLY + tmhm WHIRLWIND, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ + HYPER_BEAM, RAGE, MIMIC, DOUBLE_TEAM, REFLECT, \ + BIDE, SKULL_BASH, SKY_ATTACK, REST, TRI_ATTACK, \ + SUBSTITUTE, FLY ; end db 0 ; padding diff --git a/data/pokemon/base_stats/doduo.asm b/data/pokemon/base_stats/doduo.asm index 1ab009fe..32b949b8 100644 --- a/data/pokemon/base_stats/doduo.asm +++ b/data/pokemon/base_stats/doduo.asm @@ -14,7 +14,10 @@ db 0 ; growth rate ; tm/hm learnset - tmhm WHIRLWIND, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SKULL_BASH, SKY_ATTACK, REST, TRI_ATTACK, SUBSTITUTE, FLY + tmhm WHIRLWIND, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ + RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, \ + SKULL_BASH, SKY_ATTACK, REST, TRI_ATTACK, SUBSTITUTE, \ + FLY ; end db 0 ; padding diff --git a/data/pokemon/base_stats/dragonair.asm b/data/pokemon/base_stats/dragonair.asm index fd1f0942..7233fcf3 100644 --- a/data/pokemon/base_stats/dragonair.asm +++ b/data/pokemon/base_stats/dragonair.asm @@ -14,7 +14,11 @@ db 5 ; growth rate ; tm/hm learnset - tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, RAGE, DRAGON_RAGE, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SWIFT, SKULL_BASH, REST, THUNDER_WAVE, SUBSTITUTE, SURF + tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ + BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, RAGE, \ + DRAGON_RAGE, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, \ + REFLECT, BIDE, FIRE_BLAST, SWIFT, SKULL_BASH, \ + REST, THUNDER_WAVE, SUBSTITUTE, SURF ; end db 0 ; padding diff --git a/data/pokemon/base_stats/dragonite.asm b/data/pokemon/base_stats/dragonite.asm index a0f67954..63e3fc0a 100644 --- a/data/pokemon/base_stats/dragonite.asm +++ b/data/pokemon/base_stats/dragonite.asm @@ -14,7 +14,12 @@ db 5 ; growth rate ; tm/hm learnset - tmhm RAZOR_WIND, TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, RAGE, DRAGON_RAGE, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SWIFT, SKULL_BASH, REST, THUNDER_WAVE, SUBSTITUTE, SURF, STRENGTH + tmhm RAZOR_WIND, TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, \ + HYPER_BEAM, RAGE, DRAGON_RAGE, THUNDERBOLT, THUNDER, \ + MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, \ + SWIFT, SKULL_BASH, REST, THUNDER_WAVE, SUBSTITUTE, \ + SURF, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/dratini.asm b/data/pokemon/base_stats/dratini.asm index 75c250df..3857d1d4 100644 --- a/data/pokemon/base_stats/dratini.asm +++ b/data/pokemon/base_stats/dratini.asm @@ -14,7 +14,11 @@ db 5 ; growth rate ; tm/hm learnset - tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, RAGE, DRAGON_RAGE, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SWIFT, SKULL_BASH, REST, THUNDER_WAVE, SUBSTITUTE, SURF + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, \ + WATER_GUN, ICE_BEAM, BLIZZARD, RAGE, DRAGON_RAGE, \ + THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, REFLECT, \ + BIDE, FIRE_BLAST, SWIFT, SKULL_BASH, REST, \ + THUNDER_WAVE, SUBSTITUTE, SURF ; end db 0 ; padding diff --git a/data/pokemon/base_stats/drowzee.asm b/data/pokemon/base_stats/drowzee.asm index b8bdb080..756c2bae 100644 --- a/data/pokemon/base_stats/drowzee.asm +++ b/data/pokemon/base_stats/drowzee.asm @@ -14,7 +14,11 @@ db 0 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, METRONOME, SKULL_BASH, DREAM_EATER, REST, THUNDER_WAVE, PSYWAVE, TRI_ATTACK, SUBSTITUTE, FLASH + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, \ + PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, \ + BIDE, METRONOME, SKULL_BASH, DREAM_EATER, REST, \ + THUNDER_WAVE, PSYWAVE, TRI_ATTACK, SUBSTITUTE, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/dugtrio.asm b/data/pokemon/base_stats/dugtrio.asm index 0a6da045..fb30da18 100644 --- a/data/pokemon/base_stats/dugtrio.asm +++ b/data/pokemon/base_stats/dugtrio.asm @@ -14,7 +14,9 @@ db 0 ; growth rate ; tm/hm learnset - tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, BIDE, REST, ROCK_SLIDE, SUBSTITUTE + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, \ + RAGE, EARTHQUAKE, FISSURE, DIG, MIMIC, \ + DOUBLE_TEAM, BIDE, REST, ROCK_SLIDE, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/eevee.asm b/data/pokemon/base_stats/eevee.asm index f2baedfa..695c3f7e 100644 --- a/data/pokemon/base_stats/eevee.asm +++ b/data/pokemon/base_stats/eevee.asm @@ -14,7 +14,9 @@ db 0 ; growth rate ; tm/hm learnset - tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SWIFT, SKULL_BASH, REST, SUBSTITUTE + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, RAGE, \ + MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SWIFT, \ + SKULL_BASH, REST, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/ekans.asm b/data/pokemon/base_stats/ekans.asm index 6d04e817..9bcb4ec0 100644 --- a/data/pokemon/base_stats/ekans.asm +++ b/data/pokemon/base_stats/ekans.asm @@ -14,7 +14,10 @@ db 0 ; growth rate ; tm/hm learnset - tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, RAGE, MEGA_DRAIN, EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, BIDE, SKULL_BASH, REST, ROCK_SLIDE, SUBSTITUTE, STRENGTH + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, RAGE, \ + MEGA_DRAIN, EARTHQUAKE, FISSURE, DIG, MIMIC, \ + DOUBLE_TEAM, BIDE, SKULL_BASH, REST, ROCK_SLIDE, \ + SUBSTITUTE, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/electabuzz.asm b/data/pokemon/base_stats/electabuzz.asm index 349ea44c..4f07533f 100644 --- a/data/pokemon/base_stats/electabuzz.asm +++ b/data/pokemon/base_stats/electabuzz.asm @@ -14,7 +14,12 @@ db 0 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, THUNDERBOLT, THUNDER, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, METRONOME, SWIFT, SKULL_BASH, REST, THUNDER_WAVE, PSYWAVE, SUBSTITUTE, STRENGTH, FLASH + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, \ + RAGE, THUNDERBOLT, THUNDER, PSYCHIC_M, TELEPORT, \ + MIMIC, DOUBLE_TEAM, REFLECT, BIDE, METRONOME, \ + SWIFT, SKULL_BASH, REST, THUNDER_WAVE, PSYWAVE, \ + SUBSTITUTE, STRENGTH, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/electrode.asm b/data/pokemon/base_stats/electrode.asm index b11474a9..45b37d55 100644 --- a/data/pokemon/base_stats/electrode.asm +++ b/data/pokemon/base_stats/electrode.asm @@ -14,7 +14,10 @@ db 0 ; growth rate ; tm/hm learnset - tmhm TOXIC, TAKE_DOWN, HYPER_BEAM, RAGE, THUNDERBOLT, THUNDER, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SELFDESTRUCT, SWIFT, SKULL_BASH, REST, THUNDER_WAVE, EXPLOSION, SUBSTITUTE, FLASH + tmhm TOXIC, TAKE_DOWN, HYPER_BEAM, RAGE, THUNDERBOLT, \ + THUNDER, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, \ + BIDE, SELFDESTRUCT, SWIFT, SKULL_BASH, REST, \ + THUNDER_WAVE, EXPLOSION, SUBSTITUTE, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/exeggcute.asm b/data/pokemon/base_stats/exeggcute.asm index cc12b94d..ee91449d 100644 --- a/data/pokemon/base_stats/exeggcute.asm +++ b/data/pokemon/base_stats/exeggcute.asm @@ -14,7 +14,10 @@ db 5 ; growth rate ; tm/hm learnset - tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, RAGE, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SELFDESTRUCT, EGG_BOMB, REST, PSYWAVE, EXPLOSION, SUBSTITUTE + tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, RAGE, PSYCHIC_M, \ + TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, \ + SELFDESTRUCT, EGG_BOMB, REST, PSYWAVE, EXPLOSION, \ + SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/exeggutor.asm b/data/pokemon/base_stats/exeggutor.asm index 28d6181b..6d12f9cb 100644 --- a/data/pokemon/base_stats/exeggutor.asm +++ b/data/pokemon/base_stats/exeggutor.asm @@ -14,7 +14,10 @@ db 5 ; growth rate ; tm/hm learnset - tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, MEGA_DRAIN, SOLARBEAM, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SELFDESTRUCT, EGG_BOMB, REST, PSYWAVE, EXPLOSION, SUBSTITUTE, STRENGTH + tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, \ + MEGA_DRAIN, SOLARBEAM, PSYCHIC_M, TELEPORT, MIMIC, \ + DOUBLE_TEAM, REFLECT, BIDE, SELFDESTRUCT, EGG_BOMB, \ + REST, PSYWAVE, EXPLOSION, SUBSTITUTE, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/farfetchd.asm b/data/pokemon/base_stats/farfetchd.asm index 5c40b094..fea5bb44 100644 --- a/data/pokemon/base_stats/farfetchd.asm +++ b/data/pokemon/base_stats/farfetchd.asm @@ -14,7 +14,10 @@ db 0 ; growth rate ; tm/hm learnset - tmhm RAZOR_WIND, SWORDS_DANCE, WHIRLWIND, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SWIFT, SKULL_BASH, REST, SUBSTITUTE, CUT, FLY + tmhm RAZOR_WIND, SWORDS_DANCE, WHIRLWIND, TOXIC, BODY_SLAM, \ + TAKE_DOWN, DOUBLE_EDGE, RAGE, MIMIC, DOUBLE_TEAM, \ + REFLECT, BIDE, SWIFT, SKULL_BASH, REST, \ + SUBSTITUTE, CUT, FLY ; end db 0 ; padding diff --git a/data/pokemon/base_stats/fearow.asm b/data/pokemon/base_stats/fearow.asm index bfe84032..503bac92 100644 --- a/data/pokemon/base_stats/fearow.asm +++ b/data/pokemon/base_stats/fearow.asm @@ -14,7 +14,9 @@ db 0 ; growth rate ; tm/hm learnset - tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, MIMIC, DOUBLE_TEAM, BIDE, SWIFT, SKY_ATTACK, REST, SUBSTITUTE, FLY + tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, \ + HYPER_BEAM, RAGE, MIMIC, DOUBLE_TEAM, BIDE, \ + SWIFT, SKY_ATTACK, REST, SUBSTITUTE, FLY ; end db 0 ; padding diff --git a/data/pokemon/base_stats/flareon.asm b/data/pokemon/base_stats/flareon.asm index ce17ed6f..b150b037 100644 --- a/data/pokemon/base_stats/flareon.asm +++ b/data/pokemon/base_stats/flareon.asm @@ -14,7 +14,9 @@ db 0 ; growth rate ; tm/hm learnset - tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SWIFT, SKULL_BASH, REST, SUBSTITUTE + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, \ + RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, \ + FIRE_BLAST, SWIFT, SKULL_BASH, REST, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/gastly.asm b/data/pokemon/base_stats/gastly.asm index 59304c01..437a0322 100644 --- a/data/pokemon/base_stats/gastly.asm +++ b/data/pokemon/base_stats/gastly.asm @@ -14,7 +14,9 @@ db 3 ; growth rate ; tm/hm learnset - tmhm TOXIC, RAGE, MEGA_DRAIN, THUNDERBOLT, THUNDER, PSYCHIC_M, MIMIC, DOUBLE_TEAM, BIDE, SELFDESTRUCT, DREAM_EATER, REST, PSYWAVE, EXPLOSION, SUBSTITUTE + tmhm TOXIC, RAGE, MEGA_DRAIN, THUNDERBOLT, THUNDER, \ + PSYCHIC_M, MIMIC, DOUBLE_TEAM, BIDE, SELFDESTRUCT, \ + DREAM_EATER, REST, PSYWAVE, EXPLOSION, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/gengar.asm b/data/pokemon/base_stats/gengar.asm index 9dfb6c20..b5cff8da 100644 --- a/data/pokemon/base_stats/gengar.asm +++ b/data/pokemon/base_stats/gengar.asm @@ -14,7 +14,12 @@ db 3 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, MEGA_DRAIN, THUNDERBOLT, THUNDER, PSYCHIC_M, MIMIC, DOUBLE_TEAM, BIDE, METRONOME, SELFDESTRUCT, SKULL_BASH, DREAM_EATER, REST, PSYWAVE, EXPLOSION, SUBSTITUTE, STRENGTH + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, \ + RAGE, MEGA_DRAIN, THUNDERBOLT, THUNDER, PSYCHIC_M, \ + MIMIC, DOUBLE_TEAM, BIDE, METRONOME, SELFDESTRUCT, \ + SKULL_BASH, DREAM_EATER, REST, PSYWAVE, EXPLOSION, \ + SUBSTITUTE, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/geodude.asm b/data/pokemon/base_stats/geodude.asm index 2b17764d..a583b609 100644 --- a/data/pokemon/base_stats/geodude.asm +++ b/data/pokemon/base_stats/geodude.asm @@ -14,7 +14,11 @@ db 3 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, BIDE, METRONOME, SELFDESTRUCT, FIRE_BLAST, REST, EXPLOSION, ROCK_SLIDE, SUBSTITUTE, STRENGTH + tmhm MEGA_PUNCH, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ + SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, EARTHQUAKE, \ + FISSURE, DIG, MIMIC, DOUBLE_TEAM, BIDE, \ + METRONOME, SELFDESTRUCT, FIRE_BLAST, REST, EXPLOSION, \ + ROCK_SLIDE, SUBSTITUTE, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/gloom.asm b/data/pokemon/base_stats/gloom.asm index daaaac6b..5c6b5053 100644 --- a/data/pokemon/base_stats/gloom.asm +++ b/data/pokemon/base_stats/gloom.asm @@ -14,7 +14,9 @@ db 3 ; growth rate ; tm/hm learnset - tmhm SWORDS_DANCE, TOXIC, TAKE_DOWN, DOUBLE_EDGE, RAGE, MEGA_DRAIN, SOLARBEAM, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, REST, SUBSTITUTE, CUT + tmhm SWORDS_DANCE, TOXIC, TAKE_DOWN, DOUBLE_EDGE, RAGE, \ + MEGA_DRAIN, SOLARBEAM, MIMIC, DOUBLE_TEAM, REFLECT, \ + BIDE, REST, SUBSTITUTE, CUT ; end db 0 ; padding diff --git a/data/pokemon/base_stats/golbat.asm b/data/pokemon/base_stats/golbat.asm index 74bcd2a8..06d27522 100644 --- a/data/pokemon/base_stats/golbat.asm +++ b/data/pokemon/base_stats/golbat.asm @@ -14,7 +14,9 @@ db 0 ; growth rate ; tm/hm learnset - tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, MEGA_DRAIN, MIMIC, DOUBLE_TEAM, BIDE, SWIFT, REST, SUBSTITUTE + tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, \ + HYPER_BEAM, RAGE, MEGA_DRAIN, MIMIC, DOUBLE_TEAM, \ + BIDE, SWIFT, REST, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/goldeen.asm b/data/pokemon/base_stats/goldeen.asm index 6a90a7f1..6d4a5fab 100644 --- a/data/pokemon/base_stats/goldeen.asm +++ b/data/pokemon/base_stats/goldeen.asm @@ -14,7 +14,10 @@ db 0 ; growth rate ; tm/hm learnset - tmhm TOXIC, HORN_DRILL, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, RAGE, MIMIC, DOUBLE_TEAM, BIDE, SWIFT, SKULL_BASH, REST, SUBSTITUTE, SURF + tmhm TOXIC, HORN_DRILL, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, \ + WATER_GUN, ICE_BEAM, BLIZZARD, RAGE, MIMIC, \ + DOUBLE_TEAM, BIDE, SWIFT, SKULL_BASH, REST, \ + SUBSTITUTE, SURF ; end db 0 ; padding diff --git a/data/pokemon/base_stats/golduck.asm b/data/pokemon/base_stats/golduck.asm index c9d8be7d..e5bc92ac 100644 --- a/data/pokemon/base_stats/golduck.asm +++ b/data/pokemon/base_stats/golduck.asm @@ -14,7 +14,12 @@ db 0 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, PAY_DAY, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, DIG, MIMIC, DOUBLE_TEAM, BIDE, SWIFT, SKULL_BASH, REST, SUBSTITUTE, SURF, STRENGTH + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, \ + HYPER_BEAM, PAY_DAY, SUBMISSION, COUNTER, SEISMIC_TOSS, \ + RAGE, DIG, MIMIC, DOUBLE_TEAM, BIDE, \ + SWIFT, SKULL_BASH, REST, SUBSTITUTE, SURF, \ + STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/golem.asm b/data/pokemon/base_stats/golem.asm index 71a08194..9bf80ce5 100644 --- a/data/pokemon/base_stats/golem.asm +++ b/data/pokemon/base_stats/golem.asm @@ -14,7 +14,11 @@ db 3 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, BIDE, METRONOME, SELFDESTRUCT, FIRE_BLAST, REST, EXPLOSION, ROCK_SLIDE, SUBSTITUTE, STRENGTH + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, \ + RAGE, EARTHQUAKE, FISSURE, DIG, MIMIC, \ + DOUBLE_TEAM, BIDE, METRONOME, SELFDESTRUCT, FIRE_BLAST, \ + REST, EXPLOSION, ROCK_SLIDE, SUBSTITUTE, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/graveler.asm b/data/pokemon/base_stats/graveler.asm index 47dc13f8..6ff71b7b 100644 --- a/data/pokemon/base_stats/graveler.asm +++ b/data/pokemon/base_stats/graveler.asm @@ -14,7 +14,11 @@ db 3 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, BIDE, METRONOME, SELFDESTRUCT, FIRE_BLAST, REST, EXPLOSION, ROCK_SLIDE, SUBSTITUTE, STRENGTH + tmhm MEGA_PUNCH, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ + SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, EARTHQUAKE, \ + FISSURE, DIG, MIMIC, DOUBLE_TEAM, BIDE, \ + METRONOME, SELFDESTRUCT, FIRE_BLAST, REST, EXPLOSION, \ + ROCK_SLIDE, SUBSTITUTE, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/grimer.asm b/data/pokemon/base_stats/grimer.asm index ec9d5753..a9a24c70 100644 --- a/data/pokemon/base_stats/grimer.asm +++ b/data/pokemon/base_stats/grimer.asm @@ -14,7 +14,9 @@ db 0 ; growth rate ; tm/hm learnset - tmhm TOXIC, BODY_SLAM, RAGE, MEGA_DRAIN, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, BIDE, SELFDESTRUCT, FIRE_BLAST, REST, EXPLOSION, SUBSTITUTE + tmhm TOXIC, BODY_SLAM, RAGE, MEGA_DRAIN, THUNDERBOLT, \ + THUNDER, MIMIC, DOUBLE_TEAM, BIDE, SELFDESTRUCT, \ + FIRE_BLAST, REST, EXPLOSION, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/growlithe.asm b/data/pokemon/base_stats/growlithe.asm index 207b948e..8a35b953 100644 --- a/data/pokemon/base_stats/growlithe.asm +++ b/data/pokemon/base_stats/growlithe.asm @@ -14,7 +14,10 @@ db 5 ; growth rate ; tm/hm learnset - tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, RAGE, DRAGON_RAGE, DIG, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SWIFT, SKULL_BASH, REST, SUBSTITUTE + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, RAGE, \ + DRAGON_RAGE, DIG, MIMIC, DOUBLE_TEAM, REFLECT, \ + BIDE, FIRE_BLAST, SWIFT, SKULL_BASH, REST, \ + SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/gyarados.asm b/data/pokemon/base_stats/gyarados.asm index 0a69b1fc..9ce68ea8 100644 --- a/data/pokemon/base_stats/gyarados.asm +++ b/data/pokemon/base_stats/gyarados.asm @@ -14,7 +14,11 @@ db 5 ; growth rate ; tm/hm learnset - tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, RAGE, DRAGON_RAGE, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SKULL_BASH, REST, SUBSTITUTE, SURF, STRENGTH + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, \ + WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, RAGE, \ + DRAGON_RAGE, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, \ + REFLECT, BIDE, FIRE_BLAST, SKULL_BASH, REST, \ + SUBSTITUTE, SURF, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/haunter.asm b/data/pokemon/base_stats/haunter.asm index 00bce8ab..a62854f9 100644 --- a/data/pokemon/base_stats/haunter.asm +++ b/data/pokemon/base_stats/haunter.asm @@ -14,7 +14,9 @@ db 3 ; growth rate ; tm/hm learnset - tmhm TOXIC, RAGE, MEGA_DRAIN, THUNDERBOLT, THUNDER, PSYCHIC_M, MIMIC, DOUBLE_TEAM, BIDE, SELFDESTRUCT, DREAM_EATER, REST, PSYWAVE, EXPLOSION, SUBSTITUTE + tmhm TOXIC, RAGE, MEGA_DRAIN, THUNDERBOLT, THUNDER, \ + PSYCHIC_M, MIMIC, DOUBLE_TEAM, BIDE, SELFDESTRUCT, \ + DREAM_EATER, REST, PSYWAVE, EXPLOSION, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/hitmonchan.asm b/data/pokemon/base_stats/hitmonchan.asm index c074cada..33abd443 100644 --- a/data/pokemon/base_stats/hitmonchan.asm +++ b/data/pokemon/base_stats/hitmonchan.asm @@ -14,7 +14,10 @@ db 0 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, MIMIC, DOUBLE_TEAM, BIDE, METRONOME, SWIFT, SKULL_BASH, REST, SUBSTITUTE, STRENGTH + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, \ + MIMIC, DOUBLE_TEAM, BIDE, METRONOME, SWIFT, \ + SKULL_BASH, REST, SUBSTITUTE, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/hitmonlee.asm b/data/pokemon/base_stats/hitmonlee.asm index 003d1858..7b1d3440 100644 --- a/data/pokemon/base_stats/hitmonlee.asm +++ b/data/pokemon/base_stats/hitmonlee.asm @@ -14,7 +14,10 @@ db 0 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, MIMIC, DOUBLE_TEAM, BIDE, METRONOME, SWIFT, SKULL_BASH, REST, SUBSTITUTE, STRENGTH + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, \ + MIMIC, DOUBLE_TEAM, BIDE, METRONOME, SWIFT, \ + SKULL_BASH, REST, SUBSTITUTE, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/horsea.asm b/data/pokemon/base_stats/horsea.asm index a09ca8c2..e50614b1 100644 --- a/data/pokemon/base_stats/horsea.asm +++ b/data/pokemon/base_stats/horsea.asm @@ -14,7 +14,10 @@ db 0 ; growth rate ; tm/hm learnset - tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, RAGE, MIMIC, DOUBLE_TEAM, BIDE, SWIFT, SKULL_BASH, REST, SUBSTITUTE, SURF + tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, \ + ICE_BEAM, BLIZZARD, RAGE, MIMIC, DOUBLE_TEAM, \ + BIDE, SWIFT, SKULL_BASH, REST, SUBSTITUTE, \ + SURF ; end db 0 ; padding diff --git a/data/pokemon/base_stats/hypno.asm b/data/pokemon/base_stats/hypno.asm index 285d76ba..b03cb2a0 100644 --- a/data/pokemon/base_stats/hypno.asm +++ b/data/pokemon/base_stats/hypno.asm @@ -14,7 +14,12 @@ db 0 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, METRONOME, SKULL_BASH, DREAM_EATER, REST, THUNDER_WAVE, PSYWAVE, TRI_ATTACK, SUBSTITUTE, FLASH + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, \ + RAGE, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, \ + REFLECT, BIDE, METRONOME, SKULL_BASH, DREAM_EATER, \ + REST, THUNDER_WAVE, PSYWAVE, TRI_ATTACK, SUBSTITUTE, \ + FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/ivysaur.asm b/data/pokemon/base_stats/ivysaur.asm index cca3b10b..e821ec81 100644 --- a/data/pokemon/base_stats/ivysaur.asm +++ b/data/pokemon/base_stats/ivysaur.asm @@ -14,7 +14,9 @@ db 3 ; growth rate ; tm/hm learnset - tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, RAGE, MEGA_DRAIN, SOLARBEAM, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, REST, SUBSTITUTE, CUT + tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ + RAGE, MEGA_DRAIN, SOLARBEAM, MIMIC, DOUBLE_TEAM, \ + REFLECT, BIDE, REST, SUBSTITUTE, CUT ; end db 0 ; padding diff --git a/data/pokemon/base_stats/jigglypuff.asm b/data/pokemon/base_stats/jigglypuff.asm index 71d6b7e3..6112e662 100644 --- a/data/pokemon/base_stats/jigglypuff.asm +++ b/data/pokemon/base_stats/jigglypuff.asm @@ -14,7 +14,13 @@ db 4 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, SOLARBEAM, THUNDERBOLT, THUNDER, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SKULL_BASH, REST, THUNDER_WAVE, PSYWAVE, TRI_ATTACK, SUBSTITUTE, STRENGTH, FLASH + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, \ + SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, SOLARBEAM, \ + THUNDERBOLT, THUNDER, PSYCHIC_M, TELEPORT, MIMIC, \ + DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SKULL_BASH, \ + REST, THUNDER_WAVE, PSYWAVE, TRI_ATTACK, SUBSTITUTE, \ + STRENGTH, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/jolteon.asm b/data/pokemon/base_stats/jolteon.asm index 33f0af84..ab04eb05 100644 --- a/data/pokemon/base_stats/jolteon.asm +++ b/data/pokemon/base_stats/jolteon.asm @@ -14,7 +14,10 @@ db 0 ; growth rate ; tm/hm learnset - tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SWIFT, SKULL_BASH, REST, THUNDER_WAVE, SUBSTITUTE, FLASH + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, \ + RAGE, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, \ + REFLECT, BIDE, SWIFT, SKULL_BASH, REST, \ + THUNDER_WAVE, SUBSTITUTE, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/jynx.asm b/data/pokemon/base_stats/jynx.asm index 2739a65d..0324d5f9 100644 --- a/data/pokemon/base_stats/jynx.asm +++ b/data/pokemon/base_stats/jynx.asm @@ -14,7 +14,12 @@ db 0 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, METRONOME, SKULL_BASH, REST, PSYWAVE, SUBSTITUTE + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, \ + HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, \ + PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, \ + BIDE, METRONOME, SKULL_BASH, REST, PSYWAVE, \ + SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/kabuto.asm b/data/pokemon/base_stats/kabuto.asm index 66a2bb28..a5297182 100644 --- a/data/pokemon/base_stats/kabuto.asm +++ b/data/pokemon/base_stats/kabuto.asm @@ -14,7 +14,10 @@ db 0 ; growth rate ; tm/hm learnset - tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, REST, SUBSTITUTE, SURF + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, \ + WATER_GUN, ICE_BEAM, BLIZZARD, RAGE, MIMIC, \ + DOUBLE_TEAM, REFLECT, BIDE, REST, SUBSTITUTE, \ + SURF ; end db 0 ; padding diff --git a/data/pokemon/base_stats/kabutops.asm b/data/pokemon/base_stats/kabutops.asm index 0973642b..bd6c9de8 100644 --- a/data/pokemon/base_stats/kabutops.asm +++ b/data/pokemon/base_stats/kabutops.asm @@ -14,7 +14,11 @@ db 0 ; growth rate ; tm/hm learnset - tmhm RAZOR_WIND, SWORDS_DANCE, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, SUBMISSION, SEISMIC_TOSS, RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SKULL_BASH, REST, SUBSTITUTE, SURF + tmhm RAZOR_WIND, SWORDS_DANCE, MEGA_KICK, TOXIC, BODY_SLAM, \ + TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, \ + BLIZZARD, HYPER_BEAM, SUBMISSION, SEISMIC_TOSS, RAGE, \ + MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SKULL_BASH, \ + REST, SUBSTITUTE, SURF ; end db 0 ; padding diff --git a/data/pokemon/base_stats/kadabra.asm b/data/pokemon/base_stats/kadabra.asm index 9963b0a4..eba3878b 100644 --- a/data/pokemon/base_stats/kadabra.asm +++ b/data/pokemon/base_stats/kadabra.asm @@ -14,7 +14,11 @@ db 3 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, DIG, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, METRONOME, SKULL_BASH, REST, THUNDER_WAVE, PSYWAVE, TRI_ATTACK, SUBSTITUTE, FLASH + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, \ + DIG, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, \ + REFLECT, BIDE, METRONOME, SKULL_BASH, REST, \ + THUNDER_WAVE, PSYWAVE, TRI_ATTACK, SUBSTITUTE, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/kangaskhan.asm b/data/pokemon/base_stats/kangaskhan.asm index d89091e5..d6b453b0 100644 --- a/data/pokemon/base_stats/kangaskhan.asm +++ b/data/pokemon/base_stats/kangaskhan.asm @@ -14,7 +14,12 @@ db 0 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, THUNDERBOLT, THUNDER, EARTHQUAKE, FISSURE, MIMIC, DOUBLE_TEAM, BIDE, FIRE_BLAST, SKULL_BASH, REST, ROCK_SLIDE, SUBSTITUTE, SURF, STRENGTH + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, \ + HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, \ + THUNDERBOLT, THUNDER, EARTHQUAKE, FISSURE, MIMIC, \ + DOUBLE_TEAM, BIDE, FIRE_BLAST, SKULL_BASH, REST, \ + ROCK_SLIDE, SUBSTITUTE, SURF, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/kingler.asm b/data/pokemon/base_stats/kingler.asm index 70feb704..01114d45 100644 --- a/data/pokemon/base_stats/kingler.asm +++ b/data/pokemon/base_stats/kingler.asm @@ -14,7 +14,10 @@ db 0 ; growth rate ; tm/hm learnset - tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, RAGE, MIMIC, DOUBLE_TEAM, BIDE, REST, SUBSTITUTE, CUT, SURF, STRENGTH + tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ + BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, \ + RAGE, MIMIC, DOUBLE_TEAM, BIDE, REST, \ + SUBSTITUTE, CUT, SURF, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/koffing.asm b/data/pokemon/base_stats/koffing.asm index d649fca9..20bcb4f0 100644 --- a/data/pokemon/base_stats/koffing.asm +++ b/data/pokemon/base_stats/koffing.asm @@ -14,7 +14,9 @@ db 0 ; growth rate ; tm/hm learnset - tmhm TOXIC, RAGE, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, BIDE, SELFDESTRUCT, FIRE_BLAST, REST, EXPLOSION, SUBSTITUTE + tmhm TOXIC, RAGE, THUNDERBOLT, THUNDER, MIMIC, \ + DOUBLE_TEAM, BIDE, SELFDESTRUCT, FIRE_BLAST, REST, \ + EXPLOSION, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/krabby.asm b/data/pokemon/base_stats/krabby.asm index a92daa5f..a4cb653c 100644 --- a/data/pokemon/base_stats/krabby.asm +++ b/data/pokemon/base_stats/krabby.asm @@ -14,7 +14,10 @@ db 0 ; growth rate ; tm/hm learnset - tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, RAGE, MIMIC, DOUBLE_TEAM, BIDE, REST, SUBSTITUTE, CUT, SURF, STRENGTH + tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ + BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, RAGE, \ + MIMIC, DOUBLE_TEAM, BIDE, REST, SUBSTITUTE, \ + CUT, SURF, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/lapras.asm b/data/pokemon/base_stats/lapras.asm index b59be2ee..929a9607 100644 --- a/data/pokemon/base_stats/lapras.asm +++ b/data/pokemon/base_stats/lapras.asm @@ -14,7 +14,12 @@ db 5 ; growth rate ; tm/hm learnset - tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, RAGE, SOLARBEAM, DRAGON_RAGE, THUNDERBOLT, THUNDER, PSYCHIC_M, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SKULL_BASH, REST, PSYWAVE, SUBSTITUTE, SURF, STRENGTH + tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ + BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, \ + RAGE, SOLARBEAM, DRAGON_RAGE, THUNDERBOLT, THUNDER, \ + PSYCHIC_M, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, \ + SKULL_BASH, REST, PSYWAVE, SUBSTITUTE, SURF, \ + STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/lickitung.asm b/data/pokemon/base_stats/lickitung.asm index c0fb8c79..656a1699 100644 --- a/data/pokemon/base_stats/lickitung.asm +++ b/data/pokemon/base_stats/lickitung.asm @@ -14,7 +14,12 @@ db 0 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, SWORDS_DANCE, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, THUNDERBOLT, THUNDER, EARTHQUAKE, FISSURE, MIMIC, DOUBLE_TEAM, BIDE, FIRE_BLAST, SKULL_BASH, REST, SUBSTITUTE, CUT, SURF, STRENGTH + tmhm MEGA_PUNCH, SWORDS_DANCE, MEGA_KICK, TOXIC, BODY_SLAM, \ + TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, \ + BLIZZARD, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, \ + RAGE, THUNDERBOLT, THUNDER, EARTHQUAKE, FISSURE, \ + MIMIC, DOUBLE_TEAM, BIDE, FIRE_BLAST, SKULL_BASH, \ + REST, SUBSTITUTE, CUT, SURF, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/machamp.asm b/data/pokemon/base_stats/machamp.asm index f077c00c..f93d7807 100644 --- a/data/pokemon/base_stats/machamp.asm +++ b/data/pokemon/base_stats/machamp.asm @@ -14,7 +14,11 @@ db 3 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, BIDE, METRONOME, FIRE_BLAST, SKULL_BASH, REST, ROCK_SLIDE, SUBSTITUTE, STRENGTH + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, \ + RAGE, EARTHQUAKE, FISSURE, DIG, MIMIC, \ + DOUBLE_TEAM, BIDE, METRONOME, FIRE_BLAST, SKULL_BASH, \ + REST, ROCK_SLIDE, SUBSTITUTE, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/machoke.asm b/data/pokemon/base_stats/machoke.asm index b8b952b0..48a32c88 100644 --- a/data/pokemon/base_stats/machoke.asm +++ b/data/pokemon/base_stats/machoke.asm @@ -14,7 +14,11 @@ db 3 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, BIDE, METRONOME, FIRE_BLAST, SKULL_BASH, REST, ROCK_SLIDE, SUBSTITUTE, STRENGTH + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, \ + EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, \ + BIDE, METRONOME, FIRE_BLAST, SKULL_BASH, REST, \ + ROCK_SLIDE, SUBSTITUTE, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/machop.asm b/data/pokemon/base_stats/machop.asm index 1d4cbb44..15a4aeee 100644 --- a/data/pokemon/base_stats/machop.asm +++ b/data/pokemon/base_stats/machop.asm @@ -14,7 +14,11 @@ db 3 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, BIDE, METRONOME, FIRE_BLAST, SKULL_BASH, REST, ROCK_SLIDE, SUBSTITUTE, STRENGTH + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, \ + EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, \ + BIDE, METRONOME, FIRE_BLAST, SKULL_BASH, REST, \ + ROCK_SLIDE, SUBSTITUTE, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/magmar.asm b/data/pokemon/base_stats/magmar.asm index 86ee0aae..34565bcd 100644 --- a/data/pokemon/base_stats/magmar.asm +++ b/data/pokemon/base_stats/magmar.asm @@ -14,7 +14,11 @@ db 0 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, BIDE, METRONOME, FIRE_BLAST, SKULL_BASH, REST, PSYWAVE, SUBSTITUTE, STRENGTH + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, \ + RAGE, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, \ + BIDE, METRONOME, FIRE_BLAST, SKULL_BASH, REST, \ + PSYWAVE, SUBSTITUTE, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/magnemite.asm b/data/pokemon/base_stats/magnemite.asm index 9929c85d..f3ee63a4 100644 --- a/data/pokemon/base_stats/magnemite.asm +++ b/data/pokemon/base_stats/magnemite.asm @@ -14,7 +14,10 @@ db 0 ; growth rate ; tm/hm learnset - tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, RAGE, THUNDERBOLT, THUNDER, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SWIFT, REST, THUNDER_WAVE, SUBSTITUTE, FLASH + tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, RAGE, THUNDERBOLT, \ + THUNDER, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, \ + BIDE, SWIFT, REST, THUNDER_WAVE, SUBSTITUTE, \ + FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/magneton.asm b/data/pokemon/base_stats/magneton.asm index bb8dec67..b6f8c2bd 100644 --- a/data/pokemon/base_stats/magneton.asm +++ b/data/pokemon/base_stats/magneton.asm @@ -14,7 +14,10 @@ db 0 ; growth rate ; tm/hm learnset - tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, THUNDERBOLT, THUNDER, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SWIFT, REST, THUNDER_WAVE, SUBSTITUTE, FLASH + tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, \ + THUNDERBOLT, THUNDER, TELEPORT, MIMIC, DOUBLE_TEAM, \ + REFLECT, BIDE, SWIFT, REST, THUNDER_WAVE, \ + SUBSTITUTE, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/mankey.asm b/data/pokemon/base_stats/mankey.asm index 8dad5b4d..7ec11e69 100644 --- a/data/pokemon/base_stats/mankey.asm +++ b/data/pokemon/base_stats/mankey.asm @@ -14,7 +14,11 @@ db 0 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, PAY_DAY, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, THUNDERBOLT, THUNDER, DIG, MIMIC, DOUBLE_TEAM, BIDE, METRONOME, SWIFT, SKULL_BASH, REST, ROCK_SLIDE, SUBSTITUTE, STRENGTH + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, PAY_DAY, SUBMISSION, COUNTER, SEISMIC_TOSS, \ + RAGE, THUNDERBOLT, THUNDER, DIG, MIMIC, \ + DOUBLE_TEAM, BIDE, METRONOME, SWIFT, SKULL_BASH, \ + REST, ROCK_SLIDE, SUBSTITUTE, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/marowak.asm b/data/pokemon/base_stats/marowak.asm index 5ec6fb51..de22e2e4 100644 --- a/data/pokemon/base_stats/marowak.asm +++ b/data/pokemon/base_stats/marowak.asm @@ -14,7 +14,12 @@ db 0 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, BIDE, FIRE_BLAST, SKULL_BASH, REST, SUBSTITUTE, STRENGTH + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, \ + HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, \ + EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, \ + BIDE, FIRE_BLAST, SKULL_BASH, REST, SUBSTITUTE, \ + STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/meowth.asm b/data/pokemon/base_stats/meowth.asm index 9a42b5eb..1483bb34 100644 --- a/data/pokemon/base_stats/meowth.asm +++ b/data/pokemon/base_stats/meowth.asm @@ -14,7 +14,10 @@ db 0 ; growth rate ; tm/hm learnset - tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, PAY_DAY, RAGE, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, BIDE, SWIFT, SKULL_BASH, REST, SUBSTITUTE + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, \ + WATER_GUN, PAY_DAY, RAGE, THUNDERBOLT, THUNDER, \ + MIMIC, DOUBLE_TEAM, BIDE, SWIFT, SKULL_BASH, \ + REST, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/mew.asm b/data/pokemon/base_stats/mew.asm index 8fb6cd83..d601c7a0 100644 --- a/data/pokemon/base_stats/mew.asm +++ b/data/pokemon/base_stats/mew.asm @@ -14,7 +14,18 @@ db 3 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, RAZOR_WIND, SWORDS_DANCE, WHIRLWIND, MEGA_KICK, TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, PAY_DAY, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, MEGA_DRAIN, SOLARBEAM, DRAGON_RAGE, THUNDERBOLT, THUNDER, EARTHQUAKE, FISSURE, DIG, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, METRONOME, SELFDESTRUCT, EGG_BOMB, FIRE_BLAST, SWIFT, SKULL_BASH, SOFTBOILED, DREAM_EATER, SKY_ATTACK, REST, THUNDER_WAVE, PSYWAVE, EXPLOSION, ROCK_SLIDE, TRI_ATTACK, SUBSTITUTE, CUT, FLY, SURF, STRENGTH, FLASH, UNUSED + tmhm MEGA_PUNCH, RAZOR_WIND, SWORDS_DANCE, WHIRLWIND, MEGA_KICK, \ + TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ + BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, \ + PAY_DAY, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, \ + MEGA_DRAIN, SOLARBEAM, DRAGON_RAGE, THUNDERBOLT, THUNDER, \ + EARTHQUAKE, FISSURE, DIG, PSYCHIC_M, TELEPORT, \ + MIMIC, DOUBLE_TEAM, REFLECT, BIDE, METRONOME, \ + SELFDESTRUCT, EGG_BOMB, FIRE_BLAST, SWIFT, SKULL_BASH, \ + SOFTBOILED, DREAM_EATER, SKY_ATTACK, REST, THUNDER_WAVE, \ + PSYWAVE, EXPLOSION, ROCK_SLIDE, TRI_ATTACK, SUBSTITUTE, \ + CUT, FLY, SURF, STRENGTH, FLASH, \ + UNUSED ; end db %11111111 ; padding diff --git a/data/pokemon/base_stats/mewtwo.asm b/data/pokemon/base_stats/mewtwo.asm index 09f047a7..fd77502d 100644 --- a/data/pokemon/base_stats/mewtwo.asm +++ b/data/pokemon/base_stats/mewtwo.asm @@ -14,7 +14,14 @@ db 5 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, PAY_DAY, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, SOLARBEAM, THUNDERBOLT, THUNDER, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, METRONOME, SELFDESTRUCT, FIRE_BLAST, SKULL_BASH, REST, THUNDER_WAVE, PSYWAVE, TRI_ATTACK, SUBSTITUTE, STRENGTH, FLASH + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, \ + HYPER_BEAM, PAY_DAY, SUBMISSION, COUNTER, SEISMIC_TOSS, \ + RAGE, SOLARBEAM, THUNDERBOLT, THUNDER, PSYCHIC_M, \ + TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, \ + METRONOME, SELFDESTRUCT, FIRE_BLAST, SKULL_BASH, REST, \ + THUNDER_WAVE, PSYWAVE, TRI_ATTACK, SUBSTITUTE, STRENGTH, \ + FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/moltres.asm b/data/pokemon/base_stats/moltres.asm index c9e99702..983704cb 100644 --- a/data/pokemon/base_stats/moltres.asm +++ b/data/pokemon/base_stats/moltres.asm @@ -14,7 +14,10 @@ db 5 ; growth rate ; tm/hm learnset - tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SWIFT, SKY_ATTACK, REST, SUBSTITUTE, FLY + tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, \ + HYPER_BEAM, RAGE, MIMIC, DOUBLE_TEAM, REFLECT, \ + BIDE, FIRE_BLAST, SWIFT, SKY_ATTACK, REST, \ + SUBSTITUTE, FLY ; end db 0 ; padding diff --git a/data/pokemon/base_stats/mrmime.asm b/data/pokemon/base_stats/mrmime.asm index 157cb6fe..44b11ad1 100644 --- a/data/pokemon/base_stats/mrmime.asm +++ b/data/pokemon/base_stats/mrmime.asm @@ -14,7 +14,12 @@ db 0 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, SOLARBEAM, THUNDERBOLT, THUNDER, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, METRONOME, SKULL_BASH, REST, THUNDER_WAVE, PSYWAVE, SUBSTITUTE, FLASH + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, \ + RAGE, SOLARBEAM, THUNDERBOLT, THUNDER, PSYCHIC_M, \ + TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, \ + METRONOME, SKULL_BASH, REST, THUNDER_WAVE, PSYWAVE, \ + SUBSTITUTE, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/muk.asm b/data/pokemon/base_stats/muk.asm index c5118326..96d1eb70 100644 --- a/data/pokemon/base_stats/muk.asm +++ b/data/pokemon/base_stats/muk.asm @@ -14,7 +14,9 @@ db 0 ; growth rate ; tm/hm learnset - tmhm TOXIC, BODY_SLAM, HYPER_BEAM, RAGE, MEGA_DRAIN, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, BIDE, SELFDESTRUCT, FIRE_BLAST, REST, EXPLOSION, SUBSTITUTE + tmhm TOXIC, BODY_SLAM, HYPER_BEAM, RAGE, MEGA_DRAIN, \ + THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, BIDE, \ + SELFDESTRUCT, FIRE_BLAST, REST, EXPLOSION, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/nidoking.asm b/data/pokemon/base_stats/nidoking.asm index 4eed1366..7cb0cd40 100644 --- a/data/pokemon/base_stats/nidoking.asm +++ b/data/pokemon/base_stats/nidoking.asm @@ -14,7 +14,13 @@ db 3 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, PAY_DAY, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, THUNDERBOLT, THUNDER, EARTHQUAKE, FISSURE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SKULL_BASH, REST, ROCK_SLIDE, SUBSTITUTE, SURF, STRENGTH + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, HORN_DRILL, BODY_SLAM, \ + TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, \ + BLIZZARD, HYPER_BEAM, PAY_DAY, SUBMISSION, COUNTER, \ + SEISMIC_TOSS, RAGE, THUNDERBOLT, THUNDER, EARTHQUAKE, \ + FISSURE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, \ + FIRE_BLAST, SKULL_BASH, REST, ROCK_SLIDE, SUBSTITUTE, \ + SURF, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/nidoqueen.asm b/data/pokemon/base_stats/nidoqueen.asm index 0a1030da..2bfe40e1 100644 --- a/data/pokemon/base_stats/nidoqueen.asm +++ b/data/pokemon/base_stats/nidoqueen.asm @@ -14,7 +14,13 @@ db 3 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, PAY_DAY, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, THUNDERBOLT, THUNDER, EARTHQUAKE, FISSURE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SKULL_BASH, REST, ROCK_SLIDE, SUBSTITUTE, SURF, STRENGTH + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, HORN_DRILL, BODY_SLAM, \ + TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, \ + BLIZZARD, HYPER_BEAM, PAY_DAY, SUBMISSION, COUNTER, \ + SEISMIC_TOSS, RAGE, THUNDERBOLT, THUNDER, EARTHQUAKE, \ + FISSURE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, \ + FIRE_BLAST, SKULL_BASH, REST, ROCK_SLIDE, SUBSTITUTE, \ + SURF, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/nidoranf.asm b/data/pokemon/base_stats/nidoranf.asm index 8c1a67e2..bf90d178 100644 --- a/data/pokemon/base_stats/nidoranf.asm +++ b/data/pokemon/base_stats/nidoranf.asm @@ -14,7 +14,9 @@ db 3 ; growth rate ; tm/hm learnset - tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BLIZZARD, RAGE, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SKULL_BASH, REST, SUBSTITUTE + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BLIZZARD, \ + RAGE, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, \ + REFLECT, BIDE, SKULL_BASH, REST, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/nidoranm.asm b/data/pokemon/base_stats/nidoranm.asm index 0609846d..64af2f7c 100644 --- a/data/pokemon/base_stats/nidoranm.asm +++ b/data/pokemon/base_stats/nidoranm.asm @@ -14,7 +14,10 @@ db 3 ; growth rate ; tm/hm learnset - tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BLIZZARD, RAGE, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SKULL_BASH, REST, SUBSTITUTE + tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ + BLIZZARD, RAGE, THUNDERBOLT, THUNDER, MIMIC, \ + DOUBLE_TEAM, REFLECT, BIDE, SKULL_BASH, REST, \ + SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/nidorina.asm b/data/pokemon/base_stats/nidorina.asm index 16105199..3f31d315 100644 --- a/data/pokemon/base_stats/nidorina.asm +++ b/data/pokemon/base_stats/nidorina.asm @@ -14,7 +14,10 @@ db 3 ; growth rate ; tm/hm learnset - tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, RAGE, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SKULL_BASH, REST, SUBSTITUTE + tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ + BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, RAGE, \ + THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, REFLECT, \ + BIDE, SKULL_BASH, REST, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/nidorino.asm b/data/pokemon/base_stats/nidorino.asm index 8d25b1a5..4be175c7 100644 --- a/data/pokemon/base_stats/nidorino.asm +++ b/data/pokemon/base_stats/nidorino.asm @@ -14,7 +14,10 @@ db 3 ; growth rate ; tm/hm learnset - tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, RAGE, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SKULL_BASH, REST, SUBSTITUTE + tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ + BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, RAGE, \ + THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, REFLECT, \ + BIDE, SKULL_BASH, REST, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/ninetales.asm b/data/pokemon/base_stats/ninetales.asm index 2a36f76f..ca3563b1 100644 --- a/data/pokemon/base_stats/ninetales.asm +++ b/data/pokemon/base_stats/ninetales.asm @@ -14,7 +14,10 @@ db 0 ; growth rate ; tm/hm learnset - tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, DIG, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SWIFT, SKULL_BASH, REST, SUBSTITUTE + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, \ + RAGE, DIG, MIMIC, DOUBLE_TEAM, REFLECT, \ + BIDE, FIRE_BLAST, SWIFT, SKULL_BASH, REST, \ + SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/oddish.asm b/data/pokemon/base_stats/oddish.asm index c8fb7e7c..d48df896 100644 --- a/data/pokemon/base_stats/oddish.asm +++ b/data/pokemon/base_stats/oddish.asm @@ -14,7 +14,9 @@ db 3 ; growth rate ; tm/hm learnset - tmhm SWORDS_DANCE, TOXIC, TAKE_DOWN, DOUBLE_EDGE, RAGE, MEGA_DRAIN, SOLARBEAM, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, REST, SUBSTITUTE, CUT + tmhm SWORDS_DANCE, TOXIC, TAKE_DOWN, DOUBLE_EDGE, RAGE, \ + MEGA_DRAIN, SOLARBEAM, MIMIC, DOUBLE_TEAM, REFLECT, \ + BIDE, REST, SUBSTITUTE, CUT ; end db 0 ; padding diff --git a/data/pokemon/base_stats/omanyte.asm b/data/pokemon/base_stats/omanyte.asm index 777a30a4..f37447e1 100644 --- a/data/pokemon/base_stats/omanyte.asm +++ b/data/pokemon/base_stats/omanyte.asm @@ -14,7 +14,10 @@ db 0 ; growth rate ; tm/hm learnset - tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, REST, SUBSTITUTE, SURF + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, \ + WATER_GUN, ICE_BEAM, BLIZZARD, RAGE, MIMIC, \ + DOUBLE_TEAM, REFLECT, BIDE, REST, SUBSTITUTE, \ + SURF ; end db 0 ; padding diff --git a/data/pokemon/base_stats/omastar.asm b/data/pokemon/base_stats/omastar.asm index 15effc88..b85ee229 100644 --- a/data/pokemon/base_stats/omastar.asm +++ b/data/pokemon/base_stats/omastar.asm @@ -14,7 +14,11 @@ db 0 ; growth rate ; tm/hm learnset - tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, SUBMISSION, SEISMIC_TOSS, RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SKULL_BASH, REST, SUBSTITUTE, SURF + tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ + BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, \ + SUBMISSION, SEISMIC_TOSS, RAGE, MIMIC, DOUBLE_TEAM, \ + REFLECT, BIDE, SKULL_BASH, REST, SUBSTITUTE, \ + SURF ; end db 0 ; padding diff --git a/data/pokemon/base_stats/onix.asm b/data/pokemon/base_stats/onix.asm index 568ec179..abacd978 100644 --- a/data/pokemon/base_stats/onix.asm +++ b/data/pokemon/base_stats/onix.asm @@ -14,7 +14,10 @@ db 0 ; growth rate ; tm/hm learnset - tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, RAGE, EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, BIDE, SELFDESTRUCT, SKULL_BASH, REST, EXPLOSION, ROCK_SLIDE, SUBSTITUTE, STRENGTH + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, RAGE, \ + EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, \ + BIDE, SELFDESTRUCT, SKULL_BASH, REST, EXPLOSION, \ + ROCK_SLIDE, SUBSTITUTE, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/paras.asm b/data/pokemon/base_stats/paras.asm index 26dd58ea..0b045212 100644 --- a/data/pokemon/base_stats/paras.asm +++ b/data/pokemon/base_stats/paras.asm @@ -14,7 +14,10 @@ db 0 ; growth rate ; tm/hm learnset - tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, RAGE, MEGA_DRAIN, SOLARBEAM, DIG, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SKULL_BASH, REST, SUBSTITUTE, CUT + tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ + RAGE, MEGA_DRAIN, SOLARBEAM, DIG, MIMIC, \ + DOUBLE_TEAM, REFLECT, BIDE, SKULL_BASH, REST, \ + SUBSTITUTE, CUT ; end db 0 ; padding diff --git a/data/pokemon/base_stats/parasect.asm b/data/pokemon/base_stats/parasect.asm index 95811fb0..ab081697 100644 --- a/data/pokemon/base_stats/parasect.asm +++ b/data/pokemon/base_stats/parasect.asm @@ -14,7 +14,10 @@ db 0 ; growth rate ; tm/hm learnset - tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, MEGA_DRAIN, SOLARBEAM, DIG, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SKULL_BASH, REST, SUBSTITUTE, CUT + tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ + HYPER_BEAM, RAGE, MEGA_DRAIN, SOLARBEAM, DIG, \ + MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SKULL_BASH, \ + REST, SUBSTITUTE, CUT ; end db 0 ; padding diff --git a/data/pokemon/base_stats/persian.asm b/data/pokemon/base_stats/persian.asm index 76aea86a..54ad87ed 100644 --- a/data/pokemon/base_stats/persian.asm +++ b/data/pokemon/base_stats/persian.asm @@ -14,7 +14,10 @@ db 0 ; growth rate ; tm/hm learnset - tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, HYPER_BEAM, PAY_DAY, RAGE, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, BIDE, SWIFT, SKULL_BASH, REST, SUBSTITUTE + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, \ + WATER_GUN, HYPER_BEAM, PAY_DAY, RAGE, THUNDERBOLT, \ + THUNDER, MIMIC, DOUBLE_TEAM, BIDE, SWIFT, \ + SKULL_BASH, REST, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/pidgeot.asm b/data/pokemon/base_stats/pidgeot.asm index 3d7a5cf0..4f943620 100644 --- a/data/pokemon/base_stats/pidgeot.asm +++ b/data/pokemon/base_stats/pidgeot.asm @@ -14,7 +14,10 @@ db 3 ; growth rate ; tm/hm learnset - tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SWIFT, SKY_ATTACK, REST, SUBSTITUTE, FLY + tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, \ + HYPER_BEAM, RAGE, MIMIC, DOUBLE_TEAM, REFLECT, \ + BIDE, SWIFT, SKY_ATTACK, REST, SUBSTITUTE, \ + FLY ; end db 0 ; padding diff --git a/data/pokemon/base_stats/pidgeotto.asm b/data/pokemon/base_stats/pidgeotto.asm index 79c67e82..fea052f3 100644 --- a/data/pokemon/base_stats/pidgeotto.asm +++ b/data/pokemon/base_stats/pidgeotto.asm @@ -14,7 +14,9 @@ db 3 ; growth rate ; tm/hm learnset - tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SWIFT, SKY_ATTACK, REST, SUBSTITUTE, FLY + tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, \ + RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, \ + SWIFT, SKY_ATTACK, REST, SUBSTITUTE, FLY ; end db 0 ; padding diff --git a/data/pokemon/base_stats/pidgey.asm b/data/pokemon/base_stats/pidgey.asm index 20544718..412c1bfd 100644 --- a/data/pokemon/base_stats/pidgey.asm +++ b/data/pokemon/base_stats/pidgey.asm @@ -14,7 +14,9 @@ db 3 ; growth rate ; tm/hm learnset - tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SWIFT, SKY_ATTACK, REST, SUBSTITUTE, FLY + tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, \ + RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, \ + SWIFT, SKY_ATTACK, REST, SUBSTITUTE, FLY ; end db 0 ; padding diff --git a/data/pokemon/base_stats/pikachu.asm b/data/pokemon/base_stats/pikachu.asm index 34cca53a..da558cd0 100644 --- a/data/pokemon/base_stats/pikachu.asm +++ b/data/pokemon/base_stats/pikachu.asm @@ -14,7 +14,11 @@ db 0 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, PAY_DAY, SUBMISSION, SEISMIC_TOSS, RAGE, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SWIFT, SKULL_BASH, REST, THUNDER_WAVE, SUBSTITUTE, FLASH + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, PAY_DAY, SUBMISSION, SEISMIC_TOSS, RAGE, \ + THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, REFLECT, \ + BIDE, SWIFT, SKULL_BASH, REST, THUNDER_WAVE, \ + SUBSTITUTE, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/pinsir.asm b/data/pokemon/base_stats/pinsir.asm index ce57c120..46a4ca58 100644 --- a/data/pokemon/base_stats/pinsir.asm +++ b/data/pokemon/base_stats/pinsir.asm @@ -14,7 +14,10 @@ db 5 ; growth rate ; tm/hm learnset - tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, SUBMISSION, SEISMIC_TOSS, RAGE, MIMIC, DOUBLE_TEAM, BIDE, REST, SUBSTITUTE, CUT, STRENGTH + tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ + HYPER_BEAM, SUBMISSION, SEISMIC_TOSS, RAGE, MIMIC, \ + DOUBLE_TEAM, BIDE, REST, SUBSTITUTE, CUT, \ + STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/poliwag.asm b/data/pokemon/base_stats/poliwag.asm index b2a4002c..83be30c4 100644 --- a/data/pokemon/base_stats/poliwag.asm +++ b/data/pokemon/base_stats/poliwag.asm @@ -14,7 +14,10 @@ db 3 ; growth rate ; tm/hm learnset - tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, RAGE, PSYCHIC_M, MIMIC, DOUBLE_TEAM, BIDE, SKULL_BASH, REST, PSYWAVE, SUBSTITUTE, SURF + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, \ + WATER_GUN, ICE_BEAM, BLIZZARD, RAGE, PSYCHIC_M, \ + MIMIC, DOUBLE_TEAM, BIDE, SKULL_BASH, REST, \ + PSYWAVE, SUBSTITUTE, SURF ; end db 0 ; padding diff --git a/data/pokemon/base_stats/poliwhirl.asm b/data/pokemon/base_stats/poliwhirl.asm index 041cc949..772278db 100644 --- a/data/pokemon/base_stats/poliwhirl.asm +++ b/data/pokemon/base_stats/poliwhirl.asm @@ -14,7 +14,12 @@ db 3 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, EARTHQUAKE, FISSURE, PSYCHIC_M, MIMIC, DOUBLE_TEAM, BIDE, METRONOME, SKULL_BASH, REST, PSYWAVE, SUBSTITUTE, SURF, STRENGTH + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, \ + SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, EARTHQUAKE, \ + FISSURE, PSYCHIC_M, MIMIC, DOUBLE_TEAM, BIDE, \ + METRONOME, SKULL_BASH, REST, PSYWAVE, SUBSTITUTE, \ + SURF, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/poliwrath.asm b/data/pokemon/base_stats/poliwrath.asm index ac2233e0..4a3ce93c 100644 --- a/data/pokemon/base_stats/poliwrath.asm +++ b/data/pokemon/base_stats/poliwrath.asm @@ -14,7 +14,12 @@ db 3 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, EARTHQUAKE, FISSURE, PSYCHIC_M, MIMIC, DOUBLE_TEAM, BIDE, METRONOME, SKULL_BASH, REST, PSYWAVE, SUBSTITUTE, SURF, STRENGTH + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, \ + HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, \ + EARTHQUAKE, FISSURE, PSYCHIC_M, MIMIC, DOUBLE_TEAM, \ + BIDE, METRONOME, SKULL_BASH, REST, PSYWAVE, \ + SUBSTITUTE, SURF, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/ponyta.asm b/data/pokemon/base_stats/ponyta.asm index 2e2c032d..08ab6aa8 100644 --- a/data/pokemon/base_stats/ponyta.asm +++ b/data/pokemon/base_stats/ponyta.asm @@ -14,7 +14,9 @@ db 0 ; growth rate ; tm/hm learnset - tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SWIFT, SKULL_BASH, REST, SUBSTITUTE + tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ + RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, \ + FIRE_BLAST, SWIFT, SKULL_BASH, REST, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/porygon.asm b/data/pokemon/base_stats/porygon.asm index 86c1c837..45c62943 100644 --- a/data/pokemon/base_stats/porygon.asm +++ b/data/pokemon/base_stats/porygon.asm @@ -14,7 +14,11 @@ db 0 ; growth rate ; tm/hm learnset - tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, ICE_BEAM, BLIZZARD, HYPER_BEAM, RAGE, THUNDERBOLT, THUNDER, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SWIFT, SKULL_BASH, REST, THUNDER_WAVE, PSYWAVE, TRI_ATTACK, SUBSTITUTE, FLASH + tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, ICE_BEAM, BLIZZARD, \ + HYPER_BEAM, RAGE, THUNDERBOLT, THUNDER, PSYCHIC_M, \ + TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, \ + SWIFT, SKULL_BASH, REST, THUNDER_WAVE, PSYWAVE, \ + TRI_ATTACK, SUBSTITUTE, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/primeape.asm b/data/pokemon/base_stats/primeape.asm index 5175a4da..0bafc491 100644 --- a/data/pokemon/base_stats/primeape.asm +++ b/data/pokemon/base_stats/primeape.asm @@ -14,7 +14,11 @@ db 0 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, PAY_DAY, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, THUNDERBOLT, THUNDER, DIG, MIMIC, DOUBLE_TEAM, BIDE, METRONOME, SWIFT, SKULL_BASH, REST, ROCK_SLIDE, SUBSTITUTE, STRENGTH + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, HYPER_BEAM, PAY_DAY, SUBMISSION, COUNTER, \ + SEISMIC_TOSS, RAGE, THUNDERBOLT, THUNDER, DIG, \ + MIMIC, DOUBLE_TEAM, BIDE, METRONOME, SWIFT, \ + SKULL_BASH, REST, ROCK_SLIDE, SUBSTITUTE, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/psyduck.asm b/data/pokemon/base_stats/psyduck.asm index f72de54f..02892004 100644 --- a/data/pokemon/base_stats/psyduck.asm +++ b/data/pokemon/base_stats/psyduck.asm @@ -14,7 +14,11 @@ db 0 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, PAY_DAY, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, DIG, MIMIC, DOUBLE_TEAM, BIDE, SWIFT, SKULL_BASH, REST, SUBSTITUTE, SURF, STRENGTH + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, \ + PAY_DAY, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, \ + DIG, MIMIC, DOUBLE_TEAM, BIDE, SWIFT, \ + SKULL_BASH, REST, SUBSTITUTE, SURF, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/raichu.asm b/data/pokemon/base_stats/raichu.asm index 9251ef65..1a904a04 100644 --- a/data/pokemon/base_stats/raichu.asm +++ b/data/pokemon/base_stats/raichu.asm @@ -14,7 +14,11 @@ db 0 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, PAY_DAY, SUBMISSION, SEISMIC_TOSS, RAGE, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SWIFT, SKULL_BASH, REST, THUNDER_WAVE, SUBSTITUTE, FLASH + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, HYPER_BEAM, PAY_DAY, SUBMISSION, SEISMIC_TOSS, \ + RAGE, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, \ + REFLECT, BIDE, SWIFT, SKULL_BASH, REST, \ + THUNDER_WAVE, SUBSTITUTE, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/rapidash.asm b/data/pokemon/base_stats/rapidash.asm index 846a96f1..9ebe2c21 100644 --- a/data/pokemon/base_stats/rapidash.asm +++ b/data/pokemon/base_stats/rapidash.asm @@ -14,7 +14,10 @@ db 0 ; growth rate ; tm/hm learnset - tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SWIFT, SKULL_BASH, REST, SUBSTITUTE + tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ + HYPER_BEAM, RAGE, MIMIC, DOUBLE_TEAM, REFLECT, \ + BIDE, FIRE_BLAST, SWIFT, SKULL_BASH, REST, \ + SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/raticate.asm b/data/pokemon/base_stats/raticate.asm index 2f092e74..41d05dfc 100644 --- a/data/pokemon/base_stats/raticate.asm +++ b/data/pokemon/base_stats/raticate.asm @@ -14,7 +14,10 @@ db 0 ; growth rate ; tm/hm learnset - tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, RAGE, THUNDERBOLT, THUNDER, DIG, MIMIC, DOUBLE_TEAM, BIDE, SWIFT, SKULL_BASH, REST, SUBSTITUTE + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, \ + WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, RAGE, \ + THUNDERBOLT, THUNDER, DIG, MIMIC, DOUBLE_TEAM, \ + BIDE, SWIFT, SKULL_BASH, REST, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/rattata.asm b/data/pokemon/base_stats/rattata.asm index 917bee17..202a2cff 100644 --- a/data/pokemon/base_stats/rattata.asm +++ b/data/pokemon/base_stats/rattata.asm @@ -14,7 +14,10 @@ db 0 ; growth rate ; tm/hm learnset - tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, BLIZZARD, RAGE, THUNDERBOLT, THUNDER, DIG, MIMIC, DOUBLE_TEAM, BIDE, SWIFT, SKULL_BASH, REST, SUBSTITUTE + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, \ + WATER_GUN, BLIZZARD, RAGE, THUNDERBOLT, THUNDER, \ + DIG, MIMIC, DOUBLE_TEAM, BIDE, SWIFT, \ + SKULL_BASH, REST, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/rhydon.asm b/data/pokemon/base_stats/rhydon.asm index 36dd2e8b..c659afe3 100644 --- a/data/pokemon/base_stats/rhydon.asm +++ b/data/pokemon/base_stats/rhydon.asm @@ -14,7 +14,13 @@ db 5 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, PAY_DAY, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, THUNDERBOLT, THUNDER, EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, BIDE, FIRE_BLAST, SKULL_BASH, REST, ROCK_SLIDE, SUBSTITUTE, SURF, STRENGTH + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, HORN_DRILL, BODY_SLAM, \ + TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, \ + BLIZZARD, HYPER_BEAM, PAY_DAY, SUBMISSION, COUNTER, \ + SEISMIC_TOSS, RAGE, THUNDERBOLT, THUNDER, EARTHQUAKE, \ + FISSURE, DIG, MIMIC, DOUBLE_TEAM, BIDE, \ + FIRE_BLAST, SKULL_BASH, REST, ROCK_SLIDE, SUBSTITUTE, \ + SURF, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/rhyhorn.asm b/data/pokemon/base_stats/rhyhorn.asm index bfd49fef..df4c6db3 100644 --- a/data/pokemon/base_stats/rhyhorn.asm +++ b/data/pokemon/base_stats/rhyhorn.asm @@ -14,7 +14,10 @@ db 5 ; growth rate ; tm/hm learnset - tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, RAGE, THUNDERBOLT, THUNDER, EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, BIDE, FIRE_BLAST, SKULL_BASH, REST, ROCK_SLIDE, SUBSTITUTE, STRENGTH + tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ + RAGE, THUNDERBOLT, THUNDER, EARTHQUAKE, FISSURE, \ + DIG, MIMIC, DOUBLE_TEAM, BIDE, FIRE_BLAST, \ + SKULL_BASH, REST, ROCK_SLIDE, SUBSTITUTE, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/sandshrew.asm b/data/pokemon/base_stats/sandshrew.asm index e16d482d..d528e651 100644 --- a/data/pokemon/base_stats/sandshrew.asm +++ b/data/pokemon/base_stats/sandshrew.asm @@ -14,7 +14,11 @@ db 0 ; growth rate ; tm/hm learnset - tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, SUBMISSION, SEISMIC_TOSS, RAGE, EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, BIDE, SWIFT, SKULL_BASH, REST, ROCK_SLIDE, SUBSTITUTE, CUT, STRENGTH + tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ + SUBMISSION, SEISMIC_TOSS, RAGE, EARTHQUAKE, FISSURE, \ + DIG, MIMIC, DOUBLE_TEAM, BIDE, SWIFT, \ + SKULL_BASH, REST, ROCK_SLIDE, SUBSTITUTE, CUT, \ + STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/sandslash.asm b/data/pokemon/base_stats/sandslash.asm index 748a3828..326aa836 100644 --- a/data/pokemon/base_stats/sandslash.asm +++ b/data/pokemon/base_stats/sandslash.asm @@ -14,7 +14,11 @@ db 0 ; growth rate ; tm/hm learnset - tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, SUBMISSION, SEISMIC_TOSS, RAGE, EARTHQUAKE, FISSURE, DIG, MIMIC, DOUBLE_TEAM, BIDE, SWIFT, SKULL_BASH, REST, ROCK_SLIDE, SUBSTITUTE, CUT, STRENGTH + tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ + HYPER_BEAM, SUBMISSION, SEISMIC_TOSS, RAGE, EARTHQUAKE, \ + FISSURE, DIG, MIMIC, DOUBLE_TEAM, BIDE, \ + SWIFT, SKULL_BASH, REST, ROCK_SLIDE, SUBSTITUTE, \ + CUT, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/scyther.asm b/data/pokemon/base_stats/scyther.asm index b833345d..3dc2a21d 100644 --- a/data/pokemon/base_stats/scyther.asm +++ b/data/pokemon/base_stats/scyther.asm @@ -14,7 +14,9 @@ db 0 ; growth rate ; tm/hm learnset - tmhm SWORDS_DANCE, TOXIC, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, MIMIC, DOUBLE_TEAM, BIDE, SWIFT, SKULL_BASH, REST, SUBSTITUTE, CUT + tmhm SWORDS_DANCE, TOXIC, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, \ + RAGE, MIMIC, DOUBLE_TEAM, BIDE, SWIFT, \ + SKULL_BASH, REST, SUBSTITUTE, CUT ; end db 0 ; padding diff --git a/data/pokemon/base_stats/seadra.asm b/data/pokemon/base_stats/seadra.asm index 64da5ace..15d29a7a 100644 --- a/data/pokemon/base_stats/seadra.asm +++ b/data/pokemon/base_stats/seadra.asm @@ -14,7 +14,10 @@ db 0 ; growth rate ; tm/hm learnset - tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, RAGE, MIMIC, DOUBLE_TEAM, BIDE, SWIFT, SKULL_BASH, REST, SUBSTITUTE, SURF + tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, \ + ICE_BEAM, BLIZZARD, HYPER_BEAM, RAGE, MIMIC, \ + DOUBLE_TEAM, BIDE, SWIFT, SKULL_BASH, REST, \ + SUBSTITUTE, SURF ; end db 0 ; padding diff --git a/data/pokemon/base_stats/seaking.asm b/data/pokemon/base_stats/seaking.asm index 652e78a4..91144882 100644 --- a/data/pokemon/base_stats/seaking.asm +++ b/data/pokemon/base_stats/seaking.asm @@ -14,7 +14,10 @@ db 0 ; growth rate ; tm/hm learnset - tmhm TOXIC, HORN_DRILL, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, RAGE, MIMIC, DOUBLE_TEAM, BIDE, SWIFT, SKULL_BASH, REST, SUBSTITUTE, SURF + tmhm TOXIC, HORN_DRILL, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, \ + WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, RAGE, \ + MIMIC, DOUBLE_TEAM, BIDE, SWIFT, SKULL_BASH, \ + REST, SUBSTITUTE, SURF ; end db 0 ; padding diff --git a/data/pokemon/base_stats/seel.asm b/data/pokemon/base_stats/seel.asm index 65e3b6ea..f45af9e7 100644 --- a/data/pokemon/base_stats/seel.asm +++ b/data/pokemon/base_stats/seel.asm @@ -14,7 +14,10 @@ db 0 ; growth rate ; tm/hm learnset - tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, PAY_DAY, RAGE, MIMIC, DOUBLE_TEAM, BIDE, SKULL_BASH, REST, SUBSTITUTE, SURF, STRENGTH + tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ + BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, PAY_DAY, \ + RAGE, MIMIC, DOUBLE_TEAM, BIDE, SKULL_BASH, \ + REST, SUBSTITUTE, SURF, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/shellder.asm b/data/pokemon/base_stats/shellder.asm index b0051565..d1e32c84 100644 --- a/data/pokemon/base_stats/shellder.asm +++ b/data/pokemon/base_stats/shellder.asm @@ -14,7 +14,10 @@ db 5 ; growth rate ; tm/hm learnset - tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, RAGE, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SELFDESTRUCT, SWIFT, REST, EXPLOSION, TRI_ATTACK, SUBSTITUTE, SURF + tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, \ + ICE_BEAM, BLIZZARD, RAGE, TELEPORT, MIMIC, \ + DOUBLE_TEAM, REFLECT, BIDE, SELFDESTRUCT, SWIFT, \ + REST, EXPLOSION, TRI_ATTACK, SUBSTITUTE, SURF ; end db 0 ; padding diff --git a/data/pokemon/base_stats/slowbro.asm b/data/pokemon/base_stats/slowbro.asm index 0a4f04a7..939229d6 100644 --- a/data/pokemon/base_stats/slowbro.asm +++ b/data/pokemon/base_stats/slowbro.asm @@ -14,7 +14,14 @@ db 0 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, PAY_DAY, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, EARTHQUAKE, FISSURE, DIG, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SWIFT, SKULL_BASH, REST, THUNDER_WAVE, PSYWAVE, TRI_ATTACK, SUBSTITUTE, SURF, STRENGTH, FLASH + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, \ + HYPER_BEAM, PAY_DAY, SUBMISSION, COUNTER, SEISMIC_TOSS, \ + RAGE, EARTHQUAKE, FISSURE, DIG, PSYCHIC_M, \ + TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, \ + FIRE_BLAST, SWIFT, SKULL_BASH, REST, THUNDER_WAVE, \ + PSYWAVE, TRI_ATTACK, SUBSTITUTE, SURF, STRENGTH, \ + FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/slowpoke.asm b/data/pokemon/base_stats/slowpoke.asm index 571fcde4..77c48277 100644 --- a/data/pokemon/base_stats/slowpoke.asm +++ b/data/pokemon/base_stats/slowpoke.asm @@ -14,7 +14,12 @@ db 0 ; growth rate ; tm/hm learnset - tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, PAY_DAY, RAGE, EARTHQUAKE, FISSURE, DIG, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SWIFT, SKULL_BASH, REST, THUNDER_WAVE, PSYWAVE, TRI_ATTACK, SUBSTITUTE, SURF, STRENGTH, FLASH + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, \ + WATER_GUN, ICE_BEAM, BLIZZARD, PAY_DAY, RAGE, \ + EARTHQUAKE, FISSURE, DIG, PSYCHIC_M, TELEPORT, \ + MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, \ + SWIFT, SKULL_BASH, REST, THUNDER_WAVE, PSYWAVE, \ + TRI_ATTACK, SUBSTITUTE, SURF, STRENGTH, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/snorlax.asm b/data/pokemon/base_stats/snorlax.asm index 7deceef6..e8536908 100644 --- a/data/pokemon/base_stats/snorlax.asm +++ b/data/pokemon/base_stats/snorlax.asm @@ -14,7 +14,14 @@ db 5 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, PAY_DAY, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, SOLARBEAM, THUNDERBOLT, THUNDER, EARTHQUAKE, FISSURE, PSYCHIC_M, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, METRONOME, SELFDESTRUCT, FIRE_BLAST, SKULL_BASH, REST, PSYWAVE, ROCK_SLIDE, SUBSTITUTE, SURF, STRENGTH + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, \ + HYPER_BEAM, PAY_DAY, SUBMISSION, COUNTER, SEISMIC_TOSS, \ + RAGE, SOLARBEAM, THUNDERBOLT, THUNDER, EARTHQUAKE, \ + FISSURE, PSYCHIC_M, MIMIC, DOUBLE_TEAM, REFLECT, \ + BIDE, METRONOME, SELFDESTRUCT, FIRE_BLAST, SKULL_BASH, \ + REST, PSYWAVE, ROCK_SLIDE, SUBSTITUTE, SURF, \ + STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/spearow.asm b/data/pokemon/base_stats/spearow.asm index 023c058b..6bd0b0b6 100644 --- a/data/pokemon/base_stats/spearow.asm +++ b/data/pokemon/base_stats/spearow.asm @@ -14,7 +14,9 @@ db 0 ; growth rate ; tm/hm learnset - tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, RAGE, MIMIC, DOUBLE_TEAM, BIDE, SWIFT, SKY_ATTACK, REST, SUBSTITUTE, FLY + tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, \ + RAGE, MIMIC, DOUBLE_TEAM, BIDE, SWIFT, \ + SKY_ATTACK, REST, SUBSTITUTE, FLY ; end db 0 ; padding diff --git a/data/pokemon/base_stats/squirtle.asm b/data/pokemon/base_stats/squirtle.asm index 5212a998..e37e2d3b 100644 --- a/data/pokemon/base_stats/squirtle.asm +++ b/data/pokemon/base_stats/squirtle.asm @@ -14,7 +14,11 @@ db 3 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, DIG, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SKULL_BASH, REST, SUBSTITUTE, SURF, STRENGTH + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, \ + SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, DIG, \ + MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SKULL_BASH, \ + REST, SUBSTITUTE, SURF, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/starmie.asm b/data/pokemon/base_stats/starmie.asm index ba966d5b..5792c21f 100644 --- a/data/pokemon/base_stats/starmie.asm +++ b/data/pokemon/base_stats/starmie.asm @@ -14,7 +14,12 @@ db 5 ; growth rate ; tm/hm learnset - tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, RAGE, THUNDERBOLT, THUNDER, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SWIFT, SKULL_BASH, REST, THUNDER_WAVE, PSYWAVE, TRI_ATTACK, SUBSTITUTE, SURF, FLASH + tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, \ + ICE_BEAM, BLIZZARD, HYPER_BEAM, RAGE, THUNDERBOLT, \ + THUNDER, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, \ + REFLECT, BIDE, SWIFT, SKULL_BASH, REST, \ + THUNDER_WAVE, PSYWAVE, TRI_ATTACK, SUBSTITUTE, SURF, \ + FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/staryu.asm b/data/pokemon/base_stats/staryu.asm index 5d2292ed..2e095225 100644 --- a/data/pokemon/base_stats/staryu.asm +++ b/data/pokemon/base_stats/staryu.asm @@ -14,7 +14,11 @@ db 5 ; growth rate ; tm/hm learnset - tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, RAGE, THUNDERBOLT, THUNDER, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SWIFT, SKULL_BASH, REST, THUNDER_WAVE, PSYWAVE, TRI_ATTACK, SUBSTITUTE, SURF, FLASH + tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, \ + ICE_BEAM, BLIZZARD, RAGE, THUNDERBOLT, THUNDER, \ + PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, \ + BIDE, SWIFT, SKULL_BASH, REST, THUNDER_WAVE, \ + PSYWAVE, TRI_ATTACK, SUBSTITUTE, SURF, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/tangela.asm b/data/pokemon/base_stats/tangela.asm index 8c8f736a..950cffbd 100644 --- a/data/pokemon/base_stats/tangela.asm +++ b/data/pokemon/base_stats/tangela.asm @@ -14,7 +14,10 @@ db 0 ; growth rate ; tm/hm learnset - tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, MEGA_DRAIN, SOLARBEAM, MIMIC, DOUBLE_TEAM, BIDE, SKULL_BASH, REST, SUBSTITUTE, CUT + tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ + HYPER_BEAM, RAGE, MEGA_DRAIN, SOLARBEAM, MIMIC, \ + DOUBLE_TEAM, BIDE, SKULL_BASH, REST, SUBSTITUTE, \ + CUT ; end db 0 ; padding diff --git a/data/pokemon/base_stats/tauros.asm b/data/pokemon/base_stats/tauros.asm index db03e054..9eae792c 100644 --- a/data/pokemon/base_stats/tauros.asm +++ b/data/pokemon/base_stats/tauros.asm @@ -14,7 +14,11 @@ db 5 ; growth rate ; tm/hm learnset - tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, ICE_BEAM, BLIZZARD, HYPER_BEAM, RAGE, THUNDERBOLT, THUNDER, EARTHQUAKE, FISSURE, MIMIC, DOUBLE_TEAM, BIDE, FIRE_BLAST, SKULL_BASH, REST, SUBSTITUTE, STRENGTH + tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ + ICE_BEAM, BLIZZARD, HYPER_BEAM, RAGE, THUNDERBOLT, \ + THUNDER, EARTHQUAKE, FISSURE, MIMIC, DOUBLE_TEAM, \ + BIDE, FIRE_BLAST, SKULL_BASH, REST, SUBSTITUTE, \ + STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/tentacool.asm b/data/pokemon/base_stats/tentacool.asm index 5c4c2b34..82b4afdd 100644 --- a/data/pokemon/base_stats/tentacool.asm +++ b/data/pokemon/base_stats/tentacool.asm @@ -14,7 +14,10 @@ db 5 ; growth rate ; tm/hm learnset - tmhm SWORDS_DANCE, TOXIC, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, RAGE, MEGA_DRAIN, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SKULL_BASH, REST, SUBSTITUTE, CUT, SURF + tmhm SWORDS_DANCE, TOXIC, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, \ + WATER_GUN, ICE_BEAM, BLIZZARD, RAGE, MEGA_DRAIN, \ + MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SKULL_BASH, \ + REST, SUBSTITUTE, CUT, SURF ; end db 0 ; padding diff --git a/data/pokemon/base_stats/tentacruel.asm b/data/pokemon/base_stats/tentacruel.asm index 7d93e11b..03110654 100644 --- a/data/pokemon/base_stats/tentacruel.asm +++ b/data/pokemon/base_stats/tentacruel.asm @@ -14,7 +14,10 @@ db 5 ; growth rate ; tm/hm learnset - tmhm SWORDS_DANCE, TOXIC, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, RAGE, MEGA_DRAIN, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SKULL_BASH, REST, SUBSTITUTE, CUT, SURF + tmhm SWORDS_DANCE, TOXIC, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, \ + WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, RAGE, \ + MEGA_DRAIN, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, \ + SKULL_BASH, REST, SUBSTITUTE, CUT, SURF ; end db 0 ; padding diff --git a/data/pokemon/base_stats/vaporeon.asm b/data/pokemon/base_stats/vaporeon.asm index c432b4b4..7dce48ef 100644 --- a/data/pokemon/base_stats/vaporeon.asm +++ b/data/pokemon/base_stats/vaporeon.asm @@ -14,7 +14,10 @@ db 0 ; growth rate ; tm/hm learnset - tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, RAGE, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SWIFT, SKULL_BASH, REST, SUBSTITUTE, SURF + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, \ + WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, RAGE, \ + MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SWIFT, \ + SKULL_BASH, REST, SUBSTITUTE, SURF ; end db 0 ; padding diff --git a/data/pokemon/base_stats/venomoth.asm b/data/pokemon/base_stats/venomoth.asm index 95a9e4bf..971294e0 100644 --- a/data/pokemon/base_stats/venomoth.asm +++ b/data/pokemon/base_stats/venomoth.asm @@ -14,7 +14,10 @@ db 0 ; growth rate ; tm/hm learnset - tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, MEGA_DRAIN, SOLARBEAM, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SWIFT, REST, PSYWAVE, SUBSTITUTE + tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, \ + HYPER_BEAM, RAGE, MEGA_DRAIN, SOLARBEAM, PSYCHIC_M, \ + TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, \ + SWIFT, REST, PSYWAVE, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/venonat.asm b/data/pokemon/base_stats/venonat.asm index 458de396..99cc8036 100644 --- a/data/pokemon/base_stats/venonat.asm +++ b/data/pokemon/base_stats/venonat.asm @@ -14,7 +14,9 @@ db 0 ; growth rate ; tm/hm learnset - tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, RAGE, MEGA_DRAIN, SOLARBEAM, PSYCHIC_M, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, REST, PSYWAVE, SUBSTITUTE + tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, RAGE, MEGA_DRAIN, \ + SOLARBEAM, PSYCHIC_M, MIMIC, DOUBLE_TEAM, REFLECT, \ + BIDE, REST, PSYWAVE, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/venusaur.asm b/data/pokemon/base_stats/venusaur.asm index ecfdf4ec..4d50169f 100644 --- a/data/pokemon/base_stats/venusaur.asm +++ b/data/pokemon/base_stats/venusaur.asm @@ -14,7 +14,10 @@ db 3 ; growth rate ; tm/hm learnset - tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, MEGA_DRAIN, SOLARBEAM, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, REST, SUBSTITUTE, CUT + tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ + HYPER_BEAM, RAGE, MEGA_DRAIN, SOLARBEAM, MIMIC, \ + DOUBLE_TEAM, REFLECT, BIDE, REST, SUBSTITUTE, \ + CUT ; end db 0 ; padding diff --git a/data/pokemon/base_stats/victreebel.asm b/data/pokemon/base_stats/victreebel.asm index b0e8025c..441bf8b5 100644 --- a/data/pokemon/base_stats/victreebel.asm +++ b/data/pokemon/base_stats/victreebel.asm @@ -14,7 +14,10 @@ db 3 ; growth rate ; tm/hm learnset - tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, MEGA_DRAIN, SOLARBEAM, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, REST, SUBSTITUTE, CUT + tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ + HYPER_BEAM, RAGE, MEGA_DRAIN, SOLARBEAM, MIMIC, \ + DOUBLE_TEAM, REFLECT, BIDE, REST, SUBSTITUTE, \ + CUT ; end db 0 ; padding diff --git a/data/pokemon/base_stats/vileplume.asm b/data/pokemon/base_stats/vileplume.asm index b6296607..99000b13 100644 --- a/data/pokemon/base_stats/vileplume.asm +++ b/data/pokemon/base_stats/vileplume.asm @@ -14,7 +14,10 @@ db 3 ; growth rate ; tm/hm learnset - tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, MEGA_DRAIN, SOLARBEAM, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, REST, SUBSTITUTE, CUT + tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ + HYPER_BEAM, RAGE, MEGA_DRAIN, SOLARBEAM, MIMIC, \ + DOUBLE_TEAM, REFLECT, BIDE, REST, SUBSTITUTE, \ + CUT ; end db 0 ; padding diff --git a/data/pokemon/base_stats/voltorb.asm b/data/pokemon/base_stats/voltorb.asm index fec528af..83902c05 100644 --- a/data/pokemon/base_stats/voltorb.asm +++ b/data/pokemon/base_stats/voltorb.asm @@ -14,7 +14,10 @@ db 0 ; growth rate ; tm/hm learnset - tmhm TOXIC, TAKE_DOWN, RAGE, THUNDERBOLT, THUNDER, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SELFDESTRUCT, SWIFT, REST, THUNDER_WAVE, EXPLOSION, SUBSTITUTE, FLASH + tmhm TOXIC, TAKE_DOWN, RAGE, THUNDERBOLT, THUNDER, \ + TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, \ + SELFDESTRUCT, SWIFT, REST, THUNDER_WAVE, EXPLOSION, \ + SUBSTITUTE, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/vulpix.asm b/data/pokemon/base_stats/vulpix.asm index c2832ce9..fc85d512 100644 --- a/data/pokemon/base_stats/vulpix.asm +++ b/data/pokemon/base_stats/vulpix.asm @@ -14,7 +14,9 @@ db 0 ; growth rate ; tm/hm learnset - tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, RAGE, DIG, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SWIFT, SKULL_BASH, REST, SUBSTITUTE + tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, RAGE, \ + DIG, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, \ + FIRE_BLAST, SWIFT, SKULL_BASH, REST, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/wartortle.asm b/data/pokemon/base_stats/wartortle.asm index 06f573d9..7033f300 100644 --- a/data/pokemon/base_stats/wartortle.asm +++ b/data/pokemon/base_stats/wartortle.asm @@ -14,7 +14,11 @@ db 3 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, DIG, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SKULL_BASH, REST, SUBSTITUTE, SURF, STRENGTH + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, \ + SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, DIG, \ + MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SKULL_BASH, \ + REST, SUBSTITUTE, SURF, STRENGTH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/weepinbell.asm b/data/pokemon/base_stats/weepinbell.asm index 492348de..03733826 100644 --- a/data/pokemon/base_stats/weepinbell.asm +++ b/data/pokemon/base_stats/weepinbell.asm @@ -14,7 +14,9 @@ db 3 ; growth rate ; tm/hm learnset - tmhm SWORDS_DANCE, TOXIC, TAKE_DOWN, DOUBLE_EDGE, RAGE, MEGA_DRAIN, SOLARBEAM, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, REST, SUBSTITUTE, CUT + tmhm SWORDS_DANCE, TOXIC, TAKE_DOWN, DOUBLE_EDGE, RAGE, \ + MEGA_DRAIN, SOLARBEAM, MIMIC, DOUBLE_TEAM, REFLECT, \ + BIDE, REST, SUBSTITUTE, CUT ; end db 0 ; padding diff --git a/data/pokemon/base_stats/weezing.asm b/data/pokemon/base_stats/weezing.asm index 7a58f82c..fd647044 100644 --- a/data/pokemon/base_stats/weezing.asm +++ b/data/pokemon/base_stats/weezing.asm @@ -14,7 +14,9 @@ db 0 ; growth rate ; tm/hm learnset - tmhm TOXIC, HYPER_BEAM, RAGE, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, BIDE, SELFDESTRUCT, FIRE_BLAST, REST, EXPLOSION, SUBSTITUTE + tmhm TOXIC, HYPER_BEAM, RAGE, THUNDERBOLT, THUNDER, \ + MIMIC, DOUBLE_TEAM, BIDE, SELFDESTRUCT, FIRE_BLAST, \ + REST, EXPLOSION, SUBSTITUTE ; end db 0 ; padding diff --git a/data/pokemon/base_stats/wigglytuff.asm b/data/pokemon/base_stats/wigglytuff.asm index ef10f24c..95e54470 100644 --- a/data/pokemon/base_stats/wigglytuff.asm +++ b/data/pokemon/base_stats/wigglytuff.asm @@ -14,7 +14,13 @@ db 4 ; growth rate ; tm/hm learnset - tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, SOLARBEAM, THUNDERBOLT, THUNDER, PSYCHIC_M, TELEPORT, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, SKULL_BASH, REST, THUNDER_WAVE, PSYWAVE, TRI_ATTACK, SUBSTITUTE, STRENGTH, FLASH + tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ + DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, ICE_BEAM, BLIZZARD, \ + HYPER_BEAM, SUBMISSION, COUNTER, SEISMIC_TOSS, RAGE, \ + SOLARBEAM, THUNDERBOLT, THUNDER, PSYCHIC_M, TELEPORT, \ + MIMIC, DOUBLE_TEAM, REFLECT, BIDE, FIRE_BLAST, \ + SKULL_BASH, REST, THUNDER_WAVE, PSYWAVE, TRI_ATTACK, \ + SUBSTITUTE, STRENGTH, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/zapdos.asm b/data/pokemon/base_stats/zapdos.asm index a08da4d2..05977649 100644 --- a/data/pokemon/base_stats/zapdos.asm +++ b/data/pokemon/base_stats/zapdos.asm @@ -14,7 +14,10 @@ db 5 ; growth rate ; tm/hm learnset - tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, THUNDERBOLT, THUNDER, MIMIC, DOUBLE_TEAM, REFLECT, BIDE, SWIFT, SKY_ATTACK, REST, THUNDER_WAVE, SUBSTITUTE, FLY, FLASH + tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, \ + HYPER_BEAM, RAGE, THUNDERBOLT, THUNDER, MIMIC, \ + DOUBLE_TEAM, REFLECT, BIDE, SWIFT, SKY_ATTACK, \ + REST, THUNDER_WAVE, SUBSTITUTE, FLY, FLASH ; end db 0 ; padding diff --git a/data/pokemon/base_stats/zubat.asm b/data/pokemon/base_stats/zubat.asm index 0f8db04d..d3de0eca 100644 --- a/data/pokemon/base_stats/zubat.asm +++ b/data/pokemon/base_stats/zubat.asm @@ -14,7 +14,9 @@ db 0 ; growth rate ; tm/hm learnset - tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, RAGE, MEGA_DRAIN, MIMIC, DOUBLE_TEAM, BIDE, SWIFT, REST, SUBSTITUTE + tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, \ + RAGE, MEGA_DRAIN, MIMIC, DOUBLE_TEAM, BIDE, \ + SWIFT, REST, SUBSTITUTE ; end db 0 ; padding -- cgit v1.2.3 From 43e0e40d5a4af369661fd6c7aa44d7265b9f6e59 Mon Sep 17 00:00:00 2001 From: Rangi Date: Mon, 6 Jul 2020 11:28:51 -0400 Subject: Avoid repeating the NUM_TMS value --- constants/item_constants.asm | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/constants/item_constants.asm b/constants/item_constants.asm index 1ec70446..7904b4c1 100755 --- a/constants/item_constants.asm +++ b/constants/item_constants.asm @@ -102,20 +102,22 @@ SAFARI_ROCK EQU $16 ; overload const_value = $C4 +; HMs are defined before TMs, so the actual number of TM definitions +; is not yet available. The TM quantity is hard-coded here and must +; match the actual number below. +NUM_TMS EQU 50 + add_hm: MACRO ; Defines three constants: ; - HM_\1: the item id, starting at $C4 ; - \1_TMNUM: the learnable TM/HM flag, starting at 51 ; - HM##_MOVE: alias for the move id, equal to the value of \1 ; The first usage also defines HM01 as the first HM item id. -; -; HMs are defined before TMs, so the value of NUM_TMS is not -; available here, and its value of 50 is hard-coded. IF !DEF(HM01) HM01 EQU const_value - enum_start 51 ; NUM_TMS + 1 + enum_start NUM_TMS + 1 ENDC -HM_VALUE EQU __enum__ - 50 ; __enum__ - NUM_TMS +HM_VALUE EQU __enum__ - NUM_TMS IF HM_VALUE < 10 MOVE_FOR_HM EQUS "HM0{d:HM_VALUE}_MOVE" ELSE @@ -206,7 +208,7 @@ ENDM add_tm ROCK_SLIDE ; $F8 add_tm TRI_ATTACK ; $F9 add_tm SUBSTITUTE ; $FA -NUM_TMS EQU const_value - TM01 +assert NUM_TMS == const_value - TM01, "NUM_TMS ({d:NUM_TMS}) does not match the number of add_tm definitions" ; 50 TMs + 5 HMs = 55 learnable TM/HM flags per Pokémon. ; These fit in 7 bytes, with one unused bit left over. -- cgit v1.2.3 From d08eb862339c29ffe387f661121ac4dfe79c74ab Mon Sep 17 00:00:00 2001 From: Rangi Date: Mon, 6 Jul 2020 12:22:20 -0400 Subject: Automatically list all TM##_MOVE and HM##_MOVE values --- data/moves/tmhm_moves.asm | 79 ++++++++++++++--------------------------------- 1 file changed, 24 insertions(+), 55 deletions(-) diff --git a/data/moves/tmhm_moves.asm b/data/moves/tmhm_moves.asm index 0e722f09..a5b0bfec 100755 --- a/data/moves/tmhm_moves.asm +++ b/data/moves/tmhm_moves.asm @@ -2,58 +2,27 @@ ; define constants for the item IDs and for the corresponding move values. TechnicalMachines: - db TM01_MOVE - db TM02_MOVE - db TM03_MOVE - db TM04_MOVE - db TM05_MOVE - db TM06_MOVE - db TM07_MOVE - db TM08_MOVE - db TM09_MOVE - db TM10_MOVE - db TM11_MOVE - db TM12_MOVE - db TM13_MOVE - db TM14_MOVE - db TM15_MOVE - db TM16_MOVE - db TM17_MOVE - db TM18_MOVE - db TM19_MOVE - db TM20_MOVE - db TM21_MOVE - db TM22_MOVE - db TM23_MOVE - db TM24_MOVE - db TM25_MOVE - db TM26_MOVE - db TM27_MOVE - db TM28_MOVE - db TM29_MOVE - db TM30_MOVE - db TM31_MOVE - db TM32_MOVE - db TM33_MOVE - db TM34_MOVE - db TM35_MOVE - db TM36_MOVE - db TM37_MOVE - db TM38_MOVE - db TM39_MOVE - db TM40_MOVE - db TM41_MOVE - db TM42_MOVE - db TM43_MOVE - db TM44_MOVE - db TM45_MOVE - db TM46_MOVE - db TM47_MOVE - db TM48_MOVE - db TM49_MOVE - db TM50_MOVE - db HM01_MOVE - db HM02_MOVE - db HM03_MOVE - db HM04_MOVE - db HM05_MOVE + +n = 1 +REPT NUM_TMS +IF n < 10 +MOVE_FOR_TM EQUS "TM0{d:n}_MOVE" +ELSE +MOVE_FOR_TM EQUS "TM{d:n}_MOVE" +ENDC + db MOVE_FOR_TM +PURGE MOVE_FOR_TM +n = n + 1 +ENDR + +n = 1 +REPT NUM_HMS +IF n < 10 +MOVE_FOR_HM EQUS "HM0{d:n}_MOVE" +ELSE +MOVE_FOR_HM EQUS "HM{d:n}_MOVE" +ENDC + db MOVE_FOR_HM +PURGE MOVE_FOR_HM +n = n + 1 +ENDR -- cgit v1.2.3 From 8a79315635ee9ebb6eed5c9648fe89746085d0b1 Mon Sep 17 00:00:00 2001 From: Rangi Date: Mon, 6 Jul 2020 12:28:31 -0400 Subject: Capitalize rgbds control structures (EQU/EQUS, IF/ELIF/ELSE/ENDC, REPT/ENDR, MACRO/ENDM, etc) --- data/moves/moves.asm | 4 ++-- engine/overworld/healing_machine.asm | 4 ++-- home/joypad.asm | 8 ++++---- home/print_num.asm | 18 ++++++++++-------- home/vcopy.asm | 12 ++++++------ macros/code.asm | 6 +++--- macros/data.asm | 26 +++++++++++++------------- macros/enum.asm | 18 +++++++++--------- macros/gfx.asm | 4 ++-- macros/scripts/events.asm | 8 ++++---- macros/scripts/maps.asm | 32 ++++++++++++++++---------------- macros/scripts/text.asm | 4 ++-- rgbdscheck.asm | 6 +++--- 13 files changed, 76 insertions(+), 74 deletions(-) diff --git a/data/moves/moves.asm b/data/moves/moves.asm index 44859681..183243e9 100755 --- a/data/moves/moves.asm +++ b/data/moves/moves.asm @@ -1,14 +1,14 @@ Moves: ; Characteristics of each move. -move: macro +move: MACRO db \1 ; animation (interchangeable with move id) db \2 ; effect db \3 ; power db \4 ; type db \5 percent ; accuracy db \6 ; pp -endm +ENDM move POUND, NO_ADDITIONAL_EFFECT, 40, NORMAL, 100, 35 MoveEnd: diff --git a/engine/overworld/healing_machine.asm b/engine/overworld/healing_machine.asm index 836af44d..a09a7590 100755 --- a/engine/overworld/healing_machine.asm +++ b/engine/overworld/healing_machine.asm @@ -89,9 +89,9 @@ FlashSprite8Times: CopyHealingMachineOAM: ; copy one OAM entry and advance the pointers - rept 4 + REPT 4 ld a, [de] inc de ld [hli], a - endr + ENDR ret diff --git a/home/joypad.asm b/home/joypad.asm index 2002bb29..9948b6e7 100644 --- a/home/joypad.asm +++ b/home/joypad.asm @@ -7,9 +7,9 @@ ReadJoypad:: ld c, 0 ld [rJOYP], a - rept 6 + REPT 6 ld a, [rJOYP] - endr + ENDR cpl and %1111 swap a @@ -17,9 +17,9 @@ ReadJoypad:: ld a, 1 << 4 ; select button keys ld [rJOYP], a - rept 10 + REPT 10 ld a, [rJOYP] - endr + ENDR cpl and %1111 or b diff --git a/home/print_num.asm b/home/print_num.asm index 5155977b..f7ea2174 100644 --- a/home/print_num.asm +++ b/home/print_num.asm @@ -59,18 +59,20 @@ PrintNumber:: cp 6 jr z, .hundred_thousands -print_digit: macro +print_digit: MACRO -if (\1) / $10000 +IF (\1) / $10000 ld a, \1 / $10000 % $100 -else xor a -endc +ELSE + xor a +ENDC ld [hPowerOf10 + 0], a -if (\1) / $100 +IF (\1) / $100 ld a, \1 / $100 % $100 -else xor a -endc +ELSE + xor a +ENDC ld [hPowerOf10 + 1], a ld a, \1 / $1 % $100 @@ -78,7 +80,7 @@ endc call .PrintDigit call .NextDigit -endm +ENDM .millions print_digit 1000000 .hundred_thousands print_digit 100000 diff --git a/home/vcopy.asm b/home/vcopy.asm index a6213b32..e2325d5c 100644 --- a/home/vcopy.asm +++ b/home/vcopy.asm @@ -170,13 +170,13 @@ AutoBgMapTransfer:: TransferBgRows:: ; unrolled loop and using pop for speed - rept 20 / 2 - 1 + REPT 20 / 2 - 1 pop de ld [hl], e inc l ld [hl], d inc l - endr + ENDR pop de ld [hl], e @@ -261,7 +261,7 @@ VBlankCopyDouble:: ld [hVBlankCopyDoubleSize], a .loop - rept 3 + REPT 3 pop de ld [hl], e inc l @@ -271,7 +271,7 @@ VBlankCopyDouble:: inc l ld [hl], d inc l - endr + ENDR pop de ld [hl], e @@ -339,13 +339,13 @@ VBlankCopy:: ld [hVBlankCopySize], a .loop - rept 7 + REPT 7 pop de ld [hl], e inc l ld [hl], d inc l - endr + ENDR pop de ld [hl], e diff --git a/macros/code.asm b/macros/code.asm index 72ce9caf..8507b1ad 100755 --- a/macros/code.asm +++ b/macros/code.asm @@ -11,10 +11,10 @@ ENDM ; Design patterns dict: MACRO -if \1 == 0 +IF \1 == 0 and a -else +ELSE cp \1 -endc +ENDC jp z, \2 ENDM diff --git a/macros/data.asm b/macros/data.asm index 333bf937..7a813529 100755 --- a/macros/data.asm +++ b/macros/data.asm @@ -13,40 +13,40 @@ bcd3: MACRO dn ((\1) / 10) % 10, (\1) % 10 ENDM -coins equs "bcd2" -money equs "bcd3" +coins EQUS "bcd2" +money EQUS "bcd3" tmhm: MACRO ; used in data/pokemon/base_stats/*.asm _tms1 = 0 ; TM01-TM24 (24) _tms2 = 0 ; TM25-TM48 (24) _tms3 = 0 ; TM49-TM50 + HM01-HM05 (7/24) -rept _NARG +REPT _NARG if DEF(\1_TMNUM) if \1_TMNUM < 24 + 1 _tms1 = _tms1 | (1 << ((\1_TMNUM) - 1)) - elif \1_TMNUM < 48 + 1 + ELIF \1_TMNUM < 48 + 1 _tms2 = _tms2 | (1 << ((\1_TMNUM) - 1 - 24)) else _tms3 = _tms3 | (1 << ((\1_TMNUM) - 1 - 48)) - endc + ENDC else fail "\1 is not a TM or HM move" - endc + ENDC shift -endr -rept 3 ; TM01-TM24 (24/24) +ENDR +REPT 3 ; TM01-TM24 (24/24) db _tms1 & $ff _tms1 = _tms1 >> 8 -endr -rept 3 ; TM25-TM48 (24/24) +ENDR +REPT 3 ; TM25-TM48 (24/24) db _tms2 & $ff _tms2 = _tms2 >> 8 -endr -rept 1 ; TM49-TM50 + HM01-HM05 (7/8) +ENDR +REPT 1 ; TM49-TM50 + HM01-HM05 (7/8) db _tms3 & $ff _tms3 = _tms3 >> 8 -endr +ENDR ENDM diff --git a/macros/enum.asm b/macros/enum.asm index 8fe5b534..5c69bcb8 100644 --- a/macros/enum.asm +++ b/macros/enum.asm @@ -1,16 +1,16 @@ ; Enumerate variables enum_start: MACRO -if _NARG >= 1 +IF _NARG >= 1 __enum__ = \1 -else +ELSE __enum__ = 0 -endc -if _NARG >= 2 +ENDC +IF _NARG >= 2 __enumdir__ = \2 -else +ELSE __enumdir__ = 1 -endc +ENDC ENDM enum: MACRO @@ -25,11 +25,11 @@ ENDM ; Enumerate constants const_def: MACRO -if _NARG >= 1 +IF _NARG >= 1 const_value = \1 -else +ELSE const_value = 0 -endc +ENDC ENDM const: MACRO diff --git a/macros/gfx.asm b/macros/gfx.asm index bad051ad..950daee1 100644 --- a/macros/gfx.asm +++ b/macros/gfx.asm @@ -1,8 +1,8 @@ RGB: MACRO -rept _NARG / 3 +REPT _NARG / 3 dw palred (\1) + palgreen (\2) + palblue (\3) shift 3 -endr +ENDR ENDM palred EQUS "(1 << 0) *" diff --git a/macros/scripts/events.asm b/macros/scripts/events.asm index c5f90107..9e84ec62 100755 --- a/macros/scripts/events.asm +++ b/macros/scripts/events.asm @@ -183,10 +183,10 @@ ENDM ;\3, \4, ... = additional (optional) event indices SetEvents: MACRO SetEvent \1 - rept _NARG - 1 + REPT _NARG - 1 SetEventReuseHL \2 shift - endr + ENDR ENDM @@ -235,10 +235,10 @@ ENDM ;\3 = event index (optional) ResetEvents: MACRO ResetEvent \1 - rept _NARG - 1 + REPT _NARG - 1 ResetEventReuseHL \2 shift - endr + ENDR ENDM diff --git a/macros/scripts/maps.asm b/macros/scripts/maps.asm index a30561b9..37da8c58 100644 --- a/macros/scripts/maps.asm +++ b/macros/scripts/maps.asm @@ -121,58 +121,58 @@ connection: MACRO ; Calculate tile offsets for source (current) and target maps _src = 0 _tgt = (\4) + 3 -if _tgt < 2 +IF _tgt < 2 _src = -_tgt _tgt = 0 -endc +ENDC -if "\1" == "north" +IF "\1" == "north" _blk = \3_WIDTH * (\3_HEIGHT - 3) + _src _map = _tgt _win = (\3_WIDTH + 6) * \3_HEIGHT + 1 _y = \3_HEIGHT * 2 - 1 _x = (\4) * -2 _len = CURRENT_MAP_WIDTH + 3 - (\4) -if _len > \3_WIDTH +IF _len > \3_WIDTH _len = \3_WIDTH -endc +ENDC -elif "\1" == "south" +ELIF "\1" == "south" _blk = _src _map = (CURRENT_MAP_WIDTH + 6) * (CURRENT_MAP_HEIGHT + 3) + _tgt _win = \3_WIDTH + 7 _y = 0 _x = (\4) * -2 _len = CURRENT_MAP_WIDTH + 3 - (\4) -if _len > \3_WIDTH +IF _len > \3_WIDTH _len = \3_WIDTH -endc +ENDC -elif "\1" == "west" +ELIF "\1" == "west" _blk = (\3_WIDTH * _src) + \3_WIDTH - 3 _map = (CURRENT_MAP_WIDTH + 6) * _tgt _win = (\3_WIDTH + 6) * 2 - 6 _y = (\4) * -2 _x = \3_WIDTH * 2 - 1 _len = CURRENT_MAP_HEIGHT + 3 - (\4) -if _len > \3_HEIGHT +IF _len > \3_HEIGHT _len = \3_HEIGHT -endc +ENDC -elif "\1" == "east" +ELIF "\1" == "east" _blk = (\3_WIDTH * _src) _map = (CURRENT_MAP_WIDTH + 6) * _tgt + CURRENT_MAP_WIDTH + 3 _win = \3_WIDTH + 7 _y = (\4) * -2 _x = 0 _len = CURRENT_MAP_HEIGHT + 3 - (\4) -if _len > \3_HEIGHT +IF _len > \3_HEIGHT _len = \3_HEIGHT -endc +ENDC -else +ELSE fail "Invalid direction for 'connection'." -endc +ENDC db \3 dw \2_Blocks + _blk diff --git a/macros/scripts/text.asm b/macros/scripts/text.asm index b1e1727b..4bf2c1bc 100755 --- a/macros/scripts/text.asm +++ b/macros/scripts/text.asm @@ -198,10 +198,10 @@ ENDM script_mart: MACRO db TX_SCRIPT_MART db _NARG ; number of items -rept _NARG +REPT _NARG db \1 ; item id shift -endr +ENDR db -1 ; end ENDM diff --git a/rgbdscheck.asm b/rgbdscheck.asm index d10f8d50..eee866ec 100644 --- a/rgbdscheck.asm +++ b/rgbdscheck.asm @@ -3,10 +3,10 @@ MAJOR EQU 0 MINOR EQU 4 PATCH EQU 0 -if !DEF(__RGBDS_MAJOR__) || !DEF(__RGBDS_MINOR__) || !DEF(__RGBDS_PATCH__) +IF !DEF(__RGBDS_MAJOR__) || !DEF(__RGBDS_MINOR__) || !DEF(__RGBDS_PATCH__) fail "pokered requires rgbds {MAJOR}.{MINOR}.{PATCH} or newer." -elif (__RGBDS_MAJOR__ < MAJOR) || \ +ELIF (__RGBDS_MAJOR__ < MAJOR) || \ (__RGBDS_MAJOR__ == MAJOR && __RGBDS_MINOR__ < MINOR) || \ (__RGBDS_MAJOR__ == MAJOR && __RGBDS_MINOR__ == MINOR && __RGBDS_PATCH__ < PATCH) fail "pokered requires rgbds {MAJOR}.{MINOR}.{PATCH} or newer." -endc +ENDC -- cgit v1.2.3 From 9c2be80bf3fbdac6505787b00da0f4ff71839a05 Mon Sep 17 00:00:00 2001 From: Rangi Date: Mon, 6 Jul 2020 12:39:29 -0400 Subject: text_linkpromptbutton -> text_waitbutton Fixes #260 --- engine/events/hidden_objects/school_notebooks.asm | 4 +-- engine/events/prize_menu.asm | 10 +++---- engine/menus/oaks_pc.asm | 2 +- home/text.asm | 34 +++++++++++------------ macros/scripts/text.asm | 6 ++-- scripts/CeladonMartRoof.asm | 16 +++++------ scripts/CeruleanCity.asm | 2 +- scripts/CinnabarGym.asm | 2 +- scripts/CopycatsHouse2F.asm | 4 +-- scripts/MtMoonB2F.asm | 4 +-- scripts/RocketHideoutElevator.asm | 2 +- scripts/ViridianGym.asm | 2 +- 12 files changed, 44 insertions(+), 44 deletions(-) diff --git a/engine/events/hidden_objects/school_notebooks.asm b/engine/events/hidden_objects/school_notebooks.asm index 9fccf6c0..96a44ab5 100644 --- a/engine/events/hidden_objects/school_notebooks.asm +++ b/engine/events/hidden_objects/school_notebooks.asm @@ -7,7 +7,7 @@ PrintNotebookText: TMNotebook:: text_far TMNotebookText - text_linkpromptbutton + text_waitbutton text_end ViridianSchoolNotebook:: @@ -45,7 +45,7 @@ TurnPageText: ViridianSchoolNotebookText5: text_far _ViridianSchoolNotebookText5 - text_linkpromptbutton + text_waitbutton text_end ViridianSchoolNotebookText1: diff --git a/engine/events/prize_menu.asm b/engine/events/prize_menu.asm index c79fdbbc..0030aafb 100755 --- a/engine/events/prize_menu.asm +++ b/engine/events/prize_menu.asm @@ -44,7 +44,7 @@ CeladonPrizeMenu:: RequireCoinCaseTextPtr: text_far _RequireCoinCaseText - text_linkpromptbutton + text_waitbutton text_end ExchangeCoinsForPrizesTextPtr: @@ -264,7 +264,7 @@ UnknownPrizeData: HereYouGoTextPtr: text_far _HereYouGoText - text_linkpromptbutton + text_waitbutton text_end SoYouWantPrizeTextPtr: @@ -273,17 +273,17 @@ SoYouWantPrizeTextPtr: SorryNeedMoreCoinsText: text_far _SorryNeedMoreCoinsText - text_linkpromptbutton + text_waitbutton text_end PrizeRoomBagIsFullTextPtr: text_far _OopsYouDontHaveEnoughRoomText - text_linkpromptbutton + text_waitbutton text_end OhFineThenTextPtr: text_far _OhFineThenText - text_linkpromptbutton + text_waitbutton text_end GetPrizeMonLevel: diff --git a/engine/menus/oaks_pc.asm b/engine/menus/oaks_pc.asm index cdb97aca..7743e5df 100755 --- a/engine/menus/oaks_pc.asm +++ b/engine/menus/oaks_pc.asm @@ -20,7 +20,7 @@ GetDexRatedText: ClosedOaksPCText: text_far _ClosedOaksPCText - text_linkpromptbutton + text_waitbutton text_end AccessedOaksPCText: diff --git a/home/text.asm b/home/text.asm index d0fc8042..2047eaaa 100644 --- a/home/text.asm +++ b/home/text.asm @@ -431,7 +431,7 @@ TextCommand_PROMPT_BUTTON:: ; wait for button press; show arrow ld a, [wLinkState] cp LINK_STATE_BATTLING - jp z, TextCommand_LINK_PROMPT_BUTTON + jp z, TextCommand_WAIT_BUTTON ld a, "▼" Coorda 18, 16 ; place down arrow in lower right corner of dialogue text box push bc @@ -579,8 +579,8 @@ TextCommand_DOTS:: pop hl jp NextTextCommand -TextCommand_LINK_PROMPT_BUTTON:: -; wait for button press; display arrow +TextCommand_WAIT_BUTTON:: +; wait for button press; don't show arrow push bc call ManualTextScroll pop bc @@ -615,18 +615,18 @@ TextCommand_FAR:: TextCommandJumpTable:: ; entries correspond to TX_* constants (see macros/scripts/text.asm) - dw TextCommand_START ; TX_START - dw TextCommand_RAM ; TX_RAM - dw TextCommand_BCD ; TX_BCD - dw TextCommand_MOVE ; TX_MOVE - dw TextCommand_BOX ; TX_BOX - dw TextCommand_LOW ; TX_LOW - dw TextCommand_PROMPT_BUTTON ; TX_PROMPT_BUTTON - dw TextCommand_SCROLL ; TX_SCROLL - dw TextCommand_START_ASM ; TX_START_ASM - dw TextCommand_NUM ; TX_NUM - dw TextCommand_PAUSE ; TX_PAUSE - dw TextCommand_SOUND ; TX_SOUND_GET_ITEM_1 (also handles other TX_SOUND_* commands) - dw TextCommand_DOTS ; TX_DOTS - dw TextCommand_LINK_PROMPT_BUTTON ; TX_LINK_PROMPT_BUTTON + dw TextCommand_START ; TX_START + dw TextCommand_RAM ; TX_RAM + dw TextCommand_BCD ; TX_BCD + dw TextCommand_MOVE ; TX_MOVE + dw TextCommand_BOX ; TX_BOX + dw TextCommand_LOW ; TX_LOW + dw TextCommand_PROMPT_BUTTON ; TX_PROMPT_BUTTON + dw TextCommand_SCROLL ; TX_SCROLL + dw TextCommand_START_ASM ; TX_START_ASM + dw TextCommand_NUM ; TX_NUM + dw TextCommand_PAUSE ; TX_PAUSE + dw TextCommand_SOUND ; TX_SOUND_GET_ITEM_1 (also handles other TX_SOUND_* commands) + dw TextCommand_DOTS ; TX_DOTS + dw TextCommand_WAIT_BUTTON ; TX_WAIT_BUTTON ; greater TX_* constants are handled directly by NextTextCommand diff --git a/macros/scripts/text.asm b/macros/scripts/text.asm index 4bf2c1bc..efecdd1c 100755 --- a/macros/scripts/text.asm +++ b/macros/scripts/text.asm @@ -92,9 +92,9 @@ text_dots: MACRO db \1 ; number of ellipses to draw ENDM - enum TX_LINK_PROMPT_BUTTON ; $0d -text_linkpromptbutton: MACRO - db TX_LINK_PROMPT_BUTTON + enum TX_WAIT_BUTTON ; $0d +text_waitbutton: MACRO + db TX_WAIT_BUTTON ENDM enum TX_SOUND_POKEDEX_RATING ; $0e diff --git a/scripts/CeladonMartRoof.asm b/scripts/CeladonMartRoof.asm index c2bbd169..f38bb984 100755 --- a/scripts/CeladonMartRoof.asm +++ b/scripts/CeladonMartRoof.asm @@ -139,48 +139,48 @@ CeladonMartRoofText_484ee: CeladonMartRoofText_484f3: text_far _CeladonMartRoofText_484f3 - text_linkpromptbutton + text_waitbutton text_end CeladonMartRoofText_484f9: text_far _CeladonMartRoofText_484f9 sound_get_item_1 text_far _CeladonMartRoofText_484fe - text_linkpromptbutton + text_waitbutton text_end CeladonMartRoofText_48504: text_far _CeladonMartRoofText_48504 - text_linkpromptbutton + text_waitbutton text_end CeladonMartRoofText_4850a: text_far _CeladonMartRoofText_4850a sound_get_item_1 text_far _CeladonMartRoofText_4850f - text_linkpromptbutton + text_waitbutton text_end CeladonMartRoofText_48515: text_far _CeladonMartRoofText_48515 - text_linkpromptbutton + text_waitbutton text_end ReceivedTM49Text: text_far _ReceivedTM49Text sound_get_item_1 text_far _CeladonMartRoofText_48520 - text_linkpromptbutton + text_waitbutton text_end CeladonMartRoofText_48526: text_far _CeladonMartRoofText_48526 - text_linkpromptbutton + text_waitbutton text_end CeladonMartRoofText_4852c: text_far _CeladonMartRoofText_4852c - text_linkpromptbutton + text_waitbutton text_end CeladonMartRoofScript_PrintDrinksInBag: diff --git a/scripts/CeruleanCity.asm b/scripts/CeruleanCity.asm index bed09c10..bda53667 100755 --- a/scripts/CeruleanCity.asm +++ b/scripts/CeruleanCity.asm @@ -322,7 +322,7 @@ ReceivedTM28Text: text_far _ReceivedTM28Text sound_get_item_1 text_far _ReceivedTM28Text2 - text_linkpromptbutton + text_waitbutton text_end TM28NoRoomText: diff --git a/scripts/CinnabarGym.asm b/scripts/CinnabarGym.asm index 7d4121a6..2aa61135 100755 --- a/scripts/CinnabarGym.asm +++ b/scripts/CinnabarGym.asm @@ -234,7 +234,7 @@ BlaineBattleText: BlaineEndBattleText: text_far _BlaineEndBattleText sound_get_key_item ; actually plays the second channel of SFX_BALL_POOF due to the wrong music bank being loaded - text_linkpromptbutton + text_waitbutton text_end BlaineFireBlastText: diff --git a/scripts/CopycatsHouse2F.asm b/scripts/CopycatsHouse2F.asm index e72b1467..580d9b11 100755 --- a/scripts/CopycatsHouse2F.asm +++ b/scripts/CopycatsHouse2F.asm @@ -56,7 +56,7 @@ ReceivedTM31Text: sound_get_item_1 TM31ExplanationText1: text_far _TM31ExplanationText1 - text_linkpromptbutton + text_waitbutton text_end TM31ExplanationText2: @@ -65,7 +65,7 @@ TM31ExplanationText2: TM31NoRoomText: text_far _TM31NoRoomText - text_linkpromptbutton + text_waitbutton text_end CopycatsHouse2FText2: diff --git a/scripts/MtMoonB2F.asm b/scripts/MtMoonB2F.asm index cc6828f7..50620f23 100755 --- a/scripts/MtMoonB2F.asm +++ b/scripts/MtMoonB2F.asm @@ -323,7 +323,7 @@ MtMoon3Script_49f69: MtMoon3Text_49f6f: text_far _MtMoon3Text_49f6f sound_get_key_item - text_linkpromptbutton + text_waitbutton text_end MtMoon3Script_49f76: @@ -333,7 +333,7 @@ MtMoon3Script_49f76: MtMoon3Text_49f7f: text_far _MtMoon3Text_49f7f - text_linkpromptbutton + text_waitbutton text_end MtMoon3Text_49f85: diff --git a/scripts/RocketHideoutElevator.asm b/scripts/RocketHideoutElevator.asm index f4317ec0..6b1294b3 100755 --- a/scripts/RocketHideoutElevator.asm +++ b/scripts/RocketHideoutElevator.asm @@ -81,5 +81,5 @@ RocketHideoutElevatorText1: RocketHideoutElevatorText_4578b: text_far _RocketElevatorText_4578b - text_linkpromptbutton + text_waitbutton text_end diff --git a/scripts/ViridianGym.asm b/scripts/ViridianGym.asm index f32d98c3..05430332 100755 --- a/scripts/ViridianGym.asm +++ b/scripts/ViridianGym.asm @@ -311,7 +311,7 @@ ViridianGymText_74ad3: ViridianGymText_74ad9: text_far _ViridianGymText_74ad9 - text_linkpromptbutton + text_waitbutton text_end ViridianGymText12: -- cgit v1.2.3 From 772fcc7588a4e1fbe146a02b429cf64282c81dcb Mon Sep 17 00:00:00 2001 From: Rangi Date: Mon, 6 Jul 2020 19:03:05 -0400 Subject: Specify the ldh instruction, don't turn ld into ldh --- Makefile | 2 +- audio/engine_1.asm | 76 ++-- audio/engine_2.asm | 76 ++-- audio/engine_3.asm | 76 ++-- audio/pokedex_rating_sfx.asm | 2 +- engine/battle/animations.asm | 152 ++++---- engine/battle/battle_transitions.asm | 30 +- engine/battle/common_text.asm | 22 +- engine/battle/core.asm | 406 ++++++++++----------- engine/battle/effects.asm | 122 +++---- engine/battle/experience.asm | 38 +- engine/battle/ghost_marowak_anim.asm | 16 +- engine/battle/init_battle_variables.asm | 2 +- engine/battle/move_effects/conversion.asm | 2 +- engine/battle/move_effects/drain_hp.asm | 6 +- engine/battle/move_effects/focus_energy.asm | 2 +- engine/battle/move_effects/haze.asm | 2 +- engine/battle/move_effects/heal.asm | 6 +- engine/battle/move_effects/leech_seed.asm | 2 +- engine/battle/move_effects/mist.asm | 2 +- engine/battle/move_effects/one_hit_ko.asm | 2 +- engine/battle/move_effects/paralyze.asm | 2 +- engine/battle/move_effects/pay_day.asm | 24 +- engine/battle/move_effects/recoil.asm | 4 +- .../battle/move_effects/reflect_light_screen.asm | 2 +- engine/battle/move_effects/substitute.asm | 2 +- engine/battle/move_effects/transform.asm | 8 +- engine/battle/scale_sprites.asm | 6 +- engine/battle/trainer_ai.asm | 10 +- engine/battle/unused_stats_functions.asm | 4 +- engine/battle/wild_encounters.asm | 6 +- engine/debug/test_battle.asm | 2 +- engine/events/black_out.asm | 26 +- engine/events/card_key.asm | 4 +- engine/events/cinnabar_lab.asm | 8 +- engine/events/diploma.asm | 2 +- engine/events/hidden_items.asm | 14 +- engine/events/hidden_objects/bookshelves.asm | 4 +- engine/events/hidden_objects/cinnabar_gym_quiz.asm | 28 +- engine/events/hidden_objects/museum_fossils.asm | 8 +- engine/events/hidden_objects/safari_game.asm | 4 +- engine/events/hidden_objects/town_map.asm | 6 +- .../events/hidden_objects/vermilion_gym_trash.asm | 4 +- engine/events/oaks_aide.asm | 8 +- engine/events/pick_up_item.asm | 8 +- engine/events/poison.asm | 4 +- engine/events/pokedex_rating.asm | 10 +- engine/events/pokemart.asm | 4 +- engine/events/prize_menu.asm | 8 +- engine/events/saffron_guards.asm | 2 +- engine/events/vending_machine.asm | 16 +- engine/gfx/hp_bar.asm | 14 +- engine/gfx/mon_icons.asm | 6 +- engine/gfx/oam_dma.asm | 2 +- engine/gfx/palettes.asm | 62 ++-- engine/gfx/screen_effects.asm | 26 +- engine/gfx/sprite_oam.asm | 30 +- engine/items/item_effects.asm | 110 +++--- engine/items/tm_prices.asm | 6 +- engine/items/town_map.asm | 8 +- engine/joypad.asm | 30 +- engine/link/cable_club.asm | 26 +- engine/link/cable_club_npc.asm | 24 +- engine/math/bcd.asm | 78 ++-- engine/math/multiply_divide.asm | 158 ++++---- engine/math/random.asm | 12 +- engine/menus/display_text_id_init.asm | 6 +- engine/menus/league_pc.asm | 8 +- engine/menus/main_menu.asm | 32 +- engine/menus/naming_screen.asm | 6 +- engine/menus/party_menu.asm | 18 +- engine/menus/pc.asm | 10 +- engine/menus/pokedex.asm | 34 +- engine/menus/save.asm | 8 +- engine/menus/start_sub_menus.asm | 24 +- engine/menus/swap_items.asm | 8 +- engine/menus/text_box.asm | 4 +- engine/movie/credits.asm | 32 +- engine/movie/evolution.asm | 14 +- engine/movie/gamefreak.asm | 8 +- engine/movie/hall_of_fame.asm | 20 +- engine/movie/intro.asm | 24 +- engine/movie/oak_speech/init_player_data.asm | 4 +- engine/movie/oak_speech/oak_speech.asm | 22 +- engine/movie/oak_speech/oak_speech2.asm | 24 +- engine/movie/title.asm | 38 +- engine/movie/title2.asm | 6 +- engine/movie/trade.asm | 112 +++--- engine/overworld/auto_movement.asm | 6 +- engine/overworld/clear_variables.asm | 12 +- engine/overworld/cut.asm | 8 +- engine/overworld/cut2.asm | 8 +- engine/overworld/dust_smoke.asm | 6 +- engine/overworld/elevator.asm | 6 +- engine/overworld/healing_machine.asm | 10 +- engine/overworld/hidden_objects.asm | 6 +- engine/overworld/ledges.asm | 2 +- engine/overworld/map_sprites.asm | 14 +- engine/overworld/missable_objects.asm | 16 +- engine/overworld/movement.asm | 104 +++--- engine/overworld/pathfinding.asm | 60 +-- engine/overworld/player_animations.asm | 6 +- engine/overworld/player_state.asm | 26 +- engine/overworld/push_boulder.asm | 12 +- engine/overworld/special_warps.asm | 4 +- engine/overworld/sprite_collisions.asm | 50 +-- engine/overworld/tilesets.asm | 6 +- engine/overworld/trainer_sight.asm | 28 +- engine/overworld/turn_sprite.asm | 6 +- engine/overworld/update_map.asm | 24 +- engine/play_time.asm | 4 +- engine/pokemon/add_mon.asm | 18 +- engine/pokemon/bills_pc.asm | 10 +- engine/pokemon/evos_moves.asm | 8 +- engine/pokemon/experience.asm | 90 ++--- engine/pokemon/learn_move.asm | 8 +- engine/pokemon/status_screen.asm | 28 +- engine/slots/game_corner_slots.asm | 2 +- engine/slots/slot_machine.asm | 14 +- home.asm | 250 ++++++------- home/audio.asm | 10 +- home/bankswitch.asm | 12 +- home/copy.asm | 6 +- home/copy2.asm | 96 ++--- home/fade.asm | 18 +- home/init.asm | 60 +-- home/joypad.asm | 12 +- home/lcd.asm | 18 +- home/list_menu.asm | 34 +- home/move_mon.asm | 74 ++-- home/names.asm | 6 +- home/names2.asm | 14 +- home/overworld.asm | 180 ++++----- home/pics.asm | 24 +- home/pokemon.asm | 30 +- home/predef.asm | 8 +- home/print_num.asm | 84 ++--- home/serial.asm | 96 ++--- home/start_menu.asm | 4 +- home/text.asm | 18 +- home/text_script.asm | 38 +- home/trainers.asm | 18 +- home/uncompress.asm | 6 +- home/vblank.asm | 34 +- home/vcopy.asm | 130 +++---- macros/farcall.asm | 6 +- scripts/AgathasRoom.asm | 8 +- scripts/BikeShop.asm | 2 +- scripts/BillsHouse.asm | 14 +- scripts/BrunosRoom.asm | 8 +- scripts/CeladonGym.asm | 8 +- scripts/CeladonMartRoof.asm | 6 +- scripts/CeruleanCity.asm | 32 +- scripts/CeruleanGym.asm | 10 +- scripts/ChampionsRoom.asm | 38 +- scripts/CinnabarGym.asm | 18 +- scripts/CinnabarIsland.asm | 4 +- scripts/CopycatsHouse2F.asm | 2 +- scripts/Daycare.asm | 12 +- scripts/FightingDojo.asm | 16 +- scripts/FuchsiaGym.asm | 10 +- scripts/GameCorner.asm | 56 +-- scripts/HallOfFame.asm | 6 +- scripts/LancesRoom.asm | 6 +- scripts/LoreleisRoom.asm | 8 +- scripts/MtMoonB2F.asm | 12 +- scripts/MtMoonPokecenter.asm | 6 +- scripts/Museum1F.asm | 12 +- scripts/OaksLab.asm | 126 +++---- scripts/PalletTown.asm | 18 +- scripts/PewterCity.asm | 48 +-- scripts/PewterGym.asm | 10 +- scripts/PokemonMansion1F.asm | 4 +- scripts/PokemonMansion2F.asm | 4 +- scripts/PokemonMansion3F.asm | 4 +- scripts/PokemonMansionB1F.asm | 4 +- scripts/PokemonTower2F.asm | 14 +- scripts/PokemonTower5F.asm | 4 +- scripts/PokemonTower6F.asm | 6 +- scripts/PokemonTower7F.asm | 6 +- scripts/RedsHouse2F.asm | 2 +- scripts/RocketHideoutB4F.asm | 6 +- scripts/Route11Gate2F.asm | 6 +- scripts/Route12.asm | 4 +- scripts/Route15Gate2F.asm | 6 +- scripts/Route16.asm | 4 +- scripts/Route16Gate1F.asm | 6 +- scripts/Route18Gate1F.asm | 6 +- scripts/Route22.asm | 36 +- scripts/Route22Gate.asm | 4 +- scripts/Route23.asm | 4 +- scripts/Route24.asm | 10 +- scripts/Route2Gate.asm | 6 +- scripts/Route5Gate.asm | 10 +- scripts/Route6Gate.asm | 8 +- scripts/Route7Gate.asm | 8 +- scripts/Route8Gate.asm | 8 +- scripts/SSAnne2F.asm | 20 +- scripts/SSAnneKitchen.asm | 2 +- scripts/SafariZoneGate.asm | 18 +- scripts/SaffronGym.asm | 8 +- scripts/SilphCo10F.asm | 2 +- scripts/SilphCo11F.asm | 22 +- scripts/SilphCo2F.asm | 6 +- scripts/SilphCo3F.asm | 2 +- scripts/SilphCo4F.asm | 6 +- scripts/SilphCo5F.asm | 2 +- scripts/SilphCo6F.asm | 2 +- scripts/SilphCo7F.asm | 24 +- scripts/SilphCo8F.asm | 6 +- scripts/SilphCo9F.asm | 6 +- scripts/TradeCenter.asm | 8 +- scripts/VermilionCity.asm | 8 +- scripts/VermilionDock.asm | 18 +- scripts/VermilionGym.asm | 10 +- scripts/ViridianCity.asm | 26 +- scripts/ViridianGym.asm | 8 +- scripts/ViridianMart.asm | 4 +- scripts/WardensHouse.asm | 4 +- 219 files changed, 2556 insertions(+), 2556 deletions(-) diff --git a/Makefile b/Makefile index 301e2035..b32dc8cf 100644 --- a/Makefile +++ b/Makefile @@ -58,7 +58,7 @@ tools: $(MAKE) -C tools/ -RGBASMFLAGS = -h -Weverything +RGBASMFLAGS = -h -L -Weverything # Create a sym/map for debug purposes if `make` run with `DEBUG=1` ifeq ($(DEBUG),1) RGBASMFLAGS += -E diff --git a/audio/engine_1.asm b/audio/engine_1.asm index 20b992aa..8af8f707 100644 --- a/audio/engine_1.asm +++ b/audio/engine_1.asm @@ -20,10 +20,10 @@ Audio1_UpdateMusic:: set 7, a ld [wMuteAudioAndPauseMusic], a xor a ; disable all channels' output - ld [rNR51], a - ld [rNR30], a + ldh [rNR51], a + ldh [rNR30], a ld a, $80 - ld [rNR30], a + ldh [rNR30], a jr .nextChannel .applyAffects call Audio1_ApplyMusicAffects @@ -183,9 +183,9 @@ Audio1_sound_ret: jr nz, .skipSfxChannel3 ; restart hardware channel 3 (wave channel) output ld a, $0 - ld [rNR30], a + ldh [rNR30], a ld a, $80 - ld [rNR30], a + ldh [rNR30], a .skipSfxChannel3 jr nz, .dontDisable ld a, [wDisableChannelOutputWhenSfxEnds] @@ -219,9 +219,9 @@ Audio1_sound_ret: .disableChannelOutput ld hl, Audio1_HWChannelDisableMasks add hl, bc - ld a, [rNR51] + ldh a, [rNR51] and [hl] - ld [rNR51], a + ldh [rNR51], a .afterDisable ld a, [wChannelSoundIDs + Ch5] cp CRY_SFX_START @@ -241,7 +241,7 @@ Audio1_sound_ret: ret c .skipRewind ld a, [wSavedVolume] - ld [rNR50], a + ldh [rNR50], a xor a ld [wSavedVolume], a .skipCry @@ -548,7 +548,7 @@ Audio1_volume: cp $f0 ; is this command a volume? jr nz, Audio1_execute_music ; no call Audio1_GetNextMusicByte - ld [rNR50], a ; store volume + ldh [rNR50], a ; store volume jp Audio1_sound_ret Audio1_execute_music: @@ -638,7 +638,7 @@ Audio1_pitch_sweep: bit BIT_EXECUTE_MUSIC, [hl] jr nz, Audio1_note ; no call Audio1_GetNextMusicByte - ld [rNR10], a + ldh [rNR10], a jp Audio1_sound_ret Audio1_note: @@ -770,9 +770,9 @@ Audio1_note_pitch: ld b, 0 ld hl, Audio1_HWChannelDisableMasks add hl, bc - ld a, [rNR51] + ldh a, [rNR51] and [hl] - ld [rNR51], a ; disable hardware channel 3's output + ldh [rNR51], a ; disable hardware channel 3's output jr .done .notChannel3 ld b, REG_VOLUME_ENVELOPE @@ -844,7 +844,7 @@ Audio1_EnableChannelOutput: ld b, 0 ld hl, Audio1_HWChannelEnableMasks add hl, bc - ld a, [rNR51] + ldh a, [rNR51] or [hl] ; set this channel's bits ld d, a ld a, c @@ -866,7 +866,7 @@ Audio1_EnableChannelOutput: add hl, bc and [hl] ld d, a - ld a, [rNR51] + ldh a, [rNR51] ld hl, Audio1_HWChannelDisableMasks add hl, bc and [hl] ; reset this channel's output bits @@ -874,7 +874,7 @@ Audio1_EnableChannelOutput: ld d, a .skip ld a, d - ld [rNR51], a + ldh [rNR51], a ret Audio1_ApplyDutyCycleAndSoundLength: @@ -928,7 +928,7 @@ Audio1_ApplyWavePatternAndFrequency: ld hl, rWave_0 ld b, $f ld a, $0 ; stop hardware channel 3 - ld [rNR30], a + ldh [rNR30], a .loop ld a, [de] inc de @@ -938,7 +938,7 @@ Audio1_ApplyWavePatternAndFrequency: and a jr nz, .loop ld a, $80 ; start hardware channel 3 - ld [rNR30], a + ldh [rNR30], a pop de .notChannel3 ld a, d @@ -1399,17 +1399,17 @@ Audio1_PlaySound:: ld a, $ff ld [wStereoPanning], a xor a - ld [rNR50], a + ldh [rNR50], a ld a, $8 - ld [rNR10], a + ldh [rNR10], a ld a, 0 - ld [rNR51], a + ldh [rNR51], a xor a - ld [rNR30], a + ldh [rNR30], a ld a, $80 - ld [rNR30], a + ldh [rNR30], a ld a, $77 - ld [rNR50], a + ldh [rNR50], a jp .playSoundCommon .playSfx @@ -1555,7 +1555,7 @@ Audio1_PlaySound:: cp Ch5 jr nz, .skipSweepDisable ld a, $8 - ld [rNR10], a ; sweep off + ldh [rNR10], a ; sweep off .skipSweepDisable ld a, c and a @@ -1565,22 +1565,22 @@ Audio1_PlaySound:: .stopAllAudio ld a, $80 - ld [rNR52], a ; sound hardware on - ld [rNR30], a ; wave playback on + ldh [rNR52], a ; sound hardware on + ldh [rNR30], a ; wave playback on xor a - ld [rNR51], a ; no sound output - ld [rNR32], a ; mute channel 3 (wave channel) + ldh [rNR51], a ; no sound output + ldh [rNR32], a ; mute channel 3 (wave channel) ld a, $8 - ld [rNR10], a ; sweep off - ld [rNR12], a ; mute channel 1 (pulse channel 1) - ld [rNR22], a ; mute channel 2 (pulse channel 2) - ld [rNR42], a ; mute channel 4 (noise channel) + ldh [rNR10], a ; sweep off + ldh [rNR12], a ; mute channel 1 (pulse channel 1) + ldh [rNR22], a ; mute channel 2 (pulse channel 2) + ldh [rNR42], a ; mute channel 4 (noise channel) ld a, $40 - ld [rNR14], a ; counter mode - ld [rNR24], a - ld [rNR44], a + ldh [rNR14], a ; counter mode + ldh [rNR24], a + ldh [rNR44], a ld a, $77 - ld [rNR50], a ; full volume + ldh [rNR50], a ; full volume xor a ld [wUnusedC000], a ld [wDisableChannelOutputWhenSfxEnds], a @@ -1699,10 +1699,10 @@ Audio1_PlaySound:: ld a, [wSavedVolume] and a jr nz, .done - ld a, [rNR50] + ldh a, [rNR50] ld [wSavedVolume], a ld a, $77 - ld [rNR50], a ; full volume + ldh [rNR50], a ; full volume .done ret diff --git a/audio/engine_2.asm b/audio/engine_2.asm index 864a8c21..aa2c7227 100644 --- a/audio/engine_2.asm +++ b/audio/engine_2.asm @@ -22,10 +22,10 @@ Audio2_UpdateMusic:: set 7, a ld [wMuteAudioAndPauseMusic], a xor a ; disable all channels' output - ld [rNR51], a - ld [rNR30], a + ldh [rNR51], a + ldh [rNR30], a ld a, $80 - ld [rNR30], a + ldh [rNR30], a jr .nextChannel .applyAffects call Audio2_ApplyMusicAffects @@ -194,9 +194,9 @@ Audio2_sound_ret: jr nz, .skipSfxChannel3 ; restart hardware channel 3 (wave channel) output ld a, $0 - ld [rNR30], a + ldh [rNR30], a ld a, $80 - ld [rNR30], a + ldh [rNR30], a .skipSfxChannel3 jr nz, .dontDisable ld a, [wDisableChannelOutputWhenSfxEnds] @@ -230,9 +230,9 @@ Audio2_sound_ret: .disableChannelOutput ld hl, Audio2_HWChannelDisableMasks add hl, bc - ld a, [rNR51] + ldh a, [rNR51] and [hl] - ld [rNR51], a + ldh [rNR51], a .afterDisable ld a, [wChannelSoundIDs + Ch5] cp CRY_SFX_START @@ -252,7 +252,7 @@ Audio2_sound_ret: ret c .skipRewind ld a, [wSavedVolume] - ld [rNR50], a + ldh [rNR50], a xor a ld [wSavedVolume], a .skipCry @@ -559,7 +559,7 @@ Audio2_volume: cp $f0 ; is this command a volume? jr nz, Audio2_execute_music ; no call Audio2_GetNextMusicByte - ld [rNR50], a ; store volume + ldh [rNR50], a ; store volume jp Audio2_sound_ret Audio2_execute_music: @@ -649,7 +649,7 @@ Audio2_pitch_sweep: bit BIT_EXECUTE_MUSIC, [hl] jr nz, Audio2_note ; no call Audio2_GetNextMusicByte - ld [rNR10], a + ldh [rNR10], a jp Audio2_sound_ret Audio2_note: @@ -781,9 +781,9 @@ Audio2_note_pitch: ld b, 0 ld hl, Audio2_HWChannelDisableMasks add hl, bc - ld a, [rNR51] + ldh a, [rNR51] and [hl] - ld [rNR51], a ; disable hardware channel 3's output + ldh [rNR51], a ; disable hardware channel 3's output jr .done .notChannel3 ld b, REG_VOLUME_ENVELOPE @@ -855,7 +855,7 @@ Audio2_EnableChannelOutput: ld b, 0 ld hl, Audio2_HWChannelEnableMasks add hl, bc - ld a, [rNR51] + ldh a, [rNR51] or [hl] ; set this channel's bits ld d, a ld a, c @@ -877,7 +877,7 @@ Audio2_EnableChannelOutput: add hl, bc and [hl] ld d, a - ld a, [rNR51] + ldh a, [rNR51] ld hl, Audio2_HWChannelDisableMasks add hl, bc and [hl] ; reset this channel's output bits @@ -885,7 +885,7 @@ Audio2_EnableChannelOutput: ld d, a .skip ld a, d - ld [rNR51], a + ldh [rNR51], a ret Audio2_ApplyDutyCycleAndSoundLength: @@ -939,7 +939,7 @@ Audio2_ApplyWavePatternAndFrequency: ld hl, rWave_0 ld b, $f ld a, $0 ; stop hardware channel 3 - ld [rNR30], a + ldh [rNR30], a .loop ld a, [de] inc de @@ -949,7 +949,7 @@ Audio2_ApplyWavePatternAndFrequency: and a jr nz, .loop ld a, $80 ; start hardware channel 3 - ld [rNR30], a + ldh [rNR30], a pop de .notChannel3 ld a, d @@ -1462,17 +1462,17 @@ Audio2_PlaySound:: ld a, $ff ld [wStereoPanning], a xor a - ld [rNR50], a + ldh [rNR50], a ld a, $8 - ld [rNR10], a + ldh [rNR10], a ld a, 0 - ld [rNR51], a + ldh [rNR51], a xor a - ld [rNR30], a + ldh [rNR30], a ld a, $80 - ld [rNR30], a + ldh [rNR30], a ld a, $77 - ld [rNR50], a + ldh [rNR50], a jp .playSoundCommon .playSfx @@ -1618,7 +1618,7 @@ Audio2_PlaySound:: cp Ch5 jr nz, .skipSweepDisable ld a, $8 - ld [rNR10], a ; sweep off + ldh [rNR10], a ; sweep off .skipSweepDisable ld a, c and a @@ -1628,22 +1628,22 @@ Audio2_PlaySound:: .stopAllAudio ld a, $80 - ld [rNR52], a ; sound hardware on - ld [rNR30], a ; wave playback on + ldh [rNR52], a ; sound hardware on + ldh [rNR30], a ; wave playback on xor a - ld [rNR51], a ; no sound output - ld [rNR32], a ; mute channel 3 (wave channel) + ldh [rNR51], a ; no sound output + ldh [rNR32], a ; mute channel 3 (wave channel) ld a, $8 - ld [rNR10], a ; sweep off - ld [rNR12], a ; mute channel 1 (pulse channel 1) - ld [rNR22], a ; mute channel 2 (pulse channel 2) - ld [rNR42], a ; mute channel 4 (noise channel) + ldh [rNR10], a ; sweep off + ldh [rNR12], a ; mute channel 1 (pulse channel 1) + ldh [rNR22], a ; mute channel 2 (pulse channel 2) + ldh [rNR42], a ; mute channel 4 (noise channel) ld a, $40 - ld [rNR14], a ; counter mode - ld [rNR24], a - ld [rNR44], a + ldh [rNR14], a ; counter mode + ldh [rNR24], a + ldh [rNR44], a ld a, $77 - ld [rNR50], a ; full volume + ldh [rNR50], a ; full volume xor a ld [wUnusedC000], a ld [wDisableChannelOutputWhenSfxEnds], a @@ -1762,10 +1762,10 @@ Audio2_PlaySound:: ld a, [wSavedVolume] and a jr nz, .done - ld a, [rNR50] + ldh a, [rNR50] ld [wSavedVolume], a ld a, $77 - ld [rNR50], a ; full volume + ldh [rNR50], a ; full volume .done ret diff --git a/audio/engine_3.asm b/audio/engine_3.asm index c0aaeaf8..e8ee38c9 100644 --- a/audio/engine_3.asm +++ b/audio/engine_3.asm @@ -20,10 +20,10 @@ Audio3_UpdateMusic:: set 7, a ld [wMuteAudioAndPauseMusic], a xor a ; disable all channels' output - ld [rNR51], a - ld [rNR30], a + ldh [rNR51], a + ldh [rNR30], a ld a, $80 - ld [rNR30], a + ldh [rNR30], a jr .nextChannel .applyAffects call Audio3_ApplyMusicAffects @@ -183,9 +183,9 @@ Audio3_sound_ret: jr nz, .skipSfxChannel3 ; restart hardware channel 3 (wave channel) output ld a, $0 - ld [rNR30], a + ldh [rNR30], a ld a, $80 - ld [rNR30], a + ldh [rNR30], a .skipSfxChannel3 jr nz, .dontDisable ld a, [wDisableChannelOutputWhenSfxEnds] @@ -219,9 +219,9 @@ Audio3_sound_ret: .disableChannelOutput ld hl, Audio3_HWChannelDisableMasks add hl, bc - ld a, [rNR51] + ldh a, [rNR51] and [hl] - ld [rNR51], a + ldh [rNR51], a .afterDisable ld a, [wChannelSoundIDs + Ch5] cp CRY_SFX_START @@ -241,7 +241,7 @@ Audio3_sound_ret: ret c .skipRewind ld a, [wSavedVolume] - ld [rNR50], a + ldh [rNR50], a xor a ld [wSavedVolume], a .skipCry @@ -548,7 +548,7 @@ Audio3_volume: cp $f0 ; is this command a volume? jr nz, Audio3_execute_music ; no call Audio3_GetNextMusicByte - ld [rNR50], a ; store volume + ldh [rNR50], a ; store volume jp Audio3_sound_ret Audio3_execute_music: @@ -638,7 +638,7 @@ Audio3_pitch_sweep: bit BIT_EXECUTE_MUSIC, [hl] jr nz, Audio3_note ; no call Audio3_GetNextMusicByte - ld [rNR10], a + ldh [rNR10], a jp Audio3_sound_ret Audio3_note: @@ -770,9 +770,9 @@ Audio3_note_pitch: ld b, 0 ld hl, Audio3_HWChannelDisableMasks add hl, bc - ld a, [rNR51] + ldh a, [rNR51] and [hl] - ld [rNR51], a ; disable hardware channel 3's output + ldh [rNR51], a ; disable hardware channel 3's output jr .done .notChannel3 ld b, REG_VOLUME_ENVELOPE @@ -844,7 +844,7 @@ Audio3_EnableChannelOutput: ld b, 0 ld hl, Audio3_HWChannelEnableMasks add hl, bc - ld a, [rNR51] + ldh a, [rNR51] or [hl] ; set this channel's bits ld d, a ld a, c @@ -866,7 +866,7 @@ Audio3_EnableChannelOutput: add hl, bc and [hl] ld d, a - ld a, [rNR51] + ldh a, [rNR51] ld hl, Audio3_HWChannelDisableMasks add hl, bc and [hl] ; reset this channel's output bits @@ -874,7 +874,7 @@ Audio3_EnableChannelOutput: ld d, a .skip ld a, d - ld [rNR51], a + ldh [rNR51], a ret Audio3_ApplyDutyCycleAndSoundLength: @@ -928,7 +928,7 @@ Audio3_ApplyWavePatternAndFrequency: ld hl, rWave_0 ld b, $f ld a, $0 ; stop hardware channel 3 - ld [rNR30], a + ldh [rNR30], a .loop ld a, [de] inc de @@ -938,7 +938,7 @@ Audio3_ApplyWavePatternAndFrequency: and a jr nz, .loop ld a, $80 ; start hardware channel 3 - ld [rNR30], a + ldh [rNR30], a pop de .notChannel3 ld a, d @@ -1399,17 +1399,17 @@ Audio3_PlaySound:: ld a, $ff ld [wStereoPanning], a xor a - ld [rNR50], a + ldh [rNR50], a ld a, $8 - ld [rNR10], a + ldh [rNR10], a ld a, 0 - ld [rNR51], a + ldh [rNR51], a xor a - ld [rNR30], a + ldh [rNR30], a ld a, $80 - ld [rNR30], a + ldh [rNR30], a ld a, $77 - ld [rNR50], a + ldh [rNR50], a jp .playSoundCommon .playSfx @@ -1555,7 +1555,7 @@ Audio3_PlaySound:: cp Ch5 jr nz, .skipSweepDisable ld a, $8 - ld [rNR10], a ; sweep off + ldh [rNR10], a ; sweep off .skipSweepDisable ld a, c and a @@ -1565,22 +1565,22 @@ Audio3_PlaySound:: .stopAllAudio ld a, $80 - ld [rNR52], a ; sound hardware on - ld [rNR30], a ; wave playback on + ldh [rNR52], a ; sound hardware on + ldh [rNR30], a ; wave playback on xor a - ld [rNR51], a ; no sound output - ld [rNR32], a ; mute channel 3 (wave channel) + ldh [rNR51], a ; no sound output + ldh [rNR32], a ; mute channel 3 (wave channel) ld a, $8 - ld [rNR10], a ; sweep off - ld [rNR12], a ; mute channel 1 (pulse channel 1) - ld [rNR22], a ; mute channel 2 (pulse channel 2) - ld [rNR42], a ; mute channel 4 (noise channel) + ldh [rNR10], a ; sweep off + ldh [rNR12], a ; mute channel 1 (pulse channel 1) + ldh [rNR22], a ; mute channel 2 (pulse channel 2) + ldh [rNR42], a ; mute channel 4 (noise channel) ld a, $40 - ld [rNR14], a ; counter mode - ld [rNR24], a - ld [rNR44], a + ldh [rNR14], a ; counter mode + ldh [rNR24], a + ldh [rNR44], a ld a, $77 - ld [rNR50], a ; full volume + ldh [rNR50], a ; full volume xor a ld [wUnusedC000], a ld [wDisableChannelOutputWhenSfxEnds], a @@ -1699,10 +1699,10 @@ Audio3_PlaySound:: ld a, [wSavedVolume] and a jr nz, .done - ld a, [rNR50] + ldh a, [rNR50] ld [wSavedVolume], a ld a, $77 - ld [rNR50], a ; full volume + ldh [rNR50], a ; full volume .done ret diff --git a/audio/pokedex_rating_sfx.asm b/audio/pokedex_rating_sfx.asm index 1b5dc4f0..4a5647cb 100644 --- a/audio/pokedex_rating_sfx.asm +++ b/audio/pokedex_rating_sfx.asm @@ -1,5 +1,5 @@ PlayPokedexRatingSfx:: - ld a, [hDexRatingNumMonsOwned] + ldh a, [hDexRatingNumMonsOwned] ld c, $0 ld hl, OwnedMonValues .getSfxPointer diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index 78301b2e..c9f53961 100755 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -163,7 +163,7 @@ DrawFrameBlock: PlayAnimation: xor a - ld [hROMBankTemp], a ; it looks like nothing reads this + ldh [hROMBankTemp], a ; it looks like nothing reads this ld [wSubAnimTransform], a ld a, [wAnimationID] ; get animation number dec a @@ -241,15 +241,15 @@ PlayAnimation: ld l, c ld h, b push hl - ld a, [rOBP0] + ldh a, [rOBP0] push af ld a, [wAnimPalette] - ld [rOBP0], a + ldh [rOBP0], a call LoadAnimationTileset call LoadSubanimation call PlaySubanimation pop af - ld [rOBP0], a + ldh [rOBP0], a .nextAnimationCommand pop hl jr .animationLoop @@ -308,7 +308,7 @@ LoadSubanimation: ; sets the transform to the subanimation type if it's the enemy's turn GetSubanimationTransform1: ld b, a - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a ld a, b ret nz @@ -319,7 +319,7 @@ GetSubanimationTransform1: ; sets the transform to 2 (i.e. horizontal and vertical flip) if it's the player's turn ; sets the transform to 0 (i.e. no transform) if it's the enemy's turn GetSubanimationTransform2: - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a ld a, 2 << 5 ret z @@ -421,7 +421,7 @@ MoveAnimation: ShareMoveAnimations: ; some moves just reuse animations from status conditions - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a ret z @@ -497,18 +497,18 @@ AnimationShakeScreenHorizontallySlow: push bc push bc .loop1 - ld a, [rWX] + ldh a, [rWX] inc a - ld [rWX], a + ldh [rWX], a ld c, 2 call DelayFrames dec b jr nz, .loop1 pop bc .loop2 - ld a, [rWX] + ldh a, [rWX] dec a - ld [rWX], a + ldh [rWX], a ld c, 2 call DelayFrames dec b @@ -534,16 +534,16 @@ SetAnimationPalette: ld b, $f0 .next ld a, b - ld [rOBP0], a + ldh [rOBP0], a ld a, $6c - ld [rOBP1], a + ldh [rOBP1], a ret .notSGB ld a, $e4 ld [wAnimPalette], a - ld [rOBP0], a + ldh [rOBP0], a ld a, $6c - ld [rOBP1], a + ldh [rOBP1], a ret PlaySubanimation: @@ -656,9 +656,9 @@ DoBallTossSpecialEffects: cp 3 ; is it a Master Ball or Ultra Ball? jr nc, .skipFlashingEffect .flashingEffect ; do a flashing effect if it's Master Ball or Ultra Ball - ld a, [rOBP0] + ldh a, [rOBP0] xor %00111100 ; complement colors 1 and 2 - ld [rOBP0], a + ldh [rOBP0], a .skipFlashingEffect ld a, [wSubAnimCounter] cp 11 ; is it the beginning of the subanimation? @@ -695,7 +695,7 @@ DoBallTossSpecialEffects: dec b jr nz, .loop ld a, %00001000 - ld [rNR10], a ; Channel 1 sweep register + ldh [rNR10], a ; Channel 1 sweep register ret .isTrainerBattle ; if it's a trainer battle, shorten the animation by one frame ld a, [wSubAnimCounter] @@ -882,9 +882,9 @@ TradeJumpPokeball: ld c, 5 call DelayFrames pop bc - ld a, [hSCX] ; background scroll X + ldh a, [hSCX] ; background scroll X sub 8 ; scroll to the left - ld [hSCX], a + ldh [hSCX], a pop de jr .loop @@ -920,16 +920,16 @@ AnimationDelay10: ; calls a function with the turn flipped from player to enemy or vice versa ; input - hl - address of function to call CallWithTurnFlipped: - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] push af xor 1 - ld [hWhoseTurn], a + ldh [hWhoseTurn], a ld de, .returnAddress push de jp hl .returnAddress pop af - ld [hWhoseTurn], a + ldh [hWhoseTurn], a ret ; flashes the screen for an extended period (48 frames) @@ -947,7 +947,7 @@ AnimationFlashScreenLong: ld a, [hli] cp $01 ; is it the end of the palettes? jr z, .endOfPalettes - ld [rBGP], a + ldh [rBGP], a call FlashScreenLongDelay jr .innerLoop .endOfPalettes @@ -1006,18 +1006,18 @@ FlashScreenLongDelay: jp DelayFrames AnimationFlashScreen: - ld a, [rBGP] + ldh a, [rBGP] push af ; save initial palette ld a, %00011011 ; 0, 1, 2, 3 (inverted colors) - ld [rBGP], a + ldh [rBGP], a ld c, 2 call DelayFrames xor a ; white out background - ld [rBGP], a + ldh [rBGP], a ld c, 2 call DelayFrames pop af - ld [rBGP], a ; restore initial palette + ldh [rBGP], a ; restore initial palette ret AnimationDarkScreenPalette: @@ -1062,7 +1062,7 @@ SetAnimationBGPalette: jr z, .next ld a, c .next - ld [rBGP], a + ldh [rBGP], a ret ld b, $5 @@ -1133,7 +1133,7 @@ _AnimationWaterDroplets: AnimationSlideMonUp: ; Slides the mon's sprite upwards. ld c, 7 - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a coord hl, 1, 6 coord de, 1, 5 @@ -1201,7 +1201,7 @@ _AnimationSlideMonUp: jr nz, .slideLoop ; Fill in the bottom row of the mon pic with the next row's tile IDs. - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a coord hl, 1, 11 jr z, .next @@ -1370,7 +1370,7 @@ AnimationShowEnemyMonPic: AnimationShakeBackAndForth: ; Shakes the mon's sprite back and forth rapidly. This is used in Double Team. ; The mon's sprite disappears after this animation. - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a coord hl, 0, 5 coord de, 2, 5 @@ -1418,7 +1418,7 @@ AnimationMoveMonHorizontally: ; Shifts the mon's sprite horizontally to a fixed location. Used by lots of ; animations like Tackle/Body Slam. call AnimationHideMonPic - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a coord hl, 2, 5 jr z, .next @@ -1434,7 +1434,7 @@ AnimationMoveMonHorizontally: AnimationResetMonPosition: ; Resets the mon's sprites to be located at the normal coordinates. - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a ld a, 5 * SCREEN_WIDTH + 2 jr z, .next @@ -1446,7 +1446,7 @@ AnimationResetMonPosition: AnimationSpiralBallsInward: ; Creates an effect that looks like energy balls spiralling into the ; player mon's sprite. Used in Focus Energy, for example. - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .playerTurn ld a, -40 @@ -1530,7 +1530,7 @@ AnimationSquishMonPic: ld c, 4 .loop push bc - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .playerTurn coord hl, 16, 0 @@ -1583,7 +1583,7 @@ _AnimationSquishMonPic: AnimationShootBallsUpward: ; Shoots one pillar of "energy" balls upwards. Used in Teleport/Sky Attack ; animations. - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .playerTurn lb bc, 0, 16 * 8 @@ -1651,7 +1651,7 @@ _AnimationShootBallsUpward: AnimationShootManyBallsUpward: ; Shoots several pillars of "energy" balls upward. - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a ld hl, UpwardBallsAnimXCoordinatesPlayerTurn ld a, $50 ; y coordinate for "energy" ball pillar @@ -1743,7 +1743,7 @@ AnimationSlideMonDownAndHide: _AnimationSlideMonOff: ; Slides the mon's sprite off the screen horizontally by e tiles and waits ; [wSlideMonDelay] V-blanks each time the pic is slid by one tile. - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .playerTurn coord hl, 12, 0 @@ -1758,7 +1758,7 @@ _AnimationSlideMonOff: .rowLoop ; iterates once for each row ld c, 8 .tileLoop ; iterates once for each tile in the row - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .playerTurn2 call .EnemyNextTile @@ -1821,7 +1821,7 @@ AnimationSlideMonHalfOff: jp Delay3 CopyTempPicToMonPic: - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a ld hl, vBackPic ; player turn jr z, .next @@ -1837,9 +1837,9 @@ AnimationWavyScreen: call BattleAnimCopyTileMapToVRAM call Delay3 xor a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a ld a, SCREEN_HEIGHT_PX - ld [hWY], a + ldh [hWY], a ld d, $80 ; terminator ld e, SCREEN_HEIGHT_PX - 1 ld c, $ff @@ -1848,7 +1848,7 @@ AnimationWavyScreen: push hl .innerLoop call WavyScreen_SetSCX - ld a, [rLY] + ldh a, [rLY] cp e ; is it the last visible line in the frame? jr nz, .innerLoop ; keep going if not pop hl @@ -1861,11 +1861,11 @@ AnimationWavyScreen: dec c jr nz, .loop xor a - ld [hWY], a + ldh [hWY], a call SaveScreenTilesToBuffer2 call ClearScreen ld a, 1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a call Delay3 call LoadScreenTilesFromBuffer2 ld hl, vBGMap1 @@ -1873,11 +1873,11 @@ AnimationWavyScreen: ret WavyScreen_SetSCX: - ld a, [rSTAT] + ldh a, [rSTAT] and $3 ; is it H-blank? jr nz, WavyScreen_SetSCX ; wait until it's H-blank ld a, [hl] - ld [rSCX], a + ldh [rSCX], a inc hl ld a, [hl] cp d ; have we reached the end? @@ -1898,7 +1898,7 @@ AnimationSubstitute: xor a ld bc, $310 call FillMemory - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .playerTurn ld hl, SlowbroSprite ; facing down sprite @@ -1937,7 +1937,7 @@ CopySlowbroSpriteData: jp FarCopyData2 HideSubstituteShowMonAnim: - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a ld hl, wPlayerMonMinimized ld a, [wPlayerBattleStatus2] @@ -1987,7 +1987,7 @@ AnimationTransformMon: ld [wChangeMonPicEnemyTurnSpecies], a ChangeMonPic: - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .playerTurn ld a, [wChangeMonPicEnemyTurnSpecies] @@ -2020,11 +2020,11 @@ ChangeMonPic: AnimationHideEnemyMonPic: ; Hides the enemy mon's sprite xor a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a ld hl, AnimationHideMonPic call CallWithTurnFlipped ld a, $1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a jp Delay3 InitMultipleObjectsOAM: @@ -2050,7 +2050,7 @@ InitMultipleObjectsOAM: AnimationHideMonPic: ; Hides the mon's sprite. - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .playerTurn ld a, 12 @@ -2078,7 +2078,7 @@ ClearMonPicFromTileMap: ; in order to show only a portion of the mon sprite. GetMonSpriteTileMapPointerFromRowCount: push de - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr nz, .enemyTurn ld a, 20 * 5 + 1 @@ -2166,7 +2166,7 @@ GetMoveSound: ld b, a call IsCryMove jr nc, .NotCryMove - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr nz, .next ld a, [wBattleMonSpecies] ; get number of current monster @@ -2211,14 +2211,14 @@ IsCryMove: INCLUDE "data/moves/sfx.asm" CopyPicTiles: - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a ld a, $31 ; base tile ID of player mon sprite jr z, .next ; enemy turn xor a ; base tile ID of enemy mon sprite .next - ld [hBaseTileID], a + ldh [hBaseTileID], a jr CopyTileIDs_NoBGTransfer ; copy the tiles used when a mon is being sent out of or into a pokeball @@ -2235,7 +2235,7 @@ CopyDownscaledMonTiles: CopyTileIDs_NoBGTransfer: xor a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a ; fall through ; b = number of rows @@ -2245,7 +2245,7 @@ CopyTileIDs: .rowLoop push bc push hl - ld a, [hBaseTileID] + ldh a, [hBaseTileID] ld b, a .columnLoop ld a, [de] @@ -2261,7 +2261,7 @@ CopyTileIDs: dec b jr nz, .rowLoop ld a, $1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a pop hl ret @@ -2361,16 +2361,16 @@ Unknown_79c50: AnimationLeavesFalling: ; Makes leaves float down from the top of the screen. This is used ; in Razor Leaf's animation. - ld a, [rOBP0] + ldh a, [rOBP0] push af ld a, [wAnimPalette] - ld [rOBP0], a + ldh [rOBP0], a ld d, $37 ; leaf tile ld a, 3 ; number of leaves ld [wNumFallingObjects], a call AnimationFallingObjects pop af - ld [rOBP0], a + ldh [rOBP0], a ret AnimationPetalsFalling: @@ -2529,7 +2529,7 @@ AnimationShakeEnemyHUD: call CopyVideoData xor a - ld [hSCX], a + ldh [hSCX], a ; Copy wTileMap to BG map 0. The regular BG (not the window) is set to use ; map 0 and can be scrolled with SCX, which allows a shaking effect. @@ -2539,7 +2539,7 @@ AnimationShakeEnemyHUD: ; Now that the regular BG is showing the same thing the window was, move the ; window off the screen so that we can modify its contents below. ld a, SCREEN_HEIGHT_PX - ld [hWY], a + ldh [hWY], a ; Copy wTileMap to VRAM such that the row below the enemy HUD (in wTileMap) is ; lined up with row 0 of the window. @@ -2551,7 +2551,7 @@ AnimationShakeEnemyHUD: ; covers everything below the enemy HD with a copy that looks just like what ; was there before. ld a, 7 * 8 - ld [hWY], a + ldh [hWY], a ; Write OAM entries so that the copy of the back pic from the top of this ; function shows up on screen. We need this because the back pic's Y coordinates @@ -2576,11 +2576,11 @@ AnimationShakeEnemyHUD: call AnimationShowMonPic call ClearSprites ld a, SCREEN_HEIGHT_PX - ld [hWY], a + ldh [hWY], a ld hl, vBGMap1 call BattleAnimCopyTileMapToVRAM xor a - ld [hWY], a + ldh [hWY], a call SaveScreenTilesToBuffer1 ld hl, vBGMap0 call BattleAnimCopyTileMapToVRAM @@ -2595,7 +2595,7 @@ AnimationShakeEnemyHUD: CopyTileIDsFromList: call GetPredefRegisters ld a, c - ld [hBaseTileID], a + ldh [hBaseTileID], a ld a, b push hl call GetTileIDList @@ -2603,30 +2603,30 @@ CopyTileIDsFromList: jp CopyTileIDs ShakeEnemyHUD_ShakeBG: - ld a, [hSCX] + ldh a, [hSCX] ld [wTempSCX], a .loop ld a, [wTempSCX] add d - ld [hSCX], a + ldh [hSCX], a ld c, 2 call DelayFrames ld a, [wTempSCX] sub d - ld [hSCX], a + ldh [hSCX], a ld c, 2 call DelayFrames dec e jr nz, .loop ld a, [wTempSCX] - ld [hSCX], a + ldh [hSCX], a ret BattleAnimCopyTileMapToVRAM: ld a, h - ld [hAutoBGTransferDest + 1], a + ldh [hAutoBGTransferDest + 1], a ld a, l - ld [hAutoBGTransferDest], a + ldh [hAutoBGTransferDest], a jp Delay3 TossBallAnimation: diff --git a/engine/battle/battle_transitions.asm b/engine/battle/battle_transitions.asm index 548e85fb..8a22e70f 100644 --- a/engine/battle/battle_transitions.asm +++ b/engine/battle/battle_transitions.asm @@ -1,9 +1,9 @@ BattleTransition: ld a, 1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a call Delay3 xor a - ld [hWY], a + ldh [hWY], a dec a ld [wUpdateSpritesEnabled], a call DelayFrame @@ -11,7 +11,7 @@ BattleTransition: ; Determine which OAM block is being used by the enemy trainer sprite (if there ; is one). ld hl, wSpritePlayerStateData1ImageIndex - ld a, [hSpriteIndexOrTextID] ; enemy trainer sprite index (0 if wild battle) + ldh a, [hSpriteIndexOrTextID] ; enemy trainer sprite index (0 if wild battle) ld c, a ld b, 0 ld de, $10 @@ -165,9 +165,9 @@ BattleTransitionTileEnd: BattleTransition_BlackScreen: ld a, $ff - ld [rBGP], a - ld [rOBP0], a - ld [rOBP1], a + ldh [rBGP], a + ldh [rOBP0], a + ldh [rOBP1], a ret ; for non-dungeon trainer battles @@ -330,7 +330,7 @@ BattleTransition_FlashScreen_: ld a, [hli] cp $1 jr z, .done - ld [rBGP], a + ldh [rBGP], a ld c, 2 call DelayFrames jr .loop @@ -349,7 +349,7 @@ BattleTransition_Shrink: .loop push bc xor a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a coord hl, 0, 7 coord de, 0, 8 ld bc, -SCREEN_WIDTH * 2 @@ -367,7 +367,7 @@ BattleTransition_Shrink: ld bc, 2 call BattleTransition_CopyTiles2 ld a, $1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a ld c, 6 call DelayFrames pop bc @@ -381,7 +381,7 @@ BattleTransition_Shrink: BattleTransition_Split: ld c, SCREEN_HEIGHT / 2 xor a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a .loop push bc coord hl, 0, 16 @@ -496,7 +496,7 @@ BattleTransition_VerticalStripes: coord hl, 0, 0 coord de, 1, 17 xor a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a .loop push bc push hl @@ -535,7 +535,7 @@ BattleTransition_HorizontalStripes: coord hl, 0, 0 coord de, 19, 1 xor a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a .loop push bc push hl @@ -582,7 +582,7 @@ BattleTransition_FlashScreen: ld b, $3 call BattleTransition_FlashScreen_ xor a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a ret BattleTransition_Circle_Sub1: @@ -601,10 +601,10 @@ BattleTransition_Circle_Sub1: BattleTransition_TransferDelay3: ld a, 1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a call Delay3 xor a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a ret ; used for low level wild non-dungeon battles diff --git a/engine/battle/common_text.asm b/engine/battle/common_text.asm index 1cb455f3..b65bb84b 100644 --- a/engine/battle/common_text.asm +++ b/engine/battle/common_text.asm @@ -101,16 +101,16 @@ PrintSendOutMonMessage: ld hl, GoText jr z, .printText xor a - ld [hMultiplicand], a + ldh [hMultiplicand], a ld hl, wEnemyMonHP ld a, [hli] ld [wLastSwitchInEnemyMonHP], a - ld [hMultiplicand + 1], a + ldh [hMultiplicand + 1], a ld a, [hl] ld [wLastSwitchInEnemyMonHP + 1], a - ld [hMultiplicand + 2], a + ldh [hMultiplicand + 2], a ld a, 25 - ld [hMultiplier], a + ldh [hMultiplier], a call Multiply ld hl, wEnemyMonMaxHP ld a, [hli] @@ -121,9 +121,9 @@ PrintSendOutMonMessage: rr b ld a, b ld b, 4 - ld [hDivisor], a ; enemy mon max HP divided by 4 + ldh [hDivisor], a ; enemy mon max HP divided by 4 call Divide - ld a, [hQuotient + 3] ; a = (enemy mon current HP * 25) / (enemy max HP / 4); this approximates the current percentage of max HP + ldh a, [hQuotient + 3] ; a = (enemy mon current HP * 25) / (enemy max HP / 4); this approximates the current percentage of max HP ld hl, GoText ; 70% or greater cp 70 jr nc, .printText @@ -179,14 +179,14 @@ PlayerMon2Text: dec hl ld a, [de] sub b - ld [hMultiplicand + 2], a + ldh [hMultiplicand + 2], a dec de ld b, [hl] ld a, [de] sbc b - ld [hMultiplicand + 1], a + ldh [hMultiplicand + 1], a ld a, 25 - ld [hMultiplier], a + ldh [hMultiplier], a call Multiply ld hl, wEnemyMonMaxHP ld a, [hli] @@ -197,11 +197,11 @@ PlayerMon2Text: rr b ld a, b ld b, 4 - ld [hDivisor], a + ldh [hDivisor], a call Divide pop bc pop de - ld a, [hQuotient + 3] ; a = ((LastSwitchInEnemyMonHP - CurrentEnemyMonHP) / 25) / (EnemyMonMaxHP / 4) + ldh a, [hQuotient + 3] ; a = ((LastSwitchInEnemyMonHP - CurrentEnemyMonHP) / 25) / (EnemyMonMaxHP / 4) ; Assuming that the enemy mon hasn't gained HP since the last switch in, ; a approximates the percentage that the enemy mon's total HP has decreased ; since the last switch in. diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 935764aa..24ae8dfc 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -48,25 +48,25 @@ SlidePlayerAndEnemySilhouettesOnScreen: jr nz, .copyRowLoop call EnableLCD ld a, $90 - ld [hWY], a - ld [rWY], a + ldh [hWY], a + ldh [rWY], a xor a - ld [hTilesetType], a - ld [hSCY], a + ldh [hTilesetType], a + ldh [hSCY], a dec a ld [wUpdateSpritesEnabled], a call Delay3 xor a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a ld b, $70 ld c, $90 ld a, c - ld [hSCX], a + ldh [hSCX], a call DelayFrame ld a, %11100100 ; inverted palette for silhouette effect - ld [rBGP], a - ld [rOBP0], a - ld [rOBP1], a + ldh [rBGP], a + ldh [rOBP0], a + ldh [rOBP1], a .slideSilhouettesLoop ; slide silhouettes of the player's pic and the enemy's pic onto the screen ld h, b ld l, $40 @@ -78,21 +78,21 @@ SlidePlayerAndEnemySilhouettesOnScreen: call SetScrollXForSlidingPlayerBodyLeft ; end background scrolling on line $60 call SlidePlayerHeadLeft ld a, c - ld [hSCX], a + ldh [hSCX], a dec c dec c jr nz, .slideSilhouettesLoop ld a, $1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a ld a, $31 - ld [hStartTileID], a + ldh [hStartTileID], a coord hl, 1, 5 predef CopyUncompressedPicToTilemap xor a - ld [hWY], a - ld [rWY], a + ldh [hWY], a + ldh [rWY], a inc a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a call Delay3 ld b, SET_PAL_BATTLE call RunPaletteCommand @@ -118,13 +118,13 @@ SlidePlayerHeadLeft: ret SetScrollXForSlidingPlayerBodyLeft: - ld a, [rLY] + ldh a, [rLY] cp l jr nz, SetScrollXForSlidingPlayerBodyLeft ld a, h - ld [rSCX], a + ldh [rSCX], a .loop - ld a, [rLY] + ldh a, [rLY] cp h jr z, .loop ret @@ -266,7 +266,7 @@ EnemyRan: ld a, SFX_RUN call PlaySoundWaitForCurrent xor a - ld [hWhoseTurn], a + ldh [hWhoseTurn], a jpab AnimationSlideEnemyMonOff WildRanText: @@ -398,7 +398,7 @@ MainInBattleLoop: jr nc, .playerMovesFirst ; if player is faster jr .enemyMovesFirst ; if enemy is faster .speedEqual ; 50/50 chance for both players - ld a, [hSerialConnectionStatus] + ldh a, [hSerialConnectionStatus] cp USING_INTERNAL_CLOCK jr z, .invertOutcome call BattleRandom @@ -412,7 +412,7 @@ MainInBattleLoop: jr .playerMovesFirst .enemyMovesFirst ld a, $1 - ld [hWhoseTurn], a + ldh [hWhoseTurn], a callab TrainerAI jr c, .AIActionUsedEnemyFirst call ExecuteEnemyMove @@ -450,7 +450,7 @@ MainInBattleLoop: jp z, HandlePlayerMonFainted call DrawHUDsAndHPBars ld a, $1 - ld [hWhoseTurn], a + ldh [hWhoseTurn], a callab TrainerAI jr c, .AIActionUsedPlayerFirst call ExecuteEnemyMove @@ -470,7 +470,7 @@ MainInBattleLoop: HandlePoisonBurnLeechSeed: ld hl, wBattleMonHP ld de, wBattleMonStatus - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .playersTurn ld hl, wEnemyMonHP @@ -495,7 +495,7 @@ HandlePoisonBurnLeechSeed: call HandlePoisonBurnLeechSeed_DecreaseOwnHP .notBurnedOrPoisoned ld de, wPlayerBattleStatus2 - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .playersTurn2 ld de, wEnemyBattleStatus2 @@ -504,16 +504,16 @@ HandlePoisonBurnLeechSeed: add a jr nc, .notLeechSeeded push hl - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] push af xor $1 - ld [hWhoseTurn], a + ldh [hWhoseTurn], a xor a ld [wAnimationType], a ld a, ABSORB call PlayMoveAnimation ; play leech seed animation (from opposing mon) pop af - ld [hWhoseTurn], a + ldh [hWhoseTurn], a pop hl call HandlePoisonBurnLeechSeed_DecreaseOwnHP call HandlePoisonBurnLeechSeed_IncreaseEnemyHP @@ -571,7 +571,7 @@ HandlePoisonBurnLeechSeed_DecreaseOwnHP: .nonZeroDamage ld hl, wPlayerBattleStatus3 ld de, wPlayerToxicCounter - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .playersTurn ld hl, wEnemyBattleStatus3 @@ -618,7 +618,7 @@ HandlePoisonBurnLeechSeed_DecreaseOwnHP: HandlePoisonBurnLeechSeed_IncreaseEnemyHP: push hl ld hl, wEnemyMonMaxHP - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .playersTurn ld hl, wBattleMonMaxHP @@ -655,19 +655,19 @@ HandlePoisonBurnLeechSeed_IncreaseEnemyHP: ld [hl], a ld [wHPBarNewHP], a .noOverfullHeal - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] xor $1 - ld [hWhoseTurn], a + ldh [hWhoseTurn], a call UpdateCurMonHPBar - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] xor $1 - ld [hWhoseTurn], a + ldh [hWhoseTurn], a pop hl ret UpdateCurMonHPBar: coord hl, 10, 9 ; tile pointer to player HP bar - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a ld a, $1 jr z, .playersTurn @@ -1232,7 +1232,7 @@ SevenSpacesText: ; if a is 8, the slide is to the right, else it is to the left ; bug: when this is called, [hAutoBGTransferEnabled] is non-zero, so there is screen tearing SlideTrainerPicOffScreen: - ld [hSlideAmount], a + ldh [hSlideAmount], a ld c, a .slideStepLoop ; each iteration, the trainer pic is slid one tile left/right push bc @@ -1240,10 +1240,10 @@ SlideTrainerPicOffScreen: ld b, 7 ; number of rows .rowLoop push hl - ld a, [hSlideAmount] + ldh a, [hSlideAmount] ld c, a .columnLoop - ld a, [hSlideAmount] + ldh a, [hSlideAmount] cp 8 jr z, .slideRight .slideLeft ; slide player sprite off screen @@ -1426,7 +1426,7 @@ EnemySendOutFirstMon: ld de, vFrontPic call LoadMonFrontSprite ld a, -$31 - ld [hStartTileID], a + ldh [hStartTileID], a coord hl, 15, 6 predef AnimateSendingOutMon ld a, [wEnemyMonSpecies2] @@ -1508,14 +1508,14 @@ TryRunningFromBattle: inc a ld [wNumRunAttempts], a ld a, [hli] - ld [hMultiplicand + 1], a + ldh [hMultiplicand + 1], a ld a, [hl] - ld [hMultiplicand + 2], a + ldh [hMultiplicand + 2], a ld a, [de] - ld [hEnemySpeed], a + ldh [hEnemySpeed], a inc de ld a, [de] - ld [hEnemySpeed + 1], a + ldh [hEnemySpeed + 1], a call LoadScreenTilesFromBuffer1 ld de, hMultiplicand + 1 ld hl, hEnemySpeed @@ -1523,17 +1523,17 @@ TryRunningFromBattle: call StringCmp jr nc, .canEscape ; jump if player speed greater than enemy speed xor a - ld [hMultiplicand], a + ldh [hMultiplicand], a ld a, 32 - ld [hMultiplier], a + ldh [hMultiplier], a call Multiply ; multiply player speed by 32 - ld a, [hProduct + 2] - ld [hDividend], a - ld a, [hProduct + 3] - ld [hDividend + 1], a - ld a, [hEnemySpeed] + ldh a, [hProduct + 2] + ldh [hDividend], a + ldh a, [hProduct + 3] + ldh [hDividend + 1], a + ldh a, [hEnemySpeed] ld b, a - ld a, [hEnemySpeed + 1] + ldh a, [hEnemySpeed + 1] ; divide enemy speed by 4 srl b rr a @@ -1541,10 +1541,10 @@ TryRunningFromBattle: rr a and a jr z, .canEscape ; jump if enemy speed divided by 4, mod 256 is 0 - ld [hDivisor], a ; ((enemy speed / 4) % 256) + ldh [hDivisor], a ; ((enemy speed / 4) % 256) ld b, $2 call Divide ; divide (player speed * 32) by ((enemy speed / 4) % 256) - ld a, [hQuotient + 2] + ldh a, [hQuotient + 2] and a ; is the quotient greater than 256? jr nz, .canEscape ; if so, the player can escape ld a, [wNumRunAttempts] @@ -1554,15 +1554,15 @@ TryRunningFromBattle: dec c jr z, .compareWithRandomValue ld b, 30 - ld a, [hQuotient + 3] + ldh a, [hQuotient + 3] add b - ld [hQuotient + 3], a + ldh [hQuotient + 3], a jr c, .canEscape jr .loop .compareWithRandomValue call BattleRandom ld b, a - ld a, [hQuotient + 3] + ldh a, [hQuotient + 3] cp b jr nc, .canEscape ; if the random value was less than or equal to the quotient ; plus 30 times the number of attempts, the player can escape @@ -1730,7 +1730,7 @@ SendOutMon: call DrawPlayerHUDAndHPBar predef LoadMonBackPic xor a - ld [hStartTileID], a + ldh [hStartTileID], a ld hl, wBattleAndStartSavedMenuItem ld [hli], a ld [hl], a @@ -1754,7 +1754,7 @@ SendOutMon: ld hl, wEnemyBattleStatus1 res USING_TRAPPING_MOVE, [hl] ld a, $1 - ld [hWhoseTurn], a + ldh [hWhoseTurn], a ld a, POOF_ANIM call PlayMoveAnimation coord hl, 4, 11 @@ -1773,7 +1773,7 @@ AnimateRetreatingPlayerMon: lb bc, 5, 5 xor a ld [wDownscaledMonSize], a - ld [hBaseTileID], a + ldh [hBaseTileID], a predef CopyDownscaledMonTiles ld c, 4 call DelayFrames @@ -1783,7 +1783,7 @@ AnimateRetreatingPlayerMon: ld a, 1 ld [wDownscaledMonSize], a xor a - ld [hBaseTileID], a + ldh [hBaseTileID], a predef CopyDownscaledMonTiles call Delay3 call .clearScreenArea @@ -1812,7 +1812,7 @@ DrawHUDsAndHPBars: DrawPlayerHUDAndHPBar: xor a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a coord hl, 9, 7 lb bc, 5, 11 call ClearScreenArea @@ -1845,7 +1845,7 @@ DrawPlayerHUDAndHPBar: coord hl, 10, 9 predef DrawHP ld a, $1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a ld hl, wPlayerHPBarColor call GetBattleHealthBarColor ld hl, wBattleMonHP @@ -1873,7 +1873,7 @@ DrawPlayerHUDAndHPBar: DrawEnemyHUDAndHPBar: xor a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a coord hl, 0, 0 lb bc, 4, 12 call ClearScreenArea @@ -1895,9 +1895,9 @@ DrawEnemyHUDAndHPBar: .skipPrintLevel ld hl, wEnemyMonHP ld a, [hli] - ld [hMultiplicand + 1], a + ldh [hMultiplicand + 1], a ld a, [hld] - ld [hMultiplicand + 2], a + ldh [hMultiplicand + 2], a or [hl] ; is current HP zero? jr nz, .hpNonzero ; current HP is 0 @@ -1908,45 +1908,45 @@ DrawEnemyHUDAndHPBar: jp .drawHPBar .hpNonzero xor a - ld [hMultiplicand], a + ldh [hMultiplicand], a ld a, 48 - ld [hMultiplier], a + ldh [hMultiplier], a call Multiply ; multiply current HP by 48 ld hl, wEnemyMonMaxHP ld a, [hli] ld b, a ld a, [hl] - ld [hDivisor], a + ldh [hDivisor], a ld a, b and a ; is max HP > 255? jr z, .doDivide ; if max HP > 255, scale both (current HP * 48) and max HP by dividing by 4 so that max HP fits in one byte ; (it needs to be one byte so it can be used as the divisor for the Divide function) - ld a, [hDivisor] + ldh a, [hDivisor] srl b rr a srl b rr a - ld [hDivisor], a - ld a, [hProduct + 2] + ldh [hDivisor], a + ldh a, [hProduct + 2] ld b, a srl b - ld a, [hProduct + 3] + ldh a, [hProduct + 3] rr a srl b rr a - ld [hProduct + 3], a + ldh [hProduct + 3], a ld a, b - ld [hProduct + 2], a + ldh [hProduct + 2], a .doDivide - ld a, [hProduct + 2] - ld [hDividend], a - ld a, [hProduct + 3] - ld [hDividend + 1], a + ldh a, [hProduct + 2] + ldh [hDividend], a + ldh a, [hProduct + 3] + ldh [hDividend + 1], a ld a, $2 ld b, a call Divide ; divide (current HP * 48) by max HP - ld a, [hQuotient + 3] + ldh a, [hQuotient + 3] ; set variables for DrawHPBar ld e, a ld a, $6 @@ -1958,7 +1958,7 @@ DrawEnemyHUDAndHPBar: coord hl, 2, 2 call DrawHPBar ld a, $1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a ld hl, wEnemyHPBarColor GetBattleHealthBarColor: @@ -2469,13 +2469,13 @@ MoveSelectionMenu: .writemoves ld de, wMovesString - ld a, [hFlagsFFF6] + ldh a, [hFlagsFFF6] set 2, a - ld [hFlagsFFF6], a + ldh [hFlagsFFF6], a call PlaceString - ld a, [hFlagsFFF6] + ldh a, [hFlagsFFF6] res 2, a - ld [hFlagsFFF6], a + ldh [hFlagsFFF6], a ret .regularmenu @@ -2825,7 +2825,7 @@ SwapMovesInMenu: PrintMenuItem: xor a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a coord hl, 0, 8 ld b, 3 ld c, 9 @@ -2847,7 +2847,7 @@ PrintMenuItem: ld hl, wCurrentMenuItem dec [hl] xor a - ld [hWhoseTurn], a + ldh [hWhoseTurn], a ld hl, wBattleMonMoves ld a, [wCurrentMenuItem] ld c, a @@ -2891,7 +2891,7 @@ PrintMenuItem: predef PrintMoveType .moveDisabled ld a, $1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a jp Delay3 DisabledText: @@ -3043,7 +3043,7 @@ LinkBattleExchangeData: ExecutePlayerMove: xor a - ld [hWhoseTurn], a ; set player's turn + ldh [hWhoseTurn], a ; set player's turn ld a, [wPlayerSelectedMove] inc a jp z, ExecutePlayerMoveDone ; for selected move = FF, skip most of player's turn @@ -3252,7 +3252,7 @@ PrintGhostText: ; print the ghost battle messages call IsGhostBattle ret nz - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr nz, .Ghost ld a, [wBattleMonStatus] ; player’s turn @@ -3619,7 +3619,7 @@ CantMoveText: PrintMoveIsDisabledText: ld hl, wPlayerSelectedMove ld de, wPlayerBattleStatus1 - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .removeChargingUp inc hl @@ -3675,11 +3675,11 @@ HandleSelfConfusionDamage: xor a ld [wAnimationType], a inc a - ld [hWhoseTurn], a + ldh [hWhoseTurn], a call PlayMoveAnimation call DrawPlayerHUDAndHPBar xor a - ld [hWhoseTurn], a + ldh [hWhoseTurn], a jp ApplyDamageToPlayerPokemon PrintMonName1Text: @@ -3694,7 +3694,7 @@ PrintMonName1Text: MonName1Text: text_far _MonName1Text text_asm - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a ld a, [wPlayerMoveNum] ld hl, wPlayerUsedMove @@ -3818,7 +3818,7 @@ INCLUDE "data/moves/grammar.asm" PrintMoveFailureText: ld de, wPlayerMoveEffect - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .playersTurn ld de, wEnemyMoveEffect @@ -3866,7 +3866,7 @@ PrintMoveFailureText: call PrintText ld b, $4 predef PredefShakeScreenHorizontally - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr nz, .enemyTurn jp ApplyDamageToPlayerPokemon @@ -4160,9 +4160,9 @@ GetDamageVarsForPlayerAttack: ; in the case of a critical hit, reset the player's attack and the enemy's defense to their base values ld c, 3 ; defense stat call GetEnemyMonStat - ld a, [hProduct + 2] + ldh a, [hProduct + 2] ld b, a - ld a, [hProduct + 3] + ldh a, [hProduct + 3] ld c, a push bc ld hl, wPartyMon1Attack @@ -4192,9 +4192,9 @@ GetDamageVarsForPlayerAttack: ; in the case of a critical hit, reset the player's and enemy's specials to their base values ld c, 5 ; special stat call GetEnemyMonStat - ld a, [hProduct + 2] + ldh a, [hProduct + 2] ld b, a - ld a, [hProduct + 3] + ldh a, [hProduct + 3] ld c, a push bc ld hl, wPartyMon1Special @@ -4371,9 +4371,9 @@ GetEnemyMonStat: ld bc, wEnemyMon2 - wEnemyMon1 call AddNTimes ld a, [hli] - ld [hMultiplicand + 1], a + ldh [hMultiplicand + 1], a ld a, [hl] - ld [hMultiplicand + 2], a + ldh [hMultiplicand + 2], a pop bc pop de ret @@ -4404,7 +4404,7 @@ CalculateDamage: ; d: base power ; e: level - ld a, [hWhoseTurn] ; whose turn? + ldh a, [hWhoseTurn] ; whose turn? and a ld a, [wPlayerMoveEffect] jr z, .effect @@ -4489,44 +4489,44 @@ CalculateDamage: ; Capped at MAX_NEUTRAL_DAMAGE - MIN_NEUTRAL_DAMAGE: 999 - 2 = 997. ld hl, wDamage ld b, [hl] - ld a, [hQuotient + 3] + ldh a, [hQuotient + 3] add b - ld [hQuotient + 3], a + ldh [hQuotient + 3], a jr nc, .dont_cap_1 - ld a, [hQuotient + 2] + ldh a, [hQuotient + 2] inc a - ld [hQuotient + 2], a + ldh [hQuotient + 2], a and a jr z, .cap .dont_cap_1 - ld a, [hQuotient] + ldh a, [hQuotient] ld b, a - ld a, [hQuotient + 1] + ldh a, [hQuotient + 1] or a jr nz, .cap - ld a, [hQuotient + 2] + ldh a, [hQuotient + 2] cp (MAX_NEUTRAL_DAMAGE - MIN_NEUTRAL_DAMAGE + 1) / $100 jr c, .dont_cap_2 cp (MAX_NEUTRAL_DAMAGE - MIN_NEUTRAL_DAMAGE + 1) / $100 + 1 jr nc, .cap - ld a, [hQuotient + 3] + ldh a, [hQuotient + 3] cp (MAX_NEUTRAL_DAMAGE - MIN_NEUTRAL_DAMAGE + 1) % $100 jr nc, .cap .dont_cap_2 inc hl - ld a, [hQuotient + 3] + ldh a, [hQuotient + 3] ld b, [hl] add b ld [hld], a - ld a, [hQuotient + 2] + ldh a, [hQuotient + 2] ld b, [hl] adc b ld [hl], a @@ -4579,7 +4579,7 @@ INCLUDE "data/battle/unused_critical_hit_moves.asm" CriticalHitTest: xor a ld [wCriticalHitOrOHKO], a - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a ld a, [wEnemyMonSpecies] jr nz, .handleEnemy @@ -4590,7 +4590,7 @@ CriticalHitTest: ld a, [wMonHBaseSpeed] ld b, a srl b ; (effective (base speed/2)) - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a ld hl, wPlayerMovePower ld de, wPlayerBattleStatus2 @@ -4652,7 +4652,7 @@ HandleCounterMove: ; the outcome may be affected by the player's actions in the move selection menu prior to switching the Pokemon. ; This might also lead to desync glitches in link battles. - ld a, [hWhoseTurn] ; whose turn + ldh a, [hWhoseTurn] ; whose turn and a ; player's turn ld hl, wEnemySelectedMove @@ -4960,7 +4960,7 @@ AttackSubstitute: ; values for player turn ld de, wEnemySubstituteHP ld bc, wEnemyBattleStatus2 - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .applyDamageToSubstitute ; values for enemy turn @@ -4985,14 +4985,14 @@ AttackSubstitute: ld hl, SubstituteBrokeText call PrintText ; flip whose turn it is for the next function call - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] xor $01 - ld [hWhoseTurn], a + ldh [hWhoseTurn], a callab HideSubstituteShowMonAnim ; animate the substitute breaking ; flip the turn back to the way it was - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] xor $01 - ld [hWhoseTurn], a + ldh [hWhoseTurn], a ld hl, wPlayerMoveEffect ; value for player's turn and a jr z, .nullifyEffect @@ -5016,7 +5016,7 @@ HandleBuildingRage: ld hl, wEnemyBattleStatus2 ld de, wEnemyMonStatMods ld bc, wEnemyMoveNum - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .next ; values for the enemy turn @@ -5029,9 +5029,9 @@ HandleBuildingRage: ld a, [de] cp $0d ; maximum stat modifier value ret z ; return if attack modifier is already maxed - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] xor $01 ; flip turn for the stat modifier raising function - ld [hWhoseTurn], a + ldh [hWhoseTurn], a ; temporarily change the target pokemon's move to $00 and the effect to the one ; that causes the attack modifier to go up one stage ld h, b @@ -5048,9 +5048,9 @@ HandleBuildingRage: ldd [hl], a ; null move effect ld a, RAGE ld [hl], a ; restore the target pokemon's move number to Rage - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] xor $01 ; flip turn back to the way it was - ld [hWhoseTurn], a + ldh [hWhoseTurn], a ret BuildingRageText: @@ -5066,7 +5066,7 @@ MirrorMoveCopyMove: ; wPlayerUsedMove is also set to 0 whenever the player is fast asleep or frozen solid. ; wEnemyUsedMove is also set to 0 whenever the enemy is fast asleep or frozen solid. - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a ; values for player turn ld a, [wEnemyUsedMove] @@ -5119,7 +5119,7 @@ MetronomePickMove: ; values for player turn ld de, wPlayerMoveNum ld hl, wPlayerSelectedMove - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .pickMoveLoop ; values for enemy turn @@ -5141,7 +5141,7 @@ MetronomePickMove: ; it's used to prevent moves that run another move within the same turn ; (like Mirror Move and Metronome) from losing 2 PP IncrementMovePP: - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a ; values for player turn ld hl, wBattleMonPP @@ -5160,7 +5160,7 @@ IncrementMovePP: ld h, d ld l, e add hl, bc - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a ld a, [wPlayerMonNumber] ; value for player turn jr z, .updatePP @@ -5184,7 +5184,7 @@ AdjustDamageForMoveType: ld e, [hl] ; e = type 2 of defender ld a, [wPlayerMoveType] ld [wMoveType], a - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .next ; values for enemy turn @@ -5248,25 +5248,25 @@ AdjustDamageForMoveType: and $80 ld b, a ld a, [hl] ; a = damage multiplier - ld [hMultiplier], a + ldh [hMultiplier], a add b ld [wDamageMultipliers], a xor a - ld [hMultiplicand], a + ldh [hMultiplicand], a ld hl, wDamage ld a, [hli] - ld [hMultiplicand + 1], a + ldh [hMultiplicand + 1], a ld a, [hld] - ld [hMultiplicand + 2], a + ldh [hMultiplicand + 2], a call Multiply ld a, 10 - ld [hDivisor], a + ldh [hDivisor], a ld b, $04 call Divide - ld a, [hQuotient + 2] + ldh a, [hQuotient + 2] ld [hli], a ld b, a - ld a, [hQuotient + 3] + ldh a, [hQuotient + 3] ld [hl], a or b ; is damage 0? jr nz, .skipTypeImmunity @@ -5331,7 +5331,7 @@ MoveHitTest: ld hl, wEnemyBattleStatus1 ld de, wPlayerMoveEffect ld bc, wEnemyMonStatus - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .dreamEaterCheck ; enemy's turn @@ -5360,7 +5360,7 @@ MoveHitTest: .checkForDigOrFlyStatus bit INVULNERABLE, [hl] jp nz, .moveMissed - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr nz, .enemyTurn .playerTurn @@ -5414,7 +5414,7 @@ MoveHitTest: call CalcHitChance ; scale the move accuracy according to attacker's accuracy and target's evasion ld a, [wPlayerMoveAccuracy] ld b, a - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .doAccuracyCheck ld a, [wEnemyMoveAccuracy] @@ -5433,7 +5433,7 @@ MoveHitTest: ld [hl], a inc a ld [wMoveMissed], a - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .playerTurn2 .enemyTurn2 @@ -5448,7 +5448,7 @@ MoveHitTest: ; values for player turn CalcHitChance: ld hl, wPlayerMoveAccuracy - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a ld a, [wPlayerMonAccuracyMod] ld b, a @@ -5468,10 +5468,10 @@ CalcHitChance: ; decreases the hit chance instead of increasing the hit chance) ; zero the high bytes of the multiplicand xor a - ld [hMultiplicand], a - ld [hMultiplicand + 1], a + ldh [hMultiplicand], a + ldh [hMultiplicand + 1], a ld a, [hl] - ld [hMultiplicand + 2], a ; set multiplicand to move accuracy + ldh [hMultiplicand + 2], a ; set multiplicand to move accuracy push hl ld d, $02 ; loop has two iterations ; loop to do the calculations, the first iteration multiplies by the accuracy ratio and @@ -5486,29 +5486,29 @@ CalcHitChance: add hl, bc ; hl = address of stat modifier ratio pop bc ld a, [hli] - ld [hMultiplier], a ; set multiplier to the numerator of the ratio + ldh [hMultiplier], a ; set multiplier to the numerator of the ratio call Multiply ld a, [hl] - ld [hDivisor], a ; set divisor to the the denominator of the ratio + ldh [hDivisor], a ; set divisor to the the denominator of the ratio ; (the dividend is the product of the previous multiplication) ld b, $04 ; number of bytes in the dividend call Divide - ld a, [hQuotient + 3] + ldh a, [hQuotient + 3] ld b, a - ld a, [hQuotient + 2] + ldh a, [hQuotient + 2] or b jp nz, .nextCalculation ; make sure the result is always at least one - ld [hQuotient + 2], a + ldh [hQuotient + 2], a ld a, $01 - ld [hQuotient + 3], a + ldh [hQuotient + 3], a .nextCalculation ld b, c dec d jr nz, .loop - ld a, [hQuotient + 2] + ldh a, [hQuotient + 2] and a ; is the calculated hit chance over 0xFF? - ld a, [hQuotient + 3] + ldh a, [hQuotient + 3] jr z, .storeAccuracy ; if calculated hit chance over 0xFF ld a, $ff ; set the hit chance to 0xFF @@ -5528,29 +5528,29 @@ RandomizeDamage: ret c ; return if damage is equal to 0 or 1 .DamageGreaterThanOne xor a - ld [hMultiplicand], a + ldh [hMultiplicand], a dec hl ld a, [hli] - ld [hMultiplicand + 1], a + ldh [hMultiplicand + 1], a ld a, [hl] - ld [hMultiplicand + 2], a + ldh [hMultiplicand + 2], a ; loop until a random number greater than or equal to 217 is generated .loop call BattleRandom rrca cp 217 jr c, .loop - ld [hMultiplier], a + ldh [hMultiplier], a call Multiply ; multiply damage by the random number, which is in the range [217, 255] ld a, 255 - ld [hDivisor], a + ldh [hDivisor], a ld b, $4 call Divide ; divide the result by 255 ; store the modified damage - ld a, [hQuotient + 2] + ldh a, [hQuotient + 2] ld hl, wDamage ld [hli], a - ld a, [hQuotient + 3] + ldh a, [hQuotient + 3] ld [hl], a ret @@ -5906,11 +5906,11 @@ CheckEnemyStatusConditions: ld [hl], a xor a ld [wAnimationType], a - ld [hWhoseTurn], a + ldh [hWhoseTurn], a ld a, POUND call PlayMoveAnimation ld a, $1 - ld [hWhoseTurn], a + ldh [hWhoseTurn], a call ApplyDamageToEnemyPokemon jr .monHurtItselfOrFullyParalysed .checkIfTriedToUseDisabledMove @@ -6057,7 +6057,7 @@ CheckEnemyStatusConditions: ret GetCurrentMove: - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jp z, .player ld de, wEnemyMoveNum @@ -6263,16 +6263,16 @@ DoBattleTransitionAndInitBattleVariables: predef BattleTransition callab LoadHudAndHpBarAndStatusTilePatterns ld a, $1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a ld a, $ff ld [wUpdateSpritesEnabled], a call ClearSprites call ClearScreen xor a - ld [hAutoBGTransferEnabled], a - ld [hWY], a - ld [rWY], a - ld [hTilesetType], a + ldh [hAutoBGTransferEnabled], a + ldh [hWY], a + ldh [rWY], a + ldh [hTilesetType], a ld hl, wPlayerStatsToDouble ld [hli], a ld [hli], a @@ -6309,7 +6309,7 @@ LoadPlayerBackPic: predef ScaleSpriteByTwo ld hl, wOAMBuffer xor a - ld [hOAMTile], a ; initial tile number + ldh [hOAMTile], a ; initial tile number ld b, $7 ; 7 columns ld e, $a0 ; X for the left-most column .loop ; each loop iteration writes 3 OAM entries in a vertical column @@ -6323,16 +6323,16 @@ LoadPlayerBackPic: add d ; increase Y by height of tile ld d, a inc hl - ld a, [hOAMTile] + ldh a, [hOAMTile] ld [hli], a ; OAM tile number inc a ; increment tile number - ld [hOAMTile], a + ldh [hOAMTile], a inc hl dec c jr nz, .innerLoop - ld a, [hOAMTile] + ldh a, [hOAMTile] add $4 ; increase tile number by 4 - ld [hOAMTile], a + ldh [hOAMTile], a ld a, $8 ; width of tile add e ; increase X by width of tile ld e, a @@ -6346,14 +6346,14 @@ LoadPlayerBackPic: ld [MBC1SRamBank], a ld hl, vSprites ld de, sSpriteBuffer1 - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] ld b, a ld c, 7 * 7 call CopyVideoData xor a ld [MBC1SRamEnable], a ld a, $31 - ld [hStartTileID], a + ldh [hStartTileID], a coord hl, 1, 5 predef_jump CopyUncompressedPicToTilemap @@ -6373,12 +6373,12 @@ ApplyBurnAndParalysisPenaltiesToEnemy: xor a ApplyBurnAndParalysisPenalties: - ld [hWhoseTurn], a + ldh [hWhoseTurn], a call QuarterSpeedDueToParalysis jp HalveAttackDueToBurn QuarterSpeedDueToParalysis: - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .playerTurn .enemyTurn ; quarter the player's speed @@ -6421,7 +6421,7 @@ QuarterSpeedDueToParalysis: ret HalveAttackDueToBurn: - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .playerTurn .enemyTurn ; halve the player's attack @@ -6511,35 +6511,35 @@ CalculateModifiedStat: ld b, 0 add hl, bc xor a - ld [hMultiplicand], a + ldh [hMultiplicand], a ld a, [de] - ld [hMultiplicand + 1], a + ldh [hMultiplicand + 1], a inc de ld a, [de] - ld [hMultiplicand + 2], a + ldh [hMultiplicand + 2], a ld a, [hli] - ld [hMultiplier], a + ldh [hMultiplier], a call Multiply ld a, [hl] - ld [hDivisor], a + ldh [hDivisor], a ld b, $4 call Divide pop hl - ld a, [hDividend + 3] + ldh a, [hDividend + 3] sub 999 % $100 - ld a, [hDividend + 2] + ldh a, [hDividend + 2] sbc 999 / $100 jp c, .storeNewStatValue ; cap the stat at 999 ld a, 999 / $100 - ld [hDividend + 2], a + ldh [hDividend + 2], a ld a, 999 % $100 - ld [hDividend + 3], a + ldh [hDividend + 3], a .storeNewStatValue - ld a, [hDividend + 2] + ldh a, [hDividend + 2] ld [hli], a ld b, a - ld a, [hDividend + 3] + ldh a, [hDividend + 3] ld [hl], a or b jr nz, .done @@ -6605,7 +6605,7 @@ LoadHudAndHpBarAndStatusTilePatterns: call LoadHpBarAndStatusTilePatterns LoadHudTilePatterns: - ld a, [rLCDC] + ldh a, [rLCDC] add a ; is LCD disabled? jr c, .lcdEnabled .lcdDisabled @@ -6690,7 +6690,7 @@ BattleRandom: HandleExplodingAnimation: - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a ld hl, wEnemyMonType1 ld de, wEnemyBattleStatus1 @@ -6740,7 +6740,7 @@ DetermineWildOpponent: ld a, [wd732] bit 1, a jr z, .asm_3ef2f - ld a, [hJoyHeld] + ldh a, [hJoyHeld] bit 1, a ; B button pressed? ret nz .asm_3ef2f @@ -6767,7 +6767,7 @@ InitBattleCommon: call _LoadTrainerPic xor a ld [wEnemyMonSpecies2], a - ld [hStartTileID], a + ldh [hStartTileID], a dec a ld [wAICount], a coord hl, 12, 0 @@ -6823,7 +6823,7 @@ InitWildBattle: .spriteLoaded xor a ld [wTrainerClass], a - ld [hStartTileID], a + ldh [hStartTileID], a coord hl, 12, 0 predef CopyUncompressedPicToTilemap @@ -6833,18 +6833,18 @@ _InitBattleCommon: call RunPaletteCommand call SlidePlayerAndEnemySilhouettesOnScreen xor a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a ld hl, .emptyString call PrintText call SaveScreenTilesToBuffer1 call ClearScreen ld a, $98 - ld [hAutoBGTransferDest + 1], a + ldh [hAutoBGTransferDest + 1], a ld a, $1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a call Delay3 ld a, $9c - ld [hAutoBGTransferDest + 1], a + ldh [hAutoBGTransferDest + 1], a call LoadScreenTilesFromBuffer1 coord hl, 9, 7 lb bc, 5, 10 @@ -6863,7 +6863,7 @@ _InitBattleCommon: pop af ld [wMapPalOffset], a ld a, [wSavedTilesetType] - ld [hTilesetType], a + ldh [hTilesetType], a scf ret .emptyString @@ -6900,8 +6900,8 @@ AnimateSendingOutMon: ld h, a ld a, [wPredefRegisters + 1] ld l, a - ld a, [hStartTileID] - ld [hBaseTileID], a + ldh a, [hStartTileID] + ldh [hBaseTileID], a ld b, $4c ld a, [wIsInBattle] and a @@ -6931,7 +6931,7 @@ AnimateSendingOutMon: ld bc, -(SCREEN_WIDTH * 6 + 3) .next add hl, bc - ld a, [hBaseTileID] + ldh a, [hBaseTileID] add $31 jr CopyUncompressedPicToHL @@ -6940,7 +6940,7 @@ CopyUncompressedPicToTilemap: ld h, a ld a, [wPredefRegisters + 1] ld l, a - ld a, [hStartTileID] + ldh a, [hStartTileID] CopyUncompressedPicToHL:: lb bc, 7, 7 ld de, SCREEN_WIDTH @@ -7005,6 +7005,6 @@ LoadMonBackPic: ld hl, vSprites ld de, vBackPic ld c, (2*SPRITEBUFFERSIZE)/16 ; count of 16-byte chunks to be copied - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] ld b, a jp CopyVideoData diff --git a/engine/battle/effects.asm b/engine/battle/effects.asm index 22fadb42..c3a2a213 100644 --- a/engine/battle/effects.asm +++ b/engine/battle/effects.asm @@ -4,7 +4,7 @@ JumpMoveEffect: ret _JumpMoveEffect: - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a ld a, [wPlayerMoveEffect] jr z, .next1 @@ -26,7 +26,7 @@ INCLUDE "data/moves/effects_pointers.asm" SleepEffect: ld de, wEnemyMonStatus ld bc, wEnemyBattleStatus2 - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jp z, .sleepEffect ld de, wBattleMonStatus @@ -78,7 +78,7 @@ AlreadyAsleepText: PoisonEffect: ld hl, wEnemyMonStatus ld de, wPlayerMoveEffect - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .poisonEffect ld hl, wBattleMonStatus @@ -121,7 +121,7 @@ PoisonEffect: set 3, [hl] ; mon is now poisoned push de dec de - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a ld b, ANIM_C7 ld hl, wPlayerBattleStatus3 @@ -175,7 +175,7 @@ DrainHPEffect: ExplodeEffect: ld hl, wBattleMonHP ld de, wPlayerBattleStatus2 - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .faintUser ld hl, wEnemyMonHP @@ -196,7 +196,7 @@ FreezeBurnParalyzeEffect: ld [wAnimationType], a call CheckTargetSubstitute ; test bit 4 of d063/d068 flags [target has substitute flag] ret nz ; return if they have a substitute, can't effect them - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jp nz, opponentAttacker ld a, [wEnemyMonStatus] @@ -308,7 +308,7 @@ CheckDefrost: ; any fire-type move that has a chance inflict burn (all but Fire Spin) will defrost a frozen target and 1 << FRZ ; are they frozen? ret z ; return if so - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr nz, .opponent ;player [attacker] @@ -346,7 +346,7 @@ FireDefrostedText: StatModifierUpEffect: ld hl, wPlayerMonStatMods ld de, wPlayerMoveEffect - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .statModifierUpEffect ld hl, wEnemyMonStatMods @@ -382,7 +382,7 @@ StatModifierUpEffect: push hl ld hl, wBattleMonAttack + 1 ld de, wPlayerMonUnmodifiedAttack - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .pointToStats ld hl, wEnemyMonAttack + 1 @@ -417,35 +417,35 @@ StatModifierUpEffect: add hl, bc pop bc xor a - ld [hMultiplicand], a + ldh [hMultiplicand], a ld a, [de] - ld [hMultiplicand + 1], a + ldh [hMultiplicand + 1], a inc de ld a, [de] - ld [hMultiplicand + 2], a + ldh [hMultiplicand + 2], a ld a, [hli] - ld [hMultiplier], a + ldh [hMultiplier], a call Multiply ld a, [hl] - ld [hDivisor], a + ldh [hDivisor], a ld b, $4 call Divide pop hl ; cap at 999 - ld a, [hProduct + 3] + ldh a, [hProduct + 3] sub 999 % $100 - ld a, [hProduct + 2] + ldh a, [hProduct + 2] sbc 999 / $100 jp c, UpdateStat ld a, 999 / $100 - ld [hMultiplicand + 1], a + ldh [hMultiplicand + 1], a ld a, 999 % $100 - ld [hMultiplicand + 2], a + ldh [hMultiplicand + 2], a UpdateStat: - ld a, [hProduct + 2] + ldh a, [hProduct + 2] ld [hli], a - ld a, [hProduct + 3] + ldh a, [hProduct + 3] ld [hl], a pop hl UpdateStatDone: @@ -455,7 +455,7 @@ UpdateStatDone: ld hl, wPlayerBattleStatus2 ld de, wPlayerMoveNum ld bc, wPlayerMonMinimized - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .asm_3f4e6 ld hl, wEnemyBattleStatus2 @@ -488,7 +488,7 @@ UpdateStatDone: pop af call nz, Bankswitch .applyBadgeBoostsAndStatusPenalties - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a call z, ApplyBadgeStatBoosts ; whenever the player uses a stat-up move, badge boosts get reapplied again to every stat, ; even to those not affected by the stat-up move (will be boosted further) @@ -511,7 +511,7 @@ MonsStatsRoseText: text_far _MonsStatsRoseText text_asm ld hl, GreatlyRoseText - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a ld a, [wPlayerMoveEffect] jr z, .playerTurn @@ -534,7 +534,7 @@ StatModifierDownEffect: ld hl, wEnemyMonStatMods ld de, wPlayerMoveEffect ld bc, wEnemyBattleStatus1 - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .statModifierDownEffect ld hl, wPlayerMonStatMods @@ -601,7 +601,7 @@ StatModifierDownEffect: push de ld hl, wEnemyMonAttack + 1 ld de, wEnemyMonUnmodifiedAttack - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .pointToStat ld hl, wBattleMonAttack + 1 @@ -637,33 +637,33 @@ StatModifierDownEffect: add hl, bc pop bc xor a - ld [hMultiplicand], a + ldh [hMultiplicand], a ld a, [de] - ld [hMultiplicand + 1], a + ldh [hMultiplicand + 1], a inc de ld a, [de] - ld [hMultiplicand + 2], a + ldh [hMultiplicand + 2], a ld a, [hli] - ld [hMultiplier], a + ldh [hMultiplier], a call Multiply ld a, [hl] - ld [hDivisor], a + ldh [hDivisor], a ld b, $4 call Divide pop hl - ld a, [hProduct + 3] + ldh a, [hProduct + 3] ld b, a - ld a, [hProduct + 2] + ldh a, [hProduct + 2] or b jp nz, UpdateLoweredStat - ld [hMultiplicand + 1], a + ldh [hMultiplicand + 1], a ld a, $1 - ld [hMultiplicand + 2], a + ldh [hMultiplicand + 2], a UpdateLoweredStat: - ld a, [hProduct + 2] + ldh a, [hProduct + 2] ld [hli], a - ld a, [hProduct + 3] + ldh a, [hProduct + 3] ld [hl], a pop de pop hl @@ -678,7 +678,7 @@ UpdateLoweredStatDone: jr nc, .ApplyBadgeBoostsAndStatusPenalties call PlayCurrentMoveAnimation2 .ApplyBadgeBoostsAndStatusPenalties - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a call nz, ApplyBadgeStatBoosts ; whenever the player uses a stat-down move, badge boosts get reapplied again to every stat, ; even to those not affected by the stat-up move (will be boosted further) @@ -713,7 +713,7 @@ MonsStatsFellText: text_far _MonsStatsFellText text_asm ld hl, FellText - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a ld a, [wPlayerMoveEffect] jr z, .playerTurn @@ -759,7 +759,7 @@ BideEffect: ld hl, wPlayerBattleStatus1 ld de, wPlayerBideAccumulatedDamage ld bc, wPlayerNumAttacksLeft - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .bideEffect ld hl, wEnemyBattleStatus1 @@ -778,14 +778,14 @@ BideEffect: inc a inc a ld [bc], a ; set Bide counter to 2 or 3 at random - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] add XSTATITEM_ANIM jp PlayBattleAnimation2 ThrashPetalDanceEffect: ld hl, wPlayerBattleStatus1 ld de, wPlayerNumAttacksLeft - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .thrashPetalDanceEffect ld hl, wEnemyBattleStatus1 @@ -797,12 +797,12 @@ ThrashPetalDanceEffect: inc a inc a ld [de], a ; set thrash/petal dance counter to 2 or 3 at random - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] add ANIM_B0 jp PlayBattleAnimation2 SwitchAndTeleportEffect: - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr nz, .handleEnemy ld a, [wIsInBattle] @@ -920,7 +920,7 @@ TwoToFiveAttacksEffect: ld hl, wPlayerBattleStatus1 ld de, wPlayerNumAttacksLeft ld bc, wPlayerNumHits - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .twoToFiveAttacksEffect ld hl, wEnemyBattleStatus1 @@ -931,7 +931,7 @@ TwoToFiveAttacksEffect: ret nz set ATTACKING_MULTIPLE_TIMES, [hl] ; mon is now attacking multiple times ld hl, wPlayerMoveEffect - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .setNumberOfHits ld hl, wEnemyMoveEffect @@ -967,7 +967,7 @@ FlinchSideEffect: ret nz ld hl, wEnemyBattleStatus1 ld de, wPlayerMoveEffect - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .flinchSideEffect ld hl, wPlayerBattleStatus1 @@ -992,7 +992,7 @@ OneHitKOEffect: ChargeEffect: ld hl, wPlayerBattleStatus1 ld de, wPlayerMoveEffect - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a ld b, XSTATITEM_ANIM jr z, .chargeEffect @@ -1074,7 +1074,7 @@ DugAHoleText: TrappingEffect: ld hl, wPlayerBattleStatus1 ld de, wPlayerNumAttacksLeft - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .trappingEffect ld hl, wEnemyBattleStatus1 @@ -1120,7 +1120,7 @@ ConfusionEffect: jr nz, ConfusionEffectFailed ConfusionSideEffectSuccess: - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a ld hl, wEnemyBattleStatus1 ld bc, wEnemyConfusedCounter @@ -1164,7 +1164,7 @@ SubstituteEffect: HyperBeamEffect: ld hl, wPlayerBattleStatus2 - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .hyperBeamEffect ld hl, wEnemyBattleStatus2 @@ -1175,7 +1175,7 @@ HyperBeamEffect: ClearHyperBeam: push hl ld hl, wEnemyBattleStatus2 - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .playerTurn ld hl, wPlayerBattleStatus2 @@ -1186,7 +1186,7 @@ ClearHyperBeam: RageEffect: ld hl, wPlayerBattleStatus2 - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .player ld hl, wEnemyBattleStatus2 @@ -1201,7 +1201,7 @@ MimicEffect: ld a, [wMoveMissed] and a jr nz, .mimicMissed - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a ld hl, wBattleMonMoves ld a, [wPlayerBattleStatus1] @@ -1226,7 +1226,7 @@ MimicEffect: and a jr z, .getRandomMove ld d, a - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a ld hl, wBattleMonMoves ld a, [wPlayerMoveListIndex] @@ -1284,7 +1284,7 @@ DisableEffect: jr nz, .moveMissed ld de, wEnemyDisabledMove ld hl, wEnemyMonMoves - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .disableEffect ld de, wPlayerDisabledMove @@ -1307,7 +1307,7 @@ DisableEffect: jr z, .pickMoveToDisable ; loop until a non-00 move slot is found ld [wd11e], a ; store move number push hl - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a ld hl, wBattleMonPP jr nz, .enemyTurn @@ -1345,7 +1345,7 @@ DisableEffect: ld [de], a call PlayCurrentMoveAnimation2 ld hl, wPlayerDisabledMoveNumber - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr nz, .printDisableText inc hl ; wEnemyDisabledMoveNumber @@ -1430,7 +1430,7 @@ ParalyzedMayNotAttackText: CheckTargetSubstitute: push hl ld hl, wEnemyBattleStatus2 - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .next1 ld hl, wPlayerBattleStatus2 @@ -1442,7 +1442,7 @@ CheckTargetSubstitute: PlayCurrentMoveAnimation2: ; animation at MOVENUM will be played unless MOVENUM is 0 ; plays wAnimationType 3 or 6 - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a ld a, [wPlayerMoveNum] jr z, .notEnemyTurn @@ -1454,7 +1454,7 @@ PlayCurrentMoveAnimation2: PlayBattleAnimation2: ; play animation ID at a and animation type 6 or 3 ld [wAnimationID], a - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a ld a, $6 jr z, .storeAnimationType @@ -1468,7 +1468,7 @@ PlayCurrentMoveAnimation: ; resets wAnimationType xor a ld [wAnimationType], a - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a ld a, [wPlayerMoveNum] jr z, .notEnemyTurn diff --git a/engine/battle/experience.asm b/engine/battle/experience.asm index 6bc0a019..2e21d874 100644 --- a/engine/battle/experience.asm +++ b/engine/battle/experience.asm @@ -55,15 +55,15 @@ GainExperience: jr .gainStatExpLoop .statExpDone xor a - ld [hMultiplicand], a - ld [hMultiplicand + 1], a + ldh [hMultiplicand], a + ldh [hMultiplicand + 1], a ld a, [wEnemyMonBaseExp] - ld [hMultiplicand + 2], a + ldh [hMultiplicand + 2], a ld a, [wEnemyMonLevel] - ld [hMultiplier], a + ldh [hMultiplier], a call Multiply ld a, 7 - ld [hDivisor], a + ldh [hDivisor], a ld b, 4 call Divide ld hl, wPartyMon1OTID - (wPartyMon1DVs - 1) @@ -91,12 +91,12 @@ GainExperience: inc hl ; add the gained exp to the party mon's exp ld b, [hl] - ld a, [hQuotient + 3] + ldh a, [hQuotient + 3] ld [wExpAmountGained + 1], a add b ld [hld], a ld b, [hl] - ld a, [hQuotient + 2] + ldh a, [hQuotient + 2] ld [wExpAmountGained], a adc b ld [hl], a @@ -119,11 +119,11 @@ GainExperience: ld d, MAX_LEVEL callab CalcExperience ; get max exp ; compare max exp with current exp - ld a, [hExperience] + ldh a, [hExperience] ld b, a - ld a, [hExperience + 1] + ldh a, [hExperience + 1] ld c, a - ld a, [hExperience + 2] + ldh a, [hExperience + 2] ld d, a pop hl ld a, [hld] @@ -311,14 +311,14 @@ DivideExpDataByNumMonsGainingExp: ld c, wEnemyMonBaseExp + 1 - wEnemyMonBaseStats .divideLoop xor a - ld [hDividend], a + ldh [hDividend], a ld a, [hl] - ld [hDividend + 1], a + ldh [hDividend + 1], a ld a, [wd11e] - ld [hDivisor], a + ldh [hDivisor], a ld b, $2 call Divide ; divide value by number of mons gaining exp - ld a, [hQuotient + 3] + ldh a, [hQuotient + 3] ld [hli], a dec c jr nz, .divideLoop @@ -326,17 +326,17 @@ DivideExpDataByNumMonsGainingExp: ; multiplies exp by 1.5 BoostExp: - ld a, [hQuotient + 2] + ldh a, [hQuotient + 2] ld b, a - ld a, [hQuotient + 3] + ldh a, [hQuotient + 3] ld c, a srl b rr c add c - ld [hQuotient + 3], a - ld a, [hQuotient + 2] + ldh [hQuotient + 3], a + ldh a, [hQuotient + 2] adc b - ld [hQuotient + 2], a + ldh [hQuotient + 2], a ret GainedText: diff --git a/engine/battle/ghost_marowak_anim.asm b/engine/battle/ghost_marowak_anim.asm index 28f536ca..bef680fe 100644 --- a/engine/battle/ghost_marowak_anim.asm +++ b/engine/battle/ghost_marowak_anim.asm @@ -1,7 +1,7 @@ MarowakAnim: ; animate the ghost being unveiled as a Marowak ld a, $e4 - ld [rOBP1], a + ldh [rOBP1], a call CopyMonPicFromBGToSpriteVRAM ; cover the BG ghost pic with a sprite ghost pic that looks the same ; now that the ghost pic is being displayed using sprites, clear the ghost pic from the BG tilemap coord hl, 12, 0 @@ -9,12 +9,12 @@ MarowakAnim: call ClearScreenArea call Delay3 xor a - ld [hAutoBGTransferEnabled], a ; disable BG transfer so we don't see the Marowak too soon + ldh [hAutoBGTransferEnabled], a ; disable BG transfer so we don't see the Marowak too soon ; replace ghost pic with Marowak in BG ld a, MAROWAK ld [wChangeMonPicEnemyTurnSpecies], a ld a, $1 - ld [hWhoseTurn], a + ldh [hWhoseTurn], a callab ChangeMonPic ; alternate between black and light grey 8 times. ; this makes the ghost's body appear to flash @@ -23,10 +23,10 @@ MarowakAnim: .fadeOutGhostLoop ld c, 10 call DelayFrames - ld a, [rOBP1] + ldh a, [rOBP1] sla a sla a - ld [rOBP1], a + ldh [rOBP1], a jr nz, .fadeOutGhostLoop call ClearSprites call CopyMonPicFromBGToSpriteVRAM ; copy Marowak pic from BG to sprite VRAM @@ -34,17 +34,17 @@ MarowakAnim: .fadeInMarowakLoop ld c, 10 call DelayFrames - ld a, [rOBP1] + ldh a, [rOBP1] srl b rra srl b rra - ld [rOBP1], a + ldh [rOBP1], a ld a, b and a jr nz, .fadeInMarowakLoop ld a, $1 - ld [hAutoBGTransferEnabled], a ; enable BG transfer so the BG Marowak pic will be visible after the sprite one is cleared + ldh [hAutoBGTransferEnabled], a ; enable BG transfer so the BG Marowak pic will be visible after the sprite one is cleared call Delay3 jp ClearSprites diff --git a/engine/battle/init_battle_variables.asm b/engine/battle/init_battle_variables.asm index 7bc912d2..d670319c 100644 --- a/engine/battle/init_battle_variables.asm +++ b/engine/battle/init_battle_variables.asm @@ -1,5 +1,5 @@ InitBattleVariables: - ld a, [hTilesetType] + ldh a, [hTilesetType] ld [wSavedTilesetType], a xor a ld [wActionResultOrTookBattleTurn], a diff --git a/engine/battle/move_effects/conversion.asm b/engine/battle/move_effects/conversion.asm index 662f65e0..1f64ec5b 100644 --- a/engine/battle/move_effects/conversion.asm +++ b/engine/battle/move_effects/conversion.asm @@ -1,7 +1,7 @@ ConversionEffect_: ld hl, wEnemyMonType1 ld de, wBattleMonType1 - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a ld a, [wEnemyBattleStatus1] jr z, .conversionEffect diff --git a/engine/battle/move_effects/drain_hp.asm b/engine/battle/move_effects/drain_hp.asm index 452ccf0c..74e5d376 100644 --- a/engine/battle/move_effects/drain_hp.asm +++ b/engine/battle/move_effects/drain_hp.asm @@ -14,7 +14,7 @@ DrainHPEffect_: .getAttackerHP ld hl, wBattleMonHP ld de, wBattleMonMaxHP - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jp z, .addDamageToAttackerHP ld hl, wEnemyMonHP @@ -69,7 +69,7 @@ DrainHPEffect_: ld [wHPBarNewHP+1], a inc de .next - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a coord hl, 10, 9 ld a, $1 @@ -83,7 +83,7 @@ DrainHPEffect_: predef DrawEnemyHUDAndHPBar callab ReadPlayerMonCurHPAndStatus ld hl, SuckedHealthText - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a ld a, [wPlayerMoveEffect] jr z, .next3 diff --git a/engine/battle/move_effects/focus_energy.asm b/engine/battle/move_effects/focus_energy.asm index 7a426d2c..fd04e024 100644 --- a/engine/battle/move_effects/focus_energy.asm +++ b/engine/battle/move_effects/focus_energy.asm @@ -1,6 +1,6 @@ FocusEnergyEffect_: ld hl, wPlayerBattleStatus2 - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .notEnemy ld hl, wEnemyBattleStatus2 diff --git a/engine/battle/move_effects/haze.asm b/engine/battle/move_effects/haze.asm index 521ff662..915eeed8 100644 --- a/engine/battle/move_effects/haze.asm +++ b/engine/battle/move_effects/haze.asm @@ -15,7 +15,7 @@ HazeEffect_: ; cure non-volatile status, but only for the target ld hl, wEnemyMonStatus ld de, wEnemySelectedMove - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .cureStatuses ld hl, wBattleMonStatus diff --git a/engine/battle/move_effects/heal.asm b/engine/battle/move_effects/heal.asm index 8cc9da93..d12b1ea4 100644 --- a/engine/battle/move_effects/heal.asm +++ b/engine/battle/move_effects/heal.asm @@ -1,5 +1,5 @@ HealEffect_: - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a ld de, wBattleMonHP ld hl, wBattleMonMaxHP @@ -27,7 +27,7 @@ HealEffect_: ld c, 50 call DelayFrames ld hl, wBattleMonStatus - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .restEffect ld hl, wEnemyMonStatus @@ -87,7 +87,7 @@ HealEffect_: .playAnim ld hl, PlayCurrentMoveAnimation call BankswitchEtoF - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a coord hl, 10, 9 ld a, $1 diff --git a/engine/battle/move_effects/leech_seed.asm b/engine/battle/move_effects/leech_seed.asm index 74360233..061c0073 100644 --- a/engine/battle/move_effects/leech_seed.asm +++ b/engine/battle/move_effects/leech_seed.asm @@ -5,7 +5,7 @@ LeechSeedEffect_: jr nz, .moveMissed ld hl, wEnemyBattleStatus2 ld de, wEnemyMonType1 - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .leechSeedEffect ld hl, wPlayerBattleStatus2 diff --git a/engine/battle/move_effects/mist.asm b/engine/battle/move_effects/mist.asm index 67ee4921..a9cb21b8 100644 --- a/engine/battle/move_effects/mist.asm +++ b/engine/battle/move_effects/mist.asm @@ -1,6 +1,6 @@ MistEffect_: ld hl, wPlayerBattleStatus2 - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .mistEffect ld hl, wEnemyBattleStatus2 diff --git a/engine/battle/move_effects/one_hit_ko.asm b/engine/battle/move_effects/one_hit_ko.asm index 347a4c7b..7e5db0f7 100644 --- a/engine/battle/move_effects/one_hit_ko.asm +++ b/engine/battle/move_effects/one_hit_ko.asm @@ -7,7 +7,7 @@ OneHitKOEffect_: ld [wCriticalHitOrOHKO], a ld hl, wBattleMonSpeed + 1 ld de, wEnemyMonSpeed + 1 - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .compareSpeed ld hl, wEnemyMonSpeed + 1 diff --git a/engine/battle/move_effects/paralyze.asm b/engine/battle/move_effects/paralyze.asm index b01aa5cf..d828e333 100644 --- a/engine/battle/move_effects/paralyze.asm +++ b/engine/battle/move_effects/paralyze.asm @@ -1,7 +1,7 @@ ParalyzeEffect_: ld hl, wEnemyMonStatus ld de, wPlayerMoveType - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jp z, .next ld hl, wBattleMonStatus diff --git a/engine/battle/move_effects/pay_day.asm b/engine/battle/move_effects/pay_day.asm index 11140ec2..fa373038 100644 --- a/engine/battle/move_effects/pay_day.asm +++ b/engine/battle/move_effects/pay_day.asm @@ -2,7 +2,7 @@ PayDayEffect_: xor a ld hl, wcd6d ld [hli], a - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a ld a, [wBattleMonLevel] jr z, .payDayEffect @@ -10,28 +10,28 @@ PayDayEffect_: .payDayEffect ; level * 2 add a - ld [hDividend + 3], a + ldh [hDividend + 3], a xor a - ld [hDividend], a - ld [hDividend + 1], a - ld [hDividend + 2], a + ldh [hDividend], a + ldh [hDividend + 1], a + ldh [hDividend + 2], a ; convert to BCD ld a, 100 - ld [hDivisor], a + ldh [hDivisor], a ld b, $4 call Divide - ld a, [hQuotient + 3] + ldh a, [hQuotient + 3] ld [hli], a - ld a, [hRemainder] - ld [hDividend + 3], a + ldh a, [hRemainder] + ldh [hDividend + 3], a ld a, 10 - ld [hDivisor], a + ldh [hDivisor], a ld b, $4 call Divide - ld a, [hQuotient + 3] + ldh a, [hQuotient + 3] swap a ld b, a - ld a, [hRemainder] + ldh a, [hRemainder] add b ld [hl], a ld de, wTotalPayDayMoney + 2 diff --git a/engine/battle/move_effects/recoil.asm b/engine/battle/move_effects/recoil.asm index 63aff429..aa2a3fed 100644 --- a/engine/battle/move_effects/recoil.asm +++ b/engine/battle/move_effects/recoil.asm @@ -1,5 +1,5 @@ RecoilEffect_: - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a ld a, [wPlayerMoveNum] ld hl, wBattleMonMaxHP @@ -54,7 +54,7 @@ RecoilEffect_: ld [hl], a .getHPBarCoords coord hl, 10, 9 - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a ld a, $1 jr z, .updateHPBar diff --git a/engine/battle/move_effects/reflect_light_screen.asm b/engine/battle/move_effects/reflect_light_screen.asm index 07338c9a..7bdc7be7 100644 --- a/engine/battle/move_effects/reflect_light_screen.asm +++ b/engine/battle/move_effects/reflect_light_screen.asm @@ -1,7 +1,7 @@ ReflectLightScreenEffect_: ld hl, wPlayerBattleStatus3 ld de, wPlayerMoveEffect - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .reflectLightScreenEffect ld hl, wEnemyBattleStatus3 diff --git a/engine/battle/move_effects/substitute.asm b/engine/battle/move_effects/substitute.asm index 95c43462..eb6d0e89 100644 --- a/engine/battle/move_effects/substitute.asm +++ b/engine/battle/move_effects/substitute.asm @@ -4,7 +4,7 @@ SubstituteEffect_: ld hl, wBattleMonMaxHP ld de, wPlayerSubstituteHP ld bc, wPlayerBattleStatus2 - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .notEnemy ld hl, wEnemyMonMaxHP diff --git a/engine/battle/move_effects/transform.asm b/engine/battle/move_effects/transform.asm index da26d031..46cea51c 100644 --- a/engine/battle/move_effects/transform.asm +++ b/engine/battle/move_effects/transform.asm @@ -3,7 +3,7 @@ TransformEffect_: ld de, wEnemyMonSpecies ld bc, wEnemyBattleStatus3 ld a, [wEnemyBattleStatus1] - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr nz, .hitTest ld hl, wEnemyMonSpecies @@ -18,7 +18,7 @@ TransformEffect_: push de push bc ld hl, wPlayerBattleStatus2 - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .transformEffect ld hl, wEnemyBattleStatus2 @@ -64,7 +64,7 @@ TransformEffect_: inc bc inc bc call CopyData - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .next ; save enemy mon DVs at wTransformedEnemyMonOriginalDVs @@ -128,7 +128,7 @@ TransformEffect_: jp PrintText .copyBasedOnTurn - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a jr z, .gotStatsOrModsToCopy push hl diff --git a/engine/battle/scale_sprites.asm b/engine/battle/scale_sprites.asm index 11967ba1..69979412 100644 --- a/engine/battle/scale_sprites.asm +++ b/engine/battle/scale_sprites.asm @@ -41,16 +41,16 @@ ScaleFirstThreeSpriteColumnsByTwo: ScaleLastSpriteColumnByTwo: ld a, 4*8 - 4 ; $1c, 4 tiles minus 4 unused rows - ld [hSpriteInterlaceCounter], a + ldh [hSpriteInterlaceCounter], a ld bc, -1 .columnInnerLoop ld a, [de] dec de swap a ; only high nybble contains information call ScalePixelsByTwo - ld a, [hSpriteInterlaceCounter] + ldh a, [hSpriteInterlaceCounter] dec a - ld [hSpriteInterlaceCounter], a + ldh [hSpriteInterlaceCounter], a jr nz, .columnInnerLoop dec de ; skip last 4 rows of new column dec de diff --git a/engine/battle/trainer_ai.asm b/engine/battle/trainer_ai.asm index 8373ef4f..3e444f8b 100644 --- a/engine/battle/trainer_ai.asm +++ b/engine/battle/trainer_ai.asm @@ -655,17 +655,17 @@ AIUseDireHit: ; unused AICheckIfHPBelowFraction: ; return carry if enemy trainer's current HP is below 1 / a of the maximum - ld [hDivisor], a + ldh [hDivisor], a ld hl, wEnemyMonMaxHP ld a, [hli] - ld [hDividend], a + ldh [hDividend], a ld a, [hl] - ld [hDividend + 1], a + ldh [hDividend + 1], a ld b, 2 call Divide - ld a, [hQuotient + 3] + ldh a, [hQuotient + 3] ld c, a - ld a, [hQuotient + 2] + ldh a, [hQuotient + 2] ld b, a ld hl, wEnemyMonHP + 1 ld a, [hld] diff --git a/engine/battle/unused_stats_functions.asm b/engine/battle/unused_stats_functions.asm index fb3422c7..5174adf5 100644 --- a/engine/battle/unused_stats_functions.asm +++ b/engine/battle/unused_stats_functions.asm @@ -1,6 +1,6 @@ ; does nothing since no stats are ever selected (barring glitches) DoubleSelectedStats: - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a ld a, [wPlayerStatsToDouble] ld hl, wBattleMonAttack + 1 @@ -30,7 +30,7 @@ DoubleSelectedStats: ; does nothing since no stats are ever selected (barring glitches) HalveSelectedStats: - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] and a ld a, [wPlayerStatsToHalve] ld hl, wBattleMonAttack diff --git a/engine/battle/wild_encounters.asm b/engine/battle/wild_encounters.asm index 9d6fcb8d..9b637f97 100644 --- a/engine/battle/wild_encounters.asm +++ b/engine/battle/wild_encounters.asm @@ -48,10 +48,10 @@ TryDoWildEncounter: .CanEncounter ; compare encounter chance with a random number to determine if there will be an encounter ld b, a - ld a, [hRandomAdd] + ldh a, [hRandomAdd] cp b jr nc, .CantEncounter2 - ld a, [hRandomSub] + ldh a, [hRandomSub] ld b, a ld hl, WildMonEncounterSlotChances .determineEncounterSlot @@ -90,7 +90,7 @@ TryDoWildEncounter: .lastRepelStep ld [wRepelRemainingSteps], a ld a, TEXT_REPEL_WORE_OFF - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call EnableAutoTextBoxDrawing call DisplayTextID .CantEncounter2 diff --git a/engine/debug/test_battle.asm b/engine/debug/test_battle.asm index 92d6e4a9..92f74576 100644 --- a/engine/debug/test_battle.asm +++ b/engine/debug/test_battle.asm @@ -41,5 +41,5 @@ TestBattle: ; do it all again. ld a, 1 ld [wUpdateSpritesEnabled], a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a jr .loop diff --git a/engine/events/black_out.asm b/engine/events/black_out.asm index 6c358ce3..16d2081f 100644 --- a/engine/events/black_out.asm +++ b/engine/events/black_out.asm @@ -6,34 +6,34 @@ ResetStatusAndHalveMoneyOnBlackout:: ld [wIsInBattle], a ld [wMapPalOffset], a ld [wNPCMovementScriptFunctionNum], a - ld [hJoyHeld], a + ldh [hJoyHeld], a ld [wNPCMovementScriptPointerTableNum], a ld [wFlags_0xcd60], a - ld [hMoney], a - ld [hMoney + 1], a - ld [hMoney + 2], a + ldh [hMoney], a + ldh [hMoney + 1], a + ldh [hMoney + 2], a call HasEnoughMoney jr c, .lostmoney ; never happens ; Halve the player's money. ld a, [wPlayerMoney] - ld [hMoney], a + ldh [hMoney], a ld a, [wPlayerMoney + 1] - ld [hMoney + 1], a + ldh [hMoney + 1], a ld a, [wPlayerMoney + 2] - ld [hMoney + 2], a + ldh [hMoney + 2], a xor a - ld [hDivideBCDDivisor], a - ld [hDivideBCDDivisor + 1], a + ldh [hDivideBCDDivisor], a + ldh [hDivideBCDDivisor + 1], a ld a, 2 - ld [hDivideBCDDivisor + 2], a + ldh [hDivideBCDDivisor + 2], a predef DivideBCDPredef3 - ld a, [hDivideBCDQuotient] + ldh a, [hDivideBCDQuotient] ld [wPlayerMoney], a - ld a, [hDivideBCDQuotient + 1] + ldh a, [hDivideBCDQuotient + 1] ld [wPlayerMoney + 1], a - ld a, [hDivideBCDQuotient + 2] + ldh a, [hDivideBCDQuotient + 2] ld [wPlayerMoney + 2], a .lostmoney diff --git a/engine/events/card_key.asm b/engine/events/card_key.asm index a37a1f27..7ac39a6f 100755 --- a/engine/events/card_key.asm +++ b/engine/events/card_key.asm @@ -28,7 +28,7 @@ PrintCardKeyText: call GetCoordsInFrontOfPlayer push de tx_pre_id CardKeySuccessText - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call PrintPredefTextID pop de srl d @@ -55,7 +55,7 @@ PrintCardKeyText: jp PlaySound .noCardKey tx_pre_id CardKeyFailText - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a jp PrintPredefTextID SilphCoMapList: diff --git a/engine/events/cinnabar_lab.asm b/engine/events/cinnabar_lab.asm index 7878780c..0e0af0bb 100755 --- a/engine/events/cinnabar_lab.asm +++ b/engine/events/cinnabar_lab.asm @@ -35,7 +35,7 @@ GiveFossilToCinnabarLab:: ld e, a add hl, de ld a, [hl] - ld [hItemToRemoveID], a + ldh [hItemToRemoveID], a cp DOME_FOSSIL jr z, .choseDomeFossil cp HELIX_FOSSIL @@ -61,7 +61,7 @@ GiveFossilToCinnabarLab:: ld hl, LabFossil_610b3 call PrintText ld a, [wFossilItem] - ld [hItemToRemoveID], a + ldh [hItemToRemoveID], a callba RemoveItemByID ld hl, LabFossil_610b8 call PrintText @@ -92,7 +92,7 @@ PrintFossilsInBag: ; Prints each fossil in the player's bag on a separate line in the menu. ld hl, wFilteredBagItems xor a - ld [hItemCounter], a + ldh [hItemCounter], a .loop ld a, [hli] cp $ff @@ -101,7 +101,7 @@ PrintFossilsInBag: ld [wd11e], a call GetItemName coord hl, 2, 2 - ld a, [hItemCounter] + ldh a, [hItemCounter] ld bc, SCREEN_WIDTH * 2 call AddNTimes ld de, wcd6d diff --git a/engine/events/diploma.asm b/engine/events/diploma.asm index 92196537..9e9da9a5 100755 --- a/engine/events/diploma.asm +++ b/engine/events/diploma.asm @@ -62,7 +62,7 @@ DisplayDiploma:: call Delay3 call GBPalNormal ld a, $90 - ld [rOBP0], a + ldh [rOBP0], a call WaitForTextScrollButtonPress ld hl, wd730 res 6, [hl] diff --git a/engine/events/hidden_items.asm b/engine/events/hidden_items.asm index 85ae7c93..6a5835cd 100755 --- a/engine/events/hidden_items.asm +++ b/engine/events/hidden_items.asm @@ -67,9 +67,9 @@ HiddenCoins: and a ret nz xor a - ld [hUnusedCoinsByte], a - ld [hCoins], a - ld [hCoins + 1], a + ldh [hUnusedCoinsByte], a + ldh [hCoins], a + ldh [hCoins + 1], a ld a, [wHiddenObjectFunctionArgument] sub COIN cp 10 @@ -81,19 +81,19 @@ HiddenCoins: jr .bcd100 .bcd10 ld a, $10 - ld [hCoins + 1], a + ldh [hCoins + 1], a jr .bcdDone .bcd20 ld a, $20 - ld [hCoins + 1], a + ldh [hCoins + 1], a jr .bcdDone .bcd40 ; due to a typo, this is never used ld a, $40 - ld [hCoins + 1], a + ldh [hCoins + 1], a jr .bcdDone .bcd100 ld a, $1 - ld [hCoins], a + ldh [hCoins], a .bcdDone ld de, wPlayerCoins + 1 ld hl, hCoins + 1 diff --git a/engine/events/hidden_objects/bookshelves.asm b/engine/events/hidden_objects/bookshelves.asm index 9cdd037a..daa8205d 100644 --- a/engine/events/hidden_objects/bookshelves.asm +++ b/engine/events/hidden_objects/bookshelves.asm @@ -24,7 +24,7 @@ PrintBookshelfText:: pop af call PrintPredefTextID xor a - ld [hFFDB], a + ldh [hFFDB], a ret .nextBookshelfEntry1 inc hl @@ -33,7 +33,7 @@ PrintBookshelfText:: jr .loop .noMatch ld a, $ff - ld [hFFDB], a + ldh [hFFDB], a jpba PrintCardKeyText INCLUDE "data/tilesets/bookshelf_tile_ids.asm" diff --git a/engine/events/hidden_objects/cinnabar_gym_quiz.asm b/engine/events/hidden_objects/cinnabar_gym_quiz.asm index da309f87..2e4f48f3 100644 --- a/engine/events/hidden_objects/cinnabar_gym_quiz.asm +++ b/engine/events/hidden_objects/cinnabar_gym_quiz.asm @@ -12,14 +12,14 @@ CinnabarGymQuiz:: ld a, [wHiddenObjectFunctionArgument] push af and $f - ld [hGymGateIndex], a + ldh [hGymGateIndex], a pop af and $f0 swap a - ld [hGymGateAnswer], a + ldh [hGymGateAnswer], a ld hl, CinnabarGymQuizIntroText call PrintText - ld a, [hGymGateIndex] + ldh a, [hGymGateIndex] dec a add a ld d, 0 @@ -77,18 +77,18 @@ CinnabarGymGateFlagAction: CinnabarGymQuiz_1ea92: call YesNoChoice - ld a, [hGymGateAnswer] + ldh a, [hGymGateAnswer] ld c, a ld a, [wCurrentMenuItem] cp c jr nz, .wrongAnswer ld hl, wCurrentMapScriptFlags set 5, [hl] - ld a, [hGymGateIndex] - ld [hBackupGymGateIndex], a + ldh a, [hGymGateIndex] + ldh [hBackupGymGateIndex], a ld hl, CinnabarGymQuizCorrectText call PrintText - ld a, [hBackupGymGateIndex] + ldh a, [hBackupGymGateIndex] AdjustEventBit EVENT_CINNABAR_GYM_GATE0_UNLOCKED, 0 ld c, a ld b, FLAG_SET @@ -101,7 +101,7 @@ CinnabarGymQuiz_1ea92: call WaitForSoundToFinish ld hl, CinnabarGymQuizIncorrectText call PrintText - ld a, [hGymGateIndex] + ldh a, [hGymGateIndex] add $2 AdjustEventBit EVENT_BEAT_CINNABAR_GYM_TRAINER_0, 2 ld c, a @@ -111,7 +111,7 @@ CinnabarGymQuiz_1ea92: ld a, c and a ret nz - ld a, [hGymGateIndex] + ldh a, [hGymGateIndex] add $2 ld [wOpponentAfterWrongAnswer], a ret @@ -122,7 +122,7 @@ CinnabarGymQuizCorrectText: text_promptbutton text_asm - ld a, [hBackupGymGateIndex] + ldh a, [hBackupGymGateIndex] AdjustEventBit EVENT_CINNABAR_GYM_GATE0_UNLOCKED, 0 ld c, a ld b, FLAG_TEST @@ -144,9 +144,9 @@ UpdateCinnabarGymGateTileBlocks_:: ; Update the overworld map with open floor blocks or locked gate blocks ; depending on event flags. ld a, 6 - ld [hGymGateIndex], a + ldh [hGymGateIndex], a .loop - ld a, [hGymGateIndex] + ldh a, [hGymGateIndex] dec a add a add a @@ -161,8 +161,8 @@ UpdateCinnabarGymGateTileBlocks_:: ld a, [hl] ld [wGymGateTileBlock], a push bc - ld a, [hGymGateIndex] - ld [hBackupGymGateIndex], a + ldh a, [hGymGateIndex] + ldh [hBackupGymGateIndex], a AdjustEventBit EVENT_CINNABAR_GYM_GATE0_UNLOCKED, 0 ld c, a ld b, FLAG_TEST diff --git a/engine/events/hidden_objects/museum_fossils.asm b/engine/events/hidden_objects/museum_fossils.asm index 36fb2556..ef53ed89 100644 --- a/engine/events/hidden_objects/museum_fossils.asm +++ b/engine/events/hidden_objects/museum_fossils.asm @@ -26,10 +26,10 @@ DisplayMonFrontSpriteInBox: ; Displays a pokemon's front sprite in a pop-up window. ; [wcf91] = pokemon internal id number ld a, 1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a call Delay3 xor a - ld [hWY], a + ldh [hWY], a call SaveScreenTilesToBuffer1 ld a, MON_SPRITE_POPUP ld [wTextBoxID], a @@ -41,12 +41,12 @@ DisplayMonFrontSpriteInBox: ld de, vChars1 + $310 call LoadMonFrontSprite ld a, $80 - ld [hStartTileID], a + ldh [hStartTileID], a coord hl, 10, 11 predef AnimateSendingOutMon call WaitForTextScrollButtonPress call LoadScreenTilesFromBuffer1 call Delay3 ld a, $90 - ld [hWY], a + ldh [hWY], a ret diff --git a/engine/events/hidden_objects/safari_game.asm b/engine/events/hidden_objects/safari_game.asm index 656e872a..5996fc6f 100644 --- a/engine/events/hidden_objects/safari_game.asm +++ b/engine/events/hidden_objects/safari_game.asm @@ -37,12 +37,12 @@ SafariZoneGameOver: cp SFX_SAFARI_ZONE_PA jr nz, .waitForMusicToPlay ld a, TEXT_SAFARI_GAME_OVER - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID xor a ld [wPlayerMovingDirection], a ld a, SAFARI_ZONE_GATE - ld [hWarpDestinationMap], a + ldh [hWarpDestinationMap], a ld a, $3 ld [wDestinationWarpID], a ld a, $5 diff --git a/engine/events/hidden_objects/town_map.asm b/engine/events/hidden_objects/town_map.asm index 9481b902..866d38c8 100644 --- a/engine/events/hidden_objects/town_map.asm +++ b/engine/events/hidden_objects/town_map.asm @@ -8,15 +8,15 @@ TownMapText:: set 6, [hl] call GBPalWhiteOutWithDelay3 xor a - ld [hWY], a + ldh [hWY], a inc a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a call LoadFontTilePatterns callba DisplayTownMap ld hl, wd730 res 6, [hl] ld de, TextScriptEnd push de - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] push af jp CloseTextDisplay diff --git a/engine/events/hidden_objects/vermilion_gym_trash.asm b/engine/events/hidden_objects/vermilion_gym_trash.asm index f46b53c2..c2bfed06 100644 --- a/engine/events/hidden_objects/vermilion_gym_trash.asm +++ b/engine/events/hidden_objects/vermilion_gym_trash.asm @@ -56,12 +56,12 @@ GymTrashScript: ; first lock was in trash can 1 or 3. However, due to this bug, trash can 0 can ; have the second lock regardless of which trash can had the first lock. - ld [hGymTrashCanRandNumMask], a + ldh [hGymTrashCanRandNumMask], a push hl call Random swap a ld b, a - ld a, [hGymTrashCanRandNumMask] + ldh a, [hGymTrashCanRandNumMask] and b dec a pop hl diff --git a/engine/events/oaks_aide.asm b/engine/events/oaks_aide.asm index 61304877..dd4e5fd7 100755 --- a/engine/events/oaks_aide.asm +++ b/engine/events/oaks_aide.asm @@ -9,16 +9,16 @@ OaksAideScript: ld b, wPokedexOwnedEnd - wPokedexOwned call CountSetBits ld a, [wNumSetBits] - ld [hOaksAideNumMonsOwned], a + ldh [hOaksAideNumMonsOwned], a ld b, a - ld a, [hOaksAideRequirement] + ldh a, [hOaksAideRequirement] cp b jr z, .giveItem jr nc, .notEnoughOwnedMons .giveItem ld hl, OaksAideHereYouGoText call PrintText - ld a, [hOaksAideRewardItem] + ldh a, [hOaksAideRewardItem] ld b, a ld c, 1 call GiveItem @@ -42,7 +42,7 @@ OaksAideScript: call PrintText ld a, $ff .done - ld [hOaksAideResult], a + ldh [hOaksAideResult], a ret OaksAideHiText: diff --git a/engine/events/pick_up_item.asm b/engine/events/pick_up_item.asm index ec50d9c4..548db5be 100644 --- a/engine/events/pick_up_item.asm +++ b/engine/events/pick_up_item.asm @@ -1,7 +1,7 @@ PickUpItem: call EnableAutoTextBoxDrawing - ld a, [hSpriteIndexOrTextID] + ldh a, [hSpriteIndexOrTextID] ld b, a ld hl, wMissableObjectList .missableObjectsListLoop @@ -15,10 +15,10 @@ PickUpItem: .isMissable ld a, [hl] - ld [hMissableObjectIndex], a + ldh [hMissableObjectIndex], a ld hl, wMapSpriteExtraData - ld a, [hSpriteIndexOrTextID] + ldh a, [hSpriteIndexOrTextID] dec a add a ld d, 0 @@ -30,7 +30,7 @@ PickUpItem: call GiveItem jr nc, .BagFull - ld a, [hMissableObjectIndex] + ldh a, [hMissableObjectIndex] ld [wMissableObjectIndex], a predef HideObject ld a, 1 diff --git a/engine/events/poison.asm b/engine/events/poison.asm index 5d8eb9fd..8bb756b5 100644 --- a/engine/events/poison.asm +++ b/engine/events/poison.asm @@ -52,7 +52,7 @@ ApplyOutOfBattlePoisonDamage: ld [wJoyIgnore], a call EnableAutoTextBoxDrawing ld a, TEXT_MON_FAINTED - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID pop de pop hl @@ -99,7 +99,7 @@ ApplyOutOfBattlePoisonDamage: jr nz, .noBlackOut call EnableAutoTextBoxDrawing ld a, TEXT_BLACKED_OUT - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wd72e set 5, [hl] diff --git a/engine/events/pokedex_rating.asm b/engine/events/pokedex_rating.asm index 9dbe2138..f17f7b17 100755 --- a/engine/events/pokedex_rating.asm +++ b/engine/events/pokedex_rating.asm @@ -3,17 +3,17 @@ DisplayDexRating: ld b, wPokedexSeenEnd - wPokedexSeen call CountSetBits ld a, [wNumSetBits] - ld [hDexRatingNumMonsSeen], a + ldh [hDexRatingNumMonsSeen], a ld hl, wPokedexOwned ld b, wPokedexOwnedEnd - wPokedexOwned call CountSetBits ld a, [wNumSetBits] - ld [hDexRatingNumMonsOwned], a + ldh [hDexRatingNumMonsOwned], a ld hl, DexRatingsTable .findRating ld a, [hli] ld b, a - ld a, [hDexRatingNumMonsOwned] + ldh a, [hDexRatingNumMonsOwned] cp b jr c, .foundRating inc hl @@ -34,10 +34,10 @@ DisplayDexRating: jp WaitForTextScrollButtonPress .hallOfFame ld de, wDexRatingNumMonsSeen - ld a, [hDexRatingNumMonsSeen] + ldh a, [hDexRatingNumMonsSeen] ld [de], a inc de - ld a, [hDexRatingNumMonsOwned] + ldh a, [hDexRatingNumMonsOwned] ld [de], a inc de .copyRatingTextLoop diff --git a/engine/events/pokemart.asm b/engine/events/pokemart.asm index b05e4ed6..0c71e4de 100755 --- a/engine/events/pokemart.asm +++ b/engine/events/pokemart.asm @@ -77,7 +77,7 @@ DisplayPokemartDialogue_:: jr c, .unsellableItem ld a, PRICEDITEMLISTMENU ld [wListMenuID], a - ld [hHalveItemPrices], a ; halve prices when selling + ldh [hHalveItemPrices], a ; halve prices when selling call DisplayChooseQuantityMenu inc a jr z, .sellMenuLoop ; if the player closed the choose quantity menu with the B button @@ -152,7 +152,7 @@ DisplayPokemartDialogue_:: ld a, 99 ld [wMaxItemQuantity], a xor a - ld [hHalveItemPrices], a ; don't halve item prices when buying + ldh [hHalveItemPrices], a ; don't halve item prices when buying call DisplayChooseQuantityMenu inc a jr z, .buyMenuLoop ; if the player closed the choose quantity menu with the B button diff --git a/engine/events/prize_menu.asm b/engine/events/prize_menu.asm index 0030aafb..2d8bde90 100755 --- a/engine/events/prize_menu.asm +++ b/engine/events/prize_menu.asm @@ -64,7 +64,7 @@ GetPrizeMenuId: ; display the three prizes' names ; (distinguishing between Pokemon names ; and Items (specifically TMs) names) - ld a, [hSpriteIndexOrTextID] + ldh a, [hSpriteIndexOrTextID] sub 3 ; prize-texts' id are 3, 4 and 5 ld [wWhichPrizeWindow], a ; prize-texts' id (relative, i.e. 0, 1 or 2) add a @@ -177,11 +177,11 @@ LoadCoinsToSubtract: ld hl, wPrize1Price add hl, de ; get selected prize's price xor a - ld [hUnusedCoinsByte], a + ldh [hUnusedCoinsByte], a ld a, [hli] - ld [hCoins], a + ldh [hCoins], a ld a, [hl] - ld [hCoins + 1], a + ldh [hCoins + 1], a ret HandlePrizeChoice: diff --git a/engine/events/saffron_guards.asm b/engine/events/saffron_guards.asm index 59c2725c..cd008394 100755 --- a/engine/events/saffron_guards.asm +++ b/engine/events/saffron_guards.asm @@ -2,7 +2,7 @@ RemoveGuardDrink:: ld hl, GuardDrinksList .drinkLoop ld a, [hli] - ld [hItemToRemoveID], a + ldh [hItemToRemoveID], a and a ret z push hl diff --git a/engine/events/vending_machine.asm b/engine/events/vending_machine.asm index acb8dce8..7bda91b0 100755 --- a/engine/events/vending_machine.asm +++ b/engine/events/vending_machine.asm @@ -37,17 +37,17 @@ VendingMachineMenu:: cp 3 ; chose Cancel? jr z, .notThirsty xor a - ld [hMoney], a - ld [hMoney + 2], a + ldh [hMoney], a + ldh [hMoney + 2], a ld a, $2 - ld [hMoney + 1], a + ldh [hMoney + 1], a call HasEnoughMoney jr nc, .enoughMoney ld hl, VendingMachineText4 jp PrintText .enoughMoney call LoadVendingMachineItem - ld a, [hVendingMachineItem] + ldh a, [hVendingMachineItem] ld b, a ld c, 1 call GiveItem @@ -121,13 +121,13 @@ LoadVendingMachineItem: ld e, a add hl, de ld a, [hli] - ld [hVendingMachineItem], a + ldh [hVendingMachineItem], a ld a, [hli] - ld [hVendingMachinePrice], a + ldh [hVendingMachinePrice], a ld a, [hli] - ld [hVendingMachinePrice + 1], a + ldh [hVendingMachinePrice + 1], a ld a, [hl] - ld [hVendingMachinePrice + 2], a + ldh [hVendingMachinePrice + 2], a ret INCLUDE "data/items/vending_prices.asm" diff --git a/engine/gfx/hp_bar.asm b/engine/gfx/hp_bar.asm index 4b91da58..b7bd97f2 100755 --- a/engine/gfx/hp_bar.asm +++ b/engine/gfx/hp_bar.asm @@ -21,22 +21,22 @@ GetHPBarLength: rr e srl d rr e - ld a, [hMultiplicand+1] + ldh a, [hMultiplicand+1] ld b, a - ld a, [hMultiplicand+2] + ldh a, [hMultiplicand+2] srl b ; divide multiplication result as well rr a srl b rr a - ld [hMultiplicand+2], a + ldh [hMultiplicand+2], a ld a, b - ld [hMultiplicand+1], a + ldh [hMultiplicand+1], a .maxHPSmaller256 ld a, e - ld [hDivisor], a + ldh [hDivisor], a ld b, $4 call Divide - ld a, [hMultiplicand+2] + ldh a, [hMultiplicand+2] ld e, a ; e = bc * 48 / de (num of pixels of HP bar) pop hl and a @@ -213,7 +213,7 @@ UpdateHPBar_PrintHPNumber: ld a, [wHPBarOldHP + 1] ld [wHPBarTempHP], a push hl - ld a, [hFlagsFFF6] + ldh a, [hFlagsFFF6] bit 0, a jr z, .asm_fb15 ld de, $9 diff --git a/engine/gfx/mon_icons.asm b/engine/gfx/mon_icons.asm index 7a96b36c..19008c05 100755 --- a/engine/gfx/mon_icons.asm +++ b/engine/gfx/mon_icons.asm @@ -169,7 +169,7 @@ WriteMonPartySpriteOAMByPartyIndex: push hl push de push bc - ld a, [hPartyMonIndex] + ldh a, [hPartyMonIndex] ld hl, wPartySpecies ld e, a ld d, 0 @@ -187,7 +187,7 @@ WriteMonPartySpriteOAMBySpecies: ; Write OAM blocks for the party sprite of the species in ; [wMonPartySpriteSpecies]. xor a - ld [hPartyMonIndex], a + ldh [hPartyMonIndex], a ld a, [wMonPartySpriteSpecies] call GetPartyMonSpriteID ld [wOAMBaseTile], a @@ -237,7 +237,7 @@ WriteMonPartySpriteOAM: push af ld c, $10 ld h, wOAMBuffer / $100 - ld a, [hPartyMonIndex] + ldh a, [hPartyMonIndex] swap a ld l, a add $10 diff --git a/engine/gfx/oam_dma.asm b/engine/gfx/oam_dma.asm index aeea4c01..d8d8839a 100644 --- a/engine/gfx/oam_dma.asm +++ b/engine/gfx/oam_dma.asm @@ -15,7 +15,7 @@ WriteDMACodeToHRAM:: DMARoutine: ; initiate DMA ld a, wOAMBuffer / $100 - ld [rDMA], a + ldh [rDMA], a ; wait for DMA to finish ld a, $28 diff --git a/engine/gfx/palettes.asm b/engine/gfx/palettes.asm index 58e08e86..23203374 100755 --- a/engine/gfx/palettes.asm +++ b/engine/gfx/palettes.asm @@ -335,13 +335,13 @@ SendSGBPacket: push bc ; disable ReadJoypad to prevent it from interfering with sending the packet ld a, 1 - ld [hDisableJoypadPolling], a + ldh [hDisableJoypadPolling], a ; send RESET signal (P14=LOW, P15=LOW) xor a - ld [rJOYP], a + ldh [rJOYP], a ; set P14=HIGH, P15=HIGH ld a, $30 - ld [rJOYP], a + ldh [rJOYP], a ;load length of packets (16 bytes) ld b, $10 .nextByte @@ -358,10 +358,10 @@ SendSGBPacket: ; else (if 0th bit is zero) set P14=LOW,P15=HIGH (send bit 0) ld a, $20 .next0 - ld [rJOYP], a + ldh [rJOYP], a ; must set P14=HIGH,P15=HIGH between each "pulse" ld a, $30 - ld [rJOYP], a + ldh [rJOYP], a ; rotation will put next bit in 0th position (so we can always use command ; "bit 0,d" to fetch the bit that has to be sent) rr d @@ -372,12 +372,12 @@ SendSGBPacket: jr nz, .nextByte ; send bit 1 as a "stop bit" (end of parameter data) ld a, $20 - ld [rJOYP], a + ldh [rJOYP], a ; set P14=HIGH,P15=HIGH ld a, $30 - ld [rJOYP], a + ldh [rJOYP], a xor a - ld [hDisableJoypadPolling], a + ldh [hDisableJoypadPolling], a ; wait for about 70000 cycles call Wait7000 ; restore (previously pushed) number of packets @@ -457,41 +457,41 @@ CheckSGB: di call SendSGBPacket ld a, 1 - ld [hDisableJoypadPolling], a + ldh [hDisableJoypadPolling], a ei call Wait7000 - ld a, [rJOYP] + ldh a, [rJOYP] and $3 cp $3 jr nz, .isSGB ld a, $20 - ld [rJOYP], a - ld a, [rJOYP] - ld a, [rJOYP] + ldh [rJOYP], a + ldh a, [rJOYP] + ldh a, [rJOYP] call Wait7000 call Wait7000 ld a, $30 - ld [rJOYP], a + ldh [rJOYP], a call Wait7000 call Wait7000 ld a, $10 - ld [rJOYP], a - ld a, [rJOYP] - ld a, [rJOYP] - ld a, [rJOYP] - ld a, [rJOYP] - ld a, [rJOYP] - ld a, [rJOYP] + ldh [rJOYP], a + ldh a, [rJOYP] + ldh a, [rJOYP] + ldh a, [rJOYP] + ldh a, [rJOYP] + ldh a, [rJOYP] + ldh a, [rJOYP] call Wait7000 call Wait7000 ld a, $30 - ld [rJOYP], a - ld a, [rJOYP] - ld a, [rJOYP] - ld a, [rJOYP] + ldh [rJOYP], a + ldh a, [rJOYP] + ldh a, [rJOYP] + ldh a, [rJOYP] call Wait7000 call Wait7000 - ld a, [rJOYP] + ldh a, [rJOYP] and $3 cp $3 jr nz, .isSGB @@ -513,7 +513,7 @@ CopyGfxToSuperNintendoVRAM: push de call DisableLCD ld a, $e4 - ld [rBGP], a + ldh [rBGP], a ld de, vChars1 ld a, [wCopyingSGBTileData] and a @@ -539,11 +539,11 @@ CopyGfxToSuperNintendoVRAM: dec c jr nz, .loop ld a, $e3 - ld [rLCDC], a + ldh [rLCDC], a pop hl call SendSGBPacket xor a - ld [rBGP], a + ldh [rBGP], a ei ret @@ -577,7 +577,7 @@ SendSGBPackets: InitGBCPalettes: ld a, $80 ; index 0 with auto-increment - ld [rBGPI], a + ldh [rBGPI], a inc hl ld c, $20 .loop @@ -592,7 +592,7 @@ InitGBCPalettes: inc d .noCarry ld a, [de] - ld [rBGPD], a + ldh [rBGPD], a dec c jr nz, .loop ret diff --git a/engine/gfx/screen_effects.asm b/engine/gfx/screen_effects.asm index 0d3806c1..e8648901 100755 --- a/engine/gfx/screen_effects.asm +++ b/engine/gfx/screen_effects.asm @@ -1,14 +1,14 @@ ; b = new colour for BG colour 0 (usually white) for 4 frames ChangeBGPalColor0_4Frames: call GetPredefRegisters - ld a, [rBGP] + ldh a, [rBGP] or b - ld [rBGP], a + ldh [rBGP], a ld c, 4 call DelayFrames - ld a, [rBGP] + ldh a, [rBGP] and %11111100 - ld [rBGP], a + ldh [rBGP], a ret PredefShakeScreenVertically: @@ -19,7 +19,7 @@ PredefShakeScreenVertically: ld [wDisableVBlankWYUpdate], a xor a .loop - ld [hMutateWY], a + ldh [hMutateWY], a call .MutateWY call .MutateWY dec b @@ -30,10 +30,10 @@ PredefShakeScreenVertically: ret .MutateWY - ld a, [hMutateWY] + ldh a, [hMutateWY] xor b - ld [hMutateWY], a - ld [rWY], a + ldh [hMutateWY], a + ldh [rWY], a ld c, 3 jp DelayFrames @@ -43,7 +43,7 @@ PredefShakeScreenHorizontally: call GetPredefRegisters xor a .loop - ld [hMutateWX], a + ldh [hMutateWX], a call .MutateWX ld c, 1 call DelayFrames @@ -54,18 +54,18 @@ PredefShakeScreenHorizontally: ; restore normal WX ld a, 7 - ld [rWX], a + ldh [rWX], a ret .MutateWX - ld a, [hMutateWX] + ldh a, [hMutateWX] xor b - ld [hMutateWX], a + ldh [hMutateWX], a bit 7, a jr z, .skipZeroing xor a ; zero a if it's negative .skipZeroing add 7 - ld [rWX], a + ldh [rWX], a ld c, 4 jp DelayFrames diff --git a/engine/gfx/sprite_oam.asm b/engine/gfx/sprite_oam.asm index 68128413..1a96286d 100644 --- a/engine/gfx/sprite_oam.asm +++ b/engine/gfx/sprite_oam.asm @@ -13,13 +13,13 @@ PrepareOAMData:: .updateEnabled xor a - ld [hOAMBufferOffset], a + ldh [hOAMBufferOffset], a .spriteLoop - ld [hSpriteOffset2], a + ldh [hSpriteOffset2], a ld d, wSpriteStateData1 / $100 - ld a, [hSpriteOffset2] + ldh a, [hSpriteOffset2] ld e, a ld a, [de] ; c1x0 and a @@ -58,7 +58,7 @@ PrepareOAMData:: ld e, a ld a, [de] ; c2x7 and $80 - ld [hSpritePriority], a ; temp store sprite priority + ldh [hSpritePriority], a ; temp store sprite priority pop de ; read the entry from the table @@ -77,17 +77,17 @@ PrepareOAMData:: call GetSpriteScreenXY - ld a, [hOAMBufferOffset] + ldh a, [hOAMBufferOffset] ld e, a ld d, wOAMBuffer / $100 .tileLoop - ld a, [hSpriteScreenY] ; temp for sprite Y position + ldh a, [hSpriteScreenY] ; temp for sprite Y position add $10 ; Y=16 is top of screen (Y=0 is invisible) add [hl] ; add Y offset from table ld [de], a ; write new sprite OAM Y position inc hl - ld a, [hSpriteScreenX] ; temp for sprite X position + ldh a, [hSpriteScreenX] ; temp for sprite X position add $8 ; X=8 is left of screen (X=0 is invisible) add [hl] ; add X offset from table inc e @@ -126,7 +126,7 @@ PrepareOAMData:: ld a, [hl] bit 1, a ; is the tile allowed to set the sprite priority bit? jr z, .skipPriority - ld a, [hSpritePriority] + ldh a, [hSpritePriority] or [hl] .skipPriority inc hl @@ -136,16 +136,16 @@ PrepareOAMData:: jr z, .tileLoop ld a, e - ld [hOAMBufferOffset], a + ldh [hOAMBufferOffset], a .nextSprite - ld a, [hSpriteOffset2] + ldh a, [hSpriteOffset2] add $10 cp $100 % $100 jp nz, .spriteLoop ; Clear unused OAM. - ld a, [hOAMBufferOffset] + ldh a, [hOAMBufferOffset] ld l, a ld h, wOAMBuffer / $100 ld de, $4 @@ -170,20 +170,20 @@ GetSpriteScreenXY: inc e inc e ld a, [de] ; c1x4 - ld [hSpriteScreenY], a + ldh [hSpriteScreenY], a inc e inc e ld a, [de] ; c1x6 - ld [hSpriteScreenX], a + ldh [hSpriteScreenX], a ld a, 4 add e ld e, a - ld a, [hSpriteScreenY] + ldh a, [hSpriteScreenY] add 4 and $f0 ld [de], a ; c1xa (y) inc e - ld a, [hSpriteScreenX] + ldh a, [hSpriteScreenX] and $f0 ld [de], a ; c1xb (x) ret diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm index 238c2ea9..3668dd74 100755 --- a/engine/items/item_effects.asm +++ b/engine/items/item_effects.asm @@ -239,14 +239,14 @@ ItemUseBall: ; Calculate MaxHP * 255. xor a - ld [hMultiplicand], a + ldh [hMultiplicand], a ld hl, wEnemyMonMaxHP ld a, [hli] - ld [hMultiplicand + 1], a + ldh [hMultiplicand + 1], a ld a, [hl] - ld [hMultiplicand + 2], a + ldh [hMultiplicand + 2], a ld a, 255 - ld [hMultiplier], a + ldh [hMultiplier], a call Multiply ; Determine BallFactor. It's 8 for Great Balls and 12 for the others. @@ -260,7 +260,7 @@ ItemUseBall: ; Note that the results of all division operations are floored. ; Calculate (MaxHP * 255) / BallFactor. - ld [hDivisor], a + ldh [hDivisor], a ld b, 4 ; number of bytes in dividend call Divide @@ -281,17 +281,17 @@ ItemUseBall: .skip2 ; Let W = ((MaxHP * 255) / BallFactor) / max(HP / 4, 1). Calculate W. - ld [hDivisor], a + ldh [hDivisor], a ld b, 4 call Divide ; If W > 255, store 255 in [hQuotient + 3]. ; Let X = min(W, 255) = [hQuotient + 3]. - ld a, [hQuotient + 2] + ldh a, [hQuotient + 2] and a jr z, .skip3 ld a, 255 - ld [hQuotient + 3], a + ldh [hQuotient + 3], a .skip3 pop bc ; b = Rand1 - Status @@ -302,7 +302,7 @@ ItemUseBall: jr c, .failedToCapture ; If W > 255, the ball captures the Pokémon. - ld a, [hQuotient + 2] + ldh a, [hQuotient + 2] and a jr nz, .captured @@ -310,7 +310,7 @@ ItemUseBall: ; If Rand2 > X, the ball fails to capture the Pokémon. ld b, a - ld a, [hQuotient + 3] + ldh a, [hQuotient + 3] cp b jr c, .failedToCapture @@ -318,17 +318,17 @@ ItemUseBall: jr .skipShakeCalculations .failedToCapture - ld a, [hQuotient + 3] + ldh a, [hQuotient + 3] ld [wPokeBallCaptureCalcTemp], a ; Save X. ; Calculate CatchRate * 100. xor a - ld [hMultiplicand], a - ld [hMultiplicand + 1], a + ldh [hMultiplicand], a + ldh [hMultiplicand + 1], a ld a, [wEnemyMonActualCatchRate] - ld [hMultiplicand + 2], a + ldh [hMultiplicand + 2], a ld a, 100 - ld [hMultiplier], a + ldh [hMultiplier], a call Multiply ; Determine BallFactor2. @@ -349,26 +349,26 @@ ItemUseBall: .skip4 ; Let Y = (CatchRate * 100) / BallFactor2. Calculate Y. ld a, b - ld [hDivisor], a + ldh [hDivisor], a ld b, 4 call Divide ; If Y > 255, there are 3 shakes. ; Note that this shouldn't be possible. ; The maximum value of Y is (255 * 100) / 150 = 170. - ld a, [hQuotient + 2] + ldh a, [hQuotient + 2] and a ld b, $63 ; 3 shakes jr nz, .setAnimData ; Calculate X * Y. ld a, [wPokeBallCaptureCalcTemp] - ld [hMultiplier], a + ldh [hMultiplier], a call Multiply ; Calculate (X * Y) / 255. ld a, 255 - ld [hDivisor], a + ldh [hDivisor], a ld b, 4 call Divide @@ -386,9 +386,9 @@ ItemUseBall: .addAilmentValue ; If the Pokémon has a status ailment, add Status2. - ld a, [hQuotient + 3] + ldh a, [hQuotient + 3] add b - ld [hQuotient + 3], a + ldh [hQuotient + 3], a .skip5 ; Finally determine the number of shakes. @@ -398,7 +398,7 @@ ItemUseBall: ; 10 ≤ Z < 30: 1 shake ; 30 ≤ Z < 70: 2 shakes ; 70 ≤ Z: 3 shakes - ld a, [hQuotient + 3] + ldh a, [hQuotient + 3] cp 10 ld b, $20 jr c, .setAnimData @@ -422,7 +422,7 @@ ItemUseBall: ld a, TOSS_ANIM ld [wAnimationID], a xor a - ld [hWhoseTurn], a + ldh [hWhoseTurn], a ld [wAnimationType], a ld [wDamageMultipliers], a ld a, [wWhichPokemon] @@ -656,7 +656,7 @@ ItemUseBicycle: jp nc, NoCyclingAllowedHere call ItemUseReloadOverworldData xor a ; no keys pressed - ld [hJoyHeld], a ; current joypad state + ldh [hJoyHeld], a ; current joypad state inc a ld [wWalkBikeSurfState], a ; change player state to bicycling ld hl, GotOnBicycleText @@ -687,11 +687,11 @@ ItemUseSurfboard: jp PrintText .tryToStopSurfing xor a - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a ld d, 16 ; talking range in pixels (normal range) call IsSpriteInFrontOfPlayer2 res 7, [hl] - ld a, [hSpriteIndexOrTextID] + ldh a, [hSpriteIndexOrTextID] and a ; is there a sprite in the way? jr nz, .cannotStopSurfing ld hl, TilePairCollisionsWater @@ -1018,18 +1018,18 @@ ItemUseMedicine: call AddNTimes ld a, [hli] ld [wHPBarMaxHP + 1], a - ld [hDividend], a + ldh [hDividend], a ld a, [hl] ld [wHPBarMaxHP], a - ld [hDividend + 1], a + ldh [hDividend + 1], a ld a, 5 - ld [hDivisor], a + ldh [hDivisor], a ld b, 2 ; number of bytes call Divide ; get 1/5 of max HP of pokemon that used Softboiled ld bc, (wPartyMon1HP + 1) - (wPartyMon1MaxHP + 1) add hl, bc ; hl now points to LSB of current HP of pokemon that used Softboiled ; subtract 1/5 of max HP from current HP of pokemon that used Softboiled - ld a, [hQuotient + 3] + ldh a, [hQuotient + 3] push af ld b, a ld a, [hl] @@ -1037,7 +1037,7 @@ ItemUseMedicine: sub b ld [hld], a ld [wHPBarNewHP], a - ld a, [hQuotient + 2] + ldh a, [hQuotient + 2] ld b, a ld a, [hl] ld [wHPBarOldHP+1], a @@ -1050,15 +1050,15 @@ ItemUseMedicine: call AddNTimes ; calculate coordinates of HP bar of pokemon that used Softboiled ld a, SFX_HEAL_HP call PlaySoundWaitForCurrent - ld a, [hFlagsFFF6] + ldh a, [hFlagsFFF6] set 0, a - ld [hFlagsFFF6], a + ldh [hFlagsFFF6], a ld a, $02 ld [wHPBarType], a predef UpdateHPBar2 ; animate HP bar decrease of pokemon that used Softboiled - ld a, [hFlagsFFF6] + ldh a, [hFlagsFFF6] res 0, a - ld [hFlagsFFF6], a + ldh [hFlagsFFF6], a pop af ld b, a ; store heal amount (1/5 of max HP) ld hl, wHPBarOldHP + 1 @@ -1200,15 +1200,15 @@ ItemUseMedicine: jr z, .playStatusAilmentCuringSound ld a, SFX_HEAL_HP call PlaySoundWaitForCurrent - ld a, [hFlagsFFF6] + ldh a, [hFlagsFFF6] set 0, a - ld [hFlagsFFF6], a + ldh [hFlagsFFF6], a ld a, $02 ld [wHPBarType], a predef UpdateHPBar2 ; animate the HP bar lengthening - ld a, [hFlagsFFF6] + ldh a, [hFlagsFFF6] res 0, a - ld [hFlagsFFF6], a + ldh [hFlagsFFF6], a ld a, REVIVE_MSG ld [wPartyMenuTypeOrMessageID], a ld a, [wcf91] @@ -1224,13 +1224,13 @@ ItemUseMedicine: call PlaySoundWaitForCurrent .showHealingItemMessage xor a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a call ClearScreen dec a ld [wUpdateSpritesEnabled], a call RedrawPartyMenu ; redraws the party menu and displays the message ld a, 1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a ld c, 50 call DelayFrames call WaitForTextScrollButtonPress @@ -1347,11 +1347,11 @@ ItemUseMedicine: ld bc, wPartyMon1Exp - wPartyMon1Level add hl, bc ; hl now points to MSB of experience ; update experience to minimum for new level - ld a, [hExperience] + ldh a, [hExperience] ld [hli], a - ld a, [hExperience + 1] + ldh a, [hExperience + 1] ld [hli], a - ld a, [hExperience + 2] + ldh a, [hExperience + 2] ld [hl], a pop hl ld a, [wWhichPokemon] @@ -1459,7 +1459,7 @@ BaitRockCommon: ld [wAnimationID], a xor a ld [wAnimationType], a - ld [hWhoseTurn], a + ldh [hWhoseTurn], a ld [de], a ; zero escape factor (for bait), zero bait factor (for rock) .randomLoop ; loop until a random number less than 5 is generated call Random @@ -1698,7 +1698,7 @@ ItemUseXStat: call LoadScreenTilesFromBuffer1 ; restore saved screen call Delay3 xor a - ld [hWhoseTurn], a ; set turn to player's turn + ldh [hWhoseTurn], a ; set turn to player's turn callba StatModifierUpEffect ; do stat increase move pop hl pop af @@ -2463,13 +2463,13 @@ RestoreBonusPP: AddBonusPP: push bc ld a, [de] ; normal max PP of move - ld [hDividend + 3], a + ldh [hDividend + 3], a xor a - ld [hDividend], a - ld [hDividend + 1], a - ld [hDividend + 2], a + ldh [hDividend], a + ldh [hDividend + 1], a + ldh [hDividend + 2], a ld a, 5 - ld [hDivisor], a + ldh [hDivisor], a ld b, 4 call Divide ld a, [hl] ; move PP @@ -2480,7 +2480,7 @@ AddBonusPP: srl a ld c, a ; c = number of PP Ups used .loop - ld a, [hQuotient + 3] + ldh a, [hQuotient + 3] cp 8 ; is the amount greater than or equal to 8? jr c, .addAmount ld a, 7 ; cap the amount at 7 @@ -2822,13 +2822,13 @@ SendNewMonToBox: ld d, a callab CalcExperience pop de - ld a, [hExperience] + ldh a, [hExperience] ld [de], a inc de - ld a, [hExperience + 1] + ldh a, [hExperience + 1] ld [de], a inc de - ld a, [hExperience + 2] + ldh a, [hExperience + 2] ld [de], a inc de xor a diff --git a/engine/items/tm_prices.asm b/engine/items/tm_prices.asm index 502191d5..df9761bd 100755 --- a/engine/items/tm_prices.asm +++ b/engine/items/tm_prices.asm @@ -16,10 +16,10 @@ GetMachinePrice:: swap a .highNybbleIsPrice and $f0 - ld [hItemPrice + 1], a + ldh [hItemPrice + 1], a xor a - ld [hItemPrice], a - ld [hItemPrice + 2], a + ldh [hItemPrice], a + ldh [hItemPrice + 2], a ret INCLUDE "data/items/tm_prices.asm" diff --git a/engine/items/town_map.asm b/engine/items/town_map.asm index 285dbfa5..3f6d4fa5 100755 --- a/engine/items/town_map.asm +++ b/engine/items/town_map.asm @@ -6,7 +6,7 @@ DisplayTownMap: ld [hl], $ff push hl ld a, $1 - ld [hJoy7], a + ldh [hJoy7], a ld a, [wCurMap] push af ld b, $0 @@ -65,7 +65,7 @@ DisplayTownMap: .inputLoop call TownMapSpriteBlinkingAnimation call JoypadLowSensitivity - ld a, [hJoy5] + ldh a, [hJoy5] ld b, a and A_BUTTON | B_BUTTON | D_UP | D_DOWN jr z, .inputLoop @@ -77,7 +77,7 @@ DisplayTownMap: jr nz, .pressedDown xor a ld [wTownMapSpriteBlinkingEnabled], a - ld [hJoy7], a + ldh [hJoy7], a ld [wAnimCounter], a call ExitTownMap pop hl @@ -187,7 +187,7 @@ LoadTownMap_Fly:: push hl call DelayFrame call JoypadLowSensitivity - ld a, [hJoy5] + ldh a, [hJoy5] ld b, a pop hl and A_BUTTON | B_BUTTON | D_UP | D_DOWN diff --git a/engine/joypad.asm b/engine/joypad.asm index 31e197e2..87f92635 100644 --- a/engine/joypad.asm +++ b/engine/joypad.asm @@ -2,29 +2,29 @@ _Joypad:: ; hJoyReleased: (hJoyLast ^ hJoyInput) & hJoyLast ; hJoyPressed: (hJoyLast ^ hJoyInput) & hJoyInput - ld a, [hJoyInput] + ldh a, [hJoyInput] cp A_BUTTON + B_BUTTON + SELECT + START ; soft reset jp z, TrySoftReset ld b, a - ld a, [hJoyLast] + ldh a, [hJoyLast] ld e, a xor b ld d, a and e - ld [hJoyReleased], a + ldh [hJoyReleased], a ld a, d and b - ld [hJoyPressed], a + ldh [hJoyPressed], a ld a, b - ld [hJoyLast], a + ldh [hJoyLast], a ld a, [wd730] bit 5, a jr nz, DiscardButtonPresses - ld a, [hJoyLast] - ld [hJoyHeld], a + ldh a, [hJoyLast] + ldh [hJoyHeld], a ld a, [wJoyIgnore] and a @@ -32,19 +32,19 @@ _Joypad:: cpl ld b, a - ld a, [hJoyHeld] + ldh a, [hJoyHeld] and b - ld [hJoyHeld], a - ld a, [hJoyPressed] + ldh [hJoyHeld], a + ldh a, [hJoyPressed] and b - ld [hJoyPressed], a + ldh [hJoyPressed], a ret DiscardButtonPresses: xor a - ld [hJoyHeld], a - ld [hJoyPressed], a - ld [hJoyReleased], a + ldh [hJoyHeld], a + ldh [hJoyPressed], a + ldh [hJoyReleased], a ret TrySoftReset: @@ -52,7 +52,7 @@ TrySoftReset: ; deselect (redundant) ld a, $30 - ld [rJOYP], a + ldh [rJOYP], a ld hl, hSoftReset dec [hl] diff --git a/engine/link/cable_club.asm b/engine/link/cable_club.asm index ca43a895..abb88cc0 100755 --- a/engine/link/cable_club.asm +++ b/engine/link/cable_club.asm @@ -102,25 +102,25 @@ CableClub_DoBattleOrTradeAgain: ld a, SERIAL_PATCH_LIST_PART_TERMINATOR ld [de], a ; end of part 2 call Serial_SyncAndExchangeNybble - ld a, [hSerialConnectionStatus] + ldh a, [hSerialConnectionStatus] cp USING_INTERNAL_CLOCK jr nz, .skipSendingTwoZeroBytes ; if using internal clock ; send two zero bytes for syncing purposes? call Delay3 xor a - ld [hSerialSendData], a + ldh [hSerialSendData], a ld a, START_TRANSFER_INTERNAL_CLOCK - ld [rSC], a + ldh [rSC], a call DelayFrame xor a - ld [hSerialSendData], a + ldh [hSerialSendData], a ld a, START_TRANSFER_INTERNAL_CLOCK - ld [rSC], a + ldh [rSC], a .skipSendingTwoZeroBytes call Delay3 ld a, (1 << SERIAL) - ld [rIE], a + ldh [rIE], a ld hl, wSerialRandomNumberListBlock ld de, wSerialOtherGameboyRandomNumberListBlock ld bc, $11 @@ -138,10 +138,10 @@ CableClub_DoBattleOrTradeAgain: ld bc, $c8 call Serial_ExchangeBytes ld a, (1 << SERIAL) | (1 << TIMER) | (1 << VBLANK) - ld [rIE], a + ldh [rIE], a ld a, SFX_STOP_ALL_MUSIC call PlaySound - ld a, [hSerialConnectionStatus] + ldh a, [hSerialConnectionStatus] cp USING_INTERNAL_CLOCK jr z, .skipCopyingRandomNumberList ; the list generated by the gameboy clocking the connection is used by both gameboys ld hl, wSerialOtherGameboyRandomNumberListBlock @@ -263,7 +263,7 @@ CableClub_DoBattleOrTradeAgain: ld [wTradeCenterPointerTableIndex], a ld a, SFX_STOP_ALL_MUSIC call PlaySound - ld a, [hSerialConnectionStatus] + ldh a, [hSerialConnectionStatus] cp USING_INTERNAL_CLOCK ld c, 66 call z, DelayFrames ; delay if using internal clock @@ -551,7 +551,7 @@ TradeCenter_SelectMon: Coorda 1, 16 .cancelMenuItem_JoypadLoop call JoypadLowSensitivity - ld a, [hJoy5] + ldh a, [hJoy5] and a ; pressed anything? jr z, .cancelMenuItem_JoypadLoop bit 0, a ; A button pressed? @@ -663,7 +663,7 @@ TradeCenter_PrintPartyListNames: push de push hl ld a, c - ld [hPastLeadingZeros], a + ldh [hPastLeadingZeros], a call GetMonName pop hl call PlaceString @@ -837,7 +837,7 @@ TradeCenter_Trade: call LoadHpBarAndStatusTilePatterns xor a ld [wUnusedCC5B], a - ld a, [hSerialConnectionStatus] + ldh a, [hSerialConnectionStatus] cp USING_EXTERNAL_CLOCK jr z, .usingExternalClock predef InternalClockTradeAnim @@ -914,7 +914,7 @@ CableClub_Run: ld [wGrassRate], a inc a ; LINK_STATE_IN_CABLE_CLUB ld [wLinkState], a - ld [hJoy5], a + ldh [hJoy5], a ld a, 10 ld [wAudioFadeOutControl], a ld a, BANK(Music_Celadon) diff --git a/engine/link/cable_club_npc.asm b/engine/link/cable_club_npc.asm index 6001c314..16c62f9e 100755 --- a/engine/link/cable_club_npc.asm +++ b/engine/link/cable_club_npc.asm @@ -15,27 +15,27 @@ CableClubNPC:: ld a, 90 ld [wLinkTimeoutCounter], a .establishConnectionLoop - ld a, [hSerialConnectionStatus] + ldh a, [hSerialConnectionStatus] cp USING_INTERNAL_CLOCK jr z, .establishedConnection cp USING_EXTERNAL_CLOCK jr z, .establishedConnection ld a, CONNECTION_NOT_ESTABLISHED - ld [hSerialConnectionStatus], a + ldh [hSerialConnectionStatus], a ld a, ESTABLISH_CONNECTION_WITH_EXTERNAL_CLOCK - ld [rSB], a + ldh [rSB], a xor a - ld [hSerialReceiveData], a + ldh [hSerialReceiveData], a ld a, START_TRANSFER_EXTERNAL_CLOCK - ld [rSC], a + ldh [rSC], a ld a, [wLinkTimeoutCounter] dec a ld [wLinkTimeoutCounter], a jr z, .failedToEstablishConnection ld a, ESTABLISH_CONNECTION_WITH_INTERNAL_CLOCK - ld [rSB], a + ldh [rSB], a ld a, START_TRANSFER_INTERNAL_CLOCK - ld [rSC], a + ldh [rSC], a call DelayFrame jr .establishConnectionLoop .establishedConnection @@ -65,7 +65,7 @@ CableClubNPC:: ld [hli], a xor a ld [hl], a - ld [hSerialReceivedNewData], a + ldh [hSerialReceivedNewData], a ld [wSerialExchangeNybbleSendData], a call Serial_SyncAndExchangeNybble ld hl, wUnknownSerialCounter @@ -141,11 +141,11 @@ CableClubNPCMakingPreparationsText: CloseLinkConnection: call Delay3 ld a, CONNECTION_NOT_ESTABLISHED - ld [hSerialConnectionStatus], a + ldh [hSerialConnectionStatus], a ld a, ESTABLISH_CONNECTION_WITH_EXTERNAL_CLOCK - ld [rSB], a + ldh [rSB], a xor a - ld [hSerialReceiveData], a + ldh [hSerialReceiveData], a ld a, START_TRANSFER_EXTERNAL_CLOCK - ld [rSC], a + ldh [rSC], a ret diff --git a/engine/math/bcd.asm b/engine/math/bcd.asm index 2d0b43df..1e5aedc9 100644 --- a/engine/math/bcd.asm +++ b/engine/math/bcd.asm @@ -6,39 +6,39 @@ DivideBCDPredef4:: DivideBCD:: xor a - ld [hDivideBCDBuffer], a - ld [hDivideBCDBuffer+1], a - ld [hDivideBCDBuffer+2], a + ldh [hDivideBCDBuffer], a + ldh [hDivideBCDBuffer+1], a + ldh [hDivideBCDBuffer+2], a ld d, $1 .mulBy10Loop ; multiply the divisor by 10 until the leading digit is nonzero ; to set up the standard long division algorithm - ld a, [hDivideBCDDivisor] + ldh a, [hDivideBCDDivisor] and $f0 jr nz, .next inc d - ld a, [hDivideBCDDivisor] + ldh a, [hDivideBCDDivisor] swap a and $f0 ld b, a - ld a, [hDivideBCDDivisor+1] + ldh a, [hDivideBCDDivisor+1] swap a - ld [hDivideBCDDivisor+1], a + ldh [hDivideBCDDivisor+1], a and $f or b - ld [hDivideBCDDivisor], a - ld a, [hDivideBCDDivisor+1] + ldh [hDivideBCDDivisor], a + ldh a, [hDivideBCDDivisor+1] and $f0 ld b, a - ld a, [hDivideBCDDivisor+2] + ldh a, [hDivideBCDDivisor+2] swap a - ld [hDivideBCDDivisor+2], a + ldh [hDivideBCDDivisor+2], a and $f or b - ld [hDivideBCDDivisor+1], a - ld a, [hDivideBCDDivisor+2] + ldh [hDivideBCDDivisor+1], a + ldh a, [hDivideBCDDivisor+2] and $f0 - ld [hDivideBCDDivisor+2], a + ldh [hDivideBCDDivisor+2], a jr .mulBy10Loop .next push de @@ -48,16 +48,16 @@ DivideBCD:: ld a, b swap a and $f0 - ld [hDivideBCDBuffer], a + ldh [hDivideBCDBuffer], a dec d jr z, .next2 push de call DivideBCD_divDivisorBy10 call DivideBCD_getNextDigit pop de - ld a, [hDivideBCDBuffer] + ldh a, [hDivideBCDBuffer] or b - ld [hDivideBCDBuffer], a + ldh [hDivideBCDBuffer], a dec d jr z, .next2 push de @@ -67,16 +67,16 @@ DivideBCD:: ld a, b swap a and $f0 - ld [hDivideBCDBuffer+1], a + ldh [hDivideBCDBuffer+1], a dec d jr z, .next2 push de call DivideBCD_divDivisorBy10 call DivideBCD_getNextDigit pop de - ld a, [hDivideBCDBuffer+1] + ldh a, [hDivideBCDBuffer+1] or b - ld [hDivideBCDBuffer+1], a + ldh [hDivideBCDBuffer+1], a dec d jr z, .next2 push de @@ -86,23 +86,23 @@ DivideBCD:: ld a, b swap a and $f0 - ld [hDivideBCDBuffer+2], a + ldh [hDivideBCDBuffer+2], a dec d jr z, .next2 push de call DivideBCD_divDivisorBy10 call DivideBCD_getNextDigit pop de - ld a, [hDivideBCDBuffer+2] + ldh a, [hDivideBCDBuffer+2] or b - ld [hDivideBCDBuffer+2], a + ldh [hDivideBCDBuffer+2], a .next2 - ld a, [hDivideBCDBuffer] - ld [hDivideBCDQuotient], a ; the same memory location as hDivideBCDDivisor - ld a, [hDivideBCDBuffer+1] - ld [hDivideBCDQuotient+1], a - ld a, [hDivideBCDBuffer+2] - ld [hDivideBCDQuotient+2], a + ldh a, [hDivideBCDBuffer] + ldh [hDivideBCDQuotient], a ; the same memory location as hDivideBCDDivisor + ldh a, [hDivideBCDBuffer+1] + ldh [hDivideBCDQuotient+1], a + ldh a, [hDivideBCDBuffer+2] + ldh [hDivideBCDQuotient+2], a pop de ld a, $6 sub d @@ -117,28 +117,28 @@ DivideBCD:: ret DivideBCD_divDivisorBy10: - ld a, [hDivideBCDDivisor+2] + ldh a, [hDivideBCDDivisor+2] swap a and $f ld b, a - ld a, [hDivideBCDDivisor+1] + ldh a, [hDivideBCDDivisor+1] swap a - ld [hDivideBCDDivisor+1], a + ldh [hDivideBCDDivisor+1], a and $f0 or b - ld [hDivideBCDDivisor+2], a - ld a, [hDivideBCDDivisor+1] + ldh [hDivideBCDDivisor+2], a + ldh a, [hDivideBCDDivisor+1] and $f ld b, a - ld a, [hDivideBCDDivisor] + ldh a, [hDivideBCDDivisor] swap a - ld [hDivideBCDDivisor], a + ldh [hDivideBCDDivisor], a and $f0 or b - ld [hDivideBCDDivisor+1], a - ld a, [hDivideBCDDivisor] + ldh [hDivideBCDDivisor+1], a + ldh a, [hDivideBCDDivisor] and $f - ld [hDivideBCDDivisor], a + ldh [hDivideBCDDivisor], a ret DivideBCD_getNextDigit: diff --git a/engine/math/multiply_divide.asm b/engine/math/multiply_divide.asm index 8bbc20a1..2fcda158 100755 --- a/engine/math/multiply_divide.asm +++ b/engine/math/multiply_divide.asm @@ -2,142 +2,142 @@ _Multiply:: ld a, $8 ld b, a xor a - ld [hProduct], a - ld [hMultiplyBuffer], a - ld [hMultiplyBuffer+1], a - ld [hMultiplyBuffer+2], a - ld [hMultiplyBuffer+3], a + ldh [hProduct], a + ldh [hMultiplyBuffer], a + ldh [hMultiplyBuffer+1], a + ldh [hMultiplyBuffer+2], a + ldh [hMultiplyBuffer+3], a .loop - ld a, [hMultiplier] + ldh a, [hMultiplier] srl a - ld [hMultiplier], a ; (aliases: hDivisor, hMultiplier, hPowerOf10) + ldh [hMultiplier], a ; (aliases: hDivisor, hMultiplier, hPowerOf10) jr nc, .smallMultiplier - ld a, [hMultiplyBuffer+3] + ldh a, [hMultiplyBuffer+3] ld c, a - ld a, [hMultiplicand+2] + ldh a, [hMultiplicand+2] add c - ld [hMultiplyBuffer+3], a - ld a, [hMultiplyBuffer+2] + ldh [hMultiplyBuffer+3], a + ldh a, [hMultiplyBuffer+2] ld c, a - ld a, [hMultiplicand+1] + ldh a, [hMultiplicand+1] adc c - ld [hMultiplyBuffer+2], a - ld a, [hMultiplyBuffer+1] + ldh [hMultiplyBuffer+2], a + ldh a, [hMultiplyBuffer+1] ld c, a - ld a, [hMultiplicand] ; (aliases: hMultiplicand) + ldh a, [hMultiplicand] ; (aliases: hMultiplicand) adc c - ld [hMultiplyBuffer+1], a - ld a, [hMultiplyBuffer] + ldh [hMultiplyBuffer+1], a + ldh a, [hMultiplyBuffer] ld c, a - ld a, [hProduct] ; (aliases: hProduct, hPastLeadingZeros, hQuotient) + ldh a, [hProduct] ; (aliases: hProduct, hPastLeadingZeros, hQuotient) adc c - ld [hMultiplyBuffer], a + ldh [hMultiplyBuffer], a .smallMultiplier dec b jr z, .done - ld a, [hMultiplicand+2] + ldh a, [hMultiplicand+2] sla a - ld [hMultiplicand+2], a - ld a, [hMultiplicand+1] + ldh [hMultiplicand+2], a + ldh a, [hMultiplicand+1] rl a - ld [hMultiplicand+1], a - ld a, [hMultiplicand] + ldh [hMultiplicand+1], a + ldh a, [hMultiplicand] rl a - ld [hMultiplicand], a - ld a, [hProduct] + ldh [hMultiplicand], a + ldh a, [hProduct] rl a - ld [hProduct], a + ldh [hProduct], a jr .loop .done - ld a, [hMultiplyBuffer+3] - ld [hProduct+3], a - ld a, [hMultiplyBuffer+2] - ld [hProduct+2], a - ld a, [hMultiplyBuffer+1] - ld [hProduct+1], a - ld a, [hMultiplyBuffer] - ld [hProduct], a + ldh a, [hMultiplyBuffer+3] + ldh [hProduct+3], a + ldh a, [hMultiplyBuffer+2] + ldh [hProduct+2], a + ldh a, [hMultiplyBuffer+1] + ldh [hProduct+1], a + ldh a, [hMultiplyBuffer] + ldh [hProduct], a ret _Divide:: xor a - ld [hDivideBuffer], a - ld [hDivideBuffer+1], a - ld [hDivideBuffer+2], a - ld [hDivideBuffer+3], a - ld [hDivideBuffer+4], a + ldh [hDivideBuffer], a + ldh [hDivideBuffer+1], a + ldh [hDivideBuffer+2], a + ldh [hDivideBuffer+3], a + ldh [hDivideBuffer+4], a ld a, $9 ld e, a .asm_37db3 - ld a, [hDivideBuffer] + ldh a, [hDivideBuffer] ld c, a - ld a, [hDividend+1] ; (aliases: hMultiplicand) + ldh a, [hDividend+1] ; (aliases: hMultiplicand) sub c ld d, a - ld a, [hDivisor] ; (aliases: hDivisor, hMultiplier, hPowerOf10) + ldh a, [hDivisor] ; (aliases: hDivisor, hMultiplier, hPowerOf10) ld c, a - ld a, [hDividend] ; (aliases: hProduct, hPastLeadingZeros, hQuotient) + ldh a, [hDividend] ; (aliases: hProduct, hPastLeadingZeros, hQuotient) sbc c jr c, .asm_37dce - ld [hDividend], a ; (aliases: hProduct, hPastLeadingZeros, hQuotient) + ldh [hDividend], a ; (aliases: hProduct, hPastLeadingZeros, hQuotient) ld a, d - ld [hDividend+1], a ; (aliases: hMultiplicand) - ld a, [hDivideBuffer+4] + ldh [hDividend+1], a ; (aliases: hMultiplicand) + ldh a, [hDivideBuffer+4] inc a - ld [hDivideBuffer+4], a + ldh [hDivideBuffer+4], a jr .asm_37db3 .asm_37dce ld a, b cp $1 jr z, .asm_37e18 - ld a, [hDivideBuffer+4] + ldh a, [hDivideBuffer+4] sla a - ld [hDivideBuffer+4], a - ld a, [hDivideBuffer+3] + ldh [hDivideBuffer+4], a + ldh a, [hDivideBuffer+3] rl a - ld [hDivideBuffer+3], a - ld a, [hDivideBuffer+2] + ldh [hDivideBuffer+3], a + ldh a, [hDivideBuffer+2] rl a - ld [hDivideBuffer+2], a - ld a, [hDivideBuffer+1] + ldh [hDivideBuffer+2], a + ldh a, [hDivideBuffer+1] rl a - ld [hDivideBuffer+1], a + ldh [hDivideBuffer+1], a dec e jr nz, .asm_37e04 ld a, $8 ld e, a - ld a, [hDivideBuffer] - ld [hDivisor], a ; (aliases: hDivisor, hMultiplier, hPowerOf10) + ldh a, [hDivideBuffer] + ldh [hDivisor], a ; (aliases: hDivisor, hMultiplier, hPowerOf10) xor a - ld [hDivideBuffer], a - ld a, [hDividend+1] ; (aliases: hMultiplicand) - ld [hDividend], a ; (aliases: hProduct, hPastLeadingZeros, hQuotient) - ld a, [hDividend+2] - ld [hDividend+1], a ; (aliases: hMultiplicand) - ld a, [hDividend+3] - ld [hDividend+2], a + ldh [hDivideBuffer], a + ldh a, [hDividend+1] ; (aliases: hMultiplicand) + ldh [hDividend], a ; (aliases: hProduct, hPastLeadingZeros, hQuotient) + ldh a, [hDividend+2] + ldh [hDividend+1], a ; (aliases: hMultiplicand) + ldh a, [hDividend+3] + ldh [hDividend+2], a .asm_37e04 ld a, e cp $1 jr nz, .asm_37e0a dec b .asm_37e0a - ld a, [hDivisor] ; (aliases: hDivisor, hMultiplier, hPowerOf10) + ldh a, [hDivisor] ; (aliases: hDivisor, hMultiplier, hPowerOf10) srl a - ld [hDivisor], a ; (aliases: hDivisor, hMultiplier, hPowerOf10) - ld a, [hDivideBuffer] + ldh [hDivisor], a ; (aliases: hDivisor, hMultiplier, hPowerOf10) + ldh a, [hDivideBuffer] rr a - ld [hDivideBuffer], a + ldh [hDivideBuffer], a jr .asm_37db3 .asm_37e18 - ld a, [hDividend+1] ; (aliases: hMultiplicand) - ld [hRemainder], a ; (aliases: hDivisor, hMultiplier, hPowerOf10) - ld a, [hDivideBuffer+4] - ld [hQuotient+3], a - ld a, [hDivideBuffer+3] - ld [hQuotient+2], a - ld a, [hDivideBuffer+2] - ld [hQuotient+1], a ; (aliases: hMultiplicand) - ld a, [hDivideBuffer+1] - ld [hDividend], a ; (aliases: hProduct, hPastLeadingZeros, hQuotient) + ldh a, [hDividend+1] ; (aliases: hMultiplicand) + ldh [hRemainder], a ; (aliases: hDivisor, hMultiplier, hPowerOf10) + ldh a, [hDivideBuffer+4] + ldh [hQuotient+3], a + ldh a, [hDivideBuffer+3] + ldh [hQuotient+2], a + ldh a, [hDivideBuffer+2] + ldh [hQuotient+1], a ; (aliases: hMultiplicand) + ldh a, [hDivideBuffer+1] + ldh [hDividend], a ; (aliases: hProduct, hPastLeadingZeros, hQuotient) ret diff --git a/engine/math/random.asm b/engine/math/random.asm index 2fc83f6f..c8760157 100755 --- a/engine/math/random.asm +++ b/engine/math/random.asm @@ -1,13 +1,13 @@ Random_:: ; Generate a random 16-bit value. - ld a, [rDIV] + ldh a, [rDIV] ld b, a - ld a, [hRandomAdd] + ldh a, [hRandomAdd] adc b - ld [hRandomAdd], a - ld a, [rDIV] + ldh [hRandomAdd], a + ldh a, [rDIV] ld b, a - ld a, [hRandomSub] + ldh a, [hRandomSub] sbc b - ld [hRandomSub], a + ldh [hRandomSub], a ret diff --git a/engine/menus/display_text_id_init.asm b/engine/menus/display_text_id_init.asm index c02e5bbc..fd1d3960 100644 --- a/engine/menus/display_text_id_init.asm +++ b/engine/menus/display_text_id_init.asm @@ -5,7 +5,7 @@ DisplayTextIDInit:: ld a, [wAutoTextBoxDrawingControl] bit 0, a jr nz, .skipDrawingTextBoxBorder - ld a, [hSpriteIndexOrTextID] ; text ID (or sprite ID) + ldh a, [hSpriteIndexOrTextID] ; text ID (or sprite ID) and a jr nz, .notStartMenu ; if text ID is 0 (i.e. the start menu) @@ -71,8 +71,8 @@ DisplayTextIDInit:: ld b, $9c ; window background address call CopyScreenTileBufferToVRAM ; transfer background in WRAM to VRAM xor a - ld [hWY], a ; put the window on the screen + ldh [hWY], a ; put the window on the screen call LoadFontTilePatterns ld a, $01 - ld [hAutoBGTransferEnabled], a ; enable continuous WRAM to VRAM transfer each V-blank + ldh [hAutoBGTransferEnabled], a ; enable continuous WRAM to VRAM transfer each V-blank ret diff --git a/engine/menus/league_pc.asm b/engine/menus/league_pc.asm index c07c6bc1..7bf0458d 100755 --- a/engine/menus/league_pc.asm +++ b/engine/menus/league_pc.asm @@ -6,10 +6,10 @@ PKMNLeaguePC: push hl ld a, [wUpdateSpritesEnabled] push af - ld a, [hTilesetType] + ldh a, [hTilesetType] push af xor a - ld [hTilesetType], a + ldh [hTilesetType], a ld [wSpriteFlipped], a ld [wUpdateSpritesEnabled], a ld [wHoFTeamIndex2], a @@ -40,7 +40,7 @@ PKMNLeaguePC: jr nz, .loop .doneShowingTeams pop af - ld [hTilesetType], a + ldh [hTilesetType], a pop af ld [wUpdateSpritesEnabled], a pop hl @@ -56,7 +56,7 @@ LeaguePCShowTeam: push bc call LeaguePCShowMon call WaitForTextScrollButtonPress - ld a, [hJoyHeld] + ldh a, [hJoyHeld] bit 1, a jr nz, .exit ld hl, wHallOfFame + HOF_MON diff --git a/engine/menus/main_menu.asm b/engine/menus/main_menu.asm index 43289ce8..44aeccca 100755 --- a/engine/menus/main_menu.asm +++ b/engine/menus/main_menu.asm @@ -94,11 +94,11 @@ MainMenu: set 5, [hl] .inputLoop xor a - ld [hJoyPressed], a - ld [hJoyReleased], a - ld [hJoyHeld], a + ldh [hJoyPressed], a + ldh [hJoyReleased], a + ldh [hJoyHeld], a call Joypad - ld a, [hJoyHeld] + ldh a, [hJoyHeld] bit 0, a jr nz, .pressedA bit 1, a @@ -205,7 +205,7 @@ LinkMenu: jr z, .useEnemyMenuSelection ; if the enemy pressed A or B but the player didn't, use the enemy's selection ; the enemy and the player both pressed A or B ; The gameboy that is clocking the connection wins. - ld a, [hSerialConnectionStatus] + ldh a, [hSerialConnectionStatus] cp USING_INTERNAL_CLOCK jr z, .doneChoosingMenuSelection .useEnemyMenuSelection @@ -214,13 +214,13 @@ LinkMenu: and $3 ld [wCurrentMenuItem], a .doneChoosingMenuSelection - ld a, [hSerialConnectionStatus] + ldh a, [hSerialConnectionStatus] cp USING_INTERNAL_CLOCK jr nz, .skipStartingTransfer call DelayFrame call DelayFrame ld a, START_TRANSFER_INTERNAL_CLOCK - ld [rSC], a + ldh [rSC], a .skipStartingTransfer ld b, $7f ld c, $7f @@ -314,9 +314,9 @@ StartNewGame: ; enter map after using a special warp or loading the game from the main menu SpecialEnterMap:: xor a - ld [hJoyPressed], a - ld [hJoyHeld], a - ld [hJoy5], a + ldh [hJoyPressed], a + ldh [hJoyHeld], a + ldh [hJoy5], a ld [wd72d], a ld hl, wd732 set 0, [hl] ; count play time @@ -344,7 +344,7 @@ CableClubOptionsText: DisplayContinueGameInfo: xor a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a coord hl, 4, 7 ld b, 8 ld c, 14 @@ -362,13 +362,13 @@ DisplayContinueGameInfo: coord hl, 13, 15 call PrintPlayTime ld a, 1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a ld c, 30 jp DelayFrames PrintSaveScreenText: xor a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a coord hl, 4, 0 ld b, $8 ld c, $e @@ -388,7 +388,7 @@ PrintSaveScreenText: coord hl, 13, 8 call PrintPlayTime ld a, $1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a ld c, 30 jp DelayFrames @@ -465,14 +465,14 @@ DisplayOptionMenu: ld a, [wOptionsTextSpeedCursorX] ; text speed cursor X coordinate ld [wTopMenuItemX], a ld a, $01 - ld [hAutoBGTransferEnabled], a ; enable auto background transfer + ldh [hAutoBGTransferEnabled], a ; enable auto background transfer call Delay3 .loop call PlaceMenuCursor call SetOptionsFromCursorPositions .getJoypadStateLoop call JoypadLowSensitivity - ld a, [hJoy5] + ldh a, [hJoy5] ld b, a and A_BUTTON | B_BUTTON | START | D_RIGHT | D_LEFT | D_UP | D_DOWN ; any key besides select pressed? jr z, .getJoypadStateLoop diff --git a/engine/menus/naming_screen.asm b/engine/menus/naming_screen.asm index a84609c9..170e778a 100755 --- a/engine/menus/naming_screen.asm +++ b/engine/menus/naming_screen.asm @@ -132,7 +132,7 @@ DisplayNamingScreen: pop af ld [wCurrentMenuItem], a call JoypadLowSensitivity - ld a, [hJoyPressed] + ldh a, [hJoyPressed] and a jr z, .inputLoop ld hl, .namingScreenButtonFunctions @@ -337,7 +337,7 @@ ED_TileEnd: PrintAlphabet: xor a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a ld a, [wAlphabetCase] and a ld de, LowerCaseAlphabet @@ -362,7 +362,7 @@ PrintAlphabet: jr nz, .outerLoop call PlaceString ld a, $1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a jp Delay3 INCLUDE "data/text/alphabets.asm" diff --git a/engine/menus/party_menu.asm b/engine/menus/party_menu.asm index f63a3cf0..f46b3994 100755 --- a/engine/menus/party_menu.asm +++ b/engine/menus/party_menu.asm @@ -19,7 +19,7 @@ ; f8: leveled up DrawPartyMenu_:: xor a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a call ClearScreen call UpdateSprites callba LoadMonPartySpriteGfxWithLCDDisabled ; load pokemon icon graphics @@ -34,7 +34,7 @@ RedrawPartyMenu_:: ld de, wPartySpecies xor a ld c, a - ld [hPartyMonIndex], a + ldh [hPartyMonIndex], a ld [wWhichPartyMenuHPBar], a .loop ld a, [de] @@ -50,10 +50,10 @@ RedrawPartyMenu_:: pop hl call PlaceString ; print the pokemon's name callba WriteMonPartySpriteOAMByPartyIndex ; place the appropriate pokemon icon - ld a, [hPartyMonIndex] + ldh a, [hPartyMonIndex] ld [wWhichPokemon], a inc a - ld [hPartyMonIndex], a + ldh [hPartyMonIndex], a call LoadMonData pop hl push hl @@ -88,14 +88,14 @@ RedrawPartyMenu_:: pop hl push hl ld bc, SCREEN_WIDTH + 1 ; down 1 row and right 1 column - ld a, [hFlagsFFF6] + ldh a, [hFlagsFFF6] set 0, a - ld [hFlagsFFF6], a + ldh [hFlagsFFF6], a add hl, bc predef DrawHP2 ; draw HP bar and prints current / max HP - ld a, [hFlagsFFF6] + ldh a, [hFlagsFFF6] res 0, a - ld [hFlagsFFF6], a + ldh [hFlagsFFF6], a call SetPartyMenuHPBarColor ; color the HP bar (on SGB) pop hl jr .printLevel @@ -213,7 +213,7 @@ RedrawPartyMenu_:: pop af ld [hl], a ld a, 1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a call Delay3 jp GBPalNormal .printItemUseMessage diff --git a/engine/menus/pc.asm b/engine/menus/pc.asm index f296ad61..1006cbbe 100755 --- a/engine/menus/pc.asm +++ b/engine/menus/pc.asm @@ -117,10 +117,10 @@ AccessedMyPCText: ; removes one of the specified item ID [hItemToRemoveID] from bag (if existent) RemoveItemByID:: ld hl, wBagItems - ld a, [hItemToRemoveID] + ldh a, [hItemToRemoveID] ld b, a xor a - ld [hItemToRemoveIndex], a + ldh [hItemToRemoveIndex], a .loop ld a, [hli] cp -1 ; reached terminator? @@ -128,14 +128,14 @@ RemoveItemByID:: cp b jr z, .foundItem inc hl - ld a, [hItemToRemoveIndex] + ldh a, [hItemToRemoveIndex] inc a - ld [hItemToRemoveIndex], a + ldh [hItemToRemoveIndex], a jr .loop .foundItem ld a, $1 ld [wItemQuantity], a - ld a, [hItemToRemoveIndex] + ldh a, [hItemToRemoveIndex] ld [wWhichPokemon], a ld hl, wNumBagItems jp RemoveItemFromInventory diff --git a/engine/menus/pokedex.asm b/engine/menus/pokedex.asm index 542ef873..d0ef3e31 100755 --- a/engine/menus/pokedex.asm +++ b/engine/menus/pokedex.asm @@ -10,7 +10,7 @@ ShowPokedexMenu: ld [wLastMenuItem], a inc a ld [wd11e], a - ld [hJoy7], a + ldh [hJoy7], a .setUpGraphics ld b, SET_PAL_GENERIC call RunPaletteCommand @@ -35,7 +35,7 @@ ShowPokedexMenu: ld [wMenuWatchMovingOutOfBounds], a ld [wCurrentMenuItem], a ld [wLastMenuItem], a - ld [hJoy7], a + ldh [hJoy7], a ld [wWastedByteCD3A], a ld [wOverrideSimulatedJoypadStatesMask], a pop af @@ -156,7 +156,7 @@ HandlePokedexSideMenu: ; sets carry flag if player presses A, unsets carry flag if player presses B HandlePokedexListMenu: xor a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a ; draw the horizontal line separating the seen and owned amounts from the menu coord hl, 15, 8 ld a, "─" @@ -216,7 +216,7 @@ HandlePokedexListMenu: ld [wDexMaxSeenMon], a .loop xor a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a coord hl, 4, 2 lb bc, 14, 10 call ClearScreenArea @@ -280,7 +280,7 @@ HandlePokedexListMenu: dec d jr nz, .printPokemonLoop ld a, 01 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a call Delay3 call GBPalNormal call HandleMenuInput @@ -400,7 +400,7 @@ ShowPokedexDataInternal: ld hl, wd72c set 1, [hl] ld a, $33 ; 3/7 volume - ld [rNR50], a + ldh [rNR50], a call GBPalWhiteOut ; zero all palettes call ClearScreen ld a, [wd11e] ; pokemon ID @@ -410,10 +410,10 @@ ShowPokedexDataInternal: call RunPaletteCommand pop af ld [wd11e], a - ld a, [hTilesetType] + ldh a, [hTilesetType] push af xor a - ld [hTilesetType], a + ldh [hTilesetType], a coord hl, 0, 0 ld de, 1 @@ -548,9 +548,9 @@ ShowPokedexDataInternal: lb bc, 2, 5 ; 2 bytes, 5 digits call PrintNumber ; print weight coord hl, 14, 8 - ld a, [hDexWeight + 1] + ldh a, [hDexWeight + 1] sub 10 - ld a, [hDexWeight] + ldh a, [hDexWeight] sbc 0 jr nc, .next ld [hl], "0" ; if the weight is less than 10, put a 0 before the decimal point @@ -560,24 +560,24 @@ ShowPokedexDataInternal: ld [hld], a ; make space for the decimal point by moving the last digit forward one tile ld [hl], "" ; decimal point tile pop af - ld [hDexWeight + 1], a ; restore original value of [hDexWeight + 1] + ldh [hDexWeight + 1], a ; restore original value of [hDexWeight + 1] pop af - ld [hDexWeight], a ; restore original value of [hDexWeight] + ldh [hDexWeight], a ; restore original value of [hDexWeight] pop hl inc hl ; hl = address of pokedex description text coord bc, 1, 11 ld a, %10 - ld [hClearLetterPrintingDelayFlags], a + ldh [hClearLetterPrintingDelayFlags], a call TextCommandProcessor ; print pokedex description text xor a - ld [hClearLetterPrintingDelayFlags], a + ldh [hClearLetterPrintingDelayFlags], a .waitForButtonPress call JoypadLowSensitivity - ld a, [hJoy5] + ldh a, [hJoy5] and A_BUTTON | B_BUTTON jr z, .waitForButtonPress pop af - ld [hTilesetType], a + ldh [hTilesetType], a call GBPalWhiteOut call ClearScreen call RunDefaultPaletteCommand @@ -586,7 +586,7 @@ ShowPokedexDataInternal: ld hl, wd72c res 1, [hl] ld a, $77 ; max volume - ld [rNR50], a + ldh [rNR50], a ret HeightWeightText: diff --git a/engine/menus/save.asm b/engine/menus/save.asm index 462e0eea..34fa9142 100755 --- a/engine/menus/save.asm +++ b/engine/menus/save.asm @@ -70,7 +70,7 @@ LoadSAV0: ld bc, wSpriteDataEnd - wSpriteDataStart call CopyData ld a, [sTilesetType] - ld [hTilesetType], a + ldh [hTilesetType], a ld hl, sCurBoxData ld de, wBoxDataStart ld bc, wBoxDataEnd - wBoxDataStart @@ -217,7 +217,7 @@ SaveSAVtoSRAM0: ld de, sCurBoxData ld bc, wBoxDataEnd - wBoxDataStart call CopyData - ld a, [hTilesetType] + ldh a, [hTilesetType] ld [sTilesetType], a ld hl, sPlayerName ld bc, sMainDataCheckSum - sPlayerName @@ -420,7 +420,7 @@ CopyBoxToOrFromSRAM: DisplayChangeBoxMenu: xor a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a ld a, A_BUTTON | B_BUTTON ld [wMenuWatchedKeys], a ld a, 11 @@ -486,7 +486,7 @@ DisplayChangeBoxMenu: dec a jr nz, .loop ld a, 1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a ret ChooseABoxText: diff --git a/engine/menus/start_sub_menus.asm b/engine/menus/start_sub_menus.asm index 5182ae79..acc6bda8 100755 --- a/engine/menus/start_sub_menus.asm +++ b/engine/menus/start_sub_menus.asm @@ -50,7 +50,7 @@ StartMenu_Pokemon:: ld hl, wTopMenuItemY ld a, c ld [hli], a ; top menu item Y - ld a, [hFieldMoveMonMenuTopMenuItemX] + ldh a, [hFieldMoveMonMenuTopMenuItemX] ld [hli], a ; top menu item X xor a ld [hli], a ; current menu item ID @@ -239,21 +239,21 @@ StartMenu_Pokemon:: ld bc, wPartyMon2 - wPartyMon1 call AddNTimes ld a, [hli] - ld [hDividend], a + ldh [hDividend], a ld a, [hl] - ld [hDividend + 1], a + ldh [hDividend + 1], a ld a, 5 - ld [hDivisor], a + ldh [hDivisor], a ld b, 2 ; number of bytes call Divide ld bc, wPartyMon1HP - wPartyMon1MaxHP add hl, bc ld a, [hld] ld b, a - ld a, [hQuotient + 3] + ldh a, [hQuotient + 3] sub b ld b, [hl] - ld a, [hQuotient + 2] + ldh a, [hQuotient + 2] sbc b jp nc, .notHealthyEnough ld a, [wPartyAndBillsPCSavedMenuItem] @@ -454,10 +454,10 @@ StartMenu_TrainerInfo:: call GBPalWhiteOut call ClearScreen call UpdateSprites - ld a, [hTilesetType] + ldh a, [hTilesetType] push af xor a - ld [hTilesetType], a + ldh [hTilesetType], a call DrawTrainerInfo predef DrawBadges ; draw badges ld b, SET_PAL_TRAINER_CARD @@ -471,7 +471,7 @@ StartMenu_TrainerInfo:: call ReloadMapData call LoadGBPal pop af - ld [hTilesetType], a + ldh [hTilesetType], a jp RedisplayStartMenu ; loads tile patterns and draws everything except for gym leader faces / badges @@ -648,7 +648,7 @@ StartMenu_SaveReset:: StartMenu_Option:: xor a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a call ClearScreen call UpdateSprites callab DisplayOptionMenu @@ -737,10 +737,10 @@ SwitchPartyMon_InitVarOrSwapData: inc d .noCarry2 ld a, [hl] - ld [hSwapTemp], a + ldh [hSwapTemp], a ld a, [de] ld [hl], a - ld a, [hSwapTemp] + ldh a, [hSwapTemp] ld [de], a ld hl, wPartyMons ld bc, wPartyMon2 - wPartyMon1 diff --git a/engine/menus/swap_items.asm b/engine/menus/swap_items.asm index 8b793ea1..2d506ce2 100644 --- a/engine/menus/swap_items.asm +++ b/engine/menus/swap_items.asm @@ -77,18 +77,18 @@ HandleItemListSwapping:: cp b jr z, .swapSameItemType .swapDifferentItems - ld [hSwapItemID], a ; save second item ID + ldh [hSwapItemID], a ; save second item ID ld a, [hld] - ld [hSwapItemQuantity], a ; save second item quantity + ldh [hSwapItemQuantity], a ; save second item quantity ld a, [de] ld [hli], a ; put first item ID in second item slot inc de ld a, [de] ld [hl], a ; put first item quantity in second item slot - ld a, [hSwapItemQuantity] + ldh a, [hSwapItemQuantity] ld [de], a ; put second item quantity in first item slot dec de - ld a, [hSwapItemID] + ldh a, [hSwapItemID] ld [de], a ; put second item ID in first item slot xor a ld [wMenuItemToSwap], a ; 0 means no item is currently being swapped diff --git a/engine/menus/text_box.asm b/engine/menus/text_box.asm index e3de41b4..51339ec2 100644 --- a/engine/menus/text_box.asm +++ b/engine/menus/text_box.asm @@ -584,7 +584,7 @@ DisplayFieldMoveMonMenu: call TextBoxBorder call UpdateSprites ld a, 12 - ld [hFieldMoveMonMenuTopMenuItemX], a + ldh [hFieldMoveMonMenuTopMenuItemX], a coord hl, 13, 12 ld de, PokemonMenuEntries jp PlaceString @@ -673,7 +673,7 @@ DisplayFieldMoveMonMenu: .donePrintingNames pop hl ld a, [wFieldMovesLeftmostXCoord] - ld [hFieldMoveMonMenuTopMenuItemX], a + ldh [hFieldMoveMonMenuTopMenuItemX], a coord hl, 0, 12 ld a, [wFieldMovesLeftmostXCoord] inc a diff --git a/engine/movie/credits.asm b/engine/movie/credits.asm index d8e593a5..caf62852 100755 --- a/engine/movie/credits.asm +++ b/engine/movie/credits.asm @@ -19,7 +19,7 @@ HallOfFamePC: coord hl, 0, 14 call FillFourRowsWithBlack ld a, %11000000 - ld [rBGP], a + ldh [rBGP], a call EnableLCD ld a, SFX_STOP_ALL_MUSIC call PlaySoundWaitForCurrent @@ -38,7 +38,7 @@ FadeInCreditsText: ld b, 4 .loop ld a, [hli] - ld [rBGP], a + ldh [rBGP], a ld c, 5 call DelayFrames dec b @@ -47,7 +47,7 @@ FadeInCreditsText: DisplayCreditsMon: xor a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a call SaveScreenTilesToBuffer1 call FillMiddleOfScreenWithWhite @@ -67,17 +67,17 @@ DisplayCreditsMon: ld hl, vBGMap0 + $c call CreditsCopyTileMapToVRAM xor a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a call LoadScreenTilesFromBuffer1 ld hl, vBGMap0 call CreditsCopyTileMapToVRAM ld a, $A7 - ld [rWX], a + ldh [rWX], a ld hl, vBGMap1 call CreditsCopyTileMapToVRAM call FillMiddleOfScreenWithWhite ld a, %11111100 ; make the mon a black silhouette - ld [rBGP], a + ldh [rBGP], a ; scroll the mon left by one tile 7 times ld bc, 7 @@ -92,16 +92,16 @@ DisplayCreditsMon: ld c, 20 .scrollLoop2 call ScrollCreditsMonLeft - ld a, [rWX] + ldh a, [rWX] sub 8 - ld [rWX], a + ldh [rWX], a dec c jr nz, .scrollLoop2 xor a - ld [hWY], a + ldh [hWY], a ld a, %11000000 - ld [rBGP], a + ldh [rBGP], a ret INCLUDE "data/credits/credits_mons.asm" @@ -119,13 +119,13 @@ ScrollCreditsMonLeft: ret ScrollCreditsMonLeft_SetSCX: - ld a, [rLY] + ldh a, [rLY] cp l jr nz, ScrollCreditsMonLeft_SetSCX ld a, h - ld [rSCX], a + ldh [rSCX], a .loop - ld a, [rLY] + ldh a, [rLY] cp h jr z, .loop ret @@ -138,11 +138,11 @@ HoFGBPalettes: CreditsCopyTileMapToVRAM: ld a, l - ld [hAutoBGTransferDest], a + ldh [hAutoBGTransferDest], a ld a, h - ld [hAutoBGTransferDest + 1], a + ldh [hAutoBGTransferDest + 1], a ld a, 1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a jp Delay3 ZeroMemory: diff --git a/engine/movie/evolution.asm b/engine/movie/evolution.asm index 1e3aaad4..b006dea6 100755 --- a/engine/movie/evolution.asm +++ b/engine/movie/evolution.asm @@ -13,13 +13,13 @@ EvolveMon: ld [wNewSoundID], a call PlaySound ld a, $1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a ld a, SFX_TINK call PlaySound call Delay3 xor a - ld [hAutoBGTransferEnabled], a - ld [hTilesetType], a + ldh [hAutoBGTransferEnabled], a + ldh [hTilesetType], a ld a, [wEvoOldSpecies] ld [wWholeScreenPaletteMonSpecies], a ld c, 0 @@ -37,7 +37,7 @@ EvolveMon: ld [wd0b5], a call Evolution_LoadPic ld a, $1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a ld a, [wEvoOldSpecies] call PlayCry call WaitForSoundToFinish @@ -117,7 +117,7 @@ Evolution_BackAndForthAnim: Evolution_ChangeMonPic: push bc xor a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a coord hl, 7, 2 lb bc, 7, 7 ld de, SCREEN_WIDTH - 7 @@ -134,7 +134,7 @@ Evolution_ChangeMonPic: dec b jr nz, .loop ld a, 1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a call Delay3 pop bc ret @@ -143,7 +143,7 @@ Evolution_CheckForCancel: call DelayFrame push bc call JoypadLowSensitivity - ld a, [hJoy5] + ldh a, [hJoy5] pop bc and B_BUTTON jr nz, .pressedB diff --git a/engine/movie/gamefreak.asm b/engine/movie/gamefreak.asm index 78e48384..d3b5eb88 100755 --- a/engine/movie/gamefreak.asm +++ b/engine/movie/gamefreak.asm @@ -1,8 +1,8 @@ LoadShootingStarGraphics: ld a, $f9 - ld [rOBP0], a + ldh [rOBP0], a ld a, $a4 - ld [rOBP1], a + ldh [rOBP1], a ld de, AnimationTileset2 + $30 ; star tile (top left quadrant) ld hl, vChars1 + $200 lb bc, BANK(AnimationTileset2), $01 @@ -201,9 +201,9 @@ MoveDownSmallStars: jr nz, .innerLoop ; Toggle the palette so that the lower star in the small stars tile blinks in ; and out. - ld a, [rOBP1] + ldh a, [rOBP1] xor %10100000 - ld [rOBP1], a + ldh [rOBP1], a ld c, 3 call CheckForUserInterruption diff --git a/engine/movie/hall_of_fame.asm b/engine/movie/hall_of_fame.asm index f0553eb6..355a3f4f 100755 --- a/engine/movie/hall_of_fame.asm +++ b/engine/movie/hall_of_fame.asm @@ -19,12 +19,12 @@ AnimateHallOfFame: call FillMemory xor a ld [wUpdateSpritesEnabled], a - ld [hTilesetType], a + ldh [hTilesetType], a ld [wSpriteFlipped], a ld [wLetterPrintingDelayFlags], a ; no delay ld [wHoFMonOrPlayer], a ; mon inc a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a ld hl, wNumHoFTeams ld a, [hl] inc a @@ -32,7 +32,7 @@ AnimateHallOfFame: inc [hl] .skipInc ld a, $90 - ld [hWY], a + ldh [hWY], a ld c, BANK(Music_HallOfFame) ld a, MUSIC_HALL_OF_FAME call PlayMusic @@ -86,7 +86,7 @@ AnimateHallOfFame: call HoFDisplayPlayerStats call HoFFadeOutScreenAndMusic xor a - ld [hWY], a + ldh [hWY], a ld hl, rLCDC res 3, [hl] ret @@ -97,9 +97,9 @@ HallOfFameText: HoFShowMonOrPlayer: call ClearScreen ld a, $d0 - ld [hSCY], a + ldh [hSCY], a ld a, $c0 - ld [hSCX], a + ldh [hSCX], a ld a, [wHoFMonSpecies] ld [wcf91], a ld [wd0b5], a @@ -121,7 +121,7 @@ HoFShowMonOrPlayer: ld c, 0 call RunPaletteCommand ld a, %11100100 - ld [rBGP], a + ldh [rBGP], a ld c, $31 ; back pic call HoFLoadMonPlayerPicTileIDs ld d, $a0 @@ -133,7 +133,7 @@ HoFShowMonOrPlayer: .next2 call .ScrollPic ; scroll back pic left xor a - ld [hSCY], a + ldh [hSCY], a ld c, a ; front pic call HoFLoadMonPlayerPicTileIDs ld d, 0 @@ -142,9 +142,9 @@ HoFShowMonOrPlayer: .ScrollPic call DelayFrame - ld a, [hSCX] + ldh a, [hSCX] add e - ld [hSCX], a + ldh [hSCX], a cp d jr nz, .ScrollPic ret diff --git a/engine/movie/intro.asm b/engine/movie/intro.asm index 21f1a885..1aba3408 100755 --- a/engine/movie/intro.asm +++ b/engine/movie/intro.asm @@ -12,15 +12,15 @@ const_value = 3 PlayIntro: xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a inc a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a call PlayShootingStar call PlayIntroScene call GBFadeOutToWhite xor a - ld [hSCX], a - ld [hAutoBGTransferEnabled], a + ldh [hSCX], a + ldh [hAutoBGTransferEnabled], a call ClearSprites call DelayFrame ret @@ -29,11 +29,11 @@ PlayIntroScene: ld b, SET_PAL_NIDORINO_INTRO call RunPaletteCommand ldPal a, BLACK, DARK_GRAY, LIGHT_GRAY, WHITE - ld [rBGP], a - ld [rOBP0], a - ld [rOBP1], a + ldh [rBGP], a + ldh [rOBP0], a + ldh [rOBP1], a xor a - ld [hSCX], a + ldh [hSCX], a ld b, GENGAR_INTRO_TILES1 call IntroCopyTiles ld a, 0 @@ -245,7 +245,7 @@ IntroMoveMon: cp MOVE_GENGAR_LEFT jr z, .moveGengarLeft ; move Gengar right - ld a, [hSCX] + ldh a, [hSCX] dec a dec a jr .next @@ -259,11 +259,11 @@ IntroMoveMon: call UpdateIntroNidorinoOAM pop de .moveGengarLeft - ld a, [hSCX] + ldh a, [hSCX] inc a inc a .next - ld [hSCX], a + ldh [hSCX], a push de ld c, 2 call CheckForUserInterruption @@ -313,7 +313,7 @@ PlayShootingStar: call RunPaletteCommand callba LoadCopyrightAndTextBoxTiles ldPal a, BLACK, DARK_GRAY, LIGHT_GRAY, WHITE - ld [rBGP], a + ldh [rBGP], a ld c, 180 call DelayFrames call ClearScreen diff --git a/engine/movie/oak_speech/init_player_data.asm b/engine/movie/oak_speech/init_player_data.asm index c576e65a..bd181bbd 100644 --- a/engine/movie/oak_speech/init_player_data.asm +++ b/engine/movie/oak_speech/init_player_data.asm @@ -2,11 +2,11 @@ InitPlayerData: InitPlayerData2: call Random - ld a, [hRandomSub] + ldh a, [hRandomSub] ld [wPlayerID], a call Random - ld a, [hRandomAdd] + ldh a, [hRandomAdd] ld [wPlayerID + 1], a ld a, $ff diff --git a/engine/movie/oak_speech/oak_speech.asm b/engine/movie/oak_speech/oak_speech.asm index 0dd0c2dc..2328e3ab 100755 --- a/engine/movie/oak_speech/oak_speech.asm +++ b/engine/movie/oak_speech/oak_speech.asm @@ -52,7 +52,7 @@ OakSpeech: ld [wDestinationMap], a call SpecialWarpIn xor a - ld [hTilesetType], a + ldh [hTilesetType], a ld a, [wd732] bit 1, a ; possibly a debug mode bit jp nz, .skipChoosingNames @@ -104,12 +104,12 @@ OakSpeech: ld hl, OakSpeechText3 call PrintText .next - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] push af ld a, SFX_SHRINK call PlaySound pop af - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ld c, 4 call DelayFrames @@ -126,7 +126,7 @@ OakSpeech: lb bc, BANK(ShrinkPic2), $00 call IntroDisplayPicCenteredOrUpperRight call ResetPlayerSpriteData - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] push af ld a, BANK(Music_PalletTown) ld [wAudioROMBank], a @@ -137,7 +137,7 @@ OakSpeech: ld [wNewSoundID], a call PlaySound pop af - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ld c, 20 call DelayFrames @@ -175,7 +175,7 @@ FadeInIntroPic: ld b, 6 .next ld a, [hli] - ld [rBGP], a + ldh [rBGP], a ld c, 10 call DelayFrames dec b @@ -192,18 +192,18 @@ IntroFadePalettes: MovePicLeft: ld a, 119 - ld [rWX], a + ldh [rWX], a call DelayFrame ld a, %11100100 - ld [rBGP], a + ldh [rBGP], a .next call DelayFrame - ld a, [rWX] + ldh a, [rWX] sub 8 cp $FF ret z - ld [rWX], a + ldh [rWX], a jr .next DisplayPicCenteredOrUpperRight: @@ -229,5 +229,5 @@ IntroDisplayPicCenteredOrUpperRight: coord hl, 6, 4 .next xor a - ld [hStartTileID], a + ldh [hStartTileID], a predef_jump CopyUncompressedPicToTilemap diff --git a/engine/movie/oak_speech/oak_speech2.asm b/engine/movie/oak_speech/oak_speech2.asm index 743d0d13..5ee0a871 100755 --- a/engine/movie/oak_speech/oak_speech2.asm +++ b/engine/movie/oak_speech/oak_speech2.asm @@ -90,13 +90,13 @@ OakSpeechSlidePicCommon: push hl push de push bc - ld [hSlideDirection], a + ldh [hSlideDirection], a ld a, d - ld [hSlideAmount], a + ldh [hSlideAmount], a ld a, e - ld [hSlidingRegionSize], a + ldh [hSlidingRegionSize], a ld c, a - ld a, [hSlideDirection] + ldh a, [hSlideDirection] and a jr nz, .next ; If sliding right, point hl to the end of the pic's tiles. @@ -107,8 +107,8 @@ OakSpeechSlidePicCommon: ld e, l .loop xor a - ld [hAutoBGTransferEnabled], a - ld a, [hSlideDirection] + ldh [hAutoBGTransferEnabled], a + ldh a, [hSlideDirection] and a jr nz, .slideLeft ; sliding right @@ -123,7 +123,7 @@ OakSpeechSlidePicCommon: .next2 dec c jr nz, .loop - ld a, [hSlideDirection] + ldh a, [hSlideDirection] and a jr z, .next3 ; If sliding left, we need to zero the last tile in the pic (there is no need @@ -134,13 +134,13 @@ OakSpeechSlidePicCommon: ld [hl], a .next3 ld a, 1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a call Delay3 - ld a, [hSlidingRegionSize] + ldh a, [hSlidingRegionSize] ld c, a ld h, d ld l, e - ld a, [hSlideDirection] + ldh a, [hSlideDirection] and a jr nz, .slideLeft2 inc hl @@ -150,9 +150,9 @@ OakSpeechSlidePicCommon: .next4 ld d, h ld e, l - ld a, [hSlideAmount] + ldh a, [hSlideAmount] dec a - ld [hSlideAmount], a + ldh [hSlideAmount], a jr nz, .loop pop bc pop de diff --git a/engine/movie/title.asm b/engine/movie/title.asm index 5ee9b77f..62eb37d0 100755 --- a/engine/movie/title.asm +++ b/engine/movie/title.asm @@ -11,7 +11,7 @@ SetDefaultNamesBeforeTitlescreen:: ld de, wRivalName call CopyFixedLengthText xor a - ld [hWY], a + ldh [hWY], a ld [wLetterPrintingDelayFlags], a ld hl, wd732 ld [hli], a @@ -24,14 +24,14 @@ SetDefaultNamesBeforeTitlescreen:: DisplayTitleScreen: call GBPalWhiteOut ld a, $1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a xor a - ld [hTilesetType], a - ld [hSCX], a + ldh [hTilesetType], a + ldh [hSCX], a ld a, $40 - ld [hSCY], a + ldh [hSCY], a ld a, $90 - ld [hWY], a + ldh [hWY], a call ClearScreen call DisableLCD call LoadFontTilePatterns @@ -130,7 +130,7 @@ ENDC call TitleScreenCopyTileMapToVRAM call SaveScreenTilesToBuffer1 ld a, $40 - ld [hWY], a + ldh [hWY], a call LoadScreenTilesFromBuffer2 ld a, vBGMap0 / $100 call TitleScreenCopyTileMapToVRAM @@ -138,7 +138,7 @@ ENDC call RunPaletteCommand call GBPalNormal ld a, %11100100 - ld [rOBP0], a + ldh [rOBP0], a ; make pokemon logo bounce up and down ld bc, hSCY ; background scroll Y @@ -190,7 +190,7 @@ ENDC ; scroll game version in from the right call PrintGameVersionOnTitleScreen ld a, SCREEN_HEIGHT_PX - ld [hWY], a + ldh [hWY], a ld d, 144 .scrollTitleScreenGameVersionLoop ld h, d @@ -237,9 +237,9 @@ ENDC call GBPalWhiteOutWithDelay3 call ClearSprites xor a - ld [hWY], a + ldh [hWY], a inc a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a call ClearScreen ld a, vBGMap0 / $100 call TitleScreenCopyTileMapToVRAM @@ -247,7 +247,7 @@ ENDC call TitleScreenCopyTileMapToVRAM call Delay3 call LoadGBPal - ld a, [hJoyHeld] + ldh a, [hJoyHeld] ld b, a and D_UP | SELECT | B_BUTTON cp D_UP | SELECT | B_BUTTON @@ -280,7 +280,7 @@ TitleScreenPickNewMon: call LoadTitleMonSprite ld a, $90 - ld [hWY], a + ldh [hWY], a ld d, 1 ; scroll out callba TitleScroll ret @@ -289,20 +289,20 @@ TitleScreenScrollInMon: ld d, 0 ; scroll in callba TitleScroll xor a - ld [hWY], a + ldh [hWY], a ret ScrollTitleScreenGameVersion: .wait - ld a, [rLY] + ldh a, [rLY] cp l jr nz, .wait ld a, h - ld [rSCX], a + ldh [rSCX], a .wait2 - ld a, [rLY] + ldh a, [rLY] cp h jr z, .wait2 ret @@ -358,12 +358,12 @@ LoadTitleMonSprite: jp LoadFrontSpriteByMonIndex TitleScreenCopyTileMapToVRAM: - ld [hAutoBGTransferDest + 1], a + ldh [hAutoBGTransferDest + 1], a jp Delay3 LoadCopyrightAndTextBoxTiles: xor a - ld [hWY], a + ldh [hWY], a call ClearScreen call LoadTextBoxTilePatterns diff --git a/engine/movie/title2.asm b/engine/movie/title2.asm index 2346fcc5..315cf6b5 100755 --- a/engine/movie/title2.asm +++ b/engine/movie/title2.asm @@ -69,15 +69,15 @@ _TitleScroll: .ScrollBetween: .wait - ld a, [rLY] ; rLY + ldh a, [rLY] ; rLY cp l jr nz, .wait ld a, h - ld [rSCX], a + ldh [rSCX], a .wait2 - ld a, [rLY] ; rLY + ldh a, [rLY] ; rLY cp h jr z, .wait2 ret diff --git a/engine/movie/trade.asm b/engine/movie/trade.asm index 8b596e5e..c8005b93 100755 --- a/engine/movie/trade.asm +++ b/engine/movie/trade.asm @@ -20,14 +20,14 @@ ExternalClockTradeAnim: TradeAnimCommon: ld a, [wOptions] push af - ld a, [hSCY] + ldh a, [hSCY] push af - ld a, [hSCX] + ldh a, [hSCX] push af xor a ld [wOptions], a - ld [hSCY], a - ld [hSCX], a + ldh [hSCY], a + ldh [hSCX], a push de .loop pop de @@ -49,9 +49,9 @@ TradeAnimCommon: jp hl ; call trade func, which will return to the top of the loop .done pop af - ld [hSCX], a + ldh [hSCX], a pop af - ld [hSCY], a + ldh [hSCY], a pop af ld [wOptions], a ret @@ -137,10 +137,10 @@ Trade_Delay100: Trade_CopyTileMapToVRAM: ld a, $1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a call Delay3 xor a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a ret Trade_Delay80: @@ -181,10 +181,10 @@ LoadTradingGFXAndMonNames: jr z, .next ld a, $f0 ; SGB OBP0 .next - ld [rOBP0], a + ldh [rOBP0], a call EnableLCD xor a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a ld a, [wTradedPlayerMonSpecies] ld [wd11e], a call GetMonName @@ -198,7 +198,7 @@ LoadTradingGFXAndMonNames: Trade_LoadMonPartySpriteGfx: ld a, %11010000 - ld [rOBP1], a + ldh [rOBP1], a jpba LoadMonPartySpriteGfx Trade_SwapNames: @@ -224,14 +224,14 @@ Trade_Cleanup: Trade_ShowPlayerMon: ld a, %10101011 - ld [rLCDC], a + ldh [rLCDC], a ld a, $50 - ld [hWY], a + ldh [hWY], a ld a, $86 - ld [rWX], a - ld [hSCX], a + ldh [rWX], a + ldh [hSCX], a xor a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a coord hl, 4, 0 ld b, 6 ld c, 10 @@ -247,8 +247,8 @@ Trade_ShowPlayerMon: push af call DelayFrame pop af - ld [rWX], a - ld [hSCX], a + ldh [rWX], a + ldh [hSCX], a dec a dec a and a @@ -261,7 +261,7 @@ Trade_ShowPlayerMon: ld a, [wTradedPlayerMonSpecies] call PlayCry xor a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a ret Trade_DrawOpenEndOfLinkCable: @@ -277,10 +277,10 @@ Trade_DrawOpenEndOfLinkCable: call Trade_CopyCableTilesOffScreen ld a, $a0 - ld [hSCX], a + ldh [hSCX], a call DelayFrame ld a, %10001011 - ld [rLCDC], a + ldh [rLCDC], a coord hl, 6, 2 ld b, $7 ; open end of link cable tile ID list index call CopyTileIDsFromList_ZeroBaseTileID @@ -289,9 +289,9 @@ Trade_DrawOpenEndOfLinkCable: call PlaySound ld c, 20 .loop - ld a, [hSCX] + ldh a, [hSCX] add 4 - ld [hSCX], a + ldh [hSCX], a dec c jr nz, .loop ret @@ -302,7 +302,7 @@ Trade_AnimateBallEnteringLinkCable: ld c, 10 call DelayFrames ld a, %11100100 - ld [rOBP0], a + ldh [rOBP0], a xor a ld [wLinkCableAnimBulgeToggle], a lb bc, $20, $60 @@ -336,13 +336,13 @@ Trade_AnimateBallEnteringLinkCable: .ballSpriteReachedEdgeOfScreen call ClearSprites ld a, $1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a call ClearScreen ld b, $98 call CopyScreenTileBufferToVRAM call Delay3 xor a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a ret Trade_BallInsideLinkCableOAM: @@ -360,13 +360,13 @@ Trade_ShowEnemyMon: call Trade_PrintEnemyMonInfoText call Trade_CopyTileMapToVRAM ld a, $1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a ld a, [wTradedEnemyMonSpecies] call Trade_LoadMonSprite ld a, TRADE_BALL_POOF_ANIM call Trade_ShowAnimation ld a, $1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a ld a, [wTradedEnemyMonSpecies] call PlayCry call Trade_Delay100 @@ -381,7 +381,7 @@ Trade_AnimLeftToRight: ld a, $1 ld [wTradedMonMovingRight], a ld a, %11100100 - ld [rOBP0], a + ldh [rOBP0], a ld a, $54 ld [wBaseCoordX], a ld a, $1c @@ -397,7 +397,7 @@ Trade_AnimLeftToRight: ld b, $6 call Trade_AnimMonMoveHorizontal ld a, $1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a call Trade_DrawCableAcrossScreen ld b, $4 call Trade_AnimMonMoveHorizontal @@ -405,7 +405,7 @@ Trade_AnimLeftToRight: ld b, $6 call Trade_AnimMonMoveHorizontal xor a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a call Trade_AnimMonMoveVertical jp ClearSprites @@ -430,7 +430,7 @@ Trade_AnimRightToLeft: ld b, $6 call Trade_AnimMonMoveHorizontal ld a, $1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a call Trade_DrawCableAcrossScreen ld b, $4 call Trade_AnimMonMoveHorizontal @@ -438,24 +438,24 @@ Trade_AnimRightToLeft: ld b, $6 call Trade_AnimMonMoveHorizontal xor a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a jp ClearSprites Trade_InitGameboyTransferGfx: ; Initialises the graphics for showing a mon moving between gameboys. ld a, $1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a call ClearScreen xor a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a call Trade_LoadMonPartySpriteGfx call DelayFrame ld a, %10101011 - ld [rLCDC], a + ldh [rLCDC], a xor a - ld [hSCX], a + ldh [hSCX], a ld a, $90 - ld [hWY], a + ldh [hWY], a ret Trade_DrawLeftGameboy: @@ -555,11 +555,11 @@ Trade_CopyCableTilesOffScreen: call CopyToRedrawRowOrColumnSrcTiles pop hl ld a, h - ld [hRedrawRowOrColumnDest + 1], a + ldh [hRedrawRowOrColumnDest + 1], a ld a, l - ld [hRedrawRowOrColumnDest], a + ldh [hRedrawRowOrColumnDest], a ld a, REDRAW_ROW - ld [hRedrawRowOrColumnMode], a + ldh [hRedrawRowOrColumnMode], a ld c, 10 jp DelayFrames @@ -574,14 +574,14 @@ Trade_AnimMonMoveHorizontal: dec a jr z, .movingRight ; moving left - ld a, [hSCX] + ldh a, [hSCX] sub $2 jr .next .movingRight - ld a, [hSCX] + ldh a, [hSCX] add $2 .next - ld [hSCX], a + ldh [hSCX], a call DelayFrame dec d jr nz, .scrollLoop @@ -596,9 +596,9 @@ Trade_AnimCircledMon: push de push bc push hl - ld a, [rBGP] + ldh a, [rBGP] xor $3c ; make link cable flash - ld [rBGP], a + ldh [rBGP], a ld hl, wOAMBuffer + $02 ld de, $4 ld c, $14 @@ -731,9 +731,9 @@ Trade_LoadMonSprite: ld b, SET_PAL_POKEMON_WHOLE_SCREEN ld c, 0 call RunPaletteCommand - ld a, [hAutoBGTransferEnabled] + ldh a, [hAutoBGTransferEnabled] xor $1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a call GetMonHeader coord hl, 7, 2 call LoadFlippedFrontSpriteByMonIndex @@ -743,16 +743,16 @@ Trade_LoadMonSprite: Trade_ShowClearedWindow: ; clears the window and covers the BG entirely with the window ld a, $1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a call ClearScreen ld a, %11100011 - ld [rLCDC], a + ldh [rLCDC], a ld a, $7 - ld [rWX], a + ldh [rWX], a xor a - ld [hWY], a + ldh [hWY], a ld a, $90 - ld [hSCX], a + ldh [hSCX], a ret Trade_SlideTextBoxOffScreen: @@ -764,17 +764,17 @@ Trade_SlideTextBoxOffScreen: call DelayFrames .loop call DelayFrame - ld a, [rWX] + ldh a, [rWX] inc a inc a - ld [rWX], a + ldh [rWX], a cp $a1 jr nz, .loop call Trade_ClearTileMap ld c, 10 call DelayFrames ld a, $7 - ld [rWX], a + ldh [rWX], a ret PrintTradeWentToText: diff --git a/engine/overworld/auto_movement.asm b/engine/overworld/auto_movement.asm index 5e70ab8c..9a717641 100755 --- a/engine/overworld/auto_movement.asm +++ b/engine/overworld/auto_movement.asm @@ -66,7 +66,7 @@ PalletMovementScript_OakMoveLeft: call FillMemory ld [hl], $ff ld a, [wSpriteIndex] - ld [hSpriteIndex], a + ldh [hSpriteIndex], a ld de, wNPCMovementDirections2 call MoveSprite ld a, $1 @@ -91,7 +91,7 @@ PalletMovementScript_PlayerMoveLeft: ret nz ; return if Oak is still moving ld a, [wNumStepsToTake] ld [wSimulatedJoypadStatesIndex], a - ld [hNPCMovementDirections2Index], a + ldh [hNPCMovementDirections2Index], a predef ConvertNPCMovementDirectionsToJoypadMasks call StartSimulatingJoypadStates ld a, $2 @@ -282,7 +282,7 @@ FreezeEnemyTrainerSprite:: jr .loop .notRival ld a, [wSpriteIndex] - ld [hSpriteIndex], a + ldh [hSpriteIndex], a jp SetSpriteMovementBytesToFF RivalIDs: diff --git a/engine/overworld/clear_variables.asm b/engine/overworld/clear_variables.asm index 9b735495..bbb7c986 100644 --- a/engine/overworld/clear_variables.asm +++ b/engine/overworld/clear_variables.asm @@ -1,14 +1,14 @@ ClearVariablesOnEnterMap:: ld a, SCREEN_HEIGHT_PX - ld [hWY], a - ld [rWY], a + ldh [hWY], a + ldh [rWY], a xor a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a ld [wStepCounter], a ld [wLoneAttackNo], a - ld [hJoyPressed], a - ld [hJoyReleased], a - ld [hJoyHeld], a + ldh [hJoyPressed], a + ldh [hJoyReleased], a + ldh [hJoyHeld], a ld [wActionResultOrTookBattleTurn], a ld [wUnusedD5A3], a ld hl, wCardKeyDoorY diff --git a/engine/overworld/cut.asm b/engine/overworld/cut.asm index f99bf323..fc5fb578 100755 --- a/engine/overworld/cut.asm +++ b/engine/overworld/cut.asm @@ -38,14 +38,14 @@ UsedCut: call ClearSprites call RestoreScreenTilesAndReloadTilePatterns ld a, SCREEN_HEIGHT_PX - ld [hWY], a + ldh [hWY], a call Delay3 call LoadGBPal call LoadCurrentMapView call SaveScreenTilesToBuffer2 call Delay3 xor a - ld [hWY], a + ldh [hWY], a ld hl, UsedCutText call PrintText call LoadScreenTilesFromBuffer2 @@ -63,7 +63,7 @@ UsedCut: ld a, SFX_CUT call PlaySound ld a, $90 - ld [hWY], a + ldh [hWY], a call UpdateSprites jp RedrawMapView @@ -75,7 +75,7 @@ InitCutAnimOAM: xor a ld [wWhichAnimationOffsets], a ld a, %11100100 - ld [rOBP1], a + ldh [rOBP1], a ld a, [wCutTile] cp $52 jr z, .grass diff --git a/engine/overworld/cut2.asm b/engine/overworld/cut2.asm index f16fed66..3d4a5905 100755 --- a/engine/overworld/cut2.asm +++ b/engine/overworld/cut2.asm @@ -15,9 +15,9 @@ AnimCut: ld [wCoordAdjustmentAmount], a ld c, 2 call AdjustOAMBlockXPos2 - ld a, [rOBP1] + ldh a, [rOBP1] xor $64 - ld [rOBP1], a + ldh [rOBP1], a call DelayFrame pop bc dec c @@ -65,9 +65,9 @@ AnimCutGrass_UpdateOAMEntries: ld [wCoordAdjustmentAmount], a ld c, 1 call AdjustOAMBlockXPos2 - ld a, [rOBP1] + ldh a, [rOBP1] xor $64 - ld [rOBP1], a + ldh [rOBP1], a call DelayFrame pop bc dec c diff --git a/engine/overworld/dust_smoke.asm b/engine/overworld/dust_smoke.asm index 2dc6882e..3d87e25a 100755 --- a/engine/overworld/dust_smoke.asm +++ b/engine/overworld/dust_smoke.asm @@ -6,7 +6,7 @@ AnimateBoulderDust: ld a, $ff ld [wUpdateSpritesEnabled], a ld a, %11100100 - ld [rOBP1], a + ldh [rOBP1], a call LoadSmokeTileFourTimes callba WriteCutOrBoulderDustAnimationOAMBlock ld c, 8 ; number of steps in animation @@ -18,9 +18,9 @@ AnimateBoulderDust: ld c, 4 jp hl .returnAddress - ld a, [rOBP1] + ldh a, [rOBP1] xor %01100100 - ld [rOBP1], a + ldh [rOBP1], a call Delay3 pop bc dec c diff --git a/engine/overworld/elevator.asm b/engine/overworld/elevator.asm index 05ca08c9..7a6aca85 100755 --- a/engine/overworld/elevator.asm +++ b/engine/overworld/elevator.asm @@ -6,7 +6,7 @@ ShakeElevator:: call Delay3 ld a, SFX_STOP_ALL_MUSIC call PlaySound - ld a, [hSCY] + ldh a, [hSCY] ld d, a ld e, $1 ld b, 100 @@ -15,7 +15,7 @@ ShakeElevator:: xor $fe ld e, a add d - ld [hSCY], a + ldh [hSCY], a push bc ld c, BANK(SFX_Collision_1) ld a, SFX_COLLISION @@ -26,7 +26,7 @@ ShakeElevator:: dec b jr nz, .shakeLoop ld a, d - ld [hSCY], a + ldh [hSCY], a ld a, SFX_STOP_ALL_MUSIC call PlaySound ld c, BANK(SFX_Safari_Zone_PA) diff --git a/engine/overworld/healing_machine.asm b/engine/overworld/healing_machine.asm index a09a7590..062ef7ea 100755 --- a/engine/overworld/healing_machine.asm +++ b/engine/overworld/healing_machine.asm @@ -8,10 +8,10 @@ AnimateHealingMachine: push af ld [hl], $ff push hl - ld a, [rOBP1] + ldh a, [rOBP1] push af ld a, $e0 - ld [rOBP1], a + ldh [rOBP1], a ld hl, wOAMBuffer + $84 ld de, PokeCenterOAMData call CopyHealingMachineOAM @@ -56,7 +56,7 @@ AnimateHealingMachine: ld c, 32 call DelayFrames pop af - ld [rOBP1], a + ldh [rOBP1], a pop hl pop af ld [hl], a @@ -78,9 +78,9 @@ PokeCenterOAMData: FlashSprite8Times: ld b, 8 .loop - ld a, [rOBP1] + ldh a, [rOBP1] xor d - ld [rOBP1], a + ldh [rOBP1], a ld c, 10 call DelayFrames dec b diff --git a/engine/overworld/hidden_objects.asm b/engine/overworld/hidden_objects.asm index 5ce7f3cb..855328e7 100755 --- a/engine/overworld/hidden_objects.asm +++ b/engine/overworld/hidden_objects.asm @@ -58,7 +58,7 @@ CheckForHiddenObject:: ld [wHiddenObjectX], a ld c, a call CheckIfCoordsInFrontOfPlayerMatch - ld a, [hCoordsInFrontOfPlayerMatch] + ldh a, [hCoordsInFrontOfPlayerMatch] and a jr z, .foundMatchingObject inc hl @@ -81,7 +81,7 @@ CheckForHiddenObject:: ret .noMatch ld a, $ff - ld [hDidntFindAnyHiddenObject], a + ldh [hDidntFindAnyHiddenObject], a ret ; checks if the coordinates in front of the player's sprite match Y in b and X in c @@ -127,7 +127,7 @@ CheckIfCoordsInFrontOfPlayerMatch: .didNotMatch ld a, $ff .done - ld [hCoordsInFrontOfPlayerMatch], a + ldh [hCoordsInFrontOfPlayerMatch], a ret INCLUDE "data/events/hidden_objects.asm" diff --git a/engine/overworld/ledges.asm b/engine/overworld/ledges.asm index 0f135fb6..cba544f6 100755 --- a/engine/overworld/ledges.asm +++ b/engine/overworld/ledges.asm @@ -36,7 +36,7 @@ HandleLedges:: inc hl jr .loop .foundMatch - ld a, [hJoyHeld] + ldh a, [hJoyHeld] and e ret z ld a, $ff diff --git a/engine/overworld/map_sprites.asm b/engine/overworld/map_sprites.asm index 0de1befd..26a8f1bb 100755 --- a/engine/overworld/map_sprites.asm +++ b/engine/overworld/map_sprites.asm @@ -39,7 +39,7 @@ LoadMapSpriteTilePatterns: ld b, $10 ; number of sprite slots ld hl, wSpritePlayerStateData2PictureID xor a - ld [hFourTileSpriteCount], a + ldh [hFourTileSpriteCount], a .copyPictureIDLoop ; loop to copy picture ID from $C2XD to $C2XE ld a, [hli] ; $C2XD (sprite picture ID) ld [hld], a ; $C2XE @@ -98,14 +98,14 @@ LoadMapSpriteTilePatterns: cp SPRITE_BALL ; is it a 4-tile sprite? jr c, .notFourTileSprite pop af - ld a, [hFourTileSpriteCount] + ldh a, [hFourTileSpriteCount] add 11 jr .storeVRAMSlot .notFourTileSprite pop af .storeVRAMSlot ld [hl], a ; store VRAM slot at $C2XE - ld [hVRAMSlot], a ; used to determine if it's 4-tile sprite later + ldh [hVRAMSlot], a ; used to determine if it's 4-tile sprite later ld a, b ; a = current sprite picture ID dec a add a @@ -128,7 +128,7 @@ LoadMapSpriteTilePatterns: push bc ld hl, vNPCSprites ; VRAM base address ld bc, $c0 ; number of bytes per VRAM slot - ld a, [hVRAMSlot] + ldh a, [hVRAMSlot] cp 11 ; is it a 4-tile sprite? jr nc, .fourTileSpriteVRAMAddr ld d, a @@ -141,13 +141,13 @@ LoadMapSpriteTilePatterns: jr .loadStillTilePattern .fourTileSpriteVRAMAddr ld hl, vSprites + $7c0 ; address for second 4-tile sprite - ld a, [hFourTileSpriteCount] + ldh a, [hFourTileSpriteCount] and a jr nz, .loadStillTilePattern ; if it's the first 4-tile sprite ld hl, vSprites + $780 ; address for first 4-tile sprite inc a - ld [hFourTileSpriteCount], a + ldh [hFourTileSpriteCount], a .loadStillTilePattern pop bc pop de @@ -167,7 +167,7 @@ LoadMapSpriteTilePatterns: .skipFirstLoad pop de pop hl - ld a, [hVRAMSlot] + ldh a, [hVRAMSlot] cp 11 ; is it a 4-tile sprite? jr nc, .skipSecondLoad ; if so, there is no second block push de diff --git a/engine/overworld/missable_objects.asm b/engine/overworld/missable_objects.asm index 1ebe8064..fd2fe578 100644 --- a/engine/overworld/missable_objects.asm +++ b/engine/overworld/missable_objects.asm @@ -31,19 +31,19 @@ LoadMissableObjects: sub d ld h, a ld a, h - ld [hDividend], a + ldh [hDividend], a ld a, l - ld [hDividend+1], a + ldh [hDividend+1], a xor a - ld [hDividend+2], a - ld [hDividend+3], a + ldh [hDividend+2], a + ldh [hDividend+3], a ld a, $3 - ld [hDivisor], a + ldh [hDivisor], a ld b, $2 call Divide ; divide difference by 3, resulting in the global offset (number of missable items before ours) ld a, [wCurMap] ld b, a - ld a, [hDividend+3] + ldh a, [hDividend+3] ld c, a ; store global offset in c ld de, wMissableObjectList pop hl @@ -99,7 +99,7 @@ InitializeMissableObjectsFlags: ; tests if current sprite is a missable object that is hidden/has been removed IsObjectHidden: - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] swap a ld b, a ld hl, wMissableObjectList @@ -120,7 +120,7 @@ IsObjectHidden: .notHidden xor a .hidden - ld [hIsHiddenMissableObject], a + ldh [hIsHiddenMissableObject], a ret ; adds missable object (items, leg. pokemon, etc.) to the map diff --git a/engine/overworld/movement.asm b/engine/overworld/movement.asm index d27ccb4b..ac7e1b46 100644 --- a/engine/overworld/movement.asm +++ b/engine/overworld/movement.asm @@ -14,7 +14,7 @@ UpdatePlayerSprite: ; the maximum number for map tiles .checkIfTextBoxInFrontOfSprite aCoord 8, 9 - ld [hTilePlayerStandingOn], a + ldh [hTilePlayerStandingOn], a cp MAP_TILESET_SIZE jr c, .lowerLeftTileIsMapTile .disableSprite @@ -63,7 +63,7 @@ UpdatePlayerSprite: ld a, [wd736] bit 7, a ; is the player sprite spinning due to a spin tile? jr nz, .skipSpriteAnim - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] add $7 ld l, a ld a, [hl] @@ -89,7 +89,7 @@ UpdatePlayerSprite: ; lower priority than the background so that it's partially obscured by the ; grass. Only the lower half of the sprite is permitted to have the priority ; bit set by later logic. - ld a, [hTilePlayerStandingOn] + ldh a, [hTilePlayerStandingOn] ld c, a ld a, [wGrassTile] cp c @@ -103,7 +103,7 @@ UpdatePlayerSprite: UnusedReadSpriteDataFunction: push bc push af - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] ld c, a pop af add c @@ -112,7 +112,7 @@ UnusedReadSpriteDataFunction: ret UpdateNPCSprite: - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] swap a dec a add a @@ -122,7 +122,7 @@ UpdateNPCSprite: ld a, [hl] ; read movement byte 2 ld [wCurSpriteMovement2], a ld h, $c1 - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] ld l, a inc l ld a, [hl] ; c1x1 @@ -131,7 +131,7 @@ UpdateNPCSprite: call CheckSpriteAvailability ret c ; if sprite is invisible, on tile >=MAP_TILESET_SIZE, in grass or player is currently walking ld h, $c1 - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] ld l, a inc l ld a, [hl] ; c1x1 @@ -151,7 +151,7 @@ UpdateNPCSprite: ret nz ; don't do anything yet if player is currently moving (redundant, already tested in CheckSpriteAvailability) call InitializeSpriteScreenPosition ld h, $c2 - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] add $6 ld l, a ld a, [hl] ; c2x6: movement byte 1 @@ -264,11 +264,11 @@ ChangeFacingDirection: TryWalking: push hl ld h, $c1 - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] add $9 ld l, a ld [hl], c ; c1x9 (update facing direction) - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] add $3 ld l, a ld [hl], d ; c1x3 (update Y movement delta) @@ -282,7 +282,7 @@ TryWalking: pop de ret c ; cannot walk there (reinitialization of delay values already done) ld h, $c2 - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] add $4 ld l, a ld a, [hl] ; c2x4: Y position @@ -291,7 +291,7 @@ TryWalking: ld a, [hl] ; c2x5: X position add e ld [hl], a ; update X position - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] ld l, a ld [hl], $10 ; c2x0=16: walk animation counter dec h @@ -301,7 +301,7 @@ TryWalking: ; update the walking animation parameters for a sprite that is currently walking UpdateSpriteInWalkingAnimation: - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] add $7 ld l, a ld a, [hl] ; c1x7 (counter until next walk animation frame) @@ -317,7 +317,7 @@ UpdateSpriteInWalkingAnimation: and $3 ld [hl], a ; advance to next animation frame every 4 ticks (16 ticks total for one step) .noNextAnimationFrame - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] add $3 ld l, a ld a, [hli] ; c1x3 (movement Y delta) @@ -330,7 +330,7 @@ UpdateSpriteInWalkingAnimation: ld a, [hl] ; c1x6 (screen X position) add b ld [hl], a ; update screen X position - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] ld l, a inc h ld a, [hl] ; c2x0 (walk animation counter) @@ -343,7 +343,7 @@ UpdateSpriteInWalkingAnimation: ld a, [hl] ; c2x6 (movement byte 1) cp $fe jr nc, .initNextMovementCounter ; values $fe and $ff - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] inc a ld l, a dec h @@ -351,14 +351,14 @@ UpdateSpriteInWalkingAnimation: ret .initNextMovementCounter call Random - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] add $8 ld l, a - ld a, [hRandomAdd] + ldh a, [hRandomAdd] and $7f ld [hl], a ; c2x8: set next movement delay to a random value in [0,$7f] dec h ; note that value 0 actually makes the delay $100 (bug?) - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] inc a ld l, a ld [hl], $2 ; c1x1 = 2 (movement status) @@ -375,7 +375,7 @@ UpdateSpriteInWalkingAnimation: ; update delay value (c2x8) for sprites in the delayed state (c1x1) UpdateSpriteMovementDelay: ld h, $c2 - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] add $6 ld l, a ld a, [hl] ; c2x6: movement byte 1 @@ -390,13 +390,13 @@ UpdateSpriteMovementDelay: jr nz, notYetMoving .moving dec h - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] inc a ld l, a ld [hl], $1 ; c1x1 = 1 (mark as ready to move) notYetMoving: ld h, wSpriteStateData1 / $100 - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] add wSpritePlayerStateData1AnimFrameCounter - wSpritePlayerStateData1 ld l, a ld [hl], $0 ; c1x8 = 0 (walk animation frame) @@ -429,7 +429,7 @@ MakeNPCFacePlayer: .notFacingRight ld c, SPRITE_FACING_LEFT .facingDirectionDetermined - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] add $9 ld l, a ld [hl], c ; c1x9: set facing direction @@ -440,7 +440,7 @@ InitializeSpriteStatus: inc l ld [hl], $ff ; $c1x2: set sprite image to $ff (invisible/off screen) inc h - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] add $2 ld l, a ld a, $8 @@ -451,7 +451,7 @@ InitializeSpriteStatus: ; calculates the sprite's screen position form its map position and the player position InitializeSpriteScreenPosition: ld h, wSpriteStateData2 / $100 - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] add wSpritePlayerStateData2MapY - wSpritePlayerStateData2 ld l, a ld a, [wYCoord] @@ -475,17 +475,17 @@ InitializeSpriteScreenPosition: ; tests if sprite is off screen or otherwise unable to do anything CheckSpriteAvailability: predef IsObjectHidden - ld a, [hIsHiddenMissableObject] + ldh a, [hIsHiddenMissableObject] and a jp nz, .spriteInvisible ld h, wSpriteStateData2 / $100 - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] add wSpritePlayerStateData2MovementByte1 - wSpritePlayerStateData2 ld l, a ld a, [hl] ; c2x6: movement byte 1 cp $fe jr c, .skipXVisibilityTest ; movement byte 1 < $fe (i.e. the sprite's movement is scripted) - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] add wSpritePlayerStateData2MapY - wSpritePlayerStateData2 ld l, a ld b, [hl] ; c2x4: Y pos (+4) @@ -527,7 +527,7 @@ CheckSpriteAvailability: jr c, .spriteVisible ; standing on tile with ID >=MAP_TILESET_SIZE (top right tile) .spriteInvisible ld h, wSpriteStateData1 / $100 - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] add wSpritePlayerStateData1ImageIndex - wSpritePlayerStateData1 ld l, a ld [hl], $ff ; c1x2 @@ -540,7 +540,7 @@ CheckSpriteAvailability: jr nz, .done ; if player is currently walking, we're done call UpdateSpriteImage inc h - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] add $7 ld l, a ld a, [wGrassTile] @@ -556,7 +556,7 @@ CheckSpriteAvailability: UpdateSpriteImage: ld h, $c1 - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] add $8 ld l, a ld a, [hli] ; c1x8: walk animation frame @@ -564,10 +564,10 @@ UpdateSpriteImage: ld a, [hl] ; c1x9: facing direction add b ld b, a - ld a, [hTilePlayerStandingOn] + ldh a, [hTilePlayerStandingOn] add b ld b, a - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] add $2 ld l, a ld [hl], b ; c1x2: sprite to display @@ -581,7 +581,7 @@ UpdateSpriteImage: ; set carry on failure, clears carry on success CanWalkOntoTile: ld h, wSpriteStateData2 / $100 - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] add wSpritePlayerStateData2MovementByte1 - wSpritePlayerStateData2 ld l, a ld a, [hl] ; c2x6 (movement byte 1) @@ -602,14 +602,14 @@ CanWalkOntoTile: cp c jr nz, .tilePassableLoop ld h, $c2 - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] add $6 ld l, a ld a, [hl] ; $c2x6 (movement byte 1) inc a jr z, .impassable ; if $ff, no movement allowed (however, changing direction is) ld h, wSpriteStateData1 / $100 - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] add wSpritePlayerStateData1YPixels - wSpritePlayerStateData1 ld l, a ld a, [hli] ; c1x4 (screen Y pos) @@ -628,14 +628,14 @@ CanWalkOntoTile: pop bc pop de ld h, wSpriteStateData1 / $100 - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] add $c ld l, a ld a, [hl] ; c1xc (directions in which sprite collision would occur) and b ; check against chosen direction (1,2,4 or 8) jr nz, .impassable ; collision between sprites, don't go there ld h, wSpriteStateData2 / $100 - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] add wSpritePlayerStateData2YDisplacement - wSpritePlayerStateData2 ld l, a ld a, [hli] ; c2x2 (sprite Y displacement, initialized at $8, keep track of where a sprite did go) @@ -666,7 +666,7 @@ CanWalkOntoTile: ret .impassable ld h, wSpriteStateData1 / $100 - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] inc a ld l, a ld [hl], $2 ; c1x1 = 2 (set movement status to delayed) @@ -677,11 +677,11 @@ CanWalkOntoTile: inc l ld [hl], a ; c1x5 = 0 (clear X movement delta) inc h - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] add $8 ld l, a call Random - ld a, [hRandomAdd] + ldh a, [hRandomAdd] and $7f ld [hl], a ; c2x8: set next movement delay to a random value in [0,$7f] (again with delay $100 if value is 0) scf ; set carry (marking failure to walk) @@ -692,7 +692,7 @@ CanWalkOntoTile: ; hl: output pointer GetTileSpriteStandsOn: ld h, wSpriteStateData1 / $100 - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] add wSpritePlayerStateData1YPixels - wSpritePlayerStateData1 ld l, a ld a, [hli] ; c1x4: screen Y position @@ -784,7 +784,7 @@ DoScriptedNPCMovement: ld a, [hl] add b ld [hl], a - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] add $9 ld l, a ld a, c @@ -817,7 +817,7 @@ GetSpriteScreenXPointer: GetSpriteScreenXYPointerCommon: ld hl, wSpriteStateData1 - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] add l add b ld l, a @@ -825,7 +825,7 @@ GetSpriteScreenXYPointerCommon: AnimScriptedNPCMovement: ld hl, wSpriteStateData2 - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] add wSpritePlayerStateData2ImageBaseOffset - wSpritePlayerStateData2 ld l, a ld a, [hl] ; VRAM slot @@ -833,7 +833,7 @@ AnimScriptedNPCMovement: swap a ld b, a ld hl, wSpriteStateData1 - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] add wSpritePlayerStateData1FacingDirection - wSpritePlayerStateData1 ld l, a ld a, [hl] ; facing direction @@ -849,21 +849,21 @@ AnimScriptedNPCMovement: .anim add b ld b, a - ld [hSpriteVRAMSlotAndFacing], a + ldh [hSpriteVRAMSlotAndFacing], a call AdvanceScriptedNPCAnimFrameCounter ld hl, wSpriteStateData1 - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] add wSpritePlayerStateData1ImageIndex - wSpritePlayerStateData1 ld l, a - ld a, [hSpriteVRAMSlotAndFacing] + ldh a, [hSpriteVRAMSlotAndFacing] ld b, a - ld a, [hSpriteAnimFrameCounter] + ldh a, [hSpriteAnimFrameCounter] add b ld [hl], a ret AdvanceScriptedNPCAnimFrameCounter: - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] add $7 ld l, a ld a, [hl] ; intra-animation frame counter @@ -878,5 +878,5 @@ AdvanceScriptedNPCAnimFrameCounter: inc a and $3 ld [hl], a - ld [hSpriteAnimFrameCounter], a + ldh [hSpriteAnimFrameCounter], a ret diff --git a/engine/overworld/pathfinding.asm b/engine/overworld/pathfinding.asm index 7251759c..54cb86b9 100644 --- a/engine/overworld/pathfinding.asm +++ b/engine/overworld/pathfinding.asm @@ -8,29 +8,29 @@ FindPathToPlayer: ld hl, wNPCMovementDirections2 ld de, $0 .loop - ld a, [hFindPathYProgress] + ldh a, [hFindPathYProgress] ld b, a - ld a, [hNPCPlayerYDistance] ; Y distance in steps + ldh a, [hNPCPlayerYDistance] ; Y distance in steps call CalcDifference ld d, a and a jr nz, .asm_f8da - ld a, [hFindPathFlags] + ldh a, [hFindPathFlags] set 0, a ; current end of path matches the player's Y coordinate - ld [hFindPathFlags], a + ldh [hFindPathFlags], a .asm_f8da - ld a, [hFindPathXProgress] + ldh a, [hFindPathXProgress] ld b, a - ld a, [hNPCPlayerXDistance] ; X distance in steps + ldh a, [hNPCPlayerXDistance] ; X distance in steps call CalcDifference ld e, a and a jr nz, .asm_f8ec - ld a, [hFindPathFlags] + ldh a, [hFindPathFlags] set 1, a ; current end of path matches the player's X coordinate - ld [hFindPathFlags], a + ldh [hFindPathFlags], a .asm_f8ec - ld a, [hFindPathFlags] + ldh a, [hFindPathFlags] cp $3 ; has the end of the path reached the player's position? jr z, .done ; Compare whether the X distance between the player and the current of the path @@ -39,7 +39,7 @@ FindPathToPlayer: cp d jr c, .yDistanceGreater ; x distance is greater - ld a, [hNPCPlayerRelativePosFlags] + ldh a, [hNPCPlayerRelativePosFlags] bit 1, a jr nz, .playerIsLeftOfNPC ld d, NPC_MOVEMENT_RIGHT @@ -47,12 +47,12 @@ FindPathToPlayer: .playerIsLeftOfNPC ld d, NPC_MOVEMENT_LEFT .next1 - ld a, [hFindPathXProgress] + ldh a, [hFindPathXProgress] add 1 - ld [hFindPathXProgress], a + ldh [hFindPathXProgress], a jr .storeDirection .yDistanceGreater - ld a, [hNPCPlayerRelativePosFlags] + ldh a, [hNPCPlayerRelativePosFlags] bit 0, a jr nz, .playerIsAboveNPC ld d, NPC_MOVEMENT_DOWN @@ -60,15 +60,15 @@ FindPathToPlayer: .playerIsAboveNPC ld d, NPC_MOVEMENT_UP .next2 - ld a, [hFindPathYProgress] + ldh a, [hFindPathYProgress] add 1 - ld [hFindPathYProgress], a + ldh [hFindPathYProgress], a .storeDirection ld a, d ld [hli], a - ld a, [hFindPathNumSteps] + ldh a, [hFindPathNumSteps] inc a - ld [hFindPathNumSteps], a + ldh [hFindPathNumSteps], a jp .loop .done ld [hl], $ff @@ -76,13 +76,13 @@ FindPathToPlayer: CalcPositionOfPlayerRelativeToNPC: xor a - ld [hNPCPlayerRelativePosFlags], a + ldh [hNPCPlayerRelativePosFlags], a ld a, [wSpritePlayerStateData1YPixels] ld d, a ld a, [wSpritePlayerStateData1XPixels] ld e, a ld hl, wSpriteStateData1 - ld a, [hNPCSpriteOffset] + ldh a, [hNPCSpriteOffset] add l add wSpritePlayerStateData1YPixels - wSpritePlayerStateData1 ld l, a @@ -115,7 +115,7 @@ CalcPositionOfPlayerRelativeToNPC: ld [hli], a call DivideBytes ; divide Y absolute distance by 16 ld a, [hl] ; quotient - ld [hNPCPlayerYDistance], a + ldh [hNPCPlayerYDistance], a pop hl inc hl ld b, e @@ -136,23 +136,23 @@ CalcPositionOfPlayerRelativeToNPC: res 1, [hl] pop hl .divideXDistance - ld [hDividend2], a + ldh [hDividend2], a ld a, 16 - ld [hDivisor2], a + ldh [hDivisor2], a call DivideBytes ; divide X absolute distance by 16 - ld a, [hQuotient2] - ld [hNPCPlayerXDistance], a - ld a, [hNPCPlayerRelativePosPerspective] + ldh a, [hQuotient2] + ldh [hNPCPlayerXDistance], a + ldh a, [hNPCPlayerRelativePosPerspective] and a ret z - ld a, [hNPCPlayerRelativePosFlags] + ldh a, [hNPCPlayerRelativePosFlags] cpl and $3 - ld [hNPCPlayerRelativePosFlags], a + ldh [hNPCPlayerRelativePosFlags], a ret ConvertNPCMovementDirectionsToJoypadMasks: - ld a, [hNPCMovementDirections2Index] + ldh a, [hNPCMovementDirections2Index] ld [wNPCMovementDirections2Index], a dec a ld de, wSimulatedJoypadStatesEnd @@ -166,9 +166,9 @@ ConvertNPCMovementDirectionsToJoypadMasks: call ConvertNPCMovementDirectionToJoypadMask ld [de], a inc de - ld a, [hNPCMovementDirections2Index] + ldh a, [hNPCMovementDirections2Index] dec a - ld [hNPCMovementDirections2Index], a + ldh [hNPCMovementDirections2Index], a jr nz, .loop ret diff --git a/engine/overworld/player_animations.asm b/engine/overworld/player_animations.asm index cfd6cc8d..fec10daf 100755 --- a/engine/overworld/player_animations.asm +++ b/engine/overworld/player_animations.asm @@ -516,9 +516,9 @@ _HandleMidJump:: call UpdateSprites call Delay3 xor a - ld [hJoyHeld], a - ld [hJoyPressed], a - ld [hJoyReleased], a + ldh [hJoyHeld], a + ldh [hJoyPressed], a + ldh [hJoyReleased], a ld [wPlayerJumpingYScreenCoordsIndex], a ld hl, wd736 res 6, [hl] ; not jumping down a ledge any more diff --git a/engine/overworld/player_state.asm b/engine/overworld/player_state.asm index 9ff67df8..f2e74683 100644 --- a/engine/overworld/player_state.asm +++ b/engine/overworld/player_state.asm @@ -17,7 +17,7 @@ IsPlayerStandingOnWarp:: ld a, [hli] ; target warp ld [wDestinationWarpID], a ld a, [hl] ; target map - ld [hWarpDestinationMap], a + ldh [hWarpDestinationMap], a ld hl, wd736 set 2, [hl] ; standing on warp flag ret @@ -297,7 +297,7 @@ _GetTileAndCoordsInFrontOfPlayer: GetTileTwoStepsInFrontOfPlayer: xor a - ld [hPlayerFacing], a + ldh [hPlayerFacing], a ld hl, wYCoord ld a, [hli] ld d, a @@ -378,33 +378,33 @@ CheckForBoulderCollisionWithSprites: ld hl, wSprite01StateData2MapY add hl, de ld a, [hli] ; map Y position - ld [hPlayerYCoord], a + ldh [hPlayerYCoord], a ld a, [hl] ; map X position - ld [hPlayerXCoord], a + ldh [hPlayerXCoord], a ld a, [wNumSprites] ld c, a ld de, $f ld hl, wSprite01StateData2MapY - ld a, [hPlayerFacing] + ldh a, [hPlayerFacing] and $3 ; facing up or down? jr z, .pushingHorizontallyLoop .pushingVerticallyLoop inc hl - ld a, [hPlayerXCoord] + ldh a, [hPlayerXCoord] cp [hl] jr nz, .nextSprite1 ; if X coordinates don't match dec hl ld a, [hli] ld b, a - ld a, [hPlayerFacing] + ldh a, [hPlayerFacing] rrca jr c, .pushingDown ; pushing up - ld a, [hPlayerYCoord] + ldh a, [hPlayerYCoord] dec a jr .compareYCoords .pushingDown - ld a, [hPlayerYCoord] + ldh a, [hPlayerYCoord] inc a .compareYCoords cp b @@ -417,19 +417,19 @@ CheckForBoulderCollisionWithSprites: .pushingHorizontallyLoop ld a, [hli] ld b, a - ld a, [hPlayerYCoord] + ldh a, [hPlayerYCoord] cp b jr nz, .nextSprite2 ld b, [hl] - ld a, [hPlayerFacing] + ldh a, [hPlayerFacing] bit 2, a jr nz, .pushingLeft ; pushing right - ld a, [hPlayerXCoord] + ldh a, [hPlayerXCoord] inc a jr .compareXCoords .pushingLeft - ld a, [hPlayerXCoord] + ldh a, [hPlayerXCoord] dec a .compareXCoords cp b diff --git a/engine/overworld/push_boulder.asm b/engine/overworld/push_boulder.asm index da1c6dee..fb4d06aa 100644 --- a/engine/overworld/push_boulder.asm +++ b/engine/overworld/push_boulder.asm @@ -6,15 +6,15 @@ TryPushingBoulder:: bit 1, a ; has boulder dust animation from previous push played yet? ret nz xor a - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call IsSpriteInFrontOfPlayer - ld a, [hSpriteIndexOrTextID] + ldh a, [hSpriteIndexOrTextID] ld [wBoulderSpriteIndex], a and a jp z, ResetBoulderPushFlags ld hl, wSpritePlayerStateData1MovementStatus ld d, $0 - ld a, [hSpriteIndexOrTextID] + ldh a, [hSpriteIndexOrTextID] swap a ld e, a add hl, de @@ -27,14 +27,14 @@ TryPushingBoulder:: bit 6, [hl] set 6, [hl] ; indicate that the player has tried pushing ret z ; the player must try pushing twice before the boulder will move - ld a, [hJoyHeld] + ldh a, [hJoyHeld] and D_RIGHT | D_LEFT | D_UP | D_DOWN ret z predef CheckForCollisionWhenPushingBoulder ld a, [wTileInFrontOfBoulderAndBoulderCollisionResult] and a ; was there a collision? jp nz, ResetBoulderPushFlags - ld a, [hJoyHeld] + ldh a, [hJoyHeld] ld b, a ld a, [wSpritePlayerStateData1FacingDirection] cp SPRITE_FACING_UP @@ -92,7 +92,7 @@ DoBoulderDustAnimation:: call ResetBoulderPushFlags set 7, [hl] ld a, [wBoulderSpriteIndex] - ld [hSpriteIndex], a + ldh [hSpriteIndex], a call GetSpriteMovementByte2Pointer ld [hl], $10 ld a, SFX_CUT diff --git a/engine/overworld/special_warps.asm b/engine/overworld/special_warps.asm index 042146f9..54471ee0 100644 --- a/engine/overworld/special_warps.asm +++ b/engine/overworld/special_warps.asm @@ -34,7 +34,7 @@ LoadSpecialWarpData: cp TRADE_CENTER jr nz, .notTradeCenter ld hl, TradeCenterSpec1 - ld a, [hSerialConnectionStatus] + ldh a, [hSerialConnectionStatus] cp USING_INTERNAL_CLOCK ; which gameboy is clocking determines who is on the left and who is on the right jr z, .copyWarpData ld hl, TradeCenterSpec2 @@ -43,7 +43,7 @@ LoadSpecialWarpData: cp COLOSSEUM jr nz, .notColosseum ld hl, ColosseumSpec1 - ld a, [hSerialConnectionStatus] + ldh a, [hSerialConnectionStatus] cp USING_INTERNAL_CLOCK jr z, .copyWarpData ld hl, ColosseumSpec2 diff --git a/engine/overworld/sprite_collisions.asm b/engine/overworld/sprite_collisions.asm index 48cd95b9..e6c415ab 100644 --- a/engine/overworld/sprite_collisions.asm +++ b/engine/overworld/sprite_collisions.asm @@ -6,7 +6,7 @@ _UpdateSprites:: ld l, a sub wSpritePlayerStateData2ImageBaseOffset - wSpritePlayerStateData2 ld c, a - ld [hCurrentSpriteOffset], a + ldh [hCurrentSpriteOffset], a ld a, [hl] and a jr z, .skipSprite ; tests $c2Xe @@ -31,10 +31,10 @@ _UpdateSprites:: UpdateNonPlayerSprite: dec a swap a - ld [hTilePlayerStandingOn], a ; $10 * sprite# + ldh [hTilePlayerStandingOn], a ; $10 * sprite# ld a, [wNPCMovementScriptSpriteOffset] ; some sprite offset? ld b, a - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] cp b jr nz, .unequal jp DoScriptedNPCMovement @@ -54,7 +54,7 @@ DetectCollisionBetweenSprites: nop ld h, wSpriteStateData1 / $100 - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] add wSpriteStateData1 % $100 ld l, a @@ -79,7 +79,7 @@ DetectCollisionBetweenSprites: and $f0 or c - ld [hFF90], a ; store Y coordinate adjusted for direction of movement + ldh [hFF90], a ; store Y coordinate adjusted for direction of movement ld a, [hli] ; a = [$c1i5] (delta X) (-1, 0, or 1) call SetSpriteCollisionValues @@ -92,7 +92,7 @@ DetectCollisionBetweenSprites: and $f0 or c - ld [hFF91], a ; store X coordinate adjusted for direction of movement + ldh [hFF91], a ; store X coordinate adjusted for direction of movement ld a, l add 7 @@ -102,18 +102,18 @@ DetectCollisionBetweenSprites: ld [hld], a ; zero [$c1id] XXX what's [$c1id] for? ld [hld], a ; zero [$c1ic] (directions in which collisions occurred) - ld a, [hFF91] + ldh a, [hFF91] ld [hld], a ; [$c1ib] = adjusted X coordinate - ld a, [hFF90] + ldh a, [hFF90] ld [hl], a ; [$c1ia] = adjusted Y coordinate xor a ; zero the loop counter .loop - ld [hFF8F], a ; store loop counter + ldh [hFF8F], a ; store loop counter swap a ld e, a - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] cp e ; does the loop sprite match the current sprite? jp z, .next ; go to the next sprite if they match @@ -128,7 +128,7 @@ DetectCollisionBetweenSprites: inc a jp z, .next ; go the next sprite if offscreen - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] add 10 ld l, a @@ -154,7 +154,7 @@ DetectCollisionBetweenSprites: cpl inc a .noCarry1 - ld [hFF90], a ; store the distance between the two sprites' adjusted Y values + ldh [hFF90], a ; store the distance between the two sprites' adjusted Y values ; Use the carry flag set by the above subtraction to determine which sprite's ; Y coordinate is larger. This information is used later to set [$c1ic], @@ -176,11 +176,11 @@ DetectCollisionBetweenSprites: ld b, 9 .next1 - ld a, [hFF90] ; a = distance between adjusted Y coordinates + ldh a, [hFF90] ; a = distance between adjusted Y coordinates sub b - ld [hFF92], a ; store distance adjusted using sprite i's direction + ldh [hFF92], a ; store distance adjusted using sprite i's direction ld a, b - ld [hFF90], a ; store 7 or 9 depending on sprite i's delta Y + ldh [hFF90], a ; store 7 or 9 depending on sprite i's delta Y jr c, .checkXDistance ; If sprite j's delta Y is 0, then b = 7, else b = 9. @@ -193,7 +193,7 @@ DetectCollisionBetweenSprites: ld b, 9 .next2 - ld a, [hFF92] ; a = distance adjusted using sprite i's direction + ldh a, [hFF92] ; a = distance adjusted using sprite i's direction sub b ; adjust distance using sprite j's direction jr z, .checkXDistance jr nc, .next ; go to next sprite if distance is still positive after both adjustments @@ -225,7 +225,7 @@ DetectCollisionBetweenSprites: cpl inc a .noCarry2 - ld [hFF91], a ; store the distance between the two sprites' adjusted X values + ldh [hFF91], a ; store the distance between the two sprites' adjusted X values ; Use the carry flag set by the above subtraction to determine which sprite's ; X coordinate is larger. This information is used later to set [$c1ic], @@ -247,11 +247,11 @@ DetectCollisionBetweenSprites: ld b, 9 .next3 - ld a, [hFF91] ; a = distance between adjusted X coordinates + ldh a, [hFF91] ; a = distance between adjusted X coordinates sub b - ld [hFF92], a ; store distance adjusted using sprite i's direction + ldh [hFF92], a ; store distance adjusted using sprite i's direction ld a, b - ld [hFF91], a ; store 7 or 9 depending on sprite i's delta X + ldh [hFF91], a ; store 7 or 9 depending on sprite i's delta X jr c, .collision ; If sprite j's delta X is 0, then b = 7, else b = 9. @@ -264,15 +264,15 @@ DetectCollisionBetweenSprites: ld b, 9 .next4 - ld a, [hFF92] ; a = distance adjusted using sprite i's direction + ldh a, [hFF92] ; a = distance adjusted using sprite i's direction sub b ; adjust distance using sprite j's direction jr z, .collision jr nc, .next ; go to next sprite if distance is still positive after both adjustments .collision - ld a, [hFF91] ; a = 7 or 9 depending on sprite i's delta X + ldh a, [hFF91] ; a = 7 or 9 depending on sprite i's delta X ld b, a - ld a, [hFF90] ; a = 7 or 9 depending on sprite i's delta Y + ldh a, [hFF90] ; a = 7 or 9 depending on sprite i's delta Y inc l ; If delta X isn't 0 and delta Y is 0, then b = %0011, else b = %1100. @@ -294,7 +294,7 @@ DetectCollisionBetweenSprites: ; set bit in [$c1ie] or [$c1if] to indicate which sprite the collision occurred with inc l inc l - ld a, [hFF8F] ; a = loop counter + ldh a, [hFF8F] ; a = loop counter ld de, SpriteCollisionBitTable add a add e @@ -311,7 +311,7 @@ DetectCollisionBetweenSprites: ld [hl], a .next - ld a, [hFF8F] ; a = loop counter + ldh a, [hFF8F] ; a = loop counter inc a cp $10 jp nz, .loop diff --git a/engine/overworld/tilesets.asm b/engine/overworld/tilesets.asm index 88147233..f40cbbc2 100644 --- a/engine/overworld/tilesets.asm +++ b/engine/overworld/tilesets.asm @@ -23,9 +23,9 @@ LoadTilesetHeader: dec c jr nz, .copyTilesetHeaderLoop ld a, [hl] - ld [hTilesetType], a + ldh [hTilesetType], a xor a - ld [hMovingBGTilesCounter1], a + ldh [hMovingBGTilesCounter1], a pop hl ld a, [wCurMapTileset] push hl @@ -38,7 +38,7 @@ LoadTilesetHeader: jr c, .asm_c797 ld a, [wCurMapTileset] ld b, a - ld a, [hPreviousTileset] + ldh a, [hPreviousTileset] cp b jr z, .done .asm_c797 diff --git a/engine/overworld/trainer_sight.asm b/engine/overworld/trainer_sight.asm index c12c064b..5046f5f6 100755 --- a/engine/overworld/trainer_sight.asm +++ b/engine/overworld/trainer_sight.asm @@ -2,26 +2,26 @@ _GetSpritePosition1:: ld hl, wSpriteStateData1 ld de, wSpritePlayerStateData1YPixels - wSpritePlayerStateData1 ld a, [wSpriteIndex] - ld [hSpriteIndex], a + ldh [hSpriteIndex], a call GetSpriteDataPointer ld a, [hli] ; c1x4 (screen Y pos) - ld [hSpriteScreenYCoord], a + ldh [hSpriteScreenYCoord], a inc hl ld a, [hl] ; c1x6 (screen X pos) - ld [hSpriteScreenXCoord], a + ldh [hSpriteScreenXCoord], a ld de, wSpritePlayerStateData2MapY - wSpritePlayerStateData1XPixels add hl, de ld a, [hli] ; c2x4 (map Y pos) - ld [hSpriteMapYCoord], a + ldh [hSpriteMapYCoord], a ld a, [hl] ; c2x5 (map X pos) - ld [hSpriteMapXCoord], a + ldh [hSpriteMapXCoord], a ret _GetSpritePosition2:: ld hl, wSpriteStateData1 ld de, wSpritePlayerStateData1YPixels - wSpritePlayerStateData1 ld a, [wSpriteIndex] - ld [hSpriteIndex], a + ldh [hSpriteIndex], a call GetSpriteDataPointer ld a, [hli] ; c1x4 (screen Y pos) ld [wSavedSpriteScreenY], a @@ -40,18 +40,18 @@ _SetSpritePosition1:: ld hl, wSpriteStateData1 ld de, wSpritePlayerStateData1YPixels - wSpritePlayerStateData1 ld a, [wSpriteIndex] - ld [hSpriteIndex], a + ldh [hSpriteIndex], a call GetSpriteDataPointer - ld a, [hSpriteScreenYCoord] ; c1x4 (screen Y pos) + ldh a, [hSpriteScreenYCoord] ; c1x4 (screen Y pos) ld [hli], a inc hl - ld a, [hSpriteScreenXCoord] ; c1x6 (screen X pos) + ldh a, [hSpriteScreenXCoord] ; c1x6 (screen X pos) ld [hl], a ld de, wSpritePlayerStateData2MapY - wSpritePlayerStateData1XPixels add hl, de - ld a, [hSpriteMapYCoord] ; c2x4 (map Y pos) + ldh a, [hSpriteMapYCoord] ; c2x4 (map Y pos) ld [hli], a - ld a, [hSpriteMapXCoord] ; c2x5 (map X pos) + ldh a, [hSpriteMapXCoord] ; c2x5 (map X pos) ld [hl], a ret @@ -59,7 +59,7 @@ _SetSpritePosition2:: ld hl, wSpriteStateData1 ld de, wSpritePlayerStateData1YPixels - wSpritePlayerStateData1 ld a, [wSpriteIndex] - ld [hSpriteIndex], a + ldh [hSpriteIndex], a call GetSpriteDataPointer ld a, [wSavedSpriteScreenY] ld [hli], a ; c1x4 (screen Y pos) @@ -144,7 +144,7 @@ TrainerWalkUpToPlayer:: call FillMemory ; write the necessary steps to reach player ld [hl], $ff ; write end of list sentinel ld a, [wSpriteIndex] - ld [hSpriteIndex], a + ldh [hSpriteIndex], a jp MoveSprite_ ; input: de = offset within sprite entry @@ -152,7 +152,7 @@ TrainerWalkUpToPlayer:: GetSpriteDataPointer: push de add hl, de - ld a, [hSpriteIndex] + ldh a, [hSpriteIndex] swap a ld d, $0 ld e, a diff --git a/engine/overworld/turn_sprite.asm b/engine/overworld/turn_sprite.asm index bef26537..4ff58239 100755 --- a/engine/overworld/turn_sprite.asm +++ b/engine/overworld/turn_sprite.asm @@ -1,12 +1,12 @@ UpdateSpriteFacingOffsetAndDelayMovement:: ld h, $c2 - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] add $8 ld l, a ld a, $7f ; maximum movement delay ld [hl], a ; c2x8 (movement delay) dec h - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] add $9 ld l, a ld a, [hld] ; c1x9 (facing direction) @@ -14,7 +14,7 @@ UpdateSpriteFacingOffsetAndDelayMovement:: xor a ld [hld], a ld [hl], a ; c1x8 (walk animation frame) - ld a, [hCurrentSpriteOffset] + ldh a, [hCurrentSpriteOffset] add $2 ld l, a ld a, [hl] ; c1x2 (facing and animation table offset) diff --git a/engine/overworld/update_map.asm b/engine/overworld/update_map.asm index 92ae2b10..53a5592d 100644 --- a/engine/overworld/update_map.asm +++ b/engine/overworld/update_map.asm @@ -50,13 +50,13 @@ RedrawMapView: ld a, [wIsInBattle] inc a ret z - ld a, [hAutoBGTransferEnabled] + ldh a, [hAutoBGTransferEnabled] push af - ld a, [hTilesetType] + ldh a, [hTilesetType] push af xor a - ld [hAutoBGTransferEnabled], a - ld [hTilesetType], a ; no flower/water BG tile animations + ldh [hAutoBGTransferEnabled], a + ldh [hTilesetType], a ; no flower/water BG tile animations call LoadCurrentMapView call RunDefaultPaletteCommand ld hl, wMapViewVRAMPointer @@ -73,7 +73,7 @@ RedrawMapView: ld a, h ld [wBuffer + 1], a ; this copy of the address is not used ld a, 2 - ld [hRedrawMapViewRowOffset], a + ldh [hRedrawMapViewRowOffset], a ld c, SCREEN_HEIGHT / 2 ; number of rows of 2x2 tiles (this covers the whole screen) .redrawRowLoop push bc @@ -81,7 +81,7 @@ RedrawMapView: push hl ld hl, wTileMap - 2 * SCREEN_WIDTH ld de, SCREEN_WIDTH - ld a, [hRedrawMapViewRowOffset] + ldh a, [hRedrawMapViewRowOffset] .calcWRAMAddrLoop add hl, de dec a @@ -89,7 +89,7 @@ RedrawMapView: call CopyToRedrawRowOrColumnSrcTiles pop hl ld de, BG_MAP_WIDTH - ld a, [hRedrawMapViewRowOffset] + ldh a, [hRedrawMapViewRowOffset] ld c, a .calcVRAMAddrLoop add hl, de @@ -98,11 +98,11 @@ RedrawMapView: or $98 dec c jr nz, .calcVRAMAddrLoop - ld [hRedrawRowOrColumnDest + 1], a + ldh [hRedrawRowOrColumnDest + 1], a ld a, l - ld [hRedrawRowOrColumnDest], a + ldh [hRedrawRowOrColumnDest], a ld a, REDRAW_ROW - ld [hRedrawRowOrColumnMode], a + ldh [hRedrawRowOrColumnMode], a call DelayFrame ld hl, hRedrawMapViewRowOffset inc [hl] @@ -112,9 +112,9 @@ RedrawMapView: dec c jr nz, .redrawRowLoop pop af - ld [hTilesetType], a + ldh [hTilesetType], a pop af - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a ret CompareHLWithBC: diff --git a/engine/play_time.asm b/engine/play_time.asm index 504830cb..29897242 100755 --- a/engine/play_time.asm +++ b/engine/play_time.asm @@ -56,6 +56,6 @@ CountDownIgnoreInputBitReset: ld [wd730], a ret z xor a - ld [hJoyPressed], a - ld [hJoyHeld], a + ldh [hJoyPressed], a + ldh [hJoyHeld], a ret diff --git a/engine/pokemon/add_mon.asm b/engine/pokemon/add_mon.asm index 8d0a6495..eeef40b0 100644 --- a/engine/pokemon/add_mon.asm +++ b/engine/pokemon/add_mon.asm @@ -15,7 +15,7 @@ _AddPartyMon:: ret nc ; return if the party is already full ld [de], a ld a, [de] - ld [hNewPartyLength], a + ldh [hNewPartyLength], a add e ld e, a jr nc, .noCarry @@ -32,7 +32,7 @@ _AddPartyMon:: jr z, .next2 ld hl, wEnemyMonOT .next2 - ld a, [hNewPartyLength] + ldh a, [hNewPartyLength] dec a call SkipFixedLengthTextEntries ld d, h @@ -44,7 +44,7 @@ _AddPartyMon:: and a jr nz, .skipNaming ld hl, wPartyMonNicks - ld a, [hNewPartyLength] + ldh a, [hNewPartyLength] dec a call SkipFixedLengthTextEntries ld a, NAME_MON_SCREEN @@ -57,7 +57,7 @@ _AddPartyMon:: jr z, .next3 ld hl, wEnemyMons .next3 - ld a, [hNewPartyLength] + ldh a, [hNewPartyLength] dec a ld bc, wPartyMon2 - wPartyMon1 call AddNTimes @@ -129,10 +129,10 @@ _AddPartyMon:: xor a ld b, a call CalcStat ; calc HP stat (set cur Hp to max HP) - ld a, [hMultiplicand+1] + ldh a, [hMultiplicand+1] ld [de], a inc de - ld a, [hMultiplicand+2] + ldh a, [hMultiplicand+2] ld [de], a inc de xor a @@ -204,13 +204,13 @@ _AddPartyMon:: callab CalcExperience pop de inc de - ld a, [hExperience] ; write experience + ldh a, [hExperience] ; write experience ld [de], a inc de - ld a, [hExperience + 1] + ldh a, [hExperience + 1] ld [de], a inc de - ld a, [hExperience + 2] + ldh a, [hExperience + 2] ld [de], a xor a ld b, NUM_STATS * 2 diff --git a/engine/pokemon/bills_pc.asm b/engine/pokemon/bills_pc.asm index 7877ada1..80739de4 100644 --- a/engine/pokemon/bills_pc.asm +++ b/engine/pokemon/bills_pc.asm @@ -1,6 +1,6 @@ DisplayPCMainMenu:: xor a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a call SaveScreenTilesToBuffer2 ld a, [wNumHoFTeams] and a @@ -82,7 +82,7 @@ DisplayPCMainMenu:: ld [wCurrentMenuItem], a ld [wLastMenuItem], a ld a, 1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a ret SomeonesPCText: db "SOMEONE's PC@" @@ -168,7 +168,7 @@ BillsPCMenu: ld de, BoxNoPCText call PlaceString ld a, 1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a call Delay3 call HandleMenuInput bit 1, a @@ -501,7 +501,7 @@ MonWasReleasedText: text_end CableClubLeftGameboy:: - ld a, [hSerialConnectionStatus] + ldh a, [hSerialConnectionStatus] cp USING_EXTERNAL_CLOCK ret z ld a, [wSpritePlayerStateData1FacingDirection] @@ -518,7 +518,7 @@ CableClubLeftGameboy:: tx_pre_jump JustAMomentText CableClubRightGameboy:: - ld a, [hSerialConnectionStatus] + ldh a, [hSerialConnectionStatus] cp USING_INTERNAL_CLOCK ret z ld a, [wSpritePlayerStateData1FacingDirection] diff --git a/engine/pokemon/evos_moves.asm b/engine/pokemon/evos_moves.asm index 469d689a..c54bf7c7 100755 --- a/engine/pokemon/evos_moves.asm +++ b/engine/pokemon/evos_moves.asm @@ -11,7 +11,7 @@ TryEvolvingMon: ; this is only called after battle ; it is supposed to do level up evolutions, though there is a bug that allows item evolutions to occur EvolutionAfterBattle: - ld a, [hTilesetType] + ldh a, [hTilesetType] push af xor a ld [wEvolutionOccurred], a @@ -120,12 +120,12 @@ Evolution_PartyMonLoop: ; loop over party mons ld c, 50 call DelayFrames xor a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a coord hl, 0, 0 lb bc, 12, 20 call ClearScreenArea ld a, $1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a ld a, $ff ld [wUpdateSpritesEnabled], a call ClearSprites @@ -245,7 +245,7 @@ Evolution_PartyMonLoop: ; loop over party mons pop bc pop hl pop af - ld [hTilesetType], a + ldh [hTilesetType], a ld a, [wLinkState] cp LINK_STATE_TRADING ret z diff --git a/engine/pokemon/experience.asm b/engine/pokemon/experience.asm index 76e6b88b..427d2a7f 100755 --- a/engine/pokemon/experience.asm +++ b/engine/pokemon/experience.asm @@ -10,15 +10,15 @@ CalcLevelFromExperience:: push hl ld hl, wLoadedMonExp + 2 ; current exp ; compare exp needed for level d with current exp - ld a, [hExperience + 2] + ldh a, [hExperience + 2] ld c, a ld a, [hld] sub c - ld a, [hExperience + 1] + ldh a, [hExperience + 1] ld c, a ld a, [hld] sbc c - ld a, [hExperience] + ldh a, [hExperience] ld c, a ld a, [hl] sbc c @@ -38,56 +38,56 @@ CalcExperience:: add hl, bc call CalcDSquared ld a, d - ld [hMultiplier], a + ldh [hMultiplier], a call Multiply ld a, [hl] and $f0 swap a - ld [hMultiplier], a + ldh [hMultiplier], a call Multiply ld a, [hli] and $f - ld [hDivisor], a + ldh [hDivisor], a ld b, $4 call Divide - ld a, [hQuotient + 1] + ldh a, [hQuotient + 1] push af - ld a, [hQuotient + 2] + ldh a, [hQuotient + 2] push af - ld a, [hQuotient + 3] + ldh a, [hQuotient + 3] push af call CalcDSquared ld a, [hl] and $7f - ld [hMultiplier], a + ldh [hMultiplier], a call Multiply - ld a, [hProduct + 1] + ldh a, [hProduct + 1] push af - ld a, [hProduct + 2] + ldh a, [hProduct + 2] push af - ld a, [hProduct + 3] + ldh a, [hProduct + 3] push af ld a, [hli] push af xor a - ld [hMultiplicand], a - ld [hMultiplicand + 1], a + ldh [hMultiplicand], a + ldh [hMultiplicand + 1], a ld a, d - ld [hMultiplicand + 2], a + ldh [hMultiplicand + 2], a ld a, [hli] - ld [hMultiplier], a + ldh [hMultiplier], a call Multiply ld b, [hl] - ld a, [hProduct + 3] + ldh a, [hProduct + 3] sub b - ld [hProduct + 3], a + ldh [hProduct + 3], a ld b, $0 - ld a, [hProduct + 2] + ldh a, [hProduct + 2] sbc b - ld [hProduct + 2], a - ld a, [hProduct + 1] + ldh [hProduct + 2], a + ldh a, [hProduct + 1] sbc b - ld [hProduct + 1], a + ldh [hProduct + 1], a ; The difference of the linear term and the constant term consists of 3 bytes ; starting at hProduct + 1. Below, hExperience (an alias of that address) will ; be used instead for the further work of adding or subtracting the squared @@ -96,54 +96,54 @@ CalcExperience:: and $80 jr nz, .subtractSquaredTerm ; check sign pop bc - ld a, [hExperience + 2] + ldh a, [hExperience + 2] add b - ld [hExperience + 2], a + ldh [hExperience + 2], a pop bc - ld a, [hExperience + 1] + ldh a, [hExperience + 1] adc b - ld [hExperience + 1], a + ldh [hExperience + 1], a pop bc - ld a, [hExperience] + ldh a, [hExperience] adc b - ld [hExperience], a + ldh [hExperience], a jr .addCubedTerm .subtractSquaredTerm pop bc - ld a, [hExperience + 2] + ldh a, [hExperience + 2] sub b - ld [hExperience + 2], a + ldh [hExperience + 2], a pop bc - ld a, [hExperience + 1] + ldh a, [hExperience + 1] sbc b - ld [hExperience + 1], a + ldh [hExperience + 1], a pop bc - ld a, [hExperience] + ldh a, [hExperience] sbc b - ld [hExperience], a + ldh [hExperience], a .addCubedTerm pop bc - ld a, [hExperience + 2] + ldh a, [hExperience + 2] add b - ld [hExperience + 2], a + ldh [hExperience + 2], a pop bc - ld a, [hExperience + 1] + ldh a, [hExperience + 1] adc b - ld [hExperience + 1], a + ldh [hExperience + 1], a pop bc - ld a, [hExperience] + ldh a, [hExperience] adc b - ld [hExperience], a + ldh [hExperience], a ret ; calculates d*d CalcDSquared: xor a - ld [hMultiplicand], a - ld [hMultiplicand + 1], a + ldh [hMultiplicand], a + ldh [hMultiplicand + 1], a ld a, d - ld [hMultiplicand + 2], a - ld [hMultiplier], a + ldh [hMultiplicand + 2], a + ldh [hMultiplier], a jp Multiply INCLUDE "data/growth_rates.asm" diff --git a/engine/pokemon/learn_move.asm b/engine/pokemon/learn_move.asm index e1b1a4c7..510300cd 100755 --- a/engine/pokemon/learn_move.asm +++ b/engine/pokemon/learn_move.asm @@ -126,13 +126,13 @@ TryingToLearn: call TextBoxBorder coord hl, 6, 8 ld de, wMovesString - ld a, [hFlagsFFF6] + ldh a, [hFlagsFFF6] set 2, a - ld [hFlagsFFF6], a + ldh [hFlagsFFF6], a call PlaceString - ld a, [hFlagsFFF6] + ldh a, [hFlagsFFF6] res 2, a - ld [hFlagsFFF6], a + ldh [hFlagsFFF6], a ld hl, wTopMenuItemY ld a, 8 ld [hli], a ; wTopMenuItemY diff --git a/engine/pokemon/status_screen.asm b/engine/pokemon/status_screen.asm index 35cc9502..e46adae4 100755 --- a/engine/pokemon/status_screen.asm +++ b/engine/pokemon/status_screen.asm @@ -40,7 +40,7 @@ DrawHP_: push hl call DrawHPBar pop hl - ld a, [hFlagsFFF6] + ldh a, [hFlagsFFF6] bit 0, a jr z, .printFractionBelowBar ld bc, $9 ; right of bar @@ -80,7 +80,7 @@ StatusScreen: ld hl, wd72c set 1, [hl] ld a, $33 - ld [rNR50], a ; Reduce the volume + ldh [rNR50], a ; Reduce the volume call GBPalWhiteOutWithDelay3 call ClearScreen call UpdateSprites @@ -101,10 +101,10 @@ StatusScreen: ld hl, vChars2 + $720 lb bc, BANK(PTile), (PTileEnd - PTile) / $8 call CopyVideoDataDouble ; P (for PP), inline - ld a, [hTilesetType] + ldh a, [hTilesetType] push af xor a - ld [hTilesetType], a + ldh [hTilesetType], a coord hl, 19, 1 lb bc, 6, 10 call DrawLineBox ; Draws the box around name, HP and status @@ -174,7 +174,7 @@ StatusScreen: call PlayCry ; play Pokémon cry call WaitForTextScrollButtonPress ; wait for button pop af - ld [hTilesetType], a + ldh [hTilesetType], a ret .GetStringPointer @@ -298,11 +298,11 @@ StatsText: next "SPECIAL@" StatusScreen2: - ld a, [hTilesetType] + ldh a, [hTilesetType] push af xor a - ld [hTilesetType], a - ld [hAutoBGTransferEnabled], a + ldh [hTilesetType], a + ldh [hAutoBGTransferEnabled], a ld bc, NUM_MOVES + 1 ld hl, wMoves call FillMemory @@ -427,15 +427,15 @@ StatusScreen2: coord hl, 9, 1 call PlaceString ld a, $1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a call Delay3 call WaitForTextScrollButtonPress ; wait for button pop af - ld [hTilesetType], a + ldh [hTilesetType], a ld hl, wd72c res 1, [hl] ld a, $77 - ld [rNR50], a + ldh [rNR50], a call GBPalWhiteOut jp ClearScreen @@ -447,13 +447,13 @@ CalcExpToLevelUp: ld d, a callab CalcExperience ld hl, wLoadedMonExp + 2 - ld a, [hExperience + 2] + ldh a, [hExperience + 2] sub [hl] ld [hld], a - ld a, [hExperience + 1] + ldh a, [hExperience + 1] sbc [hl] ld [hld], a - ld a, [hExperience] + ldh a, [hExperience] sbc [hl] ld [hld], a ret diff --git a/engine/slots/game_corner_slots.asm b/engine/slots/game_corner_slots.asm index 84f3efdc..797c381c 100755 --- a/engine/slots/game_corner_slots.asm +++ b/engine/slots/game_corner_slots.asm @@ -22,7 +22,7 @@ StartSlotMachine: ld a, 250 .next ld [wSlotMachineSevenAndBarModeChance], a - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] ld [wSlotMachineSavedROMBank], a call PromptUserToPlaySlots ret diff --git a/engine/slots/slot_machine.asm b/engine/slots/slot_machine.asm index 3802cdd5..b6eda6d1 100755 --- a/engine/slots/slot_machine.asm +++ b/engine/slots/slot_machine.asm @@ -25,7 +25,7 @@ PromptUserToPlaySlots: call RunPaletteCommand call GBPalNormal ld a, $e4 - ld [rOBP0], a + ldh [rOBP0], a ld hl, wd730 set 6, [hl] xor a @@ -454,9 +454,9 @@ SlotMachine_CheckForMatches: jp hl .flashScreenLoop - ld a, [rBGP] + ldh a, [rBGP] xor $40 - ld [rBGP], a + ldh [rBGP], a ld c, 5 call DelayFrames dec b @@ -472,7 +472,7 @@ SlotMachine_CheckForMatches: call SlotMachine_PayCoinsToPlayer call SlotMachine_PrintPayoutCoins ld a, $e4 - ld [rOBP0], a + ldh [rOBP0], a jp .done SymbolLinedUpSlotMachineText: @@ -695,9 +695,9 @@ SlotMachine_PayCoinsToPlayer: ld a, [wAnimCounter] dec a jr nz, .skip1 - ld a, [rOBP0] + ldh a, [rOBP0] xor $40 ; make the slot wheel symbols flash - ld [rOBP0], a + ldh [rOBP0], a ld a, 5 .skip1 ld [wAnimCounter], a @@ -825,7 +825,7 @@ SlotMachine_AnimWheel: SlotMachine_HandleInputWhileWheelsSpin: call DelayFrame call JoypadLowSensitivity - ld a, [hJoy5] + ldh a, [hJoy5] and A_BUTTON ret z ld hl, wStoppingWhichSlotMachineWheel diff --git a/home.asm b/home.asm index 83860e2e..779a2e0c 100644 --- a/home.asm +++ b/home.asm @@ -30,11 +30,11 @@ CheckForUserInterruption:: call JoypadLowSensitivity pop bc - ld a, [hJoyHeld] + ldh a, [hJoyHeld] cp D_UP + SELECT + B_BUTTON jr z, .input - ld a, [hJoy5] + ldh a, [hJoy5] and START | A_BUTTON jr nz, .input @@ -53,10 +53,10 @@ CheckForUserInterruption:: ; a = ID of destination warp within destination map LoadDestinationWarpPosition:: ld b, a - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] push af ld a, [wPredefParentBank] - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ld a, b add a @@ -68,7 +68,7 @@ LoadDestinationWarpPosition:: ld de, wCurrentTileBlockMapViewPointer call CopyData pop af - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -90,14 +90,14 @@ UpdateSprites:: ld a, [wUpdateSpritesEnabled] dec a ret nz - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] push af ld a, BANK(_UpdateSprites) - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a call _UpdateSprites pop af - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -134,7 +134,7 @@ FadeOutAudio:: bit 1, a ret nz ld a, $77 - ld [rNR50], a + ldh [rNR50], a ret .fadingOut ld a, [wAudioFadeOutCounter] @@ -146,7 +146,7 @@ FadeOutAudio:: .counterReachedZero ld a, [wAudioFadeOutCounterReloadValue] ld [wAudioFadeOutCounter], a - ld a, [rNR50] + ldh a, [rNR50] and a ; has the volume reached 0? jr z, .fadeOutComplete ld b, a @@ -159,7 +159,7 @@ FadeOutAudio:: dec a swap a or c - ld [rNR50], a + ldh [rNR50], a ret .fadeOutComplete ld a, [wAudioFadeOutControl] @@ -227,14 +227,14 @@ AddAmountSoldToMoney:: ; [wWhichPokemon] = index (within the inventory) of the item to remove ; [wItemQuantity] = quantity to remove RemoveItemFromInventory:: - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] push af ld a, BANK(RemoveItemFromInventory_) - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a call RemoveItemFromInventory_ pop af - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -246,15 +246,15 @@ RemoveItemFromInventory:: ; sets carry flag if successful, unsets carry flag if unsuccessful AddItemToInventory:: push bc - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] push af ld a, BANK(AddItemToInventory_) - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a call AddItemToInventory_ pop bc ld a, b - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a pop bc ret @@ -264,7 +264,7 @@ INCLUDE "home/names.asm" ; reloads text box tile patterns, current map view, and tileset tile patterns ReloadMapData:: - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] push af ld a, [wCurMap] call SwitchToMapRomBank @@ -274,13 +274,13 @@ ReloadMapData:: call LoadTilesetTilePatternData call EnableLCD pop af - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ret ; reloads tileset tile patterns ReloadTilesetTilePatterns:: - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] push af ld a, [wCurMap] call SwitchToMapRomBank @@ -288,7 +288,7 @@ ReloadTilesetTilePatterns:: call LoadTilesetTilePatternData call EnableLCD pop af - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -325,15 +325,15 @@ UseItem:: ; OUTPUT: ; clears carry flag if the item is tossed, sets carry flag if not TossItem:: - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] push af ld a, BANK(TossItem_) - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a call TossItem_ pop de ld a, d - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -359,15 +359,15 @@ IsKeyItem:: ; [wTextBoxID] = text box ID ; b, c = y, x cursor position (TWO_OPTION_MENU only) DisplayTextBoxID:: - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] push af ld a, BANK(DisplayTextBoxID_) - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a call DisplayTextBoxID_ pop bc ld a, b - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -401,15 +401,15 @@ RunNPCMovementScript:: ld a, [hli] ld h, [hl] ld l, a - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] push af ld a, [wNPCMovementScriptBank] - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ld a, [wNPCMovementScriptFunctionNum] call CallFunctionInTable pop af - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -511,9 +511,9 @@ SetSpriteFacingDirectionAndDelay:: SetSpriteFacingDirection:: ld a, $9 - ld [hSpriteDataOffset], a + ldh [hSpriteDataOffset], a call GetPointerWithinSpriteStateData1 - ld a, [hSpriteFacingDirection] + ldh a, [hSpriteFacingDirection] ld [hl], a ret @@ -573,7 +573,7 @@ CheckCoords:: CheckBoulderCoords:: push hl ld hl, wSpritePlayerStateData2MapY - ld a, [hSpriteIndex] + ldh a, [hSpriteIndex] swap a ld d, $0 ld e, a @@ -595,9 +595,9 @@ GetPointerWithinSpriteStateData2:: ld h, $c2 _GetPointerWithinSpriteStateData: - ld a, [hSpriteDataOffset] + ldh a, [hSpriteDataOffset] ld b, a - ld a, [hSpriteIndex] + ldh a, [hSpriteIndex] swap a add b ld l, a @@ -615,7 +615,7 @@ DecodeRLEList:: ld a, [de] cp $ff jr z, .endOfList - ld [hRLEByteValue], a ; store byte value to be written + ldh [hRLEByteValue], a ; store byte value to be written inc de ld a, [de] ld b, $0 @@ -623,7 +623,7 @@ DecodeRLEList:: ld a, [wRLEByteCount] add c ld [wRLEByteCount], a ; update total number of written bytes - ld a, [hRLEByteValue] + ldh a, [hRLEByteValue] call FillMemory ; write a c-times to output inc de jr .listLoop @@ -640,7 +640,7 @@ SetSpriteMovementBytesToFE:: call GetSpriteMovementByte1Pointer ld [hl], $fe call GetSpriteMovementByte2Pointer - ld a, [hSpriteMovementByte2] + ldh a, [hSpriteMovementByte2] ld [hl], a pop hl ret @@ -658,7 +658,7 @@ SetSpriteMovementBytesToFF:: ; returns the sprite movement byte 1 pointer for sprite [hSpriteIndex] in hl GetSpriteMovementByte1Pointer:: ld h, $C2 - ld a, [hSpriteIndex] + ldh a, [hSpriteIndex] swap a add 6 ld l, a @@ -668,7 +668,7 @@ GetSpriteMovementByte1Pointer:: GetSpriteMovementByte2Pointer:: push de ld hl, wMapSpriteData - ld a, [hSpriteIndex] + ldh a, [hSpriteIndex] dec a add a ld d, 0 @@ -799,7 +799,7 @@ DivideBytes:: ret LoadFontTilePatterns:: - ld a, [rLCDC] + ldh a, [rLCDC] bit 7, a ; is the LCD enabled? jr nz, .on .off @@ -815,7 +815,7 @@ LoadFontTilePatterns:: jp CopyVideoDataDouble ; if LCD is on, transfer during V-blank LoadTextBoxTilePatterns:: - ld a, [rLCDC] + ldh a, [rLCDC] bit 7, a ; is the LCD enabled? jr nz, .on .off @@ -831,7 +831,7 @@ LoadTextBoxTilePatterns:: jp CopyVideoData ; if LCD is on, transfer during V-blank LoadHpBarAndStatusTilePatterns:: - ld a, [rLCDC] + ldh a, [rLCDC] bit 7, a ; is the LCD enabled? jr nz, .on .off @@ -878,13 +878,13 @@ SaveScreenTilesToBuffer2:: LoadScreenTilesFromBuffer2:: call LoadScreenTilesFromBuffer2DisableBGTransfer ld a, 1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a ret ; loads screen tiles stored in wTileMapBackup2 but leaves hAutoBGTransferEnabled disabled LoadScreenTilesFromBuffer2DisableBGTransfer:: xor a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a ld hl, wTileMapBackup2 coord de, 0, 0 ld bc, SCREEN_WIDTH * SCREEN_HEIGHT @@ -899,13 +899,13 @@ SaveScreenTilesToBuffer1:: LoadScreenTilesFromBuffer1:: xor a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a ld hl, wTileMapBackup coord de, 0, 0 ld bc, SCREEN_WIDTH * SCREEN_HEIGHT call CopyData ld a, 1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a ret DelayFrames:: @@ -945,7 +945,7 @@ INCLUDE "home/names2.asm" GetItemPrice:: ; Stores item's price as BCD at hItemPrice (3 bytes) ; Input: [wcf91] = item id - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] push af ld a, [wListMenuID] cp MOVESLISTMENU @@ -953,7 +953,7 @@ GetItemPrice:: jr nz, .ok ld a, $f ; hardcoded Bank .ok - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ld hl, wItemPrices ld a, [hli] @@ -969,21 +969,21 @@ GetItemPrice:: jr nz, .loop dec hl ld a, [hld] - ld [hItemPrice + 2], a + ldh [hItemPrice + 2], a ld a, [hld] - ld [hItemPrice + 1], a + ldh [hItemPrice + 1], a ld a, [hl] - ld [hItemPrice], a + ldh [hItemPrice], a jr .done .getTMPrice ld a, BANK(GetMachinePrice) - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a call GetMachinePrice .done ld de, hItemPrice pop af - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -1018,52 +1018,52 @@ CopyString:: ; ([hJoy7] == 1, [hJoy6] == 0) JoypadLowSensitivity:: call Joypad - ld a, [hJoy7] ; flag + ldh a, [hJoy7] ; flag and a ; get all currently pressed buttons or only newly pressed buttons? - ld a, [hJoyPressed] ; newly pressed buttons + ldh a, [hJoyPressed] ; newly pressed buttons jr z, .storeButtonState - ld a, [hJoyHeld] ; all currently pressed buttons + ldh a, [hJoyHeld] ; all currently pressed buttons .storeButtonState - ld [hJoy5], a - ld a, [hJoyPressed] ; newly pressed buttons + ldh [hJoy5], a + ldh a, [hJoyPressed] ; newly pressed buttons and a ; have any buttons been newly pressed since last check? jr z, .noNewlyPressedButtons .newlyPressedButtons ld a, 30 ; half a second delay - ld [hFrameCounter], a + ldh [hFrameCounter], a ret .noNewlyPressedButtons - ld a, [hFrameCounter] + ldh a, [hFrameCounter] and a ; is the delay over? jr z, .delayOver .delayNotOver xor a - ld [hJoy5], a ; report no buttons as pressed + ldh [hJoy5], a ; report no buttons as pressed ret .delayOver ; if [hJoy6] = 0 and A or B is pressed, report no buttons as pressed - ld a, [hJoyHeld] + ldh a, [hJoyHeld] and A_BUTTON | B_BUTTON jr z, .setShortDelay - ld a, [hJoy6] ; flag + ldh a, [hJoy6] ; flag and a jr nz, .setShortDelay xor a - ld [hJoy5], a + ldh [hJoy5], a .setShortDelay ld a, 5 ; 1/12 of a second delay - ld [hFrameCounter], a + ldh [hFrameCounter], a ret WaitForTextScrollButtonPress:: - ld a, [hDownArrowBlinkCount1] + ldh a, [hDownArrowBlinkCount1] push af - ld a, [hDownArrowBlinkCount2] + ldh a, [hDownArrowBlinkCount2] push af xor a - ld [hDownArrowBlinkCount1], a + ldh [hDownArrowBlinkCount1], a ld a, $6 - ld [hDownArrowBlinkCount2], a + ldh [hDownArrowBlinkCount2], a .loop push hl ld a, [wTownMapSpriteBlinkingEnabled] @@ -1076,13 +1076,13 @@ WaitForTextScrollButtonPress:: pop hl call JoypadLowSensitivity predef CableClub_Run - ld a, [hJoy5] + ldh a, [hJoy5] and A_BUTTON | B_BUTTON jr z, .loop pop af - ld [hDownArrowBlinkCount2], a + ldh [hDownArrowBlinkCount2], a pop af - ld [hDownArrowBlinkCount1], a + ldh [hDownArrowBlinkCount1], a ret ; (unless in link battle) waits for A or B being pressed and outputs the scrolling sound effect @@ -1125,14 +1125,14 @@ Divide:: push hl push de push bc - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] push af ld a, BANK(_Divide) - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a call _Divide pop af - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a pop bc pop de @@ -1157,14 +1157,14 @@ PrintLetterDelay:: jr z, .waitOneFrame ld a, [wOptions] and $f - ld [hFrameCounter], a + ldh [hFrameCounter], a jr .checkButtons .waitOneFrame ld a, 1 - ld [hFrameCounter], a + ldh [hFrameCounter], a .checkButtons call Joypad - ld a, [hJoyHeld] + ldh a, [hJoyHeld] .checkAButton bit 0, a ; is the A button pressed? jr z, .checkBButton @@ -1176,7 +1176,7 @@ PrintLetterDelay:: call DelayFrame jr .done .buttonsNotPressed ; if neither A nor B is pressed - ld a, [hFrameCounter] + ldh a, [hFrameCounter] and a jr nz, .checkButtons .done @@ -1278,14 +1278,14 @@ HandleMenuInput:: ld [wPartyMenuAnimMonEnabled], a HandleMenuInput_:: - ld a, [hDownArrowBlinkCount1] + ldh a, [hDownArrowBlinkCount1] push af - ld a, [hDownArrowBlinkCount2] + ldh a, [hDownArrowBlinkCount2] push af ; save existing values on stack xor a - ld [hDownArrowBlinkCount1], a ; blinking down arrow timing value 1 + ldh [hDownArrowBlinkCount1], a ; blinking down arrow timing value 1 ld a, 6 - ld [hDownArrowBlinkCount2], a ; blinking down arrow timing value 2 + ldh [hDownArrowBlinkCount2], a ; blinking down arrow timing value 2 .loop1 xor a ld [wAnimCounter], a ; counter for pokemon shaking animation @@ -1300,7 +1300,7 @@ HandleMenuInput_:: .getJoypadState pop hl call JoypadLowSensitivity - ld a, [hJoy5] + ldh a, [hJoy5] and a ; was a key pressed? jr nz, .keyPressed push hl @@ -1314,16 +1314,16 @@ HandleMenuInput_:: .giveUpWaiting ; if a key wasn't pressed within the specified number of checks pop af - ld [hDownArrowBlinkCount2], a + ldh [hDownArrowBlinkCount2], a pop af - ld [hDownArrowBlinkCount1], a ; restore previous values + ldh [hDownArrowBlinkCount1], a ; restore previous values xor a ld [wMenuWrappingEnabled], a ; disable menu wrapping ret .keyPressed xor a ld [wCheckFor180DegreeTurn], a - ld a, [hJoy5] + ldh a, [hJoy5] ld b, a bit 6, a ; pressed Up key? jr z, .checkIfDownPressed @@ -1365,7 +1365,7 @@ HandleMenuInput_:: and b ; does the menu care about any of the pressed keys? jp z, .loop1 .checkIfAButtonOrBButtonPressed - ld a, [hJoy5] + ldh a, [hJoy5] and A_BUTTON | B_BUTTON jr z, .skipPlayingSound .AButtonOrBButtonPressed @@ -1378,12 +1378,12 @@ HandleMenuInput_:: call PlaySound .skipPlayingSound pop af - ld [hDownArrowBlinkCount2], a + ldh [hDownArrowBlinkCount2], a pop af - ld [hDownArrowBlinkCount1], a ; restore previous values + ldh [hDownArrowBlinkCount1], a ; restore previous values xor a ld [wMenuWrappingEnabled], a ; disable menu wrapping - ld a, [hJoy5] + ldh a, [hJoy5] ret .noWrappingAround ld a, [wMenuWatchMovingOutOfBounds] @@ -1411,7 +1411,7 @@ PlaceMenuCursor:: and a ; was the previous menu id 0? jr z, .checkForArrow1 push af - ld a, [hFlagsFFF6] + ldh a, [hFlagsFFF6] bit 1, a ; is the menu double spaced? jr z, .doubleSpaced1 ld bc, 20 @@ -1437,7 +1437,7 @@ PlaceMenuCursor:: and a jr z, .checkForArrow2 push af - ld a, [hFlagsFFF6] + ldh a, [hFlagsFFF6] bit 1, a ; is the menu double spaced? jr z, .doubleSpaced2 ld bc, 20 @@ -1504,36 +1504,36 @@ HandleDownArrowBlinkTiming:: cp b jr nz, .downArrowOff .downArrowOn - ld a, [hDownArrowBlinkCount1] + ldh a, [hDownArrowBlinkCount1] dec a - ld [hDownArrowBlinkCount1], a + ldh [hDownArrowBlinkCount1], a ret nz - ld a, [hDownArrowBlinkCount2] + ldh a, [hDownArrowBlinkCount2] dec a - ld [hDownArrowBlinkCount2], a + ldh [hDownArrowBlinkCount2], a ret nz ld a, " " ld [hl], a ld a, $ff - ld [hDownArrowBlinkCount1], a + ldh [hDownArrowBlinkCount1], a ld a, $06 - ld [hDownArrowBlinkCount2], a + ldh [hDownArrowBlinkCount2], a ret .downArrowOff - ld a, [hDownArrowBlinkCount1] + ldh a, [hDownArrowBlinkCount1] and a ret z dec a - ld [hDownArrowBlinkCount1], a + ldh [hDownArrowBlinkCount1], a ret nz dec a - ld [hDownArrowBlinkCount1], a - ld a, [hDownArrowBlinkCount2] + ldh [hDownArrowBlinkCount1], a + ldh a, [hDownArrowBlinkCount2] dec a - ld [hDownArrowBlinkCount2], a + ldh [hDownArrowBlinkCount2], a ret nz ld a, $06 - ld [hDownArrowBlinkCount2], a + ldh [hDownArrowBlinkCount2], a ld a, "▼" ld [hl], a ret @@ -1640,17 +1640,17 @@ Delay3:: GBPalNormal:: ; Reset BGP and OBP0. ld a, %11100100 ; 3210 - ld [rBGP], a + ldh [rBGP], a ld a, %11010000 ; 3100 - ld [rOBP0], a + ldh [rOBP0], a ret GBPalWhiteOut:: ; White out all palettes. xor a - ld [rBGP], a - ld [rOBP0], a - ld [rOBP1], a + ldh [rBGP], a + ldh [rOBP0], a + ldh [rOBP1], a ret RunDefaultPaletteCommand:: @@ -1730,7 +1730,7 @@ Random:: push de push bc callba Random_ - ld a, [hRandomAdd] + ldh a, [hRandomAdd] pop bc pop de pop hl @@ -1742,22 +1742,22 @@ UpdateCinnabarGymGateTileBlocks:: jpba UpdateCinnabarGymGateTileBlocks_ CheckForHiddenObjectOrBookshelfOrCardKeyDoor:: - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] push af - ld a, [hJoyHeld] + ldh a, [hJoyHeld] bit 0, a ; A button jr z, .nothingFound ; A button is pressed ld a, BANK(CheckForHiddenObject) ld [MBC1RomBank], a - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a call CheckForHiddenObject - ld a, [hDidntFindAnyHiddenObject] + ldh a, [hDidntFindAnyHiddenObject] and a jr nz, .hiddenObjectNotFound ld a, [wHiddenObjectFunctionRomBank] ld [MBC1RomBank], a - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld de, .returnAddress push de jp hl @@ -1766,20 +1766,20 @@ CheckForHiddenObjectOrBookshelfOrCardKeyDoor:: jr .done .hiddenObjectNotFound callba PrintBookshelfText - ld a, [hFFDB] + ldh a, [hFFDB] and a jr z, .done .nothingFound ld a, $ff .done - ld [hItemAlreadyFound], a + ldh [hItemAlreadyFound], a pop af ld [MBC1RomBank], a - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ret PrintPredefTextID:: - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a ld hl, TextPredefs call SetMapTextPointer ld hl, wTextPredefFlag @@ -1788,17 +1788,17 @@ PrintPredefTextID:: RestoreMapTextPointer:: ld hl, wMapTextPtr - ld a, [hSavedMapTextPtr] + ldh a, [hSavedMapTextPtr] ld [hli], a - ld a, [hSavedMapTextPtr + 1] + ldh a, [hSavedMapTextPtr + 1] ld [hl], a ret SetMapTextPointer:: ld a, [wMapTextPtr] - ld [hSavedMapTextPtr], a + ldh [hSavedMapTextPtr], a ld a, [wMapTextPtr + 1] - ld [hSavedMapTextPtr + 1], a + ldh [hSavedMapTextPtr + 1], a ld a, l ld [wMapTextPtr], a ld a, h diff --git a/home/audio.asm b/home/audio.asm index 04f0276d..426506bf 100644 --- a/home/audio.asm +++ b/home/audio.asm @@ -170,10 +170,10 @@ PlaySound:: .noFadeOut xor a ld [wNewSoundID], a - ld a, [hLoadedROMBank] - ld [hSavedROMBank], a + ldh a, [hLoadedROMBank] + ldh [hSavedROMBank], a ld a, [wAudioROMBank] - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a cp BANK(Audio1_PlaySound) jr nz, .checkForAudio2 @@ -197,8 +197,8 @@ PlaySound:: call Audio3_PlaySound .next2 - ld a, [hSavedROMBank] - ld [hLoadedROMBank], a + ldh a, [hSavedROMBank] + ldh [hLoadedROMBank], a ld [MBC1RomBank], a jr .done diff --git a/home/bankswitch.asm b/home/bankswitch.asm index 086ca2f3..52c8a45c 100644 --- a/home/bankswitch.asm +++ b/home/bankswitch.asm @@ -2,27 +2,27 @@ BankswitchHome:: ; switches to bank # in a ; Only use this when in the home bank! ld [wBankswitchHomeTemp], a - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] ld [wBankswitchHomeSavedROMBank], a ld a, [wBankswitchHomeTemp] - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ret BankswitchBack:: ; returns from BankswitchHome ld a, [wBankswitchHomeSavedROMBank] - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ret Bankswitch:: ; self-contained bankswitch, use this when not in the home bank ; switches to the bank in b - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] push af ld a, b - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ld bc, .Return push bc @@ -30,6 +30,6 @@ Bankswitch:: .Return pop bc ld a, b - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ret diff --git a/home/copy.asm b/home/copy.asm index 910f508b..880d1fb7 100644 --- a/home/copy.asm +++ b/home/copy.asm @@ -1,14 +1,14 @@ FarCopyData:: ; Copy bc bytes from a:hl to de. ld [wBuffer], a - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] push af ld a, [wBuffer] - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a call CopyData pop af - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ret diff --git a/home/copy2.asm b/home/copy2.asm index 521223b6..01417201 100644 --- a/home/copy2.asm +++ b/home/copy2.asm @@ -1,25 +1,25 @@ FarCopyData2:: ; Identical to FarCopyData, but uses hROMBankTemp ; as temp space instead of wBuffer. - ld [hROMBankTemp], a - ld a, [hLoadedROMBank] + ldh [hROMBankTemp], a + ldh a, [hLoadedROMBank] push af - ld a, [hROMBankTemp] - ld [hLoadedROMBank], a + ldh a, [hROMBankTemp] + ldh [hLoadedROMBank], a ld [MBC1RomBank], a call CopyData pop af - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ret FarCopyData3:: ; Copy bc bytes from a:de to hl. - ld [hROMBankTemp], a - ld a, [hLoadedROMBank] + ldh [hROMBankTemp], a + ldh a, [hLoadedROMBank] push af - ld a, [hROMBankTemp] - ld [hLoadedROMBank], a + ldh a, [hROMBankTemp] + ldh [hLoadedROMBank], a ld [MBC1RomBank], a push hl push de @@ -31,18 +31,18 @@ FarCopyData3:: pop de pop hl pop af - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ret FarCopyDataDouble:: ; Expand bc bytes of 1bpp image data ; from a:hl to 2bpp data at de. - ld [hROMBankTemp], a - ld a, [hLoadedROMBank] + ldh [hROMBankTemp], a + ldh a, [hLoadedROMBank] push af - ld a, [hROMBankTemp] - ld [hLoadedROMBank], a + ldh a, [hROMBankTemp] + ldh [hLoadedROMBank], a ld [MBC1RomBank], a .loop ld a, [hli] @@ -55,7 +55,7 @@ FarCopyDataDouble:: or b jr nz, .loop pop af - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -64,27 +64,27 @@ CopyVideoData:: ; tiles from b:de to hl, 8 tiles at a time. ; This takes c/8 frames. - ld a, [hAutoBGTransferEnabled] + ldh a, [hAutoBGTransferEnabled] push af xor a ; disable auto-transfer while copying - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a - ld a, [hLoadedROMBank] - ld [hROMBankTemp], a + ldh a, [hLoadedROMBank] + ldh [hROMBankTemp], a ld a, b - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ld a, e - ld [hVBlankCopySource], a + ldh [hVBlankCopySource], a ld a, d - ld [hVBlankCopySource + 1], a + ldh [hVBlankCopySource + 1], a ld a, l - ld [hVBlankCopyDest], a + ldh [hVBlankCopyDest], a ld a, h - ld [hVBlankCopyDest + 1], a + ldh [hVBlankCopyDest + 1], a .loop ld a, c @@ -92,18 +92,18 @@ CopyVideoData:: jr nc, .keepgoing .done - ld [hVBlankCopySize], a + ldh [hVBlankCopySize], a call DelayFrame - ld a, [hROMBankTemp] - ld [hLoadedROMBank], a + ldh a, [hROMBankTemp] + ldh [hLoadedROMBank], a ld [MBC1RomBank], a pop af - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a ret .keepgoing ld a, 8 - ld [hVBlankCopySize], a + ldh [hVBlankCopySize], a call DelayFrame ld a, c sub 8 @@ -114,26 +114,26 @@ CopyVideoDataDouble:: ; Wait for the next VBlank, then copy c 1bpp ; tiles from b:de to hl, 8 tiles at a time. ; This takes c/8 frames. - ld a, [hAutoBGTransferEnabled] + ldh a, [hAutoBGTransferEnabled] push af xor a ; disable auto-transfer while copying - ld [hAutoBGTransferEnabled], a - ld a, [hLoadedROMBank] - ld [hROMBankTemp], a + ldh [hAutoBGTransferEnabled], a + ldh a, [hLoadedROMBank] + ldh [hROMBankTemp], a ld a, b - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ld a, e - ld [hVBlankCopyDoubleSource], a + ldh [hVBlankCopyDoubleSource], a ld a, d - ld [hVBlankCopyDoubleSource + 1], a + ldh [hVBlankCopyDoubleSource + 1], a ld a, l - ld [hVBlankCopyDoubleDest], a + ldh [hVBlankCopyDoubleDest], a ld a, h - ld [hVBlankCopyDoubleDest + 1], a + ldh [hVBlankCopyDoubleDest + 1], a .loop ld a, c @@ -141,18 +141,18 @@ CopyVideoDataDouble:: jr nc, .keepgoing .done - ld [hVBlankCopyDoubleSize], a + ldh [hVBlankCopyDoubleSize], a call DelayFrame - ld a, [hROMBankTemp] - ld [hLoadedROMBank], a + ldh a, [hROMBankTemp] + ldh [hLoadedROMBank], a ld [MBC1RomBank], a pop af - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a ret .keepgoing ld a, 8 - ld [hVBlankCopyDoubleSize], a + ldh [hVBlankCopyDoubleSize], a call DelayFrame ld a, c sub 8 @@ -200,16 +200,16 @@ CopyScreenTileBufferToVRAM:: .setup ld a, d - ld [hVBlankCopyBGSource+1], a + ldh [hVBlankCopyBGSource+1], a call GetRowColAddressBgMap ld a, l - ld [hVBlankCopyBGDest], a + ldh [hVBlankCopyBGDest], a ld a, h - ld [hVBlankCopyBGDest+1], a + ldh [hVBlankCopyBGDest+1], a ld a, c - ld [hVBlankCopyBGNumRows], a + ldh [hVBlankCopyBGNumRows], a ld a, e - ld [hVBlankCopyBGSource], a + ldh [hVBlankCopyBGSource], a ret ClearScreen:: diff --git a/home/fade.asm b/home/fade.asm index 9482fcb0..32175e16 100644 --- a/home/fade.asm +++ b/home/fade.asm @@ -11,11 +11,11 @@ LoadGBPal:: dec h .ok ld a, [hli] - ld [rBGP], a + ldh [rBGP], a ld a, [hli] - ld [rOBP0], a + ldh [rOBP0], a ld a, [hli] - ld [rOBP1], a + ldh [rOBP1], a ret GBFadeInFromBlack:: @@ -29,11 +29,11 @@ GBFadeOutToWhite:: GBFadeIncCommon: ld a, [hli] - ld [rBGP], a + ldh [rBGP], a ld a, [hli] - ld [rOBP0], a + ldh [rOBP0], a ld a, [hli] - ld [rOBP1], a + ldh [rOBP1], a ld c, 8 call DelayFrames dec b @@ -51,11 +51,11 @@ GBFadeInFromWhite:: GBFadeDecCommon: ld a, [hld] - ld [rOBP1], a + ldh [rOBP1], a ld a, [hld] - ld [rOBP0], a + ldh [rOBP0], a ld a, [hld] - ld [rBGP], a + ldh [rBGP], a ld c, 8 call DelayFrames dec b diff --git a/home/init.asm b/home/init.asm index 83238bad..f18216ff 100644 --- a/home/init.asm +++ b/home/init.asm @@ -21,22 +21,22 @@ rLCDC_DEFAULT EQU %11100011 di xor a - ld [rIF], a - ld [rIE], a - ld [rSCX], a - ld [rSCY], a - ld [rSB], a - ld [rSC], a - ld [rWX], a - ld [rWY], a - ld [rTMA], a - ld [rTAC], a - ld [rBGP], a - ld [rOBP0], a - ld [rOBP1], a + ldh [rIF], a + ldh [rIE], a + ldh [rSCX], a + ldh [rSCY], a + ldh [rSB], a + ldh [rSC], a + ldh [rWX], a + ldh [rWY], a + ldh [rTMA], a + ldh [rTAC], a + ldh [rBGP], a + ldh [rOBP0], a + ldh [rOBP1], a ld a, rLCDC_ENABLE_MASK - ld [rLCDC], a + ldh [rLCDC], a call DisableLCD ld sp, wStack @@ -60,27 +60,27 @@ rLCDC_DEFAULT EQU %11100011 call ClearSprites ld a, BANK(WriteDMACodeToHRAM) - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a call WriteDMACodeToHRAM xor a - ld [hTilesetType], a - ld [rSTAT], a - ld [hSCX], a - ld [hSCY], a - ld [rIF], a + ldh [hTilesetType], a + ldh [rSTAT], a + ldh [hSCX], a + ldh [hSCY], a + ldh [rIF], a ld a, 1 << VBLANK + 1 << TIMER + 1 << SERIAL - ld [rIE], a + ldh [rIE], a ld a, 144 ; move the window off-screen - ld [hWY], a - ld [rWY], a + ldh [hWY], a + ldh [rWY], a ld a, 7 - ld [rWX], a + ldh [rWX], a ld a, CONNECTION_NOT_ESTABLISHED - ld [hSerialConnectionStatus], a + ldh [hSerialConnectionStatus], a ld h, vBGMap0 / $100 call ClearBgMap @@ -88,9 +88,9 @@ rLCDC_DEFAULT EQU %11100011 call ClearBgMap ld a, rLCDC_DEFAULT - ld [rLCDC], a + ldh [rLCDC], a ld a, 16 - ld [hSoftReset], a + ldh [hSoftReset], a call StopAllSounds ei @@ -101,9 +101,9 @@ rLCDC_DEFAULT EQU %11100011 ld [wAudioROMBank], a ld [wAudioSavedROMBank], a ld a, $9c - ld [hAutoBGTransferDest + 1], a + ldh [hAutoBGTransferDest + 1], a xor a - ld [hAutoBGTransferDest], a + ldh [hAutoBGTransferDest], a dec a ld [wUpdateSpritesEnabled], a @@ -114,7 +114,7 @@ rLCDC_DEFAULT EQU %11100011 call GBPalNormal call ClearSprites ld a, rLCDC_DEFAULT - ld [rLCDC], a + ldh [rLCDC], a jp SetDefaultNamesBeforeTitlescreen diff --git a/home/joypad.asm b/home/joypad.asm index 9948b6e7..51a77fcc 100644 --- a/home/joypad.asm +++ b/home/joypad.asm @@ -6,9 +6,9 @@ ReadJoypad:: ld a, 1 << 5 ; select direction keys ld c, 0 - ld [rJOYP], a + ldh [rJOYP], a REPT 6 - ld a, [rJOYP] + ldh a, [rJOYP] ENDR cpl and %1111 @@ -16,18 +16,18 @@ ReadJoypad:: ld b, a ld a, 1 << 4 ; select button keys - ld [rJOYP], a + ldh [rJOYP], a REPT 10 - ld a, [rJOYP] + ldh a, [rJOYP] ENDR cpl and %1111 or b - ld [hJoyInput], a + ldh [hJoyInput], a ld a, 1 << 4 + 1 << 5 ; deselect keys - ld [rJOYP], a + ldh [rJOYP], a ret Joypad:: diff --git a/home/lcd.asm b/home/lcd.asm index e88a42b3..72fc70ed 100644 --- a/home/lcd.asm +++ b/home/lcd.asm @@ -1,25 +1,25 @@ DisableLCD:: xor a - ld [rIF], a - ld a, [rIE] + ldh [rIF], a + ldh a, [rIE] ld b, a res 0, a - ld [rIE], a + ldh [rIE], a .wait - ld a, [rLY] + ldh a, [rLY] cp LY_VBLANK jr nz, .wait - ld a, [rLCDC] + ldh a, [rLCDC] and $ff ^ rLCDC_ENABLE_MASK - ld [rLCDC], a + ldh [rLCDC], a ld a, b - ld [rIE], a + ldh [rIE], a ret EnableLCD:: - ld a, [rLCDC] + ldh a, [rLCDC] set rLCDC_ENABLE, a - ld [rLCDC], a + ldh [rLCDC], a ret diff --git a/home/list_menu.asm b/home/list_menu.asm index 4ce973b2..9c567d0d 100644 --- a/home/list_menu.asm +++ b/home/list_menu.asm @@ -3,9 +3,9 @@ ; [wListPointer] = address of the list (2 bytes) DisplayListMenuID:: xor a - ld [hAutoBGTransferEnabled], a ; disable auto-transfer + ldh [hAutoBGTransferEnabled], a ; disable auto-transfer ld a, 1 - ld [hJoy7], a ; joypad state update flag + ldh [hJoy7], a ; joypad state update flag ld a, [wBattleType] and a ; is it the Old Man battle? jr nz, .specialBattleType @@ -57,10 +57,10 @@ DisplayListMenuID:: DisplayListMenuIDLoop:: xor a - ld [hAutoBGTransferEnabled], a ; disable transfer + ldh [hAutoBGTransferEnabled], a ; disable transfer call PrintListMenuEntries ld a, 1 - ld [hAutoBGTransferEnabled], a ; enable transfer + ldh [hAutoBGTransferEnabled], a ; enable transfer call Delay3 ld a, [wBattleType] and a ; is it the Old Man battle? @@ -163,7 +163,7 @@ DisplayListMenuIDLoop:: ld a, [wCurrentMenuItem] ld [wChosenMenuItem], a xor a - ld [hJoy7], a ; joypad state update flag + ldh [hJoy7], a ; joypad state update flag ld hl, wd730 res 6, [hl] ; turn on letter printing delay jp BankswitchBack @@ -219,7 +219,7 @@ DisplayChooseQuantityMenu:: jp .incrementQuantity .waitForKeyPressLoop call JoypadLowSensitivity - ld a, [hJoyPressed] ; newly pressed buttons + ldh a, [hJoyPressed] ; newly pressed buttons bit 0, a ; was the A button pressed? jp nz, .buttonAPressed bit 1, a ; was the B button pressed? @@ -272,22 +272,22 @@ DisplayChooseQuantityMenu:: pop bc dec b jr nz, .addLoop - ld a, [hHalveItemPrices] + ldh a, [hHalveItemPrices] and a ; should the price be halved (for selling items)? jr z, .skipHalvingPrice xor a - ld [hDivideBCDDivisor], a - ld [hDivideBCDDivisor + 1], a + ldh [hDivideBCDDivisor], a + ldh [hDivideBCDDivisor + 1], a ld a, $02 - ld [hDivideBCDDivisor + 2], a + ldh [hDivideBCDDivisor + 2], a predef DivideBCDPredef3 ; halves the price ; store the halved price - ld a, [hDivideBCDQuotient] - ld [hMoney], a - ld a, [hDivideBCDQuotient + 1] - ld [hMoney + 1], a - ld a, [hDivideBCDQuotient + 2] - ld [hMoney + 2], a + ldh a, [hDivideBCDQuotient] + ldh [hMoney], a + ldh a, [hDivideBCDQuotient + 1] + ldh [hMoney + 1], a + ldh a, [hDivideBCDQuotient + 2] + ldh [hMoney + 2], a .skipHalvingPrice coord hl, 12, 10 ld de, SpacesBetweenQuantityAndPriceText @@ -324,7 +324,7 @@ ExitListMenu:: ld [wMenuExitMethod], a ld [wMenuWatchMovingOutOfBounds], a xor a - ld [hJoy7], a + ldh [hJoy7], a ld hl, wd730 res 6, [hl] call BankswitchBack diff --git a/home/move_mon.asm b/home/move_mon.asm index e13ebf4e..7be8eaf5 100644 --- a/home/move_mon.asm +++ b/home/move_mon.asm @@ -21,10 +21,10 @@ CalcStats:: .statsLoop inc c call CalcStat - ld a, [hMultiplicand+1] + ldh a, [hMultiplicand+1] ld [de], a inc de - ld a, [hMultiplicand+2] + ldh a, [hMultiplicand+2] ld [de], a inc de ld a, c @@ -57,22 +57,22 @@ CalcStat:: add hl, bc ; skip to corresponding stat exp value .statExpLoop ; calculates ceil(Sqrt(stat exp)) in b xor a - ld [hMultiplicand], a - ld [hMultiplicand+1], a + ldh [hMultiplicand], a + ldh [hMultiplicand+1], a inc b ; increment current stat exp bonus ld a, b cp $ff jr z, .statExpDone - ld [hMultiplicand+2], a - ld [hMultiplier], a + ldh [hMultiplicand+2], a + ldh [hMultiplier], a call Multiply ld a, [hld] ld d, a - ld a, [hProduct + 3] + ldh a, [hProduct + 3] sub d ld a, [hli] ld d, a - ld a, [hProduct + 2] + ldh a, [hProduct + 2] sbc d ; test if (current stat exp bonus)^2 < stat exp jr c, .statExpLoop .statExpDone @@ -152,22 +152,22 @@ CalcStat:: jr nc, .noCarry2 inc d ; de = (Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4 .noCarry2 - ld [hMultiplicand+2], a + ldh [hMultiplicand+2], a ld a, d - ld [hMultiplicand+1], a + ldh [hMultiplicand+1], a xor a - ld [hMultiplicand], a + ldh [hMultiplicand], a ld a, [wCurEnemyLVL] - ld [hMultiplier], a + ldh [hMultiplier], a call Multiply ; ((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level - ld a, [hMultiplicand] - ld [hDividend], a - ld a, [hMultiplicand+1] - ld [hDividend+1], a - ld a, [hMultiplicand+2] - ld [hDividend+2], a + ldh a, [hMultiplicand] + ldh [hDividend], a + ldh a, [hMultiplicand+1] + ldh [hDividend+1], a + ldh a, [hMultiplicand+2] + ldh [hDividend+2], a ld a, $64 - ld [hDivisor], a + ldh [hDivisor], a ld a, $3 ld b, a call Divide ; (((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level) / 100 @@ -177,38 +177,38 @@ CalcStat:: jr nz, .notHPStat ld a, [wCurEnemyLVL] ld b, a - ld a, [hMultiplicand+2] + ldh a, [hMultiplicand+2] add b - ld [hMultiplicand+2], a + ldh [hMultiplicand+2], a jr nc, .noCarry3 - ld a, [hMultiplicand+1] + ldh a, [hMultiplicand+1] inc a - ld [hMultiplicand+1], a ; HP: (((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level) / 100 + Level + ldh [hMultiplicand+1], a ; HP: (((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level) / 100 + Level .noCarry3 ld a, 10 ; +10 for HP stat .notHPStat ld b, a - ld a, [hMultiplicand+2] + ldh a, [hMultiplicand+2] add b - ld [hMultiplicand+2], a + ldh [hMultiplicand+2], a jr nc, .noCarry4 - ld a, [hMultiplicand+1] + ldh a, [hMultiplicand+1] inc a ; non-HP: (((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level) / 100 + 5 - ld [hMultiplicand+1], a ; HP: (((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level) / 100 + Level + 10 + ldh [hMultiplicand+1], a ; HP: (((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level) / 100 + Level + 10 .noCarry4 - ld a, [hMultiplicand+1] ; check for overflow (>999) + ldh a, [hMultiplicand+1] ; check for overflow (>999) cp 999 / $100 + 1 jr nc, .overflow cp 999 / $100 jr c, .noOverflow - ld a, [hMultiplicand+2] + ldh a, [hMultiplicand+2] cp 999 % $100 + 1 jr c, .noOverflow .overflow ld a, 999 / $100 ; overflow: cap at 999 - ld [hMultiplicand+1], a + ldh [hMultiplicand+1], a ld a, 999 % $100 - ld [hMultiplicand+2], a + ldh [hMultiplicand+2], a .noOverflow pop bc pop de @@ -216,27 +216,27 @@ CalcStat:: ret AddEnemyMonToPlayerParty:: - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] push af ld a, BANK(_AddEnemyMonToPlayerParty) - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a call _AddEnemyMonToPlayerParty pop bc ld a, b - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ret MoveMon:: - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] push af ld a, BANK(_MoveMon) - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a call _MoveMon pop bc ld a, b - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ret diff --git a/home/names.asm b/home/names.asm index 489bd040..f7751fa0 100644 --- a/home/names.asm +++ b/home/names.asm @@ -1,9 +1,9 @@ GetMonName:: push hl - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] push af ld a, BANK(MonsterNames) - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ld a, [wd11e] dec a @@ -19,7 +19,7 @@ GetMonName:: ld [hl], "@" pop de pop af - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a pop hl ret diff --git a/home/names2.asm b/home/names2.asm index ecf6ae63..8f539c31 100644 --- a/home/names2.asm +++ b/home/names2.asm @@ -22,7 +22,7 @@ GetName:: cp HM01 jp nc, GetMachineName - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] push af push hl push bc @@ -40,7 +40,7 @@ GetName:: .otherEntries ;2-7 = OTHER ENTRIES ld a, [wPredefBank] - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ld a, [wNameListType] ;VariousNames' entryID dec a @@ -53,12 +53,12 @@ GetName:: ld hl, NamePointers add hl, de ld a, [hli] - ld [hSwapTemp + 1], a + ldh [hSwapTemp + 1], a ld a, [hl] - ld [hSwapTemp], a - ld a, [hSwapTemp] + ldh [hSwapTemp], a + ldh a, [hSwapTemp] ld h, a - ld a, [hSwapTemp + 1] + ldh a, [hSwapTemp + 1] ld l, a ld a, [wd0b5] ld b, a @@ -88,6 +88,6 @@ GetName:: pop bc pop hl pop af - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ret diff --git a/home/overworld.asm b/home/overworld.asm index be4af6ee..18c7977e 100644 --- a/home/overworld.asm +++ b/home/overworld.asm @@ -67,16 +67,16 @@ OverworldLoopLessDelay:: ld a, [wd730] bit 7, a ; are we simulating button presses? jr z, .notSimulating - ld a, [hJoyHeld] + ldh a, [hJoyHeld] jr .checkIfStartIsPressed .notSimulating - ld a, [hJoyPressed] + ldh a, [hJoyPressed] .checkIfStartIsPressed bit 3, a ; start button jr z, .startButtonNotPressed ; if START is pressed xor a ; TEXT_START_MENU - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a jp .displayDialogue .startButtonNotPressed bit 0, a ; A button @@ -88,11 +88,11 @@ OverworldLoopLessDelay:: call IsPlayerCharacterBeingControlledByGame jr nz, .checkForOpponent call CheckForHiddenObjectOrBookshelfOrCardKeyDoor - ld a, [hItemAlreadyFound] + ldh a, [hItemAlreadyFound] and a jp z, OverworldLoop ; jump if a hidden object or bookshelf was found, but not if a card key door was found call IsSpriteOrSignInFrontOfPlayer - ld a, [hSpriteIndexOrTextID] + ldh a, [hSpriteIndexOrTextID] and a jp z, OverworldLoop .displayDialogue @@ -145,7 +145,7 @@ OverworldLoopLessDelay:: jp OverworldLoop .checkIfDownButtonIsPressed - ld a, [hJoyHeld] ; current joypad state + ldh a, [hJoyHeld] ; current joypad state bit 7, a ; down button jr z, .checkIfUpButtonIsPressed ld a, 1 @@ -332,7 +332,7 @@ OverworldLoopLessDelay:: set 5, [hl] set 6, [hl] xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a ld a, [wCurMap] cp CINNABAR_GYM jr nz, .notCinnabarGym @@ -381,7 +381,7 @@ DoBikeSpeedup:: ld a, [wCurMap] cp ROUTE_17 ; Cycling Road jr nz, .goFaster - ld a, [hJoyHeld] + ldh a, [hJoyHeld] and D_UP | D_LEFT | D_RIGHT ret nz .goFaster @@ -431,7 +431,7 @@ CheckWarpsNoCollisionLoop:: call Joypad pop bc pop de - ld a, [hJoyHeld] + ldh a, [hJoyHeld] and D_DOWN | D_UP | D_LEFT | D_RIGHT jr z, CheckWarpsNoCollisionRetry2 ; if directional buttons aren't being pressed, do not pass through the warp jr WarpFound1 @@ -455,7 +455,7 @@ CheckWarpsCollision:: ld a, [hli] ld [wDestinationWarpID], a ld a, [hl] - ld [hWarpDestinationMap], a + ldh [hWarpDestinationMap], a jr WarpFound2 .retry1 inc hl @@ -477,7 +477,7 @@ WarpFound1:: ld a, [hli] ld [wDestinationWarpID], a ld a, [hli] - ld [hWarpDestinationMap], a + ldh [hWarpDestinationMap], a WarpFound2:: ld a, [wNumberOfWarps] @@ -492,7 +492,7 @@ WarpFound2:: ld [wLastMap], a ld a, [wCurMapWidth] ld [wUnusedD366], a ; not read - ld a, [hWarpDestinationMap] + ldh a, [hWarpDestinationMap] ld [wCurMap], a cp ROCK_TUNNEL_1F jr nz, .notRockTunnel @@ -506,7 +506,7 @@ WarpFound2:: ; for maps that can have the 0xFF destination map, which means to return to the outside map ; not all these maps are necessarily indoors, though .indoorMaps - ld a, [hWarpDestinationMap] ; destination map + ldh a, [hWarpDestinationMap] ; destination map cp $ff jr z, .goBackOutside ; if not going back to the previous map @@ -763,7 +763,7 @@ HandleBlackOut:: ld hl, wd72e res 5, [hl] ld a, BANK(ResetStatusAndHalveMoneyOnBlackout) ; also BANK(SpecialWarpIn) and BANK(SpecialEnterMap) - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a call ResetStatusAndHalveMoneyOnBlackout call SpecialWarpIn @@ -794,7 +794,7 @@ HandleFlyWarpOrDungeonWarp:: res 5, [hl] ; forced to ride bike call LeaveMapAnim ld a, BANK(SpecialWarpIn) - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a call SpecialWarpIn jp SpecialEnterMap @@ -813,7 +813,7 @@ LoadPlayerSpriteGraphics:: dec a jr z, .ridingBike - ld a, [hTilesetType] + ldh a, [hTilesetType] and a jr nz, .determineGraphics jr .startWalking @@ -899,9 +899,9 @@ LoadTileBlockMap:: ; a 3-byte border at the edges of the map is kept so that there is space for map connections ld hl, wOverworldMap ld a, [wCurMapWidth] - ld [hMapWidth], a + ldh [hMapWidth], a add MAP_BORDER * 2 ; east and west - ld [hMapStride], a ; map width + border + ldh [hMapStride], a ; map width + border ld b, 0 ld c, a ; make space for north border (next 3 lines) @@ -918,7 +918,7 @@ LoadTileBlockMap:: ld b, a .rowLoop ; copy one row each iteration push hl - ld a, [hMapWidth] ; map width (without border) + ldh a, [hMapWidth] ; map width (without border) ld c, a .rowInnerLoop ld a, [de] @@ -928,7 +928,7 @@ LoadTileBlockMap:: jr nz, .rowInnerLoop ; add the map width plus the border to the base address of the current row to get the next row's address pop hl - ld a, [hMapStride] ; map width + border + ldh a, [hMapStride] ; map width + border add l ld l, a jr nc, .noCarry @@ -950,9 +950,9 @@ LoadTileBlockMap:: ld a, [wNorthConnectionStripDest + 1] ld d, a ld a, [wNorthConnectionStripWidth] - ld [hNorthSouthConnectionStripWidth], a + ldh [hNorthSouthConnectionStripWidth], a ld a, [wNorthConnectedMapWidth] - ld [hNorthSouthConnectedMapWidth], a + ldh [hNorthSouthConnectedMapWidth], a call LoadNorthSouthConnectionsTileMap .southConnection ld a, [wMapConn2Ptr] @@ -968,9 +968,9 @@ LoadTileBlockMap:: ld a, [wSouthConnectionStripDest + 1] ld d, a ld a, [wSouthConnectionStripWidth] - ld [hNorthSouthConnectionStripWidth], a + ldh [hNorthSouthConnectionStripWidth], a ld a, [wSouthConnectedMapWidth] - ld [hNorthSouthConnectedMapWidth], a + ldh [hNorthSouthConnectedMapWidth], a call LoadNorthSouthConnectionsTileMap .westConnection ld a, [wMapConn3Ptr] @@ -988,7 +988,7 @@ LoadTileBlockMap:: ld a, [wWestConnectionStripHeight] ld b, a ld a, [wWestConnectedMapWidth] - ld [hEastWestConnectedMapWidth], a + ldh [hEastWestConnectedMapWidth], a call LoadEastWestConnectionsTileMap .eastConnection ld a, [wMapConn4Ptr] @@ -1006,7 +1006,7 @@ LoadTileBlockMap:: ld a, [wEastConnectionStripHeight] ld b, a ld a, [wEastConnectedMapWidth] - ld [hEastWestConnectedMapWidth], a + ldh [hEastWestConnectedMapWidth], a call LoadEastWestConnectionsTileMap .done ret @@ -1016,7 +1016,7 @@ LoadNorthSouthConnectionsTileMap:: .loop push de push hl - ld a, [hNorthSouthConnectionStripWidth] + ldh a, [hNorthSouthConnectionStripWidth] ld b, a .innerLoop ld a, [hli] @@ -1026,7 +1026,7 @@ LoadNorthSouthConnectionsTileMap:: jr nz, .innerLoop pop hl pop de - ld a, [hNorthSouthConnectedMapWidth] + ldh a, [hNorthSouthConnectedMapWidth] add l ld l, a jr nc, .noCarry1 @@ -1055,7 +1055,7 @@ LoadEastWestConnectionsTileMap:: jr nz, .innerLoop pop de pop hl - ld a, [hEastWestConnectedMapWidth] + ldh a, [hEastWestConnectedMapWidth] add l ld l, a jr nc, .noCarry1 @@ -1077,7 +1077,7 @@ LoadEastWestConnectionsTileMap:: ; if not, [hSpriteIndexOrTextID] is set to 0 IsSpriteOrSignInFrontOfPlayer:: xor a - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a ld a, [wNumSigns] and a jr z, .extendRangeOverCounter @@ -1107,7 +1107,7 @@ IsSpriteOrSignInFrontOfPlayer:: dec c add hl, bc ld a, [hl] - ld [hSpriteIndexOrTextID], a ; store sign text ID + ldh [hSpriteIndexOrTextID], a ; store sign text ID pop bc pop hl ret @@ -1213,7 +1213,7 @@ IsSpriteInFrontOfPlayer2:: ld l, a ; hl = $c1x1 set 7, [hl] ; set flag to make the sprite face the player ld a, e - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a ret ; function to check if the player will jump down a ledge and check if the tile ahead is passable (when not surfing) @@ -1232,9 +1232,9 @@ CollisionCheckOnLand:: and d ; check if a sprite is in the direction the player is trying to go jr nz, .collision xor a - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call IsSpriteInFrontOfPlayer ; check for sprite collisions again? when does the above check fail to detect a sprite collision? - ld a, [hSpriteIndexOrTextID] + ldh a, [hSpriteIndexOrTextID] and a ; was there a sprite collision? jr nz, .collision ; if no sprite collision @@ -1372,10 +1372,10 @@ TilePairCollisionsWater:: ; this builds a tile map from the tile block map based on the current X/Y coordinates of the player's character LoadCurrentMapView:: - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] push af ld a, [wTilesetBank] ; tile data ROM bank - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ; switch to ROM bank that contains tile data ld a, [wCurrentTileBlockMapViewPointer] ; address of upper left corner of current map view ld e, a @@ -1457,7 +1457,7 @@ LoadCurrentMapView:: dec b jr nz, .rowLoop2 pop af - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ; restore previous ROM bank ret @@ -1627,12 +1627,12 @@ AdvancePlayerSprite:: ld c, a sla b sla c - ld a, [hSCY] + ldh a, [hSCY] add b - ld [hSCY], a ; update background scroll Y - ld a, [hSCX] + ldh [hSCY], a ; update background scroll Y + ldh a, [hSCX] add c - ld [hSCX], a ; update background scroll X + ldh [hSCX], a ; update background scroll X ; shift all the sprites in the direction opposite of the player's motion ; so that the player appears to move relative to them ld hl, wSprite01StateData1YPixels @@ -1714,11 +1714,11 @@ ScheduleNorthRowRedraw:: coord hl, 0, 0 call CopyToRedrawRowOrColumnSrcTiles ld a, [wMapViewVRAMPointer] - ld [hRedrawRowOrColumnDest], a + ldh [hRedrawRowOrColumnDest], a ld a, [wMapViewVRAMPointer + 1] - ld [hRedrawRowOrColumnDest + 1], a + ldh [hRedrawRowOrColumnDest + 1], a ld a, REDRAW_ROW - ld [hRedrawRowOrColumnMode], a + ldh [hRedrawRowOrColumnMode], a ret CopyToRedrawRowOrColumnSrcTiles:: @@ -1744,11 +1744,11 @@ ScheduleSouthRowRedraw:: ld a, h and $03 or $98 - ld [hRedrawRowOrColumnDest + 1], a + ldh [hRedrawRowOrColumnDest + 1], a ld a, l - ld [hRedrawRowOrColumnDest], a + ldh [hRedrawRowOrColumnDest], a ld a, REDRAW_ROW - ld [hRedrawRowOrColumnMode], a + ldh [hRedrawRowOrColumnMode], a ret ScheduleEastColumnRedraw:: @@ -1762,11 +1762,11 @@ ScheduleEastColumnRedraw:: add 18 and $1f or b - ld [hRedrawRowOrColumnDest], a + ldh [hRedrawRowOrColumnDest], a ld a, [wMapViewVRAMPointer + 1] - ld [hRedrawRowOrColumnDest + 1], a + ldh [hRedrawRowOrColumnDest + 1], a ld a, REDRAW_COL - ld [hRedrawRowOrColumnMode], a + ldh [hRedrawRowOrColumnMode], a ret ScheduleColumnRedrawHelper:: @@ -1793,11 +1793,11 @@ ScheduleWestColumnRedraw:: coord hl, 0, 0 call ScheduleColumnRedrawHelper ld a, [wMapViewVRAMPointer] - ld [hRedrawRowOrColumnDest], a + ldh [hRedrawRowOrColumnDest], a ld a, [wMapViewVRAMPointer + 1] - ld [hRedrawRowOrColumnDest + 1], a + ldh [hRedrawRowOrColumnDest + 1], a ld a, REDRAW_COL - ld [hRedrawRowOrColumnMode], a + ldh [hRedrawRowOrColumnMode], a ret ; function to write the tiles that make up a tile block to memory @@ -1855,17 +1855,17 @@ JoypadOverworld:: ld a, [wCurMap] cp ROUTE_17 ; Cycling Road jr nz, .notForcedDownwards - ld a, [hJoyHeld] + ldh a, [hJoyHeld] and D_DOWN | D_UP | D_LEFT | D_RIGHT | B_BUTTON | A_BUTTON jr nz, .notForcedDownwards ld a, D_DOWN - ld [hJoyHeld], a ; on the cycling road, if there isn't a trainer and the player isn't pressing buttons, simulate a down press + ldh [hJoyHeld], a ; on the cycling road, if there isn't a trainer and the player isn't pressing buttons, simulate a down press .notForcedDownwards ld a, [wd730] bit 7, a ret z ; if simulating button presses - ld a, [hJoyHeld] + ldh a, [hJoyHeld] ld b, a ld a, [wOverrideSimulatedJoypadStatesMask] ; bit mask for button presses that override simulated ones and b @@ -1882,11 +1882,11 @@ JoypadOverworld:: inc h .noCarry ld a, [hl] - ld [hJoyHeld], a ; store simulated button press in joypad state + ldh [hJoyHeld], a ; store simulated button press in joypad state and a ret nz - ld [hJoyPressed], a - ld [hJoyReleased], a + ldh [hJoyPressed], a + ldh [hJoyReleased], a ret ; if done simulating button presses @@ -1896,7 +1896,7 @@ JoypadOverworld:: ld [wSimulatedJoypadStatesIndex], a ld [wSimulatedJoypadStatesEnd], a ld [wJoyIgnore], a - ld [hJoyHeld], a + ldh [hJoyHeld], a ld hl, wd736 ld a, [hl] and $f8 @@ -2041,7 +2041,7 @@ LoadMapHeader:: ld b, a res 7, a ld [wCurMapTileset], a - ld [hPreviousTileset], a + ldh [hPreviousTileset], a bit 7, b ret nz ld hl, MapHeaderPointers @@ -2134,9 +2134,9 @@ LoadMapHeader:: ld c, a ld de, wSignTextIDs ld a, d - ld [hSignCoordPointer], a + ldh [hSignCoordPointer], a ld a, e - ld [hSignCoordPointer + 1], a + ldh [hSignCoordPointer + 1], a ld de, wSignCoords .signLoop ld a, [hli] @@ -2146,17 +2146,17 @@ LoadMapHeader:: ld [de], a inc de push de - ld a, [hSignCoordPointer] + ldh a, [hSignCoordPointer] ld d, a - ld a, [hSignCoordPointer + 1] + ldh a, [hSignCoordPointer + 1] ld e, a ld a, [hli] ld [de], a inc de ld a, d - ld [hSignCoordPointer], a + ldh [hSignCoordPointer], a ld a, e - ld [hSignCoordPointer + 1], a + ldh [hSignCoordPointer + 1], a pop de dec c jr nz, .signLoop @@ -2210,24 +2210,24 @@ LoadMapHeader:: ld a, [hli] ld [de], a ; store movement byte 1 at C2X6 ld a, [hli] - ld [hLoadSpriteTemp1], a ; save movement byte 2 + ldh [hLoadSpriteTemp1], a ; save movement byte 2 ld a, [hli] - ld [hLoadSpriteTemp2], a ; save text ID and flags byte + ldh [hLoadSpriteTemp2], a ; save text ID and flags byte push bc push hl ld b, $00 ld hl, wMapSpriteData add hl, bc - ld a, [hLoadSpriteTemp1] + ldh a, [hLoadSpriteTemp1] ld [hli], a ; store movement byte 2 in byte 0 of sprite entry - ld a, [hLoadSpriteTemp2] + ldh a, [hLoadSpriteTemp2] ld [hl], a ; this appears pointless, since the value is overwritten immediately after - ld a, [hLoadSpriteTemp2] - ld [hLoadSpriteTemp1], a + ldh a, [hLoadSpriteTemp2] + ldh [hLoadSpriteTemp1], a and $3f ld [hl], a ; store text ID in byte 1 of sprite entry pop hl - ld a, [hLoadSpriteTemp1] + ldh a, [hLoadSpriteTemp1] bit 6, a jr nz, .trainerSprite bit 7, a @@ -2235,25 +2235,25 @@ LoadMapHeader:: jr .regularSprite .trainerSprite ld a, [hli] - ld [hLoadSpriteTemp1], a ; save trainer class + ldh [hLoadSpriteTemp1], a ; save trainer class ld a, [hli] - ld [hLoadSpriteTemp2], a ; save trainer number (within class) + ldh [hLoadSpriteTemp2], a ; save trainer number (within class) push hl ld hl, wMapSpriteExtraData add hl, bc - ld a, [hLoadSpriteTemp1] + ldh a, [hLoadSpriteTemp1] ld [hli], a ; store trainer class in byte 0 of the entry - ld a, [hLoadSpriteTemp2] + ldh a, [hLoadSpriteTemp2] ld [hl], a ; store trainer number in byte 1 of the entry pop hl jr .nextSprite .itemBallSprite ld a, [hli] - ld [hLoadSpriteTemp1], a ; save item number + ldh [hLoadSpriteTemp1], a ; save item number push hl ld hl, wMapSpriteExtraData add hl, bc - ld a, [hLoadSpriteTemp1] + ldh a, [hLoadSpriteTemp1] ld [hli], a ; store item number in byte 0 of the entry xor a ld [hl], a ; zero byte 1, since it is not used @@ -2291,10 +2291,10 @@ LoadMapHeader:: ld a, [wCurMap] ld c, a ld b, $00 - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] push af ld a, BANK(MapSongBanks) - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ld hl, MapSongBanks add hl, bc @@ -2304,7 +2304,7 @@ LoadMapHeader:: ld a, [hl] ld [wMapMusicROMBank], a ; music 2 pop af - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -2322,15 +2322,15 @@ CopyMapConnectionHeader:: ; function to load map data LoadMapData:: - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] push af call DisableLCD ld a, $98 ld [wMapViewVRAMPointer + 1], a xor a ld [wMapViewVRAMPointer], a - ld [hSCY], a - ld [hSCX], a + ldh [hSCY], a + ldh [hSCX], a ld [wWalkCounter], a ld [wUnusedD119], a ld [wWalkBikeSurfStateCopy], a @@ -2377,7 +2377,7 @@ LoadMapData:: call PlayDefaultMusicFadeOutCurrent .restoreRomBank pop af - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -2393,10 +2393,10 @@ SwitchToMapRomBank:: ld hl, MapHeaderBanks add hl, bc ld a, [hl] - ld [hMapROMBank], a ; save map ROM bank + ldh [hMapROMBank], a ; save map ROM bank call BankswitchBack - ld a, [hMapROMBank] - ld [hLoadedROMBank], a + ldh a, [hMapROMBank] + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ; switch to map ROM bank pop bc pop hl diff --git a/home/pics.asm b/home/pics.asm index c6d99cbb..ef668620 100644 --- a/home/pics.asm +++ b/home/pics.asm @@ -63,7 +63,7 @@ LoadMonFrontSprite:: LoadUncompressedSpriteData:: push de and $f - ld [hSpriteWidth], a ; each byte contains 8 pixels (in 1bpp), so tiles=bytes for width + ldh [hSpriteWidth], a ; each byte contains 8 pixels (in 1bpp), so tiles=bytes for width ld b, a ld a, $7 sub b ; 7-w @@ -74,7 +74,7 @@ LoadUncompressedSpriteData:: add a add a sub b ; 7*((8-w)/2) ; skip for horizontal center (in tiles) - ld [hSpriteOffset], a + ldh [hSpriteOffset], a ld a, c swap a and $f @@ -82,16 +82,16 @@ LoadUncompressedSpriteData:: add a add a add a ; 8*tiles is height in bytes - ld [hSpriteHeight], a + ldh [hSpriteHeight], a ld a, $7 sub b ; 7-h ; skip for vertical center (in tiles, relative to current column) ld b, a - ld a, [hSpriteOffset] + ldh a, [hSpriteOffset] add b ; 7*((8-w)/2) + 7-h ; combined overall offset (in tiles) add a add a add a ; 8*(7*((8-w)/2) + 7-h) ; combined overall offset (in bytes) - ld [hSpriteOffset], a + ldh [hSpriteOffset], a xor a ld [MBC1SRamBank], a ld hl, sSpriteBuffer0 @@ -110,15 +110,15 @@ LoadUncompressedSpriteData:: ; copies and aligns the sprite data properly inside the sprite buffer ; sprite buffers are 7*7 tiles in size, the loaded sprite is centered within this area AlignSpriteDataCentered:: - ld a, [hSpriteOffset] + ldh a, [hSpriteOffset] ld b, $0 ld c, a add hl, bc - ld a, [hSpriteWidth] + ldh a, [hSpriteWidth] .columnLoop push af push hl - ld a, [hSpriteHeight] + ldh a, [hSpriteHeight] ld c, a .columnInnerLoop ld a, [de] @@ -157,7 +157,7 @@ InterlaceMergeSpriteBuffers:: ld de, sSpriteBuffer1 + (SPRITEBUFFERSIZE - 1) ; source 2: end of buffer 1 ld bc, sSpriteBuffer0 + (SPRITEBUFFERSIZE - 1) ; source 1: end of buffer 0 ld a, SPRITEBUFFERSIZE/2 ; $c4 - ld [hSpriteInterlaceCounter], a + ldh [hSpriteInterlaceCounter], a .interlaceLoop ld a, [de] dec de @@ -171,9 +171,9 @@ InterlaceMergeSpriteBuffers:: ld a, [bc] dec bc ld [hld], a ; write byte of source 1 - ld a, [hSpriteInterlaceCounter] + ldh a, [hSpriteInterlaceCounter] dec a - ld [hSpriteInterlaceCounter], a + ldh [hSpriteInterlaceCounter], a jr nz, .interlaceLoop ld a, [wSpriteFlipped] and a @@ -191,6 +191,6 @@ InterlaceMergeSpriteBuffers:: pop hl ld de, sSpriteBuffer1 ld c, (2*SPRITEBUFFERSIZE)/16 ; $31, number of 16 byte chunks to be copied - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] ld b, a jp CopyVideoData diff --git a/home/pokemon.asm b/home/pokemon.asm index 539632d4..6c5442c4 100644 --- a/home/pokemon.asm +++ b/home/pokemon.asm @@ -122,18 +122,18 @@ LoadFrontSpriteByMonIndex:: ld de, vFrontPic call LoadMonFrontSprite pop hl - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] push af ld a, BANK(CopyUncompressedPicToHL) - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a xor a - ld [hStartTileID], a + ldh [hStartTileID], a call CopyUncompressedPicToHL xor a ld [wSpriteFlipped], a pop af - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -175,10 +175,10 @@ GetCryData:: ret DisplayPartyMenu:: - ld a, [hTilesetType] + ldh a, [hTilesetType] push af xor a - ld [hTilesetType], a + ldh [hTilesetType], a call GBPalWhiteOutWithDelay3 call ClearSprites call PartyMenuInit @@ -186,10 +186,10 @@ DisplayPartyMenu:: jp HandlePartyMenuInput GoBackToPartyMenu:: - ld a, [hTilesetType] + ldh a, [hTilesetType] push af xor a - ld [hTilesetType], a + ldh [hTilesetType], a call PartyMenuInit call RedrawPartyMenu jp HandlePartyMenuInput @@ -251,7 +251,7 @@ HandlePartyMenuInput:: and a jp nz, .swappingPokemon pop af - ld [hTilesetType], a + ldh [hTilesetType], a bit 1, b jr nz, .noPokemonChosen ld a, [wPartyCount] @@ -325,15 +325,15 @@ PrintStatusCondition:: ret PrintStatusConditionNotFainted:: - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] push af ld a, BANK(PrintStatusAilment) - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a call PrintStatusAilment ; print status condition pop bc ld a, b - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -382,10 +382,10 @@ GetwMoves:: ; INPUT: ; [wd0b5] = pokemon ID GetMonHeader:: - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] push af ld a, BANK(BaseStats) - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a push bc push de @@ -440,7 +440,7 @@ GetMonHeader:: pop de pop bc pop af - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ret diff --git a/home/predef.asm b/home/predef.asm index 4f0c37d9..69aa7347 100644 --- a/home/predef.asm +++ b/home/predef.asm @@ -8,18 +8,18 @@ Predef:: ; A hack for LoadDestinationWarpPosition. ; See LoadTilesetHeader (predef $19). - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] ld [wPredefParentBank], a push af ld a, BANK(GetPredefPointer) - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a call GetPredefPointer ld a, [wPredefBank] - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ld de, .done @@ -28,7 +28,7 @@ Predef:: .done pop af - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ret diff --git a/home/print_num.asm b/home/print_num.asm index f7ea2174..e2628b1f 100644 --- a/home/print_num.asm +++ b/home/print_num.asm @@ -6,9 +6,9 @@ PrintNumber:: ; in bits 7 and 6 of b respectively. push bc xor a - ld [hPastLeadingZeros], a - ld [hNumToPrint], a - ld [hNumToPrint + 1], a + ldh [hPastLeadingZeros], a + ldh [hNumToPrint], a + ldh [hNumToPrint + 1], a ld a, b and $f cp 1 @@ -17,26 +17,26 @@ PrintNumber:: jr z, .word .long ld a, [de] - ld [hNumToPrint], a + ldh [hNumToPrint], a inc de ld a, [de] - ld [hNumToPrint + 1], a + ldh [hNumToPrint + 1], a inc de ld a, [de] - ld [hNumToPrint + 2], a + ldh [hNumToPrint + 2], a jr .start .word ld a, [de] - ld [hNumToPrint + 1], a + ldh [hNumToPrint + 1], a inc de ld a, [de] - ld [hNumToPrint + 2], a + ldh [hNumToPrint + 2], a jr .start .byte ld a, [de] - ld [hNumToPrint + 2], a + ldh [hNumToPrint + 2], a .start push de @@ -66,17 +66,17 @@ IF (\1) / $10000 ELSE xor a ENDC - ld [hPowerOf10 + 0], a + ldh [hPowerOf10 + 0], a IF (\1) / $100 ld a, \1 / $100 % $100 ELSE xor a ENDC - ld [hPowerOf10 + 1], a + ldh [hPowerOf10 + 1], a ld a, \1 / $1 % $100 - ld [hPowerOf10 + 2], a + ldh [hPowerOf10 + 2], a call .PrintDigit call .NextDigit @@ -90,7 +90,7 @@ ENDM .tens ld c, 0 - ld a, [hNumToPrint + 2] + ldh a, [hNumToPrint + 2] .mod cp 10 jr c, .ok @@ -100,9 +100,9 @@ ENDM .ok ld b, a - ld a, [hPastLeadingZeros] + ldh a, [hPastLeadingZeros] or c - ld [hPastLeadingZeros], a + ldh [hPastLeadingZeros], a jr nz, .past call .PrintLeadingZero jr .next @@ -127,74 +127,74 @@ ENDM ; Print the quotient, and keep the modulus. ld c, 0 .loop - ld a, [hPowerOf10] + ldh a, [hPowerOf10] ld b, a - ld a, [hNumToPrint] - ld [hSavedNumToPrint], a + ldh a, [hNumToPrint] + ldh [hSavedNumToPrint], a cp b jr c, .underflow0 sub b - ld [hNumToPrint], a - ld a, [hPowerOf10 + 1] + ldh [hNumToPrint], a + ldh a, [hPowerOf10 + 1] ld b, a - ld a, [hNumToPrint + 1] - ld [hSavedNumToPrint + 1], a + ldh a, [hNumToPrint + 1] + ldh [hSavedNumToPrint + 1], a cp b jr nc, .noborrow1 - ld a, [hNumToPrint] + ldh a, [hNumToPrint] or 0 jr z, .underflow1 dec a - ld [hNumToPrint], a - ld a, [hNumToPrint + 1] + ldh [hNumToPrint], a + ldh a, [hNumToPrint + 1] .noborrow1 sub b - ld [hNumToPrint + 1], a - ld a, [hPowerOf10 + 2] + ldh [hNumToPrint + 1], a + ldh a, [hPowerOf10 + 2] ld b, a - ld a, [hNumToPrint + 2] - ld [hSavedNumToPrint + 2], a + ldh a, [hNumToPrint + 2] + ldh [hSavedNumToPrint + 2], a cp b jr nc, .noborrow2 - ld a, [hNumToPrint + 1] + ldh a, [hNumToPrint + 1] and a jr nz, .borrowed - ld a, [hNumToPrint] + ldh a, [hNumToPrint] and a jr z, .underflow2 dec a - ld [hNumToPrint], a + ldh [hNumToPrint], a xor a .borrowed dec a - ld [hNumToPrint + 1], a - ld a, [hNumToPrint + 2] + ldh [hNumToPrint + 1], a + ldh a, [hNumToPrint + 2] .noborrow2 sub b - ld [hNumToPrint + 2], a + ldh [hNumToPrint + 2], a inc c jr .loop .underflow2 - ld a, [hSavedNumToPrint + 1] - ld [hNumToPrint + 1], a + ldh a, [hSavedNumToPrint + 1] + ldh [hNumToPrint + 1], a .underflow1 - ld a, [hSavedNumToPrint] - ld [hNumToPrint], a + ldh a, [hSavedNumToPrint] + ldh [hNumToPrint], a .underflow0 - ld a, [hPastLeadingZeros] + ldh a, [hPastLeadingZeros] or c jr z, .PrintLeadingZero ld a, "0" add c ld [hl], a - ld [hPastLeadingZeros], a + ldh [hPastLeadingZeros], a ret .PrintLeadingZero: @@ -211,7 +211,7 @@ ENDM jr nz, .inc bit BIT_LEFT_ALIGN, d jr z, .inc - ld a, [hPastLeadingZeros] + ldh a, [hPastLeadingZeros] and a ret z .inc diff --git a/home/serial.asm b/home/serial.asm index 6c412239..27ac97d4 100644 --- a/home/serial.asm +++ b/home/serial.asm @@ -3,46 +3,46 @@ Serial:: push bc push de push hl - ld a, [hSerialConnectionStatus] + ldh a, [hSerialConnectionStatus] inc a jr z, .connectionNotYetEstablished - ld a, [rSB] - ld [hSerialReceiveData], a - ld a, [hSerialSendData] - ld [rSB], a - ld a, [hSerialConnectionStatus] + ldh a, [rSB] + ldh [hSerialReceiveData], a + ldh a, [hSerialSendData] + ldh [rSB], a + ldh a, [hSerialConnectionStatus] cp USING_INTERNAL_CLOCK jr z, .done ; using external clock ld a, START_TRANSFER_EXTERNAL_CLOCK - ld [rSC], a + ldh [rSC], a jr .done .connectionNotYetEstablished - ld a, [rSB] - ld [hSerialReceiveData], a - ld [hSerialConnectionStatus], a + ldh a, [rSB] + ldh [hSerialReceiveData], a + ldh [hSerialConnectionStatus], a cp USING_INTERNAL_CLOCK jr z, .usingInternalClock ; using external clock xor a - ld [rSB], a + ldh [rSB], a ld a, $3 - ld [rDIV], a + ldh [rDIV], a .waitLoop - ld a, [rDIV] + ldh a, [rDIV] bit 7, a jr nz, .waitLoop ld a, START_TRANSFER_EXTERNAL_CLOCK - ld [rSC], a + ldh [rSC], a jr .done .usingInternalClock xor a - ld [rSB], a + ldh [rSB], a .done ld a, $1 - ld [hSerialReceivedNewData], a + ldh [hSerialReceivedNewData], a ld a, SERIAL_NO_DATA_BYTE - ld [hSerialSendData], a + ldh [hSerialSendData], a pop hl pop de pop bc @@ -54,10 +54,10 @@ Serial:: ; bc = length of data Serial_ExchangeBytes:: ld a, 1 - ld [hSerialIgnoringInitialData], a + ldh [hSerialIgnoringInitialData], a .loop ld a, [hl] - ld [hSerialSendData], a + ldh [hSerialSendData], a call Serial_ExchangeByte push bc ld b, a @@ -66,7 +66,7 @@ Serial_ExchangeBytes:: .waitLoop dec a jr nz, .waitLoop - ld a, [hSerialIgnoringInitialData] + ldh a, [hSerialIgnoringInitialData] and a ld a, b pop bc @@ -75,7 +75,7 @@ Serial_ExchangeBytes:: cp SERIAL_PREAMBLE_BYTE jr nz, .loop xor a - ld [hSerialIgnoringInitialData], a + ldh [hSerialIgnoringInitialData], a jr .loop .storeReceivedByte ld [de], a @@ -88,17 +88,17 @@ Serial_ExchangeBytes:: Serial_ExchangeByte:: xor a - ld [hSerialReceivedNewData], a - ld a, [hSerialConnectionStatus] + ldh [hSerialReceivedNewData], a + ldh a, [hSerialConnectionStatus] cp USING_INTERNAL_CLOCK jr nz, .loop ld a, START_TRANSFER_INTERNAL_CLOCK - ld [rSC], a + ldh [rSC], a .loop - ld a, [hSerialReceivedNewData] + ldh a, [hSerialReceivedNewData] and a jr nz, .ok - ld a, [hSerialConnectionStatus] + ldh a, [hSerialConnectionStatus] cp USING_EXTERNAL_CLOCK jr nz, .doNotIncrementUnknownCounter call IsUnknownCounterZero @@ -116,7 +116,7 @@ Serial_ExchangeByte:: jr nz, .loop jp SetUnknownCounterToFFFF .doNotIncrementUnknownCounter - ld a, [rIE] + ldh a, [rIE] and (1 << SERIAL) | (1 << TIMER) | (1 << LCD_STAT) | (1 << VBLANK) cp (1 << SERIAL) jr nz, .loop @@ -128,7 +128,7 @@ Serial_ExchangeByte:: dec a ld [wUnknownSerialCounter2 + 1], a jr nz, .loop - ld a, [hSerialConnectionStatus] + ldh a, [hSerialConnectionStatus] cp USING_EXTERNAL_CLOCK jr z, .ok ld a, 255 @@ -137,8 +137,8 @@ Serial_ExchangeByte:: jr nz, .waitLoop .ok xor a - ld [hSerialReceivedNewData], a - ld a, [rIE] + ldh [hSerialReceivedNewData], a + ldh a, [rIE] and (1 << SERIAL) | (1 << TIMER) | (1 << LCD_STAT) | (1 << VBLANK) sub (1 << SERIAL) jr nz, .skipReloadingUnknownCounter2 @@ -146,7 +146,7 @@ Serial_ExchangeByte:: ld a, $50 ld [wUnknownSerialCounter2 + 1], a .skipReloadingUnknownCounter2 - ld a, [hSerialReceiveData] + ldh a, [hSerialReceiveData] cp SERIAL_NO_DATA_BYTE ret nz call IsUnknownCounterZero @@ -164,13 +164,13 @@ Serial_ExchangeByte:: call IsUnknownCounterZero jr z, SetUnknownCounterToFFFF .done - ld a, [rIE] + ldh a, [rIE] and (1 << SERIAL) | (1 << TIMER) | (1 << LCD_STAT) | (1 << VBLANK) cp (1 << SERIAL) ld a, SERIAL_NO_DATA_BYTE ret z ld a, [hl] - ld [hSerialSendData], a + ldh [hSerialSendData], a call DelayFrame jp Serial_ExchangeByte @@ -203,18 +203,18 @@ Serial_ExchangeLinkMenuSelection:: ld de, wLinkMenuSelectionReceiveBuffer ld c, 2 ; number of bytes to save ld a, 1 - ld [hSerialIgnoringInitialData], a + ldh [hSerialIgnoringInitialData], a .loop call DelayFrame ld a, [hl] - ld [hSerialSendData], a + ldh [hSerialSendData], a call Serial_ExchangeByte ld b, a inc hl - ld a, [hSerialIgnoringInitialData] + ldh a, [hSerialIgnoringInitialData] and a ld a, 0 - ld [hSerialIgnoringInitialData], a + ldh [hSerialIgnoringInitialData], a jr nz, .loop ld a, b ld [de], a @@ -273,20 +273,20 @@ Serial_ExchangeNybble:: call .doExchange ld a, [wSerialExchangeNybbleSendData] add $60 - ld [hSerialSendData], a - ld a, [hSerialConnectionStatus] + ldh [hSerialSendData], a + ldh a, [hSerialConnectionStatus] cp USING_INTERNAL_CLOCK jr nz, .doExchange ld a, START_TRANSFER_INTERNAL_CLOCK - ld [rSC], a + ldh [rSC], a .doExchange - ld a, [hSerialReceiveData] + ldh a, [hSerialReceiveData] ld [wSerialExchangeNybbleTempReceiveData], a and $f0 cp $60 ret nz xor a - ld [hSerialReceiveData], a + ldh [hSerialReceiveData], a ld a, [wSerialExchangeNybbleTempReceiveData] and $f ld [wSerialExchangeNybbleReceiveData], a @@ -294,19 +294,19 @@ Serial_ExchangeNybble:: Serial_SendZeroByte:: xor a - ld [hSerialSendData], a - ld a, [hSerialConnectionStatus] + ldh [hSerialSendData], a + ldh a, [hSerialConnectionStatus] cp USING_INTERNAL_CLOCK ret nz ld a, START_TRANSFER_INTERNAL_CLOCK - ld [rSC], a + ldh [rSC], a ret Serial_TryEstablishingExternallyClockedConnection:: ld a, ESTABLISH_CONNECTION_WITH_EXTERNAL_CLOCK - ld [rSB], a + ldh [rSB], a xor a - ld [hSerialReceiveData], a + ldh [hSerialReceiveData], a ld a, START_TRANSFER_EXTERNAL_CLOCK - ld [rSC], a + ldh [rSC], a ret diff --git a/home/start_menu.asm b/home/start_menu.asm index 38333644..a692f007 100755 --- a/home/start_menu.asm +++ b/home/start_menu.asm @@ -1,6 +1,6 @@ DisplayStartMenu:: ld a, BANK(StartMenu_Pokedex) - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ld a, [wWalkBikeSurfState] ; walking/biking/surfing ld [wWalkBikeSurfStateCopy], a @@ -78,7 +78,7 @@ RedisplayStartMenu:: ; EXIT falls through to here CloseStartMenu:: call Joypad - ld a, [hJoyPressed] + ldh a, [hJoyPressed] bit 0, a ; was A button newly pressed? jr nz, CloseStartMenu call LoadTextBoxTilePatterns diff --git a/home/text.asm b/home/text.asm index 2047eaaa..5bbad00b 100644 --- a/home/text.asm +++ b/home/text.asm @@ -62,7 +62,7 @@ PlaceNextChar:: cp "" jr nz, .NotNext ld bc, 2 * SCREEN_WIDTH - ld a, [hFlagsFFF6] + ldh a, [hFlagsFFF6] bit 2, a jr z, .ok ld bc, SCREEN_WIDTH @@ -141,12 +141,12 @@ SixDotsChar:: print_name SixDotsCharText PlacePKMN:: print_name PlacePKMNText PlaceMoveTargetsName:: - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] xor 1 jr PlaceMoveUsersName.place PlaceMoveUsersName:: - ld a, [hWhoseTurn] + ldh a, [hWhoseTurn] .place: push de @@ -313,7 +313,7 @@ TextCommandProcessor:: push af set 1, a ld e, a - ld a, [hClearLetterPrintingDelayFlags] + ldh a, [hClearLetterPrintingDelayFlags] xor e ld [wLetterPrintingDelayFlags], a ld a, c @@ -489,7 +489,7 @@ TextCommand_PAUSE:: ; wait for button press or 30 frames push bc call Joypad - ld a, [hJoyHeld] + ldh a, [hJoyHeld] and A_BUTTON | B_BUTTON jr nz, .done ld c, 30 ; half a second @@ -565,7 +565,7 @@ TextCommand_DOTS:: push de call Joypad pop de - ld a, [hJoyHeld] ; joypad state + ldh a, [hJoyHeld] ; joypad state and A_BUTTON | B_BUTTON jr nz, .next ; if so, skip the delay ld c, 10 @@ -590,7 +590,7 @@ TextCommand_WAIT_BUTTON:: TextCommand_FAR:: ; write text from a different bank (little endian) pop hl - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] push af ld a, [hli] @@ -599,7 +599,7 @@ TextCommand_FAR:: ld d, a ld a, [hli] - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a push hl @@ -609,7 +609,7 @@ TextCommand_FAR:: pop hl pop af - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a jp NextTextCommand diff --git a/home/text_script.asm b/home/text_script.asm index 2dd2dbde..89f4d286 100644 --- a/home/text_script.asm +++ b/home/text_script.asm @@ -1,7 +1,7 @@ ; this function is used to display sign messages, sprite dialog, etc. ; INPUT: [hSpriteIndexOrTextID] = sprite ID or text ID DisplayTextID:: - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] push af callba DisplayTextIDInit ; initialization ld hl, wTextPredefFlag @@ -12,13 +12,13 @@ DisplayTextID:: call SwitchToMapRomBank .skipSwitchToMapBank ld a, 30 ; half a second - ld [hFrameCounter], a ; used as joypad poll timer + ldh [hFrameCounter], a ; used as joypad poll timer ld hl, wMapTextPtr ld a, [hli] ld h, [hl] ld l, a ; hl = map text pointer ld d, $00 - ld a, [hSpriteIndexOrTextID] ; text ID + ldh a, [hSpriteIndexOrTextID] ; text ID ld [wSpriteIndex], a dict TEXT_START_MENU, DisplayStartMenu @@ -29,7 +29,7 @@ DisplayTextID:: ld a, [wNumSprites] ld e, a - ld a, [hSpriteIndexOrTextID] ; sprite ID + ldh a, [hSpriteIndexOrTextID] ; sprite ID cp e jr z, .spriteHandling jr nc, .skipSpriteHandling @@ -42,7 +42,7 @@ DisplayTextID:: pop bc pop de ld hl, wMapSpriteData ; NPC text entries - ld a, [hSpriteIndexOrTextID] + ldh a, [hSpriteIndexOrTextID] dec a add a add l @@ -97,7 +97,7 @@ AfterDisplayingTextID:: ; loop to hold the dialogue box open as long as the player keeps holding down the A button HoldTextDisplayOpen:: call Joypad - ld a, [hJoyHeld] + ldh a, [hJoyHeld] bit 0, a ; is the A button being pressed? jr nz, HoldTextDisplayOpen @@ -105,11 +105,11 @@ CloseTextDisplay:: ld a, [wCurMap] call SwitchToMapRomBank ld a, $90 - ld [hWY], a ; move the window off the screen + ldh [hWY], a ; move the window off the screen call DelayFrame call LoadGBPal xor a - ld [hAutoBGTransferEnabled], a ; disable continuous WRAM to VRAM transfer each V-blank + ldh [hAutoBGTransferEnabled], a ; disable continuous WRAM to VRAM transfer each V-blank ; loop to make sprites face the directions they originally faced before the dialogue ld hl, wSprite01StateData2 + 9 ; should be wSprite01StateData1FacingDirection? ld c, $0f @@ -123,7 +123,7 @@ CloseTextDisplay:: dec c jr nz, .restoreSpriteFacingDirectionLoop ld a, BANK(InitMapSprites) - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a call InitMapSprites ; reload sprite tile pattern data (since it was partially overwritten by text tile patterns) ld hl, wFontLoaded @@ -133,7 +133,7 @@ CloseTextDisplay:: call z, LoadPlayerSpriteGraphics call LoadCurrentMapView pop af - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a jp UpdateSprites @@ -146,14 +146,14 @@ DisplayPokemartDialogue:: call LoadItemList ld a, PRICEDITEMLISTMENU ld [wListMenuID], a - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] push af ld a, BANK(DisplayPokemartDialogue_) - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a call DisplayPokemartDialogue_ pop af - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a jp AfterDisplayingTextID @@ -180,19 +180,19 @@ LoadItemList:: DisplayPokemonCenterDialogue:: ; zeroing these doesn't appear to serve any purpose xor a - ld [hItemPrice], a - ld [hItemPrice + 1], a - ld [hItemPrice + 2], a + ldh [hItemPrice], a + ldh [hItemPrice + 1], a + ldh [hItemPrice + 2], a inc hl - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] push af ld a, BANK(DisplayPokemonCenterDialogue_) - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a call DisplayPokemonCenterDialogue_ pop af - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a jp AfterDisplayingTextID diff --git a/home/trainers.asm b/home/trainers.asm index 22601db8..66108af6 100644 --- a/home/trainers.asm +++ b/home/trainers.asm @@ -144,7 +144,7 @@ CheckFightingMapTrainers:: ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN ld [wJoyIgnore], a xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a call TrainerWalkUpToPlayer_Bank0 ld hl, wCurMapScript inc [hl] ; increment map script index (next script function is usually DisplayEnemyTrainerTextAndStartBattle) @@ -157,7 +157,7 @@ DisplayEnemyTrainerTextAndStartBattle:: ret nz ; return if the enemy trainer hasn't finished walking to the player's sprite ld [wJoyIgnore], a ld a, [wSpriteIndex] - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID ; fall through @@ -211,9 +211,9 @@ EndTrainerBattle:: ResetButtonPressedAndMapScript:: xor a ld [wJoyIgnore], a - ld [hJoyHeld], a - ld [hJoyPressed], a - ld [hJoyReleased], a + ldh [hJoyHeld], a + ldh [hJoyPressed], a + ldh [hJoyReleased], a ld [wCurMapScript], a ; reset battle status ret @@ -302,7 +302,7 @@ CheckForEngagingTrainers:: ; hl = text if the player wins ; de = text if the player loses SaveEndBattleTextPointers:: - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] ld [wEndBattleTextRomBank], a ld a, h ld [wEndBattleWinTextPointer], a @@ -337,10 +337,10 @@ PrintEndBattleText:: res 7, [hl] pop hl ret z - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] push af ld a, [wEndBattleTextRomBank] - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a push hl callba SaveTrainerName @@ -348,7 +348,7 @@ PrintEndBattleText:: call PrintText pop hl pop af - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a callba FreezeEnemyTrainerSprite jp WaitForSoundToFinish diff --git a/home/uncompress.asm b/home/uncompress.asm index cfc39f0f..69d94cb0 100644 --- a/home/uncompress.asm +++ b/home/uncompress.asm @@ -2,10 +2,10 @@ ; bank is given in a, sprite input stream is pointed to in wSpriteInputPtr UncompressSpriteData:: ld b, a - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] push af ld a, b - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ld a, SRAM_ENABLE ld [MBC1SRamEnable], a @@ -13,7 +13,7 @@ UncompressSpriteData:: ld [MBC1SRamBank], a call _UncompressSpriteData pop af - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ret diff --git a/home/vblank.asm b/home/vblank.asm index 78f5f69d..06b45b82 100644 --- a/home/vblank.asm +++ b/home/vblank.asm @@ -5,19 +5,19 @@ VBlank:: push de push hl - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] ld [wVBlankSavedROMBank], a - ld a, [hSCX] - ld [rSCX], a - ld a, [hSCY] - ld [rSCY], a + ldh a, [hSCX] + ldh [rSCX], a + ldh a, [hSCY] + ldh [rSCY], a ld a, [wDisableVBlankWYUpdate] and a jr nz, .ok - ld a, [hWY] - ld [rWY], a + ldh a, [hWY] + ldh [rWY], a .ok call AutoBgMapTransfer @@ -28,7 +28,7 @@ VBlank:: call UpdateMovingBgTiles call hDMARoutine ld a, BANK(PrepareOAMData) - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a call PrepareOAMData @@ -36,24 +36,24 @@ VBlank:: call Random - ld a, [hVBlankOccurred] + ldh a, [hVBlankOccurred] and a jr z, .skipZeroing xor a - ld [hVBlankOccurred], a + ldh [hVBlankOccurred], a .skipZeroing - ld a, [hFrameCounter] + ldh a, [hFrameCounter] and a jr z, .skipDec dec a - ld [hFrameCounter], a + ldh [hFrameCounter], a .skipDec call FadeOutAudio ld a, [wAudioROMBank] ; music ROM bank - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a cp BANK(Audio1_UpdateMusic) @@ -74,12 +74,12 @@ VBlank:: callba TrackPlayTime ; keep track of time played - ld a, [hDisableJoypadPolling] + ldh a, [hDisableJoypadPolling] and a call z, ReadJoypad ld a, [wVBlankSavedROMBank] - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a pop hl @@ -96,10 +96,10 @@ DelayFrame:: NOT_VBLANKED EQU 1 ld a, NOT_VBLANKED - ld [hVBlankOccurred], a + ldh [hVBlankOccurred], a .halt halt - ld a, [hVBlankOccurred] + ldh a, [hVBlankOccurred] and a jr nz, .halt ret diff --git a/home/vcopy.asm b/home/vcopy.asm index e2325d5c..d2340b7c 100644 --- a/home/vcopy.asm +++ b/home/vcopy.asm @@ -40,19 +40,19 @@ ClearBgMap:: ; However, this function is also called repeatedly to redraw the whole screen ; when necessary. It is also used in trade animation and elevator code. RedrawRowOrColumn:: - ld a, [hRedrawRowOrColumnMode] + ldh a, [hRedrawRowOrColumnMode] and a ret z ld b, a xor a - ld [hRedrawRowOrColumnMode], a + ldh [hRedrawRowOrColumnMode], a dec b jr nz, .redrawRow .redrawColumn ld hl, wRedrawRowOrColumnSrcTiles - ld a, [hRedrawRowOrColumnDest] + ldh a, [hRedrawRowOrColumnDest] ld e, a - ld a, [hRedrawRowOrColumnDest + 1] + ldh a, [hRedrawRowOrColumnDest + 1] ld d, a ld c, SCREEN_HEIGHT .loop1 @@ -75,13 +75,13 @@ RedrawRowOrColumn:: dec c jr nz, .loop1 xor a - ld [hRedrawRowOrColumnMode], a + ldh [hRedrawRowOrColumnMode], a ret .redrawRow ld hl, wRedrawRowOrColumnSrcTiles - ld a, [hRedrawRowOrColumnDest] + ldh a, [hRedrawRowOrColumnDest] ld e, a - ld a, [hRedrawRowOrColumnDest + 1] + ldh a, [hRedrawRowOrColumnDest + 1] ld d, a push de call .DrawHalf ; draw upper half @@ -120,15 +120,15 @@ RedrawRowOrColumn:: ; the above function, RedrawRowOrColumn, is used when walking to ; improve efficiency. AutoBgMapTransfer:: - ld a, [hAutoBGTransferEnabled] + ldh a, [hAutoBGTransferEnabled] and a ret z ld hl, sp + 0 ld a, h - ld [hSPTemp], a + ldh [hSPTemp], a ld a, l - ld [hSPTemp + 1], a ; save stack pinter - ld a, [hAutoBGTransferPortion] + ldh [hSPTemp + 1], a ; save stack pinter + ldh a, [hAutoBGTransferPortion] and a jr z, .transferTopThird dec a @@ -136,9 +136,9 @@ AutoBgMapTransfer:: .transferBottomThird coord hl, 0, 12 ld sp, hl - ld a, [hAutoBGTransferDest + 1] + ldh a, [hAutoBGTransferDest + 1] ld h, a - ld a, [hAutoBGTransferDest] + ldh a, [hAutoBGTransferDest] ld l, a ld de, (12 * 32) add hl, de @@ -147,24 +147,24 @@ AutoBgMapTransfer:: .transferTopThird coord hl, 0, 0 ld sp, hl - ld a, [hAutoBGTransferDest + 1] + ldh a, [hAutoBGTransferDest + 1] ld h, a - ld a, [hAutoBGTransferDest] + ldh a, [hAutoBGTransferDest] ld l, a ld a, TRANSFERMIDDLE jr .doTransfer .transferMiddleThird coord hl, 0, 6 ld sp, hl - ld a, [hAutoBGTransferDest + 1] + ldh a, [hAutoBGTransferDest + 1] ld h, a - ld a, [hAutoBGTransferDest] + ldh a, [hAutoBGTransferDest] ld l, a ld de, (6 * 32) add hl, de ld a, TRANSFERBOTTOM .doTransfer - ld [hAutoBGTransferPortion], a ; store next portion + ldh [hAutoBGTransferPortion], a ; store next portion ld b, 6 TransferBgRows:: @@ -192,9 +192,9 @@ TransferBgRows:: dec b jr nz, TransferBgRows - ld a, [hSPTemp] + ldh a, [hSPTemp] ld h, a - ld a, [hSPTemp + 1] + ldh a, [hSPTemp + 1] ld l, a ld sp, hl ret @@ -202,27 +202,27 @@ TransferBgRows:: ; Copies [hVBlankCopyBGNumRows] rows from hVBlankCopyBGSource to hVBlankCopyBGDest. ; If hVBlankCopyBGSource is XX00, the transfer is disabled. VBlankCopyBgMap:: - ld a, [hVBlankCopyBGSource] ; doubles as enabling byte + ldh a, [hVBlankCopyBGSource] ; doubles as enabling byte and a ret z ld hl, sp + 0 ld a, h - ld [hSPTemp], a + ldh [hSPTemp], a ld a, l - ld [hSPTemp + 1], a ; save stack pointer - ld a, [hVBlankCopyBGSource] + ldh [hSPTemp + 1], a ; save stack pointer + ldh a, [hVBlankCopyBGSource] ld l, a - ld a, [hVBlankCopyBGSource + 1] + ldh a, [hVBlankCopyBGSource + 1] ld h, a ld sp, hl - ld a, [hVBlankCopyBGDest] + ldh a, [hVBlankCopyBGDest] ld l, a - ld a, [hVBlankCopyBGDest + 1] + ldh a, [hVBlankCopyBGDest + 1] ld h, a - ld a, [hVBlankCopyBGNumRows] + ldh a, [hVBlankCopyBGNumRows] ld b, a xor a - ld [hVBlankCopyBGSource], a ; disable transfer so it doesn't continue next V-blank + ldh [hVBlankCopyBGSource], a ; disable transfer so it doesn't continue next V-blank jr TransferBgRows @@ -234,31 +234,31 @@ VBlankCopyDouble:: ; The process is straightforward: ; copy each byte twice. - ld a, [hVBlankCopyDoubleSize] + ldh a, [hVBlankCopyDoubleSize] and a ret z ld hl, sp + 0 ld a, h - ld [hSPTemp], a + ldh [hSPTemp], a ld a, l - ld [hSPTemp + 1], a + ldh [hSPTemp + 1], a - ld a, [hVBlankCopyDoubleSource] + ldh a, [hVBlankCopyDoubleSource] ld l, a - ld a, [hVBlankCopyDoubleSource + 1] + ldh a, [hVBlankCopyDoubleSource + 1] ld h, a ld sp, hl - ld a, [hVBlankCopyDoubleDest] + ldh a, [hVBlankCopyDoubleDest] ld l, a - ld a, [hVBlankCopyDoubleDest + 1] + ldh a, [hVBlankCopyDoubleDest + 1] ld h, a - ld a, [hVBlankCopyDoubleSize] + ldh a, [hVBlankCopyDoubleSize] ld b, a xor a ; transferred - ld [hVBlankCopyDoubleSize], a + ldh [hVBlankCopyDoubleSize], a .loop REPT 3 @@ -286,19 +286,19 @@ VBlankCopyDouble:: jr nz, .loop ld a, l - ld [hVBlankCopyDoubleDest], a + ldh [hVBlankCopyDoubleDest], a ld a, h - ld [hVBlankCopyDoubleDest + 1], a + ldh [hVBlankCopyDoubleDest + 1], a ld hl, sp + 0 ld a, l - ld [hVBlankCopyDoubleSource], a + ldh [hVBlankCopyDoubleSource], a ld a, h - ld [hVBlankCopyDoubleSource + 1], a + ldh [hVBlankCopyDoubleSource + 1], a - ld a, [hSPTemp] + ldh a, [hSPTemp] ld h, a - ld a, [hSPTemp + 1] + ldh a, [hSPTemp + 1] ld l, a ld sp, hl @@ -312,31 +312,31 @@ VBlankCopy:: ; Source and destination addresses are updated, ; so transfer can continue in subsequent calls. - ld a, [hVBlankCopySize] + ldh a, [hVBlankCopySize] and a ret z ld hl, sp + 0 ld a, h - ld [hSPTemp], a + ldh [hSPTemp], a ld a, l - ld [hSPTemp + 1], a + ldh [hSPTemp + 1], a - ld a, [hVBlankCopySource] + ldh a, [hVBlankCopySource] ld l, a - ld a, [hVBlankCopySource + 1] + ldh a, [hVBlankCopySource + 1] ld h, a ld sp, hl - ld a, [hVBlankCopyDest] + ldh a, [hVBlankCopyDest] ld l, a - ld a, [hVBlankCopyDest + 1] + ldh a, [hVBlankCopyDest + 1] ld h, a - ld a, [hVBlankCopySize] + ldh a, [hVBlankCopySize] ld b, a xor a ; transferred - ld [hVBlankCopySize], a + ldh [hVBlankCopySize], a .loop REPT 7 @@ -356,19 +356,19 @@ VBlankCopy:: jr nz, .loop ld a, l - ld [hVBlankCopyDest], a + ldh [hVBlankCopyDest], a ld a, h - ld [hVBlankCopyDest + 1], a + ldh [hVBlankCopyDest + 1], a ld hl, sp + 0 ld a, l - ld [hVBlankCopySource], a + ldh [hVBlankCopySource], a ld a, h - ld [hVBlankCopySource + 1], a + ldh [hVBlankCopySource + 1], a - ld a, [hSPTemp] + ldh a, [hSPTemp] ld h, a - ld a, [hSPTemp + 1] + ldh a, [hSPTemp + 1] ld l, a ld sp, hl @@ -379,13 +379,13 @@ UpdateMovingBgTiles:: ; Animate water and flower ; tiles in the overworld. - ld a, [hTilesetType] + ldh a, [hTilesetType] and a ret z ; no animations if indoors (or if a menu set this to 0) - ld a, [hMovingBGTilesCounter1] + ldh a, [hMovingBGTilesCounter1] inc a - ld [hMovingBGTilesCounter1], a + ldh [hMovingBGTilesCounter1], a cp 20 ret c cp 21 @@ -417,17 +417,17 @@ UpdateMovingBgTiles:: dec c jr nz, .left .done - ld a, [hTilesetType] + ldh a, [hTilesetType] rrca ret nc ; if in a cave, no flower animations xor a - ld [hMovingBGTilesCounter1], a + ldh [hMovingBGTilesCounter1], a ret .flower xor a - ld [hMovingBGTilesCounter1], a + ldh [hMovingBGTilesCounter1], a ld a, [wMovingBGTilesCounter2] and 3 diff --git a/macros/farcall.asm b/macros/farcall.asm index 885f8c66..85c2dc9f 100644 --- a/macros/farcall.asm +++ b/macros/farcall.asm @@ -25,13 +25,13 @@ jpab: MACRO ENDM homecall: MACRO - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] push af ld a, BANK(\1) - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a call \1 pop af - ld [hLoadedROMBank], a + ldh [hLoadedROMBank], a ld [MBC1RomBank], a ENDM diff --git a/scripts/AgathasRoom.asm b/scripts/AgathasRoom.asm index 6d304de8..b49b2a2b 100755 --- a/scripts/AgathasRoom.asm +++ b/scripts/AgathasRoom.asm @@ -63,8 +63,8 @@ AgathaScript0: call ArePlayerCoordsInArray jp nc, CheckFightingMapTrainers xor a - ld [hJoyPressed], a - ld [hJoyHeld], a + ldh [hJoyPressed], a + ldh [hJoyHeld], a ld [wSimulatedJoypadStatesEnd], a ld [wSimulatedJoypadStatesIndex], a ld a, [wCoordIndex] @@ -74,7 +74,7 @@ AgathaScript0: jr z, AgathaScriptWalkIntoRoom .stopPlayerFromLeaving ld a, $2 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID ; "Don't run away!" ld a, D_UP ld [wSimulatedJoypadStatesEnd], a @@ -110,7 +110,7 @@ AgathaScript2: cp $ff jp z, ResetAgathaScript ld a, $1 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID ld a, $1 ld [wChampionsRoomCurScript], a diff --git a/scripts/BikeShop.asm b/scripts/BikeShop.asm index 07e96c1b..338381e9 100755 --- a/scripts/BikeShop.asm +++ b/scripts/BikeShop.asm @@ -23,7 +23,7 @@ BikeShopText1: call GiveItem jr nc, .BagFull ld a, BIKE_VOUCHER - ld [hItemToRemoveID], a + ldh [hItemToRemoveID], a callba RemoveItemByID SetEvent EVENT_GOT_BICYCLE ld hl, BikeShopText_1d824 diff --git a/scripts/BillsHouse.asm b/scripts/BillsHouse.asm index 3601c0b6..3edfdf5b 100755 --- a/scripts/BillsHouse.asm +++ b/scripts/BillsHouse.asm @@ -23,7 +23,7 @@ BillsHouseScript1: ld de, MovementData_1e7a0 .notDown ld a, $1 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a call MoveSprite ld a, $2 ld [wBillsHouseCurScript], a @@ -66,13 +66,13 @@ BillsHouseScript3: ld a, $2 ld [wSpriteIndex], a ld a, $c - ld [hSpriteScreenYCoord], a + ldh [hSpriteScreenYCoord], a ld a, $40 - ld [hSpriteScreenXCoord], a + ldh [hSpriteScreenXCoord], a ld a, $6 - ld [hSpriteMapYCoord], a + ldh [hSpriteMapYCoord], a ld a, $5 - ld [hSpriteMapXCoord], a + ldh [hSpriteMapXCoord], a call SetSpritePosition1 ld a, HS_BILL_1 ld [wMissableObjectIndex], a @@ -80,7 +80,7 @@ BillsHouseScript3: ld c, 8 call DelayFrames ld a, $2 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a ld de, MovementData_1e807 call MoveSprite ld a, $4 @@ -109,7 +109,7 @@ BillsHouseScript4: BillsHouseScript5: ld a, $4 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID ld a, $0 ld [wBillsHouseCurScript], a diff --git a/scripts/BrunosRoom.asm b/scripts/BrunosRoom.asm index 85cd86af..d7254c97 100755 --- a/scripts/BrunosRoom.asm +++ b/scripts/BrunosRoom.asm @@ -63,8 +63,8 @@ BrunoScript0: call ArePlayerCoordsInArray jp nc, CheckFightingMapTrainers xor a - ld [hJoyPressed], a - ld [hJoyHeld], a + ldh [hJoyPressed], a + ldh [hJoyHeld], a ld [wSimulatedJoypadStatesEnd], a ld [wSimulatedJoypadStatesIndex], a ld a, [wCoordIndex] @@ -74,7 +74,7 @@ BrunoScript0: jr z, BrunoScriptWalkIntoRoom .stopPlayerFromLeaving ld a, $2 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID ; "Don't run away!" ld a, D_UP ld [wSimulatedJoypadStatesEnd], a @@ -110,7 +110,7 @@ BrunoScript2: cp $ff jp z, ResetBrunoScript ld a, $1 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a jp DisplayTextID BrunosRoom_TextPointers: diff --git a/scripts/CeladonGym.asm b/scripts/CeladonGym.asm index 4af9d146..21ba65d9 100755 --- a/scripts/CeladonGym.asm +++ b/scripts/CeladonGym.asm @@ -44,20 +44,20 @@ CeladonGymScript3: CeladonGymText_48963: ld a, $9 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID SetEvent EVENT_BEAT_ERIKA lb bc, TM_MEGA_DRAIN, 1 call GiveItem jr nc, .BagFull ld a, $a - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID SetEvent EVENT_GOT_TM21 jr .gymVictory .BagFull ld a, $b - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID .gymVictory ld hl, wObtainedBadges @@ -170,7 +170,7 @@ CeladonGymText1: ld hl, CeladonGymText_48a63 ld de, CeladonGymText_48a63 call SaveEndBattleTextPointers - ld a, [hSpriteIndex] + ldh a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/CeladonMartRoof.asm b/scripts/CeladonMartRoof.asm index f38bb984..06a8390a 100755 --- a/scripts/CeladonMartRoof.asm +++ b/scripts/CeladonMartRoof.asm @@ -79,7 +79,7 @@ CeladonMartRoofScript_GiveDrinkToGirl: ld e, a add hl, de ld a, [hl] - ld [hItemToRemoveID], a + ldh [hItemToRemoveID], a cp FRESH_WATER jr z, .gaveFreshWater cp SODA_POP @@ -186,7 +186,7 @@ CeladonMartRoofText_4852c: CeladonMartRoofScript_PrintDrinksInBag: ld hl, wFilteredBagItems xor a - ld [hItemCounter], a + ldh [hItemCounter], a .loop ld a, [hli] cp $ff @@ -195,7 +195,7 @@ CeladonMartRoofScript_PrintDrinksInBag: ld [wd11e], a call GetItemName coord hl, 2, 2 - ld a, [hItemCounter] + ldh a, [hItemCounter] ld bc, SCREEN_WIDTH * 2 call AddNTimes ld de, wcd6d diff --git a/scripts/CeruleanCity.asm b/scripts/CeruleanCity.asm index bda53667..656c3a4d 100755 --- a/scripts/CeruleanCity.asm +++ b/scripts/CeruleanCity.asm @@ -27,7 +27,7 @@ CeruleanCityScript4: ld [wJoyIgnore], a SetEvent EVENT_BEAT_CERULEAN_ROCKET_THIEF ld a, $2 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID xor a ld [wJoyIgnore], a @@ -53,7 +53,7 @@ CeruleanCityScript0: ld [wSprite02StateData1FacingDirection], a call Delay3 ld a, $2 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a jp DisplayTextID .asm_194f7 CheckEvent EVENT_BEAT_CERULEAN_RIVAL @@ -72,16 +72,16 @@ CeruleanCityScript0: ld a, MUSIC_MEET_RIVAL call PlayMusic xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a ld a, $f0 ld [wJoyIgnore], a ld a, [wXCoord] cp $14 jr z, .asm_19535 ld a, $1 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a ld a, $5 - ld [hSpriteDataOffset], a + ldh [hSpriteDataOffset], a call GetPointerWithinSpriteStateData2 ld [hl], $19 .asm_19535 @@ -90,7 +90,7 @@ CeruleanCityScript0: predef ShowObject ld de, CeruleanCityMovement1 ld a, $1 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a call MoveSprite ld a, $1 ld [wCeruleanCityCurScript], a @@ -114,9 +114,9 @@ CeruleanCityMovement1: CeruleanCityScript_1955d: ld a, 1 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a xor a ; SPRITE_FACING_DOWN - ld [hSpriteFacingDirection], a + ldh [hSpriteFacingDirection], a jp SetSpriteFacingDirectionAndDelay ; face object CeruleanCityScript1: @@ -126,7 +126,7 @@ CeruleanCityScript1: xor a ld [wJoyIgnore], a ld a, $1 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wd72d set 6, [hl] @@ -154,7 +154,7 @@ CeruleanCityScript1: ld [wTrainerNo], a xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a call CeruleanCityScript_1955d ld a, $2 ld [wCeruleanCityCurScript], a @@ -169,14 +169,14 @@ CeruleanCityScript2: ld [wJoyIgnore], a SetEvent EVENT_BEAT_CERULEAN_RIVAL ld a, $1 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStart ld a, $1 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a call SetSpriteMovementBytesToFF ld a, [wXCoord] cp $14 @@ -187,7 +187,7 @@ CeruleanCityScript2: ld de, CeruleanCityMovement3 .asm_195f3 ld a, $1 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a call MoveSprite ld a, $3 ld [wCeruleanCityCurScript], a @@ -289,7 +289,7 @@ CeruleanCityText2: ld hl, CeruleanCityText_196ee ld de, CeruleanCityText_196ee call SaveEndBattleTextPointers - ld a, [hSpriteIndexOrTextID] + ldh a, [hSpriteIndexOrTextID] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters @@ -356,7 +356,7 @@ CeruleanCityText6: CeruleanCityText7: text_asm - ld a, [hRandomAdd] + ldh a, [hRandomAdd] cp 180 jr c, .asm_e9fc9 ld hl, CeruleanCityText_19730 @@ -388,7 +388,7 @@ CeruleanCityText_1973a: CeruleanCityText8: text_asm - ld a, [hRandomAdd] + ldh a, [hRandomAdd] cp 180 jr c, .asm_e28da ld hl, CeruleanCityText_1976f diff --git a/scripts/CeruleanGym.asm b/scripts/CeruleanGym.asm index 14363066..ef3c96f5 100755 --- a/scripts/CeruleanGym.asm +++ b/scripts/CeruleanGym.asm @@ -44,20 +44,20 @@ CeruleanGymScript3: CeruleanGymScript_5c70d: ld a, $5 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID SetEvent EVENT_BEAT_MISTY lb bc, TM_BUBBLEBEAM, 1 call GiveItem jr nc, .BagFull ld a, $6 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID SetEvent EVENT_GOT_TM11 jr .gymVictory .BagFull ld a, $7 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID .gymVictory ld hl, wObtainedBadges @@ -121,14 +121,14 @@ CeruleanGymText1: ld hl, CeruleanGymText_5c7d8 ld de, CeruleanGymText_5c7d8 call SaveEndBattleTextPointers - ld a, [hSpriteIndex] + ldh a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters ld a, $2 ld [wGymLeaderNo], a xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a ld a, $3 ld [wCeruleanGymCurScript], a .done diff --git a/scripts/ChampionsRoom.asm b/scripts/ChampionsRoom.asm index ef6ff8fb..53dd9d4e 100755 --- a/scripts/ChampionsRoom.asm +++ b/scripts/ChampionsRoom.asm @@ -55,7 +55,7 @@ GaryScript2: ld hl, wOptions res 7, [hl] ; Turn on battle animations to make the battle feel more epic. ld a, $1 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID call Delay3 ld hl, wd72d @@ -84,7 +84,7 @@ GaryScript2: ld [wTrainerNo], a xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a ld a, $3 ld [wChampionsRoomCurScript], a ret @@ -98,10 +98,10 @@ GaryScript3: ld a, $f0 ld [wJoyIgnore], a ld a, $1 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call GaryScript_760c8 ld a, $1 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a call SetSpriteMovementBytesToFF ld a, $4 ld [wChampionsRoomCurScript], a @@ -110,14 +110,14 @@ GaryScript3: GaryScript4: callba Music_Cities1AlternateTempo ld a, $2 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call GaryScript_760c8 ld a, $2 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a call SetSpriteMovementBytesToFF ld de, OakEntranceAfterVictoryMovement ld a, $2 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a call MoveSprite ld a, HS_CHAMPIONS_ROOM_OAK ld [wMissableObjectIndex], a @@ -141,17 +141,17 @@ GaryScript5: ld a, PLAYER_DIR_LEFT ld [wPlayerMovingDirection], a ld a, $1 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a ld a, SPRITE_FACING_LEFT - ld [hSpriteFacingDirection], a + ldh [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $2 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a xor a ; SPRITE_FACING_DOWN - ld [hSpriteFacingDirection], a + ldh [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $3 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call GaryScript_760c8 ld a, $6 ld [wChampionsRoomCurScript], a @@ -159,12 +159,12 @@ GaryScript5: GaryScript6: ld a, $2 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a ld a, SPRITE_FACING_RIGHT - ld [hSpriteFacingDirection], a + ldh [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $4 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call GaryScript_760c8 ld a, $7 ld [wChampionsRoomCurScript], a @@ -172,16 +172,16 @@ GaryScript6: GaryScript7: ld a, $2 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a xor a ; SPRITE_FACING_DOWN - ld [hSpriteFacingDirection], a + ldh [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $5 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call GaryScript_760c8 ld de, OakExitGaryRoomMovement ld a, $2 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a call MoveSprite ld a, $8 ld [wChampionsRoomCurScript], a diff --git a/scripts/CinnabarGym.asm b/scripts/CinnabarGym.asm index 2aa61135..9318c775 100755 --- a/scripts/CinnabarGym.asm +++ b/scripts/CinnabarGym.asm @@ -36,7 +36,7 @@ CinnabarGymScript_75792: ret CinnabarGymScript_757a0: - ld a, [hSpriteIndexOrTextID] + ldh a, [hSpriteIndexOrTextID] ld [wTrainerHeaderFlagBit], a ret @@ -50,7 +50,7 @@ CinnabarGymScript0: ld a, [wOpponentAfterWrongAnswer] and a ret z - ld [hSpriteIndex], a + ldh [hSpriteIndex], a cp $4 jr nz, .asm_757c3 ld a, PLAYER_DIR_DOWN @@ -85,7 +85,7 @@ CinnabarGymScript1: ld [wJoyIgnore], a ld a, [wOpponentAfterWrongAnswer] ld [wTrainerHeaderFlagBit], a - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a jp DisplayTextID CinnabarGymFlagAction: @@ -96,7 +96,7 @@ CinnabarGymScript2: cp $ff jp z, CinnabarGymScript_75792 ld a, [wTrainerHeaderFlagBit] - ld [hGymGateIndex], a + ldh [hGymGateIndex], a AdjustEventBit EVENT_BEAT_CINNABAR_GYM_TRAINER_0, 2 ld c, a ld b, FLAG_TEST @@ -111,7 +111,7 @@ CinnabarGymScript2: call WaitForSoundToFinish .asm_7581b ld a, [wTrainerHeaderFlagBit] - ld [hGymGateIndex], a + ldh [hGymGateIndex], a AdjustEventBit EVENT_BEAT_CINNABAR_GYM_TRAINER_0, 2 ld c, a ld b, FLAG_SET @@ -141,20 +141,20 @@ CinnabarGymScript3: ld [wJoyIgnore], a CinnabarGymScript3_75857: ld a, $a - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID SetEvent EVENT_BEAT_BLAINE lb bc, TM_FIRE_BLAST, 1 call GiveItem jr nc, .BagFull ld a, $b - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID SetEvent EVENT_GOT_TM38 jr .gymVictory .BagFull ld a, $c - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID .gymVictory ld hl, wObtainedBadges @@ -185,7 +185,7 @@ CinnabarGym_TextPointers: dw TM38NoRoomText CinnabarGymScript_758b7: - ld a, [hSpriteIndexOrTextID] + ldh a, [hSpriteIndexOrTextID] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/CinnabarIsland.asm b/scripts/CinnabarIsland.asm index 54bbe1d8..f74890e8 100755 --- a/scripts/CinnabarIsland.asm +++ b/scripts/CinnabarIsland.asm @@ -25,10 +25,10 @@ CinnabarIslandScript0: ld a, PLAYER_DIR_UP ld [wPlayerMovingDirection], a ld a, $8 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a ld a, $1 ld [wSimulatedJoypadStatesIndex], a ld a, D_DOWN diff --git a/scripts/CopycatsHouse2F.asm b/scripts/CopycatsHouse2F.asm index 580d9b11..b885baab 100755 --- a/scripts/CopycatsHouse2F.asm +++ b/scripts/CopycatsHouse2F.asm @@ -29,7 +29,7 @@ CopycatsHouse2FText1: ld hl, ReceivedTM31Text call PrintText ld a, POKE_DOLL - ld [hItemToRemoveID], a + ldh [hItemToRemoveID], a callba RemoveItemByID SetEvent EVENT_GOT_TM31 jr .asm_62ecd diff --git a/scripts/Daycare.asm b/scripts/Daycare.asm index 4c9e2a85..9fc8f3c4 100755 --- a/scripts/Daycare.asm +++ b/scripts/Daycare.asm @@ -73,11 +73,11 @@ DayCareMText1: ld d, MAX_LEVEL callab CalcExperience ld hl, wDayCareMonExp - ld a, [hExperience] + ldh a, [hExperience] ld [hli], a - ld a, [hExperience + 1] + ldh a, [hExperience + 1] ld [hli], a - ld a, [hExperience + 2] + ldh a, [hExperience + 2] ld [hl], a ld d, MAX_LEVEL @@ -138,11 +138,11 @@ DayCareMText1: and a jp nz, .leaveMonInDayCare ld hl, wDayCareTotalCost - ld [hMoney], a + ldh [hMoney], a ld a, [hli] - ld [hMoney + 1], a + ldh [hMoney + 1], a ld a, [hl] - ld [hMoney + 2], a + ldh [hMoney + 2], a call HasEnoughMoney jr nc, .enoughMoney ld hl, DayCareNotEnoughMoneyText diff --git a/scripts/FightingDojo.asm b/scripts/FightingDojo.asm index eb1e3d55..a5844c14 100755 --- a/scripts/FightingDojo.asm +++ b/scripts/FightingDojo.asm @@ -30,7 +30,7 @@ FightingDojoScript1: CheckEvent EVENT_BEAT_KARATE_MASTER ret nz xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a ld [wcf0d], a ld a, [wYCoord] cp $3 @@ -43,12 +43,12 @@ FightingDojoScript1: ld a, PLAYER_DIR_RIGHT ld [wPlayerMovingDirection], a ld a, $1 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a ld a, SPRITE_FACING_LEFT - ld [hSpriteFacingDirection], a + ldh [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $1 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID ret @@ -62,9 +62,9 @@ FightingDojoScript3: ld a, PLAYER_DIR_RIGHT ld [wPlayerMovingDirection], a ld a, $1 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a ld a, SPRITE_FACING_LEFT - ld [hSpriteFacingDirection], a + ldh [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay .asm_5cde4 @@ -72,7 +72,7 @@ FightingDojoScript3: ld [wJoyIgnore], a SetEventRange EVENT_BEAT_KARATE_MASTER, EVENT_BEAT_FIGHTING_DOJO_TRAINER_3 ld a, $8 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID xor a ld [wJoyIgnore], a @@ -142,7 +142,7 @@ FightingDojoText1: ld hl, FightingDojoText_5ce93 ld de, FightingDojoText_5ce93 call SaveEndBattleTextPointers - ld a, [hSpriteIndexOrTextID] + ldh a, [hSpriteIndexOrTextID] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/FuchsiaGym.asm b/scripts/FuchsiaGym.asm index 6fa569a0..ccde6106 100755 --- a/scripts/FuchsiaGym.asm +++ b/scripts/FuchsiaGym.asm @@ -44,20 +44,20 @@ FuchsiaGymScript3: ld [wJoyIgnore], a FuchsiaGymScript3_75497: ld a, $9 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID SetEvent EVENT_BEAT_KOGA lb bc, TM_TOXIC, 1 call GiveItem jr nc, .BagFull ld a, $a - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID SetEvent EVENT_GOT_TM06 jr .gymVictory .BagFull ld a, $b - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID .gymVictory ld hl, wObtainedBadges @@ -161,14 +161,14 @@ FuchsiaGymText1: ld hl, KogaAfterBattleText ld de, KogaAfterBattleText call SaveEndBattleTextPointers - ld a, [hSpriteIndex] + ldh a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters ld a, $5 ld [wGymLeaderNo], a xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a ld a, $3 ld [wFuchsiaGymCurScript], a .done diff --git a/scripts/GameCorner.asm b/scripts/GameCorner.asm index 551caa78..d5f43e6b 100755 --- a/scripts/GameCorner.asm +++ b/scripts/GameCorner.asm @@ -12,7 +12,7 @@ CeladonGameCornerScript_48bcf: res 6, [hl] ret z call Random - ld a, [hRandomAdd] + ldh a, [hRandomAdd] cp $7 jr nc, .asm_48be2 ld a, $8 @@ -57,10 +57,10 @@ CeladonGameCornerScript1: ld a, $f0 ld [wJoyIgnore], a ld a, $d - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID ld a, $b - ld [hSpriteIndex], a + ldh [hSpriteIndex], a call SetSpriteMovementBytesToFF ld de, MovementData_48c5a ld a, [wYCoord] @@ -75,7 +75,7 @@ CeladonGameCornerScript1: ld de, MovementData_48c63 .asm_48c4d ld a, $b - ld [hSpriteIndex], a + ldh [hSpriteIndex], a call MoveSprite ld a, $2 ld [wGameCornerCurScript], a @@ -150,29 +150,29 @@ CeladonGameCornerText2: call Has9990Coins jr nc, .asm_48d14 xor a - ld [hMoney], a - ld [hMoney + 2], a + ldh [hMoney], a + ldh [hMoney + 2], a ld a, $10 - ld [hMoney + 1], a + ldh [hMoney + 1], a call HasEnoughMoney jr nc, .asm_48cdb ld hl, CeladonGameCornerText_48d31 jr .asm_48d1c .asm_48cdb xor a - ld [hMoney], a - ld [hMoney + 2], a + ldh [hMoney], a + ldh [hMoney + 2], a ld a, $10 - ld [hMoney + 1], a + ldh [hMoney + 1], a ld hl, hMoney + 2 ld de, wPlayerMoney + 2 ld c, $3 predef SubBCDPredef xor a - ld [hUnusedCoinsByte], a - ld [hCoins], a + ldh [hUnusedCoinsByte], a + ldh [hCoins], a ld a, $50 - ld [hCoins + 1], a + ldh [hCoins + 1], a ld de, wPlayerCoins + 1 ld hl, hCoins + 1 ld c, $2 @@ -236,10 +236,10 @@ CeladonGameCornerText5: call Has9990Coins jr nc, .asm_48d8e xor a - ld [hUnusedCoinsByte], a - ld [hCoins], a + ldh [hUnusedCoinsByte], a + ldh [hCoins], a ld a, $10 - ld [hCoins + 1], a + ldh [hCoins + 1], a ld de, wPlayerCoins + 1 ld hl, hCoins + 1 ld c, $2 @@ -316,10 +316,10 @@ CeladonGameCornerText9: call Has9990Coins jr nc, .asm_48e18 xor a - ld [hUnusedCoinsByte], a - ld [hCoins], a + ldh [hUnusedCoinsByte], a + ldh [hCoins], a ld a, $20 - ld [hCoins + 1], a + ldh [hCoins + 1], a ld de, wPlayerCoins + 1 ld hl, hCoins + 1 ld c, $2 @@ -368,10 +368,10 @@ CeladonGameCornerText10: call Has9990Coins jr z, .asm_48e7a xor a - ld [hUnusedCoinsByte], a - ld [hCoins], a + ldh [hUnusedCoinsByte], a + ldh [hCoins], a ld a, $20 - ld [hCoins + 1], a + ldh [hCoins + 1], a ld de, wPlayerCoins + 1 ld hl, hCoins + 1 ld c, $2 @@ -418,14 +418,14 @@ CeladonGameCornerText11: ld hl, CeladonGameCornerText_48ed3 ld de, CeladonGameCornerText_48ed3 call SaveEndBattleTextPointers - ld a, [hSpriteIndex] + ldh a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters xor a - ld [hJoyHeld], a - ld [hJoyPressed], a - ld [hJoyReleased], a + ldh [hJoyHeld], a + ldh [hJoyPressed], a + ldh [hJoyReleased], a ld a, $1 ld [wGameCornerCurScript], a jp TextScriptEnd @@ -521,7 +521,7 @@ GameCornerBlankText2: Has9990Coins: ld a, $99 - ld [hCoins], a + ldh [hCoins], a ld a, $90 - ld [hCoins + 1], a + ldh [hCoins + 1], a jp HasEnoughCoins diff --git a/scripts/HallOfFame.asm b/scripts/HallOfFame.asm index ef3ed128..cdfb2f17 100755 --- a/scripts/HallOfFame.asm +++ b/scripts/HallOfFame.asm @@ -79,10 +79,10 @@ HallofFameRoomScript1: ld a, PLAYER_DIR_RIGHT ld [wPlayerMovingDirection], a ld a, $1 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a call SetSpriteMovementBytesToFF ld a, SPRITE_FACING_LEFT - ld [hSpriteFacingDirection], a + ldh [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay call Delay3 xor a @@ -90,7 +90,7 @@ HallofFameRoomScript1: inc a ; PLAYER_DIR_RIGHT ld [wPlayerMovingDirection], a ld a, $1 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID ld a, $ff ld [wJoyIgnore], a diff --git a/scripts/LancesRoom.asm b/scripts/LancesRoom.asm index 712972e8..5087dda8 100755 --- a/scripts/LancesRoom.asm +++ b/scripts/LancesRoom.asm @@ -59,12 +59,12 @@ LanceScript0: call ArePlayerCoordsInArray jp nc, CheckFightingMapTrainers xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a ld a, [wCoordIndex] cp $3 ; Is player standing next to Lance's sprite? jr nc, .notStandingNextToLance ld a, $1 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a jp DisplayTextID .notStandingNextToLance cp $5 ; Is player standing on the entrance staircase? @@ -91,7 +91,7 @@ LanceScript2: cp $ff jp z, ResetLanceScript ld a, $1 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a jp DisplayTextID WalkToLance: diff --git a/scripts/LoreleisRoom.asm b/scripts/LoreleisRoom.asm index c03d1161..f2cdfb45 100755 --- a/scripts/LoreleisRoom.asm +++ b/scripts/LoreleisRoom.asm @@ -65,8 +65,8 @@ LoreleiScript0: call ArePlayerCoordsInArray jp nc, CheckFightingMapTrainers xor a - ld [hJoyPressed], a - ld [hJoyHeld], a + ldh [hJoyPressed], a + ldh [hJoyHeld], a ld [wSimulatedJoypadStatesEnd], a ld [wSimulatedJoypadStatesIndex], a ld a, [wCoordIndex] @@ -76,7 +76,7 @@ LoreleiScript0: jr z, LoreleiScriptWalkIntoRoom .stopPlayerFromLeaving ld a, $2 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID ; "Don't run away!" ld a, D_UP ld [wSimulatedJoypadStatesEnd], a @@ -112,7 +112,7 @@ LoreleiScript2: cp $ff jp z, ResetLoreleiScript ld a, $1 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a jp DisplayTextID LoreleisRoom_TextPointers: diff --git a/scripts/MtMoonB2F.asm b/scripts/MtMoonB2F.asm index 50620f23..a70967e4 100755 --- a/scripts/MtMoonB2F.asm +++ b/scripts/MtMoonB2F.asm @@ -62,9 +62,9 @@ MtMoon3Script0: cp $d jp nz, MtMoon3Script_49d91 xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a ld a, $1 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a jp DisplayTextID MtMoon3Script_49d91: @@ -88,7 +88,7 @@ MtMoon3Script3: MtMoon3Script4: ld a, $1 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a call SetSpriteMovementBytesToFF ld hl, CoordsData_49dea call ArePlayerCoordsInArray @@ -102,7 +102,7 @@ MtMoon3Script4: ld de, MovementData_49df8 .asm_49dda ld a, $1 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a call MoveSprite ld a, $5 ld [wMtMoonB2FCurScript], a @@ -136,7 +136,7 @@ MtMoon3Script5: ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a ld a, $a - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID CheckEvent EVENT_GOT_DOME_FOSSIL jr z, .asm_49e1d @@ -222,7 +222,7 @@ MtMoon3Text1: ld hl, MtMoon3Text_49f8a ld de, MtMoon3Text_49f8a call SaveEndBattleTextPointers - ld a, [hSpriteIndex] + ldh a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/MtMoonPokecenter.asm b/scripts/MtMoonPokecenter.asm index bcc540a3..3dafd780 100755 --- a/scripts/MtMoonPokecenter.asm +++ b/scripts/MtMoonPokecenter.asm @@ -34,10 +34,10 @@ MagikarpSalesmanText: ld a, [wCurrentMenuItem] and a jp nz, .choseNo - ld [hMoney], a - ld [hMoney + 2], a + ldh [hMoney], a + ldh [hMoney + 2], a ld a, $5 - ld [hMoney + 1], a + ldh [hMoney + 1], a call HasEnoughMoney jr nc, .enoughMoney ld hl, .NoMoneyText diff --git a/scripts/Museum1F.asm b/scripts/Museum1F.asm index a8a609ff..caec03be 100755 --- a/scripts/Museum1F.asm +++ b/scripts/Museum1F.asm @@ -23,9 +23,9 @@ Museum1FScript0: ret nz .asm_5c120 xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a ld a, $1 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a jp DisplayTextID Museum1FScript1: @@ -71,7 +71,7 @@ Museum1FText1: ld [wTextBoxID], a call DisplayTextBoxID xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a ld hl, Museum1FText_5c21f call PrintText call YesNoChoice @@ -79,10 +79,10 @@ Museum1FText1: and a jr nz, .asm_de133 xor a - ld [hMoney], a - ld [hMoney + 1], a + ldh [hMoney], a + ldh [hMoney + 1], a ld a, $50 - ld [hMoney + 2], a + ldh [hMoney + 2], a call HasEnoughMoney jr nc, .asm_0f3e3 ld hl, Museum1FText_5c229 diff --git a/scripts/OaksLab.asm b/scripts/OaksLab.asm index 01196d7c..49017440 100755 --- a/scripts/OaksLab.asm +++ b/scripts/OaksLab.asm @@ -48,7 +48,7 @@ OaksLabScript0: OaksLabScript1: ld a, $8 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a ld de, OakEntryMovement call MoveSprite @@ -86,14 +86,14 @@ OaksLabScript3: ld [wSimulatedJoypadStatesIndex], a call StartSimulatingJoypadStates ld a, $1 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a xor a - ld [hSpriteFacingDirection], a + ldh [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $5 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a xor a - ld [hSpriteFacingDirection], a + ldh [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $4 @@ -111,9 +111,9 @@ OaksLabScript4: SetEvent EVENT_FOLLOWED_OAK_INTO_LAB SetEvent EVENT_FOLLOWED_OAK_INTO_LAB_2 ld a, $1 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a ld a, SPRITE_FACING_UP - ld [hSpriteFacingDirection], a + ldh [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay call UpdateSprites ld hl, wFlags_D733 @@ -128,19 +128,19 @@ OaksLabScript5: ld a, $fc ld [wJoyIgnore], a ld a, $11 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID call Delay3 ld a, $12 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID call Delay3 ld a, $13 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID call Delay3 ld a, $14 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID SetEvent EVENT_OAK_ASKED_TO_CHOOSE_MON xor a @@ -155,18 +155,18 @@ OaksLabScript6: cp $6 ret nz ld a, $5 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a xor a ; SPRITE_FACING_DOWN - ld [hSpriteFacingDirection], a + ldh [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $1 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a xor a - ld [hSpriteFacingDirection], a + ldh [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay call UpdateSprites ld a, $c - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID ld a, $1 ld [wSimulatedJoypadStatesIndex], a @@ -254,9 +254,9 @@ OaksLabScript8: jr nz, .moveBlue push hl ld a, $1 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a ld a, $4 - ld [hSpriteDataOffset], a + ldh [hSpriteDataOffset], a call GetPointerWithinSpriteStateData1 push hl ld [hl], $4c @@ -281,7 +281,7 @@ OaksLabScript8: .moveBlue ld a, $1 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a call MoveSprite ld a, $9 @@ -295,12 +295,12 @@ OaksLabScript9: ld a, $fc ld [wJoyIgnore], a ld a, $1 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a ld a, SPRITE_FACING_UP - ld [hSpriteFacingDirection], a + ldh [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $d - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID ld a, [wRivalStarterBallSpriteIndex] cp $2 @@ -324,12 +324,12 @@ OaksLabScript9: ld [wd11e], a call GetMonName ld a, $1 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a ld a, SPRITE_FACING_UP - ld [hSpriteFacingDirection], a + ldh [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $e - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID SetEvent EVENT_GOT_STARTER xor a @@ -344,9 +344,9 @@ OaksLabScript10: cp $6 ret nz ld a, $1 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a xor a ; SPRITE_FACING_DOWN - ld [hSpriteFacingDirection], a + ldh [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, PLAYER_DIR_UP ld [wPlayerMovingDirection], a @@ -354,21 +354,21 @@ OaksLabScript10: ld a, MUSIC_MEET_RIVAL call PlayMusic ld a, $f - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID ld a, $1 - ld [hNPCPlayerRelativePosPerspective], a + ldh [hNPCPlayerRelativePosPerspective], a ld a, $1 swap a - ld [hNPCSpriteOffset], a + ldh [hNPCSpriteOffset], a predef CalcPositionOfPlayerRelativeToNPC - ld a, [hNPCPlayerYDistance] + ldh a, [hNPCPlayerYDistance] dec a - ld [hNPCPlayerYDistance], a + ldh [hNPCPlayerYDistance], a predef FindPathToPlayer ld de, wNPCMovementDirections2 ld a, $1 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a call MoveSprite ld a, $b @@ -424,9 +424,9 @@ OaksLabScript12: ld [wSpriteIndex], a call SetSpritePosition1 ld a, $1 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a xor a ; SPRITE_FACING_DOWN - ld [hSpriteFacingDirection], a + ldh [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay predef HealParty SetEvent EVENT_BATTLED_RIVAL_IN_OAKS_LAB @@ -439,11 +439,11 @@ OaksLabScript13: ld c, 20 call DelayFrames ld a, $10 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID callba Music_RivalAlternateStart ld a, $1 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a ld de, .RivalExitMovement call MoveSprite ld a, [wXCoord] @@ -508,14 +508,14 @@ OaksLabScript14: OaksLabScript15: xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a call EnableAutoTextBoxDrawing ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStart ld a, $15 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID call OaksLabScript_1d02b ld a, HS_OAKS_LAB_RIVAL @@ -530,7 +530,7 @@ OaksLabScript15: call FillMemory ld [hl], $ff ld a, $1 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a ld de, wNPCMovementDirections2 call MoveSprite @@ -540,14 +540,14 @@ OaksLabScript15: OaksLabScript_1cefd: ld a, $1 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a ld a, SPRITE_FACING_UP - ld [hSpriteFacingDirection], a + ldh [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $8 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a xor a ; SPRITE_FACING_DOWN - ld [hSpriteFacingDirection], a + ldh [hSpriteFacingDirection], a jp SetSpriteFacingDirectionAndDelay OaksLabScript16: @@ -560,21 +560,21 @@ OaksLabScript16: ld [wJoyIgnore], a call OaksLabScript_1cefd ld a, $16 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID call DelayFrame call OaksLabScript_1cefd ld a, $17 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID call DelayFrame call OaksLabScript_1cefd ld a, $18 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID call DelayFrame ld a, $19 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID call Delay3 ld a, HS_POKEDEX_1 @@ -585,16 +585,16 @@ OaksLabScript16: predef HideObject call OaksLabScript_1cefd ld a, $1a - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID ld a, $1 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a ld a, SPRITE_FACING_RIGHT - ld [hSpriteFacingDirection], a + ldh [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay call Delay3 ld a, $1b - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID SetEvent EVENT_GOT_POKEDEX SetEvent EVENT_OAK_GOT_PARCEL @@ -616,7 +616,7 @@ OaksLabScript16: call PlaySound callba Music_RivalAlternateStart ld a, $1 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a ld de, wNPCMovementDirections2 call MoveSprite @@ -672,9 +672,9 @@ OaksLabScript_RemoveParcel: OaksLabScript_1d02b: ld a, $7c - ld [hSpriteScreenYCoord], a + ldh [hSpriteScreenYCoord], a ld a, $8 - ld [hSpriteMapXCoord], a + ldh [hSpriteMapXCoord], a ld a, [wYCoord] cp $3 jr nz, .asm_1d045 @@ -703,9 +703,9 @@ OaksLabScript_1d02b: .asm_1d066 ld a, $20 .asm_1d068 - ld [hSpriteScreenXCoord], a + ldh [hSpriteScreenXCoord], a ld a, b - ld [hSpriteMapYCoord], a + ldh [hSpriteMapYCoord], a ld a, $1 ld [wSpriteIndex], a call SetSpritePosition1 @@ -840,15 +840,15 @@ OaksLabText39: OaksLabScript_1d157: ld a, $5 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a ld a, $9 - ld [hSpriteDataOffset], a + ldh [hSpriteDataOffset], a call GetPointerWithinSpriteStateData1 ld [hl], SPRITE_FACING_DOWN ld a, $1 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a ld a, $9 - ld [hSpriteDataOffset], a + ldh [hSpriteDataOffset], a call GetPointerWithinSpriteStateData1 ld [hl], SPRITE_FACING_RIGHT ld hl, wd730 @@ -947,9 +947,9 @@ OaksLabReceivedMonText: OaksLabScript_1d22d: ld a, $5 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a ld a, $9 - ld [hSpriteDataOffset], a + ldh [hSpriteDataOffset], a call GetPointerWithinSpriteStateData1 ld [hl], $0 ld hl, OaksLabLastMonText diff --git a/scripts/PalletTown.asm b/scripts/PalletTown.asm index e063e0c8..5c4c4de8 100755 --- a/scripts/PalletTown.asm +++ b/scripts/PalletTown.asm @@ -24,7 +24,7 @@ PalletTownScript0: cp 1 ; is player near north exit? ret nz xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a ld a, PLAYER_DIR_DOWN ld [wPlayerMovingDirection], a ld a, SFX_STOP_ALL_MUSIC @@ -46,7 +46,7 @@ PalletTownScript1: xor a ld [wcf0d], a ld a, 1 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID ld a, $FF ld [wJoyIgnore], a @@ -61,25 +61,25 @@ PalletTownScript1: PalletTownScript2: ld a, 1 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a ld a, SPRITE_FACING_UP - ld [hSpriteFacingDirection], a + ldh [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay call Delay3 ld a, 1 ld [wYCoord], a ld a, 1 - ld [hNPCPlayerRelativePosPerspective], a + ldh [hNPCPlayerRelativePosPerspective], a ld a, 1 swap a - ld [hNPCSpriteOffset], a + ldh [hNPCSpriteOffset], a predef CalcPositionOfPlayerRelativeToNPC ld hl, hNPCPlayerYDistance dec [hl] predef FindPathToPlayer ; load Oak’s movement into wNPCMovementDirections2 ld de, wNPCMovementDirections2 ld a, 1 ; oak - ld [hSpriteIndex], a + ldh [hSpriteIndex], a call MoveSprite ld a, $FF ld [wJoyIgnore], a @@ -100,7 +100,7 @@ PalletTownScript3: ld a, $FC ld [wJoyIgnore], a ld a, 1 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID ; set up movement script that causes the player to follow Oak to his lab ld a, $FF @@ -111,7 +111,7 @@ PalletTownScript3: ld [wNPCMovementScriptFunctionNum], a ld a, 1 ld [wNPCMovementScriptPointerTableNum], a - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] ld [wNPCMovementScriptBank], a ; trigger the next script diff --git a/scripts/PewterCity.asm b/scripts/PewterCity.asm index a082d5eb..e3d39dae 100755 --- a/scripts/PewterCity.asm +++ b/scripts/PewterCity.asm @@ -29,7 +29,7 @@ PewterCityScript_1925e: ld a, $f0 ld [wJoyIgnore], a ld a, $5 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a jp DisplayTextID CoordsData_19277: @@ -44,32 +44,32 @@ PewterCityScript1: and a ret nz ld a, $3 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a ld a, SPRITE_FACING_UP - ld [hSpriteFacingDirection], a + ldh [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, ($3 << 4) | SPRITE_FACING_UP - ld [hSpriteImageIndex], a + ldh [hSpriteImageIndex], a call SetSpriteImageIndexAfterSettingFacingDirection call PlayDefaultMusic ld hl, wFlags_0xcd60 set 4, [hl] ld a, $d - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID ld a, $3c - ld [hSpriteScreenYCoord], a + ldh [hSpriteScreenYCoord], a ld a, $30 - ld [hSpriteScreenXCoord], a + ldh [hSpriteScreenXCoord], a ld a, $c - ld [hSpriteMapYCoord], a + ldh [hSpriteMapYCoord], a ld a, $11 - ld [hSpriteMapXCoord], a + ldh [hSpriteMapXCoord], a ld a, $3 ld [wSpriteIndex], a call SetSpritePosition1 ld a, $3 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a ld de, MovementData_PewterMuseumGuyExit call MoveSprite ld a, $2 @@ -112,32 +112,32 @@ PewterCityScript4: and a ret nz ld a, $5 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a ld a, SPRITE_FACING_LEFT - ld [hSpriteFacingDirection], a + ldh [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, ($1 << 4) | SPRITE_FACING_LEFT - ld [hSpriteImageIndex], a + ldh [hSpriteImageIndex], a call SetSpriteImageIndexAfterSettingFacingDirection call PlayDefaultMusic ld hl, wFlags_0xcd60 set 4, [hl] ld a, $e - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID ld a, $3c - ld [hSpriteScreenYCoord], a + ldh [hSpriteScreenYCoord], a ld a, $40 - ld [hSpriteScreenXCoord], a + ldh [hSpriteScreenXCoord], a ld a, $16 - ld [hSpriteMapYCoord], a + ldh [hSpriteMapYCoord], a ld a, $10 - ld [hSpriteMapXCoord], a + ldh [hSpriteMapXCoord], a ld a, $5 ld [wSpriteIndex], a call SetSpritePosition1 ld a, $5 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a ld de, MovementData_PewterGymGuyExit call MoveSprite ld a, $5 @@ -215,12 +215,12 @@ PewterCityText3: ld hl, PewterCityText_193fb call PrintText xor a - ld [hJoyPressed], a - ld [hJoyHeld], a + ldh [hJoyPressed], a + ldh [hJoyHeld], a ld [wNPCMovementScriptFunctionNum], a ld a, $2 ld [wNPCMovementScriptPointerTableNum], a - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] ld [wNPCMovementScriptBank], a ld a, $3 ld [wSpriteIndex], a @@ -280,11 +280,11 @@ PewterCityText5: ld hl, PewterCityText_1945d call PrintText xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a ld [wNPCMovementScriptFunctionNum], a ld a, $3 ld [wNPCMovementScriptPointerTableNum], a - ld a, [hLoadedROMBank] + ldh a, [hLoadedROMBank] ld [wNPCMovementScriptBank], a ld a, $5 ld [wSpriteIndex], a diff --git a/scripts/PewterGym.asm b/scripts/PewterGym.asm index 7215e095..94364043 100755 --- a/scripts/PewterGym.asm +++ b/scripts/PewterGym.asm @@ -44,20 +44,20 @@ PewterGymScript3: PewterGymScript_5c3df: ld a, $4 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID SetEvent EVENT_BEAT_BROCK lb bc, TM_BIDE, 1 call GiveItem jr nc, .BagFull ld a, $5 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID SetEvent EVENT_GOT_TM34 jr .gymVictory .BagFull ld a, $6 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID .gymVictory ld hl, wObtainedBadges @@ -120,14 +120,14 @@ PewterGymText1: ld hl, PewterGymText_5c4bc ld de, PewterGymText_5c4bc call SaveEndBattleTextPointers - ld a, [hSpriteIndex] + ldh a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters ld a, $1 ld [wGymLeaderNo], a xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a ld a, $3 ld [wPewterGymCurScript], a ld [wCurMapScript], a diff --git a/scripts/PokemonMansion1F.asm b/scripts/PokemonMansion1F.asm index d8f3728c..a68b8928 100755 --- a/scripts/PokemonMansion1F.asm +++ b/scripts/PokemonMansion1F.asm @@ -50,9 +50,9 @@ Mansion1Script_Switches:: cp SPRITE_FACING_UP ret nz xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a ld a, $4 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a jp DisplayTextID PokemonMansion1F_ScriptPointers: diff --git a/scripts/PokemonMansion2F.asm b/scripts/PokemonMansion2F.asm index e560d6bd..16f0dff5 100755 --- a/scripts/PokemonMansion2F.asm +++ b/scripts/PokemonMansion2F.asm @@ -46,9 +46,9 @@ Mansion2Script_Switches:: cp SPRITE_FACING_UP ret nz xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a ld a, $5 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a jp DisplayTextID PokemonMansion2F_ScriptPointers: diff --git a/scripts/PokemonMansion3F.asm b/scripts/PokemonMansion3F.asm index ad346702..f4612b0d 100755 --- a/scripts/PokemonMansion3F.asm +++ b/scripts/PokemonMansion3F.asm @@ -77,9 +77,9 @@ Mansion3Script_Switches:: cp SPRITE_FACING_UP ret nz xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a ld a, $6 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a jp DisplayTextID PokemonMansion3F_TextPointers: diff --git a/scripts/PokemonMansionB1F.asm b/scripts/PokemonMansionB1F.asm index aa7123f0..7b295f7e 100755 --- a/scripts/PokemonMansionB1F.asm +++ b/scripts/PokemonMansionB1F.asm @@ -48,9 +48,9 @@ Mansion4Script_Switches:: cp SPRITE_FACING_UP ret nz xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a ld a, $9 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a jp DisplayTextID PokemonMansionB1F_ScriptPointers: diff --git a/scripts/PokemonTower2F.asm b/scripts/PokemonTower2F.asm index 4cf308b5..86a60579 100755 --- a/scripts/PokemonTower2F.asm +++ b/scripts/PokemonTower2F.asm @@ -41,16 +41,16 @@ PokemonTower2Script0: .asm_60544 ld [wPlayerMovingDirection], a ld a, $1 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a ld a, b - ld [hSpriteFacingDirection], a + ldh [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $1 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID xor a - ld [hJoyHeld], a - ld [hJoyPressed], a + ldh [hJoyHeld], a + ldh [hJoyPressed], a ret CoordsData_6055e: @@ -66,7 +66,7 @@ PokemonTower2Script1: ld [wJoyIgnore], a SetEvent EVENT_BEAT_POKEMON_TOWER_RIVAL ld a, $1 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID ld de, MovementData_605b2 CheckEvent EVENT_POKEMON_TOWER_RIVAL_ON_LEFT @@ -74,7 +74,7 @@ PokemonTower2Script1: ld de, MovementData_605a9 .asm_60589 ld a, $1 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a call MoveSprite ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a diff --git a/scripts/PokemonTower5F.asm b/scripts/PokemonTower5F.asm index de09ec49..8cd9f5d1 100755 --- a/scripts/PokemonTower5F.asm +++ b/scripts/PokemonTower5F.asm @@ -24,7 +24,7 @@ PokemonTower5Script0: CheckAndSetEvent EVENT_IN_PURIFIED_ZONE ret nz xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a ld a, $f0 ld [wJoyIgnore], a ld hl, wd72e @@ -35,7 +35,7 @@ PokemonTower5Script0: call Delay3 call GBFadeInFromWhite ld a, $7 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID xor a ld [wJoyIgnore], a diff --git a/scripts/PokemonTower6F.asm b/scripts/PokemonTower6F.asm index a6ae22ec..9ed36a7b 100755 --- a/scripts/PokemonTower6F.asm +++ b/scripts/PokemonTower6F.asm @@ -28,9 +28,9 @@ PokemonTower6Script0: call ArePlayerCoordsInArray jp nc, CheckFightingMapTrainers xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a ld a, $6 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID ld a, MAROWAK ld [wCurOpponent], a @@ -61,7 +61,7 @@ PokemonTower6Script4: jr nz, .asm_60b82 SetEvent EVENT_BEAT_GHOST_MAROWAK ld a, $7 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID xor a ld [wJoyIgnore], a diff --git a/scripts/PokemonTower7F.asm b/scripts/PokemonTower7F.asm index 3f16ca92..f32e1a7c 100755 --- a/scripts/PokemonTower7F.asm +++ b/scripts/PokemonTower7F.asm @@ -31,7 +31,7 @@ PokemonTower7Script2: ld a, $f0 ld [wJoyIgnore], a ld a, [wSpriteIndex] - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID call PokemonTower7Script_60db6 ld a, $3 @@ -72,7 +72,7 @@ PokemonTower7Script4: ld a, SPRITE_FACING_UP ld [wSpritePlayerStateData1FacingDirection], a ld a, MR_FUJIS_HOUSE - ld [hWarpDestinationMap], a + ldh [hWarpDestinationMap], a ld a, $1 ld [wDestinationWarpID], a ld a, LAVENDER_TOWN @@ -107,7 +107,7 @@ PokemonTower7Script_60db6: ld d, [hl] ld e, a ld a, [wSpriteIndex] - ld [hSpriteIndex], a + ldh [hSpriteIndex], a jp MoveSprite .asm_60dde inc hl diff --git a/scripts/RedsHouse2F.asm b/scripts/RedsHouse2F.asm index 69a62f81..2e3463ee 100755 --- a/scripts/RedsHouse2F.asm +++ b/scripts/RedsHouse2F.asm @@ -10,7 +10,7 @@ RedsHouse2F_ScriptPointers: RedsHouse2FScript0: xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a ld a, PLAYER_DIR_UP ld [wPlayerMovingDirection], a ld a, 1 diff --git a/scripts/RocketHideoutB4F.asm b/scripts/RocketHideoutB4F.asm index 81762a8f..f33ef6e2 100755 --- a/scripts/RocketHideoutB4F.asm +++ b/scripts/RocketHideoutB4F.asm @@ -52,7 +52,7 @@ RocketHideout4Script3: ld [wJoyIgnore], a SetEvent EVENT_BEAT_ROCKET_HIDEOUT_GIOVANNI ld a, $a - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID call GBFadeOutToBlack ld a, HS_ROCKET_HIDEOUT_B4F_GIOVANNI @@ -125,12 +125,12 @@ RocketHideout4Text1: ld hl, RocketHideout4Text_4557f ld de, RocketHideout4Text_4557f call SaveEndBattleTextPointers - ld a, [hSpriteIndex] + ldh a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a ld a, $3 ld [wRocketHideoutB4FCurScript], a ld [wCurMapScript], a diff --git a/scripts/Route11Gate2F.asm b/scripts/Route11Gate2F.asm index 1fefc824..1797c540 100755 --- a/scripts/Route11Gate2F.asm +++ b/scripts/Route11Gate2F.asm @@ -20,9 +20,9 @@ Route11GateUpstairsText2: CheckEvent EVENT_GOT_ITEMFINDER, 1 jr c, .asm_4949b ld a, 30 ; pokemon needed - ld [hOaksAideRequirement], a + ldh [hOaksAideRequirement], a ld a, ITEMFINDER ; oak's aide reward - ld [hOaksAideRewardItem], a + ldh [hOaksAideRewardItem], a ld [wd11e], a call GetItemName ld h, d @@ -31,7 +31,7 @@ Route11GateUpstairsText2: ld bc, ITEM_NAME_LENGTH call CopyData predef OaksAideScript - ld a, [hOaksAideResult] + ldh a, [hOaksAideResult] dec a jr nz, .asm_494a1 SetEvent EVENT_GOT_ITEMFINDER diff --git a/scripts/Route12.asm b/scripts/Route12.asm index 1033e495..87052fd6 100755 --- a/scripts/Route12.asm +++ b/scripts/Route12.asm @@ -27,7 +27,7 @@ Route12Script0: ResetEventReuseHL EVENT_FIGHT_ROUTE12_SNORLAX jp z, CheckFightingMapTrainers ld a, $d - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID ld a, SNORLAX ld [wCurOpponent], a @@ -50,7 +50,7 @@ Route12Script3: cp $2 jr z, .asm_59664 ld a, $e - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID .asm_59664 SetEvent EVENT_BEAT_ROUTE12_SNORLAX diff --git a/scripts/Route15Gate2F.asm b/scripts/Route15Gate2F.asm index a0535949..9887fbc1 100755 --- a/scripts/Route15Gate2F.asm +++ b/scripts/Route15Gate2F.asm @@ -10,9 +10,9 @@ Route15GateUpstairsText1: CheckEvent EVENT_GOT_EXP_ALL jr nz, .asm_49683 ld a, 50 ; pokemon needed - ld [hOaksAideRequirement], a + ldh [hOaksAideRequirement], a ld a, EXP_ALL ; oak's aide reward - ld [hOaksAideRewardItem], a + ldh [hOaksAideRewardItem], a ld [wd11e], a call GetItemName ld hl, wcd6d @@ -20,7 +20,7 @@ Route15GateUpstairsText1: ld bc, ITEM_NAME_LENGTH call CopyData predef OaksAideScript - ld a, [hOaksAideResult] + ldh a, [hOaksAideResult] cp $1 jr nz, .asm_49689 SetEvent EVENT_GOT_EXP_ALL diff --git a/scripts/Route16.asm b/scripts/Route16.asm index f813b4e5..bd80a918 100755 --- a/scripts/Route16.asm +++ b/scripts/Route16.asm @@ -27,7 +27,7 @@ Route16Script0: ResetEventReuseHL EVENT_FIGHT_ROUTE16_SNORLAX jp z, CheckFightingMapTrainers ld a, $a - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID ld a, SNORLAX ld [wCurOpponent], a @@ -51,7 +51,7 @@ Route16Script3: cp $2 jr z, .asm_599a8 ld a, $b - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID .asm_599a8 SetEvent EVENT_BEAT_ROUTE16_SNORLAX diff --git a/scripts/Route16Gate1F.asm b/scripts/Route16Gate1F.asm index af84bab0..5bb77075 100755 --- a/scripts/Route16Gate1F.asm +++ b/scripts/Route16Gate1F.asm @@ -19,10 +19,10 @@ Route16GateScript0: call ArePlayerCoordsInArray ret nc ld a, $3 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a ld a, [wCoordIndex] cp $1 jr z, .asm_4970e @@ -59,7 +59,7 @@ Route16GateScript1: Route16GateScript2: ld a, $1 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID ld a, $1 ld [wSimulatedJoypadStatesIndex], a diff --git a/scripts/Route18Gate1F.asm b/scripts/Route18Gate1F.asm index ad876e15..ea8783df 100755 --- a/scripts/Route18Gate1F.asm +++ b/scripts/Route18Gate1F.asm @@ -19,10 +19,10 @@ Route18GateScript0: call ArePlayerCoordsInArray ret nc ld a, $2 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a ld a, [wCoordIndex] cp $1 jr z, .asm_498c6 @@ -59,7 +59,7 @@ Route18GateScript1: Route18GateScript2: ld a, $1 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID ld a, $1 ld [wSimulatedJoypadStatesIndex], a diff --git a/scripts/Route22.asm b/scripts/Route22.asm index b6970ef0..fd566ff0 100755 --- a/scripts/Route22.asm +++ b/scripts/Route22.asm @@ -44,7 +44,7 @@ Route22MoveRivalSprite: .asm_50ef1 call MoveSprite ld a, SPRITE_FACING_RIGHT - ld [hSpriteFacingDirection], a + ldh [hSpriteFacingDirection], a jp SetSpriteFacingDirectionAndDelay Route22RivalMovementData: @@ -63,7 +63,7 @@ Route22Script0: ld a, [wCoordIndex] ld [wcf0d], a xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a ld a, $f0 ld [wJoyIgnore], a ld a, PLAYER_DIR_LEFT @@ -96,7 +96,7 @@ Route22Script0: ld a, MUSIC_MEET_RIVAL call PlayMusic ld a, $1 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a call Route22MoveRivalSprite ld a, $1 ld [wRoute22CurScript], a @@ -116,14 +116,14 @@ Route22Script1: .asm_50f78 ld a, SPRITE_FACING_RIGHT .asm_50f7a - ld [hSpriteFacingDirection], a + ldh [hSpriteFacingDirection], a ld a, $1 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a call SetSpriteFacingDirectionAndDelay xor a ld [wJoyIgnore], a ld a, $1 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wd72d set 6, [hl] @@ -157,15 +157,15 @@ Route22Script2: .notDown ld a, SPRITE_FACING_RIGHT .done - ld [hSpriteFacingDirection], a + ldh [hSpriteFacingDirection], a ld a, $1 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a call SetSpriteFacingDirectionAndDelay ld a, $f0 ld [wJoyIgnore], a SetEvent EVENT_BEAT_ROUTE22_RIVAL_1ST_BATTLE ld a, $1 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a @@ -191,7 +191,7 @@ Route22Script_5100d: ld de, Route22RivalExitMovementData2 Route22MoveRival1: ld a, $1 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a jp MoveSprite Route22RivalExitMovementData1: @@ -250,7 +250,7 @@ Route22Script_5104e: call PlaySound callba Music_RivalAlternateTempo ld a, $2 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a call Route22MoveRivalSprite ld a, $4 ld [wRoute22CurScript], a @@ -261,7 +261,7 @@ Route22Script4: bit 0, a ret nz ld a, $2 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a ld a, [wcf0d] cp $1 jr nz, .asm_510a1 @@ -274,12 +274,12 @@ Route22Script4: ld [wPlayerMovingDirection], a ld a, SPRITE_FACING_RIGHT .asm_510a8 - ld [hSpriteFacingDirection], a + ldh [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay xor a ld [wJoyIgnore], a ld a, $2 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wd72d set 6, [hl] @@ -305,7 +305,7 @@ Route22Script5: cp $ff jp z, Route22Script_50ece ld a, $2 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a ld a, [wcf0d] cp $1 jr nz, .asm_510fb @@ -318,13 +318,13 @@ Route22Script5: ld [wPlayerMovingDirection], a ld a, SPRITE_FACING_RIGHT .asm_51102 - ld [hSpriteFacingDirection], a + ldh [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $f0 ld [wJoyIgnore], a SetEvent EVENT_BEAT_ROUTE22_RIVAL_2ND_BATTLE ld a, $2 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a @@ -350,7 +350,7 @@ Route22Script_51142: ld de, MovementData_5114d Route22MoveRival2: ld a, $2 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a jp MoveSprite MovementData_5114c: diff --git a/scripts/Route22Gate.asm b/scripts/Route22Gate.asm index e2311b95..59b7d7a2 100755 --- a/scripts/Route22Gate.asm +++ b/scripts/Route22Gate.asm @@ -22,9 +22,9 @@ Route22GateScript0: call ArePlayerCoordsInArray ret nc xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a ld a, $1 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a jp DisplayTextID Route22GateScriptCoords: diff --git a/scripts/Route23.asm b/scripts/Route23.asm index b617992b..f4d65266 100755 --- a/scripts/Route23.asm +++ b/scripts/Route23.asm @@ -45,7 +45,7 @@ Route23Script0: ret nc .asm_51237 ld a, e - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a ld a, c ld [wWhichBadge], a ld b, FLAG_TEST @@ -57,7 +57,7 @@ Route23Script0: call Route23Script_5125d call DisplayTextID xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a ret YCoordsData_51255: diff --git a/scripts/Route24.asm b/scripts/Route24.asm index f04a43cf..22ef9aab 100755 --- a/scripts/Route24.asm +++ b/scripts/Route24.asm @@ -28,9 +28,9 @@ Route24Script0: call ArePlayerCoordsInArray jp nc, CheckFightingMapTrainers xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a ld a, $1 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID CheckAndResetEvent EVENT_NUGGET_REWARD_AVAILABLE ret z @@ -66,7 +66,7 @@ Route24Script3: ld [wJoyIgnore], a SetEvent EVENT_BEAT_ROUTE24_ROCKET ld a, $1 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID xor a ld [wJoyIgnore], a @@ -162,12 +162,12 @@ Route24Text1: ld hl, Route24Text_5152b ld de, Route24Text_5152b call SaveEndBattleTextPointers - ld a, [hSpriteIndexOrTextID] + ldh a, [hSpriteIndexOrTextID] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a ld a, $3 ld [wRoute24CurScript], a ld [wCurMapScript], a diff --git a/scripts/Route2Gate.asm b/scripts/Route2Gate.asm index 27da0909..d9d30218 100755 --- a/scripts/Route2Gate.asm +++ b/scripts/Route2Gate.asm @@ -10,9 +10,9 @@ Route2GateText1: CheckEvent EVENT_GOT_HM05 jr nz, .asm_5d60d ld a, 10 ; pokemon needed - ld [hOaksAideRequirement], a + ldh [hOaksAideRequirement], a ld a, HM_FLASH ; oak's aide reward - ld [hOaksAideRewardItem], a + ldh [hOaksAideRewardItem], a ld [wd11e], a call GetItemName ld hl, wcd6d @@ -20,7 +20,7 @@ Route2GateText1: ld bc, ITEM_NAME_LENGTH call CopyData predef OaksAideScript - ld a, [hOaksAideResult] + ldh a, [hOaksAideResult] cp $1 jr nz, .asm_5d613 SetEvent EVENT_GOT_HM05 diff --git a/scripts/Route5Gate.asm b/scripts/Route5Gate.asm index 0bd896f1..0b66efa6 100755 --- a/scripts/Route5Gate.asm +++ b/scripts/Route5Gate.asm @@ -25,13 +25,13 @@ Route5GateScript0: ld a, PLAYER_DIR_LEFT ld [wPlayerMovingDirection], a xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a callba RemoveGuardDrink - ld a, [hItemToRemoveID] + ldh a, [hItemToRemoveID] and a jr nz, .asm_1df82 ld a, $2 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID call Route5GateScript_1df43 ld a, $1 @@ -39,7 +39,7 @@ Route5GateScript0: ret .asm_1df82 ld a, $3 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wd728 set 6, [hl] @@ -74,7 +74,7 @@ Route5GateText1: bit 6, a jr nz, .asm_88856 callba RemoveGuardDrink - ld a, [hItemToRemoveID] + ldh a, [hItemToRemoveID] and a jr nz, .asm_768a2 ld hl, Route5GateText2 diff --git a/scripts/Route6Gate.asm b/scripts/Route6Gate.asm index 6e9dd4b3..7d135498 100755 --- a/scripts/Route6Gate.asm +++ b/scripts/Route6Gate.asm @@ -19,13 +19,13 @@ Route6GateScript0: ld a, PLAYER_DIR_RIGHT ld [wPlayerMovingDirection], a xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a callba RemoveGuardDrink - ld a, [hItemToRemoveID] + ldh a, [hItemToRemoveID] and a jr nz, .asm_1e080 ld a, $2 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID call Route6GateScript_1e0a1 ld a, $1 @@ -35,7 +35,7 @@ Route6GateScript0: ld hl, wd728 set 6, [hl] ld a, $3 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a jp DisplayTextID CoordsData_1e08c: diff --git a/scripts/Route7Gate.asm b/scripts/Route7Gate.asm index 00d7472f..041d6c6a 100755 --- a/scripts/Route7Gate.asm +++ b/scripts/Route7Gate.asm @@ -31,13 +31,13 @@ Route7GateScript0: ld a, PLAYER_DIR_UP ld [wPlayerMovingDirection], a xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a callba RemoveGuardDrink - ld a, [hItemToRemoveID] + ldh a, [hItemToRemoveID] and a jr nz, .asm_1e15a ld a, $2 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID call Route7GateScript_1e111 ld a, $1 @@ -45,7 +45,7 @@ Route7GateScript0: ret .asm_1e15a ld a, $3 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wd728 set 6, [hl] diff --git a/scripts/Route8Gate.asm b/scripts/Route8Gate.asm index d3003c4d..3bdd6070 100755 --- a/scripts/Route8Gate.asm +++ b/scripts/Route8Gate.asm @@ -30,13 +30,13 @@ Route8GateScript0: ld a, PLAYER_DIR_LEFT ld [wPlayerMovingDirection], a xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a callba RemoveGuardDrink - ld a, [hItemToRemoveID] + ldh a, [hItemToRemoveID] and a jr nz, .asm_1e220 ld a, $2 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID call Route8GateScript_1e1d7 ld a, $1 @@ -46,7 +46,7 @@ Route8GateScript0: ld hl, wd728 set 6, [hl] ld a, $3 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a jp DisplayTextID CoordsData_1e22c: diff --git a/scripts/SSAnne2F.asm b/scripts/SSAnne2F.asm index 98d4f197..45e8f283 100755 --- a/scripts/SSAnne2F.asm +++ b/scripts/SSAnne2F.asm @@ -31,19 +31,19 @@ SSAnne2Script0: ld a, MUSIC_MEET_RIVAL call PlayMusic ld a, [wCoordIndex] - ld [hSavedCoordIndex], a + ldh [hSavedCoordIndex], a ld a, HS_SS_ANNE_2F_RIVAL ld [wMissableObjectIndex], a predef ShowObject call Delay3 ld a, $2 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a call SetSpriteMovementBytesToFF xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a ld a, $f0 ld [wJoyIgnore], a - ld a, [hSavedCoordIndex] + ldh a, [hSavedCoordIndex] cp $2 jr nz, .asm_61400 ld de, MovementData_6140c @@ -81,9 +81,9 @@ SSAnne2Script_61416: .asm_61426 xor a ; SPRITE_FACING_DOWN .asm_61427 - ld [hSpriteFacingDirection], a + ldh [hSpriteFacingDirection], a ld a, $2 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a jp SetSpriteFacingDirectionAndDelay SSAnne2Script1: @@ -94,7 +94,7 @@ SSAnne2Script1: xor a ld [wJoyIgnore], a ld a, $2 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID call Delay3 ld a, OPP_SONY2 @@ -129,10 +129,10 @@ SSAnne2Script2: ld a, $f0 ld [wJoyIgnore], a ld a, $3 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID ld a, $2 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a call SetSpriteMovementBytesToFF ld a, [wXCoord] cp $25 @@ -143,7 +143,7 @@ SSAnne2Script2: ld de, MovementData_614b7 .asm_6149a ld a, $2 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a call MoveSprite ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a diff --git a/scripts/SSAnneKitchen.asm b/scripts/SSAnneKitchen.asm index 7334cc69..969c6b7f 100755 --- a/scripts/SSAnneKitchen.asm +++ b/scripts/SSAnneKitchen.asm @@ -39,7 +39,7 @@ SSAnne6Text7: text_asm ld hl, SSAnne6Text_61807 call PrintText - ld a, [hRandomAdd] + ldh a, [hRandomAdd] bit 7, a jr z, .asm_93eb1 ld hl, SSAnne6Text_6180c diff --git a/scripts/SafariZoneGate.asm b/scripts/SafariZoneGate.asm index 76f4faa6..eb49ba8d 100755 --- a/scripts/SafariZoneGate.asm +++ b/scripts/SafariZoneGate.asm @@ -18,12 +18,12 @@ SafariZoneGate_ScriptPointers: call ArePlayerCoordsInArray ret nc ld a, $3 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID ld a, $ff ld [wJoyIgnore], a xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a ld a, SPRITE_FACING_RIGHT ld [wSpritePlayerStateData1FacingDirection], a ld a, [wCoordIndex] @@ -52,11 +52,11 @@ SafariZoneGate_ScriptPointers: ret nz .SafariZoneEntranceScript2 xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a ld [wJoyIgnore], a call UpdateSprites ld a, $4 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID ld a, $ff ld [wJoyIgnore], a @@ -81,7 +81,7 @@ SafariZoneGate_ScriptPointers: ld a, $f0 ld [wJoyIgnore], a ld a, $6 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID xor a ld [wNumSafariBalls], a @@ -93,7 +93,7 @@ SafariZoneGate_ScriptPointers: jr .asm_75286 .asm_7527f ld a, $5 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID .asm_75286 ret @@ -153,11 +153,11 @@ SafariZoneGate_TextPointers: and a jp nz, .PleaseComeAgain xor a - ld [hMoney], a + ldh [hMoney], a ld a, $05 - ld [hMoney + 1], a + ldh [hMoney + 1], a ld a, $00 - ld [hMoney + 2], a + ldh [hMoney + 2], a call HasEnoughMoney jr nc, .success ld hl, .NotEnoughMoneyText diff --git a/scripts/SaffronGym.asm b/scripts/SaffronGym.asm index 88a76253..5f4045ac 100755 --- a/scripts/SaffronGym.asm +++ b/scripts/SaffronGym.asm @@ -44,20 +44,20 @@ SaffronGymScript3: SaffronGymText_5d068: ld a, $a - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID SetEvent EVENT_BEAT_SABRINA lb bc, TM_PSYWAVE, 1 call GiveItem jr nc, .BagFull ld a, $b - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID SetEvent EVENT_GOT_TM46 jr .gymVictory .BagFull ld a, $c - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID .gymVictory ld hl, wObtainedBadges @@ -171,7 +171,7 @@ SaffronGymText1: ld hl, SaffronGymText_5d167 ld de, SaffronGymText_5d167 call SaveEndBattleTextPointers - ld a, [hSpriteIndex] + ldh a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/SilphCo10F.asm b/scripts/SilphCo10F.asm index 140584f1..8fa53319 100755 --- a/scripts/SilphCo10F.asm +++ b/scripts/SilphCo10F.asm @@ -28,7 +28,7 @@ SilphCo10GateCoords: db $FF SilphCo10Text_5a176: - ld a, [hUnlockedSilphCoDoors] + ldh a, [hUnlockedSilphCoDoors] and a ret z SetEvent EVENT_SILPH_CO_10_UNLOCKED_DOOR diff --git a/scripts/SilphCo11F.asm b/scripts/SilphCo11F.asm index a2c540fe..4b54bf48 100755 --- a/scripts/SilphCo11F.asm +++ b/scripts/SilphCo11F.asm @@ -35,7 +35,7 @@ SilphCo11Script_62137: ld a, [hl] ld c, a xor a - ld [hUnlockedSilphCoDoors], a + ldh [hUnlockedSilphCoDoors], a pop hl .asm_62143 ld a, [hli] @@ -60,11 +60,11 @@ SilphCo11Script_62137: ret .asm_6215f xor a - ld [hUnlockedSilphCoDoors], a + ldh [hUnlockedSilphCoDoors], a ret SilphCo11Script_62163: - ld a, [hUnlockedSilphCoDoors] + ldh a, [hUnlockedSilphCoDoors] and a ret z SetEvent EVENT_SILPH_CO_11_UNLOCKED_DOOR @@ -171,14 +171,14 @@ SilphCo11Script0: ld a, [wCoordIndex] ld [wcf0d], a xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a ld a, $f0 ld [wJoyIgnore], a ld a, $3 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID ld a, $3 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a call SetSpriteMovementBytesToFF ld de, MovementData_62216 call MoveSprite @@ -199,9 +199,9 @@ MovementData_62216: SilphCo11Script_6221a: ld [wPlayerMovingDirection], a ld a, $3 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a ld a, b - ld [hSpriteFacingDirection], a + ldh [hSpriteFacingDirection], a jp SetSpriteFacingDirectionAndDelay SilphCo11Script5: @@ -222,7 +222,7 @@ SilphCo11Script5: ld a, $f0 ld [wJoyIgnore], a ld a, $6 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID call GBFadeOutToBlack call SilphCo11Script_6216d @@ -239,7 +239,7 @@ SilphCo11Script3: bit 0, a ret nz ld a, $3 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a call SetSpriteMovementBytesToFF ld a, [wcf0d] cp $1 @@ -263,7 +263,7 @@ SilphCo11Script4: ld hl, SilphCo10Text_62330 ld de, SilphCo10Text_62330 call SaveEndBattleTextPointers - ld a, [hSpriteIndex] + ldh a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/SilphCo2F.asm b/scripts/SilphCo2F.asm index 212d0b90..42e5a7e6 100755 --- a/scripts/SilphCo2F.asm +++ b/scripts/SilphCo2F.asm @@ -45,7 +45,7 @@ SilphCo2Script_59d43: ld a, [hl] ld c, a xor a - ld [hUnlockedSilphCoDoors], a + ldh [hUnlockedSilphCoDoors], a pop hl .asm_59d4f ld a, [hli] @@ -70,12 +70,12 @@ SilphCo2Script_59d43: ret .asm_59d6b xor a - ld [hUnlockedSilphCoDoors], a + ldh [hUnlockedSilphCoDoors], a ret SilphCo2Script_59d6f: EventFlagAddress hl, EVENT_SILPH_CO_2_UNLOCKED_DOOR1 - ld a, [hUnlockedSilphCoDoors] + ldh a, [hUnlockedSilphCoDoors] and a ret z cp $1 diff --git a/scripts/SilphCo3F.asm b/scripts/SilphCo3F.asm index ddd40048..2a086708 100755 --- a/scripts/SilphCo3F.asm +++ b/scripts/SilphCo3F.asm @@ -39,7 +39,7 @@ SilphCo3GateCoords: SilphCo3Script_59fad: EventFlagAddress hl, EVENT_SILPH_CO_3_UNLOCKED_DOOR1 - ld a, [hUnlockedSilphCoDoors] + ldh a, [hUnlockedSilphCoDoors] and a ret z cp $1 diff --git a/scripts/SilphCo4F.asm b/scripts/SilphCo4F.asm index 523336c0..e148447b 100755 --- a/scripts/SilphCo4F.asm +++ b/scripts/SilphCo4F.asm @@ -45,7 +45,7 @@ SilphCo4Script_19d5d: ld a, [hl] ld c, a xor a - ld [hUnlockedSilphCoDoors], a + ldh [hUnlockedSilphCoDoors], a pop hl .asm_19d69 ld a, [hli] @@ -70,12 +70,12 @@ SilphCo4Script_19d5d: ret .asm_19d85 xor a - ld [hUnlockedSilphCoDoors], a + ldh [hUnlockedSilphCoDoors], a ret SilphCo4Script_19d89: EventFlagAddress hl, EVENT_SILPH_CO_4_UNLOCKED_DOOR1 - ld a, [hUnlockedSilphCoDoors] + ldh a, [hUnlockedSilphCoDoors] and a ret z cp $1 diff --git a/scripts/SilphCo5F.asm b/scripts/SilphCo5F.asm index 653390c7..4d4f6ab6 100755 --- a/scripts/SilphCo5F.asm +++ b/scripts/SilphCo5F.asm @@ -49,7 +49,7 @@ SilphCo5GateCoords: SilphCo5Script_19f9e: EventFlagAddress hl, EVENT_SILPH_CO_5_UNLOCKED_DOOR1 - ld a, [hUnlockedSilphCoDoors] + ldh a, [hUnlockedSilphCoDoors] and a ret z cp $1 diff --git a/scripts/SilphCo6F.asm b/scripts/SilphCo6F.asm index 0d393b6e..30a0d83e 100755 --- a/scripts/SilphCo6F.asm +++ b/scripts/SilphCo6F.asm @@ -28,7 +28,7 @@ SilphCo6GateCoords: db $FF SilphCo6Script_1a1e6: - ld a, [hUnlockedSilphCoDoors] + ldh a, [hUnlockedSilphCoDoors] and a ret z SetEvent EVENT_SILPH_CO_6_UNLOCKED_DOOR diff --git a/scripts/SilphCo7F.asm b/scripts/SilphCo7F.asm index 966a18d9..e7032760 100755 --- a/scripts/SilphCo7F.asm +++ b/scripts/SilphCo7F.asm @@ -55,7 +55,7 @@ SilphCo7Text_51bc8: ld a, [hl] ld c, a xor a - ld [hUnlockedSilphCoDoors], a + ldh [hUnlockedSilphCoDoors], a pop hl .asm_51bd4 ld a, [hli] @@ -80,12 +80,12 @@ SilphCo7Text_51bc8: ret .asm_51bf0 xor a - ld [hUnlockedSilphCoDoors], a + ldh [hUnlockedSilphCoDoors], a ret SilphCo7Text_51bf4: EventFlagAddress hl, EVENT_SILPH_CO_7_UNLOCKED_DOOR1 - ld a, [hUnlockedSilphCoDoors] + ldh a, [hUnlockedSilphCoDoors] and a ret z cp $1 @@ -125,7 +125,7 @@ SilphCo7Script0: call ArePlayerCoordsInArray jp nc, CheckFightingMapTrainers xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a ld a, $f0 ld [wJoyIgnore], a ld a, PLAYER_DIR_DOWN @@ -137,10 +137,10 @@ SilphCo7Script0: ld a, MUSIC_MEET_RIVAL call PlayMusic ld a, $9 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID ld a, $9 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a call SetSpriteMovementBytesToFF ld de, MovementData_51c7d ld a, [wCoordIndex] @@ -150,7 +150,7 @@ SilphCo7Script0: inc de .asm_51c6c ld a, $9 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a call MoveSprite ld a, $3 jp SilphCo7Text_51c10 @@ -174,7 +174,7 @@ SilphCo7Script3: xor a ld [wJoyIgnore], a ld a, $d - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID call Delay3 ld hl, wd72d @@ -212,12 +212,12 @@ SilphCo7Script4: ld a, PLAYER_DIR_DOWN ld [wPlayerMovingDirection], a ld a, $9 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a ld a, SPRITE_FACING_UP - ld [hSpriteFacingDirection], a + ldh [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $f - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a @@ -230,7 +230,7 @@ SilphCo7Script4: ld de, MovementData_51d1a .asm_51d0e ld a, $9 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a call MoveSprite ld a, $5 jp SilphCo7Text_51c10 diff --git a/scripts/SilphCo8F.asm b/scripts/SilphCo8F.asm index 71e529a6..0a10781e 100755 --- a/scripts/SilphCo8F.asm +++ b/scripts/SilphCo8F.asm @@ -35,7 +35,7 @@ SilphCo8Script_56541: ld a, [hl] ld c, a xor a - ld [hUnlockedSilphCoDoors], a + ldh [hUnlockedSilphCoDoors], a pop hl .asm_5654d ld a, [hli] @@ -60,11 +60,11 @@ SilphCo8Script_56541: ret .asm_56569 xor a - ld [hUnlockedSilphCoDoors], a + ldh [hUnlockedSilphCoDoors], a ret SilphCo8Script_5656d: - ld a, [hUnlockedSilphCoDoors] + ldh a, [hUnlockedSilphCoDoors] and a ret z SetEvent EVENT_SILPH_CO_8_UNLOCKED_DOOR diff --git a/scripts/SilphCo9F.asm b/scripts/SilphCo9F.asm index e1676bf2..7889e8f7 100755 --- a/scripts/SilphCo9F.asm +++ b/scripts/SilphCo9F.asm @@ -65,7 +65,7 @@ SilphCo9Script_5d837: ld a, [hl] ld c, a xor a - ld [hUnlockedSilphCoDoors], a + ldh [hUnlockedSilphCoDoors], a pop hl .asm_5d843 ld a, [hli] @@ -90,12 +90,12 @@ SilphCo9Script_5d837: ret .asm_5d85f xor a - ld [hUnlockedSilphCoDoors], a + ldh [hUnlockedSilphCoDoors], a ret SilphCo9Script_5d863: EventFlagAddress hl, EVENT_SILPH_CO_9_UNLOCKED_DOOR1 - ld a, [hUnlockedSilphCoDoors] + ldh a, [hUnlockedSilphCoDoors] and a ret z cp $1 diff --git a/scripts/TradeCenter.asm b/scripts/TradeCenter.asm index e7fa8ac8..b91996e0 100755 --- a/scripts/TradeCenter.asm +++ b/scripts/TradeCenter.asm @@ -1,14 +1,14 @@ TradeCenter_Script: call EnableAutoTextBoxDrawing - ld a, [hSerialConnectionStatus] + ldh a, [hSerialConnectionStatus] cp USING_INTERNAL_CLOCK ld a, SPRITE_FACING_LEFT jr z, .next ld a, SPRITE_FACING_RIGHT .next - ld [hSpriteFacingDirection], a + ldh [hSpriteFacingDirection], a ld a, $1 - ld [hSpriteIndex], a + ldh [hSpriteIndex], a call SetSpriteFacingDirection ld hl, wd72d bit 0, [hl] @@ -21,7 +21,7 @@ TradeCenter_Script: ld [hl], a ld a, SPRITE_FACING_LEFT ld [wSprite01StateData1FacingDirection], a - ld a, [hSerialConnectionStatus] + ldh a, [hSerialConnectionStatus] cp USING_INTERNAL_CLOCK ret z ld a, $7 diff --git a/scripts/VermilionCity.asm b/scripts/VermilionCity.asm index 127ee16a..9178cd65 100755 --- a/scripts/VermilionCity.asm +++ b/scripts/VermilionCity.asm @@ -15,7 +15,7 @@ VermilionCity_Script: .setFirstLockTrashCanIndex call Random - ld a, [hRandomSub] + ldh a, [hRandomSub] and $e ld [wFirstLockTrashCanIndex], a ret @@ -45,10 +45,10 @@ VermilionCityScript0: call ArePlayerCoordsInArray ret nc xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a ld [wcf0d], a ld a, $3 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID CheckEvent EVENT_SS_ANNE_LEFT jr nz, .shipHasDeparted @@ -98,7 +98,7 @@ VermilionCityScript3: ret nz xor a ld [wJoyIgnore], a - ld [hJoyHeld], a + ldh [hJoyHeld], a ld a, $0 ld [wVermilionCityCurScript], a ret diff --git a/scripts/VermilionDock.asm b/scripts/VermilionDock.asm index 2c39bdb8..d1a60988 100755 --- a/scripts/VermilionDock.asm +++ b/scripts/VermilionDock.asm @@ -57,12 +57,12 @@ VermilionDock_1db9b: ld a, $14 ; water tile call FillMemory ld a, 1 - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a call Delay3 xor a - ld [hAutoBGTransferEnabled], a + ldh [hAutoBGTransferEnabled], a ld [wSSAnneSmokeDriftAmount], a - ld [rOBP1], a + ldh [rOBP1], a ld a, 88 ld [wSSAnneSmokeX], a ld hl, wMapViewVRAMPointer @@ -104,11 +104,11 @@ VermilionDock_1db9b: dec e jr nz, .asm_1dbfa xor a - ld [rWY], a - ld [hWY], a + ldh [rWY], a + ldh [hWY], a call VermilionDock_EraseSSAnne ld a, $90 - ld [hWY], a + ldh [hWY], a ld a, $1 ld [wUpdateSpritesEnabled], a pop hl @@ -167,13 +167,13 @@ VermilionDock_1dc7c: ld h, $0 ld l, $80 .asm_1dc86 - ld a, [rLY] + ldh a, [rLY] cp l jr nz, .asm_1dc86 ld a, h - ld [rSCX], a + ldh [rSCX], a .asm_1dc8e - ld a, [rLY] + ldh a, [rLY] cp h jr z, .asm_1dc8e ret diff --git a/scripts/VermilionGym.asm b/scripts/VermilionGym.asm index 10967cbe..45b200e2 100755 --- a/scripts/VermilionGym.asm +++ b/scripts/VermilionGym.asm @@ -63,20 +63,20 @@ VermilionGymLTSurgePostBattle: VermilionGymReceiveTM24: ld a, $6 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID SetEvent EVENT_BEAT_LT_SURGE lb bc, TM_THUNDERBOLT, 1 call GiveItem jr nc, .BagFull ld a, $7 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID SetEvent EVENT_GOT_TM24 jr .gymVictory .BagFull ld a, $8 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID .gymVictory ld hl, wObtainedBadges @@ -150,14 +150,14 @@ LTSurgeText: ld hl, ReceivedThunderbadgeText ld de, ReceivedThunderbadgeText call SaveEndBattleTextPointers - ld a, [hSpriteIndex] + ldh a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters ld a, $3 ld [wGymLeaderNo], a xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a ld a, $3 ; set script index to LT Surge post-battle script ld [wVermilionGymCurScript], a ld [wCurMapScript], a diff --git a/scripts/ViridianCity.asm b/scripts/ViridianCity.asm index 2a86374e..62d98c4c 100755 --- a/scripts/ViridianCity.asm +++ b/scripts/ViridianCity.asm @@ -30,10 +30,10 @@ ViridianCityScript_1900b: cp $20 ret nz ld a, $e - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a call ViridianCityScript_190cf ld a, $3 ld [wViridianCityCurScript], a @@ -49,10 +49,10 @@ ViridianCityScript_1903d: cp $13 ret nz ld a, $5 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID xor a - ld [hJoyHeld], a + ldh [hJoyHeld], a call ViridianCityScript_190cf ld a, $3 ld [wViridianCityCurScript], a @@ -60,13 +60,13 @@ ViridianCityScript_1903d: ViridianCityScript1: ld a, [wSprite03StateData1YPixels] - ld [hSpriteScreenYCoord], a + ldh [hSpriteScreenYCoord], a ld a, [wSprite03StateData1XPixels] - ld [hSpriteScreenXCoord], a + ldh [hSpriteScreenXCoord], a ld a, [wSprite03StateData2MapY] - ld [hSpriteMapYCoord], a + ldh [hSpriteMapYCoord], a ld a, [wSprite03StateData2MapX] - ld [hSpriteMapXCoord], a + ldh [hSpriteMapXCoord], a xor a ld [wListScrollOffset], a @@ -82,20 +82,20 @@ ViridianCityScript1: ret ViridianCityScript2: - ld a, [hSpriteScreenYCoord] + ldh a, [hSpriteScreenYCoord] ld [wSprite03StateData1YPixels], a - ld a, [hSpriteScreenXCoord] + ldh a, [hSpriteScreenXCoord] ld [wSprite03StateData1XPixels], a - ld a, [hSpriteMapYCoord] + ldh a, [hSpriteMapYCoord] ld [wSprite03StateData2MapY], a - ld a, [hSpriteMapXCoord] + ldh a, [hSpriteMapXCoord] ld [wSprite03StateData2MapX], a call UpdateSprites call Delay3 xor a ld [wJoyIgnore], a ld a, $f - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID xor a ld [wBattleType], a diff --git a/scripts/ViridianGym.asm b/scripts/ViridianGym.asm index 05430332..fafc6388 100755 --- a/scripts/ViridianGym.asm +++ b/scripts/ViridianGym.asm @@ -138,20 +138,20 @@ ViridianGymScript3: ld [wJoyIgnore], a ViridianGymScript3_74995: ld a, $c - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID SetEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI lb bc, TM_FISSURE, 1 call GiveItem jr nc, .BagFull ld a, $d - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID SetEvent EVENT_GOT_TM27 jr .gymVictory .BagFull ld a, $e - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID .gymVictory ld hl, wObtainedBadges @@ -289,7 +289,7 @@ ViridianGymText1: ld hl, ViridianGymText_74ad3 ld de, ViridianGymText_74ad3 call SaveEndBattleTextPointers - ld a, [hSpriteIndex] + ldh a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/ViridianMart.asm b/scripts/ViridianMart.asm index 09ddfda9..ea1c373f 100755 --- a/scripts/ViridianMart.asm +++ b/scripts/ViridianMart.asm @@ -27,7 +27,7 @@ ViridianMart_ScriptPointers: ViridianMartScript0: call UpdateSprites ld a, $4 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID ld hl, wSimulatedJoypadStatesEnd ld de, RLEMovement1d4bb @@ -50,7 +50,7 @@ ViridianMartScript1: ret nz call Delay3 ld a, $5 - ld [hSpriteIndexOrTextID], a + ldh [hSpriteIndexOrTextID], a call DisplayTextID lb bc, OAKS_PARCEL, 1 call GiveItem diff --git a/scripts/WardensHouse.asm b/scripts/WardensHouse.asm index 474ba320..1cb68cf9 100755 --- a/scripts/WardensHouse.asm +++ b/scripts/WardensHouse.asm @@ -32,7 +32,7 @@ FuchsiaHouse2Text1: ld hl, WardenTeethText1 call PrintText ld a, GOLD_TEETH - ld [hItemToRemoveID], a + ldh [hItemToRemoveID], a callba RemoveItemByID SetEvent EVENT_GAVE_GOLD_TEETH .asm_60cba @@ -95,7 +95,7 @@ HM04NoRoomText: FuchsiaHouse2Text5: FuchsiaHouse2Text4: text_asm - ld a, [hSpriteIndex] + ldh a, [hSpriteIndex] cp $4 ld hl, FuchsiaHouse2Text_7517b jr nz, .asm_4c9a2 -- cgit v1.2.3 From f1133619526999de6ad1e0b5f36a7e69f4b8ef1f Mon Sep 17 00:00:00 2001 From: Rangi Date: Mon, 6 Jul 2020 19:50:36 -0400 Subject: Use DEX_* constants for StarterDex --- engine/events/starter_dex.asm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/engine/events/starter_dex.asm b/engine/events/starter_dex.asm index 21289c6a..7cfe9af2 100755 --- a/engine/events/starter_dex.asm +++ b/engine/events/starter_dex.asm @@ -1,9 +1,9 @@ ; this function temporarily makes the starters (and Ivysaur) seen ; so that the full Pokedex information gets displayed in Oak's lab StarterDex: - ld a, %01001011 ; set starter flags + ld a, 1 << (DEX_BULBASAUR - 1) | 1 << (DEX_IVYSAUR - 1) | 1 << (DEX_CHARMANDER - 1) | 1 << (DEX_SQUIRTLE - 1) ld [wPokedexOwned], a predef ShowPokedexData - xor a ; unset starter flags + xor a ld [wPokedexOwned], a ret -- cgit v1.2.3 From 453bb5c38e8cdd7e1ba76e9931def26c0ba0abb5 Mon Sep 17 00:00:00 2001 From: Rangi Date: Mon, 6 Jul 2020 20:35:59 -0400 Subject: Use STARTER[123] constants in TitleMons --- data/pokemon/title_mons.asm | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/data/pokemon/title_mons.asm b/data/pokemon/title_mons.asm index c5d94301..c0acd13a 100755 --- a/data/pokemon/title_mons.asm +++ b/data/pokemon/title_mons.asm @@ -1,9 +1,9 @@ TitleMons: ; mons on the title screen are randomly chosen from here IF DEF(_RED) - db CHARMANDER - db SQUIRTLE - db BULBASAUR + db STARTER1 + db STARTER2 + db STARTER3 db WEEDLE db NIDORAN_M db SCYTHER @@ -19,9 +19,9 @@ IF DEF(_RED) db MAGIKARP ENDC IF DEF(_GREEN) - db BULBASAUR - db CHARMANDER - db SQUIRTLE + db STARTER3 + db STARTER1 + db STARTER2 db CATERPIE db NIDORAN_F db PINSIR @@ -37,9 +37,9 @@ IF DEF(_GREEN) db MAGIKARP ENDC IF DEF(_BLUE) - db SQUIRTLE - db CHARMANDER - db BULBASAUR + db STARTER2 + db STARTER1 + db STARTER3 db MANKEY db HITMONLEE db VULPIX -- cgit v1.2.3 From dd08b8dd6b526cb191e921ba5a7b0b64d04d911f Mon Sep 17 00:00:00 2001 From: Rangi Date: Mon, 6 Jul 2020 21:13:17 -0400 Subject: Use labels for HRAM and VRAM --- constants.asm | 3 - constants/gfx_constants.asm | 9 + hram.asm | 526 +++++++++++++++++++++++-------------------- layout.link | 6 + scripts/RocketHideoutB2F.asm | 4 +- vram.asm | 44 ++-- wram.asm | 5 + 7 files changed, 329 insertions(+), 268 deletions(-) diff --git a/constants.asm b/constants.asm index f52af60d..3d428283 100644 --- a/constants.asm +++ b/constants.asm @@ -2,9 +2,6 @@ INCLUDE "charmap.asm" INCLUDE "macros.asm" -INCLUDE "hram.asm" -INCLUDE "vram.asm" - INCLUDE "constants/hardware_constants.asm" INCLUDE "constants/oam_constants.asm" INCLUDE "constants/misc_constants.asm" diff --git a/constants/gfx_constants.asm b/constants/gfx_constants.asm index 0cc0d98d..6446a51f 100644 --- a/constants/gfx_constants.asm +++ b/constants/gfx_constants.asm @@ -20,3 +20,12 @@ SPRITEBUFFERSIZE EQU 7 * 7 * LEN_1BPP_TILE HP_BAR_GREEN EQU 0 HP_BAR_YELLOW EQU 1 HP_BAR_RED EQU 2 + +; hAutoBGTransferEnabled +TRANSFERTOP EQU 0 +TRANSFERMIDDLE EQU 1 +TRANSFERBOTTOM EQU 2 + +; hRedrawRowOrColumnMode +REDRAW_COL EQU 1 +REDRAW_ROW EQU 2 diff --git a/hram.asm b/hram.asm index ee557050..59bf7780 100644 --- a/hram.asm +++ b/hram.asm @@ -1,370 +1,404 @@ -hDMARoutine EQU $FF80 +SECTION "HRAM", HRAM + +hDMARoutine:: ds 10 -hSoftReset EQU $FF8A ; Initialized to 16. ; Decremented each input iteration if the player ; presses the reset sequence (A+B+SEL+START). ; Soft reset when 0 is reached. +hSoftReset:: db -; base tile ID to which offsets are added -hBaseTileID EQU $FF8B - -; 3-byte BCD number -hItemPrice EQU $FF8B - -hDexWeight EQU $FF8B - -hWarpDestinationMap EQU $FF8B - -hOAMTile EQU $FF8B - -hROMBankTemp EQU $FF8B - -hPreviousTileset EQU $FF8B - -hEastWestConnectedMapWidth EQU $FF8B - -hSlideAmount EQU $FF8B +UNION +hBaseTileID:: ; base tile ID to which offsets are added +hDexWeight:: +hWarpDestinationMap:: +hOAMTile:: +hROMBankTemp:: +hPreviousTileset:: +hRLEByteValue:: + db -hRLEByteValue EQU $FF8B +hSpriteIndexOrTextID:: ; DisplayTextID's argument +hPartyMonIndex:: + db -hSpriteWidth EQU $FF8B ; in tiles -hSpriteInterlaceCounter EQU $FF8B -hSpriteHeight EQU $FF8C ; in tiles -hSpriteOffset EQU $FF8D +hVRAMSlot:: + db -; counters for blinking down arrow -hDownArrowBlinkCount1 EQU $FF8B -hDownArrowBlinkCount2 EQU $FF8C - -hSpriteDataOffset EQU $FF8B -hSpriteIndex EQU $FF8C - -hMapStride EQU $FF8B -hMapWidth EQU $FF8C +hFourTileSpriteCount:: +hHalveItemPrices:: + db -hNorthSouthConnectionStripWidth EQU $FF8B -hNorthSouthConnectedMapWidth EQU $FF8C +NEXTU +hItemPrice:: ds 3 ; BCD number -; DisplayTextID's argument -hSpriteIndexOrTextID EQU $FF8C - -hPartyMonIndex EQU $FF8C +NEXTU +hSlideAmount:: db ; the total number of tiles being shifted each time the pic slides by one tile -hSlidingRegionSize EQU $FF8C - -; 2 bytes -hEnemySpeed EQU $FF8D - -hVRAMSlot EQU $FF8D - -hFourTileSpriteCount EQU $FF8E +hSlidingRegionSize:: db ; -1 = left ; 0 = right -hSlideDirection EQU $FF8D - -hSpriteFacingDirection EQU $FF8D - -hSpriteMovementByte2 EQU $FF8D - -hSpriteImageIndex EQU $FF8D - -hLoadSpriteTemp1 EQU $FF8D -hLoadSpriteTemp2 EQU $FF8E - -hHalveItemPrices EQU $FF8E - -hSpriteOffset2 EQU $FF8F - -hOAMBufferOffset EQU $FF90 - -hSpriteScreenX EQU $FF91 -hSpriteScreenY EQU $FF92 - -hFF8F EQU $FF8F -hFF90 EQU $FF90 -hFF91 EQU $FF91 -hFF92 EQU $FF92 - -hTilePlayerStandingOn EQU $FF93 - -hSpritePriority EQU $FF94 - -; 2 bytes -hSignCoordPointer EQU $FF95 - -hNPCMovementDirections2Index EQU $FF95 - -hSwapItemID EQU $FF95 -hSwapItemQuantity EQU $FF96 - -; CalcPositionOfPlayerRelativeToNPC -hNPCSpriteOffset EQU $FF95 - -; temp value used when swapping bytes or words -hSwapTemp EQU $FF95 - -hExperience EQU $FF96 ; 3 bytes, big endian - -hMutateWY EQU $FF96 -hMutateWX EQU $FF97 - -; Multiplication and division variables are meant -; to overlap for back-to-back usage. Big endian. +hSlideDirection:: db -hMultiplicand EQU $FF96 ; 3 bytes -hMultiplier EQU $FF99 ; 1 byte -hProduct EQU $FF95 ; 4 bytes - -hDividend EQU $FF95 ; 4 bytes -hDivisor EQU $FF99 ; 1 byte -hQuotient EQU $FF95 ; 4 bytes -hRemainder EQU $FF99 ; 1 byte - -hDivideBuffer EQU $FF9A - -hMultiplyBuffer EQU $FF9B +NEXTU +hSpriteInterlaceCounter:: +hSpriteWidth:: db ; in tiles +hSpriteHeight:: db ; in tiles +hSpriteOffset:: db +NEXTU +; counters for blinking down arrow +hDownArrowBlinkCount1:: db +hDownArrowBlinkCount2:: db + +NEXTU +hMapStride:: +hEastWestConnectedMapWidth:: +hNorthSouthConnectionStripWidth:: + db +hMapWidth:: +hNorthSouthConnectedMapWidth:: + db + +NEXTU +hSpriteDataOffset:: db +hSpriteIndex:: db +hSpriteImageIndex:: +hSpriteFacingDirection:: +hSpriteMovementByte2:: + db + +NEXTU + ds 2 +hLoadSpriteTemp1:: db +hLoadSpriteTemp2:: db + +NEXTU + ds 2 +hEnemySpeed:: dw +ENDU + +UNION +hSpriteOffset2:: db +hOAMBufferOffset:: db +hSpriteScreenX:: db +hSpriteScreenY:: db + +NEXTU +hFF8F:: db +hFF90:: db +hFF91:: db +hFF92:: db +ENDU + +hTilePlayerStandingOn:: db + +hSpritePriority:: db + +UNION +;; Multiplication and division variables are meant +;; to overlap for back-to-back usage. Big endian. +UNION + ds 1 +hMultiplicand:: ds 3 +hMultiplier:: db + ds 1 +hMultiplyBuffer:: ds 4 +NEXTU +hProduct:: ds 4 +NEXTU +hDividend:: ds 4 +hDivisor:: db +hDivideBuffer:: ds 5 +NEXTU +hQuotient:: ds 4 +hRemainder:: db +ENDU + +NEXTU ; PrintNumber (big endian). -hPastLeadingZeros EQU $FF95 ; last char printed -hNumToPrint EQU $FF96 ; 3 bytes -hPowerOf10 EQU $FF99 ; 3 bytes -hSavedNumToPrint EQU $FF9C ; 3 bytes - +hPastLeadingZeros:: db ; last char printed +hNumToPrint:: ds 3 +hPowerOf10:: ds 3 +hSavedNumToPrint:: ds 3 + +NEXTU +hNPCMovementDirections2Index:: +hNPCSpriteOffset:: ; distance in steps between NPC and player -hNPCPlayerYDistance EQU $FF95 -hNPCPlayerXDistance EQU $FF96 - -hFindPathNumSteps EQU $FF97 - +hNPCPlayerYDistance:: + db +hNPCPlayerXDistance:: + db +hFindPathNumSteps:: db ; bit 0: set when the end of the path's Y coordinate matches the target's ; bit 1: set when the end of the path's X coordinate matches the target's ; When both bits are set, the end of the path is at the target's position ; (i.e. the path has been found). -hFindPathFlags EQU $FF98 - -hFindPathYProgress EQU $FF99 -hFindPathXProgress EQU $FF9A - +hFindPathFlags:: db +hFindPathYProgress:: db +hFindPathXProgress:: db ; 0 = from player to NPC ; 1 = from NPC to player -hNPCPlayerRelativePosPerspective EQU $FF9B - +hNPCPlayerRelativePosPerspective:: db + ds 1 ; bit 0: ; 0 = target is to the south or aligned ; 1 = target is to the north ; bit 1: ; 0 = target is to the east or aligned ; 1 = target is to the west -hNPCPlayerRelativePosFlags EQU $FF9D - -; some code zeroes this for no reason when writing a coin amount -hUnusedCoinsByte EQU $FF9F - -hMoney EQU $FF9F ; 3-byte BCD number -hCoins EQU $FFA0 ; 2-byte BCD number - -hDivideBCDDivisor EQU $FFA2 ; 3-byte BCD number -hDivideBCDQuotient EQU $FFA2 ; 3-byte BCD number -hDivideBCDBuffer EQU $FFA5 ; 3-byte BCD number +hNPCPlayerRelativePosFlags:: db -hSerialReceivedNewData EQU $FFA9 - -; $01 = using external clock -; $02 = using internal clock -; $ff = establishing connection -hSerialConnectionStatus EQU $FFAA +NEXTU +hSwapItemID:: db +hSwapItemQuantity:: db -hSerialIgnoringInitialData EQU $FFAB +NEXTU +hSignCoordPointer:: dw -hSerialSendData EQU $FFAC +NEXTU + ds 1 +hMutateWY:: db +hMutateWX:: db -hSerialReceiveData EQU $FFAD +NEXTU +; temp value used when swapping bytes or words +hSwapTemp:: db +hExperience:: ds 3 ; big endian +ENDU -; these values are copied to SCX, SCY, and WY during V-blank -hSCX EQU $FFAE -hSCY EQU $FFAF -hWY EQU $FFB0 +UNION +hMoney:: ds 3 ; BCD number +NEXTU +; some code zeroes this for no reason when writing a coin amount +hUnusedCoinsByte:: db +hCoins:: ds 2 ; BCD number +ENDU -hJoyLast EQU $FFB1 -hJoyReleased EQU $FFB2 -hJoyPressed EQU $FFB3 -hJoyHeld EQU $FFB4 -hJoy5 EQU $FFB5 -hJoy6 EQU $FFB6 -hJoy7 EQU $FFB7 +hDivideBCDDivisor:: +hDivideBCDQuotient:: + ds 3 ; BCD number +hDivideBCDBuffer:: + ds 3 ; BCD number -hLoadedROMBank EQU $FFB8 + ds 1 -hSavedROMBank EQU $FFB9 +hSerialReceivedNewData:: db +; $01 = using external clock +; $02 = using internal clock +; $ff = establishing connection +hSerialConnectionStatus:: db +hSerialIgnoringInitialData:: db +hSerialSendData:: db +hSerialReceiveData:: db + +; these values are copied to rSCX, rSCY, and rWY during V-blank +hSCX:: db +hSCY:: db +hWY:: db + +hJoyLast:: db +hJoyReleased:: db +hJoyPressed:: db +hJoyHeld:: db +hJoy5:: db +hJoy6:: db +hJoy7:: db + +hLoadedROMBank:: db +hSavedROMBank:: db ; is automatic background transfer during V-blank enabled? ; if nonzero, yes ; if zero, no -hAutoBGTransferEnabled EQU $FFBA - -TRANSFERTOP EQU 0 -TRANSFERMIDDLE EQU 1 -TRANSFERBOTTOM EQU 2 +hAutoBGTransferEnabled:: db ; 00 = top third of background ; 01 = middle third of background ; 02 = bottom third of background -hAutoBGTransferPortion EQU $FFBB +hAutoBGTransferPortion:: db ; the destination address of the automatic background transfer -hAutoBGTransferDest EQU $FFBC ; 2 bytes +hAutoBGTransferDest:: dw -hRedrawMapViewRowOffset EQU $FFBE +hRedrawMapViewRowOffset:: db ; temporary storage for stack pointer during memory transfers that use pop ; to increase speed -hSPTemp EQU $FFBF ; 2 bytes +hSPTemp:: dw ; source address for VBlankCopyBgMap function ; the first byte doubles as the byte that enabled the transfer. ; if it is 0, the transfer is disabled ; if it is not 0, the transfer is enabled ; this means that XX00 is not a valid source address -hVBlankCopyBGSource EQU $FFC1 ; 2 bytes +hVBlankCopyBGSource:: dw ; destination address for VBlankCopyBgMap function -hVBlankCopyBGDest EQU $FFC3 ; 2 bytes +hVBlankCopyBGDest:: dw ; number of rows for VBlankCopyBgMap to copy -hVBlankCopyBGNumRows EQU $FFC5 +hVBlankCopyBGNumRows:: db ; size of VBlankCopy transfer in 16-byte units -hVBlankCopySize EQU $FFC6 +hVBlankCopySize:: db ; source address for VBlankCopy function -hVBlankCopySource EQU $FFC7 +hVBlankCopySource:: dw ; destination address for VBlankCopy function -hVBlankCopyDest EQU $FFC9 +hVBlankCopyDest:: dw ; size of source data for VBlankCopyDouble in 8-byte units -hVBlankCopyDoubleSize EQU $FFCB +hVBlankCopyDoubleSize:: db ; source address for VBlankCopyDouble function -hVBlankCopyDoubleSource EQU $FFCC +hVBlankCopyDoubleSource:: dw ; destination address for VBlankCopyDouble function -hVBlankCopyDoubleDest EQU $FFCE +hVBlankCopyDoubleDest:: dw ; controls whether a row or column of 2x2 tile blocks is redrawn in V-blank ; 00 = no redraw ; 01 = redraw column ; 02 = redraw row -hRedrawRowOrColumnMode EQU $FFD0 - -REDRAW_COL EQU 1 -REDRAW_ROW EQU 2 +hRedrawRowOrColumnMode:: db -hRedrawRowOrColumnDest EQU $FFD1 +hRedrawRowOrColumnDest:: dw -hRandomAdd EQU $FFD3 -hRandomSub EQU $FFD4 +hRandomAdd:: db +hRandomSub:: db -hFrameCounter EQU $FFD5 ; decremented every V-blank (used for delays) +hFrameCounter:: db ; decremented every V-blank (used for delays) ; V-blank sets this to 0 each time it runs. ; So, by setting it to a nonzero value and waiting for it to become 0 again, ; you can detect that the V-blank handler has run since then. -hVBlankOccurred EQU $FFD6 +hVBlankOccurred:: db ; 00 = indoor ; 01 = cave ; 02 = outdoor ; this is often set to 00 in order to turn off water and flower BG tile animations -hTilesetType EQU $FFD7 +hTilesetType:: db -hMovingBGTilesCounter1 EQU $FFD8 +hMovingBGTilesCounter1:: db -hCurrentSpriteOffset EQU $FFDA ; multiple of $10 + ds 1 -hItemCounter EQU $FFDB +hCurrentSpriteOffset:: db ; multiple of $10 -hGymGateIndex EQU $FFDB -hGymGateAnswer EQU $FFDC +UNION +hPlayerFacing:: db +hPlayerYCoord:: db +hPlayerXCoord:: db -hGymTrashCanRandNumMask EQU $FFDB - -hDexRatingNumMonsSeen EQU $FFDB -hDexRatingNumMonsOwned EQU $FFDC +NEXTU ; $00 = bag full ; $01 = got item ; $80 = didn't meet required number of owned mons ; $FF = player cancelled -hOaksAideResult EQU $FFDB - -hSavedCoordIndex EQU $FFDB +hOaksAideResult:: +hOaksAideRequirement:: ; required number of owned mons + db +hOaksAideRewardItem:: db +hOaksAideNumMonsOwned:: db + +NEXTU +hVendingMachineItem:: db +hVendingMachinePrice:: ds 3 ; BCD number + +NEXTU +hGymGateIndex:: db +hGymGateAnswer:: db + +NEXTU +hDexRatingNumMonsSeen:: db +hDexRatingNumMonsOwned:: db + +NEXTU +hItemToRemoveID:: db +hItemToRemoveIndex:: db + +NEXTU +hItemCounter:: +hSavedCoordIndex:: +hMissableObjectIndex:: +hGymTrashCanRandNumMask:: + db + +NEXTU +hFFDB:: db +hFFDC:: db +ENDU + + ds 1 + +hBackupGymGateIndex:: +hUnlockedSilphCoDoors:: + db -hOaksAideRequirement EQU $FFDB ; required number of owned mons -hOaksAideRewardItem EQU $FFDC -hOaksAideNumMonsOwned EQU $FFDD - -hPlayerFacing EQU $FFDB -hPlayerYCoord EQU $FFDC -hPlayerXCoord EQU $FFDD - -hMissableObjectIndex EQU $FFDB - -hItemToRemoveID EQU $FFDB -hItemToRemoveIndex EQU $FFDC - -hVendingMachineItem EQU $FFDB -hVendingMachinePrice EQU $FFDC ; 3-byte BCD number - -hFFDB EQU $FFDB -hFFDC EQU $FFDC - -hBackupGymGateIndex EQU $FFE0 +; the first tile ID in a sequence of tile IDs that increase by 1 each step +hStartTileID:: db -hUnlockedSilphCoDoors EQU $FFE0 + ds 2 -; the first tile ID in a sequence of tile IDs that increase by 1 each step -hStartTileID EQU $FFE1 +hNewPartyLength:: db -hNewPartyLength EQU $FFE4 +UNION +hDividend2:: db +hDivisor2:: db +hQuotient2:: db -hIsHiddenMissableObject EQU $FFE5 +NEXTU +hIsHiddenMissableObject:: db +ENDU -hDividend2 EQU $FFE5 -hDivisor2 EQU $FFE6 -hQuotient2 EQU $FFE7 +hMapROMBank:: db -hMapROMBank EQU $FFE8 +hSpriteVRAMSlotAndFacing:: db -hSpriteVRAMSlotAndFacing EQU $FFE9 +hCoordsInFrontOfPlayerMatch:: +hSpriteAnimFrameCounter:: + db -hCoordsInFrontOfPlayerMatch EQU $FFEA +UNION +hSpriteScreenYCoord:: db +hSpriteScreenXCoord:: db +hSpriteMapYCoord:: db +hSpriteMapXCoord:: db -hSpriteAnimFrameCounter EQU $FFEA +NEXTU +hItemAlreadyFound:: db + ds 2 +hDidntFindAnyHiddenObject:: db -hSpriteScreenYCoord EQU $FFEB -hSpriteScreenXCoord EQU $FFEC -hSpriteMapYCoord EQU $FFED -hSpriteMapXCoord EQU $FFEE +NEXTU + ds 1 +hSavedMapTextPtr:: dw + ds 1 +ENDU -hItemAlreadyFound EQU $FFEB -hDidntFindAnyHiddenObject EQU $FFEE + ds 4 -hSavedMapTextPtr EQU $FFEC +hWhoseTurn:: db ; 0 on player's turn, 1 on enemy's turn -hWhoseTurn EQU $FFF3 ; 0 on player’s turn, 1 on enemy’s turn +hClearLetterPrintingDelayFlags:: db -hClearLetterPrintingDelayFlags EQU $FFF4 + ds 1 ; bit 0: draw HP fraction to the right of bar instead of below (for party menu) ; bit 1: menu is double spaced -hFlagsFFF6 EQU $FFF6 +hFlagsFFF6:: db + +hFieldMoveMonMenuTopMenuItemX:: db -hFieldMoveMonMenuTopMenuItemX EQU $FFF7 +hJoyInput:: db -hDisableJoypadPolling EQU $FFF9 +hDisableJoypadPolling:: db -hJoyInput EQU $FFF8 + ds 5 diff --git a/layout.link b/layout.link index d4473435..d56a7886 100644 --- a/layout.link +++ b/layout.link @@ -228,6 +228,9 @@ WRAM0 org $dfff "Stack" +VRAM + "VRAM" + SRAM $0 "Sprite Buffers" @@ -239,3 +242,6 @@ SRAM $2 SRAM $3 "Saved Boxes 2" + +HRAM + "HRAM" diff --git a/scripts/RocketHideoutB2F.asm b/scripts/RocketHideoutB2F.asm index 7a43e90e..95d8b0d2 100755 --- a/scripts/RocketHideoutB2F.asm +++ b/scripts/RocketHideoutB2F.asm @@ -376,7 +376,7 @@ ENDM FacilitySpinnerArrows: FACILITY_SPINNER EQU $20 * $10 -vFacilitySpinner EQU vTileset + FACILITY_SPINNER +vFacilitySpinner EQUS "vTileset + FACILITY_SPINNER" spinner SpinnerArrowAnimTiles, $00, 1, vFacilitySpinner spinner SpinnerArrowAnimTiles, $10, 1, vFacilitySpinner + $10 @@ -389,7 +389,7 @@ vFacilitySpinner EQU vTileset + FACILITY_SPINNER GymSpinnerArrows: GYM_SPINNER EQU $3c * $10 -vGymSpinner EQU vTileset + GYM_SPINNER +vGymSpinner EQUS "vTileset + GYM_SPINNER" spinner SpinnerArrowAnimTiles, $10, 1, vGymSpinner spinner SpinnerArrowAnimTiles, $30, 1, vGymSpinner + $10 diff --git a/vram.asm b/vram.asm index 05f3199e..d69d3f44 100644 --- a/vram.asm +++ b/vram.asm @@ -1,21 +1,31 @@ -vChars0 EQU $8000 -vChars1 EQU $8800 -vChars2 EQU $9000 -vBGMap0 EQU $9800 -vBGMap1 EQU $9c00 +SECTION "VRAM", VRAM -; Battle/Menu -vSprites EQU vChars0 -vFont EQU vChars1 -vFrontPic EQU vChars2 -vBackPic EQU vFrontPic + 7 * 7 * $10 +UNION +; generic +vChars0:: ds $800 +vChars1:: ds $800 +vChars2:: ds $800 +vBGMap0:: ds $400 +vBGMap1:: ds $400 -; Overworld -vNPCSprites EQU vChars0 -vNPCSprites2 EQU vChars1 -vTileset EQU vChars2 +NEXTU +; battle/menu +vSprites:: ds $800 +vFont:: ds $800 +vFrontPic:: ds 7 * 7 * $10 +vBackPic:: ds 7 * 7 * $10 -; Title -vTitleLogo EQU vChars1 -vTitleLogo2 EQU vFrontPic + 7 * 7 * $10 +NEXTU +; overworld +vNPCSprites:: ds $800 +vNPCSprites2:: ds $800 +vTileset:: ds $800 +NEXTU +; title + ds $800 +vTitleLogo:: ds $800 + ds 7 * 7 * $10 +vTitleLogo2:: ds $1e0 + +ENDU diff --git a/wram.asm b/wram.asm index c216a08c..36ea5d0b 100755 --- a/wram.asm +++ b/wram.asm @@ -3,6 +3,9 @@ INCLUDE "constants.asm" INCLUDE "macros/wram.asm" +INCLUDE "vram.asm" + + SECTION "WRAM Bank 0", WRAM0 wUnusedC000:: @@ -3112,3 +3115,5 @@ wStack:: INCLUDE "sram.asm" + +INCLUDE "hram.asm" -- cgit v1.2.3 From 77ed5f3820301f9f301f12bf2f201d9bdab9e7e1 Mon Sep 17 00:00:00 2001 From: Rangi Date: Mon, 6 Jul 2020 21:15:12 -0400 Subject: Use ASCII quotes in comments --- engine/battle/animations.asm | 2 +- engine/battle/core.asm | 4 ++-- engine/events/hidden_objects/gym_statues.asm | 2 +- scripts/PalletTown.asm | 8 ++++---- wram.asm | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index c9f53961..f19f1f4f 100755 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -425,7 +425,7 @@ ShareMoveAnimations: and a ret z - ; opponent’s turn + ; opponent's turn ld a, [wAnimationID] diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 24ae8dfc..8cb3cd0a 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -3255,14 +3255,14 @@ PrintGhostText: ldh a, [hWhoseTurn] and a jr nz, .Ghost - ld a, [wBattleMonStatus] ; player’s turn + ld a, [wBattleMonStatus] ; player's turn and SLP | (1 << FRZ) ret nz ld hl, ScaredText call PrintText xor a ret -.Ghost ; ghost’s turn +.Ghost ; ghost's turn ld hl, GetOutText call PrintText xor a diff --git a/engine/events/hidden_objects/gym_statues.asm b/engine/events/hidden_objects/gym_statues.asm index 1f592f2f..97b01a3a 100644 --- a/engine/events/hidden_objects/gym_statues.asm +++ b/engine/events/hidden_objects/gym_statues.asm @@ -1,6 +1,6 @@ GymStatues: ; if in a gym and have the corresponding badge, a = GymStatueText2_id and jp PrintPredefTextID -; if in a gym and don’t have the corresponding badge, a = GymStatueText1_id and jp PrintPredefTextID +; if in a gym and don't have the corresponding badge, a = GymStatueText1_id and jp PrintPredefTextID ; else ret call EnableAutoTextBoxDrawing ld a, [wSpritePlayerStateData1FacingDirection] diff --git a/scripts/PalletTown.asm b/scripts/PalletTown.asm index 5c4c4de8..5c26fc55 100755 --- a/scripts/PalletTown.asm +++ b/scripts/PalletTown.asm @@ -31,7 +31,7 @@ PalletTownScript0: call PlaySound ld a, BANK(Music_MeetProfOak) ld c, a - ld a, MUSIC_MEET_PROF_OAK ; “oak appears” music + ld a, MUSIC_MEET_PROF_OAK ; "oak appears" music call PlayMusic ld a, $FC ld [wJoyIgnore], a @@ -76,7 +76,7 @@ PalletTownScript2: predef CalcPositionOfPlayerRelativeToNPC ld hl, hNPCPlayerYDistance dec [hl] - predef FindPathToPlayer ; load Oak’s movement into wNPCMovementDirections2 + predef FindPathToPlayer ; load Oak's movement into wNPCMovementDirections2 ld de, wNPCMovementDirections2 ld a, 1 ; oak ldh [hSpriteIndex], a @@ -205,10 +205,10 @@ PalletTownText5: ; sign by fence text_far _PalletTownText5 text_end -PalletTownText6: ; sign by Red’s house +PalletTownText6: ; sign by Red's house text_far _PalletTownText6 text_end -PalletTownText7: ; sign by Blue’s house +PalletTownText7: ; sign by Blue's house text_far _PalletTownText7 text_end diff --git a/wram.asm b/wram.asm index 36ea5d0b..ab0d25d2 100755 --- a/wram.asm +++ b/wram.asm @@ -2295,7 +2295,7 @@ wCurrentTileBlockMapViewPointer:: ds 2 wYCoord:: -; player’s position on the current map +; player's position on the current map ds 1 wXCoord:: -- cgit v1.2.3 From 06db7ec55bbc87ed18db72a53fb20fa7b4da9b29 Mon Sep 17 00:00:00 2001 From: Rangi Date: Mon, 6 Jul 2020 21:18:22 -0400 Subject: callba/callab -> farcall/callfar; jpba/jpab -> farjp/jpfar --- engine/battle/common_text.asm | 8 ++-- engine/battle/core.asm | 58 ++++++++++++++-------------- engine/battle/effects.asm | 28 +++++++------- engine/battle/end_of_battle.asm | 2 +- engine/battle/experience.asm | 16 ++++---- engine/battle/ghost_marowak_anim.asm | 2 +- engine/battle/init_battle_variables.asm | 2 +- engine/battle/link_battle_versus_text.asm | 2 +- engine/battle/move_effects/drain_hp.asm | 2 +- engine/battle/move_effects/focus_energy.asm | 4 +- engine/battle/move_effects/leech_seed.asm | 4 +- engine/battle/move_effects/mist.asm | 4 +- engine/battle/move_effects/paralyze.asm | 12 +++--- engine/battle/move_effects/substitute.asm | 2 +- engine/battle/scroll_draw_trainer_pic.asm | 2 +- engine/battle/trainer_ai.asm | 6 +-- engine/battle/wild_encounters.asm | 4 +- engine/events/cinnabar_lab.asm | 2 +- engine/events/diploma.asm | 4 +- engine/events/evolve_trade.asm | 2 +- engine/events/give_pokemon.asm | 4 +- engine/events/hidden_objects/bookshelves.asm | 2 +- engine/events/hidden_objects/town_map.asm | 2 +- engine/events/in_game_trades.asm | 6 +-- engine/events/pokecenter.asm | 2 +- engine/events/pokedex_rating.asm | 2 +- engine/events/pokemart.asm | 4 +- engine/events/saffron_guards.asm | 2 +- engine/items/item_effects.asm | 28 +++++++------- engine/items/town_map.asm | 2 +- engine/link/cable_club.asm | 10 ++--- engine/link/cable_club_npc.asm | 4 +- engine/menus/league_pc.asm | 4 +- engine/menus/naming_screen.asm | 8 ++-- engine/menus/party_menu.asm | 6 +-- engine/menus/pc.asm | 10 ++--- engine/menus/pokedex.asm | 4 +- engine/menus/save.asm | 2 +- engine/menus/start_sub_menus.asm | 4 +- engine/movie/credits.asm | 4 +- engine/movie/intro.asm | 4 +- engine/movie/oak_speech/clear_save.asm | 2 +- engine/movie/title.asm | 8 ++-- engine/movie/trade.asm | 4 +- engine/overworld/cut.asm | 2 +- engine/overworld/dust_smoke.asm | 2 +- engine/overworld/player_state.asm | 2 +- engine/overworld/push_boulder.asm | 2 +- engine/pokemon/add_mon.asm | 4 +- engine/pokemon/bills_pc.asm | 2 +- engine/pokemon/evos_moves.asm | 2 +- engine/pokemon/learn_move.asm | 2 +- engine/pokemon/load_mon_data.asm | 2 +- engine/pokemon/status_screen.asm | 6 +-- engine/slots/game_corner_slots.asm | 2 +- home.asm | 30 +++++++------- home/move_mon.asm | 4 +- home/overworld.asm | 40 +++++++++---------- home/pokemon.asm | 6 +-- home/serial.asm | 2 +- home/start_menu.asm | 4 +- home/text_script.asm | 10 ++--- home/trainers.asm | 6 +-- home/vblank.asm | 2 +- macros/farcall.asm | 10 ++--- scripts/BikeShop.asm | 2 +- scripts/CeladonMansion3F.asm | 2 +- scripts/CeladonMartElevator.asm | 2 +- scripts/CeladonMartRoof.asm | 2 +- scripts/CeruleanCity.asm | 4 +- scripts/ChampionsRoom.asm | 2 +- scripts/CinnabarLabFossilRoom.asm | 4 +- scripts/CopycatsHouse2F.asm | 2 +- scripts/Daycare.asm | 6 +-- scripts/HallOfFame.asm | 2 +- scripts/NameRatersHouse.asm | 2 +- scripts/OaksLab.asm | 6 +-- scripts/PokemonTower2F.asm | 2 +- scripts/RocketHideoutElevator.asm | 2 +- scripts/Route22.asm | 6 +-- scripts/Route5Gate.asm | 4 +- scripts/Route6Gate.asm | 2 +- scripts/Route7Gate.asm | 2 +- scripts/Route8Gate.asm | 2 +- scripts/SSAnne2F.asm | 2 +- scripts/SilphCo7F.asm | 2 +- scripts/SilphCoElevator.asm | 2 +- scripts/VermilionDock.asm | 2 +- scripts/ViridianGym.asm | 2 +- scripts/WardensHouse.asm | 2 +- 90 files changed, 251 insertions(+), 253 deletions(-) diff --git a/engine/battle/common_text.asm b/engine/battle/common_text.asm index b65bb84b..9f6f90b6 100644 --- a/engine/battle/common_text.asm +++ b/engine/battle/common_text.asm @@ -24,7 +24,7 @@ PrintBeginningBattleText: ld hl, TrainerWantsToFightText .wildBattle push hl - callab DrawAllPokeballs + callfar DrawAllPokeballs pop hl call PrintText jr .done @@ -38,7 +38,7 @@ PrintBeginningBattleText: ld a, b and a jr z, .noSilphScope - callab LoadEnemyMonData + callfar LoadEnemyMonData jr .notPokemonTower .noSilphScope ld hl, EnemyAppearedText @@ -54,8 +54,8 @@ PrintBeginningBattleText: call PrintText ld hl, UnveiledGhostText call PrintText - callab LoadEnemyMonData - callab MarowakAnim + callfar LoadEnemyMonData + callfar MarowakAnim ld hl, WildMonAppearedText call PrintText diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 8cb3cd0a..4d999d2a 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -97,7 +97,7 @@ SlidePlayerAndEnemySilhouettesOnScreen: ld b, SET_PAL_BATTLE call RunPaletteCommand call HideSprites - jpab PrintBeginningBattleText + jpfar PrintBeginningBattleText ; when a battle is starting, silhouettes of the player's pic and the enemy's pic are slid onto the screen ; the lower of the player's pic (his body) is part of the background, but his head is a sprite @@ -178,7 +178,7 @@ StartBattle: ld hl, .outOfSafariBallsText jp PrintText .notOutOfSafariBalls - callab PrintSafariZoneBattleText + callfar PrintSafariZoneBattleText ld a, [wEnemyMonSpeed + 1] add a ld b, a ; init b (which is later compared with random value) to (enemy speed % 256) * 2 @@ -267,7 +267,7 @@ EnemyRan: call PlaySoundWaitForCurrent xor a ldh [hWhoseTurn], a - jpab AnimationSlideEnemyMonOff + jpfar AnimationSlideEnemyMonOff WildRanText: text_far _WildRanText @@ -365,7 +365,7 @@ MainInBattleLoop: jr nz, .specialMoveNotUsed ld [wPlayerSelectedMove], a .specialMoveNotUsed - callab SwitchEnemyMon + callfar SwitchEnemyMon .noLinkBattle ld a, [wPlayerSelectedMove] cp QUICK_ATTACK @@ -413,7 +413,7 @@ MainInBattleLoop: .enemyMovesFirst ld a, $1 ldh [hWhoseTurn], a - callab TrainerAI + callfar TrainerAI jr c, .AIActionUsedEnemyFirst call ExecuteEnemyMove ld a, [wEscapedFromBattle] @@ -451,7 +451,7 @@ MainInBattleLoop: call DrawHUDsAndHPBars ld a, $1 ldh [hWhoseTurn], a - callab TrainerAI + callfar TrainerAI jr c, .AIActionUsedPlayerFirst call ExecuteEnemyMove ld a, [wEscapedFromBattle] @@ -837,7 +837,7 @@ FaintEnemyPokemon: .giveExpToMonsThatFought xor a ld [wBoostExpByExpAll], a - callab GainExperience + callfar GainExperience pop af ret z ; return if no exp all @@ -855,7 +855,7 @@ FaintEnemyPokemon: jr nz, .gainExpFlagsLoop ld a, b ld [wPartyGainExpFlags], a - jpab GainExperience + jpfar GainExperience EnemyMonFaintedText: text_far _EnemyMonFaintedText @@ -893,7 +893,7 @@ ReplaceFaintedEnemyMon: ld hl, wEnemyHPBarColor ld e, $30 call GetBattleHealthBarColor - callab DrawEnemyPokeballs + callfar DrawEnemyPokeballs ld a, [wLinkState] cp LINK_STATE_BATTLING jr nz, .notLinkBattle @@ -1720,7 +1720,7 @@ LoadEnemyMonFromParty: ret SendOutMon: - callab PrintSendOutMonMessage + callfar PrintSendOutMonMessage ld hl, wEnemyMonHP ld a, [hli] or [hl] ; is enemy mon HP zero? @@ -1816,7 +1816,7 @@ DrawPlayerHUDAndHPBar: coord hl, 9, 7 lb bc, 5, 11 call ClearScreenArea - callab PlacePlayerHUDTiles + callfar PlacePlayerHUDTiles coord hl, 18, 9 ld [hl], $73 ld de, wBattleMonNick @@ -1877,7 +1877,7 @@ DrawEnemyHUDAndHPBar: coord hl, 0, 0 lb bc, 4, 12 call ClearScreenArea - callab PlaceEnemyHUDTiles + callfar PlaceEnemyHUDTiles ld de, wEnemyMonNick coord hl, 1, 0 call CenterMonName @@ -2411,7 +2411,7 @@ PartyMenuOrRockOrRun: ; fall through to SwitchPlayerMon SwitchPlayerMon: - callab RetreatMon + callfar RetreatMon ld c, 50 call DelayFrames call AnimateRetreatingPlayerMon @@ -2464,7 +2464,7 @@ MoveSelectionMenu: ld de, wMoves ld bc, NUM_MOVES call CopyData - callab FormatMovesString + callfar FormatMovesString ret .writemoves @@ -2860,7 +2860,7 @@ PrintMenuItem: ld [wWhichPokemon], a ld a, BATTLE_MON_DATA ld [wMonDataLocation], a - callab GetMaxPP + callfar GetMaxPP ld hl, wCurrentMenuItem ld c, [hl] inc [hl] @@ -2955,7 +2955,7 @@ SelectEnemyMove: ld a, [wIsInBattle] dec a jr z, .chooseRandomMove ; wild encounter - callab AIEnemyTrainerChooseMoves + callfar AIEnemyTrainerChooseMoves .chooseRandomMove push hl call BattleRandom @@ -3020,7 +3020,7 @@ LinkBattleExchangeData: ld a, b .doExchange ld [wSerialExchangeNybbleSendData], a - callab PrintWaitingText + callfar PrintWaitingText .syncLoop1 call Serial_ExchangeNybble call DelayFrame @@ -3196,7 +3196,7 @@ MirrorMoveCheck: .moveDidNotMiss call ApplyAttackToEnemyPokemon call PrintCriticalOHKOText - callab DisplayEffectiveness + callfar DisplayEffectiveness ld a, 1 ld [wMoveDidntMiss], a .notDone @@ -4988,7 +4988,7 @@ AttackSubstitute: ldh a, [hWhoseTurn] xor $01 ldh [hWhoseTurn], a - callab HideSubstituteShowMonAnim ; animate the substitute breaking + callfar HideSubstituteShowMonAnim ; animate the substitute breaking ; flip the turn back to the way it was ldh a, [hWhoseTurn] xor $01 @@ -5726,7 +5726,7 @@ EnemyCheckIfMirrorMoveEffect: .moveDidNotMiss call ApplyAttackToPlayerPokemon call PrintCriticalOHKOText - callab DisplayEffectiveness + callfar DisplayEffectiveness ld a, 1 ld [wMoveDidntMiss], a .handleExplosionMiss @@ -6254,14 +6254,14 @@ DoBattleTransitionAndInitBattleVariables: ; link battle xor a ld [wMenuJoypadPollCount], a - callab DisplayLinkBattleVersusTextBox + callfar DisplayLinkBattleVersusTextBox ld a, $1 ld [wUpdateSpritesEnabled], a call ClearScreen .next call DelayFrame predef BattleTransition - callab LoadHudAndHpBarAndStatusTilePatterns + callfar LoadHudAndHpBarAndStatusTilePatterns ld a, $1 ldh [hAutoBGTransferEnabled], a ld a, $ff @@ -6359,11 +6359,11 @@ LoadPlayerBackPic: ; does nothing since no stats are ever selected (barring glitches) DoubleOrHalveSelectedStats: - callab DoubleSelectedStats - jpab HalveSelectedStats + callfar DoubleSelectedStats + jpfar HalveSelectedStats ScrollTrainerPicAfterBattle: - jpab _ScrollTrainerPicAfterBattle + jpfar _ScrollTrainerPicAfterBattle ApplyBurnAndParalysisPenaltiesToPlayer: ld a, $1 @@ -6747,7 +6747,7 @@ DetermineWildOpponent: ld a, [wNumberOfNoRandomBattleStepsLeft] and a ret nz - callab TryDoWildEncounter + callfar TryDoWildEncounter ret nz InitBattleCommon: ld a, [wMapPalOffset] @@ -6756,13 +6756,13 @@ InitBattleCommon: ld a, [hl] push af res 1, [hl] - callab InitBattleVariables + callfar InitBattleVariables ld a, [wEnemyMonSpecies2] sub OPP_ID_OFFSET jp c, InitWildBattle ld [wTrainerClass], a call GetTrainerInformation - callab ReadTrainer + callfar ReadTrainer call DoBattleTransitionAndInitBattleVariables call _LoadTrainerPic xor a @@ -6857,7 +6857,7 @@ _InitBattleCommon: dec a ; is it a wild battle? call z, DrawEnemyHUDAndHPBar ; draw enemy HUD and HP bar if it's a wild battle call StartBattle - callab EndOfBattle + callfar EndOfBattle pop af ld [wLetterPrintingDelayFlags], a pop af diff --git a/engine/battle/effects.asm b/engine/battle/effects.asm index c3a2a213..fe050937 100644 --- a/engine/battle/effects.asm +++ b/engine/battle/effects.asm @@ -170,7 +170,7 @@ BadlyPoisonedText: text_end DrainHPEffect: - jpab DrainHPEffect_ + jpfar DrainHPEffect_ ExplodeEffect: ld hl, wBattleMonHP @@ -987,7 +987,7 @@ FlinchSideEffect: ret OneHitKOEffect: - jpab OneHitKOEffect_ + jpfar OneHitKOEffect_ ChargeEffect: ld hl, wPlayerBattleStatus1 @@ -1097,13 +1097,13 @@ TrappingEffect: ret MistEffect: - jpab MistEffect_ + jpfar MistEffect_ FocusEnergyEffect: - jpab FocusEnergyEffect_ + jpfar FocusEnergyEffect_ RecoilEffect: - jpab RecoilEffect_ + jpfar RecoilEffect_ ConfusionSideEffect: call BattleRandom @@ -1157,10 +1157,10 @@ ConfusionEffectFailed: jp ConditionalPrintButItFailed ParalyzeEffect: - jpab ParalyzeEffect_ + jpfar ParalyzeEffect_ SubstituteEffect: - jpab SubstituteEffect_ + jpfar SubstituteEffect_ HyperBeamEffect: ld hl, wPlayerBattleStatus2 @@ -1271,7 +1271,7 @@ MimicLearnedMoveText: text_end LeechSeedEffect: - jpab LeechSeedEffect_ + jpfar LeechSeedEffect_ SplashEffect: call PlayCurrentMoveAnimation @@ -1365,22 +1365,22 @@ MoveWasDisabledText: text_end PayDayEffect: - jpab PayDayEffect_ + jpfar PayDayEffect_ ConversionEffect: - jpab ConversionEffect_ + jpfar ConversionEffect_ HazeEffect: - jpab HazeEffect_ + jpfar HazeEffect_ HealEffect: - jpab HealEffect_ + jpfar HealEffect_ TransformEffect: - jpab TransformEffect_ + jpfar TransformEffect_ ReflectLightScreenEffect: - jpab ReflectLightScreenEffect_ + jpfar ReflectLightScreenEffect_ NothingHappenedText: text_far _NothingHappenedText diff --git a/engine/battle/end_of_battle.asm b/engine/battle/end_of_battle.asm index f490c34d..aa96f31d 100755 --- a/engine/battle/end_of_battle.asm +++ b/engine/battle/end_of_battle.asm @@ -10,7 +10,7 @@ EndOfBattle: ld a, [wEnemyMonStatus] ld [hl], a call ClearScreen - callab DisplayLinkBattleVersusTextBox + callfar DisplayLinkBattleVersusTextBox ld a, [wBattleResult] cp $1 ld de, YouWinText diff --git a/engine/battle/experience.asm b/engine/battle/experience.asm index 2e21d874..0eab6e08 100644 --- a/engine/battle/experience.asm +++ b/engine/battle/experience.asm @@ -117,7 +117,7 @@ GainExperience: ld [wd0b5], a call GetMonHeader ld d, MAX_LEVEL - callab CalcExperience ; get max exp + callfar CalcExperience ; get max exp ; compare max exp with current exp ldh a, [hExperience] ld b, a @@ -155,7 +155,7 @@ GainExperience: ld bc, wPartyMon1Level - wPartyMon1Exp add hl, bc push hl - callba CalcLevelFromExperience + farcall CalcLevelFromExperience pop hl ld a, [hl] ; current level cp d @@ -233,11 +233,11 @@ GainExperience: .recalcStatChanges xor a ; battle mon ld [wCalculateWhoseStats], a - callab CalculateModifiedStats - callab ApplyBurnAndParalysisPenaltiesToPlayer - callab ApplyBadgeStatBoosts - callab DrawPlayerHUDAndHPBar - callab PrintEmptyString + callfar CalculateModifiedStats + callfar ApplyBurnAndParalysisPenaltiesToPlayer + callfar ApplyBadgeStatBoosts + callfar DrawPlayerHUDAndHPBar + callfar PrintEmptyString call SaveScreenTilesToBuffer1 .printGrewLevelText ld hl, GrewLevelText @@ -246,7 +246,7 @@ GainExperience: ld [wMonDataLocation], a call LoadMonData ld d, $1 - callab PrintStatsBox + callfar PrintStatsBox call WaitForTextScrollButtonPress call LoadScreenTilesFromBuffer1 xor a ; PLAYER_PARTY_DATA diff --git a/engine/battle/ghost_marowak_anim.asm b/engine/battle/ghost_marowak_anim.asm index bef680fe..9c47fd53 100644 --- a/engine/battle/ghost_marowak_anim.asm +++ b/engine/battle/ghost_marowak_anim.asm @@ -15,7 +15,7 @@ MarowakAnim: ld [wChangeMonPicEnemyTurnSpecies], a ld a, $1 ldh [hWhoseTurn], a - callab ChangeMonPic + callfar ChangeMonPic ; alternate between black and light grey 8 times. ; this makes the ghost's body appear to flash ld d, $80 diff --git a/engine/battle/init_battle_variables.asm b/engine/battle/init_battle_variables.asm index d670319c..0d403b55 100644 --- a/engine/battle/init_battle_variables.asm +++ b/engine/battle/init_battle_variables.asm @@ -35,4 +35,4 @@ InitBattleVariables: ld a, BATTLE_TYPE_SAFARI ld [wBattleType], a .notSafariBattle - jpab PlayBattleMusic + jpfar PlayBattleMusic diff --git a/engine/battle/link_battle_versus_text.asm b/engine/battle/link_battle_versus_text.asm index 76559117..22fec0f3 100644 --- a/engine/battle/link_battle_versus_text.asm +++ b/engine/battle/link_battle_versus_text.asm @@ -18,6 +18,6 @@ DisplayLinkBattleVersusTextBox: ld [hl], $6a xor a ld [wUpdateSpritesEnabled], a - callab SetupPlayerAndEnemyPokeballs + callfar SetupPlayerAndEnemyPokeballs ld c, 150 jp DelayFrames diff --git a/engine/battle/move_effects/drain_hp.asm b/engine/battle/move_effects/drain_hp.asm index 74e5d376..e7b241f6 100644 --- a/engine/battle/move_effects/drain_hp.asm +++ b/engine/battle/move_effects/drain_hp.asm @@ -81,7 +81,7 @@ DrainHPEffect_: predef UpdateHPBar2 predef DrawPlayerHUDAndHPBar predef DrawEnemyHUDAndHPBar - callab ReadPlayerMonCurHPAndStatus + callfar ReadPlayerMonCurHPAndStatus ld hl, SuckedHealthText ldh a, [hWhoseTurn] and a diff --git a/engine/battle/move_effects/focus_energy.asm b/engine/battle/move_effects/focus_energy.asm index fd04e024..1fafe920 100644 --- a/engine/battle/move_effects/focus_energy.asm +++ b/engine/battle/move_effects/focus_energy.asm @@ -8,13 +8,13 @@ FocusEnergyEffect_: bit GETTING_PUMPED, [hl] ; is mon already using focus energy? jr nz, .alreadyUsing set GETTING_PUMPED, [hl] ; mon is now using focus energy - callab PlayCurrentMoveAnimation + callfar PlayCurrentMoveAnimation ld hl, GettingPumpedText jp PrintText .alreadyUsing ld c, 50 call DelayFrames - jpab PrintButItFailedText_ + jpfar PrintButItFailedText_ GettingPumpedText: text_pause diff --git a/engine/battle/move_effects/leech_seed.asm b/engine/battle/move_effects/leech_seed.asm index 061c0073..61bd982a 100644 --- a/engine/battle/move_effects/leech_seed.asm +++ b/engine/battle/move_effects/leech_seed.asm @@ -1,5 +1,5 @@ LeechSeedEffect_: - callab MoveHitTest + callfar MoveHitTest ld a, [wMoveMissed] and a jr nz, .moveMissed @@ -22,7 +22,7 @@ LeechSeedEffect_: bit SEEDED, [hl] jr nz, .moveMissed set SEEDED, [hl] - callab PlayCurrentMoveAnimation + callfar PlayCurrentMoveAnimation ld hl, WasSeededText jp PrintText .moveMissed diff --git a/engine/battle/move_effects/mist.asm b/engine/battle/move_effects/mist.asm index a9cb21b8..163d386f 100644 --- a/engine/battle/move_effects/mist.asm +++ b/engine/battle/move_effects/mist.asm @@ -8,11 +8,11 @@ MistEffect_: bit PROTECTED_BY_MIST, [hl] ; is mon protected by mist? jr nz, .mistAlreadyInUse set PROTECTED_BY_MIST, [hl] ; mon is now protected by mist - callab PlayCurrentMoveAnimation + callfar PlayCurrentMoveAnimation ld hl, ShroudedInMistText jp PrintText .mistAlreadyInUse - jpab PrintButItFailedText_ + jpfar PrintButItFailedText_ ShroudedInMistText: text_far _ShroudedInMistText diff --git a/engine/battle/move_effects/paralyze.asm b/engine/battle/move_effects/paralyze.asm index d828e333..dbaa0fb8 100644 --- a/engine/battle/move_effects/paralyze.asm +++ b/engine/battle/move_effects/paralyze.asm @@ -26,22 +26,22 @@ ParalyzeEffect_: jr z, .doesntAffect .hitTest push hl - callab MoveHitTest + callfar MoveHitTest pop hl ld a, [wMoveMissed] and a jr nz, .didntAffect set PAR, [hl] - callab QuarterSpeedDueToParalysis + callfar QuarterSpeedDueToParalysis ld c, 30 call DelayFrames - callab PlayCurrentMoveAnimation - jpab PrintMayNotAttackText + callfar PlayCurrentMoveAnimation + jpfar PrintMayNotAttackText .didntAffect ld c, 50 call DelayFrames - jpab PrintDidntAffectText + jpfar PrintDidntAffectText .doesntAffect ld c, 50 call DelayFrames - jpab PrintDoesntAffectText + jpfar PrintDoesntAffectText diff --git a/engine/battle/move_effects/substitute.asm b/engine/battle/move_effects/substitute.asm index eb6d0e89..860b76b6 100644 --- a/engine/battle/move_effects/substitute.asm +++ b/engine/battle/move_effects/substitute.asm @@ -55,7 +55,7 @@ SubstituteEffect_: call Bankswitch ; jump to routine depending on animation setting ld hl, SubstituteText call PrintText - jpab DrawHUDsAndHPBars + jpfar DrawHUDsAndHPBars .alreadyHasSubstitute ld hl, HasSubstituteText jr .printText diff --git a/engine/battle/scroll_draw_trainer_pic.asm b/engine/battle/scroll_draw_trainer_pic.asm index 98893dcf..978fb71a 100644 --- a/engine/battle/scroll_draw_trainer_pic.asm +++ b/engine/battle/scroll_draw_trainer_pic.asm @@ -5,7 +5,7 @@ _ScrollTrainerPicAfterBattle: ld [wEnemyMonSpecies2], a ld b, SET_PAL_BATTLE call RunPaletteCommand - callab _LoadTrainerPic + callfar _LoadTrainerPic coord hl, 19, 0 ld c, $0 .scrollLoop diff --git a/engine/battle/trainer_ai.asm b/engine/battle/trainer_ai.asm index 3e444f8b..ea476538 100644 --- a/engine/battle/trainer_ai.asm +++ b/engine/battle/trainer_ai.asm @@ -204,7 +204,7 @@ AIMoveChoiceModification3: push hl push bc push de - callab AIGetTypeEffectiveness + callfar AIGetTypeEffectiveness pop de pop bc pop hl @@ -599,7 +599,7 @@ SwitchEnemyMon: ; switching in a new mon in response to this switch. ld a, 1 ld [wFirstMonsNotOutYet], a - callab EnemySendOut + callfar EnemySendOut xor a ld [wFirstMonsNotOutYet], a @@ -713,7 +713,7 @@ AIIncreaseStat: ld a, ANIM_AF ld [hli], a ld [hl], b - callab StatModifierUpEffect + callfar StatModifierUpEffect pop hl pop af ld [hli], a diff --git a/engine/battle/wild_encounters.asm b/engine/battle/wild_encounters.asm index 9b637f97..3d0eb556 100644 --- a/engine/battle/wild_encounters.asm +++ b/engine/battle/wild_encounters.asm @@ -7,14 +7,14 @@ TryDoWildEncounter: ld a, [wd736] and a ret nz - callab IsPlayerStandingOnDoorTileOrWarpTile + callfar IsPlayerStandingOnDoorTileOrWarpTile jr nc, .notStandingOnDoorOrWarpTile .CantEncounter ld a, $1 and a ret .notStandingOnDoorOrWarpTile - callab IsPlayerJustOutsideMap + callfar IsPlayerJustOutsideMap jr z, .CantEncounter ld a, [wRepelRemainingSteps] and a diff --git a/engine/events/cinnabar_lab.asm b/engine/events/cinnabar_lab.asm index 0e0af0bb..aaa0428e 100755 --- a/engine/events/cinnabar_lab.asm +++ b/engine/events/cinnabar_lab.asm @@ -62,7 +62,7 @@ GiveFossilToCinnabarLab:: call PrintText ld a, [wFossilItem] ldh [hItemToRemoveID], a - callba RemoveItemByID + farcall RemoveItemByID ld hl, LabFossil_610b8 call PrintText SetEvents EVENT_GAVE_FOSSIL_TO_LAB, EVENT_LAB_STILL_REVIVING_FOSSIL diff --git a/engine/events/diploma.asm b/engine/events/diploma.asm index 9e9da9a5..95dabab3 100755 --- a/engine/events/diploma.asm +++ b/engine/events/diploma.asm @@ -38,7 +38,7 @@ DisplayDiploma:: coord hl, 10, 4 ld de, wPlayerName call PlaceString - callba DrawPlayerCharacter + farcall DrawPlayerCharacter ; Move the player 33 pixels right and set the priority bit so he appears ; behind the background layer. @@ -56,7 +56,7 @@ DisplayDiploma:: jr nz, .adjustPlayerGfxLoop call EnableLCD - callba LoadTrainerInfoTextBoxTiles + farcall LoadTrainerInfoTextBoxTiles ld b, SET_PAL_GENERIC call RunPaletteCommand call Delay3 diff --git a/engine/events/evolve_trade.asm b/engine/events/evolve_trade.asm index e17fc05c..56069fac 100755 --- a/engine/events/evolve_trade.asm +++ b/engine/events/evolve_trade.asm @@ -38,7 +38,7 @@ EvolveTradeMon: ld [wForceEvolution], a ld a, LINK_STATE_TRADING ld [wLinkState], a - callab TryEvolvingMon + callfar TryEvolvingMon xor a ; LINK_STATE_NONE ld [wLinkState], a jp PlayDefaultMusic diff --git a/engine/events/give_pokemon.asm b/engine/events/give_pokemon.asm index 041b9fb0..ef01ef99 100755 --- a/engine/events/give_pokemon.asm +++ b/engine/events/give_pokemon.asm @@ -15,9 +15,9 @@ _GivePokemon:: ld [wEnemyBattleStatus3], a ld a, [wcf91] ld [wEnemyMonSpecies2], a - callab LoadEnemyMonData + callfar LoadEnemyMonData call SetPokedexOwnedFlag - callab SendNewMonToBox + callfar SendNewMonToBox ld hl, wcf4b ld a, [wCurrentBoxNum] and $7f diff --git a/engine/events/hidden_objects/bookshelves.asm b/engine/events/hidden_objects/bookshelves.asm index daa8205d..23c087cc 100644 --- a/engine/events/hidden_objects/bookshelves.asm +++ b/engine/events/hidden_objects/bookshelves.asm @@ -34,6 +34,6 @@ PrintBookshelfText:: .noMatch ld a, $ff ldh [hFFDB], a - jpba PrintCardKeyText + farjp PrintCardKeyText INCLUDE "data/tilesets/bookshelf_tile_ids.asm" diff --git a/engine/events/hidden_objects/town_map.asm b/engine/events/hidden_objects/town_map.asm index 866d38c8..4284214f 100644 --- a/engine/events/hidden_objects/town_map.asm +++ b/engine/events/hidden_objects/town_map.asm @@ -12,7 +12,7 @@ TownMapText:: inc a ldh [hAutoBGTransferEnabled], a call LoadFontTilePatterns - callba DisplayTownMap + farcall DisplayTownMap ld hl, wd730 res 6, [hl] ld de, TextScriptEnd diff --git a/engine/events/in_game_trades.asm b/engine/events/in_game_trades.asm index a25abe0b..8a29d6a4 100755 --- a/engine/events/in_game_trades.asm +++ b/engine/events/in_game_trades.asm @@ -137,10 +137,10 @@ InGameTrade_DoTrade: ld [wMonDataLocation], a call AddPartyMon call InGameTrade_CopyDataToReceivedMon - callab EvolveTradeMon + callfar EvolveTradeMon call ClearScreen call InGameTrade_RestoreScreen - callba RedrawMapView + farcall RedrawMapView and a ld a, $3 jr .tradeSucceeded @@ -159,7 +159,7 @@ InGameTrade_RestoreScreen: call LoadGBPal ld c, 10 call DelayFrames - jpba LoadWildData + farjp LoadWildData InGameTrade_PrepareTradeData: ld hl, wTradedPlayerMonSpecies diff --git a/engine/events/pokecenter.asm b/engine/events/pokecenter.asm index 030c333f..97dbcd53 100755 --- a/engine/events/pokecenter.asm +++ b/engine/events/pokecenter.asm @@ -22,7 +22,7 @@ DisplayPokemonCenterDialogue_:: ld [wSprite01StateData1ImageIndex], a ; make the nurse turn to face the machine call Delay3 predef HealParty - callba AnimateHealingMachine ; do the healing machine animation + farcall AnimateHealingMachine ; do the healing machine animation xor a ld [wAudioFadeOutControl], a ld a, [wAudioSavedROMBank] diff --git a/engine/events/pokedex_rating.asm b/engine/events/pokedex_rating.asm index f17f7b17..490ae05a 100755 --- a/engine/events/pokedex_rating.asm +++ b/engine/events/pokedex_rating.asm @@ -30,7 +30,7 @@ DisplayDexRating: call PrintText pop hl call PrintText - callba PlayPokedexRatingSfx + farcall PlayPokedexRatingSfx jp WaitForTextScrollButtonPress .hallOfFame ld de, wDexRatingNumMonsSeen diff --git a/engine/events/pokemart.asm b/engine/events/pokemart.asm index 0c71e4de..3345f540 100755 --- a/engine/events/pokemart.asm +++ b/engine/events/pokemart.asm @@ -42,7 +42,7 @@ DisplayPokemartDialogue_:: ld [wPrintItemPrices], a ld a, INIT_BAG_ITEM_LIST ld [wInitListType], a - callab InitList + callfar InitList ld a, [wNumBagItems] and a @@ -126,7 +126,7 @@ DisplayPokemartDialogue_:: ld [wPrintItemPrices], a ld a, INIT_OTHER_ITEM_LIST ld [wInitListType], a - callab InitList + callfar InitList ld hl, PokemartBuyingGreetingText call PrintText diff --git a/engine/events/saffron_guards.asm b/engine/events/saffron_guards.asm index cd008394..bf30b8c5 100755 --- a/engine/events/saffron_guards.asm +++ b/engine/events/saffron_guards.asm @@ -10,6 +10,6 @@ RemoveGuardDrink:: call IsItemInBag pop hl jr z, .drinkLoop - jpba RemoveItemByID + farjp RemoveItemByID INCLUDE "data/items/guard_drink_items.asm" diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm index 3668dd74..b2901615 100755 --- a/engine/items/item_effects.asm +++ b/engine/items/item_effects.asm @@ -147,7 +147,7 @@ ItemUseBall: ; If the player is fighting an unidentified ghost, set the value that indicates ; the Pokémon can't be caught and skip the capture calculations. - callab IsGhostBattle + callfar IsGhostBattle ld b, $10 ; can't be caught value jp z, .setAnimData @@ -495,7 +495,7 @@ ItemUseBall: ld [wcf91], a ld a, [wEnemyMonLevel] ld [wCurEnemyLVL], a - callab LoadEnemyMonData + callfar LoadEnemyMonData pop af ld [wcf91], a pop hl @@ -632,7 +632,7 @@ ItemUseTownMap: ld a, [wIsInBattle] and a jp nz, ItemUseNotTime - jpba DisplayTownMap + farjp DisplayTownMap ItemUseBicycle: ld a, [wIsInBattle] @@ -778,7 +778,7 @@ ItemUseEvoStone: ld a, SFX_HEAL_AILMENT call PlaySoundWaitForCurrent call WaitForSoundToFinish - callab TryEvolvingMon ; try to evolve pokemon + callfar TryEvolvingMon ; try to evolve pokemon ld a, [wEvolutionOccurred] and a jr z, .noEffect @@ -1341,7 +1341,7 @@ ItemUseMedicine: push hl push de ld d, a - callab CalcExperience ; calculate experience for next level and store it at hExperience + callfar CalcExperience ; calculate experience for next level and store it at hExperience pop de pop hl ld bc, wPartyMon1Exp - wPartyMon1Level @@ -1400,14 +1400,14 @@ ItemUseMedicine: ld [wMonDataLocation], a call LoadMonData ld d, $01 - callab PrintStatsBox ; display new stats text box + callfar PrintStatsBox ; display new stats text box call WaitForTextScrollButtonPress ; wait for button press xor a ; PLAYER_PARTY_DATA ld [wMonDataLocation], a predef LearnMoveFromLevelUp ; learn level up move, if any xor a ld [wForceEvolution], a - callab TryEvolvingMon ; evolve pokemon, if appropriate + callfar TryEvolvingMon ; evolve pokemon, if appropriate ld a, $01 ld [wUpdateSpritesEnabled], a pop af @@ -1699,7 +1699,7 @@ ItemUseXStat: call Delay3 xor a ldh [hWhoseTurn], a ; set turn to player's turn - callba StatModifierUpEffect ; do stat increase move + farcall StatModifierUpEffect ; do stat increase move pop hl pop af ld [hld], a ; restore [wPlayerMoveEffect] @@ -1775,7 +1775,7 @@ ItemUsePokeflute: and $80 jr nz, .skipMusic call WaitForSoundToFinish ; wait for sound to end - callba Music_PokeFluteInBattle ; play in-battle pokeflute music + farcall Music_PokeFluteInBattle ; play in-battle pokeflute music .musicWaitLoop ; wait for music to finish playing ld a, [wChannelSoundIDs + Ch7] and a ; music off? @@ -1927,7 +1927,7 @@ RodResponse: push af push hl ld [hl], 0 - callba FishingAnim + farcall FishingAnim pop hl pop af ld [hl], a @@ -1968,7 +1968,7 @@ ItemUseItemfinder: and a jp nz, ItemUseNotTime call ItemUseReloadOverworldData - callba HiddenItemNear ; check for hidden items + farcall HiddenItemNear ; check for hidden items ld hl, ItemfinderFoundNothingText jr nc, .printText ; if no hidden items ld c, 4 @@ -2024,7 +2024,7 @@ ItemUsePPRestore: call PrintText xor a ld [wPlayerMoveListIndex], a - callab MoveSelectionMenu ; move selection menu + callfar MoveSelectionMenu ; move selection menu ld a, 0 ld [wPlayerMoveListIndex], a jr nz, .chooseMon @@ -2278,7 +2278,7 @@ ItemUseTMHM: call PrintText jr .chooseMon .checkIfAlreadyLearnedMove - callab CheckIfMoveIsKnown ; check if the pokemon already knows the move + callfar CheckIfMoveIsKnown ; check if the pokemon already knows the move jr c, .chooseMon predef LearnMove ; teach move pop af @@ -2820,7 +2820,7 @@ SendNewMonToBox: push de ld a, [wCurEnemyLVL] ld d, a - callab CalcExperience + callfar CalcExperience pop de ldh a, [hExperience] ld [de], a diff --git a/engine/items/town_map.asm b/engine/items/town_map.asm index 3f6d4fa5..3cff630b 100755 --- a/engine/items/town_map.asm +++ b/engine/items/town_map.asm @@ -366,7 +366,7 @@ DrawPlayerOrBirdSprite: jp CopyData DisplayWildLocations: - callba FindWildLocationsOfMon + farcall FindWildLocationsOfMon call ZeroOutDuplicatesInList ld hl, wOAMBuffer ld de, wTownMapCoords diff --git a/engine/link/cable_club.asm b/engine/link/cable_club.asm index abb88cc0..03e1c50a 100755 --- a/engine/link/cable_club.asm +++ b/engine/link/cable_club.asm @@ -359,7 +359,7 @@ TradeCenter_SelectMon: .displayEnemyMonStats ld a, INIT_ENEMYOT_LIST ld [wInitListType], a - callab InitList ; the list isn't used + callfar InitList ; the list isn't used ld hl, wEnemyMons call TradeCenter_DisplayStats jp .getNewInput @@ -418,7 +418,7 @@ TradeCenter_SelectMon: ; unreachable code ld a, INIT_PLAYEROT_LIST ld [wInitListType], a - callab InitList ; the list isn't used + callfar InitList ; the list isn't used call TradeCenter_DisplayStats jp .getNewInput .playerMonMenu_ANotPressed @@ -513,7 +513,7 @@ TradeCenter_SelectMon: ld [wCurrentMenuItem], a ld a, INIT_PLAYEROT_LIST ld [wInitListType], a - callab InitList ; the list isn't used + callfar InitList ; the list isn't used call TradeCenter_DisplayStats call LoadScreenTilesFromBuffer1 jp .playerMonMenu @@ -588,7 +588,7 @@ ReturnToCableClubRoom: dec a ld [wDestinationWarpID], a call LoadMapData - callba ClearVariablesOnEnterMap + farcall ClearVariablesOnEnterMap pop hl pop af ld [hl], a @@ -845,7 +845,7 @@ TradeCenter_Trade: .usingExternalClock predef ExternalClockTradeAnim .tradeCompleted - callab TryEvolvingMon + callfar TryEvolvingMon call ClearScreen call LoadTrainerInfoTextBoxTiles call Serial_PrintWaitingTextAndSyncAndExchangeNybble diff --git a/engine/link/cable_club_npc.asm b/engine/link/cable_club_npc.asm index 16c62f9e..594adf08 100755 --- a/engine/link/cable_club_npc.asm +++ b/engine/link/cable_club_npc.asm @@ -54,7 +54,7 @@ CableClubNPC:: ld a, [wCurrentMenuItem] and a jr nz, .choseNo - callab SaveSAVtoSRAM + callfar SaveSAVtoSRAM call WaitForSoundToFinish ld a, SFX_SAVE call PlaySoundWaitForCurrent @@ -107,7 +107,7 @@ CableClubNPC:: xor a ld [hld], a ld [hl], a - jpab LinkMenu + jpfar LinkMenu CableClubNPCAreaReservedFor2FriendsLinkedByCableText: text_far _CableClubNPCAreaReservedFor2FriendsLinkedByCableText diff --git a/engine/menus/league_pc.asm b/engine/menus/league_pc.asm index 7bf0458d..d930e42f 100755 --- a/engine/menus/league_pc.asm +++ b/engine/menus/league_pc.asm @@ -29,7 +29,7 @@ PKMNLeaguePC: push bc ld a, [wHoFTeamIndex2] ld [wHoFTeamIndex], a - callba LoadHallOfFameTeams + farcall LoadHallOfFameTeams call LeaguePCShowTeam pop bc jr c, .doneShowingTeams @@ -110,7 +110,7 @@ LeaguePCShowMon: ld de, wHoFTeamNo lb bc, 1, 3 call PrintNumber - jpba HoFDisplayMonInfo + farjp HoFDisplayMonInfo HallOfFameNoText: db "HALL OF FAME No @" diff --git a/engine/menus/naming_screen.asm b/engine/menus/naming_screen.asm index 170e778a..e6886c98 100755 --- a/engine/menus/naming_screen.asm +++ b/engine/menus/naming_screen.asm @@ -92,7 +92,7 @@ DisplayNamingScreen: call RunPaletteCommand call LoadHpBarAndStatusTilePatterns call LoadEDTile - callba LoadMonPartySpriteGfx + farcall LoadMonPartySpriteGfx coord hl, 0, 4 ld b, 9 ld c, 18 @@ -128,7 +128,7 @@ DisplayNamingScreen: .inputLoop ld a, [wCurrentMenuItem] push af - callba AnimatePartyMon_ForceSpeed1 + farcall AnimatePartyMon_ForceSpeed1 pop af ld [wCurrentMenuItem], a call JoypadLowSensitivity @@ -172,7 +172,7 @@ DisplayNamingScreen: ld a, [wIsInBattle] and a jp z, LoadTextBoxTilePatterns - jpab LoadHudTilePatterns + jpfar LoadHudTilePatterns .namingScreenButtonFunctions dw .dPadReturnPoint @@ -461,7 +461,7 @@ PrintNamingText: ld a, [wcf91] ld [wMonPartySpriteSpecies], a push af - callba WriteMonPartySpriteOAMBySpecies + farcall WriteMonPartySpriteOAMBySpecies pop af ld [wd11e], a call GetMonName diff --git a/engine/menus/party_menu.asm b/engine/menus/party_menu.asm index f46b3994..4eeb0ed8 100755 --- a/engine/menus/party_menu.asm +++ b/engine/menus/party_menu.asm @@ -22,14 +22,14 @@ DrawPartyMenu_:: ldh [hAutoBGTransferEnabled], a call ClearScreen call UpdateSprites - callba LoadMonPartySpriteGfxWithLCDDisabled ; load pokemon icon graphics + farcall LoadMonPartySpriteGfxWithLCDDisabled ; load pokemon icon graphics RedrawPartyMenu_:: ld a, [wPartyMenuTypeOrMessageID] cp SWAP_MONS_PARTY_MENU jp z, .printMessage call ErasePartyMenuCursors - callba InitPartyMenuBlkPacket + farcall InitPartyMenuBlkPacket coord hl, 3, 0 ld de, wPartySpecies xor a @@ -49,7 +49,7 @@ RedrawPartyMenu_:: call GetPartyMonName pop hl call PlaceString ; print the pokemon's name - callba WriteMonPartySpriteOAMByPartyIndex ; place the appropriate pokemon icon + farcall WriteMonPartySpriteOAMByPartyIndex ; place the appropriate pokemon icon ldh a, [hPartyMonIndex] ld [wWhichPokemon], a inc a diff --git a/engine/menus/pc.asm b/engine/menus/pc.asm index 1006cbbe..4c340e7b 100755 --- a/engine/menus/pc.asm +++ b/engine/menus/pc.asm @@ -10,7 +10,7 @@ ActivatePC:: call LoadScreenTilesFromBuffer2 call Delay3 PCMainMenu: - callba DisplayPCMainMenu + farcall DisplayPCMainMenu ld hl, wFlags_0xcd60 set 5, [hl] call HandleMenuInput @@ -56,19 +56,19 @@ PCMainMenu: call WaitForSoundToFinish ld hl, AccessedMyPCText call PrintText - callba PlayerPC + farcall PlayerPC jr ReloadMainMenu OaksPC: ld a, SFX_ENTER_PC call PlaySound call WaitForSoundToFinish - callba OpenOaksPC + farcall OpenOaksPC jr ReloadMainMenu PKMNLeague: ld a, SFX_ENTER_PC call PlaySound call WaitForSoundToFinish - callba PKMNLeaguePC + farcall PKMNLeaguePC jr ReloadMainMenu BillsPC: ld a, SFX_ENTER_PC @@ -82,7 +82,7 @@ BillsPC: ld hl, AccessedBillsPCText .printText call PrintText - callba BillsPC_ + farcall BillsPC_ ReloadMainMenu: xor a ld [wDoNotWaitForButtonPressAfterDisplayingText], a diff --git a/engine/menus/pokedex.asm b/engine/menus/pokedex.asm index d0ef3e31..a2a55bfd 100755 --- a/engine/menus/pokedex.asm +++ b/engine/menus/pokedex.asm @@ -14,7 +14,7 @@ ShowPokedexMenu: .setUpGraphics ld b, SET_PAL_GENERIC call RunPaletteCommand - callab LoadPokedexTilePatterns + callfar LoadPokedexTilePatterns .doPokemonListMenu ld hl, wTopMenuItemY ld a, 3 @@ -393,7 +393,7 @@ ShowPokedexData: call GBPalWhiteOutWithDelay3 call ClearScreen call UpdateSprites - callab LoadPokedexTilePatterns ; load pokedex tiles + callfar LoadPokedexTilePatterns ; load pokedex tiles ; function to display pokedex data from inside the pokedex ShowPokedexDataInternal: diff --git a/engine/menus/save.asm b/engine/menus/save.asm index 34fa9142..2941a07e 100755 --- a/engine/menus/save.asm +++ b/engine/menus/save.asm @@ -138,7 +138,7 @@ LoadSAVIgnoreBadCheckSum: jp LoadSAV2 SaveSAV: - callba PrintSaveScreenText + farcall PrintSaveScreenText ld hl, WouldYouLikeToSaveText call SaveSAVConfirm and a ;|0 = Yes|1 = No| diff --git a/engine/menus/start_sub_menus.asm b/engine/menus/start_sub_menus.asm index acc6bda8..33d504b8 100755 --- a/engine/menus/start_sub_menus.asm +++ b/engine/menus/start_sub_menus.asm @@ -160,7 +160,7 @@ StartMenu_Pokemon:: .surf bit 4, a ; does the player have the Soul Badge? jp z, .newBadgeRequired - callba IsSurfingAllowed + farcall IsSurfingAllowed ld hl, wd728 bit 1, [hl] res 1, [hl] @@ -651,7 +651,7 @@ StartMenu_Option:: ldh [hAutoBGTransferEnabled], a call ClearScreen call UpdateSprites - callab DisplayOptionMenu + callfar DisplayOptionMenu call LoadScreenTilesFromBuffer2 ; restore saved screen call LoadTextBoxTilePatterns call UpdateSprites diff --git a/engine/movie/credits.asm b/engine/movie/credits.asm index caf62852..42b8e0cc 100755 --- a/engine/movie/credits.asm +++ b/engine/movie/credits.asm @@ -1,5 +1,5 @@ HallOfFamePC: - callba AnimateHallOfFame + farcall AnimateHallOfFame call ClearScreen ld c, 100 call DelayFrames @@ -235,7 +235,7 @@ Credits: jr .nextCreditsScreen .showCopyrightText push de - callba LoadCopyrightTiles + farcall LoadCopyrightTiles pop de pop de jr .nextCreditsCommand diff --git a/engine/movie/intro.asm b/engine/movie/intro.asm index 1aba3408..08b6ed8b 100755 --- a/engine/movie/intro.asm +++ b/engine/movie/intro.asm @@ -311,7 +311,7 @@ LoadIntroGraphics: PlayShootingStar: ld b, SET_PAL_GAME_FREAK_INTRO call RunPaletteCommand - callba LoadCopyrightAndTextBoxTiles + farcall LoadCopyrightAndTextBoxTiles ldPal a, BLACK, DARK_GRAY, LIGHT_GRAY, WHITE ldh [rBGP], a ld c, 180 @@ -328,7 +328,7 @@ PlayShootingStar: set 3, [hl] ld c, 64 call DelayFrames - callba AnimateShootingStar + farcall AnimateShootingStar push af pop af jr c, .next ; skip the delay if the user interrupted the animation diff --git a/engine/movie/oak_speech/clear_save.asm b/engine/movie/oak_speech/clear_save.asm index b214ec32..c423fb0b 100755 --- a/engine/movie/oak_speech/clear_save.asm +++ b/engine/movie/oak_speech/clear_save.asm @@ -15,7 +15,7 @@ DoClearSaveDialogue: ld a, [wCurrentMenuItem] and a jp z, Init - callba ClearSAV + farcall ClearSAV jp Init ClearSaveDataText: diff --git a/engine/movie/title.asm b/engine/movie/title.asm index 62eb37d0..efdf2f07 100755 --- a/engine/movie/title.asm +++ b/engine/movie/title.asm @@ -226,7 +226,7 @@ ENDC ld c, 1 call CheckForUserInterruption jr c, .finishedWaiting - callba TitleScreenAnimateBallIfStarterOut + farcall TitleScreenAnimateBallIfStarterOut call TitleScreenPickNewMon jr .awaitUserInterruptionLoop @@ -255,7 +255,7 @@ ENDC jp MainMenu .doClearSaveDialogue - jpba DoClearSaveDialogue + farjp DoClearSaveDialogue TitleScreenPickNewMon: ld a, vBGMap0 / $100 @@ -282,12 +282,12 @@ TitleScreenPickNewMon: ld a, $90 ldh [hWY], a ld d, 1 ; scroll out - callba TitleScroll + farcall TitleScroll ret TitleScreenScrollInMon: ld d, 0 ; scroll in - callba TitleScroll + farcall TitleScroll xor a ldh [hWY], a ret diff --git a/engine/movie/trade.asm b/engine/movie/trade.asm index c8005b93..518742aa 100755 --- a/engine/movie/trade.asm +++ b/engine/movie/trade.asm @@ -199,7 +199,7 @@ LoadTradingGFXAndMonNames: Trade_LoadMonPartySpriteGfx: ld a, %11010000 ldh [rOBP1], a - jpba LoadMonPartySpriteGfx + farjp LoadMonPartySpriteGfx Trade_SwapNames: ld hl, wPlayerName @@ -615,7 +615,7 @@ Trade_AnimCircledMon: ret Trade_WriteCircledMonOAM: - callba WriteMonPartySpriteOAMBySpecies + farcall WriteMonPartySpriteOAMBySpecies call Trade_WriteCircleOAM Trade_AddOffsetsToOAMCoords: diff --git a/engine/overworld/cut.asm b/engine/overworld/cut.asm index fc5fb578..97842079 100755 --- a/engine/overworld/cut.asm +++ b/engine/overworld/cut.asm @@ -57,7 +57,7 @@ UsedCut: ld de, CutTreeBlockSwaps call ReplaceTreeTileBlock call RedrawMapView - callba AnimCut + farcall AnimCut ld a, $1 ld [wUpdateSpritesEnabled], a ld a, SFX_CUT diff --git a/engine/overworld/dust_smoke.asm b/engine/overworld/dust_smoke.asm index 3d87e25a..09a71a18 100755 --- a/engine/overworld/dust_smoke.asm +++ b/engine/overworld/dust_smoke.asm @@ -8,7 +8,7 @@ AnimateBoulderDust: ld a, %11100100 ldh [rOBP1], a call LoadSmokeTileFourTimes - callba WriteCutOrBoulderDustAnimationOAMBlock + farcall WriteCutOrBoulderDustAnimationOAMBlock ld c, 8 ; number of steps in animation .loop push bc diff --git a/engine/overworld/player_state.asm b/engine/overworld/player_state.asm index f2e74683..39c8f756 100644 --- a/engine/overworld/player_state.asm +++ b/engine/overworld/player_state.asm @@ -192,7 +192,7 @@ IsPlayerStandingOnDoorTileOrWarpTile:: push hl push de push bc - callba IsPlayerStandingOnDoorTile + farcall IsPlayerStandingOnDoorTile jr c, .done ld a, [wCurMapTileset] add a diff --git a/engine/overworld/push_boulder.asm b/engine/overworld/push_boulder.asm index fb4d06aa..4cef8b64 100644 --- a/engine/overworld/push_boulder.asm +++ b/engine/overworld/push_boulder.asm @@ -86,7 +86,7 @@ DoBoulderDustAnimation:: ld a, [wd730] bit 0, a ret nz - callab AnimateBoulderDust + callfar AnimateBoulderDust call DiscardButtonPresses ld [wJoyIgnore], a call ResetBoulderPushFlags diff --git a/engine/pokemon/add_mon.asm b/engine/pokemon/add_mon.asm index eeef40b0..0c72ff5b 100644 --- a/engine/pokemon/add_mon.asm +++ b/engine/pokemon/add_mon.asm @@ -201,7 +201,7 @@ _AddPartyMon:: push de ld a, [wCurEnemyLVL] ld d, a - callab CalcExperience + callfar CalcExperience pop de inc de ldh a, [hExperience] ; write experience @@ -498,7 +498,7 @@ _MoveMon:: add $2 ld [wMonDataLocation], a call LoadMonData - callba CalcLevelFromExperience + farcall CalcLevelFromExperience ld a, d ld [wCurEnemyLVL], a pop hl diff --git a/engine/pokemon/bills_pc.asm b/engine/pokemon/bills_pc.asm index 80739de4..0a760a27 100644 --- a/engine/pokemon/bills_pc.asm +++ b/engine/pokemon/bills_pc.asm @@ -318,7 +318,7 @@ BillsPCRelease: jp BillsPCMenu BillsPCChangeBox: - callba ChangeBox + farcall ChangeBox jp BillsPCMenu DisplayMonListMenu: diff --git a/engine/pokemon/evos_moves.asm b/engine/pokemon/evos_moves.asm index c54bf7c7..564a8557 100755 --- a/engine/pokemon/evos_moves.asm +++ b/engine/pokemon/evos_moves.asm @@ -129,7 +129,7 @@ Evolution_PartyMonLoop: ; loop over party mons ld a, $ff ld [wUpdateSpritesEnabled], a call ClearSprites - callab EvolveMon + callfar EvolveMon jp c, CancelledEvolution ld hl, EvolvedText call PrintText diff --git a/engine/pokemon/learn_move.asm b/engine/pokemon/learn_move.asm index 510300cd..e7b907d5 100755 --- a/engine/pokemon/learn_move.asm +++ b/engine/pokemon/learn_move.asm @@ -114,7 +114,7 @@ TryingToLearn: ld de, wMoves ld bc, NUM_MOVES call CopyData - callab FormatMovesString + callfar FormatMovesString pop hl .loop push hl diff --git a/engine/pokemon/load_mon_data.asm b/engine/pokemon/load_mon_data.asm index 480ab1ca..c5e2041a 100644 --- a/engine/pokemon/load_mon_data.asm +++ b/engine/pokemon/load_mon_data.asm @@ -15,7 +15,7 @@ LoadMonData_:: ld a, [wWhichPokemon] ld e, a - callab GetMonSpecies + callfar GetMonSpecies .GetMonHeader ld a, [wcf91] diff --git a/engine/pokemon/status_screen.asm b/engine/pokemon/status_screen.asm index e46adae4..c2abeedd 100755 --- a/engine/pokemon/status_screen.asm +++ b/engine/pokemon/status_screen.asm @@ -310,7 +310,7 @@ StatusScreen2: ld de, wMoves ld bc, NUM_MOVES call CopyData - callab FormatMovesString + callfar FormatMovesString coord hl, 9, 2 lb bc, 5, 10 call ClearScreenArea ; Clear under name @@ -356,7 +356,7 @@ StatusScreen2: ld a, b ld [hl], a push hl - callab GetMaxPP + callfar GetMaxPP pop hl pop af ld [hl], a @@ -445,7 +445,7 @@ CalcExpToLevelUp: jr z, .atMaxLevel inc a ld d, a - callab CalcExperience + callfar CalcExperience ld hl, wLoadedMonExp + 2 ldh a, [hExperience + 2] sub [hl] diff --git a/engine/slots/game_corner_slots.asm b/engine/slots/game_corner_slots.asm index 797c381c..c233b0e6 100755 --- a/engine/slots/game_corner_slots.asm +++ b/engine/slots/game_corner_slots.asm @@ -6,7 +6,7 @@ StartSlotMachine: jr z, .printOutToLunch cp $ff jr z, .printSomeonesKeys - callba AbleToPlaySlotsCheck + farcall AbleToPlaySlotsCheck ld a, [wCanPlaySlots] and a ret z diff --git a/home.asm b/home.asm index 779a2e0c..62594b43 100644 --- a/home.asm +++ b/home.asm @@ -206,7 +206,7 @@ CountSetBits:: ; subtracts the amount the player paid from their money ; OUTPUT: carry = 0(success) or 1(fail because there is not enough money) SubtractAmountPaidFromMoney:: - jpba SubtractAmountPaidFromMoney_ + farjp SubtractAmountPaidFromMoney_ ; adds the amount the player sold to their money AddAmountSoldToMoney:: @@ -296,7 +296,7 @@ ReloadTilesetTilePatterns:: ChooseFlyDestination:: ld hl, wd72e res 4, [hl] - jpba LoadTownMap_Fly + farjp LoadTownMap_Fly ; causes the text box to close without waiting for a button press after displaying text DisableWaitingAfterTextDisplay:: @@ -314,7 +314,7 @@ DisableWaitingAfterTextDisplay:: ; 01: successful ; 02: not able to be used right now, no extra menu displayed (only certain items use this) UseItem:: - jpba UseItem_ + farjp UseItem_ ; confirms the item toss and then tosses the item ; INPUT: @@ -348,7 +348,7 @@ IsKeyItem:: push hl push de push bc - callba IsKeyItem_ + farcall IsKeyItem_ pop bc pop de pop hl @@ -418,10 +418,10 @@ RunNPCMovementScript:: dw PewterMuseumGuyMovementScriptPointerTable dw PewterGymGuyMovementScriptPointerTable .playerStepOutFromDoor - jpba PlayerStepOutFromDoor + farjp PlayerStepOutFromDoor EndNPCMovementScript:: - jpba _EndNPCMovementScript + farjp _EndNPCMovementScript EmptyFunc2:: ret @@ -502,7 +502,7 @@ IsItemInBag:: DisplayPokedex:: ld [wd11e], a - jpba _DisplayPokedex + farjp _DisplayPokedex SetSpriteFacingDirectionAndDelay:: call SetSpriteFacingDirection @@ -711,7 +711,7 @@ GetTrainerInformation:: ret GetTrainerName:: - jpba GetTrainerName_ + farjp GetTrainerName_ HasEnoughMoney:: ; Check if the player has at least as much @@ -1107,7 +1107,7 @@ ManualTextScroll:: Multiply:: push hl push bc - callab _Multiply + callfar _Multiply pop bc pop hl ret @@ -1296,7 +1296,7 @@ HandleMenuInput_:: ld a, [wPartyMenuAnimMonEnabled] and a ; is it a pokemon selection menu? jr z, .getJoypadState - callba AnimatePartyMon ; shake mini sprite of selected pokemon + farcall AnimatePartyMon ; shake mini sprite of selected pokemon .getJoypadState pop hl call JoypadLowSensitivity @@ -1687,7 +1687,7 @@ ReloadMapSpriteTilePatterns:: xor a ld [wSpriteSetID], a call DisableLCD - callba InitMapSprites + farcall InitMapSprites call EnableLCD pop hl pop af @@ -1721,7 +1721,7 @@ GivePokemon:: ld [wCurEnemyLVL], a xor a ; PLAYER_PARTY_DATA ld [wMonDataLocation], a - jpba _GivePokemon + farjp _GivePokemon Random:: ; Return a random number in a. @@ -1729,7 +1729,7 @@ Random:: push hl push de push bc - callba Random_ + farcall Random_ ldh a, [hRandomAdd] pop bc pop de @@ -1739,7 +1739,7 @@ Random:: INCLUDE "home/predef.asm" UpdateCinnabarGymGateTileBlocks:: - jpba UpdateCinnabarGymGateTileBlocks_ + farjp UpdateCinnabarGymGateTileBlocks_ CheckForHiddenObjectOrBookshelfOrCardKeyDoor:: ldh a, [hLoadedROMBank] @@ -1765,7 +1765,7 @@ CheckForHiddenObjectOrBookshelfOrCardKeyDoor:: xor a jr .done .hiddenObjectNotFound - callba PrintBookshelfText + farcall PrintBookshelfText ldh a, [hFFDB] and a jr z, .done diff --git a/home/move_mon.asm b/home/move_mon.asm index 7be8eaf5..9fe7b067 100644 --- a/home/move_mon.asm +++ b/home/move_mon.asm @@ -3,13 +3,13 @@ ; [wRemoveMonFromBox] == 0 specifies the party. ; [wRemoveMonFromBox] != 0 specifies the current box. RemovePokemon:: - jpab _RemovePokemon + jpfar _RemovePokemon AddPartyMon:: push hl push de push bc - callba _AddPartyMon + farcall _AddPartyMon pop bc pop de pop hl diff --git a/home/overworld.asm b/home/overworld.asm index 18c7977e..557efa2d 100644 --- a/home/overworld.asm +++ b/home/overworld.asm @@ -1,14 +1,14 @@ HandleMidJump:: ; Handle the player jumping down ; a ledge in the overworld. - jpba _HandleMidJump + farjp _HandleMidJump EnterMap:: ; Load a new map. ld a, $ff ld [wJoyIgnore], a call LoadMapData - callba ClearVariablesOnEnterMap + farcall ClearVariablesOnEnterMap ld hl, wd72c bit 0, [hl] ; has the player already made 3 steps since the last battle? jr z, .skipGivingThreeStepsOfNoRandomBattles @@ -25,10 +25,10 @@ EnterMap:: and 1 << 4 | 1 << 3 ; fly warp or dungeon warp jr z, .didNotEnterUsingFlyWarpOrDungeonWarp res 3, [hl] - callba EnterMapAnim + farcall EnterMapAnim call UpdateSprites .didNotEnterUsingFlyWarpOrDungeonWarp - callba CheckForceBikeOrSurf ; handle currents in SF islands and forced bike riding in cycling road + farcall CheckForceBikeOrSurf ; handle currents in SF islands and forced bike riding in cycling road ld hl, wd72d res 5, [hl] call UpdateSprites @@ -50,7 +50,7 @@ OverworldLoopLessDelay:: and a jp nz, .moveAhead ; if the player sprite has not yet completed the walking animation call JoypadOverworld ; get joypad state (which is possibly simulated) - callba SafariZoneCheck + farcall SafariZoneCheck ld a, [wSafariZoneGameOver] and a jp nz, WarpFound2 @@ -269,7 +269,7 @@ OverworldLoopLessDelay:: ld a, [wd736] bit 7, a jr z, .noSpinning - callba LoadSpinnerArrowTiles + farcall LoadSpinnerArrowTiles .noSpinning call UpdateSprites @@ -306,7 +306,7 @@ OverworldLoopLessDelay:: .doneStepCounting CheckEvent EVENT_IN_SAFARI_ZONE jr z, .notSafariZone - callba SafariZoneCheckSteps + farcall SafariZoneCheckSteps ld a, [wSafariZoneGameOver] and a jp nz, WarpFound2 @@ -343,7 +343,7 @@ OverworldLoopLessDelay:: ld a, [wCurMap] cp OAKS_LAB jp z, .noFaintCheck ; no blacking out if the player lost to the rival in Oak's lab - callab AnyPartyAlive + callfar AnyPartyAlive ld a, d and a jr z, .allPokemonFainted @@ -368,7 +368,7 @@ NewBattle:: ld a, [wd72e] bit 4, a jr nz, .noBattle - jpba InitBattle + farjp InitBattle .noBattle and a ret @@ -412,7 +412,7 @@ CheckWarpsNoCollisionLoop:: push bc ld hl, wd736 set 2, [hl] ; standing on warp flag - callba IsPlayerStandingOnDoorTileOrWarpTile + farcall IsPlayerStandingOnDoorTileOrWarpTile pop bc pop hl jr c, WarpFound1 ; jump if standing on door or warp @@ -511,7 +511,7 @@ WarpFound2:: jr z, .goBackOutside ; if not going back to the previous map ld [wCurMap], a - callba IsPlayerStandingOnWarpPadOrHole + farcall IsPlayerStandingOnWarpPadOrHole ld a, [wStandingOnWarpPadOrHole] dec a ; is the player on a warp pad? jr nz, .notWarpPad @@ -679,7 +679,7 @@ CheckMapConnections:: call RunPaletteCommand ; Since the sprite set shouldn't change, this will just update VRAM slots at ; $C2XE without loading any tile patterns. - callba InitMapSprites + farcall InitMapSprites call LoadTileBlockMap jp OverworldLoopLessDelay @@ -747,7 +747,7 @@ ExtraWarpCheck:: jp Bankswitch MapEntryAfterBattle:: - callba IsPlayerStandingOnWarp ; for enabling warp testing after collisions + farcall IsPlayerStandingOnWarp ; for enabling warp testing after collisions ld a, [wMapPalOffset] and a jp z, GBFadeInFromWhite @@ -800,7 +800,7 @@ HandleFlyWarpOrDungeonWarp:: jp SpecialEnterMap LeaveMapAnim:: - jpba _LeaveMapAnim + farjp _LeaveMapAnim LoadPlayerSpriteGraphics:: ; Load sprite graphics based on whether the player is standing, biking, or surfing. @@ -1286,7 +1286,7 @@ CheckForJumpingAndTilePairCollisions:: predef GetTileAndCoordsInFrontOfPlayer ; get the tile in front of the player push de push bc - callba HandleLedges ; check if the player is trying to jump a ledge + farcall HandleLedges ; check if the player is trying to jump a ledge pop bc pop de pop hl @@ -1977,11 +1977,11 @@ RunMapScript:: push hl push de push bc - callba TryPushingBoulder + farcall TryPushingBoulder ld a, [wFlags_0xcd60] bit 1, a ; play boulder dust animation jr z, .afterBoulderEffect - callba DoBoulderDustAnimation + farcall DoBoulderDustAnimation .afterBoulderEffect pop bc pop de @@ -2032,7 +2032,7 @@ LoadPlayerSpriteGraphicsCommon:: ; function to load data from the map header LoadMapHeader:: - callba MarkTownVisitedAndLoadMissableObjects + farcall MarkTownVisitedAndLoadMissableObjects ld a, [wCurMapTileset] ld [wUnusedD119], a ld a, [wCurMap] @@ -2280,7 +2280,7 @@ LoadMapHeader:: jp nz, .loadSpriteLoop .finishUp predef LoadTilesetHeader - callab LoadWildData + callfar LoadWildData pop hl ; restore hl from before going to the warp/sign/sprite data (this value was saved for seemingly no purpose) ld a, [wCurMapHeight] ; map height in 4x4 tile blocks add a ; double it @@ -2337,7 +2337,7 @@ LoadMapData:: ld [wSpriteSetID], a call LoadTextBoxTilePatterns call LoadMapHeader - callba InitMapSprites ; load tile pattern data for sprites + farcall InitMapSprites ; load tile pattern data for sprites call LoadTileBlockMap call LoadTilesetTilePatternData call LoadCurrentMapView diff --git a/home/pokemon.asm b/home/pokemon.asm index 6c5442c4..d018843e 100644 --- a/home/pokemon.asm +++ b/home/pokemon.asm @@ -81,7 +81,7 @@ DrawHPBar:: ; wLoadedMon = base address of pokemon data ; wMonHeader = base address of base stats LoadMonData:: - jpab LoadMonData_ + jpfar LoadMonData_ OverwritewMoves:: ; Write c to [wMoves + b]. Unused. @@ -277,7 +277,7 @@ HandlePartyMenuInput:: bit 1, b ; was the B button pressed? jr z, .handleSwap ; if not, handle swapping the pokemon .cancelSwap ; if the B button was pressed - callba ErasePartyMenuCursors + farcall ErasePartyMenuCursors xor a ld [wMenuItemToSwap], a ld [wPartyMenuTypeOrMessageID], a @@ -286,7 +286,7 @@ HandlePartyMenuInput:: .handleSwap ld a, [wCurrentMenuItem] ld [wWhichPokemon], a - callba SwitchPartyMon + farcall SwitchPartyMon jr HandlePartyMenuInput DrawPartyMenu:: diff --git a/home/serial.asm b/home/serial.asm index 27ac97d4..bd984d4f 100644 --- a/home/serial.asm +++ b/home/serial.asm @@ -225,7 +225,7 @@ Serial_ExchangeLinkMenuSelection:: Serial_PrintWaitingTextAndSyncAndExchangeNybble:: call SaveScreenTilesToBuffer1 - callab PrintWaitingText + callfar PrintWaitingText call Serial_SyncAndExchangeNybble jp LoadScreenTilesFromBuffer1 diff --git a/home/start_menu.asm b/home/start_menu.asm index a692f007..5b29f67a 100755 --- a/home/start_menu.asm +++ b/home/start_menu.asm @@ -8,8 +8,8 @@ DisplayStartMenu:: call PlaySound RedisplayStartMenu:: - callba DrawStartMenu - callba PrintSafariZoneSteps ; print Safari Zone info, if in Safari Zone + farcall DrawStartMenu + farcall PrintSafariZoneSteps ; print Safari Zone info, if in Safari Zone call UpdateSprites .loop call HandleMenuInput diff --git a/home/text_script.asm b/home/text_script.asm index 89f4d286..1baa3d64 100644 --- a/home/text_script.asm +++ b/home/text_script.asm @@ -3,7 +3,7 @@ DisplayTextID:: ldh a, [hLoadedROMBank] push af - callba DisplayTextIDInit ; initialization + farcall DisplayTextIDInit ; initialization ld hl, wTextPredefFlag bit 0, [hl] res 0, [hl] @@ -38,7 +38,7 @@ DisplayTextID:: push hl push de push bc - callba UpdateSpriteFacingOffsetAndDelayMovement ; update the graphics of the sprite the player is talking to (to face the right direction) + farcall UpdateSpriteFacingOffsetAndDelayMovement ; update the graphics of the sprite the player is talking to (to face the right direction) pop bc pop de ld hl, wMapSpriteData ; NPC text entries @@ -79,9 +79,9 @@ ENDM dict TX_SCRIPT_PLAYERS_PC, TextScript_ItemStoragePC dict TX_SCRIPT_BILLS_PC, TextScript_BillsPC dict TX_SCRIPT_POKECENTER_PC, TextScript_PokemonCenterPC - dict2 TX_SCRIPT_VENDING_MACHINE, callba VendingMachineMenu + dict2 TX_SCRIPT_VENDING_MACHINE, farcall VendingMachineMenu dict TX_SCRIPT_PRIZE_VENDOR, TextScript_GameCornerPrizeMenu - dict2 TX_SCRIPT_CABLE_CLUB_RECEPTIONIST, callab CableClubNPC + dict2 TX_SCRIPT_CABLE_CLUB_RECEPTIONIST, callfar CableClubNPC call PrintText_NoCreatingTextBox ; display the text ld a, [wDoNotWaitForButtonPressAfterDisplayingText] @@ -197,7 +197,7 @@ DisplayPokemonCenterDialogue:: jp AfterDisplayingTextID DisplaySafariGameOverText:: - callab PrintSafariGameOverText + callfar PrintSafariGameOverText jp AfterDisplayingTextID DisplayPokemonFaintedText:: diff --git a/home/trainers.asm b/home/trainers.asm index 66108af6..039c4ec8 100644 --- a/home/trainers.asm +++ b/home/trainers.asm @@ -219,7 +219,7 @@ ResetButtonPressedAndMapScript:: ; calls TrainerWalkUpToPlayer TrainerWalkUpToPlayer_Bank0:: - jpba TrainerWalkUpToPlayer + farjp TrainerWalkUpToPlayer ; sets opponent type and mon set/lvl based on the engaging trainer data InitBattleEnemyParameters:: @@ -343,14 +343,14 @@ PrintEndBattleText:: ldh [hLoadedROMBank], a ld [MBC1RomBank], a push hl - callba SaveTrainerName + farcall SaveTrainerName ld hl, TrainerEndBattleText call PrintText pop hl pop af ldh [hLoadedROMBank], a ld [MBC1RomBank], a - callba FreezeEnemyTrainerSprite + farcall FreezeEnemyTrainerSprite jp WaitForSoundToFinish GetSavedEndBattleTextPointer:: diff --git a/home/vblank.asm b/home/vblank.asm index 06b45b82..4c7abc20 100644 --- a/home/vblank.asm +++ b/home/vblank.asm @@ -72,7 +72,7 @@ VBlank:: call Audio3_UpdateMusic .afterMusic - callba TrackPlayTime ; keep track of time played + farcall TrackPlayTime ; keep track of time played ldh a, [hDisableJoypadPolling] and a diff --git a/macros/farcall.asm b/macros/farcall.asm index 85c2dc9f..122e5207 100644 --- a/macros/farcall.asm +++ b/macros/farcall.asm @@ -1,24 +1,22 @@ -farcall EQUS "callba" - -callba: MACRO +farcall: MACRO ld b, BANK(\1) ld hl, \1 call Bankswitch ENDM -callab: MACRO +callfar: MACRO ld hl, \1 ld b, BANK(\1) call Bankswitch ENDM -jpba: MACRO +farjp: MACRO ld b, BANK(\1) ld hl, \1 jp Bankswitch ENDM -jpab: MACRO +jpfar: MACRO ld hl, \1 ld b, BANK(\1) jp Bankswitch diff --git a/scripts/BikeShop.asm b/scripts/BikeShop.asm index 338381e9..8ff581a3 100755 --- a/scripts/BikeShop.asm +++ b/scripts/BikeShop.asm @@ -24,7 +24,7 @@ BikeShopText1: jr nc, .BagFull ld a, BIKE_VOUCHER ldh [hItemToRemoveID], a - callba RemoveItemByID + farcall RemoveItemByID SetEvent EVENT_GOT_BICYCLE ld hl, BikeShopText_1d824 call PrintText diff --git a/scripts/CeladonMansion3F.asm b/scripts/CeladonMansion3F.asm index c9085b32..b2d40b44 100755 --- a/scripts/CeladonMansion3F.asm +++ b/scripts/CeladonMansion3F.asm @@ -49,7 +49,7 @@ DirectorText: text_far _CompletedDexText text_promptbutton text_asm - callab DisplayDiploma + callfar DisplayDiploma ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a jp TextScriptEnd diff --git a/scripts/CeladonMartElevator.asm b/scripts/CeladonMartElevator.asm index bcac0d14..e58c88f0 100755 --- a/scripts/CeladonMartElevator.asm +++ b/scripts/CeladonMartElevator.asm @@ -60,7 +60,7 @@ CeladonMartElevatorWarpMaps: CeladonMartElevatorWarpMapsEnd: CeladonMartElevatorScript_48654: - jpba ShakeElevator + farjp ShakeElevator CeladonMartElevator_TextPointers: dw CeladonMartElevatorText1 diff --git a/scripts/CeladonMartRoof.asm b/scripts/CeladonMartRoof.asm index 06a8390a..e880211b 100755 --- a/scripts/CeladonMartRoof.asm +++ b/scripts/CeladonMartRoof.asm @@ -131,7 +131,7 @@ CeladonMartRoofScript_GiveDrinkToGirl: jp PrintText RemoveItemByIDBank12: - jpba RemoveItemByID + farjp RemoveItemByID CeladonMartRoofText_484ee: text_far _CeladonMartRoofText_484ee diff --git a/scripts/CeruleanCity.asm b/scripts/CeruleanCity.asm index 656c3a4d..070120b7 100755 --- a/scripts/CeruleanCity.asm +++ b/scripts/CeruleanCity.asm @@ -174,7 +174,7 @@ CeruleanCityScript2: ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound - callba Music_RivalAlternateStart + farcall Music_RivalAlternateStart ld a, $1 ldh [hSpriteIndex], a call SetSpriteMovementBytesToFF @@ -310,7 +310,7 @@ CeruleanCityText2: ld [wDoNotWaitForButtonPressAfterDisplayingText], a ld hl, ReceivedTM28Text call PrintText - callba CeruleanHideRocket + farcall CeruleanHideRocket .Done jp TextScriptEnd diff --git a/scripts/ChampionsRoom.asm b/scripts/ChampionsRoom.asm index 53dd9d4e..e57048c5 100755 --- a/scripts/ChampionsRoom.asm +++ b/scripts/ChampionsRoom.asm @@ -108,7 +108,7 @@ GaryScript3: ret GaryScript4: - callba Music_Cities1AlternateTempo + farcall Music_Cities1AlternateTempo ld a, $2 ldh [hSpriteIndexOrTextID], a call GaryScript_760c8 diff --git a/scripts/CinnabarLabFossilRoom.asm b/scripts/CinnabarLabFossilRoom.asm index ac33e6ee..4bdb8a36 100755 --- a/scripts/CinnabarLabFossilRoom.asm +++ b/scripts/CinnabarLabFossilRoom.asm @@ -56,7 +56,7 @@ Lab4Text1: ld a, [wFilteredBagItemsCount] and a jr z, .asm_75d8d - callba GiveFossilToCinnabarLab + farcall GiveFossilToCinnabarLab jr .asm_75d93 .asm_75d8d ld hl, Lab4Text_75dcb @@ -106,4 +106,4 @@ Lab4Text2: jp TextScriptEnd LoadFossilItemAndMonNameBank1D: - jpba LoadFossilItemAndMonName + farjp LoadFossilItemAndMonName diff --git a/scripts/CopycatsHouse2F.asm b/scripts/CopycatsHouse2F.asm index b885baab..c27043e6 100755 --- a/scripts/CopycatsHouse2F.asm +++ b/scripts/CopycatsHouse2F.asm @@ -30,7 +30,7 @@ CopycatsHouse2FText1: call PrintText ld a, POKE_DOLL ldh [hItemToRemoveID], a - callba RemoveItemByID + farcall RemoveItemByID SetEvent EVENT_GOT_TM31 jr .asm_62ecd .BagFull diff --git a/scripts/Daycare.asm b/scripts/Daycare.asm index 9fc8f3c4..481d7e14 100755 --- a/scripts/Daycare.asm +++ b/scripts/Daycare.asm @@ -35,7 +35,7 @@ DayCareMText1: pop af ld hl, DayCareAllRightThenText jp c, .done - callab KnowsHMMove + callfar KnowsHMMove ld hl, DayCareCantAcceptMonWithHMText jp c, .done xor a @@ -65,13 +65,13 @@ DayCareMText1: ld a, DAYCARE_DATA ld [wMonDataLocation], a call LoadMonData - callab CalcLevelFromExperience + callfar CalcLevelFromExperience ld a, d cp MAX_LEVEL jr c, .skipCalcExp ld d, MAX_LEVEL - callab CalcExperience + callfar CalcExperience ld hl, wDayCareMonExp ldh a, [hExperience] ld [hli], a diff --git a/scripts/HallOfFame.asm b/scripts/HallOfFame.asm index cdfb2f17..35ad9fd8 100755 --- a/scripts/HallOfFame.asm +++ b/scripts/HallOfFame.asm @@ -45,7 +45,7 @@ HallofFameRoomScript2: ld [wHallOfFameCurScript], a ld a, PALLET_TOWN ld [wLastBlackoutMap], a - callba SaveSAVtoSRAM + farcall SaveSAVtoSRAM ld b, 5 .delayLoop ld c, 600 / 5 diff --git a/scripts/NameRatersHouse.asm b/scripts/NameRatersHouse.asm index 7694e92b..cecf97e7 100755 --- a/scripts/NameRatersHouse.asm +++ b/scripts/NameRatersHouse.asm @@ -68,7 +68,7 @@ NameRaterText1: jr nz, .asm_1daae ld hl, NameRaterText_1dac2 call PrintText - callba DisplayNameRaterScreen + farcall DisplayNameRaterScreen jr c, .asm_1daae ld hl, NameRaterText_1dac7 .asm_1daa8 diff --git a/scripts/OaksLab.asm b/scripts/OaksLab.asm index 49017440..a2e0bfe8 100755 --- a/scripts/OaksLab.asm +++ b/scripts/OaksLab.asm @@ -441,7 +441,7 @@ OaksLabScript13: ld a, $10 ldh [hSpriteIndexOrTextID], a call DisplayTextID - callba Music_RivalAlternateStart + farcall Music_RivalAlternateStart ld a, $1 ldh [hSpriteIndex], a ld de, .RivalExitMovement @@ -513,7 +513,7 @@ OaksLabScript15: ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound - callba Music_RivalAlternateStart + farcall Music_RivalAlternateStart ld a, $15 ldh [hSpriteIndexOrTextID], a call DisplayTextID @@ -614,7 +614,7 @@ OaksLabScript16: ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound - callba Music_RivalAlternateStart + farcall Music_RivalAlternateStart ld a, $1 ldh [hSpriteIndex], a ld de, wNPCMovementDirections2 diff --git a/scripts/PokemonTower2F.asm b/scripts/PokemonTower2F.asm index 86a60579..cddebfa8 100755 --- a/scripts/PokemonTower2F.asm +++ b/scripts/PokemonTower2F.asm @@ -79,7 +79,7 @@ PokemonTower2Script1: ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound - callba Music_RivalAlternateStart + farcall Music_RivalAlternateStart ld a, $2 ld [wPokemonTower2FCurScript], a ld [wCurMapScript], a diff --git a/scripts/RocketHideoutElevator.asm b/scripts/RocketHideoutElevator.asm index 6b1294b3..45b27e3b 100755 --- a/scripts/RocketHideoutElevator.asm +++ b/scripts/RocketHideoutElevator.asm @@ -58,7 +58,7 @@ RocketHideoutElevatorWarpMapsEnd: RocketHideoutElevatorScript_4575f: call Delay3 - callba ShakeElevator + farcall ShakeElevator ret RocketHideoutElevator_TextPointers: diff --git a/scripts/Route22.asm b/scripts/Route22.asm index fd566ff0..57dc934e 100755 --- a/scripts/Route22.asm +++ b/scripts/Route22.asm @@ -170,7 +170,7 @@ Route22Script2: ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound - callba Music_RivalAlternateStart + farcall Music_RivalAlternateStart ld a, [wcf0d] cp $1 jr nz, .asm_50fff @@ -248,7 +248,7 @@ Route22Script_5104e: ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound - callba Music_RivalAlternateTempo + farcall Music_RivalAlternateTempo ld a, $2 ldh [hSpriteIndex], a call Route22MoveRivalSprite @@ -329,7 +329,7 @@ Route22Script5: ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound - callba Music_RivalAlternateStartAndTempo + farcall Music_RivalAlternateStartAndTempo ld a, [wcf0d] cp $1 jr nz, .asm_51134 diff --git a/scripts/Route5Gate.asm b/scripts/Route5Gate.asm index 0b66efa6..f2d45112 100755 --- a/scripts/Route5Gate.asm +++ b/scripts/Route5Gate.asm @@ -26,7 +26,7 @@ Route5GateScript0: ld [wPlayerMovingDirection], a xor a ldh [hJoyHeld], a - callba RemoveGuardDrink + farcall RemoveGuardDrink ldh a, [hItemToRemoveID] and a jr nz, .asm_1df82 @@ -73,7 +73,7 @@ Route5GateText1: ld a, [wd728] bit 6, a jr nz, .asm_88856 - callba RemoveGuardDrink + farcall RemoveGuardDrink ldh a, [hItemToRemoveID] and a jr nz, .asm_768a2 diff --git a/scripts/Route6Gate.asm b/scripts/Route6Gate.asm index 7d135498..22d40fd3 100755 --- a/scripts/Route6Gate.asm +++ b/scripts/Route6Gate.asm @@ -20,7 +20,7 @@ Route6GateScript0: ld [wPlayerMovingDirection], a xor a ldh [hJoyHeld], a - callba RemoveGuardDrink + farcall RemoveGuardDrink ldh a, [hItemToRemoveID] and a jr nz, .asm_1e080 diff --git a/scripts/Route7Gate.asm b/scripts/Route7Gate.asm index 041d6c6a..182dedab 100755 --- a/scripts/Route7Gate.asm +++ b/scripts/Route7Gate.asm @@ -32,7 +32,7 @@ Route7GateScript0: ld [wPlayerMovingDirection], a xor a ldh [hJoyHeld], a - callba RemoveGuardDrink + farcall RemoveGuardDrink ldh a, [hItemToRemoveID] and a jr nz, .asm_1e15a diff --git a/scripts/Route8Gate.asm b/scripts/Route8Gate.asm index 3bdd6070..9ddaf601 100755 --- a/scripts/Route8Gate.asm +++ b/scripts/Route8Gate.asm @@ -31,7 +31,7 @@ Route8GateScript0: ld [wPlayerMovingDirection], a xor a ldh [hJoyHeld], a - callba RemoveGuardDrink + farcall RemoveGuardDrink ldh a, [hItemToRemoveID] and a jr nz, .asm_1e220 diff --git a/scripts/SSAnne2F.asm b/scripts/SSAnne2F.asm index 45e8f283..5060f1e1 100755 --- a/scripts/SSAnne2F.asm +++ b/scripts/SSAnne2F.asm @@ -148,7 +148,7 @@ SSAnne2Script2: ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound - callba Music_RivalAlternateStart + farcall Music_RivalAlternateStart ld a, $3 ld [wSSAnne2FCurScript], a ret diff --git a/scripts/SilphCo7F.asm b/scripts/SilphCo7F.asm index e7032760..dae0f96b 100755 --- a/scripts/SilphCo7F.asm +++ b/scripts/SilphCo7F.asm @@ -222,7 +222,7 @@ SilphCo7Script4: ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound - callba Music_RivalAlternateStart + farcall Music_RivalAlternateStart ld de, MovementData_51d1d ld a, [wcf0d] cp $1 diff --git a/scripts/SilphCoElevator.asm b/scripts/SilphCoElevator.asm index 3ff507c7..e660cd0f 100755 --- a/scripts/SilphCoElevator.asm +++ b/scripts/SilphCoElevator.asm @@ -74,7 +74,7 @@ SilphCoElevatorWarpMapsEnd: SilphCoElevatorScript_45827: call Delay3 - callba ShakeElevator + farcall ShakeElevator ret SilphCoElevator_TextPointers: diff --git a/scripts/VermilionDock.asm b/scripts/VermilionDock.asm index d1a60988..5af5e5a2 100755 --- a/scripts/VermilionDock.asm +++ b/scripts/VermilionDock.asm @@ -45,7 +45,7 @@ VermilionDock_1db9b: ld c, BANK(Music_Surfing) ld a, MUSIC_SURFING call PlayMusic - callba LoadSmokeTileFourTimes + farcall LoadSmokeTileFourTimes xor a ld [wSpritePlayerStateData1ImageIndex], a ld c, 120 diff --git a/scripts/ViridianGym.asm b/scripts/ViridianGym.asm index fafc6388..80f19f3a 100755 --- a/scripts/ViridianGym.asm +++ b/scripts/ViridianGym.asm @@ -128,7 +128,7 @@ ViridianGymScript4: ld [wCurMapScript], a ret .asm_74980 - jpba LoadSpinnerArrowTiles + farjp LoadSpinnerArrowTiles ViridianGymScript3: ld a, [wIsInBattle] diff --git a/scripts/WardensHouse.asm b/scripts/WardensHouse.asm index 1cb68cf9..6705a450 100755 --- a/scripts/WardensHouse.asm +++ b/scripts/WardensHouse.asm @@ -33,7 +33,7 @@ FuchsiaHouse2Text1: call PrintText ld a, GOLD_TEETH ldh [hItemToRemoveID], a - callba RemoveItemByID + farcall RemoveItemByID SetEvent EVENT_GAVE_GOLD_TEETH .asm_60cba ld hl, WardenThankYouText -- cgit v1.2.3 From bbc257476f9aac8d04d75a8036d412caa8f7d515 Mon Sep 17 00:00:00 2001 From: Rangi Date: Tue, 7 Jul 2020 10:54:05 -0400 Subject: PSYCHIC -> PSYCHIC_TYPE (PSYCHIC is ambiguous with PSYCHIC_M) --- constants/battle_constants.asm | 7 + constants/type_constants.asm | 32 ++-- data/moves/moves.asm | 330 +++++++++++++++++----------------- data/pokemon/base_stats/abra.asm | 2 +- data/pokemon/base_stats/alakazam.asm | 2 +- data/pokemon/base_stats/drowzee.asm | 2 +- data/pokemon/base_stats/exeggcute.asm | 2 +- data/pokemon/base_stats/exeggutor.asm | 2 +- data/pokemon/base_stats/hypno.asm | 2 +- data/pokemon/base_stats/jynx.asm | 2 +- data/pokemon/base_stats/kadabra.asm | 2 +- data/pokemon/base_stats/mew.asm | 2 +- data/pokemon/base_stats/mewtwo.asm | 2 +- data/pokemon/base_stats/mrmime.asm | 2 +- data/pokemon/base_stats/slowbro.asm | 2 +- data/pokemon/base_stats/slowpoke.asm | 2 +- data/pokemon/base_stats/starmie.asm | 2 +- data/types/type_matchups.asm | 172 +++++++++--------- 18 files changed, 286 insertions(+), 283 deletions(-) diff --git a/constants/battle_constants.asm b/constants/battle_constants.asm index bdcd2b98..ba5d6c68 100644 --- a/constants/battle_constants.asm +++ b/constants/battle_constants.asm @@ -21,6 +21,13 @@ MAX_NEUTRAL_DAMAGE EQU 999 SONICBOOM_DAMAGE EQU 20 DRAGON_RAGE_DAMAGE EQU 40 +; type effectiveness factors, scaled by 10 +SUPER_EFFECTIVE EQU 20 +MORE_EFFECTIVE EQU 15 +EFFECTIVE EQU 10 +NOT_VERY_EFFECTIVE EQU 05 +NO_EFFECT EQU 00 + ; non-volatile statuses SLP EQU %111 ; sleep counter PSN EQU 3 diff --git a/constants/type_constants.asm b/constants/type_constants.asm index c94d5c39..d1a1a73e 100755 --- a/constants/type_constants.asm +++ b/constants/type_constants.asm @@ -1,23 +1,23 @@ const_def PHYSICAL EQU const_value - const NORMAL ; $00 - const FIGHTING ; $01 - const FLYING ; $02 - const POISON ; $03 - const GROUND ; $04 - const ROCK ; $05 - const BIRD ; $06 - const BUG ; $07 - const GHOST ; $08 + const NORMAL ; $00 + const FIGHTING ; $01 + const FLYING ; $02 + const POISON ; $03 + const GROUND ; $04 + const ROCK ; $05 + const BIRD ; $06 + const BUG ; $07 + const GHOST ; $08 const_value = $14 SPECIAL EQU const_value - const FIRE ; $14 - const WATER ; $15 - const GRASS ; $16 - const ELECTRIC ; $17 - const PSYCHIC ; $18 - const ICE ; $19 - const DRAGON ; $1A + const FIRE ; $14 + const WATER ; $15 + const GRASS ; $16 + const ELECTRIC ; $17 + const PSYCHIC_TYPE ; $18 + const ICE ; $19 + const DRAGON ; $1A diff --git a/data/moves/moves.asm b/data/moves/moves.asm index 183243e9..85b6dcfc 100755 --- a/data/moves/moves.asm +++ b/data/moves/moves.asm @@ -10,169 +10,169 @@ move: MACRO db \6 ; pp ENDM - move POUND, NO_ADDITIONAL_EFFECT, 40, NORMAL, 100, 35 + move POUND, NO_ADDITIONAL_EFFECT, 40, NORMAL, 100, 35 MoveEnd: - move KARATE_CHOP, NO_ADDITIONAL_EFFECT, 50, NORMAL, 100, 25 - move DOUBLESLAP, TWO_TO_FIVE_ATTACKS_EFFECT, 15, NORMAL, 85, 10 - move COMET_PUNCH, TWO_TO_FIVE_ATTACKS_EFFECT, 18, NORMAL, 85, 15 - move MEGA_PUNCH, NO_ADDITIONAL_EFFECT, 80, NORMAL, 85, 20 - move PAY_DAY, PAY_DAY_EFFECT, 40, NORMAL, 100, 20 - move FIRE_PUNCH, BURN_SIDE_EFFECT1, 75, FIRE, 100, 15 - move ICE_PUNCH, FREEZE_SIDE_EFFECT, 75, ICE, 100, 15 - move THUNDERPUNCH, PARALYZE_SIDE_EFFECT1, 75, ELECTRIC, 100, 15 - move SCRATCH, NO_ADDITIONAL_EFFECT, 40, NORMAL, 100, 35 - move VICEGRIP, NO_ADDITIONAL_EFFECT, 55, NORMAL, 100, 30 - move GUILLOTINE, OHKO_EFFECT, 1, NORMAL, 30, 5 - move RAZOR_WIND, CHARGE_EFFECT, 80, NORMAL, 75, 10 - move SWORDS_DANCE, ATTACK_UP2_EFFECT, 0, NORMAL, 100, 30 - move CUT, NO_ADDITIONAL_EFFECT, 50, NORMAL, 95, 30 - move GUST, NO_ADDITIONAL_EFFECT, 40, NORMAL, 100, 35 - move WING_ATTACK, NO_ADDITIONAL_EFFECT, 35, FLYING, 100, 35 - move WHIRLWIND, SWITCH_AND_TELEPORT_EFFECT, 0, NORMAL, 85, 20 - move FLY, FLY_EFFECT, 70, FLYING, 95, 15 - move BIND, TRAPPING_EFFECT, 15, NORMAL, 75, 20 - move SLAM, NO_ADDITIONAL_EFFECT, 80, NORMAL, 75, 20 - move VINE_WHIP, NO_ADDITIONAL_EFFECT, 35, GRASS, 100, 10 - move STOMP, FLINCH_SIDE_EFFECT2, 65, NORMAL, 100, 20 - move DOUBLE_KICK, ATTACK_TWICE_EFFECT, 30, FIGHTING, 100, 30 - move MEGA_KICK, NO_ADDITIONAL_EFFECT, 120, NORMAL, 75, 5 - move JUMP_KICK, JUMP_KICK_EFFECT, 70, FIGHTING, 95, 25 - move ROLLING_KICK, FLINCH_SIDE_EFFECT2, 60, FIGHTING, 85, 15 - move SAND_ATTACK, ACCURACY_DOWN1_EFFECT, 0, NORMAL, 100, 15 - move HEADBUTT, FLINCH_SIDE_EFFECT2, 70, NORMAL, 100, 15 - move HORN_ATTACK, NO_ADDITIONAL_EFFECT, 65, NORMAL, 100, 25 - move FURY_ATTACK, TWO_TO_FIVE_ATTACKS_EFFECT, 15, NORMAL, 85, 20 - move HORN_DRILL, OHKO_EFFECT, 1, NORMAL, 30, 5 - move TACKLE, NO_ADDITIONAL_EFFECT, 35, NORMAL, 95, 35 - move BODY_SLAM, PARALYZE_SIDE_EFFECT2, 85, NORMAL, 100, 15 - move WRAP, TRAPPING_EFFECT, 15, NORMAL, 85, 20 - move TAKE_DOWN, RECOIL_EFFECT, 90, NORMAL, 85, 20 - move THRASH, THRASH_PETAL_DANCE_EFFECT, 90, NORMAL, 100, 20 - move DOUBLE_EDGE, RECOIL_EFFECT, 100, NORMAL, 100, 15 - move TAIL_WHIP, DEFENSE_DOWN1_EFFECT, 0, NORMAL, 100, 30 - move POISON_STING, POISON_SIDE_EFFECT1, 15, POISON, 100, 35 - move TWINEEDLE, TWINEEDLE_EFFECT, 25, BUG, 100, 20 - move PIN_MISSILE, TWO_TO_FIVE_ATTACKS_EFFECT, 14, BUG, 85, 20 - move LEER, DEFENSE_DOWN1_EFFECT, 0, NORMAL, 100, 30 - move BITE, FLINCH_SIDE_EFFECT1, 60, NORMAL, 100, 25 - move GROWL, ATTACK_DOWN1_EFFECT, 0, NORMAL, 100, 40 - move ROAR, SWITCH_AND_TELEPORT_EFFECT, 0, NORMAL, 100, 20 - move SING, SLEEP_EFFECT, 0, NORMAL, 55, 15 - move SUPERSONIC, CONFUSION_EFFECT, 0, NORMAL, 55, 20 - move SONICBOOM, SPECIAL_DAMAGE_EFFECT, 1, NORMAL, 90, 20 - move DISABLE, DISABLE_EFFECT, 0, NORMAL, 55, 20 - move ACID, DEFENSE_DOWN_SIDE_EFFECT, 40, POISON, 100, 30 - move EMBER, BURN_SIDE_EFFECT1, 40, FIRE, 100, 25 - move FLAMETHROWER, BURN_SIDE_EFFECT1, 95, FIRE, 100, 15 - move MIST, MIST_EFFECT, 0, ICE, 100, 30 - move WATER_GUN, NO_ADDITIONAL_EFFECT, 40, WATER, 100, 25 - move HYDRO_PUMP, NO_ADDITIONAL_EFFECT, 120, WATER, 80, 5 - move SURF, NO_ADDITIONAL_EFFECT, 95, WATER, 100, 15 - move ICE_BEAM, FREEZE_SIDE_EFFECT, 95, ICE, 100, 10 - move BLIZZARD, FREEZE_SIDE_EFFECT, 120, ICE, 90, 5 - move PSYBEAM, CONFUSION_SIDE_EFFECT, 65, PSYCHIC, 100, 20 - move BUBBLEBEAM, SPEED_DOWN_SIDE_EFFECT, 65, WATER, 100, 20 - move AURORA_BEAM, ATTACK_DOWN_SIDE_EFFECT, 65, ICE, 100, 20 - move HYPER_BEAM, HYPER_BEAM_EFFECT, 150, NORMAL, 90, 5 - move PECK, NO_ADDITIONAL_EFFECT, 35, FLYING, 100, 35 - move DRILL_PECK, NO_ADDITIONAL_EFFECT, 80, FLYING, 100, 20 - move SUBMISSION, RECOIL_EFFECT, 80, FIGHTING, 80, 25 - move LOW_KICK, FLINCH_SIDE_EFFECT2, 50, FIGHTING, 90, 20 - move COUNTER, NO_ADDITIONAL_EFFECT, 1, FIGHTING, 100, 20 - move SEISMIC_TOSS, SPECIAL_DAMAGE_EFFECT, 1, FIGHTING, 100, 20 - move STRENGTH, NO_ADDITIONAL_EFFECT, 80, NORMAL, 100, 15 - move ABSORB, DRAIN_HP_EFFECT, 20, GRASS, 100, 20 - move MEGA_DRAIN, DRAIN_HP_EFFECT, 40, GRASS, 100, 10 - move LEECH_SEED, LEECH_SEED_EFFECT, 0, GRASS, 90, 10 - move GROWTH, SPECIAL_UP1_EFFECT, 0, NORMAL, 100, 40 - move RAZOR_LEAF, NO_ADDITIONAL_EFFECT, 55, GRASS, 95, 25 - move SOLARBEAM, CHARGE_EFFECT, 120, GRASS, 100, 10 - move POISONPOWDER, POISON_EFFECT, 0, POISON, 75, 35 - move STUN_SPORE, PARALYZE_EFFECT, 0, GRASS, 75, 30 - move SLEEP_POWDER, SLEEP_EFFECT, 0, GRASS, 75, 15 - move PETAL_DANCE, THRASH_PETAL_DANCE_EFFECT, 70, GRASS, 100, 20 - move STRING_SHOT, SPEED_DOWN1_EFFECT, 0, BUG, 95, 40 - move DRAGON_RAGE, SPECIAL_DAMAGE_EFFECT, 1, DRAGON, 100, 10 - move FIRE_SPIN, TRAPPING_EFFECT, 15, FIRE, 70, 15 - move THUNDERSHOCK, PARALYZE_SIDE_EFFECT1, 40, ELECTRIC, 100, 30 - move THUNDERBOLT, PARALYZE_SIDE_EFFECT1, 95, ELECTRIC, 100, 15 - move THUNDER_WAVE, PARALYZE_EFFECT, 0, ELECTRIC, 100, 20 - move THUNDER, PARALYZE_SIDE_EFFECT1, 120, ELECTRIC, 70, 10 - move ROCK_THROW, NO_ADDITIONAL_EFFECT, 50, ROCK, 65, 15 - move EARTHQUAKE, NO_ADDITIONAL_EFFECT, 100, GROUND, 100, 10 - move FISSURE, OHKO_EFFECT, 1, GROUND, 30, 5 - move DIG, CHARGE_EFFECT, 100, GROUND, 100, 10 - move TOXIC, POISON_EFFECT, 0, POISON, 85, 10 - move CONFUSION, CONFUSION_SIDE_EFFECT, 50, PSYCHIC, 100, 25 - move PSYCHIC_M, SPECIAL_DOWN_SIDE_EFFECT, 90, PSYCHIC, 100, 10 - move HYPNOSIS, SLEEP_EFFECT, 0, PSYCHIC, 60, 20 - move MEDITATE, ATTACK_UP1_EFFECT, 0, PSYCHIC, 100, 40 - move AGILITY, SPEED_UP2_EFFECT, 0, PSYCHIC, 100, 30 - move QUICK_ATTACK, NO_ADDITIONAL_EFFECT, 40, NORMAL, 100, 30 - move RAGE, RAGE_EFFECT, 20, NORMAL, 100, 20 - move TELEPORT, SWITCH_AND_TELEPORT_EFFECT, 0, PSYCHIC, 100, 20 - move NIGHT_SHADE, SPECIAL_DAMAGE_EFFECT, 0, GHOST, 100, 15 - move MIMIC, MIMIC_EFFECT, 0, NORMAL, 100, 10 - move SCREECH, DEFENSE_DOWN2_EFFECT, 0, NORMAL, 85, 40 - move DOUBLE_TEAM, EVASION_UP1_EFFECT, 0, NORMAL, 100, 15 - move RECOVER, HEAL_EFFECT, 0, NORMAL, 100, 20 - move HARDEN, DEFENSE_UP1_EFFECT, 0, NORMAL, 100, 30 - move MINIMIZE, EVASION_UP1_EFFECT, 0, NORMAL, 100, 20 - move SMOKESCREEN, ACCURACY_DOWN1_EFFECT, 0, NORMAL, 100, 20 - move CONFUSE_RAY, CONFUSION_EFFECT, 0, GHOST, 100, 10 - move WITHDRAW, DEFENSE_UP1_EFFECT, 0, WATER, 100, 40 - move DEFENSE_CURL, DEFENSE_UP1_EFFECT, 0, NORMAL, 100, 40 - move BARRIER, DEFENSE_UP2_EFFECT, 0, PSYCHIC, 100, 30 - move LIGHT_SCREEN, LIGHT_SCREEN_EFFECT, 0, PSYCHIC, 100, 30 - move HAZE, HAZE_EFFECT, 0, ICE, 100, 30 - move REFLECT, REFLECT_EFFECT, 0, PSYCHIC, 100, 20 - move FOCUS_ENERGY, FOCUS_ENERGY_EFFECT, 0, NORMAL, 100, 30 - move BIDE, BIDE_EFFECT, 0, NORMAL, 100, 10 - move METRONOME, METRONOME_EFFECT, 0, NORMAL, 100, 10 - move MIRROR_MOVE, MIRROR_MOVE_EFFECT, 0, FLYING, 100, 20 - move SELFDESTRUCT, EXPLODE_EFFECT, 130, NORMAL, 100, 5 - move EGG_BOMB, NO_ADDITIONAL_EFFECT, 100, NORMAL, 75, 10 - move LICK, PARALYZE_SIDE_EFFECT2, 20, GHOST, 100, 30 - move SMOG, POISON_SIDE_EFFECT2, 20, POISON, 70, 20 - move SLUDGE, POISON_SIDE_EFFECT2, 65, POISON, 100, 20 - move BONE_CLUB, FLINCH_SIDE_EFFECT1, 65, GROUND, 85, 20 - move FIRE_BLAST, BURN_SIDE_EFFECT2, 120, FIRE, 85, 5 - move WATERFALL, NO_ADDITIONAL_EFFECT, 80, WATER, 100, 15 - move CLAMP, TRAPPING_EFFECT, 35, WATER, 75, 10 - move SWIFT, SWIFT_EFFECT, 60, NORMAL, 100, 20 - move SKULL_BASH, CHARGE_EFFECT, 100, NORMAL, 100, 15 - move SPIKE_CANNON, TWO_TO_FIVE_ATTACKS_EFFECT, 20, NORMAL, 100, 15 - move CONSTRICT, SPEED_DOWN_SIDE_EFFECT, 10, NORMAL, 100, 35 - move AMNESIA, SPECIAL_UP2_EFFECT, 0, PSYCHIC, 100, 20 - move KINESIS, ACCURACY_DOWN1_EFFECT, 0, PSYCHIC, 80, 15 - move SOFTBOILED, HEAL_EFFECT, 0, NORMAL, 100, 10 - move HI_JUMP_KICK, JUMP_KICK_EFFECT, 85, FIGHTING, 90, 20 - move GLARE, PARALYZE_EFFECT, 0, NORMAL, 75, 30 - move DREAM_EATER, DREAM_EATER_EFFECT, 100, PSYCHIC, 100, 15 - move POISON_GAS, POISON_EFFECT, 0, POISON, 55, 40 - move BARRAGE, TWO_TO_FIVE_ATTACKS_EFFECT, 15, NORMAL, 85, 20 - move LEECH_LIFE, DRAIN_HP_EFFECT, 20, BUG, 100, 15 - move LOVELY_KISS, SLEEP_EFFECT, 0, NORMAL, 75, 10 - move SKY_ATTACK, CHARGE_EFFECT, 140, FLYING, 90, 5 - move TRANSFORM, TRANSFORM_EFFECT, 0, NORMAL, 100, 10 - move BUBBLE, SPEED_DOWN_SIDE_EFFECT, 20, WATER, 100, 30 - move DIZZY_PUNCH, NO_ADDITIONAL_EFFECT, 70, NORMAL, 100, 10 - move SPORE, SLEEP_EFFECT, 0, GRASS, 100, 15 - move FLASH, ACCURACY_DOWN1_EFFECT, 0, NORMAL, 70, 20 - move PSYWAVE, SPECIAL_DAMAGE_EFFECT, 1, PSYCHIC, 80, 15 - move SPLASH, SPLASH_EFFECT, 0, NORMAL, 100, 40 - move ACID_ARMOR, DEFENSE_UP2_EFFECT, 0, POISON, 100, 40 - move CRABHAMMER, NO_ADDITIONAL_EFFECT, 90, WATER, 85, 10 - move EXPLOSION, EXPLODE_EFFECT, 170, NORMAL, 100, 5 - move FURY_SWIPES, TWO_TO_FIVE_ATTACKS_EFFECT, 18, NORMAL, 80, 15 - move BONEMERANG, ATTACK_TWICE_EFFECT, 50, GROUND, 90, 10 - move REST, HEAL_EFFECT, 0, PSYCHIC, 100, 10 - move ROCK_SLIDE, NO_ADDITIONAL_EFFECT, 75, ROCK, 90, 10 - move HYPER_FANG, FLINCH_SIDE_EFFECT1, 80, NORMAL, 90, 15 - move SHARPEN, ATTACK_UP1_EFFECT, 0, NORMAL, 100, 30 - move CONVERSION, CONVERSION_EFFECT, 0, NORMAL, 100, 30 - move TRI_ATTACK, NO_ADDITIONAL_EFFECT, 80, NORMAL, 100, 10 - move SUPER_FANG, SUPER_FANG_EFFECT, 1, NORMAL, 90, 10 - move SLASH, NO_ADDITIONAL_EFFECT, 70, NORMAL, 100, 20 - move SUBSTITUTE, SUBSTITUTE_EFFECT, 0, NORMAL, 100, 10 - move STRUGGLE, RECOIL_EFFECT, 50, NORMAL, 100, 10 + move KARATE_CHOP, NO_ADDITIONAL_EFFECT, 50, NORMAL, 100, 25 + move DOUBLESLAP, TWO_TO_FIVE_ATTACKS_EFFECT, 15, NORMAL, 85, 10 + move COMET_PUNCH, TWO_TO_FIVE_ATTACKS_EFFECT, 18, NORMAL, 85, 15 + move MEGA_PUNCH, NO_ADDITIONAL_EFFECT, 80, NORMAL, 85, 20 + move PAY_DAY, PAY_DAY_EFFECT, 40, NORMAL, 100, 20 + move FIRE_PUNCH, BURN_SIDE_EFFECT1, 75, FIRE, 100, 15 + move ICE_PUNCH, FREEZE_SIDE_EFFECT, 75, ICE, 100, 15 + move THUNDERPUNCH, PARALYZE_SIDE_EFFECT1, 75, ELECTRIC, 100, 15 + move SCRATCH, NO_ADDITIONAL_EFFECT, 40, NORMAL, 100, 35 + move VICEGRIP, NO_ADDITIONAL_EFFECT, 55, NORMAL, 100, 30 + move GUILLOTINE, OHKO_EFFECT, 1, NORMAL, 30, 5 + move RAZOR_WIND, CHARGE_EFFECT, 80, NORMAL, 75, 10 + move SWORDS_DANCE, ATTACK_UP2_EFFECT, 0, NORMAL, 100, 30 + move CUT, NO_ADDITIONAL_EFFECT, 50, NORMAL, 95, 30 + move GUST, NO_ADDITIONAL_EFFECT, 40, NORMAL, 100, 35 + move WING_ATTACK, NO_ADDITIONAL_EFFECT, 35, FLYING, 100, 35 + move WHIRLWIND, SWITCH_AND_TELEPORT_EFFECT, 0, NORMAL, 85, 20 + move FLY, FLY_EFFECT, 70, FLYING, 95, 15 + move BIND, TRAPPING_EFFECT, 15, NORMAL, 75, 20 + move SLAM, NO_ADDITIONAL_EFFECT, 80, NORMAL, 75, 20 + move VINE_WHIP, NO_ADDITIONAL_EFFECT, 35, GRASS, 100, 10 + move STOMP, FLINCH_SIDE_EFFECT2, 65, NORMAL, 100, 20 + move DOUBLE_KICK, ATTACK_TWICE_EFFECT, 30, FIGHTING, 100, 30 + move MEGA_KICK, NO_ADDITIONAL_EFFECT, 120, NORMAL, 75, 5 + move JUMP_KICK, JUMP_KICK_EFFECT, 70, FIGHTING, 95, 25 + move ROLLING_KICK, FLINCH_SIDE_EFFECT2, 60, FIGHTING, 85, 15 + move SAND_ATTACK, ACCURACY_DOWN1_EFFECT, 0, NORMAL, 100, 15 + move HEADBUTT, FLINCH_SIDE_EFFECT2, 70, NORMAL, 100, 15 + move HORN_ATTACK, NO_ADDITIONAL_EFFECT, 65, NORMAL, 100, 25 + move FURY_ATTACK, TWO_TO_FIVE_ATTACKS_EFFECT, 15, NORMAL, 85, 20 + move HORN_DRILL, OHKO_EFFECT, 1, NORMAL, 30, 5 + move TACKLE, NO_ADDITIONAL_EFFECT, 35, NORMAL, 95, 35 + move BODY_SLAM, PARALYZE_SIDE_EFFECT2, 85, NORMAL, 100, 15 + move WRAP, TRAPPING_EFFECT, 15, NORMAL, 85, 20 + move TAKE_DOWN, RECOIL_EFFECT, 90, NORMAL, 85, 20 + move THRASH, THRASH_PETAL_DANCE_EFFECT, 90, NORMAL, 100, 20 + move DOUBLE_EDGE, RECOIL_EFFECT, 100, NORMAL, 100, 15 + move TAIL_WHIP, DEFENSE_DOWN1_EFFECT, 0, NORMAL, 100, 30 + move POISON_STING, POISON_SIDE_EFFECT1, 15, POISON, 100, 35 + move TWINEEDLE, TWINEEDLE_EFFECT, 25, BUG, 100, 20 + move PIN_MISSILE, TWO_TO_FIVE_ATTACKS_EFFECT, 14, BUG, 85, 20 + move LEER, DEFENSE_DOWN1_EFFECT, 0, NORMAL, 100, 30 + move BITE, FLINCH_SIDE_EFFECT1, 60, NORMAL, 100, 25 + move GROWL, ATTACK_DOWN1_EFFECT, 0, NORMAL, 100, 40 + move ROAR, SWITCH_AND_TELEPORT_EFFECT, 0, NORMAL, 100, 20 + move SING, SLEEP_EFFECT, 0, NORMAL, 55, 15 + move SUPERSONIC, CONFUSION_EFFECT, 0, NORMAL, 55, 20 + move SONICBOOM, SPECIAL_DAMAGE_EFFECT, 1, NORMAL, 90, 20 + move DISABLE, DISABLE_EFFECT, 0, NORMAL, 55, 20 + move ACID, DEFENSE_DOWN_SIDE_EFFECT, 40, POISON, 100, 30 + move EMBER, BURN_SIDE_EFFECT1, 40, FIRE, 100, 25 + move FLAMETHROWER, BURN_SIDE_EFFECT1, 95, FIRE, 100, 15 + move MIST, MIST_EFFECT, 0, ICE, 100, 30 + move WATER_GUN, NO_ADDITIONAL_EFFECT, 40, WATER, 100, 25 + move HYDRO_PUMP, NO_ADDITIONAL_EFFECT, 120, WATER, 80, 5 + move SURF, NO_ADDITIONAL_EFFECT, 95, WATER, 100, 15 + move ICE_BEAM, FREEZE_SIDE_EFFECT, 95, ICE, 100, 10 + move BLIZZARD, FREEZE_SIDE_EFFECT, 120, ICE, 90, 5 + move PSYBEAM, CONFUSION_SIDE_EFFECT, 65, PSYCHIC_TYPE, 100, 20 + move BUBBLEBEAM, SPEED_DOWN_SIDE_EFFECT, 65, WATER, 100, 20 + move AURORA_BEAM, ATTACK_DOWN_SIDE_EFFECT, 65, ICE, 100, 20 + move HYPER_BEAM, HYPER_BEAM_EFFECT, 150, NORMAL, 90, 5 + move PECK, NO_ADDITIONAL_EFFECT, 35, FLYING, 100, 35 + move DRILL_PECK, NO_ADDITIONAL_EFFECT, 80, FLYING, 100, 20 + move SUBMISSION, RECOIL_EFFECT, 80, FIGHTING, 80, 25 + move LOW_KICK, FLINCH_SIDE_EFFECT2, 50, FIGHTING, 90, 20 + move COUNTER, NO_ADDITIONAL_EFFECT, 1, FIGHTING, 100, 20 + move SEISMIC_TOSS, SPECIAL_DAMAGE_EFFECT, 1, FIGHTING, 100, 20 + move STRENGTH, NO_ADDITIONAL_EFFECT, 80, NORMAL, 100, 15 + move ABSORB, DRAIN_HP_EFFECT, 20, GRASS, 100, 20 + move MEGA_DRAIN, DRAIN_HP_EFFECT, 40, GRASS, 100, 10 + move LEECH_SEED, LEECH_SEED_EFFECT, 0, GRASS, 90, 10 + move GROWTH, SPECIAL_UP1_EFFECT, 0, NORMAL, 100, 40 + move RAZOR_LEAF, NO_ADDITIONAL_EFFECT, 55, GRASS, 95, 25 + move SOLARBEAM, CHARGE_EFFECT, 120, GRASS, 100, 10 + move POISONPOWDER, POISON_EFFECT, 0, POISON, 75, 35 + move STUN_SPORE, PARALYZE_EFFECT, 0, GRASS, 75, 30 + move SLEEP_POWDER, SLEEP_EFFECT, 0, GRASS, 75, 15 + move PETAL_DANCE, THRASH_PETAL_DANCE_EFFECT, 70, GRASS, 100, 20 + move STRING_SHOT, SPEED_DOWN1_EFFECT, 0, BUG, 95, 40 + move DRAGON_RAGE, SPECIAL_DAMAGE_EFFECT, 1, DRAGON, 100, 10 + move FIRE_SPIN, TRAPPING_EFFECT, 15, FIRE, 70, 15 + move THUNDERSHOCK, PARALYZE_SIDE_EFFECT1, 40, ELECTRIC, 100, 30 + move THUNDERBOLT, PARALYZE_SIDE_EFFECT1, 95, ELECTRIC, 100, 15 + move THUNDER_WAVE, PARALYZE_EFFECT, 0, ELECTRIC, 100, 20 + move THUNDER, PARALYZE_SIDE_EFFECT1, 120, ELECTRIC, 70, 10 + move ROCK_THROW, NO_ADDITIONAL_EFFECT, 50, ROCK, 65, 15 + move EARTHQUAKE, NO_ADDITIONAL_EFFECT, 100, GROUND, 100, 10 + move FISSURE, OHKO_EFFECT, 1, GROUND, 30, 5 + move DIG, CHARGE_EFFECT, 100, GROUND, 100, 10 + move TOXIC, POISON_EFFECT, 0, POISON, 85, 10 + move CONFUSION, CONFUSION_SIDE_EFFECT, 50, PSYCHIC_TYPE, 100, 25 + move PSYCHIC_M, SPECIAL_DOWN_SIDE_EFFECT, 90, PSYCHIC_TYPE, 100, 10 + move HYPNOSIS, SLEEP_EFFECT, 0, PSYCHIC_TYPE, 60, 20 + move MEDITATE, ATTACK_UP1_EFFECT, 0, PSYCHIC_TYPE, 100, 40 + move AGILITY, SPEED_UP2_EFFECT, 0, PSYCHIC_TYPE, 100, 30 + move QUICK_ATTACK, NO_ADDITIONAL_EFFECT, 40, NORMAL, 100, 30 + move RAGE, RAGE_EFFECT, 20, NORMAL, 100, 20 + move TELEPORT, SWITCH_AND_TELEPORT_EFFECT, 0, PSYCHIC_TYPE, 100, 20 + move NIGHT_SHADE, SPECIAL_DAMAGE_EFFECT, 0, GHOST, 100, 15 + move MIMIC, MIMIC_EFFECT, 0, NORMAL, 100, 10 + move SCREECH, DEFENSE_DOWN2_EFFECT, 0, NORMAL, 85, 40 + move DOUBLE_TEAM, EVASION_UP1_EFFECT, 0, NORMAL, 100, 15 + move RECOVER, HEAL_EFFECT, 0, NORMAL, 100, 20 + move HARDEN, DEFENSE_UP1_EFFECT, 0, NORMAL, 100, 30 + move MINIMIZE, EVASION_UP1_EFFECT, 0, NORMAL, 100, 20 + move SMOKESCREEN, ACCURACY_DOWN1_EFFECT, 0, NORMAL, 100, 20 + move CONFUSE_RAY, CONFUSION_EFFECT, 0, GHOST, 100, 10 + move WITHDRAW, DEFENSE_UP1_EFFECT, 0, WATER, 100, 40 + move DEFENSE_CURL, DEFENSE_UP1_EFFECT, 0, NORMAL, 100, 40 + move BARRIER, DEFENSE_UP2_EFFECT, 0, PSYCHIC_TYPE, 100, 30 + move LIGHT_SCREEN, LIGHT_SCREEN_EFFECT, 0, PSYCHIC_TYPE, 100, 30 + move HAZE, HAZE_EFFECT, 0, ICE, 100, 30 + move REFLECT, REFLECT_EFFECT, 0, PSYCHIC_TYPE, 100, 20 + move FOCUS_ENERGY, FOCUS_ENERGY_EFFECT, 0, NORMAL, 100, 30 + move BIDE, BIDE_EFFECT, 0, NORMAL, 100, 10 + move METRONOME, METRONOME_EFFECT, 0, NORMAL, 100, 10 + move MIRROR_MOVE, MIRROR_MOVE_EFFECT, 0, FLYING, 100, 20 + move SELFDESTRUCT, EXPLODE_EFFECT, 130, NORMAL, 100, 5 + move EGG_BOMB, NO_ADDITIONAL_EFFECT, 100, NORMAL, 75, 10 + move LICK, PARALYZE_SIDE_EFFECT2, 20, GHOST, 100, 30 + move SMOG, POISON_SIDE_EFFECT2, 20, POISON, 70, 20 + move SLUDGE, POISON_SIDE_EFFECT2, 65, POISON, 100, 20 + move BONE_CLUB, FLINCH_SIDE_EFFECT1, 65, GROUND, 85, 20 + move FIRE_BLAST, BURN_SIDE_EFFECT2, 120, FIRE, 85, 5 + move WATERFALL, NO_ADDITIONAL_EFFECT, 80, WATER, 100, 15 + move CLAMP, TRAPPING_EFFECT, 35, WATER, 75, 10 + move SWIFT, SWIFT_EFFECT, 60, NORMAL, 100, 20 + move SKULL_BASH, CHARGE_EFFECT, 100, NORMAL, 100, 15 + move SPIKE_CANNON, TWO_TO_FIVE_ATTACKS_EFFECT, 20, NORMAL, 100, 15 + move CONSTRICT, SPEED_DOWN_SIDE_EFFECT, 10, NORMAL, 100, 35 + move AMNESIA, SPECIAL_UP2_EFFECT, 0, PSYCHIC_TYPE, 100, 20 + move KINESIS, ACCURACY_DOWN1_EFFECT, 0, PSYCHIC_TYPE, 80, 15 + move SOFTBOILED, HEAL_EFFECT, 0, NORMAL, 100, 10 + move HI_JUMP_KICK, JUMP_KICK_EFFECT, 85, FIGHTING, 90, 20 + move GLARE, PARALYZE_EFFECT, 0, NORMAL, 75, 30 + move DREAM_EATER, DREAM_EATER_EFFECT, 100, PSYCHIC_TYPE, 100, 15 + move POISON_GAS, POISON_EFFECT, 0, POISON, 55, 40 + move BARRAGE, TWO_TO_FIVE_ATTACKS_EFFECT, 15, NORMAL, 85, 20 + move LEECH_LIFE, DRAIN_HP_EFFECT, 20, BUG, 100, 15 + move LOVELY_KISS, SLEEP_EFFECT, 0, NORMAL, 75, 10 + move SKY_ATTACK, CHARGE_EFFECT, 140, FLYING, 90, 5 + move TRANSFORM, TRANSFORM_EFFECT, 0, NORMAL, 100, 10 + move BUBBLE, SPEED_DOWN_SIDE_EFFECT, 20, WATER, 100, 30 + move DIZZY_PUNCH, NO_ADDITIONAL_EFFECT, 70, NORMAL, 100, 10 + move SPORE, SLEEP_EFFECT, 0, GRASS, 100, 15 + move FLASH, ACCURACY_DOWN1_EFFECT, 0, NORMAL, 70, 20 + move PSYWAVE, SPECIAL_DAMAGE_EFFECT, 1, PSYCHIC_TYPE, 80, 15 + move SPLASH, SPLASH_EFFECT, 0, NORMAL, 100, 40 + move ACID_ARMOR, DEFENSE_UP2_EFFECT, 0, POISON, 100, 40 + move CRABHAMMER, NO_ADDITIONAL_EFFECT, 90, WATER, 85, 10 + move EXPLOSION, EXPLODE_EFFECT, 170, NORMAL, 100, 5 + move FURY_SWIPES, TWO_TO_FIVE_ATTACKS_EFFECT, 18, NORMAL, 80, 15 + move BONEMERANG, ATTACK_TWICE_EFFECT, 50, GROUND, 90, 10 + move REST, HEAL_EFFECT, 0, PSYCHIC_TYPE, 100, 10 + move ROCK_SLIDE, NO_ADDITIONAL_EFFECT, 75, ROCK, 90, 10 + move HYPER_FANG, FLINCH_SIDE_EFFECT1, 80, NORMAL, 90, 15 + move SHARPEN, ATTACK_UP1_EFFECT, 0, NORMAL, 100, 30 + move CONVERSION, CONVERSION_EFFECT, 0, NORMAL, 100, 30 + move TRI_ATTACK, NO_ADDITIONAL_EFFECT, 80, NORMAL, 100, 10 + move SUPER_FANG, SUPER_FANG_EFFECT, 1, NORMAL, 90, 10 + move SLASH, NO_ADDITIONAL_EFFECT, 70, NORMAL, 100, 20 + move SUBSTITUTE, SUBSTITUTE_EFFECT, 0, NORMAL, 100, 10 + move STRUGGLE, RECOIL_EFFECT, 50, NORMAL, 100, 10 diff --git a/data/pokemon/base_stats/abra.asm b/data/pokemon/base_stats/abra.asm index 522bd0a5..97009888 100644 --- a/data/pokemon/base_stats/abra.asm +++ b/data/pokemon/base_stats/abra.asm @@ -3,7 +3,7 @@ db 25, 20, 15, 90, 105 ; hp atk def spd spc - db PSYCHIC, PSYCHIC ; type + db PSYCHIC_TYPE, PSYCHIC_TYPE ; type db 200 ; catch rate db 73 ; base exp diff --git a/data/pokemon/base_stats/alakazam.asm b/data/pokemon/base_stats/alakazam.asm index d4b8296a..dd1fe126 100644 --- a/data/pokemon/base_stats/alakazam.asm +++ b/data/pokemon/base_stats/alakazam.asm @@ -3,7 +3,7 @@ db 55, 50, 45, 120, 135 ; hp atk def spd spc - db PSYCHIC, PSYCHIC ; type + db PSYCHIC_TYPE, PSYCHIC_TYPE ; type db 50 ; catch rate db 186 ; base exp diff --git a/data/pokemon/base_stats/drowzee.asm b/data/pokemon/base_stats/drowzee.asm index 756c2bae..e1760ebe 100644 --- a/data/pokemon/base_stats/drowzee.asm +++ b/data/pokemon/base_stats/drowzee.asm @@ -3,7 +3,7 @@ db 60, 48, 45, 42, 90 ; hp atk def spd spc - db PSYCHIC, PSYCHIC ; type + db PSYCHIC_TYPE, PSYCHIC_TYPE ; type db 190 ; catch rate db 102 ; base exp diff --git a/data/pokemon/base_stats/exeggcute.asm b/data/pokemon/base_stats/exeggcute.asm index ee91449d..3e0cb826 100644 --- a/data/pokemon/base_stats/exeggcute.asm +++ b/data/pokemon/base_stats/exeggcute.asm @@ -3,7 +3,7 @@ db 60, 40, 80, 40, 60 ; hp atk def spd spc - db GRASS, PSYCHIC ; type + db GRASS, PSYCHIC_TYPE ; type db 90 ; catch rate db 98 ; base exp diff --git a/data/pokemon/base_stats/exeggutor.asm b/data/pokemon/base_stats/exeggutor.asm index 6d12f9cb..2c68c724 100644 --- a/data/pokemon/base_stats/exeggutor.asm +++ b/data/pokemon/base_stats/exeggutor.asm @@ -3,7 +3,7 @@ db 95, 95, 85, 55, 125 ; hp atk def spd spc - db GRASS, PSYCHIC ; type + db GRASS, PSYCHIC_TYPE ; type db 45 ; catch rate db 212 ; base exp diff --git a/data/pokemon/base_stats/hypno.asm b/data/pokemon/base_stats/hypno.asm index b03cb2a0..208c5bd2 100644 --- a/data/pokemon/base_stats/hypno.asm +++ b/data/pokemon/base_stats/hypno.asm @@ -3,7 +3,7 @@ db 85, 73, 70, 67, 115 ; hp atk def spd spc - db PSYCHIC, PSYCHIC ; type + db PSYCHIC_TYPE, PSYCHIC_TYPE ; type db 75 ; catch rate db 165 ; base exp diff --git a/data/pokemon/base_stats/jynx.asm b/data/pokemon/base_stats/jynx.asm index 0324d5f9..6cc52608 100644 --- a/data/pokemon/base_stats/jynx.asm +++ b/data/pokemon/base_stats/jynx.asm @@ -3,7 +3,7 @@ db 65, 50, 35, 95, 95 ; hp atk def spd spc - db ICE, PSYCHIC ; type + db ICE, PSYCHIC_TYPE ; type db 45 ; catch rate db 137 ; base exp diff --git a/data/pokemon/base_stats/kadabra.asm b/data/pokemon/base_stats/kadabra.asm index eba3878b..6ce061e8 100644 --- a/data/pokemon/base_stats/kadabra.asm +++ b/data/pokemon/base_stats/kadabra.asm @@ -3,7 +3,7 @@ db 40, 35, 30, 105, 120 ; hp atk def spd spc - db PSYCHIC, PSYCHIC ; type + db PSYCHIC_TYPE, PSYCHIC_TYPE ; type db 100 ; catch rate db 145 ; base exp diff --git a/data/pokemon/base_stats/mew.asm b/data/pokemon/base_stats/mew.asm index d601c7a0..e65e45ec 100644 --- a/data/pokemon/base_stats/mew.asm +++ b/data/pokemon/base_stats/mew.asm @@ -3,7 +3,7 @@ db 100, 100, 100, 100, 100 ; hp atk def spd spc - db PSYCHIC, PSYCHIC ; type + db PSYCHIC_TYPE, PSYCHIC_TYPE ; type db 45 ; catch rate db 64 ; base exp diff --git a/data/pokemon/base_stats/mewtwo.asm b/data/pokemon/base_stats/mewtwo.asm index fd77502d..4142479b 100644 --- a/data/pokemon/base_stats/mewtwo.asm +++ b/data/pokemon/base_stats/mewtwo.asm @@ -3,7 +3,7 @@ db 106, 110, 90, 130, 154 ; hp atk def spd spc - db PSYCHIC, PSYCHIC ; type + db PSYCHIC_TYPE, PSYCHIC_TYPE ; type db 3 ; catch rate db 220 ; base exp diff --git a/data/pokemon/base_stats/mrmime.asm b/data/pokemon/base_stats/mrmime.asm index 44b11ad1..c4d98f79 100644 --- a/data/pokemon/base_stats/mrmime.asm +++ b/data/pokemon/base_stats/mrmime.asm @@ -3,7 +3,7 @@ db 40, 45, 65, 90, 100 ; hp atk def spd spc - db PSYCHIC, PSYCHIC ; type + db PSYCHIC_TYPE, PSYCHIC_TYPE ; type db 45 ; catch rate db 136 ; base exp diff --git a/data/pokemon/base_stats/slowbro.asm b/data/pokemon/base_stats/slowbro.asm index 939229d6..a5e067d2 100644 --- a/data/pokemon/base_stats/slowbro.asm +++ b/data/pokemon/base_stats/slowbro.asm @@ -3,7 +3,7 @@ db 95, 75, 110, 30, 80 ; hp atk def spd spc - db WATER, PSYCHIC ; type + db WATER, PSYCHIC_TYPE ; type db 75 ; catch rate db 164 ; base exp diff --git a/data/pokemon/base_stats/slowpoke.asm b/data/pokemon/base_stats/slowpoke.asm index 77c48277..acb8d0ed 100644 --- a/data/pokemon/base_stats/slowpoke.asm +++ b/data/pokemon/base_stats/slowpoke.asm @@ -3,7 +3,7 @@ db 90, 65, 65, 15, 40 ; hp atk def spd spc - db WATER, PSYCHIC ; type + db WATER, PSYCHIC_TYPE ; type db 190 ; catch rate db 99 ; base exp diff --git a/data/pokemon/base_stats/starmie.asm b/data/pokemon/base_stats/starmie.asm index 5792c21f..dfbad82d 100644 --- a/data/pokemon/base_stats/starmie.asm +++ b/data/pokemon/base_stats/starmie.asm @@ -3,7 +3,7 @@ db 60, 75, 85, 115, 100 ; hp atk def spd spc - db WATER, PSYCHIC ; type + db WATER, PSYCHIC_TYPE ; type db 60 ; catch rate db 207 ; base exp diff --git a/data/types/type_matchups.asm b/data/types/type_matchups.asm index 1321a3d9..52e3d956 100755 --- a/data/types/type_matchups.asm +++ b/data/types/type_matchups.asm @@ -1,89 +1,85 @@ TypeEffects: -; format: attacking type, defending type, damage multiplier -; the multiplier is a (decimal) fixed-point number: -; 20 is ×2.0 -; 05 is ×0.5 -; 00 is ×0 - db WATER,FIRE,20 - db FIRE,GRASS,20 - db FIRE,ICE,20 - db GRASS,WATER,20 - db ELECTRIC,WATER,20 - db WATER,ROCK,20 - db GROUND,FLYING,00 - db WATER,WATER,05 - db FIRE,FIRE,05 - db ELECTRIC,ELECTRIC,05 - db ICE,ICE,05 - db GRASS,GRASS,05 - db PSYCHIC,PSYCHIC,05 - db FIRE,WATER,05 - db GRASS,FIRE,05 - db WATER,GRASS,05 - db ELECTRIC,GRASS,05 - db NORMAL,ROCK,05 - db NORMAL,GHOST,00 - db GHOST,GHOST,20 - db FIRE,BUG,20 - db FIRE,ROCK,05 - db WATER,GROUND,20 - db ELECTRIC,GROUND,00 - db ELECTRIC,FLYING,20 - db GRASS,GROUND,20 - db GRASS,BUG,05 - db GRASS,POISON,05 - db GRASS,ROCK,20 - db GRASS,FLYING,05 - db ICE,WATER,05 - db ICE,GRASS,20 - db ICE,GROUND,20 - db ICE,FLYING,20 - db FIGHTING,NORMAL,20 - db FIGHTING,POISON,05 - db FIGHTING,FLYING,05 - db FIGHTING,PSYCHIC,05 - db FIGHTING,BUG,05 - db FIGHTING,ROCK,20 - db FIGHTING,ICE,20 - db FIGHTING,GHOST,00 - db POISON,GRASS,20 - db POISON,POISON,05 - db POISON,GROUND,05 - db POISON,BUG,20 - db POISON,ROCK,05 - db POISON,GHOST,05 - db GROUND,FIRE,20 - db GROUND,ELECTRIC,20 - db GROUND,GRASS,05 - db GROUND,BUG,05 - db GROUND,ROCK,20 - db GROUND,POISON,20 - db FLYING,ELECTRIC,05 - db FLYING,FIGHTING,20 - db FLYING,BUG,20 - db FLYING,GRASS,20 - db FLYING,ROCK,05 - db PSYCHIC,FIGHTING,20 - db PSYCHIC,POISON,20 - db BUG,FIRE,05 - db BUG,GRASS,20 - db BUG,FIGHTING,05 - db BUG,FLYING,05 - db BUG,PSYCHIC,20 - db BUG,GHOST,05 - db BUG,POISON,20 - db ROCK,FIRE,20 - db ROCK,FIGHTING,05 - db ROCK,GROUND,05 - db ROCK,FLYING,20 - db ROCK,BUG,20 - db ROCK,ICE,20 - db GHOST,NORMAL,00 - db GHOST,PSYCHIC,00 - db FIRE,DRAGON,05 - db WATER,DRAGON,05 - db ELECTRIC,DRAGON,05 - db GRASS,DRAGON,05 - db ICE,DRAGON,20 - db DRAGON,DRAGON,20 - db $FF + ; attacker, defender, *= + db WATER, FIRE, SUPER_EFFECTIVE + db FIRE, GRASS, SUPER_EFFECTIVE + db FIRE, ICE, SUPER_EFFECTIVE + db GRASS, WATER, SUPER_EFFECTIVE + db ELECTRIC, WATER, SUPER_EFFECTIVE + db WATER, ROCK, SUPER_EFFECTIVE + db GROUND, FLYING, NO_EFFECT + db WATER, WATER, NOT_VERY_EFFECTIVE + db FIRE, FIRE, NOT_VERY_EFFECTIVE + db ELECTRIC, ELECTRIC, NOT_VERY_EFFECTIVE + db ICE, ICE, NOT_VERY_EFFECTIVE + db GRASS, GRASS, NOT_VERY_EFFECTIVE + db PSYCHIC_TYPE, PSYCHIC_TYPE, NOT_VERY_EFFECTIVE + db FIRE, WATER, NOT_VERY_EFFECTIVE + db GRASS, FIRE, NOT_VERY_EFFECTIVE + db WATER, GRASS, NOT_VERY_EFFECTIVE + db ELECTRIC, GRASS, NOT_VERY_EFFECTIVE + db NORMAL, ROCK, NOT_VERY_EFFECTIVE + db NORMAL, GHOST, NO_EFFECT + db GHOST, GHOST, SUPER_EFFECTIVE + db FIRE, BUG, SUPER_EFFECTIVE + db FIRE, ROCK, NOT_VERY_EFFECTIVE + db WATER, GROUND, SUPER_EFFECTIVE + db ELECTRIC, GROUND, NO_EFFECT + db ELECTRIC, FLYING, SUPER_EFFECTIVE + db GRASS, GROUND, SUPER_EFFECTIVE + db GRASS, BUG, NOT_VERY_EFFECTIVE + db GRASS, POISON, NOT_VERY_EFFECTIVE + db GRASS, ROCK, SUPER_EFFECTIVE + db GRASS, FLYING, NOT_VERY_EFFECTIVE + db ICE, WATER, NOT_VERY_EFFECTIVE + db ICE, GRASS, SUPER_EFFECTIVE + db ICE, GROUND, SUPER_EFFECTIVE + db ICE, FLYING, SUPER_EFFECTIVE + db FIGHTING, NORMAL, SUPER_EFFECTIVE + db FIGHTING, POISON, NOT_VERY_EFFECTIVE + db FIGHTING, FLYING, NOT_VERY_EFFECTIVE + db FIGHTING, PSYCHIC_TYPE, NOT_VERY_EFFECTIVE + db FIGHTING, BUG, NOT_VERY_EFFECTIVE + db FIGHTING, ROCK, SUPER_EFFECTIVE + db FIGHTING, ICE, SUPER_EFFECTIVE + db FIGHTING, GHOST, NO_EFFECT + db POISON, GRASS, SUPER_EFFECTIVE + db POISON, POISON, NOT_VERY_EFFECTIVE + db POISON, GROUND, NOT_VERY_EFFECTIVE + db POISON, BUG, SUPER_EFFECTIVE + db POISON, ROCK, NOT_VERY_EFFECTIVE + db POISON, GHOST, NOT_VERY_EFFECTIVE + db GROUND, FIRE, SUPER_EFFECTIVE + db GROUND, ELECTRIC, SUPER_EFFECTIVE + db GROUND, GRASS, NOT_VERY_EFFECTIVE + db GROUND, BUG, NOT_VERY_EFFECTIVE + db GROUND, ROCK, SUPER_EFFECTIVE + db GROUND, POISON, SUPER_EFFECTIVE + db FLYING, ELECTRIC, NOT_VERY_EFFECTIVE + db FLYING, FIGHTING, SUPER_EFFECTIVE + db FLYING, BUG, SUPER_EFFECTIVE + db FLYING, GRASS, SUPER_EFFECTIVE + db FLYING, ROCK, NOT_VERY_EFFECTIVE + db PSYCHIC_TYPE, FIGHTING, SUPER_EFFECTIVE + db PSYCHIC_TYPE, POISON, SUPER_EFFECTIVE + db BUG, FIRE, NOT_VERY_EFFECTIVE + db BUG, GRASS, SUPER_EFFECTIVE + db BUG, FIGHTING, NOT_VERY_EFFECTIVE + db BUG, FLYING, NOT_VERY_EFFECTIVE + db BUG, PSYCHIC_TYPE, SUPER_EFFECTIVE + db BUG, GHOST, NOT_VERY_EFFECTIVE + db BUG, POISON, SUPER_EFFECTIVE + db ROCK, FIRE, SUPER_EFFECTIVE + db ROCK, FIGHTING, NOT_VERY_EFFECTIVE + db ROCK, GROUND, NOT_VERY_EFFECTIVE + db ROCK, FLYING, SUPER_EFFECTIVE + db ROCK, BUG, SUPER_EFFECTIVE + db ROCK, ICE, SUPER_EFFECTIVE + db GHOST, NORMAL, NO_EFFECT + db GHOST, PSYCHIC_TYPE, NO_EFFECT + db FIRE, DRAGON, NOT_VERY_EFFECTIVE + db WATER, DRAGON, NOT_VERY_EFFECTIVE + db ELECTRIC, DRAGON, NOT_VERY_EFFECTIVE + db GRASS, DRAGON, NOT_VERY_EFFECTIVE + db ICE, DRAGON, SUPER_EFFECTIVE + db DRAGON, DRAGON, SUPER_EFFECTIVE + db -1 ; end -- cgit v1.2.3 From 45ed05decf330faab4503fe8fecadc54698c9724 Mon Sep 17 00:00:00 2001 From: Rangi Date: Tue, 7 Jul 2020 11:10:29 -0400 Subject: Use HIGH() and LOW() --- constants/audio_constants.asm | 8 ++--- constants/battle_constants.asm | 2 ++ engine/battle/core.asm | 44 ++++++++++++++-------------- engine/battle/effects.asm | 15 +++++----- engine/gfx/mon_icons.asm | 2 +- engine/gfx/oam_dma.asm | 4 +-- engine/gfx/sprite_oam.asm | 8 ++--- engine/items/inventory.asm | 4 +-- engine/link/cable_club.asm | 4 +-- engine/movie/oak_speech/init_player_data.asm | 4 +-- engine/movie/title.asm | 12 ++++---- engine/movie/trade.asm | 4 +-- engine/overworld/elevator.asm | 2 +- engine/overworld/movement.asm | 22 +++++++------- engine/overworld/sprite_collisions.asm | 4 +-- engine/slots/slot_machine.asm | 10 +++---- home.asm | 2 +- home/init.asm | 4 +-- home/move_mon.asm | 10 +++---- home/uncompress.asm | 4 +-- macros/scripts/audio.asm | 3 +- scripts/SafariZoneGate.asm | 4 +-- 22 files changed, 89 insertions(+), 87 deletions(-) diff --git a/constants/audio_constants.asm b/constants/audio_constants.asm index 38719f92..3a1a8f5b 100644 --- a/constants/audio_constants.asm +++ b/constants/audio_constants.asm @@ -25,10 +25,10 @@ const Ch8 ; 7 ; HW sound channel register base addresses -HW_CH1_BASE EQU (rNR10 % $100) -HW_CH2_BASE EQU ((rNR21 % $100) - 1) -HW_CH3_BASE EQU (rNR30 % $100) -HW_CH4_BASE EQU ((rNR41 % $100) - 1) +HW_CH1_BASE EQU LOW(rNR10) +HW_CH2_BASE EQU LOW(rNR21) - 1 +HW_CH3_BASE EQU LOW(rNR30) +HW_CH4_BASE EQU LOW(rNR41) - 1 ; HW sound channel enable bit masks HW_CH1_ENABLE_MASK EQU %00010001 diff --git a/constants/battle_constants.asm b/constants/battle_constants.asm index ba5d6c68..bdd03e8a 100644 --- a/constants/battle_constants.asm +++ b/constants/battle_constants.asm @@ -35,6 +35,8 @@ BRN EQU 4 FRZ EQU 5 PAR EQU 6 +MAX_STAT_VALUE EQU 999 + ; volatile statuses 1 STORING_ENERGY EQU 0 ; Bide THRASHING_ABOUT EQU 1 ; e.g. Thrash diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 4d999d2a..9a66265c 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -4182,8 +4182,8 @@ GetDamageVarsForPlayerAttack: ; if the enemy has used Light Screen, double the enemy's special sla c rl b -; reflect and light screen boosts do not cap the stat at 999, so weird things will happen during stats scaling if -; a Pokemon with 512 or more Defense has used Reflect, or if a Pokemon with 512 or more Special has used Light Screen +; reflect and light screen boosts do not cap the stat at MAX_STAT_VALUE, so weird things will happen during stats scaling +; if a Pokemon with 512 or more Defense has used Reflect, or if a Pokemon with 512 or more Special has used Light Screen .specialAttackCritCheck ld hl, wBattleMonSpecial ld a, [wCriticalHitOrOHKO] @@ -4295,8 +4295,8 @@ GetDamageVarsForEnemyAttack: ; if the player has used Light Screen, double the player's special sla c rl b -; reflect and light screen boosts do not cap the stat at 999, so weird things will happen during stats scaling if -; a Pokemon with 512 or more Defense has used Reflect, or if a Pokemon with 512 or more Special has used Light Screen +; reflect and light screen boosts do not cap the stat at MAX_STAT_VALUE, so weird things will happen during stats scaling +; if a Pokemon with 512 or more Defense has used Reflect, or if a Pokemon with 512 or more Special has used Light Screen .specialAttackCritCheck ld hl, wEnemyMonSpecial ld a, [wCriticalHitOrOHKO] @@ -4508,14 +4508,14 @@ CalculateDamage: jr nz, .cap ldh a, [hQuotient + 2] - cp (MAX_NEUTRAL_DAMAGE - MIN_NEUTRAL_DAMAGE + 1) / $100 + cp HIGH(MAX_NEUTRAL_DAMAGE - MIN_NEUTRAL_DAMAGE + 1) jr c, .dont_cap_2 - cp (MAX_NEUTRAL_DAMAGE - MIN_NEUTRAL_DAMAGE + 1) / $100 + 1 + cp HIGH(MAX_NEUTRAL_DAMAGE - MIN_NEUTRAL_DAMAGE + 1) + 1 jr nc, .cap ldh a, [hQuotient + 3] - cp (MAX_NEUTRAL_DAMAGE - MIN_NEUTRAL_DAMAGE + 1) % $100 + cp LOW(MAX_NEUTRAL_DAMAGE - MIN_NEUTRAL_DAMAGE + 1) jr nc, .cap .dont_cap_2 @@ -4533,21 +4533,21 @@ CalculateDamage: jr c, .cap ld a, [hl] - cp (MAX_NEUTRAL_DAMAGE - MIN_NEUTRAL_DAMAGE + 1) / $100 + cp HIGH(MAX_NEUTRAL_DAMAGE - MIN_NEUTRAL_DAMAGE + 1) jr c, .dont_cap_3 - cp (MAX_NEUTRAL_DAMAGE - MIN_NEUTRAL_DAMAGE + 1) / $100 + 1 + cp HIGH(MAX_NEUTRAL_DAMAGE - MIN_NEUTRAL_DAMAGE + 1) + 1 jr nc, .cap inc hl ld a, [hld] - cp (MAX_NEUTRAL_DAMAGE - MIN_NEUTRAL_DAMAGE + 1) % $100 + cp LOW(MAX_NEUTRAL_DAMAGE - MIN_NEUTRAL_DAMAGE + 1) jr c, .dont_cap_3 .cap - ld a, (MAX_NEUTRAL_DAMAGE - MIN_NEUTRAL_DAMAGE) / $100 + ld a, HIGH(MAX_NEUTRAL_DAMAGE - MIN_NEUTRAL_DAMAGE) ld [hli], a - ld a, (MAX_NEUTRAL_DAMAGE - MIN_NEUTRAL_DAMAGE) % $100 + ld a, LOW(MAX_NEUTRAL_DAMAGE - MIN_NEUTRAL_DAMAGE) ld [hld], a .dont_cap_3 @@ -6526,14 +6526,14 @@ CalculateModifiedStat: call Divide pop hl ldh a, [hDividend + 3] - sub 999 % $100 + sub LOW(MAX_STAT_VALUE) ldh a, [hDividend + 2] - sbc 999 / $100 + sbc HIGH(MAX_STAT_VALUE) jp c, .storeNewStatValue -; cap the stat at 999 - ld a, 999 / $100 +; cap the stat at MAX_STAT_VALUE (999) + ld a, HIGH(MAX_STAT_VALUE) ldh [hDividend + 2], a - ld a, 999 % $100 + ld a, LOW(MAX_STAT_VALUE) ldh [hDividend + 3], a .storeNewStatValue ldh a, [hDividend + 2] @@ -6573,7 +6573,7 @@ ApplyBadgeStatBoosts: ret ; multiply stat at hl by 1.125 -; cap stat at 999 +; cap stat at MAX_STAT_VALUE .applyBoostToStat ld a, [hli] ld d, a @@ -6591,13 +6591,13 @@ ApplyBadgeStatBoosts: adc d ld [hli], a ld a, [hld] - sub 999 % $100 + sub LOW(MAX_STAT_VALUE) ld a, [hl] - sbc 999 / $100 + sbc HIGH(MAX_STAT_VALUE) ret c - ld a, 999 / $100 + ld a, HIGH(MAX_STAT_VALUE) ld [hli], a - ld a, 999 % $100 + ld a, LOW(MAX_STAT_VALUE) ld [hld], a ret diff --git a/engine/battle/effects.asm b/engine/battle/effects.asm index fe050937..441d6c1c 100644 --- a/engine/battle/effects.asm +++ b/engine/battle/effects.asm @@ -399,11 +399,12 @@ StatModifierUpEffect: inc d ; de = unmodified (original) stat .checkIf999 pop bc + ; check if stat is already 999 ld a, [hld] - sub 999 % $100 ; check if stat is already 999 + sub LOW(MAX_STAT_VALUE) jr nz, .recalculateStat ld a, [hl] - sbc 999 / $100 + sbc HIGH(MAX_STAT_VALUE) jp z, RestoreOriginalStatModifier .recalculateStat ; recalculate affected stat ; paralysis and burn penalties, as well as badge boosts are ignored @@ -431,15 +432,15 @@ StatModifierUpEffect: ld b, $4 call Divide pop hl -; cap at 999 +; cap at MAX_STAT_VALUE (999) ldh a, [hProduct + 3] - sub 999 % $100 + sub LOW(MAX_STAT_VALUE) ldh a, [hProduct + 2] - sbc 999 / $100 + sbc HIGH(MAX_STAT_VALUE) jp c, UpdateStat - ld a, 999 / $100 + ld a, HIGH(MAX_STAT_VALUE) ldh [hMultiplicand + 1], a - ld a, 999 % $100 + ld a, LOW(MAX_STAT_VALUE) ldh [hMultiplicand + 2], a UpdateStat: diff --git a/engine/gfx/mon_icons.asm b/engine/gfx/mon_icons.asm index 19008c05..253fca35 100755 --- a/engine/gfx/mon_icons.asm +++ b/engine/gfx/mon_icons.asm @@ -236,7 +236,7 @@ WriteMonPartySpriteOAM: ; make a copy at wMonPartySpritesSavedOAM. push af ld c, $10 - ld h, wOAMBuffer / $100 + ld h, HIGH(wOAMBuffer) ldh a, [hPartyMonIndex] swap a ld l, a diff --git a/engine/gfx/oam_dma.asm b/engine/gfx/oam_dma.asm index d8d8839a..84bb4b5c 100644 --- a/engine/gfx/oam_dma.asm +++ b/engine/gfx/oam_dma.asm @@ -1,7 +1,7 @@ WriteDMACodeToHRAM:: ; Since no other memory is available during OAM DMA, ; DMARoutine is copied to HRAM and executed there. - ld c, hDMARoutine % $100 + ld c, LOW(hDMARoutine) ld b, DMARoutineEnd - DMARoutine ld hl, DMARoutine .copy @@ -14,7 +14,7 @@ WriteDMACodeToHRAM:: DMARoutine: ; initiate DMA - ld a, wOAMBuffer / $100 + ld a, HIGH(wOAMBuffer) ldh [rDMA], a ; wait for DMA to finish diff --git a/engine/gfx/sprite_oam.asm b/engine/gfx/sprite_oam.asm index 1a96286d..7e9bf739 100644 --- a/engine/gfx/sprite_oam.asm +++ b/engine/gfx/sprite_oam.asm @@ -18,7 +18,7 @@ PrepareOAMData:: .spriteLoop ldh [hSpriteOffset2], a - ld d, wSpriteStateData1 / $100 + ld d, HIGH(wSpriteStateData1) ldh a, [hSpriteOffset2] ld e, a ld a, [de] ; c1x0 @@ -79,7 +79,7 @@ PrepareOAMData:: ldh a, [hOAMBufferOffset] ld e, a - ld d, wOAMBuffer / $100 + ld d, HIGH(wOAMBuffer) .tileLoop ldh a, [hSpriteScreenY] ; temp for sprite Y position @@ -141,13 +141,13 @@ PrepareOAMData:: .nextSprite ldh a, [hSpriteOffset2] add $10 - cp $100 % $100 + cp LOW($100) jp nz, .spriteLoop ; Clear unused OAM. ldh a, [hOAMBufferOffset] ld l, a - ld h, wOAMBuffer / $100 + ld h, HIGH(wOAMBuffer) ld de, $4 ld b, $a0 ld a, [wd736] diff --git a/engine/items/inventory.asm b/engine/items/inventory.asm index 7ce61cb9..bf433175 100644 --- a/engine/items/inventory.asm +++ b/engine/items/inventory.asm @@ -12,10 +12,10 @@ AddItemToInventory_:: push hl push hl ld d, PC_ITEM_CAPACITY ; how many items the PC can hold - ld a, wNumBagItems & $FF + ld a, LOW(wNumBagItems) cp l jr nz, .checkIfInventoryFull - ld a, wNumBagItems >> 8 + ld a, HIGH(wNumBagItems) cp h jr nz, .checkIfInventoryFull ; if the destination is the bag diff --git a/engine/link/cable_club.asm b/engine/link/cable_club.asm index 03e1c50a..dd93ebba 100755 --- a/engine/link/cable_club.asm +++ b/engine/link/cable_club.asm @@ -255,9 +255,9 @@ CableClub_DoBattleOrTradeAgain: ld hl, wEnemyMons + (SERIAL_PREAMBLE_BYTE - 1) dec c jr nz, .unpatchEnemyMonsLoop - ld a, wEnemyMonOT % $100 + ld a, LOW(wEnemyMonOT) ld [wUnusedCF8D], a - ld a, wEnemyMonOT / $100 + ld a, HIGH(wEnemyMonOT) ld [wUnusedCF8D + 1], a xor a ld [wTradeCenterPointerTableIndex], a diff --git a/engine/movie/oak_speech/init_player_data.asm b/engine/movie/oak_speech/init_player_data.asm index bd181bbd..53ca24f3 100644 --- a/engine/movie/oak_speech/init_player_data.asm +++ b/engine/movie/oak_speech/init_player_data.asm @@ -23,9 +23,9 @@ InitPlayerData2: START_MONEY EQU $3000 ld hl, wPlayerMoney + 1 - ld a, START_MONEY / $100 + ld a, HIGH(START_MONEY) ld [hld], a - xor a + xor a ; LOW(START_MONEY) ld [hli], a inc hl ld [hl], a diff --git a/engine/movie/title.asm b/engine/movie/title.asm index efdf2f07..00e639ae 100755 --- a/engine/movie/title.asm +++ b/engine/movie/title.asm @@ -126,13 +126,13 @@ ENDC ld [wTitleMonSpecies], a call LoadTitleMonSprite - ld a, (vBGMap0 + $300) / $100 + ld a, HIGH(vBGMap0 + $300) call TitleScreenCopyTileMapToVRAM call SaveScreenTilesToBuffer1 ld a, $40 ldh [hWY], a call LoadScreenTilesFromBuffer2 - ld a, vBGMap0 / $100 + ld a, HIGH(vBGMap0) call TitleScreenCopyTileMapToVRAM ld b, SET_PAL_TITLE_SCREEN call RunPaletteCommand @@ -205,7 +205,7 @@ ENDC and a jr nz, .scrollTitleScreenGameVersionLoop - ld a, vBGMap1 / $100 + ld a, HIGH(vBGMap1) call TitleScreenCopyTileMapToVRAM call LoadScreenTilesFromBuffer2 call PrintGameVersionOnTitleScreen @@ -241,9 +241,9 @@ ENDC inc a ldh [hAutoBGTransferEnabled], a call ClearScreen - ld a, vBGMap0 / $100 + ld a, HIGH(vBGMap0) call TitleScreenCopyTileMapToVRAM - ld a, vBGMap1 / $100 + ld a, HIGH(vBGMap1) call TitleScreenCopyTileMapToVRAM call Delay3 call LoadGBPal @@ -258,7 +258,7 @@ ENDC farjp DoClearSaveDialogue TitleScreenPickNewMon: - ld a, vBGMap0 / $100 + ld a, HIGH(vBGMap0) call TitleScreenCopyTileMapToVRAM .loop diff --git a/engine/movie/trade.asm b/engine/movie/trade.asm index 518742aa..6aac7e23 100755 --- a/engine/movie/trade.asm +++ b/engine/movie/trade.asm @@ -237,7 +237,7 @@ Trade_ShowPlayerMon: ld c, 10 call TextBoxBorder call Trade_PrintPlayerMonInfoText - ld b, vBGMap0 / $100 + ld b, HIGH(vBGMap0) call CopyScreenTileBufferToVRAM call ClearScreen ld a, [wTradedPlayerMonSpecies] @@ -266,7 +266,7 @@ Trade_ShowPlayerMon: Trade_DrawOpenEndOfLinkCable: call Trade_ClearTileMap - ld b, vBGMap0 / $100 + ld b, HIGH(vBGMap0) call CopyScreenTileBufferToVRAM ld b, SET_PAL_GENERIC call RunPaletteCommand diff --git a/engine/overworld/elevator.asm b/engine/overworld/elevator.asm index 7a6aca85..fa404602 100755 --- a/engine/overworld/elevator.asm +++ b/engine/overworld/elevator.asm @@ -56,7 +56,7 @@ ShakeElevatorRedrawRow: add hl, de ld a, h and $3 - or vBGMap0 / $100 + or HIGH(vBGMap0) ld d, a ld a, l pop hl diff --git a/engine/overworld/movement.asm b/engine/overworld/movement.asm index ac7e1b46..a20b3174 100644 --- a/engine/overworld/movement.asm +++ b/engine/overworld/movement.asm @@ -23,7 +23,7 @@ UpdatePlayerSprite: ret .lowerLeftTileIsMapTile call DetectCollisionBetweenSprites - ld h, wSpriteStateData1 / $100 + ld h, HIGH(wSpriteStateData1) ld a, [wWalkCounter] and a jr nz, .moving @@ -395,7 +395,7 @@ UpdateSpriteMovementDelay: ld l, a ld [hl], $1 ; c1x1 = 1 (mark as ready to move) notYetMoving: - ld h, wSpriteStateData1 / $100 + ld h, HIGH(wSpriteStateData1) ldh a, [hCurrentSpriteOffset] add wSpritePlayerStateData1AnimFrameCounter - wSpritePlayerStateData1 ld l, a @@ -450,7 +450,7 @@ InitializeSpriteStatus: ; calculates the sprite's screen position form its map position and the player position InitializeSpriteScreenPosition: - ld h, wSpriteStateData2 / $100 + ld h, HIGH(wSpriteStateData2) ldh a, [hCurrentSpriteOffset] add wSpritePlayerStateData2MapY - wSpritePlayerStateData2 ld l, a @@ -478,7 +478,7 @@ CheckSpriteAvailability: ldh a, [hIsHiddenMissableObject] and a jp nz, .spriteInvisible - ld h, wSpriteStateData2 / $100 + ld h, HIGH(wSpriteStateData2) ldh a, [hCurrentSpriteOffset] add wSpritePlayerStateData2MovementByte1 - wSpritePlayerStateData2 ld l, a @@ -526,7 +526,7 @@ CheckSpriteAvailability: cp d jr c, .spriteVisible ; standing on tile with ID >=MAP_TILESET_SIZE (top right tile) .spriteInvisible - ld h, wSpriteStateData1 / $100 + ld h, HIGH(wSpriteStateData1) ldh a, [hCurrentSpriteOffset] add wSpritePlayerStateData1ImageIndex - wSpritePlayerStateData1 ld l, a @@ -580,7 +580,7 @@ UpdateSpriteImage: ; e: X movement delta (-1, 0 or 1) ; set carry on failure, clears carry on success CanWalkOntoTile: - ld h, wSpriteStateData2 / $100 + ld h, HIGH(wSpriteStateData2) ldh a, [hCurrentSpriteOffset] add wSpritePlayerStateData2MovementByte1 - wSpritePlayerStateData2 ld l, a @@ -608,7 +608,7 @@ CanWalkOntoTile: ld a, [hl] ; $c2x6 (movement byte 1) inc a jr z, .impassable ; if $ff, no movement allowed (however, changing direction is) - ld h, wSpriteStateData1 / $100 + ld h, HIGH(wSpriteStateData1) ldh a, [hCurrentSpriteOffset] add wSpritePlayerStateData1YPixels - wSpritePlayerStateData1 ld l, a @@ -627,14 +627,14 @@ CanWalkOntoTile: call DetectCollisionBetweenSprites pop bc pop de - ld h, wSpriteStateData1 / $100 + ld h, HIGH(wSpriteStateData1) ldh a, [hCurrentSpriteOffset] add $c ld l, a ld a, [hl] ; c1xc (directions in which sprite collision would occur) and b ; check against chosen direction (1,2,4 or 8) jr nz, .impassable ; collision between sprites, don't go there - ld h, wSpriteStateData2 / $100 + ld h, HIGH(wSpriteStateData2) ldh a, [hCurrentSpriteOffset] add wSpritePlayerStateData2YDisplacement - wSpritePlayerStateData2 ld l, a @@ -665,7 +665,7 @@ CanWalkOntoTile: and a ; clear carry (marking success) ret .impassable - ld h, wSpriteStateData1 / $100 + ld h, HIGH(wSpriteStateData1) ldh a, [hCurrentSpriteOffset] inc a ld l, a @@ -691,7 +691,7 @@ CanWalkOntoTile: ; this is always the lower left tile of the 2x2 tile blocks all sprites are snapped to ; hl: output pointer GetTileSpriteStandsOn: - ld h, wSpriteStateData1 / $100 + ld h, HIGH(wSpriteStateData1) ldh a, [hCurrentSpriteOffset] add wSpritePlayerStateData1YPixels - wSpritePlayerStateData1 ld l, a diff --git a/engine/overworld/sprite_collisions.asm b/engine/overworld/sprite_collisions.asm index e6c415ab..6f8e3c2c 100644 --- a/engine/overworld/sprite_collisions.asm +++ b/engine/overworld/sprite_collisions.asm @@ -53,9 +53,9 @@ UpdateNonPlayerSprite: DetectCollisionBetweenSprites: nop - ld h, wSpriteStateData1 / $100 + ld h, HIGH(wSpriteStateData1) ldh a, [hCurrentSpriteOffset] - add wSpriteStateData1 % $100 + add LOW(wSpriteStateData1) ld l, a ld a, [hl] ; a = [$c1i0] (picture) (0 if slot is unused) diff --git a/engine/slots/slot_machine.asm b/engine/slots/slot_machine.asm index b6eda6d1..64c14997 100755 --- a/engine/slots/slot_machine.asm +++ b/engine/slots/slot_machine.asm @@ -294,7 +294,7 @@ SlotMachine_StopWheel1Early: ; Stop early if the middle symbol is not a cherry. inc hl ld a, [hl] - cp SLOTSCHERRY >> 8 + cp HIGH(SLOTSCHERRY) jr nz, .stopWheel ret ; It looks like this was intended to make the wheel stop when a 7 symbol was @@ -303,7 +303,7 @@ SlotMachine_StopWheel1Early: ld c, $3 .loop ld a, [hli] - cp SLOTS7 >> 8 + cp HIGH(SLOTS7) jr c, .stopWheel ; condition never true dec c jr nz, .loop @@ -330,7 +330,7 @@ SlotMachine_StopWheel2Early: .sevenAndBarMode call SlotMachine_FindWheel1Wheel2Matches ld a, [de] - cp (SLOTSBAR >> 8) + 1 + cp HIGH(SLOTSBAR) + 1 ret nc .stopWheel xor a @@ -427,7 +427,7 @@ SlotMachine_CheckForMatches: jr nz, .acceptMatch ; if 7/bar matches aren't enabled and the match was a 7/bar symbol, roll wheel ld a, [hl] - cp (SLOTSBAR >> 8) + 1 + cp HIGH(SLOTSBAR) + 1 jr c, .rollWheel3DownByOneSymbol .acceptMatch ld a, [hl] @@ -702,7 +702,7 @@ SlotMachine_PayCoinsToPlayer: .skip1 ld [wAnimCounter], a ld a, [wSlotMachineWinningSymbol] - cp (SLOTSBAR >> 8) + 1 + cp HIGH(SLOTSBAR) + 1 ld c, 8 jr nc, .skip2 srl c ; c = 4 (make the the coins transfer faster if the symbol was 7 or bar) diff --git a/home.asm b/home.asm index 62594b43..3e465cdf 100644 --- a/home.asm +++ b/home.asm @@ -1242,7 +1242,7 @@ StringCmp:: ; c = X coordinate of upper left corner of sprite ; de = base address of 4 tile number and attribute pairs WriteOAMBlock:: - ld h, wOAMBuffer / $100 + ld h, HIGH(wOAMBuffer) swap a ; multiply by 16 ld l, a call .writeOneEntry ; upper left diff --git a/home/init.asm b/home/init.asm index f18216ff..e3f5fdd4 100644 --- a/home/init.asm +++ b/home/init.asm @@ -82,9 +82,9 @@ rLCDC_DEFAULT EQU %11100011 ld a, CONNECTION_NOT_ESTABLISHED ldh [hSerialConnectionStatus], a - ld h, vBGMap0 / $100 + ld h, HIGH(vBGMap0) call ClearBgMap - ld h, vBGMap1 / $100 + ld h, HIGH(vBGMap1) call ClearBgMap ld a, rLCDC_DEFAULT diff --git a/home/move_mon.asm b/home/move_mon.asm index 9fe7b067..cf7213b1 100644 --- a/home/move_mon.asm +++ b/home/move_mon.asm @@ -197,17 +197,17 @@ CalcStat:: ldh [hMultiplicand+1], a ; HP: (((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level) / 100 + Level + 10 .noCarry4 ldh a, [hMultiplicand+1] ; check for overflow (>999) - cp 999 / $100 + 1 + cp HIGH(MAX_STAT_VALUE) + 1 jr nc, .overflow - cp 999 / $100 + cp HIGH(MAX_STAT_VALUE) jr c, .noOverflow ldh a, [hMultiplicand+2] - cp 999 % $100 + 1 + cp LOW(MAX_STAT_VALUE) + 1 jr c, .noOverflow .overflow - ld a, 999 / $100 ; overflow: cap at 999 + ld a, HIGH(MAX_STAT_VALUE) ; overflow: cap at 999 ldh [hMultiplicand+1], a - ld a, 999 % $100 + ld a, LOW(MAX_STAT_VALUE) ldh [hMultiplicand+2], a .noOverflow pop bc diff --git a/home/uncompress.asm b/home/uncompress.asm index 69d94cb0..9d08aa60 100644 --- a/home/uncompress.asm +++ b/home/uncompress.asm @@ -20,8 +20,8 @@ UncompressSpriteData:: ; initializes necessary data to load a sprite and runs UncompressSpriteDataLoop _UncompressSpriteData:: ld hl, sSpriteBuffer1 - ld c, (2*SPRITEBUFFERSIZE) % $100 - ld b, (2*SPRITEBUFFERSIZE) / $100 + ld c, LOW(2 * SPRITEBUFFERSIZE) + ld b, HIGH(2 * SPRITEBUFFERSIZE) xor a call FillMemory ; clear sprite buffer 1 and 2 ld a, $1 diff --git a/macros/scripts/audio.asm b/macros/scripts/audio.asm index 8a250c63..4f4d084c 100755 --- a/macros/scripts/audio.asm +++ b/macros/scripts/audio.asm @@ -141,8 +141,7 @@ ENDM ; stored in big endian tempo: MACRO db $ED - db \1 / $100 - db \1 % $100 + db HIGH(\1), LOW(\1) ENDM ; arguments: left output enable mask, right output enable mask diff --git a/scripts/SafariZoneGate.asm b/scripts/SafariZoneGate.asm index eb49ba8d..a15a5630 100755 --- a/scripts/SafariZoneGate.asm +++ b/scripts/SafariZoneGate.asm @@ -182,9 +182,9 @@ SafariZoneGate_TextPointers: call PrintText ld a, 30 ld [wNumSafariBalls], a - ld a, 502 / $100 + ld a, HIGH(502) ld [wSafariSteps], a - ld a, 502 % $100 + ld a, LOW(502) ld [wSafariSteps + 1], a ld a, D_UP ld c, 3 -- cgit v1.2.3 From 13129459f11e73df8c556f0c02cd4fca7266a346 Mon Sep 17 00:00:00 2001 From: Rangi Date: Tue, 7 Jul 2020 11:30:10 -0400 Subject: Sync coordinate macros with pokecrystal --- engine/battle/animations.asm | 46 +++---- engine/battle/battle_transitions.asm | 84 ++++++------ engine/battle/core.asm | 144 ++++++++++----------- engine/battle/draw_hud_pokeball_gfx.asm | 4 +- engine/battle/end_of_battle.asm | 2 +- engine/battle/ghost_marowak_anim.asm | 2 +- engine/battle/link_battle_versus_text.asm | 8 +- engine/battle/move_effects/drain_hp.asm | 4 +- engine/battle/move_effects/heal.asm | 4 +- engine/battle/move_effects/recoil.asm | 4 +- engine/battle/scroll_draw_trainer_pic.asm | 2 +- engine/battle/trainer_ai.asm | 2 +- engine/battle/wild_encounters.asm | 4 +- engine/events/cinnabar_lab.asm | 4 +- engine/events/diploma.asm | 14 +- engine/events/hidden_objects/bills_house_pc.asm | 4 +- engine/events/hidden_objects/book_or_sculpture.asm | 2 +- engine/events/hidden_objects/bookshelves.asm | 2 +- engine/events/hidden_objects/museum_fossils.asm | 2 +- engine/events/hidden_objects/school_blackboard.asm | 10 +- engine/events/pokemart.asm | 4 +- engine/events/prize_menu.asm | 30 ++--- engine/events/vending_machine.asm | 6 +- engine/items/item_effects.asm | 6 +- engine/items/town_map.asm | 32 ++--- engine/link/cable_club.asm | 58 ++++----- engine/link/print_waiting_text.asm | 4 +- engine/menus/display_text_id_init.asm | 6 +- engine/menus/draw_badges.asm | 4 +- engine/menus/draw_start_menu.asm | 6 +- engine/menus/league_pc.asm | 8 +- engine/menus/main_menu.asm | 64 ++++----- engine/menus/naming_screen.asm | 22 ++-- engine/menus/party_menu.asm | 2 +- engine/menus/players_pc.asm | 4 +- engine/menus/pokedex.asm | 66 +++++----- engine/menus/save.asm | 20 +-- engine/menus/start_sub_menus.asm | 34 ++--- engine/menus/text_box.asm | 16 +-- engine/movie/credits.asm | 14 +- engine/movie/evolution.asm | 4 +- engine/movie/hall_of_fame.asm | 32 ++--- engine/movie/intro.asm | 10 +- engine/movie/oak_speech/clear_save.asm | 2 +- engine/movie/oak_speech/oak_speech.asm | 8 +- engine/movie/oak_speech/oak_speech2.asm | 12 +- engine/movie/title.asm | 12 +- engine/movie/trade.asm | 32 ++--- engine/movie/trade2.asm | 20 +-- engine/overworld/doors.asm | 2 +- engine/overworld/ledges.asm | 2 +- engine/overworld/movement.asm | 4 +- engine/overworld/player_animations.asm | 2 +- engine/overworld/player_state.asm | 30 ++--- engine/pokemon/bills_pc.asm | 40 +++--- engine/pokemon/evos_moves.asm | 2 +- engine/pokemon/learn_move.asm | 8 +- engine/pokemon/status_screen.asm | 62 ++++----- engine/slots/slot_machine.asm | 26 ++-- home.asm | 16 +-- home/copy2.asm | 8 +- home/list_menu.asm | 24 ++-- home/overworld.asm | 18 +-- home/text.asm | 40 +++--- home/vcopy.asm | 6 +- home/yes_no.asm | 6 +- macros/coords.asm | 96 ++++++++------ macros/data.asm | 2 +- macros/gfx.asm | 2 +- macros/scripts/events.asm | 4 +- macros/scripts/text.asm | 2 +- scripts/BikeShop.asm | 6 +- scripts/CeladonMartRoof.asm | 4 +- scripts/GameCorner.asm | 16 +-- scripts/VermilionDock.asm | 6 +- 75 files changed, 667 insertions(+), 653 deletions(-) diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index f19f1f4f..9f7b728a 100755 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -682,7 +682,7 @@ DoBallTossSpecialEffects: cp 1 ret nz .moveGhostMarowakLeft - coord hl, 17, 0 + hlcoord 17, 0 ld de, 20 lb bc, 7, 7 .loop @@ -781,7 +781,7 @@ DoExplodeSpecialEffects: cp 1 ; is it the end of the subanimation? jr nz, FlashScreenEveryFourFrameBlocks ; if it's the end of the subanimation, make the attacking pokemon disappear - coord hl, 1, 5 + hlcoord 1, 5 jp AnimationHideMonPic ; make pokemon disappear ; flashes the screen when subanimation counter is 1 modulo 4 @@ -1135,12 +1135,12 @@ AnimationSlideMonUp: ld c, 7 ldh a, [hWhoseTurn] and a - coord hl, 1, 6 - coord de, 1, 5 + hlcoord 1, 6 + decoord 1, 5 ld a, $30 jr z, .next - coord hl, 12, 1 - coord de, 12, 0 + hlcoord 12, 1 + decoord 12, 0 ld a, $ff .next ld [wSlideMonUpBottomRowLeftTile], a @@ -1203,9 +1203,9 @@ _AnimationSlideMonUp: ; Fill in the bottom row of the mon pic with the next row's tile IDs. ldh a, [hWhoseTurn] and a - coord hl, 1, 11 + hlcoord 1, 11 jr z, .next - coord hl, 12, 6 + hlcoord 12, 6 .next ld a, [wSlideMonUpBottomRowLeftTile] inc a @@ -1372,11 +1372,11 @@ AnimationShakeBackAndForth: ; The mon's sprite disappears after this animation. ldh a, [hWhoseTurn] and a - coord hl, 0, 5 - coord de, 2, 5 + hlcoord 0, 5 + decoord 2, 5 jr z, .next - coord hl, 11, 0 - coord de, 13, 0 + hlcoord 11, 0 + decoord 13, 0 .next xor a @@ -1420,9 +1420,9 @@ AnimationMoveMonHorizontally: call AnimationHideMonPic ldh a, [hWhoseTurn] and a - coord hl, 2, 5 + hlcoord 2, 5 jr z, .next - coord hl, 11, 0 + hlcoord 11, 0 .next xor a push hl @@ -1533,12 +1533,12 @@ AnimationSquishMonPic: ldh a, [hWhoseTurn] and a jr z, .playerTurn - coord hl, 16, 0 - coord de, 14, 0 + hlcoord 16, 0 + decoord 14, 0 jr .next .playerTurn - coord hl, 5, 5 - coord de, 3, 5 + hlcoord 5, 5 + decoord 3, 5 .next push de xor a ; left @@ -1746,10 +1746,10 @@ _AnimationSlideMonOff: ldh a, [hWhoseTurn] and a jr z, .playerTurn - coord hl, 12, 0 + hlcoord 12, 0 jr .next .playerTurn - coord hl, 0, 5 + hlcoord 0, 5 .next ld d, 8 ; d's value is unused .slideLoop ; iterates once for each time the pic slides by one tile @@ -1996,7 +1996,7 @@ ChangeMonPic: xor a ld [wSpriteFlipped], a call GetMonHeader - coord hl, 12, 0 + hlcoord 12, 0 call LoadFrontSpriteByMonIndex jr .done .playerTurn @@ -2064,7 +2064,7 @@ ClearMonPicFromTileMap: push bc ld e, a ld d, 0 - coord hl, 0, 0 + hlcoord 0, 0 add hl, de lb bc, 7, 7 call ClearScreenArea @@ -2086,7 +2086,7 @@ GetMonSpriteTileMapPointerFromRowCount: .enemyTurn ld a, 12 .next - coord hl, 0, 0 + hlcoord 0, 0 ld e, a ld d, 0 add hl, de diff --git a/engine/battle/battle_transitions.asm b/engine/battle/battle_transitions.asm index 8a22e70f..e563855d 100644 --- a/engine/battle/battle_transitions.asm +++ b/engine/battle/battle_transitions.asm @@ -181,7 +181,7 @@ BattleTransition_Spiral: call BattleTransition_InwardSpiral jr .done .outwardSpiral - coord hl, 10, 10 + hlcoord 10, 10 ld a, $3 ld [wOutwardSpiralCurrentDirection], a ld a, l @@ -210,7 +210,7 @@ BattleTransition_Spiral: BattleTransition_InwardSpiral: ld a, 7 ld [wInwardSpiralUpdateScreenCounter], a - coord hl, 0, 0 + hlcoord 0, 0 ld c, SCREEN_HEIGHT - 1 ld de, SCREEN_WIDTH call BattleTransition_InwardSpiral_ @@ -350,20 +350,20 @@ BattleTransition_Shrink: push bc xor a ldh [hAutoBGTransferEnabled], a - coord hl, 0, 7 - coord de, 0, 8 + hlcoord 0, 7 + decoord 0, 8 ld bc, -SCREEN_WIDTH * 2 call BattleTransition_CopyTiles1 - coord hl, 0, 10 - coord de, 0, 9 + hlcoord 0, 10 + decoord 0, 9 ld bc, SCREEN_WIDTH * 2 call BattleTransition_CopyTiles1 - coord hl, 8, 0 - coord de, 9, 0 + hlcoord 8, 0 + decoord 9, 0 ld bc, -2 call BattleTransition_CopyTiles2 - coord hl, 11, 0 - coord de, 10, 0 + hlcoord 11, 0 + decoord 10, 0 ld bc, 2 call BattleTransition_CopyTiles2 ld a, $1 @@ -384,20 +384,20 @@ BattleTransition_Split: ldh [hAutoBGTransferEnabled], a .loop push bc - coord hl, 0, 16 - coord de, 0, 17 + hlcoord 0, 16 + decoord 0, 17 ld bc, -SCREEN_WIDTH * 2 call BattleTransition_CopyTiles1 - coord hl, 0, 1 - coord de, 0, 0 + hlcoord 0, 1 + decoord 0, 0 ld bc, SCREEN_WIDTH * 2 call BattleTransition_CopyTiles1 - coord hl, 18, 0 - coord de, 19, 0 + hlcoord 18, 0 + decoord 19, 0 ld bc, -2 call BattleTransition_CopyTiles2 - coord hl, 1, 0 - coord de, 0, 0 + hlcoord 1, 0 + decoord 0, 0 ld bc, 2 call BattleTransition_CopyTiles2 call BattleTransition_TransferDelay3 @@ -493,8 +493,8 @@ BattleTransition_CopyTiles2: ; used for high level wild dungeon battles BattleTransition_VerticalStripes: ld c, SCREEN_HEIGHT - coord hl, 0, 0 - coord de, 1, 17 + hlcoord 0, 0 + decoord 1, 17 xor a ldh [hAutoBGTransferEnabled], a .loop @@ -532,8 +532,8 @@ BattleTransition_VerticalStripes_: ; used for low level wild dungeon battles BattleTransition_HorizontalStripes: ld c, SCREEN_WIDTH - coord hl, 0, 0 - coord de, 19, 1 + hlcoord 0, 0 + decoord 19, 1 xor a ldh [hAutoBGTransferEnabled], a .loop @@ -654,84 +654,84 @@ BattleTransition_Circle_Sub2: BattleTransition_HalfCircle1: db $01 dw BattleTransition_CircleData1 - dwCoord 18, 6 + dwcoord 18, 6 db $01 dw BattleTransition_CircleData2 - dwCoord 19, 3 + dwcoord 19, 3 db $01 dw BattleTransition_CircleData3 - dwCoord 18, 0 + dwcoord 18, 0 db $01 dw BattleTransition_CircleData4 - dwCoord 14, 0 + dwcoord 14, 0 db $01 dw BattleTransition_CircleData5 - dwCoord 10, 0 + dwcoord 10, 0 db $00 dw BattleTransition_CircleData5 - dwCoord 9, 0 + dwcoord 9, 0 db $00 dw BattleTransition_CircleData4 - dwCoord 5, 0 + dwcoord 5, 0 db $00 dw BattleTransition_CircleData3 - dwCoord 1, 0 + dwcoord 1, 0 db $00 dw BattleTransition_CircleData2 - dwCoord 0, 3 + dwcoord 0, 3 db $00 dw BattleTransition_CircleData1 - dwCoord 1, 6 + dwcoord 1, 6 BattleTransition_HalfCircle2: db $00 dw BattleTransition_CircleData1 - dwCoord 1, 11 + dwcoord 1, 11 db $00 dw BattleTransition_CircleData2 - dwCoord 0, 14 + dwcoord 0, 14 db $00 dw BattleTransition_CircleData3 - dwCoord 1, 17 + dwcoord 1, 17 db $00 dw BattleTransition_CircleData4 - dwCoord 5, 17 + dwcoord 5, 17 db $00 dw BattleTransition_CircleData5 - dwCoord 9, 17 + dwcoord 9, 17 db $01 dw BattleTransition_CircleData5 - dwCoord 10, 17 + dwcoord 10, 17 db $01 dw BattleTransition_CircleData4 - dwCoord 14, 17 + dwcoord 14, 17 db $01 dw BattleTransition_CircleData3 - dwCoord 18, 17 + dwcoord 18, 17 db $01 dw BattleTransition_CircleData2 - dwCoord 19, 14 + dwcoord 19, 14 db $01 dw BattleTransition_CircleData1 - dwCoord 18, 11 + dwcoord 18, 11 BattleTransition_Circle_Sub3: push hl diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 9a66265c..859f30d5 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -11,7 +11,7 @@ SlidePlayerAndEnemySilhouettesOnScreen: ld a, MESSAGE_BOX ; the usual text box at the bottom of the screen ld [wTextBoxID], a call DisplayTextBoxID - coord hl, 1, 5 + hlcoord 1, 5 lb bc, 3, 7 call ClearScreenArea call DisableLCD @@ -27,7 +27,7 @@ SlidePlayerAndEnemySilhouettesOnScreen: or c jr nz, .clearBackgroundLoop ; copy the work RAM tile map to VRAM - coord hl, 0, 0 + hlcoord 0, 0 ld de, vBGMap0 ld b, 18 ; number of rows .copyRowLoop @@ -86,7 +86,7 @@ SlidePlayerAndEnemySilhouettesOnScreen: ldh [hAutoBGTransferEnabled], a ld a, $31 ldh [hStartTileID], a - coord hl, 1, 5 + hlcoord 1, 5 predef CopyUncompressedPicToTilemap xor a ldh [hWY], a @@ -232,7 +232,7 @@ StartBattle: ld [wcf91], a ld [wBattleMonSpecies2], a call LoadScreenTilesFromBuffer1 - coord hl, 1, 5 + hlcoord 1, 5 ld a, $9 call SlideTrainerPicOffScreen call SaveScreenTilesToBuffer1 @@ -666,12 +666,12 @@ HandlePoisonBurnLeechSeed_IncreaseEnemyHP: ret UpdateCurMonHPBar: - coord hl, 10, 9 ; tile pointer to player HP bar + hlcoord 10, 9 ; tile pointer to player HP bar ldh a, [hWhoseTurn] and a ld a, $1 jr z, .playersTurn - coord hl, 2, 2 ; tile pointer to enemy HP bar + hlcoord 2, 2 ; tile pointer to enemy HP bar xor a .playersTurn push bc @@ -767,10 +767,10 @@ FaintEnemyPokemon: ld hl, wPlayerUsedMove ld [hli], a ld [hl], a - coord hl, 12, 5 - coord de, 12, 6 + hlcoord 12, 5 + decoord 12, 6 call SlideDownFaintedMonPic - coord hl, 0, 0 + hlcoord 0, 0 lb bc, 4, 11 call ClearScreenArea ld a, [wIsInBattle] @@ -1021,11 +1021,11 @@ RemoveFaintedPlayerMon: ld [hl], a ld [wBattleMonStatus], a call ReadPlayerMonCurHPAndStatus - coord hl, 9, 7 + hlcoord 9, 7 lb bc, 5, 11 call ClearScreenArea - coord hl, 1, 10 - coord de, 1, 11 + hlcoord 1, 10 + decoord 1, 11 call SlideDownFaintedMonPic ld a, $1 ld [wBattleResult], a @@ -1059,7 +1059,7 @@ DoUseNextMonDialogue: ld hl, UseNextMonText call PrintText .displayYesNoBox - coord hl, 13, 9 + hlcoord 13, 9 lb bc, 10, 14 ld a, TWO_OPTION_MENU ld [wTextBoxID], a @@ -1136,7 +1136,7 @@ HandlePlayerBlackOut: ld a, [wCurOpponent] cp OPP_SONY1 jr nz, .notSony1Battle - coord hl, 0, 0 ; sony 1 battle + hlcoord 0, 0 ; sony 1 battle lb bc, 8, 21 call ClearScreenArea call ScrollTrainerPicAfterBattle @@ -1306,7 +1306,7 @@ EnemySendOutFirstMon: ld [wAICount], a ld hl, wPlayerBattleStatus1 res 5, [hl] - coord hl, 18, 0 + hlcoord 18, 0 ld a, 8 call SlideTrainerPicOffScreen call PrintEmptyString @@ -1376,7 +1376,7 @@ EnemySendOutFirstMon: jr nz, .next4 ld hl, TrainerAboutToUseText call PrintText - coord hl, 0, 7 + hlcoord 0, 7 lb bc, 8, 1 ld a, TWO_OPTION_MENU ld [wTextBoxID], a @@ -1411,7 +1411,7 @@ EnemySendOutFirstMon: call LoadScreenTilesFromBuffer1 .next4 call ClearSprites - coord hl, 0, 0 + hlcoord 0, 0 lb bc, 4, 11 call ClearScreenArea ld b, SET_PAL_BATTLE @@ -1427,7 +1427,7 @@ EnemySendOutFirstMon: call LoadMonFrontSprite ld a, -$31 ldh [hStartTileID], a - coord hl, 15, 6 + hlcoord 15, 6 predef AnimateSendingOutMon ld a, [wEnemyMonSpecies2] call PlayCry @@ -1757,7 +1757,7 @@ SendOutMon: ldh [hWhoseTurn], a ld a, POOF_ANIM call PlayMoveAnimation - coord hl, 4, 11 + hlcoord 4, 11 predef AnimateSendingOutMon ld a, [wcf91] call PlayCry @@ -1766,10 +1766,10 @@ SendOutMon: ; show 2 stages of the player mon getting smaller before disappearing AnimateRetreatingPlayerMon: - coord hl, 1, 5 + hlcoord 1, 5 lb bc, 7, 7 call ClearScreenArea - coord hl, 3, 7 + hlcoord 3, 7 lb bc, 5, 5 xor a ld [wDownscaledMonSize], a @@ -1778,7 +1778,7 @@ AnimateRetreatingPlayerMon: ld c, 4 call DelayFrames call .clearScreenArea - coord hl, 4, 9 + hlcoord 4, 9 lb bc, 3, 3 ld a, 1 ld [wDownscaledMonSize], a @@ -1788,9 +1788,9 @@ AnimateRetreatingPlayerMon: call Delay3 call .clearScreenArea ld a, $4c - Coorda 5, 11 + ldcoord_a 5, 11 .clearScreenArea - coord hl, 1, 5 + hlcoord 1, 5 lb bc, 7, 7 jp ClearScreenArea @@ -1813,14 +1813,14 @@ DrawHUDsAndHPBars: DrawPlayerHUDAndHPBar: xor a ldh [hAutoBGTransferEnabled], a - coord hl, 9, 7 + hlcoord 9, 7 lb bc, 5, 11 call ClearScreenArea callfar PlacePlayerHUDTiles - coord hl, 18, 9 + hlcoord 18, 9 ld [hl], $73 ld de, wBattleMonNick - coord hl, 10, 7 + hlcoord 10, 7 call CenterMonName call PlaceString ld hl, wBattleMonSpecies @@ -1831,7 +1831,7 @@ DrawPlayerHUDAndHPBar: ld de, wLoadedMonLevel ld bc, wBattleMonPP - wBattleMonLevel call CopyData - coord hl, 14, 8 + hlcoord 14, 8 push hl inc hl ld de, wLoadedMonStatus @@ -1842,7 +1842,7 @@ DrawPlayerHUDAndHPBar: .doNotPrintLevel ld a, [wLoadedMonSpecies] ld [wcf91], a - coord hl, 10, 9 + hlcoord 10, 9 predef DrawHP ld a, $1 ldh [hAutoBGTransferEnabled], a @@ -1874,15 +1874,15 @@ DrawPlayerHUDAndHPBar: DrawEnemyHUDAndHPBar: xor a ldh [hAutoBGTransferEnabled], a - coord hl, 0, 0 + hlcoord 0, 0 lb bc, 4, 12 call ClearScreenArea callfar PlaceEnemyHUDTiles ld de, wEnemyMonNick - coord hl, 1, 0 + hlcoord 1, 0 call CenterMonName call PlaceString - coord hl, 4, 1 + hlcoord 4, 1 push hl inc hl ld de, wEnemyMonStatus @@ -1955,7 +1955,7 @@ DrawEnemyHUDAndHPBar: .drawHPBar xor a ld [wHPBarType], a - coord hl, 2, 2 + hlcoord 2, 2 call DrawHPBar ld a, $1 ldh [hAutoBGTransferEnabled], a @@ -2030,12 +2030,12 @@ DisplayBattleMenu:: ld bc, NAME_LENGTH call CopyData ; the following simulates the keystrokes by drawing menus on screen - coord hl, 9, 14 + hlcoord 9, 14 ld [hl], "▶" ld c, 80 call DelayFrames ld [hl], " " - coord hl, 9, 16 + hlcoord 9, 16 ld [hl], "▶" ld c, 50 call DelayFrames @@ -2060,14 +2060,14 @@ DisplayBattleMenu:: ld a, " " jr z, .safariLeftColumn ; put cursor in left column for normal battle menu (i.e. when it's not a Safari battle) - Coorda 15, 14 ; clear upper cursor position in right column - Coorda 15, 16 ; clear lower cursor position in right column + ldcoord_a 15, 14 ; clear upper cursor position in right column + ldcoord_a 15, 16 ; clear lower cursor position in right column ld b, $9 ; top menu item X jr .leftColumn_WaitForInput .safariLeftColumn - Coorda 13, 14 - Coorda 13, 16 - coord hl, 7, 14 + ldcoord_a 13, 14 + ldcoord_a 13, 16 + hlcoord 7, 14 ld de, wNumSafariBalls lb bc, 1, 2 call PrintNumber @@ -2093,14 +2093,14 @@ DisplayBattleMenu:: ld a, " " jr z, .safariRightColumn ; put cursor in right column for normal battle menu (i.e. when it's not a Safari battle) - Coorda 9, 14 ; clear upper cursor position in left column - Coorda 9, 16 ; clear lower cursor position in left column + ldcoord_a 9, 14 ; clear upper cursor position in left column + ldcoord_a 9, 16 ; clear lower cursor position in left column ld b, $f ; top menu item X jr .rightColumn_WaitForInput .safariRightColumn - Coorda 1, 14 ; clear upper cursor position in left column - Coorda 1, 16 ; clear lower cursor position in left column - coord hl, 7, 14 + ldcoord_a 1, 14 ; clear upper cursor position in left column + ldcoord_a 1, 16 ; clear lower cursor position in left column + hlcoord 7, 14 ld de, wNumSafariBalls lb bc, 1, 2 call PrintNumber @@ -2321,7 +2321,7 @@ PartyMenuOrRockOrRun: call GBPalNormal jp DisplayBattleMenu .partyMonDeselected - coord hl, 11, 11 + hlcoord 11, 11 ld bc, 6 * SCREEN_WIDTH + 9 ld a, " " call FillMemory @@ -2483,18 +2483,18 @@ MoveSelectionMenu: ret z ld hl, wBattleMonMoves call .loadmoves - coord hl, 4, 12 + hlcoord 4, 12 ld b, 4 ld c, 14 di ; out of pure coincidence, it is possible for vblank to occur between the di and ei ; so it is necessary to put the di ei block to not cause tearing call TextBoxBorder - coord hl, 4, 12 + hlcoord 4, 12 ld [hl], $7a - coord hl, 10, 12 + hlcoord 10, 12 ld [hl], $7e ei - coord hl, 6, 13 + hlcoord 6, 13 call .writemoves ld b, $5 ld a, $c @@ -2502,11 +2502,11 @@ MoveSelectionMenu: .mimicmenu ld hl, wEnemyMonMoves call .loadmoves - coord hl, 0, 7 + hlcoord 0, 7 ld b, 4 ld c, 14 call TextBoxBorder - coord hl, 2, 8 + hlcoord 2, 8 call .writemoves ld b, $1 ld a, $7 @@ -2517,11 +2517,11 @@ MoveSelectionMenu: ld bc, wPartyMon2 - wPartyMon1 call AddNTimes call .loadmoves - coord hl, 4, 7 + hlcoord 4, 7 ld b, 4 ld c, 14 call TextBoxBorder - coord hl, 6, 8 + hlcoord 6, 8 call .writemoves ld b, $5 ld a, $7 @@ -2577,7 +2577,7 @@ SelectMenuItem: jr z, .battleselect dec a jr nz, .select - coord hl, 1, 14 + hlcoord 1, 14 ld de, WhichTechniqueString call PlaceString jr .select @@ -2589,7 +2589,7 @@ SelectMenuItem: ld a, [wMenuItemToSwap] and a jr z, .select - coord hl, 5, 13 + hlcoord 5, 13 dec a ld bc, SCREEN_WIDTH call AddNTimes @@ -2826,7 +2826,7 @@ SwapMovesInMenu: PrintMenuItem: xor a ldh [hAutoBGTransferEnabled], a - coord hl, 0, 8 + hlcoord 0, 8 ld b, 3 ld c, 9 call TextBoxBorder @@ -2839,7 +2839,7 @@ PrintMenuItem: ld a, [wCurrentMenuItem] cp b jr nz, .notDisabled - coord hl, 1, 10 + hlcoord 1, 10 ld de, DisabledText call PlaceString jr .moveDisabled @@ -2871,23 +2871,23 @@ PrintMenuItem: and $3f ld [wcd6d], a ; print TYPE/ and / - coord hl, 1, 9 + hlcoord 1, 9 ld de, TypeText call PlaceString - coord hl, 7, 11 + hlcoord 7, 11 ld [hl], "/" - coord hl, 5, 9 + hlcoord 5, 9 ld [hl], "/" - coord hl, 5, 11 + hlcoord 5, 11 ld de, wcd6d lb bc, 1, 2 call PrintNumber - coord hl, 8, 11 + hlcoord 8, 11 ld de, wMaxPP lb bc, 1, 2 call PrintNumber call GetCurrentMove - coord hl, 2, 10 + hlcoord 2, 10 predef PrintMoveType .moveDisabled ld a, $1 @@ -4822,7 +4822,7 @@ ApplyDamageToEnemyPokemon: ld [wHPBarNewHP+1], a ld a, [hl] ld [wHPBarNewHP], a - coord hl, 2, 2 + hlcoord 2, 2 xor a ld [wHPBarType], a predef UpdateHPBar2 ; animate the HP bar shortening @@ -4940,7 +4940,7 @@ ApplyDamageToPlayerPokemon: ld [wHPBarMaxHP+1], a ld a, [hl] ld [wHPBarMaxHP], a - coord hl, 10, 9 + hlcoord 10, 9 ld a, $01 ld [wHPBarType], a predef UpdateHPBar2 ; animate the HP bar shortening @@ -6354,7 +6354,7 @@ LoadPlayerBackPic: ld [MBC1SRamEnable], a ld a, $31 ldh [hStartTileID], a - coord hl, 1, 5 + hlcoord 1, 5 predef_jump CopyUncompressedPicToTilemap ; does nothing since no stats are ever selected (barring glitches) @@ -6770,7 +6770,7 @@ InitBattleCommon: ldh [hStartTileID], a dec a ld [wAICount], a - coord hl, 12, 0 + hlcoord 12, 0 predef CopyUncompressedPicToTilemap ld a, $ff ld [wEnemyMonPartyPos], a @@ -6824,7 +6824,7 @@ InitWildBattle: xor a ld [wTrainerClass], a ldh [hStartTileID], a - coord hl, 12, 0 + hlcoord 12, 0 predef CopyUncompressedPicToTilemap ; common code that executes after init battle code specific to trainer or wild battles @@ -6846,10 +6846,10 @@ _InitBattleCommon: ld a, $9c ldh [hAutoBGTransferDest + 1], a call LoadScreenTilesFromBuffer1 - coord hl, 9, 7 + hlcoord 9, 7 lb bc, 5, 10 call ClearScreenArea - coord hl, 1, 0 + hlcoord 1, 0 lb bc, 4, 10 call ClearScreenArea call ClearSprites @@ -6993,7 +6993,7 @@ LoadMonBackPic: ; been loaded with GetMonHeader. ld a, [wBattleMonSpecies2] ld [wcf91], a - coord hl, 1, 5 + hlcoord 1, 5 ld b, 7 ld c, 8 call ClearScreenArea diff --git a/engine/battle/draw_hud_pokeball_gfx.asm b/engine/battle/draw_hud_pokeball_gfx.asm index c0a91949..8cd9528d 100644 --- a/engine/battle/draw_hud_pokeball_gfx.asm +++ b/engine/battle/draw_hud_pokeball_gfx.asm @@ -121,7 +121,7 @@ PlacePlayerHUDTiles: ld de, wHUDGraphicsTiles ld bc, $3 call CopyData - coord hl, 18, 10 + hlcoord 18, 10 ld de, -1 jr PlaceHUDTiles @@ -136,7 +136,7 @@ PlaceEnemyHUDTiles: ld de, wHUDGraphicsTiles ld bc, $3 call CopyData - coord hl, 1, 2 + hlcoord 1, 2 ld de, $1 jr PlaceHUDTiles diff --git a/engine/battle/end_of_battle.asm b/engine/battle/end_of_battle.asm index aa96f31d..bd4a1901 100755 --- a/engine/battle/end_of_battle.asm +++ b/engine/battle/end_of_battle.asm @@ -19,7 +19,7 @@ EndOfBattle: jr z, .placeWinOrLoseString ld de, DrawText .placeWinOrLoseString - coord hl, 6, 8 + hlcoord 6, 8 call PlaceString ld c, 200 call DelayFrames diff --git a/engine/battle/ghost_marowak_anim.asm b/engine/battle/ghost_marowak_anim.asm index 9c47fd53..7405c40b 100644 --- a/engine/battle/ghost_marowak_anim.asm +++ b/engine/battle/ghost_marowak_anim.asm @@ -4,7 +4,7 @@ MarowakAnim: ldh [rOBP1], a call CopyMonPicFromBGToSpriteVRAM ; cover the BG ghost pic with a sprite ghost pic that looks the same ; now that the ghost pic is being displayed using sprites, clear the ghost pic from the BG tilemap - coord hl, 12, 0 + hlcoord 12, 0 lb bc, 7, 7 call ClearScreenArea call Delay3 diff --git a/engine/battle/link_battle_versus_text.asm b/engine/battle/link_battle_versus_text.asm index 22fec0f3..29c11356 100644 --- a/engine/battle/link_battle_versus_text.asm +++ b/engine/battle/link_battle_versus_text.asm @@ -1,18 +1,18 @@ ; display "[player] VS [enemy]" text box with pokeballs representing their parties next to the names DisplayLinkBattleVersusTextBox: call LoadTextBoxTilePatterns - coord hl, 3, 4 + hlcoord 3, 4 ld b, 7 ld c, 12 call TextBoxBorder - coord hl, 4, 5 + hlcoord 4, 5 ld de, wPlayerName call PlaceString - coord hl, 4, 10 + hlcoord 4, 10 ld de, wLinkEnemyTrainerName call PlaceString ; place bold "VS" tiles between the names - coord hl, 9, 8 + hlcoord 9, 8 ld a, $69 ld [hli], a ld [hl], $6a diff --git a/engine/battle/move_effects/drain_hp.asm b/engine/battle/move_effects/drain_hp.asm index e7b241f6..04a585cc 100644 --- a/engine/battle/move_effects/drain_hp.asm +++ b/engine/battle/move_effects/drain_hp.asm @@ -71,10 +71,10 @@ DrainHPEffect_: .next ldh a, [hWhoseTurn] and a - coord hl, 10, 9 + hlcoord 10, 9 ld a, $1 jr z, .next2 - coord hl, 2, 2 + hlcoord 2, 2 xor a .next2 ld [wHPBarType], a diff --git a/engine/battle/move_effects/heal.asm b/engine/battle/move_effects/heal.asm index d12b1ea4..e9fb62a7 100644 --- a/engine/battle/move_effects/heal.asm +++ b/engine/battle/move_effects/heal.asm @@ -89,10 +89,10 @@ HealEffect_: call BankswitchEtoF ldh a, [hWhoseTurn] and a - coord hl, 10, 9 + hlcoord 10, 9 ld a, $1 jr z, .updateHPBar - coord hl, 2, 2 + hlcoord 2, 2 xor a .updateHPBar ld [wHPBarType], a diff --git a/engine/battle/move_effects/recoil.asm b/engine/battle/move_effects/recoil.asm index aa2a3fed..85110d50 100644 --- a/engine/battle/move_effects/recoil.asm +++ b/engine/battle/move_effects/recoil.asm @@ -53,12 +53,12 @@ RecoilEffect_: ld [hli], a ld [hl], a .getHPBarCoords - coord hl, 10, 9 + hlcoord 10, 9 ldh a, [hWhoseTurn] and a ld a, $1 jr z, .updateHPBar - coord hl, 2, 2 + hlcoord 2, 2 xor a .updateHPBar ld [wHPBarType], a diff --git a/engine/battle/scroll_draw_trainer_pic.asm b/engine/battle/scroll_draw_trainer_pic.asm index 978fb71a..e19d681a 100644 --- a/engine/battle/scroll_draw_trainer_pic.asm +++ b/engine/battle/scroll_draw_trainer_pic.asm @@ -6,7 +6,7 @@ _ScrollTrainerPicAfterBattle: ld b, SET_PAL_BATTLE call RunPaletteCommand callfar _LoadTrainerPic - coord hl, 19, 0 + hlcoord 19, 0 ld c, $0 .scrollLoop inc c diff --git a/engine/battle/trainer_ai.asm b/engine/battle/trainer_ai.asm index ea476538..87bec842 100644 --- a/engine/battle/trainer_ai.asm +++ b/engine/battle/trainer_ai.asm @@ -542,7 +542,7 @@ AIRecoverHP: AIPrintItemUseAndUpdateHPBar: call AIPrintItemUse_ - coord hl, 2, 2 + hlcoord 2, 2 xor a ld [wHPBarType], a predef UpdateHPBar2 diff --git a/engine/battle/wild_encounters.asm b/engine/battle/wild_encounters.asm index 3d0eb556..e24f9632 100644 --- a/engine/battle/wild_encounters.asm +++ b/engine/battle/wild_encounters.asm @@ -25,7 +25,7 @@ TryDoWildEncounter: .next ; determine if wild pokemon can appear in the half-block we're standing in ; is the bottom right tile (9,9) of the half-block we're standing in a grass/water tile? - coord hl, 9, 9 + hlcoord 9, 9 ld c, [hl] ld a, [wGrassTile] cp c @@ -64,7 +64,7 @@ TryDoWildEncounter: ; determine which wild pokemon (grass or water) can appear in the half-block we're standing in ld c, [hl] ld hl, wGrassMons - aCoord 8, 9 + lda_coord 8, 9 cp $14 ; is the bottom left tile (8,9) of the half-block we're standing in a water tile? jr nz, .gotWildEncounterType ; else, it's treated as a grass tile by default ld hl, wWaterMons diff --git a/engine/events/cinnabar_lab.asm b/engine/events/cinnabar_lab.asm index aaa0428e..bccc95d1 100755 --- a/engine/events/cinnabar_lab.asm +++ b/engine/events/cinnabar_lab.asm @@ -20,7 +20,7 @@ GiveFossilToCinnabarLab:: dec l ld b, l ld c, $d - coord hl, 0, 0 + hlcoord 0, 0 call TextBoxBorder call UpdateSprites call PrintFossilsInBag @@ -100,7 +100,7 @@ PrintFossilsInBag: push hl ld [wd11e], a call GetItemName - coord hl, 2, 2 + hlcoord 2, 2 ldh a, [hItemCounter] ld bc, SCREEN_WIDTH * 2 call AddNTimes diff --git a/engine/events/diploma.asm b/engine/events/diploma.asm index 95dabab3..3248e152 100755 --- a/engine/events/diploma.asm +++ b/engine/events/diploma.asm @@ -14,7 +14,7 @@ DisplayDiploma:: ld bc, $10 ld a, BANK(CircleTile) call FarCopyData2 - coord hl, 0, 0 + hlcoord 0, 0 lb bc, 16, 18 predef Diploma_TextBoxBorder ld hl, DiplomaTextPointersAndCoords @@ -35,7 +35,7 @@ DisplayDiploma:: pop bc dec c jr nz, .asm_56715 - coord hl, 10, 4 + hlcoord 10, 4 ld de, wPlayerName call PlaceString farcall DrawPlayerCharacter @@ -85,15 +85,15 @@ UnusedPlayerNameLengthFunc: DiplomaTextPointersAndCoords: dw DiplomaText - dwCoord 5, 2 + dwcoord 5, 2 dw DiplomaPlayer - dwCoord 3, 4 + dwcoord 3, 4 dw DiplomaEmptyText - dwCoord 15, 4 + dwcoord 15, 4 dw DiplomaCongrats - dwCoord 2, 6 + dwcoord 2, 6 dw DiplomaGameFreak - dwCoord 9, 16 + dwcoord 9, 16 DiplomaText: db CIRCLE_TILE_ID, "Diploma", CIRCLE_TILE_ID, "@" diff --git a/engine/events/hidden_objects/bills_house_pc.asm b/engine/events/hidden_objects/bills_house_pc.asm index 92679d66..a73596b4 100644 --- a/engine/events/hidden_objects/bills_house_pc.asm +++ b/engine/events/hidden_objects/bills_house_pc.asm @@ -84,11 +84,11 @@ BillsHousePokemonList:: .billsPokemonLoop ld hl, wd730 set 6, [hl] - coord hl, 0, 0 + hlcoord 0, 0 ld b, 10 ld c, 9 call TextBoxBorder - coord hl, 2, 2 + hlcoord 2, 2 ld de, BillsMonListText call PlaceString ld hl, BillsHousePokemonListText2 diff --git a/engine/events/hidden_objects/book_or_sculpture.asm b/engine/events/hidden_objects/book_or_sculpture.asm index 2f3334b8..e04f4047 100644 --- a/engine/events/hidden_objects/book_or_sculpture.asm +++ b/engine/events/hidden_objects/book_or_sculpture.asm @@ -4,7 +4,7 @@ BookOrSculptureText:: ld a, [wCurMapTileset] cp MANSION ; Celadon Mansion tileset jr nz, .ok - aCoord 8, 6 + lda_coord 8, 6 cp $38 jr nz, .ok ld hl, DiglettSculptureText diff --git a/engine/events/hidden_objects/bookshelves.asm b/engine/events/hidden_objects/bookshelves.asm index 23c087cc..b58444af 100644 --- a/engine/events/hidden_objects/bookshelves.asm +++ b/engine/events/hidden_objects/bookshelves.asm @@ -6,7 +6,7 @@ PrintBookshelfText:: ; facing up ld a, [wCurMapTileset] ld b, a - aCoord 8, 7 + lda_coord 8, 7 ld c, a ld hl, BookshelfTileIDs .loop diff --git a/engine/events/hidden_objects/museum_fossils.asm b/engine/events/hidden_objects/museum_fossils.asm index ef53ed89..5d7e08fd 100644 --- a/engine/events/hidden_objects/museum_fossils.asm +++ b/engine/events/hidden_objects/museum_fossils.asm @@ -42,7 +42,7 @@ DisplayMonFrontSpriteInBox: call LoadMonFrontSprite ld a, $80 ldh [hStartTileID], a - coord hl, 10, 11 + hlcoord 10, 11 predef AnimateSendingOutMon call WaitForTextScrollButtonPress call LoadScreenTilesFromBuffer1 diff --git a/engine/events/hidden_objects/school_blackboard.asm b/engine/events/hidden_objects/school_blackboard.asm index 48b97d73..de4700d4 100644 --- a/engine/events/hidden_objects/school_blackboard.asm +++ b/engine/events/hidden_objects/school_blackboard.asm @@ -26,11 +26,11 @@ LinkCableHelp:: .linkHelpLoop ld hl, wd730 set 6, [hl] - coord hl, 0, 0 + hlcoord 0, 0 ld b, 8 ld c, 13 call TextBoxBorder - coord hl, 2, 2 + hlcoord 2, 2 ld de, HowToLinkText call PlaceString ld hl, LinkCableHelpText2 @@ -110,13 +110,13 @@ ViridianSchoolBlackboard:: .blackboardLoop ld hl, wd730 set 6, [hl] - coord hl, 0, 0 + hlcoord 0, 0 lb bc, 6, 10 call TextBoxBorder - coord hl, 1, 2 + hlcoord 1, 2 ld de, StatusAilmentText1 call PlaceString - coord hl, 6, 2 + hlcoord 6, 2 ld de, StatusAilmentText2 call PlaceString ld hl, ViridianSchoolBlackboardText2 diff --git a/engine/events/pokemart.asm b/engine/events/pokemart.asm index 3345f540..c7cb8115 100755 --- a/engine/events/pokemart.asm +++ b/engine/events/pokemart.asm @@ -84,7 +84,7 @@ DisplayPokemartDialogue_:: ld hl, PokemartTellSellPriceText lb bc, 14, 1 ; location that PrintText always prints to, this is useless call PrintText - coord hl, 14, 7 + hlcoord 14, 7 lb bc, 8, 15 ld a, TWO_OPTION_MENU ld [wTextBoxID], a @@ -162,7 +162,7 @@ DisplayPokemartDialogue_:: call CopyStringToCF4B ; copy name to wcf4b ld hl, PokemartTellBuyPriceText call PrintText - coord hl, 14, 7 + hlcoord 14, 7 lb bc, 8, 15 ld a, TWO_OPTION_MENU ld [wTextBoxID], a diff --git a/engine/events/prize_menu.asm b/engine/events/prize_menu.asm index 2d8bde90..d9320fe7 100755 --- a/engine/events/prize_menu.asm +++ b/engine/events/prize_menu.asm @@ -22,7 +22,7 @@ CeladonPrizeMenu:: ld a, $01 ld [wTopMenuItemX], a call PrintPrizePrice - coord hl, 0, 2 + hlcoord 0, 2 ld b, 8 ld c, 16 call TextBoxBorder @@ -93,71 +93,71 @@ GetPrizeMenuId: ld a, [wPrize1] ld [wd11e], a call GetItemName - coord hl, 2, 4 + hlcoord 2, 4 call PlaceString ld a, [wPrize2] ld [wd11e], a call GetItemName - coord hl, 2, 6 + hlcoord 2, 6 call PlaceString ld a, [wPrize3] ld [wd11e], a call GetItemName - coord hl, 2, 8 + hlcoord 2, 8 call PlaceString jr .putNoThanksText .putMonName ld a, [wPrize1] ld [wd11e], a call GetMonName - coord hl, 2, 4 + hlcoord 2, 4 call PlaceString ld a, [wPrize2] ld [wd11e], a call GetMonName - coord hl, 2, 6 + hlcoord 2, 6 call PlaceString ld a, [wPrize3] ld [wd11e], a call GetMonName - coord hl, 2, 8 + hlcoord 2, 8 call PlaceString .putNoThanksText - coord hl, 2, 10 + hlcoord 2, 10 ld de, NoThanksText call PlaceString ; put prices on the right side of the textbox ld de, wPrize1Price - coord hl, 13, 5 + hlcoord 13, 5 ; reg. c: ; [low nybble] number of bytes ; [bits 765 = %100] space-padding (not zero-padding) ld c, (1 << 7 | 2) call PrintBCDNumber ld de, wPrize2Price - coord hl, 13, 7 + hlcoord 13, 7 ld c, (1 << 7 | 2) call PrintBCDNumber ld de, wPrize3Price - coord hl, 13, 9 + hlcoord 13, 9 ld c, (1 << 7 | 2) jp PrintBCDNumber INCLUDE "data/events/prizes.asm" PrintPrizePrice: - coord hl, 11, 0 + hlcoord 11, 0 ld b, 1 ld c, 7 call TextBoxBorder call UpdateSprites - coord hl, 12, 0 + hlcoord 12, 0 ld de, .CoinString call PlaceString - coord hl, 13, 1 + hlcoord 13, 1 ld de, .SixSpacesString call PlaceString - coord hl, 13, 1 + hlcoord 13, 1 ld de, wPlayerCoins ld c, %10000010 call PrintBCDNumber diff --git a/engine/events/vending_machine.asm b/engine/events/vending_machine.asm index 7bda91b0..a67f1c07 100755 --- a/engine/events/vending_machine.asm +++ b/engine/events/vending_machine.asm @@ -17,15 +17,15 @@ VendingMachineMenu:: ld [wTopMenuItemX], a ld hl, wd730 set 6, [hl] - coord hl, 0, 3 + hlcoord 0, 3 ld b, 8 ld c, 12 call TextBoxBorder call UpdateSprites - coord hl, 2, 5 + hlcoord 2, 5 ld de, DrinkText call PlaceString - coord hl, 9, 6 + hlcoord 9, 6 ld de, DrinkPriceText call PlaceString ld hl, wd730 diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm index b2901615..b04f11fb 100755 --- a/engine/items/item_effects.asm +++ b/engine/items/item_effects.asm @@ -1044,7 +1044,7 @@ ItemUseMedicine: sbc b ld [hl], a ld [wHPBarNewHP+1], a - coord hl, 4, 1 + hlcoord 4, 1 ld a, [wWhichPokemon] ld bc, 2 * SCREEN_WIDTH call AddNTimes ; calculate coordinates of HP bar of pokemon that used Softboiled @@ -2221,7 +2221,7 @@ ItemUseTMHM: call PrintText ld hl, TeachMachineMoveText call PrintText - coord hl, 14, 7 + hlcoord 14, 7 lb bc, 8, 15 ld a, TWO_OPTION_MENU ld [wTextBoxID], a @@ -2607,7 +2607,7 @@ TossItem_:: call CopyStringToCF4B ; copy name to wcf4b ld hl, IsItOKToTossItemText call PrintText - coord hl, 14, 7 + hlcoord 14, 7 lb bc, 8, 15 ld a, TWO_OPTION_MENU ld [wTextBoxID], a diff --git a/engine/items/town_map.asm b/engine/items/town_map.asm index 3cff630b..db066268 100755 --- a/engine/items/town_map.asm +++ b/engine/items/town_map.asm @@ -11,7 +11,7 @@ DisplayTownMap: push af ld b, $0 call DrawPlayerOrBirdSprite ; player sprite - coord hl, 1, 0 + hlcoord 1, 0 ld de, wcd6d call PlaceString ld hl, wOAMBuffer @@ -28,7 +28,7 @@ DisplayTownMap: jr .enterLoop .townMapLoop - coord hl, 0, 0 + hlcoord 0, 0 lb bc, 1, 20 call ClearScreenArea ld hl, TownMapOrder @@ -55,7 +55,7 @@ DisplayTownMap: inc de cp $50 jr nz, .copyMapName - coord hl, 1, 0 + hlcoord 1, 0 ld de, wcd6d call PlaceString ld hl, wOAMBuffer + $10 @@ -118,7 +118,7 @@ LoadTownMap_Nest: push hl call DisplayWildLocations call GetMonName - coord hl, 1, 0 + hlcoord 1, 0 call PlaceString ld h, b ld l, c @@ -153,34 +153,34 @@ LoadTownMap_Fly:: push af ld [hl], $ff push hl - coord hl, 0, 0 + hlcoord 0, 0 ld de, ToText call PlaceString ld a, [wCurMap] ld b, $0 call DrawPlayerOrBirdSprite ld hl, wFlyLocationsList - coord de, 18, 0 + decoord 18, 0 .townMapFlyLoop ld a, " " ld [de], a push hl push hl - coord hl, 3, 0 + hlcoord 3, 0 lb bc, 1, 15 call ClearScreenArea pop hl ld a, [hl] ld b, $4 call DrawPlayerOrBirdSprite ; draw bird sprite - coord hl, 3, 0 + hlcoord 3, 0 ld de, wcd6d call PlaceString ld c, 15 call DelayFrames - coord hl, 18, 0 + hlcoord 18, 0 ld [hl], "▲" - coord hl, 19, 0 + hlcoord 19, 0 ld [hl], "▼" pop hl .inputLoop @@ -219,7 +219,7 @@ LoadTownMap_Fly:: ld [hl], a ret .pressedUp - coord de, 18, 0 + decoord 18, 0 inc hl ld a, [hl] cp $ff @@ -231,7 +231,7 @@ LoadTownMap_Fly:: ld hl, wFlyLocationsList jp .townMapFlyLoop .pressedDown - coord de, 19, 0 + decoord 19, 0 dec hl ld a, [hl] cp $ff @@ -278,7 +278,7 @@ LoadTownMap: call GBPalWhiteOutWithDelay3 call ClearScreen call UpdateSprites - coord hl, 0, 0 + hlcoord 0, 0 ld b, $12 ld c, $12 call TextBoxBorder @@ -293,7 +293,7 @@ LoadTownMap: ld bc, MonNestIconEnd - MonNestIcon ld a, BANK(MonNestIcon) call FarCopyDataDouble - coord hl, 0, 0 + hlcoord 0, 0 ld de, CompressedMap .nextTile ld a, [de] @@ -395,11 +395,11 @@ DisplayWildLocations: and a ; were any OAM entries written? jr nz, .drawPlayerSprite ; if no OAM entries were written, print area unknown text - coord hl, 1, 7 + hlcoord 1, 7 ld b, 2 ld c, 15 call TextBoxBorder - coord hl, 2, 9 + hlcoord 2, 9 ld de, AreaUnknownText call PlaceString jr .done diff --git a/engine/link/cable_club.asm b/engine/link/cable_club.asm index dd93ebba..42d06846 100755 --- a/engine/link/cable_club.asm +++ b/engine/link/cable_club.asm @@ -9,11 +9,11 @@ CableClub_DoBattleOrTrade: call LoadFontTilePatterns call LoadHpBarAndStatusTilePatterns call LoadTrainerInfoTextBoxTiles - coord hl, 3, 8 + hlcoord 3, 8 ld b, 2 ld c, 12 call CableClub_TextBoxBorder - coord hl, 4, 10 + hlcoord 4, 10 ld de, PleaseWaitString call PlaceString ld hl, wPlayerNumHits @@ -399,7 +399,7 @@ TradeCenter_SelectMon: ld [wTopMenuItemY], a ld a, 1 ld [wTopMenuItemX], a - coord hl, 1, 1 + hlcoord 1, 1 lb bc, 6, 1 call ClearScreenArea .playerMonMenu_HandleInput @@ -464,11 +464,11 @@ TradeCenter_SelectMon: dec a .displayStatsTradeMenu push af - coord hl, 0, 14 + hlcoord 0, 14 ld b, 2 ld c, 18 call CableClub_TextBoxBorder - coord hl, 2, 16 + hlcoord 2, 16 ld de, .statsTrade call PlaceString xor a @@ -480,7 +480,7 @@ TradeCenter_SelectMon: ld [wTopMenuItemY], a .selectStatsMenuItem ld a, " " - Coorda 11, 16 + ldcoord_a 11, 16 ld a, D_RIGHT | B_BUTTON | A_BUTTON ld [wMenuWatchedKeys], a ld a, 1 @@ -497,7 +497,7 @@ TradeCenter_SelectMon: jp .playerMonMenu .selectTradeMenuItem ld a, " " - Coorda 1, 16 + ldcoord_a 1, 16 ld a, D_LEFT | B_BUTTON | A_BUTTON ld [wMenuWatchedKeys], a ld a, 11 @@ -548,7 +548,7 @@ TradeCenter_SelectMon: ld [hl], a .cancelMenuItem_Loop ld a, "▶" ; filled arrow cursor - Coorda 1, 16 + ldcoord_a 1, 16 .cancelMenuItem_JoypadLoop call JoypadLowSensitivity ldh a, [hJoy5] @@ -560,14 +560,14 @@ TradeCenter_SelectMon: jr z, .cancelMenuItem_JoypadLoop ; if Up pressed ld a, " " - Coorda 1, 16 + ldcoord_a 1, 16 ld a, [wPartyCount] dec a ld [wCurrentMenuItem], a jp .playerMonMenu .cancelMenuItem_APressed ld a, "▷" ; unfilled arrow cursor - Coorda 1, 16 + ldcoord_a 1, 16 ld a, $f ld [wSerialExchangeNybbleSendData], a call Serial_PrintWaitingTextAndSyncAndExchangeNybble @@ -596,15 +596,15 @@ ReturnToCableClubRoom: ret TradeCenter_DrawCancelBox: - coord hl, 11, 15 + hlcoord 11, 15 ld a, $7e ld bc, 2 * SCREEN_WIDTH + 9 call FillMemory - coord hl, 0, 15 + hlcoord 0, 15 ld b, 1 ld c, 9 call CableClub_TextBoxBorder - coord hl, 2, 16 + hlcoord 2, 16 ld de, CancelTextString jp PlaceString @@ -613,7 +613,7 @@ CancelTextString: TradeCenter_PlaceSelectedEnemyMonMenuCursor: ld a, [wSerialSyncAndExchangeNybbleReceiveData] - coord hl, 1, 9 + hlcoord 1, 9 ld bc, SCREEN_WIDTH call AddNTimes ld [hl], "▷" ; cursor @@ -630,24 +630,24 @@ TradeCenter_DisplayStats: jp TradeCenter_DrawCancelBox TradeCenter_DrawPartyLists: - coord hl, 0, 0 + hlcoord 0, 0 ld b, 6 ld c, 18 call CableClub_TextBoxBorder - coord hl, 0, 8 + hlcoord 0, 8 ld b, 6 ld c, 18 call CableClub_TextBoxBorder - coord hl, 5, 0 + hlcoord 5, 0 ld de, wPlayerName call PlaceString - coord hl, 5, 8 + hlcoord 5, 8 ld de, wLinkEnemyTrainerName call PlaceString - coord hl, 2, 1 + hlcoord 2, 1 ld de, wPartySpecies call TradeCenter_PrintPartyListNames - coord hl, 2, 9 + hlcoord 2, 9 ld de, wEnemyPartyMons ; fall through @@ -684,7 +684,7 @@ TradeCenter_Trade: ld [wSerialExchangeNybbleReceiveData], a ld [wMenuWatchMovingOutOfBounds], a ld [wMenuJoypadPollCount], a - coord hl, 0, 12 + hlcoord 0, 12 ld b, 4 ld c, 18 call CableClub_TextBoxBorder @@ -709,10 +709,10 @@ TradeCenter_Trade: ld [wd11e], a call GetMonName ld hl, WillBeTradedText - coord bc, 1, 14 + bccoord 1, 14 call TextCommandProcessor call SaveScreenTilesToBuffer1 - coord hl, 10, 7 + hlcoord 10, 7 lb bc, 8, 11 ld a, TRADE_CANCEL_MENU ld [wTwoOptionMenuID], a @@ -726,11 +726,11 @@ TradeCenter_Trade: ; if trade cancelled ld a, $1 ld [wSerialExchangeNybbleSendData], a - coord hl, 0, 12 + hlcoord 0, 12 ld b, 4 ld c, 18 call CableClub_TextBoxBorder - coord hl, 1, 14 + hlcoord 1, 14 ld de, TradeCanceled call PlaceString call Serial_PrintWaitingTextAndSyncAndExchangeNybble @@ -743,11 +743,11 @@ TradeCenter_Trade: dec a ; did the other person cancel? jr nz, .doTrade ; if the other person cancelled - coord hl, 0, 12 + hlcoord 0, 12 ld b, 4 ld c, 18 call CableClub_TextBoxBorder - coord hl, 1, 14 + hlcoord 1, 14 ld de, TradeCanceled call PlaceString jp .tradeCancelled @@ -851,11 +851,11 @@ TradeCenter_Trade: call Serial_PrintWaitingTextAndSyncAndExchangeNybble ld c, 40 call DelayFrames - coord hl, 0, 12 + hlcoord 0, 12 ld b, 4 ld c, 18 call CableClub_TextBoxBorder - coord hl, 1, 14 + hlcoord 1, 14 ld de, TradeCompleted call PlaceString predef SaveSAVtoSRAM2 diff --git a/engine/link/print_waiting_text.asm b/engine/link/print_waiting_text.asm index c48459d3..d74d635f 100644 --- a/engine/link/print_waiting_text.asm +++ b/engine/link/print_waiting_text.asm @@ -1,5 +1,5 @@ PrintWaitingText:: - coord hl, 3, 10 + hlcoord 3, 10 ld b, $1 ld c, $b ld a, [wIsInBattle] @@ -10,7 +10,7 @@ PrintWaitingText:: .asm_4c17 call CableClub_TextBoxBorder .asm_4c1a - coord hl, 4, 11 + hlcoord 4, 11 ld de, WaitingText call PlaceString ld c, 50 diff --git a/engine/menus/display_text_id_init.asm b/engine/menus/display_text_id_init.asm index fd1d3960..c030e7c9 100644 --- a/engine/menus/display_text_id_init.asm +++ b/engine/menus/display_text_id_init.asm @@ -13,18 +13,18 @@ DisplayTextIDInit:: ; below this, so this seems unnecessary. CheckEvent EVENT_GOT_POKEDEX ; start menu with pokedex - coord hl, 10, 0 + hlcoord 10, 0 ld b, $0e ld c, $08 jr nz, .drawTextBoxBorder ; start menu without pokedex - coord hl, 10, 0 + hlcoord 10, 0 ld b, $0c ld c, $08 jr .drawTextBoxBorder ; if text ID is not 0 (i.e. not the start menu) then do a standard dialogue text box .notStartMenu - coord hl, 0, 12 + hlcoord 0, 12 ld b, $04 ld c, $12 .drawTextBoxBorder diff --git a/engine/menus/draw_badges.asm b/engine/menus/draw_badges.asm index 1888e32f..a74497c1 100644 --- a/engine/menus/draw_badges.asm +++ b/engine/menus/draw_badges.asm @@ -43,11 +43,11 @@ DrawBadges: ld [hli], a ld [hl], $60 ; First name - coord hl, 2, 11 + hlcoord 2, 11 ld de, wTempObtainedBadgesBooleans call .DrawBadgeRow - coord hl, 2, 14 + hlcoord 2, 14 ld de, wTempObtainedBadgesBooleans + 4 ; call .DrawBadgeRow ; ret diff --git a/engine/menus/draw_start_menu.asm b/engine/menus/draw_start_menu.asm index 21e444e9..00d385bc 100644 --- a/engine/menus/draw_start_menu.asm +++ b/engine/menus/draw_start_menu.asm @@ -2,12 +2,12 @@ DrawStartMenu:: CheckEvent EVENT_GOT_POKEDEX ; menu with pokedex - coord hl, 10, 0 + hlcoord 10, 0 ld b, $0e ld c, $08 jr nz, .drawTextBoxBorder ; shorter menu if the player doesn't have the pokedex - coord hl, 10, 0 + hlcoord 10, 0 ld b, $0c ld c, $08 .drawTextBoxBorder @@ -25,7 +25,7 @@ DrawStartMenu:: ld [wMenuWatchMovingOutOfBounds], a ld hl, wd730 set 6, [hl] ; no pauses between printing each letter - coord hl, 12, 2 + hlcoord 12, 2 CheckEvent EVENT_GOT_POKEDEX ; case for not having pokedex ld a, $06 diff --git a/engine/menus/league_pc.asm b/engine/menus/league_pc.asm index d930e42f..f2107c49 100755 --- a/engine/menus/league_pc.asm +++ b/engine/menus/league_pc.asm @@ -95,18 +95,18 @@ LeaguePCShowMon: ld b, SET_PAL_POKEMON_WHOLE_SCREEN ld c, 0 call RunPaletteCommand - coord hl, 12, 5 + hlcoord 12, 5 call GetMonHeader call LoadFrontSpriteByMonIndex call GBPalNormal - coord hl, 0, 13 + hlcoord 0, 13 ld b, 2 ld c, $12 call TextBoxBorder - coord hl, 1, 15 + hlcoord 1, 15 ld de, HallOfFameNoText call PlaceString - coord hl, 16, 15 + hlcoord 16, 15 ld de, wHoFTeamNo lb bc, 1, 3 call PrintNumber diff --git a/engine/menus/main_menu.asm b/engine/menus/main_menu.asm index 44aeccca..d2776240 100755 --- a/engine/menus/main_menu.asm +++ b/engine/menus/main_menu.asm @@ -33,20 +33,20 @@ MainMenu: cp 1 jr z, .noSaveFile ; there's a save file - coord hl, 0, 0 + hlcoord 0, 0 ld b, 6 ld c, 13 call TextBoxBorder - coord hl, 2, 2 + hlcoord 2, 2 ld de, ContinueText call PlaceString jr .next2 .noSaveFile - coord hl, 0, 0 + hlcoord 0, 0 ld b, 4 ld c, 13 call TextBoxBorder - coord hl, 2, 2 + hlcoord 2, 2 ld de, NewGameText call PlaceString .next2 @@ -141,12 +141,12 @@ LinkMenu: call SaveScreenTilesToBuffer1 ld hl, WhereWouldYouLikeText call PrintText - coord hl, 5, 5 + hlcoord 5, 5 ld b, $6 ld c, $d call TextBoxBorder call UpdateSprites - coord hl, 7, 7 + hlcoord 7, 7 ld de, CableClubOptionsText call PlaceString xor a @@ -240,11 +240,11 @@ LinkMenu: ld c, d .updateCursorPosition ld a, b - Coorda 6, 7 + ldcoord_a 6, 7 ld a, c - Coorda 6, 9 + ldcoord_a 6, 9 ld a, d - Coorda 6, 11 + ldcoord_a 6, 11 ld c, 40 call DelayFrames call LoadScreenTilesFromBuffer1 @@ -345,21 +345,21 @@ CableClubOptionsText: DisplayContinueGameInfo: xor a ldh [hAutoBGTransferEnabled], a - coord hl, 4, 7 + hlcoord 4, 7 ld b, 8 ld c, 14 call TextBoxBorder - coord hl, 5, 9 + hlcoord 5, 9 ld de, SaveScreenInfoText call PlaceString - coord hl, 12, 9 + hlcoord 12, 9 ld de, wPlayerName call PlaceString - coord hl, 17, 11 + hlcoord 17, 11 call PrintNumBadges - coord hl, 16, 13 + hlcoord 16, 13 call PrintNumOwnedMons - coord hl, 13, 15 + hlcoord 13, 15 call PrintPlayTime ld a, 1 ldh [hAutoBGTransferEnabled], a @@ -369,23 +369,23 @@ DisplayContinueGameInfo: PrintSaveScreenText: xor a ldh [hAutoBGTransferEnabled], a - coord hl, 4, 0 + hlcoord 4, 0 ld b, $8 ld c, $e call TextBoxBorder call LoadTextBoxTilePatterns call UpdateSprites - coord hl, 5, 2 + hlcoord 5, 2 ld de, SaveScreenInfoText call PlaceString - coord hl, 12, 2 + hlcoord 12, 2 ld de, wPlayerName call PlaceString - coord hl, 17, 4 + hlcoord 17, 4 call PrintNumBadges - coord hl, 16, 6 + hlcoord 16, 6 call PrintNumOwnedMons - coord hl, 13, 8 + hlcoord 13, 8 call PrintPlayTime ld a, $1 ldh [hAutoBGTransferEnabled], a @@ -429,28 +429,28 @@ SaveScreenInfoText: next "TIME@" DisplayOptionMenu: - coord hl, 0, 0 + hlcoord 0, 0 ld b, 3 ld c, 18 call TextBoxBorder - coord hl, 0, 5 + hlcoord 0, 5 ld b, 3 ld c, 18 call TextBoxBorder - coord hl, 0, 10 + hlcoord 0, 10 ld b, 3 ld c, 18 call TextBoxBorder - coord hl, 1, 1 + hlcoord 1, 1 ld de, TextSpeedOptionText call PlaceString - coord hl, 1, 6 + hlcoord 1, 6 ld de, BattleAnimationOptionText call PlaceString - coord hl, 1, 11 + hlcoord 1, 11 ld de, BattleStyleOptionText call PlaceString - coord hl, 2, 16 + hlcoord 2, 16 ld de, OptionMenuCancelText call PlaceString xor a @@ -644,7 +644,7 @@ SetCursorPositionsFromOptions: dec hl ld a, [hl] ld [wOptionsTextSpeedCursorX], a ; text speed cursor X coordinate - coord hl, 0, 3 + hlcoord 0, 3 call .placeUnfilledRightArrow sla c ld a, 1 ; On @@ -652,7 +652,7 @@ SetCursorPositionsFromOptions: ld a, 10 ; Off .storeBattleAnimationCursorX ld [wOptionsBattleAnimCursorX], a ; battle animation cursor X coordinate - coord hl, 0, 8 + hlcoord 0, 8 call .placeUnfilledRightArrow sla c ld a, 1 @@ -660,10 +660,10 @@ SetCursorPositionsFromOptions: ld a, 10 .storeBattleStyleCursorX ld [wOptionsBattleStyleCursorX], a ; battle style cursor X coordinate - coord hl, 0, 13 + hlcoord 0, 13 call .placeUnfilledRightArrow ; cursor in front of Cancel - coord hl, 0, 16 + hlcoord 0, 16 ld a, 1 .placeUnfilledRightArrow ld e, a diff --git a/engine/menus/naming_screen.asm b/engine/menus/naming_screen.asm index e6886c98..a16c9501 100755 --- a/engine/menus/naming_screen.asm +++ b/engine/menus/naming_screen.asm @@ -4,7 +4,7 @@ AskName: push hl ld a, [wIsInBattle] dec a - coord hl, 0, 0 + hlcoord 0, 0 ld b, 4 ld c, 11 call z, ClearScreenArea ; only if in wild battle @@ -13,7 +13,7 @@ AskName: call GetMonName ld hl, DoYouWantToNicknameText call PrintText - coord hl, 14, 7 + hlcoord 14, 7 lb bc, 8, 15 ld a, TWO_OPTION_MENU ld [wTextBoxID], a @@ -93,7 +93,7 @@ DisplayNamingScreen: call LoadHpBarAndStatusTilePatterns call LoadEDTile farcall LoadMonPartySpriteGfx - coord hl, 0, 4 + hlcoord 0, 4 ld b, 9 ld c, 18 call TextBoxBorder @@ -344,7 +344,7 @@ PrintAlphabet: jr nz, .lowercase ld de, UpperCaseAlphabet .lowercase - coord hl, 2, 5 + hlcoord 2, 5 lb bc, 5, 9 ; 5 rows, 9 columns .outerLoop push bc @@ -371,13 +371,13 @@ PrintNicknameAndUnderscores: call CalcStringLength ld a, c ld [wNamingScreenNameLength], a - coord hl, 10, 2 + hlcoord 10, 2 lb bc, 1, 10 call ClearScreenArea - coord hl, 10, 2 + hlcoord 10, 2 ld de, wcf4b call PlaceString - coord hl, 10, 3 + hlcoord 10, 3 ld a, [wNamingScreenType] cp NAME_MON_SCREEN jr nc, .pokemon1 @@ -416,7 +416,7 @@ PrintNicknameAndUnderscores: .emptySpacesRemaining ld c, a ld b, $0 - coord hl, 10, 3 + hlcoord 10, 3 add hl, bc ld [hl], $77 ; raised underscore tile id ret @@ -450,7 +450,7 @@ CalcStringLength: jr .loop PrintNamingText: - coord hl, 0, 1 + hlcoord 0, 1 ld a, [wNamingScreenType] ld de, YourTextString and a @@ -465,12 +465,12 @@ PrintNamingText: pop af ld [wd11e], a call GetMonName - coord hl, 4, 1 + hlcoord 4, 1 call PlaceString ld hl, $1 add hl, bc ld [hl], $c9 - coord hl, 1, 3 + hlcoord 1, 3 ld de, NicknameTextString jr .placeString .notNickname diff --git a/engine/menus/party_menu.asm b/engine/menus/party_menu.asm index 4eeb0ed8..14216b64 100755 --- a/engine/menus/party_menu.asm +++ b/engine/menus/party_menu.asm @@ -30,7 +30,7 @@ RedrawPartyMenu_:: jp z, .printMessage call ErasePartyMenuCursors farcall InitPartyMenuBlkPacket - coord hl, 3, 0 + hlcoord 3, 0 ld de, wPartySpecies xor a ld c, a diff --git a/engine/menus/players_pc.asm b/engine/menus/players_pc.asm index ebaacd52..5461be51 100755 --- a/engine/menus/players_pc.asm +++ b/engine/menus/players_pc.asm @@ -22,12 +22,12 @@ PlayerPCMenu: ld hl, wFlags_0xcd60 set 5, [hl] call LoadScreenTilesFromBuffer2 - coord hl, 0, 0 + hlcoord 0, 0 ld b, $8 ld c, $e call TextBoxBorder call UpdateSprites - coord hl, 2, 2 + hlcoord 2, 2 ld de, PlayersPCMenuEntries call PlaceString ld hl, wTopMenuItemY diff --git a/engine/menus/pokedex.asm b/engine/menus/pokedex.asm index a2a55bfd..53719712 100755 --- a/engine/menus/pokedex.asm +++ b/engine/menus/pokedex.asm @@ -119,7 +119,7 @@ HandlePokedexSideMenu: pop af ld [wCurrentMenuItem], a push bc - coord hl, 0, 3 + hlcoord 0, 3 ld de, 20 lb bc, " ", 13 call DrawTileLine ; cover up the menu cursor in the pokemon list @@ -128,7 +128,7 @@ HandlePokedexSideMenu: .buttonBPressed push bc - coord hl, 15, 10 + hlcoord 15, 10 ld de, 20 lb bc, " ", 7 call DrawTileLine ; cover up the menu cursor in the side menu @@ -158,43 +158,43 @@ HandlePokedexListMenu: xor a ldh [hAutoBGTransferEnabled], a ; draw the horizontal line separating the seen and owned amounts from the menu - coord hl, 15, 8 + hlcoord 15, 8 ld a, "─" ld [hli], a ld [hli], a ld [hli], a ld [hli], a ld [hli], a - coord hl, 14, 0 + hlcoord 14, 0 ld [hl], $71 ; vertical line tile - coord hl, 14, 1 + hlcoord 14, 1 call DrawPokedexVerticalLine - coord hl, 14, 9 + hlcoord 14, 9 call DrawPokedexVerticalLine ld hl, wPokedexSeen ld b, wPokedexSeenEnd - wPokedexSeen call CountSetBits ld de, wNumSetBits - coord hl, 16, 3 + hlcoord 16, 3 lb bc, 1, 3 call PrintNumber ; print number of seen pokemon ld hl, wPokedexOwned ld b, wPokedexOwnedEnd - wPokedexOwned call CountSetBits ld de, wNumSetBits - coord hl, 16, 6 + hlcoord 16, 6 lb bc, 1, 3 call PrintNumber ; print number of owned pokemon - coord hl, 16, 2 + hlcoord 16, 2 ld de, PokedexSeenText call PlaceString - coord hl, 16, 5 + hlcoord 16, 5 ld de, PokedexOwnText call PlaceString - coord hl, 1, 1 + hlcoord 1, 1 ld de, PokedexContentsText call PlaceString - coord hl, 16, 10 + hlcoord 16, 10 ld de, PokedexMenuItemsText call PlaceString ; find the highest pokedex number among the pokemon the player has seen @@ -217,10 +217,10 @@ HandlePokedexListMenu: .loop xor a ldh [hAutoBGTransferEnabled], a - coord hl, 4, 2 + hlcoord 4, 2 lb bc, 14, 10 call ClearScreenArea - coord hl, 1, 3 + hlcoord 1, 3 ld a, [wListScrollOffset] ld [wd11e], a ld d, 7 @@ -415,43 +415,43 @@ ShowPokedexDataInternal: xor a ldh [hTilesetType], a - coord hl, 0, 0 + hlcoord 0, 0 ld de, 1 lb bc, $64, SCREEN_WIDTH call DrawTileLine ; draw top border - coord hl, 0, 17 + hlcoord 0, 17 ld b, $6f call DrawTileLine ; draw bottom border - coord hl, 0, 1 + hlcoord 0, 1 ld de, 20 lb bc, $66, $10 call DrawTileLine ; draw left border - coord hl, 19, 1 + hlcoord 19, 1 ld b, $67 call DrawTileLine ; draw right border ld a, $63 ; upper left corner tile - Coorda 0, 0 + ldcoord_a 0, 0 ld a, $65 ; upper right corner tile - Coorda 19, 0 + ldcoord_a 19, 0 ld a, $6c ; lower left corner tile - Coorda 0, 17 + ldcoord_a 0, 17 ld a, $6e ; lower right corner tile - Coorda 19, 17 + ldcoord_a 19, 17 - coord hl, 0, 9 + hlcoord 0, 9 ld de, PokedexDataDividerLine call PlaceString ; draw horizontal divider line - coord hl, 9, 6 + hlcoord 9, 6 ld de, HeightWeightText call PlaceString call GetMonName - coord hl, 9, 2 + hlcoord 9, 2 call PlaceString ld hl, PokedexEntryPointers @@ -465,7 +465,7 @@ ShowPokedexDataInternal: ld e, a ld d, [hl] ; de = address of pokedex entry - coord hl, 9, 4 + hlcoord 9, 4 call PlaceString ; print species name ld h, b @@ -475,7 +475,7 @@ ShowPokedexDataInternal: push af call IndexToPokedex - coord hl, 2, 8 + hlcoord 2, 8 ld a, "№" ld [hli], a ld a, "" @@ -500,7 +500,7 @@ ShowPokedexDataInternal: call Delay3 call GBPalNormal call GetMonHeader ; load pokemon picture location - coord hl, 1, 1 + hlcoord 1, 1 call LoadFlippedFrontSpriteByMonIndex ; draw pokemon picture ld a, [wcf91] call PlayCry ; play pokemon cry @@ -515,14 +515,14 @@ ShowPokedexDataInternal: jp z, .waitForButtonPress ; if the pokemon has not been owned, don't print the height, weight, or description inc de ; de = address of feet (height) ld a, [de] ; reads feet, but a is overwritten without being used - coord hl, 12, 6 + hlcoord 12, 6 lb bc, 1, 2 call PrintNumber ; print feet (height) ld a, "′" ld [hl], a inc de inc de ; de = address of inches (height) - coord hl, 15, 6 + hlcoord 15, 6 lb bc, LEADING_ZEROES | 1, 2 call PrintNumber ; print inches (height) ld a, "″" @@ -544,10 +544,10 @@ ShowPokedexDataInternal: ld a, [de] ; a = lower byte of weight ld [hl], a ; store lower byte of weight in [hDexWeight + 1] ld de, hDexWeight - coord hl, 11, 8 + hlcoord 11, 8 lb bc, 2, 5 ; 2 bytes, 5 digits call PrintNumber ; print weight - coord hl, 14, 8 + hlcoord 14, 8 ldh a, [hDexWeight + 1] sub 10 ldh a, [hDexWeight] @@ -565,7 +565,7 @@ ShowPokedexDataInternal: ldh [hDexWeight], a ; restore original value of [hDexWeight] pop hl inc hl ; hl = address of pokedex description text - coord bc, 1, 11 + bccoord 1, 11 ld a, %10 ldh [hClearLetterPrintingDelayFlags], a call TextCommandProcessor ; print pokedex description text diff --git a/engine/menus/save.asm b/engine/menus/save.asm index 2941a07e..45fed8a6 100755 --- a/engine/menus/save.asm +++ b/engine/menus/save.asm @@ -154,10 +154,10 @@ SaveSAV: ret nz .save call SaveSAVtoSRAM - coord hl, 1, 13 + hlcoord 1, 13 lb bc, 4, 18 call ClearScreenArea - coord hl, 1, 14 + hlcoord 1, 14 ld de, NowSavingString call PlaceString ld c, 120 @@ -175,7 +175,7 @@ NowSavingString: SaveSAVConfirm: call PrintText - coord hl, 0, 7 + hlcoord 0, 7 lb bc, 8, 1 ld a, TWO_OPTION_MENU ld [wTextBoxID], a @@ -435,20 +435,20 @@ DisplayChangeBoxMenu: and $7f ld [wCurrentMenuItem], a ld [wLastMenuItem], a - coord hl, 0, 0 + hlcoord 0, 0 ld b, 2 ld c, 9 call TextBoxBorder ld hl, ChooseABoxText call PrintText - coord hl, 11, 0 + hlcoord 11, 0 ld b, 12 ld c, 7 call TextBoxBorder ld hl, hFlagsFFF6 set 2, [hl] ld de, BoxNames - coord hl, 13, 1 + hlcoord 13, 1 call PlaceString ld hl, hFlagsFFF6 res 2, [hl] @@ -457,19 +457,19 @@ DisplayChangeBoxMenu: cp 9 jr c, .singleDigitBoxNum sub 9 - coord hl, 8, 2 + hlcoord 8, 2 ld [hl], "1" add "0" jr .next .singleDigitBoxNum add "1" .next - Coorda 9, 2 - coord hl, 1, 2 + ldcoord_a 9, 2 + hlcoord 1, 2 ld de, BoxNoText call PlaceString call GetMonCountsForAllBoxes - coord hl, 18, 1 + hlcoord 18, 1 ld de, wBoxMonCounts ld bc, SCREEN_WIDTH ld a, $c diff --git a/engine/menus/start_sub_menus.asm b/engine/menus/start_sub_menus.asm index 33d504b8..8f1a2d61 100755 --- a/engine/menus/start_sub_menus.asm +++ b/engine/menus/start_sub_menus.asm @@ -285,7 +285,7 @@ StartMenu_Pokemon:: ; writes a blank tile to all possible menu cursor positions on the party menu ErasePartyMenuCursors:: - coord hl, 0, 1 + hlcoord 0, 1 ld bc, 2 * 20 ; menu cursor positions are 2 rows apart ld a, 6 ; 6 menu cursor positions .loop @@ -330,10 +330,10 @@ StartMenu_Item:: .choseItem ; erase menu cursor (blank each tile in front of an item name) ld a, " " - Coorda 5, 4 - Coorda 5, 6 - Coorda 5, 8 - Coorda 5, 10 + ldcoord_a 5, 4 + ldcoord_a 5, 6 + ldcoord_a 5, 8 + ldcoord_a 5, 10 call PlaceUnfilledArrowMenuCursor xor a ld [wMenuItemToSwap], a @@ -480,10 +480,10 @@ DrawTrainerInfo: lb bc, BANK(RedPicFront), $01 predef DisplayPicCenteredOrUpperRight call DisableLCD - coord hl, 0, 2 + hlcoord 0, 2 ld a, " " call TrainerInfo_DrawVerticalLine - coord hl, 1, 2 + hlcoord 1, 2 call TrainerInfo_DrawVerticalLine ld hl, vChars2 + $70 ld de, vChars2 @@ -526,7 +526,7 @@ DrawTrainerInfo: dec a ld [hli], a ld [hl], 1 - coord hl, 0, 0 + hlcoord 0, 0 call TrainerInfo_DrawTextBox ld hl, wTrainerInfoTextBoxWidthPlus1 ld a, 16 + 1 @@ -534,27 +534,27 @@ DrawTrainerInfo: dec a ld [hli], a ld [hl], 3 - coord hl, 1, 10 + hlcoord 1, 10 call TrainerInfo_DrawTextBox - coord hl, 0, 10 + hlcoord 0, 10 ld a, $d7 call TrainerInfo_DrawVerticalLine - coord hl, 19, 10 + hlcoord 19, 10 call TrainerInfo_DrawVerticalLine - coord hl, 6, 9 + hlcoord 6, 9 ld de, TrainerInfo_BadgesText call PlaceString - coord hl, 2, 2 + hlcoord 2, 2 ld de, TrainerInfo_NameMoneyTimeText call PlaceString - coord hl, 7, 2 + hlcoord 7, 2 ld de, wPlayerName call PlaceString - coord hl, 8, 4 + hlcoord 8, 4 ld de, wPlayerMoney ld c, $e3 call PrintBCDNumber - coord hl, 9, 6 + hlcoord 9, 6 ld de, wPlayTimeHours ; hours lb bc, LEFT_ALIGN | 1, 3 call PrintNumber @@ -667,7 +667,7 @@ SwitchPartyMon:: SwitchPartyMon_ClearGfx: push af - coord hl, 0, 0 + hlcoord 0, 0 ld bc, SCREEN_WIDTH * 2 call AddNTimes ld c, SCREEN_WIDTH * 2 diff --git a/engine/menus/text_box.asm b/engine/menus/text_box.asm index 51339ec2..2e69c5a4 100644 --- a/engine/menus/text_box.asm +++ b/engine/menus/text_box.asm @@ -111,7 +111,7 @@ GetTextBoxIDText: ; hl = address of upper left corner of text box GetAddressOfScreenCoords: push bc - coord hl, 0, 0 + hlcoord 0, 0 ld bc, 20 .loop ; loop to add d rows to the base address ld a, d @@ -274,11 +274,11 @@ DisplayMoneyBox: ld a, MONEY_BOX_TEMPLATE ld [wTextBoxID], a call DisplayTextBoxID - coord hl, 13, 1 + hlcoord 13, 1 ld b, 1 ld c, 6 call ClearScreenArea - coord hl, 12, 1 + hlcoord 12, 1 ld de, wPlayerMoney ld c, $a3 call PrintBCDNumber @@ -578,14 +578,14 @@ DisplayFieldMoveMonMenu: jr nz, .fieldMovesExist ; no field moves - coord hl, 11, 11 + hlcoord 11, 11 ld b, 5 ld c, 7 call TextBoxBorder call UpdateSprites ld a, 12 ldh [hFieldMoveMonMenuTopMenuItemX], a - coord hl, 13, 12 + hlcoord 13, 12 ld de, PokemonMenuEntries jp PlaceString @@ -594,7 +594,7 @@ DisplayFieldMoveMonMenu: ; Calculate the text box position and dimensions based on the leftmost X coord ; of the field move names before adjusting for the number of field moves. - coord hl, 0, 11 + hlcoord 0, 11 ld a, [wFieldMovesLeftmostXCoord] dec a ld e, a @@ -625,7 +625,7 @@ DisplayFieldMoveMonMenu: call UpdateSprites ; Calculate the position of the first field move name to print. - coord hl, 0, 12 + hlcoord 0, 12 ld a, [wFieldMovesLeftmostXCoord] inc a ld e, a @@ -674,7 +674,7 @@ DisplayFieldMoveMonMenu: pop hl ld a, [wFieldMovesLeftmostXCoord] ldh [hFieldMoveMonMenuTopMenuItemX], a - coord hl, 0, 12 + hlcoord 0, 12 ld a, [wFieldMovesLeftmostXCoord] inc a ld e, a diff --git a/engine/movie/credits.asm b/engine/movie/credits.asm index 42b8e0cc..ae35a2b7 100755 --- a/engine/movie/credits.asm +++ b/engine/movie/credits.asm @@ -14,9 +14,9 @@ HallOfFamePC: ld bc, $10 ld a, $ff call FillMemory - coord hl, 0, 0 + hlcoord 0, 0 call FillFourRowsWithBlack - coord hl, 0, 14 + hlcoord 0, 14 call FillFourRowsWithBlack ld a, %11000000 ldh [rBGP], a @@ -61,7 +61,7 @@ DisplayCreditsMon: ld a, [hl] ld [wcf91], a ld [wd0b5], a - coord hl, 8, 6 + hlcoord 8, 6 call GetMonHeader call LoadFrontSpriteByMonIndex ld hl, vBGMap0 + $c @@ -162,7 +162,7 @@ FillFourRowsWithBlack: jp FillMemory FillMiddleOfScreenWithWhite: - coord hl, 0, 4 + hlcoord 0, 4 ld bc, SCREEN_WIDTH * 10 ld a, " " jp FillMemory @@ -172,7 +172,7 @@ Credits: push de .nextCreditsScreen pop de - coord hl, 9, 6 + hlcoord 9, 6 push hl call FillMiddleOfScreenWithWhite pop hl @@ -248,10 +248,10 @@ Credits: ld hl, vChars2 + $600 lb bc, BANK(TheEndGfx), (TheEndGfxEnd - TheEndGfx) / $10 call CopyVideoData - coord hl, 4, 8 + hlcoord 4, 8 ld de, TheEndTextString call PlaceString - coord hl, 4, 9 + hlcoord 4, 9 inc de call PlaceString jp FadeInCreditsText diff --git a/engine/movie/evolution.asm b/engine/movie/evolution.asm index b006dea6..cabe7254 100755 --- a/engine/movie/evolution.asm +++ b/engine/movie/evolution.asm @@ -99,7 +99,7 @@ EvolutionSetWholeScreenPalette: Evolution_LoadPic: call GetMonHeader - coord hl, 7, 2 + hlcoord 7, 2 jp LoadFlippedFrontSpriteByMonIndex Evolution_BackAndForthAnim: @@ -118,7 +118,7 @@ Evolution_ChangeMonPic: push bc xor a ldh [hAutoBGTransferEnabled], a - coord hl, 7, 2 + hlcoord 7, 2 lb bc, 7, 7 ld de, SCREEN_WIDTH - 7 .loop diff --git a/engine/movie/hall_of_fame.asm b/engine/movie/hall_of_fame.asm index 355a3f4f..071e7ca1 100755 --- a/engine/movie/hall_of_fame.asm +++ b/engine/movie/hall_of_fame.asm @@ -57,11 +57,11 @@ AnimateHallOfFame: call HoFDisplayAndRecordMonInfo ld c, 80 call DelayFrames - coord hl, 2, 13 + hlcoord 2, 13 ld b, 3 ld c, 14 call TextBoxBorder - coord hl, 4, 15 + hlcoord 4, 15 ld de, HallOfFameText call PlaceString ld c, 180 @@ -112,7 +112,7 @@ HoFShowMonOrPlayer: call HoFLoadPlayerPics jr .next1 .showMon - coord hl, 12, 5 + hlcoord 12, 5 call GetMonHeader call LoadFrontSpriteByMonIndex predef LoadMonBackPic @@ -157,22 +157,22 @@ HoFDisplayAndRecordMonInfo: jp HoFRecordMonInfo HoFDisplayMonInfo: - coord hl, 0, 2 + hlcoord 0, 2 ld b, 9 ld c, 10 call TextBoxBorder - coord hl, 2, 6 + hlcoord 2, 6 ld de, HoFMonInfoText call PlaceString - coord hl, 1, 4 + hlcoord 1, 4 ld de, wcd6d call PlaceString ld a, [wHoFMonLevel] - coord hl, 8, 7 + hlcoord 8, 7 call PrintLevelCommon ld a, [wHoFMonSpecies] ld [wd0b5], a - coord hl, 3, 9 + hlcoord 3, 9 predef PrintMonType ld a, [wHoFMonSpecies] jp PlayCry @@ -203,27 +203,27 @@ HoFLoadPlayerPics: HoFLoadMonPlayerPicTileIDs: ; c = base tile ID ld b, 0 - coord hl, 12, 5 + hlcoord 12, 5 predef_jump CopyTileIDsFromList HoFDisplayPlayerStats: SetEvent EVENT_HALL_OF_FAME_DEX_RATING predef DisplayDexRating - coord hl, 0, 4 + hlcoord 0, 4 ld b, 6 ld c, 10 call TextBoxBorder - coord hl, 5, 0 + hlcoord 5, 0 ld b, 2 ld c, 9 call TextBoxBorder - coord hl, 7, 2 + hlcoord 7, 2 ld de, wPlayerName call PlaceString - coord hl, 1, 6 + hlcoord 1, 6 ld de, HoFPlayTimeText call PlaceString - coord hl, 5, 7 + hlcoord 5, 7 ld de, wPlayTimeHours lb bc, 1, 3 call PrintNumber @@ -232,10 +232,10 @@ HoFDisplayPlayerStats: ld de, wPlayTimeMinutes lb bc, LEADING_ZEROES | 1, 2 call PrintNumber - coord hl, 1, 9 + hlcoord 1, 9 ld de, HoFMoneyText call PlaceString - coord hl, 4, 10 + hlcoord 4, 10 ld de, wPlayerMoney ld c, $a3 call PrintBCDNumber diff --git a/engine/movie/intro.asm b/engine/movie/intro.asm index 08b6ed8b..fc404b82 100755 --- a/engine/movie/intro.asm +++ b/engine/movie/intro.asm @@ -217,7 +217,7 @@ IntroClearScreen: IntroClearMiddleOfScreen: ; clear the area of the tile map between the black bars on the top and bottom - coord hl, 0, 4 + hlcoord 0, 4 ld bc, SCREEN_WIDTH * 10 IntroClearCommon: @@ -274,7 +274,7 @@ IntroMoveMon: ret IntroCopyTiles: - coord hl, 13, 7 + hlcoord 13, 7 CopyTileIDsFromList_ZeroBaseTileID: ld c, 0 @@ -348,16 +348,16 @@ PlayShootingStar: IntroDrawBlackBars: ; clear the screen and draw black bars on the top and bottom call IntroClearScreen - coord hl, 0, 0 + hlcoord 0, 0 ld c, SCREEN_WIDTH * 4 call IntroPlaceBlackTiles - coord hl, 0, 14 + hlcoord 0, 14 ld c, SCREEN_WIDTH * 4 call IntroPlaceBlackTiles ld hl, vBGMap1 ld c, BG_MAP_WIDTH * 4 call IntroPlaceBlackTiles - ld hl, vBGMap1 + BG_MAP_WIDTH * 14 + hlbgcoord 0, 14, vBGMap1 ld c, BG_MAP_WIDTH * 4 jp IntroPlaceBlackTiles diff --git a/engine/movie/oak_speech/clear_save.asm b/engine/movie/oak_speech/clear_save.asm index c423fb0b..d5c04e6e 100755 --- a/engine/movie/oak_speech/clear_save.asm +++ b/engine/movie/oak_speech/clear_save.asm @@ -5,7 +5,7 @@ DoClearSaveDialogue: call LoadTextBoxTilePatterns ld hl, ClearSaveDataText call PrintText - coord hl, 14, 7 + hlcoord 14, 7 lb bc, 8, 15 ld a, NO_YES_MENU ld [wTwoOptionMenuID], a diff --git a/engine/movie/oak_speech/oak_speech.asm b/engine/movie/oak_speech/oak_speech.asm index 2328e3ab..4b64f20d 100755 --- a/engine/movie/oak_speech/oak_speech.asm +++ b/engine/movie/oak_speech/oak_speech.asm @@ -68,7 +68,7 @@ OakSpeech: ld [wd0b5], a ld [wcf91], a call GetMonHeader - coord hl, 6, 4 + hlcoord 6, 4 call LoadFlippedFrontSpriteByMonIndex call MovePicLeft ld hl, OakSpeechText2 @@ -141,7 +141,7 @@ OakSpeech: ld [MBC1RomBank], a ld c, 20 call DelayFrames - coord hl, 6, 5 + hlcoord 6, 5 ld b, 7 ld c, 7 call ClearScreenArea @@ -224,9 +224,9 @@ IntroDisplayPicCenteredOrUpperRight: pop bc ld a, c and a - coord hl, 15, 1 + hlcoord 15, 1 jr nz, .next - coord hl, 6, 4 + hlcoord 6, 4 .next xor a ldh [hStartTileID], a diff --git a/engine/movie/oak_speech/oak_speech2.asm b/engine/movie/oak_speech/oak_speech2.asm index 5ee0a871..28208ddc 100755 --- a/engine/movie/oak_speech/oak_speech2.asm +++ b/engine/movie/oak_speech/oak_speech2.asm @@ -66,7 +66,7 @@ HisNameIsText: OakSpeechSlidePicLeft: push de - coord hl, 0, 0 + hlcoord 0, 0 lb bc, 12, 11 call ClearScreenArea ; clear the name list text box ld c, 10 @@ -76,13 +76,13 @@ OakSpeechSlidePicLeft: ld bc, NAME_LENGTH call CopyData call Delay3 - coord hl, 12, 4 + hlcoord 12, 4 lb de, 6, 6 * SCREEN_WIDTH + 5 ld a, $ff jr OakSpeechSlidePicCommon OakSpeechSlidePicRight: - coord hl, 5, 4 + hlcoord 5, 4 lb de, 6, 6 * SCREEN_WIDTH + 5 xor a @@ -161,15 +161,15 @@ OakSpeechSlidePicCommon: DisplayIntroNameTextBox: push de - coord hl, 0, 0 + hlcoord 0, 0 ld b, $a ld c, $9 call TextBoxBorder - coord hl, 3, 0 + hlcoord 3, 0 ld de, .namestring call PlaceString pop de - coord hl, 2, 2 + hlcoord 2, 2 call PlaceString call UpdateSprites xor a diff --git a/engine/movie/title.asm b/engine/movie/title.asm index 00e639ae..69838afb 100755 --- a/engine/movie/title.asm +++ b/engine/movie/title.asm @@ -63,7 +63,7 @@ DisplayTitleScreen: call ClearBothBGMaps ; place tiles for pokemon logo (except for the last row) - coord hl, 2, 1 + hlcoord 2, 1 ld a, $80 ld de, SCREEN_WIDTH ld c, 6 @@ -81,7 +81,7 @@ DisplayTitleScreen: jr nz, .pokemonLogoTileLoop ; place tiles for the last row of the pokemon logo - coord hl, 2, 7 + hlcoord 2, 7 ld a, $31 ld b, $10 .pokemonLogoLastTileRowLoop @@ -98,7 +98,7 @@ DisplayTitleScreen: ld [hl], a ; place tiles for title screen copyright - coord hl, 2, 17 + hlcoord 2, 17 ld de, .tileScreenCopyrightTiles ld b, $10 .tileScreenCopyrightTilesLoop @@ -353,7 +353,7 @@ ClearBothBGMaps: LoadTitleMonSprite: ld [wcf91], a ld [wd0b5], a - coord hl, 5, 10 + hlcoord 5, 10 call GetMonHeader jp LoadFrontSpriteByMonIndex @@ -372,7 +372,7 @@ LoadCopyrightTiles: ld hl, vChars2 + $600 lb bc, BANK(NintendoCopyrightLogoGraphics), (GamefreakLogoGraphicsEnd - NintendoCopyrightLogoGraphics) / $10 call CopyVideoData - coord hl, 2, 7 + hlcoord 2, 7 ld de, CopyrightTextString jp PlaceString @@ -386,7 +386,7 @@ INCLUDE "data/pokemon/title_mons.asm" ; prints version text (red, blue) PrintGameVersionOnTitleScreen: - coord hl, 7, 8 + hlcoord 7, 8 ld de, VersionOnTitleScreenText jp PlaceString diff --git a/engine/movie/trade.asm b/engine/movie/trade.asm index 6aac7e23..3883c362 100755 --- a/engine/movie/trade.asm +++ b/engine/movie/trade.asm @@ -148,7 +148,7 @@ Trade_Delay80: jp DelayFrames Trade_ClearTileMap: - coord hl, 0, 0 + hlcoord 0, 0 ld bc, SCREEN_WIDTH * SCREEN_HEIGHT ld a, " " jp FillMemory @@ -232,7 +232,7 @@ Trade_ShowPlayerMon: ldh [hSCX], a xor a ldh [hAutoBGTransferEnabled], a - coord hl, 4, 0 + hlcoord 4, 0 ld b, 6 ld c, 10 call TextBoxBorder @@ -281,7 +281,7 @@ Trade_DrawOpenEndOfLinkCable: call DelayFrame ld a, %10001011 ldh [rLCDC], a - coord hl, 6, 2 + hlcoord 6, 2 ld b, $7 ; open end of link cable tile ID list index call CopyTileIDsFromList_ZeroBaseTileID call Trade_CopyTileMapToVRAM @@ -353,7 +353,7 @@ Trade_ShowEnemyMon: ld a, TRADE_BALL_TILT_ANIM call Trade_ShowAnimation call Trade_ShowClearedWindow - coord hl, 4, 10 + hlcoord 4, 10 ld b, 6 ld c, 10 call TextBoxBorder @@ -370,7 +370,7 @@ Trade_ShowEnemyMon: ld a, [wTradedEnemyMonSpecies] call PlayCry call Trade_Delay100 - coord hl, 4, 10 + hlcoord 4, 10 lb bc, 8, 12 call ClearScreenArea jp PrintTradeTakeCareText @@ -462,7 +462,7 @@ Trade_DrawLeftGameboy: call Trade_ClearTileMap ; draw link cable - coord hl, 11, 4 + hlcoord 11, 4 ld a, $5d ld [hli], a ld a, $5e @@ -473,16 +473,16 @@ Trade_DrawLeftGameboy: jr nz, .loop ; draw gameboy pic - coord hl, 5, 3 + hlcoord 5, 3 ld b, $6 call CopyTileIDsFromList_ZeroBaseTileID ; draw text box with player name below gameboy pic - coord hl, 4, 12 + hlcoord 4, 12 ld b, 2 ld c, 7 call TextBoxBorder - coord hl, 5, 14 + hlcoord 5, 14 ld de, wPlayerName call PlaceString @@ -492,7 +492,7 @@ Trade_DrawRightGameboy: call Trade_ClearTileMap ; draw horizontal segment of link cable - coord hl, 0, 4 + hlcoord 0, 4 ld a, $5e ld c, $e .loop @@ -520,16 +520,16 @@ Trade_DrawRightGameboy: ld [hl], a ; draw gameboy pic - coord hl, 7, 8 + hlcoord 7, 8 ld b, $6 call CopyTileIDsFromList_ZeroBaseTileID ; draw text box with enemy name above link cable - coord hl, 6, 0 + hlcoord 6, 0 ld b, 2 ld c, 7 call TextBoxBorder - coord hl, 7, 2 + hlcoord 7, 2 ld de, wLinkEnemyTrainerName call PlaceString @@ -538,7 +538,7 @@ Trade_DrawRightGameboy: Trade_DrawCableAcrossScreen: ; Draws the link cable across the screen. call Trade_ClearTileMap - coord hl, 0, 4 + hlcoord 0, 4 ld a, $5e ld c, SCREEN_WIDTH .loop @@ -551,7 +551,7 @@ Trade_CopyCableTilesOffScreen: ; This is used to copy the link cable tiles off screen so that the cable ; continues when the screen is scrolled. push hl - coord hl, 0, 4 + hlcoord 0, 4 call CopyToRedrawRowOrColumnSrcTiles pop hl ld a, h @@ -735,7 +735,7 @@ Trade_LoadMonSprite: xor $1 ldh [hAutoBGTransferEnabled], a call GetMonHeader - coord hl, 7, 2 + hlcoord 7, 2 call LoadFlippedFrontSpriteByMonIndex ld c, 10 jp DelayFrames diff --git a/engine/movie/trade2.asm b/engine/movie/trade2.asm index 6b744fd8..f0d91846 100755 --- a/engine/movie/trade2.asm +++ b/engine/movie/trade2.asm @@ -1,43 +1,43 @@ Trade_PrintPlayerMonInfoText: - coord hl, 5, 0 + hlcoord 5, 0 ld de, Trade_MonInfoText call PlaceString ld a, [wTradedPlayerMonSpecies] ld [wd11e], a predef IndexToPokedex - coord hl, 9, 0 + hlcoord 9, 0 ld de, wd11e lb bc, LEADING_ZEROES | 1, 3 call PrintNumber - coord hl, 5, 2 + hlcoord 5, 2 ld de, wcf4b call PlaceString - coord hl, 8, 4 + hlcoord 8, 4 ld de, wTradedPlayerMonOT call PlaceString - coord hl, 8, 6 + hlcoord 8, 6 ld de, wTradedPlayerMonOTID lb bc, LEADING_ZEROES | 2, 5 jp PrintNumber Trade_PrintEnemyMonInfoText: - coord hl, 5, 10 + hlcoord 5, 10 ld de, Trade_MonInfoText call PlaceString ld a, [wTradedEnemyMonSpecies] ld [wd11e], a predef IndexToPokedex - coord hl, 9, 10 + hlcoord 9, 10 ld de, wd11e lb bc, LEADING_ZEROES | 1, 3 call PrintNumber - coord hl, 5, 12 + hlcoord 5, 12 ld de, wcd6d call PlaceString - coord hl, 8, 14 + hlcoord 8, 14 ld de, wTradedEnemyMonOT call PlaceString - coord hl, 8, 16 + hlcoord 8, 16 ld de, wTradedEnemyMonOTID lb bc, LEADING_ZEROES | 2, 5 jp PrintNumber diff --git a/engine/overworld/doors.asm b/engine/overworld/doors.asm index ed893773..d38818fa 100755 --- a/engine/overworld/doors.asm +++ b/engine/overworld/doors.asm @@ -11,7 +11,7 @@ IsPlayerStandingOnDoorTile: ld a, [hli] ld h, [hl] ld l, a - aCoord 8, 9 ; a = lower left background tile under player's sprite + lda_coord 8, 9 ; a = lower left background tile under player's sprite ld b, a .loop ld a, [hli] diff --git a/engine/overworld/ledges.asm b/engine/overworld/ledges.asm index cba544f6..254680a5 100755 --- a/engine/overworld/ledges.asm +++ b/engine/overworld/ledges.asm @@ -8,7 +8,7 @@ HandleLedges:: predef GetTileAndCoordsInFrontOfPlayer ld a, [wSpritePlayerStateData1FacingDirection] ld b, a - aCoord 8, 9 + lda_coord 8, 9 ld c, a ld a, [wTileInFrontOfPlayer] ld d, a diff --git a/engine/overworld/movement.asm b/engine/overworld/movement.asm index a20b3174..a2930993 100644 --- a/engine/overworld/movement.asm +++ b/engine/overworld/movement.asm @@ -13,7 +13,7 @@ UpdatePlayerSprite: ; background tile the sprite is standing on is greater than $5F, which is ; the maximum number for map tiles .checkIfTextBoxInFrontOfSprite - aCoord 8, 9 + lda_coord 8, 9 ldh [hTilePlayerStandingOn], a cp MAP_TILESET_SIZE jr c, .lowerLeftTileIsMapTile @@ -709,7 +709,7 @@ GetTileSpriteStandsOn: add SCREEN_WIDTH ; screen X tile + 20 ld d, $0 ld e, a - coord hl, 0, 0 + hlcoord 0, 0 add hl, bc add hl, bc add hl, bc diff --git a/engine/overworld/player_animations.asm b/engine/overworld/player_animations.asm index fec10daf..69c1eefc 100755 --- a/engine/overworld/player_animations.asm +++ b/engine/overworld/player_animations.asm @@ -358,7 +358,7 @@ IsPlayerStandingOnWarpPadOrHole:: jr z, .done cp c jr nz, .nextEntry - aCoord 8, 9 + lda_coord 8, 9 cp [hl] jr z, .foundMatch .nextEntry diff --git a/engine/overworld/player_state.asm b/engine/overworld/player_state.asm index 39c8f756..70326754 100644 --- a/engine/overworld/player_state.asm +++ b/engine/overworld/player_state.asm @@ -204,7 +204,7 @@ IsPlayerStandingOnDoorTileOrWarpTile:: ld h, [hl] ld l, a ld de, $1 - aCoord 8, 9 + lda_coord 8, 9 call IsInArray jr nc, .done ld hl, wd736 @@ -223,28 +223,28 @@ PrintSafariZoneSteps:: ret c cp CERULEAN_CAVE_2F ret nc - coord hl, 0, 0 + hlcoord 0, 0 ld b, 3 ld c, 7 call TextBoxBorder - coord hl, 1, 1 + hlcoord 1, 1 ld de, wSafariSteps lb bc, 2, 3 call PrintNumber - coord hl, 4, 1 + hlcoord 4, 1 ld de, SafariSteps call PlaceString - coord hl, 1, 3 + hlcoord 1, 3 ld de, SafariBallText call PlaceString ld a, [wNumSafariBalls] cp 10 jr nc, .asm_c56d - coord hl, 5, 3 + hlcoord 5, 3 ld a, " " ld [hl], a .asm_c56d - coord hl, 6, 3 + hlcoord 6, 3 ld de, wNumSafariBalls lb bc, 1, 2 jp PrintNumber @@ -267,28 +267,28 @@ _GetTileAndCoordsInFrontOfPlayer: and a ; cp SPRITE_FACING_DOWN jr nz, .notFacingDown ; facing down - aCoord 8, 11 + lda_coord 8, 11 inc d jr .storeTile .notFacingDown cp SPRITE_FACING_UP jr nz, .notFacingUp ; facing up - aCoord 8, 7 + lda_coord 8, 7 dec d jr .storeTile .notFacingUp cp SPRITE_FACING_LEFT jr nz, .notFacingLeft ; facing left - aCoord 6, 9 + lda_coord 6, 9 dec e jr .storeTile .notFacingLeft cp SPRITE_FACING_RIGHT jr nz, .storeTile ; facing right - aCoord 10, 9 + lda_coord 10, 9 inc e .storeTile ld c, a @@ -308,7 +308,7 @@ GetTileTwoStepsInFrontOfPlayer: ; facing down ld hl, hPlayerFacing set 0, [hl] - aCoord 8, 13 + lda_coord 8, 13 inc d jr .storeTile .notFacingDown @@ -317,7 +317,7 @@ GetTileTwoStepsInFrontOfPlayer: ; facing up ld hl, hPlayerFacing set 1, [hl] - aCoord 8, 5 + lda_coord 8, 5 dec d jr .storeTile .notFacingUp @@ -326,7 +326,7 @@ GetTileTwoStepsInFrontOfPlayer: ; facing left ld hl, hPlayerFacing set 2, [hl] - aCoord 4, 9 + lda_coord 4, 9 dec e jr .storeTile .notFacingLeft @@ -335,7 +335,7 @@ GetTileTwoStepsInFrontOfPlayer: ; facing right ld hl, hPlayerFacing set 3, [hl] - aCoord 12, 9 + lda_coord 12, 9 inc e .storeTile ld c, a diff --git a/engine/pokemon/bills_pc.asm b/engine/pokemon/bills_pc.asm index 0a760a27..0b514111 100644 --- a/engine/pokemon/bills_pc.asm +++ b/engine/pokemon/bills_pc.asm @@ -10,17 +10,17 @@ DisplayPCMainMenu:: ld a, [wNumHoFTeams] and a jr nz, .leaguePCAvailable - coord hl, 0, 0 + hlcoord 0, 0 ld b, 8 ld c, 14 jr .next .noOaksPC - coord hl, 0, 0 + hlcoord 0, 0 ld b, 6 ld c, 14 jr .next .leaguePCAvailable - coord hl, 0, 0 + hlcoord 0, 0 ld b, 10 ld c, 14 .next @@ -30,15 +30,15 @@ DisplayPCMainMenu:: ld [wMaxMenuItem], a CheckEvent EVENT_MET_BILL jr nz, .metBill - coord hl, 2, 2 + hlcoord 2, 2 ld de, SomeonesPCText jr .next2 .metBill - coord hl, 2, 2 + hlcoord 2, 2 ld de, BillsPCText .next2 call PlaceString - coord hl, 2, 4 + hlcoord 2, 4 ld de, wPlayerName call PlaceString ld l, c @@ -47,7 +47,7 @@ DisplayPCMainMenu:: call PlaceString CheckEvent EVENT_GOT_POKEDEX jr z, .noOaksPC2 - coord hl, 2, 6 + hlcoord 2, 6 ld de, OaksPCText call PlaceString ld a, [wNumHoFTeams] @@ -55,20 +55,20 @@ DisplayPCMainMenu:: jr z, .noLeaguePC ld a, 4 ld [wMaxMenuItem], a - coord hl, 2, 8 + hlcoord 2, 8 ld de, PKMNLeaguePCText call PlaceString - coord hl, 2, 10 + hlcoord 2, 10 ld de, LogOffPCText jr .next3 .noLeaguePC - coord hl, 2, 8 + hlcoord 2, 8 ld de, LogOffPCText jr .next3 .noOaksPC2 ld a, $2 ld [wMaxMenuItem], a - coord hl, 2, 6 + hlcoord 2, 6 ld de, LogOffPCText .next3 call PlaceString @@ -119,11 +119,11 @@ BillsPCMenu: lb bc, BANK(PokeballTileGraphics), $01 call CopyVideoData call LoadScreenTilesFromBuffer2DisableBGTransfer - coord hl, 0, 0 + hlcoord 0, 0 ld b, 10 ld c, 12 call TextBoxBorder - coord hl, 2, 2 + hlcoord 2, 2 ld de, BillsPCMenuText call PlaceString ld hl, wTopMenuItemY @@ -146,7 +146,7 @@ BillsPCMenu: ld [wPlayerMonNumber], a ld hl, WhatText call PrintText - coord hl, 9, 14 + hlcoord 9, 14 ld b, 2 ld c, 9 call TextBoxBorder @@ -156,15 +156,15 @@ BillsPCMenu: jr c, .singleDigitBoxNum ; two digit box num sub 9 - coord hl, 17, 16 + hlcoord 17, 16 ld [hl], "1" add "0" jr .next .singleDigitBoxNum add "1" .next - Coorda 18, 16 - coord hl, 10, 16 + ldcoord_a 18, 16 + hlcoord 10, 16 ld de, BoxNoPCText call PlaceString ld a, 1 @@ -380,7 +380,7 @@ HMMoveArray: INCLUDE "data/moves/hm_moves.asm" DisplayDepositWithdrawMenu: - coord hl, 9, 10 + hlcoord 9, 10 ld b, 6 ld c, 9 call TextBoxBorder @@ -390,9 +390,9 @@ DisplayDepositWithdrawMenu: jr nz, .next ld de, WithdrawPCText .next - coord hl, 11, 12 + hlcoord 11, 12 call PlaceString - coord hl, 11, 14 + hlcoord 11, 14 ld de, StatsCancelPCText call PlaceString ld hl, wTopMenuItemY diff --git a/engine/pokemon/evos_moves.asm b/engine/pokemon/evos_moves.asm index 564a8557..ed44f9a6 100755 --- a/engine/pokemon/evos_moves.asm +++ b/engine/pokemon/evos_moves.asm @@ -121,7 +121,7 @@ Evolution_PartyMonLoop: ; loop over party mons call DelayFrames xor a ldh [hAutoBGTransferEnabled], a - coord hl, 0, 0 + hlcoord 0, 0 lb bc, 12, 20 call ClearScreenArea ld a, $1 diff --git a/engine/pokemon/learn_move.asm b/engine/pokemon/learn_move.asm index e7b907d5..8e852fd4 100755 --- a/engine/pokemon/learn_move.asm +++ b/engine/pokemon/learn_move.asm @@ -76,7 +76,7 @@ DontAbandonLearning: AbandonLearning: ld hl, AbandonLearningText call PrintText - coord hl, 14, 7 + hlcoord 14, 7 lb bc, 8, 15 ld a, TWO_OPTION_MENU ld [wTextBoxID], a @@ -99,7 +99,7 @@ TryingToLearn: push hl ld hl, TryingToLearnText call PrintText - coord hl, 14, 7 + hlcoord 14, 7 lb bc, 8, 15 ld a, TWO_OPTION_MENU ld [wTextBoxID], a @@ -120,11 +120,11 @@ TryingToLearn: push hl ld hl, WhichMoveToForgetText call PrintText - coord hl, 4, 7 + hlcoord 4, 7 ld b, 4 ld c, 14 call TextBoxBorder - coord hl, 6, 8 + hlcoord 6, 8 ld de, wMovesString ldh a, [hFlagsFFF6] set 2, a diff --git a/engine/pokemon/status_screen.asm b/engine/pokemon/status_screen.asm index c2abeedd..83d33fe5 100755 --- a/engine/pokemon/status_screen.asm +++ b/engine/pokemon/status_screen.asm @@ -105,7 +105,7 @@ StatusScreen: push af xor a ldh [hTilesetType], a - coord hl, 19, 1 + hlcoord 19, 1 lb bc, 6, 10 call DrawLineBox ; Draws the box around name, HP and status ld de, -6 @@ -113,54 +113,54 @@ StatusScreen: ld [hl], "" dec hl ld [hl], "№" - coord hl, 19, 9 + hlcoord 19, 9 lb bc, 8, 6 call DrawLineBox ; Draws the box around types, ID No. and OT - coord hl, 10, 9 + hlcoord 10, 9 ld de, Type1Text call PlaceString ; "TYPE1/" - coord hl, 11, 3 + hlcoord 11, 3 predef DrawHP ld hl, wStatusScreenHPBarColor call GetHealthBarColor ld b, SET_PAL_STATUS_SCREEN call RunPaletteCommand - coord hl, 16, 6 + hlcoord 16, 6 ld de, wLoadedMonStatus call PrintStatusCondition jr nz, .StatusWritten - coord hl, 16, 6 + hlcoord 16, 6 ld de, OKText call PlaceString ; "OK" .StatusWritten - coord hl, 9, 6 + hlcoord 9, 6 ld de, StatusText call PlaceString ; "STATUS/" - coord hl, 14, 2 + hlcoord 14, 2 call PrintLevel ; Pokémon level ld a, [wMonHIndex] ld [wd11e], a ld [wd0b5], a predef IndexToPokedex - coord hl, 3, 7 + hlcoord 3, 7 ld de, wd11e lb bc, LEADING_ZEROES | 1, 3 call PrintNumber ; Pokémon no. - coord hl, 11, 10 + hlcoord 11, 10 predef PrintMonType ld hl, NamePointers2 call .GetStringPointer ld d, h ld e, l - coord hl, 9, 1 + hlcoord 9, 1 call PlaceString ; Pokémon name ld hl, OTPointers call .GetStringPointer ld d, h ld e, l - coord hl, 12, 16 + hlcoord 12, 16 call PlaceString ; OT - coord hl, 12, 14 + hlcoord 12, 14 ld de, wLoadedMonOTID lb bc, LEADING_ZEROES | 2, 5 call PrintNumber ; ID Number @@ -168,7 +168,7 @@ StatusScreen: call PrintStatsBox call Delay3 call GBPalNormal - coord hl, 1, 0 + hlcoord 1, 0 call LoadFlippedFrontSpriteByMonIndex ; draw Pokémon picture ld a, [wcf91] call PlayCry ; play Pokémon cry @@ -252,19 +252,19 @@ PrintStatsBox: ld a, d and a ; a is 0 from the status screen jr nz, .DifferentBox - coord hl, 0, 8 + hlcoord 0, 8 ld b, 8 ld c, 8 call TextBoxBorder ; Draws the box - coord hl, 1, 9 ; Start printing stats from here + hlcoord 1, 9 ; Start printing stats from here ld bc, $19 ; Number offset jr .PrintStats .DifferentBox - coord hl, 9, 2 + hlcoord 9, 2 ld b, 8 ld c, 9 call TextBoxBorder - coord hl, 11, 3 + hlcoord 11, 3 ld bc, $18 .PrintStats push bc @@ -311,16 +311,16 @@ StatusScreen2: ld bc, NUM_MOVES call CopyData callfar FormatMovesString - coord hl, 9, 2 + hlcoord 9, 2 lb bc, 5, 10 call ClearScreenArea ; Clear under name - coord hl, 19, 3 + hlcoord 19, 3 ld [hl], $78 - coord hl, 0, 8 + hlcoord 0, 8 ld b, 8 ld c, 18 call TextBoxBorder ; Draw move container - coord hl, 2, 9 + hlcoord 2, 9 ld de, wMovesString call PlaceString ; Print moves ld a, [wNumMovesMinusOne] @@ -329,7 +329,7 @@ StatusScreen2: ld a, $4 sub c ld b, a ; Number of moves ? - coord hl, 11, 10 + hlcoord 11, 10 ld de, SCREEN_WIDTH * 2 ld a, "" call StatusScreen_PrintPP ; Print "PP" @@ -341,7 +341,7 @@ StatusScreen2: call StatusScreen_PrintPP ; Fill the rest with -- .InitPP ld hl, wLoadedMonMoves - coord de, 14, 10 + decoord 14, 10 ld b, 0 .PrintPP ld a, [hli] @@ -391,7 +391,7 @@ StatusScreen2: cp $4 jr nz, .PrintPP .PPDone - coord hl, 9, 3 + hlcoord 9, 3 ld de, StatusScreenExpText call PlaceString ld a, [wLoadedMonLevel] @@ -401,7 +401,7 @@ StatusScreen2: inc a ld [wLoadedMonLevel], a ; Increase temporarily if not 100 .Level100 - coord hl, 14, 6 + hlcoord 14, 6 ld [hl], "" inc hl inc hl @@ -409,22 +409,22 @@ StatusScreen2: pop af ld [wLoadedMonLevel], a ld de, wLoadedMonExp - coord hl, 12, 4 + hlcoord 12, 4 lb bc, 3, 7 call PrintNumber ; exp call CalcExpToLevelUp ld de, wLoadedMonExp - coord hl, 7, 6 + hlcoord 7, 6 lb bc, 3, 7 call PrintNumber ; exp needed to level up - coord hl, 9, 0 + hlcoord 9, 0 call StatusScreen_ClearName - coord hl, 9, 1 + hlcoord 9, 1 call StatusScreen_ClearName ld a, [wMonHIndex] ld [wd11e], a call GetMonName - coord hl, 9, 1 + hlcoord 9, 1 call PlaceString ld a, $1 ldh [hAutoBGTransferEnabled], a diff --git a/engine/slots/slot_machine.asm b/engine/slots/slot_machine.asm index 64c14997..a1326240 100755 --- a/engine/slots/slot_machine.asm +++ b/engine/slots/slot_machine.asm @@ -79,11 +79,11 @@ MainSlotMachineLoop: ld [wCurrentMenuItem], a ld [wLastMenuItem], a ld [wMenuWatchMovingOutOfBounds], a - coord hl, 14, 11 + hlcoord 14, 11 ld b, 5 ld c, 4 call TextBoxBorder - coord hl, 16, 12 + hlcoord 16, 12 ld de, CoinMultiplierSlotMachineText call PlaceString call HandleMenuInput @@ -133,7 +133,7 @@ MainSlotMachineLoop: .skip2 ld hl, OneMoreGoSlotMachineText call PrintText - coord hl, 14, 12 + hlcoord 14, 12 lb bc, 13, 15 xor a ; YES_NO_MENU ld [wTwoOptionMenuID], a @@ -615,7 +615,7 @@ YeahText: SlotMachine_PrintWinningSymbol: ; prints winning symbol and down arrow in text box - coord hl, 2, 14 + hlcoord 2, 14 ld a, [wSlotMachineWinningSymbol] add $25 ld [hli], a @@ -627,7 +627,7 @@ SlotMachine_PrintWinningSymbol: ld [hli], a inc a ld [hl], a - coord hl, 18, 16 + hlcoord 18, 16 ld [hl], "▼" ret @@ -642,13 +642,13 @@ SlotMachine_SubtractBetFromPlayerCoins: predef SubBCDPredef SlotMachine_PrintCreditCoins: - coord hl, 5, 1 + hlcoord 5, 1 ld de, wPlayerCoins ld c, $2 jp PrintBCDNumber SlotMachine_PrintPayoutCoins: - coord hl, 11, 1 + hlcoord 11, 1 ld de, wPayoutCoins lb bc, LEADING_ZEROES | 2, 4 ; 2 bytes, 4 digits jp PrintNumber @@ -725,19 +725,19 @@ SlotMachine_LightBalls: jr z, SlotMachine_UpdateTwoCoinBallTiles SlotMachine_UpdateThreeCoinBallTiles: - coord hl, 3, 2 + hlcoord 3, 2 call SlotMachine_UpdateBallTiles - coord hl, 3, 10 + hlcoord 3, 10 call SlotMachine_UpdateBallTiles SlotMachine_UpdateTwoCoinBallTiles: - coord hl, 3, 4 + hlcoord 3, 4 call SlotMachine_UpdateBallTiles - coord hl, 3, 8 + hlcoord 3, 8 call SlotMachine_UpdateBallTiles SlotMachine_UpdateOneCoinBallTiles: - coord hl, 3, 6 + hlcoord 3, 6 SlotMachine_UpdateBallTiles: ld a, [wNewSlotMachineBallTile] @@ -864,7 +864,7 @@ LoadSlotMachineTiles: ld a, BANK(SlotMachineTiles2) call FarCopyData2 ld hl, SlotMachineMap - coord de, 0, 0 + decoord 0, 0 ld bc, SlotMachineMapEnd - SlotMachineMap call CopyData call EnableLCD diff --git a/home.asm b/home.asm index 3e465cdf..037a3444 100644 --- a/home.asm +++ b/home.asm @@ -869,7 +869,7 @@ UncompressSpriteFromDE:: jp UncompressSpriteData SaveScreenTilesToBuffer2:: - coord hl, 0, 0 + hlcoord 0, 0 ld de, wTileMapBackup2 ld bc, SCREEN_WIDTH * SCREEN_HEIGHT call CopyData @@ -886,13 +886,13 @@ LoadScreenTilesFromBuffer2DisableBGTransfer:: xor a ldh [hAutoBGTransferEnabled], a ld hl, wTileMapBackup2 - coord de, 0, 0 + decoord 0, 0 ld bc, SCREEN_WIDTH * SCREEN_HEIGHT call CopyData ret SaveScreenTilesToBuffer1:: - coord hl, 0, 0 + hlcoord 0, 0 ld de, wTileMapBackup ld bc, SCREEN_WIDTH * SCREEN_HEIGHT jp CopyData @@ -901,7 +901,7 @@ LoadScreenTilesFromBuffer1:: xor a ldh [hAutoBGTransferEnabled], a ld hl, wTileMapBackup - coord de, 0, 0 + decoord 0, 0 ld bc, SCREEN_WIDTH * SCREEN_HEIGHT call CopyData ld a, 1 @@ -1071,7 +1071,7 @@ WaitForTextScrollButtonPress:: jr z, .skipAnimation call TownMapSpriteBlinkingAnimation .skipAnimation - coord hl, 18, 16 + hlcoord 18, 16 call HandleDownArrowBlinkTiming pop hl call JoypadLowSensitivity @@ -1304,7 +1304,7 @@ HandleMenuInput_:: and a ; was a key pressed? jr nz, .keyPressed push hl - coord hl, 18, 11 ; coordinates of blinking down arrow in some menus + hlcoord 18, 11 ; coordinates of blinking down arrow in some menus call HandleDownArrowBlinkTiming ; blink down arrow (if any) pop hl ld a, [wMenuJoypadPollCount] @@ -1395,7 +1395,7 @@ PlaceMenuCursor:: ld a, [wTopMenuItemY] and a ; is the y coordinate 0? jr z, .adjustForXCoord - coord hl, 0, 0 + hlcoord 0, 0 ld bc, SCREEN_WIDTH .topMenuItemLoop add hl, bc @@ -1565,7 +1565,7 @@ PrintText:: call Delay3 pop hl PrintText_NoCreatingTextBox:: - coord bc, 1, 14 + bccoord 1, 14 jp TextCommandProcessor INCLUDE "home/print_num.asm" diff --git a/home/copy2.asm b/home/copy2.asm index 01417201..1c9a56f3 100644 --- a/home/copy2.asm +++ b/home/copy2.asm @@ -184,17 +184,17 @@ CopyScreenTileBufferToVRAM:: ld c, 6 ld hl, $600 * 0 - coord de, 0, 6 * 0 + decoord 0, 6 * 0 call .setup call DelayFrame ld hl, $600 * 1 - coord de, 0, 6 * 1 + decoord 0, 6 * 1 call .setup call DelayFrame ld hl, $600 * 2 - coord de, 0, 6 * 2 + decoord 0, 6 * 2 call .setup jp DelayFrame @@ -217,7 +217,7 @@ ClearScreen:: ; for the bg map to update. ld bc, 20 * 18 inc b - coord hl, 0, 0 + hlcoord 0, 0 ld a, " " .loop ld [hli], a diff --git a/home/list_menu.asm b/home/list_menu.asm index 9c567d0d..ec775331 100644 --- a/home/list_menu.asm +++ b/home/list_menu.asm @@ -31,7 +31,7 @@ DisplayListMenuID:: call DisplayTextBoxID ; draw the menu text box call UpdateSprites ; disable sprites behind the text box ; the code up to .skipMovingSprites appears to be useless - coord hl, 4, 2 ; coordinates of upper left corner of menu text box + hlcoord 4, 2 ; coordinates of upper left corner of menu text box lb de, 9, 14 ; height and width of menu text box ld a, [wListMenuID] and a ; is it a PC pokemon list? @@ -67,12 +67,12 @@ DisplayListMenuIDLoop:: jr z, .notOldManBattle .oldManBattle ld a, "▶" - Coorda 5, 4 ; place menu cursor in front of first menu entry + ldcoord_a 5, 4 ; place menu cursor in front of first menu entry ld c, 80 call DelayFrames xor a ld [wCurrentMenuItem], a - coord hl, 5, 4 + hlcoord 5, 4 ld a, l ld [wMenuCursorLocation], a ld a, h @@ -194,23 +194,23 @@ DisplayListMenuIDLoop:: DisplayChooseQuantityMenu:: ; text box dimensions/coordinates for just quantity - coord hl, 15, 9 + hlcoord 15, 9 ld b, 1 ; height ld c, 3 ; width ld a, [wListMenuID] cp PRICEDITEMLISTMENU jr nz, .drawTextBox ; text box dimensions/coordinates for quantity and price - coord hl, 7, 9 + hlcoord 7, 9 ld b, 1 ; height ld c, 11 ; width .drawTextBox call TextBoxBorder - coord hl, 16, 10 + hlcoord 16, 10 ld a, [wListMenuID] cp PRICEDITEMLISTMENU jr nz, .printInitialQuantity - coord hl, 8, 10 + hlcoord 8, 10 .printInitialQuantity ld de, InitialQuantityText call PlaceString @@ -250,7 +250,7 @@ DisplayChooseQuantityMenu:: ld a, [wMaxItemQuantity] ld [hl], a .handleNewQuantity - coord hl, 17, 10 + hlcoord 17, 10 ld a, [wListMenuID] cp PRICEDITEMLISTMENU jr nz, .printQuantity @@ -289,13 +289,13 @@ DisplayChooseQuantityMenu:: ldh a, [hDivideBCDQuotient + 2] ldh [hMoney + 2], a .skipHalvingPrice - coord hl, 12, 10 + hlcoord 12, 10 ld de, SpacesBetweenQuantityAndPriceText call PlaceString ld de, hMoney ; total price ld c, $a3 call PrintBCDNumber - coord hl, 9, 10 + hlcoord 9, 10 .printQuantity ld de, wItemQuantity ; current quantity lb bc, LEADING_ZEROES | 1, 2 ; 1 byte, 2 digits @@ -334,7 +334,7 @@ ExitListMenu:: ret PrintListMenuEntries:: - coord hl, 5, 3 + hlcoord 5, 3 ld b, 9 ld c, 14 call ClearScreenArea @@ -359,7 +359,7 @@ PrintListMenuEntries:: jr nc, .noCarry inc d .noCarry - coord hl, 6, 4 ; coordinates of first list entry name + hlcoord 6, 4 ; coordinates of first list entry name ld b, 4 ; print 4 names .loop ld a, b diff --git a/home/overworld.asm b/home/overworld.asm index 557efa2d..af2a79b2 100644 --- a/home/overworld.asm +++ b/home/overworld.asm @@ -103,7 +103,7 @@ OverworldLoopLessDelay:: jr nz, .checkForOpponent bit 0, a jr nz, .checkForOpponent - aCoord 8, 9 + lda_coord 8, 9 ld [wTilePlayerStandingOn], a ; unused? call DisplayTextID ; display either the start menu or the NPC/sign text ld a, [wEnteringCableClub] @@ -688,7 +688,7 @@ CheckMapConnections:: ; function to play a sound when changing maps PlayMapChangeSound:: - aCoord 8, 8 ; upper left tile of the 4x4 square the player's sprite is standing on + lda_coord 8, 8 ; upper left tile of the 4x4 square the player's sprite is standing on cp $0b ; door tile in tileset 0 jr nz, .didNotGoThroughDoor ld a, SFX_GO_INSIDE @@ -1297,7 +1297,7 @@ CheckForJumpingAndTilePairCollisions:: ; if not jumping CheckForTilePairCollisions2:: - aCoord 8, 9 ; tile the player is on + lda_coord 8, 9 ; tile the player is on ld [wTilePlayerStandingOn], a CheckForTilePairCollisions:: @@ -1438,7 +1438,7 @@ LoadCurrentMapView:: ld bc, $2 add hl, bc .copyToVisibleAreaBuffer - coord de, 0, 0 ; base address for the tiles that are directly transferred to VRAM during V-blank + decoord 0, 0 ; base address for the tiles that are directly transferred to VRAM during V-blank ld b, SCREEN_HEIGHT .rowLoop2 ld c, SCREEN_WIDTH @@ -1711,7 +1711,7 @@ MoveTileBlockMapPointerNorth:: ; the portion of the map that was newly exposed due to the player's movement ScheduleNorthRowRedraw:: - coord hl, 0, 0 + hlcoord 0, 0 call CopyToRedrawRowOrColumnSrcTiles ld a, [wMapViewVRAMPointer] ldh [hRedrawRowOrColumnDest], a @@ -1733,7 +1733,7 @@ CopyToRedrawRowOrColumnSrcTiles:: ret ScheduleSouthRowRedraw:: - coord hl, 0, 16 + hlcoord 0, 16 call CopyToRedrawRowOrColumnSrcTiles ld a, [wMapViewVRAMPointer] ld l, a @@ -1752,7 +1752,7 @@ ScheduleSouthRowRedraw:: ret ScheduleEastColumnRedraw:: - coord hl, 18, 0 + hlcoord 18, 0 call ScheduleColumnRedrawHelper ld a, [wMapViewVRAMPointer] ld c, a @@ -1790,7 +1790,7 @@ ScheduleColumnRedrawHelper:: ret ScheduleWestColumnRedraw:: - coord hl, 0, 0 + hlcoord 0, 0 call ScheduleColumnRedrawHelper ld a, [wMapViewVRAMPointer] ldh [hRedrawRowOrColumnDest], a @@ -2342,7 +2342,7 @@ LoadMapData:: call LoadTilesetTilePatternData call LoadCurrentMapView ; copy current map view to VRAM - coord hl, 0, 0 + hlcoord 0, 0 ld de, vBGMap0 ld b, 18 .vramCopyLoop diff --git a/home/text.asm b/home/text.asm index 5bbad00b..bdd871cb 100644 --- a/home/text.asm +++ b/home/text.asm @@ -76,7 +76,7 @@ PlaceNextChar:: cp "" jr nz, .NotLine pop hl - coord hl, 1, 16 + hlcoord 1, 16 push hl jp NextChar @@ -207,12 +207,12 @@ PromptText:: cp LINK_STATE_BATTLING jp z, .ok ld a, "▼" - Coorda 18, 16 + ldcoord_a 18, 16 .ok call ProtectedDelay3 call ManualTextScroll ld a, " " - Coorda 18, 16 + ldcoord_a 18, 16 DoneText:: pop hl @@ -226,49 +226,49 @@ DoneText:: Paragraph:: push de ld a, "▼" - Coorda 18, 16 + ldcoord_a 18, 16 call ProtectedDelay3 call ManualTextScroll - coord hl, 1, 13 + hlcoord 1, 13 lb bc, 4, 18 call ClearScreenArea ld c, 20 call DelayFrames pop de - coord hl, 1, 14 + hlcoord 1, 14 jp NextChar PageChar:: push de ld a, "▼" - Coorda 18, 16 + ldcoord_a 18, 16 call ProtectedDelay3 call ManualTextScroll - coord hl, 1, 10 + hlcoord 1, 10 lb bc, 7, 18 call ClearScreenArea ld c, 20 call DelayFrames pop de pop hl - coord hl, 1, 11 + hlcoord 1, 11 push hl jp NextChar _ContText:: ld a, "▼" - Coorda 18, 16 + ldcoord_a 18, 16 call ProtectedDelay3 push de call ManualTextScroll pop de ld a, " " - Coorda 18, 16 + ldcoord_a 18, 16 _ContTextNoPause:: push de call ScrollTextUpOneLine call ScrollTextUpOneLine - coord hl, 1, 16 + hlcoord 1, 16 pop de jp NextChar @@ -277,8 +277,8 @@ _ContTextNoPause:: ; first time, copy the two rows of text to the "in between" rows that are usually emtpy ; second time, copy the bottom row of text into the top row of text ScrollTextUpOneLine:: - coord hl, 0, 14 ; top row of text - coord de, 0, 13 ; empty line above text + hlcoord 0, 14 ; top row of text + decoord 0, 13 ; empty line above text ld b, SCREEN_WIDTH * 3 .copyText ld a, [hli] @@ -286,7 +286,7 @@ ScrollTextUpOneLine:: inc de dec b jr nz, .copyText - coord hl, 1, 16 + hlcoord 1, 16 ld a, " " ld b, SCREEN_WIDTH - 2 .clearText @@ -424,7 +424,7 @@ TextCommand_MOVE:: TextCommand_LOW:: ; write text at (1,16) pop hl - coord bc, 1, 16 ; second line of dialogue text box + bccoord 1, 16 ; second line of dialogue text box jp NextTextCommand TextCommand_PROMPT_BUTTON:: @@ -433,12 +433,12 @@ TextCommand_PROMPT_BUTTON:: cp LINK_STATE_BATTLING jp z, TextCommand_WAIT_BUTTON ld a, "▼" - Coorda 18, 16 ; place down arrow in lower right corner of dialogue text box + ldcoord_a 18, 16 ; place down arrow in lower right corner of dialogue text box push bc call ManualTextScroll ; blink arrow and wait for A or B to be pressed pop bc ld a, " " - Coorda 18, 16 ; overwrite down arrow with blank space + ldcoord_a 18, 16 ; overwrite down arrow with blank space pop hl jp NextTextCommand @@ -446,11 +446,11 @@ TextCommand_SCROLL:: ; pushes text up two lines and sets the BC cursor to the border tile ; below the first character column of the text box. ld a, " " - Coorda 18, 16 ; place blank space in lower right corner of dialogue text box + ldcoord_a 18, 16 ; place blank space in lower right corner of dialogue text box call ScrollTextUpOneLine call ScrollTextUpOneLine pop hl - coord bc, 1, 16 ; second line of dialogue text box + bccoord 1, 16 ; second line of dialogue text box jp NextTextCommand TextCommand_START_ASM:: diff --git a/home/vcopy.asm b/home/vcopy.asm index d2340b7c..1a7863e9 100644 --- a/home/vcopy.asm +++ b/home/vcopy.asm @@ -134,7 +134,7 @@ AutoBgMapTransfer:: dec a jr z, .transferMiddleThird .transferBottomThird - coord hl, 0, 12 + hlcoord 0, 12 ld sp, hl ldh a, [hAutoBGTransferDest + 1] ld h, a @@ -145,7 +145,7 @@ AutoBgMapTransfer:: xor a ; TRANSFERTOP jr .doTransfer .transferTopThird - coord hl, 0, 0 + hlcoord 0, 0 ld sp, hl ldh a, [hAutoBGTransferDest + 1] ld h, a @@ -154,7 +154,7 @@ AutoBgMapTransfer:: ld a, TRANSFERMIDDLE jr .doTransfer .transferMiddleThird - coord hl, 0, 6 + hlcoord 0, 6 ld sp, hl ldh a, [hAutoBGTransferDest + 1] ld h, a diff --git a/home/yes_no.asm b/home/yes_no.asm index 61aa1390..aae27f86 100644 --- a/home/yes_no.asm +++ b/home/yes_no.asm @@ -14,7 +14,7 @@ Func_35f4:: InitYesNoTextBoxParameters:: xor a ; YES_NO_MENU ld [wTwoOptionMenuID], a - coord hl, 14, 7 + hlcoord 14, 7 ld bc, $80f ret @@ -22,7 +22,7 @@ YesNoChoicePokeCenter:: call SaveScreenTilesToBuffer1 ld a, HEAL_CANCEL_MENU ld [wTwoOptionMenuID], a - coord hl, 11, 6 + hlcoord 11, 6 lb bc, 8, 12 jr DisplayYesNoChoice @@ -30,7 +30,7 @@ WideYesNoChoice:: ; unused call SaveScreenTilesToBuffer1 ld a, WIDE_YES_NO_MENU ld [wTwoOptionMenuID], a - coord hl, 12, 7 + hlcoord 12, 7 lb bc, 8, 13 DisplayYesNoChoice:: diff --git a/macros/coords.asm b/macros/coords.asm index 302260d7..94808ba5 100644 --- a/macros/coords.asm +++ b/macros/coords.asm @@ -1,65 +1,79 @@ -validateCoords: MACRO - IF \1 >= SCREEN_WIDTH - fail "x coord out of range" - ENDC - IF \2 >= SCREEN_HEIGHT - fail "y coord out of range" +validate_coords: MACRO + IF _NARG >= 4 + IF \1 >= \3 + fail "x coord out of range" + ENDC + IF \2 >= \4 + fail "y coord out of range" + ENDC + ELSE + validate_coords \1, \2, SCREEN_WIDTH, SCREEN_HEIGHT ENDC ENDM -;\1 = r -;\2 = X -;\3 = Y -;\4 = which tilemap (optional) +hlcoord EQUS "coord hl," +bccoord EQUS "coord bc," +decoord EQUS "coord de," + coord: MACRO - validateCoords \2, \3 +; register, x, y[, origin] + validate_coords \2, \3 IF _NARG >= 4 - ld \1, \4 + SCREEN_WIDTH * \3 + \2 + ld \1, (\3) * SCREEN_WIDTH + (\2) + \4 ELSE - ld \1, wTileMap + SCREEN_WIDTH * \3 + \2 + ld \1, (\3) * SCREEN_WIDTH + (\2) + wTileMap ENDC ENDM -;\1 = X -;\2 = Y -;\3 = which tilemap (optional) -aCoord: MACRO - validateCoords \1, \2 - IF _NARG >= 3 - ld a, [\3 + SCREEN_WIDTH * \2 + \1] +hlbgcoord EQUS "bgcoord hl," +bcbgcoord EQUS "bgcoord bc," +debgcoord EQUS "bgcoord de," + +bgcoord: MACRO +; register, x, y[, origin] + validate_coords \2, \3, BG_MAP_WIDTH, BG_MAP_HEIGHT + IF _NARG >= 4 + ld \1, (\3) * BG_MAP_WIDTH + (\2) + \4 ELSE - ld a, [wTileMap + SCREEN_WIDTH * \2 + \1] + ld \1, (\3) * BG_MAP_WIDTH + (\2) + vBGMap0 ENDC ENDM -;\1 = X -;\2 = Y -;\3 = which tilemap (optional) -Coorda: MACRO - validateCoords \1, \2 +hlowcoord EQUS "owcoord hl," +bcowcoord EQUS "owcoord bc," +deowcoord EQUS "owcoord de," + +owcoord: MACRO +; register, x, y, map width + ld \1, wOverworldMap + ((\2) + 3) + (((\3) + 3) * ((\4) + (3 * 2))) +ENDM + +dwcoord: MACRO +; x, y + validate_coords \1, \2 IF _NARG >= 3 - ld [\3 + SCREEN_WIDTH * \2 + \1], a + dw (\2) * SCREEN_WIDTH + (\1) + \3 ELSE - ld [wTileMap + SCREEN_WIDTH * \2 + \1], a + dw (\2) * SCREEN_WIDTH + (\1) + wTileMap ENDC ENDM -;\1 = X -;\2 = Y -;\3 = which tilemap (optional) -dwCoord: MACRO - validateCoords \1, \2 +ldcoord_a: MACRO +; x, y[, origin] + validate_coords \1, \2 IF _NARG >= 3 - dw \3 + SCREEN_WIDTH * \2 + \1 + ld [(\2) * SCREEN_WIDTH + (\1) + \3], a ELSE - dw wTileMap + SCREEN_WIDTH * \2 + \1 + ld [(\2) * SCREEN_WIDTH + (\1) + wTileMap], a ENDC ENDM -;\1 = r -;\2 = X -;\3 = Y -;\4 = map width -overworldMapCoord: MACRO - ld \1, wOverworldMap + ((\2) + 3) + (((\3) + 3) * ((\4) + (3 * 2))) +lda_coord: MACRO +; x, y[, origin] + validate_coords \1, \2 + IF _NARG >= 3 + ld a, [(\2) * SCREEN_WIDTH + (\1) + \3] + ELSE + ld a, [(\2) * SCREEN_WIDTH + (\1) + wTileMap] + ENDC ENDM diff --git a/macros/data.asm b/macros/data.asm index 7a813529..16742d53 100755 --- a/macros/data.asm +++ b/macros/data.asm @@ -33,7 +33,7 @@ _tms3 = _tms3 | (1 << ((\1_TMNUM) - 1 - 48)) else fail "\1 is not a TM or HM move" ENDC - shift + SHIFT ENDR REPT 3 ; TM01-TM24 (24/24) db _tms1 & $ff diff --git a/macros/gfx.asm b/macros/gfx.asm index 950daee1..8803dad2 100644 --- a/macros/gfx.asm +++ b/macros/gfx.asm @@ -1,7 +1,7 @@ RGB: MACRO REPT _NARG / 3 dw palred (\1) + palgreen (\2) + palblue (\3) - shift 3 + SHIFT 3 ENDR ENDM diff --git a/macros/scripts/events.asm b/macros/scripts/events.asm index 9e84ec62..8087c5c2 100755 --- a/macros/scripts/events.asm +++ b/macros/scripts/events.asm @@ -185,7 +185,7 @@ SetEvents: MACRO SetEvent \1 REPT _NARG - 1 SetEventReuseHL \2 - shift + SHIFT ENDR ENDM @@ -237,7 +237,7 @@ ResetEvents: MACRO ResetEvent \1 REPT _NARG - 1 ResetEventReuseHL \2 - shift + SHIFT ENDR ENDM diff --git a/macros/scripts/text.asm b/macros/scripts/text.asm index efecdd1c..261ab5f4 100755 --- a/macros/scripts/text.asm +++ b/macros/scripts/text.asm @@ -200,7 +200,7 @@ script_mart: MACRO db _NARG ; number of items REPT _NARG db \1 ; item id - shift + SHIFT ENDR db -1 ; end ENDM diff --git a/scripts/BikeShop.asm b/scripts/BikeShop.asm index 8ff581a3..7b290f31 100755 --- a/scripts/BikeShop.asm +++ b/scripts/BikeShop.asm @@ -49,15 +49,15 @@ BikeShopText1: ld [wTopMenuItemX], a ld hl, wd730 set 6, [hl] - coord hl, 0, 0 + hlcoord 0, 0 ld b, $4 ld c, $f call TextBoxBorder call UpdateSprites - coord hl, 2, 2 + hlcoord 2, 2 ld de, BikeShopMenuText call PlaceString - coord hl, 8, 3 + hlcoord 8, 3 ld de, BikeShopMenuPrice call PlaceString ld hl, BikeShopText_1d815 diff --git a/scripts/CeladonMartRoof.asm b/scripts/CeladonMartRoof.asm index e880211b..b1f6a8a3 100755 --- a/scripts/CeladonMartRoof.asm +++ b/scripts/CeladonMartRoof.asm @@ -64,7 +64,7 @@ CeladonMartRoofScript_GiveDrinkToGirl: dec l ld b, l ld c, 12 - coord hl, 0, 0 + hlcoord 0, 0 call TextBoxBorder call UpdateSprites call CeladonMartRoofScript_PrintDrinksInBag @@ -194,7 +194,7 @@ CeladonMartRoofScript_PrintDrinksInBag: push hl ld [wd11e], a call GetItemName - coord hl, 2, 2 + hlcoord 2, 2 ldh a, [hItemCounter] ld bc, SCREEN_WIDTH * 2 call AddNTimes diff --git a/scripts/GameCorner.asm b/scripts/GameCorner.asm index d5f43e6b..ded5854f 100755 --- a/scripts/GameCorner.asm +++ b/scripts/GameCorner.asm @@ -474,32 +474,32 @@ CeladonGameCornerText_48f19: CeladonGameCornerScript_48f1e: ld hl, wd730 set 6, [hl] - coord hl, 11, 0 + hlcoord 11, 0 ld b, $5 ld c, $7 call TextBoxBorder call UpdateSprites - coord hl, 12, 1 + hlcoord 12, 1 ld b, 4 ld c, 7 call ClearScreenArea - coord hl, 12, 2 + hlcoord 12, 2 ld de, GameCornerMoneyText call PlaceString - coord hl, 12, 3 + hlcoord 12, 3 ld de, GameCornerBlankText1 call PlaceString - coord hl, 12, 3 + hlcoord 12, 3 ld de, wPlayerMoney ld c, $a3 call PrintBCDNumber - coord hl, 12, 4 + hlcoord 12, 4 ld de, GameCornerCoinText call PlaceString - coord hl, 12, 5 + hlcoord 12, 5 ld de, GameCornerBlankText2 call PlaceString - coord hl, 15, 5 + hlcoord 15, 5 ld de, wPlayerCoins ld c, $82 call PrintBCDNumber diff --git a/scripts/VermilionDock.asm b/scripts/VermilionDock.asm index 5af5e5a2..9dc4b2b9 100755 --- a/scripts/VermilionDock.asm +++ b/scripts/VermilionDock.asm @@ -52,7 +52,7 @@ VermilionDock_1db9b: call DelayFrames ld b, $9c call CopyScreenTileBufferToVRAM - coord hl, 0, 10 + hlcoord 0, 10 ld bc, SCREEN_WIDTH * 6 ld a, $14 ; water tile call FillMemory @@ -184,7 +184,7 @@ VermilionDock_EraseSSAnne: ld bc, (5 * BG_MAP_WIDTH) + SCREEN_WIDTH ld a, $14 ; water tile call FillMemory - ld hl, vBGMap0 + 10 * BG_MAP_WIDTH + hlbgcoord 0, 10 ld de, wVermilionDockTileMapBuffer ld bc, (6 * BG_MAP_WIDTH) / 16 call CopyVideoData @@ -194,7 +194,7 @@ VermilionDock_EraseSSAnne: ; the blocks is unnecessary because the blocks the ship occupies are south of ; the player and won't be redrawn when the player automatically walks north and ; exits the map. This code could be removed without affecting anything. - overworldMapCoord hl, 5, 2, VERMILION_DOCK_WIDTH + hlowcoord 5, 2, VERMILION_DOCK_WIDTH ld a, $d ; water block ld [hli], a ld [hli], a -- cgit v1.2.3 From 1e593d8f8cd07e1072992dc1fc962b6de7508aad Mon Sep 17 00:00:00 2001 From: Rangi Date: Tue, 7 Jul 2020 11:57:03 -0400 Subject: Remove c1x*/c2x* comments, use struct offset constants --- constants/map_object_constants.asm | 40 +++++++ engine/gfx/sprite_oam.asm | 16 +-- engine/menus/display_text_id_init.asm | 3 +- engine/overworld/map_sprites.asm | 52 +++++---- engine/overworld/movement.asm | 199 +++++++++++++++++---------------- engine/overworld/pathfinding.asm | 2 +- engine/overworld/sprite_collisions.asm | 72 ++++++------ engine/overworld/trainer_sight.asm | 64 +++++------ engine/overworld/turn_sprite.asm | 16 +-- home/overworld.asm | 16 +-- macros/wram.asm | 3 +- wram.asm | 68 +++++------ 12 files changed, 304 insertions(+), 247 deletions(-) diff --git a/constants/map_object_constants.asm b/constants/map_object_constants.asm index f5fc952b..4c44e946 100644 --- a/constants/map_object_constants.asm +++ b/constants/map_object_constants.asm @@ -1,3 +1,43 @@ +; spritestatedata1 struct members (see macros/wram.asm) + const_def + const SPRITESTATEDATA1_PICTUREID ; 0 + const SPRITESTATEDATA1_MOVEMENTSTATUS ; 1 + const SPRITESTATEDATA1_IMAGEINDEX ; 2 + const SPRITESTATEDATA1_YSTEPVECTOR ; 3 + const SPRITESTATEDATA1_YPIXELS ; 4 + const SPRITESTATEDATA1_XSTEPVECTOR ; 5 + const SPRITESTATEDATA1_XPIXELS ; 6 + const SPRITESTATEDATA1_INTRAANIMFRAMECOUNTER ; 7 + const SPRITESTATEDATA1_ANIMFRAMECOUNTER ; 8 + const SPRITESTATEDATA1_FACINGDIRECTION ; 9 + const SPRITESTATEDATA1_YADJUSTED ; a + const SPRITESTATEDATA1_XADJUSTED ; b + const SPRITESTATEDATA1_COLLISIONDATA ; c + const SPRITESTATEDATA1_0D ; d + const SPRITESTATEDATA1_0E ; e + const SPRITESTATEDATA1_0F ; f +SPRITESTATEDATA1_LENGTH EQU const_value + +; spritestatedata2 struct members (see macros/wram.asm) + const_def + const SPRITESTATEDATA2_WALKANIMATIONCOUNTER ; 0 + const SPRITESTATEDATA2_01 ; 1 + const SPRITESTATEDATA2_YDISPLACEMENT ; 2 + const SPRITESTATEDATA2_XDISPLACEMENT ; 3 + const SPRITESTATEDATA2_MAPY ; 4 + const SPRITESTATEDATA2_MAPX ; 5 + const SPRITESTATEDATA2_MOVEMENTBYTE1 ; 6 + const SPRITESTATEDATA2_GRASSPRIORITY ; 7 + const SPRITESTATEDATA2_MOVEMENTDELAY ; 8 + const SPRITESTATEDATA2_09 ; 9 + const SPRITESTATEDATA2_0A ; a + const SPRITESTATEDATA2_0B ; b + const SPRITESTATEDATA2_0C ; c + const SPRITESTATEDATA2_PICTUREID ; d + const SPRITESTATEDATA2_IMAGEBASEOFFSET ; e + const SPRITESTATEDATA2_0F ; f +SPRITESTATEDATA2_LENGTH EQU const_value + ; different kinds of people events ITEM EQU $80 TRAINER EQU $40 diff --git a/engine/gfx/sprite_oam.asm b/engine/gfx/sprite_oam.asm index 7e9bf739..b3c07ecd 100644 --- a/engine/gfx/sprite_oam.asm +++ b/engine/gfx/sprite_oam.asm @@ -21,13 +21,13 @@ PrepareOAMData:: ld d, HIGH(wSpriteStateData1) ldh a, [hSpriteOffset2] ld e, a - ld a, [de] ; c1x0 + ld a, [de] ; [x#SPRITESTATEDATA1_PICTUREID] and a jp z, .nextSprite inc e inc e - ld a, [de] ; c1x2 (facing/anim) + ld a, [de] ; [x#SPRITESTATEDATA1_IMAGEINDEX] ld [wd5cd], a cp $ff ; off-screen (don't draw) jr nz, .visible @@ -56,7 +56,7 @@ PrepareOAMData:: ld a, e add $5 ld e, a - ld a, [de] ; c2x7 + ld a, [de] ; [x#SPRITESTATEDATA2_GRASSPRIORITY] and $80 ldh [hSpritePriority], a ; temp store sprite priority pop de @@ -98,7 +98,7 @@ PrepareOAMData:: push bc ld b, a - ld a, [wd5cd] ; temp copy of c1x2 + ld a, [wd5cd] ; temp copy of [x#SPRITESTATEDATA1_IMAGEINDEX] swap a ; high nybble determines sprite used (0 is always player sprite, next are some npcs) and $f @@ -169,11 +169,11 @@ PrepareOAMData:: GetSpriteScreenXY: inc e inc e - ld a, [de] ; c1x4 + ld a, [de] ; [x#SPRITESTATEDATA1_YPIXELS] ldh [hSpriteScreenY], a inc e inc e - ld a, [de] ; c1x6 + ld a, [de] ; [x#SPRITESTATEDATA1_XPIXELS] ldh [hSpriteScreenX], a ld a, 4 add e @@ -181,9 +181,9 @@ GetSpriteScreenXY: ldh a, [hSpriteScreenY] add 4 and $f0 - ld [de], a ; c1xa (y) + ld [de], a ; [x#SPRITESTATEDATA1_YADJUSTED] inc e ldh a, [hSpriteScreenX] and $f0 - ld [de], a ; c1xb (x) + ld [de], a ; [x#SPRITESTATEDATA1_XADJUSTED] ret diff --git a/engine/menus/display_text_id_init.asm b/engine/menus/display_text_id_init.asm index c030e7c9..c147eaf6 100644 --- a/engine/menus/display_text_id_init.asm +++ b/engine/menus/display_text_id_init.asm @@ -38,7 +38,8 @@ DisplayTextIDInit:: jr nz, .skipMovingSprites call UpdateSprites .skipMovingSprites -; loop to copy C1X9 (direction the sprite is facing) to C2X9 for each sprite +; loop to copy [x#SPRITESTATEDATA1_FACINGDIRECTION] to [x#SPRITESTATEDATA2_09] +; for each sprite from x=01 to x=15 ; this is done because when you talk to an NPC, they turn to look your way ; the original direction they were facing must be restored after the dialogue is over ld hl, wSprite01StateData1FacingDirection diff --git a/engine/overworld/map_sprites.asm b/engine/overworld/map_sprites.asm index 26a8f1bb..4a68169a 100755 --- a/engine/overworld/map_sprites.asm +++ b/engine/overworld/map_sprites.asm @@ -4,20 +4,21 @@ ; This is also called after displaying text because loading ; text tile patterns overwrites half of the sprite tile pattern data. ; Note on notation: -; $C1X* and $C2X* are used to denote wSpriteStateData1-wSpriteStateData1 + $ff and wSpriteStateData2 + $00-wSpriteStateData2 + $ff sprite slot -; fields, respectively, within loops. The X is the loop index. -; If there is an inner loop, Y is the inner loop index, i.e. $C1Y* and $C2Y* -; denote fields of the sprite slots iterated over in the inner loop. +; x#SPRITESTATEDATA1_* and x#SPRITESTATEDATA2_* are used to denote wSpriteStateData1 and +; wSpriteStateData2 sprite slot, respectively, within loops. The X is the loop index. +; If there is an inner loop, Y is the inner loop index, i.e. y#SPRITESTATEDATA1_* and +; y#SPRITESTATEDATA2_* denote fields of the sprite slots iterated over in the inner loop. InitMapSprites:: call InitOutsideMapSprites ret c ; return if the map is an outside map (already handled by above call) ; if the map is an inside map (i.e. mapID >= $25) ld hl, wSpritePlayerStateData1PictureID ld de, wSpritePlayerStateData2PictureID -; Loop to copy picture ID's from $C1X0 to $C2XD for LoadMapSpriteTilePatterns. +; Loop to copy picture IDs from [x#SPRITESTATEDATA1_PICTUREID] +; to [x#SPRITESTATEDATA2_PICTUREID] for LoadMapSpriteTilePatterns. .copyPictureIDLoop - ld a, [hl] ; $C1X0 (picture ID) - ld [de], a ; $C2XD + ld a, [hl] ; a = [x#SPRITESTATEDATA1_PICTUREID] + ld [de], a ; [x#SPRITESTATEDATA2_PICTUREID] = a ld a, $10 add e ld e, a @@ -40,9 +41,11 @@ LoadMapSpriteTilePatterns: ld hl, wSpritePlayerStateData2PictureID xor a ldh [hFourTileSpriteCount], a -.copyPictureIDLoop ; loop to copy picture ID from $C2XD to $C2XE - ld a, [hli] ; $C2XD (sprite picture ID) - ld [hld], a ; $C2XE +; Loop to copy picture IDs from [x#SPRITESTATEDATA2_PICTUREID] +; to [x#SPRITESTATEDATA2_IMAGEBASEOFFSET]. +.copyPictureIDLoop + ld a, [hli] ; a = [x#SPRITESTATEDATA2_PICTUREID] + ld [hld], a ; [x#SPRITESTATEDATA2_IMAGEBASEOFFSET] = a ld a, l add $10 ld l, a @@ -81,7 +84,7 @@ LoadMapSpriteTilePatterns: ld a, l cp e ; reached current slot? jr z, .foundNextVRAMSlot - ld a, [de] ; $C2YE (VRAM slot) + ld a, [de] ; y#SPRITESTATEDATA2_IMAGEBASEOFFSET cp 11 ; is it one of the first 10 slots? jr nc, .findNextVRAMSlotLoop cp b ; compare the slot being checked to the current max @@ -93,7 +96,7 @@ LoadMapSpriteTilePatterns: inc b ; increment previous max value to get next VRAM tile pattern slot ld a, b ; a = next VRAM tile pattern slot push af - ld a, [hl] ; $C2XE (sprite picture ID) + ld a, [hl] ; [x#SPRITESTATEDATA2_IMAGEBASEOFFSET] ld b, a ; b = current sprite picture ID cp SPRITE_BALL ; is it a 4-tile sprite? jr c, .notFourTileSprite @@ -104,7 +107,7 @@ LoadMapSpriteTilePatterns: .notFourTileSprite pop af .storeVRAMSlot - ld [hl], a ; store VRAM slot at $C2XE + ld [hl], a ; store VRAM slot at [x#SPRITESTATEDATA2_IMAGEBASEOFFSET] ldh [hVRAMSlot], a ; used to determine if it's 4-tile sprite later ld a, b ; a = current sprite picture ID dec a @@ -207,8 +210,8 @@ LoadMapSpriteTilePatterns: jr .nextSpriteSlot .alreadyLoaded ; if the current picture ID has already had its tile patterns loaded inc de - ld a, [de] ; a = VRAM slot for the current picture ID (from $C2YE) - ld [hl], a ; store VRAM slot in current wSpriteStateData2 sprite slot (at $C2XE) + ld a, [de] ; a = [y#SPRITESTATEDATA2_IMAGEBASEOFFSET] + ld [hl], a ; [x#SPRITESTATEDATA2_IMAGEBASEOFFSET] = a .nextSpriteSlot ld a, l add $10 @@ -217,10 +220,11 @@ LoadMapSpriteTilePatterns: jp nz, .loadTilePatternLoop ld hl, wSpritePlayerStateData2PictureID ld b, $10 -; the pictures ID's stored at $C2XD are no longer needed, so zero them +; the pictures IDs stored at [x#SPRITESTATEDATA2_PICTUREID] are no longer needed, +; so zero them .zeroStoredPictureIDLoop xor a - ld [hl], a ; $C2XD + ld [hl], a ; [x#SPRITESTATEDATA2_PICTUREID] ld a, $10 add l ld l, a @@ -292,15 +296,15 @@ InitOutsideMapSprites: ld [hl], a ld bc, wSpriteSet ; Load the sprite set into RAM. -; This loop also fills $C2XD (sprite picture ID) where X is from $0 to $A -; with picture ID's. This is done so that LoadMapSpriteTilePatterns will +; This loop also fills [x#SPRITESTATEDATA2_PICTUREID] where X is from $0 to $A +; with picture IDs. This is done so that LoadMapSpriteTilePatterns will ; load tile patterns for all sprite pictures in the sprite set. .loadSpriteSetLoop ld a, $10 add l ld l, a ld a, [de] ; sprite picture ID from sprite set - ld [hl], a ; $C2XD (sprite picture ID) + ld [hl], a ; [x#SPRITESTATEDATA2_PICTUREID] ld [bc], a inc de inc bc @@ -313,7 +317,7 @@ InitOutsideMapSprites: add l ld l, a xor a - ld [hl], a ; $C2XD (sprite picture ID) + ld [hl], a ; [x#SPRITESTATEDATA2_PICTUREID] dec b jr nz, .zeroRemainingSlotsLoop ld a, [wNumSprites] @@ -330,7 +334,7 @@ InitOutsideMapSprites: ; for the current map. So, they are not needed and are zeroed by this loop. .zeroVRAMSlotsLoop xor a - ld [hl], a ; $C2XE (VRAM slot) + ld [hl], a ; [x#SPRITESTATEDATA2_IMAGEBASEOFFSET] ld a, $10 add l ld l, a @@ -347,7 +351,7 @@ InitOutsideMapSprites: ; VRAM tile pattern slot. .storeVRAMSlotsLoop ld c, 0 - ld a, [hl] ; $C1X0 (picture ID) (zero if sprite slot is not used) + ld a, [hl] ; [x#SPRITESTATEDATA1_PICTUREID] (zero if sprite slot is not used) and a ; is the sprite slot used? jr z, .skipGettingPictureIndex ; if the sprite slot is not used ld b, a ; b = picture ID @@ -367,7 +371,7 @@ InitOutsideMapSprites: add l ld l, a ld a, c ; a = VRAM slot (zero if sprite slot is not used) - ld [hl], a ; $C2XE (VRAM slot) + ld [hl], a ; [x#SPRITESTATEDATA2_IMAGEBASEOFFSET] pop hl ld a, $10 add l diff --git a/engine/overworld/movement.asm b/engine/overworld/movement.asm index a2930993..58481613 100644 --- a/engine/overworld/movement.asm +++ b/engine/overworld/movement.asm @@ -121,20 +121,20 @@ UpdateNPCSprite: ld l, a ld a, [hl] ; read movement byte 2 ld [wCurSpriteMovement2], a - ld h, $c1 + ld h, HIGH(wSpriteStateData1) ldh a, [hCurrentSpriteOffset] ld l, a inc l - ld a, [hl] ; c1x1 + ld a, [hl] ; x#SPRITESTATEDATA1_MOVEMENTSTATUS and a jp z, InitializeSpriteStatus call CheckSpriteAvailability ret c ; if sprite is invisible, on tile >=MAP_TILESET_SIZE, in grass or player is currently walking - ld h, $c1 + ld h, HIGH(wSpriteStateData1) ldh a, [hCurrentSpriteOffset] ld l, a inc l - ld a, [hl] ; c1x1 + ld a, [hl] ; x#SPRITESTATEDATA1_MOVEMENTSTATUS bit 7, a ; is the face player flag set? jp nz, MakeNPCFacePlayer ld b, a @@ -143,9 +143,9 @@ UpdateNPCSprite: jp nz, notYetMoving ld a, b cp $2 - jp z, UpdateSpriteMovementDelay ; c1x1 == 2 + jp z, UpdateSpriteMovementDelay ; [x#SPRITESTATEDATA1_MOVEMENTSTATUS] == 2 cp $3 - jp z, UpdateSpriteInWalkingAnimation ; c1x1 == 3 + jp z, UpdateSpriteInWalkingAnimation ; [x#SPRITESTATEDATA1_MOVEMENTSTATUS] == 3 ld a, [wWalkCounter] and a ret nz ; don't do anything yet if player is currently moving (redundant, already tested in CheckSpriteAvailability) @@ -154,7 +154,7 @@ UpdateNPCSprite: ldh a, [hCurrentSpriteOffset] add $6 ld l, a - ld a, [hl] ; c2x6: movement byte 1 + ld a, [hl] ; x#SPRITESTATEDATA2_MOVEMENTBYTE1 inc a jr z, .randomMovement ; value $FF inc a @@ -263,18 +263,18 @@ ChangeFacingDirection: ; set carry on failure, clears carry on success TryWalking: push hl - ld h, $c1 + ld h, HIGH(wSpriteStateData1) ldh a, [hCurrentSpriteOffset] add $9 ld l, a - ld [hl], c ; c1x9 (update facing direction) + ld [hl], c ; x#SPRITESTATEDATA1_FACINGDIRECTION ldh a, [hCurrentSpriteOffset] add $3 ld l, a - ld [hl], d ; c1x3 (update Y movement delta) + ld [hl], d ; x#SPRITESTATEDATA1_YSTEPVECTOR inc l inc l - ld [hl], e ; c1x5 (update X movement delta) + ld [hl], e ; x#SPRITESTATEDATA1_XSTEPVECTOR pop hl push de ld c, [hl] ; read tile to walk onto @@ -285,18 +285,18 @@ TryWalking: ldh a, [hCurrentSpriteOffset] add $4 ld l, a - ld a, [hl] ; c2x4: Y position + ld a, [hl] ; x#SPRITESTATEDATA2_MAPY add d ld [hli], a ; update Y position - ld a, [hl] ; c2x5: X position + ld a, [hl] ; x#SPRITESTATEDATA2_MAPX add e ld [hl], a ; update X position ldh a, [hCurrentSpriteOffset] ld l, a - ld [hl], $10 ; c2x0=16: walk animation counter + ld [hl], $10 ; [x#SPRITESTATEDATA2_WALKANIMATIONCOUNTER] = 16 dec h inc l - ld [hl], $3 ; c1x1: set movement status to walking + ld [hl], $3 ; x#SPRITESTATEDATA1_MOVEMENTSTATUS jp UpdateSpriteImage ; update the walking animation parameters for a sprite that is currently walking @@ -304,15 +304,15 @@ UpdateSpriteInWalkingAnimation: ldh a, [hCurrentSpriteOffset] add $7 ld l, a - ld a, [hl] ; c1x7 (counter until next walk animation frame) + ld a, [hl] ; x#SPRITESTATEDATA1_INTRAANIMFRAMECOUNTER inc a - ld [hl], a ; c1x7 += 1 + ld [hl], a ; [x#SPRITESTATEDATA1_INTRAANIMFRAMECOUNTER]++ cp $4 jr nz, .noNextAnimationFrame xor a - ld [hl], a ; c1x7 = 0 + ld [hl], a ; [x#SPRITESTATEDATA1_INTRAANIMFRAMECOUNTER] = 0 inc l - ld a, [hl] ; c1x8 (walk animation frame) + ld a, [hl] ; x#SPRITESTATEDATA1_ANIMFRAMECOUNTER inc a and $3 ld [hl], a ; advance to next animation frame every 4 ticks (16 ticks total for one step) @@ -320,34 +320,34 @@ UpdateSpriteInWalkingAnimation: ldh a, [hCurrentSpriteOffset] add $3 ld l, a - ld a, [hli] ; c1x3 (movement Y delta) + ld a, [hli] ; x#SPRITESTATEDATA1_YSTEPVECTOR ld b, a - ld a, [hl] ; c1x4 (screen Y position) + ld a, [hl] ; x#SPRITESTATEDATA1_YPIXELS add b - ld [hli], a ; update screen Y position - ld a, [hli] ; c1x5 (movement X delta) + ld [hli], a ; update [x#SPRITESTATEDATA1_YPIXELS] + ld a, [hli] ; x#SPRITESTATEDATA1_XSTEPVECTOR ld b, a - ld a, [hl] ; c1x6 (screen X position) + ld a, [hl] ; x#SPRITESTATEDATA1_XPIXELS add b - ld [hl], a ; update screen X position + ld [hl], a ; update [x#SPRITESTATEDATA1_XPIXELS] ldh a, [hCurrentSpriteOffset] ld l, a inc h - ld a, [hl] ; c2x0 (walk animation counter) + ld a, [hl] ; x#SPRITESTATEDATA2_WALKANIMATIONCOUNTER dec a ld [hl], a ; update walk animation counter ret nz ld a, $6 ; walking finished, update state add l ld l, a - ld a, [hl] ; c2x6 (movement byte 1) + ld a, [hl] ; x#SPRITESTATEDATA2_MOVEMENTBYTE1 cp $fe jr nc, .initNextMovementCounter ; values $fe and $ff ldh a, [hCurrentSpriteOffset] inc a ld l, a dec h - ld [hl], $1 ; c1x1 = 1 (movement status ready) + ld [hl], $1 ; [x#SPRITESTATEDATA1_MOVEMENTSTATUS] = 1 (movement status ready) ret .initNextMovementCounter call Random @@ -356,29 +356,31 @@ UpdateSpriteInWalkingAnimation: ld l, a ldh a, [hRandomAdd] and $7f - ld [hl], a ; c2x8: set next movement delay to a random value in [0,$7f] - dec h ; note that value 0 actually makes the delay $100 (bug?) + ld [hl], a ; x#SPRITESTATEDATA2_MOVEMENTDELAY: + ; set next movement delay to a random value in [0,$7f] + ; note that value 0 actually makes the delay $100 (bug?) + dec h ; HIGH(wSpriteStateData1) ldh a, [hCurrentSpriteOffset] inc a ld l, a - ld [hl], $2 ; c1x1 = 2 (movement status) + ld [hl], $2 ; [x#SPRITESTATEDATA1_MOVEMENTSTATUS] = 2 (movement status) inc l inc l xor a - ld b, [hl] ; c1x3 (movement Y delta) - ld [hli], a ; reset movement Y delta + ld b, [hl] ; x#SPRITESTATEDATA1_YSTEPVECTOR + ld [hli], a ; [x#SPRITESTATEDATA1_YSTEPVECTOR] = 0 inc l - ld c, [hl] ; c1x5 (movement X delta) - ld [hl], a ; reset movement X delta + ld c, [hl] ; x#SPRITESTATEDATA1_XSTEPVECTOR + ld [hl], a ; [x#SPRITESTATEDATA1_XSTEPVECTOR] = 0 ret -; update delay value (c2x8) for sprites in the delayed state (c1x1) +; update [x#SPRITESTATEDATA2_MOVEMENTDELAY] for sprites in the delayed state (x#SPRITESTATEDATA1_MOVEMENTSTATUS) UpdateSpriteMovementDelay: - ld h, $c2 + ld h, HIGH(wSpriteStateData2) ldh a, [hCurrentSpriteOffset] add $6 ld l, a - ld a, [hl] ; c2x6: movement byte 1 + ld a, [hl] ; x#SPRITESTATEDATA2_MOVEMENTBYTE1 inc l inc l cp $fe @@ -386,20 +388,20 @@ UpdateSpriteMovementDelay: ld [hl], $0 jr .moving .tickMoveCounter - dec [hl] ; c2x8: frame counter until next movement + dec [hl] ; x#SPRITESTATEDATA2_MOVEMENTDELAY jr nz, notYetMoving .moving dec h ldh a, [hCurrentSpriteOffset] inc a ld l, a - ld [hl], $1 ; c1x1 = 1 (mark as ready to move) + ld [hl], $1 ; [x#SPRITESTATEDATA1_MOVEMENTSTATUS] = 1 (mark as ready to move) notYetMoving: ld h, HIGH(wSpriteStateData1) ldh a, [hCurrentSpriteOffset] - add wSpritePlayerStateData1AnimFrameCounter - wSpritePlayerStateData1 + add SPRITESTATEDATA1_ANIMFRAMECOUNTER ld l, a - ld [hl], $0 ; c1x8 = 0 (walk animation frame) + ld [hl], $0 ; [x#SPRITESTATEDATA1_ANIMFRAMECOUNTER] = 0 (walk animation frame) jp UpdateSpriteImage MakeNPCFacePlayer: @@ -432,44 +434,44 @@ MakeNPCFacePlayer: ldh a, [hCurrentSpriteOffset] add $9 ld l, a - ld [hl], c ; c1x9: set facing direction + ld [hl], c ; [x#SPRITESTATEDATA1_FACINGDIRECTION]: set facing direction jr notYetMoving InitializeSpriteStatus: - ld [hl], $1 ; $c1x1: set movement status to ready + ld [hl], $1 ; [x#SPRITESTATEDATA1_MOVEMENTSTATUS] = ready inc l - ld [hl], $ff ; $c1x2: set sprite image to $ff (invisible/off screen) - inc h + ld [hl], $ff ; [x#SPRITESTATEDATA1_IMAGEINDEX] = invisible/off screen + inc h ; HIGH(wSpriteStateData2) ldh a, [hCurrentSpriteOffset] add $2 ld l, a ld a, $8 - ld [hli], a ; $c2x2: set Y displacement to 8 - ld [hl], a ; $c2x3: set X displacement to 8 + ld [hli], a ; [x#SPRITESTATEDATA2_YDISPLACEMENT] = 8 + ld [hl], a ; [x#SPRITESTATEDATA2_XDISPLACEMENT] = 8 ret -; calculates the sprite's screen position form its map position and the player position +; calculates the sprite's screen position from its map position and the player position InitializeSpriteScreenPosition: ld h, HIGH(wSpriteStateData2) ldh a, [hCurrentSpriteOffset] - add wSpritePlayerStateData2MapY - wSpritePlayerStateData2 + add SPRITESTATEDATA2_MAPY ld l, a ld a, [wYCoord] ld b, a - ld a, [hl] ; c2x4 (Y position + 4) + ld a, [hl] ; x#SPRITESTATEDATA2_MAPY sub b ; relative to player position swap a ; * 16 sub $4 ; - 4 dec h - ld [hli], a ; c1x4 (screen Y position) + ld [hli], a ; [x#SPRITESTATEDATA1_YPIXELS] inc h ld a, [wXCoord] ld b, a - ld a, [hli] ; c2x6 (X position + 4) + ld a, [hli] ; x#SPRITESTATEDATA2_MAPX sub b ; relative to player position swap a ; * 16 dec h - ld [hl], a ; c1x6 (screen X position) + ld [hl], a ; [x#SPRITESTATEDATA1_XPIXELS] ret ; tests if sprite is off screen or otherwise unable to do anything @@ -480,15 +482,15 @@ CheckSpriteAvailability: jp nz, .spriteInvisible ld h, HIGH(wSpriteStateData2) ldh a, [hCurrentSpriteOffset] - add wSpritePlayerStateData2MovementByte1 - wSpritePlayerStateData2 + add SPRITESTATEDATA2_MOVEMENTBYTE1 ld l, a - ld a, [hl] ; c2x6: movement byte 1 + ld a, [hl] ; x#SPRITESTATEDATA2_MOVEMENTBYTE1 cp $fe jr c, .skipXVisibilityTest ; movement byte 1 < $fe (i.e. the sprite's movement is scripted) ldh a, [hCurrentSpriteOffset] - add wSpritePlayerStateData2MapY - wSpritePlayerStateData2 + add SPRITESTATEDATA2_MAPY ld l, a - ld b, [hl] ; c2x4: Y pos (+4) + ld b, [hl] ; x#SPRITESTATEDATA2_MAPY ld a, [wYCoord] cp b jr z, .skipYVisibilityTest @@ -498,7 +500,7 @@ CheckSpriteAvailability: jr c, .spriteInvisible ; below screen region .skipYVisibilityTest inc l - ld b, [hl] ; c2x5: X pos (+4) + ld b, [hl] ; x#SPRITESTATEDATA2_MAPX ld a, [wXCoord] cp b jr z, .skipXVisibilityTest @@ -528,9 +530,9 @@ CheckSpriteAvailability: .spriteInvisible ld h, HIGH(wSpriteStateData1) ldh a, [hCurrentSpriteOffset] - add wSpritePlayerStateData1ImageIndex - wSpritePlayerStateData1 + add SPRITESTATEDATA1_IMAGEINDEX ld l, a - ld [hl], $ff ; c1x2 + ld [hl], $ff ; x#SPRITESTATEDATA1_IMAGEINDEX scf jr .done .spriteVisible @@ -549,19 +551,19 @@ CheckSpriteAvailability: jr nz, .notInGrass ld a, $80 .notInGrass - ld [hl], a ; c2x7 + ld [hl], a ; x#SPRITESTATEDATA2_GRASSPRIORITY and a .done ret UpdateSpriteImage: - ld h, $c1 + ld h, HIGH(wSpriteStateData1) ldh a, [hCurrentSpriteOffset] add $8 ld l, a - ld a, [hli] ; c1x8: walk animation frame + ld a, [hli] ; x#SPRITESTATEDATA1_ANIMFRAMECOUNTER ld b, a - ld a, [hl] ; c1x9: facing direction + ld a, [hl] ; x#SPRITESTATEDATA1_FACINGDIRECTION add b ld b, a ldh a, [hTilePlayerStandingOn] @@ -570,7 +572,7 @@ UpdateSpriteImage: ldh a, [hCurrentSpriteOffset] add $2 ld l, a - ld [hl], b ; c1x2: sprite to display + ld [hl], b ; x#SPRITESTATEDATA1_IMAGEINDEX ret ; tests if sprite can walk the specified direction @@ -582,9 +584,9 @@ UpdateSpriteImage: CanWalkOntoTile: ld h, HIGH(wSpriteStateData2) ldh a, [hCurrentSpriteOffset] - add wSpritePlayerStateData2MovementByte1 - wSpritePlayerStateData2 + add SPRITESTATEDATA2_MOVEMENTBYTE1 ld l, a - ld a, [hl] ; c2x6 (movement byte 1) + ld a, [hl] ; x#SPRITESTATEDATA2_MOVEMENTBYTE1 cp $fe jr nc, .notScripted ; values $fe and $ff ; always allow walking if the movement is scripted @@ -605,20 +607,20 @@ CanWalkOntoTile: ldh a, [hCurrentSpriteOffset] add $6 ld l, a - ld a, [hl] ; $c2x6 (movement byte 1) + ld a, [hl] ; x#SPRITESTATEDATA2_MOVEMENTBYTE1 inc a jr z, .impassable ; if $ff, no movement allowed (however, changing direction is) ld h, HIGH(wSpriteStateData1) ldh a, [hCurrentSpriteOffset] - add wSpritePlayerStateData1YPixels - wSpritePlayerStateData1 + add SPRITESTATEDATA1_YPIXELS ld l, a - ld a, [hli] ; c1x4 (screen Y pos) + ld a, [hli] ; x#SPRITESTATEDATA1_YPIXELS add $4 ; align to blocks (Y pos is always 4 pixels off) add d ; add Y delta cp $80 ; if value is >$80, the destination is off screen (either $81 or $FF underflow) jr nc, .impassable ; don't walk off screen inc l - ld a, [hl] ; c1x6 (screen X pos) + ld a, [hl] ; x#SPRITESTATEDATA1_XPIXELS add e ; add X delta cp $90 ; if value is >$90, the destination is off screen (either $91 or $FF underflow) jr nc, .impassable ; don't walk off screen @@ -631,26 +633,31 @@ CanWalkOntoTile: ldh a, [hCurrentSpriteOffset] add $c ld l, a - ld a, [hl] ; c1xc (directions in which sprite collision would occur) + ld a, [hl] ; x#SPRITESTATEDATA1_COLLISIONDATA (directions in which sprite collision would occur) and b ; check against chosen direction (1,2,4 or 8) jr nz, .impassable ; collision between sprites, don't go there ld h, HIGH(wSpriteStateData2) ldh a, [hCurrentSpriteOffset] - add wSpritePlayerStateData2YDisplacement - wSpritePlayerStateData2 + add SPRITESTATEDATA2_YDISPLACEMENT ld l, a - ld a, [hli] ; c2x2 (sprite Y displacement, initialized at $8, keep track of where a sprite did go) + ld a, [hli] ; x#SPRITESTATEDATA2_YDISPLACEMENT (initialized at $8, keep track of where a sprite did go) bit 7, d ; check if going upwards (d=$ff) jr nz, .upwards add d + ; bug: these tests against $5 probably were supposed to prevent + ; sprites from walking out too far, but this line makes sprites get + ; stuck whenever they walked upwards 5 steps + ; on the other hand, the amount a sprite can walk out to the + ; right of bottom is not limited (until the counter overflows) cp $5 - jr c, .impassable ; if c2x2+d < 5, don't go ;bug: this tests probably were supposed to prevent sprites - jr .checkHorizontal ; from walking out too far, but this line makes sprites get stuck -.upwards ; whenever they walked upwards 5 steps - sub $1 ; on the other hand, the amount a sprite can walk out to the - jr c, .impassable ; if d2x2 == 0, don't go ; right of bottom is not limited (until the counter overflows) + jr c, .impassable ; if [x#SPRITESTATEDATA2_YDISPLACEMENT]+d < 5, don't go + jr .checkHorizontal +.upwards + sub $1 + jr c, .impassable ; if [x#SPRITESTATEDATA2_YDISPLACEMENT] == 0, don't go .checkHorizontal ld d, a - ld a, [hl] ; c2x3 (sprite X displacement, initialized at $8, keep track of where a sprite did go) + ld a, [hl] ; x#SPRITESTATEDATA2_XDISPLACEMENT (initialized at $8, keep track of where a sprite did go) bit 7, e ; check if going left (e=$ff) jr nz, .left add e @@ -658,10 +665,10 @@ CanWalkOntoTile: jr .passable .left sub $1 - jr c, .impassable ; if d2x3 == 0, don't go + jr c, .impassable ; if [x#SPRITESTATEDATA2_XDISPLACEMENT] == 0, don't go .passable - ld [hld], a ; update c2x3 - ld [hl], d ; update c2x2 + ld [hld], a ; update x#SPRITESTATEDATA2_XDISPLACEMENT + ld [hl], d ; update x#SPRITESTATEDATA2_YDISPLACEMENT and a ; clear carry (marking success) ret .impassable @@ -669,13 +676,13 @@ CanWalkOntoTile: ldh a, [hCurrentSpriteOffset] inc a ld l, a - ld [hl], $2 ; c1x1 = 2 (set movement status to delayed) + ld [hl], $2 ; [x#SPRITESTATEDATA1_MOVEMENTSTATUS] = 2 (delayed) inc l inc l xor a - ld [hli], a ; c1x3 = 0 (clear Y movement delta) + ld [hli], a ; [x#SPRITESTATEDATA1_YSTEPVECTOR] = 0 inc l - ld [hl], a ; c1x5 = 0 (clear X movement delta) + ld [hl], a ; [x#SPRITESTATEDATA1_XSTEPVECTOR] = 0 inc h ldh a, [hCurrentSpriteOffset] add $8 @@ -683,7 +690,7 @@ CanWalkOntoTile: call Random ldh a, [hRandomAdd] and $7f - ld [hl], a ; c2x8: set next movement delay to a random value in [0,$7f] (again with delay $100 if value is 0) + ld [hl], a ; x#SPRITESTATEDATA2_MOVEMENTDELAY: set to a random value in [0,$7f] (again with delay $100 if value is 0) scf ; set carry (marking failure to walk) ret @@ -693,16 +700,16 @@ CanWalkOntoTile: GetTileSpriteStandsOn: ld h, HIGH(wSpriteStateData1) ldh a, [hCurrentSpriteOffset] - add wSpritePlayerStateData1YPixels - wSpritePlayerStateData1 + add SPRITESTATEDATA1_YPIXELS ld l, a - ld a, [hli] ; c1x4: screen Y position + ld a, [hli] ; x#SPRITESTATEDATA1_YPIXELS add $4 ; align to 2*2 tile blocks (Y position is always off 4 pixels to the top) and $f0 ; in case object is currently moving srl a ; screen Y tile * 4 ld c, a ld b, $0 inc l - ld a, [hl] ; c1x6: screen X position + ld a, [hl] ; x#SPRITESTATEDATA1_XPIXELS srl a srl a srl a ; screen X tile @@ -807,12 +814,12 @@ InitScriptedNPCMovement: jp AnimScriptedNPCMovement GetSpriteScreenYPointer: - ld a, wSpritePlayerStateData1YPixels - wSpritePlayerStateData1 + ld a, SPRITESTATEDATA1_YPIXELS ld b, a jr GetSpriteScreenXYPointerCommon GetSpriteScreenXPointer: - ld a, wSpritePlayerStateData1XPixels - wSpritePlayerStateData1 + ld a, SPRITESTATEDATA1_XPIXELS ld b, a GetSpriteScreenXYPointerCommon: @@ -826,7 +833,7 @@ GetSpriteScreenXYPointerCommon: AnimScriptedNPCMovement: ld hl, wSpriteStateData2 ldh a, [hCurrentSpriteOffset] - add wSpritePlayerStateData2ImageBaseOffset - wSpritePlayerStateData2 + add SPRITESTATEDATA2_IMAGEBASEOFFSET ld l, a ld a, [hl] ; VRAM slot dec a @@ -834,7 +841,7 @@ AnimScriptedNPCMovement: ld b, a ld hl, wSpriteStateData1 ldh a, [hCurrentSpriteOffset] - add wSpritePlayerStateData1FacingDirection - wSpritePlayerStateData1 + add SPRITESTATEDATA1_FACINGDIRECTION ld l, a ld a, [hl] ; facing direction cp SPRITE_FACING_DOWN @@ -853,7 +860,7 @@ AnimScriptedNPCMovement: call AdvanceScriptedNPCAnimFrameCounter ld hl, wSpriteStateData1 ldh a, [hCurrentSpriteOffset] - add wSpritePlayerStateData1ImageIndex - wSpritePlayerStateData1 + add SPRITESTATEDATA1_IMAGEINDEX ld l, a ldh a, [hSpriteVRAMSlotAndFacing] ld b, a diff --git a/engine/overworld/pathfinding.asm b/engine/overworld/pathfinding.asm index 54cb86b9..1925dbbc 100644 --- a/engine/overworld/pathfinding.asm +++ b/engine/overworld/pathfinding.asm @@ -84,7 +84,7 @@ CalcPositionOfPlayerRelativeToNPC: ld hl, wSpriteStateData1 ldh a, [hNPCSpriteOffset] add l - add wSpritePlayerStateData1YPixels - wSpritePlayerStateData1 + add SPRITESTATEDATA1_YPIXELS ld l, a jr nc, .noCarry inc h diff --git a/engine/overworld/sprite_collisions.asm b/engine/overworld/sprite_collisions.asm index 6f8e3c2c..dc57d5b9 100644 --- a/engine/overworld/sprite_collisions.asm +++ b/engine/overworld/sprite_collisions.asm @@ -1,15 +1,15 @@ _UpdateSprites:: ld h, $c1 inc h - ld a, wSpritePlayerStateData2ImageBaseOffset - wSpritePlayerStateData2 + ld a, SPRITESTATEDATA2_IMAGEBASEOFFSET .spriteLoop ld l, a - sub wSpritePlayerStateData2ImageBaseOffset - wSpritePlayerStateData2 + sub SPRITESTATEDATA2_IMAGEBASEOFFSET ld c, a ldh [hCurrentSpriteOffset], a ld a, [hl] and a - jr z, .skipSprite ; tests $c2Xe + jr z, .skipSprite ; tests SPRITESTATEDATA2_IMAGEBASEOFFSET push hl push de push bc @@ -20,7 +20,7 @@ _UpdateSprites:: .skipSprite ld a, l add $10 ; move to next sprite - cp wSpritePlayerStateData2ImageBaseOffset - wSpritePlayerStateData2 ; test for overflow (back at beginning) + cp SPRITESTATEDATA2_IMAGEBASEOFFSET ; test for overflow (back at beginning) jr nz, .spriteLoop ret .updateCurrentSprite @@ -43,11 +43,12 @@ UpdateNonPlayerSprite: ; This detects if the current sprite (whose offset is at hCurrentSpriteOffset) ; is going to collide with another sprite by looping over the other sprites. -; The current sprite's offset will be labelled with i (e.g. $c1i0). -; The loop sprite's offset will labelled with j (e.g. $c1j0). +; The current sprite's offset will be labelled with i (e.g. i#SPRITESTATEDATA1_PICTUREID). +; The loop sprite's offset will labelled with j (e.g. j#SPRITESTATEDATA1_PICTUREID). ; -; Note that the Y coordinate of the sprite (in [$c1k4]) is one of the following -; 9 values when the sprite is aligned with the grid: $fc, $0c, $1c, $2c, ..., $7c. +; Note that the Y coordinate of the sprite (in [k#SPRITESTATEDATA1_YPIXELS]) +; is one of the following 9 values when the sprite is aligned with the grid: +; $fc, $0c, $1c, $2c, ..., $7c. ; The reason that 4 is added below to the coordinate is to make it align with a ; multiple of $10 to make comparisons easier. DetectCollisionBetweenSprites: @@ -58,7 +59,7 @@ DetectCollisionBetweenSprites: add LOW(wSpriteStateData1) ld l, a - ld a, [hl] ; a = [$c1i0] (picture) (0 if slot is unused) + ld a, [hl] ; a = [i#SPRITESTATEDATA1_PICTUREID] (0 if slot is unused) and a ; is this sprite slot slot used? ret z ; return if not used @@ -66,10 +67,10 @@ DetectCollisionBetweenSprites: add 3 ld l, a - ld a, [hli] ; a = [$c1i3] (delta Y) (-1, 0, or 1) + ld a, [hli] ; a = [i#SPRITESTATEDATA1_YSTEPVECTOR] (-1, 0, or 1) call SetSpriteCollisionValues - ld a, [hli] ; a = [$C1i4] (Y screen coordinate) + ld a, [hli] ; a = [i#SPRITESTATEDATA1_YPIXELS] add 4 ; align with multiple of $10 ; The effect of the following 3 lines is to @@ -81,9 +82,9 @@ DetectCollisionBetweenSprites: ldh [hFF90], a ; store Y coordinate adjusted for direction of movement - ld a, [hli] ; a = [$c1i5] (delta X) (-1, 0, or 1) + ld a, [hli] ; a = [i#SPRITESTATEDATA1_XSTEPVECTOR] (-1, 0, or 1) call SetSpriteCollisionValues - ld a, [hl] ; a = [$C1i6] (X screen coordinate) + ld a, [hl] ; a = [i#SPRITESTATEDATA1_XPIXELS] ; The effect of the following 3 lines is to ; add 7 to a if moving east or @@ -99,13 +100,13 @@ DetectCollisionBetweenSprites: ld l, a xor a - ld [hld], a ; zero [$c1id] XXX what's [$c1id] for? - ld [hld], a ; zero [$c1ic] (directions in which collisions occurred) + ld [hld], a ; zero [i#SPRITESTATEDATA1_0D] XXX what's this for? + ld [hld], a ; zero [i#SPRITESTATEDATA1_COLLISIONDATA] ldh a, [hFF91] - ld [hld], a ; [$c1ib] = adjusted X coordinate + ld [hld], a ; [i#SPRITESTATEDATA1_XADJUSTED] ldh a, [hFF90] - ld [hl], a ; [$c1ia] = adjusted Y coordinate + ld [hl], a ; [i#SPRITESTATEDATA1_YADJUSTED] xor a ; zero the loop counter @@ -118,13 +119,13 @@ DetectCollisionBetweenSprites: jp z, .next ; go to the next sprite if they match ld d, h - ld a, [de] ; a = [$c1j0] (picture) (0 if slot is unused) + ld a, [de] ; a = [j#SPRITESTATEDATA1_PICTUREID] (0 if slot is unused) and a ; is this sprite slot slot used? jp z, .next ; go the next sprite if not used inc e inc e - ld a, [de] ; a = [$c1j2] ($ff means the sprite is offscreen) + ld a, [de] ; a = [j#SPRITESTATEDATA1_IMAGEINDEX] ($ff means the sprite is offscreen) inc a jp z, .next ; go the next sprite if offscreen @@ -133,11 +134,11 @@ DetectCollisionBetweenSprites: ld l, a inc e - ld a, [de] ; a = [$c1j3] (delta Y) + ld a, [de] ; a = [j#SPRITESTATEDATA1_YSTEPVECTOR] call SetSpriteCollisionValues inc e - ld a, [de] ; a = [$C1j4] (Y screen coordinate) + ld a, [de] ; a = [j#SPRITESTATEDATA1_YPIXELS] add 4 ; align with multiple of $10 ; The effect of the following 3 lines is to @@ -147,7 +148,7 @@ DetectCollisionBetweenSprites: and $f0 or c - sub [hl] ; subtract the adjusted Y coordinate of sprite i ([$c1ia]) from that of sprite j + sub [hl] ; subtract [i#SPRITESTATEDATA1_YADJUSTED] from [j#SPRITESTATEDATA1_YADJUSTED] ; calculate the absolute value of the difference to get the distance jr nc, .noCarry1 @@ -157,8 +158,8 @@ DetectCollisionBetweenSprites: ldh [hFF90], a ; store the distance between the two sprites' adjusted Y values ; Use the carry flag set by the above subtraction to determine which sprite's -; Y coordinate is larger. This information is used later to set [$c1ic], -; which stores which direction the collision occurred in. +; Y coordinate is larger. This information is used later to set +; [i#SPRITESTATEDATA1_COLLISIONDATA]. ; The following 5 lines set the lowest 2 bits of c, which are later shifted left by 2. ; If sprite i's Y is larger, set lowest 2 bits of c to 10. ; If sprite j's Y is larger or both are equal, set lowest 2 bits of c to 01. @@ -170,7 +171,7 @@ DetectCollisionBetweenSprites: ; If sprite i's delta Y is 0, then b = 7, else b = 9. ld b, 7 - ld a, [hl] ; a = [$c1ia] (adjusted Y coordinate) + ld a, [hl] ; a = [i#SPRITESTATEDATA1_YADJUSTED] and $f jr z, .next1 ld b, 9 @@ -186,7 +187,7 @@ DetectCollisionBetweenSprites: ; If sprite j's delta Y is 0, then b = 7, else b = 9. ld b, 7 dec e - ld a, [de] ; a = [$c1j3] (delta Y) + ld a, [de] ; a = [j#SPRITESTATEDATA1_YSTEPVECTOR] inc e and a jr z, .next2 @@ -201,13 +202,13 @@ DetectCollisionBetweenSprites: .checkXDistance inc e inc l - ld a, [de] ; a = [$c1j5] (delta X) + ld a, [de] ; a = [j#SPRITESTATEDATA1_XSTEPVECTOR] push bc call SetSpriteCollisionValues inc e - ld a, [de] ; a = [$c1j6] (X screen coordinate) + ld a, [de] ; a = [j#SPRITESTATEDATA1_XPIXELS] ; The effect of the following 3 lines is to ; add 7 to a if moving east or @@ -218,7 +219,7 @@ DetectCollisionBetweenSprites: pop bc - sub [hl] ; subtract the adjusted X coordinate of sprite i ([$c1ib]) from that of sprite j + sub [hl] ; subtract [i#SPRITESTATEDATA1_XADJUSTED] from [j#SPRITESTATEDATA1_XADJUSTED] ; calculate the absolute value of the difference to get the distance jr nc, .noCarry2 @@ -228,8 +229,8 @@ DetectCollisionBetweenSprites: ldh [hFF91], a ; store the distance between the two sprites' adjusted X values ; Use the carry flag set by the above subtraction to determine which sprite's -; X coordinate is larger. This information is used later to set [$c1ic], -; which stores which direction the collision occurred in. +; X coordinate is larger. This information is used later to set +; [i#SPRITESTATEDATA1_COLLISIONDATA]. ; The following 5 lines set the lowest 2 bits of c. ; If sprite i's X is larger, set lowest 2 bits of c to 10. ; If sprite j's X is larger or both are equal, set lowest 2 bits of c to 01. @@ -241,7 +242,7 @@ DetectCollisionBetweenSprites: ; If sprite i's delta X is 0, then b = 7, else b = 9. ld b, 7 - ld a, [hl] ; a = [$c1ib] (adjusted X coordinate) + ld a, [hl] ; a = [i#SPRITESTATEDATA1_XADJUSTED] and $f jr z, .next3 ld b, 9 @@ -257,7 +258,7 @@ DetectCollisionBetweenSprites: ; If sprite j's delta X is 0, then b = 7, else b = 9. ld b, 7 dec e - ld a, [de] ; a = [$c1j5] (delta X) + ld a, [de] ; a = [j#SPRITESTATEDATA1_XSTEPVECTOR] inc e and a jr z, .next4 @@ -287,11 +288,12 @@ DetectCollisionBetweenSprites: .next6 ld a, c ; c has 2 bits set (one of bits 0-1 is set for the X axis and one of bits 2-3 for the Y axis) and b ; we select either the bit in bits 0-1 or bits 2-3 based on the calculation immediately above - or [hl] ; or with existing collision direction bits in [$c1ic] + or [hl] ; or with existing collision direction bits in [i#SPRITESTATEDATA1_COLLISIONDATA] ld [hl], a ; store new value ld a, c ; useless code because a is overwritten before being used again -; set bit in [$c1ie] or [$c1if] to indicate which sprite the collision occurred with +; set bit in [i#SPRITESTATEDATA1_0E] or [i#SPRITESTATEDATA1_0F] +; to indicate which sprite the collision occurred with inc l inc l ldh a, [hFF8F] ; a = loop counter diff --git a/engine/overworld/trainer_sight.asm b/engine/overworld/trainer_sight.asm index 5046f5f6..816dea7f 100755 --- a/engine/overworld/trainer_sight.asm +++ b/engine/overworld/trainer_sight.asm @@ -1,77 +1,77 @@ _GetSpritePosition1:: ld hl, wSpriteStateData1 - ld de, wSpritePlayerStateData1YPixels - wSpritePlayerStateData1 + ld de, SPRITESTATEDATA1_YPIXELS ld a, [wSpriteIndex] ldh [hSpriteIndex], a call GetSpriteDataPointer - ld a, [hli] ; c1x4 (screen Y pos) + ld a, [hli] ; x#SPRITESTATEDATA1_YPIXELS ldh [hSpriteScreenYCoord], a inc hl - ld a, [hl] ; c1x6 (screen X pos) + ld a, [hl] ; x#SPRITESTATEDATA1_XPIXELS ldh [hSpriteScreenXCoord], a ld de, wSpritePlayerStateData2MapY - wSpritePlayerStateData1XPixels add hl, de - ld a, [hli] ; c2x4 (map Y pos) + ld a, [hli] ; x#SPRITESTATEDATA2_MAPY ldh [hSpriteMapYCoord], a - ld a, [hl] ; c2x5 (map X pos) + ld a, [hl] ; x#SPRITESTATEDATA2_MAPX ldh [hSpriteMapXCoord], a ret _GetSpritePosition2:: ld hl, wSpriteStateData1 - ld de, wSpritePlayerStateData1YPixels - wSpritePlayerStateData1 + ld de, SPRITESTATEDATA1_YPIXELS ld a, [wSpriteIndex] ldh [hSpriteIndex], a call GetSpriteDataPointer - ld a, [hli] ; c1x4 (screen Y pos) + ld a, [hli] ; x#SPRITESTATEDATA1_YPIXELS ld [wSavedSpriteScreenY], a inc hl - ld a, [hl] ; c1x6 (screen X pos) + ld a, [hl] ; x#SPRITESTATEDATA1_XPIXELS ld [wSavedSpriteScreenX], a ld de, wSpritePlayerStateData2MapY - wSpritePlayerStateData1XPixels add hl, de - ld a, [hli] ; c2x4 (map Y pos) + ld a, [hli] ; x#SPRITESTATEDATA2_MAPY ld [wSavedSpriteMapY], a - ld a, [hl] ; c2x5 (map X pos) + ld a, [hl] ; x#SPRITESTATEDATA2_MAPX ld [wSavedSpriteMapX], a ret _SetSpritePosition1:: ld hl, wSpriteStateData1 - ld de, wSpritePlayerStateData1YPixels - wSpritePlayerStateData1 + ld de, SPRITESTATEDATA1_YPIXELS ld a, [wSpriteIndex] ldh [hSpriteIndex], a call GetSpriteDataPointer - ldh a, [hSpriteScreenYCoord] ; c1x4 (screen Y pos) + ldh a, [hSpriteScreenYCoord] ; x#SPRITESTATEDATA1_YPIXELS ld [hli], a inc hl - ldh a, [hSpriteScreenXCoord] ; c1x6 (screen X pos) + ldh a, [hSpriteScreenXCoord] ; x#SPRITESTATEDATA1_XPIXELS ld [hl], a ld de, wSpritePlayerStateData2MapY - wSpritePlayerStateData1XPixels add hl, de - ldh a, [hSpriteMapYCoord] ; c2x4 (map Y pos) + ldh a, [hSpriteMapYCoord] ; x#SPRITESTATEDATA2_MAPY ld [hli], a - ldh a, [hSpriteMapXCoord] ; c2x5 (map X pos) + ldh a, [hSpriteMapXCoord] ; x#SPRITESTATEDATA2_MAPX ld [hl], a ret _SetSpritePosition2:: ld hl, wSpriteStateData1 - ld de, wSpritePlayerStateData1YPixels - wSpritePlayerStateData1 + ld de, SPRITESTATEDATA1_YPIXELS ld a, [wSpriteIndex] ldh [hSpriteIndex], a call GetSpriteDataPointer ld a, [wSavedSpriteScreenY] - ld [hli], a ; c1x4 (screen Y pos) + ld [hli], a ; x#SPRITESTATEDATA1_YPIXELS inc hl ld a, [wSavedSpriteScreenX] - ld [hl], a ; c1x6 (screen X pos) + ld [hl], a ; x#SPRITESTATEDATA1_XPIXELS ld de, wSpritePlayerStateData2MapY - wSpritePlayerStateData1XPixels add hl, de ld a, [wSavedSpriteMapY] - ld [hli], a ; c2x4 (map Y pos) + ld [hli], a ; x#SPRITESTATEDATA2_MAPY ld a, [wSavedSpriteMapX] - ld [hl], a ; c2x5 (map X pos) + ld [hl], a ; x#SPRITESTATEDATA2_MAPX ret TrainerWalkUpToPlayer:: @@ -165,23 +165,23 @@ TrainerEngage: push hl push de ld a, [wTrainerSpriteOffset] - add wSpritePlayerStateData1ImageIndex - wSpritePlayerStateData1 + add SPRITESTATEDATA1_IMAGEINDEX ld d, $0 ld e, a ld hl, wSpriteStateData1 add hl, de - ld a, [hl] ; c1x2: sprite image index + ld a, [hl] ; x#SPRITESTATEDATA1_IMAGEINDEX sub $ff jr nz, .spriteOnScreen ; test if sprite is on screen jp .noEngage .spriteOnScreen ld a, [wTrainerSpriteOffset] - add wSpritePlayerStateData1FacingDirection - wSpritePlayerStateData1 + add SPRITESTATEDATA1_FACINGDIRECTION ld d, $0 ld e, a ld hl, wSpriteStateData1 add hl, de - ld a, [hl] ; c1x9: facing direction + ld a, [hl] ; x#SPRITESTATEDATA1_FACINGDIRECTION ld [wTrainerFacingDirection], a call ReadTrainerScreenPosition ld a, [wTrainerScreenY] ; sprite screen Y pos @@ -234,20 +234,20 @@ TrainerEngage: ; reads trainer's Y position to wTrainerScreenY and X position to wTrainerScreenX ReadTrainerScreenPosition: ld a, [wTrainerSpriteOffset] - add wSpritePlayerStateData1YPixels - wSpritePlayerStateData1 + add SPRITESTATEDATA1_YPIXELS ld d, $0 ld e, a ld hl, wSpriteStateData1 add hl, de - ld a, [hl] ; c1x4 (sprite Y pos) + ld a, [hl] ; x#SPRITESTATEDATA1_YPIXELS ld [wTrainerScreenY], a ld a, [wTrainerSpriteOffset] - add wSpritePlayerStateData1XPixels - wSpritePlayerStateData1 + add SPRITESTATEDATA1_XPIXELS ld d, $0 ld e, a ld hl, wSpriteStateData1 add hl, de - ld a, [hl] ; c1x6 (sprite X pos) + ld a, [hl] ; x#SPRITESTATEDATA1_XPIXELS ld [wTrainerScreenX], a ret @@ -295,24 +295,24 @@ CheckPlayerIsInFrontOfSprite: cp POWER_PLANT jp z, .engage ; bypass this for power plant to get voltorb fake items to work ld a, [wTrainerSpriteOffset] - add wSpritePlayerStateData1YPixels - wSpritePlayerStateData1 + add SPRITESTATEDATA1_YPIXELS ld d, $0 ld e, a ld hl, wSpriteStateData1 add hl, de - ld a, [hl] ; c1x4 (sprite screen Y pos) + ld a, [hl] ; x#SPRITESTATEDATA1_YPIXELS cp $fc jr nz, .notOnTopmostTile ; special case if sprite is on topmost tile (Y = $fc (-4)), make it come down a block ld a, $c .notOnTopmostTile ld [wTrainerScreenY], a ld a, [wTrainerSpriteOffset] - add wSpritePlayerStateData1XPixels - wSpritePlayerStateData1 + add SPRITESTATEDATA1_XPIXELS ld d, $0 ld e, a ld hl, wSpriteStateData1 add hl, de - ld a, [hl] ; c1x6 (sprite screen X pos) + ld a, [hl] ; x#SPRITESTATEDATA1_XPIXELS ld [wTrainerScreenX], a ld a, [wTrainerFacingDirection] ; facing direction cp SPRITE_FACING_DOWN diff --git a/engine/overworld/turn_sprite.asm b/engine/overworld/turn_sprite.asm index 4ff58239..7b34a03a 100755 --- a/engine/overworld/turn_sprite.asm +++ b/engine/overworld/turn_sprite.asm @@ -1,25 +1,25 @@ UpdateSpriteFacingOffsetAndDelayMovement:: - ld h, $c2 + ld h, HIGH(wSpriteStateData2) ldh a, [hCurrentSpriteOffset] add $8 ld l, a ld a, $7f ; maximum movement delay - ld [hl], a ; c2x8 (movement delay) - dec h + ld [hl], a ; x#SPRITESTATEDATA2_MOVEMENTDELAY + dec h ; HIGH(wSpriteStateData1) ldh a, [hCurrentSpriteOffset] add $9 ld l, a - ld a, [hld] ; c1x9 (facing direction) + ld a, [hld] ; x#SPRITESTATEDATA1_FACINGDIRECTION ld b, a xor a ld [hld], a - ld [hl], a ; c1x8 (walk animation frame) + ld [hl], a ; x#SPRITESTATEDATA1_ANIMFRAMECOUNTER ldh a, [hCurrentSpriteOffset] - add $2 + add SPRITESTATEDATA1_IMAGEINDEX ld l, a - ld a, [hl] ; c1x2 (facing and animation table offset) + ld a, [hl] ; x#SPRITESTATEDATA1_IMAGEINDEX or b ; or in the facing direction ld [hld], a ld a, $2 ; delayed movement status - ld [hl], a ; c1x1 (movement status) + ld [hl], a ; x#SPRITESTATEDATA1_MOVEMENTSTATUS ret diff --git a/home/overworld.asm b/home/overworld.asm index af2a79b2..acc108c7 100644 --- a/home/overworld.asm +++ b/home/overworld.asm @@ -678,7 +678,7 @@ CheckMapConnections:: ld b, SET_PAL_OVERWORLD call RunPaletteCommand ; Since the sprite set shouldn't change, this will just update VRAM slots at -; $C2XE without loading any tile patterns. +; x#SPRITESTATEDATA2_IMAGEBASEOFFSET without loading any tile patterns. farcall InitMapSprites call LoadTileBlockMap jp OverworldLoopLessDelay @@ -1210,7 +1210,7 @@ IsSpriteInFrontOfPlayer2:: ld a, l and $f0 inc a - ld l, a ; hl = $c1x1 + ld l, a ; hl = x#SPRITESTATEDATA1_MOVEMENTSTATUS set 7, [hl] ; set flag to make the sprite face the player ld a, e ldh [hSpriteIndexOrTextID], a @@ -2167,7 +2167,7 @@ LoadMapHeader:: ld a, [hli] ld [wNumSprites], a ; save the number of sprites push hl -; zero C110-C1FF and C210-C2FF +; zero out sprite state data for sprites 01-15 ld hl, wSprite01StateData1 ld de, wSprite01StateData2 xor a @@ -2178,7 +2178,7 @@ LoadMapHeader:: inc e dec b jr nz, .zeroSpriteDataLoop -; initialize all C100-C1FF sprite entries to disabled (other than player's) +; disable SPRITESTATEDATA1_IMAGEINDEX (set to $ff) for sprites 01-15 ld hl, wSprite01StateData1ImageIndex ld de, $10 ld c, $0f @@ -2196,19 +2196,19 @@ LoadMapHeader:: ld c, $00 .loadSpriteLoop ld a, [hli] - ld [de], a ; store picture ID at C1X0 + ld [de], a ; x#SPRITESTATEDATA1_PICTUREID inc d ld a, $04 add e ld e, a ld a, [hli] - ld [de], a ; store Y position at C2X4 + ld [de], a ; x#SPRITESTATEDATA2_MAPY inc e ld a, [hli] - ld [de], a ; store X position at C2X5 + ld [de], a ; x#SPRITESTATEDATA2_MAPX inc e ld a, [hli] - ld [de], a ; store movement byte 1 at C2X6 + ld [de], a ; x#SPRITESTATEDATA2_MOVEMENTBYTE1 ld a, [hli] ldh [hLoadSpriteTemp1], a ; save movement byte 2 ld a, [hli] diff --git a/macros/wram.asm b/macros/wram.asm index 62464543..4c6b1dc6 100644 --- a/macros/wram.asm +++ b/macros/wram.asm @@ -71,7 +71,8 @@ spritestatedata1: MACRO \1IntraAnimFrameCounter:: db \1AnimFrameCounter:: db \1FacingDirection:: db - ds 2 +\1YAdjusted:: db +\1XAdjusted:: db \1CollisionData:: db ds 3 \1End:: diff --git a/wram.asm b/wram.asm index ab0d25d2..04718234 100755 --- a/wram.asm +++ b/wram.asm @@ -158,22 +158,23 @@ wSpriteStateData1:: ; data for all sprites on the current map ; holds info for 16 sprites with $10 bytes each ; player sprite is always sprite 0 -; C1x0: picture ID (fixed, loaded at map init) -; C1x1: movement status (0: uninitialized, 1: ready, 2: delayed, 3: moving) -; C1x2: sprite image index (changed on update, $ff if off screen, includes facing direction, progress in walking animation and a sprite-specific offset) -; C1x3: Y screen position delta (-1,0 or 1; added to c1x4 on each walking animation update) -; C1x4: Y screen position (in pixels, always 4 pixels above grid which makes sprites appear to be in the center of a tile) -; C1x5: X screen position delta (-1,0 or 1; added to c1x6 on each walking animation update) -; C1x6: X screen position (in pixels, snaps to grid if not currently walking) -; C1x7: intra-animation-frame counter (counting upwards to 4 until c1x8 is incremented) -; C1x8: animation frame counter (increased every 4 updates, hold four states (totalling to 16 walking frames) -; C1x9: facing direction (0: down, 4: up, 8: left, $c: right) -; C1xA -; C1xB -; C1xC -; C1xD -; C1xE -; C1xF +; struct fields: +; - 0: picture ID (fixed, loaded at map init) +; - 1: movement status (0: uninitialized, 1: ready, 2: delayed, 3: moving) +; - 2: sprite image index (changed on update, $ff if off screen, includes facing direction, progress in walking animation and a sprite-specific offset) +; - 3: Y screen position delta (-1,0 or 1; added to Y pixels on each walking animation update) +; - 4: Y screen position (in pixels, always 4 pixels above grid which makes sprites appear to be in the center of a tile) +; - 5: X screen position delta (-1,0 or 1; added to field X pixels on each walking animation update) +; - 6: X screen position (in pixels, snaps to grid if not currently walking) +; - 7: intra-animation-frame counter (counting upwards to 4 until animation frame counter is incremented) +; - 8: animation frame counter (increased every 4 updates, hold four states (totalling to 16 walking frames) +; - 9: facing direction ($0: down, $4: up, $8: left, $c: right) +; - A: adjusted Y coordinate +; - B: adjusted X coordinate +; - C: direction of collision +; - D +; - E +; - F wSpritePlayerStateData1:: spritestatedata1 wSpritePlayerStateData1 wSprite01StateData1:: spritestatedata1 wSprite01StateData1 wSprite02StateData1:: spritestatedata1 wSprite02StateData1 @@ -195,22 +196,23 @@ wSpriteStateData2:: ; more data for all sprites on the current map ; holds info for 16 sprites with $10 bytes each ; player sprite is always sprite 0 -; C2x0: walk animation counter (counting from $10 backwards when moving) -; C2x1: -; C2x2: Y displacement (initialized at 8, supposed to keep moving sprites from moving too far, but bugged) -; C2x3: X displacement (initialized at 8, supposed to keep moving sprites from moving too far, but bugged) -; C2x4: Y position (in 2x2 tile grid steps, topmost 2x2 tile has value 4) -; C2x5: X position (in 2x2 tile grid steps, leftmost 2x2 tile has value 4) -; C2x6: movement byte 1 (determines whether a sprite can move, $ff:not moving, $fe:random movements, others unknown) -; C2x7: (?) (set to $80 when in grass, else $0; may be used to draw grass above the sprite) -; C2x8: delay until next movement (counted downwards, status (c1x1) is set to ready if reached 0) -; C2x9 -; C2xA -; C2xB -; C2xC -; C2xD -; C2xE: sprite image base offset (in video ram, player always has value 1, used to compute c1x2) -; C2xF +; struct fields: +; - 0: walk animation counter (counting from $10 backwards when moving) +; - 1: +; - 2: Y displacement (initialized at 8, supposed to keep moving sprites from moving too far, but bugged) +; - 3: X displacement (initialized at 8, supposed to keep moving sprites from moving too far, but bugged) +; - 4: Y position (in 2x2 tile grid steps, topmost 2x2 tile has value 4) +; - 5: X position (in 2x2 tile grid steps, leftmost 2x2 tile has value 4) +; - 6: movement byte 1 (determines whether a sprite can move, $ff:not moving, $fe:random movements, others unknown) +; - 7: (?) (set to $80 when in grass, else $0; may be used to draw grass above the sprite) +; - 8: delay until next movement (counted downwards, movement status is set to ready if reached 0) +; - 9 +; - A +; - B +; - C +; - D: picture ID +; - E: sprite image base offset (in video ram, player always has value 1, used to compute sprite image index) +; - F wSpritePlayerStateData2:: spritestatedata2 wSpritePlayerStateData2 wSprite01StateData2:: spritestatedata2 wSprite01StateData2 wSprite02StateData2:: spritestatedata2 wSprite02StateData2 @@ -2577,7 +2579,7 @@ wMissableObjectFlagsEnd:: ds 7 -wd5cd:: ds 1 ; temp copy of c1x2 (sprite facing/anim) +wd5cd:: ds 1 ; temp copy of SPRITESTATEDATA1_IMAGEINDEX (used for sprite facing/anim) wMissableObjectList:: ; each entry consists of 2 bytes -- cgit v1.2.3 From b945988a0af9de9a37d95be8b117f395bc6e5592 Mon Sep 17 00:00:00 2001 From: Rangi Date: Tue, 7 Jul 2020 14:45:24 -0400 Subject: Names for more SECTIONs --- layout.link | 119 ++++++++++++++++++------------------------------------------ main.asm | 70 +++++++++++++++++++---------------- text.asm | 2 +- wram.asm | 2 +- 4 files changed, 76 insertions(+), 117 deletions(-) diff --git a/layout.link b/layout.link index d56a7886..5ea3558f 100644 --- a/layout.link +++ b/layout.link @@ -33,41 +33,33 @@ ROM0 "Header" org $150 "Home" - ROMX $1 "bank1" - ROMX $2 "Sound Effect Headers 1" "Music Headers 1" "Sound Effects 1" "Audio Engine 1" "Music 1" - ROMX $3 "bank3" - ROMX $4 "NPC Sprites 1" - "Graphics (BANK 4)" - "Battle (BANK 4)" - + "Font Graphics" + "Battle Engine 1" ROMX $5 "NPC Sprites 2" - "Battle (BANK 5)" - + "Battle Engine 2" ROMX $6 "Maps 1" - "bank6_1" + "Play Time" "Maps 2" - "bank6_2" - + "Doors and Ledges" ROMX $7 "Maps 3" - "bank7_1" + "Pokémon Names" "Maps 4" - "bank7_2" - + "Hidden Objects 1" ROMX $8 "Sound Effect Headers 2" "Music Headers 2" @@ -76,172 +68,131 @@ ROMX $8 "Bill's PC" "Audio Engine 2" "Music 2" - ROMX $9 "Pics 1" - "Battle (BANK 9)" - + "Battle Engine 3" ROMX $A "Pics 2" - "Battle (BANK A)" - + "Battle Engine 4" ROMX $B "Pics 3" - "Battle (BANK B)" - + "Battle Engine 5" ROMX $C "Pics 4" - "Battle (BANK C)" - + "Battle Engine 6" ROMX $D "Pics 5" - "Battle (BANK D)" - + "Slot Machines" ROMX $E - "bankE" - + "Battle Engine 7" ROMX $F - "bankF" - + "Battle Core" ROMX $10 "bank10" - ROMX $11 "Maps 5" - "bank11_1" + "Pokédex Rating" "Maps 6" - "bank11_2" - + "Hidden Objects Core" ROMX $12 "Maps 7" - "bank12" + "Screen Effects" "Maps 8" - ROMX $13 "Pics 6" "Maps 9" - "bank13" - + "Predefs" ROMX $14 "Maps 10" - "bank14" - + "Battle Engine 8" + "Hidden Objects 2" ROMX $15 "Maps 11" - "bank15_1" + "Battle Engine 9" "Maps 12" - "bank15_2" - + "Diploma" + "Trainer Sight" ROMX $16 "Maps 13" - "bank16_1" + "Battle Engine 10" "Maps 14" - "bank16_2" - + "Saffron Guards" ROMX $17 "Maps 15" - "bank17_1" + "Starter Dex" "Maps 16" - "bank17_2" - + "Hidden Objects 3" ROMX $18 "Maps 17" - "bank18_1" + "Cinnabar Lab Fossils" "Maps 18" - "bank18_2" - + "Hidden Objects 4" ROMX $19 "Tilesets 1" - ROMX $1A - "bank1A" + "Battle Engine 11" "Tilesets 2" - ROMX $1B "Tilesets 3" - ROMX $1C "bank1C" - ROMX $1D "Maps 19" - "bank1D_1" + "Itemfinder 1" "Maps 20" - "bank1D_2" + "Vending Machine" "Maps 21" - "bank1D_3" - + "Itemfinder 2" ROMX $1E "bank1E" - ROMX $1F "Sound Effect Headers 3" "Music Headers 3" "Sound Effects 3" "Audio Engine 3" "Music 3" - ROMX $20 "Text 1" - ROMX $21 "Text 2" - ROMX $22 "Text 3" - ROMX $23 "Text 4" - ROMX $24 "Text 5" - ROMX $25 "Text 6" - ROMX $26 "Text 7" - ROMX $27 "Text 8" - ROMX $28 "Text 9" - ROMX $29 "Text 10" - ROMX $2A "Text 11" - ROMX $2B - "Pokedex Text" - + "Pokédex Text" ROMX $2C "Move Names" - WRAM0 - "WRAM Bank 0" + "WRAM" org $c100 "Sprite State Data" "OAM Buffer" org $dfff "Stack" - VRAM "VRAM" - SRAM $0 "Sprite Buffers" - SRAM $1 "Save Data" - SRAM $2 "Saved Boxes 1" - SRAM $3 "Saved Boxes 2" - HRAM "HRAM" diff --git a/main.asm b/main.asm index b325a343..7738cd2f 100755 --- a/main.asm +++ b/main.asm @@ -78,12 +78,12 @@ INCLUDE "engine/events/hidden_objects/town_map.asm" INCLUDE "engine/events/hidden_objects/pokemon_stuff.asm" -SECTION "Graphics (BANK 4)", ROMX +SECTION "Font Graphics", ROMX INCLUDE "gfx/font.asm" -SECTION "Battle (BANK 4)", ROMX +SECTION "Battle Engine 1", ROMX INCLUDE "engine/overworld/is_player_just_outside_map.asm" INCLUDE "engine/pokemon/status_screen.asm" @@ -101,7 +101,7 @@ INCLUDE "engine/battle/get_trainer_name.asm" INCLUDE "engine/math/random.asm" -SECTION "Battle (BANK 5)", ROMX +SECTION "Battle Engine 2", ROMX INCLUDE "engine/gfx/load_pokedex_tiles.asm" INCLUDE "engine/overworld/map_sprites.asm" @@ -111,26 +111,26 @@ INCLUDE "engine/battle/move_effects/substitute.asm" INCLUDE "engine/menus/pc.asm" -SECTION "bank6_1", ROMX +SECTION "Play Time", ROMX INCLUDE "engine/play_time.asm" -SECTION "bank6_2", ROMX +SECTION "Doors and Ledges", ROMX INCLUDE "engine/overworld/auto_movement.asm" INCLUDE "engine/overworld/doors.asm" INCLUDE "engine/overworld/ledges.asm" -SECTION "bank7_1", ROMX +SECTION "Pokémon Names", ROMX INCLUDE "data/pokemon/names.asm" INCLUDE "engine/movie/oak_speech/clear_save.asm" INCLUDE "engine/events/elevator.asm" -SECTION "bank7_2", ROMX +SECTION "Hidden Objects 1", ROMX INCLUDE "engine/menus/oaks_pc.asm" INCLUDE "engine/events/hidden_objects/new_bike.asm" @@ -147,19 +147,19 @@ SECTION "Bill's PC", ROMX INCLUDE "engine/pokemon/bills_pc.asm" -SECTION "Battle (BANK 9)", ROMX +SECTION "Battle Engine 3", ROMX INCLUDE "engine/battle/print_type.asm" INCLUDE "engine/battle/save_trainer_name.asm" INCLUDE "engine/battle/move_effects/focus_energy.asm" -SECTION "Battle (BANK A)", ROMX +SECTION "Battle Engine 4", ROMX INCLUDE "engine/battle/move_effects/leech_seed.asm" -SECTION "Battle (BANK B)", ROMX +SECTION "Battle Engine 5", ROMX INCLUDE "engine/battle/display_effectiveness.asm" INCLUDE "gfx/trainer_card.asm" @@ -169,13 +169,13 @@ INCLUDE "engine/battle/move_effects/pay_day.asm" INCLUDE "engine/slots/game_corner_slots2.asm" -SECTION "Battle (BANK C)", ROMX +SECTION "Battle Engine 6", ROMX INCLUDE "engine/battle/move_effects/mist.asm" INCLUDE "engine/battle/move_effects/one_hit_ko.asm" -SECTION "Battle (BANK D)", ROMX +SECTION "Slot Machines", ROMX INCLUDE "engine/movie/title2.asm" INCLUDE "engine/battle/link_battle_versus_text.asm" @@ -185,7 +185,7 @@ INCLUDE "engine/math/multiply_divide.asm" INCLUDE "engine/slots/game_corner_slots.asm" -SECTION "bankE", ROMX +SECTION "Battle Engine 7", ROMX INCLUDE "data/moves/moves.asm" INCLUDE "data/pokemon/base_stats.asm" @@ -201,7 +201,7 @@ INCLUDE "engine/battle/move_effects/transform.asm" INCLUDE "engine/battle/move_effects/reflect_light_screen.asm" -SECTION "bankF", ROMX +SECTION "Battle Core", ROMX INCLUDE "engine/battle/core.asm" INCLUDE "engine/battle/effects.asm" @@ -215,31 +215,35 @@ INCLUDE "engine/movie/intro.asm" INCLUDE "engine/movie/trade2.asm" -SECTION "bank11_1", ROMX +SECTION "Pokédex Rating", ROMX INCLUDE "engine/events/pokedex_rating.asm" -SECTION "bank11_2", ROMX +SECTION "Hidden Objects Core", ROMX INCLUDE "engine/overworld/hidden_objects.asm" -SECTION "bank12", ROMX +SECTION "Screen Effects", ROMX INCLUDE "engine/gfx/screen_effects.asm" -SECTION "bank13", ROMX +SECTION "Predefs", ROMX INCLUDE "engine/events/give_pokemon.asm" INCLUDE "engine/predefs.asm" -SECTION "bank14", ROMX +SECTION "Battle Engine 8", ROMX INCLUDE "engine/battle/init_battle_variables.asm" INCLUDE "engine/battle/move_effects/paralyze.asm" + + +SECTION "Hidden Objects 2", ROMX + INCLUDE "engine/events/card_key.asm" INCLUDE "engine/events/prize_menu.asm" INCLUDE "engine/events/hidden_objects/school_notebooks.asm" @@ -247,35 +251,39 @@ INCLUDE "engine/events/hidden_objects/fighting_dojo.asm" INCLUDE "engine/events/hidden_objects/indigo_plateau_hq.asm" -SECTION "bank15_1", ROMX +SECTION "Battle Engine 9", ROMX INCLUDE "engine/battle/experience.asm" -SECTION "bank15_2", ROMX +SECTION "Diploma", ROMX INCLUDE "engine/events/diploma.asm" + + +SECTION "Trainer Sight", ROMX + INCLUDE "engine/overworld/trainer_sight.asm" -SECTION "bank16_1", ROMX +SECTION "Battle Engine 10", ROMX INCLUDE "engine/battle/common_text.asm" INCLUDE "engine/pokemon/experience.asm" INCLUDE "engine/events/oaks_aide.asm" -SECTION "bank16_2", ROMX +SECTION "Saffron Guards", ROMX INCLUDE "engine/events/saffron_guards.asm" -SECTION "bank17_1", ROMX +SECTION "Starter Dex", ROMX INCLUDE "engine/events/starter_dex.asm" -SECTION "bank17_2", ROMX +SECTION "Hidden Objects 3", ROMX INCLUDE "engine/pokemon/set_types.asm" INCLUDE "engine/events/hidden_objects/reds_room.asm" @@ -285,12 +293,12 @@ INCLUDE "engine/events/hidden_objects/school_blackboard.asm" INCLUDE "engine/events/hidden_objects/vermilion_gym_trash.asm" -SECTION "bank18_1", ROMX +SECTION "Cinnabar Lab Fossils", ROMX INCLUDE "engine/events/cinnabar_lab.asm" -SECTION "bank18_2", ROMX +SECTION "Hidden Objects 4", ROMX INCLUDE "engine/events/hidden_objects/gym_statues.asm" INCLUDE "engine/events/hidden_objects/bench_guys.asm" @@ -298,7 +306,7 @@ INCLUDE "engine/events/hidden_objects/blues_room.asm" INCLUDE "engine/events/hidden_objects/pokecenter_pc.asm" -SECTION "bank1A", ROMX +SECTION "Battle Engine 11", ROMX INCLUDE "engine/battle/decrement_pp.asm" INCLUDE "gfx/version.asm" @@ -319,19 +327,19 @@ INCLUDE "engine/gfx/palettes.asm" INCLUDE "engine/menus/save.asm" -SECTION "bank1D_1", ROMX +SECTION "Itemfinder 1", ROMX INCLUDE "engine/movie/credits.asm" INCLUDE "engine/pokemon/status_ailments.asm" INCLUDE "engine/items/itemfinder.asm" -SECTION "bank1D_2", ROMX +SECTION "Vending Machine", ROMX INCLUDE "engine/events/vending_machine.asm" -SECTION "bank1D_3", ROMX +SECTION "Itemfinder 2", ROMX INCLUDE "engine/menus/league_pc.asm" INCLUDE "engine/events/hidden_items.asm" diff --git a/text.asm b/text.asm index d15f258a..be17bfc6 100644 --- a/text.asm +++ b/text.asm @@ -270,7 +270,7 @@ SECTION "Text 11", ROMX INCLUDE "data/text/text_7.asm" -SECTION "Pokedex Text", ROMX +SECTION "Pokédex Text", ROMX INCLUDE "data/pokemon/dex_text.asm" diff --git a/wram.asm b/wram.asm index 04718234..db5b7476 100755 --- a/wram.asm +++ b/wram.asm @@ -6,7 +6,7 @@ INCLUDE "macros/wram.asm" INCLUDE "vram.asm" -SECTION "WRAM Bank 0", WRAM0 +SECTION "WRAM", WRAM0 wUnusedC000:: ds 1 -- cgit v1.2.3 From 4a7d1513f3135a3c926233d47921b21bf8b1fab4 Mon Sep 17 00:00:00 2001 From: Rangi Date: Tue, 7 Jul 2020 15:09:54 -0400 Subject: Use 'tile' and 'tiles' macros --- data/icon_pointers.asm | 175 +++++------------------- engine/battle/animations.asm | 3 +- engine/battle/battle_transitions.asm | 8 +- engine/battle/core.asm | 8 +- engine/battle/draw_hud_pokeball_gfx.asm | 2 +- engine/events/diploma.asm | 2 +- engine/events/hidden_objects/museum_fossils.asm | 2 +- engine/gfx/load_pokedex_tiles.asm | 6 +- engine/gfx/mon_icons.asm | 4 +- engine/items/town_map.asm | 12 +- engine/link/cable_club.asm | 2 +- engine/menus/naming_screen.asm | 2 +- engine/menus/start_sub_menus.asm | 34 ++--- engine/movie/credits.asm | 14 +- engine/movie/gamefreak.asm | 14 +- engine/movie/title.asm | 18 +-- engine/movie/trade.asm | 4 +- engine/overworld/cut.asm | 24 ++-- engine/overworld/dust_smoke.asm | 6 +- engine/overworld/emotion_bubbles.asm | 4 +- engine/overworld/healing_machine.asm | 4 +- engine/overworld/ledges.asm | 2 +- engine/overworld/map_sprites.asm | 8 +- engine/overworld/player_animations.asm | 36 +++-- engine/pokemon/bills_pc.asm | 4 +- engine/pokemon/status_screen.asm | 24 ++-- engine/slots/slot_machine.asm | 9 +- home.asm | 8 +- home/vcopy.asm | 4 +- scripts/RocketHideoutB2F.asm | 48 +++---- 30 files changed, 188 insertions(+), 303 deletions(-) diff --git a/data/icon_pointers.asm b/data/icon_pointers.asm index b615798e..585a0a29 100644 --- a/data/icon_pointers.asm +++ b/data/icon_pointers.asm @@ -1,140 +1,37 @@ -MonPartySpritePointers: - dw SlowbroSprite + $c0 - db $40 / $10 ; 40 bytes - db BANK(SlowbroSprite) - dw vSprites - - dw BallSprite - db $80 / $10 ; $80 bytes - db BANK(BallSprite) - dw vSprites + $40 - - dw ClefairySprite + $c0 - db $40 / $10 ; $40 bytes - db BANK(ClefairySprite) - dw vSprites + $c0 - - dw BirdSprite + $c0 - db $40 / $10 ; $40 bytes - db BANK(BirdSprite) - dw vSprites + $100 - - dw SeelSprite - db $40 / $10 ; $40 bytes - db BANK(SeelSprite) - dw vSprites + $140 - - dw BugIconFrame2 - db $10 / $10 ; $10 bytes - db BANK(BugIconFrame2) - dw vSprites + $180 - - dw BugIconFrame2 + $10 - db $10 / $10 ; $10 bytes - db BANK(BugIconFrame2) - dw vSprites + $1a0 - - dw PlantIconFrame2 - db $10 / $10 ; $10 bytes - db BANK(PlantIconFrame2) - dw vSprites + $1c0 - - dw PlantIconFrame2 + $10 - db $10 / $10 ; $10 bytes - db BANK(PlantIconFrame2) - dw vSprites + $1e0 - - dw SnakeIconFrame1 - db $10 / $10 ; $10 bytes - db BANK(SnakeIconFrame1) - dw vSprites + $200 - - dw SnakeIconFrame1 + $10 - db $10 / $10 ; $10 bytes - db BANK(SnakeIconFrame1) - dw vSprites + $220 - - dw QuadrupedIconFrame1 - db $10 / $10 ; $10 bytes - db BANK(QuadrupedIconFrame1) - dw vSprites + $240 - - dw QuadrupedIconFrame1 + $10 - db $10 / $10 ; $10 bytes - db BANK(QuadrupedIconFrame1) - dw vSprites + $260 - - dw TradeBubbleIconGFX - db $40 / $10 ; $40 bytes - db BANK(TradeBubbleIconGFX) - dw vSprites + $380 +mon_icon_header: MACRO + dw \1 tile \2 + db \3 + db BANK(\1) + dw vSprites tile \4 +ENDM - dw SlowbroSprite - db $40 / $10 ; $40 bytes - db BANK(SlowbroSprite) - dw vSprites + $400 - - dw BallSprite - db $80 / $10 ; $80 bytes - db BANK(BallSprite) - dw vSprites + $440 - - dw ClefairySprite - db $40 / $10 ; $40 bytes - db BANK(ClefairySprite) - dw vSprites + $4c0 - - dw BirdSprite - db $40 / $10 ; $40 bytes - db BANK(BirdSprite) - dw vSprites + $500 - - dw SeelSprite + $C0 - db $40 / $10 ; $40 bytes - db BANK(SeelSprite) - dw vSprites + $540 - - dw BugIconFrame1 - db $10 / $10 ; $10 bytes - db BANK(BugIconFrame1) - dw vSprites + $580 - - dw BugIconFrame1 + $10 - db $10 / $10 ; $10 bytes - db BANK(BugIconFrame1) - dw vSprites + $5a0 - - dw PlantIconFrame1 - db $10 / $10 ; $10 bytes - db BANK(PlantIconFrame1) - dw vSprites + $5c0 - - dw PlantIconFrame1 + $10 - db $10 / $10 ; $10 bytes - db BANK(PlantIconFrame1) - dw vSprites + $5E0 - - dw SnakeIconFrame2 - db $10 / $10 ; $10 bytes - db BANK(SnakeIconFrame2) - dw vSprites + $600 - - dw SnakeIconFrame2 + $10 - db $10 / $10 ; $10 bytes - db BANK(SnakeIconFrame2) - dw vSprites + $620 - - dw QuadrupedIconFrame2 - db $10 / $10 ; $10 bytes - db BANK(QuadrupedIconFrame2) - dw vSprites + $640 - - dw QuadrupedIconFrame2 + $10 - db $10 / $10 ; $10 bytes - db BANK(QuadrupedIconFrame2) - dw vSprites + $660 - - dw TradeBubbleIconGFX + $40 - db $40 / $10 ; $40 bytes - db BANK(TradeBubbleIconGFX) - dw vSprites + $780 +MonPartySpritePointers: +; gfx pointer, gfx tile offset, # tiles, vSprites tile offset + mon_icon_header SlowbroSprite, 12, 4, $00 + mon_icon_header BallSprite, 0, 8, $04 + mon_icon_header ClefairySprite, 12, 4, $0c + mon_icon_header BirdSprite, 12, 4, $10 + mon_icon_header SeelSprite, 0, 4, $14 + mon_icon_header BugIconFrame2, 0, 1, $18 + mon_icon_header BugIconFrame2, 1, 1, $1a + mon_icon_header PlantIconFrame2, 0, 1, $1c + mon_icon_header PlantIconFrame2, 1, 1, $1e + mon_icon_header SnakeIconFrame1, 0, 1, $20 + mon_icon_header SnakeIconFrame1, 1, 1, $22 + mon_icon_header QuadrupedIconFrame1, 0, 1, $24 + mon_icon_header QuadrupedIconFrame1, 1, 1, $26 + mon_icon_header TradeBubbleIconGFX, 0, 4, $38 + mon_icon_header SlowbroSprite, 0, 4, $40 + mon_icon_header BallSprite, 0, 8, $44 + mon_icon_header ClefairySprite, 0, 4, $4c + mon_icon_header BirdSprite, 0, 4, $50 + mon_icon_header SeelSprite, 12, 4, $54 + mon_icon_header BugIconFrame1, 0, 1, $58 + mon_icon_header BugIconFrame1, 1, 1, $5a + mon_icon_header PlantIconFrame1, 0, 1, $5c + mon_icon_header PlantIconFrame1, 1, 1, $5e + mon_icon_header SnakeIconFrame2, 0, 1, $60 + mon_icon_header SnakeIconFrame2, 1, 1, $62 + mon_icon_header QuadrupedIconFrame2, 0, 1, $64 + mon_icon_header QuadrupedIconFrame2, 1, 1, $66 + mon_icon_header TradeBubbleIconGFX, 4, 4, $78 diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index 9f7b728a..4e836510 100755 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -341,7 +341,7 @@ LoadAnimationTileset: ld e, a ld a, [hl] ld d, a ; de = address of tileset - ld hl, vSprites + $310 + ld hl, vSprites tile $31 ld b, BANK(AnimationTileset1) ; ROM bank ld a, [wTempTilesetNumTiles] ld c, a ; number of tiles @@ -373,6 +373,7 @@ ENDC IF DEF(_BLUE) INCBIN "gfx/slots/blue_slots_2.2bpp" ENDC +SlotMachineTiles2End: MoveAnimation: push hl diff --git a/engine/battle/battle_transitions.asm b/engine/battle/battle_transitions.asm index e563855d..34b3fbdb 100644 --- a/engine/battle/battle_transitions.asm +++ b/engine/battle/battle_transitions.asm @@ -154,14 +154,12 @@ GetBattleTransitionID_IsDungeonMap: INCLUDE "data/maps/dungeon_maps.asm" LoadBattleTransitionTile: - ld hl, vChars1 + $7f0 + ld hl, vChars1 tile $7f ld de, BattleTransitionTile - lb bc, BANK(BattleTransitionTile), (BattleTransitionTileEnd - BattleTransitionTile) / $10 + lb bc, BANK(BattleTransitionTile), 1 jp CopyVideoData -BattleTransitionTile: - INCBIN "gfx/overworld/battle_transition.2bpp" -BattleTransitionTileEnd: +BattleTransitionTile: INCBIN "gfx/overworld/battle_transition.2bpp" BattleTransition_BlackScreen: ld a, $ff diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 859f30d5..5cf8a45d 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -6610,22 +6610,22 @@ LoadHudTilePatterns: jr c, .lcdEnabled .lcdDisabled ld hl, BattleHudTiles1 - ld de, vChars2 + $6d0 + ld de, vChars2 tile $6d ld bc, BattleHudTiles1End - BattleHudTiles1 ld a, BANK(BattleHudTiles1) call FarCopyDataDouble ld hl, BattleHudTiles2 - ld de, vChars2 + $730 + ld de, vChars2 tile $73 ld bc, BattleHudTiles3End - BattleHudTiles2 ld a, BANK(BattleHudTiles2) jp FarCopyDataDouble .lcdEnabled ld de, BattleHudTiles1 - ld hl, vChars2 + $6d0 + ld hl, vChars2 tile $6d lb bc, BANK(BattleHudTiles1), (BattleHudTiles1End - BattleHudTiles1) / $8 call CopyVideoDataDouble ld de, BattleHudTiles2 - ld hl, vChars2 + $730 + ld hl, vChars2 tile $73 lb bc, BANK(BattleHudTiles2), (BattleHudTiles3End - BattleHudTiles2) / $8 jp CopyVideoDataDouble diff --git a/engine/battle/draw_hud_pokeball_gfx.asm b/engine/battle/draw_hud_pokeball_gfx.asm index 8cd9528d..097a0fcc 100644 --- a/engine/battle/draw_hud_pokeball_gfx.asm +++ b/engine/battle/draw_hud_pokeball_gfx.asm @@ -12,7 +12,7 @@ DrawEnemyPokeballs: LoadPartyPokeballGfx: ld de, PokeballTileGraphics - ld hl, vSprites + $310 + ld hl, vSprites tile $31 lb bc, BANK(PokeballTileGraphics), (PokeballTileGraphicsEnd - PokeballTileGraphics) / $10 jp CopyVideoData diff --git a/engine/events/diploma.asm b/engine/events/diploma.asm index 3248e152..c282b49b 100755 --- a/engine/events/diploma.asm +++ b/engine/events/diploma.asm @@ -10,7 +10,7 @@ DisplayDiploma:: set 6, [hl] call DisableLCD ld hl, CircleTile - ld de, vChars2 + CIRCLE_TILE_ID * $10 + ld de, vChars2 tile CIRCLE_TILE_ID ld bc, $10 ld a, BANK(CircleTile) call FarCopyData2 diff --git a/engine/events/hidden_objects/museum_fossils.asm b/engine/events/hidden_objects/museum_fossils.asm index 5d7e08fd..27714981 100644 --- a/engine/events/hidden_objects/museum_fossils.asm +++ b/engine/events/hidden_objects/museum_fossils.asm @@ -38,7 +38,7 @@ DisplayMonFrontSpriteInBox: ld a, [wcf91] ld [wd0b5], a call GetMonHeader - ld de, vChars1 + $310 + ld de, vChars1 tile $31 call LoadMonFrontSprite ld a, $80 ldh [hStartTileID], a diff --git a/engine/gfx/load_pokedex_tiles.asm b/engine/gfx/load_pokedex_tiles.asm index 70bcf04d..a3f69171 100755 --- a/engine/gfx/load_pokedex_tiles.asm +++ b/engine/gfx/load_pokedex_tiles.asm @@ -2,10 +2,10 @@ LoadPokedexTilePatterns: call LoadHpBarAndStatusTilePatterns ld de, PokedexTileGraphics - ld hl, vChars2 + $600 + ld hl, vChars2 tile $60 lb bc, BANK(PokedexTileGraphics), (PokedexTileGraphicsEnd - PokedexTileGraphics) / $10 call CopyVideoData ld de, PokeballTileGraphics - ld hl, vChars2 + $720 - lb bc, BANK(PokeballTileGraphics), $01 + ld hl, vChars2 tile $72 + lb bc, BANK(PokeballTileGraphics), 1 jp CopyVideoData ; load pokeball tile for marking caught mons diff --git a/engine/gfx/mon_icons.asm b/engine/gfx/mon_icons.asm index 253fca35..8dd6fe75 100755 --- a/engine/gfx/mon_icons.asm +++ b/engine/gfx/mon_icons.asm @@ -201,11 +201,11 @@ UnusedPartyMonSpriteFunction: ld a, [wcf91] call GetPartyMonSpriteID push af - ld hl, vSprites + ld hl, vSprites tile $00 call .LoadTilePatterns pop af add $54 - ld hl, vSprites + $40 + ld hl, vSprites tile $04 call .LoadTilePatterns xor a ld [wMonPartySpriteSpecies], a diff --git a/engine/items/town_map.asm b/engine/items/town_map.asm index db066268..83ea81bf 100755 --- a/engine/items/town_map.asm +++ b/engine/items/town_map.asm @@ -18,7 +18,7 @@ DisplayTownMap: ld de, wTileMapBackup ld bc, $10 call CopyData - ld hl, vSprites + $40 + ld hl, vSprites tile $04 ld de, TownMapCursor lb bc, BANK(TownMapCursor), (TownMapCursorEnd - TownMapCursor) / $8 call CopyVideoDataDouble @@ -140,11 +140,11 @@ LoadTownMap_Fly:: call LoadPlayerSpriteGraphics call LoadFontTilePatterns ld de, BirdSprite - ld hl, vSprites + $40 - lb bc, BANK(BirdSprite), $c + ld hl, vSprites tile $04 + lb bc, BANK(BirdSprite), 12 call CopyVideoData ld de, TownMapUpArrow - ld hl, vChars1 + $6d0 + ld hl, vChars1 tile $6d lb bc, BANK(TownMapUpArrow), (TownMapUpArrowEnd - TownMapUpArrow) / $8 call CopyVideoDataDouble call BuildFlyLocationsList @@ -284,12 +284,12 @@ LoadTownMap: call TextBoxBorder call DisableLCD ld hl, WorldMapTileGraphics - ld de, vChars2 + $600 + ld de, vChars2 tile $60 ld bc, WorldMapTileGraphicsEnd - WorldMapTileGraphics ld a, BANK(WorldMapTileGraphics) call FarCopyData2 ld hl, MonNestIcon - ld de, vSprites + $40 + ld de, vSprites tile $04 ld bc, MonNestIconEnd - MonNestIcon ld a, BANK(MonNestIcon) call FarCopyDataDouble diff --git a/engine/link/cable_club.asm b/engine/link/cable_club.asm index 42d06846..67c0e471 100755 --- a/engine/link/cable_club.asm +++ b/engine/link/cable_club.asm @@ -972,6 +972,6 @@ CableClub_DrawHorizontalLine: LoadTrainerInfoTextBoxTiles: ld de, TrainerInfoTextBoxTileGraphics - ld hl, vChars2 + $760 + ld hl, vChars2 tile $76 lb bc, BANK(TrainerInfoTextBoxTileGraphics), (TrainerInfoTextBoxTileGraphicsEnd - TrainerInfoTextBoxTileGraphics) / $10 jp CopyVideoData diff --git a/engine/menus/naming_screen.asm b/engine/menus/naming_screen.asm index a16c9501..8ca2ec9b 100755 --- a/engine/menus/naming_screen.asm +++ b/engine/menus/naming_screen.asm @@ -325,7 +325,7 @@ DisplayNamingScreen: LoadEDTile: ld de, ED_Tile - ld hl, vFont + $700 + ld hl, vFont tile $70 ld bc, (ED_TileEnd - ED_Tile) / $8 ; to fix the graphical bug on poor emulators ;lb bc, BANK(ED_Tile), (ED_TileEnd - ED_Tile) / $8 diff --git a/engine/menus/start_sub_menus.asm b/engine/menus/start_sub_menus.asm index 8f1a2d61..a845592f 100755 --- a/engine/menus/start_sub_menus.asm +++ b/engine/menus/start_sub_menus.asm @@ -485,39 +485,39 @@ DrawTrainerInfo: call TrainerInfo_DrawVerticalLine hlcoord 1, 2 call TrainerInfo_DrawVerticalLine - ld hl, vChars2 + $70 - ld de, vChars2 - ld bc, $70 * 4 + ld hl, vChars2 tile $07 + ld de, vChars2 tile $00 + ld bc, $1c tiles call CopyData ld hl, TrainerInfoTextBoxTileGraphics ; trainer info text box tile patterns - ld de, vChars2 + $770 - ld bc, $80 + ld de, vChars2 tile $77 + ld bc, 8 tiles push bc call TrainerInfo_FarCopyData ld hl, BlankLeaderNames - ld de, vChars2 + $600 - ld bc, $170 + ld de, vChars2 tile $60 + ld bc, $17 tiles call TrainerInfo_FarCopyData pop bc ld hl, BadgeNumbersTileGraphics ; badge number tile patterns - ld de, vChars1 + $580 + ld de, vChars1 tile $58 call TrainerInfo_FarCopyData ld hl, GymLeaderFaceAndBadgeTileGraphics ; gym leader face and badge tile patterns - ld de, vChars2 + $200 - ld bc, $400 - ld a, $03 + ld de, vChars2 tile $20 + ld bc, 8 * 8 tiles + ld a, BANK(GymLeaderFaceAndBadgeTileGraphics) call FarCopyData2 ld hl, TextBoxGraphics - ld de, $d0 + ld de, 13 tiles add hl, de ; hl = colon tile pattern - ld de, vChars1 + $560 - ld bc, $10 - ld a, $04 + ld de, vChars1 tile $56 + ld bc, 1 tiles + ld a, BANK(TextBoxGraphics) push bc call FarCopyData2 pop bc - ld hl, TrainerInfoTextBoxTileGraphics + $80 ; background tile pattern - ld de, vChars1 + $570 + ld hl, TrainerInfoTextBoxTileGraphics tile 8 ; background tile pattern + ld de, vChars1 tile $57 call TrainerInfo_FarCopyData call EnableLCD ld hl, wTrainerInfoTextBoxWidthPlus1 diff --git a/engine/movie/credits.asm b/engine/movie/credits.asm index ae35a2b7..6fb0598e 100755 --- a/engine/movie/credits.asm +++ b/engine/movie/credits.asm @@ -5,14 +5,14 @@ HallOfFamePC: call DelayFrames call DisableLCD ld hl, vFont - ld bc, $800 / 2 + ld bc, ($80 tiles) / 2 call ZeroMemory - ld hl, vChars2 + $600 - ld bc, $200 / 2 + ld hl, vChars2 tile $60 + ld bc, ($20 tiles) / 2 call ZeroMemory - ld hl, vChars2 + $7e0 - ld bc, $10 - ld a, $ff + ld hl, vChars2 tile $7e + ld bc, 1 tiles + ld a, $ff ; solid black call FillMemory hlcoord 0, 0 call FillFourRowsWithBlack @@ -245,7 +245,7 @@ Credits: call FillMiddleOfScreenWithWhite pop de ld de, TheEndGfx - ld hl, vChars2 + $600 + ld hl, vChars2 tile $60 lb bc, BANK(TheEndGfx), (TheEndGfxEnd - TheEndGfx) / $10 call CopyVideoData hlcoord 4, 8 diff --git a/engine/movie/gamefreak.asm b/engine/movie/gamefreak.asm index d3b5eb88..1463eb4f 100755 --- a/engine/movie/gamefreak.asm +++ b/engine/movie/gamefreak.asm @@ -3,16 +3,16 @@ LoadShootingStarGraphics: ldh [rOBP0], a ld a, $a4 ldh [rOBP1], a - ld de, AnimationTileset2 + $30 ; star tile (top left quadrant) - ld hl, vChars1 + $200 - lb bc, BANK(AnimationTileset2), $01 + ld de, AnimationTileset2 tile 3 ; star tile (top left quadrant) + ld hl, vChars1 tile $20 + lb bc, BANK(AnimationTileset2), 1 call CopyVideoData - ld de, AnimationTileset2 + $130 ; star tile (bottom left quadrant) - ld hl, vChars1 + $210 - lb bc, BANK(AnimationTileset2), $01 + ld de, AnimationTileset2 tile 19 ; star tile (bottom left quadrant) + ld hl, vChars1 tile $21 + lb bc, BANK(AnimationTileset2), 1 call CopyVideoData ld de, FallingStar - ld hl, vChars1 + $220 + ld hl, vChars1 tile $22 lb bc, BANK(FallingStar), (FallingStarEnd - FallingStar) / $10 call CopyVideoData ld hl, GameFreakLogoOAMData diff --git a/engine/movie/title.asm b/engine/movie/title.asm index 69838afb..bdb24d6a 100755 --- a/engine/movie/title.asm +++ b/engine/movie/title.asm @@ -36,27 +36,27 @@ DisplayTitleScreen: call DisableLCD call LoadFontTilePatterns ld hl, NintendoCopyrightLogoGraphics - ld de, vTitleLogo2 + $100 - ld bc, $50 + ld de, vTitleLogo2 tile 16 + ld bc, 5 tiles ld a, BANK(NintendoCopyrightLogoGraphics) call FarCopyData2 ld hl, GamefreakLogoGraphics - ld de, vTitleLogo2 + $100 + $50 - ld bc, $90 + ld de, vTitleLogo2 tile (16 + 5) + ld bc, 9 tiles ld a, BANK(GamefreakLogoGraphics) call FarCopyData2 ld hl, PokemonLogoGraphics ld de, vTitleLogo - ld bc, $600 + ld bc, $60 tiles ld a, BANK(PokemonLogoGraphics) call FarCopyData2 ; first chunk - ld hl, PokemonLogoGraphics+$600 + ld hl, PokemonLogoGraphics tile $60 ld de, vTitleLogo2 - ld bc, $100 + ld bc, $10 tiles ld a, BANK(PokemonLogoGraphics) call FarCopyData2 ; second chunk ld hl, Version_GFX - ld de, vChars2 + $600 - (Version_GFXEnd - Version_GFX - $50) + ld de, vChars2 tile $60 + (10 tiles - (Version_GFXEnd - Version_GFX) * 2) / 2 ld bc, Version_GFXEnd - Version_GFX ld a, BANK(Version_GFX) call FarCopyDataDouble @@ -369,7 +369,7 @@ LoadCopyrightAndTextBoxTiles: LoadCopyrightTiles: ld de, NintendoCopyrightLogoGraphics - ld hl, vChars2 + $600 + ld hl, vChars2 tile $60 lb bc, BANK(NintendoCopyrightLogoGraphics), (GamefreakLogoGraphicsEnd - NintendoCopyrightLogoGraphics) / $10 call CopyVideoData hlcoord 2, 7 diff --git a/engine/movie/trade.asm b/engine/movie/trade.asm index 3883c362..fc2da9bd 100755 --- a/engine/movie/trade.asm +++ b/engine/movie/trade.asm @@ -157,12 +157,12 @@ LoadTradingGFXAndMonNames: call Trade_ClearTileMap call DisableLCD ld hl, TradingAnimationGraphics - ld de, vChars2 + $310 + ld de, vChars2 tile $31 ld bc, TradingAnimationGraphicsEnd - TradingAnimationGraphics ld a, BANK(TradingAnimationGraphics) call FarCopyData2 ld hl, TradingAnimationGraphics2 - ld de, vSprites + $7c0 + ld de, vSprites tile $7c ld bc, TradingAnimationGraphics2End - TradingAnimationGraphics2 ld a, BANK(TradingAnimationGraphics2) call FarCopyData2 diff --git a/engine/overworld/cut.asm b/engine/overworld/cut.asm index 97842079..07039e03 100755 --- a/engine/overworld/cut.asm +++ b/engine/overworld/cut.asm @@ -80,23 +80,23 @@ InitCutAnimOAM: cp $52 jr z, .grass ; tree - ld de, Overworld_GFX + $2d0 ; cuttable tree sprite top row - ld hl, vChars1 + $7c0 - lb bc, BANK(Overworld_GFX), $02 + ld de, Overworld_GFX tile $2d ; cuttable tree sprite top row + ld hl, vChars1 tile $7c + lb bc, BANK(Overworld_GFX), 2 call CopyVideoData - ld de, Overworld_GFX + $3d0 ; cuttable tree sprite bottom row - ld hl, vChars1 + $7e0 - lb bc, BANK(Overworld_GFX), $02 + ld de, Overworld_GFX tile $3d ; cuttable tree sprite bottom row + ld hl, vChars1 tile $7e + lb bc, BANK(Overworld_GFX), 2 call CopyVideoData jr WriteCutOrBoulderDustAnimationOAMBlock .grass - ld hl, vChars1 + $7c0 + ld hl, vChars1 tile $7c call LoadCutGrassAnimationTilePattern - ld hl, vChars1 + $7d0 + ld hl, vChars1 tile $7d call LoadCutGrassAnimationTilePattern - ld hl, vChars1 + $7e0 + ld hl, vChars1 tile $7e call LoadCutGrassAnimationTilePattern - ld hl, vChars1 + $7f0 + ld hl, vChars1 tile $7f call LoadCutGrassAnimationTilePattern call WriteCutOrBoulderDustAnimationOAMBlock ld hl, wOAMBuffer + $93 @@ -112,8 +112,8 @@ InitCutAnimOAM: ret LoadCutGrassAnimationTilePattern: - ld de, AnimationTileset2 + $60 ; tile depicting a leaf - lb bc, BANK(AnimationTileset2), $01 + ld de, AnimationTileset2 tile 6 ; tile depicting a leaf + lb bc, BANK(AnimationTileset2), 1 jp CopyVideoData WriteCutOrBoulderDustAnimationOAMBlock: diff --git a/engine/overworld/dust_smoke.asm b/engine/overworld/dust_smoke.asm index 09a71a18..a20a0591 100755 --- a/engine/overworld/dust_smoke.asm +++ b/engine/overworld/dust_smoke.asm @@ -69,14 +69,14 @@ MoveBoulderDustFunctionPointerTable: dw AdjustOAMBlockXPos LoadSmokeTileFourTimes:: - ld hl, vChars1 + $7c0 - ld c, $4 + ld hl, vChars1 tile $7c + ld c, 4 .loop push bc push hl call LoadSmokeTile pop hl - ld bc, $10 + ld bc, 1 tiles add hl, bc pop bc dec c diff --git a/engine/overworld/emotion_bubbles.asm b/engine/overworld/emotion_bubbles.asm index 1ac07b80..298858a2 100755 --- a/engine/overworld/emotion_bubbles.asm +++ b/engine/overworld/emotion_bubbles.asm @@ -8,8 +8,8 @@ EmotionBubble: ld e, [hl] inc hl ld d, [hl] - ld hl, vChars1 + $780 - lb bc, BANK(EmotionBubbles), $04 + ld hl, vChars1 tile $78 + lb bc, BANK(EmotionBubbles), 4 call CopyVideoData ld a, [wUpdateSpritesEnabled] push af diff --git a/engine/overworld/healing_machine.asm b/engine/overworld/healing_machine.asm index 062ef7ea..eaa396d0 100755 --- a/engine/overworld/healing_machine.asm +++ b/engine/overworld/healing_machine.asm @@ -1,7 +1,7 @@ AnimateHealingMachine: ld de, PokeCenterFlashingMonitorAndHealBall - ld hl, vChars0 + $7c0 - lb bc, BANK(PokeCenterFlashingMonitorAndHealBall), $03 ; loads one too many tiles + ld hl, vChars0 tile $7c + lb bc, BANK(PokeCenterFlashingMonitorAndHealBall), 3 ; should be 2 call CopyVideoData ld hl, wUpdateSpritesEnabled ld a, [hl] diff --git a/engine/overworld/ledges.asm b/engine/overworld/ledges.asm index 254680a5..0e006c5e 100755 --- a/engine/overworld/ledges.asm +++ b/engine/overworld/ledges.asm @@ -57,7 +57,7 @@ HandleLedges:: INCLUDE "data/tilesets/ledge_tiles.asm" LoadHoppingShadowOAM: - ld hl, vChars1 + $7f0 + ld hl, vChars1 tile $7f ld de, LedgeHoppingShadow lb bc, BANK(LedgeHoppingShadow), (LedgeHoppingShadowEnd - LedgeHoppingShadow) / $8 call CopyVideoDataDouble diff --git a/engine/overworld/map_sprites.asm b/engine/overworld/map_sprites.asm index 4a68169a..8f1f3931 100755 --- a/engine/overworld/map_sprites.asm +++ b/engine/overworld/map_sprites.asm @@ -130,25 +130,25 @@ LoadMapSpriteTilePatterns: push de push bc ld hl, vNPCSprites ; VRAM base address - ld bc, $c0 ; number of bytes per VRAM slot + ld bc, 12 tiles ; number of bytes per VRAM slot ldh a, [hVRAMSlot] cp 11 ; is it a 4-tile sprite? jr nc, .fourTileSpriteVRAMAddr ld d, a dec d -; hl = vSprites + [hVRAMSlot] * $C0 (the number of bytes in 12 tiles) +; hl = vSprites + [hVRAMSlot] * 12 tiles .calculateVRAMAddrLoop add hl, bc dec d jr nz, .calculateVRAMAddrLoop jr .loadStillTilePattern .fourTileSpriteVRAMAddr - ld hl, vSprites + $7c0 ; address for second 4-tile sprite + ld hl, vSprites tile $7c ; address for second 4-tile sprite ldh a, [hFourTileSpriteCount] and a jr nz, .loadStillTilePattern ; if it's the first 4-tile sprite - ld hl, vSprites + $780 ; address for first 4-tile sprite + ld hl, vSprites tile $78 ; address for first 4-tile sprite inc a ldh [hFourTileSpriteCount], a .loadStillTilePattern diff --git a/engine/overworld/player_animations.asm b/engine/overworld/player_animations.asm index 69c1eefc..9e9b4073 100755 --- a/engine/overworld/player_animations.asm +++ b/engine/overworld/player_animations.asm @@ -250,11 +250,11 @@ DoFlyAnimation: LoadBirdSpriteGraphics: ld de, BirdSprite ld hl, vNPCSprites - lb bc, BANK(BirdSprite), $0c + lb bc, BANK(BirdSprite), 12 call CopyVideoData - ld de, BirdSprite + $c0 ; moving animation sprite + ld de, BirdSprite tile 12 ; moving animation sprite ld hl, vNPCSprites2 - lb bc, BANK(BirdSprite), $0c + lb bc, BANK(BirdSprite), 12 jp CopyVideoData InitFacingDirectionList: @@ -381,8 +381,8 @@ FishingAnim: ld hl, wd736 set 6, [hl] ; reserve the last 4 OAM entries ld de, RedSprite - ld hl, vNPCSprites - lb bc, BANK(RedSprite), $c + ld hl, vNPCSprites tile $00 + lb bc, BANK(RedSprite), 12 call CopyVideoData ld a, $4 ld hl, RedFishingTiles @@ -479,22 +479,18 @@ FishingRodOAM: db $50, $40, $FE, $00 ; player facing left db $50, $58, $FE, $20 ; player facing right ($20 means "horizontally flip the tile") -RedFishingTiles: - dw RedFishingTilesFront - db 2, BANK(RedFishingTilesFront) - dw vNPCSprites + $20 +fishing_gfx: MACRO + dw \1 + db \2 + db BANK(\1) + dw vNPCSprites tile \3 +ENDM - dw RedFishingTilesBack - db 2, BANK(RedFishingTilesBack) - dw vNPCSprites + $60 - - dw RedFishingTilesSide - db 2, BANK(RedFishingTilesSide) - dw vNPCSprites + $a0 - - dw RedFishingRodTiles - db 3, BANK(RedFishingRodTiles) - dw vNPCSprites2 + $7d0 +RedFishingTiles: + fishing_gfx RedFishingTilesFront, 2, $02 + fishing_gfx RedFishingTilesBack, 2, $06 + fishing_gfx RedFishingTilesSide, 2, $0a + fishing_gfx RedFishingRodTiles, 3, $fd _HandleMidJump:: ld a, [wPlayerJumpingYScreenCoordsIndex] diff --git a/engine/pokemon/bills_pc.asm b/engine/pokemon/bills_pc.asm index 0b514111..df02a496 100644 --- a/engine/pokemon/bills_pc.asm +++ b/engine/pokemon/bills_pc.asm @@ -114,9 +114,9 @@ BillsPC_:: BillsPCMenu: ld a, [wParentMenuItem] ld [wCurrentMenuItem], a - ld hl, vChars2 + $780 + ld hl, vChars2 tile $78 ld de, PokeballTileGraphics - lb bc, BANK(PokeballTileGraphics), $01 + lb bc, BANK(PokeballTileGraphics), 1 call CopyVideoData call LoadScreenTilesFromBuffer2DisableBGTransfer hlcoord 0, 0 diff --git a/engine/pokemon/status_screen.asm b/engine/pokemon/status_screen.asm index 83d33fe5..d4a4e59a 100755 --- a/engine/pokemon/status_screen.asm +++ b/engine/pokemon/status_screen.asm @@ -86,21 +86,21 @@ StatusScreen: call UpdateSprites call LoadHpBarAndStatusTilePatterns ld de, BattleHudTiles1 ; source - ld hl, vChars2 + $6d0 ; dest - lb bc, BANK(BattleHudTiles1), $03 + ld hl, vChars2 tile $6d ; dest + lb bc, BANK(BattleHudTiles1), 3 call CopyVideoDataDouble ; ·│ :L and halfarrow line end ld de, BattleHudTiles2 - ld hl, vChars2 + $780 - lb bc, BANK(BattleHudTiles2), $01 + ld hl, vChars2 tile $78 + lb bc, BANK(BattleHudTiles2), 1 call CopyVideoDataDouble ; │ ld de, BattleHudTiles3 - ld hl, vChars2 + $760 - lb bc, BANK(BattleHudTiles3), $02 - call CopyVideoDataDouble ; ─┘ + ld hl, vChars2 tile $76 + lb bc, BANK(BattleHudTiles3), 2 + call CopyVideoDataDouble ; ─ ┘ ld de, PTile - ld hl, vChars2 + $720 - lb bc, BANK(PTile), (PTileEnd - PTile) / $8 - call CopyVideoDataDouble ; P (for PP), inline + ld hl, vChars2 tile $72 + lb bc, BANK(PTile), 1 + call CopyVideoDataDouble ; bold P (for PP) ldh a, [hTilesetType] push af xor a @@ -244,9 +244,7 @@ DrawLineBox: ld [hl], $6f ; ← (halfarrow ending) ret -PTile: - INCBIN "gfx/font/P.1bpp" -PTileEnd: +PTile: INCBIN "gfx/font/P.1bpp" PrintStatsBox: ld a, d diff --git a/engine/slots/slot_machine.asm b/engine/slots/slot_machine.asm index a1326240..9af17a81 100755 --- a/engine/slots/slot_machine.asm +++ b/engine/slots/slot_machine.asm @@ -850,17 +850,17 @@ LoadSlotMachineTiles: call DisableLCD ld hl, SlotMachineTiles2 ld de, vChars0 - ld bc, $1c0 + ld bc, $1c tiles ; should be SlotMachineTiles2End - SlotMachineTiles2, or $18 tiles ld a, BANK(SlotMachineTiles2) call FarCopyData2 ld hl, SlotMachineTiles1 ld de, vChars2 - ld bc, $250 + ld bc, SlotMachineTiles1End - SlotMachineTiles1 ld a, BANK(SlotMachineTiles1) call FarCopyData2 ld hl, SlotMachineTiles2 - ld de, vChars2 + $250 - ld bc, $1c0 + ld de, vChars2 tile $25 + ld bc, $1c tiles ; should be SlotMachineTiles2End - SlotMachineTiles2, or $18 tiles ld a, BANK(SlotMachineTiles2) call FarCopyData2 ld hl, SlotMachineMap @@ -890,3 +890,4 @@ ENDC IF DEF(_BLUE) INCBIN "gfx/slots/blue_slots_1.2bpp" ENDC +SlotMachineTiles1End: diff --git a/home.asm b/home.asm index 037a3444..6735e23c 100644 --- a/home.asm +++ b/home.asm @@ -820,13 +820,13 @@ LoadTextBoxTilePatterns:: jr nz, .on .off ld hl, TextBoxGraphics - ld de, vChars2 + $600 + ld de, vChars2 tile $60 ld bc, TextBoxGraphicsEnd - TextBoxGraphics ld a, BANK(TextBoxGraphics) jp FarCopyData2 ; if LCD is off, transfer all at once .on ld de, TextBoxGraphics - ld hl, vChars2 + $600 + ld hl, vChars2 tile $60 lb bc, BANK(TextBoxGraphics), (TextBoxGraphicsEnd - TextBoxGraphics) / $10 jp CopyVideoData ; if LCD is on, transfer during V-blank @@ -836,13 +836,13 @@ LoadHpBarAndStatusTilePatterns:: jr nz, .on .off ld hl, HpBarAndStatusGraphics - ld de, vChars2 + $620 + ld de, vChars2 tile $62 ld bc, HpBarAndStatusGraphicsEnd - HpBarAndStatusGraphics ld a, BANK(HpBarAndStatusGraphics) jp FarCopyData2 ; if LCD is off, transfer all at once .on ld de, HpBarAndStatusGraphics - ld hl, vChars2 + $620 + ld hl, vChars2 tile $62 lb bc, BANK(HpBarAndStatusGraphics), (HpBarAndStatusGraphicsEnd - HpBarAndStatusGraphics) / $10 jp CopyVideoData ; if LCD is on, transfer during V-blank diff --git a/home/vcopy.asm b/home/vcopy.asm index 1a7863e9..458fa610 100644 --- a/home/vcopy.asm +++ b/home/vcopy.asm @@ -393,7 +393,7 @@ UpdateMovingBgTiles:: ; water - ld hl, vTileset + $14 * $10 + ld hl, vTileset tile $14 ld c, $10 ld a, [wMovingBGTilesCounter2] @@ -438,7 +438,7 @@ UpdateMovingBgTiles:: jr z, .copy ld hl, FlowerTile3 .copy - ld de, vTileset + $3 * $10 + ld de, vTileset tile $03 ld c, $10 .loop ld a, [hli] diff --git a/scripts/RocketHideoutB2F.asm b/scripts/RocketHideoutB2F.asm index 95d8b0d2..47c0581c 100755 --- a/scripts/RocketHideoutB2F.asm +++ b/scripts/RocketHideoutB2F.asm @@ -367,38 +367,32 @@ LoadSpinnerArrowTiles:: spinner: MACRO ; \1: source ; \2: offset (BANK() chokes on literals) -; \3: length -; \4: dest - dw \1 + \2 - db \3, BANK(\1) - dw \4 +; \3: dest + dw \1 tile \2 + db 1 + db BANK(\1) + dw vTileset tile \3 ENDM FacilitySpinnerArrows: -FACILITY_SPINNER EQU $20 * $10 -vFacilitySpinner EQUS "vTileset + FACILITY_SPINNER" - - spinner SpinnerArrowAnimTiles, $00, 1, vFacilitySpinner - spinner SpinnerArrowAnimTiles, $10, 1, vFacilitySpinner + $10 - spinner SpinnerArrowAnimTiles, $20, 1, vFacilitySpinner + $100 - spinner SpinnerArrowAnimTiles, $30, 1, vFacilitySpinner + $110 - spinner Facility_GFX, FACILITY_SPINNER + $000, 1, vFacilitySpinner - spinner Facility_GFX, FACILITY_SPINNER + $010, 1, vFacilitySpinner + $10 - spinner Facility_GFX, FACILITY_SPINNER + $100, 1, vFacilitySpinner + $100 - spinner Facility_GFX, FACILITY_SPINNER + $110, 1, vFacilitySpinner + $110 + spinner SpinnerArrowAnimTiles, 0, $20 + spinner SpinnerArrowAnimTiles, 1, $21 + spinner SpinnerArrowAnimTiles, 2, $30 + spinner SpinnerArrowAnimTiles, 3, $31 + spinner Facility_GFX, $20, $20 + spinner Facility_GFX, $21, $21 + spinner Facility_GFX, $30, $30 + spinner Facility_GFX, $31, $31 GymSpinnerArrows: -GYM_SPINNER EQU $3c * $10 -vGymSpinner EQUS "vTileset + GYM_SPINNER" - - spinner SpinnerArrowAnimTiles, $10, 1, vGymSpinner - spinner SpinnerArrowAnimTiles, $30, 1, vGymSpinner + $10 - spinner SpinnerArrowAnimTiles, $00, 1, vGymSpinner + $100 - spinner SpinnerArrowAnimTiles, $20, 1, vGymSpinner + $110 - spinner Gym_GFX, GYM_SPINNER + $000, 1, vGymSpinner - spinner Gym_GFX, GYM_SPINNER + $010, 1, vGymSpinner + $10 - spinner Gym_GFX, GYM_SPINNER + $100, 1, vGymSpinner + $100 - spinner Gym_GFX, GYM_SPINNER + $110, 1, vGymSpinner + $110 + spinner SpinnerArrowAnimTiles, 1, $3c + spinner SpinnerArrowAnimTiles, 3, $3d + spinner SpinnerArrowAnimTiles, 0, $4c + spinner SpinnerArrowAnimTiles, 2, $4d + spinner Gym_GFX, $3c, $3c + spinner Gym_GFX, $3d, $3d + spinner Gym_GFX, $4c, $4c + spinner Gym_GFX, $4d, $4d SpinnerPlayerFacingDirections: ; This isn't the order of the facing directions. Rather, it's a list of -- cgit v1.2.3 From 51ac538c25f8c0a6d88101569a17f02d09855d31 Mon Sep 17 00:00:00 2001 From: Rangi Date: Tue, 7 Jul 2020 16:57:51 -0400 Subject: Identify SPRITESTATEDATA2_ORIGFACINGDIRECTION --- constants/map_object_constants.asm | 2 +- engine/menus/display_text_id_init.asm | 8 ++++---- home/text_script.asm | 6 +++--- macros/wram.asm | 3 ++- wram.asm | 2 +- 5 files changed, 11 insertions(+), 10 deletions(-) diff --git a/constants/map_object_constants.asm b/constants/map_object_constants.asm index 4c44e946..459fae4a 100644 --- a/constants/map_object_constants.asm +++ b/constants/map_object_constants.asm @@ -29,7 +29,7 @@ SPRITESTATEDATA1_LENGTH EQU const_value const SPRITESTATEDATA2_MOVEMENTBYTE1 ; 6 const SPRITESTATEDATA2_GRASSPRIORITY ; 7 const SPRITESTATEDATA2_MOVEMENTDELAY ; 8 - const SPRITESTATEDATA2_09 ; 9 + const SPRITESTATEDATA2_ORIGFACINGDIRECTION ; 9 const SPRITESTATEDATA2_0A ; a const SPRITESTATEDATA2_0B ; b const SPRITESTATEDATA2_0C ; c diff --git a/engine/menus/display_text_id_init.asm b/engine/menus/display_text_id_init.asm index c147eaf6..6ce76e7f 100644 --- a/engine/menus/display_text_id_init.asm +++ b/engine/menus/display_text_id_init.asm @@ -38,17 +38,17 @@ DisplayTextIDInit:: jr nz, .skipMovingSprites call UpdateSprites .skipMovingSprites -; loop to copy [x#SPRITESTATEDATA1_FACINGDIRECTION] to [x#SPRITESTATEDATA2_09] -; for each sprite from x=01 to x=15 +; loop to copy [x#SPRITESTATEDATA1_FACINGDIRECTION] to +; [x#SPRITESTATEDATA2_ORIGFACINGDIRECTION] for each non-player sprite ; this is done because when you talk to an NPC, they turn to look your way ; the original direction they were facing must be restored after the dialogue is over ld hl, wSprite01StateData1FacingDirection ld c, $0f ld de, $10 .spriteFacingDirectionCopyLoop - ld a, [hl] + ld a, [hl] ; x#SPRITESTATEDATA1_FACINGDIRECTION inc h - ld [hl], a + ld [hl], a ; [x#SPRITESTATEDATA2_ORIGFACINGDIRECTION] dec h add hl, de dec c diff --git a/home/text_script.asm b/home/text_script.asm index 1baa3d64..b9c3c8e4 100644 --- a/home/text_script.asm +++ b/home/text_script.asm @@ -111,13 +111,13 @@ CloseTextDisplay:: xor a ldh [hAutoBGTransferEnabled], a ; disable continuous WRAM to VRAM transfer each V-blank ; loop to make sprites face the directions they originally faced before the dialogue - ld hl, wSprite01StateData2 + 9 ; should be wSprite01StateData1FacingDirection? + ld hl, wSprite01StateData2OrigFacingDirection ld c, $0f ld de, $10 .restoreSpriteFacingDirectionLoop - ld a, [hl] + ld a, [hl] ; x#SPRITESTATEDATA2_ORIGFACINGDIRECTION dec h - ld [hl], a + ld [hl], a ; [x#SPRITESTATEDATA1_FACINGDIRECTION] inc h add hl, de dec c diff --git a/macros/wram.asm b/macros/wram.asm index 4c6b1dc6..41fd1dad 100644 --- a/macros/wram.asm +++ b/macros/wram.asm @@ -88,7 +88,8 @@ spritestatedata2: MACRO \1MovementByte1:: db \1GrassPriority:: db \1MovementDelay:: db - ds 4 +\1OrigFacingDirection:: db + ds 3 \1PictureID:: db \1ImageBaseOffset:: db ds 1 diff --git a/wram.asm b/wram.asm index db5b7476..98f890fd 100755 --- a/wram.asm +++ b/wram.asm @@ -206,7 +206,7 @@ wSpriteStateData2:: ; - 6: movement byte 1 (determines whether a sprite can move, $ff:not moving, $fe:random movements, others unknown) ; - 7: (?) (set to $80 when in grass, else $0; may be used to draw grass above the sprite) ; - 8: delay until next movement (counted downwards, movement status is set to ready if reached 0) -; - 9 +; - 9: original facing direction (backed up by DisplayTextIDInit, restored by CloseTextDisplay) ; - A ; - B ; - C -- cgit v1.2.3 From bbf2f51a02b2544f1bef32a5868503b474ae2fef Mon Sep 17 00:00:00 2001 From: Rangi Date: Tue, 7 Jul 2020 18:50:58 -0400 Subject: Move all code out of home.asm into home/ This results in 64 home/*.asm files, comparable to pokecrystal's 57. --- home.asm | 1795 +----------------------------------------- home/array.asm | 21 + home/array2.asm | 47 ++ home/compare.asm | 11 + home/copy_string.asm | 13 + home/count_set_bits.asm | 24 + home/delay.asm | 31 + home/fade_audio.asm | 48 ++ home/give.asm | 26 + home/hidden_objects.asm | 39 + home/inventory.asm | 55 ++ home/item.asm | 49 ++ home/item_price.asm | 44 ++ home/joypad2.asm | 95 +++ home/load_font.asm | 47 ++ home/map_objects.asm | 248 ++++++ home/math.asm | 41 + home/money.asm | 15 + home/move_mon.asm | 15 + home/npc_movement.asm | 54 ++ home/oam.asm | 36 + home/overworld.asm | 51 ++ home/palettes.asm | 57 ++ home/pathfinding.asm | 65 ++ home/predef_text.asm | 28 + home/print_text.asm | 45 ++ home/random.asm | 12 + home/reload_sprites.asm | 19 + home/reload_tiles.asm | 41 + home/reset_player_sprite.asm | 20 + home/textbox.asm | 16 + home/tilemap.asm | 61 ++ home/trainers2.asm | 35 + home/update_sprites.asm | 14 + home/window.asm | 294 +++++++ 35 files changed, 1754 insertions(+), 1758 deletions(-) create mode 100644 home/array.asm create mode 100644 home/array2.asm create mode 100644 home/compare.asm create mode 100644 home/copy_string.asm create mode 100644 home/count_set_bits.asm create mode 100644 home/delay.asm create mode 100644 home/fade_audio.asm create mode 100644 home/give.asm create mode 100644 home/hidden_objects.asm create mode 100644 home/inventory.asm create mode 100644 home/item.asm create mode 100644 home/item_price.asm create mode 100644 home/joypad2.asm create mode 100644 home/load_font.asm create mode 100644 home/map_objects.asm create mode 100644 home/math.asm create mode 100644 home/money.asm create mode 100644 home/npc_movement.asm create mode 100644 home/oam.asm create mode 100644 home/palettes.asm create mode 100644 home/pathfinding.asm create mode 100644 home/predef_text.asm create mode 100644 home/print_text.asm create mode 100644 home/random.asm create mode 100644 home/reload_sprites.asm create mode 100644 home/reload_tiles.asm create mode 100644 home/reset_player_sprite.asm create mode 100644 home/textbox.asm create mode 100644 home/tilemap.asm create mode 100644 home/trainers2.asm create mode 100644 home/update_sprites.asm create mode 100644 home/window.asm diff --git a/home.asm b/home.asm index 6735e23c..ee507c21 100644 --- a/home.asm +++ b/home.asm @@ -18,64 +18,16 @@ SECTION "Home", ROM0 INCLUDE "home/start.asm" INCLUDE "home/joypad.asm" -INCLUDE "data/maps/map_header_pointers.asm" -INCLUDE "home/overworld.asm" - -CheckForUserInterruption:: -; Return carry if Up+Select+B, Start or A are pressed in c frames. -; Used only in the intro and title screen. - call DelayFrame - - push bc - call JoypadLowSensitivity - pop bc - - ldh a, [hJoyHeld] - cp D_UP + SELECT + B_BUTTON - jr z, .input - - ldh a, [hJoy5] - and START | A_BUTTON - jr nz, .input - - dec c - jr nz, CheckForUserInterruption - - and a - ret - -.input - scf - ret -; function to load position data for destination warp when switching maps -; INPUT: -; a = ID of destination warp within destination map -LoadDestinationWarpPosition:: - ld b, a - ldh a, [hLoadedROMBank] - push af - ld a, [wPredefParentBank] - ldh [hLoadedROMBank], a - ld [MBC1RomBank], a - ld a, b - add a - add a - ld c, a - ld b, 0 - add hl, bc - ld bc, 4 - ld de, wCurrentTileBlockMapViewPointer - call CopyData - pop af - ldh [hLoadedROMBank], a - ld [MBC1RomBank], a - ret +INCLUDE "data/maps/map_header_pointers.asm" +INCLUDE "home/overworld.asm" INCLUDE "home/pokemon.asm" INCLUDE "home/print_bcd.asm" INCLUDE "home/pics.asm" + INCLUDE "data/tilesets/collision_tile_ids.asm" + INCLUDE "home/copy2.asm" INCLUDE "home/text.asm" INCLUDE "home/vcopy.asm" @@ -85,1724 +37,51 @@ INCLUDE "home/fade.asm" INCLUDE "home/serial.asm" INCLUDE "home/timer.asm" INCLUDE "home/audio.asm" - -UpdateSprites:: - ld a, [wUpdateSpritesEnabled] - dec a - ret nz - ldh a, [hLoadedROMBank] - push af - ld a, BANK(_UpdateSprites) - ldh [hLoadedROMBank], a - ld [MBC1RomBank], a - call _UpdateSprites - pop af - ldh [hLoadedROMBank], a - ld [MBC1RomBank], a - ret +INCLUDE "home/update_sprites.asm" INCLUDE "data/items/marts.asm" + INCLUDE "home/overworld_text.asm" INCLUDE "home/uncompress.asm" - -ResetPlayerSpriteData:: - ld hl, wSpriteStateData1 - call ResetPlayerSpriteData_ClearSpriteData - ld hl, wSpriteStateData2 - call ResetPlayerSpriteData_ClearSpriteData - ld a, $1 - ld [wSpritePlayerStateData1PictureID], a - ld [wSpritePlayerStateData2ImageBaseOffset], a - ld hl, wSpritePlayerStateData1YPixels - ld [hl], $3c ; set Y screen pos - inc hl - inc hl - ld [hl], $40 ; set X screen pos - ret - -; overwrites sprite data with zeroes -ResetPlayerSpriteData_ClearSpriteData:: - ld bc, $10 - xor a - jp FillMemory - -FadeOutAudio:: - ld a, [wAudioFadeOutControl] - and a ; currently fading out audio? - jr nz, .fadingOut - ld a, [wd72c] - bit 1, a - ret nz - ld a, $77 - ldh [rNR50], a - ret -.fadingOut - ld a, [wAudioFadeOutCounter] - and a - jr z, .counterReachedZero - dec a - ld [wAudioFadeOutCounter], a - ret -.counterReachedZero - ld a, [wAudioFadeOutCounterReloadValue] - ld [wAudioFadeOutCounter], a - ldh a, [rNR50] - and a ; has the volume reached 0? - jr z, .fadeOutComplete - ld b, a - and $f - dec a - ld c, a - ld a, b - and $f0 - swap a - dec a - swap a - or c - ldh [rNR50], a - ret -.fadeOutComplete - ld a, [wAudioFadeOutControl] - ld b, a - xor a - ld [wAudioFadeOutControl], a - ld a, SFX_STOP_ALL_MUSIC - ld [wNewSoundID], a - call PlaySound - ld a, [wAudioSavedROMBank] - ld [wAudioROMBank], a - ld a, b - ld [wNewSoundID], a - jp PlaySound - +INCLUDE "home/reset_player_sprite.asm" +INCLUDE "home/fade_audio.asm" INCLUDE "home/text_script.asm" INCLUDE "home/start_menu.asm" - -; function to count how many bits are set in a string of bytes -; INPUT: -; hl = address of string of bytes -; b = length of string of bytes -; OUTPUT: -; [wNumSetBits] = number of set bits -CountSetBits:: - ld c, 0 -.loop - ld a, [hli] - ld e, a - ld d, 8 -.innerLoop ; count how many bits are set in the current byte - srl e - ld a, 0 - adc c - ld c, a - dec d - jr nz, .innerLoop - dec b - jr nz, .loop - ld a, c - ld [wNumSetBits], a - ret - -; subtracts the amount the player paid from their money -; OUTPUT: carry = 0(success) or 1(fail because there is not enough money) -SubtractAmountPaidFromMoney:: - farjp SubtractAmountPaidFromMoney_ - -; adds the amount the player sold to their money -AddAmountSoldToMoney:: - ld de, wPlayerMoney + 2 - ld hl, hMoney + 2 ; total price of items - ld c, 3 ; length of money in bytes - predef AddBCDPredef ; add total price to money - ld a, MONEY_BOX - ld [wTextBoxID], a - call DisplayTextBoxID ; redraw money text box - ld a, SFX_PURCHASE - call PlaySoundWaitForCurrent - jp WaitForSoundToFinish - -; function to remove an item (in varying quantities) from the player's bag or PC box -; INPUT: -; HL = address of inventory (either wNumBagItems or wNumBoxItems) -; [wWhichPokemon] = index (within the inventory) of the item to remove -; [wItemQuantity] = quantity to remove -RemoveItemFromInventory:: - ldh a, [hLoadedROMBank] - push af - ld a, BANK(RemoveItemFromInventory_) - ldh [hLoadedROMBank], a - ld [MBC1RomBank], a - call RemoveItemFromInventory_ - pop af - ldh [hLoadedROMBank], a - ld [MBC1RomBank], a - ret - -; function to add an item (in varying quantities) to the player's bag or PC box -; INPUT: -; HL = address of inventory (either wNumBagItems or wNumBoxItems) -; [wcf91] = item ID -; [wItemQuantity] = item quantity -; sets carry flag if successful, unsets carry flag if unsuccessful -AddItemToInventory:: - push bc - ldh a, [hLoadedROMBank] - push af - ld a, BANK(AddItemToInventory_) - ldh [hLoadedROMBank], a - ld [MBC1RomBank], a - call AddItemToInventory_ - pop bc - ld a, b - ldh [hLoadedROMBank], a - ld [MBC1RomBank], a - pop bc - ret - +INCLUDE "home/count_set_bits.asm" +INCLUDE "home/inventory.asm" INCLUDE "home/list_menu.asm" INCLUDE "home/names.asm" - -; reloads text box tile patterns, current map view, and tileset tile patterns -ReloadMapData:: - ldh a, [hLoadedROMBank] - push af - ld a, [wCurMap] - call SwitchToMapRomBank - call DisableLCD - call LoadTextBoxTilePatterns - call LoadCurrentMapView - call LoadTilesetTilePatternData - call EnableLCD - pop af - ldh [hLoadedROMBank], a - ld [MBC1RomBank], a - ret - -; reloads tileset tile patterns -ReloadTilesetTilePatterns:: - ldh a, [hLoadedROMBank] - push af - ld a, [wCurMap] - call SwitchToMapRomBank - call DisableLCD - call LoadTilesetTilePatternData - call EnableLCD - pop af - ldh [hLoadedROMBank], a - ld [MBC1RomBank], a - ret - -; shows the town map and lets the player choose a destination to fly to -ChooseFlyDestination:: - ld hl, wd72e - res 4, [hl] - farjp LoadTownMap_Fly - -; causes the text box to close without waiting for a button press after displaying text -DisableWaitingAfterTextDisplay:: - ld a, $01 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ret - -; uses an item -; UseItem is used with dummy items to perform certain other functions as well -; INPUT: -; [wcf91] = item ID -; OUTPUT: -; [wActionResultOrTookBattleTurn] = success -; 00: unsuccessful -; 01: successful -; 02: not able to be used right now, no extra menu displayed (only certain items use this) -UseItem:: - farjp UseItem_ - -; confirms the item toss and then tosses the item -; INPUT: -; hl = address of inventory (either wNumBagItems or wNumBoxItems) -; [wcf91] = item ID -; [wWhichPokemon] = index of item within inventory -; [wItemQuantity] = quantity to toss -; OUTPUT: -; clears carry flag if the item is tossed, sets carry flag if not -TossItem:: - ldh a, [hLoadedROMBank] - push af - ld a, BANK(TossItem_) - ldh [hLoadedROMBank], a - ld [MBC1RomBank], a - call TossItem_ - pop de - ld a, d - ldh [hLoadedROMBank], a - ld [MBC1RomBank], a - ret - -; checks if an item is a key item -; INPUT: -; [wcf91] = item ID -; OUTPUT: -; [wIsKeyItem] = result -; 00: item is not key item -; 01: item is key item -IsKeyItem:: - push hl - push de - push bc - farcall IsKeyItem_ - pop bc - pop de - pop hl - ret - -; function to draw various text boxes -; INPUT: -; [wTextBoxID] = text box ID -; b, c = y, x cursor position (TWO_OPTION_MENU only) -DisplayTextBoxID:: - ldh a, [hLoadedROMBank] - push af - ld a, BANK(DisplayTextBoxID_) - ldh [hLoadedROMBank], a - ld [MBC1RomBank], a - call DisplayTextBoxID_ - pop bc - ld a, b - ldh [hLoadedROMBank], a - ld [MBC1RomBank], a - ret - -; not zero if an NPC movement script is running, the player character is -; automatically stepping down from a door, or joypad states are being simulated -IsPlayerCharacterBeingControlledByGame:: - ld a, [wNPCMovementScriptPointerTableNum] - and a - ret nz - ld a, [wd736] - bit 1, a ; currently stepping down from door bit - ret nz - ld a, [wd730] - and $80 - ret - -RunNPCMovementScript:: - ld hl, wd736 - bit 0, [hl] - res 0, [hl] - jr nz, .playerStepOutFromDoor - ld a, [wNPCMovementScriptPointerTableNum] - and a - ret z - dec a - add a - ld d, 0 - ld e, a - ld hl, .NPCMovementScriptPointerTables - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - ldh a, [hLoadedROMBank] - push af - ld a, [wNPCMovementScriptBank] - ldh [hLoadedROMBank], a - ld [MBC1RomBank], a - ld a, [wNPCMovementScriptFunctionNum] - call CallFunctionInTable - pop af - ldh [hLoadedROMBank], a - ld [MBC1RomBank], a - ret - -.NPCMovementScriptPointerTables - dw PalletMovementScriptPointerTable - dw PewterMuseumGuyMovementScriptPointerTable - dw PewterGymGuyMovementScriptPointerTable -.playerStepOutFromDoor - farjp PlayerStepOutFromDoor - -EndNPCMovementScript:: - farjp _EndNPCMovementScript - -EmptyFunc2:: - ret - +INCLUDE "home/reload_tiles.asm" +INCLUDE "home/item.asm" +INCLUDE "home/textbox.asm" +INCLUDE "home/npc_movement.asm" INCLUDE "home/trainers.asm" - -; checks if the player's coordinates match an arrow movement tile's coordinates -; and if so, decodes the RLE movement data -; b = player Y -; c = player X -DecodeArrowMovementRLE:: - ld a, [hli] - cp $ff - ret z ; no match in the list - cp b - jr nz, .nextArrowMovementTileEntry1 - ld a, [hli] - cp c - jr nz, .nextArrowMovementTileEntry2 - ld a, [hli] - ld d, [hl] - ld e, a - ld hl, wSimulatedJoypadStatesEnd - call DecodeRLEList - dec a - ld [wSimulatedJoypadStatesIndex], a - ret -.nextArrowMovementTileEntry1 - inc hl -.nextArrowMovementTileEntry2 - inc hl - inc hl - jr DecodeArrowMovementRLE - -TextScript_ItemStoragePC:: - call SaveScreenTilesToBuffer2 - ld b, BANK(PlayerPC) - ld hl, PlayerPC - jr bankswitchAndContinue - -TextScript_BillsPC:: - call SaveScreenTilesToBuffer2 - ld b, BANK(BillsPC_) - ld hl, BillsPC_ - jr bankswitchAndContinue - -TextScript_GameCornerPrizeMenu:: -; XXX find a better name for this function -; special_F7 - ld b, BANK(CeladonPrizeMenu) - ld hl, CeladonPrizeMenu -bankswitchAndContinue:: - call Bankswitch - jp HoldTextDisplayOpen ; continue to main text-engine function - -TextScript_PokemonCenterPC:: - ld b, BANK(ActivatePC) - ld hl, ActivatePC - jr bankswitchAndContinue - -StartSimulatingJoypadStates:: - xor a - ld [wOverrideSimulatedJoypadStatesMask], a - ld [wSpritePlayerStateData2MovementByte1], a - ld hl, wd730 - set 7, [hl] - ret - -IsItemInBag:: -; given an item_id in b -; set zero flag if item isn't in player's bag -; else reset zero flag -; related to Pokémon Tower and ghosts - predef GetQuantityOfItemInBag - ld a, b - and a - ret - -DisplayPokedex:: - ld [wd11e], a - farjp _DisplayPokedex - -SetSpriteFacingDirectionAndDelay:: - call SetSpriteFacingDirection - ld c, 6 - jp DelayFrames - -SetSpriteFacingDirection:: - ld a, $9 - ldh [hSpriteDataOffset], a - call GetPointerWithinSpriteStateData1 - ldh a, [hSpriteFacingDirection] - ld [hl], a - ret - -SetSpriteImageIndexAfterSettingFacingDirection:: - ld de, -7 - add hl, de - ld [hl], a - ret - -; tests if the player's coordinates are in a specified array -; INPUT: -; hl = address of array -; OUTPUT: -; [wCoordIndex] = if there is match, the matching array index -; sets carry if the coordinates are in the array, clears carry if not -ArePlayerCoordsInArray:: - ld a, [wYCoord] - ld b, a - ld a, [wXCoord] - ld c, a - ; fallthrough - -CheckCoords:: - xor a - ld [wCoordIndex], a -.loop - ld a, [hli] - cp $ff ; reached terminator? - jr z, .notInArray - push hl - ld hl, wCoordIndex - inc [hl] - pop hl -.compareYCoord - cp b - jr z, .compareXCoord - inc hl - jr .loop -.compareXCoord - ld a, [hli] - cp c - jr nz, .loop -.inArray - scf - ret -.notInArray - and a - ret - -; tests if a boulder's coordinates are in a specified array -; INPUT: -; hl = address of array -; [hSpriteIndex] = index of boulder sprite -; OUTPUT: -; [wCoordIndex] = if there is match, the matching array index -; sets carry if the coordinates are in the array, clears carry if not -CheckBoulderCoords:: - push hl - ld hl, wSpritePlayerStateData2MapY - ldh a, [hSpriteIndex] - swap a - ld d, $0 - ld e, a - add hl, de - ld a, [hli] - sub $4 ; because sprite coordinates are offset by 4 - ld b, a - ld a, [hl] - sub $4 ; because sprite coordinates are offset by 4 - ld c, a - pop hl - jp CheckCoords - -GetPointerWithinSpriteStateData1:: - ld h, $c1 - jr _GetPointerWithinSpriteStateData - -GetPointerWithinSpriteStateData2:: - ld h, $c2 - -_GetPointerWithinSpriteStateData: - ldh a, [hSpriteDataOffset] - ld b, a - ldh a, [hSpriteIndex] - swap a - add b - ld l, a - ret - -; decodes a $ff-terminated RLEncoded list -; each entry is a pair of bytes -; the final $ff will be replicated in the output list and a contains the number of bytes written -; de: input list -; hl: output list -DecodeRLEList:: - xor a - ld [wRLEByteCount], a ; count written bytes here -.listLoop - ld a, [de] - cp $ff - jr z, .endOfList - ldh [hRLEByteValue], a ; store byte value to be written - inc de - ld a, [de] - ld b, $0 - ld c, a ; number of bytes to be written - ld a, [wRLEByteCount] - add c - ld [wRLEByteCount], a ; update total number of written bytes - ldh a, [hRLEByteValue] - call FillMemory ; write a c-times to output - inc de - jr .listLoop -.endOfList - ld a, $ff - ld [hl], a ; write final $ff - ld a, [wRLEByteCount] - inc a ; include sentinel in counting - ret - -; sets movement byte 1 for sprite [hSpriteIndex] to $FE and byte 2 to [hSpriteMovementByte2] -SetSpriteMovementBytesToFE:: - push hl - call GetSpriteMovementByte1Pointer - ld [hl], $fe - call GetSpriteMovementByte2Pointer - ldh a, [hSpriteMovementByte2] - ld [hl], a - pop hl - ret - -; sets both movement bytes for sprite [hSpriteIndex] to $FF -SetSpriteMovementBytesToFF:: - push hl - call GetSpriteMovementByte1Pointer - ld [hl], $FF - call GetSpriteMovementByte2Pointer - ld [hl], $FF ; prevent person from walking? - pop hl - ret - -; returns the sprite movement byte 1 pointer for sprite [hSpriteIndex] in hl -GetSpriteMovementByte1Pointer:: - ld h, $C2 - ldh a, [hSpriteIndex] - swap a - add 6 - ld l, a - ret - -; returns the sprite movement byte 2 pointer for sprite [hSpriteIndex] in hl -GetSpriteMovementByte2Pointer:: - push de - ld hl, wMapSpriteData - ldh a, [hSpriteIndex] - dec a - add a - ld d, 0 - ld e, a - add hl, de - pop de - ret - -GetTrainerInformation:: - call GetTrainerName - ld a, [wLinkState] - and a - jr nz, .linkBattle - ld a, BANK(TrainerPicAndMoneyPointers) - call BankswitchHome - ld a, [wTrainerClass] - dec a - ld hl, TrainerPicAndMoneyPointers - ld bc, $5 - call AddNTimes - ld de, wTrainerPicPointer - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - ld de, wTrainerBaseMoney - ld a, [hli] - ld [de], a - inc de - ld a, [hli] - ld [de], a - jp BankswitchBack -.linkBattle - ld hl, wTrainerPicPointer - ld de, RedPicFront - ld [hl], e - inc hl - ld [hl], d - ret - -GetTrainerName:: - farjp GetTrainerName_ - -HasEnoughMoney:: -; Check if the player has at least as much -; money as the 3-byte BCD value at hMoney. - ld de, wPlayerMoney - ld hl, hMoney - ld c, 3 - jp StringCmp - -HasEnoughCoins:: -; Check if the player has at least as many -; coins as the 2-byte BCD value at hCoins. - ld de, wPlayerCoins - ld hl, hCoins - ld c, 2 - jp StringCmp - +INCLUDE "home/map_objects.asm" +INCLUDE "home/trainers2.asm" +INCLUDE "home/money.asm" INCLUDE "home/bankswitch.asm" INCLUDE "home/yes_no.asm" - -; calculates the difference |a-b|, setting carry flag if a +; the final $ff will be replicated in the output list and a contains the number of bytes written +; de: input list +; hl: output list +DecodeRLEList:: + xor a + ld [wRLEByteCount], a ; count written bytes here +.listLoop + ld a, [de] + cp $ff + jr z, .endOfList + ldh [hRLEByteValue], a ; store byte value to be written + inc de + ld a, [de] + ld b, $0 + ld c, a ; number of bytes to be written + ld a, [wRLEByteCount] + add c + ld [wRLEByteCount], a ; update total number of written bytes + ldh a, [hRLEByteValue] + call FillMemory ; write a c-times to output + inc de + jr .listLoop +.endOfList + ld a, $ff + ld [hl], a ; write final $ff + ld a, [wRLEByteCount] + inc a ; include sentinel in counting + ret + +; sets movement byte 1 for sprite [hSpriteIndex] to $FE and byte 2 to [hSpriteMovementByte2] +SetSpriteMovementBytesToFE:: + push hl + call GetSpriteMovementByte1Pointer + ld [hl], $fe + call GetSpriteMovementByte2Pointer + ldh a, [hSpriteMovementByte2] + ld [hl], a + pop hl + ret + +; sets both movement bytes for sprite [hSpriteIndex] to $FF +SetSpriteMovementBytesToFF:: + push hl + call GetSpriteMovementByte1Pointer + ld [hl], $FF + call GetSpriteMovementByte2Pointer + ld [hl], $FF ; prevent person from walking? + pop hl + ret + +; returns the sprite movement byte 1 pointer for sprite [hSpriteIndex] in hl +GetSpriteMovementByte1Pointer:: + ld h, $C2 + ldh a, [hSpriteIndex] + swap a + add 6 + ld l, a + ret + +; returns the sprite movement byte 2 pointer for sprite [hSpriteIndex] in hl +GetSpriteMovementByte2Pointer:: + push de + ld hl, wMapSpriteData + ldh a, [hSpriteIndex] + dec a + add a + ld d, 0 + ld e, a + add hl, de + pop de + ret diff --git a/home/math.asm b/home/math.asm new file mode 100644 index 00000000..b081b540 --- /dev/null +++ b/home/math.asm @@ -0,0 +1,41 @@ +; function to do multiplication +; all values are big endian +; INPUT +; FF96-FF98 = multiplicand +; FF99 = multiplier +; OUTPUT +; FF95-FF98 = product +Multiply:: + push hl + push bc + callfar _Multiply + pop bc + pop hl + ret + +; function to do division +; all values are big endian +; INPUT +; FF95-FF98 = dividend +; FF99 = divisor +; b = number of bytes in the dividend (starting from FF95) +; OUTPUT +; FF95-FF98 = quotient +; FF99 = remainder +Divide:: + push hl + push de + push bc + ldh a, [hLoadedROMBank] + push af + ld a, BANK(_Divide) + ldh [hLoadedROMBank], a + ld [MBC1RomBank], a + call _Divide + pop af + ldh [hLoadedROMBank], a + ld [MBC1RomBank], a + pop bc + pop de + pop hl + ret diff --git a/home/money.asm b/home/money.asm new file mode 100644 index 00000000..a62835ea --- /dev/null +++ b/home/money.asm @@ -0,0 +1,15 @@ +HasEnoughMoney:: +; Check if the player has at least as much +; money as the 3-byte BCD value at hMoney. + ld de, wPlayerMoney + ld hl, hMoney + ld c, 3 + jp StringCmp + +HasEnoughCoins:: +; Check if the player has at least as many +; coins as the 2-byte BCD value at hCoins. + ld de, wPlayerCoins + ld hl, hCoins + ld c, 2 + jp StringCmp diff --git a/home/move_mon.asm b/home/move_mon.asm index cf7213b1..3e69e6d0 100644 --- a/home/move_mon.asm +++ b/home/move_mon.asm @@ -1,3 +1,18 @@ +; Copies [hl, bc) to [de, de + bc - hl). +; In other words, the source data is from hl up to but not including bc, +; and the destination is de. +CopyDataUntil:: + ld a, [hli] + ld [de], a + inc de + ld a, h + cp b + jr nz, CopyDataUntil + ld a, l + cp c + jr nz, CopyDataUntil + ret + ; Function to remove a pokemon from the party or the current box. ; wWhichPokemon determines the pokemon. ; [wRemoveMonFromBox] == 0 specifies the party. diff --git a/home/npc_movement.asm b/home/npc_movement.asm new file mode 100644 index 00000000..4914d3df --- /dev/null +++ b/home/npc_movement.asm @@ -0,0 +1,54 @@ +; not zero if an NPC movement script is running, the player character is +; automatically stepping down from a door, or joypad states are being simulated +IsPlayerCharacterBeingControlledByGame:: + ld a, [wNPCMovementScriptPointerTableNum] + and a + ret nz + ld a, [wd736] + bit 1, a ; currently stepping down from door bit + ret nz + ld a, [wd730] + and $80 + ret + +RunNPCMovementScript:: + ld hl, wd736 + bit 0, [hl] + res 0, [hl] + jr nz, .playerStepOutFromDoor + ld a, [wNPCMovementScriptPointerTableNum] + and a + ret z + dec a + add a + ld d, 0 + ld e, a + ld hl, .NPCMovementScriptPointerTables + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + ldh a, [hLoadedROMBank] + push af + ld a, [wNPCMovementScriptBank] + ldh [hLoadedROMBank], a + ld [MBC1RomBank], a + ld a, [wNPCMovementScriptFunctionNum] + call CallFunctionInTable + pop af + ldh [hLoadedROMBank], a + ld [MBC1RomBank], a + ret + +.NPCMovementScriptPointerTables + dw PalletMovementScriptPointerTable + dw PewterMuseumGuyMovementScriptPointerTable + dw PewterGymGuyMovementScriptPointerTable +.playerStepOutFromDoor + farjp PlayerStepOutFromDoor + +EndNPCMovementScript:: + farjp _EndNPCMovementScript + +EmptyFunc2:: + ret diff --git a/home/oam.asm b/home/oam.asm new file mode 100644 index 00000000..8a940d97 --- /dev/null +++ b/home/oam.asm @@ -0,0 +1,36 @@ +; INPUT: +; a = oam block index (each block is 4 oam entries) +; b = Y coordinate of upper left corner of sprite +; c = X coordinate of upper left corner of sprite +; de = base address of 4 tile number and attribute pairs +WriteOAMBlock:: + ld h, HIGH(wOAMBuffer) + swap a ; multiply by 16 + ld l, a + call .writeOneEntry ; upper left + push bc + ld a, 8 + add c + ld c, a + call .writeOneEntry ; upper right + pop bc + ld a, 8 + add b + ld b, a + call .writeOneEntry ; lower left + ld a, 8 + add c + ld c, a + ; lower right +.writeOneEntry + ld [hl], b ; Y coordinate + inc hl + ld [hl], c ; X coordinate + inc hl + ld a, [de] ; tile number + inc de + ld [hli], a + ld a, [de] ; attribute + inc de + ld [hli], a + ret diff --git a/home/overworld.asm b/home/overworld.asm index acc108c7..0408bf32 100644 --- a/home/overworld.asm +++ b/home/overworld.asm @@ -2421,3 +2421,54 @@ ForceBikeOrSurf:: ld hl, LoadPlayerSpriteGraphics call Bankswitch jp PlayDefaultMusic ; update map/player state? + +CheckForUserInterruption:: +; Return carry if Up+Select+B, Start or A are pressed in c frames. +; Used only in the intro and title screen. + call DelayFrame + + push bc + call JoypadLowSensitivity + pop bc + + ldh a, [hJoyHeld] + cp D_UP + SELECT + B_BUTTON + jr z, .input + + ldh a, [hJoy5] + and START | A_BUTTON + jr nz, .input + + dec c + jr nz, CheckForUserInterruption + + and a + ret + +.input + scf + ret + +; function to load position data for destination warp when switching maps +; INPUT: +; a = ID of destination warp within destination map +LoadDestinationWarpPosition:: + ld b, a + ldh a, [hLoadedROMBank] + push af + ld a, [wPredefParentBank] + ldh [hLoadedROMBank], a + ld [MBC1RomBank], a + ld a, b + add a + add a + ld c, a + ld b, 0 + add hl, bc + ld bc, 4 + ld de, wCurrentTileBlockMapViewPointer + call CopyData + pop af + ldh [hLoadedROMBank], a + ld [MBC1RomBank], a + ret diff --git a/home/palettes.asm b/home/palettes.asm new file mode 100644 index 00000000..08dcdc85 --- /dev/null +++ b/home/palettes.asm @@ -0,0 +1,57 @@ +RestoreScreenTilesAndReloadTilePatterns:: + call ClearSprites + ld a, $1 + ld [wUpdateSpritesEnabled], a + call ReloadMapSpriteTilePatterns + call LoadScreenTilesFromBuffer2 + call LoadTextBoxTilePatterns + call RunDefaultPaletteCommand + jr Delay3 + +GBPalWhiteOutWithDelay3:: + call GBPalWhiteOut + +Delay3:: +; The bg map is updated each frame in thirds. +; Wait three frames to let the bg map fully update. + ld c, 3 + jp DelayFrames + +GBPalNormal:: +; Reset BGP and OBP0. + ld a, %11100100 ; 3210 + ldh [rBGP], a + ld a, %11010000 ; 3100 + ldh [rOBP0], a + ret + +GBPalWhiteOut:: +; White out all palettes. + xor a + ldh [rBGP], a + ldh [rOBP0], a + ldh [rOBP1], a + ret + +RunDefaultPaletteCommand:: + ld b, SET_PAL_DEFAULT +RunPaletteCommand:: + ld a, [wOnSGB] + and a + ret z + predef_jump _RunPaletteCommand + +GetHealthBarColor:: +; Return at hl the palette of +; an HP bar e pixels long. + ld a, e + cp 27 + ld d, 0 ; green + jr nc, .gotColor + cp 10 + inc d ; yellow + jr nc, .gotColor + inc d ; red +.gotColor + ld [hl], d + ret diff --git a/home/pathfinding.asm b/home/pathfinding.asm new file mode 100644 index 00000000..aca5a763 --- /dev/null +++ b/home/pathfinding.asm @@ -0,0 +1,65 @@ +; calculates the difference |a-b|, setting carry flag if a Date: Tue, 7 Jul 2020 21:10:13 -0400 Subject: Get all unnamed symbols with make DEBUG=1 --- .travis.yml | 2 +- tools/unnamed.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 04fe1de0..f3dd29a9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -19,7 +19,7 @@ before_script: fi; } script: - - make -j2 compare + - make DEBUG=1 -j2 compare - check_status after_success: - |- diff --git a/tools/unnamed.py b/tools/unnamed.py index 560d8833..2e783fd7 100755 --- a/tools/unnamed.py +++ b/tools/unnamed.py @@ -37,7 +37,7 @@ args = parser.parse_args() # Get list of object files objects = None if args.rootdir: - for line in Popen(["make", "-C", args.rootdir, "-s", "-p"], + for line in Popen(["make", "-C", args.rootdir, "-s", "-p", "DEBUG=1"], stdout=PIPE).stdout.read().decode().split("\n"): if line.startswith("pokered_obj := "): objects = line[15:].strip().split() -- cgit v1.2.3 From a49ca6ef4153c16f5f5f1f968cc704e07b669d96 Mon Sep 17 00:00:00 2001 From: Rangi Date: Wed, 8 Jul 2020 10:31:44 -0400 Subject: Factor out MapBadgeFlags and EscapeRopeTilesets data tables --- data/maps/badge_maps.asm | 10 ++++++++++ data/tilesets/escape_rope_tilesets.asm | 3 +++ engine/events/hidden_objects/gym_statues.asm | 13 ++----------- engine/items/item_effects.asm | 4 +--- 4 files changed, 16 insertions(+), 14 deletions(-) create mode 100644 data/maps/badge_maps.asm create mode 100644 data/tilesets/escape_rope_tilesets.asm diff --git a/data/maps/badge_maps.asm b/data/maps/badge_maps.asm new file mode 100644 index 00000000..81d95757 --- /dev/null +++ b/data/maps/badge_maps.asm @@ -0,0 +1,10 @@ +MapBadgeFlags: + db PEWTER_GYM, %00000001 + db CERULEAN_GYM, %00000010 + db VERMILION_GYM,%00000100 + db CELADON_GYM, %00001000 + db FUCHSIA_GYM, %00010000 + db SAFFRON_GYM, %00100000 + db CINNABAR_GYM, %01000000 + db VIRIDIAN_GYM, %10000000 + db $ff diff --git a/data/tilesets/escape_rope_tilesets.asm b/data/tilesets/escape_rope_tilesets.asm new file mode 100644 index 00000000..6acf8e77 --- /dev/null +++ b/data/tilesets/escape_rope_tilesets.asm @@ -0,0 +1,3 @@ +EscapeRopeTilesets: + db FOREST, CEMETERY, CAVERN, FACILITY, INTERIOR + db $ff ; terminator diff --git a/engine/events/hidden_objects/gym_statues.asm b/engine/events/hidden_objects/gym_statues.asm index 97b01a3a..1c7eb970 100644 --- a/engine/events/hidden_objects/gym_statues.asm +++ b/engine/events/hidden_objects/gym_statues.asm @@ -6,7 +6,7 @@ GymStatues: ld a, [wSpritePlayerStateData1FacingDirection] cp SPRITE_FACING_UP ret nz - ld hl, .BadgeFlags + ld hl, MapBadgeFlags ld a, [wCurMap] ld b, a .loop @@ -28,16 +28,7 @@ GymStatues: .haveBadge jp PrintPredefTextID -.BadgeFlags: - db PEWTER_GYM, %00000001 - db CERULEAN_GYM, %00000010 - db VERMILION_GYM,%00000100 - db CELADON_GYM, %00001000 - db FUCHSIA_GYM, %00010000 - db SAFFRON_GYM, %00100000 - db CINNABAR_GYM, %01000000 - db VIRIDIAN_GYM, %10000000 - db $ff +INCLUDE "data/maps/badge_maps.asm" GymStatueText1:: text_far _GymStatueText1 diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm index b04f11fb..a8ff1e06 100755 --- a/engine/items/item_effects.asm +++ b/engine/items/item_effects.asm @@ -1525,9 +1525,7 @@ ItemUseEscapeRope: .notUsable jp ItemUseNotTime -EscapeRopeTilesets: - db FOREST, CEMETERY, CAVERN, FACILITY, INTERIOR - db $ff ; terminator +INCLUDE "data/tilesets/escape_rope_tilesets.asm" ItemUseRepel: ld b, 100 -- cgit v1.2.3 From 676a35f76f93dfe18678a832fa63d8b684c34c45 Mon Sep 17 00:00:00 2001 From: Rangi Date: Thu, 9 Jul 2020 12:43:26 -0400 Subject: Eliminate enum: use const instead, with case-by-case parallel const implementations --- constants/item_constants.asm | 22 +++++++------ macros.asm | 2 +- macros/const.asm | 24 ++++++++++++++ macros/enum.asm | 43 ------------------------- macros/scripts/text.asm | 76 ++++++++++++++++++++++---------------------- 5 files changed, 75 insertions(+), 92 deletions(-) create mode 100644 macros/const.asm delete mode 100644 macros/enum.asm diff --git a/constants/item_constants.asm b/constants/item_constants.asm index 7904b4c1..e5855f83 100755 --- a/constants/item_constants.asm +++ b/constants/item_constants.asm @@ -115,9 +115,9 @@ add_hm: MACRO ; The first usage also defines HM01 as the first HM item id. IF !DEF(HM01) HM01 EQU const_value - enum_start NUM_TMS + 1 +__tmhm_value__ = NUM_TMS + 1 ENDC -HM_VALUE EQU __enum__ - NUM_TMS +HM_VALUE EQU __tmhm_value__ - NUM_TMS IF HM_VALUE < 10 MOVE_FOR_HM EQUS "HM0{d:HM_VALUE}_MOVE" ELSE @@ -127,7 +127,8 @@ MOVE_FOR_HM = \1 PURGE MOVE_FOR_HM PURGE HM_VALUE const HM_\1 - enum \1_TMNUM +\1_TMNUM EQU __tmhm_value__ +__tmhm_value__ = __tmhm_value__ + 1 ENDM add_hm CUT ; $C4 @@ -145,17 +146,18 @@ add_tm: MACRO ; The first usage also defines TM01 as the first TM item id. IF !DEF(TM01) TM01 EQU const_value - enum_start 1 +__tmhm_value__ = 1 ENDC -IF __enum__ < 10 -MOVE_FOR_TM EQUS "TM0{d:__enum__}_MOVE" +IF __tmhm_value__ < 10 +MOVE_FOR_TM EQUS "TM0{d:__tmhm_value__}_MOVE" ELSE -MOVE_FOR_TM EQUS "TM{d:__enum__}_MOVE" +MOVE_FOR_TM EQUS "TM{d:__tmhm_value__}_MOVE" ENDC MOVE_FOR_TM = \1 PURGE MOVE_FOR_TM const TM_\1 - enum \1_TMNUM +\1_TMNUM EQU __tmhm_value__ +__tmhm_value__ = __tmhm_value__ + 1 ENDM add_tm MEGA_PUNCH ; $C9 @@ -212,5 +214,5 @@ assert NUM_TMS == const_value - TM01, "NUM_TMS ({d:NUM_TMS}) does not match the ; 50 TMs + 5 HMs = 55 learnable TM/HM flags per Pokémon. ; These fit in 7 bytes, with one unused bit left over. - enum_start NUM_TMS + NUM_HMS + 1 - enum UNUSED_TMNUM +__tmhm_value__ = NUM_TMS + NUM_HMS + 1 +UNUSED_TMNUM EQU __tmhm_value__ diff --git a/macros.asm b/macros.asm index a20160c0..e8d30a67 100644 --- a/macros.asm +++ b/macros.asm @@ -1,4 +1,4 @@ -INCLUDE "macros/enum.asm" +INCLUDE "macros/const.asm" INCLUDE "macros/predef.asm" INCLUDE "macros/farcall.asm" INCLUDE "macros/data.asm" diff --git a/macros/const.asm b/macros/const.asm new file mode 100644 index 00000000..e0d9fbb8 --- /dev/null +++ b/macros/const.asm @@ -0,0 +1,24 @@ +; Enumerate constants + +const_def: MACRO +IF _NARG >= 1 +const_value = \1 +ELSE +const_value = 0 +ENDC +IF _NARG >= 2 +const_inc = \2 +ELSE +const_inc = 1 +ENDC +ENDM + +const: MACRO +\1 EQU const_value +const_value = const_value + const_inc +ENDM + +shift_const: MACRO +\1 EQU (1 << const_value) +const_value = const_value + const_inc +ENDM diff --git a/macros/enum.asm b/macros/enum.asm deleted file mode 100644 index 5c69bcb8..00000000 --- a/macros/enum.asm +++ /dev/null @@ -1,43 +0,0 @@ -; Enumerate variables - -enum_start: MACRO -IF _NARG >= 1 -__enum__ = \1 -ELSE -__enum__ = 0 -ENDC -IF _NARG >= 2 -__enumdir__ = \2 -ELSE -__enumdir__ = 1 -ENDC -ENDM - -enum: MACRO -\1 EQU __enum__ -__enum__ = __enum__ + __enumdir__ -ENDM - -enum_set: MACRO -__enum__ = \1 -ENDM - -; Enumerate constants - -const_def: MACRO -IF _NARG >= 1 -const_value = \1 -ELSE -const_value = 0 -ENDC -ENDM - -const: MACRO -\1 EQU const_value -const_value = const_value + 1 -ENDM - -shift_const: MACRO -\1 EQU (1 << const_value) -const_value = const_value + 1 -ENDM diff --git a/macros/scripts/text.asm b/macros/scripts/text.asm index 261ab5f4..9cbd9b3b 100755 --- a/macros/scripts/text.asm +++ b/macros/scripts/text.asm @@ -11,33 +11,33 @@ dex EQUS "db \"\", \"@\"" ; End a Pokédex entry. ; TextCommandJumpTable indexes (see home/text.asm) - enum_start + const_def - enum TX_START ; $00 + const TX_START ; $00 text_start: MACRO db TX_START ENDM - enum TX_RAM ; $01 + const TX_RAM ; $01 text_ram: MACRO db TX_RAM dw \1 ; address to read from ENDM - enum TX_BCD ; $02 + const TX_BCD ; $02 text_bcd: MACRO db TX_BCD dw \1 ; address to read from db \2 ; number of bytes + print flags ENDM - enum TX_MOVE ; $03 + const TX_MOVE ; $03 text_move: MACRO db TX_MOVE dw \1 ; address of the new location ENDM - enum TX_BOX ; $04 + const TX_BOX ; $04 text_box: MACRO ; draw box db TX_BOX @@ -45,27 +45,27 @@ text_box: MACRO db \2, \3 ; height, width ENDM - enum TX_LOW ; $05 + const TX_LOW ; $05 text_low: MACRO db TX_LOW ENDM - enum TX_PROMPT_BUTTON ; $06 + const TX_PROMPT_BUTTON ; $06 text_promptbutton: MACRO db TX_PROMPT_BUTTON ENDM - enum TX_SCROLL ; $07 + const TX_SCROLL ; $07 text_scroll: MACRO db TX_SCROLL ENDM - enum TX_START_ASM ; $08 + const TX_START_ASM ; $08 text_asm: MACRO db TX_START_ASM ENDM - enum TX_NUM ; $09 + const TX_NUM ; $09 text_decimal: MACRO ; print a big-endian decimal number. db TX_NUM @@ -73,12 +73,12 @@ text_decimal: MACRO dn \2, \3 ; number of bytes to read, number of digits to display ENDM - enum TX_PAUSE ; $0a + const TX_PAUSE ; $0a text_pause: MACRO db TX_PAUSE ENDM - enum TX_SOUND_GET_ITEM_1 ; $0b + const TX_SOUND_GET_ITEM_1 ; $0b sound_get_item_1: MACRO db TX_SOUND_GET_ITEM_1 ENDM @@ -86,115 +86,115 @@ ENDM TX_SOUND_LEVEL_UP EQU TX_SOUND_GET_ITEM_1 sound_level_up EQUS "sound_get_item_1" - enum TX_DOTS ; $0c + const TX_DOTS ; $0c text_dots: MACRO db TX_DOTS db \1 ; number of ellipses to draw ENDM - enum TX_WAIT_BUTTON ; $0d + const TX_WAIT_BUTTON ; $0d text_waitbutton: MACRO db TX_WAIT_BUTTON ENDM - enum TX_SOUND_POKEDEX_RATING ; $0e + const TX_SOUND_POKEDEX_RATING ; $0e sound_pokedex_rating: MACRO db TX_SOUND_POKEDEX_RATING ENDM - enum TX_SOUND_GET_ITEM_1_DUPLICATE ; $0f + const TX_SOUND_GET_ITEM_1_DUPLICATE ; $0f sound_get_item_1_duplicate: MACRO db TX_SOUND_GET_ITEM_1_DUPLICATE ENDM - enum TX_SOUND_GET_ITEM_2 ; $10 + const TX_SOUND_GET_ITEM_2 ; $10 sound_get_item_2: MACRO db TX_SOUND_GET_ITEM_2 ENDM - enum TX_SOUND_GET_KEY_ITEM ; $11 + const TX_SOUND_GET_KEY_ITEM ; $11 sound_get_key_item: MACRO db TX_SOUND_GET_KEY_ITEM ENDM - enum TX_SOUND_CAUGHT_MON ; $12 + const TX_SOUND_CAUGHT_MON ; $12 sound_caught_mon: MACRO db TX_SOUND_CAUGHT_MON ENDM - enum TX_SOUND_DEX_PAGE_ADDED ; $13 + const TX_SOUND_DEX_PAGE_ADDED ; $13 sound_dex_page_added: MACRO db TX_SOUND_DEX_PAGE_ADDED ENDM - enum TX_SOUND_CRY_NIDORINA ; $14 + const TX_SOUND_CRY_NIDORINA ; $14 sound_cry_nidorina: MACRO db TX_SOUND_CRY_NIDORINA ENDM - enum TX_SOUND_CRY_PIDGEOT ; $15 + const TX_SOUND_CRY_PIDGEOT ; $15 sound_cry_pidgeot: MACRO db TX_SOUND_CRY_PIDGEOT ENDM - enum TX_SOUND_CRY_DEWGONG ; $16 + const TX_SOUND_CRY_DEWGONG ; $16 sound_cry_dewgong: MACRO db TX_SOUND_CRY_DEWGONG ENDM - enum TX_FAR ; $17 + const TX_FAR ; $17 text_far: MACRO db TX_FAR dab \1 ; address of text commands ENDM - enum_set $50 + const_def $50 - enum TX_END ; $50 + const TX_END ; $50 text_end: MACRO db TX_END ENDM ; Text script IDs (see home/text_script.asm) - enum_set $f5 + const_def $f5 - enum TX_SCRIPT_VENDING_MACHINE ; $f5 + const TX_SCRIPT_VENDING_MACHINE ; $f5 script_vending_machine: MACRO db TX_SCRIPT_VENDING_MACHINE ENDM - enum TX_SCRIPT_CABLE_CLUB_RECEPTIONIST ; $f6 + const TX_SCRIPT_CABLE_CLUB_RECEPTIONIST ; $f6 script_cable_club_receptionist: MACRO db TX_SCRIPT_CABLE_CLUB_RECEPTIONIST ENDM - enum TX_SCRIPT_PRIZE_VENDOR ; $f7 + const TX_SCRIPT_PRIZE_VENDOR ; $f7 script_prize_vendor: MACRO db TX_SCRIPT_PRIZE_VENDOR ENDM - enum_set $f9 + const_def $f9 - enum TX_SCRIPT_POKECENTER_PC ; $f9 + const TX_SCRIPT_POKECENTER_PC ; $f9 script_pokecenter_pc: MACRO db TX_SCRIPT_POKECENTER_PC ENDM - enum_set $fc + const_def $fc - enum TX_SCRIPT_PLAYERS_PC ; $fc + const TX_SCRIPT_PLAYERS_PC ; $fc script_players_pc: MACRO db TX_SCRIPT_PLAYERS_PC ENDM - enum TX_SCRIPT_BILLS_PC ; $fd + const TX_SCRIPT_BILLS_PC ; $fd script_bills_pc: MACRO db TX_SCRIPT_BILLS_PC ENDM - enum TX_SCRIPT_MART ; $fe + const TX_SCRIPT_MART ; $fe script_mart: MACRO db TX_SCRIPT_MART db _NARG ; number of items @@ -205,7 +205,7 @@ ENDR db -1 ; end ENDM - enum TX_SCRIPT_POKECENTER_NURSE ; $ff + const TX_SCRIPT_POKECENTER_NURSE ; $ff script_pokecenter_nurse: MACRO db TX_SCRIPT_POKECENTER_NURSE ENDM -- cgit v1.2.3 From 3e572b6f48b81e5340980c13b1b37b2907942713 Mon Sep 17 00:00:00 2001 From: Rangi Date: Thu, 9 Jul 2020 14:51:48 -0400 Subject: Use const_skip and const_next macros for brevity --- constants/audio_constants.asm | 22 +- constants/battle_constants.asm | 59 +- constants/credits_constants.asm | 12 +- constants/event_constants.asm | 2324 ++++------------------------------ constants/input_constants.asm | 18 +- constants/item_constants.asm | 2 +- constants/map_data_constants.asm | 16 +- constants/menu_constants.asm | 111 +- constants/misc_constants.asm | 7 +- constants/move_effect_constants.asm | 16 +- constants/pokemon_constants.asm | 72 +- constants/pokemon_data_constants.asm | 18 +- constants/script_constants.asm | 7 +- constants/sprite_data_constants.asm | 36 +- constants/text_constants.asm | 7 +- constants/trainer_constants.asm | 5 +- constants/type_constants.asm | 2 +- macros/const.asm | 16 + macros/scripts/text.asm | 68 +- wram.asm | 2 +- 20 files changed, 540 insertions(+), 2280 deletions(-) diff --git a/constants/audio_constants.asm b/constants/audio_constants.asm index 3a1a8f5b..3dc9fbee 100644 --- a/constants/audio_constants.asm +++ b/constants/audio_constants.asm @@ -42,18 +42,20 @@ HW_CH2_DISABLE_MASK EQU (~HW_CH2_ENABLE_MASK & $ff) HW_CH3_DISABLE_MASK EQU (~HW_CH3_ENABLE_MASK & $ff) HW_CH4_DISABLE_MASK EQU (~HW_CH4_ENABLE_MASK & $ff) -REG_DUTY_SOUND_LEN EQU 1 -REG_VOLUME_ENVELOPE EQU 2 -REG_FREQUENCY_LO EQU 3 + const_def 1 + const REG_DUTY_SOUND_LEN ; 1 + const REG_VOLUME_ENVELOPE ; 2 + const REG_FREQUENCY_LO ; 3 ; wChannelFlags1 constants -BIT_PERFECT_PITCH EQU 0 ; controlled by toggle_perfect_pitch command -BIT_SOUND_CALL EQU 1 ; if in sound call -BIT_NOISE_OR_SFX EQU 2 ; if channel is the music noise channel or an SFX channel -BIT_VIBRATO_DIRECTION EQU 3 ; if the pitch is above or below normal (cycles) -BIT_PITCH_SLIDE_ON EQU 4 ; if pitch slide is active -BIT_PITCH_SLIDE_DECREASING EQU 5 ; if the pitch slide frequency is decreasing (instead of increasing) -BIT_ROTATE_DUTY_CYCLE EQU 6 ; if rotating duty cycle + const_def + const BIT_PERFECT_PITCH ; 0 ; controlled by toggle_perfect_pitch command + const BIT_SOUND_CALL ; 1 ; if in sound call + const BIT_NOISE_OR_SFX ; 2 ; if channel is the music noise channel or an SFX channel + const BIT_VIBRATO_DIRECTION ; 3 ; if the pitch is above or below normal (cycles) + const BIT_PITCH_SLIDE_ON ; 4 ; if pitch slide is active + const BIT_PITCH_SLIDE_DECREASING ; 5 ; if the pitch slide frequency is decreasing (instead of increasing) + const BIT_ROTATE_DUTY_CYCLE ; 6 ; if rotating duty cycle ; wChannelFlags2 constant (only has one flag) BIT_EXECUTE_MUSIC EQU 0 ; if in execute music diff --git a/constants/battle_constants.asm b/constants/battle_constants.asm index bdd03e8a..6ae2215f 100644 --- a/constants/battle_constants.asm +++ b/constants/battle_constants.asm @@ -9,9 +9,10 @@ NUM_DVS EQU 2 BIT_TEST_BATTLE EQU 0 ; battle type constants -BATTLE_TYPE_NORMAL EQU 0 -BATTLE_TYPE_OLD_MAN EQU 1 -BATTLE_TYPE_SAFARI EQU 2 + const_def + const BATTLE_TYPE_NORMAL ; 0 + const BATTLE_TYPE_OLD_MAN ; 1 + const BATTLE_TYPE_SAFARI ; 2 ; damage limits before type effectiveness MIN_NEUTRAL_DAMAGE EQU 2 @@ -30,35 +31,39 @@ NO_EFFECT EQU 00 ; non-volatile statuses SLP EQU %111 ; sleep counter -PSN EQU 3 -BRN EQU 4 -FRZ EQU 5 -PAR EQU 6 + const_def 3 + const PSN ; 3 + const BRN ; 4 + const FRZ ; 5 + const PAR ; 6 MAX_STAT_VALUE EQU 999 ; volatile statuses 1 -STORING_ENERGY EQU 0 ; Bide -THRASHING_ABOUT EQU 1 ; e.g. Thrash -ATTACKING_MULTIPLE_TIMES EQU 2 ; e.g. Double Kick, Fury Attack -FLINCHED EQU 3 -CHARGING_UP EQU 4 ; e.g. Solar Beam, Fly -USING_TRAPPING_MOVE EQU 5 ; e.g. Wrap -INVULNERABLE EQU 6 ; charging up Fly/Dig -CONFUSED EQU 7 + const_def + const STORING_ENERGY ; 0 ; Bide + const THRASHING_ABOUT ; 1 ; e.g. Thrash + const ATTACKING_MULTIPLE_TIMES ; 2 ; e.g. Double Kick, Fury Attack + const FLINCHED ; 3 + const CHARGING_UP ; 4 ; e.g. Solar Beam, Fly + const USING_TRAPPING_MOVE ; 5 ; e.g. Wrap + const INVULNERABLE ; 6 ; charging up Fly/Dig + const CONFUSED ; 7 ; volatile statuses 2 -USING_X_ACCURACY EQU 0 -PROTECTED_BY_MIST EQU 1 -GETTING_PUMPED EQU 2 ; Focus Energy -; EQU 3 ; unused -HAS_SUBSTITUTE_UP EQU 4 -NEEDS_TO_RECHARGE EQU 5 ; Hyper Beam -USING_RAGE EQU 6 -SEEDED EQU 7 + const_def + const USING_X_ACCURACY ; 0 + const PROTECTED_BY_MIST ; 1 + const GETTING_PUMPED ; 2 ; Focus Energy + const_skip ; 3 ; unused + const HAS_SUBSTITUTE_UP ; 4 + const NEEDS_TO_RECHARGE ; 5 ; Hyper Beam + const USING_RAGE ; 6 + const SEEDED ; 7 ; volatile statuses 3 -BADLY_POISONED EQU 0 -HAS_LIGHT_SCREEN_UP EQU 1 -HAS_REFLECT_UP EQU 2 -TRANSFORMED EQU 3 + const_def + const BADLY_POISONED ; 0 + const HAS_LIGHT_SCREEN_UP ; 1 + const HAS_REFLECT_UP ; 2 + const TRANSFORMED ; 3 diff --git a/constants/credits_constants.asm b/constants/credits_constants.asm index 2366f70f..8ad9114b 100644 --- a/constants/credits_constants.asm +++ b/constants/credits_constants.asm @@ -64,10 +64,10 @@ const CRED_CLUB ; $3E const CRED_PAAD ; $3F -const_value = $FA - const CRED_THE_END ; $FA - const CRED_COPYRIGHT ; $FB - const CRED_TEXT ; $FC - const CRED_TEXT_FADE ; $FD - const CRED_TEXT_MON ; $FE + const_def -1, -1 const CRED_TEXT_FADE_MON ; $FF + const CRED_TEXT_MON ; $FE + const CRED_TEXT_FADE ; $FD + const CRED_TEXT ; $FC + const CRED_COPYRIGHT ; $FB + const CRED_THE_END ; $FA diff --git a/constants/event_constants.asm b/constants/event_constants.asm index e8697daa..29c2e537 100755 --- a/constants/event_constants.asm +++ b/constants/event_constants.asm @@ -1,36 +1,15 @@ +; Pallet Town events const_def const EVENT_FOLLOWED_OAK_INTO_LAB - const EVENT_001 - const EVENT_002 + const_skip 2 const EVENT_HALL_OF_FAME_DEX_RATING - const EVENT_004 - const EVENT_005 + const_skip 2 const EVENT_PALLET_AFTER_GETTING_POKEBALLS - const EVENT_007 - const EVENT_008 - const EVENT_009 - const EVENT_00A - const EVENT_00B - const EVENT_00C - const EVENT_00D - const EVENT_00E - const EVENT_00F - const EVENT_010 - const EVENT_011 - const EVENT_012 - const EVENT_013 - const EVENT_014 - const EVENT_015 - const EVENT_016 - const EVENT_017 + const_skip 17 const EVENT_GOT_TOWN_MAP const EVENT_ENTERED_BLUES_HOUSE const EVENT_DAISY_WALKING - const EVENT_01B - const EVENT_01C - const EVENT_01D - const EVENT_01E - const EVENT_01F + const_skip 5 const EVENT_FOLLOWED_OAK_INTO_LAB_2 const EVENT_OAK_ASKED_TO_CHOOSE_MON const EVENT_GOT_STARTER @@ -39,46 +18,15 @@ const EVENT_GOT_POKEDEX const EVENT_PALLET_AFTER_GETTING_POKEBALLS_2 const EVENT_OAK_APPEARED_IN_PALLET + +; Viridian City events + const_next $28 const EVENT_VIRIDIAN_GYM_OPEN const EVENT_GOT_TM42 - const EVENT_02A - const EVENT_02B - const EVENT_02C - const EVENT_02D - const EVENT_02E - const EVENT_02F - const EVENT_030 - const EVENT_031 - const EVENT_032 - const EVENT_033 - const EVENT_034 - const EVENT_035 - const EVENT_036 - const EVENT_037 + const_skip 14 const EVENT_OAK_GOT_PARCEL const EVENT_GOT_OAKS_PARCEL - const EVENT_03A - const EVENT_03B - const EVENT_03C - const EVENT_03D - const EVENT_03E - const EVENT_03F - const EVENT_040 - const EVENT_041 - const EVENT_042 - const EVENT_043 - const EVENT_044 - const EVENT_045 - const EVENT_046 - const EVENT_047 - const EVENT_048 - const EVENT_049 - const EVENT_04A - const EVENT_04B - const EVENT_04C - const EVENT_04D - const EVENT_04E - const EVENT_04F + const_skip 22 const EVENT_GOT_TM27 const EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_0 @@ -89,340 +37,90 @@ const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_5 const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_6 const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_7 - const EVENT_05A - const EVENT_05B - const EVENT_05C - const EVENT_05D - const EVENT_05E - const EVENT_05F - const EVENT_060 - const EVENT_061 - const EVENT_062 - const EVENT_063 - const EVENT_064 - const EVENT_065 - const EVENT_066 - const EVENT_067 + +; Pewter City events + const_next $68 const EVENT_BOUGHT_MUSEUM_TICKET const EVENT_GOT_OLD_AMBER - const EVENT_06A - const EVENT_06B - const EVENT_06C - const EVENT_06D - const EVENT_06E - const EVENT_06F - const EVENT_070 - const EVENT_071 + const_skip 8 const EVENT_BEAT_PEWTER_GYM_TRAINER_0 - const EVENT_073 - const EVENT_074 - const EVENT_075 + const_skip 3 const EVENT_GOT_TM34 const EVENT_BEAT_BROCK - const EVENT_078 - const EVENT_079 - const EVENT_07A - const EVENT_07B - const EVENT_07C - const EVENT_07D - const EVENT_07E - const EVENT_07F - const EVENT_080 - const EVENT_081 - const EVENT_082 - const EVENT_083 - const EVENT_084 - const EVENT_085 - const EVENT_086 - const EVENT_087 - const EVENT_088 - const EVENT_089 - const EVENT_08A - const EVENT_08B - const EVENT_08C - const EVENT_08D - const EVENT_08E - const EVENT_08F - const EVENT_090 - const EVENT_091 - const EVENT_092 - const EVENT_093 - const EVENT_094 - const EVENT_095 - const EVENT_096 - const EVENT_097 + +; Cerulean City events + const_next $98 const EVENT_BEAT_CERULEAN_RIVAL - const EVENT_099 - const EVENT_09A - const EVENT_09B - const EVENT_09C - const EVENT_09D - const EVENT_09E - const EVENT_09F - const EVENT_0A0 - const EVENT_0A1 - const EVENT_0A2 - const EVENT_0A3 - const EVENT_0A4 - const EVENT_0A5 - const EVENT_0A6 + const_skip 14 const EVENT_BEAT_CERULEAN_ROCKET_THIEF - const EVENT_0A8 - const EVENT_0A9 - const EVENT_0AA - const EVENT_0AB - const EVENT_0AC - const EVENT_0AD - const EVENT_0AE - const EVENT_0AF - const EVENT_0B0 - const EVENT_0B1 - const EVENT_0B2 - const EVENT_0B3 - const EVENT_0B4 - const EVENT_0B5 - const EVENT_0B6 - const EVENT_0B7 - const EVENT_0B8 - const EVENT_0B9 + const_skip 18 const EVENT_BEAT_CERULEAN_GYM_TRAINER_0 const EVENT_BEAT_CERULEAN_GYM_TRAINER_1 - const EVENT_0BC - const EVENT_0BD + const_skip 2 const EVENT_GOT_TM11 const EVENT_BEAT_MISTY const EVENT_GOT_BICYCLE - const EVENT_0C1 - const EVENT_0C2 - const EVENT_0C3 - const EVENT_0C4 - const EVENT_0C5 - const EVENT_0C6 - const EVENT_0C7 - const EVENT_0C8 - const EVENT_0C9 - const EVENT_0CA - const EVENT_0CB - const EVENT_0CC - const EVENT_0CD - const EVENT_0CE - const EVENT_0CF - const EVENT_0D0 - const EVENT_0D1 - const EVENT_0D2 - const EVENT_0D3 - const EVENT_0D4 - const EVENT_0D5 - const EVENT_0D6 - const EVENT_0D7 - const EVENT_0D8 - const EVENT_0D9 - const EVENT_0DA - const EVENT_0DB - const EVENT_0DC - const EVENT_0DD - const EVENT_0DE - const EVENT_0DF - const EVENT_0E0 - const EVENT_0E1 - const EVENT_0E2 - const EVENT_0E3 - const EVENT_0E4 - const EVENT_0E5 - const EVENT_0E6 - const EVENT_0E7 - const EVENT_0E8 - const EVENT_0E9 - const EVENT_0EA - const EVENT_0EB - const EVENT_0EC - const EVENT_0ED + +; Lavender Town events + const_next $F0 - 2 const EVENT_POKEMON_TOWER_RIVAL_ON_LEFT const EVENT_BEAT_POKEMON_TOWER_RIVAL - const EVENT_0F0 + const_skip const EVENT_BEAT_POKEMONTOWER_3_TRAINER_0 const EVENT_BEAT_POKEMONTOWER_3_TRAINER_1 const EVENT_BEAT_POKEMONTOWER_3_TRAINER_2 - const EVENT_0F4 - const EVENT_0F5 - const EVENT_0F6 - const EVENT_0F7 - const EVENT_0F8 + const_skip 5 const EVENT_BEAT_POKEMONTOWER_4_TRAINER_0 const EVENT_BEAT_POKEMONTOWER_4_TRAINER_1 const EVENT_BEAT_POKEMONTOWER_4_TRAINER_2 - const EVENT_0FC - const EVENT_0FD - const EVENT_0FE - const EVENT_0FF - const EVENT_100 - const EVENT_101 + const_skip 6 const EVENT_BEAT_POKEMONTOWER_5_TRAINER_0 const EVENT_BEAT_POKEMONTOWER_5_TRAINER_1 const EVENT_BEAT_POKEMONTOWER_5_TRAINER_2 const EVENT_BEAT_POKEMONTOWER_5_TRAINER_3 - const EVENT_106 + const_skip const EVENT_IN_PURIFIED_ZONE - const EVENT_108 + const_skip const EVENT_BEAT_POKEMONTOWER_6_TRAINER_0 const EVENT_BEAT_POKEMONTOWER_6_TRAINER_1 const EVENT_BEAT_POKEMONTOWER_6_TRAINER_2 - const EVENT_10C - const EVENT_10D - const EVENT_10E + const_skip 3 const EVENT_BEAT_GHOST_MAROWAK - const EVENT_110 + const_skip const EVENT_BEAT_POKEMONTOWER_7_TRAINER_0 const EVENT_BEAT_POKEMONTOWER_7_TRAINER_1 const EVENT_BEAT_POKEMONTOWER_7_TRAINER_2 - const EVENT_114 - const EVENT_115 - const EVENT_116 + const_skip 3 const EVENT_RESCUED_MR_FUJI_2 - const EVENT_118 - const EVENT_119 - const EVENT_11A - const EVENT_11B - const EVENT_11C - const EVENT_11D - const EVENT_11E - const EVENT_11F - const EVENT_120 - const EVENT_121 - const EVENT_122 - const EVENT_123 - const EVENT_124 - const EVENT_125 - const EVENT_126 - const EVENT_127 + const_skip 16 const EVENT_GOT_POKE_FLUTE - const EVENT_129 - const EVENT_12A - const EVENT_12B - const EVENT_12C - const EVENT_12D - const EVENT_12E - const EVENT_12F - const EVENT_130 - const EVENT_131 - const EVENT_132 - const EVENT_133 - const EVENT_134 - const EVENT_135 - const EVENT_136 - const EVENT_137 - const EVENT_138 - const EVENT_139 - const EVENT_13A - const EVENT_13B - const EVENT_13C - const EVENT_13D - const EVENT_13E - const EVENT_13F - const EVENT_140 - const EVENT_141 - const EVENT_142 - const EVENT_143 - const EVENT_144 - const EVENT_145 - const EVENT_146 - const EVENT_147 - const EVENT_148 - const EVENT_149 - const EVENT_14A - const EVENT_14B - const EVENT_14C - const EVENT_14D - const EVENT_14E - const EVENT_14F - const EVENT_150 + +; Vermilion City events + const_next $150 + const_skip const EVENT_GOT_BIKE_VOUCHER - const EVENT_152 - const EVENT_153 - const EVENT_154 - const EVENT_155 + const_skip 4 const EVENT_SEEL_FAN_BOAST const EVENT_PIKACHU_FAN_BOAST - const EVENT_158 - const EVENT_159 - const EVENT_15A - const EVENT_15B - const EVENT_15C - const EVENT_15D - const EVENT_15E - const EVENT_15F + const_skip 8 const EVENT_2ND_LOCK_OPENED const EVENT_1ST_LOCK_OPENED const EVENT_BEAT_VERMILION_GYM_TRAINER_0 const EVENT_BEAT_VERMILION_GYM_TRAINER_1 const EVENT_BEAT_VERMILION_GYM_TRAINER_2 - const EVENT_165 + const_skip const EVENT_GOT_TM24 const EVENT_BEAT_LT_SURGE - const EVENT_168 - const EVENT_169 - const EVENT_16A - const EVENT_16B - const EVENT_16C - const EVENT_16D - const EVENT_16E - const EVENT_16F - const EVENT_170 - const EVENT_171 - const EVENT_172 - const EVENT_173 - const EVENT_174 - const EVENT_175 - const EVENT_176 - const EVENT_177 - const EVENT_178 - const EVENT_179 - const EVENT_17A - const EVENT_17B - const EVENT_17C - const EVENT_17D - const EVENT_17E - const EVENT_17F + +; Celadon City events + const_next $180 const EVENT_GOT_TM41 - const EVENT_181 - const EVENT_182 - const EVENT_183 - const EVENT_184 - const EVENT_185 - const EVENT_186 - const EVENT_187 - const EVENT_188 - const EVENT_189 - const EVENT_18A - const EVENT_18B + const_skip 11 const EVENT_GOT_TM13 const EVENT_GOT_TM48 const EVENT_GOT_TM49 const EVENT_GOT_TM18 - const EVENT_190 - const EVENT_191 - const EVENT_192 - const EVENT_193 - const EVENT_194 - const EVENT_195 - const EVENT_196 - const EVENT_197 - const EVENT_198 - const EVENT_199 - const EVENT_19A - const EVENT_19B - const EVENT_19C - const EVENT_19D - const EVENT_19E - const EVENT_19F - const EVENT_1A0 - const EVENT_1A1 - const EVENT_1A2 - const EVENT_1A3 - const EVENT_1A4 - const EVENT_1A5 - const EVENT_1A6 - const EVENT_1A7 + const_skip 24 const EVENT_GOT_TM21 const EVENT_BEAT_ERIKA const EVENT_BEAT_CELADON_GYM_TRAINER_0 @@ -432,173 +130,25 @@ const EVENT_BEAT_CELADON_GYM_TRAINER_4 const EVENT_BEAT_CELADON_GYM_TRAINER_5 const EVENT_BEAT_CELADON_GYM_TRAINER_6 - const EVENT_1B1 - const EVENT_1B2 - const EVENT_1B3 - const EVENT_1B4 - const EVENT_1B5 - const EVENT_1B6 - const EVENT_1B7 - const EVENT_1B8 + const_skip 7 + const EVENT_1B8 ; ??? const EVENT_FOUND_ROCKET_HIDEOUT const EVENT_GOT_10_COINS const EVENT_GOT_20_COINS const EVENT_GOT_20_COINS_2 - const EVENT_1BD - const EVENT_1BE - const EVENT_1BF - const EVENT_1C0 - const EVENT_1C1 - const EVENT_1C2 - const EVENT_1C3 - const EVENT_1C4 - const EVENT_1C5 - const EVENT_1C6 - const EVENT_1C7 - const EVENT_1C8 - const EVENT_1C9 - const EVENT_1CA - const EVENT_1CB - const EVENT_1CC - const EVENT_1CD - const EVENT_1CE - const EVENT_1CF - const EVENT_1D0 - const EVENT_1D1 - const EVENT_1D2 - const EVENT_1D3 - const EVENT_1D4 - const EVENT_1D5 - const EVENT_1D6 - const EVENT_1D7 - const EVENT_1D8 - const EVENT_1D9 - const EVENT_1DA - const EVENT_1DB - const EVENT_1DC - const EVENT_1DD - const EVENT_1DE - const EVENT_1DF + const_skip 2 + const EVENT_1BF ; ??? + const_skip 32 const EVENT_GOT_COIN_CASE - const EVENT_1E1 - const EVENT_1E2 - const EVENT_1E3 - const EVENT_1E4 - const EVENT_1E5 - const EVENT_1E6 - const EVENT_1E7 - const EVENT_1E8 - const EVENT_1E9 - const EVENT_1EA - const EVENT_1EB - const EVENT_1EC - const EVENT_1ED - const EVENT_1EE - const EVENT_1EF - const EVENT_1F0 - const EVENT_1F1 - const EVENT_1F2 - const EVENT_1F3 - const EVENT_1F4 - const EVENT_1F5 - const EVENT_1F6 - const EVENT_1F7 - const EVENT_1F8 - const EVENT_1F9 - const EVENT_1FA - const EVENT_1FB - const EVENT_1FC - const EVENT_1FD - const EVENT_1FE - const EVENT_1FF - const EVENT_200 - const EVENT_201 - const EVENT_202 - const EVENT_203 - const EVENT_204 - const EVENT_205 - const EVENT_206 - const EVENT_207 - const EVENT_208 - const EVENT_209 - const EVENT_20A - const EVENT_20B - const EVENT_20C - const EVENT_20D - const EVENT_20E - const EVENT_20F - const EVENT_210 - const EVENT_211 - const EVENT_212 - const EVENT_213 - const EVENT_214 - const EVENT_215 - const EVENT_216 - const EVENT_217 - const EVENT_218 - const EVENT_219 - const EVENT_21A - const EVENT_21B - const EVENT_21C - const EVENT_21D - const EVENT_21E - const EVENT_21F - const EVENT_220 - const EVENT_221 - const EVENT_222 - const EVENT_223 - const EVENT_224 - const EVENT_225 - const EVENT_226 - const EVENT_227 - const EVENT_228 - const EVENT_229 - const EVENT_22A - const EVENT_22B - const EVENT_22C - const EVENT_22D - const EVENT_22E - const EVENT_22F - const EVENT_230 - const EVENT_231 - const EVENT_232 - const EVENT_233 - const EVENT_234 - const EVENT_235 - const EVENT_236 - const EVENT_237 + +; Fuchsia City events + const_next $238 const EVENT_GOT_HM04 const EVENT_GAVE_GOLD_TEETH - const EVENT_23A - const EVENT_23B - const EVENT_23C - const EVENT_23D - const EVENT_23E - const EVENT_23F - const EVENT_240 - const EVENT_241 - const EVENT_242 - const EVENT_243 - const EVENT_244 - const EVENT_245 - const EVENT_246 - const EVENT_247 - const EVENT_248 - const EVENT_249 - const EVENT_24A - const EVENT_24B - const EVENT_24C - const EVENT_24D + const_skip 20 const EVENT_SAFARI_GAME_OVER const EVENT_IN_SAFARI_ZONE - const EVENT_250 - const EVENT_251 - const EVENT_252 - const EVENT_253 - const EVENT_254 - const EVENT_255 - const EVENT_256 - const EVENT_257 + const_skip 8 const EVENT_GOT_TM06 const EVENT_BEAT_KOGA const EVENT_BEAT_FUCHSIA_GYM_TRAINER_0 @@ -607,62 +157,13 @@ const EVENT_BEAT_FUCHSIA_GYM_TRAINER_3 const EVENT_BEAT_FUCHSIA_GYM_TRAINER_4 const EVENT_BEAT_FUCHSIA_GYM_TRAINER_5 - const EVENT_260 - const EVENT_261 - const EVENT_262 - const EVENT_263 - const EVENT_264 - const EVENT_265 - const EVENT_266 - const EVENT_267 - const EVENT_268 - const EVENT_269 - const EVENT_26A - const EVENT_26B - const EVENT_26C - const EVENT_26D - const EVENT_26E - const EVENT_26F - const EVENT_270 - const EVENT_271 - const EVENT_272 - const EVENT_273 - const EVENT_274 - const EVENT_275 - const EVENT_276 - const EVENT_277 + +; Cinnabar Island events + const_next $278 const EVENT_MANSION_SWITCH_ON - const EVENT_279 - const EVENT_27A - const EVENT_27B - const EVENT_27C - const EVENT_27D - const EVENT_27E - const EVENT_27F - const EVENT_280 - const EVENT_281 - const EVENT_282 - const EVENT_283 - const EVENT_284 - const EVENT_285 - const EVENT_286 - const EVENT_287 - const EVENT_288 + const_skip 16 const EVENT_BEAT_MANSION_1_TRAINER_0 - const EVENT_28A - const EVENT_28B - const EVENT_28C - const EVENT_28D - const EVENT_28E - const EVENT_28F - const EVENT_290 - const EVENT_291 - const EVENT_292 - const EVENT_293 - const EVENT_294 - const EVENT_295 - const EVENT_296 - const EVENT_297 + const_skip 14 const EVENT_GOT_TM38 const EVENT_BEAT_BLAINE const EVENT_BEAT_CINNABAR_GYM_TRAINER_0 @@ -672,13 +173,8 @@ const EVENT_BEAT_CINNABAR_GYM_TRAINER_4 const EVENT_BEAT_CINNABAR_GYM_TRAINER_5 const EVENT_BEAT_CINNABAR_GYM_TRAINER_6 - const EVENT_2A1 - const EVENT_2A2 - const EVENT_2A3 - const EVENT_2A4 - const EVENT_2A5 - const EVENT_2A6 - const EVENT_2A7 + const_skip 6 + const EVENT_2A7 ; ??? const EVENT_CINNABAR_GYM_GATE0_UNLOCKED const EVENT_CINNABAR_GYM_GATE1_UNLOCKED const EVENT_CINNABAR_GYM_GATE2_UNLOCKED @@ -686,167 +182,17 @@ const EVENT_CINNABAR_GYM_GATE4_UNLOCKED const EVENT_CINNABAR_GYM_GATE5_UNLOCKED const EVENT_CINNABAR_GYM_GATE6_UNLOCKED - const EVENT_2AF - const EVENT_2B0 - const EVENT_2B1 - const EVENT_2B2 - const EVENT_2B3 - const EVENT_2B4 - const EVENT_2B5 - const EVENT_2B6 - const EVENT_2B7 - const EVENT_2B8 - const EVENT_2B9 - const EVENT_2BA - const EVENT_2BB - const EVENT_2BC - const EVENT_2BD - const EVENT_2BE - const EVENT_2BF - const EVENT_2C0 - const EVENT_2C1 - const EVENT_2C2 - const EVENT_2C3 - const EVENT_2C4 - const EVENT_2C5 - const EVENT_2C6 - const EVENT_2C7 - const EVENT_2C8 - const EVENT_2C9 - const EVENT_2CA - const EVENT_2CB - const EVENT_2CC - const EVENT_2CD - const EVENT_2CE - const EVENT_2CF - const EVENT_2D0 - const EVENT_2D1 - const EVENT_2D2 - const EVENT_2D3 - const EVENT_2D4 - const EVENT_2D5 - const EVENT_2D6 + const_skip 40 const EVENT_GOT_TM35 - const EVENT_2D8 - const EVENT_2D9 - const EVENT_2DA - const EVENT_2DB - const EVENT_2DC - const EVENT_2DD - const EVENT_2DE - const EVENT_2DF + const_skip 8 const EVENT_GAVE_FOSSIL_TO_LAB const EVENT_LAB_STILL_REVIVING_FOSSIL const EVENT_LAB_HANDING_OVER_FOSSIL_MON - const EVENT_2E3 - const EVENT_2E4 - const EVENT_2E5 - const EVENT_2E6 - const EVENT_2E7 - const EVENT_2E8 - const EVENT_2E9 - const EVENT_2EA - const EVENT_2EB - const EVENT_2EC - const EVENT_2ED - const EVENT_2EE - const EVENT_2EF - const EVENT_2F0 - const EVENT_2F1 - const EVENT_2F2 - const EVENT_2F3 - const EVENT_2F4 - const EVENT_2F5 - const EVENT_2F6 - const EVENT_2F7 - const EVENT_2F8 - const EVENT_2F9 - const EVENT_2FA - const EVENT_2FB - const EVENT_2FC - const EVENT_2FD - const EVENT_2FE - const EVENT_2FF - const EVENT_300 - const EVENT_301 - const EVENT_302 - const EVENT_303 - const EVENT_304 - const EVENT_305 - const EVENT_306 - const EVENT_307 - const EVENT_308 - const EVENT_309 - const EVENT_30A - const EVENT_30B - const EVENT_30C - const EVENT_30D - const EVENT_30E - const EVENT_30F - const EVENT_310 - const EVENT_311 - const EVENT_312 - const EVENT_313 - const EVENT_314 - const EVENT_315 - const EVENT_316 - const EVENT_317 - const EVENT_318 - const EVENT_319 - const EVENT_31A - const EVENT_31B - const EVENT_31C - const EVENT_31D - const EVENT_31E - const EVENT_31F - const EVENT_320 - const EVENT_321 - const EVENT_322 - const EVENT_323 - const EVENT_324 - const EVENT_325 - const EVENT_326 - const EVENT_327 - const EVENT_328 - const EVENT_329 - const EVENT_32A - const EVENT_32B - const EVENT_32C - const EVENT_32D - const EVENT_32E - const EVENT_32F - const EVENT_330 - const EVENT_331 - const EVENT_332 - const EVENT_333 - const EVENT_334 - const EVENT_335 - const EVENT_336 - const EVENT_337 - const EVENT_338 - const EVENT_339 - const EVENT_33A - const EVENT_33B - const EVENT_33C - const EVENT_33D - const EVENT_33E - const EVENT_33F + +; Saffron City events + const_next $340 const EVENT_GOT_TM31 - const EVENT_341 - const EVENT_342 - const EVENT_343 - const EVENT_344 - const EVENT_345 - const EVENT_346 - const EVENT_347 - const EVENT_348 - const EVENT_349 - const EVENT_34A - const EVENT_34B - const EVENT_34C - const EVENT_34D - const EVENT_34E - const EVENT_34F + const_skip 15 const EVENT_DEFEATED_FIGHTING_DOJO const EVENT_BEAT_KARATE_MASTER const EVENT_BEAT_FIGHTING_DOJO_TRAINER_0 @@ -855,14 +201,7 @@ const EVENT_BEAT_FIGHTING_DOJO_TRAINER_3 const EVENT_GOT_HITMONLEE const EVENT_GOT_HITMONCHAN - const EVENT_358 - const EVENT_359 - const EVENT_35A - const EVENT_35B - const EVENT_35C - const EVENT_35D - const EVENT_35E - const EVENT_35F + const_skip 8 const EVENT_GOT_TM46 const EVENT_BEAT_SABRINA const EVENT_BEAT_SAFFRON_GYM_TRAINER_0 @@ -872,127 +211,22 @@ const EVENT_BEAT_SAFFRON_GYM_TRAINER_4 const EVENT_BEAT_SAFFRON_GYM_TRAINER_5 const EVENT_BEAT_SAFFRON_GYM_TRAINER_6 - const EVENT_369 - const EVENT_36A - const EVENT_36B - const EVENT_36C - const EVENT_36D - const EVENT_36E - const EVENT_36F - const EVENT_370 - const EVENT_371 - const EVENT_372 - const EVENT_373 - const EVENT_374 - const EVENT_375 - const EVENT_376 - const EVENT_377 - const EVENT_378 - const EVENT_379 - const EVENT_37A - const EVENT_37B - const EVENT_37C - const EVENT_37D - const EVENT_37E - const EVENT_37F - const EVENT_380 - const EVENT_381 - const EVENT_382 - const EVENT_383 - const EVENT_384 - const EVENT_385 - const EVENT_386 - const EVENT_387 - const EVENT_388 - const EVENT_389 - const EVENT_38A - const EVENT_38B - const EVENT_38C - const EVENT_38D - const EVENT_38E - const EVENT_38F - const EVENT_390 - const EVENT_391 - const EVENT_392 - const EVENT_393 - const EVENT_394 - const EVENT_395 - const EVENT_396 + const_skip 46 const EVENT_SILPH_CO_RECEPTIONIST_AT_DESK - const EVENT_398 - const EVENT_399 - const EVENT_39A - const EVENT_39B - const EVENT_39C - const EVENT_39D - const EVENT_39E - const EVENT_39F - const EVENT_3A0 - const EVENT_3A1 - const EVENT_3A2 - const EVENT_3A3 - const EVENT_3A4 - const EVENT_3A5 - const EVENT_3A6 - const EVENT_3A7 - const EVENT_3A8 - const EVENT_3A9 - const EVENT_3AA - const EVENT_3AB - const EVENT_3AC - const EVENT_3AD - const EVENT_3AE - const EVENT_3AF + const_skip 24 const EVENT_GOT_TM29 - const EVENT_3B1 - const EVENT_3B2 - const EVENT_3B3 - const EVENT_3B4 - const EVENT_3B5 - const EVENT_3B6 - const EVENT_3B7 - const EVENT_3B8 - const EVENT_3B9 - const EVENT_3BA - const EVENT_3BB - const EVENT_3BC - const EVENT_3BD - const EVENT_3BE - const EVENT_3BF + +; Route 1 events + const_next $3C0 const EVENT_GOT_POTION_SAMPLE - const EVENT_3C1 - const EVENT_3C2 - const EVENT_3C3 - const EVENT_3C4 - const EVENT_3C5 - const EVENT_3C6 - const EVENT_3C7 - const EVENT_3C8 - const EVENT_3C9 - const EVENT_3CA - const EVENT_3CB - const EVENT_3CC - const EVENT_3CD - const EVENT_3CE - const EVENT_3CF - const EVENT_3D0 - const EVENT_3D1 - const EVENT_3D2 - const EVENT_3D3 - const EVENT_3D4 - const EVENT_3D5 - const EVENT_3D6 - const EVENT_3D7 + +; Route 2 events + const_next $3D8 const EVENT_GOT_HM05 - const EVENT_3D9 - const EVENT_3DA - const EVENT_3DB - const EVENT_3DC - const EVENT_3DD - const EVENT_3DE - const EVENT_3DF - const EVENT_3E0 - const EVENT_3E1 + +; Route 3 events + const_next $3E0 + const_skip 2 const EVENT_BEAT_ROUTE_3_TRAINER_0 const EVENT_BEAT_ROUTE_3_TRAINER_1 const EVENT_BEAT_ROUTE_3_TRAINER_2 @@ -1001,77 +235,27 @@ const EVENT_BEAT_ROUTE_3_TRAINER_5 const EVENT_BEAT_ROUTE_3_TRAINER_6 const EVENT_BEAT_ROUTE_3_TRAINER_7 - const EVENT_3EA - const EVENT_3EB - const EVENT_3EC - const EVENT_3ED - const EVENT_3EE - const EVENT_3EF - const EVENT_3F0 - const EVENT_3F1 + +; Route 4 events + const_next $3F0 + const_skip 2 const EVENT_BEAT_ROUTE_4_TRAINER_0 - const EVENT_3F3 - const EVENT_3F4 - const EVENT_3F5 - const EVENT_3F6 - const EVENT_3F7 - const EVENT_3F8 - const EVENT_3F9 - const EVENT_3FA - const EVENT_3FB - const EVENT_3FC - const EVENT_3FD - const EVENT_3FE + const_skip 12 const EVENT_BOUGHT_MAGIKARP - const EVENT_400 - const EVENT_401 - const EVENT_402 - const EVENT_403 - const EVENT_404 - const EVENT_405 - const EVENT_406 - const EVENT_407 - const EVENT_408 - const EVENT_409 - const EVENT_40A - const EVENT_40B - const EVENT_40C - const EVENT_40D - const EVENT_40E - const EVENT_40F - const EVENT_410 + +; Route 6 events + const_next $410 + const_skip const EVENT_BEAT_ROUTE_6_TRAINER_0 const EVENT_BEAT_ROUTE_6_TRAINER_1 const EVENT_BEAT_ROUTE_6_TRAINER_2 const EVENT_BEAT_ROUTE_6_TRAINER_3 const EVENT_BEAT_ROUTE_6_TRAINER_4 const EVENT_BEAT_ROUTE_6_TRAINER_5 - const EVENT_417 - const EVENT_418 - const EVENT_419 - const EVENT_41A - const EVENT_41B - const EVENT_41C - const EVENT_41D - const EVENT_41E - const EVENT_41F - const EVENT_420 - const EVENT_421 - const EVENT_422 - const EVENT_423 - const EVENT_424 - const EVENT_425 - const EVENT_426 - const EVENT_427 - const EVENT_428 - const EVENT_429 - const EVENT_42A - const EVENT_42B - const EVENT_42C - const EVENT_42D - const EVENT_42E - const EVENT_42F - const EVENT_430 + +; Route 8 events + const_next $430 + const_skip const EVENT_BEAT_ROUTE_8_TRAINER_0 const EVENT_BEAT_ROUTE_8_TRAINER_1 const EVENT_BEAT_ROUTE_8_TRAINER_2 @@ -1081,13 +265,10 @@ const EVENT_BEAT_ROUTE_8_TRAINER_6 const EVENT_BEAT_ROUTE_8_TRAINER_7 const EVENT_BEAT_ROUTE_8_TRAINER_8 - const EVENT_43A - const EVENT_43B - const EVENT_43C - const EVENT_43D - const EVENT_43E - const EVENT_43F - const EVENT_440 + +; Route 9 events + const_next $440 + const_skip const EVENT_BEAT_ROUTE_9_TRAINER_0 const EVENT_BEAT_ROUTE_9_TRAINER_1 const EVENT_BEAT_ROUTE_9_TRAINER_2 @@ -1097,21 +278,17 @@ const EVENT_BEAT_ROUTE_9_TRAINER_6 const EVENT_BEAT_ROUTE_9_TRAINER_7 const EVENT_BEAT_ROUTE_9_TRAINER_8 - const EVENT_44A - const EVENT_44B - const EVENT_44C - const EVENT_44D - const EVENT_44E - const EVENT_44F - const EVENT_450 + +; Route 10 events + const_next $450 + const_skip const EVENT_BEAT_ROUTE_10_TRAINER_0 const EVENT_BEAT_ROUTE_10_TRAINER_1 const EVENT_BEAT_ROUTE_10_TRAINER_2 const EVENT_BEAT_ROUTE_10_TRAINER_3 const EVENT_BEAT_ROUTE_10_TRAINER_4 const EVENT_BEAT_ROUTE_10_TRAINER_5 - const EVENT_457 - const EVENT_458 + const_skip 2 const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_0 const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_1 const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_2 @@ -1119,7 +296,7 @@ const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_4 const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_5 const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_6 - const EVENT_460 + const_skip const EVENT_BEAT_POWER_PLANT_VOLTORB_0 const EVENT_BEAT_POWER_PLANT_VOLTORB_1 const EVENT_BEAT_POWER_PLANT_VOLTORB_2 @@ -1129,13 +306,10 @@ const EVENT_BEAT_POWER_PLANT_VOLTORB_6 const EVENT_BEAT_POWER_PLANT_VOLTORB_7 const EVENT_BEAT_ZAPDOS - const EVENT_46A - const EVENT_46B - const EVENT_46C - const EVENT_46D - const EVENT_46E - const EVENT_46F - const EVENT_470 + +; Route 11 events + const_next $470 + const_skip const EVENT_BEAT_ROUTE_11_TRAINER_0 const EVENT_BEAT_ROUTE_11_TRAINER_1 const EVENT_BEAT_ROUTE_11_TRAINER_2 @@ -1146,13 +320,13 @@ const EVENT_BEAT_ROUTE_11_TRAINER_7 const EVENT_BEAT_ROUTE_11_TRAINER_8 const EVENT_BEAT_ROUTE_11_TRAINER_9 - const EVENT_47B - const EVENT_47C - const EVENT_47D - const EVENT_47E + const_skip 4 const EVENT_GOT_ITEMFINDER + +; Route 12 events + const_next $480 const EVENT_GOT_TM39 - const EVENT_481 + const_skip const EVENT_BEAT_ROUTE_12_TRAINER_0 const EVENT_BEAT_ROUTE_12_TRAINER_1 const EVENT_BEAT_ROUTE_12_TRAINER_2 @@ -1160,14 +334,13 @@ const EVENT_BEAT_ROUTE_12_TRAINER_4 const EVENT_BEAT_ROUTE_12_TRAINER_5 const EVENT_BEAT_ROUTE_12_TRAINER_6 - const EVENT_489 - const EVENT_48A - const EVENT_48B - const EVENT_48C - const EVENT_48D + const_skip 5 const EVENT_FIGHT_ROUTE12_SNORLAX const EVENT_BEAT_ROUTE12_SNORLAX - const EVENT_490 + +; Route 13 events + const_next $490 + const_skip const EVENT_BEAT_ROUTE_13_TRAINER_0 const EVENT_BEAT_ROUTE_13_TRAINER_1 const EVENT_BEAT_ROUTE_13_TRAINER_2 @@ -1178,12 +351,10 @@ const EVENT_BEAT_ROUTE_13_TRAINER_7 const EVENT_BEAT_ROUTE_13_TRAINER_8 const EVENT_BEAT_ROUTE_13_TRAINER_9 - const EVENT_49B - const EVENT_49C - const EVENT_49D - const EVENT_49E - const EVENT_49F - const EVENT_4A0 + +; Route 14 events + const_next $4A0 + const_skip const EVENT_BEAT_ROUTE_14_TRAINER_0 const EVENT_BEAT_ROUTE_14_TRAINER_1 const EVENT_BEAT_ROUTE_14_TRAINER_2 @@ -1194,11 +365,9 @@ const EVENT_BEAT_ROUTE_14_TRAINER_7 const EVENT_BEAT_ROUTE_14_TRAINER_8 const EVENT_BEAT_ROUTE_14_TRAINER_9 - const EVENT_4AB - const EVENT_4AC - const EVENT_4AD - const EVENT_4AE - const EVENT_4AF + +; Route 15 events + const_next $4B0 const EVENT_GOT_EXP_ALL const EVENT_BEAT_ROUTE_15_TRAINER_0 const EVENT_BEAT_ROUTE_15_TRAINER_1 @@ -1210,28 +379,26 @@ const EVENT_BEAT_ROUTE_15_TRAINER_7 const EVENT_BEAT_ROUTE_15_TRAINER_8 const EVENT_BEAT_ROUTE_15_TRAINER_9 - const EVENT_4BB - const EVENT_4BC - const EVENT_4BD - const EVENT_4BE - const EVENT_4BF - const EVENT_4C0 + +; Route 16 events + const_next $4C0 + const_skip const EVENT_BEAT_ROUTE_16_TRAINER_0 const EVENT_BEAT_ROUTE_16_TRAINER_1 const EVENT_BEAT_ROUTE_16_TRAINER_2 const EVENT_BEAT_ROUTE_16_TRAINER_3 const EVENT_BEAT_ROUTE_16_TRAINER_4 const EVENT_BEAT_ROUTE_16_TRAINER_5 - const EVENT_4C7 + const_skip const EVENT_FIGHT_ROUTE16_SNORLAX const EVENT_BEAT_ROUTE16_SNORLAX - const EVENT_4CA - const EVENT_4CB - const EVENT_4CC - const EVENT_4CD + const_skip 4 const EVENT_GOT_HM02 const EVENT_RESCUED_MR_FUJI - const EVENT_4D0 + +; Route 17 events + const_next $4D0 + const_skip const EVENT_BEAT_ROUTE_17_TRAINER_0 const EVENT_BEAT_ROUTE_17_TRAINER_1 const EVENT_BEAT_ROUTE_17_TRAINER_2 @@ -1242,28 +409,17 @@ const EVENT_BEAT_ROUTE_17_TRAINER_7 const EVENT_BEAT_ROUTE_17_TRAINER_8 const EVENT_BEAT_ROUTE_17_TRAINER_9 - const EVENT_4DB - const EVENT_4DC - const EVENT_4DD - const EVENT_4DE - const EVENT_4DF - const EVENT_4E0 + +; Route 18 events + const_next $4E0 + const_skip const EVENT_BEAT_ROUTE_18_TRAINER_0 const EVENT_BEAT_ROUTE_18_TRAINER_1 const EVENT_BEAT_ROUTE_18_TRAINER_2 - const EVENT_4E4 - const EVENT_4E5 - const EVENT_4E6 - const EVENT_4E7 - const EVENT_4E8 - const EVENT_4E9 - const EVENT_4EA - const EVENT_4EB - const EVENT_4EC - const EVENT_4ED - const EVENT_4EE - const EVENT_4EF - const EVENT_4F0 + +; Route 19 events + const_next $4F0 + const_skip const EVENT_BEAT_ROUTE_19_TRAINER_0 const EVENT_BEAT_ROUTE_19_TRAINER_1 const EVENT_BEAT_ROUTE_19_TRAINER_2 @@ -1274,11 +430,9 @@ const EVENT_BEAT_ROUTE_19_TRAINER_7 const EVENT_BEAT_ROUTE_19_TRAINER_8 const EVENT_BEAT_ROUTE_19_TRAINER_9 - const EVENT_4FB - const EVENT_4FC - const EVENT_4FD - const EVENT_4FE - const EVENT_4FF + +; Route 20 events + const_next $500 const EVENT_IN_SEAFOAM_ISLANDS const EVENT_BEAT_ROUTE_20_TRAINER_0 const EVENT_BEAT_ROUTE_20_TRAINER_1 @@ -1290,12 +444,13 @@ const EVENT_BEAT_ROUTE_20_TRAINER_7 const EVENT_BEAT_ROUTE_20_TRAINER_8 const EVENT_BEAT_ROUTE_20_TRAINER_9 - const EVENT_50B - const EVENT_50C - const EVENT_50D + const_skip 3 const EVENT_SEAFOAM1_BOULDER1_DOWN_HOLE const EVENT_SEAFOAM1_BOULDER2_DOWN_HOLE - const EVENT_510 + +; Route 21 events + const_next $510 + const_skip const EVENT_BEAT_ROUTE_21_TRAINER_0 const EVENT_BEAT_ROUTE_21_TRAINER_1 const EVENT_BEAT_ROUTE_21_TRAINER_2 @@ -1305,28 +460,18 @@ const EVENT_BEAT_ROUTE_21_TRAINER_6 const EVENT_BEAT_ROUTE_21_TRAINER_7 const EVENT_BEAT_ROUTE_21_TRAINER_8 - const EVENT_51A - const EVENT_51B - const EVENT_51C - const EVENT_51D - const EVENT_51E - const EVENT_51F + +; Route 22 events + const_next $520 const EVENT_1ST_ROUTE22_RIVAL_BATTLE const EVENT_2ND_ROUTE22_RIVAL_BATTLE - const EVENT_522 - const EVENT_523 - const EVENT_524 + const_skip 3 const EVENT_BEAT_ROUTE22_RIVAL_1ST_BATTLE const EVENT_BEAT_ROUTE22_RIVAL_2ND_BATTLE const EVENT_ROUTE22_RIVAL_WANTS_BATTLE - const EVENT_528 - const EVENT_529 - const EVENT_52A - const EVENT_52B - const EVENT_52C - const EVENT_52D - const EVENT_52E - const EVENT_52F + +; Route 23 events + const_next $530 const EVENT_PASSED_CASCADEBADGE_CHECK const EVENT_PASSED_THUNDERBADGE_CHECK const EVENT_PASSED_RAINBOWBADGE_CHECK @@ -1334,7 +479,7 @@ const EVENT_PASSED_MARSHBADGE_CHECK const EVENT_PASSED_VOLCANOBADGE_CHECK const EVENT_PASSED_EARTHBADGE_CHECK - const EVENT_537 + const_skip const EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1 const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_0 const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_1 @@ -1343,6 +488,9 @@ const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_4 const EVENT_BEAT_MOLTRES const EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH2 + +; Route 24 events + const_next $540 const EVENT_GOT_NUGGET const EVENT_BEAT_ROUTE24_ROCKET const EVENT_BEAT_ROUTE_24_TRAINER_0 @@ -1351,14 +499,11 @@ const EVENT_BEAT_ROUTE_24_TRAINER_3 const EVENT_BEAT_ROUTE_24_TRAINER_4 const EVENT_BEAT_ROUTE_24_TRAINER_5 - const EVENT_548 + const_skip const EVENT_NUGGET_REWARD_AVAILABLE - const EVENT_54A - const EVENT_54B - const EVENT_54C - const EVENT_54D - const EVENT_54E - const EVENT_54F + +; Route 25 events + const_next $550 const EVENT_MET_BILL const EVENT_BEAT_ROUTE_25_TRAINER_0 const EVENT_BEAT_ROUTE_25_TRAINER_1 @@ -1369,29 +514,23 @@ const EVENT_BEAT_ROUTE_25_TRAINER_6 const EVENT_BEAT_ROUTE_25_TRAINER_7 const EVENT_BEAT_ROUTE_25_TRAINER_8 - const EVENT_55A + const_skip const EVENT_USED_CELL_SEPARATOR_ON_BILL const EVENT_GOT_SS_TICKET const EVENT_MET_BILL_2 const EVENT_BILL_SAID_USE_CELL_SEPARATOR const EVENT_LEFT_BILLS_HOUSE_AFTER_HELPING - const EVENT_560 - const EVENT_561 + +; Viridian Forest events + const_next $560 + const_skip 2 const EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_0 const EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_1 const EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_2 - const EVENT_565 - const EVENT_566 - const EVENT_567 - const EVENT_568 - const EVENT_569 - const EVENT_56A - const EVENT_56B - const EVENT_56C - const EVENT_56D - const EVENT_56E - const EVENT_56F - const EVENT_570 + +; Mt. Moon events + const_next $570 + const_skip const EVENT_BEAT_MT_MOON_1_TRAINER_0 const EVENT_BEAT_MT_MOON_1_TRAINER_1 const EVENT_BEAT_MT_MOON_1_TRAINER_2 @@ -1399,7 +538,7 @@ const EVENT_BEAT_MT_MOON_1_TRAINER_4 const EVENT_BEAT_MT_MOON_1_TRAINER_5 const EVENT_BEAT_MT_MOON_1_TRAINER_6 - const EVENT_578 + const_skip const EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD const EVENT_BEAT_MT_MOON_3_TRAINER_0 const EVENT_BEAT_MT_MOON_3_TRAINER_1 @@ -1407,1079 +546,206 @@ const EVENT_BEAT_MT_MOON_3_TRAINER_3 const EVENT_GOT_DOME_FOSSIL const EVENT_GOT_HELIX_FOSSIL - const EVENT_580 - const EVENT_581 - const EVENT_582 - const EVENT_583 - const EVENT_584 - const EVENT_585 - const EVENT_586 - const EVENT_587 - const EVENT_588 - const EVENT_589 - const EVENT_58A - const EVENT_58B - const EVENT_58C - const EVENT_58D - const EVENT_58E - const EVENT_58F - const EVENT_590 - const EVENT_591 - const EVENT_592 - const EVENT_593 - const EVENT_594 - const EVENT_595 - const EVENT_596 - const EVENT_597 - const EVENT_598 - const EVENT_599 - const EVENT_59A - const EVENT_59B - const EVENT_59C - const EVENT_59D - const EVENT_59E - const EVENT_59F - const EVENT_5A0 - const EVENT_5A1 - const EVENT_5A2 - const EVENT_5A3 - const EVENT_5A4 - const EVENT_5A5 - const EVENT_5A6 - const EVENT_5A7 - const EVENT_5A8 - const EVENT_5A9 - const EVENT_5AA - const EVENT_5AB - const EVENT_5AC - const EVENT_5AD - const EVENT_5AE - const EVENT_5AF - const EVENT_5B0 - const EVENT_5B1 - const EVENT_5B2 - const EVENT_5B3 - const EVENT_5B4 - const EVENT_5B5 - const EVENT_5B6 - const EVENT_5B7 - const EVENT_5B8 - const EVENT_5B9 - const EVENT_5BA - const EVENT_5BB - const EVENT_5BC - const EVENT_5BD - const EVENT_5BE - const EVENT_5BF - const EVENT_5C0 - const EVENT_5C1 - const EVENT_5C2 - const EVENT_5C3 + +; S.S. Anne events + const_next $5C0 + const_skip 4 const EVENT_BEAT_SS_ANNE_5_TRAINER_0 const EVENT_BEAT_SS_ANNE_5_TRAINER_1 - const EVENT_5C6 - const EVENT_5C7 - const EVENT_5C8 - const EVENT_5C9 - const EVENT_5CA - const EVENT_5CB - const EVENT_5CC - const EVENT_5CD - const EVENT_5CE - const EVENT_5CF - const EVENT_5D0 - const EVENT_5D1 - const EVENT_5D2 - const EVENT_5D3 - const EVENT_5D4 - const EVENT_5D5 - const EVENT_5D6 - const EVENT_5D7 - const EVENT_5D8 - const EVENT_5D9 - const EVENT_5DA - const EVENT_5DB - const EVENT_5DC - const EVENT_5DD - const EVENT_5DE - const EVENT_5DF + const_skip 26 const EVENT_GOT_HM01 const EVENT_RUBBED_CAPTAINS_BACK const EVENT_SS_ANNE_LEFT const EVENT_WALKED_PAST_GUARD_AFTER_SS_ANNE_LEFT const EVENT_STARTED_WALKING_OUT_OF_DOCK const EVENT_WALKED_OUT_OF_DOCK - const EVENT_5E6 - const EVENT_5E7 - const EVENT_5E8 - const EVENT_5E9 - const EVENT_5EA - const EVENT_5EB - const EVENT_5EC - const EVENT_5ED - const EVENT_5EE - const EVENT_5EF - const EVENT_5F0 + const_skip 11 const EVENT_BEAT_SS_ANNE_8_TRAINER_0 const EVENT_BEAT_SS_ANNE_8_TRAINER_1 const EVENT_BEAT_SS_ANNE_8_TRAINER_2 const EVENT_BEAT_SS_ANNE_8_TRAINER_3 - const EVENT_5F5 - const EVENT_5F6 - const EVENT_5F7 - const EVENT_5F8 - const EVENT_5F9 - const EVENT_5FA - const EVENT_5FB - const EVENT_5FC - const EVENT_5FD - const EVENT_5FE - const EVENT_5FF - const EVENT_600 + const_skip 12 const EVENT_BEAT_SS_ANNE_9_TRAINER_0 const EVENT_BEAT_SS_ANNE_9_TRAINER_1 const EVENT_BEAT_SS_ANNE_9_TRAINER_2 const EVENT_BEAT_SS_ANNE_9_TRAINER_3 - const EVENT_605 - const EVENT_606 - const EVENT_607 - const EVENT_608 - const EVENT_609 - const EVENT_60A - const EVENT_60B - const EVENT_60C - const EVENT_60D - const EVENT_60E - const EVENT_60F - const EVENT_610 + const_skip 12 const EVENT_BEAT_SS_ANNE_10_TRAINER_0 const EVENT_BEAT_SS_ANNE_10_TRAINER_1 const EVENT_BEAT_SS_ANNE_10_TRAINER_2 const EVENT_BEAT_SS_ANNE_10_TRAINER_3 const EVENT_BEAT_SS_ANNE_10_TRAINER_4 const EVENT_BEAT_SS_ANNE_10_TRAINER_5 - const EVENT_617 - const EVENT_618 - const EVENT_619 - const EVENT_61A - const EVENT_61B - const EVENT_61C - const EVENT_61D - const EVENT_61E - const EVENT_61F - const EVENT_620 - const EVENT_621 - const EVENT_622 - const EVENT_623 - const EVENT_624 - const EVENT_625 - const EVENT_626 - const EVENT_627 - const EVENT_628 - const EVENT_629 - const EVENT_62A - const EVENT_62B - const EVENT_62C - const EVENT_62D - const EVENT_62E - const EVENT_62F - const EVENT_630 - const EVENT_631 - const EVENT_632 - const EVENT_633 - const EVENT_634 - const EVENT_635 - const EVENT_636 - const EVENT_637 - const EVENT_638 - const EVENT_639 - const EVENT_63A - const EVENT_63B - const EVENT_63C - const EVENT_63D - const EVENT_63E - const EVENT_63F - const EVENT_640 - const EVENT_641 - const EVENT_642 - const EVENT_643 - const EVENT_644 - const EVENT_645 - const EVENT_646 - const EVENT_647 - const EVENT_648 - const EVENT_649 - const EVENT_64A - const EVENT_64B - const EVENT_64C - const EVENT_64D - const EVENT_64E - const EVENT_64F - const EVENT_650 - const EVENT_651 - const EVENT_652 - const EVENT_653 - const EVENT_654 - const EVENT_655 - const EVENT_656 - const EVENT_657 - const EVENT_658 - const EVENT_659 - const EVENT_65A - const EVENT_65B - const EVENT_65C - const EVENT_65D - const EVENT_65E - const EVENT_65F + +; Victory Road 3F events + const_next $660 const EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH1 const EVENT_BEAT_VICTORY_ROAD_3_TRAINER_0 const EVENT_BEAT_VICTORY_ROAD_3_TRAINER_1 const EVENT_BEAT_VICTORY_ROAD_3_TRAINER_2 const EVENT_BEAT_VICTORY_ROAD_3_TRAINER_3 - const EVENT_665 + const_skip const EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH2 - const EVENT_667 - const EVENT_668 - const EVENT_669 - const EVENT_66A - const EVENT_66B - const EVENT_66C - const EVENT_66D - const EVENT_66E - const EVENT_66F - const EVENT_670 + +; Rocket Hideout events + const_next $670 + const_skip const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_0 const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_1 const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_2 const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_3 const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4 - const EVENT_676 - const EVENT_677 - const EVENT_678 - const EVENT_679 - const EVENT_67A - const EVENT_67B - const EVENT_67C - const EVENT_67D - const EVENT_67E - const EVENT_67F - const EVENT_680 + const_skip + const EVENT_677 ; ??? + const_skip 7 + const EVENT_67F ; ??? + const_skip const EVENT_BEAT_ROCKET_HIDEOUT_2_TRAINER_0 - const EVENT_682 - const EVENT_683 - const EVENT_684 - const EVENT_685 - const EVENT_686 - const EVENT_687 - const EVENT_688 - const EVENT_689 - const EVENT_68A - const EVENT_68B - const EVENT_68C - const EVENT_68D - const EVENT_68E - const EVENT_68F - const EVENT_690 + const_skip 15 const EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_0 const EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_1 - const EVENT_693 - const EVENT_694 - const EVENT_695 - const EVENT_696 - const EVENT_697 - const EVENT_698 - const EVENT_699 - const EVENT_69A - const EVENT_69B - const EVENT_69C - const EVENT_69D - const EVENT_69E - const EVENT_69F - const EVENT_6A0 - const EVENT_6A1 + const_skip 15 const EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0 const EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_1 const EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_2 const EVENT_ROCKET_HIDEOUT_4_DOOR_UNLOCKED const EVENT_ROCKET_DROPPED_LIFT_KEY const EVENT_BEAT_ROCKET_HIDEOUT_GIOVANNI - const EVENT_6A8 - const EVENT_6A9 - const EVENT_6AA - const EVENT_6AB - const EVENT_6AC - const EVENT_6AD - const EVENT_6AE - const EVENT_6AF - const EVENT_6B0 - const EVENT_6B1 - const EVENT_6B2 - const EVENT_6B3 - const EVENT_6B4 - const EVENT_6B5 - const EVENT_6B6 - const EVENT_6B7 - const EVENT_6B8 - const EVENT_6B9 - const EVENT_6BA - const EVENT_6BB - const EVENT_6BC - const EVENT_6BD - const EVENT_6BE - const EVENT_6BF - const EVENT_6C0 - const EVENT_6C1 - const EVENT_6C2 - const EVENT_6C3 - const EVENT_6C4 - const EVENT_6C5 - const EVENT_6C6 - const EVENT_6C7 - const EVENT_6C8 - const EVENT_6C9 - const EVENT_6CA - const EVENT_6CB - const EVENT_6CC - const EVENT_6CD - const EVENT_6CE - const EVENT_6CF - const EVENT_6D0 - const EVENT_6D1 - const EVENT_6D2 - const EVENT_6D3 - const EVENT_6D4 - const EVENT_6D5 - const EVENT_6D6 - const EVENT_6D7 - const EVENT_6D8 - const EVENT_6D9 - const EVENT_6DA - const EVENT_6DB - const EVENT_6DC - const EVENT_6DD - const EVENT_6DE - const EVENT_6DF - const EVENT_6E0 - const EVENT_6E1 - const EVENT_6E2 - const EVENT_6E3 - const EVENT_6E4 - const EVENT_6E5 - const EVENT_6E6 - const EVENT_6E7 - const EVENT_6E8 - const EVENT_6E9 - const EVENT_6EA - const EVENT_6EB - const EVENT_6EC - const EVENT_6ED - const EVENT_6EE - const EVENT_6EF - const EVENT_6F0 - const EVENT_6F1 + +; Silph Co. events + const_next $6F0 + const_skip 2 const EVENT_BEAT_SILPH_CO_2F_TRAINER_0 const EVENT_BEAT_SILPH_CO_2F_TRAINER_1 const EVENT_BEAT_SILPH_CO_2F_TRAINER_2 const EVENT_BEAT_SILPH_CO_2F_TRAINER_3 - const EVENT_6F6 - const EVENT_6F7 - const EVENT_6F8 - const EVENT_6F9 - const EVENT_6FA - const EVENT_6FB - const EVENT_6FC + const_skip 7 const EVENT_SILPH_CO_2_UNLOCKED_DOOR1 const EVENT_SILPH_CO_2_UNLOCKED_DOOR2 const EVENT_GOT_TM36 - const EVENT_700 - const EVENT_701 + const_skip 2 const EVENT_BEAT_SILPH_CO_3F_TRAINER_0 const EVENT_BEAT_SILPH_CO_3F_TRAINER_1 - const EVENT_704 - const EVENT_705 - const EVENT_706 - const EVENT_707 + const_skip 4 const EVENT_SILPH_CO_3_UNLOCKED_DOOR1 const EVENT_SILPH_CO_3_UNLOCKED_DOOR2 - const EVENT_70A - const EVENT_70B - const EVENT_70C - const EVENT_70D - const EVENT_70E - const EVENT_70F - const EVENT_710 - const EVENT_711 + const_skip 8 const EVENT_BEAT_SILPH_CO_4F_TRAINER_0 const EVENT_BEAT_SILPH_CO_4F_TRAINER_1 const EVENT_BEAT_SILPH_CO_4F_TRAINER_2 - const EVENT_715 - const EVENT_716 - const EVENT_717 + const_skip 3 const EVENT_SILPH_CO_4_UNLOCKED_DOOR1 const EVENT_SILPH_CO_4_UNLOCKED_DOOR2 - const EVENT_71A - const EVENT_71B - const EVENT_71C - const EVENT_71D - const EVENT_71E - const EVENT_71F - const EVENT_720 - const EVENT_721 + const_skip 8 const EVENT_BEAT_SILPH_CO_5F_TRAINER_0 const EVENT_BEAT_SILPH_CO_5F_TRAINER_1 const EVENT_BEAT_SILPH_CO_5F_TRAINER_2 const EVENT_BEAT_SILPH_CO_5F_TRAINER_3 - const EVENT_726 - const EVENT_727 + const_skip 2 const EVENT_SILPH_CO_5_UNLOCKED_DOOR1 const EVENT_SILPH_CO_5_UNLOCKED_DOOR2 const EVENT_SILPH_CO_5_UNLOCKED_DOOR3 - const EVENT_72B - const EVENT_72C - const EVENT_72D - const EVENT_72E - const EVENT_72F - const EVENT_730 - const EVENT_731 - const EVENT_732 - const EVENT_733 - const EVENT_734 - const EVENT_735 + const_skip 11 const EVENT_BEAT_SILPH_CO_6F_TRAINER_0 const EVENT_BEAT_SILPH_CO_6F_TRAINER_1 const EVENT_BEAT_SILPH_CO_6F_TRAINER_2 - const EVENT_739 - const EVENT_73A - const EVENT_73B - const EVENT_73C - const EVENT_73D - const EVENT_73E + const_skip 6 const EVENT_SILPH_CO_6_UNLOCKED_DOOR const EVENT_BEAT_SILPH_CO_RIVAL - const EVENT_741 - const EVENT_742 - const EVENT_743 - const EVENT_744 + const_skip 4 const EVENT_BEAT_SILPH_CO_7F_TRAINER_0 const EVENT_BEAT_SILPH_CO_7F_TRAINER_1 const EVENT_BEAT_SILPH_CO_7F_TRAINER_2 const EVENT_BEAT_SILPH_CO_7F_TRAINER_3 - const EVENT_749 - const EVENT_74A - const EVENT_74B + const_skip 3 const EVENT_SILPH_CO_7_UNLOCKED_DOOR1 const EVENT_SILPH_CO_7_UNLOCKED_DOOR2 const EVENT_SILPH_CO_7_UNLOCKED_DOOR3 - const EVENT_74F - const EVENT_750 - const EVENT_751 + const_skip 3 const EVENT_BEAT_SILPH_CO_8F_TRAINER_0 const EVENT_BEAT_SILPH_CO_8F_TRAINER_1 const EVENT_BEAT_SILPH_CO_8F_TRAINER_2 - const EVENT_755 - const EVENT_756 - const EVENT_757 + const_skip 3 const EVENT_SILPH_CO_8_UNLOCKED_DOOR - const EVENT_759 - const EVENT_75A - const EVENT_75B - const EVENT_75C - const EVENT_75D - const EVENT_75E - const EVENT_75F - const EVENT_760 - const EVENT_761 + const_skip 9 const EVENT_BEAT_SILPH_CO_9F_TRAINER_0 const EVENT_BEAT_SILPH_CO_9F_TRAINER_1 const EVENT_BEAT_SILPH_CO_9F_TRAINER_2 - const EVENT_765 - const EVENT_766 - const EVENT_767 + const_skip 3 const EVENT_SILPH_CO_9_UNLOCKED_DOOR1 const EVENT_SILPH_CO_9_UNLOCKED_DOOR2 const EVENT_SILPH_CO_9_UNLOCKED_DOOR3 const EVENT_SILPH_CO_9_UNLOCKED_DOOR4 - const EVENT_76C - const EVENT_76D - const EVENT_76E - const EVENT_76F - const EVENT_770 + const_skip 5 const EVENT_BEAT_SILPH_CO_10F_TRAINER_0 const EVENT_BEAT_SILPH_CO_10F_TRAINER_1 - const EVENT_773 - const EVENT_774 - const EVENT_775 - const EVENT_776 - const EVENT_777 + const_skip 5 const EVENT_SILPH_CO_10_UNLOCKED_DOOR - const EVENT_779 - const EVENT_77A - const EVENT_77B - const EVENT_77C - const EVENT_77D - const EVENT_77E - const EVENT_77F - const EVENT_780 - const EVENT_781 - const EVENT_782 - const EVENT_783 + const_skip 11 const EVENT_BEAT_SILPH_CO_11F_TRAINER_0 const EVENT_BEAT_SILPH_CO_11F_TRAINER_1 - const EVENT_786 - const EVENT_787 + const_skip 2 const EVENT_SILPH_CO_11_UNLOCKED_DOOR - const EVENT_789 - const EVENT_78A - const EVENT_78B - const EVENT_78C + const_skip 4 const EVENT_GOT_MASTER_BALL - const EVENT_78E + const_skip const EVENT_BEAT_SILPH_CO_GIOVANNI - const EVENT_790 - const EVENT_791 - const EVENT_792 - const EVENT_793 - const EVENT_794 - const EVENT_795 - const EVENT_796 - const EVENT_797 - const EVENT_798 - const EVENT_799 - const EVENT_79A - const EVENT_79B - const EVENT_79C - const EVENT_79D - const EVENT_79E - const EVENT_79F - const EVENT_7A0 - const EVENT_7A1 - const EVENT_7A2 - const EVENT_7A3 - const EVENT_7A4 - const EVENT_7A5 - const EVENT_7A6 - const EVENT_7A7 - const EVENT_7A8 - const EVENT_7A9 - const EVENT_7AA - const EVENT_7AB - const EVENT_7AC - const EVENT_7AD - const EVENT_7AE - const EVENT_7AF - const EVENT_7B0 - const EVENT_7B1 - const EVENT_7B2 - const EVENT_7B3 - const EVENT_7B4 - const EVENT_7B5 - const EVENT_7B6 - const EVENT_7B7 - const EVENT_7B8 - const EVENT_7B9 - const EVENT_7BA - const EVENT_7BB - const EVENT_7BC - const EVENT_7BD - const EVENT_7BE - const EVENT_7BF - const EVENT_7C0 - const EVENT_7C1 - const EVENT_7C2 - const EVENT_7C3 - const EVENT_7C4 - const EVENT_7C5 - const EVENT_7C6 - const EVENT_7C7 - const EVENT_7C8 - const EVENT_7C9 - const EVENT_7CA - const EVENT_7CB - const EVENT_7CC - const EVENT_7CD - const EVENT_7CE - const EVENT_7CF - const EVENT_7D0 - const EVENT_7D1 - const EVENT_7D2 - const EVENT_7D3 - const EVENT_7D4 - const EVENT_7D5 - const EVENT_7D6 - const EVENT_7D7 - const EVENT_7D8 - const EVENT_7D9 - const EVENT_7DA - const EVENT_7DB - const EVENT_7DC - const EVENT_7DD - const EVENT_7DE - const EVENT_7DF - const EVENT_7E0 - const EVENT_7E1 - const EVENT_7E2 - const EVENT_7E3 - const EVENT_7E4 - const EVENT_7E5 - const EVENT_7E6 - const EVENT_7E7 - const EVENT_7E8 - const EVENT_7E9 - const EVENT_7EA - const EVENT_7EB - const EVENT_7EC - const EVENT_7ED - const EVENT_7EE - const EVENT_7EF - const EVENT_7F0 - const EVENT_7F1 - const EVENT_7F2 - const EVENT_7F3 - const EVENT_7F4 - const EVENT_7F5 - const EVENT_7F6 - const EVENT_7F7 - const EVENT_7F8 - const EVENT_7F9 - const EVENT_7FA - const EVENT_7FB - const EVENT_7FC - const EVENT_7FD - const EVENT_7FE - const EVENT_7FF - const EVENT_800 + +; Pokémon Mansion events + const_next $800 + const_skip const EVENT_BEAT_MANSION_2_TRAINER_0 - const EVENT_802 - const EVENT_803 - const EVENT_804 - const EVENT_805 - const EVENT_806 - const EVENT_807 - const EVENT_808 - const EVENT_809 - const EVENT_80A - const EVENT_80B - const EVENT_80C - const EVENT_80D - const EVENT_80E - const EVENT_80F - const EVENT_810 + const_skip 15 const EVENT_BEAT_MANSION_3_TRAINER_0 const EVENT_BEAT_MANSION_3_TRAINER_1 - const EVENT_813 - const EVENT_814 - const EVENT_815 - const EVENT_816 - const EVENT_817 - const EVENT_818 - const EVENT_819 - const EVENT_81A - const EVENT_81B - const EVENT_81C - const EVENT_81D - const EVENT_81E - const EVENT_81F - const EVENT_820 + const_skip 14 const EVENT_BEAT_MANSION_4_TRAINER_0 const EVENT_BEAT_MANSION_4_TRAINER_1 - const EVENT_823 - const EVENT_824 - const EVENT_825 - const EVENT_826 - const EVENT_827 - const EVENT_828 - const EVENT_829 - const EVENT_82A - const EVENT_82B - const EVENT_82C - const EVENT_82D - const EVENT_82E - const EVENT_82F - const EVENT_830 - const EVENT_831 - const EVENT_832 - const EVENT_833 - const EVENT_834 - const EVENT_835 - const EVENT_836 - const EVENT_837 - const EVENT_838 - const EVENT_839 - const EVENT_83A - const EVENT_83B - const EVENT_83C - const EVENT_83D - const EVENT_83E - const EVENT_83F - const EVENT_840 - const EVENT_841 - const EVENT_842 - const EVENT_843 - const EVENT_844 - const EVENT_845 - const EVENT_846 - const EVENT_847 - const EVENT_848 - const EVENT_849 - const EVENT_84A - const EVENT_84B - const EVENT_84C - const EVENT_84D - const EVENT_84E - const EVENT_84F - const EVENT_850 - const EVENT_851 - const EVENT_852 - const EVENT_853 - const EVENT_854 - const EVENT_855 - const EVENT_856 - const EVENT_857 - const EVENT_858 - const EVENT_859 - const EVENT_85A - const EVENT_85B - const EVENT_85C - const EVENT_85D - const EVENT_85E - const EVENT_85F - const EVENT_860 - const EVENT_861 - const EVENT_862 - const EVENT_863 - const EVENT_864 - const EVENT_865 - const EVENT_866 - const EVENT_867 - const EVENT_868 - const EVENT_869 - const EVENT_86A - const EVENT_86B - const EVENT_86C - const EVENT_86D - const EVENT_86E - const EVENT_86F - const EVENT_870 - const EVENT_871 - const EVENT_872 - const EVENT_873 - const EVENT_874 - const EVENT_875 - const EVENT_876 - const EVENT_877 - const EVENT_878 - const EVENT_879 - const EVENT_87A - const EVENT_87B - const EVENT_87C - const EVENT_87D - const EVENT_87E - const EVENT_87F + +; Safari Zone events + const_next $880 const EVENT_GOT_HM03 - const EVENT_881 - const EVENT_882 - const EVENT_883 - const EVENT_884 - const EVENT_885 - const EVENT_886 - const EVENT_887 - const EVENT_888 - const EVENT_889 - const EVENT_88A - const EVENT_88B - const EVENT_88C - const EVENT_88D - const EVENT_88E - const EVENT_88F - const EVENT_890 - const EVENT_891 - const EVENT_892 - const EVENT_893 - const EVENT_894 - const EVENT_895 - const EVENT_896 - const EVENT_897 - const EVENT_898 - const EVENT_899 - const EVENT_89A - const EVENT_89B - const EVENT_89C - const EVENT_89D - const EVENT_89E - const EVENT_89F - const EVENT_8A0 - const EVENT_8A1 - const EVENT_8A2 - const EVENT_8A3 - const EVENT_8A4 - const EVENT_8A5 - const EVENT_8A6 - const EVENT_8A7 - const EVENT_8A8 - const EVENT_8A9 - const EVENT_8AA - const EVENT_8AB - const EVENT_8AC - const EVENT_8AD - const EVENT_8AE - const EVENT_8AF - const EVENT_8B0 - const EVENT_8B1 - const EVENT_8B2 - const EVENT_8B3 - const EVENT_8B4 - const EVENT_8B5 - const EVENT_8B6 - const EVENT_8B7 - const EVENT_8B8 - const EVENT_8B9 - const EVENT_8BA - const EVENT_8BB - const EVENT_8BC - const EVENT_8BD - const EVENT_8BE - const EVENT_8BF - const EVENT_8C0 + +; Cerulean Cave events + const_next $8C0 + const_skip const EVENT_BEAT_MEWTWO - const EVENT_8C2 - const EVENT_8C3 - const EVENT_8C4 - const EVENT_8C5 - const EVENT_8C6 - const EVENT_8C7 - const EVENT_8C8 - const EVENT_8C9 - const EVENT_8CA - const EVENT_8CB - const EVENT_8CC - const EVENT_8CD - const EVENT_8CE - const EVENT_8CF - const EVENT_8D0 - const EVENT_8D1 - const EVENT_8D2 - const EVENT_8D3 - const EVENT_8D4 - const EVENT_8D5 - const EVENT_8D6 - const EVENT_8D7 - const EVENT_8D8 - const EVENT_8D9 - const EVENT_8DA - const EVENT_8DB - const EVENT_8DC - const EVENT_8DD - const EVENT_8DE - const EVENT_8DF + +; Indigo Plateau events + const_next $8E0 const ELITE4_EVENTS_START const EVENT_BEAT_LORELEIS_ROOM_TRAINER_0 - const EVENT_8E2 - const EVENT_8E3 - const EVENT_8E4 - const EVENT_8E5 + const_skip 4 const EVENT_AUTOWALKED_INTO_LORELEIS_ROOM - const EVENT_8E7 - const EVENT_8E8 + const_skip 2 const EVENT_BEAT_BRUNOS_ROOM_TRAINER_0 - const EVENT_8EA - const EVENT_8EB - const EVENT_8EC - const EVENT_8ED + const_skip 4 const EVENT_AUTOWALKED_INTO_BRUNOS_ROOM - const EVENT_8EF - const EVENT_8F0 + const_skip 2 const EVENT_BEAT_AGATHAS_ROOM_TRAINER_0 - const EVENT_8F2 - const EVENT_8F3 - const EVENT_8F4 - const EVENT_8F5 + const_skip 4 const EVENT_AUTOWALKED_INTO_AGATHAS_ROOM - const EVENT_8F7 - const EVENT_8F8 + const_skip 2 const EVENT_BEAT_LANCES_ROOM_TRAINER_0 - const EVENT_8FA - const EVENT_8FB - const EVENT_8FC - const EVENT_8FD + const_skip 4 const EVENT_BEAT_LANCE const EVENT_LANCES_ROOM_LOCK_DOOR - const EVENT_900 + const_skip const EVENT_BEAT_CHAMPION_RIVAL - const EVENT_902 - const EVENT_903 - const EVENT_904 - const EVENT_905 - const EVENT_906 + const_skip 5 const ELITE4_CHAMPION_EVENTS_END - const EVENT_908 - const EVENT_909 - const EVENT_90A - const EVENT_90B - const EVENT_90C - const EVENT_90D - const EVENT_90E - const EVENT_90F - const EVENT_910 + +; Victory Road 1F events + const_next $910 + const_skip const EVENT_BEAT_VICTORY_ROAD_1_TRAINER_0 const EVENT_BEAT_VICTORY_ROAD_1_TRAINER_1 - const EVENT_913 - const EVENT_914 - const EVENT_915 - const EVENT_916 + const_skip 4 const EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH - const EVENT_918 - const EVENT_919 - const EVENT_91A - const EVENT_91B - const EVENT_91C - const EVENT_91D - const EVENT_91E - const EVENT_91F - const EVENT_920 - const EVENT_921 - const EVENT_922 - const EVENT_923 - const EVENT_924 - const EVENT_925 - const EVENT_926 - const EVENT_927 - const EVENT_928 - const EVENT_929 - const EVENT_92A - const EVENT_92B - const EVENT_92C - const EVENT_92D - const EVENT_92E - const EVENT_92F - const EVENT_930 - const EVENT_931 - const EVENT_932 - const EVENT_933 - const EVENT_934 - const EVENT_935 - const EVENT_936 - const EVENT_937 - const EVENT_938 - const EVENT_939 - const EVENT_93A - const EVENT_93B - const EVENT_93C - const EVENT_93D - const EVENT_93E - const EVENT_93F - const EVENT_940 - const EVENT_941 - const EVENT_942 - const EVENT_943 - const EVENT_944 - const EVENT_945 - const EVENT_946 - const EVENT_947 - const EVENT_948 - const EVENT_949 - const EVENT_94A - const EVENT_94B - const EVENT_94C - const EVENT_94D - const EVENT_94E - const EVENT_94F - const EVENT_950 - const EVENT_951 - const EVENT_952 - const EVENT_953 - const EVENT_954 - const EVENT_955 - const EVENT_956 - const EVENT_957 - const EVENT_958 - const EVENT_959 - const EVENT_95A - const EVENT_95B - const EVENT_95C - const EVENT_95D - const EVENT_95E - const EVENT_95F - const EVENT_960 - const EVENT_961 - const EVENT_962 - const EVENT_963 - const EVENT_964 - const EVENT_965 - const EVENT_966 - const EVENT_967 - const EVENT_968 - const EVENT_969 - const EVENT_96A - const EVENT_96B - const EVENT_96C - const EVENT_96D - const EVENT_96E - const EVENT_96F - const EVENT_970 - const EVENT_971 - const EVENT_972 - const EVENT_973 - const EVENT_974 - const EVENT_975 - const EVENT_976 - const EVENT_977 - const EVENT_978 - const EVENT_979 - const EVENT_97A - const EVENT_97B - const EVENT_97C - const EVENT_97D - const EVENT_97E - const EVENT_97F - const EVENT_980 - const EVENT_981 - const EVENT_982 - const EVENT_983 - const EVENT_984 - const EVENT_985 - const EVENT_986 - const EVENT_987 - const EVENT_988 - const EVENT_989 - const EVENT_98A - const EVENT_98B - const EVENT_98C - const EVENT_98D - const EVENT_98E - const EVENT_98F - const EVENT_990 - const EVENT_991 - const EVENT_992 - const EVENT_993 - const EVENT_994 - const EVENT_995 - const EVENT_996 - const EVENT_997 - const EVENT_998 - const EVENT_999 - const EVENT_99A - const EVENT_99B - const EVENT_99C - const EVENT_99D - const EVENT_99E - const EVENT_99F - const EVENT_9A0 - const EVENT_9A1 - const EVENT_9A2 - const EVENT_9A3 - const EVENT_9A4 - const EVENT_9A5 - const EVENT_9A6 - const EVENT_9A7 - const EVENT_9A8 - const EVENT_9A9 - const EVENT_9AA - const EVENT_9AB - const EVENT_9AC - const EVENT_9AD - const EVENT_9AE - const EVENT_9AF - const EVENT_9B0 + +; Rock Tunnel events + const_next $9B0 + const_skip const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_0 const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_1 const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_2 @@ -2488,74 +754,20 @@ const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_5 const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_6 const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_7 - const EVENT_9B9 - const EVENT_9BA - const EVENT_9BB - const EVENT_9BC - const EVENT_9BD - const EVENT_9BE - const EVENT_9BF + +; Seafoam Islands events + const_next $9C0 const EVENT_SEAFOAM2_BOULDER1_DOWN_HOLE const EVENT_SEAFOAM2_BOULDER2_DOWN_HOLE - const EVENT_9C2 - const EVENT_9C3 - const EVENT_9C4 - const EVENT_9C5 - const EVENT_9C6 - const EVENT_9C7 + const_skip 6 const EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE const EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE - const EVENT_9CA - const EVENT_9CB - const EVENT_9CC - const EVENT_9CD - const EVENT_9CE - const EVENT_9CF + const_skip 6 const EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE const EVENT_SEAFOAM4_BOULDER2_DOWN_HOLE - const EVENT_9D2 - const EVENT_9D3 - const EVENT_9D4 - const EVENT_9D5 - const EVENT_9D6 - const EVENT_9D7 - const EVENT_9D8 - const EVENT_9D9 + const_skip 8 const EVENT_BEAT_ARTICUNO - const EVENT_9DB - const EVENT_9DC - const EVENT_9DD - const EVENT_9DE - const EVENT_9DF - const EVENT_9E0 - const EVENT_9E1 - const EVENT_9E2 - const EVENT_9E3 - const EVENT_9E4 - const EVENT_9E5 - const EVENT_9E6 - const EVENT_9E7 - const EVENT_9E8 - const EVENT_9E9 - const EVENT_9EA - const EVENT_9EB - const EVENT_9EC - const EVENT_9ED - const EVENT_9EE - const EVENT_9EF - const EVENT_9F0 - const EVENT_9F1 - const EVENT_9F2 - const EVENT_9F3 - const EVENT_9F4 - const EVENT_9F5 - const EVENT_9F6 - const EVENT_9F7 - const EVENT_9F8 - const EVENT_9F9 - const EVENT_9FA - const EVENT_9FB - const EVENT_9FC - const EVENT_9FD - const EVENT_9FE - const EVENT_9FF + +; End of events + const_next $A00 +NUM_EVENTS EQU const_value diff --git a/constants/input_constants.asm b/constants/input_constants.asm index d7aae05b..1f10cc46 100644 --- a/constants/input_constants.asm +++ b/constants/input_constants.asm @@ -1,12 +1,3 @@ -A_BUTTON EQU %00000001 -B_BUTTON EQU %00000010 -SELECT EQU %00000100 -START EQU %00001000 -D_RIGHT EQU %00010000 -D_LEFT EQU %00100000 -D_UP EQU %01000000 -D_DOWN EQU %10000000 - const_def const BIT_A_BUTTON const BIT_B_BUTTON @@ -16,3 +7,12 @@ D_DOWN EQU %10000000 const BIT_D_LEFT const BIT_D_UP const BIT_D_DOWN + +A_BUTTON EQU 1 << BIT_A_BUTTON +B_BUTTON EQU 1 << BIT_B_BUTTON +SELECT EQU 1 << BIT_SELECT +START EQU 1 << BIT_START +D_RIGHT EQU 1 << BIT_D_RIGHT +D_LEFT EQU 1 << BIT_D_LEFT +D_UP EQU 1 << BIT_D_UP +D_DOWN EQU 1 << BIT_D_DOWN diff --git a/constants/item_constants.asm b/constants/item_constants.asm index e5855f83..c34269a8 100755 --- a/constants/item_constants.asm +++ b/constants/item_constants.asm @@ -100,7 +100,7 @@ SAFARI_ROCK EQU $16 ; overload const FLOOR_11F ; $60 const FLOOR_B4F ; $61 -const_value = $C4 + const_next $C4 ; HMs are defined before TMs, so the actual number of TM definitions ; is not yet available. The TM quantity is hard-coded here and must diff --git a/constants/map_data_constants.asm b/constants/map_data_constants.asm index 4b98bdb3..5efd9928 100755 --- a/constants/map_data_constants.asm +++ b/constants/map_data_constants.asm @@ -3,12 +3,14 @@ MAP_BORDER EQU 3 ; connection directions -EAST EQU 1 -WEST EQU 2 -SOUTH EQU 4 -NORTH EQU 8 + const_def + shift_const EAST ; 1 + shift_const WEST ; 2 + shift_const SOUTH ; 4 + shift_const NORTH ; 8 ; tileset environments -INDOOR EQU 0 -CAVE EQU 1 -OUTDOOR EQU 2 + const_def + const INDOOR ; 0 + const CAVE ; 1 + const OUTDOOR ; 2 diff --git a/constants/menu_constants.asm b/constants/menu_constants.asm index 75cbe54c..c45d5ead 100644 --- a/constants/menu_constants.asm +++ b/constants/menu_constants.asm @@ -2,34 +2,45 @@ BAG_ITEM_CAPACITY EQU 20 PC_ITEM_CAPACITY EQU 50 ; text box IDs -MESSAGE_BOX EQU $01 -FIELD_MOVE_MON_MENU EQU $04 -JP_MOCHIMONO_MENU_TEMPLATE EQU $05 -USE_TOSS_MENU_TEMPLATE EQU $06 -JP_SAVE_MESSAGE_MENU_TEMPLATE EQU $08 -JP_SPEED_OPTIONS_MENU_TEMPLATE EQU $09 -BATTLE_MENU_TEMPLATE EQU $0b -SWITCH_STATS_CANCEL_MENU_TEMPLATE EQU $0c -LIST_MENU_BOX EQU $0d -BUY_SELL_QUIT_MENU_TEMPLATE EQU $0e -MONEY_BOX_TEMPLATE EQU $0f -MON_SPRITE_POPUP EQU $11 -JP_AH_MENU_TEMPLATE EQU $12 -MONEY_BOX EQU $13 -TWO_OPTION_MENU EQU $14 -BUY_SELL_QUIT_MENU EQU $15 -JP_POKEDEX_MENU_TEMPLATE EQU $1a -SAFARI_BATTLE_MENU_TEMPLATE EQU $1b + const_def 1 + const MESSAGE_BOX ; $01 + const_skip ; $02 + const_skip ; $03 + const FIELD_MOVE_MON_MENU ; $04 + const JP_MOCHIMONO_MENU_TEMPLATE ; $05 + const USE_TOSS_MENU_TEMPLATE ; $06 + const_skip ; $07 + const JP_SAVE_MESSAGE_MENU_TEMPLATE ; $08 + const JP_SPEED_OPTIONS_MENU_TEMPLATE ; $09 + const_skip ; $0a + const BATTLE_MENU_TEMPLATE ; $0b + const SWITCH_STATS_CANCEL_MENU_TEMPLATE ; $0c + const LIST_MENU_BOX ; $0d + const BUY_SELL_QUIT_MENU_TEMPLATE ; $0e + const MONEY_BOX_TEMPLATE ; $0f + const_skip ; $10 + const MON_SPRITE_POPUP ; $11 + const JP_AH_MENU_TEMPLATE ; $12 + const MONEY_BOX ; $13 + const TWO_OPTION_MENU ; $14 + const BUY_SELL_QUIT_MENU ; $15 + const_skip ; $16 + const_skip ; $17 + const_skip ; $18 + const_skip ; $19 + const JP_POKEDEX_MENU_TEMPLATE ; $1a + const SAFARI_BATTLE_MENU_TEMPLATE ; $1b ; two option menu constants -YES_NO_MENU EQU 0 -NORTH_WEST_MENU EQU 1 -SOUTH_EAST_MENU EQU 2 -WIDE_YES_NO_MENU EQU 3 -NORTH_EAST_MENU EQU 4 -TRADE_CANCEL_MENU EQU 5 -HEAL_CANCEL_MENU EQU 6 -NO_YES_MENU EQU 7 + const_def + const YES_NO_MENU ; 0 + const NORTH_WEST_MENU ; 1 + const SOUTH_EAST_MENU ; 2 + const WIDE_YES_NO_MENU ; 3 + const NORTH_EAST_MENU ; 4 + const TRADE_CANCEL_MENU ; 5 + const HEAL_CANCEL_MENU ; 6 + const NO_YES_MENU ; 7 ; menu exit method constants for list menus and the buy/sell/quit menu CHOSE_MENU_ITEM EQU 1 ; pressed A @@ -40,31 +51,35 @@ CHOSE_FIRST_ITEM EQU 1 CHOSE_SECOND_ITEM EQU 2 ; move mon constants -BOX_TO_PARTY EQU 0 -PARTY_TO_BOX EQU 1 -DAYCARE_TO_PARTY EQU 2 -PARTY_TO_DAYCARE EQU 3 + const_def + const BOX_TO_PARTY ; 0 + const PARTY_TO_BOX ; 1 + const DAYCARE_TO_PARTY ; 2 + const PARTY_TO_DAYCARE ; 3 ; party menu types -NORMAL_PARTY_MENU EQU 0 -USE_ITEM_PARTY_MENU EQU 1 -BATTLE_PARTY_MENU EQU 2 -TMHM_PARTY_MENU EQU 3 -SWAP_MONS_PARTY_MENU EQU 4 -EVO_STONE_PARTY_MENU EQU 5 + const_def + const NORMAL_PARTY_MENU ; 0 + const USE_ITEM_PARTY_MENU ; 1 + const BATTLE_PARTY_MENU ; 2 + const TMHM_PARTY_MENU ; 3 + const SWAP_MONS_PARTY_MENU ; 4 + const EVO_STONE_PARTY_MENU ; 5 ; party menu message IDs -ANTIDOTE_MSG EQU $F0 -BURN_HEAL_MSG EQU $F1 -ICE_HEAL_MSG EQU $F2 -AWAKENING_MSG EQU $F3 -PARALYZ_HEAL_MSG EQU $F4 -POTION_MSG EQU $F5 -FULL_HEAL_MSG EQU $F6 -REVIVE_MSG EQU $F7 -RARE_CANDY_MSG EQU $F8 + const_def $F0 + const ANTIDOTE_MSG ; $F0 + const BURN_HEAL_MSG ; $F1 + const ICE_HEAL_MSG ; $F2 + const AWAKENING_MSG ; $F3 + const PARALYZ_HEAL_MSG ; $F4 + const POTION_MSG ; $F5 + const FULL_HEAL_MSG ; $F6 + const REVIVE_MSG ; $F7 + const RARE_CANDY_MSG ; $F8 ; naming screen types -NAME_PLAYER_SCREEN EQU 0 -NAME_RIVAL_SCREEN EQU 1 -NAME_MON_SCREEN EQU 2 + const_def + const NAME_PLAYER_SCREEN ; 0 + const NAME_RIVAL_SCREEN ; 1 + const NAME_MON_SCREEN ; 2 diff --git a/constants/misc_constants.asm b/constants/misc_constants.asm index 6e4c5f93..1bb32f8e 100644 --- a/constants/misc_constants.asm +++ b/constants/misc_constants.asm @@ -3,6 +3,7 @@ FALSE EQU 0 TRUE EQU 1 ; flag operations -FLAG_RESET EQU 0 -FLAG_SET EQU 1 -FLAG_TEST EQU 2 + const_def + const FLAG_RESET ; 0 + const FLAG_SET ; 1 + const FLAG_TEST ; 2 diff --git a/constants/move_effect_constants.asm b/constants/move_effect_constants.asm index 36a60a41..54fc4896 100644 --- a/constants/move_effect_constants.asm +++ b/constants/move_effect_constants.asm @@ -5,7 +5,7 @@ const_def const NO_ADDITIONAL_EFFECT ; $00 - const UNUSED_EFFECT_01 ; $01 + const_skip ; $01 const POISON_SIDE_EFFECT1 ; $02 const DRAIN_HP_EFFECT ; $03 const BURN_SIDE_EFFECT1 ; $04 @@ -34,12 +34,12 @@ const THRASH_PETAL_DANCE_EFFECT ; $1B const SWITCH_AND_TELEPORT_EFFECT ; $1C const TWO_TO_FIVE_ATTACKS_EFFECT ; $1D - const UNUSED_EFFECT_1E ; $1E + const_skip ; $1E const FLINCH_SIDE_EFFECT1 ; $1F const SLEEP_EFFECT ; $20 const POISON_SIDE_EFFECT2 ; $21 const BURN_SIDE_EFFECT2 ; $22 - const UNUSED_EFFECT_23 ; $23 + const_skip ; $23 const PARALYZE_SIDE_EFFECT2 ; $24 const FLINCH_SIDE_EFFECT2 ; $25 const OHKO_EFFECT ; $26 moves like Horn Drill @@ -76,13 +76,13 @@ const DEFENSE_DOWN_SIDE_EFFECT ; $45 const SPEED_DOWN_SIDE_EFFECT ; $46 const SPECIAL_DOWN_SIDE_EFFECT ; $47 - const UNUSED_EFFECT_48 ; $48 - const UNUSED_EFFECT_49 ; $49 - const UNUSED_EFFECT_4A ; $4A - const UNUSED_EFFECT_4B ; $4B + const_skip ; $48 + const_skip ; $49 + const_skip ; $4A + const_skip ; $4B const CONFUSION_SIDE_EFFECT ; $4C const TWINEEDLE_EFFECT ; $4D - const UNUSED_EFFECT_4E ; $4E + const_skip ; $4E const SUBSTITUTE_EFFECT ; $4F const HYPER_BEAM_EFFECT ; $50 const RAGE_EFFECT ; $51 diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm index 7abdd4d3..349e9359 100644 --- a/constants/pokemon_constants.asm +++ b/constants/pokemon_constants.asm @@ -30,8 +30,8 @@ const BLASTOISE ; $1C const PINSIR ; $1D const TANGELA ; $1E - const MISSINGNO_1F ; $1F - const MISSINGNO_20 ; $20 + const_skip ; $1F + const_skip ; $20 const GROWLITHE ; $21 const ONIX ; $22 const FEAROW ; $23 @@ -49,26 +49,26 @@ const PSYDUCK ; $2F const DROWZEE ; $30 const GOLEM ; $31 - const MISSINGNO_32 ; $32 + const_skip ; $32 const MAGMAR ; $33 - const MISSINGNO_34 ; $34 + const_skip ; $34 const ELECTABUZZ ; $35 const MAGNETON ; $36 const KOFFING ; $37 - const MISSINGNO_38 ; $38 + const_skip ; $38 const MANKEY ; $39 const SEEL ; $3A const DIGLETT ; $3B const TAUROS ; $3C - const MISSINGNO_3D ; $3D - const MISSINGNO_3E ; $3E - const MISSINGNO_3F ; $3F + const_skip ; $3D + const_skip ; $3E + const_skip ; $3F const FARFETCHD ; $40 const VENONAT ; $41 const DRAGONITE ; $42 - const MISSINGNO_43 ; $43 - const MISSINGNO_44 ; $44 - const MISSINGNO_45 ; $45 + const_skip ; $43 + const_skip ; $44 + const_skip ; $45 const DODUO ; $46 const POLIWAG ; $47 const JYNX ; $48 @@ -78,23 +78,23 @@ const DITTO ; $4C const MEOWTH ; $4D const KRABBY ; $4E - const MISSINGNO_4F ; $4F - const MISSINGNO_50 ; $50 - const MISSINGNO_51 ; $51 + const_skip ; $4F + const_skip ; $50 + const_skip ; $51 const VULPIX ; $52 const NINETALES ; $53 const PIKACHU ; $54 const RAICHU ; $55 - const MISSINGNO_56 ; $56 - const MISSINGNO_57 ; $57 + const_skip ; $56 + const_skip ; $57 const DRATINI ; $58 const DRAGONAIR ; $59 const KABUTO ; $5A const KABUTOPS ; $5B const HORSEA ; $5C const SEADRA ; $5D - const MISSINGNO_5E ; $5E - const MISSINGNO_5F ; $5F + const_skip ; $5E + const_skip ; $5F const SANDSHREW ; $60 const SANDSLASH ; $61 const OMANYTE ; $62 @@ -114,38 +114,38 @@ const WEEDLE ; $70 const KAKUNA ; $71 const BEEDRILL ; $72 - const MISSINGNO_73 ; $73 + const_skip ; $73 const DODRIO ; $74 const PRIMEAPE ; $75 const DUGTRIO ; $76 const VENOMOTH ; $77 const DEWGONG ; $78 - const MISSINGNO_79 ; $79 - const MISSINGNO_7A ; $7A + const_skip ; $79 + const_skip ; $7A const CATERPIE ; $7B const METAPOD ; $7C const BUTTERFREE ; $7D const MACHAMP ; $7E - const MISSINGNO_7F ; $7F + const_skip ; $7F const GOLDUCK ; $80 const HYPNO ; $81 const GOLBAT ; $82 const MEWTWO ; $83 const SNORLAX ; $84 const MAGIKARP ; $85 - const MISSINGNO_86 ; $86 - const MISSINGNO_87 ; $87 + const_skip ; $86 + const_skip ; $87 const MUK ; $88 - const MISSINGNO_89 ; $89 + const_skip ; $89 const KINGLER ; $8A const CLOYSTER ; $8B - const MISSINGNO_8C ; $8C + const_skip ; $8C const ELECTRODE ; $8D const CLEFABLE ; $8E const WEEZING ; $8F const PERSIAN ; $90 const MAROWAK ; $91 - const MISSINGNO_92 ; $92 + const_skip ; $92 const HAUNTER ; $93 const ABRA ; $94 const ALAKAZAM ; $95 @@ -155,13 +155,13 @@ const BULBASAUR ; $99 const VENUSAUR ; $9A const TENTACRUEL ; $9B - const MISSINGNO_9C ; $9C + const_skip ; $9C const GOLDEEN ; $9D const SEAKING ; $9E - const MISSINGNO_9F ; $9F - const MISSINGNO_A0 ; $A0 - const MISSINGNO_A1 ; $A1 - const MISSINGNO_A2 ; $A2 + const_skip ; $9F + const_skip ; $A0 + const_skip ; $A1 + const_skip ; $A2 const PONYTA ; $A3 const RAPIDASH ; $A4 const RATTATA ; $A5 @@ -171,16 +171,16 @@ const GEODUDE ; $A9 const PORYGON ; $AA const AERODACTYL ; $AB - const MISSINGNO_AC ; $AC + const_skip ; $AC const MAGNEMITE ; $AD - const MISSINGNO_AE ; $AE - const MISSINGNO_AF ; $AF + const_skip ; $AE + const_skip ; $AF const CHARMANDER ; $B0 const SQUIRTLE ; $B1 const CHARMELEON ; $B2 const WARTORTLE ; $B3 const CHARIZARD ; $B4 - const MISSINGNO_B5 ; $B5 + const_skip ; $B5 const FOSSIL_KABUTOPS ; $B6 const FOSSIL_AERODACTYL ; $B7 const MON_GHOST ; $B8 diff --git a/constants/pokemon_data_constants.asm b/constants/pokemon_data_constants.asm index c5245026..a304b852 100755 --- a/constants/pokemon_data_constants.asm +++ b/constants/pokemon_data_constants.asm @@ -10,19 +10,21 @@ HOF_TEAM_CAPACITY EQU 50 ; mon data locations ; Note that some values are not supported by all functions that use these values. -PLAYER_PARTY_DATA EQU 0 -ENEMY_PARTY_DATA EQU 1 -BOX_DATA EQU 2 -DAYCARE_DATA EQU 3 -BATTLE_MON_DATA EQU 4 + const_def + const PLAYER_PARTY_DATA ; 0 + const ENEMY_PARTY_DATA ; 1 + const BOX_DATA ; 2 + const DAYCARE_DATA ; 3 + const BATTLE_MON_DATA ; 4 ; See data/pokemon/evos_moves.asm ; Evolution types -EV_LEVEL EQU 1 -EV_ITEM EQU 2 -EV_TRADE EQU 3 + const_def 1 + const EV_LEVEL ; 1 + const EV_ITEM ; 2 + const EV_TRADE ; 3 MAX_EVOLUTIONS EQU 3 EVOLUTION_SIZE EQU 4 diff --git a/constants/script_constants.asm b/constants/script_constants.asm index c04e9ca0..d381ce6c 100644 --- a/constants/script_constants.asm +++ b/constants/script_constants.asm @@ -1,7 +1,8 @@ ; emotion bubbles -EXCLAMATION_BUBBLE EQU 0 -QUESTION_BUBBLE EQU 1 -SMILE_BUBBLE EQU 2 + const_def + const EXCLAMATION_BUBBLE ; 0 + const QUESTION_BUBBLE ; 1 + const SMILE_BUBBLE ; 2 ; slot symbols SLOTS7 EQU $0200 diff --git a/constants/sprite_data_constants.asm b/constants/sprite_data_constants.asm index 48a34446..1639b8fa 100644 --- a/constants/sprite_data_constants.asm +++ b/constants/sprite_data_constants.asm @@ -1,22 +1,24 @@ ; sprite facing directions -SPRITE_FACING_DOWN EQU $00 -SPRITE_FACING_UP EQU $04 -SPRITE_FACING_LEFT EQU $08 -SPRITE_FACING_RIGHT EQU $0C + const_def 0, $04 + const SPRITE_FACING_DOWN ; $00 + const SPRITE_FACING_UP ; $04 + const SPRITE_FACING_LEFT ; $08 + const SPRITE_FACING_RIGHT ; $0C -NPC_MOVEMENT_DOWN EQU $00 -NPC_MOVEMENT_UP EQU $40 -NPC_MOVEMENT_LEFT EQU $80 -NPC_MOVEMENT_RIGHT EQU $C0 + const_def 0, $40 + const NPC_MOVEMENT_DOWN ; $00 + const NPC_MOVEMENT_UP ; $40 + const NPC_MOVEMENT_LEFT ; $80 + const NPC_MOVEMENT_RIGHT ; $C0 ; player direction constants + const_def + const PLAYER_DIR_BIT_RIGHT ; 0 + const PLAYER_DIR_BIT_LEFT ; 1 + const PLAYER_DIR_BIT_DOWN ; 2 + const PLAYER_DIR_BIT_UP ; 3 -PLAYER_DIR_BIT_RIGHT EQU 0 -PLAYER_DIR_BIT_LEFT EQU 1 -PLAYER_DIR_BIT_DOWN EQU 2 -PLAYER_DIR_BIT_UP EQU 3 - -PLAYER_DIR_RIGHT EQU (1 << PLAYER_DIR_BIT_RIGHT) -PLAYER_DIR_LEFT EQU (1 << PLAYER_DIR_BIT_LEFT) -PLAYER_DIR_DOWN EQU (1 << PLAYER_DIR_BIT_DOWN) -PLAYER_DIR_UP EQU (1 << PLAYER_DIR_BIT_UP) +PLAYER_DIR_RIGHT EQU 1 << PLAYER_DIR_BIT_RIGHT +PLAYER_DIR_LEFT EQU 1 << PLAYER_DIR_BIT_LEFT +PLAYER_DIR_DOWN EQU 1 << PLAYER_DIR_BIT_DOWN +PLAYER_DIR_UP EQU 1 << PLAYER_DIR_BIT_UP diff --git a/constants/text_constants.asm b/constants/text_constants.asm index 35b817eb..aa8374e5 100644 --- a/constants/text_constants.asm +++ b/constants/text_constants.asm @@ -2,9 +2,10 @@ NAME_LENGTH EQU 11 ITEM_NAME_LENGTH EQU 13 ; PrintNumber -BIT_MONEY_SIGN EQU 5 -BIT_LEFT_ALIGN EQU 6 -BIT_LEADING_ZEROES EQU 7 + const_def 5 + const BIT_MONEY_SIGN ; 5 + const BIT_LEFT_ALIGN ; 6 + const BIT_LEADING_ZEROES ; 7 MONEY_SIGN EQU (1 << BIT_MONEY_SIGN) LEFT_ALIGN EQU (1 << BIT_LEFT_ALIGN) diff --git a/constants/trainer_constants.asm b/constants/trainer_constants.asm index 6e4c2f18..878fac26 100755 --- a/constants/trainer_constants.asm +++ b/constants/trainer_constants.asm @@ -1,9 +1,8 @@ OPP_ID_OFFSET EQU 200 trainer_const: MACRO -\1 EQU const_value -OPP_\1 EQU const_value + OPP_ID_OFFSET -const_value = const_value + 1 + const \1 +OPP_\1 EQU OPP_ID_OFFSET + \1 ENDM const_def diff --git a/constants/type_constants.asm b/constants/type_constants.asm index d1a1a73e..11fb3321 100755 --- a/constants/type_constants.asm +++ b/constants/type_constants.asm @@ -11,7 +11,7 @@ PHYSICAL EQU const_value const BUG ; $07 const GHOST ; $08 -const_value = $14 + const_next 20 SPECIAL EQU const_value const FIRE ; $14 diff --git a/macros/const.asm b/macros/const.asm index e0d9fbb8..57380e97 100644 --- a/macros/const.asm +++ b/macros/const.asm @@ -22,3 +22,19 @@ shift_const: MACRO \1 EQU (1 << const_value) const_value = const_value + const_inc ENDM + +const_skip: MACRO +if _NARG >= 1 +const_value = const_value + const_inc * (\1) +else +const_value = const_value + const_inc +endc +ENDM + +const_next: MACRO +if (const_value > 0 && \1 < const_value) || (const_value < 0 && \1 > const_value) +fail "const_next cannot go backwards from {const_value} to \1" +else +const_value = \1 +endc +ENDM diff --git a/macros/scripts/text.asm b/macros/scripts/text.asm index 9cbd9b3b..a947ca2f 100755 --- a/macros/scripts/text.asm +++ b/macros/scripts/text.asm @@ -149,7 +149,7 @@ text_far: MACRO ENDM - const_def $50 + const_next $50 const TX_END ; $50 text_end: MACRO @@ -158,54 +158,56 @@ ENDM ; Text script IDs (see home/text_script.asm) - const_def $f5 + const_def -1, -1 - const TX_SCRIPT_VENDING_MACHINE ; $f5 -script_vending_machine: MACRO - db TX_SCRIPT_VENDING_MACHINE + const TX_SCRIPT_POKECENTER_NURSE ; $ff +script_pokecenter_nurse: MACRO + db TX_SCRIPT_POKECENTER_NURSE ENDM - const TX_SCRIPT_CABLE_CLUB_RECEPTIONIST ; $f6 -script_cable_club_receptionist: MACRO - db TX_SCRIPT_CABLE_CLUB_RECEPTIONIST + const TX_SCRIPT_MART ; $fe +script_mart: MACRO + db TX_SCRIPT_MART + db _NARG ; number of items +REPT _NARG + db \1 ; item id + SHIFT +ENDR + db -1 ; end ENDM - const TX_SCRIPT_PRIZE_VENDOR ; $f7 -script_prize_vendor: MACRO - db TX_SCRIPT_PRIZE_VENDOR + const TX_SCRIPT_BILLS_PC ; $fd +script_bills_pc: MACRO + db TX_SCRIPT_BILLS_PC ENDM - const_def $f9 + const TX_SCRIPT_PLAYERS_PC ; $fc +script_players_pc: MACRO + db TX_SCRIPT_PLAYERS_PC +ENDM + + const_skip ; $fb + + const_skip ; $fa const TX_SCRIPT_POKECENTER_PC ; $f9 script_pokecenter_pc: MACRO db TX_SCRIPT_POKECENTER_PC ENDM - const_def $fc + const_skip ; $f8 - const TX_SCRIPT_PLAYERS_PC ; $fc -script_players_pc: MACRO - db TX_SCRIPT_PLAYERS_PC -ENDM - - const TX_SCRIPT_BILLS_PC ; $fd -script_bills_pc: MACRO - db TX_SCRIPT_BILLS_PC + const TX_SCRIPT_PRIZE_VENDOR ; $f7 +script_prize_vendor: MACRO + db TX_SCRIPT_PRIZE_VENDOR ENDM - const TX_SCRIPT_MART ; $fe -script_mart: MACRO - db TX_SCRIPT_MART - db _NARG ; number of items -REPT _NARG - db \1 ; item id - SHIFT -ENDR - db -1 ; end + const TX_SCRIPT_CABLE_CLUB_RECEPTIONIST ; $f6 +script_cable_club_receptionist: MACRO + db TX_SCRIPT_CABLE_CLUB_RECEPTIONIST ENDM - const TX_SCRIPT_POKECENTER_NURSE ; $ff -script_pokecenter_nurse: MACRO - db TX_SCRIPT_POKECENTER_NURSE + const TX_SCRIPT_VENDING_MACHINE ; $f5 +script_vending_machine: MACRO + db TX_SCRIPT_VENDING_MACHINE ENDM diff --git a/wram.asm b/wram.asm index 98f890fd..e2f1c0ab 100755 --- a/wram.asm +++ b/wram.asm @@ -3005,7 +3005,7 @@ wSecondLockTrashCanIndex:: ds 2 wEventFlags:: - ds 320 + flag_array NUM_EVENTS wLinkEnemyTrainerName:: ; linked game's trainer name -- cgit v1.2.3 From f37cf959c930ae9595f9f71ce0d9b17dcf5421d0 Mon Sep 17 00:00:00 2001 From: Rangi Date: Tue, 14 Jul 2020 10:21:18 -0400 Subject: Clean up some data, using macros for multiline list entries --- audio/engine_1.asm | 4 +- audio/engine_2.asm | 4 +- audio/engine_3.asm | 4 +- constants/audio_constants.asm | 6 + constants/menu_constants.asm | 36 +- constants/move_effect_constants.asm | 4 +- constants/pokemon_data_constants.asm | 11 + constants/script_constants.asm | 19 + data/battle/always_happen_effects.asm | 4 +- data/battle/critical_hit_moves.asm | 2 +- data/battle/residual_effects_1.asm | 2 +- data/battle/residual_effects_2.asm | 4 +- data/battle/set_damage_effects.asm | 2 +- data/battle/special_effects.asm | 6 +- data/battle/unused_critical_hit_moves.asm | 2 +- data/events/hidden_coins.asm | 31 +- data/events/hidden_item_coords.asm | 116 +- data/events/prize_mon_levels.asm | 24 +- data/events/prizes.asm | 11 +- data/events/trades.asm | 22 +- data/growth_rates.asm | 29 +- data/items/guard_drink_items.asm | 5 +- data/items/use_overworld.asm | 2 +- data/items/use_party.asm | 2 +- data/items/vending_prices.asm | 15 +- data/maps/badge_maps.asm | 18 +- data/maps/dungeon_maps.asm | 19 +- data/maps/force_bike_surf.asm | 24 +- data/maps/hide_show_data.asm | 4 +- data/maps/names.asm | 159 +- data/maps/rest_house_maps.asm | 2 +- data/maps/special_warps.asm | 182 +- data/maps/sprite_sets.asm | 24 +- data/maps/town_map_entries.asm | 212 +- data/moves/animation_special_effect_pointers.asm | 126 +- data/moves/animation_special_effects.asm | 105 +- data/moves/animations.asm | 3534 +++++++++++----------- data/moves/effects_pointers.asm | 8 +- data/moves/grammar.asm | 84 +- data/moves/names.asm | 1 - data/moves/sfx.asm | 332 +- data/pokemon/base_stats/abra.asm | 2 +- data/pokemon/base_stats/aerodactyl.asm | 2 +- data/pokemon/base_stats/alakazam.asm | 2 +- data/pokemon/base_stats/arbok.asm | 2 +- data/pokemon/base_stats/arcanine.asm | 2 +- data/pokemon/base_stats/articuno.asm | 2 +- data/pokemon/base_stats/beedrill.asm | 2 +- data/pokemon/base_stats/bellsprout.asm | 2 +- data/pokemon/base_stats/blastoise.asm | 2 +- data/pokemon/base_stats/bulbasaur.asm | 2 +- data/pokemon/base_stats/butterfree.asm | 2 +- data/pokemon/base_stats/caterpie.asm | 2 +- data/pokemon/base_stats/chansey.asm | 2 +- data/pokemon/base_stats/charizard.asm | 2 +- data/pokemon/base_stats/charmander.asm | 2 +- data/pokemon/base_stats/charmeleon.asm | 2 +- data/pokemon/base_stats/clefable.asm | 2 +- data/pokemon/base_stats/clefairy.asm | 2 +- data/pokemon/base_stats/cloyster.asm | 2 +- data/pokemon/base_stats/cubone.asm | 2 +- data/pokemon/base_stats/dewgong.asm | 2 +- data/pokemon/base_stats/diglett.asm | 2 +- data/pokemon/base_stats/ditto.asm | 2 +- data/pokemon/base_stats/dodrio.asm | 2 +- data/pokemon/base_stats/doduo.asm | 2 +- data/pokemon/base_stats/dragonair.asm | 2 +- data/pokemon/base_stats/dragonite.asm | 2 +- data/pokemon/base_stats/dratini.asm | 2 +- data/pokemon/base_stats/drowzee.asm | 2 +- data/pokemon/base_stats/dugtrio.asm | 2 +- data/pokemon/base_stats/eevee.asm | 2 +- data/pokemon/base_stats/ekans.asm | 2 +- data/pokemon/base_stats/electabuzz.asm | 2 +- data/pokemon/base_stats/electrode.asm | 2 +- data/pokemon/base_stats/exeggcute.asm | 2 +- data/pokemon/base_stats/exeggutor.asm | 2 +- data/pokemon/base_stats/farfetchd.asm | 2 +- data/pokemon/base_stats/fearow.asm | 2 +- data/pokemon/base_stats/flareon.asm | 2 +- data/pokemon/base_stats/gastly.asm | 2 +- data/pokemon/base_stats/gengar.asm | 2 +- data/pokemon/base_stats/geodude.asm | 2 +- data/pokemon/base_stats/gloom.asm | 2 +- data/pokemon/base_stats/golbat.asm | 2 +- data/pokemon/base_stats/goldeen.asm | 2 +- data/pokemon/base_stats/golduck.asm | 2 +- data/pokemon/base_stats/golem.asm | 2 +- data/pokemon/base_stats/graveler.asm | 2 +- data/pokemon/base_stats/grimer.asm | 2 +- data/pokemon/base_stats/growlithe.asm | 2 +- data/pokemon/base_stats/gyarados.asm | 2 +- data/pokemon/base_stats/haunter.asm | 2 +- data/pokemon/base_stats/hitmonchan.asm | 2 +- data/pokemon/base_stats/hitmonlee.asm | 2 +- data/pokemon/base_stats/horsea.asm | 2 +- data/pokemon/base_stats/hypno.asm | 2 +- data/pokemon/base_stats/ivysaur.asm | 2 +- data/pokemon/base_stats/jigglypuff.asm | 2 +- data/pokemon/base_stats/jolteon.asm | 2 +- data/pokemon/base_stats/jynx.asm | 2 +- data/pokemon/base_stats/kabuto.asm | 2 +- data/pokemon/base_stats/kabutops.asm | 2 +- data/pokemon/base_stats/kadabra.asm | 2 +- data/pokemon/base_stats/kakuna.asm | 2 +- data/pokemon/base_stats/kangaskhan.asm | 2 +- data/pokemon/base_stats/kingler.asm | 2 +- data/pokemon/base_stats/koffing.asm | 2 +- data/pokemon/base_stats/krabby.asm | 2 +- data/pokemon/base_stats/lapras.asm | 2 +- data/pokemon/base_stats/lickitung.asm | 2 +- data/pokemon/base_stats/machamp.asm | 2 +- data/pokemon/base_stats/machoke.asm | 2 +- data/pokemon/base_stats/machop.asm | 2 +- data/pokemon/base_stats/magikarp.asm | 2 +- data/pokemon/base_stats/magmar.asm | 2 +- data/pokemon/base_stats/magnemite.asm | 2 +- data/pokemon/base_stats/magneton.asm | 2 +- data/pokemon/base_stats/mankey.asm | 2 +- data/pokemon/base_stats/marowak.asm | 2 +- data/pokemon/base_stats/meowth.asm | 2 +- data/pokemon/base_stats/metapod.asm | 2 +- data/pokemon/base_stats/mew.asm | 2 +- data/pokemon/base_stats/mewtwo.asm | 2 +- data/pokemon/base_stats/moltres.asm | 2 +- data/pokemon/base_stats/mrmime.asm | 2 +- data/pokemon/base_stats/muk.asm | 2 +- data/pokemon/base_stats/nidoking.asm | 2 +- data/pokemon/base_stats/nidoqueen.asm | 2 +- data/pokemon/base_stats/nidoranf.asm | 2 +- data/pokemon/base_stats/nidoranm.asm | 2 +- data/pokemon/base_stats/nidorina.asm | 2 +- data/pokemon/base_stats/nidorino.asm | 2 +- data/pokemon/base_stats/ninetales.asm | 2 +- data/pokemon/base_stats/oddish.asm | 2 +- data/pokemon/base_stats/omanyte.asm | 2 +- data/pokemon/base_stats/omastar.asm | 2 +- data/pokemon/base_stats/onix.asm | 2 +- data/pokemon/base_stats/paras.asm | 2 +- data/pokemon/base_stats/parasect.asm | 2 +- data/pokemon/base_stats/persian.asm | 2 +- data/pokemon/base_stats/pidgeot.asm | 2 +- data/pokemon/base_stats/pidgeotto.asm | 2 +- data/pokemon/base_stats/pidgey.asm | 2 +- data/pokemon/base_stats/pikachu.asm | 2 +- data/pokemon/base_stats/pinsir.asm | 2 +- data/pokemon/base_stats/poliwag.asm | 2 +- data/pokemon/base_stats/poliwhirl.asm | 2 +- data/pokemon/base_stats/poliwrath.asm | 2 +- data/pokemon/base_stats/ponyta.asm | 2 +- data/pokemon/base_stats/porygon.asm | 2 +- data/pokemon/base_stats/primeape.asm | 2 +- data/pokemon/base_stats/psyduck.asm | 2 +- data/pokemon/base_stats/raichu.asm | 2 +- data/pokemon/base_stats/rapidash.asm | 2 +- data/pokemon/base_stats/raticate.asm | 2 +- data/pokemon/base_stats/rattata.asm | 2 +- data/pokemon/base_stats/rhydon.asm | 2 +- data/pokemon/base_stats/rhyhorn.asm | 2 +- data/pokemon/base_stats/sandshrew.asm | 2 +- data/pokemon/base_stats/sandslash.asm | 2 +- data/pokemon/base_stats/scyther.asm | 2 +- data/pokemon/base_stats/seadra.asm | 2 +- data/pokemon/base_stats/seaking.asm | 2 +- data/pokemon/base_stats/seel.asm | 2 +- data/pokemon/base_stats/shellder.asm | 2 +- data/pokemon/base_stats/slowbro.asm | 2 +- data/pokemon/base_stats/slowpoke.asm | 2 +- data/pokemon/base_stats/snorlax.asm | 2 +- data/pokemon/base_stats/spearow.asm | 2 +- data/pokemon/base_stats/squirtle.asm | 2 +- data/pokemon/base_stats/starmie.asm | 2 +- data/pokemon/base_stats/staryu.asm | 2 +- data/pokemon/base_stats/tangela.asm | 2 +- data/pokemon/base_stats/tauros.asm | 2 +- data/pokemon/base_stats/tentacool.asm | 2 +- data/pokemon/base_stats/tentacruel.asm | 2 +- data/pokemon/base_stats/vaporeon.asm | 2 +- data/pokemon/base_stats/venomoth.asm | 2 +- data/pokemon/base_stats/venonat.asm | 2 +- data/pokemon/base_stats/venusaur.asm | 2 +- data/pokemon/base_stats/victreebel.asm | 2 +- data/pokemon/base_stats/vileplume.asm | 2 +- data/pokemon/base_stats/voltorb.asm | 2 +- data/pokemon/base_stats/vulpix.asm | 2 +- data/pokemon/base_stats/wartortle.asm | 2 +- data/pokemon/base_stats/weedle.asm | 2 +- data/pokemon/base_stats/weepinbell.asm | 2 +- data/pokemon/base_stats/weezing.asm | 2 +- data/pokemon/base_stats/wigglytuff.asm | 2 +- data/pokemon/base_stats/zapdos.asm | 2 +- data/pokemon/base_stats/zubat.asm | 2 +- data/pokemon/cries.asm | 382 +-- data/pokemon/dex_text.asm | 1 - data/predef_pointers.asm | 17 +- data/sprites/facings.asm | 110 +- data/sprites/sprites.asm | 438 +-- data/tilesets/bike_riding_tilesets.asm | 7 +- data/tilesets/bookshelf_tile_ids.asm | 60 +- data/tilesets/collision_tile_ids.asm | 67 +- data/tilesets/cut_tree_blocks.asm | 2 +- data/tilesets/door_tile_ids.asm | 102 +- data/tilesets/dungeon_tilesets.asm | 13 +- data/tilesets/escape_rope_tilesets.asm | 8 +- data/tilesets/ledge_tiles.asm | 20 +- data/tilesets/tileset_headers.asm | 1 + data/tilesets/warp_carpet_tile_ids.asm | 32 +- data/tilesets/warp_pad_hole_tile_ids.asm | 4 +- data/tilesets/warp_tile_ids.asm | 177 +- data/tilesets/water_tilesets.asm | 12 +- data/trainers/ai_pointers.asm | 94 +- data/trainers/encounter_types.asm | 4 +- data/trainers/move_choices.asm | 103 +- data/trainers/name_pointers.asm | 105 +- data/trainers/parties.asm | 836 ++--- data/trainers/pic_pointers_money.asm | 194 +- data/trainers/special_moves.asm | 49 +- data/types/names.asm | 12 +- data/wild/good_rod.asm | 6 +- data/wild/grass_water.asm | 4 +- data/wild/maps/CeruleanCave1F.asm | 35 +- data/wild/maps/CeruleanCave2F.asm | 25 +- data/wild/maps/CeruleanCaveB1F.asm | 35 +- data/wild/maps/DiglettsCave.asm | 25 +- data/wild/maps/MtMoon1F.asm | 25 +- data/wild/maps/MtMoonB1F.asm | 25 +- data/wild/maps/MtMoonB2F.asm | 25 +- data/wild/maps/PokemonMansion1F.asm | 53 +- data/wild/maps/PokemonMansion2F.asm | 53 +- data/wild/maps/PokemonMansion3F.asm | 53 +- data/wild/maps/PokemonMansionB1F.asm | 53 +- data/wild/maps/PokemonTower1F.asm | 5 +- data/wild/maps/PokemonTower2F.asm | 5 +- data/wild/maps/PokemonTower3F.asm | 25 +- data/wild/maps/PokemonTower4F.asm | 25 +- data/wild/maps/PokemonTower5F.asm | 25 +- data/wild/maps/PokemonTower6F.asm | 25 +- data/wild/maps/PokemonTower7F.asm | 25 +- data/wild/maps/PowerPlant.asm | 37 +- data/wild/maps/RockTunnel1F.asm | 25 +- data/wild/maps/RockTunnelB1F.asm | 25 +- data/wild/maps/Route1.asm | 25 +- data/wild/maps/Route10.asm | 50 +- data/wild/maps/Route11.asm | 50 +- data/wild/maps/Route12.asm | 53 +- data/wild/maps/Route13.asm | 54 +- data/wild/maps/Route14.asm | 51 +- data/wild/maps/Route15.asm | 51 +- data/wild/maps/Route16.asm | 25 +- data/wild/maps/Route17.asm | 25 +- data/wild/maps/Route18.asm | 25 +- data/wild/maps/Route2.asm | 45 +- data/wild/maps/Route21.asm | 45 +- data/wild/maps/Route22.asm | 52 +- data/wild/maps/Route23.asm | 45 +- data/wild/maps/Route24.asm | 50 +- data/wild/maps/Route25.asm | 53 +- data/wild/maps/Route3.asm | 25 +- data/wild/maps/Route4.asm | 49 +- data/wild/maps/Route5.asm | 53 +- data/wild/maps/Route6.asm | 53 +- data/wild/maps/Route7.asm | 52 +- data/wild/maps/Route8.asm | 52 +- data/wild/maps/Route9.asm | 50 +- data/wild/maps/SafariZoneCenter.asm | 52 +- data/wild/maps/SafariZoneEast.asm | 53 +- data/wild/maps/SafariZoneNorth.asm | 51 +- data/wild/maps/SafariZoneWest.asm | 50 +- data/wild/maps/SeaRoutes.asm | 25 +- data/wild/maps/SeafoamIslands1F.asm | 52 +- data/wild/maps/SeafoamIslandsB1F.asm | 53 +- data/wild/maps/SeafoamIslandsB2F.asm | 52 +- data/wild/maps/SeafoamIslandsB3F.asm | 52 +- data/wild/maps/SeafoamIslandsB4F.asm | 52 +- data/wild/maps/VictoryRoad1F.asm | 25 +- data/wild/maps/VictoryRoad2F.asm | 25 +- data/wild/maps/VictoryRoad3F.asm | 25 +- data/wild/maps/ViridianForest.asm | 49 +- data/wild/maps/nothing.asm | 5 +- data/wild/probabilities.asm | 20 +- data/wild/super_rod.asm | 155 +- engine/battle/core.asm | 8 +- engine/debug/test_battle.asm | 2 +- engine/events/hidden_items.asm | 2 +- engine/gfx/palettes.asm | 2 +- engine/menus/draw_badges.asm | 8 +- engine/menus/party_menu.asm | 21 +- engine/menus/start_sub_menus.asm | 10 +- macros/coords.asm | 6 + macros/scripts/maps.asm | 50 +- scripts/CeladonGym.asm | 4 +- scripts/CeruleanGym.asm | 4 +- scripts/CinnabarGym.asm | 4 +- scripts/FuchsiaGym.asm | 4 +- scripts/PewterGym.asm | 6 +- scripts/SaffronGym.asm | 4 +- scripts/VermilionGym.asm | 6 +- scripts/ViridianGym.asm | 4 +- 298 files changed, 5297 insertions(+), 5669 deletions(-) diff --git a/audio/engine_1.asm b/audio/engine_1.asm index 8af8f707..a31572f3 100644 --- a/audio/engine_1.asm +++ b/audio/engine_1.asm @@ -1346,12 +1346,12 @@ Audio1_PlaySound:: ld [wMusicTempo + 1], a ld [wMusicWaveInstrument], a ld [wSfxWaveInstrument], a - ld d, $8 + ld d, NUM_CHANNELS ld hl, wChannelReturnAddresses call .FillMem ld hl, wChannelCommandPointers call .FillMem - ld d, $4 + ld d, NUM_MUSIC_CHANS ld hl, wChannelSoundIDs call .FillMem ld hl, wChannelFlags1 diff --git a/audio/engine_2.asm b/audio/engine_2.asm index aa2c7227..4954f8bc 100644 --- a/audio/engine_2.asm +++ b/audio/engine_2.asm @@ -1409,12 +1409,12 @@ Audio2_PlaySound:: ld [wMusicTempo + 1], a ld [wMusicWaveInstrument], a ld [wSfxWaveInstrument], a - ld d, $8 + ld d, NUM_CHANNELS ld hl, wChannelReturnAddresses call .FillMem ld hl, wChannelCommandPointers call .FillMem - ld d, $4 + ld d, NUM_MUSIC_CHANS ld hl, wChannelSoundIDs call .FillMem ld hl, wChannelFlags1 diff --git a/audio/engine_3.asm b/audio/engine_3.asm index e8ee38c9..f86658a2 100644 --- a/audio/engine_3.asm +++ b/audio/engine_3.asm @@ -1346,12 +1346,12 @@ Audio3_PlaySound:: ld [wMusicTempo + 1], a ld [wMusicWaveInstrument], a ld [wSfxWaveInstrument], a - ld d, $8 + ld d, NUM_CHANNELS ld hl, wChannelReturnAddresses call .FillMem ld hl, wChannelCommandPointers call .FillMem - ld d, $4 + ld d, NUM_MUSIC_CHANS ld hl, wChannelSoundIDs call .FillMem ld hl, wChannelFlags1 diff --git a/constants/audio_constants.asm b/constants/audio_constants.asm index 3dc9fbee..e36d2d5f 100644 --- a/constants/audio_constants.asm +++ b/constants/audio_constants.asm @@ -1,4 +1,5 @@ ; pitch +; Audio[1|2|3]_Pitches indexes (see audio/notes.asm) const_def const C_ ; 0 const C# ; 1 @@ -14,15 +15,20 @@ const B_ ; B ; channel +; Audio[1|2|3]_HWChannelBaseAddresses, Audio[1|2|3]_HWChannelDisableMasks, +; and Audio[1|2|3]_HWChannelEnableMasks indexes (see audio/engine_[1|2|3].asm) const_def const Ch1 ; 0 const Ch2 ; 1 const Ch3 ; 2 const Ch4 ; 3 +NUM_MUSIC_CHANS EQU const_value const Ch5 ; 4 const Ch6 ; 5 const Ch7 ; 6 const Ch8 ; 7 +NUM_NOISE_CHANS EQU const_value - NUM_MUSIC_CHANS +NUM_CHANNELS EQU const_value ; HW sound channel register base addresses HW_CH1_BASE EQU LOW(rNR10) diff --git a/constants/menu_constants.asm b/constants/menu_constants.asm index c45d5ead..3a601dc2 100644 --- a/constants/menu_constants.asm +++ b/constants/menu_constants.asm @@ -58,25 +58,27 @@ CHOSE_SECOND_ITEM EQU 2 const PARTY_TO_DAYCARE ; 3 ; party menu types +; PartyMenuMessagePointers indexes const_def - const NORMAL_PARTY_MENU ; 0 - const USE_ITEM_PARTY_MENU ; 1 - const BATTLE_PARTY_MENU ; 2 - const TMHM_PARTY_MENU ; 3 - const SWAP_MONS_PARTY_MENU ; 4 - const EVO_STONE_PARTY_MENU ; 5 - + const NORMAL_PARTY_MENU ; $00 + const USE_ITEM_PARTY_MENU ; $01 + const BATTLE_PARTY_MENU ; $02 + const TMHM_PARTY_MENU ; $03 + const SWAP_MONS_PARTY_MENU ; $04 + const EVO_STONE_PARTY_MENU ; $05 ; party menu message IDs - const_def $F0 - const ANTIDOTE_MSG ; $F0 - const BURN_HEAL_MSG ; $F1 - const ICE_HEAL_MSG ; $F2 - const AWAKENING_MSG ; $F3 - const PARALYZ_HEAL_MSG ; $F4 - const POTION_MSG ; $F5 - const FULL_HEAL_MSG ; $F6 - const REVIVE_MSG ; $F7 - const RARE_CANDY_MSG ; $F8 +; PartyMenuItemUseMessagePointers indexes + const_next $F0 +FIRST_PARTY_MENU_TEXT_ID EQU const_value + const ANTIDOTE_MSG ; $F0 + const BURN_HEAL_MSG ; $F1 + const ICE_HEAL_MSG ; $F2 + const AWAKENING_MSG ; $F3 + const PARALYZ_HEAL_MSG ; $F4 + const POTION_MSG ; $F5 + const FULL_HEAL_MSG ; $F6 + const REVIVE_MSG ; $F7 + const RARE_CANDY_MSG ; $F8 ; naming screen types const_def diff --git a/constants/move_effect_constants.asm b/constants/move_effect_constants.asm index 54fc4896..8872ac3e 100644 --- a/constants/move_effect_constants.asm +++ b/constants/move_effect_constants.asm @@ -5,7 +5,7 @@ const_def const NO_ADDITIONAL_EFFECT ; $00 - const_skip ; $01 + const EFFECT_01 ; $01 unused const POISON_SIDE_EFFECT1 ; $02 const DRAIN_HP_EFFECT ; $03 const BURN_SIDE_EFFECT1 ; $04 @@ -34,7 +34,7 @@ const THRASH_PETAL_DANCE_EFFECT ; $1B const SWITCH_AND_TELEPORT_EFFECT ; $1C const TWO_TO_FIVE_ATTACKS_EFFECT ; $1D - const_skip ; $1E + const EFFECT_1E ; $1E unused const FLINCH_SIDE_EFFECT1 ; $1F const SLEEP_EFFECT ; $20 const POISON_SIDE_EFFECT2 ; $21 diff --git a/constants/pokemon_data_constants.asm b/constants/pokemon_data_constants.asm index a304b852..a0e5b257 100755 --- a/constants/pokemon_data_constants.asm +++ b/constants/pokemon_data_constants.asm @@ -28,3 +28,14 @@ HOF_TEAM_CAPACITY EQU 50 MAX_EVOLUTIONS EQU 3 EVOLUTION_SIZE EQU 4 + + +; wMonHGrowthRate values +; GrowthRateTable indexes (see data/growth_rates.asm) + const_def + const GROWTH_MEDIUM_FAST + const GROWTH_SLIGHTLY_FAST + const GROWTH_SLIGHTLY_SLOW + const GROWTH_MEDIUM_SLOW + const GROWTH_FAST + const GROWTH_SLOW diff --git a/constants/script_constants.asm b/constants/script_constants.asm index d381ce6c..9b2ab740 100644 --- a/constants/script_constants.asm +++ b/constants/script_constants.asm @@ -11,3 +11,22 @@ SLOTSCHERRY EQU $0A08 SLOTSFISH EQU $0E0C SLOTSBIRD EQU $1210 SLOTSMOUSE EQU $1614 + +; in game trade dialog sets + const_def + const TRADE_DIALOGSET_CASUAL + const TRADE_DIALOGSET_POLITE + const TRADE_DIALOGSET_HAPPY + +; badges +; wObtainedBadges and wBeatGymFlags bits + const_def + const BIT_BOULDERBADGE ; 0 + const BIT_CASCADEBADGE ; 1 + const BIT_THUNDERBADGE ; 2 + const BIT_RAINBOWBADGE ; 3 + const BIT_SOULBADGE ; 4 + const BIT_MARSHBADGE ; 5 + const BIT_VOLCANOBADGE ; 6 + const BIT_EARTHBADGE ; 7 +NUM_BADGES EQU const_value diff --git a/data/battle/always_happen_effects.asm b/data/battle/always_happen_effects.asm index 4b6d466f..c8e5247e 100644 --- a/data/battle/always_happen_effects.asm +++ b/data/battle/always_happen_effects.asm @@ -5,9 +5,9 @@ AlwaysHappenSideEffects: db DREAM_EATER_EFFECT db PAY_DAY_EFFECT db TWO_TO_FIVE_ATTACKS_EFFECT - db $1E + db EFFECT_1E db ATTACK_TWICE_EFFECT db RECOIL_EFFECT db TWINEEDLE_EFFECT db RAGE_EFFECT - db -1 + db -1 ; end diff --git a/data/battle/critical_hit_moves.asm b/data/battle/critical_hit_moves.asm index ee7543e8..a567a934 100644 --- a/data/battle/critical_hit_moves.asm +++ b/data/battle/critical_hit_moves.asm @@ -3,4 +3,4 @@ HighCriticalMoves: db RAZOR_LEAF db CRABHAMMER db SLASH - db $FF + db -1 ; end diff --git a/data/battle/residual_effects_1.asm b/data/battle/residual_effects_1.asm index 36e28391..b478487d 100644 --- a/data/battle/residual_effects_1.asm +++ b/data/battle/residual_effects_1.asm @@ -17,4 +17,4 @@ ResidualEffects1: db MIMIC_EFFECT db LEECH_SEED_EFFECT db SPLASH_EFFECT - db -1 + db -1 ; end diff --git a/data/battle/residual_effects_2.asm b/data/battle/residual_effects_2.asm index cde55cc9..f58bb47c 100644 --- a/data/battle/residual_effects_2.asm +++ b/data/battle/residual_effects_2.asm @@ -2,7 +2,7 @@ ResidualEffects2: ; non-side effects not included in ResidualEffects1 ; stat-affecting moves, sleep-inflicting moves, and Bide ; e.g., Meditate, Bide, Hypnosis - db $01 + db EFFECT_01 db ATTACK_UP1_EFFECT db DEFENSE_UP1_EFFECT db SPEED_UP1_EFFECT @@ -29,4 +29,4 @@ ResidualEffects2: db SPECIAL_DOWN2_EFFECT db ACCURACY_DOWN2_EFFECT db EVASION_DOWN2_EFFECT - db -1 + db -1 ; end diff --git a/data/battle/set_damage_effects.asm b/data/battle/set_damage_effects.asm index 3fc75e41..cedb3bc1 100644 --- a/data/battle/set_damage_effects.asm +++ b/data/battle/set_damage_effects.asm @@ -3,4 +3,4 @@ SetDamageEffects: ; e.g., Super Fang, Psywave db SUPER_FANG_EFFECT db SPECIAL_DAMAGE_EFFECT - db -1 + db -1 ; end diff --git a/data/battle/special_effects.asm b/data/battle/special_effects.asm index 0db05b9a..3e21ee2f 100644 --- a/data/battle/special_effects.asm +++ b/data/battle/special_effects.asm @@ -8,7 +8,7 @@ SpecialEffects: db PAY_DAY_EFFECT db SWIFT_EFFECT db TWO_TO_FIVE_ATTACKS_EFFECT - db $1E + db EFFECT_1E db CHARGE_EFFECT db SUPER_FANG_EFFECT db SPECIAL_DAMAGE_EFFECT @@ -16,9 +16,9 @@ SpecialEffects: db ATTACK_TWICE_EFFECT db JUMP_KICK_EFFECT db RECOIL_EFFECT - ; fallthrough to Next EffectsArray + ; fallthrough SpecialEffectsCont: ; damaging moves whose effect is executed prior to damage calculation db THRASH_PETAL_DANCE_EFFECT db TRAPPING_EFFECT - db -1 + db -1 ; end diff --git a/data/battle/unused_critical_hit_moves.asm b/data/battle/unused_critical_hit_moves.asm index 84cb65ce..bc88b2cb 100644 --- a/data/battle/unused_critical_hit_moves.asm +++ b/data/battle/unused_critical_hit_moves.asm @@ -3,4 +3,4 @@ UnusedHighCriticalMoves: db RAZOR_LEAF db CRABHAMMER db SLASH - db $FF + db -1 ; end diff --git a/data/events/hidden_coins.asm b/data/events/hidden_coins.asm index b7358572..78aaaa64 100755 --- a/data/events/hidden_coins.asm +++ b/data/events/hidden_coins.asm @@ -1,14 +1,19 @@ +hidden_coin: MACRO + db \1, \3, \2 +ENDM + HiddenCoinCoords: - db GAME_CORNER,$08,$00 - db GAME_CORNER,$10,$01 - db GAME_CORNER,$0b,$03 - db GAME_CORNER,$0e,$03 - db GAME_CORNER,$0c,$04 - db GAME_CORNER,$0c,$09 - db GAME_CORNER,$0f,$09 - db GAME_CORNER,$0e,$10 - db GAME_CORNER,$10,$0a - db GAME_CORNER,$07,$0b - db GAME_CORNER,$08,$0f - db GAME_CORNER,$0f,$0c - db $ff +; map id, x, y + hidden_coin GAME_CORNER, 0, 8 + hidden_coin GAME_CORNER, 1, 16 + hidden_coin GAME_CORNER, 3, 11 + hidden_coin GAME_CORNER, 3, 14 + hidden_coin GAME_CORNER, 4, 12 + hidden_coin GAME_CORNER, 9, 12 + hidden_coin GAME_CORNER, 9, 15 + hidden_coin GAME_CORNER, 16, 14 + hidden_coin GAME_CORNER, 10, 16 + hidden_coin GAME_CORNER, 11, 7 + hidden_coin GAME_CORNER, 15, 8 + hidden_coin GAME_CORNER, 12, 15 + db -1 ; end diff --git a/data/events/hidden_item_coords.asm b/data/events/hidden_item_coords.asm index 6b911dea..54571cac 100755 --- a/data/events/hidden_item_coords.asm +++ b/data/events/hidden_item_coords.asm @@ -1,57 +1,61 @@ +hidden_item: MACRO + db \1, \3, \2 +ENDM + HiddenItemCoords: -; map ID, then coords - db VIRIDIAN_FOREST,$12,$01 - db VIRIDIAN_FOREST,$2a,$10 - db MT_MOON_B2F,$0c,$12 - db ROUTE_25,$03,$26 - db ROUTE_9,$07,$0e - db SS_ANNE_KITCHEN,$09,$0d - db SS_ANNE_B1F_ROOMS,$01,$03 - db ROUTE_10,$11,$09 - db ROUTE_10,$35,$10 - db ROCKET_HIDEOUT_B1F,$0f,$15 - db ROCKET_HIDEOUT_B3F,$11,$1b - db ROCKET_HIDEOUT_B4F,$01,$19 - db POKEMON_TOWER_5F,$0c,$04 - db ROUTE_13,$0e,$01 - db ROUTE_13,$0d,$10 - db POKEMON_MANSION_B1F,$09,$01 - db SAFARI_ZONE_GATE,$01,$0a - db SAFARI_ZONE_WEST,$05,$06 - db SILPH_CO_5F,$03,$0c - db SILPH_CO_9F,$0f,$02 - db COPYCATS_HOUSE_2F,$01,$01 - db CERULEAN_CAVE_1F,$0b,$0e - db CERULEAN_CAVE_B1F,$03,$1b - db POWER_PLANT,$10,$11 - db POWER_PLANT,$01,$0c - db SEAFOAM_ISLANDS_B2F,$0f,$0f - db SEAFOAM_ISLANDS_B4F,$11,$19 - db POKEMON_MANSION_1F,$10,$08 - db POKEMON_MANSION_3F,$09,$01 - db ROUTE_23,$2c,$09 - db ROUTE_23,$46,$13 - db ROUTE_23,$5a,$08 - db VICTORY_ROAD_2F,$02,$05 - db VICTORY_ROAD_2F,$07,$1a - db UNUSED_MAP_6F,$0b,$0e - db VIRIDIAN_CITY,$04,$0e - db ROUTE_11,$05,$30 - db ROUTE_12,$3f,$02 - db ROUTE_17,$0e,$0f - db ROUTE_17,$2d,$08 - db ROUTE_17,$48,$11 - db ROUTE_17,$5b,$04 - db ROUTE_17,$79,$08 - db UNDERGROUND_PATH_NORTH_SOUTH,$04,$03 - db UNDERGROUND_PATH_NORTH_SOUTH,$22,$04 - db UNDERGROUND_PATH_WEST_EAST,$02,$0c - db UNDERGROUND_PATH_WEST_EAST,$05,$15 - db CELADON_CITY,$0f,$30 - db ROUTE_25,$01,$0a - db MT_MOON_B2F,$09,$21 - db SEAFOAM_ISLANDS_B3F,$10,$09 - db VERMILION_CITY,$0b,$0e - db CERULEAN_CITY,$08,$0f - db ROUTE_4,$03,$28 - db $ff +; map id, x, y + hidden_item VIRIDIAN_FOREST, 1, 18 + hidden_item VIRIDIAN_FOREST, 16, 42 + hidden_item MT_MOON_B2F, 18, 12 + hidden_item ROUTE_25, 38, 3 + hidden_item ROUTE_9, 14, 7 + hidden_item SS_ANNE_KITCHEN, 13, 9 + hidden_item SS_ANNE_B1F_ROOMS, 3, 1 + hidden_item ROUTE_10, 9, 17 + hidden_item ROUTE_10, 16, 53 + hidden_item ROCKET_HIDEOUT_B1F, 21, 15 + hidden_item ROCKET_HIDEOUT_B3F, 27, 17 + hidden_item ROCKET_HIDEOUT_B4F, 25, 1 + hidden_item POKEMON_TOWER_5F, 4, 12 + hidden_item ROUTE_13, 1, 14 + hidden_item ROUTE_13, 16, 13 + hidden_item POKEMON_MANSION_B1F, 1, 9 + hidden_item SAFARI_ZONE_GATE, 10, 1 ; inaccessible + hidden_item SAFARI_ZONE_WEST, 6, 5 + hidden_item SILPH_CO_5F, 12, 3 + hidden_item SILPH_CO_9F, 2, 15 + hidden_item COPYCATS_HOUSE_2F, 1, 1 + hidden_item CERULEAN_CAVE_1F, 14, 11 + hidden_item CERULEAN_CAVE_B1F, 27, 3 + hidden_item POWER_PLANT, 17, 16 + hidden_item POWER_PLANT, 12, 1 + hidden_item SEAFOAM_ISLANDS_B2F, 15, 15 + hidden_item SEAFOAM_ISLANDS_B4F, 25, 17 + hidden_item POKEMON_MANSION_1F, 8, 16 + hidden_item POKEMON_MANSION_3F, 1, 9 + hidden_item ROUTE_23, 9, 44 + hidden_item ROUTE_23, 19, 70 + hidden_item ROUTE_23, 8, 90 + hidden_item VICTORY_ROAD_2F, 5, 2 + hidden_item VICTORY_ROAD_2F, 26, 7 + hidden_item UNUSED_MAP_6F, 14, 11 + hidden_item VIRIDIAN_CITY, 14, 4 + hidden_item ROUTE_11, 48, 5 + hidden_item ROUTE_12, 2, 63 + hidden_item ROUTE_17, 15, 14 + hidden_item ROUTE_17, 8, 45 + hidden_item ROUTE_17, 17, 72 + hidden_item ROUTE_17, 4, 91 + hidden_item ROUTE_17, 8, 121 + hidden_item UNDERGROUND_PATH_NORTH_SOUTH, 3, 4 + hidden_item UNDERGROUND_PATH_NORTH_SOUTH, 4, 34 + hidden_item UNDERGROUND_PATH_WEST_EAST, 12, 2 + hidden_item UNDERGROUND_PATH_WEST_EAST, 21, 5 + hidden_item CELADON_CITY, 48, 15 + hidden_item ROUTE_25, 10, 1 + hidden_item MT_MOON_B2F, 33, 9 + hidden_item SEAFOAM_ISLANDS_B3F, 9, 16 + hidden_item VERMILION_CITY, 14, 11 + hidden_item CERULEAN_CITY, 15, 8 + hidden_item ROUTE_4, 40, 3 + db -1 ; end diff --git a/data/events/prize_mon_levels.asm b/data/events/prize_mon_levels.asm index bffa4440..eb30ac80 100755 --- a/data/events/prize_mon_levels.asm +++ b/data/events/prize_mon_levels.asm @@ -1,19 +1,19 @@ PrizeMonLevelDictionary: IF DEF(_RED) - db ABRA,9 - db CLEFAIRY,8 - db NIDORINA,17 + db ABRA, 9 + db CLEFAIRY, 8 + db NIDORINA, 17 - db DRATINI,18 - db SCYTHER,25 - db PORYGON,26 + db DRATINI, 18 + db SCYTHER, 25 + db PORYGON, 26 ENDC IF DEF(_BLUE) - db ABRA,6 - db CLEFAIRY,12 - db NIDORINO,17 + db ABRA, 6 + db CLEFAIRY, 12 + db NIDORINO, 17 - db PINSIR,20 - db DRATINI,24 - db PORYGON,18 + db PINSIR, 20 + db DRATINI, 24 + db PORYGON, 18 ENDC diff --git a/data/events/prizes.asm b/data/events/prizes.asm index ac162b33..684add94 100755 --- a/data/events/prizes.asm +++ b/data/events/prizes.asm @@ -1,12 +1,7 @@ PrizeDifferentMenuPtrs: - dw PrizeMenuMon1Entries - dw PrizeMenuMon1Cost - - dw PrizeMenuMon2Entries - dw PrizeMenuMon2Cost - - dw PrizeMenuTMsEntries - dw PrizeMenuTMsCost + dw PrizeMenuMon1Entries, PrizeMenuMon1Cost + dw PrizeMenuMon2Entries, PrizeMenuMon2Cost + dw PrizeMenuTMsEntries, PrizeMenuTMsCost NoThanksText: db "NO THANKS@" diff --git a/data/events/trades.asm b/data/events/trades.asm index cf0fcbfd..8dd6ef8f 100755 --- a/data/events/trades.asm +++ b/data/events/trades.asm @@ -1,12 +1,12 @@ TradeMons: -; givemonster, getmonster, textstring, nickname (11 bytes), 14 bytes total - db NIDORINO, NIDORINA, 0,"TERRY@@@@@@" - db ABRA, MR_MIME, 0,"MARCEL@@@@@" - db BUTTERFREE,BEEDRILL, 2,"CHIKUCHIKU@" - db PONYTA, SEEL, 0,"SAILOR@@@@@" - db SPEAROW, FARFETCHD,2,"DUX@@@@@@@@" - db SLOWBRO, LICKITUNG,0,"MARC@@@@@@@" - db POLIWHIRL, JYNX, 1,"LOLA@@@@@@@" - db RAICHU, ELECTRODE,1,"DORIS@@@@@@" - db VENONAT, TANGELA, 2,"CRINKLES@@@" - db NIDORAN_M, NIDORAN_F,2,"SPOT@@@@@@@" +; give mon, get mon, dialog id, nickname + db NIDORINO, NIDORINA, TRADE_DIALOGSET_CASUAL, "TERRY@@@@@@" + db ABRA, MR_MIME, TRADE_DIALOGSET_CASUAL, "MARCEL@@@@@" + db BUTTERFREE, BEEDRILL, TRADE_DIALOGSET_HAPPY, "CHIKUCHIKU@" + db PONYTA, SEEL, TRADE_DIALOGSET_CASUAL, "SAILOR@@@@@" + db SPEAROW, FARFETCHD, TRADE_DIALOGSET_HAPPY, "DUX@@@@@@@@" + db SLOWBRO, LICKITUNG, TRADE_DIALOGSET_CASUAL, "MARC@@@@@@@" + db POLIWHIRL, JYNX, TRADE_DIALOGSET_POLITE, "LOLA@@@@@@@" + db RAICHU, ELECTRODE, TRADE_DIALOGSET_POLITE, "DORIS@@@@@@" + db VENONAT, TANGELA, TRADE_DIALOGSET_HAPPY, "CRINKLES@@@" + db NIDORAN_M, NIDORAN_F, TRADE_DIALOGSET_HAPPY, "SPOT@@@@@@@" diff --git a/data/growth_rates.asm b/data/growth_rates.asm index 6c443183..32354a64 100644 --- a/data/growth_rates.asm +++ b/data/growth_rates.asm @@ -1,12 +1,19 @@ -; each entry has the following scheme: -; %AAAABBBB %SCCCCCCC %DDDDDDDD %EEEEEEEE -; resulting in -; (a*n^3)/b + sign*c*n^2 + d*n - e -; where sign = -1 <=> S=1 +growth_rate: MACRO +; [1]/[2]*n**3 + [3]*n**2 + [4]*n - [5] + dn \1, \2 + if \3 & $80 ; signed + db -\3 | $80 + else + db \3 + endc + db \4, \5 +ENDM + GrowthRateTable: - db $11,$00,$00,$00 ; medium fast n^3 - db $34,$0A,$00,$1E ; (unused?) 3/4 n^3 + 10 n^2 - 30 - db $34,$14,$00,$46 ; (unused?) 3/4 n^3 + 20 n^2 - 70 - db $65,$8F,$64,$8C ; medium slow: 6/5 n^3 - 15 n^2 + 100 n - 140 - db $45,$00,$00,$00 ; fast: 4/5 n^3 - db $54,$00,$00,$00 ; slow: 5/4 n^3 +; entries correspond to GROWTH_* (see constants/pokemon_data_constants.asm) + growth_rate 1, 1, 0, 0, 0 ; Medium Fast + growth_rate 3, 4, 10, 0, 30 ; Slightly Fast + growth_rate 3, 4, 20, 0, 70 ; Slightly Slow + growth_rate 6, 5, -15, 100, 140 ; Medium Slow + growth_rate 4, 5, 0, 0, 0 ; Fast + growth_rate 5, 4, 0, 0, 0 ; Slow diff --git a/data/items/guard_drink_items.asm b/data/items/guard_drink_items.asm index effef203..e76d1f77 100644 --- a/data/items/guard_drink_items.asm +++ b/data/items/guard_drink_items.asm @@ -1,2 +1,5 @@ GuardDrinksList: - db FRESH_WATER, SODA_POP, LEMONADE, $00 + db FRESH_WATER + db SODA_POP + db LEMONADE + db 0 ; end diff --git a/data/items/use_overworld.asm b/data/items/use_overworld.asm index c2c244fe..5a2ba102 100644 --- a/data/items/use_overworld.asm +++ b/data/items/use_overworld.asm @@ -6,4 +6,4 @@ UsableItems_CloseMenu: db OLD_ROD db GOOD_ROD db SUPER_ROD - db $ff + db -1 ; end diff --git a/data/items/use_party.asm b/data/items/use_party.asm index 0126ed5e..e8da68be 100644 --- a/data/items/use_party.asm +++ b/data/items/use_party.asm @@ -36,4 +36,4 @@ UsableItems_PartyMenu: db MAX_ETHER db ELIXER db MAX_ELIXER - db $ff + db -1 ; end diff --git a/data/items/vending_prices.asm b/data/items/vending_prices.asm index 9a473cc9..527dd9cc 100644 --- a/data/items/vending_prices.asm +++ b/data/items/vending_prices.asm @@ -1,7 +1,10 @@ +vend_item: MACRO + db \1 + money \2 +ENDM + VendingPrices: - db FRESH_WATER - money 200 - db SODA_POP - money 300 - db LEMONADE - money 350 +; item id, price + vend_item FRESH_WATER, 200 + vend_item SODA_POP, 300 + vend_item LEMONADE, 350 diff --git a/data/maps/badge_maps.asm b/data/maps/badge_maps.asm index 81d95757..6b68be02 100644 --- a/data/maps/badge_maps.asm +++ b/data/maps/badge_maps.asm @@ -1,10 +1,10 @@ MapBadgeFlags: - db PEWTER_GYM, %00000001 - db CERULEAN_GYM, %00000010 - db VERMILION_GYM,%00000100 - db CELADON_GYM, %00001000 - db FUCHSIA_GYM, %00010000 - db SAFFRON_GYM, %00100000 - db CINNABAR_GYM, %01000000 - db VIRIDIAN_GYM, %10000000 - db $ff + db PEWTER_GYM, 1 << BIT_BOULDERBADGE + db CERULEAN_GYM, 1 << BIT_CASCADEBADGE + db VERMILION_GYM, 1 << BIT_THUNDERBADGE + db CELADON_GYM, 1 << BIT_RAINBOWBADGE + db FUCHSIA_GYM, 1 << BIT_SOULBADGE + db SAFFRON_GYM, 1 << BIT_MARSHBADGE + db CINNABAR_GYM, 1 << BIT_VOLCANOBADGE + db VIRIDIAN_GYM, 1 << BIT_EARTHBADGE + db -1 ; end diff --git a/data/maps/dungeon_maps.asm b/data/maps/dungeon_maps.asm index 118cf46b..bec97b48 100644 --- a/data/maps/dungeon_maps.asm +++ b/data/maps/dungeon_maps.asm @@ -5,25 +5,18 @@ DungeonMaps1: db ROCK_TUNNEL_1F db SEAFOAM_ISLANDS_1F db ROCK_TUNNEL_B1F - db $FF + db -1 ; end ; GetBattleTransitionID_IsDungeonMap checks if wCurMap ; is in between or equal to each pair of maps DungeonMaps2: ; all MT_MOON maps - db MT_MOON_1F - db MT_MOON_B2F - + db MT_MOON_1F, MT_MOON_B2F ; all SS_ANNE maps, VICTORY_ROAD_1F, LANCES_ROOM, and HALL_OF_FAME - db SS_ANNE_1F - db HALL_OF_FAME - + db SS_ANNE_1F, HALL_OF_FAME ; all POKEMON_TOWER maps and Lavender Town buildings - db LAVENDER_POKECENTER - db LAVENDER_CUBONE_HOUSE - + db LAVENDER_POKECENTER, LAVENDER_CUBONE_HOUSE ; SILPH_CO_[2-8]F, POKEMON_MANSION[2F-B1F], SAFARI_ZONE, and ; CERULEAN_CAVE maps, except for SILPH_CO_1F - db SILPH_CO_2F - db CERULEAN_CAVE_1F - db $FF + db SILPH_CO_2F, CERULEAN_CAVE_1F + db -1 ; end diff --git a/data/maps/force_bike_surf.asm b/data/maps/force_bike_surf.asm index fb352aa9..7f65333d 100755 --- a/data/maps/force_bike_surf.asm +++ b/data/maps/force_bike_surf.asm @@ -1,11 +1,15 @@ +force_bike_surf: MACRO + db \1, \3, \2 +ENDM + ForcedBikeOrSurfMaps: -; map id, y, x - db ROUTE_16,$0A,$11 - db ROUTE_16,$0B,$11 - db ROUTE_18,$08,$21 - db ROUTE_18,$09,$21 - db SEAFOAM_ISLANDS_B3F,$07,$12 - db SEAFOAM_ISLANDS_B3F,$07,$13 - db SEAFOAM_ISLANDS_B4F,$0E,$04 - db SEAFOAM_ISLANDS_B4F,$0E,$05 - db $FF ;end +; map id, x, y + force_bike_surf ROUTE_16, 17, 10 + force_bike_surf ROUTE_16, 17, 11 + force_bike_surf ROUTE_18, 33, 8 + force_bike_surf ROUTE_18, 33, 9 + force_bike_surf SEAFOAM_ISLANDS_B3F, 18, 7 + force_bike_surf SEAFOAM_ISLANDS_B3F, 19, 7 + force_bike_surf SEAFOAM_ISLANDS_B4F, 4, 14 + force_bike_surf SEAFOAM_ISLANDS_B4F, 5, 14 + db -1 ; end diff --git a/data/maps/hide_show_data.asm b/data/maps/hide_show_data.asm index 4203e90a..f7276b8d 100755 --- a/data/maps/hide_show_data.asm +++ b/data/maps/hide_show_data.asm @@ -29,7 +29,7 @@ MapHSPointers: dw NoHS dw NoHS dw Route15HS - dw Rout16eHS + dw Route16HS dw NoHS dw NoHS dw NoHS @@ -302,7 +302,7 @@ Route12HS: db ROUTE_12, $0A, SHOW Route15HS: db ROUTE_15, $0B, SHOW -Rout16eHS: +Route16HS: db ROUTE_16, $07, SHOW Route22HS: db ROUTE_22, $01, HIDE diff --git a/data/maps/names.asm b/data/maps/names.asm index 493f3936..6bdb66d5 100755 --- a/data/maps/names.asm +++ b/data/maps/names.asm @@ -1,107 +1,54 @@ MapNames: -PalletTownName: - db "PALLET TOWN@" -ViridianCityName: - db "VIRIDIAN CITY@" -PewterCityName: - db "PEWTER CITY@" -CeruleanCityName: - db "CERULEAN CITY@" -LavenderTownName: - db "LAVENDER TOWN@" -VermilionCityName: - db "VERMILION CITY@" -CeladonCityName: - db "CELADON CITY@" -FuchsiaCityName: - db "FUCHSIA CITY@" -CinnabarIslandName: - db "CINNABAR ISLAND@" -IndigoPlateauName: - db "INDIGO PLATEAU@" -SaffronCityName: - db "SAFFRON CITY@" -Route1Name: - db "ROUTE 1@" -Route2Name: - db "ROUTE 2@" -Route3Name: - db "ROUTE 3@" -Route4Name: - db "ROUTE 4@" -Route5Name: - db "ROUTE 5@" -Route6Name: - db "ROUTE 6@" -Route7Name: - db "ROUTE 7@" -Route8Name: - db "ROUTE 8@" -Route9Name: - db "ROUTE 9@" -Route10Name: - db "ROUTE 10@" -Route11Name: - db "ROUTE 11@" -Route12Name: - db "ROUTE 12@" -Route13Name: - db "ROUTE 13@" -Route14Name: - db "ROUTE 14@" -Route15Name: - db "ROUTE 15@" -Route16Name: - db "ROUTE 16@" -Route17Name: - db "ROUTE 17@" -Route18Name: - db "ROUTE 18@" -Route19Name: - db "SEA ROUTE 19@" -Route20Name: - db "SEA ROUTE 20@" -Route21Name: - db "SEA ROUTE 21@" -Route22Name: - db "ROUTE 22@" -Route23Name: - db "ROUTE 23@" -Route24Name: - db "ROUTE 24@" -Route25Name: - db "ROUTE 25@" -ViridianForestName: - db "VIRIDIAN FOREST@" -MountMoonName: - db "MT.MOON@" -RockTunnelName: - db "ROCK TUNNEL@" -SeaCottageName: - db "SEA COTTAGE@" -SSAnneName: - db "S.S.ANNE@" -PokemonLeagueName: - db "#MON LEAGUE@" -UndergroundPathName: - db "UNDERGROUND PATH@" -PokemonTowerName: - db "#MON TOWER@" -SeafoamIslandsName: - db "SEAFOAM ISLANDS@" -VictoryRoadName: - db "VICTORY ROAD@" -DiglettsCaveName: - db "DIGLETT's CAVE@" -RocketHQName: - db "ROCKET HQ@" -SilphCoName: - db "SILPH CO.@" -PokemonMansionName: - db " MANSION@" -SafariZoneName: - db "SAFARI ZONE@" -CeruleanCaveName: - db "CERULEAN CAVE@" -PowerPlantName: - db "POWER PLANT@" +PalletTownName: db "PALLET TOWN@" +ViridianCityName: db "VIRIDIAN CITY@" +PewterCityName: db "PEWTER CITY@" +CeruleanCityName: db "CERULEAN CITY@" +LavenderTownName: db "LAVENDER TOWN@" +VermilionCityName: db "VERMILION CITY@" +CeladonCityName: db "CELADON CITY@" +FuchsiaCityName: db "FUCHSIA CITY@" +CinnabarIslandName: db "CINNABAR ISLAND@" +IndigoPlateauName: db "INDIGO PLATEAU@" +SaffronCityName: db "SAFFRON CITY@" +Route1Name: db "ROUTE 1@" +Route2Name: db "ROUTE 2@" +Route3Name: db "ROUTE 3@" +Route4Name: db "ROUTE 4@" +Route5Name: db "ROUTE 5@" +Route6Name: db "ROUTE 6@" +Route7Name: db "ROUTE 7@" +Route8Name: db "ROUTE 8@" +Route9Name: db "ROUTE 9@" +Route10Name: db "ROUTE 10@" +Route11Name: db "ROUTE 11@" +Route12Name: db "ROUTE 12@" +Route13Name: db "ROUTE 13@" +Route14Name: db "ROUTE 14@" +Route15Name: db "ROUTE 15@" +Route16Name: db "ROUTE 16@" +Route17Name: db "ROUTE 17@" +Route18Name: db "ROUTE 18@" +Route19Name: db "SEA ROUTE 19@" +Route20Name: db "SEA ROUTE 20@" +Route21Name: db "SEA ROUTE 21@" +Route22Name: db "ROUTE 22@" +Route23Name: db "ROUTE 23@" +Route24Name: db "ROUTE 24@" +Route25Name: db "ROUTE 25@" +ViridianForestName: db "VIRIDIAN FOREST@" +MountMoonName: db "MT.MOON@" +RockTunnelName: db "ROCK TUNNEL@" +SeaCottageName: db "SEA COTTAGE@" +SSAnneName: db "S.S.ANNE@" +PokemonLeagueName: db "#MON LEAGUE@" +UndergroundPathName: db "UNDERGROUND PATH@" +PokemonTowerName: db "#MON TOWER@" +SeafoamIslandsName: db "SEAFOAM ISLANDS@" +VictoryRoadName: db "VICTORY ROAD@" +DiglettsCaveName: db "DIGLETT's CAVE@" +RocketHQName: db "ROCKET HQ@" +SilphCoName: db "SILPH CO.@" +PokemonMansionName: db " MANSION@" +SafariZoneName: db "SAFARI ZONE@" +CeruleanCaveName: db "CERULEAN CAVE@" +PowerPlantName: db "POWER PLANT@" diff --git a/data/maps/rest_house_maps.asm b/data/maps/rest_house_maps.asm index 2feb89d3..88f0845a 100644 --- a/data/maps/rest_house_maps.asm +++ b/data/maps/rest_house_maps.asm @@ -2,4 +2,4 @@ SafariZoneRestHouses: db SAFARI_ZONE_WEST_REST_HOUSE db SAFARI_ZONE_EAST_REST_HOUSE db SAFARI_ZONE_NORTH_REST_HOUSE - db -1 + db -1 ; end diff --git a/data/maps/special_warps.asm b/data/maps/special_warps.asm index 6b536b67..80f88cc4 100755 --- a/data/maps/special_warps.asm +++ b/data/maps/special_warps.asm @@ -2,118 +2,90 @@ ; 00: target map ID ; 01: which dungeon warp in the source map was used DungeonWarpList: - db SEAFOAM_ISLANDS_B1F,$01 - db SEAFOAM_ISLANDS_B1F,$02 - db SEAFOAM_ISLANDS_B2F,$01 - db SEAFOAM_ISLANDS_B2F,$02 - db SEAFOAM_ISLANDS_B3F,$01 - db SEAFOAM_ISLANDS_B3F,$02 - db SEAFOAM_ISLANDS_B4F,$01 - db SEAFOAM_ISLANDS_B4F,$02 - db VICTORY_ROAD_2F,$02 - db POKEMON_MANSION_1F,$01 - db POKEMON_MANSION_1F,$02 - db POKEMON_MANSION_2F,$03 - db $FF + db SEAFOAM_ISLANDS_B1F, 1 + db SEAFOAM_ISLANDS_B1F, 2 + db SEAFOAM_ISLANDS_B2F, 1 + db SEAFOAM_ISLANDS_B2F, 2 + db SEAFOAM_ISLANDS_B3F, 1 + db SEAFOAM_ISLANDS_B3F, 2 + db SEAFOAM_ISLANDS_B4F, 1 + db SEAFOAM_ISLANDS_B4F, 2 + db VICTORY_ROAD_2F, 2 + db POKEMON_MANSION_1F, 1 + db POKEMON_MANSION_1F, 2 + db POKEMON_MANSION_2F, 3 + db -1 ; end + + +fly_warp: MACRO + event_displacement \1_WIDTH, \2, \3 + db ((\3) & $01) ;sub-block Y + db ((\2) & $01) ;sub-block X +ENDM DungeonWarpData: - FLYWARP_DATA SEAFOAM_ISLANDS_B1F_WIDTH,7,18 - FLYWARP_DATA SEAFOAM_ISLANDS_B1F_WIDTH,7,23 - FLYWARP_DATA SEAFOAM_ISLANDS_B2F_WIDTH,7,19 - FLYWARP_DATA SEAFOAM_ISLANDS_B2F_WIDTH,7,22 - FLYWARP_DATA SEAFOAM_ISLANDS_B3F_WIDTH,7,18 - FLYWARP_DATA SEAFOAM_ISLANDS_B3F_WIDTH,7,19 - FLYWARP_DATA SEAFOAM_ISLANDS_B4F_WIDTH,14,4 - FLYWARP_DATA SEAFOAM_ISLANDS_B4F_WIDTH,14,5 - FLYWARP_DATA VICTORY_ROAD_2F_WIDTH,16,22 - FLYWARP_DATA POKEMON_MANSION_1F_WIDTH,14,16 - FLYWARP_DATA POKEMON_MANSION_1F_WIDTH,14,16 - FLYWARP_DATA POKEMON_MANSION_2F_WIDTH,14,18 + fly_warp SEAFOAM_ISLANDS_B1F, 18, 7 + fly_warp SEAFOAM_ISLANDS_B1F, 23, 7 + fly_warp SEAFOAM_ISLANDS_B2F, 19, 7 + fly_warp SEAFOAM_ISLANDS_B2F, 22, 7 + fly_warp SEAFOAM_ISLANDS_B3F, 18, 7 + fly_warp SEAFOAM_ISLANDS_B3F, 19, 7 + fly_warp SEAFOAM_ISLANDS_B4F, 4, 14 + fly_warp SEAFOAM_ISLANDS_B4F, 5, 14 + fly_warp VICTORY_ROAD_2F, 22, 16 + fly_warp POKEMON_MANSION_1F, 16, 14 + fly_warp POKEMON_MANSION_1F, 16, 14 + fly_warp POKEMON_MANSION_2F, 18, 14 -;Format: -; db Map_id -; FLYWARP_DATA [Map Width][Y-pos][X-pos] -; db Tileset_id -FirstMapSpec: - db REDS_HOUSE_2F - FLYWARP_DATA REDS_HOUSE_2F_WIDTH,6,3 - db REDS_HOUSE_2 -TradeCenterSpec1: - db TRADE_CENTER - FLYWARP_DATA TRADE_CENTER_WIDTH,4,3 - db CLUB +special_warp_spec: MACRO + db \1 + fly_warp \1, \2, \3 + db \4 +ENDM -TradeCenterSpec2: - db TRADE_CENTER - FLYWARP_DATA TRADE_CENTER_WIDTH,4,6 - db CLUB +FirstMapSpec: + special_warp_spec REDS_HOUSE_2F, 3, 6, REDS_HOUSE_2 +TradeCenterSpec1: + special_warp_spec TRADE_CENTER, 3, 4, CLUB +TradeCenterSpec2: + special_warp_spec TRADE_CENTER, 6, 4, CLUB +ColosseumSpec1: + special_warp_spec COLOSSEUM, 3, 4, CLUB +ColosseumSpec2: + special_warp_spec COLOSSEUM, 6, 4, CLUB -ColosseumSpec1: - db COLOSSEUM - FLYWARP_DATA COLOSSEUM_WIDTH,4,3 - db CLUB -ColosseumSpec2: - db COLOSSEUM - FLYWARP_DATA COLOSSEUM_WIDTH,4,6 - db CLUB +fly_warp_spec: MACRO + db \1, 0 + dw \2 +ENDM FlyWarpDataPtr: - db PALLET_TOWN, 0 - dw PalletTownFlyWarp - db VIRIDIAN_CITY, 0 - dw ViridianCityFlyWarp - db PEWTER_CITY, 0 - dw PewterCityFlyWarp - db CERULEAN_CITY, 0 - dw CeruleanCityFlyWarp - db LAVENDER_TOWN, 0 - dw LavenderTownFlyWarp - db VERMILION_CITY, 0 - dw VermilionCityFlyWarp - db CELADON_CITY, 0 - dw CeladonCityFlyWarp - db FUCHSIA_CITY, 0 - dw FuchsiaCityFlyWarp - db CINNABAR_ISLAND, 0 - dw CinnabarIslandFlyWarp - db INDIGO_PLATEAU, 0 - dw IndigoPlateauFlyWarp - db SAFFRON_CITY, 0 - dw SaffronCityFlyWarp - db ROUTE_4, 0 - dw Route4FlyWarp - db ROUTE_10, 0 - dw Route10FlyWarp + fly_warp_spec PALLET_TOWN, .PalletTown + fly_warp_spec VIRIDIAN_CITY, .ViridianCity + fly_warp_spec PEWTER_CITY, .PewterCity + fly_warp_spec CERULEAN_CITY, .CeruleanCity + fly_warp_spec LAVENDER_TOWN, .LavenderTown + fly_warp_spec VERMILION_CITY, .VermilionCity + fly_warp_spec CELADON_CITY, .CeladonCity + fly_warp_spec FUCHSIA_CITY, .FuchsiaCity + fly_warp_spec CINNABAR_ISLAND, .CinnabarIsland + fly_warp_spec INDIGO_PLATEAU, .IndigoPlateau + fly_warp_spec SAFFRON_CITY, .SaffronCity + fly_warp_spec ROUTE_4, .Route4 + fly_warp_spec ROUTE_10, .Route10 -; Original Format: -; [Event Displacement][Y-block][X-block][Y-sub_block][X-sub_block] -; Macro Format: -; FLYWARP_DATA [Map Width][Y-pos][X-pos] -PalletTownFlyWarp: - FLYWARP_DATA PALLET_TOWN_WIDTH, 6, 5 -ViridianCityFlyWarp: - FLYWARP_DATA VIRIDIAN_CITY_WIDTH, 26, 23 -PewterCityFlyWarp: - FLYWARP_DATA PEWTER_CITY_WIDTH, 26, 13 -CeruleanCityFlyWarp: - FLYWARP_DATA CERULEAN_CITY_WIDTH, 18, 19 -LavenderTownFlyWarp: - FLYWARP_DATA LAVENDER_TOWN_WIDTH, 6, 3 -VermilionCityFlyWarp: - FLYWARP_DATA VERMILION_CITY_WIDTH, 4, 11 -CeladonCityFlyWarp: - FLYWARP_DATA CELADON_CITY_WIDTH, 10, 41 -FuchsiaCityFlyWarp: - FLYWARP_DATA FUCHSIA_CITY_WIDTH, 28, 19 -CinnabarIslandFlyWarp: - FLYWARP_DATA CINNABAR_ISLAND_WIDTH, 12, 11 -IndigoPlateauFlyWarp: - FLYWARP_DATA INDIGO_PLATEAU_WIDTH, 6, 9 -SaffronCityFlyWarp: - FLYWARP_DATA SAFFRON_CITY_WIDTH, 30, 9 -Route4FlyWarp: - FLYWARP_DATA ROUTE_4_WIDTH, 6, 11 -Route10FlyWarp: - FLYWARP_DATA ROUTE_10_WIDTH, 20, 11 +.PalletTown: fly_warp PALLET_TOWN, 5, 6 +.ViridianCity: fly_warp VIRIDIAN_CITY, 23, 26 +.PewterCity: fly_warp PEWTER_CITY, 13, 26 +.CeruleanCity: fly_warp CERULEAN_CITY, 19, 18 +.LavenderTown: fly_warp LAVENDER_TOWN, 3, 6 +.VermilionCity: fly_warp VERMILION_CITY, 11, 4 +.CeladonCity: fly_warp CELADON_CITY, 41, 10 +.FuchsiaCity: fly_warp FUCHSIA_CITY, 19, 28 +.CinnabarIsland: fly_warp CINNABAR_ISLAND, 11, 12 +.IndigoPlateau: fly_warp INDIGO_PLATEAU, 9, 6 +.SaffronCity: fly_warp SAFFRON_CITY, 9, 30 +.Route4: fly_warp ROUTE_4, 11, 6 +.Route10: fly_warp ROUTE_10, 11, 20 diff --git a/data/maps/sprite_sets.asm b/data/maps/sprite_sets.asm index faba21b5..ee6ddef0 100755 --- a/data/maps/sprite_sets.asm +++ b/data/maps/sprite_sets.asm @@ -45,18 +45,18 @@ MapSpriteSets: ; 02: sprite set ID if in the West or North side ; 03: sprite set ID if in the East or South side SplitMapSpriteSets: - db $02,$25,$02,$01 ; $f1 - db $02,$32,$02,$03 ; $f2 - db $01,$39,$04,$08 ; $f3 - db $02,$15,$03,$08 ; $f4 - db $01,$08,$0A,$08 ; $f5 - db $01,$18,$09,$05 ; $f6 - db $01,$22,$09,$0A ; $f7 - db $01,$35,$01,$0A ; $f8 - db $02,$21,$02,$07 ; $f9 - db $02,$02,$07,$04 ; $fa - db $01,$11,$05,$07 ; $fb - db $01,$03,$07,$03 ; $fc + db $02, $25, $02, $01 ; $f1 + db $02, $32, $02, $03 ; $f2 + db $01, $39, $04, $08 ; $f3 + db $02, $15, $03, $08 ; $f4 + db $01, $08, $0A, $08 ; $f5 + db $01, $18, $09, $05 ; $f6 + db $01, $22, $09, $0A ; $f7 + db $01, $35, $01, $0A ; $f8 + db $02, $21, $02, $07 ; $f9 + db $02, $02, $07, $04 ; $fa + db $01, $11, $05, $07 ; $fb + db $01, $03, $07, $03 ; $fc SpriteSets: ; sprite set $01 diff --git a/data/maps/town_map_entries.asm b/data/maps/town_map_entries.asm index 63ebd51b..b06714d6 100755 --- a/data/maps/town_map_entries.asm +++ b/data/maps/town_map_entries.asm @@ -1,101 +1,117 @@ +external_map: MACRO + dn \1, \2 + dw \3 +ENDM + +; the appearance of towns and routes in the town map ExternalMapEntries: - EMAP $2,$B,PalletTownName - EMAP $2,$8,ViridianCityName - EMAP $2,$3,PewterCityName - EMAP $A,$2,CeruleanCityName - EMAP $E,$5,LavenderTownName - EMAP $A,$9,VermilionCityName - EMAP $7,$5,CeladonCityName - EMAP $8,$D,FuchsiaCityName - EMAP $2,$F,CinnabarIslandName - EMAP $0,$2,IndigoPlateauName - EMAP $A,$5,SaffronCityName - EMAP $0,$0,PalletTownName ; unused - EMAP $2,$A,Route1Name - EMAP $2,$6,Route2Name - EMAP $4,$3,Route3Name - EMAP $8,$2,Route4Name - EMAP $A,$3,Route5Name - EMAP $A,$8,Route6Name - EMAP $8,$5,Route7Name - EMAP $D,$5,Route8Name - EMAP $D,$2,Route9Name - EMAP $E,$4,Route10Name - EMAP $C,$9,Route11Name - EMAP $E,$9,Route12Name - EMAP $D,$B,Route13Name - EMAP $B,$C,Route14Name - EMAP $A,$D,Route15Name - EMAP $5,$5,Route16Name - EMAP $4,$8,Route17Name - EMAP $6,$D,Route18Name - EMAP $6,$F,Route19Name - EMAP $4,$F,Route20Name - EMAP $2,$D,Route21Name - EMAP $0,$8,Route22Name - EMAP $0,$6,Route23Name - EMAP $A,$1,Route24Name - EMAP $B,$0,Route25Name +; x, y, name + external_map 11, 2, PalletTownName + external_map 8, 2, ViridianCityName + external_map 3, 2, PewterCityName + external_map 2, 10, CeruleanCityName + external_map 5, 14, LavenderTownName + external_map 9, 10, VermilionCityName + external_map 5, 7, CeladonCityName + external_map 13, 8, FuchsiaCityName + external_map 15, 2, CinnabarIslandName + external_map 2, 0, IndigoPlateauName + external_map 5, 10, SaffronCityName + external_map 0, 0, PalletTownName ; unused + external_map 10, 2, Route1Name + external_map 6, 2, Route2Name + external_map 3, 4, Route3Name + external_map 2, 8, Route4Name + external_map 3, 10, Route5Name + external_map 8, 10, Route6Name + external_map 5, 8, Route7Name + external_map 5, 13, Route8Name + external_map 2, 13, Route9Name + external_map 4, 14, Route10Name + external_map 9, 12, Route11Name + external_map 9, 14, Route12Name + external_map 11, 13, Route13Name + external_map 12, 11, Route14Name + external_map 13, 10, Route15Name + external_map 5, 5, Route16Name + external_map 8, 4, Route17Name + external_map 13, 6, Route18Name + external_map 15, 6, Route19Name + external_map 15, 4, Route20Name + external_map 13, 2, Route21Name + external_map 8, 0, Route22Name + external_map 6, 0, Route23Name + external_map 1, 10, Route24Name + external_map 0, 11, Route25Name + + +internal_map: MACRO + db \1 + 1 + dn \2, \3 + dw \4 +ENDM +; the appearance of buildings and dungeons in the town map InternalMapEntries: - IMAP OAKS_LAB, $2,$B,PalletTownName - IMAP VIRIDIAN_GYM, $2,$8,ViridianCityName - IMAP VIRIDIAN_FOREST_SOUTH_GATE, $2,$6,Route2Name - IMAP VIRIDIAN_FOREST, $2,$4,ViridianForestName - IMAP PEWTER_POKECENTER, $2,$3,PewterCityName - IMAP MT_MOON_B2F, $6,$2,MountMoonName - IMAP CERULEAN_MART, $A,$2,CeruleanCityName - IMAP MT_MOON_POKECENTER, $5,$2,Route4Name - IMAP CERULEAN_TRASHED_HOUSE_COPY, $A,$2,CeruleanCityName - IMAP DAYCARE, $A,$4,Route5Name - IMAP UNDERGROUND_PATH_ROUTE_6_COPY, $A,$6,Route6Name - IMAP UNDERGROUND_PATH_ROUTE_7_COPY, $9,$5,Route7Name - IMAP UNDERGROUND_PATH_ROUTE_8, $B,$5,Route8Name - IMAP ROCK_TUNNEL_1F, $E,$3,RockTunnelName - IMAP POWER_PLANT, $F,$4,PowerPlantName - IMAP ROUTE_11_GATE_2F, $D,$9,Route11Name - IMAP ROUTE_12_GATE_1F, $E,$7,Route12Name - IMAP BILLS_HOUSE, $C,$0,SeaCottageName - IMAP VERMILION_DOCK, $A,$9,VermilionCityName - IMAP SS_ANNE_B1F_ROOMS, $9,$A,SSAnneName - IMAP VICTORY_ROAD_1F, $0,$4,VictoryRoadName - IMAP HALL_OF_FAME, $0,$2,PokemonLeagueName - IMAP UNDERGROUND_PATH_NORTH_SOUTH, $A,$5,UndergroundPathName - IMAP CHAMPIONS_ROOM, $0,$2,PokemonLeagueName - IMAP UNDERGROUND_PATH_WEST_EAST, $A,$5,UndergroundPathName - IMAP CELADON_HOTEL, $7,$5,CeladonCityName - IMAP LAVENDER_POKECENTER, $E,$5,LavenderTownName - IMAP POKEMON_TOWER_7F, $F,$5,PokemonTowerName - IMAP LAVENDER_CUBONE_HOUSE, $E,$5,LavenderTownName - IMAP WARDENS_HOUSE, $8,$D,FuchsiaCityName - IMAP SAFARI_ZONE_GATE, $8,$C,SafariZoneName - IMAP FUCHSIA_MEETING_ROOM, $8,$D,FuchsiaCityName - IMAP SEAFOAM_ISLANDS_B4F, $5,$F,SeafoamIslandsName - IMAP VERMILION_OLD_ROD_HOUSE, $A,$9,VermilionCityName - IMAP FUCHSIA_GOOD_ROD_HOUSE, $8,$D,FuchsiaCityName - IMAP POKEMON_MANSION_1F, $2,$F,PokemonMansionName - IMAP CINNABAR_MART_COPY, $2,$F,CinnabarIslandName - IMAP INDIGO_PLATEAU_LOBBY, $0,$2,IndigoPlateauName - IMAP MR_PSYCHICS_HOUSE, $A,$5,SaffronCityName - IMAP ROUTE_15_GATE_2F, $9,$D,Route15Name - IMAP ROUTE_16_FLY_HOUSE, $4,$5,Route16Name - IMAP ROUTE_12_SUPER_ROD_HOUSE, $E,$A,Route12Name - IMAP ROUTE_18_GATE_2F, $7,$D,Route18Name - IMAP SEAFOAM_ISLANDS_1F, $5,$F,SeafoamIslandsName - IMAP ROUTE_22_GATE, $0,$7,Route22Name - IMAP VICTORY_ROAD_2F, $0,$4,VictoryRoadName - IMAP ROUTE_12_GATE_2F, $E,$7,Route12Name - IMAP VERMILION_TRADE_HOUSE, $A,$9,VermilionCityName - IMAP DIGLETTS_CAVE, $3,$4,DiglettsCaveName - IMAP VICTORY_ROAD_3F, $0,$4,VictoryRoadName - IMAP UNUSED_MAP_CE, $7,$5,RocketHQName - IMAP SILPH_CO_8F, $A,$5,SilphCoName - IMAP POKEMON_MANSION_B1F, $2,$F,PokemonMansionName - IMAP SAFARI_ZONE_NORTH_REST_HOUSE, $8,$C,SafariZoneName - IMAP CERULEAN_CAVE_1F, $9,$1,CeruleanCaveName - IMAP NAME_RATERS_HOUSE, $E,$5,LavenderTownName - IMAP CERULEAN_BADGE_HOUSE, $A,$2,CeruleanCityName - IMAP ROCK_TUNNEL_B1F, $E,$3,RockTunnelName - IMAP SILPH_CO_ELEVATOR, $A,$5,SilphCoName - IMAP AGATHAS_ROOM, $0,$2,PokemonLeagueName - db $FF +; maximum map id subject to this rule, x, y, name + internal_map OAKS_LAB, 11, 2, PalletTownName + internal_map VIRIDIAN_GYM, 8, 2, ViridianCityName + internal_map VIRIDIAN_FOREST_SOUTH_GATE, 6, 2, Route2Name + internal_map VIRIDIAN_FOREST, 4, 2, ViridianForestName + internal_map PEWTER_POKECENTER, 3, 2, PewterCityName + internal_map MT_MOON_B2F, 2, 6, MountMoonName + internal_map CERULEAN_MART, 2, 10, CeruleanCityName + internal_map MT_MOON_POKECENTER, 2, 5, Route4Name + internal_map CERULEAN_TRASHED_HOUSE_COPY, 2, 10, CeruleanCityName + internal_map DAYCARE, 4, 10, Route5Name + internal_map UNDERGROUND_PATH_ROUTE_6_COPY, 6, 10, Route6Name + internal_map UNDERGROUND_PATH_ROUTE_7_COPY, 5, 9, Route7Name + internal_map UNDERGROUND_PATH_ROUTE_8, 5, 11, Route8Name + internal_map ROCK_TUNNEL_1F, 3, 14, RockTunnelName + internal_map POWER_PLANT, 4, 15, PowerPlantName + internal_map ROUTE_11_GATE_2F, 9, 13, Route11Name + internal_map ROUTE_12_GATE_1F, 7, 14, Route12Name + internal_map BILLS_HOUSE, 0, 12, SeaCottageName + internal_map VERMILION_DOCK, 9, 10, VermilionCityName + internal_map SS_ANNE_B1F_ROOMS, 10, 9, SSAnneName + internal_map VICTORY_ROAD_1F, 4, 0, VictoryRoadName + internal_map HALL_OF_FAME, 2, 0, PokemonLeagueName + internal_map UNDERGROUND_PATH_NORTH_SOUTH, 5, 10, UndergroundPathName + internal_map CHAMPIONS_ROOM, 2, 0, PokemonLeagueName + internal_map UNDERGROUND_PATH_WEST_EAST, 5, 10, UndergroundPathName + internal_map CELADON_HOTEL, 5, 7, CeladonCityName + internal_map LAVENDER_POKECENTER, 5, 14, LavenderTownName + internal_map POKEMON_TOWER_7F, 5, 15, PokemonTowerName + internal_map LAVENDER_CUBONE_HOUSE, 5, 14, LavenderTownName + internal_map WARDENS_HOUSE, 13, 8, FuchsiaCityName + internal_map SAFARI_ZONE_GATE, 12, 8, SafariZoneName + internal_map FUCHSIA_MEETING_ROOM, 13, 8, FuchsiaCityName + internal_map SEAFOAM_ISLANDS_B4F, 15, 5, SeafoamIslandsName + internal_map VERMILION_OLD_ROD_HOUSE, 9, 10, VermilionCityName + internal_map FUCHSIA_GOOD_ROD_HOUSE, 13, 8, FuchsiaCityName + internal_map POKEMON_MANSION_1F, 15, 2, PokemonMansionName + internal_map CINNABAR_MART_COPY, 15, 2, CinnabarIslandName + internal_map INDIGO_PLATEAU_LOBBY, 2, 0, IndigoPlateauName + internal_map MR_PSYCHICS_HOUSE, 5, 10, SaffronCityName + internal_map ROUTE_15_GATE_2F, 13, 9, Route15Name + internal_map ROUTE_16_FLY_HOUSE, 5, 4, Route16Name + internal_map ROUTE_12_SUPER_ROD_HOUSE, 10, 14, Route12Name + internal_map ROUTE_18_GATE_2F, 13, 7, Route18Name + internal_map SEAFOAM_ISLANDS_1F, 15, 5, SeafoamIslandsName + internal_map ROUTE_22_GATE, 7, 0, Route22Name + internal_map VICTORY_ROAD_2F, 4, 0, VictoryRoadName + internal_map ROUTE_12_GATE_2F, 7, 14, Route12Name + internal_map VERMILION_TRADE_HOUSE, 9, 10, VermilionCityName + internal_map DIGLETTS_CAVE, 4, 3, DiglettsCaveName + internal_map VICTORY_ROAD_3F, 4, 0, VictoryRoadName + internal_map UNUSED_MAP_CE, 5, 7, RocketHQName + internal_map SILPH_CO_8F, 5, 10, SilphCoName + internal_map POKEMON_MANSION_B1F, 15, 2, PokemonMansionName + internal_map SAFARI_ZONE_NORTH_REST_HOUSE, 12, 8, SafariZoneName + internal_map CERULEAN_CAVE_1F, 1, 9, CeruleanCaveName + internal_map NAME_RATERS_HOUSE, 5, 14, LavenderTownName + internal_map CERULEAN_BADGE_HOUSE, 2, 10, CeruleanCityName + internal_map ROCK_TUNNEL_B1F, 3, 14, RockTunnelName + internal_map SILPH_CO_ELEVATOR, 5, 10, SilphCoName + internal_map AGATHAS_ROOM, 2, 0, PokemonLeagueName + db -1 ; end diff --git a/data/moves/animation_special_effect_pointers.asm b/data/moves/animation_special_effect_pointers.asm index ba607141..dc75cfee 100644 --- a/data/moves/animation_special_effect_pointers.asm +++ b/data/moves/animation_special_effect_pointers.asm @@ -1,81 +1,47 @@ -; Format: Special Effect ID (1 byte), Address (2 bytes) +special_effect: MACRO + db \1 + dw \2 +ENDM + SpecialEffectPointers: - db SE_DARK_SCREEN_FLASH ; $FE - dw AnimationFlashScreen - db SE_DARK_SCREEN_PALETTE ; $FD - dw AnimationDarkScreenPalette - db SE_RESET_SCREEN_PALETTE ; $FC - dw AnimationResetScreenPalette - db SE_SHAKE_SCREEN ; $FB - dw AnimationShakeScreen - db SE_WATER_DROPLETS_EVERYWHERE ; $FA - dw AnimationWaterDropletsEverywhere - db SE_DARKEN_MON_PALETTE ; $F9 - dw AnimationDarkenMonPalette - db SE_FLASH_SCREEN_LONG ; $F8 - dw AnimationFlashScreenLong - db SE_SLIDE_MON_UP ; $F7 - dw AnimationSlideMonUp - db SE_SLIDE_MON_DOWN ; $F6 - dw AnimationSlideMonDown - db SE_FLASH_MON_PIC ; $F5 - dw AnimationFlashMonPic - db SE_SLIDE_MON_OFF ; $F4 - dw AnimationSlideMonOff - db SE_BLINK_MON ; $F3 - dw AnimationBlinkMon - db SE_MOVE_MON_HORIZONTALLY ; $F2 - dw AnimationMoveMonHorizontally - db SE_RESET_MON_POSITION ; $F1 - dw AnimationResetMonPosition - db SE_LIGHT_SCREEN_PALETTE ; $F0 - dw AnimationLightScreenPalette - db SE_HIDE_MON_PIC ; $EF - dw AnimationHideMonPic - db SE_SQUISH_MON_PIC ; $EE - dw AnimationSquishMonPic - db SE_SHOOT_BALLS_UPWARD ; $ED - dw AnimationShootBallsUpward - db SE_SHOOT_MANY_BALLS_UPWARD ; $EC - dw AnimationShootManyBallsUpward - db SE_BOUNCE_UP_AND_DOWN ; $EB - dw AnimationBoundUpAndDown - db SE_MINIMIZE_MON ; $EA - dw AnimationMinimizeMon - db SE_SLIDE_MON_DOWN_AND_HIDE ; $E9 - dw AnimationSlideMonDownAndHide - db SE_TRANSFORM_MON ; $E8 - dw AnimationTransformMon - db SE_LEAVES_FALLING ; $E7 - dw AnimationLeavesFalling - db SE_PETALS_FALLING ; $E6 - dw AnimationPetalsFalling - db SE_SLIDE_MON_HALF_OFF ; $E5 - dw AnimationSlideMonHalfOff - db SE_SHAKE_ENEMY_HUD ; $E4 - dw AnimationShakeEnemyHUD - db SE_SHAKE_ENEMY_HUD_2 ; unused--same pointer as SE_SHAKE_ENEMY_HUD ($E4) - dw AnimationShakeEnemyHUD - db SE_SPIRAL_BALLS_INWARD ; $E2 - dw AnimationSpiralBallsInward - db SE_DELAY_ANIMATION_10 ; $E1 - dw AnimationDelay10 - db SE_FLASH_ENEMY_MON_PIC ; unused--same as SE_FLASH_MON_PIC ($F5), but for the enemy mon - dw AnimationFlashEnemyMonPic - db SE_HIDE_ENEMY_MON_PIC ; $DF - dw AnimationHideEnemyMonPic - db SE_BLINK_ENEMY_MON ; $DE - dw AnimationBlinkEnemyMon - db SE_SHOW_MON_PIC ; $DD - dw AnimationShowMonPic - db SE_SHOW_ENEMY_MON_PIC ; $DC - dw AnimationShowEnemyMonPic - db SE_SLIDE_ENEMY_MON_OFF ; $DB - dw AnimationSlideEnemyMonOff - db SE_SHAKE_BACK_AND_FORTH ; $DA - dw AnimationShakeBackAndForth - db SE_SUBSTITUTE_MON ; $D9 - dw AnimationSubstitute - db SE_WAVY_SCREEN ; $D8 - dw AnimationWavyScreen - db $FF +; special effect id, effect routine address + special_effect SE_DARK_SCREEN_FLASH, AnimationFlashScreen ; $FE + special_effect SE_DARK_SCREEN_PALETTE, AnimationDarkScreenPalette ; $FD + special_effect SE_RESET_SCREEN_PALETTE, AnimationResetScreenPalette ; $FC + special_effect SE_SHAKE_SCREEN, AnimationShakeScreen ; $FB + special_effect SE_WATER_DROPLETS_EVERYWHERE, AnimationWaterDropletsEverywhere ; $FA + special_effect SE_DARKEN_MON_PALETTE, AnimationDarkenMonPalette ; $F9 + special_effect SE_FLASH_SCREEN_LONG, AnimationFlashScreenLong ; $F8 + special_effect SE_SLIDE_MON_UP, AnimationSlideMonUp ; $F7 + special_effect SE_SLIDE_MON_DOWN, AnimationSlideMonDown ; $F6 + special_effect SE_FLASH_MON_PIC, AnimationFlashMonPic ; $F5 + special_effect SE_SLIDE_MON_OFF, AnimationSlideMonOff ; $F4 + special_effect SE_BLINK_MON, AnimationBlinkMon ; $F3 + special_effect SE_MOVE_MON_HORIZONTALLY, AnimationMoveMonHorizontally ; $F2 + special_effect SE_RESET_MON_POSITION, AnimationResetMonPosition ; $F1 + special_effect SE_LIGHT_SCREEN_PALETTE, AnimationLightScreenPalette ; $F0 + special_effect SE_HIDE_MON_PIC, AnimationHideMonPic ; $EF + special_effect SE_SQUISH_MON_PIC, AnimationSquishMonPic ; $EE + special_effect SE_SHOOT_BALLS_UPWARD, AnimationShootBallsUpward ; $ED + special_effect SE_SHOOT_MANY_BALLS_UPWARD, AnimationShootManyBallsUpward ; $EC + special_effect SE_BOUNCE_UP_AND_DOWN, AnimationBoundUpAndDown ; $EB + special_effect SE_MINIMIZE_MON, AnimationMinimizeMon ; $EA + special_effect SE_SLIDE_MON_DOWN_AND_HIDE, AnimationSlideMonDownAndHide ; $E9 + special_effect SE_TRANSFORM_MON, AnimationTransformMon ; $E8 + special_effect SE_LEAVES_FALLING, AnimationLeavesFalling ; $E7 + special_effect SE_PETALS_FALLING, AnimationPetalsFalling ; $E6 + special_effect SE_SLIDE_MON_HALF_OFF, AnimationSlideMonHalfOff ; $E5 + special_effect SE_SHAKE_ENEMY_HUD, AnimationShakeEnemyHUD ; $E4 + special_effect SE_SHAKE_ENEMY_HUD_2, AnimationShakeEnemyHUD ; unused--same pointer as SE_SHAKE_ENEMY_HUD ($E4) + special_effect SE_SPIRAL_BALLS_INWARD, AnimationSpiralBallsInward ; $E2 + special_effect SE_DELAY_ANIMATION_10, AnimationDelay10 ; $E1 + special_effect SE_FLASH_ENEMY_MON_PIC, AnimationFlashEnemyMonPic ; unused--same as SE_FLASH_MON_PIC ($F5), but for the enemy mon + special_effect SE_HIDE_ENEMY_MON_PIC, AnimationHideEnemyMonPic ; $DF + special_effect SE_BLINK_ENEMY_MON, AnimationBlinkEnemyMon ; $DE + special_effect SE_SHOW_MON_PIC, AnimationShowMonPic ; $DD + special_effect SE_SHOW_ENEMY_MON_PIC, AnimationShowEnemyMonPic ; $DC + special_effect SE_SLIDE_ENEMY_MON_OFF, AnimationSlideEnemyMonOff ; $DB + special_effect SE_SHAKE_BACK_AND_FORTH, AnimationShakeBackAndForth ; $DA + special_effect SE_SUBSTITUTE_MON, AnimationSubstitute ; $D9 + special_effect SE_WAVY_SCREEN, AnimationWavyScreen ; $D8 + db -1 ; end diff --git a/data/moves/animation_special_effects.asm b/data/moves/animation_special_effects.asm index 9dfb5645..da8a3fda 100644 --- a/data/moves/animation_special_effects.asm +++ b/data/moves/animation_special_effects.asm @@ -1,75 +1,32 @@ -; Format: Animation ID (1 byte), Address (2 bytes) -AnimationIdSpecialEffects: - db MEGA_PUNCH - dw AnimationFlashScreen - - db GUILLOTINE - dw AnimationFlashScreen - - db MEGA_KICK - dw AnimationFlashScreen - - db HEADBUTT - dw AnimationFlashScreen - - db TAIL_WHIP - dw TailWhipAnimationUnused - - db GROWL - dw DoGrowlSpecialEffects - - db DISABLE - dw AnimationFlashScreen - - db BLIZZARD - dw DoBlizzardSpecialEffects - - db BUBBLEBEAM - dw AnimationFlashScreen - - db HYPER_BEAM - dw FlashScreenEveryFourFrameBlocks - - db THUNDERBOLT - dw FlashScreenEveryEightFrameBlocks - - db REFLECT - dw AnimationFlashScreen - - db SELFDESTRUCT - dw DoExplodeSpecialEffects +anim_special_effect: MACRO + db \1 + dw \2 +ENDM - db SPORE - dw AnimationFlashScreen - - db EXPLOSION - dw DoExplodeSpecialEffects - - db ROCK_SLIDE - dw DoRockSlideSpecialEffects - - db TRADE_BALL_DROP_ANIM - dw TradeHidePokemon - - db TRADE_BALL_SHAKE_ANIM - dw TradeShakePokeball - - db TRADE_BALL_TILT_ANIM - dw TradeJumpPokeball - - db TOSS_ANIM - dw DoBallTossSpecialEffects - - db SHAKE_ANIM - dw DoBallShakeSpecialEffects - - db POOF_ANIM - dw DoPoofSpecialEffects - - db GREATTOSS_ANIM - dw DoBallTossSpecialEffects - - db ULTRATOSS_ANIM - dw DoBallTossSpecialEffects - - db $FF ; terminator +AnimationIdSpecialEffects: +; animation id, effect routine address + anim_special_effect MEGA_PUNCH, AnimationFlashScreen + anim_special_effect GUILLOTINE, AnimationFlashScreen + anim_special_effect MEGA_KICK, AnimationFlashScreen + anim_special_effect HEADBUTT, AnimationFlashScreen + anim_special_effect TAIL_WHIP, TailWhipAnimationUnused + anim_special_effect GROWL, DoGrowlSpecialEffects + anim_special_effect DISABLE, AnimationFlashScreen + anim_special_effect BLIZZARD, DoBlizzardSpecialEffects + anim_special_effect BUBBLEBEAM, AnimationFlashScreen + anim_special_effect HYPER_BEAM, FlashScreenEveryFourFrameBlocks + anim_special_effect THUNDERBOLT, FlashScreenEveryEightFrameBlocks + anim_special_effect REFLECT, AnimationFlashScreen + anim_special_effect SELFDESTRUCT, DoExplodeSpecialEffects + anim_special_effect SPORE, AnimationFlashScreen + anim_special_effect EXPLOSION, DoExplodeSpecialEffects + anim_special_effect ROCK_SLIDE, DoRockSlideSpecialEffects + anim_special_effect TRADE_BALL_DROP_ANIM, TradeHidePokemon + anim_special_effect TRADE_BALL_SHAKE_ANIM, TradeShakePokeball + anim_special_effect TRADE_BALL_TILT_ANIM, TradeJumpPokeball + anim_special_effect TOSS_ANIM, DoBallTossSpecialEffects + anim_special_effect SHAKE_ANIM, DoBallShakeSpecialEffects + anim_special_effect POOF_ANIM, DoPoofSpecialEffects + anim_special_effect GREATTOSS_ANIM, DoBallTossSpecialEffects + anim_special_effect ULTRATOSS_ANIM, DoBallTossSpecialEffects + db -1 ; end diff --git a/data/moves/animations.asm b/data/moves/animations.asm index 8c388afd..6f262952 100755 --- a/data/moves/animations.asm +++ b/data/moves/animations.asm @@ -215,155 +215,155 @@ ZigZagScreenAnim: PoundAnim: StruggleAnim: - db $08,$00,$01 + db $08, $00, $01 db $FF KarateChopAnim: - db $08,$01,$03 + db $08, $01, $03 db $FF DoubleSlapAnim: - db $05,$02,$01 - db $05,$02,$01 + db $05, $02, $01 + db $05, $02, $01 db $FF CometPunchAnim: - db $04,$03,$02 - db $04,$03,$02 + db $04, $03, $02 + db $04, $03, $02 db $FF MegaPunchAnim: - db $46,$04,$04 + db $46, $04, $04 db $FF PayDayAnim: - db $08,$00,$01 - db $04,$05,$52 + db $08, $00, $01 + db $04, $05, $52 db $FF FirePunchAnim: - db $06,$06,$02 - db $46,$FF,$11 + db $06, $06, $02 + db $46, $FF, $11 db $FF IcePunchAnim: - db $06,$07,$02 - db $10,$FF,$2F + db $06, $07, $02 + db $10, $FF, $2F db $FF ThunderPunchAnim: - db $06,$08,$02 + db $06, $08, $02 db SE_DARK_SCREEN_PALETTE, $FF - db $46,$FF,$2B + db $46, $FF, $2B db SE_RESET_SCREEN_PALETTE, $FF db $FF ScratchAnim: - db $06,$09,$0F + db $06, $09, $0F db $FF VicegripAnim: - db $08,$0A,$2A + db $08, $0A, $2A db $FF GuillotineAnim: - db $06,$0B,$2A + db $06, $0B, $2A db $FF RazorWindAnim: - db $04,$0C,$16 + db $04, $0C, $16 db $FF SwordsDanceAnim: - db $46,$0D,$18 - db $46,$0D,$18 - db $46,$0D,$18 + db $46, $0D, $18 + db $46, $0D, $18 + db $46, $0D, $18 db $FF CutAnim: db SE_DARK_SCREEN_FLASH, $0E - db $04,$FF,$16 + db $04, $FF, $16 db $FF GustAnim: - db $46,$0F,$10 - db $06,$FF,$02 + db $46, $0F, $10 + db $06, $FF, $02 db $FF WingAttackAnim: - db $46,$10,$04 + db $46, $10, $04 db $FF WhirlwindAnim: - db $46,$11,$10 + db $46, $11, $10 db SE_SLIDE_ENEMY_MON_OFF, $FF db $FF FlyAnim: - db $46,$12,$04 + db $46, $12, $04 db SE_SHOW_MON_PIC, $FF db $FF BindAnim: - db $04,$13,$23 - db $04,$13,$23 + db $04, $13, $23 + db $04, $13, $23 db $FF SlamAnim: - db $06,$14,$02 + db $06, $14, $02 db $FF VineWhipAnim: - db $01,$15,$16 - db $08,$FF,$01 + db $01, $15, $16 + db $08, $FF, $01 db $FF StompAnim: - db $48,$16,$05 + db $48, $16, $05 db $FF DoubleKickAnim: - db $08,$17,$01 - db $08,$17,$01 + db $08, $17, $01 + db $08, $17, $01 db $FF MegaKickAnim: - db $46,$18,$04 + db $46, $18, $04 db $FF JumpKickAnim: - db $46,$19,$04 + db $46, $19, $04 db $FF RollingKickAnim: db SE_DARK_SCREEN_FLASH, $1A - db $46,$FF,$04 + db $46, $FF, $04 db $FF SandAttackAnim: - db $46,$1B,$28 + db $46, $1B, $28 db $FF HeatButtAnim: - db $46,$1C,$05 + db $46, $1C, $05 db $FF HornAttackAnim: - db $06,$1D,$45 - db $46,$FF,$05 + db $06, $1D, $45 + db $46, $FF, $05 db $FF FuryAttackAnim: - db $02,$1E,$46 - db $02,$FF,$46 + db $02, $1E, $46 + db $02, $FF, $46 db $FF HornDrillAnim: - db $42,$1F,$05 - db $42,$FF,$05 - db $42,$FF,$05 - db $42,$FF,$05 - db $42,$FF,$05 + db $42, $1F, $05 + db $42, $FF, $05 + db $42, $FF, $05 + db $42, $FF, $05 + db $42, $FF, $05 db $FF TackleAnim: @@ -379,9 +379,9 @@ BodySlamAnim: db $FF WrapAnim: - db $04,$22,$23 - db $04,$22,$23 - db $04,$22,$23 + db $04, $22, $23 + db $04, $22, $23 + db $04, $22, $23 db $FF TakeDownAnim: @@ -391,12 +391,12 @@ TakeDownAnim: db $FF ThrashAnim: - db $46,$24,$04 + db $46, $24, $04 db $FF DoubleEdgeAnim: db SE_LIGHT_SCREEN_PALETTE, $48 - db $06,$FF,$2D + db $06, $FF, $2D db SE_RESET_SCREEN_PALETTE, $FF db SE_MOVE_MON_HORIZONTALLY, $FF db SE_DARK_SCREEN_FLASH, $25 @@ -414,16 +414,16 @@ TailWhipAnim: db $FF PoisonStingAnim: - db $06,$27,$00 + db $06, $27, $00 db $FF TwineedleAnim: - db $05,$28,$01 - db $05,$28,$01 + db $05, $28, $01 + db $05, $28, $01 db $FF PinMissileAnim: - db $03,$29,$01 + db $03, $29, $01 db $FF LeerAnim: @@ -434,34 +434,34 @@ LeerAnim: db $FF BiteAnim: - db $08,$2B,$02 + db $08, $2B, $02 db $FF GrowlAnim: - db $46,$2C,$12 + db $46, $2C, $12 db $FF RoarAnim: - db $46,$2D,$15 - db $46,$2D,$15 - db $46,$2D,$15 + db $46, $2D, $15 + db $46, $2D, $15 + db $46, $2D, $15 db $FF SingAnim: - db $46,$2E,$12 - db $50,$FF,$40 - db $50,$FF,$40 + db $46, $2E, $12 + db $50, $FF, $40 + db $50, $FF, $40 db $FF SupersonicAnim: - db $06,$2F,$31 + db $06, $2F, $31 db $FF SonicBoomAnim: - db $46,$2D,$15 - db $46,$2D,$15 - db $46,$0F,$10 - db $46,$FF,$05 + db $46, $2D, $15 + db $46, $2D, $15 + db $46, $0F, $10 + db $46, $FF, $05 db $FF DisableAnim: @@ -472,18 +472,18 @@ DisableAnim: db $FF AcidAnim: - db $46,$32,$13 - db $46,$32,$14 + db $46, $32, $13 + db $46, $32, $14 db $FF EmberAnim: - db $46,$33,$11 + db $46, $33, $11 db $FF FlamethrowerAnim: - db $46,$34,$1F - db $46,$34,$0C - db $46,$34,$0D + db $46, $34, $1F + db $46, $34, $0C + db $46, $34, $0D db $FF MistAnim: @@ -493,40 +493,40 @@ MistAnim: db $FF WaterGunAnim: - db $06,$36,$2C + db $06, $36, $2C db $FF HydroPumpAnim: - db $06,$37,$1A - db $06,$37,$1A + db $06, $37, $1A + db $06, $37, $1A db $FF SurfAnim: db SE_WATER_DROPLETS_EVERYWHERE, $38 - db $06,$37,$1A + db $06, $37, $1A db $FF IceBeamAnim: - db $03,$39,$2E - db $10,$FF,$2F + db $03, $39, $2E + db $10, $FF, $2F db $FF BlizzardAnim: - db $04,$3A,$38 - db $04,$37,$38 + db $04, $3A, $38 + db $04, $37, $38 db $FF PsyBeamAnim: - db $03,$3B,$2E + db $03, $3B, $2E db SE_FLASH_SCREEN_LONG, $FF db $FF BubbleBeamAnim: - db $12,$3C,$35 + db $12, $3C, $35 db $FF AuroraBeamAnim: - db $03,$3D,$2E + db $03, $3D, $2E db SE_DELAY_ANIMATION_10, $FF db SE_DELAY_ANIMATION_10, $FF db $FF @@ -534,49 +534,49 @@ AuroraBeamAnim: HyperBeamAnim: db SE_DARK_SCREEN_PALETTE, $48 db SE_SPIRAL_BALLS_INWARD, $FF - db $02,$3E,$2E + db $02, $3E, $2E db SE_DARK_SCREEN_FLASH, $FF db SE_DARK_SCREEN_FLASH, $FF - db $46,$04,$04 + db $46, $04, $04 db SE_RESET_SCREEN_PALETTE, $FF db $FF PeckAnim: - db $08,$3F,$01 + db $08, $3F, $01 db $FF DrillPeckAnim: - db $46,$40,$04 + db $46, $40, $04 db $FF SubmissionAnim: db SE_SLIDE_MON_OFF, $41 - db $06,$FF,$01 + db $06, $FF, $01 db SE_SHOW_MON_PIC, $FF db $FF LowKickAnim: db SE_SLIDE_MON_OFF, $42 - db $46,$FF,$04 + db $46, $FF, $04 db SE_SHOW_MON_PIC, $FF db $FF CounterAnim: db SE_SLIDE_MON_OFF, $43 - db $46,$FF,$04 + db $46, $FF, $04 db SE_SHOW_MON_PIC, $FF db $FF SeismicTossAnim: db SE_BLINK_ENEMY_MON, $FF - db $41,$8B,$4E + db $41, $8B, $4E db SE_HIDE_ENEMY_MON_PIC, $FF db SE_SLIDE_MON_OFF, $FF - db $42,$44,$4F + db $42, $44, $4F db SE_DELAY_ANIMATION_10, $FF db SE_DELAY_ANIMATION_10, $FF db SE_SHOW_MON_PIC, $FF - db $41,$44,$50 + db $41, $44, $50 db SE_SHOW_ENEMY_MON_PIC, $FF db SE_SHAKE_SCREEN, $FF db $FF @@ -584,28 +584,28 @@ SeismicTossAnim: StrengthAnim: db SE_MOVE_MON_HORIZONTALLY, $48 db SE_RESET_MON_POSITION, $FF - db $46,$06,$04 + db $46, $06, $04 db $FF AbsorbAnim: db SE_LIGHT_SCREEN_PALETTE, $46 - db $06,$FF,$21 - db $06,$FF,$22 + db $06, $FF, $21 + db $06, $FF, $22 db SE_RESET_SCREEN_PALETTE, $FF db $FF MegaDrainAnim: db SE_LIGHT_SCREEN_PALETTE, $47 db SE_DARK_SCREEN_FLASH, $FF - db $06,$FF,$21 - db $06,$FF,$22 + db $06, $FF, $21 + db $06, $FF, $22 db SE_DARK_SCREEN_FLASH, $FF db SE_RESET_SCREEN_PALETTE, $FF db $FF LeechSeedAnim: - db $46,$48,$1B - db $55,$4D,$1C + db $46, $48, $1B + db $55, $4D, $1C db $FF GrowthAnim: @@ -616,25 +616,25 @@ GrowthAnim: RazorLeafAnim: db SE_LEAVES_FALLING, $4A - db $41,$80,$44 - db $01,$0C,$16 + db $41, $80, $44 + db $01, $0C, $16 db $FF SolarBeamAnim: - db $06,$4B,$2E - db $06,$FF,$01 + db $06, $4B, $2E + db $06, $FF, $01 db $FF PoisonPowderAnim: - db $06,$4C,$36 + db $06, $4C, $36 db $FF StunSporeAnim: - db $06,$4D,$36 + db $06, $4D, $36 db $FF SleepPowderAnim: - db $06,$4E,$36 + db $06, $4E, $36 db $FF PedalDanceAnim: @@ -644,48 +644,48 @@ PedalDanceAnim: db $FF StringShotAnim: - db $08,$50,$37 + db $08, $50, $37 db $FF DragonRageAnim: - db $46,$51,$1F - db $46,$FF,$0C - db $46,$FF,$0D - db $46,$FF,$0E + db $46, $51, $1F + db $46, $FF, $0C + db $46, $FF, $0D + db $46, $FF, $0E db $FF FireSpinAnim: - db $46,$52,$0C - db $46,$FF,$0D - db $46,$FF,$0E + db $46, $52, $0C + db $46, $FF, $0D + db $46, $FF, $0E db $FF ThunderShockAnim: - db $42,$53,$29 + db $42, $53, $29 db $FF ThunderBoltAnim: - db $41,$54,$29 - db $41,$54,$29 + db $41, $54, $29 + db $41, $54, $29 db $FF ThunderWaveAnim: - db $42,$55,$29 - db $02,$FF,$23 - db $04,$FF,$23 + db $42, $55, $29 + db $02, $FF, $23 + db $04, $FF, $23 db $FF ThunderAnim: db SE_DARK_SCREEN_PALETTE, $56 db SE_DARK_SCREEN_FLASH, $FF - db $46,$FF,$2B + db $46, $FF, $2B db SE_DARK_SCREEN_FLASH, $FF - db $42,$54,$29 + db $42, $54, $29 db SE_RESET_SCREEN_PALETTE, $FF db $FF RockThrowAnim: - db $04,$57,$30 + db $04, $57, $30 db $FF EarthquakeAnim: @@ -701,13 +701,13 @@ FissureAnim: db $FF DigAnim: - db $46,$5A,$04 + db $46, $5A, $04 db SE_SLIDE_MON_UP, $FF db $FF ToxicAnim: db SE_WATER_DROPLETS_EVERYWHERE, $38 - db $46,$5B,$14 + db $46, $5B, $14 db $FF ConfusionAnim: @@ -725,7 +725,7 @@ HypnosisAnim: MeditateAnim: db SE_LIGHT_SCREEN_PALETTE, $5F - db $46,$FF,$43 + db $46, $FF, $43 db SE_DARK_SCREEN_FLASH, $FF db SE_RESET_SCREEN_PALETTE, $FF db $FF @@ -737,12 +737,12 @@ AgilityAnim: QuickAttackAnim: db SE_SLIDE_MON_OFF, $61 - db $46,$FF,$04 + db $46, $FF, $04 db SE_SHOW_MON_PIC, $FF db $FF RageAnim: - db $06,$62,$01 + db $06, $62, $01 db $FF TeleportAnim: @@ -756,12 +756,12 @@ NightShadeAnim: db $FF MimicAnim: - db $46,$65,$21 - db $46,$65,$22 + db $46, $65, $21 + db $46, $65, $22 db $FF ScreechAnim: - db $46,$66,$12 + db $46, $66, $12 db $FF DoubleTeamAnim: @@ -773,7 +773,7 @@ DoubleTeamAnim: db SE_RESET_SCREEN_PALETTE, $FF db SE_SHAKE_BACK_AND_FORTH, $67 db SE_SHOW_MON_PIC, $FF - db $46,$6F,$33 + db $46, $6F, $33 db $FF RecoverAnim: @@ -785,7 +785,7 @@ RecoverAnim: HardenAnim: db SE_LIGHT_SCREEN_PALETTE, $69 - db $46,$FF,$43 + db $46, $FF, $43 db SE_DARK_SCREEN_FLASH, $FF db SE_RESET_SCREEN_PALETTE, $FF db $FF @@ -798,8 +798,8 @@ MinimizeAnim: db $FF SmokeScreenAnim: - db $46,$6B,$28 - db $04,$FF,$0A + db $46, $6B, $28 + db $04, $FF, $0A db SE_DARKEN_MON_PALETTE, $FF db SE_DELAY_ANIMATION_10, $FF db SE_DELAY_ANIMATION_10, $FF @@ -817,34 +817,34 @@ SmokeScreenAnim: ConfuseRayAnim: db SE_DARK_SCREEN_PALETTE, $6C - db $46,$FF,$3E + db $46, $FF, $3E db SE_RESET_SCREEN_PALETTE, $FF db $FF WithdrawAnim: db SE_LIGHT_SCREEN_PALETTE, $6E db SE_SLIDE_MON_DOWN, $FF - db $06,$FF,$51 + db $06, $FF, $51 db SE_RESET_SCREEN_PALETTE, $FF db SE_SHOW_MON_PIC, $FF db $FF DefenseCurlAnim: db SE_LIGHT_SCREEN_PALETTE, $6E - db $06,$FF,$43 + db $06, $FF, $43 db SE_DARK_SCREEN_FLASH, $FF db SE_RESET_SCREEN_PALETTE, $FF db $FF BarrierAnim: - db $46,$6F,$33 - db $46,$6F,$33 + db $46, $6F, $33 + db $46, $6F, $33 db $FF LightScreenAnim: db SE_LIGHT_SCREEN_PALETTE, $FF - db $46,$70,$33 - db $46,$70,$33 + db $46, $70, $33 + db $46, $70, $33 db SE_RESET_SCREEN_PALETTE, $FF db $FF @@ -856,8 +856,8 @@ HazeAnim: ReflectAnim: db SE_DARK_SCREEN_PALETTE, $FF - db $46,$72,$33 - db $46,$72,$33 + db $46, $72, $33 + db $46, $72, $33 db SE_RESET_SCREEN_PALETTE, $FF db $FF @@ -866,7 +866,7 @@ FocusEnergyAnim: db $FF BideAnim: - db $46,$74,$04 + db $46, $74, $04 db $FF MetronomeAnim: @@ -880,88 +880,88 @@ MetronomeAnim: db $FF MirrorMoveAnim: - db $08,$76,$01 + db $08, $76, $01 db $FF SelfdestructAnim: - db $43,$77,$34 + db $43, $77, $34 db $FF EggBombAnim: - db $44,$78,$41 - db $44,$78,$42 + db $44, $78, $41 + db $44, $78, $42 db $FF LickAnim: - db $46,$7B,$14 + db $46, $7B, $14 db $FF SmogAnim: db SE_DARKEN_MON_PALETTE, $48 - db $46,$7A,$19 + db $46, $7A, $19 db SE_RESET_SCREEN_PALETTE, $FF db $FF SludgeAnim: - db $46,$7B,$13 - db $46,$7B,$14 + db $46, $7B, $13 + db $46, $7B, $14 db $FF BoneClubAnim: - db $08,$7C,$02 + db $08, $7C, $02 db $FF FireBlastAnim: - db $46,$7D,$1F - db $46,$FF,$20 - db $46,$FF,$20 - db $46,$FF,$0C - db $46,$FF,$0D + db $46, $7D, $1F + db $46, $FF, $20 + db $46, $FF, $20 + db $46, $FF, $0C + db $46, $FF, $0D db $FF WaterfallAnim: db SE_SLIDE_MON_DOWN, $48 - db $06,$37,$1A - db $08,$FF,$02 + db $06, $37, $1A + db $08, $FF, $02 db SE_SLIDE_MON_UP, $FF db $FF ClampAnim: - db $08,$7F,$2A - db $06,$83,$23 - db $06,$83,$23 + db $08, $7F, $2A + db $06, $83, $23 + db $06, $83, $23 db $FF SwiftAnim: - db $43,$80,$3F + db $43, $80, $3F db $FF SkullBashAnim: - db $46,$81,$05 + db $46, $81, $05 db $FF SpikeCannonAnim: - db $44,$82,$04 + db $44, $82, $04 db $FF ConstrictAnim: - db $06,$83,$23 - db $06,$83,$23 - db $06,$83,$23 + db $06, $83, $23 + db $06, $83, $23 + db $06, $83, $23 db $FF AmnesiaAnim: - db $08,$84,$25 - db $08,$84,$25 + db $08, $84, $25 + db $08, $84, $25 db $FF KinesisAnim: - db $08,$85,$01 + db $08, $85, $01 db $FF SoftboiledAnim: db SE_SLIDE_MON_HALF_OFF, $48 - db $08,$86,$4C + db $08, $86, $4C db SE_LIGHT_SCREEN_PALETTE, $FF db SE_SPIRAL_BALLS_INWARD, $FF db SE_RESET_SCREEN_PALETTE, $FF @@ -969,7 +969,7 @@ SoftboiledAnim: db $FF HiJumpKickAnim: - db $46,$87,$04 + db $46, $87, $04 db $FF GlareAnim: @@ -982,58 +982,58 @@ GlareAnim: DreamEaterAnim: db SE_FLASH_SCREEN_LONG, $89 db SE_DARK_SCREEN_PALETTE, $89 - db $08,$89,$02 + db $08, $89, $02 db SE_RESET_SCREEN_PALETTE, $FF db $FF PoisonGasAnim: - db $46,$8A,$19 + db $46, $8A, $19 db $FF BarrageAnim: - db $43,$8B,$41 - db $05,$FF,$55 + db $43, $8B, $41 + db $05, $FF, $55 db $FF LeechLifeAnim: - db $08,$8C,$02 + db $08, $8C, $02 db SE_DARK_SCREEN_FLASH, $FF - db $06,$FF,$21 - db $06,$FF,$22 + db $06, $FF, $21 + db $06, $FF, $22 db SE_DARK_SCREEN_FLASH, $FF db $FF LovelyKissAnim: - db $06,$8D,$12 + db $06, $8D, $12 db $FF SkyAttackAnim: db SE_SQUISH_MON_PIC, $8E db SE_SHOOT_BALLS_UPWARD, $FF - db $46,$87,$04 + db $46, $87, $04 db SE_SHOW_MON_PIC, $FF db $FF TransformAnim: - db $46,$8F,$21 - db $44,$8F,$22 - db $08,$FF,$47 + db $46, $8F, $21 + db $44, $8F, $22 + db $08, $FF, $47 db SE_TRANSFORM_MON, $FF db $FF BubbleAnim: - db $16,$90,$35 + db $16, $90, $35 db $FF DizzyPunchAnim: - db $06,$91,$17 - db $06,$91,$17 - db $06,$91,$17 - db $06,$02,$02 + db $06, $91, $17 + db $06, $91, $17 + db $06, $91, $17 + db $06, $02, $02 db $FF SporeAnim: - db $06,$92,$36 + db $06, $92, $36 db $FF FlashAnim: @@ -1044,7 +1044,7 @@ FlashAnim: db $FF PsywaveAnim: - db $06,$2F,$31 + db $06, $2F, $31 db SE_WAVY_SCREEN, $5C db $FF @@ -1057,91 +1057,91 @@ AcidArmorAnim: db $FF CrabHammerAnim: - db $46,$97,$05 - db $06,$FF,$2A + db $46, $97, $05 + db $06, $FF, $2A db $FF ExplosionAnim: - db $43,$98,$34 + db $43, $98, $34 db $FF FurySwipesAnim: - db $04,$99,$0F + db $04, $99, $0F db $FF BonemerangAnim: - db $06,$9A,$02 + db $06, $9A, $02 db $FF RestAnim: - db $10,$9B,$3A - db $10,$9B,$3A + db $10, $9B, $3A + db $10, $9B, $3A db $FF RockSlideAnim: - db $04,$9C,$1D - db $03,$9C,$1E - db $46,$9D,$04 + db $04, $9C, $1D + db $03, $9C, $1E + db $46, $9D, $04 db $FF HyperFangAnim: - db $06,$9D,$02 + db $06, $9D, $02 db $FF SharpenAnim: db SE_LIGHT_SCREEN_PALETTE, $9E - db $46,$FF,$43 + db $46, $FF, $43 db SE_DARK_SCREEN_FLASH, $FF db SE_RESET_SCREEN_PALETTE, $FF db $FF ConversionAnim: db SE_DARK_SCREEN_FLASH, $9F - db $46,$FF,$21 - db $46,$FF,$22 + db $46, $FF, $21 + db $46, $FF, $22 db SE_DARK_SCREEN_FLASH, $FF db $FF TriAttackAnim: db SE_DARK_SCREEN_FLASH, $A0 - db $46,$FF,$4D + db $46, $FF, $4D db SE_DARK_SCREEN_FLASH, $FF db $FF SuperFangAnim: db SE_DARK_SCREEN_PALETTE, $48 - db $46,$A1,$04 + db $46, $A1, $04 db SE_RESET_SCREEN_PALETTE, $FF db $FF SlashAnim: - db $06,$A2,$0F + db $06, $A2, $0F db $FF SubstituteAnim: db SE_SLIDE_MON_OFF, $A3 - db $08,$FF,$47 + db $08, $FF, $47 db SE_SUBSTITUTE_MON, $FF db $FF BallTossAnim: - db $03,$FF,$06 + db $03, $FF, $06 db $FF GreatTossAnim: - db $03,$FF,$07 + db $03, $FF, $07 db $FF UltraTossAnim: - db $02,$FF,$08 + db $02, $FF, $08 db $FF BallShakeAnim: - db $04,$FF,$09 + db $04, $FF, $09 db $FF BallPoofAnim: - db $04,$FF,$0A + db $04, $FF, $0A db $FF ShowPicAnim: @@ -1165,19 +1165,19 @@ EnemyHUDShakeAnim: db $FF TradeBallDropAnim: - db $86,$FF,$48 + db $86, $FF, $48 db $FF TradeBallAppear1Anim: - db $84,$FF,$49 + db $84, $FF, $49 db $FF TradeBallAppear2Anim: - db $86,$FF,$4A + db $86, $FF, $4A db $FF TradeBallPoofAnim: - db $86,$FF,$4B + db $86, $FF, $4B db $FF XStatItemAnim: @@ -1188,7 +1188,7 @@ XStatItemAnim: ShrinkingSquareAnim: db SE_LIGHT_SCREEN_PALETTE, $FF - db $46,$FF,$43 + db $46, $FF, $43 db SE_RESET_SCREEN_PALETTE, $FF db $FF @@ -1200,7 +1200,7 @@ XStatItemBlackAnim: ShrinkingSquareBlackAnim: db SE_DARKEN_MON_PALETTE, $FF - db $46,$FF,$43 + db $46, $FF, $43 db SE_RESET_SCREEN_PALETTE, $FF db $FF @@ -1211,37 +1211,37 @@ UnusedAnim: db $FF ParalyzeAnim: - db $04,$13,$24 - db $04,$13,$24 + db $04, $13, $24 + db $04, $13, $24 db $FF PoisonAnim: - db $08,$13,$27 - db $08,$13,$27 + db $08, $13, $27 + db $08, $13, $27 db $FF SleepPlayerAnim: - db $10,$9B,$3A - db $10,$9B,$3A + db $10, $9B, $3A + db $10, $9B, $3A db $FF SleepEnemyAnim: - db $10,$9B,$3B - db $10,$9B,$3B + db $10, $9B, $3B + db $10, $9B, $3B db $FF ConfusedPlayerAnim: - db $08,$84,$25 - db $08,$84,$25 + db $08, $84, $25 + db $08, $84, $25 db $FF ConfusedEnemyAnim: - db $08,$84,$26 - db $08,$84,$26 + db $08, $84, $26 + db $08, $84, $26 db $FF BallBlockAnim: - db $03,$FF,$0B + db $03, $FF, $0B db $FF FaintAnim: @@ -1253,11 +1253,11 @@ ShakeScreenAnim: db $FF ThrowRockAnim: - db $03,$8B,$53 + db $03, $8B, $53 db $FF ThrowBaitAnim: - db $03,$8B,$54 + db $03, $8B, $54 db $FF SubanimationPointers: @@ -1350,860 +1350,860 @@ SubanimationPointers: Subanimation04: db $43 - db $02,$1a,$00 - db $02,$10,$00 - db $02,$03,$00 + db $02, $1a, $00 + db $02, $10, $00 + db $02, $03, $00 Subanimation05: db $41 - db $02,$10,$00 + db $02, $10, $00 Subanimation08: db $0b - db $03,$30,$00 - db $03,$44,$00 - db $03,$94,$00 - db $03,$60,$00 - db $03,$76,$00 - db $03,$9f,$00 - db $03,$8d,$00 - db $03,$a0,$00 - db $03,$1a,$00 - db $03,$a1,$00 - db $03,$34,$00 + db $03, $30, $00 + db $03, $44, $00 + db $03, $94, $00 + db $03, $60, $00 + db $03, $76, $00 + db $03, $9f, $00 + db $03, $8d, $00 + db $03, $a0, $00 + db $03, $1a, $00 + db $03, $a1, $00 + db $03, $34, $00 Subanimation07: db $0b - db $03,$30,$00 - db $03,$a2,$00 - db $03,$31,$00 - db $03,$a3,$00 - db $03,$32,$00 - db $03,$a4,$00 - db $03,$92,$00 - db $03,$a5,$00 - db $03,$15,$00 - db $03,$a6,$00 - db $03,$34,$00 + db $03, $30, $00 + db $03, $a2, $00 + db $03, $31, $00 + db $03, $a3, $00 + db $03, $32, $00 + db $03, $a4, $00 + db $03, $92, $00 + db $03, $a5, $00 + db $03, $15, $00 + db $03, $a6, $00 + db $03, $34, $00 Subanimation06: db $0b - db $03,$30,$00 - db $03,$a2,$00 - db $03,$93,$00 - db $03,$61,$00 - db $03,$73,$00 - db $03,$a7,$00 - db $03,$33,$00 - db $03,$a8,$00 - db $03,$0e,$00 - db $03,$a9,$00 - db $03,$34,$00 + db $03, $30, $00 + db $03, $a2, $00 + db $03, $93, $00 + db $03, $61, $00 + db $03, $73, $00 + db $03, $a7, $00 + db $03, $33, $00 + db $03, $a8, $00 + db $03, $0e, $00 + db $03, $a9, $00 + db $03, $34, $00 Subanimation09: db $04 - db $03,$21,$04 - db $04,$21,$04 - db $03,$21,$04 - db $05,$21,$04 + db $03, $21, $04 + db $04, $21, $04 + db $03, $21, $04 + db $05, $21, $04 Subanimation0a: db $46 - db $06,$1b,$00 - db $07,$1b,$00 - db $08,$36,$00 - db $09,$36,$00 - db $0a,$15,$00 - db $0a,$15,$00 + db $06, $1b, $00 + db $07, $1b, $00 + db $08, $36, $00 + db $09, $36, $00 + db $0a, $15, $00 + db $0a, $15, $00 Subanimation0b: db $04 - db $01,$2d,$00 - db $03,$2f,$00 - db $03,$35,$00 - db $03,$4d,$00 + db $01, $2d, $00 + db $03, $2f, $00 + db $03, $35, $00 + db $03, $4d, $00 Subanimation55: db $41 - db $01,$9d,$00 + db $01, $9d, $00 Subanimation11: db $4c - db $0b,$26,$00 - db $0c,$26,$00 - db $0b,$26,$00 - db $0c,$26,$00 - db $0b,$28,$00 - db $0c,$28,$00 - db $0b,$28,$00 - db $0c,$28,$00 - db $0b,$27,$00 - db $0c,$27,$00 - db $0b,$27,$00 - db $0c,$27,$00 + db $0b, $26, $00 + db $0c, $26, $00 + db $0b, $26, $00 + db $0c, $26, $00 + db $0b, $28, $00 + db $0c, $28, $00 + db $0b, $28, $00 + db $0c, $28, $00 + db $0b, $27, $00 + db $0c, $27, $00 + db $0b, $27, $00 + db $0c, $27, $00 Subanimation2b: db $4b - db $0d,$03,$03 - db $0e,$03,$03 - db $0f,$03,$00 - db $0d,$11,$00 - db $0d,$11,$00 - db $0d,$37,$00 - db $0d,$37,$00 - db $10,$21,$00 - db $10,$21,$00 - db $11,$1b,$00 - db $11,$1b,$00 + db $0d, $03, $03 + db $0e, $03, $03 + db $0f, $03, $00 + db $0d, $11, $00 + db $0d, $11, $00 + db $0d, $37, $00 + db $0d, $37, $00 + db $10, $21, $00 + db $10, $21, $00 + db $11, $1b, $00 + db $11, $1b, $00 Subanimation2c: db $4c - db $12,$01,$00 - db $12,$0f,$00 - db $12,$1b,$00 - db $12,$25,$00 - db $13,$38,$00 - db $13,$38,$02 - db $14,$38,$00 - db $14,$38,$02 - db $15,$38,$00 - db $15,$38,$00 - db $16,$38,$00 - db $16,$38,$00 + db $12, $01, $00 + db $12, $0f, $00 + db $12, $1b, $00 + db $12, $25, $00 + db $13, $38, $00 + db $13, $38, $02 + db $14, $38, $00 + db $14, $38, $02 + db $15, $38, $00 + db $15, $38, $00 + db $16, $38, $00 + db $16, $38, $00 Subanimation12: db $69 - db $17,$30,$00 - db $17,$39,$00 - db $17,$3a,$00 - db $17,$3b,$00 - db $17,$3c,$00 - db $17,$3d,$00 - db $17,$3e,$00 - db $17,$3f,$00 - db $17,$1f,$00 + db $17, $30, $00 + db $17, $39, $00 + db $17, $3a, $00 + db $17, $3b, $00 + db $17, $3c, $00 + db $17, $3d, $00 + db $17, $3e, $00 + db $17, $3f, $00 + db $17, $1f, $00 Subanimation00: db $41 - db $01,$17,$00 + db $01, $17, $00 Subanimation01: db $42 - db $01,$0f,$00 - db $01,$1d,$00 + db $01, $0f, $00 + db $01, $1d, $00 Subanimation02: db $43 - db $01,$12,$00 - db $01,$15,$00 - db $01,$1c,$00 + db $01, $12, $00 + db $01, $15, $00 + db $01, $1c, $00 Subanimation03: db $44 - db $01,$0b,$00 - db $01,$11,$00 - db $01,$18,$00 - db $01,$1d,$00 + db $01, $0b, $00 + db $01, $11, $00 + db $01, $18, $00 + db $01, $1d, $00 Subanimation0c: db $43 - db $0c,$20,$00 - db $0c,$21,$00 - db $0c,$23,$00 + db $0c, $20, $00 + db $0c, $21, $00 + db $0c, $23, $00 Subanimation0d: db $46 - db $0c,$20,$02 - db $0c,$15,$00 - db $0c,$21,$02 - db $0c,$17,$00 - db $0c,$23,$02 - db $0c,$19,$00 + db $0c, $20, $02 + db $0c, $15, $00 + db $0c, $21, $02 + db $0c, $17, $00 + db $0c, $23, $02 + db $0c, $19, $00 Subanimation0e: db $49 - db $0c,$20,$02 - db $0c,$15,$02 - db $0c,$07,$00 - db $0c,$21,$02 - db $0c,$17,$02 - db $0c,$09,$00 - db $0c,$23,$02 - db $0c,$19,$02 - db $0c,$0c,$00 + db $0c, $20, $02 + db $0c, $15, $02 + db $0c, $07, $00 + db $0c, $21, $02 + db $0c, $17, $02 + db $0c, $09, $00 + db $0c, $23, $02 + db $0c, $19, $02 + db $0c, $0c, $00 Subanimation1f: db $85 - db $0c,$30,$03 - db $0c,$40,$03 - db $0c,$41,$03 - db $0c,$42,$03 - db $0c,$21,$00 + db $0c, $30, $03 + db $0c, $40, $03 + db $0c, $41, $03 + db $0c, $42, $03 + db $0c, $21, $00 Subanimation2e: db $2e - db $18,$43,$02 - db $75,$52,$04 - db $19,$43,$02 - db $75,$63,$04 - db $1a,$43,$02 - db $75,$4d,$04 - db $1b,$43,$02 - db $75,$97,$04 - db $1c,$43,$02 - db $75,$98,$04 - db $1d,$43,$02 - db $75,$58,$04 - db $1e,$43,$02 - db $75,$1b,$00 + db $18, $43, $02 + db $75, $52, $04 + db $19, $43, $02 + db $75, $63, $04 + db $1a, $43, $02 + db $75, $4d, $04 + db $1b, $43, $02 + db $75, $97, $04 + db $1c, $43, $02 + db $75, $98, $04 + db $1d, $43, $02 + db $75, $58, $04 + db $1e, $43, $02 + db $75, $1b, $00 Subanimation2f: db $44 - db $1f,$24,$00 - db $20,$20,$00 - db $21,$1a,$00 - db $22,$15,$00 + db $1f, $24, $00 + db $20, $20, $00 + db $21, $1a, $00 + db $22, $15, $00 Subanimation30: db $52 - db $23,$00,$02 - db $23,$02,$02 - db $23,$04,$00 - db $23,$07,$02 - db $23,$02,$02 - db $23,$04,$00 - db $23,$0e,$02 - db $23,$02,$02 - db $23,$0c,$00 - db $25,$07,$00 - db $25,$0e,$00 - db $25,$15,$00 - db $24,$24,$02 - db $23,$1c,$02 - db $23,$23,$00 - db $23,$21,$02 - db $24,$28,$00 - db $24,$28,$00 + db $23, $00, $02 + db $23, $02, $02 + db $23, $04, $00 + db $23, $07, $02 + db $23, $02, $02 + db $23, $04, $00 + db $23, $0e, $02 + db $23, $02, $02 + db $23, $0c, $00 + db $25, $07, $00 + db $25, $0e, $00 + db $25, $15, $00 + db $24, $24, $02 + db $23, $1c, $02 + db $23, $23, $00 + db $23, $21, $02 + db $24, $28, $00 + db $24, $28, $00 Subanimation0f: db $4c - db $26,$0e,$02 - db $26,$16,$02 - db $26,$1c,$00 - db $27,$0e,$02 - db $27,$16,$02 - db $27,$1c,$00 - db $28,$0e,$02 - db $28,$16,$02 - db $28,$1c,$00 - db $29,$0e,$02 - db $29,$16,$02 - db $29,$1c,$00 + db $26, $0e, $02 + db $26, $16, $02 + db $26, $1c, $00 + db $27, $0e, $02 + db $27, $16, $02 + db $27, $1c, $00 + db $28, $0e, $02 + db $28, $16, $02 + db $28, $1c, $00 + db $29, $0e, $02 + db $29, $16, $02 + db $29, $1c, $00 Subanimation16: db $4c - db $2a,$05,$00 - db $2b,$05,$02 - db $2b,$0c,$02 - db $2a,$11,$04 - db $2b,$11,$02 - db $2b,$17,$02 - db $2a,$1b,$04 - db $2b,$1b,$02 - db $2b,$20,$02 - db $2a,$2f,$04 - db $2c,$00,$02 - db $2c,$00,$00 + db $2a, $05, $00 + db $2b, $05, $02 + db $2b, $0c, $02 + db $2a, $11, $04 + db $2b, $11, $02 + db $2b, $17, $02 + db $2a, $1b, $04 + db $2b, $1b, $02 + db $2b, $20, $02 + db $2a, $2f, $04 + db $2c, $00, $02 + db $2c, $00, $00 Subanimation10: db $88 - db $2d,$44,$00 - db $2e,$45,$00 - db $2d,$46,$00 - db $2e,$47,$00 - db $2d,$48,$00 - db $2e,$49,$00 - db $2d,$2f,$00 - db $2e,$1a,$00 + db $2d, $44, $00 + db $2e, $45, $00 + db $2d, $46, $00 + db $2e, $47, $00 + db $2d, $48, $00 + db $2e, $49, $00 + db $2d, $2f, $00 + db $2e, $1a, $00 Subanimation31: db $2a - db $2f,$46,$00 - db $2f,$4a,$00 - db $2f,$4b,$00 - db $2f,$4c,$00 - db $2f,$4d,$00 - db $2f,$4e,$00 - db $2f,$4f,$00 - db $2f,$50,$00 - db $2f,$2e,$00 - db $2f,$51,$00 + db $2f, $46, $00 + db $2f, $4a, $00 + db $2f, $4b, $00 + db $2f, $4c, $00 + db $2f, $4d, $00 + db $2f, $4e, $00 + db $2f, $4f, $00 + db $2f, $50, $00 + db $2f, $2e, $00 + db $2f, $51, $00 Subanimation13: db $86 - db $30,$31,$00 - db $30,$32,$00 - db $30,$92,$00 - db $30,$0e,$00 - db $30,$0f,$00 - db $30,$10,$00 + db $30, $31, $00 + db $30, $32, $00 + db $30, $92, $00 + db $30, $0e, $00 + db $30, $0f, $00 + db $30, $10, $00 Subanimation14: db $49 - db $30,$10,$00 - db $30,$10,$03 - db $31,$1c,$04 - db $31,$21,$04 - db $31,$26,$00 - db $30,$10,$02 - db $31,$1d,$04 - db $31,$22,$04 - db $31,$27,$00 + db $30, $10, $00 + db $30, $10, $03 + db $31, $1c, $04 + db $31, $21, $04 + db $31, $26, $00 + db $30, $10, $02 + db $31, $1d, $04 + db $31, $22, $04 + db $31, $27, $00 Subanimation41: db $85 - db $03,$31,$00 - db $03,$32,$00 - db $03,$92,$00 - db $03,$0e,$00 - db $03,$10,$00 + db $03, $31, $00 + db $03, $32, $00 + db $03, $92, $00 + db $03, $0e, $00 + db $03, $10, $00 Subanimation42: db $43 - db $48,$08,$00 - db $49,$08,$00 - db $5a,$08,$00 + db $48, $08, $00 + db $49, $08, $00 + db $5a, $08, $00 Subanimation15: db $22 - db $35,$52,$00 - db $35,$53,$00 + db $35, $52, $00 + db $35, $53, $00 Subanimation17: db $44 - db $36,$54,$00 - db $36,$55,$00 - db $37,$56,$00 - db $37,$57,$00 + db $36, $54, $00 + db $36, $55, $00 + db $37, $56, $00 + db $37, $57, $00 Subanimation18: db $a4 - db $36,$54,$00 - db $36,$55,$00 - db $37,$56,$00 - db $37,$57,$00 + db $36, $54, $00 + db $36, $55, $00 + db $37, $56, $00 + db $37, $57, $00 Subanimation40: db $46 - db $17,$54,$00 - db $17,$55,$00 - db $17,$0e,$00 - db $17,$56,$00 - db $17,$57,$00 - db $17,$13,$00 + db $17, $54, $00 + db $17, $55, $00 + db $17, $0e, $00 + db $17, $56, $00 + db $17, $57, $00 + db $17, $13, $00 Subanimation19: db $8c - db $38,$31,$00 - db $39,$31,$00 - db $38,$32,$00 - db $39,$32,$00 - db $38,$92,$00 - db $39,$92,$00 - db $38,$0e,$00 - db $39,$0e,$00 - db $38,$0f,$00 - db $39,$0f,$00 - db $38,$10,$00 - db $39,$10,$00 + db $38, $31, $00 + db $39, $31, $00 + db $38, $32, $00 + db $39, $32, $00 + db $38, $92, $00 + db $39, $92, $00 + db $38, $0e, $00 + db $39, $0e, $00 + db $38, $0f, $00 + db $39, $0f, $00 + db $38, $10, $00 + db $39, $10, $00 Subanimation1a: db $50 - db $3a,$08,$00 - db $3b,$08,$00 - db $3c,$08,$00 - db $3d,$08,$00 - db $3e,$08,$00 - db $3f,$08,$00 - db $3e,$08,$00 - db $3f,$08,$00 - db $3a,$0b,$00 - db $3b,$0b,$00 - db $3c,$0b,$00 - db $3d,$0b,$00 - db $3e,$0b,$00 - db $3f,$0b,$00 - db $3e,$0b,$00 - db $3f,$0b,$00 + db $3a, $08, $00 + db $3b, $08, $00 + db $3c, $08, $00 + db $3d, $08, $00 + db $3e, $08, $00 + db $3f, $08, $00 + db $3e, $08, $00 + db $3f, $08, $00 + db $3a, $0b, $00 + db $3b, $0b, $00 + db $3c, $0b, $00 + db $3d, $0b, $00 + db $3e, $0b, $00 + db $3f, $0b, $00 + db $3e, $0b, $00 + db $3f, $0b, $00 Subanimation1b: db $84 - db $40,$31,$00 - db $40,$32,$00 - db $40,$92,$00 - db $40,$15,$00 + db $40, $31, $00 + db $40, $32, $00 + db $40, $92, $00 + db $40, $15, $00 Subanimation1c: db $43 - db $41,$58,$00 - db $41,$59,$00 - db $41,$21,$00 + db $41, $58, $00 + db $41, $59, $00 + db $41, $21, $00 Subanimation1d: db $af - db $24,$9a,$00 - db $23,$1b,$02 - db $24,$22,$00 - db $23,$16,$02 - db $23,$1d,$02 - db $24,$98,$00 - db $25,$2c,$04 - db $25,$2a,$04 - db $25,$99,$04 - db $25,$62,$04 - db $25,$99,$04 - db $25,$62,$04 - db $25,$99,$04 - db $25,$62,$04 - db $25,$99,$03 + db $24, $9a, $00 + db $23, $1b, $02 + db $24, $22, $00 + db $23, $16, $02 + db $23, $1d, $02 + db $24, $98, $00 + db $25, $2c, $04 + db $25, $2a, $04 + db $25, $99, $04 + db $25, $62, $04 + db $25, $99, $04 + db $25, $62, $04 + db $25, $99, $04 + db $25, $62, $04 + db $25, $99, $03 Subanimation1e: db $01 - db $25,$75,$00 + db $25, $75, $00 Subanimation20: db $42 - db $42,$07,$00 - db $43,$07,$00 + db $42, $07, $00 + db $43, $07, $00 Subanimation21: db $43 - db $44,$00,$00 - db $45,$08,$00 - db $46,$10,$02 + db $44, $00, $00 + db $45, $08, $00 + db $46, $10, $02 Subanimation22: db $8b - db $47,$10,$00 - db $47,$56,$00 - db $47,$07,$00 - db $47,$aa,$00 - db $47,$ab,$00 - db $47,$ac,$00 - db $47,$ad,$00 - db $47,$ae,$00 - db $47,$af,$00 - db $47,$89,$00 - db $47,$b0,$00 + db $47, $10, $00 + db $47, $56, $00 + db $47, $07, $00 + db $47, $aa, $00 + db $47, $ab, $00 + db $47, $ac, $00 + db $47, $ad, $00 + db $47, $ae, $00 + db $47, $af, $00 + db $47, $89, $00 + db $47, $b0, $00 Subanimation2d: db $66 - db $44,$64,$00 - db $45,$65,$00 - db $46,$66,$00 - db $47,$66,$00 - db $47,$66,$00 - db $47,$66,$00 + db $44, $64, $00 + db $45, $65, $00 + db $46, $66, $00 + db $47, $66, $00 + db $47, $66, $00 + db $47, $66, $00 Subanimation39: db $61 - db $47,$67,$00 + db $47, $67, $00 Subanimation4e: db $41 - db $71,$0f,$03 + db $71, $0f, $03 Subanimation4f: db $47 - db $71,$0f,$00 - db $71,$08,$00 - db $71,$01,$00 - db $71,$95,$00 - db $72,$95,$00 - db $73,$95,$00 - db $74,$95,$00 + db $71, $0f, $00 + db $71, $08, $00 + db $71, $01, $00 + db $71, $95, $00 + db $72, $95, $00 + db $73, $95, $00 + db $74, $95, $00 Subanimation50: db $48 - db $74,$95,$00 - db $73,$95,$00 - db $72,$95,$00 - db $71,$95,$00 - db $71,$01,$00 - db $71,$08,$00 - db $71,$0f,$00 - db $71,$16,$00 + db $74, $95, $00 + db $73, $95, $00 + db $72, $95, $00 + db $71, $95, $00 + db $71, $01, $00 + db $71, $08, $00 + db $71, $0f, $00 + db $71, $16, $00 Subanimation29: db $5d - db $48,$0f,$00 - db $4a,$68,$03 - db $4b,$2a,$03 - db $49,$0f,$00 - db $4a,$68,$03 - db $4b,$2a,$00 - db $4c,$6a,$03 - db $4d,$69,$03 - db $49,$6b,$00 - db $4c,$6a,$03 - db $4d,$69,$00 - db $4a,$68,$03 - db $4b,$2a,$03 - db $49,$6c,$00 - db $4a,$68,$03 - db $4b,$2a,$00 - db $4c,$6a,$03 - db $4d,$69,$03 - db $49,$6d,$00 - db $4c,$6a,$03 - db $4d,$2a,$00 - db $4a,$68,$03 - db $4b,$2a,$03 - db $49,$0f,$00 - db $4a,$68,$03 - db $4b,$2a,$00 - db $4c,$6a,$03 - db $4d,$2a,$03 - db $49,$6b,$00 + db $48, $0f, $00 + db $4a, $68, $03 + db $4b, $2a, $03 + db $49, $0f, $00 + db $4a, $68, $03 + db $4b, $2a, $00 + db $4c, $6a, $03 + db $4d, $69, $03 + db $49, $6b, $00 + db $4c, $6a, $03 + db $4d, $69, $00 + db $4a, $68, $03 + db $4b, $2a, $03 + db $49, $6c, $00 + db $4a, $68, $03 + db $4b, $2a, $00 + db $4c, $6a, $03 + db $4d, $69, $03 + db $49, $6d, $00 + db $4c, $6a, $03 + db $4d, $2a, $00 + db $4a, $68, $03 + db $4b, $2a, $03 + db $49, $0f, $00 + db $4a, $68, $03 + db $4b, $2a, $00 + db $4c, $6a, $03 + db $4d, $2a, $03 + db $49, $6b, $00 Subanimation2a: db $44 - db $4e,$2b,$00 - db $4f,$2b,$00 - db $50,$2b,$00 - db $50,$2b,$00 + db $4e, $2b, $00 + db $4f, $2b, $00 + db $50, $2b, $00 + db $50, $2b, $00 Subanimation23: db $42 - db $51,$2d,$00 - db $51,$6e,$00 + db $51, $2d, $00 + db $51, $6e, $00 Subanimation24: db $a2 - db $51,$2d,$00 - db $51,$6e,$00 + db $51, $2d, $00 + db $51, $6e, $00 Subanimation25: db $62 - db $52,$71,$00 - db $52,$72,$00 + db $52, $71, $00 + db $52, $72, $00 Subanimation26: db $02 - db $52,$01,$00 - db $52,$2c,$00 + db $52, $01, $00 + db $52, $2c, $00 Subanimation3a: db $63 - db $53,$71,$00 - db $53,$7f,$00 - db $53,$81,$00 + db $53, $71, $00 + db $53, $7f, $00 + db $53, $81, $00 Subanimation3b: db $03 - db $53,$01,$00 - db $53,$15,$00 - db $53,$2c,$00 + db $53, $01, $00 + db $53, $15, $00 + db $53, $2c, $00 Subanimation27: db $a2 - db $54,$01,$00 - db $54,$2c,$00 + db $54, $01, $00 + db $54, $2c, $00 Subanimation28: db $23 - db $55,$73,$03 - db $56,$73,$03 - db $57,$73,$00 + db $55, $73, $03 + db $56, $73, $03 + db $57, $73, $00 Subanimation32: db $63 - db $47,$74,$00 - db $47,$43,$00 - db $47,$75,$00 + db $47, $74, $00 + db $47, $43, $00 + db $47, $75, $00 Subanimation33: db $26 - db $58,$76,$00 - db $34,$76,$00 - db $58,$76,$00 - db $34,$76,$00 - db $58,$76,$00 - db $34,$76,$00 + db $58, $76, $00 + db $34, $76, $00 + db $58, $76, $00 + db $34, $76, $00 + db $58, $76, $00 + db $34, $76, $00 Subanimation3c: db $67 - db $59,$79,$03 - db $59,$7b,$03 - db $59,$77,$03 - db $59,$7a,$03 - db $59,$78,$03 - db $59,$7c,$03 - db $59,$76,$00 + db $59, $79, $03 + db $59, $7b, $03 + db $59, $77, $03 + db $59, $7a, $03 + db $59, $78, $03 + db $59, $7c, $03 + db $59, $76, $00 Subanimation3d: db $08 - db $3a,$4d,$00 - db $3b,$4d,$00 - db $3c,$4d,$00 - db $3d,$4d,$00 - db $3e,$4d,$00 - db $3f,$4d,$00 - db $3e,$4d,$00 - db $3f,$4d,$00 + db $3a, $4d, $00 + db $3b, $4d, $00 + db $3c, $4d, $00 + db $3d, $4d, $00 + db $3e, $4d, $00 + db $3f, $4d, $00 + db $3e, $4d, $00 + db $3f, $4d, $00 Subanimation34: db $35 - db $48,$7d,$00 - db $49,$7d,$00 - db $5a,$7d,$00 - db $48,$30,$00 - db $49,$30,$00 - db $5a,$30,$00 - db $48,$7e,$00 - db $49,$7e,$00 - db $5a,$7e,$00 - db $48,$7f,$00 - db $49,$7f,$00 - db $5a,$7f,$00 - db $48,$80,$00 - db $49,$80,$00 - db $5a,$80,$00 - db $48,$81,$00 - db $49,$81,$00 - db $5a,$81,$00 - db $48,$82,$00 - db $49,$82,$00 - db $5a,$82,$00 + db $48, $7d, $00 + db $49, $7d, $00 + db $5a, $7d, $00 + db $48, $30, $00 + db $49, $30, $00 + db $5a, $30, $00 + db $48, $7e, $00 + db $49, $7e, $00 + db $5a, $7e, $00 + db $48, $7f, $00 + db $49, $7f, $00 + db $5a, $7f, $00 + db $48, $80, $00 + db $49, $80, $00 + db $5a, $80, $00 + db $48, $81, $00 + db $49, $81, $00 + db $5a, $81, $00 + db $48, $82, $00 + db $49, $82, $00 + db $5a, $82, $00 Subanimation35: db $24 - db $5b,$83,$03 - db $5c,$84,$03 - db $5d,$85,$03 - db $5e,$09,$00 + db $5b, $83, $03 + db $5c, $84, $03 + db $5d, $85, $03 + db $5e, $09, $00 Subanimation36: db $48 - db $5f,$2a,$00 - db $5f,$00,$00 - db $60,$2a,$00 - db $60,$00,$00 - db $61,$2a,$00 - db $61,$00,$00 - db $62,$2a,$00 - db $62,$00,$00 + db $5f, $2a, $00 + db $5f, $00, $00 + db $60, $2a, $00 + db $60, $00, $00 + db $61, $2a, $00 + db $61, $00, $00 + db $62, $2a, $00 + db $62, $00, $00 Subanimation37: db $2a - db $63,$89,$00 - db $64,$75,$00 - db $63,$76,$00 - db $65,$0d,$00 - db $65,$86,$00 - db $65,$12,$00 - db $65,$87,$00 - db $65,$17,$00 - db $65,$88,$00 - db $65,$1a,$00 + db $63, $89, $00 + db $64, $75, $00 + db $63, $76, $00 + db $65, $0d, $00 + db $65, $86, $00 + db $65, $12, $00 + db $65, $87, $00 + db $65, $17, $00 + db $65, $88, $00 + db $65, $1a, $00 Subanimation38: db $50 - db $66,$8a,$00 - db $66,$33,$00 - db $66,$2e,$00 - db $67,$24,$03 - db $66,$01,$04 - db $66,$10,$04 - db $66,$1d,$04 - db $67,$28,$03 - db $66,$2a,$04 - db $66,$0e,$04 - db $66,$1b,$04 - db $67,$26,$03 - db $66,$03,$04 - db $66,$12,$04 - db $66,$1e,$04 - db $67,$29,$00 + db $66, $8a, $00 + db $66, $33, $00 + db $66, $2e, $00 + db $67, $24, $03 + db $66, $01, $04 + db $66, $10, $04 + db $66, $1d, $04 + db $67, $28, $03 + db $66, $2a, $04 + db $66, $0e, $04 + db $66, $1b, $04 + db $67, $26, $03 + db $66, $03, $04 + db $66, $12, $04 + db $66, $1e, $04 + db $67, $29, $00 Subanimation3e: db $92 - db $02,$31,$00 - db $34,$31,$00 - db $02,$31,$00 - db $02,$32,$00 - db $34,$32,$00 - db $02,$32,$00 - db $02,$92,$00 - db $34,$92,$00 - db $02,$92,$00 - db $02,$0e,$00 - db $34,$0e,$00 - db $02,$0e,$00 - db $02,$0f,$00 - db $34,$0f,$00 - db $02,$0f,$00 - db $02,$10,$00 - db $34,$10,$00 - db $02,$10,$00 + db $02, $31, $00 + db $34, $31, $00 + db $02, $31, $00 + db $02, $32, $00 + db $34, $32, $00 + db $02, $32, $00 + db $02, $92, $00 + db $34, $92, $00 + db $02, $92, $00 + db $02, $0e, $00 + db $34, $0e, $00 + db $02, $0e, $00 + db $02, $0f, $00 + db $34, $0f, $00 + db $02, $0f, $00 + db $02, $10, $00 + db $34, $10, $00 + db $02, $10, $00 Subanimation3f: db $72 - db $68,$4b,$00 - db $68,$8c,$00 - db $68,$20,$00 - db $68,$1c,$00 - db $68,$19,$00 - db $68,$14,$00 - db $68,$76,$00 - db $68,$8d,$00 - db $68,$15,$00 - db $68,$10,$00 - db $68,$0c,$00 - db $68,$06,$00 - db $68,$8e,$00 - db $68,$8f,$00 - db $68,$90,$00 - db $68,$26,$00 - db $68,$23,$00 - db $68,$1f,$00 + db $68, $4b, $00 + db $68, $8c, $00 + db $68, $20, $00 + db $68, $1c, $00 + db $68, $19, $00 + db $68, $14, $00 + db $68, $76, $00 + db $68, $8d, $00 + db $68, $15, $00 + db $68, $10, $00 + db $68, $0c, $00 + db $68, $06, $00 + db $68, $8e, $00 + db $68, $8f, $00 + db $68, $90, $00 + db $68, $26, $00 + db $68, $23, $00 + db $68, $1f, $00 Subanimation44: db $2c - db $69,$4b,$00 - db $69,$8c,$00 - db $69,$20,$00 - db $69,$1c,$00 - db $69,$19,$00 - db $69,$14,$00 - db $69,$76,$00 - db $69,$8d,$00 - db $69,$15,$00 - db $69,$10,$00 - db $69,$0c,$00 - db $69,$06,$00 + db $69, $4b, $00 + db $69, $8c, $00 + db $69, $20, $00 + db $69, $1c, $00 + db $69, $19, $00 + db $69, $14, $00 + db $69, $76, $00 + db $69, $8d, $00 + db $69, $15, $00 + db $69, $10, $00 + db $69, $0c, $00 + db $69, $06, $00 Subanimation43: db $a3 - db $6a,$07,$00 - db $6b,$0f,$00 - db $6c,$17,$00 + db $6a, $07, $00 + db $6b, $0f, $00 + db $6c, $17, $00 Subanimation45: db $24 - db $6d,$8b,$00 - db $6d,$84,$00 - db $6d,$63,$00 - db $6d,$8c,$00 + db $6d, $8b, $00 + db $6d, $84, $00 + db $6d, $63, $00 + db $6d, $8c, $00 Subanimation46: db $26 - db $6d,$8b,$00 - db $6d,$84,$00 - db $6d,$63,$00 - db $6d,$8c,$00 - db $6d,$0a,$00 - db $6d,$89,$00 + db $6d, $8b, $00 + db $6d, $84, $00 + db $6d, $63, $00 + db $6d, $8c, $00 + db $6d, $0a, $00 + db $6d, $89, $00 Subanimation47: db $23 - db $06,$82,$00 - db $07,$82,$00 - db $08,$96,$00 + db $06, $82, $00 + db $07, $82, $00 + db $08, $96, $00 Subanimation48: db $06 - db $03,$41,$04 - db $03,$48,$04 - db $04,$48,$04 - db $03,$48,$04 - db $05,$48,$04 - db $03,$48,$03 + db $03, $41, $04 + db $03, $48, $04 + db $04, $48, $04 + db $03, $48, $04 + db $05, $48, $04 + db $03, $48, $03 Subanimation49: db $04 - db $04,$48,$04 - db $03,$48,$04 - db $05,$48,$04 - db $03,$48,$03 + db $04, $48, $04 + db $03, $48, $04 + db $05, $48, $04 + db $03, $48, $03 Subanimation4a: db $01 - db $04,$84,$03 + db $04, $84, $03 Subanimation4b: db $03 - db $06,$72,$00 - db $07,$72,$00 - db $08,$72,$00 + db $06, $72, $00 + db $07, $72, $00 + db $08, $72, $00 Subanimation4c: db $68 - db $6f,$30,$00 - db $6e,$30,$00 - db $70,$30,$00 - db $6e,$30,$00 - db $6f,$30,$00 - db $6e,$30,$00 - db $70,$30,$00 - db $6e,$30,$00 + db $6f, $30, $00 + db $6e, $30, $00 + db $70, $30, $00 + db $6e, $30, $00 + db $6f, $30, $00 + db $6e, $30, $00 + db $70, $30, $00 + db $6e, $30, $00 Subanimation4d: db $26 - db $32,$4b,$00 - db $33,$4f,$00 - db $32,$20,$00 - db $33,$16,$00 - db $32,$19,$00 - db $33,$0d,$00 + db $32, $4b, $00 + db $33, $4f, $00 + db $32, $20, $00 + db $33, $16, $00 + db $32, $19, $00 + db $33, $0d, $00 Subanimation51: db $a6 - db $76,$1b,$00 - db $34,$1b,$00 - db $76,$1b,$00 - db $34,$1b,$00 - db $76,$1b,$00 - db $34,$1b,$00 + db $76, $1b, $00 + db $34, $1b, $00 + db $76, $1b, $00 + db $34, $1b, $00 + db $76, $1b, $00 + db $34, $1b, $00 Subanimation52: db $47 - db $77,$25,$00 - db $77,$9b,$00 - db $77,$1a,$00 - db $77,$9c,$00 - db $77,$2f,$00 - db $77,$50,$00 - db $77,$8c,$00 + db $77, $25, $00 + db $77, $9b, $00 + db $77, $1a, $00 + db $77, $9c, $00 + db $77, $2f, $00 + db $77, $50, $00 + db $77, $8c, $00 Subanimation53: db $0c - db $78,$30,$00 - db $78,$a2,$00 - db $78,$93,$00 - db $78,$61,$00 - db $78,$73,$00 - db $78,$a7,$00 - db $78,$33,$00 - db $78,$a8,$00 - db $78,$0e,$00 - db $78,$a9,$00 - db $78,$34,$00 - db $01,$9e,$00 + db $78, $30, $00 + db $78, $a2, $00 + db $78, $93, $00 + db $78, $61, $00 + db $78, $73, $00 + db $78, $a7, $00 + db $78, $33, $00 + db $78, $a8, $00 + db $78, $0e, $00 + db $78, $a9, $00 + db $78, $34, $00 + db $01, $9e, $00 Subanimation54: db $0b - db $79,$30,$00 - db $79,$a2,$00 - db $79,$93,$00 - db $79,$61,$00 - db $79,$73,$00 - db $79,$a7,$00 - db $79,$33,$00 - db $79,$a8,$00 - db $79,$0e,$00 - db $79,$a9,$00 - db $79,$34,$00 + db $79, $30, $00 + db $79, $a2, $00 + db $79, $93, $00 + db $79, $61, $00 + db $79, $73, $00 + db $79, $a7, $00 + db $79, $33, $00 + db $79, $a8, $00 + db $79, $0e, $00 + db $79, $a9, $00 + db $79, $34, $00 FrameBlockPointers: dw FrameBlock00 @@ -2339,1290 +2339,1290 @@ FrameBlockPointers: ; fourth byte = tile properties (xflip/yflip/etc.) FrameBlock01: db $09 - db $00,$00,$2c,$00 - db $00,$08,$2d,$00 - db $00,$10,$2c,$20 - db $08,$00,$3c,$00 - db $08,$08,$3d,$00 - db $08,$10,$3c,$20 - db $10,$00,$2c,$40 - db $10,$08,$2d,$40 - db $10,$10,$2c,$60 + db $00, $00, $2c, $00 + db $00, $08, $2d, $00 + db $00, $10, $2c, $20 + db $08, $00, $3c, $00 + db $08, $08, $3d, $00 + db $08, $10, $3c, $20 + db $10, $00, $2c, $40 + db $10, $08, $2d, $40 + db $10, $10, $2c, $60 FrameBlock02: db $10 - db $00,$00,$20,$00 - db $00,$08,$21,$00 - db $00,$10,$21,$20 - db $00,$18,$20,$20 - db $08,$00,$30,$00 - db $08,$08,$31,$00 - db $08,$10,$31,$20 - db $08,$18,$30,$20 - db $10,$00,$30,$40 - db $10,$08,$31,$40 - db $10,$10,$31,$60 - db $10,$18,$30,$60 - db $18,$00,$20,$40 - db $18,$08,$21,$40 - db $18,$10,$21,$60 - db $18,$18,$20,$60 + db $00, $00, $20, $00 + db $00, $08, $21, $00 + db $00, $10, $21, $20 + db $00, $18, $20, $20 + db $08, $00, $30, $00 + db $08, $08, $31, $00 + db $08, $10, $31, $20 + db $08, $18, $30, $20 + db $10, $00, $30, $40 + db $10, $08, $31, $40 + db $10, $10, $31, $60 + db $10, $18, $30, $60 + db $18, $00, $20, $40 + db $18, $08, $21, $40 + db $18, $10, $21, $60 + db $18, $18, $20, $60 FrameBlock03: db $04 - db $00,$00,$02,$00 - db $00,$08,$02,$20 - db $08,$00,$12,$00 - db $08,$08,$12,$20 + db $00, $00, $02, $00 + db $00, $08, $02, $20 + db $08, $00, $12, $00 + db $08, $08, $12, $20 FrameBlock04: db $04 - db $00,$00,$06,$00 - db $00,$08,$07,$00 - db $08,$00,$16,$00 - db $08,$08,$17,$00 + db $00, $00, $06, $00 + db $00, $08, $07, $00 + db $08, $00, $16, $00 + db $08, $08, $17, $00 FrameBlock05: db $04 - db $00,$00,$07,$20 - db $00,$08,$06,$20 - db $08,$00,$17,$20 - db $08,$08,$16,$20 + db $00, $00, $07, $20 + db $00, $08, $06, $20 + db $08, $00, $17, $20 + db $08, $08, $16, $20 FrameBlock06: db $0c - db $00,$08,$23,$00 - db $08,$00,$32,$00 - db $08,$08,$33,$00 - db $00,$10,$23,$20 - db $08,$10,$33,$20 - db $08,$18,$32,$20 - db $10,$00,$32,$40 - db $10,$08,$33,$40 - db $18,$08,$23,$40 - db $10,$10,$33,$60 - db $10,$18,$32,$60 - db $18,$10,$23,$60 + db $00, $08, $23, $00 + db $08, $00, $32, $00 + db $08, $08, $33, $00 + db $00, $10, $23, $20 + db $08, $10, $33, $20 + db $08, $18, $32, $20 + db $10, $00, $32, $40 + db $10, $08, $33, $40 + db $18, $08, $23, $40 + db $10, $10, $33, $60 + db $10, $18, $32, $60 + db $18, $10, $23, $60 FrameBlock07: db $10 - db $00,$00,$20,$00 - db $00,$08,$21,$00 - db $08,$00,$30,$00 - db $08,$08,$31,$00 - db $00,$10,$21,$20 - db $00,$18,$20,$20 - db $08,$10,$31,$20 - db $08,$18,$30,$20 - db $10,$00,$30,$40 - db $10,$08,$31,$40 - db $18,$00,$20,$40 - db $18,$08,$21,$40 - db $10,$10,$31,$60 - db $10,$18,$30,$60 - db $18,$10,$21,$60 - db $18,$18,$20,$60 + db $00, $00, $20, $00 + db $00, $08, $21, $00 + db $08, $00, $30, $00 + db $08, $08, $31, $00 + db $00, $10, $21, $20 + db $00, $18, $20, $20 + db $08, $10, $31, $20 + db $08, $18, $30, $20 + db $10, $00, $30, $40 + db $10, $08, $31, $40 + db $18, $00, $20, $40 + db $18, $08, $21, $40 + db $10, $10, $31, $60 + db $10, $18, $30, $60 + db $18, $10, $21, $60 + db $18, $18, $20, $60 FrameBlock08: db $10 - db $00,$00,$20,$00 - db $00,$08,$21,$00 - db $08,$00,$30,$00 - db $08,$08,$31,$00 - db $00,$18,$21,$20 - db $00,$20,$20,$20 - db $08,$18,$31,$20 - db $08,$20,$30,$20 - db $18,$00,$30,$40 - db $18,$08,$31,$40 - db $20,$00,$20,$40 - db $20,$08,$21,$40 - db $18,$18,$31,$60 - db $18,$20,$30,$60 - db $20,$18,$21,$60 - db $20,$20,$20,$60 + db $00, $00, $20, $00 + db $00, $08, $21, $00 + db $08, $00, $30, $00 + db $08, $08, $31, $00 + db $00, $18, $21, $20 + db $00, $20, $20, $20 + db $08, $18, $31, $20 + db $08, $20, $30, $20 + db $18, $00, $30, $40 + db $18, $08, $31, $40 + db $20, $00, $20, $40 + db $20, $08, $21, $40 + db $18, $18, $31, $60 + db $18, $20, $30, $60 + db $20, $18, $21, $60 + db $20, $20, $20, $60 FrameBlock09: db $0c - db $00,$00,$24,$00 - db $00,$08,$25,$00 - db $08,$00,$34,$00 - db $00,$18,$25,$20 - db $00,$20,$24,$20 - db $08,$20,$34,$20 - db $18,$00,$34,$40 - db $20,$00,$24,$40 - db $20,$08,$25,$40 - db $18,$20,$34,$60 - db $20,$18,$25,$60 - db $20,$20,$24,$60 + db $00, $00, $24, $00 + db $00, $08, $25, $00 + db $08, $00, $34, $00 + db $00, $18, $25, $20 + db $00, $20, $24, $20 + db $08, $20, $34, $20 + db $18, $00, $34, $40 + db $20, $00, $24, $40 + db $20, $08, $25, $40 + db $18, $20, $34, $60 + db $20, $18, $25, $60 + db $20, $20, $24, $60 FrameBlock0a: db $0c - db $00,$00,$24,$00 - db $00,$08,$25,$00 - db $08,$00,$34,$00 - db $00,$20,$25,$20 - db $00,$28,$24,$20 - db $08,$28,$34,$20 - db $20,$00,$34,$40 - db $28,$00,$24,$40 - db $28,$08,$25,$40 - db $20,$28,$34,$60 - db $28,$20,$25,$60 - db $28,$28,$24,$60 + db $00, $00, $24, $00 + db $00, $08, $25, $00 + db $08, $00, $34, $00 + db $00, $20, $25, $20 + db $00, $28, $24, $20 + db $08, $28, $34, $20 + db $20, $00, $34, $40 + db $28, $00, $24, $40 + db $28, $08, $25, $40 + db $20, $28, $34, $60 + db $28, $20, $25, $60 + db $28, $28, $24, $60 FrameBlock0b: db $04 - db $00,$00,$05,$00 - db $00,$08,$05,$20 - db $08,$00,$15,$00 - db $08,$08,$15,$20 + db $00, $00, $05, $00 + db $00, $08, $05, $20 + db $08, $00, $15, $00 + db $08, $08, $15, $20 FrameBlock0c: db $04 - db $00,$00,$04,$00 - db $00,$08,$04,$20 - db $08,$00,$14,$00 - db $08,$08,$14,$20 + db $00, $00, $04, $00 + db $00, $08, $04, $20 + db $08, $00, $14, $00 + db $08, $08, $14, $20 FrameBlock0d: db $08 - db $00,$00,$0c,$00 - db $00,$08,$0d,$00 - db $08,$00,$1c,$00 - db $08,$08,$1d,$00 - db $10,$00,$1d,$60 - db $10,$08,$1c,$60 - db $18,$00,$0d,$60 - db $18,$08,$0c,$60 + db $00, $00, $0c, $00 + db $00, $08, $0d, $00 + db $08, $00, $1c, $00 + db $08, $08, $1d, $00 + db $10, $00, $1d, $60 + db $10, $08, $1c, $60 + db $18, $00, $0d, $60 + db $18, $08, $0c, $60 FrameBlock0e: db $04 - db $20,$00,$0c,$00 - db $20,$08,$0d,$00 - db $28,$00,$1c,$00 - db $28,$08,$1d,$00 + db $20, $00, $0c, $00 + db $20, $08, $0d, $00 + db $28, $00, $1c, $00 + db $28, $08, $1d, $00 FrameBlock0f: db $04 - db $30,$00,$1d,$60 - db $30,$08,$1c,$60 - db $38,$00,$0d,$60 - db $38,$08,$0c,$60 + db $30, $00, $1d, $60 + db $30, $08, $1c, $60 + db $38, $00, $0d, $60 + db $38, $08, $0c, $60 FrameBlock10: db $08 - db $00,$00,$0e,$00 - db $00,$08,$0f,$00 - db $08,$00,$1e,$00 - db $08,$08,$1f,$00 - db $00,$10,$0f,$20 - db $00,$18,$0e,$20 - db $08,$10,$1f,$20 - db $08,$18,$1e,$20 + db $00, $00, $0e, $00 + db $00, $08, $0f, $00 + db $08, $00, $1e, $00 + db $08, $08, $1f, $00 + db $00, $10, $0f, $20 + db $00, $18, $0e, $20 + db $08, $10, $1f, $20 + db $08, $18, $1e, $20 FrameBlock11: db $08 - db $00,$00,$0e,$00 - db $00,$08,$0f,$00 - db $08,$00,$1e,$00 - db $08,$08,$1f,$00 - db $00,$20,$0f,$20 - db $00,$28,$0e,$20 - db $08,$20,$1f,$20 - db $08,$28,$1e,$20 + db $00, $00, $0e, $00 + db $00, $08, $0f, $00 + db $08, $00, $1e, $00 + db $08, $08, $1f, $00 + db $00, $20, $0f, $20 + db $00, $28, $0e, $20 + db $08, $20, $1f, $20 + db $08, $28, $1e, $20 FrameBlock12: db $03 - db $00,$00,$37,$00 - db $08,$10,$37,$00 - db $00,$20,$37,$00 + db $00, $00, $37, $00 + db $08, $10, $37, $00 + db $00, $20, $37, $00 FrameBlock13: db $04 - db $00,$00,$36,$00 - db $00,$08,$36,$20 - db $08,$00,$36,$40 - db $08,$08,$36,$60 + db $00, $00, $36, $00 + db $00, $08, $36, $20 + db $08, $00, $36, $40 + db $08, $08, $36, $60 FrameBlock14: db $08 - db $00,$10,$28,$00 - db $00,$18,$28,$20 - db $08,$10,$38,$00 - db $08,$18,$38,$20 - db $00,$20,$36,$00 - db $00,$28,$36,$20 - db $08,$20,$36,$40 - db $08,$28,$36,$60 + db $00, $10, $28, $00 + db $00, $18, $28, $20 + db $08, $10, $38, $00 + db $08, $18, $38, $20 + db $00, $20, $36, $00 + db $00, $28, $36, $20 + db $08, $20, $36, $40 + db $08, $28, $36, $60 FrameBlock15: db $0c - db $00,$00,$28,$00 - db $00,$08,$28,$20 - db $08,$00,$38,$00 - db $08,$08,$38,$20 - db $00,$10,$29,$00 - db $00,$18,$29,$20 - db $08,$10,$39,$00 - db $08,$18,$39,$20 - db $00,$20,$28,$00 - db $00,$28,$28,$20 - db $08,$20,$38,$00 - db $08,$28,$38,$20 + db $00, $00, $28, $00 + db $00, $08, $28, $20 + db $08, $00, $38, $00 + db $08, $08, $38, $20 + db $00, $10, $29, $00 + db $00, $18, $29, $20 + db $08, $10, $39, $00 + db $08, $18, $39, $20 + db $00, $20, $28, $00 + db $00, $28, $28, $20 + db $08, $20, $38, $00 + db $08, $28, $38, $20 FrameBlock16: db $08 - db $00,$00,$29,$00 - db $00,$08,$29,$20 - db $08,$00,$39,$00 - db $08,$08,$39,$20 - db $00,$20,$29,$00 - db $00,$28,$29,$20 - db $08,$20,$39,$00 - db $08,$28,$39,$20 + db $00, $00, $29, $00 + db $00, $08, $29, $20 + db $08, $00, $39, $00 + db $08, $08, $39, $20 + db $00, $20, $29, $00 + db $00, $28, $29, $20 + db $08, $20, $39, $00 + db $08, $28, $39, $20 FrameBlock17: db $04 - db $00,$00,$08,$00 - db $00,$08,$09,$00 - db $08,$00,$18,$00 - db $08,$08,$19,$00 + db $00, $00, $08, $00 + db $00, $08, $09, $00 + db $08, $00, $18, $00 + db $08, $08, $19, $00 FrameBlock18: db $01 - db $18,$00,$45,$60 + db $18, $00, $45, $60 FrameBlock19: db $02 - db $18,$08,$45,$00 - db $10,$08,$46,$60 + db $18, $08, $45, $00 + db $10, $08, $46, $60 FrameBlock1a: db $02 - db $10,$10,$45,$60 - db $18,$10,$46,$00 + db $10, $10, $45, $60 + db $18, $10, $46, $00 FrameBlock1b: db $02 - db $10,$18,$45,$00 - db $08,$18,$46,$60 + db $10, $18, $45, $00 + db $08, $18, $46, $60 FrameBlock1c: db $02 - db $08,$20,$45,$60 - db $10,$20,$46,$00 + db $08, $20, $45, $60 + db $10, $20, $46, $00 FrameBlock1d: db $02 - db $08,$28,$45,$00 - db $00,$28,$46,$60 + db $08, $28, $45, $00 + db $00, $28, $46, $60 FrameBlock1e: db $02 - db $00,$30,$45,$60 - db $08,$30,$46,$00 + db $00, $30, $45, $60 + db $08, $30, $46, $00 FrameBlock75: db $04 - db $00,$00,$43,$00 - db $00,$08,$43,$20 - db $08,$00,$22,$00 - db $08,$08,$43,$60 + db $00, $00, $43, $00 + db $00, $08, $43, $20 + db $08, $00, $22, $00 + db $08, $08, $43, $60 FrameBlock1f: db $02 - db $00,$00,$03,$00 - db $00,$30,$03,$20 + db $00, $00, $03, $00 + db $00, $30, $03, $20 FrameBlock20: db $06 - db $00,$00,$03,$00 - db $00,$30,$03,$20 - db $08,$08,$03,$00 - db $08,$28,$03,$20 - db $08,$00,$13,$00 - db $08,$30,$13,$20 + db $00, $00, $03, $00 + db $00, $30, $03, $20 + db $08, $08, $03, $00 + db $08, $28, $03, $20 + db $08, $00, $13, $00 + db $08, $30, $13, $20 FrameBlock21: db $0c - db $00,$00,$03,$00 - db $00,$30,$03,$20 - db $08,$08,$03,$00 - db $08,$28,$03,$20 - db $08,$00,$13,$00 - db $08,$30,$13,$20 - db $10,$10,$03,$00 - db $10,$20,$03,$20 - db $10,$08,$13,$00 - db $10,$28,$13,$20 - db $10,$00,$03,$00 - db $10,$30,$03,$20 + db $00, $00, $03, $00 + db $00, $30, $03, $20 + db $08, $08, $03, $00 + db $08, $28, $03, $20 + db $08, $00, $13, $00 + db $08, $30, $13, $20 + db $10, $10, $03, $00 + db $10, $20, $03, $20 + db $10, $08, $13, $00 + db $10, $28, $13, $20 + db $10, $00, $03, $00 + db $10, $30, $03, $20 FrameBlock22: db $13 - db $00,$00,$03,$00 - db $08,$00,$13,$00 - db $10,$00,$03,$00 - db $18,$00,$13,$00 - db $08,$08,$03,$00 - db $10,$08,$13,$00 - db $18,$08,$03,$00 - db $10,$10,$03,$00 - db $18,$10,$13,$00 - db $18,$18,$03,$00 - db $10,$20,$03,$20 - db $18,$20,$13,$20 - db $08,$28,$03,$20 - db $10,$28,$13,$20 - db $18,$28,$03,$20 - db $00,$30,$03,$20 - db $08,$30,$13,$20 - db $10,$30,$03,$20 - db $18,$30,$13,$20 + db $00, $00, $03, $00 + db $08, $00, $13, $00 + db $10, $00, $03, $00 + db $18, $00, $13, $00 + db $08, $08, $03, $00 + db $10, $08, $13, $00 + db $18, $08, $03, $00 + db $10, $10, $03, $00 + db $18, $10, $13, $00 + db $18, $18, $03, $00 + db $10, $20, $03, $20 + db $18, $20, $13, $20 + db $08, $28, $03, $20 + db $10, $28, $13, $20 + db $18, $28, $03, $20 + db $00, $30, $03, $20 + db $08, $30, $13, $20 + db $10, $30, $03, $20 + db $18, $30, $13, $20 FrameBlock23: db $04 - db $00,$00,$0a,$00 - db $00,$08,$0b,$00 - db $08,$00,$1a,$00 - db $08,$08,$1b,$00 + db $00, $00, $0a, $00 + db $00, $08, $0b, $00 + db $08, $00, $1a, $00 + db $08, $08, $1b, $00 FrameBlock24: db $02 - db $08,$00,$0a,$00 - db $08,$08,$0b,$00 + db $08, $00, $0a, $00 + db $08, $08, $0b, $00 FrameBlock25: db $0c - db $10,$00,$0a,$00 - db $10,$08,$0b,$00 - db $18,$00,$1a,$00 - db $18,$08,$1b,$00 - db $00,$10,$0a,$00 - db $00,$18,$0b,$00 - db $08,$10,$1a,$00 - db $08,$18,$1b,$00 - db $08,$20,$0a,$00 - db $08,$28,$0b,$00 - db $10,$20,$1a,$00 - db $10,$28,$1b,$00 + db $10, $00, $0a, $00 + db $10, $08, $0b, $00 + db $18, $00, $1a, $00 + db $18, $08, $1b, $00 + db $00, $10, $0a, $00 + db $00, $18, $0b, $00 + db $08, $10, $1a, $00 + db $08, $18, $1b, $00 + db $08, $20, $0a, $00 + db $08, $28, $0b, $00 + db $10, $20, $1a, $00 + db $10, $28, $1b, $00 FrameBlock26: db $04 - db $00,$10,$44,$00 - db $00,$18,$44,$20 - db $08,$10,$44,$40 - db $08,$18,$44,$60 + db $00, $10, $44, $00 + db $00, $18, $44, $20 + db $08, $10, $44, $40 + db $08, $18, $44, $60 FrameBlock27: db $05 - db $08,$08,$44,$00 - db $08,$10,$44,$20 - db $10,$08,$44,$40 - db $10,$10,$44,$60 - db $00,$18,$47,$00 + db $08, $08, $44, $00 + db $08, $10, $44, $20 + db $10, $08, $44, $40 + db $10, $10, $44, $60 + db $00, $18, $47, $00 FrameBlock28: db $06 - db $10,$00,$44,$00 - db $10,$08,$44,$20 - db $18,$00,$44,$40 - db $18,$08,$44,$60 - db $08,$10,$47,$00 - db $02,$16,$47,$00 + db $10, $00, $44, $00 + db $10, $08, $44, $20 + db $18, $00, $44, $40 + db $18, $08, $44, $60 + db $08, $10, $47, $00 + db $02, $16, $47, $00 FrameBlock29: db $04 - db $18,$00,$47,$00 - db $12,$06,$47,$00 - db $0c,$0c,$47,$00 - db $06,$12,$47,$00 + db $18, $00, $47, $00 + db $12, $06, $47, $00 + db $0c, $0c, $47, $00 + db $06, $12, $47, $00 FrameBlock2a: db $04 - db $00,$00,$44,$00 - db $00,$08,$44,$20 - db $08,$00,$44,$40 - db $08,$08,$44,$60 + db $00, $00, $44, $00 + db $00, $08, $44, $20 + db $08, $00, $44, $40 + db $08, $08, $44, $60 FrameBlock2b: db $02 - db $06,$02,$47,$00 - db $00,$08,$47,$00 + db $06, $02, $47, $00 + db $00, $08, $47, $00 FrameBlock2c: db $01 - db $a0,$00,$4d,$00 + db $a0, $00, $4d, $00 FrameBlock2d: db $08 - db $00,$00,$26,$00 - db $00,$08,$27,$00 - db $08,$00,$36,$00 - db $08,$08,$37,$00 - db $10,$00,$28,$00 - db $10,$08,$29,$00 - db $18,$00,$38,$00 - db $18,$08,$39,$00 + db $00, $00, $26, $00 + db $00, $08, $27, $00 + db $08, $00, $36, $00 + db $08, $08, $37, $00 + db $10, $00, $28, $00 + db $10, $08, $29, $00 + db $18, $00, $38, $00 + db $18, $08, $39, $00 FrameBlock2e: db $08 - db $00,$00,$27,$20 - db $00,$08,$26,$20 - db $08,$00,$37,$20 - db $08,$08,$36,$20 - db $10,$00,$29,$20 - db $10,$08,$28,$20 - db $18,$00,$39,$20 - db $18,$08,$38,$20 + db $00, $00, $27, $20 + db $00, $08, $26, $20 + db $08, $00, $37, $20 + db $08, $08, $36, $20 + db $10, $00, $29, $20 + db $10, $08, $28, $20 + db $18, $00, $39, $20 + db $18, $08, $38, $20 FrameBlock2f: db $04 - db $00,$00,$0c,$00 - db $00,$08,$0d,$00 - db $08,$00,$0c,$40 - db $08,$08,$0d,$40 + db $00, $00, $0c, $00 + db $00, $08, $0d, $00 + db $08, $00, $0c, $40 + db $08, $08, $0d, $40 FrameBlock30: db $04 - db $00,$00,$44,$00 - db $00,$08,$44,$20 - db $08,$00,$44,$40 - db $08,$08,$44,$60 + db $00, $00, $44, $00 + db $00, $08, $44, $20 + db $08, $00, $44, $40 + db $08, $08, $44, $60 FrameBlock31: db $01 - db $00,$00,$45,$00 + db $00, $00, $45, $00 FrameBlock32: db $07 - db $00,$00,$4d,$00 - db $00,$08,$2f,$00 - db $00,$10,$4d,$20 - db $08,$00,$4e,$00 - db $08,$08,$07,$00 - db $08,$10,$4e,$20 - db $10,$08,$3f,$00 + db $00, $00, $4d, $00 + db $00, $08, $2f, $00 + db $00, $10, $4d, $20 + db $08, $00, $4e, $00 + db $08, $08, $07, $00 + db $08, $10, $4e, $20 + db $10, $08, $3f, $00 FrameBlock33: db $07 - db $00,$08,$3f,$40 - db $08,$00,$4e,$40 - db $08,$08,$07,$40 - db $08,$10,$4e,$60 - db $10,$00,$4d,$40 - db $10,$08,$2f,$40 - db $10,$10,$4d,$60 + db $00, $08, $3f, $40 + db $08, $00, $4e, $40 + db $08, $08, $07, $40 + db $08, $10, $4e, $60 + db $10, $00, $4d, $40 + db $10, $08, $2f, $40 + db $10, $10, $4d, $60 FrameBlock34: db $01 - db $a0,$00,$00,$10 + db $a0, $00, $00, $10 FrameBlock35: db $06 - db $00,$00,$2a,$00 - db $00,$08,$2b,$00 - db $08,$00,$3a,$00 - db $10,$00,$3a,$40 - db $18,$00,$2a,$40 - db $18,$08,$2b,$40 + db $00, $00, $2a, $00 + db $00, $08, $2b, $00 + db $08, $00, $3a, $00 + db $10, $00, $3a, $40 + db $18, $00, $2a, $40 + db $18, $08, $2b, $40 FrameBlock36: db $04 - db $00,$00,$00,$00 - db $00,$08,$01,$00 - db $08,$00,$10,$00 - db $08,$08,$11,$00 + db $00, $00, $00, $00 + db $00, $08, $01, $00 + db $08, $00, $10, $00 + db $08, $08, $11, $00 FrameBlock37: db $04 - db $00,$00,$01,$a0 - db $00,$08,$00,$a0 - db $08,$00,$11,$a0 - db $08,$08,$10,$a0 + db $00, $00, $01, $a0 + db $00, $08, $00, $a0 + db $08, $00, $11, $a0 + db $08, $08, $10, $a0 FrameBlock38: db $04 - db $00,$00,$0a,$00 - db $00,$08,$0b,$00 - db $08,$00,$1a,$00 - db $08,$08,$1b,$00 + db $00, $00, $0a, $00 + db $00, $08, $0b, $00 + db $08, $00, $1a, $00 + db $08, $08, $1b, $00 FrameBlock39: db $04 - db $00,$00,$0b,$20 - db $00,$08,$0a,$20 - db $08,$00,$1b,$20 - db $08,$08,$1a,$20 + db $00, $00, $0b, $20 + db $00, $08, $0a, $20 + db $08, $00, $1b, $20 + db $08, $08, $1a, $20 FrameBlock3a: db $04 - db $20,$00,$05,$00 - db $20,$08,$05,$20 - db $28,$00,$15,$00 - db $28,$08,$15,$20 + db $20, $00, $05, $00 + db $20, $08, $05, $20 + db $28, $00, $15, $00 + db $28, $08, $15, $20 FrameBlock3b: db $05 - db $18,$00,$04,$00 - db $18,$08,$04,$20 - db $20,$00,$14,$00 - db $20,$08,$14,$20 - db $28,$04,$41,$00 + db $18, $00, $04, $00 + db $18, $08, $04, $20 + db $20, $00, $14, $00 + db $20, $08, $14, $20 + db $28, $04, $41, $00 FrameBlock3c: db $06 - db $10,$00,$05,$00 - db $10,$08,$05,$20 - db $18,$00,$15,$00 - db $18,$08,$15,$20 - db $20,$04,$42,$00 - db $28,$04,$42,$00 + db $10, $00, $05, $00 + db $10, $08, $05, $20 + db $18, $00, $15, $00 + db $18, $08, $15, $20 + db $20, $04, $42, $00 + db $28, $04, $42, $00 FrameBlock3d: db $07 - db $08,$00,$04,$00 - db $08,$08,$04,$20 - db $10,$00,$14,$00 - db $10,$08,$14,$20 - db $18,$04,$41,$00 - db $20,$04,$41,$00 - db $28,$04,$41,$00 + db $08, $00, $04, $00 + db $08, $08, $04, $20 + db $10, $00, $14, $00 + db $10, $08, $14, $20 + db $18, $04, $41, $00 + db $20, $04, $41, $00 + db $28, $04, $41, $00 FrameBlock3e: db $08 - db $00,$00,$05,$00 - db $00,$08,$05,$20 - db $08,$00,$15,$00 - db $08,$08,$15,$20 - db $10,$04,$42,$00 - db $18,$04,$42,$00 - db $20,$04,$42,$00 - db $28,$04,$42,$00 + db $00, $00, $05, $00 + db $00, $08, $05, $20 + db $08, $00, $15, $00 + db $08, $08, $15, $20 + db $10, $04, $42, $00 + db $18, $04, $42, $00 + db $20, $04, $42, $00 + db $28, $04, $42, $00 FrameBlock3f: db $08 - db $00,$00,$04,$00 - db $00,$08,$04,$20 - db $08,$00,$14,$00 - db $08,$08,$14,$20 - db $10,$04,$41,$00 - db $18,$04,$41,$00 - db $20,$04,$41,$00 - db $28,$04,$41,$00 + db $00, $00, $04, $00 + db $00, $08, $04, $20 + db $08, $00, $14, $00 + db $08, $08, $14, $20 + db $10, $04, $41, $00 + db $18, $04, $41, $00 + db $20, $04, $41, $00 + db $28, $04, $41, $00 FrameBlock40: db $03 - db $00,$00,$3d,$00 - db $00,$08,$3d,$00 - db $08,$08,$3d,$00 + db $00, $00, $3d, $00 + db $00, $08, $3d, $00 + db $08, $08, $3d, $00 FrameBlock41: db $04 - db $00,$00,$06,$00 - db $00,$08,$06,$20 - db $08,$00,$16,$00 - db $08,$08,$17,$00 + db $00, $00, $06, $00 + db $00, $08, $06, $20 + db $08, $00, $16, $00 + db $08, $08, $17, $00 FrameBlock42: db $0b - db $00,$10,$42,$00 - db $08,$00,$42,$00 - db $08,$08,$42,$00 - db $08,$10,$42,$00 - db $08,$18,$42,$00 - db $08,$20,$42,$00 - db $10,$10,$42,$00 - db $18,$08,$42,$00 - db $18,$18,$42,$00 - db $20,$00,$42,$00 - db $20,$20,$42,$00 + db $00, $10, $42, $00 + db $08, $00, $42, $00 + db $08, $08, $42, $00 + db $08, $10, $42, $00 + db $08, $18, $42, $00 + db $08, $20, $42, $00 + db $10, $10, $42, $00 + db $18, $08, $42, $00 + db $18, $18, $42, $00 + db $20, $00, $42, $00 + db $20, $20, $42, $00 FrameBlock43: db $0b - db $00,$10,$41,$00 - db $08,$00,$41,$00 - db $08,$08,$41,$00 - db $08,$10,$41,$00 - db $08,$18,$41,$00 - db $08,$20,$41,$00 - db $10,$10,$41,$00 - db $18,$08,$41,$00 - db $18,$18,$41,$00 - db $20,$00,$41,$00 - db $20,$20,$41,$00 + db $00, $10, $41, $00 + db $08, $00, $41, $00 + db $08, $08, $41, $00 + db $08, $10, $41, $00 + db $08, $18, $41, $00 + db $08, $20, $41, $00 + db $10, $10, $41, $00 + db $18, $08, $41, $00 + db $18, $18, $41, $00 + db $20, $00, $41, $00 + db $20, $20, $41, $00 FrameBlock44: db $04 - db $00,$00,$49,$00 - db $00,$28,$49,$00 - db $28,$00,$49,$00 - db $28,$28,$49,$00 + db $00, $00, $49, $00 + db $00, $28, $49, $00 + db $28, $00, $49, $00 + db $28, $28, $49, $00 FrameBlock45: db $04 - db $00,$00,$49,$00 - db $00,$18,$49,$00 - db $18,$00,$49,$00 - db $18,$18,$49,$00 + db $00, $00, $49, $00 + db $00, $18, $49, $00 + db $18, $00, $49, $00 + db $18, $18, $49, $00 FrameBlock46: db $04 - db $00,$00,$49,$00 - db $00,$08,$49,$00 - db $08,$00,$49,$00 - db $08,$08,$49,$00 + db $00, $00, $49, $00 + db $00, $08, $49, $00 + db $08, $00, $49, $00 + db $08, $08, $49, $00 FrameBlock47: db $04 - db $00,$00,$43,$00 - db $00,$08,$43,$20 - db $08,$00,$43,$40 - db $08,$08,$43,$60 + db $00, $00, $43, $00 + db $00, $08, $43, $20 + db $08, $00, $43, $40 + db $08, $08, $43, $60 SmallBlackCircleFrameBlock: db $04 - db $08,$08,$33,$00 - db $08,$10,$33,$20 - db $10,$08,$33,$40 - db $10,$10,$33,$60 + db $08, $08, $33, $00 + db $08, $10, $33, $20 + db $10, $08, $33, $40 + db $10, $10, $33, $60 LargeBlockCircleFrameBlock: db $10 - db $00,$00,$22,$00 - db $00,$08,$23,$00 - db $00,$10,$23,$20 - db $00,$18,$22,$20 - db $08,$00,$32,$00 - db $08,$08,$43,$00 - db $08,$10,$43,$20 - db $08,$18,$32,$20 - db $10,$00,$32,$40 - db $10,$08,$43,$40 - db $10,$10,$43,$60 - db $10,$18,$32,$60 - db $18,$00,$22,$40 - db $18,$08,$23,$40 - db $18,$10,$23,$60 - db $18,$18,$22,$60 + db $00, $00, $22, $00 + db $00, $08, $23, $00 + db $00, $10, $23, $20 + db $00, $18, $22, $20 + db $08, $00, $32, $00 + db $08, $08, $43, $00 + db $08, $10, $43, $20 + db $08, $18, $32, $20 + db $10, $00, $32, $40 + db $10, $08, $43, $40 + db $10, $10, $43, $60 + db $10, $18, $32, $60 + db $18, $00, $22, $40 + db $18, $08, $23, $40 + db $18, $10, $23, $60 + db $18, $18, $22, $60 FrameBlock71: db $10 - db $00,$00,$22,$00 - db $00,$08,$3b,$00 - db $00,$10,$23,$20 - db $00,$18,$22,$20 - db $08,$00,$32,$00 - db $08,$08,$43,$00 - db $08,$10,$43,$20 - db $08,$18,$32,$20 - db $10,$00,$32,$40 - db $10,$08,$43,$40 - db $10,$10,$43,$60 - db $10,$18,$32,$60 - db $18,$00,$22,$40 - db $18,$08,$23,$40 - db $18,$10,$23,$60 - db $18,$18,$22,$60 + db $00, $00, $22, $00 + db $00, $08, $3b, $00 + db $00, $10, $23, $20 + db $00, $18, $22, $20 + db $08, $00, $32, $00 + db $08, $08, $43, $00 + db $08, $10, $43, $20 + db $08, $18, $32, $20 + db $10, $00, $32, $40 + db $10, $08, $43, $40 + db $10, $10, $43, $60 + db $10, $18, $32, $60 + db $18, $00, $22, $40 + db $18, $08, $23, $40 + db $18, $10, $23, $60 + db $18, $18, $22, $60 FrameBlock72: db $0c - db $00,$00,$32,$00 - db $00,$08,$43,$00 - db $00,$10,$43,$20 - db $00,$18,$32,$20 - db $08,$00,$32,$40 - db $08,$08,$43,$40 - db $08,$10,$43,$60 - db $08,$18,$32,$60 - db $10,$00,$22,$40 - db $10,$08,$23,$40 - db $10,$10,$23,$60 - db $10,$18,$22,$60 + db $00, $00, $32, $00 + db $00, $08, $43, $00 + db $00, $10, $43, $20 + db $00, $18, $32, $20 + db $08, $00, $32, $40 + db $08, $08, $43, $40 + db $08, $10, $43, $60 + db $08, $18, $32, $60 + db $10, $00, $22, $40 + db $10, $08, $23, $40 + db $10, $10, $23, $60 + db $10, $18, $22, $60 FrameBlock73: db $08 - db $00,$00,$32,$40 - db $00,$08,$43,$40 - db $00,$10,$43,$60 - db $00,$18,$32,$60 - db $08,$00,$22,$40 - db $08,$08,$23,$40 - db $08,$10,$23,$60 - db $08,$18,$22,$60 + db $00, $00, $32, $40 + db $00, $08, $43, $40 + db $00, $10, $43, $60 + db $00, $18, $32, $60 + db $08, $00, $22, $40 + db $08, $08, $23, $40 + db $08, $10, $23, $60 + db $08, $18, $22, $60 FrameBlock74: db $04 - db $00,$00,$22,$40 - db $00,$08,$23,$40 - db $00,$10,$23,$60 - db $00,$18,$22,$60 + db $00, $00, $22, $40 + db $00, $08, $23, $40 + db $00, $10, $23, $60 + db $00, $18, $22, $60 FrameBlock4a: db $04 - db $08,$18,$4c,$20 - db $20,$08,$4b,$00 - db $30,$20,$4c,$00 - db $18,$30,$4b,$40 + db $08, $18, $4c, $20 + db $20, $08, $4b, $00 + db $30, $20, $4c, $00 + db $18, $30, $4b, $40 FrameBlock4b: db $04 - db $00,$18,$4c,$00 - db $20,$00,$4b,$40 - db $38,$20,$4c,$20 - db $18,$38,$4b,$00 + db $00, $18, $4c, $00 + db $20, $00, $4b, $40 + db $38, $20, $4c, $20 + db $18, $38, $4b, $00 FrameBlock4c: db $04 - db $10,$08,$4a,$40 - db $30,$10,$4a,$00 - db $28,$30,$4a,$20 - db $08,$28,$4a,$60 + db $10, $08, $4a, $40 + db $30, $10, $4a, $00 + db $28, $30, $4a, $20 + db $08, $28, $4a, $60 FrameBlock4d: db $04 - db $08,$00,$4a,$20 - db $38,$08,$4a,$60 - db $30,$38,$4a,$40 - db $00,$30,$4a,$00 + db $08, $00, $4a, $20 + db $38, $08, $4a, $60 + db $30, $38, $4a, $40 + db $00, $30, $4a, $00 FrameBlock4e: db $08 - db $00,$30,$44,$00 - db $00,$38,$44,$20 - db $08,$30,$44,$40 - db $08,$38,$44,$60 - db $26,$0a,$44,$00 - db $26,$12,$44,$20 - db $2e,$0a,$44,$40 - db $2e,$12,$44,$60 + db $00, $30, $44, $00 + db $00, $38, $44, $20 + db $08, $30, $44, $40 + db $08, $38, $44, $60 + db $26, $0a, $44, $00 + db $26, $12, $44, $20 + db $2e, $0a, $44, $40 + db $2e, $12, $44, $60 FrameBlock4f: db $0c - db $0e,$22,$44,$00 - db $0e,$2a,$44,$20 - db $16,$22,$44,$40 - db $16,$2a,$44,$60 - db $06,$32,$47,$00 - db $00,$38,$47,$00 - db $1a,$16,$44,$00 - db $1a,$1e,$44,$20 - db $22,$16,$44,$40 - db $22,$1e,$44,$60 - db $30,$08,$47,$00 - db $2a,$0e,$47,$00 + db $0e, $22, $44, $00 + db $0e, $2a, $44, $20 + db $16, $22, $44, $40 + db $16, $2a, $44, $60 + db $06, $32, $47, $00 + db $00, $38, $47, $00 + db $1a, $16, $44, $00 + db $1a, $1e, $44, $20 + db $22, $16, $44, $40 + db $22, $1e, $44, $60 + db $30, $08, $47, $00 + db $2a, $0e, $47, $00 FrameBlock50: db $08 - db $06,$32,$47,$00 - db $00,$38,$47,$00 - db $12,$26,$47,$00 - db $0c,$2c,$47,$00 - db $1e,$1a,$47,$00 - db $18,$20,$47,$00 - db $2a,$0e,$47,$00 - db $24,$14,$47,$00 + db $06, $32, $47, $00 + db $00, $38, $47, $00 + db $12, $26, $47, $00 + db $0c, $2c, $47, $00 + db $1e, $1a, $47, $00 + db $18, $20, $47, $00 + db $2a, $0e, $47, $00 + db $24, $14, $47, $00 FrameBlock51: db $08 - db $00,$00,$35,$20 - db $08,$00,$35,$40 - db $10,$00,$35,$00 - db $18,$00,$35,$60 - db $00,$40,$35,$00 - db $08,$40,$35,$60 - db $10,$40,$35,$20 - db $18,$40,$35,$40 + db $00, $00, $35, $20 + db $08, $00, $35, $40 + db $10, $00, $35, $00 + db $18, $00, $35, $60 + db $00, $40, $35, $00 + db $08, $40, $35, $60 + db $10, $40, $35, $20 + db $18, $40, $35, $40 FrameBlock52: db $04 - db $00,$00,$2a,$00 - db $00,$08,$2b,$00 - db $08,$00,$3a,$00 - db $08,$08,$3b,$00 + db $00, $00, $2a, $00 + db $00, $08, $2b, $00 + db $08, $00, $3a, $00 + db $08, $08, $3b, $00 FrameBlock53: db $03 - db $00,$00,$3f,$00 - db $00,$08,$3f,$00 - db $08,$06,$3f,$00 + db $00, $00, $3f, $00 + db $00, $08, $3f, $00 + db $08, $06, $3f, $00 FrameBlock54: db $04 - db $00,$00,$0e,$00 - db $00,$08,$0e,$20 - db $08,$00,$0f,$00 - db $08,$08,$0f,$20 + db $00, $00, $0e, $00 + db $00, $08, $0e, $20 + db $08, $00, $0f, $00 + db $08, $08, $0f, $20 FrameBlock55: db $03 - db $10,$00,$2c,$00 - db $10,$08,$3c,$00 - db $10,$10,$2d,$00 + db $10, $00, $2c, $00 + db $10, $08, $3c, $00 + db $10, $10, $2d, $00 FrameBlock56: db $06 - db $10,$10,$31,$00 - db $10,$18,$31,$00 - db $08,$10,$2c,$00 - db $08,$18,$3c,$00 - db $08,$20,$2d,$00 - db $10,$20,$2d,$00 + db $10, $10, $31, $00 + db $10, $18, $31, $00 + db $08, $10, $2c, $00 + db $08, $18, $3c, $00 + db $08, $20, $2d, $00 + db $10, $20, $2d, $00 FrameBlock57: db $09 - db $08,$20,$31,$00 - db $10,$20,$31,$00 - db $08,$28,$31,$00 - db $10,$28,$31,$00 - db $00,$20,$2c,$00 - db $00,$28,$3c,$00 - db $00,$30,$2d,$00 - db $08,$30,$2d,$00 - db $10,$30,$2d,$00 + db $08, $20, $31, $00 + db $10, $20, $31, $00 + db $08, $28, $31, $00 + db $10, $28, $31, $00 + db $00, $20, $2c, $00 + db $00, $28, $3c, $00 + db $00, $30, $2d, $00 + db $08, $30, $2d, $00 + db $10, $30, $2d, $00 FrameBlock58: db $07 - db $00,$00,$46,$00 - db $08,$02,$47,$00 - db $10,$03,$48,$00 - db $18,$04,$48,$00 - db $20,$05,$48,$00 - db $28,$05,$48,$00 - db $30,$05,$48,$00 + db $00, $00, $46, $00 + db $08, $02, $47, $00 + db $10, $03, $48, $00 + db $18, $04, $48, $00 + db $20, $05, $48, $00 + db $28, $05, $48, $00 + db $30, $05, $48, $00 FrameBlock59: db $01 - db $00,$00,$42,$00 + db $00, $00, $42, $00 FrameBlock5a: db $0c - db $00,$00,$24,$00 - db $00,$08,$25,$00 - db $08,$00,$34,$00 - db $00,$10,$25,$20 - db $00,$18,$24,$20 - db $08,$18,$34,$20 - db $10,$00,$34,$40 - db $18,$00,$24,$40 - db $18,$08,$25,$40 - db $10,$18,$34,$60 - db $18,$10,$25,$60 - db $18,$18,$24,$60 + db $00, $00, $24, $00 + db $00, $08, $25, $00 + db $08, $00, $34, $00 + db $00, $10, $25, $20 + db $00, $18, $24, $20 + db $08, $18, $34, $20 + db $10, $00, $34, $40 + db $18, $00, $24, $40 + db $18, $08, $25, $40 + db $10, $18, $34, $60 + db $18, $10, $25, $60 + db $18, $18, $24, $60 FrameBlock5b: db $04 - db $00,$00,$43,$00 - db $00,$08,$43,$20 - db $08,$00,$43,$40 - db $08,$08,$43,$60 + db $00, $00, $43, $00 + db $00, $08, $43, $20 + db $08, $00, $43, $40 + db $08, $08, $43, $60 FrameBlock5c: db $08 - db $00,$00,$49,$00 - db $02,$08,$49,$00 - db $18,$00,$49,$00 - db $10,$10,$49,$00 - db $08,$00,$43,$00 - db $08,$08,$43,$20 - db $10,$00,$43,$40 - db $10,$08,$43,$60 + db $00, $00, $49, $00 + db $02, $08, $49, $00 + db $18, $00, $49, $00 + db $10, $10, $49, $00 + db $08, $00, $43, $00 + db $08, $08, $43, $20 + db $10, $00, $43, $40 + db $10, $08, $43, $60 FrameBlock5d: db $0b - db $00,$00,$49,$00 - db $18,$02,$49,$00 - db $14,$10,$49,$00 - db $08,$00,$43,$00 - db $00,$08,$43,$20 - db $10,$00,$43,$40 - db $10,$08,$43,$60 - db $04,$08,$43,$00 - db $04,$10,$43,$20 - db $0c,$08,$43,$40 - db $0c,$10,$43,$60 + db $00, $00, $49, $00 + db $18, $02, $49, $00 + db $14, $10, $49, $00 + db $08, $00, $43, $00 + db $00, $08, $43, $20 + db $10, $00, $43, $40 + db $10, $08, $43, $60 + db $04, $08, $43, $00 + db $04, $10, $43, $20 + db $0c, $08, $43, $40 + db $0c, $10, $43, $60 FrameBlock5e: db $0f - db $00,$08,$49,$00 - db $08,$10,$49,$00 - db $20,$00,$49,$00 - db $08,$00,$43,$00 - db $08,$08,$43,$20 - db $10,$00,$43,$40 - db $10,$08,$43,$60 - db $10,$10,$43,$00 - db $10,$18,$43,$20 - db $18,$10,$43,$40 - db $18,$18,$43,$60 - db $20,$08,$43,$00 - db $20,$10,$43,$20 - db $28,$08,$43,$40 - db $28,$10,$43,$60 + db $00, $08, $49, $00 + db $08, $10, $49, $00 + db $20, $00, $49, $00 + db $08, $00, $43, $00 + db $08, $08, $43, $20 + db $10, $00, $43, $40 + db $10, $08, $43, $60 + db $10, $10, $43, $00 + db $10, $18, $43, $20 + db $18, $10, $43, $40 + db $18, $18, $43, $60 + db $20, $08, $43, $00 + db $20, $10, $43, $20 + db $28, $08, $43, $40 + db $28, $10, $43, $60 FrameBlock5f: db $04 - db $00,$00,$49,$00 - db $00,$10,$49,$00 - db $00,$20,$49,$00 - db $00,$30,$49,$00 + db $00, $00, $49, $00 + db $00, $10, $49, $00 + db $00, $20, $49, $00 + db $00, $30, $49, $00 FrameBlock60: db $08 - db $00,$00,$49,$00 - db $00,$10,$49,$00 - db $00,$20,$49,$00 - db $00,$30,$49,$00 - db $08,$08,$49,$00 - db $08,$18,$49,$00 - db $08,$28,$49,$00 - db $08,$38,$49,$00 + db $00, $00, $49, $00 + db $00, $10, $49, $00 + db $00, $20, $49, $00 + db $00, $30, $49, $00 + db $08, $08, $49, $00 + db $08, $18, $49, $00 + db $08, $28, $49, $00 + db $08, $38, $49, $00 FrameBlock61: db $0c - db $00,$00,$49,$00 - db $00,$10,$49,$00 - db $00,$20,$49,$00 - db $00,$30,$49,$00 - db $08,$08,$49,$00 - db $08,$18,$49,$00 - db $08,$28,$49,$00 - db $08,$38,$49,$00 - db $10,$00,$49,$00 - db $10,$10,$49,$00 - db $10,$20,$49,$00 - db $10,$30,$49,$00 + db $00, $00, $49, $00 + db $00, $10, $49, $00 + db $00, $20, $49, $00 + db $00, $30, $49, $00 + db $08, $08, $49, $00 + db $08, $18, $49, $00 + db $08, $28, $49, $00 + db $08, $38, $49, $00 + db $10, $00, $49, $00 + db $10, $10, $49, $00 + db $10, $20, $49, $00 + db $10, $30, $49, $00 FrameBlock62: db $0f - db $00,$00,$49,$00 - db $00,$10,$49,$00 - db $00,$20,$49,$00 - db $00,$30,$49,$00 - db $08,$08,$49,$00 - db $08,$18,$49,$00 - db $08,$28,$49,$00 - db $08,$38,$49,$00 - db $10,$00,$49,$00 - db $10,$10,$49,$00 - db $10,$20,$49,$00 - db $10,$30,$49,$00 - db $18,$08,$49,$00 - db $18,$18,$49,$00 - db $18,$28,$49,$00 - db $18,$38,$49,$00 ; unused + db $00, $00, $49, $00 + db $00, $10, $49, $00 + db $00, $20, $49, $00 + db $00, $30, $49, $00 + db $08, $08, $49, $00 + db $08, $18, $49, $00 + db $08, $28, $49, $00 + db $08, $38, $49, $00 + db $10, $00, $49, $00 + db $10, $10, $49, $00 + db $10, $20, $49, $00 + db $10, $30, $49, $00 + db $18, $08, $49, $00 + db $18, $18, $49, $00 + db $18, $28, $49, $00 + db $18, $38, $49, $00 ; unused FrameBlock63: db $06 - db $10,$00,$26,$00 - db $10,$08,$27,$00 - db $08,$10,$26,$00 - db $08,$18,$27,$00 - db $00,$20,$26,$00 - db $00,$28,$27,$00 + db $10, $00, $26, $00 + db $10, $08, $27, $00 + db $08, $10, $26, $00 + db $08, $18, $27, $00 + db $00, $20, $26, $00 + db $00, $28, $27, $00 FrameBlock64: db $06 - db $18,$00,$27,$00 - db $10,$08,$26,$00 - db $10,$10,$27,$00 - db $08,$18,$26,$00 - db $08,$20,$27,$00 - db $00,$28,$26,$00 + db $18, $00, $27, $00 + db $10, $08, $26, $00 + db $10, $10, $27, $00 + db $08, $18, $26, $00 + db $08, $20, $27, $00 + db $00, $28, $26, $00 FrameBlock65: db $06 - db $00,$00,$1c,$00 - db $00,$08,$1d,$00 - db $10,$00,$1c,$00 - db $10,$08,$1d,$00 - db $20,$00,$1c,$00 - db $20,$08,$1d,$00 + db $00, $00, $1c, $00 + db $00, $08, $1d, $00 + db $10, $00, $1c, $00 + db $10, $08, $1d, $00 + db $20, $00, $1c, $00 + db $20, $08, $1d, $00 FrameBlock66: db $02 - db $00,$00,$03,$00 - db $08,$00,$13,$00 + db $00, $00, $03, $00 + db $08, $00, $13, $00 FrameBlock67: db $01 - db $00,$00,$03,$00 + db $00, $00, $03, $00 FrameBlock68: db $04 - db $00,$00,$03,$00 - db $00,$08,$03,$20 - db $08,$00,$13,$00 - db $08,$08,$13,$20 + db $00, $00, $03, $00 + db $00, $08, $03, $20 + db $08, $00, $13, $00 + db $08, $08, $13, $20 FrameBlock69: db $01 - db $00,$00,$06,$00 + db $00, $00, $06, $00 FrameBlock6a: db $08 - db $00,$00,$2e,$00 - db $00,$30,$2e,$20 - db $30,$00,$2e,$40 - db $30,$30,$2e,$60 - db $00,$18,$2f,$00 - db $30,$18,$2f,$40 - db $18,$00,$3e,$00 - db $18,$30,$3e,$20 + db $00, $00, $2e, $00 + db $00, $30, $2e, $20 + db $30, $00, $2e, $40 + db $30, $30, $2e, $60 + db $00, $18, $2f, $00 + db $30, $18, $2f, $40 + db $18, $00, $3e, $00 + db $18, $30, $3e, $20 FrameBlock6b: db $08 - db $00,$00,$2e,$00 - db $00,$20,$2e,$20 - db $20,$00,$2e,$40 - db $20,$20,$2e,$60 - db $00,$10,$2f,$00 - db $20,$10,$2f,$40 - db $10,$00,$3e,$00 - db $10,$20,$3e,$20 + db $00, $00, $2e, $00 + db $00, $20, $2e, $20 + db $20, $00, $2e, $40 + db $20, $20, $2e, $60 + db $00, $10, $2f, $00 + db $20, $10, $2f, $40 + db $10, $00, $3e, $00 + db $10, $20, $3e, $20 FrameBlock6c: db $08 - db $00,$00,$2e,$00 - db $00,$10,$2e,$20 - db $10,$00,$2e,$40 - db $10,$10,$2e,$60 - db $00,$08,$2f,$00 - db $10,$08,$2f,$40 - db $08,$00,$3e,$00 - db $08,$10,$3e,$20 + db $00, $00, $2e, $00 + db $00, $10, $2e, $20 + db $10, $00, $2e, $40 + db $10, $10, $2e, $60 + db $00, $08, $2f, $00 + db $10, $08, $2f, $40 + db $08, $00, $3e, $00 + db $08, $10, $3e, $20 FrameBlock6d: db $02 - db $00,$00,$1e,$00 - db $00,$08,$1f,$00 + db $00, $00, $1e, $00 + db $00, $08, $1f, $00 FrameBlock6e: db $04 - db $00,$00,$48,$00 - db $00,$08,$48,$20 - db $08,$00,$12,$00 - db $08,$08,$12,$20 + db $00, $00, $48, $00 + db $00, $08, $48, $20 + db $08, $00, $12, $00 + db $08, $08, $12, $20 FrameBlock6f: db $04 - db $00,$00,$4a,$00 - db $00,$08,$07,$00 - db $08,$00,$16,$00 - db $08,$08,$17,$00 + db $00, $00, $4a, $00 + db $00, $08, $07, $00 + db $08, $00, $16, $00 + db $08, $08, $17, $00 FrameBlock70: db $04 - db $00,$00,$07,$20 - db $00,$08,$4a,$20 - db $08,$00,$17,$20 - db $08,$08,$16,$20 + db $00, $00, $07, $20 + db $00, $08, $4a, $20 + db $08, $00, $17, $20 + db $08, $08, $16, $20 FrameBlock76: db $07 - db $00,$10,$2f,$00 - db $01,$08,$2f,$00 - db $01,$18,$2f,$00 - db $02,$00,$2e,$00 - db $02,$20,$2e,$20 - db $0a,$00,$3e,$00 - db $0a,$20,$3e,$20 + db $00, $10, $2f, $00 + db $01, $08, $2f, $00 + db $01, $18, $2f, $00 + db $02, $00, $2e, $00 + db $02, $20, $2e, $20 + db $0a, $00, $3e, $00 + db $0a, $20, $3e, $20 FrameBlock77: db $04 - db $00,$02,$4b,$00 - db $00,$0a,$4c,$00 - db $08,$00,$4c,$60 - db $08,$08,$4b,$60 + db $00, $02, $4b, $00 + db $00, $0a, $4c, $00 + db $08, $00, $4c, $60 + db $08, $08, $4b, $60 FrameBlock78: db $01 - db $00,$00,$4d,$00 + db $00, $00, $4d, $00 FrameBlock79: db $01 - db $00,$00,$4e,$00 + db $00, $00, $4e, $00 FrameBlockBaseCoords: - db $10,$68 - db $10,$70 - db $10,$78 - db $10,$80 - db $10,$88 - db $10,$90 - db $10,$98 - db $18,$68 - db $18,$70 - db $18,$78 - db $34,$28 - db $18,$80 - db $18,$88 - db $18,$98 - db $20,$68 - db $20,$70 - db $20,$78 - db $20,$80 - db $20,$88 - db $20,$90 - db $20,$98 - db $28,$68 - db $28,$70 - db $28,$78 - db $28,$80 - db $28,$88 - db $30,$68 - db $30,$70 - db $30,$78 - db $30,$80 - db $30,$90 - db $30,$98 - db $38,$68 - db $38,$78 - db $38,$80 - db $38,$88 - db $40,$68 - db $40,$70 - db $40,$78 - db $40,$80 - db $40,$88 - db $40,$98 - db $10,$60 - db $18,$60 - db $20,$60 - db $28,$60 - db $30,$60 - db $40,$60 - db $58,$28 - db $43,$38 - db $33,$48 - db $20,$58 - db $32,$78 - db $58,$58 - db $2C,$6C - db $34,$80 - db $48,$70 - db $42,$36 - db $38,$44 - db $40,$52 - db $48,$60 - db $3E,$6E - db $28,$7C - db $28,$8A - db $50,$3C - db $48,$50 - db $40,$64 - db $38,$38 - db $50,$30 - db $50,$38 - db $50,$40 - db $50,$48 - db $50,$50 - db $48,$58 - db $50,$44 - db $48,$48 - db $48,$4C - db $40,$50 - db $40,$54 - db $38,$58 - db $38,$5C - db $30,$64 - db $48,$40 - db $48,$39 - db $24,$88 - db $24,$70 - db $1C,$70 - db $1C,$88 - db $34,$68 - db $34,$88 - db $68,$50 - db $60,$50 - db $68,$60 - db $58,$50 - db $60,$60 - db $68,$40 - db $40,$40 - db $38,$40 - db $0B,$60 - db $44,$48 - db $40,$14 - db $48,$1C - db $50,$24 - db $4C,$24 - db $10,$62 - db $12,$62 - db $12,$60 - db $20,$72 - db $22,$72 - db $22,$70 - db $28,$62 - db $50,$0A - db $52,$0A - db $38,$30 - db $40,$48 - db $30,$48 - db $40,$30 - db $30,$40 - db $38,$48 - db $40,$4A - db $48,$4B - db $50,$4C - db $58,$4D - db $60,$4D - db $68,$4D - db $38,$10 - db $50,$10 - db $38,$28 - db $48,$18 - db $40,$20 - db $48,$20 - db $40,$3C - db $38,$50 - db $28,$64 - db $1C,$90 - db $24,$80 - db $2C,$70 - db $30,$38 - db $10,$50 - db $3C,$40 - db $40,$58 - db $30,$58 - db $58,$48 - db $50,$58 - db $48,$68 - db $40,$18 - db $28,$58 - db $40,$38 - db $48,$38 - db $08,$70 - db $44,$1C - db $3C,$58 - db $38,$60 - db $08,$60 - db $38,$70 - db $38,$6C - db $38,$64 - db $1C,$74 - db $2E,$74 - db $34,$50 - db $2F,$60 - db $31,$70 - db $4C,$30 - db $3B,$40 - db $2D,$50 - db $26,$60 - db $2D,$70 - db $28,$50 - db $1E,$60 - db $29,$70 - db $16,$60 - db $14,$58 - db $12,$54 - db $14,$50 - db $18,$4C - db $1C,$48 - db $48,$28 + db $10, $68 + db $10, $70 + db $10, $78 + db $10, $80 + db $10, $88 + db $10, $90 + db $10, $98 + db $18, $68 + db $18, $70 + db $18, $78 + db $34, $28 + db $18, $80 + db $18, $88 + db $18, $98 + db $20, $68 + db $20, $70 + db $20, $78 + db $20, $80 + db $20, $88 + db $20, $90 + db $20, $98 + db $28, $68 + db $28, $70 + db $28, $78 + db $28, $80 + db $28, $88 + db $30, $68 + db $30, $70 + db $30, $78 + db $30, $80 + db $30, $90 + db $30, $98 + db $38, $68 + db $38, $78 + db $38, $80 + db $38, $88 + db $40, $68 + db $40, $70 + db $40, $78 + db $40, $80 + db $40, $88 + db $40, $98 + db $10, $60 + db $18, $60 + db $20, $60 + db $28, $60 + db $30, $60 + db $40, $60 + db $58, $28 + db $43, $38 + db $33, $48 + db $20, $58 + db $32, $78 + db $58, $58 + db $2C, $6C + db $34, $80 + db $48, $70 + db $42, $36 + db $38, $44 + db $40, $52 + db $48, $60 + db $3E, $6E + db $28, $7C + db $28, $8A + db $50, $3C + db $48, $50 + db $40, $64 + db $38, $38 + db $50, $30 + db $50, $38 + db $50, $40 + db $50, $48 + db $50, $50 + db $48, $58 + db $50, $44 + db $48, $48 + db $48, $4C + db $40, $50 + db $40, $54 + db $38, $58 + db $38, $5C + db $30, $64 + db $48, $40 + db $48, $39 + db $24, $88 + db $24, $70 + db $1C, $70 + db $1C, $88 + db $34, $68 + db $34, $88 + db $68, $50 + db $60, $50 + db $68, $60 + db $58, $50 + db $60, $60 + db $68, $40 + db $40, $40 + db $38, $40 + db $0B, $60 + db $44, $48 + db $40, $14 + db $48, $1C + db $50, $24 + db $4C, $24 + db $10, $62 + db $12, $62 + db $12, $60 + db $20, $72 + db $22, $72 + db $22, $70 + db $28, $62 + db $50, $0A + db $52, $0A + db $38, $30 + db $40, $48 + db $30, $48 + db $40, $30 + db $30, $40 + db $38, $48 + db $40, $4A + db $48, $4B + db $50, $4C + db $58, $4D + db $60, $4D + db $68, $4D + db $38, $10 + db $50, $10 + db $38, $28 + db $48, $18 + db $40, $20 + db $48, $20 + db $40, $3C + db $38, $50 + db $28, $64 + db $1C, $90 + db $24, $80 + db $2C, $70 + db $30, $38 + db $10, $50 + db $3C, $40 + db $40, $58 + db $30, $58 + db $58, $48 + db $50, $58 + db $48, $68 + db $40, $18 + db $28, $58 + db $40, $38 + db $48, $38 + db $08, $70 + db $44, $1C + db $3C, $58 + db $38, $60 + db $08, $60 + db $38, $70 + db $38, $6C + db $38, $64 + db $1C, $74 + db $2E, $74 + db $34, $50 + db $2F, $60 + db $31, $70 + db $4C, $30 + db $3B, $40 + db $2D, $50 + db $26, $60 + db $2D, $70 + db $28, $50 + db $1E, $60 + db $29, $70 + db $16, $60 + db $14, $58 + db $12, $54 + db $14, $50 + db $18, $4C + db $1C, $48 + db $48, $28 FrameBlock00: - db $00,$00 + db $00, $00 diff --git a/data/moves/effects_pointers.asm b/data/moves/effects_pointers.asm index 02f6e5c6..9858e82e 100644 --- a/data/moves/effects_pointers.asm +++ b/data/moves/effects_pointers.asm @@ -1,5 +1,5 @@ MoveEffectPointerTable: - dw SleepEffect ; unused effect + dw SleepEffect ; EFFECT_01 dw PoisonEffect ; POISON_SIDE_EFFECT1 dw DrainHPEffect ; DRAIN_HP_EFFECT dw FreezeBurnParalyzeEffect ; BURN_SIDE_EFFECT1 @@ -28,14 +28,14 @@ MoveEffectPointerTable: dw ThrashPetalDanceEffect ; THRASH_PETAL_DANCE_EFFECT dw SwitchAndTeleportEffect ; SWITCH_AND_TELEPORT_EFFECT dw TwoToFiveAttacksEffect ; TWO_TO_FIVE_ATTACKS_EFFECT - dw TwoToFiveAttacksEffect ; unused effect - dw FlinchSideEffect ; FLINCH_SIDE_EFFECT1 + dw TwoToFiveAttacksEffect ; EFFECT_1E + dw FlinchSideEffect ; FLINCH_SIDE_EFFECT1 dw SleepEffect ; SLEEP_EFFECT dw PoisonEffect ; POISON_SIDE_EFFECT2 dw FreezeBurnParalyzeEffect ; BURN_SIDE_EFFECT2 dw FreezeBurnParalyzeEffect ; unused effect dw FreezeBurnParalyzeEffect ; PARALYZE_SIDE_EFFECT2 - dw FlinchSideEffect ; FLINCH_SIDE_EFFECT2 + dw FlinchSideEffect ; FLINCH_SIDE_EFFECT2 dw OneHitKOEffect ; OHKO_EFFECT dw ChargeEffect ; CHARGE_EFFECT dw NULL ; SUPER_FANG_EFFECT diff --git a/data/moves/grammar.asm b/data/moves/grammar.asm index 8113ab7c..bc3d1dc6 100644 --- a/data/moves/grammar.asm +++ b/data/moves/grammar.asm @@ -1,14 +1,72 @@ ExclamationPointMoveSets: - db SWORDS_DANCE, GROWTH - db $00 - db RECOVER, BIDE, SELFDESTRUCT, AMNESIA - db $00 - db MEDITATE, AGILITY, TELEPORT, MIMIC, DOUBLE_TEAM, BARRAGE - db $00 - db POUND, SCRATCH, VICEGRIP, WING_ATTACK, FLY, BIND, SLAM, HORN_ATTACK, BODY_SLAM - db WRAP, THRASH, TAIL_WHIP, LEER, BITE, GROWL, ROAR, SING, PECK, COUNTER - db STRENGTH, ABSORB, STRING_SHOT, EARTHQUAKE, FISSURE, DIG, TOXIC, SCREECH, HARDEN - db MINIMIZE, WITHDRAW, DEFENSE_CURL, METRONOME, LICK, CLAMP, CONSTRICT, POISON_GAS - db LEECH_LIFE, BUBBLE, FLASH, SPLASH, ACID_ARMOR, FURY_SWIPES, REST, SHARPEN, SLASH, SUBSTITUTE - db $00 - db $FF ; terminator +; set 0 + db SWORDS_DANCE + db GROWTH + db 0 ; end set + +; set 1 + db RECOVER + db BIDE + db SELFDESTRUCT + db AMNESIA + db 0 ; end set + +; set 2 + db MEDITATE + db AGILITY + db TELEPORT + db MIMIC + db DOUBLE_TEAM + db BARRAGE + db 0 ; end set + +; set 3 + db POUND + db SCRATCH + db VICEGRIP + db WING_ATTACK + db FLY + db BIND + db SLAM + db HORN_ATTACK + db BODY_SLAM + db WRAP + db THRASH + db TAIL_WHIP + db LEER + db BITE + db GROWL + db ROAR + db SING + db PECK + db COUNTER + db STRENGTH + db ABSORB + db STRING_SHOT + db EARTHQUAKE + db FISSURE + db DIG + db TOXIC + db SCREECH + db HARDEN + db MINIMIZE + db WITHDRAW + db DEFENSE_CURL + db METRONOME + db LICK + db CLAMP + db CONSTRICT + db POISON_GAS + db LEECH_LIFE + db BUBBLE + db FLASH + db SPLASH + db ACID_ARMOR + db FURY_SWIPES + db REST + db SHARPEN + db SLASH + db SUBSTITUTE + db 0 ; end set + + db -1 ; end diff --git a/data/moves/names.asm b/data/moves/names.asm index f8706ee3..cbb1a322 100644 --- a/data/moves/names.asm +++ b/data/moves/names.asm @@ -164,4 +164,3 @@ MoveNames:: db "SLASH@" db "SUBSTITUTE@" db "STRUGGLE@" - diff --git a/data/moves/sfx.asm b/data/moves/sfx.asm index 28ad0b63..c1f12084 100644 --- a/data/moves/sfx.asm +++ b/data/moves/sfx.asm @@ -1,168 +1,168 @@ MoveSoundTable: ; ID, pitch mod, tempo mod - db SFX_POUND, $00,$80 ; POUND - db SFX_BATTLE_0C, $10,$80 ; KARATE_CHOP - db SFX_DOUBLESLAP, $00,$80 ; DOUBLESLAP - db SFX_BATTLE_0B, $01,$80 ; COMET_PUNCH - db SFX_BATTLE_0D, $00,$40 ; MEGA_PUNCH - db SFX_SILPH_SCOPE, $00,$ff ; PAY_DAY - db SFX_BATTLE_0D, $10,$60 ; FIRE_PUNCH - db SFX_BATTLE_0D, $20,$80 ; ICE_PUNCH - db SFX_BATTLE_0D, $00,$a0 ; THUNDERPUNCH - db SFX_DAMAGE, $00,$80 ; SCRATCH - db SFX_BATTLE_0F, $20,$40 ; VICEGRIP - db SFX_BATTLE_0F, $00,$80 ; GUILLOTINE - db SFX_BATTLE_0E, $00,$a0 ; RAZOR_WIND - db SFX_NOT_VERY_EFFECTIVE,$10,$c0 ; SWORDS_DANCE - db SFX_NOT_VERY_EFFECTIVE,$00,$a0 ; CUT - db SFX_BATTLE_12, $00,$c0 ; GUST - db SFX_BATTLE_12, $10,$a0 ; WING_ATTACK - db SFX_BATTLE_13, $00,$e0 ; WHIRLWIND - db SFX_NOT_VERY_EFFECTIVE,$20,$c0 ; FLY - db SFX_BATTLE_14, $00,$80 ; BIND - db SFX_BATTLE_22, $00,$80 ; SLAM - db SFX_VINE_WHIP, $01,$80 ; VINE_WHIP - db SFX_BATTLE_20, $00,$80 ; STOMP - db SFX_BATTLE_17, $f0,$40 ; DOUBLE_KICK - db SFX_SUPER_EFFECTIVE, $00,$80 ; MEGA_KICK - db SFX_BATTLE_17, $00,$80 ; JUMP_KICK - db SFX_BATTLE_21, $10,$80 ; ROLLING_KICK - db SFX_BATTLE_1B, $01,$a0 ; SAND_ATTACK - db SFX_BATTLE_18, $00,$80 ; HEADBUTT - db SFX_BATTLE_1E, $00,$60 ; HORN_ATTACK - db SFX_BATTLE_1E, $01,$40 ; FURY_ATTACK - db SFX_HORN_DRILL, $00,$a0 ; HORN_DRILL - db SFX_SUPER_EFFECTIVE, $10,$a0 ; TACKLE - db SFX_BATTLE_20, $00,$c0 ; BODY_SLAM - db SFX_BATTLE_14, $10,$60 ; WRAP - db SFX_SUPER_EFFECTIVE, $00,$a0 ; TAKE_DOWN - db SFX_BATTLE_22, $11,$c0 ; THRASH - db SFX_SUPER_EFFECTIVE, $20,$c0 ; DOUBLE_EDGE - db SFX_BATTLE_21, $00,$80 ; TAIL_WHIP - db SFX_BATTLE_1B, $00,$80 ; POISON_STING - db SFX_BATTLE_1B, $20,$c0 ; TWINEEDLE - db SFX_BATTLE_19, $00,$80 ; PIN_MISSILE - db SFX_BATTLE_31, $ff,$40 ; LEER - db SFX_BATTLE_1E, $00,$80 ; BITE - db SFX_BATTLE_0B, $00,$c0 ; GROWL - db SFX_BATTLE_0B, $00,$40 ; ROAR - db SFX_BATTLE_35, $00,$80 ; SING - db SFX_BATTLE_27, $40,$60 ; SUPERSONIC - db SFX_BATTLE_27, $00,$80 ; SONICBOOM - db SFX_BATTLE_27, $ff,$40 ; DISABLE - db SFX_BATTLE_2A, $80,$c0 ; ACID - db SFX_BATTLE_19, $10,$a0 ; EMBER - db SFX_BATTLE_19, $21,$e0 ; FLAMETHROWER - db SFX_BATTLE_29, $00,$80 ; MIST - db SFX_BATTLE_24, $20,$60 ; WATER_GUN - db SFX_BATTLE_2A, $00,$80 ; HYDRO_PUMP - db SFX_BATTLE_2C, $00,$80 ; SURF - db SFX_BATTLE_28, $40,$80 ; ICE_BEAM - db SFX_BATTLE_29, $f0,$e0 ; BLIZZARD - db SFX_PSYBEAM, $00,$80 ; PSYBEAM - db SFX_BATTLE_2A, $f0,$60 ; BUBBLEBEAM - db SFX_BATTLE_28, $00,$80 ; AURORA_BEAM - db SFX_BATTLE_36, $00,$80 ; HYPER_BEAM - db SFX_PECK, $01,$a0 ; PECK - db SFX_BATTLE_13, $f0,$20 ; DRILL_PECK - db SFX_BATTLE_23, $01,$c0 ; SUBMISSION - db SFX_BATTLE_23, $00,$80 ; LOW_KICK - db SFX_SUPER_EFFECTIVE, $00,$e0 ; COUNTER - db SFX_BATTLE_26, $01,$60 ; SEISMIC_TOSS - db SFX_BATTLE_26, $20,$40 ; STRENGTH - db SFX_BATTLE_24, $00,$80 ; ABSORB - db SFX_BATTLE_24, $40,$c0 ; MEGA_DRAIN - db SFX_BATTLE_1B, $03,$60 ; LEECH_SEED - db SFX_BATTLE_25, $11,$e0 ; GROWTH - db SFX_BATTLE_12, $20,$e0 ; RAZOR_LEAF - db SFX_BATTLE_2E, $00,$80 ; SOLARBEAM - db SFX_BATTLE_1C, $00,$80 ; POISONPOWDER - db SFX_BATTLE_1C, $11,$a0 ; STUN_SPORE - db SFX_BATTLE_1C, $01,$c0 ; SLEEP_POWDER - db SFX_BATTLE_13, $14,$c0 ; PETAL_DANCE - db SFX_BATTLE_1B, $02,$a0 ; STRING_SHOT - db SFX_BATTLE_29, $f0,$80 ; DRAGON_RAGE - db SFX_BATTLE_29, $20,$c0 ; FIRE_SPIN - db SFX_BATTLE_2F, $00,$20 ; THUNDERSHOCK - db SFX_BATTLE_2F, $20,$80 ; THUNDERBOLT - db SFX_BATTLE_2E, $12,$60 ; THUNDER_WAVE - db SFX_BATTLE_26, $00,$80 ; THUNDER - db SFX_BATTLE_14, $01,$e0 ; ROCK_THROW - db SFX_BATTLE_29, $0f,$e0 ; EARTHQUAKE - db SFX_BATTLE_29, $11,$20 ; FISSURE - db SFX_DAMAGE, $10,$40 ; DIG - db SFX_BATTLE_0F, $10,$c0 ; TOXIC - db SFX_BATTLE_14, $00,$20 ; CONFUSION - db SFX_PSYCHIC_M, $00,$80 ; PSYCHIC_M - db SFX_BATTLE_35, $11,$18 ; HYPNOSIS - db SFX_BATTLE_09, $20,$c0 ; MEDITATE - db SFX_FAINT_FALL, $20,$c0 ; AGILITY - db SFX_BATTLE_25, $00,$10 ; QUICK_ATTACK - db SFX_BATTLE_26, $f0,$20 ; RAGE - db SFX_BATTLE_33, $f0,$c0 ; TELEPORT - db SFX_NOT_VERY_EFFECTIVE,$f0,$e0 ; NIGHT_SHADE - db SFX_BATTLE_09, $f0,$40 ; MIMIC - db SFX_BATTLE_31, $00,$80 ; SCREECH - db SFX_BATTLE_33, $80,$40 ; DOUBLE_TEAM - db SFX_BATTLE_33, $00,$80 ; RECOVER - db SFX_BATTLE_14, $11,$20 ; HARDEN - db SFX_BATTLE_14, $22,$10 ; MINIMIZE - db SFX_BATTLE_1B, $f1,$ff ; SMOKESCREEN - db SFX_BATTLE_13, $f1,$ff ; CONFUSE_RAY - db SFX_BATTLE_14, $33,$30 ; WITHDRAW - db SFX_BATTLE_32, $40,$c0 ; DEFENSE_CURL - db SFX_BATTLE_0E, $20,$20 ; BARRIER - db SFX_BATTLE_0E, $f0,$10 ; LIGHT_SCREEN - db SFX_BATTLE_0F, $f8,$10 ; HAZE - db SFX_NOT_VERY_EFFECTIVE,$f0,$10 ; REFLECT - db SFX_BATTLE_25, $00,$80 ; FOCUS_ENERGY - db SFX_BATTLE_18, $00,$c0 ; BIDE - db SFX_BATTLE_32, $c0,$ff ; METRONOME - db SFX_BATTLE_09, $f2,$20 ; MIRROR_MOVE - db SFX_BATTLE_34, $00,$80 ; SELFDESTRUCT - db SFX_BATTLE_34, $00,$40 ; EGG_BOMB - db SFX_BATTLE_09, $00,$40 ; LICK - db SFX_NOT_VERY_EFFECTIVE,$10,$ff ; SMOG - db SFX_BATTLE_2A, $20,$20 ; SLUDGE - db SFX_BATTLE_32, $00,$80 ; BONE_CLUB - db SFX_BATTLE_29, $1f,$20 ; FIRE_BLAST - db SFX_BATTLE_25, $2f,$80 ; WATERFALL - db SFX_BATTLE_0F, $1f,$ff ; CLAMP - db SFX_BATTLE_2B, $1f,$60 ; SWIFT - db SFX_BATTLE_26, $1e,$20 ; SKULL_BASH - db SFX_BATTLE_26, $1f,$18 ; SPIKE_CANNON - db SFX_BATTLE_14, $0f,$80 ; CONSTRICT - db SFX_BATTLE_09, $f8,$10 ; AMNESIA - db SFX_FAINT_FALL, $18,$20 ; KINESIS - db SFX_BATTLE_32, $08,$40 ; SOFTBOILED - db SFX_BATTLE_17, $01,$e0 ; HI_JUMP_KICK - db SFX_NOT_VERY_EFFECTIVE,$09,$ff ; GLARE - db SFX_BATTLE_35, $42,$01 ; DREAM_EATER - db SFX_BATTLE_1C, $00,$ff ; POISON_GAS - db SFX_BATTLE_32, $08,$e0 ; BARRAGE - db SFX_BATTLE_24, $00,$80 ; LEECH_LIFE - db SFX_BATTLE_09, $88,$10 ; LOVELY_KISS - db SFX_BATTLE_25, $48,$ff ; SKY_ATTACK - db SFX_FAINT_FALL, $ff,$ff ; TRANSFORM - db SFX_BATTLE_24, $ff,$10 ; BUBBLE - db SFX_FAINT_FALL, $ff,$04 ; DIZZY_PUNCH - db SFX_BATTLE_1C, $01,$ff ; SPORE - db SFX_BATTLE_13, $f8,$ff ; FLASH - db SFX_BATTLE_0C, $f0,$f0 ; PSYWAVE - db SFX_BATTLE_0F, $08,$10 ; SPLASH - db SFX_BATTLE_0D, $f0,$ff ; ACID_ARMOR - db SFX_SUPER_EFFECTIVE, $f0,$ff ; CRABHAMMER - db SFX_BATTLE_34, $10,$ff ; EXPLOSION - db SFX_BATTLE_0E, $f0,$20 ; FURY_SWIPES - db SFX_BATTLE_2B, $f0,$60 ; BONEMERANG - db SFX_BATTLE_21, $12,$10 ; REST - db SFX_BATTLE_36, $f0,$20 ; ROCK_SLIDE - db SFX_BATTLE_1E, $12,$ff ; HYPER_FANG - db SFX_BATTLE_31, $80,$04 ; SHARPEN - db SFX_BATTLE_33, $f0,$10 ; CONVERSION - db SFX_BATTLE_29, $f8,$ff ; TRI_ATTACK - db SFX_BATTLE_26, $f0,$ff ; SUPER_FANG - db SFX_NOT_VERY_EFFECTIVE,$01,$ff ; SLASH - db SFX_BATTLE_2C, $d8,$04 ; SUBSTITUTE - db SFX_BATTLE_0B, $00,$80 ; STRUGGLE - db SFX_BATTLE_0B, $00,$80 + db SFX_POUND, $00, $80 ; POUND + db SFX_BATTLE_0C, $10, $80 ; KARATE_CHOP + db SFX_DOUBLESLAP, $00, $80 ; DOUBLESLAP + db SFX_BATTLE_0B, $01, $80 ; COMET_PUNCH + db SFX_BATTLE_0D, $00, $40 ; MEGA_PUNCH + db SFX_SILPH_SCOPE, $00, $ff ; PAY_DAY + db SFX_BATTLE_0D, $10, $60 ; FIRE_PUNCH + db SFX_BATTLE_0D, $20, $80 ; ICE_PUNCH + db SFX_BATTLE_0D, $00, $a0 ; THUNDERPUNCH + db SFX_DAMAGE, $00, $80 ; SCRATCH + db SFX_BATTLE_0F, $20, $40 ; VICEGRIP + db SFX_BATTLE_0F, $00, $80 ; GUILLOTINE + db SFX_BATTLE_0E, $00, $a0 ; RAZOR_WIND + db SFX_NOT_VERY_EFFECTIVE, $10, $c0 ; SWORDS_DANCE + db SFX_NOT_VERY_EFFECTIVE, $00, $a0 ; CUT + db SFX_BATTLE_12, $00, $c0 ; GUST + db SFX_BATTLE_12, $10, $a0 ; WING_ATTACK + db SFX_BATTLE_13, $00, $e0 ; WHIRLWIND + db SFX_NOT_VERY_EFFECTIVE, $20, $c0 ; FLY + db SFX_BATTLE_14, $00, $80 ; BIND + db SFX_BATTLE_22, $00, $80 ; SLAM + db SFX_VINE_WHIP, $01, $80 ; VINE_WHIP + db SFX_BATTLE_20, $00, $80 ; STOMP + db SFX_BATTLE_17, $f0, $40 ; DOUBLE_KICK + db SFX_SUPER_EFFECTIVE, $00, $80 ; MEGA_KICK + db SFX_BATTLE_17, $00, $80 ; JUMP_KICK + db SFX_BATTLE_21, $10, $80 ; ROLLING_KICK + db SFX_BATTLE_1B, $01, $a0 ; SAND_ATTACK + db SFX_BATTLE_18, $00, $80 ; HEADBUTT + db SFX_BATTLE_1E, $00, $60 ; HORN_ATTACK + db SFX_BATTLE_1E, $01, $40 ; FURY_ATTACK + db SFX_HORN_DRILL, $00, $a0 ; HORN_DRILL + db SFX_SUPER_EFFECTIVE, $10, $a0 ; TACKLE + db SFX_BATTLE_20, $00, $c0 ; BODY_SLAM + db SFX_BATTLE_14, $10, $60 ; WRAP + db SFX_SUPER_EFFECTIVE, $00, $a0 ; TAKE_DOWN + db SFX_BATTLE_22, $11, $c0 ; THRASH + db SFX_SUPER_EFFECTIVE, $20, $c0 ; DOUBLE_EDGE + db SFX_BATTLE_21, $00, $80 ; TAIL_WHIP + db SFX_BATTLE_1B, $00, $80 ; POISON_STING + db SFX_BATTLE_1B, $20, $c0 ; TWINEEDLE + db SFX_BATTLE_19, $00, $80 ; PIN_MISSILE + db SFX_BATTLE_31, $ff, $40 ; LEER + db SFX_BATTLE_1E, $00, $80 ; BITE + db SFX_BATTLE_0B, $00, $c0 ; GROWL + db SFX_BATTLE_0B, $00, $40 ; ROAR + db SFX_BATTLE_35, $00, $80 ; SING + db SFX_BATTLE_27, $40, $60 ; SUPERSONIC + db SFX_BATTLE_27, $00, $80 ; SONICBOOM + db SFX_BATTLE_27, $ff, $40 ; DISABLE + db SFX_BATTLE_2A, $80, $c0 ; ACID + db SFX_BATTLE_19, $10, $a0 ; EMBER + db SFX_BATTLE_19, $21, $e0 ; FLAMETHROWER + db SFX_BATTLE_29, $00, $80 ; MIST + db SFX_BATTLE_24, $20, $60 ; WATER_GUN + db SFX_BATTLE_2A, $00, $80 ; HYDRO_PUMP + db SFX_BATTLE_2C, $00, $80 ; SURF + db SFX_BATTLE_28, $40, $80 ; ICE_BEAM + db SFX_BATTLE_29, $f0, $e0 ; BLIZZARD + db SFX_PSYBEAM, $00, $80 ; PSYBEAM + db SFX_BATTLE_2A, $f0, $60 ; BUBBLEBEAM + db SFX_BATTLE_28, $00, $80 ; AURORA_BEAM + db SFX_BATTLE_36, $00, $80 ; HYPER_BEAM + db SFX_PECK, $01, $a0 ; PECK + db SFX_BATTLE_13, $f0, $20 ; DRILL_PECK + db SFX_BATTLE_23, $01, $c0 ; SUBMISSION + db SFX_BATTLE_23, $00, $80 ; LOW_KICK + db SFX_SUPER_EFFECTIVE, $00, $e0 ; COUNTER + db SFX_BATTLE_26, $01, $60 ; SEISMIC_TOSS + db SFX_BATTLE_26, $20, $40 ; STRENGTH + db SFX_BATTLE_24, $00, $80 ; ABSORB + db SFX_BATTLE_24, $40, $c0 ; MEGA_DRAIN + db SFX_BATTLE_1B, $03, $60 ; LEECH_SEED + db SFX_BATTLE_25, $11, $e0 ; GROWTH + db SFX_BATTLE_12, $20, $e0 ; RAZOR_LEAF + db SFX_BATTLE_2E, $00, $80 ; SOLARBEAM + db SFX_BATTLE_1C, $00, $80 ; POISONPOWDER + db SFX_BATTLE_1C, $11, $a0 ; STUN_SPORE + db SFX_BATTLE_1C, $01, $c0 ; SLEEP_POWDER + db SFX_BATTLE_13, $14, $c0 ; PETAL_DANCE + db SFX_BATTLE_1B, $02, $a0 ; STRING_SHOT + db SFX_BATTLE_29, $f0, $80 ; DRAGON_RAGE + db SFX_BATTLE_29, $20, $c0 ; FIRE_SPIN + db SFX_BATTLE_2F, $00, $20 ; THUNDERSHOCK + db SFX_BATTLE_2F, $20, $80 ; THUNDERBOLT + db SFX_BATTLE_2E, $12, $60 ; THUNDER_WAVE + db SFX_BATTLE_26, $00, $80 ; THUNDER + db SFX_BATTLE_14, $01, $e0 ; ROCK_THROW + db SFX_BATTLE_29, $0f, $e0 ; EARTHQUAKE + db SFX_BATTLE_29, $11, $20 ; FISSURE + db SFX_DAMAGE, $10, $40 ; DIG + db SFX_BATTLE_0F, $10, $c0 ; TOXIC + db SFX_BATTLE_14, $00, $20 ; CONFUSION + db SFX_PSYCHIC_M, $00, $80 ; PSYCHIC_M + db SFX_BATTLE_35, $11, $18 ; HYPNOSIS + db SFX_BATTLE_09, $20, $c0 ; MEDITATE + db SFX_FAINT_FALL, $20, $c0 ; AGILITY + db SFX_BATTLE_25, $00, $10 ; QUICK_ATTACK + db SFX_BATTLE_26, $f0, $20 ; RAGE + db SFX_BATTLE_33, $f0, $c0 ; TELEPORT + db SFX_NOT_VERY_EFFECTIVE, $f0, $e0 ; NIGHT_SHADE + db SFX_BATTLE_09, $f0, $40 ; MIMIC + db SFX_BATTLE_31, $00, $80 ; SCREECH + db SFX_BATTLE_33, $80, $40 ; DOUBLE_TEAM + db SFX_BATTLE_33, $00, $80 ; RECOVER + db SFX_BATTLE_14, $11, $20 ; HARDEN + db SFX_BATTLE_14, $22, $10 ; MINIMIZE + db SFX_BATTLE_1B, $f1, $ff ; SMOKESCREEN + db SFX_BATTLE_13, $f1, $ff ; CONFUSE_RAY + db SFX_BATTLE_14, $33, $30 ; WITHDRAW + db SFX_BATTLE_32, $40, $c0 ; DEFENSE_CURL + db SFX_BATTLE_0E, $20, $20 ; BARRIER + db SFX_BATTLE_0E, $f0, $10 ; LIGHT_SCREEN + db SFX_BATTLE_0F, $f8, $10 ; HAZE + db SFX_NOT_VERY_EFFECTIVE, $f0, $10 ; REFLECT + db SFX_BATTLE_25, $00, $80 ; FOCUS_ENERGY + db SFX_BATTLE_18, $00, $c0 ; BIDE + db SFX_BATTLE_32, $c0, $ff ; METRONOME + db SFX_BATTLE_09, $f2, $20 ; MIRROR_MOVE + db SFX_BATTLE_34, $00, $80 ; SELFDESTRUCT + db SFX_BATTLE_34, $00, $40 ; EGG_BOMB + db SFX_BATTLE_09, $00, $40 ; LICK + db SFX_NOT_VERY_EFFECTIVE, $10, $ff ; SMOG + db SFX_BATTLE_2A, $20, $20 ; SLUDGE + db SFX_BATTLE_32, $00, $80 ; BONE_CLUB + db SFX_BATTLE_29, $1f, $20 ; FIRE_BLAST + db SFX_BATTLE_25, $2f, $80 ; WATERFALL + db SFX_BATTLE_0F, $1f, $ff ; CLAMP + db SFX_BATTLE_2B, $1f, $60 ; SWIFT + db SFX_BATTLE_26, $1e, $20 ; SKULL_BASH + db SFX_BATTLE_26, $1f, $18 ; SPIKE_CANNON + db SFX_BATTLE_14, $0f, $80 ; CONSTRICT + db SFX_BATTLE_09, $f8, $10 ; AMNESIA + db SFX_FAINT_FALL, $18, $20 ; KINESIS + db SFX_BATTLE_32, $08, $40 ; SOFTBOILED + db SFX_BATTLE_17, $01, $e0 ; HI_JUMP_KICK + db SFX_NOT_VERY_EFFECTIVE, $09, $ff ; GLARE + db SFX_BATTLE_35, $42, $01 ; DREAM_EATER + db SFX_BATTLE_1C, $00, $ff ; POISON_GAS + db SFX_BATTLE_32, $08, $e0 ; BARRAGE + db SFX_BATTLE_24, $00, $80 ; LEECH_LIFE + db SFX_BATTLE_09, $88, $10 ; LOVELY_KISS + db SFX_BATTLE_25, $48, $ff ; SKY_ATTACK + db SFX_FAINT_FALL, $ff, $ff ; TRANSFORM + db SFX_BATTLE_24, $ff, $10 ; BUBBLE + db SFX_FAINT_FALL, $ff, $04 ; DIZZY_PUNCH + db SFX_BATTLE_1C, $01, $ff ; SPORE + db SFX_BATTLE_13, $f8, $ff ; FLASH + db SFX_BATTLE_0C, $f0, $f0 ; PSYWAVE + db SFX_BATTLE_0F, $08, $10 ; SPLASH + db SFX_BATTLE_0D, $f0, $ff ; ACID_ARMOR + db SFX_SUPER_EFFECTIVE, $f0, $ff ; CRABHAMMER + db SFX_BATTLE_34, $10, $ff ; EXPLOSION + db SFX_BATTLE_0E, $f0, $20 ; FURY_SWIPES + db SFX_BATTLE_2B, $f0, $60 ; BONEMERANG + db SFX_BATTLE_21, $12, $10 ; REST + db SFX_BATTLE_36, $f0, $20 ; ROCK_SLIDE + db SFX_BATTLE_1E, $12, $ff ; HYPER_FANG + db SFX_BATTLE_31, $80, $04 ; SHARPEN + db SFX_BATTLE_33, $f0, $10 ; CONVERSION + db SFX_BATTLE_29, $f8, $ff ; TRI_ATTACK + db SFX_BATTLE_26, $f0, $ff ; SUPER_FANG + db SFX_NOT_VERY_EFFECTIVE, $01, $ff ; SLASH + db SFX_BATTLE_2C, $d8, $04 ; SUBSTITUTE + db SFX_BATTLE_0B, $00, $80 ; STRUGGLE + db SFX_BATTLE_0B, $00, $80 diff --git a/data/pokemon/base_stats/abra.asm b/data/pokemon/base_stats/abra.asm index 97009888..3c69c7c7 100644 --- a/data/pokemon/base_stats/abra.asm +++ b/data/pokemon/base_stats/abra.asm @@ -11,7 +11,7 @@ dw AbraPicFront, AbraPicBack db TELEPORT, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset - db 3 ; growth rate + db GROWTH_MEDIUM_SLOW ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ diff --git a/data/pokemon/base_stats/aerodactyl.asm b/data/pokemon/base_stats/aerodactyl.asm index c71c39e7..aad1aff5 100644 --- a/data/pokemon/base_stats/aerodactyl.asm +++ b/data/pokemon/base_stats/aerodactyl.asm @@ -11,7 +11,7 @@ dw AerodactylPicFront, AerodactylPicBack db WING_ATTACK, AGILITY, NO_MOVE, NO_MOVE ; level 1 learnset - db 5 ; growth rate + db GROWTH_SLOW ; growth rate ; tm/hm learnset tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/alakazam.asm b/data/pokemon/base_stats/alakazam.asm index dd1fe126..0064416f 100644 --- a/data/pokemon/base_stats/alakazam.asm +++ b/data/pokemon/base_stats/alakazam.asm @@ -11,7 +11,7 @@ dw AlakazamPicFront, AlakazamPicBack db TELEPORT, CONFUSION, DISABLE, NO_MOVE ; level 1 learnset - db 3 ; growth rate + db GROWTH_MEDIUM_SLOW ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ diff --git a/data/pokemon/base_stats/arbok.asm b/data/pokemon/base_stats/arbok.asm index 50abbb5f..c34316ce 100644 --- a/data/pokemon/base_stats/arbok.asm +++ b/data/pokemon/base_stats/arbok.asm @@ -11,7 +11,7 @@ dw ArbokPicFront, ArbokPicBack db WRAP, LEER, POISON_STING, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, \ diff --git a/data/pokemon/base_stats/arcanine.asm b/data/pokemon/base_stats/arcanine.asm index 9628fd96..d21ec31b 100644 --- a/data/pokemon/base_stats/arcanine.asm +++ b/data/pokemon/base_stats/arcanine.asm @@ -11,7 +11,7 @@ dw ArcaninePicFront, ArcaninePicBack db ROAR, EMBER, LEER, TAKE_DOWN ; level 1 learnset - db 5 ; growth rate + db GROWTH_SLOW ; growth rate ; tm/hm learnset tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, \ diff --git a/data/pokemon/base_stats/articuno.asm b/data/pokemon/base_stats/articuno.asm index 67f61110..c40d5326 100644 --- a/data/pokemon/base_stats/articuno.asm +++ b/data/pokemon/base_stats/articuno.asm @@ -11,7 +11,7 @@ dw ArticunoPicFront, ArticunoPicBack db PECK, ICE_BEAM, NO_MOVE, NO_MOVE ; level 1 learnset - db 5 ; growth rate + db GROWTH_SLOW ; growth rate ; tm/hm learnset tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/beedrill.asm b/data/pokemon/base_stats/beedrill.asm index 33b0549c..328538a3 100644 --- a/data/pokemon/base_stats/beedrill.asm +++ b/data/pokemon/base_stats/beedrill.asm @@ -11,7 +11,7 @@ dw BeedrillPicFront, BeedrillPicBack db FURY_ATTACK, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm SWORDS_DANCE, TOXIC, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, \ diff --git a/data/pokemon/base_stats/bellsprout.asm b/data/pokemon/base_stats/bellsprout.asm index c5f27ee7..075598db 100644 --- a/data/pokemon/base_stats/bellsprout.asm +++ b/data/pokemon/base_stats/bellsprout.asm @@ -11,7 +11,7 @@ dw BellsproutPicFront, BellsproutPicBack db VINE_WHIP, GROWTH, NO_MOVE, NO_MOVE ; level 1 learnset - db 3 ; growth rate + db GROWTH_MEDIUM_SLOW ; growth rate ; tm/hm learnset tmhm SWORDS_DANCE, TOXIC, TAKE_DOWN, DOUBLE_EDGE, RAGE, \ diff --git a/data/pokemon/base_stats/blastoise.asm b/data/pokemon/base_stats/blastoise.asm index 78ba666b..512c66a3 100644 --- a/data/pokemon/base_stats/blastoise.asm +++ b/data/pokemon/base_stats/blastoise.asm @@ -11,7 +11,7 @@ dw BlastoisePicFront, BlastoisePicBack db TACKLE, TAIL_WHIP, BUBBLE, WATER_GUN ; level 1 learnset - db 3 ; growth rate + db GROWTH_MEDIUM_SLOW ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ diff --git a/data/pokemon/base_stats/bulbasaur.asm b/data/pokemon/base_stats/bulbasaur.asm index 9f5cb091..e2796f9e 100644 --- a/data/pokemon/base_stats/bulbasaur.asm +++ b/data/pokemon/base_stats/bulbasaur.asm @@ -11,7 +11,7 @@ dw BulbasaurPicFront, BulbasaurPicBack db TACKLE, GROWL, NO_MOVE, NO_MOVE ; level 1 learnset - db 3 ; growth rate + db GROWTH_MEDIUM_SLOW ; growth rate ; tm/hm learnset tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/butterfree.asm b/data/pokemon/base_stats/butterfree.asm index 4dbc25be..f18cf5e9 100644 --- a/data/pokemon/base_stats/butterfree.asm +++ b/data/pokemon/base_stats/butterfree.asm @@ -11,7 +11,7 @@ dw ButterfreePicFront, ButterfreePicBack db CONFUSION, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/caterpie.asm b/data/pokemon/base_stats/caterpie.asm index eb16ed98..e9c196ab 100644 --- a/data/pokemon/base_stats/caterpie.asm +++ b/data/pokemon/base_stats/caterpie.asm @@ -11,7 +11,7 @@ dw CaterpiePicFront, CaterpiePicBack db TACKLE, STRING_SHOT, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm diff --git a/data/pokemon/base_stats/chansey.asm b/data/pokemon/base_stats/chansey.asm index 601243a1..fc1fcb71 100644 --- a/data/pokemon/base_stats/chansey.asm +++ b/data/pokemon/base_stats/chansey.asm @@ -11,7 +11,7 @@ dw ChanseyPicFront, ChanseyPicBack db POUND, DOUBLESLAP, NO_MOVE, NO_MOVE ; level 1 learnset - db 4 ; growth rate + db GROWTH_FAST ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ diff --git a/data/pokemon/base_stats/charizard.asm b/data/pokemon/base_stats/charizard.asm index 4ead8541..715e0f7f 100644 --- a/data/pokemon/base_stats/charizard.asm +++ b/data/pokemon/base_stats/charizard.asm @@ -11,7 +11,7 @@ dw CharizardPicFront, CharizardPicBack db SCRATCH, GROWL, EMBER, LEER ; level 1 learnset - db 3 ; growth rate + db GROWTH_MEDIUM_SLOW ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, SWORDS_DANCE, MEGA_KICK, TOXIC, BODY_SLAM, \ diff --git a/data/pokemon/base_stats/charmander.asm b/data/pokemon/base_stats/charmander.asm index e6363f85..acf364ed 100644 --- a/data/pokemon/base_stats/charmander.asm +++ b/data/pokemon/base_stats/charmander.asm @@ -11,7 +11,7 @@ dw CharmanderPicFront, CharmanderPicBack db SCRATCH, GROWL, NO_MOVE, NO_MOVE ; level 1 learnset - db 3 ; growth rate + db GROWTH_MEDIUM_SLOW ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, SWORDS_DANCE, MEGA_KICK, TOXIC, BODY_SLAM, \ diff --git a/data/pokemon/base_stats/charmeleon.asm b/data/pokemon/base_stats/charmeleon.asm index 2125e6e7..0305197e 100644 --- a/data/pokemon/base_stats/charmeleon.asm +++ b/data/pokemon/base_stats/charmeleon.asm @@ -11,7 +11,7 @@ dw CharmeleonPicFront, CharmeleonPicBack db SCRATCH, GROWL, EMBER, NO_MOVE ; level 1 learnset - db 3 ; growth rate + db GROWTH_MEDIUM_SLOW ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, SWORDS_DANCE, MEGA_KICK, TOXIC, BODY_SLAM, \ diff --git a/data/pokemon/base_stats/clefable.asm b/data/pokemon/base_stats/clefable.asm index 6af3dd7a..0aef8405 100644 --- a/data/pokemon/base_stats/clefable.asm +++ b/data/pokemon/base_stats/clefable.asm @@ -11,7 +11,7 @@ dw ClefablePicFront, ClefablePicBack db SING, DOUBLESLAP, MINIMIZE, METRONOME ; level 1 learnset - db 4 ; growth rate + db GROWTH_FAST ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ diff --git a/data/pokemon/base_stats/clefairy.asm b/data/pokemon/base_stats/clefairy.asm index b10bc7a5..136b30be 100644 --- a/data/pokemon/base_stats/clefairy.asm +++ b/data/pokemon/base_stats/clefairy.asm @@ -11,7 +11,7 @@ dw ClefairyPicFront, ClefairyPicBack db POUND, GROWL, NO_MOVE, NO_MOVE ; level 1 learnset - db 4 ; growth rate + db GROWTH_FAST ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ diff --git a/data/pokemon/base_stats/cloyster.asm b/data/pokemon/base_stats/cloyster.asm index 56ca3d08..8b75cb0e 100644 --- a/data/pokemon/base_stats/cloyster.asm +++ b/data/pokemon/base_stats/cloyster.asm @@ -11,7 +11,7 @@ dw CloysterPicFront, CloysterPicBack db WITHDRAW, SUPERSONIC, CLAMP, AURORA_BEAM ; level 1 learnset - db 5 ; growth rate + db GROWTH_SLOW ; growth rate ; tm/hm learnset tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, \ diff --git a/data/pokemon/base_stats/cubone.asm b/data/pokemon/base_stats/cubone.asm index 23d87e6a..6a813ab6 100644 --- a/data/pokemon/base_stats/cubone.asm +++ b/data/pokemon/base_stats/cubone.asm @@ -11,7 +11,7 @@ dw CubonePicFront, CubonePicBack db BONE_CLUB, GROWL, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ diff --git a/data/pokemon/base_stats/dewgong.asm b/data/pokemon/base_stats/dewgong.asm index 61b64270..822189a9 100644 --- a/data/pokemon/base_stats/dewgong.asm +++ b/data/pokemon/base_stats/dewgong.asm @@ -11,7 +11,7 @@ dw DewgongPicFront, DewgongPicBack db HEADBUTT, GROWL, AURORA_BEAM, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/diglett.asm b/data/pokemon/base_stats/diglett.asm index ecb28f04..c8ee014b 100644 --- a/data/pokemon/base_stats/diglett.asm +++ b/data/pokemon/base_stats/diglett.asm @@ -11,7 +11,7 @@ dw DiglettPicFront, DiglettPicBack db SCRATCH, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, RAGE, \ diff --git a/data/pokemon/base_stats/ditto.asm b/data/pokemon/base_stats/ditto.asm index 05f48b49..a3d919f4 100644 --- a/data/pokemon/base_stats/ditto.asm +++ b/data/pokemon/base_stats/ditto.asm @@ -11,7 +11,7 @@ dw DittoPicFront, DittoPicBack db TRANSFORM, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm diff --git a/data/pokemon/base_stats/dodrio.asm b/data/pokemon/base_stats/dodrio.asm index 33685dc0..a3e95545 100644 --- a/data/pokemon/base_stats/dodrio.asm +++ b/data/pokemon/base_stats/dodrio.asm @@ -11,7 +11,7 @@ dw DodrioPicFront, DodrioPicBack db PECK, GROWL, FURY_ATTACK, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm WHIRLWIND, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/doduo.asm b/data/pokemon/base_stats/doduo.asm index 32b949b8..9803960b 100644 --- a/data/pokemon/base_stats/doduo.asm +++ b/data/pokemon/base_stats/doduo.asm @@ -11,7 +11,7 @@ dw DoduoPicFront, DoduoPicBack db PECK, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm WHIRLWIND, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/dragonair.asm b/data/pokemon/base_stats/dragonair.asm index 7233fcf3..1178ebcc 100644 --- a/data/pokemon/base_stats/dragonair.asm +++ b/data/pokemon/base_stats/dragonair.asm @@ -11,7 +11,7 @@ dw DragonairPicFront, DragonairPicBack db WRAP, LEER, THUNDER_WAVE, NO_MOVE ; level 1 learnset - db 5 ; growth rate + db GROWTH_SLOW ; growth rate ; tm/hm learnset tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/dragonite.asm b/data/pokemon/base_stats/dragonite.asm index 63e3fc0a..968d53b6 100644 --- a/data/pokemon/base_stats/dragonite.asm +++ b/data/pokemon/base_stats/dragonite.asm @@ -11,7 +11,7 @@ dw DragonitePicFront, DragonitePicBack db WRAP, LEER, THUNDER_WAVE, AGILITY ; level 1 learnset - db 5 ; growth rate + db GROWTH_SLOW ; growth rate ; tm/hm learnset tmhm RAZOR_WIND, TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, \ diff --git a/data/pokemon/base_stats/dratini.asm b/data/pokemon/base_stats/dratini.asm index 3857d1d4..42a93822 100644 --- a/data/pokemon/base_stats/dratini.asm +++ b/data/pokemon/base_stats/dratini.asm @@ -11,7 +11,7 @@ dw DratiniPicFront, DratiniPicBack db WRAP, LEER, NO_MOVE, NO_MOVE ; level 1 learnset - db 5 ; growth rate + db GROWTH_SLOW ; growth rate ; tm/hm learnset tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, \ diff --git a/data/pokemon/base_stats/drowzee.asm b/data/pokemon/base_stats/drowzee.asm index e1760ebe..047b9f8e 100644 --- a/data/pokemon/base_stats/drowzee.asm +++ b/data/pokemon/base_stats/drowzee.asm @@ -11,7 +11,7 @@ dw DrowzeePicFront, DrowzeePicBack db POUND, HYPNOSIS, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ diff --git a/data/pokemon/base_stats/dugtrio.asm b/data/pokemon/base_stats/dugtrio.asm index fb30da18..cffc8750 100644 --- a/data/pokemon/base_stats/dugtrio.asm +++ b/data/pokemon/base_stats/dugtrio.asm @@ -11,7 +11,7 @@ dw DugtrioPicFront, DugtrioPicBack db SCRATCH, GROWL, DIG, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, \ diff --git a/data/pokemon/base_stats/eevee.asm b/data/pokemon/base_stats/eevee.asm index 695c3f7e..a3a6ed4c 100644 --- a/data/pokemon/base_stats/eevee.asm +++ b/data/pokemon/base_stats/eevee.asm @@ -11,7 +11,7 @@ dw EeveePicFront, EeveePicBack db TACKLE, SAND_ATTACK, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, RAGE, \ diff --git a/data/pokemon/base_stats/ekans.asm b/data/pokemon/base_stats/ekans.asm index 9bcb4ec0..878d223f 100644 --- a/data/pokemon/base_stats/ekans.asm +++ b/data/pokemon/base_stats/ekans.asm @@ -11,7 +11,7 @@ dw EkansPicFront, EkansPicBack db WRAP, LEER, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, RAGE, \ diff --git a/data/pokemon/base_stats/electabuzz.asm b/data/pokemon/base_stats/electabuzz.asm index 4f07533f..8378cc52 100644 --- a/data/pokemon/base_stats/electabuzz.asm +++ b/data/pokemon/base_stats/electabuzz.asm @@ -11,7 +11,7 @@ dw ElectabuzzPicFront, ElectabuzzPicBack db QUICK_ATTACK, LEER, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ diff --git a/data/pokemon/base_stats/electrode.asm b/data/pokemon/base_stats/electrode.asm index 45b37d55..59f21767 100644 --- a/data/pokemon/base_stats/electrode.asm +++ b/data/pokemon/base_stats/electrode.asm @@ -11,7 +11,7 @@ dw ElectrodePicFront, ElectrodePicBack db TACKLE, SCREECH, SONICBOOM, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm TOXIC, TAKE_DOWN, HYPER_BEAM, RAGE, THUNDERBOLT, \ diff --git a/data/pokemon/base_stats/exeggcute.asm b/data/pokemon/base_stats/exeggcute.asm index 3e0cb826..8eea9e3a 100644 --- a/data/pokemon/base_stats/exeggcute.asm +++ b/data/pokemon/base_stats/exeggcute.asm @@ -11,7 +11,7 @@ dw ExeggcutePicFront, ExeggcutePicBack db BARRAGE, HYPNOSIS, NO_MOVE, NO_MOVE ; level 1 learnset - db 5 ; growth rate + db GROWTH_SLOW ; growth rate ; tm/hm learnset tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, RAGE, PSYCHIC_M, \ diff --git a/data/pokemon/base_stats/exeggutor.asm b/data/pokemon/base_stats/exeggutor.asm index 2c68c724..cb4d3ee6 100644 --- a/data/pokemon/base_stats/exeggutor.asm +++ b/data/pokemon/base_stats/exeggutor.asm @@ -11,7 +11,7 @@ dw ExeggutorPicFront, ExeggutorPicBack db BARRAGE, HYPNOSIS, NO_MOVE, NO_MOVE ; level 1 learnset - db 5 ; growth rate + db GROWTH_SLOW ; growth rate ; tm/hm learnset tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, \ diff --git a/data/pokemon/base_stats/farfetchd.asm b/data/pokemon/base_stats/farfetchd.asm index fea5bb44..8e0d79e4 100644 --- a/data/pokemon/base_stats/farfetchd.asm +++ b/data/pokemon/base_stats/farfetchd.asm @@ -11,7 +11,7 @@ dw FarfetchdPicFront, FarfetchdPicBack db PECK, SAND_ATTACK, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm RAZOR_WIND, SWORDS_DANCE, WHIRLWIND, TOXIC, BODY_SLAM, \ diff --git a/data/pokemon/base_stats/fearow.asm b/data/pokemon/base_stats/fearow.asm index 503bac92..33ad5c5a 100644 --- a/data/pokemon/base_stats/fearow.asm +++ b/data/pokemon/base_stats/fearow.asm @@ -11,7 +11,7 @@ dw FearowPicFront, FearowPicBack db PECK, GROWL, LEER, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/flareon.asm b/data/pokemon/base_stats/flareon.asm index b150b037..5ccf33ef 100644 --- a/data/pokemon/base_stats/flareon.asm +++ b/data/pokemon/base_stats/flareon.asm @@ -11,7 +11,7 @@ dw FlareonPicFront, FlareonPicBack db TACKLE, SAND_ATTACK, QUICK_ATTACK, EMBER ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, \ diff --git a/data/pokemon/base_stats/gastly.asm b/data/pokemon/base_stats/gastly.asm index 437a0322..f48b4234 100644 --- a/data/pokemon/base_stats/gastly.asm +++ b/data/pokemon/base_stats/gastly.asm @@ -11,7 +11,7 @@ dw GastlyPicFront, GastlyPicBack db LICK, CONFUSE_RAY, NIGHT_SHADE, NO_MOVE ; level 1 learnset - db 3 ; growth rate + db GROWTH_MEDIUM_SLOW ; growth rate ; tm/hm learnset tmhm TOXIC, RAGE, MEGA_DRAIN, THUNDERBOLT, THUNDER, \ diff --git a/data/pokemon/base_stats/gengar.asm b/data/pokemon/base_stats/gengar.asm index b5cff8da..3a07a441 100644 --- a/data/pokemon/base_stats/gengar.asm +++ b/data/pokemon/base_stats/gengar.asm @@ -11,7 +11,7 @@ dw GengarPicFront, GengarPicBack db LICK, CONFUSE_RAY, NIGHT_SHADE, NO_MOVE ; level 1 learnset - db 3 ; growth rate + db GROWTH_MEDIUM_SLOW ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ diff --git a/data/pokemon/base_stats/geodude.asm b/data/pokemon/base_stats/geodude.asm index a583b609..849e1234 100644 --- a/data/pokemon/base_stats/geodude.asm +++ b/data/pokemon/base_stats/geodude.asm @@ -11,7 +11,7 @@ dw GeodudePicFront, GeodudePicBack db TACKLE, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset - db 3 ; growth rate + db GROWTH_MEDIUM_SLOW ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/gloom.asm b/data/pokemon/base_stats/gloom.asm index 5c6b5053..7526d5ef 100644 --- a/data/pokemon/base_stats/gloom.asm +++ b/data/pokemon/base_stats/gloom.asm @@ -11,7 +11,7 @@ dw GloomPicFront, GloomPicBack db ABSORB, POISONPOWDER, STUN_SPORE, NO_MOVE ; level 1 learnset - db 3 ; growth rate + db GROWTH_MEDIUM_SLOW ; growth rate ; tm/hm learnset tmhm SWORDS_DANCE, TOXIC, TAKE_DOWN, DOUBLE_EDGE, RAGE, \ diff --git a/data/pokemon/base_stats/golbat.asm b/data/pokemon/base_stats/golbat.asm index 06d27522..9c852c91 100644 --- a/data/pokemon/base_stats/golbat.asm +++ b/data/pokemon/base_stats/golbat.asm @@ -11,7 +11,7 @@ dw GolbatPicFront, GolbatPicBack db LEECH_LIFE, SCREECH, BITE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/goldeen.asm b/data/pokemon/base_stats/goldeen.asm index 6d4a5fab..35ea2418 100644 --- a/data/pokemon/base_stats/goldeen.asm +++ b/data/pokemon/base_stats/goldeen.asm @@ -11,7 +11,7 @@ dw GoldeenPicFront, GoldeenPicBack db PECK, TAIL_WHIP, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm TOXIC, HORN_DRILL, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, \ diff --git a/data/pokemon/base_stats/golduck.asm b/data/pokemon/base_stats/golduck.asm index e5bc92ac..eb79d100 100644 --- a/data/pokemon/base_stats/golduck.asm +++ b/data/pokemon/base_stats/golduck.asm @@ -11,7 +11,7 @@ dw GolduckPicFront, GolduckPicBack db SCRATCH, TAIL_WHIP, DISABLE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ diff --git a/data/pokemon/base_stats/golem.asm b/data/pokemon/base_stats/golem.asm index 9bf80ce5..adcefb3f 100644 --- a/data/pokemon/base_stats/golem.asm +++ b/data/pokemon/base_stats/golem.asm @@ -11,7 +11,7 @@ dw GolemPicFront, GolemPicBack db TACKLE, DEFENSE_CURL, NO_MOVE, NO_MOVE ; level 1 learnset - db 3 ; growth rate + db GROWTH_MEDIUM_SLOW ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ diff --git a/data/pokemon/base_stats/graveler.asm b/data/pokemon/base_stats/graveler.asm index 6ff71b7b..af0b3dcc 100644 --- a/data/pokemon/base_stats/graveler.asm +++ b/data/pokemon/base_stats/graveler.asm @@ -11,7 +11,7 @@ dw GravelerPicFront, GravelerPicBack db TACKLE, DEFENSE_CURL, NO_MOVE, NO_MOVE ; level 1 learnset - db 3 ; growth rate + db GROWTH_MEDIUM_SLOW ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/grimer.asm b/data/pokemon/base_stats/grimer.asm index a9a24c70..24e972ce 100644 --- a/data/pokemon/base_stats/grimer.asm +++ b/data/pokemon/base_stats/grimer.asm @@ -11,7 +11,7 @@ dw GrimerPicFront, GrimerPicBack db POUND, DISABLE, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm TOXIC, BODY_SLAM, RAGE, MEGA_DRAIN, THUNDERBOLT, \ diff --git a/data/pokemon/base_stats/growlithe.asm b/data/pokemon/base_stats/growlithe.asm index 8a35b953..efc1059f 100644 --- a/data/pokemon/base_stats/growlithe.asm +++ b/data/pokemon/base_stats/growlithe.asm @@ -11,7 +11,7 @@ dw GrowlithePicFront, GrowlithePicBack db BITE, ROAR, NO_MOVE, NO_MOVE ; level 1 learnset - db 5 ; growth rate + db GROWTH_SLOW ; growth rate ; tm/hm learnset tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, RAGE, \ diff --git a/data/pokemon/base_stats/gyarados.asm b/data/pokemon/base_stats/gyarados.asm index 9ce68ea8..f08d29c9 100644 --- a/data/pokemon/base_stats/gyarados.asm +++ b/data/pokemon/base_stats/gyarados.asm @@ -11,7 +11,7 @@ dw GyaradosPicFront, GyaradosPicBack db BITE, DRAGON_RAGE, LEER, HYDRO_PUMP ; level 1 learnset - db 5 ; growth rate + db GROWTH_SLOW ; growth rate ; tm/hm learnset tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, \ diff --git a/data/pokemon/base_stats/haunter.asm b/data/pokemon/base_stats/haunter.asm index a62854f9..71e94347 100644 --- a/data/pokemon/base_stats/haunter.asm +++ b/data/pokemon/base_stats/haunter.asm @@ -11,7 +11,7 @@ dw HaunterPicFront, HaunterPicBack db LICK, CONFUSE_RAY, NIGHT_SHADE, NO_MOVE ; level 1 learnset - db 3 ; growth rate + db GROWTH_MEDIUM_SLOW ; growth rate ; tm/hm learnset tmhm TOXIC, RAGE, MEGA_DRAIN, THUNDERBOLT, THUNDER, \ diff --git a/data/pokemon/base_stats/hitmonchan.asm b/data/pokemon/base_stats/hitmonchan.asm index 33abd443..407e5e32 100644 --- a/data/pokemon/base_stats/hitmonchan.asm +++ b/data/pokemon/base_stats/hitmonchan.asm @@ -11,7 +11,7 @@ dw HitmonchanPicFront, HitmonchanPicBack db COMET_PUNCH, AGILITY, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ diff --git a/data/pokemon/base_stats/hitmonlee.asm b/data/pokemon/base_stats/hitmonlee.asm index 7b1d3440..e39ceecd 100644 --- a/data/pokemon/base_stats/hitmonlee.asm +++ b/data/pokemon/base_stats/hitmonlee.asm @@ -11,7 +11,7 @@ dw HitmonleePicFront, HitmonleePicBack db DOUBLE_KICK, MEDITATE, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ diff --git a/data/pokemon/base_stats/horsea.asm b/data/pokemon/base_stats/horsea.asm index e50614b1..9520ad59 100644 --- a/data/pokemon/base_stats/horsea.asm +++ b/data/pokemon/base_stats/horsea.asm @@ -11,7 +11,7 @@ dw HorseaPicFront, HorseaPicBack db BUBBLE, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, \ diff --git a/data/pokemon/base_stats/hypno.asm b/data/pokemon/base_stats/hypno.asm index 208c5bd2..760276db 100644 --- a/data/pokemon/base_stats/hypno.asm +++ b/data/pokemon/base_stats/hypno.asm @@ -11,7 +11,7 @@ dw HypnoPicFront, HypnoPicBack db POUND, HYPNOSIS, DISABLE, CONFUSION ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ diff --git a/data/pokemon/base_stats/ivysaur.asm b/data/pokemon/base_stats/ivysaur.asm index e821ec81..3601a924 100644 --- a/data/pokemon/base_stats/ivysaur.asm +++ b/data/pokemon/base_stats/ivysaur.asm @@ -11,7 +11,7 @@ dw IvysaurPicFront, IvysaurPicBack db TACKLE, GROWL, LEECH_SEED, NO_MOVE ; level 1 learnset - db 3 ; growth rate + db GROWTH_MEDIUM_SLOW ; growth rate ; tm/hm learnset tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/jigglypuff.asm b/data/pokemon/base_stats/jigglypuff.asm index 6112e662..c249d93d 100644 --- a/data/pokemon/base_stats/jigglypuff.asm +++ b/data/pokemon/base_stats/jigglypuff.asm @@ -11,7 +11,7 @@ dw JigglypuffPicFront, JigglypuffPicBack db SING, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset - db 4 ; growth rate + db GROWTH_FAST ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ diff --git a/data/pokemon/base_stats/jolteon.asm b/data/pokemon/base_stats/jolteon.asm index ab04eb05..cb7e989e 100644 --- a/data/pokemon/base_stats/jolteon.asm +++ b/data/pokemon/base_stats/jolteon.asm @@ -11,7 +11,7 @@ dw JolteonPicFront, JolteonPicBack db TACKLE, SAND_ATTACK, QUICK_ATTACK, THUNDERSHOCK ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, \ diff --git a/data/pokemon/base_stats/jynx.asm b/data/pokemon/base_stats/jynx.asm index 6cc52608..1700c890 100644 --- a/data/pokemon/base_stats/jynx.asm +++ b/data/pokemon/base_stats/jynx.asm @@ -11,7 +11,7 @@ dw JynxPicFront, JynxPicBack db POUND, LOVELY_KISS, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ diff --git a/data/pokemon/base_stats/kabuto.asm b/data/pokemon/base_stats/kabuto.asm index a5297182..407c78f5 100644 --- a/data/pokemon/base_stats/kabuto.asm +++ b/data/pokemon/base_stats/kabuto.asm @@ -11,7 +11,7 @@ dw KabutoPicFront, KabutoPicBack db SCRATCH, HARDEN, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, \ diff --git a/data/pokemon/base_stats/kabutops.asm b/data/pokemon/base_stats/kabutops.asm index bd6c9de8..62585d70 100644 --- a/data/pokemon/base_stats/kabutops.asm +++ b/data/pokemon/base_stats/kabutops.asm @@ -11,7 +11,7 @@ dw KabutopsPicFront, KabutopsPicBack db SCRATCH, HARDEN, ABSORB, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm RAZOR_WIND, SWORDS_DANCE, MEGA_KICK, TOXIC, BODY_SLAM, \ diff --git a/data/pokemon/base_stats/kadabra.asm b/data/pokemon/base_stats/kadabra.asm index 6ce061e8..51fc6a91 100644 --- a/data/pokemon/base_stats/kadabra.asm +++ b/data/pokemon/base_stats/kadabra.asm @@ -11,7 +11,7 @@ dw KadabraPicFront, KadabraPicBack db TELEPORT, CONFUSION, DISABLE, NO_MOVE ; level 1 learnset - db 3 ; growth rate + db GROWTH_MEDIUM_SLOW ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ diff --git a/data/pokemon/base_stats/kakuna.asm b/data/pokemon/base_stats/kakuna.asm index 2244a2d0..c0cfb63c 100644 --- a/data/pokemon/base_stats/kakuna.asm +++ b/data/pokemon/base_stats/kakuna.asm @@ -11,7 +11,7 @@ dw KakunaPicFront, KakunaPicBack db HARDEN, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm diff --git a/data/pokemon/base_stats/kangaskhan.asm b/data/pokemon/base_stats/kangaskhan.asm index d6b453b0..ccd36041 100644 --- a/data/pokemon/base_stats/kangaskhan.asm +++ b/data/pokemon/base_stats/kangaskhan.asm @@ -11,7 +11,7 @@ dw KangaskhanPicFront, KangaskhanPicBack db COMET_PUNCH, RAGE, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ diff --git a/data/pokemon/base_stats/kingler.asm b/data/pokemon/base_stats/kingler.asm index 01114d45..d3b3b80e 100644 --- a/data/pokemon/base_stats/kingler.asm +++ b/data/pokemon/base_stats/kingler.asm @@ -11,7 +11,7 @@ dw KinglerPicFront, KinglerPicBack db BUBBLE, LEER, VICEGRIP, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/koffing.asm b/data/pokemon/base_stats/koffing.asm index 20bcb4f0..b9b63812 100644 --- a/data/pokemon/base_stats/koffing.asm +++ b/data/pokemon/base_stats/koffing.asm @@ -11,7 +11,7 @@ dw KoffingPicFront, KoffingPicBack db TACKLE, SMOG, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm TOXIC, RAGE, THUNDERBOLT, THUNDER, MIMIC, \ diff --git a/data/pokemon/base_stats/krabby.asm b/data/pokemon/base_stats/krabby.asm index a4cb653c..6bd1c197 100644 --- a/data/pokemon/base_stats/krabby.asm +++ b/data/pokemon/base_stats/krabby.asm @@ -11,7 +11,7 @@ dw KrabbyPicFront, KrabbyPicBack db BUBBLE, LEER, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/lapras.asm b/data/pokemon/base_stats/lapras.asm index 929a9607..5e31f7f5 100644 --- a/data/pokemon/base_stats/lapras.asm +++ b/data/pokemon/base_stats/lapras.asm @@ -11,7 +11,7 @@ dw LaprasPicFront, LaprasPicBack db WATER_GUN, GROWL, NO_MOVE, NO_MOVE ; level 1 learnset - db 5 ; growth rate + db GROWTH_SLOW ; growth rate ; tm/hm learnset tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/lickitung.asm b/data/pokemon/base_stats/lickitung.asm index 656a1699..45826b40 100644 --- a/data/pokemon/base_stats/lickitung.asm +++ b/data/pokemon/base_stats/lickitung.asm @@ -11,7 +11,7 @@ dw LickitungPicFront, LickitungPicBack db WRAP, SUPERSONIC, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, SWORDS_DANCE, MEGA_KICK, TOXIC, BODY_SLAM, \ diff --git a/data/pokemon/base_stats/machamp.asm b/data/pokemon/base_stats/machamp.asm index f93d7807..f750f9fa 100644 --- a/data/pokemon/base_stats/machamp.asm +++ b/data/pokemon/base_stats/machamp.asm @@ -11,7 +11,7 @@ dw MachampPicFront, MachampPicBack db KARATE_CHOP, LOW_KICK, LEER, NO_MOVE ; level 1 learnset - db 3 ; growth rate + db GROWTH_MEDIUM_SLOW ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ diff --git a/data/pokemon/base_stats/machoke.asm b/data/pokemon/base_stats/machoke.asm index 48a32c88..b52772ef 100644 --- a/data/pokemon/base_stats/machoke.asm +++ b/data/pokemon/base_stats/machoke.asm @@ -11,7 +11,7 @@ dw MachokePicFront, MachokePicBack db KARATE_CHOP, LOW_KICK, LEER, NO_MOVE ; level 1 learnset - db 3 ; growth rate + db GROWTH_MEDIUM_SLOW ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ diff --git a/data/pokemon/base_stats/machop.asm b/data/pokemon/base_stats/machop.asm index 15a4aeee..20fe0e6e 100644 --- a/data/pokemon/base_stats/machop.asm +++ b/data/pokemon/base_stats/machop.asm @@ -11,7 +11,7 @@ dw MachopPicFront, MachopPicBack db KARATE_CHOP, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset - db 3 ; growth rate + db GROWTH_MEDIUM_SLOW ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ diff --git a/data/pokemon/base_stats/magikarp.asm b/data/pokemon/base_stats/magikarp.asm index 000b232b..c2c2f8c2 100644 --- a/data/pokemon/base_stats/magikarp.asm +++ b/data/pokemon/base_stats/magikarp.asm @@ -11,7 +11,7 @@ dw MagikarpPicFront, MagikarpPicBack db SPLASH, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset - db 5 ; growth rate + db GROWTH_SLOW ; growth rate ; tm/hm learnset tmhm diff --git a/data/pokemon/base_stats/magmar.asm b/data/pokemon/base_stats/magmar.asm index 34565bcd..b402cfa3 100644 --- a/data/pokemon/base_stats/magmar.asm +++ b/data/pokemon/base_stats/magmar.asm @@ -11,7 +11,7 @@ dw MagmarPicFront, MagmarPicBack db EMBER, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ diff --git a/data/pokemon/base_stats/magnemite.asm b/data/pokemon/base_stats/magnemite.asm index f3ee63a4..6242d692 100644 --- a/data/pokemon/base_stats/magnemite.asm +++ b/data/pokemon/base_stats/magnemite.asm @@ -11,7 +11,7 @@ dw MagnemitePicFront, MagnemitePicBack db TACKLE, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, RAGE, THUNDERBOLT, \ diff --git a/data/pokemon/base_stats/magneton.asm b/data/pokemon/base_stats/magneton.asm index b6f8c2bd..13d2e595 100644 --- a/data/pokemon/base_stats/magneton.asm +++ b/data/pokemon/base_stats/magneton.asm @@ -11,7 +11,7 @@ dw MagnetonPicFront, MagnetonPicBack db TACKLE, SONICBOOM, THUNDERSHOCK, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, RAGE, \ diff --git a/data/pokemon/base_stats/mankey.asm b/data/pokemon/base_stats/mankey.asm index 7ec11e69..ea529243 100644 --- a/data/pokemon/base_stats/mankey.asm +++ b/data/pokemon/base_stats/mankey.asm @@ -11,7 +11,7 @@ dw MankeyPicFront, MankeyPicBack db SCRATCH, LEER, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ diff --git a/data/pokemon/base_stats/marowak.asm b/data/pokemon/base_stats/marowak.asm index de22e2e4..3d22e68a 100644 --- a/data/pokemon/base_stats/marowak.asm +++ b/data/pokemon/base_stats/marowak.asm @@ -11,7 +11,7 @@ dw MarowakPicFront, MarowakPicBack db BONE_CLUB, GROWL, LEER, FOCUS_ENERGY ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ diff --git a/data/pokemon/base_stats/meowth.asm b/data/pokemon/base_stats/meowth.asm index 1483bb34..31a59bd5 100644 --- a/data/pokemon/base_stats/meowth.asm +++ b/data/pokemon/base_stats/meowth.asm @@ -11,7 +11,7 @@ dw MeowthPicFront, MeowthPicBack db SCRATCH, GROWL, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, \ diff --git a/data/pokemon/base_stats/metapod.asm b/data/pokemon/base_stats/metapod.asm index c1845d22..e20b08bf 100644 --- a/data/pokemon/base_stats/metapod.asm +++ b/data/pokemon/base_stats/metapod.asm @@ -11,7 +11,7 @@ dw MetapodPicFront, MetapodPicBack db HARDEN, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm diff --git a/data/pokemon/base_stats/mew.asm b/data/pokemon/base_stats/mew.asm index e65e45ec..82a7ec47 100644 --- a/data/pokemon/base_stats/mew.asm +++ b/data/pokemon/base_stats/mew.asm @@ -11,7 +11,7 @@ dw MewPicFront, MewPicBack db POUND, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset - db 3 ; growth rate + db GROWTH_MEDIUM_SLOW ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, RAZOR_WIND, SWORDS_DANCE, WHIRLWIND, MEGA_KICK, \ diff --git a/data/pokemon/base_stats/mewtwo.asm b/data/pokemon/base_stats/mewtwo.asm index 4142479b..5b276291 100644 --- a/data/pokemon/base_stats/mewtwo.asm +++ b/data/pokemon/base_stats/mewtwo.asm @@ -11,7 +11,7 @@ dw MewtwoPicFront, MewtwoPicBack db CONFUSION, DISABLE, SWIFT, PSYCHIC_M ; level 1 learnset - db 5 ; growth rate + db GROWTH_SLOW ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ diff --git a/data/pokemon/base_stats/moltres.asm b/data/pokemon/base_stats/moltres.asm index 983704cb..58745a29 100644 --- a/data/pokemon/base_stats/moltres.asm +++ b/data/pokemon/base_stats/moltres.asm @@ -11,7 +11,7 @@ dw MoltresPicFront, MoltresPicBack db PECK, FIRE_SPIN, NO_MOVE, NO_MOVE ; level 1 learnset - db 5 ; growth rate + db GROWTH_SLOW ; growth rate ; tm/hm learnset tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/mrmime.asm b/data/pokemon/base_stats/mrmime.asm index c4d98f79..20c96508 100644 --- a/data/pokemon/base_stats/mrmime.asm +++ b/data/pokemon/base_stats/mrmime.asm @@ -11,7 +11,7 @@ dw MrMimePicFront, MrMimePicBack db CONFUSION, BARRIER, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ diff --git a/data/pokemon/base_stats/muk.asm b/data/pokemon/base_stats/muk.asm index 96d1eb70..901421ec 100644 --- a/data/pokemon/base_stats/muk.asm +++ b/data/pokemon/base_stats/muk.asm @@ -11,7 +11,7 @@ dw MukPicFront, MukPicBack db POUND, DISABLE, POISON_GAS, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm TOXIC, BODY_SLAM, HYPER_BEAM, RAGE, MEGA_DRAIN, \ diff --git a/data/pokemon/base_stats/nidoking.asm b/data/pokemon/base_stats/nidoking.asm index 7cb0cd40..2e0d4177 100644 --- a/data/pokemon/base_stats/nidoking.asm +++ b/data/pokemon/base_stats/nidoking.asm @@ -11,7 +11,7 @@ dw NidokingPicFront, NidokingPicBack db TACKLE, HORN_ATTACK, POISON_STING, THRASH ; level 1 learnset - db 3 ; growth rate + db GROWTH_MEDIUM_SLOW ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, HORN_DRILL, BODY_SLAM, \ diff --git a/data/pokemon/base_stats/nidoqueen.asm b/data/pokemon/base_stats/nidoqueen.asm index 2bfe40e1..9b249f98 100644 --- a/data/pokemon/base_stats/nidoqueen.asm +++ b/data/pokemon/base_stats/nidoqueen.asm @@ -11,7 +11,7 @@ dw NidoqueenPicFront, NidoqueenPicBack db TACKLE, SCRATCH, TAIL_WHIP, BODY_SLAM ; level 1 learnset - db 3 ; growth rate + db GROWTH_MEDIUM_SLOW ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, HORN_DRILL, BODY_SLAM, \ diff --git a/data/pokemon/base_stats/nidoranf.asm b/data/pokemon/base_stats/nidoranf.asm index bf90d178..8ba4316c 100644 --- a/data/pokemon/base_stats/nidoranf.asm +++ b/data/pokemon/base_stats/nidoranf.asm @@ -11,7 +11,7 @@ dw NidoranFPicFront, NidoranFPicBack db GROWL, TACKLE, NO_MOVE, NO_MOVE ; level 1 learnset - db 3 ; growth rate + db GROWTH_MEDIUM_SLOW ; growth rate ; tm/hm learnset tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BLIZZARD, \ diff --git a/data/pokemon/base_stats/nidoranm.asm b/data/pokemon/base_stats/nidoranm.asm index 64af2f7c..2b412640 100644 --- a/data/pokemon/base_stats/nidoranm.asm +++ b/data/pokemon/base_stats/nidoranm.asm @@ -11,7 +11,7 @@ dw NidoranMPicFront, NidoranMPicBack db LEER, TACKLE, NO_MOVE, NO_MOVE ; level 1 learnset - db 3 ; growth rate + db GROWTH_MEDIUM_SLOW ; growth rate ; tm/hm learnset tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/nidorina.asm b/data/pokemon/base_stats/nidorina.asm index 3f31d315..4345aeb7 100644 --- a/data/pokemon/base_stats/nidorina.asm +++ b/data/pokemon/base_stats/nidorina.asm @@ -11,7 +11,7 @@ dw NidorinaPicFront, NidorinaPicBack db GROWL, TACKLE, SCRATCH, NO_MOVE ; level 1 learnset - db 3 ; growth rate + db GROWTH_MEDIUM_SLOW ; growth rate ; tm/hm learnset tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/nidorino.asm b/data/pokemon/base_stats/nidorino.asm index 4be175c7..44a11559 100644 --- a/data/pokemon/base_stats/nidorino.asm +++ b/data/pokemon/base_stats/nidorino.asm @@ -11,7 +11,7 @@ dw NidorinoPicFront, NidorinoPicBack db LEER, TACKLE, HORN_ATTACK, NO_MOVE ; level 1 learnset - db 3 ; growth rate + db GROWTH_MEDIUM_SLOW ; growth rate ; tm/hm learnset tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/ninetales.asm b/data/pokemon/base_stats/ninetales.asm index ca3563b1..2c2bc615 100644 --- a/data/pokemon/base_stats/ninetales.asm +++ b/data/pokemon/base_stats/ninetales.asm @@ -11,7 +11,7 @@ dw NinetalesPicFront, NinetalesPicBack db EMBER, TAIL_WHIP, QUICK_ATTACK, ROAR ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, \ diff --git a/data/pokemon/base_stats/oddish.asm b/data/pokemon/base_stats/oddish.asm index d48df896..60172ea4 100644 --- a/data/pokemon/base_stats/oddish.asm +++ b/data/pokemon/base_stats/oddish.asm @@ -11,7 +11,7 @@ dw OddishPicFront, OddishPicBack db ABSORB, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset - db 3 ; growth rate + db GROWTH_MEDIUM_SLOW ; growth rate ; tm/hm learnset tmhm SWORDS_DANCE, TOXIC, TAKE_DOWN, DOUBLE_EDGE, RAGE, \ diff --git a/data/pokemon/base_stats/omanyte.asm b/data/pokemon/base_stats/omanyte.asm index f37447e1..258b2706 100644 --- a/data/pokemon/base_stats/omanyte.asm +++ b/data/pokemon/base_stats/omanyte.asm @@ -11,7 +11,7 @@ dw OmanytePicFront, OmanytePicBack db WATER_GUN, WITHDRAW, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, \ diff --git a/data/pokemon/base_stats/omastar.asm b/data/pokemon/base_stats/omastar.asm index b85ee229..8ba4113e 100644 --- a/data/pokemon/base_stats/omastar.asm +++ b/data/pokemon/base_stats/omastar.asm @@ -11,7 +11,7 @@ dw OmastarPicFront, OmastarPicBack db WATER_GUN, WITHDRAW, HORN_ATTACK, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/onix.asm b/data/pokemon/base_stats/onix.asm index abacd978..29d2f677 100644 --- a/data/pokemon/base_stats/onix.asm +++ b/data/pokemon/base_stats/onix.asm @@ -11,7 +11,7 @@ dw OnixPicFront, OnixPicBack db TACKLE, SCREECH, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, RAGE, \ diff --git a/data/pokemon/base_stats/paras.asm b/data/pokemon/base_stats/paras.asm index 0b045212..0a36e229 100644 --- a/data/pokemon/base_stats/paras.asm +++ b/data/pokemon/base_stats/paras.asm @@ -11,7 +11,7 @@ dw ParasPicFront, ParasPicBack db SCRATCH, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/parasect.asm b/data/pokemon/base_stats/parasect.asm index ab081697..5fa09fc9 100644 --- a/data/pokemon/base_stats/parasect.asm +++ b/data/pokemon/base_stats/parasect.asm @@ -11,7 +11,7 @@ dw ParasectPicFront, ParasectPicBack db SCRATCH, STUN_SPORE, LEECH_LIFE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/persian.asm b/data/pokemon/base_stats/persian.asm index 54ad87ed..ec214ead 100644 --- a/data/pokemon/base_stats/persian.asm +++ b/data/pokemon/base_stats/persian.asm @@ -11,7 +11,7 @@ dw PersianPicFront, PersianPicBack db SCRATCH, GROWL, BITE, SCREECH ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, \ diff --git a/data/pokemon/base_stats/pidgeot.asm b/data/pokemon/base_stats/pidgeot.asm index 4f943620..9be82174 100644 --- a/data/pokemon/base_stats/pidgeot.asm +++ b/data/pokemon/base_stats/pidgeot.asm @@ -11,7 +11,7 @@ dw PidgeotPicFront, PidgeotPicBack db GUST, SAND_ATTACK, QUICK_ATTACK, NO_MOVE ; level 1 learnset - db 3 ; growth rate + db GROWTH_MEDIUM_SLOW ; growth rate ; tm/hm learnset tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/pidgeotto.asm b/data/pokemon/base_stats/pidgeotto.asm index fea052f3..2b99e4a6 100644 --- a/data/pokemon/base_stats/pidgeotto.asm +++ b/data/pokemon/base_stats/pidgeotto.asm @@ -11,7 +11,7 @@ dw PidgeottoPicFront, PidgeottoPicBack db GUST, SAND_ATTACK, NO_MOVE, NO_MOVE ; level 1 learnset - db 3 ; growth rate + db GROWTH_MEDIUM_SLOW ; growth rate ; tm/hm learnset tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/pidgey.asm b/data/pokemon/base_stats/pidgey.asm index 412c1bfd..04d23804 100644 --- a/data/pokemon/base_stats/pidgey.asm +++ b/data/pokemon/base_stats/pidgey.asm @@ -11,7 +11,7 @@ dw PidgeyPicFront, PidgeyPicBack db GUST, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset - db 3 ; growth rate + db GROWTH_MEDIUM_SLOW ; growth rate ; tm/hm learnset tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/pikachu.asm b/data/pokemon/base_stats/pikachu.asm index da558cd0..4a7f5e80 100644 --- a/data/pokemon/base_stats/pikachu.asm +++ b/data/pokemon/base_stats/pikachu.asm @@ -11,7 +11,7 @@ dw PikachuPicFront, PikachuPicBack db THUNDERSHOCK, GROWL, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ diff --git a/data/pokemon/base_stats/pinsir.asm b/data/pokemon/base_stats/pinsir.asm index 46a4ca58..946feaf1 100644 --- a/data/pokemon/base_stats/pinsir.asm +++ b/data/pokemon/base_stats/pinsir.asm @@ -11,7 +11,7 @@ dw PinsirPicFront, PinsirPicBack db VICEGRIP, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset - db 5 ; growth rate + db GROWTH_SLOW ; growth rate ; tm/hm learnset tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/poliwag.asm b/data/pokemon/base_stats/poliwag.asm index 83be30c4..f13b4c85 100644 --- a/data/pokemon/base_stats/poliwag.asm +++ b/data/pokemon/base_stats/poliwag.asm @@ -11,7 +11,7 @@ dw PoliwagPicFront, PoliwagPicBack db BUBBLE, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset - db 3 ; growth rate + db GROWTH_MEDIUM_SLOW ; growth rate ; tm/hm learnset tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, \ diff --git a/data/pokemon/base_stats/poliwhirl.asm b/data/pokemon/base_stats/poliwhirl.asm index 772278db..8055d5ff 100644 --- a/data/pokemon/base_stats/poliwhirl.asm +++ b/data/pokemon/base_stats/poliwhirl.asm @@ -11,7 +11,7 @@ dw PoliwhirlPicFront, PoliwhirlPicBack db BUBBLE, HYPNOSIS, WATER_GUN, NO_MOVE ; level 1 learnset - db 3 ; growth rate + db GROWTH_MEDIUM_SLOW ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ diff --git a/data/pokemon/base_stats/poliwrath.asm b/data/pokemon/base_stats/poliwrath.asm index 4a3ce93c..cd89c1ed 100644 --- a/data/pokemon/base_stats/poliwrath.asm +++ b/data/pokemon/base_stats/poliwrath.asm @@ -11,7 +11,7 @@ dw PoliwrathPicFront, PoliwrathPicBack db HYPNOSIS, WATER_GUN, DOUBLESLAP, BODY_SLAM ; level 1 learnset - db 3 ; growth rate + db GROWTH_MEDIUM_SLOW ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ diff --git a/data/pokemon/base_stats/ponyta.asm b/data/pokemon/base_stats/ponyta.asm index 08ab6aa8..71d51956 100644 --- a/data/pokemon/base_stats/ponyta.asm +++ b/data/pokemon/base_stats/ponyta.asm @@ -11,7 +11,7 @@ dw PonytaPicFront, PonytaPicBack db EMBER, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/porygon.asm b/data/pokemon/base_stats/porygon.asm index 45c62943..bfec59ef 100644 --- a/data/pokemon/base_stats/porygon.asm +++ b/data/pokemon/base_stats/porygon.asm @@ -11,7 +11,7 @@ dw PorygonPicFront, PorygonPicBack db TACKLE, SHARPEN, CONVERSION, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, ICE_BEAM, BLIZZARD, \ diff --git a/data/pokemon/base_stats/primeape.asm b/data/pokemon/base_stats/primeape.asm index 0bafc491..12f8bb01 100644 --- a/data/pokemon/base_stats/primeape.asm +++ b/data/pokemon/base_stats/primeape.asm @@ -11,7 +11,7 @@ dw PrimeapePicFront, PrimeapePicBack db SCRATCH, LEER, KARATE_CHOP, FURY_SWIPES ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ diff --git a/data/pokemon/base_stats/psyduck.asm b/data/pokemon/base_stats/psyduck.asm index 02892004..b3fb9f41 100644 --- a/data/pokemon/base_stats/psyduck.asm +++ b/data/pokemon/base_stats/psyduck.asm @@ -11,7 +11,7 @@ dw PsyduckPicFront, PsyduckPicBack db SCRATCH, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ diff --git a/data/pokemon/base_stats/raichu.asm b/data/pokemon/base_stats/raichu.asm index 1a904a04..a5c5acea 100644 --- a/data/pokemon/base_stats/raichu.asm +++ b/data/pokemon/base_stats/raichu.asm @@ -11,7 +11,7 @@ dw RaichuPicFront, RaichuPicBack db THUNDERSHOCK, GROWL, THUNDER_WAVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ diff --git a/data/pokemon/base_stats/rapidash.asm b/data/pokemon/base_stats/rapidash.asm index 9ebe2c21..dbe16ab0 100644 --- a/data/pokemon/base_stats/rapidash.asm +++ b/data/pokemon/base_stats/rapidash.asm @@ -11,7 +11,7 @@ dw RapidashPicFront, RapidashPicBack db EMBER, TAIL_WHIP, STOMP, GROWL ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/raticate.asm b/data/pokemon/base_stats/raticate.asm index 41d05dfc..b33adf4d 100644 --- a/data/pokemon/base_stats/raticate.asm +++ b/data/pokemon/base_stats/raticate.asm @@ -11,7 +11,7 @@ dw RaticatePicFront, RaticatePicBack db TACKLE, TAIL_WHIP, QUICK_ATTACK, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, \ diff --git a/data/pokemon/base_stats/rattata.asm b/data/pokemon/base_stats/rattata.asm index 202a2cff..d6e263a1 100644 --- a/data/pokemon/base_stats/rattata.asm +++ b/data/pokemon/base_stats/rattata.asm @@ -11,7 +11,7 @@ dw RattataPicFront, RattataPicBack db TACKLE, TAIL_WHIP, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, \ diff --git a/data/pokemon/base_stats/rhydon.asm b/data/pokemon/base_stats/rhydon.asm index c659afe3..c6b17500 100644 --- a/data/pokemon/base_stats/rhydon.asm +++ b/data/pokemon/base_stats/rhydon.asm @@ -11,7 +11,7 @@ dw RhydonPicFront, RhydonPicBack db HORN_ATTACK, STOMP, TAIL_WHIP, FURY_ATTACK ; level 1 learnset - db 5 ; growth rate + db GROWTH_SLOW ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, HORN_DRILL, BODY_SLAM, \ diff --git a/data/pokemon/base_stats/rhyhorn.asm b/data/pokemon/base_stats/rhyhorn.asm index df4c6db3..6f4bb31b 100644 --- a/data/pokemon/base_stats/rhyhorn.asm +++ b/data/pokemon/base_stats/rhyhorn.asm @@ -11,7 +11,7 @@ dw RhyhornPicFront, RhyhornPicBack db HORN_ATTACK, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset - db 5 ; growth rate + db GROWTH_SLOW ; growth rate ; tm/hm learnset tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/sandshrew.asm b/data/pokemon/base_stats/sandshrew.asm index d528e651..a05f516f 100644 --- a/data/pokemon/base_stats/sandshrew.asm +++ b/data/pokemon/base_stats/sandshrew.asm @@ -11,7 +11,7 @@ dw SandshrewPicFront, SandshrewPicBack db SCRATCH, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/sandslash.asm b/data/pokemon/base_stats/sandslash.asm index 326aa836..5a50dd25 100644 --- a/data/pokemon/base_stats/sandslash.asm +++ b/data/pokemon/base_stats/sandslash.asm @@ -11,7 +11,7 @@ dw SandslashPicFront, SandslashPicBack db SCRATCH, SAND_ATTACK, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/scyther.asm b/data/pokemon/base_stats/scyther.asm index 3dc2a21d..044a2baf 100644 --- a/data/pokemon/base_stats/scyther.asm +++ b/data/pokemon/base_stats/scyther.asm @@ -11,7 +11,7 @@ dw ScytherPicFront, ScytherPicBack db QUICK_ATTACK, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm SWORDS_DANCE, TOXIC, TAKE_DOWN, DOUBLE_EDGE, HYPER_BEAM, \ diff --git a/data/pokemon/base_stats/seadra.asm b/data/pokemon/base_stats/seadra.asm index 15d29a7a..6e3fb7ef 100644 --- a/data/pokemon/base_stats/seadra.asm +++ b/data/pokemon/base_stats/seadra.asm @@ -11,7 +11,7 @@ dw SeadraPicFront, SeadraPicBack db BUBBLE, SMOKESCREEN, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, \ diff --git a/data/pokemon/base_stats/seaking.asm b/data/pokemon/base_stats/seaking.asm index 91144882..532a4c70 100644 --- a/data/pokemon/base_stats/seaking.asm +++ b/data/pokemon/base_stats/seaking.asm @@ -11,7 +11,7 @@ dw SeakingPicFront, SeakingPicBack db PECK, TAIL_WHIP, SUPERSONIC, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm TOXIC, HORN_DRILL, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, \ diff --git a/data/pokemon/base_stats/seel.asm b/data/pokemon/base_stats/seel.asm index f45af9e7..e2fe02ec 100644 --- a/data/pokemon/base_stats/seel.asm +++ b/data/pokemon/base_stats/seel.asm @@ -11,7 +11,7 @@ dw SeelPicFront, SeelPicBack db HEADBUTT, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/shellder.asm b/data/pokemon/base_stats/shellder.asm index d1e32c84..b52f7cb4 100644 --- a/data/pokemon/base_stats/shellder.asm +++ b/data/pokemon/base_stats/shellder.asm @@ -11,7 +11,7 @@ dw ShellderPicFront, ShellderPicBack db TACKLE, WITHDRAW, NO_MOVE, NO_MOVE ; level 1 learnset - db 5 ; growth rate + db GROWTH_SLOW ; growth rate ; tm/hm learnset tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, \ diff --git a/data/pokemon/base_stats/slowbro.asm b/data/pokemon/base_stats/slowbro.asm index a5e067d2..77483e91 100644 --- a/data/pokemon/base_stats/slowbro.asm +++ b/data/pokemon/base_stats/slowbro.asm @@ -11,7 +11,7 @@ dw SlowbroPicFront, SlowbroPicBack db CONFUSION, DISABLE, HEADBUTT, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ diff --git a/data/pokemon/base_stats/slowpoke.asm b/data/pokemon/base_stats/slowpoke.asm index acb8d0ed..0ae2ef0a 100644 --- a/data/pokemon/base_stats/slowpoke.asm +++ b/data/pokemon/base_stats/slowpoke.asm @@ -11,7 +11,7 @@ dw SlowpokePicFront, SlowpokePicBack db CONFUSION, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, \ diff --git a/data/pokemon/base_stats/snorlax.asm b/data/pokemon/base_stats/snorlax.asm index e8536908..9b6ccd3e 100644 --- a/data/pokemon/base_stats/snorlax.asm +++ b/data/pokemon/base_stats/snorlax.asm @@ -11,7 +11,7 @@ dw SnorlaxPicFront, SnorlaxPicBack db HEADBUTT, AMNESIA, REST, NO_MOVE ; level 1 learnset - db 5 ; growth rate + db GROWTH_SLOW ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ diff --git a/data/pokemon/base_stats/spearow.asm b/data/pokemon/base_stats/spearow.asm index 6bd0b0b6..161f4100 100644 --- a/data/pokemon/base_stats/spearow.asm +++ b/data/pokemon/base_stats/spearow.asm @@ -11,7 +11,7 @@ dw SpearowPicFront, SpearowPicBack db PECK, GROWL, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/squirtle.asm b/data/pokemon/base_stats/squirtle.asm index e37e2d3b..e844ac6e 100644 --- a/data/pokemon/base_stats/squirtle.asm +++ b/data/pokemon/base_stats/squirtle.asm @@ -11,7 +11,7 @@ dw SquirtlePicFront, SquirtlePicBack db TACKLE, TAIL_WHIP, NO_MOVE, NO_MOVE ; level 1 learnset - db 3 ; growth rate + db GROWTH_MEDIUM_SLOW ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ diff --git a/data/pokemon/base_stats/starmie.asm b/data/pokemon/base_stats/starmie.asm index dfbad82d..1ec43ca8 100644 --- a/data/pokemon/base_stats/starmie.asm +++ b/data/pokemon/base_stats/starmie.asm @@ -11,7 +11,7 @@ dw StarmiePicFront, StarmiePicBack db TACKLE, WATER_GUN, HARDEN, NO_MOVE ; level 1 learnset - db 5 ; growth rate + db GROWTH_SLOW ; growth rate ; tm/hm learnset tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, \ diff --git a/data/pokemon/base_stats/staryu.asm b/data/pokemon/base_stats/staryu.asm index 2e095225..198f552f 100644 --- a/data/pokemon/base_stats/staryu.asm +++ b/data/pokemon/base_stats/staryu.asm @@ -11,7 +11,7 @@ dw StaryuPicFront, StaryuPicBack db TACKLE, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset - db 5 ; growth rate + db GROWTH_SLOW ; growth rate ; tm/hm learnset tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, WATER_GUN, \ diff --git a/data/pokemon/base_stats/tangela.asm b/data/pokemon/base_stats/tangela.asm index 950cffbd..5380a4a7 100644 --- a/data/pokemon/base_stats/tangela.asm +++ b/data/pokemon/base_stats/tangela.asm @@ -11,7 +11,7 @@ dw TangelaPicFront, TangelaPicBack db CONSTRICT, BIND, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/tauros.asm b/data/pokemon/base_stats/tauros.asm index 9eae792c..9aba3e22 100644 --- a/data/pokemon/base_stats/tauros.asm +++ b/data/pokemon/base_stats/tauros.asm @@ -11,7 +11,7 @@ dw TaurosPicFront, TaurosPicBack db TACKLE, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset - db 5 ; growth rate + db GROWTH_SLOW ; growth rate ; tm/hm learnset tmhm TOXIC, HORN_DRILL, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/tentacool.asm b/data/pokemon/base_stats/tentacool.asm index 82b4afdd..e8296d61 100644 --- a/data/pokemon/base_stats/tentacool.asm +++ b/data/pokemon/base_stats/tentacool.asm @@ -11,7 +11,7 @@ dw TentacoolPicFront, TentacoolPicBack db ACID, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset - db 5 ; growth rate + db GROWTH_SLOW ; growth rate ; tm/hm learnset tmhm SWORDS_DANCE, TOXIC, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, \ diff --git a/data/pokemon/base_stats/tentacruel.asm b/data/pokemon/base_stats/tentacruel.asm index 03110654..ad8f773e 100644 --- a/data/pokemon/base_stats/tentacruel.asm +++ b/data/pokemon/base_stats/tentacruel.asm @@ -11,7 +11,7 @@ dw TentacruelPicFront, TentacruelPicBack db ACID, SUPERSONIC, WRAP, NO_MOVE ; level 1 learnset - db 5 ; growth rate + db GROWTH_SLOW ; growth rate ; tm/hm learnset tmhm SWORDS_DANCE, TOXIC, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, \ diff --git a/data/pokemon/base_stats/vaporeon.asm b/data/pokemon/base_stats/vaporeon.asm index 7dce48ef..ec5c01d2 100644 --- a/data/pokemon/base_stats/vaporeon.asm +++ b/data/pokemon/base_stats/vaporeon.asm @@ -11,7 +11,7 @@ dw VaporeonPicFront, VaporeonPicBack db TACKLE, SAND_ATTACK, QUICK_ATTACK, WATER_GUN ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, BUBBLEBEAM, \ diff --git a/data/pokemon/base_stats/venomoth.asm b/data/pokemon/base_stats/venomoth.asm index 971294e0..c01ee263 100644 --- a/data/pokemon/base_stats/venomoth.asm +++ b/data/pokemon/base_stats/venomoth.asm @@ -11,7 +11,7 @@ dw VenomothPicFront, VenomothPicBack db TACKLE, DISABLE, POISONPOWDER, LEECH_LIFE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/venonat.asm b/data/pokemon/base_stats/venonat.asm index 99cc8036..9c9ff071 100644 --- a/data/pokemon/base_stats/venonat.asm +++ b/data/pokemon/base_stats/venonat.asm @@ -11,7 +11,7 @@ dw VenonatPicFront, VenonatPicBack db TACKLE, DISABLE, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm TOXIC, TAKE_DOWN, DOUBLE_EDGE, RAGE, MEGA_DRAIN, \ diff --git a/data/pokemon/base_stats/venusaur.asm b/data/pokemon/base_stats/venusaur.asm index 4d50169f..414590d8 100644 --- a/data/pokemon/base_stats/venusaur.asm +++ b/data/pokemon/base_stats/venusaur.asm @@ -11,7 +11,7 @@ dw VenusaurPicFront, VenusaurPicBack db TACKLE, GROWL, LEECH_SEED, VINE_WHIP ; level 1 learnset - db 3 ; growth rate + db GROWTH_MEDIUM_SLOW ; growth rate ; tm/hm learnset tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/victreebel.asm b/data/pokemon/base_stats/victreebel.asm index 441bf8b5..5b958297 100644 --- a/data/pokemon/base_stats/victreebel.asm +++ b/data/pokemon/base_stats/victreebel.asm @@ -11,7 +11,7 @@ dw VictreebelPicFront, VictreebelPicBack db SLEEP_POWDER, STUN_SPORE, ACID, RAZOR_LEAF ; level 1 learnset - db 3 ; growth rate + db GROWTH_MEDIUM_SLOW ; growth rate ; tm/hm learnset tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/vileplume.asm b/data/pokemon/base_stats/vileplume.asm index 99000b13..10ae05da 100644 --- a/data/pokemon/base_stats/vileplume.asm +++ b/data/pokemon/base_stats/vileplume.asm @@ -11,7 +11,7 @@ dw VileplumePicFront, VileplumePicBack db STUN_SPORE, SLEEP_POWDER, ACID, PETAL_DANCE ; level 1 learnset - db 3 ; growth rate + db GROWTH_MEDIUM_SLOW ; growth rate ; tm/hm learnset tmhm SWORDS_DANCE, TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/voltorb.asm b/data/pokemon/base_stats/voltorb.asm index 83902c05..4ad65701 100644 --- a/data/pokemon/base_stats/voltorb.asm +++ b/data/pokemon/base_stats/voltorb.asm @@ -11,7 +11,7 @@ dw VoltorbPicFront, VoltorbPicBack db TACKLE, SCREECH, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm TOXIC, TAKE_DOWN, RAGE, THUNDERBOLT, THUNDER, \ diff --git a/data/pokemon/base_stats/vulpix.asm b/data/pokemon/base_stats/vulpix.asm index fc85d512..c112b97d 100644 --- a/data/pokemon/base_stats/vulpix.asm +++ b/data/pokemon/base_stats/vulpix.asm @@ -11,7 +11,7 @@ dw VulpixPicFront, VulpixPicBack db EMBER, TAIL_WHIP, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm TOXIC, BODY_SLAM, TAKE_DOWN, DOUBLE_EDGE, RAGE, \ diff --git a/data/pokemon/base_stats/wartortle.asm b/data/pokemon/base_stats/wartortle.asm index 7033f300..d430bcdc 100644 --- a/data/pokemon/base_stats/wartortle.asm +++ b/data/pokemon/base_stats/wartortle.asm @@ -11,7 +11,7 @@ dw WartortlePicFront, WartortlePicBack db TACKLE, TAIL_WHIP, BUBBLE, NO_MOVE ; level 1 learnset - db 3 ; growth rate + db GROWTH_MEDIUM_SLOW ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ diff --git a/data/pokemon/base_stats/weedle.asm b/data/pokemon/base_stats/weedle.asm index 9fb962ab..f6aba236 100644 --- a/data/pokemon/base_stats/weedle.asm +++ b/data/pokemon/base_stats/weedle.asm @@ -11,7 +11,7 @@ dw WeedlePicFront, WeedlePicBack db POISON_STING, STRING_SHOT, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm diff --git a/data/pokemon/base_stats/weepinbell.asm b/data/pokemon/base_stats/weepinbell.asm index 03733826..513de8f8 100644 --- a/data/pokemon/base_stats/weepinbell.asm +++ b/data/pokemon/base_stats/weepinbell.asm @@ -11,7 +11,7 @@ dw WeepinbellPicFront, WeepinbellPicBack db VINE_WHIP, GROWTH, WRAP, NO_MOVE ; level 1 learnset - db 3 ; growth rate + db GROWTH_MEDIUM_SLOW ; growth rate ; tm/hm learnset tmhm SWORDS_DANCE, TOXIC, TAKE_DOWN, DOUBLE_EDGE, RAGE, \ diff --git a/data/pokemon/base_stats/weezing.asm b/data/pokemon/base_stats/weezing.asm index fd647044..d605f15a 100644 --- a/data/pokemon/base_stats/weezing.asm +++ b/data/pokemon/base_stats/weezing.asm @@ -11,7 +11,7 @@ dw WeezingPicFront, WeezingPicBack db TACKLE, SMOG, SLUDGE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm TOXIC, HYPER_BEAM, RAGE, THUNDERBOLT, THUNDER, \ diff --git a/data/pokemon/base_stats/wigglytuff.asm b/data/pokemon/base_stats/wigglytuff.asm index 95e54470..7249badf 100644 --- a/data/pokemon/base_stats/wigglytuff.asm +++ b/data/pokemon/base_stats/wigglytuff.asm @@ -11,7 +11,7 @@ dw WigglytuffPicFront, WigglytuffPicBack db SING, DISABLE, DEFENSE_CURL, DOUBLESLAP ; level 1 learnset - db 4 ; growth rate + db GROWTH_FAST ; growth rate ; tm/hm learnset tmhm MEGA_PUNCH, MEGA_KICK, TOXIC, BODY_SLAM, TAKE_DOWN, \ diff --git a/data/pokemon/base_stats/zapdos.asm b/data/pokemon/base_stats/zapdos.asm index 05977649..6571d286 100644 --- a/data/pokemon/base_stats/zapdos.asm +++ b/data/pokemon/base_stats/zapdos.asm @@ -11,7 +11,7 @@ dw ZapdosPicFront, ZapdosPicBack db THUNDERSHOCK, DRILL_PECK, NO_MOVE, NO_MOVE ; level 1 learnset - db 5 ; growth rate + db GROWTH_SLOW ; growth rate ; tm/hm learnset tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/base_stats/zubat.asm b/data/pokemon/base_stats/zubat.asm index d3de0eca..ddae33cb 100644 --- a/data/pokemon/base_stats/zubat.asm +++ b/data/pokemon/base_stats/zubat.asm @@ -11,7 +11,7 @@ dw ZubatPicFront, ZubatPicBack db LEECH_LIFE, NO_MOVE, NO_MOVE, NO_MOVE ; level 1 learnset - db 0 ; growth rate + db GROWTH_MEDIUM_FAST ; growth rate ; tm/hm learnset tmhm RAZOR_WIND, WHIRLWIND, TOXIC, TAKE_DOWN, DOUBLE_EDGE, \ diff --git a/data/pokemon/cries.asm b/data/pokemon/cries.asm index 1fc9960f..58c9898e 100755 --- a/data/pokemon/cries.asm +++ b/data/pokemon/cries.asm @@ -1,192 +1,192 @@ CryData:: - ;$BaseCry, $Pitch, $Length - db $11, $00, $80; Rhydon - db $03, $00, $80; Kangaskhan - db $00, $00, $80; Nidoran♂ - db $19, $CC, $01; Clefairy - db $10, $00, $80; Spearow - db $06, $ED, $80; Voltorb - db $09, $00, $80; Nidoking - db $1F, $00, $80; Slowbro - db $0F, $20, $80; Ivysaur - db $0D, $00, $80; Exeggutor - db $0C, $00, $80; Lickitung - db $0B, $00, $80; Exeggcute - db $05, $00, $80; Grimer - db $07, $00, $FF; Gengar - db $01, $00, $80; Nidoran♀ - db $0A, $00, $80; Nidoqueen - db $19, $00, $80; Cubone - db $04, $00, $80; Rhyhorn - db $1B, $00, $80; Lapras - db $15, $00, $80; Arcanine - db $1E, $EE, $FF; Mew - db $17, $00, $80; Gyarados - db $18, $00, $80; Shellder - db $1A, $00, $80; Tentacool - db $1C, $00, $80; Gastly - db $16, $00, $80; Scyther - db $1E, $02, $20; Staryu - db $13, $00, $80; Blastoise - db $14, $00, $80; Pinsir - db $12, $00, $80; Tangela - db $00, $00, $00; MissingNo. - db $00, $00, $00; MissingNo. - db $1F, $20, $40; Growlithe - db $17, $FF, $C0; Onix - db $18, $40, $A0; Fearow - db $0E, $DF, $04; Pidgey - db $02, $00, $80; Slowpoke - db $1C, $A8, $C0; Kadabra - db $24, $00, $80; Graveler - db $14, $0A, $C0; Chansey - db $1F, $48, $60; Machoke - db $20, $08, $40; Mr.Mime - db $12, $80, $C0; Hitmonlee - db $0C, $EE, $C0; Hitmonchan - db $17, $E0, $10; Arbok - db $1E, $42, $FF; Parasect - db $21, $20, $60; Psyduck - db $0D, $88, $20; Drowzee - db $12, $E0, $40; Golem - db $00, $00, $00; MissingNo. - db $04, $FF, $30; Magmar - db $00, $00, $00; MissingNo. - db $06, $8F, $FF; Electabuzz - db $1C, $20, $C0; Magneton - db $12, $E6, $DD; Koffing - db $00, $00, $00; MissingNo. - db $0A, $DD, $60; Mankey - db $0C, $88, $C0; Seel - db $0B, $AA, $01; Diglett - db $1D, $11, $40; Tauros - db $00, $00, $00; MissingNo. - db $00, $00, $00; MissingNo. - db $00, $00, $00; MissingNo. - db $10, $DD, $01; Farfetch'd - db $1A, $44, $40; Venonat - db $0F, $3C, $C0; Dragonite - db $00, $80, $10; MissingNo. - db $00, $00, $00; MissingNo. - db $1D, $E0, $80; MissingNo. - db $0B, $BB, $01; Doduo - db $0E, $FF, $FF; Poliwag - db $0D, $FF, $FF; Jynx - db $09, $F8, $40; Moltres - db $09, $80, $40; Articuno - db $18, $FF, $80; Zapdos - db $0E, $FF, $FF; Ditto - db $19, $77, $10; Meowth - db $20, $20, $E0; Krabby - db $22, $FF, $40; MissingNo. - db $00, $00, $00; MissingNo. - db $0E, $E0, $60; MissingNo. - db $24, $4F, $10; Vulpix - db $24, $88, $60; Ninetales - db $0F, $EE, $01; Pikachu - db $09, $EE, $08; Raichu - db $00, $00, $00; MissingNo. - db $00, $00, $00; MissingNo. - db $0F, $60, $40; Dratini - db $0F, $40, $80; Dragonair - db $16, $BB, $40; Kabuto - db $18, $EE, $01; Kabutops - db $19, $99, $10; Horsea - db $19, $3C, $01; Seadra - db $0F, $40, $C0; MissingNo. - db $0F, $20, $C0; MissingNo. - db $00, $20, $40; Sandshrew - db $00, $FF, $FF; Sandslash - db $1F, $F0, $01; Omanyte - db $1F, $FF, $40; Omastar - db $0E, $FF, $35; Jigglypuff - db $0E, $68, $60; Wigglytuff - db $1A, $88, $60; Eevee - db $1A, $10, $20; Flareon - db $1A, $3D, $80; Jolteon - db $1A, $AA, $FF; Vaporeon - db $1F, $EE, $01; Machop - db $1D, $E0, $80; Zubat - db $17, $12, $40; Ekans - db $1E, $20, $E0; Paras - db $0E, $77, $60; Poliwhirl - db $0E, $00, $FF; Poliwrath - db $15, $EE, $01; Weedle - db $13, $FF, $01; Kakuna - db $13, $60, $80; Beedrill - db $00, $00, $00; MissingNo. - db $0B, $99, $20; Dodrio - db $0A, $AF, $40; Primeape - db $0B, $2A, $10; Dugtrio - db $1A, $29, $80; Venomoth - db $0C, $23, $FF; Dewgong - db $00, $00, $00; MissingNo. - db $00, $00, $00; MissingNo. - db $16, $80, $20; Caterpie - db $1C, $CC, $01; Metapod - db $16, $77, $40; Butterfree - db $1F, $08, $C0; Machamp - db $11, $20, $10; MissingNo. - db $21, $FF, $40; Golduck - db $0D, $EE, $40; Hypno - db $1D, $FA, $80; Golbat - db $1E, $99, $FF; Mewtwo - db $05, $55, $01; Snorlax - db $17, $80, $00; Magikarp - db $00, $00, $00; MissingNo. - db $00, $00, $00; MissingNo. - db $07, $EF, $FF; Muk - db $0F, $40, $80; MissingNo. - db $20, $EE, $E0; Kingler - db $18, $6F, $E0; Cloyster - db $00, $00, $00; MissingNo. - db $06, $A8, $90; Electrode - db $19, $AA, $20; Clefable - db $12, $FF, $FF; Weezing - db $19, $99, $FF; Persian - db $08, $4F, $60; Marowak - db $00, $00, $00; MissingNo. - db $1C, $30, $40; Haunter - db $1C, $C0, $01; Abra - db $1C, $98, $FF; Alakazam - db $14, $28, $C0; Pidgeotto - db $14, $11, $FF; Pidgeot - db $1E, $00, $80; Starmie - db $0F, $80, $01; Bulbasaur - db $0F, $00, $C0; Venusaur - db $1A, $EE, $FF; Tentacruel - db $00, $00, $00; MissingNo. - db $16, $80, $40; Goldeen - db $16, $10, $FF; Seaking - db $00, $00, $00; MissingNo. - db $00, $00, $00; MissingNo. - db $00, $00, $00; MissingNo. - db $00, $00, $00; MissingNo. - db $25, $00, $80; Ponyta - db $25, $20, $C0; Rapidash - db $22, $00, $80; Rattata - db $22, $20, $FF; Raticate - db $00, $2C, $C0; Nidorino - db $01, $2C, $E0; Nidorina - db $24, $F0, $10; Geodude - db $25, $AA, $FF; Porygon - db $23, $20, $F0; Aerodactyl - db $00, $00, $00; MissingNo. - db $1C, $80, $60; Magnemite - db $00, $00, $00; MissingNo. - db $00, $00, $00; MissingNo. - db $04, $60, $40; Charmander - db $1D, $60, $40; Squirtle - db $04, $20, $40; Charmeleon - db $1D, $20, $40; Wartortle - db $04, $00, $80; Charizard - db $1D, $00, $80; MissingNo. - db $00, $00, $00; MissingNo. - db $00, $00, $00; MissingNo. - db $00, $00, $00; MissingNo. - db $08, $DD, $01; Oddish - db $08, $AA, $40; Gloom - db $23, $22, $FF; Vileplume - db $21, $55, $01; Bellsprout - db $25, $44, $20; Weepinbell - db $25, $66, $CC; Victreebel + ; base cry, pitch, length + db $11, $00, $80 ; Rhydon + db $03, $00, $80 ; Kangaskhan + db $00, $00, $80 ; Nidoran♂ + db $19, $CC, $01 ; Clefairy + db $10, $00, $80 ; Spearow + db $06, $ED, $80 ; Voltorb + db $09, $00, $80 ; Nidoking + db $1F, $00, $80 ; Slowbro + db $0F, $20, $80 ; Ivysaur + db $0D, $00, $80 ; Exeggutor + db $0C, $00, $80 ; Lickitung + db $0B, $00, $80 ; Exeggcute + db $05, $00, $80 ; Grimer + db $07, $00, $FF ; Gengar + db $01, $00, $80 ; Nidoran♀ + db $0A, $00, $80 ; Nidoqueen + db $19, $00, $80 ; Cubone + db $04, $00, $80 ; Rhyhorn + db $1B, $00, $80 ; Lapras + db $15, $00, $80 ; Arcanine + db $1E, $EE, $FF ; Mew + db $17, $00, $80 ; Gyarados + db $18, $00, $80 ; Shellder + db $1A, $00, $80 ; Tentacool + db $1C, $00, $80 ; Gastly + db $16, $00, $80 ; Scyther + db $1E, $02, $20 ; Staryu + db $13, $00, $80 ; Blastoise + db $14, $00, $80 ; Pinsir + db $12, $00, $80 ; Tangela + db $00, $00, $00 ; MissingNo. + db $00, $00, $00 ; MissingNo. + db $1F, $20, $40 ; Growlithe + db $17, $FF, $C0 ; Onix + db $18, $40, $A0 ; Fearow + db $0E, $DF, $04 ; Pidgey + db $02, $00, $80 ; Slowpoke + db $1C, $A8, $C0 ; Kadabra + db $24, $00, $80 ; Graveler + db $14, $0A, $C0 ; Chansey + db $1F, $48, $60 ; Machoke + db $20, $08, $40 ; Mr.Mime + db $12, $80, $C0 ; Hitmonlee + db $0C, $EE, $C0 ; Hitmonchan + db $17, $E0, $10 ; Arbok + db $1E, $42, $FF ; Parasect + db $21, $20, $60 ; Psyduck + db $0D, $88, $20 ; Drowzee + db $12, $E0, $40 ; Golem + db $00, $00, $00 ; MissingNo. + db $04, $FF, $30 ; Magmar + db $00, $00, $00 ; MissingNo. + db $06, $8F, $FF ; Electabuzz + db $1C, $20, $C0 ; Magneton + db $12, $E6, $DD ; Koffing + db $00, $00, $00 ; MissingNo. + db $0A, $DD, $60 ; Mankey + db $0C, $88, $C0 ; Seel + db $0B, $AA, $01 ; Diglett + db $1D, $11, $40 ; Tauros + db $00, $00, $00 ; MissingNo. + db $00, $00, $00 ; MissingNo. + db $00, $00, $00 ; MissingNo. + db $10, $DD, $01 ; Farfetch'd + db $1A, $44, $40 ; Venonat + db $0F, $3C, $C0 ; Dragonite + db $00, $80, $10 ; MissingNo. + db $00, $00, $00 ; MissingNo. + db $1D, $E0, $80 ; MissingNo. + db $0B, $BB, $01 ; Doduo + db $0E, $FF, $FF ; Poliwag + db $0D, $FF, $FF ; Jynx + db $09, $F8, $40 ; Moltres + db $09, $80, $40 ; Articuno + db $18, $FF, $80 ; Zapdos + db $0E, $FF, $FF ; Ditto + db $19, $77, $10 ; Meowth + db $20, $20, $E0 ; Krabby + db $22, $FF, $40 ; MissingNo. + db $00, $00, $00 ; MissingNo. + db $0E, $E0, $60 ; MissingNo. + db $24, $4F, $10 ; Vulpix + db $24, $88, $60 ; Ninetales + db $0F, $EE, $01 ; Pikachu + db $09, $EE, $08 ; Raichu + db $00, $00, $00 ; MissingNo. + db $00, $00, $00 ; MissingNo. + db $0F, $60, $40 ; Dratini + db $0F, $40, $80 ; Dragonair + db $16, $BB, $40 ; Kabuto + db $18, $EE, $01 ; Kabutops + db $19, $99, $10 ; Horsea + db $19, $3C, $01 ; Seadra + db $0F, $40, $C0 ; MissingNo. + db $0F, $20, $C0 ; MissingNo. + db $00, $20, $40 ; Sandshrew + db $00, $FF, $FF ; Sandslash + db $1F, $F0, $01 ; Omanyte + db $1F, $FF, $40 ; Omastar + db $0E, $FF, $35 ; Jigglypuff + db $0E, $68, $60 ; Wigglytuff + db $1A, $88, $60 ; Eevee + db $1A, $10, $20 ; Flareon + db $1A, $3D, $80 ; Jolteon + db $1A, $AA, $FF ; Vaporeon + db $1F, $EE, $01 ; Machop + db $1D, $E0, $80 ; Zubat + db $17, $12, $40 ; Ekans + db $1E, $20, $E0 ; Paras + db $0E, $77, $60 ; Poliwhirl + db $0E, $00, $FF ; Poliwrath + db $15, $EE, $01 ; Weedle + db $13, $FF, $01 ; Kakuna + db $13, $60, $80 ; Beedrill + db $00, $00, $00 ; MissingNo. + db $0B, $99, $20 ; Dodrio + db $0A, $AF, $40 ; Primeape + db $0B, $2A, $10 ; Dugtrio + db $1A, $29, $80 ; Venomoth + db $0C, $23, $FF ; Dewgong + db $00, $00, $00 ; MissingNo. + db $00, $00, $00 ; MissingNo. + db $16, $80, $20 ; Caterpie + db $1C, $CC, $01 ; Metapod + db $16, $77, $40 ; Butterfree + db $1F, $08, $C0 ; Machamp + db $11, $20, $10 ; MissingNo. + db $21, $FF, $40 ; Golduck + db $0D, $EE, $40 ; Hypno + db $1D, $FA, $80 ; Golbat + db $1E, $99, $FF ; Mewtwo + db $05, $55, $01 ; Snorlax + db $17, $80, $00 ; Magikarp + db $00, $00, $00 ; MissingNo. + db $00, $00, $00 ; MissingNo. + db $07, $EF, $FF ; Muk + db $0F, $40, $80 ; MissingNo. + db $20, $EE, $E0 ; Kingler + db $18, $6F, $E0 ; Cloyster + db $00, $00, $00 ; MissingNo. + db $06, $A8, $90 ; Electrode + db $19, $AA, $20 ; Clefable + db $12, $FF, $FF ; Weezing + db $19, $99, $FF ; Persian + db $08, $4F, $60 ; Marowak + db $00, $00, $00 ; MissingNo. + db $1C, $30, $40 ; Haunter + db $1C, $C0, $01 ; Abra + db $1C, $98, $FF ; Alakazam + db $14, $28, $C0 ; Pidgeotto + db $14, $11, $FF ; Pidgeot + db $1E, $00, $80 ; Starmie + db $0F, $80, $01 ; Bulbasaur + db $0F, $00, $C0 ; Venusaur + db $1A, $EE, $FF ; Tentacruel + db $00, $00, $00 ; MissingNo. + db $16, $80, $40 ; Goldeen + db $16, $10, $FF ; Seaking + db $00, $00, $00 ; MissingNo. + db $00, $00, $00 ; MissingNo. + db $00, $00, $00 ; MissingNo. + db $00, $00, $00 ; MissingNo. + db $25, $00, $80 ; Ponyta + db $25, $20, $C0 ; Rapidash + db $22, $00, $80 ; Rattata + db $22, $20, $FF ; Raticate + db $00, $2C, $C0 ; Nidorino + db $01, $2C, $E0 ; Nidorina + db $24, $F0, $10 ; Geodude + db $25, $AA, $FF ; Porygon + db $23, $20, $F0 ; Aerodactyl + db $00, $00, $00 ; MissingNo. + db $1C, $80, $60 ; Magnemite + db $00, $00, $00 ; MissingNo. + db $00, $00, $00 ; MissingNo. + db $04, $60, $40 ; Charmander + db $1D, $60, $40 ; Squirtle + db $04, $20, $40 ; Charmeleon + db $1D, $20, $40 ; Wartortle + db $04, $00, $80 ; Charizard + db $1D, $00, $80 ; MissingNo. + db $00, $00, $00 ; MissingNo. + db $00, $00, $00 ; MissingNo. + db $00, $00, $00 ; MissingNo. + db $08, $DD, $01 ; Oddish + db $08, $AA, $40 ; Gloom + db $23, $22, $FF ; Vileplume + db $21, $55, $01 ; Bellsprout + db $25, $44, $20 ; Weepinbell + db $25, $66, $CC ; Victreebel diff --git a/data/pokemon/dex_text.asm b/data/pokemon/dex_text.asm index 65f3d89d..cdb7e179 100644 --- a/data/pokemon/dex_text.asm +++ b/data/pokemon/dex_text.asm @@ -1507,4 +1507,3 @@ _VictreebelDexEntry:: next "has ever returned" next "from there" dex - diff --git a/data/predef_pointers.asm b/data/predef_pointers.asm index 9d206a48..3c74050d 100644 --- a/data/predef_pointers.asm +++ b/data/predef_pointers.asm @@ -1,7 +1,10 @@ add_predef: MACRO \1Predef:: - db BANK(\1) - dw \1 +IF _NARG == 1 + dba \1 +ELSE + dbw \2, \1 +ENDC ENDM PredefPointers:: @@ -13,7 +16,7 @@ PredefPointers:: add_predef ScaleSpriteByTwo add_predef LoadMonBackPic add_predef CopyDownscaledMonTiles - dbw $03,JumpMoveEffect ; wrong bank + add_predef JumpMoveEffect, $03 ; wrong bank add_predef HealParty add_predef MoveAnimation add_predef DivideBCDPredef @@ -36,8 +39,8 @@ PredefPointers:: add_predef LearnMoveFromLevelUp add_predef LearnMove add_predef GetQuantityOfItemInBag - dbw $03,CheckForHiddenObjectOrBookshelfOrCardKeyDoor ; home bank - dbw $03,GiveItem ; home bank + add_predef CheckForHiddenObjectOrBookshelfOrCardKeyDoor, $03 ; home bank + add_predef GiveItem, $03 ; home bank add_predef ChangeBGPalColor0_4Frames add_predef FindPathToPlayer add_predef PredefShakeScreenVertically @@ -94,8 +97,8 @@ PredefPointers:: add_predef DoInGameTradeDialogue add_predef HallOfFamePC add_predef DisplayDexRating - dbw $1E, _LeaveMapAnim ; wrong bank - dbw $1E, EnterMapAnim ; wrong bank + add_predef _LeaveMapAnim, $1E ; wrong bank + add_predef EnterMapAnim, $1E ; wrong bank add_predef GetTileTwoStepsInFrontOfPlayer add_predef CheckForCollisionWhenPushingBoulder add_predef PrintStrengthTxt diff --git a/data/sprites/facings.asm b/data/sprites/facings.asm index c412247a..9bfb0027 100644 --- a/data/sprites/facings.asm +++ b/data/sprites/facings.asm @@ -1,57 +1,59 @@ SpriteFacingAndAnimationTable: - dw SpriteFacingDownAndStanding, SpriteOAMParameters ; facing down, walk animation frame 0 - dw SpriteFacingDownAndWalking, SpriteOAMParameters ; facing down, walk animation frame 1 - dw SpriteFacingDownAndStanding, SpriteOAMParameters ; facing down, walk animation frame 2 - dw SpriteFacingDownAndWalking, SpriteOAMParametersFlipped ; facing down, walk animation frame 3 - dw SpriteFacingUpAndStanding, SpriteOAMParameters ; facing up, walk animation frame 0 - dw SpriteFacingUpAndWalking, SpriteOAMParameters ; facing up, walk animation frame 1 - dw SpriteFacingUpAndStanding, SpriteOAMParameters ; facing up, walk animation frame 2 - dw SpriteFacingUpAndWalking, SpriteOAMParametersFlipped ; facing up, walk animation frame 3 - dw SpriteFacingLeftAndStanding, SpriteOAMParameters ; facing left, walk animation frame 0 - dw SpriteFacingLeftAndWalking, SpriteOAMParameters ; facing left, walk animation frame 1 - dw SpriteFacingLeftAndStanding, SpriteOAMParameters ; facing left, walk animation frame 2 - dw SpriteFacingLeftAndWalking, SpriteOAMParameters ; facing left, walk animation frame 3 - dw SpriteFacingLeftAndStanding, SpriteOAMParametersFlipped ; facing right, walk animation frame 0 - dw SpriteFacingLeftAndWalking, SpriteOAMParametersFlipped ; facing right, walk animation frame 1 - dw SpriteFacingLeftAndStanding, SpriteOAMParametersFlipped ; facing right, walk animation frame 2 - dw SpriteFacingLeftAndWalking, SpriteOAMParametersFlipped ; facing right, walk animation frame 3 - dw SpriteFacingDownAndStanding, SpriteOAMParameters ; --- - dw SpriteFacingDownAndStanding, SpriteOAMParameters ; This table is used for sprites $a and $b. - dw SpriteFacingDownAndStanding, SpriteOAMParameters ; All orientation and animation parameters - dw SpriteFacingDownAndStanding, SpriteOAMParameters ; lead to the same result. Used for immobile - dw SpriteFacingDownAndStanding, SpriteOAMParameters ; sprites like items on the ground - dw SpriteFacingDownAndStanding, SpriteOAMParameters ; --- - dw SpriteFacingDownAndStanding, SpriteOAMParameters - dw SpriteFacingDownAndStanding, SpriteOAMParameters - dw SpriteFacingDownAndStanding, SpriteOAMParameters - dw SpriteFacingDownAndStanding, SpriteOAMParameters - dw SpriteFacingDownAndStanding, SpriteOAMParameters - dw SpriteFacingDownAndStanding, SpriteOAMParameters - dw SpriteFacingDownAndStanding, SpriteOAMParameters - dw SpriteFacingDownAndStanding, SpriteOAMParameters - dw SpriteFacingDownAndStanding, SpriteOAMParameters - dw SpriteFacingDownAndStanding, SpriteOAMParameters +; This table is used for overworld sprites $1-$9. + dw .StandingDown, .NormalOAM ; facing down, walk animation frame 0 + dw .WalkingDown, .NormalOAM ; facing down, walk animation frame 1 + dw .StandingDown, .NormalOAM ; facing down, walk animation frame 2 + dw .WalkingDown, .FlippedOAM ; facing down, walk animation frame 3 + dw .StandingUp, .NormalOAM ; facing up, walk animation frame 0 + dw .WalkingUp, .NormalOAM ; facing up, walk animation frame 1 + dw .StandingUp, .NormalOAM ; facing up, walk animation frame 2 + dw .WalkingUp, .FlippedOAM ; facing up, walk animation frame 3 + dw .StandingLeft, .NormalOAM ; facing left, walk animation frame 0 + dw .WalkingLeft, .NormalOAM ; facing left, walk animation frame 1 + dw .StandingLeft, .NormalOAM ; facing left, walk animation frame 2 + dw .WalkingLeft, .NormalOAM ; facing left, walk animation frame 3 + dw .StandingLeft, .FlippedOAM ; facing right, walk animation frame 0 + dw .WalkingLeft, .FlippedOAM ; facing right, walk animation frame 1 + dw .StandingLeft, .FlippedOAM ; facing right, walk animation frame 2 + dw .WalkingLeft, .FlippedOAM ; facing right, walk animation frame 3 +; The rest of this table is used for sprites $a and $b. +; All orientation and animation parameters lead to the same result. +; Used for immobile sprites like items on the ground. + dw .StandingDown, .NormalOAM ; facing down, walk animation frame 0 + dw .StandingDown, .NormalOAM ; facing down, walk animation frame 1 + dw .StandingDown, .NormalOAM ; facing down, walk animation frame 2 + dw .StandingDown, .NormalOAM ; facing down, walk animation frame 3 + dw .StandingDown, .NormalOAM ; facing up, walk animation frame 0 + dw .StandingDown, .NormalOAM ; facing up, walk animation frame 1 + dw .StandingDown, .NormalOAM ; facing up, walk animation frame 2 + dw .StandingDown, .NormalOAM ; facing up, walk animation frame 3 + dw .StandingDown, .NormalOAM ; facing left, walk animation frame 0 + dw .StandingDown, .NormalOAM ; facing left, walk animation frame 1 + dw .StandingDown, .NormalOAM ; facing left, walk animation frame 2 + dw .StandingDown, .NormalOAM ; facing left, walk animation frame 3 + dw .StandingDown, .NormalOAM ; facing right, walk animation frame 0 + dw .StandingDown, .NormalOAM ; facing right, walk animation frame 1 + dw .StandingDown, .NormalOAM ; facing right, walk animation frame 2 + dw .StandingDown, .NormalOAM ; facing right, walk animation frame 3 -SpriteFacingDownAndStanding: - db $00,$01,$02,$03 -SpriteFacingDownAndWalking: - db $80,$81,$82,$83 -SpriteFacingUpAndStanding: - db $04,$05,$06,$07 -SpriteFacingUpAndWalking: - db $84,$85,$86,$87 -SpriteFacingLeftAndStanding: - db $08,$09,$0a,$0b -SpriteFacingLeftAndWalking: - db $88,$89,$8a,$8b +; four tile ids compose an overworld sprite +.StandingDown: db $00, $01, $02, $03 +.WalkingDown: db $80, $81, $82, $83 +.StandingUp: db $04, $05, $06, $07 +.WalkingUp: db $84, $85, $86, $87 +.StandingLeft: db $08, $09, $0a, $0b +.WalkingLeft: db $88, $89, $8a, $8b -SpriteOAMParameters: - db $00,$00, $00 ; top left - db $00,$08, $00 ; top right - db $08,$00, OAMFLAG_CANBEMASKED ; bottom left - db $08,$08, OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA ; bottom right -SpriteOAMParametersFlipped: - db $00,$08, OAMFLAG_VFLIPPED - db $00,$00, OAMFLAG_VFLIPPED - db $08,$08, OAMFLAG_VFLIPPED | OAMFLAG_CANBEMASKED - db $08,$00, OAMFLAG_VFLIPPED | OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA +.NormalOAM: +; y, x, attributes + db 0, 0, $00 ; top left + db 0, 8, $00 ; top right + db 8, 0, OAMFLAG_CANBEMASKED ; bottom left + db 8, 8, OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA ; bottom right + +.FlippedOAM: +; y, x, attributes + db 0, 8, OAMFLAG_VFLIPPED ; top left + db 0, 0, OAMFLAG_VFLIPPED ; top right + db 8, 8, OAMFLAG_VFLIPPED | OAMFLAG_CANBEMASKED ; bottom left + db 8, 0, OAMFLAG_VFLIPPED | OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA ; bottom right diff --git a/data/sprites/sprites.asm b/data/sprites/sprites.asm index 9a6f383f..4cf1e939 100644 --- a/data/sprites/sprites.asm +++ b/data/sprites/sprites.asm @@ -1,360 +1,80 @@ -SpriteSheetPointerTable: - ; SPRITE_RED - dw RedSprite - db $c0 ; byte count - db BANK(RedSprite) - - ; SPRITE_BLUE - dw BlueSprite - db $c0 ; byte count - db BANK(BlueSprite) - - ; SPRITE_OAK - dw OakSprite - db $c0 ; byte count - db BANK(OakSprite) - - ; SPRITE_BUG_CATCHER - dw BugCatcherSprite - db $c0 ; byte count - db BANK(BugCatcherSprite) - - ; SPRITE_SLOWBRO - dw SlowbroSprite - db $c0 ; byte count - db BANK(SlowbroSprite) - - ; SPRITE_LASS - dw LassSprite - db $c0 ; byte count - db BANK(LassSprite) - - ; SPRITE_BLACK_HAIR_BOY_1 - dw BlackHairBoy1Sprite - db $c0 ; byte count - db BANK(BlackHairBoy1Sprite) - - ; SPRITE_LITTLE_GIRL - dw LittleGirlSprite - db $c0 ; byte count - db BANK(LittleGirlSprite) - - ; SPRITE_BIRD - dw BirdSprite - db $c0 ; byte count - db BANK(BirdSprite) - - ; SPRITE_FAT_BALD_GUY - dw FatBaldGuySprite - db $c0 ; byte count - db BANK(FatBaldGuySprite) - - ; SPRITE_GAMBLER - dw GamblerSprite - db $c0 ; byte count - db BANK(GamblerSprite) - - ; SPRITE_BLACK_HAIR_BOY_2 - dw BlackHairBoy2Sprite - db $c0 ; byte count - db BANK(BlackHairBoy2Sprite) - - ; SPRITE_GIRL - dw GirlSprite - db $c0 ; byte count - db BANK(GirlSprite) - - ; SPRITE_HIKER - dw HikerSprite - db $c0 ; byte count - db BANK(HikerSprite) - - ; SPRITE_FOULARD_WOMAN - dw FoulardWomanSprite - db $c0 ; byte count - db BANK(FoulardWomanSprite) - - ; SPRITE_GENTLEMAN - dw GentlemanSprite - db $c0 ; byte count - db BANK(GentlemanSprite) - - ; SPRITE_DAISY - dw DaisySprite - db $c0 ; byte count - db BANK(DaisySprite) - - ; SPRITE_BIKER - dw BikerSprite - db $c0 ; byte count - db BANK(BikerSprite) - - ; SPRITE_SAILOR - dw SailorSprite - db $c0 ; byte count - db BANK(SailorSprite) - - ; SPRITE_COOK - dw CookSprite - db $c0 ; byte count - db BANK(CookSprite) - - ; SPRITE_BIKE_SHOP_GUY - dw BikeShopGuySprite - db $c0 ; byte count - db BANK(BikeShopGuySprite) - - ; SPRITE_MR_FUJI - dw MrFujiSprite - db $c0 ; byte count - db BANK(MrFujiSprite) - - ; SPRITE_GIOVANNI - dw GiovanniSprite - db $c0 ; byte count - db BANK(GiovanniSprite) - - ; SPRITE_ROCKET - dw RocketSprite - db $c0 ; byte count - db BANK(RocketSprite) - - ; SPRITE_MEDIUM - dw MediumSprite - db $c0 ; byte count - db BANK(MediumSprite) - - ; SPRITE_WAITER - dw WaiterSprite - db $c0 ; byte count - db BANK(WaiterSprite) - - ; SPRITE_ERIKA - dw ErikaSprite - db $c0 ; byte count - db BANK(ErikaSprite) - - ; SPRITE_MOM_GEISHA - dw MomGeishaSprite - db $c0 ; byte count - db BANK(MomGeishaSprite) - - ; SPRITE_BRUNETTE_GIRL - dw BrunetteGirlSprite - db $c0 ; byte count - db BANK(BrunetteGirlSprite) - - ; SPRITE_LANCE - dw LanceSprite - db $c0 ; byte count - db BANK(LanceSprite) - - ; SPRITE_OAK_SCIENTIST_AIDE - dw OakAideSprite - db $c0 ; byte count - db BANK(OakAideSprite) - - ; SPRITE_OAK_AIDE - dw OakAideSprite - db $c0 ; byte count - db BANK(OakAideSprite) - - ; SPRITE_ROCKER - dw RockerSprite - db $c0 ; byte count - db BANK(RockerSprite) - - ; SPRITE_SWIMMER - dw SwimmerSprite - db $c0 ; byte count - db BANK(SwimmerSprite) - - ; SPRITE_WHITE_PLAYER - dw WhitePlayerSprite - db $c0 ; byte count - db BANK(WhitePlayerSprite) - - ; SPRITE_GYM_HELPER - dw GymHelperSprite - db $c0 ; byte count - db BANK(GymHelperSprite) +overworld_sprite: MACRO + dw \1 + db \2 tiles + db BANK(\1) +ENDM - ; SPRITE_OLD_PERSON - dw OldPersonSprite - db $c0 ; byte count - db BANK(OldPersonSprite) - - ; SPRITE_MART_GUY - dw MartGuySprite - db $c0 ; byte count - db BANK(MartGuySprite) - - ; SPRITE_FISHER - dw FisherSprite - db $c0 ; byte count - db BANK(FisherSprite) - - ; SPRITE_OLD_MEDIUM_WOMAN - dw OldMediumWomanSprite - db $c0 ; byte count - db BANK(OldMediumWomanSprite) - - ; SPRITE_NURSE - dw NurseSprite - db $c0 ; byte count - db BANK(NurseSprite) - - ; SPRITE_CABLE_CLUB_WOMAN - dw CableClubWomanSprite - db $c0 ; byte count - db BANK(CableClubWomanSprite) - - ; SPRITE_MR_MASTERBALL - dw MrMasterballSprite - db $c0 ; byte count - db BANK(MrMasterballSprite) - - ; SPRITE_LAPRAS_GIVER - dw LaprasGiverSprite - db $c0 ; byte count - db BANK(LaprasGiverSprite) - - ; SPRITE_WARDEN - dw WardenSprite - db $c0 ; byte count - db BANK(WardenSprite) - - ; SPRITE_SS_CAPTAIN - dw SsCaptainSprite - db $c0 ; byte count - db BANK(SsCaptainSprite) - - ; SPRITE_FISHER2 - dw Fisher2Sprite - db $c0 ; byte count - db BANK(Fisher2Sprite) - - ; SPRITE_BLACKBELT - dw BlackbeltSprite - db $c0 ; byte count - db BANK(BlackbeltSprite) - - ; SPRITE_GUARD - dw GuardSprite - db $c0 ; byte count - db BANK(GuardSprite) - - ; $32 - dw GuardSprite - db $c0 ; byte count - db BANK(GuardSprite) - - ; SPRITE_MOM - dw MomSprite - db $c0 ; byte count - db BANK(MomSprite) - - ; SPRITE_BALDING_GUY - dw BaldingGuySprite - db $c0 ; byte count - db BANK(BaldingGuySprite) - - ; SPRITE_YOUNG_BOY - dw YoungBoySprite - db $c0 ; byte count - db BANK(YoungBoySprite) - - ; SPRITE_GAMEBOY_KID - dw GameboyKidSprite - db $c0 ; byte count - db BANK(GameboyKidSprite) - - ; SPRITE_GAMEBOY_KID_COPY - dw GameboyKidSprite - db $c0 ; byte count - db BANK(GameboyKidSprite) - - ; SPRITE_CLEFAIRY - dw ClefairySprite - db $c0 ; byte count - db BANK(ClefairySprite) - - ; SPRITE_AGATHA - dw AgathaSprite - db $c0 ; byte count - db BANK(AgathaSprite) - - ; SPRITE_BRUNO - dw BrunoSprite - db $c0 ; byte count - db BANK(BrunoSprite) - - ; SPRITE_LORELEI - dw LoreleiSprite - db $c0 ; byte count - db BANK(LoreleiSprite) - - ; SPRITE_SEEL - dw SeelSprite - db $c0 ; byte count - db BANK(SeelSprite) - - ; SPRITE_BALL - dw BallSprite - db $40 ; byte count - db BANK(BallSprite) - - ; SPRITE_OMANYTE - dw OmanyteSprite - db $40 ; byte count - db BANK(OmanyteSprite) - - ; SPRITE_BOULDER - dw BoulderSprite - db $40 ; byte count - db BANK(BoulderSprite) - - ; SPRITE_PAPER_SHEET - dw PaperSheetSprite - db $40 ; byte count - db BANK(PaperSheetSprite) - - ; SPRITE_BOOK_MAP_DEX - dw BookMapDexSprite - db $40 ; byte count - db BANK(BookMapDexSprite) - - ; SPRITE_CLIPBOARD - dw ClipboardSprite - db $40 ; byte count - db BANK(ClipboardSprite) - - ; SPRITE_SNORLAX - dw SnorlaxSprite - db $40 ; byte count - db BANK(SnorlaxSprite) - - ; SPRITE_OLD_AMBER_COPY - dw OldAmberSprite - db $40 ; byte count - db BANK(OldAmberSprite) - - ; SPRITE_OLD_AMBER - dw OldAmberSprite - db $40 ; byte count - db BANK(OldAmberSprite) - - ; SPRITE_LYING_OLD_MAN_UNUSED_1 - dw LyingOldManSprite - db $40 ; byte count - db BANK(LyingOldManSprite) - - ; SPRITE_LYING_OLD_MAN_UNUSED_2 - dw LyingOldManSprite - db $40 ; byte count - db BANK(LyingOldManSprite) - - ; SPRITE_LYING_OLD_MAN - dw LyingOldManSprite - db $40 ; byte count - db BANK(LyingOldManSprite) +SpriteSheetPointerTable: +; graphics, tile count + overworld_sprite RedSprite, 12 ; SPRITE_RED + overworld_sprite BlueSprite, 12 ; SPRITE_BLUE + overworld_sprite OakSprite, 12 ; SPRITE_OAK + overworld_sprite BugCatcherSprite, 12 ; SPRITE_BUG_CATCHER + overworld_sprite SlowbroSprite, 12 ; SPRITE_SLOWBRO + overworld_sprite LassSprite, 12 ; SPRITE_LASS + overworld_sprite BlackHairBoy1Sprite, 12 ; SPRITE_BLACK_HAIR_BOY_1 + overworld_sprite LittleGirlSprite, 12 ; SPRITE_LITTLE_GIRL + overworld_sprite BirdSprite, 12 ; SPRITE_BIRD + overworld_sprite FatBaldGuySprite, 12 ; SPRITE_FAT_BALD_GUY + overworld_sprite GamblerSprite, 12 ; SPRITE_GAMBLER + overworld_sprite BlackHairBoy2Sprite, 12 ; SPRITE_BLACK_HAIR_BOY_2 + overworld_sprite GirlSprite, 12 ; SPRITE_GIRL + overworld_sprite HikerSprite, 12 ; SPRITE_HIKER + overworld_sprite FoulardWomanSprite, 12 ; SPRITE_FOULARD_WOMAN + overworld_sprite GentlemanSprite, 12 ; SPRITE_GENTLEMAN + overworld_sprite DaisySprite, 12 ; SPRITE_DAISY + overworld_sprite BikerSprite, 12 ; SPRITE_BIKER + overworld_sprite SailorSprite, 12 ; SPRITE_SAILOR + overworld_sprite CookSprite, 12 ; SPRITE_COOK + overworld_sprite BikeShopGuySprite, 12 ; SPRITE_BIKE_SHOP_GUY + overworld_sprite MrFujiSprite, 12 ; SPRITE_MR_FUJI + overworld_sprite GiovanniSprite, 12 ; SPRITE_GIOVANNI + overworld_sprite RocketSprite, 12 ; SPRITE_ROCKET + overworld_sprite MediumSprite, 12 ; SPRITE_MEDIUM + overworld_sprite WaiterSprite, 12 ; SPRITE_WAITER + overworld_sprite ErikaSprite, 12 ; SPRITE_ERIKA + overworld_sprite MomGeishaSprite, 12 ; SPRITE_MOM_GEISHA + overworld_sprite BrunetteGirlSprite, 12 ; SPRITE_BRUNETTE_GIRL + overworld_sprite LanceSprite, 12 ; SPRITE_LANCE + overworld_sprite OakAideSprite, 12 ; SPRITE_OAK_SCIENTIST_AIDE + overworld_sprite OakAideSprite, 12 ; SPRITE_OAK_AIDE + overworld_sprite RockerSprite, 12 ; SPRITE_ROCKER + overworld_sprite SwimmerSprite, 12 ; SPRITE_SWIMMER + overworld_sprite WhitePlayerSprite, 12 ; SPRITE_WHITE_PLAYER + overworld_sprite GymHelperSprite, 12 ; SPRITE_GYM_HELPER + overworld_sprite OldPersonSprite, 12 ; SPRITE_OLD_PERSON + overworld_sprite MartGuySprite, 12 ; SPRITE_MART_GUY + overworld_sprite FisherSprite, 12 ; SPRITE_FISHER + overworld_sprite OldMediumWomanSprite, 12 ; SPRITE_OLD_MEDIUM_WOMAN + overworld_sprite NurseSprite, 12 ; SPRITE_NURSE + overworld_sprite CableClubWomanSprite, 12 ; SPRITE_CABLE_CLUB_WOMAN + overworld_sprite MrMasterballSprite, 12 ; SPRITE_MR_MASTERBALL + overworld_sprite LaprasGiverSprite, 12 ; SPRITE_LAPRAS_GIVER + overworld_sprite WardenSprite, 12 ; SPRITE_WARDEN + overworld_sprite SsCaptainSprite, 12 ; SPRITE_SS_CAPTAIN + overworld_sprite Fisher2Sprite, 12 ; SPRITE_FISHER2 + overworld_sprite BlackbeltSprite, 12 ; SPRITE_BLACKBELT + overworld_sprite GuardSprite, 12 ; SPRITE_GUARD + overworld_sprite GuardSprite, 12 ; $32 + overworld_sprite MomSprite, 12 ; SPRITE_MOM + overworld_sprite BaldingGuySprite, 12 ; SPRITE_BALDING_GUY + overworld_sprite YoungBoySprite, 12 ; SPRITE_YOUNG_BOY + overworld_sprite GameboyKidSprite, 12 ; SPRITE_GAMEBOY_KID + overworld_sprite GameboyKidSprite, 12 ; SPRITE_GAMEBOY_KID_COPY + overworld_sprite ClefairySprite, 12 ; SPRITE_CLEFAIRY + overworld_sprite AgathaSprite, 12 ; SPRITE_AGATHA + overworld_sprite BrunoSprite, 12 ; SPRITE_BRUNO + overworld_sprite LoreleiSprite, 12 ; SPRITE_LORELEI + overworld_sprite SeelSprite, 12 ; SPRITE_SEEL + overworld_sprite BallSprite, 4 ; SPRITE_BALL + overworld_sprite OmanyteSprite, 4 ; SPRITE_OMANYTE + overworld_sprite BoulderSprite, 4 ; SPRITE_BOULDER + overworld_sprite PaperSheetSprite, 4 ; SPRITE_PAPER_SHEET + overworld_sprite BookMapDexSprite, 4 ; SPRITE_BOOK_MAP_DEX + overworld_sprite ClipboardSprite, 4 ; SPRITE_CLIPBOARD + overworld_sprite SnorlaxSprite, 4 ; SPRITE_SNORLAX + overworld_sprite OldAmberSprite, 4 ; SPRITE_OLD_AMBER_COPY + overworld_sprite OldAmberSprite, 4 ; SPRITE_OLD_AMBER + overworld_sprite LyingOldManSprite, 4 ; SPRITE_LYING_OLD_MAN_UNUSED_1 + overworld_sprite LyingOldManSprite, 4 ; SPRITE_LYING_OLD_MAN_UNUSED_2 + overworld_sprite LyingOldManSprite, 4 ; SPRITE_LYING_OLD_MAN diff --git a/data/tilesets/bike_riding_tilesets.asm b/data/tilesets/bike_riding_tilesets.asm index 48c2cee6..b78c7c8c 100755 --- a/data/tilesets/bike_riding_tilesets.asm +++ b/data/tilesets/bike_riding_tilesets.asm @@ -1,2 +1,7 @@ BikeRidingTilesets:: - db OVERWORLD, FOREST, UNDERGROUND, SHIP_PORT, CAVERN, $FF + db OVERWORLD + db FOREST + db UNDERGROUND + db SHIP_PORT + db CAVERN + db -1 ; end diff --git a/data/tilesets/bookshelf_tile_ids.asm b/data/tilesets/bookshelf_tile_ids.asm index 535bf8e9..da340cdf 100644 --- a/data/tilesets/bookshelf_tile_ids.asm +++ b/data/tilesets/bookshelf_tile_ids.asm @@ -1,37 +1,25 @@ -; format: db tileset id, bookshelf tile id, text id +bookshelf_tile: MACRO + db \1, \2 + db_tx_pre \3 +ENDM + BookshelfTileIDs: - db PLATEAU, $30 - db_tx_pre IndigoPlateauStatues - db HOUSE, $3D - db_tx_pre TownMapText - db HOUSE, $1E - db_tx_pre BookOrSculptureText - db MANSION, $32 - db_tx_pre BookOrSculptureText - db REDS_HOUSE_1, $32 - db_tx_pre BookOrSculptureText - db LAB, $28 - db_tx_pre BookOrSculptureText - db LOBBY, $16 - db_tx_pre ElevatorText - db GYM, $1D - db_tx_pre BookOrSculptureText - db DOJO, $1D - db_tx_pre BookOrSculptureText - db GATE, $22 - db_tx_pre BookOrSculptureText - db MART, $54 - db_tx_pre PokemonStuffText - db MART, $55 - db_tx_pre PokemonStuffText - db POKECENTER, $54 - db_tx_pre PokemonStuffText - db POKECENTER, $55 - db_tx_pre PokemonStuffText - db LOBBY, $50 - db_tx_pre PokemonStuffText - db LOBBY, $52 - db_tx_pre PokemonStuffText - db SHIP, $36 - db_tx_pre BookOrSculptureText - db $FF +; tileset id, bookshelf tile id, text id + bookshelf_tile PLATEAU, $30, IndigoPlateauStatues + bookshelf_tile HOUSE, $3D, TownMapText + bookshelf_tile HOUSE, $1E, BookOrSculptureText + bookshelf_tile MANSION, $32, BookOrSculptureText + bookshelf_tile REDS_HOUSE_1, $32, BookOrSculptureText + bookshelf_tile LAB, $28, BookOrSculptureText + bookshelf_tile LOBBY, $16, ElevatorText + bookshelf_tile GYM, $1D, BookOrSculptureText + bookshelf_tile DOJO, $1D, BookOrSculptureText + bookshelf_tile GATE, $22, BookOrSculptureText + bookshelf_tile MART, $54, PokemonStuffText + bookshelf_tile MART, $55, PokemonStuffText + bookshelf_tile POKECENTER, $54, PokemonStuffText + bookshelf_tile POKECENTER, $55, PokemonStuffText + bookshelf_tile LOBBY, $50, PokemonStuffText + bookshelf_tile LOBBY, $52, PokemonStuffText + bookshelf_tile SHIP, $36, BookOrSculptureText + db -1 ; end diff --git a/data/tilesets/collision_tile_ids.asm b/data/tilesets/collision_tile_ids.asm index c18a7e72..d348d5d5 100644 --- a/data/tilesets/collision_tile_ids.asm +++ b/data/tilesets/collision_tile_ids.asm @@ -1,82 +1,71 @@ -Underground_Coll:: - db $0b, $0c, $13, $15, $18 +coll_tiles: MACRO +REPT _NARG + db \1 + shift +ENDR db -1 ; end +ENDM + +Underground_Coll:: + coll_tiles $0b, $0c, $13, $15, $18 Overworld_Coll:: - db $00, $10, $1b, $20, $21, $23, $2c, $2d, $2e, $30, $31, $33, $39, $3c, $3e, $52, $54, $58, $5b - db -1 ; end + coll_tiles $00, $10, $1b, $20, $21, $23, $2c, $2d, $2e, $30, $31, $33, $39, $3c, $3e, $52, $54, $58, $5b RedsHouse1_Coll:: RedsHouse2_Coll:: - db $01, $02, $03, $11, $12, $13, $14, $1c, $1a - db -1 ; end + coll_tiles $01, $02, $03, $11, $12, $13, $14, $1c, $1a Mart_Coll:: Pokecenter_Coll:: - db $11, $1a, $1c, $3c, $5e - db -1 ; end + coll_tiles $11, $1a, $1c, $3c, $5e Dojo_Coll:: Gym_Coll:: - db $11, $16, $19, $2b, $3c, $3d, $3f, $4a, $4c, $4d, $03 - db -1 ; end + coll_tiles $11, $16, $19, $2b, $3c, $3d, $3f, $4a, $4c, $4d, $03 Forest_Coll:: - db $1e, $20, $2e, $30, $34, $37, $39, $3a, $40, $51, $52, $5a, $5c, $5e, $5f - db -1 ; end + coll_tiles $1e, $20, $2e, $30, $34, $37, $39, $3a, $40, $51, $52, $5a, $5c, $5e, $5f House_Coll:: - db $01, $12, $14, $28, $32, $37, $44, $54, $5c - db -1 ; end + coll_tiles $01, $12, $14, $28, $32, $37, $44, $54, $5c ForestGate_Coll:: Museum_Coll:: Gate_Coll:: - db $01, $12, $14, $1a, $1c, $37, $38, $3b, $3c, $5e - db -1 ; end + coll_tiles $01, $12, $14, $1a, $1c, $37, $38, $3b, $3c, $5e Ship_Coll:: - db $04, $0d, $17, $1d, $1e, $23, $34, $37, $39, $4a - db -1 ; end + coll_tiles $04, $0d, $17, $1d, $1e, $23, $34, $37, $39, $4a ShipPort_Coll:: - db $0a, $1a, $32, $3b - db -1 ; end + coll_tiles $0a, $1a, $32, $3b Cemetery_Coll:: - db $01, $10, $13, $1b, $22, $42, $52 - db -1 ; end + coll_tiles $01, $10, $13, $1b, $22, $42, $52 Interior_Coll:: - db $04, $0f, $15, $1f, $3b, $45, $47, $55, $56 - db -1 ; end + coll_tiles $04, $0f, $15, $1f, $3b, $45, $47, $55, $56 Cavern_Coll:: - db $05, $15, $18, $1a, $20, $21, $22, $2a, $2d, $30 - db -1 ; end + coll_tiles $05, $15, $18, $1a, $20, $21, $22, $2a, $2d, $30 - db -1 ; unused + coll_tiles ; unused Lobby_Coll:: - db $14, $17, $1a, $1c, $20, $38, $45 - db -1 ; end + coll_tiles $14, $17, $1a, $1c, $20, $38, $45 Mansion_Coll:: - db $01, $05, $11, $12, $14, $1a, $1c, $2c, $53 - db -1 ; end + coll_tiles $01, $05, $11, $12, $14, $1a, $1c, $2c, $53 Lab_Coll:: - db $0c, $26, $16, $1e, $34, $37 - db -1 ; end + coll_tiles $0c, $26, $16, $1e, $34, $37 Club_Coll:: - db $0f, $1a, $1f, $26, $28, $29, $2c, $2d, $2e, $2f, $41 - db -1 ; end + coll_tiles $0f, $1a, $1f, $26, $28, $29, $2c, $2d, $2e, $2f, $41 Facility_Coll:: - db $01, $10, $11, $13, $1b, $20, $21, $22, $30, $31, $32, $42, $43, $48, $52, $55, $58, $5e - db -1 ; end + coll_tiles $01, $10, $11, $13, $1b, $20, $21, $22, $30, $31, $32, $42, $43, $48, $52, $55, $58, $5e Plateau_Coll:: - db $1b, $23, $2c, $2d, $3b, $45 - db -1 ; end + coll_tiles $1b, $23, $2c, $2d, $3b, $45 diff --git a/data/tilesets/cut_tree_blocks.asm b/data/tilesets/cut_tree_blocks.asm index eb63a712..ce7903a4 100644 --- a/data/tilesets/cut_tree_blocks.asm +++ b/data/tilesets/cut_tree_blocks.asm @@ -10,4 +10,4 @@ CutTreeBlockSwaps: db $3C, $35 db $3F, $35 db $3D, $36 - db $FF ; list terminator + db -1 ; end diff --git a/data/tilesets/door_tile_ids.asm b/data/tilesets/door_tile_ids.asm index 686e418c..c371e92b 100644 --- a/data/tilesets/door_tile_ids.asm +++ b/data/tilesets/door_tile_ids.asm @@ -1,48 +1,56 @@ DoorTileIDPointers: - dbw OVERWORLD, OverworldDoorTileIDs - dbw FOREST, ForestDoorTileIDs - dbw MART, MartDoorTileIDs - dbw HOUSE, HouseDoorTileIDs - dbw FOREST_GATE, TilesetMuseumDoorTileIDs - dbw MUSEUM, TilesetMuseumDoorTileIDs - dbw GATE, TilesetMuseumDoorTileIDs - dbw SHIP, ShipDoorTileIDs - dbw LOBBY, LobbyDoorTileIDs - dbw MANSION, MansionDoorTileIDs - dbw LAB, LabDoorTileIDs - dbw FACILITY, FacilityDoorTileIDs - dbw PLATEAU, PlateauDoorTileIDs - db $ff - -OverworldDoorTileIDs: - db $1B,$58,$00 - -ForestDoorTileIDs: - db $3a,$00 - -MartDoorTileIDs: - db $5e,$00 - -HouseDoorTileIDs: - db $54,$00 - -TilesetMuseumDoorTileIDs: - db $3b,$00 - -ShipDoorTileIDs: - db $1e,$00 - -LobbyDoorTileIDs: - db $1c,$38,$1a,$00 - -MansionDoorTileIDs: - db $1a,$1c,$53,$00 - -LabDoorTileIDs: - db $34,$00 - -FacilityDoorTileIDs: - db $43,$58,$1b,$00 - -PlateauDoorTileIDs: - db $3b,$1b,$00 + dbw OVERWORLD, .OverworldDoorTileIDs + dbw FOREST, .ForestDoorTileIDs + dbw MART, .MartDoorTileIDs + dbw HOUSE, .HouseDoorTileIDs + dbw FOREST_GATE, .TilesetMuseumDoorTileIDs + dbw MUSEUM, .TilesetMuseumDoorTileIDs + dbw GATE, .TilesetMuseumDoorTileIDs + dbw SHIP, .ShipDoorTileIDs + dbw LOBBY, .LobbyDoorTileIDs + dbw MANSION, .MansionDoorTileIDs + dbw LAB, .LabDoorTileIDs + dbw FACILITY, .FacilityDoorTileIDs + dbw PLATEAU, .PlateauDoorTileIDs + db -1 ; end + +door_tiles: MACRO +REPT _NARG + db \1 + shift +ENDR + db 0 ; end +ENDM + +.OverworldDoorTileIDs: + door_tiles $1B, $58 + +.ForestDoorTileIDs: + door_tiles $3a + +.MartDoorTileIDs: + door_tiles $5e + +.HouseDoorTileIDs: + door_tiles $54 + +.TilesetMuseumDoorTileIDs: + door_tiles $3b + +.ShipDoorTileIDs: + door_tiles $1e + +.LobbyDoorTileIDs: + door_tiles $1c, $38, $1a + +.MansionDoorTileIDs: + door_tiles $1a, $1c, $53 + +.LabDoorTileIDs: + door_tiles $34 + +.FacilityDoorTileIDs: + door_tiles $43, $58, $1b + +.PlateauDoorTileIDs: + door_tiles $3b, $1b diff --git a/data/tilesets/dungeon_tilesets.asm b/data/tilesets/dungeon_tilesets.asm index 01e86714..2af36696 100755 --- a/data/tilesets/dungeon_tilesets.asm +++ b/data/tilesets/dungeon_tilesets.asm @@ -1,2 +1,13 @@ DungeonTilesets: - db FOREST, MUSEUM, SHIP, CAVERN, LOBBY, MANSION, GATE, LAB, FACILITY, CEMETERY, GYM, $FF + db FOREST + db MUSEUM + db SHIP + db CAVERN + db LOBBY + db MANSION + db GATE + db LAB + db FACILITY + db CEMETERY + db GYM + db -1 ; end diff --git a/data/tilesets/escape_rope_tilesets.asm b/data/tilesets/escape_rope_tilesets.asm index 6acf8e77..6a40089c 100644 --- a/data/tilesets/escape_rope_tilesets.asm +++ b/data/tilesets/escape_rope_tilesets.asm @@ -1,3 +1,7 @@ EscapeRopeTilesets: - db FOREST, CEMETERY, CAVERN, FACILITY, INTERIOR - db $ff ; terminator + db FOREST + db CEMETERY + db CAVERN + db FACILITY + db INTERIOR + db -1 ; end diff --git a/data/tilesets/ledge_tiles.asm b/data/tilesets/ledge_tiles.asm index b742af1a..db293800 100644 --- a/data/tilesets/ledge_tiles.asm +++ b/data/tilesets/ledge_tiles.asm @@ -1,11 +1,11 @@ LedgeTiles: - ; (player direction) (tile player standing on) (ledge tile) (input required) - db SPRITE_FACING_DOWN, $2C,$37,D_DOWN - db SPRITE_FACING_DOWN, $39,$36,D_DOWN - db SPRITE_FACING_DOWN, $39,$37,D_DOWN - db SPRITE_FACING_LEFT, $2C,$27,D_LEFT - db SPRITE_FACING_LEFT, $39,$27,D_LEFT - db SPRITE_FACING_RIGHT,$2C,$0D,D_RIGHT - db SPRITE_FACING_RIGHT,$2C,$1D,D_RIGHT - db SPRITE_FACING_RIGHT,$39,$0D,D_RIGHT - db $FF + ; player direction, tile player standing on, ledge tile, input required + db SPRITE_FACING_DOWN, $2C, $37, D_DOWN + db SPRITE_FACING_DOWN, $39, $36, D_DOWN + db SPRITE_FACING_DOWN, $39, $37, D_DOWN + db SPRITE_FACING_LEFT, $2C, $27, D_LEFT + db SPRITE_FACING_LEFT, $39, $27, D_LEFT + db SPRITE_FACING_RIGHT, $2C, $0D, D_RIGHT + db SPRITE_FACING_RIGHT, $2C, $1D, D_RIGHT + db SPRITE_FACING_RIGHT, $39, $0D, D_RIGHT + db -1 ; end diff --git a/data/tilesets/tileset_headers.asm b/data/tilesets/tileset_headers.asm index 8f825330..4ba2e629 100755 --- a/data/tilesets/tileset_headers.asm +++ b/data/tilesets/tileset_headers.asm @@ -7,6 +7,7 @@ tileset: MACRO ENDM Tilesets: +; block, gfx, coll, 3 counter tiles, grass tile, permission tileset Overworld_Block, Overworld_GFX, Overworld_Coll, $FF,$FF,$FF, $52, OUTDOOR tileset RedsHouse1_Block, RedsHouse1_GFX, RedsHouse1_Coll, $FF,$FF,$FF, $FF, INDOOR tileset Mart_Block, Mart_GFX, Mart_Coll, $18,$19,$1E, $FF, INDOOR diff --git a/data/tilesets/warp_carpet_tile_ids.asm b/data/tilesets/warp_carpet_tile_ids.asm index 6f312bc7..3929a97c 100644 --- a/data/tilesets/warp_carpet_tile_ids.asm +++ b/data/tilesets/warp_carpet_tile_ids.asm @@ -1,17 +1,25 @@ WarpTileListPointers: - dw .facingDownWarpTiles - dw .facingUpWarpTiles - dw .facingLeftWarpTiles - dw .facingRightWarpTiles + dw .FacingDownWarpTiles + dw .FacingUpWarpTiles + dw .FacingLeftWarpTiles + dw .FacingRightWarpTiles -.facingDownWarpTiles - db $01,$12,$17,$3D,$04,$18,$33,$FF +warp_tiles: MACRO +REPT _NARG + db \1 + shift +ENDR + db -1 ; end +ENDM -.facingUpWarpTiles - db $01,$5C,$FF +.FacingDownWarpTiles: + warp_tiles $01, $12, $17, $3D, $04, $18, $33 -.facingLeftWarpTiles - db $1A,$4B,$FF +.FacingUpWarpTiles: + warp_tiles $01, $5C -.facingRightWarpTiles - db $0F,$4E,$FF +.FacingLeftWarpTiles: + warp_tiles $1A, $4B + +.FacingRightWarpTiles: + warp_tiles $0F, $4E diff --git a/data/tilesets/warp_pad_hole_tile_ids.asm b/data/tilesets/warp_pad_hole_tile_ids.asm index 3e2c1890..c9f0c242 100644 --- a/data/tilesets/warp_pad_hole_tile_ids.asm +++ b/data/tilesets/warp_pad_hole_tile_ids.asm @@ -1,7 +1,7 @@ -; format: db tileset id, tile id, value to be put in [wStandingOnWarpPadOrHole] WarpPadAndHoleData: +; tileset id, tile id, value for [wStandingOnWarpPadOrHole] db FACILITY, $20, 1 ; warp pad db FACILITY, $11, 2 ; hole db CAVERN, $22, 2 ; hole db INTERIOR, $55, 1 ; warp pad - db $FF + db -1 ; end diff --git a/data/tilesets/warp_tile_ids.asm b/data/tilesets/warp_tile_ids.asm index 6fd326cc..bf19090b 100755 --- a/data/tilesets/warp_tile_ids.asm +++ b/data/tilesets/warp_tile_ids.asm @@ -1,85 +1,98 @@ WarpTileIDPointers: - dw OverworldWarpTileIDs - dw RedsHouse1WarpTileIDs - dw MartWarpTileIDs - dw ForestWarpTileIDs - dw RedsHouse2WarpTileIDs - dw DojoWarpTileIDs - dw PokecenterWarpTileIDs - dw GymWarpTileIDs - dw HouseWarpTileIDs - dw ForestGateWarpTileIDs - dw MuseumWarpTileIDs - dw UndergroundWarpTileIDs - dw GateWarpTileIDs - dw ShipWarpTileIDs - dw ShipPortWarpTileIDs - dw CemeteryWarpTileIDs - dw InteriorWarpTileIDs - dw CavernWarpTileIDs - dw LobbyWarpTileIDs - dw MansionWarpTileIDs - dw LabWarpTileIDs - dw ClubWarpTileIDs - dw FacilityWarpTileIDs - dw PlateauWarpTileIDs - -OverworldWarpTileIDs: - db $1B,$58,$FF - -ForestGateWarpTileIDs: -MuseumWarpTileIDs: -GateWarpTileIDs: + dw .OverworldWarpTileIDs + dw .RedsHouse1WarpTileIDs + dw .MartWarpTileIDs + dw .ForestWarpTileIDs + dw .RedsHouse2WarpTileIDs + dw .DojoWarpTileIDs + dw .PokecenterWarpTileIDs + dw .GymWarpTileIDs + dw .HouseWarpTileIDs + dw .ForestGateWarpTileIDs + dw .MuseumWarpTileIDs + dw .UndergroundWarpTileIDs + dw .GateWarpTileIDs + dw .ShipWarpTileIDs + dw .ShipPortWarpTileIDs + dw .CemeteryWarpTileIDs + dw .InteriorWarpTileIDs + dw .CavernWarpTileIDs + dw .LobbyWarpTileIDs + dw .MansionWarpTileIDs + dw .LabWarpTileIDs + dw .ClubWarpTileIDs + dw .FacilityWarpTileIDs + dw .PlateauWarpTileIDs + +.OverworldWarpTileIDs: + db $1B, $58 + db -1 ; end + +.ForestGateWarpTileIDs: +.MuseumWarpTileIDs: +.GateWarpTileIDs: db $3B - -RedsHouse1WarpTileIDs: -RedsHouse2WarpTileIDs: - db $1A,$1C,$FF - -MartWarpTileIDs: -PokecenterWarpTileIDs: - db $5E,$FF - -ForestWarpTileIDs: - db $5A,$5C,$3A,$FF - -DojoWarpTileIDs: -GymWarpTileIDs: - db $4A,$FF - -HouseWarpTileIDs: - db $54,$5C,$32,$FF - -ShipWarpTileIDs: - db $37,$39,$1E,$4A,$FF - -InteriorWarpTileIDs: - db $15,$55,$04,$FF - -CavernWarpTileIDs: - db $18,$1A,$22,$FF - -LobbyWarpTileIDs: - db $1A,$1C,$38,$FF - -MansionWarpTileIDs: - db $1A,$1C,$53,$FF - -LabWarpTileIDs: - db $34,$FF - -FacilityWarpTileIDs: - db $43,$58,$20 - -CemeteryWarpTileIDs: + ; fallthrough +.RedsHouse1WarpTileIDs: +.RedsHouse2WarpTileIDs: + db $1A, $1C + db -1 ; end + +.MartWarpTileIDs: +.PokecenterWarpTileIDs: + db $5E + db -1 ; end + +.ForestWarpTileIDs: + db $5A, $5C, $3A + db -1 ; end + +.DojoWarpTileIDs: +.GymWarpTileIDs: + db $4A + db -1 ; end + +.HouseWarpTileIDs: + db $54, $5C, $32 + db -1 ; end + +.ShipWarpTileIDs: + db $37, $39, $1E, $4A + db -1 ; end + +.InteriorWarpTileIDs: + db $15, $55, $04 + db -1 ; end + +.CavernWarpTileIDs: + db $18, $1A, $22 + db -1 ; end + +.LobbyWarpTileIDs: + db $1A, $1C, $38 + db -1 ; end + +.MansionWarpTileIDs: + db $1A, $1C, $53 + db -1 ; end + +.LabWarpTileIDs: + db $34 + db -1 ; end + +.FacilityWarpTileIDs: + db $43, $58, $20 + ; fallthrough +.CemeteryWarpTileIDs: db $1B - -UndergroundWarpTileIDs: - db $13,$FF - -PlateauWarpTileIDs: - db $1B,$3B - -ShipPortWarpTileIDs: -ClubWarpTileIDs: - db $FF + ; fallthrough +.UndergroundWarpTileIDs: + db $13 + db -1 ; end + +.PlateauWarpTileIDs: + db $1B, $3B + ; fallthrough +.ShipPortWarpTileIDs: +.ClubWarpTileIDs: + db -1 ; end diff --git a/data/tilesets/water_tilesets.asm b/data/tilesets/water_tilesets.asm index 00f0ab1f..8abdce39 100644 --- a/data/tilesets/water_tilesets.asm +++ b/data/tilesets/water_tilesets.asm @@ -1,4 +1,12 @@ ; tilesets with water WaterTilesets: - db OVERWORLD, FOREST, DOJO, GYM, SHIP, SHIP_PORT, CAVERN, FACILITY, PLATEAU - db $ff ; terminator + db OVERWORLD + db FOREST + db DOJO + db GYM + db SHIP + db SHIP_PORT + db CAVERN + db FACILITY + db PLATEAU + db -1 ; end diff --git a/data/trainers/ai_pointers.asm b/data/trainers/ai_pointers.asm index 26f3001e..7c0c38af 100644 --- a/data/trainers/ai_pointers.asm +++ b/data/trainers/ai_pointers.asm @@ -3,50 +3,50 @@ TrainerAIPointers: ; first byte, number of times (per Pokémon) it can occur ; next two bytes, pointer to AI subroutine for trainer class ; subroutines are defined in engine/battle/trainer_ai.asm - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,JugglerAI ; juggler_x - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,JugglerAI ; juggler - dbw 3,GenericAI - dbw 3,GenericAI - dbw 2,BlackbeltAI ; blackbelt - dbw 3,GenericAI - dbw 3,GenericAI - dbw 1,GenericAI ; chief - dbw 3,GenericAI - dbw 1,GiovanniAI ; giovanni - dbw 3,GenericAI - dbw 2,CooltrainerMAI ; cooltrainerm - dbw 1,CooltrainerFAI ; cooltrainerf - dbw 2,BrunoAI ; bruno - dbw 5,BrockAI ; brock - dbw 1,MistyAI ; misty - dbw 1,LtSurgeAI ; surge - dbw 1,ErikaAI ; erika - dbw 2,KogaAI ; koga - dbw 2,BlaineAI ; blaine - dbw 1,SabrinaAI ; sabrina - dbw 3,GenericAI - dbw 1,Sony2AI ; sony2 - dbw 1,Sony3AI ; sony3 - dbw 2,LoreleiAI ; lorelei - dbw 3,GenericAI - dbw 2,AgathaAI ; agatha - dbw 1,LanceAI ; lance + dbw 3, GenericAI + dbw 3, GenericAI + dbw 3, GenericAI + dbw 3, GenericAI + dbw 3, GenericAI + dbw 3, GenericAI + dbw 3, GenericAI + dbw 3, GenericAI + dbw 3, GenericAI + dbw 3, GenericAI + dbw 3, GenericAI + dbw 3, GenericAI + dbw 3, JugglerAI ; juggler_x + dbw 3, GenericAI + dbw 3, GenericAI + dbw 3, GenericAI + dbw 3, GenericAI + dbw 3, GenericAI + dbw 3, GenericAI + dbw 3, GenericAI + dbw 3, JugglerAI ; juggler + dbw 3, GenericAI + dbw 3, GenericAI + dbw 2, BlackbeltAI ; blackbelt + dbw 3, GenericAI + dbw 3, GenericAI + dbw 1, GenericAI ; chief + dbw 3, GenericAI + dbw 1, GiovanniAI ; giovanni + dbw 3, GenericAI + dbw 2, CooltrainerMAI ; cooltrainerm + dbw 1, CooltrainerFAI ; cooltrainerf + dbw 2, BrunoAI ; bruno + dbw 5, BrockAI ; brock + dbw 1, MistyAI ; misty + dbw 1, LtSurgeAI ; surge + dbw 1, ErikaAI ; erika + dbw 2, KogaAI ; koga + dbw 2, BlaineAI ; blaine + dbw 1, SabrinaAI ; sabrina + dbw 3, GenericAI + dbw 1, Sony2AI ; sony2 + dbw 1, Sony3AI ; sony3 + dbw 2, LoreleiAI ; lorelei + dbw 3, GenericAI + dbw 2, AgathaAI ; agatha + dbw 1, LanceAI ; lance diff --git a/data/trainers/encounter_types.asm b/data/trainers/encounter_types.asm index cc7ca605..222b5868 100755 --- a/data/trainers/encounter_types.asm +++ b/data/trainers/encounter_types.asm @@ -3,7 +3,7 @@ FemaleTrainerList:: db OPP_JR_TRAINER_F db OPP_BEAUTY db OPP_COOLTRAINER_F - db $FF + db -1 ; end EvilTrainerList:: db OPP_JUGGLER_X @@ -14,4 +14,4 @@ EvilTrainerList:: db OPP_SCIENTIST db OPP_GIOVANNI db OPP_ROCKET - db $FF + db -1 ; end diff --git a/data/trainers/move_choices.asm b/data/trainers/move_choices.asm index ccbae448..fc230ac1 100644 --- a/data/trainers/move_choices.asm +++ b/data/trainers/move_choices.asm @@ -1,50 +1,57 @@ +move_choices: MACRO +REPT _NARG + db \1 + shift +ENDR + db 0 ; end +ENDM + ; move choice modification methods that are applied for each trainer class -; 0 is sentinel value TrainerClassMoveChoiceModifications: - db 0 ; YOUNGSTER - db 1,0 ; BUG CATCHER - db 1,0 ; LASS - db 1,3,0 ; SAILOR - db 1,0 ; JR_TRAINER_M - db 1,0 ; JR_TRAINER_F - db 1,2,3,0; POKEMANIAC - db 1,2,0 ; SUPER_NERD - db 1,0 ; HIKER - db 1,0 ; BIKER - db 1,3,0 ; BURGLAR - db 1,0 ; ENGINEER - db 1,2,0 ; JUGGLER_X - db 1,3,0 ; FISHER - db 1,3,0 ; SWIMMER - db 0 ; CUE_BALL - db 1,0 ; GAMBLER - db 1,3,0 ; BEAUTY - db 1,2,0 ; PSYCHIC_TR - db 1,3,0 ; ROCKER - db 1,0 ; JUGGLER - db 1,0 ; TAMER - db 1,0 ; BIRD_KEEPER - db 1,0 ; BLACKBELT - db 1,0 ; SONY1 - db 1,3,0 ; PROF_OAK - db 1,2,0 ; CHIEF - db 1,2,0 ; SCIENTIST - db 1,3,0 ; GIOVANNI - db 1,0 ; ROCKET - db 1,3,0 ; COOLTRAINER_M - db 1,3,0 ; COOLTRAINER_F - db 1,0 ; BRUNO - db 1,0 ; BROCK - db 1,3,0 ; MISTY - db 1,3,0 ; LT_SURGE - db 1,3,0 ; ERIKA - db 1,3,0 ; KOGA - db 1,3,0 ; BLAINE - db 1,3,0 ; SABRINA - db 1,2,0 ; GENTLEMAN - db 1,3,0 ; SONY2 - db 1,3,0 ; SONY3 - db 1,2,3,0; LORELEI - db 1,0 ; CHANNELER - db 1,0 ; AGATHA - db 1,3,0 ; LANCE + move_choices ; YOUNGSTER + move_choices 1 ; BUG CATCHER + move_choices 1 ; LASS + move_choices 1, 3 ; SAILOR + move_choices 1 ; JR_TRAINER_M + move_choices 1 ; JR_TRAINER_F + move_choices 1, 2, 3 ; POKEMANIAC + move_choices 1, 2 ; SUPER_NERD + move_choices 1 ; HIKER + move_choices 1 ; BIKER + move_choices 1, 3 ; BURGLAR + move_choices 1 ; ENGINEER + move_choices 1, 2 ; JUGGLER_X + move_choices 1, 3 ; FISHER + move_choices 1, 3 ; SWIMMER + move_choices ; CUE_BALL + move_choices 1 ; GAMBLER + move_choices 1, 3 ; BEAUTY + move_choices 1, 2 ; PSYCHIC_TR + move_choices 1, 3 ; ROCKER + move_choices 1 ; JUGGLER + move_choices 1 ; TAMER + move_choices 1 ; BIRD_KEEPER + move_choices 1 ; BLACKBELT + move_choices 1 ; SONY1 + move_choices 1, 3 ; PROF_OAK + move_choices 1, 2 ; CHIEF + move_choices 1, 2 ; SCIENTIST + move_choices 1, 3 ; GIOVANNI + move_choices 1 ; ROCKET + move_choices 1, 3 ; COOLTRAINER_M + move_choices 1, 3 ; COOLTRAINER_F + move_choices 1 ; BRUNO + move_choices 1 ; BROCK + move_choices 1, 3 ; MISTY + move_choices 1, 3 ; LT_SURGE + move_choices 1, 3 ; ERIKA + move_choices 1, 3 ; KOGA + move_choices 1, 3 ; BLAINE + move_choices 1, 3 ; SABRINA + move_choices 1, 2 ; GENTLEMAN + move_choices 1, 3 ; SONY2 + move_choices 1, 3 ; SONY3 + move_choices 1, 2, 3 ; LORELEI + move_choices 1 ; CHANNELER + move_choices 1 ; AGATHA + move_choices 1, 3 ; LANCE diff --git a/data/trainers/name_pointers.asm b/data/trainers/name_pointers.asm index aa5e72d3..537a95e3 100644 --- a/data/trainers/name_pointers.asm +++ b/data/trainers/name_pointers.asm @@ -1,37 +1,37 @@ TrainerNamePointers: ; what is the point of these? - dw YoungsterName - dw BugCatcherName - dw LassName + dw .YoungsterName + dw .BugCatcherName + dw .LassName dw wTrainerName - dw JrTrainerMName - dw JrTrainerFName - dw PokemaniacName - dw SuperNerdName + dw .JrTrainerMName + dw .JrTrainerFName + dw .PokemaniacName + dw .SuperNerdName dw wTrainerName dw wTrainerName - dw BurglarName - dw EngineerName - dw JugglerXName + dw .BurglarName + dw .EngineerName + dw .JugglerXName dw wTrainerName - dw SwimmerName + dw .SwimmerName dw wTrainerName dw wTrainerName - dw BeautyName + dw .BeautyName dw wTrainerName - dw RockerName - dw JugglerName + dw .RockerName + dw .JugglerName dw wTrainerName dw wTrainerName - dw BlackbeltName + dw .BlackbeltName dw wTrainerName - dw ProfOakName - dw ChiefName - dw ScientistName + dw .ProfOakName + dw .ChiefName + dw .ScientistName dw wTrainerName - dw RocketName - dw CooltrainerMName - dw CooltrainerFName + dw .RocketName + dw .CooltrainerMName + dw .CooltrainerFName dw wTrainerName dw wTrainerName dw wTrainerName @@ -48,45 +48,24 @@ TrainerNamePointers: dw wTrainerName dw wTrainerName -YoungsterName: - db "YOUNGSTER@" -BugCatcherName: - db "BUG CATCHER@" -LassName: - db "LASS@" -JrTrainerMName: - db "JR.TRAINER♂@" -JrTrainerFName: - db "JR.TRAINER♀@" -PokemaniacName: - db "POKéMANIAC@" -SuperNerdName: - db "SUPER NERD@" -BurglarName: - db "BURGLAR@" -EngineerName: - db "ENGINEER@" -JugglerXName: - db "JUGGLER@" -SwimmerName: - db "SWIMMER@" -BeautyName: - db "BEAUTY@" -RockerName: - db "ROCKER@" -JugglerName: - db "JUGGLER@" -BlackbeltName: - db "BLACKBELT@" -ProfOakName: - db "PROF.OAK@" -ChiefName: - db "CHIEF@" -ScientistName: - db "SCIENTIST@" -RocketName: - db "ROCKET@" -CooltrainerMName: - db "COOLTRAINER♂@" -CooltrainerFName: - db "COOLTRAINER♀@" +.YoungsterName: db "YOUNGSTER@" +.BugCatcherName: db "BUG CATCHER@" +.LassName: db "LASS@" +.JrTrainerMName: db "JR.TRAINER♂@" +.JrTrainerFName: db "JR.TRAINER♀@" +.PokemaniacName: db "POKéMANIAC@" +.SuperNerdName: db "SUPER NERD@" +.BurglarName: db "BURGLAR@" +.EngineerName: db "ENGINEER@" +.JugglerXName: db "JUGGLER@" +.SwimmerName: db "SWIMMER@" +.BeautyName: db "BEAUTY@" +.RockerName: db "ROCKER@" +.JugglerName: db "JUGGLER@" +.BlackbeltName: db "BLACKBELT@" +.ProfOakName: db "PROF.OAK@" +.ChiefName: db "CHIEF@" +.ScientistName: db "SCIENTIST@" +.RocketName: db "ROCKET@" +.CooltrainerMName: db "COOLTRAINER♂@" +.CooltrainerFName: db "COOLTRAINER♀@" diff --git a/data/trainers/parties.asm b/data/trainers/parties.asm index e448d431..24b4b9ca 100755 --- a/data/trainers/parties.asm +++ b/data/trainers/parties.asm @@ -47,216 +47,225 @@ TrainerDataPointers: dw AgathaData dw LanceData -; if first byte != FF, then +; if first byte != $FF, then ; first byte is level (of all pokemon on this team) ; all the next bytes are pokemon species ; null-terminated -; if first byte == FF, then - ; first byte is FF (obviously) +; if first byte == $FF, then + ; first byte is $FF (obviously) ; every next two bytes are a level and species ; null-terminated YoungsterData: ; Route 3 - db 11,RATTATA,EKANS,0 - db 14,SPEAROW,0 + db 11, RATTATA, EKANS, 0 + db 14, SPEAROW, 0 ; Mt. Moon 1F - db 10,RATTATA,RATTATA,ZUBAT,0 + db 10, RATTATA, RATTATA, ZUBAT, 0 ; Route 24 - db 14,RATTATA,EKANS,ZUBAT,0 + db 14, RATTATA, EKANS, ZUBAT, 0 ; Route 25 - db 15,RATTATA,SPEAROW,0 - db 17,SLOWPOKE,0 - db 14,EKANS,SANDSHREW,0 + db 15, RATTATA, SPEAROW, 0 + db 17, SLOWPOKE, 0 + db 14, EKANS, SANDSHREW, 0 ; SS Anne 1F Rooms - db 21,NIDORAN_M,0 + db 21, NIDORAN_M, 0 ; Route 11 - db 21,EKANS,0 - db 19,SANDSHREW,ZUBAT,0 - db 17,RATTATA,RATTATA,RATICATE,0 - db 18,NIDORAN_M,NIDORINO,0 + db 21, EKANS, 0 + db 19, SANDSHREW, ZUBAT, 0 + db 17, RATTATA, RATTATA, RATICATE, 0 + db 18, NIDORAN_M, NIDORINO, 0 ; Unused - db 17,SPEAROW,RATTATA,RATTATA,SPEAROW,0 + db 17, SPEAROW, RATTATA, RATTATA, SPEAROW, 0 + BugCatcherData: ; Viridian Forest - db 6,WEEDLE,CATERPIE,0 - db 7,WEEDLE,KAKUNA,WEEDLE,0 - db 9,WEEDLE,0 + db 6, WEEDLE, CATERPIE, 0 + db 7, WEEDLE, KAKUNA, WEEDLE, 0 + db 9, WEEDLE, 0 ; Route 3 - db 10,CATERPIE,WEEDLE,CATERPIE,0 - db 9,WEEDLE,KAKUNA,CATERPIE,METAPOD,0 - db 11,CATERPIE,METAPOD,0 + db 10, CATERPIE, WEEDLE, CATERPIE, 0 + db 9, WEEDLE, KAKUNA, CATERPIE, METAPOD, 0 + db 11, CATERPIE, METAPOD, 0 ; Mt. Moon 1F - db 11,WEEDLE,KAKUNA,0 - db 10,CATERPIE,METAPOD,CATERPIE,0 + db 11, WEEDLE, KAKUNA, 0 + db 10, CATERPIE, METAPOD, CATERPIE, 0 ; Route 24 - db 14,CATERPIE,WEEDLE,0 + db 14, CATERPIE, WEEDLE, 0 ; Route 6 - db 16,WEEDLE,CATERPIE,WEEDLE,0 - db 20,BUTTERFREE,0 + db 16, WEEDLE, CATERPIE, WEEDLE, 0 + db 20, BUTTERFREE, 0 ; Unused - db 18,METAPOD,CATERPIE,VENONAT,0 + db 18, METAPOD, CATERPIE, VENONAT, 0 ; Route 9 - db 19,BEEDRILL,BEEDRILL,0 - db 20,CATERPIE,WEEDLE,VENONAT,0 + db 19, BEEDRILL, BEEDRILL, 0 + db 20, CATERPIE, WEEDLE, VENONAT, 0 + LassData: ; Route 3 - db 9,PIDGEY,PIDGEY,0 - db 10,RATTATA,NIDORAN_M,0 - db 14,JIGGLYPUFF,0 + db 9, PIDGEY, PIDGEY, 0 + db 10, RATTATA, NIDORAN_M, 0 + db 14, JIGGLYPUFF, 0 ; Route 4 - db 31,PARAS,PARAS,PARASECT,0 + db 31, PARAS, PARAS, PARASECT, 0 ; Mt. Moon 1F - db 11,ODDISH,BELLSPROUT,0 - db 14,CLEFAIRY,0 + db 11, ODDISH, BELLSPROUT, 0 + db 14, CLEFAIRY, 0 ; Route 24 - db 16,PIDGEY,NIDORAN_F,0 - db 14,PIDGEY,NIDORAN_F,0 + db 16, PIDGEY, NIDORAN_F, 0 + db 14, PIDGEY, NIDORAN_F, 0 ; Route 25 - db 15,NIDORAN_M,NIDORAN_F,0 - db 13,ODDISH,PIDGEY,ODDISH,0 + db 15, NIDORAN_M, NIDORAN_F, 0 + db 13, ODDISH, PIDGEY, ODDISH, 0 ; SS Anne 1F Rooms - db 18,PIDGEY,NIDORAN_F,0 + db 18, PIDGEY, NIDORAN_F, 0 ; SS Anne 2F Rooms - db 18,RATTATA,PIKACHU,0 + db 18, RATTATA, PIKACHU, 0 ; Route 8 - db 23,NIDORAN_F,NIDORINA,0 - db 24,MEOWTH,MEOWTH,MEOWTH,0 - db 19,PIDGEY,RATTATA,NIDORAN_M,MEOWTH,PIKACHU,0 - db 22,CLEFAIRY,CLEFAIRY,0 + db 23, NIDORAN_F, NIDORINA, 0 + db 24, MEOWTH, MEOWTH, MEOWTH, 0 + db 19, PIDGEY, RATTATA, NIDORAN_M, MEOWTH, PIKACHU, 0 + db 22, CLEFAIRY, CLEFAIRY, 0 ; Celadon Gym - db 23,BELLSPROUT,WEEPINBELL,0 - db 23,ODDISH,GLOOM,0 + db 23, BELLSPROUT, WEEPINBELL, 0 + db 23, ODDISH, GLOOM, 0 + SailorData: ; SS Anne Stern - db 18,MACHOP,SHELLDER,0 - db 17,MACHOP,TENTACOOL,0 + db 18, MACHOP, SHELLDER, 0 + db 17, MACHOP, TENTACOOL, 0 ; SS Anne B1F Rooms - db 21,SHELLDER,0 - db 17,HORSEA,SHELLDER,TENTACOOL,0 - db 18,TENTACOOL,STARYU,0 - db 17,HORSEA,HORSEA,HORSEA,0 - db 20,MACHOP,0 + db 21, SHELLDER, 0 + db 17, HORSEA, SHELLDER, TENTACOOL, 0 + db 18, TENTACOOL, STARYU, 0 + db 17, HORSEA, HORSEA, HORSEA, 0 + db 20, MACHOP, 0 ; Vermilion Gym - db 21,PIKACHU,PIKACHU,0 + db 21, PIKACHU, PIKACHU, 0 + JrTrainerMData: ; Pewter Gym - db 11,DIGLETT,SANDSHREW,0 + db 11, DIGLETT, SANDSHREW, 0 ; Route 24/Route 25 - db 14,RATTATA,EKANS,0 + db 14, RATTATA, EKANS, 0 ; Route 24 - db 18,MANKEY,0 + db 18, MANKEY, 0 ; Route 6 - db 20,SQUIRTLE,0 - db 16,SPEAROW,RATICATE,0 + db 20, SQUIRTLE, 0 + db 16, SPEAROW, RATICATE, 0 ; Unused - db 18,DIGLETT,DIGLETT,SANDSHREW,0 + db 18, DIGLETT, DIGLETT, SANDSHREW, 0 ; Route 9 - db 21,GROWLITHE,CHARMANDER,0 - db 19,RATTATA,DIGLETT,EKANS,SANDSHREW,0 + db 21, GROWLITHE, CHARMANDER, 0 + db 19, RATTATA, DIGLETT, EKANS, SANDSHREW, 0 ; Route 12 - db 29,NIDORAN_M,NIDORINO,0 + db 29, NIDORAN_M, NIDORINO, 0 + JrTrainerFData: ; Cerulean Gym - db 19,GOLDEEN,0 + db 19, GOLDEEN, 0 ; Route 6 - db 16,RATTATA,PIKACHU,0 - db 16,PIDGEY,PIDGEY,PIDGEY,0 + db 16, RATTATA, PIKACHU, 0 + db 16, PIDGEY, PIDGEY, PIDGEY, 0 ; Unused - db 22,BULBASAUR,0 + db 22, BULBASAUR, 0 ; Route 9 - db 18,ODDISH,BELLSPROUT,ODDISH,BELLSPROUT,0 - db 23,MEOWTH,0 + db 18, ODDISH, BELLSPROUT, ODDISH, BELLSPROUT, 0 + db 23, MEOWTH, 0 ; Route 10 - db 20,PIKACHU,CLEFAIRY,0 - db 21,PIDGEY,PIDGEOTTO,0 + db 20, PIKACHU, CLEFAIRY, 0 + db 21, PIDGEY, PIDGEOTTO, 0 ; Rock Tunnel B1F - db 21,JIGGLYPUFF,PIDGEY,MEOWTH,0 - db 22,ODDISH,BULBASAUR,0 + db 21, JIGGLYPUFF, PIDGEY, MEOWTH, 0 + db 22, ODDISH, BULBASAUR, 0 ; Celadon Gym - db 24,BULBASAUR,IVYSAUR,0 + db 24, BULBASAUR, IVYSAUR, 0 ; Route 13 - db 24,PIDGEY,MEOWTH,RATTATA,PIKACHU,MEOWTH,0 - db 30,POLIWAG,POLIWAG,0 - db 27,PIDGEY,MEOWTH,PIDGEY,PIDGEOTTO,0 - db 28,GOLDEEN,POLIWAG,HORSEA,0 + db 24, PIDGEY, MEOWTH, RATTATA, PIKACHU, MEOWTH, 0 + db 30, POLIWAG, POLIWAG, 0 + db 27, PIDGEY, MEOWTH, PIDGEY, PIDGEOTTO, 0 + db 28, GOLDEEN, POLIWAG, HORSEA, 0 ; Route 20 - db 31,GOLDEEN,SEAKING,0 + db 31, GOLDEEN, SEAKING, 0 ; Rock Tunnel 1F - db 22,BELLSPROUT,CLEFAIRY,0 - db 20,MEOWTH,ODDISH,PIDGEY,0 - db 19,PIDGEY,RATTATA,RATTATA,BELLSPROUT,0 + db 22, BELLSPROUT, CLEFAIRY, 0 + db 20, MEOWTH, ODDISH, PIDGEY, 0 + db 19, PIDGEY, RATTATA, RATTATA, BELLSPROUT, 0 ; Route 15 - db 28,GLOOM,ODDISH,ODDISH,0 - db 29,PIKACHU,RAICHU,0 - db 33,CLEFAIRY,0 - db 29,BELLSPROUT,ODDISH,TANGELA,0 + db 28, GLOOM, ODDISH, ODDISH, 0 + db 29, PIKACHU, RAICHU, 0 + db 33, CLEFAIRY, 0 + db 29, BELLSPROUT, ODDISH, TANGELA, 0 ; Route 20 - db 30,TENTACOOL,HORSEA,SEEL,0 + db 30, TENTACOOL, HORSEA, SEEL, 0 + PokemaniacData: ; Route 10 - db 30,RHYHORN,LICKITUNG,0 - db 20,CUBONE,SLOWPOKE,0 + db 30, RHYHORN, LICKITUNG, 0 + db 20, CUBONE, SLOWPOKE, 0 ; Rock Tunnel B1F - db 20,SLOWPOKE,SLOWPOKE,SLOWPOKE,0 - db 22,CHARMANDER,CUBONE,0 - db 25,SLOWPOKE,0 + db 20, SLOWPOKE, SLOWPOKE, SLOWPOKE, 0 + db 22, CHARMANDER, CUBONE, 0 + db 25, SLOWPOKE, 0 ; Victory Road 2F - db 40,CHARMELEON,LAPRAS,LICKITUNG,0 + db 40, CHARMELEON, LAPRAS, LICKITUNG, 0 ; Rock Tunnel 1F - db 23,CUBONE,SLOWPOKE,0 + db 23, CUBONE, SLOWPOKE, 0 + SuperNerdData: ; Mt. Moon 1F - db 11,MAGNEMITE,VOLTORB,0 + db 11, MAGNEMITE, VOLTORB, 0 ; Mt. Moon B2F - db 12,GRIMER,VOLTORB,KOFFING,0 + db 12, GRIMER, VOLTORB, KOFFING, 0 ; Route 8 - db 20,VOLTORB,KOFFING,VOLTORB,MAGNEMITE,0 - db 22,GRIMER,MUK,GRIMER,0 - db 26,KOFFING,0 + db 20, VOLTORB, KOFFING, VOLTORB, MAGNEMITE, 0 + db 22, GRIMER, MUK, GRIMER, 0 + db 26, KOFFING, 0 ; Unused - db 22,KOFFING,MAGNEMITE,WEEZING,0 - db 20,MAGNEMITE,MAGNEMITE,KOFFING,MAGNEMITE,0 - db 24,MAGNEMITE,VOLTORB,0 + db 22, KOFFING, MAGNEMITE, WEEZING, 0 + db 20, MAGNEMITE, MAGNEMITE, KOFFING, MAGNEMITE, 0 + db 24, MAGNEMITE, VOLTORB, 0 ; Cinnabar Gym - db 36,VULPIX,VULPIX,NINETALES,0 - db 34,PONYTA,CHARMANDER,VULPIX,GROWLITHE,0 - db 41,RAPIDASH,0 - db 37,GROWLITHE,VULPIX,0 + db 36, VULPIX, VULPIX, NINETALES, 0 + db 34, PONYTA, CHARMANDER, VULPIX, GROWLITHE, 0 + db 41, RAPIDASH, 0 + db 37, GROWLITHE, VULPIX, 0 + HikerData: ; Mt. Moon 1F - db 10,GEODUDE,GEODUDE,ONIX,0 + db 10, GEODUDE, GEODUDE, ONIX, 0 ; Route 25 - db 15,MACHOP,GEODUDE,0 - db 13,GEODUDE,GEODUDE,MACHOP,GEODUDE,0 - db 17,ONIX,0 + db 15, MACHOP, GEODUDE, 0 + db 13, GEODUDE, GEODUDE, MACHOP, GEODUDE, 0 + db 17, ONIX, 0 ; Route 9 - db 21,GEODUDE,ONIX,0 - db 20,GEODUDE,MACHOP,GEODUDE,0 + db 21, GEODUDE, ONIX, 0 + db 20, GEODUDE, MACHOP, GEODUDE, 0 ; Route 10 - db 21,GEODUDE,ONIX,0 - db 19,ONIX,GRAVELER,0 + db 21, GEODUDE, ONIX, 0 + db 19, ONIX, GRAVELER, 0 ; Rock Tunnel B1F - db 21,GEODUDE,GEODUDE,GRAVELER,0 - db 25,GEODUDE,0 + db 21, GEODUDE, GEODUDE, GRAVELER, 0 + db 25, GEODUDE, 0 ; Route 9/Rock Tunnel B1F - db 20,MACHOP,ONIX,0 + db 20, MACHOP, ONIX, 0 ; Rock Tunnel 1F - db 19,GEODUDE,MACHOP,GEODUDE,GEODUDE,0 - db 20,ONIX,ONIX,GEODUDE,0 - db 21,GEODUDE,GRAVELER,0 + db 19, GEODUDE, MACHOP, GEODUDE, GEODUDE, 0 + db 20, ONIX, ONIX, GEODUDE, 0 + db 21, GEODUDE, GRAVELER, 0 + BikerData: ; Route 13 - db 28,KOFFING,KOFFING,KOFFING,0 + db 28, KOFFING, KOFFING, KOFFING, 0 ; Route 14 - db 29,KOFFING,GRIMER,0 + db 29, KOFFING, GRIMER, 0 ; Route 15 - db 25,KOFFING,KOFFING,WEEZING,KOFFING,GRIMER,0 - db 28,KOFFING,GRIMER,WEEZING,0 + db 25, KOFFING, KOFFING, WEEZING, KOFFING, GRIMER, 0 + db 28, KOFFING, GRIMER, WEEZING, 0 ; Route 16 - db 29,GRIMER,KOFFING,0 - db 33,WEEZING,0 - db 26,GRIMER,GRIMER,GRIMER,GRIMER,0 + db 29, GRIMER, KOFFING, 0 + db 33, WEEZING, 0 + db 26, GRIMER, GRIMER, GRIMER, GRIMER, 0 ; Route 17 ; From https://www.smogon.com/smog/issue27/glitch: ; 0E:5FC2 is offset of the ending 0 for this first Biker on Route 17. @@ -265,432 +274,469 @@ BikerData: ; (BaseStats = $43DE and BANK(BaseStats) = $0E.) ; Finally, PokedexOrder lists 0 as the dex ID for every MissingNo. ; The result is that this data gets interpreted as the base stats - ; for MissingNo: 0,33,MUK,0,29,VOLTORB,VOLTORB,0,...,28,GRIMER,GRIMER. - db 28,WEEZING,KOFFING,WEEZING,0 - db 33,MUK,0 - db 29,VOLTORB,VOLTORB,0 - db 29,WEEZING,MUK,0 - db 25,KOFFING,WEEZING,KOFFING,KOFFING,WEEZING,0 + ; for MissingNo: 0, 33, MUK, 0, 29, VOLTORB, VOLTORB, 0, ..., 28, GRIMER, GRIMER. + db 28, WEEZING, KOFFING, WEEZING, 0 + db 33, MUK, 0 + db 29, VOLTORB, VOLTORB, 0 + db 29, WEEZING, MUK, 0 + db 25, KOFFING, WEEZING, KOFFING, KOFFING, WEEZING, 0 ; Route 14 - db 26,KOFFING,KOFFING,GRIMER,KOFFING,0 - db 28,GRIMER,GRIMER,KOFFING,0 - db 29,KOFFING,MUK,0 + db 26, KOFFING, KOFFING, GRIMER, KOFFING, 0 + db 28, GRIMER, GRIMER, KOFFING, 0 + db 29, KOFFING, MUK, 0 + BurglarData: ; Unused - db 29,GROWLITHE,VULPIX,0 - db 33,GROWLITHE,0 - db 28,VULPIX,CHARMANDER,PONYTA,0 + db 29, GROWLITHE, VULPIX, 0 + db 33, GROWLITHE, 0 + db 28, VULPIX, CHARMANDER, PONYTA, 0 ; Cinnabar Gym - db 36,GROWLITHE,VULPIX,NINETALES,0 - db 41,PONYTA,0 - db 37,VULPIX,GROWLITHE,0 + db 36, GROWLITHE, VULPIX, NINETALES, 0 + db 41, PONYTA, 0 + db 37, VULPIX, GROWLITHE, 0 ; Mansion 2F - db 34,CHARMANDER,CHARMELEON,0 + db 34, CHARMANDER, CHARMELEON, 0 ; Mansion 3F - db 38,NINETALES,0 + db 38, NINETALES, 0 ; Mansion B1F - db 34,GROWLITHE,PONYTA,0 + db 34, GROWLITHE, PONYTA, 0 + EngineerData: ; Unused - db 21,VOLTORB,MAGNEMITE,0 + db 21, VOLTORB, MAGNEMITE, 0 ; Route 11 - db 21,MAGNEMITE,0 - db 18,MAGNEMITE,MAGNEMITE,MAGNETON,0 + db 21, MAGNEMITE, 0 + db 18, MAGNEMITE, MAGNEMITE, MAGNETON, 0 + Juggler1Data: ; none + FisherData: ; SS Anne 2F Rooms - db 17,GOLDEEN,TENTACOOL,GOLDEEN,0 + db 17, GOLDEEN, TENTACOOL, GOLDEEN, 0 ; SS Anne B1F Rooms - db 17,TENTACOOL,STARYU,SHELLDER,0 + db 17, TENTACOOL, STARYU, SHELLDER, 0 ; Route 12 - db 22,GOLDEEN,POLIWAG,GOLDEEN,0 - db 24,TENTACOOL,GOLDEEN,0 - db 27,GOLDEEN,0 - db 21,POLIWAG,SHELLDER,GOLDEEN,HORSEA,0 + db 22, GOLDEEN, POLIWAG, GOLDEEN, 0 + db 24, TENTACOOL, GOLDEEN, 0 + db 27, GOLDEEN, 0 + db 21, POLIWAG, SHELLDER, GOLDEEN, HORSEA, 0 ; Route 21 - db 28,SEAKING,GOLDEEN,SEAKING,SEAKING,0 - db 31,SHELLDER,CLOYSTER,0 - db 27,MAGIKARP,MAGIKARP,MAGIKARP,MAGIKARP,MAGIKARP,MAGIKARP,0 - db 33,SEAKING,GOLDEEN,0 + db 28, SEAKING, GOLDEEN, SEAKING, SEAKING, 0 + db 31, SHELLDER, CLOYSTER, 0 + db 27, MAGIKARP, MAGIKARP, MAGIKARP, MAGIKARP, MAGIKARP, MAGIKARP, 0 + db 33, SEAKING, GOLDEEN, 0 ; Route 12 - db 24,MAGIKARP,MAGIKARP,0 + db 24, MAGIKARP, MAGIKARP, 0 + SwimmerData: ; Cerulean Gym - db 16,HORSEA,SHELLDER,0 + db 16, HORSEA, SHELLDER, 0 ; Route 19 - db 30,TENTACOOL,SHELLDER,0 - db 29,GOLDEEN,HORSEA,STARYU,0 - db 30,POLIWAG,POLIWHIRL,0 - db 27,HORSEA,TENTACOOL,TENTACOOL,GOLDEEN,0 - db 29,GOLDEEN,SHELLDER,SEAKING,0 - db 30,HORSEA,HORSEA,0 - db 27,TENTACOOL,TENTACOOL,STARYU,HORSEA,TENTACRUEL,0 + db 30, TENTACOOL, SHELLDER, 0 + db 29, GOLDEEN, HORSEA, STARYU, 0 + db 30, POLIWAG, POLIWHIRL, 0 + db 27, HORSEA, TENTACOOL, TENTACOOL, GOLDEEN, 0 + db 29, GOLDEEN, SHELLDER, SEAKING, 0 + db 30, HORSEA, HORSEA, 0 + db 27, TENTACOOL, TENTACOOL, STARYU, HORSEA, TENTACRUEL, 0 ; Route 20 - db 31,SHELLDER,CLOYSTER,0 - db 35,STARYU,0 - db 28,HORSEA,HORSEA,SEADRA,HORSEA,0 + db 31, SHELLDER, CLOYSTER, 0 + db 35, STARYU, 0 + db 28, HORSEA, HORSEA, SEADRA, HORSEA, 0 ; Route 21 - db 33,SEADRA,TENTACRUEL,0 - db 37,STARMIE,0 - db 33,STARYU,WARTORTLE,0 - db 32,POLIWHIRL,TENTACOOL,SEADRA,0 + db 33, SEADRA, TENTACRUEL, 0 + db 37, STARMIE, 0 + db 33, STARYU, WARTORTLE, 0 + db 32, POLIWHIRL, TENTACOOL, SEADRA, 0 + CueBallData: ; Route 16 - db 28,MACHOP,MANKEY,MACHOP,0 - db 29,MANKEY,MACHOP,0 - db 33,MACHOP,0 + db 28, MACHOP, MANKEY, MACHOP, 0 + db 29, MANKEY, MACHOP, 0 + db 33, MACHOP, 0 ; Route 17 - db 29,MANKEY,PRIMEAPE,0 - db 29,MACHOP,MACHOKE,0 - db 33,MACHOKE,0 - db 26,MANKEY,MANKEY,MACHOKE,MACHOP,0 - db 29,PRIMEAPE,MACHOKE,0 + db 29, MANKEY, PRIMEAPE, 0 + db 29, MACHOP, MACHOKE, 0 + db 33, MACHOKE, 0 + db 26, MANKEY, MANKEY, MACHOKE, MACHOP, 0 + db 29, PRIMEAPE, MACHOKE, 0 ; Route 21 - db 31,TENTACOOL,TENTACOOL,TENTACRUEL,0 + db 31, TENTACOOL, TENTACOOL, TENTACRUEL, 0 + GamblerData: ; Route 11 - db 18,POLIWAG,HORSEA,0 - db 18,BELLSPROUT,ODDISH,0 - db 18,VOLTORB,MAGNEMITE,0 - db 18,GROWLITHE,VULPIX,0 + db 18, POLIWAG, HORSEA, 0 + db 18, BELLSPROUT, ODDISH, 0 + db 18, VOLTORB, MAGNEMITE, 0 + db 18, GROWLITHE, VULPIX, 0 ; Route 8 - db 22,POLIWAG,POLIWAG,POLIWHIRL,0 + db 22, POLIWAG, POLIWAG, POLIWHIRL, 0 ; Unused - db 22,ONIX,GEODUDE,GRAVELER,0 + db 22, ONIX, GEODUDE, GRAVELER, 0 ; Route 8 - db 24,GROWLITHE,VULPIX,0 + db 24, GROWLITHE, VULPIX, 0 + BeautyData: ; Celadon Gym - db 21,ODDISH,BELLSPROUT,ODDISH,BELLSPROUT,0 - db 24,BELLSPROUT,BELLSPROUT,0 - db 26,EXEGGCUTE,0 + db 21, ODDISH, BELLSPROUT, ODDISH, BELLSPROUT, 0 + db 24, BELLSPROUT, BELLSPROUT, 0 + db 26, EXEGGCUTE, 0 ; Route 13 - db 27,RATTATA,PIKACHU,RATTATA,0 - db 29,CLEFAIRY,MEOWTH,0 + db 27, RATTATA, PIKACHU, RATTATA, 0 + db 29, CLEFAIRY, MEOWTH, 0 ; Route 20 - db 35,SEAKING,0 - db 30,SHELLDER,SHELLDER,CLOYSTER,0 - db 31,POLIWAG,SEAKING,0 + db 35, SEAKING, 0 + db 30, SHELLDER, SHELLDER, CLOYSTER, 0 + db 31, POLIWAG, SEAKING, 0 ; Route 15 - db 29,PIDGEOTTO,WIGGLYTUFF,0 - db 29,BULBASAUR,IVYSAUR,0 + db 29, PIDGEOTTO, WIGGLYTUFF, 0 + db 29, BULBASAUR, IVYSAUR, 0 ; Unused - db 33,WEEPINBELL,BELLSPROUT,WEEPINBELL,0 + db 33, WEEPINBELL, BELLSPROUT, WEEPINBELL, 0 ; Route 19 - db 27,POLIWAG,GOLDEEN,SEAKING,GOLDEEN,POLIWAG,0 - db 30,GOLDEEN,SEAKING,0 - db 29,STARYU,STARYU,STARYU,0 + db 27, POLIWAG, GOLDEEN, SEAKING, GOLDEEN, POLIWAG, 0 + db 30, GOLDEEN, SEAKING, 0 + db 29, STARYU, STARYU, STARYU, 0 ; Route 20 - db 30,SEADRA,HORSEA,SEADRA,0 + db 30, SEADRA, HORSEA, SEADRA, 0 + PsychicData: ; Saffron Gym - db 31,KADABRA,SLOWPOKE,MR_MIME,KADABRA,0 - db 34,MR_MIME,KADABRA,0 - db 33,SLOWPOKE,SLOWPOKE,SLOWBRO,0 - db 38,SLOWBRO,0 + db 31, KADABRA, SLOWPOKE, MR_MIME, KADABRA, 0 + db 34, MR_MIME, KADABRA, 0 + db 33, SLOWPOKE, SLOWPOKE, SLOWBRO, 0 + db 38, SLOWBRO, 0 + RockerData: ; Vermilion Gym - db 20,VOLTORB,MAGNEMITE,VOLTORB,0 + db 20, VOLTORB, MAGNEMITE, VOLTORB, 0 ; Route 12 - db 29,VOLTORB,ELECTRODE,0 + db 29, VOLTORB, ELECTRODE, 0 + JugglerData: ; Silph Co. 5F - db 29,KADABRA,MR_MIME,0 + db 29, KADABRA, MR_MIME, 0 ; Victory Road 2F - db 41,DROWZEE,HYPNO,KADABRA,KADABRA,0 + db 41, DROWZEE, HYPNO, KADABRA, KADABRA, 0 ; Fuchsia Gym - db 31,DROWZEE,DROWZEE,KADABRA,DROWZEE,0 - db 34,DROWZEE,HYPNO,0 + db 31, DROWZEE, DROWZEE, KADABRA, DROWZEE, 0 + db 34, DROWZEE, HYPNO, 0 ; Victory Road 2F - db 48,MR_MIME,0 + db 48, MR_MIME, 0 ; Unused - db 33,HYPNO,0 + db 33, HYPNO, 0 ; Fuchsia Gym - db 38,HYPNO,0 - db 34,DROWZEE,KADABRA,0 + db 38, HYPNO, 0 + db 34, DROWZEE, KADABRA, 0 + TamerData: ; Fuchsia Gym - db 34,SANDSLASH,ARBOK,0 - db 33,ARBOK,SANDSLASH,ARBOK,0 + db 34, SANDSLASH, ARBOK, 0 + db 33, ARBOK, SANDSLASH, ARBOK, 0 ; Viridian Gym - db 43,RHYHORN,0 - db 39,ARBOK,TAUROS,0 + db 43, RHYHORN, 0 + db 39, ARBOK, TAUROS, 0 ; Victory Road 2F - db 44,PERSIAN,GOLDUCK,0 + db 44, PERSIAN, GOLDUCK, 0 ; Unused - db 42,RHYHORN,PRIMEAPE,ARBOK,TAUROS,0 + db 42, RHYHORN, PRIMEAPE, ARBOK, TAUROS, 0 + BirdKeeperData: ; Route 13 - db 29,PIDGEY,PIDGEOTTO,0 - db 25,SPEAROW,PIDGEY,PIDGEY,SPEAROW,SPEAROW,0 - db 26,PIDGEY,PIDGEOTTO,SPEAROW,FEAROW,0 + db 29, PIDGEY, PIDGEOTTO, 0 + db 25, SPEAROW, PIDGEY, PIDGEY, SPEAROW, SPEAROW, 0 + db 26, PIDGEY, PIDGEOTTO, SPEAROW, FEAROW, 0 ; Route 14 - db 33,FARFETCHD,0 - db 29,SPEAROW,FEAROW,0 + db 33, FARFETCHD, 0 + db 29, SPEAROW, FEAROW, 0 ; Route 15 - db 26,PIDGEOTTO,FARFETCHD,DODUO,PIDGEY,0 - db 28,DODRIO,DODUO,DODUO,0 + db 26, PIDGEOTTO, FARFETCHD, DODUO, PIDGEY, 0 + db 28, DODRIO, DODUO, DODUO, 0 ; Route 18 - db 29,SPEAROW,FEAROW,0 - db 34,DODRIO,0 - db 26,SPEAROW,SPEAROW,FEAROW,SPEAROW,0 + db 29, SPEAROW, FEAROW, 0 + db 34, DODRIO, 0 + db 26, SPEAROW, SPEAROW, FEAROW, SPEAROW, 0 ; Route 20 - db 30,FEAROW,FEAROW,PIDGEOTTO,0 + db 30, FEAROW, FEAROW, PIDGEOTTO, 0 ; Unused - db 39,PIDGEOTTO,PIDGEOTTO,PIDGEY,PIDGEOTTO,0 - db 42,FARFETCHD,FEAROW,0 + db 39, PIDGEOTTO, PIDGEOTTO, PIDGEY, PIDGEOTTO, 0 + db 42, FARFETCHD, FEAROW, 0 ; Route 14 - db 28,PIDGEY,DODUO,PIDGEOTTO,0 - db 26,PIDGEY,SPEAROW,PIDGEY,FEAROW,0 - db 29,PIDGEOTTO,FEAROW,0 - db 28,SPEAROW,DODUO,FEAROW,0 + db 28, PIDGEY, DODUO, PIDGEOTTO, 0 + db 26, PIDGEY, SPEAROW, PIDGEY, FEAROW, 0 + db 29, PIDGEOTTO, FEAROW, 0 + db 28, SPEAROW, DODUO, FEAROW, 0 + BlackbeltData: ; Fighting Dojo - db 37,HITMONLEE,HITMONCHAN,0 - db 31,MANKEY,MANKEY,PRIMEAPE,0 - db 32,MACHOP,MACHOKE,0 - db 36,PRIMEAPE,0 - db 31,MACHOP,MANKEY,PRIMEAPE,0 + db 37, HITMONLEE, HITMONCHAN, 0 + db 31, MANKEY, MANKEY, PRIMEAPE, 0 + db 32, MACHOP, MACHOKE, 0 + db 36, PRIMEAPE, 0 + db 31, MACHOP, MANKEY, PRIMEAPE, 0 ; Viridian Gym - db 40,MACHOP,MACHOKE,0 - db 43,MACHOKE,0 - db 38,MACHOKE,MACHOP,MACHOKE,0 + db 40, MACHOP, MACHOKE, 0 + db 43, MACHOKE, 0 + db 38, MACHOKE, MACHOP, MACHOKE, 0 ; Victory Road 2F - db 43,MACHOKE,MACHOP,MACHOKE,0 + db 43, MACHOKE, MACHOP, MACHOKE, 0 + Green1Data: - db 5,SQUIRTLE,0 - db 5,BULBASAUR,0 - db 5,CHARMANDER,0 + db 5, SQUIRTLE, 0 + db 5, BULBASAUR, 0 + db 5, CHARMANDER, 0 ; Route 22 - db $FF,9,PIDGEY,8,SQUIRTLE,0 - db $FF,9,PIDGEY,8,BULBASAUR,0 - db $FF,9,PIDGEY,8,CHARMANDER,0 + db $FF, 9, PIDGEY, 8, SQUIRTLE, 0 + db $FF, 9, PIDGEY, 8, BULBASAUR, 0 + db $FF, 9, PIDGEY, 8, CHARMANDER, 0 ; Cerulean City - db $FF,18,PIDGEOTTO,15,ABRA,15,RATTATA,17,SQUIRTLE,0 - db $FF,18,PIDGEOTTO,15,ABRA,15,RATTATA,17,BULBASAUR,0 - db $FF,18,PIDGEOTTO,15,ABRA,15,RATTATA,17,CHARMANDER,0 + db $FF, 18, PIDGEOTTO, 15, ABRA, 15, RATTATA, 17, SQUIRTLE, 0 + db $FF, 18, PIDGEOTTO, 15, ABRA, 15, RATTATA, 17, BULBASAUR, 0 + db $FF, 18, PIDGEOTTO, 15, ABRA, 15, RATTATA, 17, CHARMANDER, 0 + ProfOakData: ; Unused - db $FF,66,TAUROS,67,EXEGGUTOR,68,ARCANINE,69,BLASTOISE,70,GYARADOS,0 - db $FF,66,TAUROS,67,EXEGGUTOR,68,ARCANINE,69,VENUSAUR,70,GYARADOS,0 - db $FF,66,TAUROS,67,EXEGGUTOR,68,ARCANINE,69,CHARIZARD,70,GYARADOS,0 + db $FF, 66, TAUROS, 67, EXEGGUTOR, 68, ARCANINE, 69, BLASTOISE, 70, GYARADOS, 0 + db $FF, 66, TAUROS, 67, EXEGGUTOR, 68, ARCANINE, 69, VENUSAUR, 70, GYARADOS, 0 + db $FF, 66, TAUROS, 67, EXEGGUTOR, 68, ARCANINE, 69, CHARIZARD, 70, GYARADOS, 0 + ChiefData: ; none + ScientistData: ; Unused - db 34,KOFFING,VOLTORB,0 + db 34, KOFFING, VOLTORB, 0 ; Silph Co. 2F - db 26,GRIMER,WEEZING,KOFFING,WEEZING,0 - db 28,MAGNEMITE,VOLTORB,MAGNETON,0 + db 26, GRIMER, WEEZING, KOFFING, WEEZING, 0 + db 28, MAGNEMITE, VOLTORB, MAGNETON, 0 ; Silph Co. 3F/Mansion 1F - db 29,ELECTRODE,WEEZING,0 + db 29, ELECTRODE, WEEZING, 0 ; Silph Co. 4F - db 33,ELECTRODE,0 + db 33, ELECTRODE, 0 ; Silph Co. 5F - db 26,MAGNETON,KOFFING,WEEZING,MAGNEMITE,0 + db 26, MAGNETON, KOFFING, WEEZING, MAGNEMITE, 0 ; Silph Co. 6F - db 25,VOLTORB,KOFFING,MAGNETON,MAGNEMITE,KOFFING,0 + db 25, VOLTORB, KOFFING, MAGNETON, MAGNEMITE, KOFFING, 0 ; Silph Co. 7F - db 29,ELECTRODE,MUK,0 + db 29, ELECTRODE, MUK, 0 ; Silph Co. 8F - db 29,GRIMER,ELECTRODE,0 + db 29, GRIMER, ELECTRODE, 0 ; Silph Co. 9F - db 28,VOLTORB,KOFFING,MAGNETON,0 + db 28, VOLTORB, KOFFING, MAGNETON, 0 ; Silph Co. 10F - db 29,MAGNEMITE,KOFFING,0 + db 29, MAGNEMITE, KOFFING, 0 ; Mansion 3F - db 33,MAGNEMITE,MAGNETON,VOLTORB,0 + db 33, MAGNEMITE, MAGNETON, VOLTORB, 0 ; Mansion B1F - db 34,MAGNEMITE,ELECTRODE,0 + db 34, MAGNEMITE, ELECTRODE, 0 + GiovanniData: ; Rocket Hideout B4F - db $FF,25,ONIX,24,RHYHORN,29,KANGASKHAN,0 + db $FF, 25, ONIX, 24, RHYHORN, 29, KANGASKHAN, 0 ; Silph Co. 11F - db $FF,37,NIDORINO,35,KANGASKHAN,37,RHYHORN,41,NIDOQUEEN,0 + db $FF, 37, NIDORINO, 35, KANGASKHAN, 37, RHYHORN, 41, NIDOQUEEN, 0 ; Viridian Gym - db $FF,45,RHYHORN,42,DUGTRIO,44,NIDOQUEEN,45,NIDOKING,50,RHYDON,0 + db $FF, 45, RHYHORN, 42, DUGTRIO, 44, NIDOQUEEN, 45, NIDOKING, 50, RHYDON, 0 + RocketData: ; Mt. Moon B2F - db 13,RATTATA,ZUBAT,0 - db 11,SANDSHREW,RATTATA,ZUBAT,0 - db 12,ZUBAT,EKANS,0 - db 16,RATICATE,0 + db 13, RATTATA, ZUBAT, 0 + db 11, SANDSHREW, RATTATA, ZUBAT, 0 + db 12, ZUBAT, EKANS, 0 + db 16, RATICATE, 0 ; Cerulean City - db 17,MACHOP,DROWZEE,0 + db 17, MACHOP, DROWZEE, 0 ; Route 24 - db 15,EKANS,ZUBAT,0 + db 15, EKANS, ZUBAT, 0 ; Game Corner - db 20,RATICATE,ZUBAT,0 + db 20, RATICATE, ZUBAT, 0 ; Rocket Hideout B1F - db 21,DROWZEE,MACHOP,0 - db 21,RATICATE,RATICATE,0 - db 20,GRIMER,KOFFING,KOFFING,0 - db 19,RATTATA,RATICATE,RATICATE,RATTATA,0 - db 22,GRIMER,KOFFING,0 + db 21, DROWZEE, MACHOP, 0 + db 21, RATICATE, RATICATE, 0 + db 20, GRIMER, KOFFING, KOFFING, 0 + db 19, RATTATA, RATICATE, RATICATE, RATTATA, 0 + db 22, GRIMER, KOFFING, 0 ; Rocket Hideout B2F - db 17,ZUBAT,KOFFING,GRIMER,ZUBAT,RATICATE,0 + db 17, ZUBAT, KOFFING, GRIMER, ZUBAT, RATICATE, 0 ; Rocket Hideout B3F - db 20,RATTATA,RATICATE,DROWZEE,0 - db 21,MACHOP,MACHOP,0 + db 20, RATTATA, RATICATE, DROWZEE, 0 + db 21, MACHOP, MACHOP, 0 ; Rocket Hideout B4F - db 23,SANDSHREW,EKANS,SANDSLASH,0 - db 23,EKANS,SANDSHREW,ARBOK,0 - db 21,KOFFING,ZUBAT,0 + db 23, SANDSHREW, EKANS, SANDSLASH, 0 + db 23, EKANS, SANDSHREW, ARBOK, 0 + db 21, KOFFING, ZUBAT, 0 ; Pokémon Tower 7F - db 25,ZUBAT,ZUBAT,GOLBAT,0 - db 26,KOFFING,DROWZEE,0 - db 23,ZUBAT,RATTATA,RATICATE,ZUBAT,0 + db 25, ZUBAT, ZUBAT, GOLBAT, 0 + db 26, KOFFING, DROWZEE, 0 + db 23, ZUBAT, RATTATA, RATICATE, ZUBAT, 0 ; Unused - db 26,DROWZEE,KOFFING,0 + db 26, DROWZEE, KOFFING, 0 ; Silph Co. 2F - db 29,CUBONE,ZUBAT,0 - db 25,GOLBAT,ZUBAT,ZUBAT,RATICATE,ZUBAT,0 + db 29, CUBONE, ZUBAT, 0 + db 25, GOLBAT, ZUBAT, ZUBAT, RATICATE, ZUBAT, 0 ; Silph Co. 3F - db 28,RATICATE,HYPNO,RATICATE,0 + db 28, RATICATE, HYPNO, RATICATE, 0 ; Silph Co. 4F - db 29,MACHOP,DROWZEE,0 - db 28,EKANS,ZUBAT,CUBONE,0 + db 29, MACHOP, DROWZEE, 0 + db 28, EKANS, ZUBAT, CUBONE, 0 ; Silph Co. 5F - db 33,ARBOK,0 - db 33,HYPNO,0 + db 33, ARBOK, 0 + db 33, HYPNO, 0 ; Silph Co. 6F - db 29,MACHOP,MACHOKE,0 - db 28,ZUBAT,ZUBAT,GOLBAT,0 + db 29, MACHOP, MACHOKE, 0 + db 28, ZUBAT, ZUBAT, GOLBAT, 0 ; Silph Co. 7F - db 26,RATICATE,ARBOK,KOFFING,GOLBAT,0 - db 29,CUBONE,CUBONE,0 - db 29,SANDSHREW,SANDSLASH,0 + db 26, RATICATE, ARBOK, KOFFING, GOLBAT, 0 + db 29, CUBONE, CUBONE, 0 + db 29, SANDSHREW, SANDSLASH, 0 ; Silph Co. 8F - db 26,RATICATE,ZUBAT,GOLBAT,RATTATA,0 - db 28,WEEZING,GOLBAT,KOFFING,0 + db 26, RATICATE, ZUBAT, GOLBAT, RATTATA, 0 + db 28, WEEZING, GOLBAT, KOFFING, 0 ; Silph Co. 9F - db 28,DROWZEE,GRIMER,MACHOP,0 - db 28,GOLBAT,DROWZEE,HYPNO,0 + db 28, DROWZEE, GRIMER, MACHOP, 0 + db 28, GOLBAT, DROWZEE, HYPNO, 0 ; Silph Co. 10F - db 33,MACHOKE,0 + db 33, MACHOKE, 0 ; Silph Co. 11F - db 25,RATTATA,RATTATA,ZUBAT,RATTATA,EKANS,0 - db 32,CUBONE,DROWZEE,MAROWAK,0 + db 25, RATTATA, RATTATA, ZUBAT, RATTATA, EKANS, 0 + db 32, CUBONE, DROWZEE, MAROWAK, 0 + CooltrainerMData: ; Viridian Gym - db 39,NIDORINO,NIDOKING,0 + db 39, NIDORINO, NIDOKING, 0 ; Victory Road 3F - db 43,EXEGGUTOR,CLOYSTER,ARCANINE,0 - db 43,KINGLER,TENTACRUEL,BLASTOISE,0 + db 43, EXEGGUTOR, CLOYSTER, ARCANINE, 0 + db 43, KINGLER, TENTACRUEL, BLASTOISE, 0 ; Unused - db 45,KINGLER,STARMIE,0 + db 45, KINGLER, STARMIE, 0 ; Victory Road 1F - db 42,IVYSAUR,WARTORTLE,CHARMELEON,CHARIZARD,0 + db 42, IVYSAUR, WARTORTLE, CHARMELEON, CHARIZARD, 0 ; Unused - db 44,IVYSAUR,WARTORTLE,CHARMELEON,0 - db 49,NIDOKING,0 - db 44,KINGLER,CLOYSTER,0 + db 44, IVYSAUR, WARTORTLE, CHARMELEON, 0 + db 49, NIDOKING, 0 + db 44, KINGLER, CLOYSTER, 0 ; Viridian Gym - db 39,SANDSLASH,DUGTRIO,0 - db 43,RHYHORN,0 + db 39, SANDSLASH, DUGTRIO, 0 + db 43, RHYHORN, 0 + CooltrainerFData: ; Celadon Gym - db 24,WEEPINBELL,GLOOM,IVYSAUR,0 + db 24, WEEPINBELL, GLOOM, IVYSAUR, 0 ; Victory Road 3F - db 43,BELLSPROUT,WEEPINBELL,VICTREEBEL,0 - db 43,PARASECT,DEWGONG,CHANSEY,0 + db 43, BELLSPROUT, WEEPINBELL, VICTREEBEL, 0 + db 43, PARASECT, DEWGONG, CHANSEY, 0 ; Unused - db 46,VILEPLUME,BUTTERFREE,0 + db 46, VILEPLUME, BUTTERFREE, 0 ; Victory Road 1F - db 44,PERSIAN,NINETALES,0 + db 44, PERSIAN, NINETALES, 0 ; Unused - db 45,IVYSAUR,VENUSAUR,0 - db 45,NIDORINA,NIDOQUEEN,0 - db 43,PERSIAN,NINETALES,RAICHU,0 + db 45, IVYSAUR, VENUSAUR, 0 + db 45, NIDORINA, NIDOQUEEN, 0 + db 43, PERSIAN, NINETALES, RAICHU, 0 + BrunoData: - db $FF,53,ONIX,55,HITMONCHAN,55,HITMONLEE,56,ONIX,58,MACHAMP,0 + db $FF, 53, ONIX, 55, HITMONCHAN, 55, HITMONLEE, 56, ONIX, 58, MACHAMP, 0 + BrockData: - db $FF,12,GEODUDE,14,ONIX,0 + db $FF, 12, GEODUDE, 14, ONIX, 0 + MistyData: - db $FF,18,STARYU,21,STARMIE,0 + db $FF, 18, STARYU, 21, STARMIE, 0 + LtSurgeData: - db $FF,21,VOLTORB,18,PIKACHU,24,RAICHU,0 + db $FF, 21, VOLTORB, 18, PIKACHU, 24, RAICHU, 0 + ErikaData: - db $FF,29,VICTREEBEL,24,TANGELA,29,VILEPLUME,0 + db $FF, 29, VICTREEBEL, 24, TANGELA, 29, VILEPLUME, 0 + KogaData: - db $FF,37,KOFFING,39,MUK,37,KOFFING,43,WEEZING,0 + db $FF, 37, KOFFING, 39, MUK, 37, KOFFING, 43, WEEZING, 0 + BlaineData: - db $FF,42,GROWLITHE,40,PONYTA,42,RAPIDASH,47,ARCANINE,0 + db $FF, 42, GROWLITHE, 40, PONYTA, 42, RAPIDASH, 47, ARCANINE, 0 + SabrinaData: - db $FF,38,KADABRA,37,MR_MIME,38,VENOMOTH,43,ALAKAZAM,0 + db $FF, 38, KADABRA, 37, MR_MIME, 38, VENOMOTH, 43, ALAKAZAM, 0 + GentlemanData: ; SS Anne 1F Rooms - db 18,GROWLITHE,GROWLITHE,0 - db 19,NIDORAN_M,NIDORAN_F,0 + db 18, GROWLITHE, GROWLITHE, 0 + db 19, NIDORAN_M, NIDORAN_F, 0 ; SS Anne 2F Rooms/Vermilion Gym - db 23,PIKACHU,0 + db 23, PIKACHU, 0 ; Unused - db 48,PRIMEAPE,0 + db 48, PRIMEAPE, 0 ; SS Anne 2F Rooms - db 17,GROWLITHE,PONYTA,0 + db 17, GROWLITHE, PONYTA, 0 + Green2Data: ; SS Anne 2F - db $FF,19,PIDGEOTTO,16,RATICATE,18,KADABRA,20,WARTORTLE,0 - db $FF,19,PIDGEOTTO,16,RATICATE,18,KADABRA,20,IVYSAUR,0 - db $FF,19,PIDGEOTTO,16,RATICATE,18,KADABRA,20,CHARMELEON,0 + db $FF, 19, PIDGEOTTO, 16, RATICATE, 18, KADABRA, 20, WARTORTLE, 0 + db $FF, 19, PIDGEOTTO, 16, RATICATE, 18, KADABRA, 20, IVYSAUR, 0 + db $FF, 19, PIDGEOTTO, 16, RATICATE, 18, KADABRA, 20, CHARMELEON, 0 ; Pokémon Tower 2F - db $FF,25,PIDGEOTTO,23,GROWLITHE,22,EXEGGCUTE,20,KADABRA,25,WARTORTLE,0 - db $FF,25,PIDGEOTTO,23,GYARADOS,22,GROWLITHE,20,KADABRA,25,IVYSAUR,0 - db $FF,25,PIDGEOTTO,23,EXEGGCUTE,22,GYARADOS,20,KADABRA,25,CHARMELEON,0 + db $FF, 25, PIDGEOTTO, 23, GROWLITHE, 22, EXEGGCUTE, 20, KADABRA, 25, WARTORTLE, 0 + db $FF, 25, PIDGEOTTO, 23, GYARADOS, 22, GROWLITHE, 20, KADABRA, 25, IVYSAUR, 0 + db $FF, 25, PIDGEOTTO, 23, EXEGGCUTE, 22, GYARADOS, 20, KADABRA, 25, CHARMELEON, 0 ; Silph Co. 7F - db $FF,37,PIDGEOT,38,GROWLITHE,35,EXEGGCUTE,35,ALAKAZAM,40,BLASTOISE,0 - db $FF,37,PIDGEOT,38,GYARADOS,35,GROWLITHE,35,ALAKAZAM,40,VENUSAUR,0 - db $FF,37,PIDGEOT,38,EXEGGCUTE,35,GYARADOS,35,ALAKAZAM,40,CHARIZARD,0 + db $FF, 37, PIDGEOT, 38, GROWLITHE, 35, EXEGGCUTE, 35, ALAKAZAM, 40, BLASTOISE, 0 + db $FF, 37, PIDGEOT, 38, GYARADOS, 35, GROWLITHE, 35, ALAKAZAM, 40, VENUSAUR, 0 + db $FF, 37, PIDGEOT, 38, EXEGGCUTE, 35, GYARADOS, 35, ALAKAZAM, 40, CHARIZARD, 0 ; Route 22 - db $FF,47,PIDGEOT,45,RHYHORN,45,GROWLITHE,47,EXEGGCUTE,50,ALAKAZAM,53,BLASTOISE,0 - db $FF,47,PIDGEOT,45,RHYHORN,45,GYARADOS,47,GROWLITHE,50,ALAKAZAM,53,VENUSAUR,0 - db $FF,47,PIDGEOT,45,RHYHORN,45,EXEGGCUTE,47,GYARADOS,50,ALAKAZAM,53,CHARIZARD,0 + db $FF, 47, PIDGEOT, 45, RHYHORN, 45, GROWLITHE, 47, EXEGGCUTE, 50, ALAKAZAM, 53, BLASTOISE, 0 + db $FF, 47, PIDGEOT, 45, RHYHORN, 45, GYARADOS, 47, GROWLITHE, 50, ALAKAZAM, 53, VENUSAUR, 0 + db $FF, 47, PIDGEOT, 45, RHYHORN, 45, EXEGGCUTE, 47, GYARADOS, 50, ALAKAZAM, 53, CHARIZARD, 0 + Green3Data: - db $FF,61,PIDGEOT,59,ALAKAZAM,61,RHYDON,61,ARCANINE,63,EXEGGUTOR,65,BLASTOISE,0 - db $FF,61,PIDGEOT,59,ALAKAZAM,61,RHYDON,61,GYARADOS,63,ARCANINE,65,VENUSAUR,0 - db $FF,61,PIDGEOT,59,ALAKAZAM,61,RHYDON,61,EXEGGUTOR,63,GYARADOS,65,CHARIZARD,0 + db $FF, 61, PIDGEOT, 59, ALAKAZAM, 61, RHYDON, 61, ARCANINE, 63, EXEGGUTOR, 65, BLASTOISE, 0 + db $FF, 61, PIDGEOT, 59, ALAKAZAM, 61, RHYDON, 61, GYARADOS, 63, ARCANINE, 65, VENUSAUR, 0 + db $FF, 61, PIDGEOT, 59, ALAKAZAM, 61, RHYDON, 61, EXEGGUTOR, 63, GYARADOS, 65, CHARIZARD, 0 + LoreleiData: - db $FF,54,DEWGONG,53,CLOYSTER,54,SLOWBRO,56,JYNX,56,LAPRAS,0 + db $FF, 54, DEWGONG, 53, CLOYSTER, 54, SLOWBRO, 56, JYNX, 56, LAPRAS, 0 + ChannelerData: ; Unused - db 22,GASTLY,0 - db 24,GASTLY,0 - db 23,GASTLY,GASTLY,0 - db 24,GASTLY,0 + db 22, GASTLY, 0 + db 24, GASTLY, 0 + db 23, GASTLY, GASTLY, 0 + db 24, GASTLY, 0 ; Pokémon Tower 3F - db 23,GASTLY,0 - db 24,GASTLY,0 + db 23, GASTLY, 0 + db 24, GASTLY, 0 ; Unused - db 24,HAUNTER,0 + db 24, HAUNTER, 0 ; Pokémon Tower 3F - db 22,GASTLY,0 + db 22, GASTLY, 0 ; Pokémon Tower 4F - db 24,GASTLY,0 - db 23,GASTLY,GASTLY,0 + db 24, GASTLY, 0 + db 23, GASTLY, GASTLY, 0 ; Unused - db 24,GASTLY,0 + db 24, GASTLY, 0 ; Pokémon Tower 4F - db 22,GASTLY,0 + db 22, GASTLY, 0 ; Unused - db 24,GASTLY,0 + db 24, GASTLY, 0 ; Pokémon Tower 5F - db 23,HAUNTER,0 + db 23, HAUNTER, 0 ; Unused - db 24,GASTLY,0 + db 24, GASTLY, 0 ; Pokémon Tower 5F - db 22,GASTLY,0 - db 24,GASTLY,0 - db 22,HAUNTER,0 + db 22, GASTLY, 0 + db 24, GASTLY, 0 + db 22, HAUNTER, 0 ; Pokémon Tower 6F - db 22,GASTLY,GASTLY,GASTLY,0 - db 24,GASTLY,0 - db 24,GASTLY,0 + db 22, GASTLY, GASTLY, GASTLY, 0 + db 24, GASTLY, 0 + db 24, GASTLY, 0 ; Saffron Gym - db 34,GASTLY,HAUNTER,0 - db 38,HAUNTER,0 - db 33,GASTLY,GASTLY,HAUNTER,0 + db 34, GASTLY, HAUNTER, 0 + db 38, HAUNTER, 0 + db 33, GASTLY, GASTLY, HAUNTER, 0 + AgathaData: - db $FF,56,GENGAR,56,GOLBAT,55,HAUNTER,58,ARBOK,60,GENGAR,0 + db $FF, 56, GENGAR, 56, GOLBAT, 55, HAUNTER, 58, ARBOK, 60, GENGAR, 0 + LanceData: - db $FF,58,GYARADOS,56,DRAGONAIR,56,DRAGONAIR,60,AERODACTYL,62,DRAGONITE,0 + db $FF, 58, GYARADOS, 56, DRAGONAIR, 56, DRAGONAIR, 60, AERODACTYL, 62, DRAGONITE, 0 diff --git a/data/trainers/pic_pointers_money.asm b/data/trainers/pic_pointers_money.asm index 85f34497..1236e70c 100755 --- a/data/trainers/pic_pointers_money.asm +++ b/data/trainers/pic_pointers_money.asm @@ -1,143 +1,55 @@ +pic_money: MACRO + dw \1 + money \2 +ENDM + TrainerPicAndMoneyPointers:: -; trainer pic pointers and base money. +; pic pointer, base reward money ; money received after battle = base money × level of highest-level enemy mon - dw YoungsterPic - money 1500 - - dw BugCatcherPic - money 1000 - - dw LassPic - money 1500 - - dw SailorPic - money 3000 - - dw JrTrainerMPic - money 2000 - - dw JrTrainerFPic - money 2000 - - dw PokemaniacPic - money 5000 - - dw SuperNerdPic - money 2500 - - dw HikerPic - money 3500 - - dw BikerPic - money 2000 - - dw BurglarPic - money 9000 - - dw EngineerPic - money 5000 - - dw JugglerPic - money 3500 - - dw FisherPic - money 3500 - - dw SwimmerPic - money 500 - - dw CueBallPic - money 2500 - - dw GamblerPic - money 7000 - - dw BeautyPic - money 7000 - - dw PsychicPic - money 1000 - - dw RockerPic - money 2500 - - dw JugglerPic - money 3500 - - dw TamerPic - money 4000 - - dw BirdKeeperPic - money 2500 - - dw BlackbeltPic - money 2500 - - dw Rival1Pic - money 3500 - - dw ProfOakPic - money 9900 - - dw ChiefPic - money 3000 - - dw ScientistPic - money 5000 - - dw GiovanniPic - money 9900 - - dw RocketPic - money 3000 - - dw CooltrainerMPic - money 3500 - - dw CooltrainerFPic - money 3500 - - dw BrunoPic - money 9900 - - dw BrockPic - money 9900 - - dw MistyPic - money 9900 - - dw LtSurgePic - money 9900 - - dw ErikaPic - money 9900 - - dw KogaPic - money 9900 - - dw BlainePic - money 9900 - - dw SabrinaPic - money 9900 - - dw GentlemanPic - money 7000 - - dw Rival2Pic - money 6500 - - dw Rival3Pic - money 9900 - - dw LoreleiPic - money 9900 - - dw ChannelerPic - money 3000 - - dw AgathaPic - money 9900 - - dw LancePic - money 9900 + pic_money YoungsterPic, 1500 + pic_money BugCatcherPic, 1000 + pic_money LassPic, 1500 + pic_money SailorPic, 3000 + pic_money JrTrainerMPic, 2000 + pic_money JrTrainerFPic, 2000 + pic_money PokemaniacPic, 5000 + pic_money SuperNerdPic, 2500 + pic_money HikerPic, 3500 + pic_money BikerPic, 2000 + pic_money BurglarPic, 9000 + pic_money EngineerPic, 5000 + pic_money JugglerPic, 3500 + pic_money FisherPic, 3500 + pic_money SwimmerPic, 500 + pic_money CueBallPic, 2500 + pic_money GamblerPic, 7000 + pic_money BeautyPic, 7000 + pic_money PsychicPic, 1000 + pic_money RockerPic, 2500 + pic_money JugglerPic, 3500 + pic_money TamerPic, 4000 + pic_money BirdKeeperPic, 2500 + pic_money BlackbeltPic, 2500 + pic_money Rival1Pic, 3500 + pic_money ProfOakPic, 9900 + pic_money ChiefPic, 3000 + pic_money ScientistPic, 5000 + pic_money GiovanniPic, 9900 + pic_money RocketPic, 3000 + pic_money CooltrainerMPic, 3500 + pic_money CooltrainerFPic, 3500 + pic_money BrunoPic, 9900 + pic_money BrockPic, 9900 + pic_money MistyPic, 9900 + pic_money LtSurgePic, 9900 + pic_money ErikaPic, 9900 + pic_money KogaPic, 9900 + pic_money BlainePic, 9900 + pic_money SabrinaPic, 9900 + pic_money GentlemanPic, 7000 + pic_money Rival2Pic, 6500 + pic_money Rival3Pic, 9900 + pic_money LoreleiPic, 9900 + pic_money ChannelerPic, 3000 + pic_money AgathaPic, 9900 + pic_money LancePic, 9900 diff --git a/data/trainers/special_moves.asm b/data/trainers/special_moves.asm index 2e7b52a5..84969367 100755 --- a/data/trainers/special_moves.asm +++ b/data/trainers/special_moves.asm @@ -1,32 +1,25 @@ +; unique moves for gym leaders LoneMoves: -; these are used for gym leaders. -; this is not automatic! you have to write the number you want to wLoneAttackNo -; first. e.g., erika's script writes 4 to wLoneAttackNo to get mega drain, +; pokemon index, move to give nth pokemon +; this is not automatic! you have to write the index you want to [wLoneAttackNo] +; first. e.g., erika's script writes 4 to [wLoneAttackNo] to get mega drain, ; the fourth entry in the list. + db 1, BIDE + db 1, BUBBLEBEAM + db 2, THUNDERBOLT + db 2, MEGA_DRAIN + db 3, TOXIC + db 3, PSYWAVE + db 3, FIRE_BLAST + db 4, FISSURE -; first byte: pokemon in the trainer's party that gets the move -; second byte: move -; unterminated - db 1,BIDE - db 1,BUBBLEBEAM - db 2,THUNDERBOLT - db 2,MEGA_DRAIN - db 3,TOXIC - db 3,PSYWAVE - db 3,FIRE_BLAST - db 4,FISSURE - +; unique moves for elite 4 TeamMoves: -; these are used for elite four. -; this is automatic, based on trainer class. -; don't be confused by LoneMoves above, the two data structures are - ; _completely_ unrelated. - -; first byte: trainer (all trainers in this class have this move) -; second byte: move -; ff-terminated - db LORELEI,BLIZZARD - db BRUNO,FISSURE - db AGATHA,TOXIC - db LANCE,BARRIER - db $FF +; trainer, move +; all trainers in this class are given this move automatically +; (unrelated to LoneMoves) + db LORELEI, BLIZZARD + db BRUNO, FISSURE + db AGATHA, TOXIC + db LANCE, BARRIER + db -1 ; end diff --git a/data/types/names.asm b/data/types/names.asm index d94675b8..b1c35f65 100755 --- a/data/types/names.asm +++ b/data/types/names.asm @@ -10,17 +10,9 @@ TypeNames: dw .Bug dw .Ghost +REPT FIRE - GHOST - 1 dw .Normal - dw .Normal - dw .Normal - dw .Normal - dw .Normal - dw .Normal - dw .Normal - dw .Normal - dw .Normal - dw .Normal - dw .Normal +ENDR dw .Fire dw .Water diff --git a/data/wild/good_rod.asm b/data/wild/good_rod.asm index 6c23f402..145a9e55 100755 --- a/data/wild/good_rod.asm +++ b/data/wild/good_rod.asm @@ -1,3 +1,5 @@ +; random choice of 2 good rod encounters GoodRodMons: - db 10,GOLDEEN - db 10,POLIWAG +; level, species + db 10, GOLDEEN + db 10, POLIWAG diff --git a/data/wild/grass_water.asm b/data/wild/grass_water.asm index 9dc41f82..56ef25c4 100755 --- a/data/wild/grass_water.asm +++ b/data/wild/grass_water.asm @@ -253,9 +253,9 @@ WildDataPointers: ; first part: pokemon found in grass ; second part: pokemon found while surfing ; each part goes as follows: - ; if first byte == 00, then + ; if first byte == 0, then ; no wild pokemon on this map - ; if first byte != 00, then + ; if first byte != 0, then ; first byte is encounter rate ; followed by 20 bytes: ; level, species (ten times) diff --git a/data/wild/maps/CeruleanCave1F.asm b/data/wild/maps/CeruleanCave1F.asm index 20e8643a..eb39c525 100644 --- a/data/wild/maps/CeruleanCave1F.asm +++ b/data/wild/maps/CeruleanCave1F.asm @@ -1,18 +1,19 @@ DungeonMons1: - db $0A - db 46,GOLBAT - db 46,HYPNO - db 46,MAGNETON - db 49,DODRIO - db 49,VENOMOTH - IF DEF(_RED) - db 52,ARBOK - ENDC - IF DEF(_BLUE) - db 52,SANDSLASH - ENDC - db 49,KADABRA - db 52,PARASECT - db 53,RAICHU - db 53,DITTO - db $00 + db 10 ; grass encounter rate + db 46, GOLBAT + db 46, HYPNO + db 46, MAGNETON + db 49, DODRIO + db 49, VENOMOTH +IF DEF(_RED) + db 52, ARBOK +ENDC +IF DEF(_BLUE) + db 52, SANDSLASH +ENDC + db 49, KADABRA + db 52, PARASECT + db 53, RAICHU + db 53, DITTO + + db 0 ; water encounter rate diff --git a/data/wild/maps/CeruleanCave2F.asm b/data/wild/maps/CeruleanCave2F.asm index 5afe55ac..cbdb2eaf 100644 --- a/data/wild/maps/CeruleanCave2F.asm +++ b/data/wild/maps/CeruleanCave2F.asm @@ -1,13 +1,14 @@ DungeonMons2: - db $0F - db 51,DODRIO - db 51,VENOMOTH - db 51,KADABRA - db 52,RHYDON - db 52,MAROWAK - db 52,ELECTRODE - db 56,CHANSEY - db 54,WIGGLYTUFF - db 55,DITTO - db 60,DITTO - db $00 + db 15 ; grass encounter rate + db 51, DODRIO + db 51, VENOMOTH + db 51, KADABRA + db 52, RHYDON + db 52, MAROWAK + db 52, ELECTRODE + db 56, CHANSEY + db 54, WIGGLYTUFF + db 55, DITTO + db 60, DITTO + + db 0 ; water encounter rate diff --git a/data/wild/maps/CeruleanCaveB1F.asm b/data/wild/maps/CeruleanCaveB1F.asm index 245d5912..86e8fba2 100644 --- a/data/wild/maps/CeruleanCaveB1F.asm +++ b/data/wild/maps/CeruleanCaveB1F.asm @@ -1,18 +1,19 @@ DungeonMonsB1: - db $19 - db 55,RHYDON - db 55,MAROWAK - db 55,ELECTRODE - db 64,CHANSEY - db 64,PARASECT - db 64,RAICHU - IF DEF(_RED) - db 57,ARBOK - ENDC - IF DEF(_BLUE) - db 57,SANDSLASH - ENDC - db 65,DITTO - db 63,DITTO - db 67,DITTO - db $00 + db 25 ; grass encounter rate + db 55, RHYDON + db 55, MAROWAK + db 55, ELECTRODE + db 64, CHANSEY + db 64, PARASECT + db 64, RAICHU +IF DEF(_RED) + db 57, ARBOK +ENDC +IF DEF(_BLUE) + db 57, SANDSLASH +ENDC + db 65, DITTO + db 63, DITTO + db 67, DITTO + + db 0 ; water encounter rate diff --git a/data/wild/maps/DiglettsCave.asm b/data/wild/maps/DiglettsCave.asm index 37512687..d1e73af4 100755 --- a/data/wild/maps/DiglettsCave.asm +++ b/data/wild/maps/DiglettsCave.asm @@ -1,13 +1,14 @@ CaveMons: - db $14 - db 18,DIGLETT - db 19,DIGLETT - db 17,DIGLETT - db 20,DIGLETT - db 16,DIGLETT - db 15,DIGLETT - db 21,DIGLETT - db 22,DIGLETT - db 29,DUGTRIO - db 31,DUGTRIO - db $00 + db 20 ; grass encounter rate + db 18, DIGLETT + db 19, DIGLETT + db 17, DIGLETT + db 20, DIGLETT + db 16, DIGLETT + db 15, DIGLETT + db 21, DIGLETT + db 22, DIGLETT + db 29, DUGTRIO + db 31, DUGTRIO + + db 0 ; water encounter rate diff --git a/data/wild/maps/MtMoon1F.asm b/data/wild/maps/MtMoon1F.asm index 44b34c45..d8c9ba1b 100755 --- a/data/wild/maps/MtMoon1F.asm +++ b/data/wild/maps/MtMoon1F.asm @@ -1,13 +1,14 @@ MoonMons1: - db $0A - db 8,ZUBAT - db 7,ZUBAT - db 9,ZUBAT - db 8,GEODUDE - db 6,ZUBAT - db 10,ZUBAT - db 10,GEODUDE - db 8,PARAS - db 11,ZUBAT - db 8,CLEFAIRY - db $00 + db 10 ; grass encounter rate + db 8, ZUBAT + db 7, ZUBAT + db 9, ZUBAT + db 8, GEODUDE + db 6, ZUBAT + db 10, ZUBAT + db 10, GEODUDE + db 8, PARAS + db 11, ZUBAT + db 8, CLEFAIRY + + db 0 ; water encounter rate diff --git a/data/wild/maps/MtMoonB1F.asm b/data/wild/maps/MtMoonB1F.asm index 5c0d8a53..875a7256 100755 --- a/data/wild/maps/MtMoonB1F.asm +++ b/data/wild/maps/MtMoonB1F.asm @@ -1,13 +1,14 @@ MoonMonsB1: - db $0A - db 8,ZUBAT - db 7,ZUBAT - db 7,GEODUDE - db 8,GEODUDE - db 9,ZUBAT - db 10,PARAS - db 10,ZUBAT - db 11,ZUBAT - db 9,CLEFAIRY - db 9,GEODUDE - db $00 + db 10 ; grass encounter rate + db 8, ZUBAT + db 7, ZUBAT + db 7, GEODUDE + db 8, GEODUDE + db 9, ZUBAT + db 10, PARAS + db 10, ZUBAT + db 11, ZUBAT + db 9, CLEFAIRY + db 9, GEODUDE + + db 0 ; water encounter rate diff --git a/data/wild/maps/MtMoonB2F.asm b/data/wild/maps/MtMoonB2F.asm index cbf97e7e..ae90ed1e 100755 --- a/data/wild/maps/MtMoonB2F.asm +++ b/data/wild/maps/MtMoonB2F.asm @@ -1,13 +1,14 @@ MoonMonsB2: - db $0A - db 9,ZUBAT - db 9,GEODUDE - db 10,ZUBAT - db 10,GEODUDE - db 11,ZUBAT - db 10,PARAS - db 12,PARAS - db 10,CLEFAIRY - db 12,ZUBAT - db 12,CLEFAIRY - db $00 + db 10 ; grass encounter rate + db 9, ZUBAT + db 9, GEODUDE + db 10, ZUBAT + db 10, GEODUDE + db 11, ZUBAT + db 10, PARAS + db 12, PARAS + db 10, CLEFAIRY + db 12, ZUBAT + db 12, CLEFAIRY + + db 0 ; water encounter rate diff --git a/data/wild/maps/PokemonMansion1F.asm b/data/wild/maps/PokemonMansion1F.asm index 22ad032b..3be7fb18 100755 --- a/data/wild/maps/PokemonMansion1F.asm +++ b/data/wild/maps/PokemonMansion1F.asm @@ -1,27 +1,28 @@ MansionMons1: - db $0A - IF DEF(_RED) - db 32,KOFFING - db 30,KOFFING - db 34,PONYTA - db 30,PONYTA - db 34,GROWLITHE - db 32,PONYTA - db 30,GRIMER - db 28,PONYTA - db 37,WEEZING - db 39,MUK - ENDC - IF DEF(_BLUE) - db 32,GRIMER - db 30,GRIMER - db 34,PONYTA - db 30,PONYTA - db 34,VULPIX - db 32,PONYTA - db 30,KOFFING - db 28,PONYTA - db 37,MUK - db 39,WEEZING - ENDC - db $00 + db 10 ; grass encounter rate +IF DEF(_RED) + db 32, KOFFING + db 30, KOFFING + db 34, PONYTA + db 30, PONYTA + db 34, GROWLITHE + db 32, PONYTA + db 30, GRIMER + db 28, PONYTA + db 37, WEEZING + db 39, MUK +ENDC +IF DEF(_BLUE) + db 32, GRIMER + db 30, GRIMER + db 34, PONYTA + db 30, PONYTA + db 34, VULPIX + db 32, PONYTA + db 30, KOFFING + db 28, PONYTA + db 37, MUK + db 39, WEEZING +ENDC + + db 0 ; water encounter rate diff --git a/data/wild/maps/PokemonMansion2F.asm b/data/wild/maps/PokemonMansion2F.asm index 985474fc..494973b2 100755 --- a/data/wild/maps/PokemonMansion2F.asm +++ b/data/wild/maps/PokemonMansion2F.asm @@ -1,27 +1,28 @@ MansionMons2: - db $0A - IF DEF(_RED) - db 32,GROWLITHE - db 34,KOFFING - db 34,KOFFING - db 30,PONYTA - db 30,KOFFING - db 32,PONYTA - db 30,GRIMER - db 28,PONYTA - db 39,WEEZING - db 37,MUK - ENDC - IF DEF(_BLUE) - db 32,VULPIX - db 34,GRIMER - db 34,GRIMER - db 30,PONYTA - db 30,GRIMER - db 32,PONYTA - db 30,KOFFING - db 28,PONYTA - db 39,MUK - db 37,WEEZING - ENDC - db $00 + db 10 ; grass encounter rate +IF DEF(_RED) + db 32, GROWLITHE + db 34, KOFFING + db 34, KOFFING + db 30, PONYTA + db 30, KOFFING + db 32, PONYTA + db 30, GRIMER + db 28, PONYTA + db 39, WEEZING + db 37, MUK +ENDC +IF DEF(_BLUE) + db 32, VULPIX + db 34, GRIMER + db 34, GRIMER + db 30, PONYTA + db 30, GRIMER + db 32, PONYTA + db 30, KOFFING + db 28, PONYTA + db 39, MUK + db 37, WEEZING +ENDC + + db 0 ; water encounter rate diff --git a/data/wild/maps/PokemonMansion3F.asm b/data/wild/maps/PokemonMansion3F.asm index 9c5521ae..bbb14213 100755 --- a/data/wild/maps/PokemonMansion3F.asm +++ b/data/wild/maps/PokemonMansion3F.asm @@ -1,27 +1,28 @@ MansionMons3: - db $0A - IF DEF(_RED) - db 31,KOFFING - db 33,GROWLITHE - db 35,KOFFING - db 32,PONYTA - db 34,PONYTA - db 40,WEEZING - db 34,GRIMER - db 38,WEEZING - db 36,PONYTA - db 42,MUK - ENDC - IF DEF(_BLUE) - db 31,GRIMER - db 33,VULPIX - db 35,GRIMER - db 32,PONYTA - db 34,MAGMAR - db 40,MUK - db 34,KOFFING - db 38,MUK - db 36,PONYTA - db 42,WEEZING - ENDC - db $00 + db 10 ; grass encounter rate +IF DEF(_RED) + db 31, KOFFING + db 33, GROWLITHE + db 35, KOFFING + db 32, PONYTA + db 34, PONYTA + db 40, WEEZING + db 34, GRIMER + db 38, WEEZING + db 36, PONYTA + db 42, MUK +ENDC +IF DEF(_BLUE) + db 31, GRIMER + db 33, VULPIX + db 35, GRIMER + db 32, PONYTA + db 34, MAGMAR + db 40, MUK + db 34, KOFFING + db 38, MUK + db 36, PONYTA + db 42, WEEZING +ENDC + + db 0 ; water encounter rate diff --git a/data/wild/maps/PokemonMansionB1F.asm b/data/wild/maps/PokemonMansionB1F.asm index 83266ddd..77f989b2 100755 --- a/data/wild/maps/PokemonMansionB1F.asm +++ b/data/wild/maps/PokemonMansionB1F.asm @@ -1,27 +1,28 @@ MansionMonsB1: - db $0A - IF DEF(_RED) - db 33,KOFFING - db 31,KOFFING - db 35,GROWLITHE - db 32,PONYTA - db 31,KOFFING - db 40,WEEZING - db 34,PONYTA - db 35,GRIMER - db 42,WEEZING - db 42,MUK - ENDC - IF DEF(_BLUE) - db 33,GRIMER - db 31,GRIMER - db 35,VULPIX - db 32,PONYTA - db 31,GRIMER - db 40,MUK - db 34,PONYTA - db 35,KOFFING - db 38,MAGMAR - db 42,WEEZING - ENDC - db $00 + db 10 ; grass encounter rate +IF DEF(_RED) + db 33, KOFFING + db 31, KOFFING + db 35, GROWLITHE + db 32, PONYTA + db 31, KOFFING + db 40, WEEZING + db 34, PONYTA + db 35, GRIMER + db 42, WEEZING + db 42, MUK +ENDC +IF DEF(_BLUE) + db 33, GRIMER + db 31, GRIMER + db 35, VULPIX + db 32, PONYTA + db 31, GRIMER + db 40, MUK + db 34, PONYTA + db 35, KOFFING + db 38, MAGMAR + db 42, WEEZING +ENDC + + db 0 ; water encounter rate diff --git a/data/wild/maps/PokemonTower1F.asm b/data/wild/maps/PokemonTower1F.asm index df951e70..95bef4a3 100755 --- a/data/wild/maps/PokemonTower1F.asm +++ b/data/wild/maps/PokemonTower1F.asm @@ -1,3 +1,4 @@ TowerMons1: - db $00 - db $00 + db 0 ; grass encounter rate + + db 0 ; water encounter rate diff --git a/data/wild/maps/PokemonTower2F.asm b/data/wild/maps/PokemonTower2F.asm index dcbe0da0..77b7d415 100755 --- a/data/wild/maps/PokemonTower2F.asm +++ b/data/wild/maps/PokemonTower2F.asm @@ -1,3 +1,4 @@ TowerMons2: - db $00 - db $00 + db 0 ; grass encounter rate + + db 0 ; water encounter rate diff --git a/data/wild/maps/PokemonTower3F.asm b/data/wild/maps/PokemonTower3F.asm index 135ed84f..177497e9 100755 --- a/data/wild/maps/PokemonTower3F.asm +++ b/data/wild/maps/PokemonTower3F.asm @@ -1,13 +1,14 @@ TowerMons3: - db $0A - db 20,GASTLY - db 21,GASTLY - db 22,GASTLY - db 23,GASTLY - db 19,GASTLY - db 18,GASTLY - db 24,GASTLY - db 20,CUBONE - db 22,CUBONE - db 25,HAUNTER - db $00 + db 10 ; grass encounter rate + db 20, GASTLY + db 21, GASTLY + db 22, GASTLY + db 23, GASTLY + db 19, GASTLY + db 18, GASTLY + db 24, GASTLY + db 20, CUBONE + db 22, CUBONE + db 25, HAUNTER + + db 0 ; water encounter rate diff --git a/data/wild/maps/PokemonTower4F.asm b/data/wild/maps/PokemonTower4F.asm index 0c84b0cf..b6e82d14 100755 --- a/data/wild/maps/PokemonTower4F.asm +++ b/data/wild/maps/PokemonTower4F.asm @@ -1,13 +1,14 @@ TowerMons4: - db $0A - db 20,GASTLY - db 21,GASTLY - db 22,GASTLY - db 23,GASTLY - db 19,GASTLY - db 18,GASTLY - db 25,HAUNTER - db 20,CUBONE - db 22,CUBONE - db 24,GASTLY - db $00 + db 10 ; grass encounter rate + db 20, GASTLY + db 21, GASTLY + db 22, GASTLY + db 23, GASTLY + db 19, GASTLY + db 18, GASTLY + db 25, HAUNTER + db 20, CUBONE + db 22, CUBONE + db 24, GASTLY + + db 0 ; water encounter rate diff --git a/data/wild/maps/PokemonTower5F.asm b/data/wild/maps/PokemonTower5F.asm index 440dbf8d..03c41eba 100755 --- a/data/wild/maps/PokemonTower5F.asm +++ b/data/wild/maps/PokemonTower5F.asm @@ -1,13 +1,14 @@ TowerMons5: - db $0A - db 20,GASTLY - db 21,GASTLY - db 22,GASTLY - db 23,GASTLY - db 19,GASTLY - db 18,GASTLY - db 25,HAUNTER - db 20,CUBONE - db 22,CUBONE - db 24,GASTLY - db $00 + db 10 ; grass encounter rate + db 20, GASTLY + db 21, GASTLY + db 22, GASTLY + db 23, GASTLY + db 19, GASTLY + db 18, GASTLY + db 25, HAUNTER + db 20, CUBONE + db 22, CUBONE + db 24, GASTLY + + db 0 ; water encounter rate diff --git a/data/wild/maps/PokemonTower6F.asm b/data/wild/maps/PokemonTower6F.asm index 553fdb5d..38898de1 100755 --- a/data/wild/maps/PokemonTower6F.asm +++ b/data/wild/maps/PokemonTower6F.asm @@ -1,13 +1,14 @@ TowerMons6: - db $0F - db 21,GASTLY - db 22,GASTLY - db 23,GASTLY - db 24,GASTLY - db 20,GASTLY - db 19,GASTLY - db 26,HAUNTER - db 22,CUBONE - db 24,CUBONE - db 28,HAUNTER - db $00 + db 15 ; grass encounter rate + db 21, GASTLY + db 22, GASTLY + db 23, GASTLY + db 24, GASTLY + db 20, GASTLY + db 19, GASTLY + db 26, HAUNTER + db 22, CUBONE + db 24, CUBONE + db 28, HAUNTER + + db 0 ; water encounter rate diff --git a/data/wild/maps/PokemonTower7F.asm b/data/wild/maps/PokemonTower7F.asm index 0f7e66e9..b2faa100 100755 --- a/data/wild/maps/PokemonTower7F.asm +++ b/data/wild/maps/PokemonTower7F.asm @@ -1,13 +1,14 @@ TowerMons7: - db $0F - db 21,GASTLY - db 22,GASTLY - db 23,GASTLY - db 24,GASTLY - db 20,GASTLY - db 28,HAUNTER - db 22,CUBONE - db 24,CUBONE - db 28,HAUNTER - db 30,HAUNTER - db $00 + db 15 ; grass encounter rate + db 21, GASTLY + db 22, GASTLY + db 23, GASTLY + db 24, GASTLY + db 20, GASTLY + db 28, HAUNTER + db 22, CUBONE + db 24, CUBONE + db 28, HAUNTER + db 30, HAUNTER + + db 0 ; water encounter rate diff --git a/data/wild/maps/PowerPlant.asm b/data/wild/maps/PowerPlant.asm index 35eece95..f70dfbcb 100755 --- a/data/wild/maps/PowerPlant.asm +++ b/data/wild/maps/PowerPlant.asm @@ -1,19 +1,20 @@ PowerPlantMons: - db $0A - db 21,VOLTORB - db 21,MAGNEMITE - db 20,PIKACHU - db 24,PIKACHU - db 23,MAGNEMITE - db 23,VOLTORB - db 32,MAGNETON - db 35,MAGNETON - IF DEF(_RED) - db 33,ELECTABUZZ - db 36,ELECTABUZZ - ENDC - IF DEF(_BLUE) - db 33,RAICHU - db 36,RAICHU - ENDC - db $00 + db 10 ; grass encounter rate + db 21, VOLTORB + db 21, MAGNEMITE + db 20, PIKACHU + db 24, PIKACHU + db 23, MAGNEMITE + db 23, VOLTORB + db 32, MAGNETON + db 35, MAGNETON +IF DEF(_RED) + db 33, ELECTABUZZ + db 36, ELECTABUZZ +ENDC +IF DEF(_BLUE) + db 33, RAICHU + db 36, RAICHU +ENDC + + db 0 ; water encounter rate diff --git a/data/wild/maps/RockTunnel1F.asm b/data/wild/maps/RockTunnel1F.asm index a36f2092..42a6d58b 100755 --- a/data/wild/maps/RockTunnel1F.asm +++ b/data/wild/maps/RockTunnel1F.asm @@ -1,13 +1,14 @@ TunnelMonsB1: - db $0F - db 16,ZUBAT - db 17,ZUBAT - db 17,GEODUDE - db 15,MACHOP - db 16,GEODUDE - db 18,ZUBAT - db 15,ZUBAT - db 17,MACHOP - db 13,ONIX - db 15,ONIX - db $00 + db 15 ; grass encounter rate + db 16, ZUBAT + db 17, ZUBAT + db 17, GEODUDE + db 15, MACHOP + db 16, GEODUDE + db 18, ZUBAT + db 15, ZUBAT + db 17, MACHOP + db 13, ONIX + db 15, ONIX + + db 0 ; water encounter rate diff --git a/data/wild/maps/RockTunnelB1F.asm b/data/wild/maps/RockTunnelB1F.asm index 2fc7ef94..2f970332 100755 --- a/data/wild/maps/RockTunnelB1F.asm +++ b/data/wild/maps/RockTunnelB1F.asm @@ -1,13 +1,14 @@ TunnelMonsB2: - db $0F - db 16,ZUBAT - db 17,ZUBAT - db 17,GEODUDE - db 15,MACHOP - db 16,GEODUDE - db 18,ZUBAT - db 17,MACHOP - db 17,ONIX - db 13,ONIX - db 18,GEODUDE - db $00 + db 15 ; grass encounter rate + db 16, ZUBAT + db 17, ZUBAT + db 17, GEODUDE + db 15, MACHOP + db 16, GEODUDE + db 18, ZUBAT + db 17, MACHOP + db 17, ONIX + db 13, ONIX + db 18, GEODUDE + + db 0 ; water encounter rate diff --git a/data/wild/maps/Route1.asm b/data/wild/maps/Route1.asm index f618c34f..e75ded3b 100755 --- a/data/wild/maps/Route1.asm +++ b/data/wild/maps/Route1.asm @@ -1,13 +1,14 @@ Route1Mons: - db $19 - db 3,PIDGEY - db 3,RATTATA - db 3,RATTATA - db 2,RATTATA - db 2,PIDGEY - db 3,PIDGEY - db 3,PIDGEY - db 4,RATTATA - db 4,PIDGEY - db 5,PIDGEY - db $00 + db 25 ; grass encounter rate + db 3, PIDGEY + db 3, RATTATA + db 3, RATTATA + db 2, RATTATA + db 2, PIDGEY + db 3, PIDGEY + db 3, PIDGEY + db 4, RATTATA + db 4, PIDGEY + db 5, PIDGEY + + db 0 ; water encounter rate diff --git a/data/wild/maps/Route10.asm b/data/wild/maps/Route10.asm index 34e0b5ee..603dc389 100755 --- a/data/wild/maps/Route10.asm +++ b/data/wild/maps/Route10.asm @@ -1,27 +1,25 @@ Route10Mons: - db $0F - IF DEF(_RED) - db 16,VOLTORB - db 16,SPEAROW - db 14,VOLTORB - db 11,EKANS - db 13,SPEAROW - db 15,EKANS - db 17,VOLTORB - db 17,SPEAROW - db 13,EKANS - db 17,EKANS - ENDC - IF DEF(_BLUE) - db 16,VOLTORB - db 16,SPEAROW - db 14,VOLTORB - db 11,SANDSHREW - db 13,SPEAROW - db 15,SANDSHREW - db 17,VOLTORB - db 17,SPEAROW - db 13,SANDSHREW - db 17,SANDSHREW - ENDC - db $00 + db 15 ; grass encounter rate + db 16, VOLTORB + db 16, SPEAROW + db 14, VOLTORB +IF DEF(_RED) + db 11, EKANS + db 13, SPEAROW + db 15, EKANS + db 17, VOLTORB + db 17, SPEAROW + db 13, EKANS + db 17, EKANS +ENDC +IF DEF(_BLUE) + db 11, SANDSHREW + db 13, SPEAROW + db 15, SANDSHREW + db 17, VOLTORB + db 17, SPEAROW + db 13, SANDSHREW + db 17, SANDSHREW +ENDC + + db 0 ; water encounter rate diff --git a/data/wild/maps/Route11.asm b/data/wild/maps/Route11.asm index 9e4e3644..ea053c07 100755 --- a/data/wild/maps/Route11.asm +++ b/data/wild/maps/Route11.asm @@ -1,27 +1,25 @@ Route11Mons: - db $0F - IF DEF(_RED) - db 14,EKANS - db 15,SPEAROW - db 12,EKANS - db 9,DROWZEE - db 13,SPEAROW - db 13,DROWZEE - db 15,EKANS - db 17,SPEAROW - db 11,DROWZEE - db 15,DROWZEE - ENDC - IF DEF(_BLUE) - db 14,SANDSHREW - db 15,SPEAROW - db 12,SANDSHREW - db 9,DROWZEE - db 13,SPEAROW - db 13,DROWZEE - db 15,SANDSHREW - db 17,SPEAROW - db 11,DROWZEE - db 15,DROWZEE - ENDC - db $00 + db 15 ; grass encounter rate +IF DEF(_RED) + db 14, EKANS + db 15, SPEAROW + db 12, EKANS + db 9, DROWZEE + db 13, SPEAROW + db 13, DROWZEE + db 15, EKANS +ENDC +IF DEF(_BLUE) + db 14, SANDSHREW + db 15, SPEAROW + db 12, SANDSHREW + db 9, DROWZEE + db 13, SPEAROW + db 13, DROWZEE + db 15, SANDSHREW +ENDC + db 17, SPEAROW + db 11, DROWZEE + db 15, DROWZEE + + db 0 ; water encounter rate diff --git a/data/wild/maps/Route12.asm b/data/wild/maps/Route12.asm index 45dfbc9d..acdfe6b6 100755 --- a/data/wild/maps/Route12.asm +++ b/data/wild/maps/Route12.asm @@ -1,27 +1,28 @@ Route12Mons: - db $0F - IF DEF(_RED) - db 24,ODDISH - db 25,PIDGEY - db 23,PIDGEY - db 24,VENONAT - db 22,ODDISH - db 26,VENONAT - db 26,ODDISH - db 27,PIDGEY - db 28,GLOOM - db 30,GLOOM - ENDC - IF DEF(_BLUE) - db 24,BELLSPROUT - db 25,PIDGEY - db 23,PIDGEY - db 24,VENONAT - db 22,BELLSPROUT - db 26,VENONAT - db 26,BELLSPROUT - db 27,PIDGEY - db 28,WEEPINBELL - db 30,WEEPINBELL - ENDC - db $00 + db 15 ; grass encounter rate +IF DEF(_RED) + db 24, ODDISH + db 25, PIDGEY + db 23, PIDGEY + db 24, VENONAT + db 22, ODDISH + db 26, VENONAT + db 26, ODDISH + db 27, PIDGEY + db 28, GLOOM + db 30, GLOOM +ENDC +IF DEF(_BLUE) + db 24, BELLSPROUT + db 25, PIDGEY + db 23, PIDGEY + db 24, VENONAT + db 22, BELLSPROUT + db 26, VENONAT + db 26, BELLSPROUT + db 27, PIDGEY + db 28, WEEPINBELL + db 30, WEEPINBELL +ENDC + + db 0 ; water encounter rate diff --git a/data/wild/maps/Route13.asm b/data/wild/maps/Route13.asm index 2a1a6cb5..4d0c0a46 100755 --- a/data/wild/maps/Route13.asm +++ b/data/wild/maps/Route13.asm @@ -1,28 +1,28 @@ Route13Mons: - IF DEF(_RED) - db $14 - db 24,ODDISH - db 25,PIDGEY - db 27,PIDGEY - db 24,VENONAT - db 22,ODDISH - db 26,VENONAT - db 26,ODDISH - db 25,DITTO - db 28,GLOOM - db 30,GLOOM - ENDC - IF DEF(_BLUE) - db $14 - db 24,BELLSPROUT - db 25,PIDGEY - db 27,PIDGEY - db 24,VENONAT - db 22,BELLSPROUT - db 26,VENONAT - db 26,BELLSPROUT - db 25,DITTO - db 28,WEEPINBELL - db 30,WEEPINBELL - ENDC - db $00 + db 20 ; grass encounter rate +IF DEF(_RED) + db 24, ODDISH + db 25, PIDGEY + db 27, PIDGEY + db 24, VENONAT + db 22, ODDISH + db 26, VENONAT + db 26, ODDISH + db 25, DITTO + db 28, GLOOM + db 30, GLOOM +ENDC +IF DEF(_BLUE) + db 24, BELLSPROUT + db 25, PIDGEY + db 27, PIDGEY + db 24, VENONAT + db 22, BELLSPROUT + db 26, VENONAT + db 26, BELLSPROUT + db 25, DITTO + db 28, WEEPINBELL + db 30, WEEPINBELL +ENDC + + db 0 ; water encounter rate diff --git a/data/wild/maps/Route14.asm b/data/wild/maps/Route14.asm index aad5aa48..a91631a8 100755 --- a/data/wild/maps/Route14.asm +++ b/data/wild/maps/Route14.asm @@ -1,27 +1,26 @@ Route14Mons: - db $0F - IF DEF(_RED) - db 24,ODDISH - db 26,PIDGEY - db 23,DITTO - db 24,VENONAT - db 22,ODDISH - db 26,VENONAT - db 26,ODDISH - db 30,GLOOM - db 28,PIDGEOTTO - db 30,PIDGEOTTO - ENDC - IF DEF(_BLUE) - db 24,BELLSPROUT - db 26,PIDGEY - db 23,DITTO - db 24,VENONAT - db 22,BELLSPROUT - db 26,VENONAT - db 26,BELLSPROUT - db 30,WEEPINBELL - db 28,PIDGEOTTO - db 30,PIDGEOTTO - ENDC - db $00 + db 15 ; grass encounter rate +IF DEF(_RED) + db 24, ODDISH + db 26, PIDGEY + db 23, DITTO + db 24, VENONAT + db 22, ODDISH + db 26, VENONAT + db 26, ODDISH + db 30, GLOOM +ENDC +IF DEF(_BLUE) + db 24, BELLSPROUT + db 26, PIDGEY + db 23, DITTO + db 24, VENONAT + db 22, BELLSPROUT + db 26, VENONAT + db 26, BELLSPROUT + db 30, WEEPINBELL +ENDC + db 28, PIDGEOTTO + db 30, PIDGEOTTO + + db 0 ; water encounter rate diff --git a/data/wild/maps/Route15.asm b/data/wild/maps/Route15.asm index b4762230..13bd7f32 100755 --- a/data/wild/maps/Route15.asm +++ b/data/wild/maps/Route15.asm @@ -1,27 +1,26 @@ Route15Mons: - db $0F - IF DEF(_RED) - db 24,ODDISH - db 26,DITTO - db 23,PIDGEY - db 26,VENONAT - db 22,ODDISH - db 28,VENONAT - db 26,ODDISH - db 30,GLOOM - db 28,PIDGEOTTO - db 30,PIDGEOTTO - ENDC - IF DEF(_BLUE) - db 24,BELLSPROUT - db 26,DITTO - db 23,PIDGEY - db 26,VENONAT - db 22,BELLSPROUT - db 28,VENONAT - db 26,BELLSPROUT - db 30,WEEPINBELL - db 28,PIDGEOTTO - db 30,PIDGEOTTO - ENDC - db $00 + db 15 ; grass encounter rate +IF DEF(_RED) + db 24, ODDISH + db 26, DITTO + db 23, PIDGEY + db 26, VENONAT + db 22, ODDISH + db 28, VENONAT + db 26, ODDISH + db 30, GLOOM +ENDC +IF DEF(_BLUE) + db 24, BELLSPROUT + db 26, DITTO + db 23, PIDGEY + db 26, VENONAT + db 22, BELLSPROUT + db 28, VENONAT + db 26, BELLSPROUT + db 30, WEEPINBELL +ENDC + db 28, PIDGEOTTO + db 30, PIDGEOTTO + + db 0 ; water encounter rate diff --git a/data/wild/maps/Route16.asm b/data/wild/maps/Route16.asm index c2421c50..ecab87c1 100755 --- a/data/wild/maps/Route16.asm +++ b/data/wild/maps/Route16.asm @@ -1,13 +1,14 @@ Route16Mons: - db $19 - db 20,SPEAROW - db 22,SPEAROW - db 18,RATTATA - db 20,DODUO - db 20,RATTATA - db 18,DODUO - db 22,DODUO - db 22,RATTATA - db 23,RATICATE - db 25,RATICATE - db $00 + db 25 ; grass encounter rate + db 20, SPEAROW + db 22, SPEAROW + db 18, RATTATA + db 20, DODUO + db 20, RATTATA + db 18, DODUO + db 22, DODUO + db 22, RATTATA + db 23, RATICATE + db 25, RATICATE + + db 0 ; water encounter rate diff --git a/data/wild/maps/Route17.asm b/data/wild/maps/Route17.asm index 8dffd9a3..762b5449 100755 --- a/data/wild/maps/Route17.asm +++ b/data/wild/maps/Route17.asm @@ -1,13 +1,14 @@ Route17Mons: - db $19 - db 20,SPEAROW - db 22,SPEAROW - db 25,RATICATE - db 24,DODUO - db 27,RATICATE - db 26,DODUO - db 28,DODUO - db 29,RATICATE - db 25,FEAROW - db 27,FEAROW - db $00 + db 25 ; grass encounter rate + db 20, SPEAROW + db 22, SPEAROW + db 25, RATICATE + db 24, DODUO + db 27, RATICATE + db 26, DODUO + db 28, DODUO + db 29, RATICATE + db 25, FEAROW + db 27, FEAROW + + db 0 ; water encounter rate diff --git a/data/wild/maps/Route18.asm b/data/wild/maps/Route18.asm index 47bd247d..d8123c5e 100755 --- a/data/wild/maps/Route18.asm +++ b/data/wild/maps/Route18.asm @@ -1,13 +1,14 @@ Route18Mons: - db $19 - db 20,SPEAROW - db 22,SPEAROW - db 25,RATICATE - db 24,DODUO - db 25,FEAROW - db 26,DODUO - db 28,DODUO - db 29,RATICATE - db 27,FEAROW - db 29,FEAROW - db $00 + db 25 ; grass encounter rate + db 20, SPEAROW + db 22, SPEAROW + db 25, RATICATE + db 24, DODUO + db 25, FEAROW + db 26, DODUO + db 28, DODUO + db 29, RATICATE + db 27, FEAROW + db 29, FEAROW + + db 0 ; water encounter rate diff --git a/data/wild/maps/Route2.asm b/data/wild/maps/Route2.asm index ad958ea5..035e5b28 100755 --- a/data/wild/maps/Route2.asm +++ b/data/wild/maps/Route2.asm @@ -1,24 +1,23 @@ Route2Mons: - db $19 - db 3,RATTATA - db 3,PIDGEY - db 4,PIDGEY - db 4,RATTATA - db 5,PIDGEY - IF DEF(_RED) - db 3,WEEDLE - ENDC - IF DEF(_BLUE) - db 3,CATERPIE - ENDC - db 2,RATTATA - db 5,RATTATA - IF DEF(_RED) - db 4,WEEDLE - db 5,WEEDLE - ENDC - IF DEF(_BLUE) - db 4,CATERPIE - db 5,CATERPIE - ENDC - db $00 + db 25 ; grass encounter rate + db 3, RATTATA + db 3, PIDGEY + db 4, PIDGEY + db 4, RATTATA + db 5, PIDGEY +IF DEF(_RED) + db 3, WEEDLE + db 2, RATTATA + db 5, RATTATA + db 4, WEEDLE + db 5, WEEDLE +ENDC +IF DEF(_BLUE) + db 3, CATERPIE + db 2, RATTATA + db 5, RATTATA + db 4, CATERPIE + db 5, CATERPIE +ENDC + + db 0 ; water encounter rate diff --git a/data/wild/maps/Route21.asm b/data/wild/maps/Route21.asm index 3cc73ba0..13ffe445 100755 --- a/data/wild/maps/Route21.asm +++ b/data/wild/maps/Route21.asm @@ -1,23 +1,24 @@ Route21Mons: - db $19 - db 21,RATTATA - db 23,PIDGEY - db 30,RATICATE - db 23,RATTATA - db 21,PIDGEY - db 30,PIDGEOTTO - db 32,PIDGEOTTO - db 28,TANGELA - db 30,TANGELA - db 32,TANGELA - db $05 - db 5,TENTACOOL - db 10,TENTACOOL - db 15,TENTACOOL - db 5,TENTACOOL - db 10,TENTACOOL - db 15,TENTACOOL - db 20,TENTACOOL - db 30,TENTACOOL - db 35,TENTACOOL - db 40,TENTACOOL + db 25 ; grass encounter rate + db 21, RATTATA + db 23, PIDGEY + db 30, RATICATE + db 23, RATTATA + db 21, PIDGEY + db 30, PIDGEOTTO + db 32, PIDGEOTTO + db 28, TANGELA + db 30, TANGELA + db 32, TANGELA + + db 5 ; water encounter rate + db 5, TENTACOOL + db 10, TENTACOOL + db 15, TENTACOOL + db 5, TENTACOOL + db 10, TENTACOOL + db 15, TENTACOOL + db 20, TENTACOOL + db 30, TENTACOOL + db 35, TENTACOOL + db 40, TENTACOOL diff --git a/data/wild/maps/Route22.asm b/data/wild/maps/Route22.asm index 750a2f4e..c8f72608 100755 --- a/data/wild/maps/Route22.asm +++ b/data/wild/maps/Route22.asm @@ -1,27 +1,27 @@ Route22Mons: - db $19 - IF DEF(_RED) - db 3,RATTATA - db 3,NIDORAN_M - db 4,RATTATA - db 4,NIDORAN_M - db 2,RATTATA - db 2,NIDORAN_M - db 3,SPEAROW - db 5,SPEAROW - db 3,NIDORAN_F - db 4,NIDORAN_F - ENDC - IF DEF(_BLUE) - db 3,RATTATA - db 3,NIDORAN_F - db 4,RATTATA - db 4,NIDORAN_F - db 2,RATTATA - db 2,NIDORAN_F - db 3,SPEAROW - db 5,SPEAROW - db 3,NIDORAN_M - db 4,NIDORAN_M - ENDC - db $00 + db 25 ; grass encounter rate + db 3, RATTATA +IF DEF(_RED) + db 3, NIDORAN_M + db 4, RATTATA + db 4, NIDORAN_M + db 2, RATTATA + db 2, NIDORAN_M + db 3, SPEAROW + db 5, SPEAROW + db 3, NIDORAN_F + db 4, NIDORAN_F +ENDC +IF DEF(_BLUE) + db 3, NIDORAN_F + db 4, RATTATA + db 4, NIDORAN_F + db 2, RATTATA + db 2, NIDORAN_F + db 3, SPEAROW + db 5, SPEAROW + db 3, NIDORAN_M + db 4, NIDORAN_M +ENDC + + db 0 ; water encounter rate diff --git a/data/wild/maps/Route23.asm b/data/wild/maps/Route23.asm index a057d24d..77f019a3 100755 --- a/data/wild/maps/Route23.asm +++ b/data/wild/maps/Route23.asm @@ -1,23 +1,24 @@ Route23Mons: - db $0A - IF DEF(_RED) - db 26,EKANS - ENDC - IF DEF(_BLUE) - db 26,SANDSHREW - ENDC - db 33,DITTO - db 26,SPEAROW - db 38,FEAROW - db 38,DITTO - db 38,FEAROW - IF DEF(_RED) - db 41,ARBOK - ENDC - IF DEF(_BLUE) - db 41,SANDSLASH - ENDC - db 43,DITTO - db 41,FEAROW - db 43,FEAROW - db $00 + db 10 ; grass encounter rate +IF DEF(_RED) + db 26, EKANS +ENDC +IF DEF(_BLUE) + db 26, SANDSHREW +ENDC + db 33, DITTO + db 26, SPEAROW + db 38, FEAROW + db 38, DITTO + db 38, FEAROW +IF DEF(_RED) + db 41, ARBOK +ENDC +IF DEF(_BLUE) + db 41, SANDSLASH +ENDC + db 43, DITTO + db 41, FEAROW + db 43, FEAROW + + db 0 ; water encounter rate diff --git a/data/wild/maps/Route24.asm b/data/wild/maps/Route24.asm index 3a745f36..8ba7d232 100755 --- a/data/wild/maps/Route24.asm +++ b/data/wild/maps/Route24.asm @@ -1,27 +1,25 @@ Route24Mons: - db $19 - IF DEF(_RED) - db 7,WEEDLE - db 8,KAKUNA - db 12,PIDGEY - db 12,ODDISH - db 13,ODDISH - db 10,ABRA - db 14,ODDISH - db 13,PIDGEY - db 8,ABRA - db 12,ABRA - ENDC - IF DEF(_BLUE) - db 7,CATERPIE - db 8,METAPOD - db 12,PIDGEY - db 12,BELLSPROUT - db 13,BELLSPROUT - db 10,ABRA - db 14,BELLSPROUT - db 13,PIDGEY - db 8,ABRA - db 12,ABRA - ENDC - db $00 + db 25 ; grass encounter rate +IF DEF(_RED) + db 7, WEEDLE + db 8, KAKUNA + db 12, PIDGEY + db 12, ODDISH + db 13, ODDISH + db 10, ABRA + db 14, ODDISH +ENDC +IF DEF(_BLUE) + db 7, CATERPIE + db 8, METAPOD + db 12, PIDGEY + db 12, BELLSPROUT + db 13, BELLSPROUT + db 10, ABRA + db 14, BELLSPROUT +ENDC + db 13, PIDGEY + db 8, ABRA + db 12, ABRA + + db 0 ; water encounter rate diff --git a/data/wild/maps/Route25.asm b/data/wild/maps/Route25.asm index 4884fa64..7e0ded65 100755 --- a/data/wild/maps/Route25.asm +++ b/data/wild/maps/Route25.asm @@ -1,27 +1,28 @@ Route25Mons: - db $0F - IF DEF(_RED) - db 8,WEEDLE - db 9,KAKUNA - db 13,PIDGEY - db 12,ODDISH - db 13,ODDISH - db 12,ABRA - db 14,ODDISH - db 10,ABRA - db 7,METAPOD - db 8,CATERPIE - ENDC - IF DEF(_BLUE) - db 8,CATERPIE - db 9,METAPOD - db 13,PIDGEY - db 12,BELLSPROUT - db 13,BELLSPROUT - db 12,ABRA - db 14,BELLSPROUT - db 10,ABRA - db 7,KAKUNA - db 8,WEEDLE - ENDC - db $00 + db 15 ; grass encounter rate +IF DEF(_RED) + db 8, WEEDLE + db 9, KAKUNA + db 13, PIDGEY + db 12, ODDISH + db 13, ODDISH + db 12, ABRA + db 14, ODDISH + db 10, ABRA + db 7, METAPOD + db 8, CATERPIE +ENDC +IF DEF(_BLUE) + db 8, CATERPIE + db 9, METAPOD + db 13, PIDGEY + db 12, BELLSPROUT + db 13, BELLSPROUT + db 12, ABRA + db 14, BELLSPROUT + db 10, ABRA + db 7, KAKUNA + db 8, WEEDLE +ENDC + + db 0 ; water encounter rate diff --git a/data/wild/maps/Route3.asm b/data/wild/maps/Route3.asm index dea820a4..b397b1d1 100755 --- a/data/wild/maps/Route3.asm +++ b/data/wild/maps/Route3.asm @@ -1,13 +1,14 @@ Route3Mons: - db $14 - db 6,PIDGEY - db 5,SPEAROW - db 7,PIDGEY - db 6,SPEAROW - db 7,SPEAROW - db 8,PIDGEY - db 8,SPEAROW - db 3,JIGGLYPUFF - db 5,JIGGLYPUFF - db 7,JIGGLYPUFF - db $00 + db 20 ; grass encounter rate + db 6, PIDGEY + db 5, SPEAROW + db 7, PIDGEY + db 6, SPEAROW + db 7, SPEAROW + db 8, PIDGEY + db 8, SPEAROW + db 3, JIGGLYPUFF + db 5, JIGGLYPUFF + db 7, JIGGLYPUFF + + db 0 ; water encounter rate diff --git a/data/wild/maps/Route4.asm b/data/wild/maps/Route4.asm index 624d58de..d4f4763b 100755 --- a/data/wild/maps/Route4.asm +++ b/data/wild/maps/Route4.asm @@ -1,27 +1,24 @@ Route4Mons: - db $14 - IF DEF(_RED) - db 10,RATTATA - db 10,SPEAROW - db 8,RATTATA - db 6,EKANS - db 8,SPEAROW - db 10,EKANS - db 12,RATTATA - db 12,SPEAROW - db 8,EKANS - db 12,EKANS - ENDC - IF DEF(_BLUE) - db 10,RATTATA - db 10,SPEAROW - db 8,RATTATA - db 6,SANDSHREW - db 8,SPEAROW - db 10,SANDSHREW - db 12,RATTATA - db 12,SPEAROW - db 8,SANDSHREW - db 12,SANDSHREW - ENDC - db $00 + db 20 ; grass encounter rate + db 10, RATTATA + db 10, SPEAROW + db 8, RATTATA +IF DEF(_RED) + db 6, EKANS + db 8, SPEAROW + db 10, EKANS + db 12, RATTATA + db 12, SPEAROW + db 8, EKANS + db 12, EKANS +ENDC +IF DEF(_BLUE) + db 6, SANDSHREW + db 8, SPEAROW + db 10, SANDSHREW + db 12, RATTATA + db 12, SPEAROW + db 8, SANDSHREW + db 12, SANDSHREW +ENDC + db 0 ; water encounter rate diff --git a/data/wild/maps/Route5.asm b/data/wild/maps/Route5.asm index cb8c583b..dd200378 100755 --- a/data/wild/maps/Route5.asm +++ b/data/wild/maps/Route5.asm @@ -1,27 +1,28 @@ Route5Mons: - db $0F - IF DEF(_RED) - db 13,ODDISH - db 13,PIDGEY - db 15,PIDGEY - db 10,MANKEY - db 12,MANKEY - db 15,ODDISH - db 16,ODDISH - db 16,PIDGEY - db 14,MANKEY - db 16,MANKEY - ENDC - IF DEF(_BLUE) - db 13,BELLSPROUT - db 13,PIDGEY - db 15,PIDGEY - db 10,MEOWTH - db 12,MEOWTH - db 15,BELLSPROUT - db 16,BELLSPROUT - db 16,PIDGEY - db 14,MEOWTH - db 16,MEOWTH - ENDC - db $00 + db 15 ; grass encounter rate +IF DEF(_RED) + db 13, ODDISH + db 13, PIDGEY + db 15, PIDGEY + db 10, MANKEY + db 12, MANKEY + db 15, ODDISH + db 16, ODDISH + db 16, PIDGEY + db 14, MANKEY + db 16, MANKEY +ENDC +IF DEF(_BLUE) + db 13, BELLSPROUT + db 13, PIDGEY + db 15, PIDGEY + db 10, MEOWTH + db 12, MEOWTH + db 15, BELLSPROUT + db 16, BELLSPROUT + db 16, PIDGEY + db 14, MEOWTH + db 16, MEOWTH +ENDC + + db 0 ; water encounter rate diff --git a/data/wild/maps/Route6.asm b/data/wild/maps/Route6.asm index 92512ffb..15585ea4 100755 --- a/data/wild/maps/Route6.asm +++ b/data/wild/maps/Route6.asm @@ -1,27 +1,28 @@ Route6Mons: - db $0F - IF DEF(_RED) - db 13,ODDISH - db 13,PIDGEY - db 15,PIDGEY - db 10,MANKEY - db 12,MANKEY - db 15,ODDISH - db 16,ODDISH - db 16,PIDGEY - db 14,MANKEY - db 16,MANKEY - ENDC - IF DEF(_BLUE) - db 13,BELLSPROUT - db 13,PIDGEY - db 15,PIDGEY - db 10,MEOWTH - db 12,MEOWTH - db 15,BELLSPROUT - db 16,BELLSPROUT - db 16,PIDGEY - db 14,MEOWTH - db 16,MEOWTH - ENDC - db $00 + db 15 ; grass encounter rate +IF DEF(_RED) + db 13, ODDISH + db 13, PIDGEY + db 15, PIDGEY + db 10, MANKEY + db 12, MANKEY + db 15, ODDISH + db 16, ODDISH + db 16, PIDGEY + db 14, MANKEY + db 16, MANKEY +ENDC +IF DEF(_BLUE) + db 13, BELLSPROUT + db 13, PIDGEY + db 15, PIDGEY + db 10, MEOWTH + db 12, MEOWTH + db 15, BELLSPROUT + db 16, BELLSPROUT + db 16, PIDGEY + db 14, MEOWTH + db 16, MEOWTH +ENDC + + db 0 ; water encounter rate diff --git a/data/wild/maps/Route7.asm b/data/wild/maps/Route7.asm index 559c98ee..39508bf0 100755 --- a/data/wild/maps/Route7.asm +++ b/data/wild/maps/Route7.asm @@ -1,27 +1,27 @@ Route7Mons: - db $0F - IF DEF(_RED) - db 19,PIDGEY - db 19,ODDISH - db 17,MANKEY - db 22,ODDISH - db 22,PIDGEY - db 18,MANKEY - db 18,GROWLITHE - db 20,GROWLITHE - db 19,MANKEY - db 20,MANKEY - ENDC - IF DEF(_BLUE) - db 19,PIDGEY - db 19,BELLSPROUT - db 17,MEOWTH - db 22,BELLSPROUT - db 22,PIDGEY - db 18,MEOWTH - db 18,VULPIX - db 20,VULPIX - db 19,MEOWTH - db 20,MEOWTH - ENDC - db $00 + db 15 ; grass encounter rate + db 19, PIDGEY +IF DEF(_RED) + db 19, ODDISH + db 17, MANKEY + db 22, ODDISH + db 22, PIDGEY + db 18, MANKEY + db 18, GROWLITHE + db 20, GROWLITHE + db 19, MANKEY + db 20, MANKEY +ENDC +IF DEF(_BLUE) + db 19, BELLSPROUT + db 17, MEOWTH + db 22, BELLSPROUT + db 22, PIDGEY + db 18, MEOWTH + db 18, VULPIX + db 20, VULPIX + db 19, MEOWTH + db 20, MEOWTH +ENDC + + db 0 ; water encounter rate diff --git a/data/wild/maps/Route8.asm b/data/wild/maps/Route8.asm index 8a0bfa31..005ee677 100755 --- a/data/wild/maps/Route8.asm +++ b/data/wild/maps/Route8.asm @@ -1,27 +1,27 @@ Route8Mons: - db $0F - IF DEF(_RED) - db 18,PIDGEY - db 18,MANKEY - db 17,EKANS - db 16,GROWLITHE - db 20,PIDGEY - db 20,MANKEY - db 19,EKANS - db 17,GROWLITHE - db 15,GROWLITHE - db 18,GROWLITHE - ENDC - IF DEF(_BLUE) - db 18,PIDGEY - db 18,MEOWTH - db 17,SANDSHREW - db 16,VULPIX - db 20,PIDGEY - db 20,MEOWTH - db 19,SANDSHREW - db 17,VULPIX - db 15,VULPIX - db 18,VULPIX - ENDC - db $00 + db 15 ; grass encounter rate + db 18, PIDGEY +IF DEF(_RED) + db 18, MANKEY + db 17, EKANS + db 16, GROWLITHE + db 20, PIDGEY + db 20, MANKEY + db 19, EKANS + db 17, GROWLITHE + db 15, GROWLITHE + db 18, GROWLITHE +ENDC +IF DEF(_BLUE) + db 18, MEOWTH + db 17, SANDSHREW + db 16, VULPIX + db 20, PIDGEY + db 20, MEOWTH + db 19, SANDSHREW + db 17, VULPIX + db 15, VULPIX + db 18, VULPIX +ENDC + + db 0 ; water encounter rate diff --git a/data/wild/maps/Route9.asm b/data/wild/maps/Route9.asm index 716589b0..a38fc35f 100755 --- a/data/wild/maps/Route9.asm +++ b/data/wild/maps/Route9.asm @@ -1,27 +1,25 @@ Route9Mons: - db $0F - IF DEF(_RED) - db 16,RATTATA - db 16,SPEAROW - db 14,RATTATA - db 11,EKANS - db 13,SPEAROW - db 15,EKANS - db 17,RATTATA - db 17,SPEAROW - db 13,EKANS - db 17,EKANS - ENDC - IF DEF(_BLUE) - db 16,RATTATA - db 16,SPEAROW - db 14,RATTATA - db 11,SANDSHREW - db 13,SPEAROW - db 15,SANDSHREW - db 17,RATTATA - db 17,SPEAROW - db 13,SANDSHREW - db 17,SANDSHREW - ENDC - db $00 + db 15 ; grass encounter rate + db 16, RATTATA + db 16, SPEAROW + db 14, RATTATA +IF DEF(_RED) + db 11, EKANS + db 13, SPEAROW + db 15, EKANS + db 17, RATTATA + db 17, SPEAROW + db 13, EKANS + db 17, EKANS +ENDC +IF DEF(_BLUE) + db 11, SANDSHREW + db 13, SPEAROW + db 15, SANDSHREW + db 17, RATTATA + db 17, SPEAROW + db 13, SANDSHREW + db 17, SANDSHREW +ENDC + + db 0 ; water encounter rate diff --git a/data/wild/maps/SafariZoneCenter.asm b/data/wild/maps/SafariZoneCenter.asm index 0cd5323a..4661b927 100755 --- a/data/wild/maps/SafariZoneCenter.asm +++ b/data/wild/maps/SafariZoneCenter.asm @@ -1,27 +1,27 @@ ZoneMonsCenter: - db $1E - IF DEF(_RED) - db 22,NIDORAN_M - db 25,RHYHORN - db 22,VENONAT - db 24,EXEGGCUTE - db 31,NIDORINO - db 25,EXEGGCUTE - db 31,NIDORINA - db 30,PARASECT - db 23,SCYTHER - db 23,CHANSEY - ENDC - IF DEF(_BLUE) - db 22,NIDORAN_F - db 25,RHYHORN - db 22,VENONAT - db 24,EXEGGCUTE - db 31,NIDORINA - db 25,EXEGGCUTE - db 31,NIDORINO - db 30,PARASECT - db 23,PINSIR - db 23,CHANSEY - ENDC - db $00 + db 30 ; grass encounter rate +IF DEF(_RED) + db 22, NIDORAN_M + db 25, RHYHORN + db 22, VENONAT + db 24, EXEGGCUTE + db 31, NIDORINO + db 25, EXEGGCUTE + db 31, NIDORINA + db 30, PARASECT + db 23, SCYTHER +ENDC +IF DEF(_BLUE) + db 22, NIDORAN_F + db 25, RHYHORN + db 22, VENONAT + db 24, EXEGGCUTE + db 31, NIDORINA + db 25, EXEGGCUTE + db 31, NIDORINO + db 30, PARASECT + db 23, PINSIR +ENDC + db 23, CHANSEY + + db 0 ; water encounter rate diff --git a/data/wild/maps/SafariZoneEast.asm b/data/wild/maps/SafariZoneEast.asm index 3d77b6fe..9910bf12 100755 --- a/data/wild/maps/SafariZoneEast.asm +++ b/data/wild/maps/SafariZoneEast.asm @@ -1,27 +1,28 @@ ZoneMons1: - db $1E - IF DEF(_RED) - db 24,NIDORAN_M - db 26,DODUO - db 22,PARAS - db 25,EXEGGCUTE - db 33,NIDORINO - db 23,EXEGGCUTE - db 24,NIDORAN_F - db 25,PARASECT - db 25,KANGASKHAN - db 28,SCYTHER - ENDC - IF DEF(_BLUE) - db 24,NIDORAN_F - db 26,DODUO - db 22,PARAS - db 25,EXEGGCUTE - db 33,NIDORINA - db 23,EXEGGCUTE - db 24,NIDORAN_M - db 25,PARASECT - db 25,KANGASKHAN - db 28,PINSIR - ENDC - db $00 + db 30 ; grass encounter rate +IF DEF(_RED) + db 24, NIDORAN_M + db 26, DODUO + db 22, PARAS + db 25, EXEGGCUTE + db 33, NIDORINO + db 23, EXEGGCUTE + db 24, NIDORAN_F + db 25, PARASECT + db 25, KANGASKHAN + db 28, SCYTHER +ENDC +IF DEF(_BLUE) + db 24, NIDORAN_F + db 26, DODUO + db 22, PARAS + db 25, EXEGGCUTE + db 33, NIDORINA + db 23, EXEGGCUTE + db 24, NIDORAN_M + db 25, PARASECT + db 25, KANGASKHAN + db 28, PINSIR +ENDC + + db 0 ; water encounter rate diff --git a/data/wild/maps/SafariZoneNorth.asm b/data/wild/maps/SafariZoneNorth.asm index c1b6a547..4482571b 100755 --- a/data/wild/maps/SafariZoneNorth.asm +++ b/data/wild/maps/SafariZoneNorth.asm @@ -1,28 +1,25 @@ ZoneMons2: - db $1E - IF DEF(_RED) - db 22,NIDORAN_M - ENDC - IF DEF(_BLUE) - db 22,NIDORAN_F - ENDC - db 26,RHYHORN - db 23,PARAS - db 25,EXEGGCUTE - IF DEF(_RED) - db 30,NIDORINO - ENDC - IF DEF(_BLUE) - db 30,NIDORINA - ENDC - db 27,EXEGGCUTE - IF DEF(_RED) - db 30,NIDORINA - ENDC - IF DEF(_BLUE) - db 30,NIDORINO - ENDC - db 32,VENOMOTH - db 26,CHANSEY - db 28,TAUROS - db $00 + db 30 ; grass encounter rate +IF DEF(_RED) + db 22, NIDORAN_M + db 26, RHYHORN + db 23, PARAS + db 25, EXEGGCUTE + db 30, NIDORINO + db 27, EXEGGCUTE + db 30, NIDORINA +ENDC +IF DEF(_BLUE) + db 22, NIDORAN_F + db 26, RHYHORN + db 23, PARAS + db 25, EXEGGCUTE + db 30, NIDORINA + db 27, EXEGGCUTE + db 30, NIDORINO +ENDC + db 32, VENOMOTH + db 26, CHANSEY + db 28, TAUROS + + db 0 ; water encounter rate diff --git a/data/wild/maps/SafariZoneWest.asm b/data/wild/maps/SafariZoneWest.asm index 47b6a102..c9989cc9 100755 --- a/data/wild/maps/SafariZoneWest.asm +++ b/data/wild/maps/SafariZoneWest.asm @@ -1,27 +1,25 @@ ZoneMons3: - db $1E - IF DEF(_RED) - db 25,NIDORAN_M - db 26,DODUO - db 23,VENONAT - db 24,EXEGGCUTE - db 33,NIDORINO - db 26,EXEGGCUTE - db 25,NIDORAN_F - db 31,VENOMOTH - db 26,TAUROS - db 28,KANGASKHAN - ENDC - IF DEF(_BLUE) - db 25,NIDORAN_F - db 26,DODUO - db 23,VENONAT - db 24,EXEGGCUTE - db 33,NIDORINA - db 26,EXEGGCUTE - db 25,NIDORAN_M - db 31,VENOMOTH - db 26,TAUROS - db 28,KANGASKHAN - ENDC - db $00 + db 30 ; grass encounter rate +IF DEF(_RED) + db 25, NIDORAN_M + db 26, DODUO + db 23, VENONAT + db 24, EXEGGCUTE + db 33, NIDORINO + db 26, EXEGGCUTE + db 25, NIDORAN_F +ENDC +IF DEF(_BLUE) + db 25, NIDORAN_F + db 26, DODUO + db 23, VENONAT + db 24, EXEGGCUTE + db 33, NIDORINA + db 26, EXEGGCUTE + db 25, NIDORAN_M +ENDC + db 31, VENOMOTH + db 26, TAUROS + db 28, KANGASKHAN + + db 0 ; water encounter rate diff --git a/data/wild/maps/SeaRoutes.asm b/data/wild/maps/SeaRoutes.asm index 07c6a187..d3232627 100755 --- a/data/wild/maps/SeaRoutes.asm +++ b/data/wild/maps/SeaRoutes.asm @@ -1,13 +1,14 @@ WaterMons: - db $00 - db $05 - db 5,TENTACOOL - db 10,TENTACOOL - db 15,TENTACOOL - db 5,TENTACOOL - db 10,TENTACOOL - db 15,TENTACOOL - db 20,TENTACOOL - db 30,TENTACOOL - db 35,TENTACOOL - db 40,TENTACOOL + db 0 ; water encounter rate + + db 5 ; grass encounter rate + db 5, TENTACOOL + db 10, TENTACOOL + db 15, TENTACOOL + db 5, TENTACOOL + db 10, TENTACOOL + db 15, TENTACOOL + db 20, TENTACOOL + db 30, TENTACOOL + db 35, TENTACOOL + db 40, TENTACOOL diff --git a/data/wild/maps/SeafoamIslands1F.asm b/data/wild/maps/SeafoamIslands1F.asm index 3c431f9a..b191de13 100755 --- a/data/wild/maps/SeafoamIslands1F.asm +++ b/data/wild/maps/SeafoamIslands1F.asm @@ -1,27 +1,27 @@ IslandMons1: - db $0F - IF DEF(_RED) - db 30,SEEL - db 30,SLOWPOKE - db 30,SHELLDER - db 30,HORSEA - db 28,HORSEA - db 21,ZUBAT - db 29,GOLBAT - db 28,PSYDUCK - db 28,SHELLDER - db 38,GOLDUCK - ENDC - IF DEF(_BLUE) - db 30,SEEL - db 30,PSYDUCK - db 30,STARYU - db 30,KRABBY - db 28,KRABBY - db 21,ZUBAT - db 29,GOLBAT - db 28,SLOWPOKE - db 28,STARYU - db 38,SLOWBRO - ENDC - db $00 + db 15 ; grass encounter rate + db 30, SEEL +IF DEF(_RED) + db 30, SLOWPOKE + db 30, SHELLDER + db 30, HORSEA + db 28, HORSEA + db 21, ZUBAT + db 29, GOLBAT + db 28, PSYDUCK + db 28, SHELLDER + db 38, GOLDUCK +ENDC +IF DEF(_BLUE) + db 30, PSYDUCK + db 30, STARYU + db 30, KRABBY + db 28, KRABBY + db 21, ZUBAT + db 29, GOLBAT + db 28, SLOWPOKE + db 28, STARYU + db 38, SLOWBRO +ENDC + + db 0 ; water encounter rate diff --git a/data/wild/maps/SeafoamIslandsB1F.asm b/data/wild/maps/SeafoamIslandsB1F.asm index 6f96f240..79762821 100755 --- a/data/wild/maps/SeafoamIslandsB1F.asm +++ b/data/wild/maps/SeafoamIslandsB1F.asm @@ -1,27 +1,28 @@ IslandMonsB1: - db $0A - IF DEF(_RED) - db 30,STARYU - db 30,HORSEA - db 32,SHELLDER - db 32,HORSEA - db 28,SLOWPOKE - db 30,SEEL - db 30,SLOWPOKE - db 28,SEEL - db 38,DEWGONG - db 37,SEADRA - ENDC - IF DEF(_BLUE) - db 30,SHELLDER - db 30,KRABBY - db 32,STARYU - db 32,KRABBY - db 28,PSYDUCK - db 30,SEEL - db 30,PSYDUCK - db 28,SEEL - db 38,DEWGONG - db 37,KINGLER - ENDC - db $00 + db 10 ; grass encounter rate +IF DEF(_RED) + db 30, STARYU + db 30, HORSEA + db 32, SHELLDER + db 32, HORSEA + db 28, SLOWPOKE + db 30, SEEL + db 30, SLOWPOKE + db 28, SEEL + db 38, DEWGONG + db 37, SEADRA +ENDC +IF DEF(_BLUE) + db 30, SHELLDER + db 30, KRABBY + db 32, STARYU + db 32, KRABBY + db 28, PSYDUCK + db 30, SEEL + db 30, PSYDUCK + db 28, SEEL + db 38, DEWGONG + db 37, KINGLER +ENDC + + db 0 ; water encounter rate diff --git a/data/wild/maps/SeafoamIslandsB2F.asm b/data/wild/maps/SeafoamIslandsB2F.asm index 7191fea9..e68d71cc 100755 --- a/data/wild/maps/SeafoamIslandsB2F.asm +++ b/data/wild/maps/SeafoamIslandsB2F.asm @@ -1,27 +1,27 @@ IslandMonsB2: - db $0A - IF DEF(_RED) - db 30,SEEL - db 30,SLOWPOKE - db 32,SEEL - db 32,SLOWPOKE - db 28,HORSEA - db 30,STARYU - db 30,HORSEA - db 28,SHELLDER - db 30,GOLBAT - db 37,SLOWBRO - ENDC - IF DEF(_BLUE) - db 30,SEEL - db 30,PSYDUCK - db 32,SEEL - db 32,PSYDUCK - db 28,KRABBY - db 30,SHELLDER - db 30,KRABBY - db 28,STARYU - db 30,GOLBAT - db 37,GOLDUCK - ENDC - db $00 + db 10 ; grass encounter rate + db 30, SEEL +IF DEF(_RED) + db 30, SLOWPOKE + db 32, SEEL + db 32, SLOWPOKE + db 28, HORSEA + db 30, STARYU + db 30, HORSEA + db 28, SHELLDER + db 30, GOLBAT + db 37, SLOWBRO +ENDC +IF DEF(_BLUE) + db 30, PSYDUCK + db 32, SEEL + db 32, PSYDUCK + db 28, KRABBY + db 30, SHELLDER + db 30, KRABBY + db 28, STARYU + db 30, GOLBAT + db 37, GOLDUCK +ENDC + + db 0 ; water encounter rate diff --git a/data/wild/maps/SeafoamIslandsB3F.asm b/data/wild/maps/SeafoamIslandsB3F.asm index 9778c0e9..35319df9 100755 --- a/data/wild/maps/SeafoamIslandsB3F.asm +++ b/data/wild/maps/SeafoamIslandsB3F.asm @@ -1,27 +1,27 @@ IslandMonsB3: - db $0A - IF DEF(_RED) - db 31,SLOWPOKE - db 31,SEEL - db 33,SLOWPOKE - db 33,SEEL - db 29,HORSEA - db 31,SHELLDER - db 31,HORSEA - db 29,SHELLDER - db 39,SEADRA - db 37,DEWGONG - ENDC - IF DEF(_BLUE) - db 31,PSYDUCK - db 31,SEEL - db 33,PSYDUCK - db 33,SEEL - db 29,KRABBY - db 31,STARYU - db 31,KRABBY - db 29,STARYU - db 39,KINGLER - db 37,DEWGONG - ENDC - db $00 + db 10 ; grass encounter rate +IF DEF(_RED) + db 31, SLOWPOKE + db 31, SEEL + db 33, SLOWPOKE + db 33, SEEL + db 29, HORSEA + db 31, SHELLDER + db 31, HORSEA + db 29, SHELLDER + db 39, SEADRA +ENDC +IF DEF(_BLUE) + db 31, PSYDUCK + db 31, SEEL + db 33, PSYDUCK + db 33, SEEL + db 29, KRABBY + db 31, STARYU + db 31, KRABBY + db 29, STARYU + db 39, KINGLER +ENDC + db 37, DEWGONG + + db 0 ; water encounter rate diff --git a/data/wild/maps/SeafoamIslandsB4F.asm b/data/wild/maps/SeafoamIslandsB4F.asm index 3948470b..c5e3766b 100755 --- a/data/wild/maps/SeafoamIslandsB4F.asm +++ b/data/wild/maps/SeafoamIslandsB4F.asm @@ -1,27 +1,27 @@ IslandMonsB4: - db $0A - IF DEF(_RED) - db 31,HORSEA - db 31,SHELLDER - db 33,HORSEA - db 33,SHELLDER - db 29,SLOWPOKE - db 31,SEEL - db 31,SLOWPOKE - db 29,SEEL - db 39,SLOWBRO - db 32,GOLBAT - ENDC - IF DEF(_BLUE) - db 31,KRABBY - db 31,STARYU - db 33,KRABBY - db 33,STARYU - db 29,PSYDUCK - db 31,SEEL - db 31,PSYDUCK - db 29,SEEL - db 39,GOLDUCK - db 32,GOLBAT - ENDC - db $00 + db 10 ; grass encounter rate +IF DEF(_RED) + db 31, HORSEA + db 31, SHELLDER + db 33, HORSEA + db 33, SHELLDER + db 29, SLOWPOKE + db 31, SEEL + db 31, SLOWPOKE + db 29, SEEL + db 39, SLOWBRO +ENDC +IF DEF(_BLUE) + db 31, KRABBY + db 31, STARYU + db 33, KRABBY + db 33, STARYU + db 29, PSYDUCK + db 31, SEEL + db 31, PSYDUCK + db 29, SEEL + db 39, GOLDUCK +ENDC + db 32, GOLBAT + + db 0 ; water encounter rate diff --git a/data/wild/maps/VictoryRoad1F.asm b/data/wild/maps/VictoryRoad1F.asm index 60aae31a..71adde2e 100755 --- a/data/wild/maps/VictoryRoad1F.asm +++ b/data/wild/maps/VictoryRoad1F.asm @@ -1,13 +1,14 @@ PlateauMons1: - db $0F - db 24,MACHOP - db 26,GEODUDE - db 22,ZUBAT - db 36,ONIX - db 39,ONIX - db 42,ONIX - db 41,GRAVELER - db 41,GOLBAT - db 42,MACHOKE - db 43,MAROWAK - db $00 + db 15 ; grass encounter rate + db 24, MACHOP + db 26, GEODUDE + db 22, ZUBAT + db 36, ONIX + db 39, ONIX + db 42, ONIX + db 41, GRAVELER + db 41, GOLBAT + db 42, MACHOKE + db 43, MAROWAK + + db 0 ; water encounter rate diff --git a/data/wild/maps/VictoryRoad2F.asm b/data/wild/maps/VictoryRoad2F.asm index 580d644d..ee660e3a 100755 --- a/data/wild/maps/VictoryRoad2F.asm +++ b/data/wild/maps/VictoryRoad2F.asm @@ -1,13 +1,14 @@ PlateauMons2: - db $0A - db 22,MACHOP - db 24,GEODUDE - db 26,ZUBAT - db 36,ONIX - db 39,ONIX - db 42,ONIX - db 41,MACHOKE - db 40,GOLBAT - db 40,MAROWAK - db 43,GRAVELER - db $00 + db 10 ; grass encounter rate + db 22, MACHOP + db 24, GEODUDE + db 26, ZUBAT + db 36, ONIX + db 39, ONIX + db 42, ONIX + db 41, MACHOKE + db 40, GOLBAT + db 40, MAROWAK + db 43, GRAVELER + + db 0 ; water encounter rate diff --git a/data/wild/maps/VictoryRoad3F.asm b/data/wild/maps/VictoryRoad3F.asm index 80d7ef3e..754557bf 100755 --- a/data/wild/maps/VictoryRoad3F.asm +++ b/data/wild/maps/VictoryRoad3F.asm @@ -1,13 +1,14 @@ PlateauMons3: - db $0F - db 24,MACHOP - db 26,GEODUDE - db 22,ZUBAT - db 42,ONIX - db 40,VENOMOTH - db 45,ONIX - db 43,GRAVELER - db 41,GOLBAT - db 42,MACHOKE - db 45,MACHOKE - db $00 + db 15 ; grass encounter rate + db 24, MACHOP + db 26, GEODUDE + db 22, ZUBAT + db 42, ONIX + db 40, VENOMOTH + db 45, ONIX + db 43, GRAVELER + db 41, GOLBAT + db 42, MACHOKE + db 45, MACHOKE + + db 0 ; water encounter rate diff --git a/data/wild/maps/ViridianForest.asm b/data/wild/maps/ViridianForest.asm index ae9a5a70..d11fc34e 100755 --- a/data/wild/maps/ViridianForest.asm +++ b/data/wild/maps/ViridianForest.asm @@ -1,25 +1,26 @@ ForestMons: - db $08 - IF DEF(_RED) - db 4,WEEDLE - db 5,KAKUNA - db 3,WEEDLE - db 5,WEEDLE - db 4,KAKUNA - db 6,KAKUNA - db 4,METAPOD - db 3,CATERPIE - ENDC - IF DEF(_BLUE) - db 4,CATERPIE - db 5,METAPOD - db 3,CATERPIE - db 5,CATERPIE - db 4,METAPOD - db 6,METAPOD - db 4,KAKUNA - db 3,WEEDLE - ENDC - db 3,PIKACHU - db 5,PIKACHU - db $00 + db 8 ; grass encounter rate +IF DEF(_RED) + db 4, WEEDLE + db 5, KAKUNA + db 3, WEEDLE + db 5, WEEDLE + db 4, KAKUNA + db 6, KAKUNA + db 4, METAPOD + db 3, CATERPIE +ENDC +IF DEF(_BLUE) + db 4, CATERPIE + db 5, METAPOD + db 3, CATERPIE + db 5, CATERPIE + db 4, METAPOD + db 6, METAPOD + db 4, KAKUNA + db 3, WEEDLE +ENDC + db 3, PIKACHU + db 5, PIKACHU + + db 0 ; water encounter rate diff --git a/data/wild/maps/nothing.asm b/data/wild/maps/nothing.asm index ce7f7ede..19570b50 100755 --- a/data/wild/maps/nothing.asm +++ b/data/wild/maps/nothing.asm @@ -1,3 +1,4 @@ NoMons: - db $00 - db $00 + db 0 ; grass encounter rate + + db 0 ; water encounter rate diff --git a/data/wild/probabilities.asm b/data/wild/probabilities.asm index 9d4704c6..2c56c6b9 100644 --- a/data/wild/probabilities.asm +++ b/data/wild/probabilities.asm @@ -3,13 +3,13 @@ WildMonEncounterSlotChances: ; those 10 slots is. A random number is generated and then the first byte of each pair in this ; table is compared against that random number. If the random number is less than or equal ; to the first byte, then that slot is chosen. The second byte is double the slot number. - db $32, $00 ; 51/256 = 19.9% chance of slot 0 - db $65, $02 ; 51/256 = 19.9% chance of slot 1 - db $8C, $04 ; 39/256 = 15.2% chance of slot 2 - db $A5, $06 ; 25/256 = 9.8% chance of slot 3 - db $BE, $08 ; 25/256 = 9.8% chance of slot 4 - db $D7, $0A ; 25/256 = 9.8% chance of slot 5 - db $E4, $0C ; 13/256 = 5.1% chance of slot 6 - db $F1, $0E ; 13/256 = 5.1% chance of slot 7 - db $FC, $10 ; 11/256 = 4.3% chance of slot 8 - db $FF, $12 ; 3/256 = 1.2% chance of slot 9 + db 50, $00 ; 51/256 = 19.9% chance of slot 0 + db 101, $02 ; 51/256 = 19.9% chance of slot 1 + db 140, $04 ; 39/256 = 15.2% chance of slot 2 + db 165, $06 ; 25/256 = 9.8% chance of slot 3 + db 190, $08 ; 25/256 = 9.8% chance of slot 4 + db 215, $0A ; 25/256 = 9.8% chance of slot 5 + db 228, $0C ; 13/256 = 5.1% chance of slot 6 + db 241, $0E ; 13/256 = 5.1% chance of slot 7 + db 252, $10 ; 11/256 = 4.3% chance of slot 8 + db 255, $12 ; 3/256 = 1.2% chance of slot 9 diff --git a/data/wild/super_rod.asm b/data/wild/super_rod.asm index d3d64632..6c455504 100755 --- a/data/wild/super_rod.asm +++ b/data/wild/super_rod.asm @@ -1,100 +1,101 @@ -; super rod data -; format: map, pointer to fishing group +; super rod encounters SuperRodData: - dbw PALLET_TOWN, FishingGroup1 - dbw VIRIDIAN_CITY, FishingGroup1 - dbw CERULEAN_CITY, FishingGroup3 - dbw VERMILION_CITY, FishingGroup4 - dbw CELADON_CITY, FishingGroup5 - dbw FUCHSIA_CITY, FishingGroup10 - dbw CINNABAR_ISLAND, FishingGroup8 - dbw ROUTE_4, FishingGroup3 - dbw ROUTE_6, FishingGroup4 - dbw ROUTE_10, FishingGroup5 - dbw ROUTE_11, FishingGroup4 - dbw ROUTE_12, FishingGroup7 - dbw ROUTE_13, FishingGroup7 - dbw ROUTE_17, FishingGroup7 - dbw ROUTE_18, FishingGroup7 - dbw ROUTE_19, FishingGroup8 - dbw ROUTE_20, FishingGroup8 - dbw ROUTE_21, FishingGroup8 - dbw ROUTE_22, FishingGroup2 - dbw ROUTE_23, FishingGroup9 - dbw ROUTE_24, FishingGroup3 - dbw ROUTE_25, FishingGroup3 - dbw CERULEAN_GYM, FishingGroup3 - dbw VERMILION_DOCK, FishingGroup4 - dbw SEAFOAM_ISLANDS_B3F, FishingGroup8 - dbw SEAFOAM_ISLANDS_B4F, FishingGroup8 - dbw SAFARI_ZONE_EAST, FishingGroup6 - dbw SAFARI_ZONE_NORTH, FishingGroup6 - dbw SAFARI_ZONE_WEST, FishingGroup6 - dbw SAFARI_ZONE_CENTER, FishingGroup6 - dbw CERULEAN_CAVE_2F, FishingGroup9 - dbw CERULEAN_CAVE_B1F, FishingGroup9 - dbw CERULEAN_CAVE_1F, FishingGroup9 - db $FF +; map, fishing group + dbw PALLET_TOWN, .Group1 + dbw VIRIDIAN_CITY, .Group1 + dbw CERULEAN_CITY, .Group3 + dbw VERMILION_CITY, .Group4 + dbw CELADON_CITY, .Group5 + dbw FUCHSIA_CITY, .Group10 + dbw CINNABAR_ISLAND, .Group8 + dbw ROUTE_4, .Group3 + dbw ROUTE_6, .Group4 + dbw ROUTE_10, .Group5 + dbw ROUTE_11, .Group4 + dbw ROUTE_12, .Group7 + dbw ROUTE_13, .Group7 + dbw ROUTE_17, .Group7 + dbw ROUTE_18, .Group7 + dbw ROUTE_19, .Group8 + dbw ROUTE_20, .Group8 + dbw ROUTE_21, .Group8 + dbw ROUTE_22, .Group2 + dbw ROUTE_23, .Group9 + dbw ROUTE_24, .Group3 + dbw ROUTE_25, .Group3 + dbw CERULEAN_GYM, .Group3 + dbw VERMILION_DOCK, .Group4 + dbw SEAFOAM_ISLANDS_B3F, .Group8 + dbw SEAFOAM_ISLANDS_B4F, .Group8 + dbw SAFARI_ZONE_EAST, .Group6 + dbw SAFARI_ZONE_NORTH, .Group6 + dbw SAFARI_ZONE_WEST, .Group6 + dbw SAFARI_ZONE_CENTER, .Group6 + dbw CERULEAN_CAVE_2F, .Group9 + dbw CERULEAN_CAVE_B1F, .Group9 + dbw CERULEAN_CAVE_1F, .Group9 + db -1 ; end ; fishing groups ; number of monsters, followed by level/monster pairs -FishingGroup1: + +.Group1: db 2 - db 15,TENTACOOL - db 15,POLIWAG + db 15, TENTACOOL + db 15, POLIWAG -FishingGroup2: +.Group2: db 2 - db 15,GOLDEEN - db 15,POLIWAG + db 15, GOLDEEN + db 15, POLIWAG -FishingGroup3: +.Group3: db 3 - db 15,PSYDUCK - db 15,GOLDEEN - db 15,KRABBY + db 15, PSYDUCK + db 15, GOLDEEN + db 15, KRABBY -FishingGroup4: +.Group4: db 2 - db 15,KRABBY - db 15,SHELLDER + db 15, KRABBY + db 15, SHELLDER -FishingGroup5: +.Group5: db 2 - db 23,POLIWHIRL - db 15,SLOWPOKE + db 23, POLIWHIRL + db 15, SLOWPOKE -FishingGroup6: +.Group6: db 4 - db 15,DRATINI - db 15,KRABBY - db 15,PSYDUCK - db 15,SLOWPOKE + db 15, DRATINI + db 15, KRABBY + db 15, PSYDUCK + db 15, SLOWPOKE -FishingGroup7: +.Group7: db 4 - db 5,TENTACOOL - db 15,KRABBY - db 15,GOLDEEN - db 15,MAGIKARP + db 5, TENTACOOL + db 15, KRABBY + db 15, GOLDEEN + db 15, MAGIKARP -FishingGroup8: +.Group8: db 4 - db 15,STARYU - db 15,HORSEA - db 15,SHELLDER - db 15,GOLDEEN + db 15, STARYU + db 15, HORSEA + db 15, SHELLDER + db 15, GOLDEEN -FishingGroup9: +.Group9: db 4 - db 23,SLOWBRO - db 23,SEAKING - db 23,KINGLER - db 23,SEADRA + db 23, SLOWBRO + db 23, SEAKING + db 23, KINGLER + db 23, SEADRA -FishingGroup10: +.Group10: db 4 - db 23,SEAKING - db 15,KRABBY - db 15,GOLDEEN - db 15,MAGIKARP + db 23, SEAKING + db 15, KRABBY + db 15, GOLDEEN + db 15, MAGIKARP diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 5cf8a45d..c1eecc73 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -3954,16 +3954,16 @@ CheckForDisobedience: .monIsTraded ; what level might disobey? ld hl, wObtainedBadges - bit 7, [hl] + bit BIT_EARTHBADGE, [hl] ld a, 101 jr nz, .next - bit 5, [hl] + bit BIT_MARSHBADGE, [hl] ld a, 70 jr nz, .next - bit 3, [hl] + bit BIT_RAINBOWBADGE, [hl] ld a, 50 jr nz, .next - bit 1, [hl] + bit BIT_CASCADEBADGE, [hl] ld a, 30 jr nz, .next ld a, 10 diff --git a/engine/debug/test_battle.asm b/engine/debug/test_battle.asm index 92f74576..01b9825e 100644 --- a/engine/debug/test_battle.asm +++ b/engine/debug/test_battle.asm @@ -6,7 +6,7 @@ TestBattle: ; Don't mess around ; with obedience. - ld a, %10000000 ; EARTHBADGE + ld a, 1 << BIT_EARTHBADGE ld [wObtainedBadges], a ld hl, wFlags_D733 diff --git a/engine/events/hidden_items.asm b/engine/events/hidden_items.asm index 6a5835cd..97bb0b71 100755 --- a/engine/events/hidden_items.asm +++ b/engine/events/hidden_items.asm @@ -142,7 +142,7 @@ FindHiddenItemOrCoinsIndex: .loop inc c ld a, [hli] - cp $ff ; end of the list? + cp -1 ; end of the list? ret z ; if so, we're done here cp b jr nz, .next1 diff --git a/engine/gfx/palettes.asm b/engine/gfx/palettes.asm index 23203374..f724a8a9 100755 --- a/engine/gfx/palettes.asm +++ b/engine/gfx/palettes.asm @@ -208,7 +208,7 @@ SetPal_TrainerCard: ld de, BadgeBlkDataLengths ld hl, wTrainerCardBlkPacket + 2 ld a, [wObtainedBadges] - ld c, 8 + ld c, NUM_BADGES .badgeLoop srl a push af diff --git a/engine/menus/draw_badges.asm b/engine/menus/draw_badges.asm index a74497c1..0bb433cc 100644 --- a/engine/menus/draw_badges.asm +++ b/engine/menus/draw_badges.asm @@ -8,12 +8,12 @@ DrawBadges: ; Tile ids for face/badge graphics. ld de, wBadgeOrFaceTiles ld hl, .FaceBadgeTiles - ld bc, 8 + ld bc, NUM_BADGES call CopyData ; Booleans for each badge. ld hl, wTempObtainedBadgesBooleans - ld bc, 8 + ld bc, NUM_BADGES xor a call FillMemory @@ -22,7 +22,7 @@ DrawBadges: ld hl, wBadgeOrFaceTiles ld a, [wObtainedBadges] ld b, a - ld c, 8 + ld c, NUM_BADGES .CheckBadge srl b jr nc, .NextBadge @@ -92,7 +92,7 @@ DrawBadges: push bc ld hl, wBadgeOrFaceTiles + 1 ld de, wBadgeOrFaceTiles - ld bc, 8 + ld bc, NUM_BADGES call CopyData pop bc diff --git a/engine/menus/party_menu.asm b/engine/menus/party_menu.asm index 14216b64..6648ab54 100755 --- a/engine/menus/party_menu.asm +++ b/engine/menus/party_menu.asm @@ -1,22 +1,3 @@ -; [wPartyMenuTypeOrMessageID] = menu type / message ID -; if less than $F0, it is a menu type -; menu types: -; 00: normal pokemon menu (e.g. Start menu) -; 01: use healing item on pokemon menu -; 02: in-battle switch pokemon menu -; 03: learn TM/HM menu -; 04: swap pokemon positions menu -; 05: use evolution stone on pokemon menu -; otherwise, it is a message ID -; f0: poison healed -; f1: burn healed -; f2: freeze healed -; f3: sleep healed -; f4: paralysis healed -; f5: HP healed -; f6: health returned -; f7: revitalized -; f8: leveled up DrawPartyMenu_:: xor a ldh [hAutoBGTransferEnabled], a @@ -197,7 +178,7 @@ RedrawPartyMenu_:: push hl set 6, [hl] ; turn off letter printing delay ld a, [wPartyMenuTypeOrMessageID] ; message ID - cp $F0 + cp FIRST_PARTY_MENU_TEXT_ID jr nc, .printItemUseMessage add a ld hl, PartyMenuMessagePointers diff --git a/engine/menus/start_sub_menus.asm b/engine/menus/start_sub_menus.asm index a845592f..6a98a10c 100755 --- a/engine/menus/start_sub_menus.asm +++ b/engine/menus/start_sub_menus.asm @@ -130,7 +130,7 @@ StartMenu_Pokemon:: dw .teleport dw .softboiled .fly - bit 2, a ; does the player have the Thunder Badge? + bit BIT_THUNDERBADGE, a jp z, .newBadgeRequired call CheckIfInOutsideMap jr z, .canFly @@ -150,7 +150,7 @@ StartMenu_Pokemon:: set 1, [hl] jp StartMenu_Pokemon .cut - bit 1, a ; does the player have the Cascade Badge? + bit BIT_CASCADEBADGE, a jp z, .newBadgeRequired predef UsedCut ld a, [wActionResultOrTookBattleTurn] @@ -158,7 +158,7 @@ StartMenu_Pokemon:: jp z, .loop jp CloseTextDisplay .surf - bit 4, a ; does the player have the Soul Badge? + bit BIT_SOULBADGE, a jp z, .newBadgeRequired farcall IsSurfingAllowed ld hl, wd728 @@ -175,13 +175,13 @@ StartMenu_Pokemon:: call GBPalWhiteOutWithDelay3 jp .goBackToMap .strength - bit 3, a ; does the player have the Rainbow Badge? + bit BIT_RAINBOWBADGE, a jp z, .newBadgeRequired predef PrintStrengthTxt call GBPalWhiteOutWithDelay3 jp .goBackToMap .flash - bit 0, a ; does the player have the Boulder Badge? + bit BIT_BOULDERBADGE, a jp z, .newBadgeRequired xor a ld [wMapPalOffset], a diff --git a/macros/coords.asm b/macros/coords.asm index 94808ba5..7cbbca3d 100644 --- a/macros/coords.asm +++ b/macros/coords.asm @@ -48,6 +48,12 @@ owcoord: MACRO ld \1, wOverworldMap + ((\2) + 3) + (((\3) + 3) * ((\4) + (3 * 2))) ENDM +event_displacement: MACRO +; map width, x blocks, y blocks + dw (wOverworldMap + 7 + (\1) + ((\1) + 6) * ((\3) >> 1) + ((\2) >> 1)) + db \3, \2 +ENDM + dwcoord: MACRO ; x, y validate_coords \1, \2 diff --git a/macros/scripts/maps.asm b/macros/scripts/maps.asm index 37da8c58..a097fb88 100644 --- a/macros/scripts/maps.asm +++ b/macros/scripts/maps.asm @@ -1,39 +1,3 @@ -;\1 map width -;\2 Rows above (Y-blocks) -;\3 X movement (X-blocks) -EVENT_DISP: MACRO - dw (wOverworldMap + 7 + (\1) + ((\1) + 6) * ((\2) >> 1) + ((\3) >> 1)) ; Ev.Disp - db \2,\3 ;Y,X -ENDM - -FLYWARP_DATA: MACRO - EVENT_DISP \1,\2,\3 - db ((\2) & $01) ;sub-block Y - db ((\3) & $01) ;sub-block X -ENDM - -; external map entry macro -EMAP: MACRO ; emap x-coordinate,y-coordinate,textpointer -; the appearance of towns and routes in the town map, indexed by map id - ; nybble: y-coordinate - ; nybble: x-coordinate - ; word : pointer to map name - dn \2, \1 - dw \3 -ENDM - -; internal map entry macro -IMAP: MACRO ; imap mapid_less_than,x-coordinate,y-coordinate,textpointer -; the appearance of buildings and dungeons in the town map - ; byte : maximum map id subject to this rule - ; nybble: y-coordinate - ; nybble: x-coordinate - ; word : pointer to map name - db \1 + 1 - dn \3, \2 - dw \4 -ENDM - ;\1 sprite id ;\2 x position ;\3 y position @@ -49,17 +13,15 @@ object: MACRO db \2 + 4 db \4 db \5 - IF (_NARG > 7) + IF _NARG > 7 db TRAINER | \6 db \7 db \8 + ELIF _NARG > 6 + db ITEM | \6 + db \7 ELSE - IF (_NARG > 6) - db ITEM | \6 - db \7 - ELSE - db \6 - ENDC + db \6 ENDC ENDM @@ -82,7 +44,7 @@ ENDM ;\2 y position ;\3 map width warp_to: MACRO - EVENT_DISP \3, \2, \1 + event_displacement \3, \1, \2 ENDM ;\1 map name diff --git a/scripts/CeladonGym.asm b/scripts/CeladonGym.asm index 21ba65d9..cecd6bf7 100755 --- a/scripts/CeladonGym.asm +++ b/scripts/CeladonGym.asm @@ -61,9 +61,9 @@ CeladonGymText_48963: call DisplayTextID .gymVictory ld hl, wObtainedBadges - set 3, [hl] + set BIT_RAINBOWBADGE, [hl] ld hl, wBeatGymFlags - set 3, [hl] + set BIT_RAINBOWBADGE, [hl] ; deactivate gym trainers SetEventRange EVENT_BEAT_CELADON_GYM_TRAINER_0, EVENT_BEAT_CELADON_GYM_TRAINER_6 diff --git a/scripts/CeruleanGym.asm b/scripts/CeruleanGym.asm index ef3c96f5..fef3f551 100755 --- a/scripts/CeruleanGym.asm +++ b/scripts/CeruleanGym.asm @@ -61,9 +61,9 @@ CeruleanGymScript_5c70d: call DisplayTextID .gymVictory ld hl, wObtainedBadges - set 1, [hl] + set BIT_CASCADEBADGE, [hl] ld hl, wBeatGymFlags - set 1, [hl] + set BIT_CASCADEBADGE, [hl] ; deactivate gym trainers SetEvents EVENT_BEAT_CERULEAN_GYM_TRAINER_0, EVENT_BEAT_CERULEAN_GYM_TRAINER_1 diff --git a/scripts/CinnabarGym.asm b/scripts/CinnabarGym.asm index 9318c775..552f2e6e 100755 --- a/scripts/CinnabarGym.asm +++ b/scripts/CinnabarGym.asm @@ -158,9 +158,9 @@ CinnabarGymScript3_75857: call DisplayTextID .gymVictory ld hl, wObtainedBadges - set 6, [hl] + set BIT_VOLCANOBADGE, [hl] ld hl, wBeatGymFlags - set 6, [hl] + set BIT_VOLCANOBADGE, [hl] ; deactivate gym trainers SetEventRange EVENT_BEAT_CINNABAR_GYM_TRAINER_0, EVENT_BEAT_CINNABAR_GYM_TRAINER_6 diff --git a/scripts/FuchsiaGym.asm b/scripts/FuchsiaGym.asm index ccde6106..944e3070 100755 --- a/scripts/FuchsiaGym.asm +++ b/scripts/FuchsiaGym.asm @@ -61,9 +61,9 @@ FuchsiaGymScript3_75497: call DisplayTextID .gymVictory ld hl, wObtainedBadges - set 4, [hl] + set BIT_SOULBADGE, [hl] ld hl, wBeatGymFlags - set 4, [hl] + set BIT_SOULBADGE, [hl] ; deactivate gym trainers SetEventRange EVENT_BEAT_FUCHSIA_GYM_TRAINER_0, EVENT_BEAT_FUCHSIA_GYM_TRAINER_5 diff --git a/scripts/PewterGym.asm b/scripts/PewterGym.asm index 94364043..e559db04 100755 --- a/scripts/PewterGym.asm +++ b/scripts/PewterGym.asm @@ -61,9 +61,9 @@ PewterGymScript_5c3df: call DisplayTextID .gymVictory ld hl, wObtainedBadges - set 0, [hl] + set BIT_BOULDERBADGE, [hl] ld hl, wBeatGymFlags - set 0, [hl] + set BIT_BOULDERBADGE, [hl] ld a, HS_GYM_GUY ld [wMissableObjectIndex], a @@ -183,7 +183,7 @@ PewterGymAfterBattleText1: PewterGymText3: text_asm ld a, [wBeatGymFlags] - bit 0, a + bit BIT_BOULDERBADGE, a jr nz, .asm_5c50c ld hl, PewterGymText_5c515 call PrintText diff --git a/scripts/SaffronGym.asm b/scripts/SaffronGym.asm index 5f4045ac..a6baa45f 100755 --- a/scripts/SaffronGym.asm +++ b/scripts/SaffronGym.asm @@ -61,9 +61,9 @@ SaffronGymText_5d068: call DisplayTextID .gymVictory ld hl, wObtainedBadges - set 5, [hl] + set BIT_MARSHBADGE, [hl] ld hl, wBeatGymFlags - set 5, [hl] + set BIT_MARSHBADGE, [hl] ; deactivate gym trainers SetEventRange EVENT_BEAT_SAFFRON_GYM_TRAINER_0, EVENT_BEAT_SAFFRON_GYM_TRAINER_6 diff --git a/scripts/VermilionGym.asm b/scripts/VermilionGym.asm index 45b200e2..53ea0218 100755 --- a/scripts/VermilionGym.asm +++ b/scripts/VermilionGym.asm @@ -80,9 +80,9 @@ VermilionGymReceiveTM24: call DisplayTextID .gymVictory ld hl, wObtainedBadges - set 2, [hl] + set BIT_THUNDERBADGE, [hl] ld hl, wBeatGymFlags - set 2, [hl] + set BIT_THUNDERBADGE, [hl] ; deactivate gym trainers SetEventRange EVENT_BEAT_VERMILION_GYM_TRAINER_0, EVENT_BEAT_VERMILION_GYM_TRAINER_2 @@ -247,7 +247,7 @@ VermilionGymAfterBattleText3: VermilionGymFanText: text_asm ld a, [wBeatGymFlags] - bit 2, a + bit BIT_THUNDERBADGE, a jr nz, .afterBeat ld hl, VermilionGymFanPreBattleText call PrintText diff --git a/scripts/ViridianGym.asm b/scripts/ViridianGym.asm index 80f19f3a..5d9b7ca0 100755 --- a/scripts/ViridianGym.asm +++ b/scripts/ViridianGym.asm @@ -155,9 +155,9 @@ ViridianGymScript3_74995: call DisplayTextID .gymVictory ld hl, wObtainedBadges - set 7, [hl] + set BIT_EARTHBADGE, [hl] ld hl, wBeatGymFlags - set 7, [hl] + set BIT_EARTHBADGE, [hl] ; deactivate gym trainers SetEventRange EVENT_BEAT_VIRIDIAN_GYM_TRAINER_0, EVENT_BEAT_VIRIDIAN_GYM_TRAINER_7 -- cgit v1.2.3 From eb1ca5813bc24e0d3d2c86d99f7f02c87bbb1955 Mon Sep 17 00:00:00 2001 From: Rangi Date: Tue, 14 Jul 2020 14:20:38 -0400 Subject: Define cries with a mon_cry macro --- data/pokemon/cries.asm | 385 +++++++++++++++++++++++++------------------------ 1 file changed, 195 insertions(+), 190 deletions(-) diff --git a/data/pokemon/cries.asm b/data/pokemon/cries.asm index 58c9898e..e4bf07d9 100755 --- a/data/pokemon/cries.asm +++ b/data/pokemon/cries.asm @@ -1,192 +1,197 @@ +mon_cry: MACRO + db (\1 - CRY_SFX_START) / 3 + db \2, \3 +ENDM + CryData:: ; base cry, pitch, length - db $11, $00, $80 ; Rhydon - db $03, $00, $80 ; Kangaskhan - db $00, $00, $80 ; Nidoran♂ - db $19, $CC, $01 ; Clefairy - db $10, $00, $80 ; Spearow - db $06, $ED, $80 ; Voltorb - db $09, $00, $80 ; Nidoking - db $1F, $00, $80 ; Slowbro - db $0F, $20, $80 ; Ivysaur - db $0D, $00, $80 ; Exeggutor - db $0C, $00, $80 ; Lickitung - db $0B, $00, $80 ; Exeggcute - db $05, $00, $80 ; Grimer - db $07, $00, $FF ; Gengar - db $01, $00, $80 ; Nidoran♀ - db $0A, $00, $80 ; Nidoqueen - db $19, $00, $80 ; Cubone - db $04, $00, $80 ; Rhyhorn - db $1B, $00, $80 ; Lapras - db $15, $00, $80 ; Arcanine - db $1E, $EE, $FF ; Mew - db $17, $00, $80 ; Gyarados - db $18, $00, $80 ; Shellder - db $1A, $00, $80 ; Tentacool - db $1C, $00, $80 ; Gastly - db $16, $00, $80 ; Scyther - db $1E, $02, $20 ; Staryu - db $13, $00, $80 ; Blastoise - db $14, $00, $80 ; Pinsir - db $12, $00, $80 ; Tangela - db $00, $00, $00 ; MissingNo. - db $00, $00, $00 ; MissingNo. - db $1F, $20, $40 ; Growlithe - db $17, $FF, $C0 ; Onix - db $18, $40, $A0 ; Fearow - db $0E, $DF, $04 ; Pidgey - db $02, $00, $80 ; Slowpoke - db $1C, $A8, $C0 ; Kadabra - db $24, $00, $80 ; Graveler - db $14, $0A, $C0 ; Chansey - db $1F, $48, $60 ; Machoke - db $20, $08, $40 ; Mr.Mime - db $12, $80, $C0 ; Hitmonlee - db $0C, $EE, $C0 ; Hitmonchan - db $17, $E0, $10 ; Arbok - db $1E, $42, $FF ; Parasect - db $21, $20, $60 ; Psyduck - db $0D, $88, $20 ; Drowzee - db $12, $E0, $40 ; Golem - db $00, $00, $00 ; MissingNo. - db $04, $FF, $30 ; Magmar - db $00, $00, $00 ; MissingNo. - db $06, $8F, $FF ; Electabuzz - db $1C, $20, $C0 ; Magneton - db $12, $E6, $DD ; Koffing - db $00, $00, $00 ; MissingNo. - db $0A, $DD, $60 ; Mankey - db $0C, $88, $C0 ; Seel - db $0B, $AA, $01 ; Diglett - db $1D, $11, $40 ; Tauros - db $00, $00, $00 ; MissingNo. - db $00, $00, $00 ; MissingNo. - db $00, $00, $00 ; MissingNo. - db $10, $DD, $01 ; Farfetch'd - db $1A, $44, $40 ; Venonat - db $0F, $3C, $C0 ; Dragonite - db $00, $80, $10 ; MissingNo. - db $00, $00, $00 ; MissingNo. - db $1D, $E0, $80 ; MissingNo. - db $0B, $BB, $01 ; Doduo - db $0E, $FF, $FF ; Poliwag - db $0D, $FF, $FF ; Jynx - db $09, $F8, $40 ; Moltres - db $09, $80, $40 ; Articuno - db $18, $FF, $80 ; Zapdos - db $0E, $FF, $FF ; Ditto - db $19, $77, $10 ; Meowth - db $20, $20, $E0 ; Krabby - db $22, $FF, $40 ; MissingNo. - db $00, $00, $00 ; MissingNo. - db $0E, $E0, $60 ; MissingNo. - db $24, $4F, $10 ; Vulpix - db $24, $88, $60 ; Ninetales - db $0F, $EE, $01 ; Pikachu - db $09, $EE, $08 ; Raichu - db $00, $00, $00 ; MissingNo. - db $00, $00, $00 ; MissingNo. - db $0F, $60, $40 ; Dratini - db $0F, $40, $80 ; Dragonair - db $16, $BB, $40 ; Kabuto - db $18, $EE, $01 ; Kabutops - db $19, $99, $10 ; Horsea - db $19, $3C, $01 ; Seadra - db $0F, $40, $C0 ; MissingNo. - db $0F, $20, $C0 ; MissingNo. - db $00, $20, $40 ; Sandshrew - db $00, $FF, $FF ; Sandslash - db $1F, $F0, $01 ; Omanyte - db $1F, $FF, $40 ; Omastar - db $0E, $FF, $35 ; Jigglypuff - db $0E, $68, $60 ; Wigglytuff - db $1A, $88, $60 ; Eevee - db $1A, $10, $20 ; Flareon - db $1A, $3D, $80 ; Jolteon - db $1A, $AA, $FF ; Vaporeon - db $1F, $EE, $01 ; Machop - db $1D, $E0, $80 ; Zubat - db $17, $12, $40 ; Ekans - db $1E, $20, $E0 ; Paras - db $0E, $77, $60 ; Poliwhirl - db $0E, $00, $FF ; Poliwrath - db $15, $EE, $01 ; Weedle - db $13, $FF, $01 ; Kakuna - db $13, $60, $80 ; Beedrill - db $00, $00, $00 ; MissingNo. - db $0B, $99, $20 ; Dodrio - db $0A, $AF, $40 ; Primeape - db $0B, $2A, $10 ; Dugtrio - db $1A, $29, $80 ; Venomoth - db $0C, $23, $FF ; Dewgong - db $00, $00, $00 ; MissingNo. - db $00, $00, $00 ; MissingNo. - db $16, $80, $20 ; Caterpie - db $1C, $CC, $01 ; Metapod - db $16, $77, $40 ; Butterfree - db $1F, $08, $C0 ; Machamp - db $11, $20, $10 ; MissingNo. - db $21, $FF, $40 ; Golduck - db $0D, $EE, $40 ; Hypno - db $1D, $FA, $80 ; Golbat - db $1E, $99, $FF ; Mewtwo - db $05, $55, $01 ; Snorlax - db $17, $80, $00 ; Magikarp - db $00, $00, $00 ; MissingNo. - db $00, $00, $00 ; MissingNo. - db $07, $EF, $FF ; Muk - db $0F, $40, $80 ; MissingNo. - db $20, $EE, $E0 ; Kingler - db $18, $6F, $E0 ; Cloyster - db $00, $00, $00 ; MissingNo. - db $06, $A8, $90 ; Electrode - db $19, $AA, $20 ; Clefable - db $12, $FF, $FF ; Weezing - db $19, $99, $FF ; Persian - db $08, $4F, $60 ; Marowak - db $00, $00, $00 ; MissingNo. - db $1C, $30, $40 ; Haunter - db $1C, $C0, $01 ; Abra - db $1C, $98, $FF ; Alakazam - db $14, $28, $C0 ; Pidgeotto - db $14, $11, $FF ; Pidgeot - db $1E, $00, $80 ; Starmie - db $0F, $80, $01 ; Bulbasaur - db $0F, $00, $C0 ; Venusaur - db $1A, $EE, $FF ; Tentacruel - db $00, $00, $00 ; MissingNo. - db $16, $80, $40 ; Goldeen - db $16, $10, $FF ; Seaking - db $00, $00, $00 ; MissingNo. - db $00, $00, $00 ; MissingNo. - db $00, $00, $00 ; MissingNo. - db $00, $00, $00 ; MissingNo. - db $25, $00, $80 ; Ponyta - db $25, $20, $C0 ; Rapidash - db $22, $00, $80 ; Rattata - db $22, $20, $FF ; Raticate - db $00, $2C, $C0 ; Nidorino - db $01, $2C, $E0 ; Nidorina - db $24, $F0, $10 ; Geodude - db $25, $AA, $FF ; Porygon - db $23, $20, $F0 ; Aerodactyl - db $00, $00, $00 ; MissingNo. - db $1C, $80, $60 ; Magnemite - db $00, $00, $00 ; MissingNo. - db $00, $00, $00 ; MissingNo. - db $04, $60, $40 ; Charmander - db $1D, $60, $40 ; Squirtle - db $04, $20, $40 ; Charmeleon - db $1D, $20, $40 ; Wartortle - db $04, $00, $80 ; Charizard - db $1D, $00, $80 ; MissingNo. - db $00, $00, $00 ; MissingNo. - db $00, $00, $00 ; MissingNo. - db $00, $00, $00 ; MissingNo. - db $08, $DD, $01 ; Oddish - db $08, $AA, $40 ; Gloom - db $23, $22, $FF ; Vileplume - db $21, $55, $01 ; Bellsprout - db $25, $44, $20 ; Weepinbell - db $25, $66, $CC ; Victreebel + mon_cry SFX_CRY_11, $00, $80 ; Rhydon + mon_cry SFX_CRY_03, $00, $80 ; Kangaskhan + mon_cry SFX_CRY_00, $00, $80 ; Nidoran♂ + mon_cry SFX_CRY_19, $CC, $01 ; Clefairy + mon_cry SFX_CRY_10, $00, $80 ; Spearow + mon_cry SFX_CRY_06, $ED, $80 ; Voltorb + mon_cry SFX_CRY_09, $00, $80 ; Nidoking + mon_cry SFX_CRY_1F, $00, $80 ; Slowbro + mon_cry SFX_CRY_0F, $20, $80 ; Ivysaur + mon_cry SFX_CRY_0D, $00, $80 ; Exeggutor + mon_cry SFX_CRY_0C, $00, $80 ; Lickitung + mon_cry SFX_CRY_0B, $00, $80 ; Exeggcute + mon_cry SFX_CRY_05, $00, $80 ; Grimer + mon_cry SFX_CRY_07, $00, $FF ; Gengar + mon_cry SFX_CRY_01, $00, $80 ; Nidoran♀ + mon_cry SFX_CRY_0A, $00, $80 ; Nidoqueen + mon_cry SFX_CRY_19, $00, $80 ; Cubone + mon_cry SFX_CRY_04, $00, $80 ; Rhyhorn + mon_cry SFX_CRY_1B, $00, $80 ; Lapras + mon_cry SFX_CRY_15, $00, $80 ; Arcanine + mon_cry SFX_CRY_1E, $EE, $FF ; Mew + mon_cry SFX_CRY_17, $00, $80 ; Gyarados + mon_cry SFX_CRY_18, $00, $80 ; Shellder + mon_cry SFX_CRY_1A, $00, $80 ; Tentacool + mon_cry SFX_CRY_1C, $00, $80 ; Gastly + mon_cry SFX_CRY_16, $00, $80 ; Scyther + mon_cry SFX_CRY_1E, $02, $20 ; Staryu + mon_cry SFX_CRY_13, $00, $80 ; Blastoise + mon_cry SFX_CRY_14, $00, $80 ; Pinsir + mon_cry SFX_CRY_12, $00, $80 ; Tangela + mon_cry SFX_CRY_00, $00, $00 ; MissingNo. + mon_cry SFX_CRY_00, $00, $00 ; MissingNo. + mon_cry SFX_CRY_1F, $20, $40 ; Growlithe + mon_cry SFX_CRY_17, $FF, $C0 ; Onix + mon_cry SFX_CRY_18, $40, $A0 ; Fearow + mon_cry SFX_CRY_0E, $DF, $04 ; Pidgey + mon_cry SFX_CRY_02, $00, $80 ; Slowpoke + mon_cry SFX_CRY_1C, $A8, $C0 ; Kadabra + mon_cry SFX_CRY_24, $00, $80 ; Graveler + mon_cry SFX_CRY_14, $0A, $C0 ; Chansey + mon_cry SFX_CRY_1F, $48, $60 ; Machoke + mon_cry SFX_CRY_20, $08, $40 ; Mr.Mime + mon_cry SFX_CRY_12, $80, $C0 ; Hitmonlee + mon_cry SFX_CRY_0C, $EE, $C0 ; Hitmonchan + mon_cry SFX_CRY_17, $E0, $10 ; Arbok + mon_cry SFX_CRY_1E, $42, $FF ; Parasect + mon_cry SFX_CRY_21, $20, $60 ; Psyduck + mon_cry SFX_CRY_0D, $88, $20 ; Drowzee + mon_cry SFX_CRY_12, $E0, $40 ; Golem + mon_cry SFX_CRY_00, $00, $00 ; MissingNo. + mon_cry SFX_CRY_04, $FF, $30 ; Magmar + mon_cry SFX_CRY_00, $00, $00 ; MissingNo. + mon_cry SFX_CRY_06, $8F, $FF ; Electabuzz + mon_cry SFX_CRY_1C, $20, $C0 ; Magneton + mon_cry SFX_CRY_12, $E6, $DD ; Koffing + mon_cry SFX_CRY_00, $00, $00 ; MissingNo. + mon_cry SFX_CRY_0A, $DD, $60 ; Mankey + mon_cry SFX_CRY_0C, $88, $C0 ; Seel + mon_cry SFX_CRY_0B, $AA, $01 ; Diglett + mon_cry SFX_CRY_1D, $11, $40 ; Tauros + mon_cry SFX_CRY_00, $00, $00 ; MissingNo. + mon_cry SFX_CRY_00, $00, $00 ; MissingNo. + mon_cry SFX_CRY_00, $00, $00 ; MissingNo. + mon_cry SFX_CRY_10, $DD, $01 ; Farfetch'd + mon_cry SFX_CRY_1A, $44, $40 ; Venonat + mon_cry SFX_CRY_0F, $3C, $C0 ; Dragonite + mon_cry SFX_CRY_00, $80, $10 ; MissingNo. + mon_cry SFX_CRY_00, $00, $00 ; MissingNo. + mon_cry SFX_CRY_1D, $E0, $80 ; MissingNo. + mon_cry SFX_CRY_0B, $BB, $01 ; Doduo + mon_cry SFX_CRY_0E, $FF, $FF ; Poliwag + mon_cry SFX_CRY_0D, $FF, $FF ; Jynx + mon_cry SFX_CRY_09, $F8, $40 ; Moltres + mon_cry SFX_CRY_09, $80, $40 ; Articuno + mon_cry SFX_CRY_18, $FF, $80 ; Zapdos + mon_cry SFX_CRY_0E, $FF, $FF ; Ditto + mon_cry SFX_CRY_19, $77, $10 ; Meowth + mon_cry SFX_CRY_20, $20, $E0 ; Krabby + mon_cry SFX_CRY_22, $FF, $40 ; MissingNo. + mon_cry SFX_CRY_00, $00, $00 ; MissingNo. + mon_cry SFX_CRY_0E, $E0, $60 ; MissingNo. + mon_cry SFX_CRY_24, $4F, $10 ; Vulpix + mon_cry SFX_CRY_24, $88, $60 ; Ninetales + mon_cry SFX_CRY_0F, $EE, $01 ; Pikachu + mon_cry SFX_CRY_09, $EE, $08 ; Raichu + mon_cry SFX_CRY_00, $00, $00 ; MissingNo. + mon_cry SFX_CRY_00, $00, $00 ; MissingNo. + mon_cry SFX_CRY_0F, $60, $40 ; Dratini + mon_cry SFX_CRY_0F, $40, $80 ; Dragonair + mon_cry SFX_CRY_16, $BB, $40 ; Kabuto + mon_cry SFX_CRY_18, $EE, $01 ; Kabutops + mon_cry SFX_CRY_19, $99, $10 ; Horsea + mon_cry SFX_CRY_19, $3C, $01 ; Seadra + mon_cry SFX_CRY_0F, $40, $C0 ; MissingNo. + mon_cry SFX_CRY_0F, $20, $C0 ; MissingNo. + mon_cry SFX_CRY_00, $20, $40 ; Sandshrew + mon_cry SFX_CRY_00, $FF, $FF ; Sandslash + mon_cry SFX_CRY_1F, $F0, $01 ; Omanyte + mon_cry SFX_CRY_1F, $FF, $40 ; Omastar + mon_cry SFX_CRY_0E, $FF, $35 ; Jigglypuff + mon_cry SFX_CRY_0E, $68, $60 ; Wigglytuff + mon_cry SFX_CRY_1A, $88, $60 ; Eevee + mon_cry SFX_CRY_1A, $10, $20 ; Flareon + mon_cry SFX_CRY_1A, $3D, $80 ; Jolteon + mon_cry SFX_CRY_1A, $AA, $FF ; Vaporeon + mon_cry SFX_CRY_1F, $EE, $01 ; Machop + mon_cry SFX_CRY_1D, $E0, $80 ; Zubat + mon_cry SFX_CRY_17, $12, $40 ; Ekans + mon_cry SFX_CRY_1E, $20, $E0 ; Paras + mon_cry SFX_CRY_0E, $77, $60 ; Poliwhirl + mon_cry SFX_CRY_0E, $00, $FF ; Poliwrath + mon_cry SFX_CRY_15, $EE, $01 ; Weedle + mon_cry SFX_CRY_13, $FF, $01 ; Kakuna + mon_cry SFX_CRY_13, $60, $80 ; Beedrill + mon_cry SFX_CRY_00, $00, $00 ; MissingNo. + mon_cry SFX_CRY_0B, $99, $20 ; Dodrio + mon_cry SFX_CRY_0A, $AF, $40 ; Primeape + mon_cry SFX_CRY_0B, $2A, $10 ; Dugtrio + mon_cry SFX_CRY_1A, $29, $80 ; Venomoth + mon_cry SFX_CRY_0C, $23, $FF ; Dewgong + mon_cry SFX_CRY_00, $00, $00 ; MissingNo. + mon_cry SFX_CRY_00, $00, $00 ; MissingNo. + mon_cry SFX_CRY_16, $80, $20 ; Caterpie + mon_cry SFX_CRY_1C, $CC, $01 ; Metapod + mon_cry SFX_CRY_16, $77, $40 ; Butterfree + mon_cry SFX_CRY_1F, $08, $C0 ; Machamp + mon_cry SFX_CRY_11, $20, $10 ; MissingNo. + mon_cry SFX_CRY_21, $FF, $40 ; Golduck + mon_cry SFX_CRY_0D, $EE, $40 ; Hypno + mon_cry SFX_CRY_1D, $FA, $80 ; Golbat + mon_cry SFX_CRY_1E, $99, $FF ; Mewtwo + mon_cry SFX_CRY_05, $55, $01 ; Snorlax + mon_cry SFX_CRY_17, $80, $00 ; Magikarp + mon_cry SFX_CRY_00, $00, $00 ; MissingNo. + mon_cry SFX_CRY_00, $00, $00 ; MissingNo. + mon_cry SFX_CRY_07, $EF, $FF ; Muk + mon_cry SFX_CRY_0F, $40, $80 ; MissingNo. + mon_cry SFX_CRY_20, $EE, $E0 ; Kingler + mon_cry SFX_CRY_18, $6F, $E0 ; Cloyster + mon_cry SFX_CRY_00, $00, $00 ; MissingNo. + mon_cry SFX_CRY_06, $A8, $90 ; Electrode + mon_cry SFX_CRY_19, $AA, $20 ; Clefable + mon_cry SFX_CRY_12, $FF, $FF ; Weezing + mon_cry SFX_CRY_19, $99, $FF ; Persian + mon_cry SFX_CRY_08, $4F, $60 ; Marowak + mon_cry SFX_CRY_00, $00, $00 ; MissingNo. + mon_cry SFX_CRY_1C, $30, $40 ; Haunter + mon_cry SFX_CRY_1C, $C0, $01 ; Abra + mon_cry SFX_CRY_1C, $98, $FF ; Alakazam + mon_cry SFX_CRY_14, $28, $C0 ; Pidgeotto + mon_cry SFX_CRY_14, $11, $FF ; Pidgeot + mon_cry SFX_CRY_1E, $00, $80 ; Starmie + mon_cry SFX_CRY_0F, $80, $01 ; Bulbasaur + mon_cry SFX_CRY_0F, $00, $C0 ; Venusaur + mon_cry SFX_CRY_1A, $EE, $FF ; Tentacruel + mon_cry SFX_CRY_00, $00, $00 ; MissingNo. + mon_cry SFX_CRY_16, $80, $40 ; Goldeen + mon_cry SFX_CRY_16, $10, $FF ; Seaking + mon_cry SFX_CRY_00, $00, $00 ; MissingNo. + mon_cry SFX_CRY_00, $00, $00 ; MissingNo. + mon_cry SFX_CRY_00, $00, $00 ; MissingNo. + mon_cry SFX_CRY_00, $00, $00 ; MissingNo. + mon_cry SFX_CRY_25, $00, $80 ; Ponyta + mon_cry SFX_CRY_25, $20, $C0 ; Rapidash + mon_cry SFX_CRY_22, $00, $80 ; Rattata + mon_cry SFX_CRY_22, $20, $FF ; Raticate + mon_cry SFX_CRY_00, $2C, $C0 ; Nidorino + mon_cry SFX_CRY_01, $2C, $E0 ; Nidorina + mon_cry SFX_CRY_24, $F0, $10 ; Geodude + mon_cry SFX_CRY_25, $AA, $FF ; Porygon + mon_cry SFX_CRY_23, $20, $F0 ; Aerodactyl + mon_cry SFX_CRY_00, $00, $00 ; MissingNo. + mon_cry SFX_CRY_1C, $80, $60 ; Magnemite + mon_cry SFX_CRY_00, $00, $00 ; MissingNo. + mon_cry SFX_CRY_00, $00, $00 ; MissingNo. + mon_cry SFX_CRY_04, $60, $40 ; Charmander + mon_cry SFX_CRY_1D, $60, $40 ; Squirtle + mon_cry SFX_CRY_04, $20, $40 ; Charmeleon + mon_cry SFX_CRY_1D, $20, $40 ; Wartortle + mon_cry SFX_CRY_04, $00, $80 ; Charizard + mon_cry SFX_CRY_1D, $00, $80 ; MissingNo. + mon_cry SFX_CRY_00, $00, $00 ; MissingNo. + mon_cry SFX_CRY_00, $00, $00 ; MissingNo. + mon_cry SFX_CRY_00, $00, $00 ; MissingNo. + mon_cry SFX_CRY_08, $DD, $01 ; Oddish + mon_cry SFX_CRY_08, $AA, $40 ; Gloom + mon_cry SFX_CRY_23, $22, $FF ; Vileplume + mon_cry SFX_CRY_21, $55, $01 ; Bellsprout + mon_cry SFX_CRY_25, $44, $20 ; Weepinbell + mon_cry SFX_CRY_25, $66, $CC ; Victreebel -- cgit v1.2.3 From fcb573f4ac006b73827b6fc317fc7501e17004ae Mon Sep 17 00:00:00 2001 From: Rangi Date: Tue, 14 Jul 2020 14:33:16 -0400 Subject: Use a macro for warp tile IDs, like other tile behaviors --- data/tilesets/warp_carpet_tile_ids.asm | 10 +++---- data/tilesets/warp_tile_ids.asm | 49 +++++++++++++++------------------- 2 files changed, 27 insertions(+), 32 deletions(-) diff --git a/data/tilesets/warp_carpet_tile_ids.asm b/data/tilesets/warp_carpet_tile_ids.asm index 3929a97c..be327599 100644 --- a/data/tilesets/warp_carpet_tile_ids.asm +++ b/data/tilesets/warp_carpet_tile_ids.asm @@ -4,7 +4,7 @@ WarpTileListPointers: dw .FacingLeftWarpTiles dw .FacingRightWarpTiles -warp_tiles: MACRO +warp_carpet_tiles: MACRO REPT _NARG db \1 shift @@ -13,13 +13,13 @@ ENDR ENDM .FacingDownWarpTiles: - warp_tiles $01, $12, $17, $3D, $04, $18, $33 + warp_carpet_tiles $01, $12, $17, $3D, $04, $18, $33 .FacingUpWarpTiles: - warp_tiles $01, $5C + warp_carpet_tiles $01, $5C .FacingLeftWarpTiles: - warp_tiles $1A, $4B + warp_carpet_tiles $1A, $4B .FacingRightWarpTiles: - warp_tiles $0F, $4E + warp_carpet_tiles $0F, $4E diff --git a/data/tilesets/warp_tile_ids.asm b/data/tilesets/warp_tile_ids.asm index bf19090b..db005dcf 100755 --- a/data/tilesets/warp_tile_ids.asm +++ b/data/tilesets/warp_tile_ids.asm @@ -24,9 +24,16 @@ WarpTileIDPointers: dw .FacilityWarpTileIDs dw .PlateauWarpTileIDs -.OverworldWarpTileIDs: - db $1B, $58 +warp_tiles: MACRO +REPT _NARG + db \1 + shift +ENDR db -1 ; end +ENDM + +.OverworldWarpTileIDs: + warp_tiles $1B, $58 .ForestGateWarpTileIDs: .MuseumWarpTileIDs: @@ -35,50 +42,39 @@ WarpTileIDPointers: ; fallthrough .RedsHouse1WarpTileIDs: .RedsHouse2WarpTileIDs: - db $1A, $1C - db -1 ; end + warp_tiles $1A, $1C .MartWarpTileIDs: .PokecenterWarpTileIDs: - db $5E - db -1 ; end + warp_tiles $5E .ForestWarpTileIDs: - db $5A, $5C, $3A - db -1 ; end + warp_tiles $5A, $5C, $3A .DojoWarpTileIDs: .GymWarpTileIDs: - db $4A - db -1 ; end + warp_tiles $4A .HouseWarpTileIDs: - db $54, $5C, $32 - db -1 ; end + warp_tiles $54, $5C, $32 .ShipWarpTileIDs: - db $37, $39, $1E, $4A - db -1 ; end + warp_tiles $37, $39, $1E, $4A .InteriorWarpTileIDs: - db $15, $55, $04 - db -1 ; end + warp_tiles $15, $55, $04 .CavernWarpTileIDs: - db $18, $1A, $22 - db -1 ; end + warp_tiles $18, $1A, $22 .LobbyWarpTileIDs: - db $1A, $1C, $38 - db -1 ; end + warp_tiles $1A, $1C, $38 .MansionWarpTileIDs: - db $1A, $1C, $53 - db -1 ; end + warp_tiles $1A, $1C, $53 .LabWarpTileIDs: - db $34 - db -1 ; end + warp_tiles $34 .FacilityWarpTileIDs: db $43, $58, $20 @@ -87,12 +83,11 @@ WarpTileIDPointers: db $1B ; fallthrough .UndergroundWarpTileIDs: - db $13 - db -1 ; end + warp_tiles $13 .PlateauWarpTileIDs: db $1B, $3B ; fallthrough .ShipPortWarpTileIDs: .ClubWarpTileIDs: - db -1 ; end + warp_tiles ; end -- cgit v1.2.3 From be326c65652d5e87e353172a4471458822ffd3da Mon Sep 17 00:00:00 2001 From: Rangi Date: Tue, 14 Jul 2020 15:14:32 -0400 Subject: Factor out spinner tiles from RocketHideoutB2F since they're also used by ViridianGym, and to make their data and code more accessible --- data/tilesets/spinner_tiles.asm | 29 +++++++++++++ engine/overworld/spinners.asm | 65 ++++++++++++++++++++++++++++ scripts/RocketHideoutB2F.asm | 94 +---------------------------------------- 3 files changed, 95 insertions(+), 93 deletions(-) create mode 100644 data/tilesets/spinner_tiles.asm create mode 100644 engine/overworld/spinners.asm diff --git a/data/tilesets/spinner_tiles.asm b/data/tilesets/spinner_tiles.asm new file mode 100644 index 00000000..82506b6d --- /dev/null +++ b/data/tilesets/spinner_tiles.asm @@ -0,0 +1,29 @@ +spinner: MACRO +; \1: source +; \2: offset (BANK() chokes on literals) +; \3: dest + dw \1 tile \2 + db 1 + db BANK(\1) + dw vTileset tile \3 +ENDM + +FacilitySpinnerArrows: + spinner SpinnerArrowAnimTiles, 0, $20 + spinner SpinnerArrowAnimTiles, 1, $21 + spinner SpinnerArrowAnimTiles, 2, $30 + spinner SpinnerArrowAnimTiles, 3, $31 + spinner Facility_GFX, $20, $20 + spinner Facility_GFX, $21, $21 + spinner Facility_GFX, $30, $30 + spinner Facility_GFX, $31, $31 + +GymSpinnerArrows: + spinner SpinnerArrowAnimTiles, 1, $3c + spinner SpinnerArrowAnimTiles, 3, $3d + spinner SpinnerArrowAnimTiles, 0, $4c + spinner SpinnerArrowAnimTiles, 2, $4d + spinner Gym_GFX, $3c, $3c + spinner Gym_GFX, $3d, $3d + spinner Gym_GFX, $4c, $4c + spinner Gym_GFX, $4d, $4d diff --git a/engine/overworld/spinners.asm b/engine/overworld/spinners.asm new file mode 100644 index 00000000..0ac6380d --- /dev/null +++ b/engine/overworld/spinners.asm @@ -0,0 +1,65 @@ +LoadSpinnerArrowTiles:: + ld a, [wSpritePlayerStateData1ImageIndex] + srl a + srl a + ld hl, SpinnerPlayerFacingDirections + ld c, a + ld b, $0 + add hl, bc + ld a, [hl] + ld [wSpritePlayerStateData1ImageIndex], a + ld a, [wCurMapTileset] + cp FACILITY + ld hl, FacilitySpinnerArrows + jr z, .asm_44ff6 + ld hl, GymSpinnerArrows +.asm_44ff6 + ld a, [wSimulatedJoypadStatesIndex] + bit 0, a + jr nz, .asm_45001 + ld de, $18 + add hl, de +.asm_45001 + ld a, $4 + ld bc, $0 +.asm_45006 + push af + push hl + push bc + add hl, bc + 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 h, [hl] + ld l, a + call CopyVideoData + pop bc + ld a, $6 + add c + ld c, a + pop hl + pop af + dec a + jr nz, .asm_45006 + ret + +INCLUDE "data/tilesets/spinner_tiles.asm" + +SpinnerPlayerFacingDirections: +; This isn't the order of the facing directions. Rather, it's a list of +; the facing directions that come next. For example, when the player is +; facing down (00), the next facing direction is left (08). + db $08 ; down -> left + db $0C ; up -> right + db $04 ; left -> up + db $00 ; right -> down + +; these tiles are the animation for the tiles that push the player in dungeons like Rocket HQ +SpinnerArrowAnimTiles: + INCBIN "gfx/overworld/spinners.2bpp" diff --git a/scripts/RocketHideoutB2F.asm b/scripts/RocketHideoutB2F.asm index 47c0581c..c4cda325 100755 --- a/scripts/RocketHideoutB2F.asm +++ b/scripts/RocketHideoutB2F.asm @@ -313,99 +313,7 @@ RocketHideout2Script3: ld [wCurMapScript], a ret -LoadSpinnerArrowTiles:: - ld a, [wSpritePlayerStateData1ImageIndex] - srl a - srl a - ld hl, SpinnerPlayerFacingDirections - ld c, a - ld b, $0 - add hl, bc - ld a, [hl] - ld [wSpritePlayerStateData1ImageIndex], a - ld a, [wCurMapTileset] - cp FACILITY - ld hl, FacilitySpinnerArrows - jr z, .asm_44ff6 - ld hl, GymSpinnerArrows -.asm_44ff6 - ld a, [wSimulatedJoypadStatesIndex] - bit 0, a - jr nz, .asm_45001 - ld de, $18 - add hl, de -.asm_45001 - ld a, $4 - ld bc, $0 -.asm_45006 - push af - push hl - push bc - add hl, bc - 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 h, [hl] - ld l, a - call CopyVideoData - pop bc - ld a, $6 - add c - ld c, a - pop hl - pop af - dec a - jr nz, .asm_45006 - ret - -spinner: MACRO -; \1: source -; \2: offset (BANK() chokes on literals) -; \3: dest - dw \1 tile \2 - db 1 - db BANK(\1) - dw vTileset tile \3 -ENDM - -FacilitySpinnerArrows: - spinner SpinnerArrowAnimTiles, 0, $20 - spinner SpinnerArrowAnimTiles, 1, $21 - spinner SpinnerArrowAnimTiles, 2, $30 - spinner SpinnerArrowAnimTiles, 3, $31 - spinner Facility_GFX, $20, $20 - spinner Facility_GFX, $21, $21 - spinner Facility_GFX, $30, $30 - spinner Facility_GFX, $31, $31 - -GymSpinnerArrows: - spinner SpinnerArrowAnimTiles, 1, $3c - spinner SpinnerArrowAnimTiles, 3, $3d - spinner SpinnerArrowAnimTiles, 0, $4c - spinner SpinnerArrowAnimTiles, 2, $4d - spinner Gym_GFX, $3c, $3c - spinner Gym_GFX, $3d, $3d - spinner Gym_GFX, $4c, $4c - spinner Gym_GFX, $4d, $4d - -SpinnerPlayerFacingDirections: -; This isn't the order of the facing directions. Rather, it's a list of -; the facing directions that come next. For example, when the player is -; facing down (00), the next facing direction is left (08). - db $08 ; down -> left - db $0C ; up -> right - db $04 ; left -> up - db $00 ; right -> down - -; these tiles are the animation for the tiles that push the player in dungeons like Rocket HQ -SpinnerArrowAnimTiles: - INCBIN "gfx/overworld/spinners.2bpp" +INCLUDE "engine/overworld/spinners.asm" RocketHideoutB2F_TextPointers: dw RocketHideout2Text1 -- cgit v1.2.3 From 5c0f33cb5350d3e11bd75cc04d943549667ecd4c Mon Sep 17 00:00:00 2001 From: Rangi Date: Tue, 14 Jul 2020 15:45:36 -0400 Subject: Use a 'trainer' macro for trainers in scripts/ --- home/trainers.asm | 2 +- macros/scripts/maps.asm | 21 ++++++++++ scripts/AgathasRoom.asm | 11 +----- scripts/BrunosRoom.asm | 11 +----- scripts/CeladonGym.asm | 65 ++++-------------------------- scripts/CeruleanCaveB1F.asm | 11 +----- scripts/CeruleanGym.asm | 20 ++-------- scripts/FightingDojo.asm | 38 +++--------------- scripts/FuchsiaGym.asm | 56 ++++---------------------- scripts/LancesRoom.asm | 11 +----- scripts/LoreleisRoom.asm | 11 +----- scripts/MtMoon1F.asm | 65 ++++-------------------------- scripts/MtMoonB2F.asm | 38 +++--------------- scripts/PewterGym.asm | 11 +----- scripts/PokemonMansion1F.asm | 11 +----- scripts/PokemonMansion2F.asm | 11 +----- scripts/PokemonMansion3F.asm | 20 ++-------- scripts/PokemonMansionB1F.asm | 20 ++-------- scripts/PokemonTower3F.asm | 28 ++----------- scripts/PokemonTower4F.asm | 29 ++------------ scripts/PokemonTower5F.asm | 38 +++--------------- scripts/PokemonTower6F.asm | 29 ++------------ scripts/PokemonTower7F.asm | 29 ++------------ scripts/PowerPlant.asm | 83 +++++--------------------------------- scripts/RockTunnel1F.asm | 65 ++++-------------------------- scripts/RockTunnelB1F.asm | 74 +++++----------------------------- scripts/RocketHideoutB1F.asm | 47 +++------------------- scripts/RocketHideoutB2F.asm | 11 +----- scripts/RocketHideoutB3F.asm | 20 ++-------- scripts/RocketHideoutB4F.asm | 29 ++------------ scripts/Route10.asm | 56 ++++---------------------- scripts/Route11.asm | 92 ++++++------------------------------------- scripts/Route12.asm | 65 ++++-------------------------- scripts/Route13.asm | 92 ++++++------------------------------------- scripts/Route14.asm | 92 ++++++------------------------------------- scripts/Route15.asm | 92 ++++++------------------------------------- scripts/Route16.asm | 56 ++++---------------------- scripts/Route17.asm | 92 ++++++------------------------------------- scripts/Route18.asm | 29 ++------------ scripts/Route19.asm | 92 ++++++------------------------------------- scripts/Route20.asm | 92 ++++++------------------------------------- scripts/Route21.asm | 83 +++++--------------------------------- scripts/Route24.asm | 56 ++++---------------------- scripts/Route25.asm | 83 +++++--------------------------------- scripts/Route3.asm | 74 +++++----------------------------- scripts/Route4.asm | 11 +----- scripts/Route6.asm | 56 ++++---------------------- scripts/Route8.asm | 83 +++++--------------------------------- scripts/Route9.asm | 83 +++++--------------------------------- scripts/SSAnne1FRooms.asm | 38 +++--------------- scripts/SSAnne2FRooms.asm | 38 +++--------------- scripts/SSAnneB1FRooms.asm | 56 ++++---------------------- scripts/SSAnneBow.asm | 20 ++-------- scripts/SaffronGym.asm | 65 ++++-------------------------- scripts/SeafoamIslandsB4F.asm | 11 +----- scripts/SilphCo10F.asm | 20 ++-------- scripts/SilphCo11F.asm | 20 ++-------- scripts/SilphCo2F.asm | 38 +++--------------- scripts/SilphCo3F.asm | 20 ++-------- scripts/SilphCo4F.asm | 29 ++------------ scripts/SilphCo5F.asm | 38 +++--------------- scripts/SilphCo6F.asm | 29 ++------------ scripts/SilphCo7F.asm | 38 +++--------------- scripts/SilphCo8F.asm | 29 ++------------ scripts/SilphCo9F.asm | 29 ++------------ scripts/VermilionGym.asm | 29 ++------------ scripts/VictoryRoad1F.asm | 20 ++-------- scripts/VictoryRoad2F.asm | 56 ++++---------------------- scripts/VictoryRoad3F.asm | 38 +++--------------- scripts/ViridianForest.asm | 29 ++------------ scripts/ViridianGym.asm | 74 +++++----------------------------- 71 files changed, 413 insertions(+), 2645 deletions(-) diff --git a/home/trainers.asm b/home/trainers.asm index 039c4ec8..37e36c2f 100644 --- a/home/trainers.asm +++ b/home/trainers.asm @@ -263,7 +263,7 @@ CheckForEngagingTrainers:: ld a, [de] ld [wSpriteIndex], a ; store trainer flag's bit ld [wTrainerHeaderFlagBit], a - cp $ff + cp -1 ret z ld a, $2 call ReadTrainerHeaderInfo ; read trainer flag's byte ptr diff --git a/macros/scripts/maps.asm b/macros/scripts/maps.asm index a097fb88..6f643672 100644 --- a/macros/scripts/maps.asm +++ b/macros/scripts/maps.asm @@ -47,6 +47,27 @@ warp_to: MACRO event_displacement \3, \1, \2 ENDM + +;\1 event flag +;\2 view range +;\3 TextBeforeBattle +;\4 TextAfterBattle +;\5 TextEndBattle +trainer: MACRO + IF _NARG > 5 + dbEventFlagBit \1, \2 + db (\3 << 4) + dwEventFlagAddress \1, \2 + SHIFT + ELSE + dbEventFlagBit \1 + db (\2 << 4) + dwEventFlagAddress \1 + ENDC + dw \3, \5, \4, \4 +ENDM + + ;\1 map name ;\2 map id ;\3 tileset diff --git a/scripts/AgathasRoom.asm b/scripts/AgathasRoom.asm index b49b2a2b..c8df935e 100755 --- a/scripts/AgathasRoom.asm +++ b/scripts/AgathasRoom.asm @@ -121,15 +121,8 @@ AgathasRoom_TextPointers: dw AgathaDontRunAwayText AgathaTrainerHeader0: - dbEventFlagBit EVENT_BEAT_AGATHAS_ROOM_TRAINER_0 - db ($0 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_AGATHAS_ROOM_TRAINER_0 - dw AgathaBeforeBattleText ; TextBeforeBattle - dw AgathaAfterBattleText ; TextAfterBattle - dw AgathaEndBattleText ; TextEndBattle - dw AgathaEndBattleText ; TextEndBattle - - db $ff + trainer EVENT_BEAT_AGATHAS_ROOM_TRAINER_0, 0, AgathaBeforeBattleText, AgathaEndBattleText, AgathaAfterBattleText + db -1 ; end AgathaText1: text_asm diff --git a/scripts/BrunosRoom.asm b/scripts/BrunosRoom.asm index d7254c97..194bc201 100755 --- a/scripts/BrunosRoom.asm +++ b/scripts/BrunosRoom.asm @@ -118,15 +118,8 @@ BrunosRoom_TextPointers: dw BrunoDontRunAwayText BrunoTrainerHeader0: - dbEventFlagBit EVENT_BEAT_BRUNOS_ROOM_TRAINER_0 - db ($0 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_BRUNOS_ROOM_TRAINER_0 - dw BrunoBeforeBattleText ; TextBeforeBattle - dw BrunoAfterBattleText ; TextAfterBattle - dw BrunoEndBattleText ; TextEndBattle - dw BrunoEndBattleText ; TextEndBattle - - db $ff + trainer EVENT_BEAT_BRUNOS_ROOM_TRAINER_0, 0, BrunoBeforeBattleText, BrunoEndBattleText, BrunoAfterBattleText + db -1 ; end BrunoText1: text_asm diff --git a/scripts/CeladonGym.asm b/scripts/CeladonGym.asm index cecd6bf7..669492cf 100755 --- a/scripts/CeladonGym.asm +++ b/scripts/CeladonGym.asm @@ -84,69 +84,20 @@ CeladonGym_TextPointers: dw TM21NoRoomText CeladonGymTrainerHeader0: - dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_0 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_0 - dw CeladonGymBattleText2 ; TextBeforeBattle - dw CeladonGymAfterBattleText2 ; TextAfterBattle - dw CeladonGymEndBattleText2 ; TextEndBattle - dw CeladonGymEndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_CELADON_GYM_TRAINER_0, 2, CeladonGymBattleText2, CeladonGymEndBattleText2, CeladonGymAfterBattleText2 CeladonGymTrainerHeader1: - dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_1 - dw CeladonGymBattleText3 ; TextBeforeBattle - dw CeladonGymAfterBattleText3 ; TextAfterBattle - dw CeladonGymEndBattleText3 ; TextEndBattle - dw CeladonGymEndBattleText3 ; TextEndBattle - + trainer EVENT_BEAT_CELADON_GYM_TRAINER_1, 2, CeladonGymBattleText3, CeladonGymEndBattleText3, CeladonGymAfterBattleText3 CeladonGymTrainerHeader2: - dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_2 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_2 - dw CeladonGymBattleText4 ; TextBeforeBattle - dw CeladonGymAfterBattleText4 ; TextAfterBattle - dw CeladonGymEndBattleText4 ; TextEndBattle - dw CeladonGymEndBattleText4 ; TextEndBattle - + trainer EVENT_BEAT_CELADON_GYM_TRAINER_2, 4, CeladonGymBattleText4, CeladonGymEndBattleText4, CeladonGymAfterBattleText4 CeladonGymTrainerHeader3: - dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_3 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_3 - dw CeladonGymBattleText5 ; TextBeforeBattle - dw CeladonGymAfterBattleText5 ; TextAfterBattle - dw CeladonGymEndBattleText5 ; TextEndBattle - dw CeladonGymEndBattleText5 ; TextEndBattle - + trainer EVENT_BEAT_CELADON_GYM_TRAINER_3, 4, CeladonGymBattleText5, CeladonGymEndBattleText5, CeladonGymAfterBattleText5 CeladonGymTrainerHeader4: - dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_4 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_4 - dw CeladonGymBattleText6 ; TextBeforeBattle - dw CeladonGymAfterBattleText6 ; TextAfterBattle - dw CeladonGymEndBattleText6 ; TextEndBattle - dw CeladonGymEndBattleText6 ; TextEndBattle - + trainer EVENT_BEAT_CELADON_GYM_TRAINER_4, 2, CeladonGymBattleText6, CeladonGymEndBattleText6, CeladonGymAfterBattleText6 CeladonGymTrainerHeader5: - dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_5 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_5 - dw CeladonGymBattleText7 ; TextBeforeBattle - dw CeladonGymAfterBattleText7 ; TextAfterBattle - dw CeladonGymEndBattleText7 ; TextEndBattle - dw CeladonGymEndBattleText7 ; TextEndBattle - + trainer EVENT_BEAT_CELADON_GYM_TRAINER_5, 2, CeladonGymBattleText7, CeladonGymEndBattleText7, CeladonGymAfterBattleText7 CeladonGymTrainerHeader6: - dbEventFlagBit EVENT_BEAT_CELADON_GYM_TRAINER_6, 1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_CELADON_GYM_TRAINER_6, 1 - dw CeladonGymBattleText8 ; TextBeforeBattle - dw CeladonGymAfterBattleText8 ; TextAfterBattle - dw CeladonGymEndBattleText8 ; TextEndBattle - dw CeladonGymEndBattleText8 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_CELADON_GYM_TRAINER_6, 1, 3, CeladonGymBattleText8, CeladonGymEndBattleText8, CeladonGymAfterBattleText8 + db -1 ; end CeladonGymText1: text_asm diff --git a/scripts/CeruleanCaveB1F.asm b/scripts/CeruleanCaveB1F.asm index 52239085..621815b0 100755 --- a/scripts/CeruleanCaveB1F.asm +++ b/scripts/CeruleanCaveB1F.asm @@ -18,15 +18,8 @@ CeruleanCaveB1F_TextPointers: dw PickUpItemText MewtwoTrainerHeader: - dbEventFlagBit EVENT_BEAT_MEWTWO - db ($0 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_MEWTWO - dw MewtwoBattleText ; TextBeforeBattle - dw MewtwoBattleText ; TextAfterBattle - dw MewtwoBattleText ; TextEndBattle - dw MewtwoBattleText ; TextEndBattle - - db $ff + trainer EVENT_BEAT_MEWTWO, 0, MewtwoBattleText, MewtwoBattleText, MewtwoBattleText + db -1 ; end MewtwoText: text_asm diff --git a/scripts/CeruleanGym.asm b/scripts/CeruleanGym.asm index fef3f551..57edfe78 100755 --- a/scripts/CeruleanGym.asm +++ b/scripts/CeruleanGym.asm @@ -80,24 +80,10 @@ CeruleanGym_TextPointers: dw CeruleanGymText7 CeruleanGymTrainerHeader0: - dbEventFlagBit EVENT_BEAT_CERULEAN_GYM_TRAINER_0 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_CERULEAN_GYM_TRAINER_0 - dw CeruleanGymBattleText1 ; TextBeforeBattle - dw CeruleanGymAfterBattleText1 ; TextAfterBattle - dw CeruleanGymEndBattleText1 ; TextEndBattle - dw CeruleanGymEndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_CERULEAN_GYM_TRAINER_0, 3, CeruleanGymBattleText1, CeruleanGymEndBattleText1, CeruleanGymAfterBattleText1 CeruleanGymTrainerHeader1: - dbEventFlagBit EVENT_BEAT_CERULEAN_GYM_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_CERULEAN_GYM_TRAINER_1 - dw CeruleanGymBattleText2 ; TextBeforeBattle - dw CeruleanGymAfterBattleText2 ; TextAfterBattle - dw CeruleanGymEndBattleText2 ; TextEndBattle - dw CeruleanGymEndBattleText2 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_CERULEAN_GYM_TRAINER_1, 3, CeruleanGymBattleText2, CeruleanGymEndBattleText2, CeruleanGymAfterBattleText2 + db -1 ; end CeruleanGymText1: text_asm diff --git a/scripts/FightingDojo.asm b/scripts/FightingDojo.asm index a5844c14..365e23e0 100755 --- a/scripts/FightingDojo.asm +++ b/scripts/FightingDojo.asm @@ -91,42 +91,14 @@ FightingDojo_TextPointers: dw FightingDojoText8 FightingDojoTrainerHeader0: - dbEventFlagBit EVENT_BEAT_FIGHTING_DOJO_TRAINER_0 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_FIGHTING_DOJO_TRAINER_0 - dw FightingDojoBattleText1 ; TextBeforeBattle - dw FightingDojoAfterBattleText1 ; TextAfterBattle - dw FightingDojoEndBattleText1 ; TextEndBattle - dw FightingDojoEndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_FIGHTING_DOJO_TRAINER_0, 4, FightingDojoBattleText1, FightingDojoEndBattleText1, FightingDojoAfterBattleText1 FightingDojoTrainerHeader1: - dbEventFlagBit EVENT_BEAT_FIGHTING_DOJO_TRAINER_1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_FIGHTING_DOJO_TRAINER_1 - dw FightingDojoBattleText2 ; TextBeforeBattle - dw FightingDojoAfterBattleText2 ; TextAfterBattle - dw FightingDojoEndBattleText2 ; TextEndBattle - dw FightingDojoEndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_FIGHTING_DOJO_TRAINER_1, 4, FightingDojoBattleText2, FightingDojoEndBattleText2, FightingDojoAfterBattleText2 FightingDojoTrainerHeader2: - dbEventFlagBit EVENT_BEAT_FIGHTING_DOJO_TRAINER_2 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_FIGHTING_DOJO_TRAINER_2 - dw FightingDojoBattleText3 ; TextBeforeBattle - dw FightingDojoAfterBattleText3 ; TextAfterBattle - dw FightingDojoEndBattleText3 ; TextEndBattle - dw FightingDojoEndBattleText3 ; TextEndBattle - + trainer EVENT_BEAT_FIGHTING_DOJO_TRAINER_2, 3, FightingDojoBattleText3, FightingDojoEndBattleText3, FightingDojoAfterBattleText3 FightingDojoTrainerHeader3: - dbEventFlagBit EVENT_BEAT_FIGHTING_DOJO_TRAINER_3 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_FIGHTING_DOJO_TRAINER_3 - dw FightingDojoBattleText4 ; TextBeforeBattle - dw FightingDojoAfterBattleText4 ; TextAfterBattle - dw FightingDojoEndBattleText4 ; TextEndBattle - dw FightingDojoEndBattleText4 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_FIGHTING_DOJO_TRAINER_3, 3, FightingDojoBattleText4, FightingDojoEndBattleText4, FightingDojoAfterBattleText4 + db -1 ; end FightingDojoText1: text_asm diff --git a/scripts/FuchsiaGym.asm b/scripts/FuchsiaGym.asm index 944e3070..cfbe87e9 100755 --- a/scripts/FuchsiaGym.asm +++ b/scripts/FuchsiaGym.asm @@ -84,60 +84,18 @@ FuchsiaGym_TextPointers: dw FuchsiaGymText11 FuchsiaGymTrainerHeader0: - dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_0 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_0 - dw FuchsiaGymBattleText1 ; TextBeforeBattle - dw FuchsiaGymAfterBattleText1 ; TextAfterBattle - dw FuchsiaGymEndBattleText1 ; TextEndBattle - dw FuchsiaGymEndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_FUCHSIA_GYM_TRAINER_0, 2, FuchsiaGymBattleText1, FuchsiaGymEndBattleText1, FuchsiaGymAfterBattleText1 FuchsiaGymTrainerHeader1: - dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_1 - dw FuchsiaGymBattleText2 ; TextBeforeBattle - dw FuchsiaGymAfterBattleText2 ; TextAfterBattle - dw FuchsiaGymEndBattleText2 ; TextEndBattle - dw FuchsiaGymEndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_FUCHSIA_GYM_TRAINER_1, 2, FuchsiaGymBattleText2, FuchsiaGymEndBattleText2, FuchsiaGymAfterBattleText2 FuchsiaGymTrainerHeader2: - dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_2 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_2 - dw FuchsiaGymBattleText3 ; TextBeforeBattle - dw FuchsiaGymAfterBattleText3 ; TextAfterBattle - dw FuchsiaGymEndBattleText3 ; TextEndBattle - dw FuchsiaGymEndBattleText3 ; TextEndBattle - + trainer EVENT_BEAT_FUCHSIA_GYM_TRAINER_2, 4, FuchsiaGymBattleText3, FuchsiaGymEndBattleText3, FuchsiaGymAfterBattleText3 FuchsiaGymTrainerHeader3: - dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_3 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_3 - dw FuchsiaGymBattleText4 ; TextBeforeBattle - dw FuchsiaGymAfterBattleText4 ; TextAfterBattle - dw FuchsiaGymEndBattleText4 ; TextEndBattle - dw FuchsiaGymEndBattleText4 ; TextEndBattle - + trainer EVENT_BEAT_FUCHSIA_GYM_TRAINER_3, 2, FuchsiaGymBattleText4, FuchsiaGymEndBattleText4, FuchsiaGymAfterBattleText4 FuchsiaGymTrainerHeader4: - dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_4 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_4 - dw FuchsiaGymBattleText5 ; TextBeforeBattle - dw FuchsiaGymAfterBattleText5 ; TextAfterBattle - dw FuchsiaGymEndBattleText5 ; TextEndBattle - dw FuchsiaGymEndBattleText5 ; TextEndBattle - + trainer EVENT_BEAT_FUCHSIA_GYM_TRAINER_4, 2, FuchsiaGymBattleText5, FuchsiaGymEndBattleText5, FuchsiaGymAfterBattleText5 FuchsiaGymTrainerHeader5: - dbEventFlagBit EVENT_BEAT_FUCHSIA_GYM_TRAINER_5 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_FUCHSIA_GYM_TRAINER_5 - dw FuchsiaGymBattleText6 ; TextBeforeBattle - dw FuchsiaGymAfterBattleText6 ; TextAfterBattle - dw FuchsiaGymEndBattleText6 ; TextEndBattle - dw FuchsiaGymEndBattleText6 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_FUCHSIA_GYM_TRAINER_5, 2, FuchsiaGymBattleText6, FuchsiaGymEndBattleText6, FuchsiaGymAfterBattleText6 + db -1 ; end FuchsiaGymText1: text_asm diff --git a/scripts/LancesRoom.asm b/scripts/LancesRoom.asm index 5087dda8..e1b9a1f2 100755 --- a/scripts/LancesRoom.asm +++ b/scripts/LancesRoom.asm @@ -131,15 +131,8 @@ LancesRoom_TextPointers: dw LanceText1 LanceTrainerHeader0: - dbEventFlagBit EVENT_BEAT_LANCES_ROOM_TRAINER_0 - db ($0 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_LANCES_ROOM_TRAINER_0 - dw LanceBeforeBattleText ; TextBeforeBattle - dw LanceAfterBattleText ; TextAfterBattle - dw LanceEndBattleText ; TextEndBattle - dw LanceEndBattleText ; TextEndBattle - - db $ff + trainer EVENT_BEAT_LANCES_ROOM_TRAINER_0, 0, LanceBeforeBattleText, LanceEndBattleText, LanceAfterBattleText + db -1 ; end LanceText1: text_asm diff --git a/scripts/LoreleisRoom.asm b/scripts/LoreleisRoom.asm index f2cdfb45..c04da4aa 100755 --- a/scripts/LoreleisRoom.asm +++ b/scripts/LoreleisRoom.asm @@ -120,15 +120,8 @@ LoreleisRoom_TextPointers: dw LoreleiDontRunAwayText LoreleiTrainerHeader0: - dbEventFlagBit EVENT_BEAT_LORELEIS_ROOM_TRAINER_0 - db ($0 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_LORELEIS_ROOM_TRAINER_0 - dw LoreleiBeforeBattleText ; TextBeforeBattle - dw LoreleiAfterBattleText ; TextAfterBattle - dw LoreleiEndBattleText ; TextEndBattle - dw LoreleiEndBattleText ; TextEndBattle - - db $ff + trainer EVENT_BEAT_LORELEIS_ROOM_TRAINER_0, 0, LoreleiBeforeBattleText, LoreleiEndBattleText, LoreleiAfterBattleText + db -1 ; end LoreleiText1: text_asm diff --git a/scripts/MtMoon1F.asm b/scripts/MtMoon1F.asm index a538b9b2..68dacf29 100755 --- a/scripts/MtMoon1F.asm +++ b/scripts/MtMoon1F.asm @@ -29,69 +29,20 @@ MtMoon1F_TextPointers: dw MtMoon1Text14 MtMoon1TrainerHeader0: - dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_0 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_0 - dw MtMoon1BattleText2 ; TextBeforeBattle - dw MtMoon1AfterBattleText2 ; TextAfterBattle - dw MtMoon1EndBattleText2 ; TextEndBattle - dw MtMoon1EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_MT_MOON_1_TRAINER_0, 2, MtMoon1BattleText2, MtMoon1EndBattleText2, MtMoon1AfterBattleText2 MtMoon1TrainerHeader1: - dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_1 - dw MtMoon1BattleText3 ; TextBeforeBattle - dw MtMoon1AfterBattleText3 ; TextAfterBattle - dw MtMoon1EndBattleText3 ; TextEndBattle - dw MtMoon1EndBattleText3 ; TextEndBattle - + trainer EVENT_BEAT_MT_MOON_1_TRAINER_1, 3, MtMoon1BattleText3, MtMoon1EndBattleText3, MtMoon1AfterBattleText3 MtMoon1TrainerHeader2: - dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_2 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_2 - dw MtMoon1BattleText4 ; TextBeforeBattle - dw MtMoon1AfterBattleText4 ; TextAfterBattle - dw MtMoon1EndBattleText4 ; TextEndBattle - dw MtMoon1EndBattleText4 ; TextEndBattle - + trainer EVENT_BEAT_MT_MOON_1_TRAINER_2, 3, MtMoon1BattleText4, MtMoon1EndBattleText4, MtMoon1AfterBattleText4 MtMoon1TrainerHeader3: - dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_3 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_3 - dw MtMoon1BattleText5 ; TextBeforeBattle - dw MtMoon1AfterBattleText5 ; TextAfterBattle - dw MtMoon1EndBattleText5 ; TextEndBattle - dw MtMoon1EndBattleText5 ; TextEndBattle - + trainer EVENT_BEAT_MT_MOON_1_TRAINER_3, 3, MtMoon1BattleText5, MtMoon1EndBattleText5, MtMoon1AfterBattleText5 MtMoon1TrainerHeader4: - dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_4 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_4 - dw MtMoon1BattleText6 ; TextBeforeBattle - dw MtMoon1AfterBattleText6 ; TextAfterBattle - dw MtMoon1EndBattleText6 ; TextEndBattle - dw MtMoon1EndBattleText6 ; TextEndBattle - + trainer EVENT_BEAT_MT_MOON_1_TRAINER_4, 3, MtMoon1BattleText6, MtMoon1EndBattleText6, MtMoon1AfterBattleText6 MtMoon1TrainerHeader5: - dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_5 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_5 - dw MtMoon1BattleText7 ; TextBeforeBattle - dw MtMoon1AfterBattleText7 ; TextAfterBattle - dw MtMoon1EndBattleText7 ; TextEndBattle - dw MtMoon1EndBattleText7 ; TextEndBattle - + trainer EVENT_BEAT_MT_MOON_1_TRAINER_5, 3, MtMoon1BattleText7, MtMoon1EndBattleText7, MtMoon1AfterBattleText7 MtMoon1TrainerHeader6: - dbEventFlagBit EVENT_BEAT_MT_MOON_1_TRAINER_6 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_MT_MOON_1_TRAINER_6 - dw MtMoon1BattleText8 ; TextBeforeBattle - dw MtMoon1AfterBattleText8 ; TextAfterBattle - dw MtMoon1EndBattleText8 ; TextEndBattle - dw MtMoon1EndBattleText8 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_MT_MOON_1_TRAINER_6, 3, MtMoon1BattleText8, MtMoon1EndBattleText8, MtMoon1AfterBattleText8 + db -1 ; end MtMoon1Text1: text_asm diff --git a/scripts/MtMoonB2F.asm b/scripts/MtMoonB2F.asm index a70967e4..9ecb8b1c 100755 --- a/scripts/MtMoonB2F.asm +++ b/scripts/MtMoonB2F.asm @@ -167,42 +167,14 @@ MtMoonB2F_TextPointers: dw MtMoon3Text_49f99 MtMoon3TrainerHeader0: - dbEventFlagBit EVENT_BEAT_MT_MOON_3_TRAINER_0 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_MT_MOON_3_TRAINER_0 - dw MtMoon3BattleText2 ; TextBeforeBattle - dw MtMoon3AfterBattleText2 ; TextAfterBattle - dw MtMoon3EndBattleText2 ; TextEndBattle - dw MtMoon3EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_MT_MOON_3_TRAINER_0, 4, MtMoon3BattleText2, MtMoon3EndBattleText2, MtMoon3AfterBattleText2 MtMoon3TrainerHeader1: - dbEventFlagBit EVENT_BEAT_MT_MOON_3_TRAINER_1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_MT_MOON_3_TRAINER_1 - dw MtMoon3BattleText3 ; TextBeforeBattle - dw MtMoon3AfterBattleText3 ; TextAfterBattle - dw MtMoon3EndBattleText3 ; TextEndBattle - dw MtMoon3EndBattleText3 ; TextEndBattle - + trainer EVENT_BEAT_MT_MOON_3_TRAINER_1, 4, MtMoon3BattleText3, MtMoon3EndBattleText3, MtMoon3AfterBattleText3 MtMoon3TrainerHeader2: - dbEventFlagBit EVENT_BEAT_MT_MOON_3_TRAINER_2 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_MT_MOON_3_TRAINER_2 - dw MtMoon3BattleText4 ; TextBeforeBattle - dw MtMoon3AfterBattleText4 ; TextAfterBattle - dw MtMoon3EndBattleText4 ; TextEndBattle - dw MtMoon3EndBattleText4 ; TextEndBattle - + trainer EVENT_BEAT_MT_MOON_3_TRAINER_2, 4, MtMoon3BattleText4, MtMoon3EndBattleText4, MtMoon3AfterBattleText4 MtMoon3TrainerHeader3: - dbEventFlagBit EVENT_BEAT_MT_MOON_3_TRAINER_3 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_MT_MOON_3_TRAINER_3 - dw MtMoon3BattleText5 ; TextBeforeBattle - dw MtMoon3AfterBattleText5 ; TextAfterBattle - dw MtMoon3EndBattleText5 ; TextEndBattle - dw MtMoon3EndBattleText5 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_MT_MOON_3_TRAINER_3, 4, MtMoon3BattleText5, MtMoon3EndBattleText5, MtMoon3AfterBattleText5 + db -1 ; end MtMoon3Text1: text_asm diff --git a/scripts/PewterGym.asm b/scripts/PewterGym.asm index e559db04..fd9e9063 100755 --- a/scripts/PewterGym.asm +++ b/scripts/PewterGym.asm @@ -88,15 +88,8 @@ PewterGym_TextPointers: dw PewterGymText6 PewterGymTrainerHeader0: - dbEventFlagBit EVENT_BEAT_PEWTER_GYM_TRAINER_0 - db ($5 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_PEWTER_GYM_TRAINER_0 - dw PewterGymBattleText1 ; TextBeforeBattle - dw PewterGymAfterBattleText1 ; TextAfterBattle - dw PewterGymEndBattleText1 ; TextEndBattle - dw PewterGymEndBattleText1 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_PEWTER_GYM_TRAINER_0, 5, PewterGymBattleText1, PewterGymEndBattleText1, PewterGymAfterBattleText1 + db -1 ; end PewterGymText1: text_asm diff --git a/scripts/PokemonMansion1F.asm b/scripts/PokemonMansion1F.asm index a68b8928..ac86d626 100755 --- a/scripts/PokemonMansion1F.asm +++ b/scripts/PokemonMansion1F.asm @@ -67,15 +67,8 @@ PokemonMansion1F_TextPointers: dw Mansion1Text4 Mansion1TrainerHeader0: - dbEventFlagBit EVENT_BEAT_MANSION_1_TRAINER_0 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_MANSION_1_TRAINER_0 - dw Mansion1BattleText2 ; TextBeforeBattle - dw Mansion1AfterBattleText2 ; TextAfterBattle - dw Mansion1EndBattleText2 ; TextEndBattle - dw Mansion1EndBattleText2 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_MANSION_1_TRAINER_0, 3, Mansion1BattleText2, Mansion1EndBattleText2, Mansion1AfterBattleText2 + db -1 ; end Mansion1Text1: text_asm diff --git a/scripts/PokemonMansion2F.asm b/scripts/PokemonMansion2F.asm index 16f0dff5..2edd0fb6 100755 --- a/scripts/PokemonMansion2F.asm +++ b/scripts/PokemonMansion2F.asm @@ -64,15 +64,8 @@ PokemonMansion2F_TextPointers: dw Mansion2Text5 Mansion2TrainerHeader0: - dbEventFlagBit EVENT_BEAT_MANSION_2_TRAINER_0 - db ($0 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_MANSION_2_TRAINER_0 - dw Mansion2BattleText1 ; TextBeforeBattle - dw Mansion2AfterBattleText1 ; TextAfterBattle - dw Mansion2EndBattleText1 ; TextEndBattle - dw Mansion2EndBattleText1 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_MANSION_2_TRAINER_0, 0, Mansion2BattleText1, Mansion2EndBattleText1, Mansion2AfterBattleText1 + db -1 ; end Mansion2Text1: text_asm diff --git a/scripts/PokemonMansion3F.asm b/scripts/PokemonMansion3F.asm index f4612b0d..f8fbdf52 100755 --- a/scripts/PokemonMansion3F.asm +++ b/scripts/PokemonMansion3F.asm @@ -91,24 +91,10 @@ PokemonMansion3F_TextPointers: dw Mansion3Text6 Mansion3TrainerHeader0: - dbEventFlagBit EVENT_BEAT_MANSION_3_TRAINER_0 - db ($0 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_MANSION_3_TRAINER_0 - dw Mansion3BattleText1 ; TextBeforeBattle - dw Mansion3AfterBattleText1 ; TextAfterBattle - dw Mansion3EndBattleText1 ; TextEndBattle - dw Mansion3EndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_MANSION_3_TRAINER_0, 0, Mansion3BattleText1, Mansion3EndBattleText1, Mansion3AfterBattleText1 Mansion3TrainerHeader1: - dbEventFlagBit EVENT_BEAT_MANSION_3_TRAINER_1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_MANSION_3_TRAINER_1 - dw Mansion3BattleText2 ; TextBeforeBattle - dw Mansion3AfterBattleText2 ; TextAfterBattle - dw Mansion3EndBattleText2 ; TextEndBattle - dw Mansion3EndBattleText2 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_MANSION_3_TRAINER_1, 2, Mansion3BattleText2, Mansion3EndBattleText2, Mansion3AfterBattleText2 + db -1 ; end Mansion3Text1: text_asm diff --git a/scripts/PokemonMansionB1F.asm b/scripts/PokemonMansionB1F.asm index 7b295f7e..f3b62793 100755 --- a/scripts/PokemonMansionB1F.asm +++ b/scripts/PokemonMansionB1F.asm @@ -70,24 +70,10 @@ PokemonMansionB1F_TextPointers: dw Mansion3Text6 Mansion4TrainerHeader0: - dbEventFlagBit EVENT_BEAT_MANSION_4_TRAINER_0 - db ($0 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_MANSION_4_TRAINER_0 - dw Mansion4BattleText1 ; TextBeforeBattle - dw Mansion4AfterBattleText1 ; TextAfterBattle - dw Mansion4EndBattleText1 ; TextEndBattle - dw Mansion4EndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_MANSION_4_TRAINER_0, 0, Mansion4BattleText1, Mansion4EndBattleText1, Mansion4AfterBattleText1 Mansion4TrainerHeader1: - dbEventFlagBit EVENT_BEAT_MANSION_4_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_MANSION_4_TRAINER_1 - dw Mansion4BattleText2 ; TextBeforeBattle - dw Mansion4AfterBattleText2 ; TextAfterBattle - dw Mansion4EndBattleText2 ; TextEndBattle - dw Mansion4EndBattleText2 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_MANSION_4_TRAINER_1, 3, Mansion4BattleText2, Mansion4EndBattleText2, Mansion4AfterBattleText2 + db -1 ; end Mansion4Text1: text_asm diff --git a/scripts/PokemonTower3F.asm b/scripts/PokemonTower3F.asm index d35bd758..cf56904f 100755 --- a/scripts/PokemonTower3F.asm +++ b/scripts/PokemonTower3F.asm @@ -19,32 +19,12 @@ PokemonTower3F_TextPointers: dw PickUpItemText PokemonTower3TrainerHeader0: - dbEventFlagBit EVENT_BEAT_POKEMONTOWER_3_TRAINER_0 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_3_TRAINER_0 - dw PokemonTower3BattleText1 ; TextBeforeBattle - dw PokemonTower3AfterBattleText1 ; TextAfterBattle - dw PokemonTower3EndBattleText1 ; TextEndBattle - dw PokemonTower3EndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_POKEMONTOWER_3_TRAINER_0, 2, PokemonTower3BattleText1, PokemonTower3EndBattleText1, PokemonTower3AfterBattleText1 PokemonTower3TrainerHeader1: - dbEventFlagBit EVENT_BEAT_POKEMONTOWER_3_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_3_TRAINER_1 - dw PokemonTower3BattleText2 ; TextBeforeBattle - dw PokemonTower3AfterBattleText2 ; TextAfterBattle - dw PokemonTower3EndBattleText2 ; TextEndBattle - dw PokemonTower3EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_POKEMONTOWER_3_TRAINER_1, 3, PokemonTower3BattleText2, PokemonTower3EndBattleText2, PokemonTower3AfterBattleText2 PokemonTower3TrainerHeader2: - dbEventFlagBit EVENT_BEAT_POKEMONTOWER_3_TRAINER_2 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_3_TRAINER_2 - dw PokemonTower3BattleText3 ; TextBeforeBattle - dw PokemonTower3AfterBattleText3 ; TextAfterBattle - dw PokemonTower3EndBattleText3 ; TextEndBattle - dw PokemonTower3EndBattleText3 ; TextEndBattle - db $ff + trainer EVENT_BEAT_POKEMONTOWER_3_TRAINER_2, 2, PokemonTower3BattleText3, PokemonTower3EndBattleText3, PokemonTower3AfterBattleText3 + db -1 ; end PokemonTower3Text1: text_asm diff --git a/scripts/PokemonTower4F.asm b/scripts/PokemonTower4F.asm index 17a679b2..e3431644 100755 --- a/scripts/PokemonTower4F.asm +++ b/scripts/PokemonTower4F.asm @@ -21,33 +21,12 @@ PokemonTower4F_TextPointers: dw PickUpItemText PokemonTower4TrainerHeader0: - dbEventFlagBit EVENT_BEAT_POKEMONTOWER_4_TRAINER_0 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_4_TRAINER_0 - dw PokemonTower4BattleText1 ; TextBeforeBattle - dw PokemonTower4AfterBattleText1 ; TextAfterBattle - dw PokemonTower4EndBattleText1 ; TextEndBattle - dw PokemonTower4EndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_POKEMONTOWER_4_TRAINER_0, 2, PokemonTower4BattleText1, PokemonTower4EndBattleText1, PokemonTower4AfterBattleText1 PokemonTower4TrainerHeader1: - dbEventFlagBit EVENT_BEAT_POKEMONTOWER_4_TRAINER_1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_4_TRAINER_1 - dw PokemonTower4BattleText2 ; TextBeforeBattle - dw PokemonTower4AfterBattleText2 ; TextAfterBattle - dw PokemonTower4EndBattleText2 ; TextEndBattle - dw PokemonTower4EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_POKEMONTOWER_4_TRAINER_1, 2, PokemonTower4BattleText2, PokemonTower4EndBattleText2, PokemonTower4AfterBattleText2 PokemonTower4TrainerHeader2: - dbEventFlagBit EVENT_BEAT_POKEMONTOWER_4_TRAINER_2 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_4_TRAINER_2 - dw PokemonTower4BattleText3 ; TextBeforeBattle - dw PokemonTower4AfterBattleText3 ; TextAfterBattle - dw PokemonTower4EndBattleText3 ; TextEndBattle - dw PokemonTower4EndBattleText3 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_POKEMONTOWER_4_TRAINER_2, 2, PokemonTower4BattleText3, PokemonTower4EndBattleText3, PokemonTower4AfterBattleText3 + db -1 ; end PokemonTower4Text1: text_asm diff --git a/scripts/PokemonTower5F.asm b/scripts/PokemonTower5F.asm index 8cd9f5d1..01d71755 100755 --- a/scripts/PokemonTower5F.asm +++ b/scripts/PokemonTower5F.asm @@ -58,42 +58,14 @@ PokemonTower5F_TextPointers: dw PokemonTower5Text7 PokemonTower5TrainerHeader0: - dbEventFlagBit EVENT_BEAT_POKEMONTOWER_5_TRAINER_0 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_5_TRAINER_0 - dw PokemonTower5BattleText1 ; TextBeforeBattle - dw PokemonTower5AfterBattleText1 ; TextAfterBattle - dw PokemonTower5EndBattleText1 ; TextEndBattle - dw PokemonTower5EndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_POKEMONTOWER_5_TRAINER_0, 2, PokemonTower5BattleText1, PokemonTower5EndBattleText1, PokemonTower5AfterBattleText1 PokemonTower5TrainerHeader1: - dbEventFlagBit EVENT_BEAT_POKEMONTOWER_5_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_5_TRAINER_1 - dw PokemonTower5BattleText2 ; TextBeforeBattle - dw PokemonTower5AfterBattleText2 ; TextAfterBattle - dw PokemonTower5EndBattleText2 ; TextEndBattle - dw PokemonTower5EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_POKEMONTOWER_5_TRAINER_1, 3, PokemonTower5BattleText2, PokemonTower5EndBattleText2, PokemonTower5AfterBattleText2 PokemonTower5TrainerHeader2: - dbEventFlagBit EVENT_BEAT_POKEMONTOWER_5_TRAINER_2 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_5_TRAINER_2 - dw PokemonTower5BattleText3 ; TextBeforeBattle - dw PokemonTower5AfterBattleText3 ; TextAfterBattle - dw PokemonTower5EndBattleText3 ; TextEndBattle - dw PokemonTower5EndBattleText3 ; TextEndBattle - + trainer EVENT_BEAT_POKEMONTOWER_5_TRAINER_2, 2, PokemonTower5BattleText3, PokemonTower5EndBattleText3, PokemonTower5AfterBattleText3 PokemonTower5TrainerHeader3: - dbEventFlagBit EVENT_BEAT_POKEMONTOWER_5_TRAINER_3 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_5_TRAINER_3 - dw PokemonTower5BattleText4 ; TextBeforeBattle - dw PokemonTower5AfterBattleText4 ; TextAfterBattle - dw PokemonTower5EndBattleText4 ; TextEndBattle - dw PokemonTower5EndBattleText4 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_POKEMONTOWER_5_TRAINER_3, 2, PokemonTower5BattleText4, PokemonTower5EndBattleText4, PokemonTower5AfterBattleText4 + db -1 ; end PokemonTower5Text1: text_far _PokemonTower5Text1 diff --git a/scripts/PokemonTower6F.asm b/scripts/PokemonTower6F.asm index 9ed36a7b..3c9e1f1d 100755 --- a/scripts/PokemonTower6F.asm +++ b/scripts/PokemonTower6F.asm @@ -104,33 +104,12 @@ PokemonTower6F_TextPointers: dw PokemonTower6Text7 PokemonTower6TrainerHeader0: - dbEventFlagBit EVENT_BEAT_POKEMONTOWER_6_TRAINER_0 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_6_TRAINER_0 - dw PokemonTower6BattleText1 ; TextBeforeBattle - dw PokemonTower6AfterBattleText1 ; TextAfterBattle - dw PokemonTower6EndBattleText1 ; TextEndBattle - dw PokemonTower6EndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_POKEMONTOWER_6_TRAINER_0, 3, PokemonTower6BattleText1, PokemonTower6EndBattleText1, PokemonTower6AfterBattleText1 PokemonTower6TrainerHeader1: - dbEventFlagBit EVENT_BEAT_POKEMONTOWER_6_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_6_TRAINER_1 - dw PokemonTower6BattleText2 ; TextBeforeBattle - dw PokemonTower6AfterBattleText2 ; TextAfterBattle - dw PokemonTower6EndBattleText2 ; TextEndBattle - dw PokemonTower6EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_POKEMONTOWER_6_TRAINER_1, 3, PokemonTower6BattleText2, PokemonTower6EndBattleText2, PokemonTower6AfterBattleText2 PokemonTower6TrainerHeader2: - dbEventFlagBit EVENT_BEAT_POKEMONTOWER_6_TRAINER_2 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_6_TRAINER_2 - dw PokemonTower6BattleText3 ; TextBeforeBattle - dw PokemonTower6AfterBattleText3 ; TextAfterBattle - dw PokemonTower6EndBattleText3 ; TextEndBattle - dw PokemonTower6EndBattleText3 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_POKEMONTOWER_6_TRAINER_2, 2, PokemonTower6BattleText3, PokemonTower6EndBattleText3, PokemonTower6AfterBattleText3 + db -1 ; end PokemonTower6Text1: text_asm diff --git a/scripts/PokemonTower7F.asm b/scripts/PokemonTower7F.asm index f32e1a7c..91022ce4 100755 --- a/scripts/PokemonTower7F.asm +++ b/scripts/PokemonTower7F.asm @@ -205,33 +205,12 @@ PokemonTower7F_TextPointers: dw PokemonTower7FujiText PokemonTower7TrainerHeader0: - dbEventFlagBit EVENT_BEAT_POKEMONTOWER_7_TRAINER_0 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_7_TRAINER_0 - dw PokemonTower7BattleText1 ; TextBeforeBattle - dw PokemonTower7AfterBattleText1 ; TextAfterBattle - dw PokemonTower7EndBattleText1 ; TextEndBattle - dw PokemonTower7EndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_POKEMONTOWER_7_TRAINER_0, 3, PokemonTower7BattleText1, PokemonTower7EndBattleText1, PokemonTower7AfterBattleText1 PokemonTower7TrainerHeader1: - dbEventFlagBit EVENT_BEAT_POKEMONTOWER_7_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_7_TRAINER_1 - dw PokemonTower7BattleText2 ; TextBeforeBattle - dw PokemonTower7AfterBattleText2 ; TextAfterBattle - dw PokemonTower7EndBattleText2 ; TextEndBattle - dw PokemonTower7EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_POKEMONTOWER_7_TRAINER_1, 3, PokemonTower7BattleText2, PokemonTower7EndBattleText2, PokemonTower7AfterBattleText2 PokemonTower7TrainerHeader2: - dbEventFlagBit EVENT_BEAT_POKEMONTOWER_7_TRAINER_2 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_POKEMONTOWER_7_TRAINER_2 - dw PokemonTower7BattleText3 ; TextBeforeBattle - dw PokemonTower7AfterBattleText3 ; TextAfterBattle - dw PokemonTower7EndBattleText3 ; TextEndBattle - dw PokemonTower7EndBattleText3 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_POKEMONTOWER_7_TRAINER_2, 3, PokemonTower7BattleText3, PokemonTower7EndBattleText3, PokemonTower7AfterBattleText3 + db -1 ; end PokemonTower7Text1: text_asm diff --git a/scripts/PowerPlant.asm b/scripts/PowerPlant.asm index c5c0e0e9..76859218 100755 --- a/scripts/PowerPlant.asm +++ b/scripts/PowerPlant.asm @@ -29,87 +29,24 @@ PowerPlant_TextPointers: dw PickUpItemText Voltorb0TrainerHeader: - dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_0 - db 0 ; view range - dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_0 - dw VoltorbBattleText ; TextBeforeBattle - dw VoltorbBattleText ; TextAfterBattle - dw VoltorbBattleText ; TextEndBattle - dw VoltorbBattleText ; TextEndBattle - + trainer EVENT_BEAT_POWER_PLANT_VOLTORB_0, 0, VoltorbBattleText, VoltorbBattleText, VoltorbBattleText Voltorb1TrainerHeader: - dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_1 - db 0 ; view range - dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_1 - dw VoltorbBattleText ; TextBeforeBattle - dw VoltorbBattleText ; TextAfterBattle - dw VoltorbBattleText ; TextEndBattle - dw VoltorbBattleText ; TextEndBattle - + trainer EVENT_BEAT_POWER_PLANT_VOLTORB_1, 0, VoltorbBattleText, VoltorbBattleText, VoltorbBattleText Voltorb2TrainerHeader: - dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_2 - db 0 ; view range - dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_2 - dw VoltorbBattleText ; TextBeforeBattle - dw VoltorbBattleText ; TextAfterBattle - dw VoltorbBattleText ; TextEndBattle - dw VoltorbBattleText ; TextEndBattle - + trainer EVENT_BEAT_POWER_PLANT_VOLTORB_2, 0, VoltorbBattleText, VoltorbBattleText, VoltorbBattleText Voltorb3TrainerHeader: - dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_3 - db 0 ; view range - dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_3 - dw VoltorbBattleText ; TextBeforeBattle - dw VoltorbBattleText ; TextAfterBattle - dw VoltorbBattleText ; TextEndBattle - dw VoltorbBattleText ; TextEndBattle - + trainer EVENT_BEAT_POWER_PLANT_VOLTORB_3, 0, VoltorbBattleText, VoltorbBattleText, VoltorbBattleText Voltorb4TrainerHeader: - dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_4 - db 0 ; view range - dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_4 - dw VoltorbBattleText ; TextBeforeBattle - dw VoltorbBattleText ; TextAfterBattle - dw VoltorbBattleText ; TextEndBattle - dw VoltorbBattleText ; TextEndBattle - + trainer EVENT_BEAT_POWER_PLANT_VOLTORB_4, 0, VoltorbBattleText, VoltorbBattleText, VoltorbBattleText Voltorb5TrainerHeader: - dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_5 - db 0 ; view range - dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_5 - dw VoltorbBattleText ; TextBeforeBattle - dw VoltorbBattleText ; TextAfterBattle - dw VoltorbBattleText ; TextEndBattle - dw VoltorbBattleText ; TextEndBattle - + trainer EVENT_BEAT_POWER_PLANT_VOLTORB_5, 0, VoltorbBattleText, VoltorbBattleText, VoltorbBattleText Voltorb6TrainerHeader: - dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_6 - db 0 ; view range - dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_6 - dw VoltorbBattleText ; TextBeforeBattle - dw VoltorbBattleText ; TextAfterBattle - dw VoltorbBattleText ; TextEndBattle - dw VoltorbBattleText ; TextEndBattle - + trainer EVENT_BEAT_POWER_PLANT_VOLTORB_6, 0, VoltorbBattleText, VoltorbBattleText, VoltorbBattleText Voltorb7TrainerHeader: - dbEventFlagBit EVENT_BEAT_POWER_PLANT_VOLTORB_7, 1 - db 0 ; view range - dwEventFlagAddress EVENT_BEAT_POWER_PLANT_VOLTORB_7, 1 - dw VoltorbBattleText ; TextBeforeBattle - dw VoltorbBattleText ; TextAfterBattle - dw VoltorbBattleText ; TextEndBattle - dw VoltorbBattleText ; TextEndBattle - + trainer EVENT_BEAT_POWER_PLANT_VOLTORB_7, 1, 0, VoltorbBattleText, VoltorbBattleText, VoltorbBattleText ZapdosTrainerHeader: - dbEventFlagBit EVENT_BEAT_ZAPDOS, 1 - db 0 ; view range - dwEventFlagAddress EVENT_BEAT_ZAPDOS, 1 - dw ZapdosBattleText ; TextBeforeBattle - dw ZapdosBattleText ; TextAfterBattle - dw ZapdosBattleText ; TextEndBattle - dw ZapdosBattleText ; TextEndBattle - - db $ff + trainer EVENT_BEAT_ZAPDOS, 1, 0, ZapdosBattleText, ZapdosBattleText, ZapdosBattleText + db -1 ; end InitVoltorbBattle: call TalkToTrainer diff --git a/scripts/RockTunnel1F.asm b/scripts/RockTunnel1F.asm index 41645f4a..606e0317 100755 --- a/scripts/RockTunnel1F.asm +++ b/scripts/RockTunnel1F.asm @@ -23,69 +23,20 @@ RockTunnel1F_TextPointers: dw RockTunnel1Text8 RockTunnel1TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_0 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_0 - dw RockTunnel1BattleText1 ; TextBeforeBattle - dw RockTunnel1AfterBattleText1 ; TextAfterBattle - dw RockTunnel1EndBattleText1 ; TextEndBattle - dw RockTunnel1EndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_0, 4, RockTunnel1BattleText1, RockTunnel1EndBattleText1, RockTunnel1AfterBattleText1 RockTunnel1TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_1 - dw RockTunnel1BattleText2 ; TextBeforeBattle - dw RockTunnel1AfterBattleText2 ; TextAfterBattle - dw RockTunnel1EndBattleText2 ; TextEndBattle - dw RockTunnel1EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_1, 4, RockTunnel1BattleText2, RockTunnel1EndBattleText2, RockTunnel1AfterBattleText2 RockTunnel1TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_2 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_2 - dw RockTunnel1BattleText3 ; TextBeforeBattle - dw RockTunnel1AfterBattleText3 ; TextAfterBattle - dw RockTunnel1EndBattleText3 ; TextEndBattle - dw RockTunnel1EndBattleText3 ; TextEndBattle - + trainer EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_2, 3, RockTunnel1BattleText3, RockTunnel1EndBattleText3, RockTunnel1AfterBattleText3 RockTunnel1TrainerHeader3: - dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_3 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_3 - dw RockTunnel1BattleText4 ; TextBeforeBattle - dw RockTunnel1AfterBattleText4 ; TextAfterBattle - dw RockTunnel1EndBattleText4 ; TextEndBattle - dw RockTunnel1EndBattleText4 ; TextEndBattle - + trainer EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_3, 3, RockTunnel1BattleText4, RockTunnel1EndBattleText4, RockTunnel1AfterBattleText4 RockTunnel1TrainerHeader4: - dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_4 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_4 - dw RockTunnel1BattleText5 ; TextBeforeBattle - dw RockTunnel1AfterBattleText5 ; TextAfterBattle - dw RockTunnel1EndBattleText5 ; TextEndBattle - dw RockTunnel1EndBattleText5 ; TextEndBattle - + trainer EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_4, 4, RockTunnel1BattleText5, RockTunnel1EndBattleText5, RockTunnel1AfterBattleText5 RockTunnel1TrainerHeader5: - dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_5 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_5 - dw RockTunnel1BattleText6 ; TextBeforeBattle - dw RockTunnel1AfterBattleText6 ; TextAfterBattle - dw RockTunnel1EndBattleText6 ; TextEndBattle - dw RockTunnel1EndBattleText6 ; TextEndBattle - + trainer EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_5, 4, RockTunnel1BattleText6, RockTunnel1EndBattleText6, RockTunnel1AfterBattleText6 RockTunnel1TrainerHeader6: - dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_6 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_6 - dw RockTunnel1BattleText7 ; TextBeforeBattle - dw RockTunnel1AfterBattleText7 ; TextAfterBattle - dw RockTunnel1EndBattleText7 ; TextEndBattle - dw RockTunnel1EndBattleText7 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_6, 4, RockTunnel1BattleText7, RockTunnel1EndBattleText7, RockTunnel1AfterBattleText7 + db -1 ; end RockTunnel1Text1: text_asm diff --git a/scripts/RockTunnelB1F.asm b/scripts/RockTunnelB1F.asm index 2a96ae49..9cba9c3e 100755 --- a/scripts/RockTunnelB1F.asm +++ b/scripts/RockTunnelB1F.asm @@ -23,78 +23,22 @@ RockTunnelB1F_TextPointers: dw RockTunnel2Text8 RockTunnel2TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_0 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_0 - dw RockTunnel2BattleText2 ; TextBeforeBattle - dw RockTunnel2AfterBattleText2 ; TextAfterBattle - dw RockTunnel2EndBattleText2 ; TextEndBattle - dw RockTunnel2EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_0, 4, RockTunnel2BattleText2, RockTunnel2EndBattleText2, RockTunnel2AfterBattleText2 RockTunnel2TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_1 - dw RockTunnel2BattleText3 ; TextBeforeBattle - dw RockTunnel2AfterBattleText3 ; TextAfterBattle - dw RockTunnel2EndBattleText3 ; TextEndBattle - dw RockTunnel2EndBattleText3 ; TextEndBattle - + trainer EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_1, 3, RockTunnel2BattleText3, RockTunnel2EndBattleText3, RockTunnel2AfterBattleText3 RockTunnel2TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_2 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_2 - dw RockTunnel2BattleText4 ; TextBeforeBattle - dw RockTunnel2AfterBattleText4 ; TextAfterBattle - dw RockTunnel2EndBattleText4 ; TextEndBattle - dw RockTunnel2EndBattleText4 ; TextEndBattle - + trainer EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_2, 3, RockTunnel2BattleText4, RockTunnel2EndBattleText4, RockTunnel2AfterBattleText4 RockTunnel2TrainerHeader3: - dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_3 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_3 - dw RockTunnel2BattleText5 ; TextBeforeBattle - dw RockTunnel2AfterBattleText5 ; TextAfterBattle - dw RockTunnel2EndBattleText5 ; TextEndBattle - dw RockTunnel2EndBattleText5 ; TextEndBattle - + trainer EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_3, 4, RockTunnel2BattleText5, RockTunnel2EndBattleText5, RockTunnel2AfterBattleText5 RockTunnel2TrainerHeader4: - dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_4 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_4 - dw RockTunnel2BattleText6 ; TextBeforeBattle - dw RockTunnel2AfterBattleText6 ; TextAfterBattle - dw RockTunnel2EndBattleText6 ; TextEndBattle - dw RockTunnel2EndBattleText6 ; TextEndBattle - + trainer EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_4, 3, RockTunnel2BattleText6, RockTunnel2EndBattleText6, RockTunnel2AfterBattleText6 RockTunnel2TrainerHeader5: - dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_5 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_5 - dw RockTunnel2BattleText7 ; TextBeforeBattle - dw RockTunnel2AfterBattleText7 ; TextAfterBattle - dw RockTunnel2EndBattleText7 ; TextEndBattle - dw RockTunnel2EndBattleText7 ; TextEndBattle - + trainer EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_5, 4, RockTunnel2BattleText7, RockTunnel2EndBattleText7, RockTunnel2AfterBattleText7 RockTunnel2TrainerHeader6: - dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_6 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_6 - dw RockTunnel2BattleText8 ; TextBeforeBattle - dw RockTunnel2AfterBattleText8 ; TextAfterBattle - dw RockTunnel2EndBattleText8 ; TextEndBattle - dw RockTunnel2EndBattleText8 ; TextEndBattle - + trainer EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_6, 3, RockTunnel2BattleText8, RockTunnel2EndBattleText8, RockTunnel2AfterBattleText8 RockTunnel2TrainerHeader7: - dbEventFlagBit EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_7, 1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_7, 1 - dw RockTunnel2BattleText9 ; TextBeforeBattle - dw RockTunnel2AfterBattleText9 ; TextAfterBattle - dw RockTunnel2EndBattleText9 ; TextEndBattle - dw RockTunnel2EndBattleText9 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_7, 1, 3, RockTunnel2BattleText9, RockTunnel2EndBattleText9, RockTunnel2AfterBattleText9 + db -1 ; end RockTunnel2Text1: text_asm diff --git a/scripts/RocketHideoutB1F.asm b/scripts/RocketHideoutB1F.asm index 762a6b72..f20c0892 100755 --- a/scripts/RocketHideoutB1F.asm +++ b/scripts/RocketHideoutB1F.asm @@ -45,51 +45,16 @@ RocketHideoutB1F_TextPointers: dw PickUpItemText RocketHideout1TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_0 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_0 - dw RocketHideout1BattleText2 ; TextBeforeBattle - dw RocketHideout1AfterBattleTxt2 ; TextAfterBattle - dw RocketHideout1EndBattleText2 ; TextEndBattle - dw RocketHideout1EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_0, 3, RocketHideout1BattleText2, RocketHideout1EndBattleText2, RocketHideout1AfterBattleTxt2 RocketHideout1TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_1 - dw RocketHideout1BattleText3 ; TextBeforeBattle - dw RocketHideout1AfterBattleTxt3 ; TextAfterBattle - dw RocketHideout1EndBattleText3 ; TextEndBattle - dw RocketHideout1EndBattleText3 ; TextEndBattle - + trainer EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_1, 2, RocketHideout1BattleText3, RocketHideout1EndBattleText3, RocketHideout1AfterBattleTxt3 RocketHideout1TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_2 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_2 - dw RocketHideout1BattleText4 ; TextBeforeBattle - dw RocketHideout1AfterBattleTxt4 ; TextAfterBattle - dw RocketHideout1EndBattleText4 ; TextEndBattle - dw RocketHideout1EndBattleText4 ; TextEndBattle - + trainer EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_2, 2, RocketHideout1BattleText4, RocketHideout1EndBattleText4, RocketHideout1AfterBattleTxt4 RocketHideout1TrainerHeader3: - dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_3 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_3 - dw RocketHideout1BattleText5 ; TextBeforeBattle - dw RocketHideout1AfterBattleTxt5 ; TextAfterBattle - dw RocketHideout1EndBattleText5 ; TextEndBattle - dw RocketHideout1EndBattleText5 ; TextEndBattle - + trainer EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_3, 3, RocketHideout1BattleText5, RocketHideout1EndBattleText5, RocketHideout1AfterBattleTxt5 RocketHideout1TrainerHeader4: - dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4 - dw RocketHideout1BattleText6 ; TextBeforeBattle - dw RocketHideout1AfterBattleTxt6 ; TextAfterBattle - dw RocketHideout1EndBattleText6 ; TextEndBattle - dw RocketHideout1EndBattleText6 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4, 3, RocketHideout1BattleText6, RocketHideout1EndBattleText6, RocketHideout1AfterBattleTxt6 + db -1 ; end RocketHideout1Text1: text_asm diff --git a/scripts/RocketHideoutB2F.asm b/scripts/RocketHideoutB2F.asm index c4cda325..85f26c31 100755 --- a/scripts/RocketHideoutB2F.asm +++ b/scripts/RocketHideoutB2F.asm @@ -323,15 +323,8 @@ RocketHideoutB2F_TextPointers: dw PickUpItemText RocketHideout2TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_2_TRAINER_0 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_2_TRAINER_0 - dw RocketHideout2BattleText2 ; TextBeforeBattle - dw RocketHideout2AfterBattleTxt2 ; TextAfterBattle - dw RocketHideout2EndBattleText2 ; TextEndBattle - dw RocketHideout2EndBattleText2 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_ROCKET_HIDEOUT_2_TRAINER_0, 4, RocketHideout2BattleText2, RocketHideout2EndBattleText2, RocketHideout2AfterBattleTxt2 + db -1 ; end RocketHideout2Text1: text_asm diff --git a/scripts/RocketHideoutB3F.asm b/scripts/RocketHideoutB3F.asm index 09a47a1d..3a8b2290 100755 --- a/scripts/RocketHideoutB3F.asm +++ b/scripts/RocketHideoutB3F.asm @@ -150,24 +150,10 @@ RocketHideoutB3F_TextPointers: dw PickUpItemText RocketHideout3TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_0 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_0 - dw RocketHideout3BattleText2 ; TextBeforeBattle - dw RocketHideout3AfterBattleTxt2 ; TextAfterBattle - dw RocketHideout3EndBattleText2 ; TextEndBattle - dw RocketHideout3EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_0, 2, RocketHideout3BattleText2, RocketHideout3EndBattleText2, RocketHideout3AfterBattleTxt2 RocketHideout3TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_1 - dw RocketHideout3BattleTxt ; TextBeforeBattle - dw RocketHideout3AfterBattleText3 ; TextAfterBattle - dw RocketHideout3EndBattleText3 ; TextEndBattle - dw RocketHideout3EndBattleText3 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_1, 4, RocketHideout3BattleTxt, RocketHideout3EndBattleText3, RocketHideout3AfterBattleText3 + db -1 ; end RocketHideout3Text1: text_asm diff --git a/scripts/RocketHideoutB4F.asm b/scripts/RocketHideoutB4F.asm index f33ef6e2..bc13da12 100755 --- a/scripts/RocketHideoutB4F.asm +++ b/scripts/RocketHideoutB4F.asm @@ -85,33 +85,12 @@ RocketHideoutB4F_TextPointers: dw RocketHideout4Text10 RocketHideout4TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0 - db ($0 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0 - dw RocketHideout4BattleText2 ; TextBeforeBattle - dw RocketHideout4AfterBattleText2 ; TextAfterBattle - dw RocketHideout4EndBattleText2 ; TextEndBattle - dw RocketHideout4EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0, 0, RocketHideout4BattleText2, RocketHideout4EndBattleText2, RocketHideout4AfterBattleText2 RocketHideout4TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_1 - db ($0 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_1 - dw RocketHideout4BattleText3 ; TextBeforeBattle - dw RocketHideout4AfterBattleText3 ; TextAfterBattle - dw RocketHideout4EndBattleText3 ; TextEndBattle - dw RocketHideout4EndBattleText3 ; TextEndBattle - + trainer EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_1, 0, RocketHideout4BattleText3, RocketHideout4EndBattleText3, RocketHideout4AfterBattleText3 RocketHideout4TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_2 - db ($1 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_2 - dw RocketHideout4BattleText4 ; TextBeforeBattle - dw RocketHideout4AfterBattleText4 ; TextAfterBattle - dw RocketHideout4EndBattleText4 ; TextEndBattle - dw RocketHideout4EndBattleText4 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_2, 1, RocketHideout4BattleText4, RocketHideout4EndBattleText4, RocketHideout4AfterBattleText4 + db -1 ; end RocketHideout4Text1: text_asm diff --git a/scripts/Route10.asm b/scripts/Route10.asm index 99b9313f..93012b9a 100755 --- a/scripts/Route10.asm +++ b/scripts/Route10.asm @@ -25,60 +25,18 @@ Route10_TextPointers: dw Route10Text10 Route10TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_0 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_0 - dw Route10BattleText1 ; TextBeforeBattle - dw Route10AfterBattleText1 ; TextAfterBattle - dw Route10EndBattleText1 ; TextEndBattle - dw Route10EndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_10_TRAINER_0, 4, Route10BattleText1, Route10EndBattleText1, Route10AfterBattleText1 Route10TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_1 - dw Route10BattleText2 ; TextBeforeBattle - dw Route10AfterBattleText2 ; TextAfterBattle - dw Route10EndBattleText2 ; TextEndBattle - dw Route10EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_10_TRAINER_1, 3, Route10BattleText2, Route10EndBattleText2, Route10AfterBattleText2 Route10TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_2 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_2 - dw Route10BattleText3 ; TextBeforeBattle - dw Route10AfterBattleText3 ; TextAfterBattle - dw Route10EndBattleText3 ; TextEndBattle - dw Route10EndBattleText3 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_10_TRAINER_2, 4, Route10BattleText3, Route10EndBattleText3, Route10AfterBattleText3 Route10TrainerHeader3: - dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_3 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_3 - dw Route10BattleText4 ; TextBeforeBattle - dw Route10AfterBattleText4 ; TextAfterBattle - dw Route10EndBattleText4 ; TextEndBattle - dw Route10EndBattleText4 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_10_TRAINER_3, 3, Route10BattleText4, Route10EndBattleText4, Route10AfterBattleText4 Route10TrainerHeader4: - dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_4 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_4 - dw Route10BattleText5 ; TextBeforeBattle - dw Route10AfterBattleText5 ; TextAfterBattle - dw Route10EndBattleText5 ; TextEndBattle - dw Route10EndBattleText5 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_10_TRAINER_4, 2, Route10BattleText5, Route10EndBattleText5, Route10AfterBattleText5 Route10TrainerHeader5: - dbEventFlagBit EVENT_BEAT_ROUTE_10_TRAINER_5 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_10_TRAINER_5 - dw Route10BattleText6 ; TextBeforeBattle - dw Route10AfterBattleText6 ; TextAfterBattle - dw Route10EndBattleText6 ; TextEndBattle - dw Route10EndBattleText6 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_ROUTE_10_TRAINER_5, 2, Route10BattleText6, Route10EndBattleText6, Route10AfterBattleText6 + db -1 ; end Route10Text1: text_asm diff --git a/scripts/Route11.asm b/scripts/Route11.asm index 9fe26966..924c0276 100755 --- a/scripts/Route11.asm +++ b/scripts/Route11.asm @@ -26,96 +26,26 @@ Route11_TextPointers: dw Route11Text11 Route11TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_0 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_0 - dw Route11BattleText1 ; TextBeforeBattle - dw Route11AfterBattleText1 ; TextAfterBattle - dw Route11EndBattleText1 ; TextEndBattle - dw Route11EndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_11_TRAINER_0, 3, Route11BattleText1, Route11EndBattleText1, Route11AfterBattleText1 Route11TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_1 - dw Route11BattleText2 ; TextBeforeBattle - dw Route11AfterBattleText2 ; TextAfterBattle - dw Route11EndBattleText2 ; TextEndBattle - dw Route11EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_11_TRAINER_1, 2, Route11BattleText2, Route11EndBattleText2, Route11AfterBattleText2 Route11TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_2 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_2 - dw Route11BattleText3 ; TextBeforeBattle - dw Route11AfterBattleText3 ; TextAfterBattle - dw Route11EndBattleText3 ; TextEndBattle - dw Route11EndBattleText3 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_11_TRAINER_2, 3, Route11BattleText3, Route11EndBattleText3, Route11AfterBattleText3 Route11TrainerHeader3: - dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_3 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_3 - dw Route11BattleText4 ; TextBeforeBattle - dw Route11AfterBattleText4 ; TextAfterBattle - dw Route11EndBattleText4 ; TextEndBattle - dw Route11EndBattleText4 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_11_TRAINER_3, 3, Route11BattleText4, Route11EndBattleText4, Route11AfterBattleText4 Route11TrainerHeader4: - dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_4 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_4 - dw Route11BattleText5 ; TextBeforeBattle - dw Route11AfterBattleText5 ; TextAfterBattle - dw Route11EndBattleText5 ; TextEndBattle - dw Route11EndBattleText5 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_11_TRAINER_4, 4, Route11BattleText5, Route11EndBattleText5, Route11AfterBattleText5 Route11TrainerHeader5: - dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_5 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_5 - dw Route11BattleText6 ; TextBeforeBattle - dw Route11AfterBattleText6 ; TextAfterBattle - dw Route11EndBattleText6 ; TextEndBattle - dw Route11EndBattleText6 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_11_TRAINER_5, 3, Route11BattleText6, Route11EndBattleText6, Route11AfterBattleText6 Route11TrainerHeader6: - dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_6 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_6 - dw Route11BattleText7 ; TextBeforeBattle - dw Route11AfterBattleText7 ; TextAfterBattle - dw Route11EndBattleText7 ; TextEndBattle - dw Route11EndBattleText7 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_11_TRAINER_6, 3, Route11BattleText7, Route11EndBattleText7, Route11AfterBattleText7 Route11TrainerHeader7: - dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_7, 1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_7, 1 - dw Route11BattleText8 ; TextBeforeBattle - dw Route11AfterBattleText8 ; TextAfterBattle - dw Route11EndBattleText8 ; TextEndBattle - dw Route11EndBattleText8 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_11_TRAINER_7, 1, 4, Route11BattleText8, Route11EndBattleText8, Route11AfterBattleText8 Route11TrainerHeader8: - dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_8, 1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_8, 1 - dw Route11BattleText9 ; TextBeforeBattle - dw Route11AfterBattleText9 ; TextAfterBattle - dw Route11EndBattleText9 ; TextEndBattle - dw Route11EndBattleText9 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_11_TRAINER_8, 1, 3, Route11BattleText9, Route11EndBattleText9, Route11AfterBattleText9 Route11TrainerHeader9: - dbEventFlagBit EVENT_BEAT_ROUTE_11_TRAINER_9, 1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_11_TRAINER_9, 1 - dw Route11BattleText10 ; TextBeforeBattle - dw Route11AfterBattleText10 ; TextAfterBattle - dw Route11EndBattleText10 ; TextEndBattle - dw Route11EndBattleText10 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_ROUTE_11_TRAINER_9, 1, 4, Route11BattleText10, Route11EndBattleText10, Route11AfterBattleText10 + db -1 ; end Route11Text1: text_asm diff --git a/scripts/Route12.asm b/scripts/Route12.asm index 87052fd6..3c0d77e1 100755 --- a/scripts/Route12.asm +++ b/scripts/Route12.asm @@ -77,69 +77,20 @@ Route12_TextPointers: dw Route12Text14 Route12TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_0 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_0 - dw Route12BattleText1 ; TextBeforeBattle - dw Route12AfterBattleText1 ; TextAfterBattle - dw Route12EndBattleText1 ; TextEndBattle - dw Route12EndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_12_TRAINER_0, 4, Route12BattleText1, Route12EndBattleText1, Route12AfterBattleText1 Route12TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_1 - dw Route12BattleText2 ; TextBeforeBattle - dw Route12AfterBattleText2 ; TextAfterBattle - dw Route12EndBattleText2 ; TextEndBattle - dw Route12EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_12_TRAINER_1, 4, Route12BattleText2, Route12EndBattleText2, Route12AfterBattleText2 Route12TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_2 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_2 - dw Route12BattleText3 ; TextBeforeBattle - dw Route12AfterBattleText3 ; TextAfterBattle - dw Route12EndBattleText3 ; TextEndBattle - dw Route12EndBattleText3 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_12_TRAINER_2, 4, Route12BattleText3, Route12EndBattleText3, Route12AfterBattleText3 Route12TrainerHeader3: - dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_3 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_3 - dw Route12BattleText4 ; TextBeforeBattle - dw Route12AfterBattleText4 ; TextAfterBattle - dw Route12EndBattleText4 ; TextEndBattle - dw Route12EndBattleText4 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_12_TRAINER_3, 4, Route12BattleText4, Route12EndBattleText4, Route12AfterBattleText4 Route12TrainerHeader4: - dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_4 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_4 - dw Route12BattleText5 ; TextBeforeBattle - dw Route12AfterBattleText5 ; TextAfterBattle - dw Route12EndBattleText5 ; TextEndBattle - dw Route12EndBattleText5 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_12_TRAINER_4, 4, Route12BattleText5, Route12EndBattleText5, Route12AfterBattleText5 Route12TrainerHeader5: - dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_5 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_5 - dw Route12BattleText6 ; TextBeforeBattle - dw Route12AfterBattleText6 ; TextAfterBattle - dw Route12EndBattleText6 ; TextEndBattle - dw Route12EndBattleText6 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_12_TRAINER_5, 4, Route12BattleText6, Route12EndBattleText6, Route12AfterBattleText6 Route12TrainerHeader6: - dbEventFlagBit EVENT_BEAT_ROUTE_12_TRAINER_6, 1 - db ($1 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_12_TRAINER_6, 1 - dw Route12BattleText7 ; TextBeforeBattle - dw Route12AfterBattleText7 ; TextAfterBattle - dw Route12EndBattleText7 ; TextEndBattle - dw Route12EndBattleText7 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_ROUTE_12_TRAINER_6, 1, 1, Route12BattleText7, Route12EndBattleText7, Route12AfterBattleText7 + db -1 ; end Route12Text1: text_far _Route12Text1 diff --git a/scripts/Route13.asm b/scripts/Route13.asm index 9d3b3540..c01ed514 100755 --- a/scripts/Route13.asm +++ b/scripts/Route13.asm @@ -28,96 +28,26 @@ Route13_TextPointers: dw Route13Text13 Route13TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_0 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_0 - dw Route13BattleText2 ; TextBeforeBattle - dw Route13AfterBattleText2 ; TextAfterBattle - dw Route13EndBattleText2 ; TextEndBattle - dw Route13EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_13_TRAINER_0, 2, Route13BattleText2, Route13EndBattleText2, Route13AfterBattleText2 Route13TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_1 - dw Route13BattleText3 ; TextBeforeBattle - dw Route13AfterBattleText3 ; TextAfterBattle - dw Route13EndBattleText3 ; TextEndBattle - dw Route13EndBattleText3 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_13_TRAINER_1, 2, Route13BattleText3, Route13EndBattleText3, Route13AfterBattleText3 Route13TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_2 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_2 - dw Route13BattleText4 ; TextBeforeBattle - dw Route13AfterBattleText4 ; TextAfterBattle - dw Route13EndBattleText4 ; TextEndBattle - dw Route13EndBattleText4 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_13_TRAINER_2, 2, Route13BattleText4, Route13EndBattleText4, Route13AfterBattleText4 Route13TrainerHeader3: - dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_3 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_3 - dw Route13BattleText5 ; TextBeforeBattle - dw Route13AfterBattleText5 ; TextAfterBattle - dw Route13EndBattleText5 ; TextEndBattle - dw Route13EndBattleText5 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_13_TRAINER_3, 2, Route13BattleText5, Route13EndBattleText5, Route13AfterBattleText5 Route13TrainerHeader4: - dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_4 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_4 - dw Route13BattleText6 ; TextBeforeBattle - dw Route13AfterBattleText6 ; TextAfterBattle - dw Route13EndBattleText6 ; TextEndBattle - dw Route13EndBattleText6 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_13_TRAINER_4, 4, Route13BattleText6, Route13EndBattleText6, Route13AfterBattleText6 Route13TrainerHeader5: - dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_5 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_5 - dw Route13BattleText7 ; TextBeforeBattle - dw Route13AfterBattleText7 ; TextAfterBattle - dw Route13EndBattleText7 ; TextEndBattle - dw Route13EndBattleText7 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_13_TRAINER_5, 2, Route13BattleText7, Route13EndBattleText7, Route13AfterBattleText7 Route13TrainerHeader6: - dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_6 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_6 - dw Route13BattleText8 ; TextBeforeBattle - dw Route13AfterBattleText8 ; TextAfterBattle - dw Route13EndBattleText8 ; TextEndBattle - dw Route13EndBattleText8 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_13_TRAINER_6, 4, Route13BattleText8, Route13EndBattleText8, Route13AfterBattleText8 Route13TrainerHeader7: - dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_7, 1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_7, 1 - dw Route13BattleText9 ; TextBeforeBattle - dw Route13AfterBattleText9 ; TextAfterBattle - dw Route13EndBattleText9 ; TextEndBattle - dw Route13EndBattleText9 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_13_TRAINER_7, 1, 2, Route13BattleText9, Route13EndBattleText9, Route13AfterBattleText9 Route13TrainerHeader8: - dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_8, 1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_8, 1 - dw Route13BattleText10 ; TextBeforeBattle - dw Route13AfterBattleText10 ; TextAfterBattle - dw Route13EndBattleText10 ; TextEndBattle - dw Route13EndBattleText10 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_13_TRAINER_8, 1, 2, Route13BattleText10, Route13EndBattleText10, Route13AfterBattleText10 Route13TrainerHeader9: - dbEventFlagBit EVENT_BEAT_ROUTE_13_TRAINER_9, 1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_13_TRAINER_9, 1 - dw Route13BattleText11 ; TextBeforeBattle - dw Route13AfterBattleText11 ; TextAfterBattle - dw Route13EndBattleText11 ; TextEndBattle - dw Route13EndBattleText11 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_ROUTE_13_TRAINER_9, 1, 4, Route13BattleText11, Route13EndBattleText11, Route13AfterBattleText11 + db -1 ; end Route13Text1: text_asm diff --git a/scripts/Route14.asm b/scripts/Route14.asm index 20a02e75..988fbe32 100755 --- a/scripts/Route14.asm +++ b/scripts/Route14.asm @@ -26,96 +26,26 @@ Route14_TextPointers: dw Route14Text11 Route14TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_0 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_0 - dw Route14BattleText1 ; TextBeforeBattle - dw Route14AfterBattleText1 ; TextAfterBattle - dw Route14EndBattleText1 ; TextEndBattle - dw Route14EndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_14_TRAINER_0, 2, Route14BattleText1, Route14EndBattleText1, Route14AfterBattleText1 Route14TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_1 - dw Route14BattleText2 ; TextBeforeBattle - dw Route14AfterBattleText2 ; TextAfterBattle - dw Route14EndBattleText2 ; TextEndBattle - dw Route14EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_14_TRAINER_1, 2, Route14BattleText2, Route14EndBattleText2, Route14AfterBattleText2 Route14TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_2 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_2 - dw Route14BattleText3 ; TextBeforeBattle - dw Route14AfterBattleText3 ; TextAfterBattle - dw Route14EndBattleText3 ; TextEndBattle - dw Route14EndBattleText3 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_14_TRAINER_2, 4, Route14BattleText3, Route14EndBattleText3, Route14AfterBattleText3 Route14TrainerHeader3: - dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_3 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_3 - dw Route14BattleText4 ; TextBeforeBattle - dw Route14AfterBattleText4 ; TextAfterBattle - dw Route14EndBattleText4 ; TextEndBattle - dw Route14EndBattleText4 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_14_TRAINER_3, 3, Route14BattleText4, Route14EndBattleText4, Route14AfterBattleText4 Route14TrainerHeader4: - dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_4 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_4 - dw Route14BattleText5 ; TextBeforeBattle - dw Route14AfterBattleText5 ; TextAfterBattle - dw Route14EndBattleText5 ; TextEndBattle - dw Route14EndBattleText5 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_14_TRAINER_4, 3, Route14BattleText5, Route14EndBattleText5, Route14AfterBattleText5 Route14TrainerHeader5: - dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_5 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_5 - dw Route14BattleText6 ; TextBeforeBattle - dw Route14AfterBattleText6 ; TextAfterBattle - dw Route14EndBattleText6 ; TextEndBattle - dw Route14EndBattleText6 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_14_TRAINER_5, 4, Route14BattleText6, Route14EndBattleText6, Route14AfterBattleText6 Route14TrainerHeader6: - dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_6 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_6 - dw Route14BattleText7 ; TextBeforeBattle - dw Route14AfterBattleText7 ; TextAfterBattle - dw Route14EndBattleText7 ; TextEndBattle - dw Route14EndBattleText7 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_14_TRAINER_6, 4, Route14BattleText7, Route14EndBattleText7, Route14AfterBattleText7 Route14TrainerHeader7: - dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_7, 1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_7, 1 - dw Route14BattleText8 ; TextBeforeBattle - dw Route14AfterBattleText8 ; TextAfterBattle - dw Route14EndBattleText8 ; TextEndBattle - dw Route14EndBattleText8 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_14_TRAINER_7, 1, 4, Route14BattleText8, Route14EndBattleText8, Route14AfterBattleText8 Route14TrainerHeader8: - dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_8, 1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_8, 1 - dw Route14BattleText9 ; TextBeforeBattle - dw Route14AfterBattleText9 ; TextAfterBattle - dw Route14EndBattleText9 ; TextEndBattle - dw Route14EndBattleText9 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_14_TRAINER_8, 1, 3, Route14BattleText9, Route14EndBattleText9, Route14AfterBattleText9 Route14TrainerHeader9: - dbEventFlagBit EVENT_BEAT_ROUTE_14_TRAINER_9, 1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_14_TRAINER_9, 1 - dw Route14BattleText10 ; TextBeforeBattle - dw Route14AfterBattleText10 ; TextAfterBattle - dw Route14EndBattleText10 ; TextEndBattle - dw Route14EndBattleText10 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_ROUTE_14_TRAINER_9, 1, 4, Route14BattleText10, Route14EndBattleText10, Route14AfterBattleText10 + db -1 ; end Route14Text1: text_asm diff --git a/scripts/Route15.asm b/scripts/Route15.asm index e0a4c62d..3eed25d5 100755 --- a/scripts/Route15.asm +++ b/scripts/Route15.asm @@ -27,96 +27,26 @@ Route15_TextPointers: dw Route15Text12 Route15TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_0 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_0 - dw Route15BattleText1 ; TextBeforeBattle - dw Route15AfterBattleText1 ; TextAfterBattle - dw Route15EndBattleText1 ; TextEndBattle - dw Route15EndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_15_TRAINER_0, 2, Route15BattleText1, Route15EndBattleText1, Route15AfterBattleText1 Route15TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_1 - dw Route15BattleText2 ; TextBeforeBattle - dw Route15AfterBattleText2 ; TextAfterBattle - dw Route15EndBattleText2 ; TextEndBattle - dw Route15EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_15_TRAINER_1, 3, Route15BattleText2, Route15EndBattleText2, Route15AfterBattleText2 Route15TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_2 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_2 - dw Route15BattleText3 ; TextBeforeBattle - dw Route15AfterBattleText3 ; TextAfterBattle - dw Route15EndBattleText3 ; TextEndBattle - dw Route15EndBattleText3 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_15_TRAINER_2, 3, Route15BattleText3, Route15EndBattleText3, Route15AfterBattleText3 Route15TrainerHeader3: - dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_3 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_3 - dw Route15BattleText4 ; TextBeforeBattle - dw Route15AfterBattleText4 ; TextAfterBattle - dw Route15EndBattleText4 ; TextEndBattle - dw Route15EndBattleText4 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_15_TRAINER_3, 3, Route15BattleText4, Route15EndBattleText4, Route15AfterBattleText4 Route15TrainerHeader4: - dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_4 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_4 - dw Route15BattleText5 ; TextBeforeBattle - dw Route15AfterBattleText5 ; TextAfterBattle - dw Route15EndBattleText5 ; TextEndBattle - dw Route15EndBattleText5 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_15_TRAINER_4, 2, Route15BattleText5, Route15EndBattleText5, Route15AfterBattleText5 Route15TrainerHeader5: - dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_5 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_5 - dw Route15BattleText6 ; TextBeforeBattle - dw Route15AfterBattleText6 ; TextAfterBattle - dw Route15EndBattleText6 ; TextEndBattle - dw Route15EndBattleText6 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_15_TRAINER_5, 3, Route15BattleText6, Route15EndBattleText6, Route15AfterBattleText6 Route15TrainerHeader6: - dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_6 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_6 - dw Route15BattleText7 ; TextBeforeBattle - dw Route15AfterBattleText7 ; TextAfterBattle - dw Route15EndBattleText7 ; TextEndBattle - dw Route15EndBattleText7 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_15_TRAINER_6, 3, Route15BattleText7, Route15EndBattleText7, Route15AfterBattleText7 Route15TrainerHeader7: - dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_7, 1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_7, 1 - dw Route15BattleText8 ; TextBeforeBattle - dw Route15AfterBattleText8 ; TextAfterBattle - dw Route15EndBattleText8 ; TextEndBattle - dw Route15EndBattleText8 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_15_TRAINER_7, 1, 3, Route15BattleText8, Route15EndBattleText8, Route15AfterBattleText8 Route15TrainerHeader8: - dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_8, 1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_8, 1 - dw Route15BattleText9 ; TextBeforeBattle - dw Route15AfterBattleText9 ; TextAfterBattle - dw Route15EndBattleText9 ; TextEndBattle - dw Route15EndBattleText9 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_15_TRAINER_8, 1, 3, Route15BattleText9, Route15EndBattleText9, Route15AfterBattleText9 Route15TrainerHeader9: - dbEventFlagBit EVENT_BEAT_ROUTE_15_TRAINER_9, 1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_15_TRAINER_9, 1 - dw Route15BattleText10 ; TextBeforeBattle - dw Route15AfterBattleText10 ; TextAfterBattle - dw Route15EndBattleText10 ; TextEndBattle - dw Route15EndBattleText10 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_ROUTE_15_TRAINER_9, 1, 3, Route15BattleText10, Route15EndBattleText10, Route15AfterBattleText10 + db -1 ; end Route15Text1: text_asm diff --git a/scripts/Route16.asm b/scripts/Route16.asm index bd80a918..e7b1eb9a 100755 --- a/scripts/Route16.asm +++ b/scripts/Route16.asm @@ -75,60 +75,18 @@ Route16_TextPointers: dw Route16Text11 Route16TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_0 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_0 - dw Route16BattleText1 ; TextBeforeBattle - dw Route16AfterBattleText1 ; TextAfterBattle - dw Route16EndBattleText1 ; TextEndBattle - dw Route16EndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_16_TRAINER_0, 3, Route16BattleText1, Route16EndBattleText1, Route16AfterBattleText1 Route16TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_1 - dw Route16BattleText2 ; TextBeforeBattle - dw Route16AfterBattleText2 ; TextAfterBattle - dw Route16EndBattleText2 ; TextEndBattle - dw Route16EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_16_TRAINER_1, 2, Route16BattleText2, Route16EndBattleText2, Route16AfterBattleText2 Route16TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_2 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_2 - dw Route16BattleText3 ; TextBeforeBattle - dw Route16AfterBattleText3 ; TextAfterBattle - dw Route16EndBattleText3 ; TextEndBattle - dw Route16EndBattleText3 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_16_TRAINER_2, 2, Route16BattleText3, Route16EndBattleText3, Route16AfterBattleText3 Route16TrainerHeader3: - dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_3 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_3 - dw Route16BattleText4 ; TextBeforeBattle - dw Route16AfterBattleText4 ; TextAfterBattle - dw Route16EndBattleText4 ; TextEndBattle - dw Route16EndBattleText4 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_16_TRAINER_3, 2, Route16BattleText4, Route16EndBattleText4, Route16AfterBattleText4 Route16TrainerHeader4: - dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_4 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_4 - dw Route16BattleText5 ; TextBeforeBattle - dw Route16AfterBattleText5 ; TextAfterBattle - dw Route16EndBattleText5 ; TextEndBattle - dw Route16EndBattleText5 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_16_TRAINER_4, 2, Route16BattleText5, Route16EndBattleText5, Route16AfterBattleText5 Route16TrainerHeader5: - dbEventFlagBit EVENT_BEAT_ROUTE_16_TRAINER_5 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_16_TRAINER_5 - dw Route16BattleText6 ; TextBeforeBattle - dw Route16AfterBattleText6 ; TextAfterBattle - dw Route16EndBattleText6 ; TextEndBattle - dw Route16EndBattleText6 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_ROUTE_16_TRAINER_5, 4, Route16BattleText6, Route16EndBattleText6, Route16AfterBattleText6 + db -1 ; end Route16Text1: text_asm diff --git a/scripts/Route17.asm b/scripts/Route17.asm index 4c580e06..27693f9f 100755 --- a/scripts/Route17.asm +++ b/scripts/Route17.asm @@ -31,96 +31,26 @@ Route17_TextPointers: dw Route17Text16 Route17TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_0 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_0 - dw Route17BattleText1 ; TextBeforeBattle - dw Route17AfterBattleText1 ; TextAfterBattle - dw Route17EndBattleText1 ; TextEndBattle - dw Route17EndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_17_TRAINER_0, 3, Route17BattleText1, Route17EndBattleText1, Route17AfterBattleText1 Route17TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_1 - dw Route17BattleText2 ; TextBeforeBattle - dw Route17AfterBattleText2 ; TextAfterBattle - dw Route17EndBattleText2 ; TextEndBattle - dw Route17EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_17_TRAINER_1, 4, Route17BattleText2, Route17EndBattleText2, Route17AfterBattleText2 Route17TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_2 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_2 - dw Route17BattleText3 ; TextBeforeBattle - dw Route17AfterBattleText3 ; TextAfterBattle - dw Route17EndBattleText3 ; TextEndBattle - dw Route17EndBattleText3 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_17_TRAINER_2, 4, Route17BattleText3, Route17EndBattleText3, Route17AfterBattleText3 Route17TrainerHeader3: - dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_3 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_3 - dw Route17BattleText4 ; TextBeforeBattle - dw Route17AfterBattleText4 ; TextAfterBattle - dw Route17EndBattleText4 ; TextEndBattle - dw Route17EndBattleText4 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_17_TRAINER_3, 4, Route17BattleText4, Route17EndBattleText4, Route17AfterBattleText4 Route17TrainerHeader4: - dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_4 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_4 - dw Route17BattleText5 ; TextBeforeBattle - dw Route17AfterBattleText5 ; TextAfterBattle - dw Route17EndBattleText5 ; TextEndBattle - dw Route17EndBattleText5 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_17_TRAINER_4, 3, Route17BattleText5, Route17EndBattleText5, Route17AfterBattleText5 Route17TrainerHeader5: - dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_5 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_5 - dw Route17BattleText6 ; TextBeforeBattle - dw Route17AfterBattleText6 ; TextAfterBattle - dw Route17EndBattleText6 ; TextEndBattle - dw Route17EndBattleText6 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_17_TRAINER_5, 2, Route17BattleText6, Route17EndBattleText6, Route17AfterBattleText6 Route17TrainerHeader6: - dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_6 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_6 - dw Route17BattleText7 ; TextBeforeBattle - dw Route17AfterBattleText7 ; TextAfterBattle - dw Route17EndBattleText7 ; TextEndBattle - dw Route17EndBattleText7 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_17_TRAINER_6, 4, Route17BattleText7, Route17EndBattleText7, Route17AfterBattleText7 Route17TrainerHeader7: - dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_7, 1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_7, 1 - dw Route17BattleText8 ; TextBeforeBattle - dw Route17AfterBattleText8 ; TextAfterBattle - dw Route17EndBattleText8 ; TextEndBattle - dw Route17EndBattleText8 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_17_TRAINER_7, 1, 2, Route17BattleText8, Route17EndBattleText8, Route17AfterBattleText8 Route17TrainerHeader8: - dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_8, 1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_8, 1 - dw Route17BattleText9 ; TextBeforeBattle - dw Route17AfterBattleText9 ; TextAfterBattle - dw Route17EndBattleText9 ; TextEndBattle - dw Route17EndBattleText9 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_17_TRAINER_8, 1, 3, Route17BattleText9, Route17EndBattleText9, Route17AfterBattleText9 Route17TrainerHeader9: - dbEventFlagBit EVENT_BEAT_ROUTE_17_TRAINER_9, 1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_17_TRAINER_9, 1 - dw Route17BattleText10 ; TextBeforeBattle - dw Route17AfterBattleText10 ; TextAfterBattle - dw Route17EndBattleText10 ; TextEndBattle - dw Route17EndBattleText10 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_ROUTE_17_TRAINER_9, 1, 4, Route17BattleText10, Route17EndBattleText10, Route17AfterBattleText10 + db -1 ; end Route17Text1: text_asm diff --git a/scripts/Route18.asm b/scripts/Route18.asm index 85d3efd3..f6738fc6 100755 --- a/scripts/Route18.asm +++ b/scripts/Route18.asm @@ -20,33 +20,12 @@ Route18_TextPointers: dw Route18Text5 Route18TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROUTE_18_TRAINER_0 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_18_TRAINER_0 - dw Route18BattleText1 ; TextBeforeBattle - dw Route18AfterBattleText1 ; TextAfterBattle - dw Route18EndBattleText1 ; TextEndBattle - dw Route18EndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_18_TRAINER_0, 3, Route18BattleText1, Route18EndBattleText1, Route18AfterBattleText1 Route18TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROUTE_18_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_18_TRAINER_1 - dw Route18BattleText2 ; TextBeforeBattle - dw Route18AfterBattleText2 ; TextAfterBattle - dw Route18EndBattleText2 ; TextEndBattle - dw Route18EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_18_TRAINER_1, 3, Route18BattleText2, Route18EndBattleText2, Route18AfterBattleText2 Route18TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROUTE_18_TRAINER_2 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_18_TRAINER_2 - dw Route18BattleText3 ; TextBeforeBattle - dw Route18AfterBattleText3 ; TextAfterBattle - dw Route18EndBattleText3 ; TextEndBattle - dw Route18EndBattleText3 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_ROUTE_18_TRAINER_2, 4, Route18BattleText3, Route18EndBattleText3, Route18AfterBattleText3 + db -1 ; end Route18Text1: text_asm diff --git a/scripts/Route19.asm b/scripts/Route19.asm index c26e3a12..8d0c9629 100755 --- a/scripts/Route19.asm +++ b/scripts/Route19.asm @@ -26,96 +26,26 @@ Route19_TextPointers: dw Route19Text11 Route19TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_0 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_0 - dw Route19BattleText1 ; TextBeforeBattle - dw Route19AfterBattleText1 ; TextAfterBattle - dw Route19EndBattleText1 ; TextEndBattle - dw Route19EndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_19_TRAINER_0, 4, Route19BattleText1, Route19EndBattleText1, Route19AfterBattleText1 Route19TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_1 - dw Route19BattleText2 ; TextBeforeBattle - dw Route19AfterBattleText2 ; TextAfterBattle - dw Route19EndBattleText2 ; TextEndBattle - dw Route19EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_19_TRAINER_1, 3, Route19BattleText2, Route19EndBattleText2, Route19AfterBattleText2 Route19TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_2 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_2 - dw Route19BattleText3 ; TextBeforeBattle - dw Route19AfterBattleText3 ; TextAfterBattle - dw Route19EndBattleText3 ; TextEndBattle - dw Route19EndBattleText3 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_19_TRAINER_2, 3, Route19BattleText3, Route19EndBattleText3, Route19AfterBattleText3 Route19TrainerHeader3: - dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_3 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_3 - dw Route19BattleText4 ; TextBeforeBattle - dw Route19AfterBattleText4 ; TextAfterBattle - dw Route19EndBattleText4 ; TextEndBattle - dw Route19EndBattleText4 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_19_TRAINER_3, 4, Route19BattleText4, Route19EndBattleText4, Route19AfterBattleText4 Route19TrainerHeader4: - dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_4 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_4 - dw Route19BattleText5 ; TextBeforeBattle - dw Route19AfterBattleText5 ; TextAfterBattle - dw Route19EndBattleText5 ; TextEndBattle - dw Route19EndBattleText5 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_19_TRAINER_4, 4, Route19BattleText5, Route19EndBattleText5, Route19AfterBattleText5 Route19TrainerHeader5: - dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_5 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_5 - dw Route19BattleText6 ; TextBeforeBattle - dw Route19AfterBattleText6 ; TextAfterBattle - dw Route19EndBattleText6 ; TextEndBattle - dw Route19EndBattleText6 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_19_TRAINER_5, 4, Route19BattleText6, Route19EndBattleText6, Route19AfterBattleText6 Route19TrainerHeader6: - dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_6 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_6 - dw Route19BattleText7 ; TextBeforeBattle - dw Route19AfterBattleText7 ; TextAfterBattle - dw Route19EndBattleText7 ; TextEndBattle - dw Route19EndBattleText7 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_19_TRAINER_6, 3, Route19BattleText7, Route19EndBattleText7, Route19AfterBattleText7 Route19TrainerHeader7: - dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_7, 1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_7, 1 - dw Route19BattleText8 ; TextBeforeBattle - dw Route19AfterBattleText8 ; TextAfterBattle - dw Route19EndBattleText8 ; TextEndBattle - dw Route19EndBattleText8 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_19_TRAINER_7, 1, 4, Route19BattleText8, Route19EndBattleText8, Route19AfterBattleText8 Route19TrainerHeader8: - dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_8, 1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_8, 1 - dw Route19BattleText9 ; TextBeforeBattle - dw Route19AfterBattleText9 ; TextAfterBattle - dw Route19EndBattleText9 ; TextEndBattle - dw Route19EndBattleText9 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_19_TRAINER_8, 1, 4, Route19BattleText9, Route19EndBattleText9, Route19AfterBattleText9 Route19TrainerHeader9: - dbEventFlagBit EVENT_BEAT_ROUTE_19_TRAINER_9, 1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_19_TRAINER_9, 1 - dw Route19BattleText10 ; TextBeforeBattle - dw Route19AfterBattleText10 ; TextAfterBattle - dw Route19EndBattleText10 ; TextEndBattle - dw Route19EndBattleText10 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_ROUTE_19_TRAINER_9, 1, 4, Route19BattleText10, Route19EndBattleText10, Route19AfterBattleText10 + db -1 ; end Route19Text1: text_asm diff --git a/scripts/Route20.asm b/scripts/Route20.asm index 393bc7da..e83382d7 100755 --- a/scripts/Route20.asm +++ b/scripts/Route20.asm @@ -76,96 +76,26 @@ Route20_TextPointers: dw Route20Text12 Route20TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_0 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_0 - dw Route20BattleText1 ; TextBeforeBattle - dw Route20AfterBattleText1 ; TextAfterBattle - dw Route20EndBattleText1 ; TextEndBattle - dw Route20EndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_20_TRAINER_0, 4, Route20BattleText1, Route20EndBattleText1, Route20AfterBattleText1 Route20TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_1 - dw Route20BattleText2 ; TextBeforeBattle - dw Route20AfterBattleText2 ; TextAfterBattle - dw Route20EndBattleText2 ; TextEndBattle - dw Route20EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_20_TRAINER_1, 4, Route20BattleText2, Route20EndBattleText2, Route20AfterBattleText2 Route20TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_2 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_2 - dw Route20BattleText3 ; TextBeforeBattle - dw Route20AfterBattleText3 ; TextAfterBattle - dw Route20EndBattleText3 ; TextEndBattle - dw Route20EndBattleText3 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_20_TRAINER_2, 2, Route20BattleText3, Route20EndBattleText3, Route20AfterBattleText3 Route20TrainerHeader3: - dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_3 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_3 - dw Route20BattleText4 ; TextBeforeBattle - dw Route20AfterBattleText4 ; TextAfterBattle - dw Route20EndBattleText4 ; TextEndBattle - dw Route20EndBattleText4 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_20_TRAINER_3, 4, Route20BattleText4, Route20EndBattleText4, Route20AfterBattleText4 Route20TrainerHeader4: - dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_4 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_4 - dw Route20BattleText5 ; TextBeforeBattle - dw Route20AfterBattleText5 ; TextAfterBattle - dw Route20EndBattleText5 ; TextEndBattle - dw Route20EndBattleText5 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_20_TRAINER_4, 3, Route20BattleText5, Route20EndBattleText5, Route20AfterBattleText5 Route20TrainerHeader5: - dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_5 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_5 - dw Route20BattleText6 ; TextBeforeBattle - dw Route20AfterBattleText6 ; TextAfterBattle - dw Route20EndBattleText6 ; TextEndBattle - dw Route20EndBattleText6 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_20_TRAINER_5, 4, Route20BattleText6, Route20EndBattleText6, Route20AfterBattleText6 Route20TrainerHeader6: - dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_6 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_6 - dw Route20BattleText7 ; TextBeforeBattle - dw Route20AfterBattleText7 ; TextAfterBattle - dw Route20EndBattleText7 ; TextEndBattle - dw Route20EndBattleText7 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_20_TRAINER_6, 2, Route20BattleText7, Route20EndBattleText7, Route20AfterBattleText7 Route20TrainerHeader7: - dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_7, 1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_7, 1 - dw Route20BattleText8 ; TextBeforeBattle - dw Route20AfterBattleText8 ; TextAfterBattle - dw Route20EndBattleText8 ; TextEndBattle - dw Route20EndBattleText8 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_20_TRAINER_7, 1, 4, Route20BattleText8, Route20EndBattleText8, Route20AfterBattleText8 Route20TrainerHeader8: - dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_8, 1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_8, 1 - dw Route20BattleText9 ; TextBeforeBattle - dw Route20AfterBattleText9 ; TextAfterBattle - dw Route20EndBattleText9 ; TextEndBattle - dw Route20EndBattleText9 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_20_TRAINER_8, 1, 3, Route20BattleText9, Route20EndBattleText9, Route20AfterBattleText9 Route20TrainerHeader9: - dbEventFlagBit EVENT_BEAT_ROUTE_20_TRAINER_9, 1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_20_TRAINER_9, 1 - dw Route20BattleText10 ; TextBeforeBattle - dw Route20AfterBattleText10 ; TextAfterBattle - dw Route20EndBattleText10 ; TextEndBattle - dw Route20EndBattleText10 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_ROUTE_20_TRAINER_9, 1, 4, Route20BattleText10, Route20EndBattleText10, Route20AfterBattleText10 + db -1 ; end Route20Text1: text_asm diff --git a/scripts/Route21.asm b/scripts/Route21.asm index 1df2f1c8..7afe350f 100755 --- a/scripts/Route21.asm +++ b/scripts/Route21.asm @@ -24,87 +24,24 @@ Route21_TextPointers: dw Route21Text9 Route21TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_0 - db ($0 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_0 - dw Route21BattleText1 ; TextBeforeBattle - dw Route21AfterBattleText1 ; TextAfterBattle - dw Route21EndBattleText1 ; TextEndBattle - dw Route21EndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_21_TRAINER_0, 0, Route21BattleText1, Route21EndBattleText1, Route21AfterBattleText1 Route21TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_1 - db ($0 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_1 - dw Route21BattleText2 ; TextBeforeBattle - dw Route21AfterBattleText2 ; TextAfterBattle - dw Route21EndBattleText2 ; TextEndBattle - dw Route21EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_21_TRAINER_1, 0, Route21BattleText2, Route21EndBattleText2, Route21AfterBattleText2 Route21TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_2 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_2 - dw Route21BattleText3 ; TextBeforeBattle - dw Route21AfterBattleText3 ; TextAfterBattle - dw Route21EndBattleText3 ; TextEndBattle - dw Route21EndBattleText3 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_21_TRAINER_2, 4, Route21BattleText3, Route21EndBattleText3, Route21AfterBattleText3 Route21TrainerHeader3: - dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_3 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_3 - dw Route21BattleText4 ; TextBeforeBattle - dw Route21AfterBattleText4 ; TextAfterBattle - dw Route21EndBattleText4 ; TextEndBattle - dw Route21EndBattleText4 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_21_TRAINER_3, 4, Route21BattleText4, Route21EndBattleText4, Route21AfterBattleText4 Route21TrainerHeader4: - dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_4 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_4 - dw Route21BattleText5 ; TextBeforeBattle - dw Route21AfterBattleText5 ; TextAfterBattle - dw Route21EndBattleText5 ; TextEndBattle - dw Route21EndBattleText5 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_21_TRAINER_4, 4, Route21BattleText5, Route21EndBattleText5, Route21AfterBattleText5 Route21TrainerHeader5: - dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_5 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_5 - dw Route21BattleText6 ; TextBeforeBattle - dw Route21AfterBattleText6 ; TextAfterBattle - dw Route21EndBattleText6 ; TextEndBattle - dw Route21EndBattleText6 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_21_TRAINER_5, 4, Route21BattleText6, Route21EndBattleText6, Route21AfterBattleText6 Route21TrainerHeader6: - dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_6 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_6 - dw Route21BattleText7 ; TextBeforeBattle - dw Route21AfterBattleText7 ; TextAfterBattle - dw Route21EndBattleText7 ; TextEndBattle - dw Route21EndBattleText7 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_21_TRAINER_6, 3, Route21BattleText7, Route21EndBattleText7, Route21AfterBattleText7 Route21TrainerHeader7: - dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_7, 1 - db ($0 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_7, 1 - dw Route21BattleText8 ; TextBeforeBattle - dw Route21AfterBattleText8 ; TextAfterBattle - dw Route21EndBattleText8 ; TextEndBattle - dw Route21EndBattleText8 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_21_TRAINER_7, 1, 0, Route21BattleText8, Route21EndBattleText8, Route21AfterBattleText8 Route21TrainerHeader8: - dbEventFlagBit EVENT_BEAT_ROUTE_21_TRAINER_8, 1 - db ($0 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_21_TRAINER_8, 1 - dw Route21BattleText9 ; TextBeforeBattle - dw Route21AfterBattleText9 ; TextAfterBattle - dw Route21EndBattleText9 ; TextEndBattle - dw Route21EndBattleText9 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_ROUTE_21_TRAINER_8, 1, 0, Route21BattleText9, Route21EndBattleText9, Route21AfterBattleText9 + db -1 ; end Route21Text1: text_asm diff --git a/scripts/Route24.asm b/scripts/Route24.asm index 22ef9aab..28151393 100755 --- a/scripts/Route24.asm +++ b/scripts/Route24.asm @@ -86,60 +86,18 @@ Route24_TextPointers: dw PickUpItemText Route24TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_0 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_0 - dw Route24BattleText1 ; TextBeforeBattle - dw Route24AfterBattleText1 ; TextAfterBattle - dw Route24EndBattleText1 ; TextEndBattle - dw Route24EndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_24_TRAINER_0, 4, Route24BattleText1, Route24EndBattleText1, Route24AfterBattleText1 Route24TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_1 - db ($1 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_1 - dw Route24BattleText2 ; TextBeforeBattle - dw Route24AfterBattleText2 ; TextAfterBattle - dw Route24EndBattleText2 ; TextEndBattle - dw Route24EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_24_TRAINER_1, 1, Route24BattleText2, Route24EndBattleText2, Route24AfterBattleText2 Route24TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_2 - db ($1 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_2 - dw Route24BattleText3 ; TextBeforeBattle - dw Route24AfterBattleText3 ; TextAfterBattle - dw Route24EndBattleText3 ; TextEndBattle - dw Route24EndBattleText3 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_24_TRAINER_2, 1, Route24BattleText3, Route24EndBattleText3, Route24AfterBattleText3 Route24TrainerHeader3: - dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_3 - db ($1 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_3 - dw Route24BattleText4 ; TextBeforeBattle - dw Route24AfterBattleText4 ; TextAfterBattle - dw Route24EndBattleText4 ; TextEndBattle - dw Route24EndBattleText4 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_24_TRAINER_3, 1, Route24BattleText4, Route24EndBattleText4, Route24AfterBattleText4 Route24TrainerHeader4: - dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_4 - db ($1 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_4 - dw Route24BattleText5 ; TextBeforeBattle - dw Route24AfterBattleText5 ; TextAfterBattle - dw Route24EndBattleText5 ; TextEndBattle - dw Route24EndBattleText5 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_24_TRAINER_4, 1, Route24BattleText5, Route24EndBattleText5, Route24AfterBattleText5 Route24TrainerHeader5: - dbEventFlagBit EVENT_BEAT_ROUTE_24_TRAINER_5 - db ($1 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_24_TRAINER_5 - dw Route24BattleText6 ; TextBeforeBattle - dw Route24AfterBattleText6 ; TextAfterBattle - dw Route24EndBattleText6 ; TextEndBattle - dw Route24EndBattleText6 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_ROUTE_24_TRAINER_5, 1, Route24BattleText6, Route24EndBattleText6, Route24AfterBattleText6 + db -1 ; end Route24Text1: text_asm diff --git a/scripts/Route25.asm b/scripts/Route25.asm index b4d8ad80..fba28bc4 100755 --- a/scripts/Route25.asm +++ b/scripts/Route25.asm @@ -54,87 +54,24 @@ Route25_TextPointers: dw Route25Text11 Route25TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_0 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_0 - dw Route25BattleText1 ; TextBeforeBattle - dw Route25AfterBattleText1 ; TextAfterBattle - dw Route25EndBattleText1 ; TextEndBattle - dw Route25EndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_25_TRAINER_0, 2, Route25BattleText1, Route25EndBattleText1, Route25AfterBattleText1 Route25TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_1 - dw Route25BattleText2 ; TextBeforeBattle - dw Route25AfterBattleText2 ; TextAfterBattle - dw Route25EndBattleText2 ; TextEndBattle - dw Route25EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_25_TRAINER_1, 3, Route25BattleText2, Route25EndBattleText2, Route25AfterBattleText2 Route25TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_2 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_2 - dw Route25BattleText3 ; TextBeforeBattle - dw Route25AfterBattleText3 ; TextAfterBattle - dw Route25EndBattleText3 ; TextEndBattle - dw Route25EndBattleText3 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_25_TRAINER_2, 3, Route25BattleText3, Route25EndBattleText3, Route25AfterBattleText3 Route25TrainerHeader3: - dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_3 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_3 - dw Route25BattleText4 ; TextBeforeBattle - dw Route25AfterBattleText4 ; TextAfterBattle - dw Route25EndBattleText4 ; TextEndBattle - dw Route25EndBattleText4 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_25_TRAINER_3, 2, Route25BattleText4, Route25EndBattleText4, Route25AfterBattleText4 Route25TrainerHeader4: - dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_4 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_4 - dw Route25BattleText5 ; TextBeforeBattle - dw Route25AfterBattleText5 ; TextAfterBattle - dw Route25EndBattleText5 ; TextEndBattle - dw Route25EndBattleText5 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_25_TRAINER_4, 4, Route25BattleText5, Route25EndBattleText5, Route25AfterBattleText5 Route25TrainerHeader5: - dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_5 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_5 - dw Route25BattleText6 ; TextBeforeBattle - dw Route25AfterBattleText6 ; TextAfterBattle - dw Route25EndBattleText6 ; TextEndBattle - dw Route25EndBattleText6 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_25_TRAINER_5, 4, Route25BattleText6, Route25EndBattleText6, Route25AfterBattleText6 Route25TrainerHeader6: - dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_6 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_6 - dw Route25BattleText7 ; TextBeforeBattle - dw Route25AfterBattleText7 ; TextAfterBattle - dw Route25EndBattleText7 ; TextEndBattle - dw Route25EndBattleText7 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_25_TRAINER_6, 3, Route25BattleText7, Route25EndBattleText7, Route25AfterBattleText7 Route25TrainerHeader7: - dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_7, 1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_7, 1 - dw Route25BattleText8 ; TextBeforeBattle - dw Route25AfterBattleText8 ; TextAfterBattle - dw Route25EndBattleText8 ; TextEndBattle - dw Route25EndBattleText8 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_25_TRAINER_7, 1, 2, Route25BattleText8, Route25EndBattleText8, Route25AfterBattleText8 Route25TrainerHeader8: - dbEventFlagBit EVENT_BEAT_ROUTE_25_TRAINER_8, 1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_25_TRAINER_8, 1 - dw Route25BattleText9 ; TextBeforeBattle - dw Route25AfterBattleText9 ; TextAfterBattle - dw Route25EndBattleText9 ; TextEndBattle - dw Route25EndBattleText9 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_ROUTE_25_TRAINER_8, 1, 2, Route25BattleText9, Route25EndBattleText9, Route25AfterBattleText9 + db -1 ; end Route25Text1: text_asm diff --git a/scripts/Route3.asm b/scripts/Route3.asm index 91fcadc2..74140b40 100755 --- a/scripts/Route3.asm +++ b/scripts/Route3.asm @@ -25,78 +25,22 @@ Route3_TextPointers: dw Route3Text10 Route3TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_0 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_0 - dw Route3BattleText1 ; TextBeforeBattle - dw Route3AfterBattleText1 ; TextAfterBattle - dw Route3EndBattleText1 ; TextEndBattle - dw Route3EndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_3_TRAINER_0, 2, Route3BattleText1, Route3EndBattleText1, Route3AfterBattleText1 Route3TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_1 - dw Route3BattleText2 ; TextBeforeBattle - dw Route3AfterBattleText2 ; TextAfterBattle - dw Route3EndBattleText2 ; TextEndBattle - dw Route3EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_3_TRAINER_1, 3, Route3BattleText2, Route3EndBattleText2, Route3AfterBattleText2 Route3TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_2 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_2 - dw Route3BattleText3 ; TextBeforeBattle - dw Route3AfterBattleText3 ; TextAfterBattle - dw Route3EndBattleText3 ; TextEndBattle - dw Route3EndBattleText3 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_3_TRAINER_2, 2, Route3BattleText3, Route3EndBattleText3, Route3AfterBattleText3 Route3TrainerHeader3: - dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_3 - db ($1 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_3 - dw Route3BattleText4 ; TextBeforeBattle - dw Route3AfterBattleText4 ; TextAfterBattle - dw Route3EndBattleText4 ; TextEndBattle - dw Route3EndBattleText4 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_3_TRAINER_3, 1, Route3BattleText4, Route3EndBattleText4, Route3AfterBattleText4 Route3TrainerHeader4: - dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_4 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_4 - dw Route3BattleText5 ; TextBeforeBattle - dw Route3AfterBattleText5 ; TextAfterBattle - dw Route3EndBattleText5 ; TextEndBattle - dw Route3EndBattleText5 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_3_TRAINER_4, 4, Route3BattleText5, Route3EndBattleText5, Route3AfterBattleText5 Route3TrainerHeader5: - dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_5 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_5 - dw Route3BattleText6 ; TextBeforeBattle - dw Route3AfterBattleText6 ; TextAfterBattle - dw Route3EndBattleText6 ; TextEndBattle - dw Route3EndBattleText6 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_3_TRAINER_5, 3, Route3BattleText6, Route3EndBattleText6, Route3AfterBattleText6 Route3TrainerHeader6: - dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_6, 1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_6, 1 - dw Route3BattleText7 ; TextBeforeBattle - dw Route3AfterBattleText7 ; TextAfterBattle - dw Route3EndBattleText7 ; TextEndBattle - dw Route3EndBattleText7 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_3_TRAINER_6, 1, 3, Route3BattleText7, Route3EndBattleText7, Route3AfterBattleText7 Route3TrainerHeader7: - dbEventFlagBit EVENT_BEAT_ROUTE_3_TRAINER_7, 1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_3_TRAINER_7, 1 - dw Route3BattleText8 ; TextBeforeBattle - dw Route3AfterBattleText8 ; TextAfterBattle - dw Route3EndBattleText8 ; TextEndBattle - dw Route3EndBattleText8 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_ROUTE_3_TRAINER_7, 1, 2, Route3BattleText8, Route3EndBattleText8, Route3AfterBattleText8 + db -1 ; end Route3Text1: text_far _Route3Text1 diff --git a/scripts/Route4.asm b/scripts/Route4.asm index ef1d6302..b69a88c7 100755 --- a/scripts/Route4.asm +++ b/scripts/Route4.asm @@ -21,15 +21,8 @@ Route4_TextPointers: dw Route4Text6 Route4TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROUTE_4_TRAINER_0 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_4_TRAINER_0 - dw Route4BattleText1 ; TextBeforeBattle - dw Route4AfterBattleText1 ; TextAfterBattle - dw Route4EndBattleText1 ; TextEndBattle - dw Route4EndBattleText1 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_ROUTE_4_TRAINER_0, 3, Route4BattleText1, Route4EndBattleText1, Route4AfterBattleText1 + db -1 ; end Route4Text1: text_far _Route4Text1 diff --git a/scripts/Route6.asm b/scripts/Route6.asm index b649ba47..36883e09 100755 --- a/scripts/Route6.asm +++ b/scripts/Route6.asm @@ -22,60 +22,18 @@ Route6_TextPointers: dw Route6Text7 Route6TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_0 - db ($0 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_0 - dw Route6BattleText1 ; TextBeforeBattle - dw Route6AfterBattleText1 ; TextAfterBattle - dw Route6EndBattleText1 ; TextEndBattle - dw Route6EndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_6_TRAINER_0, 0, Route6BattleText1, Route6EndBattleText1, Route6AfterBattleText1 Route6TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_1 - db ($0 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_1 - dw Route6BattleText2 ; TextBeforeBattle - dw Route6AfterBattleText1 ; TextAfterBattle - dw Route6EndBattleText2 ; TextEndBattle - dw Route6EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_6_TRAINER_1, 0, Route6BattleText2, Route6EndBattleText2, Route6AfterBattleText1 Route6TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_2 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_2 - dw Route6BattleText3 ; TextBeforeBattle - dw Route6AfterBattleText3 ; TextAfterBattle - dw Route6EndBattleText3 ; TextEndBattle - dw Route6EndBattleText3 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_6_TRAINER_2, 4, Route6BattleText3, Route6EndBattleText3, Route6AfterBattleText3 Route6TrainerHeader3: - dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_3 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_3 - dw Route6BattleText4 ; TextBeforeBattle - dw Route6AfterBattleText4 ; TextAfterBattle - dw Route6EndBattleText4 ; TextEndBattle - dw Route6EndBattleText4 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_6_TRAINER_3, 3, Route6BattleText4, Route6EndBattleText4, Route6AfterBattleText4 Route6TrainerHeader4: - dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_4 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_4 - dw Route6BattleText5 ; TextBeforeBattle - dw Route6AfterBattleText5 ; TextAfterBattle - dw Route6EndBattleText5 ; TextEndBattle - dw Route6EndBattleText5 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_6_TRAINER_4, 3, Route6BattleText5, Route6EndBattleText5, Route6AfterBattleText5 Route6TrainerHeader5: - dbEventFlagBit EVENT_BEAT_ROUTE_6_TRAINER_5 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_6_TRAINER_5 - dw Route6BattleText6 ; TextBeforeBattle - dw Route6AfterBattleText6 ; TextAfterBattle - dw Route6EndBattleText6 ; TextEndBattle - dw Route6EndBattleText6 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_ROUTE_6_TRAINER_5, 3, Route6BattleText6, Route6EndBattleText6, Route6AfterBattleText6 + db -1 ; end Route6Text1: text_asm diff --git a/scripts/Route8.asm b/scripts/Route8.asm index c52b6c3c..f50167c0 100755 --- a/scripts/Route8.asm +++ b/scripts/Route8.asm @@ -25,87 +25,24 @@ Route8_TextPointers: dw Route8Text10 Route8TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_0 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_0 - dw Route8BattleText1 ; TextBeforeBattle - dw Route8AfterBattleText1 ; TextAfterBattle - dw Route8EndBattleText1 ; TextEndBattle - dw Route8EndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_8_TRAINER_0, 4, Route8BattleText1, Route8EndBattleText1, Route8AfterBattleText1 Route8TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_1 - dw Route8BattleText2 ; TextBeforeBattle - dw Route8AfterBattleText2 ; TextAfterBattle - dw Route8EndBattleText2 ; TextEndBattle - dw Route8EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_8_TRAINER_1, 4, Route8BattleText2, Route8EndBattleText2, Route8AfterBattleText2 Route8TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_2 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_2 - dw Route8BattleText3 ; TextBeforeBattle - dw Route8AfterBattleText3 ; TextAfterBattle - dw Route8EndBattleText3 ; TextEndBattle - dw Route8EndBattleText3 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_8_TRAINER_2, 4, Route8BattleText3, Route8EndBattleText3, Route8AfterBattleText3 Route8TrainerHeader3: - dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_3 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_3 - dw Route8BattleText4 ; TextBeforeBattle - dw Route8AfterBattleText4 ; TextAfterBattle - dw Route8EndBattleText4 ; TextEndBattle - dw Route8EndBattleText4 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_8_TRAINER_3, 2, Route8BattleText4, Route8EndBattleText4, Route8AfterBattleText4 Route8TrainerHeader4: - dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_4 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_4 - dw Route8BattleText5 ; TextBeforeBattle - dw Route8AfterBattleText5 ; TextAfterBattle - dw Route8EndBattleText5 ; TextEndBattle - dw Route8EndBattleText5 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_8_TRAINER_4, 3, Route8BattleText5, Route8EndBattleText5, Route8AfterBattleText5 Route8TrainerHeader5: - dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_5 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_5 - dw Route8BattleText6 ; TextBeforeBattle - dw Route8AfterBattleText6 ; TextAfterBattle - dw Route8EndBattleText6 ; TextEndBattle - dw Route8EndBattleText6 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_8_TRAINER_5, 3, Route8BattleText6, Route8EndBattleText6, Route8AfterBattleText6 Route8TrainerHeader6: - dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_6 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_6 - dw Route8BattleText7 ; TextBeforeBattle - dw Route8AfterBattleText7 ; TextAfterBattle - dw Route8EndBattleText7 ; TextEndBattle - dw Route8EndBattleText7 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_8_TRAINER_6, 2, Route8BattleText7, Route8EndBattleText7, Route8AfterBattleText7 Route8TrainerHeader7: - dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_7, 1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_7, 1 - dw Route8BattleText8 ; TextBeforeBattle - dw Route8AfterBattleText8 ; TextAfterBattle - dw Route8EndBattleText8 ; TextEndBattle - dw Route8EndBattleText8 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_8_TRAINER_7, 1, 2, Route8BattleText8, Route8EndBattleText8, Route8AfterBattleText8 Route8TrainerHeader8: - dbEventFlagBit EVENT_BEAT_ROUTE_8_TRAINER_8, 1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_8_TRAINER_8, 1 - dw Route8BattleText9 ; TextBeforeBattle - dw Route8AfterBattleText9 ; TextAfterBattle - dw Route8EndBattleText9 ; TextEndBattle - dw Route8EndBattleText9 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_ROUTE_8_TRAINER_8, 1, 4, Route8BattleText9, Route8EndBattleText9, Route8AfterBattleText9 + db -1 ; end Route8Text1: text_asm diff --git a/scripts/Route9.asm b/scripts/Route9.asm index b7911209..5dc060c4 100755 --- a/scripts/Route9.asm +++ b/scripts/Route9.asm @@ -26,87 +26,24 @@ Route9_TextPointers: dw Route9Text11 Route9TrainerHeader0: - dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_0 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_0 - dw Route9BattleText1 ; TextBeforeBattle - dw Route9AfterBattleText1 ; TextAfterBattle - dw Route9EndBattleText1 ; TextEndBattle - dw Route9EndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_9_TRAINER_0, 3, Route9BattleText1, Route9EndBattleText1, Route9AfterBattleText1 Route9TrainerHeader1: - dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_1 - dw Route9BattleText2 ; TextBeforeBattle - dw Route9AfterBattleText2 ; TextAfterBattle - dw Route9EndBattleText2 ; TextEndBattle - dw Route9EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_9_TRAINER_1, 2, Route9BattleText2, Route9EndBattleText2, Route9AfterBattleText2 Route9TrainerHeader2: - dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_2 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_2 - dw Route9BattleText3 ; TextBeforeBattle - dw Route9AfterBattleText3 ; TextAfterBattle - dw Route9EndBattleText3 ; TextEndBattle - dw Route9EndBattleText3 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_9_TRAINER_2, 4, Route9BattleText3, Route9EndBattleText3, Route9AfterBattleText3 Route9TrainerHeader3: - dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_3 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_3 - dw Route9BattleText4 ; TextBeforeBattle - dw Route9AfterBattleText4 ; TextAfterBattle - dw Route9EndBattleText4 ; TextEndBattle - dw Route9EndBattleText4 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_9_TRAINER_3, 2, Route9BattleText4, Route9EndBattleText4, Route9AfterBattleText4 Route9TrainerHeader4: - dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_4 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_4 - dw Route9BattleText5 ; TextBeforeBattle - dw Route9AfterBattleText5 ; TextAfterBattle - dw Route9EndBattleText5 ; TextEndBattle - dw Route9EndBattleText5 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_9_TRAINER_4, 2, Route9BattleText5, Route9EndBattleText5, Route9AfterBattleText5 Route9TrainerHeader5: - dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_5 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_5 - dw Route9BattleText6 ; TextBeforeBattle - dw Route9AfterBattleText6 ; TextAfterBattle - dw Route9EndBattleText6 ; TextEndBattle - dw Route9EndBattleText6 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_9_TRAINER_5, 3, Route9BattleText6, Route9EndBattleText6, Route9AfterBattleText6 Route9TrainerHeader6: - dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_6 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_6 - dw Route9BattleText7 ; TextBeforeBattle - dw Route9AfterBattleText7 ; TextAfterBattle - dw Route9EndBattleText7 ; TextEndBattle - dw Route9EndBattleText7 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_9_TRAINER_6, 4, Route9BattleText7, Route9EndBattleText7, Route9AfterBattleText7 Route9TrainerHeader7: - dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_7, 1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_7, 1 - dw Route9BattleText8 ; TextBeforeBattle - dw Route9AfterBattleText8 ; TextAfterBattle - dw Route9EndBattleText8 ; TextEndBattle - dw Route9EndBattleText8 ; TextEndBattle - + trainer EVENT_BEAT_ROUTE_9_TRAINER_7, 1, 2, Route9BattleText8, Route9EndBattleText8, Route9AfterBattleText8 Route9TrainerHeader8: - dbEventFlagBit EVENT_BEAT_ROUTE_9_TRAINER_8, 1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ROUTE_9_TRAINER_8, 1 - dw Route9BattleText9 ; TextBeforeBattle - dw Route9AfterBattleText9 ; TextAfterBattle - dw Route9EndBattleText9 ; TextEndBattle - dw Route9EndBattleText9 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_ROUTE_9_TRAINER_8, 1, 2, Route9BattleText9, Route9EndBattleText9, Route9AfterBattleText9 + db -1 ; end Route9Text1: text_asm diff --git a/scripts/SSAnne1FRooms.asm b/scripts/SSAnne1FRooms.asm index 2e75cddd..e4e4813d 100755 --- a/scripts/SSAnne1FRooms.asm +++ b/scripts/SSAnne1FRooms.asm @@ -26,42 +26,14 @@ SSAnne1FRooms_TextPointers: dw SSAnne8Text11 SSAnne8TrainerHeader0: - dbEventFlagBit EVENT_BEAT_SS_ANNE_8_TRAINER_0 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SS_ANNE_8_TRAINER_0 - dw SSAnne8BattleText1 ; TextBeforeBattle - dw SSAnne8AfterBattleText1 ; TextAfterBattle - dw SSAnne8EndBattleText1 ; TextEndBattle - dw SSAnne8EndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_SS_ANNE_8_TRAINER_0, 2, SSAnne8BattleText1, SSAnne8EndBattleText1, SSAnne8AfterBattleText1 SSAnne8TrainerHeader1: - dbEventFlagBit EVENT_BEAT_SS_ANNE_8_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SS_ANNE_8_TRAINER_1 - dw SSAnne8BattleText2 ; TextBeforeBattle - dw SSAnne8AfterBattleText2 ; TextAfterBattle - dw SSAnne8EndBattleText2 ; TextEndBattle - dw SSAnne8EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_SS_ANNE_8_TRAINER_1, 3, SSAnne8BattleText2, SSAnne8EndBattleText2, SSAnne8AfterBattleText2 SSAnne8TrainerHeader2: - dbEventFlagBit EVENT_BEAT_SS_ANNE_8_TRAINER_2 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SS_ANNE_8_TRAINER_2 - dw SSAnne8BattleText3 ; TextBeforeBattle - dw SSAnne8AfterBattleText3 ; TextAfterBattle - dw SSAnne8EndBattleText3 ; TextEndBattle - dw SSAnne8EndBattleText3 ; TextEndBattle - + trainer EVENT_BEAT_SS_ANNE_8_TRAINER_2, 2, SSAnne8BattleText3, SSAnne8EndBattleText3, SSAnne8AfterBattleText3 SSAnne8TrainerHeader3: - dbEventFlagBit EVENT_BEAT_SS_ANNE_8_TRAINER_3 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SS_ANNE_8_TRAINER_3 - dw SSAnne8BattleText4 ; TextBeforeBattle - dw SSAnne8AfterBattleText4 ; TextAfterBattle - dw SSAnne8EndBattleText4 ; TextEndBattle - dw SSAnne8EndBattleText4 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_SS_ANNE_8_TRAINER_3, 2, SSAnne8BattleText4, SSAnne8EndBattleText4, SSAnne8AfterBattleText4 + db -1 ; end SSAnne8Text1: text_asm diff --git a/scripts/SSAnne2FRooms.asm b/scripts/SSAnne2FRooms.asm index 949cfec8..a82afa26 100755 --- a/scripts/SSAnne2FRooms.asm +++ b/scripts/SSAnne2FRooms.asm @@ -31,42 +31,14 @@ SSAnne2FRooms_TextPointers: dw SSAnne9Text13 SSAnne9TrainerHeader0: - dbEventFlagBit EVENT_BEAT_SS_ANNE_9_TRAINER_0 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SS_ANNE_9_TRAINER_0 - dw SSAnne9BattleText1 ; TextBeforeBattle - dw SSAnne9AfterBattleText1 ; TextAfterBattle - dw SSAnne9EndBattleText1 ; TextEndBattle - dw SSAnne9EndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_SS_ANNE_9_TRAINER_0, 2, SSAnne9BattleText1, SSAnne9EndBattleText1, SSAnne9AfterBattleText1 SSAnne9TrainerHeader1: - dbEventFlagBit EVENT_BEAT_SS_ANNE_9_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SS_ANNE_9_TRAINER_1 - dw SSAnne9BattleText2 ; TextBeforeBattle - dw SSAnne9AfterBattleText2 ; TextAfterBattle - dw SSAnne9EndBattleText2 ; TextEndBattle - dw SSAnne9EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_SS_ANNE_9_TRAINER_1, 3, SSAnne9BattleText2, SSAnne9EndBattleText2, SSAnne9AfterBattleText2 SSAnne9TrainerHeader2: - dbEventFlagBit EVENT_BEAT_SS_ANNE_9_TRAINER_2 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SS_ANNE_9_TRAINER_2 - dw SSAnne9BattleText3 ; TextBeforeBattle - dw SSAnne9AfterBattleText3 ; TextAfterBattle - dw SSAnne9EndBattleText3 ; TextEndBattle - dw SSAnne9EndBattleText3 ; TextEndBattle - + trainer EVENT_BEAT_SS_ANNE_9_TRAINER_2, 3, SSAnne9BattleText3, SSAnne9EndBattleText3, SSAnne9AfterBattleText3 SSAnne9TrainerHeader3: - dbEventFlagBit EVENT_BEAT_SS_ANNE_9_TRAINER_3 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SS_ANNE_9_TRAINER_3 - dw SSAnne9BattleText4 ; TextBeforeBattle - dw SSAnne9AfterBattleText4 ; TextAfterBattle - dw SSAnne9EndBattleText4 ; TextEndBattle - dw SSAnne9EndBattleText4 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_SS_ANNE_9_TRAINER_3, 2, SSAnne9BattleText4, SSAnne9EndBattleText4, SSAnne9AfterBattleText4 + db -1 ; end SSAnne9Text1: text_asm diff --git a/scripts/SSAnneB1FRooms.asm b/scripts/SSAnneB1FRooms.asm index e655b1b8..2a077c33 100755 --- a/scripts/SSAnneB1FRooms.asm +++ b/scripts/SSAnneB1FRooms.asm @@ -26,60 +26,18 @@ SSAnneB1FRooms_TextPointers: dw PickUpItemText SSAnne10TrainerHeader0: - dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_0 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_0 - dw SSAnne10BattleText1 ; TextBeforeBattle - dw SSAnne10AfterBattleText1 ; TextAfterBattle - dw SSAnne10EndBattleText1 ; TextEndBattle - dw SSAnne10EndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_SS_ANNE_10_TRAINER_0, 2, SSAnne10BattleText1, SSAnne10EndBattleText1, SSAnne10AfterBattleText1 SSAnne10TrainerHeader1: - dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_1 - dw SSAnne10BattleText2 ; TextBeforeBattle - dw SSAnne10AfterBattleText2 ; TextAfterBattle - dw SSAnne10EndBattleText2 ; TextEndBattle - dw SSAnne10EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_SS_ANNE_10_TRAINER_1, 3, SSAnne10BattleText2, SSAnne10EndBattleText2, SSAnne10AfterBattleText2 SSAnne10TrainerHeader2: - dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_2 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_2 - dw SSAnne10BattleText3 ; TextBeforeBattle - dw SSAnne10AfterBattleText3 ; TextAfterBattle - dw SSAnne10EndBattleText3 ; TextEndBattle - dw SSAnne10EndBattleText3 ; TextEndBattle - + trainer EVENT_BEAT_SS_ANNE_10_TRAINER_2, 2, SSAnne10BattleText3, SSAnne10EndBattleText3, SSAnne10AfterBattleText3 SSAnne10TrainerHeader3: - dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_3 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_3 - dw SSAnne10BattleText4 ; TextBeforeBattle - dw SSAnne10AfterBattleText4 ; TextAfterBattle - dw SSAnne10EndBattleText4 ; TextEndBattle - dw SSAnne10EndBattleText4 ; TextEndBattle - + trainer EVENT_BEAT_SS_ANNE_10_TRAINER_3, 2, SSAnne10BattleText4, SSAnne10EndBattleText4, SSAnne10AfterBattleText4 SSAnne10TrainerHeader4: - dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_4 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_4 - dw SSAnne10BattleText5 ; TextBeforeBattle - dw SSAnne10AfterBattleText5 ; TextAfterBattle - dw SSAnne10EndBattleText5 ; TextEndBattle - dw SSAnne10EndBattleText5 ; TextEndBattle - + trainer EVENT_BEAT_SS_ANNE_10_TRAINER_4, 2, SSAnne10BattleText5, SSAnne10EndBattleText5, SSAnne10AfterBattleText5 SSAnne10TrainerHeader5: - dbEventFlagBit EVENT_BEAT_SS_ANNE_10_TRAINER_5 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SS_ANNE_10_TRAINER_5 - dw SSAnne10BattleText6 ; TextBeforeBattle - dw SSAnne10AfterBattleText6 ; TextAfterBattle - dw SSAnne10EndBattleText6 ; TextEndBattle - dw SSAnne10EndBattleText6 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_SS_ANNE_10_TRAINER_5, 3, SSAnne10BattleText6, SSAnne10EndBattleText6, SSAnne10AfterBattleText6 + db -1 ; end SSAnne10Text1: text_asm diff --git a/scripts/SSAnneBow.asm b/scripts/SSAnneBow.asm index fbc60d1a..0621785d 100755 --- a/scripts/SSAnneBow.asm +++ b/scripts/SSAnneBow.asm @@ -20,24 +20,10 @@ SSAnneBow_TextPointers: dw SSAnne5Text5 SSAnne5TrainerHeader0: - dbEventFlagBit EVENT_BEAT_SS_ANNE_5_TRAINER_0 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SS_ANNE_5_TRAINER_0 - dw SSAnne5BattleText1 ; TextBeforeBattle - dw SSAnne5AfterBattleText1 ; TextAfterBattle - dw SSAnne5EndBattleText1 ; TextEndBattle - dw SSAnne5EndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_SS_ANNE_5_TRAINER_0, 3, SSAnne5BattleText1, SSAnne5EndBattleText1, SSAnne5AfterBattleText1 SSAnne5TrainerHeader1: - dbEventFlagBit EVENT_BEAT_SS_ANNE_5_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SS_ANNE_5_TRAINER_1 - dw SSAnne5BattleText2 ; TextBeforeBattle - dw SSAnne5AfterBattleText2 ; TextAfterBattle - dw SSAnne5EndBattleText2 ; TextEndBattle - dw SSAnne5EndBattleText2 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_SS_ANNE_5_TRAINER_1, 3, SSAnne5BattleText2, SSAnne5EndBattleText2, SSAnne5AfterBattleText2 + db -1 ; end SSAnne5Text1: text_far _SSAnne5Text1 diff --git a/scripts/SaffronGym.asm b/scripts/SaffronGym.asm index a6baa45f..c10fec45 100755 --- a/scripts/SaffronGym.asm +++ b/scripts/SaffronGym.asm @@ -85,69 +85,20 @@ SaffronGym_TextPointers: dw SaffronGymText12 SaffronGymTrainerHeader0: - dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_0 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_0 - dw SaffronGymBattleText1 ; TextBeforeBattle - dw SaffronGymAfterBattleText1 ; TextAfterBattle - dw SaffronGymEndBattleText1 ; TextEndBattle - dw SaffronGymEndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_SAFFRON_GYM_TRAINER_0, 3, SaffronGymBattleText1, SaffronGymEndBattleText1, SaffronGymAfterBattleText1 SaffronGymTrainerHeader1: - dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_1 - dw SaffronGymBattleText2 ; TextBeforeBattle - dw SaffronGymAfterBattleText2 ; TextAfterBattle - dw SaffronGymEndBattleText2 ; TextEndBattle - dw SaffronGymEndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_SAFFRON_GYM_TRAINER_1, 3, SaffronGymBattleText2, SaffronGymEndBattleText2, SaffronGymAfterBattleText2 SaffronGymTrainerHeader2: - dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_2 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_2 - dw SaffronGymBattleText3 ; TextBeforeBattle - dw SaffronGymAfterBattleText3 ; TextAfterBattle - dw SaffronGymEndBattleText3 ; TextEndBattle - dw SaffronGymEndBattleText3 ; TextEndBattle - + trainer EVENT_BEAT_SAFFRON_GYM_TRAINER_2, 3, SaffronGymBattleText3, SaffronGymEndBattleText3, SaffronGymAfterBattleText3 SaffronGymTrainerHeader3: - dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_3 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_3 - dw SaffronGymBattleText4 ; TextBeforeBattle - dw SaffronGymAfterBattleText4 ; TextAfterBattle - dw SaffronGymEndBattleText4 ; TextEndBattle - dw SaffronGymEndBattleText4 ; TextEndBattle - + trainer EVENT_BEAT_SAFFRON_GYM_TRAINER_3, 3, SaffronGymBattleText4, SaffronGymEndBattleText4, SaffronGymAfterBattleText4 SaffronGymTrainerHeader4: - dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_4 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_4 - dw SaffronGymBattleText5 ; TextBeforeBattle - dw SaffronGymAfterBattleText5 ; TextAfterBattle - dw SaffronGymEndBattleText5 ; TextEndBattle - dw SaffronGymEndBattleText5 ; TextEndBattle - + trainer EVENT_BEAT_SAFFRON_GYM_TRAINER_4, 3, SaffronGymBattleText5, SaffronGymEndBattleText5, SaffronGymAfterBattleText5 SaffronGymTrainerHeader5: - dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_5 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_5 - dw SaffronGymBattleText6 ; TextBeforeBattle - dw SaffronGymAfterBattleText6 ; TextAfterBattle - dw SaffronGymEndBattleText6 ; TextEndBattle - dw SaffronGymEndBattleText6 ; TextEndBattle - + trainer EVENT_BEAT_SAFFRON_GYM_TRAINER_5, 3, SaffronGymBattleText6, SaffronGymEndBattleText6, SaffronGymAfterBattleText6 SaffronGymTrainerHeader6: - dbEventFlagBit EVENT_BEAT_SAFFRON_GYM_TRAINER_6, 1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SAFFRON_GYM_TRAINER_6, 1 - dw SaffronGymBattleText7 ; TextBeforeBattle - dw SaffronGymAfterBattleText7 ; TextAfterBattle - dw SaffronGymEndBattleText7 ; TextEndBattle - dw SaffronGymEndBattleText7 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_SAFFRON_GYM_TRAINER_6, 1, 3, SaffronGymBattleText7, SaffronGymEndBattleText7, SaffronGymAfterBattleText7 + db -1 ; end SaffronGymText1: text_asm diff --git a/scripts/SeafoamIslandsB4F.asm b/scripts/SeafoamIslandsB4F.asm index 9bc6b21e..250dfd39 100755 --- a/scripts/SeafoamIslandsB4F.asm +++ b/scripts/SeafoamIslandsB4F.asm @@ -138,15 +138,8 @@ SeafoamIslandsB4F_TextPointers: dw SeafoamIslands5Text5 ArticunoTrainerHeader: - dbEventFlagBit EVENT_BEAT_ARTICUNO - db ($0 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_ARTICUNO - dw ArticunoBattleText ; TextBeforeBattle - dw ArticunoBattleText ; TextAfterBattle - dw ArticunoBattleText ; TextEndBattle - dw ArticunoBattleText ; TextEndBattle - - db $ff + trainer EVENT_BEAT_ARTICUNO, 0, ArticunoBattleText, ArticunoBattleText, ArticunoBattleText + db -1 ; end ArticunoText: text_asm diff --git a/scripts/SilphCo10F.asm b/scripts/SilphCo10F.asm index 8fa53319..1ac993ed 100755 --- a/scripts/SilphCo10F.asm +++ b/scripts/SilphCo10F.asm @@ -48,24 +48,10 @@ SilphCo10F_TextPointers: dw PickUpItemText SilphCo10TrainerHeader0: - dbEventFlagBit EVENT_BEAT_SILPH_CO_10F_TRAINER_0 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_10F_TRAINER_0 - dw SilphCo10BattleText1 ; TextBeforeBattle - dw SilphCo10AfterBattleText1 ; TextAfterBattle - dw SilphCo10EndBattleText1 ; TextEndBattle - dw SilphCo10EndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_SILPH_CO_10F_TRAINER_0, 3, SilphCo10BattleText1, SilphCo10EndBattleText1, SilphCo10AfterBattleText1 SilphCo10TrainerHeader1: - dbEventFlagBit EVENT_BEAT_SILPH_CO_10F_TRAINER_1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_10F_TRAINER_1 - dw SilphCo10BattleText2 ; TextBeforeBattle - dw SilphCo10AfterBattleText2 ; TextAfterBattle - dw SilphCo10EndBattleText2 ; TextEndBattle - dw SilphCo10EndBattleText2 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_SILPH_CO_10F_TRAINER_1, 4, SilphCo10BattleText2, SilphCo10EndBattleText2, SilphCo10AfterBattleText2 + db -1 ; end SilphCo10Text1: text_asm diff --git a/scripts/SilphCo11F.asm b/scripts/SilphCo11F.asm index 4b54bf48..abea6da4 100755 --- a/scripts/SilphCo11F.asm +++ b/scripts/SilphCo11F.asm @@ -281,24 +281,10 @@ SilphCo11F_TextPointers: dw SilphCo11Text6 SilphCo11TrainerHeader0: - dbEventFlagBit EVENT_BEAT_SILPH_CO_11F_TRAINER_0 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_11F_TRAINER_0 - dw SilphCo11BattleText1 ; TextBeforeBattle - dw SilphCo11AfterBattleText1 ; TextAfterBattle - dw SilphCo11EndBattleText1 ; TextEndBattle - dw SilphCo11EndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_SILPH_CO_11F_TRAINER_0, 4, SilphCo11BattleText1, SilphCo11EndBattleText1, SilphCo11AfterBattleText1 SilphCo11TrainerHeader1: - dbEventFlagBit EVENT_BEAT_SILPH_CO_11F_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_11F_TRAINER_1 - dw SilphCo11BattleText2 ; TextBeforeBattle - dw SilphCo11AfterBattleText2 ; TextAfterBattle - dw SilphCo11EndBattleText2 ; TextEndBattle - dw SilphCo11EndBattleText2 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_SILPH_CO_11F_TRAINER_1, 3, SilphCo11BattleText2, SilphCo11EndBattleText2, SilphCo11AfterBattleText2 + db -1 ; end SilphCo11Text1: text_asm diff --git a/scripts/SilphCo2F.asm b/scripts/SilphCo2F.asm index 42e5a7e6..5433bca4 100755 --- a/scripts/SilphCo2F.asm +++ b/scripts/SilphCo2F.asm @@ -99,42 +99,14 @@ SilphCo2F_TextPointers: dw SilphCo2Text5 SilphCo2TrainerHeader0: - dbEventFlagBit EVENT_BEAT_SILPH_CO_2F_TRAINER_0 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_2F_TRAINER_0 - dw SilphCo2BattleText1 ; TextBeforeBattle - dw SilphCo2AfterBattleText1 ; TextAfterBattle - dw SilphCo2EndBattleText1 ; TextEndBattle - dw SilphCo2EndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_SILPH_CO_2F_TRAINER_0, 3, SilphCo2BattleText1, SilphCo2EndBattleText1, SilphCo2AfterBattleText1 SilphCo2TrainerHeader1: - dbEventFlagBit EVENT_BEAT_SILPH_CO_2F_TRAINER_1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_2F_TRAINER_1 - dw SilphCo2BattleText2 ; TextBeforeBattle - dw SilphCo2AfterBattleText2 ; TextAfterBattle - dw SilphCo2EndBattleText2 ; TextEndBattle - dw SilphCo2EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_SILPH_CO_2F_TRAINER_1, 4, SilphCo2BattleText2, SilphCo2EndBattleText2, SilphCo2AfterBattleText2 SilphCo2TrainerHeader2: - dbEventFlagBit EVENT_BEAT_SILPH_CO_2F_TRAINER_2 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_2F_TRAINER_2 - dw SilphCo2BattleText3 ; TextBeforeBattle - dw SilphCo2AfterBattleText3 ; TextAfterBattle - dw SilphCo2EndBattleText3 ; TextEndBattle - dw SilphCo2EndBattleText3 ; TextEndBattle - + trainer EVENT_BEAT_SILPH_CO_2F_TRAINER_2, 3, SilphCo2BattleText3, SilphCo2EndBattleText3, SilphCo2AfterBattleText3 SilphCo2TrainerHeader3: - dbEventFlagBit EVENT_BEAT_SILPH_CO_2F_TRAINER_3 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_2F_TRAINER_3 - dw SilphCo2BattleText4 ; TextBeforeBattle - dw SilphCo2AfterBattleText4 ; TextAfterBattle - dw SilphCo2EndBattleText4 ; TextEndBattle - dw SilphCo2EndBattleText4 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_SILPH_CO_2F_TRAINER_3, 3, SilphCo2BattleText4, SilphCo2EndBattleText4, SilphCo2AfterBattleText4 + db -1 ; end SilphCo2Text1: text_asm diff --git a/scripts/SilphCo3F.asm b/scripts/SilphCo3F.asm index 2a086708..f2b4b1fd 100755 --- a/scripts/SilphCo3F.asm +++ b/scripts/SilphCo3F.asm @@ -62,24 +62,10 @@ SilphCo3F_TextPointers: dw PickUpItemText SilphCo3TrainerHeader0: - dbEventFlagBit EVENT_BEAT_SILPH_CO_3F_TRAINER_0 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_3F_TRAINER_0 - dw SilphCo3BattleText1 ; TextBeforeBattle - dw SilphCo3AfterBattleText1 ; TextAfterBattle - dw SilphCo3EndBattleText1 ; TextEndBattle - dw SilphCo3EndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_SILPH_CO_3F_TRAINER_0, 2, SilphCo3BattleText1, SilphCo3EndBattleText1, SilphCo3AfterBattleText1 SilphCo3TrainerHeader1: - dbEventFlagBit EVENT_BEAT_SILPH_CO_3F_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_3F_TRAINER_1 - dw SilphCo3BattleText2 ; TextBeforeBattle - dw SilphCo3AfterBattleText2 ; TextAfterBattle - dw SilphCo3EndBattleText2 ; TextEndBattle - dw SilphCo3EndBattleText2 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_SILPH_CO_3F_TRAINER_1, 3, SilphCo3BattleText2, SilphCo3EndBattleText2, SilphCo3AfterBattleText2 + db -1 ; end SilphCo3Text1: text_asm diff --git a/scripts/SilphCo4F.asm b/scripts/SilphCo4F.asm index e148447b..4b6303a1 100755 --- a/scripts/SilphCo4F.asm +++ b/scripts/SilphCo4F.asm @@ -101,33 +101,12 @@ SilphCo4F_TextPointers: dw PickUpItemText SilphCo4TrainerHeader0: - dbEventFlagBit EVENT_BEAT_SILPH_CO_4F_TRAINER_0 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_4F_TRAINER_0 - dw SilphCo4BattleText2 ; TextBeforeBattle - dw SilphCo4AfterBattleText2 ; TextAfterBattle - dw SilphCo4EndBattleText2 ; TextEndBattle - dw SilphCo4EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_SILPH_CO_4F_TRAINER_0, 4, SilphCo4BattleText2, SilphCo4EndBattleText2, SilphCo4AfterBattleText2 SilphCo4TrainerHeader1: - dbEventFlagBit EVENT_BEAT_SILPH_CO_4F_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_4F_TRAINER_1 - dw SilphCo4BattleText3 ; TextBeforeBattle - dw SilphCo4AfterBattleText3 ; TextAfterBattle - dw SilphCo4EndBattleText3 ; TextEndBattle - dw SilphCo4EndBattleText3 ; TextEndBattle - + trainer EVENT_BEAT_SILPH_CO_4F_TRAINER_1, 3, SilphCo4BattleText3, SilphCo4EndBattleText3, SilphCo4AfterBattleText3 SilphCo4TrainerHeader2: - dbEventFlagBit EVENT_BEAT_SILPH_CO_4F_TRAINER_2 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_4F_TRAINER_2 - dw SilphCo4BattleText4 ; TextBeforeBattle - dw SilphCo4AfterBattleText4 ; TextAfterBattle - dw SilphCo4EndBattleText4 ; TextEndBattle - dw SilphCo4EndBattleText4 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_SILPH_CO_4F_TRAINER_2, 4, SilphCo4BattleText4, SilphCo4EndBattleText4, SilphCo4AfterBattleText4 + db -1 ; end SilphCo4Text1: text_asm diff --git a/scripts/SilphCo5F.asm b/scripts/SilphCo5F.asm index 4d4f6ab6..94a7ec30 100755 --- a/scripts/SilphCo5F.asm +++ b/scripts/SilphCo5F.asm @@ -84,42 +84,14 @@ SilphCo5F_TextPointers: dw SilphCo5Text11 SilphCo5TrainerHeader0: - dbEventFlagBit EVENT_BEAT_SILPH_CO_5F_TRAINER_0 - db ($1 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_5F_TRAINER_0 - dw SilphCo5BattleText2 ; TextBeforeBattle - dw SilphCo5AfterBattleText2 ; TextAfterBattle - dw SilphCo5EndBattleText2 ; TextEndBattle - dw SilphCo5EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_SILPH_CO_5F_TRAINER_0, 1, SilphCo5BattleText2, SilphCo5EndBattleText2, SilphCo5AfterBattleText2 SilphCo5TrainerHeader1: - dbEventFlagBit EVENT_BEAT_SILPH_CO_5F_TRAINER_1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_5F_TRAINER_1 - dw SilphCo5BattleText3 ; TextBeforeBattle - dw SilphCo5AfterBattleText3 ; TextAfterBattle - dw SilphCo5EndBattleText3 ; TextEndBattle - dw SilphCo5EndBattleText3 ; TextEndBattle - + trainer EVENT_BEAT_SILPH_CO_5F_TRAINER_1, 2, SilphCo5BattleText3, SilphCo5EndBattleText3, SilphCo5AfterBattleText3 SilphCo5TrainerHeader2: - dbEventFlagBit EVENT_BEAT_SILPH_CO_5F_TRAINER_2 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_5F_TRAINER_2 - dw SilphCo5BattleText4 ; TextBeforeBattle - dw SilphCo5AfterBattleText4 ; TextAfterBattle - dw SilphCo5EndBattleText4 ; TextEndBattle - dw SilphCo5EndBattleText4 ; TextEndBattle - + trainer EVENT_BEAT_SILPH_CO_5F_TRAINER_2, 4, SilphCo5BattleText4, SilphCo5EndBattleText4, SilphCo5AfterBattleText4 SilphCo5TrainerHeader3: - dbEventFlagBit EVENT_BEAT_SILPH_CO_5F_TRAINER_3 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_5F_TRAINER_3 - dw SilphCo5BattleText5 ; TextBeforeBattle - dw SilphCo5AfterBattleText5 ; TextAfterBattle - dw SilphCo5EndBattleText5 ; TextEndBattle - dw SilphCo5EndBattleText5 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_SILPH_CO_5F_TRAINER_3, 3, SilphCo5BattleText5, SilphCo5EndBattleText5, SilphCo5AfterBattleText5 + db -1 ; end SilphCo5Text1: text_asm diff --git a/scripts/SilphCo6F.asm b/scripts/SilphCo6F.asm index 30a0d83e..51d29498 100755 --- a/scripts/SilphCo6F.asm +++ b/scripts/SilphCo6F.asm @@ -52,33 +52,12 @@ SilphCo6F_TextPointers: dw PickUpItemText SilphCo6TrainerHeader0: - dbEventFlagBit EVENT_BEAT_SILPH_CO_6F_TRAINER_0 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_6F_TRAINER_0 - dw SilphCo6BattleText2 ; TextBeforeBattle - dw SilphCo6AfterBattleText2 ; TextAfterBattle - dw SilphCo6EndBattleText2 ; TextEndBattle - dw SilphCo6EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_SILPH_CO_6F_TRAINER_0, 2, SilphCo6BattleText2, SilphCo6EndBattleText2, SilphCo6AfterBattleText2 SilphCo6TrainerHeader1: - dbEventFlagBit EVENT_BEAT_SILPH_CO_6F_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_6F_TRAINER_1 - dw SilphCo6BattleText3 ; TextBeforeBattle - dw SilphCo6AfterBattleText3 ; TextAfterBattle - dw SilphCo6EndBattleText3 ; TextEndBattle - dw SilphCo6EndBattleText3 ; TextEndBattle - + trainer EVENT_BEAT_SILPH_CO_6F_TRAINER_1, 3, SilphCo6BattleText3, SilphCo6EndBattleText3, SilphCo6AfterBattleText3 SilphCo6TrainerHeader2: - dbEventFlagBit EVENT_BEAT_SILPH_CO_6F_TRAINER_2, 1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_6F_TRAINER_2, 1 - dw SilphCo6BattleText4 ; TextBeforeBattle - dw SilphCo6AfterBattleText4 ; TextAfterBattle - dw SilphCo6EndBattleText4 ; TextEndBattle - dw SilphCo6EndBattleText4 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_SILPH_CO_6F_TRAINER_2, 1, 2, SilphCo6BattleText4, SilphCo6EndBattleText4, SilphCo6AfterBattleText4 + db -1 ; end SilphCo6Script_1a22f: CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI diff --git a/scripts/SilphCo7F.asm b/scripts/SilphCo7F.asm index dae0f96b..3627bc7f 100755 --- a/scripts/SilphCo7F.asm +++ b/scripts/SilphCo7F.asm @@ -280,42 +280,14 @@ SilphCo7F_TextPointers: dw SilphCo7Text15 SilphCo7TrainerHeader0: - dbEventFlagBit EVENT_BEAT_SILPH_CO_7F_TRAINER_0 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_7F_TRAINER_0 - dw SilphCo7BattleText1 ; TextBeforeBattle - dw SilphCo7AfterBattleText1 ; TextAfterBattle - dw SilphCo7EndBattleText1 ; TextEndBattle - dw SilphCo7EndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_SILPH_CO_7F_TRAINER_0, 2, SilphCo7BattleText1, SilphCo7EndBattleText1, SilphCo7AfterBattleText1 SilphCo7TrainerHeader1: - dbEventFlagBit EVENT_BEAT_SILPH_CO_7F_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_7F_TRAINER_1 - dw SilphCo7BattleText2 ; TextBeforeBattle - dw SilphCo7AfterBattleText2 ; TextAfterBattle - dw SilphCo7EndBattleText2 ; TextEndBattle - dw SilphCo7EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_SILPH_CO_7F_TRAINER_1, 3, SilphCo7BattleText2, SilphCo7EndBattleText2, SilphCo7AfterBattleText2 SilphCo7TrainerHeader2: - dbEventFlagBit EVENT_BEAT_SILPH_CO_7F_TRAINER_2 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_7F_TRAINER_2 - dw SilphCo7BattleText3 ; TextBeforeBattle - dw SilphCo7AfterBattleText3 ; TextAfterBattle - dw SilphCo7EndBattleText3 ; TextEndBattle - dw SilphCo7EndBattleText3 ; TextEndBattle - + trainer EVENT_BEAT_SILPH_CO_7F_TRAINER_2, 3, SilphCo7BattleText3, SilphCo7EndBattleText3, SilphCo7AfterBattleText3 SilphCo7TrainerHeader3: - dbEventFlagBit EVENT_BEAT_SILPH_CO_7F_TRAINER_3, 1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_7F_TRAINER_3, 1 - dw SilphCo7BattleText4 ; TextBeforeBattle - dw SilphCo7AfterBattleText4 ; TextAfterBattle - dw SilphCo7EndBattleText4 ; TextEndBattle - dw SilphCo7EndBattleText4 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_SILPH_CO_7F_TRAINER_3, 1, 4, SilphCo7BattleText4, SilphCo7EndBattleText4, SilphCo7AfterBattleText4 + db -1 ; end SilphCo7Text1: ; lapras guy diff --git a/scripts/SilphCo8F.asm b/scripts/SilphCo8F.asm index 0a10781e..6b77ce46 100755 --- a/scripts/SilphCo8F.asm +++ b/scripts/SilphCo8F.asm @@ -82,33 +82,12 @@ SilphCo8F_TextPointers: dw SilphCo8Text4 SilphCo8TrainerHeader0: - dbEventFlagBit EVENT_BEAT_SILPH_CO_8F_TRAINER_0 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_8F_TRAINER_0 - dw SilphCo8BattleText1 ; TextBeforeBattle - dw SilphCo8AfterBattleText1 ; TextAfterBattle - dw SilphCo8EndBattleText1 ; TextEndBattle - dw SilphCo8EndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_SILPH_CO_8F_TRAINER_0, 4, SilphCo8BattleText1, SilphCo8EndBattleText1, SilphCo8AfterBattleText1 SilphCo8TrainerHeader1: - dbEventFlagBit EVENT_BEAT_SILPH_CO_8F_TRAINER_1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_8F_TRAINER_1 - dw SilphCo8BattleText2 ; TextBeforeBattle - dw SilphCo8AfterBattleText2 ; TextAfterBattle - dw SilphCo8EndBattleText2 ; TextEndBattle - dw SilphCo8EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_SILPH_CO_8F_TRAINER_1, 4, SilphCo8BattleText2, SilphCo8EndBattleText2, SilphCo8AfterBattleText2 SilphCo8TrainerHeader2: - dbEventFlagBit EVENT_BEAT_SILPH_CO_8F_TRAINER_2 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_8F_TRAINER_2 - dw SilphCo8BattleText3 ; TextBeforeBattle - dw SilphCo8AfterBattleText3 ; TextAfterBattle - dw SilphCo8EndBattleText3 ; TextEndBattle - dw SilphCo8EndBattleText3 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_SILPH_CO_8F_TRAINER_2, 4, SilphCo8BattleText3, SilphCo8EndBattleText3, SilphCo8AfterBattleText3 + db -1 ; end SilphCo8Text1: text_asm diff --git a/scripts/SilphCo9F.asm b/scripts/SilphCo9F.asm index 7889e8f7..0fbfc239 100755 --- a/scripts/SilphCo9F.asm +++ b/scripts/SilphCo9F.asm @@ -130,33 +130,12 @@ SilphCo9F_TextPointers: dw SilphCo9Text4 SilphCo9TrainerHeader0: - dbEventFlagBit EVENT_BEAT_SILPH_CO_9F_TRAINER_0 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_9F_TRAINER_0 - dw SilphCo9BattleText1 ; TextBeforeBattle - dw SilphCo9AfterBattleText1 ; TextAfterBattle - dw SilphCo9EndBattleText1 ; TextEndBattle - dw SilphCo9EndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_SILPH_CO_9F_TRAINER_0, 4, SilphCo9BattleText1, SilphCo9EndBattleText1, SilphCo9AfterBattleText1 SilphCo9TrainerHeader1: - dbEventFlagBit EVENT_BEAT_SILPH_CO_9F_TRAINER_1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_9F_TRAINER_1 - dw SilphCo9BattleText2 ; TextBeforeBattle - dw SilphCo9AfterBattleText2 ; TextAfterBattle - dw SilphCo9EndBattleText2 ; TextEndBattle - dw SilphCo9EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_SILPH_CO_9F_TRAINER_1, 2, SilphCo9BattleText2, SilphCo9EndBattleText2, SilphCo9AfterBattleText2 SilphCo9TrainerHeader2: - dbEventFlagBit EVENT_BEAT_SILPH_CO_9F_TRAINER_2 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_SILPH_CO_9F_TRAINER_2 - dw SilphCo9BattleText3 ; TextBeforeBattle - dw SilphCo9AfterBattleText3 ; TextAfterBattle - dw SilphCo9EndBattleText3 ; TextEndBattle - dw SilphCo9EndBattleText3 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_SILPH_CO_9F_TRAINER_2, 4, SilphCo9BattleText3, SilphCo9EndBattleText3, SilphCo9AfterBattleText3 + db -1 ; end SilphCo9Text1: text_asm diff --git a/scripts/VermilionGym.asm b/scripts/VermilionGym.asm index 53ea0218..25d47b6b 100755 --- a/scripts/VermilionGym.asm +++ b/scripts/VermilionGym.asm @@ -100,33 +100,12 @@ VermilionGym_TextPointers: dw TM24NoRoomText VermilionGymTrainerHeader0: - dbEventFlagBit EVENT_BEAT_VERMILION_GYM_TRAINER_0 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VERMILION_GYM_TRAINER_0 - dw VermilionGymBattleText1 ; TextBeforeBattle - dw VermilionGymAfterBattleText1 ; TextAfterBattle - dw VermilionGymEndBattleText1 ; TextEndBattle - dw VermilionGymEndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_VERMILION_GYM_TRAINER_0, 3, VermilionGymBattleText1, VermilionGymEndBattleText1, VermilionGymAfterBattleText1 VermilionGymTrainerHeader1: - dbEventFlagBit EVENT_BEAT_VERMILION_GYM_TRAINER_1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VERMILION_GYM_TRAINER_1 - dw VermilionGymBattleText2 ; TextBeforeBattle - dw VermilionGymAfterBattleText2 ; TextAfterBattle - dw VermilionGymEndBattleText2 ; TextEndBattle - dw VermilionGymEndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_VERMILION_GYM_TRAINER_1, 2, VermilionGymBattleText2, VermilionGymEndBattleText2, VermilionGymAfterBattleText2 VermilionGymTrainerHeader2: - dbEventFlagBit EVENT_BEAT_VERMILION_GYM_TRAINER_2 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VERMILION_GYM_TRAINER_2 - dw VermilionGymBattleText3 ; TextBeforeBattle - dw VermilionGymAfterBattleText3 ; TextAfterBattle - dw VermilionGymEndBattleText3 ; TextEndBattle - dw VermilionGymEndBattleText3 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_VERMILION_GYM_TRAINER_2, 3, VermilionGymBattleText3, VermilionGymEndBattleText3, VermilionGymAfterBattleText3 + db -1 ; end LTSurgeText: text_asm diff --git a/scripts/VictoryRoad1F.asm b/scripts/VictoryRoad1F.asm index afff8ca5..784329f0 100755 --- a/scripts/VictoryRoad1F.asm +++ b/scripts/VictoryRoad1F.asm @@ -47,24 +47,10 @@ VictoryRoad1F_TextPointers: dw BoulderText VictoryRoad1TrainerHeader0: - dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_1_TRAINER_0 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_1_TRAINER_0 - dw VictoryRoad1BattleText1 ; TextBeforeBattle - dw VictoryRoad1AfterBattleText1 ; TextAfterBattle - dw VictoryRoad1EndBattleText1 ; TextEndBattle - dw VictoryRoad1EndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_VICTORY_ROAD_1_TRAINER_0, 2, VictoryRoad1BattleText1, VictoryRoad1EndBattleText1, VictoryRoad1AfterBattleText1 VictoryRoad1TrainerHeader1: - dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_1_TRAINER_1 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_1_TRAINER_1 - dw VictoryRoad1BattleText2 ; TextBeforeBattle - dw VictoryRoad1AfterBattleText2 ; TextAfterBattle - dw VictoryRoad1EndBattleText2 ; TextEndBattle - dw VictoryRoad1EndBattleText2 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_VICTORY_ROAD_1_TRAINER_1, 2, VictoryRoad1BattleText2, VictoryRoad1EndBattleText2, VictoryRoad1AfterBattleText2 + db -1 ; end VictoryRoad1Text1: text_asm diff --git a/scripts/VictoryRoad2F.asm b/scripts/VictoryRoad2F.asm index e4814f4e..82cd1c18 100755 --- a/scripts/VictoryRoad2F.asm +++ b/scripts/VictoryRoad2F.asm @@ -84,60 +84,18 @@ VictoryRoad2F_TextPointers: dw BoulderText VictoryRoad2TrainerHeader0: - dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_2_TRAINER_0 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_2_TRAINER_0 - dw VictoryRoad2BattleText1 ; TextBeforeBattle - dw VictoryRoad2AfterBattleText1 ; TextAfterBattle - dw VictoryRoad2EndBattleText1 ; TextEndBattle - dw VictoryRoad2EndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_VICTORY_ROAD_2_TRAINER_0, 4, VictoryRoad2BattleText1, VictoryRoad2EndBattleText1, VictoryRoad2AfterBattleText1 VictoryRoad2TrainerHeader1: - dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_2_TRAINER_1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_2_TRAINER_1 - dw VictoryRoad2BattleText2 ; TextBeforeBattle - dw VictoryRoad2AfterBattleText2 ; TextAfterBattle - dw VictoryRoad2EndBattleText2 ; TextEndBattle - dw VictoryRoad2EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_VICTORY_ROAD_2_TRAINER_1, 3, VictoryRoad2BattleText2, VictoryRoad2EndBattleText2, VictoryRoad2AfterBattleText2 VictoryRoad2TrainerHeader2: - dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_2_TRAINER_2 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_2_TRAINER_2 - dw VictoryRoad2BattleText3 ; TextBeforeBattle - dw VictoryRoad2AfterBattleText3 ; TextAfterBattle - dw VictoryRoad2EndBattleText3 ; TextEndBattle - dw VictoryRoad2EndBattleText3 ; TextEndBattle - + trainer EVENT_BEAT_VICTORY_ROAD_2_TRAINER_2, 3, VictoryRoad2BattleText3, VictoryRoad2EndBattleText3, VictoryRoad2AfterBattleText3 VictoryRoad2TrainerHeader3: - dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_2_TRAINER_3 - db ($1 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_2_TRAINER_3 - dw VictoryRoad2BattleText4 ; TextBeforeBattle - dw VictoryRoad2AfterBattleText4 ; TextAfterBattle - dw VictoryRoad2EndBattleText4 ; TextEndBattle - dw VictoryRoad2EndBattleText4 ; TextEndBattle - + trainer EVENT_BEAT_VICTORY_ROAD_2_TRAINER_3, 1, VictoryRoad2BattleText4, VictoryRoad2EndBattleText4, VictoryRoad2AfterBattleText4 VictoryRoad2TrainerHeader4: - dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_2_TRAINER_4 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_2_TRAINER_4 - dw VictoryRoad2BattleText5 ; TextBeforeBattle - dw VictoryRoad2AfterBattleText5 ; TextAfterBattle - dw VictoryRoad2EndBattleText5 ; TextEndBattle - dw VictoryRoad2EndBattleText5 ; TextEndBattle - + trainer EVENT_BEAT_VICTORY_ROAD_2_TRAINER_4, 3, VictoryRoad2BattleText5, VictoryRoad2EndBattleText5, VictoryRoad2AfterBattleText5 MoltresTrainerHeader: - dbEventFlagBit EVENT_BEAT_MOLTRES - db ($0 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_MOLTRES - dw MoltresBattleText ; TextBeforeBattle - dw MoltresBattleText ; TextAfterBattle - dw MoltresBattleText ; TextEndBattle - dw MoltresBattleText ; TextEndBattle - - db $ff + trainer EVENT_BEAT_MOLTRES, 0, MoltresBattleText, MoltresBattleText, MoltresBattleText + db -1 ; end VictoryRoad2Text1: text_asm diff --git a/scripts/VictoryRoad3F.asm b/scripts/VictoryRoad3F.asm index 7ca6dbcb..4715941d 100755 --- a/scripts/VictoryRoad3F.asm +++ b/scripts/VictoryRoad3F.asm @@ -87,42 +87,14 @@ VictoryRoad3F_TextPointers: dw BoulderText VictoryRoad3TrainerHeader0: - dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_3_TRAINER_0 - db ($1 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_3_TRAINER_0 - dw VictoryRoad3BattleText2 ; TextBeforeBattle - dw VictoryRoad3AfterBattleText2 ; TextAfterBattle - dw VictoryRoad3EndBattleText2 ; TextEndBattle - dw VictoryRoad3EndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_VICTORY_ROAD_3_TRAINER_0, 1, VictoryRoad3BattleText2, VictoryRoad3EndBattleText2, VictoryRoad3AfterBattleText2 VictoryRoad3TrainerHeader1: - dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_3_TRAINER_1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_3_TRAINER_1 - dw VictoryRoad3BattleText3 ; TextBeforeBattle - dw VictoryRoad3AfterBattleText3 ; TextAfterBattle - dw VictoryRoad3EndBattleText3 ; TextEndBattle - dw VictoryRoad3EndBattleText3 ; TextEndBattle - + trainer EVENT_BEAT_VICTORY_ROAD_3_TRAINER_1, 4, VictoryRoad3BattleText3, VictoryRoad3EndBattleText3, VictoryRoad3AfterBattleText3 VictoryRoad3TrainerHeader2: - dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_3_TRAINER_2 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_3_TRAINER_2 - dw VictoryRoad3BattleText4 ; TextBeforeBattle - dw VictoryRoad3AfterBattleText4 ; TextAfterBattle - dw VictoryRoad3EndBattleText4 ; TextEndBattle - dw VictoryRoad3EndBattleText4 ; TextEndBattle - + trainer EVENT_BEAT_VICTORY_ROAD_3_TRAINER_2, 4, VictoryRoad3BattleText4, VictoryRoad3EndBattleText4, VictoryRoad3AfterBattleText4 VictoryRoad3TrainerHeader3: - dbEventFlagBit EVENT_BEAT_VICTORY_ROAD_3_TRAINER_3 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VICTORY_ROAD_3_TRAINER_3 - dw VictoryRoad3BattleText5 ; TextBeforeBattle - dw VictoryRoad3AfterBattleText5 ; TextAfterBattle - dw VictoryRoad3EndBattleText5 ; TextEndBattle - dw VictoryRoad3EndBattleText5 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_VICTORY_ROAD_3_TRAINER_3, 4, VictoryRoad3BattleText5, VictoryRoad3EndBattleText5, VictoryRoad3AfterBattleText5 + db -1 ; end VictoryRoad3Text1: text_asm diff --git a/scripts/ViridianForest.asm b/scripts/ViridianForest.asm index 0bbbbd59..a7e4acf8 100755 --- a/scripts/ViridianForest.asm +++ b/scripts/ViridianForest.asm @@ -29,33 +29,12 @@ ViridianForest_TextPointers: dw ViridianForestText14 ViridianForestTrainerHeader0: - dbEventFlagBit EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_0 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_0 - dw ViridianForestBattleText1 ; TextBeforeBattle - dw ViridianForestAfterBattleText1 ; TextAfterBattle - dw ViridianForestEndBattleText1 ; TextEndBattle - dw ViridianForestEndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_0, 4, ViridianForestBattleText1, ViridianForestEndBattleText1, ViridianForestAfterBattleText1 ViridianForestTrainerHeader1: - dbEventFlagBit EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_1 - dw ViridianForestBattleText2 ; TextBeforeBattle - dw ViridianForestAfterBattleText2 ; TextAfterBattle - dw ViridianForestEndBattleText2 ; TextEndBattle - dw ViridianForestEndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_1, 4, ViridianForestBattleText2, ViridianForestEndBattleText2, ViridianForestAfterBattleText2 ViridianForestTrainerHeader2: - dbEventFlagBit EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_2 - db ($1 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_2 - dw ViridianForestBattleText3 ; TextBeforeBattle - dw ViridianForestAfterBattleText3 ; TextAfterBattle - dw ViridianForestEndBattleText3 ; TextEndBattle - dw ViridianForestEndBattleText3 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_2, 1, ViridianForestBattleText3, ViridianForestEndBattleText3, ViridianForestAfterBattleText3 + db -1 ; end ViridianForestText1: text_far _ViridianForestText1 diff --git a/scripts/ViridianGym.asm b/scripts/ViridianGym.asm index 5d9b7ca0..f169f1f5 100755 --- a/scripts/ViridianGym.asm +++ b/scripts/ViridianGym.asm @@ -185,78 +185,22 @@ ViridianGym_TextPointers: dw ViridianGymText14 ViridianGymTrainerHeader0: - dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_0 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_0 - dw ViridianGymBattleText1 ; TextBeforeBattle - dw ViridianGymAfterBattleText1 ; TextAfterBattle - dw ViridianGymEndBattleText1 ; TextEndBattle - dw ViridianGymEndBattleText1 ; TextEndBattle - + trainer EVENT_BEAT_VIRIDIAN_GYM_TRAINER_0, 4, ViridianGymBattleText1, ViridianGymEndBattleText1, ViridianGymAfterBattleText1 ViridianGymTrainerHeader1: - dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_1 - dw ViridianGymBattleText2 ; TextBeforeBattle - dw ViridianGymAfterBattleText2 ; TextAfterBattle - dw ViridianGymEndBattleText2 ; TextEndBattle - dw ViridianGymEndBattleText2 ; TextEndBattle - + trainer EVENT_BEAT_VIRIDIAN_GYM_TRAINER_1, 4, ViridianGymBattleText2, ViridianGymEndBattleText2, ViridianGymAfterBattleText2 ViridianGymTrainerHeader2: - dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_2 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_2 - dw ViridianGymBattleText3 ; TextBeforeBattle - dw ViridianGymAfterBattleText3 ; TextAfterBattle - dw ViridianGymEndBattleText3 ; TextEndBattle - dw ViridianGymEndBattleText3 ; TextEndBattle - + trainer EVENT_BEAT_VIRIDIAN_GYM_TRAINER_2, 4, ViridianGymBattleText3, ViridianGymEndBattleText3, ViridianGymAfterBattleText3 ViridianGymTrainerHeader3: - dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_3 - db ($2 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_3 - dw ViridianGymBattleText4 ; TextBeforeBattle - dw ViridianGymAfterBattleText4 ; TextAfterBattle - dw ViridianGymEndBattleText4 ; TextEndBattle - dw ViridianGymEndBattleText4 ; TextEndBattle - + trainer EVENT_BEAT_VIRIDIAN_GYM_TRAINER_3, 2, ViridianGymBattleText4, ViridianGymEndBattleText4, ViridianGymAfterBattleText4 ViridianGymTrainerHeader4: - dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_4 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_4 - dw ViridianGymBattleText5 ; TextBeforeBattle - dw ViridianGymAfterBattleText5 ; TextAfterBattle - dw ViridianGymEndBattleText5 ; TextEndBattle - dw ViridianGymEndBattleText5 ; TextEndBattle - + trainer EVENT_BEAT_VIRIDIAN_GYM_TRAINER_4, 3, ViridianGymBattleText5, ViridianGymEndBattleText5, ViridianGymAfterBattleText5 ViridianGymTrainerHeader5: - dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_5 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_5 - dw ViridianGymBattleText6 ; TextBeforeBattle - dw ViridianGymAfterBattleText6 ; TextAfterBattle - dw ViridianGymEndBattleText6 ; TextEndBattle - dw ViridianGymEndBattleText6 ; TextEndBattle - + trainer EVENT_BEAT_VIRIDIAN_GYM_TRAINER_5, 4, ViridianGymBattleText6, ViridianGymEndBattleText6, ViridianGymAfterBattleText6 ViridianGymTrainerHeader6: - dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_6, 1 - db ($3 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_6, 1 - dw ViridianGymBattleText7 ; TextBeforeBattle - dw ViridianGymAfterBattleText7 ; TextAfterBattle - dw ViridianGymEndBattleText7 ; TextEndBattle - dw ViridianGymEndBattleText7 ; TextEndBattle - + trainer EVENT_BEAT_VIRIDIAN_GYM_TRAINER_6, 1, 3, ViridianGymBattleText7, ViridianGymEndBattleText7, ViridianGymAfterBattleText7 ViridianGymTrainerHeader7: - dbEventFlagBit EVENT_BEAT_VIRIDIAN_GYM_TRAINER_7, 1 - db ($4 << 4) ; trainer's view range - dwEventFlagAddress EVENT_BEAT_VIRIDIAN_GYM_TRAINER_7, 1 - dw ViridianGymBattleText8 ; TextBeforeBattle - dw ViridianGymAfterBattleText8 ; TextAfterBattle - dw ViridianGymEndBattleText8 ; TextEndBattle - dw ViridianGymEndBattleText8 ; TextEndBattle - - db $ff + trainer EVENT_BEAT_VIRIDIAN_GYM_TRAINER_7, 1, 4, ViridianGymBattleText8, ViridianGymEndBattleText8, ViridianGymAfterBattleText8 + db -1 ; end ViridianGymText1: text_asm -- cgit v1.2.3 From 93d0697f37aca8ed7a21298a980876af6d43268b Mon Sep 17 00:00:00 2001 From: Rangi Date: Tue, 14 Jul 2020 16:07:23 -0400 Subject: Don't compare strings with ==; use STRCMP --- macros/scripts/maps.asm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/macros/scripts/maps.asm b/macros/scripts/maps.asm index 6f643672..f2009209 100644 --- a/macros/scripts/maps.asm +++ b/macros/scripts/maps.asm @@ -109,7 +109,7 @@ _src = -_tgt _tgt = 0 ENDC -IF "\1" == "north" +IF !STRCMP("\1", "north") _blk = \3_WIDTH * (\3_HEIGHT - 3) + _src _map = _tgt _win = (\3_WIDTH + 6) * \3_HEIGHT + 1 @@ -120,7 +120,7 @@ IF _len > \3_WIDTH _len = \3_WIDTH ENDC -ELIF "\1" == "south" +ELIF !STRCMP("\1", "south") _blk = _src _map = (CURRENT_MAP_WIDTH + 6) * (CURRENT_MAP_HEIGHT + 3) + _tgt _win = \3_WIDTH + 7 @@ -131,7 +131,7 @@ IF _len > \3_WIDTH _len = \3_WIDTH ENDC -ELIF "\1" == "west" +ELIF !STRCMP("\1", "west") _blk = (\3_WIDTH * _src) + \3_WIDTH - 3 _map = (CURRENT_MAP_WIDTH + 6) * _tgt _win = (\3_WIDTH + 6) * 2 - 6 @@ -142,7 +142,7 @@ IF _len > \3_HEIGHT _len = \3_HEIGHT ENDC -ELIF "\1" == "east" +ELIF !STRCMP("\1", "east") _blk = (\3_WIDTH * _src) _map = (CURRENT_MAP_WIDTH + 6) * _tgt + CURRENT_MAP_WIDTH + 3 _win = \3_WIDTH + 7 -- cgit v1.2.3 From 15bcd882288c2f7e4a902a44cd9b90d76306fcf9 Mon Sep 17 00:00:00 2001 From: Rangi Date: Wed, 15 Jul 2020 12:39:50 -0400 Subject: Indent comments that describe data table macro formats --- data/events/hidden_coins.asm | 2 +- data/events/hidden_item_coords.asm | 2 +- data/events/trades.asm | 2 +- data/icon_pointers.asm | 2 +- data/items/vending_prices.asm | 2 +- data/maps/force_bike_surf.asm | 2 +- data/maps/town_map_entries.asm | 4 ++-- data/moves/animation_special_effect_pointers.asm | 2 +- data/moves/animation_special_effects.asm | 2 +- data/sprites/facings.asm | 4 ++-- data/sprites/sprites.asm | 2 +- data/tilesets/bookshelf_tile_ids.asm | 2 +- data/tilesets/cut_tree_blocks.asm | 4 ++-- data/tilesets/tileset_headers.asm | 2 +- data/tilesets/warp_pad_hole_tile_ids.asm | 2 +- data/trainers/ai_pointers.asm | 8 ++++---- data/trainers/pic_pointers_money.asm | 4 ++-- data/trainers/special_moves.asm | 8 ++++---- data/wild/good_rod.asm | 2 +- data/wild/super_rod.asm | 2 +- 20 files changed, 30 insertions(+), 30 deletions(-) diff --git a/data/events/hidden_coins.asm b/data/events/hidden_coins.asm index 78aaaa64..bcdbcd80 100755 --- a/data/events/hidden_coins.asm +++ b/data/events/hidden_coins.asm @@ -3,7 +3,7 @@ hidden_coin: MACRO ENDM HiddenCoinCoords: -; map id, x, y + ; map id, x, y hidden_coin GAME_CORNER, 0, 8 hidden_coin GAME_CORNER, 1, 16 hidden_coin GAME_CORNER, 3, 11 diff --git a/data/events/hidden_item_coords.asm b/data/events/hidden_item_coords.asm index 54571cac..115f53aa 100755 --- a/data/events/hidden_item_coords.asm +++ b/data/events/hidden_item_coords.asm @@ -3,7 +3,7 @@ hidden_item: MACRO ENDM HiddenItemCoords: -; map id, x, y + ; map id, x, y hidden_item VIRIDIAN_FOREST, 1, 18 hidden_item VIRIDIAN_FOREST, 16, 42 hidden_item MT_MOON_B2F, 18, 12 diff --git a/data/events/trades.asm b/data/events/trades.asm index 8dd6ef8f..a92ad2fa 100755 --- a/data/events/trades.asm +++ b/data/events/trades.asm @@ -1,5 +1,5 @@ TradeMons: -; give mon, get mon, dialog id, nickname + ; give mon, get mon, dialog id, nickname db NIDORINO, NIDORINA, TRADE_DIALOGSET_CASUAL, "TERRY@@@@@@" db ABRA, MR_MIME, TRADE_DIALOGSET_CASUAL, "MARCEL@@@@@" db BUTTERFREE, BEEDRILL, TRADE_DIALOGSET_HAPPY, "CHIKUCHIKU@" diff --git a/data/icon_pointers.asm b/data/icon_pointers.asm index 585a0a29..ce35f3fe 100644 --- a/data/icon_pointers.asm +++ b/data/icon_pointers.asm @@ -6,7 +6,7 @@ mon_icon_header: MACRO ENDM MonPartySpritePointers: -; gfx pointer, gfx tile offset, # tiles, vSprites tile offset + ; gfx pointer, gfx tile offset, # tiles, vSprites tile offset mon_icon_header SlowbroSprite, 12, 4, $00 mon_icon_header BallSprite, 0, 8, $04 mon_icon_header ClefairySprite, 12, 4, $0c diff --git a/data/items/vending_prices.asm b/data/items/vending_prices.asm index 527dd9cc..131d525d 100644 --- a/data/items/vending_prices.asm +++ b/data/items/vending_prices.asm @@ -4,7 +4,7 @@ vend_item: MACRO ENDM VendingPrices: -; item id, price + ; item id, price vend_item FRESH_WATER, 200 vend_item SODA_POP, 300 vend_item LEMONADE, 350 diff --git a/data/maps/force_bike_surf.asm b/data/maps/force_bike_surf.asm index 7f65333d..74eba325 100755 --- a/data/maps/force_bike_surf.asm +++ b/data/maps/force_bike_surf.asm @@ -3,7 +3,7 @@ force_bike_surf: MACRO ENDM ForcedBikeOrSurfMaps: -; map id, x, y + ; map id, x, y force_bike_surf ROUTE_16, 17, 10 force_bike_surf ROUTE_16, 17, 11 force_bike_surf ROUTE_18, 33, 8 diff --git a/data/maps/town_map_entries.asm b/data/maps/town_map_entries.asm index b06714d6..1aba1cfe 100755 --- a/data/maps/town_map_entries.asm +++ b/data/maps/town_map_entries.asm @@ -5,7 +5,7 @@ ENDM ; the appearance of towns and routes in the town map ExternalMapEntries: -; x, y, name + ; x, y, name external_map 11, 2, PalletTownName external_map 8, 2, ViridianCityName external_map 3, 2, PewterCityName @@ -53,7 +53,7 @@ ENDM ; the appearance of buildings and dungeons in the town map InternalMapEntries: -; maximum map id subject to this rule, x, y, name + ; maximum map id subject to this rule, x, y, name internal_map OAKS_LAB, 11, 2, PalletTownName internal_map VIRIDIAN_GYM, 8, 2, ViridianCityName internal_map VIRIDIAN_FOREST_SOUTH_GATE, 6, 2, Route2Name diff --git a/data/moves/animation_special_effect_pointers.asm b/data/moves/animation_special_effect_pointers.asm index dc75cfee..ae60abb8 100644 --- a/data/moves/animation_special_effect_pointers.asm +++ b/data/moves/animation_special_effect_pointers.asm @@ -4,7 +4,7 @@ special_effect: MACRO ENDM SpecialEffectPointers: -; special effect id, effect routine address + ; special effect id, effect routine address special_effect SE_DARK_SCREEN_FLASH, AnimationFlashScreen ; $FE special_effect SE_DARK_SCREEN_PALETTE, AnimationDarkScreenPalette ; $FD special_effect SE_RESET_SCREEN_PALETTE, AnimationResetScreenPalette ; $FC diff --git a/data/moves/animation_special_effects.asm b/data/moves/animation_special_effects.asm index da8a3fda..50c89ffb 100644 --- a/data/moves/animation_special_effects.asm +++ b/data/moves/animation_special_effects.asm @@ -4,7 +4,7 @@ anim_special_effect: MACRO ENDM AnimationIdSpecialEffects: -; animation id, effect routine address + ; animation id, effect routine address anim_special_effect MEGA_PUNCH, AnimationFlashScreen anim_special_effect GUILLOTINE, AnimationFlashScreen anim_special_effect MEGA_KICK, AnimationFlashScreen diff --git a/data/sprites/facings.asm b/data/sprites/facings.asm index 9bfb0027..d76ddbcc 100644 --- a/data/sprites/facings.asm +++ b/data/sprites/facings.asm @@ -45,14 +45,14 @@ SpriteFacingAndAnimationTable: .WalkingLeft: db $88, $89, $8a, $8b .NormalOAM: -; y, x, attributes + ; y, x, attributes db 0, 0, $00 ; top left db 0, 8, $00 ; top right db 8, 0, OAMFLAG_CANBEMASKED ; bottom left db 8, 8, OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA ; bottom right .FlippedOAM: -; y, x, attributes + ; y, x, attributes db 0, 8, OAMFLAG_VFLIPPED ; top left db 0, 0, OAMFLAG_VFLIPPED ; top right db 8, 8, OAMFLAG_VFLIPPED | OAMFLAG_CANBEMASKED ; bottom left diff --git a/data/sprites/sprites.asm b/data/sprites/sprites.asm index 4cf1e939..cf7155a9 100644 --- a/data/sprites/sprites.asm +++ b/data/sprites/sprites.asm @@ -5,7 +5,7 @@ overworld_sprite: MACRO ENDM SpriteSheetPointerTable: -; graphics, tile count + ; graphics, tile count overworld_sprite RedSprite, 12 ; SPRITE_RED overworld_sprite BlueSprite, 12 ; SPRITE_BLUE overworld_sprite OakSprite, 12 ; SPRITE_OAK diff --git a/data/tilesets/bookshelf_tile_ids.asm b/data/tilesets/bookshelf_tile_ids.asm index da340cdf..55143d73 100644 --- a/data/tilesets/bookshelf_tile_ids.asm +++ b/data/tilesets/bookshelf_tile_ids.asm @@ -4,7 +4,7 @@ bookshelf_tile: MACRO ENDM BookshelfTileIDs: -; tileset id, bookshelf tile id, text id + ; tileset id, bookshelf tile id, text id bookshelf_tile PLATEAU, $30, IndigoPlateauStatues bookshelf_tile HOUSE, $3D, TownMapText bookshelf_tile HOUSE, $1E, BookOrSculptureText diff --git a/data/tilesets/cut_tree_blocks.asm b/data/tilesets/cut_tree_blocks.asm index ce7903a4..ddbe28fc 100644 --- a/data/tilesets/cut_tree_blocks.asm +++ b/data/tilesets/cut_tree_blocks.asm @@ -1,6 +1,6 @@ CutTreeBlockSwaps: -; first byte = tileset block containing the cut tree -; second byte = corresponding tileset block after the cut animation happens + ; first byte = tileset block containing the cut tree + ; second byte = corresponding tileset block after the cut animation happens db $32, $6D db $33, $6C db $34, $6F diff --git a/data/tilesets/tileset_headers.asm b/data/tilesets/tileset_headers.asm index 4ba2e629..998c6cb1 100755 --- a/data/tilesets/tileset_headers.asm +++ b/data/tilesets/tileset_headers.asm @@ -7,7 +7,7 @@ tileset: MACRO ENDM Tilesets: -; block, gfx, coll, 3 counter tiles, grass tile, permission + ; block, gfx, coll, 3 counter tiles, grass tile, permission tileset Overworld_Block, Overworld_GFX, Overworld_Coll, $FF,$FF,$FF, $52, OUTDOOR tileset RedsHouse1_Block, RedsHouse1_GFX, RedsHouse1_Coll, $FF,$FF,$FF, $FF, INDOOR tileset Mart_Block, Mart_GFX, Mart_Coll, $18,$19,$1E, $FF, INDOOR diff --git a/data/tilesets/warp_pad_hole_tile_ids.asm b/data/tilesets/warp_pad_hole_tile_ids.asm index c9f0c242..e12b3735 100644 --- a/data/tilesets/warp_pad_hole_tile_ids.asm +++ b/data/tilesets/warp_pad_hole_tile_ids.asm @@ -1,5 +1,5 @@ WarpPadAndHoleData: -; tileset id, tile id, value for [wStandingOnWarpPadOrHole] + ; tileset id, tile id, value for [wStandingOnWarpPadOrHole] db FACILITY, $20, 1 ; warp pad db FACILITY, $11, 2 ; hole db CAVERN, $22, 2 ; hole diff --git a/data/trainers/ai_pointers.asm b/data/trainers/ai_pointers.asm index 7c0c38af..d2e3b11c 100644 --- a/data/trainers/ai_pointers.asm +++ b/data/trainers/ai_pointers.asm @@ -1,8 +1,8 @@ TrainerAIPointers: -; one entry per trainer class -; first byte, number of times (per Pokémon) it can occur -; next two bytes, pointer to AI subroutine for trainer class -; subroutines are defined in engine/battle/trainer_ai.asm + ; one entry per trainer class + ; first byte, number of times (per Pokémon) it can occur + ; next two bytes, pointer to AI subroutine for trainer class + ; subroutines are defined in engine/battle/trainer_ai.asm dbw 3, GenericAI dbw 3, GenericAI dbw 3, GenericAI diff --git a/data/trainers/pic_pointers_money.asm b/data/trainers/pic_pointers_money.asm index 1236e70c..d4007394 100755 --- a/data/trainers/pic_pointers_money.asm +++ b/data/trainers/pic_pointers_money.asm @@ -4,8 +4,8 @@ pic_money: MACRO ENDM TrainerPicAndMoneyPointers:: -; pic pointer, base reward money -; money received after battle = base money × level of highest-level enemy mon + ; pic pointer, base reward money + ; money received after battle = base money × level of highest-level enemy mon pic_money YoungsterPic, 1500 pic_money BugCatcherPic, 1000 pic_money LassPic, 1500 diff --git a/data/trainers/special_moves.asm b/data/trainers/special_moves.asm index 84969367..da19f587 100755 --- a/data/trainers/special_moves.asm +++ b/data/trainers/special_moves.asm @@ -1,9 +1,9 @@ ; unique moves for gym leaders -LoneMoves: -; pokemon index, move to give nth pokemon ; this is not automatic! you have to write the index you want to [wLoneAttackNo] ; first. e.g., erika's script writes 4 to [wLoneAttackNo] to get mega drain, ; the fourth entry in the list. +LoneMoves: + ; pokemon index, move to give nth pokemon db 1, BIDE db 1, BUBBLEBEAM db 2, THUNDERBOLT @@ -14,10 +14,10 @@ LoneMoves: db 4, FISSURE ; unique moves for elite 4 -TeamMoves: -; trainer, move ; all trainers in this class are given this move automatically ; (unrelated to LoneMoves) +TeamMoves: + ; trainer, move db LORELEI, BLIZZARD db BRUNO, FISSURE db AGATHA, TOXIC diff --git a/data/wild/good_rod.asm b/data/wild/good_rod.asm index 145a9e55..700a5516 100755 --- a/data/wild/good_rod.asm +++ b/data/wild/good_rod.asm @@ -1,5 +1,5 @@ ; random choice of 2 good rod encounters GoodRodMons: -; level, species + ; level, species db 10, GOLDEEN db 10, POLIWAG diff --git a/data/wild/super_rod.asm b/data/wild/super_rod.asm index 6c455504..20a52a6c 100755 --- a/data/wild/super_rod.asm +++ b/data/wild/super_rod.asm @@ -1,6 +1,6 @@ ; super rod encounters SuperRodData: -; map, fishing group + ; map, fishing group dbw PALLET_TOWN, .Group1 dbw VIRIDIAN_CITY, .Group1 dbw CERULEAN_CITY, .Group3 -- cgit v1.2.3 From 254f26bf6b36f1a35f3c3f58516e4f719af122c2 Mon Sep 17 00:00:00 2001 From: Rangi Date: Wed, 15 Jul 2020 12:43:59 -0400 Subject: Align constant comments as a column --- data/sprites/sprites.asm | 140 +++++++++++++++++++++++------------------------ 1 file changed, 70 insertions(+), 70 deletions(-) diff --git a/data/sprites/sprites.asm b/data/sprites/sprites.asm index cf7155a9..656d64dd 100644 --- a/data/sprites/sprites.asm +++ b/data/sprites/sprites.asm @@ -6,75 +6,75 @@ ENDM SpriteSheetPointerTable: ; graphics, tile count - overworld_sprite RedSprite, 12 ; SPRITE_RED - overworld_sprite BlueSprite, 12 ; SPRITE_BLUE - overworld_sprite OakSprite, 12 ; SPRITE_OAK - overworld_sprite BugCatcherSprite, 12 ; SPRITE_BUG_CATCHER - overworld_sprite SlowbroSprite, 12 ; SPRITE_SLOWBRO - overworld_sprite LassSprite, 12 ; SPRITE_LASS - overworld_sprite BlackHairBoy1Sprite, 12 ; SPRITE_BLACK_HAIR_BOY_1 - overworld_sprite LittleGirlSprite, 12 ; SPRITE_LITTLE_GIRL - overworld_sprite BirdSprite, 12 ; SPRITE_BIRD - overworld_sprite FatBaldGuySprite, 12 ; SPRITE_FAT_BALD_GUY - overworld_sprite GamblerSprite, 12 ; SPRITE_GAMBLER - overworld_sprite BlackHairBoy2Sprite, 12 ; SPRITE_BLACK_HAIR_BOY_2 - overworld_sprite GirlSprite, 12 ; SPRITE_GIRL - overworld_sprite HikerSprite, 12 ; SPRITE_HIKER - overworld_sprite FoulardWomanSprite, 12 ; SPRITE_FOULARD_WOMAN - overworld_sprite GentlemanSprite, 12 ; SPRITE_GENTLEMAN - overworld_sprite DaisySprite, 12 ; SPRITE_DAISY - overworld_sprite BikerSprite, 12 ; SPRITE_BIKER - overworld_sprite SailorSprite, 12 ; SPRITE_SAILOR - overworld_sprite CookSprite, 12 ; SPRITE_COOK - overworld_sprite BikeShopGuySprite, 12 ; SPRITE_BIKE_SHOP_GUY - overworld_sprite MrFujiSprite, 12 ; SPRITE_MR_FUJI - overworld_sprite GiovanniSprite, 12 ; SPRITE_GIOVANNI - overworld_sprite RocketSprite, 12 ; SPRITE_ROCKET - overworld_sprite MediumSprite, 12 ; SPRITE_MEDIUM - overworld_sprite WaiterSprite, 12 ; SPRITE_WAITER - overworld_sprite ErikaSprite, 12 ; SPRITE_ERIKA - overworld_sprite MomGeishaSprite, 12 ; SPRITE_MOM_GEISHA - overworld_sprite BrunetteGirlSprite, 12 ; SPRITE_BRUNETTE_GIRL - overworld_sprite LanceSprite, 12 ; SPRITE_LANCE - overworld_sprite OakAideSprite, 12 ; SPRITE_OAK_SCIENTIST_AIDE - overworld_sprite OakAideSprite, 12 ; SPRITE_OAK_AIDE - overworld_sprite RockerSprite, 12 ; SPRITE_ROCKER - overworld_sprite SwimmerSprite, 12 ; SPRITE_SWIMMER - overworld_sprite WhitePlayerSprite, 12 ; SPRITE_WHITE_PLAYER - overworld_sprite GymHelperSprite, 12 ; SPRITE_GYM_HELPER - overworld_sprite OldPersonSprite, 12 ; SPRITE_OLD_PERSON - overworld_sprite MartGuySprite, 12 ; SPRITE_MART_GUY - overworld_sprite FisherSprite, 12 ; SPRITE_FISHER + overworld_sprite RedSprite, 12 ; SPRITE_RED + overworld_sprite BlueSprite, 12 ; SPRITE_BLUE + overworld_sprite OakSprite, 12 ; SPRITE_OAK + overworld_sprite BugCatcherSprite, 12 ; SPRITE_BUG_CATCHER + overworld_sprite SlowbroSprite, 12 ; SPRITE_SLOWBRO + overworld_sprite LassSprite, 12 ; SPRITE_LASS + overworld_sprite BlackHairBoy1Sprite, 12 ; SPRITE_BLACK_HAIR_BOY_1 + overworld_sprite LittleGirlSprite, 12 ; SPRITE_LITTLE_GIRL + overworld_sprite BirdSprite, 12 ; SPRITE_BIRD + overworld_sprite FatBaldGuySprite, 12 ; SPRITE_FAT_BALD_GUY + overworld_sprite GamblerSprite, 12 ; SPRITE_GAMBLER + overworld_sprite BlackHairBoy2Sprite, 12 ; SPRITE_BLACK_HAIR_BOY_2 + overworld_sprite GirlSprite, 12 ; SPRITE_GIRL + overworld_sprite HikerSprite, 12 ; SPRITE_HIKER + overworld_sprite FoulardWomanSprite, 12 ; SPRITE_FOULARD_WOMAN + overworld_sprite GentlemanSprite, 12 ; SPRITE_GENTLEMAN + overworld_sprite DaisySprite, 12 ; SPRITE_DAISY + overworld_sprite BikerSprite, 12 ; SPRITE_BIKER + overworld_sprite SailorSprite, 12 ; SPRITE_SAILOR + overworld_sprite CookSprite, 12 ; SPRITE_COOK + overworld_sprite BikeShopGuySprite, 12 ; SPRITE_BIKE_SHOP_GUY + overworld_sprite MrFujiSprite, 12 ; SPRITE_MR_FUJI + overworld_sprite GiovanniSprite, 12 ; SPRITE_GIOVANNI + overworld_sprite RocketSprite, 12 ; SPRITE_ROCKET + overworld_sprite MediumSprite, 12 ; SPRITE_MEDIUM + overworld_sprite WaiterSprite, 12 ; SPRITE_WAITER + overworld_sprite ErikaSprite, 12 ; SPRITE_ERIKA + overworld_sprite MomGeishaSprite, 12 ; SPRITE_MOM_GEISHA + overworld_sprite BrunetteGirlSprite, 12 ; SPRITE_BRUNETTE_GIRL + overworld_sprite LanceSprite, 12 ; SPRITE_LANCE + overworld_sprite OakAideSprite, 12 ; SPRITE_OAK_SCIENTIST_AIDE + overworld_sprite OakAideSprite, 12 ; SPRITE_OAK_AIDE + overworld_sprite RockerSprite, 12 ; SPRITE_ROCKER + overworld_sprite SwimmerSprite, 12 ; SPRITE_SWIMMER + overworld_sprite WhitePlayerSprite, 12 ; SPRITE_WHITE_PLAYER + overworld_sprite GymHelperSprite, 12 ; SPRITE_GYM_HELPER + overworld_sprite OldPersonSprite, 12 ; SPRITE_OLD_PERSON + overworld_sprite MartGuySprite, 12 ; SPRITE_MART_GUY + overworld_sprite FisherSprite, 12 ; SPRITE_FISHER overworld_sprite OldMediumWomanSprite, 12 ; SPRITE_OLD_MEDIUM_WOMAN - overworld_sprite NurseSprite, 12 ; SPRITE_NURSE + overworld_sprite NurseSprite, 12 ; SPRITE_NURSE overworld_sprite CableClubWomanSprite, 12 ; SPRITE_CABLE_CLUB_WOMAN - overworld_sprite MrMasterballSprite, 12 ; SPRITE_MR_MASTERBALL - overworld_sprite LaprasGiverSprite, 12 ; SPRITE_LAPRAS_GIVER - overworld_sprite WardenSprite, 12 ; SPRITE_WARDEN - overworld_sprite SsCaptainSprite, 12 ; SPRITE_SS_CAPTAIN - overworld_sprite Fisher2Sprite, 12 ; SPRITE_FISHER2 - overworld_sprite BlackbeltSprite, 12 ; SPRITE_BLACKBELT - overworld_sprite GuardSprite, 12 ; SPRITE_GUARD - overworld_sprite GuardSprite, 12 ; $32 - overworld_sprite MomSprite, 12 ; SPRITE_MOM - overworld_sprite BaldingGuySprite, 12 ; SPRITE_BALDING_GUY - overworld_sprite YoungBoySprite, 12 ; SPRITE_YOUNG_BOY - overworld_sprite GameboyKidSprite, 12 ; SPRITE_GAMEBOY_KID - overworld_sprite GameboyKidSprite, 12 ; SPRITE_GAMEBOY_KID_COPY - overworld_sprite ClefairySprite, 12 ; SPRITE_CLEFAIRY - overworld_sprite AgathaSprite, 12 ; SPRITE_AGATHA - overworld_sprite BrunoSprite, 12 ; SPRITE_BRUNO - overworld_sprite LoreleiSprite, 12 ; SPRITE_LORELEI - overworld_sprite SeelSprite, 12 ; SPRITE_SEEL - overworld_sprite BallSprite, 4 ; SPRITE_BALL - overworld_sprite OmanyteSprite, 4 ; SPRITE_OMANYTE - overworld_sprite BoulderSprite, 4 ; SPRITE_BOULDER - overworld_sprite PaperSheetSprite, 4 ; SPRITE_PAPER_SHEET - overworld_sprite BookMapDexSprite, 4 ; SPRITE_BOOK_MAP_DEX - overworld_sprite ClipboardSprite, 4 ; SPRITE_CLIPBOARD - overworld_sprite SnorlaxSprite, 4 ; SPRITE_SNORLAX - overworld_sprite OldAmberSprite, 4 ; SPRITE_OLD_AMBER_COPY - overworld_sprite OldAmberSprite, 4 ; SPRITE_OLD_AMBER - overworld_sprite LyingOldManSprite, 4 ; SPRITE_LYING_OLD_MAN_UNUSED_1 - overworld_sprite LyingOldManSprite, 4 ; SPRITE_LYING_OLD_MAN_UNUSED_2 - overworld_sprite LyingOldManSprite, 4 ; SPRITE_LYING_OLD_MAN + overworld_sprite MrMasterballSprite, 12 ; SPRITE_MR_MASTERBALL + overworld_sprite LaprasGiverSprite, 12 ; SPRITE_LAPRAS_GIVER + overworld_sprite WardenSprite, 12 ; SPRITE_WARDEN + overworld_sprite SsCaptainSprite, 12 ; SPRITE_SS_CAPTAIN + overworld_sprite Fisher2Sprite, 12 ; SPRITE_FISHER2 + overworld_sprite BlackbeltSprite, 12 ; SPRITE_BLACKBELT + overworld_sprite GuardSprite, 12 ; SPRITE_GUARD + overworld_sprite GuardSprite, 12 ; $32 + overworld_sprite MomSprite, 12 ; SPRITE_MOM + overworld_sprite BaldingGuySprite, 12 ; SPRITE_BALDING_GUY + overworld_sprite YoungBoySprite, 12 ; SPRITE_YOUNG_BOY + overworld_sprite GameboyKidSprite, 12 ; SPRITE_GAMEBOY_KID + overworld_sprite GameboyKidSprite, 12 ; SPRITE_GAMEBOY_KID_COPY + overworld_sprite ClefairySprite, 12 ; SPRITE_CLEFAIRY + overworld_sprite AgathaSprite, 12 ; SPRITE_AGATHA + overworld_sprite BrunoSprite, 12 ; SPRITE_BRUNO + overworld_sprite LoreleiSprite, 12 ; SPRITE_LORELEI + overworld_sprite SeelSprite, 12 ; SPRITE_SEEL + overworld_sprite BallSprite, 4 ; SPRITE_BALL + overworld_sprite OmanyteSprite, 4 ; SPRITE_OMANYTE + overworld_sprite BoulderSprite, 4 ; SPRITE_BOULDER + overworld_sprite PaperSheetSprite, 4 ; SPRITE_PAPER_SHEET + overworld_sprite BookMapDexSprite, 4 ; SPRITE_BOOK_MAP_DEX + overworld_sprite ClipboardSprite, 4 ; SPRITE_CLIPBOARD + overworld_sprite SnorlaxSprite, 4 ; SPRITE_SNORLAX + overworld_sprite OldAmberSprite, 4 ; SPRITE_OLD_AMBER_COPY + overworld_sprite OldAmberSprite, 4 ; SPRITE_OLD_AMBER + overworld_sprite LyingOldManSprite, 4 ; SPRITE_LYING_OLD_MAN_UNUSED_1 + overworld_sprite LyingOldManSprite, 4 ; SPRITE_LYING_OLD_MAN_UNUSED_2 + overworld_sprite LyingOldManSprite, 4 ; SPRITE_LYING_OLD_MAN -- cgit v1.2.3 From 4b4ad9894eb165de673346348493e02d83549746 Mon Sep 17 00:00:00 2001 From: Rangi Date: Wed, 15 Jul 2020 13:35:39 -0400 Subject: Disassemble the BLUEMONS.GB debug ROM --- Makefile | 38 ++++--- README.md | 1 + data/predef_pointers.asm | 2 +- engine/debug/debug_menu.asm | 115 +++++++++++++++++++++ engine/debug/debug_party.asm | 148 +++++++++++++++++++++++++-- engine/debug/test_battle.asm | 45 -------- engine/events/hidden_objects/safari_game.asm | 4 + engine/gfx/palettes.asm | 4 +- engine/link/cable_club.asm | 4 +- engine/menus/main_menu.asm | 1 + engine/movie/intro.asm | 2 +- engine/movie/title.asm | 5 + engine/overworld/special_warps.asm | 2 +- gfx/blocksets/plateau.bst | Bin 1200 -> 1168 bytes home/header.asm | 26 ++++- home/npc_movement.asm | 12 ++- home/overworld.asm | 4 + home/text.asm | 4 + home/trainers.asm | 5 + main.asm | 2 +- roms.sha1 | 1 + scripts/CeruleanCity.asm | 4 + scripts/PewterCity.asm | 4 + scripts/PokemonTower2F.asm | 4 + wram.asm | 10 +- 25 files changed, 365 insertions(+), 82 deletions(-) create mode 100644 engine/debug/debug_menu.asm delete mode 100644 engine/debug/test_battle.asm diff --git a/Makefile b/Makefile index b32dc8cf..8b00cde9 100644 --- a/Makefile +++ b/Makefile @@ -1,4 +1,4 @@ -roms := pokered.gbc pokeblue.gbc +roms := pokered.gbc pokeblue.gbc pokeblue_debug.gbc rom_obj := \ audio.o \ @@ -11,8 +11,9 @@ gfx/pics.o \ gfx/sprites.o \ gfx/tilesets.o -pokered_obj := $(rom_obj:.o=_red.o) -pokeblue_obj := $(rom_obj:.o=_blue.o) +pokered_obj := $(rom_obj:.o=_red.o) +pokeblue_obj := $(rom_obj:.o=_blue.o) +pokeblue_debug_obj := $(rom_obj:.o=_blue_debug.o) ### Build tools @@ -36,19 +37,20 @@ RGBLINK ?= $(RGBDS)rgblink .SECONDEXPANSION: .PRECIOUS: .SECONDARY: -.PHONY: all red blue clean tidy compare tools +.PHONY: all red blue blue_debug clean tidy compare tools all: $(roms) -red: pokered.gbc -blue: pokeblue.gbc +red: pokered.gbc +blue: pokeblue.gbc +blue_debug: pokeblue_debug.gbc clean: - rm -f $(roms) $(pokered_obj) $(pokeblue_obj) $(roms:.gbc=.map) $(roms:.gbc=.sym) rgbdscheck.o + rm -f $(roms) $(pokered_obj) $(pokeblue_obj) $(pokeblue_debug_obj) $(roms:.gbc=.map) $(roms:.gbc=.sym) rgbdscheck.o find gfx \( -iname '*.1bpp' -o -iname '*.2bpp' -o -iname '*.pic' \) -delete $(MAKE) clean -C tools/ tidy: - rm -f $(roms) $(pokered_obj) $(pokeblue_obj) $(roms:.gbc=.map) $(roms:.gbc=.sym) rgbdscheck.o + rm -f $(roms) $(pokered_obj) $(pokeblue_obj) $(pokeblue_debug_obj) $(roms:.gbc=.map) $(roms:.gbc=.sym) rgbdscheck.o $(MAKE) clean -C tools/ compare: $(roms) @@ -64,8 +66,9 @@ ifeq ($(DEBUG),1) RGBASMFLAGS += -E endif -$(pokered_obj): RGBASMFLAGS += -D _RED -$(pokeblue_obj): RGBASMFLAGS += -D _BLUE +$(pokered_obj): RGBASMFLAGS += -D _RED +$(pokeblue_obj): RGBASMFLAGS += -D _BLUE +$(pokeblue_debug_obj): RGBASMFLAGS += -D _BLUE -D _DEBUG rgbdscheck.o: rgbdscheck.asm $(RGBASM) -o $@ $< @@ -87,18 +90,25 @@ $(info $(shell $(MAKE) -C tools)) # Dependencies for objects (drop _red and _blue from asm file basenames) $(foreach obj, $(pokered_obj), $(eval $(call DEP,$(obj),$(obj:_red.o=.asm)))) $(foreach obj, $(pokeblue_obj), $(eval $(call DEP,$(obj),$(obj:_blue.o=.asm)))) +$(foreach obj, $(pokeblue_debug_obj), $(eval $(call DEP,$(obj),$(obj:_blue_debug.o=.asm)))) endif %.asm: ; -pokered_opt = -jsv -k 01 -l 0x33 -m 0x13 -p 0 -r 03 -t "POKEMON RED" -pokeblue_opt = -jsv -k 01 -l 0x33 -m 0x13 -p 0 -r 03 -t "POKEMON BLUE" + +pokered_pad = 0x00 +pokeblue_pad = 0x00 +pokeblue_debug_pad = 0xff + +pokered_opt = -jsv -n 0 -k 01 -l 0x33 -m 0x13 -r 03 -t "POKEMON RED" +pokeblue_opt = -jsv -n 0 -k 01 -l 0x33 -m 0x13 -r 03 -t "POKEMON BLUE" +pokeblue_debug_opt = -jsv -n 0 -k 01 -l 0x33 -m 0x13 -r 03 -t "POKEMON BLUE" %.gbc: $$(%_obj) layout.link - $(RGBLINK) -d -m $*.map -n $*.sym -l layout.link -o $@ $(filter %.o,$^) - $(RGBFIX) $($*_opt) $@ + $(RGBLINK) -p $($*_pad) -d -m $*.map -n $*.sym -l layout.link -o $@ $(filter %.o,$^) + $(RGBFIX) -p $($*_pad) $($*_opt) $@ ### Misc file-specific graphics rules diff --git a/README.md b/README.md index 21e48780..78fab5ca 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,7 @@ It builds the following ROMs: - Pokemon Red (UE) [S][!].gb `sha1: ea9bcae617fdf159b045185467ae58b2e4a48b9a` - Pokemon Blue (UE) [S][!].gb `sha1: d7037c83e1ae5b39bde3c30787637ba1d4c48ce2` +- BLUEMONS.GB (debug build) `sha1: 5b1456177671b79b263c614ea0e7cc9ac542e9c4` To set up the repository, see [**INSTALL.md**](INSTALL.md). diff --git a/data/predef_pointers.asm b/data/predef_pointers.asm index 3c74050d..b8911f3c 100644 --- a/data/predef_pointers.asm +++ b/data/predef_pointers.asm @@ -87,7 +87,7 @@ PredefPointers:: add_predef LoadTownMap_Nest add_predef PrintMonType add_predef EmotionBubble - add_predef EmptyFunc3; return immediately + add_predef EmptyFunc ; return immediately add_predef AskName add_predef PewterGuys add_predef SaveSAVtoSRAM2 diff --git a/engine/debug/debug_menu.asm b/engine/debug/debug_menu.asm new file mode 100644 index 00000000..02280db0 --- /dev/null +++ b/engine/debug/debug_menu.asm @@ -0,0 +1,115 @@ +DebugMenu: +IF DEF(_DEBUG) + call ClearScreen + + ld hl, DebugPlayerName + ld de, wPlayerName + ld bc, NAME_LENGTH + call CopyData + + ld hl, DebugRivalName + ld de, wRivalName + ld bc, NAME_LENGTH + call CopyData + + call LoadFontTilePatterns + call LoadHpBarAndStatusTilePatterns + call ClearSprites + call RunDefaultPaletteCommand + + hlcoord 5, 6 + ld b, 3 + ld c, 9 + call TextBoxBorder + + hlcoord 7, 7 + ld de, DebugMenuOptions + call PlaceString + + ld a, 3 ; medium speed + ld [wOptions], a + + ld a, A_BUTTON | B_BUTTON | START + ld [wMenuWatchedKeys], a + xor a + ld [wMenuJoypadPollCount], a + inc a + ld [wMaxMenuItem], a + ld a, 7 + ld [wTopMenuItemY], a + dec a + ld [wTopMenuItemX], a + xor a + ld [wCurrentMenuItem], a + ld [wLastMenuItem], a + ld [wMenuWatchMovingOutOfBounds], a + + call HandleMenuInput + bit BIT_B_BUTTON, a + jp nz, DisplayTitleScreen + + ld a, [wCurrentMenuItem] + and a ; FIGHT? + jp z, TestBattle + + ; DEBUG + ld hl, wd732 + set 1, [hl] + jp StartNewGameDebug + +DebugPlayerName: + db "Tom@" + +DebugRivalName: + db "Juerry@" + +DebugMenuOptions: + db "FIGHT" + next "DEBUG@" +ELSE + ret +ENDC + +TestBattle: +.loop + call GBPalNormal + + ; Don't mess around + ; with obedience. + ld a, 1 << BIT_EARTHBADGE + ld [wObtainedBadges], a + + ld hl, wFlags_D733 + set BIT_TEST_BATTLE, [hl] + + ; Reset the party. + ld hl, wPartyCount + xor a + ld [hli], a + dec a + ld [hl], a + + ; Give the player a + ; level 20 Rhydon. + ld a, RHYDON + ld [wcf91], a + ld a, 20 + ld [wCurEnemyLVL], a + xor a + ld [wMonDataLocation], a + ld [wCurMap], a + call AddPartyMon + + ; Fight against a + ; level 20 Rhydon. + ld a, RHYDON + ld [wCurOpponent], a + + predef InitOpponent + + ; When the battle ends, + ; do it all again. + ld a, 1 + ld [wUpdateSpritesEnabled], a + ldh [hAutoBGTransferEnabled], a + jr .loop diff --git a/engine/debug/debug_party.asm b/engine/debug/debug_party.asm index a5eb7dde..17baa7ef 100644 --- a/engine/debug/debug_party.asm +++ b/engine/debug/debug_party.asm @@ -1,5 +1,4 @@ -; This function appears to never be used. -; It is likely a debugging feature to give the player Tsunekazu Ishihara's +; This function is a debugging feature to give the player Tsunekazu Ishihara's ; favorite Pokemon. This is indicated by the overpowered Exeggutor, which ; Ishihara (president of Creatures Inc.) said was his favorite Pokemon in an ABC ; interview on February 8, 2000. @@ -11,7 +10,7 @@ SetIshiharaTeam: ld de, IshiharaTeam .loop ld a, [de] - cp $ff + cp -1 ret z ld [wcf91], a inc de @@ -22,12 +21,139 @@ SetIshiharaTeam: jr .loop IshiharaTeam: - db EXEGGUTOR,90 - db MEW,20 - db JOLTEON,56 - db DUGTRIO,56 - db ARTICUNO,57 - db $FF - -EmptyFunc: + db EXEGGUTOR, 90 +IF DEF(_DEBUG) + db MEW, 5 +ELSE + db MEW, 20 +ENDC + db JOLTEON, 56 + db DUGTRIO, 56 + db ARTICUNO, 57 +IF DEF(_DEBUG) + db PIKACHU, 5 +ENDC + db -1 ; end + +DebugStart: +IF DEF(_DEBUG) + xor a ; PLAYER_PARTY_DATA + ld [wMonDataLocation], a + + ; Fly anywhere. + dec a ; $ff + ld [wTownVisitedFlag], a + ld [wTownVisitedFlag + 1], a + + ; Get all badges except Earth Badge. + ld a, $ff ^ (1 << BIT_EARTHBADGE) + ld [wObtainedBadges], a + + call SetIshiharaTeam + + ; Exeggutor gets four HM moves. + ld hl, wPartyMon1Moves + ld a, FLY + ld [hli], a + ld a, CUT + ld [hli], a + ld a, SURF + ld [hli], a + ld a, STRENGTH + ld [hl], a + ld hl, wPartyMon1PP + ld a, 15 + ld [hli], a + ld a, 30 + ld [hli], a + ld a, 15 + ld [hli], a + ld [hl], a + + ; Jolteon gets Thunderbolt. + ld hl, wPartyMon3Moves + 3 + ld a, THUNDERBOLT + ld [hl], a + ld hl, wPartyMon3PP + 3 + ld a, 15 + ld [hl], a + + ; Articuno gets Fly. + ld hl, wPartyMon5Moves + ld a, FLY + ld [hl], a + ld hl, wPartyMon5PP + ld a, 15 + ld [hl], a + + ; Pikachu gets Surf. + ld hl, wPartyMon6Moves + 2 + ld a, SURF + ld [hl], a + ld hl, wPartyMon6PP + 2 + ld a, 15 + ld [hl], a + + ; Get some debug items. + ld hl, wNumBagItems + ld de, DebugItemsList +.items_loop + ld a, [de] + cp -1 + jr z, .items_end + ld [wcf91], a + inc de + ld a, [de] + inc de + ld [wItemQuantity], a + call AddItemToInventory + jr .items_loop +.items_end + + ; Complete the Pokédex. + ld hl, wPokedexOwned + call DebugSetPokedexEntries + ld hl, wPokedexSeen + call DebugSetPokedexEntries + SetEvent EVENT_GOT_POKEDEX + + ; Rival chose Squirtle, + ; Player chose Charmander. + ld hl, wRivalStarter + ld a, STARTER2 + ld [hli], a + inc hl ; hl = wPlayerStarter + ld a, STARTER1 + ld [hl], a + + ret + +DebugSetPokedexEntries: + ld b, wPokedexOwnedEnd - wPokedexOwned - 1 + ld a, %11111111 +.loop + ld [hli], a + dec b + jr nz, .loop + ld [hl], %01111111 + ret + +DebugItemsList: + db BICYCLE, 1 + db FULL_RESTORE, 99 + db FULL_HEAL, 99 + db ESCAPE_ROPE, 99 + db RARE_CANDY, 99 + db MASTER_BALL, 99 + db TOWN_MAP, 1 + db SECRET_KEY, 1 + db CARD_KEY, 1 + db S_S_TICKET, 1 + db LIFT_KEY, 1 + db -1 ; end + +DebugUnusedList: + db -1 ; end +ELSE ret +ENDC diff --git a/engine/debug/test_battle.asm b/engine/debug/test_battle.asm deleted file mode 100644 index 01b9825e..00000000 --- a/engine/debug/test_battle.asm +++ /dev/null @@ -1,45 +0,0 @@ -TestBattle: - ret - -.loop - call GBPalNormal - - ; Don't mess around - ; with obedience. - ld a, 1 << BIT_EARTHBADGE - ld [wObtainedBadges], a - - ld hl, wFlags_D733 - set BIT_TEST_BATTLE, [hl] - - ; Reset the party. - ld hl, wPartyCount - xor a - ld [hli], a - dec a - ld [hl], a - - ; Give the player a - ; level 20 Rhydon. - ld a, RHYDON - ld [wcf91], a - ld a, 20 - ld [wCurEnemyLVL], a - xor a - ld [wMonDataLocation], a - ld [wCurMap], a - call AddPartyMon - - ; Fight against a - ; level 20 Rhydon. - ld a, RHYDON - ld [wCurOpponent], a - - predef InitOpponent - - ; When the battle ends, - ; do it all again. - ld a, 1 - ld [wUpdateSpritesEnabled], a - ldh [hAutoBGTransferEnabled], a - jr .loop diff --git a/engine/events/hidden_objects/safari_game.asm b/engine/events/hidden_objects/safari_game.asm index 5996fc6f..ac07e2f3 100644 --- a/engine/events/hidden_objects/safari_game.asm +++ b/engine/events/hidden_objects/safari_game.asm @@ -7,6 +7,10 @@ SafariZoneCheck:: jr SafariZoneGameStillGoing SafariZoneCheckSteps:: +IF DEF(_DEBUG) + call DebugPressedOrHeldB + ret nz +ENDC ld a, [wSafariSteps] ld b, a ld a, [wSafariSteps + 1] diff --git a/engine/gfx/palettes.asm b/engine/gfx/palettes.asm index f724a8a9..618e48b3 100755 --- a/engine/gfx/palettes.asm +++ b/engine/gfx/palettes.asm @@ -567,7 +567,7 @@ SendSGBPackets: push de call InitGBCPalettes pop hl - call EmptyFunc5 + call EmptyFunc3 ret .notGBC push de @@ -597,7 +597,7 @@ InitGBCPalettes: jr nz, .loop ret -EmptyFunc5: +EmptyFunc3: ret CopySGBBorderTiles: diff --git a/engine/link/cable_club.asm b/engine/link/cable_club.asm index 67c0e471..2bfda595 100755 --- a/engine/link/cable_club.asm +++ b/engine/link/cable_club.asm @@ -894,7 +894,7 @@ CableClub_Run: jr z, .doBattleOrTrade cp LINK_STATE_RESET ; this is never used ret nz - predef EmptyFunc3 + predef EmptyFunc jp Init .doBattleOrTrade call CableClub_DoBattleOrTrade @@ -923,7 +923,7 @@ CableClub_Run: ld [wNewSoundID], a jp PlaySound -EmptyFunc3: +EmptyFunc: ret Diploma_TextBoxBorder: diff --git a/engine/menus/main_menu.asm b/engine/menus/main_menu.asm index d2776240..3da894f6 100755 --- a/engine/menus/main_menu.asm +++ b/engine/menus/main_menu.asm @@ -307,6 +307,7 @@ LinkCanceledText: StartNewGame: ld hl, wd732 res 1, [hl] +StartNewGameDebug: call OakSpeech ld c, 20 call DelayFrames diff --git a/engine/movie/intro.asm b/engine/movie/intro.asm index fc404b82..215b54ae 100755 --- a/engine/movie/intro.asm +++ b/engine/movie/intro.asm @@ -361,7 +361,7 @@ IntroDrawBlackBars: ld c, BG_MAP_WIDTH * 4 jp IntroPlaceBlackTiles -EmptyFunc4: +EmptyFunc2: ret IntroNidorinoAnimation0: diff --git a/engine/movie/title.asm b/engine/movie/title.asm index bdb24d6a..7b883cfd 100755 --- a/engine/movie/title.asm +++ b/engine/movie/title.asm @@ -252,6 +252,11 @@ ENDC and D_UP | SELECT | B_BUTTON cp D_UP | SELECT | B_BUTTON jp z, .doClearSaveDialogue +IF DEF(_DEBUG) + ld a, b + bit BIT_SELECT, a + jp nz, DebugMenu +ENDC jp MainMenu .doClearSaveDialogue diff --git a/engine/overworld/special_warps.asm b/engine/overworld/special_warps.asm index 54471ee0..61356a03 100644 --- a/engine/overworld/special_warps.asm +++ b/engine/overworld/special_warps.asm @@ -11,7 +11,7 @@ SpecialWarpIn:: .next bit 1, [hl] jr z, .next3 - call EmptyFunc + call DebugStart .next3 ld a, 0 .next2 diff --git a/gfx/blocksets/plateau.bst b/gfx/blocksets/plateau.bst index 26435dc8..54c3ffec 100644 Binary files a/gfx/blocksets/plateau.bst and b/gfx/blocksets/plateau.bst differ diff --git a/home/header.asm b/home/header.asm index 047f97f4..c12a0565 100644 --- a/home/header.asm +++ b/home/header.asm @@ -3,42 +3,66 @@ SECTION "rst0", ROM0[$0000] rst $38 + ds $08 - @, 0 ; unused + SECTION "rst8", ROM0[$0008] rst $38 + ds $10 - @, 0 ; unused + SECTION "rst10", ROM0[$0010] rst $38 + ds $18 - @, 0 ; unused + SECTION "rst18", ROM0[$0018] rst $38 + ds $20 - @, 0 ; unused + SECTION "rst20", ROM0[$0020] rst $38 + ds $28 - @, 0 ; unused + SECTION "rst28", ROM0[$0028] rst $38 + ds $30 - @, 0 ; unused + SECTION "rst30", ROM0[$0030] rst $38 + ds $38 - @, 0 ; unused + SECTION "rst38", ROM0[$0038] rst $38 + ds $40 - @, 0 ; unused + ; Game Boy hardware interrupts SECTION "vblank", ROM0[$0040] jp VBlank + ds $48 - @, 0 ; unused + SECTION "lcd", ROM0[$0048] rst $38 + ds $50 - @, 0 ; unused + SECTION "timer", ROM0[$0050] jp Timer + ds $58 - @, 0 ; unused + SECTION "serial", ROM0[$0058] jp Serial + ds $60 - @, 0 ; unused + SECTION "joypad", ROM0[$0060] reti @@ -54,4 +78,4 @@ Start:: ; The Game Boy cartridge header data is patched over by rgbfix. ; This makes sure it doesn't get used for anything else. - ds $0150 - @, $00 + ds $0150 - @ diff --git a/home/npc_movement.asm b/home/npc_movement.asm index 4914d3df..a3367f9a 100644 --- a/home/npc_movement.asm +++ b/home/npc_movement.asm @@ -50,5 +50,15 @@ RunNPCMovementScript:: EndNPCMovementScript:: farjp _EndNPCMovementScript -EmptyFunc2:: +DebugPressedOrHeldB:: +IF DEF(_DEBUG) + ld a, [wd732] + bit 1, a + ret z + ldh a, [hJoyHeld] + bit BIT_B_BUTTON, a + ret nz + ldh a, [hJoyPressed] + bit BIT_B_BUTTON, a +ENDC ret diff --git a/home/overworld.asm b/home/overworld.asm index 0408bf32..1863ea4a 100644 --- a/home/overworld.asm +++ b/home/overworld.asm @@ -2436,7 +2436,11 @@ CheckForUserInterruption:: jr z, .input ldh a, [hJoy5] +IF DEF(_DEBUG) + and START | SELECT | A_BUTTON +ELSE and START | A_BUTTON +ENDC jr nz, .input dec c diff --git a/home/text.asm b/home/text.asm index bdd871cb..ad0c4fd8 100644 --- a/home/text.asm +++ b/home/text.asm @@ -622,7 +622,11 @@ TextCommandJumpTable:: dw TextCommand_BOX ; TX_BOX dw TextCommand_LOW ; TX_LOW dw TextCommand_PROMPT_BUTTON ; TX_PROMPT_BUTTON +IF DEF(_DEBUG) + dw _ContTextNoPause ; TX_SCROLL +ELSE dw TextCommand_SCROLL ; TX_SCROLL +ENDC dw TextCommand_START_ASM ; TX_START_ASM dw TextCommand_NUM ; TX_NUM dw TextCommand_PAUSE ; TX_PAUSE diff --git a/home/trainers.asm b/home/trainers.asm index 37e36c2f..fae3dde1 100644 --- a/home/trainers.asm +++ b/home/trainers.asm @@ -126,10 +126,15 @@ TalkToTrainer:: ; checks if any trainers are seeing the player and wanting to fight CheckFightingMapTrainers:: +IF DEF(_DEBUG) + call DebugPressedOrHeldB + jr nz, .trainerNotEngaging +ENDC call CheckForEngagingTrainers ld a, [wSpriteIndex] cp $ff jr nz, .trainerEngaging +.trainerNotEngaging xor a ld [wSpriteIndex], a ld [wTrainerHeaderFlagBit], a diff --git a/main.asm b/main.asm index 7738cd2f..51f9fa9f 100755 --- a/main.asm +++ b/main.asm @@ -16,7 +16,7 @@ INCLUDE "engine/gfx/sprite_oam.asm" INCLUDE "engine/gfx/oam_dma.asm" INCLUDE "engine/link/print_waiting_text.asm" INCLUDE "engine/overworld/sprite_collisions.asm" -INCLUDE "engine/debug/test_battle.asm" +INCLUDE "engine/debug/debug_menu.asm" INCLUDE "engine/events/pick_up_item.asm" INCLUDE "engine/overworld/movement.asm" INCLUDE "engine/link/cable_club.asm" diff --git a/roms.sha1 b/roms.sha1 index d3c48ac7..44e94aaf 100644 --- a/roms.sha1 +++ b/roms.sha1 @@ -1,2 +1,3 @@ ea9bcae617fdf159b045185467ae58b2e4a48b9a *pokered.gbc d7037c83e1ae5b39bde3c30787637ba1d4c48ce2 *pokeblue.gbc +5b1456177671b79b263c614ea0e7cc9ac542e9c4 *pokeblue_debug.gbc diff --git a/scripts/CeruleanCity.asm b/scripts/CeruleanCity.asm index 070120b7..209e29cc 100755 --- a/scripts/CeruleanCity.asm +++ b/scripts/CeruleanCity.asm @@ -35,6 +35,10 @@ CeruleanCityScript4: ret CeruleanCityScript0: +IF DEF(_DEBUG) + call DebugPressedOrHeldB + ret nz +ENDC CheckEvent EVENT_BEAT_CERULEAN_ROCKET_THIEF jr nz, .asm_194f7 ld hl, CeruleanCityCoords1 diff --git a/scripts/PewterCity.asm b/scripts/PewterCity.asm index e3d39dae..ec626b8a 100755 --- a/scripts/PewterCity.asm +++ b/scripts/PewterCity.asm @@ -23,6 +23,10 @@ PewterCityScript0: PewterCityScript_1925e: CheckEvent EVENT_BEAT_BROCK ret nz +IF DEF(_DEBUG) + call DebugPressedOrHeldB + ret nz +ENDC ld hl, CoordsData_19277 call ArePlayerCoordsInArray ret nc diff --git a/scripts/PokemonTower2F.asm b/scripts/PokemonTower2F.asm index cddebfa8..5ab85c2d 100755 --- a/scripts/PokemonTower2F.asm +++ b/scripts/PokemonTower2F.asm @@ -17,6 +17,10 @@ PokemonTower2F_ScriptPointers: dw PokemonTower2Script2 PokemonTower2Script0: +IF DEF(_DEBUG) + call DebugPressedOrHeldB + ret nz +ENDC CheckEvent EVENT_BEAT_POKEMON_TOWER_RIVAL ret nz ld hl, CoordsData_6055e diff --git a/wram.asm b/wram.asm index e2f1c0ab..c6eb750e 100755 --- a/wram.asm +++ b/wram.asm @@ -2942,11 +2942,17 @@ wd730:: wd732:: ; bit 0: play time being counted -; bit 1: remnant of debug mode? not set by the game code. -; if it is set +; bit 1: remnant of debug mode; only set by the debug build. +; if it is set: ; 1. skips most of Prof. Oak's speech, and uses NINTEN as the player's name and SONY as the rival's name ; 2. does not have the player start in floor two of the player's house (instead sending them to [wLastMap]) ; 3. allows wild battles to be avoided by holding down B +; furthermore, in the debug build: +; 4. allows trainers to be avoided by holding down B +; 5. skips Safari Zone step counter by holding down B +; 6. skips the NPC who blocks Route 3 before beating Brock by holding down B +; 7. skips Cerulean City rival battle by holding down B +; 8. skips Pokémon Tower rival battle by holding down B ; bit 2: the target warp is a fly warp (bit 3 set or blacked out) or a dungeon warp (bit 4 set) ; bit 3: used warp pad, escape rope, dig, teleport, or fly, so the target warp is a "fly warp" ; bit 4: jumped into hole (Pokemon Mansion, Seafoam Islands, Victory Road) or went down waterfall (Seafoam Islands), so the target warp is a "dungeon warp" -- cgit v1.2.3 From 4ecff22f716aad9e9ad034cb0feae6cae273162e Mon Sep 17 00:00:00 2001 From: TheFakeMateo Date: Wed, 15 Jul 2020 18:12:58 -0500 Subject: Deobfuscate exit warps on indoor maps --- constants/map_constants.asm | 5 +++++ data/maps/objects/BikeShop.asm | 4 ++-- data/maps/objects/BillsHouse.asm | 4 ++-- data/maps/objects/BluesHouse.asm | 4 ++-- data/maps/objects/CeladonChiefHouse.asm | 4 ++-- data/maps/objects/CeladonDiner.asm | 4 ++-- data/maps/objects/CeladonGym.asm | 4 ++-- data/maps/objects/CeladonHotel.asm | 4 ++-- data/maps/objects/CeladonMansion1F.asm | 6 +++--- data/maps/objects/CeladonMart1F.asm | 8 ++++---- data/maps/objects/CeladonPokecenter.asm | 4 ++-- data/maps/objects/CeruleanBadgeHouse.asm | 6 +++--- data/maps/objects/CeruleanCave1F.asm | 4 ++-- data/maps/objects/CeruleanGym.asm | 4 ++-- data/maps/objects/CeruleanMart.asm | 4 ++-- data/maps/objects/CeruleanPokecenter.asm | 4 ++-- data/maps/objects/CeruleanTradeHouse.asm | 4 ++-- data/maps/objects/CeruleanTrashedHouse.asm | 6 +++--- data/maps/objects/CinnabarGym.asm | 4 ++-- data/maps/objects/CinnabarLab.asm | 4 ++-- data/maps/objects/CinnabarMart.asm | 4 ++-- data/maps/objects/CinnabarPokecenter.asm | 4 ++-- data/maps/objects/CopycatsHouse1F.asm | 4 ++-- data/maps/objects/Daycare.asm | 4 ++-- data/maps/objects/DiglettsCaveRoute11.asm | 4 ++-- data/maps/objects/DiglettsCaveRoute2.asm | 4 ++-- data/maps/objects/FightingDojo.asm | 4 ++-- data/maps/objects/FuchsiaBillsGrandpasHouse.asm | 4 ++-- data/maps/objects/FuchsiaGoodRodHouse.asm | 6 +++--- data/maps/objects/FuchsiaGym.asm | 4 ++-- data/maps/objects/FuchsiaMart.asm | 4 ++-- data/maps/objects/FuchsiaMeetingRoom.asm | 4 ++-- data/maps/objects/FuchsiaPokecenter.asm | 4 ++-- data/maps/objects/GameCorner.asm | 4 ++-- data/maps/objects/GameCornerPrizeRoom.asm | 4 ++-- data/maps/objects/IndigoPlateauLobby.asm | 4 ++-- data/maps/objects/LavenderCuboneHouse.asm | 4 ++-- data/maps/objects/LavenderMart.asm | 4 ++-- data/maps/objects/LavenderPokecenter.asm | 4 ++-- data/maps/objects/MrFujisHouse.asm | 4 ++-- data/maps/objects/MrPsychicsHouse.asm | 4 ++-- data/maps/objects/MtMoon1F.asm | 4 ++-- data/maps/objects/MtMoonB1F.asm | 2 +- data/maps/objects/MtMoonPokecenter.asm | 4 ++-- data/maps/objects/Museum1F.asm | 8 ++++---- data/maps/objects/NameRatersHouse.asm | 4 ++-- data/maps/objects/OaksLab.asm | 4 ++-- data/maps/objects/PewterGym.asm | 4 ++-- data/maps/objects/PewterMart.asm | 4 ++-- data/maps/objects/PewterNidoranHouse.asm | 4 ++-- data/maps/objects/PewterPokecenter.asm | 4 ++-- data/maps/objects/PewterSpeechHouse.asm | 4 ++-- data/maps/objects/PokemonFanClub.asm | 4 ++-- data/maps/objects/PokemonMansion1F.asm | 12 ++++++------ data/maps/objects/PokemonTower1F.asm | 4 ++-- data/maps/objects/PowerPlant.asm | 6 +++--- data/maps/objects/RedsHouse1F.asm | 4 ++-- data/maps/objects/RockTunnel1F.asm | 8 ++++---- data/maps/objects/RockTunnelPokecenter.asm | 4 ++-- data/maps/objects/Route11Gate1F.asm | 8 ++++---- data/maps/objects/Route12Gate1F.asm | 8 ++++---- data/maps/objects/Route12SuperRodHouse.asm | 4 ++-- data/maps/objects/Route15Gate1F.asm | 8 ++++---- data/maps/objects/Route16FlyHouse.asm | 4 ++-- data/maps/objects/Route16Gate1F.asm | 16 ++++++++-------- data/maps/objects/Route18Gate1F.asm | 8 ++++---- data/maps/objects/Route22Gate.asm | 8 ++++---- data/maps/objects/Route2Gate.asm | 8 ++++---- data/maps/objects/Route2TradeHouse.asm | 4 ++-- data/maps/objects/Route5Gate.asm | 8 ++++---- data/maps/objects/Route6Gate.asm | 8 ++++---- data/maps/objects/Route7Gate.asm | 8 ++++---- data/maps/objects/Route8Gate.asm | 8 ++++---- data/maps/objects/SafariZoneGate.asm | 4 ++-- data/maps/objects/SaffronGym.asm | 4 ++-- data/maps/objects/SaffronMart.asm | 4 ++-- data/maps/objects/SaffronPidgeyHouse.asm | 4 ++-- data/maps/objects/SaffronPokecenter.asm | 4 ++-- data/maps/objects/SeafoamIslands1F.asm | 8 ++++---- data/maps/objects/SilphCo11F.asm | 2 +- data/maps/objects/SilphCo1F.asm | 4 ++-- data/maps/objects/UndergroundPathRoute5.asm | 4 ++-- data/maps/objects/UndergroundPathRoute6.asm | 4 ++-- data/maps/objects/UndergroundPathRoute7.asm | 4 ++-- data/maps/objects/UndergroundPathRoute7Copy.asm | 4 ++-- data/maps/objects/UndergroundPathRoute8.asm | 4 ++-- data/maps/objects/VermilionDock.asm | 2 +- data/maps/objects/VermilionGym.asm | 4 ++-- data/maps/objects/VermilionMart.asm | 4 ++-- data/maps/objects/VermilionOldRodHouse.asm | 4 ++-- data/maps/objects/VermilionPidgeyHouse.asm | 4 ++-- data/maps/objects/VermilionPokecenter.asm | 4 ++-- data/maps/objects/VermilionTradeHouse.asm | 4 ++-- data/maps/objects/VictoryRoad1F.asm | 4 ++-- data/maps/objects/VictoryRoad2F.asm | 4 ++-- data/maps/objects/ViridianForestNorthGate.asm | 4 ++-- data/maps/objects/ViridianForestSouthGate.asm | 4 ++-- data/maps/objects/ViridianGym.asm | 4 ++-- data/maps/objects/ViridianMart.asm | 4 ++-- data/maps/objects/ViridianNicknameHouse.asm | 4 ++-- data/maps/objects/ViridianPokecenter.asm | 4 ++-- data/maps/objects/ViridianSchoolHouse.asm | 4 ++-- data/maps/objects/WardensHouse.asm | 4 ++-- home/overworld.asm | 2 +- 104 files changed, 250 insertions(+), 245 deletions(-) diff --git a/constants/map_constants.asm b/constants/map_constants.asm index 3ddc5746..6c7d8d48 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -253,3 +253,8 @@ ENDM mapconst LORELEIS_ROOM, 6, 5 ; $F5 mapconst BRUNOS_ROOM, 6, 5 ; $F6 mapconst AGATHAS_ROOM, 6, 5 ; $F7 + + +; Indoor maps, such as houses, use this as the Map ID in their exit warps +; This map ID takes the player back to the last outdoor map they were on, stored in wLastMap +LAST_MAP EQU -1 diff --git a/data/maps/objects/BikeShop.asm b/data/maps/objects/BikeShop.asm index 9f21ab3e..acfd7294 100755 --- a/data/maps/objects/BikeShop.asm +++ b/data/maps/objects/BikeShop.asm @@ -2,8 +2,8 @@ BikeShop_Object: db $e ; border block db 2 ; warps - warp 2, 7, 4, -1 - warp 3, 7, 4, -1 + warp 2, 7, 4, LAST_MAP + warp 3, 7, 4, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/BillsHouse.asm b/data/maps/objects/BillsHouse.asm index c8f708cb..c0ddf2ec 100755 --- a/data/maps/objects/BillsHouse.asm +++ b/data/maps/objects/BillsHouse.asm @@ -2,8 +2,8 @@ BillsHouse_Object: db $d ; border block db 2 ; warps - warp 2, 7, 0, -1 - warp 3, 7, 0, -1 + warp 2, 7, 0, LAST_MAP + warp 3, 7, 0, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/BluesHouse.asm b/data/maps/objects/BluesHouse.asm index 45ca1286..8681787c 100755 --- a/data/maps/objects/BluesHouse.asm +++ b/data/maps/objects/BluesHouse.asm @@ -2,8 +2,8 @@ BluesHouse_Object: db $a ; border block db 2 ; warps - warp 2, 7, 1, -1 - warp 3, 7, 1, -1 + warp 2, 7, 1, LAST_MAP + warp 3, 7, 1, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/CeladonChiefHouse.asm b/data/maps/objects/CeladonChiefHouse.asm index 88850f35..d912bf94 100755 --- a/data/maps/objects/CeladonChiefHouse.asm +++ b/data/maps/objects/CeladonChiefHouse.asm @@ -2,8 +2,8 @@ CeladonChiefHouse_Object: db $f ; border block db 2 ; warps - warp 2, 7, 11, -1 - warp 3, 7, 11, -1 + warp 2, 7, 11, LAST_MAP + warp 3, 7, 11, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/CeladonDiner.asm b/data/maps/objects/CeladonDiner.asm index 0a4a895d..b2f42e48 100755 --- a/data/maps/objects/CeladonDiner.asm +++ b/data/maps/objects/CeladonDiner.asm @@ -2,8 +2,8 @@ CeladonDiner_Object: db $f ; border block db 2 ; warps - warp 3, 7, 10, -1 - warp 4, 7, 10, -1 + warp 3, 7, 10, LAST_MAP + warp 4, 7, 10, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/CeladonGym.asm b/data/maps/objects/CeladonGym.asm index 98fce576..a38ef4e8 100755 --- a/data/maps/objects/CeladonGym.asm +++ b/data/maps/objects/CeladonGym.asm @@ -2,8 +2,8 @@ CeladonGym_Object: db $3 ; border block db 2 ; warps - warp 4, 17, 6, -1 - warp 5, 17, 6, -1 + warp 4, 17, 6, LAST_MAP + warp 5, 17, 6, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/CeladonHotel.asm b/data/maps/objects/CeladonHotel.asm index f4aa1305..642950bd 100755 --- a/data/maps/objects/CeladonHotel.asm +++ b/data/maps/objects/CeladonHotel.asm @@ -2,8 +2,8 @@ CeladonHotel_Object: db $0 ; border block db 2 ; warps - warp 3, 7, 12, -1 - warp 4, 7, 12, -1 + warp 3, 7, 12, LAST_MAP + warp 4, 7, 12, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/CeladonMansion1F.asm b/data/maps/objects/CeladonMansion1F.asm index 1abd434c..7f5b684b 100755 --- a/data/maps/objects/CeladonMansion1F.asm +++ b/data/maps/objects/CeladonMansion1F.asm @@ -2,9 +2,9 @@ CeladonMansion1F_Object: db $f ; border block db 5 ; warps - warp 4, 11, 2, -1 - warp 5, 11, 2, -1 - warp 4, 0, 4, -1 + warp 4, 11, 2, LAST_MAP + warp 5, 11, 2, LAST_MAP + warp 4, 0, 4, LAST_MAP warp 7, 1, 1, CELADON_MANSION_2F warp 2, 1, 2, CELADON_MANSION_2F diff --git a/data/maps/objects/CeladonMart1F.asm b/data/maps/objects/CeladonMart1F.asm index 2037369a..3403e12c 100755 --- a/data/maps/objects/CeladonMart1F.asm +++ b/data/maps/objects/CeladonMart1F.asm @@ -2,10 +2,10 @@ CeladonMart1F_Object: db $f ; border block db 6 ; warps - warp 2, 7, 0, -1 - warp 3, 7, 0, -1 - warp 16, 7, 1, -1 - warp 17, 7, 1, -1 + warp 2, 7, 0, LAST_MAP + warp 3, 7, 0, LAST_MAP + warp 16, 7, 1, LAST_MAP + warp 17, 7, 1, LAST_MAP warp 12, 1, 0, CELADON_MART_2F warp 1, 1, 0, CELADON_MART_ELEVATOR diff --git a/data/maps/objects/CeladonPokecenter.asm b/data/maps/objects/CeladonPokecenter.asm index da5d595f..feddb996 100755 --- a/data/maps/objects/CeladonPokecenter.asm +++ b/data/maps/objects/CeladonPokecenter.asm @@ -2,8 +2,8 @@ CeladonPokecenter_Object: db $0 ; border block db 2 ; warps - warp 3, 7, 5, -1 - warp 4, 7, 5, -1 + warp 3, 7, 5, LAST_MAP + warp 4, 7, 5, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/CeruleanBadgeHouse.asm b/data/maps/objects/CeruleanBadgeHouse.asm index 62a6873b..eb6ac206 100755 --- a/data/maps/objects/CeruleanBadgeHouse.asm +++ b/data/maps/objects/CeruleanBadgeHouse.asm @@ -2,9 +2,9 @@ CeruleanBadgeHouse_Object: db $c ; border block db 3 ; warps - warp 2, 0, 9, -1 - warp 2, 7, 8, -1 - warp 3, 7, 8, -1 + warp 2, 0, 9, LAST_MAP + warp 2, 7, 8, LAST_MAP + warp 3, 7, 8, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/CeruleanCave1F.asm b/data/maps/objects/CeruleanCave1F.asm index f9670482..713f88ef 100755 --- a/data/maps/objects/CeruleanCave1F.asm +++ b/data/maps/objects/CeruleanCave1F.asm @@ -2,8 +2,8 @@ CeruleanCave1F_Object: db $7d ; border block db 9 ; warps - warp 24, 17, 6, -1 - warp 25, 17, 6, -1 + warp 24, 17, 6, LAST_MAP + warp 25, 17, 6, LAST_MAP warp 27, 1, 0, CERULEAN_CAVE_2F warp 23, 7, 1, CERULEAN_CAVE_2F warp 18, 9, 2, CERULEAN_CAVE_2F diff --git a/data/maps/objects/CeruleanGym.asm b/data/maps/objects/CeruleanGym.asm index 96713648..76cf3c3d 100755 --- a/data/maps/objects/CeruleanGym.asm +++ b/data/maps/objects/CeruleanGym.asm @@ -2,8 +2,8 @@ CeruleanGym_Object: db $3 ; border block db 2 ; warps - warp 4, 13, 3, -1 - warp 5, 13, 3, -1 + warp 4, 13, 3, LAST_MAP + warp 5, 13, 3, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/CeruleanMart.asm b/data/maps/objects/CeruleanMart.asm index 4659375f..16e3fa5f 100755 --- a/data/maps/objects/CeruleanMart.asm +++ b/data/maps/objects/CeruleanMart.asm @@ -2,8 +2,8 @@ CeruleanMart_Object: db $0 ; border block db 2 ; warps - warp 3, 7, 5, -1 - warp 4, 7, 5, -1 + warp 3, 7, 5, LAST_MAP + warp 4, 7, 5, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/CeruleanPokecenter.asm b/data/maps/objects/CeruleanPokecenter.asm index f65db52c..23fab3b9 100755 --- a/data/maps/objects/CeruleanPokecenter.asm +++ b/data/maps/objects/CeruleanPokecenter.asm @@ -2,8 +2,8 @@ CeruleanPokecenter_Object: db $0 ; border block db 2 ; warps - warp 3, 7, 2, -1 - warp 4, 7, 2, -1 + warp 3, 7, 2, LAST_MAP + warp 4, 7, 2, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/CeruleanTradeHouse.asm b/data/maps/objects/CeruleanTradeHouse.asm index a4a46e9b..ccf1a693 100755 --- a/data/maps/objects/CeruleanTradeHouse.asm +++ b/data/maps/objects/CeruleanTradeHouse.asm @@ -2,8 +2,8 @@ CeruleanTradeHouse_Object: db $a ; border block db 2 ; warps - warp 2, 7, 1, -1 - warp 3, 7, 1, -1 + warp 2, 7, 1, LAST_MAP + warp 3, 7, 1, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/CeruleanTrashedHouse.asm b/data/maps/objects/CeruleanTrashedHouse.asm index 44b7cf20..43b3b1dd 100755 --- a/data/maps/objects/CeruleanTrashedHouse.asm +++ b/data/maps/objects/CeruleanTrashedHouse.asm @@ -2,9 +2,9 @@ CeruleanTrashedHouse_Object: db $a ; border block db 3 ; warps - warp 2, 7, 0, -1 - warp 3, 7, 0, -1 - warp 3, 0, 7, -1 + warp 2, 7, 0, LAST_MAP + warp 3, 7, 0, LAST_MAP + warp 3, 0, 7, LAST_MAP db 1 ; signs sign 3, 0, 3 ; CeruleanHouseTrashedText3 diff --git a/data/maps/objects/CinnabarGym.asm b/data/maps/objects/CinnabarGym.asm index ab204d43..f0b200f0 100755 --- a/data/maps/objects/CinnabarGym.asm +++ b/data/maps/objects/CinnabarGym.asm @@ -2,8 +2,8 @@ CinnabarGym_Object: db $2e ; border block db 2 ; warps - warp 16, 17, 1, -1 - warp 17, 17, 1, -1 + warp 16, 17, 1, LAST_MAP + warp 17, 17, 1, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/CinnabarLab.asm b/data/maps/objects/CinnabarLab.asm index deb5d8ed..1a2320dd 100755 --- a/data/maps/objects/CinnabarLab.asm +++ b/data/maps/objects/CinnabarLab.asm @@ -2,8 +2,8 @@ CinnabarLab_Object: db $17 ; border block db 5 ; warps - warp 2, 7, 2, -1 - warp 3, 7, 2, -1 + warp 2, 7, 2, LAST_MAP + warp 3, 7, 2, LAST_MAP warp 8, 4, 0, CINNABAR_LAB_TRADE_ROOM warp 12, 4, 0, CINNABAR_LAB_METRONOME_ROOM warp 16, 4, 0, CINNABAR_LAB_FOSSIL_ROOM diff --git a/data/maps/objects/CinnabarMart.asm b/data/maps/objects/CinnabarMart.asm index af88ddf0..a4f9215c 100755 --- a/data/maps/objects/CinnabarMart.asm +++ b/data/maps/objects/CinnabarMart.asm @@ -2,8 +2,8 @@ CinnabarMart_Object: db $0 ; border block db 2 ; warps - warp 3, 7, 4, -1 - warp 4, 7, 4, -1 + warp 3, 7, 4, LAST_MAP + warp 4, 7, 4, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/CinnabarPokecenter.asm b/data/maps/objects/CinnabarPokecenter.asm index 9583ef2a..ac7df5ac 100755 --- a/data/maps/objects/CinnabarPokecenter.asm +++ b/data/maps/objects/CinnabarPokecenter.asm @@ -2,8 +2,8 @@ CinnabarPokecenter_Object: db $0 ; border block db 2 ; warps - warp 3, 7, 3, -1 - warp 4, 7, 3, -1 + warp 3, 7, 3, LAST_MAP + warp 4, 7, 3, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/CopycatsHouse1F.asm b/data/maps/objects/CopycatsHouse1F.asm index cb4dbb0b..fe79991e 100755 --- a/data/maps/objects/CopycatsHouse1F.asm +++ b/data/maps/objects/CopycatsHouse1F.asm @@ -2,8 +2,8 @@ CopycatsHouse1F_Object: db $a ; border block db 3 ; warps - warp 2, 7, 0, -1 - warp 3, 7, 0, -1 + warp 2, 7, 0, LAST_MAP + warp 3, 7, 0, LAST_MAP warp 7, 1, 0, COPYCATS_HOUSE_2F db 0 ; signs diff --git a/data/maps/objects/Daycare.asm b/data/maps/objects/Daycare.asm index c58c83e4..e701a846 100755 --- a/data/maps/objects/Daycare.asm +++ b/data/maps/objects/Daycare.asm @@ -2,8 +2,8 @@ Daycare_Object: db $a ; border block db 2 ; warps - warp 2, 7, 4, -1 - warp 3, 7, 4, -1 + warp 2, 7, 4, LAST_MAP + warp 3, 7, 4, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/DiglettsCaveRoute11.asm b/data/maps/objects/DiglettsCaveRoute11.asm index a4c70f06..bbfa84e6 100755 --- a/data/maps/objects/DiglettsCaveRoute11.asm +++ b/data/maps/objects/DiglettsCaveRoute11.asm @@ -2,8 +2,8 @@ DiglettsCaveRoute11_Object: db $7d ; border block db 3 ; warps - warp 2, 7, 4, -1 - warp 3, 7, 4, -1 + warp 2, 7, 4, LAST_MAP + warp 3, 7, 4, LAST_MAP warp 4, 4, 1, DIGLETTS_CAVE db 0 ; signs diff --git a/data/maps/objects/DiglettsCaveRoute2.asm b/data/maps/objects/DiglettsCaveRoute2.asm index 0567fee6..1a3742e8 100755 --- a/data/maps/objects/DiglettsCaveRoute2.asm +++ b/data/maps/objects/DiglettsCaveRoute2.asm @@ -2,8 +2,8 @@ DiglettsCaveRoute2_Object: db $7d ; border block db 3 ; warps - warp 2, 7, 0, -1 - warp 3, 7, 0, -1 + warp 2, 7, 0, LAST_MAP + warp 3, 7, 0, LAST_MAP warp 4, 4, 0, DIGLETTS_CAVE db 0 ; signs diff --git a/data/maps/objects/FightingDojo.asm b/data/maps/objects/FightingDojo.asm index fdc7b838..7e3f0745 100755 --- a/data/maps/objects/FightingDojo.asm +++ b/data/maps/objects/FightingDojo.asm @@ -2,8 +2,8 @@ FightingDojo_Object: db $3 ; border block db 2 ; warps - warp 4, 11, 1, -1 - warp 5, 11, 1, -1 + warp 4, 11, 1, LAST_MAP + warp 5, 11, 1, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/FuchsiaBillsGrandpasHouse.asm b/data/maps/objects/FuchsiaBillsGrandpasHouse.asm index 363b56f9..2004acc3 100755 --- a/data/maps/objects/FuchsiaBillsGrandpasHouse.asm +++ b/data/maps/objects/FuchsiaBillsGrandpasHouse.asm @@ -2,8 +2,8 @@ FuchsiaBillsGrandpasHouse_Object: db $a ; border block db 2 ; warps - warp 2, 7, 1, -1 - warp 3, 7, 1, -1 + warp 2, 7, 1, LAST_MAP + warp 3, 7, 1, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/FuchsiaGoodRodHouse.asm b/data/maps/objects/FuchsiaGoodRodHouse.asm index 390447c8..fbb94117 100755 --- a/data/maps/objects/FuchsiaGoodRodHouse.asm +++ b/data/maps/objects/FuchsiaGoodRodHouse.asm @@ -2,9 +2,9 @@ FuchsiaGoodRodHouse_Object: db $c ; border block db 3 ; warps - warp 2, 0, 8, -1 - warp 2, 7, 7, -1 - warp 3, 7, 7, -1 + warp 2, 0, 8, LAST_MAP + warp 2, 7, 7, LAST_MAP + warp 3, 7, 7, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/FuchsiaGym.asm b/data/maps/objects/FuchsiaGym.asm index 5d707d53..5558fa12 100755 --- a/data/maps/objects/FuchsiaGym.asm +++ b/data/maps/objects/FuchsiaGym.asm @@ -2,8 +2,8 @@ FuchsiaGym_Object: db $3 ; border block db 2 ; warps - warp 4, 17, 5, -1 - warp 5, 17, 5, -1 + warp 4, 17, 5, LAST_MAP + warp 5, 17, 5, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/FuchsiaMart.asm b/data/maps/objects/FuchsiaMart.asm index cfa71d8d..83aae080 100755 --- a/data/maps/objects/FuchsiaMart.asm +++ b/data/maps/objects/FuchsiaMart.asm @@ -2,8 +2,8 @@ FuchsiaMart_Object: db $0 ; border block db 2 ; warps - warp 3, 7, 0, -1 - warp 4, 7, 0, -1 + warp 3, 7, 0, LAST_MAP + warp 4, 7, 0, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/FuchsiaMeetingRoom.asm b/data/maps/objects/FuchsiaMeetingRoom.asm index 9130d920..be15088a 100755 --- a/data/maps/objects/FuchsiaMeetingRoom.asm +++ b/data/maps/objects/FuchsiaMeetingRoom.asm @@ -2,8 +2,8 @@ FuchsiaMeetingRoom_Object: db $17 ; border block db 2 ; warps - warp 4, 7, 6, -1 - warp 5, 7, 6, -1 + warp 4, 7, 6, LAST_MAP + warp 5, 7, 6, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/FuchsiaPokecenter.asm b/data/maps/objects/FuchsiaPokecenter.asm index 73dc529d..03eb657a 100755 --- a/data/maps/objects/FuchsiaPokecenter.asm +++ b/data/maps/objects/FuchsiaPokecenter.asm @@ -2,8 +2,8 @@ FuchsiaPokecenter_Object: db $0 ; border block db 2 ; warps - warp 3, 7, 2, -1 - warp 4, 7, 2, -1 + warp 3, 7, 2, LAST_MAP + warp 4, 7, 2, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/GameCorner.asm b/data/maps/objects/GameCorner.asm index 2704f6ab..c528f45f 100755 --- a/data/maps/objects/GameCorner.asm +++ b/data/maps/objects/GameCorner.asm @@ -2,8 +2,8 @@ GameCorner_Object: db $f ; border block db 3 ; warps - warp 15, 17, 7, -1 - warp 16, 17, 7, -1 + warp 15, 17, 7, LAST_MAP + warp 16, 17, 7, LAST_MAP warp 17, 4, 1, ROCKET_HIDEOUT_B1F db 1 ; signs diff --git a/data/maps/objects/GameCornerPrizeRoom.asm b/data/maps/objects/GameCornerPrizeRoom.asm index 35cd3ac8..6d1a80c4 100755 --- a/data/maps/objects/GameCornerPrizeRoom.asm +++ b/data/maps/objects/GameCornerPrizeRoom.asm @@ -2,8 +2,8 @@ GameCornerPrizeRoom_Object: db $f ; border block db 2 ; warps - warp 4, 7, 9, -1 - warp 5, 7, 9, -1 + warp 4, 7, 9, LAST_MAP + warp 5, 7, 9, LAST_MAP db 3 ; signs sign 2, 2, 3 ; CeladonPrizeRoomText3 diff --git a/data/maps/objects/IndigoPlateauLobby.asm b/data/maps/objects/IndigoPlateauLobby.asm index ea113a16..e20563db 100755 --- a/data/maps/objects/IndigoPlateauLobby.asm +++ b/data/maps/objects/IndigoPlateauLobby.asm @@ -2,8 +2,8 @@ IndigoPlateauLobby_Object: db $0 ; border block db 3 ; warps - warp 7, 11, 0, -1 - warp 8, 11, 1, -1 + warp 7, 11, 0, LAST_MAP + warp 8, 11, 1, LAST_MAP warp 8, 0, 0, LORELEIS_ROOM db 0 ; signs diff --git a/data/maps/objects/LavenderCuboneHouse.asm b/data/maps/objects/LavenderCuboneHouse.asm index 96f1b3ba..62cd8848 100755 --- a/data/maps/objects/LavenderCuboneHouse.asm +++ b/data/maps/objects/LavenderCuboneHouse.asm @@ -2,8 +2,8 @@ LavenderCuboneHouse_Object: db $a ; border block db 2 ; warps - warp 2, 7, 4, -1 - warp 3, 7, 4, -1 + warp 2, 7, 4, LAST_MAP + warp 3, 7, 4, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/LavenderMart.asm b/data/maps/objects/LavenderMart.asm index df14ad39..788260f8 100755 --- a/data/maps/objects/LavenderMart.asm +++ b/data/maps/objects/LavenderMart.asm @@ -2,8 +2,8 @@ LavenderMart_Object: db $0 ; border block db 2 ; warps - warp 3, 7, 3, -1 - warp 4, 7, 3, -1 + warp 3, 7, 3, LAST_MAP + warp 4, 7, 3, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/LavenderPokecenter.asm b/data/maps/objects/LavenderPokecenter.asm index 89e25571..09a0b509 100755 --- a/data/maps/objects/LavenderPokecenter.asm +++ b/data/maps/objects/LavenderPokecenter.asm @@ -2,8 +2,8 @@ LavenderPokecenter_Object: db $0 ; border block db 2 ; warps - warp 3, 7, 0, -1 - warp 4, 7, 0, -1 + warp 3, 7, 0, LAST_MAP + warp 4, 7, 0, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/MrFujisHouse.asm b/data/maps/objects/MrFujisHouse.asm index 5b6ca2a6..b06aa392 100755 --- a/data/maps/objects/MrFujisHouse.asm +++ b/data/maps/objects/MrFujisHouse.asm @@ -2,8 +2,8 @@ MrFujisHouse_Object: db $a ; border block db 2 ; warps - warp 2, 7, 2, -1 - warp 3, 7, 2, -1 + warp 2, 7, 2, LAST_MAP + warp 3, 7, 2, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/MrPsychicsHouse.asm b/data/maps/objects/MrPsychicsHouse.asm index 01f9e11c..33c9dc62 100755 --- a/data/maps/objects/MrPsychicsHouse.asm +++ b/data/maps/objects/MrPsychicsHouse.asm @@ -2,8 +2,8 @@ MrPsychicsHouse_Object: db $a ; border block db 2 ; warps - warp 2, 7, 7, -1 - warp 3, 7, 7, -1 + warp 2, 7, 7, LAST_MAP + warp 3, 7, 7, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/MtMoon1F.asm b/data/maps/objects/MtMoon1F.asm index bc158512..16f931f4 100755 --- a/data/maps/objects/MtMoon1F.asm +++ b/data/maps/objects/MtMoon1F.asm @@ -2,8 +2,8 @@ MtMoon1F_Object: db $3 ; border block db 5 ; warps - warp 14, 35, 1, -1 - warp 15, 35, 1, -1 + warp 14, 35, 1, LAST_MAP + warp 15, 35, 1, LAST_MAP warp 5, 5, 0, MT_MOON_B1F warp 17, 11, 2, MT_MOON_B1F warp 25, 15, 3, MT_MOON_B1F diff --git a/data/maps/objects/MtMoonB1F.asm b/data/maps/objects/MtMoonB1F.asm index a8365ba7..7c83d2fb 100755 --- a/data/maps/objects/MtMoonB1F.asm +++ b/data/maps/objects/MtMoonB1F.asm @@ -9,7 +9,7 @@ MtMoonB1F_Object: warp 21, 17, 1, MT_MOON_B2F warp 13, 27, 2, MT_MOON_B2F warp 23, 3, 3, MT_MOON_B2F - warp 27, 3, 2, -1 + warp 27, 3, 2, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/MtMoonPokecenter.asm b/data/maps/objects/MtMoonPokecenter.asm index b23703e6..5a33a235 100755 --- a/data/maps/objects/MtMoonPokecenter.asm +++ b/data/maps/objects/MtMoonPokecenter.asm @@ -2,8 +2,8 @@ MtMoonPokecenter_Object: db $0 ; border block db 2 ; warps - warp 3, 7, 0, -1 - warp 4, 7, 0, -1 + warp 3, 7, 0, LAST_MAP + warp 4, 7, 0, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/Museum1F.asm b/data/maps/objects/Museum1F.asm index 1cfd2c68..207dfbf2 100755 --- a/data/maps/objects/Museum1F.asm +++ b/data/maps/objects/Museum1F.asm @@ -2,10 +2,10 @@ Museum1F_Object: db $a ; border block db 5 ; warps - warp 10, 7, 0, -1 - warp 11, 7, 0, -1 - warp 16, 7, 1, -1 - warp 17, 7, 1, -1 + warp 10, 7, 0, LAST_MAP + warp 11, 7, 0, LAST_MAP + warp 16, 7, 1, LAST_MAP + warp 17, 7, 1, LAST_MAP warp 7, 7, 0, MUSEUM_2F db 0 ; signs diff --git a/data/maps/objects/NameRatersHouse.asm b/data/maps/objects/NameRatersHouse.asm index da95bc43..11187394 100755 --- a/data/maps/objects/NameRatersHouse.asm +++ b/data/maps/objects/NameRatersHouse.asm @@ -2,8 +2,8 @@ NameRatersHouse_Object: db $a ; border block db 2 ; warps - warp 2, 7, 5, -1 - warp 3, 7, 5, -1 + warp 2, 7, 5, LAST_MAP + warp 3, 7, 5, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/OaksLab.asm b/data/maps/objects/OaksLab.asm index fa78ccdf..676683b4 100755 --- a/data/maps/objects/OaksLab.asm +++ b/data/maps/objects/OaksLab.asm @@ -2,8 +2,8 @@ OaksLab_Object: db $3 ; border block db 2 ; warps - warp 4, 11, 2, -1 - warp 5, 11, 2, -1 + warp 4, 11, 2, LAST_MAP + warp 5, 11, 2, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/PewterGym.asm b/data/maps/objects/PewterGym.asm index 538c3923..514ae416 100755 --- a/data/maps/objects/PewterGym.asm +++ b/data/maps/objects/PewterGym.asm @@ -2,8 +2,8 @@ PewterGym_Object: db $3 ; border block db 2 ; warps - warp 4, 13, 2, -1 - warp 5, 13, 2, -1 + warp 4, 13, 2, LAST_MAP + warp 5, 13, 2, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/PewterMart.asm b/data/maps/objects/PewterMart.asm index 9b983316..76616662 100755 --- a/data/maps/objects/PewterMart.asm +++ b/data/maps/objects/PewterMart.asm @@ -2,8 +2,8 @@ PewterMart_Object: db $0 ; border block db 2 ; warps - warp 3, 7, 4, -1 - warp 4, 7, 4, -1 + warp 3, 7, 4, LAST_MAP + warp 4, 7, 4, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/PewterNidoranHouse.asm b/data/maps/objects/PewterNidoranHouse.asm index f00317d1..26baa645 100755 --- a/data/maps/objects/PewterNidoranHouse.asm +++ b/data/maps/objects/PewterNidoranHouse.asm @@ -2,8 +2,8 @@ PewterNidoranHouse_Object: db $a ; border block db 2 ; warps - warp 2, 7, 3, -1 - warp 3, 7, 3, -1 + warp 2, 7, 3, LAST_MAP + warp 3, 7, 3, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/PewterPokecenter.asm b/data/maps/objects/PewterPokecenter.asm index 2b375bf9..5cffa28c 100755 --- a/data/maps/objects/PewterPokecenter.asm +++ b/data/maps/objects/PewterPokecenter.asm @@ -2,8 +2,8 @@ PewterPokecenter_Object: db $0 ; border block db 2 ; warps - warp 3, 7, 6, -1 - warp 4, 7, 6, -1 + warp 3, 7, 6, LAST_MAP + warp 4, 7, 6, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/PewterSpeechHouse.asm b/data/maps/objects/PewterSpeechHouse.asm index e7134cb5..f3fa88b6 100755 --- a/data/maps/objects/PewterSpeechHouse.asm +++ b/data/maps/objects/PewterSpeechHouse.asm @@ -2,8 +2,8 @@ PewterSpeechHouse_Object: db $a ; border block db 2 ; warps - warp 2, 7, 5, -1 - warp 3, 7, 5, -1 + warp 2, 7, 5, LAST_MAP + warp 3, 7, 5, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/PokemonFanClub.asm b/data/maps/objects/PokemonFanClub.asm index e1f175f0..4de8e162 100755 --- a/data/maps/objects/PokemonFanClub.asm +++ b/data/maps/objects/PokemonFanClub.asm @@ -2,8 +2,8 @@ PokemonFanClub_Object: db $d ; border block db 2 ; warps - warp 2, 7, 1, -1 - warp 3, 7, 1, -1 + warp 2, 7, 1, LAST_MAP + warp 3, 7, 1, LAST_MAP db 2 ; signs sign 1, 0, 7 ; FanClubText7 diff --git a/data/maps/objects/PokemonMansion1F.asm b/data/maps/objects/PokemonMansion1F.asm index 109b5b8e..5830cb28 100755 --- a/data/maps/objects/PokemonMansion1F.asm +++ b/data/maps/objects/PokemonMansion1F.asm @@ -2,14 +2,14 @@ PokemonMansion1F_Object: db $2e ; border block db 8 ; warps - warp 4, 27, 0, -1 - warp 5, 27, 0, -1 - warp 6, 27, 0, -1 - warp 7, 27, 0, -1 + warp 4, 27, 0, LAST_MAP + warp 5, 27, 0, LAST_MAP + warp 6, 27, 0, LAST_MAP + warp 7, 27, 0, LAST_MAP warp 5, 10, 0, POKEMON_MANSION_2F warp 21, 23, 0, POKEMON_MANSION_B1F - warp 26, 27, 0, -1 - warp 27, 27, 0, -1 + warp 26, 27, 0, LAST_MAP + warp 27, 27, 0, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/PokemonTower1F.asm b/data/maps/objects/PokemonTower1F.asm index cf62836b..f92969e1 100755 --- a/data/maps/objects/PokemonTower1F.asm +++ b/data/maps/objects/PokemonTower1F.asm @@ -2,8 +2,8 @@ PokemonTower1F_Object: db $1 ; border block db 3 ; warps - warp 10, 17, 1, -1 - warp 11, 17, 1, -1 + warp 10, 17, 1, LAST_MAP + warp 11, 17, 1, LAST_MAP warp 18, 9, 1, POKEMON_TOWER_2F db 0 ; signs diff --git a/data/maps/objects/PowerPlant.asm b/data/maps/objects/PowerPlant.asm index 05465325..646652d6 100755 --- a/data/maps/objects/PowerPlant.asm +++ b/data/maps/objects/PowerPlant.asm @@ -2,9 +2,9 @@ PowerPlant_Object: db $2e ; border block db 3 ; warps - warp 4, 35, 3, -1 - warp 5, 35, 3, -1 - warp 0, 11, 3, -1 + warp 4, 35, 3, LAST_MAP + warp 5, 35, 3, LAST_MAP + warp 0, 11, 3, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/RedsHouse1F.asm b/data/maps/objects/RedsHouse1F.asm index a54b5411..bfa8e1b8 100755 --- a/data/maps/objects/RedsHouse1F.asm +++ b/data/maps/objects/RedsHouse1F.asm @@ -2,8 +2,8 @@ RedsHouse1F_Object: db $a ; border block db 3 ; warps - warp 2, 7, 0, -1 ; exit1 - warp 3, 7, 0, -1 ; exit2 + warp 2, 7, 0, LAST_MAP ; exit1 + warp 3, 7, 0, LAST_MAP ; exit2 warp 7, 1, 0, REDS_HOUSE_2F ; staircase db 1 ; signs diff --git a/data/maps/objects/RockTunnel1F.asm b/data/maps/objects/RockTunnel1F.asm index 1cf5a12f..11400eaa 100755 --- a/data/maps/objects/RockTunnel1F.asm +++ b/data/maps/objects/RockTunnel1F.asm @@ -2,10 +2,10 @@ RockTunnel1F_Object: db $3 ; border block db 8 ; warps - warp 15, 3, 1, -1 - warp 15, 0, 1, -1 - warp 15, 33, 2, -1 - warp 15, 35, 2, -1 + warp 15, 3, 1, LAST_MAP + warp 15, 0, 1, LAST_MAP + warp 15, 33, 2, LAST_MAP + warp 15, 35, 2, LAST_MAP warp 37, 3, 0, ROCK_TUNNEL_B1F warp 5, 3, 1, ROCK_TUNNEL_B1F warp 17, 11, 2, ROCK_TUNNEL_B1F diff --git a/data/maps/objects/RockTunnelPokecenter.asm b/data/maps/objects/RockTunnelPokecenter.asm index a7619f7f..87ddf1b4 100755 --- a/data/maps/objects/RockTunnelPokecenter.asm +++ b/data/maps/objects/RockTunnelPokecenter.asm @@ -2,8 +2,8 @@ RockTunnelPokecenter_Object: db $0 ; border block db 2 ; warps - warp 3, 7, 0, -1 - warp 4, 7, 0, -1 + warp 3, 7, 0, LAST_MAP + warp 4, 7, 0, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/Route11Gate1F.asm b/data/maps/objects/Route11Gate1F.asm index 5c4a120c..45c49ad5 100755 --- a/data/maps/objects/Route11Gate1F.asm +++ b/data/maps/objects/Route11Gate1F.asm @@ -2,10 +2,10 @@ Route11Gate1F_Object: db $a ; border block db 5 ; warps - warp 0, 4, 0, -1 - warp 0, 5, 1, -1 - warp 7, 4, 2, -1 - warp 7, 5, 3, -1 + warp 0, 4, 0, LAST_MAP + warp 0, 5, 1, LAST_MAP + warp 7, 4, 2, LAST_MAP + warp 7, 5, 3, LAST_MAP warp 6, 8, 0, ROUTE_11_GATE_2F db 0 ; signs diff --git a/data/maps/objects/Route12Gate1F.asm b/data/maps/objects/Route12Gate1F.asm index 94f6b91a..f298bfe3 100755 --- a/data/maps/objects/Route12Gate1F.asm +++ b/data/maps/objects/Route12Gate1F.asm @@ -2,10 +2,10 @@ Route12Gate1F_Object: db $a ; border block db 5 ; warps - warp 4, 0, 0, -1 - warp 5, 0, 1, -1 - warp 4, 7, 2, -1 - warp 5, 7, 2, -1 + warp 4, 0, 0, LAST_MAP + warp 5, 0, 1, LAST_MAP + warp 4, 7, 2, LAST_MAP + warp 5, 7, 2, LAST_MAP warp 8, 6, 0, ROUTE_12_GATE_2F db 0 ; signs diff --git a/data/maps/objects/Route12SuperRodHouse.asm b/data/maps/objects/Route12SuperRodHouse.asm index 458378a2..b645dbdf 100755 --- a/data/maps/objects/Route12SuperRodHouse.asm +++ b/data/maps/objects/Route12SuperRodHouse.asm @@ -2,8 +2,8 @@ Route12SuperRodHouse_Object: db $a ; border block db 2 ; warps - warp 2, 7, 3, -1 - warp 3, 7, 3, -1 + warp 2, 7, 3, LAST_MAP + warp 3, 7, 3, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/Route15Gate1F.asm b/data/maps/objects/Route15Gate1F.asm index 23b1f5a7..59f39e42 100755 --- a/data/maps/objects/Route15Gate1F.asm +++ b/data/maps/objects/Route15Gate1F.asm @@ -2,10 +2,10 @@ Route15Gate1F_Object: db $a ; border block db 5 ; warps - warp 0, 4, 0, -1 - warp 0, 5, 1, -1 - warp 7, 4, 2, -1 - warp 7, 5, 3, -1 + warp 0, 4, 0, LAST_MAP + warp 0, 5, 1, LAST_MAP + warp 7, 4, 2, LAST_MAP + warp 7, 5, 3, LAST_MAP warp 6, 8, 0, ROUTE_15_GATE_2F db 0 ; signs diff --git a/data/maps/objects/Route16FlyHouse.asm b/data/maps/objects/Route16FlyHouse.asm index ec493fef..b6a5b345 100755 --- a/data/maps/objects/Route16FlyHouse.asm +++ b/data/maps/objects/Route16FlyHouse.asm @@ -2,8 +2,8 @@ Route16FlyHouse_Object: db $a ; border block db 2 ; warps - warp 2, 7, 8, -1 - warp 3, 7, 8, -1 + warp 2, 7, 8, LAST_MAP + warp 3, 7, 8, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/Route16Gate1F.asm b/data/maps/objects/Route16Gate1F.asm index 1d5baa1d..9866bd3e 100755 --- a/data/maps/objects/Route16Gate1F.asm +++ b/data/maps/objects/Route16Gate1F.asm @@ -2,14 +2,14 @@ Route16Gate1F_Object: db $a ; border block db 9 ; warps - warp 0, 8, 0, -1 - warp 0, 9, 1, -1 - warp 7, 8, 2, -1 - warp 7, 9, 2, -1 - warp 0, 2, 4, -1 - warp 0, 3, 5, -1 - warp 7, 2, 6, -1 - warp 7, 3, 7, -1 + warp 0, 8, 0, LAST_MAP + warp 0, 9, 1, LAST_MAP + warp 7, 8, 2, LAST_MAP + warp 7, 9, 2, LAST_MAP + warp 0, 2, 4, LAST_MAP + warp 0, 3, 5, LAST_MAP + warp 7, 2, 6, LAST_MAP + warp 7, 3, 7, LAST_MAP warp 6, 12, 0, ROUTE_16_GATE_2F db 0 ; signs diff --git a/data/maps/objects/Route18Gate1F.asm b/data/maps/objects/Route18Gate1F.asm index 83cb386a..17eacc7e 100755 --- a/data/maps/objects/Route18Gate1F.asm +++ b/data/maps/objects/Route18Gate1F.asm @@ -2,10 +2,10 @@ Route18Gate1F_Object: db $a ; border block db 5 ; warps - warp 0, 4, 0, -1 - warp 0, 5, 1, -1 - warp 7, 4, 2, -1 - warp 7, 5, 3, -1 + warp 0, 4, 0, LAST_MAP + warp 0, 5, 1, LAST_MAP + warp 7, 4, 2, LAST_MAP + warp 7, 5, 3, LAST_MAP warp 6, 8, 0, ROUTE_18_GATE_2F db 0 ; signs diff --git a/data/maps/objects/Route22Gate.asm b/data/maps/objects/Route22Gate.asm index 3f693c7f..88bbf8d3 100755 --- a/data/maps/objects/Route22Gate.asm +++ b/data/maps/objects/Route22Gate.asm @@ -2,10 +2,10 @@ Route22Gate_Object: db $a ; border block db 4 ; warps - warp 4, 7, 0, -1 - warp 5, 7, 0, -1 - warp 4, 0, 0, -1 - warp 5, 0, 1, -1 + warp 4, 7, 0, LAST_MAP + warp 5, 7, 0, LAST_MAP + warp 4, 0, 0, LAST_MAP + warp 5, 0, 1, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/Route2Gate.asm b/data/maps/objects/Route2Gate.asm index a7feb780..6f045d62 100755 --- a/data/maps/objects/Route2Gate.asm +++ b/data/maps/objects/Route2Gate.asm @@ -2,10 +2,10 @@ Route2Gate_Object: db $a ; border block db 4 ; warps - warp 4, 0, 3, -1 - warp 5, 0, 3, -1 - warp 4, 7, 4, -1 - warp 5, 7, 4, -1 + warp 4, 0, 3, LAST_MAP + warp 5, 0, 3, LAST_MAP + warp 4, 7, 4, LAST_MAP + warp 5, 7, 4, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/Route2TradeHouse.asm b/data/maps/objects/Route2TradeHouse.asm index 89ece3ea..d55f0259 100755 --- a/data/maps/objects/Route2TradeHouse.asm +++ b/data/maps/objects/Route2TradeHouse.asm @@ -2,8 +2,8 @@ Route2TradeHouse_Object: db $a ; border block db 2 ; warps - warp 2, 7, 2, -1 - warp 3, 7, 2, -1 + warp 2, 7, 2, LAST_MAP + warp 3, 7, 2, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/Route5Gate.asm b/data/maps/objects/Route5Gate.asm index e0e06a1d..01be0505 100755 --- a/data/maps/objects/Route5Gate.asm +++ b/data/maps/objects/Route5Gate.asm @@ -2,10 +2,10 @@ Route5Gate_Object: db $a ; border block db 4 ; warps - warp 3, 5, 2, -1 - warp 4, 5, 2, -1 - warp 3, 0, 1, -1 - warp 4, 0, 0, -1 + warp 3, 5, 2, LAST_MAP + warp 4, 5, 2, LAST_MAP + warp 3, 0, 1, LAST_MAP + warp 4, 0, 0, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/Route6Gate.asm b/data/maps/objects/Route6Gate.asm index 8ed96d04..2f8a6f20 100755 --- a/data/maps/objects/Route6Gate.asm +++ b/data/maps/objects/Route6Gate.asm @@ -2,10 +2,10 @@ Route6Gate_Object: db $a ; border block db 4 ; warps - warp 3, 5, 2, -1 - warp 4, 5, 2, -1 - warp 3, 0, 1, -1 - warp 4, 0, 1, -1 + warp 3, 5, 2, LAST_MAP + warp 4, 5, 2, LAST_MAP + warp 3, 0, 1, LAST_MAP + warp 4, 0, 1, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/Route7Gate.asm b/data/maps/objects/Route7Gate.asm index 7f1afe0a..6f7557f9 100755 --- a/data/maps/objects/Route7Gate.asm +++ b/data/maps/objects/Route7Gate.asm @@ -2,10 +2,10 @@ Route7Gate_Object: db $a ; border block db 4 ; warps - warp 0, 3, 3, -1 - warp 0, 4, 3, -1 - warp 5, 3, 0, -1 - warp 5, 4, 1, -1 + warp 0, 3, 3, LAST_MAP + warp 0, 4, 3, LAST_MAP + warp 5, 3, 0, LAST_MAP + warp 5, 4, 1, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/Route8Gate.asm b/data/maps/objects/Route8Gate.asm index 3bba95a0..d6739d3d 100755 --- a/data/maps/objects/Route8Gate.asm +++ b/data/maps/objects/Route8Gate.asm @@ -2,10 +2,10 @@ Route8Gate_Object: db $a ; border block db 4 ; warps - warp 0, 3, 0, -1 - warp 0, 4, 1, -1 - warp 5, 3, 2, -1 - warp 5, 4, 3, -1 + warp 0, 3, 0, LAST_MAP + warp 0, 4, 1, LAST_MAP + warp 5, 3, 2, LAST_MAP + warp 5, 4, 3, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/SafariZoneGate.asm b/data/maps/objects/SafariZoneGate.asm index 6749b45b..05074a90 100755 --- a/data/maps/objects/SafariZoneGate.asm +++ b/data/maps/objects/SafariZoneGate.asm @@ -2,8 +2,8 @@ SafariZoneGate_Object: db $a ; border block db 4 ; warps - warp 3, 5, 4, -1 - warp 4, 5, 4, -1 + warp 3, 5, 4, LAST_MAP + warp 4, 5, 4, LAST_MAP warp 3, 0, 0, SAFARI_ZONE_CENTER warp 4, 0, 1, SAFARI_ZONE_CENTER diff --git a/data/maps/objects/SaffronGym.asm b/data/maps/objects/SaffronGym.asm index 1869421a..17bf8c0e 100755 --- a/data/maps/objects/SaffronGym.asm +++ b/data/maps/objects/SaffronGym.asm @@ -2,8 +2,8 @@ SaffronGym_Object: db $2e ; border block db 32 ; warps - warp 8, 17, 2, -1 - warp 9, 17, 2, -1 + warp 8, 17, 2, LAST_MAP + warp 9, 17, 2, LAST_MAP warp 1, 3, 22, SAFFRON_GYM warp 5, 3, 15, SAFFRON_GYM warp 1, 5, 18, SAFFRON_GYM diff --git a/data/maps/objects/SaffronMart.asm b/data/maps/objects/SaffronMart.asm index c376f2de..440fa7bf 100755 --- a/data/maps/objects/SaffronMart.asm +++ b/data/maps/objects/SaffronMart.asm @@ -2,8 +2,8 @@ SaffronMart_Object: db $0 ; border block db 2 ; warps - warp 3, 7, 4, -1 - warp 4, 7, 4, -1 + warp 3, 7, 4, LAST_MAP + warp 4, 7, 4, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/SaffronPidgeyHouse.asm b/data/maps/objects/SaffronPidgeyHouse.asm index 65a851bf..b108df61 100755 --- a/data/maps/objects/SaffronPidgeyHouse.asm +++ b/data/maps/objects/SaffronPidgeyHouse.asm @@ -2,8 +2,8 @@ SaffronPidgeyHouse_Object: db $a ; border block db 2 ; warps - warp 2, 7, 3, -1 - warp 3, 7, 3, -1 + warp 2, 7, 3, LAST_MAP + warp 3, 7, 3, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/SaffronPokecenter.asm b/data/maps/objects/SaffronPokecenter.asm index e54fd76b..6921aab6 100755 --- a/data/maps/objects/SaffronPokecenter.asm +++ b/data/maps/objects/SaffronPokecenter.asm @@ -2,8 +2,8 @@ SaffronPokecenter_Object: db $0 ; border block db 2 ; warps - warp 3, 7, 6, -1 - warp 4, 7, 6, -1 + warp 3, 7, 6, LAST_MAP + warp 4, 7, 6, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/SeafoamIslands1F.asm b/data/maps/objects/SeafoamIslands1F.asm index 8707ee0a..2599c6ec 100755 --- a/data/maps/objects/SeafoamIslands1F.asm +++ b/data/maps/objects/SeafoamIslands1F.asm @@ -2,10 +2,10 @@ SeafoamIslands1F_Object: db $7d ; border block db 7 ; warps - warp 4, 17, 0, -1 - warp 5, 17, 0, -1 - warp 26, 17, 1, -1 - warp 27, 17, 1, -1 + warp 4, 17, 0, LAST_MAP + warp 5, 17, 0, LAST_MAP + warp 26, 17, 1, LAST_MAP + warp 27, 17, 1, LAST_MAP warp 7, 5, 1, SEAFOAM_ISLANDS_B1F warp 25, 3, 6, SEAFOAM_ISLANDS_B1F warp 23, 15, 4, SEAFOAM_ISLANDS_B1F diff --git a/data/maps/objects/SilphCo11F.asm b/data/maps/objects/SilphCo11F.asm index 7a1dff73..3eda424c 100755 --- a/data/maps/objects/SilphCo11F.asm +++ b/data/maps/objects/SilphCo11F.asm @@ -4,7 +4,7 @@ SilphCo11F_Object: db 4 ; warps warp 9, 0, 1, SILPH_CO_10F warp 13, 0, 0, SILPH_CO_ELEVATOR - warp 5, 5, 9, -1 + warp 5, 5, 9, LAST_MAP warp 3, 2, 3, SILPH_CO_7F db 0 ; signs diff --git a/data/maps/objects/SilphCo1F.asm b/data/maps/objects/SilphCo1F.asm index fc040091..8d78fba2 100755 --- a/data/maps/objects/SilphCo1F.asm +++ b/data/maps/objects/SilphCo1F.asm @@ -2,8 +2,8 @@ SilphCo1F_Object: db $2e ; border block db 5 ; warps - warp 10, 17, 5, -1 - warp 11, 17, 5, -1 + warp 10, 17, 5, LAST_MAP + warp 11, 17, 5, LAST_MAP warp 26, 0, 0, SILPH_CO_2F warp 20, 0, 0, SILPH_CO_ELEVATOR warp 16, 10, 6, SILPH_CO_3F diff --git a/data/maps/objects/UndergroundPathRoute5.asm b/data/maps/objects/UndergroundPathRoute5.asm index af71ebb4..af96f6dc 100755 --- a/data/maps/objects/UndergroundPathRoute5.asm +++ b/data/maps/objects/UndergroundPathRoute5.asm @@ -2,8 +2,8 @@ UndergroundPathRoute5_Object: db $a ; border block db 3 ; warps - warp 3, 7, 3, -1 - warp 4, 7, 3, -1 + warp 3, 7, 3, LAST_MAP + warp 4, 7, 3, LAST_MAP warp 4, 4, 0, UNDERGROUND_PATH_NORTH_SOUTH db 0 ; signs diff --git a/data/maps/objects/UndergroundPathRoute6.asm b/data/maps/objects/UndergroundPathRoute6.asm index 5a40ade2..73626c13 100755 --- a/data/maps/objects/UndergroundPathRoute6.asm +++ b/data/maps/objects/UndergroundPathRoute6.asm @@ -2,8 +2,8 @@ UndergroundPathRoute6_Object: db $a ; border block db 3 ; warps - warp 3, 7, 3, -1 - warp 4, 7, 3, -1 + warp 3, 7, 3, LAST_MAP + warp 4, 7, 3, LAST_MAP warp 4, 4, 1, UNDERGROUND_PATH_NORTH_SOUTH db 0 ; signs diff --git a/data/maps/objects/UndergroundPathRoute7.asm b/data/maps/objects/UndergroundPathRoute7.asm index 4666e0c9..1c365d59 100755 --- a/data/maps/objects/UndergroundPathRoute7.asm +++ b/data/maps/objects/UndergroundPathRoute7.asm @@ -2,8 +2,8 @@ UndergroundPathRoute7_Object: db $a ; border block db 3 ; warps - warp 3, 7, 4, -1 - warp 4, 7, 4, -1 + warp 3, 7, 4, LAST_MAP + warp 4, 7, 4, LAST_MAP warp 4, 4, 0, UNDERGROUND_PATH_WEST_EAST db 0 ; signs diff --git a/data/maps/objects/UndergroundPathRoute7Copy.asm b/data/maps/objects/UndergroundPathRoute7Copy.asm index c020646e..2ae8a4d1 100755 --- a/data/maps/objects/UndergroundPathRoute7Copy.asm +++ b/data/maps/objects/UndergroundPathRoute7Copy.asm @@ -2,8 +2,8 @@ UndergroundPathRoute7Copy_Object: db $a ; border block db 3 ; warps - warp 3, 7, 5, -1 - warp 4, 7, 5, -1 + warp 3, 7, 5, LAST_MAP + warp 4, 7, 5, LAST_MAP warp 4, 4, 0, UNDERGROUND_PATH_WEST_EAST db 0 ; signs diff --git a/data/maps/objects/UndergroundPathRoute8.asm b/data/maps/objects/UndergroundPathRoute8.asm index 8be0d474..8f5c1180 100755 --- a/data/maps/objects/UndergroundPathRoute8.asm +++ b/data/maps/objects/UndergroundPathRoute8.asm @@ -2,8 +2,8 @@ UndergroundPathRoute8_Object: db $a ; border block db 3 ; warps - warp 3, 7, 4, -1 - warp 4, 7, 4, -1 + warp 3, 7, 4, LAST_MAP + warp 4, 7, 4, LAST_MAP warp 4, 4, 1, UNDERGROUND_PATH_WEST_EAST db 0 ; signs diff --git a/data/maps/objects/VermilionDock.asm b/data/maps/objects/VermilionDock.asm index 6f07554a..70a30b31 100755 --- a/data/maps/objects/VermilionDock.asm +++ b/data/maps/objects/VermilionDock.asm @@ -2,7 +2,7 @@ VermilionDock_Object: db $f ; border block db 2 ; warps - warp 14, 0, 5, -1 + warp 14, 0, 5, LAST_MAP warp 14, 2, 1, SS_ANNE_1F db 0 ; signs diff --git a/data/maps/objects/VermilionGym.asm b/data/maps/objects/VermilionGym.asm index 4ace83be..05cb529a 100755 --- a/data/maps/objects/VermilionGym.asm +++ b/data/maps/objects/VermilionGym.asm @@ -2,8 +2,8 @@ VermilionGym_Object: db $3 ; border block db 2 ; warps - warp 4, 17, 3, -1 - warp 5, 17, 3, -1 + warp 4, 17, 3, LAST_MAP + warp 5, 17, 3, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/VermilionMart.asm b/data/maps/objects/VermilionMart.asm index 74bcf35f..e27020da 100755 --- a/data/maps/objects/VermilionMart.asm +++ b/data/maps/objects/VermilionMart.asm @@ -2,8 +2,8 @@ VermilionMart_Object: db $0 ; border block db 2 ; warps - warp 3, 7, 2, -1 - warp 4, 7, 2, -1 + warp 3, 7, 2, LAST_MAP + warp 4, 7, 2, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/VermilionOldRodHouse.asm b/data/maps/objects/VermilionOldRodHouse.asm index f5b4b96a..c8d407b8 100755 --- a/data/maps/objects/VermilionOldRodHouse.asm +++ b/data/maps/objects/VermilionOldRodHouse.asm @@ -2,8 +2,8 @@ VermilionOldRodHouse_Object: db $a ; border block db 2 ; warps - warp 2, 7, 8, -1 - warp 3, 7, 8, -1 + warp 2, 7, 8, LAST_MAP + warp 3, 7, 8, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/VermilionPidgeyHouse.asm b/data/maps/objects/VermilionPidgeyHouse.asm index 0e820f86..5ee288f3 100755 --- a/data/maps/objects/VermilionPidgeyHouse.asm +++ b/data/maps/objects/VermilionPidgeyHouse.asm @@ -2,8 +2,8 @@ VermilionPidgeyHouse_Object: db $a ; border block db 2 ; warps - warp 2, 7, 4, -1 - warp 3, 7, 4, -1 + warp 2, 7, 4, LAST_MAP + warp 3, 7, 4, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/VermilionPokecenter.asm b/data/maps/objects/VermilionPokecenter.asm index d2142045..427e44e6 100755 --- a/data/maps/objects/VermilionPokecenter.asm +++ b/data/maps/objects/VermilionPokecenter.asm @@ -2,8 +2,8 @@ VermilionPokecenter_Object: db $0 ; border block db 2 ; warps - warp 3, 7, 0, -1 - warp 4, 7, 0, -1 + warp 3, 7, 0, LAST_MAP + warp 4, 7, 0, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/VermilionTradeHouse.asm b/data/maps/objects/VermilionTradeHouse.asm index 30212b2a..54c20055 100755 --- a/data/maps/objects/VermilionTradeHouse.asm +++ b/data/maps/objects/VermilionTradeHouse.asm @@ -2,8 +2,8 @@ VermilionTradeHouse_Object: db $a ; border block db 2 ; warps - warp 2, 7, 7, -1 - warp 3, 7, 7, -1 + warp 2, 7, 7, LAST_MAP + warp 3, 7, 7, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/VictoryRoad1F.asm b/data/maps/objects/VictoryRoad1F.asm index 76907c40..72fd1468 100755 --- a/data/maps/objects/VictoryRoad1F.asm +++ b/data/maps/objects/VictoryRoad1F.asm @@ -2,8 +2,8 @@ VictoryRoad1F_Object: db $7d ; border block db 3 ; warps - warp 8, 17, 2, -1 - warp 9, 17, 2, -1 + warp 8, 17, 2, LAST_MAP + warp 9, 17, 2, LAST_MAP warp 1, 1, 0, VICTORY_ROAD_2F db 0 ; signs diff --git a/data/maps/objects/VictoryRoad2F.asm b/data/maps/objects/VictoryRoad2F.asm index 100b9b7f..170e25e7 100755 --- a/data/maps/objects/VictoryRoad2F.asm +++ b/data/maps/objects/VictoryRoad2F.asm @@ -3,8 +3,8 @@ VictoryRoad2F_Object: db 7 ; warps warp 0, 8, 2, VICTORY_ROAD_1F - warp 29, 7, 3, -1 - warp 29, 8, 3, -1 + warp 29, 7, 3, LAST_MAP + warp 29, 8, 3, LAST_MAP warp 23, 7, 0, VICTORY_ROAD_3F warp 25, 14, 2, VICTORY_ROAD_3F warp 27, 7, 1, VICTORY_ROAD_3F diff --git a/data/maps/objects/ViridianForestNorthGate.asm b/data/maps/objects/ViridianForestNorthGate.asm index 81e7fece..1bc271fe 100755 --- a/data/maps/objects/ViridianForestNorthGate.asm +++ b/data/maps/objects/ViridianForestNorthGate.asm @@ -2,8 +2,8 @@ ViridianForestNorthGate_Object: db $a ; border block db 4 ; warps - warp 4, 0, 1, -1 - warp 5, 0, 1, -1 + warp 4, 0, 1, LAST_MAP + warp 5, 0, 1, LAST_MAP warp 4, 7, 0, VIRIDIAN_FOREST warp 5, 7, 0, VIRIDIAN_FOREST diff --git a/data/maps/objects/ViridianForestSouthGate.asm b/data/maps/objects/ViridianForestSouthGate.asm index 76f87e51..8ce39de5 100755 --- a/data/maps/objects/ViridianForestSouthGate.asm +++ b/data/maps/objects/ViridianForestSouthGate.asm @@ -4,8 +4,8 @@ ViridianForestSouthGate_Object: db 4 ; warps warp 4, 0, 3, VIRIDIAN_FOREST warp 5, 0, 4, VIRIDIAN_FOREST - warp 4, 7, 5, -1 - warp 5, 7, 5, -1 + warp 4, 7, 5, LAST_MAP + warp 5, 7, 5, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/ViridianGym.asm b/data/maps/objects/ViridianGym.asm index e3fd17bd..71cd6147 100755 --- a/data/maps/objects/ViridianGym.asm +++ b/data/maps/objects/ViridianGym.asm @@ -2,8 +2,8 @@ ViridianGym_Object: db $3 ; border block db 2 ; warps - warp 16, 17, 4, -1 - warp 17, 17, 4, -1 + warp 16, 17, 4, LAST_MAP + warp 17, 17, 4, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/ViridianMart.asm b/data/maps/objects/ViridianMart.asm index b3e7fee5..c8aa541b 100755 --- a/data/maps/objects/ViridianMart.asm +++ b/data/maps/objects/ViridianMart.asm @@ -2,8 +2,8 @@ ViridianMart_Object: db $0 ; border block db 2 ; warps - warp 3, 7, 1, -1 - warp 4, 7, 1, -1 + warp 3, 7, 1, LAST_MAP + warp 4, 7, 1, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/ViridianNicknameHouse.asm b/data/maps/objects/ViridianNicknameHouse.asm index aaf20a91..eea883a4 100755 --- a/data/maps/objects/ViridianNicknameHouse.asm +++ b/data/maps/objects/ViridianNicknameHouse.asm @@ -2,8 +2,8 @@ ViridianNicknameHouse_Object: db $a ; border block db 2 ; warps - warp 2, 7, 3, -1 - warp 3, 7, 3, -1 + warp 2, 7, 3, LAST_MAP + warp 3, 7, 3, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/ViridianPokecenter.asm b/data/maps/objects/ViridianPokecenter.asm index 43b73e68..e6da0375 100755 --- a/data/maps/objects/ViridianPokecenter.asm +++ b/data/maps/objects/ViridianPokecenter.asm @@ -2,8 +2,8 @@ ViridianPokecenter_Object: db $0 ; border block db 2 ; warps - warp 3, 7, 0, -1 - warp 4, 7, 0, -1 + warp 3, 7, 0, LAST_MAP + warp 4, 7, 0, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/ViridianSchoolHouse.asm b/data/maps/objects/ViridianSchoolHouse.asm index 01f2465d..c6b95c9b 100755 --- a/data/maps/objects/ViridianSchoolHouse.asm +++ b/data/maps/objects/ViridianSchoolHouse.asm @@ -2,8 +2,8 @@ ViridianSchoolHouse_Object: db $a ; border block db 2 ; warps - warp 2, 7, 2, -1 - warp 3, 7, 2, -1 + warp 2, 7, 2, LAST_MAP + warp 3, 7, 2, LAST_MAP db 0 ; signs diff --git a/data/maps/objects/WardensHouse.asm b/data/maps/objects/WardensHouse.asm index d8445738..da1c197c 100755 --- a/data/maps/objects/WardensHouse.asm +++ b/data/maps/objects/WardensHouse.asm @@ -2,8 +2,8 @@ WardensHouse_Object: db $17 ; border block db 2 ; warps - warp 4, 7, 3, -1 - warp 5, 7, 3, -1 + warp 4, 7, 3, LAST_MAP + warp 5, 7, 3, LAST_MAP db 2 ; signs sign 4, 3, 4 ; FuchsiaHouse2Text4 diff --git a/home/overworld.asm b/home/overworld.asm index 0408bf32..bc5f03d0 100644 --- a/home/overworld.asm +++ b/home/overworld.asm @@ -507,7 +507,7 @@ WarpFound2:: ; not all these maps are necessarily indoors, though .indoorMaps ldh a, [hWarpDestinationMap] ; destination map - cp $ff + cp LAST_MAP jr z, .goBackOutside ; if not going back to the previous map ld [wCurMap], a -- cgit v1.2.3 From 8c83ebe9663ef317c8bd3b74339047bda29be1a4 Mon Sep 17 00:00:00 2001 From: Rangi Date: Thu, 16 Jul 2020 09:32:09 -0400 Subject: Define constants for in-game trades --- constants/script_constants.asm | 13 +++++++++++++ scripts/CeruleanTradeHouse.asm | 2 +- scripts/CinnabarLabFossilRoom.asm | 2 +- scripts/CinnabarLabTradeRoom.asm | 4 ++-- scripts/Route11Gate2F.asm | 2 +- scripts/Route18Gate2F.asm | 2 +- scripts/Route2TradeHouse.asm | 2 +- scripts/UndergroundPathRoute5.asm | 2 +- scripts/VermilionTradeHouse.asm | 2 +- 9 files changed, 22 insertions(+), 9 deletions(-) diff --git a/constants/script_constants.asm b/constants/script_constants.asm index 9b2ab740..882fae0d 100644 --- a/constants/script_constants.asm +++ b/constants/script_constants.asm @@ -12,6 +12,19 @@ SLOTSFISH EQU $0E0C SLOTSBIRD EQU $1210 SLOTSMOUSE EQU $1614 +; in game trades + const_def + const TRADE_FOR_TERRY + const TRADE_FOR_MARCEL + const TRADE_FOR_CHIKUCHIKU + const TRADE_FOR_SAILOR + const TRADE_FOR_DUX + const TRADE_FOR_MARC + const TRADE_FOR_LOLA + const TRADE_FOR_DORIS + const TRADE_FOR_CRINKLES + const TRADE_FOR_SPOT + ; in game trade dialog sets const_def const TRADE_DIALOGSET_CASUAL diff --git a/scripts/CeruleanTradeHouse.asm b/scripts/CeruleanTradeHouse.asm index ba88f1b5..66952cd4 100755 --- a/scripts/CeruleanTradeHouse.asm +++ b/scripts/CeruleanTradeHouse.asm @@ -11,7 +11,7 @@ CeruleanHouse1Text1: CeruleanHouse1Text2: text_asm - ld a, $6 + ld a, TRADE_FOR_LOLA ld [wWhichTrade], a predef DoInGameTradeDialogue jp TextScriptEnd diff --git a/scripts/CinnabarLabFossilRoom.asm b/scripts/CinnabarLabFossilRoom.asm index 4bdb8a36..8fe52190 100755 --- a/scripts/CinnabarLabFossilRoom.asm +++ b/scripts/CinnabarLabFossilRoom.asm @@ -100,7 +100,7 @@ Lab4Text_75dd5: Lab4Text2: text_asm - ld a, $3 + ld a, TRADE_FOR_SAILOR ld [wWhichTrade], a predef DoInGameTradeDialogue jp TextScriptEnd diff --git a/scripts/CinnabarLabTradeRoom.asm b/scripts/CinnabarLabTradeRoom.asm index d313c128..1f8710be 100755 --- a/scripts/CinnabarLabTradeRoom.asm +++ b/scripts/CinnabarLabTradeRoom.asm @@ -12,13 +12,13 @@ Lab2Text1: Lab2Text2: text_asm - ld a, $7 + ld a, TRADE_FOR_DORIS ld [wWhichTrade], a jr Lab2DoTrade Lab2Text3: text_asm - ld a, $8 + ld a, TRADE_FOR_CRINKLES ld [wWhichTrade], a Lab2DoTrade: predef DoInGameTradeDialogue diff --git a/scripts/Route11Gate2F.asm b/scripts/Route11Gate2F.asm index 1797c540..21d742c0 100755 --- a/scripts/Route11Gate2F.asm +++ b/scripts/Route11Gate2F.asm @@ -9,7 +9,7 @@ Route11Gate2F_TextPointers: Route11GateUpstairsText1: text_asm - xor a + xor a ; TRADE_FOR_TERRY ld [wWhichTrade], a predef DoInGameTradeDialogue Route11GateUpstairsScriptEnd: diff --git a/scripts/Route18Gate2F.asm b/scripts/Route18Gate2F.asm index d7511859..efb6d70a 100755 --- a/scripts/Route18Gate2F.asm +++ b/scripts/Route18Gate2F.asm @@ -8,7 +8,7 @@ Route18Gate2F_TextPointers: Route18GateUpstairsText1: text_asm - ld a, $5 + ld a, TRADE_FOR_MARC ld [wWhichTrade], a predef DoInGameTradeDialogue jp TextScriptEnd diff --git a/scripts/Route2TradeHouse.asm b/scripts/Route2TradeHouse.asm index fd3c51e3..85ed2d34 100755 --- a/scripts/Route2TradeHouse.asm +++ b/scripts/Route2TradeHouse.asm @@ -11,7 +11,7 @@ Route2HouseText1: Route2HouseText2: text_asm - ld a, $1 + ld a, TRADE_FOR_MARCEL ld [wWhichTrade], a predef DoInGameTradeDialogue jp TextScriptEnd diff --git a/scripts/UndergroundPathRoute5.asm b/scripts/UndergroundPathRoute5.asm index 1cb1f78a..5c078050 100755 --- a/scripts/UndergroundPathRoute5.asm +++ b/scripts/UndergroundPathRoute5.asm @@ -11,7 +11,7 @@ UndergroundPathRoute5_TextPointers: UndergroundPathEntranceRoute5Text1: text_asm - ld a, $9 + ld a, TRADE_FOR_SPOT ld [wWhichTrade], a predef DoInGameTradeDialogue ld hl, UndergroundPathEntranceRoute5_TextScriptEndingText diff --git a/scripts/VermilionTradeHouse.asm b/scripts/VermilionTradeHouse.asm index 368654d9..7fdb9f40 100755 --- a/scripts/VermilionTradeHouse.asm +++ b/scripts/VermilionTradeHouse.asm @@ -6,7 +6,7 @@ VermilionTradeHouse_TextPointers: VermilionHouse3Text1: text_asm - ld a, $4 + ld a, TRADE_FOR_DUX ld [wWhichTrade], a predef DoInGameTradeDialogue jp TextScriptEnd -- cgit v1.2.3 From 58f10893707004fe353422e19f3d1f2b89e60a6c Mon Sep 17 00:00:00 2001 From: Rangi Date: Thu, 16 Jul 2020 09:40:30 -0400 Subject: Define constants for default trainer DVs --- constants/battle_constants.asm | 4 ++++ engine/battle/core.asm | 4 ++-- engine/pokemon/add_mon.asm | 4 ++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/constants/battle_constants.asm b/constants/battle_constants.asm index 6ae2215f..4a113ca0 100644 --- a/constants/battle_constants.asm +++ b/constants/battle_constants.asm @@ -39,6 +39,10 @@ SLP EQU %111 ; sleep counter MAX_STAT_VALUE EQU 999 +; trainer dvs +ATKDEFDV_TRAINER EQU $98 +SPDSPCDV_TRAINER EQU $88 + ; volatile statuses 1 const_def const STORING_ENERGY ; 0 ; Bide diff --git a/engine/battle/core.asm b/engine/battle/core.asm index c1eecc73..b5c37f1e 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -6104,8 +6104,8 @@ LoadEnemyMonData: ld a, [wIsInBattle] cp $2 ; is it a trainer battle? ; fixed DVs for trainer mon - ld a, $98 - ld b, $88 + ld a, ATKDEFDV_TRAINER + ld b, SPDSPCDV_TRAINER jr z, .storeDVs ; random DVs for wild mon call BattleRandom diff --git a/engine/pokemon/add_mon.asm b/engine/pokemon/add_mon.asm index 0c72ff5b..d7e7eab1 100644 --- a/engine/pokemon/add_mon.asm +++ b/engine/pokemon/add_mon.asm @@ -75,8 +75,8 @@ _AddPartyMon:: push hl ld a, [wMonDataLocation] and $f - ld a, $98 ; set enemy trainer mon IVs to fixed average values - ld b, $88 + ld a, ATKDEFDV_TRAINER ; set enemy trainer mon IVs to fixed average values + ld b, SPDSPCDV_TRAINER jr nz, .next4 ; If the mon is being added to the player's party, update the pokedex. -- cgit v1.2.3 From 594c58a289cbad3954899d76ed000f483389472f Mon Sep 17 00:00:00 2001 From: Rangi Date: Thu, 16 Jul 2020 11:19:05 -0400 Subject: Revise some map scripts, mostly for getting items --- constants/script_constants.asm | 6 +++++ engine/events/hidden_objects/pokecenter_pc.asm | 2 +- engine/events/oaks_aide.asm | 8 +++--- engine/slots/slot_machine.asm | 2 +- home/window.asm | 2 +- scripts/BluesHouse.asm | 34 ++++++++++++------------ scripts/CeladonDiner.asm | 14 +++++----- scripts/CeladonMansion1F.asm | 8 +++--- scripts/CeladonMansion3F.asm | 16 +++++------- scripts/CeladonMansionRoofHouse.asm | 4 +-- scripts/CeladonMart3F.asm | 14 +++++----- scripts/CeladonMartElevator.asm | 19 +++++++------- scripts/CeruleanBadgeHouse.asm | 15 ++++++++--- scripts/CeruleanTrashedHouse.asm | 10 +++---- scripts/CinnabarLabFossilRoom.asm | 2 +- scripts/CinnabarLabMetronomeRoom.asm | 14 +++++----- scripts/CopycatsHouse2F.asm | 18 ++++++------- scripts/DiglettsCave.asm | 3 ++- scripts/FuchsiaGoodRodHouse.asm | 29 +++++++-------------- scripts/LavenderCuboneHouse.asm | 8 +++--- scripts/LavenderTown.asm | 4 +-- scripts/MrFujisHouse.asm | 30 ++++++++++----------- scripts/MrPsychicsHouse.asm | 14 +++++----- scripts/MtMoonB2F.asm | 4 +-- scripts/Museum1F.asm | 16 ++++++------ scripts/OaksLab.asm | 2 +- scripts/PewterMart.asm | 2 +- scripts/PewterPokecenter.asm | 17 ++++++------ scripts/PokemonFanClub.asm | 4 +-- scripts/PokemonTower6F.asm | 3 ++- scripts/RedsHouse1F.asm | 16 ++++++------ scripts/RedsHouse2F.asm | 3 ++- scripts/RockTunnelPokecenter.asm | 4 +-- scripts/RocketHideoutElevator.asm | 15 +++++------ scripts/Route1.asm | 14 +++++----- scripts/Route11Gate2F.asm | 14 +++++----- scripts/Route12Gate2F.asm | 16 ++++++------ scripts/Route12SuperRodHouse.asm | 24 ++++++++--------- scripts/Route15Gate2F.asm | 14 +++++----- scripts/Route16FlyHouse.asm | 10 +++---- scripts/Route23.asm | 3 ++- scripts/Route24.asm | 11 ++++---- scripts/Route2Gate.asm | 14 +++++----- scripts/Route6Gate.asm | 3 ++- scripts/SSAnne2FRooms.asm | 2 +- scripts/SSAnneB1F.asm | 3 ++- scripts/SSAnneCaptainsRoom.asm | 14 +++++----- scripts/SSAnneKitchen.asm | 14 +++++----- scripts/SafariZoneSecretHouse.asm | 14 +++++----- scripts/SilphCo11F.asm | 14 +++++----- scripts/SilphCoElevator.asm | 31 +++++++++++----------- scripts/TradeCenter.asm | 6 ++--- scripts/UndergroundPathNorthSouth.asm | 3 ++- scripts/UndergroundPathWestEast.asm | 3 ++- scripts/VermilionOldRodHouse.asm | 24 ++++++++--------- scripts/VictoryRoad1F.asm | 3 ++- scripts/ViridianCity.asm | 26 +++++++++---------- scripts/ViridianGym.asm | 36 +++++++++++++++++--------- scripts/ViridianMart.asm | 9 ++++--- scripts/WardensHouse.asm | 28 ++++++++++---------- text/BluesHouse.asm | 4 +-- 61 files changed, 371 insertions(+), 348 deletions(-) diff --git a/constants/script_constants.asm b/constants/script_constants.asm index 882fae0d..018fb7f2 100644 --- a/constants/script_constants.asm +++ b/constants/script_constants.asm @@ -43,3 +43,9 @@ SLOTSMOUSE EQU $1614 const BIT_VOLCANOBADGE ; 6 const BIT_EARTHBADGE ; 7 NUM_BADGES EQU const_value + +; OaksAideScript results +OAKS_AIDE_BAG_FULL EQU $00 +OAKS_AIDE_GOT_ITEM EQU $01 +OAKS_AIDE_NOT_ENOUGH_MONS EQU $80 +OAKS_AIDE_REFUSED EQU $ff diff --git a/engine/events/hidden_objects/pokecenter_pc.asm b/engine/events/hidden_objects/pokecenter_pc.asm index 9ae7d41c..f20f40ed 100644 --- a/engine/events/hidden_objects/pokecenter_pc.asm +++ b/engine/events/hidden_objects/pokecenter_pc.asm @@ -3,7 +3,7 @@ OpenPokemonCenterPC: cp SPRITE_FACING_UP ret nz call EnableAutoTextBoxDrawing - ld a, $1 + ld a, TRUE ld [wAutoTextBoxDrawingControl], a tx_pre_jump PokemonCenterPCText diff --git a/engine/events/oaks_aide.asm b/engine/events/oaks_aide.asm index dd4e5fd7..f1801f5c 100755 --- a/engine/events/oaks_aide.asm +++ b/engine/events/oaks_aide.asm @@ -25,22 +25,22 @@ OaksAideScript: jr nc, .bagFull ld hl, OaksAideGotItemText call PrintText - ld a, $1 + ld a, OAKS_AIDE_GOT_ITEM jr .done .bagFull ld hl, OaksAideNoRoomText call PrintText - xor a + xor a ; OAKS_AIDE_BAG_FULL jr .done .notEnoughOwnedMons ld hl, OaksAideUhOhText call PrintText - ld a, $80 + ld a, OAKS_AIDE_NOT_ENOUGH_MONS jr .done .choseNo ld hl, OaksAideComeBackText call PrintText - ld a, $ff + ld a, OAKS_AIDE_REFUSED .done ldh [hOaksAideResult], a ret diff --git a/engine/slots/slot_machine.asm b/engine/slots/slot_machine.asm index 9af17a81..fe137632 100755 --- a/engine/slots/slot_machine.asm +++ b/engine/slots/slot_machine.asm @@ -1,6 +1,6 @@ PromptUserToPlaySlots: call SaveScreenTilesToBuffer2 - ld a, BANK(DisplayTextIDInit) + ld a, BANK(DisplayTextIDInit) ; TRUE ld [wAutoTextBoxDrawingControl], a ld b, a ld hl, DisplayTextIDInit diff --git a/home/window.asm b/home/window.asm index e83f9585..7ba89d88 100644 --- a/home/window.asm +++ b/home/window.asm @@ -272,7 +272,7 @@ EnableAutoTextBoxDrawing:: jr AutoTextBoxDrawingCommon DisableAutoTextBoxDrawing:: - ld a, $01 + ld a, TRUE AutoTextBoxDrawingCommon:: ld [wAutoTextBoxDrawingControl], a diff --git a/scripts/BluesHouse.asm b/scripts/BluesHouse.asm index 241d6f5a..1ab0fd06 100755 --- a/scripts/BluesHouse.asm +++ b/scripts/BluesHouse.asm @@ -10,9 +10,7 @@ BluesHouse_ScriptPointers: BluesHouseScript0: SetEvent EVENT_ENTERED_BLUES_HOUSE - - ; trigger the next script - ld a, 1 + ld a, $1 ld [wBluesHouseCurScript], a ret @@ -20,40 +18,40 @@ BluesHouseScript1: ret BluesHouse_TextPointers: - dw BluesHouseText1 - dw BluesHouseText2 - dw BluesHouseText3 + dw BluesHouseDaisySittingText + dw BluesHouseDaisyWalkingText + dw BluesHouseTownMapText -BluesHouseText1: +BluesHouseDaisySittingText: text_asm CheckEvent EVENT_GOT_TOWN_MAP - jr nz, .GotMap + jr nz, .got_town_map CheckEvent EVENT_GOT_POKEDEX - jr nz, .GiveMap + jr nz, .give_town_map ld hl, DaisyInitialText call PrintText jr .done -.GiveMap +.give_town_map ld hl, DaisyOfferMapText call PrintText lb bc, TOWN_MAP, 1 call GiveItem - jr nc, .BagFull + jr nc, .bag_full ld a, HS_TOWN_MAP ld [wMissableObjectIndex], a - predef HideObject ; hide table map object + predef HideObject ld hl, GotMapText call PrintText SetEvent EVENT_GOT_TOWN_MAP jr .done -.GotMap +.got_town_map ld hl, DaisyUseMapText call PrintText jr .done -.BagFull +.bag_full ld hl, DaisyBagFullText call PrintText .done @@ -80,10 +78,10 @@ DaisyUseMapText: text_far _DaisyUseMapText text_end -BluesHouseText2: ; Daisy, walking around - text_far _BluesHouseText2 +BluesHouseDaisyWalkingText: + text_far _BluesHouseDaisyWalkingText text_end -BluesHouseText3: ; map on table - text_far _BluesHouseText3 +BluesHouseTownMapText: + text_far _BluesHouseTownMapText text_end diff --git a/scripts/CeladonDiner.asm b/scripts/CeladonDiner.asm index e5a2d8b2..e95035f0 100755 --- a/scripts/CeladonDiner.asm +++ b/scripts/CeladonDiner.asm @@ -28,24 +28,24 @@ CeladonDinerText4: CeladonDinerText5: text_asm CheckEvent EVENT_GOT_COIN_CASE - jr nz, .asm_eb14d + jr nz, .got_item ld hl, CeladonDinerText_491a7 call PrintText lb bc, COIN_CASE, 1 call GiveItem - jr nc, .BagFull + jr nc, .bag_full SetEvent EVENT_GOT_COIN_CASE ld hl, ReceivedCoinCaseText call PrintText - jr .asm_68b61 -.BagFull + jr .done +.bag_full ld hl, CoinCaseNoRoomText call PrintText - jr .asm_68b61 -.asm_eb14d + jr .done +.got_item ld hl, CeladonDinerText_491b7 call PrintText -.asm_68b61 +.done jp TextScriptEnd CeladonDinerText_491a7: diff --git a/scripts/CeladonMansion1F.asm b/scripts/CeladonMansion1F.asm index 2a386aad..fa901ff9 100755 --- a/scripts/CeladonMansion1F.asm +++ b/scripts/CeladonMansion1F.asm @@ -8,7 +8,7 @@ CeladonMansion1F_TextPointers: dw CeladonMansion1Text4 dw CeladonMansion1Text5 -CeladonMansion1_486a1: +CeladonMansion1_PlayCryScript: call PlayCry jp TextScriptEnd @@ -16,7 +16,7 @@ CeladonMansion1Text1: text_far _CeladonMansion1Text1 text_asm ld a, MEOWTH - jp CeladonMansion1_486a1 + jp CeladonMansion1_PlayCryScript CeladonMansion1Text2: text_far _CeladonMansion1Text2 @@ -26,13 +26,13 @@ CeladonMansion1Text3: text_far _CeladonMansion1Text3 text_asm ld a, CLEFAIRY - jp CeladonMansion1_486a1 + jp CeladonMansion1_PlayCryScript CeladonMansion1Text4: text_far _CeladonMansion1Text4 text_asm ld a, NIDORAN_F - jp CeladonMansion1_486a1 + jp CeladonMansion1_PlayCryScript CeladonMansion1Text5: text_far _CeladonMansion1Text5 diff --git a/scripts/CeladonMansion3F.asm b/scripts/CeladonMansion3F.asm index b2d40b44..f8972793 100755 --- a/scripts/CeladonMansion3F.asm +++ b/scripts/CeladonMansion3F.asm @@ -25,32 +25,30 @@ WriterText: DirectorText: text_asm - - ; check pokédex ld hl, wPokedexOwned ld b, wPokedexOwnedEnd - wPokedexOwned call CountSetBits ld a, [wNumSetBits] - cp 150 - jr nc, .CompletedDex - ld hl, .GameDesigner + cp NUM_POKEMON - 1 ; discount Mew + jr nc, .completed_dex + ld hl, .GameDesignerText jr .done -.CompletedDex +.completed_dex ld hl, .CompletedDexText .done call PrintText jp TextScriptEnd -.GameDesigner +.GameDesignerText: text_far _GameDesignerText text_end -.CompletedDexText +.CompletedDexText: text_far _CompletedDexText text_promptbutton text_asm callfar DisplayDiploma - ld a, $1 + ld a, TRUE ld [wDoNotWaitForButtonPressAfterDisplayingText], a jp TextScriptEnd diff --git a/scripts/CeladonMansionRoofHouse.asm b/scripts/CeladonMansionRoofHouse.asm index 28cec151..bd564dcc 100755 --- a/scripts/CeladonMansionRoofHouse.asm +++ b/scripts/CeladonMansionRoofHouse.asm @@ -13,9 +13,9 @@ CeladonMansion5Text2: text_asm lb bc, EEVEE, 25 call GivePokemon - jr nc, .asm_24365 + jr nc, .party_full ld a, HS_CELADON_MANSION_EEVEE_GIFT ld [wMissableObjectIndex], a predef HideObject -.asm_24365 +.party_full jp TextScriptEnd diff --git a/scripts/CeladonMart3F.asm b/scripts/CeladonMart3F.asm index e3e929da..55081982 100755 --- a/scripts/CeladonMart3F.asm +++ b/scripts/CeladonMart3F.asm @@ -23,21 +23,21 @@ CeladonMart3F_TextPointers: CeladonMart3Text1: text_asm CheckEvent EVENT_GOT_TM18 - jr nz, .asm_a5463 + jr nz, .got_item ld hl, TM18PreReceiveText call PrintText lb bc, TM_COUNTER, 1 call GiveItem - jr nc, .BagFull + jr nc, .bag_full SetEvent EVENT_GOT_TM18 ld hl, ReceivedTM18Text - jr .asm_81359 -.BagFull + jr .done +.bag_full ld hl, TM18NoRoomText - jr .asm_81359 -.asm_a5463 + jr .done +.got_item ld hl, TM18ExplanationText -.asm_81359 +.done call PrintText jp TextScriptEnd diff --git a/scripts/CeladonMartElevator.asm b/scripts/CeladonMartElevator.asm index e58c88f0..b657b3f9 100755 --- a/scripts/CeladonMartElevator.asm +++ b/scripts/CeladonMartElevator.asm @@ -40,23 +40,22 @@ CeladonMartElevatorScript_48631: jp CopyData CeladonMartElevatorFloors: - db 5 ; number of elements in list + db 5 ; # db FLOOR_1F db FLOOR_2F db FLOOR_3F db FLOOR_4F db FLOOR_5F - db $FF + db -1 ; end -CeladonMartElevatorWarpMaps: -; first byte is warp number -; second byte is map number ; These specify where the player goes after getting out of the elevator. - db $05, CELADON_MART_1F - db $02, CELADON_MART_2F - db $02, CELADON_MART_3F - db $02, CELADON_MART_4F - db $02, CELADON_MART_5F +CeladonMartElevatorWarpMaps: + ; warp number, map id + db 5, CELADON_MART_1F + db 2, CELADON_MART_2F + db 2, CELADON_MART_3F + db 2, CELADON_MART_4F + db 2, CELADON_MART_5F CeladonMartElevatorWarpMapsEnd: CeladonMartElevatorScript_48654: diff --git a/scripts/CeruleanBadgeHouse.asm b/scripts/CeruleanBadgeHouse.asm index e1e4ab44..5e35b079 100755 --- a/scripts/CeruleanBadgeHouse.asm +++ b/scripts/CeruleanBadgeHouse.asm @@ -1,5 +1,5 @@ CeruleanBadgeHouse_Script: - ld a, $1 + ld a, TRUE ld [wAutoTextBoxDrawingControl], a dec a ld [wDoNotWaitForButtonPressAfterDisplayingText], a @@ -34,7 +34,7 @@ CeruleanHouse2Text1: jr c, .asm_74e60 ld hl, TextPointers_74e86 ld a, [wcf91] - sub $15 + sub BOULDERBADGE add a ld d, $0 ld e, a @@ -52,7 +52,16 @@ CeruleanHouse2Text1: jp TextScriptEnd BadgeItemList: - db $8,BOULDERBADGE,CASCADEBADGE,THUNDERBADGE,RAINBOWBADGE,SOULBADGE,MARSHBADGE,VOLCANOBADGE,EARTHBADGE,$FF + db 8 ; # + db BOULDERBADGE + db CASCADEBADGE + db THUNDERBADGE + db RAINBOWBADGE + db SOULBADGE + db MARSHBADGE + db VOLCANOBADGE + db EARTHBADGE + db -1 ; end CeruleanHouse2Text_74e77: text_far _CeruleanHouse2Text_74e77 diff --git a/scripts/CeruleanTrashedHouse.asm b/scripts/CeruleanTrashedHouse.asm index 0d1e6ac3..d11c7721 100755 --- a/scripts/CeruleanTrashedHouse.asm +++ b/scripts/CeruleanTrashedHouse.asm @@ -9,17 +9,17 @@ CeruleanTrashedHouse_TextPointers: CeruleanHouseTrashedText1: text_asm - ld b, $e4 + ld b, TM_DIG predef GetQuantityOfItemInBag and b - jr z, .asm_f8734 + jr z, .no_dig_tm ld hl, CeruleanHouseTrashedText_1d6b0 call PrintText - jr .asm_8dfe9 -.asm_f8734 + jr .done +.no_dig_tm ld hl, CeruleanHouseTrashedText_1d6ab call PrintText -.asm_8dfe9 +.done jp TextScriptEnd CeruleanHouseTrashedText_1d6ab: diff --git a/scripts/CinnabarLabFossilRoom.asm b/scripts/CinnabarLabFossilRoom.asm index 8fe52190..2c388119 100755 --- a/scripts/CinnabarLabFossilRoom.asm +++ b/scripts/CinnabarLabFossilRoom.asm @@ -44,7 +44,7 @@ FossilsList: db DOME_FOSSIL db HELIX_FOSSIL db OLD_AMBER - db $00 + db 0 ; end Lab4Text1: text_asm diff --git a/scripts/CinnabarLabMetronomeRoom.asm b/scripts/CinnabarLabMetronomeRoom.asm index 976a2176..b43f98e2 100755 --- a/scripts/CinnabarLabMetronomeRoom.asm +++ b/scripts/CinnabarLabMetronomeRoom.asm @@ -11,24 +11,24 @@ CinnabarLabMetronomeRoom_TextPointers: Lab3Text1: text_asm CheckEvent EVENT_GOT_TM35 - jr nz, .asm_e551a + jr nz, .got_item ld hl, TM35PreReceiveText call PrintText lb bc, TM_METRONOME, 1 call GiveItem - jr nc, .BagFull + jr nc, .bag_full ld hl, ReceivedTM35Text call PrintText SetEvent EVENT_GOT_TM35 - jr .asm_eb896 -.BagFull + jr .done +.bag_full ld hl, TM35NoRoomText call PrintText - jr .asm_eb896 -.asm_e551a + jr .done +.got_item ld hl, TM35ExplanationText call PrintText -.asm_eb896 +.done jp TextScriptEnd TM35PreReceiveText: diff --git a/scripts/CopycatsHouse2F.asm b/scripts/CopycatsHouse2F.asm index c27043e6..ef0742ab 100755 --- a/scripts/CopycatsHouse2F.asm +++ b/scripts/CopycatsHouse2F.asm @@ -13,34 +13,34 @@ CopycatsHouse2F_TextPointers: CopycatsHouse2FText1: text_asm CheckEvent EVENT_GOT_TM31 - jr nz, .asm_7ccf3 - ld a, $1 + jr nz, .got_item + ld a, TRUE ld [wDoNotWaitForButtonPressAfterDisplayingText], a ld hl, CopycatsHouse2FText_5ccd4 call PrintText ld b, POKE_DOLL call IsItemInBag - jr z, .asm_62ecd + jr z, .done ld hl, TM31PreReceiveText call PrintText lb bc, TM_MIMIC, 1 call GiveItem - jr nc, .BagFull + jr nc, .bag_full ld hl, ReceivedTM31Text call PrintText ld a, POKE_DOLL ldh [hItemToRemoveID], a farcall RemoveItemByID SetEvent EVENT_GOT_TM31 - jr .asm_62ecd -.BagFull + jr .done +.bag_full ld hl, TM31NoRoomText call PrintText - jr .asm_62ecd -.asm_7ccf3 + jr .done +.got_item ld hl, TM31ExplanationText2 call PrintText -.asm_62ecd +.done jp TextScriptEnd CopycatsHouse2FText_5ccd4: diff --git a/scripts/DiglettsCave.asm b/scripts/DiglettsCave.asm index 6746743f..f9f2e590 100755 --- a/scripts/DiglettsCave.asm +++ b/scripts/DiglettsCave.asm @@ -2,4 +2,5 @@ DiglettsCave_Script: jp EnableAutoTextBoxDrawing DiglettsCave_TextPointers: - text_end + + text_end ; unused diff --git a/scripts/FuchsiaGoodRodHouse.asm b/scripts/FuchsiaGoodRodHouse.asm index 848f744c..28f6d056 100755 --- a/scripts/FuchsiaGoodRodHouse.asm +++ b/scripts/FuchsiaGoodRodHouse.asm @@ -7,39 +7,30 @@ FuchsiaGoodRodHouse_TextPointers: FuchsiaHouse3Text1: text_asm ld a, [wd728] - bit 4, a - jr nz, .after - + bit 4, a ; got good rod? + jr nz, .got_item ld hl, FuchsiaHouse3Text_561bd call PrintText - call YesNoChoice ld a, [wCurrentMenuItem] and a jr nz, .refused - lb bc, GOOD_ROD, 1 call GiveItem - jr nc, .full - + jr nc, .bag_full ld hl, wd728 - set 4, [hl] - + set 4, [hl] ; got good rod ld hl, FuchsiaHouse3Text_561c2 - jr .talk - -.full + jr .done +.bag_full ld hl, FuchsiaHouse3Text_5621c - jr .talk - + jr .done .refused ld hl, FuchsiaHouse3Text_56212 - jr .talk - -.after + jr .done +.got_item ld hl, FuchsiaHouse3Text_56217 - -.talk +.done call PrintText jp TextScriptEnd diff --git a/scripts/LavenderCuboneHouse.asm b/scripts/LavenderCuboneHouse.asm index 45f2f8d8..69d74ede 100755 --- a/scripts/LavenderCuboneHouse.asm +++ b/scripts/LavenderCuboneHouse.asm @@ -16,14 +16,14 @@ LavenderHouse2Text1: LavenderHouse2Text2: text_asm CheckEvent EVENT_RESCUED_MR_FUJI - jr nz, .asm_65711 + jr nz, .rescued_mr_fuji ld hl, LavenderHouse2Text_1d9dc call PrintText - jr .asm_64be1 -.asm_65711 + jr .done +.rescued_mr_fuji ld hl, LavenderHouse2Text_1d9e1 call PrintText -.asm_64be1 +.done jp TextScriptEnd LavenderHouse2Text_1d9dc: diff --git a/scripts/LavenderTown.asm b/scripts/LavenderTown.asm index 7902db45..d0c66208 100755 --- a/scripts/LavenderTown.asm +++ b/scripts/LavenderTown.asm @@ -20,9 +20,9 @@ LavenderTownText1: ld a, [wCurrentMenuItem] and a ld hl, LavenderTownText_44146 - jr nz, .asm_40831 + jr nz, .got_text ld hl, LavenderTownText_44141 -.asm_40831 +.got_text call PrintText jp TextScriptEnd diff --git a/scripts/MrFujisHouse.asm b/scripts/MrFujisHouse.asm index 88f36e4f..3ef3017a 100755 --- a/scripts/MrFujisHouse.asm +++ b/scripts/MrFujisHouse.asm @@ -13,14 +13,14 @@ MrFujisHouse_TextPointers: LavenderHouse1Text1: text_asm CheckEvent EVENT_RESCUED_MR_FUJI - jr nz, .asm_72e5d + jr nz, .rescued_mr_fuji ld hl, LavenderHouse1Text_1d8d1 call PrintText - jr .asm_6957f -.asm_72e5d + jr .done +.rescued_mr_fuji ld hl, LavenderHouse1Text_1d8d6 call PrintText -.asm_6957f +.done jp TextScriptEnd LavenderHouse1Text_1d8d1: @@ -34,14 +34,14 @@ LavenderHouse1Text_1d8d6: LavenderHouse1Text2: text_asm CheckEvent EVENT_RESCUED_MR_FUJI - jr nz, .asm_06470 + jr nz, .rescued_mr_fuji ld hl, LavenderHouse1Text_1d8f4 call PrintText - jr .asm_3d208 -.asm_06470 + jr .done +.rescued_mr_fuji ld hl, LavenderHouse1Text_1d8f9 call PrintText -.asm_3d208 +.done jp TextScriptEnd LavenderHouse1Text_1d8f4: @@ -69,24 +69,24 @@ LavenderHouse1Text4: LavenderHouse1Text5: text_asm CheckEvent EVENT_GOT_POKE_FLUTE - jr nz, .asm_15ac2 + jr nz, .got_item ld hl, LavenderHouse1Text_1d94c call PrintText lb bc, POKE_FLUTE, 1 call GiveItem - jr nc, .BagFull + jr nc, .bag_full ld hl, ReceivedFluteText call PrintText SetEvent EVENT_GOT_POKE_FLUTE - jr .asm_da749 -.BagFull + jr .done +.bag_full ld hl, FluteNoRoomText call PrintText - jr .asm_da749 -.asm_15ac2 + jr .done +.got_item ld hl, MrFujiAfterFluteText call PrintText -.asm_da749 +.done jp TextScriptEnd LavenderHouse1Text_1d94c: diff --git a/scripts/MrPsychicsHouse.asm b/scripts/MrPsychicsHouse.asm index 1e694772..399edfbd 100755 --- a/scripts/MrPsychicsHouse.asm +++ b/scripts/MrPsychicsHouse.asm @@ -7,24 +7,24 @@ MrPsychicsHouse_TextPointers: SaffronHouse2Text1: text_asm CheckEvent EVENT_GOT_TM29 - jr nz, .asm_9e72b + jr nz, .got_item ld hl, TM29PreReceiveText call PrintText lb bc, TM_PSYCHIC_M, 1 call GiveItem - jr nc, .BagFull + jr nc, .bag_full ld hl, ReceivedTM29Text call PrintText SetEvent EVENT_GOT_TM29 - jr .asm_fe4e1 -.BagFull + jr .done +.bag_full ld hl, TM29NoRoomText call PrintText - jr .asm_fe4e1 -.asm_9e72b + jr .done +.got_item ld hl, TM29ExplanationText call PrintText -.asm_fe4e1 +.done jp TextScriptEnd TM29PreReceiveText: diff --git a/scripts/MtMoonB2F.asm b/scripts/MtMoonB2F.asm index 9ecb8b1c..81cb13da 100755 --- a/scripts/MtMoonB2F.asm +++ b/scripts/MtMoonB2F.asm @@ -123,9 +123,9 @@ CoordsData_49df1: MovementData_49df8: db NPC_MOVEMENT_RIGHT - MovementData_49df9: - db NPC_MOVEMENT_UP,$FF + db NPC_MOVEMENT_UP + db $FF MtMoon3Script5: ld a, [wd730] diff --git a/scripts/Museum1F.asm b/scripts/Museum1F.asm index caec03be..b7240154 100755 --- a/scripts/Museum1F.asm +++ b/scripts/Museum1F.asm @@ -1,5 +1,5 @@ Museum1F_Script: - ld a, $1 + ld a, TRUE ld [wAutoTextBoxDrawingControl], a xor a ld [wDoNotWaitForButtonPressAfterDisplayingText], a @@ -188,24 +188,24 @@ Museum1FText_5c251: Museum1FText3: text_asm CheckEvent EVENT_GOT_OLD_AMBER - jr nz, .asm_5c285 + jr nz, .got_item ld hl, Museum1FText_5c28e call PrintText lb bc, OLD_AMBER, 1 call GiveItem - jr nc, .BagFull + jr nc, .bag_full SetEvent EVENT_GOT_OLD_AMBER ld a, HS_OLD_AMBER ld [wMissableObjectIndex], a predef HideObject ld hl, ReceivedOldAmberText - jr .asm_5c288 -.BagFull + jr .done +.bag_full ld hl, Museum1FText_5c29e - jr .asm_5c288 -.asm_5c285 + jr .done +.got_item ld hl, Museum1FText_5c299 -.asm_5c288 +.done call PrintText jp TextScriptEnd diff --git a/scripts/OaksLab.asm b/scripts/OaksLab.asm index a2e0bfe8..83d1a798 100755 --- a/scripts/OaksLab.asm +++ b/scripts/OaksLab.asm @@ -1,7 +1,7 @@ OaksLab_Script: CheckEvent EVENT_PALLET_AFTER_GETTING_POKEBALLS_2 call nz, OaksLabScript_1d076 - ld a, $1 + ld a, TRUE ld [wAutoTextBoxDrawingControl], a xor a ld [wDoNotWaitForButtonPressAfterDisplayingText], a diff --git a/scripts/PewterMart.asm b/scripts/PewterMart.asm index b2ae5a11..2b732129 100755 --- a/scripts/PewterMart.asm +++ b/scripts/PewterMart.asm @@ -1,6 +1,6 @@ PewterMart_Script: call EnableAutoTextBoxDrawing - ld a, $1 + ld a, TRUE ld [wAutoTextBoxDrawingControl], a ret diff --git a/scripts/PewterPokecenter.asm b/scripts/PewterPokecenter.asm index 1c626541..5030244c 100755 --- a/scripts/PewterPokecenter.asm +++ b/scripts/PewterPokecenter.asm @@ -17,14 +17,16 @@ PewterPokecenterText2: PewterJigglypuffText: text_asm - ld a, $1 + ld a, TRUE ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld hl, .Text + ld hl, .JigglypuffText call PrintText + ld a, SFX_STOP_ALL_MUSIC call PlaySound ld c, 32 call DelayFrames + ld hl, JigglypuffFacingDirections ld de, wJigglypuffFacingDirections ld bc, JigglypuffFacingDirectionsEnd - JigglypuffFacingDirections @@ -37,15 +39,16 @@ PewterJigglypuffText: inc hl jr nz, .findMatchingFacingDirectionLoop dec hl + push hl ld c, BANK(Music_JigglypuffSong) ld a, MUSIC_JIGGLYPUFF_SONG call PlayMusic pop hl -.loop + +.spinMovementLoop ld a, [hl] ld [wSprite03StateData1ImageIndex], a - ; rotate the array push hl ld hl, wJigglypuffFacingDirections @@ -55,22 +58,20 @@ PewterJigglypuffText: ld a, [wJigglypuffFacingDirections - 1] ld [wJigglypuffFacingDirections + 3], a pop hl - ld c, 24 call DelayFrames - ld a, [wChannelSoundIDs] ld b, a ld a, [wChannelSoundIDs + Ch2] or b - jr nz, .loop + jr nz, .spinMovementLoop ld c, 48 call DelayFrames call PlayDefaultMusic jp TextScriptEnd -.Text +.JigglypuffText: text_far _PewterJigglypuffText text_end diff --git a/scripts/PokemonFanClub.asm b/scripts/PokemonFanClub.asm index 62a5ce84..717ba4bb 100755 --- a/scripts/PokemonFanClub.asm +++ b/scripts/PokemonFanClub.asm @@ -115,12 +115,12 @@ FanClubText5: call PrintText lb bc, BIKE_VOUCHER, 1 call GiveItem - jr nc, .BagFull + jr nc, .bag_full ld hl, .receivedvouchertext call PrintText SetEvent EVENT_GOT_BIKE_VOUCHER jr .done -.BagFull +.bag_full ld hl, .bagfulltext call PrintText jr .done diff --git a/scripts/PokemonTower6F.asm b/scripts/PokemonTower6F.asm index 3c9e1f1d..7318c4b9 100755 --- a/scripts/PokemonTower6F.asm +++ b/scripts/PokemonTower6F.asm @@ -42,7 +42,8 @@ PokemonTower6Script0: ret CoordsData_60b45: - db $10,$0A,$FF + db $10,$0A + db $FF PokemonTower6Script4: ld a, [wIsInBattle] diff --git a/scripts/RedsHouse1F.asm b/scripts/RedsHouse1F.asm index 9f45a760..bdeb96d7 100755 --- a/scripts/RedsHouse1F.asm +++ b/scripts/RedsHouse1F.asm @@ -2,14 +2,14 @@ RedsHouse1F_Script: jp EnableAutoTextBoxDrawing RedsHouse1F_TextPointers: - dw RedsHouse1FText1 - dw RedsHouse1FText2 + dw RedsHouse1FMomText + dw RedsHouse1FTVText -RedsHouse1FText1: ; Mom +RedsHouse1FMomText: text_asm ld a, [wd72e] - bit 3, a - jr nz, .heal ; if player has received a Pokémon from Oak, heal team + bit 3, a ; received a Pokémon from Oak? + jr nz, .heal ld hl, MomWakeUpText call PrintText jr .done @@ -49,14 +49,14 @@ MomHealText2: text_far _MomHealText2 text_end -RedsHouse1FText2: ; TV +RedsHouse1FTVText: text_asm ld a, [wSpritePlayerStateData1FacingDirection] cp SPRITE_FACING_UP ld hl, TVWrongSideText - jr nz, .notUp + jr nz, .got_text ld hl, StandByMeText -.notUp +.got_text call PrintText jp TextScriptEnd diff --git a/scripts/RedsHouse2F.asm b/scripts/RedsHouse2F.asm index 2e3463ee..b44b9f98 100755 --- a/scripts/RedsHouse2F.asm +++ b/scripts/RedsHouse2F.asm @@ -21,4 +21,5 @@ RedsHouse2FScript1: ret RedsHouse2F_TextPointers: - text_end + + text_end ; unused diff --git a/scripts/RockTunnelPokecenter.asm b/scripts/RockTunnelPokecenter.asm index 999edf13..755bb8f8 100755 --- a/scripts/RockTunnelPokecenter.asm +++ b/scripts/RockTunnelPokecenter.asm @@ -9,7 +9,7 @@ RockTunnelPokecenter_TextPointers: dw RockTunnelTradeNurseText RockTunnelHealNurseText: - db $ff + script_pokecenter_nurse RockTunnelPokecenterText2: text_far _RockTunnelPokecenterText2 @@ -20,4 +20,4 @@ RockTunnelPokecenterText3: text_end RockTunnelTradeNurseText: - db $f6 + script_cable_club_receptionist diff --git a/scripts/RocketHideoutElevator.asm b/scripts/RocketHideoutElevator.asm index 45b27e3b..8c51294e 100755 --- a/scripts/RocketHideoutElevator.asm +++ b/scripts/RocketHideoutElevator.asm @@ -41,19 +41,18 @@ RocketHideoutElevatorScript_45741: ret RocketHideoutElavatorFloors: - db $03 ; num elements in list + db 3 ; # db FLOOR_B1F db FLOOR_B2F db FLOOR_B4F - db $FF ; terminator + db -1 ; end -RocketHideoutElevatorWarpMaps: -; first byte is warp number -; second byte is map number ; These specify where the player goes after getting out of the elevator. - db $04, ROCKET_HIDEOUT_B1F - db $04, ROCKET_HIDEOUT_B2F - db $02, ROCKET_HIDEOUT_B4F +RocketHideoutElevatorWarpMaps: + ; warp number, map id + db 4, ROCKET_HIDEOUT_B1F + db 4, ROCKET_HIDEOUT_B2F + db 2, ROCKET_HIDEOUT_B4F RocketHideoutElevatorWarpMapsEnd: RocketHideoutElevatorScript_4575f: diff --git a/scripts/Route1.asm b/scripts/Route1.asm index 3aa948c7..bd9afea3 100755 --- a/scripts/Route1.asm +++ b/scripts/Route1.asm @@ -9,20 +9,20 @@ Route1_TextPointers: Route1Text1: text_asm CheckAndSetEvent EVENT_GOT_POTION_SAMPLE - jr nz, .asm_1cada + jr nz, .got_item ld hl, Route1ViridianMartSampleText call PrintText lb bc, POTION, 1 call GiveItem - jr nc, .BagFull + jr nc, .bag_full ld hl, Route1Text_1cae8 - jr .asm_1cadd -.BagFull + jr .done +.bag_full ld hl, Route1Text_1caf3 - jr .asm_1cadd -.asm_1cada + jr .done +.got_item ld hl, Route1Text_1caee -.asm_1cadd +.done call PrintText jp TextScriptEnd diff --git a/scripts/Route11Gate2F.asm b/scripts/Route11Gate2F.asm index 21d742c0..47c8db22 100755 --- a/scripts/Route11Gate2F.asm +++ b/scripts/Route11Gate2F.asm @@ -18,10 +18,10 @@ Route11GateUpstairsScriptEnd: Route11GateUpstairsText2: text_asm CheckEvent EVENT_GOT_ITEMFINDER, 1 - jr c, .asm_4949b - ld a, 30 ; pokemon needed + jr c, .got_item + ld a, 30 ldh [hOaksAideRequirement], a - ld a, ITEMFINDER ; oak's aide reward + ld a, ITEMFINDER ldh [hOaksAideRewardItem], a ld [wd11e], a call GetItemName @@ -32,13 +32,13 @@ Route11GateUpstairsText2: call CopyData predef OaksAideScript ldh a, [hOaksAideResult] - dec a - jr nz, .asm_494a1 + dec a ; OAKS_AIDE_GOT_ITEM? + jr nz, .no_item SetEvent EVENT_GOT_ITEMFINDER -.asm_4949b +.got_item ld hl, Route11GateUpstairsText_494a3 call PrintText -.asm_494a1 +.no_item jr Route11GateUpstairsScriptEnd Route11GateUpstairsText_494a3: diff --git a/scripts/Route12Gate2F.asm b/scripts/Route12Gate2F.asm index a7e426c9..2174fba8 100755 --- a/scripts/Route12Gate2F.asm +++ b/scripts/Route12Gate2F.asm @@ -9,24 +9,24 @@ Route12Gate2F_TextPointers: Route12GateUpstairsText1: text_asm CheckEvent EVENT_GOT_TM39, 1 - jr c, .asm_0ad3c + jr c, .got_item ld hl, TM39PreReceiveText call PrintText lb bc, TM_SWIFT, 1 call GiveItem - jr nc, .BagFull + jr nc, .bag_full ld hl, ReceivedTM39Text call PrintText SetEvent EVENT_GOT_TM39 - jr .asm_4ba56 -.BagFull + jr .done +.bag_full ld hl, TM39NoRoomText call PrintText - jr .asm_4ba56 -.asm_0ad3c + jr .done +.got_item ld hl, TM39ExplanationText call PrintText -.asm_4ba56 +.done jp TextScriptEnd TM39PreReceiveText: @@ -68,7 +68,7 @@ GateUpstairsScript_PrintIfFacingUp: ld a, [wSpritePlayerStateData1FacingDirection] cp SPRITE_FACING_UP jr z, .up - ld a, $1 + ld a, TRUE jr .done .up call PrintText diff --git a/scripts/Route12SuperRodHouse.asm b/scripts/Route12SuperRodHouse.asm index 6cc1602c..fba5426e 100755 --- a/scripts/Route12SuperRodHouse.asm +++ b/scripts/Route12SuperRodHouse.asm @@ -7,30 +7,30 @@ Route12SuperRodHouse_TextPointers: Route12HouseText1: text_asm ld a, [wd728] - bit 5, a - jr nz, .asm_b4cad + bit 5, a ; received super rod? + jr nz, .got_item ld hl, Route12HouseText_564c0 call PrintText call YesNoChoice ld a, [wCurrentMenuItem] and a - jr nz, .asm_a2d76 + jr nz, .refused lb bc, SUPER_ROD, 1 call GiveItem - jr nc, .BagFull + jr nc, .bag_full ld hl, wd728 - set 5, [hl] + set 5, [hl] ; received super rod ld hl, Route12HouseText_564c5 - jr .asm_df984 -.BagFull + jr .done +.bag_full ld hl, Route12HouseText_564d9 - jr .asm_df984 -.asm_a2d76 + jr .done +.refused ld hl, Route12HouseText_564cf - jr .asm_df984 -.asm_b4cad + jr .done +.got_item ld hl, Route12HouseText_564d4 -.asm_df984 +.done call PrintText jp TextScriptEnd diff --git a/scripts/Route15Gate2F.asm b/scripts/Route15Gate2F.asm index 9887fbc1..1b85e34e 100755 --- a/scripts/Route15Gate2F.asm +++ b/scripts/Route15Gate2F.asm @@ -8,10 +8,10 @@ Route15Gate2F_TextPointers: Route15GateUpstairsText1: text_asm CheckEvent EVENT_GOT_EXP_ALL - jr nz, .asm_49683 - ld a, 50 ; pokemon needed + jr nz, .got_item + ld a, 50 ldh [hOaksAideRequirement], a - ld a, EXP_ALL ; oak's aide reward + ld a, EXP_ALL ldh [hOaksAideRewardItem], a ld [wd11e], a call GetItemName @@ -21,13 +21,13 @@ Route15GateUpstairsText1: call CopyData predef OaksAideScript ldh a, [hOaksAideResult] - cp $1 - jr nz, .asm_49689 + cp OAKS_AIDE_GOT_ITEM + jr nz, .no_item SetEvent EVENT_GOT_EXP_ALL -.asm_49683 +.got_item ld hl, Route15GateUpstairsText_4968c call PrintText -.asm_49689 +.no_item jp TextScriptEnd Route15GateUpstairsText_4968c: diff --git a/scripts/Route16FlyHouse.asm b/scripts/Route16FlyHouse.asm index d5b0350a..3bb34b75 100755 --- a/scripts/Route16FlyHouse.asm +++ b/scripts/Route16FlyHouse.asm @@ -9,18 +9,18 @@ Route16HouseText1: text_asm CheckEvent EVENT_GOT_HM02 ld hl, HM02ExplanationText - jr nz, .asm_13616 + jr nz, .got_item ld hl, Route16HouseText3 call PrintText lb bc, HM_FLY, 1 call GiveItem - jr nc, .BagFull + jr nc, .bag_full SetEvent EVENT_GOT_HM02 ld hl, ReceivedHM02Text - jr .asm_13616 -.BagFull + jr .got_item +.bag_full ld hl, HM02NoRoomText -.asm_13616 +.got_item call PrintText jp TextScriptEnd diff --git a/scripts/Route23.asm b/scripts/Route23.asm index f4d65266..fbcc2f8b 100755 --- a/scripts/Route23.asm +++ b/scripts/Route23.asm @@ -61,7 +61,8 @@ Route23Script0: ret YCoordsData_51255: - db $23,$38,$55,$60,$69,$77,$88,$FF + db $23,$38,$55,$60,$69,$77,$88 + db $FF Route23Script_5125d: ld hl, BadgeTextPointers diff --git a/scripts/Route24.asm b/scripts/Route24.asm index 28151393..4dec6d2f 100755 --- a/scripts/Route24.asm +++ b/scripts/Route24.asm @@ -45,7 +45,8 @@ Route24Script0: ret CoordsData_5140e: - db $0F,$0A,$FF + db $0F,$0A + db $FF Route24Script4: ld a, [wSimulatedJoypadStatesIndex] @@ -103,12 +104,12 @@ Route24Text1: text_asm ResetEvent EVENT_NUGGET_REWARD_AVAILABLE CheckEvent EVENT_GOT_NUGGET - jr nz, .asm_514f9 + jr nz, .got_item ld hl, Route24Text_51510 call PrintText lb bc, NUGGET, 1 call GiveItem - jr nc, .BagFull + jr nc, .bag_full SetEvent EVENT_GOT_NUGGET ld hl, Route24Text_5151a call PrintText @@ -130,11 +131,11 @@ Route24Text1: ld [wRoute24CurScript], a ld [wCurMapScript], a jp TextScriptEnd -.asm_514f9 +.got_item ld hl, Route24Text_51530 call PrintText jp TextScriptEnd -.BagFull +.bag_full ld hl, Route24Text_51521 call PrintText SetEvent EVENT_NUGGET_REWARD_AVAILABLE diff --git a/scripts/Route2Gate.asm b/scripts/Route2Gate.asm index d9d30218..60f6ffe1 100755 --- a/scripts/Route2Gate.asm +++ b/scripts/Route2Gate.asm @@ -8,10 +8,10 @@ Route2Gate_TextPointers: Route2GateText1: text_asm CheckEvent EVENT_GOT_HM05 - jr nz, .asm_5d60d - ld a, 10 ; pokemon needed + jr nz, .got_item + ld a, 10 ldh [hOaksAideRequirement], a - ld a, HM_FLASH ; oak's aide reward + ld a, HM_FLASH ldh [hOaksAideRewardItem], a ld [wd11e], a call GetItemName @@ -21,13 +21,13 @@ Route2GateText1: call CopyData predef OaksAideScript ldh a, [hOaksAideResult] - cp $1 - jr nz, .asm_5d613 + cp OAKS_AIDE_GOT_ITEM + jr nz, .no_item SetEvent EVENT_GOT_HM05 -.asm_5d60d +.got_item ld hl, Route2GateText_5d616 call PrintText -.asm_5d613 +.no_item jp TextScriptEnd Route2GateText_5d616: diff --git a/scripts/Route6Gate.asm b/scripts/Route6Gate.asm index 22d40fd3..81a7490a 100755 --- a/scripts/Route6Gate.asm +++ b/scripts/Route6Gate.asm @@ -40,7 +40,8 @@ Route6GateScript0: CoordsData_1e08c: db $02,$03 - db $02,$04,$FF + db $02,$04 + db $FF Route6GateScript1: ld a, [wSimulatedJoypadStatesIndex] diff --git a/scripts/SSAnne2FRooms.asm b/scripts/SSAnne2FRooms.asm index a82afa26..3fe2d34f 100755 --- a/scripts/SSAnne2FRooms.asm +++ b/scripts/SSAnne2FRooms.asm @@ -1,5 +1,5 @@ SSAnne2FRooms_Script: - ld a, $1 + ld a, TRUE ld [wAutoTextBoxDrawingControl], a xor a ld [wDoNotWaitForButtonPressAfterDisplayingText], a diff --git a/scripts/SSAnneB1F.asm b/scripts/SSAnneB1F.asm index 91452977..f66fdfaa 100755 --- a/scripts/SSAnneB1F.asm +++ b/scripts/SSAnneB1F.asm @@ -2,4 +2,5 @@ SSAnneB1F_Script: jp EnableAutoTextBoxDrawing SSAnneB1F_TextPointers: - text_end + + text_end ; unused diff --git a/scripts/SSAnneCaptainsRoom.asm b/scripts/SSAnneCaptainsRoom.asm index 8b464b53..3d5c5645 100755 --- a/scripts/SSAnneCaptainsRoom.asm +++ b/scripts/SSAnneCaptainsRoom.asm @@ -17,28 +17,28 @@ SSAnneCaptainsRoom_TextPointers: SSAnne7Text1: text_asm CheckEvent EVENT_GOT_HM01 - jr nz, .asm_797c4 + jr nz, .got_item ld hl, SSAnne7RubText call PrintText ld hl, ReceivingHM01Text call PrintText lb bc, HM_CUT, 1 call GiveItem - jr nc, .BagFull + jr nc, .bag_full ld hl, ReceivedHM01Text call PrintText SetEvent EVENT_GOT_HM01 - jr .asm_0faf5 -.BagFull + jr .done +.bag_full ld hl, HM01NoRoomText call PrintText ld hl, wd72d set 5, [hl] - jr .asm_0faf5 -.asm_797c4 + jr .done +.got_item ld hl, SSAnne7Text_61932 call PrintText -.asm_0faf5 +.done jp TextScriptEnd SSAnne7RubText: diff --git a/scripts/SSAnneKitchen.asm b/scripts/SSAnneKitchen.asm index 969c6b7f..30a9830f 100755 --- a/scripts/SSAnneKitchen.asm +++ b/scripts/SSAnneKitchen.asm @@ -41,17 +41,17 @@ SSAnne6Text7: call PrintText ldh a, [hRandomAdd] bit 7, a - jr z, .asm_93eb1 + jr z, .not_dialog_1 ld hl, SSAnne6Text_6180c - jr .asm_63292 -.asm_93eb1 + jr .done +.not_dialog_1 bit 4, a - jr z, .asm_7436c + jr z, .not_dialog_2 ld hl, SSAnne6Text_61811 - jr .asm_63292 -.asm_7436c + jr .done +.not_dialog_2 ld hl, SSAnne6Text_61816 -.asm_63292 +.done call PrintText jp TextScriptEnd diff --git a/scripts/SafariZoneSecretHouse.asm b/scripts/SafariZoneSecretHouse.asm index 35aa90d7..6eeff8ad 100755 --- a/scripts/SafariZoneSecretHouse.asm +++ b/scripts/SafariZoneSecretHouse.asm @@ -7,24 +7,24 @@ SafariZoneSecretHouse_TextPointers: SafariZoneSecretHouseText1: text_asm CheckEvent EVENT_GOT_HM03 - jr nz, .asm_20a9b + jr nz, .got_item ld hl, SafariZoneSecretHouseText_4a350 call PrintText lb bc, HM_SURF, 1 call GiveItem - jr nc, .BagFull + jr nc, .bag_full ld hl, ReceivedHM03Text call PrintText SetEvent EVENT_GOT_HM03 - jr .asm_8f1fc -.BagFull + jr .done +.bag_full ld hl, HM03NoRoomText call PrintText - jr .asm_8f1fc -.asm_20a9b + jr .done +.got_item ld hl, HM03ExplanationText call PrintText -.asm_8f1fc +.done jp TextScriptEnd SafariZoneSecretHouseText_4a350: diff --git a/scripts/SilphCo11F.asm b/scripts/SilphCo11F.asm index abea6da4..6f7d050b 100755 --- a/scripts/SilphCo11F.asm +++ b/scripts/SilphCo11F.asm @@ -289,24 +289,24 @@ SilphCo11TrainerHeader1: SilphCo11Text1: text_asm CheckEvent EVENT_GOT_MASTER_BALL - jp nz, .asm_62308 + jp nz, .got_item ld hl, SilphCoPresidentText call PrintText lb bc, MASTER_BALL, 1 call GiveItem - jr nc, .BagFull + jr nc, .bag_full ld hl, ReceivedSilphCoMasterBallText call PrintText SetEvent EVENT_GOT_MASTER_BALL - jr .asm_6230e -.BagFull + jr .done +.bag_full ld hl, SilphCoMasterBallNoRoomText call PrintText - jr .asm_6230e -.asm_62308 + jr .done +.got_item ld hl, SilphCo10Text_6231c call PrintText -.asm_6230e +.done jp TextScriptEnd SilphCoPresidentText: diff --git a/scripts/SilphCoElevator.asm b/scripts/SilphCoElevator.asm index e660cd0f..c898cbd1 100755 --- a/scripts/SilphCoElevator.asm +++ b/scripts/SilphCoElevator.asm @@ -41,7 +41,7 @@ SilphCoElevatorScript_457f1: ret SilphCoElevatorFloors: - db $0B ; num elements in list + db 11 ; # db FLOOR_1F db FLOOR_2F db FLOOR_3F @@ -53,23 +53,22 @@ SilphCoElevatorFloors: db FLOOR_9F db FLOOR_10F db FLOOR_11F - db $FF ; terminator + db -1 ; end -SilphCoElevatorWarpMaps: -; first byte is warp number -; second byte is map number ; These specify where the player goes after getting out of the elevator. - db $03, SILPH_CO_1F - db $02, SILPH_CO_2F - db $02, SILPH_CO_3F - db $02, SILPH_CO_4F - db $02, SILPH_CO_5F - db $02, SILPH_CO_6F - db $02, SILPH_CO_7F - db $02, SILPH_CO_8F - db $02, SILPH_CO_9F - db $02, SILPH_CO_10F - db $01, SILPH_CO_11F +SilphCoElevatorWarpMaps: + ; warp number, map id + db 3, SILPH_CO_1F + db 2, SILPH_CO_2F + db 2, SILPH_CO_3F + db 2, SILPH_CO_4F + db 2, SILPH_CO_5F + db 2, SILPH_CO_6F + db 2, SILPH_CO_7F + db 2, SILPH_CO_8F + db 2, SILPH_CO_9F + db 2, SILPH_CO_10F + db 1, SILPH_CO_11F SilphCoElevatorWarpMapsEnd: SilphCoElevatorScript_45827: diff --git a/scripts/TradeCenter.asm b/scripts/TradeCenter.asm index b91996e0..dbed79c1 100755 --- a/scripts/TradeCenter.asm +++ b/scripts/TradeCenter.asm @@ -15,16 +15,16 @@ TradeCenter_Script: set 0, [hl] ret nz ld hl, wSprite01StateData2MapY - ld a, $8 + ld a, 8 ; y ld [hli], a - ld a, $a + ld a, 10 ; x ld [hl], a ld a, SPRITE_FACING_LEFT ld [wSprite01StateData1FacingDirection], a ldh a, [hSerialConnectionStatus] cp USING_INTERNAL_CLOCK ret z - ld a, $7 + ld a, 7 ; x ld [wSprite01StateData2MapX], a ld a, SPRITE_FACING_RIGHT ld [wSprite01StateData1FacingDirection], a diff --git a/scripts/UndergroundPathNorthSouth.asm b/scripts/UndergroundPathNorthSouth.asm index eb8fe4fd..00a7ef90 100755 --- a/scripts/UndergroundPathNorthSouth.asm +++ b/scripts/UndergroundPathNorthSouth.asm @@ -2,4 +2,5 @@ UndergroundPathNorthSouth_Script: jp EnableAutoTextBoxDrawing UndergroundPathNorthSouth_TextPointers: - text_end + + text_end ; unused diff --git a/scripts/UndergroundPathWestEast.asm b/scripts/UndergroundPathWestEast.asm index e21c3268..98571e17 100755 --- a/scripts/UndergroundPathWestEast.asm +++ b/scripts/UndergroundPathWestEast.asm @@ -2,4 +2,5 @@ UndergroundPathWestEast_Script: jp EnableAutoTextBoxDrawing UndergroundPathWestEast_TextPointers: - text_end + + text_end ; unused diff --git a/scripts/VermilionOldRodHouse.asm b/scripts/VermilionOldRodHouse.asm index 5305820d..524395d4 100755 --- a/scripts/VermilionOldRodHouse.asm +++ b/scripts/VermilionOldRodHouse.asm @@ -7,30 +7,30 @@ VermilionOldRodHouse_TextPointers: VermilionHouse2Text1: text_asm ld a, [wd728] - bit 3, a - jr nz, .asm_03ef5 + bit 3, a ; got old rod? + jr nz, .got_item ld hl, VermilionHouse2Text_560b1 call PrintText call YesNoChoice ld a, [wCurrentMenuItem] and a - jr nz, .asm_eb1b7 + jr nz, .refused lb bc, OLD_ROD, 1 call GiveItem - jr nc, .BagFull + jr nc, .bag_full ld hl, wd728 - set 3, [hl] + set 3, [hl] ; got old rod ld hl, VermilionHouse2Text_560b6 - jr .asm_5dd95 -.BagFull + jr .done +.bag_full ld hl, VermilionHouse2Text_560ca - jr .asm_5dd95 -.asm_eb1b7 + jr .done +.refused ld hl, VermilionHouse2Text_560c0 - jr .asm_5dd95 -.asm_03ef5 + jr .done +.got_item ld hl, VermilionHouse2Text_560c5 -.asm_5dd95 +.done call PrintText jp TextScriptEnd diff --git a/scripts/VictoryRoad1F.asm b/scripts/VictoryRoad1F.asm index 784329f0..1eff96f0 100755 --- a/scripts/VictoryRoad1F.asm +++ b/scripts/VictoryRoad1F.asm @@ -35,7 +35,8 @@ VictoryRoad1Script0: ret CoordsData_5da5c: - db $0D,$11,$FF + db $0D,$11 + db $FF VictoryRoad1F_TextPointers: dw VictoryRoad1Text1 diff --git a/scripts/ViridianCity.asm b/scripts/ViridianCity.asm index 62d98c4c..543ffa97 100755 --- a/scripts/ViridianCity.asm +++ b/scripts/ViridianCity.asm @@ -18,11 +18,11 @@ ViridianCityScript_1900b: CheckEvent EVENT_VIRIDIAN_GYM_OPEN ret nz ld a, [wObtainedBadges] - cp %01111111 - jr nz, .gymClosed + cp $ff ^ (1 << BIT_EARTHBADGE) + jr nz, .gym_closed SetEvent EVENT_VIRIDIAN_GYM_OPEN ret -.gymClosed +.gym_closed ld a, [wYCoord] cp $8 ret nz @@ -148,13 +148,13 @@ ViridianCityText1: ViridianCityText2: text_asm ld a, [wObtainedBadges] - cp %01111111 + cp $ff ^ (1 << BIT_EARTHBADGE) ld hl, ViridianCityText_19127 - jr z, .printAndDone + jr z, .done CheckEvent EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI - jr nz, .printAndDone + jr nz, .done ld hl, ViridianCityText_19122 -.printAndDone +.done call PrintText jp TextScriptEnd @@ -232,21 +232,21 @@ ViridianCityText_19191: ViridianCityText6: text_asm CheckEvent EVENT_GOT_TM42 - jr nz, .gotTm42 + jr nz, .got_item ld hl, ViridianCityText_191ca call PrintText lb bc, TM_DREAM_EATER, 1 call GiveItem - jr nc, .BagFull + jr nc, .bag_full ld hl, ReceivedTM42Text call PrintText SetEvent EVENT_GOT_TM42 jr .done -.BagFull +.bag_full ld hl, TM42NoRoomText call PrintText jr .done -.gotTm42 +.got_item ld hl, TM42Explanation call PrintText .done @@ -278,13 +278,13 @@ ViridianCityText7: call YesNoChoice ld a, [wCurrentMenuItem] and a - jr z, .hurry + jr z, .refused ld hl, ViridianCityText_1920f call PrintText ld a, $1 ld [wViridianCityCurScript], a jr .done -.hurry +.refused ld hl, ViridianCityText_19214 call PrintText .done diff --git a/scripts/ViridianGym.asm b/scripts/ViridianGym.asm index f169f1f5..75992c3e 100755 --- a/scripts/ViridianGym.asm +++ b/scripts/ViridianGym.asm @@ -81,40 +81,52 @@ ViridianGymArrowTilePlayerMovement: ;format: direction, count ViridianGymArrowMovement1: - db D_UP,$09,$FF + db D_UP,$09 + db $FF ViridianGymArrowMovement2: - db D_LEFT,$08,$FF + db D_LEFT,$08 + db $FF ViridianGymArrowMovement3: - db D_DOWN,$09,$FF + db D_DOWN,$09 + db $FF ViridianGymArrowMovement4: - db D_RIGHT,$06,$FF + db D_RIGHT,$06 + db $FF ViridianGymArrowMovement5: - db D_DOWN,$02,$FF + db D_DOWN,$02 + db $FF ViridianGymArrowMovement6: - db D_DOWN,$07,$FF + db D_DOWN,$07 + db $FF ViridianGymArrowMovement7: - db D_RIGHT,$08,$FF + db D_RIGHT,$08 + db $FF ViridianGymArrowMovement8: - db D_RIGHT,$09,$FF + db D_RIGHT,$09 + db $FF ViridianGymArrowMovement9: - db D_UP,$08,$FF + db D_UP,$08 + db $FF ViridianGymArrowMovement10: - db D_UP,$06,$FF + db D_UP,$06 + db $FF ViridianGymArrowMovement11: - db D_LEFT,$06,$FF + db D_LEFT,$06 + db $FF ViridianGymArrowMovement12: - db D_LEFT,$0C,$FF + db D_LEFT,$0C + db $FF ViridianGymScript4: ld a, [wSimulatedJoypadStatesIndex] diff --git a/scripts/ViridianMart.asm b/scripts/ViridianMart.asm index ea1c373f..edf4c4a0 100755 --- a/scripts/ViridianMart.asm +++ b/scripts/ViridianMart.asm @@ -7,12 +7,12 @@ ViridianMart_Script: ViridianMartScript_1d47d: CheckEvent EVENT_OAK_GOT_PARCEL - jr nz, .asm_1d489 + jr nz, .delivered_parcel ld hl, ViridianMart_TextPointers - jr .asm_1d48c -.asm_1d489 + jr .done +.delivered_parcel ld hl, ViridianMart_TextPointers2 -.asm_1d48c +.done ld a, l ld [wMapTextPtr], a ld a, h @@ -67,6 +67,7 @@ ViridianMart_TextPointers: dw ViridianMartText3 dw ViridianMartText4 dw ViridianMartText5 + ViridianMart_TextPointers2: dw ViridianCashierText dw ViridianMartText2 diff --git a/scripts/WardensHouse.asm b/scripts/WardensHouse.asm index 6705a450..2dd0410c 100755 --- a/scripts/WardensHouse.asm +++ b/scripts/WardensHouse.asm @@ -11,48 +11,48 @@ WardensHouse_TextPointers: FuchsiaHouse2Text1: text_asm CheckEvent EVENT_GOT_HM04 - jr nz, .subtract + jr nz, .got_item ld b, GOLD_TEETH call IsItemInBag - jr nz, .asm_3f30f + jr nz, .have_gold_teeth CheckEvent EVENT_GAVE_GOLD_TEETH - jr nz, .asm_60cba + jr nz, .gave_gold_teeth ld hl, WardenGibberishText1 call PrintText call YesNoChoice ld a, [wCurrentMenuItem] and a ld hl, WardenGibberishText3 - jr nz, .asm_61238 + jr nz, .refused ld hl, WardenGibberishText2 -.asm_61238 +.refused call PrintText - jr .asm_52039 -.asm_3f30f + jr .done +.have_gold_teeth ld hl, WardenTeethText1 call PrintText ld a, GOLD_TEETH ldh [hItemToRemoveID], a farcall RemoveItemByID SetEvent EVENT_GAVE_GOLD_TEETH -.asm_60cba +.gave_gold_teeth ld hl, WardenThankYouText call PrintText lb bc, HM_STRENGTH, 1 call GiveItem - jr nc, .BagFull + jr nc, .bag_full ld hl, ReceivedHM04Text call PrintText SetEvent EVENT_GOT_HM04 - jr .asm_52039 -.subtract + jr .done +.got_item ld hl, HM04ExplanationText call PrintText - jr .asm_52039 -.BagFull + jr .done +.bag_full ld hl, HM04NoRoomText call PrintText -.asm_52039 +.done jp TextScriptEnd WardenGibberishText1: diff --git a/text/BluesHouse.asm b/text/BluesHouse.asm index a9b9ca47..6e57cb21 100644 --- a/text/BluesHouse.asm +++ b/text/BluesHouse.asm @@ -29,14 +29,14 @@ _DaisyUseMapText:: cont "you are." done -_BluesHouseText2:: +_BluesHouseDaisyWalkingText:: text "#MON are living" line "things! If they" cont "get tired, give" cont "them a rest!" done -_BluesHouseText3:: +_BluesHouseTownMapText:: text "It's a big map!" line "This is useful!" done -- cgit v1.2.3 From 76b882d9523915ca8ced96e8c5e889ca2728241e Mon Sep 17 00:00:00 2001 From: Rangi Date: Thu, 16 Jul 2020 12:32:19 -0400 Subject: Reformat map scripts' coordinate and movement data 'dbmapcoord' has X, Y order like other coordinate-related data macros --- constants/input_constants.asm | 1 + constants/sprite_data_constants.asm | 2 + engine/overworld/auto_movement.asm | 78 ++++----- engine/overworld/movement.asm | 2 +- home/pathfinding.asm | 2 +- macros/coords.asm | 5 + macros/scripts/maps.asm | 8 + scripts/AgathasRoom.asm | 10 +- scripts/BillsHouse.asm | 6 +- scripts/BrunosRoom.asm | 10 +- scripts/CeladonMartRoof.asm | 2 +- scripts/CeruleanCity.asm | 18 +- scripts/ChampionsRoom.asm | 18 +- scripts/CinnabarGym.asm | 4 +- scripts/GameCorner.asm | 4 +- scripts/HallOfFame.asm | 4 +- scripts/LancesRoom.asm | 26 +-- scripts/LoreleisRoom.asm | 10 +- scripts/MtMoonB2F.asm | 52 +++--- scripts/MtMoonPokecenter.asm | 2 +- scripts/OaksLab.asm | 22 +-- scripts/PewterCity.asm | 14 +- scripts/PokemonMansion3F.asm | 8 +- scripts/PokemonTower2F.asm | 10 +- scripts/PokemonTower5F.asm | 10 +- scripts/PokemonTower6F.asm | 4 +- scripts/PokemonTower7F.asm | 48 ++--- scripts/RocketHideoutB2F.asm | 338 ++++++++++++++++-------------------- scripts/RocketHideoutB3F.asm | 121 ++++++------- scripts/Route16Gate1F.asm | 10 +- scripts/Route18Gate1F.asm | 10 +- scripts/Route20.asm | 2 +- scripts/Route22.asm | 27 ++- scripts/Route22Gate.asm | 6 +- scripts/Route23.asm | 16 +- scripts/Route24.asm | 4 +- scripts/Route5Gate.asm | 6 +- scripts/Route6Gate.asm | 6 +- scripts/Route7Gate.asm | 6 +- scripts/Route8Gate.asm | 6 +- scripts/SSAnne2F.asm | 12 +- scripts/SafariZoneGate.asm | 6 +- scripts/SeafoamIslands1F.asm | 6 +- scripts/SeafoamIslandsB1F.asm | 6 +- scripts/SeafoamIslandsB2F.asm | 6 +- scripts/SeafoamIslandsB3F.asm | 32 ++-- scripts/SeafoamIslandsB4F.asm | 32 ++-- scripts/SilphCo10F.asm | 4 +- scripts/SilphCo11F.asm | 18 +- scripts/SilphCo2F.asm | 6 +- scripts/SilphCo3F.asm | 6 +- scripts/SilphCo4F.asm | 6 +- scripts/SilphCo5F.asm | 8 +- scripts/SilphCo6F.asm | 4 +- scripts/SilphCo7F.asm | 20 +-- scripts/SilphCo8F.asm | 4 +- scripts/SilphCo9F.asm | 10 +- scripts/VermilionCity.asm | 10 +- scripts/VermilionDock.asm | 1 + scripts/VictoryRoad1F.asm | 4 +- scripts/VictoryRoad2F.asm | 6 +- scripts/VictoryRoad3F.asm | 6 +- scripts/ViridianGym.asm | 92 ++++------ scripts/ViridianMart.asm | 6 +- 64 files changed, 588 insertions(+), 661 deletions(-) diff --git a/constants/input_constants.asm b/constants/input_constants.asm index 1f10cc46..e5bc2a7b 100644 --- a/constants/input_constants.asm +++ b/constants/input_constants.asm @@ -8,6 +8,7 @@ const BIT_D_UP const BIT_D_DOWN +NO_INPUT EQU 0 A_BUTTON EQU 1 << BIT_A_BUTTON B_BUTTON EQU 1 << BIT_B_BUTTON SELECT EQU 1 << BIT_SELECT diff --git a/constants/sprite_data_constants.asm b/constants/sprite_data_constants.asm index 1639b8fa..e1104262 100644 --- a/constants/sprite_data_constants.asm +++ b/constants/sprite_data_constants.asm @@ -11,6 +11,8 @@ const NPC_MOVEMENT_LEFT ; $80 const NPC_MOVEMENT_RIGHT ; $C0 +NPC_CHANGE_FACING EQU $E0 + ; player direction constants const_def const PLAYER_DIR_BIT_RIGHT ; 0 diff --git a/engine/overworld/auto_movement.asm b/engine/overworld/auto_movement.asm index 9a717641..31f7d7b9 100755 --- a/engine/overworld/auto_movement.asm +++ b/engine/overworld/auto_movement.asm @@ -128,21 +128,21 @@ PalletMovementScript_WalkToLab: ret RLEList_ProfOakWalkToLab: - db NPC_MOVEMENT_DOWN, $05 - db NPC_MOVEMENT_LEFT, $01 - db NPC_MOVEMENT_DOWN, $05 - db NPC_MOVEMENT_RIGHT, $03 - db NPC_MOVEMENT_UP, $01 - db $E0, $01 ; stand still - db $FF + db NPC_MOVEMENT_DOWN, 5 + db NPC_MOVEMENT_LEFT, 1 + db NPC_MOVEMENT_DOWN, 5 + db NPC_MOVEMENT_RIGHT, 3 + db NPC_MOVEMENT_UP, 1 + db NPC_CHANGE_FACING, 1 + db -1 ; end RLEList_PlayerWalkToLab: - db D_UP, $02 - db D_RIGHT, $03 - db D_DOWN, $05 - db D_LEFT, $01 - db D_DOWN, $06 - db $FF + db D_UP, 2 + db D_RIGHT, 3 + db D_DOWN, 5 + db D_LEFT, 1 + db D_DOWN, 6 + db -1 ; end PalletMovementScript_Done: ld a, [wSimulatedJoypadStatesIndex] @@ -190,18 +190,18 @@ PewterMovementScript_WalkToMuseum: ret RLEList_PewterMuseumPlayer: - db 0, $01 - db D_UP, $03 - db D_LEFT, $0D - db D_UP, $06 - db $FF + db NO_INPUT, 1 + db D_UP, 3 + db D_LEFT, 13 + db D_UP, 6 + db -1 ; end RLEList_PewterMuseumGuy: - db NPC_MOVEMENT_UP, $06 - db NPC_MOVEMENT_LEFT, $0D - db NPC_MOVEMENT_UP, $03 - db NPC_MOVEMENT_LEFT, $01 - db $FF + db NPC_MOVEMENT_UP, 6 + db NPC_MOVEMENT_LEFT, 13 + db NPC_MOVEMENT_UP, 3 + db NPC_MOVEMENT_LEFT, 1 + db -1 ; end PewterMovementScript_Done: ld a, [wSimulatedJoypadStatesIndex] @@ -249,22 +249,22 @@ PewterMovementScript_WalkToGym: ret RLEList_PewterGymPlayer: - db 0, $01 - db D_RIGHT, $02 - db D_DOWN, $05 - db D_LEFT, $0B - db D_UP, $05 - db D_LEFT, $0F - db $FF + db NO_INPUT, 1 + db D_RIGHT, 2 + db D_DOWN, 5 + db D_LEFT, 11 + db D_UP, 5 + db D_LEFT, 15 + db -1 ; end RLEList_PewterGymGuy: - db NPC_MOVEMENT_DOWN, $02 - db NPC_MOVEMENT_LEFT, $0F - db NPC_MOVEMENT_UP, $05 - db NPC_MOVEMENT_LEFT, $0B - db NPC_MOVEMENT_DOWN, $05 - db NPC_MOVEMENT_RIGHT, $03 - db $FF + db NPC_MOVEMENT_DOWN, 2 + db NPC_MOVEMENT_LEFT, 15 + db NPC_MOVEMENT_UP, 5 + db NPC_MOVEMENT_LEFT, 11 + db NPC_MOVEMENT_DOWN, 5 + db NPC_MOVEMENT_RIGHT, 3 + db -1 ; end FreezeEnemyTrainerSprite:: ld a, [wCurMap] @@ -275,7 +275,7 @@ FreezeEnemyTrainerSprite:: ld b, a .loop ld a, [hli] - cp $ff + cp -1 jr z, .notRival cp b ret z ; the rival leaves after battling, so don't freeze him @@ -289,4 +289,4 @@ RivalIDs: db OPP_SONY1 db OPP_SONY2 db OPP_SONY3 - db $ff + db -1 ; end diff --git a/engine/overworld/movement.asm b/engine/overworld/movement.asm index 58481613..61bcf02f 100644 --- a/engine/overworld/movement.asm +++ b/engine/overworld/movement.asm @@ -169,7 +169,7 @@ UpdateNPCSprite: pop hl ld de, wNPCMovementDirections call LoadDEPlusA ; a = [wNPCMovementDirections + movement byte 1] - cp $e0 + cp NPC_CHANGE_FACING jp z, ChangeFacingDirection cp STAY jr nz, .next diff --git a/home/pathfinding.asm b/home/pathfinding.asm index aca5a763..53f98847 100644 --- a/home/pathfinding.asm +++ b/home/pathfinding.asm @@ -25,7 +25,7 @@ MoveSprite_:: ld [hli], a inc de inc c - cp $FF ; have we reached the end of the movement data? + cp -1 ; have we reached the end of the movement data? jr nz, .loop ld a, c diff --git a/macros/coords.asm b/macros/coords.asm index 7cbbca3d..6b16e7f7 100644 --- a/macros/coords.asm +++ b/macros/coords.asm @@ -83,3 +83,8 @@ lda_coord: MACRO ld a, [(\2) * SCREEN_WIDTH + (\1) + wTileMap] ENDC ENDM + +dbmapcoord: MACRO +; x, y + db \2, \1 +ENDM diff --git a/macros/scripts/maps.asm b/macros/scripts/maps.asm index f2009209..8722b4d0 100644 --- a/macros/scripts/maps.asm +++ b/macros/scripts/maps.asm @@ -67,6 +67,14 @@ trainer: MACRO dw \3, \5, \4, \4 ENDM +;\1 x position +;\2 y position +;\3 movement data +map_coord_movement: MACRO + dbmapcoord \1, \2 + dw \3 +ENDM + ;\1 map name ;\2 map id diff --git a/scripts/AgathasRoom.asm b/scripts/AgathasRoom.asm index c8df935e..b0c53571 100755 --- a/scripts/AgathasRoom.asm +++ b/scripts/AgathasRoom.asm @@ -87,11 +87,11 @@ AgathaScript0: ret AgathaEntranceCoords: - db $0A,$04 - db $0A,$05 - db $0B,$04 - db $0B,$05 - db $FF + dbmapcoord 4, 10 + dbmapcoord 5, 10 + dbmapcoord 4, 11 + dbmapcoord 5, 11 + db -1 ; end AgathaScript3: ld a, [wSimulatedJoypadStatesIndex] diff --git a/scripts/BillsHouse.asm b/scripts/BillsHouse.asm index 3edfdf5b..75594801 100755 --- a/scripts/BillsHouse.asm +++ b/scripts/BillsHouse.asm @@ -33,7 +33,7 @@ MovementData_1e79c: db NPC_MOVEMENT_UP db NPC_MOVEMENT_UP db NPC_MOVEMENT_UP - db $FF + db -1 ; end ; make Bill walk around the player MovementData_1e7a0: @@ -42,7 +42,7 @@ MovementData_1e7a0: db NPC_MOVEMENT_UP db NPC_MOVEMENT_LEFT db NPC_MOVEMENT_UP - db $FF + db -1 ; end BillsHouseScript2: ld a, [wd730] @@ -93,7 +93,7 @@ MovementData_1e807: db NPC_MOVEMENT_RIGHT db NPC_MOVEMENT_RIGHT db NPC_MOVEMENT_DOWN - db $FF + db -1 ; end BillsHouseScript4: ld a, [wd730] diff --git a/scripts/BrunosRoom.asm b/scripts/BrunosRoom.asm index 194bc201..578cbb98 100755 --- a/scripts/BrunosRoom.asm +++ b/scripts/BrunosRoom.asm @@ -87,11 +87,11 @@ BrunoScript0: ret BrunoEntranceCoords: - db $0A,$04 - db $0A,$05 - db $0B,$04 - db $0B,$05 - db $FF + dbmapcoord 4, 10 + dbmapcoord 5, 10 + dbmapcoord 4, 11 + dbmapcoord 5, 11 + db -1 ; end BrunoScript3: ld a, [wSimulatedJoypadStatesIndex] diff --git a/scripts/CeladonMartRoof.asm b/scripts/CeladonMartRoof.asm index b1f6a8a3..0f71aa51 100755 --- a/scripts/CeladonMartRoof.asm +++ b/scripts/CeladonMartRoof.asm @@ -38,7 +38,7 @@ CeladonMartRoofDrinkList: db FRESH_WATER db SODA_POP db LEMONADE - db $00 + db 0 ; end CeladonMartRoofScript_GiveDrinkToGirl: ld hl, wd730 diff --git a/scripts/CeruleanCity.asm b/scripts/CeruleanCity.asm index 209e29cc..4d960537 100755 --- a/scripts/CeruleanCity.asm +++ b/scripts/CeruleanCity.asm @@ -101,20 +101,20 @@ ENDC ret CeruleanCityCoords1: - db $07,$1e - db $09,$1e - db $ff + dbmapcoord 30, 7 + dbmapcoord 30, 9 + db -1 ; end CeruleanCityCoords2: - db $06,$14 - db $06,$15 - db $ff + dbmapcoord 20, 6 + dbmapcoord 21, 6 + db -1 ; end CeruleanCityMovement1: db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN - db $FF + db -1 ; end CeruleanCityScript_1955d: ld a, 1 @@ -205,7 +205,7 @@ CeruleanCityMovement3: db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN - db $FF + db -1 ; end CeruleanCityMovement4: db NPC_MOVEMENT_RIGHT @@ -215,7 +215,7 @@ CeruleanCityMovement4: db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN - db $FF + db -1 ; end CeruleanCityScript3: ld a, [wd730] diff --git a/scripts/ChampionsRoom.asm b/scripts/ChampionsRoom.asm index e57048c5..d151bb4d 100755 --- a/scripts/ChampionsRoom.asm +++ b/scripts/ChampionsRoom.asm @@ -40,10 +40,10 @@ GaryScript1: ret GaryEntrance_RLEMovement: - db D_UP,1 - db D_RIGHT,1 - db D_UP,3 - db $ff + db D_UP, 1 + db D_RIGHT, 1 + db D_UP, 3 + db -1 ; end GaryScript2: ld a, [wSimulatedJoypadStatesIndex] @@ -132,7 +132,7 @@ OakEntranceAfterVictoryMovement: db NPC_MOVEMENT_UP db NPC_MOVEMENT_UP db NPC_MOVEMENT_UP - db $FF + db -1 ; end GaryScript5: ld a, [wd730] @@ -190,7 +190,7 @@ GaryScript7: OakExitGaryRoomMovement: db NPC_MOVEMENT_UP db NPC_MOVEMENT_UP - db $FF + db -1 ; end GaryScript8: ld a, [wd730] @@ -217,9 +217,9 @@ GaryScript9: ret WalkToHallOfFame_RLEMovment: - db D_UP,4 - db D_LEFT,1 - db $ff + db D_UP, 4 + db D_LEFT, 1 + db -1 ; end GaryScript10: ld a, [wSimulatedJoypadStatesIndex] diff --git a/scripts/CinnabarGym.asm b/scripts/CinnabarGym.asm index 552f2e6e..f890a07b 100755 --- a/scripts/CinnabarGym.asm +++ b/scripts/CinnabarGym.asm @@ -71,11 +71,11 @@ CinnabarGymScript0: MovementData_757d7: db NPC_MOVEMENT_LEFT db NPC_MOVEMENT_UP - db $FF + db -1 ; end MovementData_757da: db NPC_MOVEMENT_LEFT - db $FF + db -1 ; end CinnabarGymScript1: ld a, [wd730] diff --git a/scripts/GameCorner.asm b/scripts/GameCorner.asm index ded5854f..c933fd63 100755 --- a/scripts/GameCorner.asm +++ b/scripts/GameCorner.asm @@ -90,7 +90,7 @@ MovementData_48c5a: db NPC_MOVEMENT_RIGHT db NPC_MOVEMENT_RIGHT db NPC_MOVEMENT_RIGHT - db $FF + db -1 ; end MovementData_48c63: db NPC_MOVEMENT_RIGHT @@ -98,7 +98,7 @@ MovementData_48c63: db NPC_MOVEMENT_RIGHT db NPC_MOVEMENT_RIGHT db NPC_MOVEMENT_RIGHT - db $FF + db -1 ; end CeladonGameCornerScript2: ld a, [wd730] diff --git a/scripts/HallOfFame.asm b/scripts/HallOfFame.asm index 35ad9fd8..fd13719b 100755 --- a/scripts/HallOfFame.asm +++ b/scripts/HallOfFame.asm @@ -69,8 +69,8 @@ HallofFameRoomScript0: ret RLEMovement5a528: - db D_UP,$5 - db $ff + db D_UP, 5 + db -1 ; end HallofFameRoomScript1: ld a, [wSimulatedJoypadStatesIndex] diff --git a/scripts/LancesRoom.asm b/scripts/LancesRoom.asm index e1b9a1f2..513ab9a8 100755 --- a/scripts/LancesRoom.asm +++ b/scripts/LancesRoom.asm @@ -78,12 +78,12 @@ LanceScript0: jp LanceShowOrHideEntranceBlocks LanceTriggerMovementCoords: - db $01,$05 - db $02,$06 - db $0B,$05 - db $0B,$06 - db $10,$18 - db $FF + dbmapcoord 5, 1 + dbmapcoord 6, 2 + dbmapcoord 5, 11 + dbmapcoord 6, 11 + dbmapcoord 24, 16 + db -1 ; end LanceScript2: call EndTrainerBattle @@ -110,15 +110,15 @@ WalkToLance: ret WalkToLance_RLEList: - db D_UP, $0C - db D_LEFT, $0C - db D_DOWN, $07 - db D_LEFT, $06 - db $FF + db D_UP, 12 + db D_LEFT, 12 + db D_DOWN, 7 + db D_LEFT, 6 + db -1 ; end LanceScript3: - ld a, [wSimulatedJoypadStatesIndex] - and a + ld a, [wSimulatedJoypadStatesIndex] + and a ret nz call Delay3 xor a diff --git a/scripts/LoreleisRoom.asm b/scripts/LoreleisRoom.asm index c04da4aa..8e9730ff 100755 --- a/scripts/LoreleisRoom.asm +++ b/scripts/LoreleisRoom.asm @@ -89,11 +89,11 @@ LoreleiScript0: ret LoreleiEntranceCoords: - db $0A,$04 - db $0A,$05 - db $0B,$04 - db $0B,$05 - db $FF + dbmapcoord 4, 10 + dbmapcoord 5, 10 + dbmapcoord 4, 11 + dbmapcoord 5, 11 + db -1 ; end LoreleiScript3: ld a, [wSimulatedJoypadStatesIndex] diff --git a/scripts/MtMoonB2F.asm b/scripts/MtMoonB2F.asm index 81cb13da..addfb2c2 100755 --- a/scripts/MtMoonB2F.asm +++ b/scripts/MtMoonB2F.asm @@ -19,23 +19,23 @@ MtMoonB2F_Script: ret CoordsData_49d37: - db $05,$0B - db $05,$0C - db $05,$0D - db $05,$0E - db $06,$0B - db $06,$0C - db $06,$0D - db $06,$0E - db $07,$0B - db $07,$0C - db $07,$0D - db $07,$0E - db $08,$0B - db $08,$0C - db $08,$0D - db $08,$0E - db $FF + dbmapcoord 11, 5 + dbmapcoord 12, 5 + dbmapcoord 13, 5 + dbmapcoord 14, 5 + dbmapcoord 11, 6 + dbmapcoord 12, 6 + dbmapcoord 13, 6 + dbmapcoord 14, 6 + dbmapcoord 11, 7 + dbmapcoord 12, 7 + dbmapcoord 13, 7 + dbmapcoord 14, 7 + dbmapcoord 11, 8 + dbmapcoord 12, 8 + dbmapcoord 13, 8 + dbmapcoord 14, 8 + db -1 ; end MtMoon3Script_49d58: xor a @@ -110,22 +110,22 @@ MtMoon3Script4: ret CoordsData_49dea: - db $07,$0C - db $06,$0B - db $05,$0C - db $FF + dbmapcoord 12, 7 + dbmapcoord 11, 6 + dbmapcoord 12, 5 + db -1 ; end CoordsData_49df1: - db $07,$0D - db $06,$0E - db $05,$0E - db $FF + dbmapcoord 13, 7 + dbmapcoord 14, 6 + dbmapcoord 14, 5 + db -1 ; end MovementData_49df8: db NPC_MOVEMENT_RIGHT MovementData_49df9: db NPC_MOVEMENT_UP - db $FF + db -1 ; end MtMoon3Script5: ld a, [wd730] diff --git a/scripts/MtMoonPokecenter.asm b/scripts/MtMoonPokecenter.asm index 3dafd780..e4b881d1 100755 --- a/scripts/MtMoonPokecenter.asm +++ b/scripts/MtMoonPokecenter.asm @@ -11,7 +11,7 @@ MtMoonPokecenter_TextPointers: dw MtMoonTradeNurseText MtMoonHealNurseText: - db $ff + script_pokecenter_nurse MtMoonPokecenterText2: text_far _MtMoonPokecenterText1 diff --git a/scripts/OaksLab.asm b/scripts/OaksLab.asm index 83d1a798..dbc3b071 100755 --- a/scripts/OaksLab.asm +++ b/scripts/OaksLab.asm @@ -60,7 +60,7 @@ OakEntryMovement: db NPC_MOVEMENT_UP db NPC_MOVEMENT_UP db NPC_MOVEMENT_UP - db $FF + db -1 ; end OaksLabScript2: ld a, [wd730] @@ -101,8 +101,8 @@ OaksLabScript3: ret PlayerEntryMovementRLE: - db D_UP,$8 - db $ff + db D_UP, 8 + db -1 ; end OaksLabScript4: ld a, [wSimulatedJoypadStatesIndex] @@ -212,14 +212,14 @@ OaksLabScript8: db NPC_MOVEMENT_RIGHT db NPC_MOVEMENT_RIGHT db NPC_MOVEMENT_UP - db $FF + db -1 ; end .MiddleBallMovement2 db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_RIGHT db NPC_MOVEMENT_RIGHT db NPC_MOVEMENT_RIGHT - db $FF + db -1 ; end .Squirtle ld de, .RightBallMovement1 @@ -237,7 +237,7 @@ OaksLabScript8: db NPC_MOVEMENT_RIGHT db NPC_MOVEMENT_RIGHT db NPC_MOVEMENT_UP - db $FF + db -1 ; end .RightBallMovement2 db NPC_MOVEMENT_DOWN @@ -245,7 +245,7 @@ OaksLabScript8: db NPC_MOVEMENT_RIGHT db NPC_MOVEMENT_RIGHT db NPC_MOVEMENT_RIGHT - db $FF + db -1 ; end .Bulbasaur ld de, .LeftBallMovement1 @@ -274,10 +274,10 @@ OaksLabScript8: .LeftBallMovement1 db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_RIGHT ; not yet terminated! + db NPC_MOVEMENT_RIGHT .LeftBallMovement2 db NPC_MOVEMENT_RIGHT - db $FF + db -1 ; end .moveBlue ld a, $1 @@ -462,13 +462,13 @@ OaksLabScript13: ret .RivalExitMovement - db $E0 ; change sprite facing direction + db NPC_CHANGE_FACING db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN - db $FF + db -1 ; end OaksLabScript14: ld a, [wd730] diff --git a/scripts/PewterCity.asm b/scripts/PewterCity.asm index ec626b8a..f44d2de5 100755 --- a/scripts/PewterCity.asm +++ b/scripts/PewterCity.asm @@ -37,11 +37,11 @@ ENDC jp DisplayTextID CoordsData_19277: - db $11,$23 - db $11,$24 - db $12,$25 - db $13,$25 - db $ff + dbmapcoord 35, 17 + dbmapcoord 36, 17 + dbmapcoord 37, 18 + dbmapcoord 37, 19 + db -1 ; end PewterCityScript1: ld a, [wNPCMovementScriptPointerTableNum] @@ -85,7 +85,7 @@ MovementData_PewterMuseumGuyExit: db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN - db $FF + db -1 ; end PewterCityScript2: ld a, [wd730] @@ -154,7 +154,7 @@ MovementData_PewterGymGuyExit: db NPC_MOVEMENT_RIGHT db NPC_MOVEMENT_RIGHT db NPC_MOVEMENT_RIGHT - db $FF + db -1 ; end PewterCityScript5: ld a, [wd730] diff --git a/scripts/PokemonMansion3F.asm b/scripts/PokemonMansion3F.asm index f8fbdf52..0f62d6e0 100755 --- a/scripts/PokemonMansion3F.asm +++ b/scripts/PokemonMansion3F.asm @@ -51,10 +51,10 @@ Mansion3Script0: ret CoordsData_52254: - db $0E,$10 - db $0E,$11 - db $0E,$13 - db $FF + dbmapcoord 16, 14 + dbmapcoord 17, 14 + dbmapcoord 19, 14 + db -1 ; end Mansion3Script_5225b: xor a diff --git a/scripts/PokemonTower2F.asm b/scripts/PokemonTower2F.asm index 5ab85c2d..b3d7a1cb 100755 --- a/scripts/PokemonTower2F.asm +++ b/scripts/PokemonTower2F.asm @@ -58,9 +58,9 @@ ENDC ret CoordsData_6055e: - db $05,$0F - db $06,$0E - db $0F ; isn't this supposed to end in $ff? + dbmapcoord 15, 5 + dbmapcoord 14, 6 + db $0F ; end? (should be $ff?) PokemonTower2Script1: ld a, [wIsInBattle] @@ -98,7 +98,7 @@ MovementData_605a9: db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_RIGHT db NPC_MOVEMENT_RIGHT - db $FF + db -1 ; end MovementData_605b2: db NPC_MOVEMENT_DOWN @@ -109,7 +109,7 @@ MovementData_605b2: db NPC_MOVEMENT_RIGHT db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN - db $FF + db -1 ; end PokemonTower2Script2: ld a, [wd730] diff --git a/scripts/PokemonTower5F.asm b/scripts/PokemonTower5F.asm index 01d71755..10189a8e 100755 --- a/scripts/PokemonTower5F.asm +++ b/scripts/PokemonTower5F.asm @@ -42,11 +42,11 @@ PokemonTower5Script0: ret CoordsData_60992: - db $08,$0A - db $08,$0B - db $09,$0A - db $09,$0B - db $FF + dbmapcoord 10, 8 + dbmapcoord 11, 8 + dbmapcoord 10, 9 + dbmapcoord 11, 9 + db -1 ; end PokemonTower5F_TextPointers: dw PokemonTower5Text1 diff --git a/scripts/PokemonTower6F.asm b/scripts/PokemonTower6F.asm index 7318c4b9..11091e85 100755 --- a/scripts/PokemonTower6F.asm +++ b/scripts/PokemonTower6F.asm @@ -42,8 +42,8 @@ PokemonTower6Script0: ret CoordsData_60b45: - db $10,$0A - db $FF + dbmapcoord 10, 16 + db -1 ; end PokemonTower6Script4: ld a, [wIsInBattle] diff --git a/scripts/PokemonTower7F.asm b/scripts/PokemonTower7F.asm index 91022ce4..e098b95f 100755 --- a/scripts/PokemonTower7F.asm +++ b/scripts/PokemonTower7F.asm @@ -117,30 +117,18 @@ PokemonTower7Script_60db6: jr .asm_60dcb CoordsData_60de3: - db $0C,$09 - dw MovementData_60e13 - db $0B,$0A - dw MovementData_60e1b - db $0B,$0B - dw MovementData_60e22 - db $0B,$0C - dw MovementData_60e22 - db $0A,$0C - dw MovementData_60e28 - db $09,$0B - dw MovementData_60e30 - db $09,$0A - dw MovementData_60e22 - db $09,$09 - dw MovementData_60e22 - db $08,$09 - dw MovementData_60e37 - db $07,$0A - dw MovementData_60e22 - db $07,$0B - dw MovementData_60e22 - db $07,$0C - dw MovementData_60e22 + map_coord_movement 9, 12, MovementData_60e13 + map_coord_movement 10, 11, MovementData_60e1b + map_coord_movement 11, 11, MovementData_60e22 + map_coord_movement 12, 11, MovementData_60e22 + map_coord_movement 12, 10, MovementData_60e28 + map_coord_movement 11, 9, MovementData_60e30 + map_coord_movement 10, 9, MovementData_60e22 + map_coord_movement 9, 9, MovementData_60e22 + map_coord_movement 9, 8, MovementData_60e37 + map_coord_movement 10, 7, MovementData_60e22 + map_coord_movement 11, 7, MovementData_60e22 + map_coord_movement 12, 7, MovementData_60e22 MovementData_60e13: db NPC_MOVEMENT_RIGHT @@ -150,7 +138,7 @@ MovementData_60e13: db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_LEFT - db $FF + db -1 ; end MovementData_60e1b: db NPC_MOVEMENT_DOWN @@ -159,7 +147,7 @@ MovementData_60e1b: db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN - db $FF + db -1 ; end MovementData_60e22: db NPC_MOVEMENT_DOWN @@ -167,7 +155,7 @@ MovementData_60e22: db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN - db $FF + db -1 ; end MovementData_60e28: db NPC_MOVEMENT_LEFT @@ -177,7 +165,7 @@ MovementData_60e28: db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN - db $FF + db -1 ; end MovementData_60e30: db NPC_MOVEMENT_DOWN @@ -186,7 +174,7 @@ MovementData_60e30: db NPC_MOVEMENT_LEFT db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN - db $FF + db -1 ; end MovementData_60e37: db NPC_MOVEMENT_RIGHT @@ -196,7 +184,7 @@ MovementData_60e37: db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN - db $FF + db -1 ; end PokemonTower7F_TextPointers: dw PokemonTower7Text1 diff --git a/scripts/RocketHideoutB2F.asm b/scripts/RocketHideoutB2F.asm index 85f26c31..d6fae24f 100755 --- a/scripts/RocketHideoutB2F.asm +++ b/scripts/RocketHideoutB2F.asm @@ -33,273 +33,227 @@ RocketHideout2Script0: ld [wCurMapScript], a ret -;format: -;db y,x -;dw pointer to movement RocketHideout2ArrowTilePlayerMovement: - db $9,$4 - dw RocketHideout2ArrowMovement1 - db $b,$4 - dw RocketHideout2ArrowMovement2 - db $f,$4 - dw RocketHideout2ArrowMovement3 - db $10,$4 - dw RocketHideout2ArrowMovement4 - db $13,$4 - dw RocketHideout2ArrowMovement1 - db $16,$4 - dw RocketHideout2ArrowMovement5 - db $e,$5 - dw RocketHideout2ArrowMovement6 - db $16,$6 - dw RocketHideout2ArrowMovement7 - db $18,$6 - dw RocketHideout2ArrowMovement8 - db $9,$8 - dw RocketHideout2ArrowMovement9 - db $c,$8 - dw RocketHideout2ArrowMovement10 - db $f,$8 - dw RocketHideout2ArrowMovement8 - db $13,$8 - dw RocketHideout2ArrowMovement9 - db $17,$8 - dw RocketHideout2ArrowMovement11 - db $e,$9 - dw RocketHideout2ArrowMovement12 - db $16,$9 - dw RocketHideout2ArrowMovement12 - db $9,$a - dw RocketHideout2ArrowMovement13 - db $a,$a - dw RocketHideout2ArrowMovement14 - db $f,$a - dw RocketHideout2ArrowMovement15 - db $11,$a - dw RocketHideout2ArrowMovement16 - db $13,$a - dw RocketHideout2ArrowMovement17 - db $19,$a - dw RocketHideout2ArrowMovement2 - db $e,$b - dw RocketHideout2ArrowMovement18 - db $10,$b - dw RocketHideout2ArrowMovement19 - db $12,$b - dw RocketHideout2ArrowMovement12 - db $9,$c - dw RocketHideout2ArrowMovement20 - db $b,$c - dw RocketHideout2ArrowMovement21 - db $d,$c - dw RocketHideout2ArrowMovement22 - db $11,$c - dw RocketHideout2ArrowMovement23 - db $a,$d - dw RocketHideout2ArrowMovement24 - db $c,$d - dw RocketHideout2ArrowMovement25 - db $10,$d - dw RocketHideout2ArrowMovement26 - db $12,$d - dw RocketHideout2ArrowMovement27 - db $13,$d - dw RocketHideout2ArrowMovement28 - db $16,$d - dw RocketHideout2ArrowMovement29 - db $17,$d - dw RocketHideout2ArrowMovement30 - db $11,$e - dw RocketHideout2ArrowMovement31 - db $10,$f - dw RocketHideout2ArrowMovement12 - db $e,$10 - dw RocketHideout2ArrowMovement32 - db $10,$10 - dw RocketHideout2ArrowMovement33 - db $12,$10 - dw RocketHideout2ArrowMovement34 - db $a,$11 - dw RocketHideout2ArrowMovement35 - db $b,$11 - dw RocketHideout2ArrowMovement36 - db $FF + map_coord_movement 4, 9, RocketHideout2ArrowMovement1 + map_coord_movement 4, 11, RocketHideout2ArrowMovement2 + map_coord_movement 4, 15, RocketHideout2ArrowMovement3 + map_coord_movement 4, 16, RocketHideout2ArrowMovement4 + map_coord_movement 4, 19, RocketHideout2ArrowMovement1 + map_coord_movement 4, 22, RocketHideout2ArrowMovement5 + map_coord_movement 5, 14, RocketHideout2ArrowMovement6 + map_coord_movement 6, 22, RocketHideout2ArrowMovement7 + map_coord_movement 6, 24, RocketHideout2ArrowMovement8 + map_coord_movement 8, 9, RocketHideout2ArrowMovement9 + map_coord_movement 8, 12, RocketHideout2ArrowMovement10 + map_coord_movement 8, 15, RocketHideout2ArrowMovement8 + map_coord_movement 8, 19, RocketHideout2ArrowMovement9 + map_coord_movement 8, 23, RocketHideout2ArrowMovement11 + map_coord_movement 9, 14, RocketHideout2ArrowMovement12 + map_coord_movement 9, 22, RocketHideout2ArrowMovement12 + map_coord_movement 10, 9, RocketHideout2ArrowMovement13 + map_coord_movement 10, 10, RocketHideout2ArrowMovement14 + map_coord_movement 10, 15, RocketHideout2ArrowMovement15 + map_coord_movement 10, 17, RocketHideout2ArrowMovement16 + map_coord_movement 10, 19, RocketHideout2ArrowMovement17 + map_coord_movement 10, 25, RocketHideout2ArrowMovement2 + map_coord_movement 11, 14, RocketHideout2ArrowMovement18 + map_coord_movement 11, 16, RocketHideout2ArrowMovement19 + map_coord_movement 11, 18, RocketHideout2ArrowMovement12 + map_coord_movement 12, 9, RocketHideout2ArrowMovement20 + map_coord_movement 12, 11, RocketHideout2ArrowMovement21 + map_coord_movement 12, 13, RocketHideout2ArrowMovement22 + map_coord_movement 12, 17, RocketHideout2ArrowMovement23 + map_coord_movement 13, 10, RocketHideout2ArrowMovement24 + map_coord_movement 13, 12, RocketHideout2ArrowMovement25 + map_coord_movement 13, 16, RocketHideout2ArrowMovement26 + map_coord_movement 13, 18, RocketHideout2ArrowMovement27 + map_coord_movement 13, 19, RocketHideout2ArrowMovement28 + map_coord_movement 13, 22, RocketHideout2ArrowMovement29 + map_coord_movement 13, 23, RocketHideout2ArrowMovement30 + map_coord_movement 14, 17, RocketHideout2ArrowMovement31 + map_coord_movement 15, 16, RocketHideout2ArrowMovement12 + map_coord_movement 16, 14, RocketHideout2ArrowMovement32 + map_coord_movement 16, 16, RocketHideout2ArrowMovement33 + map_coord_movement 16, 18, RocketHideout2ArrowMovement34 + map_coord_movement 17, 10, RocketHideout2ArrowMovement35 + map_coord_movement 17, 11, RocketHideout2ArrowMovement36 + db -1 ; end ;format: direction, count ;each list is read starting from the $FF and working backwards RocketHideout2ArrowMovement1: - db D_LEFT,$02 - db $FF + db D_LEFT, 2 + db -1 ; end RocketHideout2ArrowMovement2: - db D_RIGHT,$04 - db $FF + db D_RIGHT, 4 + db -1 ; end RocketHideout2ArrowMovement3: - db D_UP,$04 - db D_RIGHT,$04 - db $FF + db D_UP, 4 + db D_RIGHT, 4 + db -1 ; end RocketHideout2ArrowMovement4: - db D_UP,$04 - db D_RIGHT,$04 - db D_UP,$01 - db $FF + db D_UP, 4 + db D_RIGHT, 4 + db D_UP, 1 + db -1 ; end RocketHideout2ArrowMovement5: - db D_LEFT,$02 - db D_UP,$03 - db $FF + db D_LEFT, 2 + db D_UP, 3 + db -1 ; end RocketHideout2ArrowMovement6: - db D_DOWN,$02 - db D_RIGHT,$04 - db $FF + db D_DOWN, 2 + db D_RIGHT, 4 + db -1 ; end RocketHideout2ArrowMovement7: - db D_UP,$02 - db $FF + db D_UP, 2 + db -1 ; end RocketHideout2ArrowMovement8: - db D_UP,$04 - db $FF + db D_UP, 4 + db -1 ; end RocketHideout2ArrowMovement9: - db D_LEFT,$06 - db $FF + db D_LEFT, 6 + db -1 ; end RocketHideout2ArrowMovement10: - db D_UP,$01 - db $FF + db D_UP, 1 + db -1 ; end RocketHideout2ArrowMovement11: - db D_LEFT,$06 - db D_UP,$04 - db $FF + db D_LEFT, 6 + db D_UP, 4 + db -1 ; end RocketHideout2ArrowMovement12: - db D_DOWN,$02 - db $FF + db D_DOWN, 2 + db -1 ; end RocketHideout2ArrowMovement13: - db D_LEFT,$08 - db $FF + db D_LEFT, 8 + db -1 ; end RocketHideout2ArrowMovement14: - db D_LEFT,$08 - db D_UP,$01 - db $FF + db D_LEFT, 8 + db D_UP, 1 + db -1 ; end RocketHideout2ArrowMovement15: - db D_LEFT,$08 - db D_UP,$06 - db $FF + db D_LEFT, 8 + db D_UP, 6 + db -1 ; end RocketHideout2ArrowMovement16: - db D_UP,$02 - db D_RIGHT,$04 - db $FF + db D_UP, 2 + db D_RIGHT, 4 + db -1 ; end RocketHideout2ArrowMovement17: - db D_UP,$02 - db D_RIGHT,$04 - db D_UP,$02 - db $FF + db D_UP, 2 + db D_RIGHT, 4 + db D_UP, 2 + db -1 ; end RocketHideout2ArrowMovement18: - db D_DOWN,$02 - db D_RIGHT,$04 - db D_DOWN,$02 - db $FF + db D_DOWN, 2 + db D_RIGHT, 4 + db D_DOWN, 2 + db -1 ; end RocketHideout2ArrowMovement19: - db D_DOWN,$02 - db D_RIGHT,$04 - db $FF + db D_DOWN, 2 + db D_RIGHT, 4 + db -1 ; end RocketHideout2ArrowMovement20: - db D_LEFT,$0A - db $FF + db D_LEFT, 10 + db -1 ; end RocketHideout2ArrowMovement21: - db D_LEFT,$0A - db D_UP,$02 - db $FF + db D_LEFT, 10 + db D_UP, 2 + db -1 ; end RocketHideout2ArrowMovement22: - db D_LEFT,$0A - db D_UP,$04 - db $FF + db D_LEFT, 10 + db D_UP, 4 + db -1 ; end RocketHideout2ArrowMovement23: - db D_UP,$02 - db D_RIGHT,$02 - db $FF + db D_UP, 2 + db D_RIGHT, 2 + db -1 ; end RocketHideout2ArrowMovement24: - db D_RIGHT,$01 - db D_DOWN,$02 - db $FF + db D_RIGHT, 1 + db D_DOWN, 2 + db -1 ; end RocketHideout2ArrowMovement25: - db D_RIGHT,$01 - db $FF + db D_RIGHT, 1 + db -1 ; end RocketHideout2ArrowMovement26: - db D_DOWN,$02 - db D_RIGHT,$02 - db $FF + db D_DOWN, 2 + db D_RIGHT, 2 + db -1 ; end RocketHideout2ArrowMovement27: - db D_DOWN,$02 - db D_LEFT,$02 - db $FF + db D_DOWN, 2 + db D_LEFT, 2 + db -1 ; end RocketHideout2ArrowMovement28: - db D_UP,$02 - db D_RIGHT,$04 - db D_UP,$02 - db D_LEFT,$03 - db $FF + db D_UP, 2 + db D_RIGHT, 4 + db D_UP, 2 + db D_LEFT, 3 + db -1 ; end RocketHideout2ArrowMovement29: - db D_DOWN,$02 - db D_LEFT,$04 - db $FF + db D_DOWN, 2 + db D_LEFT, 4 + db -1 ; end RocketHideout2ArrowMovement30: - db D_LEFT,$06 - db D_UP,$04 - db D_LEFT,$05 - db $FF + db D_LEFT, 6 + db D_UP, 4 + db D_LEFT, 5 + db -1 ; end RocketHideout2ArrowMovement31: - db D_UP,$02 - db $FF + db D_UP, 2 + db -1 ; end RocketHideout2ArrowMovement32: - db D_UP,$01 - db $FF + db D_UP, 1 + db -1 ; end RocketHideout2ArrowMovement33: - db D_UP,$03 - db $FF + db D_UP, 3 + db -1 ; end RocketHideout2ArrowMovement34: - db D_UP,$05 - db $FF + db D_UP, 5 + db -1 ; end RocketHideout2ArrowMovement35: - db D_RIGHT,$01 - db D_DOWN,$02 - db D_LEFT,$04 - db $FF + db D_RIGHT, 1 + db D_DOWN, 2 + db D_LEFT, 4 + db -1 ; end RocketHideout2ArrowMovement36: - db D_LEFT,$0A - db D_UP,$02 - db D_LEFT,$05 - db $FF + db D_LEFT, 10 + db D_UP, 2 + db D_LEFT, 5 + db -1 ; end RocketHideout2Script3: ld a, [wSimulatedJoypadStatesIndex] diff --git a/scripts/RocketHideoutB3F.asm b/scripts/RocketHideoutB3F.asm index 3a8b2290..88876f04 100755 --- a/scripts/RocketHideoutB3F.asm +++ b/scripts/RocketHideoutB3F.asm @@ -33,103 +33,84 @@ RocketHideout3Script0: ld [wCurMapScript], a ret -;format: -;db y,x -;dw pointer to movement RocketHideout3ArrowTilePlayerMovement: - db $d,$a - dw RocketHideout3ArrowMovement6 - db $13,$a - dw RocketHideout3ArrowMovement1 - db $12,$b - dw RocketHideout3ArrowMovement2 - db $b,$c - dw RocketHideout3ArrowMovement3 - db $11,$c - dw RocketHideout3ArrowMovement4 - db $14,$c - dw RocketHideout3ArrowMovement5 - db $10,$d - dw RocketHideout3ArrowMovement6 - db $b,$e - dw RocketHideout3ArrowMovement7 - db $f,$e - dw RocketHideout3ArrowMovement6 - db $11,$e - dw RocketHideout3ArrowMovement8 - db $13,$e - dw RocketHideout3ArrowMovement9 - db $10,$f - dw RocketHideout3ArrowMovement7 - db $12,$f - dw RocketHideout3ArrowMovement10 - db $d,$10 - dw RocketHideout3ArrowMovement11 - db $c,$11 - dw RocketHideout3ArrowMovement10 - db $10,$12 - dw RocketHideout3ArrowMovement12 - db $FF + map_coord_movement 10, 13, RocketHideout3ArrowMovement6 + map_coord_movement 10, 19, RocketHideout3ArrowMovement1 + map_coord_movement 11, 18, RocketHideout3ArrowMovement2 + map_coord_movement 12, 11, RocketHideout3ArrowMovement3 + map_coord_movement 12, 17, RocketHideout3ArrowMovement4 + map_coord_movement 12, 20, RocketHideout3ArrowMovement5 + map_coord_movement 13, 16, RocketHideout3ArrowMovement6 + map_coord_movement 14, 11, RocketHideout3ArrowMovement7 + map_coord_movement 14, 15, RocketHideout3ArrowMovement6 + map_coord_movement 14, 17, RocketHideout3ArrowMovement8 + map_coord_movement 14, 19, RocketHideout3ArrowMovement9 + map_coord_movement 15, 16, RocketHideout3ArrowMovement7 + map_coord_movement 15, 18, RocketHideout3ArrowMovement10 + map_coord_movement 16, 13, RocketHideout3ArrowMovement11 + map_coord_movement 17, 12, RocketHideout3ArrowMovement10 + map_coord_movement 18, 16, RocketHideout3ArrowMovement12 + db -1 ; end ;format: direction, count ;each list is read starting from the $FF and working backwards RocketHideout3ArrowMovement1: - db D_RIGHT,$04 - db D_UP,$04 - db D_RIGHT,$04 - db $FF + db D_RIGHT, 4 + db D_UP, 4 + db D_RIGHT, 4 + db -1 ; end RocketHideout3ArrowMovement2: - db D_DOWN,$04 - db D_RIGHT,$04 - db $FF + db D_DOWN, 4 + db D_RIGHT, 4 + db -1 ; end RocketHideout3ArrowMovement3: - db D_LEFT,$02 - db $FF + db D_LEFT, 2 + db -1 ; end RocketHideout3ArrowMovement4: - db D_RIGHT,$04 - db D_UP,$02 - db D_RIGHT,$02 - db $FF + db D_RIGHT, 4 + db D_UP, 2 + db D_RIGHT, 2 + db -1 ; end RocketHideout3ArrowMovement5: - db D_RIGHT,$04 - db D_UP,$02 - db D_RIGHT,$02 - db D_UP,$03 - db $FF + db D_RIGHT, 4 + db D_UP, 2 + db D_RIGHT, 2 + db D_UP, 3 + db -1 ; end RocketHideout3ArrowMovement6: - db D_RIGHT,$04 - db $FF + db D_RIGHT, 4 + db -1 ; end RocketHideout3ArrowMovement7: - db D_RIGHT,$02 - db $FF + db D_RIGHT, 2 + db -1 ; end RocketHideout3ArrowMovement8: - db D_RIGHT,$04 - db D_UP,$02 - db $FF + db D_RIGHT, 4 + db D_UP, 2 + db -1 ; end RocketHideout3ArrowMovement9: - db D_RIGHT,$04 - db D_UP,$04 - db $FF + db D_RIGHT, 4 + db D_UP, 4 + db -1 ; end RocketHideout3ArrowMovement10: - db D_DOWN,$04 - db $FF + db D_DOWN, 4 + db -1 ; end RocketHideout3ArrowMovement11: - db D_UP,$02 - db $FF + db D_UP, 2 + db -1 ; end RocketHideout3ArrowMovement12: - db D_UP,$01 - db $FF + db D_UP, 1 + db -1 ; end RocketHideout3Script3: ld a, [wSimulatedJoypadStatesIndex] diff --git a/scripts/Route16Gate1F.asm b/scripts/Route16Gate1F.asm index 5bb77075..e992fa44 100755 --- a/scripts/Route16Gate1F.asm +++ b/scripts/Route16Gate1F.asm @@ -44,11 +44,11 @@ Route16GateScript0: ret CoordsData_49714: - db $07,$04 - db $08,$04 - db $09,$04 - db $0A,$04 - db $FF + dbmapcoord 4, 7 + dbmapcoord 4, 8 + dbmapcoord 4, 9 + dbmapcoord 4, 10 + db -1 ; end Route16GateScript1: ld a, [wSimulatedJoypadStatesIndex] diff --git a/scripts/Route18Gate1F.asm b/scripts/Route18Gate1F.asm index ea8783df..2caeaedd 100755 --- a/scripts/Route18Gate1F.asm +++ b/scripts/Route18Gate1F.asm @@ -44,11 +44,11 @@ Route18GateScript0: ret CoordsData_498cc: - db $03,$04 - db $04,$04 - db $05,$04 - db $06,$04 - db $FF + dbmapcoord 4, 3 + dbmapcoord 4, 4 + dbmapcoord 4, 5 + dbmapcoord 4, 6 + db -1 ; end Route18GateScript1: ld a, [wSimulatedJoypadStatesIndex] diff --git a/scripts/Route20.asm b/scripts/Route20.asm index e83382d7..f9904d4e 100755 --- a/scripts/Route20.asm +++ b/scripts/Route20.asm @@ -33,7 +33,7 @@ Route20Script_50cc6: db HS_SEAFOAM_ISLANDS_B2F_BOULDER_2 db HS_SEAFOAM_ISLANDS_B3F_BOULDER_3 db HS_SEAFOAM_ISLANDS_B3F_BOULDER_4 - db $FF + db -1 ; end .asm_50cef CheckBothEventsSet EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM4_BOULDER2_DOWN_HOLE diff --git a/scripts/Route22.asm b/scripts/Route22.asm index 57dc934e..2e3f171e 100755 --- a/scripts/Route22.asm +++ b/scripts/Route22.asm @@ -52,7 +52,7 @@ Route22RivalMovementData: db NPC_MOVEMENT_RIGHT db NPC_MOVEMENT_RIGHT db NPC_MOVEMENT_RIGHT - db $FF + db -1 ; end Route22Script0: CheckEvent EVENT_ROUTE22_RIVAL_WANTS_BATTLE @@ -75,9 +75,9 @@ Route22Script0: ret .Route22RivalBattleCoords - db $04, $1D - db $05, $1D - db $FF + dbmapcoord 29, 4 + dbmapcoord 29, 5 + db -1 ; end .firstRivalBattle ld a, $1 @@ -141,9 +141,9 @@ Route22Script1: StarterMons_50faf: ; starter the rival picked, rival trainer number - db STARTER2,$04 - db STARTER3,$05 - db STARTER1,$06 + db STARTER2, 4 + db STARTER3, 5 + db STARTER1, 6 Route22Script2: ld a, [wIsInBattle] @@ -202,7 +202,7 @@ Route22RivalExitMovementData1: db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN - db $FF + db -1 ; end Route22RivalExitMovementData2: db NPC_MOVEMENT_UP @@ -215,7 +215,7 @@ Route22RivalExitMovementData2: db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN - db $FF + db -1 ; end Route22Script3: ld a, [wd730] @@ -296,9 +296,9 @@ Route22Script4: ret StarterMons_510d9: - db STARTER2,$0a - db STARTER3,$0b - db STARTER1,$0c + db STARTER2, 10 + db STARTER3, 11 + db STARTER1, 12 Route22Script5: ld a, [wIsInBattle] @@ -355,12 +355,11 @@ Route22MoveRival2: MovementData_5114c: db NPC_MOVEMENT_LEFT - MovementData_5114d: db NPC_MOVEMENT_LEFT db NPC_MOVEMENT_LEFT db NPC_MOVEMENT_LEFT - db $FF + db -1 ; end Route22Script6: ld a, [wd730] diff --git a/scripts/Route22Gate.asm b/scripts/Route22Gate.asm index 59b7d7a2..78143481 100755 --- a/scripts/Route22Gate.asm +++ b/scripts/Route22Gate.asm @@ -28,9 +28,9 @@ Route22GateScript0: jp DisplayTextID Route22GateScriptCoords: - db 2,4 - db 2,5 - db $ff + dbmapcoord 4, 2 + dbmapcoord 5, 2 + db -1 ; end Route22GateScript_1e6ba: ld a, $1 diff --git a/scripts/Route23.asm b/scripts/Route23.asm index fbcc2f8b..e5318862 100755 --- a/scripts/Route23.asm +++ b/scripts/Route23.asm @@ -32,16 +32,16 @@ Route23Script0: EventFlagBit c, EVENT_PASSED_EARTHBADGE_CHECK + 1, EVENT_PASSED_CASCADEBADGE_CHECK .asm_51224 ld a, [hli] - cp $ff + cp -1 ret z inc e dec c cp b jr nz, .asm_51224 - cp $23 + cp 35 jr nz, .asm_51237 ld a, [wXCoord] - cp $e + cp 14 ret nc .asm_51237 ld a, e @@ -61,8 +61,14 @@ Route23Script0: ret YCoordsData_51255: - db $23,$38,$55,$60,$69,$77,$88 - db $FF + db 35 + db 56 + db 85 + db 96 + db 105 + db 119 + db 136 + db -1 ; end Route23Script_5125d: ld hl, BadgeTextPointers diff --git a/scripts/Route24.asm b/scripts/Route24.asm index 4dec6d2f..aed112ac 100755 --- a/scripts/Route24.asm +++ b/scripts/Route24.asm @@ -45,8 +45,8 @@ Route24Script0: ret CoordsData_5140e: - db $0F,$0A - db $FF + dbmapcoord 10, 15 + db -1 ; end Route24Script4: ld a, [wSimulatedJoypadStatesIndex] diff --git a/scripts/Route5Gate.asm b/scripts/Route5Gate.asm index f2d45112..e155694a 100755 --- a/scripts/Route5Gate.asm +++ b/scripts/Route5Gate.asm @@ -46,9 +46,9 @@ Route5GateScript0: ret CoordsData_1df8f: - db 3,3 - db 3,4 - db $ff + dbmapcoord 3, 3 + dbmapcoord 4, 3 + db -1 ; end Route5GateScript1: ld a, [wSimulatedJoypadStatesIndex] diff --git a/scripts/Route6Gate.asm b/scripts/Route6Gate.asm index 81a7490a..143f60ae 100755 --- a/scripts/Route6Gate.asm +++ b/scripts/Route6Gate.asm @@ -39,9 +39,9 @@ Route6GateScript0: jp DisplayTextID CoordsData_1e08c: - db $02,$03 - db $02,$04 - db $FF + dbmapcoord 3, 2 + dbmapcoord 4, 2 + db -1 ; end Route6GateScript1: ld a, [wSimulatedJoypadStatesIndex] diff --git a/scripts/Route7Gate.asm b/scripts/Route7Gate.asm index 182dedab..9a647965 100755 --- a/scripts/Route7Gate.asm +++ b/scripts/Route7Gate.asm @@ -52,9 +52,9 @@ Route7GateScript0: ret CoordsData_1e167: - db 3,3 - db 4,3 - db $ff + dbmapcoord 3, 3 + dbmapcoord 3, 4 + db -1 ; end Route7GateScript1: ld a, [wSimulatedJoypadStatesIndex] diff --git a/scripts/Route8Gate.asm b/scripts/Route8Gate.asm index 9ddaf601..3167cd76 100755 --- a/scripts/Route8Gate.asm +++ b/scripts/Route8Gate.asm @@ -50,9 +50,9 @@ Route8GateScript0: jp DisplayTextID CoordsData_1e22c: - db 3,2 - db 4,2 - db $ff + dbmapcoord 2, 3 + dbmapcoord 2, 4 + db -1 ; end Route8GateScript1: ld a, [wSimulatedJoypadStatesIndex] diff --git a/scripts/SSAnne2F.asm b/scripts/SSAnne2F.asm index 5060f1e1..6b216350 100755 --- a/scripts/SSAnne2F.asm +++ b/scripts/SSAnne2F.asm @@ -58,17 +58,16 @@ SSAnne2Script0: MovementData_6140c: db NPC_MOVEMENT_DOWN - MovementData_6140d: db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN - db $FF + db -1 ; end CoordsData_61411: - db $08,$24 - db $08,$25 - db $FF + dbmapcoord 36, 8 + dbmapcoord 37, 8 + db -1 ; end SSAnne2Script_61416: ld a, [wXCoord] @@ -156,13 +155,12 @@ SSAnne2Script2: MovementData_614b7: db NPC_MOVEMENT_RIGHT db NPC_MOVEMENT_DOWN - MovementData_614b9: db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN - db $FF + db -1 ; end SSAnne2Script3: ld a, [wd730] diff --git a/scripts/SafariZoneGate.asm b/scripts/SafariZoneGate.asm index a15a5630..fd9a0884 100755 --- a/scripts/SafariZoneGate.asm +++ b/scripts/SafariZoneGate.asm @@ -43,9 +43,9 @@ SafariZoneGate_ScriptPointers: ret .CoordsData_75221: - db $02,$03 - db $02,$04 - db $FF + dbmapcoord 3, 2 + dbmapcoord 4, 2 + db -1 ; end .SafariZoneEntranceScript1 call SafariZoneEntranceScript_752b4 diff --git a/scripts/SeafoamIslands1F.asm b/scripts/SeafoamIslands1F.asm index b024a6bd..ceb2a2fb 100755 --- a/scripts/SeafoamIslands1F.asm +++ b/scripts/SeafoamIslands1F.asm @@ -38,9 +38,9 @@ SeafoamIslands1F_Script: jp IsPlayerOnDungeonWarp Seafoam1HolesCoords: - db $06,$11 - db $06,$18 - db $ff + dbmapcoord 17, 6 + dbmapcoord 24, 6 + db -1 ; end SeafoamIslands1F_TextPointers: dw BoulderText diff --git a/scripts/SeafoamIslandsB1F.asm b/scripts/SeafoamIslandsB1F.asm index a4c5767b..ac667513 100755 --- a/scripts/SeafoamIslandsB1F.asm +++ b/scripts/SeafoamIslandsB1F.asm @@ -37,9 +37,9 @@ SeafoamIslandsB1F_Script: jp IsPlayerOnDungeonWarp Seafoam2HolesCoords: - db $06,$12 - db $06,$17 - db $ff + dbmapcoord 18, 6 + dbmapcoord 23, 6 + db -1 ; end SeafoamIslandsB1F_TextPointers: dw BoulderText diff --git a/scripts/SeafoamIslandsB2F.asm b/scripts/SeafoamIslandsB2F.asm index eb6d2437..fe4b3ead 100755 --- a/scripts/SeafoamIslandsB2F.asm +++ b/scripts/SeafoamIslandsB2F.asm @@ -37,9 +37,9 @@ SeafoamIslandsB2F_Script: jp IsPlayerOnDungeonWarp Seafoam3HolesCoords: - db $06,$13 - db $06,$16 - db $ff + dbmapcoord 19, 6 + dbmapcoord 22, 6 + db -1 ; end SeafoamIslandsB2F_TextPointers: dw BoulderText diff --git a/scripts/SeafoamIslandsB3F.asm b/scripts/SeafoamIslandsB3F.asm index 7d0e032b..d735f824 100755 --- a/scripts/SeafoamIslandsB3F.asm +++ b/scripts/SeafoamIslandsB3F.asm @@ -45,9 +45,9 @@ SeafoamIslandsB3F_Script: jp CallFunctionInTable Seafoam4HolesCoords: - db $10,$03 - db $10,$06 - db $ff + dbmapcoord 3, 16 + dbmapcoord 6, 16 + db -1 ; end SeafoamIslandsB3F_ScriptPointers: dw SeafoamIslands4Script0 @@ -77,10 +77,10 @@ SeafoamIslands4Script0: ret RLEMovement46632: - db D_DOWN,6 - db D_RIGHT,5 - db D_DOWN,3 - db $ff + db D_DOWN, 6 + db D_RIGHT, 5 + db D_DOWN, 3 + db -1 ; end SeafoamIslands4Script1: ld a, [wSimulatedJoypadStatesIndex] @@ -120,17 +120,17 @@ SeafoamIslands4Script2: ret RLEData_4667f: - db D_DOWN,$06 - db D_RIGHT,$02 - db D_DOWN,$04 - db D_LEFT,$01 - db $FF + db D_DOWN, 6 + db D_RIGHT, 2 + db D_DOWN, 4 + db D_LEFT, 1 + db -1 ; end RLEData_46688: - db D_DOWN,$06 - db D_RIGHT,$02 - db D_DOWN,$04 - db $FF + db D_DOWN, 6 + db D_RIGHT, 2 + db D_DOWN, 4 + db -1 ; end SeafoamIslands4Script3: ld a, [wSimulatedJoypadStatesIndex] diff --git a/scripts/SeafoamIslandsB4F.asm b/scripts/SeafoamIslandsB4F.asm index 250dfd39..bf80d3e0 100755 --- a/scripts/SeafoamIslandsB4F.asm +++ b/scripts/SeafoamIslandsB4F.asm @@ -53,11 +53,11 @@ SeafoamIslands5Script0: ret .Coords - db $11,$14 - db $11,$15 - db $10,$14 - db $10,$15 - db $FF + dbmapcoord 20, 17 + dbmapcoord 21, 17 + dbmapcoord 20, 16 + dbmapcoord 21, 16 + db -1 ; end SeafoamIslands5Script1: ld a, [wSimulatedJoypadStatesIndex] @@ -96,21 +96,21 @@ SeafoamIslands5Script2: ret .Coords - db $0E,$04 - db $0E,$05 - db $FF + dbmapcoord 4, 14 + dbmapcoord 5, 14 + db -1 ; end RLEMovementData_46852: - db D_UP,$03 - db D_RIGHT,$02 - db D_UP,$01 - db $FF + db D_UP, 3 + db D_RIGHT, 2 + db D_UP, 1 + db -1 ; end RLEMovementData_46859: - db D_UP,$03 - db D_RIGHT,$03 - db D_UP,$01 - db $FF + db D_UP, 3 + db D_RIGHT, 3 + db D_UP, 1 + db -1 ; end SeafoamIslands5Script3: ld a, [wSimulatedJoypadStatesIndex] diff --git a/scripts/SilphCo10F.asm b/scripts/SilphCo10F.asm index 1ac993ed..29b640fd 100755 --- a/scripts/SilphCo10F.asm +++ b/scripts/SilphCo10F.asm @@ -24,8 +24,8 @@ SilphCo10Script_5a14f: predef_jump ReplaceTileBlock SilphCo10GateCoords: - db $04,$05 - db $FF + dbmapcoord 5, 4 + db -1 ; end SilphCo10Text_5a176: ldh a, [hUnlockedSilphCoDoors] diff --git a/scripts/SilphCo11F.asm b/scripts/SilphCo11F.asm index 6f7d050b..f3a7088b 100755 --- a/scripts/SilphCo11F.asm +++ b/scripts/SilphCo11F.asm @@ -24,8 +24,8 @@ SilphCo11Script_62110: predef_jump ReplaceTileBlock SilphCo11GateCoords: - db $06,$03 - db $FF + dbmapcoord 3, 6 + db -1 ; end SilphCo11Script_62137: push hl @@ -85,7 +85,7 @@ SilphCo11Script_6216d: ld hl, MissableObjectIDs_62194 .asm_62184 ld a, [hli] - cp $ff + cp -1 ret z push hl ld [wMissableObjectIndex], a @@ -100,7 +100,7 @@ MissableObjectIDs_62194: db HS_SAFFRON_CITY_B db HS_SAFFRON_CITY_C db HS_SAFFRON_CITY_D - db $FF + db -1 ; end MissableObjectIDs_6219b: db HS_SAFFRON_CITY_1 @@ -143,7 +143,7 @@ MissableObjectIDs_6219b: db HS_SILPH_CO_11F_1 db HS_SILPH_CO_11F_2 db HS_SILPH_CO_11F_3 - db $FF + db -1 ; end SilphCo11Script_621c4: xor a @@ -186,15 +186,15 @@ SilphCo11Script0: jp SilphCo11Script_621c8 CoordsData_62211: - db $0D,$06 - db $0C,$07 - db $FF + dbmapcoord 6, 13 + dbmapcoord 7, 12 + db -1 ; end MovementData_62216: db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN db NPC_MOVEMENT_DOWN - db $FF + db -1 ; end SilphCo11Script_6221a: ld [wPlayerMovingDirection], a diff --git a/scripts/SilphCo2F.asm b/scripts/SilphCo2F.asm index 5433bca4..4b96c314 100755 --- a/scripts/SilphCo2F.asm +++ b/scripts/SilphCo2F.asm @@ -33,9 +33,9 @@ SilphCo2Script_59d07: predef_jump ReplaceTileBlock SilphCo2GateCoords: - db $02,$02 - db $05,$02 - db $FF + dbmapcoord 2, 2 + dbmapcoord 2, 5 + db -1 ; end SilphCo2Script_59d43: push hl diff --git a/scripts/SilphCo3F.asm b/scripts/SilphCo3F.asm index f2b4b1fd..69dfdad9 100755 --- a/scripts/SilphCo3F.asm +++ b/scripts/SilphCo3F.asm @@ -33,9 +33,9 @@ SilphCo3Script_59f71: predef_jump ReplaceTileBlock SilphCo3GateCoords: - db $04,$04 - db $04,$08 - db $FF + dbmapcoord 4, 4 + dbmapcoord 8, 4 + db -1 ; end SilphCo3Script_59fad: EventFlagAddress hl, EVENT_SILPH_CO_3_UNLOCKED_DOOR1 diff --git a/scripts/SilphCo4F.asm b/scripts/SilphCo4F.asm index 4b6303a1..8d5d696a 100755 --- a/scripts/SilphCo4F.asm +++ b/scripts/SilphCo4F.asm @@ -33,9 +33,9 @@ SilphCo4Script_19d21: predef_jump ReplaceTileBlock SilphCo4GateCoords: - db $06,$02 - db $04,$06 - db $FF + dbmapcoord 2, 6 + dbmapcoord 6, 4 + db -1 ; end SilphCo4Script_19d5d: push hl diff --git a/scripts/SilphCo5F.asm b/scripts/SilphCo5F.asm index 94a7ec30..975dacac 100755 --- a/scripts/SilphCo5F.asm +++ b/scripts/SilphCo5F.asm @@ -42,10 +42,10 @@ SilphCo5Script_19f4d: predef_jump ReplaceTileBlock SilphCo5GateCoords: - db $02,$03 - db $06,$03 - db $05,$07 - db $FF + dbmapcoord 3, 2 + dbmapcoord 3, 6 + dbmapcoord 7, 5 + db -1 ; end SilphCo5Script_19f9e: EventFlagAddress hl, EVENT_SILPH_CO_5_UNLOCKED_DOOR1 diff --git a/scripts/SilphCo6F.asm b/scripts/SilphCo6F.asm index 51d29498..ea8c20c2 100755 --- a/scripts/SilphCo6F.asm +++ b/scripts/SilphCo6F.asm @@ -24,8 +24,8 @@ SilphCo6Script_1a1bf: predef_jump ReplaceTileBlock SilphCo6GateCoords: - db $06,$02 - db $FF + dbmapcoord 2, 6 + db -1 ; end SilphCo6Script_1a1e6: ldh a, [hUnlockedSilphCoDoors] diff --git a/scripts/SilphCo7F.asm b/scripts/SilphCo7F.asm index 3627bc7f..32a95fb5 100755 --- a/scripts/SilphCo7F.asm +++ b/scripts/SilphCo7F.asm @@ -42,10 +42,10 @@ SilphCo7Script_51b77: predef_jump ReplaceTileBlock SilphCo7GateCoords: - db $03,$05 - db $02,$0A - db $06,$0A - db $FF + dbmapcoord 5, 3 + dbmapcoord 10, 2 + dbmapcoord 10, 6 + db -1 ; end SilphCo7Text_51bc8: push hl @@ -156,16 +156,16 @@ SilphCo7Script0: jp SilphCo7Text_51c10 CoordsData_51c78: - db $02,$03 - db $03,$03 - db $FF + dbmapcoord 3, 2 + dbmapcoord 3, 3 + db -1 ; end MovementData_51c7d: db NPC_MOVEMENT_UP db NPC_MOVEMENT_UP db NPC_MOVEMENT_UP db NPC_MOVEMENT_UP - db $FF + db -1 ; end SilphCo7Script3: ld a, [wd730] @@ -238,7 +238,7 @@ SilphCo7Script4: MovementData_51d1a: db NPC_MOVEMENT_RIGHT db NPC_MOVEMENT_RIGHT - db $FF + db -1 ; end MovementData_51d1d: db NPC_MOVEMENT_LEFT @@ -248,7 +248,7 @@ MovementData_51d1d: db NPC_MOVEMENT_RIGHT db NPC_MOVEMENT_RIGHT db NPC_MOVEMENT_DOWN - db $FF + db -1 ; end SilphCo7Script5: ld a, [wd730] diff --git a/scripts/SilphCo8F.asm b/scripts/SilphCo8F.asm index 6b77ce46..c4e022d4 100755 --- a/scripts/SilphCo8F.asm +++ b/scripts/SilphCo8F.asm @@ -24,8 +24,8 @@ SilphCo8Script_5651a: predef_jump ReplaceTileBlock SilphCo8GateCoords: - db $04,$03 - db $FF + dbmapcoord 3, 4 + db -1 ; end SilphCo8Script_56541: push hl diff --git a/scripts/SilphCo9F.asm b/scripts/SilphCo9F.asm index 0fbfc239..1efb3d78 100755 --- a/scripts/SilphCo9F.asm +++ b/scripts/SilphCo9F.asm @@ -51,11 +51,11 @@ SilphCo9Script_5d7d1: predef_jump ReplaceTileBlock SilphCo9GateCoords: - db $04,$01 - db $02,$09 - db $05,$09 - db $06,$05 - db $FF + dbmapcoord 1, 4 + dbmapcoord 9, 2 + dbmapcoord 9, 5 + dbmapcoord 5, 6 + db -1 ; end SilphCo9Script_5d837: push hl diff --git a/scripts/VermilionCity.asm b/scripts/VermilionCity.asm index 9178cd65..629bb0c8 100755 --- a/scripts/VermilionCity.asm +++ b/scripts/VermilionCity.asm @@ -68,8 +68,8 @@ VermilionCityScript0: ret SSAnneTicketCheckCoords: - db $1e,$12 ; y, x - db $ff + dbmapcoord 18, 30 + db -1 ; end VermilionCityScript4: ld hl, SSAnneTicketCheckCoords @@ -191,9 +191,9 @@ VermilionCityText3: jp TextScriptEnd .inFrontOfOrBehindGuardCoords - db $1d,$13 ; y, x of tile in front of guard - db $1f,$13 ; y, x of tile behind guard - db $ff + dbmapcoord 19, 29 ; in front of guard + dbmapcoord 19, 31 ; behind guard + db -1 ; end SSAnneWelcomeText4: text_far _SSAnneWelcomeText4 diff --git a/scripts/VermilionDock.asm b/scripts/VermilionDock.asm index 9dc4b2b9..728675eb 100755 --- a/scripts/VermilionDock.asm +++ b/scripts/VermilionDock.asm @@ -155,6 +155,7 @@ VermilionDock_EmitSmokePuff: ret VermilionDockOAMBlock: + ; tile id, attribute db $fc, $10 db $fd, $10 db $fe, $10 diff --git a/scripts/VictoryRoad1F.asm b/scripts/VictoryRoad1F.asm index 1eff96f0..b70f0dd4 100755 --- a/scripts/VictoryRoad1F.asm +++ b/scripts/VictoryRoad1F.asm @@ -35,8 +35,8 @@ VictoryRoad1Script0: ret CoordsData_5da5c: - db $0D,$11 - db $FF + dbmapcoord 17, 13 + db -1 ; end VictoryRoad1F_TextPointers: dw VictoryRoad1Text1 diff --git a/scripts/VictoryRoad2F.asm b/scripts/VictoryRoad2F.asm index 82cd1c18..9622206c 100755 --- a/scripts/VictoryRoad2F.asm +++ b/scripts/VictoryRoad2F.asm @@ -64,9 +64,9 @@ VictoryRoad2Script0: ret CoordsData_51816: - db $10,$01 - db $10,$09 - db $FF + dbmapcoord 1, 16 + dbmapcoord 9, 16 + db -1 ; end VictoryRoad2F_TextPointers: dw VictoryRoad2Text1 diff --git a/scripts/VictoryRoad3F.asm b/scripts/VictoryRoad3F.asm index 4715941d..7febdd3d 100755 --- a/scripts/VictoryRoad3F.asm +++ b/scripts/VictoryRoad3F.asm @@ -51,9 +51,9 @@ VictoryRoad3Script0: predef_jump ShowObject .coordsData_449f9: - db $05,$03 - db $0F,$17 - db $FF + dbmapcoord 3, 5 + dbmapcoord 23, 15 + db -1 ; end .asm_449fe ld a, VICTORY_ROAD_2F diff --git a/scripts/ViridianGym.asm b/scripts/ViridianGym.asm index 75992c3e..4a5dd6b7 100755 --- a/scripts/ViridianGym.asm +++ b/scripts/ViridianGym.asm @@ -49,84 +49,68 @@ ViridianGymScript0: ld [wCurMapScript], a ret -;format: -;db y,x -;dw pointer to movement ViridianGymArrowTilePlayerMovement: - db $b,$13 - dw ViridianGymArrowMovement1 - db $1,$13 - dw ViridianGymArrowMovement2 - db $2,$12 - dw ViridianGymArrowMovement3 - db $2,$b - dw ViridianGymArrowMovement4 - db $a,$10 - dw ViridianGymArrowMovement5 - db $6,$4 - dw ViridianGymArrowMovement6 - db $d,$5 - dw ViridianGymArrowMovement7 - db $e,$4 - dw ViridianGymArrowMovement8 - db $f,$0 - dw ViridianGymArrowMovement9 - db $f,$1 - dw ViridianGymArrowMovement10 - db $10,$d - dw ViridianGymArrowMovement11 - db $11,$d - dw ViridianGymArrowMovement12 - db $FF - -;format: direction, count + map_coord_movement 19, 11, ViridianGymArrowMovement1 + map_coord_movement 19, 1, ViridianGymArrowMovement2 + map_coord_movement 18, 2, ViridianGymArrowMovement3 + map_coord_movement 11, 2, ViridianGymArrowMovement4 + map_coord_movement 16, 10, ViridianGymArrowMovement5 + map_coord_movement 4, 6, ViridianGymArrowMovement6 + map_coord_movement 5, 13, ViridianGymArrowMovement7 + map_coord_movement 4, 14, ViridianGymArrowMovement8 + map_coord_movement 0, 15, ViridianGymArrowMovement9 + map_coord_movement 1, 15, ViridianGymArrowMovement10 + map_coord_movement 13, 16, ViridianGymArrowMovement11 + map_coord_movement 13, 17, ViridianGymArrowMovement12 + db -1 ; end + ViridianGymArrowMovement1: - db D_UP,$09 - db $FF + db D_UP, 9 + db -1 ; end ViridianGymArrowMovement2: - db D_LEFT,$08 - db $FF + db D_LEFT, 8 + db -1 ; end ViridianGymArrowMovement3: - db D_DOWN,$09 - db $FF + db D_DOWN, 9 + db -1 ; end ViridianGymArrowMovement4: - db D_RIGHT,$06 - db $FF + db D_RIGHT, 6 + db -1 ; end ViridianGymArrowMovement5: - db D_DOWN,$02 - db $FF + db D_DOWN, 2 + db -1 ; end ViridianGymArrowMovement6: - db D_DOWN,$07 - db $FF + db D_DOWN, 7 + db -1 ; end ViridianGymArrowMovement7: - db D_RIGHT,$08 - db $FF + db D_RIGHT, 8 + db -1 ; end ViridianGymArrowMovement8: - db D_RIGHT,$09 - db $FF + db D_RIGHT, 9 + db -1 ; end ViridianGymArrowMovement9: - db D_UP,$08 - db $FF + db D_UP, 8 + db -1 ; end ViridianGymArrowMovement10: - db D_UP,$06 - db $FF + db D_UP, 6 + db -1 ; end ViridianGymArrowMovement11: - db D_LEFT,$06 - db $FF + db D_LEFT, 6 + db -1 ; end ViridianGymArrowMovement12: - db D_LEFT,$0C - db $FF + db D_LEFT, 12 + db -1 ; end ViridianGymScript4: ld a, [wSimulatedJoypadStatesIndex] diff --git a/scripts/ViridianMart.asm b/scripts/ViridianMart.asm index edf4c4a0..f71cc6ef 100755 --- a/scripts/ViridianMart.asm +++ b/scripts/ViridianMart.asm @@ -40,9 +40,9 @@ ViridianMartScript0: ret RLEMovement1d4bb: - db D_LEFT, $01 - db D_UP, $02 - db $ff + db D_LEFT, 1 + db D_UP, 2 + db -1 ; end ViridianMartScript1: ld a, [wSimulatedJoypadStatesIndex] -- cgit v1.2.3 From 84abdb0237caedebe9b7ec41e5fcc51775e87ca9 Mon Sep 17 00:00:00 2001 From: Rangi Date: Thu, 16 Jul 2020 12:48:42 -0400 Subject: =?UTF-8?q?$ec=20=3D=20"=E2=96=B7"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- engine/menus/main_menu.asm | 8 ++++---- home/list_menu.asm | 2 +- home/window.asm | 2 +- scripts/LancesRoom.asm | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/engine/menus/main_menu.asm b/engine/menus/main_menu.asm index 3da894f6..3ecd99b1 100755 --- a/engine/menus/main_menu.asm +++ b/engine/menus/main_menu.asm @@ -222,9 +222,9 @@ LinkMenu: ld a, START_TRANSFER_INTERNAL_CLOCK ldh [rSC], a .skipStartingTransfer - ld b, $7f - ld c, $7f - ld d, $ec + ld b, " " + ld c, " " + ld d, "▷" ld a, [wLinkMenuSelectionSendBuffer] and (B_BUTTON << 2) ; was B button pressed? jr nz, .updateCursorPosition @@ -670,7 +670,7 @@ SetCursorPositionsFromOptions: ld e, a ld d, 0 add hl, de - ld [hl], $ec ; unfilled right arrow menu cursor + ld [hl], "▷" ret ; table that indicates how the 3 text speed options affect frame delays diff --git a/home/list_menu.asm b/home/list_menu.asm index ec775331..f8ddeeef 100644 --- a/home/list_menu.asm +++ b/home/list_menu.asm @@ -504,7 +504,7 @@ PrintListMenuEntries:: cp c ; is it this item? jr nz, .nextListEntry dec hl - ld a, $ec ; unfilled right arrow menu cursor to indicate an item being swapped + ld a, "▷" ld [hli], a .nextListEntry ld bc, 2 * SCREEN_WIDTH ; 2 rows diff --git a/home/window.asm b/home/window.asm index 7ba89d88..f86e39c6 100644 --- a/home/window.asm +++ b/home/window.asm @@ -201,7 +201,7 @@ PlaceUnfilledArrowMenuCursor:: ld l, a ld a, [wMenuCursorLocation + 1] ld h, a - ld [hl], $ec ; outline of right arrow + ld [hl], "▷" ld a, b ret diff --git a/scripts/LancesRoom.asm b/scripts/LancesRoom.asm index 513ab9a8..5c7301ef 100755 --- a/scripts/LancesRoom.asm +++ b/scripts/LancesRoom.asm @@ -117,8 +117,8 @@ WalkToLance_RLEList: db -1 ; end LanceScript3: - ld a, [wSimulatedJoypadStatesIndex] - and a + ld a, [wSimulatedJoypadStatesIndex] + and a ret nz call Delay3 xor a -- cgit v1.2.3 From 7306c1dc2dca5666a5276a6758d1a64e1ddeae20 Mon Sep 17 00:00:00 2001 From: Rangi Date: Thu, 16 Jul 2020 13:25:02 -0400 Subject: Define constants for audio commands --- audio/engine_1.asm | 78 +++++++++++++++++++++--------------------- audio/engine_2.asm | 78 +++++++++++++++++++++--------------------- audio/engine_3.asm | 78 +++++++++++++++++++++--------------------- macros/scripts/audio.asm | 88 +++++++++++++++++++++++++++++++++++++----------- 4 files changed, 185 insertions(+), 137 deletions(-) diff --git a/audio/engine_1.asm b/audio/engine_1.asm index a31572f3..f9b4166a 100644 --- a/audio/engine_1.asm +++ b/audio/engine_1.asm @@ -41,7 +41,7 @@ Audio1_ApplyMusicAffects: ld hl, wChannelNoteDelayCounters ; delay until next note add hl, bc ld a, [hl] - cp $1 ; if the delay is 1, play next note + cp 1 ; if the delay is 1, play next note jp z, Audio1_PlayNextNote dec a ; otherwise, decrease the delay timer ld [hl], a @@ -163,8 +163,8 @@ Audio1_PlayNextNote: Audio1_sound_ret: call Audio1_GetNextMusicByte ld d, a - cp $ff ; is this command a sound_ret? - jp nz, Audio1_sound_call ; no + cp sound_ret_cmd + jp nz, Audio1_sound_call ld b, 0 ld hl, wChannelFlags1 add hl, bc @@ -251,8 +251,8 @@ Audio1_sound_ret: ret Audio1_sound_call: - cp $fd ; is this command a sound_call? - jp nz, Audio1_sound_loop ; no + cp sound_call_cmd + jp nz, Audio1_sound_loop call Audio1_GetNextMusicByte push af call Audio1_GetNextMusicByte @@ -288,8 +288,8 @@ Audio1_sound_call: jp Audio1_sound_ret Audio1_sound_loop: - cp $fe ; is this command a sound_loop? - jp nz, Audio1_note_type ; no + cp sound_loop_cmd + jp nz, Audio1_note_type call Audio1_GetNextMusicByte ld e, a and a @@ -327,8 +327,8 @@ Audio1_sound_loop: Audio1_note_type: and $f0 - cp $d0 ; is this command a note_type? - jp nz, Audio1_toggle_perfect_pitch ; no + cp note_type_cmd + jp nz, Audio1_toggle_perfect_pitch ld a, d and $f ld b, $0 @@ -371,8 +371,8 @@ Audio1_note_type: Audio1_toggle_perfect_pitch: ld a, d - cp $e8 ; is this command a toggle_perfect_pitch? - jr nz, Audio1_vibrato ; no + cp toggle_perfect_pitch_cmd + jr nz, Audio1_vibrato ld b, 0 ld hl, wChannelFlags1 add hl, bc @@ -382,8 +382,8 @@ Audio1_toggle_perfect_pitch: jp Audio1_sound_ret Audio1_vibrato: - cp $ea ; is this command a vibrato? - jr nz, Audio1_pitch_slide ; no + cp vibrato_cmd + jr nz, Audio1_pitch_slide call Audio1_GetNextMusicByte ld b, 0 ld hl, wChannelVibratoDelayCounters @@ -430,8 +430,8 @@ Audio1_vibrato: jp Audio1_sound_ret Audio1_pitch_slide: - cp $eb ; is this command a pitch_slide? - jr nz, Audio1_duty_cycle ; no + cp pitch_slide_cmd + jr nz, Audio1_duty_cycle call Audio1_GetNextMusicByte ld b, 0 ld hl, wChannelPitchSlideLengthModifiers @@ -461,8 +461,8 @@ Audio1_pitch_slide: jp Audio1_note_length Audio1_duty_cycle: - cp $ec ; is this command a duty_cycle? - jr nz, Audio1_tempo ; no + cp duty_cycle_cmd + jr nz, Audio1_tempo call Audio1_GetNextMusicByte rrca rrca @@ -474,8 +474,8 @@ Audio1_duty_cycle: jp Audio1_sound_ret Audio1_tempo: - cp $ed ; is this command a tempo? - jr nz, Audio1_stereo_panning ; no + cp tempo_cmd + jr nz, Audio1_stereo_panning ld a, c cp Ch5 jr nc, .sfxChannel @@ -503,16 +503,16 @@ Audio1_tempo: jp Audio1_sound_ret Audio1_stereo_panning: - cp $ee ; is this command a stereo_panning? - jr nz, Audio1_unknownmusic0xef ; no + cp stereo_panning_cmd + jr nz, Audio1_unknownmusic0xef call Audio1_GetNextMusicByte ld [wStereoPanning], a ; store panning jp Audio1_sound_ret ; this appears to never be used Audio1_unknownmusic0xef: - cp $ef ; is this command an unknownmusic0xef? - jr nz, Audio1_duty_cycle_pattern ; no + cp unknownmusic0xef_cmd + jr nz, Audio1_duty_cycle_pattern call Audio1_GetNextMusicByte push bc call Audio1_PlaySound @@ -528,8 +528,8 @@ Audio1_unknownmusic0xef: jp Audio1_sound_ret Audio1_duty_cycle_pattern: - cp $fc ; is this command a duty_cycle_pattern? - jr nz, Audio1_volume ; no + cp duty_cycle_pattern_cmd + jr nz, Audio1_volume call Audio1_GetNextMusicByte ld b, 0 ld hl, wChannelDutyCyclePatterns @@ -545,15 +545,15 @@ Audio1_duty_cycle_pattern: jp Audio1_sound_ret Audio1_volume: - cp $f0 ; is this command a volume? - jr nz, Audio1_execute_music ; no + cp volume_cmd + jr nz, Audio1_execute_music call Audio1_GetNextMusicByte ldh [rNR50], a ; store volume jp Audio1_sound_ret Audio1_execute_music: - cp $f8 ; is this command an execute_music? - jr nz, Audio1_octave ; no + cp execute_music_cmd + jr nz, Audio1_octave ld b, $0 ld hl, wChannelFlags2 add hl, bc @@ -562,8 +562,8 @@ Audio1_execute_music: Audio1_octave: and $f0 - cp $e0 ; is this command an octave? - jr nz, Audio1_sfx_note ; no + cp octave_cmd + jr nz, Audio1_sfx_note ld hl, wChannelOctaves ld b, 0 add hl, bc @@ -574,7 +574,7 @@ Audio1_octave: ; sfx_note is either square_note or noise_note depending on the channel Audio1_sfx_note: - cp $20 ; is this command a sfx_note? + cp sfx_note_cmd jr nz, Audio1_pitch_sweep ld a, c cp Ch4 ; is this a noise or sfx channel? @@ -630,8 +630,8 @@ Audio1_pitch_sweep: cp Ch5 jr c, Audio1_note ; if not a sfx ld a, d - cp $10 ; is this command a pitch_sweep? - jr nz, Audio1_note ; no + cp pitch_sweep_cmd + jr nz, Audio1_note ld b, $0 ld hl, wChannelFlags2 add hl, bc @@ -647,12 +647,12 @@ Audio1_note: jr nz, Audio1_note_length ; if not noise channel ld a, d and $f0 - cp $b0 ; is this command a drum_note? + cp drum_note_cmd jr z, .drum_note - jr nc, Audio1_note_length ; no + jr nc, Audio1_note_length ; this executes when on the noise channel and - ; the command id is less than $b0 + ; the command id is less than drum_note_cmd ($b0) ; in this case, the upper nybble is used as the noise instrument ($1-$a) ; and the lower nybble is the length minus 1 (0-15) ; however, this doesn't work for instrument #2 because the command id @@ -748,7 +748,7 @@ Audio1_note_length: Audio1_note_pitch: pop af and $f0 - cp $c0 ; compare to rest + cp rest_cmd jr nz, .notRest ld a, c cp Ch5 @@ -1330,7 +1330,7 @@ Audio1_CalculateFrequency: Audio1_PlaySound:: ld [wSoundID], a - cp $ff + cp SFX_STOP_ALL_MUSIC jp z, .stopAllAudio cp MAX_SFX_ID_1 jp z, .playSfx diff --git a/audio/engine_2.asm b/audio/engine_2.asm index 4954f8bc..51a5d7c4 100644 --- a/audio/engine_2.asm +++ b/audio/engine_2.asm @@ -43,7 +43,7 @@ Audio2_ApplyMusicAffects: ld hl, wChannelNoteDelayCounters ; delay until next note add hl, bc ld a, [hl] - cp $1 ; if the delay is 1, play next note + cp 1 ; if the delay is 1, play next note jp z, Audio2_PlayNextNote dec a ; otherwise, decrease the delay timer ld [hl], a @@ -174,8 +174,8 @@ Audio2_PlayNextNote: Audio2_sound_ret: call Audio2_GetNextMusicByte ld d, a - cp $ff ; is this command a sound_ret? - jp nz, Audio2_sound_call ; no + cp sound_ret_cmd + jp nz, Audio2_sound_call ld b, 0 ld hl, wChannelFlags1 add hl, bc @@ -262,8 +262,8 @@ Audio2_sound_ret: ret Audio2_sound_call: - cp $fd ; is this command a sound_call? - jp nz, Audio2_sound_loop ; no + cp sound_call_cmd + jp nz, Audio2_sound_loop call Audio2_GetNextMusicByte push af call Audio2_GetNextMusicByte @@ -299,8 +299,8 @@ Audio2_sound_call: jp Audio2_sound_ret Audio2_sound_loop: - cp $fe ; is this command a sound_loop? - jp nz, Audio2_note_type ; no + cp sound_loop_cmd + jp nz, Audio2_note_type call Audio2_GetNextMusicByte ld e, a and a @@ -338,8 +338,8 @@ Audio2_sound_loop: Audio2_note_type: and $f0 - cp $d0 ; is this command a note_type? - jp nz, Audio2_toggle_perfect_pitch ; no + cp note_type_cmd + jp nz, Audio2_toggle_perfect_pitch ld a, d and $f ld b, $0 @@ -382,8 +382,8 @@ Audio2_note_type: Audio2_toggle_perfect_pitch: ld a, d - cp $e8 ; is this command a toggle_perfect_pitch? - jr nz, Audio2_vibrato ; no + cp toggle_perfect_pitch_cmd + jr nz, Audio2_vibrato ld b, 0 ld hl, wChannelFlags1 add hl, bc @@ -393,8 +393,8 @@ Audio2_toggle_perfect_pitch: jp Audio2_sound_ret Audio2_vibrato: - cp $ea ; is this command a vibrato? - jr nz, Audio2_pitch_slide ; no + cp vibrato_cmd + jr nz, Audio2_pitch_slide call Audio2_GetNextMusicByte ld b, 0 ld hl, wChannelVibratoDelayCounters @@ -441,8 +441,8 @@ Audio2_vibrato: jp Audio2_sound_ret Audio2_pitch_slide: - cp $eb ; is this command a pitch_slide? - jr nz, Audio2_duty_cycle ; no + cp pitch_slide_cmd + jr nz, Audio2_duty_cycle call Audio2_GetNextMusicByte ld b, 0 ld hl, wChannelPitchSlideLengthModifiers @@ -472,8 +472,8 @@ Audio2_pitch_slide: jp Audio2_note_length Audio2_duty_cycle: - cp $ec ; is this command a duty_cycle? - jr nz, Audio2_tempo ; no + cp duty_cycle_cmd + jr nz, Audio2_tempo call Audio2_GetNextMusicByte rrca rrca @@ -485,8 +485,8 @@ Audio2_duty_cycle: jp Audio2_sound_ret Audio2_tempo: - cp $ed ; is this command a tempo? - jr nz, Audio2_stereo_panning ; no + cp tempo_cmd + jr nz, Audio2_stereo_panning ld a, c cp Ch5 jr nc, .sfxChannel @@ -514,16 +514,16 @@ Audio2_tempo: jp Audio2_sound_ret Audio2_stereo_panning: - cp $ee ; is this command a stereo_panning? - jr nz, Audio2_unknownmusic0xef ; no + cp stereo_panning_cmd + jr nz, Audio2_unknownmusic0xef call Audio2_GetNextMusicByte ld [wStereoPanning], a ; store panning jp Audio2_sound_ret ; this appears to never be used Audio2_unknownmusic0xef: - cp $ef ; is this command an unknownmusic0xef? - jr nz, Audio2_duty_cycle_pattern ; no + cp unknownmusic0xef_cmd + jr nz, Audio2_duty_cycle_pattern call Audio2_GetNextMusicByte push bc call Audio2_PlaySound @@ -539,8 +539,8 @@ Audio2_unknownmusic0xef: jp Audio2_sound_ret Audio2_duty_cycle_pattern: - cp $fc ; is this command a duty_cycle_pattern? - jr nz, Audio2_volume ; no + cp duty_cycle_pattern_cmd + jr nz, Audio2_volume call Audio2_GetNextMusicByte ld b, 0 ld hl, wChannelDutyCyclePatterns @@ -556,15 +556,15 @@ Audio2_duty_cycle_pattern: jp Audio2_sound_ret Audio2_volume: - cp $f0 ; is this command a volume? - jr nz, Audio2_execute_music ; no + cp volume_cmd + jr nz, Audio2_execute_music call Audio2_GetNextMusicByte ldh [rNR50], a ; store volume jp Audio2_sound_ret Audio2_execute_music: - cp $f8 ; is this command an execute_music? - jr nz, Audio2_octave ; no + cp execute_music_cmd + jr nz, Audio2_octave ld b, $0 ld hl, wChannelFlags2 add hl, bc @@ -573,8 +573,8 @@ Audio2_execute_music: Audio2_octave: and $f0 - cp $e0 ; is this command an octave? - jr nz, Audio2_sfx_note ; no + cp octave_cmd + jr nz, Audio2_sfx_note ld hl, wChannelOctaves ld b, 0 add hl, bc @@ -585,7 +585,7 @@ Audio2_octave: ; sfx_note is either square_note or noise_note depending on the channel Audio2_sfx_note: - cp $20 ; is this command a sfx_note? + cp sfx_note_cmd jr nz, Audio2_pitch_sweep ld a, c cp Ch4 ; is this a noise or sfx channel? @@ -641,8 +641,8 @@ Audio2_pitch_sweep: cp Ch5 jr c, Audio2_note ; if not a sfx ld a, d - cp $10 ; is this command a pitch_sweep? - jr nz, Audio2_note ; no + cp pitch_sweep_cmd + jr nz, Audio2_note ld b, $0 ld hl, wChannelFlags2 add hl, bc @@ -658,12 +658,12 @@ Audio2_note: jr nz, Audio2_note_length ; if not noise channel ld a, d and $f0 - cp $b0 ; is this command a drum_note? + cp drum_note_cmd jr z, .drum_note - jr nc, Audio2_note_length ; no + jr nc, Audio2_note_length ; this executes when on the noise channel and - ; the command id is less than $b0 + ; the command id is less than drum_note_cmd ($b0) ; in this case, the upper nybble is used as the noise instrument ($1-$a) ; and the lower nybble is the length minus 1 (0-15) ; however, this doesn't work for instrument #2 because the command id @@ -759,7 +759,7 @@ Audio2_note_length: Audio2_note_pitch: pop af and $f0 - cp $c0 ; compare to rest + cp rest_cmd jr nz, .notRest ld a, c cp Ch5 @@ -1393,7 +1393,7 @@ Audio2_CalculateFrequency: Audio2_PlaySound:: ld [wSoundID], a - cp $ff + cp SFX_STOP_ALL_MUSIC jp z, .stopAllAudio cp MAX_SFX_ID_2 jp z, .playSfx diff --git a/audio/engine_3.asm b/audio/engine_3.asm index f86658a2..57618486 100644 --- a/audio/engine_3.asm +++ b/audio/engine_3.asm @@ -41,7 +41,7 @@ Audio3_ApplyMusicAffects: ld hl, wChannelNoteDelayCounters ; delay until next note add hl, bc ld a, [hl] - cp $1 ; if the delay is 1, play next note + cp 1 ; if the delay is 1, play next note jp z, Audio3_PlayNextNote dec a ; otherwise, decrease the delay timer ld [hl], a @@ -163,8 +163,8 @@ Audio3_PlayNextNote: Audio3_sound_ret: call Audio3_GetNextMusicByte ld d, a - cp $ff ; is this command a sound_ret? - jp nz, Audio3_sound_call ; no + cp sound_ret_cmd + jp nz, Audio3_sound_call ld b, 0 ld hl, wChannelFlags1 add hl, bc @@ -251,8 +251,8 @@ Audio3_sound_ret: ret Audio3_sound_call: - cp $fd ; is this command a sound_call? - jp nz, Audio3_sound_loop ; no + cp sound_call_cmd + jp nz, Audio3_sound_loop call Audio3_GetNextMusicByte push af call Audio3_GetNextMusicByte @@ -288,8 +288,8 @@ Audio3_sound_call: jp Audio3_sound_ret Audio3_sound_loop: - cp $fe ; is this command a sound_loop? - jp nz, Audio3_note_type ; no + cp sound_loop_cmd + jp nz, Audio3_note_type call Audio3_GetNextMusicByte ld e, a and a @@ -327,8 +327,8 @@ Audio3_sound_loop: Audio3_note_type: and $f0 - cp $d0 ; is this command a note_type? - jp nz, Audio3_toggle_perfect_pitch ; no + cp note_type_cmd + jp nz, Audio3_toggle_perfect_pitch ld a, d and $f ld b, $0 @@ -371,8 +371,8 @@ Audio3_note_type: Audio3_toggle_perfect_pitch: ld a, d - cp $e8 ; is this command a toggle_perfect_pitch? - jr nz, Audio3_vibrato ; no + cp toggle_perfect_pitch_cmd + jr nz, Audio3_vibrato ld b, 0 ld hl, wChannelFlags1 add hl, bc @@ -382,8 +382,8 @@ Audio3_toggle_perfect_pitch: jp Audio3_sound_ret Audio3_vibrato: - cp $ea ; is this command a vibrato? - jr nz, Audio3_pitch_slide ; no + cp vibrato_cmd + jr nz, Audio3_pitch_slide call Audio3_GetNextMusicByte ld b, 0 ld hl, wChannelVibratoDelayCounters @@ -430,8 +430,8 @@ Audio3_vibrato: jp Audio3_sound_ret Audio3_pitch_slide: - cp $eb ; is this command a pitch_slide? - jr nz, Audio3_duty_cycle ; no + cp pitch_slide_cmd + jr nz, Audio3_duty_cycle call Audio3_GetNextMusicByte ld b, 0 ld hl, wChannelPitchSlideLengthModifiers @@ -461,8 +461,8 @@ Audio3_pitch_slide: jp Audio3_note_length Audio3_duty_cycle: - cp $ec ; is this command a duty_cycle? - jr nz, Audio3_tempo ; no + cp duty_cycle_cmd + jr nz, Audio3_tempo call Audio3_GetNextMusicByte rrca rrca @@ -474,8 +474,8 @@ Audio3_duty_cycle: jp Audio3_sound_ret Audio3_tempo: - cp $ed ; is this command a tempo? - jr nz, Audio3_stereo_panning ; no + cp tempo_cmd + jr nz, Audio3_stereo_panning ld a, c cp Ch5 jr nc, .sfxChannel @@ -503,16 +503,16 @@ Audio3_tempo: jp Audio3_sound_ret Audio3_stereo_panning: - cp $ee ; is this command a stereo_panning? - jr nz, Audio3_unknownmusic0xef ; no + cp stereo_panning_cmd + jr nz, Audio3_unknownmusic0xef call Audio3_GetNextMusicByte ld [wStereoPanning], a ; store panning jp Audio3_sound_ret ; this appears to never be used Audio3_unknownmusic0xef: - cp $ef ; is this command an unknownmusic0xef? - jr nz, Audio3_duty_cycle_pattern ; no + cp unknownmusic0xef_cmd + jr nz, Audio3_duty_cycle_pattern call Audio3_GetNextMusicByte push bc call Audio3_PlaySound @@ -528,8 +528,8 @@ Audio3_unknownmusic0xef: jp Audio3_sound_ret Audio3_duty_cycle_pattern: - cp $fc ; is this command a duty_cycle_pattern? - jr nz, Audio3_volume ; no + cp duty_cycle_pattern_cmd + jr nz, Audio3_volume call Audio3_GetNextMusicByte ld b, 0 ld hl, wChannelDutyCyclePatterns @@ -545,15 +545,15 @@ Audio3_duty_cycle_pattern: jp Audio3_sound_ret Audio3_volume: - cp $f0 ; is this command a volume? - jr nz, Audio3_execute_music ; no + cp volume_cmd + jr nz, Audio3_execute_music call Audio3_GetNextMusicByte ldh [rNR50], a ; store volume jp Audio3_sound_ret Audio3_execute_music: - cp $f8 ; is this command an execute_music? - jr nz, Audio3_octave ; no + cp execute_music_cmd + jr nz, Audio3_octave ld b, $0 ld hl, wChannelFlags2 add hl, bc @@ -562,8 +562,8 @@ Audio3_execute_music: Audio3_octave: and $f0 - cp $e0 ; is this command an octave? - jr nz, Audio3_sfx_note ; no + cp octave_cmd + jr nz, Audio3_sfx_note ld hl, wChannelOctaves ld b, 0 add hl, bc @@ -574,7 +574,7 @@ Audio3_octave: ; sfx_note is either square_note or noise_note depending on the channel Audio3_sfx_note: - cp $20 ; is this command a sfx_note? + cp sfx_note_cmd jr nz, Audio3_pitch_sweep ld a, c cp Ch4 ; is this a noise or sfx channel? @@ -630,8 +630,8 @@ Audio3_pitch_sweep: cp Ch5 jr c, Audio3_note ; if not a sfx ld a, d - cp $10 ; is this command a pitch_sweep? - jr nz, Audio3_note ; no + cp pitch_sweep_cmd + jr nz, Audio3_note ld b, $0 ld hl, wChannelFlags2 add hl, bc @@ -647,12 +647,12 @@ Audio3_note: jr nz, Audio3_note_length ; if not noise channel ld a, d and $f0 - cp $b0 ; is this command a drum_note? + cp drum_note_cmd jr z, .drum_note - jr nc, Audio3_note_length ; no + jr nc, Audio3_note_length ; this executes when on the noise channel and - ; the command id is less than $b0 + ; the command id is less than drum_note_cmd ($b0) ; in this case, the upper nybble is used as the noise instrument ($1-$a) ; and the lower nybble is the length minus 1 (0-15) ; however, this doesn't work for instrument #2 because the command id @@ -748,7 +748,7 @@ Audio3_note_length: Audio3_note_pitch: pop af and $f0 - cp $c0 ; compare to rest + cp rest_cmd jr nz, .notRest ld a, c cp Ch5 @@ -1330,7 +1330,7 @@ Audio3_CalculateFrequency: Audio3_PlaySound:: ld [wSoundID], a - cp $ff + cp SFX_STOP_ALL_MUSIC jp z, .stopAllAudio cp MAX_SFX_ID_3 jp z, .playSfx diff --git a/macros/scripts/audio.asm b/macros/scripts/audio.asm index 4f4d084c..b12a2adc 100755 --- a/macros/scripts/audio.asm +++ b/macros/scripts/audio.asm @@ -15,14 +15,17 @@ audio_header: MACRO ENDC ENDM + const_def $10 + ; arguments: length [0, 7], pitch change [-7, 7] ; length: length of time between pitch shifts ; sometimes used with a value >7 in which case the MSB is ignored ; pitch change: positive value means increase in pitch, negative value means decrease in pitch ; small magnitude means quick change, large magnitude means slow change ; in signed magnitude representation, so a value of 8 is the same as (negative) 0 + const pitch_sweep_cmd ; $10 pitch_sweep: MACRO - db $10 + db pitch_sweep_cmd IF \2 < 0 db (\1 << 4) | (%1000 | (\2 * -1)) ELSE @@ -30,12 +33,17 @@ pitch_sweep: MACRO ENDC ENDM + const_next $20 + + const sfx_note_cmd ; $20 + ; arguments: length [0, 15], volume [0, 15], fade [-7, 7], frequency ; fade: positive value means decrease in volume, negative value means increase in volume ; small magnitude means quick change, large magnitude means slow change ; in signed magnitude representation, so a value of 8 is the same as (negative) 0 +square_note_cmd EQU sfx_note_cmd ; $20 square_note: MACRO - db $20 | \1 + db square_note_cmd | \1 IF \3 < 0 db (\2 << 4) | (%1000 | (\3 * -1)) ELSE @@ -48,8 +56,9 @@ ENDM ; fade: positive value means decrease in volume, negative value means increase in volume ; small magnitude means quick change, large magnitude means slow change ; in signed magnitude representation, so a value of 8 is the same as (negative) 0 +noise_note_cmd EQU sfx_note_cmd ; $20 noise_note: MACRO - db $20 | \1 + db noise_note_cmd | \1 IF \3 < 0 db (\2 << 4) | (%1000 | (\3 * -1)) ELSE @@ -63,9 +72,12 @@ note: MACRO db (\1 << 4) | (\2 - 1) ENDM + const_next $b0 + ; arguments: instrument [1, 19], length [1, 16] + const drum_note_cmd ; $b0 drum_note: MACRO - db $B0 | (\2 - 1) + db drum_note_cmd | (\2 - 1) db \1 ENDM @@ -77,17 +89,23 @@ drum_note_short: MACRO db (\1 << 4) | (\2 - 1) ENDM + const_next $c0 + ; arguments: length [1, 16] + const rest_cmd ; $c0 rest: MACRO - db $C0 | (\1 - 1) + db rest_cmd | (\1 - 1) ENDM + const_next $d0 + ; arguments: speed [0, 15], volume [0, 15], fade [-7, 7] ; fade: positive value means decrease in volume, negative value means increase in volume ; small magnitude means quick change, large magnitude means slow change ; in signed magnitude representation, so a value of 8 is the same as (negative) 0 + const note_type_cmd ; $d0 note_type: MACRO - db $D0 | \1 + db note_type_cmd | \1 IF \3 < 0 db (\2 << 4) | (%1000 | (\3 * -1)) ELSE @@ -96,40 +114,52 @@ note_type: MACRO ENDM ; arguments: speed [0, 15] +drum_speed_cmd EQU note_type_cmd ; $d0 drum_speed: MACRO - db $D0 | \1 + db drum_speed_cmd | \1 ENDM + const_next $e0 + ; arguments: octave [1, 8] + const octave_cmd ; $e0 octave: MACRO - db $E8 - \1 + db octave_cmd | (8 - \1) ENDM + const_next $e8 + ; when enabled, effective frequency used is incremented by 1 + const toggle_perfect_pitch_cmd ; $e8 toggle_perfect_pitch: MACRO - db $E8 + db toggle_perfect_pitch_cmd ENDM + const_skip ; $e9 + ; arguments: delay [0, 255], depth [0, 15], rate [0, 15] ; delay: time delay until vibrato effect begins ; depth: amplitude of vibrato wave ; rate: frequency of vibrato wave + const vibrato_cmd ; $ea vibrato: MACRO - db $EA + db vibrato_cmd db \1 db (\2 << 4) | \3 ENDM ; arguments: length [1, 256], octave [1, 8], pitch + const pitch_slide_cmd ; $eb pitch_slide: MACRO - db $EB + db pitch_slide_cmd db \1 - 1 db ((8 - \2) << 4) | \3 ENDM ; arguments: duty cycle [0, 3] (12.5%, 25%, 50%, 75%) + const duty_cycle_cmd ; $ec duty_cycle: MACRO - db $EC + db duty_cycle_cmd db \1 ENDM @@ -139,47 +169,65 @@ ENDM ; ideally should be set to $100 or less to guarantee no overflow ; if larger than $100, large note speed or note length values might cause overflow ; stored in big endian + const tempo_cmd ; $ed tempo: MACRO - db $ED + db tempo_cmd db HIGH(\1), LOW(\1) ENDM ; arguments: left output enable mask, right output enable mask + const stereo_panning_cmd ; $ee stereo_panning: MACRO - db $EE + db stereo_panning_cmd db (\1 << 4) | \2 ENDM + const unknownmusic0xef_cmd ; $ef +unknownmusic0xef: MACRO + db unknownmusic0xef_cmd + db \1 +ENDM + ; arguments: left master volume [0, 7], right master volume [0, 7] + const volume_cmd ; $f0 volume: MACRO - db $F0 + db volume_cmd db (\1 << 4) | \2 ENDM + const_next $f8 + ; when enabled, the sfx data is interpreted as music data + const execute_music_cmd ; $f8 execute_music: MACRO - db $F8 + db execute_music_cmd ENDM + const_next $fc + ; arguments: duty cycle 1, duty cycle 2, duty cycle 3, duty cycle 4 + const duty_cycle_pattern_cmd ; $fc duty_cycle_pattern: MACRO - db $FC + db duty_cycle_pattern_cmd db \1 << 6 | \2 << 4 | \3 << 2 | \4 ENDM ; arguments: address + const sound_call_cmd ; $fd sound_call: MACRO - db $FD + db sound_call_cmd dw \1 ENDM ; arguments: count, address + const sound_loop_cmd ; $fe sound_loop: MACRO - db $FE + db sound_loop_cmd db \1 dw \2 ENDM + const sound_ret_cmd ; $ff sound_ret: MACRO - db $FF + db sound_ret_cmd ENDM -- cgit v1.2.3 From cd71ae03af9e75235c8035821700dd6dc6b69616 Mon Sep 17 00:00:00 2001 From: Rangi Date: Thu, 16 Jul 2020 19:50:48 -0400 Subject: Separate move/battle animation data from move data (to do: further identify animation data labels+constants) --- data/battle_anims/frame_blocks.asm | 1421 +++++++++++++ data/battle_anims/special_effect_pointers.asm | 47 + data/battle_anims/special_effects.asm | 32 + data/battle_anims/subanimations.asm | 944 +++++++++ data/moves/animation_special_effect_pointers.asm | 47 - data/moves/animation_special_effects.asm | 32 - data/moves/animations.asm | 2367 ---------------------- engine/battle/animations.asm | 8 +- main.asm | 2 + 9 files changed, 2450 insertions(+), 2450 deletions(-) create mode 100644 data/battle_anims/frame_blocks.asm create mode 100644 data/battle_anims/special_effect_pointers.asm create mode 100644 data/battle_anims/special_effects.asm create mode 100644 data/battle_anims/subanimations.asm delete mode 100644 data/moves/animation_special_effect_pointers.asm delete mode 100644 data/moves/animation_special_effects.asm diff --git a/data/battle_anims/frame_blocks.asm b/data/battle_anims/frame_blocks.asm new file mode 100644 index 00000000..2eb26748 --- /dev/null +++ b/data/battle_anims/frame_blocks.asm @@ -0,0 +1,1421 @@ +FrameBlockPointers: + dw FrameBlock00 + dw FrameBlock01 + dw FrameBlock02 + dw FrameBlock03 + dw FrameBlock04 + dw FrameBlock05 + dw FrameBlock06 + dw FrameBlock07 + dw FrameBlock08 + dw FrameBlock09 + dw FrameBlock0a + dw FrameBlock0b + dw FrameBlock0c + dw FrameBlock0d + dw FrameBlock0e + dw FrameBlock0f + dw FrameBlock10 + dw FrameBlock11 + dw FrameBlock12 + dw FrameBlock13 + dw FrameBlock14 + dw FrameBlock15 + dw FrameBlock16 + dw FrameBlock17 + dw FrameBlock18 + dw FrameBlock19 + dw FrameBlock1a + dw FrameBlock1b + dw FrameBlock1c + dw FrameBlock1d + dw FrameBlock1e + dw FrameBlock1f + dw FrameBlock20 + dw FrameBlock21 + dw FrameBlock22 + dw FrameBlock23 + dw FrameBlock24 + dw FrameBlock25 + dw FrameBlock26 + dw FrameBlock27 + dw FrameBlock28 + dw FrameBlock29 + dw FrameBlock2a + dw FrameBlock2b + dw FrameBlock2c + dw FrameBlock2d + dw FrameBlock2e + dw FrameBlock2f + dw FrameBlock30 + dw FrameBlock31 + dw FrameBlock32 + dw FrameBlock33 + dw FrameBlock34 + dw FrameBlock35 + dw FrameBlock36 + dw FrameBlock37 + dw FrameBlock38 + dw FrameBlock39 + dw FrameBlock3a + dw FrameBlock3b + dw FrameBlock3c + dw FrameBlock3d + dw FrameBlock3e + dw FrameBlock3f + dw FrameBlock40 + dw FrameBlock41 + dw FrameBlock42 + dw FrameBlock43 + dw FrameBlock44 + dw FrameBlock45 + dw FrameBlock46 + dw FrameBlock47 + dw SmallBlackCircleFrameBlock + dw LargeBlockCircleFrameBlock + dw FrameBlock4a + dw FrameBlock4b + dw FrameBlock4c + dw FrameBlock4d + dw FrameBlock4e + dw FrameBlock4f + dw FrameBlock50 + dw FrameBlock51 + dw FrameBlock52 + dw FrameBlock53 + dw FrameBlock54 + dw FrameBlock55 + dw FrameBlock56 + dw FrameBlock57 + dw FrameBlock58 + dw FrameBlock59 + dw FrameBlock5a + dw FrameBlock5b + dw FrameBlock5c + dw FrameBlock5d + dw FrameBlock5e + dw FrameBlock5f + dw FrameBlock60 + dw FrameBlock61 + dw FrameBlock62 + dw FrameBlock63 + dw FrameBlock64 + dw FrameBlock65 + dw FrameBlock66 + dw FrameBlock67 + dw FrameBlock68 + dw FrameBlock69 + dw FrameBlock6a + dw FrameBlock6b + dw FrameBlock6c + dw FrameBlock6d + dw FrameBlock6e + dw FrameBlock6f + dw FrameBlock70 + dw FrameBlock71 + dw FrameBlock72 + dw FrameBlock73 + dw FrameBlock74 + dw FrameBlock75 + dw FrameBlock76 + dw FrameBlock77 + dw FrameBlock78 + dw FrameBlock79 + +; FrameBlock format is as follows: +; first byte = number of tiles in FrameBlock +; +; Next, each group of 4 bytes describes a tile in the FrameBlock +; first byte = y offset +; second byte = x offset +; third byte = tile id (it's actually tile id - $31) +; fourth byte = tile properties (xflip/yflip/etc.) +FrameBlock01: + db $09 + db $00, $00, $2c, $00 + db $00, $08, $2d, $00 + db $00, $10, $2c, $20 + db $08, $00, $3c, $00 + db $08, $08, $3d, $00 + db $08, $10, $3c, $20 + db $10, $00, $2c, $40 + db $10, $08, $2d, $40 + db $10, $10, $2c, $60 + +FrameBlock02: + db $10 + db $00, $00, $20, $00 + db $00, $08, $21, $00 + db $00, $10, $21, $20 + db $00, $18, $20, $20 + db $08, $00, $30, $00 + db $08, $08, $31, $00 + db $08, $10, $31, $20 + db $08, $18, $30, $20 + db $10, $00, $30, $40 + db $10, $08, $31, $40 + db $10, $10, $31, $60 + db $10, $18, $30, $60 + db $18, $00, $20, $40 + db $18, $08, $21, $40 + db $18, $10, $21, $60 + db $18, $18, $20, $60 + +FrameBlock03: + db $04 + db $00, $00, $02, $00 + db $00, $08, $02, $20 + db $08, $00, $12, $00 + db $08, $08, $12, $20 + +FrameBlock04: + db $04 + db $00, $00, $06, $00 + db $00, $08, $07, $00 + db $08, $00, $16, $00 + db $08, $08, $17, $00 + +FrameBlock05: + db $04 + db $00, $00, $07, $20 + db $00, $08, $06, $20 + db $08, $00, $17, $20 + db $08, $08, $16, $20 + +FrameBlock06: + db $0c + db $00, $08, $23, $00 + db $08, $00, $32, $00 + db $08, $08, $33, $00 + db $00, $10, $23, $20 + db $08, $10, $33, $20 + db $08, $18, $32, $20 + db $10, $00, $32, $40 + db $10, $08, $33, $40 + db $18, $08, $23, $40 + db $10, $10, $33, $60 + db $10, $18, $32, $60 + db $18, $10, $23, $60 + +FrameBlock07: + db $10 + db $00, $00, $20, $00 + db $00, $08, $21, $00 + db $08, $00, $30, $00 + db $08, $08, $31, $00 + db $00, $10, $21, $20 + db $00, $18, $20, $20 + db $08, $10, $31, $20 + db $08, $18, $30, $20 + db $10, $00, $30, $40 + db $10, $08, $31, $40 + db $18, $00, $20, $40 + db $18, $08, $21, $40 + db $10, $10, $31, $60 + db $10, $18, $30, $60 + db $18, $10, $21, $60 + db $18, $18, $20, $60 + +FrameBlock08: + db $10 + db $00, $00, $20, $00 + db $00, $08, $21, $00 + db $08, $00, $30, $00 + db $08, $08, $31, $00 + db $00, $18, $21, $20 + db $00, $20, $20, $20 + db $08, $18, $31, $20 + db $08, $20, $30, $20 + db $18, $00, $30, $40 + db $18, $08, $31, $40 + db $20, $00, $20, $40 + db $20, $08, $21, $40 + db $18, $18, $31, $60 + db $18, $20, $30, $60 + db $20, $18, $21, $60 + db $20, $20, $20, $60 + +FrameBlock09: + db $0c + db $00, $00, $24, $00 + db $00, $08, $25, $00 + db $08, $00, $34, $00 + db $00, $18, $25, $20 + db $00, $20, $24, $20 + db $08, $20, $34, $20 + db $18, $00, $34, $40 + db $20, $00, $24, $40 + db $20, $08, $25, $40 + db $18, $20, $34, $60 + db $20, $18, $25, $60 + db $20, $20, $24, $60 + +FrameBlock0a: + db $0c + db $00, $00, $24, $00 + db $00, $08, $25, $00 + db $08, $00, $34, $00 + db $00, $20, $25, $20 + db $00, $28, $24, $20 + db $08, $28, $34, $20 + db $20, $00, $34, $40 + db $28, $00, $24, $40 + db $28, $08, $25, $40 + db $20, $28, $34, $60 + db $28, $20, $25, $60 + db $28, $28, $24, $60 + +FrameBlock0b: + db $04 + db $00, $00, $05, $00 + db $00, $08, $05, $20 + db $08, $00, $15, $00 + db $08, $08, $15, $20 + +FrameBlock0c: + db $04 + db $00, $00, $04, $00 + db $00, $08, $04, $20 + db $08, $00, $14, $00 + db $08, $08, $14, $20 + +FrameBlock0d: + db $08 + db $00, $00, $0c, $00 + db $00, $08, $0d, $00 + db $08, $00, $1c, $00 + db $08, $08, $1d, $00 + db $10, $00, $1d, $60 + db $10, $08, $1c, $60 + db $18, $00, $0d, $60 + db $18, $08, $0c, $60 + +FrameBlock0e: + db $04 + db $20, $00, $0c, $00 + db $20, $08, $0d, $00 + db $28, $00, $1c, $00 + db $28, $08, $1d, $00 + +FrameBlock0f: + db $04 + db $30, $00, $1d, $60 + db $30, $08, $1c, $60 + db $38, $00, $0d, $60 + db $38, $08, $0c, $60 + +FrameBlock10: + db $08 + db $00, $00, $0e, $00 + db $00, $08, $0f, $00 + db $08, $00, $1e, $00 + db $08, $08, $1f, $00 + db $00, $10, $0f, $20 + db $00, $18, $0e, $20 + db $08, $10, $1f, $20 + db $08, $18, $1e, $20 + +FrameBlock11: + db $08 + db $00, $00, $0e, $00 + db $00, $08, $0f, $00 + db $08, $00, $1e, $00 + db $08, $08, $1f, $00 + db $00, $20, $0f, $20 + db $00, $28, $0e, $20 + db $08, $20, $1f, $20 + db $08, $28, $1e, $20 + +FrameBlock12: + db $03 + db $00, $00, $37, $00 + db $08, $10, $37, $00 + db $00, $20, $37, $00 + +FrameBlock13: + db $04 + db $00, $00, $36, $00 + db $00, $08, $36, $20 + db $08, $00, $36, $40 + db $08, $08, $36, $60 + +FrameBlock14: + db $08 + db $00, $10, $28, $00 + db $00, $18, $28, $20 + db $08, $10, $38, $00 + db $08, $18, $38, $20 + db $00, $20, $36, $00 + db $00, $28, $36, $20 + db $08, $20, $36, $40 + db $08, $28, $36, $60 + +FrameBlock15: + db $0c + db $00, $00, $28, $00 + db $00, $08, $28, $20 + db $08, $00, $38, $00 + db $08, $08, $38, $20 + db $00, $10, $29, $00 + db $00, $18, $29, $20 + db $08, $10, $39, $00 + db $08, $18, $39, $20 + db $00, $20, $28, $00 + db $00, $28, $28, $20 + db $08, $20, $38, $00 + db $08, $28, $38, $20 + +FrameBlock16: + db $08 + db $00, $00, $29, $00 + db $00, $08, $29, $20 + db $08, $00, $39, $00 + db $08, $08, $39, $20 + db $00, $20, $29, $00 + db $00, $28, $29, $20 + db $08, $20, $39, $00 + db $08, $28, $39, $20 + +FrameBlock17: + db $04 + db $00, $00, $08, $00 + db $00, $08, $09, $00 + db $08, $00, $18, $00 + db $08, $08, $19, $00 + +FrameBlock18: + db $01 + db $18, $00, $45, $60 + +FrameBlock19: + db $02 + db $18, $08, $45, $00 + db $10, $08, $46, $60 + +FrameBlock1a: + db $02 + db $10, $10, $45, $60 + db $18, $10, $46, $00 + +FrameBlock1b: + db $02 + db $10, $18, $45, $00 + db $08, $18, $46, $60 + +FrameBlock1c: + db $02 + db $08, $20, $45, $60 + db $10, $20, $46, $00 + +FrameBlock1d: + db $02 + db $08, $28, $45, $00 + db $00, $28, $46, $60 + +FrameBlock1e: + db $02 + db $00, $30, $45, $60 + db $08, $30, $46, $00 + +FrameBlock75: + db $04 + db $00, $00, $43, $00 + db $00, $08, $43, $20 + db $08, $00, $22, $00 + db $08, $08, $43, $60 + +FrameBlock1f: + db $02 + db $00, $00, $03, $00 + db $00, $30, $03, $20 + +FrameBlock20: + db $06 + db $00, $00, $03, $00 + db $00, $30, $03, $20 + db $08, $08, $03, $00 + db $08, $28, $03, $20 + db $08, $00, $13, $00 + db $08, $30, $13, $20 + +FrameBlock21: + db $0c + db $00, $00, $03, $00 + db $00, $30, $03, $20 + db $08, $08, $03, $00 + db $08, $28, $03, $20 + db $08, $00, $13, $00 + db $08, $30, $13, $20 + db $10, $10, $03, $00 + db $10, $20, $03, $20 + db $10, $08, $13, $00 + db $10, $28, $13, $20 + db $10, $00, $03, $00 + db $10, $30, $03, $20 + +FrameBlock22: + db $13 + db $00, $00, $03, $00 + db $08, $00, $13, $00 + db $10, $00, $03, $00 + db $18, $00, $13, $00 + db $08, $08, $03, $00 + db $10, $08, $13, $00 + db $18, $08, $03, $00 + db $10, $10, $03, $00 + db $18, $10, $13, $00 + db $18, $18, $03, $00 + db $10, $20, $03, $20 + db $18, $20, $13, $20 + db $08, $28, $03, $20 + db $10, $28, $13, $20 + db $18, $28, $03, $20 + db $00, $30, $03, $20 + db $08, $30, $13, $20 + db $10, $30, $03, $20 + db $18, $30, $13, $20 + +FrameBlock23: + db $04 + db $00, $00, $0a, $00 + db $00, $08, $0b, $00 + db $08, $00, $1a, $00 + db $08, $08, $1b, $00 + +FrameBlock24: + db $02 + db $08, $00, $0a, $00 + db $08, $08, $0b, $00 + +FrameBlock25: + db $0c + db $10, $00, $0a, $00 + db $10, $08, $0b, $00 + db $18, $00, $1a, $00 + db $18, $08, $1b, $00 + db $00, $10, $0a, $00 + db $00, $18, $0b, $00 + db $08, $10, $1a, $00 + db $08, $18, $1b, $00 + db $08, $20, $0a, $00 + db $08, $28, $0b, $00 + db $10, $20, $1a, $00 + db $10, $28, $1b, $00 + +FrameBlock26: + db $04 + db $00, $10, $44, $00 + db $00, $18, $44, $20 + db $08, $10, $44, $40 + db $08, $18, $44, $60 + +FrameBlock27: + db $05 + db $08, $08, $44, $00 + db $08, $10, $44, $20 + db $10, $08, $44, $40 + db $10, $10, $44, $60 + db $00, $18, $47, $00 + +FrameBlock28: + db $06 + db $10, $00, $44, $00 + db $10, $08, $44, $20 + db $18, $00, $44, $40 + db $18, $08, $44, $60 + db $08, $10, $47, $00 + db $02, $16, $47, $00 + +FrameBlock29: + db $04 + db $18, $00, $47, $00 + db $12, $06, $47, $00 + db $0c, $0c, $47, $00 + db $06, $12, $47, $00 + +FrameBlock2a: + db $04 + db $00, $00, $44, $00 + db $00, $08, $44, $20 + db $08, $00, $44, $40 + db $08, $08, $44, $60 + +FrameBlock2b: + db $02 + db $06, $02, $47, $00 + db $00, $08, $47, $00 + +FrameBlock2c: + db $01 + db $a0, $00, $4d, $00 + +FrameBlock2d: + db $08 + db $00, $00, $26, $00 + db $00, $08, $27, $00 + db $08, $00, $36, $00 + db $08, $08, $37, $00 + db $10, $00, $28, $00 + db $10, $08, $29, $00 + db $18, $00, $38, $00 + db $18, $08, $39, $00 + +FrameBlock2e: + db $08 + db $00, $00, $27, $20 + db $00, $08, $26, $20 + db $08, $00, $37, $20 + db $08, $08, $36, $20 + db $10, $00, $29, $20 + db $10, $08, $28, $20 + db $18, $00, $39, $20 + db $18, $08, $38, $20 + +FrameBlock2f: + db $04 + db $00, $00, $0c, $00 + db $00, $08, $0d, $00 + db $08, $00, $0c, $40 + db $08, $08, $0d, $40 + +FrameBlock30: + db $04 + db $00, $00, $44, $00 + db $00, $08, $44, $20 + db $08, $00, $44, $40 + db $08, $08, $44, $60 + +FrameBlock31: + db $01 + db $00, $00, $45, $00 + +FrameBlock32: + db $07 + db $00, $00, $4d, $00 + db $00, $08, $2f, $00 + db $00, $10, $4d, $20 + db $08, $00, $4e, $00 + db $08, $08, $07, $00 + db $08, $10, $4e, $20 + db $10, $08, $3f, $00 + +FrameBlock33: + db $07 + db $00, $08, $3f, $40 + db $08, $00, $4e, $40 + db $08, $08, $07, $40 + db $08, $10, $4e, $60 + db $10, $00, $4d, $40 + db $10, $08, $2f, $40 + db $10, $10, $4d, $60 + +FrameBlock34: + db $01 + db $a0, $00, $00, $10 + +FrameBlock35: + db $06 + db $00, $00, $2a, $00 + db $00, $08, $2b, $00 + db $08, $00, $3a, $00 + db $10, $00, $3a, $40 + db $18, $00, $2a, $40 + db $18, $08, $2b, $40 + +FrameBlock36: + db $04 + db $00, $00, $00, $00 + db $00, $08, $01, $00 + db $08, $00, $10, $00 + db $08, $08, $11, $00 + +FrameBlock37: + db $04 + db $00, $00, $01, $a0 + db $00, $08, $00, $a0 + db $08, $00, $11, $a0 + db $08, $08, $10, $a0 + +FrameBlock38: + db $04 + db $00, $00, $0a, $00 + db $00, $08, $0b, $00 + db $08, $00, $1a, $00 + db $08, $08, $1b, $00 + +FrameBlock39: + db $04 + db $00, $00, $0b, $20 + db $00, $08, $0a, $20 + db $08, $00, $1b, $20 + db $08, $08, $1a, $20 + +FrameBlock3a: + db $04 + db $20, $00, $05, $00 + db $20, $08, $05, $20 + db $28, $00, $15, $00 + db $28, $08, $15, $20 + +FrameBlock3b: + db $05 + db $18, $00, $04, $00 + db $18, $08, $04, $20 + db $20, $00, $14, $00 + db $20, $08, $14, $20 + db $28, $04, $41, $00 + +FrameBlock3c: + db $06 + db $10, $00, $05, $00 + db $10, $08, $05, $20 + db $18, $00, $15, $00 + db $18, $08, $15, $20 + db $20, $04, $42, $00 + db $28, $04, $42, $00 + +FrameBlock3d: + db $07 + db $08, $00, $04, $00 + db $08, $08, $04, $20 + db $10, $00, $14, $00 + db $10, $08, $14, $20 + db $18, $04, $41, $00 + db $20, $04, $41, $00 + db $28, $04, $41, $00 + +FrameBlock3e: + db $08 + db $00, $00, $05, $00 + db $00, $08, $05, $20 + db $08, $00, $15, $00 + db $08, $08, $15, $20 + db $10, $04, $42, $00 + db $18, $04, $42, $00 + db $20, $04, $42, $00 + db $28, $04, $42, $00 + +FrameBlock3f: + db $08 + db $00, $00, $04, $00 + db $00, $08, $04, $20 + db $08, $00, $14, $00 + db $08, $08, $14, $20 + db $10, $04, $41, $00 + db $18, $04, $41, $00 + db $20, $04, $41, $00 + db $28, $04, $41, $00 + +FrameBlock40: + db $03 + db $00, $00, $3d, $00 + db $00, $08, $3d, $00 + db $08, $08, $3d, $00 + +FrameBlock41: + db $04 + db $00, $00, $06, $00 + db $00, $08, $06, $20 + db $08, $00, $16, $00 + db $08, $08, $17, $00 + +FrameBlock42: + db $0b + db $00, $10, $42, $00 + db $08, $00, $42, $00 + db $08, $08, $42, $00 + db $08, $10, $42, $00 + db $08, $18, $42, $00 + db $08, $20, $42, $00 + db $10, $10, $42, $00 + db $18, $08, $42, $00 + db $18, $18, $42, $00 + db $20, $00, $42, $00 + db $20, $20, $42, $00 + +FrameBlock43: + db $0b + db $00, $10, $41, $00 + db $08, $00, $41, $00 + db $08, $08, $41, $00 + db $08, $10, $41, $00 + db $08, $18, $41, $00 + db $08, $20, $41, $00 + db $10, $10, $41, $00 + db $18, $08, $41, $00 + db $18, $18, $41, $00 + db $20, $00, $41, $00 + db $20, $20, $41, $00 + +FrameBlock44: + db $04 + db $00, $00, $49, $00 + db $00, $28, $49, $00 + db $28, $00, $49, $00 + db $28, $28, $49, $00 + +FrameBlock45: + db $04 + db $00, $00, $49, $00 + db $00, $18, $49, $00 + db $18, $00, $49, $00 + db $18, $18, $49, $00 + +FrameBlock46: + db $04 + db $00, $00, $49, $00 + db $00, $08, $49, $00 + db $08, $00, $49, $00 + db $08, $08, $49, $00 + +FrameBlock47: + db $04 + db $00, $00, $43, $00 + db $00, $08, $43, $20 + db $08, $00, $43, $40 + db $08, $08, $43, $60 + +SmallBlackCircleFrameBlock: + db $04 + db $08, $08, $33, $00 + db $08, $10, $33, $20 + db $10, $08, $33, $40 + db $10, $10, $33, $60 + +LargeBlockCircleFrameBlock: + db $10 + db $00, $00, $22, $00 + db $00, $08, $23, $00 + db $00, $10, $23, $20 + db $00, $18, $22, $20 + db $08, $00, $32, $00 + db $08, $08, $43, $00 + db $08, $10, $43, $20 + db $08, $18, $32, $20 + db $10, $00, $32, $40 + db $10, $08, $43, $40 + db $10, $10, $43, $60 + db $10, $18, $32, $60 + db $18, $00, $22, $40 + db $18, $08, $23, $40 + db $18, $10, $23, $60 + db $18, $18, $22, $60 + +FrameBlock71: + db $10 + db $00, $00, $22, $00 + db $00, $08, $3b, $00 + db $00, $10, $23, $20 + db $00, $18, $22, $20 + db $08, $00, $32, $00 + db $08, $08, $43, $00 + db $08, $10, $43, $20 + db $08, $18, $32, $20 + db $10, $00, $32, $40 + db $10, $08, $43, $40 + db $10, $10, $43, $60 + db $10, $18, $32, $60 + db $18, $00, $22, $40 + db $18, $08, $23, $40 + db $18, $10, $23, $60 + db $18, $18, $22, $60 + +FrameBlock72: + db $0c + db $00, $00, $32, $00 + db $00, $08, $43, $00 + db $00, $10, $43, $20 + db $00, $18, $32, $20 + db $08, $00, $32, $40 + db $08, $08, $43, $40 + db $08, $10, $43, $60 + db $08, $18, $32, $60 + db $10, $00, $22, $40 + db $10, $08, $23, $40 + db $10, $10, $23, $60 + db $10, $18, $22, $60 + +FrameBlock73: + db $08 + db $00, $00, $32, $40 + db $00, $08, $43, $40 + db $00, $10, $43, $60 + db $00, $18, $32, $60 + db $08, $00, $22, $40 + db $08, $08, $23, $40 + db $08, $10, $23, $60 + db $08, $18, $22, $60 + +FrameBlock74: + db $04 + db $00, $00, $22, $40 + db $00, $08, $23, $40 + db $00, $10, $23, $60 + db $00, $18, $22, $60 + +FrameBlock4a: + db $04 + db $08, $18, $4c, $20 + db $20, $08, $4b, $00 + db $30, $20, $4c, $00 + db $18, $30, $4b, $40 + +FrameBlock4b: + db $04 + db $00, $18, $4c, $00 + db $20, $00, $4b, $40 + db $38, $20, $4c, $20 + db $18, $38, $4b, $00 + +FrameBlock4c: + db $04 + db $10, $08, $4a, $40 + db $30, $10, $4a, $00 + db $28, $30, $4a, $20 + db $08, $28, $4a, $60 + +FrameBlock4d: + db $04 + db $08, $00, $4a, $20 + db $38, $08, $4a, $60 + db $30, $38, $4a, $40 + db $00, $30, $4a, $00 + +FrameBlock4e: + db $08 + db $00, $30, $44, $00 + db $00, $38, $44, $20 + db $08, $30, $44, $40 + db $08, $38, $44, $60 + db $26, $0a, $44, $00 + db $26, $12, $44, $20 + db $2e, $0a, $44, $40 + db $2e, $12, $44, $60 + +FrameBlock4f: + db $0c + db $0e, $22, $44, $00 + db $0e, $2a, $44, $20 + db $16, $22, $44, $40 + db $16, $2a, $44, $60 + db $06, $32, $47, $00 + db $00, $38, $47, $00 + db $1a, $16, $44, $00 + db $1a, $1e, $44, $20 + db $22, $16, $44, $40 + db $22, $1e, $44, $60 + db $30, $08, $47, $00 + db $2a, $0e, $47, $00 + +FrameBlock50: + db $08 + db $06, $32, $47, $00 + db $00, $38, $47, $00 + db $12, $26, $47, $00 + db $0c, $2c, $47, $00 + db $1e, $1a, $47, $00 + db $18, $20, $47, $00 + db $2a, $0e, $47, $00 + db $24, $14, $47, $00 + +FrameBlock51: + db $08 + db $00, $00, $35, $20 + db $08, $00, $35, $40 + db $10, $00, $35, $00 + db $18, $00, $35, $60 + db $00, $40, $35, $00 + db $08, $40, $35, $60 + db $10, $40, $35, $20 + db $18, $40, $35, $40 + +FrameBlock52: + db $04 + db $00, $00, $2a, $00 + db $00, $08, $2b, $00 + db $08, $00, $3a, $00 + db $08, $08, $3b, $00 + +FrameBlock53: + db $03 + db $00, $00, $3f, $00 + db $00, $08, $3f, $00 + db $08, $06, $3f, $00 + +FrameBlock54: + db $04 + db $00, $00, $0e, $00 + db $00, $08, $0e, $20 + db $08, $00, $0f, $00 + db $08, $08, $0f, $20 + +FrameBlock55: + db $03 + db $10, $00, $2c, $00 + db $10, $08, $3c, $00 + db $10, $10, $2d, $00 + +FrameBlock56: + db $06 + db $10, $10, $31, $00 + db $10, $18, $31, $00 + db $08, $10, $2c, $00 + db $08, $18, $3c, $00 + db $08, $20, $2d, $00 + db $10, $20, $2d, $00 + +FrameBlock57: + db $09 + db $08, $20, $31, $00 + db $10, $20, $31, $00 + db $08, $28, $31, $00 + db $10, $28, $31, $00 + db $00, $20, $2c, $00 + db $00, $28, $3c, $00 + db $00, $30, $2d, $00 + db $08, $30, $2d, $00 + db $10, $30, $2d, $00 + +FrameBlock58: + db $07 + db $00, $00, $46, $00 + db $08, $02, $47, $00 + db $10, $03, $48, $00 + db $18, $04, $48, $00 + db $20, $05, $48, $00 + db $28, $05, $48, $00 + db $30, $05, $48, $00 + +FrameBlock59: + db $01 + db $00, $00, $42, $00 + +FrameBlock5a: + db $0c + db $00, $00, $24, $00 + db $00, $08, $25, $00 + db $08, $00, $34, $00 + db $00, $10, $25, $20 + db $00, $18, $24, $20 + db $08, $18, $34, $20 + db $10, $00, $34, $40 + db $18, $00, $24, $40 + db $18, $08, $25, $40 + db $10, $18, $34, $60 + db $18, $10, $25, $60 + db $18, $18, $24, $60 + +FrameBlock5b: + db $04 + db $00, $00, $43, $00 + db $00, $08, $43, $20 + db $08, $00, $43, $40 + db $08, $08, $43, $60 + +FrameBlock5c: + db $08 + db $00, $00, $49, $00 + db $02, $08, $49, $00 + db $18, $00, $49, $00 + db $10, $10, $49, $00 + db $08, $00, $43, $00 + db $08, $08, $43, $20 + db $10, $00, $43, $40 + db $10, $08, $43, $60 + +FrameBlock5d: + db $0b + db $00, $00, $49, $00 + db $18, $02, $49, $00 + db $14, $10, $49, $00 + db $08, $00, $43, $00 + db $00, $08, $43, $20 + db $10, $00, $43, $40 + db $10, $08, $43, $60 + db $04, $08, $43, $00 + db $04, $10, $43, $20 + db $0c, $08, $43, $40 + db $0c, $10, $43, $60 + +FrameBlock5e: + db $0f + db $00, $08, $49, $00 + db $08, $10, $49, $00 + db $20, $00, $49, $00 + db $08, $00, $43, $00 + db $08, $08, $43, $20 + db $10, $00, $43, $40 + db $10, $08, $43, $60 + db $10, $10, $43, $00 + db $10, $18, $43, $20 + db $18, $10, $43, $40 + db $18, $18, $43, $60 + db $20, $08, $43, $00 + db $20, $10, $43, $20 + db $28, $08, $43, $40 + db $28, $10, $43, $60 + +FrameBlock5f: + db $04 + db $00, $00, $49, $00 + db $00, $10, $49, $00 + db $00, $20, $49, $00 + db $00, $30, $49, $00 + +FrameBlock60: + db $08 + db $00, $00, $49, $00 + db $00, $10, $49, $00 + db $00, $20, $49, $00 + db $00, $30, $49, $00 + db $08, $08, $49, $00 + db $08, $18, $49, $00 + db $08, $28, $49, $00 + db $08, $38, $49, $00 + +FrameBlock61: + db $0c + db $00, $00, $49, $00 + db $00, $10, $49, $00 + db $00, $20, $49, $00 + db $00, $30, $49, $00 + db $08, $08, $49, $00 + db $08, $18, $49, $00 + db $08, $28, $49, $00 + db $08, $38, $49, $00 + db $10, $00, $49, $00 + db $10, $10, $49, $00 + db $10, $20, $49, $00 + db $10, $30, $49, $00 + +FrameBlock62: + db $0f + db $00, $00, $49, $00 + db $00, $10, $49, $00 + db $00, $20, $49, $00 + db $00, $30, $49, $00 + db $08, $08, $49, $00 + db $08, $18, $49, $00 + db $08, $28, $49, $00 + db $08, $38, $49, $00 + db $10, $00, $49, $00 + db $10, $10, $49, $00 + db $10, $20, $49, $00 + db $10, $30, $49, $00 + db $18, $08, $49, $00 + db $18, $18, $49, $00 + db $18, $28, $49, $00 + db $18, $38, $49, $00 ; unused + +FrameBlock63: + db $06 + db $10, $00, $26, $00 + db $10, $08, $27, $00 + db $08, $10, $26, $00 + db $08, $18, $27, $00 + db $00, $20, $26, $00 + db $00, $28, $27, $00 + +FrameBlock64: + db $06 + db $18, $00, $27, $00 + db $10, $08, $26, $00 + db $10, $10, $27, $00 + db $08, $18, $26, $00 + db $08, $20, $27, $00 + db $00, $28, $26, $00 + +FrameBlock65: + db $06 + db $00, $00, $1c, $00 + db $00, $08, $1d, $00 + db $10, $00, $1c, $00 + db $10, $08, $1d, $00 + db $20, $00, $1c, $00 + db $20, $08, $1d, $00 + +FrameBlock66: + db $02 + db $00, $00, $03, $00 + db $08, $00, $13, $00 + +FrameBlock67: + db $01 + db $00, $00, $03, $00 + +FrameBlock68: + db $04 + db $00, $00, $03, $00 + db $00, $08, $03, $20 + db $08, $00, $13, $00 + db $08, $08, $13, $20 + +FrameBlock69: + db $01 + db $00, $00, $06, $00 + +FrameBlock6a: + db $08 + db $00, $00, $2e, $00 + db $00, $30, $2e, $20 + db $30, $00, $2e, $40 + db $30, $30, $2e, $60 + db $00, $18, $2f, $00 + db $30, $18, $2f, $40 + db $18, $00, $3e, $00 + db $18, $30, $3e, $20 + +FrameBlock6b: + db $08 + db $00, $00, $2e, $00 + db $00, $20, $2e, $20 + db $20, $00, $2e, $40 + db $20, $20, $2e, $60 + db $00, $10, $2f, $00 + db $20, $10, $2f, $40 + db $10, $00, $3e, $00 + db $10, $20, $3e, $20 + +FrameBlock6c: + db $08 + db $00, $00, $2e, $00 + db $00, $10, $2e, $20 + db $10, $00, $2e, $40 + db $10, $10, $2e, $60 + db $00, $08, $2f, $00 + db $10, $08, $2f, $40 + db $08, $00, $3e, $00 + db $08, $10, $3e, $20 + +FrameBlock6d: + db $02 + db $00, $00, $1e, $00 + db $00, $08, $1f, $00 + +FrameBlock6e: + db $04 + db $00, $00, $48, $00 + db $00, $08, $48, $20 + db $08, $00, $12, $00 + db $08, $08, $12, $20 + +FrameBlock6f: + db $04 + db $00, $00, $4a, $00 + db $00, $08, $07, $00 + db $08, $00, $16, $00 + db $08, $08, $17, $00 + +FrameBlock70: + db $04 + db $00, $00, $07, $20 + db $00, $08, $4a, $20 + db $08, $00, $17, $20 + db $08, $08, $16, $20 + +FrameBlock76: + db $07 + db $00, $10, $2f, $00 + db $01, $08, $2f, $00 + db $01, $18, $2f, $00 + db $02, $00, $2e, $00 + db $02, $20, $2e, $20 + db $0a, $00, $3e, $00 + db $0a, $20, $3e, $20 + +FrameBlock77: + db $04 + db $00, $02, $4b, $00 + db $00, $0a, $4c, $00 + db $08, $00, $4c, $60 + db $08, $08, $4b, $60 + +FrameBlock78: + db $01 + db $00, $00, $4d, $00 + +FrameBlock79: + db $01 + db $00, $00, $4e, $00 + +FrameBlockBaseCoords: + db $10, $68 + db $10, $70 + db $10, $78 + db $10, $80 + db $10, $88 + db $10, $90 + db $10, $98 + db $18, $68 + db $18, $70 + db $18, $78 + db $34, $28 + db $18, $80 + db $18, $88 + db $18, $98 + db $20, $68 + db $20, $70 + db $20, $78 + db $20, $80 + db $20, $88 + db $20, $90 + db $20, $98 + db $28, $68 + db $28, $70 + db $28, $78 + db $28, $80 + db $28, $88 + db $30, $68 + db $30, $70 + db $30, $78 + db $30, $80 + db $30, $90 + db $30, $98 + db $38, $68 + db $38, $78 + db $38, $80 + db $38, $88 + db $40, $68 + db $40, $70 + db $40, $78 + db $40, $80 + db $40, $88 + db $40, $98 + db $10, $60 + db $18, $60 + db $20, $60 + db $28, $60 + db $30, $60 + db $40, $60 + db $58, $28 + db $43, $38 + db $33, $48 + db $20, $58 + db $32, $78 + db $58, $58 + db $2C, $6C + db $34, $80 + db $48, $70 + db $42, $36 + db $38, $44 + db $40, $52 + db $48, $60 + db $3E, $6E + db $28, $7C + db $28, $8A + db $50, $3C + db $48, $50 + db $40, $64 + db $38, $38 + db $50, $30 + db $50, $38 + db $50, $40 + db $50, $48 + db $50, $50 + db $48, $58 + db $50, $44 + db $48, $48 + db $48, $4C + db $40, $50 + db $40, $54 + db $38, $58 + db $38, $5C + db $30, $64 + db $48, $40 + db $48, $39 + db $24, $88 + db $24, $70 + db $1C, $70 + db $1C, $88 + db $34, $68 + db $34, $88 + db $68, $50 + db $60, $50 + db $68, $60 + db $58, $50 + db $60, $60 + db $68, $40 + db $40, $40 + db $38, $40 + db $0B, $60 + db $44, $48 + db $40, $14 + db $48, $1C + db $50, $24 + db $4C, $24 + db $10, $62 + db $12, $62 + db $12, $60 + db $20, $72 + db $22, $72 + db $22, $70 + db $28, $62 + db $50, $0A + db $52, $0A + db $38, $30 + db $40, $48 + db $30, $48 + db $40, $30 + db $30, $40 + db $38, $48 + db $40, $4A + db $48, $4B + db $50, $4C + db $58, $4D + db $60, $4D + db $68, $4D + db $38, $10 + db $50, $10 + db $38, $28 + db $48, $18 + db $40, $20 + db $48, $20 + db $40, $3C + db $38, $50 + db $28, $64 + db $1C, $90 + db $24, $80 + db $2C, $70 + db $30, $38 + db $10, $50 + db $3C, $40 + db $40, $58 + db $30, $58 + db $58, $48 + db $50, $58 + db $48, $68 + db $40, $18 + db $28, $58 + db $40, $38 + db $48, $38 + db $08, $70 + db $44, $1C + db $3C, $58 + db $38, $60 + db $08, $60 + db $38, $70 + db $38, $6C + db $38, $64 + db $1C, $74 + db $2E, $74 + db $34, $50 + db $2F, $60 + db $31, $70 + db $4C, $30 + db $3B, $40 + db $2D, $50 + db $26, $60 + db $2D, $70 + db $28, $50 + db $1E, $60 + db $29, $70 + db $16, $60 + db $14, $58 + db $12, $54 + db $14, $50 + db $18, $4C + db $1C, $48 + db $48, $28 + +FrameBlock00: + db $00, $00 diff --git a/data/battle_anims/special_effect_pointers.asm b/data/battle_anims/special_effect_pointers.asm new file mode 100644 index 00000000..ae60abb8 --- /dev/null +++ b/data/battle_anims/special_effect_pointers.asm @@ -0,0 +1,47 @@ +special_effect: MACRO + db \1 + dw \2 +ENDM + +SpecialEffectPointers: + ; special effect id, effect routine address + special_effect SE_DARK_SCREEN_FLASH, AnimationFlashScreen ; $FE + special_effect SE_DARK_SCREEN_PALETTE, AnimationDarkScreenPalette ; $FD + special_effect SE_RESET_SCREEN_PALETTE, AnimationResetScreenPalette ; $FC + special_effect SE_SHAKE_SCREEN, AnimationShakeScreen ; $FB + special_effect SE_WATER_DROPLETS_EVERYWHERE, AnimationWaterDropletsEverywhere ; $FA + special_effect SE_DARKEN_MON_PALETTE, AnimationDarkenMonPalette ; $F9 + special_effect SE_FLASH_SCREEN_LONG, AnimationFlashScreenLong ; $F8 + special_effect SE_SLIDE_MON_UP, AnimationSlideMonUp ; $F7 + special_effect SE_SLIDE_MON_DOWN, AnimationSlideMonDown ; $F6 + special_effect SE_FLASH_MON_PIC, AnimationFlashMonPic ; $F5 + special_effect SE_SLIDE_MON_OFF, AnimationSlideMonOff ; $F4 + special_effect SE_BLINK_MON, AnimationBlinkMon ; $F3 + special_effect SE_MOVE_MON_HORIZONTALLY, AnimationMoveMonHorizontally ; $F2 + special_effect SE_RESET_MON_POSITION, AnimationResetMonPosition ; $F1 + special_effect SE_LIGHT_SCREEN_PALETTE, AnimationLightScreenPalette ; $F0 + special_effect SE_HIDE_MON_PIC, AnimationHideMonPic ; $EF + special_effect SE_SQUISH_MON_PIC, AnimationSquishMonPic ; $EE + special_effect SE_SHOOT_BALLS_UPWARD, AnimationShootBallsUpward ; $ED + special_effect SE_SHOOT_MANY_BALLS_UPWARD, AnimationShootManyBallsUpward ; $EC + special_effect SE_BOUNCE_UP_AND_DOWN, AnimationBoundUpAndDown ; $EB + special_effect SE_MINIMIZE_MON, AnimationMinimizeMon ; $EA + special_effect SE_SLIDE_MON_DOWN_AND_HIDE, AnimationSlideMonDownAndHide ; $E9 + special_effect SE_TRANSFORM_MON, AnimationTransformMon ; $E8 + special_effect SE_LEAVES_FALLING, AnimationLeavesFalling ; $E7 + special_effect SE_PETALS_FALLING, AnimationPetalsFalling ; $E6 + special_effect SE_SLIDE_MON_HALF_OFF, AnimationSlideMonHalfOff ; $E5 + special_effect SE_SHAKE_ENEMY_HUD, AnimationShakeEnemyHUD ; $E4 + special_effect SE_SHAKE_ENEMY_HUD_2, AnimationShakeEnemyHUD ; unused--same pointer as SE_SHAKE_ENEMY_HUD ($E4) + special_effect SE_SPIRAL_BALLS_INWARD, AnimationSpiralBallsInward ; $E2 + special_effect SE_DELAY_ANIMATION_10, AnimationDelay10 ; $E1 + special_effect SE_FLASH_ENEMY_MON_PIC, AnimationFlashEnemyMonPic ; unused--same as SE_FLASH_MON_PIC ($F5), but for the enemy mon + special_effect SE_HIDE_ENEMY_MON_PIC, AnimationHideEnemyMonPic ; $DF + special_effect SE_BLINK_ENEMY_MON, AnimationBlinkEnemyMon ; $DE + special_effect SE_SHOW_MON_PIC, AnimationShowMonPic ; $DD + special_effect SE_SHOW_ENEMY_MON_PIC, AnimationShowEnemyMonPic ; $DC + special_effect SE_SLIDE_ENEMY_MON_OFF, AnimationSlideEnemyMonOff ; $DB + special_effect SE_SHAKE_BACK_AND_FORTH, AnimationShakeBackAndForth ; $DA + special_effect SE_SUBSTITUTE_MON, AnimationSubstitute ; $D9 + special_effect SE_WAVY_SCREEN, AnimationWavyScreen ; $D8 + db -1 ; end diff --git a/data/battle_anims/special_effects.asm b/data/battle_anims/special_effects.asm new file mode 100644 index 00000000..50c89ffb --- /dev/null +++ b/data/battle_anims/special_effects.asm @@ -0,0 +1,32 @@ +anim_special_effect: MACRO + db \1 + dw \2 +ENDM + +AnimationIdSpecialEffects: + ; animation id, effect routine address + anim_special_effect MEGA_PUNCH, AnimationFlashScreen + anim_special_effect GUILLOTINE, AnimationFlashScreen + anim_special_effect MEGA_KICK, AnimationFlashScreen + anim_special_effect HEADBUTT, AnimationFlashScreen + anim_special_effect TAIL_WHIP, TailWhipAnimationUnused + anim_special_effect GROWL, DoGrowlSpecialEffects + anim_special_effect DISABLE, AnimationFlashScreen + anim_special_effect BLIZZARD, DoBlizzardSpecialEffects + anim_special_effect BUBBLEBEAM, AnimationFlashScreen + anim_special_effect HYPER_BEAM, FlashScreenEveryFourFrameBlocks + anim_special_effect THUNDERBOLT, FlashScreenEveryEightFrameBlocks + anim_special_effect REFLECT, AnimationFlashScreen + anim_special_effect SELFDESTRUCT, DoExplodeSpecialEffects + anim_special_effect SPORE, AnimationFlashScreen + anim_special_effect EXPLOSION, DoExplodeSpecialEffects + anim_special_effect ROCK_SLIDE, DoRockSlideSpecialEffects + anim_special_effect TRADE_BALL_DROP_ANIM, TradeHidePokemon + anim_special_effect TRADE_BALL_SHAKE_ANIM, TradeShakePokeball + anim_special_effect TRADE_BALL_TILT_ANIM, TradeJumpPokeball + anim_special_effect TOSS_ANIM, DoBallTossSpecialEffects + anim_special_effect SHAKE_ANIM, DoBallShakeSpecialEffects + anim_special_effect POOF_ANIM, DoPoofSpecialEffects + anim_special_effect GREATTOSS_ANIM, DoBallTossSpecialEffects + anim_special_effect ULTRATOSS_ANIM, DoBallTossSpecialEffects + db -1 ; end diff --git a/data/battle_anims/subanimations.asm b/data/battle_anims/subanimations.asm new file mode 100644 index 00000000..2d7a6807 --- /dev/null +++ b/data/battle_anims/subanimations.asm @@ -0,0 +1,944 @@ +SubanimationPointers: + dw Subanimation00 + dw Subanimation01 + dw Subanimation02 + dw Subanimation03 + dw Subanimation04 + dw Subanimation05 + dw Subanimation06 + dw Subanimation07 + dw Subanimation08 + dw Subanimation09 + dw Subanimation0a + dw Subanimation0b + dw Subanimation0c + dw Subanimation0d + dw Subanimation0e + dw Subanimation0f + dw Subanimation10 + dw Subanimation11 + dw Subanimation12 + dw Subanimation13 + dw Subanimation14 + dw Subanimation15 + dw Subanimation16 + dw Subanimation17 + dw Subanimation18 + dw Subanimation19 + dw Subanimation1a + dw Subanimation1b + dw Subanimation1c + dw Subanimation1d + dw Subanimation1e + dw Subanimation1f + dw Subanimation20 + dw Subanimation21 + dw Subanimation22 + dw Subanimation23 + dw Subanimation24 + dw Subanimation25 + dw Subanimation26 + dw Subanimation27 + dw Subanimation28 + dw Subanimation29 + dw Subanimation2a + dw Subanimation2b + dw Subanimation2c + dw Subanimation2d + dw Subanimation2e + dw Subanimation2f + dw Subanimation30 + dw Subanimation31 + dw Subanimation32 + dw Subanimation33 + dw Subanimation34 + dw Subanimation35 + dw Subanimation36 + dw Subanimation37 + dw Subanimation38 + dw Subanimation39 + dw Subanimation3a + dw Subanimation3b + dw Subanimation3c + dw Subanimation3d + dw Subanimation3e + dw Subanimation3f + dw Subanimation40 + dw Subanimation41 + dw Subanimation42 + dw Subanimation43 + dw Subanimation44 + dw Subanimation45 + dw Subanimation46 + dw Subanimation47 + dw Subanimation48 + dw Subanimation49 + dw Subanimation4a + dw Subanimation4b + dw Subanimation4c + dw Subanimation4d + dw Subanimation4e + dw Subanimation4f + dw Subanimation50 + dw Subanimation51 + dw Subanimation52 + dw Subanimation53 + dw Subanimation54 + dw Subanimation55 + +Subanimation04: + db $43 + db $02, $1a, $00 + db $02, $10, $00 + db $02, $03, $00 + +Subanimation05: + db $41 + db $02, $10, $00 + +Subanimation08: + db $0b + db $03, $30, $00 + db $03, $44, $00 + db $03, $94, $00 + db $03, $60, $00 + db $03, $76, $00 + db $03, $9f, $00 + db $03, $8d, $00 + db $03, $a0, $00 + db $03, $1a, $00 + db $03, $a1, $00 + db $03, $34, $00 + +Subanimation07: + db $0b + db $03, $30, $00 + db $03, $a2, $00 + db $03, $31, $00 + db $03, $a3, $00 + db $03, $32, $00 + db $03, $a4, $00 + db $03, $92, $00 + db $03, $a5, $00 + db $03, $15, $00 + db $03, $a6, $00 + db $03, $34, $00 + +Subanimation06: + db $0b + db $03, $30, $00 + db $03, $a2, $00 + db $03, $93, $00 + db $03, $61, $00 + db $03, $73, $00 + db $03, $a7, $00 + db $03, $33, $00 + db $03, $a8, $00 + db $03, $0e, $00 + db $03, $a9, $00 + db $03, $34, $00 + +Subanimation09: + db $04 + db $03, $21, $04 + db $04, $21, $04 + db $03, $21, $04 + db $05, $21, $04 + +Subanimation0a: + db $46 + db $06, $1b, $00 + db $07, $1b, $00 + db $08, $36, $00 + db $09, $36, $00 + db $0a, $15, $00 + db $0a, $15, $00 + +Subanimation0b: + db $04 + db $01, $2d, $00 + db $03, $2f, $00 + db $03, $35, $00 + db $03, $4d, $00 + +Subanimation55: + db $41 + db $01, $9d, $00 + +Subanimation11: + db $4c + db $0b, $26, $00 + db $0c, $26, $00 + db $0b, $26, $00 + db $0c, $26, $00 + db $0b, $28, $00 + db $0c, $28, $00 + db $0b, $28, $00 + db $0c, $28, $00 + db $0b, $27, $00 + db $0c, $27, $00 + db $0b, $27, $00 + db $0c, $27, $00 + +Subanimation2b: + db $4b + db $0d, $03, $03 + db $0e, $03, $03 + db $0f, $03, $00 + db $0d, $11, $00 + db $0d, $11, $00 + db $0d, $37, $00 + db $0d, $37, $00 + db $10, $21, $00 + db $10, $21, $00 + db $11, $1b, $00 + db $11, $1b, $00 + +Subanimation2c: + db $4c + db $12, $01, $00 + db $12, $0f, $00 + db $12, $1b, $00 + db $12, $25, $00 + db $13, $38, $00 + db $13, $38, $02 + db $14, $38, $00 + db $14, $38, $02 + db $15, $38, $00 + db $15, $38, $00 + db $16, $38, $00 + db $16, $38, $00 + +Subanimation12: + db $69 + db $17, $30, $00 + db $17, $39, $00 + db $17, $3a, $00 + db $17, $3b, $00 + db $17, $3c, $00 + db $17, $3d, $00 + db $17, $3e, $00 + db $17, $3f, $00 + db $17, $1f, $00 + +Subanimation00: + db $41 + db $01, $17, $00 + +Subanimation01: + db $42 + db $01, $0f, $00 + db $01, $1d, $00 + +Subanimation02: + db $43 + db $01, $12, $00 + db $01, $15, $00 + db $01, $1c, $00 + +Subanimation03: + db $44 + db $01, $0b, $00 + db $01, $11, $00 + db $01, $18, $00 + db $01, $1d, $00 + +Subanimation0c: + db $43 + db $0c, $20, $00 + db $0c, $21, $00 + db $0c, $23, $00 + +Subanimation0d: + db $46 + db $0c, $20, $02 + db $0c, $15, $00 + db $0c, $21, $02 + db $0c, $17, $00 + db $0c, $23, $02 + db $0c, $19, $00 + +Subanimation0e: + db $49 + db $0c, $20, $02 + db $0c, $15, $02 + db $0c, $07, $00 + db $0c, $21, $02 + db $0c, $17, $02 + db $0c, $09, $00 + db $0c, $23, $02 + db $0c, $19, $02 + db $0c, $0c, $00 + +Subanimation1f: + db $85 + db $0c, $30, $03 + db $0c, $40, $03 + db $0c, $41, $03 + db $0c, $42, $03 + db $0c, $21, $00 + +Subanimation2e: + db $2e + db $18, $43, $02 + db $75, $52, $04 + db $19, $43, $02 + db $75, $63, $04 + db $1a, $43, $02 + db $75, $4d, $04 + db $1b, $43, $02 + db $75, $97, $04 + db $1c, $43, $02 + db $75, $98, $04 + db $1d, $43, $02 + db $75, $58, $04 + db $1e, $43, $02 + db $75, $1b, $00 + +Subanimation2f: + db $44 + db $1f, $24, $00 + db $20, $20, $00 + db $21, $1a, $00 + db $22, $15, $00 + +Subanimation30: + db $52 + db $23, $00, $02 + db $23, $02, $02 + db $23, $04, $00 + db $23, $07, $02 + db $23, $02, $02 + db $23, $04, $00 + db $23, $0e, $02 + db $23, $02, $02 + db $23, $0c, $00 + db $25, $07, $00 + db $25, $0e, $00 + db $25, $15, $00 + db $24, $24, $02 + db $23, $1c, $02 + db $23, $23, $00 + db $23, $21, $02 + db $24, $28, $00 + db $24, $28, $00 + +Subanimation0f: + db $4c + db $26, $0e, $02 + db $26, $16, $02 + db $26, $1c, $00 + db $27, $0e, $02 + db $27, $16, $02 + db $27, $1c, $00 + db $28, $0e, $02 + db $28, $16, $02 + db $28, $1c, $00 + db $29, $0e, $02 + db $29, $16, $02 + db $29, $1c, $00 + +Subanimation16: + db $4c + db $2a, $05, $00 + db $2b, $05, $02 + db $2b, $0c, $02 + db $2a, $11, $04 + db $2b, $11, $02 + db $2b, $17, $02 + db $2a, $1b, $04 + db $2b, $1b, $02 + db $2b, $20, $02 + db $2a, $2f, $04 + db $2c, $00, $02 + db $2c, $00, $00 + +Subanimation10: + db $88 + db $2d, $44, $00 + db $2e, $45, $00 + db $2d, $46, $00 + db $2e, $47, $00 + db $2d, $48, $00 + db $2e, $49, $00 + db $2d, $2f, $00 + db $2e, $1a, $00 + +Subanimation31: + db $2a + db $2f, $46, $00 + db $2f, $4a, $00 + db $2f, $4b, $00 + db $2f, $4c, $00 + db $2f, $4d, $00 + db $2f, $4e, $00 + db $2f, $4f, $00 + db $2f, $50, $00 + db $2f, $2e, $00 + db $2f, $51, $00 + +Subanimation13: + db $86 + db $30, $31, $00 + db $30, $32, $00 + db $30, $92, $00 + db $30, $0e, $00 + db $30, $0f, $00 + db $30, $10, $00 + +Subanimation14: + db $49 + db $30, $10, $00 + db $30, $10, $03 + db $31, $1c, $04 + db $31, $21, $04 + db $31, $26, $00 + db $30, $10, $02 + db $31, $1d, $04 + db $31, $22, $04 + db $31, $27, $00 + +Subanimation41: + db $85 + db $03, $31, $00 + db $03, $32, $00 + db $03, $92, $00 + db $03, $0e, $00 + db $03, $10, $00 + +Subanimation42: + db $43 + db $48, $08, $00 + db $49, $08, $00 + db $5a, $08, $00 + +Subanimation15: + db $22 + db $35, $52, $00 + db $35, $53, $00 + +Subanimation17: + db $44 + db $36, $54, $00 + db $36, $55, $00 + db $37, $56, $00 + db $37, $57, $00 + +Subanimation18: + db $a4 + db $36, $54, $00 + db $36, $55, $00 + db $37, $56, $00 + db $37, $57, $00 + +Subanimation40: + db $46 + db $17, $54, $00 + db $17, $55, $00 + db $17, $0e, $00 + db $17, $56, $00 + db $17, $57, $00 + db $17, $13, $00 + +Subanimation19: + db $8c + db $38, $31, $00 + db $39, $31, $00 + db $38, $32, $00 + db $39, $32, $00 + db $38, $92, $00 + db $39, $92, $00 + db $38, $0e, $00 + db $39, $0e, $00 + db $38, $0f, $00 + db $39, $0f, $00 + db $38, $10, $00 + db $39, $10, $00 + +Subanimation1a: + db $50 + db $3a, $08, $00 + db $3b, $08, $00 + db $3c, $08, $00 + db $3d, $08, $00 + db $3e, $08, $00 + db $3f, $08, $00 + db $3e, $08, $00 + db $3f, $08, $00 + db $3a, $0b, $00 + db $3b, $0b, $00 + db $3c, $0b, $00 + db $3d, $0b, $00 + db $3e, $0b, $00 + db $3f, $0b, $00 + db $3e, $0b, $00 + db $3f, $0b, $00 + +Subanimation1b: + db $84 + db $40, $31, $00 + db $40, $32, $00 + db $40, $92, $00 + db $40, $15, $00 + +Subanimation1c: + db $43 + db $41, $58, $00 + db $41, $59, $00 + db $41, $21, $00 + +Subanimation1d: + db $af + db $24, $9a, $00 + db $23, $1b, $02 + db $24, $22, $00 + db $23, $16, $02 + db $23, $1d, $02 + db $24, $98, $00 + db $25, $2c, $04 + db $25, $2a, $04 + db $25, $99, $04 + db $25, $62, $04 + db $25, $99, $04 + db $25, $62, $04 + db $25, $99, $04 + db $25, $62, $04 + db $25, $99, $03 + +Subanimation1e: + db $01 + db $25, $75, $00 + +Subanimation20: + db $42 + db $42, $07, $00 + db $43, $07, $00 + +Subanimation21: + db $43 + db $44, $00, $00 + db $45, $08, $00 + db $46, $10, $02 + +Subanimation22: + db $8b + db $47, $10, $00 + db $47, $56, $00 + db $47, $07, $00 + db $47, $aa, $00 + db $47, $ab, $00 + db $47, $ac, $00 + db $47, $ad, $00 + db $47, $ae, $00 + db $47, $af, $00 + db $47, $89, $00 + db $47, $b0, $00 + +Subanimation2d: + db $66 + db $44, $64, $00 + db $45, $65, $00 + db $46, $66, $00 + db $47, $66, $00 + db $47, $66, $00 + db $47, $66, $00 + +Subanimation39: + db $61 + db $47, $67, $00 + +Subanimation4e: + db $41 + db $71, $0f, $03 + +Subanimation4f: + db $47 + db $71, $0f, $00 + db $71, $08, $00 + db $71, $01, $00 + db $71, $95, $00 + db $72, $95, $00 + db $73, $95, $00 + db $74, $95, $00 + +Subanimation50: + db $48 + db $74, $95, $00 + db $73, $95, $00 + db $72, $95, $00 + db $71, $95, $00 + db $71, $01, $00 + db $71, $08, $00 + db $71, $0f, $00 + db $71, $16, $00 + +Subanimation29: + db $5d + db $48, $0f, $00 + db $4a, $68, $03 + db $4b, $2a, $03 + db $49, $0f, $00 + db $4a, $68, $03 + db $4b, $2a, $00 + db $4c, $6a, $03 + db $4d, $69, $03 + db $49, $6b, $00 + db $4c, $6a, $03 + db $4d, $69, $00 + db $4a, $68, $03 + db $4b, $2a, $03 + db $49, $6c, $00 + db $4a, $68, $03 + db $4b, $2a, $00 + db $4c, $6a, $03 + db $4d, $69, $03 + db $49, $6d, $00 + db $4c, $6a, $03 + db $4d, $2a, $00 + db $4a, $68, $03 + db $4b, $2a, $03 + db $49, $0f, $00 + db $4a, $68, $03 + db $4b, $2a, $00 + db $4c, $6a, $03 + db $4d, $2a, $03 + db $49, $6b, $00 + +Subanimation2a: + db $44 + db $4e, $2b, $00 + db $4f, $2b, $00 + db $50, $2b, $00 + db $50, $2b, $00 + +Subanimation23: + db $42 + db $51, $2d, $00 + db $51, $6e, $00 + +Subanimation24: + db $a2 + db $51, $2d, $00 + db $51, $6e, $00 + +Subanimation25: + db $62 + db $52, $71, $00 + db $52, $72, $00 + +Subanimation26: + db $02 + db $52, $01, $00 + db $52, $2c, $00 + +Subanimation3a: + db $63 + db $53, $71, $00 + db $53, $7f, $00 + db $53, $81, $00 + +Subanimation3b: + db $03 + db $53, $01, $00 + db $53, $15, $00 + db $53, $2c, $00 + +Subanimation27: + db $a2 + db $54, $01, $00 + db $54, $2c, $00 + +Subanimation28: + db $23 + db $55, $73, $03 + db $56, $73, $03 + db $57, $73, $00 + +Subanimation32: + db $63 + db $47, $74, $00 + db $47, $43, $00 + db $47, $75, $00 + +Subanimation33: + db $26 + db $58, $76, $00 + db $34, $76, $00 + db $58, $76, $00 + db $34, $76, $00 + db $58, $76, $00 + db $34, $76, $00 + +Subanimation3c: + db $67 + db $59, $79, $03 + db $59, $7b, $03 + db $59, $77, $03 + db $59, $7a, $03 + db $59, $78, $03 + db $59, $7c, $03 + db $59, $76, $00 + +Subanimation3d: + db $08 + db $3a, $4d, $00 + db $3b, $4d, $00 + db $3c, $4d, $00 + db $3d, $4d, $00 + db $3e, $4d, $00 + db $3f, $4d, $00 + db $3e, $4d, $00 + db $3f, $4d, $00 + +Subanimation34: + db $35 + db $48, $7d, $00 + db $49, $7d, $00 + db $5a, $7d, $00 + db $48, $30, $00 + db $49, $30, $00 + db $5a, $30, $00 + db $48, $7e, $00 + db $49, $7e, $00 + db $5a, $7e, $00 + db $48, $7f, $00 + db $49, $7f, $00 + db $5a, $7f, $00 + db $48, $80, $00 + db $49, $80, $00 + db $5a, $80, $00 + db $48, $81, $00 + db $49, $81, $00 + db $5a, $81, $00 + db $48, $82, $00 + db $49, $82, $00 + db $5a, $82, $00 + +Subanimation35: + db $24 + db $5b, $83, $03 + db $5c, $84, $03 + db $5d, $85, $03 + db $5e, $09, $00 + +Subanimation36: + db $48 + db $5f, $2a, $00 + db $5f, $00, $00 + db $60, $2a, $00 + db $60, $00, $00 + db $61, $2a, $00 + db $61, $00, $00 + db $62, $2a, $00 + db $62, $00, $00 + +Subanimation37: + db $2a + db $63, $89, $00 + db $64, $75, $00 + db $63, $76, $00 + db $65, $0d, $00 + db $65, $86, $00 + db $65, $12, $00 + db $65, $87, $00 + db $65, $17, $00 + db $65, $88, $00 + db $65, $1a, $00 + +Subanimation38: + db $50 + db $66, $8a, $00 + db $66, $33, $00 + db $66, $2e, $00 + db $67, $24, $03 + db $66, $01, $04 + db $66, $10, $04 + db $66, $1d, $04 + db $67, $28, $03 + db $66, $2a, $04 + db $66, $0e, $04 + db $66, $1b, $04 + db $67, $26, $03 + db $66, $03, $04 + db $66, $12, $04 + db $66, $1e, $04 + db $67, $29, $00 + +Subanimation3e: + db $92 + db $02, $31, $00 + db $34, $31, $00 + db $02, $31, $00 + db $02, $32, $00 + db $34, $32, $00 + db $02, $32, $00 + db $02, $92, $00 + db $34, $92, $00 + db $02, $92, $00 + db $02, $0e, $00 + db $34, $0e, $00 + db $02, $0e, $00 + db $02, $0f, $00 + db $34, $0f, $00 + db $02, $0f, $00 + db $02, $10, $00 + db $34, $10, $00 + db $02, $10, $00 + +Subanimation3f: + db $72 + db $68, $4b, $00 + db $68, $8c, $00 + db $68, $20, $00 + db $68, $1c, $00 + db $68, $19, $00 + db $68, $14, $00 + db $68, $76, $00 + db $68, $8d, $00 + db $68, $15, $00 + db $68, $10, $00 + db $68, $0c, $00 + db $68, $06, $00 + db $68, $8e, $00 + db $68, $8f, $00 + db $68, $90, $00 + db $68, $26, $00 + db $68, $23, $00 + db $68, $1f, $00 + +Subanimation44: + db $2c + db $69, $4b, $00 + db $69, $8c, $00 + db $69, $20, $00 + db $69, $1c, $00 + db $69, $19, $00 + db $69, $14, $00 + db $69, $76, $00 + db $69, $8d, $00 + db $69, $15, $00 + db $69, $10, $00 + db $69, $0c, $00 + db $69, $06, $00 + +Subanimation43: + db $a3 + db $6a, $07, $00 + db $6b, $0f, $00 + db $6c, $17, $00 + +Subanimation45: + db $24 + db $6d, $8b, $00 + db $6d, $84, $00 + db $6d, $63, $00 + db $6d, $8c, $00 + +Subanimation46: + db $26 + db $6d, $8b, $00 + db $6d, $84, $00 + db $6d, $63, $00 + db $6d, $8c, $00 + db $6d, $0a, $00 + db $6d, $89, $00 + +Subanimation47: + db $23 + db $06, $82, $00 + db $07, $82, $00 + db $08, $96, $00 + +Subanimation48: + db $06 + db $03, $41, $04 + db $03, $48, $04 + db $04, $48, $04 + db $03, $48, $04 + db $05, $48, $04 + db $03, $48, $03 + +Subanimation49: + db $04 + db $04, $48, $04 + db $03, $48, $04 + db $05, $48, $04 + db $03, $48, $03 + +Subanimation4a: + db $01 + db $04, $84, $03 + +Subanimation4b: + db $03 + db $06, $72, $00 + db $07, $72, $00 + db $08, $72, $00 + +Subanimation4c: + db $68 + db $6f, $30, $00 + db $6e, $30, $00 + db $70, $30, $00 + db $6e, $30, $00 + db $6f, $30, $00 + db $6e, $30, $00 + db $70, $30, $00 + db $6e, $30, $00 + +Subanimation4d: + db $26 + db $32, $4b, $00 + db $33, $4f, $00 + db $32, $20, $00 + db $33, $16, $00 + db $32, $19, $00 + db $33, $0d, $00 + +Subanimation51: + db $a6 + db $76, $1b, $00 + db $34, $1b, $00 + db $76, $1b, $00 + db $34, $1b, $00 + db $76, $1b, $00 + db $34, $1b, $00 + +Subanimation52: + db $47 + db $77, $25, $00 + db $77, $9b, $00 + db $77, $1a, $00 + db $77, $9c, $00 + db $77, $2f, $00 + db $77, $50, $00 + db $77, $8c, $00 + +Subanimation53: + db $0c + db $78, $30, $00 + db $78, $a2, $00 + db $78, $93, $00 + db $78, $61, $00 + db $78, $73, $00 + db $78, $a7, $00 + db $78, $33, $00 + db $78, $a8, $00 + db $78, $0e, $00 + db $78, $a9, $00 + db $78, $34, $00 + db $01, $9e, $00 + +Subanimation54: + db $0b + db $79, $30, $00 + db $79, $a2, $00 + db $79, $93, $00 + db $79, $61, $00 + db $79, $73, $00 + db $79, $a7, $00 + db $79, $33, $00 + db $79, $a8, $00 + db $79, $0e, $00 + db $79, $a9, $00 + db $79, $34, $00 diff --git a/data/moves/animation_special_effect_pointers.asm b/data/moves/animation_special_effect_pointers.asm deleted file mode 100644 index ae60abb8..00000000 --- a/data/moves/animation_special_effect_pointers.asm +++ /dev/null @@ -1,47 +0,0 @@ -special_effect: MACRO - db \1 - dw \2 -ENDM - -SpecialEffectPointers: - ; special effect id, effect routine address - special_effect SE_DARK_SCREEN_FLASH, AnimationFlashScreen ; $FE - special_effect SE_DARK_SCREEN_PALETTE, AnimationDarkScreenPalette ; $FD - special_effect SE_RESET_SCREEN_PALETTE, AnimationResetScreenPalette ; $FC - special_effect SE_SHAKE_SCREEN, AnimationShakeScreen ; $FB - special_effect SE_WATER_DROPLETS_EVERYWHERE, AnimationWaterDropletsEverywhere ; $FA - special_effect SE_DARKEN_MON_PALETTE, AnimationDarkenMonPalette ; $F9 - special_effect SE_FLASH_SCREEN_LONG, AnimationFlashScreenLong ; $F8 - special_effect SE_SLIDE_MON_UP, AnimationSlideMonUp ; $F7 - special_effect SE_SLIDE_MON_DOWN, AnimationSlideMonDown ; $F6 - special_effect SE_FLASH_MON_PIC, AnimationFlashMonPic ; $F5 - special_effect SE_SLIDE_MON_OFF, AnimationSlideMonOff ; $F4 - special_effect SE_BLINK_MON, AnimationBlinkMon ; $F3 - special_effect SE_MOVE_MON_HORIZONTALLY, AnimationMoveMonHorizontally ; $F2 - special_effect SE_RESET_MON_POSITION, AnimationResetMonPosition ; $F1 - special_effect SE_LIGHT_SCREEN_PALETTE, AnimationLightScreenPalette ; $F0 - special_effect SE_HIDE_MON_PIC, AnimationHideMonPic ; $EF - special_effect SE_SQUISH_MON_PIC, AnimationSquishMonPic ; $EE - special_effect SE_SHOOT_BALLS_UPWARD, AnimationShootBallsUpward ; $ED - special_effect SE_SHOOT_MANY_BALLS_UPWARD, AnimationShootManyBallsUpward ; $EC - special_effect SE_BOUNCE_UP_AND_DOWN, AnimationBoundUpAndDown ; $EB - special_effect SE_MINIMIZE_MON, AnimationMinimizeMon ; $EA - special_effect SE_SLIDE_MON_DOWN_AND_HIDE, AnimationSlideMonDownAndHide ; $E9 - special_effect SE_TRANSFORM_MON, AnimationTransformMon ; $E8 - special_effect SE_LEAVES_FALLING, AnimationLeavesFalling ; $E7 - special_effect SE_PETALS_FALLING, AnimationPetalsFalling ; $E6 - special_effect SE_SLIDE_MON_HALF_OFF, AnimationSlideMonHalfOff ; $E5 - special_effect SE_SHAKE_ENEMY_HUD, AnimationShakeEnemyHUD ; $E4 - special_effect SE_SHAKE_ENEMY_HUD_2, AnimationShakeEnemyHUD ; unused--same pointer as SE_SHAKE_ENEMY_HUD ($E4) - special_effect SE_SPIRAL_BALLS_INWARD, AnimationSpiralBallsInward ; $E2 - special_effect SE_DELAY_ANIMATION_10, AnimationDelay10 ; $E1 - special_effect SE_FLASH_ENEMY_MON_PIC, AnimationFlashEnemyMonPic ; unused--same as SE_FLASH_MON_PIC ($F5), but for the enemy mon - special_effect SE_HIDE_ENEMY_MON_PIC, AnimationHideEnemyMonPic ; $DF - special_effect SE_BLINK_ENEMY_MON, AnimationBlinkEnemyMon ; $DE - special_effect SE_SHOW_MON_PIC, AnimationShowMonPic ; $DD - special_effect SE_SHOW_ENEMY_MON_PIC, AnimationShowEnemyMonPic ; $DC - special_effect SE_SLIDE_ENEMY_MON_OFF, AnimationSlideEnemyMonOff ; $DB - special_effect SE_SHAKE_BACK_AND_FORTH, AnimationShakeBackAndForth ; $DA - special_effect SE_SUBSTITUTE_MON, AnimationSubstitute ; $D9 - special_effect SE_WAVY_SCREEN, AnimationWavyScreen ; $D8 - db -1 ; end diff --git a/data/moves/animation_special_effects.asm b/data/moves/animation_special_effects.asm deleted file mode 100644 index 50c89ffb..00000000 --- a/data/moves/animation_special_effects.asm +++ /dev/null @@ -1,32 +0,0 @@ -anim_special_effect: MACRO - db \1 - dw \2 -ENDM - -AnimationIdSpecialEffects: - ; animation id, effect routine address - anim_special_effect MEGA_PUNCH, AnimationFlashScreen - anim_special_effect GUILLOTINE, AnimationFlashScreen - anim_special_effect MEGA_KICK, AnimationFlashScreen - anim_special_effect HEADBUTT, AnimationFlashScreen - anim_special_effect TAIL_WHIP, TailWhipAnimationUnused - anim_special_effect GROWL, DoGrowlSpecialEffects - anim_special_effect DISABLE, AnimationFlashScreen - anim_special_effect BLIZZARD, DoBlizzardSpecialEffects - anim_special_effect BUBBLEBEAM, AnimationFlashScreen - anim_special_effect HYPER_BEAM, FlashScreenEveryFourFrameBlocks - anim_special_effect THUNDERBOLT, FlashScreenEveryEightFrameBlocks - anim_special_effect REFLECT, AnimationFlashScreen - anim_special_effect SELFDESTRUCT, DoExplodeSpecialEffects - anim_special_effect SPORE, AnimationFlashScreen - anim_special_effect EXPLOSION, DoExplodeSpecialEffects - anim_special_effect ROCK_SLIDE, DoRockSlideSpecialEffects - anim_special_effect TRADE_BALL_DROP_ANIM, TradeHidePokemon - anim_special_effect TRADE_BALL_SHAKE_ANIM, TradeShakePokeball - anim_special_effect TRADE_BALL_TILT_ANIM, TradeJumpPokeball - anim_special_effect TOSS_ANIM, DoBallTossSpecialEffects - anim_special_effect SHAKE_ANIM, DoBallShakeSpecialEffects - anim_special_effect POOF_ANIM, DoPoofSpecialEffects - anim_special_effect GREATTOSS_ANIM, DoBallTossSpecialEffects - anim_special_effect ULTRATOSS_ANIM, DoBallTossSpecialEffects - db -1 ; end diff --git a/data/moves/animations.asm b/data/moves/animations.asm index 6f262952..838065d3 100755 --- a/data/moves/animations.asm +++ b/data/moves/animations.asm @@ -1259,2370 +1259,3 @@ ThrowRockAnim: ThrowBaitAnim: db $03, $8B, $54 db $FF - -SubanimationPointers: - dw Subanimation00 - dw Subanimation01 - dw Subanimation02 - dw Subanimation03 - dw Subanimation04 - dw Subanimation05 - dw Subanimation06 - dw Subanimation07 - dw Subanimation08 - dw Subanimation09 - dw Subanimation0a - dw Subanimation0b - dw Subanimation0c - dw Subanimation0d - dw Subanimation0e - dw Subanimation0f - dw Subanimation10 - dw Subanimation11 - dw Subanimation12 - dw Subanimation13 - dw Subanimation14 - dw Subanimation15 - dw Subanimation16 - dw Subanimation17 - dw Subanimation18 - dw Subanimation19 - dw Subanimation1a - dw Subanimation1b - dw Subanimation1c - dw Subanimation1d - dw Subanimation1e - dw Subanimation1f - dw Subanimation20 - dw Subanimation21 - dw Subanimation22 - dw Subanimation23 - dw Subanimation24 - dw Subanimation25 - dw Subanimation26 - dw Subanimation27 - dw Subanimation28 - dw Subanimation29 - dw Subanimation2a - dw Subanimation2b - dw Subanimation2c - dw Subanimation2d - dw Subanimation2e - dw Subanimation2f - dw Subanimation30 - dw Subanimation31 - dw Subanimation32 - dw Subanimation33 - dw Subanimation34 - dw Subanimation35 - dw Subanimation36 - dw Subanimation37 - dw Subanimation38 - dw Subanimation39 - dw Subanimation3a - dw Subanimation3b - dw Subanimation3c - dw Subanimation3d - dw Subanimation3e - dw Subanimation3f - dw Subanimation40 - dw Subanimation41 - dw Subanimation42 - dw Subanimation43 - dw Subanimation44 - dw Subanimation45 - dw Subanimation46 - dw Subanimation47 - dw Subanimation48 - dw Subanimation49 - dw Subanimation4a - dw Subanimation4b - dw Subanimation4c - dw Subanimation4d - dw Subanimation4e - dw Subanimation4f - dw Subanimation50 - dw Subanimation51 - dw Subanimation52 - dw Subanimation53 - dw Subanimation54 - dw Subanimation55 - -Subanimation04: - db $43 - db $02, $1a, $00 - db $02, $10, $00 - db $02, $03, $00 - -Subanimation05: - db $41 - db $02, $10, $00 - -Subanimation08: - db $0b - db $03, $30, $00 - db $03, $44, $00 - db $03, $94, $00 - db $03, $60, $00 - db $03, $76, $00 - db $03, $9f, $00 - db $03, $8d, $00 - db $03, $a0, $00 - db $03, $1a, $00 - db $03, $a1, $00 - db $03, $34, $00 - -Subanimation07: - db $0b - db $03, $30, $00 - db $03, $a2, $00 - db $03, $31, $00 - db $03, $a3, $00 - db $03, $32, $00 - db $03, $a4, $00 - db $03, $92, $00 - db $03, $a5, $00 - db $03, $15, $00 - db $03, $a6, $00 - db $03, $34, $00 - -Subanimation06: - db $0b - db $03, $30, $00 - db $03, $a2, $00 - db $03, $93, $00 - db $03, $61, $00 - db $03, $73, $00 - db $03, $a7, $00 - db $03, $33, $00 - db $03, $a8, $00 - db $03, $0e, $00 - db $03, $a9, $00 - db $03, $34, $00 - -Subanimation09: - db $04 - db $03, $21, $04 - db $04, $21, $04 - db $03, $21, $04 - db $05, $21, $04 - -Subanimation0a: - db $46 - db $06, $1b, $00 - db $07, $1b, $00 - db $08, $36, $00 - db $09, $36, $00 - db $0a, $15, $00 - db $0a, $15, $00 - -Subanimation0b: - db $04 - db $01, $2d, $00 - db $03, $2f, $00 - db $03, $35, $00 - db $03, $4d, $00 - -Subanimation55: - db $41 - db $01, $9d, $00 - -Subanimation11: - db $4c - db $0b, $26, $00 - db $0c, $26, $00 - db $0b, $26, $00 - db $0c, $26, $00 - db $0b, $28, $00 - db $0c, $28, $00 - db $0b, $28, $00 - db $0c, $28, $00 - db $0b, $27, $00 - db $0c, $27, $00 - db $0b, $27, $00 - db $0c, $27, $00 - -Subanimation2b: - db $4b - db $0d, $03, $03 - db $0e, $03, $03 - db $0f, $03, $00 - db $0d, $11, $00 - db $0d, $11, $00 - db $0d, $37, $00 - db $0d, $37, $00 - db $10, $21, $00 - db $10, $21, $00 - db $11, $1b, $00 - db $11, $1b, $00 - -Subanimation2c: - db $4c - db $12, $01, $00 - db $12, $0f, $00 - db $12, $1b, $00 - db $12, $25, $00 - db $13, $38, $00 - db $13, $38, $02 - db $14, $38, $00 - db $14, $38, $02 - db $15, $38, $00 - db $15, $38, $00 - db $16, $38, $00 - db $16, $38, $00 - -Subanimation12: - db $69 - db $17, $30, $00 - db $17, $39, $00 - db $17, $3a, $00 - db $17, $3b, $00 - db $17, $3c, $00 - db $17, $3d, $00 - db $17, $3e, $00 - db $17, $3f, $00 - db $17, $1f, $00 - -Subanimation00: - db $41 - db $01, $17, $00 - -Subanimation01: - db $42 - db $01, $0f, $00 - db $01, $1d, $00 - -Subanimation02: - db $43 - db $01, $12, $00 - db $01, $15, $00 - db $01, $1c, $00 - -Subanimation03: - db $44 - db $01, $0b, $00 - db $01, $11, $00 - db $01, $18, $00 - db $01, $1d, $00 - -Subanimation0c: - db $43 - db $0c, $20, $00 - db $0c, $21, $00 - db $0c, $23, $00 - -Subanimation0d: - db $46 - db $0c, $20, $02 - db $0c, $15, $00 - db $0c, $21, $02 - db $0c, $17, $00 - db $0c, $23, $02 - db $0c, $19, $00 - -Subanimation0e: - db $49 - db $0c, $20, $02 - db $0c, $15, $02 - db $0c, $07, $00 - db $0c, $21, $02 - db $0c, $17, $02 - db $0c, $09, $00 - db $0c, $23, $02 - db $0c, $19, $02 - db $0c, $0c, $00 - -Subanimation1f: - db $85 - db $0c, $30, $03 - db $0c, $40, $03 - db $0c, $41, $03 - db $0c, $42, $03 - db $0c, $21, $00 - -Subanimation2e: - db $2e - db $18, $43, $02 - db $75, $52, $04 - db $19, $43, $02 - db $75, $63, $04 - db $1a, $43, $02 - db $75, $4d, $04 - db $1b, $43, $02 - db $75, $97, $04 - db $1c, $43, $02 - db $75, $98, $04 - db $1d, $43, $02 - db $75, $58, $04 - db $1e, $43, $02 - db $75, $1b, $00 - -Subanimation2f: - db $44 - db $1f, $24, $00 - db $20, $20, $00 - db $21, $1a, $00 - db $22, $15, $00 - -Subanimation30: - db $52 - db $23, $00, $02 - db $23, $02, $02 - db $23, $04, $00 - db $23, $07, $02 - db $23, $02, $02 - db $23, $04, $00 - db $23, $0e, $02 - db $23, $02, $02 - db $23, $0c, $00 - db $25, $07, $00 - db $25, $0e, $00 - db $25, $15, $00 - db $24, $24, $02 - db $23, $1c, $02 - db $23, $23, $00 - db $23, $21, $02 - db $24, $28, $00 - db $24, $28, $00 - -Subanimation0f: - db $4c - db $26, $0e, $02 - db $26, $16, $02 - db $26, $1c, $00 - db $27, $0e, $02 - db $27, $16, $02 - db $27, $1c, $00 - db $28, $0e, $02 - db $28, $16, $02 - db $28, $1c, $00 - db $29, $0e, $02 - db $29, $16, $02 - db $29, $1c, $00 - -Subanimation16: - db $4c - db $2a, $05, $00 - db $2b, $05, $02 - db $2b, $0c, $02 - db $2a, $11, $04 - db $2b, $11, $02 - db $2b, $17, $02 - db $2a, $1b, $04 - db $2b, $1b, $02 - db $2b, $20, $02 - db $2a, $2f, $04 - db $2c, $00, $02 - db $2c, $00, $00 - -Subanimation10: - db $88 - db $2d, $44, $00 - db $2e, $45, $00 - db $2d, $46, $00 - db $2e, $47, $00 - db $2d, $48, $00 - db $2e, $49, $00 - db $2d, $2f, $00 - db $2e, $1a, $00 - -Subanimation31: - db $2a - db $2f, $46, $00 - db $2f, $4a, $00 - db $2f, $4b, $00 - db $2f, $4c, $00 - db $2f, $4d, $00 - db $2f, $4e, $00 - db $2f, $4f, $00 - db $2f, $50, $00 - db $2f, $2e, $00 - db $2f, $51, $00 - -Subanimation13: - db $86 - db $30, $31, $00 - db $30, $32, $00 - db $30, $92, $00 - db $30, $0e, $00 - db $30, $0f, $00 - db $30, $10, $00 - -Subanimation14: - db $49 - db $30, $10, $00 - db $30, $10, $03 - db $31, $1c, $04 - db $31, $21, $04 - db $31, $26, $00 - db $30, $10, $02 - db $31, $1d, $04 - db $31, $22, $04 - db $31, $27, $00 - -Subanimation41: - db $85 - db $03, $31, $00 - db $03, $32, $00 - db $03, $92, $00 - db $03, $0e, $00 - db $03, $10, $00 - -Subanimation42: - db $43 - db $48, $08, $00 - db $49, $08, $00 - db $5a, $08, $00 - -Subanimation15: - db $22 - db $35, $52, $00 - db $35, $53, $00 - -Subanimation17: - db $44 - db $36, $54, $00 - db $36, $55, $00 - db $37, $56, $00 - db $37, $57, $00 - -Subanimation18: - db $a4 - db $36, $54, $00 - db $36, $55, $00 - db $37, $56, $00 - db $37, $57, $00 - -Subanimation40: - db $46 - db $17, $54, $00 - db $17, $55, $00 - db $17, $0e, $00 - db $17, $56, $00 - db $17, $57, $00 - db $17, $13, $00 - -Subanimation19: - db $8c - db $38, $31, $00 - db $39, $31, $00 - db $38, $32, $00 - db $39, $32, $00 - db $38, $92, $00 - db $39, $92, $00 - db $38, $0e, $00 - db $39, $0e, $00 - db $38, $0f, $00 - db $39, $0f, $00 - db $38, $10, $00 - db $39, $10, $00 - -Subanimation1a: - db $50 - db $3a, $08, $00 - db $3b, $08, $00 - db $3c, $08, $00 - db $3d, $08, $00 - db $3e, $08, $00 - db $3f, $08, $00 - db $3e, $08, $00 - db $3f, $08, $00 - db $3a, $0b, $00 - db $3b, $0b, $00 - db $3c, $0b, $00 - db $3d, $0b, $00 - db $3e, $0b, $00 - db $3f, $0b, $00 - db $3e, $0b, $00 - db $3f, $0b, $00 - -Subanimation1b: - db $84 - db $40, $31, $00 - db $40, $32, $00 - db $40, $92, $00 - db $40, $15, $00 - -Subanimation1c: - db $43 - db $41, $58, $00 - db $41, $59, $00 - db $41, $21, $00 - -Subanimation1d: - db $af - db $24, $9a, $00 - db $23, $1b, $02 - db $24, $22, $00 - db $23, $16, $02 - db $23, $1d, $02 - db $24, $98, $00 - db $25, $2c, $04 - db $25, $2a, $04 - db $25, $99, $04 - db $25, $62, $04 - db $25, $99, $04 - db $25, $62, $04 - db $25, $99, $04 - db $25, $62, $04 - db $25, $99, $03 - -Subanimation1e: - db $01 - db $25, $75, $00 - -Subanimation20: - db $42 - db $42, $07, $00 - db $43, $07, $00 - -Subanimation21: - db $43 - db $44, $00, $00 - db $45, $08, $00 - db $46, $10, $02 - -Subanimation22: - db $8b - db $47, $10, $00 - db $47, $56, $00 - db $47, $07, $00 - db $47, $aa, $00 - db $47, $ab, $00 - db $47, $ac, $00 - db $47, $ad, $00 - db $47, $ae, $00 - db $47, $af, $00 - db $47, $89, $00 - db $47, $b0, $00 - -Subanimation2d: - db $66 - db $44, $64, $00 - db $45, $65, $00 - db $46, $66, $00 - db $47, $66, $00 - db $47, $66, $00 - db $47, $66, $00 - -Subanimation39: - db $61 - db $47, $67, $00 - -Subanimation4e: - db $41 - db $71, $0f, $03 - -Subanimation4f: - db $47 - db $71, $0f, $00 - db $71, $08, $00 - db $71, $01, $00 - db $71, $95, $00 - db $72, $95, $00 - db $73, $95, $00 - db $74, $95, $00 - -Subanimation50: - db $48 - db $74, $95, $00 - db $73, $95, $00 - db $72, $95, $00 - db $71, $95, $00 - db $71, $01, $00 - db $71, $08, $00 - db $71, $0f, $00 - db $71, $16, $00 - -Subanimation29: - db $5d - db $48, $0f, $00 - db $4a, $68, $03 - db $4b, $2a, $03 - db $49, $0f, $00 - db $4a, $68, $03 - db $4b, $2a, $00 - db $4c, $6a, $03 - db $4d, $69, $03 - db $49, $6b, $00 - db $4c, $6a, $03 - db $4d, $69, $00 - db $4a, $68, $03 - db $4b, $2a, $03 - db $49, $6c, $00 - db $4a, $68, $03 - db $4b, $2a, $00 - db $4c, $6a, $03 - db $4d, $69, $03 - db $49, $6d, $00 - db $4c, $6a, $03 - db $4d, $2a, $00 - db $4a, $68, $03 - db $4b, $2a, $03 - db $49, $0f, $00 - db $4a, $68, $03 - db $4b, $2a, $00 - db $4c, $6a, $03 - db $4d, $2a, $03 - db $49, $6b, $00 - -Subanimation2a: - db $44 - db $4e, $2b, $00 - db $4f, $2b, $00 - db $50, $2b, $00 - db $50, $2b, $00 - -Subanimation23: - db $42 - db $51, $2d, $00 - db $51, $6e, $00 - -Subanimation24: - db $a2 - db $51, $2d, $00 - db $51, $6e, $00 - -Subanimation25: - db $62 - db $52, $71, $00 - db $52, $72, $00 - -Subanimation26: - db $02 - db $52, $01, $00 - db $52, $2c, $00 - -Subanimation3a: - db $63 - db $53, $71, $00 - db $53, $7f, $00 - db $53, $81, $00 - -Subanimation3b: - db $03 - db $53, $01, $00 - db $53, $15, $00 - db $53, $2c, $00 - -Subanimation27: - db $a2 - db $54, $01, $00 - db $54, $2c, $00 - -Subanimation28: - db $23 - db $55, $73, $03 - db $56, $73, $03 - db $57, $73, $00 - -Subanimation32: - db $63 - db $47, $74, $00 - db $47, $43, $00 - db $47, $75, $00 - -Subanimation33: - db $26 - db $58, $76, $00 - db $34, $76, $00 - db $58, $76, $00 - db $34, $76, $00 - db $58, $76, $00 - db $34, $76, $00 - -Subanimation3c: - db $67 - db $59, $79, $03 - db $59, $7b, $03 - db $59, $77, $03 - db $59, $7a, $03 - db $59, $78, $03 - db $59, $7c, $03 - db $59, $76, $00 - -Subanimation3d: - db $08 - db $3a, $4d, $00 - db $3b, $4d, $00 - db $3c, $4d, $00 - db $3d, $4d, $00 - db $3e, $4d, $00 - db $3f, $4d, $00 - db $3e, $4d, $00 - db $3f, $4d, $00 - -Subanimation34: - db $35 - db $48, $7d, $00 - db $49, $7d, $00 - db $5a, $7d, $00 - db $48, $30, $00 - db $49, $30, $00 - db $5a, $30, $00 - db $48, $7e, $00 - db $49, $7e, $00 - db $5a, $7e, $00 - db $48, $7f, $00 - db $49, $7f, $00 - db $5a, $7f, $00 - db $48, $80, $00 - db $49, $80, $00 - db $5a, $80, $00 - db $48, $81, $00 - db $49, $81, $00 - db $5a, $81, $00 - db $48, $82, $00 - db $49, $82, $00 - db $5a, $82, $00 - -Subanimation35: - db $24 - db $5b, $83, $03 - db $5c, $84, $03 - db $5d, $85, $03 - db $5e, $09, $00 - -Subanimation36: - db $48 - db $5f, $2a, $00 - db $5f, $00, $00 - db $60, $2a, $00 - db $60, $00, $00 - db $61, $2a, $00 - db $61, $00, $00 - db $62, $2a, $00 - db $62, $00, $00 - -Subanimation37: - db $2a - db $63, $89, $00 - db $64, $75, $00 - db $63, $76, $00 - db $65, $0d, $00 - db $65, $86, $00 - db $65, $12, $00 - db $65, $87, $00 - db $65, $17, $00 - db $65, $88, $00 - db $65, $1a, $00 - -Subanimation38: - db $50 - db $66, $8a, $00 - db $66, $33, $00 - db $66, $2e, $00 - db $67, $24, $03 - db $66, $01, $04 - db $66, $10, $04 - db $66, $1d, $04 - db $67, $28, $03 - db $66, $2a, $04 - db $66, $0e, $04 - db $66, $1b, $04 - db $67, $26, $03 - db $66, $03, $04 - db $66, $12, $04 - db $66, $1e, $04 - db $67, $29, $00 - -Subanimation3e: - db $92 - db $02, $31, $00 - db $34, $31, $00 - db $02, $31, $00 - db $02, $32, $00 - db $34, $32, $00 - db $02, $32, $00 - db $02, $92, $00 - db $34, $92, $00 - db $02, $92, $00 - db $02, $0e, $00 - db $34, $0e, $00 - db $02, $0e, $00 - db $02, $0f, $00 - db $34, $0f, $00 - db $02, $0f, $00 - db $02, $10, $00 - db $34, $10, $00 - db $02, $10, $00 - -Subanimation3f: - db $72 - db $68, $4b, $00 - db $68, $8c, $00 - db $68, $20, $00 - db $68, $1c, $00 - db $68, $19, $00 - db $68, $14, $00 - db $68, $76, $00 - db $68, $8d, $00 - db $68, $15, $00 - db $68, $10, $00 - db $68, $0c, $00 - db $68, $06, $00 - db $68, $8e, $00 - db $68, $8f, $00 - db $68, $90, $00 - db $68, $26, $00 - db $68, $23, $00 - db $68, $1f, $00 - -Subanimation44: - db $2c - db $69, $4b, $00 - db $69, $8c, $00 - db $69, $20, $00 - db $69, $1c, $00 - db $69, $19, $00 - db $69, $14, $00 - db $69, $76, $00 - db $69, $8d, $00 - db $69, $15, $00 - db $69, $10, $00 - db $69, $0c, $00 - db $69, $06, $00 - -Subanimation43: - db $a3 - db $6a, $07, $00 - db $6b, $0f, $00 - db $6c, $17, $00 - -Subanimation45: - db $24 - db $6d, $8b, $00 - db $6d, $84, $00 - db $6d, $63, $00 - db $6d, $8c, $00 - -Subanimation46: - db $26 - db $6d, $8b, $00 - db $6d, $84, $00 - db $6d, $63, $00 - db $6d, $8c, $00 - db $6d, $0a, $00 - db $6d, $89, $00 - -Subanimation47: - db $23 - db $06, $82, $00 - db $07, $82, $00 - db $08, $96, $00 - -Subanimation48: - db $06 - db $03, $41, $04 - db $03, $48, $04 - db $04, $48, $04 - db $03, $48, $04 - db $05, $48, $04 - db $03, $48, $03 - -Subanimation49: - db $04 - db $04, $48, $04 - db $03, $48, $04 - db $05, $48, $04 - db $03, $48, $03 - -Subanimation4a: - db $01 - db $04, $84, $03 - -Subanimation4b: - db $03 - db $06, $72, $00 - db $07, $72, $00 - db $08, $72, $00 - -Subanimation4c: - db $68 - db $6f, $30, $00 - db $6e, $30, $00 - db $70, $30, $00 - db $6e, $30, $00 - db $6f, $30, $00 - db $6e, $30, $00 - db $70, $30, $00 - db $6e, $30, $00 - -Subanimation4d: - db $26 - db $32, $4b, $00 - db $33, $4f, $00 - db $32, $20, $00 - db $33, $16, $00 - db $32, $19, $00 - db $33, $0d, $00 - -Subanimation51: - db $a6 - db $76, $1b, $00 - db $34, $1b, $00 - db $76, $1b, $00 - db $34, $1b, $00 - db $76, $1b, $00 - db $34, $1b, $00 - -Subanimation52: - db $47 - db $77, $25, $00 - db $77, $9b, $00 - db $77, $1a, $00 - db $77, $9c, $00 - db $77, $2f, $00 - db $77, $50, $00 - db $77, $8c, $00 - -Subanimation53: - db $0c - db $78, $30, $00 - db $78, $a2, $00 - db $78, $93, $00 - db $78, $61, $00 - db $78, $73, $00 - db $78, $a7, $00 - db $78, $33, $00 - db $78, $a8, $00 - db $78, $0e, $00 - db $78, $a9, $00 - db $78, $34, $00 - db $01, $9e, $00 - -Subanimation54: - db $0b - db $79, $30, $00 - db $79, $a2, $00 - db $79, $93, $00 - db $79, $61, $00 - db $79, $73, $00 - db $79, $a7, $00 - db $79, $33, $00 - db $79, $a8, $00 - db $79, $0e, $00 - db $79, $a9, $00 - db $79, $34, $00 - -FrameBlockPointers: - dw FrameBlock00 - dw FrameBlock01 - dw FrameBlock02 - dw FrameBlock03 - dw FrameBlock04 - dw FrameBlock05 - dw FrameBlock06 - dw FrameBlock07 - dw FrameBlock08 - dw FrameBlock09 - dw FrameBlock0a - dw FrameBlock0b - dw FrameBlock0c - dw FrameBlock0d - dw FrameBlock0e - dw FrameBlock0f - dw FrameBlock10 - dw FrameBlock11 - dw FrameBlock12 - dw FrameBlock13 - dw FrameBlock14 - dw FrameBlock15 - dw FrameBlock16 - dw FrameBlock17 - dw FrameBlock18 - dw FrameBlock19 - dw FrameBlock1a - dw FrameBlock1b - dw FrameBlock1c - dw FrameBlock1d - dw FrameBlock1e - dw FrameBlock1f - dw FrameBlock20 - dw FrameBlock21 - dw FrameBlock22 - dw FrameBlock23 - dw FrameBlock24 - dw FrameBlock25 - dw FrameBlock26 - dw FrameBlock27 - dw FrameBlock28 - dw FrameBlock29 - dw FrameBlock2a - dw FrameBlock2b - dw FrameBlock2c - dw FrameBlock2d - dw FrameBlock2e - dw FrameBlock2f - dw FrameBlock30 - dw FrameBlock31 - dw FrameBlock32 - dw FrameBlock33 - dw FrameBlock34 - dw FrameBlock35 - dw FrameBlock36 - dw FrameBlock37 - dw FrameBlock38 - dw FrameBlock39 - dw FrameBlock3a - dw FrameBlock3b - dw FrameBlock3c - dw FrameBlock3d - dw FrameBlock3e - dw FrameBlock3f - dw FrameBlock40 - dw FrameBlock41 - dw FrameBlock42 - dw FrameBlock43 - dw FrameBlock44 - dw FrameBlock45 - dw FrameBlock46 - dw FrameBlock47 - dw SmallBlackCircleFrameBlock - dw LargeBlockCircleFrameBlock - dw FrameBlock4a - dw FrameBlock4b - dw FrameBlock4c - dw FrameBlock4d - dw FrameBlock4e - dw FrameBlock4f - dw FrameBlock50 - dw FrameBlock51 - dw FrameBlock52 - dw FrameBlock53 - dw FrameBlock54 - dw FrameBlock55 - dw FrameBlock56 - dw FrameBlock57 - dw FrameBlock58 - dw FrameBlock59 - dw FrameBlock5a - dw FrameBlock5b - dw FrameBlock5c - dw FrameBlock5d - dw FrameBlock5e - dw FrameBlock5f - dw FrameBlock60 - dw FrameBlock61 - dw FrameBlock62 - dw FrameBlock63 - dw FrameBlock64 - dw FrameBlock65 - dw FrameBlock66 - dw FrameBlock67 - dw FrameBlock68 - dw FrameBlock69 - dw FrameBlock6a - dw FrameBlock6b - dw FrameBlock6c - dw FrameBlock6d - dw FrameBlock6e - dw FrameBlock6f - dw FrameBlock70 - dw FrameBlock71 - dw FrameBlock72 - dw FrameBlock73 - dw FrameBlock74 - dw FrameBlock75 - dw FrameBlock76 - dw FrameBlock77 - dw FrameBlock78 - dw FrameBlock79 - -; FrameBlock format is as follows: -; first byte = number of tiles in FrameBlock -; -; Next, each group of 4 bytes describes a tile in the FrameBlock -; first byte = y offset -; second byte = x offset -; third byte = tile id (it's actually tile id - $31) -; fourth byte = tile properties (xflip/yflip/etc.) -FrameBlock01: - db $09 - db $00, $00, $2c, $00 - db $00, $08, $2d, $00 - db $00, $10, $2c, $20 - db $08, $00, $3c, $00 - db $08, $08, $3d, $00 - db $08, $10, $3c, $20 - db $10, $00, $2c, $40 - db $10, $08, $2d, $40 - db $10, $10, $2c, $60 - -FrameBlock02: - db $10 - db $00, $00, $20, $00 - db $00, $08, $21, $00 - db $00, $10, $21, $20 - db $00, $18, $20, $20 - db $08, $00, $30, $00 - db $08, $08, $31, $00 - db $08, $10, $31, $20 - db $08, $18, $30, $20 - db $10, $00, $30, $40 - db $10, $08, $31, $40 - db $10, $10, $31, $60 - db $10, $18, $30, $60 - db $18, $00, $20, $40 - db $18, $08, $21, $40 - db $18, $10, $21, $60 - db $18, $18, $20, $60 - -FrameBlock03: - db $04 - db $00, $00, $02, $00 - db $00, $08, $02, $20 - db $08, $00, $12, $00 - db $08, $08, $12, $20 - -FrameBlock04: - db $04 - db $00, $00, $06, $00 - db $00, $08, $07, $00 - db $08, $00, $16, $00 - db $08, $08, $17, $00 - -FrameBlock05: - db $04 - db $00, $00, $07, $20 - db $00, $08, $06, $20 - db $08, $00, $17, $20 - db $08, $08, $16, $20 - -FrameBlock06: - db $0c - db $00, $08, $23, $00 - db $08, $00, $32, $00 - db $08, $08, $33, $00 - db $00, $10, $23, $20 - db $08, $10, $33, $20 - db $08, $18, $32, $20 - db $10, $00, $32, $40 - db $10, $08, $33, $40 - db $18, $08, $23, $40 - db $10, $10, $33, $60 - db $10, $18, $32, $60 - db $18, $10, $23, $60 - -FrameBlock07: - db $10 - db $00, $00, $20, $00 - db $00, $08, $21, $00 - db $08, $00, $30, $00 - db $08, $08, $31, $00 - db $00, $10, $21, $20 - db $00, $18, $20, $20 - db $08, $10, $31, $20 - db $08, $18, $30, $20 - db $10, $00, $30, $40 - db $10, $08, $31, $40 - db $18, $00, $20, $40 - db $18, $08, $21, $40 - db $10, $10, $31, $60 - db $10, $18, $30, $60 - db $18, $10, $21, $60 - db $18, $18, $20, $60 - -FrameBlock08: - db $10 - db $00, $00, $20, $00 - db $00, $08, $21, $00 - db $08, $00, $30, $00 - db $08, $08, $31, $00 - db $00, $18, $21, $20 - db $00, $20, $20, $20 - db $08, $18, $31, $20 - db $08, $20, $30, $20 - db $18, $00, $30, $40 - db $18, $08, $31, $40 - db $20, $00, $20, $40 - db $20, $08, $21, $40 - db $18, $18, $31, $60 - db $18, $20, $30, $60 - db $20, $18, $21, $60 - db $20, $20, $20, $60 - -FrameBlock09: - db $0c - db $00, $00, $24, $00 - db $00, $08, $25, $00 - db $08, $00, $34, $00 - db $00, $18, $25, $20 - db $00, $20, $24, $20 - db $08, $20, $34, $20 - db $18, $00, $34, $40 - db $20, $00, $24, $40 - db $20, $08, $25, $40 - db $18, $20, $34, $60 - db $20, $18, $25, $60 - db $20, $20, $24, $60 - -FrameBlock0a: - db $0c - db $00, $00, $24, $00 - db $00, $08, $25, $00 - db $08, $00, $34, $00 - db $00, $20, $25, $20 - db $00, $28, $24, $20 - db $08, $28, $34, $20 - db $20, $00, $34, $40 - db $28, $00, $24, $40 - db $28, $08, $25, $40 - db $20, $28, $34, $60 - db $28, $20, $25, $60 - db $28, $28, $24, $60 - -FrameBlock0b: - db $04 - db $00, $00, $05, $00 - db $00, $08, $05, $20 - db $08, $00, $15, $00 - db $08, $08, $15, $20 - -FrameBlock0c: - db $04 - db $00, $00, $04, $00 - db $00, $08, $04, $20 - db $08, $00, $14, $00 - db $08, $08, $14, $20 - -FrameBlock0d: - db $08 - db $00, $00, $0c, $00 - db $00, $08, $0d, $00 - db $08, $00, $1c, $00 - db $08, $08, $1d, $00 - db $10, $00, $1d, $60 - db $10, $08, $1c, $60 - db $18, $00, $0d, $60 - db $18, $08, $0c, $60 - -FrameBlock0e: - db $04 - db $20, $00, $0c, $00 - db $20, $08, $0d, $00 - db $28, $00, $1c, $00 - db $28, $08, $1d, $00 - -FrameBlock0f: - db $04 - db $30, $00, $1d, $60 - db $30, $08, $1c, $60 - db $38, $00, $0d, $60 - db $38, $08, $0c, $60 - -FrameBlock10: - db $08 - db $00, $00, $0e, $00 - db $00, $08, $0f, $00 - db $08, $00, $1e, $00 - db $08, $08, $1f, $00 - db $00, $10, $0f, $20 - db $00, $18, $0e, $20 - db $08, $10, $1f, $20 - db $08, $18, $1e, $20 - -FrameBlock11: - db $08 - db $00, $00, $0e, $00 - db $00, $08, $0f, $00 - db $08, $00, $1e, $00 - db $08, $08, $1f, $00 - db $00, $20, $0f, $20 - db $00, $28, $0e, $20 - db $08, $20, $1f, $20 - db $08, $28, $1e, $20 - -FrameBlock12: - db $03 - db $00, $00, $37, $00 - db $08, $10, $37, $00 - db $00, $20, $37, $00 - -FrameBlock13: - db $04 - db $00, $00, $36, $00 - db $00, $08, $36, $20 - db $08, $00, $36, $40 - db $08, $08, $36, $60 - -FrameBlock14: - db $08 - db $00, $10, $28, $00 - db $00, $18, $28, $20 - db $08, $10, $38, $00 - db $08, $18, $38, $20 - db $00, $20, $36, $00 - db $00, $28, $36, $20 - db $08, $20, $36, $40 - db $08, $28, $36, $60 - -FrameBlock15: - db $0c - db $00, $00, $28, $00 - db $00, $08, $28, $20 - db $08, $00, $38, $00 - db $08, $08, $38, $20 - db $00, $10, $29, $00 - db $00, $18, $29, $20 - db $08, $10, $39, $00 - db $08, $18, $39, $20 - db $00, $20, $28, $00 - db $00, $28, $28, $20 - db $08, $20, $38, $00 - db $08, $28, $38, $20 - -FrameBlock16: - db $08 - db $00, $00, $29, $00 - db $00, $08, $29, $20 - db $08, $00, $39, $00 - db $08, $08, $39, $20 - db $00, $20, $29, $00 - db $00, $28, $29, $20 - db $08, $20, $39, $00 - db $08, $28, $39, $20 - -FrameBlock17: - db $04 - db $00, $00, $08, $00 - db $00, $08, $09, $00 - db $08, $00, $18, $00 - db $08, $08, $19, $00 - -FrameBlock18: - db $01 - db $18, $00, $45, $60 - -FrameBlock19: - db $02 - db $18, $08, $45, $00 - db $10, $08, $46, $60 - -FrameBlock1a: - db $02 - db $10, $10, $45, $60 - db $18, $10, $46, $00 - -FrameBlock1b: - db $02 - db $10, $18, $45, $00 - db $08, $18, $46, $60 - -FrameBlock1c: - db $02 - db $08, $20, $45, $60 - db $10, $20, $46, $00 - -FrameBlock1d: - db $02 - db $08, $28, $45, $00 - db $00, $28, $46, $60 - -FrameBlock1e: - db $02 - db $00, $30, $45, $60 - db $08, $30, $46, $00 - -FrameBlock75: - db $04 - db $00, $00, $43, $00 - db $00, $08, $43, $20 - db $08, $00, $22, $00 - db $08, $08, $43, $60 - -FrameBlock1f: - db $02 - db $00, $00, $03, $00 - db $00, $30, $03, $20 - -FrameBlock20: - db $06 - db $00, $00, $03, $00 - db $00, $30, $03, $20 - db $08, $08, $03, $00 - db $08, $28, $03, $20 - db $08, $00, $13, $00 - db $08, $30, $13, $20 - -FrameBlock21: - db $0c - db $00, $00, $03, $00 - db $00, $30, $03, $20 - db $08, $08, $03, $00 - db $08, $28, $03, $20 - db $08, $00, $13, $00 - db $08, $30, $13, $20 - db $10, $10, $03, $00 - db $10, $20, $03, $20 - db $10, $08, $13, $00 - db $10, $28, $13, $20 - db $10, $00, $03, $00 - db $10, $30, $03, $20 - -FrameBlock22: - db $13 - db $00, $00, $03, $00 - db $08, $00, $13, $00 - db $10, $00, $03, $00 - db $18, $00, $13, $00 - db $08, $08, $03, $00 - db $10, $08, $13, $00 - db $18, $08, $03, $00 - db $10, $10, $03, $00 - db $18, $10, $13, $00 - db $18, $18, $03, $00 - db $10, $20, $03, $20 - db $18, $20, $13, $20 - db $08, $28, $03, $20 - db $10, $28, $13, $20 - db $18, $28, $03, $20 - db $00, $30, $03, $20 - db $08, $30, $13, $20 - db $10, $30, $03, $20 - db $18, $30, $13, $20 - -FrameBlock23: - db $04 - db $00, $00, $0a, $00 - db $00, $08, $0b, $00 - db $08, $00, $1a, $00 - db $08, $08, $1b, $00 - -FrameBlock24: - db $02 - db $08, $00, $0a, $00 - db $08, $08, $0b, $00 - -FrameBlock25: - db $0c - db $10, $00, $0a, $00 - db $10, $08, $0b, $00 - db $18, $00, $1a, $00 - db $18, $08, $1b, $00 - db $00, $10, $0a, $00 - db $00, $18, $0b, $00 - db $08, $10, $1a, $00 - db $08, $18, $1b, $00 - db $08, $20, $0a, $00 - db $08, $28, $0b, $00 - db $10, $20, $1a, $00 - db $10, $28, $1b, $00 - -FrameBlock26: - db $04 - db $00, $10, $44, $00 - db $00, $18, $44, $20 - db $08, $10, $44, $40 - db $08, $18, $44, $60 - -FrameBlock27: - db $05 - db $08, $08, $44, $00 - db $08, $10, $44, $20 - db $10, $08, $44, $40 - db $10, $10, $44, $60 - db $00, $18, $47, $00 - -FrameBlock28: - db $06 - db $10, $00, $44, $00 - db $10, $08, $44, $20 - db $18, $00, $44, $40 - db $18, $08, $44, $60 - db $08, $10, $47, $00 - db $02, $16, $47, $00 - -FrameBlock29: - db $04 - db $18, $00, $47, $00 - db $12, $06, $47, $00 - db $0c, $0c, $47, $00 - db $06, $12, $47, $00 - -FrameBlock2a: - db $04 - db $00, $00, $44, $00 - db $00, $08, $44, $20 - db $08, $00, $44, $40 - db $08, $08, $44, $60 - -FrameBlock2b: - db $02 - db $06, $02, $47, $00 - db $00, $08, $47, $00 - -FrameBlock2c: - db $01 - db $a0, $00, $4d, $00 - -FrameBlock2d: - db $08 - db $00, $00, $26, $00 - db $00, $08, $27, $00 - db $08, $00, $36, $00 - db $08, $08, $37, $00 - db $10, $00, $28, $00 - db $10, $08, $29, $00 - db $18, $00, $38, $00 - db $18, $08, $39, $00 - -FrameBlock2e: - db $08 - db $00, $00, $27, $20 - db $00, $08, $26, $20 - db $08, $00, $37, $20 - db $08, $08, $36, $20 - db $10, $00, $29, $20 - db $10, $08, $28, $20 - db $18, $00, $39, $20 - db $18, $08, $38, $20 - -FrameBlock2f: - db $04 - db $00, $00, $0c, $00 - db $00, $08, $0d, $00 - db $08, $00, $0c, $40 - db $08, $08, $0d, $40 - -FrameBlock30: - db $04 - db $00, $00, $44, $00 - db $00, $08, $44, $20 - db $08, $00, $44, $40 - db $08, $08, $44, $60 - -FrameBlock31: - db $01 - db $00, $00, $45, $00 - -FrameBlock32: - db $07 - db $00, $00, $4d, $00 - db $00, $08, $2f, $00 - db $00, $10, $4d, $20 - db $08, $00, $4e, $00 - db $08, $08, $07, $00 - db $08, $10, $4e, $20 - db $10, $08, $3f, $00 - -FrameBlock33: - db $07 - db $00, $08, $3f, $40 - db $08, $00, $4e, $40 - db $08, $08, $07, $40 - db $08, $10, $4e, $60 - db $10, $00, $4d, $40 - db $10, $08, $2f, $40 - db $10, $10, $4d, $60 - -FrameBlock34: - db $01 - db $a0, $00, $00, $10 - -FrameBlock35: - db $06 - db $00, $00, $2a, $00 - db $00, $08, $2b, $00 - db $08, $00, $3a, $00 - db $10, $00, $3a, $40 - db $18, $00, $2a, $40 - db $18, $08, $2b, $40 - -FrameBlock36: - db $04 - db $00, $00, $00, $00 - db $00, $08, $01, $00 - db $08, $00, $10, $00 - db $08, $08, $11, $00 - -FrameBlock37: - db $04 - db $00, $00, $01, $a0 - db $00, $08, $00, $a0 - db $08, $00, $11, $a0 - db $08, $08, $10, $a0 - -FrameBlock38: - db $04 - db $00, $00, $0a, $00 - db $00, $08, $0b, $00 - db $08, $00, $1a, $00 - db $08, $08, $1b, $00 - -FrameBlock39: - db $04 - db $00, $00, $0b, $20 - db $00, $08, $0a, $20 - db $08, $00, $1b, $20 - db $08, $08, $1a, $20 - -FrameBlock3a: - db $04 - db $20, $00, $05, $00 - db $20, $08, $05, $20 - db $28, $00, $15, $00 - db $28, $08, $15, $20 - -FrameBlock3b: - db $05 - db $18, $00, $04, $00 - db $18, $08, $04, $20 - db $20, $00, $14, $00 - db $20, $08, $14, $20 - db $28, $04, $41, $00 - -FrameBlock3c: - db $06 - db $10, $00, $05, $00 - db $10, $08, $05, $20 - db $18, $00, $15, $00 - db $18, $08, $15, $20 - db $20, $04, $42, $00 - db $28, $04, $42, $00 - -FrameBlock3d: - db $07 - db $08, $00, $04, $00 - db $08, $08, $04, $20 - db $10, $00, $14, $00 - db $10, $08, $14, $20 - db $18, $04, $41, $00 - db $20, $04, $41, $00 - db $28, $04, $41, $00 - -FrameBlock3e: - db $08 - db $00, $00, $05, $00 - db $00, $08, $05, $20 - db $08, $00, $15, $00 - db $08, $08, $15, $20 - db $10, $04, $42, $00 - db $18, $04, $42, $00 - db $20, $04, $42, $00 - db $28, $04, $42, $00 - -FrameBlock3f: - db $08 - db $00, $00, $04, $00 - db $00, $08, $04, $20 - db $08, $00, $14, $00 - db $08, $08, $14, $20 - db $10, $04, $41, $00 - db $18, $04, $41, $00 - db $20, $04, $41, $00 - db $28, $04, $41, $00 - -FrameBlock40: - db $03 - db $00, $00, $3d, $00 - db $00, $08, $3d, $00 - db $08, $08, $3d, $00 - -FrameBlock41: - db $04 - db $00, $00, $06, $00 - db $00, $08, $06, $20 - db $08, $00, $16, $00 - db $08, $08, $17, $00 - -FrameBlock42: - db $0b - db $00, $10, $42, $00 - db $08, $00, $42, $00 - db $08, $08, $42, $00 - db $08, $10, $42, $00 - db $08, $18, $42, $00 - db $08, $20, $42, $00 - db $10, $10, $42, $00 - db $18, $08, $42, $00 - db $18, $18, $42, $00 - db $20, $00, $42, $00 - db $20, $20, $42, $00 - -FrameBlock43: - db $0b - db $00, $10, $41, $00 - db $08, $00, $41, $00 - db $08, $08, $41, $00 - db $08, $10, $41, $00 - db $08, $18, $41, $00 - db $08, $20, $41, $00 - db $10, $10, $41, $00 - db $18, $08, $41, $00 - db $18, $18, $41, $00 - db $20, $00, $41, $00 - db $20, $20, $41, $00 - -FrameBlock44: - db $04 - db $00, $00, $49, $00 - db $00, $28, $49, $00 - db $28, $00, $49, $00 - db $28, $28, $49, $00 - -FrameBlock45: - db $04 - db $00, $00, $49, $00 - db $00, $18, $49, $00 - db $18, $00, $49, $00 - db $18, $18, $49, $00 - -FrameBlock46: - db $04 - db $00, $00, $49, $00 - db $00, $08, $49, $00 - db $08, $00, $49, $00 - db $08, $08, $49, $00 - -FrameBlock47: - db $04 - db $00, $00, $43, $00 - db $00, $08, $43, $20 - db $08, $00, $43, $40 - db $08, $08, $43, $60 - -SmallBlackCircleFrameBlock: - db $04 - db $08, $08, $33, $00 - db $08, $10, $33, $20 - db $10, $08, $33, $40 - db $10, $10, $33, $60 - -LargeBlockCircleFrameBlock: - db $10 - db $00, $00, $22, $00 - db $00, $08, $23, $00 - db $00, $10, $23, $20 - db $00, $18, $22, $20 - db $08, $00, $32, $00 - db $08, $08, $43, $00 - db $08, $10, $43, $20 - db $08, $18, $32, $20 - db $10, $00, $32, $40 - db $10, $08, $43, $40 - db $10, $10, $43, $60 - db $10, $18, $32, $60 - db $18, $00, $22, $40 - db $18, $08, $23, $40 - db $18, $10, $23, $60 - db $18, $18, $22, $60 - -FrameBlock71: - db $10 - db $00, $00, $22, $00 - db $00, $08, $3b, $00 - db $00, $10, $23, $20 - db $00, $18, $22, $20 - db $08, $00, $32, $00 - db $08, $08, $43, $00 - db $08, $10, $43, $20 - db $08, $18, $32, $20 - db $10, $00, $32, $40 - db $10, $08, $43, $40 - db $10, $10, $43, $60 - db $10, $18, $32, $60 - db $18, $00, $22, $40 - db $18, $08, $23, $40 - db $18, $10, $23, $60 - db $18, $18, $22, $60 - -FrameBlock72: - db $0c - db $00, $00, $32, $00 - db $00, $08, $43, $00 - db $00, $10, $43, $20 - db $00, $18, $32, $20 - db $08, $00, $32, $40 - db $08, $08, $43, $40 - db $08, $10, $43, $60 - db $08, $18, $32, $60 - db $10, $00, $22, $40 - db $10, $08, $23, $40 - db $10, $10, $23, $60 - db $10, $18, $22, $60 - -FrameBlock73: - db $08 - db $00, $00, $32, $40 - db $00, $08, $43, $40 - db $00, $10, $43, $60 - db $00, $18, $32, $60 - db $08, $00, $22, $40 - db $08, $08, $23, $40 - db $08, $10, $23, $60 - db $08, $18, $22, $60 - -FrameBlock74: - db $04 - db $00, $00, $22, $40 - db $00, $08, $23, $40 - db $00, $10, $23, $60 - db $00, $18, $22, $60 - -FrameBlock4a: - db $04 - db $08, $18, $4c, $20 - db $20, $08, $4b, $00 - db $30, $20, $4c, $00 - db $18, $30, $4b, $40 - -FrameBlock4b: - db $04 - db $00, $18, $4c, $00 - db $20, $00, $4b, $40 - db $38, $20, $4c, $20 - db $18, $38, $4b, $00 - -FrameBlock4c: - db $04 - db $10, $08, $4a, $40 - db $30, $10, $4a, $00 - db $28, $30, $4a, $20 - db $08, $28, $4a, $60 - -FrameBlock4d: - db $04 - db $08, $00, $4a, $20 - db $38, $08, $4a, $60 - db $30, $38, $4a, $40 - db $00, $30, $4a, $00 - -FrameBlock4e: - db $08 - db $00, $30, $44, $00 - db $00, $38, $44, $20 - db $08, $30, $44, $40 - db $08, $38, $44, $60 - db $26, $0a, $44, $00 - db $26, $12, $44, $20 - db $2e, $0a, $44, $40 - db $2e, $12, $44, $60 - -FrameBlock4f: - db $0c - db $0e, $22, $44, $00 - db $0e, $2a, $44, $20 - db $16, $22, $44, $40 - db $16, $2a, $44, $60 - db $06, $32, $47, $00 - db $00, $38, $47, $00 - db $1a, $16, $44, $00 - db $1a, $1e, $44, $20 - db $22, $16, $44, $40 - db $22, $1e, $44, $60 - db $30, $08, $47, $00 - db $2a, $0e, $47, $00 - -FrameBlock50: - db $08 - db $06, $32, $47, $00 - db $00, $38, $47, $00 - db $12, $26, $47, $00 - db $0c, $2c, $47, $00 - db $1e, $1a, $47, $00 - db $18, $20, $47, $00 - db $2a, $0e, $47, $00 - db $24, $14, $47, $00 - -FrameBlock51: - db $08 - db $00, $00, $35, $20 - db $08, $00, $35, $40 - db $10, $00, $35, $00 - db $18, $00, $35, $60 - db $00, $40, $35, $00 - db $08, $40, $35, $60 - db $10, $40, $35, $20 - db $18, $40, $35, $40 - -FrameBlock52: - db $04 - db $00, $00, $2a, $00 - db $00, $08, $2b, $00 - db $08, $00, $3a, $00 - db $08, $08, $3b, $00 - -FrameBlock53: - db $03 - db $00, $00, $3f, $00 - db $00, $08, $3f, $00 - db $08, $06, $3f, $00 - -FrameBlock54: - db $04 - db $00, $00, $0e, $00 - db $00, $08, $0e, $20 - db $08, $00, $0f, $00 - db $08, $08, $0f, $20 - -FrameBlock55: - db $03 - db $10, $00, $2c, $00 - db $10, $08, $3c, $00 - db $10, $10, $2d, $00 - -FrameBlock56: - db $06 - db $10, $10, $31, $00 - db $10, $18, $31, $00 - db $08, $10, $2c, $00 - db $08, $18, $3c, $00 - db $08, $20, $2d, $00 - db $10, $20, $2d, $00 - -FrameBlock57: - db $09 - db $08, $20, $31, $00 - db $10, $20, $31, $00 - db $08, $28, $31, $00 - db $10, $28, $31, $00 - db $00, $20, $2c, $00 - db $00, $28, $3c, $00 - db $00, $30, $2d, $00 - db $08, $30, $2d, $00 - db $10, $30, $2d, $00 - -FrameBlock58: - db $07 - db $00, $00, $46, $00 - db $08, $02, $47, $00 - db $10, $03, $48, $00 - db $18, $04, $48, $00 - db $20, $05, $48, $00 - db $28, $05, $48, $00 - db $30, $05, $48, $00 - -FrameBlock59: - db $01 - db $00, $00, $42, $00 - -FrameBlock5a: - db $0c - db $00, $00, $24, $00 - db $00, $08, $25, $00 - db $08, $00, $34, $00 - db $00, $10, $25, $20 - db $00, $18, $24, $20 - db $08, $18, $34, $20 - db $10, $00, $34, $40 - db $18, $00, $24, $40 - db $18, $08, $25, $40 - db $10, $18, $34, $60 - db $18, $10, $25, $60 - db $18, $18, $24, $60 - -FrameBlock5b: - db $04 - db $00, $00, $43, $00 - db $00, $08, $43, $20 - db $08, $00, $43, $40 - db $08, $08, $43, $60 - -FrameBlock5c: - db $08 - db $00, $00, $49, $00 - db $02, $08, $49, $00 - db $18, $00, $49, $00 - db $10, $10, $49, $00 - db $08, $00, $43, $00 - db $08, $08, $43, $20 - db $10, $00, $43, $40 - db $10, $08, $43, $60 - -FrameBlock5d: - db $0b - db $00, $00, $49, $00 - db $18, $02, $49, $00 - db $14, $10, $49, $00 - db $08, $00, $43, $00 - db $00, $08, $43, $20 - db $10, $00, $43, $40 - db $10, $08, $43, $60 - db $04, $08, $43, $00 - db $04, $10, $43, $20 - db $0c, $08, $43, $40 - db $0c, $10, $43, $60 - -FrameBlock5e: - db $0f - db $00, $08, $49, $00 - db $08, $10, $49, $00 - db $20, $00, $49, $00 - db $08, $00, $43, $00 - db $08, $08, $43, $20 - db $10, $00, $43, $40 - db $10, $08, $43, $60 - db $10, $10, $43, $00 - db $10, $18, $43, $20 - db $18, $10, $43, $40 - db $18, $18, $43, $60 - db $20, $08, $43, $00 - db $20, $10, $43, $20 - db $28, $08, $43, $40 - db $28, $10, $43, $60 - -FrameBlock5f: - db $04 - db $00, $00, $49, $00 - db $00, $10, $49, $00 - db $00, $20, $49, $00 - db $00, $30, $49, $00 - -FrameBlock60: - db $08 - db $00, $00, $49, $00 - db $00, $10, $49, $00 - db $00, $20, $49, $00 - db $00, $30, $49, $00 - db $08, $08, $49, $00 - db $08, $18, $49, $00 - db $08, $28, $49, $00 - db $08, $38, $49, $00 - -FrameBlock61: - db $0c - db $00, $00, $49, $00 - db $00, $10, $49, $00 - db $00, $20, $49, $00 - db $00, $30, $49, $00 - db $08, $08, $49, $00 - db $08, $18, $49, $00 - db $08, $28, $49, $00 - db $08, $38, $49, $00 - db $10, $00, $49, $00 - db $10, $10, $49, $00 - db $10, $20, $49, $00 - db $10, $30, $49, $00 - -FrameBlock62: - db $0f - db $00, $00, $49, $00 - db $00, $10, $49, $00 - db $00, $20, $49, $00 - db $00, $30, $49, $00 - db $08, $08, $49, $00 - db $08, $18, $49, $00 - db $08, $28, $49, $00 - db $08, $38, $49, $00 - db $10, $00, $49, $00 - db $10, $10, $49, $00 - db $10, $20, $49, $00 - db $10, $30, $49, $00 - db $18, $08, $49, $00 - db $18, $18, $49, $00 - db $18, $28, $49, $00 - db $18, $38, $49, $00 ; unused - -FrameBlock63: - db $06 - db $10, $00, $26, $00 - db $10, $08, $27, $00 - db $08, $10, $26, $00 - db $08, $18, $27, $00 - db $00, $20, $26, $00 - db $00, $28, $27, $00 - -FrameBlock64: - db $06 - db $18, $00, $27, $00 - db $10, $08, $26, $00 - db $10, $10, $27, $00 - db $08, $18, $26, $00 - db $08, $20, $27, $00 - db $00, $28, $26, $00 - -FrameBlock65: - db $06 - db $00, $00, $1c, $00 - db $00, $08, $1d, $00 - db $10, $00, $1c, $00 - db $10, $08, $1d, $00 - db $20, $00, $1c, $00 - db $20, $08, $1d, $00 - -FrameBlock66: - db $02 - db $00, $00, $03, $00 - db $08, $00, $13, $00 - -FrameBlock67: - db $01 - db $00, $00, $03, $00 - -FrameBlock68: - db $04 - db $00, $00, $03, $00 - db $00, $08, $03, $20 - db $08, $00, $13, $00 - db $08, $08, $13, $20 - -FrameBlock69: - db $01 - db $00, $00, $06, $00 - -FrameBlock6a: - db $08 - db $00, $00, $2e, $00 - db $00, $30, $2e, $20 - db $30, $00, $2e, $40 - db $30, $30, $2e, $60 - db $00, $18, $2f, $00 - db $30, $18, $2f, $40 - db $18, $00, $3e, $00 - db $18, $30, $3e, $20 - -FrameBlock6b: - db $08 - db $00, $00, $2e, $00 - db $00, $20, $2e, $20 - db $20, $00, $2e, $40 - db $20, $20, $2e, $60 - db $00, $10, $2f, $00 - db $20, $10, $2f, $40 - db $10, $00, $3e, $00 - db $10, $20, $3e, $20 - -FrameBlock6c: - db $08 - db $00, $00, $2e, $00 - db $00, $10, $2e, $20 - db $10, $00, $2e, $40 - db $10, $10, $2e, $60 - db $00, $08, $2f, $00 - db $10, $08, $2f, $40 - db $08, $00, $3e, $00 - db $08, $10, $3e, $20 - -FrameBlock6d: - db $02 - db $00, $00, $1e, $00 - db $00, $08, $1f, $00 - -FrameBlock6e: - db $04 - db $00, $00, $48, $00 - db $00, $08, $48, $20 - db $08, $00, $12, $00 - db $08, $08, $12, $20 - -FrameBlock6f: - db $04 - db $00, $00, $4a, $00 - db $00, $08, $07, $00 - db $08, $00, $16, $00 - db $08, $08, $17, $00 - -FrameBlock70: - db $04 - db $00, $00, $07, $20 - db $00, $08, $4a, $20 - db $08, $00, $17, $20 - db $08, $08, $16, $20 - -FrameBlock76: - db $07 - db $00, $10, $2f, $00 - db $01, $08, $2f, $00 - db $01, $18, $2f, $00 - db $02, $00, $2e, $00 - db $02, $20, $2e, $20 - db $0a, $00, $3e, $00 - db $0a, $20, $3e, $20 - -FrameBlock77: - db $04 - db $00, $02, $4b, $00 - db $00, $0a, $4c, $00 - db $08, $00, $4c, $60 - db $08, $08, $4b, $60 - -FrameBlock78: - db $01 - db $00, $00, $4d, $00 - -FrameBlock79: - db $01 - db $00, $00, $4e, $00 - -FrameBlockBaseCoords: - db $10, $68 - db $10, $70 - db $10, $78 - db $10, $80 - db $10, $88 - db $10, $90 - db $10, $98 - db $18, $68 - db $18, $70 - db $18, $78 - db $34, $28 - db $18, $80 - db $18, $88 - db $18, $98 - db $20, $68 - db $20, $70 - db $20, $78 - db $20, $80 - db $20, $88 - db $20, $90 - db $20, $98 - db $28, $68 - db $28, $70 - db $28, $78 - db $28, $80 - db $28, $88 - db $30, $68 - db $30, $70 - db $30, $78 - db $30, $80 - db $30, $90 - db $30, $98 - db $38, $68 - db $38, $78 - db $38, $80 - db $38, $88 - db $40, $68 - db $40, $70 - db $40, $78 - db $40, $80 - db $40, $88 - db $40, $98 - db $10, $60 - db $18, $60 - db $20, $60 - db $28, $60 - db $30, $60 - db $40, $60 - db $58, $28 - db $43, $38 - db $33, $48 - db $20, $58 - db $32, $78 - db $58, $58 - db $2C, $6C - db $34, $80 - db $48, $70 - db $42, $36 - db $38, $44 - db $40, $52 - db $48, $60 - db $3E, $6E - db $28, $7C - db $28, $8A - db $50, $3C - db $48, $50 - db $40, $64 - db $38, $38 - db $50, $30 - db $50, $38 - db $50, $40 - db $50, $48 - db $50, $50 - db $48, $58 - db $50, $44 - db $48, $48 - db $48, $4C - db $40, $50 - db $40, $54 - db $38, $58 - db $38, $5C - db $30, $64 - db $48, $40 - db $48, $39 - db $24, $88 - db $24, $70 - db $1C, $70 - db $1C, $88 - db $34, $68 - db $34, $88 - db $68, $50 - db $60, $50 - db $68, $60 - db $58, $50 - db $60, $60 - db $68, $40 - db $40, $40 - db $38, $40 - db $0B, $60 - db $44, $48 - db $40, $14 - db $48, $1C - db $50, $24 - db $4C, $24 - db $10, $62 - db $12, $62 - db $12, $60 - db $20, $72 - db $22, $72 - db $22, $70 - db $28, $62 - db $50, $0A - db $52, $0A - db $38, $30 - db $40, $48 - db $30, $48 - db $40, $30 - db $30, $40 - db $38, $48 - db $40, $4A - db $48, $4B - db $50, $4C - db $58, $4D - db $60, $4D - db $68, $4D - db $38, $10 - db $50, $10 - db $38, $28 - db $48, $18 - db $40, $20 - db $48, $20 - db $40, $3C - db $38, $50 - db $28, $64 - db $1C, $90 - db $24, $80 - db $2C, $70 - db $30, $38 - db $10, $50 - db $3C, $40 - db $40, $58 - db $30, $58 - db $58, $48 - db $50, $58 - db $48, $68 - db $40, $18 - db $28, $58 - db $40, $38 - db $48, $38 - db $08, $70 - db $44, $1C - db $3C, $58 - db $38, $60 - db $08, $60 - db $38, $70 - db $38, $6C - db $38, $64 - db $1C, $74 - db $2E, $74 - db $34, $50 - db $2F, $60 - db $31, $70 - db $4C, $30 - db $3B, $40 - db $2D, $50 - db $26, $60 - db $2D, $70 - db $28, $50 - db $1E, $60 - db $29, $70 - db $16, $60 - db $14, $58 - db $12, $54 - db $14, $50 - db $18, $4C - db $1C, $48 - db $48, $28 - -FrameBlock00: - db $00, $00 diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index 4e836510..2e478e5c 100755 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -194,7 +194,7 @@ PlayAnimation: jr .searchSpecialEffectTableLoop .foundMatch ld a, [hli] - cp $FF ; is there a sound to play? + cp -1 ; is there a sound to play? jr z, .skipPlayingSound ld [wAnimSoundID], a ; store sound push hl @@ -267,7 +267,7 @@ LoadSubanimation: ld d, a ; de = address of subanimation ld a, [de] ld b, a - and 31 + and %00011111 ld [wSubAnimCounter], a ; number of frame blocks ld a, b and %11100000 @@ -650,7 +650,7 @@ DoSpecialEffectByAnimationId: pop hl ret -INCLUDE "data/moves/animation_special_effects.asm" +INCLUDE "data/battle_anims/special_effects.asm" DoBallTossSpecialEffects: ld a, [wcf91] @@ -912,7 +912,7 @@ TailWhipAnimationUnused: ld c, 20 jp DelayFrames -INCLUDE "data/moves/animation_special_effect_pointers.asm" +INCLUDE "data/battle_anims/special_effect_pointers.asm" AnimationDelay10: ld c, 10 diff --git a/main.asm b/main.asm index 51f9fa9f..8e8ee1a1 100755 --- a/main.asm +++ b/main.asm @@ -352,6 +352,8 @@ INCLUDE "engine/overworld/cut2.asm" INCLUDE "engine/overworld/dust_smoke.asm" INCLUDE "gfx/fishing.asm" INCLUDE "data/moves/animations.asm" +INCLUDE "data/battle_anims/subanimations.asm" +INCLUDE "data/battle_anims/frame_blocks.asm" INCLUDE "engine/movie/evolution.asm" INCLUDE "engine/overworld/elevator.asm" INCLUDE "engine/items/tm_prices.asm" -- cgit v1.2.3 From 7bcb4b19c77eee2b8d2c3e769d25e7e4d7d028a7 Mon Sep 17 00:00:00 2001 From: Rangi Date: Thu, 16 Jul 2020 19:56:52 -0400 Subject: Un-deduplicate gfx/intro_credits/gengar.png's tiles --- Makefile | 2 ++ engine/movie/intro.asm | 1 + gfx/intro_credits/gengar.png | Bin 1082 -> 1089 bytes 3 files changed, 3 insertions(+) diff --git a/Makefile b/Makefile index 8b00cde9..bef635ae 100644 --- a/Makefile +++ b/Makefile @@ -122,6 +122,8 @@ gfx/intro_credits/blue_jigglypuff_3.2bpp: rgbgfx += -h gfx/intro_credits/red_nidorino_1.2bpp: rgbgfx += -h gfx/intro_credits/red_nidorino_2.2bpp: rgbgfx += -h gfx/intro_credits/red_nidorino_3.2bpp: rgbgfx += -h +gfx/intro_credits/gengar.2bpp: rgbgfx += -h +gfx/intro_credits/gengar.2bpp: tools/gfx += --remove-duplicates --preserve=0x19,0x76 gfx/intro_credits/the_end.2bpp: tools/gfx += --interleave --png=$< diff --git a/engine/movie/intro.asm b/engine/movie/intro.asm index 215b54ae..c5896ecb 100755 --- a/engine/movie/intro.asm +++ b/engine/movie/intro.asm @@ -445,6 +445,7 @@ GameFreakIntroEnd: FightIntroBackMon: INCBIN "gfx/intro_credits/gengar.2bpp" + ds 16, $00 ; blank tile FightIntroBackMonEnd: FightIntroFrontMon: diff --git a/gfx/intro_credits/gengar.png b/gfx/intro_credits/gengar.png index 99fcda8d..9558d1a1 100644 Binary files a/gfx/intro_credits/gengar.png and b/gfx/intro_credits/gengar.png differ -- cgit v1.2.3 From 0db7ee08ff2eb500f6ddd559cb18cc21219f2e70 Mon Sep 17 00:00:00 2001 From: Rangi Date: Thu, 16 Jul 2020 20:11:00 -0400 Subject: Use a macro for BattleTransition_DoubleCircle data --- engine/battle/battle_transitions.asm | 109 ++++++++++------------------------- 1 file changed, 29 insertions(+), 80 deletions(-) diff --git a/engine/battle/battle_transitions.asm b/engine/battle/battle_transitions.asm index 34b3fbdb..98040fa1 100644 --- a/engine/battle/battle_transitions.asm +++ b/engine/battle/battle_transitions.asm @@ -326,7 +326,7 @@ BattleTransition_FlashScreen_: ld hl, BattleTransition_FlashScreenPalettes .loop ld a, [hli] - cp $1 + cp 1 jr z, .done ldh [rBGP], a ld c, 2 @@ -339,7 +339,7 @@ BattleTransition_FlashScreen_: BattleTransition_FlashScreenPalettes: db $F9,$FE,$FF,$FE,$F9,$E4,$90,$40,$00,$40,$90,$E4 - db $01 ; terminator + db 1 ; end ; used for low level trainer dungeon battles BattleTransition_Shrink: @@ -649,87 +649,36 @@ BattleTransition_Circle_Sub2: ld l, a jp BattleTransition_Circle_Sub3 -BattleTransition_HalfCircle1: - db $01 - dw BattleTransition_CircleData1 - dwcoord 18, 6 - - db $01 - dw BattleTransition_CircleData2 - dwcoord 19, 3 - - db $01 - dw BattleTransition_CircleData3 - dwcoord 18, 0 - - db $01 - dw BattleTransition_CircleData4 - dwcoord 14, 0 - - db $01 - dw BattleTransition_CircleData5 - dwcoord 10, 0 - - db $00 - dw BattleTransition_CircleData5 - dwcoord 9, 0 - - db $00 - dw BattleTransition_CircleData4 - dwcoord 5, 0 - - db $00 - dw BattleTransition_CircleData3 - dwcoord 1, 0 - - db $00 - dw BattleTransition_CircleData2 - dwcoord 0, 3 +half_circle: MACRO + ; quadrant x, circle data, target coord + db \1 + dw \2 + dwcoord \3, \4 +ENDM - db $00 - dw BattleTransition_CircleData1 - dwcoord 1, 6 +BattleTransition_HalfCircle1: + half_circle $01, BattleTransition_CircleData1, 18, 6 + half_circle $01, BattleTransition_CircleData2, 19, 3 + half_circle $01, BattleTransition_CircleData3, 18, 0 + half_circle $01, BattleTransition_CircleData4, 14, 0 + half_circle $01, BattleTransition_CircleData5, 10, 0 + half_circle $00, BattleTransition_CircleData5, 9, 0 + half_circle $00, BattleTransition_CircleData4, 5, 0 + half_circle $00, BattleTransition_CircleData3, 1, 0 + half_circle $00, BattleTransition_CircleData2, 0, 3 + half_circle $00, BattleTransition_CircleData1, 1, 6 BattleTransition_HalfCircle2: - db $00 - dw BattleTransition_CircleData1 - dwcoord 1, 11 - - db $00 - dw BattleTransition_CircleData2 - dwcoord 0, 14 - - db $00 - dw BattleTransition_CircleData3 - dwcoord 1, 17 - - db $00 - dw BattleTransition_CircleData4 - dwcoord 5, 17 - - db $00 - dw BattleTransition_CircleData5 - dwcoord 9, 17 - - db $01 - dw BattleTransition_CircleData5 - dwcoord 10, 17 - - db $01 - dw BattleTransition_CircleData4 - dwcoord 14, 17 - - db $01 - dw BattleTransition_CircleData3 - dwcoord 18, 17 - - db $01 - dw BattleTransition_CircleData2 - dwcoord 19, 14 - - db $01 - dw BattleTransition_CircleData1 - dwcoord 18, 11 + half_circle $00, BattleTransition_CircleData1, 1, 11 + half_circle $00, BattleTransition_CircleData2, 0, 14 + half_circle $00, BattleTransition_CircleData3, 1, 17 + half_circle $00, BattleTransition_CircleData4, 5, 17 + half_circle $00, BattleTransition_CircleData5, 9, 17 + half_circle $01, BattleTransition_CircleData5, 10, 17 + half_circle $01, BattleTransition_CircleData4, 14, 17 + half_circle $01, BattleTransition_CircleData3, 18, 17 + half_circle $01, BattleTransition_CircleData2, 19, 14 + half_circle $01, BattleTransition_CircleData1, 18, 11 BattleTransition_Circle_Sub3: push hl -- cgit v1.2.3 From 2f43a411007194aef77849e4ea982e139e37507d Mon Sep 17 00:00:00 2001 From: Rangi Date: Thu, 16 Jul 2020 21:45:30 -0400 Subject: Use a battle_anim macro for move animations' special effects and subanimations Move animations' sound IDs are off by one from move IDs. --- constants/move_animation_constants.asm | 94 +- data/battle_anims/frame_blocks.asm | 245 ++--- data/battle_anims/special_effect_pointers.asm | 76 +- data/battle_anims/special_effects.asm | 46 +- data/moves/animations.asm | 1345 +++++++++++++------------ engine/battle/animations.asm | 37 +- 6 files changed, 973 insertions(+), 870 deletions(-) diff --git a/constants/move_animation_constants.asm b/constants/move_animation_constants.asm index d2025f4e..41dc240d 100644 --- a/constants/move_animation_constants.asm +++ b/constants/move_animation_constants.asm @@ -1,6 +1,7 @@ ; special effects that are part of move animations - - const_def $D8 + const_def $C0 +FIRST_SE_ID EQU const_value + const_skip $18 const SE_WAVY_SCREEN ; $D8 used in Psywave/Night Shade/Psychic etc. const SE_SUBSTITUTE_MON ; $D9 used in Substitute (turns the pokemon into a mini sprite) const SE_SHAKE_BACK_AND_FORTH ; $DA used in Double Team @@ -40,3 +41,92 @@ const SE_RESET_SCREEN_PALETTE ; $FC used in Leer/Thunderpunch/etc. const SE_DARK_SCREEN_PALETTE ; $FD used in Hyper Beam/Thunderpunch/etc. const SE_DARK_SCREEN_FLASH ; $FE used in Cut/Take Down/etc. + +; subanimations that are part of move animations + const_def + const SUBANIM_00 + const SUBANIM_01 + const SUBANIM_02 + const SUBANIM_03 + const SUBANIM_04 + const SUBANIM_05 + const SUBANIM_06 + const SUBANIM_07 + const SUBANIM_08 + const SUBANIM_09 + const SUBANIM_0A + const SUBANIM_0B + const SUBANIM_0C + const SUBANIM_0D + const SUBANIM_0E + const SUBANIM_0F + const SUBANIM_10 + const SUBANIM_11 + const SUBANIM_12 + const SUBANIM_13 + const SUBANIM_14 + const SUBANIM_15 + const SUBANIM_16 + const SUBANIM_17 + const SUBANIM_18 + const SUBANIM_19 + const SUBANIM_1A + const SUBANIM_1B + const SUBANIM_1C + const SUBANIM_1D + const SUBANIM_1E + const SUBANIM_1F + const SUBANIM_20 + const SUBANIM_21 + const SUBANIM_22 + const SUBANIM_23 + const SUBANIM_24 + const SUBANIM_25 + const SUBANIM_26 + const SUBANIM_27 + const SUBANIM_28 + const SUBANIM_29 + const SUBANIM_2A + const SUBANIM_2B + const SUBANIM_2C + const SUBANIM_2D + const SUBANIM_2E + const SUBANIM_2F + const SUBANIM_30 + const SUBANIM_31 + const SUBANIM_32 + const SUBANIM_33 + const SUBANIM_34 + const SUBANIM_35 + const SUBANIM_36 + const SUBANIM_37 + const SUBANIM_38 + const SUBANIM_39 + const SUBANIM_3A + const SUBANIM_3B + const SUBANIM_3C + const SUBANIM_3D + const SUBANIM_3E + const SUBANIM_3F + const SUBANIM_40 + const SUBANIM_41 + const SUBANIM_42 + const SUBANIM_43 + const SUBANIM_44 + const SUBANIM_45 + const SUBANIM_46 + const SUBANIM_47 + const SUBANIM_48 + const SUBANIM_49 + const SUBANIM_4A + const SUBANIM_4B + const SUBANIM_4C + const SUBANIM_4D + const SUBANIM_4E + const SUBANIM_4F + const SUBANIM_50 + const SUBANIM_51 + const SUBANIM_52 + const SUBANIM_53 + const SUBANIM_54 + const SUBANIM_55 diff --git a/data/battle_anims/frame_blocks.asm b/data/battle_anims/frame_blocks.asm index 2eb26748..34915a96 100644 --- a/data/battle_anims/frame_blocks.asm +++ b/data/battle_anims/frame_blocks.asm @@ -131,7 +131,7 @@ FrameBlockPointers: ; third byte = tile id (it's actually tile id - $31) ; fourth byte = tile properties (xflip/yflip/etc.) FrameBlock01: - db $09 + db 9 ; # db $00, $00, $2c, $00 db $00, $08, $2d, $00 db $00, $10, $2c, $20 @@ -143,7 +143,7 @@ FrameBlock01: db $10, $10, $2c, $60 FrameBlock02: - db $10 + db 16 ; # db $00, $00, $20, $00 db $00, $08, $21, $00 db $00, $10, $21, $20 @@ -162,28 +162,28 @@ FrameBlock02: db $18, $18, $20, $60 FrameBlock03: - db $04 + db 4 ; # db $00, $00, $02, $00 db $00, $08, $02, $20 db $08, $00, $12, $00 db $08, $08, $12, $20 FrameBlock04: - db $04 + db 4 ; # db $00, $00, $06, $00 db $00, $08, $07, $00 db $08, $00, $16, $00 db $08, $08, $17, $00 FrameBlock05: - db $04 + db 4 ; # db $00, $00, $07, $20 db $00, $08, $06, $20 db $08, $00, $17, $20 db $08, $08, $16, $20 FrameBlock06: - db $0c + db 12 ; # db $00, $08, $23, $00 db $08, $00, $32, $00 db $08, $08, $33, $00 @@ -198,7 +198,7 @@ FrameBlock06: db $18, $10, $23, $60 FrameBlock07: - db $10 + db 16 ; # db $00, $00, $20, $00 db $00, $08, $21, $00 db $08, $00, $30, $00 @@ -217,7 +217,7 @@ FrameBlock07: db $18, $18, $20, $60 FrameBlock08: - db $10 + db 16 ; # db $00, $00, $20, $00 db $00, $08, $21, $00 db $08, $00, $30, $00 @@ -236,7 +236,7 @@ FrameBlock08: db $20, $20, $20, $60 FrameBlock09: - db $0c + db 12 ; # db $00, $00, $24, $00 db $00, $08, $25, $00 db $08, $00, $34, $00 @@ -251,7 +251,7 @@ FrameBlock09: db $20, $20, $24, $60 FrameBlock0a: - db $0c + db 12 ; # db $00, $00, $24, $00 db $00, $08, $25, $00 db $08, $00, $34, $00 @@ -266,21 +266,21 @@ FrameBlock0a: db $28, $28, $24, $60 FrameBlock0b: - db $04 + db 4 ; # db $00, $00, $05, $00 db $00, $08, $05, $20 db $08, $00, $15, $00 db $08, $08, $15, $20 FrameBlock0c: - db $04 + db 4 ; # db $00, $00, $04, $00 db $00, $08, $04, $20 db $08, $00, $14, $00 db $08, $08, $14, $20 FrameBlock0d: - db $08 + db 8 ; # db $00, $00, $0c, $00 db $00, $08, $0d, $00 db $08, $00, $1c, $00 @@ -291,21 +291,21 @@ FrameBlock0d: db $18, $08, $0c, $60 FrameBlock0e: - db $04 + db 4 ; # db $20, $00, $0c, $00 db $20, $08, $0d, $00 db $28, $00, $1c, $00 db $28, $08, $1d, $00 FrameBlock0f: - db $04 + db 4 ; # db $30, $00, $1d, $60 db $30, $08, $1c, $60 db $38, $00, $0d, $60 db $38, $08, $0c, $60 FrameBlock10: - db $08 + db 8 ; # db $00, $00, $0e, $00 db $00, $08, $0f, $00 db $08, $00, $1e, $00 @@ -316,7 +316,7 @@ FrameBlock10: db $08, $18, $1e, $20 FrameBlock11: - db $08 + db 8 ; # db $00, $00, $0e, $00 db $00, $08, $0f, $00 db $08, $00, $1e, $00 @@ -327,20 +327,20 @@ FrameBlock11: db $08, $28, $1e, $20 FrameBlock12: - db $03 + db 3 ; # db $00, $00, $37, $00 db $08, $10, $37, $00 db $00, $20, $37, $00 FrameBlock13: - db $04 + db 4 ; # db $00, $00, $36, $00 db $00, $08, $36, $20 db $08, $00, $36, $40 db $08, $08, $36, $60 FrameBlock14: - db $08 + db 8 ; # db $00, $10, $28, $00 db $00, $18, $28, $20 db $08, $10, $38, $00 @@ -351,7 +351,7 @@ FrameBlock14: db $08, $28, $36, $60 FrameBlock15: - db $0c + db 12 ; # db $00, $00, $28, $00 db $00, $08, $28, $20 db $08, $00, $38, $00 @@ -366,7 +366,7 @@ FrameBlock15: db $08, $28, $38, $20 FrameBlock16: - db $08 + db 8 ; # db $00, $00, $29, $00 db $00, $08, $29, $20 db $08, $00, $39, $00 @@ -377,60 +377,60 @@ FrameBlock16: db $08, $28, $39, $20 FrameBlock17: - db $04 + db 4 ; # db $00, $00, $08, $00 db $00, $08, $09, $00 db $08, $00, $18, $00 db $08, $08, $19, $00 FrameBlock18: - db $01 + db 1 ; # db $18, $00, $45, $60 FrameBlock19: - db $02 + db 2 ; # db $18, $08, $45, $00 db $10, $08, $46, $60 FrameBlock1a: - db $02 + db 2 ; # db $10, $10, $45, $60 db $18, $10, $46, $00 FrameBlock1b: - db $02 + db 2 ; # db $10, $18, $45, $00 db $08, $18, $46, $60 FrameBlock1c: - db $02 + db 2 ; # db $08, $20, $45, $60 db $10, $20, $46, $00 FrameBlock1d: - db $02 + db 2 ; # db $08, $28, $45, $00 db $00, $28, $46, $60 FrameBlock1e: - db $02 + db 2 ; # db $00, $30, $45, $60 db $08, $30, $46, $00 FrameBlock75: - db $04 + db 4 ; # db $00, $00, $43, $00 db $00, $08, $43, $20 db $08, $00, $22, $00 db $08, $08, $43, $60 FrameBlock1f: - db $02 + db 2 ; # db $00, $00, $03, $00 db $00, $30, $03, $20 FrameBlock20: - db $06 + db 6 ; # db $00, $00, $03, $00 db $00, $30, $03, $20 db $08, $08, $03, $00 @@ -439,7 +439,7 @@ FrameBlock20: db $08, $30, $13, $20 FrameBlock21: - db $0c + db 12 ; # db $00, $00, $03, $00 db $00, $30, $03, $20 db $08, $08, $03, $00 @@ -454,7 +454,7 @@ FrameBlock21: db $10, $30, $03, $20 FrameBlock22: - db $13 + db 19 ; # db $00, $00, $03, $00 db $08, $00, $13, $00 db $10, $00, $03, $00 @@ -476,19 +476,19 @@ FrameBlock22: db $18, $30, $13, $20 FrameBlock23: - db $04 + db 4 ; # db $00, $00, $0a, $00 db $00, $08, $0b, $00 db $08, $00, $1a, $00 db $08, $08, $1b, $00 FrameBlock24: - db $02 + db 2 ; # db $08, $00, $0a, $00 db $08, $08, $0b, $00 FrameBlock25: - db $0c + db 12 ; # db $10, $00, $0a, $00 db $10, $08, $0b, $00 db $18, $00, $1a, $00 @@ -503,14 +503,14 @@ FrameBlock25: db $10, $28, $1b, $00 FrameBlock26: - db $04 + db 4 ; # db $00, $10, $44, $00 db $00, $18, $44, $20 db $08, $10, $44, $40 db $08, $18, $44, $60 FrameBlock27: - db $05 + db 5 ; # db $08, $08, $44, $00 db $08, $10, $44, $20 db $10, $08, $44, $40 @@ -518,7 +518,7 @@ FrameBlock27: db $00, $18, $47, $00 FrameBlock28: - db $06 + db 6 ; # db $10, $00, $44, $00 db $10, $08, $44, $20 db $18, $00, $44, $40 @@ -527,30 +527,30 @@ FrameBlock28: db $02, $16, $47, $00 FrameBlock29: - db $04 + db 4 ; # db $18, $00, $47, $00 db $12, $06, $47, $00 db $0c, $0c, $47, $00 db $06, $12, $47, $00 FrameBlock2a: - db $04 + db 4 ; # db $00, $00, $44, $00 db $00, $08, $44, $20 db $08, $00, $44, $40 db $08, $08, $44, $60 FrameBlock2b: - db $02 + db 2 ; # db $06, $02, $47, $00 db $00, $08, $47, $00 FrameBlock2c: - db $01 + db 1 ; # db $a0, $00, $4d, $00 FrameBlock2d: - db $08 + db 8 ; # db $00, $00, $26, $00 db $00, $08, $27, $00 db $08, $00, $36, $00 @@ -561,7 +561,7 @@ FrameBlock2d: db $18, $08, $39, $00 FrameBlock2e: - db $08 + db 8 ; # db $00, $00, $27, $20 db $00, $08, $26, $20 db $08, $00, $37, $20 @@ -572,25 +572,25 @@ FrameBlock2e: db $18, $08, $38, $20 FrameBlock2f: - db $04 + db 4 ; # db $00, $00, $0c, $00 db $00, $08, $0d, $00 db $08, $00, $0c, $40 db $08, $08, $0d, $40 FrameBlock30: - db $04 + db 4 ; # db $00, $00, $44, $00 db $00, $08, $44, $20 db $08, $00, $44, $40 db $08, $08, $44, $60 FrameBlock31: - db $01 + db 1 ; # db $00, $00, $45, $00 FrameBlock32: - db $07 + db 7 ; # db $00, $00, $4d, $00 db $00, $08, $2f, $00 db $00, $10, $4d, $20 @@ -600,7 +600,7 @@ FrameBlock32: db $10, $08, $3f, $00 FrameBlock33: - db $07 + db 7 ; # db $00, $08, $3f, $40 db $08, $00, $4e, $40 db $08, $08, $07, $40 @@ -610,11 +610,11 @@ FrameBlock33: db $10, $10, $4d, $60 FrameBlock34: - db $01 + db 1 ; # db $a0, $00, $00, $10 FrameBlock35: - db $06 + db 6 ; # db $00, $00, $2a, $00 db $00, $08, $2b, $00 db $08, $00, $3a, $00 @@ -623,42 +623,42 @@ FrameBlock35: db $18, $08, $2b, $40 FrameBlock36: - db $04 + db 4 ; # db $00, $00, $00, $00 db $00, $08, $01, $00 db $08, $00, $10, $00 db $08, $08, $11, $00 FrameBlock37: - db $04 + db 4 ; # db $00, $00, $01, $a0 db $00, $08, $00, $a0 db $08, $00, $11, $a0 db $08, $08, $10, $a0 FrameBlock38: - db $04 + db 4 ; # db $00, $00, $0a, $00 db $00, $08, $0b, $00 db $08, $00, $1a, $00 db $08, $08, $1b, $00 FrameBlock39: - db $04 + db 4 ; # db $00, $00, $0b, $20 db $00, $08, $0a, $20 db $08, $00, $1b, $20 db $08, $08, $1a, $20 FrameBlock3a: - db $04 + db 4 ; # db $20, $00, $05, $00 db $20, $08, $05, $20 db $28, $00, $15, $00 db $28, $08, $15, $20 FrameBlock3b: - db $05 + db 5 ; # db $18, $00, $04, $00 db $18, $08, $04, $20 db $20, $00, $14, $00 @@ -666,7 +666,7 @@ FrameBlock3b: db $28, $04, $41, $00 FrameBlock3c: - db $06 + db 6 ; # db $10, $00, $05, $00 db $10, $08, $05, $20 db $18, $00, $15, $00 @@ -675,7 +675,7 @@ FrameBlock3c: db $28, $04, $42, $00 FrameBlock3d: - db $07 + db 7 ; # db $08, $00, $04, $00 db $08, $08, $04, $20 db $10, $00, $14, $00 @@ -685,7 +685,7 @@ FrameBlock3d: db $28, $04, $41, $00 FrameBlock3e: - db $08 + db 8 ; # db $00, $00, $05, $00 db $00, $08, $05, $20 db $08, $00, $15, $00 @@ -696,7 +696,7 @@ FrameBlock3e: db $28, $04, $42, $00 FrameBlock3f: - db $08 + db 8 ; # db $00, $00, $04, $00 db $00, $08, $04, $20 db $08, $00, $14, $00 @@ -707,20 +707,20 @@ FrameBlock3f: db $28, $04, $41, $00 FrameBlock40: - db $03 + db 3 ; # db $00, $00, $3d, $00 db $00, $08, $3d, $00 db $08, $08, $3d, $00 FrameBlock41: - db $04 + db 4 ; # db $00, $00, $06, $00 db $00, $08, $06, $20 db $08, $00, $16, $00 db $08, $08, $17, $00 FrameBlock42: - db $0b + db 11 ; # db $00, $10, $42, $00 db $08, $00, $42, $00 db $08, $08, $42, $00 @@ -734,7 +734,7 @@ FrameBlock42: db $20, $20, $42, $00 FrameBlock43: - db $0b + db 11 ; # db $00, $10, $41, $00 db $08, $00, $41, $00 db $08, $08, $41, $00 @@ -748,42 +748,42 @@ FrameBlock43: db $20, $20, $41, $00 FrameBlock44: - db $04 + db 4 ; # db $00, $00, $49, $00 db $00, $28, $49, $00 db $28, $00, $49, $00 db $28, $28, $49, $00 FrameBlock45: - db $04 + db 4 ; # db $00, $00, $49, $00 db $00, $18, $49, $00 db $18, $00, $49, $00 db $18, $18, $49, $00 FrameBlock46: - db $04 + db 4 ; # db $00, $00, $49, $00 db $00, $08, $49, $00 db $08, $00, $49, $00 db $08, $08, $49, $00 FrameBlock47: - db $04 + db 4 ; # db $00, $00, $43, $00 db $00, $08, $43, $20 db $08, $00, $43, $40 db $08, $08, $43, $60 SmallBlackCircleFrameBlock: - db $04 + db 4 ; # db $08, $08, $33, $00 db $08, $10, $33, $20 db $10, $08, $33, $40 db $10, $10, $33, $60 LargeBlockCircleFrameBlock: - db $10 + db 16 ; # db $00, $00, $22, $00 db $00, $08, $23, $00 db $00, $10, $23, $20 @@ -802,7 +802,7 @@ LargeBlockCircleFrameBlock: db $18, $18, $22, $60 FrameBlock71: - db $10 + db 16 ; # db $00, $00, $22, $00 db $00, $08, $3b, $00 db $00, $10, $23, $20 @@ -821,7 +821,7 @@ FrameBlock71: db $18, $18, $22, $60 FrameBlock72: - db $0c + db 12 ; # db $00, $00, $32, $00 db $00, $08, $43, $00 db $00, $10, $43, $20 @@ -836,7 +836,7 @@ FrameBlock72: db $10, $18, $22, $60 FrameBlock73: - db $08 + db 8 ; # db $00, $00, $32, $40 db $00, $08, $43, $40 db $00, $10, $43, $60 @@ -847,42 +847,42 @@ FrameBlock73: db $08, $18, $22, $60 FrameBlock74: - db $04 + db 4 ; # db $00, $00, $22, $40 db $00, $08, $23, $40 db $00, $10, $23, $60 db $00, $18, $22, $60 FrameBlock4a: - db $04 + db 4 ; # db $08, $18, $4c, $20 db $20, $08, $4b, $00 db $30, $20, $4c, $00 db $18, $30, $4b, $40 FrameBlock4b: - db $04 + db 4 ; # db $00, $18, $4c, $00 db $20, $00, $4b, $40 db $38, $20, $4c, $20 db $18, $38, $4b, $00 FrameBlock4c: - db $04 + db 4 ; # db $10, $08, $4a, $40 db $30, $10, $4a, $00 db $28, $30, $4a, $20 db $08, $28, $4a, $60 FrameBlock4d: - db $04 + db 4 ; # db $08, $00, $4a, $20 db $38, $08, $4a, $60 db $30, $38, $4a, $40 db $00, $30, $4a, $00 FrameBlock4e: - db $08 + db 8 ; # db $00, $30, $44, $00 db $00, $38, $44, $20 db $08, $30, $44, $40 @@ -893,7 +893,7 @@ FrameBlock4e: db $2e, $12, $44, $60 FrameBlock4f: - db $0c + db 12 ; # db $0e, $22, $44, $00 db $0e, $2a, $44, $20 db $16, $22, $44, $40 @@ -908,7 +908,7 @@ FrameBlock4f: db $2a, $0e, $47, $00 FrameBlock50: - db $08 + db 8 ; # db $06, $32, $47, $00 db $00, $38, $47, $00 db $12, $26, $47, $00 @@ -919,7 +919,7 @@ FrameBlock50: db $24, $14, $47, $00 FrameBlock51: - db $08 + db 8 ; # db $00, $00, $35, $20 db $08, $00, $35, $40 db $10, $00, $35, $00 @@ -930,33 +930,33 @@ FrameBlock51: db $18, $40, $35, $40 FrameBlock52: - db $04 + db 4 ; # db $00, $00, $2a, $00 db $00, $08, $2b, $00 db $08, $00, $3a, $00 db $08, $08, $3b, $00 FrameBlock53: - db $03 + db 3 ; # db $00, $00, $3f, $00 db $00, $08, $3f, $00 db $08, $06, $3f, $00 FrameBlock54: - db $04 + db 4 ; # db $00, $00, $0e, $00 db $00, $08, $0e, $20 db $08, $00, $0f, $00 db $08, $08, $0f, $20 FrameBlock55: - db $03 + db 3 ; # db $10, $00, $2c, $00 db $10, $08, $3c, $00 db $10, $10, $2d, $00 FrameBlock56: - db $06 + db 6 ; # db $10, $10, $31, $00 db $10, $18, $31, $00 db $08, $10, $2c, $00 @@ -965,7 +965,7 @@ FrameBlock56: db $10, $20, $2d, $00 FrameBlock57: - db $09 + db 9 ; # db $08, $20, $31, $00 db $10, $20, $31, $00 db $08, $28, $31, $00 @@ -977,7 +977,7 @@ FrameBlock57: db $10, $30, $2d, $00 FrameBlock58: - db $07 + db 7 ; # db $00, $00, $46, $00 db $08, $02, $47, $00 db $10, $03, $48, $00 @@ -987,11 +987,11 @@ FrameBlock58: db $30, $05, $48, $00 FrameBlock59: - db $01 + db 1 ; # db $00, $00, $42, $00 FrameBlock5a: - db $0c + db 12 ; # db $00, $00, $24, $00 db $00, $08, $25, $00 db $08, $00, $34, $00 @@ -1006,14 +1006,14 @@ FrameBlock5a: db $18, $18, $24, $60 FrameBlock5b: - db $04 + db 4 ; # db $00, $00, $43, $00 db $00, $08, $43, $20 db $08, $00, $43, $40 db $08, $08, $43, $60 FrameBlock5c: - db $08 + db 8 ; # db $00, $00, $49, $00 db $02, $08, $49, $00 db $18, $00, $49, $00 @@ -1024,7 +1024,7 @@ FrameBlock5c: db $10, $08, $43, $60 FrameBlock5d: - db $0b + db 11 ; # db $00, $00, $49, $00 db $18, $02, $49, $00 db $14, $10, $49, $00 @@ -1038,7 +1038,7 @@ FrameBlock5d: db $0c, $10, $43, $60 FrameBlock5e: - db $0f + db 15 ; # db $00, $08, $49, $00 db $08, $10, $49, $00 db $20, $00, $49, $00 @@ -1056,14 +1056,14 @@ FrameBlock5e: db $28, $10, $43, $60 FrameBlock5f: - db $04 + db 4 ; # db $00, $00, $49, $00 db $00, $10, $49, $00 db $00, $20, $49, $00 db $00, $30, $49, $00 FrameBlock60: - db $08 + db 8 ; # db $00, $00, $49, $00 db $00, $10, $49, $00 db $00, $20, $49, $00 @@ -1074,7 +1074,7 @@ FrameBlock60: db $08, $38, $49, $00 FrameBlock61: - db $0c + db 12 ; # db $00, $00, $49, $00 db $00, $10, $49, $00 db $00, $20, $49, $00 @@ -1089,7 +1089,7 @@ FrameBlock61: db $10, $30, $49, $00 FrameBlock62: - db $0f + db 15 ; # db $00, $00, $49, $00 db $00, $10, $49, $00 db $00, $20, $49, $00 @@ -1108,7 +1108,7 @@ FrameBlock62: db $18, $38, $49, $00 ; unused FrameBlock63: - db $06 + db 6 ; # db $10, $00, $26, $00 db $10, $08, $27, $00 db $08, $10, $26, $00 @@ -1117,7 +1117,7 @@ FrameBlock63: db $00, $28, $27, $00 FrameBlock64: - db $06 + db 6 ; # db $18, $00, $27, $00 db $10, $08, $26, $00 db $10, $10, $27, $00 @@ -1126,7 +1126,7 @@ FrameBlock64: db $00, $28, $26, $00 FrameBlock65: - db $06 + db 6 ; # db $00, $00, $1c, $00 db $00, $08, $1d, $00 db $10, $00, $1c, $00 @@ -1135,27 +1135,27 @@ FrameBlock65: db $20, $08, $1d, $00 FrameBlock66: - db $02 + db 2 ; # db $00, $00, $03, $00 db $08, $00, $13, $00 FrameBlock67: - db $01 + db 1 ; # db $00, $00, $03, $00 FrameBlock68: - db $04 + db 4 ; # db $00, $00, $03, $00 db $00, $08, $03, $20 db $08, $00, $13, $00 db $08, $08, $13, $20 FrameBlock69: - db $01 + db 1 ; # db $00, $00, $06, $00 FrameBlock6a: - db $08 + db 8 ; # db $00, $00, $2e, $00 db $00, $30, $2e, $20 db $30, $00, $2e, $40 @@ -1166,7 +1166,7 @@ FrameBlock6a: db $18, $30, $3e, $20 FrameBlock6b: - db $08 + db 8 ; # db $00, $00, $2e, $00 db $00, $20, $2e, $20 db $20, $00, $2e, $40 @@ -1177,7 +1177,7 @@ FrameBlock6b: db $10, $20, $3e, $20 FrameBlock6c: - db $08 + db 8 ; # db $00, $00, $2e, $00 db $00, $10, $2e, $20 db $10, $00, $2e, $40 @@ -1188,33 +1188,33 @@ FrameBlock6c: db $08, $10, $3e, $20 FrameBlock6d: - db $02 + db 2 ; # db $00, $00, $1e, $00 db $00, $08, $1f, $00 FrameBlock6e: - db $04 + db 4 ; # db $00, $00, $48, $00 db $00, $08, $48, $20 db $08, $00, $12, $00 db $08, $08, $12, $20 FrameBlock6f: - db $04 + db 4 ; # db $00, $00, $4a, $00 db $00, $08, $07, $00 db $08, $00, $16, $00 db $08, $08, $17, $00 FrameBlock70: - db $04 + db 4 ; # db $00, $00, $07, $20 db $00, $08, $4a, $20 db $08, $00, $17, $20 db $08, $08, $16, $20 FrameBlock76: - db $07 + db 7 ; # db $00, $10, $2f, $00 db $01, $08, $2f, $00 db $01, $18, $2f, $00 @@ -1224,18 +1224,18 @@ FrameBlock76: db $0a, $20, $3e, $20 FrameBlock77: - db $04 + db 4 ; # db $00, $02, $4b, $00 db $00, $0a, $4c, $00 db $08, $00, $4c, $60 db $08, $08, $4b, $60 FrameBlock78: - db $01 + db 1 ; # db $00, $00, $4d, $00 FrameBlock79: - db $01 + db 1 ; # db $00, $00, $4e, $00 FrameBlockBaseCoords: @@ -1418,4 +1418,5 @@ FrameBlockBaseCoords: db $48, $28 FrameBlock00: - db $00, $00 + db 0 ; # + db $00 diff --git a/data/battle_anims/special_effect_pointers.asm b/data/battle_anims/special_effect_pointers.asm index ae60abb8..4e2fb857 100644 --- a/data/battle_anims/special_effect_pointers.asm +++ b/data/battle_anims/special_effect_pointers.asm @@ -5,43 +5,43 @@ ENDM SpecialEffectPointers: ; special effect id, effect routine address - special_effect SE_DARK_SCREEN_FLASH, AnimationFlashScreen ; $FE - special_effect SE_DARK_SCREEN_PALETTE, AnimationDarkScreenPalette ; $FD - special_effect SE_RESET_SCREEN_PALETTE, AnimationResetScreenPalette ; $FC - special_effect SE_SHAKE_SCREEN, AnimationShakeScreen ; $FB + special_effect SE_DARK_SCREEN_FLASH, AnimationFlashScreen ; $FE + special_effect SE_DARK_SCREEN_PALETTE, AnimationDarkScreenPalette ; $FD + special_effect SE_RESET_SCREEN_PALETTE, AnimationResetScreenPalette ; $FC + special_effect SE_SHAKE_SCREEN, AnimationShakeScreen ; $FB special_effect SE_WATER_DROPLETS_EVERYWHERE, AnimationWaterDropletsEverywhere ; $FA - special_effect SE_DARKEN_MON_PALETTE, AnimationDarkenMonPalette ; $F9 - special_effect SE_FLASH_SCREEN_LONG, AnimationFlashScreenLong ; $F8 - special_effect SE_SLIDE_MON_UP, AnimationSlideMonUp ; $F7 - special_effect SE_SLIDE_MON_DOWN, AnimationSlideMonDown ; $F6 - special_effect SE_FLASH_MON_PIC, AnimationFlashMonPic ; $F5 - special_effect SE_SLIDE_MON_OFF, AnimationSlideMonOff ; $F4 - special_effect SE_BLINK_MON, AnimationBlinkMon ; $F3 - special_effect SE_MOVE_MON_HORIZONTALLY, AnimationMoveMonHorizontally ; $F2 - special_effect SE_RESET_MON_POSITION, AnimationResetMonPosition ; $F1 - special_effect SE_LIGHT_SCREEN_PALETTE, AnimationLightScreenPalette ; $F0 - special_effect SE_HIDE_MON_PIC, AnimationHideMonPic ; $EF - special_effect SE_SQUISH_MON_PIC, AnimationSquishMonPic ; $EE - special_effect SE_SHOOT_BALLS_UPWARD, AnimationShootBallsUpward ; $ED - special_effect SE_SHOOT_MANY_BALLS_UPWARD, AnimationShootManyBallsUpward ; $EC - special_effect SE_BOUNCE_UP_AND_DOWN, AnimationBoundUpAndDown ; $EB - special_effect SE_MINIMIZE_MON, AnimationMinimizeMon ; $EA - special_effect SE_SLIDE_MON_DOWN_AND_HIDE, AnimationSlideMonDownAndHide ; $E9 - special_effect SE_TRANSFORM_MON, AnimationTransformMon ; $E8 - special_effect SE_LEAVES_FALLING, AnimationLeavesFalling ; $E7 - special_effect SE_PETALS_FALLING, AnimationPetalsFalling ; $E6 - special_effect SE_SLIDE_MON_HALF_OFF, AnimationSlideMonHalfOff ; $E5 - special_effect SE_SHAKE_ENEMY_HUD, AnimationShakeEnemyHUD ; $E4 - special_effect SE_SHAKE_ENEMY_HUD_2, AnimationShakeEnemyHUD ; unused--same pointer as SE_SHAKE_ENEMY_HUD ($E4) - special_effect SE_SPIRAL_BALLS_INWARD, AnimationSpiralBallsInward ; $E2 - special_effect SE_DELAY_ANIMATION_10, AnimationDelay10 ; $E1 - special_effect SE_FLASH_ENEMY_MON_PIC, AnimationFlashEnemyMonPic ; unused--same as SE_FLASH_MON_PIC ($F5), but for the enemy mon - special_effect SE_HIDE_ENEMY_MON_PIC, AnimationHideEnemyMonPic ; $DF - special_effect SE_BLINK_ENEMY_MON, AnimationBlinkEnemyMon ; $DE - special_effect SE_SHOW_MON_PIC, AnimationShowMonPic ; $DD - special_effect SE_SHOW_ENEMY_MON_PIC, AnimationShowEnemyMonPic ; $DC - special_effect SE_SLIDE_ENEMY_MON_OFF, AnimationSlideEnemyMonOff ; $DB - special_effect SE_SHAKE_BACK_AND_FORTH, AnimationShakeBackAndForth ; $DA - special_effect SE_SUBSTITUTE_MON, AnimationSubstitute ; $D9 - special_effect SE_WAVY_SCREEN, AnimationWavyScreen ; $D8 + special_effect SE_DARKEN_MON_PALETTE, AnimationDarkenMonPalette ; $F9 + special_effect SE_FLASH_SCREEN_LONG, AnimationFlashScreenLong ; $F8 + special_effect SE_SLIDE_MON_UP, AnimationSlideMonUp ; $F7 + special_effect SE_SLIDE_MON_DOWN, AnimationSlideMonDown ; $F6 + special_effect SE_FLASH_MON_PIC, AnimationFlashMonPic ; $F5 + special_effect SE_SLIDE_MON_OFF, AnimationSlideMonOff ; $F4 + special_effect SE_BLINK_MON, AnimationBlinkMon ; $F3 + special_effect SE_MOVE_MON_HORIZONTALLY, AnimationMoveMonHorizontally ; $F2 + special_effect SE_RESET_MON_POSITION, AnimationResetMonPosition ; $F1 + special_effect SE_LIGHT_SCREEN_PALETTE, AnimationLightScreenPalette ; $F0 + special_effect SE_HIDE_MON_PIC, AnimationHideMonPic ; $EF + special_effect SE_SQUISH_MON_PIC, AnimationSquishMonPic ; $EE + special_effect SE_SHOOT_BALLS_UPWARD, AnimationShootBallsUpward ; $ED + special_effect SE_SHOOT_MANY_BALLS_UPWARD, AnimationShootManyBallsUpward ; $EC + special_effect SE_BOUNCE_UP_AND_DOWN, AnimationBoundUpAndDown ; $EB + special_effect SE_MINIMIZE_MON, AnimationMinimizeMon ; $EA + special_effect SE_SLIDE_MON_DOWN_AND_HIDE, AnimationSlideMonDownAndHide ; $E9 + special_effect SE_TRANSFORM_MON, AnimationTransformMon ; $E8 + special_effect SE_LEAVES_FALLING, AnimationLeavesFalling ; $E7 + special_effect SE_PETALS_FALLING, AnimationPetalsFalling ; $E6 + special_effect SE_SLIDE_MON_HALF_OFF, AnimationSlideMonHalfOff ; $E5 + special_effect SE_SHAKE_ENEMY_HUD, AnimationShakeEnemyHUD ; $E4 + special_effect SE_SHAKE_ENEMY_HUD_2, AnimationShakeEnemyHUD ; $E3 unused + special_effect SE_SPIRAL_BALLS_INWARD, AnimationSpiralBallsInward ; $E2 + special_effect SE_DELAY_ANIMATION_10, AnimationDelay10 ; $E1 + special_effect SE_FLASH_ENEMY_MON_PIC, AnimationFlashEnemyMonPic ; $E0 unused + special_effect SE_HIDE_ENEMY_MON_PIC, AnimationHideEnemyMonPic ; $DF + special_effect SE_BLINK_ENEMY_MON, AnimationBlinkEnemyMon ; $DE + special_effect SE_SHOW_MON_PIC, AnimationShowMonPic ; $DD + special_effect SE_SHOW_ENEMY_MON_PIC, AnimationShowEnemyMonPic ; $DC + special_effect SE_SLIDE_ENEMY_MON_OFF, AnimationSlideEnemyMonOff ; $DB + special_effect SE_SHAKE_BACK_AND_FORTH, AnimationShakeBackAndForth ; $DA + special_effect SE_SUBSTITUTE_MON, AnimationSubstitute ; $D9 + special_effect SE_WAVY_SCREEN, AnimationWavyScreen ; $D8 db -1 ; end diff --git a/data/battle_anims/special_effects.asm b/data/battle_anims/special_effects.asm index 50c89ffb..98385d47 100644 --- a/data/battle_anims/special_effects.asm +++ b/data/battle_anims/special_effects.asm @@ -5,28 +5,28 @@ ENDM AnimationIdSpecialEffects: ; animation id, effect routine address - anim_special_effect MEGA_PUNCH, AnimationFlashScreen - anim_special_effect GUILLOTINE, AnimationFlashScreen - anim_special_effect MEGA_KICK, AnimationFlashScreen - anim_special_effect HEADBUTT, AnimationFlashScreen - anim_special_effect TAIL_WHIP, TailWhipAnimationUnused - anim_special_effect GROWL, DoGrowlSpecialEffects - anim_special_effect DISABLE, AnimationFlashScreen - anim_special_effect BLIZZARD, DoBlizzardSpecialEffects - anim_special_effect BUBBLEBEAM, AnimationFlashScreen - anim_special_effect HYPER_BEAM, FlashScreenEveryFourFrameBlocks - anim_special_effect THUNDERBOLT, FlashScreenEveryEightFrameBlocks - anim_special_effect REFLECT, AnimationFlashScreen - anim_special_effect SELFDESTRUCT, DoExplodeSpecialEffects - anim_special_effect SPORE, AnimationFlashScreen - anim_special_effect EXPLOSION, DoExplodeSpecialEffects - anim_special_effect ROCK_SLIDE, DoRockSlideSpecialEffects - anim_special_effect TRADE_BALL_DROP_ANIM, TradeHidePokemon + anim_special_effect MEGA_PUNCH, AnimationFlashScreen + anim_special_effect GUILLOTINE, AnimationFlashScreen + anim_special_effect MEGA_KICK, AnimationFlashScreen + anim_special_effect HEADBUTT, AnimationFlashScreen + anim_special_effect TAIL_WHIP, TailWhipAnimationUnused + anim_special_effect GROWL, DoGrowlSpecialEffects + anim_special_effect DISABLE, AnimationFlashScreen + anim_special_effect BLIZZARD, DoBlizzardSpecialEffects + anim_special_effect BUBBLEBEAM, AnimationFlashScreen + anim_special_effect HYPER_BEAM, FlashScreenEveryFourFrameBlocks + anim_special_effect THUNDERBOLT, FlashScreenEveryEightFrameBlocks + anim_special_effect REFLECT, AnimationFlashScreen + anim_special_effect SELFDESTRUCT, DoExplodeSpecialEffects + anim_special_effect SPORE, AnimationFlashScreen + anim_special_effect EXPLOSION, DoExplodeSpecialEffects + anim_special_effect ROCK_SLIDE, DoRockSlideSpecialEffects + anim_special_effect TRADE_BALL_DROP_ANIM, TradeHidePokemon anim_special_effect TRADE_BALL_SHAKE_ANIM, TradeShakePokeball - anim_special_effect TRADE_BALL_TILT_ANIM, TradeJumpPokeball - anim_special_effect TOSS_ANIM, DoBallTossSpecialEffects - anim_special_effect SHAKE_ANIM, DoBallShakeSpecialEffects - anim_special_effect POOF_ANIM, DoPoofSpecialEffects - anim_special_effect GREATTOSS_ANIM, DoBallTossSpecialEffects - anim_special_effect ULTRATOSS_ANIM, DoBallTossSpecialEffects + anim_special_effect TRADE_BALL_TILT_ANIM, TradeJumpPokeball + anim_special_effect TOSS_ANIM, DoBallTossSpecialEffects + anim_special_effect SHAKE_ANIM, DoBallShakeSpecialEffects + anim_special_effect POOF_ANIM, DoPoofSpecialEffects + anim_special_effect GREATTOSS_ANIM, DoBallTossSpecialEffects + anim_special_effect ULTRATOSS_ANIM, DoBallTossSpecialEffects db -1 ; end diff --git a/data/moves/animations.asm b/data/moves/animations.asm index 838065d3..40cb89fa 100755 --- a/data/moves/animations.asm +++ b/data/moves/animations.asm @@ -203,1059 +203,1072 @@ AttackAnimationPointers: dw ThrowBaitAnim dw ZigZagScreenAnim -; each animation is a list of subanimations and special effects -; if first byte < $56 -; db tileset_and_delay, sound_id, subanimation_id -; if first byte >= $D8 -; db special_effect_id, sound_id -; $FF terminated +; each animation is a list of subanimations +; and/or special effects, terminated by -1 + +;\1: sound_id +;\2: special_effect_id or subanimation_id +; if \2 is a subanimation_id: +;\3: tileset_id +;\4: delay +battle_anim: MACRO + IF _NARG == 4 + db (\3 << 6) | \4 + db \1 - 1 + db \2 + ELSE + db \2 + db \1 - 1 + ENDC +ENDM + ZigZagScreenAnim: - db SE_WAVY_SCREEN, $FF - db $FF + battle_anim NO_MOVE, SE_WAVY_SCREEN + db -1 ; end PoundAnim: StruggleAnim: - db $08, $00, $01 - db $FF + battle_anim POUND, SUBANIM_01, 0, 8 + db -1 ; end KarateChopAnim: - db $08, $01, $03 - db $FF + battle_anim KARATE_CHOP, SUBANIM_03, 0, 8 + db -1 ; end DoubleSlapAnim: - db $05, $02, $01 - db $05, $02, $01 - db $FF + battle_anim DOUBLESLAP, SUBANIM_01, 0, 5 + battle_anim DOUBLESLAP, SUBANIM_01, 0, 5 + db -1 ; end CometPunchAnim: - db $04, $03, $02 - db $04, $03, $02 - db $FF + battle_anim COMET_PUNCH, SUBANIM_02, 0, 4 + battle_anim COMET_PUNCH, SUBANIM_02, 0, 4 + db -1 ; end MegaPunchAnim: - db $46, $04, $04 - db $FF + battle_anim MEGA_PUNCH, SUBANIM_04, 1, 6 + db -1 ; end PayDayAnim: - db $08, $00, $01 - db $04, $05, $52 - db $FF + battle_anim POUND, SUBANIM_01, 0, 8 + battle_anim PAY_DAY, SUBANIM_52, 0, 4 + db -1 ; end FirePunchAnim: - db $06, $06, $02 - db $46, $FF, $11 - db $FF + battle_anim FIRE_PUNCH, SUBANIM_02, 0, 6 + battle_anim NO_MOVE, SUBANIM_11, 1, 6 + db -1 ; end IcePunchAnim: - db $06, $07, $02 - db $10, $FF, $2F - db $FF + battle_anim ICE_PUNCH, SUBANIM_02, 0, 6 + battle_anim NO_MOVE, SUBANIM_2F, 0, 16 + db -1 ; end ThunderPunchAnim: - db $06, $08, $02 - db SE_DARK_SCREEN_PALETTE, $FF - db $46, $FF, $2B - db SE_RESET_SCREEN_PALETTE, $FF - db $FF + battle_anim THUNDERPUNCH, SUBANIM_02, 0, 6 + battle_anim NO_MOVE, SE_DARK_SCREEN_PALETTE + battle_anim NO_MOVE, SUBANIM_2B, 1, 6 + battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE + db -1 ; end ScratchAnim: - db $06, $09, $0F - db $FF + battle_anim SCRATCH, SUBANIM_0F, 0, 6 + db -1 ; end VicegripAnim: - db $08, $0A, $2A - db $FF + battle_anim VICEGRIP, SUBANIM_2A, 0, 8 + db -1 ; end GuillotineAnim: - db $06, $0B, $2A - db $FF + battle_anim GUILLOTINE, SUBANIM_2A, 0, 6 + db -1 ; end RazorWindAnim: - db $04, $0C, $16 - db $FF + battle_anim RAZOR_WIND, SUBANIM_16, 0, 4 + db -1 ; end SwordsDanceAnim: - db $46, $0D, $18 - db $46, $0D, $18 - db $46, $0D, $18 - db $FF + battle_anim SWORDS_DANCE, SUBANIM_18, 1, 6 + battle_anim SWORDS_DANCE, SUBANIM_18, 1, 6 + battle_anim SWORDS_DANCE, SUBANIM_18, 1, 6 + db -1 ; end CutAnim: - db SE_DARK_SCREEN_FLASH, $0E - db $04, $FF, $16 - db $FF + battle_anim CUT, SE_DARK_SCREEN_FLASH + battle_anim NO_MOVE, SUBANIM_16, 0, 4 + db -1 ; end GustAnim: - db $46, $0F, $10 - db $06, $FF, $02 - db $FF + battle_anim GUST, SUBANIM_10, 1, 6 + battle_anim NO_MOVE, SUBANIM_02, 0, 6 + db -1 ; end WingAttackAnim: - db $46, $10, $04 - db $FF + battle_anim WING_ATTACK, SUBANIM_04, 1, 6 + db -1 ; end WhirlwindAnim: - db $46, $11, $10 - db SE_SLIDE_ENEMY_MON_OFF, $FF - db $FF + battle_anim WHIRLWIND, SUBANIM_10, 1, 6 + battle_anim NO_MOVE, SE_SLIDE_ENEMY_MON_OFF + db -1 ; end FlyAnim: - db $46, $12, $04 - db SE_SHOW_MON_PIC, $FF - db $FF + battle_anim FLY, SUBANIM_04, 1, 6 + battle_anim NO_MOVE, SE_SHOW_MON_PIC + db -1 ; end BindAnim: - db $04, $13, $23 - db $04, $13, $23 - db $FF + battle_anim BIND, SUBANIM_23, 0, 4 + battle_anim BIND, SUBANIM_23, 0, 4 + db -1 ; end SlamAnim: - db $06, $14, $02 - db $FF + battle_anim SLAM, SUBANIM_02, 0, 6 + db -1 ; end VineWhipAnim: - db $01, $15, $16 - db $08, $FF, $01 - db $FF + battle_anim VINE_WHIP, SUBANIM_16, 0, 1 + battle_anim NO_MOVE, SUBANIM_01, 0, 8 + db -1 ; end StompAnim: - db $48, $16, $05 - db $FF + battle_anim STOMP, SUBANIM_05, 1, 8 + db -1 ; end DoubleKickAnim: - db $08, $17, $01 - db $08, $17, $01 - db $FF + battle_anim DOUBLE_KICK, SUBANIM_01, 0, 8 + battle_anim DOUBLE_KICK, SUBANIM_01, 0, 8 + db -1 ; end MegaKickAnim: - db $46, $18, $04 - db $FF + battle_anim MEGA_KICK, SUBANIM_04, 1, 6 + db -1 ; end JumpKickAnim: - db $46, $19, $04 - db $FF + battle_anim JUMP_KICK, SUBANIM_04, 1, 6 + db -1 ; end RollingKickAnim: - db SE_DARK_SCREEN_FLASH, $1A - db $46, $FF, $04 - db $FF + battle_anim ROLLING_KICK, SE_DARK_SCREEN_FLASH + battle_anim NO_MOVE, SUBANIM_04, 1, 6 + db -1 ; end SandAttackAnim: - db $46, $1B, $28 - db $FF + battle_anim SAND_ATTACK, SUBANIM_28, 1, 6 + db -1 ; end HeatButtAnim: - db $46, $1C, $05 - db $FF + battle_anim HEADBUTT, SUBANIM_05, 1, 6 + db -1 ; end HornAttackAnim: - db $06, $1D, $45 - db $46, $FF, $05 - db $FF + battle_anim HORN_ATTACK, SUBANIM_45, 0, 6 + battle_anim NO_MOVE, SUBANIM_05, 1, 6 + db -1 ; end FuryAttackAnim: - db $02, $1E, $46 - db $02, $FF, $46 - db $FF + battle_anim FURY_ATTACK, SUBANIM_46, 0, 2 + battle_anim NO_MOVE, SUBANIM_46, 0, 2 + db -1 ; end HornDrillAnim: - db $42, $1F, $05 - db $42, $FF, $05 - db $42, $FF, $05 - db $42, $FF, $05 - db $42, $FF, $05 - db $FF + battle_anim HORN_DRILL, SUBANIM_05, 1, 2 + battle_anim NO_MOVE, SUBANIM_05, 1, 2 + battle_anim NO_MOVE, SUBANIM_05, 1, 2 + battle_anim NO_MOVE, SUBANIM_05, 1, 2 + battle_anim NO_MOVE, SUBANIM_05, 1, 2 + db -1 ; end TackleAnim: - db SE_MOVE_MON_HORIZONTALLY, $48 - db SE_RESET_MON_POSITION, $FF - db $FF + battle_anim LEECH_SEED, SE_MOVE_MON_HORIZONTALLY + battle_anim NO_MOVE, SE_RESET_MON_POSITION + db -1 ; end BodySlamAnim: - db SE_MOVE_MON_HORIZONTALLY, $48 - db SE_DARK_SCREEN_FLASH, $FF - db SE_DARK_SCREEN_FLASH, $FF - db SE_RESET_MON_POSITION, $FF - db $FF + battle_anim LEECH_SEED, SE_MOVE_MON_HORIZONTALLY + battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH + battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH + battle_anim NO_MOVE, SE_RESET_MON_POSITION + db -1 ; end WrapAnim: - db $04, $22, $23 - db $04, $22, $23 - db $04, $22, $23 - db $FF + battle_anim WRAP, SUBANIM_23, 0, 4 + battle_anim WRAP, SUBANIM_23, 0, 4 + battle_anim WRAP, SUBANIM_23, 0, 4 + db -1 ; end TakeDownAnim: - db SE_MOVE_MON_HORIZONTALLY, $48 - db SE_DARK_SCREEN_FLASH, $23 - db SE_RESET_MON_POSITION, $FF - db $FF + battle_anim LEECH_SEED, SE_MOVE_MON_HORIZONTALLY + battle_anim TAKE_DOWN, SE_DARK_SCREEN_FLASH + battle_anim NO_MOVE, SE_RESET_MON_POSITION + db -1 ; end ThrashAnim: - db $46, $24, $04 - db $FF + battle_anim THRASH, SUBANIM_04, 1, 6 + db -1 ; end DoubleEdgeAnim: - db SE_LIGHT_SCREEN_PALETTE, $48 - db $06, $FF, $2D - db SE_RESET_SCREEN_PALETTE, $FF - db SE_MOVE_MON_HORIZONTALLY, $FF - db SE_DARK_SCREEN_FLASH, $25 - db SE_RESET_MON_POSITION, $FF - db $FF + battle_anim LEECH_SEED, SE_LIGHT_SCREEN_PALETTE + battle_anim NO_MOVE, SUBANIM_2D, 0, 6 + battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE + battle_anim NO_MOVE, SE_MOVE_MON_HORIZONTALLY + battle_anim DOUBLE_EDGE, SE_DARK_SCREEN_FLASH + battle_anim NO_MOVE, SE_RESET_MON_POSITION + db -1 ; end TailWhipAnim: - db SE_MOVE_MON_HORIZONTALLY, $84 - db SE_DELAY_ANIMATION_10, $FF - db SE_RESET_MON_POSITION, $84 - db SE_DELAY_ANIMATION_10, $FF - db SE_MOVE_MON_HORIZONTALLY, $84 - db SE_DELAY_ANIMATION_10, $FF - db SE_RESET_MON_POSITION, $84 - db $FF + battle_anim AMNESIA, SE_MOVE_MON_HORIZONTALLY + battle_anim NO_MOVE, SE_DELAY_ANIMATION_10 + battle_anim AMNESIA, SE_RESET_MON_POSITION + battle_anim NO_MOVE, SE_DELAY_ANIMATION_10 + battle_anim AMNESIA, SE_MOVE_MON_HORIZONTALLY + battle_anim NO_MOVE, SE_DELAY_ANIMATION_10 + battle_anim AMNESIA, SE_RESET_MON_POSITION + db -1 ; end PoisonStingAnim: - db $06, $27, $00 - db $FF + battle_anim POISON_STING, SUBANIM_00, 0, 6 + db -1 ; end TwineedleAnim: - db $05, $28, $01 - db $05, $28, $01 - db $FF + battle_anim TWINEEDLE, SUBANIM_01, 0, 5 + battle_anim TWINEEDLE, SUBANIM_01, 0, 5 + db -1 ; end PinMissileAnim: - db $03, $29, $01 - db $FF + battle_anim PIN_MISSILE, SUBANIM_01, 0, 3 + db -1 ; end LeerAnim: - db SE_DARK_SCREEN_PALETTE, $48 - db SE_DARK_SCREEN_FLASH, $2A - db SE_DARK_SCREEN_FLASH, $2A - db SE_RESET_SCREEN_PALETTE, $FF - db $FF + battle_anim LEECH_SEED, SE_DARK_SCREEN_PALETTE + battle_anim LEER, SE_DARK_SCREEN_FLASH + battle_anim LEER, SE_DARK_SCREEN_FLASH + battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE + db -1 ; end BiteAnim: - db $08, $2B, $02 - db $FF + battle_anim BITE, SUBANIM_02, 0, 8 + db -1 ; end GrowlAnim: - db $46, $2C, $12 - db $FF + battle_anim GROWL, SUBANIM_12, 1, 6 + db -1 ; end RoarAnim: - db $46, $2D, $15 - db $46, $2D, $15 - db $46, $2D, $15 - db $FF + battle_anim ROAR, SUBANIM_15, 1, 6 + battle_anim ROAR, SUBANIM_15, 1, 6 + battle_anim ROAR, SUBANIM_15, 1, 6 + db -1 ; end SingAnim: - db $46, $2E, $12 - db $50, $FF, $40 - db $50, $FF, $40 - db $FF + battle_anim SING, SUBANIM_12, 1, 6 + battle_anim NO_MOVE, SUBANIM_40, 1, 16 + battle_anim NO_MOVE, SUBANIM_40, 1, 16 + db -1 ; end SupersonicAnim: - db $06, $2F, $31 - db $FF + battle_anim SUPERSONIC, SUBANIM_31, 0, 6 + db -1 ; end SonicBoomAnim: - db $46, $2D, $15 - db $46, $2D, $15 - db $46, $0F, $10 - db $46, $FF, $05 - db $FF + battle_anim ROAR, SUBANIM_15, 1, 6 + battle_anim ROAR, SUBANIM_15, 1, 6 + battle_anim GUST, SUBANIM_10, 1, 6 + battle_anim NO_MOVE, SUBANIM_05, 1, 6 + db -1 ; end DisableAnim: - db SE_DARK_SCREEN_PALETTE, $48 - db SE_DARK_SCREEN_FLASH, $2A - db SE_DARK_SCREEN_FLASH, $2A - db SE_RESET_SCREEN_PALETTE, $FF - db $FF + battle_anim LEECH_SEED, SE_DARK_SCREEN_PALETTE + battle_anim LEER, SE_DARK_SCREEN_FLASH + battle_anim LEER, SE_DARK_SCREEN_FLASH + battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE + db -1 ; end AcidAnim: - db $46, $32, $13 - db $46, $32, $14 - db $FF + battle_anim ACID, SUBANIM_13, 1, 6 + battle_anim ACID, SUBANIM_14, 1, 6 + db -1 ; end EmberAnim: - db $46, $33, $11 - db $FF + battle_anim EMBER, SUBANIM_11, 1, 6 + db -1 ; end FlamethrowerAnim: - db $46, $34, $1F - db $46, $34, $0C - db $46, $34, $0D - db $FF + battle_anim FLAMETHROWER, SUBANIM_1F, 1, 6 + battle_anim FLAMETHROWER, SUBANIM_0C, 1, 6 + battle_anim FLAMETHROWER, SUBANIM_0D, 1, 6 + db -1 ; end MistAnim: - db SE_LIGHT_SCREEN_PALETTE, $FF - db SE_WATER_DROPLETS_EVERYWHERE, $38 - db SE_RESET_SCREEN_PALETTE, $FF - db $FF + battle_anim NO_MOVE, SE_LIGHT_SCREEN_PALETTE + battle_anim SURF, SE_WATER_DROPLETS_EVERYWHERE + battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE + db -1 ; end WaterGunAnim: - db $06, $36, $2C - db $FF + battle_anim WATER_GUN, SUBANIM_2C, 0, 6 + db -1 ; end HydroPumpAnim: - db $06, $37, $1A - db $06, $37, $1A - db $FF + battle_anim HYDRO_PUMP, SUBANIM_1A, 0, 6 + battle_anim HYDRO_PUMP, SUBANIM_1A, 0, 6 + db -1 ; end SurfAnim: - db SE_WATER_DROPLETS_EVERYWHERE, $38 - db $06, $37, $1A - db $FF + battle_anim SURF, SE_WATER_DROPLETS_EVERYWHERE + battle_anim HYDRO_PUMP, SUBANIM_1A, 0, 6 + db -1 ; end IceBeamAnim: - db $03, $39, $2E - db $10, $FF, $2F - db $FF + battle_anim ICE_BEAM, SUBANIM_2E, 0, 3 + battle_anim NO_MOVE, SUBANIM_2F, 0, 16 + db -1 ; end BlizzardAnim: - db $04, $3A, $38 - db $04, $37, $38 - db $FF + battle_anim BLIZZARD, SUBANIM_38, 0, 4 + battle_anim HYDRO_PUMP, SUBANIM_38, 0, 4 + db -1 ; end PsyBeamAnim: - db $03, $3B, $2E - db SE_FLASH_SCREEN_LONG, $FF - db $FF + battle_anim PSYBEAM, SUBANIM_2E, 0, 3 + battle_anim NO_MOVE, SE_FLASH_SCREEN_LONG + db -1 ; end BubbleBeamAnim: - db $12, $3C, $35 - db $FF + battle_anim BUBBLEBEAM, SUBANIM_35, 0, 18 + db -1 ; end AuroraBeamAnim: - db $03, $3D, $2E - db SE_DELAY_ANIMATION_10, $FF - db SE_DELAY_ANIMATION_10, $FF - db $FF + battle_anim AURORA_BEAM, SUBANIM_2E, 0, 3 + battle_anim NO_MOVE, SE_DELAY_ANIMATION_10 + battle_anim NO_MOVE, SE_DELAY_ANIMATION_10 + db -1 ; end HyperBeamAnim: - db SE_DARK_SCREEN_PALETTE, $48 - db SE_SPIRAL_BALLS_INWARD, $FF - db $02, $3E, $2E - db SE_DARK_SCREEN_FLASH, $FF - db SE_DARK_SCREEN_FLASH, $FF - db $46, $04, $04 - db SE_RESET_SCREEN_PALETTE, $FF - db $FF + battle_anim LEECH_SEED, SE_DARK_SCREEN_PALETTE + battle_anim NO_MOVE, SE_SPIRAL_BALLS_INWARD + battle_anim HYPER_BEAM, SUBANIM_2E, 0, 2 + battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH + battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH + battle_anim MEGA_PUNCH, SUBANIM_04, 1, 6 + battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE + db -1 ; end PeckAnim: - db $08, $3F, $01 - db $FF + battle_anim PECK, SUBANIM_01, 0, 8 + db -1 ; end DrillPeckAnim: - db $46, $40, $04 - db $FF + battle_anim DRILL_PECK, SUBANIM_04, 1, 6 + db -1 ; end SubmissionAnim: - db SE_SLIDE_MON_OFF, $41 - db $06, $FF, $01 - db SE_SHOW_MON_PIC, $FF - db $FF + battle_anim SUBMISSION, SE_SLIDE_MON_OFF + battle_anim NO_MOVE, SUBANIM_01, 0, 6 + battle_anim NO_MOVE, SE_SHOW_MON_PIC + db -1 ; end LowKickAnim: - db SE_SLIDE_MON_OFF, $42 - db $46, $FF, $04 - db SE_SHOW_MON_PIC, $FF - db $FF + battle_anim LOW_KICK, SE_SLIDE_MON_OFF + battle_anim NO_MOVE, SUBANIM_04, 1, 6 + battle_anim NO_MOVE, SE_SHOW_MON_PIC + db -1 ; end CounterAnim: - db SE_SLIDE_MON_OFF, $43 - db $46, $FF, $04 - db SE_SHOW_MON_PIC, $FF - db $FF + battle_anim COUNTER, SE_SLIDE_MON_OFF + battle_anim NO_MOVE, SUBANIM_04, 1, 6 + battle_anim NO_MOVE, SE_SHOW_MON_PIC + db -1 ; end SeismicTossAnim: - db SE_BLINK_ENEMY_MON, $FF - db $41, $8B, $4E - db SE_HIDE_ENEMY_MON_PIC, $FF - db SE_SLIDE_MON_OFF, $FF - db $42, $44, $4F - db SE_DELAY_ANIMATION_10, $FF - db SE_DELAY_ANIMATION_10, $FF - db SE_SHOW_MON_PIC, $FF - db $41, $44, $50 - db SE_SHOW_ENEMY_MON_PIC, $FF - db SE_SHAKE_SCREEN, $FF - db $FF + battle_anim NO_MOVE, SE_BLINK_ENEMY_MON + battle_anim BARRAGE, SUBANIM_4E, 1, 1 + battle_anim NO_MOVE, SE_HIDE_ENEMY_MON_PIC + battle_anim NO_MOVE, SE_SLIDE_MON_OFF + battle_anim SEISMIC_TOSS, SUBANIM_4F, 1, 2 + battle_anim NO_MOVE, SE_DELAY_ANIMATION_10 + battle_anim NO_MOVE, SE_DELAY_ANIMATION_10 + battle_anim NO_MOVE, SE_SHOW_MON_PIC + battle_anim SEISMIC_TOSS, SUBANIM_50, 1, 1 + battle_anim NO_MOVE, SE_SHOW_ENEMY_MON_PIC + battle_anim NO_MOVE, SE_SHAKE_SCREEN + db -1 ; end StrengthAnim: - db SE_MOVE_MON_HORIZONTALLY, $48 - db SE_RESET_MON_POSITION, $FF - db $46, $06, $04 - db $FF + battle_anim LEECH_SEED, SE_MOVE_MON_HORIZONTALLY + battle_anim NO_MOVE, SE_RESET_MON_POSITION + battle_anim FIRE_PUNCH, SUBANIM_04, 1, 6 + db -1 ; end AbsorbAnim: - db SE_LIGHT_SCREEN_PALETTE, $46 - db $06, $FF, $21 - db $06, $FF, $22 - db SE_RESET_SCREEN_PALETTE, $FF - db $FF + battle_anim ABSORB, SE_LIGHT_SCREEN_PALETTE + battle_anim NO_MOVE, SUBANIM_21, 0, 6 + battle_anim NO_MOVE, SUBANIM_22, 0, 6 + battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE + db -1 ; end MegaDrainAnim: - db SE_LIGHT_SCREEN_PALETTE, $47 - db SE_DARK_SCREEN_FLASH, $FF - db $06, $FF, $21 - db $06, $FF, $22 - db SE_DARK_SCREEN_FLASH, $FF - db SE_RESET_SCREEN_PALETTE, $FF - db $FF + battle_anim MEGA_DRAIN, SE_LIGHT_SCREEN_PALETTE + battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH + battle_anim NO_MOVE, SUBANIM_21, 0, 6 + battle_anim NO_MOVE, SUBANIM_22, 0, 6 + battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH + battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE + db -1 ; end LeechSeedAnim: - db $46, $48, $1B - db $55, $4D, $1C - db $FF + battle_anim LEECH_SEED, SUBANIM_1B, 1, 6 + battle_anim STUN_SPORE, SUBANIM_1C, 1, 21 + db -1 ; end GrowthAnim: - db SE_LIGHT_SCREEN_PALETTE, $49 - db SE_SPIRAL_BALLS_INWARD, $FF - db SE_RESET_SCREEN_PALETTE, $FF - db $FF + battle_anim GROWTH, SE_LIGHT_SCREEN_PALETTE + battle_anim NO_MOVE, SE_SPIRAL_BALLS_INWARD + battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE + db -1 ; end RazorLeafAnim: - db SE_LEAVES_FALLING, $4A - db $41, $80, $44 - db $01, $0C, $16 - db $FF + battle_anim RAZOR_LEAF, SE_LEAVES_FALLING + battle_anim SWIFT, SUBANIM_44, 1, 1 + battle_anim RAZOR_WIND, SUBANIM_16, 0, 1 + db -1 ; end SolarBeamAnim: - db $06, $4B, $2E - db $06, $FF, $01 - db $FF + battle_anim SOLARBEAM, SUBANIM_2E, 0, 6 + battle_anim NO_MOVE, SUBANIM_01, 0, 6 + db -1 ; end PoisonPowderAnim: - db $06, $4C, $36 - db $FF + battle_anim POISONPOWDER, SUBANIM_36, 0, 6 + db -1 ; end StunSporeAnim: - db $06, $4D, $36 - db $FF + battle_anim STUN_SPORE, SUBANIM_36, 0, 6 + db -1 ; end SleepPowderAnim: - db $06, $4E, $36 - db $FF + battle_anim SLEEP_POWDER, SUBANIM_36, 0, 6 + db -1 ; end PedalDanceAnim: - db SE_LIGHT_SCREEN_PALETTE, $4F - db SE_PETALS_FALLING, $FF - db SE_RESET_SCREEN_PALETTE, $FF - db $FF + battle_anim PETAL_DANCE, SE_LIGHT_SCREEN_PALETTE + battle_anim NO_MOVE, SE_PETALS_FALLING + battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE + db -1 ; end StringShotAnim: - db $08, $50, $37 - db $FF + battle_anim STRING_SHOT, SUBANIM_37, 0, 8 + db -1 ; end DragonRageAnim: - db $46, $51, $1F - db $46, $FF, $0C - db $46, $FF, $0D - db $46, $FF, $0E - db $FF + battle_anim DRAGON_RAGE, SUBANIM_1F, 1, 6 + battle_anim NO_MOVE, SUBANIM_0C, 1, 6 + battle_anim NO_MOVE, SUBANIM_0D, 1, 6 + battle_anim NO_MOVE, SUBANIM_0E, 1, 6 + db -1 ; end FireSpinAnim: - db $46, $52, $0C - db $46, $FF, $0D - db $46, $FF, $0E - db $FF + battle_anim FIRE_SPIN, SUBANIM_0C, 1, 6 + battle_anim NO_MOVE, SUBANIM_0D, 1, 6 + battle_anim NO_MOVE, SUBANIM_0E, 1, 6 + db -1 ; end ThunderShockAnim: - db $42, $53, $29 - db $FF + battle_anim THUNDERSHOCK, SUBANIM_29, 1, 2 + db -1 ; end ThunderBoltAnim: - db $41, $54, $29 - db $41, $54, $29 - db $FF + battle_anim THUNDERBOLT, SUBANIM_29, 1, 1 + battle_anim THUNDERBOLT, SUBANIM_29, 1, 1 + db -1 ; end ThunderWaveAnim: - db $42, $55, $29 - db $02, $FF, $23 - db $04, $FF, $23 - db $FF + battle_anim THUNDER_WAVE, SUBANIM_29, 1, 2 + battle_anim NO_MOVE, SUBANIM_23, 0, 2 + battle_anim NO_MOVE, SUBANIM_23, 0, 4 + db -1 ; end ThunderAnim: - db SE_DARK_SCREEN_PALETTE, $56 - db SE_DARK_SCREEN_FLASH, $FF - db $46, $FF, $2B - db SE_DARK_SCREEN_FLASH, $FF - db $42, $54, $29 - db SE_RESET_SCREEN_PALETTE, $FF - db $FF + battle_anim THUNDER, SE_DARK_SCREEN_PALETTE + battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH + battle_anim NO_MOVE, SUBANIM_2B, 1, 6 + battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH + battle_anim THUNDERBOLT, SUBANIM_29, 1, 2 + battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE + db -1 ; end RockThrowAnim: - db $04, $57, $30 - db $FF + battle_anim ROCK_THROW, SUBANIM_30, 0, 4 + db -1 ; end EarthquakeAnim: - db SE_SHAKE_SCREEN, $58 - db SE_SHAKE_SCREEN, $58 - db $FF + battle_anim EARTHQUAKE, SE_SHAKE_SCREEN + battle_anim EARTHQUAKE, SE_SHAKE_SCREEN + db -1 ; end FissureAnim: - db SE_DARK_SCREEN_FLASH, $59 - db SE_SHAKE_SCREEN, $FF - db SE_DARK_SCREEN_FLASH, $59 - db SE_SHAKE_SCREEN, $FF - db $FF + battle_anim FISSURE, SE_DARK_SCREEN_FLASH + battle_anim NO_MOVE, SE_SHAKE_SCREEN + battle_anim FISSURE, SE_DARK_SCREEN_FLASH + battle_anim NO_MOVE, SE_SHAKE_SCREEN + db -1 ; end DigAnim: - db $46, $5A, $04 - db SE_SLIDE_MON_UP, $FF - db $FF + battle_anim DIG, SUBANIM_04, 1, 6 + battle_anim NO_MOVE, SE_SLIDE_MON_UP + db -1 ; end ToxicAnim: - db SE_WATER_DROPLETS_EVERYWHERE, $38 - db $46, $5B, $14 - db $FF + battle_anim SURF, SE_WATER_DROPLETS_EVERYWHERE + battle_anim TOXIC, SUBANIM_14, 1, 6 + db -1 ; end ConfusionAnim: - db SE_FLASH_SCREEN_LONG, $5C - db $FF + battle_anim CONFUSION, SE_FLASH_SCREEN_LONG + db -1 ; end PsychicAnim: - db SE_FLASH_SCREEN_LONG, $5D - db SE_WAVY_SCREEN, $FF - db $FF + battle_anim PSYCHIC_M, SE_FLASH_SCREEN_LONG + battle_anim NO_MOVE, SE_WAVY_SCREEN + db -1 ; end HypnosisAnim: - db SE_FLASH_SCREEN_LONG, $5E - db $FF + battle_anim HYPNOSIS, SE_FLASH_SCREEN_LONG + db -1 ; end MeditateAnim: - db SE_LIGHT_SCREEN_PALETTE, $5F - db $46, $FF, $43 - db SE_DARK_SCREEN_FLASH, $FF - db SE_RESET_SCREEN_PALETTE, $FF - db $FF + battle_anim MEDITATE, SE_LIGHT_SCREEN_PALETTE + battle_anim NO_MOVE, SUBANIM_43, 1, 6 + battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH + battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE + db -1 ; end AgilityAnim: - db SE_LIGHT_SCREEN_PALETTE, $60 - db SE_RESET_SCREEN_PALETTE, $FF - db $FF + battle_anim AGILITY, SE_LIGHT_SCREEN_PALETTE + battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE + db -1 ; end QuickAttackAnim: - db SE_SLIDE_MON_OFF, $61 - db $46, $FF, $04 - db SE_SHOW_MON_PIC, $FF - db $FF + battle_anim QUICK_ATTACK, SE_SLIDE_MON_OFF + battle_anim NO_MOVE, SUBANIM_04, 1, 6 + battle_anim NO_MOVE, SE_SHOW_MON_PIC + db -1 ; end RageAnim: - db $06, $62, $01 - db $FF + battle_anim RAGE, SUBANIM_01, 0, 6 + db -1 ; end TeleportAnim: - db SE_SQUISH_MON_PIC, $63 - db SE_SHOOT_BALLS_UPWARD, $FF - db $FF + battle_anim TELEPORT, SE_SQUISH_MON_PIC + battle_anim NO_MOVE, SE_SHOOT_BALLS_UPWARD + db -1 ; end NightShadeAnim: - db SE_FLASH_SCREEN_LONG, $5C - db SE_WAVY_SCREEN, $FF - db $FF + battle_anim CONFUSION, SE_FLASH_SCREEN_LONG + battle_anim NO_MOVE, SE_WAVY_SCREEN + db -1 ; end MimicAnim: - db $46, $65, $21 - db $46, $65, $22 - db $FF + battle_anim MIMIC, SUBANIM_21, 1, 6 + battle_anim MIMIC, SUBANIM_22, 1, 6 + db -1 ; end ScreechAnim: - db $46, $66, $12 - db $FF + battle_anim SCREECH, SUBANIM_12, 1, 6 + db -1 ; end DoubleTeamAnim: - db SE_DARK_SCREEN_PALETTE, $FF - db SE_DELAY_ANIMATION_10, $FF - db SE_DELAY_ANIMATION_10, $FF - db SE_DARK_SCREEN_FLASH, $FF - db SE_DARK_SCREEN_FLASH, $FF - db SE_RESET_SCREEN_PALETTE, $FF - db SE_SHAKE_BACK_AND_FORTH, $67 - db SE_SHOW_MON_PIC, $FF - db $46, $6F, $33 - db $FF + battle_anim NO_MOVE, SE_DARK_SCREEN_PALETTE + battle_anim NO_MOVE, SE_DELAY_ANIMATION_10 + battle_anim NO_MOVE, SE_DELAY_ANIMATION_10 + battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH + battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH + battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE + battle_anim DOUBLE_TEAM, SE_SHAKE_BACK_AND_FORTH + battle_anim NO_MOVE, SE_SHOW_MON_PIC + battle_anim BARRIER, SUBANIM_33, 1, 6 + db -1 ; end RecoverAnim: - db SE_BLINK_MON, $68 - db SE_LIGHT_SCREEN_PALETTE, $FF - db SE_SPIRAL_BALLS_INWARD, $FF - db SE_RESET_SCREEN_PALETTE, $FF - db $FF + battle_anim RECOVER, SE_BLINK_MON + battle_anim NO_MOVE, SE_LIGHT_SCREEN_PALETTE + battle_anim NO_MOVE, SE_SPIRAL_BALLS_INWARD + battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE + db -1 ; end HardenAnim: - db SE_LIGHT_SCREEN_PALETTE, $69 - db $46, $FF, $43 - db SE_DARK_SCREEN_FLASH, $FF - db SE_RESET_SCREEN_PALETTE, $FF - db $FF + battle_anim HARDEN, SE_LIGHT_SCREEN_PALETTE + battle_anim NO_MOVE, SUBANIM_43, 1, 6 + battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH + battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE + db -1 ; end MinimizeAnim: - db SE_LIGHT_SCREEN_PALETTE, $6A - db SE_SPIRAL_BALLS_INWARD, $FF - db SE_MINIMIZE_MON, $FF - db SE_RESET_SCREEN_PALETTE, $FF - db $FF + battle_anim MINIMIZE, SE_LIGHT_SCREEN_PALETTE + battle_anim NO_MOVE, SE_SPIRAL_BALLS_INWARD + battle_anim NO_MOVE, SE_MINIMIZE_MON + battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE + db -1 ; end SmokeScreenAnim: - db $46, $6B, $28 - db $04, $FF, $0A - db SE_DARKEN_MON_PALETTE, $FF - db SE_DELAY_ANIMATION_10, $FF - db SE_DELAY_ANIMATION_10, $FF - db SE_DARK_SCREEN_PALETTE, $FF - db SE_DELAY_ANIMATION_10, $FF - db SE_DELAY_ANIMATION_10, $FF - db SE_DELAY_ANIMATION_10, $FF - db SE_DELAY_ANIMATION_10, $FF - db SE_DELAY_ANIMATION_10, $FF - db SE_DELAY_ANIMATION_10, $FF - db SE_DARKEN_MON_PALETTE, $FF - db SE_DELAY_ANIMATION_10, $FF - db SE_RESET_SCREEN_PALETTE, $FF - db $FF + battle_anim SMOKESCREEN, SUBANIM_28, 1, 6 + battle_anim NO_MOVE, SUBANIM_0A, 0, 4 + battle_anim NO_MOVE, SE_DARKEN_MON_PALETTE + battle_anim NO_MOVE, SE_DELAY_ANIMATION_10 + battle_anim NO_MOVE, SE_DELAY_ANIMATION_10 + battle_anim NO_MOVE, SE_DARK_SCREEN_PALETTE + battle_anim NO_MOVE, SE_DELAY_ANIMATION_10 + battle_anim NO_MOVE, SE_DELAY_ANIMATION_10 + battle_anim NO_MOVE, SE_DELAY_ANIMATION_10 + battle_anim NO_MOVE, SE_DELAY_ANIMATION_10 + battle_anim NO_MOVE, SE_DELAY_ANIMATION_10 + battle_anim NO_MOVE, SE_DELAY_ANIMATION_10 + battle_anim NO_MOVE, SE_DARKEN_MON_PALETTE + battle_anim NO_MOVE, SE_DELAY_ANIMATION_10 + battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE + db -1 ; end ConfuseRayAnim: - db SE_DARK_SCREEN_PALETTE, $6C - db $46, $FF, $3E - db SE_RESET_SCREEN_PALETTE, $FF - db $FF + battle_anim CONFUSE_RAY, SE_DARK_SCREEN_PALETTE + battle_anim NO_MOVE, SUBANIM_3E, 1, 6 + battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE + db -1 ; end WithdrawAnim: - db SE_LIGHT_SCREEN_PALETTE, $6E - db SE_SLIDE_MON_DOWN, $FF - db $06, $FF, $51 - db SE_RESET_SCREEN_PALETTE, $FF - db SE_SHOW_MON_PIC, $FF - db $FF + battle_anim DEFENSE_CURL, SE_LIGHT_SCREEN_PALETTE + battle_anim NO_MOVE, SE_SLIDE_MON_DOWN + battle_anim NO_MOVE, SUBANIM_51, 0, 6 + battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE + battle_anim NO_MOVE, SE_SHOW_MON_PIC + db -1 ; end DefenseCurlAnim: - db SE_LIGHT_SCREEN_PALETTE, $6E - db $06, $FF, $43 - db SE_DARK_SCREEN_FLASH, $FF - db SE_RESET_SCREEN_PALETTE, $FF - db $FF + battle_anim DEFENSE_CURL, SE_LIGHT_SCREEN_PALETTE + battle_anim NO_MOVE, SUBANIM_43, 0, 6 + battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH + battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE + db -1 ; end BarrierAnim: - db $46, $6F, $33 - db $46, $6F, $33 - db $FF + battle_anim BARRIER, SUBANIM_33, 1, 6 + battle_anim BARRIER, SUBANIM_33, 1, 6 + db -1 ; end LightScreenAnim: - db SE_LIGHT_SCREEN_PALETTE, $FF - db $46, $70, $33 - db $46, $70, $33 - db SE_RESET_SCREEN_PALETTE, $FF - db $FF + battle_anim NO_MOVE, SE_LIGHT_SCREEN_PALETTE + battle_anim LIGHT_SCREEN, SUBANIM_33, 1, 6 + battle_anim LIGHT_SCREEN, SUBANIM_33, 1, 6 + battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE + db -1 ; end HazeAnim: - db SE_DARKEN_MON_PALETTE, $FF - db SE_WATER_DROPLETS_EVERYWHERE, $38 - db SE_RESET_SCREEN_PALETTE, $FF - db $FF + battle_anim NO_MOVE, SE_DARKEN_MON_PALETTE + battle_anim SURF, SE_WATER_DROPLETS_EVERYWHERE + battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE + db -1 ; end ReflectAnim: - db SE_DARK_SCREEN_PALETTE, $FF - db $46, $72, $33 - db $46, $72, $33 - db SE_RESET_SCREEN_PALETTE, $FF - db $FF + battle_anim NO_MOVE, SE_DARK_SCREEN_PALETTE + battle_anim REFLECT, SUBANIM_33, 1, 6 + battle_anim REFLECT, SUBANIM_33, 1, 6 + battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE + db -1 ; end FocusEnergyAnim: - db SE_SPIRAL_BALLS_INWARD, $73 - db $FF + battle_anim FOCUS_ENERGY, SE_SPIRAL_BALLS_INWARD + db -1 ; end BideAnim: - db $46, $74, $04 - db $FF + battle_anim BIDE, SUBANIM_04, 1, 6 + db -1 ; end MetronomeAnim: - db SE_MOVE_MON_HORIZONTALLY, $84 - db SE_DELAY_ANIMATION_10, $FF - db SE_RESET_MON_POSITION, $84 - db SE_DELAY_ANIMATION_10, $FF - db SE_MOVE_MON_HORIZONTALLY, $84 - db SE_DELAY_ANIMATION_10, $FF - db SE_RESET_MON_POSITION, $84 - db $FF + battle_anim AMNESIA, SE_MOVE_MON_HORIZONTALLY + battle_anim NO_MOVE, SE_DELAY_ANIMATION_10 + battle_anim AMNESIA, SE_RESET_MON_POSITION + battle_anim NO_MOVE, SE_DELAY_ANIMATION_10 + battle_anim AMNESIA, SE_MOVE_MON_HORIZONTALLY + battle_anim NO_MOVE, SE_DELAY_ANIMATION_10 + battle_anim AMNESIA, SE_RESET_MON_POSITION + db -1 ; end MirrorMoveAnim: - db $08, $76, $01 - db $FF + battle_anim MIRROR_MOVE, SUBANIM_01, 0, 8 + db -1 ; end SelfdestructAnim: - db $43, $77, $34 - db $FF + battle_anim SELFDESTRUCT, SUBANIM_34, 1, 3 + db -1 ; end EggBombAnim: - db $44, $78, $41 - db $44, $78, $42 - db $FF + battle_anim EGG_BOMB, SUBANIM_41, 1, 4 + battle_anim EGG_BOMB, SUBANIM_42, 1, 4 + db -1 ; end LickAnim: - db $46, $7B, $14 - db $FF + battle_anim SLUDGE, SUBANIM_14, 1, 6 + db -1 ; end SmogAnim: - db SE_DARKEN_MON_PALETTE, $48 - db $46, $7A, $19 - db SE_RESET_SCREEN_PALETTE, $FF - db $FF + battle_anim LEECH_SEED, SE_DARKEN_MON_PALETTE + battle_anim SMOG, SUBANIM_19, 1, 6 + battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE + db -1 ; end SludgeAnim: - db $46, $7B, $13 - db $46, $7B, $14 - db $FF + battle_anim SLUDGE, SUBANIM_13, 1, 6 + battle_anim SLUDGE, SUBANIM_14, 1, 6 + db -1 ; end BoneClubAnim: - db $08, $7C, $02 - db $FF + battle_anim BONE_CLUB, SUBANIM_02, 0, 8 + db -1 ; end FireBlastAnim: - db $46, $7D, $1F - db $46, $FF, $20 - db $46, $FF, $20 - db $46, $FF, $0C - db $46, $FF, $0D - db $FF + battle_anim FIRE_BLAST, SUBANIM_1F, 1, 6 + battle_anim NO_MOVE, SUBANIM_20, 1, 6 + battle_anim NO_MOVE, SUBANIM_20, 1, 6 + battle_anim NO_MOVE, SUBANIM_0C, 1, 6 + battle_anim NO_MOVE, SUBANIM_0D, 1, 6 + db -1 ; end WaterfallAnim: - db SE_SLIDE_MON_DOWN, $48 - db $06, $37, $1A - db $08, $FF, $02 - db SE_SLIDE_MON_UP, $FF - db $FF + battle_anim LEECH_SEED, SE_SLIDE_MON_DOWN + battle_anim HYDRO_PUMP, SUBANIM_1A, 0, 6 + battle_anim NO_MOVE, SUBANIM_02, 0, 8 + battle_anim NO_MOVE, SE_SLIDE_MON_UP + db -1 ; end ClampAnim: - db $08, $7F, $2A - db $06, $83, $23 - db $06, $83, $23 - db $FF + battle_anim CLAMP, SUBANIM_2A, 0, 8 + battle_anim CONSTRICT, SUBANIM_23, 0, 6 + battle_anim CONSTRICT, SUBANIM_23, 0, 6 + db -1 ; end SwiftAnim: - db $43, $80, $3F - db $FF + battle_anim SWIFT, SUBANIM_3F, 1, 3 + db -1 ; end SkullBashAnim: - db $46, $81, $05 - db $FF + battle_anim SKULL_BASH, SUBANIM_05, 1, 6 + db -1 ; end SpikeCannonAnim: - db $44, $82, $04 - db $FF + battle_anim SPIKE_CANNON, SUBANIM_04, 1, 4 + db -1 ; end ConstrictAnim: - db $06, $83, $23 - db $06, $83, $23 - db $06, $83, $23 - db $FF + battle_anim CONSTRICT, SUBANIM_23, 0, 6 + battle_anim CONSTRICT, SUBANIM_23, 0, 6 + battle_anim CONSTRICT, SUBANIM_23, 0, 6 + db -1 ; end AmnesiaAnim: - db $08, $84, $25 - db $08, $84, $25 - db $FF + battle_anim AMNESIA, SUBANIM_25, 0, 8 + battle_anim AMNESIA, SUBANIM_25, 0, 8 + db -1 ; end KinesisAnim: - db $08, $85, $01 - db $FF + battle_anim KINESIS, SUBANIM_01, 0, 8 + db -1 ; end SoftboiledAnim: - db SE_SLIDE_MON_HALF_OFF, $48 - db $08, $86, $4C - db SE_LIGHT_SCREEN_PALETTE, $FF - db SE_SPIRAL_BALLS_INWARD, $FF - db SE_RESET_SCREEN_PALETTE, $FF - db SE_SHOW_MON_PIC, $FF - db $FF + battle_anim LEECH_SEED, SE_SLIDE_MON_HALF_OFF + battle_anim SOFTBOILED, SUBANIM_4C, 0, 8 + battle_anim NO_MOVE, SE_LIGHT_SCREEN_PALETTE + battle_anim NO_MOVE, SE_SPIRAL_BALLS_INWARD + battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE + battle_anim NO_MOVE, SE_SHOW_MON_PIC + db -1 ; end HiJumpKickAnim: - db $46, $87, $04 - db $FF + battle_anim HI_JUMP_KICK, SUBANIM_04, 1, 6 + db -1 ; end GlareAnim: - db SE_DARK_SCREEN_PALETTE, $48 - db SE_DARK_SCREEN_FLASH, $88 - db SE_DARK_SCREEN_FLASH, $FF - db SE_RESET_SCREEN_PALETTE, $FF - db $FF + battle_anim LEECH_SEED, SE_DARK_SCREEN_PALETTE + battle_anim GLARE, SE_DARK_SCREEN_FLASH + battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH + battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE + db -1 ; end DreamEaterAnim: - db SE_FLASH_SCREEN_LONG, $89 - db SE_DARK_SCREEN_PALETTE, $89 - db $08, $89, $02 - db SE_RESET_SCREEN_PALETTE, $FF - db $FF + battle_anim DREAM_EATER, SE_FLASH_SCREEN_LONG + battle_anim DREAM_EATER, SE_DARK_SCREEN_PALETTE + battle_anim DREAM_EATER, SUBANIM_02, 0, 8 + battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE + db -1 ; end PoisonGasAnim: - db $46, $8A, $19 - db $FF + battle_anim POISON_GAS, SUBANIM_19, 1, 6 + db -1 ; end BarrageAnim: - db $43, $8B, $41 - db $05, $FF, $55 - db $FF + battle_anim BARRAGE, SUBANIM_41, 1, 3 + battle_anim NO_MOVE, SUBANIM_55, 0, 5 + db -1 ; end LeechLifeAnim: - db $08, $8C, $02 - db SE_DARK_SCREEN_FLASH, $FF - db $06, $FF, $21 - db $06, $FF, $22 - db SE_DARK_SCREEN_FLASH, $FF - db $FF + battle_anim LEECH_LIFE, SUBANIM_02, 0, 8 + battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH + battle_anim NO_MOVE, SUBANIM_21, 0, 6 + battle_anim NO_MOVE, SUBANIM_22, 0, 6 + battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH + db -1 ; end LovelyKissAnim: - db $06, $8D, $12 - db $FF + battle_anim LOVELY_KISS, SUBANIM_12, 0, 6 + db -1 ; end SkyAttackAnim: - db SE_SQUISH_MON_PIC, $8E - db SE_SHOOT_BALLS_UPWARD, $FF - db $46, $87, $04 - db SE_SHOW_MON_PIC, $FF - db $FF + battle_anim SKY_ATTACK, SE_SQUISH_MON_PIC + battle_anim NO_MOVE, SE_SHOOT_BALLS_UPWARD + battle_anim HI_JUMP_KICK, SUBANIM_04, 1, 6 + battle_anim NO_MOVE, SE_SHOW_MON_PIC + db -1 ; end TransformAnim: - db $46, $8F, $21 - db $44, $8F, $22 - db $08, $FF, $47 - db SE_TRANSFORM_MON, $FF - db $FF + battle_anim TRANSFORM, SUBANIM_21, 1, 6 + battle_anim TRANSFORM, SUBANIM_22, 1, 4 + battle_anim NO_MOVE, SUBANIM_47, 0, 8 + battle_anim NO_MOVE, SE_TRANSFORM_MON + db -1 ; end BubbleAnim: - db $16, $90, $35 - db $FF + battle_anim BUBBLE, SUBANIM_35, 0, 22 + db -1 ; end DizzyPunchAnim: - db $06, $91, $17 - db $06, $91, $17 - db $06, $91, $17 - db $06, $02, $02 - db $FF + battle_anim DIZZY_PUNCH, SUBANIM_17, 0, 6 + battle_anim DIZZY_PUNCH, SUBANIM_17, 0, 6 + battle_anim DIZZY_PUNCH, SUBANIM_17, 0, 6 + battle_anim DOUBLESLAP, SUBANIM_02, 0, 6 + db -1 ; end SporeAnim: - db $06, $92, $36 - db $FF + battle_anim SPORE, SUBANIM_36, 0, 6 + db -1 ; end FlashAnim: - db SE_LIGHT_SCREEN_PALETTE, $48 - db SE_DARK_SCREEN_FLASH, $88 - db SE_DARK_SCREEN_FLASH, $FF - db SE_RESET_SCREEN_PALETTE, $FF - db $FF + battle_anim LEECH_SEED, SE_LIGHT_SCREEN_PALETTE + battle_anim GLARE, SE_DARK_SCREEN_FLASH + battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH + battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE + db -1 ; end PsywaveAnim: - db $06, $2F, $31 - db SE_WAVY_SCREEN, $5C - db $FF + battle_anim SUPERSONIC, SUBANIM_31, 0, 6 + battle_anim CONFUSION, SE_WAVY_SCREEN + db -1 ; end SplashAnim: - db SE_BOUNCE_UP_AND_DOWN, $95 - db $FF + battle_anim SPLASH, SE_BOUNCE_UP_AND_DOWN + db -1 ; end AcidArmorAnim: - db SE_SLIDE_MON_DOWN_AND_HIDE, $96 - db $FF + battle_anim ACID_ARMOR, SE_SLIDE_MON_DOWN_AND_HIDE + db -1 ; end CrabHammerAnim: - db $46, $97, $05 - db $06, $FF, $2A - db $FF + battle_anim CRABHAMMER, SUBANIM_05, 1, 6 + battle_anim NO_MOVE, SUBANIM_2A, 0, 6 + db -1 ; end ExplosionAnim: - db $43, $98, $34 - db $FF + battle_anim EXPLOSION, SUBANIM_34, 1, 3 + db -1 ; end FurySwipesAnim: - db $04, $99, $0F - db $FF + battle_anim FURY_SWIPES, SUBANIM_0F, 0, 4 + db -1 ; end BonemerangAnim: - db $06, $9A, $02 - db $FF + battle_anim BONEMERANG, SUBANIM_02, 0, 6 + db -1 ; end RestAnim: - db $10, $9B, $3A - db $10, $9B, $3A - db $FF + battle_anim REST, SUBANIM_3A, 0, 16 + battle_anim REST, SUBANIM_3A, 0, 16 + db -1 ; end RockSlideAnim: - db $04, $9C, $1D - db $03, $9C, $1E - db $46, $9D, $04 - db $FF + battle_anim ROCK_SLIDE, SUBANIM_1D, 0, 4 + battle_anim ROCK_SLIDE, SUBANIM_1E, 0, 3 + battle_anim HYPER_FANG, SUBANIM_04, 1, 6 + db -1 ; end HyperFangAnim: - db $06, $9D, $02 - db $FF + battle_anim HYPER_FANG, SUBANIM_02, 0, 6 + db -1 ; end SharpenAnim: - db SE_LIGHT_SCREEN_PALETTE, $9E - db $46, $FF, $43 - db SE_DARK_SCREEN_FLASH, $FF - db SE_RESET_SCREEN_PALETTE, $FF - db $FF + battle_anim SHARPEN, SE_LIGHT_SCREEN_PALETTE + battle_anim NO_MOVE, SUBANIM_43, 1, 6 + battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH + battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE + db -1 ; end ConversionAnim: - db SE_DARK_SCREEN_FLASH, $9F - db $46, $FF, $21 - db $46, $FF, $22 - db SE_DARK_SCREEN_FLASH, $FF - db $FF + battle_anim CONVERSION, SE_DARK_SCREEN_FLASH + battle_anim NO_MOVE, SUBANIM_21, 1, 6 + battle_anim NO_MOVE, SUBANIM_22, 1, 6 + battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH + db -1 ; end TriAttackAnim: - db SE_DARK_SCREEN_FLASH, $A0 - db $46, $FF, $4D - db SE_DARK_SCREEN_FLASH, $FF - db $FF + battle_anim TRI_ATTACK, SE_DARK_SCREEN_FLASH + battle_anim NO_MOVE, SUBANIM_4D, 1, 6 + battle_anim NO_MOVE, SE_DARK_SCREEN_FLASH + db -1 ; end SuperFangAnim: - db SE_DARK_SCREEN_PALETTE, $48 - db $46, $A1, $04 - db SE_RESET_SCREEN_PALETTE, $FF - db $FF + battle_anim LEECH_SEED, SE_DARK_SCREEN_PALETTE + battle_anim SUPER_FANG, SUBANIM_04, 1, 6 + battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE + db -1 ; end SlashAnim: - db $06, $A2, $0F - db $FF + battle_anim SLASH, SUBANIM_0F, 0, 6 + db -1 ; end SubstituteAnim: - db SE_SLIDE_MON_OFF, $A3 - db $08, $FF, $47 - db SE_SUBSTITUTE_MON, $FF - db $FF + battle_anim SUBSTITUTE, SE_SLIDE_MON_OFF + battle_anim NO_MOVE, SUBANIM_47, 0, 8 + battle_anim NO_MOVE, SE_SUBSTITUTE_MON + db -1 ; end BallTossAnim: - db $03, $FF, $06 - db $FF + battle_anim NO_MOVE, SUBANIM_06, 0, 3 + db -1 ; end GreatTossAnim: - db $03, $FF, $07 - db $FF + battle_anim NO_MOVE, SUBANIM_07, 0, 3 + db -1 ; end UltraTossAnim: - db $02, $FF, $08 - db $FF + battle_anim NO_MOVE, SUBANIM_08, 0, 2 + db -1 ; end BallShakeAnim: - db $04, $FF, $09 - db $FF + battle_anim NO_MOVE, SUBANIM_09, 0, 4 + db -1 ; end BallPoofAnim: - db $04, $FF, $0A - db $FF + battle_anim NO_MOVE, SUBANIM_0A, 0, 4 + db -1 ; end ShowPicAnim: - db SE_SHOW_ENEMY_MON_PIC, $FF - db $FF + battle_anim NO_MOVE, SE_SHOW_ENEMY_MON_PIC + db -1 ; end HidePicAnim: - db SE_HIDE_ENEMY_MON_PIC, $FF - db $FF + battle_anim NO_MOVE, SE_HIDE_ENEMY_MON_PIC + db -1 ; end EnemyFlashAnim: - db SE_SHOW_MON_PIC, $FF - db $FF + battle_anim NO_MOVE, SE_SHOW_MON_PIC + db -1 ; end PlayerFlashAnim: - db SE_FLASH_MON_PIC, $FF - db $FF + battle_anim NO_MOVE, SE_FLASH_MON_PIC + db -1 ; end EnemyHUDShakeAnim: - db SE_SHAKE_ENEMY_HUD, $FF - db $FF + battle_anim NO_MOVE, SE_SHAKE_ENEMY_HUD + db -1 ; end TradeBallDropAnim: - db $86, $FF, $48 - db $FF + battle_anim NO_MOVE, SUBANIM_48, 2, 6 + db -1 ; end TradeBallAppear1Anim: - db $84, $FF, $49 - db $FF + battle_anim NO_MOVE, SUBANIM_49, 2, 4 + db -1 ; end TradeBallAppear2Anim: - db $86, $FF, $4A - db $FF + battle_anim NO_MOVE, SUBANIM_4A, 2, 6 + db -1 ; end TradeBallPoofAnim: - db $86, $FF, $4B - db $FF + battle_anim NO_MOVE, SUBANIM_4B, 2, 6 + db -1 ; end XStatItemAnim: - db SE_LIGHT_SCREEN_PALETTE, $FF - db SE_SPIRAL_BALLS_INWARD, $FF - db SE_RESET_SCREEN_PALETTE, $FF - db $FF + battle_anim NO_MOVE, SE_LIGHT_SCREEN_PALETTE + battle_anim NO_MOVE, SE_SPIRAL_BALLS_INWARD + battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE + db -1 ; end ShrinkingSquareAnim: - db SE_LIGHT_SCREEN_PALETTE, $FF - db $46, $FF, $43 - db SE_RESET_SCREEN_PALETTE, $FF - db $FF + battle_anim NO_MOVE, SE_LIGHT_SCREEN_PALETTE + battle_anim NO_MOVE, SUBANIM_43, 1, 6 + battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE + db -1 ; end XStatItemBlackAnim: - db SE_DARKEN_MON_PALETTE, $FF - db SE_SPIRAL_BALLS_INWARD, $FF - db SE_RESET_SCREEN_PALETTE, $FF - db $FF + battle_anim NO_MOVE, SE_DARKEN_MON_PALETTE + battle_anim NO_MOVE, SE_SPIRAL_BALLS_INWARD + battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE + db -1 ; end ShrinkingSquareBlackAnim: - db SE_DARKEN_MON_PALETTE, $FF - db $46, $FF, $43 - db SE_RESET_SCREEN_PALETTE, $FF - db $FF + battle_anim NO_MOVE, SE_DARKEN_MON_PALETTE + battle_anim NO_MOVE, SUBANIM_43, 1, 6 + battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE + db -1 ; end UnusedAnim: - db SE_LIGHT_SCREEN_PALETTE, $FF - db SE_SHOOT_MANY_BALLS_UPWARD, $FF - db SE_RESET_SCREEN_PALETTE, $FF - db $FF + battle_anim NO_MOVE, SE_LIGHT_SCREEN_PALETTE + battle_anim NO_MOVE, SE_SHOOT_MANY_BALLS_UPWARD + battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE + db -1 ; end ParalyzeAnim: - db $04, $13, $24 - db $04, $13, $24 - db $FF + battle_anim BIND, SUBANIM_24, 0, 4 + battle_anim BIND, SUBANIM_24, 0, 4 + db -1 ; end PoisonAnim: - db $08, $13, $27 - db $08, $13, $27 - db $FF + battle_anim BIND, SUBANIM_27, 0, 8 + battle_anim BIND, SUBANIM_27, 0, 8 + db -1 ; end SleepPlayerAnim: - db $10, $9B, $3A - db $10, $9B, $3A - db $FF + battle_anim REST, SUBANIM_3A, 0, 16 + battle_anim REST, SUBANIM_3A, 0, 16 + db -1 ; end SleepEnemyAnim: - db $10, $9B, $3B - db $10, $9B, $3B - db $FF + battle_anim REST, SUBANIM_3B, 0, 16 + battle_anim REST, SUBANIM_3B, 0, 16 + db -1 ; end ConfusedPlayerAnim: - db $08, $84, $25 - db $08, $84, $25 - db $FF + battle_anim AMNESIA, SUBANIM_25, 0, 8 + battle_anim AMNESIA, SUBANIM_25, 0, 8 + db -1 ; end ConfusedEnemyAnim: - db $08, $84, $26 - db $08, $84, $26 - db $FF + battle_anim AMNESIA, SUBANIM_26, 0, 8 + battle_anim AMNESIA, SUBANIM_26, 0, 8 + db -1 ; end BallBlockAnim: - db $03, $FF, $0B - db $FF + battle_anim NO_MOVE, SUBANIM_0B, 0, 3 + db -1 ; end FaintAnim: - db SE_SLIDE_MON_DOWN, $5A - db $FF + battle_anim DIG, SE_SLIDE_MON_DOWN + db -1 ; end ShakeScreenAnim: - db SE_SHAKE_SCREEN, $FF - db $FF + battle_anim NO_MOVE, SE_SHAKE_SCREEN + db -1 ; end ThrowRockAnim: - db $03, $8B, $53 - db $FF + battle_anim BARRAGE, SUBANIM_53, 0, 3 + db -1 ; end ThrowBaitAnim: - db $03, $8B, $54 - db $FF + battle_anim BARRAGE, SUBANIM_54, 0, 3 + db -1 ; end diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index 2e478e5c..e27642c1 100755 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -177,9 +177,9 @@ PlayAnimation: ld l, a .animationLoop ld a, [hli] - cp $FF + cp -1 jr z, .AnimationOver - cp $C0 ; is this subanimation or a special effect? + cp FIRST_SE_ID ; is this subanimation or a special effect? jr c, .playSubanimation .doSpecialEffect ld c, a @@ -194,7 +194,7 @@ PlayAnimation: jr .searchSpecialEffectTableLoop .foundMatch ld a, [hli] - cp -1 ; is there a sound to play? + cp NO_MOVE - 1 ; is there a sound to play? jr z, .skipPlayingSound ld [wAnimSoundID], a ; store sound push hl @@ -347,18 +347,17 @@ LoadAnimationTileset: ld c, a ; number of tiles jp CopyVideoData ; load tileset -AnimationTilesetPointers: - db 79 ; number of tiles - dw AnimationTileset1 - db $FF - - db 79 ; number of tiles - dw AnimationTileset2 - db $FF +anim_tileset: MACRO + db \1 + dw \2 + db -1 ; padding +ENDM - db 64 ; number of tiles - dw AnimationTileset1 - db $FF +AnimationTilesetPointers: + ; number of tiles, gfx pointer + anim_tileset 79, AnimationTileset1 + anim_tileset 79, AnimationTileset2 + anim_tileset 64, AnimationTileset1 AnimationTileset1: INCBIN "gfx/battle/attack_anim_1.2bpp" @@ -412,7 +411,7 @@ MoveAnimation: ld [wSubAnimSubEntryAddr], a ld [wUnusedD09B], a ld [wSubAnimTransform], a - dec a + dec a ; NO_MOVE - 1 ld [wAnimSoundID], a pop af pop bc @@ -461,10 +460,10 @@ PlayApplyingAttackAnimation: jp hl AnimationTypePointerTable: - dw ShakeScreenVertically ; enemy mon has used a damaging move without a side effect + dw ShakeScreenVertically ; enemy mon has used a damaging move without a side effect dw ShakeScreenHorizontallyHeavy ; enemy mon has used a damaging move with a side effect - dw ShakeScreenHorizontallySlow ; enemy mon has used a non-damaging move - dw BlinkEnemyMonSprite ; player mon has used a damaging move without a side effect + dw ShakeScreenHorizontallySlow ; enemy mon has used a non-damaging move + dw BlinkEnemyMonSprite ; player mon has used a damaging move without a side effect dw ShakeScreenHorizontallyLight ; player mon has used a damaging move with a side effect dw ShakeScreenHorizontallySlow2 ; player mon has used a non-damaging move @@ -549,7 +548,7 @@ SetAnimationPalette: PlaySubanimation: ld a, [wAnimSoundID] - cp $FF + cp NO_MOVE - 1 jr z, .skipPlayingSound call GetMoveSound call PlaySound -- cgit v1.2.3 From 41a9e30268a4505c758980dd112aea632a2ab51a Mon Sep 17 00:00:00 2001 From: Rangi Date: Thu, 16 Jul 2020 22:00:16 -0400 Subject: Add constants for move animations' frame blocks --- constants/move_animation_constants.asm | 125 +++ data/battle_anims/frame_blocks.asm | 4 +- data/battle_anims/subanimations.asm | 1376 ++++++++++++++++---------------- 3 files changed, 818 insertions(+), 687 deletions(-) diff --git a/constants/move_animation_constants.asm b/constants/move_animation_constants.asm index 41dc240d..11bd07cc 100644 --- a/constants/move_animation_constants.asm +++ b/constants/move_animation_constants.asm @@ -130,3 +130,128 @@ FIRST_SE_ID EQU const_value const SUBANIM_53 const SUBANIM_54 const SUBANIM_55 + +; frame blocks that are part of subanimations + const_def + const FRAMEBLOCK_00 + const FRAMEBLOCK_01 + const FRAMEBLOCK_02 + const FRAMEBLOCK_03 + const FRAMEBLOCK_04 + const FRAMEBLOCK_05 + const FRAMEBLOCK_06 + const FRAMEBLOCK_07 + const FRAMEBLOCK_08 + const FRAMEBLOCK_09 + const FRAMEBLOCK_0A + const FRAMEBLOCK_0B + const FRAMEBLOCK_0C + const FRAMEBLOCK_0D + const FRAMEBLOCK_0E + const FRAMEBLOCK_0F + const FRAMEBLOCK_10 + const FRAMEBLOCK_11 + const FRAMEBLOCK_12 + const FRAMEBLOCK_13 + const FRAMEBLOCK_14 + const FRAMEBLOCK_15 + const FRAMEBLOCK_16 + const FRAMEBLOCK_17 + const FRAMEBLOCK_18 + const FRAMEBLOCK_19 + const FRAMEBLOCK_1A + const FRAMEBLOCK_1B + const FRAMEBLOCK_1C + const FRAMEBLOCK_1D + const FRAMEBLOCK_1E + const FRAMEBLOCK_1F + const FRAMEBLOCK_20 + const FRAMEBLOCK_21 + const FRAMEBLOCK_22 + const FRAMEBLOCK_23 + const FRAMEBLOCK_24 + const FRAMEBLOCK_25 + const FRAMEBLOCK_26 + const FRAMEBLOCK_27 + const FRAMEBLOCK_28 + const FRAMEBLOCK_29 + const FRAMEBLOCK_2A + const FRAMEBLOCK_2B + const FRAMEBLOCK_2C + const FRAMEBLOCK_2D + const FRAMEBLOCK_2E + const FRAMEBLOCK_2F + const FRAMEBLOCK_30 + const FRAMEBLOCK_31 + const FRAMEBLOCK_32 + const FRAMEBLOCK_33 + const FRAMEBLOCK_34 + const FRAMEBLOCK_35 + const FRAMEBLOCK_36 + const FRAMEBLOCK_37 + const FRAMEBLOCK_38 + const FRAMEBLOCK_39 + const FRAMEBLOCK_3A + const FRAMEBLOCK_3B + const FRAMEBLOCK_3C + const FRAMEBLOCK_3D + const FRAMEBLOCK_3E + const FRAMEBLOCK_3F + const FRAMEBLOCK_40 + const FRAMEBLOCK_41 + const FRAMEBLOCK_42 + const FRAMEBLOCK_43 + const FRAMEBLOCK_44 + const FRAMEBLOCK_45 + const FRAMEBLOCK_46 + const FRAMEBLOCK_47 + const FRAMEBLOCK_SMALL_BLACK_CIRCLE + const FRAMEBLOCK_LARGE_BLACK_CIRCLE + const FRAMEBLOCK_4A + const FRAMEBLOCK_4B + const FRAMEBLOCK_4C + const FRAMEBLOCK_4D + const FRAMEBLOCK_4E + const FRAMEBLOCK_4F + const FRAMEBLOCK_50 + const FRAMEBLOCK_51 + const FRAMEBLOCK_52 + const FRAMEBLOCK_53 + const FRAMEBLOCK_54 + const FRAMEBLOCK_55 + const FRAMEBLOCK_56 + const FRAMEBLOCK_57 + const FRAMEBLOCK_58 + const FRAMEBLOCK_59 + const FRAMEBLOCK_5A + const FRAMEBLOCK_5B + const FRAMEBLOCK_5C + const FRAMEBLOCK_5D + const FRAMEBLOCK_5E + const FRAMEBLOCK_5F + const FRAMEBLOCK_60 + const FRAMEBLOCK_61 + const FRAMEBLOCK_62 + const FRAMEBLOCK_63 + const FRAMEBLOCK_64 + const FRAMEBLOCK_65 + const FRAMEBLOCK_66 + const FRAMEBLOCK_67 + const FRAMEBLOCK_68 + const FRAMEBLOCK_69 + const FRAMEBLOCK_6A + const FRAMEBLOCK_6B + const FRAMEBLOCK_6C + const FRAMEBLOCK_6D + const FRAMEBLOCK_6E + const FRAMEBLOCK_6F + const FRAMEBLOCK_70 + const FRAMEBLOCK_71 + const FRAMEBLOCK_72 + const FRAMEBLOCK_73 + const FRAMEBLOCK_74 + const FRAMEBLOCK_75 + const FRAMEBLOCK_76 + const FRAMEBLOCK_77 + const FRAMEBLOCK_78 + const FRAMEBLOCK_79 diff --git a/data/battle_anims/frame_blocks.asm b/data/battle_anims/frame_blocks.asm index 34915a96..dd127879 100644 --- a/data/battle_anims/frame_blocks.asm +++ b/data/battle_anims/frame_blocks.asm @@ -72,7 +72,7 @@ FrameBlockPointers: dw FrameBlock46 dw FrameBlock47 dw SmallBlackCircleFrameBlock - dw LargeBlockCircleFrameBlock + dw LargeBlackCircleFrameBlock dw FrameBlock4a dw FrameBlock4b dw FrameBlock4c @@ -782,7 +782,7 @@ SmallBlackCircleFrameBlock: db $10, $08, $33, $40 db $10, $10, $33, $60 -LargeBlockCircleFrameBlock: +LargeBlackCircleFrameBlock: db 16 ; # db $00, $00, $22, $00 db $00, $08, $23, $00 diff --git a/data/battle_anims/subanimations.asm b/data/battle_anims/subanimations.asm index 2d7a6807..469c4781 100644 --- a/data/battle_anims/subanimations.asm +++ b/data/battle_anims/subanimations.asm @@ -86,859 +86,865 @@ SubanimationPointers: dw Subanimation54 dw Subanimation55 +; subanimation format: +; db (type << 5) | count +; REPT count +; db frame block id, base coordinate id, frame block mode +; endr + Subanimation04: - db $43 - db $02, $1a, $00 - db $02, $10, $00 - db $02, $03, $00 + db (2 << 5) | 3 + db FRAMEBLOCK_02, $1a, $00 + db FRAMEBLOCK_02, $10, $00 + db FRAMEBLOCK_02, $03, $00 Subanimation05: - db $41 - db $02, $10, $00 + db (2 << 5) | 1 + db FRAMEBLOCK_02, $10, $00 Subanimation08: - db $0b - db $03, $30, $00 - db $03, $44, $00 - db $03, $94, $00 - db $03, $60, $00 - db $03, $76, $00 - db $03, $9f, $00 - db $03, $8d, $00 - db $03, $a0, $00 - db $03, $1a, $00 - db $03, $a1, $00 - db $03, $34, $00 + db (0 << 5) | 11 + db FRAMEBLOCK_03, $30, $00 + db FRAMEBLOCK_03, $44, $00 + db FRAMEBLOCK_03, $94, $00 + db FRAMEBLOCK_03, $60, $00 + db FRAMEBLOCK_03, $76, $00 + db FRAMEBLOCK_03, $9f, $00 + db FRAMEBLOCK_03, $8d, $00 + db FRAMEBLOCK_03, $a0, $00 + db FRAMEBLOCK_03, $1a, $00 + db FRAMEBLOCK_03, $a1, $00 + db FRAMEBLOCK_03, $34, $00 Subanimation07: - db $0b - db $03, $30, $00 - db $03, $a2, $00 - db $03, $31, $00 - db $03, $a3, $00 - db $03, $32, $00 - db $03, $a4, $00 - db $03, $92, $00 - db $03, $a5, $00 - db $03, $15, $00 - db $03, $a6, $00 - db $03, $34, $00 + db (0 << 5) | 11 + db FRAMEBLOCK_03, $30, $00 + db FRAMEBLOCK_03, $a2, $00 + db FRAMEBLOCK_03, $31, $00 + db FRAMEBLOCK_03, $a3, $00 + db FRAMEBLOCK_03, $32, $00 + db FRAMEBLOCK_03, $a4, $00 + db FRAMEBLOCK_03, $92, $00 + db FRAMEBLOCK_03, $a5, $00 + db FRAMEBLOCK_03, $15, $00 + db FRAMEBLOCK_03, $a6, $00 + db FRAMEBLOCK_03, $34, $00 Subanimation06: - db $0b - db $03, $30, $00 - db $03, $a2, $00 - db $03, $93, $00 - db $03, $61, $00 - db $03, $73, $00 - db $03, $a7, $00 - db $03, $33, $00 - db $03, $a8, $00 - db $03, $0e, $00 - db $03, $a9, $00 - db $03, $34, $00 + db (0 << 5) | 11 + db FRAMEBLOCK_03, $30, $00 + db FRAMEBLOCK_03, $a2, $00 + db FRAMEBLOCK_03, $93, $00 + db FRAMEBLOCK_03, $61, $00 + db FRAMEBLOCK_03, $73, $00 + db FRAMEBLOCK_03, $a7, $00 + db FRAMEBLOCK_03, $33, $00 + db FRAMEBLOCK_03, $a8, $00 + db FRAMEBLOCK_03, $0e, $00 + db FRAMEBLOCK_03, $a9, $00 + db FRAMEBLOCK_03, $34, $00 Subanimation09: - db $04 - db $03, $21, $04 - db $04, $21, $04 - db $03, $21, $04 - db $05, $21, $04 + db (0 << 5) | 4 + db FRAMEBLOCK_03, $21, $04 + db FRAMEBLOCK_04, $21, $04 + db FRAMEBLOCK_03, $21, $04 + db FRAMEBLOCK_05, $21, $04 Subanimation0a: - db $46 - db $06, $1b, $00 - db $07, $1b, $00 - db $08, $36, $00 - db $09, $36, $00 - db $0a, $15, $00 - db $0a, $15, $00 + db (2 << 5) | 6 + db FRAMEBLOCK_06, $1b, $00 + db FRAMEBLOCK_07, $1b, $00 + db FRAMEBLOCK_08, $36, $00 + db FRAMEBLOCK_09, $36, $00 + db FRAMEBLOCK_0A, $15, $00 + db FRAMEBLOCK_0A, $15, $00 Subanimation0b: - db $04 - db $01, $2d, $00 - db $03, $2f, $00 - db $03, $35, $00 - db $03, $4d, $00 + db (0 << 5) | 4 + db FRAMEBLOCK_01, $2d, $00 + db FRAMEBLOCK_03, $2f, $00 + db FRAMEBLOCK_03, $35, $00 + db FRAMEBLOCK_03, $4d, $00 Subanimation55: - db $41 - db $01, $9d, $00 + db (2 << 5) | 1 + db FRAMEBLOCK_01, $9d, $00 Subanimation11: - db $4c - db $0b, $26, $00 - db $0c, $26, $00 - db $0b, $26, $00 - db $0c, $26, $00 - db $0b, $28, $00 - db $0c, $28, $00 - db $0b, $28, $00 - db $0c, $28, $00 - db $0b, $27, $00 - db $0c, $27, $00 - db $0b, $27, $00 - db $0c, $27, $00 + db (2 << 5) | 12 + db FRAMEBLOCK_0B, $26, $00 + db FRAMEBLOCK_0C, $26, $00 + db FRAMEBLOCK_0B, $26, $00 + db FRAMEBLOCK_0C, $26, $00 + db FRAMEBLOCK_0B, $28, $00 + db FRAMEBLOCK_0C, $28, $00 + db FRAMEBLOCK_0B, $28, $00 + db FRAMEBLOCK_0C, $28, $00 + db FRAMEBLOCK_0B, $27, $00 + db FRAMEBLOCK_0C, $27, $00 + db FRAMEBLOCK_0B, $27, $00 + db FRAMEBLOCK_0C, $27, $00 Subanimation2b: - db $4b - db $0d, $03, $03 - db $0e, $03, $03 - db $0f, $03, $00 - db $0d, $11, $00 - db $0d, $11, $00 - db $0d, $37, $00 - db $0d, $37, $00 - db $10, $21, $00 - db $10, $21, $00 - db $11, $1b, $00 - db $11, $1b, $00 + db (2 << 5) | 11 + db FRAMEBLOCK_0D, $03, $03 + db FRAMEBLOCK_0E, $03, $03 + db FRAMEBLOCK_0F, $03, $00 + db FRAMEBLOCK_0D, $11, $00 + db FRAMEBLOCK_0D, $11, $00 + db FRAMEBLOCK_0D, $37, $00 + db FRAMEBLOCK_0D, $37, $00 + db FRAMEBLOCK_10, $21, $00 + db FRAMEBLOCK_10, $21, $00 + db FRAMEBLOCK_11, $1b, $00 + db FRAMEBLOCK_11, $1b, $00 Subanimation2c: - db $4c - db $12, $01, $00 - db $12, $0f, $00 - db $12, $1b, $00 - db $12, $25, $00 - db $13, $38, $00 - db $13, $38, $02 - db $14, $38, $00 - db $14, $38, $02 - db $15, $38, $00 - db $15, $38, $00 - db $16, $38, $00 - db $16, $38, $00 + db (2 << 5) | 12 + db FRAMEBLOCK_12, $01, $00 + db FRAMEBLOCK_12, $0f, $00 + db FRAMEBLOCK_12, $1b, $00 + db FRAMEBLOCK_12, $25, $00 + db FRAMEBLOCK_13, $38, $00 + db FRAMEBLOCK_13, $38, $02 + db FRAMEBLOCK_14, $38, $00 + db FRAMEBLOCK_14, $38, $02 + db FRAMEBLOCK_15, $38, $00 + db FRAMEBLOCK_15, $38, $00 + db FRAMEBLOCK_16, $38, $00 + db FRAMEBLOCK_16, $38, $00 Subanimation12: - db $69 - db $17, $30, $00 - db $17, $39, $00 - db $17, $3a, $00 - db $17, $3b, $00 - db $17, $3c, $00 - db $17, $3d, $00 - db $17, $3e, $00 - db $17, $3f, $00 - db $17, $1f, $00 + db (3 << 5) | 9 + db FRAMEBLOCK_17, $30, $00 + db FRAMEBLOCK_17, $39, $00 + db FRAMEBLOCK_17, $3a, $00 + db FRAMEBLOCK_17, $3b, $00 + db FRAMEBLOCK_17, $3c, $00 + db FRAMEBLOCK_17, $3d, $00 + db FRAMEBLOCK_17, $3e, $00 + db FRAMEBLOCK_17, $3f, $00 + db FRAMEBLOCK_17, $1f, $00 Subanimation00: - db $41 - db $01, $17, $00 + db (2 << 5) | 1 + db FRAMEBLOCK_01, $17, $00 Subanimation01: - db $42 - db $01, $0f, $00 - db $01, $1d, $00 + db (2 << 5) | 2 + db FRAMEBLOCK_01, $0f, $00 + db FRAMEBLOCK_01, $1d, $00 Subanimation02: - db $43 - db $01, $12, $00 - db $01, $15, $00 - db $01, $1c, $00 + db (2 << 5) | 3 + db FRAMEBLOCK_01, $12, $00 + db FRAMEBLOCK_01, $15, $00 + db FRAMEBLOCK_01, $1c, $00 Subanimation03: - db $44 - db $01, $0b, $00 - db $01, $11, $00 - db $01, $18, $00 - db $01, $1d, $00 + db (2 << 5) | 4 + db FRAMEBLOCK_01, $0b, $00 + db FRAMEBLOCK_01, $11, $00 + db FRAMEBLOCK_01, $18, $00 + db FRAMEBLOCK_01, $1d, $00 Subanimation0c: - db $43 - db $0c, $20, $00 - db $0c, $21, $00 - db $0c, $23, $00 + db (2 << 5) | 3 + db FRAMEBLOCK_0C, $20, $00 + db FRAMEBLOCK_0C, $21, $00 + db FRAMEBLOCK_0C, $23, $00 Subanimation0d: - db $46 - db $0c, $20, $02 - db $0c, $15, $00 - db $0c, $21, $02 - db $0c, $17, $00 - db $0c, $23, $02 - db $0c, $19, $00 + db (2 << 5) | 6 + db FRAMEBLOCK_0C, $20, $02 + db FRAMEBLOCK_0C, $15, $00 + db FRAMEBLOCK_0C, $21, $02 + db FRAMEBLOCK_0C, $17, $00 + db FRAMEBLOCK_0C, $23, $02 + db FRAMEBLOCK_0C, $19, $00 Subanimation0e: - db $49 - db $0c, $20, $02 - db $0c, $15, $02 - db $0c, $07, $00 - db $0c, $21, $02 - db $0c, $17, $02 - db $0c, $09, $00 - db $0c, $23, $02 - db $0c, $19, $02 - db $0c, $0c, $00 + db (2 << 5) | 9 + db FRAMEBLOCK_0C, $20, $02 + db FRAMEBLOCK_0C, $15, $02 + db FRAMEBLOCK_0C, $07, $00 + db FRAMEBLOCK_0C, $21, $02 + db FRAMEBLOCK_0C, $17, $02 + db FRAMEBLOCK_0C, $09, $00 + db FRAMEBLOCK_0C, $23, $02 + db FRAMEBLOCK_0C, $19, $02 + db FRAMEBLOCK_0C, $0c, $00 Subanimation1f: - db $85 - db $0c, $30, $03 - db $0c, $40, $03 - db $0c, $41, $03 - db $0c, $42, $03 - db $0c, $21, $00 + db (4 << 5) | 5 + db FRAMEBLOCK_0C, $30, $03 + db FRAMEBLOCK_0C, $40, $03 + db FRAMEBLOCK_0C, $41, $03 + db FRAMEBLOCK_0C, $42, $03 + db FRAMEBLOCK_0C, $21, $00 Subanimation2e: - db $2e - db $18, $43, $02 - db $75, $52, $04 - db $19, $43, $02 - db $75, $63, $04 - db $1a, $43, $02 - db $75, $4d, $04 - db $1b, $43, $02 - db $75, $97, $04 - db $1c, $43, $02 - db $75, $98, $04 - db $1d, $43, $02 - db $75, $58, $04 - db $1e, $43, $02 - db $75, $1b, $00 + db (1 << 5) | 14 + db FRAMEBLOCK_18, $43, $02 + db FRAMEBLOCK_75, $52, $04 + db FRAMEBLOCK_19, $43, $02 + db FRAMEBLOCK_75, $63, $04 + db FRAMEBLOCK_1A, $43, $02 + db FRAMEBLOCK_75, $4d, $04 + db FRAMEBLOCK_1B, $43, $02 + db FRAMEBLOCK_75, $97, $04 + db FRAMEBLOCK_1C, $43, $02 + db FRAMEBLOCK_75, $98, $04 + db FRAMEBLOCK_1D, $43, $02 + db FRAMEBLOCK_75, $58, $04 + db FRAMEBLOCK_1E, $43, $02 + db FRAMEBLOCK_75, $1b, $00 Subanimation2f: - db $44 - db $1f, $24, $00 - db $20, $20, $00 - db $21, $1a, $00 - db $22, $15, $00 + db (2 << 5) | 4 + db FRAMEBLOCK_1F, $24, $00 + db FRAMEBLOCK_20, $20, $00 + db FRAMEBLOCK_21, $1a, $00 + db FRAMEBLOCK_22, $15, $00 Subanimation30: - db $52 - db $23, $00, $02 - db $23, $02, $02 - db $23, $04, $00 - db $23, $07, $02 - db $23, $02, $02 - db $23, $04, $00 - db $23, $0e, $02 - db $23, $02, $02 - db $23, $0c, $00 - db $25, $07, $00 - db $25, $0e, $00 - db $25, $15, $00 - db $24, $24, $02 - db $23, $1c, $02 - db $23, $23, $00 - db $23, $21, $02 - db $24, $28, $00 - db $24, $28, $00 + db (2 << 5) | 18 + db FRAMEBLOCK_23, $00, $02 + db FRAMEBLOCK_23, $02, $02 + db FRAMEBLOCK_23, $04, $00 + db FRAMEBLOCK_23, $07, $02 + db FRAMEBLOCK_23, $02, $02 + db FRAMEBLOCK_23, $04, $00 + db FRAMEBLOCK_23, $0e, $02 + db FRAMEBLOCK_23, $02, $02 + db FRAMEBLOCK_23, $0c, $00 + db FRAMEBLOCK_25, $07, $00 + db FRAMEBLOCK_25, $0e, $00 + db FRAMEBLOCK_25, $15, $00 + db FRAMEBLOCK_24, $24, $02 + db FRAMEBLOCK_23, $1c, $02 + db FRAMEBLOCK_23, $23, $00 + db FRAMEBLOCK_23, $21, $02 + db FRAMEBLOCK_24, $28, $00 + db FRAMEBLOCK_24, $28, $00 Subanimation0f: - db $4c - db $26, $0e, $02 - db $26, $16, $02 - db $26, $1c, $00 - db $27, $0e, $02 - db $27, $16, $02 - db $27, $1c, $00 - db $28, $0e, $02 - db $28, $16, $02 - db $28, $1c, $00 - db $29, $0e, $02 - db $29, $16, $02 - db $29, $1c, $00 + db (2 << 5) | 12 + db FRAMEBLOCK_26, $0e, $02 + db FRAMEBLOCK_26, $16, $02 + db FRAMEBLOCK_26, $1c, $00 + db FRAMEBLOCK_27, $0e, $02 + db FRAMEBLOCK_27, $16, $02 + db FRAMEBLOCK_27, $1c, $00 + db FRAMEBLOCK_28, $0e, $02 + db FRAMEBLOCK_28, $16, $02 + db FRAMEBLOCK_28, $1c, $00 + db FRAMEBLOCK_29, $0e, $02 + db FRAMEBLOCK_29, $16, $02 + db FRAMEBLOCK_29, $1c, $00 Subanimation16: - db $4c - db $2a, $05, $00 - db $2b, $05, $02 - db $2b, $0c, $02 - db $2a, $11, $04 - db $2b, $11, $02 - db $2b, $17, $02 - db $2a, $1b, $04 - db $2b, $1b, $02 - db $2b, $20, $02 - db $2a, $2f, $04 - db $2c, $00, $02 - db $2c, $00, $00 + db (2 << 5) | 12 + db FRAMEBLOCK_2A, $05, $00 + db FRAMEBLOCK_2B, $05, $02 + db FRAMEBLOCK_2B, $0c, $02 + db FRAMEBLOCK_2A, $11, $04 + db FRAMEBLOCK_2B, $11, $02 + db FRAMEBLOCK_2B, $17, $02 + db FRAMEBLOCK_2A, $1b, $04 + db FRAMEBLOCK_2B, $1b, $02 + db FRAMEBLOCK_2B, $20, $02 + db FRAMEBLOCK_2A, $2f, $04 + db FRAMEBLOCK_2C, $00, $02 + db FRAMEBLOCK_2C, $00, $00 Subanimation10: - db $88 - db $2d, $44, $00 - db $2e, $45, $00 - db $2d, $46, $00 - db $2e, $47, $00 - db $2d, $48, $00 - db $2e, $49, $00 - db $2d, $2f, $00 - db $2e, $1a, $00 + db (4 << 5) | 8 + db FRAMEBLOCK_2D, $44, $00 + db FRAMEBLOCK_2E, $45, $00 + db FRAMEBLOCK_2D, $46, $00 + db FRAMEBLOCK_2E, $47, $00 + db FRAMEBLOCK_2D, $48, $00 + db FRAMEBLOCK_2E, $49, $00 + db FRAMEBLOCK_2D, $2f, $00 + db FRAMEBLOCK_2E, $1a, $00 Subanimation31: - db $2a - db $2f, $46, $00 - db $2f, $4a, $00 - db $2f, $4b, $00 - db $2f, $4c, $00 - db $2f, $4d, $00 - db $2f, $4e, $00 - db $2f, $4f, $00 - db $2f, $50, $00 - db $2f, $2e, $00 - db $2f, $51, $00 + db (1 << 5) | 10 + db FRAMEBLOCK_2F, $46, $00 + db FRAMEBLOCK_2F, $4a, $00 + db FRAMEBLOCK_2F, $4b, $00 + db FRAMEBLOCK_2F, $4c, $00 + db FRAMEBLOCK_2F, $4d, $00 + db FRAMEBLOCK_2F, $4e, $00 + db FRAMEBLOCK_2F, $4f, $00 + db FRAMEBLOCK_2F, $50, $00 + db FRAMEBLOCK_2F, $2e, $00 + db FRAMEBLOCK_2F, $51, $00 Subanimation13: - db $86 - db $30, $31, $00 - db $30, $32, $00 - db $30, $92, $00 - db $30, $0e, $00 - db $30, $0f, $00 - db $30, $10, $00 + db (4 << 5) | 6 + db FRAMEBLOCK_30, $31, $00 + db FRAMEBLOCK_30, $32, $00 + db FRAMEBLOCK_30, $92, $00 + db FRAMEBLOCK_30, $0e, $00 + db FRAMEBLOCK_30, $0f, $00 + db FRAMEBLOCK_30, $10, $00 Subanimation14: - db $49 - db $30, $10, $00 - db $30, $10, $03 - db $31, $1c, $04 - db $31, $21, $04 - db $31, $26, $00 - db $30, $10, $02 - db $31, $1d, $04 - db $31, $22, $04 - db $31, $27, $00 + db (2 << 5) | 9 + db FRAMEBLOCK_30, $10, $00 + db FRAMEBLOCK_30, $10, $03 + db FRAMEBLOCK_31, $1c, $04 + db FRAMEBLOCK_31, $21, $04 + db FRAMEBLOCK_31, $26, $00 + db FRAMEBLOCK_30, $10, $02 + db FRAMEBLOCK_31, $1d, $04 + db FRAMEBLOCK_31, $22, $04 + db FRAMEBLOCK_31, $27, $00 Subanimation41: - db $85 - db $03, $31, $00 - db $03, $32, $00 - db $03, $92, $00 - db $03, $0e, $00 - db $03, $10, $00 + db (4 << 5) | 5 + db FRAMEBLOCK_03, $31, $00 + db FRAMEBLOCK_03, $32, $00 + db FRAMEBLOCK_03, $92, $00 + db FRAMEBLOCK_03, $0e, $00 + db FRAMEBLOCK_03, $10, $00 Subanimation42: - db $43 - db $48, $08, $00 - db $49, $08, $00 - db $5a, $08, $00 + db (2 << 5) | 3 + db FRAMEBLOCK_SMALL_BLACK_CIRCLE, $08, $00 + db FRAMEBLOCK_LARGE_BLACK_CIRCLE, $08, $00 + db FRAMEBLOCK_5A, $08, $00 Subanimation15: - db $22 - db $35, $52, $00 - db $35, $53, $00 + db (1 << 5) | 2 + db FRAMEBLOCK_35, $52, $00 + db FRAMEBLOCK_35, $53, $00 Subanimation17: - db $44 - db $36, $54, $00 - db $36, $55, $00 - db $37, $56, $00 - db $37, $57, $00 + db (2 << 5) | 4 + db FRAMEBLOCK_36, $54, $00 + db FRAMEBLOCK_36, $55, $00 + db FRAMEBLOCK_37, $56, $00 + db FRAMEBLOCK_37, $57, $00 Subanimation18: - db $a4 - db $36, $54, $00 - db $36, $55, $00 - db $37, $56, $00 - db $37, $57, $00 + db (5 << 5) | 4 + db FRAMEBLOCK_36, $54, $00 + db FRAMEBLOCK_36, $55, $00 + db FRAMEBLOCK_37, $56, $00 + db FRAMEBLOCK_37, $57, $00 Subanimation40: - db $46 - db $17, $54, $00 - db $17, $55, $00 - db $17, $0e, $00 - db $17, $56, $00 - db $17, $57, $00 - db $17, $13, $00 + db (2 << 5) | 6 + db FRAMEBLOCK_17, $54, $00 + db FRAMEBLOCK_17, $55, $00 + db FRAMEBLOCK_17, $0e, $00 + db FRAMEBLOCK_17, $56, $00 + db FRAMEBLOCK_17, $57, $00 + db FRAMEBLOCK_17, $13, $00 Subanimation19: - db $8c - db $38, $31, $00 - db $39, $31, $00 - db $38, $32, $00 - db $39, $32, $00 - db $38, $92, $00 - db $39, $92, $00 - db $38, $0e, $00 - db $39, $0e, $00 - db $38, $0f, $00 - db $39, $0f, $00 - db $38, $10, $00 - db $39, $10, $00 + db (4 << 5) | 12 + db FRAMEBLOCK_38, $31, $00 + db FRAMEBLOCK_39, $31, $00 + db FRAMEBLOCK_38, $32, $00 + db FRAMEBLOCK_39, $32, $00 + db FRAMEBLOCK_38, $92, $00 + db FRAMEBLOCK_39, $92, $00 + db FRAMEBLOCK_38, $0e, $00 + db FRAMEBLOCK_39, $0e, $00 + db FRAMEBLOCK_38, $0f, $00 + db FRAMEBLOCK_39, $0f, $00 + db FRAMEBLOCK_38, $10, $00 + db FRAMEBLOCK_39, $10, $00 Subanimation1a: - db $50 - db $3a, $08, $00 - db $3b, $08, $00 - db $3c, $08, $00 - db $3d, $08, $00 - db $3e, $08, $00 - db $3f, $08, $00 - db $3e, $08, $00 - db $3f, $08, $00 - db $3a, $0b, $00 - db $3b, $0b, $00 - db $3c, $0b, $00 - db $3d, $0b, $00 - db $3e, $0b, $00 - db $3f, $0b, $00 - db $3e, $0b, $00 - db $3f, $0b, $00 + db (2 << 5) | 16 + db FRAMEBLOCK_3A, $08, $00 + db FRAMEBLOCK_3B, $08, $00 + db FRAMEBLOCK_3C, $08, $00 + db FRAMEBLOCK_3D, $08, $00 + db FRAMEBLOCK_3E, $08, $00 + db FRAMEBLOCK_3F, $08, $00 + db FRAMEBLOCK_3E, $08, $00 + db FRAMEBLOCK_3F, $08, $00 + db FRAMEBLOCK_3A, $0b, $00 + db FRAMEBLOCK_3B, $0b, $00 + db FRAMEBLOCK_3C, $0b, $00 + db FRAMEBLOCK_3D, $0b, $00 + db FRAMEBLOCK_3E, $0b, $00 + db FRAMEBLOCK_3F, $0b, $00 + db FRAMEBLOCK_3E, $0b, $00 + db FRAMEBLOCK_3F, $0b, $00 Subanimation1b: - db $84 - db $40, $31, $00 - db $40, $32, $00 - db $40, $92, $00 - db $40, $15, $00 + db (4 << 5) | 4 + db FRAMEBLOCK_40, $31, $00 + db FRAMEBLOCK_40, $32, $00 + db FRAMEBLOCK_40, $92, $00 + db FRAMEBLOCK_40, $15, $00 Subanimation1c: - db $43 - db $41, $58, $00 - db $41, $59, $00 - db $41, $21, $00 + db (2 << 5) | 3 + db FRAMEBLOCK_41, $58, $00 + db FRAMEBLOCK_41, $59, $00 + db FRAMEBLOCK_41, $21, $00 Subanimation1d: - db $af - db $24, $9a, $00 - db $23, $1b, $02 - db $24, $22, $00 - db $23, $16, $02 - db $23, $1d, $02 - db $24, $98, $00 - db $25, $2c, $04 - db $25, $2a, $04 - db $25, $99, $04 - db $25, $62, $04 - db $25, $99, $04 - db $25, $62, $04 - db $25, $99, $04 - db $25, $62, $04 - db $25, $99, $03 + db (5 << 5) | 15 + db FRAMEBLOCK_24, $9a, $00 + db FRAMEBLOCK_23, $1b, $02 + db FRAMEBLOCK_24, $22, $00 + db FRAMEBLOCK_23, $16, $02 + db FRAMEBLOCK_23, $1d, $02 + db FRAMEBLOCK_24, $98, $00 + db FRAMEBLOCK_25, $2c, $04 + db FRAMEBLOCK_25, $2a, $04 + db FRAMEBLOCK_25, $99, $04 + db FRAMEBLOCK_25, $62, $04 + db FRAMEBLOCK_25, $99, $04 + db FRAMEBLOCK_25, $62, $04 + db FRAMEBLOCK_25, $99, $04 + db FRAMEBLOCK_25, $62, $04 + db FRAMEBLOCK_25, $99, $03 Subanimation1e: - db $01 - db $25, $75, $00 + db (0 << 5) | 1 + db FRAMEBLOCK_25, $75, $00 Subanimation20: - db $42 - db $42, $07, $00 - db $43, $07, $00 + db (2 << 5) | 2 + db FRAMEBLOCK_42, $07, $00 + db FRAMEBLOCK_43, $07, $00 Subanimation21: - db $43 - db $44, $00, $00 - db $45, $08, $00 - db $46, $10, $02 + db (2 << 5) | 3 + db FRAMEBLOCK_44, $00, $00 + db FRAMEBLOCK_45, $08, $00 + db FRAMEBLOCK_46, $10, $02 Subanimation22: - db $8b - db $47, $10, $00 - db $47, $56, $00 - db $47, $07, $00 - db $47, $aa, $00 - db $47, $ab, $00 - db $47, $ac, $00 - db $47, $ad, $00 - db $47, $ae, $00 - db $47, $af, $00 - db $47, $89, $00 - db $47, $b0, $00 + db (4 << 5) | 11 + db FRAMEBLOCK_47, $10, $00 + db FRAMEBLOCK_47, $56, $00 + db FRAMEBLOCK_47, $07, $00 + db FRAMEBLOCK_47, $aa, $00 + db FRAMEBLOCK_47, $ab, $00 + db FRAMEBLOCK_47, $ac, $00 + db FRAMEBLOCK_47, $ad, $00 + db FRAMEBLOCK_47, $ae, $00 + db FRAMEBLOCK_47, $af, $00 + db FRAMEBLOCK_47, $89, $00 + db FRAMEBLOCK_47, $b0, $00 Subanimation2d: - db $66 - db $44, $64, $00 - db $45, $65, $00 - db $46, $66, $00 - db $47, $66, $00 - db $47, $66, $00 - db $47, $66, $00 + db (3 << 5) | 6 + db FRAMEBLOCK_44, $64, $00 + db FRAMEBLOCK_45, $65, $00 + db FRAMEBLOCK_46, $66, $00 + db FRAMEBLOCK_47, $66, $00 + db FRAMEBLOCK_47, $66, $00 + db FRAMEBLOCK_47, $66, $00 Subanimation39: - db $61 - db $47, $67, $00 + db (3 << 5) | 1 + db FRAMEBLOCK_47, $67, $00 Subanimation4e: - db $41 - db $71, $0f, $03 + db (2 << 5) | 1 + db FRAMEBLOCK_71, $0f, $03 Subanimation4f: - db $47 - db $71, $0f, $00 - db $71, $08, $00 - db $71, $01, $00 - db $71, $95, $00 - db $72, $95, $00 - db $73, $95, $00 - db $74, $95, $00 + db (2 << 5) | 7 + db FRAMEBLOCK_71, $0f, $00 + db FRAMEBLOCK_71, $08, $00 + db FRAMEBLOCK_71, $01, $00 + db FRAMEBLOCK_71, $95, $00 + db FRAMEBLOCK_72, $95, $00 + db FRAMEBLOCK_73, $95, $00 + db FRAMEBLOCK_74, $95, $00 Subanimation50: - db $48 - db $74, $95, $00 - db $73, $95, $00 - db $72, $95, $00 - db $71, $95, $00 - db $71, $01, $00 - db $71, $08, $00 - db $71, $0f, $00 - db $71, $16, $00 + db (2 << 5) | 8 + db FRAMEBLOCK_74, $95, $00 + db FRAMEBLOCK_73, $95, $00 + db FRAMEBLOCK_72, $95, $00 + db FRAMEBLOCK_71, $95, $00 + db FRAMEBLOCK_71, $01, $00 + db FRAMEBLOCK_71, $08, $00 + db FRAMEBLOCK_71, $0f, $00 + db FRAMEBLOCK_71, $16, $00 Subanimation29: - db $5d - db $48, $0f, $00 - db $4a, $68, $03 - db $4b, $2a, $03 - db $49, $0f, $00 - db $4a, $68, $03 - db $4b, $2a, $00 - db $4c, $6a, $03 - db $4d, $69, $03 - db $49, $6b, $00 - db $4c, $6a, $03 - db $4d, $69, $00 - db $4a, $68, $03 - db $4b, $2a, $03 - db $49, $6c, $00 - db $4a, $68, $03 - db $4b, $2a, $00 - db $4c, $6a, $03 - db $4d, $69, $03 - db $49, $6d, $00 - db $4c, $6a, $03 - db $4d, $2a, $00 - db $4a, $68, $03 - db $4b, $2a, $03 - db $49, $0f, $00 - db $4a, $68, $03 - db $4b, $2a, $00 - db $4c, $6a, $03 - db $4d, $2a, $03 - db $49, $6b, $00 + db (2 << 5) | 29 + db FRAMEBLOCK_SMALL_BLACK_CIRCLE, $0f, $00 + db FRAMEBLOCK_4A, $68, $03 + db FRAMEBLOCK_4B, $2a, $03 + db FRAMEBLOCK_LARGE_BLACK_CIRCLE, $0f, $00 + db FRAMEBLOCK_4A, $68, $03 + db FRAMEBLOCK_4B, $2a, $00 + db FRAMEBLOCK_4C, $6a, $03 + db FRAMEBLOCK_4D, $69, $03 + db FRAMEBLOCK_LARGE_BLACK_CIRCLE, $6b, $00 + db FRAMEBLOCK_4C, $6a, $03 + db FRAMEBLOCK_4D, $69, $00 + db FRAMEBLOCK_4A, $68, $03 + db FRAMEBLOCK_4B, $2a, $03 + db FRAMEBLOCK_LARGE_BLACK_CIRCLE, $6c, $00 + db FRAMEBLOCK_4A, $68, $03 + db FRAMEBLOCK_4B, $2a, $00 + db FRAMEBLOCK_4C, $6a, $03 + db FRAMEBLOCK_4D, $69, $03 + db FRAMEBLOCK_LARGE_BLACK_CIRCLE, $6d, $00 + db FRAMEBLOCK_4C, $6a, $03 + db FRAMEBLOCK_4D, $2a, $00 + db FRAMEBLOCK_4A, $68, $03 + db FRAMEBLOCK_4B, $2a, $03 + db FRAMEBLOCK_LARGE_BLACK_CIRCLE, $0f, $00 + db FRAMEBLOCK_4A, $68, $03 + db FRAMEBLOCK_4B, $2a, $00 + db FRAMEBLOCK_4C, $6a, $03 + db FRAMEBLOCK_4D, $2a, $03 + db FRAMEBLOCK_LARGE_BLACK_CIRCLE, $6b, $00 Subanimation2a: - db $44 - db $4e, $2b, $00 - db $4f, $2b, $00 - db $50, $2b, $00 - db $50, $2b, $00 + db (2 << 5) | 4 + db FRAMEBLOCK_4E, $2b, $00 + db FRAMEBLOCK_4F, $2b, $00 + db FRAMEBLOCK_50, $2b, $00 + db FRAMEBLOCK_50, $2b, $00 Subanimation23: - db $42 - db $51, $2d, $00 - db $51, $6e, $00 + db (2 << 5) | 2 + db FRAMEBLOCK_51, $2d, $00 + db FRAMEBLOCK_51, $6e, $00 Subanimation24: - db $a2 - db $51, $2d, $00 - db $51, $6e, $00 + db (5 << 5) | 2 + db FRAMEBLOCK_51, $2d, $00 + db FRAMEBLOCK_51, $6e, $00 Subanimation25: - db $62 - db $52, $71, $00 - db $52, $72, $00 + db (3 << 5) | 2 + db FRAMEBLOCK_52, $71, $00 + db FRAMEBLOCK_52, $72, $00 Subanimation26: - db $02 - db $52, $01, $00 - db $52, $2c, $00 + db (0 << 5) | 2 + db FRAMEBLOCK_52, $01, $00 + db FRAMEBLOCK_52, $2c, $00 Subanimation3a: - db $63 - db $53, $71, $00 - db $53, $7f, $00 - db $53, $81, $00 + db (3 << 5) | 3 + db FRAMEBLOCK_53, $71, $00 + db FRAMEBLOCK_53, $7f, $00 + db FRAMEBLOCK_53, $81, $00 Subanimation3b: - db $03 - db $53, $01, $00 - db $53, $15, $00 - db $53, $2c, $00 + db (0 << 5) | 3 + db FRAMEBLOCK_53, $01, $00 + db FRAMEBLOCK_53, $15, $00 + db FRAMEBLOCK_53, $2c, $00 Subanimation27: - db $a2 - db $54, $01, $00 - db $54, $2c, $00 + db (5 << 5) | 2 + db FRAMEBLOCK_54, $01, $00 + db FRAMEBLOCK_54, $2c, $00 Subanimation28: - db $23 - db $55, $73, $03 - db $56, $73, $03 - db $57, $73, $00 + db (1 << 5) | 3 + db FRAMEBLOCK_55, $73, $03 + db FRAMEBLOCK_56, $73, $03 + db FRAMEBLOCK_57, $73, $00 Subanimation32: - db $63 - db $47, $74, $00 - db $47, $43, $00 - db $47, $75, $00 + db (3 << 5) | 3 + db FRAMEBLOCK_47, $74, $00 + db FRAMEBLOCK_47, $43, $00 + db FRAMEBLOCK_47, $75, $00 Subanimation33: - db $26 - db $58, $76, $00 - db $34, $76, $00 - db $58, $76, $00 - db $34, $76, $00 - db $58, $76, $00 - db $34, $76, $00 + db (1 << 5) | 6 + db FRAMEBLOCK_58, $76, $00 + db FRAMEBLOCK_34, $76, $00 + db FRAMEBLOCK_58, $76, $00 + db FRAMEBLOCK_34, $76, $00 + db FRAMEBLOCK_58, $76, $00 + db FRAMEBLOCK_34, $76, $00 Subanimation3c: - db $67 - db $59, $79, $03 - db $59, $7b, $03 - db $59, $77, $03 - db $59, $7a, $03 - db $59, $78, $03 - db $59, $7c, $03 - db $59, $76, $00 + db (3 << 5) | 7 + db FRAMEBLOCK_59, $79, $03 + db FRAMEBLOCK_59, $7b, $03 + db FRAMEBLOCK_59, $77, $03 + db FRAMEBLOCK_59, $7a, $03 + db FRAMEBLOCK_59, $78, $03 + db FRAMEBLOCK_59, $7c, $03 + db FRAMEBLOCK_59, $76, $00 Subanimation3d: - db $08 - db $3a, $4d, $00 - db $3b, $4d, $00 - db $3c, $4d, $00 - db $3d, $4d, $00 - db $3e, $4d, $00 - db $3f, $4d, $00 - db $3e, $4d, $00 - db $3f, $4d, $00 + db (0 << 5) | 8 + db FRAMEBLOCK_3A, $4d, $00 + db FRAMEBLOCK_3B, $4d, $00 + db FRAMEBLOCK_3C, $4d, $00 + db FRAMEBLOCK_3D, $4d, $00 + db FRAMEBLOCK_3E, $4d, $00 + db FRAMEBLOCK_3F, $4d, $00 + db FRAMEBLOCK_3E, $4d, $00 + db FRAMEBLOCK_3F, $4d, $00 Subanimation34: - db $35 - db $48, $7d, $00 - db $49, $7d, $00 - db $5a, $7d, $00 - db $48, $30, $00 - db $49, $30, $00 - db $5a, $30, $00 - db $48, $7e, $00 - db $49, $7e, $00 - db $5a, $7e, $00 - db $48, $7f, $00 - db $49, $7f, $00 - db $5a, $7f, $00 - db $48, $80, $00 - db $49, $80, $00 - db $5a, $80, $00 - db $48, $81, $00 - db $49, $81, $00 - db $5a, $81, $00 - db $48, $82, $00 - db $49, $82, $00 - db $5a, $82, $00 + db (1 << 5) | 21 + db FRAMEBLOCK_SMALL_BLACK_CIRCLE, $7d, $00 + db FRAMEBLOCK_LARGE_BLACK_CIRCLE, $7d, $00 + db FRAMEBLOCK_5A, $7d, $00 + db FRAMEBLOCK_SMALL_BLACK_CIRCLE, $30, $00 + db FRAMEBLOCK_LARGE_BLACK_CIRCLE, $30, $00 + db FRAMEBLOCK_5A, $30, $00 + db FRAMEBLOCK_SMALL_BLACK_CIRCLE, $7e, $00 + db FRAMEBLOCK_LARGE_BLACK_CIRCLE, $7e, $00 + db FRAMEBLOCK_5A, $7e, $00 + db FRAMEBLOCK_SMALL_BLACK_CIRCLE, $7f, $00 + db FRAMEBLOCK_LARGE_BLACK_CIRCLE, $7f, $00 + db FRAMEBLOCK_5A, $7f, $00 + db FRAMEBLOCK_SMALL_BLACK_CIRCLE, $80, $00 + db FRAMEBLOCK_LARGE_BLACK_CIRCLE, $80, $00 + db FRAMEBLOCK_5A, $80, $00 + db FRAMEBLOCK_SMALL_BLACK_CIRCLE, $81, $00 + db FRAMEBLOCK_LARGE_BLACK_CIRCLE, $81, $00 + db FRAMEBLOCK_5A, $81, $00 + db FRAMEBLOCK_SMALL_BLACK_CIRCLE, $82, $00 + db FRAMEBLOCK_LARGE_BLACK_CIRCLE, $82, $00 + db FRAMEBLOCK_5A, $82, $00 Subanimation35: - db $24 - db $5b, $83, $03 - db $5c, $84, $03 - db $5d, $85, $03 - db $5e, $09, $00 + db (1 << 5) | 4 + db FRAMEBLOCK_5B, $83, $03 + db FRAMEBLOCK_5C, $84, $03 + db FRAMEBLOCK_5D, $85, $03 + db FRAMEBLOCK_5E, $09, $00 Subanimation36: - db $48 - db $5f, $2a, $00 - db $5f, $00, $00 - db $60, $2a, $00 - db $60, $00, $00 - db $61, $2a, $00 - db $61, $00, $00 - db $62, $2a, $00 - db $62, $00, $00 + db (2 << 5) | 8 + db FRAMEBLOCK_5F, $2a, $00 + db FRAMEBLOCK_5F, $00, $00 + db FRAMEBLOCK_60, $2a, $00 + db FRAMEBLOCK_60, $00, $00 + db FRAMEBLOCK_61, $2a, $00 + db FRAMEBLOCK_61, $00, $00 + db FRAMEBLOCK_62, $2a, $00 + db FRAMEBLOCK_62, $00, $00 Subanimation37: - db $2a - db $63, $89, $00 - db $64, $75, $00 - db $63, $76, $00 - db $65, $0d, $00 - db $65, $86, $00 - db $65, $12, $00 - db $65, $87, $00 - db $65, $17, $00 - db $65, $88, $00 - db $65, $1a, $00 + db (1 << 5) | 10 + db FRAMEBLOCK_63, $89, $00 + db FRAMEBLOCK_64, $75, $00 + db FRAMEBLOCK_63, $76, $00 + db FRAMEBLOCK_65, $0d, $00 + db FRAMEBLOCK_65, $86, $00 + db FRAMEBLOCK_65, $12, $00 + db FRAMEBLOCK_65, $87, $00 + db FRAMEBLOCK_65, $17, $00 + db FRAMEBLOCK_65, $88, $00 + db FRAMEBLOCK_65, $1a, $00 Subanimation38: - db $50 - db $66, $8a, $00 - db $66, $33, $00 - db $66, $2e, $00 - db $67, $24, $03 - db $66, $01, $04 - db $66, $10, $04 - db $66, $1d, $04 - db $67, $28, $03 - db $66, $2a, $04 - db $66, $0e, $04 - db $66, $1b, $04 - db $67, $26, $03 - db $66, $03, $04 - db $66, $12, $04 - db $66, $1e, $04 - db $67, $29, $00 + db (2 << 5) | 16 + db FRAMEBLOCK_66, $8a, $00 + db FRAMEBLOCK_66, $33, $00 + db FRAMEBLOCK_66, $2e, $00 + db FRAMEBLOCK_67, $24, $03 + db FRAMEBLOCK_66, $01, $04 + db FRAMEBLOCK_66, $10, $04 + db FRAMEBLOCK_66, $1d, $04 + db FRAMEBLOCK_67, $28, $03 + db FRAMEBLOCK_66, $2a, $04 + db FRAMEBLOCK_66, $0e, $04 + db FRAMEBLOCK_66, $1b, $04 + db FRAMEBLOCK_67, $26, $03 + db FRAMEBLOCK_66, $03, $04 + db FRAMEBLOCK_66, $12, $04 + db FRAMEBLOCK_66, $1e, $04 + db FRAMEBLOCK_67, $29, $00 Subanimation3e: - db $92 - db $02, $31, $00 - db $34, $31, $00 - db $02, $31, $00 - db $02, $32, $00 - db $34, $32, $00 - db $02, $32, $00 - db $02, $92, $00 - db $34, $92, $00 - db $02, $92, $00 - db $02, $0e, $00 - db $34, $0e, $00 - db $02, $0e, $00 - db $02, $0f, $00 - db $34, $0f, $00 - db $02, $0f, $00 - db $02, $10, $00 - db $34, $10, $00 - db $02, $10, $00 + db (4 << 5) | 18 + db FRAMEBLOCK_02, $31, $00 + db FRAMEBLOCK_34, $31, $00 + db FRAMEBLOCK_02, $31, $00 + db FRAMEBLOCK_02, $32, $00 + db FRAMEBLOCK_34, $32, $00 + db FRAMEBLOCK_02, $32, $00 + db FRAMEBLOCK_02, $92, $00 + db FRAMEBLOCK_34, $92, $00 + db FRAMEBLOCK_02, $92, $00 + db FRAMEBLOCK_02, $0e, $00 + db FRAMEBLOCK_34, $0e, $00 + db FRAMEBLOCK_02, $0e, $00 + db FRAMEBLOCK_02, $0f, $00 + db FRAMEBLOCK_34, $0f, $00 + db FRAMEBLOCK_02, $0f, $00 + db FRAMEBLOCK_02, $10, $00 + db FRAMEBLOCK_34, $10, $00 + db FRAMEBLOCK_02, $10, $00 Subanimation3f: - db $72 - db $68, $4b, $00 - db $68, $8c, $00 - db $68, $20, $00 - db $68, $1c, $00 - db $68, $19, $00 - db $68, $14, $00 - db $68, $76, $00 - db $68, $8d, $00 - db $68, $15, $00 - db $68, $10, $00 - db $68, $0c, $00 - db $68, $06, $00 - db $68, $8e, $00 - db $68, $8f, $00 - db $68, $90, $00 - db $68, $26, $00 - db $68, $23, $00 - db $68, $1f, $00 + db (3 << 5) | 18 + db FRAMEBLOCK_68, $4b, $00 + db FRAMEBLOCK_68, $8c, $00 + db FRAMEBLOCK_68, $20, $00 + db FRAMEBLOCK_68, $1c, $00 + db FRAMEBLOCK_68, $19, $00 + db FRAMEBLOCK_68, $14, $00 + db FRAMEBLOCK_68, $76, $00 + db FRAMEBLOCK_68, $8d, $00 + db FRAMEBLOCK_68, $15, $00 + db FRAMEBLOCK_68, $10, $00 + db FRAMEBLOCK_68, $0c, $00 + db FRAMEBLOCK_68, $06, $00 + db FRAMEBLOCK_68, $8e, $00 + db FRAMEBLOCK_68, $8f, $00 + db FRAMEBLOCK_68, $90, $00 + db FRAMEBLOCK_68, $26, $00 + db FRAMEBLOCK_68, $23, $00 + db FRAMEBLOCK_68, $1f, $00 Subanimation44: - db $2c - db $69, $4b, $00 - db $69, $8c, $00 - db $69, $20, $00 - db $69, $1c, $00 - db $69, $19, $00 - db $69, $14, $00 - db $69, $76, $00 - db $69, $8d, $00 - db $69, $15, $00 - db $69, $10, $00 - db $69, $0c, $00 - db $69, $06, $00 + db (1 << 5) | 12 + db FRAMEBLOCK_69, $4b, $00 + db FRAMEBLOCK_69, $8c, $00 + db FRAMEBLOCK_69, $20, $00 + db FRAMEBLOCK_69, $1c, $00 + db FRAMEBLOCK_69, $19, $00 + db FRAMEBLOCK_69, $14, $00 + db FRAMEBLOCK_69, $76, $00 + db FRAMEBLOCK_69, $8d, $00 + db FRAMEBLOCK_69, $15, $00 + db FRAMEBLOCK_69, $10, $00 + db FRAMEBLOCK_69, $0c, $00 + db FRAMEBLOCK_69, $06, $00 Subanimation43: - db $a3 - db $6a, $07, $00 - db $6b, $0f, $00 - db $6c, $17, $00 + db (5 << 5) | 3 + db FRAMEBLOCK_6A, $07, $00 + db FRAMEBLOCK_6B, $0f, $00 + db FRAMEBLOCK_6C, $17, $00 Subanimation45: - db $24 - db $6d, $8b, $00 - db $6d, $84, $00 - db $6d, $63, $00 - db $6d, $8c, $00 + db (1 << 5) | 4 + db FRAMEBLOCK_6D, $8b, $00 + db FRAMEBLOCK_6D, $84, $00 + db FRAMEBLOCK_6D, $63, $00 + db FRAMEBLOCK_6D, $8c, $00 Subanimation46: - db $26 - db $6d, $8b, $00 - db $6d, $84, $00 - db $6d, $63, $00 - db $6d, $8c, $00 - db $6d, $0a, $00 - db $6d, $89, $00 + db (1 << 5) | 6 + db FRAMEBLOCK_6D, $8b, $00 + db FRAMEBLOCK_6D, $84, $00 + db FRAMEBLOCK_6D, $63, $00 + db FRAMEBLOCK_6D, $8c, $00 + db FRAMEBLOCK_6D, $0a, $00 + db FRAMEBLOCK_6D, $89, $00 Subanimation47: - db $23 - db $06, $82, $00 - db $07, $82, $00 - db $08, $96, $00 + db (1 << 5) | 3 + db FRAMEBLOCK_06, $82, $00 + db FRAMEBLOCK_07, $82, $00 + db FRAMEBLOCK_08, $96, $00 Subanimation48: - db $06 - db $03, $41, $04 - db $03, $48, $04 - db $04, $48, $04 - db $03, $48, $04 - db $05, $48, $04 - db $03, $48, $03 + db (0 << 5) | 6 + db FRAMEBLOCK_03, $41, $04 + db FRAMEBLOCK_03, $48, $04 + db FRAMEBLOCK_04, $48, $04 + db FRAMEBLOCK_03, $48, $04 + db FRAMEBLOCK_05, $48, $04 + db FRAMEBLOCK_03, $48, $03 Subanimation49: - db $04 - db $04, $48, $04 - db $03, $48, $04 - db $05, $48, $04 - db $03, $48, $03 + db (0 << 5) | 4 + db FRAMEBLOCK_04, $48, $04 + db FRAMEBLOCK_03, $48, $04 + db FRAMEBLOCK_05, $48, $04 + db FRAMEBLOCK_03, $48, $03 Subanimation4a: - db $01 - db $04, $84, $03 + db (0 << 5) | 1 + db FRAMEBLOCK_04, $84, $03 Subanimation4b: - db $03 - db $06, $72, $00 - db $07, $72, $00 - db $08, $72, $00 + db (0 << 5) | 3 + db FRAMEBLOCK_06, $72, $00 + db FRAMEBLOCK_07, $72, $00 + db FRAMEBLOCK_08, $72, $00 Subanimation4c: - db $68 - db $6f, $30, $00 - db $6e, $30, $00 - db $70, $30, $00 - db $6e, $30, $00 - db $6f, $30, $00 - db $6e, $30, $00 - db $70, $30, $00 - db $6e, $30, $00 + db (3 << 5) | 8 + db FRAMEBLOCK_6F, $30, $00 + db FRAMEBLOCK_6E, $30, $00 + db FRAMEBLOCK_70, $30, $00 + db FRAMEBLOCK_6E, $30, $00 + db FRAMEBLOCK_6F, $30, $00 + db FRAMEBLOCK_6E, $30, $00 + db FRAMEBLOCK_70, $30, $00 + db FRAMEBLOCK_6E, $30, $00 Subanimation4d: - db $26 - db $32, $4b, $00 - db $33, $4f, $00 - db $32, $20, $00 - db $33, $16, $00 - db $32, $19, $00 - db $33, $0d, $00 + db (1 << 5) | 6 + db FRAMEBLOCK_32, $4b, $00 + db FRAMEBLOCK_33, $4f, $00 + db FRAMEBLOCK_32, $20, $00 + db FRAMEBLOCK_33, $16, $00 + db FRAMEBLOCK_32, $19, $00 + db FRAMEBLOCK_33, $0d, $00 Subanimation51: - db $a6 - db $76, $1b, $00 - db $34, $1b, $00 - db $76, $1b, $00 - db $34, $1b, $00 - db $76, $1b, $00 - db $34, $1b, $00 + db (5 << 5) | 6 + db FRAMEBLOCK_76, $1b, $00 + db FRAMEBLOCK_34, $1b, $00 + db FRAMEBLOCK_76, $1b, $00 + db FRAMEBLOCK_34, $1b, $00 + db FRAMEBLOCK_76, $1b, $00 + db FRAMEBLOCK_34, $1b, $00 Subanimation52: - db $47 - db $77, $25, $00 - db $77, $9b, $00 - db $77, $1a, $00 - db $77, $9c, $00 - db $77, $2f, $00 - db $77, $50, $00 - db $77, $8c, $00 + db (2 << 5) | 7 + db FRAMEBLOCK_77, $25, $00 + db FRAMEBLOCK_77, $9b, $00 + db FRAMEBLOCK_77, $1a, $00 + db FRAMEBLOCK_77, $9c, $00 + db FRAMEBLOCK_77, $2f, $00 + db FRAMEBLOCK_77, $50, $00 + db FRAMEBLOCK_77, $8c, $00 Subanimation53: - db $0c - db $78, $30, $00 - db $78, $a2, $00 - db $78, $93, $00 - db $78, $61, $00 - db $78, $73, $00 - db $78, $a7, $00 - db $78, $33, $00 - db $78, $a8, $00 - db $78, $0e, $00 - db $78, $a9, $00 - db $78, $34, $00 - db $01, $9e, $00 + db (0 << 5) | 12 + db FRAMEBLOCK_78, $30, $00 + db FRAMEBLOCK_78, $a2, $00 + db FRAMEBLOCK_78, $93, $00 + db FRAMEBLOCK_78, $61, $00 + db FRAMEBLOCK_78, $73, $00 + db FRAMEBLOCK_78, $a7, $00 + db FRAMEBLOCK_78, $33, $00 + db FRAMEBLOCK_78, $a8, $00 + db FRAMEBLOCK_78, $0e, $00 + db FRAMEBLOCK_78, $a9, $00 + db FRAMEBLOCK_78, $34, $00 + db FRAMEBLOCK_01, $9e, $00 Subanimation54: - db $0b - db $79, $30, $00 - db $79, $a2, $00 - db $79, $93, $00 - db $79, $61, $00 - db $79, $73, $00 - db $79, $a7, $00 - db $79, $33, $00 - db $79, $a8, $00 - db $79, $0e, $00 - db $79, $a9, $00 - db $79, $34, $00 + db (0 << 5) | 11 + db FRAMEBLOCK_79, $30, $00 + db FRAMEBLOCK_79, $a2, $00 + db FRAMEBLOCK_79, $93, $00 + db FRAMEBLOCK_79, $61, $00 + db FRAMEBLOCK_79, $73, $00 + db FRAMEBLOCK_79, $a7, $00 + db FRAMEBLOCK_79, $33, $00 + db FRAMEBLOCK_79, $a8, $00 + db FRAMEBLOCK_79, $0e, $00 + db FRAMEBLOCK_79, $a9, $00 + db FRAMEBLOCK_79, $34, $00 -- cgit v1.2.3 From 6f7337bbb1a65e95ad59d3a738c47faf1e96027a Mon Sep 17 00:00:00 2001 From: Rangi Date: Thu, 16 Jul 2020 22:14:39 -0400 Subject: Define constants for subanimation transform types --- constants/move_animation_constants.asm | 9 ++ data/battle_anims/subanimations.asm | 180 +++++++++++++++++---------------- engine/battle/animations.asm | 30 +++--- 3 files changed, 116 insertions(+), 103 deletions(-) diff --git a/constants/move_animation_constants.asm b/constants/move_animation_constants.asm index 11bd07cc..fba92204 100644 --- a/constants/move_animation_constants.asm +++ b/constants/move_animation_constants.asm @@ -131,6 +131,15 @@ FIRST_SE_ID EQU const_value const SUBANIM_54 const SUBANIM_55 +; types of subanimations + const_def + const SUBANIMTYPE_NORMAL + const SUBANIMTYPE_HVFLIP + const SUBANIMTYPE_HFLIP + const SUBANIMTYPE_COORDFLIP + const SUBANIMTYPE_REVERSE + const SUBANIMTYPE_ENEMY + ; frame blocks that are part of subanimations const_def const FRAMEBLOCK_00 diff --git a/data/battle_anims/subanimations.asm b/data/battle_anims/subanimations.asm index 469c4781..6d5f1d8e 100644 --- a/data/battle_anims/subanimations.asm +++ b/data/battle_anims/subanimations.asm @@ -86,24 +86,28 @@ SubanimationPointers: dw Subanimation54 dw Subanimation55 -; subanimation format: -; db (type << 5) | count +; format: +; subanim type, count ; REPT count ; db frame block id, base coordinate id, frame block mode ; endr +subanim: MACRO + db (\1 << 5) | \2 +ENDM + Subanimation04: - db (2 << 5) | 3 + subanim SUBANIMTYPE_HFLIP, 3 db FRAMEBLOCK_02, $1a, $00 db FRAMEBLOCK_02, $10, $00 db FRAMEBLOCK_02, $03, $00 Subanimation05: - db (2 << 5) | 1 + subanim SUBANIMTYPE_HFLIP, 1 db FRAMEBLOCK_02, $10, $00 Subanimation08: - db (0 << 5) | 11 + subanim SUBANIMTYPE_NORMAL, 11 db FRAMEBLOCK_03, $30, $00 db FRAMEBLOCK_03, $44, $00 db FRAMEBLOCK_03, $94, $00 @@ -117,7 +121,7 @@ Subanimation08: db FRAMEBLOCK_03, $34, $00 Subanimation07: - db (0 << 5) | 11 + subanim SUBANIMTYPE_NORMAL, 11 db FRAMEBLOCK_03, $30, $00 db FRAMEBLOCK_03, $a2, $00 db FRAMEBLOCK_03, $31, $00 @@ -131,7 +135,7 @@ Subanimation07: db FRAMEBLOCK_03, $34, $00 Subanimation06: - db (0 << 5) | 11 + subanim SUBANIMTYPE_NORMAL, 11 db FRAMEBLOCK_03, $30, $00 db FRAMEBLOCK_03, $a2, $00 db FRAMEBLOCK_03, $93, $00 @@ -145,14 +149,14 @@ Subanimation06: db FRAMEBLOCK_03, $34, $00 Subanimation09: - db (0 << 5) | 4 + subanim SUBANIMTYPE_NORMAL, 4 db FRAMEBLOCK_03, $21, $04 db FRAMEBLOCK_04, $21, $04 db FRAMEBLOCK_03, $21, $04 db FRAMEBLOCK_05, $21, $04 Subanimation0a: - db (2 << 5) | 6 + subanim SUBANIMTYPE_HFLIP, 6 db FRAMEBLOCK_06, $1b, $00 db FRAMEBLOCK_07, $1b, $00 db FRAMEBLOCK_08, $36, $00 @@ -161,18 +165,18 @@ Subanimation0a: db FRAMEBLOCK_0A, $15, $00 Subanimation0b: - db (0 << 5) | 4 + subanim SUBANIMTYPE_NORMAL, 4 db FRAMEBLOCK_01, $2d, $00 db FRAMEBLOCK_03, $2f, $00 db FRAMEBLOCK_03, $35, $00 db FRAMEBLOCK_03, $4d, $00 Subanimation55: - db (2 << 5) | 1 + subanim SUBANIMTYPE_HFLIP, 1 db FRAMEBLOCK_01, $9d, $00 Subanimation11: - db (2 << 5) | 12 + subanim SUBANIMTYPE_HFLIP, 12 db FRAMEBLOCK_0B, $26, $00 db FRAMEBLOCK_0C, $26, $00 db FRAMEBLOCK_0B, $26, $00 @@ -187,7 +191,7 @@ Subanimation11: db FRAMEBLOCK_0C, $27, $00 Subanimation2b: - db (2 << 5) | 11 + subanim SUBANIMTYPE_HFLIP, 11 db FRAMEBLOCK_0D, $03, $03 db FRAMEBLOCK_0E, $03, $03 db FRAMEBLOCK_0F, $03, $00 @@ -201,7 +205,7 @@ Subanimation2b: db FRAMEBLOCK_11, $1b, $00 Subanimation2c: - db (2 << 5) | 12 + subanim SUBANIMTYPE_HFLIP, 12 db FRAMEBLOCK_12, $01, $00 db FRAMEBLOCK_12, $0f, $00 db FRAMEBLOCK_12, $1b, $00 @@ -216,7 +220,7 @@ Subanimation2c: db FRAMEBLOCK_16, $38, $00 Subanimation12: - db (3 << 5) | 9 + subanim SUBANIMTYPE_COORDFLIP, 9 db FRAMEBLOCK_17, $30, $00 db FRAMEBLOCK_17, $39, $00 db FRAMEBLOCK_17, $3a, $00 @@ -228,35 +232,35 @@ Subanimation12: db FRAMEBLOCK_17, $1f, $00 Subanimation00: - db (2 << 5) | 1 + subanim SUBANIMTYPE_HFLIP, 1 db FRAMEBLOCK_01, $17, $00 Subanimation01: - db (2 << 5) | 2 + subanim SUBANIMTYPE_HFLIP, 2 db FRAMEBLOCK_01, $0f, $00 db FRAMEBLOCK_01, $1d, $00 Subanimation02: - db (2 << 5) | 3 + subanim SUBANIMTYPE_HFLIP, 3 db FRAMEBLOCK_01, $12, $00 db FRAMEBLOCK_01, $15, $00 db FRAMEBLOCK_01, $1c, $00 Subanimation03: - db (2 << 5) | 4 + subanim SUBANIMTYPE_HFLIP, 4 db FRAMEBLOCK_01, $0b, $00 db FRAMEBLOCK_01, $11, $00 db FRAMEBLOCK_01, $18, $00 db FRAMEBLOCK_01, $1d, $00 Subanimation0c: - db (2 << 5) | 3 + subanim SUBANIMTYPE_HFLIP, 3 db FRAMEBLOCK_0C, $20, $00 db FRAMEBLOCK_0C, $21, $00 db FRAMEBLOCK_0C, $23, $00 Subanimation0d: - db (2 << 5) | 6 + subanim SUBANIMTYPE_HFLIP, 6 db FRAMEBLOCK_0C, $20, $02 db FRAMEBLOCK_0C, $15, $00 db FRAMEBLOCK_0C, $21, $02 @@ -265,7 +269,7 @@ Subanimation0d: db FRAMEBLOCK_0C, $19, $00 Subanimation0e: - db (2 << 5) | 9 + subanim SUBANIMTYPE_HFLIP, 9 db FRAMEBLOCK_0C, $20, $02 db FRAMEBLOCK_0C, $15, $02 db FRAMEBLOCK_0C, $07, $00 @@ -277,7 +281,7 @@ Subanimation0e: db FRAMEBLOCK_0C, $0c, $00 Subanimation1f: - db (4 << 5) | 5 + subanim SUBANIMTYPE_REVERSE, 5 db FRAMEBLOCK_0C, $30, $03 db FRAMEBLOCK_0C, $40, $03 db FRAMEBLOCK_0C, $41, $03 @@ -285,7 +289,7 @@ Subanimation1f: db FRAMEBLOCK_0C, $21, $00 Subanimation2e: - db (1 << 5) | 14 + subanim SUBANIMTYPE_HVFLIP, 14 db FRAMEBLOCK_18, $43, $02 db FRAMEBLOCK_75, $52, $04 db FRAMEBLOCK_19, $43, $02 @@ -302,14 +306,14 @@ Subanimation2e: db FRAMEBLOCK_75, $1b, $00 Subanimation2f: - db (2 << 5) | 4 + subanim SUBANIMTYPE_HFLIP, 4 db FRAMEBLOCK_1F, $24, $00 db FRAMEBLOCK_20, $20, $00 db FRAMEBLOCK_21, $1a, $00 db FRAMEBLOCK_22, $15, $00 Subanimation30: - db (2 << 5) | 18 + subanim SUBANIMTYPE_HFLIP, 18 db FRAMEBLOCK_23, $00, $02 db FRAMEBLOCK_23, $02, $02 db FRAMEBLOCK_23, $04, $00 @@ -330,7 +334,7 @@ Subanimation30: db FRAMEBLOCK_24, $28, $00 Subanimation0f: - db (2 << 5) | 12 + subanim SUBANIMTYPE_HFLIP, 12 db FRAMEBLOCK_26, $0e, $02 db FRAMEBLOCK_26, $16, $02 db FRAMEBLOCK_26, $1c, $00 @@ -345,7 +349,7 @@ Subanimation0f: db FRAMEBLOCK_29, $1c, $00 Subanimation16: - db (2 << 5) | 12 + subanim SUBANIMTYPE_HFLIP, 12 db FRAMEBLOCK_2A, $05, $00 db FRAMEBLOCK_2B, $05, $02 db FRAMEBLOCK_2B, $0c, $02 @@ -360,7 +364,7 @@ Subanimation16: db FRAMEBLOCK_2C, $00, $00 Subanimation10: - db (4 << 5) | 8 + subanim SUBANIMTYPE_REVERSE, 8 db FRAMEBLOCK_2D, $44, $00 db FRAMEBLOCK_2E, $45, $00 db FRAMEBLOCK_2D, $46, $00 @@ -371,7 +375,7 @@ Subanimation10: db FRAMEBLOCK_2E, $1a, $00 Subanimation31: - db (1 << 5) | 10 + subanim SUBANIMTYPE_HVFLIP, 10 db FRAMEBLOCK_2F, $46, $00 db FRAMEBLOCK_2F, $4a, $00 db FRAMEBLOCK_2F, $4b, $00 @@ -384,7 +388,7 @@ Subanimation31: db FRAMEBLOCK_2F, $51, $00 Subanimation13: - db (4 << 5) | 6 + subanim SUBANIMTYPE_REVERSE, 6 db FRAMEBLOCK_30, $31, $00 db FRAMEBLOCK_30, $32, $00 db FRAMEBLOCK_30, $92, $00 @@ -393,7 +397,7 @@ Subanimation13: db FRAMEBLOCK_30, $10, $00 Subanimation14: - db (2 << 5) | 9 + subanim SUBANIMTYPE_HFLIP, 9 db FRAMEBLOCK_30, $10, $00 db FRAMEBLOCK_30, $10, $03 db FRAMEBLOCK_31, $1c, $04 @@ -405,7 +409,7 @@ Subanimation14: db FRAMEBLOCK_31, $27, $00 Subanimation41: - db (4 << 5) | 5 + subanim SUBANIMTYPE_REVERSE, 5 db FRAMEBLOCK_03, $31, $00 db FRAMEBLOCK_03, $32, $00 db FRAMEBLOCK_03, $92, $00 @@ -413,32 +417,32 @@ Subanimation41: db FRAMEBLOCK_03, $10, $00 Subanimation42: - db (2 << 5) | 3 + subanim SUBANIMTYPE_HFLIP, 3 db FRAMEBLOCK_SMALL_BLACK_CIRCLE, $08, $00 db FRAMEBLOCK_LARGE_BLACK_CIRCLE, $08, $00 db FRAMEBLOCK_5A, $08, $00 Subanimation15: - db (1 << 5) | 2 + subanim SUBANIMTYPE_HVFLIP, 2 db FRAMEBLOCK_35, $52, $00 db FRAMEBLOCK_35, $53, $00 Subanimation17: - db (2 << 5) | 4 + subanim SUBANIMTYPE_HFLIP, 4 db FRAMEBLOCK_36, $54, $00 db FRAMEBLOCK_36, $55, $00 db FRAMEBLOCK_37, $56, $00 db FRAMEBLOCK_37, $57, $00 Subanimation18: - db (5 << 5) | 4 + subanim SUBANIMTYPE_ENEMY, 4 db FRAMEBLOCK_36, $54, $00 db FRAMEBLOCK_36, $55, $00 db FRAMEBLOCK_37, $56, $00 db FRAMEBLOCK_37, $57, $00 Subanimation40: - db (2 << 5) | 6 + subanim SUBANIMTYPE_HFLIP, 6 db FRAMEBLOCK_17, $54, $00 db FRAMEBLOCK_17, $55, $00 db FRAMEBLOCK_17, $0e, $00 @@ -447,7 +451,7 @@ Subanimation40: db FRAMEBLOCK_17, $13, $00 Subanimation19: - db (4 << 5) | 12 + subanim SUBANIMTYPE_REVERSE, 12 db FRAMEBLOCK_38, $31, $00 db FRAMEBLOCK_39, $31, $00 db FRAMEBLOCK_38, $32, $00 @@ -462,7 +466,7 @@ Subanimation19: db FRAMEBLOCK_39, $10, $00 Subanimation1a: - db (2 << 5) | 16 + subanim SUBANIMTYPE_HFLIP, 16 db FRAMEBLOCK_3A, $08, $00 db FRAMEBLOCK_3B, $08, $00 db FRAMEBLOCK_3C, $08, $00 @@ -481,20 +485,20 @@ Subanimation1a: db FRAMEBLOCK_3F, $0b, $00 Subanimation1b: - db (4 << 5) | 4 + subanim SUBANIMTYPE_REVERSE, 4 db FRAMEBLOCK_40, $31, $00 db FRAMEBLOCK_40, $32, $00 db FRAMEBLOCK_40, $92, $00 db FRAMEBLOCK_40, $15, $00 Subanimation1c: - db (2 << 5) | 3 + subanim SUBANIMTYPE_HFLIP, 3 db FRAMEBLOCK_41, $58, $00 db FRAMEBLOCK_41, $59, $00 db FRAMEBLOCK_41, $21, $00 Subanimation1d: - db (5 << 5) | 15 + subanim SUBANIMTYPE_ENEMY, 15 db FRAMEBLOCK_24, $9a, $00 db FRAMEBLOCK_23, $1b, $02 db FRAMEBLOCK_24, $22, $00 @@ -512,22 +516,22 @@ Subanimation1d: db FRAMEBLOCK_25, $99, $03 Subanimation1e: - db (0 << 5) | 1 + subanim SUBANIMTYPE_NORMAL, 1 db FRAMEBLOCK_25, $75, $00 Subanimation20: - db (2 << 5) | 2 + subanim SUBANIMTYPE_HFLIP, 2 db FRAMEBLOCK_42, $07, $00 db FRAMEBLOCK_43, $07, $00 Subanimation21: - db (2 << 5) | 3 + subanim SUBANIMTYPE_HFLIP, 3 db FRAMEBLOCK_44, $00, $00 db FRAMEBLOCK_45, $08, $00 db FRAMEBLOCK_46, $10, $02 Subanimation22: - db (4 << 5) | 11 + subanim SUBANIMTYPE_REVERSE, 11 db FRAMEBLOCK_47, $10, $00 db FRAMEBLOCK_47, $56, $00 db FRAMEBLOCK_47, $07, $00 @@ -541,7 +545,7 @@ Subanimation22: db FRAMEBLOCK_47, $b0, $00 Subanimation2d: - db (3 << 5) | 6 + subanim SUBANIMTYPE_COORDFLIP, 6 db FRAMEBLOCK_44, $64, $00 db FRAMEBLOCK_45, $65, $00 db FRAMEBLOCK_46, $66, $00 @@ -550,15 +554,15 @@ Subanimation2d: db FRAMEBLOCK_47, $66, $00 Subanimation39: - db (3 << 5) | 1 + subanim SUBANIMTYPE_COORDFLIP, 1 db FRAMEBLOCK_47, $67, $00 Subanimation4e: - db (2 << 5) | 1 + subanim SUBANIMTYPE_HFLIP, 1 db FRAMEBLOCK_71, $0f, $03 Subanimation4f: - db (2 << 5) | 7 + subanim SUBANIMTYPE_HFLIP, 7 db FRAMEBLOCK_71, $0f, $00 db FRAMEBLOCK_71, $08, $00 db FRAMEBLOCK_71, $01, $00 @@ -568,7 +572,7 @@ Subanimation4f: db FRAMEBLOCK_74, $95, $00 Subanimation50: - db (2 << 5) | 8 + subanim SUBANIMTYPE_HFLIP, 8 db FRAMEBLOCK_74, $95, $00 db FRAMEBLOCK_73, $95, $00 db FRAMEBLOCK_72, $95, $00 @@ -579,7 +583,7 @@ Subanimation50: db FRAMEBLOCK_71, $16, $00 Subanimation29: - db (2 << 5) | 29 + subanim SUBANIMTYPE_HFLIP, 29 db FRAMEBLOCK_SMALL_BLACK_CIRCLE, $0f, $00 db FRAMEBLOCK_4A, $68, $03 db FRAMEBLOCK_4B, $2a, $03 @@ -611,63 +615,63 @@ Subanimation29: db FRAMEBLOCK_LARGE_BLACK_CIRCLE, $6b, $00 Subanimation2a: - db (2 << 5) | 4 + subanim SUBANIMTYPE_HFLIP, 4 db FRAMEBLOCK_4E, $2b, $00 db FRAMEBLOCK_4F, $2b, $00 db FRAMEBLOCK_50, $2b, $00 db FRAMEBLOCK_50, $2b, $00 Subanimation23: - db (2 << 5) | 2 + subanim SUBANIMTYPE_HFLIP, 2 db FRAMEBLOCK_51, $2d, $00 db FRAMEBLOCK_51, $6e, $00 Subanimation24: - db (5 << 5) | 2 + subanim SUBANIMTYPE_ENEMY, 2 db FRAMEBLOCK_51, $2d, $00 db FRAMEBLOCK_51, $6e, $00 Subanimation25: - db (3 << 5) | 2 + subanim SUBANIMTYPE_COORDFLIP, 2 db FRAMEBLOCK_52, $71, $00 db FRAMEBLOCK_52, $72, $00 Subanimation26: - db (0 << 5) | 2 + subanim SUBANIMTYPE_NORMAL, 2 db FRAMEBLOCK_52, $01, $00 db FRAMEBLOCK_52, $2c, $00 Subanimation3a: - db (3 << 5) | 3 + subanim SUBANIMTYPE_COORDFLIP, 3 db FRAMEBLOCK_53, $71, $00 db FRAMEBLOCK_53, $7f, $00 db FRAMEBLOCK_53, $81, $00 Subanimation3b: - db (0 << 5) | 3 + subanim SUBANIMTYPE_NORMAL, 3 db FRAMEBLOCK_53, $01, $00 db FRAMEBLOCK_53, $15, $00 db FRAMEBLOCK_53, $2c, $00 Subanimation27: - db (5 << 5) | 2 + subanim SUBANIMTYPE_ENEMY, 2 db FRAMEBLOCK_54, $01, $00 db FRAMEBLOCK_54, $2c, $00 Subanimation28: - db (1 << 5) | 3 + subanim SUBANIMTYPE_HVFLIP, 3 db FRAMEBLOCK_55, $73, $03 db FRAMEBLOCK_56, $73, $03 db FRAMEBLOCK_57, $73, $00 Subanimation32: - db (3 << 5) | 3 + subanim SUBANIMTYPE_COORDFLIP, 3 db FRAMEBLOCK_47, $74, $00 db FRAMEBLOCK_47, $43, $00 db FRAMEBLOCK_47, $75, $00 Subanimation33: - db (1 << 5) | 6 + subanim SUBANIMTYPE_HVFLIP, 6 db FRAMEBLOCK_58, $76, $00 db FRAMEBLOCK_34, $76, $00 db FRAMEBLOCK_58, $76, $00 @@ -676,7 +680,7 @@ Subanimation33: db FRAMEBLOCK_34, $76, $00 Subanimation3c: - db (3 << 5) | 7 + subanim SUBANIMTYPE_COORDFLIP, 7 db FRAMEBLOCK_59, $79, $03 db FRAMEBLOCK_59, $7b, $03 db FRAMEBLOCK_59, $77, $03 @@ -686,7 +690,7 @@ Subanimation3c: db FRAMEBLOCK_59, $76, $00 Subanimation3d: - db (0 << 5) | 8 + subanim SUBANIMTYPE_NORMAL, 8 db FRAMEBLOCK_3A, $4d, $00 db FRAMEBLOCK_3B, $4d, $00 db FRAMEBLOCK_3C, $4d, $00 @@ -697,7 +701,7 @@ Subanimation3d: db FRAMEBLOCK_3F, $4d, $00 Subanimation34: - db (1 << 5) | 21 + subanim SUBANIMTYPE_HVFLIP, 21 db FRAMEBLOCK_SMALL_BLACK_CIRCLE, $7d, $00 db FRAMEBLOCK_LARGE_BLACK_CIRCLE, $7d, $00 db FRAMEBLOCK_5A, $7d, $00 @@ -721,14 +725,14 @@ Subanimation34: db FRAMEBLOCK_5A, $82, $00 Subanimation35: - db (1 << 5) | 4 + subanim SUBANIMTYPE_HVFLIP, 4 db FRAMEBLOCK_5B, $83, $03 db FRAMEBLOCK_5C, $84, $03 db FRAMEBLOCK_5D, $85, $03 db FRAMEBLOCK_5E, $09, $00 Subanimation36: - db (2 << 5) | 8 + subanim SUBANIMTYPE_HFLIP, 8 db FRAMEBLOCK_5F, $2a, $00 db FRAMEBLOCK_5F, $00, $00 db FRAMEBLOCK_60, $2a, $00 @@ -739,7 +743,7 @@ Subanimation36: db FRAMEBLOCK_62, $00, $00 Subanimation37: - db (1 << 5) | 10 + subanim SUBANIMTYPE_HVFLIP, 10 db FRAMEBLOCK_63, $89, $00 db FRAMEBLOCK_64, $75, $00 db FRAMEBLOCK_63, $76, $00 @@ -752,7 +756,7 @@ Subanimation37: db FRAMEBLOCK_65, $1a, $00 Subanimation38: - db (2 << 5) | 16 + subanim SUBANIMTYPE_HFLIP, 16 db FRAMEBLOCK_66, $8a, $00 db FRAMEBLOCK_66, $33, $00 db FRAMEBLOCK_66, $2e, $00 @@ -771,7 +775,7 @@ Subanimation38: db FRAMEBLOCK_67, $29, $00 Subanimation3e: - db (4 << 5) | 18 + subanim SUBANIMTYPE_REVERSE, 18 db FRAMEBLOCK_02, $31, $00 db FRAMEBLOCK_34, $31, $00 db FRAMEBLOCK_02, $31, $00 @@ -792,7 +796,7 @@ Subanimation3e: db FRAMEBLOCK_02, $10, $00 Subanimation3f: - db (3 << 5) | 18 + subanim SUBANIMTYPE_COORDFLIP, 18 db FRAMEBLOCK_68, $4b, $00 db FRAMEBLOCK_68, $8c, $00 db FRAMEBLOCK_68, $20, $00 @@ -813,7 +817,7 @@ Subanimation3f: db FRAMEBLOCK_68, $1f, $00 Subanimation44: - db (1 << 5) | 12 + subanim SUBANIMTYPE_HVFLIP, 12 db FRAMEBLOCK_69, $4b, $00 db FRAMEBLOCK_69, $8c, $00 db FRAMEBLOCK_69, $20, $00 @@ -828,20 +832,20 @@ Subanimation44: db FRAMEBLOCK_69, $06, $00 Subanimation43: - db (5 << 5) | 3 + subanim SUBANIMTYPE_ENEMY, 3 db FRAMEBLOCK_6A, $07, $00 db FRAMEBLOCK_6B, $0f, $00 db FRAMEBLOCK_6C, $17, $00 Subanimation45: - db (1 << 5) | 4 + subanim SUBANIMTYPE_HVFLIP, 4 db FRAMEBLOCK_6D, $8b, $00 db FRAMEBLOCK_6D, $84, $00 db FRAMEBLOCK_6D, $63, $00 db FRAMEBLOCK_6D, $8c, $00 Subanimation46: - db (1 << 5) | 6 + subanim SUBANIMTYPE_HVFLIP, 6 db FRAMEBLOCK_6D, $8b, $00 db FRAMEBLOCK_6D, $84, $00 db FRAMEBLOCK_6D, $63, $00 @@ -850,13 +854,13 @@ Subanimation46: db FRAMEBLOCK_6D, $89, $00 Subanimation47: - db (1 << 5) | 3 + subanim SUBANIMTYPE_HVFLIP, 3 db FRAMEBLOCK_06, $82, $00 db FRAMEBLOCK_07, $82, $00 db FRAMEBLOCK_08, $96, $00 Subanimation48: - db (0 << 5) | 6 + subanim SUBANIMTYPE_NORMAL, 6 db FRAMEBLOCK_03, $41, $04 db FRAMEBLOCK_03, $48, $04 db FRAMEBLOCK_04, $48, $04 @@ -865,24 +869,24 @@ Subanimation48: db FRAMEBLOCK_03, $48, $03 Subanimation49: - db (0 << 5) | 4 + subanim SUBANIMTYPE_NORMAL, 4 db FRAMEBLOCK_04, $48, $04 db FRAMEBLOCK_03, $48, $04 db FRAMEBLOCK_05, $48, $04 db FRAMEBLOCK_03, $48, $03 Subanimation4a: - db (0 << 5) | 1 + subanim SUBANIMTYPE_NORMAL, 1 db FRAMEBLOCK_04, $84, $03 Subanimation4b: - db (0 << 5) | 3 + subanim SUBANIMTYPE_NORMAL, 3 db FRAMEBLOCK_06, $72, $00 db FRAMEBLOCK_07, $72, $00 db FRAMEBLOCK_08, $72, $00 Subanimation4c: - db (3 << 5) | 8 + subanim SUBANIMTYPE_COORDFLIP, 8 db FRAMEBLOCK_6F, $30, $00 db FRAMEBLOCK_6E, $30, $00 db FRAMEBLOCK_70, $30, $00 @@ -893,7 +897,7 @@ Subanimation4c: db FRAMEBLOCK_6E, $30, $00 Subanimation4d: - db (1 << 5) | 6 + subanim SUBANIMTYPE_HVFLIP, 6 db FRAMEBLOCK_32, $4b, $00 db FRAMEBLOCK_33, $4f, $00 db FRAMEBLOCK_32, $20, $00 @@ -902,7 +906,7 @@ Subanimation4d: db FRAMEBLOCK_33, $0d, $00 Subanimation51: - db (5 << 5) | 6 + subanim SUBANIMTYPE_ENEMY, 6 db FRAMEBLOCK_76, $1b, $00 db FRAMEBLOCK_34, $1b, $00 db FRAMEBLOCK_76, $1b, $00 @@ -911,7 +915,7 @@ Subanimation51: db FRAMEBLOCK_34, $1b, $00 Subanimation52: - db (2 << 5) | 7 + subanim SUBANIMTYPE_HFLIP, 7 db FRAMEBLOCK_77, $25, $00 db FRAMEBLOCK_77, $9b, $00 db FRAMEBLOCK_77, $1a, $00 @@ -921,7 +925,7 @@ Subanimation52: db FRAMEBLOCK_77, $8c, $00 Subanimation53: - db (0 << 5) | 12 + subanim SUBANIMTYPE_NORMAL, 12 db FRAMEBLOCK_78, $30, $00 db FRAMEBLOCK_78, $a2, $00 db FRAMEBLOCK_78, $93, $00 @@ -936,7 +940,7 @@ Subanimation53: db FRAMEBLOCK_01, $9e, $00 Subanimation54: - db (0 << 5) | 11 + subanim SUBANIMTYPE_NORMAL, 11 db FRAMEBLOCK_79, $30, $00 db FRAMEBLOCK_79, $a2, $00 db FRAMEBLOCK_79, $93, $00 diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index e27642c1..6bc6f839 100755 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -17,11 +17,11 @@ DrawFrameBlock: ld [wFBTileCounter], a ld a, [wSubAnimTransform] dec a - jr z, .flipHorizontalAndVertical ; 1 + jr z, .flipHorizontalAndVertical ; SUBANIMTYPE_HVFLIP dec a - jp z, .flipHorizontalTranslateDown ; 2 + jp z, .flipHorizontalTranslateDown ; SUBANIMTYPE_HFLIP dec a - jr z, .flipBaseCoords ; 3 + jr z, .flipBaseCoords ; SUBANIMTYPE_COORDFLIP .noTransformation ld a, [wBaseCoordY] add [hl] @@ -43,7 +43,7 @@ DrawFrameBlock: ld b, a ld a, 168 sub b ; flip X base coordinate -.finishCopying ; finish copying values to OAM (when [wSubAnimTransform] not 1 or 2) +.finishCopying ; finish copying values to OAM (when subanimation not transformed) add [hl] ; X offset ld [de], a ; store X inc hl @@ -271,7 +271,7 @@ LoadSubanimation: ld [wSubAnimCounter], a ; number of frame blocks ld a, b and %11100000 - cp 5 << 5 ; is subanimation type 5? + cp SUBANIMTYPE_ENEMY << 5 jr nz, .isNotType5 .isType5 call GetSubanimationTransform2 @@ -283,7 +283,7 @@ LoadSubanimation: srl a swap a ld [wSubAnimTransform], a - cp 4 ; is the animation reversed? + cp SUBANIMTYPE_REVERSE ld hl, 0 jr nz, .storeSubentryAddr ; if the animation is reversed, then place the initial subentry address at the end of the list of subentries @@ -303,8 +303,8 @@ LoadSubanimation: ld [wSubAnimSubEntryAddr + 1], a ret -; called if the subanimation type is not 5 -; sets the transform to 0 (i.e. no transform) if it's the player's turn +; called if the subanimation type is not SUBANIMTYPE_ENEMY +; sets the transform to SUBANIMTYPE_NORMAL if it's the player's turn ; sets the transform to the subanimation type if it's the enemy's turn GetSubanimationTransform1: ld b, a @@ -312,18 +312,18 @@ GetSubanimationTransform1: and a ld a, b ret nz - xor a + xor a ; SUBANIMTYPE_NORMAL << 5 ret -; called if the subanimation type is 5 -; sets the transform to 2 (i.e. horizontal and vertical flip) if it's the player's turn -; sets the transform to 0 (i.e. no transform) if it's the enemy's turn +; called if the subanimation type is SUBANIMTYPE_ENEMY +; sets the transform to SUBANIMTYPE_HFLIP if it's the player's turn +; sets the transform to SUBANIMTYPE_NORMAL if it's the enemy's turn GetSubanimationTransform2: ldh a, [hWhoseTurn] and a - ld a, 2 << 5 + ld a, SUBANIMTYPE_HFLIP << 5 ret z - xor a + xor a ; SUBANIMTYPE_NORMAL << 5 ret ; loads tile patterns for battle animations @@ -600,7 +600,7 @@ PlaySubanimation: ld a, [wSubAnimSubEntryAddr] ld l, a ld a, [wSubAnimTransform] - cp 4 ; is the animation reversed? + cp SUBANIMTYPE_REVERSE ld bc, 3 jr nz, .nextSubanimationSubentry ld bc, -3 -- cgit v1.2.3 From 884ef9c1a869431e4ffd2468e2eb639b164d3b9b Mon Sep 17 00:00:00 2001 From: Rangi Date: Thu, 16 Jul 2020 22:23:03 -0400 Subject: Factor out animation tilemaps --- data/tilemaps.asm | 72 ++++++++++++++++++++++++++++ engine/battle/animations.asm | 93 +------------------------------------ gfx/intro_credits/gengar_1.tilemap | Bin 0 -> 49 bytes gfx/intro_credits/gengar_2.tilemap | Bin 0 -> 49 bytes gfx/intro_credits/gengar_3.tilemap | Bin 0 -> 49 bytes 5 files changed, 73 insertions(+), 92 deletions(-) create mode 100644 data/tilemaps.asm create mode 100644 gfx/intro_credits/gengar_1.tilemap create mode 100644 gfx/intro_credits/gengar_2.tilemap create mode 100644 gfx/intro_credits/gengar_3.tilemap diff --git a/data/tilemaps.asm b/data/tilemaps.asm new file mode 100644 index 00000000..8be4d2fd --- /dev/null +++ b/data/tilemaps.asm @@ -0,0 +1,72 @@ +tile_ids: MACRO + dw \1 + dn \3, \2 +ENDM + +TileIDListPointerTable: + ; tilemap pointer, width, height + tile_ids Unknown_79b24, 7, 7 + tile_ids Unknown_79b55, 7, 5 + tile_ids Unknown_79b78, 7, 3 + tile_ids GengarIntroTiles1, 7, 7 + tile_ids GengarIntroTiles2, 7, 7 + tile_ids GengarIntroTiles3, 7, 7 + tile_ids Unknown_79c20, 6, 8 + tile_ids Unknown_79c50, 12, 3 + +DownscaledMonTiles_5x5: + db $31,$38,$46,$54,$5B + db $32,$39,$47,$55,$5C + db $34,$3B,$49,$57,$5E + db $36,$3D,$4B,$59,$60 + db $37,$3E,$4C,$5A,$61 + +DownscaledMonTiles_3x3: + db $31,$46,$5B + db $34,$49,$5E + db $37,$4C,$61 + +Unknown_79b24: + db $00,$07,$0E,$15,$1C,$23,$2A + db $01,$08,$0F,$16,$1D,$24,$2B + db $02,$09,$10,$17,$1E,$25,$2C + db $03,$0A,$11,$18,$1F,$26,$2D + db $04,$0B,$12,$19,$20,$27,$2E + db $05,$0C,$13,$1A,$21,$28,$2F + db $06,$0D,$14,$1B,$22,$29,$30 + +Unknown_79b55: + db $00,$07,$0E,$15,$1C,$23,$2A + db $01,$08,$0F,$16,$1D,$24,$2B + db $03,$0A,$11,$18,$1F,$26,$2D + db $04,$0B,$12,$19,$20,$27,$2E + db $05,$0C,$13,$1A,$21,$28,$2F + +Unknown_79b78: + db $00,$07,$0E,$15,$1C,$23,$2A + db $02,$09,$10,$17,$1E,$25,$2C + db $04,$0B,$12,$19,$20,$27,$2E + +GengarIntroTiles1: + INCBIN "gfx/intro_credits/gengar_1.tilemap" + +GengarIntroTiles2: + INCBIN "gfx/intro_credits/gengar_2.tilemap" + +GengarIntroTiles3: + INCBIN "gfx/intro_credits/gengar_3.tilemap" + +Unknown_79c20: + db $31,$32,$32,$32,$32,$33 + db $34,$35,$36,$36,$37,$38 + db $34,$39,$3A,$3A,$3B,$38 + db $3C,$3D,$3E,$3E,$3F,$40 + db $41,$42,$43,$43,$44,$45 + db $46,$47,$43,$48,$49,$4A + db $41,$43,$4B,$4C,$4D,$4E + db $4F,$50,$50,$50,$51,$52 + +Unknown_79c50: + db $43,$55,$56,$53,$53,$53,$53,$53,$53,$53,$53,$53 + db $43,$57,$58,$54,$54,$54,$54,$54,$54,$54,$54,$54 + db $43,$59,$5A,$43,$43,$43,$43,$43,$43,$43,$43,$43 diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index 6bc6f839..5716ff56 100755 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -2265,98 +2265,7 @@ CopyTileIDs: pop hl ret -TileIDListPointerTable: - dw Unknown_79b24 - dn 7, 7 - dw Unknown_79b55 - dn 5, 7 - dw Unknown_79b78 - dn 3, 7 - dw GengarIntroTiles1 - dn 7, 7 - dw GengarIntroTiles2 - dn 7, 7 - dw GengarIntroTiles3 - dn 7, 7 - dw Unknown_79c20 - dn 8, 6 - dw Unknown_79c50 - dn 3, 12 - -DownscaledMonTiles_5x5: - db $31,$38,$46,$54,$5B - db $32,$39,$47,$55,$5C - db $34,$3B,$49,$57,$5E - db $36,$3D,$4B,$59,$60 - db $37,$3E,$4C,$5A,$61 - -DownscaledMonTiles_3x3: - db $31,$46,$5B - db $34,$49,$5E - db $37,$4C,$61 - -Unknown_79b24: - db $00,$07,$0E,$15,$1C,$23,$2A - db $01,$08,$0F,$16,$1D,$24,$2B - db $02,$09,$10,$17,$1E,$25,$2C - db $03,$0A,$11,$18,$1F,$26,$2D - db $04,$0B,$12,$19,$20,$27,$2E - db $05,$0C,$13,$1A,$21,$28,$2F - db $06,$0D,$14,$1B,$22,$29,$30 - -Unknown_79b55: - db $00,$07,$0E,$15,$1C,$23,$2A - db $01,$08,$0F,$16,$1D,$24,$2B - db $03,$0A,$11,$18,$1F,$26,$2D - db $04,$0B,$12,$19,$20,$27,$2E - db $05,$0C,$13,$1A,$21,$28,$2F - -Unknown_79b78: - db $00,$07,$0E,$15,$1C,$23,$2A - db $02,$09,$10,$17,$1E,$25,$2C - db $04,$0B,$12,$19,$20,$27,$2E - -GengarIntroTiles1: - db $00,$00,$00,$00,$00,$00,$00 - db $00,$00,$00,$00,$00,$19,$00 - db $02,$06,$0B,$10,$14,$1A,$00 - db $00,$07,$0C,$11,$15,$1B,$00 - db $03,$08,$0D,$12,$16,$1C,$00 - db $04,$09,$0E,$13,$17,$1D,$1F - db $05,$0A,$0F,$01,$18,$1E,$20 - -GengarIntroTiles2: - db $00,$00,$00,$30,$00,$37,$00 - db $00,$00,$2B,$31,$34,$38,$3D - db $21,$26,$2C,$01,$35,$39,$3E - db $22,$27,$2D,$32,$36,$01,$00 - db $23,$28,$2E,$33,$01,$3A,$00 - db $24,$29,$2F,$01,$01,$3B,$00 - db $25,$2A,$01,$01,$01,$3C,$00 - -GengarIntroTiles3: - db $00,$00,$00,$00,$00,$00,$00 - db $00,$00,$47,$4D,$00,$00,$00 - db $00,$00,$48,$4E,$52,$56,$5B - db $3F,$43,$49,$4F,$53,$57,$5C - db $40,$44,$4A,$50,$54,$58,$00 - db $41,$45,$4B,$51,$4C,$59,$5D - db $42,$46,$4C,$4C,$55,$5A,$5E - -Unknown_79c20: - db $31,$32,$32,$32,$32,$33 - db $34,$35,$36,$36,$37,$38 - db $34,$39,$3A,$3A,$3B,$38 - db $3C,$3D,$3E,$3E,$3F,$40 - db $41,$42,$43,$43,$44,$45 - db $46,$47,$43,$48,$49,$4A - db $41,$43,$4B,$4C,$4D,$4E - db $4F,$50,$50,$50,$51,$52 - -Unknown_79c50: - db $43,$55,$56,$53,$53,$53,$53,$53,$53,$53,$53,$53 - db $43,$57,$58,$54,$54,$54,$54,$54,$54,$54,$54,$54 - db $43,$59,$5A,$43,$43,$43,$43,$43,$43,$43,$43,$43 +INCLUDE "data/tilemaps.asm" AnimationLeavesFalling: ; Makes leaves float down from the top of the screen. This is used diff --git a/gfx/intro_credits/gengar_1.tilemap b/gfx/intro_credits/gengar_1.tilemap new file mode 100644 index 00000000..c962326a Binary files /dev/null and b/gfx/intro_credits/gengar_1.tilemap differ diff --git a/gfx/intro_credits/gengar_2.tilemap b/gfx/intro_credits/gengar_2.tilemap new file mode 100644 index 00000000..a909ba5e Binary files /dev/null and b/gfx/intro_credits/gengar_2.tilemap differ diff --git a/gfx/intro_credits/gengar_3.tilemap b/gfx/intro_credits/gengar_3.tilemap new file mode 100644 index 00000000..231106d8 Binary files /dev/null and b/gfx/intro_credits/gengar_3.tilemap differ -- cgit v1.2.3 From 4cc4b175fcf55fde232796ac5668b4aff5903022 Mon Sep 17 00:00:00 2001 From: Rangi Date: Thu, 16 Jul 2020 22:30:40 -0400 Subject: Identify trade-related tilemaps --- data/tilemaps.asm | 21 ++++++--------------- gfx/trade/game_boy.tilemap | 1 + gfx/trade/link_cable.tilemap | 1 + 3 files changed, 8 insertions(+), 15 deletions(-) create mode 100644 gfx/trade/game_boy.tilemap create mode 100644 gfx/trade/link_cable.tilemap diff --git a/data/tilemaps.asm b/data/tilemaps.asm index 8be4d2fd..7bf3d9f8 100644 --- a/data/tilemaps.asm +++ b/data/tilemaps.asm @@ -11,8 +11,8 @@ TileIDListPointerTable: tile_ids GengarIntroTiles1, 7, 7 tile_ids GengarIntroTiles2, 7, 7 tile_ids GengarIntroTiles3, 7, 7 - tile_ids Unknown_79c20, 6, 8 - tile_ids Unknown_79c50, 12, 3 + tile_ids GameBoyTiles, 6, 8 + tile_ids LinkCableTiles, 12, 3 DownscaledMonTiles_5x5: db $31,$38,$46,$54,$5B @@ -56,17 +56,8 @@ GengarIntroTiles2: GengarIntroTiles3: INCBIN "gfx/intro_credits/gengar_3.tilemap" -Unknown_79c20: - db $31,$32,$32,$32,$32,$33 - db $34,$35,$36,$36,$37,$38 - db $34,$39,$3A,$3A,$3B,$38 - db $3C,$3D,$3E,$3E,$3F,$40 - db $41,$42,$43,$43,$44,$45 - db $46,$47,$43,$48,$49,$4A - db $41,$43,$4B,$4C,$4D,$4E - db $4F,$50,$50,$50,$51,$52 +GameBoyTiles: + INCBIN "gfx/trade/game_boy.tilemap" -Unknown_79c50: - db $43,$55,$56,$53,$53,$53,$53,$53,$53,$53,$53,$53 - db $43,$57,$58,$54,$54,$54,$54,$54,$54,$54,$54,$54 - db $43,$59,$5A,$43,$43,$43,$43,$43,$43,$43,$43,$43 +LinkCableTiles: + INCBIN "gfx/trade/link_cable.tilemap" diff --git a/gfx/trade/game_boy.tilemap b/gfx/trade/game_boy.tilemap new file mode 100644 index 00000000..5f772126 --- /dev/null +++ b/gfx/trade/game_boy.tilemap @@ -0,0 +1 @@ +12222345667849::;8<=>>?@ABCCDEFGCHIJACKLMNOPPPQR \ No newline at end of file diff --git a/gfx/trade/link_cable.tilemap b/gfx/trade/link_cable.tilemap new file mode 100644 index 00000000..3f7e248a --- /dev/null +++ b/gfx/trade/link_cable.tilemap @@ -0,0 +1 @@ +CUVSSSSSSSSSCWXTTTTTTTTTCYZCCCCCCCCC \ No newline at end of file -- cgit v1.2.3 From 44b424353d42a24627055aff38d2cffa2eb0f17c Mon Sep 17 00:00:00 2001 From: Rangi Date: Thu, 16 Jul 2020 22:40:48 -0400 Subject: Factor our frame blocks' base coordinates --- data/battle_anims/base_coords.asm | 178 ++++++++++++++++++++++++++++++++++++ data/battle_anims/frame_blocks.asm | 179 +------------------------------------ 2 files changed, 179 insertions(+), 178 deletions(-) create mode 100644 data/battle_anims/base_coords.asm diff --git a/data/battle_anims/base_coords.asm b/data/battle_anims/base_coords.asm new file mode 100644 index 00000000..944aed3b --- /dev/null +++ b/data/battle_anims/base_coords.asm @@ -0,0 +1,178 @@ +FrameBlockBaseCoords: + db $10, $68 + db $10, $70 + db $10, $78 + db $10, $80 + db $10, $88 + db $10, $90 + db $10, $98 + db $18, $68 + db $18, $70 + db $18, $78 + db $34, $28 + db $18, $80 + db $18, $88 + db $18, $98 + db $20, $68 + db $20, $70 + db $20, $78 + db $20, $80 + db $20, $88 + db $20, $90 + db $20, $98 + db $28, $68 + db $28, $70 + db $28, $78 + db $28, $80 + db $28, $88 + db $30, $68 + db $30, $70 + db $30, $78 + db $30, $80 + db $30, $90 + db $30, $98 + db $38, $68 + db $38, $78 + db $38, $80 + db $38, $88 + db $40, $68 + db $40, $70 + db $40, $78 + db $40, $80 + db $40, $88 + db $40, $98 + db $10, $60 + db $18, $60 + db $20, $60 + db $28, $60 + db $30, $60 + db $40, $60 + db $58, $28 + db $43, $38 + db $33, $48 + db $20, $58 + db $32, $78 + db $58, $58 + db $2C, $6C + db $34, $80 + db $48, $70 + db $42, $36 + db $38, $44 + db $40, $52 + db $48, $60 + db $3E, $6E + db $28, $7C + db $28, $8A + db $50, $3C + db $48, $50 + db $40, $64 + db $38, $38 + db $50, $30 + db $50, $38 + db $50, $40 + db $50, $48 + db $50, $50 + db $48, $58 + db $50, $44 + db $48, $48 + db $48, $4C + db $40, $50 + db $40, $54 + db $38, $58 + db $38, $5C + db $30, $64 + db $48, $40 + db $48, $39 + db $24, $88 + db $24, $70 + db $1C, $70 + db $1C, $88 + db $34, $68 + db $34, $88 + db $68, $50 + db $60, $50 + db $68, $60 + db $58, $50 + db $60, $60 + db $68, $40 + db $40, $40 + db $38, $40 + db $0B, $60 + db $44, $48 + db $40, $14 + db $48, $1C + db $50, $24 + db $4C, $24 + db $10, $62 + db $12, $62 + db $12, $60 + db $20, $72 + db $22, $72 + db $22, $70 + db $28, $62 + db $50, $0A + db $52, $0A + db $38, $30 + db $40, $48 + db $30, $48 + db $40, $30 + db $30, $40 + db $38, $48 + db $40, $4A + db $48, $4B + db $50, $4C + db $58, $4D + db $60, $4D + db $68, $4D + db $38, $10 + db $50, $10 + db $38, $28 + db $48, $18 + db $40, $20 + db $48, $20 + db $40, $3C + db $38, $50 + db $28, $64 + db $1C, $90 + db $24, $80 + db $2C, $70 + db $30, $38 + db $10, $50 + db $3C, $40 + db $40, $58 + db $30, $58 + db $58, $48 + db $50, $58 + db $48, $68 + db $40, $18 + db $28, $58 + db $40, $38 + db $48, $38 + db $08, $70 + db $44, $1C + db $3C, $58 + db $38, $60 + db $08, $60 + db $38, $70 + db $38, $6C + db $38, $64 + db $1C, $74 + db $2E, $74 + db $34, $50 + db $2F, $60 + db $31, $70 + db $4C, $30 + db $3B, $40 + db $2D, $50 + db $26, $60 + db $2D, $70 + db $28, $50 + db $1E, $60 + db $29, $70 + db $16, $60 + db $14, $58 + db $12, $54 + db $14, $50 + db $18, $4C + db $1C, $48 + db $48, $28 diff --git a/data/battle_anims/frame_blocks.asm b/data/battle_anims/frame_blocks.asm index dd127879..dd765ffe 100644 --- a/data/battle_anims/frame_blocks.asm +++ b/data/battle_anims/frame_blocks.asm @@ -1238,184 +1238,7 @@ FrameBlock79: db 1 ; # db $00, $00, $4e, $00 -FrameBlockBaseCoords: - db $10, $68 - db $10, $70 - db $10, $78 - db $10, $80 - db $10, $88 - db $10, $90 - db $10, $98 - db $18, $68 - db $18, $70 - db $18, $78 - db $34, $28 - db $18, $80 - db $18, $88 - db $18, $98 - db $20, $68 - db $20, $70 - db $20, $78 - db $20, $80 - db $20, $88 - db $20, $90 - db $20, $98 - db $28, $68 - db $28, $70 - db $28, $78 - db $28, $80 - db $28, $88 - db $30, $68 - db $30, $70 - db $30, $78 - db $30, $80 - db $30, $90 - db $30, $98 - db $38, $68 - db $38, $78 - db $38, $80 - db $38, $88 - db $40, $68 - db $40, $70 - db $40, $78 - db $40, $80 - db $40, $88 - db $40, $98 - db $10, $60 - db $18, $60 - db $20, $60 - db $28, $60 - db $30, $60 - db $40, $60 - db $58, $28 - db $43, $38 - db $33, $48 - db $20, $58 - db $32, $78 - db $58, $58 - db $2C, $6C - db $34, $80 - db $48, $70 - db $42, $36 - db $38, $44 - db $40, $52 - db $48, $60 - db $3E, $6E - db $28, $7C - db $28, $8A - db $50, $3C - db $48, $50 - db $40, $64 - db $38, $38 - db $50, $30 - db $50, $38 - db $50, $40 - db $50, $48 - db $50, $50 - db $48, $58 - db $50, $44 - db $48, $48 - db $48, $4C - db $40, $50 - db $40, $54 - db $38, $58 - db $38, $5C - db $30, $64 - db $48, $40 - db $48, $39 - db $24, $88 - db $24, $70 - db $1C, $70 - db $1C, $88 - db $34, $68 - db $34, $88 - db $68, $50 - db $60, $50 - db $68, $60 - db $58, $50 - db $60, $60 - db $68, $40 - db $40, $40 - db $38, $40 - db $0B, $60 - db $44, $48 - db $40, $14 - db $48, $1C - db $50, $24 - db $4C, $24 - db $10, $62 - db $12, $62 - db $12, $60 - db $20, $72 - db $22, $72 - db $22, $70 - db $28, $62 - db $50, $0A - db $52, $0A - db $38, $30 - db $40, $48 - db $30, $48 - db $40, $30 - db $30, $40 - db $38, $48 - db $40, $4A - db $48, $4B - db $50, $4C - db $58, $4D - db $60, $4D - db $68, $4D - db $38, $10 - db $50, $10 - db $38, $28 - db $48, $18 - db $40, $20 - db $48, $20 - db $40, $3C - db $38, $50 - db $28, $64 - db $1C, $90 - db $24, $80 - db $2C, $70 - db $30, $38 - db $10, $50 - db $3C, $40 - db $40, $58 - db $30, $58 - db $58, $48 - db $50, $58 - db $48, $68 - db $40, $18 - db $28, $58 - db $40, $38 - db $48, $38 - db $08, $70 - db $44, $1C - db $3C, $58 - db $38, $60 - db $08, $60 - db $38, $70 - db $38, $6C - db $38, $64 - db $1C, $74 - db $2E, $74 - db $34, $50 - db $2F, $60 - db $31, $70 - db $4C, $30 - db $3B, $40 - db $2D, $50 - db $26, $60 - db $2D, $70 - db $28, $50 - db $1E, $60 - db $29, $70 - db $16, $60 - db $14, $58 - db $12, $54 - db $14, $50 - db $18, $4C - db $1C, $48 - db $48, $28 +INCLUDE "data/battle_anims/base_coords.asm" FrameBlock00: db 0 ; # -- cgit v1.2.3 From 452803af278648b92cc71af2f714b7689737b969 Mon Sep 17 00:00:00 2001 From: Rangi Date: Thu, 16 Jul 2020 23:02:34 -0400 Subject: =?UTF-8?q?$c9=20was=20"=E3=81=AE"=20in=20Japanese?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- engine/menus/naming_screen.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/engine/menus/naming_screen.asm b/engine/menus/naming_screen.asm index 8ca2ec9b..34c1aad3 100755 --- a/engine/menus/naming_screen.asm +++ b/engine/menus/naming_screen.asm @@ -469,7 +469,7 @@ PrintNamingText: call PlaceString ld hl, $1 add hl, bc - ld [hl], $c9 + ld [hl], "の" ; leftover from Japanese version; blank tile $c9 in English hlcoord 1, 3 ld de, NicknameTextString jr .placeString -- cgit v1.2.3 From 2454296d32b078123ecfc6434e43d0cb20e12c94 Mon Sep 17 00:00:00 2001 From: Rangi Date: Fri, 17 Jul 2020 12:48:15 -0400 Subject: Update sprite names These are based on the trainers that use them, and synced with pokegold/pokecrysal when possible --- constants/sprite_constants.asm | 147 ++++++++++++------------ data/icon_pointers.asm | 12 +- data/maps/objects/BikeShop.asm | 6 +- data/maps/objects/BillsHouse.asm | 6 +- data/maps/objects/BluesHouse.asm | 2 +- data/maps/objects/CeladonChiefHouse.asm | 2 +- data/maps/objects/CeladonCity.asm | 10 +- data/maps/objects/CeladonDiner.asm | 8 +- data/maps/objects/CeladonGym.asm | 14 +-- data/maps/objects/CeladonHotel.asm | 6 +- data/maps/objects/CeladonMansion1F.asm | 8 +- data/maps/objects/CeladonMansion3F.asm | 8 +- data/maps/objects/CeladonMansionRoofHouse.asm | 2 +- data/maps/objects/CeladonMart1F.asm | 2 +- data/maps/objects/CeladonMart2F.asm | 6 +- data/maps/objects/CeladonMart3F.asm | 10 +- data/maps/objects/CeladonMart4F.asm | 6 +- data/maps/objects/CeladonMart5F.asm | 4 +- data/maps/objects/CeladonMartRoof.asm | 2 +- data/maps/objects/CeladonPokecenter.asm | 4 +- data/maps/objects/CeruleanBadgeHouse.asm | 2 +- data/maps/objects/CeruleanCave1F.asm | 6 +- data/maps/objects/CeruleanCave2F.asm | 6 +- data/maps/objects/CeruleanCaveB1F.asm | 6 +- data/maps/objects/CeruleanCity.asm | 14 +-- data/maps/objects/CeruleanGym.asm | 4 +- data/maps/objects/CeruleanMart.asm | 6 +- data/maps/objects/CeruleanPokecenter.asm | 4 +- data/maps/objects/CeruleanTradeHouse.asm | 2 +- data/maps/objects/CeruleanTrashedHouse.asm | 2 +- data/maps/objects/CinnabarGym.asm | 18 +-- data/maps/objects/CinnabarLab.asm | 2 +- data/maps/objects/CinnabarLabFossilRoom.asm | 4 +- data/maps/objects/CinnabarLabMetronomeRoom.asm | 4 +- data/maps/objects/CinnabarLabTradeRoom.asm | 6 +- data/maps/objects/CinnabarMart.asm | 4 +- data/maps/objects/CinnabarPokecenter.asm | 4 +- data/maps/objects/CopycatsHouse1F.asm | 6 +- data/maps/objects/CopycatsHouse2F.asm | 4 +- data/maps/objects/DiglettsCaveRoute2.asm | 2 +- data/maps/objects/FightingDojo.asm | 4 +- data/maps/objects/FuchsiaBillsGrandpasHouse.asm | 4 +- data/maps/objects/FuchsiaCity.asm | 16 +-- data/maps/objects/FuchsiaGoodRodHouse.asm | 2 +- data/maps/objects/FuchsiaGym.asm | 4 +- data/maps/objects/FuchsiaMart.asm | 6 +- data/maps/objects/FuchsiaMeetingRoom.asm | 6 +- data/maps/objects/FuchsiaPokecenter.asm | 4 +- data/maps/objects/GameCorner.asm | 16 +-- data/maps/objects/IndigoPlateauLobby.asm | 8 +- data/maps/objects/LavenderCuboneHouse.asm | 2 +- data/maps/objects/LavenderMart.asm | 4 +- data/maps/objects/LavenderPokecenter.asm | 2 +- data/maps/objects/LavenderTown.asm | 4 +- data/maps/objects/MrFujisHouse.asm | 8 +- data/maps/objects/MrPsychicsHouse.asm | 2 +- data/maps/objects/MtMoon1F.asm | 24 ++-- data/maps/objects/MtMoonB2F.asm | 10 +- data/maps/objects/MtMoonPokecenter.asm | 6 +- data/maps/objects/Museum1F.asm | 6 +- data/maps/objects/Museum2F.asm | 6 +- data/maps/objects/NameRatersHouse.asm | 2 +- data/maps/objects/OaksLab.asm | 14 +-- data/maps/objects/PalletTown.asm | 2 +- data/maps/objects/PewterCity.asm | 10 +- data/maps/objects/PewterGym.asm | 6 +- data/maps/objects/PewterMart.asm | 6 +- data/maps/objects/PewterNidoranHouse.asm | 6 +- data/maps/objects/PewterPokecenter.asm | 4 +- data/maps/objects/PewterSpeechHouse.asm | 2 +- data/maps/objects/PokemonFanClub.asm | 6 +- data/maps/objects/PokemonMansion1F.asm | 6 +- data/maps/objects/PokemonMansion2F.asm | 8 +- data/maps/objects/PokemonMansion3F.asm | 10 +- data/maps/objects/PokemonMansionB1F.asm | 16 +-- data/maps/objects/PokemonTower1F.asm | 6 +- data/maps/objects/PokemonTower2F.asm | 2 +- data/maps/objects/PokemonTower3F.asm | 8 +- data/maps/objects/PokemonTower4F.asm | 12 +- data/maps/objects/PokemonTower5F.asm | 12 +- data/maps/objects/PokemonTower6F.asm | 10 +- data/maps/objects/PowerPlant.asm | 26 ++--- data/maps/objects/RockTunnel1F.asm | 8 +- data/maps/objects/RockTunnelB1F.asm | 10 +- data/maps/objects/RockTunnelPokecenter.asm | 4 +- data/maps/objects/RocketHideoutB1F.asm | 4 +- data/maps/objects/RocketHideoutB2F.asm | 8 +- data/maps/objects/RocketHideoutB3F.asm | 4 +- data/maps/objects/RocketHideoutB4F.asm | 10 +- data/maps/objects/Route1.asm | 4 +- data/maps/objects/Route10.asm | 8 +- data/maps/objects/Route11.asm | 12 +- data/maps/objects/Route11Gate2F.asm | 4 +- data/maps/objects/Route12.asm | 18 +-- data/maps/objects/Route12SuperRodHouse.asm | 2 +- data/maps/objects/Route13.asm | 18 +-- data/maps/objects/Route14.asm | 12 +- data/maps/objects/Route15.asm | 18 +-- data/maps/objects/Route15Gate2F.asm | 2 +- data/maps/objects/Route16Gate2F.asm | 2 +- data/maps/objects/Route18.asm | 6 +- data/maps/objects/Route18Gate2F.asm | 2 +- data/maps/objects/Route19.asm | 4 +- data/maps/objects/Route2.asm | 4 +- data/maps/objects/Route20.asm | 2 +- data/maps/objects/Route21.asm | 8 +- data/maps/objects/Route24.asm | 16 +-- data/maps/objects/Route25.asm | 14 +-- data/maps/objects/Route2Gate.asm | 4 +- data/maps/objects/Route2TradeHouse.asm | 4 +- data/maps/objects/Route3.asm | 18 +-- data/maps/objects/Route4.asm | 6 +- data/maps/objects/Route6.asm | 12 +- data/maps/objects/Route8.asm | 14 +-- data/maps/objects/Route9.asm | 14 +-- data/maps/objects/SSAnne1FRooms.asm | 10 +- data/maps/objects/SSAnne2FRooms.asm | 14 +-- data/maps/objects/SSAnneB1FRooms.asm | 12 +- data/maps/objects/SSAnneBow.asm | 4 +- data/maps/objects/SSAnneCaptainsRoom.asm | 2 +- data/maps/objects/SafariZoneCenter.asm | 2 +- data/maps/objects/SafariZoneCenterRestHouse.asm | 2 +- data/maps/objects/SafariZoneEast.asm | 8 +- data/maps/objects/SafariZoneEastRestHouse.asm | 4 +- data/maps/objects/SafariZoneGate.asm | 4 +- data/maps/objects/SafariZoneNorth.asm | 4 +- data/maps/objects/SafariZoneNorthRestHouse.asm | 4 +- data/maps/objects/SafariZoneSecretHouse.asm | 2 +- data/maps/objects/SafariZoneWest.asm | 8 +- data/maps/objects/SafariZoneWestRestHouse.asm | 4 +- data/maps/objects/SaffronCity.asm | 4 +- data/maps/objects/SaffronGym.asm | 16 +-- data/maps/objects/SaffronMart.asm | 6 +- data/maps/objects/SaffronPidgeyHouse.asm | 4 +- data/maps/objects/SaffronPokecenter.asm | 4 +- data/maps/objects/SilphCo10F.asm | 8 +- data/maps/objects/SilphCo11F.asm | 4 +- data/maps/objects/SilphCo1F.asm | 2 +- data/maps/objects/SilphCo2F.asm | 4 +- data/maps/objects/SilphCo3F.asm | 6 +- data/maps/objects/SilphCo4F.asm | 10 +- data/maps/objects/SilphCo5F.asm | 10 +- data/maps/objects/SilphCo6F.asm | 12 +- data/maps/objects/SilphCo7F.asm | 12 +- data/maps/objects/SilphCo8F.asm | 4 +- data/maps/objects/SilphCo9F.asm | 2 +- data/maps/objects/UndergroundPathRoute7.asm | 2 +- data/maps/objects/UndergroundPathRoute7Copy.asm | 2 +- data/maps/objects/VermilionCity.asm | 4 +- data/maps/objects/VermilionGym.asm | 4 +- data/maps/objects/VermilionMart.asm | 6 +- data/maps/objects/VermilionOldRodHouse.asm | 2 +- data/maps/objects/VermilionPidgeyHouse.asm | 4 +- data/maps/objects/VermilionPokecenter.asm | 4 +- data/maps/objects/VictoryRoad1F.asm | 8 +- data/maps/objects/VictoryRoad2F.asm | 16 +-- data/maps/objects/VictoryRoad3F.asm | 12 +- data/maps/objects/ViridianCity.asm | 8 +- data/maps/objects/ViridianForest.asm | 16 +-- data/maps/objects/ViridianForestNorthGate.asm | 4 +- data/maps/objects/ViridianGym.asm | 10 +- data/maps/objects/ViridianMart.asm | 6 +- data/maps/objects/ViridianPokecenter.asm | 4 +- data/maps/objects/ViridianSchoolHouse.asm | 2 +- data/maps/objects/WardensHouse.asm | 2 +- data/maps/sprite_sets.asm | 132 ++++++++++----------- data/sprites/sprites.asm | 144 +++++++++++------------ engine/battle/animations.asm | 38 +++--- engine/overworld/map_sprites.asm | 2 +- gfx/sprites.asm | 134 ++++++++++----------- gfx/sprites/ball.png | Bin 114 -> 0 bytes gfx/sprites/beauty.png | Bin 0 -> 260 bytes gfx/sprites/bike_shop_clerk.png | Bin 0 -> 213 bytes gfx/sprites/bike_shop_guy.png | Bin 213 -> 0 bytes gfx/sprites/black_hair_boy_1.png | Bin 286 -> 0 bytes gfx/sprites/black_hair_boy_2.png | Bin 291 -> 0 bytes gfx/sprites/blackbelt.png | Bin 271 -> 0 bytes gfx/sprites/book_map_dex.png | Bin 116 -> 0 bytes gfx/sprites/bug_catcher.png | Bin 291 -> 0 bytes gfx/sprites/cable_club_woman.png | Bin 218 -> 0 bytes gfx/sprites/captain.png | Bin 0 -> 221 bytes gfx/sprites/channeler.png | Bin 0 -> 242 bytes gfx/sprites/clefairy.png | Bin 317 -> 0 bytes gfx/sprites/clerk.png | Bin 0 -> 220 bytes gfx/sprites/cooltrainer_f.png | Bin 0 -> 349 bytes gfx/sprites/cooltrainer_m.png | Bin 0 -> 286 bytes gfx/sprites/fairy.png | Bin 0 -> 317 bytes gfx/sprites/fat_bald_guy.png | Bin 289 -> 0 bytes gfx/sprites/fisher.png | Bin 213 -> 308 bytes gfx/sprites/fisher2.png | Bin 308 -> 0 bytes gfx/sprites/fishing_guru.png | Bin 0 -> 213 bytes gfx/sprites/fossil.png | Bin 0 -> 140 bytes gfx/sprites/foulard_woman.png | Bin 260 -> 0 bytes gfx/sprites/gambler_asleep.png | Bin 0 -> 124 bytes gfx/sprites/gramps.png | Bin 0 -> 239 bytes gfx/sprites/granny.png | Bin 0 -> 202 bytes gfx/sprites/gym_guide.png | Bin 0 -> 214 bytes gfx/sprites/gym_helper.png | Bin 214 -> 0 bytes gfx/sprites/koga.png | Bin 0 -> 271 bytes gfx/sprites/lapras_giver.png | Bin 210 -> 0 bytes gfx/sprites/lass.png | Bin 349 -> 0 bytes gfx/sprites/link_receptionist.png | Bin 0 -> 218 bytes gfx/sprites/little_boy.png | Bin 0 -> 185 bytes gfx/sprites/lying_old_man.png | Bin 124 -> 0 bytes gfx/sprites/mart_guy.png | Bin 220 -> 0 bytes gfx/sprites/medium.png | Bin 242 -> 0 bytes gfx/sprites/middle_aged_man.png | Bin 0 -> 289 bytes gfx/sprites/middle_aged_woman.png | Bin 0 -> 289 bytes gfx/sprites/mom_geisha.png | Bin 289 -> 0 bytes gfx/sprites/monster.png | Bin 0 -> 350 bytes gfx/sprites/mr_masterball.png | Bin 212 -> 0 bytes gfx/sprites/oak_aide.png | Bin 281 -> 0 bytes gfx/sprites/old_medium_woman.png | Bin 202 -> 0 bytes gfx/sprites/old_person.png | Bin 239 -> 0 bytes gfx/sprites/omanyte.png | Bin 140 -> 0 bytes gfx/sprites/paper.png | Bin 0 -> 107 bytes gfx/sprites/paper_sheet.png | Bin 107 -> 0 bytes gfx/sprites/poke_ball.png | Bin 0 -> 114 bytes gfx/sprites/pokedex.png | Bin 0 -> 116 bytes gfx/sprites/safari_zone_worker.png | Bin 0 -> 210 bytes gfx/sprites/scientist.png | Bin 0 -> 281 bytes gfx/sprites/silph_president.png | Bin 0 -> 212 bytes gfx/sprites/silph_worker.png | Bin 0 -> 210 bytes gfx/sprites/slowbro.png | Bin 350 -> 0 bytes gfx/sprites/ss_captain.png | Bin 221 -> 0 bytes gfx/sprites/super_nerd.png | Bin 0 -> 291 bytes gfx/sprites/white_player.png | Bin 210 -> 0 bytes gfx/sprites/young_boy.png | Bin 185 -> 0 bytes gfx/sprites/youngster.png | Bin 0 -> 291 bytes 229 files changed, 862 insertions(+), 861 deletions(-) delete mode 100644 gfx/sprites/ball.png create mode 100644 gfx/sprites/beauty.png create mode 100644 gfx/sprites/bike_shop_clerk.png delete mode 100644 gfx/sprites/bike_shop_guy.png delete mode 100644 gfx/sprites/black_hair_boy_1.png delete mode 100644 gfx/sprites/black_hair_boy_2.png delete mode 100644 gfx/sprites/blackbelt.png delete mode 100644 gfx/sprites/book_map_dex.png delete mode 100644 gfx/sprites/bug_catcher.png delete mode 100644 gfx/sprites/cable_club_woman.png create mode 100644 gfx/sprites/captain.png create mode 100644 gfx/sprites/channeler.png delete mode 100644 gfx/sprites/clefairy.png create mode 100644 gfx/sprites/clerk.png create mode 100644 gfx/sprites/cooltrainer_f.png create mode 100644 gfx/sprites/cooltrainer_m.png create mode 100644 gfx/sprites/fairy.png delete mode 100644 gfx/sprites/fat_bald_guy.png delete mode 100644 gfx/sprites/fisher2.png create mode 100644 gfx/sprites/fishing_guru.png create mode 100644 gfx/sprites/fossil.png delete mode 100644 gfx/sprites/foulard_woman.png create mode 100644 gfx/sprites/gambler_asleep.png create mode 100644 gfx/sprites/gramps.png create mode 100644 gfx/sprites/granny.png create mode 100644 gfx/sprites/gym_guide.png delete mode 100644 gfx/sprites/gym_helper.png create mode 100644 gfx/sprites/koga.png delete mode 100644 gfx/sprites/lapras_giver.png delete mode 100644 gfx/sprites/lass.png create mode 100644 gfx/sprites/link_receptionist.png create mode 100644 gfx/sprites/little_boy.png delete mode 100644 gfx/sprites/lying_old_man.png delete mode 100644 gfx/sprites/mart_guy.png delete mode 100644 gfx/sprites/medium.png create mode 100644 gfx/sprites/middle_aged_man.png create mode 100644 gfx/sprites/middle_aged_woman.png delete mode 100644 gfx/sprites/mom_geisha.png create mode 100644 gfx/sprites/monster.png delete mode 100644 gfx/sprites/mr_masterball.png delete mode 100644 gfx/sprites/oak_aide.png delete mode 100644 gfx/sprites/old_medium_woman.png delete mode 100644 gfx/sprites/old_person.png delete mode 100644 gfx/sprites/omanyte.png create mode 100644 gfx/sprites/paper.png delete mode 100644 gfx/sprites/paper_sheet.png create mode 100644 gfx/sprites/poke_ball.png create mode 100644 gfx/sprites/pokedex.png create mode 100644 gfx/sprites/safari_zone_worker.png create mode 100644 gfx/sprites/scientist.png create mode 100644 gfx/sprites/silph_president.png create mode 100644 gfx/sprites/silph_worker.png delete mode 100644 gfx/sprites/slowbro.png delete mode 100644 gfx/sprites/ss_captain.png create mode 100644 gfx/sprites/super_nerd.png delete mode 100644 gfx/sprites/white_player.png delete mode 100644 gfx/sprites/young_boy.png create mode 100644 gfx/sprites/youngster.png diff --git a/constants/sprite_constants.asm b/constants/sprite_constants.asm index 939ab2df..dc8352de 100755 --- a/constants/sprite_constants.asm +++ b/constants/sprite_constants.asm @@ -1,75 +1,76 @@ ; overworld sprites const_def - const SPRITE_NONE ; $00 - const SPRITE_RED ; $01 - const SPRITE_BLUE ; $02 - const SPRITE_OAK ; $03 - const SPRITE_BUG_CATCHER ; $04 - const SPRITE_SLOWBRO ; $05 - const SPRITE_LASS ; $06 - const SPRITE_BLACK_HAIR_BOY_1 ; $07 - const SPRITE_LITTLE_GIRL ; $08 - const SPRITE_BIRD ; $09 - const SPRITE_FAT_BALD_GUY ; $0a - const SPRITE_GAMBLER ; $0b - const SPRITE_BLACK_HAIR_BOY_2 ; $0c - const SPRITE_GIRL ; $0d - const SPRITE_HIKER ; $0e - const SPRITE_FOULARD_WOMAN ; $0f - const SPRITE_GENTLEMAN ; $10 - const SPRITE_DAISY ; $11 - const SPRITE_BIKER ; $12 - const SPRITE_SAILOR ; $13 - const SPRITE_COOK ; $14 - const SPRITE_BIKE_SHOP_GUY ; $15 - const SPRITE_MR_FUJI ; $16 - const SPRITE_GIOVANNI ; $17 - const SPRITE_ROCKET ; $18 - const SPRITE_MEDIUM ; $19 - const SPRITE_WAITER ; $1a - const SPRITE_ERIKA ; $1b - const SPRITE_MOM_GEISHA ; $1c - const SPRITE_BRUNETTE_GIRL ; $1d - const SPRITE_LANCE ; $1e - const SPRITE_OAK_SCIENTIST_AIDE ; $1f - const SPRITE_OAK_AIDE ; $20 - const SPRITE_ROCKER ; $21 - const SPRITE_SWIMMER ; $22 - const SPRITE_WHITE_PLAYER ; $23 - const SPRITE_GYM_HELPER ; $24 - const SPRITE_OLD_PERSON ; $25 - const SPRITE_MART_GUY ; $26 - const SPRITE_FISHER ; $27 - const SPRITE_OLD_MEDIUM_WOMAN ; $28 - const SPRITE_NURSE ; $29 - const SPRITE_CABLE_CLUB_WOMAN ; $2a - const SPRITE_MR_MASTERBALL ; $2b - const SPRITE_LAPRAS_GIVER ; $2c - const SPRITE_WARDEN ; $2d - const SPRITE_SS_CAPTAIN ; $2e - const SPRITE_FISHER2 ; $2f - const SPRITE_BLACKBELT ; $30 - const SPRITE_GUARD ; $31 - const SPRITE_COP_GUARD ; $32 - const SPRITE_MOM ; $33 - const SPRITE_BALDING_GUY ; $34 - const SPRITE_YOUNG_BOY ; $35 - const SPRITE_GAMEBOY_KID ; $36 - const SPRITE_GAMEBOY_KID_COPY ; $37 - const SPRITE_CLEFAIRY ; $38 - const SPRITE_AGATHA ; $39 - const SPRITE_BRUNO ; $3a - const SPRITE_LORELEI ; $3b - const SPRITE_SEEL ; $3c - const SPRITE_BALL ; $3d - const SPRITE_OMANYTE ; $3e - const SPRITE_BOULDER ; $3f - const SPRITE_PAPER_SHEET ; $40 - const SPRITE_BOOK_MAP_DEX ; $41 - const SPRITE_CLIPBOARD ; $42 - const SPRITE_SNORLAX ; $43 - const SPRITE_OLD_AMBER_COPY ; $44 - const SPRITE_OLD_AMBER ; $45 - const SPRITE_LYING_OLD_MAN_UNUSED_1 ; $46 - const SPRITE_LYING_OLD_MAN_UNUSED_2 ; $47 - const SPRITE_LYING_OLD_MAN ; $48 + const SPRITE_NONE ; $00 + const SPRITE_RED ; $01 + const SPRITE_BLUE ; $02 + const SPRITE_OAK ; $03 + const SPRITE_YOUNGSTER ; $04 + const SPRITE_MONSTER ; $05 + const SPRITE_COOLTRAINER_F ; $06 + const SPRITE_COOLTRAINER_M ; $07 + const SPRITE_LITTLE_GIRL ; $08 + const SPRITE_BIRD ; $09 + const SPRITE_MIDDLE_AGED_MAN ; $0a + const SPRITE_GAMBLER ; $0b + const SPRITE_SUPER_NERD ; $0c + const SPRITE_GIRL ; $0d + const SPRITE_HIKER ; $0e + const SPRITE_BEAUTY ; $0f + const SPRITE_GENTLEMAN ; $10 + const SPRITE_DAISY ; $11 + const SPRITE_BIKER ; $12 + const SPRITE_SAILOR ; $13 + const SPRITE_COOK ; $14 + const SPRITE_BIKE_SHOP_CLERK ; $15 + const SPRITE_MR_FUJI ; $16 + const SPRITE_GIOVANNI ; $17 + const SPRITE_ROCKET ; $18 + const SPRITE_CHANNELER ; $19 + const SPRITE_WAITER ; $1a + const SPRITE_ERIKA ; $1b + const SPRITE_MIDDLE_AGED_WOMAN ; $1c + const SPRITE_BRUNETTE_GIRL ; $1d + const SPRITE_LANCE ; $1e + const SPRITE_UNUSED_SCIENTIST ; $1f + const SPRITE_SCIENTIST ; $20 + const SPRITE_ROCKER ; $21 + const SPRITE_SWIMMER ; $22 + const SPRITE_SAFARI_ZONE_WORKER ; $23 + const SPRITE_GYM_GUIDE ; $24 + const SPRITE_GRAMPS ; $25 + const SPRITE_CLERK ; $26 + const SPRITE_FISHING_GURU ; $27 + const SPRITE_GRANNY ; $28 + const SPRITE_NURSE ; $29 + const SPRITE_LINK_RECEPTIONIST ; $2a + const SPRITE_SILPH_PRESIDENT ; $2b + const SPRITE_SILPH_WORKER ; $2c + const SPRITE_WARDEN ; $2d + const SPRITE_CAPTAIN ; $2e + const SPRITE_FISHER ; $2f + const SPRITE_KOGA ; $30 + const SPRITE_GUARD ; $31 + const SPRITE_UNUSED_GUARD ; $32 + const SPRITE_MOM ; $33 + const SPRITE_BALDING_GUY ; $34 + const SPRITE_LITTLE_BOY ; $35 + const SPRITE_UNUSED_GAMEBOY_KID ; $36 + const SPRITE_GAMEBOY_KID ; $37 + const SPRITE_FAIRY ; $38 + const SPRITE_AGATHA ; $39 + const SPRITE_BRUNO ; $3a + const SPRITE_LORELEI ; $3b + const SPRITE_SEEL ; $3c +FIRST_STILL_SPRITE EQU const_value + const SPRITE_POKE_BALL ; $3d + const SPRITE_FOSSIL ; $3e + const SPRITE_BOULDER ; $3f + const SPRITE_PAPER ; $40 + const SPRITE_POKEDEX ; $41 + const SPRITE_CLIPBOARD ; $42 + const SPRITE_SNORLAX ; $43 + const SPRITE_UNUSED_OLD_AMBER ; $44 + const SPRITE_OLD_AMBER ; $45 + const SPRITE_UNUSED_GAMBLER_ASLEEP_1 ; $46 + const SPRITE_UNUSED_GAMBLER_ASLEEP_2 ; $47 + const SPRITE_GAMBLER_ASLEEP ; $48 diff --git a/data/icon_pointers.asm b/data/icon_pointers.asm index ce35f3fe..305dfcb1 100644 --- a/data/icon_pointers.asm +++ b/data/icon_pointers.asm @@ -7,9 +7,9 @@ ENDM MonPartySpritePointers: ; gfx pointer, gfx tile offset, # tiles, vSprites tile offset - mon_icon_header SlowbroSprite, 12, 4, $00 - mon_icon_header BallSprite, 0, 8, $04 - mon_icon_header ClefairySprite, 12, 4, $0c + mon_icon_header MonsterSprite, 12, 4, $00 + mon_icon_header PokeBallSprite, 0, 8, $04 + mon_icon_header FairySprite, 12, 4, $0c mon_icon_header BirdSprite, 12, 4, $10 mon_icon_header SeelSprite, 0, 4, $14 mon_icon_header BugIconFrame2, 0, 1, $18 @@ -21,9 +21,9 @@ MonPartySpritePointers: mon_icon_header QuadrupedIconFrame1, 0, 1, $24 mon_icon_header QuadrupedIconFrame1, 1, 1, $26 mon_icon_header TradeBubbleIconGFX, 0, 4, $38 - mon_icon_header SlowbroSprite, 0, 4, $40 - mon_icon_header BallSprite, 0, 8, $44 - mon_icon_header ClefairySprite, 0, 4, $4c + mon_icon_header MonsterSprite, 0, 4, $40 + mon_icon_header PokeBallSprite, 0, 8, $44 + mon_icon_header FairySprite, 0, 4, $4c mon_icon_header BirdSprite, 0, 4, $50 mon_icon_header SeelSprite, 12, 4, $54 mon_icon_header BugIconFrame1, 0, 1, $58 diff --git a/data/maps/objects/BikeShop.asm b/data/maps/objects/BikeShop.asm index acfd7294..cf321c2a 100755 --- a/data/maps/objects/BikeShop.asm +++ b/data/maps/objects/BikeShop.asm @@ -8,9 +8,9 @@ BikeShop_Object: db 0 ; signs db 3 ; objects - object SPRITE_BIKE_SHOP_GUY, 6, 2, STAY, NONE, 1 ; person - object SPRITE_MOM_GEISHA, 5, 6, WALK, 1, 2 ; person - object SPRITE_BUG_CATCHER, 1, 3, STAY, UP, 3 ; person + object SPRITE_BIKE_SHOP_CLERK, 6, 2, STAY, NONE, 1 ; person + object SPRITE_MIDDLE_AGED_WOMAN, 5, 6, WALK, 1, 2 ; person + object SPRITE_YOUNGSTER, 1, 3, STAY, UP, 3 ; person ; warp-to warp_to 2, 7, BIKE_SHOP_WIDTH diff --git a/data/maps/objects/BillsHouse.asm b/data/maps/objects/BillsHouse.asm index c0ddf2ec..1bfd96b9 100755 --- a/data/maps/objects/BillsHouse.asm +++ b/data/maps/objects/BillsHouse.asm @@ -8,9 +8,9 @@ BillsHouse_Object: db 0 ; signs db 3 ; objects - object SPRITE_SLOWBRO, 6, 5, STAY, NONE, 1 ; person - object SPRITE_BLACK_HAIR_BOY_2, 4, 4, STAY, NONE, 2 ; person - object SPRITE_BLACK_HAIR_BOY_2, 6, 5, STAY, NONE, 3 ; person + object SPRITE_MONSTER, 6, 5, STAY, NONE, 1 ; person + object SPRITE_SUPER_NERD, 4, 4, STAY, NONE, 2 ; person + object SPRITE_SUPER_NERD, 6, 5, STAY, NONE, 3 ; person ; warp-to warp_to 2, 7, BILLS_HOUSE_WIDTH diff --git a/data/maps/objects/BluesHouse.asm b/data/maps/objects/BluesHouse.asm index 8681787c..3dbdad84 100755 --- a/data/maps/objects/BluesHouse.asm +++ b/data/maps/objects/BluesHouse.asm @@ -10,7 +10,7 @@ BluesHouse_Object: db 3 ; objects object SPRITE_DAISY, 2, 3, STAY, RIGHT, 1 ; Daisy, sitting by map object SPRITE_DAISY, 6, 4, WALK, 1, 2, 0 ; Daisy, walking around - object SPRITE_BOOK_MAP_DEX, 3, 3, STAY, NONE, 3, 0 ; map on table + object SPRITE_POKEDEX, 3, 3, STAY, NONE, 3, 0 ; map on table ; warp-to warp_to 2, 7, BLUES_HOUSE_WIDTH diff --git a/data/maps/objects/CeladonChiefHouse.asm b/data/maps/objects/CeladonChiefHouse.asm index d912bf94..28206d10 100755 --- a/data/maps/objects/CeladonChiefHouse.asm +++ b/data/maps/objects/CeladonChiefHouse.asm @@ -8,7 +8,7 @@ CeladonChiefHouse_Object: db 0 ; signs db 3 ; objects - object SPRITE_OLD_PERSON, 4, 2, STAY, DOWN, 1 ; person + object SPRITE_GRAMPS, 4, 2, STAY, DOWN, 1 ; person object SPRITE_ROCKET, 1, 4, WALK, 0, 2 ; person object SPRITE_SAILOR, 5, 6, STAY, LEFT, 3 ; person diff --git a/data/maps/objects/CeladonCity.asm b/data/maps/objects/CeladonCity.asm index 005fc61e..446f6754 100755 --- a/data/maps/objects/CeladonCity.asm +++ b/data/maps/objects/CeladonCity.asm @@ -29,12 +29,12 @@ CeladonCity_Object: db 9 ; objects object SPRITE_LITTLE_GIRL, 8, 17, WALK, 0, 1 ; person - object SPRITE_OLD_PERSON, 11, 28, STAY, UP, 2 ; person + object SPRITE_GRAMPS, 11, 28, STAY, UP, 2 ; person object SPRITE_GIRL, 14, 19, WALK, 1, 3 ; person - object SPRITE_OLD_PERSON, 25, 22, STAY, DOWN, 4 ; person - object SPRITE_OLD_PERSON, 22, 16, STAY, DOWN, 5 ; person - object SPRITE_FISHER2, 32, 12, STAY, LEFT, 6 ; person - object SPRITE_SLOWBRO, 30, 12, STAY, RIGHT, 7 ; person + object SPRITE_GRAMPS, 25, 22, STAY, DOWN, 4 ; person + object SPRITE_GRAMPS, 22, 16, STAY, DOWN, 5 ; person + object SPRITE_FISHER, 32, 12, STAY, LEFT, 6 ; person + object SPRITE_MONSTER, 30, 12, STAY, RIGHT, 7 ; person object SPRITE_ROCKET, 32, 29, WALK, 2, 8 ; person object SPRITE_ROCKET, 42, 14, WALK, 2, 9 ; person diff --git a/data/maps/objects/CeladonDiner.asm b/data/maps/objects/CeladonDiner.asm index b2f42e48..c0925ca2 100755 --- a/data/maps/objects/CeladonDiner.asm +++ b/data/maps/objects/CeladonDiner.asm @@ -9,10 +9,10 @@ CeladonDiner_Object: db 5 ; objects object SPRITE_COOK, 8, 5, WALK, 2, 1 ; person - object SPRITE_MOM_GEISHA, 7, 2, STAY, NONE, 2 ; person - object SPRITE_FAT_BALD_GUY, 1, 4, STAY, DOWN, 3 ; person - object SPRITE_FISHER2, 5, 3, STAY, RIGHT, 4 ; person - object SPRITE_GYM_HELPER, 0, 1, STAY, DOWN, 5 ; person + object SPRITE_MIDDLE_AGED_WOMAN, 7, 2, STAY, NONE, 2 ; person + object SPRITE_MIDDLE_AGED_MAN, 1, 4, STAY, DOWN, 3 ; person + object SPRITE_FISHER, 5, 3, STAY, RIGHT, 4 ; person + object SPRITE_GYM_GUIDE, 0, 1, STAY, DOWN, 5 ; person ; warp-to warp_to 3, 7, CELADON_DINER_WIDTH diff --git a/data/maps/objects/CeladonGym.asm b/data/maps/objects/CeladonGym.asm index a38ef4e8..be186d55 100755 --- a/data/maps/objects/CeladonGym.asm +++ b/data/maps/objects/CeladonGym.asm @@ -9,13 +9,13 @@ CeladonGym_Object: db 8 ; objects object SPRITE_ERIKA, 4, 3, STAY, DOWN, 1, OPP_ERIKA, 1 - object SPRITE_LASS, 2, 11, STAY, RIGHT, 2, OPP_LASS, 17 - object SPRITE_FOULARD_WOMAN, 7, 10, STAY, LEFT, 3, OPP_BEAUTY, 1 - object SPRITE_LASS, 9, 5, STAY, DOWN, 4, OPP_JR_TRAINER_F, 11 - object SPRITE_FOULARD_WOMAN, 1, 5, STAY, DOWN, 5, OPP_BEAUTY, 2 - object SPRITE_LASS, 6, 3, STAY, DOWN, 6, OPP_LASS, 18 - object SPRITE_FOULARD_WOMAN, 3, 3, STAY, DOWN, 7, OPP_BEAUTY, 3 - object SPRITE_LASS, 5, 3, STAY, DOWN, 8, OPP_COOLTRAINER_F, 1 + object SPRITE_COOLTRAINER_F, 2, 11, STAY, RIGHT, 2, OPP_LASS, 17 + object SPRITE_BEAUTY, 7, 10, STAY, LEFT, 3, OPP_BEAUTY, 1 + object SPRITE_COOLTRAINER_F, 9, 5, STAY, DOWN, 4, OPP_JR_TRAINER_F, 11 + object SPRITE_BEAUTY, 1, 5, STAY, DOWN, 5, OPP_BEAUTY, 2 + object SPRITE_COOLTRAINER_F, 6, 3, STAY, DOWN, 6, OPP_LASS, 18 + object SPRITE_BEAUTY, 3, 3, STAY, DOWN, 7, OPP_BEAUTY, 3 + object SPRITE_COOLTRAINER_F, 5, 3, STAY, DOWN, 8, OPP_COOLTRAINER_F, 1 ; warp-to warp_to 4, 17, CELADON_GYM_WIDTH diff --git a/data/maps/objects/CeladonHotel.asm b/data/maps/objects/CeladonHotel.asm index 642950bd..afa55936 100755 --- a/data/maps/objects/CeladonHotel.asm +++ b/data/maps/objects/CeladonHotel.asm @@ -8,9 +8,9 @@ CeladonHotel_Object: db 0 ; signs db 3 ; objects - object SPRITE_OLD_MEDIUM_WOMAN, 3, 1, STAY, DOWN, 1 ; person - object SPRITE_FOULARD_WOMAN, 2, 4, STAY, NONE, 2 ; person - object SPRITE_BLACK_HAIR_BOY_2, 8, 4, WALK, 2, 3 ; person + object SPRITE_GRANNY, 3, 1, STAY, DOWN, 1 ; person + object SPRITE_BEAUTY, 2, 4, STAY, NONE, 2 ; person + object SPRITE_SUPER_NERD, 8, 4, WALK, 2, 3 ; person ; warp-to warp_to 3, 7, CELADON_HOTEL_WIDTH diff --git a/data/maps/objects/CeladonMansion1F.asm b/data/maps/objects/CeladonMansion1F.asm index 7f5b684b..1e142d44 100755 --- a/data/maps/objects/CeladonMansion1F.asm +++ b/data/maps/objects/CeladonMansion1F.asm @@ -12,10 +12,10 @@ CeladonMansion1F_Object: sign 4, 9, 5 ; CeladonMansion1Text5 db 4 ; objects - object SPRITE_SLOWBRO, 0, 5, STAY, RIGHT, 1 ; person - object SPRITE_OLD_MEDIUM_WOMAN, 1, 5, STAY, DOWN, 2 ; person - object SPRITE_CLEFAIRY, 1, 8, WALK, 2, 3 ; person - object SPRITE_SLOWBRO, 4, 4, WALK, 1, 4 ; person + object SPRITE_MONSTER, 0, 5, STAY, RIGHT, 1 ; person + object SPRITE_GRANNY, 1, 5, STAY, DOWN, 2 ; person + object SPRITE_FAIRY, 1, 8, WALK, 2, 3 ; person + object SPRITE_MONSTER, 4, 4, WALK, 1, 4 ; person ; warp-to warp_to 4, 11, CELADON_MANSION_1F_WIDTH diff --git a/data/maps/objects/CeladonMansion3F.asm b/data/maps/objects/CeladonMansion3F.asm index 32701f14..9ff614c7 100755 --- a/data/maps/objects/CeladonMansion3F.asm +++ b/data/maps/objects/CeladonMansion3F.asm @@ -14,10 +14,10 @@ CeladonMansion3F_Object: sign 4, 9, 8 ; CeladonMansion3Text8 db 4 ; objects - object SPRITE_BIKE_SHOP_GUY, 0, 4, STAY, UP, 1 ; person - object SPRITE_MART_GUY, 3, 4, STAY, UP, 2 ; person - object SPRITE_BLACK_HAIR_BOY_2, 0, 7, STAY, UP, 3 ; person - object SPRITE_LAPRAS_GIVER, 2, 3, STAY, NONE, 4 ; person + object SPRITE_BIKE_SHOP_CLERK, 0, 4, STAY, UP, 1 ; person + object SPRITE_CLERK, 3, 4, STAY, UP, 2 ; person + object SPRITE_SUPER_NERD, 0, 7, STAY, UP, 3 ; person + object SPRITE_SILPH_WORKER, 2, 3, STAY, NONE, 4 ; person ; warp-to warp_to 6, 1, CELADON_MANSION_3F_WIDTH ; CELADON_MANSION_2F diff --git a/data/maps/objects/CeladonMansionRoofHouse.asm b/data/maps/objects/CeladonMansionRoofHouse.asm index b6a6149f..d0318820 100755 --- a/data/maps/objects/CeladonMansionRoofHouse.asm +++ b/data/maps/objects/CeladonMansionRoofHouse.asm @@ -9,7 +9,7 @@ CeladonMansionRoofHouse_Object: db 2 ; objects object SPRITE_HIKER, 2, 2, STAY, DOWN, 1 ; person - object SPRITE_BALL, 4, 3, STAY, NONE, 2 ; person + object SPRITE_POKE_BALL, 4, 3, STAY, NONE, 2 ; person ; warp-to warp_to 2, 7, CELADON_MANSION_ROOF_HOUSE_WIDTH ; CELADON_MANSION_ROOF diff --git a/data/maps/objects/CeladonMart1F.asm b/data/maps/objects/CeladonMart1F.asm index 3403e12c..6f4762fa 100755 --- a/data/maps/objects/CeladonMart1F.asm +++ b/data/maps/objects/CeladonMart1F.asm @@ -14,7 +14,7 @@ CeladonMart1F_Object: sign 14, 1, 3 ; CeladonMart1Text3 db 1 ; objects - object SPRITE_CABLE_CLUB_WOMAN, 8, 3, STAY, DOWN, 1 ; person + object SPRITE_LINK_RECEPTIONIST, 8, 3, STAY, DOWN, 1 ; person ; warp-to warp_to 2, 7, CELADON_MART_1F_WIDTH diff --git a/data/maps/objects/CeladonMart2F.asm b/data/maps/objects/CeladonMart2F.asm index 2f5f428e..5cc5c6e2 100755 --- a/data/maps/objects/CeladonMart2F.asm +++ b/data/maps/objects/CeladonMart2F.asm @@ -10,9 +10,9 @@ CeladonMart2F_Object: sign 14, 1, 5 ; CeladonMart2Text5 db 4 ; objects - object SPRITE_MART_GUY, 5, 3, STAY, DOWN, 1 ; person - object SPRITE_MART_GUY, 6, 3, STAY, DOWN, 2 ; person - object SPRITE_FAT_BALD_GUY, 19, 5, STAY, NONE, 3 ; person + object SPRITE_CLERK, 5, 3, STAY, DOWN, 1 ; person + object SPRITE_CLERK, 6, 3, STAY, DOWN, 2 ; person + object SPRITE_MIDDLE_AGED_MAN, 19, 5, STAY, NONE, 3 ; person object SPRITE_GIRL, 14, 4, WALK, 1, 4 ; person ; warp-to diff --git a/data/maps/objects/CeladonMart3F.asm b/data/maps/objects/CeladonMart3F.asm index 6dfce535..04a4c2f0 100755 --- a/data/maps/objects/CeladonMart3F.asm +++ b/data/maps/objects/CeladonMart3F.asm @@ -21,11 +21,11 @@ CeladonMart3F_Object: sign 10, 1, 17 ; CeladonMart3Text17 db 5 ; objects - object SPRITE_MART_GUY, 16, 5, STAY, NONE, 1 ; person - object SPRITE_GAMEBOY_KID_COPY, 11, 6, STAY, RIGHT, 2 ; person - object SPRITE_GAMEBOY_KID_COPY, 7, 2, STAY, DOWN, 3 ; person - object SPRITE_GAMEBOY_KID_COPY, 8, 2, STAY, DOWN, 4 ; person - object SPRITE_YOUNG_BOY, 2, 5, STAY, UP, 5 ; person + object SPRITE_CLERK, 16, 5, STAY, NONE, 1 ; person + object SPRITE_GAMEBOY_KID, 11, 6, STAY, RIGHT, 2 ; person + object SPRITE_GAMEBOY_KID, 7, 2, STAY, DOWN, 3 ; person + object SPRITE_GAMEBOY_KID, 8, 2, STAY, DOWN, 4 ; person + object SPRITE_LITTLE_BOY, 2, 5, STAY, UP, 5 ; person ; warp-to warp_to 12, 1, CELADON_MART_3F_WIDTH ; CELADON_MART_4F diff --git a/data/maps/objects/CeladonMart4F.asm b/data/maps/objects/CeladonMart4F.asm index 18ba3bdc..8f71b4b0 100755 --- a/data/maps/objects/CeladonMart4F.asm +++ b/data/maps/objects/CeladonMart4F.asm @@ -10,9 +10,9 @@ CeladonMart4F_Object: sign 14, 1, 4 ; CeladonMart4Text4 db 3 ; objects - object SPRITE_MART_GUY, 5, 7, STAY, NONE, 1 ; person - object SPRITE_BLACK_HAIR_BOY_2, 15, 5, WALK, 2, 2 ; person - object SPRITE_BUG_CATCHER, 5, 2, WALK, 2, 3 ; person + object SPRITE_CLERK, 5, 7, STAY, NONE, 1 ; person + object SPRITE_SUPER_NERD, 15, 5, WALK, 2, 2 ; person + object SPRITE_YOUNGSTER, 5, 2, WALK, 2, 3 ; person ; warp-to warp_to 12, 1, CELADON_MART_4F_WIDTH ; CELADON_MART_3F diff --git a/data/maps/objects/CeladonMart5F.asm b/data/maps/objects/CeladonMart5F.asm index fb1201c9..4d3fb865 100755 --- a/data/maps/objects/CeladonMart5F.asm +++ b/data/maps/objects/CeladonMart5F.asm @@ -12,8 +12,8 @@ CeladonMart5F_Object: db 4 ; objects object SPRITE_GENTLEMAN, 14, 5, WALK, 1, 1 ; person object SPRITE_SAILOR, 2, 6, STAY, NONE, 2 ; person - object SPRITE_MART_GUY, 5, 3, STAY, DOWN, 3 ; person - object SPRITE_MART_GUY, 6, 3, STAY, DOWN, 4 ; person + object SPRITE_CLERK, 5, 3, STAY, DOWN, 3 ; person + object SPRITE_CLERK, 6, 3, STAY, DOWN, 4 ; person ; warp-to warp_to 12, 1, CELADON_MART_5F_WIDTH ; CELADON_MART_ROOF diff --git a/data/maps/objects/CeladonMartRoof.asm b/data/maps/objects/CeladonMartRoof.asm index 05cef2d4..4e81b9a3 100755 --- a/data/maps/objects/CeladonMartRoof.asm +++ b/data/maps/objects/CeladonMartRoof.asm @@ -11,7 +11,7 @@ CeladonMartRoof_Object: sign 13, 2, 6 ; CeladonMartRoofText6 db 2 ; objects - object SPRITE_BLACK_HAIR_BOY_2, 10, 4, STAY, LEFT, 1 ; person + object SPRITE_SUPER_NERD, 10, 4, STAY, LEFT, 1 ; person object SPRITE_LITTLE_GIRL, 5, 5, WALK, 0, 2 ; person ; warp-to diff --git a/data/maps/objects/CeladonPokecenter.asm b/data/maps/objects/CeladonPokecenter.asm index feddb996..3a48cd95 100755 --- a/data/maps/objects/CeladonPokecenter.asm +++ b/data/maps/objects/CeladonPokecenter.asm @@ -10,8 +10,8 @@ CeladonPokecenter_Object: db 4 ; objects object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person object SPRITE_GENTLEMAN, 7, 3, WALK, 2, 2 ; person - object SPRITE_FOULARD_WOMAN, 10, 5, WALK, 0, 3 ; person - object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person + object SPRITE_BEAUTY, 10, 5, WALK, 0, 3 ; person + object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person ; warp-to warp_to 3, 7, CELADON_POKECENTER_WIDTH diff --git a/data/maps/objects/CeruleanBadgeHouse.asm b/data/maps/objects/CeruleanBadgeHouse.asm index eb6ac206..985d989c 100755 --- a/data/maps/objects/CeruleanBadgeHouse.asm +++ b/data/maps/objects/CeruleanBadgeHouse.asm @@ -9,7 +9,7 @@ CeruleanBadgeHouse_Object: db 0 ; signs db 1 ; objects - object SPRITE_FAT_BALD_GUY, 5, 3, STAY, RIGHT, 1 ; person + object SPRITE_MIDDLE_AGED_MAN, 5, 3, STAY, RIGHT, 1 ; person ; warp-to warp_to 2, 0, CERULEAN_BADGE_HOUSE_WIDTH diff --git a/data/maps/objects/CeruleanCave1F.asm b/data/maps/objects/CeruleanCave1F.asm index 713f88ef..80283f09 100755 --- a/data/maps/objects/CeruleanCave1F.asm +++ b/data/maps/objects/CeruleanCave1F.asm @@ -15,9 +15,9 @@ CeruleanCave1F_Object: db 0 ; signs db 3 ; objects - object SPRITE_BALL, 7, 13, STAY, NONE, 1, FULL_RESTORE - object SPRITE_BALL, 19, 3, STAY, NONE, 2, MAX_ELIXER - object SPRITE_BALL, 5, 0, STAY, NONE, 3, NUGGET + object SPRITE_POKE_BALL, 7, 13, STAY, NONE, 1, FULL_RESTORE + object SPRITE_POKE_BALL, 19, 3, STAY, NONE, 2, MAX_ELIXER + object SPRITE_POKE_BALL, 5, 0, STAY, NONE, 3, NUGGET ; warp-to warp_to 24, 17, CERULEAN_CAVE_1F_WIDTH diff --git a/data/maps/objects/CeruleanCave2F.asm b/data/maps/objects/CeruleanCave2F.asm index f8312da0..26dee8ef 100755 --- a/data/maps/objects/CeruleanCave2F.asm +++ b/data/maps/objects/CeruleanCave2F.asm @@ -12,9 +12,9 @@ CeruleanCave2F_Object: db 0 ; signs db 3 ; objects - object SPRITE_BALL, 29, 9, STAY, NONE, 1, PP_UP - object SPRITE_BALL, 4, 15, STAY, NONE, 2, ULTRA_BALL - object SPRITE_BALL, 13, 6, STAY, NONE, 3, FULL_RESTORE + object SPRITE_POKE_BALL, 29, 9, STAY, NONE, 1, PP_UP + object SPRITE_POKE_BALL, 4, 15, STAY, NONE, 2, ULTRA_BALL + object SPRITE_POKE_BALL, 13, 6, STAY, NONE, 3, FULL_RESTORE ; warp-to warp_to 29, 1, CERULEAN_CAVE_2F_WIDTH ; CERULEAN_CAVE_1F diff --git a/data/maps/objects/CeruleanCaveB1F.asm b/data/maps/objects/CeruleanCaveB1F.asm index 461f77aa..642ff0c7 100755 --- a/data/maps/objects/CeruleanCaveB1F.asm +++ b/data/maps/objects/CeruleanCaveB1F.asm @@ -7,9 +7,9 @@ CeruleanCaveB1F_Object: db 0 ; signs db 3 ; objects - object SPRITE_SLOWBRO, 27, 13, STAY, DOWN, 1, MEWTWO, 70 - object SPRITE_BALL, 16, 9, STAY, NONE, 2, ULTRA_BALL - object SPRITE_BALL, 18, 1, STAY, NONE, 3, MAX_REVIVE + object SPRITE_MONSTER, 27, 13, STAY, DOWN, 1, MEWTWO, 70 + object SPRITE_POKE_BALL, 16, 9, STAY, NONE, 2, ULTRA_BALL + object SPRITE_POKE_BALL, 18, 1, STAY, NONE, 3, MAX_REVIVE ; warp-to warp_to 3, 6, CERULEAN_CAVE_B1F_WIDTH ; CERULEAN_CAVE_1F diff --git a/data/maps/objects/CeruleanCity.asm b/data/maps/objects/CeruleanCity.asm index d5adcfd7..858fcb28 100755 --- a/data/maps/objects/CeruleanCity.asm +++ b/data/maps/objects/CeruleanCity.asm @@ -24,14 +24,14 @@ CeruleanCity_Object: db 11 ; objects object SPRITE_BLUE, 20, 2, STAY, DOWN, 1 ; person object SPRITE_ROCKET, 30, 8, STAY, NONE, 2, OPP_ROCKET, 5 - object SPRITE_BLACK_HAIR_BOY_1, 31, 20, STAY, DOWN, 3 ; person - object SPRITE_BLACK_HAIR_BOY_2, 15, 18, WALK, 1, 4 ; person - object SPRITE_BLACK_HAIR_BOY_2, 9, 21, WALK, 2, 5 ; person + object SPRITE_COOLTRAINER_M, 31, 20, STAY, DOWN, 3 ; person + object SPRITE_SUPER_NERD, 15, 18, WALK, 1, 4 ; person + object SPRITE_SUPER_NERD, 9, 21, WALK, 2, 5 ; person object SPRITE_GUARD, 28, 12, STAY, DOWN, 6 ; person - object SPRITE_LASS, 29, 26, STAY, LEFT, 7 ; person - object SPRITE_SLOWBRO, 28, 26, STAY, DOWN, 8 ; person - object SPRITE_LASS, 9, 27, WALK, 2, 9 ; person - object SPRITE_BLACK_HAIR_BOY_2, 4, 12, STAY, DOWN, 10 ; person + object SPRITE_COOLTRAINER_F, 29, 26, STAY, LEFT, 7 ; person + object SPRITE_MONSTER, 28, 26, STAY, DOWN, 8 ; person + object SPRITE_COOLTRAINER_F, 9, 27, WALK, 2, 9 ; person + object SPRITE_SUPER_NERD, 4, 12, STAY, DOWN, 10 ; person object SPRITE_GUARD, 27, 12, STAY, DOWN, 11 ; person ; warp-to diff --git a/data/maps/objects/CeruleanGym.asm b/data/maps/objects/CeruleanGym.asm index 76cf3c3d..a8c9f106 100755 --- a/data/maps/objects/CeruleanGym.asm +++ b/data/maps/objects/CeruleanGym.asm @@ -9,9 +9,9 @@ CeruleanGym_Object: db 4 ; objects object SPRITE_BRUNETTE_GIRL, 4, 2, STAY, DOWN, 1, OPP_MISTY, 1 - object SPRITE_LASS, 2, 3, STAY, RIGHT, 2, OPP_JR_TRAINER_F, 1 + object SPRITE_COOLTRAINER_F, 2, 3, STAY, RIGHT, 2, OPP_JR_TRAINER_F, 1 object SPRITE_SWIMMER, 8, 7, STAY, LEFT, 3, OPP_SWIMMER, 1 - object SPRITE_GYM_HELPER, 7, 10, STAY, DOWN, 4 ; person + object SPRITE_GYM_GUIDE, 7, 10, STAY, DOWN, 4 ; person ; warp-to warp_to 4, 13, CERULEAN_GYM_WIDTH diff --git a/data/maps/objects/CeruleanMart.asm b/data/maps/objects/CeruleanMart.asm index 16e3fa5f..d724c08b 100755 --- a/data/maps/objects/CeruleanMart.asm +++ b/data/maps/objects/CeruleanMart.asm @@ -8,9 +8,9 @@ CeruleanMart_Object: db 0 ; signs db 3 ; objects - object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person - object SPRITE_BLACK_HAIR_BOY_1, 3, 4, WALK, 1, 2 ; person - object SPRITE_LASS, 6, 2, WALK, 2, 3 ; person + object SPRITE_CLERK, 0, 5, STAY, RIGHT, 1 ; person + object SPRITE_COOLTRAINER_M, 3, 4, WALK, 1, 2 ; person + object SPRITE_COOLTRAINER_F, 6, 2, WALK, 2, 3 ; person ; warp-to warp_to 3, 7, CERULEAN_MART_WIDTH diff --git a/data/maps/objects/CeruleanPokecenter.asm b/data/maps/objects/CeruleanPokecenter.asm index 23fab3b9..0f485dfe 100755 --- a/data/maps/objects/CeruleanPokecenter.asm +++ b/data/maps/objects/CeruleanPokecenter.asm @@ -9,9 +9,9 @@ CeruleanPokecenter_Object: db 4 ; objects object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person - object SPRITE_BLACK_HAIR_BOY_2, 10, 5, WALK, 0, 2 ; person + object SPRITE_SUPER_NERD, 10, 5, WALK, 0, 2 ; person object SPRITE_GENTLEMAN, 4, 3, STAY, DOWN, 3 ; person - object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person + object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person ; warp-to warp_to 3, 7, CERULEAN_POKECENTER_WIDTH diff --git a/data/maps/objects/CeruleanTradeHouse.asm b/data/maps/objects/CeruleanTradeHouse.asm index ccf1a693..f5f37344 100755 --- a/data/maps/objects/CeruleanTradeHouse.asm +++ b/data/maps/objects/CeruleanTradeHouse.asm @@ -8,7 +8,7 @@ CeruleanTradeHouse_Object: db 0 ; signs db 2 ; objects - object SPRITE_OLD_MEDIUM_WOMAN, 5, 4, STAY, LEFT, 1 ; person + object SPRITE_GRANNY, 5, 4, STAY, LEFT, 1 ; person object SPRITE_GAMBLER, 1, 2, STAY, NONE, 2 ; person ; warp-to diff --git a/data/maps/objects/CeruleanTrashedHouse.asm b/data/maps/objects/CeruleanTrashedHouse.asm index 43b3b1dd..0ea45a1c 100755 --- a/data/maps/objects/CeruleanTrashedHouse.asm +++ b/data/maps/objects/CeruleanTrashedHouse.asm @@ -10,7 +10,7 @@ CeruleanTrashedHouse_Object: sign 3, 0, 3 ; CeruleanHouseTrashedText3 db 2 ; objects - object SPRITE_FISHER, 2, 1, STAY, DOWN, 1 ; person + object SPRITE_FISHING_GURU, 2, 1, STAY, DOWN, 1 ; person object SPRITE_GIRL, 5, 6, WALK, 2, 2 ; person ; warp-to diff --git a/data/maps/objects/CinnabarGym.asm b/data/maps/objects/CinnabarGym.asm index f0b200f0..6548ddb8 100755 --- a/data/maps/objects/CinnabarGym.asm +++ b/data/maps/objects/CinnabarGym.asm @@ -8,15 +8,15 @@ CinnabarGym_Object: db 0 ; signs db 9 ; objects - object SPRITE_FAT_BALD_GUY, 3, 3, STAY, DOWN, 1, OPP_BLAINE, 1 - object SPRITE_BLACK_HAIR_BOY_2, 17, 2, STAY, DOWN, 2, OPP_SUPER_NERD, 9 - object SPRITE_BLACK_HAIR_BOY_2, 17, 8, STAY, DOWN, 3, OPP_BURGLAR, 4 - object SPRITE_BLACK_HAIR_BOY_2, 11, 4, STAY, DOWN, 4, OPP_SUPER_NERD, 10 - object SPRITE_BLACK_HAIR_BOY_2, 11, 8, STAY, DOWN, 5, OPP_BURGLAR, 5 - object SPRITE_BLACK_HAIR_BOY_2, 11, 14, STAY, DOWN, 6, OPP_SUPER_NERD, 11 - object SPRITE_BLACK_HAIR_BOY_2, 3, 14, STAY, DOWN, 7, OPP_BURGLAR, 6 - object SPRITE_BLACK_HAIR_BOY_2, 3, 8, STAY, DOWN, 8, OPP_SUPER_NERD, 12 - object SPRITE_GYM_HELPER, 16, 13, STAY, DOWN, 9 ; person + object SPRITE_MIDDLE_AGED_MAN, 3, 3, STAY, DOWN, 1, OPP_BLAINE, 1 + object SPRITE_SUPER_NERD, 17, 2, STAY, DOWN, 2, OPP_SUPER_NERD, 9 + object SPRITE_SUPER_NERD, 17, 8, STAY, DOWN, 3, OPP_BURGLAR, 4 + object SPRITE_SUPER_NERD, 11, 4, STAY, DOWN, 4, OPP_SUPER_NERD, 10 + object SPRITE_SUPER_NERD, 11, 8, STAY, DOWN, 5, OPP_BURGLAR, 5 + object SPRITE_SUPER_NERD, 11, 14, STAY, DOWN, 6, OPP_SUPER_NERD, 11 + object SPRITE_SUPER_NERD, 3, 14, STAY, DOWN, 7, OPP_BURGLAR, 6 + object SPRITE_SUPER_NERD, 3, 8, STAY, DOWN, 8, OPP_SUPER_NERD, 12 + object SPRITE_GYM_GUIDE, 16, 13, STAY, DOWN, 9 ; person ; warp-to warp_to 16, 17, CINNABAR_GYM_WIDTH diff --git a/data/maps/objects/CinnabarLab.asm b/data/maps/objects/CinnabarLab.asm index 1a2320dd..9398dc1e 100755 --- a/data/maps/objects/CinnabarLab.asm +++ b/data/maps/objects/CinnabarLab.asm @@ -15,7 +15,7 @@ CinnabarLab_Object: sign 17, 4, 5 ; Lab1Text5 db 1 ; objects - object SPRITE_FISHER, 1, 3, STAY, NONE, 1 ; person + object SPRITE_FISHING_GURU, 1, 3, STAY, NONE, 1 ; person ; warp-to warp_to 2, 7, CINNABAR_LAB_WIDTH diff --git a/data/maps/objects/CinnabarLabFossilRoom.asm b/data/maps/objects/CinnabarLabFossilRoom.asm index d31502e6..d77c26df 100755 --- a/data/maps/objects/CinnabarLabFossilRoom.asm +++ b/data/maps/objects/CinnabarLabFossilRoom.asm @@ -8,8 +8,8 @@ CinnabarLabFossilRoom_Object: db 0 ; signs db 2 ; objects - object SPRITE_OAK_AIDE, 5, 2, WALK, 2, 1 ; person - object SPRITE_OAK_AIDE, 7, 6, STAY, UP, 2 ; person + object SPRITE_SCIENTIST, 5, 2, WALK, 2, 1 ; person + object SPRITE_SCIENTIST, 7, 6, STAY, UP, 2 ; person ; warp-to warp_to 2, 7, CINNABAR_LAB_FOSSIL_ROOM_WIDTH ; CINNABAR_LAB diff --git a/data/maps/objects/CinnabarLabMetronomeRoom.asm b/data/maps/objects/CinnabarLabMetronomeRoom.asm index 37f93d43..06f4fb99 100755 --- a/data/maps/objects/CinnabarLabMetronomeRoom.asm +++ b/data/maps/objects/CinnabarLabMetronomeRoom.asm @@ -11,8 +11,8 @@ CinnabarLabMetronomeRoom_Object: sign 2, 1, 5 ; Lab3Text5 db 2 ; objects - object SPRITE_OAK_AIDE, 7, 2, STAY, DOWN, 1 ; person - object SPRITE_OAK_AIDE, 2, 3, WALK, 2, 2 ; person + object SPRITE_SCIENTIST, 7, 2, STAY, DOWN, 1 ; person + object SPRITE_SCIENTIST, 2, 3, WALK, 2, 2 ; person ; warp-to warp_to 2, 7, CINNABAR_LAB_METRONOME_ROOM_WIDTH ; CINNABAR_LAB diff --git a/data/maps/objects/CinnabarLabTradeRoom.asm b/data/maps/objects/CinnabarLabTradeRoom.asm index 449cc914..de9a7d96 100755 --- a/data/maps/objects/CinnabarLabTradeRoom.asm +++ b/data/maps/objects/CinnabarLabTradeRoom.asm @@ -8,9 +8,9 @@ CinnabarLabTradeRoom_Object: db 0 ; signs db 3 ; objects - object SPRITE_BLACK_HAIR_BOY_2, 3, 2, STAY, DOWN, 1 ; person - object SPRITE_OLD_PERSON, 1, 4, STAY, NONE, 2 ; person - object SPRITE_FOULARD_WOMAN, 5, 5, STAY, UP, 3 ; person + object SPRITE_SUPER_NERD, 3, 2, STAY, DOWN, 1 ; person + object SPRITE_GRAMPS, 1, 4, STAY, NONE, 2 ; person + object SPRITE_BEAUTY, 5, 5, STAY, UP, 3 ; person ; warp-to warp_to 2, 7, CINNABAR_LAB_TRADE_ROOM_WIDTH ; CINNABAR_LAB diff --git a/data/maps/objects/CinnabarMart.asm b/data/maps/objects/CinnabarMart.asm index a4f9215c..206492a7 100755 --- a/data/maps/objects/CinnabarMart.asm +++ b/data/maps/objects/CinnabarMart.asm @@ -8,9 +8,9 @@ CinnabarMart_Object: db 0 ; signs db 3 ; objects - object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person + object SPRITE_CLERK, 0, 5, STAY, RIGHT, 1 ; person object SPRITE_ERIKA, 6, 2, STAY, NONE, 2 ; person - object SPRITE_OAK_AIDE, 3, 4, STAY, NONE, 3 ; person + object SPRITE_SCIENTIST, 3, 4, STAY, NONE, 3 ; person ; warp-to warp_to 3, 7, CINNABAR_MART_WIDTH diff --git a/data/maps/objects/CinnabarPokecenter.asm b/data/maps/objects/CinnabarPokecenter.asm index ac7df5ac..06af2353 100755 --- a/data/maps/objects/CinnabarPokecenter.asm +++ b/data/maps/objects/CinnabarPokecenter.asm @@ -9,9 +9,9 @@ CinnabarPokecenter_Object: db 4 ; objects object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person - object SPRITE_LASS, 9, 4, WALK, 0, 2 ; person + object SPRITE_COOLTRAINER_F, 9, 4, WALK, 0, 2 ; person object SPRITE_GENTLEMAN, 2, 6, STAY, NONE, 3 ; person - object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person + object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person ; warp-to warp_to 3, 7, CINNABAR_POKECENTER_WIDTH diff --git a/data/maps/objects/CopycatsHouse1F.asm b/data/maps/objects/CopycatsHouse1F.asm index fe79991e..e02339cd 100755 --- a/data/maps/objects/CopycatsHouse1F.asm +++ b/data/maps/objects/CopycatsHouse1F.asm @@ -9,9 +9,9 @@ CopycatsHouse1F_Object: db 0 ; signs db 3 ; objects - object SPRITE_MOM_GEISHA, 2, 2, STAY, DOWN, 1 ; person - object SPRITE_FAT_BALD_GUY, 5, 4, STAY, LEFT, 2 ; person - object SPRITE_CLEFAIRY, 1, 4, WALK, 1, 3 ; person + object SPRITE_MIDDLE_AGED_WOMAN, 2, 2, STAY, DOWN, 1 ; person + object SPRITE_MIDDLE_AGED_MAN, 5, 4, STAY, LEFT, 2 ; person + object SPRITE_FAIRY, 1, 4, WALK, 1, 3 ; person ; warp-to warp_to 2, 7, COPYCATS_HOUSE_1F_WIDTH diff --git a/data/maps/objects/CopycatsHouse2F.asm b/data/maps/objects/CopycatsHouse2F.asm index 18b56419..73d7daf2 100755 --- a/data/maps/objects/CopycatsHouse2F.asm +++ b/data/maps/objects/CopycatsHouse2F.asm @@ -11,9 +11,9 @@ CopycatsHouse2F_Object: db 5 ; objects object SPRITE_BRUNETTE_GIRL, 4, 3, WALK, 0, 1 ; person object SPRITE_BIRD, 4, 6, WALK, 2, 2 ; person - object SPRITE_SLOWBRO, 5, 1, STAY, DOWN, 3 ; person + object SPRITE_MONSTER, 5, 1, STAY, DOWN, 3 ; person object SPRITE_BIRD, 2, 0, STAY, DOWN, 4 ; person - object SPRITE_CLEFAIRY, 1, 6, STAY, RIGHT, 5 ; person + object SPRITE_FAIRY, 1, 6, STAY, RIGHT, 5 ; person ; warp-to warp_to 7, 1, COPYCATS_HOUSE_2F_WIDTH ; COPYCATS_HOUSE_1F diff --git a/data/maps/objects/DiglettsCaveRoute2.asm b/data/maps/objects/DiglettsCaveRoute2.asm index 1a3742e8..082f6ac6 100755 --- a/data/maps/objects/DiglettsCaveRoute2.asm +++ b/data/maps/objects/DiglettsCaveRoute2.asm @@ -9,7 +9,7 @@ DiglettsCaveRoute2_Object: db 0 ; signs db 1 ; objects - object SPRITE_FISHER, 3, 3, STAY, NONE, 1 ; person + object SPRITE_FISHING_GURU, 3, 3, STAY, NONE, 1 ; person ; warp-to warp_to 2, 7, DIGLETTS_CAVE_ROUTE_2_WIDTH diff --git a/data/maps/objects/FightingDojo.asm b/data/maps/objects/FightingDojo.asm index 7e3f0745..ecd00bfb 100755 --- a/data/maps/objects/FightingDojo.asm +++ b/data/maps/objects/FightingDojo.asm @@ -13,8 +13,8 @@ FightingDojo_Object: object SPRITE_HIKER, 3, 6, STAY, RIGHT, 3, OPP_BLACKBELT, 3 object SPRITE_HIKER, 5, 5, STAY, LEFT, 4, OPP_BLACKBELT, 4 object SPRITE_HIKER, 5, 7, STAY, LEFT, 5, OPP_BLACKBELT, 5 - object SPRITE_BALL, 4, 1, STAY, NONE, 6 ; person - object SPRITE_BALL, 5, 1, STAY, NONE, 7 ; person + object SPRITE_POKE_BALL, 4, 1, STAY, NONE, 6 ; person + object SPRITE_POKE_BALL, 5, 1, STAY, NONE, 7 ; person ; warp-to warp_to 4, 11, FIGHTING_DOJO_WIDTH diff --git a/data/maps/objects/FuchsiaBillsGrandpasHouse.asm b/data/maps/objects/FuchsiaBillsGrandpasHouse.asm index 2004acc3..86ebf409 100755 --- a/data/maps/objects/FuchsiaBillsGrandpasHouse.asm +++ b/data/maps/objects/FuchsiaBillsGrandpasHouse.asm @@ -8,9 +8,9 @@ FuchsiaBillsGrandpasHouse_Object: db 0 ; signs db 3 ; objects - object SPRITE_MOM_GEISHA, 2, 3, STAY, RIGHT, 1 ; person + object SPRITE_MIDDLE_AGED_WOMAN, 2, 3, STAY, RIGHT, 1 ; person object SPRITE_GAMBLER, 7, 2, STAY, UP, 2 ; person - object SPRITE_BUG_CATCHER, 5, 5, STAY, NONE, 3 ; person + object SPRITE_YOUNGSTER, 5, 5, STAY, NONE, 3 ; person ; warp-to warp_to 2, 7, FUCHSIA_BILLS_GRANDPAS_HOUSE_WIDTH diff --git a/data/maps/objects/FuchsiaCity.asm b/data/maps/objects/FuchsiaCity.asm index 09c97b02..5a09f864 100755 --- a/data/maps/objects/FuchsiaCity.asm +++ b/data/maps/objects/FuchsiaCity.asm @@ -29,16 +29,16 @@ FuchsiaCity_Object: sign 7, 7, 24 ; FuchsiaCityText24 db 10 ; objects - object SPRITE_BUG_CATCHER, 10, 12, WALK, 2, 1 ; person + object SPRITE_YOUNGSTER, 10, 12, WALK, 2, 1 ; person object SPRITE_GAMBLER, 28, 17, WALK, 2, 2 ; person - object SPRITE_FISHER2, 30, 14, STAY, DOWN, 3 ; person - object SPRITE_BUG_CATCHER, 24, 8, STAY, UP, 4 ; person - object SPRITE_CLEFAIRY, 31, 5, WALK, 0, 5 ; person - object SPRITE_BALL, 25, 6, STAY, NONE, 6 ; person - object SPRITE_SLOWBRO, 12, 6, WALK, 2, 7 ; person - object SPRITE_SLOWBRO, 30, 12, WALK, 2, 8 ; person + object SPRITE_FISHER, 30, 14, STAY, DOWN, 3 ; person + object SPRITE_YOUNGSTER, 24, 8, STAY, UP, 4 ; person + object SPRITE_FAIRY, 31, 5, WALK, 0, 5 ; person + object SPRITE_POKE_BALL, 25, 6, STAY, NONE, 6 ; person + object SPRITE_MONSTER, 12, 6, WALK, 2, 7 ; person + object SPRITE_MONSTER, 30, 12, WALK, 2, 8 ; person object SPRITE_SEEL, 8, 17, WALK, 0, 9 ; person - object SPRITE_OMANYTE, 6, 5, STAY, NONE, 10 ; person + object SPRITE_FOSSIL, 6, 5, STAY, NONE, 10 ; person ; warp-to warp_to 5, 13, FUCHSIA_CITY_WIDTH ; FUCHSIA_MART diff --git a/data/maps/objects/FuchsiaGoodRodHouse.asm b/data/maps/objects/FuchsiaGoodRodHouse.asm index fbb94117..b036171b 100755 --- a/data/maps/objects/FuchsiaGoodRodHouse.asm +++ b/data/maps/objects/FuchsiaGoodRodHouse.asm @@ -9,7 +9,7 @@ FuchsiaGoodRodHouse_Object: db 0 ; signs db 1 ; objects - object SPRITE_FISHER, 5, 3, STAY, RIGHT, 1 ; person + object SPRITE_FISHING_GURU, 5, 3, STAY, RIGHT, 1 ; person ; warp-to warp_to 2, 0, FUCHSIA_GOOD_ROD_HOUSE_WIDTH diff --git a/data/maps/objects/FuchsiaGym.asm b/data/maps/objects/FuchsiaGym.asm index 5558fa12..6687de41 100755 --- a/data/maps/objects/FuchsiaGym.asm +++ b/data/maps/objects/FuchsiaGym.asm @@ -8,14 +8,14 @@ FuchsiaGym_Object: db 0 ; signs db 8 ; objects - object SPRITE_BLACKBELT, 4, 10, STAY, DOWN, 1, OPP_KOGA, 1 + object SPRITE_KOGA, 4, 10, STAY, DOWN, 1, OPP_KOGA, 1 object SPRITE_ROCKER, 8, 13, STAY, DOWN, 2, OPP_JUGGLER, 7 object SPRITE_ROCKER, 7, 8, STAY, RIGHT, 3, OPP_JUGGLER, 3 object SPRITE_ROCKER, 1, 12, STAY, DOWN, 4, OPP_JUGGLER, 8 object SPRITE_ROCKER, 3, 5, STAY, UP, 5, OPP_TAMER, 1 object SPRITE_ROCKER, 8, 2, STAY, DOWN, 6, OPP_TAMER, 2 object SPRITE_ROCKER, 2, 7, STAY, LEFT, 7, OPP_JUGGLER, 4 - object SPRITE_GYM_HELPER, 7, 15, STAY, DOWN, 8 ; person + object SPRITE_GYM_GUIDE, 7, 15, STAY, DOWN, 8 ; person ; warp-to warp_to 4, 17, FUCHSIA_GYM_WIDTH diff --git a/data/maps/objects/FuchsiaMart.asm b/data/maps/objects/FuchsiaMart.asm index 83aae080..f9f7ad9c 100755 --- a/data/maps/objects/FuchsiaMart.asm +++ b/data/maps/objects/FuchsiaMart.asm @@ -8,9 +8,9 @@ FuchsiaMart_Object: db 0 ; signs db 3 ; objects - object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person - object SPRITE_FAT_BALD_GUY, 4, 2, STAY, NONE, 2 ; person - object SPRITE_LASS, 6, 5, WALK, 1, 3 ; person + object SPRITE_CLERK, 0, 5, STAY, RIGHT, 1 ; person + object SPRITE_MIDDLE_AGED_MAN, 4, 2, STAY, NONE, 2 ; person + object SPRITE_COOLTRAINER_F, 6, 5, WALK, 1, 3 ; person ; warp-to warp_to 3, 7, FUCHSIA_MART_WIDTH diff --git a/data/maps/objects/FuchsiaMeetingRoom.asm b/data/maps/objects/FuchsiaMeetingRoom.asm index be15088a..24c2c15e 100755 --- a/data/maps/objects/FuchsiaMeetingRoom.asm +++ b/data/maps/objects/FuchsiaMeetingRoom.asm @@ -8,9 +8,9 @@ FuchsiaMeetingRoom_Object: db 0 ; signs db 3 ; objects - object SPRITE_WHITE_PLAYER, 4, 1, STAY, DOWN, 1 ; person - object SPRITE_WHITE_PLAYER, 0, 2, STAY, UP, 2 ; person - object SPRITE_WHITE_PLAYER, 10, 1, STAY, DOWN, 3 ; person + object SPRITE_SAFARI_ZONE_WORKER, 4, 1, STAY, DOWN, 1 ; person + object SPRITE_SAFARI_ZONE_WORKER, 0, 2, STAY, UP, 2 ; person + object SPRITE_SAFARI_ZONE_WORKER, 10, 1, STAY, DOWN, 3 ; person ; warp-to warp_to 4, 7, FUCHSIA_MEETING_ROOM_WIDTH diff --git a/data/maps/objects/FuchsiaPokecenter.asm b/data/maps/objects/FuchsiaPokecenter.asm index 03eb657a..31f1cdc9 100755 --- a/data/maps/objects/FuchsiaPokecenter.asm +++ b/data/maps/objects/FuchsiaPokecenter.asm @@ -10,8 +10,8 @@ FuchsiaPokecenter_Object: db 4 ; objects object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person object SPRITE_ROCKER, 2, 3, STAY, NONE, 2 ; person - object SPRITE_LASS, 6, 5, WALK, 2, 3 ; person - object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person + object SPRITE_COOLTRAINER_F, 6, 5, WALK, 2, 3 ; person + object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person ; warp-to warp_to 3, 7, FUCHSIA_POKECENTER_WIDTH diff --git a/data/maps/objects/GameCorner.asm b/data/maps/objects/GameCorner.asm index c528f45f..dc7b6f00 100755 --- a/data/maps/objects/GameCorner.asm +++ b/data/maps/objects/GameCorner.asm @@ -10,15 +10,15 @@ GameCorner_Object: sign 9, 4, 12 ; CeladonGameCornerText12 db 11 ; objects - object SPRITE_FOULARD_WOMAN, 2, 6, STAY, DOWN, 1 ; person - object SPRITE_MART_GUY, 5, 6, STAY, DOWN, 2 ; person - object SPRITE_FAT_BALD_GUY, 2, 10, STAY, LEFT, 3 ; person - object SPRITE_FOULARD_WOMAN, 2, 13, STAY, LEFT, 4 ; person - object SPRITE_FISHER, 5, 11, STAY, RIGHT, 5 ; person - object SPRITE_MOM_GEISHA, 8, 11, STAY, LEFT, 6 ; person - object SPRITE_GYM_HELPER, 8, 14, STAY, LEFT, 7 ; person + object SPRITE_BEAUTY, 2, 6, STAY, DOWN, 1 ; person + object SPRITE_CLERK, 5, 6, STAY, DOWN, 2 ; person + object SPRITE_MIDDLE_AGED_MAN, 2, 10, STAY, LEFT, 3 ; person + object SPRITE_BEAUTY, 2, 13, STAY, LEFT, 4 ; person + object SPRITE_FISHING_GURU, 5, 11, STAY, RIGHT, 5 ; person + object SPRITE_MIDDLE_AGED_WOMAN, 8, 11, STAY, LEFT, 6 ; person + object SPRITE_GYM_GUIDE, 8, 14, STAY, LEFT, 7 ; person object SPRITE_GAMBLER, 11, 15, STAY, RIGHT, 8 ; person - object SPRITE_MART_GUY, 14, 11, STAY, LEFT, 9 ; person + object SPRITE_CLERK, 14, 11, STAY, LEFT, 9 ; person object SPRITE_GENTLEMAN, 17, 13, STAY, RIGHT, 10 ; person object SPRITE_ROCKET, 9, 5, STAY, UP, 11, OPP_ROCKET, 7 diff --git a/data/maps/objects/IndigoPlateauLobby.asm b/data/maps/objects/IndigoPlateauLobby.asm index e20563db..7bcb8a23 100755 --- a/data/maps/objects/IndigoPlateauLobby.asm +++ b/data/maps/objects/IndigoPlateauLobby.asm @@ -10,10 +10,10 @@ IndigoPlateauLobby_Object: db 5 ; objects object SPRITE_NURSE, 7, 5, STAY, DOWN, 1 ; person - object SPRITE_GYM_HELPER, 4, 9, STAY, RIGHT, 2 ; person - object SPRITE_LASS, 5, 1, STAY, DOWN, 3 ; person - object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 4 ; person - object SPRITE_CABLE_CLUB_WOMAN, 13, 6, STAY, DOWN, 5 ; person + object SPRITE_GYM_GUIDE, 4, 9, STAY, RIGHT, 2 ; person + object SPRITE_COOLTRAINER_F, 5, 1, STAY, DOWN, 3 ; person + object SPRITE_CLERK, 0, 5, STAY, RIGHT, 4 ; person + object SPRITE_LINK_RECEPTIONIST, 13, 6, STAY, DOWN, 5 ; person ; warp-to warp_to 7, 11, INDIGO_PLATEAU_LOBBY_WIDTH diff --git a/data/maps/objects/LavenderCuboneHouse.asm b/data/maps/objects/LavenderCuboneHouse.asm index 62cd8848..12761cd2 100755 --- a/data/maps/objects/LavenderCuboneHouse.asm +++ b/data/maps/objects/LavenderCuboneHouse.asm @@ -8,7 +8,7 @@ LavenderCuboneHouse_Object: db 0 ; signs db 2 ; objects - object SPRITE_SLOWBRO, 3, 5, STAY, UP, 1 ; person + object SPRITE_MONSTER, 3, 5, STAY, UP, 1 ; person object SPRITE_BRUNETTE_GIRL, 2, 4, STAY, RIGHT, 2 ; person ; warp-to diff --git a/data/maps/objects/LavenderMart.asm b/data/maps/objects/LavenderMart.asm index 788260f8..b11b8df5 100755 --- a/data/maps/objects/LavenderMart.asm +++ b/data/maps/objects/LavenderMart.asm @@ -8,9 +8,9 @@ LavenderMart_Object: db 0 ; signs db 3 ; objects - object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person + object SPRITE_CLERK, 0, 5, STAY, RIGHT, 1 ; person object SPRITE_BALDING_GUY, 3, 4, STAY, NONE, 2 ; person - object SPRITE_BLACK_HAIR_BOY_1, 7, 2, STAY, NONE, 3 ; person + object SPRITE_COOLTRAINER_M, 7, 2, STAY, NONE, 3 ; person ; warp-to warp_to 3, 7, LAVENDER_MART_WIDTH diff --git a/data/maps/objects/LavenderPokecenter.asm b/data/maps/objects/LavenderPokecenter.asm index 09a0b509..61d978b4 100755 --- a/data/maps/objects/LavenderPokecenter.asm +++ b/data/maps/objects/LavenderPokecenter.asm @@ -11,7 +11,7 @@ LavenderPokecenter_Object: object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person object SPRITE_GENTLEMAN, 5, 3, STAY, NONE, 2 ; person object SPRITE_LITTLE_GIRL, 2, 6, WALK, 1, 3 ; person - object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person + object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person ; warp-to warp_to 3, 7, LAVENDER_POKECENTER_WIDTH diff --git a/data/maps/objects/LavenderTown.asm b/data/maps/objects/LavenderTown.asm index 4aead666..3c7b2965 100755 --- a/data/maps/objects/LavenderTown.asm +++ b/data/maps/objects/LavenderTown.asm @@ -19,8 +19,8 @@ LavenderTown_Object: db 3 ; objects object SPRITE_LITTLE_GIRL, 15, 9, WALK, 0, 1 ; person - object SPRITE_BLACK_HAIR_BOY_1, 9, 10, STAY, NONE, 2 ; person - object SPRITE_BLACK_HAIR_BOY_2, 8, 7, WALK, 2, 3 ; person + object SPRITE_COOLTRAINER_M, 9, 10, STAY, NONE, 2 ; person + object SPRITE_SUPER_NERD, 8, 7, WALK, 2, 3 ; person ; warp-to warp_to 3, 5, LAVENDER_TOWN_WIDTH ; LAVENDER_POKECENTER diff --git a/data/maps/objects/MrFujisHouse.asm b/data/maps/objects/MrFujisHouse.asm index b06aa392..289d3a81 100755 --- a/data/maps/objects/MrFujisHouse.asm +++ b/data/maps/objects/MrFujisHouse.asm @@ -8,12 +8,12 @@ MrFujisHouse_Object: db 0 ; signs db 6 ; objects - object SPRITE_BLACK_HAIR_BOY_2, 3, 5, STAY, NONE, 1 ; person + object SPRITE_SUPER_NERD, 3, 5, STAY, NONE, 1 ; person object SPRITE_LITTLE_GIRL, 6, 3, STAY, DOWN, 2 ; person - object SPRITE_SLOWBRO, 6, 4, STAY, UP, 3 ; person - object SPRITE_SLOWBRO, 1, 3, STAY, NONE, 4 ; person + object SPRITE_MONSTER, 6, 4, STAY, UP, 3 ; person + object SPRITE_MONSTER, 1, 3, STAY, NONE, 4 ; person object SPRITE_MR_FUJI, 3, 1, STAY, NONE, 5 ; person - object SPRITE_BOOK_MAP_DEX, 3, 3, STAY, NONE, 6 ; person + object SPRITE_POKEDEX, 3, 3, STAY, NONE, 6 ; person ; warp-to warp_to 2, 7, MR_FUJIS_HOUSE_WIDTH diff --git a/data/maps/objects/MrPsychicsHouse.asm b/data/maps/objects/MrPsychicsHouse.asm index 33c9dc62..e5296682 100755 --- a/data/maps/objects/MrPsychicsHouse.asm +++ b/data/maps/objects/MrPsychicsHouse.asm @@ -8,7 +8,7 @@ MrPsychicsHouse_Object: db 0 ; signs db 1 ; objects - object SPRITE_FISHER, 5, 3, STAY, LEFT, 1 ; person + object SPRITE_FISHING_GURU, 5, 3, STAY, LEFT, 1 ; person ; warp-to warp_to 2, 7, MR_PSYCHICS_HOUSE_WIDTH diff --git a/data/maps/objects/MtMoon1F.asm b/data/maps/objects/MtMoon1F.asm index 16f931f4..b82ab9e0 100755 --- a/data/maps/objects/MtMoon1F.asm +++ b/data/maps/objects/MtMoon1F.asm @@ -13,18 +13,18 @@ MtMoon1F_Object: db 13 ; objects object SPRITE_HIKER, 5, 6, STAY, DOWN, 1, OPP_HIKER, 1 - object SPRITE_BUG_CATCHER, 12, 16, STAY, RIGHT, 2, OPP_YOUNGSTER, 3 - object SPRITE_LASS, 30, 4, STAY, DOWN, 3, OPP_LASS, 5 - object SPRITE_BLACK_HAIR_BOY_2, 24, 31, STAY, UP, 4, OPP_SUPER_NERD, 1 - object SPRITE_LASS, 16, 23, STAY, DOWN, 5, OPP_LASS, 6 - object SPRITE_BUG_CATCHER, 7, 22, STAY, DOWN, 6, OPP_BUG_CATCHER, 7 - object SPRITE_BUG_CATCHER, 30, 27, STAY, RIGHT, 7, OPP_BUG_CATCHER, 8 - object SPRITE_BALL, 2, 20, STAY, NONE, 8, POTION - object SPRITE_BALL, 2, 2, STAY, NONE, 9, MOON_STONE - object SPRITE_BALL, 35, 31, STAY, NONE, 10, RARE_CANDY - object SPRITE_BALL, 36, 23, STAY, NONE, 11, ESCAPE_ROPE - object SPRITE_BALL, 20, 33, STAY, NONE, 12, POTION - object SPRITE_BALL, 5, 32, STAY, NONE, 13, TM_WATER_GUN + object SPRITE_YOUNGSTER, 12, 16, STAY, RIGHT, 2, OPP_YOUNGSTER, 3 + object SPRITE_COOLTRAINER_F, 30, 4, STAY, DOWN, 3, OPP_LASS, 5 + object SPRITE_SUPER_NERD, 24, 31, STAY, UP, 4, OPP_SUPER_NERD, 1 + object SPRITE_COOLTRAINER_F, 16, 23, STAY, DOWN, 5, OPP_LASS, 6 + object SPRITE_YOUNGSTER, 7, 22, STAY, DOWN, 6, OPP_BUG_CATCHER, 7 + object SPRITE_YOUNGSTER, 30, 27, STAY, RIGHT, 7, OPP_BUG_CATCHER, 8 + object SPRITE_POKE_BALL, 2, 20, STAY, NONE, 8, POTION + object SPRITE_POKE_BALL, 2, 2, STAY, NONE, 9, MOON_STONE + object SPRITE_POKE_BALL, 35, 31, STAY, NONE, 10, RARE_CANDY + object SPRITE_POKE_BALL, 36, 23, STAY, NONE, 11, ESCAPE_ROPE + object SPRITE_POKE_BALL, 20, 33, STAY, NONE, 12, POTION + object SPRITE_POKE_BALL, 5, 32, STAY, NONE, 13, TM_WATER_GUN ; warp-to warp_to 14, 35, MT_MOON_1F_WIDTH diff --git a/data/maps/objects/MtMoonB2F.asm b/data/maps/objects/MtMoonB2F.asm index 6c90514d..0303406d 100755 --- a/data/maps/objects/MtMoonB2F.asm +++ b/data/maps/objects/MtMoonB2F.asm @@ -10,15 +10,15 @@ MtMoonB2F_Object: db 0 ; signs db 9 ; objects - object SPRITE_BLACK_HAIR_BOY_2, 12, 8, STAY, RIGHT, 1, OPP_SUPER_NERD, 2 + object SPRITE_SUPER_NERD, 12, 8, STAY, RIGHT, 1, OPP_SUPER_NERD, 2 object SPRITE_ROCKET, 11, 16, STAY, DOWN, 2, OPP_ROCKET, 1 object SPRITE_ROCKET, 15, 22, STAY, DOWN, 3, OPP_ROCKET, 2 object SPRITE_ROCKET, 29, 11, STAY, UP, 4, OPP_ROCKET, 3 object SPRITE_ROCKET, 29, 17, STAY, LEFT, 5, OPP_ROCKET, 4 - object SPRITE_OMANYTE, 12, 6, STAY, NONE, 6 ; person - object SPRITE_OMANYTE, 13, 6, STAY, NONE, 7 ; person - object SPRITE_BALL, 25, 21, STAY, NONE, 8, HP_UP - object SPRITE_BALL, 29, 5, STAY, NONE, 9, TM_MEGA_PUNCH + object SPRITE_FOSSIL, 12, 6, STAY, NONE, 6 ; person + object SPRITE_FOSSIL, 13, 6, STAY, NONE, 7 ; person + object SPRITE_POKE_BALL, 25, 21, STAY, NONE, 8, HP_UP + object SPRITE_POKE_BALL, 29, 5, STAY, NONE, 9, TM_MEGA_PUNCH ; warp-to warp_to 25, 9, MT_MOON_B2F_WIDTH ; MT_MOON_B1F diff --git a/data/maps/objects/MtMoonPokecenter.asm b/data/maps/objects/MtMoonPokecenter.asm index 5a33a235..55fc4d29 100755 --- a/data/maps/objects/MtMoonPokecenter.asm +++ b/data/maps/objects/MtMoonPokecenter.asm @@ -9,11 +9,11 @@ MtMoonPokecenter_Object: db 6 ; objects object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person - object SPRITE_BUG_CATCHER, 4, 3, STAY, UP, 2 ; person + object SPRITE_YOUNGSTER, 4, 3, STAY, UP, 2 ; person object SPRITE_GENTLEMAN, 7, 3, STAY, UP, 3 ; person - object SPRITE_FAT_BALD_GUY, 10, 6, WALK, 2, 4 ; person + object SPRITE_MIDDLE_AGED_MAN, 10, 6, WALK, 2, 4 ; person object SPRITE_CLIPBOARD, 7, 2, STAY, NONE, 5 ; person - object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 6 ; person + object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 6 ; person ; warp-to warp_to 3, 7, MT_MOON_POKECENTER_WIDTH diff --git a/data/maps/objects/Museum1F.asm b/data/maps/objects/Museum1F.asm index 207dfbf2..bc9ef031 100755 --- a/data/maps/objects/Museum1F.asm +++ b/data/maps/objects/Museum1F.asm @@ -11,10 +11,10 @@ Museum1F_Object: db 0 ; signs db 5 ; objects - object SPRITE_OAK_AIDE, 12, 4, STAY, LEFT, 1 ; person + object SPRITE_SCIENTIST, 12, 4, STAY, LEFT, 1 ; person object SPRITE_GAMBLER, 1, 4, STAY, NONE, 2 ; person - object SPRITE_OAK_AIDE, 15, 2, STAY, DOWN, 3 ; person - object SPRITE_OAK_AIDE, 17, 4, STAY, NONE, 4 ; person + object SPRITE_SCIENTIST, 15, 2, STAY, DOWN, 3 ; person + object SPRITE_SCIENTIST, 17, 4, STAY, NONE, 4 ; person object SPRITE_OLD_AMBER, 16, 2, STAY, NONE, 5 ; person ; warp-to diff --git a/data/maps/objects/Museum2F.asm b/data/maps/objects/Museum2F.asm index 80815820..a07fa944 100755 --- a/data/maps/objects/Museum2F.asm +++ b/data/maps/objects/Museum2F.asm @@ -9,9 +9,9 @@ Museum2F_Object: sign 2, 5, 7 ; Museum2FText7 db 5 ; objects - object SPRITE_BUG_CATCHER, 1, 7, WALK, 2, 1 ; person - object SPRITE_OLD_PERSON, 0, 5, STAY, DOWN, 2 ; person - object SPRITE_OAK_AIDE, 7, 5, STAY, DOWN, 3 ; person + object SPRITE_YOUNGSTER, 1, 7, WALK, 2, 1 ; person + object SPRITE_GRAMPS, 0, 5, STAY, DOWN, 2 ; person + object SPRITE_SCIENTIST, 7, 5, STAY, DOWN, 3 ; person object SPRITE_BRUNETTE_GIRL, 11, 5, STAY, NONE, 4 ; person object SPRITE_HIKER, 12, 5, STAY, DOWN, 5 ; person diff --git a/data/maps/objects/NameRatersHouse.asm b/data/maps/objects/NameRatersHouse.asm index 11187394..f95d179d 100755 --- a/data/maps/objects/NameRatersHouse.asm +++ b/data/maps/objects/NameRatersHouse.asm @@ -8,7 +8,7 @@ NameRatersHouse_Object: db 0 ; signs db 1 ; objects - object SPRITE_MR_MASTERBALL, 5, 3, STAY, LEFT, 1 ; person + object SPRITE_SILPH_PRESIDENT, 5, 3, STAY, LEFT, 1 ; person ; warp-to warp_to 2, 7, NAME_RATERS_HOUSE_WIDTH diff --git a/data/maps/objects/OaksLab.asm b/data/maps/objects/OaksLab.asm index 676683b4..168595c0 100755 --- a/data/maps/objects/OaksLab.asm +++ b/data/maps/objects/OaksLab.asm @@ -9,16 +9,16 @@ OaksLab_Object: db 11 ; objects object SPRITE_BLUE, 4, 3, STAY, NONE, 1, OPP_SONY1, 1 - object SPRITE_BALL, 6, 3, STAY, NONE, 2 ; person - object SPRITE_BALL, 7, 3, STAY, NONE, 3 ; person - object SPRITE_BALL, 8, 3, STAY, NONE, 4 ; person + object SPRITE_POKE_BALL, 6, 3, STAY, NONE, 2 ; person + object SPRITE_POKE_BALL, 7, 3, STAY, NONE, 3 ; person + object SPRITE_POKE_BALL, 8, 3, STAY, NONE, 4 ; person object SPRITE_OAK, 5, 2, STAY, DOWN, 5 ; person - object SPRITE_BOOK_MAP_DEX, 2, 1, STAY, NONE, 6 ; person - object SPRITE_BOOK_MAP_DEX, 3, 1, STAY, NONE, 7 ; person + object SPRITE_POKEDEX, 2, 1, STAY, NONE, 6 ; person + object SPRITE_POKEDEX, 3, 1, STAY, NONE, 7 ; person object SPRITE_OAK, 5, 10, STAY, UP, 8 ; person object SPRITE_GIRL, 1, 9, WALK, 1, 9 ; person - object SPRITE_OAK_AIDE, 2, 10, STAY, NONE, 10 ; person - object SPRITE_OAK_AIDE, 8, 10, STAY, NONE, 11 ; person + object SPRITE_SCIENTIST, 2, 10, STAY, NONE, 10 ; person + object SPRITE_SCIENTIST, 8, 10, STAY, NONE, 11 ; person ; warp-to warp_to 4, 11, OAKS_LAB_WIDTH diff --git a/data/maps/objects/PalletTown.asm b/data/maps/objects/PalletTown.asm index 68b01175..a385df65 100755 --- a/data/maps/objects/PalletTown.asm +++ b/data/maps/objects/PalletTown.asm @@ -15,7 +15,7 @@ PalletTown_Object: db 3 ; objects object SPRITE_OAK, 8, 5, STAY, NONE, 1 ; person object SPRITE_GIRL, 3, 8, WALK, 0, 2 ; person - object SPRITE_FISHER2, 11, 14, WALK, 0, 3 ; person + object SPRITE_FISHER, 11, 14, WALK, 0, 3 ; person ; warp-to warp_to 5, 5, PALLET_TOWN_WIDTH ; REDS_HOUSE_1F diff --git a/data/maps/objects/PewterCity.asm b/data/maps/objects/PewterCity.asm index e1a3eecb..4a0c25e0 100755 --- a/data/maps/objects/PewterCity.asm +++ b/data/maps/objects/PewterCity.asm @@ -20,11 +20,11 @@ PewterCity_Object: sign 25, 23, 12 ; PewterCityText12 db 5 ; objects - object SPRITE_LASS, 8, 15, STAY, NONE, 1 ; person - object SPRITE_BLACK_HAIR_BOY_1, 17, 25, STAY, NONE, 2 ; person - object SPRITE_BLACK_HAIR_BOY_2, 27, 17, STAY, NONE, 3 ; person - object SPRITE_BLACK_HAIR_BOY_2, 26, 25, WALK, 2, 4 ; person - object SPRITE_BUG_CATCHER, 35, 16, STAY, DOWN, 5 ; person + object SPRITE_COOLTRAINER_F, 8, 15, STAY, NONE, 1 ; person + object SPRITE_COOLTRAINER_M, 17, 25, STAY, NONE, 2 ; person + object SPRITE_SUPER_NERD, 27, 17, STAY, NONE, 3 ; person + object SPRITE_SUPER_NERD, 26, 25, WALK, 2, 4 ; person + object SPRITE_YOUNGSTER, 35, 16, STAY, DOWN, 5 ; person ; warp-to warp_to 14, 7, PEWTER_CITY_WIDTH ; MUSEUM_1F diff --git a/data/maps/objects/PewterGym.asm b/data/maps/objects/PewterGym.asm index 514ae416..adc8076e 100755 --- a/data/maps/objects/PewterGym.asm +++ b/data/maps/objects/PewterGym.asm @@ -8,9 +8,9 @@ PewterGym_Object: db 0 ; signs db 3 ; objects - object SPRITE_BLACK_HAIR_BOY_2, 4, 1, STAY, DOWN, 1, OPP_BROCK, 1 - object SPRITE_BLACK_HAIR_BOY_1, 3, 6, STAY, RIGHT, 2, OPP_JR_TRAINER_M, 1 - object SPRITE_GYM_HELPER, 7, 10, STAY, DOWN, 3 ; person + object SPRITE_SUPER_NERD, 4, 1, STAY, DOWN, 1, OPP_BROCK, 1 + object SPRITE_COOLTRAINER_M, 3, 6, STAY, RIGHT, 2, OPP_JR_TRAINER_M, 1 + object SPRITE_GYM_GUIDE, 7, 10, STAY, DOWN, 3 ; person ; warp-to warp_to 4, 13, PEWTER_GYM_WIDTH diff --git a/data/maps/objects/PewterMart.asm b/data/maps/objects/PewterMart.asm index 76616662..3c096825 100755 --- a/data/maps/objects/PewterMart.asm +++ b/data/maps/objects/PewterMart.asm @@ -8,9 +8,9 @@ PewterMart_Object: db 0 ; signs db 3 ; objects - object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person - object SPRITE_BUG_CATCHER, 3, 3, WALK, 1, 2 ; person - object SPRITE_BLACK_HAIR_BOY_2, 5, 5, STAY, NONE, 3 ; person + object SPRITE_CLERK, 0, 5, STAY, RIGHT, 1 ; person + object SPRITE_YOUNGSTER, 3, 3, WALK, 1, 2 ; person + object SPRITE_SUPER_NERD, 5, 5, STAY, NONE, 3 ; person ; warp-to warp_to 3, 7, PEWTER_MART_WIDTH diff --git a/data/maps/objects/PewterNidoranHouse.asm b/data/maps/objects/PewterNidoranHouse.asm index 26baa645..8d57ecae 100755 --- a/data/maps/objects/PewterNidoranHouse.asm +++ b/data/maps/objects/PewterNidoranHouse.asm @@ -8,9 +8,9 @@ PewterNidoranHouse_Object: db 0 ; signs db 3 ; objects - object SPRITE_SLOWBRO, 4, 5, STAY, LEFT, 1 ; person - object SPRITE_YOUNG_BOY, 3, 5, STAY, RIGHT, 2 ; person - object SPRITE_FAT_BALD_GUY, 1, 2, STAY, NONE, 3 ; person + object SPRITE_MONSTER, 4, 5, STAY, LEFT, 1 ; person + object SPRITE_LITTLE_BOY, 3, 5, STAY, RIGHT, 2 ; person + object SPRITE_MIDDLE_AGED_MAN, 1, 2, STAY, NONE, 3 ; person ; warp-to warp_to 2, 7, PEWTER_NIDORAN_HOUSE_WIDTH diff --git a/data/maps/objects/PewterPokecenter.asm b/data/maps/objects/PewterPokecenter.asm index 5cffa28c..4ecabf91 100755 --- a/data/maps/objects/PewterPokecenter.asm +++ b/data/maps/objects/PewterPokecenter.asm @@ -10,8 +10,8 @@ PewterPokecenter_Object: db 4 ; objects object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person object SPRITE_GENTLEMAN, 11, 7, STAY, LEFT, 2 ; person - object SPRITE_CLEFAIRY, 1, 3, STAY, DOWN, 3 ; person - object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person + object SPRITE_FAIRY, 1, 3, STAY, DOWN, 3 ; person + object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person ; warp-to warp_to 3, 7, PEWTER_POKECENTER_WIDTH diff --git a/data/maps/objects/PewterSpeechHouse.asm b/data/maps/objects/PewterSpeechHouse.asm index f3fa88b6..b1c91002 100755 --- a/data/maps/objects/PewterSpeechHouse.asm +++ b/data/maps/objects/PewterSpeechHouse.asm @@ -9,7 +9,7 @@ PewterSpeechHouse_Object: db 2 ; objects object SPRITE_GAMBLER, 2, 3, STAY, RIGHT, 1 ; person - object SPRITE_BUG_CATCHER, 4, 5, STAY, NONE, 2 ; person + object SPRITE_YOUNGSTER, 4, 5, STAY, NONE, 2 ; person ; warp-to warp_to 2, 7, PEWTER_SPEECH_HOUSE_WIDTH diff --git a/data/maps/objects/PokemonFanClub.asm b/data/maps/objects/PokemonFanClub.asm index 4de8e162..33d187bc 100755 --- a/data/maps/objects/PokemonFanClub.asm +++ b/data/maps/objects/PokemonFanClub.asm @@ -10,12 +10,12 @@ PokemonFanClub_Object: sign 6, 0, 8 ; FanClubText8 db 6 ; objects - object SPRITE_FISHER2, 6, 3, STAY, LEFT, 1 ; person + object SPRITE_FISHER, 6, 3, STAY, LEFT, 1 ; person object SPRITE_GIRL, 1, 3, STAY, RIGHT, 2 ; person - object SPRITE_CLEFAIRY, 6, 4, STAY, LEFT, 3 ; person + object SPRITE_FAIRY, 6, 4, STAY, LEFT, 3 ; person object SPRITE_SEEL, 1, 4, STAY, RIGHT, 4 ; person object SPRITE_GENTLEMAN, 3, 1, STAY, DOWN, 5 ; person - object SPRITE_CABLE_CLUB_WOMAN, 5, 1, STAY, DOWN, 6 ; person + object SPRITE_LINK_RECEPTIONIST, 5, 1, STAY, DOWN, 6 ; person ; warp-to warp_to 2, 7, POKEMON_FAN_CLUB_WIDTH diff --git a/data/maps/objects/PokemonMansion1F.asm b/data/maps/objects/PokemonMansion1F.asm index 5830cb28..7d89e914 100755 --- a/data/maps/objects/PokemonMansion1F.asm +++ b/data/maps/objects/PokemonMansion1F.asm @@ -14,9 +14,9 @@ PokemonMansion1F_Object: db 0 ; signs db 3 ; objects - object SPRITE_OAK_AIDE, 17, 17, STAY, LEFT, 1, OPP_SCIENTIST, 4 - object SPRITE_BALL, 14, 3, STAY, NONE, 2, ESCAPE_ROPE - object SPRITE_BALL, 18, 21, STAY, NONE, 3, CARBOS + object SPRITE_SCIENTIST, 17, 17, STAY, LEFT, 1, OPP_SCIENTIST, 4 + object SPRITE_POKE_BALL, 14, 3, STAY, NONE, 2, ESCAPE_ROPE + object SPRITE_POKE_BALL, 18, 21, STAY, NONE, 3, CARBOS ; warp-to warp_to 4, 27, POKEMON_MANSION_1F_WIDTH diff --git a/data/maps/objects/PokemonMansion2F.asm b/data/maps/objects/PokemonMansion2F.asm index 6c0cc5f8..1df7d282 100755 --- a/data/maps/objects/PokemonMansion2F.asm +++ b/data/maps/objects/PokemonMansion2F.asm @@ -10,10 +10,10 @@ PokemonMansion2F_Object: db 0 ; signs db 4 ; objects - object SPRITE_BLACK_HAIR_BOY_2, 3, 17, WALK, 2, 1, OPP_BURGLAR, 7 - object SPRITE_BALL, 28, 7, STAY, NONE, 2, CALCIUM - object SPRITE_BOOK_MAP_DEX, 18, 2, STAY, NONE, 3 ; person - object SPRITE_BOOK_MAP_DEX, 3, 22, STAY, NONE, 4 ; person + object SPRITE_SUPER_NERD, 3, 17, WALK, 2, 1, OPP_BURGLAR, 7 + object SPRITE_POKE_BALL, 28, 7, STAY, NONE, 2, CALCIUM + object SPRITE_POKEDEX, 18, 2, STAY, NONE, 3 ; person + object SPRITE_POKEDEX, 3, 22, STAY, NONE, 4 ; person ; warp-to warp_to 5, 10, POKEMON_MANSION_2F_WIDTH ; POKEMON_MANSION_1F diff --git a/data/maps/objects/PokemonMansion3F.asm b/data/maps/objects/PokemonMansion3F.asm index 7c8c9c22..fc0149c9 100755 --- a/data/maps/objects/PokemonMansion3F.asm +++ b/data/maps/objects/PokemonMansion3F.asm @@ -9,11 +9,11 @@ PokemonMansion3F_Object: db 0 ; signs db 5 ; objects - object SPRITE_BLACK_HAIR_BOY_2, 5, 11, WALK, 2, 1, OPP_BURGLAR, 8 - object SPRITE_OAK_AIDE, 20, 11, STAY, LEFT, 2, OPP_SCIENTIST, 12 - object SPRITE_BALL, 1, 16, STAY, NONE, 3, MAX_POTION - object SPRITE_BALL, 25, 5, STAY, NONE, 4, IRON - object SPRITE_BOOK_MAP_DEX, 6, 12, STAY, NONE, 5 ; person + object SPRITE_SUPER_NERD, 5, 11, WALK, 2, 1, OPP_BURGLAR, 8 + object SPRITE_SCIENTIST, 20, 11, STAY, LEFT, 2, OPP_SCIENTIST, 12 + object SPRITE_POKE_BALL, 1, 16, STAY, NONE, 3, MAX_POTION + object SPRITE_POKE_BALL, 25, 5, STAY, NONE, 4, IRON + object SPRITE_POKEDEX, 6, 12, STAY, NONE, 5 ; person ; warp-to warp_to 7, 10, POKEMON_MANSION_3F_WIDTH ; POKEMON_MANSION_2F diff --git a/data/maps/objects/PokemonMansionB1F.asm b/data/maps/objects/PokemonMansionB1F.asm index 1a6d6f32..0cb994ed 100755 --- a/data/maps/objects/PokemonMansionB1F.asm +++ b/data/maps/objects/PokemonMansionB1F.asm @@ -7,14 +7,14 @@ PokemonMansionB1F_Object: db 0 ; signs db 8 ; objects - object SPRITE_BLACK_HAIR_BOY_2, 16, 23, STAY, NONE, 1, OPP_BURGLAR, 9 - object SPRITE_OAK_AIDE, 27, 11, STAY, DOWN, 2, OPP_SCIENTIST, 13 - object SPRITE_BALL, 10, 2, STAY, NONE, 3, RARE_CANDY - object SPRITE_BALL, 1, 22, STAY, NONE, 4, FULL_RESTORE - object SPRITE_BALL, 19, 25, STAY, NONE, 5, TM_BLIZZARD - object SPRITE_BALL, 5, 4, STAY, NONE, 6, TM_SOLARBEAM - object SPRITE_BOOK_MAP_DEX, 16, 20, STAY, NONE, 7 ; person - object SPRITE_BALL, 5, 13, STAY, NONE, 8, SECRET_KEY + object SPRITE_SUPER_NERD, 16, 23, STAY, NONE, 1, OPP_BURGLAR, 9 + object SPRITE_SCIENTIST, 27, 11, STAY, DOWN, 2, OPP_SCIENTIST, 13 + object SPRITE_POKE_BALL, 10, 2, STAY, NONE, 3, RARE_CANDY + object SPRITE_POKE_BALL, 1, 22, STAY, NONE, 4, FULL_RESTORE + object SPRITE_POKE_BALL, 19, 25, STAY, NONE, 5, TM_BLIZZARD + object SPRITE_POKE_BALL, 5, 4, STAY, NONE, 6, TM_SOLARBEAM + object SPRITE_POKEDEX, 16, 20, STAY, NONE, 7 ; person + object SPRITE_POKE_BALL, 5, 13, STAY, NONE, 8, SECRET_KEY ; warp-to warp_to 23, 22, POKEMON_MANSION_B1F_WIDTH ; POKEMON_MANSION_1F diff --git a/data/maps/objects/PokemonTower1F.asm b/data/maps/objects/PokemonTower1F.asm index f92969e1..a9d48594 100755 --- a/data/maps/objects/PokemonTower1F.asm +++ b/data/maps/objects/PokemonTower1F.asm @@ -9,11 +9,11 @@ PokemonTower1F_Object: db 0 ; signs db 5 ; objects - object SPRITE_CABLE_CLUB_WOMAN, 15, 13, STAY, UP, 1 ; person - object SPRITE_MOM_GEISHA, 6, 8, STAY, NONE, 2 ; person + object SPRITE_LINK_RECEPTIONIST, 15, 13, STAY, UP, 1 ; person + object SPRITE_MIDDLE_AGED_WOMAN, 6, 8, STAY, NONE, 2 ; person object SPRITE_BALDING_GUY, 8, 12, STAY, NONE, 3 ; person object SPRITE_GIRL, 13, 7, STAY, NONE, 4 ; person - object SPRITE_MEDIUM, 17, 7, STAY, LEFT, 5 ; person + object SPRITE_CHANNELER, 17, 7, STAY, LEFT, 5 ; person ; warp-to warp_to 10, 17, POKEMON_TOWER_1F_WIDTH diff --git a/data/maps/objects/PokemonTower2F.asm b/data/maps/objects/PokemonTower2F.asm index 5ce437d1..2b52c1ba 100755 --- a/data/maps/objects/PokemonTower2F.asm +++ b/data/maps/objects/PokemonTower2F.asm @@ -9,7 +9,7 @@ PokemonTower2F_Object: db 2 ; objects object SPRITE_BLUE, 14, 5, STAY, NONE, 1 ; person - object SPRITE_MEDIUM, 3, 7, STAY, RIGHT, 2 ; person + object SPRITE_CHANNELER, 3, 7, STAY, RIGHT, 2 ; person ; warp-to warp_to 3, 9, POKEMON_TOWER_2F_WIDTH ; POKEMON_TOWER_3F diff --git a/data/maps/objects/PokemonTower3F.asm b/data/maps/objects/PokemonTower3F.asm index 79b83f88..21322813 100755 --- a/data/maps/objects/PokemonTower3F.asm +++ b/data/maps/objects/PokemonTower3F.asm @@ -8,10 +8,10 @@ PokemonTower3F_Object: db 0 ; signs db 4 ; objects - object SPRITE_MEDIUM, 12, 3, STAY, LEFT, 1, OPP_CHANNELER, 5 - object SPRITE_MEDIUM, 9, 8, STAY, DOWN, 2, OPP_CHANNELER, 6 - object SPRITE_MEDIUM, 10, 13, STAY, DOWN, 3, OPP_CHANNELER, 8 - object SPRITE_BALL, 12, 1, STAY, NONE, 4, ESCAPE_ROPE + object SPRITE_CHANNELER, 12, 3, STAY, LEFT, 1, OPP_CHANNELER, 5 + object SPRITE_CHANNELER, 9, 8, STAY, DOWN, 2, OPP_CHANNELER, 6 + object SPRITE_CHANNELER, 10, 13, STAY, DOWN, 3, OPP_CHANNELER, 8 + object SPRITE_POKE_BALL, 12, 1, STAY, NONE, 4, ESCAPE_ROPE ; warp-to warp_to 3, 9, POKEMON_TOWER_3F_WIDTH ; POKEMON_TOWER_2F diff --git a/data/maps/objects/PokemonTower4F.asm b/data/maps/objects/PokemonTower4F.asm index db86c02c..25ef7cb1 100755 --- a/data/maps/objects/PokemonTower4F.asm +++ b/data/maps/objects/PokemonTower4F.asm @@ -8,12 +8,12 @@ PokemonTower4F_Object: db 0 ; signs db 6 ; objects - object SPRITE_MEDIUM, 5, 10, STAY, RIGHT, 1, OPP_CHANNELER, 9 - object SPRITE_MEDIUM, 15, 7, STAY, DOWN, 2, OPP_CHANNELER, 10 - object SPRITE_MEDIUM, 14, 12, STAY, LEFT, 3, OPP_CHANNELER, 12 - object SPRITE_BALL, 12, 10, STAY, NONE, 4, ELIXER - object SPRITE_BALL, 9, 10, STAY, NONE, 5, AWAKENING - object SPRITE_BALL, 12, 16, STAY, NONE, 6, HP_UP + object SPRITE_CHANNELER, 5, 10, STAY, RIGHT, 1, OPP_CHANNELER, 9 + object SPRITE_CHANNELER, 15, 7, STAY, DOWN, 2, OPP_CHANNELER, 10 + object SPRITE_CHANNELER, 14, 12, STAY, LEFT, 3, OPP_CHANNELER, 12 + object SPRITE_POKE_BALL, 12, 10, STAY, NONE, 4, ELIXER + object SPRITE_POKE_BALL, 9, 10, STAY, NONE, 5, AWAKENING + object SPRITE_POKE_BALL, 12, 16, STAY, NONE, 6, HP_UP ; warp-to warp_to 3, 9, POKEMON_TOWER_4F_WIDTH ; POKEMON_TOWER_5F diff --git a/data/maps/objects/PokemonTower5F.asm b/data/maps/objects/PokemonTower5F.asm index b482871f..4dc7d13b 100755 --- a/data/maps/objects/PokemonTower5F.asm +++ b/data/maps/objects/PokemonTower5F.asm @@ -8,12 +8,12 @@ PokemonTower5F_Object: db 0 ; signs db 6 ; objects - object SPRITE_MEDIUM, 12, 8, STAY, NONE, 1 ; person - object SPRITE_MEDIUM, 17, 7, STAY, LEFT, 2, OPP_CHANNELER, 14 - object SPRITE_MEDIUM, 14, 3, STAY, LEFT, 3, OPP_CHANNELER, 16 - object SPRITE_MEDIUM, 6, 10, STAY, RIGHT, 4, OPP_CHANNELER, 17 - object SPRITE_MEDIUM, 9, 16, STAY, RIGHT, 5, OPP_CHANNELER, 18 - object SPRITE_BALL, 6, 14, STAY, NONE, 6, NUGGET + object SPRITE_CHANNELER, 12, 8, STAY, NONE, 1 ; person + object SPRITE_CHANNELER, 17, 7, STAY, LEFT, 2, OPP_CHANNELER, 14 + object SPRITE_CHANNELER, 14, 3, STAY, LEFT, 3, OPP_CHANNELER, 16 + object SPRITE_CHANNELER, 6, 10, STAY, RIGHT, 4, OPP_CHANNELER, 17 + object SPRITE_CHANNELER, 9, 16, STAY, RIGHT, 5, OPP_CHANNELER, 18 + object SPRITE_POKE_BALL, 6, 14, STAY, NONE, 6, NUGGET ; warp-to warp_to 3, 9, POKEMON_TOWER_5F_WIDTH ; POKEMON_TOWER_4F diff --git a/data/maps/objects/PokemonTower6F.asm b/data/maps/objects/PokemonTower6F.asm index 823fe78a..361e4e86 100755 --- a/data/maps/objects/PokemonTower6F.asm +++ b/data/maps/objects/PokemonTower6F.asm @@ -8,11 +8,11 @@ PokemonTower6F_Object: db 0 ; signs db 5 ; objects - object SPRITE_MEDIUM, 12, 10, STAY, RIGHT, 1, OPP_CHANNELER, 19 - object SPRITE_MEDIUM, 9, 5, STAY, DOWN, 2, OPP_CHANNELER, 20 - object SPRITE_MEDIUM, 16, 5, STAY, LEFT, 3, OPP_CHANNELER, 21 - object SPRITE_BALL, 6, 8, STAY, NONE, 4, RARE_CANDY - object SPRITE_BALL, 14, 14, STAY, NONE, 5, X_ACCURACY + object SPRITE_CHANNELER, 12, 10, STAY, RIGHT, 1, OPP_CHANNELER, 19 + object SPRITE_CHANNELER, 9, 5, STAY, DOWN, 2, OPP_CHANNELER, 20 + object SPRITE_CHANNELER, 16, 5, STAY, LEFT, 3, OPP_CHANNELER, 21 + object SPRITE_POKE_BALL, 6, 8, STAY, NONE, 4, RARE_CANDY + object SPRITE_POKE_BALL, 14, 14, STAY, NONE, 5, X_ACCURACY ; warp-to warp_to 18, 9, POKEMON_TOWER_6F_WIDTH ; POKEMON_TOWER_5F diff --git a/data/maps/objects/PowerPlant.asm b/data/maps/objects/PowerPlant.asm index 646652d6..f9261140 100755 --- a/data/maps/objects/PowerPlant.asm +++ b/data/maps/objects/PowerPlant.asm @@ -9,20 +9,20 @@ PowerPlant_Object: db 0 ; signs db 14 ; objects - object SPRITE_BALL, 9, 20, STAY, NONE, 1, VOLTORB, 40 - object SPRITE_BALL, 32, 18, STAY, NONE, 2, VOLTORB, 40 - object SPRITE_BALL, 21, 25, STAY, NONE, 3, VOLTORB, 40 - object SPRITE_BALL, 25, 18, STAY, NONE, 4, ELECTRODE, 43 - object SPRITE_BALL, 23, 34, STAY, NONE, 5, VOLTORB, 40 - object SPRITE_BALL, 26, 28, STAY, NONE, 6, VOLTORB, 40 - object SPRITE_BALL, 21, 14, STAY, NONE, 7, ELECTRODE, 43 - object SPRITE_BALL, 37, 32, STAY, NONE, 8, VOLTORB, 40 + object SPRITE_POKE_BALL, 9, 20, STAY, NONE, 1, VOLTORB, 40 + object SPRITE_POKE_BALL, 32, 18, STAY, NONE, 2, VOLTORB, 40 + object SPRITE_POKE_BALL, 21, 25, STAY, NONE, 3, VOLTORB, 40 + object SPRITE_POKE_BALL, 25, 18, STAY, NONE, 4, ELECTRODE, 43 + object SPRITE_POKE_BALL, 23, 34, STAY, NONE, 5, VOLTORB, 40 + object SPRITE_POKE_BALL, 26, 28, STAY, NONE, 6, VOLTORB, 40 + object SPRITE_POKE_BALL, 21, 14, STAY, NONE, 7, ELECTRODE, 43 + object SPRITE_POKE_BALL, 37, 32, STAY, NONE, 8, VOLTORB, 40 object SPRITE_BIRD, 4, 9, STAY, UP, 9, ZAPDOS, 50 - object SPRITE_BALL, 7, 25, STAY, NONE, 10, CARBOS - object SPRITE_BALL, 28, 3, STAY, NONE, 11, HP_UP - object SPRITE_BALL, 34, 3, STAY, NONE, 12, RARE_CANDY - object SPRITE_BALL, 26, 32, STAY, NONE, 13, TM_THUNDER - object SPRITE_BALL, 20, 32, STAY, NONE, 14, TM_REFLECT + object SPRITE_POKE_BALL, 7, 25, STAY, NONE, 10, CARBOS + object SPRITE_POKE_BALL, 28, 3, STAY, NONE, 11, HP_UP + object SPRITE_POKE_BALL, 34, 3, STAY, NONE, 12, RARE_CANDY + object SPRITE_POKE_BALL, 26, 32, STAY, NONE, 13, TM_THUNDER + object SPRITE_POKE_BALL, 20, 32, STAY, NONE, 14, TM_REFLECT ; warp-to warp_to 4, 35, POWER_PLANT_WIDTH diff --git a/data/maps/objects/RockTunnel1F.asm b/data/maps/objects/RockTunnel1F.asm index 11400eaa..21186cde 100755 --- a/data/maps/objects/RockTunnel1F.asm +++ b/data/maps/objects/RockTunnel1F.asm @@ -18,10 +18,10 @@ RockTunnel1F_Object: object SPRITE_HIKER, 7, 5, STAY, DOWN, 1, OPP_HIKER, 12 object SPRITE_HIKER, 5, 16, STAY, DOWN, 2, OPP_HIKER, 13 object SPRITE_HIKER, 17, 15, STAY, LEFT, 3, OPP_HIKER, 14 - object SPRITE_BLACK_HAIR_BOY_2, 23, 8, STAY, LEFT, 4, OPP_POKEMANIAC, 7 - object SPRITE_LASS, 37, 21, STAY, LEFT, 5, OPP_JR_TRAINER_F, 17 - object SPRITE_LASS, 22, 24, STAY, DOWN, 6, OPP_JR_TRAINER_F, 18 - object SPRITE_LASS, 32, 24, STAY, RIGHT, 7, OPP_JR_TRAINER_F, 19 + object SPRITE_SUPER_NERD, 23, 8, STAY, LEFT, 4, OPP_POKEMANIAC, 7 + object SPRITE_COOLTRAINER_F, 37, 21, STAY, LEFT, 5, OPP_JR_TRAINER_F, 17 + object SPRITE_COOLTRAINER_F, 22, 24, STAY, DOWN, 6, OPP_JR_TRAINER_F, 18 + object SPRITE_COOLTRAINER_F, 32, 24, STAY, RIGHT, 7, OPP_JR_TRAINER_F, 19 ; warp-to warp_to 15, 3, ROCK_TUNNEL_1F_WIDTH diff --git a/data/maps/objects/RockTunnelB1F.asm b/data/maps/objects/RockTunnelB1F.asm index f562168e..95b237f5 100755 --- a/data/maps/objects/RockTunnelB1F.asm +++ b/data/maps/objects/RockTunnelB1F.asm @@ -10,14 +10,14 @@ RockTunnelB1F_Object: db 0 ; signs db 8 ; objects - object SPRITE_LASS, 11, 13, STAY, DOWN, 1, OPP_JR_TRAINER_F, 9 + object SPRITE_COOLTRAINER_F, 11, 13, STAY, DOWN, 1, OPP_JR_TRAINER_F, 9 object SPRITE_HIKER, 6, 10, STAY, DOWN, 2, OPP_HIKER, 9 - object SPRITE_BLACK_HAIR_BOY_2, 3, 5, STAY, DOWN, 3, OPP_POKEMANIAC, 3 - object SPRITE_BLACK_HAIR_BOY_2, 20, 21, STAY, RIGHT, 4, OPP_POKEMANIAC, 4 + object SPRITE_SUPER_NERD, 3, 5, STAY, DOWN, 3, OPP_POKEMANIAC, 3 + object SPRITE_SUPER_NERD, 20, 21, STAY, RIGHT, 4, OPP_POKEMANIAC, 4 object SPRITE_HIKER, 30, 10, STAY, DOWN, 5, OPP_HIKER, 10 - object SPRITE_LASS, 14, 28, STAY, RIGHT, 6, OPP_JR_TRAINER_F, 10 + object SPRITE_COOLTRAINER_F, 14, 28, STAY, RIGHT, 6, OPP_JR_TRAINER_F, 10 object SPRITE_HIKER, 33, 5, STAY, RIGHT, 7, OPP_HIKER, 11 - object SPRITE_BLACK_HAIR_BOY_2, 26, 30, STAY, DOWN, 8, OPP_POKEMANIAC, 5 + object SPRITE_SUPER_NERD, 26, 30, STAY, DOWN, 8, OPP_POKEMANIAC, 5 ; warp-to warp_to 33, 25, ROCK_TUNNEL_B1F_WIDTH ; ROCK_TUNNEL_1F diff --git a/data/maps/objects/RockTunnelPokecenter.asm b/data/maps/objects/RockTunnelPokecenter.asm index 87ddf1b4..a0527467 100755 --- a/data/maps/objects/RockTunnelPokecenter.asm +++ b/data/maps/objects/RockTunnelPokecenter.asm @@ -10,8 +10,8 @@ RockTunnelPokecenter_Object: db 4 ; objects object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person object SPRITE_GENTLEMAN, 7, 3, WALK, 2, 2 ; person - object SPRITE_FISHER2, 2, 5, STAY, NONE, 3 ; person - object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person + object SPRITE_FISHER, 2, 5, STAY, NONE, 3 ; person + object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person ; warp-to warp_to 3, 7, ROCK_TUNNEL_POKECENTER_WIDTH diff --git a/data/maps/objects/RocketHideoutB1F.asm b/data/maps/objects/RocketHideoutB1F.asm index 99537510..9de04769 100755 --- a/data/maps/objects/RocketHideoutB1F.asm +++ b/data/maps/objects/RocketHideoutB1F.asm @@ -16,8 +16,8 @@ RocketHideoutB1F_Object: object SPRITE_ROCKET, 18, 17, STAY, DOWN, 3, OPP_ROCKET, 10 object SPRITE_ROCKET, 15, 25, STAY, RIGHT, 4, OPP_ROCKET, 11 object SPRITE_ROCKET, 28, 18, STAY, LEFT, 5, OPP_ROCKET, 12 - object SPRITE_BALL, 11, 14, STAY, NONE, 6, ESCAPE_ROPE - object SPRITE_BALL, 9, 17, STAY, NONE, 7, HYPER_POTION + object SPRITE_POKE_BALL, 11, 14, STAY, NONE, 6, ESCAPE_ROPE + object SPRITE_POKE_BALL, 9, 17, STAY, NONE, 7, HYPER_POTION ; warp-to warp_to 23, 2, ROCKET_HIDEOUT_B1F_WIDTH ; ROCKET_HIDEOUT_B2F diff --git a/data/maps/objects/RocketHideoutB2F.asm b/data/maps/objects/RocketHideoutB2F.asm index b0836736..ee4f81cd 100755 --- a/data/maps/objects/RocketHideoutB2F.asm +++ b/data/maps/objects/RocketHideoutB2F.asm @@ -12,10 +12,10 @@ RocketHideoutB2F_Object: db 5 ; objects object SPRITE_ROCKET, 20, 12, STAY, DOWN, 1, OPP_ROCKET, 13 - object SPRITE_BALL, 1, 11, STAY, NONE, 2, MOON_STONE - object SPRITE_BALL, 16, 8, STAY, NONE, 3, NUGGET - object SPRITE_BALL, 6, 12, STAY, NONE, 4, TM_HORN_DRILL - object SPRITE_BALL, 3, 21, STAY, NONE, 5, SUPER_POTION + object SPRITE_POKE_BALL, 1, 11, STAY, NONE, 2, MOON_STONE + object SPRITE_POKE_BALL, 16, 8, STAY, NONE, 3, NUGGET + object SPRITE_POKE_BALL, 6, 12, STAY, NONE, 4, TM_HORN_DRILL + object SPRITE_POKE_BALL, 3, 21, STAY, NONE, 5, SUPER_POTION ; warp-to warp_to 27, 8, ROCKET_HIDEOUT_B2F_WIDTH ; ROCKET_HIDEOUT_B1F diff --git a/data/maps/objects/RocketHideoutB3F.asm b/data/maps/objects/RocketHideoutB3F.asm index 86ab03fe..2b0d7e5a 100755 --- a/data/maps/objects/RocketHideoutB3F.asm +++ b/data/maps/objects/RocketHideoutB3F.asm @@ -10,8 +10,8 @@ RocketHideoutB3F_Object: db 4 ; objects object SPRITE_ROCKET, 10, 22, STAY, RIGHT, 1, OPP_ROCKET, 14 object SPRITE_ROCKET, 26, 12, STAY, UP, 2, OPP_ROCKET, 15 - object SPRITE_BALL, 26, 17, STAY, NONE, 3, TM_DOUBLE_EDGE - object SPRITE_BALL, 20, 14, STAY, NONE, 4, RARE_CANDY + object SPRITE_POKE_BALL, 26, 17, STAY, NONE, 3, TM_DOUBLE_EDGE + object SPRITE_POKE_BALL, 20, 14, STAY, NONE, 4, RARE_CANDY ; warp-to warp_to 25, 6, ROCKET_HIDEOUT_B3F_WIDTH ; ROCKET_HIDEOUT_B2F diff --git a/data/maps/objects/RocketHideoutB4F.asm b/data/maps/objects/RocketHideoutB4F.asm index 9ca7aeed..1f095595 100755 --- a/data/maps/objects/RocketHideoutB4F.asm +++ b/data/maps/objects/RocketHideoutB4F.asm @@ -13,11 +13,11 @@ RocketHideoutB4F_Object: object SPRITE_ROCKET, 23, 12, STAY, DOWN, 2, OPP_ROCKET, 16 object SPRITE_ROCKET, 26, 12, STAY, DOWN, 3, OPP_ROCKET, 17 object SPRITE_ROCKET, 11, 2, STAY, DOWN, 4, OPP_ROCKET, 18 - object SPRITE_BALL, 10, 12, STAY, NONE, 5, HP_UP - object SPRITE_BALL, 9, 4, STAY, NONE, 6, TM_RAZOR_WIND - object SPRITE_BALL, 12, 20, STAY, NONE, 7, IRON - object SPRITE_BALL, 25, 2, STAY, NONE, 8, SILPH_SCOPE - object SPRITE_BALL, 10, 2, STAY, NONE, 9, LIFT_KEY + object SPRITE_POKE_BALL, 10, 12, STAY, NONE, 5, HP_UP + object SPRITE_POKE_BALL, 9, 4, STAY, NONE, 6, TM_RAZOR_WIND + object SPRITE_POKE_BALL, 12, 20, STAY, NONE, 7, IRON + object SPRITE_POKE_BALL, 25, 2, STAY, NONE, 8, SILPH_SCOPE + object SPRITE_POKE_BALL, 10, 2, STAY, NONE, 9, LIFT_KEY ; warp-to warp_to 19, 10, ROCKET_HIDEOUT_B4F_WIDTH ; ROCKET_HIDEOUT_B3F diff --git a/data/maps/objects/Route1.asm b/data/maps/objects/Route1.asm index 0815fe67..7d0de139 100755 --- a/data/maps/objects/Route1.asm +++ b/data/maps/objects/Route1.asm @@ -7,8 +7,8 @@ Route1_Object: sign 9, 27, 3 ; Route1Text3 db 2 ; objects - object SPRITE_BUG_CATCHER, 5, 24, WALK, 1, 1 ; person - object SPRITE_BUG_CATCHER, 15, 13, WALK, 2, 2 ; person + object SPRITE_YOUNGSTER, 5, 24, WALK, 1, 1 ; person + object SPRITE_YOUNGSTER, 15, 13, WALK, 2, 2 ; person ; warp-to (unused) warp_to 2, 7, 4 diff --git a/data/maps/objects/Route10.asm b/data/maps/objects/Route10.asm index 12850577..a9c3a188 100755 --- a/data/maps/objects/Route10.asm +++ b/data/maps/objects/Route10.asm @@ -14,12 +14,12 @@ Route10_Object: sign 5, 41, 10 ; Route10Text10 db 6 ; objects - object SPRITE_BLACK_HAIR_BOY_2, 10, 44, STAY, LEFT, 1, OPP_POKEMANIAC, 1 + object SPRITE_SUPER_NERD, 10, 44, STAY, LEFT, 1, OPP_POKEMANIAC, 1 object SPRITE_HIKER, 3, 57, STAY, UP, 2, OPP_HIKER, 7 - object SPRITE_BLACK_HAIR_BOY_2, 14, 64, STAY, LEFT, 3, OPP_POKEMANIAC, 2 - object SPRITE_LASS, 7, 25, STAY, LEFT, 4, OPP_JR_TRAINER_F, 7 + object SPRITE_SUPER_NERD, 14, 64, STAY, LEFT, 3, OPP_POKEMANIAC, 2 + object SPRITE_COOLTRAINER_F, 7, 25, STAY, LEFT, 4, OPP_JR_TRAINER_F, 7 object SPRITE_HIKER, 3, 61, STAY, DOWN, 5, OPP_HIKER, 8 - object SPRITE_LASS, 7, 54, STAY, DOWN, 6, OPP_JR_TRAINER_F, 8 + object SPRITE_COOLTRAINER_F, 7, 54, STAY, DOWN, 6, OPP_JR_TRAINER_F, 8 ; warp-to warp_to 11, 19, ROUTE_10_WIDTH ; ROCK_TUNNEL_POKECENTER diff --git a/data/maps/objects/Route11.asm b/data/maps/objects/Route11.asm index 5ed232f5..6f7241cf 100755 --- a/data/maps/objects/Route11.asm +++ b/data/maps/objects/Route11.asm @@ -14,14 +14,14 @@ Route11_Object: db 10 ; objects object SPRITE_GAMBLER, 10, 14, STAY, DOWN, 1, OPP_GAMBLER, 1 object SPRITE_GAMBLER, 26, 9, STAY, DOWN, 2, OPP_GAMBLER, 2 - object SPRITE_BUG_CATCHER, 13, 5, STAY, LEFT, 3, OPP_YOUNGSTER, 9 - object SPRITE_BLACK_HAIR_BOY_2, 36, 11, STAY, DOWN, 4, OPP_ENGINEER, 2 - object SPRITE_BUG_CATCHER, 22, 4, STAY, UP, 5, OPP_YOUNGSTER, 10 + object SPRITE_YOUNGSTER, 13, 5, STAY, LEFT, 3, OPP_YOUNGSTER, 9 + object SPRITE_SUPER_NERD, 36, 11, STAY, DOWN, 4, OPP_ENGINEER, 2 + object SPRITE_YOUNGSTER, 22, 4, STAY, UP, 5, OPP_YOUNGSTER, 10 object SPRITE_GAMBLER, 45, 7, STAY, DOWN, 6, OPP_GAMBLER, 3 object SPRITE_GAMBLER, 33, 3, STAY, UP, 7, OPP_GAMBLER, 4 - object SPRITE_BUG_CATCHER, 43, 5, STAY, RIGHT, 8, OPP_YOUNGSTER, 11 - object SPRITE_BLACK_HAIR_BOY_2, 45, 16, STAY, LEFT, 9, OPP_ENGINEER, 3 - object SPRITE_BUG_CATCHER, 22, 12, STAY, UP, 10, OPP_YOUNGSTER, 12 + object SPRITE_YOUNGSTER, 43, 5, STAY, RIGHT, 8, OPP_YOUNGSTER, 11 + object SPRITE_SUPER_NERD, 45, 16, STAY, LEFT, 9, OPP_ENGINEER, 3 + object SPRITE_YOUNGSTER, 22, 12, STAY, UP, 10, OPP_YOUNGSTER, 12 ; warp-to warp_to 49, 8, ROUTE_11_WIDTH ; ROUTE_11_GATE_1F diff --git a/data/maps/objects/Route11Gate2F.asm b/data/maps/objects/Route11Gate2F.asm index bf305bba..3730bae0 100755 --- a/data/maps/objects/Route11Gate2F.asm +++ b/data/maps/objects/Route11Gate2F.asm @@ -9,8 +9,8 @@ Route11Gate2F_Object: sign 6, 2, 4 ; Route11GateUpstairsText4 db 2 ; objects - object SPRITE_BUG_CATCHER, 4, 2, WALK, 2, 1 ; person - object SPRITE_OAK_AIDE, 2, 6, STAY, NONE, 2 ; person + object SPRITE_YOUNGSTER, 4, 2, WALK, 2, 1 ; person + object SPRITE_SCIENTIST, 2, 6, STAY, NONE, 2 ; person ; warp-to warp_to 7, 7, ROUTE_11_GATE_2F_WIDTH ; ROUTE_11_GATE_1F diff --git a/data/maps/objects/Route12.asm b/data/maps/objects/Route12.asm index 6cce9529..212b05c8 100755 --- a/data/maps/objects/Route12.asm +++ b/data/maps/objects/Route12.asm @@ -13,15 +13,15 @@ Route12_Object: db 10 ; objects object SPRITE_SNORLAX, 10, 62, STAY, DOWN, 1 ; person - object SPRITE_FISHER2, 14, 31, STAY, LEFT, 2, OPP_FISHER, 3 - object SPRITE_FISHER2, 5, 39, STAY, UP, 3, OPP_FISHER, 4 - object SPRITE_BLACK_HAIR_BOY_1, 11, 92, STAY, LEFT, 4, OPP_JR_TRAINER_M, 9 - object SPRITE_BLACK_HAIR_BOY_2, 14, 76, STAY, UP, 5, OPP_ROCKER, 2 - object SPRITE_FISHER2, 12, 40, STAY, LEFT, 6, OPP_FISHER, 5 - object SPRITE_FISHER2, 9, 52, STAY, RIGHT, 7, OPP_FISHER, 6 - object SPRITE_FISHER2, 6, 87, STAY, DOWN, 8, OPP_FISHER, 11 - object SPRITE_BALL, 14, 35, STAY, NONE, 9, TM_PAY_DAY - object SPRITE_BALL, 5, 89, STAY, NONE, 10, IRON + object SPRITE_FISHER, 14, 31, STAY, LEFT, 2, OPP_FISHER, 3 + object SPRITE_FISHER, 5, 39, STAY, UP, 3, OPP_FISHER, 4 + object SPRITE_COOLTRAINER_M, 11, 92, STAY, LEFT, 4, OPP_JR_TRAINER_M, 9 + object SPRITE_SUPER_NERD, 14, 76, STAY, UP, 5, OPP_ROCKER, 2 + object SPRITE_FISHER, 12, 40, STAY, LEFT, 6, OPP_FISHER, 5 + object SPRITE_FISHER, 9, 52, STAY, RIGHT, 7, OPP_FISHER, 6 + object SPRITE_FISHER, 6, 87, STAY, DOWN, 8, OPP_FISHER, 11 + object SPRITE_POKE_BALL, 14, 35, STAY, NONE, 9, TM_PAY_DAY + object SPRITE_POKE_BALL, 5, 89, STAY, NONE, 10, IRON ; warp-to warp_to 10, 15, ROUTE_12_WIDTH ; ROUTE_12_GATE_1F diff --git a/data/maps/objects/Route12SuperRodHouse.asm b/data/maps/objects/Route12SuperRodHouse.asm index b645dbdf..08dd8c4c 100755 --- a/data/maps/objects/Route12SuperRodHouse.asm +++ b/data/maps/objects/Route12SuperRodHouse.asm @@ -8,7 +8,7 @@ Route12SuperRodHouse_Object: db 0 ; signs db 1 ; objects - object SPRITE_FISHER, 2, 4, STAY, RIGHT, 1 ; person + object SPRITE_FISHING_GURU, 2, 4, STAY, RIGHT, 1 ; person ; warp-to warp_to 2, 7, ROUTE_12_SUPER_ROD_HOUSE_WIDTH diff --git a/data/maps/objects/Route13.asm b/data/maps/objects/Route13.asm index 3f460901..6a6b64ad 100755 --- a/data/maps/objects/Route13.asm +++ b/data/maps/objects/Route13.asm @@ -9,13 +9,13 @@ Route13_Object: sign 31, 11, 13 ; Route13Text13 db 10 ; objects - object SPRITE_BLACK_HAIR_BOY_1, 49, 10, STAY, RIGHT, 1, OPP_BIRD_KEEPER, 1 - object SPRITE_LASS, 48, 10, STAY, DOWN, 2, OPP_JR_TRAINER_F, 12 - object SPRITE_LASS, 27, 9, STAY, DOWN, 3, OPP_JR_TRAINER_F, 13 - object SPRITE_LASS, 23, 10, STAY, LEFT, 4, OPP_JR_TRAINER_F, 14 - object SPRITE_LASS, 50, 5, STAY, DOWN, 5, OPP_JR_TRAINER_F, 15 - object SPRITE_BLACK_HAIR_BOY_1, 12, 4, STAY, RIGHT, 6, OPP_BIRD_KEEPER, 2 - object SPRITE_FOULARD_WOMAN, 33, 6, STAY, DOWN, 7, OPP_BEAUTY, 4 - object SPRITE_FOULARD_WOMAN, 32, 6, STAY, DOWN, 8, OPP_BEAUTY, 5 + object SPRITE_COOLTRAINER_M, 49, 10, STAY, RIGHT, 1, OPP_BIRD_KEEPER, 1 + object SPRITE_COOLTRAINER_F, 48, 10, STAY, DOWN, 2, OPP_JR_TRAINER_F, 12 + object SPRITE_COOLTRAINER_F, 27, 9, STAY, DOWN, 3, OPP_JR_TRAINER_F, 13 + object SPRITE_COOLTRAINER_F, 23, 10, STAY, LEFT, 4, OPP_JR_TRAINER_F, 14 + object SPRITE_COOLTRAINER_F, 50, 5, STAY, DOWN, 5, OPP_JR_TRAINER_F, 15 + object SPRITE_COOLTRAINER_M, 12, 4, STAY, RIGHT, 6, OPP_BIRD_KEEPER, 2 + object SPRITE_BEAUTY, 33, 6, STAY, DOWN, 7, OPP_BEAUTY, 4 + object SPRITE_BEAUTY, 32, 6, STAY, DOWN, 8, OPP_BEAUTY, 5 object SPRITE_BIKER, 10, 7, STAY, UP, 9, OPP_BIKER, 1 - object SPRITE_BLACK_HAIR_BOY_1, 7, 13, STAY, UP, 10, OPP_BIRD_KEEPER, 3 + object SPRITE_COOLTRAINER_M, 7, 13, STAY, UP, 10, OPP_BIRD_KEEPER, 3 diff --git a/data/maps/objects/Route14.asm b/data/maps/objects/Route14.asm index 565e587f..f7a68846 100755 --- a/data/maps/objects/Route14.asm +++ b/data/maps/objects/Route14.asm @@ -7,12 +7,12 @@ Route14_Object: sign 17, 13, 11 ; Route14Text11 db 10 ; objects - object SPRITE_BLACK_HAIR_BOY_1, 4, 4, STAY, DOWN, 1, OPP_BIRD_KEEPER, 14 - object SPRITE_BLACK_HAIR_BOY_1, 15, 6, STAY, DOWN, 2, OPP_BIRD_KEEPER, 15 - object SPRITE_BLACK_HAIR_BOY_1, 12, 11, STAY, DOWN, 3, OPP_BIRD_KEEPER, 16 - object SPRITE_BLACK_HAIR_BOY_1, 14, 15, STAY, UP, 4, OPP_BIRD_KEEPER, 17 - object SPRITE_BLACK_HAIR_BOY_1, 15, 31, STAY, LEFT, 5, OPP_BIRD_KEEPER, 4 - object SPRITE_BLACK_HAIR_BOY_1, 6, 49, STAY, UP, 6, OPP_BIRD_KEEPER, 5 + object SPRITE_COOLTRAINER_M, 4, 4, STAY, DOWN, 1, OPP_BIRD_KEEPER, 14 + object SPRITE_COOLTRAINER_M, 15, 6, STAY, DOWN, 2, OPP_BIRD_KEEPER, 15 + object SPRITE_COOLTRAINER_M, 12, 11, STAY, DOWN, 3, OPP_BIRD_KEEPER, 16 + object SPRITE_COOLTRAINER_M, 14, 15, STAY, UP, 4, OPP_BIRD_KEEPER, 17 + object SPRITE_COOLTRAINER_M, 15, 31, STAY, LEFT, 5, OPP_BIRD_KEEPER, 4 + object SPRITE_COOLTRAINER_M, 6, 49, STAY, UP, 6, OPP_BIRD_KEEPER, 5 object SPRITE_BIKER, 5, 39, STAY, DOWN, 7, OPP_BIKER, 13 object SPRITE_BIKER, 4, 30, STAY, RIGHT, 8, OPP_BIKER, 14 object SPRITE_BIKER, 15, 30, STAY, LEFT, 9, OPP_BIKER, 15 diff --git a/data/maps/objects/Route15.asm b/data/maps/objects/Route15.asm index 80257319..095e9743 100755 --- a/data/maps/objects/Route15.asm +++ b/data/maps/objects/Route15.asm @@ -11,17 +11,17 @@ Route15_Object: sign 39, 9, 12 ; Route15Text12 db 11 ; objects - object SPRITE_LASS, 41, 11, STAY, DOWN, 1, OPP_JR_TRAINER_F, 20 - object SPRITE_LASS, 53, 10, STAY, LEFT, 2, OPP_JR_TRAINER_F, 21 - object SPRITE_BLACK_HAIR_BOY_1, 31, 13, STAY, UP, 3, OPP_BIRD_KEEPER, 6 - object SPRITE_BLACK_HAIR_BOY_1, 35, 13, STAY, UP, 4, OPP_BIRD_KEEPER, 7 - object SPRITE_FOULARD_WOMAN, 53, 11, STAY, DOWN, 5, OPP_BEAUTY, 9 - object SPRITE_FOULARD_WOMAN, 41, 10, STAY, RIGHT, 6, OPP_BEAUTY, 10 + object SPRITE_COOLTRAINER_F, 41, 11, STAY, DOWN, 1, OPP_JR_TRAINER_F, 20 + object SPRITE_COOLTRAINER_F, 53, 10, STAY, LEFT, 2, OPP_JR_TRAINER_F, 21 + object SPRITE_COOLTRAINER_M, 31, 13, STAY, UP, 3, OPP_BIRD_KEEPER, 6 + object SPRITE_COOLTRAINER_M, 35, 13, STAY, UP, 4, OPP_BIRD_KEEPER, 7 + object SPRITE_BEAUTY, 53, 11, STAY, DOWN, 5, OPP_BEAUTY, 9 + object SPRITE_BEAUTY, 41, 10, STAY, RIGHT, 6, OPP_BEAUTY, 10 object SPRITE_BIKER, 48, 10, STAY, DOWN, 7, OPP_BIKER, 3 object SPRITE_BIKER, 46, 10, STAY, DOWN, 8, OPP_BIKER, 4 - object SPRITE_LASS, 37, 5, STAY, RIGHT, 9, OPP_JR_TRAINER_F, 22 - object SPRITE_LASS, 18, 13, STAY, UP, 10, OPP_JR_TRAINER_F, 23 - object SPRITE_BALL, 18, 5, STAY, NONE, 11, TM_RAGE + object SPRITE_COOLTRAINER_F, 37, 5, STAY, RIGHT, 9, OPP_JR_TRAINER_F, 22 + object SPRITE_COOLTRAINER_F, 18, 13, STAY, UP, 10, OPP_JR_TRAINER_F, 23 + object SPRITE_POKE_BALL, 18, 5, STAY, NONE, 11, TM_RAGE ; warp-to warp_to 7, 8, ROUTE_15_WIDTH ; ROUTE_15_GATE_1F diff --git a/data/maps/objects/Route15Gate2F.asm b/data/maps/objects/Route15Gate2F.asm index 162f2b1f..63b8bf2a 100755 --- a/data/maps/objects/Route15Gate2F.asm +++ b/data/maps/objects/Route15Gate2F.asm @@ -8,7 +8,7 @@ Route15Gate2F_Object: sign 6, 2, 2 ; Route15GateUpstairsText2 db 1 ; objects - object SPRITE_OAK_AIDE, 4, 2, STAY, DOWN, 1 + object SPRITE_SCIENTIST, 4, 2, STAY, DOWN, 1 ; warp-to warp_to 7, 7, ROUTE_15_GATE_2F_WIDTH ; ROUTE_15_GATE_1F diff --git a/data/maps/objects/Route16Gate2F.asm b/data/maps/objects/Route16Gate2F.asm index 5914f854..bb5e1129 100755 --- a/data/maps/objects/Route16Gate2F.asm +++ b/data/maps/objects/Route16Gate2F.asm @@ -9,7 +9,7 @@ Route16Gate2F_Object: sign 6, 2, 4 ; Route16GateUpstairsText4 db 2 ; objects - object SPRITE_YOUNG_BOY, 4, 2, STAY, NONE, 1 ; person + object SPRITE_LITTLE_BOY, 4, 2, STAY, NONE, 1 ; person object SPRITE_LITTLE_GIRL, 2, 5, WALK, 2, 2 ; person ; warp-to diff --git a/data/maps/objects/Route18.asm b/data/maps/objects/Route18.asm index 8bacd6c0..b3a18554 100755 --- a/data/maps/objects/Route18.asm +++ b/data/maps/objects/Route18.asm @@ -12,9 +12,9 @@ Route18_Object: sign 33, 5, 5 ; Route18Text5 db 3 ; objects - object SPRITE_BLACK_HAIR_BOY_1, 36, 11, STAY, RIGHT, 1, OPP_BIRD_KEEPER, 8 - object SPRITE_BLACK_HAIR_BOY_1, 40, 15, STAY, LEFT, 2, OPP_BIRD_KEEPER, 9 - object SPRITE_BLACK_HAIR_BOY_1, 42, 13, STAY, LEFT, 3, OPP_BIRD_KEEPER, 10 + object SPRITE_COOLTRAINER_M, 36, 11, STAY, RIGHT, 1, OPP_BIRD_KEEPER, 8 + object SPRITE_COOLTRAINER_M, 40, 15, STAY, LEFT, 2, OPP_BIRD_KEEPER, 9 + object SPRITE_COOLTRAINER_M, 42, 13, STAY, LEFT, 3, OPP_BIRD_KEEPER, 10 ; warp-to warp_to 33, 8, ROUTE_18_WIDTH ; ROUTE_18_GATE_1F diff --git a/data/maps/objects/Route18Gate2F.asm b/data/maps/objects/Route18Gate2F.asm index e48ec3b8..5f0a4246 100755 --- a/data/maps/objects/Route18Gate2F.asm +++ b/data/maps/objects/Route18Gate2F.asm @@ -9,7 +9,7 @@ Route18Gate2F_Object: sign 6, 2, 3 ; Route18GateUpstairsText3 db 1 ; objects - object SPRITE_BUG_CATCHER, 4, 2, WALK, 2, 1 ; person + object SPRITE_YOUNGSTER, 4, 2, WALK, 2, 1 ; person ; warp-to warp_to 7, 7, ROUTE_18_GATE_2F_WIDTH ; ROUTE_18_GATE_1F diff --git a/data/maps/objects/Route19.asm b/data/maps/objects/Route19.asm index 9b39618e..a2130295 100755 --- a/data/maps/objects/Route19.asm +++ b/data/maps/objects/Route19.asm @@ -7,8 +7,8 @@ Route19_Object: sign 11, 9, 11 ; Route19Text11 db 10 ; objects - object SPRITE_BLACK_HAIR_BOY_1, 8, 7, STAY, LEFT, 1, OPP_SWIMMER, 2 - object SPRITE_BLACK_HAIR_BOY_1, 13, 7, STAY, LEFT, 2, OPP_SWIMMER, 3 + object SPRITE_COOLTRAINER_M, 8, 7, STAY, LEFT, 1, OPP_SWIMMER, 2 + object SPRITE_COOLTRAINER_M, 13, 7, STAY, LEFT, 2, OPP_SWIMMER, 3 object SPRITE_SWIMMER, 13, 25, STAY, LEFT, 3, OPP_SWIMMER, 4 object SPRITE_SWIMMER, 4, 27, STAY, RIGHT, 4, OPP_SWIMMER, 5 object SPRITE_SWIMMER, 16, 31, STAY, UP, 5, OPP_SWIMMER, 6 diff --git a/data/maps/objects/Route2.asm b/data/maps/objects/Route2.asm index b27ad199..8645f9c0 100755 --- a/data/maps/objects/Route2.asm +++ b/data/maps/objects/Route2.asm @@ -14,8 +14,8 @@ Route2_Object: sign 11, 11, 4 ; Route2Text4 db 2 ; objects - object SPRITE_BALL, 13, 54, STAY, NONE, 1, MOON_STONE - object SPRITE_BALL, 13, 45, STAY, NONE, 2, HP_UP + object SPRITE_POKE_BALL, 13, 54, STAY, NONE, 1, MOON_STONE + object SPRITE_POKE_BALL, 13, 45, STAY, NONE, 2, HP_UP ; warp-to warp_to 12, 9, ROUTE_2_WIDTH ; DIGLETTS_CAVE_ROUTE_2 diff --git a/data/maps/objects/Route20.asm b/data/maps/objects/Route20.asm index 7bceef97..c2a26861 100755 --- a/data/maps/objects/Route20.asm +++ b/data/maps/objects/Route20.asm @@ -16,7 +16,7 @@ Route20_Object: object SPRITE_SWIMMER, 55, 14, STAY, RIGHT, 4, OPP_JR_TRAINER_F, 24 object SPRITE_SWIMMER, 38, 13, STAY, DOWN, 5, OPP_SWIMMER, 10 object SPRITE_SWIMMER, 87, 13, STAY, UP, 6, OPP_SWIMMER, 11 - object SPRITE_BLACK_HAIR_BOY_1, 34, 9, STAY, UP, 7, OPP_BIRD_KEEPER, 11 + object SPRITE_COOLTRAINER_M, 34, 9, STAY, UP, 7, OPP_BIRD_KEEPER, 11 object SPRITE_SWIMMER, 25, 7, STAY, UP, 8, OPP_BEAUTY, 7 object SPRITE_SWIMMER, 24, 12, STAY, DOWN, 9, OPP_JR_TRAINER_F, 16 object SPRITE_SWIMMER, 15, 8, STAY, UP, 10, OPP_BEAUTY, 8 diff --git a/data/maps/objects/Route21.asm b/data/maps/objects/Route21.asm index b7759b59..aff8f833 100755 --- a/data/maps/objects/Route21.asm +++ b/data/maps/objects/Route21.asm @@ -6,12 +6,12 @@ Route21_Object: db 0 ; signs db 9 ; objects - object SPRITE_FISHER2, 4, 24, STAY, LEFT, 1, OPP_FISHER, 7 - object SPRITE_FISHER2, 6, 25, STAY, DOWN, 2, OPP_FISHER, 9 + object SPRITE_FISHER, 4, 24, STAY, LEFT, 1, OPP_FISHER, 7 + object SPRITE_FISHER, 6, 25, STAY, DOWN, 2, OPP_FISHER, 9 object SPRITE_SWIMMER, 10, 31, STAY, UP, 3, OPP_SWIMMER, 12 object SPRITE_SWIMMER, 12, 30, STAY, RIGHT, 4, OPP_CUE_BALL, 9 object SPRITE_SWIMMER, 16, 63, STAY, DOWN, 5, OPP_SWIMMER, 13 object SPRITE_SWIMMER, 5, 71, STAY, RIGHT, 6, OPP_SWIMMER, 14 object SPRITE_SWIMMER, 15, 71, STAY, LEFT, 7, OPP_SWIMMER, 15 - object SPRITE_FISHER2, 14, 56, STAY, LEFT, 8, OPP_FISHER, 8 - object SPRITE_FISHER2, 17, 57, STAY, RIGHT, 9, OPP_FISHER, 10 + object SPRITE_FISHER, 14, 56, STAY, LEFT, 8, OPP_FISHER, 8 + object SPRITE_FISHER, 17, 57, STAY, RIGHT, 9, OPP_FISHER, 10 diff --git a/data/maps/objects/Route24.asm b/data/maps/objects/Route24.asm index 6eefd3d3..08eb3849 100755 --- a/data/maps/objects/Route24.asm +++ b/data/maps/objects/Route24.asm @@ -6,11 +6,11 @@ Route24_Object: db 0 ; signs db 8 ; objects - object SPRITE_BLACK_HAIR_BOY_1, 11, 15, STAY, LEFT, 1, OPP_ROCKET, 6 - object SPRITE_BLACK_HAIR_BOY_1, 5, 20, STAY, UP, 2, OPP_JR_TRAINER_M, 2 - object SPRITE_BLACK_HAIR_BOY_1, 11, 19, STAY, LEFT, 3, OPP_JR_TRAINER_M, 3 - object SPRITE_LASS, 10, 22, STAY, RIGHT, 4, OPP_LASS, 7 - object SPRITE_BUG_CATCHER, 11, 25, STAY, LEFT, 5, OPP_YOUNGSTER, 4 - object SPRITE_LASS, 10, 28, STAY, RIGHT, 6, OPP_LASS, 8 - object SPRITE_BUG_CATCHER, 11, 31, STAY, LEFT, 7, OPP_BUG_CATCHER, 9 - object SPRITE_BALL, 10, 5, STAY, NONE, 8, TM_THUNDER_WAVE + object SPRITE_COOLTRAINER_M, 11, 15, STAY, LEFT, 1, OPP_ROCKET, 6 + object SPRITE_COOLTRAINER_M, 5, 20, STAY, UP, 2, OPP_JR_TRAINER_M, 2 + object SPRITE_COOLTRAINER_M, 11, 19, STAY, LEFT, 3, OPP_JR_TRAINER_M, 3 + object SPRITE_COOLTRAINER_F, 10, 22, STAY, RIGHT, 4, OPP_LASS, 7 + object SPRITE_YOUNGSTER, 11, 25, STAY, LEFT, 5, OPP_YOUNGSTER, 4 + object SPRITE_COOLTRAINER_F, 10, 28, STAY, RIGHT, 6, OPP_LASS, 8 + object SPRITE_YOUNGSTER, 11, 31, STAY, LEFT, 7, OPP_BUG_CATCHER, 9 + object SPRITE_POKE_BALL, 10, 5, STAY, NONE, 8, TM_THUNDER_WAVE diff --git a/data/maps/objects/Route25.asm b/data/maps/objects/Route25.asm index 1d2ebc1b..cafcccf5 100755 --- a/data/maps/objects/Route25.asm +++ b/data/maps/objects/Route25.asm @@ -8,16 +8,16 @@ Route25_Object: sign 43, 3, 11 ; Route25Text11 db 10 ; objects - object SPRITE_BUG_CATCHER, 14, 2, STAY, DOWN, 1, OPP_YOUNGSTER, 5 - object SPRITE_BUG_CATCHER, 18, 5, STAY, UP, 2, OPP_YOUNGSTER, 6 - object SPRITE_BLACK_HAIR_BOY_1, 24, 4, STAY, DOWN, 3, OPP_JR_TRAINER_M, 2 - object SPRITE_LASS, 18, 8, STAY, RIGHT, 4, OPP_LASS, 9 - object SPRITE_BUG_CATCHER, 32, 3, STAY, LEFT, 5, OPP_YOUNGSTER, 7 - object SPRITE_LASS, 37, 4, STAY, DOWN, 6, OPP_LASS, 10 + object SPRITE_YOUNGSTER, 14, 2, STAY, DOWN, 1, OPP_YOUNGSTER, 5 + object SPRITE_YOUNGSTER, 18, 5, STAY, UP, 2, OPP_YOUNGSTER, 6 + object SPRITE_COOLTRAINER_M, 24, 4, STAY, DOWN, 3, OPP_JR_TRAINER_M, 2 + object SPRITE_COOLTRAINER_F, 18, 8, STAY, RIGHT, 4, OPP_LASS, 9 + object SPRITE_YOUNGSTER, 32, 3, STAY, LEFT, 5, OPP_YOUNGSTER, 7 + object SPRITE_COOLTRAINER_F, 37, 4, STAY, DOWN, 6, OPP_LASS, 10 object SPRITE_HIKER, 8, 4, STAY, RIGHT, 7, OPP_HIKER, 2 object SPRITE_HIKER, 23, 9, STAY, UP, 8, OPP_HIKER, 3 object SPRITE_HIKER, 13, 7, STAY, RIGHT, 9, OPP_HIKER, 4 - object SPRITE_BALL, 22, 2, STAY, NONE, 10, TM_SEISMIC_TOSS + object SPRITE_POKE_BALL, 22, 2, STAY, NONE, 10, TM_SEISMIC_TOSS ; warp-to warp_to 45, 3, ROUTE_25_WIDTH ; BILLS_HOUSE diff --git a/data/maps/objects/Route2Gate.asm b/data/maps/objects/Route2Gate.asm index 6f045d62..2243a83c 100755 --- a/data/maps/objects/Route2Gate.asm +++ b/data/maps/objects/Route2Gate.asm @@ -10,8 +10,8 @@ Route2Gate_Object: db 0 ; signs db 2 ; objects - object SPRITE_OAK_AIDE, 1, 4, STAY, LEFT, 1 ; person - object SPRITE_BUG_CATCHER, 5, 4, WALK, 2, 2 ; person + object SPRITE_SCIENTIST, 1, 4, STAY, LEFT, 1 ; person + object SPRITE_YOUNGSTER, 5, 4, WALK, 2, 2 ; person ; warp-to warp_to 4, 0, ROUTE_2_GATE_WIDTH diff --git a/data/maps/objects/Route2TradeHouse.asm b/data/maps/objects/Route2TradeHouse.asm index d55f0259..2a345d47 100755 --- a/data/maps/objects/Route2TradeHouse.asm +++ b/data/maps/objects/Route2TradeHouse.asm @@ -8,8 +8,8 @@ Route2TradeHouse_Object: db 0 ; signs db 2 ; objects - object SPRITE_OAK_AIDE, 2, 4, STAY, RIGHT, 1 ; person - object SPRITE_GAMEBOY_KID_COPY, 4, 1, STAY, DOWN, 2 ; person + object SPRITE_SCIENTIST, 2, 4, STAY, RIGHT, 1 ; person + object SPRITE_GAMEBOY_KID, 4, 1, STAY, DOWN, 2 ; person ; warp-to warp_to 2, 7, ROUTE_2_TRADE_HOUSE_WIDTH diff --git a/data/maps/objects/Route3.asm b/data/maps/objects/Route3.asm index 372ea6cf..d495114a 100755 --- a/data/maps/objects/Route3.asm +++ b/data/maps/objects/Route3.asm @@ -7,12 +7,12 @@ Route3_Object: sign 59, 9, 10 ; Route3Text10 db 9 ; objects - object SPRITE_BLACK_HAIR_BOY_2, 57, 11, STAY, NONE, 1 ; person - object SPRITE_BUG_CATCHER, 10, 6, STAY, RIGHT, 2, OPP_BUG_CATCHER, 4 - object SPRITE_BUG_CATCHER, 14, 4, STAY, DOWN, 3, OPP_YOUNGSTER, 1 - object SPRITE_LASS, 16, 9, STAY, LEFT, 4, OPP_LASS, 1 - object SPRITE_BUG_CATCHER, 19, 5, STAY, DOWN, 5, OPP_BUG_CATCHER, 5 - object SPRITE_LASS, 23, 4, STAY, LEFT, 6, OPP_LASS, 2 - object SPRITE_BUG_CATCHER, 22, 9, STAY, LEFT, 7, OPP_YOUNGSTER, 2 - object SPRITE_BUG_CATCHER, 24, 6, STAY, RIGHT, 8, OPP_BUG_CATCHER, 6 - object SPRITE_LASS, 33, 10, STAY, UP, 9, OPP_LASS, 3 + object SPRITE_SUPER_NERD, 57, 11, STAY, NONE, 1 ; person + object SPRITE_YOUNGSTER, 10, 6, STAY, RIGHT, 2, OPP_BUG_CATCHER, 4 + object SPRITE_YOUNGSTER, 14, 4, STAY, DOWN, 3, OPP_YOUNGSTER, 1 + object SPRITE_COOLTRAINER_F, 16, 9, STAY, LEFT, 4, OPP_LASS, 1 + object SPRITE_YOUNGSTER, 19, 5, STAY, DOWN, 5, OPP_BUG_CATCHER, 5 + object SPRITE_COOLTRAINER_F, 23, 4, STAY, LEFT, 6, OPP_LASS, 2 + object SPRITE_YOUNGSTER, 22, 9, STAY, LEFT, 7, OPP_YOUNGSTER, 2 + object SPRITE_YOUNGSTER, 24, 6, STAY, RIGHT, 8, OPP_BUG_CATCHER, 6 + object SPRITE_COOLTRAINER_F, 33, 10, STAY, UP, 9, OPP_LASS, 3 diff --git a/data/maps/objects/Route4.asm b/data/maps/objects/Route4.asm index 0c34f6db..6683e14d 100755 --- a/data/maps/objects/Route4.asm +++ b/data/maps/objects/Route4.asm @@ -12,9 +12,9 @@ Route4_Object: sign 27, 7, 6 ; Route4Text6 db 3 ; objects - object SPRITE_LASS, 9, 8, WALK, 0, 1 ; person - object SPRITE_LASS, 63, 3, STAY, RIGHT, 2, OPP_LASS, 4 - object SPRITE_BALL, 57, 3, STAY, NONE, 3, TM_WHIRLWIND + object SPRITE_COOLTRAINER_F, 9, 8, WALK, 0, 1 ; person + object SPRITE_COOLTRAINER_F, 63, 3, STAY, RIGHT, 2, OPP_LASS, 4 + object SPRITE_POKE_BALL, 57, 3, STAY, NONE, 3, TM_WHIRLWIND ; warp-to warp_to 11, 5, ROUTE_4_WIDTH ; MT_MOON_POKECENTER diff --git a/data/maps/objects/Route6.asm b/data/maps/objects/Route6.asm index fc2d7e24..fc0eb35b 100755 --- a/data/maps/objects/Route6.asm +++ b/data/maps/objects/Route6.asm @@ -11,12 +11,12 @@ Route6_Object: sign 19, 15, 7 ; Route6Text7 db 6 ; objects - object SPRITE_BLACK_HAIR_BOY_1, 10, 21, STAY, RIGHT, 1, OPP_JR_TRAINER_M, 4 - object SPRITE_LASS, 11, 21, STAY, LEFT, 2, OPP_JR_TRAINER_F, 2 - object SPRITE_BUG_CATCHER, 0, 15, STAY, RIGHT, 3, OPP_BUG_CATCHER, 10 - object SPRITE_BLACK_HAIR_BOY_1, 11, 31, STAY, LEFT, 4, OPP_JR_TRAINER_M, 5 - object SPRITE_LASS, 11, 30, STAY, LEFT, 5, OPP_JR_TRAINER_F, 3 - object SPRITE_BUG_CATCHER, 19, 26, STAY, LEFT, 6, OPP_BUG_CATCHER, 11 + object SPRITE_COOLTRAINER_M, 10, 21, STAY, RIGHT, 1, OPP_JR_TRAINER_M, 4 + object SPRITE_COOLTRAINER_F, 11, 21, STAY, LEFT, 2, OPP_JR_TRAINER_F, 2 + object SPRITE_YOUNGSTER, 0, 15, STAY, RIGHT, 3, OPP_BUG_CATCHER, 10 + object SPRITE_COOLTRAINER_M, 11, 31, STAY, LEFT, 4, OPP_JR_TRAINER_M, 5 + object SPRITE_COOLTRAINER_F, 11, 30, STAY, LEFT, 5, OPP_JR_TRAINER_F, 3 + object SPRITE_YOUNGSTER, 19, 26, STAY, LEFT, 6, OPP_BUG_CATCHER, 11 ; warp-to warp_to 9, 1, ROUTE_6_WIDTH ; ROUTE_6_GATE diff --git a/data/maps/objects/Route8.asm b/data/maps/objects/Route8.asm index 137d70a0..5b0bc8fb 100755 --- a/data/maps/objects/Route8.asm +++ b/data/maps/objects/Route8.asm @@ -12,15 +12,15 @@ Route8_Object: sign 17, 3, 10 ; Route8Text10 db 9 ; objects - object SPRITE_BLACK_HAIR_BOY_2, 8, 5, STAY, RIGHT, 1, OPP_SUPER_NERD, 3 + object SPRITE_SUPER_NERD, 8, 5, STAY, RIGHT, 1, OPP_SUPER_NERD, 3 object SPRITE_GAMBLER, 13, 9, STAY, UP, 2, OPP_GAMBLER, 5 - object SPRITE_BLACK_HAIR_BOY_2, 42, 6, STAY, UP, 3, OPP_SUPER_NERD, 4 - object SPRITE_LASS, 26, 3, STAY, LEFT, 4, OPP_LASS, 13 - object SPRITE_BLACK_HAIR_BOY_2, 26, 4, STAY, RIGHT, 5, OPP_SUPER_NERD, 5 - object SPRITE_LASS, 26, 5, STAY, LEFT, 6, OPP_LASS, 14 - object SPRITE_LASS, 26, 6, STAY, RIGHT, 7, OPP_LASS, 15 + object SPRITE_SUPER_NERD, 42, 6, STAY, UP, 3, OPP_SUPER_NERD, 4 + object SPRITE_COOLTRAINER_F, 26, 3, STAY, LEFT, 4, OPP_LASS, 13 + object SPRITE_SUPER_NERD, 26, 4, STAY, RIGHT, 5, OPP_SUPER_NERD, 5 + object SPRITE_COOLTRAINER_F, 26, 5, STAY, LEFT, 6, OPP_LASS, 14 + object SPRITE_COOLTRAINER_F, 26, 6, STAY, RIGHT, 7, OPP_LASS, 15 object SPRITE_GAMBLER, 46, 13, STAY, DOWN, 8, OPP_GAMBLER, 7 - object SPRITE_LASS, 51, 12, STAY, LEFT, 9, OPP_LASS, 16 + object SPRITE_COOLTRAINER_F, 51, 12, STAY, LEFT, 9, OPP_LASS, 16 ; warp-to warp_to 1, 9, ROUTE_8_WIDTH ; ROUTE_8_GATE diff --git a/data/maps/objects/Route9.asm b/data/maps/objects/Route9.asm index 50fac190..756fc8ad 100755 --- a/data/maps/objects/Route9.asm +++ b/data/maps/objects/Route9.asm @@ -7,13 +7,13 @@ Route9_Object: sign 25, 7, 11 ; Route9Text11 db 10 ; objects - object SPRITE_LASS, 13, 10, STAY, LEFT, 1, OPP_JR_TRAINER_F, 5 - object SPRITE_BLACK_HAIR_BOY_1, 24, 7, STAY, LEFT, 2, OPP_JR_TRAINER_M, 7 - object SPRITE_BLACK_HAIR_BOY_1, 31, 7, STAY, RIGHT, 3, OPP_JR_TRAINER_M, 8 - object SPRITE_LASS, 48, 8, STAY, RIGHT, 4, OPP_JR_TRAINER_F, 6 + object SPRITE_COOLTRAINER_F, 13, 10, STAY, LEFT, 1, OPP_JR_TRAINER_F, 5 + object SPRITE_COOLTRAINER_M, 24, 7, STAY, LEFT, 2, OPP_JR_TRAINER_M, 7 + object SPRITE_COOLTRAINER_M, 31, 7, STAY, RIGHT, 3, OPP_JR_TRAINER_M, 8 + object SPRITE_COOLTRAINER_F, 48, 8, STAY, RIGHT, 4, OPP_JR_TRAINER_F, 6 object SPRITE_HIKER, 16, 15, STAY, LEFT, 5, OPP_HIKER, 11 object SPRITE_HIKER, 43, 3, STAY, LEFT, 6, OPP_HIKER, 6 - object SPRITE_BUG_CATCHER, 22, 2, STAY, DOWN, 7, OPP_BUG_CATCHER, 13 + object SPRITE_YOUNGSTER, 22, 2, STAY, DOWN, 7, OPP_BUG_CATCHER, 13 object SPRITE_HIKER, 45, 15, STAY, RIGHT, 8, OPP_HIKER, 5 - object SPRITE_BUG_CATCHER, 40, 8, STAY, RIGHT, 9, OPP_BUG_CATCHER, 14 - object SPRITE_BALL, 10, 15, STAY, NONE, 10, TM_TELEPORT + object SPRITE_YOUNGSTER, 40, 8, STAY, RIGHT, 9, OPP_BUG_CATCHER, 14 + object SPRITE_POKE_BALL, 10, 15, STAY, NONE, 10, TM_TELEPORT diff --git a/data/maps/objects/SSAnne1FRooms.asm b/data/maps/objects/SSAnne1FRooms.asm index 1b7813a1..3a637fb8 100755 --- a/data/maps/objects/SSAnne1FRooms.asm +++ b/data/maps/objects/SSAnne1FRooms.asm @@ -14,14 +14,14 @@ SSAnne1FRooms_Object: db 11 ; objects object SPRITE_GENTLEMAN, 2, 3, STAY, LEFT, 1, OPP_GENTLEMAN, 1 object SPRITE_GENTLEMAN, 11, 4, STAY, UP, 2, OPP_GENTLEMAN, 2 - object SPRITE_BUG_CATCHER, 11, 14, STAY, UP, 3, OPP_YOUNGSTER, 8 - object SPRITE_LASS, 13, 11, STAY, LEFT, 4, OPP_LASS, 11 + object SPRITE_YOUNGSTER, 11, 14, STAY, UP, 3, OPP_YOUNGSTER, 8 + object SPRITE_COOLTRAINER_F, 13, 11, STAY, LEFT, 4, OPP_LASS, 11 object SPRITE_GIRL, 22, 3, WALK, 1, 5 ; person - object SPRITE_FAT_BALD_GUY, 0, 14, STAY, NONE, 6 ; person + object SPRITE_MIDDLE_AGED_MAN, 0, 14, STAY, NONE, 6 ; person object SPRITE_LITTLE_GIRL, 2, 11, STAY, DOWN, 7 ; person - object SPRITE_CLEFAIRY, 3, 11, STAY, DOWN, 8 ; person + object SPRITE_FAIRY, 3, 11, STAY, DOWN, 8 ; person object SPRITE_GIRL, 10, 13, STAY, RIGHT, 9 ; person - object SPRITE_BALL, 12, 15, STAY, NONE, 10, TM_BODY_SLAM + object SPRITE_POKE_BALL, 12, 15, STAY, NONE, 10, TM_BODY_SLAM object SPRITE_GENTLEMAN, 21, 13, WALK, 2, 11 ; person ; warp-to diff --git a/data/maps/objects/SSAnne2FRooms.asm b/data/maps/objects/SSAnne2FRooms.asm index ebb053a8..454b4c6b 100755 --- a/data/maps/objects/SSAnne2FRooms.asm +++ b/data/maps/objects/SSAnne2FRooms.asm @@ -19,18 +19,18 @@ SSAnne2FRooms_Object: db 13 ; objects object SPRITE_GENTLEMAN, 10, 2, STAY, RIGHT, 1, OPP_GENTLEMAN, 3 - object SPRITE_FISHER2, 13, 4, STAY, LEFT, 2, OPP_FISHER, 1 + object SPRITE_FISHER, 13, 4, STAY, LEFT, 2, OPP_FISHER, 1 object SPRITE_GENTLEMAN, 0, 14, STAY, RIGHT, 3, OPP_GENTLEMAN, 5 - object SPRITE_LASS, 2, 11, STAY, DOWN, 4, OPP_LASS, 12 + object SPRITE_COOLTRAINER_F, 2, 11, STAY, DOWN, 4, OPP_LASS, 12 object SPRITE_GENTLEMAN, 1, 2, STAY, DOWN, 5 ; person - object SPRITE_BALL, 12, 1, STAY, NONE, 6, MAX_ETHER + object SPRITE_POKE_BALL, 12, 1, STAY, NONE, 6, MAX_ETHER object SPRITE_GENTLEMAN, 21, 2, STAY, DOWN, 7 ; person - object SPRITE_OLD_PERSON, 22, 1, STAY, DOWN, 8 ; person - object SPRITE_BALL, 0, 12, STAY, NONE, 9, RARE_CANDY + object SPRITE_GRAMPS, 22, 1, STAY, DOWN, 8 ; person + object SPRITE_POKE_BALL, 0, 12, STAY, NONE, 9, RARE_CANDY object SPRITE_GENTLEMAN, 12, 12, STAY, DOWN, 10 ; person - object SPRITE_YOUNG_BOY, 11, 14, STAY, NONE, 11 ; person + object SPRITE_LITTLE_BOY, 11, 14, STAY, NONE, 11 ; person object SPRITE_BRUNETTE_GIRL, 22, 12, STAY, LEFT, 12 ; person - object SPRITE_FOULARD_WOMAN, 20, 12, STAY, RIGHT, 13 ; person + object SPRITE_BEAUTY, 20, 12, STAY, RIGHT, 13 ; person ; warp-to warp_to 2, 5, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F diff --git a/data/maps/objects/SSAnneB1FRooms.asm b/data/maps/objects/SSAnneB1FRooms.asm index 5a03cafd..0f57dd6b 100755 --- a/data/maps/objects/SSAnneB1FRooms.asm +++ b/data/maps/objects/SSAnneB1FRooms.asm @@ -21,12 +21,12 @@ SSAnneB1FRooms_Object: object SPRITE_SAILOR, 12, 3, STAY, LEFT, 3, OPP_SAILOR, 5 object SPRITE_SAILOR, 22, 2, STAY, DOWN, 4, OPP_SAILOR, 6 object SPRITE_SAILOR, 0, 2, STAY, RIGHT, 5, OPP_SAILOR, 7 - object SPRITE_FISHER2, 0, 4, STAY, RIGHT, 6, OPP_FISHER, 2 - object SPRITE_BLACK_HAIR_BOY_2, 10, 13, STAY, RIGHT, 7 ; person - object SPRITE_SLOWBRO, 11, 12, STAY, NONE, 8 ; person - object SPRITE_BALL, 20, 2, STAY, NONE, 9, ETHER - object SPRITE_BALL, 10, 2, STAY, NONE, 10, TM_REST - object SPRITE_BALL, 12, 11, STAY, NONE, 11, MAX_POTION + object SPRITE_FISHER, 0, 4, STAY, RIGHT, 6, OPP_FISHER, 2 + object SPRITE_SUPER_NERD, 10, 13, STAY, RIGHT, 7 ; person + object SPRITE_MONSTER, 11, 12, STAY, NONE, 8 ; person + object SPRITE_POKE_BALL, 20, 2, STAY, NONE, 9, ETHER + object SPRITE_POKE_BALL, 10, 2, STAY, NONE, 10, TM_REST + object SPRITE_POKE_BALL, 12, 11, STAY, NONE, 11, MAX_POTION ; warp-to warp_to 2, 5, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F diff --git a/data/maps/objects/SSAnneBow.asm b/data/maps/objects/SSAnneBow.asm index 8873c8f8..ee434a79 100755 --- a/data/maps/objects/SSAnneBow.asm +++ b/data/maps/objects/SSAnneBow.asm @@ -8,9 +8,9 @@ SSAnneBow_Object: db 0 ; signs db 5 ; objects - object SPRITE_BLACK_HAIR_BOY_2, 5, 2, STAY, UP, 1 ; person + object SPRITE_SUPER_NERD, 5, 2, STAY, UP, 1 ; person object SPRITE_SAILOR, 4, 9, STAY, NONE, 2 ; person - object SPRITE_BLACK_HAIR_BOY_1, 7, 11, STAY, NONE, 3 ; person + object SPRITE_COOLTRAINER_M, 7, 11, STAY, NONE, 3 ; person object SPRITE_SAILOR, 4, 4, STAY, DOWN, 4, OPP_SAILOR, 1 object SPRITE_SAILOR, 10, 8, STAY, UP, 5, OPP_SAILOR, 2 diff --git a/data/maps/objects/SSAnneCaptainsRoom.asm b/data/maps/objects/SSAnneCaptainsRoom.asm index 545656cc..9e6bca22 100755 --- a/data/maps/objects/SSAnneCaptainsRoom.asm +++ b/data/maps/objects/SSAnneCaptainsRoom.asm @@ -9,7 +9,7 @@ SSAnneCaptainsRoom_Object: sign 1, 2, 3 ; SSAnne7Text3 db 1 ; objects - object SPRITE_SS_CAPTAIN, 4, 2, STAY, UP, 1 ; person + object SPRITE_CAPTAIN, 4, 2, STAY, UP, 1 ; person ; warp-to warp_to 0, 7, SS_ANNE_CAPTAINS_ROOM_WIDTH ; SS_ANNE_2F diff --git a/data/maps/objects/SafariZoneCenter.asm b/data/maps/objects/SafariZoneCenter.asm index e54cec74..d94e78f3 100755 --- a/data/maps/objects/SafariZoneCenter.asm +++ b/data/maps/objects/SafariZoneCenter.asm @@ -17,7 +17,7 @@ SafariZoneCenter_Object: sign 14, 22, 3 ; SafariZoneCenterText3 db 1 ; objects - object SPRITE_BALL, 14, 10, STAY, NONE, 1, NUGGET + object SPRITE_POKE_BALL, 14, 10, STAY, NONE, 1, NUGGET ; warp-to warp_to 14, 25, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_GATE diff --git a/data/maps/objects/SafariZoneCenterRestHouse.asm b/data/maps/objects/SafariZoneCenterRestHouse.asm index 9eda9970..d681696e 100755 --- a/data/maps/objects/SafariZoneCenterRestHouse.asm +++ b/data/maps/objects/SafariZoneCenterRestHouse.asm @@ -9,7 +9,7 @@ SafariZoneCenterRestHouse_Object: db 2 ; objects object SPRITE_GIRL, 3, 2, STAY, DOWN, 1 ; person - object SPRITE_OAK_AIDE, 1, 4, WALK, 1, 2 ; person + object SPRITE_SCIENTIST, 1, 4, WALK, 1, 2 ; person ; warp-to warp_to 2, 7, SAFARI_ZONE_CENTER_REST_HOUSE_WIDTH ; SAFARI_ZONE_CENTER diff --git a/data/maps/objects/SafariZoneEast.asm b/data/maps/objects/SafariZoneEast.asm index 31d8861b..fa04087f 100755 --- a/data/maps/objects/SafariZoneEast.asm +++ b/data/maps/objects/SafariZoneEast.asm @@ -14,10 +14,10 @@ SafariZoneEast_Object: sign 5, 23, 7 ; SafariZoneEastText7 db 4 ; objects - object SPRITE_BALL, 21, 10, STAY, NONE, 1, FULL_RESTORE - object SPRITE_BALL, 3, 7, STAY, NONE, 2, MAX_POTION - object SPRITE_BALL, 20, 13, STAY, NONE, 3, CARBOS - object SPRITE_BALL, 15, 12, STAY, NONE, 4, TM_EGG_BOMB + object SPRITE_POKE_BALL, 21, 10, STAY, NONE, 1, FULL_RESTORE + object SPRITE_POKE_BALL, 3, 7, STAY, NONE, 2, MAX_POTION + object SPRITE_POKE_BALL, 20, 13, STAY, NONE, 3, CARBOS + object SPRITE_POKE_BALL, 15, 12, STAY, NONE, 4, TM_EGG_BOMB ; warp-to warp_to 0, 4, SAFARI_ZONE_EAST_WIDTH ; SAFARI_ZONE_NORTH diff --git a/data/maps/objects/SafariZoneEastRestHouse.asm b/data/maps/objects/SafariZoneEastRestHouse.asm index e7c68343..d478a902 100755 --- a/data/maps/objects/SafariZoneEastRestHouse.asm +++ b/data/maps/objects/SafariZoneEastRestHouse.asm @@ -8,9 +8,9 @@ SafariZoneEastRestHouse_Object: db 0 ; signs db 3 ; objects - object SPRITE_OAK_AIDE, 1, 3, WALK, 1, 1 ; person + object SPRITE_SCIENTIST, 1, 3, WALK, 1, 1 ; person object SPRITE_ROCKER, 4, 2, STAY, NONE, 2 ; person - object SPRITE_LAPRAS_GIVER, 5, 2, STAY, NONE, 3 ; person + object SPRITE_SILPH_WORKER, 5, 2, STAY, NONE, 3 ; person ; warp-to warp_to 2, 7, SAFARI_ZONE_EAST_REST_HOUSE_WIDTH ; SAFARI_ZONE_EAST diff --git a/data/maps/objects/SafariZoneGate.asm b/data/maps/objects/SafariZoneGate.asm index 05074a90..6cfe256c 100755 --- a/data/maps/objects/SafariZoneGate.asm +++ b/data/maps/objects/SafariZoneGate.asm @@ -10,8 +10,8 @@ SafariZoneGate_Object: db 0 ; signs db 2 ; objects - object SPRITE_WHITE_PLAYER, 6, 2, STAY, LEFT, 1 ; person - object SPRITE_WHITE_PLAYER, 1, 4, STAY, RIGHT, 2 ; person + object SPRITE_SAFARI_ZONE_WORKER, 6, 2, STAY, LEFT, 1 ; person + object SPRITE_SAFARI_ZONE_WORKER, 1, 4, STAY, RIGHT, 2 ; person ; warp-to warp_to 3, 5, SAFARI_ZONE_GATE_WIDTH diff --git a/data/maps/objects/SafariZoneNorth.asm b/data/maps/objects/SafariZoneNorth.asm index 75c7d164..06563243 100755 --- a/data/maps/objects/SafariZoneNorth.asm +++ b/data/maps/objects/SafariZoneNorth.asm @@ -20,8 +20,8 @@ SafariZoneNorth_Object: sign 26, 28, 7 ; SafariZoneNorthText7 db 2 ; objects - object SPRITE_BALL, 25, 1, STAY, NONE, 1, PROTEIN - object SPRITE_BALL, 19, 7, STAY, NONE, 2, TM_SKULL_BASH + object SPRITE_POKE_BALL, 25, 1, STAY, NONE, 1, PROTEIN + object SPRITE_POKE_BALL, 19, 7, STAY, NONE, 2, TM_SKULL_BASH ; warp-to warp_to 2, 35, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_WEST diff --git a/data/maps/objects/SafariZoneNorthRestHouse.asm b/data/maps/objects/SafariZoneNorthRestHouse.asm index 34b3ab4f..6eb9aac9 100755 --- a/data/maps/objects/SafariZoneNorthRestHouse.asm +++ b/data/maps/objects/SafariZoneNorthRestHouse.asm @@ -8,8 +8,8 @@ SafariZoneNorthRestHouse_Object: db 0 ; signs db 3 ; objects - object SPRITE_OAK_AIDE, 6, 3, WALK, 2, 1 ; person - object SPRITE_WHITE_PLAYER, 3, 4, STAY, NONE, 2 ; person + object SPRITE_SCIENTIST, 6, 3, WALK, 2, 1 ; person + object SPRITE_SAFARI_ZONE_WORKER, 3, 4, STAY, NONE, 2 ; person object SPRITE_GENTLEMAN, 1, 5, WALK, 1, 3 ; person ; warp-to diff --git a/data/maps/objects/SafariZoneSecretHouse.asm b/data/maps/objects/SafariZoneSecretHouse.asm index 2a5fc22d..ea326e67 100755 --- a/data/maps/objects/SafariZoneSecretHouse.asm +++ b/data/maps/objects/SafariZoneSecretHouse.asm @@ -8,7 +8,7 @@ SafariZoneSecretHouse_Object: db 0 ; signs db 1 ; objects - object SPRITE_FISHER, 3, 3, STAY, DOWN, 1 ; person + object SPRITE_FISHING_GURU, 3, 3, STAY, DOWN, 1 ; person ; warp-to warp_to 2, 7, SAFARI_ZONE_SECRET_HOUSE_WIDTH ; SAFARI_ZONE_WEST diff --git a/data/maps/objects/SafariZoneWest.asm b/data/maps/objects/SafariZoneWest.asm index 492dd3e2..2e0692c1 100755 --- a/data/maps/objects/SafariZoneWest.asm +++ b/data/maps/objects/SafariZoneWest.asm @@ -18,10 +18,10 @@ SafariZoneWest_Object: sign 24, 22, 8 ; SafariZoneWestText8 db 4 ; objects - object SPRITE_BALL, 8, 20, STAY, NONE, 1, MAX_POTION - object SPRITE_BALL, 9, 7, STAY, NONE, 2, TM_DOUBLE_TEAM - object SPRITE_BALL, 18, 18, STAY, NONE, 3, MAX_REVIVE - object SPRITE_BALL, 19, 7, STAY, NONE, 4, GOLD_TEETH + object SPRITE_POKE_BALL, 8, 20, STAY, NONE, 1, MAX_POTION + object SPRITE_POKE_BALL, 9, 7, STAY, NONE, 2, TM_DOUBLE_TEAM + object SPRITE_POKE_BALL, 18, 18, STAY, NONE, 3, MAX_REVIVE + object SPRITE_POKE_BALL, 19, 7, STAY, NONE, 4, GOLD_TEETH ; warp-to warp_to 20, 0, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_NORTH diff --git a/data/maps/objects/SafariZoneWestRestHouse.asm b/data/maps/objects/SafariZoneWestRestHouse.asm index 9f1bc0ed..0338667f 100755 --- a/data/maps/objects/SafariZoneWestRestHouse.asm +++ b/data/maps/objects/SafariZoneWestRestHouse.asm @@ -8,8 +8,8 @@ SafariZoneWestRestHouse_Object: db 0 ; signs db 3 ; objects - object SPRITE_OAK_AIDE, 4, 4, WALK, 0, 1 ; person - object SPRITE_BLACK_HAIR_BOY_1, 0, 2, STAY, RIGHT, 2 ; person + object SPRITE_SCIENTIST, 4, 4, WALK, 0, 1 ; person + object SPRITE_COOLTRAINER_M, 0, 2, STAY, RIGHT, 2 ; person object SPRITE_ERIKA, 6, 2, STAY, DOWN, 3 ; person ; warp-to diff --git a/data/maps/objects/SaffronCity.asm b/data/maps/objects/SaffronCity.asm index b8d3a9cf..332f13af 100755 --- a/data/maps/objects/SaffronCity.asm +++ b/data/maps/objects/SaffronCity.asm @@ -31,8 +31,8 @@ SaffronCity_Object: object SPRITE_ROCKET, 11, 25, WALK, 2, 5 ; person object SPRITE_ROCKET, 32, 13, WALK, 2, 6 ; person object SPRITE_ROCKET, 18, 30, WALK, 2, 7 ; person - object SPRITE_OAK_AIDE, 8, 14, WALK, 0, 8 ; person - object SPRITE_LAPRAS_GIVER, 23, 23, STAY, NONE, 9 ; person + object SPRITE_SCIENTIST, 8, 14, WALK, 0, 8 ; person + object SPRITE_SILPH_WORKER, 23, 23, STAY, NONE, 9 ; person object SPRITE_ERIKA, 17, 30, WALK, 2, 10 ; person object SPRITE_GENTLEMAN, 30, 12, STAY, DOWN, 11 ; person object SPRITE_BIRD, 31, 12, STAY, DOWN, 12 ; person diff --git a/data/maps/objects/SaffronGym.asm b/data/maps/objects/SaffronGym.asm index 17bf8c0e..54083d60 100755 --- a/data/maps/objects/SaffronGym.asm +++ b/data/maps/objects/SaffronGym.asm @@ -39,14 +39,14 @@ SaffronGym_Object: db 9 ; objects object SPRITE_GIRL, 9, 8, STAY, DOWN, 1, OPP_SABRINA, 1 - object SPRITE_MEDIUM, 10, 1, STAY, DOWN, 2, OPP_CHANNELER, 22 - object SPRITE_BUG_CATCHER, 17, 1, STAY, DOWN, 3, OPP_PSYCHIC_TR, 1 - object SPRITE_MEDIUM, 3, 7, STAY, DOWN, 4, OPP_CHANNELER, 23 - object SPRITE_BUG_CATCHER, 17, 7, STAY, DOWN, 5, OPP_PSYCHIC_TR, 2 - object SPRITE_MEDIUM, 3, 13, STAY, DOWN, 6, OPP_CHANNELER, 24 - object SPRITE_BUG_CATCHER, 17, 13, STAY, DOWN, 7, OPP_PSYCHIC_TR, 3 - object SPRITE_BUG_CATCHER, 3, 1, STAY, DOWN, 8, OPP_PSYCHIC_TR, 4 - object SPRITE_GYM_HELPER, 10, 15, STAY, DOWN, 9 ; person + object SPRITE_CHANNELER, 10, 1, STAY, DOWN, 2, OPP_CHANNELER, 22 + object SPRITE_YOUNGSTER, 17, 1, STAY, DOWN, 3, OPP_PSYCHIC_TR, 1 + object SPRITE_CHANNELER, 3, 7, STAY, DOWN, 4, OPP_CHANNELER, 23 + object SPRITE_YOUNGSTER, 17, 7, STAY, DOWN, 5, OPP_PSYCHIC_TR, 2 + object SPRITE_CHANNELER, 3, 13, STAY, DOWN, 6, OPP_CHANNELER, 24 + object SPRITE_YOUNGSTER, 17, 13, STAY, DOWN, 7, OPP_PSYCHIC_TR, 3 + object SPRITE_YOUNGSTER, 3, 1, STAY, DOWN, 8, OPP_PSYCHIC_TR, 4 + object SPRITE_GYM_GUIDE, 10, 15, STAY, DOWN, 9 ; person ; warp-to warp_to 8, 17, SAFFRON_GYM_WIDTH diff --git a/data/maps/objects/SaffronMart.asm b/data/maps/objects/SaffronMart.asm index 440fa7bf..5ad06c75 100755 --- a/data/maps/objects/SaffronMart.asm +++ b/data/maps/objects/SaffronMart.asm @@ -8,9 +8,9 @@ SaffronMart_Object: db 0 ; signs db 3 ; objects - object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person - object SPRITE_BLACK_HAIR_BOY_2, 4, 2, STAY, NONE, 2 ; person - object SPRITE_LASS, 6, 5, WALK, 0, 3 ; person + object SPRITE_CLERK, 0, 5, STAY, RIGHT, 1 ; person + object SPRITE_SUPER_NERD, 4, 2, STAY, NONE, 2 ; person + object SPRITE_COOLTRAINER_F, 6, 5, WALK, 0, 3 ; person ; warp-to warp_to 3, 7, SAFFRON_MART_WIDTH diff --git a/data/maps/objects/SaffronPidgeyHouse.asm b/data/maps/objects/SaffronPidgeyHouse.asm index b108df61..b0b52166 100755 --- a/data/maps/objects/SaffronPidgeyHouse.asm +++ b/data/maps/objects/SaffronPidgeyHouse.asm @@ -10,8 +10,8 @@ SaffronPidgeyHouse_Object: db 4 ; objects object SPRITE_BRUNETTE_GIRL, 2, 3, STAY, RIGHT, 1 ; person object SPRITE_BIRD, 0, 4, WALK, 1, 2 ; person - object SPRITE_BUG_CATCHER, 4, 1, STAY, DOWN, 3 ; person - object SPRITE_PAPER_SHEET, 3, 3, STAY, NONE, 4 ; person + object SPRITE_YOUNGSTER, 4, 1, STAY, DOWN, 3 ; person + object SPRITE_PAPER, 3, 3, STAY, NONE, 4 ; person ; warp-to warp_to 2, 7, SAFFRON_PIDGEY_HOUSE_WIDTH diff --git a/data/maps/objects/SaffronPokecenter.asm b/data/maps/objects/SaffronPokecenter.asm index 6921aab6..8396902b 100755 --- a/data/maps/objects/SaffronPokecenter.asm +++ b/data/maps/objects/SaffronPokecenter.asm @@ -9,9 +9,9 @@ SaffronPokecenter_Object: db 4 ; objects object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person - object SPRITE_FOULARD_WOMAN, 5, 5, STAY, NONE, 2 ; person + object SPRITE_BEAUTY, 5, 5, STAY, NONE, 2 ; person object SPRITE_GENTLEMAN, 8, 3, STAY, DOWN, 3 ; person - object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person + object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person ; warp-to warp_to 3, 7, SAFFRON_POKECENTER_WIDTH diff --git a/data/maps/objects/SilphCo10F.asm b/data/maps/objects/SilphCo10F.asm index 0bea3a43..770601ae 100755 --- a/data/maps/objects/SilphCo10F.asm +++ b/data/maps/objects/SilphCo10F.asm @@ -13,11 +13,11 @@ SilphCo10F_Object: db 6 ; objects object SPRITE_ROCKET, 1, 9, STAY, RIGHT, 1, OPP_ROCKET, 39 - object SPRITE_OAK_AIDE, 10, 2, STAY, LEFT, 2, OPP_SCIENTIST, 11 + object SPRITE_SCIENTIST, 10, 2, STAY, LEFT, 2, OPP_SCIENTIST, 11 object SPRITE_ERIKA, 9, 15, WALK, 0, 3 ; person - object SPRITE_BALL, 2, 12, STAY, NONE, 4, TM_EARTHQUAKE - object SPRITE_BALL, 4, 14, STAY, NONE, 5, RARE_CANDY - object SPRITE_BALL, 5, 11, STAY, NONE, 6, CARBOS + object SPRITE_POKE_BALL, 2, 12, STAY, NONE, 4, TM_EARTHQUAKE + object SPRITE_POKE_BALL, 4, 14, STAY, NONE, 5, RARE_CANDY + object SPRITE_POKE_BALL, 5, 11, STAY, NONE, 6, CARBOS ; warp-to warp_to 8, 0, SILPH_CO_10F_WIDTH ; SILPH_CO_9F diff --git a/data/maps/objects/SilphCo11F.asm b/data/maps/objects/SilphCo11F.asm index 3eda424c..c26d5273 100755 --- a/data/maps/objects/SilphCo11F.asm +++ b/data/maps/objects/SilphCo11F.asm @@ -10,8 +10,8 @@ SilphCo11F_Object: db 0 ; signs db 5 ; objects - object SPRITE_MR_MASTERBALL, 7, 5, STAY, DOWN, 1 ; person - object SPRITE_FOULARD_WOMAN, 10, 5, STAY, DOWN, 2 ; person + object SPRITE_SILPH_PRESIDENT, 7, 5, STAY, DOWN, 1 ; person + object SPRITE_BEAUTY, 10, 5, STAY, DOWN, 2 ; person object SPRITE_GIOVANNI, 6, 9, STAY, DOWN, 3, OPP_GIOVANNI, 2 object SPRITE_ROCKET, 3, 16, STAY, UP, 4, OPP_ROCKET, 41 object SPRITE_ROCKET, 15, 9, STAY, UP, 5, OPP_ROCKET, 40 diff --git a/data/maps/objects/SilphCo1F.asm b/data/maps/objects/SilphCo1F.asm index 8d78fba2..0e0df323 100755 --- a/data/maps/objects/SilphCo1F.asm +++ b/data/maps/objects/SilphCo1F.asm @@ -11,7 +11,7 @@ SilphCo1F_Object: db 0 ; signs db 1 ; objects - object SPRITE_CABLE_CLUB_WOMAN, 4, 2, STAY, DOWN, 1 ; person + object SPRITE_LINK_RECEPTIONIST, 4, 2, STAY, DOWN, 1 ; person ; warp-to warp_to 10, 17, SILPH_CO_1F_WIDTH diff --git a/data/maps/objects/SilphCo2F.asm b/data/maps/objects/SilphCo2F.asm index bc30d78d..c226f4d4 100755 --- a/data/maps/objects/SilphCo2F.asm +++ b/data/maps/objects/SilphCo2F.asm @@ -14,8 +14,8 @@ SilphCo2F_Object: db 5 ; objects object SPRITE_ERIKA, 10, 1, STAY, UP, 1 ; person - object SPRITE_OAK_AIDE, 5, 12, STAY, DOWN, 2, OPP_SCIENTIST, 2 - object SPRITE_OAK_AIDE, 24, 13, STAY, LEFT, 3, OPP_SCIENTIST, 3 + object SPRITE_SCIENTIST, 5, 12, STAY, DOWN, 2, OPP_SCIENTIST, 2 + object SPRITE_SCIENTIST, 24, 13, STAY, LEFT, 3, OPP_SCIENTIST, 3 object SPRITE_ROCKET, 16, 11, STAY, UP, 4, OPP_ROCKET, 23 object SPRITE_ROCKET, 24, 7, STAY, UP, 5, OPP_ROCKET, 24 diff --git a/data/maps/objects/SilphCo3F.asm b/data/maps/objects/SilphCo3F.asm index f45cdf81..0c9496de 100755 --- a/data/maps/objects/SilphCo3F.asm +++ b/data/maps/objects/SilphCo3F.asm @@ -16,10 +16,10 @@ SilphCo3F_Object: db 0 ; signs db 4 ; objects - object SPRITE_LAPRAS_GIVER, 24, 8, STAY, NONE, 1 ; person + object SPRITE_SILPH_WORKER, 24, 8, STAY, NONE, 1 ; person object SPRITE_ROCKET, 20, 7, STAY, LEFT, 2, OPP_ROCKET, 25 - object SPRITE_OAK_AIDE, 7, 9, STAY, DOWN, 3, OPP_SCIENTIST, 4 - object SPRITE_BALL, 8, 5, STAY, NONE, 4, HYPER_POTION + object SPRITE_SCIENTIST, 7, 9, STAY, DOWN, 3, OPP_SCIENTIST, 4 + object SPRITE_POKE_BALL, 8, 5, STAY, NONE, 4, HYPER_POTION ; warp-to warp_to 26, 0, SILPH_CO_3F_WIDTH ; SILPH_CO_2F diff --git a/data/maps/objects/SilphCo4F.asm b/data/maps/objects/SilphCo4F.asm index 3d865bbc..ab53309a 100755 --- a/data/maps/objects/SilphCo4F.asm +++ b/data/maps/objects/SilphCo4F.asm @@ -13,13 +13,13 @@ SilphCo4F_Object: db 0 ; signs db 7 ; objects - object SPRITE_LAPRAS_GIVER, 6, 2, STAY, NONE, 1 ; person + object SPRITE_SILPH_WORKER, 6, 2, STAY, NONE, 1 ; person object SPRITE_ROCKET, 9, 14, STAY, RIGHT, 2, OPP_ROCKET, 26 - object SPRITE_OAK_AIDE, 14, 6, STAY, LEFT, 3, OPP_SCIENTIST, 5 + object SPRITE_SCIENTIST, 14, 6, STAY, LEFT, 3, OPP_SCIENTIST, 5 object SPRITE_ROCKET, 26, 10, STAY, UP, 4, OPP_ROCKET, 27 - object SPRITE_BALL, 3, 9, STAY, NONE, 5, FULL_HEAL - object SPRITE_BALL, 4, 7, STAY, NONE, 6, MAX_REVIVE - object SPRITE_BALL, 5, 8, STAY, NONE, 7, ESCAPE_ROPE + object SPRITE_POKE_BALL, 3, 9, STAY, NONE, 5, FULL_HEAL + object SPRITE_POKE_BALL, 4, 7, STAY, NONE, 6, MAX_REVIVE + object SPRITE_POKE_BALL, 5, 8, STAY, NONE, 7, ESCAPE_ROPE ; warp-to warp_to 24, 0, SILPH_CO_4F_WIDTH ; SILPH_CO_3F diff --git a/data/maps/objects/SilphCo5F.asm b/data/maps/objects/SilphCo5F.asm index 86745b21..9b8c74e5 100755 --- a/data/maps/objects/SilphCo5F.asm +++ b/data/maps/objects/SilphCo5F.asm @@ -13,14 +13,14 @@ SilphCo5F_Object: db 0 ; signs db 11 ; objects - object SPRITE_LAPRAS_GIVER, 13, 9, STAY, NONE, 1 ; person + object SPRITE_SILPH_WORKER, 13, 9, STAY, NONE, 1 ; person object SPRITE_ROCKET, 8, 16, STAY, RIGHT, 2, OPP_ROCKET, 28 - object SPRITE_OAK_AIDE, 8, 3, STAY, RIGHT, 3, OPP_SCIENTIST, 6 + object SPRITE_SCIENTIST, 8, 3, STAY, RIGHT, 3, OPP_SCIENTIST, 6 object SPRITE_ROCKER, 18, 10, STAY, UP, 4, OPP_JUGGLER, 1 object SPRITE_ROCKET, 28, 4, STAY, UP, 5, OPP_ROCKET, 29 - object SPRITE_BALL, 2, 13, STAY, NONE, 6, TM_TAKE_DOWN - object SPRITE_BALL, 4, 6, STAY, NONE, 7, PROTEIN - object SPRITE_BALL, 21, 16, STAY, NONE, 8, CARD_KEY + object SPRITE_POKE_BALL, 2, 13, STAY, NONE, 6, TM_TAKE_DOWN + object SPRITE_POKE_BALL, 4, 6, STAY, NONE, 7, PROTEIN + object SPRITE_POKE_BALL, 21, 16, STAY, NONE, 8, CARD_KEY object SPRITE_CLIPBOARD, 22, 12, STAY, NONE, 9 ; person object SPRITE_CLIPBOARD, 25, 10, STAY, NONE, 10 ; person object SPRITE_CLIPBOARD, 24, 6, STAY, NONE, 11 ; person diff --git a/data/maps/objects/SilphCo6F.asm b/data/maps/objects/SilphCo6F.asm index ad2ac32f..fc0787ae 100755 --- a/data/maps/objects/SilphCo6F.asm +++ b/data/maps/objects/SilphCo6F.asm @@ -11,16 +11,16 @@ SilphCo6F_Object: db 0 ; signs db 10 ; objects - object SPRITE_LAPRAS_GIVER, 10, 6, STAY, NONE, 1 ; person - object SPRITE_LAPRAS_GIVER, 20, 6, STAY, NONE, 2 ; person + object SPRITE_SILPH_WORKER, 10, 6, STAY, NONE, 1 ; person + object SPRITE_SILPH_WORKER, 20, 6, STAY, NONE, 2 ; person object SPRITE_ERIKA, 21, 6, STAY, DOWN, 3 ; person object SPRITE_ERIKA, 11, 10, STAY, RIGHT, 4 ; person - object SPRITE_LAPRAS_GIVER, 18, 13, STAY, UP, 5 ; person + object SPRITE_SILPH_WORKER, 18, 13, STAY, UP, 5 ; person object SPRITE_ROCKET, 17, 3, STAY, RIGHT, 6, OPP_ROCKET, 30 - object SPRITE_OAK_AIDE, 7, 8, STAY, DOWN, 7, OPP_SCIENTIST, 7 + object SPRITE_SCIENTIST, 7, 8, STAY, DOWN, 7, OPP_SCIENTIST, 7 object SPRITE_ROCKET, 14, 15, STAY, LEFT, 8, OPP_ROCKET, 31 - object SPRITE_BALL, 3, 12, STAY, NONE, 9, HP_UP - object SPRITE_BALL, 2, 15, STAY, NONE, 10, X_ACCURACY + object SPRITE_POKE_BALL, 3, 12, STAY, NONE, 9, HP_UP + object SPRITE_POKE_BALL, 2, 15, STAY, NONE, 10, X_ACCURACY ; warp-to warp_to 16, 0, SILPH_CO_6F_WIDTH ; SILPH_CO_7F diff --git a/data/maps/objects/SilphCo7F.asm b/data/maps/objects/SilphCo7F.asm index 7202a469..1b75e66e 100755 --- a/data/maps/objects/SilphCo7F.asm +++ b/data/maps/objects/SilphCo7F.asm @@ -12,17 +12,17 @@ SilphCo7F_Object: db 0 ; signs db 11 ; objects - object SPRITE_LAPRAS_GIVER, 1, 5, STAY, NONE, 1 ; person - object SPRITE_LAPRAS_GIVER, 13, 13, STAY, UP, 2 ; person - object SPRITE_LAPRAS_GIVER, 7, 10, STAY, NONE, 3 ; person + object SPRITE_SILPH_WORKER, 1, 5, STAY, NONE, 1 ; person + object SPRITE_SILPH_WORKER, 13, 13, STAY, UP, 2 ; person + object SPRITE_SILPH_WORKER, 7, 10, STAY, NONE, 3 ; person object SPRITE_ERIKA, 10, 8, STAY, NONE, 4 ; person object SPRITE_ROCKET, 13, 1, STAY, DOWN, 5, OPP_ROCKET, 32 - object SPRITE_OAK_AIDE, 2, 13, STAY, DOWN, 6, OPP_SCIENTIST, 8 + object SPRITE_SCIENTIST, 2, 13, STAY, DOWN, 6, OPP_SCIENTIST, 8 object SPRITE_ROCKET, 20, 2, STAY, LEFT, 7, OPP_ROCKET, 33 object SPRITE_ROCKET, 19, 14, STAY, RIGHT, 8, OPP_ROCKET, 34 object SPRITE_BLUE, 3, 7, STAY, UP, 9 ; person - object SPRITE_BALL, 1, 9, STAY, NONE, 10, CALCIUM - object SPRITE_BALL, 24, 11, STAY, NONE, 11, TM_SWORDS_DANCE + object SPRITE_POKE_BALL, 1, 9, STAY, NONE, 10, CALCIUM + object SPRITE_POKE_BALL, 24, 11, STAY, NONE, 11, TM_SWORDS_DANCE ; warp-to warp_to 16, 0, SILPH_CO_7F_WIDTH ; SILPH_CO_8F diff --git a/data/maps/objects/SilphCo8F.asm b/data/maps/objects/SilphCo8F.asm index d05c7844..12470f55 100755 --- a/data/maps/objects/SilphCo8F.asm +++ b/data/maps/objects/SilphCo8F.asm @@ -13,9 +13,9 @@ SilphCo8F_Object: db 0 ; signs db 4 ; objects - object SPRITE_LAPRAS_GIVER, 4, 2, STAY, NONE, 1 ; person + object SPRITE_SILPH_WORKER, 4, 2, STAY, NONE, 1 ; person object SPRITE_ROCKET, 19, 2, STAY, LEFT, 2, OPP_ROCKET, 35 - object SPRITE_OAK_AIDE, 10, 2, STAY, DOWN, 3, OPP_SCIENTIST, 9 + object SPRITE_SCIENTIST, 10, 2, STAY, DOWN, 3, OPP_SCIENTIST, 9 object SPRITE_ROCKET, 12, 15, STAY, RIGHT, 4, OPP_ROCKET, 36 ; warp-to diff --git a/data/maps/objects/SilphCo9F.asm b/data/maps/objects/SilphCo9F.asm index 28ef5f10..efba45f7 100755 --- a/data/maps/objects/SilphCo9F.asm +++ b/data/maps/objects/SilphCo9F.asm @@ -13,7 +13,7 @@ SilphCo9F_Object: db 4 ; objects object SPRITE_NURSE, 3, 14, STAY, DOWN, 1 ; person object SPRITE_ROCKET, 2, 4, STAY, UP, 2, OPP_ROCKET, 37 - object SPRITE_OAK_AIDE, 21, 13, STAY, DOWN, 3, OPP_SCIENTIST, 10 + object SPRITE_SCIENTIST, 21, 13, STAY, DOWN, 3, OPP_SCIENTIST, 10 object SPRITE_ROCKET, 13, 16, STAY, UP, 4, OPP_ROCKET, 38 ; warp-to diff --git a/data/maps/objects/UndergroundPathRoute7.asm b/data/maps/objects/UndergroundPathRoute7.asm index 1c365d59..4e301811 100755 --- a/data/maps/objects/UndergroundPathRoute7.asm +++ b/data/maps/objects/UndergroundPathRoute7.asm @@ -9,7 +9,7 @@ UndergroundPathRoute7_Object: db 0 ; signs db 1 ; objects - object SPRITE_FAT_BALD_GUY, 2, 4, STAY, NONE, 1 ; person + object SPRITE_MIDDLE_AGED_MAN, 2, 4, STAY, NONE, 1 ; person ; warp-to warp_to 3, 7, UNDERGROUND_PATH_ROUTE_7_WIDTH diff --git a/data/maps/objects/UndergroundPathRoute7Copy.asm b/data/maps/objects/UndergroundPathRoute7Copy.asm index 2ae8a4d1..9486fb87 100755 --- a/data/maps/objects/UndergroundPathRoute7Copy.asm +++ b/data/maps/objects/UndergroundPathRoute7Copy.asm @@ -10,7 +10,7 @@ UndergroundPathRoute7Copy_Object: db 2 ; objects object SPRITE_GIRL, 3, 2, STAY, NONE, 1 ; person - object SPRITE_FAT_BALD_GUY, 2, 4, STAY, NONE, 2 ; person + object SPRITE_MIDDLE_AGED_MAN, 2, 4, STAY, NONE, 2 ; person ; warp-to warp_to 3, 7, UNDERGROUND_PATH_ROUTE_7_COPY_WIDTH diff --git a/data/maps/objects/VermilionCity.asm b/data/maps/objects/VermilionCity.asm index b1e1a005..692ef5dd 100755 --- a/data/maps/objects/VermilionCity.asm +++ b/data/maps/objects/VermilionCity.asm @@ -22,11 +22,11 @@ VermilionCity_Object: sign 29, 15, 13 ; VermilionCityText13 db 6 ; objects - object SPRITE_FOULARD_WOMAN, 19, 7, WALK, 2, 1 ; person + object SPRITE_BEAUTY, 19, 7, WALK, 2, 1 ; person object SPRITE_GAMBLER, 14, 6, STAY, NONE, 2 ; person object SPRITE_SAILOR, 19, 30, STAY, UP, 3 ; person object SPRITE_GAMBLER, 30, 7, STAY, NONE, 4 ; person - object SPRITE_SLOWBRO, 29, 9, WALK, 1, 5 ; person + object SPRITE_MONSTER, 29, 9, WALK, 1, 5 ; person object SPRITE_SAILOR, 25, 27, WALK, 2, 6 ; person ; warp-to diff --git a/data/maps/objects/VermilionGym.asm b/data/maps/objects/VermilionGym.asm index 05cb529a..f5cc7b87 100755 --- a/data/maps/objects/VermilionGym.asm +++ b/data/maps/objects/VermilionGym.asm @@ -10,9 +10,9 @@ VermilionGym_Object: db 5 ; objects object SPRITE_ROCKER, 5, 1, STAY, DOWN, 1, OPP_LT_SURGE, 1 object SPRITE_GENTLEMAN, 9, 6, STAY, LEFT, 2, OPP_GENTLEMAN, 3 - object SPRITE_BLACK_HAIR_BOY_2, 3, 8, STAY, LEFT, 3, OPP_ROCKER, 1 + object SPRITE_SUPER_NERD, 3, 8, STAY, LEFT, 3, OPP_ROCKER, 1 object SPRITE_SAILOR, 0, 10, STAY, RIGHT, 4, OPP_SAILOR, 8 - object SPRITE_GYM_HELPER, 4, 14, STAY, DOWN, 5 ; person + object SPRITE_GYM_GUIDE, 4, 14, STAY, DOWN, 5 ; person ; warp-to warp_to 4, 17, VERMILION_GYM_WIDTH diff --git a/data/maps/objects/VermilionMart.asm b/data/maps/objects/VermilionMart.asm index e27020da..f7b358de 100755 --- a/data/maps/objects/VermilionMart.asm +++ b/data/maps/objects/VermilionMart.asm @@ -8,9 +8,9 @@ VermilionMart_Object: db 0 ; signs db 3 ; objects - object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person - object SPRITE_BLACK_HAIR_BOY_1, 5, 6, STAY, NONE, 2 ; person - object SPRITE_LASS, 3, 3, WALK, 2, 3 ; person + object SPRITE_CLERK, 0, 5, STAY, RIGHT, 1 ; person + object SPRITE_COOLTRAINER_M, 5, 6, STAY, NONE, 2 ; person + object SPRITE_COOLTRAINER_F, 3, 3, WALK, 2, 3 ; person ; warp-to warp_to 3, 7, VERMILION_MART_WIDTH diff --git a/data/maps/objects/VermilionOldRodHouse.asm b/data/maps/objects/VermilionOldRodHouse.asm index c8d407b8..f81ded30 100755 --- a/data/maps/objects/VermilionOldRodHouse.asm +++ b/data/maps/objects/VermilionOldRodHouse.asm @@ -8,7 +8,7 @@ VermilionOldRodHouse_Object: db 0 ; signs db 1 ; objects - object SPRITE_FISHER, 2, 4, STAY, RIGHT, 1 ; person + object SPRITE_FISHING_GURU, 2, 4, STAY, RIGHT, 1 ; person ; warp-to warp_to 2, 7, VERMILION_OLD_ROD_HOUSE_WIDTH diff --git a/data/maps/objects/VermilionPidgeyHouse.asm b/data/maps/objects/VermilionPidgeyHouse.asm index 5ee288f3..fbd39231 100755 --- a/data/maps/objects/VermilionPidgeyHouse.asm +++ b/data/maps/objects/VermilionPidgeyHouse.asm @@ -8,9 +8,9 @@ VermilionPidgeyHouse_Object: db 0 ; signs db 3 ; objects - object SPRITE_BUG_CATCHER, 5, 3, STAY, LEFT, 1 ; person + object SPRITE_YOUNGSTER, 5, 3, STAY, LEFT, 1 ; person object SPRITE_BIRD, 3, 5, WALK, 2, 2 ; person - object SPRITE_PAPER_SHEET, 4, 3, STAY, NONE, 3 ; person + object SPRITE_PAPER, 4, 3, STAY, NONE, 3 ; person ; warp-to warp_to 2, 7, VERMILION_PIDGEY_HOUSE_WIDTH diff --git a/data/maps/objects/VermilionPokecenter.asm b/data/maps/objects/VermilionPokecenter.asm index 427e44e6..f527c890 100755 --- a/data/maps/objects/VermilionPokecenter.asm +++ b/data/maps/objects/VermilionPokecenter.asm @@ -9,9 +9,9 @@ VermilionPokecenter_Object: db 4 ; objects object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person - object SPRITE_FISHER, 10, 5, STAY, NONE, 2 ; person + object SPRITE_FISHING_GURU, 10, 5, STAY, NONE, 2 ; person object SPRITE_SAILOR, 5, 4, STAY, NONE, 3 ; person - object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person + object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person ; warp-to warp_to 3, 7, VERMILION_POKECENTER_WIDTH diff --git a/data/maps/objects/VictoryRoad1F.asm b/data/maps/objects/VictoryRoad1F.asm index 72fd1468..271be1b8 100755 --- a/data/maps/objects/VictoryRoad1F.asm +++ b/data/maps/objects/VictoryRoad1F.asm @@ -9,10 +9,10 @@ VictoryRoad1F_Object: db 0 ; signs db 7 ; objects - object SPRITE_LASS, 7, 5, STAY, RIGHT, 1, OPP_COOLTRAINER_F, 5 - object SPRITE_BLACK_HAIR_BOY_1, 3, 2, STAY, DOWN, 2, OPP_COOLTRAINER_M, 5 - object SPRITE_BALL, 11, 0, STAY, NONE, 3, TM_SKY_ATTACK - object SPRITE_BALL, 9, 2, STAY, NONE, 4, RARE_CANDY + object SPRITE_COOLTRAINER_F, 7, 5, STAY, RIGHT, 1, OPP_COOLTRAINER_F, 5 + object SPRITE_COOLTRAINER_M, 3, 2, STAY, DOWN, 2, OPP_COOLTRAINER_M, 5 + object SPRITE_POKE_BALL, 11, 0, STAY, NONE, 3, TM_SKY_ATTACK + object SPRITE_POKE_BALL, 9, 2, STAY, NONE, 4, RARE_CANDY object SPRITE_BOULDER, 5, 15, STAY, BOULDER_MOVEMENT_BYTE_2, 5 ; person object SPRITE_BOULDER, 14, 2, STAY, BOULDER_MOVEMENT_BYTE_2, 6 ; person object SPRITE_BOULDER, 2, 10, STAY, BOULDER_MOVEMENT_BYTE_2, 7 ; person diff --git a/data/maps/objects/VictoryRoad2F.asm b/data/maps/objects/VictoryRoad2F.asm index 170e25e7..a7f6d102 100755 --- a/data/maps/objects/VictoryRoad2F.asm +++ b/data/maps/objects/VictoryRoad2F.asm @@ -14,15 +14,15 @@ VictoryRoad2F_Object: db 13 ; objects object SPRITE_HIKER, 12, 9, STAY, LEFT, 1, OPP_BLACKBELT, 9 - object SPRITE_BLACK_HAIR_BOY_2, 21, 13, STAY, LEFT, 2, OPP_JUGGLER, 2 - object SPRITE_BLACK_HAIR_BOY_1, 19, 8, STAY, DOWN, 3, OPP_TAMER, 5 - object SPRITE_BLACK_HAIR_BOY_2, 4, 2, STAY, DOWN, 4, OPP_POKEMANIAC, 6 - object SPRITE_BLACK_HAIR_BOY_2, 26, 3, STAY, LEFT, 5, OPP_JUGGLER, 5 + object SPRITE_SUPER_NERD, 21, 13, STAY, LEFT, 2, OPP_JUGGLER, 2 + object SPRITE_COOLTRAINER_M, 19, 8, STAY, DOWN, 3, OPP_TAMER, 5 + object SPRITE_SUPER_NERD, 4, 2, STAY, DOWN, 4, OPP_POKEMANIAC, 6 + object SPRITE_SUPER_NERD, 26, 3, STAY, LEFT, 5, OPP_JUGGLER, 5 object SPRITE_BIRD, 11, 5, STAY, UP, 6, MOLTRES, 50 - object SPRITE_BALL, 27, 5, STAY, NONE, 7, TM_SUBMISSION - object SPRITE_BALL, 18, 9, STAY, NONE, 8, FULL_HEAL - object SPRITE_BALL, 9, 11, STAY, NONE, 9, TM_MEGA_KICK - object SPRITE_BALL, 11, 0, STAY, NONE, 10, GUARD_SPEC + object SPRITE_POKE_BALL, 27, 5, STAY, NONE, 7, TM_SUBMISSION + object SPRITE_POKE_BALL, 18, 9, STAY, NONE, 8, FULL_HEAL + object SPRITE_POKE_BALL, 9, 11, STAY, NONE, 9, TM_MEGA_KICK + object SPRITE_POKE_BALL, 11, 0, STAY, NONE, 10, GUARD_SPEC object SPRITE_BOULDER, 4, 14, STAY, BOULDER_MOVEMENT_BYTE_2, 11 ; person object SPRITE_BOULDER, 5, 5, STAY, BOULDER_MOVEMENT_BYTE_2, 12 ; person object SPRITE_BOULDER, 23, 16, STAY, BOULDER_MOVEMENT_BYTE_2, 13 ; person diff --git a/data/maps/objects/VictoryRoad3F.asm b/data/maps/objects/VictoryRoad3F.asm index f5eeae79..ad4bd29f 100755 --- a/data/maps/objects/VictoryRoad3F.asm +++ b/data/maps/objects/VictoryRoad3F.asm @@ -10,12 +10,12 @@ VictoryRoad3F_Object: db 0 ; signs db 10 ; objects - object SPRITE_BLACK_HAIR_BOY_1, 28, 5, STAY, LEFT, 1, OPP_COOLTRAINER_M, 2 - object SPRITE_LASS, 7, 13, STAY, RIGHT, 2, OPP_COOLTRAINER_F, 2 - object SPRITE_BLACK_HAIR_BOY_1, 6, 14, STAY, LEFT, 3, OPP_COOLTRAINER_M, 3 - object SPRITE_LASS, 13, 3, STAY, RIGHT, 4, OPP_COOLTRAINER_F, 3 - object SPRITE_BALL, 26, 5, STAY, NONE, 5, MAX_REVIVE - object SPRITE_BALL, 7, 7, STAY, NONE, 6, TM_EXPLOSION + object SPRITE_COOLTRAINER_M, 28, 5, STAY, LEFT, 1, OPP_COOLTRAINER_M, 2 + object SPRITE_COOLTRAINER_F, 7, 13, STAY, RIGHT, 2, OPP_COOLTRAINER_F, 2 + object SPRITE_COOLTRAINER_M, 6, 14, STAY, LEFT, 3, OPP_COOLTRAINER_M, 3 + object SPRITE_COOLTRAINER_F, 13, 3, STAY, RIGHT, 4, OPP_COOLTRAINER_F, 3 + object SPRITE_POKE_BALL, 26, 5, STAY, NONE, 5, MAX_REVIVE + object SPRITE_POKE_BALL, 7, 7, STAY, NONE, 6, TM_EXPLOSION object SPRITE_BOULDER, 22, 3, STAY, BOULDER_MOVEMENT_BYTE_2, 7 ; person object SPRITE_BOULDER, 13, 12, STAY, BOULDER_MOVEMENT_BYTE_2, 8 ; person object SPRITE_BOULDER, 24, 10, STAY, BOULDER_MOVEMENT_BYTE_2, 9 ; person diff --git a/data/maps/objects/ViridianCity.asm b/data/maps/objects/ViridianCity.asm index 32fe8d3a..02543af8 100755 --- a/data/maps/objects/ViridianCity.asm +++ b/data/maps/objects/ViridianCity.asm @@ -17,12 +17,12 @@ ViridianCity_Object: sign 27, 7, 13 ; ViridianCityText13 db 7 ; objects - object SPRITE_BUG_CATCHER, 13, 20, WALK, 0, 1 ; person + object SPRITE_YOUNGSTER, 13, 20, WALK, 0, 1 ; person object SPRITE_GAMBLER, 30, 8, STAY, NONE, 2 ; person - object SPRITE_BUG_CATCHER, 30, 25, WALK, 0, 3 ; person + object SPRITE_YOUNGSTER, 30, 25, WALK, 0, 3 ; person object SPRITE_GIRL, 17, 9, STAY, RIGHT, 4 ; person - object SPRITE_LYING_OLD_MAN, 18, 9, STAY, NONE, 5 ; person - object SPRITE_FISHER2, 6, 23, STAY, DOWN, 6 ; person + object SPRITE_GAMBLER_ASLEEP, 18, 9, STAY, NONE, 5 ; person + object SPRITE_FISHER, 6, 23, STAY, DOWN, 6 ; person object SPRITE_GAMBLER, 17, 5, WALK, 2, 7 ; person ; warp-to diff --git a/data/maps/objects/ViridianForest.asm b/data/maps/objects/ViridianForest.asm index cbcb6ff8..beee25c2 100755 --- a/data/maps/objects/ViridianForest.asm +++ b/data/maps/objects/ViridianForest.asm @@ -18,14 +18,14 @@ ViridianForest_Object: sign 2, 1, 14 ; ViridianForestText14 db 8 ; objects - object SPRITE_BUG_CATCHER, 16, 43, STAY, NONE, 1 ; person - object SPRITE_BUG_CATCHER, 30, 33, STAY, LEFT, 2, OPP_BUG_CATCHER, 1 - object SPRITE_BUG_CATCHER, 30, 19, STAY, LEFT, 3, OPP_BUG_CATCHER, 2 - object SPRITE_BUG_CATCHER, 2, 18, STAY, LEFT, 4, OPP_BUG_CATCHER, 3 - object SPRITE_BALL, 25, 11, STAY, NONE, 5, ANTIDOTE - object SPRITE_BALL, 12, 29, STAY, NONE, 6, POTION - object SPRITE_BALL, 1, 31, STAY, NONE, 7, POKE_BALL - object SPRITE_BUG_CATCHER, 27, 40, STAY, NONE, 8 ; person + object SPRITE_YOUNGSTER, 16, 43, STAY, NONE, 1 ; person + object SPRITE_YOUNGSTER, 30, 33, STAY, LEFT, 2, OPP_BUG_CATCHER, 1 + object SPRITE_YOUNGSTER, 30, 19, STAY, LEFT, 3, OPP_BUG_CATCHER, 2 + object SPRITE_YOUNGSTER, 2, 18, STAY, LEFT, 4, OPP_BUG_CATCHER, 3 + object SPRITE_POKE_BALL, 25, 11, STAY, NONE, 5, ANTIDOTE + object SPRITE_POKE_BALL, 12, 29, STAY, NONE, 6, POTION + object SPRITE_POKE_BALL, 1, 31, STAY, NONE, 7, POKE_BALL + object SPRITE_YOUNGSTER, 27, 40, STAY, NONE, 8 ; person ; warp-to warp_to 1, 0, VIRIDIAN_FOREST_WIDTH ; VIRIDIAN_FOREST_NORTH_GATE diff --git a/data/maps/objects/ViridianForestNorthGate.asm b/data/maps/objects/ViridianForestNorthGate.asm index 1bc271fe..9ff88a81 100755 --- a/data/maps/objects/ViridianForestNorthGate.asm +++ b/data/maps/objects/ViridianForestNorthGate.asm @@ -10,8 +10,8 @@ ViridianForestNorthGate_Object: db 0 ; signs db 2 ; objects - object SPRITE_BLACK_HAIR_BOY_2, 3, 2, STAY, NONE, 1 ; person - object SPRITE_OLD_PERSON, 2, 5, STAY, NONE, 2 ; person + object SPRITE_SUPER_NERD, 3, 2, STAY, NONE, 1 ; person + object SPRITE_GRAMPS, 2, 5, STAY, NONE, 2 ; person ; warp-to warp_to 4, 0, VIRIDIAN_FOREST_NORTH_GATE_WIDTH diff --git a/data/maps/objects/ViridianGym.asm b/data/maps/objects/ViridianGym.asm index 71cd6147..d6ee127c 100755 --- a/data/maps/objects/ViridianGym.asm +++ b/data/maps/objects/ViridianGym.asm @@ -9,16 +9,16 @@ ViridianGym_Object: db 11 ; objects object SPRITE_GIOVANNI, 2, 1, STAY, DOWN, 1, OPP_GIOVANNI, 3 - object SPRITE_BLACK_HAIR_BOY_1, 12, 7, STAY, DOWN, 2, OPP_COOLTRAINER_M, 9 + object SPRITE_COOLTRAINER_M, 12, 7, STAY, DOWN, 2, OPP_COOLTRAINER_M, 9 object SPRITE_HIKER, 11, 11, STAY, UP, 3, OPP_BLACKBELT, 6 object SPRITE_ROCKER, 10, 7, STAY, DOWN, 4, OPP_TAMER, 3 object SPRITE_HIKER, 3, 7, STAY, LEFT, 5, OPP_BLACKBELT, 7 - object SPRITE_BLACK_HAIR_BOY_1, 13, 5, STAY, RIGHT, 6, OPP_COOLTRAINER_M, 10 + object SPRITE_COOLTRAINER_M, 13, 5, STAY, RIGHT, 6, OPP_COOLTRAINER_M, 10 object SPRITE_HIKER, 10, 1, STAY, DOWN, 7, OPP_BLACKBELT, 8 object SPRITE_ROCKER, 2, 16, STAY, RIGHT, 8, OPP_TAMER, 4 - object SPRITE_BLACK_HAIR_BOY_1, 6, 5, STAY, DOWN, 9, OPP_COOLTRAINER_M, 1 - object SPRITE_GYM_HELPER, 16, 15, STAY, DOWN, 10 ; person - object SPRITE_BALL, 16, 9, STAY, NONE, 11, REVIVE + object SPRITE_COOLTRAINER_M, 6, 5, STAY, DOWN, 9, OPP_COOLTRAINER_M, 1 + object SPRITE_GYM_GUIDE, 16, 15, STAY, DOWN, 10 ; person + object SPRITE_POKE_BALL, 16, 9, STAY, NONE, 11, REVIVE ; warp-to warp_to 16, 17, VIRIDIAN_GYM_WIDTH diff --git a/data/maps/objects/ViridianMart.asm b/data/maps/objects/ViridianMart.asm index c8aa541b..9c8b7497 100755 --- a/data/maps/objects/ViridianMart.asm +++ b/data/maps/objects/ViridianMart.asm @@ -8,9 +8,9 @@ ViridianMart_Object: db 0 ; signs db 3 ; objects - object SPRITE_MART_GUY, 0, 5, STAY, RIGHT, 1 ; person - object SPRITE_BUG_CATCHER, 5, 5, WALK, 1, 2 ; person - object SPRITE_BLACK_HAIR_BOY_1, 3, 3, STAY, NONE, 3 ; person + object SPRITE_CLERK, 0, 5, STAY, RIGHT, 1 ; person + object SPRITE_YOUNGSTER, 5, 5, WALK, 1, 2 ; person + object SPRITE_COOLTRAINER_M, 3, 3, STAY, NONE, 3 ; person ; warp-to warp_to 3, 7, VIRIDIAN_MART_WIDTH diff --git a/data/maps/objects/ViridianPokecenter.asm b/data/maps/objects/ViridianPokecenter.asm index e6da0375..b2410218 100755 --- a/data/maps/objects/ViridianPokecenter.asm +++ b/data/maps/objects/ViridianPokecenter.asm @@ -10,8 +10,8 @@ ViridianPokecenter_Object: db 4 ; objects object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person object SPRITE_GENTLEMAN, 10, 5, WALK, 1, 2 ; person - object SPRITE_BLACK_HAIR_BOY_1, 4, 3, STAY, NONE, 3 ; person - object SPRITE_CABLE_CLUB_WOMAN, 11, 2, STAY, DOWN, 4 ; person + object SPRITE_COOLTRAINER_M, 4, 3, STAY, NONE, 3 ; person + object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person ; warp-to warp_to 3, 7, VIRIDIAN_POKECENTER_WIDTH diff --git a/data/maps/objects/ViridianSchoolHouse.asm b/data/maps/objects/ViridianSchoolHouse.asm index c6b95c9b..582a4d00 100755 --- a/data/maps/objects/ViridianSchoolHouse.asm +++ b/data/maps/objects/ViridianSchoolHouse.asm @@ -9,7 +9,7 @@ ViridianSchoolHouse_Object: db 2 ; objects object SPRITE_BRUNETTE_GIRL, 3, 5, STAY, UP, 1 ; person - object SPRITE_LASS, 4, 1, STAY, DOWN, 2 ; person + object SPRITE_COOLTRAINER_F, 4, 1, STAY, DOWN, 2 ; person ; warp-to warp_to 2, 7, VIRIDIAN_SCHOOL_HOUSE_WIDTH diff --git a/data/maps/objects/WardensHouse.asm b/data/maps/objects/WardensHouse.asm index da1c197c..307390f3 100755 --- a/data/maps/objects/WardensHouse.asm +++ b/data/maps/objects/WardensHouse.asm @@ -11,7 +11,7 @@ WardensHouse_Object: db 3 ; objects object SPRITE_WARDEN, 2, 3, STAY, NONE, 1 ; person - object SPRITE_BALL, 8, 3, STAY, NONE, 2, RARE_CANDY + object SPRITE_POKE_BALL, 8, 3, STAY, NONE, 2, RARE_CANDY object SPRITE_BOULDER, 8, 4, STAY, BOULDER_MOVEMENT_BYTE_2, 3 ; person ; warp-to diff --git a/data/maps/sprite_sets.asm b/data/maps/sprite_sets.asm index ee6ddef0..1cc0b128 100755 --- a/data/maps/sprite_sets.asm +++ b/data/maps/sprite_sets.asm @@ -61,130 +61,130 @@ SplitMapSpriteSets: SpriteSets: ; sprite set $01 db SPRITE_BLUE - db SPRITE_BUG_CATCHER + db SPRITE_YOUNGSTER db SPRITE_GIRL - db SPRITE_FISHER2 - db SPRITE_BLACK_HAIR_BOY_1 + db SPRITE_FISHER + db SPRITE_COOLTRAINER_M db SPRITE_GAMBLER db SPRITE_SEEL db SPRITE_OAK db SPRITE_SWIMMER - db SPRITE_BALL - db SPRITE_LYING_OLD_MAN + db SPRITE_POKE_BALL + db SPRITE_GAMBLER_ASLEEP ; sprite set $02 - db SPRITE_BUG_CATCHER + db SPRITE_YOUNGSTER db SPRITE_ROCKET - db SPRITE_BLACK_HAIR_BOY_2 + db SPRITE_SUPER_NERD db SPRITE_HIKER - db SPRITE_SLOWBRO + db SPRITE_MONSTER db SPRITE_BLUE db SPRITE_GUARD - db SPRITE_LASS - db SPRITE_BLACK_HAIR_BOY_1 - db SPRITE_BALL - db SPRITE_LYING_OLD_MAN_UNUSED_2 + db SPRITE_COOLTRAINER_F + db SPRITE_COOLTRAINER_M + db SPRITE_POKE_BALL + db SPRITE_UNUSED_GAMBLER_ASLEEP_2 ; sprite set $03 db SPRITE_LITTLE_GIRL db SPRITE_GIRL - db SPRITE_BLACK_HAIR_BOY_2 + db SPRITE_SUPER_NERD db SPRITE_HIKER db SPRITE_GAMBLER - db SPRITE_SLOWBRO - db SPRITE_LASS - db SPRITE_BLACK_HAIR_BOY_1 + db SPRITE_MONSTER + db SPRITE_COOLTRAINER_F + db SPRITE_COOLTRAINER_M db SPRITE_GUARD - db SPRITE_BALL - db SPRITE_LYING_OLD_MAN_UNUSED_2 + db SPRITE_POKE_BALL + db SPRITE_UNUSED_GAMBLER_ASLEEP_2 ; sprite set $04 - db SPRITE_FOULARD_WOMAN - db SPRITE_BLACK_HAIR_BOY_2 - db SPRITE_BUG_CATCHER + db SPRITE_BEAUTY + db SPRITE_SUPER_NERD + db SPRITE_YOUNGSTER db SPRITE_GAMBLER - db SPRITE_SLOWBRO + db SPRITE_MONSTER db SPRITE_GUARD db SPRITE_SAILOR - db SPRITE_LASS - db SPRITE_BLACK_HAIR_BOY_1 - db SPRITE_BALL - db SPRITE_LYING_OLD_MAN_UNUSED_2 + db SPRITE_COOLTRAINER_F + db SPRITE_COOLTRAINER_M + db SPRITE_POKE_BALL + db SPRITE_UNUSED_GAMBLER_ASLEEP_2 ; sprite set $05 db SPRITE_LITTLE_GIRL - db SPRITE_YOUNG_BOY + db SPRITE_LITTLE_BOY db SPRITE_GIRL - db SPRITE_FISHER2 - db SPRITE_FAT_BALD_GUY - db SPRITE_OLD_PERSON - db SPRITE_SLOWBRO + db SPRITE_FISHER + db SPRITE_MIDDLE_AGED_MAN + db SPRITE_GRAMPS + db SPRITE_MONSTER db SPRITE_GUARD db SPRITE_ROCKET - db SPRITE_BALL + db SPRITE_POKE_BALL db SPRITE_SNORLAX ; sprite set $06 - db SPRITE_BUG_CATCHER - db SPRITE_GYM_HELPER - db SPRITE_SLOWBRO + db SPRITE_YOUNGSTER + db SPRITE_GYM_GUIDE + db SPRITE_MONSTER db SPRITE_BLUE - db SPRITE_LASS - db SPRITE_BLACK_HAIR_BOY_1 + db SPRITE_COOLTRAINER_F + db SPRITE_COOLTRAINER_M db SPRITE_SWIMMER db SPRITE_GUARD db SPRITE_GAMBLER - db SPRITE_BALL - db SPRITE_LYING_OLD_MAN_UNUSED_2 + db SPRITE_POKE_BALL + db SPRITE_UNUSED_GAMBLER_ASLEEP_2 ; sprite set $07 db SPRITE_ROCKET - db SPRITE_OAK_AIDE - db SPRITE_LAPRAS_GIVER + db SPRITE_SCIENTIST + db SPRITE_SILPH_WORKER db SPRITE_ERIKA db SPRITE_GENTLEMAN db SPRITE_BIRD db SPRITE_ROCKER - db SPRITE_BLACK_HAIR_BOY_1 - db SPRITE_SLOWBRO - db SPRITE_BALL - db SPRITE_LYING_OLD_MAN_UNUSED_2 + db SPRITE_COOLTRAINER_M + db SPRITE_MONSTER + db SPRITE_POKE_BALL + db SPRITE_UNUSED_GAMBLER_ASLEEP_2 ; sprite set $08 db SPRITE_BIKER - db SPRITE_BLACK_HAIR_BOY_2 - db SPRITE_FAT_BALD_GUY - db SPRITE_LASS - db SPRITE_BLACK_HAIR_BOY_1 - db SPRITE_FOULARD_WOMAN - db SPRITE_FISHER2 + db SPRITE_SUPER_NERD + db SPRITE_MIDDLE_AGED_MAN + db SPRITE_COOLTRAINER_F + db SPRITE_COOLTRAINER_M + db SPRITE_BEAUTY + db SPRITE_FISHER db SPRITE_ROCKER - db SPRITE_SLOWBRO - db SPRITE_BALL + db SPRITE_MONSTER + db SPRITE_POKE_BALL db SPRITE_SNORLAX ; sprite set $09 db SPRITE_BIKER - db SPRITE_BLACK_HAIR_BOY_1 - db SPRITE_LAPRAS_GIVER - db SPRITE_FISHER2 + db SPRITE_COOLTRAINER_M + db SPRITE_SILPH_WORKER + db SPRITE_FISHER db SPRITE_ROCKER db SPRITE_HIKER db SPRITE_GAMBLER - db SPRITE_FAT_BALD_GUY - db SPRITE_BLACK_HAIR_BOY_2 - db SPRITE_BALL + db SPRITE_MIDDLE_AGED_MAN + db SPRITE_SUPER_NERD + db SPRITE_POKE_BALL db SPRITE_SNORLAX ; sprite set $0a db SPRITE_BIRD - db SPRITE_BLACK_HAIR_BOY_1 - db SPRITE_CLEFAIRY - db SPRITE_FISHER2 + db SPRITE_COOLTRAINER_M + db SPRITE_FAIRY + db SPRITE_FISHER db SPRITE_GAMBLER - db SPRITE_SLOWBRO + db SPRITE_MONSTER db SPRITE_SEEL db SPRITE_SWIMMER - db SPRITE_BUG_CATCHER - db SPRITE_BALL - db SPRITE_OMANYTE + db SPRITE_YOUNGSTER + db SPRITE_POKE_BALL + db SPRITE_FOSSIL diff --git a/data/sprites/sprites.asm b/data/sprites/sprites.asm index 656d64dd..6b4f2ba0 100644 --- a/data/sprites/sprites.asm +++ b/data/sprites/sprites.asm @@ -6,75 +6,75 @@ ENDM SpriteSheetPointerTable: ; graphics, tile count - overworld_sprite RedSprite, 12 ; SPRITE_RED - overworld_sprite BlueSprite, 12 ; SPRITE_BLUE - overworld_sprite OakSprite, 12 ; SPRITE_OAK - overworld_sprite BugCatcherSprite, 12 ; SPRITE_BUG_CATCHER - overworld_sprite SlowbroSprite, 12 ; SPRITE_SLOWBRO - overworld_sprite LassSprite, 12 ; SPRITE_LASS - overworld_sprite BlackHairBoy1Sprite, 12 ; SPRITE_BLACK_HAIR_BOY_1 - overworld_sprite LittleGirlSprite, 12 ; SPRITE_LITTLE_GIRL - overworld_sprite BirdSprite, 12 ; SPRITE_BIRD - overworld_sprite FatBaldGuySprite, 12 ; SPRITE_FAT_BALD_GUY - overworld_sprite GamblerSprite, 12 ; SPRITE_GAMBLER - overworld_sprite BlackHairBoy2Sprite, 12 ; SPRITE_BLACK_HAIR_BOY_2 - overworld_sprite GirlSprite, 12 ; SPRITE_GIRL - overworld_sprite HikerSprite, 12 ; SPRITE_HIKER - overworld_sprite FoulardWomanSprite, 12 ; SPRITE_FOULARD_WOMAN - overworld_sprite GentlemanSprite, 12 ; SPRITE_GENTLEMAN - overworld_sprite DaisySprite, 12 ; SPRITE_DAISY - overworld_sprite BikerSprite, 12 ; SPRITE_BIKER - overworld_sprite SailorSprite, 12 ; SPRITE_SAILOR - overworld_sprite CookSprite, 12 ; SPRITE_COOK - overworld_sprite BikeShopGuySprite, 12 ; SPRITE_BIKE_SHOP_GUY - overworld_sprite MrFujiSprite, 12 ; SPRITE_MR_FUJI - overworld_sprite GiovanniSprite, 12 ; SPRITE_GIOVANNI - overworld_sprite RocketSprite, 12 ; SPRITE_ROCKET - overworld_sprite MediumSprite, 12 ; SPRITE_MEDIUM - overworld_sprite WaiterSprite, 12 ; SPRITE_WAITER - overworld_sprite ErikaSprite, 12 ; SPRITE_ERIKA - overworld_sprite MomGeishaSprite, 12 ; SPRITE_MOM_GEISHA - overworld_sprite BrunetteGirlSprite, 12 ; SPRITE_BRUNETTE_GIRL - overworld_sprite LanceSprite, 12 ; SPRITE_LANCE - overworld_sprite OakAideSprite, 12 ; SPRITE_OAK_SCIENTIST_AIDE - overworld_sprite OakAideSprite, 12 ; SPRITE_OAK_AIDE - overworld_sprite RockerSprite, 12 ; SPRITE_ROCKER - overworld_sprite SwimmerSprite, 12 ; SPRITE_SWIMMER - overworld_sprite WhitePlayerSprite, 12 ; SPRITE_WHITE_PLAYER - overworld_sprite GymHelperSprite, 12 ; SPRITE_GYM_HELPER - overworld_sprite OldPersonSprite, 12 ; SPRITE_OLD_PERSON - overworld_sprite MartGuySprite, 12 ; SPRITE_MART_GUY - overworld_sprite FisherSprite, 12 ; SPRITE_FISHER - overworld_sprite OldMediumWomanSprite, 12 ; SPRITE_OLD_MEDIUM_WOMAN - overworld_sprite NurseSprite, 12 ; SPRITE_NURSE - overworld_sprite CableClubWomanSprite, 12 ; SPRITE_CABLE_CLUB_WOMAN - overworld_sprite MrMasterballSprite, 12 ; SPRITE_MR_MASTERBALL - overworld_sprite LaprasGiverSprite, 12 ; SPRITE_LAPRAS_GIVER - overworld_sprite WardenSprite, 12 ; SPRITE_WARDEN - overworld_sprite SsCaptainSprite, 12 ; SPRITE_SS_CAPTAIN - overworld_sprite Fisher2Sprite, 12 ; SPRITE_FISHER2 - overworld_sprite BlackbeltSprite, 12 ; SPRITE_BLACKBELT - overworld_sprite GuardSprite, 12 ; SPRITE_GUARD - overworld_sprite GuardSprite, 12 ; $32 - overworld_sprite MomSprite, 12 ; SPRITE_MOM - overworld_sprite BaldingGuySprite, 12 ; SPRITE_BALDING_GUY - overworld_sprite YoungBoySprite, 12 ; SPRITE_YOUNG_BOY - overworld_sprite GameboyKidSprite, 12 ; SPRITE_GAMEBOY_KID - overworld_sprite GameboyKidSprite, 12 ; SPRITE_GAMEBOY_KID_COPY - overworld_sprite ClefairySprite, 12 ; SPRITE_CLEFAIRY - overworld_sprite AgathaSprite, 12 ; SPRITE_AGATHA - overworld_sprite BrunoSprite, 12 ; SPRITE_BRUNO - overworld_sprite LoreleiSprite, 12 ; SPRITE_LORELEI - overworld_sprite SeelSprite, 12 ; SPRITE_SEEL - overworld_sprite BallSprite, 4 ; SPRITE_BALL - overworld_sprite OmanyteSprite, 4 ; SPRITE_OMANYTE - overworld_sprite BoulderSprite, 4 ; SPRITE_BOULDER - overworld_sprite PaperSheetSprite, 4 ; SPRITE_PAPER_SHEET - overworld_sprite BookMapDexSprite, 4 ; SPRITE_BOOK_MAP_DEX - overworld_sprite ClipboardSprite, 4 ; SPRITE_CLIPBOARD - overworld_sprite SnorlaxSprite, 4 ; SPRITE_SNORLAX - overworld_sprite OldAmberSprite, 4 ; SPRITE_OLD_AMBER_COPY - overworld_sprite OldAmberSprite, 4 ; SPRITE_OLD_AMBER - overworld_sprite LyingOldManSprite, 4 ; SPRITE_LYING_OLD_MAN_UNUSED_1 - overworld_sprite LyingOldManSprite, 4 ; SPRITE_LYING_OLD_MAN_UNUSED_2 - overworld_sprite LyingOldManSprite, 4 ; SPRITE_LYING_OLD_MAN + overworld_sprite RedSprite, 12 ; SPRITE_RED + overworld_sprite BlueSprite, 12 ; SPRITE_BLUE + overworld_sprite OakSprite, 12 ; SPRITE_OAK + overworld_sprite YoungsterSprite, 12 ; SPRITE_YOUNGSTER + overworld_sprite MonsterSprite, 12 ; SPRITE_MONSTER + overworld_sprite CooltrainerFSprite, 12 ; SPRITE_COOLTRAINER_F + overworld_sprite CooltrainerMSprite, 12 ; SPRITE_COOLTRAINER_M + overworld_sprite LittleGirlSprite, 12 ; SPRITE_LITTLE_GIRL + overworld_sprite BirdSprite, 12 ; SPRITE_BIRD + overworld_sprite MiddleAgedManSprite, 12 ; SPRITE_MIDDLE_AGED_MAN + overworld_sprite GamblerSprite, 12 ; SPRITE_GAMBLER + overworld_sprite SuperNerdSprite, 12 ; SPRITE_SUPER_NERD + overworld_sprite GirlSprite, 12 ; SPRITE_GIRL + overworld_sprite HikerSprite, 12 ; SPRITE_HIKER + overworld_sprite BeautySprite, 12 ; SPRITE_BEAUTY + overworld_sprite GentlemanSprite, 12 ; SPRITE_GENTLEMAN + overworld_sprite DaisySprite, 12 ; SPRITE_DAISY + overworld_sprite BikerSprite, 12 ; SPRITE_BIKER + overworld_sprite SailorSprite, 12 ; SPRITE_SAILOR + overworld_sprite CookSprite, 12 ; SPRITE_COOK + overworld_sprite BikeShopClerkSprite, 12 ; SPRITE_BIKE_SHOP_CLERK + overworld_sprite MrFujiSprite, 12 ; SPRITE_MR_FUJI + overworld_sprite GiovanniSprite, 12 ; SPRITE_GIOVANNI + overworld_sprite RocketSprite, 12 ; SPRITE_ROCKET + overworld_sprite ChannelerSprite, 12 ; SPRITE_CHANNELER + overworld_sprite WaiterSprite, 12 ; SPRITE_WAITER + overworld_sprite ErikaSprite, 12 ; SPRITE_ERIKA + overworld_sprite MiddleAgedWomanSprite, 12 ; SPRITE_MIDDLE_AGED_WOMAN + overworld_sprite BrunetteGirlSprite, 12 ; SPRITE_BRUNETTE_GIRL + overworld_sprite LanceSprite, 12 ; SPRITE_LANCE + overworld_sprite ScientistSprite, 12 ; SPRITE_UNUSED_SCIENTIST + overworld_sprite ScientistSprite, 12 ; SPRITE_SCIENTIST + overworld_sprite RockerSprite, 12 ; SPRITE_ROCKER + overworld_sprite SwimmerSprite, 12 ; SPRITE_SWIMMER + overworld_sprite SafariZoneWorkerSprite, 12 ; SPRITE_SAFARI_ZONE_WORKER + overworld_sprite GymGuideSprite, 12 ; SPRITE_GYM_GUIDE + overworld_sprite GrampsSprite, 12 ; SPRITE_GRAMPS + overworld_sprite ClerkSprite, 12 ; SPRITE_CLERK + overworld_sprite FishingGuruSprite, 12 ; SPRITE_FISHING_GURU + overworld_sprite GrannySprite, 12 ; SPRITE_GRANNY + overworld_sprite NurseSprite, 12 ; SPRITE_NURSE + overworld_sprite LinkReceptionistSprite, 12 ; SPRITE_LINK_RECEPTIONIST + overworld_sprite SilphPresidentSprite, 12 ; SPRITE_SILPH_PRESIDENT + overworld_sprite SilphWorkerSprite, 12 ; SPRITE_SILPH_WORKER + overworld_sprite WardenSprite, 12 ; SPRITE_WARDEN + overworld_sprite CaptainSprite, 12 ; SPRITE_CAPTAIN + overworld_sprite FisherSprite, 12 ; SPRITE_FISHER + overworld_sprite KogaSprite, 12 ; SPRITE_KOGA + overworld_sprite GuardSprite, 12 ; SPRITE_GUARD + overworld_sprite GuardSprite, 12 ; SPRITE_UNUSED_GUARD + overworld_sprite MomSprite, 12 ; SPRITE_MOM + overworld_sprite BaldingGuySprite, 12 ; SPRITE_BALDING_GUY + overworld_sprite LittleBoySprite, 12 ; SPRITE_LITTLE_BOY + overworld_sprite GameboyKidSprite, 12 ; SPRITE_UNUSED_GAMEBOY_KID + overworld_sprite GameboyKidSprite, 12 ; SPRITE_GAMEBOY_KID + overworld_sprite FairySprite, 12 ; SPRITE_FAIRY + overworld_sprite AgathaSprite, 12 ; SPRITE_AGATHA + overworld_sprite BrunoSprite, 12 ; SPRITE_BRUNO + overworld_sprite LoreleiSprite, 12 ; SPRITE_LORELEI + overworld_sprite SeelSprite, 12 ; SPRITE_SEEL + overworld_sprite PokeBallSprite, 4 ; SPRITE_POKE_BALL + overworld_sprite FossilSprite, 4 ; SPRITE_FOSSIL + overworld_sprite BoulderSprite, 4 ; SPRITE_BOULDER + overworld_sprite PaperSprite, 4 ; SPRITE_PAPER + overworld_sprite PokedexSprite, 4 ; SPRITE_POKEDEX + overworld_sprite ClipboardSprite, 4 ; SPRITE_CLIPBOARD + overworld_sprite SnorlaxSprite, 4 ; SPRITE_SNORLAX + overworld_sprite OldAmberSprite, 4 ; SPRITE_UNUSED_OLD_AMBER + overworld_sprite OldAmberSprite, 4 ; SPRITE_OLD_AMBER + overworld_sprite GamblerAsleepSprite, 4 ; SPRITE_UNUSED_GAMBLER_ASLEEP_1 + overworld_sprite GamblerAsleepSprite, 4 ; SPRITE_UNUSED_GAMBLER_ASLEEP_2 + overworld_sprite GamblerAsleepSprite, 4 ; SPRITE_GAMBLER_ASLEEP diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index 5716ff56..eac523a3 100755 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -1901,39 +1901,39 @@ AnimationSubstitute: ldh a, [hWhoseTurn] and a jr z, .playerTurn - ld hl, SlowbroSprite ; facing down sprite + ld hl, MonsterSprite tile 0 ; facing down sprite ld de, wTempPic + $120 - call CopySlowbroSpriteData - ld hl, SlowbroSprite + $10 + call CopyMonsterSpriteData + ld hl, MonsterSprite tile 1 ld de, wTempPic + $120 + $70 - call CopySlowbroSpriteData - ld hl, SlowbroSprite + $20 + call CopyMonsterSpriteData + ld hl, MonsterSprite tile 2 ld de, wTempPic + $120 + $10 - call CopySlowbroSpriteData - ld hl, SlowbroSprite + $30 + call CopyMonsterSpriteData + ld hl, MonsterSprite tile 3 ld de, wTempPic + $120 + $10 + $70 - call CopySlowbroSpriteData + call CopyMonsterSpriteData jr .next .playerTurn - ld hl, SlowbroSprite + $40 ; facing up sprite + ld hl, MonsterSprite tile 4 ; facing up sprite ld de, wTempPic + $120 + $70 - call CopySlowbroSpriteData - ld hl, SlowbroSprite + $50 + call CopyMonsterSpriteData + ld hl, MonsterSprite tile 5 ld de, wTempPic + $120 + $e0 - call CopySlowbroSpriteData - ld hl, SlowbroSprite + $60 + call CopyMonsterSpriteData + ld hl, MonsterSprite tile 6 ld de, wTempPic + $120 + $80 - call CopySlowbroSpriteData - ld hl, SlowbroSprite + $70 + call CopyMonsterSpriteData + ld hl, MonsterSprite tile 7 ld de, wTempPic + $120 + $f0 - call CopySlowbroSpriteData + call CopyMonsterSpriteData .next call CopyTempPicToMonPic jp AnimationShowMonPic -CopySlowbroSpriteData: - ld bc, $10 - ld a, BANK(SlowbroSprite) +CopyMonsterSpriteData: + ld bc, 1 tiles + ld a, BANK(MonsterSprite) jp FarCopyData2 HideSubstituteShowMonAnim: diff --git a/engine/overworld/map_sprites.asm b/engine/overworld/map_sprites.asm index 8f1f3931..031ddc76 100755 --- a/engine/overworld/map_sprites.asm +++ b/engine/overworld/map_sprites.asm @@ -98,7 +98,7 @@ LoadMapSpriteTilePatterns: push af ld a, [hl] ; [x#SPRITESTATEDATA2_IMAGEBASEOFFSET] ld b, a ; b = current sprite picture ID - cp SPRITE_BALL ; is it a 4-tile sprite? + cp FIRST_STILL_SPRITE ; is it a 4-tile sprite? jr c, .notFourTileSprite pop af ldh a, [hFourTileSpriteCount] diff --git a/gfx/sprites.asm b/gfx/sprites.asm index 4548bbe3..bcb98c6f 100644 --- a/gfx/sprites.asm +++ b/gfx/sprites.asm @@ -1,73 +1,73 @@ SECTION "NPC Sprites 1", ROMX -OakAideSprite:: INCBIN "gfx/sprites/oak_aide.2bpp" -RockerSprite:: INCBIN "gfx/sprites/rocker.2bpp" -SwimmerSprite:: INCBIN "gfx/sprites/swimmer.2bpp" -WhitePlayerSprite:: INCBIN "gfx/sprites/white_player.2bpp" -GymHelperSprite:: INCBIN "gfx/sprites/gym_helper.2bpp" -OldPersonSprite:: INCBIN "gfx/sprites/old_person.2bpp" -MartGuySprite:: INCBIN "gfx/sprites/mart_guy.2bpp" -FisherSprite:: INCBIN "gfx/sprites/fisher.2bpp" -OldMediumWomanSprite:: INCBIN "gfx/sprites/old_medium_woman.2bpp" -NurseSprite:: INCBIN "gfx/sprites/nurse.2bpp" -CableClubWomanSprite:: INCBIN "gfx/sprites/cable_club_woman.2bpp" -MrMasterballSprite:: INCBIN "gfx/sprites/mr_masterball.2bpp" -LaprasGiverSprite:: INCBIN "gfx/sprites/lapras_giver.2bpp" -WardenSprite:: INCBIN "gfx/sprites/warden.2bpp" -SsCaptainSprite:: INCBIN "gfx/sprites/ss_captain.2bpp" -Fisher2Sprite:: INCBIN "gfx/sprites/fisher2.2bpp" -BlackbeltSprite:: INCBIN "gfx/sprites/blackbelt.2bpp" -GuardSprite:: INCBIN "gfx/sprites/guard.2bpp" -BallSprite:: INCBIN "gfx/sprites/ball.2bpp" -OmanyteSprite:: INCBIN "gfx/sprites/omanyte.2bpp" -BoulderSprite:: INCBIN "gfx/sprites/boulder.2bpp" -PaperSheetSprite:: INCBIN "gfx/sprites/paper_sheet.2bpp" -BookMapDexSprite:: INCBIN "gfx/sprites/book_map_dex.2bpp" -ClipboardSprite:: INCBIN "gfx/sprites/clipboard.2bpp" -SnorlaxSprite:: INCBIN "gfx/sprites/snorlax.2bpp" -OldAmberSprite:: INCBIN "gfx/sprites/old_amber.2bpp" -LyingOldManSprite:: INCBIN "gfx/sprites/lying_old_man.2bpp" +ScientistSprite:: INCBIN "gfx/sprites/scientist.2bpp" +RockerSprite:: INCBIN "gfx/sprites/rocker.2bpp" +SwimmerSprite:: INCBIN "gfx/sprites/swimmer.2bpp" +SafariZoneWorkerSprite:: INCBIN "gfx/sprites/safari_zone_worker.2bpp" +GymGuideSprite:: INCBIN "gfx/sprites/gym_guide.2bpp" +GrampsSprite:: INCBIN "gfx/sprites/gramps.2bpp" +ClerkSprite:: INCBIN "gfx/sprites/clerk.2bpp" +FishingGuruSprite:: INCBIN "gfx/sprites/fishing_guru.2bpp" +GrannySprite:: INCBIN "gfx/sprites/granny.2bpp" +NurseSprite:: INCBIN "gfx/sprites/nurse.2bpp" +LinkReceptionistSprite:: INCBIN "gfx/sprites/link_receptionist.2bpp" +SilphPresidentSprite:: INCBIN "gfx/sprites/silph_president.2bpp" +SilphWorkerSprite:: INCBIN "gfx/sprites/silph_worker.2bpp" +WardenSprite:: INCBIN "gfx/sprites/warden.2bpp" +CaptainSprite:: INCBIN "gfx/sprites/captain.2bpp" +FisherSprite:: INCBIN "gfx/sprites/fisher.2bpp" +KogaSprite:: INCBIN "gfx/sprites/koga.2bpp" +GuardSprite:: INCBIN "gfx/sprites/guard.2bpp" +PokeBallSprite:: INCBIN "gfx/sprites/poke_ball.2bpp" +FossilSprite:: INCBIN "gfx/sprites/fossil.2bpp" +BoulderSprite:: INCBIN "gfx/sprites/boulder.2bpp" +PaperSprite:: INCBIN "gfx/sprites/paper.2bpp" +PokedexSprite:: INCBIN "gfx/sprites/pokedex.2bpp" +ClipboardSprite:: INCBIN "gfx/sprites/clipboard.2bpp" +SnorlaxSprite:: INCBIN "gfx/sprites/snorlax.2bpp" +OldAmberSprite:: INCBIN "gfx/sprites/old_amber.2bpp" +GamblerAsleepSprite:: INCBIN "gfx/sprites/gambler_asleep.2bpp" SECTION "NPC Sprites 2", ROMX -RedCyclingSprite:: INCBIN "gfx/sprites/cycling.2bpp" -RedSprite:: INCBIN "gfx/sprites/red.2bpp" -BlueSprite:: INCBIN "gfx/sprites/blue.2bpp" -OakSprite:: INCBIN "gfx/sprites/oak.2bpp" -BugCatcherSprite:: INCBIN "gfx/sprites/bug_catcher.2bpp" -SlowbroSprite:: INCBIN "gfx/sprites/slowbro.2bpp" -LassSprite:: INCBIN "gfx/sprites/lass.2bpp" -BlackHairBoy1Sprite:: INCBIN "gfx/sprites/black_hair_boy_1.2bpp" -LittleGirlSprite:: INCBIN "gfx/sprites/little_girl.2bpp" -BirdSprite:: INCBIN "gfx/sprites/bird.2bpp" -FatBaldGuySprite:: INCBIN "gfx/sprites/fat_bald_guy.2bpp" -GamblerSprite:: INCBIN "gfx/sprites/gambler.2bpp" -BlackHairBoy2Sprite:: INCBIN "gfx/sprites/black_hair_boy_2.2bpp" -GirlSprite:: INCBIN "gfx/sprites/girl.2bpp" -HikerSprite:: INCBIN "gfx/sprites/hiker.2bpp" -FoulardWomanSprite:: INCBIN "gfx/sprites/foulard_woman.2bpp" -GentlemanSprite:: INCBIN "gfx/sprites/gentleman.2bpp" -DaisySprite:: INCBIN "gfx/sprites/daisy.2bpp" -BikerSprite:: INCBIN "gfx/sprites/biker.2bpp" -SailorSprite:: INCBIN "gfx/sprites/sailor.2bpp" -CookSprite:: INCBIN "gfx/sprites/cook.2bpp" -BikeShopGuySprite:: INCBIN "gfx/sprites/bike_shop_guy.2bpp" -MrFujiSprite:: INCBIN "gfx/sprites/mr_fuji.2bpp" -GiovanniSprite:: INCBIN "gfx/sprites/giovanni.2bpp" -RocketSprite:: INCBIN "gfx/sprites/rocket.2bpp" -MediumSprite:: INCBIN "gfx/sprites/medium.2bpp" -WaiterSprite:: INCBIN "gfx/sprites/waiter.2bpp" -ErikaSprite:: INCBIN "gfx/sprites/erika.2bpp" -MomGeishaSprite:: INCBIN "gfx/sprites/mom_geisha.2bpp" -BrunetteGirlSprite:: INCBIN "gfx/sprites/brunette_girl.2bpp" -LanceSprite:: INCBIN "gfx/sprites/lance.2bpp" -MomSprite:: INCBIN "gfx/sprites/mom.2bpp" -BaldingGuySprite:: INCBIN "gfx/sprites/balding_guy.2bpp" -YoungBoySprite:: INCBIN "gfx/sprites/young_boy.2bpp" -GameboyKidSprite:: INCBIN "gfx/sprites/gameboy_kid.2bpp" -ClefairySprite:: INCBIN "gfx/sprites/clefairy.2bpp" -AgathaSprite:: INCBIN "gfx/sprites/agatha.2bpp" -BrunoSprite:: INCBIN "gfx/sprites/bruno.2bpp" -LoreleiSprite:: INCBIN "gfx/sprites/lorelei.2bpp" -SeelSprite:: INCBIN "gfx/sprites/seel.2bpp" +RedCyclingSprite:: INCBIN "gfx/sprites/cycling.2bpp" +RedSprite:: INCBIN "gfx/sprites/red.2bpp" +BlueSprite:: INCBIN "gfx/sprites/blue.2bpp" +OakSprite:: INCBIN "gfx/sprites/oak.2bpp" +YoungsterSprite:: INCBIN "gfx/sprites/youngster.2bpp" +MonsterSprite:: INCBIN "gfx/sprites/monster.2bpp" +CooltrainerFSprite:: INCBIN "gfx/sprites/cooltrainer_f.2bpp" +CooltrainerMSprite:: INCBIN "gfx/sprites/cooltrainer_m.2bpp" +LittleGirlSprite:: INCBIN "gfx/sprites/little_girl.2bpp" +BirdSprite:: INCBIN "gfx/sprites/bird.2bpp" +MiddleAgedManSprite:: INCBIN "gfx/sprites/middle_aged_man.2bpp" +GamblerSprite:: INCBIN "gfx/sprites/gambler.2bpp" +SuperNerdSprite:: INCBIN "gfx/sprites/super_nerd.2bpp" +GirlSprite:: INCBIN "gfx/sprites/girl.2bpp" +HikerSprite:: INCBIN "gfx/sprites/hiker.2bpp" +BeautySprite:: INCBIN "gfx/sprites/beauty.2bpp" +GentlemanSprite:: INCBIN "gfx/sprites/gentleman.2bpp" +DaisySprite:: INCBIN "gfx/sprites/daisy.2bpp" +BikerSprite:: INCBIN "gfx/sprites/biker.2bpp" +SailorSprite:: INCBIN "gfx/sprites/sailor.2bpp" +CookSprite:: INCBIN "gfx/sprites/cook.2bpp" +BikeShopClerkSprite:: INCBIN "gfx/sprites/bike_shop_clerk.2bpp" +MrFujiSprite:: INCBIN "gfx/sprites/mr_fuji.2bpp" +GiovanniSprite:: INCBIN "gfx/sprites/giovanni.2bpp" +RocketSprite:: INCBIN "gfx/sprites/rocket.2bpp" +ChannelerSprite:: INCBIN "gfx/sprites/channeler.2bpp" +WaiterSprite:: INCBIN "gfx/sprites/waiter.2bpp" +ErikaSprite:: INCBIN "gfx/sprites/erika.2bpp" +MiddleAgedWomanSprite:: INCBIN "gfx/sprites/middle_aged_woman.2bpp" +BrunetteGirlSprite:: INCBIN "gfx/sprites/brunette_girl.2bpp" +LanceSprite:: INCBIN "gfx/sprites/lance.2bpp" +MomSprite:: INCBIN "gfx/sprites/mom.2bpp" +BaldingGuySprite:: INCBIN "gfx/sprites/balding_guy.2bpp" +LittleBoySprite:: INCBIN "gfx/sprites/little_boy.2bpp" +GameboyKidSprite:: INCBIN "gfx/sprites/gameboy_kid.2bpp" +FairySprite:: INCBIN "gfx/sprites/fairy.2bpp" +AgathaSprite:: INCBIN "gfx/sprites/agatha.2bpp" +BrunoSprite:: INCBIN "gfx/sprites/bruno.2bpp" +LoreleiSprite:: INCBIN "gfx/sprites/lorelei.2bpp" +SeelSprite:: INCBIN "gfx/sprites/seel.2bpp" diff --git a/gfx/sprites/ball.png b/gfx/sprites/ball.png deleted file mode 100644 index dcce4700..00000000 Binary files a/gfx/sprites/ball.png and /dev/null differ diff --git a/gfx/sprites/beauty.png b/gfx/sprites/beauty.png new file mode 100644 index 00000000..4e510400 Binary files /dev/null and b/gfx/sprites/beauty.png differ diff --git a/gfx/sprites/bike_shop_clerk.png b/gfx/sprites/bike_shop_clerk.png new file mode 100644 index 00000000..1ea83685 Binary files /dev/null and b/gfx/sprites/bike_shop_clerk.png differ diff --git a/gfx/sprites/bike_shop_guy.png b/gfx/sprites/bike_shop_guy.png deleted file mode 100644 index 1ea83685..00000000 Binary files a/gfx/sprites/bike_shop_guy.png and /dev/null differ diff --git a/gfx/sprites/black_hair_boy_1.png b/gfx/sprites/black_hair_boy_1.png deleted file mode 100644 index ffd94f41..00000000 Binary files a/gfx/sprites/black_hair_boy_1.png and /dev/null differ diff --git a/gfx/sprites/black_hair_boy_2.png b/gfx/sprites/black_hair_boy_2.png deleted file mode 100644 index 7d1b0ddd..00000000 Binary files a/gfx/sprites/black_hair_boy_2.png and /dev/null differ diff --git a/gfx/sprites/blackbelt.png b/gfx/sprites/blackbelt.png deleted file mode 100644 index 56a64e31..00000000 Binary files a/gfx/sprites/blackbelt.png and /dev/null differ diff --git a/gfx/sprites/book_map_dex.png b/gfx/sprites/book_map_dex.png deleted file mode 100644 index 60554979..00000000 Binary files a/gfx/sprites/book_map_dex.png and /dev/null differ diff --git a/gfx/sprites/bug_catcher.png b/gfx/sprites/bug_catcher.png deleted file mode 100644 index da64ee1c..00000000 Binary files a/gfx/sprites/bug_catcher.png and /dev/null differ diff --git a/gfx/sprites/cable_club_woman.png b/gfx/sprites/cable_club_woman.png deleted file mode 100644 index 3858c52f..00000000 Binary files a/gfx/sprites/cable_club_woman.png and /dev/null differ diff --git a/gfx/sprites/captain.png b/gfx/sprites/captain.png new file mode 100644 index 00000000..d2967e0f Binary files /dev/null and b/gfx/sprites/captain.png differ diff --git a/gfx/sprites/channeler.png b/gfx/sprites/channeler.png new file mode 100644 index 00000000..17f7603f Binary files /dev/null and b/gfx/sprites/channeler.png differ diff --git a/gfx/sprites/clefairy.png b/gfx/sprites/clefairy.png deleted file mode 100644 index 06fe0076..00000000 Binary files a/gfx/sprites/clefairy.png and /dev/null differ diff --git a/gfx/sprites/clerk.png b/gfx/sprites/clerk.png new file mode 100644 index 00000000..66448e77 Binary files /dev/null and b/gfx/sprites/clerk.png differ diff --git a/gfx/sprites/cooltrainer_f.png b/gfx/sprites/cooltrainer_f.png new file mode 100644 index 00000000..53bf81b1 Binary files /dev/null and b/gfx/sprites/cooltrainer_f.png differ diff --git a/gfx/sprites/cooltrainer_m.png b/gfx/sprites/cooltrainer_m.png new file mode 100644 index 00000000..ffd94f41 Binary files /dev/null and b/gfx/sprites/cooltrainer_m.png differ diff --git a/gfx/sprites/fairy.png b/gfx/sprites/fairy.png new file mode 100644 index 00000000..06fe0076 Binary files /dev/null and b/gfx/sprites/fairy.png differ diff --git a/gfx/sprites/fat_bald_guy.png b/gfx/sprites/fat_bald_guy.png deleted file mode 100644 index fea7979d..00000000 Binary files a/gfx/sprites/fat_bald_guy.png and /dev/null differ diff --git a/gfx/sprites/fisher.png b/gfx/sprites/fisher.png index ef3f864b..a84a2e37 100644 Binary files a/gfx/sprites/fisher.png and b/gfx/sprites/fisher.png differ diff --git a/gfx/sprites/fisher2.png b/gfx/sprites/fisher2.png deleted file mode 100644 index a84a2e37..00000000 Binary files a/gfx/sprites/fisher2.png and /dev/null differ diff --git a/gfx/sprites/fishing_guru.png b/gfx/sprites/fishing_guru.png new file mode 100644 index 00000000..ef3f864b Binary files /dev/null and b/gfx/sprites/fishing_guru.png differ diff --git a/gfx/sprites/fossil.png b/gfx/sprites/fossil.png new file mode 100644 index 00000000..9dd1e5c5 Binary files /dev/null and b/gfx/sprites/fossil.png differ diff --git a/gfx/sprites/foulard_woman.png b/gfx/sprites/foulard_woman.png deleted file mode 100644 index 4e510400..00000000 Binary files a/gfx/sprites/foulard_woman.png and /dev/null differ diff --git a/gfx/sprites/gambler_asleep.png b/gfx/sprites/gambler_asleep.png new file mode 100644 index 00000000..43a9f8df Binary files /dev/null and b/gfx/sprites/gambler_asleep.png differ diff --git a/gfx/sprites/gramps.png b/gfx/sprites/gramps.png new file mode 100644 index 00000000..729092db Binary files /dev/null and b/gfx/sprites/gramps.png differ diff --git a/gfx/sprites/granny.png b/gfx/sprites/granny.png new file mode 100644 index 00000000..fe771c0f Binary files /dev/null and b/gfx/sprites/granny.png differ diff --git a/gfx/sprites/gym_guide.png b/gfx/sprites/gym_guide.png new file mode 100644 index 00000000..15d83d9c Binary files /dev/null and b/gfx/sprites/gym_guide.png differ diff --git a/gfx/sprites/gym_helper.png b/gfx/sprites/gym_helper.png deleted file mode 100644 index 15d83d9c..00000000 Binary files a/gfx/sprites/gym_helper.png and /dev/null differ diff --git a/gfx/sprites/koga.png b/gfx/sprites/koga.png new file mode 100644 index 00000000..56a64e31 Binary files /dev/null and b/gfx/sprites/koga.png differ diff --git a/gfx/sprites/lapras_giver.png b/gfx/sprites/lapras_giver.png deleted file mode 100644 index 00f369fd..00000000 Binary files a/gfx/sprites/lapras_giver.png and /dev/null differ diff --git a/gfx/sprites/lass.png b/gfx/sprites/lass.png deleted file mode 100644 index 53bf81b1..00000000 Binary files a/gfx/sprites/lass.png and /dev/null differ diff --git a/gfx/sprites/link_receptionist.png b/gfx/sprites/link_receptionist.png new file mode 100644 index 00000000..3858c52f Binary files /dev/null and b/gfx/sprites/link_receptionist.png differ diff --git a/gfx/sprites/little_boy.png b/gfx/sprites/little_boy.png new file mode 100644 index 00000000..24996549 Binary files /dev/null and b/gfx/sprites/little_boy.png differ diff --git a/gfx/sprites/lying_old_man.png b/gfx/sprites/lying_old_man.png deleted file mode 100644 index 43a9f8df..00000000 Binary files a/gfx/sprites/lying_old_man.png and /dev/null differ diff --git a/gfx/sprites/mart_guy.png b/gfx/sprites/mart_guy.png deleted file mode 100644 index 66448e77..00000000 Binary files a/gfx/sprites/mart_guy.png and /dev/null differ diff --git a/gfx/sprites/medium.png b/gfx/sprites/medium.png deleted file mode 100644 index 17f7603f..00000000 Binary files a/gfx/sprites/medium.png and /dev/null differ diff --git a/gfx/sprites/middle_aged_man.png b/gfx/sprites/middle_aged_man.png new file mode 100644 index 00000000..fea7979d Binary files /dev/null and b/gfx/sprites/middle_aged_man.png differ diff --git a/gfx/sprites/middle_aged_woman.png b/gfx/sprites/middle_aged_woman.png new file mode 100644 index 00000000..c9b556ea Binary files /dev/null and b/gfx/sprites/middle_aged_woman.png differ diff --git a/gfx/sprites/mom_geisha.png b/gfx/sprites/mom_geisha.png deleted file mode 100644 index c9b556ea..00000000 Binary files a/gfx/sprites/mom_geisha.png and /dev/null differ diff --git a/gfx/sprites/monster.png b/gfx/sprites/monster.png new file mode 100644 index 00000000..80d615b2 Binary files /dev/null and b/gfx/sprites/monster.png differ diff --git a/gfx/sprites/mr_masterball.png b/gfx/sprites/mr_masterball.png deleted file mode 100644 index 81818568..00000000 Binary files a/gfx/sprites/mr_masterball.png and /dev/null differ diff --git a/gfx/sprites/oak_aide.png b/gfx/sprites/oak_aide.png deleted file mode 100644 index a91708e6..00000000 Binary files a/gfx/sprites/oak_aide.png and /dev/null differ diff --git a/gfx/sprites/old_medium_woman.png b/gfx/sprites/old_medium_woman.png deleted file mode 100644 index fe771c0f..00000000 Binary files a/gfx/sprites/old_medium_woman.png and /dev/null differ diff --git a/gfx/sprites/old_person.png b/gfx/sprites/old_person.png deleted file mode 100644 index 729092db..00000000 Binary files a/gfx/sprites/old_person.png and /dev/null differ diff --git a/gfx/sprites/omanyte.png b/gfx/sprites/omanyte.png deleted file mode 100644 index 9dd1e5c5..00000000 Binary files a/gfx/sprites/omanyte.png and /dev/null differ diff --git a/gfx/sprites/paper.png b/gfx/sprites/paper.png new file mode 100644 index 00000000..675183b6 Binary files /dev/null and b/gfx/sprites/paper.png differ diff --git a/gfx/sprites/paper_sheet.png b/gfx/sprites/paper_sheet.png deleted file mode 100644 index 675183b6..00000000 Binary files a/gfx/sprites/paper_sheet.png and /dev/null differ diff --git a/gfx/sprites/poke_ball.png b/gfx/sprites/poke_ball.png new file mode 100644 index 00000000..dcce4700 Binary files /dev/null and b/gfx/sprites/poke_ball.png differ diff --git a/gfx/sprites/pokedex.png b/gfx/sprites/pokedex.png new file mode 100644 index 00000000..60554979 Binary files /dev/null and b/gfx/sprites/pokedex.png differ diff --git a/gfx/sprites/safari_zone_worker.png b/gfx/sprites/safari_zone_worker.png new file mode 100644 index 00000000..e55dab9d Binary files /dev/null and b/gfx/sprites/safari_zone_worker.png differ diff --git a/gfx/sprites/scientist.png b/gfx/sprites/scientist.png new file mode 100644 index 00000000..a91708e6 Binary files /dev/null and b/gfx/sprites/scientist.png differ diff --git a/gfx/sprites/silph_president.png b/gfx/sprites/silph_president.png new file mode 100644 index 00000000..81818568 Binary files /dev/null and b/gfx/sprites/silph_president.png differ diff --git a/gfx/sprites/silph_worker.png b/gfx/sprites/silph_worker.png new file mode 100644 index 00000000..00f369fd Binary files /dev/null and b/gfx/sprites/silph_worker.png differ diff --git a/gfx/sprites/slowbro.png b/gfx/sprites/slowbro.png deleted file mode 100644 index 80d615b2..00000000 Binary files a/gfx/sprites/slowbro.png and /dev/null differ diff --git a/gfx/sprites/ss_captain.png b/gfx/sprites/ss_captain.png deleted file mode 100644 index d2967e0f..00000000 Binary files a/gfx/sprites/ss_captain.png and /dev/null differ diff --git a/gfx/sprites/super_nerd.png b/gfx/sprites/super_nerd.png new file mode 100644 index 00000000..7d1b0ddd Binary files /dev/null and b/gfx/sprites/super_nerd.png differ diff --git a/gfx/sprites/white_player.png b/gfx/sprites/white_player.png deleted file mode 100644 index e55dab9d..00000000 Binary files a/gfx/sprites/white_player.png and /dev/null differ diff --git a/gfx/sprites/young_boy.png b/gfx/sprites/young_boy.png deleted file mode 100644 index 24996549..00000000 Binary files a/gfx/sprites/young_boy.png and /dev/null differ diff --git a/gfx/sprites/youngster.png b/gfx/sprites/youngster.png new file mode 100644 index 00000000..da64ee1c Binary files /dev/null and b/gfx/sprites/youngster.png differ -- cgit v1.2.3 From 30ecbf6ea3a6cd2afc9191b2b7c49ca70e7e3777 Mon Sep 17 00:00:00 2001 From: Rangi Date: Fri, 17 Jul 2020 13:27:27 -0400 Subject: SONY -> RIVAL --- audio/play_battle_music.asm | 2 +- constants/trainer_constants.asm | 6 +++--- data/maps/objects/OaksLab.asm | 2 +- data/maps/objects/SSAnne2F.asm | 2 +- data/trainers/move_choices.asm | 6 +++--- engine/battle/core.asm | 4 ++-- engine/battle/get_trainer_name.asm | 6 +++--- engine/battle/read_trainer_party.asm | 2 +- engine/link/cable_club.asm | 2 +- engine/overworld/auto_movement.asm | 6 +++--- home/trainers.asm | 6 +++--- scripts/CeruleanCity.asm | 2 +- scripts/ChampionsRoom.asm | 2 +- scripts/OaksLab.asm | 2 +- scripts/PokemonTower2F.asm | 2 +- scripts/Route22.asm | 4 ++-- scripts/SSAnne2F.asm | 2 +- scripts/SilphCo7F.asm | 2 +- wram.asm | 2 +- 19 files changed, 31 insertions(+), 31 deletions(-) diff --git a/audio/play_battle_music.asm b/audio/play_battle_music.asm index f8bfcd19..93cf8a77 100644 --- a/audio/play_battle_music.asm +++ b/audio/play_battle_music.asm @@ -16,7 +16,7 @@ PlayBattleMusic:: ld a, [wCurOpponent] cp OPP_ID_OFFSET jr c, .wildBattle - cp OPP_SONY3 + cp OPP_RIVAL3 jr z, .finalBattle cp OPP_LANCE jr nz, .normalTrainerBattle diff --git a/constants/trainer_constants.asm b/constants/trainer_constants.asm index 878fac26..1d033095 100755 --- a/constants/trainer_constants.asm +++ b/constants/trainer_constants.asm @@ -31,7 +31,7 @@ ENDM trainer_const TAMER ; $16 trainer_const BIRD_KEEPER ; $17 trainer_const BLACKBELT ; $18 - trainer_const SONY1 ; $19 + trainer_const RIVAL1 ; $19 trainer_const PROF_OAK ; $1A trainer_const CHIEF ; $1B trainer_const SCIENTIST ; $1C @@ -48,8 +48,8 @@ ENDM trainer_const BLAINE ; $27 trainer_const SABRINA ; $28 trainer_const GENTLEMAN ; $29 - trainer_const SONY2 ; $2A - trainer_const SONY3 ; $2B + trainer_const RIVAL2 ; $2A + trainer_const RIVAL3 ; $2B trainer_const LORELEI ; $2C trainer_const CHANNELER ; $2D trainer_const AGATHA ; $2E diff --git a/data/maps/objects/OaksLab.asm b/data/maps/objects/OaksLab.asm index 168595c0..3e1a90c0 100755 --- a/data/maps/objects/OaksLab.asm +++ b/data/maps/objects/OaksLab.asm @@ -8,7 +8,7 @@ OaksLab_Object: db 0 ; signs db 11 ; objects - object SPRITE_BLUE, 4, 3, STAY, NONE, 1, OPP_SONY1, 1 + object SPRITE_BLUE, 4, 3, STAY, NONE, 1, OPP_RIVAL1, 1 object SPRITE_POKE_BALL, 6, 3, STAY, NONE, 2 ; person object SPRITE_POKE_BALL, 7, 3, STAY, NONE, 3 ; person object SPRITE_POKE_BALL, 8, 3, STAY, NONE, 4 ; person diff --git a/data/maps/objects/SSAnne2F.asm b/data/maps/objects/SSAnne2F.asm index 6abd5ac4..9a08b781 100755 --- a/data/maps/objects/SSAnne2F.asm +++ b/data/maps/objects/SSAnne2F.asm @@ -16,7 +16,7 @@ SSAnne2F_Object: db 2 ; objects object SPRITE_WAITER, 3, 7, WALK, 1, 1 ; person - object SPRITE_BLUE, 36, 4, STAY, DOWN, 2, OPP_SONY1, 1 + object SPRITE_BLUE, 36, 4, STAY, DOWN, 2, OPP_RIVAL1, 1 ; warp-to warp_to 9, 11, SS_ANNE_2F_WIDTH ; SS_ANNE_2F_ROOMS diff --git a/data/trainers/move_choices.asm b/data/trainers/move_choices.asm index fc230ac1..4bc42767 100644 --- a/data/trainers/move_choices.asm +++ b/data/trainers/move_choices.asm @@ -32,7 +32,7 @@ TrainerClassMoveChoiceModifications: move_choices 1 ; TAMER move_choices 1 ; BIRD_KEEPER move_choices 1 ; BLACKBELT - move_choices 1 ; SONY1 + move_choices 1 ; RIVAL1 move_choices 1, 3 ; PROF_OAK move_choices 1, 2 ; CHIEF move_choices 1, 2 ; SCIENTIST @@ -49,8 +49,8 @@ TrainerClassMoveChoiceModifications: move_choices 1, 3 ; BLAINE move_choices 1, 3 ; SABRINA move_choices 1, 2 ; GENTLEMAN - move_choices 1, 3 ; SONY2 - move_choices 1, 3 ; SONY3 + move_choices 1, 3 ; RIVAL2 + move_choices 1, 3 ; RIVAL3 move_choices 1, 2, 3 ; LORELEI move_choices 1 ; CHANNELER move_choices 1 ; AGATHA diff --git a/engine/battle/core.asm b/engine/battle/core.asm index b5c37f1e..4f35ba39 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -921,7 +921,7 @@ TrainerBattleVictory: ld b, MUSIC_DEFEATED_TRAINER .gymleader ld a, [wTrainerClass] - cp SONY3 ; final battle against rival + cp RIVAL3 ; final battle against rival jr nz, .notrival ld b, MUSIC_DEFEATED_GYM_LEADER ld hl, wFlags_D733 @@ -1134,7 +1134,7 @@ HandlePlayerBlackOut: cp LINK_STATE_BATTLING jr z, .notSony1Battle ld a, [wCurOpponent] - cp OPP_SONY1 + cp OPP_RIVAL1 jr nz, .notSony1Battle hlcoord 0, 0 ; sony 1 battle lb bc, 8, 21 diff --git a/engine/battle/get_trainer_name.asm b/engine/battle/get_trainer_name.asm index 478cdc26..b2daebfe 100644 --- a/engine/battle/get_trainer_name.asm +++ b/engine/battle/get_trainer_name.asm @@ -5,11 +5,11 @@ GetTrainerName_:: jr nz, .foundName ld hl, wRivalName ld a, [wTrainerClass] - cp SONY1 + cp RIVAL1 jr z, .foundName - cp SONY2 + cp RIVAL2 jr z, .foundName - cp SONY3 + cp RIVAL3 jr z, .foundName ld [wd0b5], a ld a, TRAINER_NAME diff --git a/engine/battle/read_trainer_party.asm b/engine/battle/read_trainer_party.asm index ba4f6f8e..7e5c1249 100755 --- a/engine/battle/read_trainer_party.asm +++ b/engine/battle/read_trainer_party.asm @@ -116,7 +116,7 @@ ReadTrainer: ; no matches found. is this trainer champion rival? ld a, b - cp SONY3 + cp RIVAL3 jr z, .ChampionRival jr .FinishUp ; nope .GiveTeamMoves diff --git a/engine/link/cable_club.asm b/engine/link/cable_club.asm index 2bfda595..71afde1e 100755 --- a/engine/link/cable_club.asm +++ b/engine/link/cable_club.asm @@ -274,7 +274,7 @@ CableClub_DoBattleOrTradeAgain: jr nz, .trading ld a, LINK_STATE_BATTLING ld [wLinkState], a - ld a, OPP_SONY1 + ld a, OPP_RIVAL1 ld [wCurOpponent], a call ClearScreen call Delay3 diff --git a/engine/overworld/auto_movement.asm b/engine/overworld/auto_movement.asm index 31f7d7b9..9c078f08 100755 --- a/engine/overworld/auto_movement.asm +++ b/engine/overworld/auto_movement.asm @@ -286,7 +286,7 @@ FreezeEnemyTrainerSprite:: jp SetSpriteMovementBytesToFF RivalIDs: - db OPP_SONY1 - db OPP_SONY2 - db OPP_SONY3 + db OPP_RIVAL1 + db OPP_RIVAL2 + db OPP_RIVAL3 db -1 ; end diff --git a/home/trainers.asm b/home/trainers.asm index fae3dde1..4bb355b7 100644 --- a/home/trainers.asm +++ b/home/trainers.asm @@ -395,11 +395,11 @@ CheckIfAlreadyEngaged:: PlayTrainerMusic:: ld a, [wEngagedTrainerClass] - cp OPP_SONY1 + cp OPP_RIVAL1 ret z - cp OPP_SONY2 + cp OPP_RIVAL2 ret z - cp OPP_SONY3 + cp OPP_RIVAL3 ret z ld a, [wGymLeaderNo] and a diff --git a/scripts/CeruleanCity.asm b/scripts/CeruleanCity.asm index 4d960537..eef63536 100755 --- a/scripts/CeruleanCity.asm +++ b/scripts/CeruleanCity.asm @@ -138,7 +138,7 @@ CeruleanCityScript1: ld hl, CeruleanCityText_1966d ld de, CeruleanCityText_19672 call SaveEndBattleTextPointers - ld a, OPP_SONY1 + ld a, OPP_RIVAL1 ld [wCurOpponent], a ; select which team to use during the encounter diff --git a/scripts/ChampionsRoom.asm b/scripts/ChampionsRoom.asm index d151bb4d..11f99ee1 100755 --- a/scripts/ChampionsRoom.asm +++ b/scripts/ChampionsRoom.asm @@ -64,7 +64,7 @@ GaryScript2: ld hl, GaryDefeatedText ld de, GaryVictoryText call SaveEndBattleTextPointers - ld a, OPP_SONY3 + ld a, OPP_RIVAL3 ld [wCurOpponent], a ; select which team to use during the encounter diff --git a/scripts/OaksLab.asm b/scripts/OaksLab.asm index dbc3b071..9d60cc19 100755 --- a/scripts/OaksLab.asm +++ b/scripts/OaksLab.asm @@ -381,7 +381,7 @@ OaksLabScript11: ret nz ; define which team rival uses, and fight it - ld a, OPP_SONY1 + ld a, OPP_RIVAL1 ld [wCurOpponent], a ld a, [wRivalStarter] cp STARTER2 diff --git a/scripts/PokemonTower2F.asm b/scripts/PokemonTower2F.asm index b3d7a1cb..be3b5b89 100755 --- a/scripts/PokemonTower2F.asm +++ b/scripts/PokemonTower2F.asm @@ -146,7 +146,7 @@ PokemonTower2Text1: ld hl, PokemonTower2Text_60632 ld de, PokemonTower2Text_60637 call SaveEndBattleTextPointers - ld a, OPP_SONY2 + ld a, OPP_RIVAL2 ld [wCurOpponent], a ; select which team to use during the encounter diff --git a/scripts/Route22.asm b/scripts/Route22.asm index 2e3f171e..1b02752f 100755 --- a/scripts/Route22.asm +++ b/scripts/Route22.asm @@ -131,7 +131,7 @@ Route22Script1: ld hl, Route22RivalDefeatedText1 ld de, Route22Text_511bc call SaveEndBattleTextPointers - ld a, OPP_SONY1 + ld a, OPP_RIVAL1 ld [wCurOpponent], a ld hl, StarterMons_50faf call Route22Script_50ed6 @@ -287,7 +287,7 @@ Route22Script4: ld hl, Route22RivalDefeatedText2 ld de, Route22Text_511d0 call SaveEndBattleTextPointers - ld a, OPP_SONY2 + ld a, OPP_RIVAL2 ld [wCurOpponent], a ld hl, StarterMons_510d9 call Route22Script_50ed6 diff --git a/scripts/SSAnne2F.asm b/scripts/SSAnne2F.asm index 6b216350..b9f15b56 100755 --- a/scripts/SSAnne2F.asm +++ b/scripts/SSAnne2F.asm @@ -96,7 +96,7 @@ SSAnne2Script1: ldh [hSpriteIndexOrTextID], a call DisplayTextID call Delay3 - ld a, OPP_SONY2 + ld a, OPP_RIVAL2 ld [wCurOpponent], a ; select which team to use during the encounter diff --git a/scripts/SilphCo7F.asm b/scripts/SilphCo7F.asm index 32a95fb5..59f90f0e 100755 --- a/scripts/SilphCo7F.asm +++ b/scripts/SilphCo7F.asm @@ -183,7 +183,7 @@ SilphCo7Script3: ld hl, SilphCo7Text14 ld de, SilphCo7Text_51ecd call SaveEndBattleTextPointers - ld a, OPP_SONY2 + ld a, OPP_RIVAL2 ld [wCurOpponent], a ld a, [wRivalStarter] cp STARTER2 diff --git a/wram.asm b/wram.asm index c6eb750e..792df611 100755 --- a/wram.asm +++ b/wram.asm @@ -2944,7 +2944,7 @@ wd732:: ; bit 0: play time being counted ; bit 1: remnant of debug mode; only set by the debug build. ; if it is set: -; 1. skips most of Prof. Oak's speech, and uses NINTEN as the player's name and SONY as the rival's name +; 1. skips most of Prof. Oak's speech, and uses NINTEN as the player's name and RIVAL as the rival's name ; 2. does not have the player start in floor two of the player's house (instead sending them to [wLastMap]) ; 3. allows wild battles to be avoided by holding down B ; furthermore, in the debug build: -- cgit v1.2.3 From 3c1cdbc4d00e27484bdaa77890c2a4ca9cee7884 Mon Sep 17 00:00:00 2001 From: Rangi Date: Fri, 17 Jul 2020 13:44:28 -0400 Subject: Identify remaining tilemap IDs --- constants/gfx_constants.asm | 11 +++++++ data/tilemaps.asm | 57 +++++++++++++------------------------ engine/battle/animations.asm | 16 +++++------ engine/movie/hall_of_fame.asm | 2 +- engine/movie/intro.asm | 15 ++++------ engine/movie/trade.asm | 6 ++-- gfx/pokemon/downscaled_3x3.tilemap | 1 + gfx/pokemon/downscaled_5x5.tilemap | 1 + gfx/pokemon/front.tilemap | Bin 0 -> 49 bytes gfx/pokemon/slide_down_7x3.tilemap | Bin 0 -> 21 bytes gfx/pokemon/slide_down_7x5.tilemap | Bin 0 -> 35 bytes 11 files changed, 50 insertions(+), 59 deletions(-) create mode 100644 gfx/pokemon/downscaled_3x3.tilemap create mode 100644 gfx/pokemon/downscaled_5x5.tilemap create mode 100644 gfx/pokemon/front.tilemap create mode 100644 gfx/pokemon/slide_down_7x3.tilemap create mode 100644 gfx/pokemon/slide_down_7x5.tilemap diff --git a/constants/gfx_constants.asm b/constants/gfx_constants.asm index 6446a51f..d6d162c7 100644 --- a/constants/gfx_constants.asm +++ b/constants/gfx_constants.asm @@ -29,3 +29,14 @@ TRANSFERBOTTOM EQU 2 ; hRedrawRowOrColumnMode REDRAW_COL EQU 1 REDRAW_ROW EQU 2 + +; tile list ids + const_def + const TILEMAP_MON_PIC + const TILEMAP_SLIDE_DOWN_MON_PIC_7X5 + const TILEMAP_SLIDE_DOWN_MON_PIC_7X3 + const TILEMAP_GENGAR_INTRO_1 + const TILEMAP_GENGAR_INTRO_2 + const TILEMAP_GENGAR_INTRO_3 + const TILEMAP_GAME_BOY + const TILEMAP_LINK_CABLE diff --git a/data/tilemaps.asm b/data/tilemaps.asm index 7bf3d9f8..c7efb222 100644 --- a/data/tilemaps.asm +++ b/data/tilemaps.asm @@ -4,48 +4,31 @@ tile_ids: MACRO ENDM TileIDListPointerTable: +; entries correspond to TILEMAP_* constants (see constants/gfx_constants.asm) ; tilemap pointer, width, height - tile_ids Unknown_79b24, 7, 7 - tile_ids Unknown_79b55, 7, 5 - tile_ids Unknown_79b78, 7, 3 - tile_ids GengarIntroTiles1, 7, 7 - tile_ids GengarIntroTiles2, 7, 7 - tile_ids GengarIntroTiles3, 7, 7 - tile_ids GameBoyTiles, 6, 8 - tile_ids LinkCableTiles, 12, 3 + tile_ids MonTiles, 7, 7 + tile_ids SlideDownMonTiles_7x5, 7, 5 + tile_ids SlideDownMonTiles_7x3, 7, 3 + tile_ids GengarIntroTiles1, 7, 7 + tile_ids GengarIntroTiles2, 7, 7 + tile_ids GengarIntroTiles3, 7, 7 + tile_ids GameBoyTiles, 6, 8 + tile_ids LinkCableTiles, 12, 3 DownscaledMonTiles_5x5: - db $31,$38,$46,$54,$5B - db $32,$39,$47,$55,$5C - db $34,$3B,$49,$57,$5E - db $36,$3D,$4B,$59,$60 - db $37,$3E,$4C,$5A,$61 + INCBIN "gfx/pokemon/downscaled_5x5.tilemap" DownscaledMonTiles_3x3: - db $31,$46,$5B - db $34,$49,$5E - db $37,$4C,$61 - -Unknown_79b24: - db $00,$07,$0E,$15,$1C,$23,$2A - db $01,$08,$0F,$16,$1D,$24,$2B - db $02,$09,$10,$17,$1E,$25,$2C - db $03,$0A,$11,$18,$1F,$26,$2D - db $04,$0B,$12,$19,$20,$27,$2E - db $05,$0C,$13,$1A,$21,$28,$2F - db $06,$0D,$14,$1B,$22,$29,$30 - -Unknown_79b55: - db $00,$07,$0E,$15,$1C,$23,$2A - db $01,$08,$0F,$16,$1D,$24,$2B - db $03,$0A,$11,$18,$1F,$26,$2D - db $04,$0B,$12,$19,$20,$27,$2E - db $05,$0C,$13,$1A,$21,$28,$2F - -Unknown_79b78: - db $00,$07,$0E,$15,$1C,$23,$2A - db $02,$09,$10,$17,$1E,$25,$2C - db $04,$0B,$12,$19,$20,$27,$2E + INCBIN "gfx/pokemon/downscaled_3x3.tilemap" + +MonTiles: + INCBIN "gfx/pokemon/front.tilemap" + +SlideDownMonTiles_7x5: + INCBIN "gfx/pokemon/slide_down_7x5.tilemap" + +SlideDownMonTiles_7x3: + INCBIN "gfx/pokemon/slide_down_7x3.tilemap" GengarIntroTiles1: INCBIN "gfx/intro_credits/gengar_1.tilemap" diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index eac523a3..dae13ba0 100755 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -1148,7 +1148,7 @@ AnimationSlideMonUp: AnimationSlideMonDown: ; Slides the mon's sprite down out of the screen. - xor a + xor a ; TILEMAP_MON_PIC call GetTileIDList .loop call GetMonSpriteTileMapPointerFromRowCount @@ -1355,7 +1355,7 @@ AnimationFlashEnemyMonPic: jp CallWithTurnFlipped AnimationShowMonPic: - xor a + xor a ; TILEMAP_MON_PIC call GetTileIDList call GetMonSpriteTileMapPointerFromRowCount call CopyPicTiles @@ -1379,7 +1379,7 @@ AnimationShakeBackAndForth: decoord 13, 0 .next - xor a + xor a ; TILEMAP_MON_PIC ld c, $10 .loop push af @@ -1424,7 +1424,7 @@ AnimationMoveMonHorizontally: jr z, .next hlcoord 11, 0 .next - xor a + xor a ; TILEMAP_MON_PIC push hl call GetTileIDList pop hl @@ -1715,8 +1715,8 @@ MinimizedMonSpriteEnd: AnimationSlideMonDownAndHide: ; Slides the mon's sprite down and disappears. Used in Acid Armor. - ld a, $1 - ld c, $2 + ld a, TILEMAP_SLIDE_DOWN_MON_PIC_7X5 + ld c, 2 .loop push bc push af @@ -1735,7 +1735,7 @@ AnimationSlideMonDownAndHide: jr nz, .loop call AnimationHideMonPic ld hl, wTempPic - ld bc, $310 + ld bc, 7 * 7 tiles xor a call FillMemory jp CopyTempPicToMonPic @@ -2007,7 +2007,7 @@ ChangeMonPic: ld [wd0b5], a call GetMonHeader predef LoadMonBackPic - xor a + xor a ; TILEMAP_MON_PIC call GetTileIDList call GetMonSpriteTileMapPointerFromRowCount call CopyPicTiles diff --git a/engine/movie/hall_of_fame.asm b/engine/movie/hall_of_fame.asm index 071e7ca1..a7d3ed40 100755 --- a/engine/movie/hall_of_fame.asm +++ b/engine/movie/hall_of_fame.asm @@ -202,7 +202,7 @@ HoFLoadPlayerPics: HoFLoadMonPlayerPicTileIDs: ; c = base tile ID - ld b, 0 + ld b, TILEMAP_MON_PIC hlcoord 12, 5 predef_jump CopyTileIDsFromList diff --git a/engine/movie/intro.asm b/engine/movie/intro.asm index c5896ecb..d8ec8e6e 100755 --- a/engine/movie/intro.asm +++ b/engine/movie/intro.asm @@ -1,15 +1,10 @@ -const_value = -1 + const_def -1 const MOVE_NIDORINO_RIGHT const MOVE_GENGAR_RIGHT const MOVE_GENGAR_LEFT ANIMATION_END EQU 80 -const_value = 3 - const GENGAR_INTRO_TILES1 - const GENGAR_INTRO_TILES2 - const GENGAR_INTRO_TILES3 - PlayIntro: xor a ldh [hJoyHeld], a @@ -34,7 +29,7 @@ PlayIntroScene: ldh [rOBP1], a xor a ldh [hSCX], a - ld b, GENGAR_INTRO_TILES1 + ld b, TILEMAP_GENGAR_INTRO_1 call IntroCopyTiles ld a, 0 ld [wBaseCoordX], a @@ -77,7 +72,7 @@ PlayIntroScene: ret c ; raise - ld b, GENGAR_INTRO_TILES2 + ld b, TILEMAP_GENGAR_INTRO_2 call IntroCopyTiles ld a, SFX_INTRO_RAISE call PlaySound @@ -88,7 +83,7 @@ PlayIntroScene: ret c ; slash - ld b, GENGAR_INTRO_TILES3 + ld b, TILEMAP_GENGAR_INTRO_3 call IntroCopyTiles ld a, SFX_INTRO_CRASH call PlaySound @@ -107,7 +102,7 @@ PlayIntroScene: lb de, 8 / 2, MOVE_GENGAR_LEFT call IntroMoveMon - ld b, GENGAR_INTRO_TILES1 + ld b, TILEMAP_GENGAR_INTRO_1 call IntroCopyTiles ld c, 60 call CheckForUserInterruption diff --git a/engine/movie/trade.asm b/engine/movie/trade.asm index fc2da9bd..992cbd97 100755 --- a/engine/movie/trade.asm +++ b/engine/movie/trade.asm @@ -282,7 +282,7 @@ Trade_DrawOpenEndOfLinkCable: ld a, %10001011 ldh [rLCDC], a hlcoord 6, 2 - ld b, $7 ; open end of link cable tile ID list index + ld b, TILEMAP_LINK_CABLE call CopyTileIDsFromList_ZeroBaseTileID call Trade_CopyTileMapToVRAM ld a, SFX_HEAL_HP @@ -474,7 +474,7 @@ Trade_DrawLeftGameboy: ; draw gameboy pic hlcoord 5, 3 - ld b, $6 + ld b, TILEMAP_GAME_BOY call CopyTileIDsFromList_ZeroBaseTileID ; draw text box with player name below gameboy pic @@ -521,7 +521,7 @@ Trade_DrawRightGameboy: ; draw gameboy pic hlcoord 7, 8 - ld b, $6 + ld b, TILEMAP_GAME_BOY call CopyTileIDsFromList_ZeroBaseTileID ; draw text box with enemy name above link cable diff --git a/gfx/pokemon/downscaled_3x3.tilemap b/gfx/pokemon/downscaled_3x3.tilemap new file mode 100644 index 00000000..885f4a55 --- /dev/null +++ b/gfx/pokemon/downscaled_3x3.tilemap @@ -0,0 +1 @@ +1F[4I^7La \ No newline at end of file diff --git a/gfx/pokemon/downscaled_5x5.tilemap b/gfx/pokemon/downscaled_5x5.tilemap new file mode 100644 index 00000000..bc99ac23 --- /dev/null +++ b/gfx/pokemon/downscaled_5x5.tilemap @@ -0,0 +1 @@ +18FT[29GU\4;IW^6=KY`7>LZa \ No newline at end of file diff --git a/gfx/pokemon/front.tilemap b/gfx/pokemon/front.tilemap new file mode 100644 index 00000000..2f3cb316 Binary files /dev/null and b/gfx/pokemon/front.tilemap differ diff --git a/gfx/pokemon/slide_down_7x3.tilemap b/gfx/pokemon/slide_down_7x3.tilemap new file mode 100644 index 00000000..9976218b Binary files /dev/null and b/gfx/pokemon/slide_down_7x3.tilemap differ diff --git a/gfx/pokemon/slide_down_7x5.tilemap b/gfx/pokemon/slide_down_7x5.tilemap new file mode 100644 index 00000000..c82337fe Binary files /dev/null and b/gfx/pokemon/slide_down_7x5.tilemap differ -- cgit v1.2.3 From 72a0e98c9393b0fdbe5bf209eac6591dddd9cfc5 Mon Sep 17 00:00:00 2001 From: Rangi Date: Fri, 17 Jul 2020 13:56:59 -0400 Subject: JUGGLER_X -> UNUSED_JUGGLER --- constants/trainer_constants.asm | 96 +++++++++++++++++++-------------------- data/trainers/ai_pointers.asm | 2 +- data/trainers/encounter_types.asm | 2 +- data/trainers/move_choices.asm | 2 +- data/trainers/name_pointers.asm | 44 +++++++++--------- data/trainers/parties.asm | 4 +- 6 files changed, 75 insertions(+), 75 deletions(-) diff --git a/constants/trainer_constants.asm b/constants/trainer_constants.asm index 1d033095..8e29b715 100755 --- a/constants/trainer_constants.asm +++ b/constants/trainer_constants.asm @@ -6,51 +6,51 @@ OPP_\1 EQU OPP_ID_OFFSET + \1 ENDM const_def - trainer_const NOBODY ; $00 - trainer_const YOUNGSTER ; $01 - trainer_const BUG_CATCHER ; $02 - trainer_const LASS ; $03 - trainer_const SAILOR ; $04 - trainer_const JR_TRAINER_M ; $05 - trainer_const JR_TRAINER_F ; $06 - trainer_const POKEMANIAC ; $07 - trainer_const SUPER_NERD ; $08 - trainer_const HIKER ; $09 - trainer_const BIKER ; $0A - trainer_const BURGLAR ; $0B - trainer_const ENGINEER ; $0C - trainer_const JUGGLER_X ; $0D - trainer_const FISHER ; $0E - trainer_const SWIMMER ; $0F - trainer_const CUE_BALL ; $10 - trainer_const GAMBLER ; $11 - trainer_const BEAUTY ; $12 - trainer_const PSYCHIC_TR ; $13 - trainer_const ROCKER ; $14 - trainer_const JUGGLER ; $15 - trainer_const TAMER ; $16 - trainer_const BIRD_KEEPER ; $17 - trainer_const BLACKBELT ; $18 - trainer_const RIVAL1 ; $19 - trainer_const PROF_OAK ; $1A - trainer_const CHIEF ; $1B - trainer_const SCIENTIST ; $1C - trainer_const GIOVANNI ; $1D - trainer_const ROCKET ; $1E - trainer_const COOLTRAINER_M ; $1F - trainer_const COOLTRAINER_F ; $20 - trainer_const BRUNO ; $21 - trainer_const BROCK ; $22 - trainer_const MISTY ; $23 - trainer_const LT_SURGE ; $24 - trainer_const ERIKA ; $25 - trainer_const KOGA ; $26 - trainer_const BLAINE ; $27 - trainer_const SABRINA ; $28 - trainer_const GENTLEMAN ; $29 - trainer_const RIVAL2 ; $2A - trainer_const RIVAL3 ; $2B - trainer_const LORELEI ; $2C - trainer_const CHANNELER ; $2D - trainer_const AGATHA ; $2E - trainer_const LANCE ; $2F + trainer_const NOBODY ; $00 + trainer_const YOUNGSTER ; $01 + trainer_const BUG_CATCHER ; $02 + trainer_const LASS ; $03 + trainer_const SAILOR ; $04 + trainer_const JR_TRAINER_M ; $05 + trainer_const JR_TRAINER_F ; $06 + trainer_const POKEMANIAC ; $07 + trainer_const SUPER_NERD ; $08 + trainer_const HIKER ; $09 + trainer_const BIKER ; $0A + trainer_const BURGLAR ; $0B + trainer_const ENGINEER ; $0C + trainer_const UNUSED_JUGGLER ; $0D + trainer_const FISHER ; $0E + trainer_const SWIMMER ; $0F + trainer_const CUE_BALL ; $10 + trainer_const GAMBLER ; $11 + trainer_const BEAUTY ; $12 + trainer_const PSYCHIC_TR ; $13 + trainer_const ROCKER ; $14 + trainer_const JUGGLER ; $15 + trainer_const TAMER ; $16 + trainer_const BIRD_KEEPER ; $17 + trainer_const BLACKBELT ; $18 + trainer_const RIVAL1 ; $19 + trainer_const PROF_OAK ; $1A + trainer_const CHIEF ; $1B + trainer_const SCIENTIST ; $1C + trainer_const GIOVANNI ; $1D + trainer_const ROCKET ; $1E + trainer_const COOLTRAINER_M ; $1F + trainer_const COOLTRAINER_F ; $20 + trainer_const BRUNO ; $21 + trainer_const BROCK ; $22 + trainer_const MISTY ; $23 + trainer_const LT_SURGE ; $24 + trainer_const ERIKA ; $25 + trainer_const KOGA ; $26 + trainer_const BLAINE ; $27 + trainer_const SABRINA ; $28 + trainer_const GENTLEMAN ; $29 + trainer_const RIVAL2 ; $2A + trainer_const RIVAL3 ; $2B + trainer_const LORELEI ; $2C + trainer_const CHANNELER ; $2D + trainer_const AGATHA ; $2E + trainer_const LANCE ; $2F diff --git a/data/trainers/ai_pointers.asm b/data/trainers/ai_pointers.asm index d2e3b11c..9008be86 100644 --- a/data/trainers/ai_pointers.asm +++ b/data/trainers/ai_pointers.asm @@ -15,7 +15,7 @@ TrainerAIPointers: dbw 3, GenericAI dbw 3, GenericAI dbw 3, GenericAI - dbw 3, JugglerAI ; juggler_x + dbw 3, JugglerAI ; unused_juggler dbw 3, GenericAI dbw 3, GenericAI dbw 3, GenericAI diff --git a/data/trainers/encounter_types.asm b/data/trainers/encounter_types.asm index 222b5868..5bca2517 100755 --- a/data/trainers/encounter_types.asm +++ b/data/trainers/encounter_types.asm @@ -6,7 +6,7 @@ FemaleTrainerList:: db -1 ; end EvilTrainerList:: - db OPP_JUGGLER_X + db OPP_UNUSED_JUGGLER db OPP_GAMBLER db OPP_ROCKER db OPP_JUGGLER diff --git a/data/trainers/move_choices.asm b/data/trainers/move_choices.asm index 4bc42767..6e6df63c 100644 --- a/data/trainers/move_choices.asm +++ b/data/trainers/move_choices.asm @@ -20,7 +20,7 @@ TrainerClassMoveChoiceModifications: move_choices 1 ; BIKER move_choices 1, 3 ; BURGLAR move_choices 1 ; ENGINEER - move_choices 1, 2 ; JUGGLER_X + move_choices 1, 2 ; UNUSED_JUGGLER move_choices 1, 3 ; FISHER move_choices 1, 3 ; SWIMMER move_choices ; CUE_BALL diff --git a/data/trainers/name_pointers.asm b/data/trainers/name_pointers.asm index 537a95e3..98e2e406 100644 --- a/data/trainers/name_pointers.asm +++ b/data/trainers/name_pointers.asm @@ -12,7 +12,7 @@ TrainerNamePointers: dw wTrainerName dw .BurglarName dw .EngineerName - dw .JugglerXName + dw .UnusedJugglerName dw wTrainerName dw .SwimmerName dw wTrainerName @@ -48,24 +48,24 @@ TrainerNamePointers: dw wTrainerName dw wTrainerName -.YoungsterName: db "YOUNGSTER@" -.BugCatcherName: db "BUG CATCHER@" -.LassName: db "LASS@" -.JrTrainerMName: db "JR.TRAINER♂@" -.JrTrainerFName: db "JR.TRAINER♀@" -.PokemaniacName: db "POKéMANIAC@" -.SuperNerdName: db "SUPER NERD@" -.BurglarName: db "BURGLAR@" -.EngineerName: db "ENGINEER@" -.JugglerXName: db "JUGGLER@" -.SwimmerName: db "SWIMMER@" -.BeautyName: db "BEAUTY@" -.RockerName: db "ROCKER@" -.JugglerName: db "JUGGLER@" -.BlackbeltName: db "BLACKBELT@" -.ProfOakName: db "PROF.OAK@" -.ChiefName: db "CHIEF@" -.ScientistName: db "SCIENTIST@" -.RocketName: db "ROCKET@" -.CooltrainerMName: db "COOLTRAINER♂@" -.CooltrainerFName: db "COOLTRAINER♀@" +.YoungsterName: db "YOUNGSTER@" +.BugCatcherName: db "BUG CATCHER@" +.LassName: db "LASS@" +.JrTrainerMName: db "JR.TRAINER♂@" +.JrTrainerFName: db "JR.TRAINER♀@" +.PokemaniacName: db "POKéMANIAC@" +.SuperNerdName: db "SUPER NERD@" +.BurglarName: db "BURGLAR@" +.EngineerName: db "ENGINEER@" +.UnusedJugglerName: db "JUGGLER@" +.SwimmerName: db "SWIMMER@" +.BeautyName: db "BEAUTY@" +.RockerName: db "ROCKER@" +.JugglerName: db "JUGGLER@" +.BlackbeltName: db "BLACKBELT@" +.ProfOakName: db "PROF.OAK@" +.ChiefName: db "CHIEF@" +.ScientistName: db "SCIENTIST@" +.RocketName: db "ROCKET@" +.CooltrainerMName: db "COOLTRAINER♂@" +.CooltrainerFName: db "COOLTRAINER♀@" diff --git a/data/trainers/parties.asm b/data/trainers/parties.asm index 24b4b9ca..005cb1dd 100755 --- a/data/trainers/parties.asm +++ b/data/trainers/parties.asm @@ -11,7 +11,7 @@ TrainerDataPointers: dw BikerData dw BurglarData dw EngineerData - dw Juggler1Data + dw UnusedJugglerData dw FisherData dw SwimmerData dw CueBallData @@ -308,7 +308,7 @@ EngineerData: db 21, MAGNEMITE, 0 db 18, MAGNEMITE, MAGNEMITE, MAGNETON, 0 -Juggler1Data: +UnusedJugglerData: ; none FisherData: -- cgit v1.2.3 From ef9cb892fdee558305071fe9d22c0f633b199f38 Mon Sep 17 00:00:00 2001 From: Rangi Date: Fri, 17 Jul 2020 14:02:45 -0400 Subject: cycling.png -> red_bike.png --- gfx/sprites.asm | 2 +- gfx/sprites/cycling.png | Bin 373 -> 0 bytes gfx/sprites/red_bike.png | Bin 0 -> 373 bytes home/overworld.asm | 2 +- 4 files changed, 2 insertions(+), 2 deletions(-) delete mode 100644 gfx/sprites/cycling.png create mode 100644 gfx/sprites/red_bike.png diff --git a/gfx/sprites.asm b/gfx/sprites.asm index bcb98c6f..4bcf678c 100644 --- a/gfx/sprites.asm +++ b/gfx/sprites.asm @@ -31,7 +31,7 @@ GamblerAsleepSprite:: INCBIN "gfx/sprites/gambler_asleep.2bpp" SECTION "NPC Sprites 2", ROMX -RedCyclingSprite:: INCBIN "gfx/sprites/cycling.2bpp" +RedBikeSprite:: INCBIN "gfx/sprites/red_bike.2bpp" RedSprite:: INCBIN "gfx/sprites/red.2bpp" BlueSprite:: INCBIN "gfx/sprites/blue.2bpp" OakSprite:: INCBIN "gfx/sprites/oak.2bpp" diff --git a/gfx/sprites/cycling.png b/gfx/sprites/cycling.png deleted file mode 100644 index ed117d0b..00000000 Binary files a/gfx/sprites/cycling.png and /dev/null differ diff --git a/gfx/sprites/red_bike.png b/gfx/sprites/red_bike.png new file mode 100644 index 00000000..ed117d0b Binary files /dev/null and b/gfx/sprites/red_bike.png differ diff --git a/home/overworld.asm b/home/overworld.asm index 807d6a61..741b8b7e 100644 --- a/home/overworld.asm +++ b/home/overworld.asm @@ -2010,7 +2010,7 @@ LoadSurfingPlayerSpriteGraphics:: jr LoadPlayerSpriteGraphicsCommon LoadBikePlayerSpriteGraphics:: - ld de, RedCyclingSprite + ld de, RedBikeSprite ld hl, vNPCSprites LoadPlayerSpriteGraphicsCommon:: -- cgit v1.2.3 From f53341efa170a322392e5d9cf094128a52041b1d Mon Sep 17 00:00:00 2001 From: Rangi Date: Fri, 17 Jul 2020 15:16:54 -0400 Subject: Define constants for subanimations' base coords and frame block modes --- constants/move_animation_constants.asm | 188 +++++ data/battle_anims/base_coords.asm | 354 +++++----- data/battle_anims/subanimations.asm | 1198 ++++++++++++++++---------------- engine/battle/animations.asm | 6 +- 4 files changed, 967 insertions(+), 779 deletions(-) diff --git a/constants/move_animation_constants.asm b/constants/move_animation_constants.asm index fba92204..6f3839d6 100644 --- a/constants/move_animation_constants.asm +++ b/constants/move_animation_constants.asm @@ -264,3 +264,191 @@ FIRST_SE_ID EQU const_value const FRAMEBLOCK_77 const FRAMEBLOCK_78 const FRAMEBLOCK_79 + +; base coordinates that are part of subanimations + const_def + const BASECOORD_00 + const BASECOORD_01 + const BASECOORD_02 + const BASECOORD_03 + const BASECOORD_04 + const BASECOORD_05 + const BASECOORD_06 + const BASECOORD_07 + const BASECOORD_08 + const BASECOORD_09 + const BASECOORD_0A + const BASECOORD_0B + const BASECOORD_0C + const BASECOORD_0D + const BASECOORD_0E + const BASECOORD_0F + const BASECOORD_10 + const BASECOORD_11 + const BASECOORD_12 + const BASECOORD_13 + const BASECOORD_14 + const BASECOORD_15 + const BASECOORD_16 + const BASECOORD_17 + const BASECOORD_18 + const BASECOORD_19 + const BASECOORD_1A + const BASECOORD_1B + const BASECOORD_1C + const BASECOORD_1D + const BASECOORD_1E + const BASECOORD_1F + const BASECOORD_20 + const BASECOORD_21 + const BASECOORD_22 + const BASECOORD_23 + const BASECOORD_24 + const BASECOORD_25 + const BASECOORD_26 + const BASECOORD_27 + const BASECOORD_28 + const BASECOORD_29 + const BASECOORD_2A + const BASECOORD_2B + const BASECOORD_2C + const BASECOORD_2D + const BASECOORD_2E + const BASECOORD_2F + const BASECOORD_30 + const BASECOORD_31 + const BASECOORD_32 + const BASECOORD_33 + const BASECOORD_34 + const BASECOORD_35 + const BASECOORD_36 + const BASECOORD_37 + const BASECOORD_38 + const BASECOORD_39 + const BASECOORD_3A + const BASECOORD_3B + const BASECOORD_3C + const BASECOORD_3D + const BASECOORD_3E + const BASECOORD_3F + const BASECOORD_40 + const BASECOORD_41 + const BASECOORD_42 + const BASECOORD_43 + const BASECOORD_44 + const BASECOORD_45 + const BASECOORD_46 + const BASECOORD_47 + const BASECOORD_48 + const BASECOORD_49 + const BASECOORD_4A + const BASECOORD_4B + const BASECOORD_4C + const BASECOORD_4D + const BASECOORD_4E + const BASECOORD_4F + const BASECOORD_50 + const BASECOORD_51 + const BASECOORD_52 + const BASECOORD_53 + const BASECOORD_54 + const BASECOORD_55 + const BASECOORD_56 + const BASECOORD_57 + const BASECOORD_58 + const BASECOORD_59 + const BASECOORD_5A + const BASECOORD_5B + const BASECOORD_5C + const BASECOORD_5D + const BASECOORD_5E + const BASECOORD_5F + const BASECOORD_60 + const BASECOORD_61 + const BASECOORD_62 + const BASECOORD_63 + const BASECOORD_64 + const BASECOORD_65 + const BASECOORD_66 + const BASECOORD_67 + const BASECOORD_68 + const BASECOORD_69 + const BASECOORD_6A + const BASECOORD_6B + const BASECOORD_6C + const BASECOORD_6D + const BASECOORD_6E + const BASECOORD_6F + const BASECOORD_70 + const BASECOORD_71 + const BASECOORD_72 + const BASECOORD_73 + const BASECOORD_74 + const BASECOORD_75 + const BASECOORD_76 + const BASECOORD_77 + const BASECOORD_78 + const BASECOORD_79 + const BASECOORD_7A + const BASECOORD_7B + const BASECOORD_7C + const BASECOORD_7D + const BASECOORD_7E + const BASECOORD_7F + const BASECOORD_80 + const BASECOORD_81 + const BASECOORD_82 + const BASECOORD_83 + const BASECOORD_84 + const BASECOORD_85 + const BASECOORD_86 + const BASECOORD_87 + const BASECOORD_88 + const BASECOORD_89 + const BASECOORD_8A + const BASECOORD_8B + const BASECOORD_8C + const BASECOORD_8D + const BASECOORD_8E + const BASECOORD_8F + const BASECOORD_90 + const BASECOORD_91 + const BASECOORD_92 + const BASECOORD_93 + const BASECOORD_94 + const BASECOORD_95 + const BASECOORD_96 + const BASECOORD_97 + const BASECOORD_98 + const BASECOORD_99 + const BASECOORD_9A + const BASECOORD_9B + const BASECOORD_9C + const BASECOORD_9D + const BASECOORD_9E + const BASECOORD_9F + const BASECOORD_A0 + const BASECOORD_A1 + const BASECOORD_A2 + const BASECOORD_A3 + const BASECOORD_A4 + const BASECOORD_A5 + const BASECOORD_A6 + const BASECOORD_A7 + const BASECOORD_A8 + const BASECOORD_A9 + const BASECOORD_AA + const BASECOORD_AB + const BASECOORD_AC + const BASECOORD_AD + const BASECOORD_AE + const BASECOORD_AF + const BASECOORD_B0 + +; frame block modes that are part of subanimations + const_def + const FRAMEBLOCKMODE_00 + const FRAMEBLOCKMODE_01 + const FRAMEBLOCKMODE_02 + const FRAMEBLOCKMODE_03 + const FRAMEBLOCKMODE_04 diff --git a/data/battle_anims/base_coords.asm b/data/battle_anims/base_coords.asm index 944aed3b..ad67baff 100644 --- a/data/battle_anims/base_coords.asm +++ b/data/battle_anims/base_coords.asm @@ -1,178 +1,178 @@ FrameBlockBaseCoords: - db $10, $68 - db $10, $70 - db $10, $78 - db $10, $80 - db $10, $88 - db $10, $90 - db $10, $98 - db $18, $68 - db $18, $70 - db $18, $78 - db $34, $28 - db $18, $80 - db $18, $88 - db $18, $98 - db $20, $68 - db $20, $70 - db $20, $78 - db $20, $80 - db $20, $88 - db $20, $90 - db $20, $98 - db $28, $68 - db $28, $70 - db $28, $78 - db $28, $80 - db $28, $88 - db $30, $68 - db $30, $70 - db $30, $78 - db $30, $80 - db $30, $90 - db $30, $98 - db $38, $68 - db $38, $78 - db $38, $80 - db $38, $88 - db $40, $68 - db $40, $70 - db $40, $78 - db $40, $80 - db $40, $88 - db $40, $98 - db $10, $60 - db $18, $60 - db $20, $60 - db $28, $60 - db $30, $60 - db $40, $60 - db $58, $28 - db $43, $38 - db $33, $48 - db $20, $58 - db $32, $78 - db $58, $58 - db $2C, $6C - db $34, $80 - db $48, $70 - db $42, $36 - db $38, $44 - db $40, $52 - db $48, $60 - db $3E, $6E - db $28, $7C - db $28, $8A - db $50, $3C - db $48, $50 - db $40, $64 - db $38, $38 - db $50, $30 - db $50, $38 - db $50, $40 - db $50, $48 - db $50, $50 - db $48, $58 - db $50, $44 - db $48, $48 - db $48, $4C - db $40, $50 - db $40, $54 - db $38, $58 - db $38, $5C - db $30, $64 - db $48, $40 - db $48, $39 - db $24, $88 - db $24, $70 - db $1C, $70 - db $1C, $88 - db $34, $68 - db $34, $88 - db $68, $50 - db $60, $50 - db $68, $60 - db $58, $50 - db $60, $60 - db $68, $40 - db $40, $40 - db $38, $40 - db $0B, $60 - db $44, $48 - db $40, $14 - db $48, $1C - db $50, $24 - db $4C, $24 - db $10, $62 - db $12, $62 - db $12, $60 - db $20, $72 - db $22, $72 - db $22, $70 - db $28, $62 - db $50, $0A - db $52, $0A - db $38, $30 - db $40, $48 - db $30, $48 - db $40, $30 - db $30, $40 - db $38, $48 - db $40, $4A - db $48, $4B - db $50, $4C - db $58, $4D - db $60, $4D - db $68, $4D - db $38, $10 - db $50, $10 - db $38, $28 - db $48, $18 - db $40, $20 - db $48, $20 - db $40, $3C - db $38, $50 - db $28, $64 - db $1C, $90 - db $24, $80 - db $2C, $70 - db $30, $38 - db $10, $50 - db $3C, $40 - db $40, $58 - db $30, $58 - db $58, $48 - db $50, $58 - db $48, $68 - db $40, $18 - db $28, $58 - db $40, $38 - db $48, $38 - db $08, $70 - db $44, $1C - db $3C, $58 - db $38, $60 - db $08, $60 - db $38, $70 - db $38, $6C - db $38, $64 - db $1C, $74 - db $2E, $74 - db $34, $50 - db $2F, $60 - db $31, $70 - db $4C, $30 - db $3B, $40 - db $2D, $50 - db $26, $60 - db $2D, $70 - db $28, $50 - db $1E, $60 - db $29, $70 - db $16, $60 - db $14, $58 - db $12, $54 - db $14, $50 - db $18, $4C - db $1C, $48 - db $48, $28 + db $10, $68 ; BASECOORD_00 + db $10, $70 ; BASECOORD_01 + db $10, $78 ; BASECOORD_02 + db $10, $80 ; BASECOORD_03 + db $10, $88 ; BASECOORD_04 + db $10, $90 ; BASECOORD_05 + db $10, $98 ; BASECOORD_06 + db $18, $68 ; BASECOORD_07 + db $18, $70 ; BASECOORD_08 + db $18, $78 ; BASECOORD_09 + db $34, $28 ; BASECOORD_0A + db $18, $80 ; BASECOORD_0B + db $18, $88 ; BASECOORD_0C + db $18, $98 ; BASECOORD_0D + db $20, $68 ; BASECOORD_0E + db $20, $70 ; BASECOORD_0F + db $20, $78 ; BASECOORD_10 + db $20, $80 ; BASECOORD_11 + db $20, $88 ; BASECOORD_12 + db $20, $90 ; BASECOORD_13 + db $20, $98 ; BASECOORD_14 + db $28, $68 ; BASECOORD_15 + db $28, $70 ; BASECOORD_16 + db $28, $78 ; BASECOORD_17 + db $28, $80 ; BASECOORD_18 + db $28, $88 ; BASECOORD_19 + db $30, $68 ; BASECOORD_1A + db $30, $70 ; BASECOORD_1B + db $30, $78 ; BASECOORD_1C + db $30, $80 ; BASECOORD_1D + db $30, $90 ; BASECOORD_1E + db $30, $98 ; BASECOORD_1F + db $38, $68 ; BASECOORD_20 + db $38, $78 ; BASECOORD_21 + db $38, $80 ; BASECOORD_22 + db $38, $88 ; BASECOORD_23 + db $40, $68 ; BASECOORD_24 + db $40, $70 ; BASECOORD_25 + db $40, $78 ; BASECOORD_26 + db $40, $80 ; BASECOORD_27 + db $40, $88 ; BASECOORD_28 + db $40, $98 ; BASECOORD_29 + db $10, $60 ; BASECOORD_2A + db $18, $60 ; BASECOORD_2B + db $20, $60 ; BASECOORD_2C + db $28, $60 ; BASECOORD_2D + db $30, $60 ; BASECOORD_2E + db $40, $60 ; BASECOORD_2F + db $58, $28 ; BASECOORD_30 + db $43, $38 ; BASECOORD_31 + db $33, $48 ; BASECOORD_32 + db $20, $58 ; BASECOORD_33 + db $32, $78 ; BASECOORD_34 + db $58, $58 ; BASECOORD_35 + db $2C, $6C ; BASECOORD_36 + db $34, $80 ; BASECOORD_37 + db $48, $70 ; BASECOORD_38 + db $42, $36 ; BASECOORD_39 + db $38, $44 ; BASECOORD_3A + db $40, $52 ; BASECOORD_3B + db $48, $60 ; BASECOORD_3C + db $3E, $6E ; BASECOORD_3D + db $28, $7C ; BASECOORD_3E + db $28, $8A ; BASECOORD_3F + db $50, $3C ; BASECOORD_40 + db $48, $50 ; BASECOORD_41 + db $40, $64 ; BASECOORD_42 + db $38, $38 ; BASECOORD_43 + db $50, $30 ; BASECOORD_44 + db $50, $38 ; BASECOORD_45 + db $50, $40 ; BASECOORD_46 + db $50, $48 ; BASECOORD_47 + db $50, $50 ; BASECOORD_48 + db $48, $58 ; BASECOORD_49 + db $50, $44 ; BASECOORD_4A + db $48, $48 ; BASECOORD_4B + db $48, $4C ; BASECOORD_4C + db $40, $50 ; BASECOORD_4D + db $40, $54 ; BASECOORD_4E + db $38, $58 ; BASECOORD_4F + db $38, $5C ; BASECOORD_50 + db $30, $64 ; BASECOORD_51 + db $48, $40 ; BASECOORD_52 + db $48, $39 ; BASECOORD_53 + db $24, $88 ; BASECOORD_54 + db $24, $70 ; BASECOORD_55 + db $1C, $70 ; BASECOORD_56 + db $1C, $88 ; BASECOORD_57 + db $34, $68 ; BASECOORD_58 + db $34, $88 ; BASECOORD_59 + db $68, $50 ; BASECOORD_5A + db $60, $50 ; BASECOORD_5B + db $68, $60 ; BASECOORD_5C + db $58, $50 ; BASECOORD_5D + db $60, $60 ; BASECOORD_5E + db $68, $40 ; BASECOORD_5F + db $40, $40 ; BASECOORD_60 + db $38, $40 ; BASECOORD_61 + db $0B, $60 ; BASECOORD_62 + db $44, $48 ; BASECOORD_63 + db $40, $14 ; BASECOORD_64 + db $48, $1C ; BASECOORD_65 + db $50, $24 ; BASECOORD_66 + db $4C, $24 ; BASECOORD_67 + db $10, $62 ; BASECOORD_68 + db $12, $62 ; BASECOORD_69 + db $12, $60 ; BASECOORD_6A + db $20, $72 ; BASECOORD_6B + db $22, $72 ; BASECOORD_6C + db $22, $70 ; BASECOORD_6D + db $28, $62 ; BASECOORD_6E + db $50, $0A ; BASECOORD_6F + db $52, $0A ; BASECOORD_70 + db $38, $30 ; BASECOORD_71 + db $40, $48 ; BASECOORD_72 + db $30, $48 ; BASECOORD_73 + db $40, $30 ; BASECOORD_74 + db $30, $40 ; BASECOORD_75 + db $38, $48 ; BASECOORD_76 + db $40, $4A ; BASECOORD_77 + db $48, $4B ; BASECOORD_78 + db $50, $4C ; BASECOORD_79 + db $58, $4D ; BASECOORD_7A + db $60, $4D ; BASECOORD_7B + db $68, $4D ; BASECOORD_7C + db $38, $10 ; BASECOORD_7D + db $50, $10 ; BASECOORD_7E + db $38, $28 ; BASECOORD_7F + db $48, $18 ; BASECOORD_80 + db $40, $20 ; BASECOORD_81 + db $48, $20 ; BASECOORD_82 + db $40, $3C ; BASECOORD_83 + db $38, $50 ; BASECOORD_84 + db $28, $64 ; BASECOORD_85 + db $1C, $90 ; BASECOORD_86 + db $24, $80 ; BASECOORD_87 + db $2C, $70 ; BASECOORD_88 + db $30, $38 ; BASECOORD_89 + db $10, $50 ; BASECOORD_8A + db $3C, $40 ; BASECOORD_8B + db $40, $58 ; BASECOORD_8C + db $30, $58 ; BASECOORD_8D + db $58, $48 ; BASECOORD_8E + db $50, $58 ; BASECOORD_8F + db $48, $68 ; BASECOORD_90 + db $40, $18 ; BASECOORD_91 + db $28, $58 ; BASECOORD_92 + db $40, $38 ; BASECOORD_93 + db $48, $38 ; BASECOORD_94 + db $08, $70 ; BASECOORD_95 + db $44, $1C ; BASECOORD_96 + db $3C, $58 ; BASECOORD_97 + db $38, $60 ; BASECOORD_98 + db $08, $60 ; BASECOORD_99 + db $38, $70 ; BASECOORD_9A + db $38, $6C ; BASECOORD_9B + db $38, $64 ; BASECOORD_9C + db $1C, $74 ; BASECOORD_9D + db $2E, $74 ; BASECOORD_9E + db $34, $50 ; BASECOORD_9F + db $2F, $60 ; BASECOORD_A0 + db $31, $70 ; BASECOORD_A1 + db $4C, $30 ; BASECOORD_A2 + db $3B, $40 ; BASECOORD_A3 + db $2D, $50 ; BASECOORD_A4 + db $26, $60 ; BASECOORD_A5 + db $2D, $70 ; BASECOORD_A6 + db $28, $50 ; BASECOORD_A7 + db $1E, $60 ; BASECOORD_A8 + db $29, $70 ; BASECOORD_A9 + db $16, $60 ; BASECOORD_AA + db $14, $58 ; BASECOORD_AB + db $12, $54 ; BASECOORD_AC + db $14, $50 ; BASECOORD_AD + db $18, $4C ; BASECOORD_AE + db $1C, $48 ; BASECOORD_AF + db $48, $28 ; BASECOORD_B0 diff --git a/data/battle_anims/subanimations.asm b/data/battle_anims/subanimations.asm index 6d5f1d8e..bbdc45c0 100644 --- a/data/battle_anims/subanimations.asm +++ b/data/battle_anims/subanimations.asm @@ -98,857 +98,857 @@ ENDM Subanimation04: subanim SUBANIMTYPE_HFLIP, 3 - db FRAMEBLOCK_02, $1a, $00 - db FRAMEBLOCK_02, $10, $00 - db FRAMEBLOCK_02, $03, $00 + db FRAMEBLOCK_02, BASECOORD_1A, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_02, BASECOORD_10, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_02, BASECOORD_03, FRAMEBLOCKMODE_00 Subanimation05: subanim SUBANIMTYPE_HFLIP, 1 - db FRAMEBLOCK_02, $10, $00 + db FRAMEBLOCK_02, BASECOORD_10, FRAMEBLOCKMODE_00 Subanimation08: subanim SUBANIMTYPE_NORMAL, 11 - db FRAMEBLOCK_03, $30, $00 - db FRAMEBLOCK_03, $44, $00 - db FRAMEBLOCK_03, $94, $00 - db FRAMEBLOCK_03, $60, $00 - db FRAMEBLOCK_03, $76, $00 - db FRAMEBLOCK_03, $9f, $00 - db FRAMEBLOCK_03, $8d, $00 - db FRAMEBLOCK_03, $a0, $00 - db FRAMEBLOCK_03, $1a, $00 - db FRAMEBLOCK_03, $a1, $00 - db FRAMEBLOCK_03, $34, $00 + db FRAMEBLOCK_03, BASECOORD_30, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_03, BASECOORD_44, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_03, BASECOORD_94, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_03, BASECOORD_60, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_03, BASECOORD_76, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_03, BASECOORD_9F, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_03, BASECOORD_8D, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_03, BASECOORD_A0, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_03, BASECOORD_1A, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_03, BASECOORD_A1, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_03, BASECOORD_34, FRAMEBLOCKMODE_00 Subanimation07: subanim SUBANIMTYPE_NORMAL, 11 - db FRAMEBLOCK_03, $30, $00 - db FRAMEBLOCK_03, $a2, $00 - db FRAMEBLOCK_03, $31, $00 - db FRAMEBLOCK_03, $a3, $00 - db FRAMEBLOCK_03, $32, $00 - db FRAMEBLOCK_03, $a4, $00 - db FRAMEBLOCK_03, $92, $00 - db FRAMEBLOCK_03, $a5, $00 - db FRAMEBLOCK_03, $15, $00 - db FRAMEBLOCK_03, $a6, $00 - db FRAMEBLOCK_03, $34, $00 + db FRAMEBLOCK_03, BASECOORD_30, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_03, BASECOORD_A2, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_03, BASECOORD_31, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_03, BASECOORD_A3, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_03, BASECOORD_32, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_03, BASECOORD_A4, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_03, BASECOORD_92, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_03, BASECOORD_A5, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_03, BASECOORD_15, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_03, BASECOORD_A6, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_03, BASECOORD_34, FRAMEBLOCKMODE_00 Subanimation06: subanim SUBANIMTYPE_NORMAL, 11 - db FRAMEBLOCK_03, $30, $00 - db FRAMEBLOCK_03, $a2, $00 - db FRAMEBLOCK_03, $93, $00 - db FRAMEBLOCK_03, $61, $00 - db FRAMEBLOCK_03, $73, $00 - db FRAMEBLOCK_03, $a7, $00 - db FRAMEBLOCK_03, $33, $00 - db FRAMEBLOCK_03, $a8, $00 - db FRAMEBLOCK_03, $0e, $00 - db FRAMEBLOCK_03, $a9, $00 - db FRAMEBLOCK_03, $34, $00 + db FRAMEBLOCK_03, BASECOORD_30, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_03, BASECOORD_A2, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_03, BASECOORD_93, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_03, BASECOORD_61, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_03, BASECOORD_73, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_03, BASECOORD_A7, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_03, BASECOORD_33, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_03, BASECOORD_A8, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_03, BASECOORD_0E, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_03, BASECOORD_A9, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_03, BASECOORD_34, FRAMEBLOCKMODE_00 Subanimation09: subanim SUBANIMTYPE_NORMAL, 4 - db FRAMEBLOCK_03, $21, $04 - db FRAMEBLOCK_04, $21, $04 - db FRAMEBLOCK_03, $21, $04 - db FRAMEBLOCK_05, $21, $04 + db FRAMEBLOCK_03, BASECOORD_21, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_04, BASECOORD_21, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_03, BASECOORD_21, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_05, BASECOORD_21, FRAMEBLOCKMODE_04 Subanimation0a: subanim SUBANIMTYPE_HFLIP, 6 - db FRAMEBLOCK_06, $1b, $00 - db FRAMEBLOCK_07, $1b, $00 - db FRAMEBLOCK_08, $36, $00 - db FRAMEBLOCK_09, $36, $00 - db FRAMEBLOCK_0A, $15, $00 - db FRAMEBLOCK_0A, $15, $00 + db FRAMEBLOCK_06, BASECOORD_1B, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_07, BASECOORD_1B, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_08, BASECOORD_36, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_09, BASECOORD_36, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_0A, BASECOORD_15, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_0A, BASECOORD_15, FRAMEBLOCKMODE_00 Subanimation0b: subanim SUBANIMTYPE_NORMAL, 4 - db FRAMEBLOCK_01, $2d, $00 - db FRAMEBLOCK_03, $2f, $00 - db FRAMEBLOCK_03, $35, $00 - db FRAMEBLOCK_03, $4d, $00 + db FRAMEBLOCK_01, BASECOORD_2D, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_03, BASECOORD_2F, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_03, BASECOORD_35, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_03, BASECOORD_4D, FRAMEBLOCKMODE_00 Subanimation55: subanim SUBANIMTYPE_HFLIP, 1 - db FRAMEBLOCK_01, $9d, $00 + db FRAMEBLOCK_01, BASECOORD_9D, FRAMEBLOCKMODE_00 Subanimation11: subanim SUBANIMTYPE_HFLIP, 12 - db FRAMEBLOCK_0B, $26, $00 - db FRAMEBLOCK_0C, $26, $00 - db FRAMEBLOCK_0B, $26, $00 - db FRAMEBLOCK_0C, $26, $00 - db FRAMEBLOCK_0B, $28, $00 - db FRAMEBLOCK_0C, $28, $00 - db FRAMEBLOCK_0B, $28, $00 - db FRAMEBLOCK_0C, $28, $00 - db FRAMEBLOCK_0B, $27, $00 - db FRAMEBLOCK_0C, $27, $00 - db FRAMEBLOCK_0B, $27, $00 - db FRAMEBLOCK_0C, $27, $00 + db FRAMEBLOCK_0B, BASECOORD_26, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_0C, BASECOORD_26, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_0B, BASECOORD_26, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_0C, BASECOORD_26, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_0B, BASECOORD_28, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_0C, BASECOORD_28, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_0B, BASECOORD_28, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_0C, BASECOORD_28, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_0B, BASECOORD_27, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_0C, BASECOORD_27, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_0B, BASECOORD_27, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_0C, BASECOORD_27, FRAMEBLOCKMODE_00 Subanimation2b: subanim SUBANIMTYPE_HFLIP, 11 - db FRAMEBLOCK_0D, $03, $03 - db FRAMEBLOCK_0E, $03, $03 - db FRAMEBLOCK_0F, $03, $00 - db FRAMEBLOCK_0D, $11, $00 - db FRAMEBLOCK_0D, $11, $00 - db FRAMEBLOCK_0D, $37, $00 - db FRAMEBLOCK_0D, $37, $00 - db FRAMEBLOCK_10, $21, $00 - db FRAMEBLOCK_10, $21, $00 - db FRAMEBLOCK_11, $1b, $00 - db FRAMEBLOCK_11, $1b, $00 + db FRAMEBLOCK_0D, BASECOORD_03, FRAMEBLOCKMODE_03 + db FRAMEBLOCK_0E, BASECOORD_03, FRAMEBLOCKMODE_03 + db FRAMEBLOCK_0F, BASECOORD_03, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_0D, BASECOORD_11, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_0D, BASECOORD_11, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_0D, BASECOORD_37, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_0D, BASECOORD_37, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_10, BASECOORD_21, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_10, BASECOORD_21, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_11, BASECOORD_1B, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_11, BASECOORD_1B, FRAMEBLOCKMODE_00 Subanimation2c: subanim SUBANIMTYPE_HFLIP, 12 - db FRAMEBLOCK_12, $01, $00 - db FRAMEBLOCK_12, $0f, $00 - db FRAMEBLOCK_12, $1b, $00 - db FRAMEBLOCK_12, $25, $00 - db FRAMEBLOCK_13, $38, $00 - db FRAMEBLOCK_13, $38, $02 - db FRAMEBLOCK_14, $38, $00 - db FRAMEBLOCK_14, $38, $02 - db FRAMEBLOCK_15, $38, $00 - db FRAMEBLOCK_15, $38, $00 - db FRAMEBLOCK_16, $38, $00 - db FRAMEBLOCK_16, $38, $00 + db FRAMEBLOCK_12, BASECOORD_01, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_12, BASECOORD_0F, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_12, BASECOORD_1B, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_12, BASECOORD_25, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_13, BASECOORD_38, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_13, BASECOORD_38, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_14, BASECOORD_38, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_14, BASECOORD_38, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_15, BASECOORD_38, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_15, BASECOORD_38, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_16, BASECOORD_38, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_16, BASECOORD_38, FRAMEBLOCKMODE_00 Subanimation12: subanim SUBANIMTYPE_COORDFLIP, 9 - db FRAMEBLOCK_17, $30, $00 - db FRAMEBLOCK_17, $39, $00 - db FRAMEBLOCK_17, $3a, $00 - db FRAMEBLOCK_17, $3b, $00 - db FRAMEBLOCK_17, $3c, $00 - db FRAMEBLOCK_17, $3d, $00 - db FRAMEBLOCK_17, $3e, $00 - db FRAMEBLOCK_17, $3f, $00 - db FRAMEBLOCK_17, $1f, $00 + db FRAMEBLOCK_17, BASECOORD_30, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_17, BASECOORD_39, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_17, BASECOORD_3A, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_17, BASECOORD_3B, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_17, BASECOORD_3C, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_17, BASECOORD_3D, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_17, BASECOORD_3E, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_17, BASECOORD_3F, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_17, BASECOORD_1F, FRAMEBLOCKMODE_00 Subanimation00: subanim SUBANIMTYPE_HFLIP, 1 - db FRAMEBLOCK_01, $17, $00 + db FRAMEBLOCK_01, BASECOORD_17, FRAMEBLOCKMODE_00 Subanimation01: subanim SUBANIMTYPE_HFLIP, 2 - db FRAMEBLOCK_01, $0f, $00 - db FRAMEBLOCK_01, $1d, $00 + db FRAMEBLOCK_01, BASECOORD_0F, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_01, BASECOORD_1D, FRAMEBLOCKMODE_00 Subanimation02: subanim SUBANIMTYPE_HFLIP, 3 - db FRAMEBLOCK_01, $12, $00 - db FRAMEBLOCK_01, $15, $00 - db FRAMEBLOCK_01, $1c, $00 + db FRAMEBLOCK_01, BASECOORD_12, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_01, BASECOORD_15, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_01, BASECOORD_1C, FRAMEBLOCKMODE_00 Subanimation03: subanim SUBANIMTYPE_HFLIP, 4 - db FRAMEBLOCK_01, $0b, $00 - db FRAMEBLOCK_01, $11, $00 - db FRAMEBLOCK_01, $18, $00 - db FRAMEBLOCK_01, $1d, $00 + db FRAMEBLOCK_01, BASECOORD_0B, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_01, BASECOORD_11, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_01, BASECOORD_18, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_01, BASECOORD_1D, FRAMEBLOCKMODE_00 Subanimation0c: subanim SUBANIMTYPE_HFLIP, 3 - db FRAMEBLOCK_0C, $20, $00 - db FRAMEBLOCK_0C, $21, $00 - db FRAMEBLOCK_0C, $23, $00 + db FRAMEBLOCK_0C, BASECOORD_20, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_0C, BASECOORD_21, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_0C, BASECOORD_23, FRAMEBLOCKMODE_00 Subanimation0d: subanim SUBANIMTYPE_HFLIP, 6 - db FRAMEBLOCK_0C, $20, $02 - db FRAMEBLOCK_0C, $15, $00 - db FRAMEBLOCK_0C, $21, $02 - db FRAMEBLOCK_0C, $17, $00 - db FRAMEBLOCK_0C, $23, $02 - db FRAMEBLOCK_0C, $19, $00 + db FRAMEBLOCK_0C, BASECOORD_20, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_0C, BASECOORD_15, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_0C, BASECOORD_21, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_0C, BASECOORD_17, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_0C, BASECOORD_23, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_0C, BASECOORD_19, FRAMEBLOCKMODE_00 Subanimation0e: subanim SUBANIMTYPE_HFLIP, 9 - db FRAMEBLOCK_0C, $20, $02 - db FRAMEBLOCK_0C, $15, $02 - db FRAMEBLOCK_0C, $07, $00 - db FRAMEBLOCK_0C, $21, $02 - db FRAMEBLOCK_0C, $17, $02 - db FRAMEBLOCK_0C, $09, $00 - db FRAMEBLOCK_0C, $23, $02 - db FRAMEBLOCK_0C, $19, $02 - db FRAMEBLOCK_0C, $0c, $00 + db FRAMEBLOCK_0C, BASECOORD_20, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_0C, BASECOORD_15, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_0C, BASECOORD_07, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_0C, BASECOORD_21, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_0C, BASECOORD_17, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_0C, BASECOORD_09, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_0C, BASECOORD_23, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_0C, BASECOORD_19, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_0C, BASECOORD_0C, FRAMEBLOCKMODE_00 Subanimation1f: subanim SUBANIMTYPE_REVERSE, 5 - db FRAMEBLOCK_0C, $30, $03 - db FRAMEBLOCK_0C, $40, $03 - db FRAMEBLOCK_0C, $41, $03 - db FRAMEBLOCK_0C, $42, $03 - db FRAMEBLOCK_0C, $21, $00 + db FRAMEBLOCK_0C, BASECOORD_30, FRAMEBLOCKMODE_03 + db FRAMEBLOCK_0C, BASECOORD_40, FRAMEBLOCKMODE_03 + db FRAMEBLOCK_0C, BASECOORD_41, FRAMEBLOCKMODE_03 + db FRAMEBLOCK_0C, BASECOORD_42, FRAMEBLOCKMODE_03 + db FRAMEBLOCK_0C, BASECOORD_21, FRAMEBLOCKMODE_00 Subanimation2e: subanim SUBANIMTYPE_HVFLIP, 14 - db FRAMEBLOCK_18, $43, $02 - db FRAMEBLOCK_75, $52, $04 - db FRAMEBLOCK_19, $43, $02 - db FRAMEBLOCK_75, $63, $04 - db FRAMEBLOCK_1A, $43, $02 - db FRAMEBLOCK_75, $4d, $04 - db FRAMEBLOCK_1B, $43, $02 - db FRAMEBLOCK_75, $97, $04 - db FRAMEBLOCK_1C, $43, $02 - db FRAMEBLOCK_75, $98, $04 - db FRAMEBLOCK_1D, $43, $02 - db FRAMEBLOCK_75, $58, $04 - db FRAMEBLOCK_1E, $43, $02 - db FRAMEBLOCK_75, $1b, $00 + db FRAMEBLOCK_18, BASECOORD_43, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_75, BASECOORD_52, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_19, BASECOORD_43, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_75, BASECOORD_63, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_1A, BASECOORD_43, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_75, BASECOORD_4D, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_1B, BASECOORD_43, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_75, BASECOORD_97, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_1C, BASECOORD_43, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_75, BASECOORD_98, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_1D, BASECOORD_43, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_75, BASECOORD_58, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_1E, BASECOORD_43, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_75, BASECOORD_1B, FRAMEBLOCKMODE_00 Subanimation2f: subanim SUBANIMTYPE_HFLIP, 4 - db FRAMEBLOCK_1F, $24, $00 - db FRAMEBLOCK_20, $20, $00 - db FRAMEBLOCK_21, $1a, $00 - db FRAMEBLOCK_22, $15, $00 + db FRAMEBLOCK_1F, BASECOORD_24, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_20, BASECOORD_20, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_21, BASECOORD_1A, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_22, BASECOORD_15, FRAMEBLOCKMODE_00 Subanimation30: subanim SUBANIMTYPE_HFLIP, 18 - db FRAMEBLOCK_23, $00, $02 - db FRAMEBLOCK_23, $02, $02 - db FRAMEBLOCK_23, $04, $00 - db FRAMEBLOCK_23, $07, $02 - db FRAMEBLOCK_23, $02, $02 - db FRAMEBLOCK_23, $04, $00 - db FRAMEBLOCK_23, $0e, $02 - db FRAMEBLOCK_23, $02, $02 - db FRAMEBLOCK_23, $0c, $00 - db FRAMEBLOCK_25, $07, $00 - db FRAMEBLOCK_25, $0e, $00 - db FRAMEBLOCK_25, $15, $00 - db FRAMEBLOCK_24, $24, $02 - db FRAMEBLOCK_23, $1c, $02 - db FRAMEBLOCK_23, $23, $00 - db FRAMEBLOCK_23, $21, $02 - db FRAMEBLOCK_24, $28, $00 - db FRAMEBLOCK_24, $28, $00 + db FRAMEBLOCK_23, BASECOORD_00, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_23, BASECOORD_02, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_23, BASECOORD_04, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_23, BASECOORD_07, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_23, BASECOORD_02, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_23, BASECOORD_04, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_23, BASECOORD_0E, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_23, BASECOORD_02, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_23, BASECOORD_0C, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_25, BASECOORD_07, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_25, BASECOORD_0E, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_25, BASECOORD_15, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_24, BASECOORD_24, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_23, BASECOORD_1C, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_23, BASECOORD_23, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_23, BASECOORD_21, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_24, BASECOORD_28, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_24, BASECOORD_28, FRAMEBLOCKMODE_00 Subanimation0f: subanim SUBANIMTYPE_HFLIP, 12 - db FRAMEBLOCK_26, $0e, $02 - db FRAMEBLOCK_26, $16, $02 - db FRAMEBLOCK_26, $1c, $00 - db FRAMEBLOCK_27, $0e, $02 - db FRAMEBLOCK_27, $16, $02 - db FRAMEBLOCK_27, $1c, $00 - db FRAMEBLOCK_28, $0e, $02 - db FRAMEBLOCK_28, $16, $02 - db FRAMEBLOCK_28, $1c, $00 - db FRAMEBLOCK_29, $0e, $02 - db FRAMEBLOCK_29, $16, $02 - db FRAMEBLOCK_29, $1c, $00 + db FRAMEBLOCK_26, BASECOORD_0E, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_26, BASECOORD_16, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_26, BASECOORD_1C, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_27, BASECOORD_0E, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_27, BASECOORD_16, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_27, BASECOORD_1C, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_28, BASECOORD_0E, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_28, BASECOORD_16, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_28, BASECOORD_1C, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_29, BASECOORD_0E, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_29, BASECOORD_16, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_29, BASECOORD_1C, FRAMEBLOCKMODE_00 Subanimation16: subanim SUBANIMTYPE_HFLIP, 12 - db FRAMEBLOCK_2A, $05, $00 - db FRAMEBLOCK_2B, $05, $02 - db FRAMEBLOCK_2B, $0c, $02 - db FRAMEBLOCK_2A, $11, $04 - db FRAMEBLOCK_2B, $11, $02 - db FRAMEBLOCK_2B, $17, $02 - db FRAMEBLOCK_2A, $1b, $04 - db FRAMEBLOCK_2B, $1b, $02 - db FRAMEBLOCK_2B, $20, $02 - db FRAMEBLOCK_2A, $2f, $04 - db FRAMEBLOCK_2C, $00, $02 - db FRAMEBLOCK_2C, $00, $00 + db FRAMEBLOCK_2A, BASECOORD_05, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_2B, BASECOORD_05, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_2B, BASECOORD_0C, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_2A, BASECOORD_11, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_2B, BASECOORD_11, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_2B, BASECOORD_17, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_2A, BASECOORD_1B, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_2B, BASECOORD_1B, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_2B, BASECOORD_20, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_2A, BASECOORD_2F, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_2C, BASECOORD_00, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_2C, BASECOORD_00, FRAMEBLOCKMODE_00 Subanimation10: subanim SUBANIMTYPE_REVERSE, 8 - db FRAMEBLOCK_2D, $44, $00 - db FRAMEBLOCK_2E, $45, $00 - db FRAMEBLOCK_2D, $46, $00 - db FRAMEBLOCK_2E, $47, $00 - db FRAMEBLOCK_2D, $48, $00 - db FRAMEBLOCK_2E, $49, $00 - db FRAMEBLOCK_2D, $2f, $00 - db FRAMEBLOCK_2E, $1a, $00 + db FRAMEBLOCK_2D, BASECOORD_44, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_2E, BASECOORD_45, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_2D, BASECOORD_46, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_2E, BASECOORD_47, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_2D, BASECOORD_48, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_2E, BASECOORD_49, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_2D, BASECOORD_2F, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_2E, BASECOORD_1A, FRAMEBLOCKMODE_00 Subanimation31: subanim SUBANIMTYPE_HVFLIP, 10 - db FRAMEBLOCK_2F, $46, $00 - db FRAMEBLOCK_2F, $4a, $00 - db FRAMEBLOCK_2F, $4b, $00 - db FRAMEBLOCK_2F, $4c, $00 - db FRAMEBLOCK_2F, $4d, $00 - db FRAMEBLOCK_2F, $4e, $00 - db FRAMEBLOCK_2F, $4f, $00 - db FRAMEBLOCK_2F, $50, $00 - db FRAMEBLOCK_2F, $2e, $00 - db FRAMEBLOCK_2F, $51, $00 + db FRAMEBLOCK_2F, BASECOORD_46, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_2F, BASECOORD_4A, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_2F, BASECOORD_4B, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_2F, BASECOORD_4C, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_2F, BASECOORD_4D, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_2F, BASECOORD_4E, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_2F, BASECOORD_4F, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_2F, BASECOORD_50, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_2F, BASECOORD_2E, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_2F, BASECOORD_51, FRAMEBLOCKMODE_00 Subanimation13: subanim SUBANIMTYPE_REVERSE, 6 - db FRAMEBLOCK_30, $31, $00 - db FRAMEBLOCK_30, $32, $00 - db FRAMEBLOCK_30, $92, $00 - db FRAMEBLOCK_30, $0e, $00 - db FRAMEBLOCK_30, $0f, $00 - db FRAMEBLOCK_30, $10, $00 + db FRAMEBLOCK_30, BASECOORD_31, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_30, BASECOORD_32, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_30, BASECOORD_92, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_30, BASECOORD_0E, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_30, BASECOORD_0F, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_30, BASECOORD_10, FRAMEBLOCKMODE_00 Subanimation14: subanim SUBANIMTYPE_HFLIP, 9 - db FRAMEBLOCK_30, $10, $00 - db FRAMEBLOCK_30, $10, $03 - db FRAMEBLOCK_31, $1c, $04 - db FRAMEBLOCK_31, $21, $04 - db FRAMEBLOCK_31, $26, $00 - db FRAMEBLOCK_30, $10, $02 - db FRAMEBLOCK_31, $1d, $04 - db FRAMEBLOCK_31, $22, $04 - db FRAMEBLOCK_31, $27, $00 + db FRAMEBLOCK_30, BASECOORD_10, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_30, BASECOORD_10, FRAMEBLOCKMODE_03 + db FRAMEBLOCK_31, BASECOORD_1C, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_31, BASECOORD_21, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_31, BASECOORD_26, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_30, BASECOORD_10, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_31, BASECOORD_1D, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_31, BASECOORD_22, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_31, BASECOORD_27, FRAMEBLOCKMODE_00 Subanimation41: subanim SUBANIMTYPE_REVERSE, 5 - db FRAMEBLOCK_03, $31, $00 - db FRAMEBLOCK_03, $32, $00 - db FRAMEBLOCK_03, $92, $00 - db FRAMEBLOCK_03, $0e, $00 - db FRAMEBLOCK_03, $10, $00 + db FRAMEBLOCK_03, BASECOORD_31, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_03, BASECOORD_32, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_03, BASECOORD_92, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_03, BASECOORD_0E, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_03, BASECOORD_10, FRAMEBLOCKMODE_00 Subanimation42: subanim SUBANIMTYPE_HFLIP, 3 - db FRAMEBLOCK_SMALL_BLACK_CIRCLE, $08, $00 - db FRAMEBLOCK_LARGE_BLACK_CIRCLE, $08, $00 - db FRAMEBLOCK_5A, $08, $00 + db FRAMEBLOCK_SMALL_BLACK_CIRCLE, BASECOORD_08, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_LARGE_BLACK_CIRCLE, BASECOORD_08, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_5A, BASECOORD_08, FRAMEBLOCKMODE_00 Subanimation15: subanim SUBANIMTYPE_HVFLIP, 2 - db FRAMEBLOCK_35, $52, $00 - db FRAMEBLOCK_35, $53, $00 + db FRAMEBLOCK_35, BASECOORD_52, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_35, BASECOORD_53, FRAMEBLOCKMODE_00 Subanimation17: subanim SUBANIMTYPE_HFLIP, 4 - db FRAMEBLOCK_36, $54, $00 - db FRAMEBLOCK_36, $55, $00 - db FRAMEBLOCK_37, $56, $00 - db FRAMEBLOCK_37, $57, $00 + db FRAMEBLOCK_36, BASECOORD_54, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_36, BASECOORD_55, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_37, BASECOORD_56, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_37, BASECOORD_57, FRAMEBLOCKMODE_00 Subanimation18: subanim SUBANIMTYPE_ENEMY, 4 - db FRAMEBLOCK_36, $54, $00 - db FRAMEBLOCK_36, $55, $00 - db FRAMEBLOCK_37, $56, $00 - db FRAMEBLOCK_37, $57, $00 + db FRAMEBLOCK_36, BASECOORD_54, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_36, BASECOORD_55, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_37, BASECOORD_56, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_37, BASECOORD_57, FRAMEBLOCKMODE_00 Subanimation40: subanim SUBANIMTYPE_HFLIP, 6 - db FRAMEBLOCK_17, $54, $00 - db FRAMEBLOCK_17, $55, $00 - db FRAMEBLOCK_17, $0e, $00 - db FRAMEBLOCK_17, $56, $00 - db FRAMEBLOCK_17, $57, $00 - db FRAMEBLOCK_17, $13, $00 + db FRAMEBLOCK_17, BASECOORD_54, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_17, BASECOORD_55, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_17, BASECOORD_0E, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_17, BASECOORD_56, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_17, BASECOORD_57, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_17, BASECOORD_13, FRAMEBLOCKMODE_00 Subanimation19: subanim SUBANIMTYPE_REVERSE, 12 - db FRAMEBLOCK_38, $31, $00 - db FRAMEBLOCK_39, $31, $00 - db FRAMEBLOCK_38, $32, $00 - db FRAMEBLOCK_39, $32, $00 - db FRAMEBLOCK_38, $92, $00 - db FRAMEBLOCK_39, $92, $00 - db FRAMEBLOCK_38, $0e, $00 - db FRAMEBLOCK_39, $0e, $00 - db FRAMEBLOCK_38, $0f, $00 - db FRAMEBLOCK_39, $0f, $00 - db FRAMEBLOCK_38, $10, $00 - db FRAMEBLOCK_39, $10, $00 + db FRAMEBLOCK_38, BASECOORD_31, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_39, BASECOORD_31, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_38, BASECOORD_32, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_39, BASECOORD_32, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_38, BASECOORD_92, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_39, BASECOORD_92, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_38, BASECOORD_0E, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_39, BASECOORD_0E, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_38, BASECOORD_0F, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_39, BASECOORD_0F, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_38, BASECOORD_10, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_39, BASECOORD_10, FRAMEBLOCKMODE_00 Subanimation1a: subanim SUBANIMTYPE_HFLIP, 16 - db FRAMEBLOCK_3A, $08, $00 - db FRAMEBLOCK_3B, $08, $00 - db FRAMEBLOCK_3C, $08, $00 - db FRAMEBLOCK_3D, $08, $00 - db FRAMEBLOCK_3E, $08, $00 - db FRAMEBLOCK_3F, $08, $00 - db FRAMEBLOCK_3E, $08, $00 - db FRAMEBLOCK_3F, $08, $00 - db FRAMEBLOCK_3A, $0b, $00 - db FRAMEBLOCK_3B, $0b, $00 - db FRAMEBLOCK_3C, $0b, $00 - db FRAMEBLOCK_3D, $0b, $00 - db FRAMEBLOCK_3E, $0b, $00 - db FRAMEBLOCK_3F, $0b, $00 - db FRAMEBLOCK_3E, $0b, $00 - db FRAMEBLOCK_3F, $0b, $00 + db FRAMEBLOCK_3A, BASECOORD_08, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_3B, BASECOORD_08, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_3C, BASECOORD_08, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_3D, BASECOORD_08, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_3E, BASECOORD_08, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_3F, BASECOORD_08, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_3E, BASECOORD_08, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_3F, BASECOORD_08, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_3A, BASECOORD_0B, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_3B, BASECOORD_0B, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_3C, BASECOORD_0B, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_3D, BASECOORD_0B, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_3E, BASECOORD_0B, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_3F, BASECOORD_0B, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_3E, BASECOORD_0B, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_3F, BASECOORD_0B, FRAMEBLOCKMODE_00 Subanimation1b: subanim SUBANIMTYPE_REVERSE, 4 - db FRAMEBLOCK_40, $31, $00 - db FRAMEBLOCK_40, $32, $00 - db FRAMEBLOCK_40, $92, $00 - db FRAMEBLOCK_40, $15, $00 + db FRAMEBLOCK_40, BASECOORD_31, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_40, BASECOORD_32, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_40, BASECOORD_92, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_40, BASECOORD_15, FRAMEBLOCKMODE_00 Subanimation1c: subanim SUBANIMTYPE_HFLIP, 3 - db FRAMEBLOCK_41, $58, $00 - db FRAMEBLOCK_41, $59, $00 - db FRAMEBLOCK_41, $21, $00 + db FRAMEBLOCK_41, BASECOORD_58, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_41, BASECOORD_59, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_41, BASECOORD_21, FRAMEBLOCKMODE_00 Subanimation1d: subanim SUBANIMTYPE_ENEMY, 15 - db FRAMEBLOCK_24, $9a, $00 - db FRAMEBLOCK_23, $1b, $02 - db FRAMEBLOCK_24, $22, $00 - db FRAMEBLOCK_23, $16, $02 - db FRAMEBLOCK_23, $1d, $02 - db FRAMEBLOCK_24, $98, $00 - db FRAMEBLOCK_25, $2c, $04 - db FRAMEBLOCK_25, $2a, $04 - db FRAMEBLOCK_25, $99, $04 - db FRAMEBLOCK_25, $62, $04 - db FRAMEBLOCK_25, $99, $04 - db FRAMEBLOCK_25, $62, $04 - db FRAMEBLOCK_25, $99, $04 - db FRAMEBLOCK_25, $62, $04 - db FRAMEBLOCK_25, $99, $03 + db FRAMEBLOCK_24, BASECOORD_9A, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_23, BASECOORD_1B, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_24, BASECOORD_22, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_23, BASECOORD_16, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_23, BASECOORD_1D, FRAMEBLOCKMODE_02 + db FRAMEBLOCK_24, BASECOORD_98, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_25, BASECOORD_2C, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_25, BASECOORD_2A, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_25, BASECOORD_99, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_25, BASECOORD_62, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_25, BASECOORD_99, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_25, BASECOORD_62, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_25, BASECOORD_99, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_25, BASECOORD_62, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_25, BASECOORD_99, FRAMEBLOCKMODE_03 Subanimation1e: subanim SUBANIMTYPE_NORMAL, 1 - db FRAMEBLOCK_25, $75, $00 + db FRAMEBLOCK_25, BASECOORD_75, FRAMEBLOCKMODE_00 Subanimation20: subanim SUBANIMTYPE_HFLIP, 2 - db FRAMEBLOCK_42, $07, $00 - db FRAMEBLOCK_43, $07, $00 + db FRAMEBLOCK_42, BASECOORD_07, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_43, BASECOORD_07, FRAMEBLOCKMODE_00 Subanimation21: subanim SUBANIMTYPE_HFLIP, 3 - db FRAMEBLOCK_44, $00, $00 - db FRAMEBLOCK_45, $08, $00 - db FRAMEBLOCK_46, $10, $02 + db FRAMEBLOCK_44, BASECOORD_00, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_45, BASECOORD_08, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_46, BASECOORD_10, FRAMEBLOCKMODE_02 Subanimation22: subanim SUBANIMTYPE_REVERSE, 11 - db FRAMEBLOCK_47, $10, $00 - db FRAMEBLOCK_47, $56, $00 - db FRAMEBLOCK_47, $07, $00 - db FRAMEBLOCK_47, $aa, $00 - db FRAMEBLOCK_47, $ab, $00 - db FRAMEBLOCK_47, $ac, $00 - db FRAMEBLOCK_47, $ad, $00 - db FRAMEBLOCK_47, $ae, $00 - db FRAMEBLOCK_47, $af, $00 - db FRAMEBLOCK_47, $89, $00 - db FRAMEBLOCK_47, $b0, $00 + db FRAMEBLOCK_47, BASECOORD_10, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_47, BASECOORD_56, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_47, BASECOORD_07, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_47, BASECOORD_AA, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_47, BASECOORD_AB, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_47, BASECOORD_AC, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_47, BASECOORD_AD, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_47, BASECOORD_AE, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_47, BASECOORD_AF, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_47, BASECOORD_89, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_47, BASECOORD_B0, FRAMEBLOCKMODE_00 Subanimation2d: subanim SUBANIMTYPE_COORDFLIP, 6 - db FRAMEBLOCK_44, $64, $00 - db FRAMEBLOCK_45, $65, $00 - db FRAMEBLOCK_46, $66, $00 - db FRAMEBLOCK_47, $66, $00 - db FRAMEBLOCK_47, $66, $00 - db FRAMEBLOCK_47, $66, $00 + db FRAMEBLOCK_44, BASECOORD_64, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_45, BASECOORD_65, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_46, BASECOORD_66, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_47, BASECOORD_66, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_47, BASECOORD_66, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_47, BASECOORD_66, FRAMEBLOCKMODE_00 Subanimation39: subanim SUBANIMTYPE_COORDFLIP, 1 - db FRAMEBLOCK_47, $67, $00 + db FRAMEBLOCK_47, BASECOORD_67, FRAMEBLOCKMODE_00 Subanimation4e: subanim SUBANIMTYPE_HFLIP, 1 - db FRAMEBLOCK_71, $0f, $03 + db FRAMEBLOCK_71, BASECOORD_0F, FRAMEBLOCKMODE_03 Subanimation4f: subanim SUBANIMTYPE_HFLIP, 7 - db FRAMEBLOCK_71, $0f, $00 - db FRAMEBLOCK_71, $08, $00 - db FRAMEBLOCK_71, $01, $00 - db FRAMEBLOCK_71, $95, $00 - db FRAMEBLOCK_72, $95, $00 - db FRAMEBLOCK_73, $95, $00 - db FRAMEBLOCK_74, $95, $00 + db FRAMEBLOCK_71, BASECOORD_0F, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_71, BASECOORD_08, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_71, BASECOORD_01, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_71, BASECOORD_95, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_72, BASECOORD_95, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_73, BASECOORD_95, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_74, BASECOORD_95, FRAMEBLOCKMODE_00 Subanimation50: subanim SUBANIMTYPE_HFLIP, 8 - db FRAMEBLOCK_74, $95, $00 - db FRAMEBLOCK_73, $95, $00 - db FRAMEBLOCK_72, $95, $00 - db FRAMEBLOCK_71, $95, $00 - db FRAMEBLOCK_71, $01, $00 - db FRAMEBLOCK_71, $08, $00 - db FRAMEBLOCK_71, $0f, $00 - db FRAMEBLOCK_71, $16, $00 + db FRAMEBLOCK_74, BASECOORD_95, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_73, BASECOORD_95, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_72, BASECOORD_95, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_71, BASECOORD_95, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_71, BASECOORD_01, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_71, BASECOORD_08, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_71, BASECOORD_0F, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_71, BASECOORD_16, FRAMEBLOCKMODE_00 Subanimation29: subanim SUBANIMTYPE_HFLIP, 29 - db FRAMEBLOCK_SMALL_BLACK_CIRCLE, $0f, $00 - db FRAMEBLOCK_4A, $68, $03 - db FRAMEBLOCK_4B, $2a, $03 - db FRAMEBLOCK_LARGE_BLACK_CIRCLE, $0f, $00 - db FRAMEBLOCK_4A, $68, $03 - db FRAMEBLOCK_4B, $2a, $00 - db FRAMEBLOCK_4C, $6a, $03 - db FRAMEBLOCK_4D, $69, $03 - db FRAMEBLOCK_LARGE_BLACK_CIRCLE, $6b, $00 - db FRAMEBLOCK_4C, $6a, $03 - db FRAMEBLOCK_4D, $69, $00 - db FRAMEBLOCK_4A, $68, $03 - db FRAMEBLOCK_4B, $2a, $03 - db FRAMEBLOCK_LARGE_BLACK_CIRCLE, $6c, $00 - db FRAMEBLOCK_4A, $68, $03 - db FRAMEBLOCK_4B, $2a, $00 - db FRAMEBLOCK_4C, $6a, $03 - db FRAMEBLOCK_4D, $69, $03 - db FRAMEBLOCK_LARGE_BLACK_CIRCLE, $6d, $00 - db FRAMEBLOCK_4C, $6a, $03 - db FRAMEBLOCK_4D, $2a, $00 - db FRAMEBLOCK_4A, $68, $03 - db FRAMEBLOCK_4B, $2a, $03 - db FRAMEBLOCK_LARGE_BLACK_CIRCLE, $0f, $00 - db FRAMEBLOCK_4A, $68, $03 - db FRAMEBLOCK_4B, $2a, $00 - db FRAMEBLOCK_4C, $6a, $03 - db FRAMEBLOCK_4D, $2a, $03 - db FRAMEBLOCK_LARGE_BLACK_CIRCLE, $6b, $00 + db FRAMEBLOCK_SMALL_BLACK_CIRCLE, BASECOORD_0F, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_4A, BASECOORD_68, FRAMEBLOCKMODE_03 + db FRAMEBLOCK_4B, BASECOORD_2A, FRAMEBLOCKMODE_03 + db FRAMEBLOCK_LARGE_BLACK_CIRCLE, BASECOORD_0F, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_4A, BASECOORD_68, FRAMEBLOCKMODE_03 + db FRAMEBLOCK_4B, BASECOORD_2A, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_4C, BASECOORD_6A, FRAMEBLOCKMODE_03 + db FRAMEBLOCK_4D, BASECOORD_69, FRAMEBLOCKMODE_03 + db FRAMEBLOCK_LARGE_BLACK_CIRCLE, BASECOORD_6B, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_4C, BASECOORD_6A, FRAMEBLOCKMODE_03 + db FRAMEBLOCK_4D, BASECOORD_69, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_4A, BASECOORD_68, FRAMEBLOCKMODE_03 + db FRAMEBLOCK_4B, BASECOORD_2A, FRAMEBLOCKMODE_03 + db FRAMEBLOCK_LARGE_BLACK_CIRCLE, BASECOORD_6C, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_4A, BASECOORD_68, FRAMEBLOCKMODE_03 + db FRAMEBLOCK_4B, BASECOORD_2A, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_4C, BASECOORD_6A, FRAMEBLOCKMODE_03 + db FRAMEBLOCK_4D, BASECOORD_69, FRAMEBLOCKMODE_03 + db FRAMEBLOCK_LARGE_BLACK_CIRCLE, BASECOORD_6D, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_4C, BASECOORD_6A, FRAMEBLOCKMODE_03 + db FRAMEBLOCK_4D, BASECOORD_2A, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_4A, BASECOORD_68, FRAMEBLOCKMODE_03 + db FRAMEBLOCK_4B, BASECOORD_2A, FRAMEBLOCKMODE_03 + db FRAMEBLOCK_LARGE_BLACK_CIRCLE, BASECOORD_0F, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_4A, BASECOORD_68, FRAMEBLOCKMODE_03 + db FRAMEBLOCK_4B, BASECOORD_2A, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_4C, BASECOORD_6A, FRAMEBLOCKMODE_03 + db FRAMEBLOCK_4D, BASECOORD_2A, FRAMEBLOCKMODE_03 + db FRAMEBLOCK_LARGE_BLACK_CIRCLE, BASECOORD_6B, FRAMEBLOCKMODE_00 Subanimation2a: subanim SUBANIMTYPE_HFLIP, 4 - db FRAMEBLOCK_4E, $2b, $00 - db FRAMEBLOCK_4F, $2b, $00 - db FRAMEBLOCK_50, $2b, $00 - db FRAMEBLOCK_50, $2b, $00 + db FRAMEBLOCK_4E, BASECOORD_2B, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_4F, BASECOORD_2B, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_50, BASECOORD_2B, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_50, BASECOORD_2B, FRAMEBLOCKMODE_00 Subanimation23: subanim SUBANIMTYPE_HFLIP, 2 - db FRAMEBLOCK_51, $2d, $00 - db FRAMEBLOCK_51, $6e, $00 + db FRAMEBLOCK_51, BASECOORD_2D, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_51, BASECOORD_6E, FRAMEBLOCKMODE_00 Subanimation24: subanim SUBANIMTYPE_ENEMY, 2 - db FRAMEBLOCK_51, $2d, $00 - db FRAMEBLOCK_51, $6e, $00 + db FRAMEBLOCK_51, BASECOORD_2D, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_51, BASECOORD_6E, FRAMEBLOCKMODE_00 Subanimation25: subanim SUBANIMTYPE_COORDFLIP, 2 - db FRAMEBLOCK_52, $71, $00 - db FRAMEBLOCK_52, $72, $00 + db FRAMEBLOCK_52, BASECOORD_71, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_52, BASECOORD_72, FRAMEBLOCKMODE_00 Subanimation26: subanim SUBANIMTYPE_NORMAL, 2 - db FRAMEBLOCK_52, $01, $00 - db FRAMEBLOCK_52, $2c, $00 + db FRAMEBLOCK_52, BASECOORD_01, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_52, BASECOORD_2C, FRAMEBLOCKMODE_00 Subanimation3a: subanim SUBANIMTYPE_COORDFLIP, 3 - db FRAMEBLOCK_53, $71, $00 - db FRAMEBLOCK_53, $7f, $00 - db FRAMEBLOCK_53, $81, $00 + db FRAMEBLOCK_53, BASECOORD_71, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_53, BASECOORD_7F, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_53, BASECOORD_81, FRAMEBLOCKMODE_00 Subanimation3b: subanim SUBANIMTYPE_NORMAL, 3 - db FRAMEBLOCK_53, $01, $00 - db FRAMEBLOCK_53, $15, $00 - db FRAMEBLOCK_53, $2c, $00 + db FRAMEBLOCK_53, BASECOORD_01, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_53, BASECOORD_15, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_53, BASECOORD_2C, FRAMEBLOCKMODE_00 Subanimation27: subanim SUBANIMTYPE_ENEMY, 2 - db FRAMEBLOCK_54, $01, $00 - db FRAMEBLOCK_54, $2c, $00 + db FRAMEBLOCK_54, BASECOORD_01, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_54, BASECOORD_2C, FRAMEBLOCKMODE_00 Subanimation28: subanim SUBANIMTYPE_HVFLIP, 3 - db FRAMEBLOCK_55, $73, $03 - db FRAMEBLOCK_56, $73, $03 - db FRAMEBLOCK_57, $73, $00 + db FRAMEBLOCK_55, BASECOORD_73, FRAMEBLOCKMODE_03 + db FRAMEBLOCK_56, BASECOORD_73, FRAMEBLOCKMODE_03 + db FRAMEBLOCK_57, BASECOORD_73, FRAMEBLOCKMODE_00 Subanimation32: subanim SUBANIMTYPE_COORDFLIP, 3 - db FRAMEBLOCK_47, $74, $00 - db FRAMEBLOCK_47, $43, $00 - db FRAMEBLOCK_47, $75, $00 + db FRAMEBLOCK_47, BASECOORD_74, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_47, BASECOORD_43, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_47, BASECOORD_75, FRAMEBLOCKMODE_00 Subanimation33: subanim SUBANIMTYPE_HVFLIP, 6 - db FRAMEBLOCK_58, $76, $00 - db FRAMEBLOCK_34, $76, $00 - db FRAMEBLOCK_58, $76, $00 - db FRAMEBLOCK_34, $76, $00 - db FRAMEBLOCK_58, $76, $00 - db FRAMEBLOCK_34, $76, $00 + db FRAMEBLOCK_58, BASECOORD_76, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_34, BASECOORD_76, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_58, BASECOORD_76, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_34, BASECOORD_76, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_58, BASECOORD_76, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_34, BASECOORD_76, FRAMEBLOCKMODE_00 Subanimation3c: subanim SUBANIMTYPE_COORDFLIP, 7 - db FRAMEBLOCK_59, $79, $03 - db FRAMEBLOCK_59, $7b, $03 - db FRAMEBLOCK_59, $77, $03 - db FRAMEBLOCK_59, $7a, $03 - db FRAMEBLOCK_59, $78, $03 - db FRAMEBLOCK_59, $7c, $03 - db FRAMEBLOCK_59, $76, $00 + db FRAMEBLOCK_59, BASECOORD_79, FRAMEBLOCKMODE_03 + db FRAMEBLOCK_59, BASECOORD_7B, FRAMEBLOCKMODE_03 + db FRAMEBLOCK_59, BASECOORD_77, FRAMEBLOCKMODE_03 + db FRAMEBLOCK_59, BASECOORD_7A, FRAMEBLOCKMODE_03 + db FRAMEBLOCK_59, BASECOORD_78, FRAMEBLOCKMODE_03 + db FRAMEBLOCK_59, BASECOORD_7C, FRAMEBLOCKMODE_03 + db FRAMEBLOCK_59, BASECOORD_76, FRAMEBLOCKMODE_00 Subanimation3d: subanim SUBANIMTYPE_NORMAL, 8 - db FRAMEBLOCK_3A, $4d, $00 - db FRAMEBLOCK_3B, $4d, $00 - db FRAMEBLOCK_3C, $4d, $00 - db FRAMEBLOCK_3D, $4d, $00 - db FRAMEBLOCK_3E, $4d, $00 - db FRAMEBLOCK_3F, $4d, $00 - db FRAMEBLOCK_3E, $4d, $00 - db FRAMEBLOCK_3F, $4d, $00 + db FRAMEBLOCK_3A, BASECOORD_4D, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_3B, BASECOORD_4D, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_3C, BASECOORD_4D, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_3D, BASECOORD_4D, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_3E, BASECOORD_4D, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_3F, BASECOORD_4D, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_3E, BASECOORD_4D, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_3F, BASECOORD_4D, FRAMEBLOCKMODE_00 Subanimation34: subanim SUBANIMTYPE_HVFLIP, 21 - db FRAMEBLOCK_SMALL_BLACK_CIRCLE, $7d, $00 - db FRAMEBLOCK_LARGE_BLACK_CIRCLE, $7d, $00 - db FRAMEBLOCK_5A, $7d, $00 - db FRAMEBLOCK_SMALL_BLACK_CIRCLE, $30, $00 - db FRAMEBLOCK_LARGE_BLACK_CIRCLE, $30, $00 - db FRAMEBLOCK_5A, $30, $00 - db FRAMEBLOCK_SMALL_BLACK_CIRCLE, $7e, $00 - db FRAMEBLOCK_LARGE_BLACK_CIRCLE, $7e, $00 - db FRAMEBLOCK_5A, $7e, $00 - db FRAMEBLOCK_SMALL_BLACK_CIRCLE, $7f, $00 - db FRAMEBLOCK_LARGE_BLACK_CIRCLE, $7f, $00 - db FRAMEBLOCK_5A, $7f, $00 - db FRAMEBLOCK_SMALL_BLACK_CIRCLE, $80, $00 - db FRAMEBLOCK_LARGE_BLACK_CIRCLE, $80, $00 - db FRAMEBLOCK_5A, $80, $00 - db FRAMEBLOCK_SMALL_BLACK_CIRCLE, $81, $00 - db FRAMEBLOCK_LARGE_BLACK_CIRCLE, $81, $00 - db FRAMEBLOCK_5A, $81, $00 - db FRAMEBLOCK_SMALL_BLACK_CIRCLE, $82, $00 - db FRAMEBLOCK_LARGE_BLACK_CIRCLE, $82, $00 - db FRAMEBLOCK_5A, $82, $00 + db FRAMEBLOCK_SMALL_BLACK_CIRCLE, BASECOORD_7D, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_LARGE_BLACK_CIRCLE, BASECOORD_7D, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_5A, BASECOORD_7D, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_SMALL_BLACK_CIRCLE, BASECOORD_30, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_LARGE_BLACK_CIRCLE, BASECOORD_30, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_5A, BASECOORD_30, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_SMALL_BLACK_CIRCLE, BASECOORD_7E, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_LARGE_BLACK_CIRCLE, BASECOORD_7E, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_5A, BASECOORD_7E, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_SMALL_BLACK_CIRCLE, BASECOORD_7F, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_LARGE_BLACK_CIRCLE, BASECOORD_7F, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_5A, BASECOORD_7F, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_SMALL_BLACK_CIRCLE, BASECOORD_80, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_LARGE_BLACK_CIRCLE, BASECOORD_80, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_5A, BASECOORD_80, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_SMALL_BLACK_CIRCLE, BASECOORD_81, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_LARGE_BLACK_CIRCLE, BASECOORD_81, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_5A, BASECOORD_81, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_SMALL_BLACK_CIRCLE, BASECOORD_82, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_LARGE_BLACK_CIRCLE, BASECOORD_82, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_5A, BASECOORD_82, FRAMEBLOCKMODE_00 Subanimation35: subanim SUBANIMTYPE_HVFLIP, 4 - db FRAMEBLOCK_5B, $83, $03 - db FRAMEBLOCK_5C, $84, $03 - db FRAMEBLOCK_5D, $85, $03 - db FRAMEBLOCK_5E, $09, $00 + db FRAMEBLOCK_5B, BASECOORD_83, FRAMEBLOCKMODE_03 + db FRAMEBLOCK_5C, BASECOORD_84, FRAMEBLOCKMODE_03 + db FRAMEBLOCK_5D, BASECOORD_85, FRAMEBLOCKMODE_03 + db FRAMEBLOCK_5E, BASECOORD_09, FRAMEBLOCKMODE_00 Subanimation36: subanim SUBANIMTYPE_HFLIP, 8 - db FRAMEBLOCK_5F, $2a, $00 - db FRAMEBLOCK_5F, $00, $00 - db FRAMEBLOCK_60, $2a, $00 - db FRAMEBLOCK_60, $00, $00 - db FRAMEBLOCK_61, $2a, $00 - db FRAMEBLOCK_61, $00, $00 - db FRAMEBLOCK_62, $2a, $00 - db FRAMEBLOCK_62, $00, $00 + db FRAMEBLOCK_5F, BASECOORD_2A, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_5F, BASECOORD_00, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_60, BASECOORD_2A, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_60, BASECOORD_00, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_61, BASECOORD_2A, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_61, BASECOORD_00, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_62, BASECOORD_2A, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_62, BASECOORD_00, FRAMEBLOCKMODE_00 Subanimation37: subanim SUBANIMTYPE_HVFLIP, 10 - db FRAMEBLOCK_63, $89, $00 - db FRAMEBLOCK_64, $75, $00 - db FRAMEBLOCK_63, $76, $00 - db FRAMEBLOCK_65, $0d, $00 - db FRAMEBLOCK_65, $86, $00 - db FRAMEBLOCK_65, $12, $00 - db FRAMEBLOCK_65, $87, $00 - db FRAMEBLOCK_65, $17, $00 - db FRAMEBLOCK_65, $88, $00 - db FRAMEBLOCK_65, $1a, $00 + db FRAMEBLOCK_63, BASECOORD_89, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_64, BASECOORD_75, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_63, BASECOORD_76, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_65, BASECOORD_0D, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_65, BASECOORD_86, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_65, BASECOORD_12, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_65, BASECOORD_87, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_65, BASECOORD_17, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_65, BASECOORD_88, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_65, BASECOORD_1A, FRAMEBLOCKMODE_00 Subanimation38: subanim SUBANIMTYPE_HFLIP, 16 - db FRAMEBLOCK_66, $8a, $00 - db FRAMEBLOCK_66, $33, $00 - db FRAMEBLOCK_66, $2e, $00 - db FRAMEBLOCK_67, $24, $03 - db FRAMEBLOCK_66, $01, $04 - db FRAMEBLOCK_66, $10, $04 - db FRAMEBLOCK_66, $1d, $04 - db FRAMEBLOCK_67, $28, $03 - db FRAMEBLOCK_66, $2a, $04 - db FRAMEBLOCK_66, $0e, $04 - db FRAMEBLOCK_66, $1b, $04 - db FRAMEBLOCK_67, $26, $03 - db FRAMEBLOCK_66, $03, $04 - db FRAMEBLOCK_66, $12, $04 - db FRAMEBLOCK_66, $1e, $04 - db FRAMEBLOCK_67, $29, $00 + db FRAMEBLOCK_66, BASECOORD_8A, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_66, BASECOORD_33, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_66, BASECOORD_2E, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_67, BASECOORD_24, FRAMEBLOCKMODE_03 + db FRAMEBLOCK_66, BASECOORD_01, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_66, BASECOORD_10, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_66, BASECOORD_1D, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_67, BASECOORD_28, FRAMEBLOCKMODE_03 + db FRAMEBLOCK_66, BASECOORD_2A, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_66, BASECOORD_0E, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_66, BASECOORD_1B, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_67, BASECOORD_26, FRAMEBLOCKMODE_03 + db FRAMEBLOCK_66, BASECOORD_03, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_66, BASECOORD_12, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_66, BASECOORD_1E, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_67, BASECOORD_29, FRAMEBLOCKMODE_00 Subanimation3e: subanim SUBANIMTYPE_REVERSE, 18 - db FRAMEBLOCK_02, $31, $00 - db FRAMEBLOCK_34, $31, $00 - db FRAMEBLOCK_02, $31, $00 - db FRAMEBLOCK_02, $32, $00 - db FRAMEBLOCK_34, $32, $00 - db FRAMEBLOCK_02, $32, $00 - db FRAMEBLOCK_02, $92, $00 - db FRAMEBLOCK_34, $92, $00 - db FRAMEBLOCK_02, $92, $00 - db FRAMEBLOCK_02, $0e, $00 - db FRAMEBLOCK_34, $0e, $00 - db FRAMEBLOCK_02, $0e, $00 - db FRAMEBLOCK_02, $0f, $00 - db FRAMEBLOCK_34, $0f, $00 - db FRAMEBLOCK_02, $0f, $00 - db FRAMEBLOCK_02, $10, $00 - db FRAMEBLOCK_34, $10, $00 - db FRAMEBLOCK_02, $10, $00 + db FRAMEBLOCK_02, BASECOORD_31, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_34, BASECOORD_31, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_02, BASECOORD_31, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_02, BASECOORD_32, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_34, BASECOORD_32, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_02, BASECOORD_32, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_02, BASECOORD_92, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_34, BASECOORD_92, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_02, BASECOORD_92, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_02, BASECOORD_0E, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_34, BASECOORD_0E, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_02, BASECOORD_0E, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_02, BASECOORD_0F, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_34, BASECOORD_0F, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_02, BASECOORD_0F, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_02, BASECOORD_10, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_34, BASECOORD_10, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_02, BASECOORD_10, FRAMEBLOCKMODE_00 Subanimation3f: subanim SUBANIMTYPE_COORDFLIP, 18 - db FRAMEBLOCK_68, $4b, $00 - db FRAMEBLOCK_68, $8c, $00 - db FRAMEBLOCK_68, $20, $00 - db FRAMEBLOCK_68, $1c, $00 - db FRAMEBLOCK_68, $19, $00 - db FRAMEBLOCK_68, $14, $00 - db FRAMEBLOCK_68, $76, $00 - db FRAMEBLOCK_68, $8d, $00 - db FRAMEBLOCK_68, $15, $00 - db FRAMEBLOCK_68, $10, $00 - db FRAMEBLOCK_68, $0c, $00 - db FRAMEBLOCK_68, $06, $00 - db FRAMEBLOCK_68, $8e, $00 - db FRAMEBLOCK_68, $8f, $00 - db FRAMEBLOCK_68, $90, $00 - db FRAMEBLOCK_68, $26, $00 - db FRAMEBLOCK_68, $23, $00 - db FRAMEBLOCK_68, $1f, $00 + db FRAMEBLOCK_68, BASECOORD_4B, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_68, BASECOORD_8C, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_68, BASECOORD_20, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_68, BASECOORD_1C, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_68, BASECOORD_19, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_68, BASECOORD_14, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_68, BASECOORD_76, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_68, BASECOORD_8D, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_68, BASECOORD_15, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_68, BASECOORD_10, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_68, BASECOORD_0C, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_68, BASECOORD_06, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_68, BASECOORD_8E, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_68, BASECOORD_8F, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_68, BASECOORD_90, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_68, BASECOORD_26, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_68, BASECOORD_23, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_68, BASECOORD_1F, FRAMEBLOCKMODE_00 Subanimation44: subanim SUBANIMTYPE_HVFLIP, 12 - db FRAMEBLOCK_69, $4b, $00 - db FRAMEBLOCK_69, $8c, $00 - db FRAMEBLOCK_69, $20, $00 - db FRAMEBLOCK_69, $1c, $00 - db FRAMEBLOCK_69, $19, $00 - db FRAMEBLOCK_69, $14, $00 - db FRAMEBLOCK_69, $76, $00 - db FRAMEBLOCK_69, $8d, $00 - db FRAMEBLOCK_69, $15, $00 - db FRAMEBLOCK_69, $10, $00 - db FRAMEBLOCK_69, $0c, $00 - db FRAMEBLOCK_69, $06, $00 + db FRAMEBLOCK_69, BASECOORD_4B, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_69, BASECOORD_8C, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_69, BASECOORD_20, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_69, BASECOORD_1C, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_69, BASECOORD_19, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_69, BASECOORD_14, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_69, BASECOORD_76, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_69, BASECOORD_8D, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_69, BASECOORD_15, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_69, BASECOORD_10, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_69, BASECOORD_0C, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_69, BASECOORD_06, FRAMEBLOCKMODE_00 Subanimation43: subanim SUBANIMTYPE_ENEMY, 3 - db FRAMEBLOCK_6A, $07, $00 - db FRAMEBLOCK_6B, $0f, $00 - db FRAMEBLOCK_6C, $17, $00 + db FRAMEBLOCK_6A, BASECOORD_07, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_6B, BASECOORD_0F, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_6C, BASECOORD_17, FRAMEBLOCKMODE_00 Subanimation45: subanim SUBANIMTYPE_HVFLIP, 4 - db FRAMEBLOCK_6D, $8b, $00 - db FRAMEBLOCK_6D, $84, $00 - db FRAMEBLOCK_6D, $63, $00 - db FRAMEBLOCK_6D, $8c, $00 + db FRAMEBLOCK_6D, BASECOORD_8B, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_6D, BASECOORD_84, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_6D, BASECOORD_63, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_6D, BASECOORD_8C, FRAMEBLOCKMODE_00 Subanimation46: subanim SUBANIMTYPE_HVFLIP, 6 - db FRAMEBLOCK_6D, $8b, $00 - db FRAMEBLOCK_6D, $84, $00 - db FRAMEBLOCK_6D, $63, $00 - db FRAMEBLOCK_6D, $8c, $00 - db FRAMEBLOCK_6D, $0a, $00 - db FRAMEBLOCK_6D, $89, $00 + db FRAMEBLOCK_6D, BASECOORD_8B, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_6D, BASECOORD_84, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_6D, BASECOORD_63, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_6D, BASECOORD_8C, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_6D, BASECOORD_0A, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_6D, BASECOORD_89, FRAMEBLOCKMODE_00 Subanimation47: subanim SUBANIMTYPE_HVFLIP, 3 - db FRAMEBLOCK_06, $82, $00 - db FRAMEBLOCK_07, $82, $00 - db FRAMEBLOCK_08, $96, $00 + db FRAMEBLOCK_06, BASECOORD_82, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_07, BASECOORD_82, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_08, BASECOORD_96, FRAMEBLOCKMODE_00 Subanimation48: subanim SUBANIMTYPE_NORMAL, 6 - db FRAMEBLOCK_03, $41, $04 - db FRAMEBLOCK_03, $48, $04 - db FRAMEBLOCK_04, $48, $04 - db FRAMEBLOCK_03, $48, $04 - db FRAMEBLOCK_05, $48, $04 - db FRAMEBLOCK_03, $48, $03 + db FRAMEBLOCK_03, BASECOORD_41, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_03, BASECOORD_48, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_04, BASECOORD_48, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_03, BASECOORD_48, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_05, BASECOORD_48, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_03, BASECOORD_48, FRAMEBLOCKMODE_03 Subanimation49: subanim SUBANIMTYPE_NORMAL, 4 - db FRAMEBLOCK_04, $48, $04 - db FRAMEBLOCK_03, $48, $04 - db FRAMEBLOCK_05, $48, $04 - db FRAMEBLOCK_03, $48, $03 + db FRAMEBLOCK_04, BASECOORD_48, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_03, BASECOORD_48, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_05, BASECOORD_48, FRAMEBLOCKMODE_04 + db FRAMEBLOCK_03, BASECOORD_48, FRAMEBLOCKMODE_03 Subanimation4a: subanim SUBANIMTYPE_NORMAL, 1 - db FRAMEBLOCK_04, $84, $03 + db FRAMEBLOCK_04, BASECOORD_84, FRAMEBLOCKMODE_03 Subanimation4b: subanim SUBANIMTYPE_NORMAL, 3 - db FRAMEBLOCK_06, $72, $00 - db FRAMEBLOCK_07, $72, $00 - db FRAMEBLOCK_08, $72, $00 + db FRAMEBLOCK_06, BASECOORD_72, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_07, BASECOORD_72, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_08, BASECOORD_72, FRAMEBLOCKMODE_00 Subanimation4c: subanim SUBANIMTYPE_COORDFLIP, 8 - db FRAMEBLOCK_6F, $30, $00 - db FRAMEBLOCK_6E, $30, $00 - db FRAMEBLOCK_70, $30, $00 - db FRAMEBLOCK_6E, $30, $00 - db FRAMEBLOCK_6F, $30, $00 - db FRAMEBLOCK_6E, $30, $00 - db FRAMEBLOCK_70, $30, $00 - db FRAMEBLOCK_6E, $30, $00 + db FRAMEBLOCK_6F, BASECOORD_30, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_6E, BASECOORD_30, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_70, BASECOORD_30, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_6E, BASECOORD_30, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_6F, BASECOORD_30, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_6E, BASECOORD_30, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_70, BASECOORD_30, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_6E, BASECOORD_30, FRAMEBLOCKMODE_00 Subanimation4d: subanim SUBANIMTYPE_HVFLIP, 6 - db FRAMEBLOCK_32, $4b, $00 - db FRAMEBLOCK_33, $4f, $00 - db FRAMEBLOCK_32, $20, $00 - db FRAMEBLOCK_33, $16, $00 - db FRAMEBLOCK_32, $19, $00 - db FRAMEBLOCK_33, $0d, $00 + db FRAMEBLOCK_32, BASECOORD_4B, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_33, BASECOORD_4F, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_32, BASECOORD_20, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_33, BASECOORD_16, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_32, BASECOORD_19, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_33, BASECOORD_0D, FRAMEBLOCKMODE_00 Subanimation51: subanim SUBANIMTYPE_ENEMY, 6 - db FRAMEBLOCK_76, $1b, $00 - db FRAMEBLOCK_34, $1b, $00 - db FRAMEBLOCK_76, $1b, $00 - db FRAMEBLOCK_34, $1b, $00 - db FRAMEBLOCK_76, $1b, $00 - db FRAMEBLOCK_34, $1b, $00 + db FRAMEBLOCK_76, BASECOORD_1B, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_34, BASECOORD_1B, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_76, BASECOORD_1B, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_34, BASECOORD_1B, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_76, BASECOORD_1B, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_34, BASECOORD_1B, FRAMEBLOCKMODE_00 Subanimation52: subanim SUBANIMTYPE_HFLIP, 7 - db FRAMEBLOCK_77, $25, $00 - db FRAMEBLOCK_77, $9b, $00 - db FRAMEBLOCK_77, $1a, $00 - db FRAMEBLOCK_77, $9c, $00 - db FRAMEBLOCK_77, $2f, $00 - db FRAMEBLOCK_77, $50, $00 - db FRAMEBLOCK_77, $8c, $00 + db FRAMEBLOCK_77, BASECOORD_25, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_77, BASECOORD_9B, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_77, BASECOORD_1A, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_77, BASECOORD_9C, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_77, BASECOORD_2F, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_77, BASECOORD_50, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_77, BASECOORD_8C, FRAMEBLOCKMODE_00 Subanimation53: subanim SUBANIMTYPE_NORMAL, 12 - db FRAMEBLOCK_78, $30, $00 - db FRAMEBLOCK_78, $a2, $00 - db FRAMEBLOCK_78, $93, $00 - db FRAMEBLOCK_78, $61, $00 - db FRAMEBLOCK_78, $73, $00 - db FRAMEBLOCK_78, $a7, $00 - db FRAMEBLOCK_78, $33, $00 - db FRAMEBLOCK_78, $a8, $00 - db FRAMEBLOCK_78, $0e, $00 - db FRAMEBLOCK_78, $a9, $00 - db FRAMEBLOCK_78, $34, $00 - db FRAMEBLOCK_01, $9e, $00 + db FRAMEBLOCK_78, BASECOORD_30, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_78, BASECOORD_A2, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_78, BASECOORD_93, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_78, BASECOORD_61, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_78, BASECOORD_73, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_78, BASECOORD_A7, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_78, BASECOORD_33, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_78, BASECOORD_A8, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_78, BASECOORD_0E, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_78, BASECOORD_A9, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_78, BASECOORD_34, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_01, BASECOORD_9E, FRAMEBLOCKMODE_00 Subanimation54: subanim SUBANIMTYPE_NORMAL, 11 - db FRAMEBLOCK_79, $30, $00 - db FRAMEBLOCK_79, $a2, $00 - db FRAMEBLOCK_79, $93, $00 - db FRAMEBLOCK_79, $61, $00 - db FRAMEBLOCK_79, $73, $00 - db FRAMEBLOCK_79, $a7, $00 - db FRAMEBLOCK_79, $33, $00 - db FRAMEBLOCK_79, $a8, $00 - db FRAMEBLOCK_79, $0e, $00 - db FRAMEBLOCK_79, $a9, $00 - db FRAMEBLOCK_79, $34, $00 + db FRAMEBLOCK_79, BASECOORD_30, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_79, BASECOORD_A2, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_79, BASECOORD_93, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_79, BASECOORD_61, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_79, BASECOORD_73, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_79, BASECOORD_A7, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_79, BASECOORD_33, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_79, BASECOORD_A8, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_79, BASECOORD_0E, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_79, BASECOORD_A9, FRAMEBLOCKMODE_00 + db FRAMEBLOCK_79, BASECOORD_34, FRAMEBLOCKMODE_00 diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index dae13ba0..85019fa1 100755 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -132,15 +132,15 @@ DrawFrameBlock: jp nz, .loop ; go back up if there are more tiles to draw .afterDrawingTiles ld a, [wFBMode] - cp 2 + cp FRAMEBLOCKMODE_02 jr z, .advanceFrameBlockDestAddr; skip delay and don't clean OAM buffer ld a, [wSubAnimFrameDelay] ld c, a call DelayFrames ld a, [wFBMode] - cp 3 + cp FRAMEBLOCKMODE_03 jr z, .advanceFrameBlockDestAddr ; skip cleaning OAM buffer - cp 4 + cp FRAMEBLOCKMODE_04 jr z, .done ; skip cleaning OAM buffer and don't advance the frame block destination address ld a, [wAnimationID] cp GROWL -- cgit v1.2.3 From 76289dfda0b7405944e10a78b7381c723475bea4 Mon Sep 17 00:00:00 2001 From: Rangi Date: Fri, 17 Jul 2020 15:58:06 -0400 Subject: Port dbsprite macro for OAM y,x,tile,attr data from pokecrystal --- audio/low_health_alarm.asm | 15 +- constants/oam_constants.asm | 5 +- data/battle_anims/frame_blocks.asm | 1501 ++++++++++---------- data/maps/sprite_sets.asm | 31 +- engine/battle/scale_sprites.asm | 20 +- engine/events/hidden_objects/cinnabar_gym_quiz.asm | 22 +- engine/menus/pokedex.asm | 6 +- engine/movie/gamefreak.asm | 74 +- engine/movie/trade.asm | 46 +- engine/overworld/cut.asm | 4 +- engine/overworld/emotion_bubbles.asm | 4 +- engine/overworld/healing_machine.asm | 16 +- engine/overworld/ledges.asm | 4 +- engine/overworld/player_animations.asm | 12 +- macros/gfx.asm | 5 + 15 files changed, 893 insertions(+), 872 deletions(-) diff --git a/audio/low_health_alarm.asm b/audio/low_health_alarm.asm index 514db55f..a550cf70 100644 --- a/audio/low_health_alarm.asm +++ b/audio/low_health_alarm.asm @@ -61,15 +61,20 @@ Music_DoLowHealthAlarm:: jr nz, .copyLoop ret +alarm_tone: MACRO + db \1 ; length + db \2 ; envelope + dw \3 ; frequency +ENDM + ;bytes to write to sound channel 1 registers for health alarm. -;starting at FF11 (FF10 is always zeroed), so these bytes are: -;length, envelope, freq lo, freq hi +;starting at FF11 (FF10 is always zeroed). .toneDataHi - db $A0,$E2,$50,$87 + alarm_tone $A0, $E2, $8750 .toneDataLo - db $B0,$E2,$EE,$86 + alarm_tone $B0, $E2, $86EE ;written to stop the alarm .toneDataSilence - db $00,$00,$00,$80 + alarm_tone $00, $00, $8000 diff --git a/constants/oam_constants.asm b/constants/oam_constants.asm index 2d34048d..f0f06025 100755 --- a/constants/oam_constants.asm +++ b/constants/oam_constants.asm @@ -13,6 +13,7 @@ OAM_Y_FLIP EQU 6 OAM_PRIORITY EQU 7 ; 0: OBJ above BG, 1: OBJ behind BG (colors 1-3) ; OAM attribute masks -OAM_HFLIP EQU 1 << OAM_X_FLIP ; horizontal flip -OAM_VFLIP EQU 1 << OAM_Y_FLIP ; vertical flip +OAM_OBP1 EQU 1 << OAM_OBP_NUM ; OBJ palette 1 +OAM_HFLIP EQU 1 << OAM_X_FLIP ; horizontal flip +OAM_VFLIP EQU 1 << OAM_Y_FLIP ; vertical flip OAM_BEHIND_BG EQU 1 << OAM_PRIORITY ; behind bg (except color 0) diff --git a/data/battle_anims/frame_blocks.asm b/data/battle_anims/frame_blocks.asm index dd765ffe..8b9b0919 100644 --- a/data/battle_anims/frame_blocks.asm +++ b/data/battle_anims/frame_blocks.asm @@ -122,1124 +122,1117 @@ FrameBlockPointers: dw FrameBlock78 dw FrameBlock79 -; FrameBlock format is as follows: -; first byte = number of tiles in FrameBlock -; -; Next, each group of 4 bytes describes a tile in the FrameBlock -; first byte = y offset -; second byte = x offset -; third byte = tile id (it's actually tile id - $31) -; fourth byte = tile properties (xflip/yflip/etc.) FrameBlock01: db 9 ; # - db $00, $00, $2c, $00 - db $00, $08, $2d, $00 - db $00, $10, $2c, $20 - db $08, $00, $3c, $00 - db $08, $08, $3d, $00 - db $08, $10, $3c, $20 - db $10, $00, $2c, $40 - db $10, $08, $2d, $40 - db $10, $10, $2c, $60 + dbsprite 0, 0, 0, 0, $2c, 0 + dbsprite 1, 0, 0, 0, $2d, 0 + dbsprite 2, 0, 0, 0, $2c, OAM_HFLIP + dbsprite 0, 1, 0, 0, $3c, 0 + dbsprite 1, 1, 0, 0, $3d, 0 + dbsprite 2, 1, 0, 0, $3c, OAM_HFLIP + dbsprite 0, 2, 0, 0, $2c, OAM_VFLIP + dbsprite 1, 2, 0, 0, $2d, OAM_VFLIP + dbsprite 2, 2, 0, 0, $2c, OAM_HFLIP | OAM_VFLIP FrameBlock02: db 16 ; # - db $00, $00, $20, $00 - db $00, $08, $21, $00 - db $00, $10, $21, $20 - db $00, $18, $20, $20 - db $08, $00, $30, $00 - db $08, $08, $31, $00 - db $08, $10, $31, $20 - db $08, $18, $30, $20 - db $10, $00, $30, $40 - db $10, $08, $31, $40 - db $10, $10, $31, $60 - db $10, $18, $30, $60 - db $18, $00, $20, $40 - db $18, $08, $21, $40 - db $18, $10, $21, $60 - db $18, $18, $20, $60 + dbsprite 0, 0, 0, 0, $20, 0 + dbsprite 1, 0, 0, 0, $21, 0 + dbsprite 2, 0, 0, 0, $21, OAM_HFLIP + dbsprite 3, 0, 0, 0, $20, OAM_HFLIP + dbsprite 0, 1, 0, 0, $30, 0 + dbsprite 1, 1, 0, 0, $31, 0 + dbsprite 2, 1, 0, 0, $31, OAM_HFLIP + dbsprite 3, 1, 0, 0, $30, OAM_HFLIP + dbsprite 0, 2, 0, 0, $30, OAM_VFLIP + dbsprite 1, 2, 0, 0, $31, OAM_VFLIP + dbsprite 2, 2, 0, 0, $31, OAM_HFLIP | OAM_VFLIP + dbsprite 3, 2, 0, 0, $30, OAM_HFLIP | OAM_VFLIP + dbsprite 0, 3, 0, 0, $20, OAM_VFLIP + dbsprite 1, 3, 0, 0, $21, OAM_VFLIP + dbsprite 2, 3, 0, 0, $21, OAM_HFLIP | OAM_VFLIP + dbsprite 3, 3, 0, 0, $20, OAM_HFLIP | OAM_VFLIP FrameBlock03: db 4 ; # - db $00, $00, $02, $00 - db $00, $08, $02, $20 - db $08, $00, $12, $00 - db $08, $08, $12, $20 + dbsprite 0, 0, 0, 0, $02, 0 + dbsprite 1, 0, 0, 0, $02, OAM_HFLIP + dbsprite 0, 1, 0, 0, $12, 0 + dbsprite 1, 1, 0, 0, $12, OAM_HFLIP FrameBlock04: db 4 ; # - db $00, $00, $06, $00 - db $00, $08, $07, $00 - db $08, $00, $16, $00 - db $08, $08, $17, $00 + dbsprite 0, 0, 0, 0, $06, 0 + dbsprite 1, 0, 0, 0, $07, 0 + dbsprite 0, 1, 0, 0, $16, 0 + dbsprite 1, 1, 0, 0, $17, 0 FrameBlock05: db 4 ; # - db $00, $00, $07, $20 - db $00, $08, $06, $20 - db $08, $00, $17, $20 - db $08, $08, $16, $20 + dbsprite 0, 0, 0, 0, $07, OAM_HFLIP + dbsprite 1, 0, 0, 0, $06, OAM_HFLIP + dbsprite 0, 1, 0, 0, $17, OAM_HFLIP + dbsprite 1, 1, 0, 0, $16, OAM_HFLIP FrameBlock06: db 12 ; # - db $00, $08, $23, $00 - db $08, $00, $32, $00 - db $08, $08, $33, $00 - db $00, $10, $23, $20 - db $08, $10, $33, $20 - db $08, $18, $32, $20 - db $10, $00, $32, $40 - db $10, $08, $33, $40 - db $18, $08, $23, $40 - db $10, $10, $33, $60 - db $10, $18, $32, $60 - db $18, $10, $23, $60 + dbsprite 1, 0, 0, 0, $23, 0 + dbsprite 0, 1, 0, 0, $32, 0 + dbsprite 1, 1, 0, 0, $33, 0 + dbsprite 2, 0, 0, 0, $23, OAM_HFLIP + dbsprite 2, 1, 0, 0, $33, OAM_HFLIP + dbsprite 3, 1, 0, 0, $32, OAM_HFLIP + dbsprite 0, 2, 0, 0, $32, OAM_VFLIP + dbsprite 1, 2, 0, 0, $33, OAM_VFLIP + dbsprite 1, 3, 0, 0, $23, OAM_VFLIP + dbsprite 2, 2, 0, 0, $33, OAM_HFLIP | OAM_VFLIP + dbsprite 3, 2, 0, 0, $32, OAM_HFLIP | OAM_VFLIP + dbsprite 2, 3, 0, 0, $23, OAM_HFLIP | OAM_VFLIP FrameBlock07: db 16 ; # - db $00, $00, $20, $00 - db $00, $08, $21, $00 - db $08, $00, $30, $00 - db $08, $08, $31, $00 - db $00, $10, $21, $20 - db $00, $18, $20, $20 - db $08, $10, $31, $20 - db $08, $18, $30, $20 - db $10, $00, $30, $40 - db $10, $08, $31, $40 - db $18, $00, $20, $40 - db $18, $08, $21, $40 - db $10, $10, $31, $60 - db $10, $18, $30, $60 - db $18, $10, $21, $60 - db $18, $18, $20, $60 + dbsprite 0, 0, 0, 0, $20, 0 + dbsprite 1, 0, 0, 0, $21, 0 + dbsprite 0, 1, 0, 0, $30, 0 + dbsprite 1, 1, 0, 0, $31, 0 + dbsprite 2, 0, 0, 0, $21, OAM_HFLIP + dbsprite 3, 0, 0, 0, $20, OAM_HFLIP + dbsprite 2, 1, 0, 0, $31, OAM_HFLIP + dbsprite 3, 1, 0, 0, $30, OAM_HFLIP + dbsprite 0, 2, 0, 0, $30, OAM_VFLIP + dbsprite 1, 2, 0, 0, $31, OAM_VFLIP + dbsprite 0, 3, 0, 0, $20, OAM_VFLIP + dbsprite 1, 3, 0, 0, $21, OAM_VFLIP + dbsprite 2, 2, 0, 0, $31, OAM_HFLIP | OAM_VFLIP + dbsprite 3, 2, 0, 0, $30, OAM_HFLIP | OAM_VFLIP + dbsprite 2, 3, 0, 0, $21, OAM_HFLIP | OAM_VFLIP + dbsprite 3, 3, 0, 0, $20, OAM_HFLIP | OAM_VFLIP FrameBlock08: db 16 ; # - db $00, $00, $20, $00 - db $00, $08, $21, $00 - db $08, $00, $30, $00 - db $08, $08, $31, $00 - db $00, $18, $21, $20 - db $00, $20, $20, $20 - db $08, $18, $31, $20 - db $08, $20, $30, $20 - db $18, $00, $30, $40 - db $18, $08, $31, $40 - db $20, $00, $20, $40 - db $20, $08, $21, $40 - db $18, $18, $31, $60 - db $18, $20, $30, $60 - db $20, $18, $21, $60 - db $20, $20, $20, $60 + dbsprite 0, 0, 0, 0, $20, 0 + dbsprite 1, 0, 0, 0, $21, 0 + dbsprite 0, 1, 0, 0, $30, 0 + dbsprite 1, 1, 0, 0, $31, 0 + dbsprite 3, 0, 0, 0, $21, OAM_HFLIP + dbsprite 4, 0, 0, 0, $20, OAM_HFLIP + dbsprite 3, 1, 0, 0, $31, OAM_HFLIP + dbsprite 4, 1, 0, 0, $30, OAM_HFLIP + dbsprite 0, 3, 0, 0, $30, OAM_VFLIP + dbsprite 1, 3, 0, 0, $31, OAM_VFLIP + dbsprite 0, 4, 0, 0, $20, OAM_VFLIP + dbsprite 1, 4, 0, 0, $21, OAM_VFLIP + dbsprite 3, 3, 0, 0, $31, OAM_HFLIP | OAM_VFLIP + dbsprite 4, 3, 0, 0, $30, OAM_HFLIP | OAM_VFLIP + dbsprite 3, 4, 0, 0, $21, OAM_HFLIP | OAM_VFLIP + dbsprite 4, 4, 0, 0, $20, OAM_HFLIP | OAM_VFLIP FrameBlock09: db 12 ; # - db $00, $00, $24, $00 - db $00, $08, $25, $00 - db $08, $00, $34, $00 - db $00, $18, $25, $20 - db $00, $20, $24, $20 - db $08, $20, $34, $20 - db $18, $00, $34, $40 - db $20, $00, $24, $40 - db $20, $08, $25, $40 - db $18, $20, $34, $60 - db $20, $18, $25, $60 - db $20, $20, $24, $60 + dbsprite 0, 0, 0, 0, $24, 0 + dbsprite 1, 0, 0, 0, $25, 0 + dbsprite 0, 1, 0, 0, $34, 0 + dbsprite 3, 0, 0, 0, $25, OAM_HFLIP + dbsprite 4, 0, 0, 0, $24, OAM_HFLIP + dbsprite 4, 1, 0, 0, $34, OAM_HFLIP + dbsprite 0, 3, 0, 0, $34, OAM_VFLIP + dbsprite 0, 4, 0, 0, $24, OAM_VFLIP + dbsprite 1, 4, 0, 0, $25, OAM_VFLIP + dbsprite 4, 3, 0, 0, $34, OAM_HFLIP | OAM_VFLIP + dbsprite 3, 4, 0, 0, $25, OAM_HFLIP | OAM_VFLIP + dbsprite 4, 4, 0, 0, $24, OAM_HFLIP | OAM_VFLIP FrameBlock0a: db 12 ; # - db $00, $00, $24, $00 - db $00, $08, $25, $00 - db $08, $00, $34, $00 - db $00, $20, $25, $20 - db $00, $28, $24, $20 - db $08, $28, $34, $20 - db $20, $00, $34, $40 - db $28, $00, $24, $40 - db $28, $08, $25, $40 - db $20, $28, $34, $60 - db $28, $20, $25, $60 - db $28, $28, $24, $60 + dbsprite 0, 0, 0, 0, $24, 0 + dbsprite 1, 0, 0, 0, $25, 0 + dbsprite 0, 1, 0, 0, $34, 0 + dbsprite 4, 0, 0, 0, $25, OAM_HFLIP + dbsprite 5, 0, 0, 0, $24, OAM_HFLIP + dbsprite 5, 1, 0, 0, $34, OAM_HFLIP + dbsprite 0, 4, 0, 0, $34, OAM_VFLIP + dbsprite 0, 5, 0, 0, $24, OAM_VFLIP + dbsprite 1, 5, 0, 0, $25, OAM_VFLIP + dbsprite 5, 4, 0, 0, $34, OAM_HFLIP | OAM_VFLIP + dbsprite 4, 5, 0, 0, $25, OAM_HFLIP | OAM_VFLIP + dbsprite 5, 5, 0, 0, $24, OAM_HFLIP | OAM_VFLIP FrameBlock0b: db 4 ; # - db $00, $00, $05, $00 - db $00, $08, $05, $20 - db $08, $00, $15, $00 - db $08, $08, $15, $20 + dbsprite 0, 0, 0, 0, $05, 0 + dbsprite 1, 0, 0, 0, $05, OAM_HFLIP + dbsprite 0, 1, 0, 0, $15, 0 + dbsprite 1, 1, 0, 0, $15, OAM_HFLIP FrameBlock0c: db 4 ; # - db $00, $00, $04, $00 - db $00, $08, $04, $20 - db $08, $00, $14, $00 - db $08, $08, $14, $20 + dbsprite 0, 0, 0, 0, $04, 0 + dbsprite 1, 0, 0, 0, $04, OAM_HFLIP + dbsprite 0, 1, 0, 0, $14, 0 + dbsprite 1, 1, 0, 0, $14, OAM_HFLIP FrameBlock0d: db 8 ; # - db $00, $00, $0c, $00 - db $00, $08, $0d, $00 - db $08, $00, $1c, $00 - db $08, $08, $1d, $00 - db $10, $00, $1d, $60 - db $10, $08, $1c, $60 - db $18, $00, $0d, $60 - db $18, $08, $0c, $60 + dbsprite 0, 0, 0, 0, $0c, 0 + dbsprite 1, 0, 0, 0, $0d, 0 + dbsprite 0, 1, 0, 0, $1c, 0 + dbsprite 1, 1, 0, 0, $1d, 0 + dbsprite 0, 2, 0, 0, $1d, OAM_HFLIP | OAM_VFLIP + dbsprite 1, 2, 0, 0, $1c, OAM_HFLIP | OAM_VFLIP + dbsprite 0, 3, 0, 0, $0d, OAM_HFLIP | OAM_VFLIP + dbsprite 1, 3, 0, 0, $0c, OAM_HFLIP | OAM_VFLIP FrameBlock0e: db 4 ; # - db $20, $00, $0c, $00 - db $20, $08, $0d, $00 - db $28, $00, $1c, $00 - db $28, $08, $1d, $00 + dbsprite 0, 4, 0, 0, $0c, 0 + dbsprite 1, 4, 0, 0, $0d, 0 + dbsprite 0, 5, 0, 0, $1c, 0 + dbsprite 1, 5, 0, 0, $1d, 0 FrameBlock0f: db 4 ; # - db $30, $00, $1d, $60 - db $30, $08, $1c, $60 - db $38, $00, $0d, $60 - db $38, $08, $0c, $60 + dbsprite 0, 6, 0, 0, $1d, OAM_HFLIP | OAM_VFLIP + dbsprite 1, 6, 0, 0, $1c, OAM_HFLIP | OAM_VFLIP + dbsprite 0, 7, 0, 0, $0d, OAM_HFLIP | OAM_VFLIP + dbsprite 1, 7, 0, 0, $0c, OAM_HFLIP | OAM_VFLIP FrameBlock10: db 8 ; # - db $00, $00, $0e, $00 - db $00, $08, $0f, $00 - db $08, $00, $1e, $00 - db $08, $08, $1f, $00 - db $00, $10, $0f, $20 - db $00, $18, $0e, $20 - db $08, $10, $1f, $20 - db $08, $18, $1e, $20 + dbsprite 0, 0, 0, 0, $0e, 0 + dbsprite 1, 0, 0, 0, $0f, 0 + dbsprite 0, 1, 0, 0, $1e, 0 + dbsprite 1, 1, 0, 0, $1f, 0 + dbsprite 2, 0, 0, 0, $0f, OAM_HFLIP + dbsprite 3, 0, 0, 0, $0e, OAM_HFLIP + dbsprite 2, 1, 0, 0, $1f, OAM_HFLIP + dbsprite 3, 1, 0, 0, $1e, OAM_HFLIP FrameBlock11: db 8 ; # - db $00, $00, $0e, $00 - db $00, $08, $0f, $00 - db $08, $00, $1e, $00 - db $08, $08, $1f, $00 - db $00, $20, $0f, $20 - db $00, $28, $0e, $20 - db $08, $20, $1f, $20 - db $08, $28, $1e, $20 + dbsprite 0, 0, 0, 0, $0e, 0 + dbsprite 1, 0, 0, 0, $0f, 0 + dbsprite 0, 1, 0, 0, $1e, 0 + dbsprite 1, 1, 0, 0, $1f, 0 + dbsprite 4, 0, 0, 0, $0f, OAM_HFLIP + dbsprite 5, 0, 0, 0, $0e, OAM_HFLIP + dbsprite 4, 1, 0, 0, $1f, OAM_HFLIP + dbsprite 5, 1, 0, 0, $1e, OAM_HFLIP FrameBlock12: db 3 ; # - db $00, $00, $37, $00 - db $08, $10, $37, $00 - db $00, $20, $37, $00 + dbsprite 0, 0, 0, 0, $37, 0 + dbsprite 2, 1, 0, 0, $37, 0 + dbsprite 4, 0, 0, 0, $37, 0 FrameBlock13: db 4 ; # - db $00, $00, $36, $00 - db $00, $08, $36, $20 - db $08, $00, $36, $40 - db $08, $08, $36, $60 + dbsprite 0, 0, 0, 0, $36, 0 + dbsprite 1, 0, 0, 0, $36, OAM_HFLIP + dbsprite 0, 1, 0, 0, $36, OAM_VFLIP + dbsprite 1, 1, 0, 0, $36, OAM_HFLIP | OAM_VFLIP FrameBlock14: db 8 ; # - db $00, $10, $28, $00 - db $00, $18, $28, $20 - db $08, $10, $38, $00 - db $08, $18, $38, $20 - db $00, $20, $36, $00 - db $00, $28, $36, $20 - db $08, $20, $36, $40 - db $08, $28, $36, $60 + dbsprite 2, 0, 0, 0, $28, 0 + dbsprite 3, 0, 0, 0, $28, OAM_HFLIP + dbsprite 2, 1, 0, 0, $38, 0 + dbsprite 3, 1, 0, 0, $38, OAM_HFLIP + dbsprite 4, 0, 0, 0, $36, 0 + dbsprite 5, 0, 0, 0, $36, OAM_HFLIP + dbsprite 4, 1, 0, 0, $36, OAM_VFLIP + dbsprite 5, 1, 0, 0, $36, OAM_HFLIP | OAM_VFLIP FrameBlock15: db 12 ; # - db $00, $00, $28, $00 - db $00, $08, $28, $20 - db $08, $00, $38, $00 - db $08, $08, $38, $20 - db $00, $10, $29, $00 - db $00, $18, $29, $20 - db $08, $10, $39, $00 - db $08, $18, $39, $20 - db $00, $20, $28, $00 - db $00, $28, $28, $20 - db $08, $20, $38, $00 - db $08, $28, $38, $20 + dbsprite 0, 0, 0, 0, $28, 0 + dbsprite 1, 0, 0, 0, $28, OAM_HFLIP + dbsprite 0, 1, 0, 0, $38, 0 + dbsprite 1, 1, 0, 0, $38, OAM_HFLIP + dbsprite 2, 0, 0, 0, $29, 0 + dbsprite 3, 0, 0, 0, $29, OAM_HFLIP + dbsprite 2, 1, 0, 0, $39, 0 + dbsprite 3, 1, 0, 0, $39, OAM_HFLIP + dbsprite 4, 0, 0, 0, $28, 0 + dbsprite 5, 0, 0, 0, $28, OAM_HFLIP + dbsprite 4, 1, 0, 0, $38, 0 + dbsprite 5, 1, 0, 0, $38, OAM_HFLIP FrameBlock16: db 8 ; # - db $00, $00, $29, $00 - db $00, $08, $29, $20 - db $08, $00, $39, $00 - db $08, $08, $39, $20 - db $00, $20, $29, $00 - db $00, $28, $29, $20 - db $08, $20, $39, $00 - db $08, $28, $39, $20 + dbsprite 0, 0, 0, 0, $29, 0 + dbsprite 1, 0, 0, 0, $29, OAM_HFLIP + dbsprite 0, 1, 0, 0, $39, 0 + dbsprite 1, 1, 0, 0, $39, OAM_HFLIP + dbsprite 4, 0, 0, 0, $29, 0 + dbsprite 5, 0, 0, 0, $29, OAM_HFLIP + dbsprite 4, 1, 0, 0, $39, 0 + dbsprite 5, 1, 0, 0, $39, OAM_HFLIP FrameBlock17: db 4 ; # - db $00, $00, $08, $00 - db $00, $08, $09, $00 - db $08, $00, $18, $00 - db $08, $08, $19, $00 + dbsprite 0, 0, 0, 0, $08, 0 + dbsprite 1, 0, 0, 0, $09, 0 + dbsprite 0, 1, 0, 0, $18, 0 + dbsprite 1, 1, 0, 0, $19, 0 FrameBlock18: db 1 ; # - db $18, $00, $45, $60 + dbsprite 0, 3, 0, 0, $45, OAM_HFLIP | OAM_VFLIP FrameBlock19: db 2 ; # - db $18, $08, $45, $00 - db $10, $08, $46, $60 + dbsprite 1, 3, 0, 0, $45, 0 + dbsprite 1, 2, 0, 0, $46, OAM_HFLIP | OAM_VFLIP FrameBlock1a: db 2 ; # - db $10, $10, $45, $60 - db $18, $10, $46, $00 + dbsprite 2, 2, 0, 0, $45, OAM_HFLIP | OAM_VFLIP + dbsprite 2, 3, 0, 0, $46, 0 FrameBlock1b: db 2 ; # - db $10, $18, $45, $00 - db $08, $18, $46, $60 + dbsprite 3, 2, 0, 0, $45, 0 + dbsprite 3, 1, 0, 0, $46, OAM_HFLIP | OAM_VFLIP FrameBlock1c: db 2 ; # - db $08, $20, $45, $60 - db $10, $20, $46, $00 + dbsprite 4, 1, 0, 0, $45, OAM_HFLIP | OAM_VFLIP + dbsprite 4, 2, 0, 0, $46, 0 FrameBlock1d: db 2 ; # - db $08, $28, $45, $00 - db $00, $28, $46, $60 + dbsprite 5, 1, 0, 0, $45, 0 + dbsprite 5, 0, 0, 0, $46, OAM_HFLIP | OAM_VFLIP FrameBlock1e: db 2 ; # - db $00, $30, $45, $60 - db $08, $30, $46, $00 + dbsprite 6, 0, 0, 0, $45, OAM_HFLIP | OAM_VFLIP + dbsprite 6, 1, 0, 0, $46, 0 FrameBlock75: db 4 ; # - db $00, $00, $43, $00 - db $00, $08, $43, $20 - db $08, $00, $22, $00 - db $08, $08, $43, $60 + dbsprite 0, 0, 0, 0, $43, 0 + dbsprite 1, 0, 0, 0, $43, OAM_HFLIP + dbsprite 0, 1, 0, 0, $22, 0 + dbsprite 1, 1, 0, 0, $43, OAM_HFLIP | OAM_VFLIP FrameBlock1f: db 2 ; # - db $00, $00, $03, $00 - db $00, $30, $03, $20 + dbsprite 0, 0, 0, 0, $03, 0 + dbsprite 6, 0, 0, 0, $03, OAM_HFLIP FrameBlock20: db 6 ; # - db $00, $00, $03, $00 - db $00, $30, $03, $20 - db $08, $08, $03, $00 - db $08, $28, $03, $20 - db $08, $00, $13, $00 - db $08, $30, $13, $20 + dbsprite 0, 0, 0, 0, $03, 0 + dbsprite 6, 0, 0, 0, $03, OAM_HFLIP + dbsprite 1, 1, 0, 0, $03, 0 + dbsprite 5, 1, 0, 0, $03, OAM_HFLIP + dbsprite 0, 1, 0, 0, $13, 0 + dbsprite 6, 1, 0, 0, $13, OAM_HFLIP FrameBlock21: db 12 ; # - db $00, $00, $03, $00 - db $00, $30, $03, $20 - db $08, $08, $03, $00 - db $08, $28, $03, $20 - db $08, $00, $13, $00 - db $08, $30, $13, $20 - db $10, $10, $03, $00 - db $10, $20, $03, $20 - db $10, $08, $13, $00 - db $10, $28, $13, $20 - db $10, $00, $03, $00 - db $10, $30, $03, $20 + dbsprite 0, 0, 0, 0, $03, 0 + dbsprite 6, 0, 0, 0, $03, OAM_HFLIP + dbsprite 1, 1, 0, 0, $03, 0 + dbsprite 5, 1, 0, 0, $03, OAM_HFLIP + dbsprite 0, 1, 0, 0, $13, 0 + dbsprite 6, 1, 0, 0, $13, OAM_HFLIP + dbsprite 2, 2, 0, 0, $03, 0 + dbsprite 4, 2, 0, 0, $03, OAM_HFLIP + dbsprite 1, 2, 0, 0, $13, 0 + dbsprite 5, 2, 0, 0, $13, OAM_HFLIP + dbsprite 0, 2, 0, 0, $03, 0 + dbsprite 6, 2, 0, 0, $03, OAM_HFLIP FrameBlock22: db 19 ; # - db $00, $00, $03, $00 - db $08, $00, $13, $00 - db $10, $00, $03, $00 - db $18, $00, $13, $00 - db $08, $08, $03, $00 - db $10, $08, $13, $00 - db $18, $08, $03, $00 - db $10, $10, $03, $00 - db $18, $10, $13, $00 - db $18, $18, $03, $00 - db $10, $20, $03, $20 - db $18, $20, $13, $20 - db $08, $28, $03, $20 - db $10, $28, $13, $20 - db $18, $28, $03, $20 - db $00, $30, $03, $20 - db $08, $30, $13, $20 - db $10, $30, $03, $20 - db $18, $30, $13, $20 + dbsprite 0, 0, 0, 0, $03, 0 + dbsprite 0, 1, 0, 0, $13, 0 + dbsprite 0, 2, 0, 0, $03, 0 + dbsprite 0, 3, 0, 0, $13, 0 + dbsprite 1, 1, 0, 0, $03, 0 + dbsprite 1, 2, 0, 0, $13, 0 + dbsprite 1, 3, 0, 0, $03, 0 + dbsprite 2, 2, 0, 0, $03, 0 + dbsprite 2, 3, 0, 0, $13, 0 + dbsprite 3, 3, 0, 0, $03, 0 + dbsprite 4, 2, 0, 0, $03, OAM_HFLIP + dbsprite 4, 3, 0, 0, $13, OAM_HFLIP + dbsprite 5, 1, 0, 0, $03, OAM_HFLIP + dbsprite 5, 2, 0, 0, $13, OAM_HFLIP + dbsprite 5, 3, 0, 0, $03, OAM_HFLIP + dbsprite 6, 0, 0, 0, $03, OAM_HFLIP + dbsprite 6, 1, 0, 0, $13, OAM_HFLIP + dbsprite 6, 2, 0, 0, $03, OAM_HFLIP + dbsprite 6, 3, 0, 0, $13, OAM_HFLIP FrameBlock23: db 4 ; # - db $00, $00, $0a, $00 - db $00, $08, $0b, $00 - db $08, $00, $1a, $00 - db $08, $08, $1b, $00 + dbsprite 0, 0, 0, 0, $0a, 0 + dbsprite 1, 0, 0, 0, $0b, 0 + dbsprite 0, 1, 0, 0, $1a, 0 + dbsprite 1, 1, 0, 0, $1b, 0 FrameBlock24: db 2 ; # - db $08, $00, $0a, $00 - db $08, $08, $0b, $00 + dbsprite 0, 1, 0, 0, $0a, 0 + dbsprite 1, 1, 0, 0, $0b, 0 FrameBlock25: db 12 ; # - db $10, $00, $0a, $00 - db $10, $08, $0b, $00 - db $18, $00, $1a, $00 - db $18, $08, $1b, $00 - db $00, $10, $0a, $00 - db $00, $18, $0b, $00 - db $08, $10, $1a, $00 - db $08, $18, $1b, $00 - db $08, $20, $0a, $00 - db $08, $28, $0b, $00 - db $10, $20, $1a, $00 - db $10, $28, $1b, $00 + dbsprite 0, 2, 0, 0, $0a, 0 + dbsprite 1, 2, 0, 0, $0b, 0 + dbsprite 0, 3, 0, 0, $1a, 0 + dbsprite 1, 3, 0, 0, $1b, 0 + dbsprite 2, 0, 0, 0, $0a, 0 + dbsprite 3, 0, 0, 0, $0b, 0 + dbsprite 2, 1, 0, 0, $1a, 0 + dbsprite 3, 1, 0, 0, $1b, 0 + dbsprite 4, 1, 0, 0, $0a, 0 + dbsprite 5, 1, 0, 0, $0b, 0 + dbsprite 4, 2, 0, 0, $1a, 0 + dbsprite 5, 2, 0, 0, $1b, 0 FrameBlock26: db 4 ; # - db $00, $10, $44, $00 - db $00, $18, $44, $20 - db $08, $10, $44, $40 - db $08, $18, $44, $60 + dbsprite 2, 0, 0, 0, $44, 0 + dbsprite 3, 0, 0, 0, $44, OAM_HFLIP + dbsprite 2, 1, 0, 0, $44, OAM_VFLIP + dbsprite 3, 1, 0, 0, $44, OAM_HFLIP | OAM_VFLIP FrameBlock27: db 5 ; # - db $08, $08, $44, $00 - db $08, $10, $44, $20 - db $10, $08, $44, $40 - db $10, $10, $44, $60 - db $00, $18, $47, $00 + dbsprite 1, 1, 0, 0, $44, 0 + dbsprite 2, 1, 0, 0, $44, OAM_HFLIP + dbsprite 1, 2, 0, 0, $44, OAM_VFLIP + dbsprite 2, 2, 0, 0, $44, OAM_HFLIP | OAM_VFLIP + dbsprite 3, 0, 0, 0, $47, 0 FrameBlock28: db 6 ; # - db $10, $00, $44, $00 - db $10, $08, $44, $20 - db $18, $00, $44, $40 - db $18, $08, $44, $60 - db $08, $10, $47, $00 - db $02, $16, $47, $00 + dbsprite 0, 2, 0, 0, $44, 0 + dbsprite 1, 2, 0, 0, $44, OAM_HFLIP + dbsprite 0, 3, 0, 0, $44, OAM_VFLIP + dbsprite 1, 3, 0, 0, $44, OAM_HFLIP | OAM_VFLIP + dbsprite 2, 1, 0, 0, $47, 0 + dbsprite 2, 0, 6, 2, $47, 0 FrameBlock29: db 4 ; # - db $18, $00, $47, $00 - db $12, $06, $47, $00 - db $0c, $0c, $47, $00 - db $06, $12, $47, $00 + dbsprite 0, 3, 0, 0, $47, 0 + dbsprite 0, 2, 6, 2, $47, 0 + dbsprite 1, 1, 4, 4, $47, 0 + dbsprite 2, 0, 2, 6, $47, 0 FrameBlock2a: db 4 ; # - db $00, $00, $44, $00 - db $00, $08, $44, $20 - db $08, $00, $44, $40 - db $08, $08, $44, $60 + dbsprite 0, 0, 0, 0, $44, 0 + dbsprite 1, 0, 0, 0, $44, OAM_HFLIP + dbsprite 0, 1, 0, 0, $44, OAM_VFLIP + dbsprite 1, 1, 0, 0, $44, OAM_HFLIP | OAM_VFLIP FrameBlock2b: db 2 ; # - db $06, $02, $47, $00 - db $00, $08, $47, $00 + dbsprite 0, 0, 2, 6, $47, 0 + dbsprite 1, 0, 0, 0, $47, 0 FrameBlock2c: db 1 ; # - db $a0, $00, $4d, $00 + dbsprite 0, 20, 0, 0, $4d, 0 FrameBlock2d: db 8 ; # - db $00, $00, $26, $00 - db $00, $08, $27, $00 - db $08, $00, $36, $00 - db $08, $08, $37, $00 - db $10, $00, $28, $00 - db $10, $08, $29, $00 - db $18, $00, $38, $00 - db $18, $08, $39, $00 + dbsprite 0, 0, 0, 0, $26, 0 + dbsprite 1, 0, 0, 0, $27, 0 + dbsprite 0, 1, 0, 0, $36, 0 + dbsprite 1, 1, 0, 0, $37, 0 + dbsprite 0, 2, 0, 0, $28, 0 + dbsprite 1, 2, 0, 0, $29, 0 + dbsprite 0, 3, 0, 0, $38, 0 + dbsprite 1, 3, 0, 0, $39, 0 FrameBlock2e: db 8 ; # - db $00, $00, $27, $20 - db $00, $08, $26, $20 - db $08, $00, $37, $20 - db $08, $08, $36, $20 - db $10, $00, $29, $20 - db $10, $08, $28, $20 - db $18, $00, $39, $20 - db $18, $08, $38, $20 + dbsprite 0, 0, 0, 0, $27, OAM_HFLIP + dbsprite 1, 0, 0, 0, $26, OAM_HFLIP + dbsprite 0, 1, 0, 0, $37, OAM_HFLIP + dbsprite 1, 1, 0, 0, $36, OAM_HFLIP + dbsprite 0, 2, 0, 0, $29, OAM_HFLIP + dbsprite 1, 2, 0, 0, $28, OAM_HFLIP + dbsprite 0, 3, 0, 0, $39, OAM_HFLIP + dbsprite 1, 3, 0, 0, $38, OAM_HFLIP FrameBlock2f: db 4 ; # - db $00, $00, $0c, $00 - db $00, $08, $0d, $00 - db $08, $00, $0c, $40 - db $08, $08, $0d, $40 + dbsprite 0, 0, 0, 0, $0c, 0 + dbsprite 1, 0, 0, 0, $0d, 0 + dbsprite 0, 1, 0, 0, $0c, OAM_VFLIP + dbsprite 1, 1, 0, 0, $0d, OAM_VFLIP FrameBlock30: db 4 ; # - db $00, $00, $44, $00 - db $00, $08, $44, $20 - db $08, $00, $44, $40 - db $08, $08, $44, $60 + dbsprite 0, 0, 0, 0, $44, 0 + dbsprite 1, 0, 0, 0, $44, OAM_HFLIP + dbsprite 0, 1, 0, 0, $44, OAM_VFLIP + dbsprite 1, 1, 0, 0, $44, OAM_HFLIP | OAM_VFLIP FrameBlock31: db 1 ; # - db $00, $00, $45, $00 + dbsprite 0, 0, 0, 0, $45, 0 FrameBlock32: db 7 ; # - db $00, $00, $4d, $00 - db $00, $08, $2f, $00 - db $00, $10, $4d, $20 - db $08, $00, $4e, $00 - db $08, $08, $07, $00 - db $08, $10, $4e, $20 - db $10, $08, $3f, $00 + dbsprite 0, 0, 0, 0, $4d, 0 + dbsprite 1, 0, 0, 0, $2f, 0 + dbsprite 2, 0, 0, 0, $4d, OAM_HFLIP + dbsprite 0, 1, 0, 0, $4e, 0 + dbsprite 1, 1, 0, 0, $07, 0 + dbsprite 2, 1, 0, 0, $4e, OAM_HFLIP + dbsprite 1, 2, 0, 0, $3f, 0 FrameBlock33: db 7 ; # - db $00, $08, $3f, $40 - db $08, $00, $4e, $40 - db $08, $08, $07, $40 - db $08, $10, $4e, $60 - db $10, $00, $4d, $40 - db $10, $08, $2f, $40 - db $10, $10, $4d, $60 + dbsprite 1, 0, 0, 0, $3f, OAM_VFLIP + dbsprite 0, 1, 0, 0, $4e, OAM_VFLIP + dbsprite 1, 1, 0, 0, $07, OAM_VFLIP + dbsprite 2, 1, 0, 0, $4e, OAM_HFLIP | OAM_VFLIP + dbsprite 0, 2, 0, 0, $4d, OAM_VFLIP + dbsprite 1, 2, 0, 0, $2f, OAM_VFLIP + dbsprite 2, 2, 0, 0, $4d, OAM_HFLIP | OAM_VFLIP FrameBlock34: db 1 ; # - db $a0, $00, $00, $10 + dbsprite 0, 20, 0, 0, $00, OAM_OBP1 FrameBlock35: db 6 ; # - db $00, $00, $2a, $00 - db $00, $08, $2b, $00 - db $08, $00, $3a, $00 - db $10, $00, $3a, $40 - db $18, $00, $2a, $40 - db $18, $08, $2b, $40 + dbsprite 0, 0, 0, 0, $2a, 0 + dbsprite 1, 0, 0, 0, $2b, 0 + dbsprite 0, 1, 0, 0, $3a, 0 + dbsprite 0, 2, 0, 0, $3a, OAM_VFLIP + dbsprite 0, 3, 0, 0, $2a, OAM_VFLIP + dbsprite 1, 3, 0, 0, $2b, OAM_VFLIP FrameBlock36: db 4 ; # - db $00, $00, $00, $00 - db $00, $08, $01, $00 - db $08, $00, $10, $00 - db $08, $08, $11, $00 + dbsprite 0, 0, 0, 0, $00, 0 + dbsprite 1, 0, 0, 0, $01, 0 + dbsprite 0, 1, 0, 0, $10, 0 + dbsprite 1, 1, 0, 0, $11, 0 FrameBlock37: db 4 ; # - db $00, $00, $01, $a0 - db $00, $08, $00, $a0 - db $08, $00, $11, $a0 - db $08, $08, $10, $a0 + dbsprite 0, 0, 0, 0, $01, OAM_BEHIND_BG | OAM_HFLIP + dbsprite 1, 0, 0, 0, $00, OAM_BEHIND_BG | OAM_HFLIP + dbsprite 0, 1, 0, 0, $11, OAM_BEHIND_BG | OAM_HFLIP + dbsprite 1, 1, 0, 0, $10, OAM_BEHIND_BG | OAM_HFLIP FrameBlock38: db 4 ; # - db $00, $00, $0a, $00 - db $00, $08, $0b, $00 - db $08, $00, $1a, $00 - db $08, $08, $1b, $00 + dbsprite 0, 0, 0, 0, $0a, 0 + dbsprite 1, 0, 0, 0, $0b, 0 + dbsprite 0, 1, 0, 0, $1a, 0 + dbsprite 1, 1, 0, 0, $1b, 0 FrameBlock39: db 4 ; # - db $00, $00, $0b, $20 - db $00, $08, $0a, $20 - db $08, $00, $1b, $20 - db $08, $08, $1a, $20 + dbsprite 0, 0, 0, 0, $0b, OAM_HFLIP + dbsprite 1, 0, 0, 0, $0a, OAM_HFLIP + dbsprite 0, 1, 0, 0, $1b, OAM_HFLIP + dbsprite 1, 1, 0, 0, $1a, OAM_HFLIP FrameBlock3a: db 4 ; # - db $20, $00, $05, $00 - db $20, $08, $05, $20 - db $28, $00, $15, $00 - db $28, $08, $15, $20 + dbsprite 0, 4, 0, 0, $05, 0 + dbsprite 1, 4, 0, 0, $05, OAM_HFLIP + dbsprite 0, 5, 0, 0, $15, 0 + dbsprite 1, 5, 0, 0, $15, OAM_HFLIP FrameBlock3b: db 5 ; # - db $18, $00, $04, $00 - db $18, $08, $04, $20 - db $20, $00, $14, $00 - db $20, $08, $14, $20 - db $28, $04, $41, $00 + dbsprite 0, 3, 0, 0, $04, 0 + dbsprite 1, 3, 0, 0, $04, OAM_HFLIP + dbsprite 0, 4, 0, 0, $14, 0 + dbsprite 1, 4, 0, 0, $14, OAM_HFLIP + dbsprite 0, 5, 4, 0, $41, 0 FrameBlock3c: db 6 ; # - db $10, $00, $05, $00 - db $10, $08, $05, $20 - db $18, $00, $15, $00 - db $18, $08, $15, $20 - db $20, $04, $42, $00 - db $28, $04, $42, $00 + dbsprite 0, 2, 0, 0, $05, 0 + dbsprite 1, 2, 0, 0, $05, OAM_HFLIP + dbsprite 0, 3, 0, 0, $15, 0 + dbsprite 1, 3, 0, 0, $15, OAM_HFLIP + dbsprite 0, 4, 4, 0, $42, 0 + dbsprite 0, 5, 4, 0, $42, 0 FrameBlock3d: db 7 ; # - db $08, $00, $04, $00 - db $08, $08, $04, $20 - db $10, $00, $14, $00 - db $10, $08, $14, $20 - db $18, $04, $41, $00 - db $20, $04, $41, $00 - db $28, $04, $41, $00 + dbsprite 0, 1, 0, 0, $04, 0 + dbsprite 1, 1, 0, 0, $04, OAM_HFLIP + dbsprite 0, 2, 0, 0, $14, 0 + dbsprite 1, 2, 0, 0, $14, OAM_HFLIP + dbsprite 0, 3, 4, 0, $41, 0 + dbsprite 0, 4, 4, 0, $41, 0 + dbsprite 0, 5, 4, 0, $41, 0 FrameBlock3e: db 8 ; # - db $00, $00, $05, $00 - db $00, $08, $05, $20 - db $08, $00, $15, $00 - db $08, $08, $15, $20 - db $10, $04, $42, $00 - db $18, $04, $42, $00 - db $20, $04, $42, $00 - db $28, $04, $42, $00 + dbsprite 0, 0, 0, 0, $05, 0 + dbsprite 1, 0, 0, 0, $05, OAM_HFLIP + dbsprite 0, 1, 0, 0, $15, 0 + dbsprite 1, 1, 0, 0, $15, OAM_HFLIP + dbsprite 0, 2, 4, 0, $42, 0 + dbsprite 0, 3, 4, 0, $42, 0 + dbsprite 0, 4, 4, 0, $42, 0 + dbsprite 0, 5, 4, 0, $42, 0 FrameBlock3f: db 8 ; # - db $00, $00, $04, $00 - db $00, $08, $04, $20 - db $08, $00, $14, $00 - db $08, $08, $14, $20 - db $10, $04, $41, $00 - db $18, $04, $41, $00 - db $20, $04, $41, $00 - db $28, $04, $41, $00 + dbsprite 0, 0, 0, 0, $04, 0 + dbsprite 1, 0, 0, 0, $04, OAM_HFLIP + dbsprite 0, 1, 0, 0, $14, 0 + dbsprite 1, 1, 0, 0, $14, OAM_HFLIP + dbsprite 0, 2, 4, 0, $41, 0 + dbsprite 0, 3, 4, 0, $41, 0 + dbsprite 0, 4, 4, 0, $41, 0 + dbsprite 0, 5, 4, 0, $41, 0 FrameBlock40: db 3 ; # - db $00, $00, $3d, $00 - db $00, $08, $3d, $00 - db $08, $08, $3d, $00 + dbsprite 0, 0, 0, 0, $3d, 0 + dbsprite 1, 0, 0, 0, $3d, 0 + dbsprite 1, 1, 0, 0, $3d, 0 FrameBlock41: db 4 ; # - db $00, $00, $06, $00 - db $00, $08, $06, $20 - db $08, $00, $16, $00 - db $08, $08, $17, $00 + dbsprite 0, 0, 0, 0, $06, 0 + dbsprite 1, 0, 0, 0, $06, OAM_HFLIP + dbsprite 0, 1, 0, 0, $16, 0 + dbsprite 1, 1, 0, 0, $17, 0 FrameBlock42: db 11 ; # - db $00, $10, $42, $00 - db $08, $00, $42, $00 - db $08, $08, $42, $00 - db $08, $10, $42, $00 - db $08, $18, $42, $00 - db $08, $20, $42, $00 - db $10, $10, $42, $00 - db $18, $08, $42, $00 - db $18, $18, $42, $00 - db $20, $00, $42, $00 - db $20, $20, $42, $00 + dbsprite 2, 0, 0, 0, $42, 0 + dbsprite 0, 1, 0, 0, $42, 0 + dbsprite 1, 1, 0, 0, $42, 0 + dbsprite 2, 1, 0, 0, $42, 0 + dbsprite 3, 1, 0, 0, $42, 0 + dbsprite 4, 1, 0, 0, $42, 0 + dbsprite 2, 2, 0, 0, $42, 0 + dbsprite 1, 3, 0, 0, $42, 0 + dbsprite 3, 3, 0, 0, $42, 0 + dbsprite 0, 4, 0, 0, $42, 0 + dbsprite 4, 4, 0, 0, $42, 0 FrameBlock43: db 11 ; # - db $00, $10, $41, $00 - db $08, $00, $41, $00 - db $08, $08, $41, $00 - db $08, $10, $41, $00 - db $08, $18, $41, $00 - db $08, $20, $41, $00 - db $10, $10, $41, $00 - db $18, $08, $41, $00 - db $18, $18, $41, $00 - db $20, $00, $41, $00 - db $20, $20, $41, $00 + dbsprite 2, 0, 0, 0, $41, 0 + dbsprite 0, 1, 0, 0, $41, 0 + dbsprite 1, 1, 0, 0, $41, 0 + dbsprite 2, 1, 0, 0, $41, 0 + dbsprite 3, 1, 0, 0, $41, 0 + dbsprite 4, 1, 0, 0, $41, 0 + dbsprite 2, 2, 0, 0, $41, 0 + dbsprite 1, 3, 0, 0, $41, 0 + dbsprite 3, 3, 0, 0, $41, 0 + dbsprite 0, 4, 0, 0, $41, 0 + dbsprite 4, 4, 0, 0, $41, 0 FrameBlock44: db 4 ; # - db $00, $00, $49, $00 - db $00, $28, $49, $00 - db $28, $00, $49, $00 - db $28, $28, $49, $00 + dbsprite 0, 0, 0, 0, $49, 0 + dbsprite 5, 0, 0, 0, $49, 0 + dbsprite 0, 5, 0, 0, $49, 0 + dbsprite 5, 5, 0, 0, $49, 0 FrameBlock45: db 4 ; # - db $00, $00, $49, $00 - db $00, $18, $49, $00 - db $18, $00, $49, $00 - db $18, $18, $49, $00 + dbsprite 0, 0, 0, 0, $49, 0 + dbsprite 3, 0, 0, 0, $49, 0 + dbsprite 0, 3, 0, 0, $49, 0 + dbsprite 3, 3, 0, 0, $49, 0 FrameBlock46: db 4 ; # - db $00, $00, $49, $00 - db $00, $08, $49, $00 - db $08, $00, $49, $00 - db $08, $08, $49, $00 + dbsprite 0, 0, 0, 0, $49, 0 + dbsprite 1, 0, 0, 0, $49, 0 + dbsprite 0, 1, 0, 0, $49, 0 + dbsprite 1, 1, 0, 0, $49, 0 FrameBlock47: db 4 ; # - db $00, $00, $43, $00 - db $00, $08, $43, $20 - db $08, $00, $43, $40 - db $08, $08, $43, $60 + dbsprite 0, 0, 0, 0, $43, 0 + dbsprite 1, 0, 0, 0, $43, OAM_HFLIP + dbsprite 0, 1, 0, 0, $43, OAM_VFLIP + dbsprite 1, 1, 0, 0, $43, OAM_HFLIP | OAM_VFLIP SmallBlackCircleFrameBlock: db 4 ; # - db $08, $08, $33, $00 - db $08, $10, $33, $20 - db $10, $08, $33, $40 - db $10, $10, $33, $60 + dbsprite 1, 1, 0, 0, $33, 0 + dbsprite 2, 1, 0, 0, $33, OAM_HFLIP + dbsprite 1, 2, 0, 0, $33, OAM_VFLIP + dbsprite 2, 2, 0, 0, $33, OAM_HFLIP | OAM_VFLIP LargeBlackCircleFrameBlock: db 16 ; # - db $00, $00, $22, $00 - db $00, $08, $23, $00 - db $00, $10, $23, $20 - db $00, $18, $22, $20 - db $08, $00, $32, $00 - db $08, $08, $43, $00 - db $08, $10, $43, $20 - db $08, $18, $32, $20 - db $10, $00, $32, $40 - db $10, $08, $43, $40 - db $10, $10, $43, $60 - db $10, $18, $32, $60 - db $18, $00, $22, $40 - db $18, $08, $23, $40 - db $18, $10, $23, $60 - db $18, $18, $22, $60 + dbsprite 0, 0, 0, 0, $22, 0 + dbsprite 1, 0, 0, 0, $23, 0 + dbsprite 2, 0, 0, 0, $23, OAM_HFLIP + dbsprite 3, 0, 0, 0, $22, OAM_HFLIP + dbsprite 0, 1, 0, 0, $32, 0 + dbsprite 1, 1, 0, 0, $43, 0 + dbsprite 2, 1, 0, 0, $43, OAM_HFLIP + dbsprite 3, 1, 0, 0, $32, OAM_HFLIP + dbsprite 0, 2, 0, 0, $32, OAM_VFLIP + dbsprite 1, 2, 0, 0, $43, OAM_VFLIP + dbsprite 2, 2, 0, 0, $43, OAM_HFLIP | OAM_VFLIP + dbsprite 3, 2, 0, 0, $32, OAM_HFLIP | OAM_VFLIP + dbsprite 0, 3, 0, 0, $22, OAM_VFLIP + dbsprite 1, 3, 0, 0, $23, OAM_VFLIP + dbsprite 2, 3, 0, 0, $23, OAM_HFLIP | OAM_VFLIP + dbsprite 3, 3, 0, 0, $22, OAM_HFLIP | OAM_VFLIP FrameBlock71: db 16 ; # - db $00, $00, $22, $00 - db $00, $08, $3b, $00 - db $00, $10, $23, $20 - db $00, $18, $22, $20 - db $08, $00, $32, $00 - db $08, $08, $43, $00 - db $08, $10, $43, $20 - db $08, $18, $32, $20 - db $10, $00, $32, $40 - db $10, $08, $43, $40 - db $10, $10, $43, $60 - db $10, $18, $32, $60 - db $18, $00, $22, $40 - db $18, $08, $23, $40 - db $18, $10, $23, $60 - db $18, $18, $22, $60 + dbsprite 0, 0, 0, 0, $22, 0 + dbsprite 1, 0, 0, 0, $3b, 0 + dbsprite 2, 0, 0, 0, $23, OAM_HFLIP + dbsprite 3, 0, 0, 0, $22, OAM_HFLIP + dbsprite 0, 1, 0, 0, $32, 0 + dbsprite 1, 1, 0, 0, $43, 0 + dbsprite 2, 1, 0, 0, $43, OAM_HFLIP + dbsprite 3, 1, 0, 0, $32, OAM_HFLIP + dbsprite 0, 2, 0, 0, $32, OAM_VFLIP + dbsprite 1, 2, 0, 0, $43, OAM_VFLIP + dbsprite 2, 2, 0, 0, $43, OAM_HFLIP | OAM_VFLIP + dbsprite 3, 2, 0, 0, $32, OAM_HFLIP | OAM_VFLIP + dbsprite 0, 3, 0, 0, $22, OAM_VFLIP + dbsprite 1, 3, 0, 0, $23, OAM_VFLIP + dbsprite 2, 3, 0, 0, $23, OAM_HFLIP | OAM_VFLIP + dbsprite 3, 3, 0, 0, $22, OAM_HFLIP | OAM_VFLIP FrameBlock72: db 12 ; # - db $00, $00, $32, $00 - db $00, $08, $43, $00 - db $00, $10, $43, $20 - db $00, $18, $32, $20 - db $08, $00, $32, $40 - db $08, $08, $43, $40 - db $08, $10, $43, $60 - db $08, $18, $32, $60 - db $10, $00, $22, $40 - db $10, $08, $23, $40 - db $10, $10, $23, $60 - db $10, $18, $22, $60 + dbsprite 0, 0, 0, 0, $32, 0 + dbsprite 1, 0, 0, 0, $43, 0 + dbsprite 2, 0, 0, 0, $43, OAM_HFLIP + dbsprite 3, 0, 0, 0, $32, OAM_HFLIP + dbsprite 0, 1, 0, 0, $32, OAM_VFLIP + dbsprite 1, 1, 0, 0, $43, OAM_VFLIP + dbsprite 2, 1, 0, 0, $43, OAM_HFLIP | OAM_VFLIP + dbsprite 3, 1, 0, 0, $32, OAM_HFLIP | OAM_VFLIP + dbsprite 0, 2, 0, 0, $22, OAM_VFLIP + dbsprite 1, 2, 0, 0, $23, OAM_VFLIP + dbsprite 2, 2, 0, 0, $23, OAM_HFLIP | OAM_VFLIP + dbsprite 3, 2, 0, 0, $22, OAM_HFLIP | OAM_VFLIP FrameBlock73: db 8 ; # - db $00, $00, $32, $40 - db $00, $08, $43, $40 - db $00, $10, $43, $60 - db $00, $18, $32, $60 - db $08, $00, $22, $40 - db $08, $08, $23, $40 - db $08, $10, $23, $60 - db $08, $18, $22, $60 + dbsprite 0, 0, 0, 0, $32, OAM_VFLIP + dbsprite 1, 0, 0, 0, $43, OAM_VFLIP + dbsprite 2, 0, 0, 0, $43, OAM_HFLIP | OAM_VFLIP + dbsprite 3, 0, 0, 0, $32, OAM_HFLIP | OAM_VFLIP + dbsprite 0, 1, 0, 0, $22, OAM_VFLIP + dbsprite 1, 1, 0, 0, $23, OAM_VFLIP + dbsprite 2, 1, 0, 0, $23, OAM_HFLIP | OAM_VFLIP + dbsprite 3, 1, 0, 0, $22, OAM_HFLIP | OAM_VFLIP FrameBlock74: db 4 ; # - db $00, $00, $22, $40 - db $00, $08, $23, $40 - db $00, $10, $23, $60 - db $00, $18, $22, $60 + dbsprite 0, 0, 0, 0, $22, OAM_VFLIP + dbsprite 1, 0, 0, 0, $23, OAM_VFLIP + dbsprite 2, 0, 0, 0, $23, OAM_HFLIP | OAM_VFLIP + dbsprite 3, 0, 0, 0, $22, OAM_HFLIP | OAM_VFLIP FrameBlock4a: db 4 ; # - db $08, $18, $4c, $20 - db $20, $08, $4b, $00 - db $30, $20, $4c, $00 - db $18, $30, $4b, $40 + dbsprite 3, 1, 0, 0, $4c, OAM_HFLIP + dbsprite 1, 4, 0, 0, $4b, 0 + dbsprite 4, 6, 0, 0, $4c, 0 + dbsprite 6, 3, 0, 0, $4b, OAM_VFLIP FrameBlock4b: db 4 ; # - db $00, $18, $4c, $00 - db $20, $00, $4b, $40 - db $38, $20, $4c, $20 - db $18, $38, $4b, $00 + dbsprite 3, 0, 0, 0, $4c, 0 + dbsprite 0, 4, 0, 0, $4b, OAM_VFLIP + dbsprite 4, 7, 0, 0, $4c, OAM_HFLIP + dbsprite 7, 3, 0, 0, $4b, 0 FrameBlock4c: db 4 ; # - db $10, $08, $4a, $40 - db $30, $10, $4a, $00 - db $28, $30, $4a, $20 - db $08, $28, $4a, $60 + dbsprite 1, 2, 0, 0, $4a, OAM_VFLIP + dbsprite 2, 6, 0, 0, $4a, 0 + dbsprite 6, 5, 0, 0, $4a, OAM_HFLIP + dbsprite 5, 1, 0, 0, $4a, OAM_HFLIP | OAM_VFLIP FrameBlock4d: db 4 ; # - db $08, $00, $4a, $20 - db $38, $08, $4a, $60 - db $30, $38, $4a, $40 - db $00, $30, $4a, $00 + dbsprite 0, 1, 0, 0, $4a, OAM_HFLIP + dbsprite 1, 7, 0, 0, $4a, OAM_HFLIP | OAM_VFLIP + dbsprite 7, 6, 0, 0, $4a, OAM_VFLIP + dbsprite 6, 0, 0, 0, $4a, 0 FrameBlock4e: db 8 ; # - db $00, $30, $44, $00 - db $00, $38, $44, $20 - db $08, $30, $44, $40 - db $08, $38, $44, $60 - db $26, $0a, $44, $00 - db $26, $12, $44, $20 - db $2e, $0a, $44, $40 - db $2e, $12, $44, $60 + dbsprite 6, 0, 0, 0, $44, 0 + dbsprite 7, 0, 0, 0, $44, OAM_HFLIP + dbsprite 6, 1, 0, 0, $44, OAM_VFLIP + dbsprite 7, 1, 0, 0, $44, OAM_HFLIP | OAM_VFLIP + dbsprite 1, 4, 2, 6, $44, 0 + dbsprite 2, 4, 2, 6, $44, OAM_HFLIP + dbsprite 1, 5, 2, 6, $44, OAM_VFLIP + dbsprite 2, 5, 2, 6, $44, OAM_HFLIP | OAM_VFLIP FrameBlock4f: db 12 ; # - db $0e, $22, $44, $00 - db $0e, $2a, $44, $20 - db $16, $22, $44, $40 - db $16, $2a, $44, $60 - db $06, $32, $47, $00 - db $00, $38, $47, $00 - db $1a, $16, $44, $00 - db $1a, $1e, $44, $20 - db $22, $16, $44, $40 - db $22, $1e, $44, $60 - db $30, $08, $47, $00 - db $2a, $0e, $47, $00 + dbsprite 4, 1, 2, 6, $44, 0 + dbsprite 5, 1, 2, 6, $44, OAM_HFLIP + dbsprite 4, 2, 2, 6, $44, OAM_VFLIP + dbsprite 5, 2, 2, 6, $44, OAM_HFLIP | OAM_VFLIP + dbsprite 6, 0, 2, 6, $47, 0 + dbsprite 7, 0, 0, 0, $47, 0 + dbsprite 2, 3, 6, 2, $44, 0 + dbsprite 3, 3, 6, 2, $44, OAM_HFLIP + dbsprite 2, 4, 6, 2, $44, OAM_VFLIP + dbsprite 3, 4, 6, 2, $44, OAM_HFLIP | OAM_VFLIP + dbsprite 1, 6, 0, 0, $47, 0 + dbsprite 1, 5, 6, 2, $47, 0 FrameBlock50: db 8 ; # - db $06, $32, $47, $00 - db $00, $38, $47, $00 - db $12, $26, $47, $00 - db $0c, $2c, $47, $00 - db $1e, $1a, $47, $00 - db $18, $20, $47, $00 - db $2a, $0e, $47, $00 - db $24, $14, $47, $00 + dbsprite 6, 0, 2, 6, $47, 0 + dbsprite 7, 0, 0, 0, $47, 0 + dbsprite 4, 2, 6, 2, $47, 0 + dbsprite 5, 1, 4, 4, $47, 0 + dbsprite 3, 3, 2, 6, $47, 0 + dbsprite 4, 3, 0, 0, $47, 0 + dbsprite 1, 5, 6, 2, $47, 0 + dbsprite 2, 4, 4, 4, $47, 0 FrameBlock51: db 8 ; # - db $00, $00, $35, $20 - db $08, $00, $35, $40 - db $10, $00, $35, $00 - db $18, $00, $35, $60 - db $00, $40, $35, $00 - db $08, $40, $35, $60 - db $10, $40, $35, $20 - db $18, $40, $35, $40 + dbsprite 0, 0, 0, 0, $35, OAM_HFLIP + dbsprite 0, 1, 0, 0, $35, OAM_VFLIP + dbsprite 0, 2, 0, 0, $35, 0 + dbsprite 0, 3, 0, 0, $35, OAM_HFLIP | OAM_VFLIP + dbsprite 8, 0, 0, 0, $35, 0 + dbsprite 8, 1, 0, 0, $35, OAM_HFLIP | OAM_VFLIP + dbsprite 8, 2, 0, 0, $35, OAM_HFLIP + dbsprite 8, 3, 0, 0, $35, OAM_VFLIP FrameBlock52: db 4 ; # - db $00, $00, $2a, $00 - db $00, $08, $2b, $00 - db $08, $00, $3a, $00 - db $08, $08, $3b, $00 + dbsprite 0, 0, 0, 0, $2a, 0 + dbsprite 1, 0, 0, 0, $2b, 0 + dbsprite 0, 1, 0, 0, $3a, 0 + dbsprite 1, 1, 0, 0, $3b, 0 FrameBlock53: db 3 ; # - db $00, $00, $3f, $00 - db $00, $08, $3f, $00 - db $08, $06, $3f, $00 + dbsprite 0, 0, 0, 0, $3f, 0 + dbsprite 1, 0, 0, 0, $3f, 0 + dbsprite 0, 1, 6, 0, $3f, 0 FrameBlock54: db 4 ; # - db $00, $00, $0e, $00 - db $00, $08, $0e, $20 - db $08, $00, $0f, $00 - db $08, $08, $0f, $20 + dbsprite 0, 0, 0, 0, $0e, 0 + dbsprite 1, 0, 0, 0, $0e, OAM_HFLIP + dbsprite 0, 1, 0, 0, $0f, 0 + dbsprite 1, 1, 0, 0, $0f, OAM_HFLIP FrameBlock55: db 3 ; # - db $10, $00, $2c, $00 - db $10, $08, $3c, $00 - db $10, $10, $2d, $00 + dbsprite 0, 2, 0, 0, $2c, 0 + dbsprite 1, 2, 0, 0, $3c, 0 + dbsprite 2, 2, 0, 0, $2d, 0 FrameBlock56: db 6 ; # - db $10, $10, $31, $00 - db $10, $18, $31, $00 - db $08, $10, $2c, $00 - db $08, $18, $3c, $00 - db $08, $20, $2d, $00 - db $10, $20, $2d, $00 + dbsprite 2, 2, 0, 0, $31, 0 + dbsprite 3, 2, 0, 0, $31, 0 + dbsprite 2, 1, 0, 0, $2c, 0 + dbsprite 3, 1, 0, 0, $3c, 0 + dbsprite 4, 1, 0, 0, $2d, 0 + dbsprite 4, 2, 0, 0, $2d, 0 FrameBlock57: db 9 ; # - db $08, $20, $31, $00 - db $10, $20, $31, $00 - db $08, $28, $31, $00 - db $10, $28, $31, $00 - db $00, $20, $2c, $00 - db $00, $28, $3c, $00 - db $00, $30, $2d, $00 - db $08, $30, $2d, $00 - db $10, $30, $2d, $00 + dbsprite 4, 1, 0, 0, $31, 0 + dbsprite 4, 2, 0, 0, $31, 0 + dbsprite 5, 1, 0, 0, $31, 0 + dbsprite 5, 2, 0, 0, $31, 0 + dbsprite 4, 0, 0, 0, $2c, 0 + dbsprite 5, 0, 0, 0, $3c, 0 + dbsprite 6, 0, 0, 0, $2d, 0 + dbsprite 6, 1, 0, 0, $2d, 0 + dbsprite 6, 2, 0, 0, $2d, 0 FrameBlock58: db 7 ; # - db $00, $00, $46, $00 - db $08, $02, $47, $00 - db $10, $03, $48, $00 - db $18, $04, $48, $00 - db $20, $05, $48, $00 - db $28, $05, $48, $00 - db $30, $05, $48, $00 + dbsprite 0, 0, 0, 0, $46, 0 + dbsprite 0, 1, 2, 0, $47, 0 + dbsprite 0, 2, 3, 0, $48, 0 + dbsprite 0, 3, 4, 0, $48, 0 + dbsprite 0, 4, 5, 0, $48, 0 + dbsprite 0, 5, 5, 0, $48, 0 + dbsprite 0, 6, 5, 0, $48, 0 FrameBlock59: db 1 ; # - db $00, $00, $42, $00 + dbsprite 0, 0, 0, 0, $42, 0 FrameBlock5a: db 12 ; # - db $00, $00, $24, $00 - db $00, $08, $25, $00 - db $08, $00, $34, $00 - db $00, $10, $25, $20 - db $00, $18, $24, $20 - db $08, $18, $34, $20 - db $10, $00, $34, $40 - db $18, $00, $24, $40 - db $18, $08, $25, $40 - db $10, $18, $34, $60 - db $18, $10, $25, $60 - db $18, $18, $24, $60 + dbsprite 0, 0, 0, 0, $24, 0 + dbsprite 1, 0, 0, 0, $25, 0 + dbsprite 0, 1, 0, 0, $34, 0 + dbsprite 2, 0, 0, 0, $25, OAM_HFLIP + dbsprite 3, 0, 0, 0, $24, OAM_HFLIP + dbsprite 3, 1, 0, 0, $34, OAM_HFLIP + dbsprite 0, 2, 0, 0, $34, OAM_VFLIP + dbsprite 0, 3, 0, 0, $24, OAM_VFLIP + dbsprite 1, 3, 0, 0, $25, OAM_VFLIP + dbsprite 3, 2, 0, 0, $34, OAM_HFLIP | OAM_VFLIP + dbsprite 2, 3, 0, 0, $25, OAM_HFLIP | OAM_VFLIP + dbsprite 3, 3, 0, 0, $24, OAM_HFLIP | OAM_VFLIP FrameBlock5b: db 4 ; # - db $00, $00, $43, $00 - db $00, $08, $43, $20 - db $08, $00, $43, $40 - db $08, $08, $43, $60 + dbsprite 0, 0, 0, 0, $43, 0 + dbsprite 1, 0, 0, 0, $43, OAM_HFLIP + dbsprite 0, 1, 0, 0, $43, OAM_VFLIP + dbsprite 1, 1, 0, 0, $43, OAM_HFLIP | OAM_VFLIP FrameBlock5c: db 8 ; # - db $00, $00, $49, $00 - db $02, $08, $49, $00 - db $18, $00, $49, $00 - db $10, $10, $49, $00 - db $08, $00, $43, $00 - db $08, $08, $43, $20 - db $10, $00, $43, $40 - db $10, $08, $43, $60 + dbsprite 0, 0, 0, 0, $49, 0 + dbsprite 1, 0, 0, 2, $49, 0 + dbsprite 0, 3, 0, 0, $49, 0 + dbsprite 2, 2, 0, 0, $49, 0 + dbsprite 0, 1, 0, 0, $43, 0 + dbsprite 1, 1, 0, 0, $43, OAM_HFLIP + dbsprite 0, 2, 0, 0, $43, OAM_VFLIP + dbsprite 1, 2, 0, 0, $43, OAM_HFLIP | OAM_VFLIP FrameBlock5d: db 11 ; # - db $00, $00, $49, $00 - db $18, $02, $49, $00 - db $14, $10, $49, $00 - db $08, $00, $43, $00 - db $00, $08, $43, $20 - db $10, $00, $43, $40 - db $10, $08, $43, $60 - db $04, $08, $43, $00 - db $04, $10, $43, $20 - db $0c, $08, $43, $40 - db $0c, $10, $43, $60 + dbsprite 0, 0, 0, 0, $49, 0 + dbsprite 0, 3, 2, 0, $49, 0 + dbsprite 2, 2, 0, 4, $49, 0 + dbsprite 0, 1, 0, 0, $43, 0 + dbsprite 1, 0, 0, 0, $43, OAM_HFLIP + dbsprite 0, 2, 0, 0, $43, OAM_VFLIP + dbsprite 1, 2, 0, 0, $43, OAM_HFLIP | OAM_VFLIP + dbsprite 1, 0, 0, 4, $43, 0 + dbsprite 2, 0, 0, 4, $43, OAM_HFLIP + dbsprite 1, 1, 0, 4, $43, OAM_VFLIP + dbsprite 2, 1, 0, 4, $43, OAM_HFLIP | OAM_VFLIP FrameBlock5e: db 15 ; # - db $00, $08, $49, $00 - db $08, $10, $49, $00 - db $20, $00, $49, $00 - db $08, $00, $43, $00 - db $08, $08, $43, $20 - db $10, $00, $43, $40 - db $10, $08, $43, $60 - db $10, $10, $43, $00 - db $10, $18, $43, $20 - db $18, $10, $43, $40 - db $18, $18, $43, $60 - db $20, $08, $43, $00 - db $20, $10, $43, $20 - db $28, $08, $43, $40 - db $28, $10, $43, $60 + dbsprite 1, 0, 0, 0, $49, 0 + dbsprite 2, 1, 0, 0, $49, 0 + dbsprite 0, 4, 0, 0, $49, 0 + dbsprite 0, 1, 0, 0, $43, 0 + dbsprite 1, 1, 0, 0, $43, OAM_HFLIP + dbsprite 0, 2, 0, 0, $43, OAM_VFLIP + dbsprite 1, 2, 0, 0, $43, OAM_HFLIP | OAM_VFLIP + dbsprite 2, 2, 0, 0, $43, 0 + dbsprite 3, 2, 0, 0, $43, OAM_HFLIP + dbsprite 2, 3, 0, 0, $43, OAM_VFLIP + dbsprite 3, 3, 0, 0, $43, OAM_HFLIP | OAM_VFLIP + dbsprite 1, 4, 0, 0, $43, 0 + dbsprite 2, 4, 0, 0, $43, OAM_HFLIP + dbsprite 1, 5, 0, 0, $43, OAM_VFLIP + dbsprite 2, 5, 0, 0, $43, OAM_HFLIP | OAM_VFLIP FrameBlock5f: db 4 ; # - db $00, $00, $49, $00 - db $00, $10, $49, $00 - db $00, $20, $49, $00 - db $00, $30, $49, $00 + dbsprite 0, 0, 0, 0, $49, 0 + dbsprite 2, 0, 0, 0, $49, 0 + dbsprite 4, 0, 0, 0, $49, 0 + dbsprite 6, 0, 0, 0, $49, 0 FrameBlock60: db 8 ; # - db $00, $00, $49, $00 - db $00, $10, $49, $00 - db $00, $20, $49, $00 - db $00, $30, $49, $00 - db $08, $08, $49, $00 - db $08, $18, $49, $00 - db $08, $28, $49, $00 - db $08, $38, $49, $00 + dbsprite 0, 0, 0, 0, $49, 0 + dbsprite 2, 0, 0, 0, $49, 0 + dbsprite 4, 0, 0, 0, $49, 0 + dbsprite 6, 0, 0, 0, $49, 0 + dbsprite 1, 1, 0, 0, $49, 0 + dbsprite 3, 1, 0, 0, $49, 0 + dbsprite 5, 1, 0, 0, $49, 0 + dbsprite 7, 1, 0, 0, $49, 0 FrameBlock61: db 12 ; # - db $00, $00, $49, $00 - db $00, $10, $49, $00 - db $00, $20, $49, $00 - db $00, $30, $49, $00 - db $08, $08, $49, $00 - db $08, $18, $49, $00 - db $08, $28, $49, $00 - db $08, $38, $49, $00 - db $10, $00, $49, $00 - db $10, $10, $49, $00 - db $10, $20, $49, $00 - db $10, $30, $49, $00 + dbsprite 0, 0, 0, 0, $49, 0 + dbsprite 2, 0, 0, 0, $49, 0 + dbsprite 4, 0, 0, 0, $49, 0 + dbsprite 6, 0, 0, 0, $49, 0 + dbsprite 1, 1, 0, 0, $49, 0 + dbsprite 3, 1, 0, 0, $49, 0 + dbsprite 5, 1, 0, 0, $49, 0 + dbsprite 7, 1, 0, 0, $49, 0 + dbsprite 0, 2, 0, 0, $49, 0 + dbsprite 2, 2, 0, 0, $49, 0 + dbsprite 4, 2, 0, 0, $49, 0 + dbsprite 6, 2, 0, 0, $49, 0 FrameBlock62: db 15 ; # - db $00, $00, $49, $00 - db $00, $10, $49, $00 - db $00, $20, $49, $00 - db $00, $30, $49, $00 - db $08, $08, $49, $00 - db $08, $18, $49, $00 - db $08, $28, $49, $00 - db $08, $38, $49, $00 - db $10, $00, $49, $00 - db $10, $10, $49, $00 - db $10, $20, $49, $00 - db $10, $30, $49, $00 - db $18, $08, $49, $00 - db $18, $18, $49, $00 - db $18, $28, $49, $00 - db $18, $38, $49, $00 ; unused + dbsprite 0, 0, 0, 0, $49, 0 + dbsprite 2, 0, 0, 0, $49, 0 + dbsprite 4, 0, 0, 0, $49, 0 + dbsprite 6, 0, 0, 0, $49, 0 + dbsprite 1, 1, 0, 0, $49, 0 + dbsprite 3, 1, 0, 0, $49, 0 + dbsprite 5, 1, 0, 0, $49, 0 + dbsprite 7, 1, 0, 0, $49, 0 + dbsprite 0, 2, 0, 0, $49, 0 + dbsprite 2, 2, 0, 0, $49, 0 + dbsprite 4, 2, 0, 0, $49, 0 + dbsprite 6, 2, 0, 0, $49, 0 + dbsprite 1, 3, 0, 0, $49, 0 + dbsprite 3, 3, 0, 0, $49, 0 + dbsprite 5, 3, 0, 0, $49, 0 + dbsprite 7, 3, 0, 0, $49, 0 FrameBlock63: db 6 ; # - db $10, $00, $26, $00 - db $10, $08, $27, $00 - db $08, $10, $26, $00 - db $08, $18, $27, $00 - db $00, $20, $26, $00 - db $00, $28, $27, $00 + dbsprite 0, 2, 0, 0, $26, 0 + dbsprite 1, 2, 0, 0, $27, 0 + dbsprite 2, 1, 0, 0, $26, 0 + dbsprite 3, 1, 0, 0, $27, 0 + dbsprite 4, 0, 0, 0, $26, 0 + dbsprite 5, 0, 0, 0, $27, 0 FrameBlock64: db 6 ; # - db $18, $00, $27, $00 - db $10, $08, $26, $00 - db $10, $10, $27, $00 - db $08, $18, $26, $00 - db $08, $20, $27, $00 - db $00, $28, $26, $00 + dbsprite 0, 3, 0, 0, $27, 0 + dbsprite 1, 2, 0, 0, $26, 0 + dbsprite 2, 2, 0, 0, $27, 0 + dbsprite 3, 1, 0, 0, $26, 0 + dbsprite 4, 1, 0, 0, $27, 0 + dbsprite 5, 0, 0, 0, $26, 0 FrameBlock65: db 6 ; # - db $00, $00, $1c, $00 - db $00, $08, $1d, $00 - db $10, $00, $1c, $00 - db $10, $08, $1d, $00 - db $20, $00, $1c, $00 - db $20, $08, $1d, $00 + dbsprite 0, 0, 0, 0, $1c, 0 + dbsprite 1, 0, 0, 0, $1d, 0 + dbsprite 0, 2, 0, 0, $1c, 0 + dbsprite 1, 2, 0, 0, $1d, 0 + dbsprite 0, 4, 0, 0, $1c, 0 + dbsprite 1, 4, 0, 0, $1d, 0 FrameBlock66: db 2 ; # - db $00, $00, $03, $00 - db $08, $00, $13, $00 + dbsprite 0, 0, 0, 0, $03, 0 + dbsprite 0, 1, 0, 0, $13, 0 FrameBlock67: db 1 ; # - db $00, $00, $03, $00 + dbsprite 0, 0, 0, 0, $03, 0 FrameBlock68: db 4 ; # - db $00, $00, $03, $00 - db $00, $08, $03, $20 - db $08, $00, $13, $00 - db $08, $08, $13, $20 + dbsprite 0, 0, 0, 0, $03, 0 + dbsprite 1, 0, 0, 0, $03, OAM_HFLIP + dbsprite 0, 1, 0, 0, $13, 0 + dbsprite 1, 1, 0, 0, $13, OAM_HFLIP FrameBlock69: db 1 ; # - db $00, $00, $06, $00 + dbsprite 0, 0, 0, 0, $06, 0 FrameBlock6a: db 8 ; # - db $00, $00, $2e, $00 - db $00, $30, $2e, $20 - db $30, $00, $2e, $40 - db $30, $30, $2e, $60 - db $00, $18, $2f, $00 - db $30, $18, $2f, $40 - db $18, $00, $3e, $00 - db $18, $30, $3e, $20 + dbsprite 0, 0, 0, 0, $2e, 0 + dbsprite 6, 0, 0, 0, $2e, OAM_HFLIP + dbsprite 0, 6, 0, 0, $2e, OAM_VFLIP + dbsprite 6, 6, 0, 0, $2e, OAM_HFLIP | OAM_VFLIP + dbsprite 3, 0, 0, 0, $2f, 0 + dbsprite 3, 6, 0, 0, $2f, OAM_VFLIP + dbsprite 0, 3, 0, 0, $3e, 0 + dbsprite 6, 3, 0, 0, $3e, OAM_HFLIP FrameBlock6b: db 8 ; # - db $00, $00, $2e, $00 - db $00, $20, $2e, $20 - db $20, $00, $2e, $40 - db $20, $20, $2e, $60 - db $00, $10, $2f, $00 - db $20, $10, $2f, $40 - db $10, $00, $3e, $00 - db $10, $20, $3e, $20 + dbsprite 0, 0, 0, 0, $2e, 0 + dbsprite 4, 0, 0, 0, $2e, OAM_HFLIP + dbsprite 0, 4, 0, 0, $2e, OAM_VFLIP + dbsprite 4, 4, 0, 0, $2e, OAM_HFLIP | OAM_VFLIP + dbsprite 2, 0, 0, 0, $2f, 0 + dbsprite 2, 4, 0, 0, $2f, OAM_VFLIP + dbsprite 0, 2, 0, 0, $3e, 0 + dbsprite 4, 2, 0, 0, $3e, OAM_HFLIP FrameBlock6c: db 8 ; # - db $00, $00, $2e, $00 - db $00, $10, $2e, $20 - db $10, $00, $2e, $40 - db $10, $10, $2e, $60 - db $00, $08, $2f, $00 - db $10, $08, $2f, $40 - db $08, $00, $3e, $00 - db $08, $10, $3e, $20 + dbsprite 0, 0, 0, 0, $2e, 0 + dbsprite 2, 0, 0, 0, $2e, OAM_HFLIP + dbsprite 0, 2, 0, 0, $2e, OAM_VFLIP + dbsprite 2, 2, 0, 0, $2e, OAM_HFLIP | OAM_VFLIP + dbsprite 1, 0, 0, 0, $2f, 0 + dbsprite 1, 2, 0, 0, $2f, OAM_VFLIP + dbsprite 0, 1, 0, 0, $3e, 0 + dbsprite 2, 1, 0, 0, $3e, OAM_HFLIP FrameBlock6d: db 2 ; # - db $00, $00, $1e, $00 - db $00, $08, $1f, $00 + dbsprite 0, 0, 0, 0, $1e, 0 + dbsprite 1, 0, 0, 0, $1f, 0 FrameBlock6e: db 4 ; # - db $00, $00, $48, $00 - db $00, $08, $48, $20 - db $08, $00, $12, $00 - db $08, $08, $12, $20 + dbsprite 0, 0, 0, 0, $48, 0 + dbsprite 1, 0, 0, 0, $48, OAM_HFLIP + dbsprite 0, 1, 0, 0, $12, 0 + dbsprite 1, 1, 0, 0, $12, OAM_HFLIP FrameBlock6f: db 4 ; # - db $00, $00, $4a, $00 - db $00, $08, $07, $00 - db $08, $00, $16, $00 - db $08, $08, $17, $00 + dbsprite 0, 0, 0, 0, $4a, 0 + dbsprite 1, 0, 0, 0, $07, 0 + dbsprite 0, 1, 0, 0, $16, 0 + dbsprite 1, 1, 0, 0, $17, 0 FrameBlock70: db 4 ; # - db $00, $00, $07, $20 - db $00, $08, $4a, $20 - db $08, $00, $17, $20 - db $08, $08, $16, $20 + dbsprite 0, 0, 0, 0, $07, OAM_HFLIP + dbsprite 1, 0, 0, 0, $4a, OAM_HFLIP + dbsprite 0, 1, 0, 0, $17, OAM_HFLIP + dbsprite 1, 1, 0, 0, $16, OAM_HFLIP FrameBlock76: db 7 ; # - db $00, $10, $2f, $00 - db $01, $08, $2f, $00 - db $01, $18, $2f, $00 - db $02, $00, $2e, $00 - db $02, $20, $2e, $20 - db $0a, $00, $3e, $00 - db $0a, $20, $3e, $20 + dbsprite 2, 0, 0, 0, $2f, 0 + dbsprite 1, 0, 0, 1, $2f, 0 + dbsprite 3, 0, 0, 1, $2f, 0 + dbsprite 0, 0, 0, 2, $2e, 0 + dbsprite 4, 0, 0, 2, $2e, OAM_HFLIP + dbsprite 0, 1, 0, 2, $3e, 0 + dbsprite 4, 1, 0, 2, $3e, OAM_HFLIP FrameBlock77: db 4 ; # - db $00, $02, $4b, $00 - db $00, $0a, $4c, $00 - db $08, $00, $4c, $60 - db $08, $08, $4b, $60 + dbsprite 0, 0, 2, 0, $4b, 0 + dbsprite 1, 0, 2, 0, $4c, 0 + dbsprite 0, 1, 0, 0, $4c, OAM_HFLIP | OAM_VFLIP + dbsprite 1, 1, 0, 0, $4b, OAM_HFLIP | OAM_VFLIP FrameBlock78: db 1 ; # - db $00, $00, $4d, $00 + dbsprite 0, 0, 0, 0, $4d, 0 FrameBlock79: db 1 ; # - db $00, $00, $4e, $00 + dbsprite 0, 0, 0, 0, $4e, 0 INCLUDE "data/battle_anims/base_coords.asm" FrameBlock00: db 0 ; # - db $00 + + db $00 ; unused diff --git a/data/maps/sprite_sets.asm b/data/maps/sprite_sets.asm index 1cc0b128..b2c9371c 100755 --- a/data/maps/sprite_sets.asm +++ b/data/maps/sprite_sets.asm @@ -37,26 +37,27 @@ MapSpriteSets: db $02 ; ROUTE_24 db $02 ; ROUTE_25 +EAST_WEST EQU 1 +NORTH_SOUTH EQU 2 + ; Format: -; 00: determines whether the map is split East/West or North/South -; $01 = East/West divide -; $02 = North/South divide +; 00: determines whether the map is split EAST_WEST or NORTH_SOUTH ; 01: coordinate of dividing line ; 02: sprite set ID if in the West or North side ; 03: sprite set ID if in the East or South side SplitMapSpriteSets: - db $02, $25, $02, $01 ; $f1 - db $02, $32, $02, $03 ; $f2 - db $01, $39, $04, $08 ; $f3 - db $02, $15, $03, $08 ; $f4 - db $01, $08, $0A, $08 ; $f5 - db $01, $18, $09, $05 ; $f6 - db $01, $22, $09, $0A ; $f7 - db $01, $35, $01, $0A ; $f8 - db $02, $21, $02, $07 ; $f9 - db $02, $02, $07, $04 ; $fa - db $01, $11, $05, $07 ; $fb - db $01, $03, $07, $03 ; $fc + db NORTH_SOUTH, 37, $02, $01 ; $f1 + db NORTH_SOUTH, 50, $02, $03 ; $f2 + db EAST_WEST, 57, $04, $08 ; $f3 + db NORTH_SOUTH, 21, $03, $08 ; $f4 + db EAST_WEST, 8, $0A, $08 ; $f5 + db EAST_WEST, 24, $09, $05 ; $f6 + db EAST_WEST, 34, $09, $0A ; $f7 + db EAST_WEST, 53, $01, $0A ; $f8 + db NORTH_SOUTH, 33, $02, $07 ; $f9 + db NORTH_SOUTH, 2, $07, $04 ; $fa + db EAST_WEST, 17, $05, $07 ; $fb + db EAST_WEST, 3, $07, $03 ; $fc SpriteSets: ; sprite set $01 diff --git a/engine/battle/scale_sprites.asm b/engine/battle/scale_sprites.asm index 69979412..87b4398d 100644 --- a/engine/battle/scale_sprites.asm +++ b/engine/battle/scale_sprites.asm @@ -79,7 +79,19 @@ ScalePixelsByTwo: ; repeats each input bit twice DuplicateBitsTable: - db $00, $03, $0c, $0f - db $30, $33, $3c, $3f - db $c0, $c3, $cc, $cf - db $f0, $f3, $fc, $ff + db %00000000 + db %00000011 + db %00001100 + db %00001111 + db %00110000 + db %00110011 + db %00111100 + db %00111111 + db %11000000 + db %11000011 + db %11001100 + db %11001111 + db %11110000 + db %11110011 + db %11111100 + db %11111111 diff --git a/engine/events/hidden_objects/cinnabar_gym_quiz.asm b/engine/events/hidden_objects/cinnabar_gym_quiz.asm index 2e4f48f3..e2ae7fbe 100644 --- a/engine/events/hidden_objects/cinnabar_gym_quiz.asm +++ b/engine/events/hidden_objects/cinnabar_gym_quiz.asm @@ -183,12 +183,18 @@ UpdateCinnabarGymGateTileBlocks_:: jr nz, .loop ret +gym_gate_coord: MACRO + db \1, \2, \3, 0 +ENDM + +HORIZONTAL_GATE_BLOCK EQU $54 +VERTICAL_GATE_BLOCK EQU $5f + CinnabarGymGateCoords: - ; format: x-coord, y-coord, direction, padding - ; direction: $54 = horizontal gate, $5f = vertical gate - db $09,$03,$54,$00 - db $06,$03,$54,$00 - db $06,$06,$54,$00 - db $03,$08,$5f,$00 - db $02,$06,$54,$00 - db $02,$03,$54,$00 + ; x coord, y coord, block id + gym_gate_coord 9, 3, HORIZONTAL_GATE_BLOCK + gym_gate_coord 6, 3, HORIZONTAL_GATE_BLOCK + gym_gate_coord 6, 6, HORIZONTAL_GATE_BLOCK + gym_gate_coord 3, 8, VERTICAL_GATE_BLOCK + gym_gate_coord 2, 6, HORIZONTAL_GATE_BLOCK + gym_gate_coord 2, 3, HORIZONTAL_GATE_BLOCK diff --git a/engine/menus/pokedex.asm b/engine/menus/pokedex.asm index 53719712..5660ecfb 100755 --- a/engine/menus/pokedex.asm +++ b/engine/menus/pokedex.asm @@ -599,10 +599,8 @@ PokeText: ; horizontal line that divides the pokedex text description from the rest of the data PokedexDataDividerLine: - db $68,$69,$6B,$69,$6B - db $69,$6B,$69,$6B,$6B - db $6B,$6B,$69,$6B,$69 - db $6B,$69,$6B,$69,$6A + db $68, $69, $6B, $69, $6B, $69, $6B, $69, $6B, $6B + db $6B, $6B, $69, $6B, $69, $6B, $69, $6B, $69, $6A db "@" ; draws a line of tiles diff --git a/engine/movie/gamefreak.asm b/engine/movie/gamefreak.asm index 1463eb4f..1f837443 100755 --- a/engine/movie/gamefreak.asm +++ b/engine/movie/gamefreak.asm @@ -146,7 +146,7 @@ AnimateShootingStar: ret SmallStarsOAM: - db $00,$00,$A2,$90 + dbsprite 0, 0, 0, 0, $A2, OAM_BEHIND_BG | OAM_OBP1 SmallStarsOAMEnd: SmallStarsWaveCoordsPointerTable: @@ -161,28 +161,28 @@ SmallStarsWaveCoordsPointerTable: ; These arrays contain the Y and X coordinates of each OAM entry. SmallStarsWave1Coords: - db $68,$30 - db $68,$40 - db $68,$58 - db $68,$78 + db $68, $30 + db $68, $40 + db $68, $58 + db $68, $78 SmallStarsWave2Coords: - db $68,$38 - db $68,$48 - db $68,$60 - db $68,$70 + db $68, $38 + db $68, $48 + db $68, $60 + db $68, $70 SmallStarsWave3Coords: - db $68,$34 - db $68,$4C - db $68,$54 - db $68,$64 + db $68, $34 + db $68, $4C + db $68, $54 + db $68, $64 SmallStarsWave4Coords: - db $68,$3C - db $68,$5C - db $68,$6C - db $68,$74 + db $68, $3C + db $68, $5C + db $68, $6C + db $68, $74 SmallStarsEmptyWave: db $FF @@ -213,29 +213,29 @@ MoveDownSmallStars: ret GameFreakLogoOAMData: - db $48,$50,$8D,$00 - db $48,$58,$8E,$00 - db $50,$50,$8F,$00 - db $50,$58,$90,$00 - db $58,$50,$91,$00 - db $58,$58,$92,$00 - db $60,$30,$80,$00 - db $60,$38,$81,$00 - db $60,$40,$82,$00 - db $60,$48,$83,$00 - db $60,$50,$93,$00 - db $60,$58,$84,$00 - db $60,$60,$85,$00 - db $60,$68,$83,$00 - db $60,$70,$81,$00 - db $60,$78,$86,$00 + dbsprite 10, 9, 0, 0, $8d, 0 + dbsprite 11, 9, 0, 0, $8e, 0 + dbsprite 10, 10, 0, 0, $8f, 0 + dbsprite 11, 10, 0, 0, $90, 0 + dbsprite 10, 11, 0, 0, $91, 0 + dbsprite 11, 11, 0, 0, $92, 0 + dbsprite 6, 12, 0, 0, $80, 0 + dbsprite 7, 12, 0, 0, $81, 0 + dbsprite 8, 12, 0, 0, $82, 0 + dbsprite 9, 12, 0, 0, $83, 0 + dbsprite 10, 12, 0, 0, $93, 0 + dbsprite 11, 12, 0, 0, $84, 0 + dbsprite 12, 12, 0, 0, $85, 0 + dbsprite 13, 12, 0, 0, $83, 0 + dbsprite 14, 12, 0, 0, $81, 0 + dbsprite 15, 12, 0, 0, $86, 0 GameFreakLogoOAMDataEnd: GameFreakShootingStarOAMData: - db $00,$A0,$A0,$10 - db $00,$A8,$A0,$30 - db $08,$A0,$A1,$10 - db $08,$A8,$A1,$30 + dbsprite 20, 0, 0, 0, $a0, OAM_OBP1 + dbsprite 21, 0, 0, 0, $a0, OAM_OBP1 | OAM_HFLIP + dbsprite 20, 1, 0, 0, $a1, OAM_OBP1 + dbsprite 21, 1, 0, 0, $a1, OAM_OBP1 | OAM_HFLIP GameFreakShootingStarOAMDataEnd: FallingStar: diff --git a/engine/movie/trade.asm b/engine/movie/trade.asm index 992cbd97..fa84e01d 100755 --- a/engine/movie/trade.asm +++ b/engine/movie/trade.asm @@ -59,11 +59,11 @@ TradeAnimCommon: addtradefunc: MACRO \1TradeFunc:: dw \1 - ENDM +ENDM tradefunc: MACRO db (\1TradeFunc - TradeFuncPointerTable) / 2 - ENDM +ENDM ; The functions in the sequences below are executed in order by TradeFuncCommon. ; They are from opposite perspectives. The external clock one makes use of @@ -86,7 +86,7 @@ InternalClockTradeFuncSequence: tradefunc Trade_ShowEnemyMon tradefunc Trade_Delay100 tradefunc Trade_Cleanup - db $FF + db -1 ; end ExternalClockTradeFuncSequence: tradefunc LoadTradingGFXAndMonNames @@ -110,7 +110,7 @@ ExternalClockTradeFuncSequence: tradefunc Trade_ShowClearedWindow tradefunc PrintTradeWentToText tradefunc Trade_Cleanup - db $FF + db -1 ; end TradeFuncPointerTable: addtradefunc LoadTradingGFXAndMonNames @@ -346,8 +346,8 @@ Trade_AnimateBallEnteringLinkCable: ret Trade_BallInsideLinkCableOAM: - db $7E,$00,$7E,$20 - db $7E,$40,$7E,$60 + dbsprite 0, 15, 0, 6, $7e, OAM_HFLIP + dbsprite 8, 15, 0, 6, $7e, OAM_HFLIP | OAM_VFLIP Trade_ShowEnemyMon: ld a, TRADE_BALL_TILT_ANIM @@ -697,31 +697,33 @@ Trade_WriteCircleOAM: jr nz, .loop ret +trade_circle_oam: MACRO + dw \1 + db \2, \3 +ENDM + Trade_CircleOAMPointers: - dw Trade_CircleOAM0 - db $08,$08 - dw Trade_CircleOAM1 - db $18,$08 - dw Trade_CircleOAM2 - db $08,$18 - dw Trade_CircleOAM3 - db $18,$18 + ; oam pointer, upper-left x coord, upper-left y coord + trade_circle_oam Trade_CircleOAM0, $08, $08 + trade_circle_oam Trade_CircleOAM1, $18, $08 + trade_circle_oam Trade_CircleOAM2, $08, $18 + trade_circle_oam Trade_CircleOAM3, $18, $18 Trade_CircleOAM0: - db $38,$10,$39,$10 - db $3A,$10,$3B,$10 + dbsprite 2, 7, 0, 0, $39, OAM_OBP1 + dbsprite 2, 7, 0, 2, $3b, OAM_OBP1 Trade_CircleOAM1: - db $39,$30,$38,$30 - db $3B,$30,$3A,$30 + dbsprite 6, 7, 0, 1, $38, OAM_OBP1 | OAM_HFLIP + dbsprite 6, 7, 0, 3, $3a, OAM_OBP1 | OAM_HFLIP Trade_CircleOAM2: - db $3A,$50,$3B,$50 - db $38,$50,$39,$50 + dbsprite 10, 7, 0, 2, $3b, OAM_OBP1 | OAM_VFLIP + dbsprite 10, 7, 0, 0, $39, OAM_OBP1 | OAM_VFLIP Trade_CircleOAM3: - db $3B,$70,$3A,$70 - db $39,$70,$38,$70 + dbsprite 14, 7, 0, 3, $3a, OAM_OBP1 | OAM_HFLIP | OAM_VFLIP + dbsprite 14, 7, 0, 1, $38, OAM_OBP1 | OAM_HFLIP | OAM_VFLIP ; a = species Trade_LoadMonSprite: diff --git a/engine/overworld/cut.asm b/engine/overworld/cut.asm index 07039e03..6a92ccc0 100755 --- a/engine/overworld/cut.asm +++ b/engine/overworld/cut.asm @@ -123,8 +123,8 @@ WriteCutOrBoulderDustAnimationOAMBlock: jp WriteOAMBlock CutOrBoulderDustAnimationTilesAndAttributes: - db $FC,$10,$FD,$10 - db $FE,$10,$FF,$10 + dbsprite 2, -1, 0, 4, $fd, OAM_OBP1 + dbsprite 2, -1, 0, 6, $ff, OAM_OBP1 GetCutOrBoulderDustAnimationOffsets: ld hl, wSpritePlayerStateData1YPixels diff --git a/engine/overworld/emotion_bubbles.asm b/engine/overworld/emotion_bubbles.asm index 298858a2..0315687d 100755 --- a/engine/overworld/emotion_bubbles.asm +++ b/engine/overworld/emotion_bubbles.asm @@ -67,8 +67,8 @@ EmotionBubblesPointerTable: dw HappyEmote EmotionBubblesOAM: - db $F8,$00,$F9,$00 - db $FA,$00,$FB,$00 + dbsprite 0, -1, 0, 0, $f9, 0 + dbsprite 0, -1, 0, 2, $fb, 0 EmotionBubbles: ShockEmote: INCBIN "gfx/emotes/shock.2bpp" diff --git a/engine/overworld/healing_machine.asm b/engine/overworld/healing_machine.asm index eaa396d0..40ca6f65 100755 --- a/engine/overworld/healing_machine.asm +++ b/engine/overworld/healing_machine.asm @@ -66,13 +66,15 @@ PokeCenterFlashingMonitorAndHealBall: INCBIN "gfx/overworld/heal_machine.2bpp" PokeCenterOAMData: - db $24,$34,$7C,$10 ; heal machine monitor - db $2B,$30,$7D,$10 ; pokeballs 1-6 - db $2B,$38,$7D,$30 - db $30,$30,$7D,$10 - db $30,$38,$7D,$30 - db $35,$30,$7D,$10 - db $35,$38,$7D,$30 + ; heal machine monitor + dbsprite 6, 4, 4, 4, $7c, OAM_OBP1 + ; poke balls 1-6 + dbsprite 6, 5, 0, 3, $7d, OAM_OBP1 + dbsprite 7, 5, 0, 3, $7d, OAM_OBP1 | OAM_HFLIP + dbsprite 6, 6, 0, 0, $7d, OAM_OBP1 + dbsprite 7, 6, 0, 0, $7d, OAM_OBP1 | OAM_HFLIP + dbsprite 6, 6, 0, 5, $7d, OAM_OBP1 + dbsprite 7, 6, 0, 5, $7d, OAM_OBP1 | OAM_HFLIP ; d = value to xor with palette FlashSprite8Times: diff --git a/engine/overworld/ledges.asm b/engine/overworld/ledges.asm index 0e006c5e..f01ae5ef 100755 --- a/engine/overworld/ledges.asm +++ b/engine/overworld/ledges.asm @@ -72,5 +72,5 @@ LedgeHoppingShadow: LedgeHoppingShadowEnd: LedgeHoppingShadowOAM: - db $FF,$10,$FF,$20 - db $FF,$40,$FF,$60 + dbsprite 2, -1, 0, 7, $ff, OAM_HFLIP + dbsprite 8, -1, 0, 7, $ff, OAM_HFLIP | OAM_VFLIP diff --git a/engine/overworld/player_animations.asm b/engine/overworld/player_animations.asm index 9e9b4073..c458a013 100755 --- a/engine/overworld/player_animations.asm +++ b/engine/overworld/player_animations.asm @@ -470,14 +470,10 @@ ItsABiteText: FishingRodOAM: ; specifies how the fishing rod should be drawn on the screen -; first byte = screen y coordinate -; second byte = screen x coordinate -; third byte = tile number -; fourth byte = sprite properties - db $5B, $4C, $FD, $00 ; player facing down - db $44, $4C, $FD, $00 ; player facing up - db $50, $40, $FE, $00 ; player facing left - db $50, $58, $FE, $20 ; player facing right ($20 means "horizontally flip the tile") + dbsprite 9, 11, 4, 3, $fd, 0 ; down + dbsprite 9, 8, 4, 4, $fd, 0 ; up + dbsprite 8, 10, 0, 0, $fe, 0 ; left + dbsprite 11, 10, 0, 0, $fe, OAM_HFLIP ; right fishing_gfx: MACRO dw \1 diff --git a/macros/gfx.asm b/macros/gfx.asm index 8803dad2..98eabec4 100644 --- a/macros/gfx.asm +++ b/macros/gfx.asm @@ -15,3 +15,8 @@ color EQUS "+ PAL_COLOR_SIZE *" tiles EQUS "* LEN_2BPP_TILE" tile EQUS "+ LEN_2BPP_TILE *" + +dbsprite: MACRO +; x tile, y tile, x pixel, y pixel, vtile offset, attributes + db (\2 * TILE_WIDTH) % $100 + \4, (\1 * TILE_WIDTH) % $100 + \3, \5, \6 +ENDM -- cgit v1.2.3 From e88eebbc4dc7160b00f1af0008bc4b8bb5ef9aee Mon Sep 17 00:00:00 2001 From: Rangi Date: Sat, 18 Jul 2020 14:01:13 -0400 Subject: Consistent labels for Gym name scripts --- scripts/CeladonGym.asm | 12 ++++++------ scripts/CeruleanGym.asm | 12 ++++++------ scripts/CinnabarGym.asm | 14 ++++++++------ scripts/FuchsiaGym.asm | 13 +++++++------ scripts/PewterGym.asm | 12 ++++++------ scripts/SaffronGym.asm | 12 ++++++------ scripts/VermilionGym.asm | 12 ++++++------ scripts/ViridianGym.asm | 9 +++++---- 8 files changed, 50 insertions(+), 46 deletions(-) diff --git a/scripts/CeladonGym.asm b/scripts/CeladonGym.asm index 669492cf..2b695819 100755 --- a/scripts/CeladonGym.asm +++ b/scripts/CeladonGym.asm @@ -2,7 +2,7 @@ CeladonGym_Script: ld hl, wCurrentMapScriptFlags bit 6, [hl] res 6, [hl] - call nz, CeladonGymScript_48927 + call nz, .LoadNames call EnableAutoTextBoxDrawing ld hl, CeladonGymTrainerHeader0 ld de, CeladonGym_ScriptPointers @@ -11,15 +11,15 @@ CeladonGym_Script: ld [wCeladonGymCurScript], a ret -CeladonGymScript_48927: - ld hl, Gym4CityName - ld de, Gym4LeaderName +.LoadNames: + ld hl, .CityName + ld de, .LeaderName jp LoadGymLeaderAndCityName -Gym4CityName: +.CityName: db "CELADON CITY@" -Gym4LeaderName: +.LeaderName: db "ERIKA@" CeladonGymText_48943: diff --git a/scripts/CeruleanGym.asm b/scripts/CeruleanGym.asm index 57edfe78..a6630cf8 100755 --- a/scripts/CeruleanGym.asm +++ b/scripts/CeruleanGym.asm @@ -2,7 +2,7 @@ CeruleanGym_Script: ld hl, wCurrentMapScriptFlags bit 6, [hl] res 6, [hl] - call nz, CeruleanGymScript_5c6d0 + call nz, .LoadNames call EnableAutoTextBoxDrawing ld hl, CeruleanGymTrainerHeader0 ld de, CeruleanGym_ScriptPointers @@ -11,15 +11,15 @@ CeruleanGym_Script: ld [wCeruleanGymCurScript], a ret -CeruleanGymScript_5c6d0: - ld hl, Gym2CityName - ld de, Gym2LeaderName +.LoadNames: + ld hl, .CityName + ld de, .LeaderName jp LoadGymLeaderAndCityName -Gym2CityName: +.CityName: db "CERULEAN CITY@" -Gym2LeaderName: +.LeaderName: db "MISTY@" CeruleanGymScript_5c6ed: diff --git a/scripts/CinnabarGym.asm b/scripts/CinnabarGym.asm index f890a07b..5703bb1d 100755 --- a/scripts/CinnabarGym.asm +++ b/scripts/CinnabarGym.asm @@ -10,21 +10,23 @@ CinnabarGymScript_75759: bit 6, [hl] res 6, [hl] push hl - call nz, CinnabarGymScript_75772 + call nz, .LoadNames pop hl bit 5, [hl] res 5, [hl] call nz, UpdateCinnabarGymGateTileBlocks ResetEvent EVENT_2A7 ret -CinnabarGymScript_75772: - ld hl, Gym7CityName - ld de, Gym7LeaderName + +.LoadNames: + ld hl, .CityName + ld de, .LeaderName jp LoadGymLeaderAndCityName -Gym7CityName: +.CityName: db "CINNABAR ISLAND@" -Gym7LeaderName: + +.LeaderName: db "BLAINE@" CinnabarGymScript_75792: diff --git a/scripts/FuchsiaGym.asm b/scripts/FuchsiaGym.asm index cfbe87e9..6f4f28fc 100755 --- a/scripts/FuchsiaGym.asm +++ b/scripts/FuchsiaGym.asm @@ -1,5 +1,5 @@ FuchsiaGym_Script: - call FuchsiaGymScript_75453 + call .LoadNames call EnableAutoTextBoxDrawing ld hl, FuchsiaGymTrainerHeader0 ld de, FuchsiaGym_ScriptPointers @@ -8,19 +8,20 @@ FuchsiaGym_Script: ld [wFuchsiaGymCurScript], a ret -FuchsiaGymScript_75453: +.LoadNames: ld hl, wCurrentMapScriptFlags bit 6, [hl] res 6, [hl] ret z - ld hl, Gym5CityName - ld de, Gym5LeaderName + ld hl, .CityName + ld de, .LeaderName call LoadGymLeaderAndCityName ret -Gym5CityName: +.CityName: db "FUCHSIA CITY@" -Gym5LeaderName: + +.LeaderName: db "KOGA@" FuchsiaGymScript_75477: diff --git a/scripts/PewterGym.asm b/scripts/PewterGym.asm index fd9e9063..a1fda3b9 100755 --- a/scripts/PewterGym.asm +++ b/scripts/PewterGym.asm @@ -2,7 +2,7 @@ PewterGym_Script: ld hl, wCurrentMapScriptFlags bit 6, [hl] res 6, [hl] - call nz, PewterGymScript_5c3a4 + call nz, .LoadNames call EnableAutoTextBoxDrawing ld hl, PewterGymTrainerHeader0 ld de, PewterGym_ScriptPointers @@ -11,15 +11,15 @@ PewterGym_Script: ld [wPewterGymCurScript], a ret -PewterGymScript_5c3a4: - ld hl, Gym1CityName - ld de, Gym1LeaderName +.LoadNames: + ld hl, .CityName + ld de, .LeaderName jp LoadGymLeaderAndCityName -Gym1CityName: +.CityName: db "PEWTER CITY@" -Gym1LeaderName: +.LeaderName: db "BROCK@" PewterGymScript_5c3bf: diff --git a/scripts/SaffronGym.asm b/scripts/SaffronGym.asm index c10fec45..f90bba65 100755 --- a/scripts/SaffronGym.asm +++ b/scripts/SaffronGym.asm @@ -2,7 +2,7 @@ SaffronGym_Script: ld hl, wCurrentMapScriptFlags bit 6, [hl] res 6, [hl] - call nz, .extra + call nz, .LoadNames call EnableAutoTextBoxDrawing ld hl, SaffronGymTrainerHeader0 ld de, SaffronGym_ScriptPointers @@ -11,15 +11,15 @@ SaffronGym_Script: ld [wSaffronGymCurScript], a ret -.extra - ld hl, Gym6CityName - ld de, Gym6LeaderName +.LoadNames: + ld hl, .CityName + ld de, .LeaderName jp LoadGymLeaderAndCityName -Gym6CityName: +.CityName: db "SAFFRON CITY@" -Gym6LeaderName: +.LeaderName: db "SABRINA@" SaffronGymText_5d048: diff --git a/scripts/VermilionGym.asm b/scripts/VermilionGym.asm index 25d47b6b..7343f37f 100755 --- a/scripts/VermilionGym.asm +++ b/scripts/VermilionGym.asm @@ -3,7 +3,7 @@ VermilionGym_Script: bit 5, [hl] res 5, [hl] push hl - call nz, VermilionGymLoadName + call nz, .LoadNames pop hl bit 6, [hl] res 6, [hl] @@ -16,15 +16,15 @@ VermilionGym_Script: ld [wVermilionGymCurScript], a ret -VermilionGymLoadName: - ld hl, Gym3CityName - ld de, Gym3LeaderName +.LoadNames: + ld hl, .CityName + ld de, .LeaderName jp LoadGymLeaderAndCityName -Gym3CityName: +.CityName: db "VERMILION CITY@" -Gym3LeaderName: +.LeaderName: db "LT.SURGE@" VermilionGymSetDoorTile: diff --git a/scripts/ViridianGym.asm b/scripts/ViridianGym.asm index 4a5dd6b7..68da9301 100755 --- a/scripts/ViridianGym.asm +++ b/scripts/ViridianGym.asm @@ -1,6 +1,6 @@ ViridianGym_Script: - ld hl, Gym8CityName - ld de, Gym8LeaderName + ld hl, .CityName + ld de, .LeaderName call LoadGymLeaderAndCityName call EnableAutoTextBoxDrawing ld hl, ViridianGymTrainerHeader0 @@ -10,9 +10,10 @@ ViridianGym_Script: ld [wViridianGymCurScript], a ret -Gym8CityName: +.CityName: db "VIRIDIAN CITY@" -Gym8LeaderName: + +.LeaderName: db "GIOVANNI@" ViridianGymScript_748d6: -- cgit v1.2.3 From 7619b01dd7bf838c0be396cab8a18158b216afd0 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sat, 18 Jul 2020 14:19:08 -0400 Subject: Reformat key item bit fields --- data/items/key_items.asm | 113 ++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 102 insertions(+), 11 deletions(-) diff --git a/data/items/key_items.asm b/data/items/key_items.asm index afa586af..aca8cf81 100755 --- a/data/items/key_items.asm +++ b/data/items/key_items.asm @@ -1,12 +1,103 @@ +key_item_bits: MACRO +_bit = 0 +_byte = 0 +REPT _NARG +_byte = _byte | ((\1) << _bit) +_bit = _bit + 1 +IF _bit == 8 + db _byte +_byte = 0 +_bit = 0 +ENDC +SHIFT +ENDR +IF _bit > 0 + db _byte +ENDC +ENDM + KeyItemBitfield: - db %11110000 - db %00000001 - db %11110000 - db %01001111 - db %00000000 - db %10011111 - db %00000000 - db %11000000 - db %11110000 - db %00111011 - db %00000000 + key_item_bits \ + FALSE, \ ; MASTER_BALL + FALSE, \ ; ULTRA_BALL + FALSE, \ ; GREAT_BALL + FALSE, \ ; POKE_BALL + TRUE, \ ; TOWN_MAP + TRUE, \ ; BICYCLE + TRUE, \ ; SURFBOARD + TRUE, \ ; SAFARI_BALL + TRUE, \ ; POKEDEX + FALSE, \ ; MOON_STONE + FALSE, \ ; ANTIDOTE + FALSE, \ ; BURN_HEAL + FALSE, \ ; ICE_HEAL + FALSE, \ ; AWAKENING + FALSE, \ ; PARLYZ_HEAL + FALSE, \ ; FULL_RESTORE + FALSE, \ ; MAX_POTION + FALSE, \ ; HYPER_POTION + FALSE, \ ; SUPER_POTION + FALSE, \ ; POTION + TRUE, \ ; BOULDERBADGE + TRUE, \ ; CASCADEBADGE + TRUE, \ ; THUNDERBADGE + TRUE, \ ; RAINBOWBADGE + TRUE, \ ; SOULBADGE + TRUE, \ ; MARSHBADGE + TRUE, \ ; VOLCANOBADGE + TRUE, \ ; EARTHBADGE + FALSE, \ ; ESCAPE_ROPE + FALSE, \ ; REPEL + TRUE, \ ; OLD_AMBER + FALSE, \ ; FIRE_STONE + FALSE, \ ; THUNDER_STONE + FALSE, \ ; WATER_STONE + FALSE, \ ; HP_UP + FALSE, \ ; PROTEIN + FALSE, \ ; IRON + FALSE, \ ; CARBOS + FALSE, \ ; CALCIUM + FALSE, \ ; RARE_CANDY + TRUE, \ ; DOME_FOSSIL + TRUE, \ ; HELIX_FOSSIL + TRUE, \ ; SECRET_KEY + TRUE, \ ; UNUSED_ITEM + TRUE, \ ; BIKE_VOUCHER + FALSE, \ ; X_ACCURACY + FALSE, \ ; LEAF_STONE + TRUE, \ ; CARD_KEY + FALSE, \ ; NUGGET + FALSE, \ ; PP_UP_2 + FALSE, \ ; POKE_DOLL + FALSE, \ ; FULL_HEAL + FALSE, \ ; REVIVE + FALSE, \ ; MAX_REVIVE + FALSE, \ ; GUARD_SPEC + FALSE, \ ; SUPER_REPEL + FALSE, \ ; MAX_REPEL + FALSE, \ ; DIRE_HIT + FALSE, \ ; COIN + FALSE, \ ; FRESH_WATER + FALSE, \ ; SODA_POP + FALSE, \ ; LEMONADE + TRUE, \ ; S_S_TICKET + TRUE, \ ; GOLD_TEETH + FALSE, \ ; X_ATTACK + FALSE, \ ; X_DEFEND + FALSE, \ ; X_SPEED + FALSE, \ ; X_SPECIAL + TRUE, \ ; COIN_CASE + TRUE, \ ; OAKS_PARCEL + TRUE, \ ; ITEMFINDER + TRUE, \ ; SILPH_SCOPE + TRUE, \ ; POKE_FLUTE + TRUE, \ ; LIFT_KEY + FALSE, \ ; EXP_ALL + TRUE, \ ; OLD_ROD + TRUE, \ ; GOOD_ROD + TRUE, \ ; SUPER_ROD + FALSE, \ ; PP_UP + FALSE, \ ; ETHER + FALSE, \ ; MAX_ETHER + FALSE, \ ; ELIXER + FALSE ; MAX_ELIXER -- cgit v1.2.3 From df62b8e81a4b0964d5f21dcc37916f996b5bd241 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 19 Jul 2020 16:45:39 -0400 Subject: =?UTF-8?q?Missingno's=20Pok=C3=A9dex=20weight=20is=20two=20bytes?= =?UTF-8?q?=20like=20the=20rest?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data/pokemon/dex_entries.asm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/pokemon/dex_entries.asm b/data/pokemon/dex_entries.asm index c8dc12a7..931793df 100755 --- a/data/pokemon/dex_entries.asm +++ b/data/pokemon/dex_entries.asm @@ -1255,5 +1255,5 @@ VictreebelDexEntry: MissingNoDexEntry: db "???@" db 10 ; 1.0 m - db 100 ; 10.0 kg - text "コメント さくせいちゅう@" ; コメント作成中 (Comment to be written) + dw 100 ; 10.0 kg + db "コメント さくせいちゅう@" ; コメント作成中 (Comment to be written) -- cgit v1.2.3 From 69788c536b70060c58136b07fb3a615b285de99c Mon Sep 17 00:00:00 2001 From: Rangi Date: Mon, 20 Jul 2020 12:23:31 -0400 Subject: Add comments associating constants with data, and identify some more data --- constants/battle_constants.asm | 8 +- constants/credits_constants.asm | 1 + constants/event_constants.asm | 2 + constants/gfx_constants.asm | 1 + constants/hide_show_constants.asm | 1 + constants/icon_constants.asm | 5 + constants/input_constants.asm | 1 + constants/item_constants.asm | 7 ++ constants/list_constants.asm | 1 + constants/map_constants.asm | 9 ++ constants/menu_constants.asm | 11 +- constants/move_animation_constants.asm | 4 + constants/move_constants.asm | 6 + constants/move_effect_constants.asm | 6 +- constants/music_constants.asm | 1 + constants/palette_constants.asm | 2 + constants/pokedex_constants.asm | 5 + constants/pokemon_constants.asm | 7 ++ constants/script_constants.asm | 4 +- constants/sprite_constants.asm | 1 + constants/tileset_constants.asm | 2 + constants/trainer_constants.asm | 8 ++ constants/type_constants.asm | 1 + data/credits/credits_text.asm | 1 + data/events/trades.asm | 1 + data/icon_pointers.asm | 58 ++++----- data/maps/hide_show_data.asm | 2 +- data/moves/effects_pointers.asm | 1 + data/moves/field_move_names.asm | 10 ++ data/moves/field_moves.asm | 14 +++ data/sgb/sgb_palettes.asm | 1 + data/text_boxes.asm | 88 ++++++++++++++ data/yes_no_menu_strings.asm | 44 +++++++ engine/battle/animations.asm | 14 +-- engine/events/in_game_trades.asm | 1 + engine/gfx/mon_icons.asm | 8 +- engine/gfx/palettes.asm | 1 + engine/items/item_effects.asm | 23 ++-- engine/menus/main_menu.asm | 8 +- engine/menus/naming_screen.asm | 4 +- engine/menus/text_box.asm | 216 +-------------------------------- engine/movie/trade.asm | 18 +-- engine/overworld/emotion_bubbles.asm | 1 + home/list_menu.asm | 8 +- home/names2.asm | 1 + 45 files changed, 318 insertions(+), 299 deletions(-) create mode 100644 data/moves/field_move_names.asm create mode 100644 data/moves/field_moves.asm create mode 100644 data/text_boxes.asm create mode 100644 data/yes_no_menu_strings.asm diff --git a/constants/battle_constants.asm b/constants/battle_constants.asm index 4a113ca0..99d371b2 100644 --- a/constants/battle_constants.asm +++ b/constants/battle_constants.asm @@ -8,7 +8,7 @@ NUM_DVS EQU 2 ; D733 flags BIT_TEST_BATTLE EQU 0 -; battle type constants +; battle type constants (wBattleType values) const_def const BATTLE_TYPE_NORMAL ; 0 const BATTLE_TYPE_OLD_MAN ; 1 @@ -43,7 +43,7 @@ MAX_STAT_VALUE EQU 999 ATKDEFDV_TRAINER EQU $98 SPDSPCDV_TRAINER EQU $88 -; volatile statuses 1 +; wPlayerBattleStatus1 or wEnemyBattleStatus1 bit flags const_def const STORING_ENERGY ; 0 ; Bide const THRASHING_ABOUT ; 1 ; e.g. Thrash @@ -54,7 +54,7 @@ SPDSPCDV_TRAINER EQU $88 const INVULNERABLE ; 6 ; charging up Fly/Dig const CONFUSED ; 7 -; volatile statuses 2 +; wPlayerBattleStatus2 or wEnemyBattleStatus2 bit flags const_def const USING_X_ACCURACY ; 0 const PROTECTED_BY_MIST ; 1 @@ -65,7 +65,7 @@ SPDSPCDV_TRAINER EQU $88 const USING_RAGE ; 6 const SEEDED ; 7 -; volatile statuses 3 +; wPlayerBattleStatus3 or wEnemyBattleStatus3 bit flags const_def const BADLY_POISONED ; 0 const HAS_LIGHT_SCREEN_UP ; 1 diff --git a/constants/credits_constants.asm b/constants/credits_constants.asm index 8ad9114b..dcf782ef 100644 --- a/constants/credits_constants.asm +++ b/constants/credits_constants.asm @@ -1,3 +1,4 @@ +; CreditsTextPointers indexes (see data/credits/credits_text.asm) const_def const CRED_VERSION ; $00 const CRED_TAJIRI ; $01 diff --git a/constants/event_constants.asm b/constants/event_constants.asm index 29c2e537..4f169880 100755 --- a/constants/event_constants.asm +++ b/constants/event_constants.asm @@ -1,3 +1,5 @@ +; wEventFlags bit flags + ; Pallet Town events const_def const EVENT_FOLLOWED_OAK_INTO_LAB diff --git a/constants/gfx_constants.asm b/constants/gfx_constants.asm index d6d162c7..912e5835 100644 --- a/constants/gfx_constants.asm +++ b/constants/gfx_constants.asm @@ -31,6 +31,7 @@ REDRAW_COL EQU 1 REDRAW_ROW EQU 2 ; tile list ids +; TileIDListPointerTable indexes (see data/tilemaps.asm) const_def const TILEMAP_MON_PIC const TILEMAP_SLIDE_DOWN_MON_PIC_7X5 diff --git a/constants/hide_show_constants.asm b/constants/hide_show_constants.asm index 21c83644..82e80bae 100755 --- a/constants/hide_show_constants.asm +++ b/constants/hide_show_constants.asm @@ -1,6 +1,7 @@ HIDE EQU $11 SHOW EQU $15 +; MissableObjects indexes (see data/maps/hide_show_data.asm) ; this is a list of the sprites that can be enabled/disabled during the game ; sprites marked with an X are constants that are never used ; because those sprites are not (de)activated in a map's script diff --git a/constants/icon_constants.asm b/constants/icon_constants.asm index b96c516d..14202da3 100644 --- a/constants/icon_constants.asm +++ b/constants/icon_constants.asm @@ -1,4 +1,5 @@ ; party menu icons +; used in MonPartySpritePointers (see data/icon_pointers.asm) const_def const ICON_MON ; $0 const ICON_BALL ; $1 @@ -10,3 +11,7 @@ const ICON_GRASS ; $7 const ICON_SNAKE ; $8 const ICON_QUADRUPED ; $9 + +ICON_TRADEBUBBLE EQU $e + +ICONOFFSET EQU $40 ; difference between alternating icon frames' tile IDs diff --git a/constants/input_constants.asm b/constants/input_constants.asm index e5bc2a7b..7984d5a9 100644 --- a/constants/input_constants.asm +++ b/constants/input_constants.asm @@ -1,3 +1,4 @@ +; joypad buttons const_def const BIT_A_BUTTON const BIT_B_BUTTON diff --git a/constants/item_constants.asm b/constants/item_constants.asm index c34269a8..67416600 100755 --- a/constants/item_constants.asm +++ b/constants/item_constants.asm @@ -1,3 +1,10 @@ +; item ids +; indexes for: +; - ItemNames (see data/items/names.asm) +; - ItemPrices (see data/items/prices.asm) +; - TechnicalMachinePrices (see data/items/tm_prices.asm) +; - KeyItemBitfield (see data/items/key_items.asm) +; - ItemUsePtrTable (see engine/items/item_effects.asm) const_def const NO_ITEM ; $00 const MASTER_BALL ; $01 diff --git a/constants/list_constants.asm b/constants/list_constants.asm index 380df21c..840856df 100755 --- a/constants/list_constants.asm +++ b/constants/list_constants.asm @@ -6,6 +6,7 @@ const ITEMLISTMENU ; $03 ; Start menu Item menu / Pokemart sell menu const SPECIALLISTMENU ; $04 ; list of special "items" e.g. floor list in elevators / list of badges +; NamePointers indexes (see home/names2.asm) const_def 1 const MONSTER_NAME ; 1 const MOVE_NAME ; 2 diff --git a/constants/map_constants.asm b/constants/map_constants.asm index 6c7d8d48..b6ec77d5 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -4,6 +4,15 @@ mapconst: MACRO \1_WIDTH EQU \3 ENDM +; map ids +; indexes for: +; - MapHeaderBanks (see data/maps/map_header_banks.asm) +; - MapHeaderPointers (see data/maps/map_header_pointers.asm) +; - MapSongBanks (see data/maps/songs.asm) +; - MapHSPointers (see data/maps/hide_show_data.asm) +; - MapSpriteSets (see data/maps/sprite_sets.asm) +; - ExternalMapEntries (see data/maps/town_map_entries.asm) +; Each map also has associated data in maps.asm. const_def mapconst PALLET_TOWN, 9, 10 ; $00 mapconst VIRIDIAN_CITY, 18, 20 ; $01 diff --git a/constants/menu_constants.asm b/constants/menu_constants.asm index 3a601dc2..a53adfdc 100644 --- a/constants/menu_constants.asm +++ b/constants/menu_constants.asm @@ -5,11 +5,11 @@ PC_ITEM_CAPACITY EQU 50 const_def 1 const MESSAGE_BOX ; $01 const_skip ; $02 - const_skip ; $03 + const MENU_TEMPLATE_03 ; $03 unused const FIELD_MOVE_MON_MENU ; $04 const JP_MOCHIMONO_MENU_TEMPLATE ; $05 const USE_TOSS_MENU_TEMPLATE ; $06 - const_skip ; $07 + const MENU_TEMPLATE_07 ; $07 unused const JP_SAVE_MESSAGE_MENU_TEMPLATE ; $08 const JP_SPEED_OPTIONS_MENU_TEMPLATE ; $09 const_skip ; $0a @@ -18,7 +18,7 @@ PC_ITEM_CAPACITY EQU 50 const LIST_MENU_BOX ; $0d const BUY_SELL_QUIT_MENU_TEMPLATE ; $0e const MONEY_BOX_TEMPLATE ; $0f - const_skip ; $10 + const MENU_TEMPLATE_10 ; $10 unused const MON_SPRITE_POPUP ; $11 const JP_AH_MENU_TEMPLATE ; $12 const MONEY_BOX ; $13 @@ -32,6 +32,7 @@ PC_ITEM_CAPACITY EQU 50 const SAFARI_BATTLE_MENU_TEMPLATE ; $1b ; two option menu constants +; TwoOptionMenuStrings indexes (see data/yes_no_menu_strings.asm) const_def const YES_NO_MENU ; 0 const NORTH_WEST_MENU ; 1 @@ -58,7 +59,7 @@ CHOSE_SECOND_ITEM EQU 2 const PARTY_TO_DAYCARE ; 3 ; party menu types -; PartyMenuMessagePointers indexes +; PartyMenuMessagePointers indexes (see engine/menus/party_menu.asm) const_def const NORMAL_PARTY_MENU ; $00 const USE_ITEM_PARTY_MENU ; $01 @@ -67,7 +68,7 @@ CHOSE_SECOND_ITEM EQU 2 const SWAP_MONS_PARTY_MENU ; $04 const EVO_STONE_PARTY_MENU ; $05 ; party menu message IDs -; PartyMenuItemUseMessagePointers indexes +; PartyMenuItemUseMessagePointers indexes (see engine/menus/party_menu.asm) const_next $F0 FIRST_PARTY_MENU_TEXT_ID EQU const_value const ANTIDOTE_MSG ; $F0 diff --git a/constants/move_animation_constants.asm b/constants/move_animation_constants.asm index 6f3839d6..f7617544 100644 --- a/constants/move_animation_constants.asm +++ b/constants/move_animation_constants.asm @@ -1,4 +1,5 @@ ; special effects that are part of move animations +; SpecialEffectPointers associates them with effect routines (see data/battle_anims/special_effect_pointers.asm) const_def $C0 FIRST_SE_ID EQU const_value const_skip $18 @@ -43,6 +44,7 @@ FIRST_SE_ID EQU const_value const SE_DARK_SCREEN_FLASH ; $FE used in Cut/Take Down/etc. ; subanimations that are part of move animations +; SubanimationPointers indexes (see data/battle_anims/subanimations.asm) const_def const SUBANIM_00 const SUBANIM_01 @@ -141,6 +143,7 @@ FIRST_SE_ID EQU const_value const SUBANIMTYPE_ENEMY ; frame blocks that are part of subanimations +; FrameBlockPointers indexes (see data/battle_anims/frame_blocks.asm) const_def const FRAMEBLOCK_00 const FRAMEBLOCK_01 @@ -266,6 +269,7 @@ FIRST_SE_ID EQU const_value const FRAMEBLOCK_79 ; base coordinates that are part of subanimations +; FrameBlockBaseCoords indexes (see data/battle_anims/base_coords.asm) const_def const BASECOORD_00 const BASECOORD_01 diff --git a/constants/move_constants.asm b/constants/move_constants.asm index 5dd06a41..ecc28078 100644 --- a/constants/move_constants.asm +++ b/constants/move_constants.asm @@ -1,3 +1,9 @@ +; move ids +; indexes for: +; - Moves (see data/moves/moves.asm) +; - MoveNames (see data/moves/names.asm) +; - AttackAnimationPointers (see data/moves/animations.asm) +; - MoveSoundTable (see data/moves/sfx.asm) const_def const NO_MOVE ; 00 const POUND ; 01 diff --git a/constants/move_effect_constants.asm b/constants/move_effect_constants.asm index 8872ac3e..5b81300f 100644 --- a/constants/move_effect_constants.asm +++ b/constants/move_effect_constants.asm @@ -1,8 +1,8 @@ -; tentative move effect constants ; {stat}_(UP|DOWN)(1|2) means that the move raises the user's (or lowers the target's) corresponding stat modifier by 1 (or 2) stages -; {status condition}_side_effect means that the move has a side chance of causing that condition -; {status condition}_effect means that the move causes the status condition every time it hits the target +; {status condition}_SIDE_EFFECT means that the move has a side chance of causing that condition +; {status condition}_EFFECT means that the move causes the status condition every time it hits the target +; MoveEffectPointerTable indexes (see data/moves/effects_pointers.asm) const_def const NO_ADDITIONAL_EFFECT ; $00 const EFFECT_01 ; $01 unused diff --git a/constants/music_constants.asm b/constants/music_constants.asm index 3f3f111e..fcca9005 100644 --- a/constants/music_constants.asm +++ b/constants/music_constants.asm @@ -1,4 +1,5 @@ ; Song ids are calculated by address to save space. +; SFX_Headers_(1|2|3) indexes (see audio/headers/*.asm) music_const: MACRO \1 EQUS "((\2 - SFX_Headers_1) / 3)" diff --git a/constants/palette_constants.asm b/constants/palette_constants.asm index c0c397ee..fd5dd24b 100755 --- a/constants/palette_constants.asm +++ b/constants/palette_constants.asm @@ -6,6 +6,7 @@ const BLACK ; pal/blk packets +; SetPalFunctions indexes (see engine/gfx/palettes.asm) const_def const SET_PAL_BATTLE_BLACK ; $00 const SET_PAL_BATTLE ; $01 @@ -26,6 +27,7 @@ SET_PAL_PARTY_MENU_HP_BARS EQU $fc SET_PAL_DEFAULT EQU $ff ; sgb palettes +; SuperPalettes indexes (see data/sgb/sgb_palettes.asm) const_def const PAL_ROUTE ; $00 const PAL_PALLET ; $01 diff --git a/constants/pokedex_constants.asm b/constants/pokedex_constants.asm index e462586e..a805b261 100644 --- a/constants/pokedex_constants.asm +++ b/constants/pokedex_constants.asm @@ -1,3 +1,8 @@ +; pokedex ids +; indexes for: +; - BaseStats (see data/pokemon/base_stats.asm) +; - MonPartyData (see data/pokemon/menu_icons.asm) +; - MonsterPalettes (see data/pokemon/palettes.asm) const_def 1 const DEX_BULBASAUR ; 1 const DEX_IVYSAUR ; 2 diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm index 349e9359..5a91f0f8 100644 --- a/constants/pokemon_constants.asm +++ b/constants/pokemon_constants.asm @@ -1,3 +1,10 @@ +; pokemon ids +; indexes for: +; - MonsterNames (see data/pokemon/names.asm) +; - EvosMovesPointerTable (see data/pokemon/evos_moves.asm) +; - CryData (see data/pokemon/cries.asm) +; - PokedexOrder (see data/pokemon/dex_order.asm) +; - PokedexEntryPointers (see data/pokemon/dex_entries.asm) const_def const NO_MON ; $00 const RHYDON ; $01 diff --git a/constants/script_constants.asm b/constants/script_constants.asm index 018fb7f2..2b2a9b14 100644 --- a/constants/script_constants.asm +++ b/constants/script_constants.asm @@ -1,4 +1,4 @@ -; emotion bubbles +; EmotionBubblesPointerTable indexes (see engine/overworld/emotion_bubbles.asm) const_def const EXCLAMATION_BUBBLE ; 0 const QUESTION_BUBBLE ; 1 @@ -13,6 +13,7 @@ SLOTSBIRD EQU $1210 SLOTSMOUSE EQU $1614 ; in game trades +; TradeMons indexes (see data/events/trades.asm) const_def const TRADE_FOR_TERRY const TRADE_FOR_MARCEL @@ -26,6 +27,7 @@ SLOTSMOUSE EQU $1614 const TRADE_FOR_SPOT ; in game trade dialog sets +; InGameTradeTextPointers indexes (see engine/events/in_game_trades.asm) const_def const TRADE_DIALOGSET_CASUAL const TRADE_DIALOGSET_POLITE diff --git a/constants/sprite_constants.asm b/constants/sprite_constants.asm index dc8352de..a4354996 100755 --- a/constants/sprite_constants.asm +++ b/constants/sprite_constants.asm @@ -1,4 +1,5 @@ ; overworld sprites +; SpriteSheetPointerTable indexes (see data/sprites/sprites.asm) const_def const SPRITE_NONE ; $00 const SPRITE_RED ; $01 diff --git a/constants/tileset_constants.asm b/constants/tileset_constants.asm index 33d59fcb..95473081 100644 --- a/constants/tileset_constants.asm +++ b/constants/tileset_constants.asm @@ -1,3 +1,5 @@ +; tileset ids +; Tilesets indexes (see data/tilesets/tileset_headers.asm) const_def const OVERWORLD ; 0 const REDS_HOUSE_1 ; 1 diff --git a/constants/trainer_constants.asm b/constants/trainer_constants.asm index 8e29b715..6fdc5d4e 100755 --- a/constants/trainer_constants.asm +++ b/constants/trainer_constants.asm @@ -5,6 +5,14 @@ trainer_const: MACRO OPP_\1 EQU OPP_ID_OFFSET + \1 ENDM +; trainer class ids +; indexes for: +; - TrainerNames (see data/trainers/names.asm) +; - TrainerNamePointers (see data/trainers/name_pointers.asm) +; - TrainerDataPointers (see data/trainers/parties.asm) +; - TrainerPicAndMoneyPointers (see data/trainers/pic_pointers_money.asm) +; - TrainerAIPointers (see data/trainers/ai_pointers.asm) +; - TrainerClassMoveChoiceModifications (see data/trainers/move_choices.asm) const_def trainer_const NOBODY ; $00 trainer_const YOUNGSTER ; $01 diff --git a/constants/type_constants.asm b/constants/type_constants.asm index 11fb3321..6ae3408d 100755 --- a/constants/type_constants.asm +++ b/constants/type_constants.asm @@ -1,3 +1,4 @@ +; TypeNames indexes (see data/types/names.asm) const_def PHYSICAL EQU const_value diff --git a/data/credits/credits_text.asm b/data/credits/credits_text.asm index a68c33d3..ded7f5d6 100755 --- a/data/credits/credits_text.asm +++ b/data/credits/credits_text.asm @@ -1,4 +1,5 @@ CreditsTextPointers: +; entries correspond to CRED_* constants dw CredVersion dw CredTajiri dw CredTaOota diff --git a/data/events/trades.asm b/data/events/trades.asm index a92ad2fa..7018c22f 100755 --- a/data/events/trades.asm +++ b/data/events/trades.asm @@ -1,4 +1,5 @@ TradeMons: +; entries correspond to TRADE_FOR_* constants ; give mon, get mon, dialog id, nickname db NIDORINO, NIDORINA, TRADE_DIALOGSET_CASUAL, "TERRY@@@@@@" db ABRA, MR_MIME, TRADE_DIALOGSET_CASUAL, "MARCEL@@@@@" diff --git a/data/icon_pointers.asm b/data/icon_pointers.asm index 305dfcb1..79db936e 100644 --- a/data/icon_pointers.asm +++ b/data/icon_pointers.asm @@ -2,36 +2,36 @@ mon_icon_header: MACRO dw \1 tile \2 db \3 db BANK(\1) - dw vSprites tile \4 + dw vSprites tile (\4) ENDM MonPartySpritePointers: ; gfx pointer, gfx tile offset, # tiles, vSprites tile offset - mon_icon_header MonsterSprite, 12, 4, $00 - mon_icon_header PokeBallSprite, 0, 8, $04 - mon_icon_header FairySprite, 12, 4, $0c - mon_icon_header BirdSprite, 12, 4, $10 - mon_icon_header SeelSprite, 0, 4, $14 - mon_icon_header BugIconFrame2, 0, 1, $18 - mon_icon_header BugIconFrame2, 1, 1, $1a - mon_icon_header PlantIconFrame2, 0, 1, $1c - mon_icon_header PlantIconFrame2, 1, 1, $1e - mon_icon_header SnakeIconFrame1, 0, 1, $20 - mon_icon_header SnakeIconFrame1, 1, 1, $22 - mon_icon_header QuadrupedIconFrame1, 0, 1, $24 - mon_icon_header QuadrupedIconFrame1, 1, 1, $26 - mon_icon_header TradeBubbleIconGFX, 0, 4, $38 - mon_icon_header MonsterSprite, 0, 4, $40 - mon_icon_header PokeBallSprite, 0, 8, $44 - mon_icon_header FairySprite, 0, 4, $4c - mon_icon_header BirdSprite, 0, 4, $50 - mon_icon_header SeelSprite, 12, 4, $54 - mon_icon_header BugIconFrame1, 0, 1, $58 - mon_icon_header BugIconFrame1, 1, 1, $5a - mon_icon_header PlantIconFrame1, 0, 1, $5c - mon_icon_header PlantIconFrame1, 1, 1, $5e - mon_icon_header SnakeIconFrame2, 0, 1, $60 - mon_icon_header SnakeIconFrame2, 1, 1, $62 - mon_icon_header QuadrupedIconFrame2, 0, 1, $64 - mon_icon_header QuadrupedIconFrame2, 1, 1, $66 - mon_icon_header TradeBubbleIconGFX, 4, 4, $78 + mon_icon_header MonsterSprite, 12, 4, ICON_MON << 2 + mon_icon_header PokeBallSprite, 0, 8, ICON_BALL << 2 + mon_icon_header FairySprite, 12, 4, ICON_FAIRY << 2 + mon_icon_header BirdSprite, 12, 4, ICON_BIRD << 2 + mon_icon_header SeelSprite, 0, 4, ICON_WATER << 2 + mon_icon_header BugIconFrame2, 0, 1, ICON_BUG << 2 + mon_icon_header BugIconFrame2, 1, 1, ICON_BUG << 2 + 2 + mon_icon_header PlantIconFrame2, 0, 1, ICON_GRASS << 2 + mon_icon_header PlantIconFrame2, 1, 1, ICON_GRASS << 2 + 2 + mon_icon_header SnakeIconFrame1, 0, 1, ICON_SNAKE << 2 + mon_icon_header SnakeIconFrame1, 1, 1, ICON_SNAKE << 2 + 2 + mon_icon_header QuadrupedIconFrame1, 0, 1, ICON_QUADRUPED << 2 + mon_icon_header QuadrupedIconFrame1, 1, 1, ICON_QUADRUPED << 2 + 2 + mon_icon_header TradeBubbleIconGFX, 0, 4, ICON_TRADEBUBBLE << 2 + mon_icon_header MonsterSprite, 0, 4, ICONOFFSET + ICON_MON << 2 + mon_icon_header PokeBallSprite, 0, 8, ICONOFFSET + ICON_BALL << 2 + mon_icon_header FairySprite, 0, 4, ICONOFFSET + ICON_FAIRY << 2 + mon_icon_header BirdSprite, 0, 4, ICONOFFSET + ICON_BIRD << 2 + mon_icon_header SeelSprite, 12, 4, ICONOFFSET + ICON_WATER << 2 + mon_icon_header BugIconFrame1, 0, 1, ICONOFFSET + ICON_BUG << 2 + mon_icon_header BugIconFrame1, 1, 1, ICONOFFSET + ICON_BUG << 2 + 2 + mon_icon_header PlantIconFrame1, 0, 1, ICONOFFSET + ICON_GRASS << 2 + mon_icon_header PlantIconFrame1, 1, 1, ICONOFFSET + ICON_GRASS << 2 + 2 + mon_icon_header SnakeIconFrame2, 0, 1, ICONOFFSET + ICON_SNAKE << 2 + mon_icon_header SnakeIconFrame2, 1, 1, ICONOFFSET + ICON_SNAKE << 2 + 2 + mon_icon_header QuadrupedIconFrame2, 0, 1, ICONOFFSET + ICON_QUADRUPED << 2 + mon_icon_header QuadrupedIconFrame2, 1, 1, ICONOFFSET + ICON_QUADRUPED << 2 + 2 + mon_icon_header TradeBubbleIconGFX, 4, 4, ICONOFFSET + ICON_TRADEBUBBLE << 2 diff --git a/data/maps/hide_show_data.asm b/data/maps/hide_show_data.asm index f7276b8d..fa0599f4 100755 --- a/data/maps/hide_show_data.asm +++ b/data/maps/hide_show_data.asm @@ -256,7 +256,7 @@ NoHS: db $FF, $FF, $FF MissableObjects: -; entries correspond to HS_* constants +; entries correspond to HS_* constants (see constants/hide_show_constants) ; format: map id, object id, HIDE/SHOW PalletTownHS: diff --git a/data/moves/effects_pointers.asm b/data/moves/effects_pointers.asm index 9858e82e..a5e3d852 100644 --- a/data/moves/effects_pointers.asm +++ b/data/moves/effects_pointers.asm @@ -1,4 +1,5 @@ MoveEffectPointerTable: +; entries correspond to *_EFFECT constants dw SleepEffect ; EFFECT_01 dw PoisonEffect ; POISON_SIDE_EFFECT1 dw DrainHPEffect ; DRAIN_HP_EFFECT diff --git a/data/moves/field_move_names.asm b/data/moves/field_move_names.asm new file mode 100644 index 00000000..b68ed828 --- /dev/null +++ b/data/moves/field_move_names.asm @@ -0,0 +1,10 @@ +FieldMoveNames: + db "CUT@" + db "FLY@" + db "@" + db "SURF@" + db "STRENGTH@" + db "FLASH@" + db "DIG@" + db "TELEPORT@" + db "SOFTBOILED@" diff --git a/data/moves/field_moves.asm b/data/moves/field_moves.asm new file mode 100644 index 00000000..d7e9219b --- /dev/null +++ b/data/moves/field_moves.asm @@ -0,0 +1,14 @@ +FieldMoveDisplayData: + ; move id, FieldMoveNames index, leftmost tile + ; (leftmost tile = -1 + tile column in which the first + ; letter of the move's name should be displayed) + db CUT, 1, $0C + db FLY, 2, $0C + db ANIM_B4, 3, $0C ; unused + db SURF, 4, $0C + db STRENGTH, 5, $0A + db FLASH, 6, $0C + db DIG, 7, $0C + db TELEPORT, 8, $0A + db SOFTBOILED, 9, $08 + db -1 ; end diff --git a/data/sgb/sgb_palettes.asm b/data/sgb/sgb_palettes.asm index 056ac8b9..7029b4e8 100755 --- a/data/sgb/sgb_palettes.asm +++ b/data/sgb/sgb_palettes.asm @@ -1,4 +1,5 @@ SuperPalettes: +; entries correspond to PAL_* constants RGB 31,29,31, 21,28,11, 20,26,31, 03,02,02 ; PAL_ROUTE RGB 31,29,31, 25,28,27, 20,26,31, 03,02,02 ; PAL_PALLET RGB 31,29,31, 17,26,03, 20,26,31, 03,02,02 ; PAL_VIRIDIAN diff --git a/data/text_boxes.asm b/data/text_boxes.asm new file mode 100644 index 00000000..34e6a414 --- /dev/null +++ b/data/text_boxes.asm @@ -0,0 +1,88 @@ +TextBoxFunctionTable: + ; text box ID, function address + dbw MONEY_BOX, DisplayMoneyBox + dbw BUY_SELL_QUIT_MENU, DoBuySellQuitMenu + dbw FIELD_MOVE_MON_MENU, DisplayFieldMoveMonMenu + db -1 ; end + +TextBoxCoordTable: + ; text box ID, upper-left X, upper-left Y, lower-right X, lower-right Y + db MESSAGE_BOX, 0, 12, 19, 17 + db MENU_TEMPLATE_03, 0, 0, 19, 14 + db MENU_TEMPLATE_07, 0, 0, 11, 6 + db LIST_MENU_BOX, 4, 2, 19, 12 + db MENU_TEMPLATE_10, 7, 0, 19, 17 + db MON_SPRITE_POPUP, 6, 4, 14, 13 + db -1 ; end + +text_box_text: MACRO + db \1 ; text box ID + db \2, \3, \4, \5 ; text box coordinates + dw \6 ; text pointer + db \7, \8 ; text coordinates +ENDM + +TextBoxTextAndCoordTable: + ; text box ID, upper-left X, upper-left Y, lower-right X, lower-right Y, text pointer, text X, text Y + text_box_text JP_MOCHIMONO_MENU_TEMPLATE, 0, 0, 14, 17, JapaneseMochimonoText, 3, 0 + text_box_text USE_TOSS_MENU_TEMPLATE, 13, 10, 19, 14, UseTossText, 15, 11 + text_box_text JP_SAVE_MESSAGE_MENU_TEMPLATE, 0, 0, 7, 5, JapaneseSaveMessageText, 2, 2 + text_box_text JP_SPEED_OPTIONS_MENU_TEMPLATE, 0, 6, 5, 10, JapaneseSpeedOptionsText, 2, 7 + text_box_text BATTLE_MENU_TEMPLATE, 8, 12, 19, 17, BattleMenuText, 10, 14 + text_box_text SAFARI_BATTLE_MENU_TEMPLATE, 0, 12, 19, 17, SafariZoneBattleMenuText, 2, 14 + text_box_text SWITCH_STATS_CANCEL_MENU_TEMPLATE, 11, 11, 19, 17, SwitchStatsCancelText, 13, 12 + text_box_text BUY_SELL_QUIT_MENU_TEMPLATE, 0, 0, 10, 6, BuySellQuitText, 2, 1 + text_box_text MONEY_BOX_TEMPLATE, 11, 0, 19, 2, MoneyText, 13, 0 + text_box_text JP_AH_MENU_TEMPLATE, 7, 6, 11, 10, JapaneseAhText, 8, 8 + text_box_text JP_POKEDEX_MENU_TEMPLATE, 11, 8, 19, 17, JapanesePokedexMenu, 12, 10 + +BuySellQuitText: + db "BUY" + next "SELL" + next "QUIT@" + + db "@" ; unused + +UseTossText: + db "USE" + next "TOSS@" + +JapaneseSaveMessageText: + db "きろく" + next "メッセージ@" + +JapaneseSpeedOptionsText: + db "はやい" + next "おそい@" + +MoneyText: + db "MONEY@" + +JapaneseMochimonoText: + db "もちもの@" + +JapaneseMainMenuText: + db "つづきから" + next "さいしょから@" + +BattleMenuText: + db "FIGHT " + next "ITEM RUN@" + +SafariZoneBattleMenuText: + db "BALL× BAIT" + next "THROW ROCK RUN@" + +SwitchStatsCancelText: + db "SWITCH" + next "STATS" + next "CANCEL@" + +JapaneseAhText: + db "アッ!@" + +JapanesePokedexMenu: + db "データをみる" + next "なきごえ" + next "ぶんぷをみる" + next "キャンセル@" diff --git a/data/yes_no_menu_strings.asm b/data/yes_no_menu_strings.asm new file mode 100644 index 00000000..db2eeb4c --- /dev/null +++ b/data/yes_no_menu_strings.asm @@ -0,0 +1,44 @@ +two_option_menu: MACRO + db \1, \2, \3 + dw \4 +ENDM + +TwoOptionMenuStrings: +; entries correspond to *_MENU constants + ; width, height, blank line before first menu item?, text pointer + two_option_menu 4, 3, FALSE, .YesNoMenu + two_option_menu 6, 3, FALSE, .NorthWestMenu + two_option_menu 6, 3, FALSE, .SouthEastMenu + two_option_menu 6, 3, FALSE, .YesNoMenu + two_option_menu 6, 3, FALSE, .NorthEastMenu + two_option_menu 7, 3, FALSE, .TradeCancelMenu + two_option_menu 7, 4, TRUE, .HealCancelMenu + two_option_menu 4, 3, FALSE, .NoYesMenu + +.NoYesMenu: + db "NO" + next "YES@" + +.YesNoMenu: + db "YES" + next "NO@" + +.NorthWestMenu: + db "NORTH" + next "WEST@" + +.SouthEastMenu: + db "SOUTH" + next "EAST@" + +.NorthEastMenu: + db "NORTH" + next "EAST@" + +.TradeCancelMenu: + db "TRADE" + next "CANCEL@" + +.HealCancelMenu: + db "HEAL" + next "CANCEL@" diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index 85019fa1..e10b5e0d 100755 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -848,8 +848,8 @@ TradeShakePokeball: jp PlaySound BallMoveDistances1: - db -12,-12,-8 - db $ff ; terminator + db -12, -12, -8 + db -1 ; end ; function to make the pokeball jump up TradeJumpPokeball: @@ -889,8 +889,8 @@ TradeJumpPokeball: jr .loop BallMoveDistances2: - db 11,12,-12,-7,7,12,-8,8 - db $ff ; terminator + db 11, 12, -12, -7, 7, 12, -8, 8 + db -1 ; end ; this function copies the current musical note graphic ; so that there are two musical notes flying towards the defending pokemon @@ -1522,7 +1522,7 @@ SpiralBallAnimationCoordinates: db $58, $28 db $50, $30 db $50, $28 - db $FF ; list terminator + db -1 ; end AnimationSquishMonPic: ; Squishes the mon's sprite horizontally making it @@ -1677,13 +1677,13 @@ UpwardBallsAnimXCoordinatesPlayerTurn: ; List of x coordinates for each pillar of "energy" balls in the ; AnimationShootManyBallsUpward animation. It's unused in the game. db $10, $40, $28, $18, $38, $30 - db $FF ; list terminator + db -1 ; end UpwardBallsAnimXCoordinatesEnemyTurn: ; List of x coordinates for each pillar of "energy" balls in the ; AnimationShootManyBallsUpward animation. It's unused in the game. db $60, $90, $78, $68, $88, $80 - db $FF ; list terminator + db -1 ; end AnimationMinimizeMon: ; Changes the mon's sprite to a mini black sprite. Used by the diff --git a/engine/events/in_game_trades.asm b/engine/events/in_game_trades.asm index 8a29d6a4..c6951615 100755 --- a/engine/events/in_game_trades.asm +++ b/engine/events/in_game_trades.asm @@ -233,6 +233,7 @@ InGameTrade_TrainerString: db "@@@@@@@@@@" InGameTradeTextPointers: +; entries correspond to TRADE_DIALOGSET_* constants dw TradeTextPointers1 dw TradeTextPointers2 dw TradeTextPointers3 diff --git a/engine/gfx/mon_icons.asm b/engine/gfx/mon_icons.asm index 8dd6fe75..16409640 100755 --- a/engine/gfx/mon_icons.asm +++ b/engine/gfx/mon_icons.asm @@ -55,11 +55,11 @@ GetAnimationSpeed: ld bc, $10 ld a, [wCurrentMenuItem] call AddNTimes - ld c, $40 ; amount to increase the tile id by + ld c, ICONOFFSET ld a, [hl] - cp $4 ; tile ID for ICON_BALL + cp ICON_BALL << 2 jr z, .editCoords - cp $8 ; tile ID for ICON_HELIX + cp ICON_HELIX << 2 jr nz, .editTileIDS ; ICON_BALL and ICON_HELIX only shake up and down .editCoords @@ -274,7 +274,7 @@ GetPartyMonSpriteID: swap a ; use lower nybble if pokedex num is even .skipSwap and $f0 - srl a + srl a ; value == ICON constant << 2 srl a ret diff --git a/engine/gfx/palettes.asm b/engine/gfx/palettes.asm index 618e48b3..f2019e85 100755 --- a/engine/gfx/palettes.asm +++ b/engine/gfx/palettes.asm @@ -241,6 +241,7 @@ SetPal_TrainerCard: ret SetPalFunctions: +; entries correspond to SET_PAL_* constants dw SetPal_BattleBlack dw SetPal_Battle dw SetPal_TownMap diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm index a8ff1e06..05f8038f 100755 --- a/engine/items/item_effects.asm +++ b/engine/items/item_effects.asm @@ -16,6 +16,7 @@ UseItem_:: jp hl ItemUsePtrTable: +; entries correspond to item ids dw ItemUseBall ; MASTER_BALL dw ItemUseBall ; ULTRA_BALL dw ItemUseBall ; GREAT_BALL @@ -1808,23 +1809,17 @@ WakeUpEntireParty: jr nz, .loop ret -; Format: -; 00: Y -; 01: X Route12SnorlaxFluteCoords: - db 62,9 ; one space West of Snorlax - db 61,10 ; one space North of Snorlax - db 63,10 ; one space South of Snorlax - db 62,11 ; one space East of Snorlax - db $ff ; terminator + dbmapcoord 9, 62 ; one space West of Snorlax + dbmapcoord 10, 61 ; one space North of Snorlax + dbmapcoord 10, 63 ; one space South of Snorlax + dbmapcoord 11, 62 ; one space East of Snorlax + db -1 ; end -; Format: -; 00: Y -; 01: X Route16SnorlaxFluteCoords: - db 10,27 ; one space East of Snorlax - db 10,25 ; one space West of Snorlax - db $ff ; terminator + dbmapcoord 27, 10 ; one space East of Snorlax + dbmapcoord 25, 10 ; one space West of Snorlax + db -1 ; end PlayedFluteNoEffectText: text_far _PlayedFluteNoEffectText diff --git a/engine/menus/main_menu.asm b/engine/menus/main_menu.asm index 3ecd99b1..95404cce 100755 --- a/engine/menus/main_menu.asm +++ b/engine/menus/main_menu.asm @@ -678,11 +678,11 @@ SetCursorPositionsFromOptions: ; 00: X coordinate of menu cursor ; 01: delay after printing a letter (in frames) TextSpeedOptionData: - db 14,5 ; Slow - db 7,3 ; Medium - db 1,1 ; Fast + db 14, 5 ; Slow + db 7, 3 ; Medium + db 1, 1 ; Fast db 7 ; default X coordinate (Medium) - db $ff ; terminator + db -1 ; end CheckForPlayerNameInSRAM: ; Check if the player name data in SRAM has a string terminator character diff --git a/engine/menus/naming_screen.asm b/engine/menus/naming_screen.asm index 34c1aad3..9347212e 100755 --- a/engine/menus/naming_screen.asm +++ b/engine/menus/naming_screen.asm @@ -231,10 +231,10 @@ DisplayNamingScreen: ld [wNamingScreenLetter], a call CalcStringLength ld a, [wNamingScreenLetter] - cp $e5 + cp "゙" ld de, Dakutens jr z, .dakutensAndHandakutens - cp $e4 + cp "゚" ld de, Handakutens jr z, .dakutensAndHandakutens ld a, [wNamingScreenType] diff --git a/engine/menus/text_box.asm b/engine/menus/text_box.asm index 2e69c5a4..5253ec48 100644 --- a/engine/menus/text_box.asm +++ b/engine/menus/text_box.asm @@ -125,148 +125,7 @@ GetAddressOfScreenCoords: add hl, de ret -; Format: -; 00: text box ID -; 01-02: function address -TextBoxFunctionTable: - dbw MONEY_BOX, DisplayMoneyBox - dbw BUY_SELL_QUIT_MENU, DoBuySellQuitMenu - dbw FIELD_MOVE_MON_MENU, DisplayFieldMoveMonMenu - db $ff ; terminator - -; Format: -; 00: text box ID -; 01: column of upper left corner -; 02: row of upper left corner -; 03: column of lower right corner -; 04: row of lower right corner -TextBoxCoordTable: - db MESSAGE_BOX, 0, 12, 19, 17 - db $03, 0, 0, 19, 14 - db $07, 0, 0, 11, 6 - db LIST_MENU_BOX, 4, 2, 19, 12 - db $10, 7, 0, 19, 17 - db MON_SPRITE_POPUP, 6, 4, 14, 13 - db $ff ; terminator - -; Format: -; 00: text box ID -; 01: column of upper left corner -; 02: row of upper left corner -; 03: column of lower right corner -; 04: row of lower right corner -; 05-06: address of text -; 07: column of beginning of text -; 08: row of beginning of text -; table of window positions and corresponding text [key, start column, start row, end column, end row, text pointer [2 bytes], text column, text row] -TextBoxTextAndCoordTable: - db JP_MOCHIMONO_MENU_TEMPLATE - db 0,0,14,17 ; text box coordinates - dw JapaneseMochimonoText - db 3,0 ; text coordinates - - db USE_TOSS_MENU_TEMPLATE - db 13,10,19,14 ; text box coordinates - dw UseTossText - db 15,11 ; text coordinates - - db JP_SAVE_MESSAGE_MENU_TEMPLATE - db 0,0,7,5 ; text box coordinates - dw JapaneseSaveMessageText - db 2,2 ; text coordinates - - db JP_SPEED_OPTIONS_MENU_TEMPLATE - db 0,6,5,10 ; text box coordinates - dw JapaneseSpeedOptionsText - db 2,7 ; text coordinates - - db BATTLE_MENU_TEMPLATE - db 8,12,19,17 ; text box coordinates - dw BattleMenuText - db 10,14 ; text coordinates - - db SAFARI_BATTLE_MENU_TEMPLATE - db 0,12,19,17 ; text box coordinates - dw SafariZoneBattleMenuText - db 2,14 ; text coordinates - - db SWITCH_STATS_CANCEL_MENU_TEMPLATE - db 11,11,19,17 ; text box coordinates - dw SwitchStatsCancelText - db 13,12 ; text coordinates - - db BUY_SELL_QUIT_MENU_TEMPLATE - db 0,0,10,6 ; text box coordinates - dw BuySellQuitText - db 2,1 ; text coordinates - - db MONEY_BOX_TEMPLATE - db 11,0,19,2 ; text box coordinates - dw MoneyText - db 13,0 ; text coordinates - - db JP_AH_MENU_TEMPLATE - db 7,6,11,10 ; text box coordinates - dw JapaneseAhText - db 8,8 ; text coordinates - - db JP_POKEDEX_MENU_TEMPLATE - db 11,8,19,17 ; text box coordinates - dw JapanesePokedexMenu - db 12,10 ; text coordinates - -; note that there is no terminator - -BuySellQuitText: - db "BUY" - next "SELL" - next "QUIT@" - - db "@" ; unused - -UseTossText: - db "USE" - next "TOSS@" - -JapaneseSaveMessageText: - db "きろく" - next "メッセージ@" - -JapaneseSpeedOptionsText: - db "はやい" - next "おそい@" - -MoneyText: - db "MONEY@" - -JapaneseMochimonoText: - db "もちもの@" - -JapaneseMainMenuText: - db "つづきから" - next "さいしょから@" - -BattleMenuText: - db "FIGHT " - next "ITEM RUN@" - -SafariZoneBattleMenuText: - db "BALL× BAIT" - next "THROW ROCK RUN@" - -SwitchStatsCancelText: - db "SWITCH" - next "STATS" - next "CANCEL@" - -JapaneseAhText: - db "アッ!@" - -JapanesePokedexMenu: - db "データをみる" - next "なきごえ" - next "ぶんぷをみる" - next "キャンセル@" +INCLUDE "data/text_boxes.asm" DisplayMoneyBox: ld hl, wd730 @@ -518,50 +377,7 @@ TwoOptionMenu_RestoreScreenTiles: call UpdateSprites ret -; Format: -; 00: byte width -; 01: byte height -; 02: byte put blank line before first menu item -; 03: word text pointer -TwoOptionMenuStrings: - db 4,3,0 - dw .YesNoMenu - db 6,3,0 - dw .NorthWestMenu - db 6,3,0 - dw .SouthEastMenu - db 6,3,0 - dw .YesNoMenu - db 6,3,0 - dw .NorthEastMenu - db 7,3,0 - dw .TradeCancelMenu - db 7,4,1 - dw .HealCancelMenu - db 4,3,0 - dw .NoYesMenu - -.NoYesMenu - db "NO" - next "YES@" -.YesNoMenu - db "YES" - next "NO@" -.NorthWestMenu - db "NORTH" - next "WEST@" -.SouthEastMenu - db "SOUTH" - next "EAST@" -.NorthEastMenu - db "NORTH" - next "EAST@" -.TradeCancelMenu - db "TRADE" - next "CANCEL@" -.HealCancelMenu - db "HEAL" - next "CANCEL@" +INCLUDE "data/yes_no_menu_strings.asm" DisplayFieldMoveMonMenu: xor a @@ -683,16 +499,7 @@ DisplayFieldMoveMonMenu: ld de, PokemonMenuEntries jp PlaceString -FieldMoveNames: - db "CUT@" - db "FLY@" - db "@" - db "SURF@" - db "STRENGTH@" - db "FLASH@" - db "DIG@" - db "TELEPORT@" - db "SOFTBOILED@" +INCLUDE "data/moves/field_move_names.asm" PokemonMenuEntries: db "STATS" @@ -751,19 +558,4 @@ GetMonFieldMoves: pop hl ret -; Format: [Move id], [name index], [leftmost tile] -; Move id = id of move -; Name index = index of name in FieldMoveNames -; Leftmost tile = -1 + tile column in which the first letter of the move's name should be displayed -; "SOFTBOILED" is $08 because it has 4 more letters than "SURF", for example, whose value is $0C -FieldMoveDisplayData: - db CUT, $01, $0C - db FLY, $02, $0C - db $B4, $03, $0C ; unused field move - db SURF, $04, $0C - db STRENGTH, $05, $0A - db FLASH, $06, $0C - db DIG, $07, $0C - db TELEPORT, $08, $0A - db SOFTBOILED, $09, $08 - db $ff ; list terminator +INCLUDE "data/moves/field_moves.asm" diff --git a/engine/movie/trade.asm b/engine/movie/trade.asm index fa84e01d..bb06f231 100755 --- a/engine/movie/trade.asm +++ b/engine/movie/trade.asm @@ -604,7 +604,7 @@ Trade_AnimCircledMon: ld c, $14 .loop ld a, [hl] - xor $40 + xor ICONOFFSET ld [hl], a add hl, de dec c @@ -710,20 +710,20 @@ Trade_CircleOAMPointers: trade_circle_oam Trade_CircleOAM3, $18, $18 Trade_CircleOAM0: - dbsprite 2, 7, 0, 0, $39, OAM_OBP1 - dbsprite 2, 7, 0, 2, $3b, OAM_OBP1 + dbsprite 2, 7, 0, 0, ICON_TRADEBUBBLE << 2 + 1, OAM_OBP1 + dbsprite 2, 7, 0, 2, ICON_TRADEBUBBLE << 2 + 3, OAM_OBP1 Trade_CircleOAM1: - dbsprite 6, 7, 0, 1, $38, OAM_OBP1 | OAM_HFLIP - dbsprite 6, 7, 0, 3, $3a, OAM_OBP1 | OAM_HFLIP + dbsprite 6, 7, 0, 1, ICON_TRADEBUBBLE << 2 + 0, OAM_OBP1 | OAM_HFLIP + dbsprite 6, 7, 0, 3, ICON_TRADEBUBBLE << 2 + 2, OAM_OBP1 | OAM_HFLIP Trade_CircleOAM2: - dbsprite 10, 7, 0, 2, $3b, OAM_OBP1 | OAM_VFLIP - dbsprite 10, 7, 0, 0, $39, OAM_OBP1 | OAM_VFLIP + dbsprite 10, 7, 0, 2, ICON_TRADEBUBBLE << 2 + 3, OAM_OBP1 | OAM_VFLIP + dbsprite 10, 7, 0, 0, ICON_TRADEBUBBLE << 2 + 1, OAM_OBP1 | OAM_VFLIP Trade_CircleOAM3: - dbsprite 14, 7, 0, 3, $3a, OAM_OBP1 | OAM_HFLIP | OAM_VFLIP - dbsprite 14, 7, 0, 1, $38, OAM_OBP1 | OAM_HFLIP | OAM_VFLIP + dbsprite 14, 7, 0, 3, ICON_TRADEBUBBLE << 2 + 2, OAM_OBP1 | OAM_HFLIP | OAM_VFLIP + dbsprite 14, 7, 0, 1, ICON_TRADEBUBBLE << 2 + 0, OAM_OBP1 | OAM_HFLIP | OAM_VFLIP ; a = species Trade_LoadMonSprite: diff --git a/engine/overworld/emotion_bubbles.asm b/engine/overworld/emotion_bubbles.asm index 0315687d..5a41c226 100755 --- a/engine/overworld/emotion_bubbles.asm +++ b/engine/overworld/emotion_bubbles.asm @@ -62,6 +62,7 @@ EmotionBubble: jp UpdateSprites EmotionBubblesPointerTable: +; entries correspond to *_BUBBLE constants dw ShockEmote dw QuestionEmote dw HappyEmote diff --git a/home/list_menu.asm b/home/list_menu.asm index f8ddeeef..c856e91d 100644 --- a/home/list_menu.asm +++ b/home/list_menu.asm @@ -34,7 +34,7 @@ DisplayListMenuID:: hlcoord 4, 2 ; coordinates of upper left corner of menu text box lb de, 9, 14 ; height and width of menu text box ld a, [wListMenuID] - and a ; is it a PC pokemon list? + and a ; PCPOKEMONLISTMENU? jr nz, .skipMovingSprites call UpdateSprites .skipMovingSprites @@ -126,7 +126,7 @@ DisplayListMenuIDLoop:: ld a, [hl] ld [wcf91], a ld a, [wListMenuID] - and a ; is it a PC pokemon list? + and a ; PCPOKEMONLISTMENU? jr z, .pokemonList push hl call GetItemPrice @@ -374,7 +374,7 @@ PrintListMenuEntries:: push hl push de ld a, [wListMenuID] - and a + and a ; PCPOKEMONLISTMENU? jr z, .pokemonPCMenu cp MOVESLISTMENU jr z, .movesMenu @@ -422,7 +422,7 @@ PrintListMenuEntries:: call PrintBCDNumber .skipPrintingItemPrice ld a, [wListMenuID] - and a + and a ; PCPOKEMONLISTMENU? jr nz, .skipPrintingPokemonLevel .printPokemonLevel ld a, [wd11e] diff --git a/home/names2.asm b/home/names2.asm index 8f539c31..71f6c646 100644 --- a/home/names2.asm +++ b/home/names2.asm @@ -1,4 +1,5 @@ NamePointers:: +; entries correspond to *_NAME constants dw MonsterNames dw MoveNames dw UnusedNames -- cgit v1.2.3 From 204bf74a7f7330e4993138629dffc6304ce1f183 Mon Sep 17 00:00:00 2001 From: Rangi Date: Tue, 21 Jul 2020 19:46:12 -0400 Subject: Use LOAD/ENDL for OAM DMA code in HRAM (requires rgbds 0.4.1) --- .travis.yml | 2 +- INSTALL.md | 10 +++++----- engine/gfx/oam_dma.asm | 4 +++- hram.asm | 2 -- layout.link | 1 + 5 files changed, 10 insertions(+), 9 deletions(-) diff --git a/.travis.yml b/.travis.yml index f3dd29a9..03d6eab0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ os: install: - |- ( cd - git clone -b v0.4.0 --depth=1 https://github.com/rednex/rgbds + git clone -b v0.4.1 --depth=1 https://github.com/rednex/rgbds sudo make -C rgbds install rm -rf rgbds ) diff --git a/INSTALL.md b/INSTALL.md index 48b0fa7c..860fbfa0 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -38,7 +38,7 @@ Double click on the text that says "**Skip**" next to each package to select the Then download [**rgbds**](https://github.com/rednex/rgbds/releases/): the latest **win64.zip** or **win32.zip** release. Extract it and put all the `exe` and `dll` files individually in **C:\cygwin64\usr\local\bin**. -**Note: If you already have an older rgbds, you will need to update to 0.4.0.** Ignore this if you have never installed rgbds before. If a version newer than 0.4.0 does not work, try downloading 0.4.0. +**Note: If you already have an older rgbds, you will need to update to 0.4.1.** Ignore this if you have never installed rgbds before. If a version newer than 0.4.1 does not work, try downloading 0.4.1. Now open the **Cygwin terminal** and enter the following commands. @@ -86,7 +86,7 @@ To install **rgbds**: ```bash sudo apt-get install pkg-config flex bison libpng-dev -git clone -b v0.4.0 --depth=1 https://github.com/rednex/rgbds +git clone -b v0.4.1 --depth=1 https://github.com/rednex/rgbds sudo make -C rgbds install ``` @@ -102,7 +102,7 @@ To install **rgbds**: ```bash sudo zypper install pkg-config flex bison libpng16-devel -git clone -b v0.4.0 --depth=1 https://github.com/rednex/rgbds +git clone -b v0.4.1 --depth=1 https://github.com/rednex/rgbds sudo make -C rgbds install ``` @@ -120,7 +120,7 @@ Alternatively, to install **rgbds** manually: ```bash sudo pacman -S pkg-config flex bison libpng -git clone -b v0.4.0 --depth=1 https://github.com/rednex/rgbds +git clone -b v0.4.1 --depth=1 https://github.com/rednex/rgbds sudo make -C rgbds install ``` @@ -157,7 +157,7 @@ If `rgbds` is not available, you'll also need these: To install **rgbds**: ```bash -git clone -b v0.4.0 --depth=1 https://github.com/rednex/rgbds +git clone -b v0.4.1 --depth=1 https://github.com/rednex/rgbds sudo make -C rgbds install ``` diff --git a/engine/gfx/oam_dma.asm b/engine/gfx/oam_dma.asm index 84bb4b5c..fe93e90d 100644 --- a/engine/gfx/oam_dma.asm +++ b/engine/gfx/oam_dma.asm @@ -13,14 +13,16 @@ WriteDMACodeToHRAM:: ret DMARoutine: +LOAD "OAM DMA", HRAM +hDMARoutine:: ; initiate DMA ld a, HIGH(wOAMBuffer) ldh [rDMA], a - ; wait for DMA to finish ld a, $28 .wait dec a jr nz, .wait ret +ENDL DMARoutineEnd: diff --git a/hram.asm b/hram.asm index 59bf7780..d6282018 100644 --- a/hram.asm +++ b/hram.asm @@ -1,7 +1,5 @@ SECTION "HRAM", HRAM -hDMARoutine:: ds 10 - ; Initialized to 16. ; Decremented each input iteration if the player ; presses the reset sequence (A+B+SEL+START). diff --git a/layout.link b/layout.link index 5ea3558f..87ab7e0e 100644 --- a/layout.link +++ b/layout.link @@ -195,4 +195,5 @@ SRAM $2 SRAM $3 "Saved Boxes 2" HRAM + "OAM DMA" "HRAM" -- cgit v1.2.3 From e7969293d3be7a9e903d1c96871595a3b8e65a50 Mon Sep 17 00:00:00 2001 From: Rangi Date: Wed, 22 Jul 2020 09:17:27 -0400 Subject: tools/unnamed.py supports rgbds 0.4.1 object files --- tools/unnamed.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/unnamed.py b/tools/unnamed.py index 2e783fd7..8235bdb8 100755 --- a/tools/unnamed.py +++ b/tools/unnamed.py @@ -81,7 +81,7 @@ for objfile in objects: elif magic == b'RGB9': obj_ver = 10 + unpack_file(" Date: Mon, 27 Jul 2020 08:32:37 -0400 Subject: rgbdscheck requires 0.4.1 --- rgbdscheck.asm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rgbdscheck.asm b/rgbdscheck.asm index eee866ec..73a10332 100644 --- a/rgbdscheck.asm +++ b/rgbdscheck.asm @@ -1,7 +1,7 @@ -; pokered requires rgbds 0.4.0 or newer. +; pokered requires rgbds 0.4.1 or newer. MAJOR EQU 0 MINOR EQU 4 -PATCH EQU 0 +PATCH EQU 1 IF !DEF(__RGBDS_MAJOR__) || !DEF(__RGBDS_MINOR__) || !DEF(__RGBDS_PATCH__) fail "pokered requires rgbds {MAJOR}.{MINOR}.{PATCH} or newer." -- cgit v1.2.3 From 2b54583c8be4aa28f4c6a70c65baeb2e3c84fdfc Mon Sep 17 00:00:00 2001 From: Rangi Date: Tue, 28 Jul 2020 21:30:52 -0400 Subject: 'make tidy' shouldn't trigger 'make -C tools' --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index bef635ae..9ddb4fa5 100644 --- a/Makefile +++ b/Makefile @@ -83,7 +83,7 @@ endef # Build tools when building the rom. # This has to happen before the rules are processed, since that's when scan_includes is run. -ifeq (,$(filter clean tools,$(MAKECMDGOALS))) +ifeq (,$(filter clean tidy tools,$(MAKECMDGOALS))) $(info $(shell $(MAKE) -C tools)) -- cgit v1.2.3 From b48bbbb047afc05a1215c2b119957e7b6bb91447 Mon Sep 17 00:00:00 2001 From: Akihiro Otomo <37920078+Akatsuki-py@users.noreply.github.com> Date: Sun, 2 Aug 2020 13:31:10 +0900 Subject: fix OAMFLAG_VFLIPPED (#283) Replace incorrect label OAMFLAG_VFLIPPED with OAM_HFLIP --- constants/oam_constants.asm | 2 -- data/sprites/facings.asm | 8 ++++---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/constants/oam_constants.asm b/constants/oam_constants.asm index f0f06025..be63dc24 100755 --- a/constants/oam_constants.asm +++ b/constants/oam_constants.asm @@ -1,8 +1,6 @@ ; OAM flags used by this game OAMFLAG_ENDOFDATA EQU %00000001 ; pseudo OAM flag, only used by game logic OAMFLAG_CANBEMASKED EQU %00000010 ; pseudo OAM flag, only used by game logic -OAMFLAG_VFLIPPED EQU %00100000 ; OAM flag flips the sprite vertically. -; Used for making left facing sprites face right and to alternate between left and right foot animation when walking up or down ; OAM attribute flags OAM_PALETTE EQU %111 diff --git a/data/sprites/facings.asm b/data/sprites/facings.asm index d76ddbcc..eb583d53 100644 --- a/data/sprites/facings.asm +++ b/data/sprites/facings.asm @@ -53,7 +53,7 @@ SpriteFacingAndAnimationTable: .FlippedOAM: ; y, x, attributes - db 0, 8, OAMFLAG_VFLIPPED ; top left - db 0, 0, OAMFLAG_VFLIPPED ; top right - db 8, 8, OAMFLAG_VFLIPPED | OAMFLAG_CANBEMASKED ; bottom left - db 8, 0, OAMFLAG_VFLIPPED | OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA ; bottom right + db 0, 8, OAM_HFLIP ; top left + db 0, 0, OAM_HFLIP ; top right + db 8, 8, OAM_HFLIP | OAMFLAG_CANBEMASKED ; bottom left + db 8, 0, OAM_HFLIP | OAMFLAG_CANBEMASKED | OAMFLAG_ENDOFDATA ; bottom right -- cgit v1.2.3 From 33ea73496a8145a95c5a35386bc3b8f581e0e72b Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 2 Aug 2020 01:10:24 -0400 Subject: Fix encounter rate comments --- data/wild/maps/SeaRoutes.asm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/wild/maps/SeaRoutes.asm b/data/wild/maps/SeaRoutes.asm index d3232627..72ea781d 100755 --- a/data/wild/maps/SeaRoutes.asm +++ b/data/wild/maps/SeaRoutes.asm @@ -1,7 +1,7 @@ WaterMons: - db 0 ; water encounter rate + db 0 ; grass encounter rate - db 5 ; grass encounter rate + db 5 ; water encounter rate db 5, TENTACOOL db 10, TENTACOOL db 15, TENTACOOL -- cgit v1.2.3 From 71316591fcb47db378bf79fab299e35d95d7d745 Mon Sep 17 00:00:00 2001 From: Rangi Date: Tue, 11 Aug 2020 14:14:36 -0400 Subject: 'make clean' reuses 'make tidy' commands --- Makefile | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 9ddb4fa5..7a8f8ac3 100644 --- a/Makefile +++ b/Makefile @@ -44,10 +44,8 @@ red: pokered.gbc blue: pokeblue.gbc blue_debug: pokeblue_debug.gbc -clean: - rm -f $(roms) $(pokered_obj) $(pokeblue_obj) $(pokeblue_debug_obj) $(roms:.gbc=.map) $(roms:.gbc=.sym) rgbdscheck.o +clean: tidy find gfx \( -iname '*.1bpp' -o -iname '*.2bpp' -o -iname '*.pic' \) -delete - $(MAKE) clean -C tools/ tidy: rm -f $(roms) $(pokered_obj) $(pokeblue_obj) $(pokeblue_debug_obj) $(roms:.gbc=.map) $(roms:.gbc=.sym) rgbdscheck.o -- cgit v1.2.3 From 5060befd2b3aa455f530bda6562aa9ea574d80c7 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 16 Aug 2020 14:01:59 -0400 Subject: Fix comment about SONY --- wram.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/wram.asm b/wram.asm index 792df611..c6eb750e 100755 --- a/wram.asm +++ b/wram.asm @@ -2944,7 +2944,7 @@ wd732:: ; bit 0: play time being counted ; bit 1: remnant of debug mode; only set by the debug build. ; if it is set: -; 1. skips most of Prof. Oak's speech, and uses NINTEN as the player's name and RIVAL as the rival's name +; 1. skips most of Prof. Oak's speech, and uses NINTEN as the player's name and SONY as the rival's name ; 2. does not have the player start in floor two of the player's house (instead sending them to [wLastMap]) ; 3. allows wild battles to be avoided by holding down B ; furthermore, in the debug build: -- cgit v1.2.3 From 2ff8f75b40a628d5eec9e65e6317388263df14de Mon Sep 17 00:00:00 2001 From: Rangi Date: Mon, 17 Aug 2020 13:01:45 -0400 Subject: ld bc -> lb bc --- home/yes_no.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/home/yes_no.asm b/home/yes_no.asm index aae27f86..5b0e09ed 100644 --- a/home/yes_no.asm +++ b/home/yes_no.asm @@ -15,7 +15,7 @@ InitYesNoTextBoxParameters:: xor a ; YES_NO_MENU ld [wTwoOptionMenuID], a hlcoord 14, 7 - ld bc, $80f + lb bc, 8, 15 ret YesNoChoicePokeCenter:: -- cgit v1.2.3 From 3b003960d413090cb1f68da61399e186ea5716bd Mon Sep 17 00:00:00 2001 From: Rangi Date: Mon, 17 Aug 2020 13:40:20 -0400 Subject: Fix Town Map coordinates to be in (X, Y) order as comments claim --- data/maps/town_map_entries.asm | 194 ++++++++++++++++++++--------------------- 1 file changed, 97 insertions(+), 97 deletions(-) diff --git a/data/maps/town_map_entries.asm b/data/maps/town_map_entries.asm index 1aba1cfe..9b0cde26 100755 --- a/data/maps/town_map_entries.asm +++ b/data/maps/town_map_entries.asm @@ -1,117 +1,117 @@ external_map: MACRO - dn \1, \2 + dn \2, \1 dw \3 ENDM ; the appearance of towns and routes in the town map ExternalMapEntries: ; x, y, name - external_map 11, 2, PalletTownName - external_map 8, 2, ViridianCityName - external_map 3, 2, PewterCityName - external_map 2, 10, CeruleanCityName - external_map 5, 14, LavenderTownName - external_map 9, 10, VermilionCityName - external_map 5, 7, CeladonCityName - external_map 13, 8, FuchsiaCityName - external_map 15, 2, CinnabarIslandName - external_map 2, 0, IndigoPlateauName - external_map 5, 10, SaffronCityName + external_map 2, 11, PalletTownName + external_map 2, 8, ViridianCityName + external_map 2, 3, PewterCityName + external_map 10, 2, CeruleanCityName + external_map 14, 5, LavenderTownName + external_map 10, 9, VermilionCityName + external_map 7, 5, CeladonCityName + external_map 8, 13, FuchsiaCityName + external_map 2, 15, CinnabarIslandName + external_map 0, 2, IndigoPlateauName + external_map 10, 5, SaffronCityName external_map 0, 0, PalletTownName ; unused - external_map 10, 2, Route1Name - external_map 6, 2, Route2Name - external_map 3, 4, Route3Name - external_map 2, 8, Route4Name - external_map 3, 10, Route5Name - external_map 8, 10, Route6Name - external_map 5, 8, Route7Name - external_map 5, 13, Route8Name - external_map 2, 13, Route9Name - external_map 4, 14, Route10Name - external_map 9, 12, Route11Name - external_map 9, 14, Route12Name - external_map 11, 13, Route13Name - external_map 12, 11, Route14Name - external_map 13, 10, Route15Name + external_map 2, 10, Route1Name + external_map 2, 6, Route2Name + external_map 4, 3, Route3Name + external_map 8, 2, Route4Name + external_map 10, 3, Route5Name + external_map 10, 8, Route6Name + external_map 8, 5, Route7Name + external_map 13, 5, Route8Name + external_map 13, 2, Route9Name + external_map 14, 4, Route10Name + external_map 12, 9, Route11Name + external_map 14, 9, Route12Name + external_map 13, 11, Route13Name + external_map 11, 12, Route14Name + external_map 10, 13, Route15Name external_map 5, 5, Route16Name - external_map 8, 4, Route17Name - external_map 13, 6, Route18Name - external_map 15, 6, Route19Name - external_map 15, 4, Route20Name - external_map 13, 2, Route21Name - external_map 8, 0, Route22Name - external_map 6, 0, Route23Name - external_map 1, 10, Route24Name - external_map 0, 11, Route25Name + external_map 4, 8, Route17Name + external_map 6, 13, Route18Name + external_map 6, 15, Route19Name + external_map 4, 15, Route20Name + external_map 2, 13, Route21Name + external_map 0, 8, Route22Name + external_map 0, 6, Route23Name + external_map 10, 1, Route24Name + external_map 11, 0, Route25Name internal_map: MACRO db \1 + 1 - dn \2, \3 + dn \3, \2 dw \4 ENDM ; the appearance of buildings and dungeons in the town map InternalMapEntries: ; maximum map id subject to this rule, x, y, name - internal_map OAKS_LAB, 11, 2, PalletTownName - internal_map VIRIDIAN_GYM, 8, 2, ViridianCityName - internal_map VIRIDIAN_FOREST_SOUTH_GATE, 6, 2, Route2Name - internal_map VIRIDIAN_FOREST, 4, 2, ViridianForestName - internal_map PEWTER_POKECENTER, 3, 2, PewterCityName - internal_map MT_MOON_B2F, 2, 6, MountMoonName - internal_map CERULEAN_MART, 2, 10, CeruleanCityName - internal_map MT_MOON_POKECENTER, 2, 5, Route4Name - internal_map CERULEAN_TRASHED_HOUSE_COPY, 2, 10, CeruleanCityName - internal_map DAYCARE, 4, 10, Route5Name - internal_map UNDERGROUND_PATH_ROUTE_6_COPY, 6, 10, Route6Name - internal_map UNDERGROUND_PATH_ROUTE_7_COPY, 5, 9, Route7Name - internal_map UNDERGROUND_PATH_ROUTE_8, 5, 11, Route8Name - internal_map ROCK_TUNNEL_1F, 3, 14, RockTunnelName - internal_map POWER_PLANT, 4, 15, PowerPlantName - internal_map ROUTE_11_GATE_2F, 9, 13, Route11Name - internal_map ROUTE_12_GATE_1F, 7, 14, Route12Name - internal_map BILLS_HOUSE, 0, 12, SeaCottageName - internal_map VERMILION_DOCK, 9, 10, VermilionCityName - internal_map SS_ANNE_B1F_ROOMS, 10, 9, SSAnneName - internal_map VICTORY_ROAD_1F, 4, 0, VictoryRoadName - internal_map HALL_OF_FAME, 2, 0, PokemonLeagueName - internal_map UNDERGROUND_PATH_NORTH_SOUTH, 5, 10, UndergroundPathName - internal_map CHAMPIONS_ROOM, 2, 0, PokemonLeagueName - internal_map UNDERGROUND_PATH_WEST_EAST, 5, 10, UndergroundPathName - internal_map CELADON_HOTEL, 5, 7, CeladonCityName - internal_map LAVENDER_POKECENTER, 5, 14, LavenderTownName - internal_map POKEMON_TOWER_7F, 5, 15, PokemonTowerName - internal_map LAVENDER_CUBONE_HOUSE, 5, 14, LavenderTownName - internal_map WARDENS_HOUSE, 13, 8, FuchsiaCityName - internal_map SAFARI_ZONE_GATE, 12, 8, SafariZoneName - internal_map FUCHSIA_MEETING_ROOM, 13, 8, FuchsiaCityName - internal_map SEAFOAM_ISLANDS_B4F, 15, 5, SeafoamIslandsName - internal_map VERMILION_OLD_ROD_HOUSE, 9, 10, VermilionCityName - internal_map FUCHSIA_GOOD_ROD_HOUSE, 13, 8, FuchsiaCityName - internal_map POKEMON_MANSION_1F, 15, 2, PokemonMansionName - internal_map CINNABAR_MART_COPY, 15, 2, CinnabarIslandName - internal_map INDIGO_PLATEAU_LOBBY, 2, 0, IndigoPlateauName - internal_map MR_PSYCHICS_HOUSE, 5, 10, SaffronCityName - internal_map ROUTE_15_GATE_2F, 13, 9, Route15Name - internal_map ROUTE_16_FLY_HOUSE, 5, 4, Route16Name - internal_map ROUTE_12_SUPER_ROD_HOUSE, 10, 14, Route12Name - internal_map ROUTE_18_GATE_2F, 13, 7, Route18Name - internal_map SEAFOAM_ISLANDS_1F, 15, 5, SeafoamIslandsName - internal_map ROUTE_22_GATE, 7, 0, Route22Name - internal_map VICTORY_ROAD_2F, 4, 0, VictoryRoadName - internal_map ROUTE_12_GATE_2F, 7, 14, Route12Name - internal_map VERMILION_TRADE_HOUSE, 9, 10, VermilionCityName - internal_map DIGLETTS_CAVE, 4, 3, DiglettsCaveName - internal_map VICTORY_ROAD_3F, 4, 0, VictoryRoadName - internal_map UNUSED_MAP_CE, 5, 7, RocketHQName - internal_map SILPH_CO_8F, 5, 10, SilphCoName - internal_map POKEMON_MANSION_B1F, 15, 2, PokemonMansionName - internal_map SAFARI_ZONE_NORTH_REST_HOUSE, 12, 8, SafariZoneName - internal_map CERULEAN_CAVE_1F, 1, 9, CeruleanCaveName - internal_map NAME_RATERS_HOUSE, 5, 14, LavenderTownName - internal_map CERULEAN_BADGE_HOUSE, 2, 10, CeruleanCityName - internal_map ROCK_TUNNEL_B1F, 3, 14, RockTunnelName - internal_map SILPH_CO_ELEVATOR, 5, 10, SilphCoName - internal_map AGATHAS_ROOM, 2, 0, PokemonLeagueName + internal_map OAKS_LAB, 2, 11, PalletTownName + internal_map VIRIDIAN_GYM, 2, 8, ViridianCityName + internal_map VIRIDIAN_FOREST_SOUTH_GATE, 2, 6, Route2Name + internal_map VIRIDIAN_FOREST, 2, 4, ViridianForestName + internal_map PEWTER_POKECENTER, 2, 3, PewterCityName + internal_map MT_MOON_B2F, 6, 2, MountMoonName + internal_map CERULEAN_MART, 10, 2, CeruleanCityName + internal_map MT_MOON_POKECENTER, 5, 2, Route4Name + internal_map CERULEAN_TRASHED_HOUSE_COPY, 10, 2, CeruleanCityName + internal_map DAYCARE, 10, 4, Route5Name + internal_map UNDERGROUND_PATH_ROUTE_6_COPY, 10, 6, Route6Name + internal_map UNDERGROUND_PATH_ROUTE_7_COPY, 9, 5, Route7Name + internal_map UNDERGROUND_PATH_ROUTE_8, 11, 5, Route8Name + internal_map ROCK_TUNNEL_1F, 14, 3, RockTunnelName + internal_map POWER_PLANT, 15, 4, PowerPlantName + internal_map ROUTE_11_GATE_2F, 13, 9, Route11Name + internal_map ROUTE_12_GATE_1F, 14, 7, Route12Name + internal_map BILLS_HOUSE, 12, 0, SeaCottageName + internal_map VERMILION_DOCK, 10, 9, VermilionCityName + internal_map SS_ANNE_B1F_ROOMS, 9, 10, SSAnneName + internal_map VICTORY_ROAD_1F, 0, 4, VictoryRoadName + internal_map HALL_OF_FAME, 0, 2, PokemonLeagueName + internal_map UNDERGROUND_PATH_NORTH_SOUTH, 10, 5, UndergroundPathName + internal_map CHAMPIONS_ROOM, 0, 2, PokemonLeagueName + internal_map UNDERGROUND_PATH_WEST_EAST, 10, 5, UndergroundPathName + internal_map CELADON_HOTEL, 7, 5, CeladonCityName + internal_map LAVENDER_POKECENTER, 14, 5, LavenderTownName + internal_map POKEMON_TOWER_7F, 15, 5, PokemonTowerName + internal_map LAVENDER_CUBONE_HOUSE, 14, 5, LavenderTownName + internal_map WARDENS_HOUSE, 8, 13, FuchsiaCityName + internal_map SAFARI_ZONE_GATE, 8, 12, SafariZoneName + internal_map FUCHSIA_MEETING_ROOM, 8, 13, FuchsiaCityName + internal_map SEAFOAM_ISLANDS_B4F, 5, 15, SeafoamIslandsName + internal_map VERMILION_OLD_ROD_HOUSE, 10, 9, VermilionCityName + internal_map FUCHSIA_GOOD_ROD_HOUSE, 8, 13, FuchsiaCityName + internal_map POKEMON_MANSION_1F, 2, 15, PokemonMansionName + internal_map CINNABAR_MART_COPY, 2, 15, CinnabarIslandName + internal_map INDIGO_PLATEAU_LOBBY, 0, 2, IndigoPlateauName + internal_map MR_PSYCHICS_HOUSE, 10, 5, SaffronCityName + internal_map ROUTE_15_GATE_2F, 9, 13, Route15Name + internal_map ROUTE_16_FLY_HOUSE, 4, 5, Route16Name + internal_map ROUTE_12_SUPER_ROD_HOUSE, 14, 10, Route12Name + internal_map ROUTE_18_GATE_2F, 7, 13, Route18Name + internal_map SEAFOAM_ISLANDS_1F, 5, 15, SeafoamIslandsName + internal_map ROUTE_22_GATE, 0, 7, Route22Name + internal_map VICTORY_ROAD_2F, 0, 4, VictoryRoadName + internal_map ROUTE_12_GATE_2F, 14, 7, Route12Name + internal_map VERMILION_TRADE_HOUSE, 10, 9, VermilionCityName + internal_map DIGLETTS_CAVE, 3, 4, DiglettsCaveName + internal_map VICTORY_ROAD_3F, 0, 4, VictoryRoadName + internal_map UNUSED_MAP_CE, 7, 5, RocketHQName + internal_map SILPH_CO_8F, 10, 5, SilphCoName + internal_map POKEMON_MANSION_B1F, 2, 15, PokemonMansionName + internal_map SAFARI_ZONE_NORTH_REST_HOUSE, 8, 12, SafariZoneName + internal_map CERULEAN_CAVE_1F, 9, 1, CeruleanCaveName + internal_map NAME_RATERS_HOUSE, 14, 5, LavenderTownName + internal_map CERULEAN_BADGE_HOUSE, 10, 2, CeruleanCityName + internal_map ROCK_TUNNEL_B1F, 14, 3, RockTunnelName + internal_map SILPH_CO_ELEVATOR, 10, 5, SilphCoName + internal_map AGATHAS_ROOM, 0, 2, PokemonLeagueName db -1 ; end -- cgit v1.2.3 From f82097b8949c490cd09355dc6d8fee5598498bd4 Mon Sep 17 00:00:00 2001 From: Rangi Date: Mon, 17 Aug 2020 14:22:27 -0400 Subject: Identify some map object related constants --- constants/map_object_constants.asm | 13 +++--- constants/script_constants.asm | 5 +++ data/events/hidden_objects.asm | 12 +++--- engine/overworld/movement.asm | 82 +++++++++++++++++++------------------- engine/slots/game_corner_slots.asm | 6 +-- 5 files changed, 63 insertions(+), 55 deletions(-) diff --git a/constants/map_object_constants.asm b/constants/map_object_constants.asm index 459fae4a..9993a6a9 100644 --- a/constants/map_object_constants.asm +++ b/constants/map_object_constants.asm @@ -45,10 +45,13 @@ TRAINER EQU $40 WALK EQU $FE STAY EQU $FF -DOWN EQU $D0 -UP EQU $D1 -LEFT EQU $D2 -RIGHT EQU $D3 -NONE EQU $FF +ANY_DIR EQU $00 +UP_DOWN EQU $01 +LEFT_RIGHT EQU $02 +DOWN EQU $D0 +UP EQU $D1 +LEFT EQU $D2 +RIGHT EQU $D3 +NONE EQU $FF BOULDER_MOVEMENT_BYTE_2 EQU $10 diff --git a/constants/script_constants.asm b/constants/script_constants.asm index 2b2a9b14..b651a76d 100644 --- a/constants/script_constants.asm +++ b/constants/script_constants.asm @@ -12,6 +12,11 @@ SLOTSFISH EQU $0E0C SLOTSBIRD EQU $1210 SLOTSMOUSE EQU $1614 +; StartSlotMachine dialogs +SLOTS_OUTOFORDER EQU $fd +SLOTS_OUTTOLUNCH EQU $fe +SLOTS_SOMEONESKEYS EQU $ff + ; in game trades ; TradeMons indexes (see data/events/trades.asm) const_def diff --git a/data/events/hidden_objects.asm b/data/events/hidden_objects.asm index ed30f81b..80528cb4 100755 --- a/data/events/hidden_objects.asm +++ b/data/events/hidden_objects.asm @@ -316,10 +316,10 @@ GameCornerHiddenObjects: hidden_object 18, 13, $d0, StartSlotMachine hidden_object 18, 12, $d0, StartSlotMachine hidden_object 18, 11, $d0, StartSlotMachine - hidden_object 18, 10, $ff, StartSlotMachine ; "Someone's Keys" + hidden_object 18, 10, SLOTS_SOMEONESKEYS, StartSlotMachine hidden_object 13, 10, $d0, StartSlotMachine hidden_object 13, 11, $d0, StartSlotMachine - hidden_object 13, 12, $fe, StartSlotMachine ; "Out To Lunch" + hidden_object 13, 12, SLOTS_OUTTOLUNCH, StartSlotMachine hidden_object 13, 13, $d0, StartSlotMachine hidden_object 13, 14, $d0, StartSlotMachine hidden_object 13, 15, $d0, StartSlotMachine @@ -338,7 +338,7 @@ GameCornerHiddenObjects: hidden_object 6, 15, $d0, StartSlotMachine hidden_object 6, 14, $d0, StartSlotMachine hidden_object 6, 13, $d0, StartSlotMachine - hidden_object 6, 12, $fd, StartSlotMachine ; "Out Of Order" + hidden_object 6, 12, SLOTS_OUTOFORDER, StartSlotMachine hidden_object 6, 11, $d0, StartSlotMachine hidden_object 6, 10, $d0, StartSlotMachine hidden_object 1, 10, $d0, StartSlotMachine @@ -416,8 +416,8 @@ MtMoon3HiddenObjects: db -1 ; end IndigoPlateauHiddenObjects: - hidden_object 8, 13, $ff, PrintIndigoPlateauHQText - hidden_object 11, 13, SPRITE_FACING_DOWN, PrintIndigoPlateauHQText + hidden_object 8, 13, $ff, PrintIndigoPlateauHQText ; inaccessible + hidden_object 11, 13, SPRITE_FACING_DOWN, PrintIndigoPlateauHQText ; inaccessible db -1 ; end Route25HiddenObjects: @@ -471,7 +471,7 @@ Route13HiddenObjects: db -1 ; end SafariZoneEntranceHiddenObjects: - hidden_object 10, 1, NUGGET, HiddenItems + hidden_object 10, 1, NUGGET, HiddenItems ; inaccessible db -1 ; end SafariZoneWestHiddenObjects: diff --git a/engine/overworld/movement.asm b/engine/overworld/movement.asm index 61bcf02f..2fb8c384 100644 --- a/engine/overworld/movement.asm +++ b/engine/overworld/movement.asm @@ -93,9 +93,9 @@ UpdatePlayerSprite: ld c, a ld a, [wGrassTile] cp c - ld a, $0 + ld a, 0 jr nz, .next2 - ld a, $80 + ld a, OAM_BEHIND_BG .next2 ld [wSpritePlayerStateData2GrassPriority], a ret @@ -150,15 +150,15 @@ UpdateNPCSprite: and a ret nz ; don't do anything yet if player is currently moving (redundant, already tested in CheckSpriteAvailability) call InitializeSpriteScreenPosition - ld h, $c2 + ld h, HIGH(wSpriteStateData2) ldh a, [hCurrentSpriteOffset] add $6 ld l, a ld a, [hl] ; x#SPRITESTATEDATA2_MOVEMENTBYTE1 inc a - jr z, .randomMovement ; value $FF + jr z, .randomMovement ; value STAY inc a - jr z, .randomMovement ; value $FE + jr z, .randomMovement ; value WALK ; scripted movement dec a ld [hl], a ; increment movement byte 1 (movement data index) @@ -184,7 +184,7 @@ UpdateNPCSprite: .next cp WALK jr nz, .determineDirection -; current NPC movement data is $fe. this seems buggy +; current NPC movement data is WALK ($fe). this seems buggy ld [hl], $1 ; set movement byte 1 to $1 ld de, wNPCMovementDirections call LoadDEPlusA ; a = [wNPCMovementDirections + $fe] (?) @@ -195,20 +195,20 @@ UpdateNPCSprite: .determineDirection ld b, a ld a, [wCurSpriteMovement2] - cp $d0 - jr z, .moveDown ; movement byte 2 = $d0 forces down - cp $d1 - jr z, .moveUp ; movement byte 2 = $d1 forces up - cp $d2 - jr z, .moveLeft ; movement byte 2 = $d2 forces left - cp $d3 - jr z, .moveRight ; movement byte 2 = $d3 forces right + cp DOWN + jr z, .moveDown + cp UP + jr z, .moveUp + cp LEFT + jr z, .moveLeft + cp RIGHT + jr z, .moveRight ld a, b - cp $40 ; a < $40: down (or left) + cp NPC_MOVEMENT_UP ; NPC_MOVEMENT_DOWN <= a < NPC_MOVEMENT_UP: down (or left) jr nc, .notDown ld a, [wCurSpriteMovement2] - cp $2 - jr z, .moveLeft ; movement byte 2 = $2 only allows left or right + cp LEFT_RIGHT + jr z, .moveLeft .moveDown ld de, 2*SCREEN_WIDTH add hl, de ; move tile pointer two rows down @@ -216,11 +216,11 @@ UpdateNPCSprite: lb bc, 4, SPRITE_FACING_DOWN jr TryWalking .notDown - cp $80 ; $40 <= a < $80: up (or right) + cp NPC_MOVEMENT_LEFT ; NPC_MOVEMENT_UP <= a < NPC_MOVEMENT_LEFT: up (or right) jr nc, .notUp ld a, [wCurSpriteMovement2] - cp $2 - jr z, .moveRight ; movement byte 2 = $2 only allows left or right + cp LEFT_RIGHT + jr z, .moveRight .moveUp ld de, -2*SCREEN_WIDTH add hl, de ; move tile pointer two rows up @@ -228,21 +228,21 @@ UpdateNPCSprite: lb bc, 8, SPRITE_FACING_UP jr TryWalking .notUp - cp $c0 ; $80 <= a < $c0: left (or up) + cp NPC_MOVEMENT_RIGHT ; NPC_MOVEMENT_LEFT <= a < NPC_MOVEMENT_RIGHT: left (or up) jr nc, .notLeft ld a, [wCurSpriteMovement2] - cp $1 - jr z, .moveUp ; movement byte 2 = $1 only allows up or down + cp UP_DOWN + jr z, .moveUp .moveLeft dec hl dec hl ; move tile pointer two columns left lb de, 0, -1 lb bc, 2, SPRITE_FACING_LEFT jr TryWalking -.notLeft ; $c0 <= a: right (or down) +.notLeft ; NPC_MOVEMENT_RIGHT <= a: right (or down) ld a, [wCurSpriteMovement2] - cp $1 - jr z, .moveDown ; movement byte 2 = $1 only allows up or down + cp UP_DOWN + jr z, .moveDown .moveRight inc hl inc hl ; move tile pointer two columns right @@ -281,7 +281,7 @@ TryWalking: call CanWalkOntoTile pop de ret c ; cannot walk there (reinitialization of delay values already done) - ld h, $c2 + ld h, HIGH(wSpriteStateData2) ldh a, [hCurrentSpriteOffset] add $4 ld l, a @@ -341,8 +341,8 @@ UpdateSpriteInWalkingAnimation: add l ld l, a ld a, [hl] ; x#SPRITESTATEDATA2_MOVEMENTBYTE1 - cp $fe - jr nc, .initNextMovementCounter ; values $fe and $ff + cp WALK + jr nc, .initNextMovementCounter ; values WALK or STAY ldh a, [hCurrentSpriteOffset] inc a ld l, a @@ -383,8 +383,8 @@ UpdateSpriteMovementDelay: ld a, [hl] ; x#SPRITESTATEDATA2_MOVEMENTBYTE1 inc l inc l - cp $fe - jr nc, .tickMoveCounter ; values $fe or $ff + cp WALK + jr nc, .tickMoveCounter ; values WALK or STAY ld [hl], $0 jr .moving .tickMoveCounter @@ -485,8 +485,8 @@ CheckSpriteAvailability: add SPRITESTATEDATA2_MOVEMENTBYTE1 ld l, a ld a, [hl] ; x#SPRITESTATEDATA2_MOVEMENTBYTE1 - cp $fe - jr c, .skipXVisibilityTest ; movement byte 1 < $fe (i.e. the sprite's movement is scripted) + cp WALK + jr c, .skipXVisibilityTest ; movement byte 1 < WALK (i.e. the sprite's movement is scripted) ldh a, [hCurrentSpriteOffset] add SPRITESTATEDATA2_MAPY ld l, a @@ -495,7 +495,7 @@ CheckSpriteAvailability: cp b jr z, .skipYVisibilityTest jr nc, .spriteInvisible ; above screen region - add $8 ; screen is 9 tiles high + add SCREEN_HEIGHT / 2 - 1 cp b jr c, .spriteInvisible ; below screen region .skipYVisibilityTest @@ -505,7 +505,7 @@ CheckSpriteAvailability: cp b jr z, .skipXVisibilityTest jr nc, .spriteInvisible ; left of screen region - add $9 ; screen is 10 tiles wide + add SCREEN_WIDTH / 2 - 1 cp b jr c, .spriteInvisible ; right of screen region .skipXVisibilityTest @@ -519,7 +519,7 @@ CheckSpriteAvailability: ld a, [hld] cp d jr nc, .spriteInvisible ; standing on tile with ID >=MAP_TILESET_SIZE (bottom right tile) - ld bc, -20 + ld bc, -SCREEN_WIDTH add hl, bc ; go back one row of tiles ld a, [hli] cp d @@ -547,9 +547,9 @@ CheckSpriteAvailability: ld l, a ld a, [wGrassTile] cp c - ld a, $0 + ld a, 0 jr nz, .notInGrass - ld a, $80 + ld a, OAM_BEHIND_BG .notInGrass ld [hl], a ; x#SPRITESTATEDATA2_GRASSPRIORITY and a @@ -587,8 +587,8 @@ CanWalkOntoTile: add SPRITESTATEDATA2_MOVEMENTBYTE1 ld l, a ld a, [hl] ; x#SPRITESTATEDATA2_MOVEMENTBYTE1 - cp $fe - jr nc, .notScripted ; values $fe and $ff + cp WALK + jr nc, .notScripted ; values WALK or STAY ; always allow walking if the movement is scripted and a ret @@ -603,7 +603,7 @@ CanWalkOntoTile: jr z, .impassable cp c jr nz, .tilePassableLoop - ld h, $c2 + ld h, HIGH(wSpriteStateData2) ldh a, [hCurrentSpriteOffset] add $6 ld l, a diff --git a/engine/slots/game_corner_slots.asm b/engine/slots/game_corner_slots.asm index c233b0e6..48321974 100755 --- a/engine/slots/game_corner_slots.asm +++ b/engine/slots/game_corner_slots.asm @@ -1,10 +1,10 @@ StartSlotMachine: ld a, [wHiddenObjectFunctionArgument] - cp $fd + cp SLOTS_OUTOFORDER jr z, .printOutOfOrder - cp $fe + cp SLOTS_OUTTOLUNCH jr z, .printOutToLunch - cp $ff + cp SLOTS_SOMEONESKEYS jr z, .printSomeonesKeys farcall AbleToPlaySlotsCheck ld a, [wCanPlaySlots] -- cgit v1.2.3 From 2fe1505babaf02b995cc0d9c3a827b798935b19a Mon Sep 17 00:00:00 2001 From: Rangi Date: Mon, 17 Aug 2020 14:25:11 -0400 Subject: Use ANY_DIR, UP_DOWN, and LEFT_RIGHT for map objects --- data/maps/objects/BikeShop.asm | 2 +- data/maps/objects/BluesHouse.asm | 2 +- data/maps/objects/CeladonChiefHouse.asm | 2 +- data/maps/objects/CeladonCity.asm | 8 ++++---- data/maps/objects/CeladonDiner.asm | 2 +- data/maps/objects/CeladonHotel.asm | 2 +- data/maps/objects/CeladonMansion1F.asm | 4 ++-- data/maps/objects/CeladonMart2F.asm | 2 +- data/maps/objects/CeladonMart4F.asm | 4 ++-- data/maps/objects/CeladonMart5F.asm | 2 +- data/maps/objects/CeladonMartRoof.asm | 2 +- data/maps/objects/CeladonPokecenter.asm | 4 ++-- data/maps/objects/CeruleanCity.asm | 6 +++--- data/maps/objects/CeruleanMart.asm | 4 ++-- data/maps/objects/CeruleanPokecenter.asm | 2 +- data/maps/objects/CeruleanTrashedHouse.asm | 2 +- data/maps/objects/CinnabarIsland.asm | 2 +- data/maps/objects/CinnabarLabFossilRoom.asm | 2 +- data/maps/objects/CinnabarLabMetronomeRoom.asm | 2 +- data/maps/objects/CinnabarPokecenter.asm | 2 +- data/maps/objects/CopycatsHouse1F.asm | 2 +- data/maps/objects/CopycatsHouse2F.asm | 4 ++-- data/maps/objects/FuchsiaCity.asm | 12 ++++++------ data/maps/objects/FuchsiaMart.asm | 2 +- data/maps/objects/FuchsiaPokecenter.asm | 2 +- data/maps/objects/GameCornerPrizeRoom.asm | 2 +- data/maps/objects/LavenderPokecenter.asm | 2 +- data/maps/objects/LavenderTown.asm | 4 ++-- data/maps/objects/MtMoonPokecenter.asm | 2 +- data/maps/objects/Museum2F.asm | 2 +- data/maps/objects/OaksLab.asm | 2 +- data/maps/objects/PalletTown.asm | 4 ++-- data/maps/objects/PewterCity.asm | 2 +- data/maps/objects/PewterMart.asm | 2 +- data/maps/objects/PokemonMansion2F.asm | 2 +- data/maps/objects/PokemonMansion3F.asm | 2 +- data/maps/objects/RockTunnelPokecenter.asm | 2 +- data/maps/objects/Route1.asm | 4 ++-- data/maps/objects/Route11Gate2F.asm | 2 +- data/maps/objects/Route12Gate2F.asm | 2 +- data/maps/objects/Route16FlyHouse.asm | 2 +- data/maps/objects/Route16Gate2F.asm | 2 +- data/maps/objects/Route18Gate2F.asm | 2 +- data/maps/objects/Route2Gate.asm | 2 +- data/maps/objects/Route4.asm | 2 +- data/maps/objects/SSAnne1F.asm | 2 +- data/maps/objects/SSAnne1FRooms.asm | 4 ++-- data/maps/objects/SSAnne2F.asm | 2 +- data/maps/objects/SSAnne3F.asm | 2 +- data/maps/objects/SSAnneKitchen.asm | 6 +++--- data/maps/objects/SafariZoneCenterRestHouse.asm | 2 +- data/maps/objects/SafariZoneEastRestHouse.asm | 2 +- data/maps/objects/SafariZoneNorthRestHouse.asm | 4 ++-- data/maps/objects/SafariZoneWestRestHouse.asm | 2 +- data/maps/objects/SaffronCity.asm | 12 ++++++------ data/maps/objects/SaffronMart.asm | 2 +- data/maps/objects/SaffronPidgeyHouse.asm | 2 +- data/maps/objects/SilphCo10F.asm | 2 +- data/maps/objects/VermilionCity.asm | 6 +++--- data/maps/objects/VermilionMart.asm | 2 +- data/maps/objects/VermilionPidgeyHouse.asm | 2 +- data/maps/objects/ViridianCity.asm | 6 +++--- data/maps/objects/ViridianForestSouthGate.asm | 2 +- data/maps/objects/ViridianMart.asm | 2 +- data/maps/objects/ViridianNicknameHouse.asm | 4 ++-- data/maps/objects/ViridianPokecenter.asm | 2 +- 66 files changed, 98 insertions(+), 98 deletions(-) diff --git a/data/maps/objects/BikeShop.asm b/data/maps/objects/BikeShop.asm index cf321c2a..7f699ed6 100755 --- a/data/maps/objects/BikeShop.asm +++ b/data/maps/objects/BikeShop.asm @@ -9,7 +9,7 @@ BikeShop_Object: db 3 ; objects object SPRITE_BIKE_SHOP_CLERK, 6, 2, STAY, NONE, 1 ; person - object SPRITE_MIDDLE_AGED_WOMAN, 5, 6, WALK, 1, 2 ; person + object SPRITE_MIDDLE_AGED_WOMAN, 5, 6, WALK, UP_DOWN, 2 ; person object SPRITE_YOUNGSTER, 1, 3, STAY, UP, 3 ; person ; warp-to diff --git a/data/maps/objects/BluesHouse.asm b/data/maps/objects/BluesHouse.asm index 3dbdad84..76c80d60 100755 --- a/data/maps/objects/BluesHouse.asm +++ b/data/maps/objects/BluesHouse.asm @@ -9,7 +9,7 @@ BluesHouse_Object: db 3 ; objects object SPRITE_DAISY, 2, 3, STAY, RIGHT, 1 ; Daisy, sitting by map - object SPRITE_DAISY, 6, 4, WALK, 1, 2, 0 ; Daisy, walking around + object SPRITE_DAISY, 6, 4, WALK, UP_DOWN, 2, 0 ; Daisy, walking around object SPRITE_POKEDEX, 3, 3, STAY, NONE, 3, 0 ; map on table ; warp-to diff --git a/data/maps/objects/CeladonChiefHouse.asm b/data/maps/objects/CeladonChiefHouse.asm index 28206d10..acf484f1 100755 --- a/data/maps/objects/CeladonChiefHouse.asm +++ b/data/maps/objects/CeladonChiefHouse.asm @@ -9,7 +9,7 @@ CeladonChiefHouse_Object: db 3 ; objects object SPRITE_GRAMPS, 4, 2, STAY, DOWN, 1 ; person - object SPRITE_ROCKET, 1, 4, WALK, 0, 2 ; person + object SPRITE_ROCKET, 1, 4, WALK, ANY_DIR, 2 ; person object SPRITE_SAILOR, 5, 6, STAY, LEFT, 3 ; person ; warp-to diff --git a/data/maps/objects/CeladonCity.asm b/data/maps/objects/CeladonCity.asm index 446f6754..bf4cbc84 100755 --- a/data/maps/objects/CeladonCity.asm +++ b/data/maps/objects/CeladonCity.asm @@ -28,15 +28,15 @@ CeladonCity_Object: sign 27, 21, 18 ; CeladonCityText18 db 9 ; objects - object SPRITE_LITTLE_GIRL, 8, 17, WALK, 0, 1 ; person + object SPRITE_LITTLE_GIRL, 8, 17, WALK, ANY_DIR, 1 ; person object SPRITE_GRAMPS, 11, 28, STAY, UP, 2 ; person - object SPRITE_GIRL, 14, 19, WALK, 1, 3 ; person + object SPRITE_GIRL, 14, 19, WALK, UP_DOWN, 3 ; person object SPRITE_GRAMPS, 25, 22, STAY, DOWN, 4 ; person object SPRITE_GRAMPS, 22, 16, STAY, DOWN, 5 ; person object SPRITE_FISHER, 32, 12, STAY, LEFT, 6 ; person object SPRITE_MONSTER, 30, 12, STAY, RIGHT, 7 ; person - object SPRITE_ROCKET, 32, 29, WALK, 2, 8 ; person - object SPRITE_ROCKET, 42, 14, WALK, 2, 9 ; person + object SPRITE_ROCKET, 32, 29, WALK, LEFT_RIGHT, 8 ; person + object SPRITE_ROCKET, 42, 14, WALK, LEFT_RIGHT, 9 ; person ; warp-to warp_to 8, 13, CELADON_CITY_WIDTH ; CELADON_MART_1F diff --git a/data/maps/objects/CeladonDiner.asm b/data/maps/objects/CeladonDiner.asm index c0925ca2..9b732187 100755 --- a/data/maps/objects/CeladonDiner.asm +++ b/data/maps/objects/CeladonDiner.asm @@ -8,7 +8,7 @@ CeladonDiner_Object: db 0 ; signs db 5 ; objects - object SPRITE_COOK, 8, 5, WALK, 2, 1 ; person + object SPRITE_COOK, 8, 5, WALK, LEFT_RIGHT, 1 ; person object SPRITE_MIDDLE_AGED_WOMAN, 7, 2, STAY, NONE, 2 ; person object SPRITE_MIDDLE_AGED_MAN, 1, 4, STAY, DOWN, 3 ; person object SPRITE_FISHER, 5, 3, STAY, RIGHT, 4 ; person diff --git a/data/maps/objects/CeladonHotel.asm b/data/maps/objects/CeladonHotel.asm index afa55936..9d318843 100755 --- a/data/maps/objects/CeladonHotel.asm +++ b/data/maps/objects/CeladonHotel.asm @@ -10,7 +10,7 @@ CeladonHotel_Object: db 3 ; objects object SPRITE_GRANNY, 3, 1, STAY, DOWN, 1 ; person object SPRITE_BEAUTY, 2, 4, STAY, NONE, 2 ; person - object SPRITE_SUPER_NERD, 8, 4, WALK, 2, 3 ; person + object SPRITE_SUPER_NERD, 8, 4, WALK, LEFT_RIGHT, 3 ; person ; warp-to warp_to 3, 7, CELADON_HOTEL_WIDTH diff --git a/data/maps/objects/CeladonMansion1F.asm b/data/maps/objects/CeladonMansion1F.asm index 1e142d44..abb3006c 100755 --- a/data/maps/objects/CeladonMansion1F.asm +++ b/data/maps/objects/CeladonMansion1F.asm @@ -14,8 +14,8 @@ CeladonMansion1F_Object: db 4 ; objects object SPRITE_MONSTER, 0, 5, STAY, RIGHT, 1 ; person object SPRITE_GRANNY, 1, 5, STAY, DOWN, 2 ; person - object SPRITE_FAIRY, 1, 8, WALK, 2, 3 ; person - object SPRITE_MONSTER, 4, 4, WALK, 1, 4 ; person + object SPRITE_FAIRY, 1, 8, WALK, LEFT_RIGHT, 3 ; person + object SPRITE_MONSTER, 4, 4, WALK, UP_DOWN, 4 ; person ; warp-to warp_to 4, 11, CELADON_MANSION_1F_WIDTH diff --git a/data/maps/objects/CeladonMart2F.asm b/data/maps/objects/CeladonMart2F.asm index 5cc5c6e2..dfd12d3c 100755 --- a/data/maps/objects/CeladonMart2F.asm +++ b/data/maps/objects/CeladonMart2F.asm @@ -13,7 +13,7 @@ CeladonMart2F_Object: object SPRITE_CLERK, 5, 3, STAY, DOWN, 1 ; person object SPRITE_CLERK, 6, 3, STAY, DOWN, 2 ; person object SPRITE_MIDDLE_AGED_MAN, 19, 5, STAY, NONE, 3 ; person - object SPRITE_GIRL, 14, 4, WALK, 1, 4 ; person + object SPRITE_GIRL, 14, 4, WALK, UP_DOWN, 4 ; person ; warp-to warp_to 12, 1, CELADON_MART_2F_WIDTH ; CELADON_MART_1F diff --git a/data/maps/objects/CeladonMart4F.asm b/data/maps/objects/CeladonMart4F.asm index 8f71b4b0..3949529b 100755 --- a/data/maps/objects/CeladonMart4F.asm +++ b/data/maps/objects/CeladonMart4F.asm @@ -11,8 +11,8 @@ CeladonMart4F_Object: db 3 ; objects object SPRITE_CLERK, 5, 7, STAY, NONE, 1 ; person - object SPRITE_SUPER_NERD, 15, 5, WALK, 2, 2 ; person - object SPRITE_YOUNGSTER, 5, 2, WALK, 2, 3 ; person + object SPRITE_SUPER_NERD, 15, 5, WALK, LEFT_RIGHT, 2 ; person + object SPRITE_YOUNGSTER, 5, 2, WALK, LEFT_RIGHT, 3 ; person ; warp-to warp_to 12, 1, CELADON_MART_4F_WIDTH ; CELADON_MART_3F diff --git a/data/maps/objects/CeladonMart5F.asm b/data/maps/objects/CeladonMart5F.asm index 4d3fb865..61a7428e 100755 --- a/data/maps/objects/CeladonMart5F.asm +++ b/data/maps/objects/CeladonMart5F.asm @@ -10,7 +10,7 @@ CeladonMart5F_Object: sign 14, 1, 5 ; CeladonMart5Text5 db 4 ; objects - object SPRITE_GENTLEMAN, 14, 5, WALK, 1, 1 ; person + object SPRITE_GENTLEMAN, 14, 5, WALK, UP_DOWN, 1 ; person object SPRITE_SAILOR, 2, 6, STAY, NONE, 2 ; person object SPRITE_CLERK, 5, 3, STAY, DOWN, 3 ; person object SPRITE_CLERK, 6, 3, STAY, DOWN, 4 ; person diff --git a/data/maps/objects/CeladonMartRoof.asm b/data/maps/objects/CeladonMartRoof.asm index 4e81b9a3..b358183e 100755 --- a/data/maps/objects/CeladonMartRoof.asm +++ b/data/maps/objects/CeladonMartRoof.asm @@ -12,7 +12,7 @@ CeladonMartRoof_Object: db 2 ; objects object SPRITE_SUPER_NERD, 10, 4, STAY, LEFT, 1 ; person - object SPRITE_LITTLE_GIRL, 5, 5, WALK, 0, 2 ; person + object SPRITE_LITTLE_GIRL, 5, 5, WALK, ANY_DIR, 2 ; person ; warp-to warp_to 15, 2, CELADON_MART_ROOF_WIDTH ; CELADON_MART_5F diff --git a/data/maps/objects/CeladonPokecenter.asm b/data/maps/objects/CeladonPokecenter.asm index 3a48cd95..a3392021 100755 --- a/data/maps/objects/CeladonPokecenter.asm +++ b/data/maps/objects/CeladonPokecenter.asm @@ -9,8 +9,8 @@ CeladonPokecenter_Object: db 4 ; objects object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person - object SPRITE_GENTLEMAN, 7, 3, WALK, 2, 2 ; person - object SPRITE_BEAUTY, 10, 5, WALK, 0, 3 ; person + object SPRITE_GENTLEMAN, 7, 3, WALK, LEFT_RIGHT, 2 ; person + object SPRITE_BEAUTY, 10, 5, WALK, ANY_DIR, 3 ; person object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person ; warp-to diff --git a/data/maps/objects/CeruleanCity.asm b/data/maps/objects/CeruleanCity.asm index 858fcb28..a7601890 100755 --- a/data/maps/objects/CeruleanCity.asm +++ b/data/maps/objects/CeruleanCity.asm @@ -25,12 +25,12 @@ CeruleanCity_Object: object SPRITE_BLUE, 20, 2, STAY, DOWN, 1 ; person object SPRITE_ROCKET, 30, 8, STAY, NONE, 2, OPP_ROCKET, 5 object SPRITE_COOLTRAINER_M, 31, 20, STAY, DOWN, 3 ; person - object SPRITE_SUPER_NERD, 15, 18, WALK, 1, 4 ; person - object SPRITE_SUPER_NERD, 9, 21, WALK, 2, 5 ; person + object SPRITE_SUPER_NERD, 15, 18, WALK, UP_DOWN, 4 ; person + object SPRITE_SUPER_NERD, 9, 21, WALK, LEFT_RIGHT, 5 ; person object SPRITE_GUARD, 28, 12, STAY, DOWN, 6 ; person object SPRITE_COOLTRAINER_F, 29, 26, STAY, LEFT, 7 ; person object SPRITE_MONSTER, 28, 26, STAY, DOWN, 8 ; person - object SPRITE_COOLTRAINER_F, 9, 27, WALK, 2, 9 ; person + object SPRITE_COOLTRAINER_F, 9, 27, WALK, LEFT_RIGHT, 9 ; person object SPRITE_SUPER_NERD, 4, 12, STAY, DOWN, 10 ; person object SPRITE_GUARD, 27, 12, STAY, DOWN, 11 ; person diff --git a/data/maps/objects/CeruleanMart.asm b/data/maps/objects/CeruleanMart.asm index d724c08b..c6fc6d6f 100755 --- a/data/maps/objects/CeruleanMart.asm +++ b/data/maps/objects/CeruleanMart.asm @@ -9,8 +9,8 @@ CeruleanMart_Object: db 3 ; objects object SPRITE_CLERK, 0, 5, STAY, RIGHT, 1 ; person - object SPRITE_COOLTRAINER_M, 3, 4, WALK, 1, 2 ; person - object SPRITE_COOLTRAINER_F, 6, 2, WALK, 2, 3 ; person + object SPRITE_COOLTRAINER_M, 3, 4, WALK, UP_DOWN, 2 ; person + object SPRITE_COOLTRAINER_F, 6, 2, WALK, LEFT_RIGHT, 3 ; person ; warp-to warp_to 3, 7, CERULEAN_MART_WIDTH diff --git a/data/maps/objects/CeruleanPokecenter.asm b/data/maps/objects/CeruleanPokecenter.asm index 0f485dfe..f9c2715a 100755 --- a/data/maps/objects/CeruleanPokecenter.asm +++ b/data/maps/objects/CeruleanPokecenter.asm @@ -9,7 +9,7 @@ CeruleanPokecenter_Object: db 4 ; objects object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person - object SPRITE_SUPER_NERD, 10, 5, WALK, 0, 2 ; person + object SPRITE_SUPER_NERD, 10, 5, WALK, ANY_DIR, 2 ; person object SPRITE_GENTLEMAN, 4, 3, STAY, DOWN, 3 ; person object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person diff --git a/data/maps/objects/CeruleanTrashedHouse.asm b/data/maps/objects/CeruleanTrashedHouse.asm index 0ea45a1c..ad29a6ad 100755 --- a/data/maps/objects/CeruleanTrashedHouse.asm +++ b/data/maps/objects/CeruleanTrashedHouse.asm @@ -11,7 +11,7 @@ CeruleanTrashedHouse_Object: db 2 ; objects object SPRITE_FISHING_GURU, 2, 1, STAY, DOWN, 1 ; person - object SPRITE_GIRL, 5, 6, WALK, 2, 2 ; person + object SPRITE_GIRL, 5, 6, WALK, LEFT_RIGHT, 2 ; person ; warp-to warp_to 2, 7, CERULEAN_TRASHED_HOUSE_WIDTH diff --git a/data/maps/objects/CinnabarIsland.asm b/data/maps/objects/CinnabarIsland.asm index 1932e134..1cb3e28c 100755 --- a/data/maps/objects/CinnabarIsland.asm +++ b/data/maps/objects/CinnabarIsland.asm @@ -16,7 +16,7 @@ CinnabarIsland_Object: sign 13, 3, 7 ; CinnabarIslandText7 db 2 ; objects - object SPRITE_GIRL, 12, 5, WALK, 2, 1 ; person + object SPRITE_GIRL, 12, 5, WALK, LEFT_RIGHT, 1 ; person object SPRITE_GAMBLER, 14, 6, STAY, NONE, 2 ; person ; warp-to diff --git a/data/maps/objects/CinnabarLabFossilRoom.asm b/data/maps/objects/CinnabarLabFossilRoom.asm index d77c26df..9ab531c2 100755 --- a/data/maps/objects/CinnabarLabFossilRoom.asm +++ b/data/maps/objects/CinnabarLabFossilRoom.asm @@ -8,7 +8,7 @@ CinnabarLabFossilRoom_Object: db 0 ; signs db 2 ; objects - object SPRITE_SCIENTIST, 5, 2, WALK, 2, 1 ; person + object SPRITE_SCIENTIST, 5, 2, WALK, LEFT_RIGHT, 1 ; person object SPRITE_SCIENTIST, 7, 6, STAY, UP, 2 ; person ; warp-to diff --git a/data/maps/objects/CinnabarLabMetronomeRoom.asm b/data/maps/objects/CinnabarLabMetronomeRoom.asm index 06f4fb99..d3250af3 100755 --- a/data/maps/objects/CinnabarLabMetronomeRoom.asm +++ b/data/maps/objects/CinnabarLabMetronomeRoom.asm @@ -12,7 +12,7 @@ CinnabarLabMetronomeRoom_Object: db 2 ; objects object SPRITE_SCIENTIST, 7, 2, STAY, DOWN, 1 ; person - object SPRITE_SCIENTIST, 2, 3, WALK, 2, 2 ; person + object SPRITE_SCIENTIST, 2, 3, WALK, LEFT_RIGHT, 2 ; person ; warp-to warp_to 2, 7, CINNABAR_LAB_METRONOME_ROOM_WIDTH ; CINNABAR_LAB diff --git a/data/maps/objects/CinnabarPokecenter.asm b/data/maps/objects/CinnabarPokecenter.asm index 06af2353..051bcac1 100755 --- a/data/maps/objects/CinnabarPokecenter.asm +++ b/data/maps/objects/CinnabarPokecenter.asm @@ -9,7 +9,7 @@ CinnabarPokecenter_Object: db 4 ; objects object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person - object SPRITE_COOLTRAINER_F, 9, 4, WALK, 0, 2 ; person + object SPRITE_COOLTRAINER_F, 9, 4, WALK, ANY_DIR, 2 ; person object SPRITE_GENTLEMAN, 2, 6, STAY, NONE, 3 ; person object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person diff --git a/data/maps/objects/CopycatsHouse1F.asm b/data/maps/objects/CopycatsHouse1F.asm index e02339cd..167022e8 100755 --- a/data/maps/objects/CopycatsHouse1F.asm +++ b/data/maps/objects/CopycatsHouse1F.asm @@ -11,7 +11,7 @@ CopycatsHouse1F_Object: db 3 ; objects object SPRITE_MIDDLE_AGED_WOMAN, 2, 2, STAY, DOWN, 1 ; person object SPRITE_MIDDLE_AGED_MAN, 5, 4, STAY, LEFT, 2 ; person - object SPRITE_FAIRY, 1, 4, WALK, 1, 3 ; person + object SPRITE_FAIRY, 1, 4, WALK, UP_DOWN, 3 ; person ; warp-to warp_to 2, 7, COPYCATS_HOUSE_1F_WIDTH diff --git a/data/maps/objects/CopycatsHouse2F.asm b/data/maps/objects/CopycatsHouse2F.asm index 73d7daf2..0b9713ae 100755 --- a/data/maps/objects/CopycatsHouse2F.asm +++ b/data/maps/objects/CopycatsHouse2F.asm @@ -9,8 +9,8 @@ CopycatsHouse2F_Object: sign 0, 1, 7 ; CopycatsHouse2FText7 db 5 ; objects - object SPRITE_BRUNETTE_GIRL, 4, 3, WALK, 0, 1 ; person - object SPRITE_BIRD, 4, 6, WALK, 2, 2 ; person + object SPRITE_BRUNETTE_GIRL, 4, 3, WALK, ANY_DIR, 1 ; person + object SPRITE_BIRD, 4, 6, WALK, LEFT_RIGHT, 2 ; person object SPRITE_MONSTER, 5, 1, STAY, DOWN, 3 ; person object SPRITE_BIRD, 2, 0, STAY, DOWN, 4 ; person object SPRITE_FAIRY, 1, 6, STAY, RIGHT, 5 ; person diff --git a/data/maps/objects/FuchsiaCity.asm b/data/maps/objects/FuchsiaCity.asm index 5a09f864..c5f0ef58 100755 --- a/data/maps/objects/FuchsiaCity.asm +++ b/data/maps/objects/FuchsiaCity.asm @@ -29,15 +29,15 @@ FuchsiaCity_Object: sign 7, 7, 24 ; FuchsiaCityText24 db 10 ; objects - object SPRITE_YOUNGSTER, 10, 12, WALK, 2, 1 ; person - object SPRITE_GAMBLER, 28, 17, WALK, 2, 2 ; person + object SPRITE_YOUNGSTER, 10, 12, WALK, LEFT_RIGHT, 1 ; person + object SPRITE_GAMBLER, 28, 17, WALK, LEFT_RIGHT, 2 ; person object SPRITE_FISHER, 30, 14, STAY, DOWN, 3 ; person object SPRITE_YOUNGSTER, 24, 8, STAY, UP, 4 ; person - object SPRITE_FAIRY, 31, 5, WALK, 0, 5 ; person + object SPRITE_FAIRY, 31, 5, WALK, ANY_DIR, 5 ; person object SPRITE_POKE_BALL, 25, 6, STAY, NONE, 6 ; person - object SPRITE_MONSTER, 12, 6, WALK, 2, 7 ; person - object SPRITE_MONSTER, 30, 12, WALK, 2, 8 ; person - object SPRITE_SEEL, 8, 17, WALK, 0, 9 ; person + object SPRITE_MONSTER, 12, 6, WALK, LEFT_RIGHT, 7 ; person + object SPRITE_MONSTER, 30, 12, WALK, LEFT_RIGHT, 8 ; person + object SPRITE_SEEL, 8, 17, WALK, ANY_DIR, 9 ; person object SPRITE_FOSSIL, 6, 5, STAY, NONE, 10 ; person ; warp-to diff --git a/data/maps/objects/FuchsiaMart.asm b/data/maps/objects/FuchsiaMart.asm index f9f7ad9c..901a1b49 100755 --- a/data/maps/objects/FuchsiaMart.asm +++ b/data/maps/objects/FuchsiaMart.asm @@ -10,7 +10,7 @@ FuchsiaMart_Object: db 3 ; objects object SPRITE_CLERK, 0, 5, STAY, RIGHT, 1 ; person object SPRITE_MIDDLE_AGED_MAN, 4, 2, STAY, NONE, 2 ; person - object SPRITE_COOLTRAINER_F, 6, 5, WALK, 1, 3 ; person + object SPRITE_COOLTRAINER_F, 6, 5, WALK, UP_DOWN, 3 ; person ; warp-to warp_to 3, 7, FUCHSIA_MART_WIDTH diff --git a/data/maps/objects/FuchsiaPokecenter.asm b/data/maps/objects/FuchsiaPokecenter.asm index 31f1cdc9..1b656f3f 100755 --- a/data/maps/objects/FuchsiaPokecenter.asm +++ b/data/maps/objects/FuchsiaPokecenter.asm @@ -10,7 +10,7 @@ FuchsiaPokecenter_Object: db 4 ; objects object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person object SPRITE_ROCKER, 2, 3, STAY, NONE, 2 ; person - object SPRITE_COOLTRAINER_F, 6, 5, WALK, 2, 3 ; person + object SPRITE_COOLTRAINER_F, 6, 5, WALK, LEFT_RIGHT, 3 ; person object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person ; warp-to diff --git a/data/maps/objects/GameCornerPrizeRoom.asm b/data/maps/objects/GameCornerPrizeRoom.asm index 6d1a80c4..06f96b08 100755 --- a/data/maps/objects/GameCornerPrizeRoom.asm +++ b/data/maps/objects/GameCornerPrizeRoom.asm @@ -12,7 +12,7 @@ GameCornerPrizeRoom_Object: db 2 ; objects object SPRITE_BALDING_GUY, 1, 4, STAY, NONE, 1 ; person - object SPRITE_GAMBLER, 7, 3, WALK, 2, 2 ; person + object SPRITE_GAMBLER, 7, 3, WALK, LEFT_RIGHT, 2 ; person ; warp-to warp_to 4, 7, GAME_CORNER_PRIZE_ROOM_WIDTH diff --git a/data/maps/objects/LavenderPokecenter.asm b/data/maps/objects/LavenderPokecenter.asm index 61d978b4..da764b2c 100755 --- a/data/maps/objects/LavenderPokecenter.asm +++ b/data/maps/objects/LavenderPokecenter.asm @@ -10,7 +10,7 @@ LavenderPokecenter_Object: db 4 ; objects object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person object SPRITE_GENTLEMAN, 5, 3, STAY, NONE, 2 ; person - object SPRITE_LITTLE_GIRL, 2, 6, WALK, 1, 3 ; person + object SPRITE_LITTLE_GIRL, 2, 6, WALK, UP_DOWN, 3 ; person object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person ; warp-to diff --git a/data/maps/objects/LavenderTown.asm b/data/maps/objects/LavenderTown.asm index 3c7b2965..46fcaec5 100755 --- a/data/maps/objects/LavenderTown.asm +++ b/data/maps/objects/LavenderTown.asm @@ -18,9 +18,9 @@ LavenderTown_Object: sign 17, 7, 9 ; LavenderTownText9 db 3 ; objects - object SPRITE_LITTLE_GIRL, 15, 9, WALK, 0, 1 ; person + object SPRITE_LITTLE_GIRL, 15, 9, WALK, ANY_DIR, 1 ; person object SPRITE_COOLTRAINER_M, 9, 10, STAY, NONE, 2 ; person - object SPRITE_SUPER_NERD, 8, 7, WALK, 2, 3 ; person + object SPRITE_SUPER_NERD, 8, 7, WALK, LEFT_RIGHT, 3 ; person ; warp-to warp_to 3, 5, LAVENDER_TOWN_WIDTH ; LAVENDER_POKECENTER diff --git a/data/maps/objects/MtMoonPokecenter.asm b/data/maps/objects/MtMoonPokecenter.asm index 55fc4d29..5c154ac5 100755 --- a/data/maps/objects/MtMoonPokecenter.asm +++ b/data/maps/objects/MtMoonPokecenter.asm @@ -11,7 +11,7 @@ MtMoonPokecenter_Object: object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person object SPRITE_YOUNGSTER, 4, 3, STAY, UP, 2 ; person object SPRITE_GENTLEMAN, 7, 3, STAY, UP, 3 ; person - object SPRITE_MIDDLE_AGED_MAN, 10, 6, WALK, 2, 4 ; person + object SPRITE_MIDDLE_AGED_MAN, 10, 6, WALK, LEFT_RIGHT, 4 ; person object SPRITE_CLIPBOARD, 7, 2, STAY, NONE, 5 ; person object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 6 ; person diff --git a/data/maps/objects/Museum2F.asm b/data/maps/objects/Museum2F.asm index a07fa944..525df06f 100755 --- a/data/maps/objects/Museum2F.asm +++ b/data/maps/objects/Museum2F.asm @@ -9,7 +9,7 @@ Museum2F_Object: sign 2, 5, 7 ; Museum2FText7 db 5 ; objects - object SPRITE_YOUNGSTER, 1, 7, WALK, 2, 1 ; person + object SPRITE_YOUNGSTER, 1, 7, WALK, LEFT_RIGHT, 1 ; person object SPRITE_GRAMPS, 0, 5, STAY, DOWN, 2 ; person object SPRITE_SCIENTIST, 7, 5, STAY, DOWN, 3 ; person object SPRITE_BRUNETTE_GIRL, 11, 5, STAY, NONE, 4 ; person diff --git a/data/maps/objects/OaksLab.asm b/data/maps/objects/OaksLab.asm index 3e1a90c0..1a784f83 100755 --- a/data/maps/objects/OaksLab.asm +++ b/data/maps/objects/OaksLab.asm @@ -16,7 +16,7 @@ OaksLab_Object: object SPRITE_POKEDEX, 2, 1, STAY, NONE, 6 ; person object SPRITE_POKEDEX, 3, 1, STAY, NONE, 7 ; person object SPRITE_OAK, 5, 10, STAY, UP, 8 ; person - object SPRITE_GIRL, 1, 9, WALK, 1, 9 ; person + object SPRITE_GIRL, 1, 9, WALK, UP_DOWN, 9 ; person object SPRITE_SCIENTIST, 2, 10, STAY, NONE, 10 ; person object SPRITE_SCIENTIST, 8, 10, STAY, NONE, 11 ; person diff --git a/data/maps/objects/PalletTown.asm b/data/maps/objects/PalletTown.asm index a385df65..2bd306fe 100755 --- a/data/maps/objects/PalletTown.asm +++ b/data/maps/objects/PalletTown.asm @@ -14,8 +14,8 @@ PalletTown_Object: db 3 ; objects object SPRITE_OAK, 8, 5, STAY, NONE, 1 ; person - object SPRITE_GIRL, 3, 8, WALK, 0, 2 ; person - object SPRITE_FISHER, 11, 14, WALK, 0, 3 ; person + object SPRITE_GIRL, 3, 8, WALK, ANY_DIR, 2 ; person + object SPRITE_FISHER, 11, 14, WALK, ANY_DIR, 3 ; person ; warp-to warp_to 5, 5, PALLET_TOWN_WIDTH ; REDS_HOUSE_1F diff --git a/data/maps/objects/PewterCity.asm b/data/maps/objects/PewterCity.asm index 4a0c25e0..804ded7f 100755 --- a/data/maps/objects/PewterCity.asm +++ b/data/maps/objects/PewterCity.asm @@ -23,7 +23,7 @@ PewterCity_Object: object SPRITE_COOLTRAINER_F, 8, 15, STAY, NONE, 1 ; person object SPRITE_COOLTRAINER_M, 17, 25, STAY, NONE, 2 ; person object SPRITE_SUPER_NERD, 27, 17, STAY, NONE, 3 ; person - object SPRITE_SUPER_NERD, 26, 25, WALK, 2, 4 ; person + object SPRITE_SUPER_NERD, 26, 25, WALK, LEFT_RIGHT, 4 ; person object SPRITE_YOUNGSTER, 35, 16, STAY, DOWN, 5 ; person ; warp-to diff --git a/data/maps/objects/PewterMart.asm b/data/maps/objects/PewterMart.asm index 3c096825..01e2cbdc 100755 --- a/data/maps/objects/PewterMart.asm +++ b/data/maps/objects/PewterMart.asm @@ -9,7 +9,7 @@ PewterMart_Object: db 3 ; objects object SPRITE_CLERK, 0, 5, STAY, RIGHT, 1 ; person - object SPRITE_YOUNGSTER, 3, 3, WALK, 1, 2 ; person + object SPRITE_YOUNGSTER, 3, 3, WALK, UP_DOWN, 2 ; person object SPRITE_SUPER_NERD, 5, 5, STAY, NONE, 3 ; person ; warp-to diff --git a/data/maps/objects/PokemonMansion2F.asm b/data/maps/objects/PokemonMansion2F.asm index 1df7d282..2cc2c9d3 100755 --- a/data/maps/objects/PokemonMansion2F.asm +++ b/data/maps/objects/PokemonMansion2F.asm @@ -10,7 +10,7 @@ PokemonMansion2F_Object: db 0 ; signs db 4 ; objects - object SPRITE_SUPER_NERD, 3, 17, WALK, 2, 1, OPP_BURGLAR, 7 + object SPRITE_SUPER_NERD, 3, 17, WALK, LEFT_RIGHT, 1, OPP_BURGLAR, 7 object SPRITE_POKE_BALL, 28, 7, STAY, NONE, 2, CALCIUM object SPRITE_POKEDEX, 18, 2, STAY, NONE, 3 ; person object SPRITE_POKEDEX, 3, 22, STAY, NONE, 4 ; person diff --git a/data/maps/objects/PokemonMansion3F.asm b/data/maps/objects/PokemonMansion3F.asm index fc0149c9..86696592 100755 --- a/data/maps/objects/PokemonMansion3F.asm +++ b/data/maps/objects/PokemonMansion3F.asm @@ -9,7 +9,7 @@ PokemonMansion3F_Object: db 0 ; signs db 5 ; objects - object SPRITE_SUPER_NERD, 5, 11, WALK, 2, 1, OPP_BURGLAR, 8 + object SPRITE_SUPER_NERD, 5, 11, WALK, LEFT_RIGHT, 1, OPP_BURGLAR, 8 object SPRITE_SCIENTIST, 20, 11, STAY, LEFT, 2, OPP_SCIENTIST, 12 object SPRITE_POKE_BALL, 1, 16, STAY, NONE, 3, MAX_POTION object SPRITE_POKE_BALL, 25, 5, STAY, NONE, 4, IRON diff --git a/data/maps/objects/RockTunnelPokecenter.asm b/data/maps/objects/RockTunnelPokecenter.asm index a0527467..7c7654d9 100755 --- a/data/maps/objects/RockTunnelPokecenter.asm +++ b/data/maps/objects/RockTunnelPokecenter.asm @@ -9,7 +9,7 @@ RockTunnelPokecenter_Object: db 4 ; objects object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person - object SPRITE_GENTLEMAN, 7, 3, WALK, 2, 2 ; person + object SPRITE_GENTLEMAN, 7, 3, WALK, LEFT_RIGHT, 2 ; person object SPRITE_FISHER, 2, 5, STAY, NONE, 3 ; person object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person diff --git a/data/maps/objects/Route1.asm b/data/maps/objects/Route1.asm index 7d0de139..f51ece6a 100755 --- a/data/maps/objects/Route1.asm +++ b/data/maps/objects/Route1.asm @@ -7,8 +7,8 @@ Route1_Object: sign 9, 27, 3 ; Route1Text3 db 2 ; objects - object SPRITE_YOUNGSTER, 5, 24, WALK, 1, 1 ; person - object SPRITE_YOUNGSTER, 15, 13, WALK, 2, 2 ; person + object SPRITE_YOUNGSTER, 5, 24, WALK, UP_DOWN, 1 ; person + object SPRITE_YOUNGSTER, 15, 13, WALK, LEFT_RIGHT, 2 ; person ; warp-to (unused) warp_to 2, 7, 4 diff --git a/data/maps/objects/Route11Gate2F.asm b/data/maps/objects/Route11Gate2F.asm index 3730bae0..68d6b98e 100755 --- a/data/maps/objects/Route11Gate2F.asm +++ b/data/maps/objects/Route11Gate2F.asm @@ -9,7 +9,7 @@ Route11Gate2F_Object: sign 6, 2, 4 ; Route11GateUpstairsText4 db 2 ; objects - object SPRITE_YOUNGSTER, 4, 2, WALK, 2, 1 ; person + object SPRITE_YOUNGSTER, 4, 2, WALK, LEFT_RIGHT, 1 ; person object SPRITE_SCIENTIST, 2, 6, STAY, NONE, 2 ; person ; warp-to diff --git a/data/maps/objects/Route12Gate2F.asm b/data/maps/objects/Route12Gate2F.asm index cc6c1c19..186f3f49 100755 --- a/data/maps/objects/Route12Gate2F.asm +++ b/data/maps/objects/Route12Gate2F.asm @@ -9,7 +9,7 @@ Route12Gate2F_Object: sign 6, 2, 3 ; Route12GateUpstairsText3 db 1 ; objects - object SPRITE_BRUNETTE_GIRL, 3, 4, WALK, 1, 1 ; person + object SPRITE_BRUNETTE_GIRL, 3, 4, WALK, UP_DOWN, 1 ; person ; warp-to warp_to 7, 7, ROUTE_12_GATE_2F_WIDTH ; ROUTE_12_GATE_1F diff --git a/data/maps/objects/Route16FlyHouse.asm b/data/maps/objects/Route16FlyHouse.asm index b6a5b345..979eece1 100755 --- a/data/maps/objects/Route16FlyHouse.asm +++ b/data/maps/objects/Route16FlyHouse.asm @@ -9,7 +9,7 @@ Route16FlyHouse_Object: db 2 ; objects object SPRITE_BRUNETTE_GIRL, 2, 3, STAY, RIGHT, 1 ; person - object SPRITE_BIRD, 6, 4, WALK, 0, 2 ; person + object SPRITE_BIRD, 6, 4, WALK, ANY_DIR, 2 ; person ; warp-to warp_to 2, 7, ROUTE_16_FLY_HOUSE_WIDTH diff --git a/data/maps/objects/Route16Gate2F.asm b/data/maps/objects/Route16Gate2F.asm index bb5e1129..21dddd07 100755 --- a/data/maps/objects/Route16Gate2F.asm +++ b/data/maps/objects/Route16Gate2F.asm @@ -10,7 +10,7 @@ Route16Gate2F_Object: db 2 ; objects object SPRITE_LITTLE_BOY, 4, 2, STAY, NONE, 1 ; person - object SPRITE_LITTLE_GIRL, 2, 5, WALK, 2, 2 ; person + object SPRITE_LITTLE_GIRL, 2, 5, WALK, LEFT_RIGHT, 2 ; person ; warp-to warp_to 7, 7, ROUTE_16_GATE_2F_WIDTH ; ROUTE_16_GATE_1F diff --git a/data/maps/objects/Route18Gate2F.asm b/data/maps/objects/Route18Gate2F.asm index 5f0a4246..ba5896b8 100755 --- a/data/maps/objects/Route18Gate2F.asm +++ b/data/maps/objects/Route18Gate2F.asm @@ -9,7 +9,7 @@ Route18Gate2F_Object: sign 6, 2, 3 ; Route18GateUpstairsText3 db 1 ; objects - object SPRITE_YOUNGSTER, 4, 2, WALK, 2, 1 ; person + object SPRITE_YOUNGSTER, 4, 2, WALK, LEFT_RIGHT, 1 ; person ; warp-to warp_to 7, 7, ROUTE_18_GATE_2F_WIDTH ; ROUTE_18_GATE_1F diff --git a/data/maps/objects/Route2Gate.asm b/data/maps/objects/Route2Gate.asm index 2243a83c..f4d78598 100755 --- a/data/maps/objects/Route2Gate.asm +++ b/data/maps/objects/Route2Gate.asm @@ -11,7 +11,7 @@ Route2Gate_Object: db 2 ; objects object SPRITE_SCIENTIST, 1, 4, STAY, LEFT, 1 ; person - object SPRITE_YOUNGSTER, 5, 4, WALK, 2, 2 ; person + object SPRITE_YOUNGSTER, 5, 4, WALK, LEFT_RIGHT, 2 ; person ; warp-to warp_to 4, 0, ROUTE_2_GATE_WIDTH diff --git a/data/maps/objects/Route4.asm b/data/maps/objects/Route4.asm index 6683e14d..fb073cd5 100755 --- a/data/maps/objects/Route4.asm +++ b/data/maps/objects/Route4.asm @@ -12,7 +12,7 @@ Route4_Object: sign 27, 7, 6 ; Route4Text6 db 3 ; objects - object SPRITE_COOLTRAINER_F, 9, 8, WALK, 0, 1 ; person + object SPRITE_COOLTRAINER_F, 9, 8, WALK, ANY_DIR, 1 ; person object SPRITE_COOLTRAINER_F, 63, 3, STAY, RIGHT, 2, OPP_LASS, 4 object SPRITE_POKE_BALL, 57, 3, STAY, NONE, 3, TM_WHIRLWIND diff --git a/data/maps/objects/SSAnne1F.asm b/data/maps/objects/SSAnne1F.asm index 3e454f06..600fb50a 100755 --- a/data/maps/objects/SSAnne1F.asm +++ b/data/maps/objects/SSAnne1F.asm @@ -17,7 +17,7 @@ SSAnne1F_Object: db 0 ; signs db 2 ; objects - object SPRITE_WAITER, 12, 6, WALK, 2, 1 ; person + object SPRITE_WAITER, 12, 6, WALK, LEFT_RIGHT, 1 ; person object SPRITE_SAILOR, 27, 5, STAY, NONE, 2 ; person ; warp-to diff --git a/data/maps/objects/SSAnne1FRooms.asm b/data/maps/objects/SSAnne1FRooms.asm index 3a637fb8..ea135562 100755 --- a/data/maps/objects/SSAnne1FRooms.asm +++ b/data/maps/objects/SSAnne1FRooms.asm @@ -16,13 +16,13 @@ SSAnne1FRooms_Object: object SPRITE_GENTLEMAN, 11, 4, STAY, UP, 2, OPP_GENTLEMAN, 2 object SPRITE_YOUNGSTER, 11, 14, STAY, UP, 3, OPP_YOUNGSTER, 8 object SPRITE_COOLTRAINER_F, 13, 11, STAY, LEFT, 4, OPP_LASS, 11 - object SPRITE_GIRL, 22, 3, WALK, 1, 5 ; person + object SPRITE_GIRL, 22, 3, WALK, UP_DOWN, 5 ; person object SPRITE_MIDDLE_AGED_MAN, 0, 14, STAY, NONE, 6 ; person object SPRITE_LITTLE_GIRL, 2, 11, STAY, DOWN, 7 ; person object SPRITE_FAIRY, 3, 11, STAY, DOWN, 8 ; person object SPRITE_GIRL, 10, 13, STAY, RIGHT, 9 ; person object SPRITE_POKE_BALL, 12, 15, STAY, NONE, 10, TM_BODY_SLAM - object SPRITE_GENTLEMAN, 21, 13, WALK, 2, 11 ; person + object SPRITE_GENTLEMAN, 21, 13, WALK, LEFT_RIGHT, 11 ; person ; warp-to warp_to 0, 0, SS_ANNE_1F_ROOMS_WIDTH ; SS_ANNE_1F diff --git a/data/maps/objects/SSAnne2F.asm b/data/maps/objects/SSAnne2F.asm index 9a08b781..97dbbcc1 100755 --- a/data/maps/objects/SSAnne2F.asm +++ b/data/maps/objects/SSAnne2F.asm @@ -15,7 +15,7 @@ SSAnne2F_Object: db 0 ; signs db 2 ; objects - object SPRITE_WAITER, 3, 7, WALK, 1, 1 ; person + object SPRITE_WAITER, 3, 7, WALK, UP_DOWN, 1 ; person object SPRITE_BLUE, 36, 4, STAY, DOWN, 2, OPP_RIVAL1, 1 ; warp-to diff --git a/data/maps/objects/SSAnne3F.asm b/data/maps/objects/SSAnne3F.asm index f0bfc17b..cd493a96 100755 --- a/data/maps/objects/SSAnne3F.asm +++ b/data/maps/objects/SSAnne3F.asm @@ -8,7 +8,7 @@ SSAnne3F_Object: db 0 ; signs db 1 ; objects - object SPRITE_SAILOR, 9, 3, WALK, 2, 1 ; person + object SPRITE_SAILOR, 9, 3, WALK, LEFT_RIGHT, 1 ; person ; warp-to warp_to 0, 3, SS_ANNE_3F_WIDTH ; SS_ANNE_BOW diff --git a/data/maps/objects/SSAnneKitchen.asm b/data/maps/objects/SSAnneKitchen.asm index b5771e68..5ef35e02 100755 --- a/data/maps/objects/SSAnneKitchen.asm +++ b/data/maps/objects/SSAnneKitchen.asm @@ -7,9 +7,9 @@ SSAnneKitchen_Object: db 0 ; signs db 7 ; objects - object SPRITE_COOK, 1, 8, WALK, 1, 1 ; person - object SPRITE_COOK, 5, 8, WALK, 1, 2 ; person - object SPRITE_COOK, 9, 7, WALK, 1, 3 ; person + object SPRITE_COOK, 1, 8, WALK, UP_DOWN, 1 ; person + object SPRITE_COOK, 5, 8, WALK, UP_DOWN, 2 ; person + object SPRITE_COOK, 9, 7, WALK, UP_DOWN, 3 ; person object SPRITE_COOK, 13, 6, STAY, NONE, 4 ; person object SPRITE_COOK, 13, 8, STAY, NONE, 5 ; person object SPRITE_COOK, 13, 10, STAY, NONE, 6 ; person diff --git a/data/maps/objects/SafariZoneCenterRestHouse.asm b/data/maps/objects/SafariZoneCenterRestHouse.asm index d681696e..705873c9 100755 --- a/data/maps/objects/SafariZoneCenterRestHouse.asm +++ b/data/maps/objects/SafariZoneCenterRestHouse.asm @@ -9,7 +9,7 @@ SafariZoneCenterRestHouse_Object: db 2 ; objects object SPRITE_GIRL, 3, 2, STAY, DOWN, 1 ; person - object SPRITE_SCIENTIST, 1, 4, WALK, 1, 2 ; person + object SPRITE_SCIENTIST, 1, 4, WALK, UP_DOWN, 2 ; person ; warp-to warp_to 2, 7, SAFARI_ZONE_CENTER_REST_HOUSE_WIDTH ; SAFARI_ZONE_CENTER diff --git a/data/maps/objects/SafariZoneEastRestHouse.asm b/data/maps/objects/SafariZoneEastRestHouse.asm index d478a902..c6b866bc 100755 --- a/data/maps/objects/SafariZoneEastRestHouse.asm +++ b/data/maps/objects/SafariZoneEastRestHouse.asm @@ -8,7 +8,7 @@ SafariZoneEastRestHouse_Object: db 0 ; signs db 3 ; objects - object SPRITE_SCIENTIST, 1, 3, WALK, 1, 1 ; person + object SPRITE_SCIENTIST, 1, 3, WALK, UP_DOWN, 1 ; person object SPRITE_ROCKER, 4, 2, STAY, NONE, 2 ; person object SPRITE_SILPH_WORKER, 5, 2, STAY, NONE, 3 ; person diff --git a/data/maps/objects/SafariZoneNorthRestHouse.asm b/data/maps/objects/SafariZoneNorthRestHouse.asm index 6eb9aac9..be460fe0 100755 --- a/data/maps/objects/SafariZoneNorthRestHouse.asm +++ b/data/maps/objects/SafariZoneNorthRestHouse.asm @@ -8,9 +8,9 @@ SafariZoneNorthRestHouse_Object: db 0 ; signs db 3 ; objects - object SPRITE_SCIENTIST, 6, 3, WALK, 2, 1 ; person + object SPRITE_SCIENTIST, 6, 3, WALK, LEFT_RIGHT, 1 ; person object SPRITE_SAFARI_ZONE_WORKER, 3, 4, STAY, NONE, 2 ; person - object SPRITE_GENTLEMAN, 1, 5, WALK, 1, 3 ; person + object SPRITE_GENTLEMAN, 1, 5, WALK, UP_DOWN, 3 ; person ; warp-to warp_to 2, 7, SAFARI_ZONE_NORTH_REST_HOUSE_WIDTH ; SAFARI_ZONE_NORTH diff --git a/data/maps/objects/SafariZoneWestRestHouse.asm b/data/maps/objects/SafariZoneWestRestHouse.asm index 0338667f..1fa6a3cc 100755 --- a/data/maps/objects/SafariZoneWestRestHouse.asm +++ b/data/maps/objects/SafariZoneWestRestHouse.asm @@ -8,7 +8,7 @@ SafariZoneWestRestHouse_Object: db 0 ; signs db 3 ; objects - object SPRITE_SCIENTIST, 4, 4, WALK, 0, 1 ; person + object SPRITE_SCIENTIST, 4, 4, WALK, ANY_DIR, 1 ; person object SPRITE_COOLTRAINER_M, 0, 2, STAY, RIGHT, 2 ; person object SPRITE_ERIKA, 6, 2, STAY, DOWN, 3 ; person diff --git a/data/maps/objects/SaffronCity.asm b/data/maps/objects/SaffronCity.asm index 332f13af..4dcc7a71 100755 --- a/data/maps/objects/SaffronCity.asm +++ b/data/maps/objects/SaffronCity.asm @@ -25,15 +25,15 @@ SaffronCity_Object: db 15 ; objects object SPRITE_ROCKET, 7, 6, STAY, NONE, 1 ; person - object SPRITE_ROCKET, 20, 8, WALK, 2, 2 ; person + object SPRITE_ROCKET, 20, 8, WALK, LEFT_RIGHT, 2 ; person object SPRITE_ROCKET, 34, 4, STAY, NONE, 3 ; person object SPRITE_ROCKET, 13, 12, STAY, NONE, 4 ; person - object SPRITE_ROCKET, 11, 25, WALK, 2, 5 ; person - object SPRITE_ROCKET, 32, 13, WALK, 2, 6 ; person - object SPRITE_ROCKET, 18, 30, WALK, 2, 7 ; person - object SPRITE_SCIENTIST, 8, 14, WALK, 0, 8 ; person + object SPRITE_ROCKET, 11, 25, WALK, LEFT_RIGHT, 5 ; person + object SPRITE_ROCKET, 32, 13, WALK, LEFT_RIGHT, 6 ; person + object SPRITE_ROCKET, 18, 30, WALK, LEFT_RIGHT, 7 ; person + object SPRITE_SCIENTIST, 8, 14, WALK, ANY_DIR, 8 ; person object SPRITE_SILPH_WORKER, 23, 23, STAY, NONE, 9 ; person - object SPRITE_ERIKA, 17, 30, WALK, 2, 10 ; person + object SPRITE_ERIKA, 17, 30, WALK, LEFT_RIGHT, 10 ; person object SPRITE_GENTLEMAN, 30, 12, STAY, DOWN, 11 ; person object SPRITE_BIRD, 31, 12, STAY, DOWN, 12 ; person object SPRITE_ROCKER, 18, 8, STAY, UP, 13 ; person diff --git a/data/maps/objects/SaffronMart.asm b/data/maps/objects/SaffronMart.asm index 5ad06c75..4680f018 100755 --- a/data/maps/objects/SaffronMart.asm +++ b/data/maps/objects/SaffronMart.asm @@ -10,7 +10,7 @@ SaffronMart_Object: db 3 ; objects object SPRITE_CLERK, 0, 5, STAY, RIGHT, 1 ; person object SPRITE_SUPER_NERD, 4, 2, STAY, NONE, 2 ; person - object SPRITE_COOLTRAINER_F, 6, 5, WALK, 0, 3 ; person + object SPRITE_COOLTRAINER_F, 6, 5, WALK, ANY_DIR, 3 ; person ; warp-to warp_to 3, 7, SAFFRON_MART_WIDTH diff --git a/data/maps/objects/SaffronPidgeyHouse.asm b/data/maps/objects/SaffronPidgeyHouse.asm index b0b52166..ac0d3f27 100755 --- a/data/maps/objects/SaffronPidgeyHouse.asm +++ b/data/maps/objects/SaffronPidgeyHouse.asm @@ -9,7 +9,7 @@ SaffronPidgeyHouse_Object: db 4 ; objects object SPRITE_BRUNETTE_GIRL, 2, 3, STAY, RIGHT, 1 ; person - object SPRITE_BIRD, 0, 4, WALK, 1, 2 ; person + object SPRITE_BIRD, 0, 4, WALK, UP_DOWN, 2 ; person object SPRITE_YOUNGSTER, 4, 1, STAY, DOWN, 3 ; person object SPRITE_PAPER, 3, 3, STAY, NONE, 4 ; person diff --git a/data/maps/objects/SilphCo10F.asm b/data/maps/objects/SilphCo10F.asm index 770601ae..d13b10cd 100755 --- a/data/maps/objects/SilphCo10F.asm +++ b/data/maps/objects/SilphCo10F.asm @@ -14,7 +14,7 @@ SilphCo10F_Object: db 6 ; objects object SPRITE_ROCKET, 1, 9, STAY, RIGHT, 1, OPP_ROCKET, 39 object SPRITE_SCIENTIST, 10, 2, STAY, LEFT, 2, OPP_SCIENTIST, 11 - object SPRITE_ERIKA, 9, 15, WALK, 0, 3 ; person + object SPRITE_ERIKA, 9, 15, WALK, ANY_DIR, 3 ; person object SPRITE_POKE_BALL, 2, 12, STAY, NONE, 4, TM_EARTHQUAKE object SPRITE_POKE_BALL, 4, 14, STAY, NONE, 5, RARE_CANDY object SPRITE_POKE_BALL, 5, 11, STAY, NONE, 6, CARBOS diff --git a/data/maps/objects/VermilionCity.asm b/data/maps/objects/VermilionCity.asm index 692ef5dd..c23db7c6 100755 --- a/data/maps/objects/VermilionCity.asm +++ b/data/maps/objects/VermilionCity.asm @@ -22,12 +22,12 @@ VermilionCity_Object: sign 29, 15, 13 ; VermilionCityText13 db 6 ; objects - object SPRITE_BEAUTY, 19, 7, WALK, 2, 1 ; person + object SPRITE_BEAUTY, 19, 7, WALK, LEFT_RIGHT, 1 ; person object SPRITE_GAMBLER, 14, 6, STAY, NONE, 2 ; person object SPRITE_SAILOR, 19, 30, STAY, UP, 3 ; person object SPRITE_GAMBLER, 30, 7, STAY, NONE, 4 ; person - object SPRITE_MONSTER, 29, 9, WALK, 1, 5 ; person - object SPRITE_SAILOR, 25, 27, WALK, 2, 6 ; person + object SPRITE_MONSTER, 29, 9, WALK, UP_DOWN, 5 ; person + object SPRITE_SAILOR, 25, 27, WALK, LEFT_RIGHT, 6 ; person ; warp-to warp_to 11, 3, VERMILION_CITY_WIDTH ; VERMILION_POKECENTER diff --git a/data/maps/objects/VermilionMart.asm b/data/maps/objects/VermilionMart.asm index f7b358de..76291be8 100755 --- a/data/maps/objects/VermilionMart.asm +++ b/data/maps/objects/VermilionMart.asm @@ -10,7 +10,7 @@ VermilionMart_Object: db 3 ; objects object SPRITE_CLERK, 0, 5, STAY, RIGHT, 1 ; person object SPRITE_COOLTRAINER_M, 5, 6, STAY, NONE, 2 ; person - object SPRITE_COOLTRAINER_F, 3, 3, WALK, 2, 3 ; person + object SPRITE_COOLTRAINER_F, 3, 3, WALK, LEFT_RIGHT, 3 ; person ; warp-to warp_to 3, 7, VERMILION_MART_WIDTH diff --git a/data/maps/objects/VermilionPidgeyHouse.asm b/data/maps/objects/VermilionPidgeyHouse.asm index fbd39231..11ef4a08 100755 --- a/data/maps/objects/VermilionPidgeyHouse.asm +++ b/data/maps/objects/VermilionPidgeyHouse.asm @@ -9,7 +9,7 @@ VermilionPidgeyHouse_Object: db 3 ; objects object SPRITE_YOUNGSTER, 5, 3, STAY, LEFT, 1 ; person - object SPRITE_BIRD, 3, 5, WALK, 2, 2 ; person + object SPRITE_BIRD, 3, 5, WALK, LEFT_RIGHT, 2 ; person object SPRITE_PAPER, 4, 3, STAY, NONE, 3 ; person ; warp-to diff --git a/data/maps/objects/ViridianCity.asm b/data/maps/objects/ViridianCity.asm index 02543af8..540dadd6 100755 --- a/data/maps/objects/ViridianCity.asm +++ b/data/maps/objects/ViridianCity.asm @@ -17,13 +17,13 @@ ViridianCity_Object: sign 27, 7, 13 ; ViridianCityText13 db 7 ; objects - object SPRITE_YOUNGSTER, 13, 20, WALK, 0, 1 ; person + object SPRITE_YOUNGSTER, 13, 20, WALK, ANY_DIR, 1 ; person object SPRITE_GAMBLER, 30, 8, STAY, NONE, 2 ; person - object SPRITE_YOUNGSTER, 30, 25, WALK, 0, 3 ; person + object SPRITE_YOUNGSTER, 30, 25, WALK, ANY_DIR, 3 ; person object SPRITE_GIRL, 17, 9, STAY, RIGHT, 4 ; person object SPRITE_GAMBLER_ASLEEP, 18, 9, STAY, NONE, 5 ; person object SPRITE_FISHER, 6, 23, STAY, DOWN, 6 ; person - object SPRITE_GAMBLER, 17, 5, WALK, 2, 7 ; person + object SPRITE_GAMBLER, 17, 5, WALK, LEFT_RIGHT, 7 ; person ; warp-to warp_to 23, 25, VIRIDIAN_CITY_WIDTH ; VIRIDIAN_POKECENTER diff --git a/data/maps/objects/ViridianForestSouthGate.asm b/data/maps/objects/ViridianForestSouthGate.asm index 8ce39de5..95478e37 100755 --- a/data/maps/objects/ViridianForestSouthGate.asm +++ b/data/maps/objects/ViridianForestSouthGate.asm @@ -11,7 +11,7 @@ ViridianForestSouthGate_Object: db 2 ; objects object SPRITE_GIRL, 8, 4, STAY, LEFT, 1 ; person - object SPRITE_LITTLE_GIRL, 2, 4, WALK, 1, 2 ; person + object SPRITE_LITTLE_GIRL, 2, 4, WALK, UP_DOWN, 2 ; person ; warp-to warp_to 4, 0, VIRIDIAN_FOREST_SOUTH_GATE_WIDTH ; VIRIDIAN_FOREST diff --git a/data/maps/objects/ViridianMart.asm b/data/maps/objects/ViridianMart.asm index 9c8b7497..fde88d0b 100755 --- a/data/maps/objects/ViridianMart.asm +++ b/data/maps/objects/ViridianMart.asm @@ -9,7 +9,7 @@ ViridianMart_Object: db 3 ; objects object SPRITE_CLERK, 0, 5, STAY, RIGHT, 1 ; person - object SPRITE_YOUNGSTER, 5, 5, WALK, 1, 2 ; person + object SPRITE_YOUNGSTER, 5, 5, WALK, UP_DOWN, 2 ; person object SPRITE_COOLTRAINER_M, 3, 3, STAY, NONE, 3 ; person ; warp-to diff --git a/data/maps/objects/ViridianNicknameHouse.asm b/data/maps/objects/ViridianNicknameHouse.asm index eea883a4..23d60a28 100755 --- a/data/maps/objects/ViridianNicknameHouse.asm +++ b/data/maps/objects/ViridianNicknameHouse.asm @@ -9,8 +9,8 @@ ViridianNicknameHouse_Object: db 4 ; objects object SPRITE_BALDING_GUY, 5, 3, STAY, NONE, 1 ; person - object SPRITE_LITTLE_GIRL, 1, 4, WALK, 1, 2 ; person - object SPRITE_BIRD, 5, 5, WALK, 2, 3 ; person + object SPRITE_LITTLE_GIRL, 1, 4, WALK, UP_DOWN, 2 ; person + object SPRITE_BIRD, 5, 5, WALK, LEFT_RIGHT, 3 ; person object SPRITE_CLIPBOARD, 4, 0, STAY, NONE, 4 ; person ; warp-to diff --git a/data/maps/objects/ViridianPokecenter.asm b/data/maps/objects/ViridianPokecenter.asm index b2410218..00b3e16c 100755 --- a/data/maps/objects/ViridianPokecenter.asm +++ b/data/maps/objects/ViridianPokecenter.asm @@ -9,7 +9,7 @@ ViridianPokecenter_Object: db 4 ; objects object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person - object SPRITE_GENTLEMAN, 10, 5, WALK, 1, 2 ; person + object SPRITE_GENTLEMAN, 10, 5, WALK, UP_DOWN, 2 ; person object SPRITE_COOLTRAINER_M, 4, 3, STAY, NONE, 3 ; person object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person -- cgit v1.2.3 From e2c99f19103856426966e30cf1910d07995bb936 Mon Sep 17 00:00:00 2001 From: Rangi Date: Mon, 17 Aug 2020 16:54:59 -0400 Subject: Use def_* macros for automatic map event counts --- data/maps/objects/AgathasRoom.asm | 6 ++--- data/maps/objects/BikeShop.asm | 6 ++--- data/maps/objects/BillsHouse.asm | 6 ++--- data/maps/objects/BluesHouse.asm | 6 ++--- data/maps/objects/BrunosRoom.asm | 6 ++--- data/maps/objects/CeladonChiefHouse.asm | 6 ++--- data/maps/objects/CeladonCity.asm | 6 ++--- data/maps/objects/CeladonDiner.asm | 6 ++--- data/maps/objects/CeladonGym.asm | 6 ++--- data/maps/objects/CeladonHotel.asm | 6 ++--- data/maps/objects/CeladonMansion1F.asm | 6 ++--- data/maps/objects/CeladonMansion2F.asm | 6 ++--- data/maps/objects/CeladonMansion3F.asm | 6 ++--- data/maps/objects/CeladonMansionRoof.asm | 6 ++--- data/maps/objects/CeladonMansionRoofHouse.asm | 6 ++--- data/maps/objects/CeladonMart1F.asm | 6 ++--- data/maps/objects/CeladonMart2F.asm | 6 ++--- data/maps/objects/CeladonMart3F.asm | 6 ++--- data/maps/objects/CeladonMart4F.asm | 6 ++--- data/maps/objects/CeladonMart5F.asm | 6 ++--- data/maps/objects/CeladonMartElevator.asm | 6 ++--- data/maps/objects/CeladonMartRoof.asm | 6 ++--- data/maps/objects/CeladonPokecenter.asm | 6 ++--- data/maps/objects/CeruleanBadgeHouse.asm | 6 ++--- data/maps/objects/CeruleanCave1F.asm | 6 ++--- data/maps/objects/CeruleanCave2F.asm | 6 ++--- data/maps/objects/CeruleanCaveB1F.asm | 6 ++--- data/maps/objects/CeruleanCity.asm | 6 ++--- data/maps/objects/CeruleanGym.asm | 6 ++--- data/maps/objects/CeruleanMart.asm | 6 ++--- data/maps/objects/CeruleanPokecenter.asm | 6 ++--- data/maps/objects/CeruleanTradeHouse.asm | 6 ++--- data/maps/objects/CeruleanTrashedHouse.asm | 6 ++--- data/maps/objects/ChampionsRoom.asm | 6 ++--- data/maps/objects/CinnabarGym.asm | 6 ++--- data/maps/objects/CinnabarIsland.asm | 6 ++--- data/maps/objects/CinnabarLab.asm | 6 ++--- data/maps/objects/CinnabarLabFossilRoom.asm | 6 ++--- data/maps/objects/CinnabarLabMetronomeRoom.asm | 6 ++--- data/maps/objects/CinnabarLabTradeRoom.asm | 6 ++--- data/maps/objects/CinnabarMart.asm | 6 ++--- data/maps/objects/CinnabarPokecenter.asm | 6 ++--- data/maps/objects/Colosseum.asm | 6 ++--- data/maps/objects/CopycatsHouse1F.asm | 6 ++--- data/maps/objects/CopycatsHouse2F.asm | 6 ++--- data/maps/objects/Daycare.asm | 6 ++--- data/maps/objects/DiglettsCave.asm | 6 ++--- data/maps/objects/DiglettsCaveRoute11.asm | 6 ++--- data/maps/objects/DiglettsCaveRoute2.asm | 6 ++--- data/maps/objects/FightingDojo.asm | 6 ++--- data/maps/objects/FuchsiaBillsGrandpasHouse.asm | 6 ++--- data/maps/objects/FuchsiaCity.asm | 6 ++--- data/maps/objects/FuchsiaGoodRodHouse.asm | 6 ++--- data/maps/objects/FuchsiaGym.asm | 6 ++--- data/maps/objects/FuchsiaMart.asm | 6 ++--- data/maps/objects/FuchsiaMeetingRoom.asm | 6 ++--- data/maps/objects/FuchsiaPokecenter.asm | 6 ++--- data/maps/objects/GameCorner.asm | 6 ++--- data/maps/objects/GameCornerPrizeRoom.asm | 6 ++--- data/maps/objects/HallOfFame.asm | 6 ++--- data/maps/objects/IndigoPlateau.asm | 6 ++--- data/maps/objects/IndigoPlateauLobby.asm | 6 ++--- data/maps/objects/LancesRoom.asm | 6 ++--- data/maps/objects/LavenderCuboneHouse.asm | 6 ++--- data/maps/objects/LavenderMart.asm | 6 ++--- data/maps/objects/LavenderPokecenter.asm | 6 ++--- data/maps/objects/LavenderTown.asm | 6 ++--- data/maps/objects/LoreleisRoom.asm | 6 ++--- data/maps/objects/MrFujisHouse.asm | 6 ++--- data/maps/objects/MrPsychicsHouse.asm | 6 ++--- data/maps/objects/MtMoon1F.asm | 6 ++--- data/maps/objects/MtMoonB1F.asm | 6 ++--- data/maps/objects/MtMoonB2F.asm | 6 ++--- data/maps/objects/MtMoonPokecenter.asm | 6 ++--- data/maps/objects/Museum1F.asm | 6 ++--- data/maps/objects/Museum2F.asm | 6 ++--- data/maps/objects/NameRatersHouse.asm | 6 ++--- data/maps/objects/OaksLab.asm | 6 ++--- data/maps/objects/PalletTown.asm | 6 ++--- data/maps/objects/PewterCity.asm | 6 ++--- data/maps/objects/PewterGym.asm | 6 ++--- data/maps/objects/PewterMart.asm | 6 ++--- data/maps/objects/PewterNidoranHouse.asm | 6 ++--- data/maps/objects/PewterPokecenter.asm | 6 ++--- data/maps/objects/PewterSpeechHouse.asm | 6 ++--- data/maps/objects/PokemonFanClub.asm | 6 ++--- data/maps/objects/PokemonMansion1F.asm | 6 ++--- data/maps/objects/PokemonMansion2F.asm | 6 ++--- data/maps/objects/PokemonMansion3F.asm | 6 ++--- data/maps/objects/PokemonMansionB1F.asm | 6 ++--- data/maps/objects/PokemonTower1F.asm | 6 ++--- data/maps/objects/PokemonTower2F.asm | 6 ++--- data/maps/objects/PokemonTower3F.asm | 6 ++--- data/maps/objects/PokemonTower4F.asm | 6 ++--- data/maps/objects/PokemonTower5F.asm | 6 ++--- data/maps/objects/PokemonTower6F.asm | 6 ++--- data/maps/objects/PokemonTower7F.asm | 6 ++--- data/maps/objects/PowerPlant.asm | 6 ++--- data/maps/objects/RedsHouse1F.asm | 6 ++--- data/maps/objects/RedsHouse2F.asm | 6 ++--- data/maps/objects/RockTunnel1F.asm | 6 ++--- data/maps/objects/RockTunnelB1F.asm | 6 ++--- data/maps/objects/RockTunnelPokecenter.asm | 6 ++--- data/maps/objects/RocketHideoutB1F.asm | 6 ++--- data/maps/objects/RocketHideoutB2F.asm | 6 ++--- data/maps/objects/RocketHideoutB3F.asm | 6 ++--- data/maps/objects/RocketHideoutB4F.asm | 6 ++--- data/maps/objects/RocketHideoutElevator.asm | 6 ++--- data/maps/objects/Route1.asm | 6 ++--- data/maps/objects/Route10.asm | 6 ++--- data/maps/objects/Route11.asm | 6 ++--- data/maps/objects/Route11Gate1F.asm | 6 ++--- data/maps/objects/Route11Gate2F.asm | 6 ++--- data/maps/objects/Route12.asm | 6 ++--- data/maps/objects/Route12Gate1F.asm | 6 ++--- data/maps/objects/Route12Gate2F.asm | 6 ++--- data/maps/objects/Route12SuperRodHouse.asm | 6 ++--- data/maps/objects/Route13.asm | 6 ++--- data/maps/objects/Route14.asm | 6 ++--- data/maps/objects/Route15.asm | 6 ++--- data/maps/objects/Route15Gate1F.asm | 6 ++--- data/maps/objects/Route15Gate2F.asm | 6 ++--- data/maps/objects/Route16.asm | 6 ++--- data/maps/objects/Route16FlyHouse.asm | 6 ++--- data/maps/objects/Route16Gate1F.asm | 6 ++--- data/maps/objects/Route16Gate2F.asm | 6 ++--- data/maps/objects/Route17.asm | 6 ++--- data/maps/objects/Route18.asm | 6 ++--- data/maps/objects/Route18Gate1F.asm | 6 ++--- data/maps/objects/Route18Gate2F.asm | 6 ++--- data/maps/objects/Route19.asm | 6 ++--- data/maps/objects/Route2.asm | 6 ++--- data/maps/objects/Route20.asm | 6 ++--- data/maps/objects/Route21.asm | 6 ++--- data/maps/objects/Route22.asm | 6 ++--- data/maps/objects/Route22Gate.asm | 6 ++--- data/maps/objects/Route23.asm | 6 ++--- data/maps/objects/Route24.asm | 6 ++--- data/maps/objects/Route25.asm | 6 ++--- data/maps/objects/Route2Gate.asm | 6 ++--- data/maps/objects/Route2TradeHouse.asm | 6 ++--- data/maps/objects/Route3.asm | 6 ++--- data/maps/objects/Route4.asm | 6 ++--- data/maps/objects/Route5.asm | 6 ++--- data/maps/objects/Route5Gate.asm | 6 ++--- data/maps/objects/Route6.asm | 6 ++--- data/maps/objects/Route6Gate.asm | 6 ++--- data/maps/objects/Route7.asm | 6 ++--- data/maps/objects/Route7Gate.asm | 6 ++--- data/maps/objects/Route8.asm | 6 ++--- data/maps/objects/Route8Gate.asm | 6 ++--- data/maps/objects/Route9.asm | 6 ++--- data/maps/objects/SSAnne1F.asm | 6 ++--- data/maps/objects/SSAnne1FRooms.asm | 6 ++--- data/maps/objects/SSAnne2F.asm | 6 ++--- data/maps/objects/SSAnne2FRooms.asm | 6 ++--- data/maps/objects/SSAnne3F.asm | 6 ++--- data/maps/objects/SSAnneB1F.asm | 6 ++--- data/maps/objects/SSAnneB1FRooms.asm | 6 ++--- data/maps/objects/SSAnneBow.asm | 6 ++--- data/maps/objects/SSAnneCaptainsRoom.asm | 6 ++--- data/maps/objects/SSAnneKitchen.asm | 6 ++--- data/maps/objects/SafariZoneCenter.asm | 6 ++--- data/maps/objects/SafariZoneCenterRestHouse.asm | 6 ++--- data/maps/objects/SafariZoneEast.asm | 6 ++--- data/maps/objects/SafariZoneEastRestHouse.asm | 6 ++--- data/maps/objects/SafariZoneGate.asm | 6 ++--- data/maps/objects/SafariZoneNorth.asm | 6 ++--- data/maps/objects/SafariZoneNorthRestHouse.asm | 6 ++--- data/maps/objects/SafariZoneSecretHouse.asm | 6 ++--- data/maps/objects/SafariZoneWest.asm | 6 ++--- data/maps/objects/SafariZoneWestRestHouse.asm | 6 ++--- data/maps/objects/SaffronCity.asm | 6 ++--- data/maps/objects/SaffronGym.asm | 6 ++--- data/maps/objects/SaffronMart.asm | 6 ++--- data/maps/objects/SaffronPidgeyHouse.asm | 6 ++--- data/maps/objects/SaffronPokecenter.asm | 6 ++--- data/maps/objects/SeafoamIslands1F.asm | 6 ++--- data/maps/objects/SeafoamIslandsB1F.asm | 6 ++--- data/maps/objects/SeafoamIslandsB2F.asm | 6 ++--- data/maps/objects/SeafoamIslandsB3F.asm | 6 ++--- data/maps/objects/SeafoamIslandsB4F.asm | 6 ++--- data/maps/objects/SilphCo10F.asm | 6 ++--- data/maps/objects/SilphCo11F.asm | 6 ++--- data/maps/objects/SilphCo1F.asm | 6 ++--- data/maps/objects/SilphCo2F.asm | 6 ++--- data/maps/objects/SilphCo3F.asm | 6 ++--- data/maps/objects/SilphCo4F.asm | 6 ++--- data/maps/objects/SilphCo5F.asm | 6 ++--- data/maps/objects/SilphCo6F.asm | 6 ++--- data/maps/objects/SilphCo7F.asm | 6 ++--- data/maps/objects/SilphCo8F.asm | 6 ++--- data/maps/objects/SilphCo9F.asm | 6 ++--- data/maps/objects/SilphCoElevator.asm | 6 ++--- data/maps/objects/TradeCenter.asm | 6 ++--- data/maps/objects/UndergroundPathNorthSouth.asm | 6 ++--- data/maps/objects/UndergroundPathRoute5.asm | 6 ++--- data/maps/objects/UndergroundPathRoute6.asm | 6 ++--- data/maps/objects/UndergroundPathRoute7.asm | 6 ++--- data/maps/objects/UndergroundPathRoute7Copy.asm | 6 ++--- data/maps/objects/UndergroundPathRoute8.asm | 6 ++--- data/maps/objects/UndergroundPathWestEast.asm | 6 ++--- data/maps/objects/VermilionCity.asm | 6 ++--- data/maps/objects/VermilionDock.asm | 6 ++--- data/maps/objects/VermilionGym.asm | 6 ++--- data/maps/objects/VermilionMart.asm | 6 ++--- data/maps/objects/VermilionOldRodHouse.asm | 6 ++--- data/maps/objects/VermilionPidgeyHouse.asm | 6 ++--- data/maps/objects/VermilionPokecenter.asm | 6 ++--- data/maps/objects/VermilionTradeHouse.asm | 6 ++--- data/maps/objects/VictoryRoad1F.asm | 6 ++--- data/maps/objects/VictoryRoad2F.asm | 6 ++--- data/maps/objects/VictoryRoad3F.asm | 6 ++--- data/maps/objects/ViridianCity.asm | 6 ++--- data/maps/objects/ViridianForest.asm | 6 ++--- data/maps/objects/ViridianForestNorthGate.asm | 6 ++--- data/maps/objects/ViridianForestSouthGate.asm | 6 ++--- data/maps/objects/ViridianGym.asm | 6 ++--- data/maps/objects/ViridianMart.asm | 6 ++--- data/maps/objects/ViridianNicknameHouse.asm | 6 ++--- data/maps/objects/ViridianPokecenter.asm | 6 ++--- data/maps/objects/ViridianSchoolHouse.asm | 6 ++--- data/maps/objects/WardensHouse.asm | 6 ++--- macros/scripts/maps.asm | 30 +++++++++++++++++++++++++ 224 files changed, 699 insertions(+), 669 deletions(-) diff --git a/data/maps/objects/AgathasRoom.asm b/data/maps/objects/AgathasRoom.asm index 4a82e78d..4a7f7c02 100755 --- a/data/maps/objects/AgathasRoom.asm +++ b/data/maps/objects/AgathasRoom.asm @@ -1,15 +1,15 @@ AgathasRoom_Object: db $0 ; border block - db 4 ; warps + def_warps warp 4, 11, 2, BRUNOS_ROOM warp 5, 11, 3, BRUNOS_ROOM warp 4, 0, 0, LANCES_ROOM warp 5, 0, 0, LANCES_ROOM - db 0 ; signs + def_signs - db 1 ; objects + def_objects object SPRITE_AGATHA, 5, 2, STAY, DOWN, 1, OPP_AGATHA, 1 ; warp-to diff --git a/data/maps/objects/BikeShop.asm b/data/maps/objects/BikeShop.asm index 7f699ed6..7393d65a 100755 --- a/data/maps/objects/BikeShop.asm +++ b/data/maps/objects/BikeShop.asm @@ -1,13 +1,13 @@ BikeShop_Object: db $e ; border block - db 2 ; warps + def_warps warp 2, 7, 4, LAST_MAP warp 3, 7, 4, LAST_MAP - db 0 ; signs + def_signs - db 3 ; objects + def_objects object SPRITE_BIKE_SHOP_CLERK, 6, 2, STAY, NONE, 1 ; person object SPRITE_MIDDLE_AGED_WOMAN, 5, 6, WALK, UP_DOWN, 2 ; person object SPRITE_YOUNGSTER, 1, 3, STAY, UP, 3 ; person diff --git a/data/maps/objects/BillsHouse.asm b/data/maps/objects/BillsHouse.asm index 1bfd96b9..e7c94476 100755 --- a/data/maps/objects/BillsHouse.asm +++ b/data/maps/objects/BillsHouse.asm @@ -1,13 +1,13 @@ BillsHouse_Object: db $d ; border block - db 2 ; warps + def_warps warp 2, 7, 0, LAST_MAP warp 3, 7, 0, LAST_MAP - db 0 ; signs + def_signs - db 3 ; objects + def_objects object SPRITE_MONSTER, 6, 5, STAY, NONE, 1 ; person object SPRITE_SUPER_NERD, 4, 4, STAY, NONE, 2 ; person object SPRITE_SUPER_NERD, 6, 5, STAY, NONE, 3 ; person diff --git a/data/maps/objects/BluesHouse.asm b/data/maps/objects/BluesHouse.asm index 76c80d60..369b5294 100755 --- a/data/maps/objects/BluesHouse.asm +++ b/data/maps/objects/BluesHouse.asm @@ -1,13 +1,13 @@ BluesHouse_Object: db $a ; border block - db 2 ; warps + def_warps warp 2, 7, 1, LAST_MAP warp 3, 7, 1, LAST_MAP - db 0 ; signs + def_signs - db 3 ; objects + def_objects object SPRITE_DAISY, 2, 3, STAY, RIGHT, 1 ; Daisy, sitting by map object SPRITE_DAISY, 6, 4, WALK, UP_DOWN, 2, 0 ; Daisy, walking around object SPRITE_POKEDEX, 3, 3, STAY, NONE, 3, 0 ; map on table diff --git a/data/maps/objects/BrunosRoom.asm b/data/maps/objects/BrunosRoom.asm index dde1e2dd..03f62f75 100755 --- a/data/maps/objects/BrunosRoom.asm +++ b/data/maps/objects/BrunosRoom.asm @@ -1,15 +1,15 @@ BrunosRoom_Object: db $3 ; border block - db 4 ; warps + def_warps warp 4, 11, 2, LORELEIS_ROOM warp 5, 11, 3, LORELEIS_ROOM warp 4, 0, 0, AGATHAS_ROOM warp 5, 0, 1, AGATHAS_ROOM - db 0 ; signs + def_signs - db 1 ; objects + def_objects object SPRITE_BRUNO, 5, 2, STAY, DOWN, 1, OPP_BRUNO, 1 ; warp-to diff --git a/data/maps/objects/CeladonChiefHouse.asm b/data/maps/objects/CeladonChiefHouse.asm index acf484f1..33d1833b 100755 --- a/data/maps/objects/CeladonChiefHouse.asm +++ b/data/maps/objects/CeladonChiefHouse.asm @@ -1,13 +1,13 @@ CeladonChiefHouse_Object: db $f ; border block - db 2 ; warps + def_warps warp 2, 7, 11, LAST_MAP warp 3, 7, 11, LAST_MAP - db 0 ; signs + def_signs - db 3 ; objects + def_objects object SPRITE_GRAMPS, 4, 2, STAY, DOWN, 1 ; person object SPRITE_ROCKET, 1, 4, WALK, ANY_DIR, 2 ; person object SPRITE_SAILOR, 5, 6, STAY, LEFT, 3 ; person diff --git a/data/maps/objects/CeladonCity.asm b/data/maps/objects/CeladonCity.asm index bf4cbc84..92ee0bce 100755 --- a/data/maps/objects/CeladonCity.asm +++ b/data/maps/objects/CeladonCity.asm @@ -1,7 +1,7 @@ CeladonCity_Object: db $f ; border block - db 13 ; warps + def_warps warp 8, 13, 0, CELADON_MART_1F warp 10, 13, 2, CELADON_MART_1F warp 24, 9, 0, CELADON_MANSION_1F @@ -16,7 +16,7 @@ CeladonCity_Object: warp 35, 27, 0, CELADON_CHIEF_HOUSE warp 43, 27, 0, CELADON_HOTEL - db 9 ; signs + def_signs sign 27, 15, 10 ; CeladonCityText10 sign 19, 15, 11 ; CeladonCityText11 sign 42, 9, 12 ; PokeCenterSignText @@ -27,7 +27,7 @@ CeladonCity_Object: sign 33, 21, 17 ; CeladonCityText17 sign 27, 21, 18 ; CeladonCityText18 - db 9 ; objects + def_objects object SPRITE_LITTLE_GIRL, 8, 17, WALK, ANY_DIR, 1 ; person object SPRITE_GRAMPS, 11, 28, STAY, UP, 2 ; person object SPRITE_GIRL, 14, 19, WALK, UP_DOWN, 3 ; person diff --git a/data/maps/objects/CeladonDiner.asm b/data/maps/objects/CeladonDiner.asm index 9b732187..b1ededf6 100755 --- a/data/maps/objects/CeladonDiner.asm +++ b/data/maps/objects/CeladonDiner.asm @@ -1,13 +1,13 @@ CeladonDiner_Object: db $f ; border block - db 2 ; warps + def_warps warp 3, 7, 10, LAST_MAP warp 4, 7, 10, LAST_MAP - db 0 ; signs + def_signs - db 5 ; objects + def_objects object SPRITE_COOK, 8, 5, WALK, LEFT_RIGHT, 1 ; person object SPRITE_MIDDLE_AGED_WOMAN, 7, 2, STAY, NONE, 2 ; person object SPRITE_MIDDLE_AGED_MAN, 1, 4, STAY, DOWN, 3 ; person diff --git a/data/maps/objects/CeladonGym.asm b/data/maps/objects/CeladonGym.asm index be186d55..43b85caf 100755 --- a/data/maps/objects/CeladonGym.asm +++ b/data/maps/objects/CeladonGym.asm @@ -1,13 +1,13 @@ CeladonGym_Object: db $3 ; border block - db 2 ; warps + def_warps warp 4, 17, 6, LAST_MAP warp 5, 17, 6, LAST_MAP - db 0 ; signs + def_signs - db 8 ; objects + def_objects object SPRITE_ERIKA, 4, 3, STAY, DOWN, 1, OPP_ERIKA, 1 object SPRITE_COOLTRAINER_F, 2, 11, STAY, RIGHT, 2, OPP_LASS, 17 object SPRITE_BEAUTY, 7, 10, STAY, LEFT, 3, OPP_BEAUTY, 1 diff --git a/data/maps/objects/CeladonHotel.asm b/data/maps/objects/CeladonHotel.asm index 9d318843..a9232ead 100755 --- a/data/maps/objects/CeladonHotel.asm +++ b/data/maps/objects/CeladonHotel.asm @@ -1,13 +1,13 @@ CeladonHotel_Object: db $0 ; border block - db 2 ; warps + def_warps warp 3, 7, 12, LAST_MAP warp 4, 7, 12, LAST_MAP - db 0 ; signs + def_signs - db 3 ; objects + def_objects object SPRITE_GRANNY, 3, 1, STAY, DOWN, 1 ; person object SPRITE_BEAUTY, 2, 4, STAY, NONE, 2 ; person object SPRITE_SUPER_NERD, 8, 4, WALK, LEFT_RIGHT, 3 ; person diff --git a/data/maps/objects/CeladonMansion1F.asm b/data/maps/objects/CeladonMansion1F.asm index abb3006c..a8257d69 100755 --- a/data/maps/objects/CeladonMansion1F.asm +++ b/data/maps/objects/CeladonMansion1F.asm @@ -1,17 +1,17 @@ CeladonMansion1F_Object: db $f ; border block - db 5 ; warps + def_warps warp 4, 11, 2, LAST_MAP warp 5, 11, 2, LAST_MAP warp 4, 0, 4, LAST_MAP warp 7, 1, 1, CELADON_MANSION_2F warp 2, 1, 2, CELADON_MANSION_2F - db 1 ; signs + def_signs sign 4, 9, 5 ; CeladonMansion1Text5 - db 4 ; objects + def_objects object SPRITE_MONSTER, 0, 5, STAY, RIGHT, 1 ; person object SPRITE_GRANNY, 1, 5, STAY, DOWN, 2 ; person object SPRITE_FAIRY, 1, 8, WALK, LEFT_RIGHT, 3 ; person diff --git a/data/maps/objects/CeladonMansion2F.asm b/data/maps/objects/CeladonMansion2F.asm index 09c94d29..c489678e 100755 --- a/data/maps/objects/CeladonMansion2F.asm +++ b/data/maps/objects/CeladonMansion2F.asm @@ -1,16 +1,16 @@ CeladonMansion2F_Object: db $f ; border block - db 4 ; warps + def_warps warp 6, 1, 0, CELADON_MANSION_3F warp 7, 1, 3, CELADON_MANSION_1F warp 2, 1, 4, CELADON_MANSION_1F warp 4, 1, 3, CELADON_MANSION_3F - db 1 ; signs + def_signs sign 4, 9, 1 ; CeladonMansion2Text1 - db 0 ; objects + def_objects ; warp-to warp_to 6, 1, CELADON_MANSION_2F_WIDTH ; CELADON_MANSION_3F diff --git a/data/maps/objects/CeladonMansion3F.asm b/data/maps/objects/CeladonMansion3F.asm index 9ff614c7..761ab5e4 100755 --- a/data/maps/objects/CeladonMansion3F.asm +++ b/data/maps/objects/CeladonMansion3F.asm @@ -1,19 +1,19 @@ CeladonMansion3F_Object: db $f ; border block - db 4 ; warps + def_warps warp 6, 1, 0, CELADON_MANSION_2F warp 7, 1, 0, CELADON_MANSION_ROOF warp 2, 1, 1, CELADON_MANSION_ROOF warp 4, 1, 3, CELADON_MANSION_2F - db 4 ; signs + def_signs sign 1, 3, 5 ; CeladonMansion3Text5 sign 4, 3, 6 ; CeladonMansion3Text6 sign 1, 6, 7 ; CeladonMansion3Text7 sign 4, 9, 8 ; CeladonMansion3Text8 - db 4 ; objects + def_objects object SPRITE_BIKE_SHOP_CLERK, 0, 4, STAY, UP, 1 ; person object SPRITE_CLERK, 3, 4, STAY, UP, 2 ; person object SPRITE_SUPER_NERD, 0, 7, STAY, UP, 3 ; person diff --git a/data/maps/objects/CeladonMansionRoof.asm b/data/maps/objects/CeladonMansionRoof.asm index 353b0b96..a34ffc0f 100755 --- a/data/maps/objects/CeladonMansionRoof.asm +++ b/data/maps/objects/CeladonMansionRoof.asm @@ -1,15 +1,15 @@ CeladonMansionRoof_Object: db $9 ; border block - db 3 ; warps + def_warps warp 6, 1, 1, CELADON_MANSION_3F warp 2, 1, 2, CELADON_MANSION_3F warp 2, 7, 0, CELADON_MANSION_ROOF_HOUSE - db 1 ; signs + def_signs sign 3, 7, 1 ; CeladonMansion4Text1 - db 0 ; objects + def_objects ; warp-to warp_to 6, 1, CELADON_MANSION_ROOF_WIDTH ; CELADON_MANSION_3F diff --git a/data/maps/objects/CeladonMansionRoofHouse.asm b/data/maps/objects/CeladonMansionRoofHouse.asm index d0318820..7d1feccd 100755 --- a/data/maps/objects/CeladonMansionRoofHouse.asm +++ b/data/maps/objects/CeladonMansionRoofHouse.asm @@ -1,13 +1,13 @@ CeladonMansionRoofHouse_Object: db $a ; border block - db 2 ; warps + def_warps warp 2, 7, 2, CELADON_MANSION_ROOF warp 3, 7, 2, CELADON_MANSION_ROOF - db 0 ; signs + def_signs - db 2 ; objects + def_objects object SPRITE_HIKER, 2, 2, STAY, DOWN, 1 ; person object SPRITE_POKE_BALL, 4, 3, STAY, NONE, 2 ; person diff --git a/data/maps/objects/CeladonMart1F.asm b/data/maps/objects/CeladonMart1F.asm index 6f4762fa..34dccc6d 100755 --- a/data/maps/objects/CeladonMart1F.asm +++ b/data/maps/objects/CeladonMart1F.asm @@ -1,7 +1,7 @@ CeladonMart1F_Object: db $f ; border block - db 6 ; warps + def_warps warp 2, 7, 0, LAST_MAP warp 3, 7, 0, LAST_MAP warp 16, 7, 1, LAST_MAP @@ -9,11 +9,11 @@ CeladonMart1F_Object: warp 12, 1, 0, CELADON_MART_2F warp 1, 1, 0, CELADON_MART_ELEVATOR - db 2 ; signs + def_signs sign 11, 4, 2 ; CeladonMart1Text2 sign 14, 1, 3 ; CeladonMart1Text3 - db 1 ; objects + def_objects object SPRITE_LINK_RECEPTIONIST, 8, 3, STAY, DOWN, 1 ; person ; warp-to diff --git a/data/maps/objects/CeladonMart2F.asm b/data/maps/objects/CeladonMart2F.asm index dfd12d3c..ef7286d4 100755 --- a/data/maps/objects/CeladonMart2F.asm +++ b/data/maps/objects/CeladonMart2F.asm @@ -1,15 +1,15 @@ CeladonMart2F_Object: db $f ; border block - db 3 ; warps + def_warps warp 12, 1, 4, CELADON_MART_1F warp 16, 1, 1, CELADON_MART_3F warp 1, 1, 0, CELADON_MART_ELEVATOR - db 1 ; signs + def_signs sign 14, 1, 5 ; CeladonMart2Text5 - db 4 ; objects + def_objects object SPRITE_CLERK, 5, 3, STAY, DOWN, 1 ; person object SPRITE_CLERK, 6, 3, STAY, DOWN, 2 ; person object SPRITE_MIDDLE_AGED_MAN, 19, 5, STAY, NONE, 3 ; person diff --git a/data/maps/objects/CeladonMart3F.asm b/data/maps/objects/CeladonMart3F.asm index 04a4c2f0..4eb7bfe0 100755 --- a/data/maps/objects/CeladonMart3F.asm +++ b/data/maps/objects/CeladonMart3F.asm @@ -1,12 +1,12 @@ CeladonMart3F_Object: db $f ; border block - db 3 ; warps + def_warps warp 12, 1, 0, CELADON_MART_4F warp 16, 1, 1, CELADON_MART_2F warp 1, 1, 0, CELADON_MART_ELEVATOR - db 12 ; signs + def_signs sign 2, 4, 6 ; CeladonMart3Text6 sign 3, 4, 7 ; CeladonMart3Text7 sign 5, 4, 8 ; CeladonMart3Text8 @@ -20,7 +20,7 @@ CeladonMart3F_Object: sign 6, 1, 16 ; CeladonMart3Text16 sign 10, 1, 17 ; CeladonMart3Text17 - db 5 ; objects + def_objects object SPRITE_CLERK, 16, 5, STAY, NONE, 1 ; person object SPRITE_GAMEBOY_KID, 11, 6, STAY, RIGHT, 2 ; person object SPRITE_GAMEBOY_KID, 7, 2, STAY, DOWN, 3 ; person diff --git a/data/maps/objects/CeladonMart4F.asm b/data/maps/objects/CeladonMart4F.asm index 3949529b..b452ec1b 100755 --- a/data/maps/objects/CeladonMart4F.asm +++ b/data/maps/objects/CeladonMart4F.asm @@ -1,15 +1,15 @@ CeladonMart4F_Object: db $f ; border block - db 3 ; warps + def_warps warp 12, 1, 0, CELADON_MART_3F warp 16, 1, 1, CELADON_MART_5F warp 1, 1, 0, CELADON_MART_ELEVATOR - db 1 ; signs + def_signs sign 14, 1, 4 ; CeladonMart4Text4 - db 3 ; objects + def_objects object SPRITE_CLERK, 5, 7, STAY, NONE, 1 ; person object SPRITE_SUPER_NERD, 15, 5, WALK, LEFT_RIGHT, 2 ; person object SPRITE_YOUNGSTER, 5, 2, WALK, LEFT_RIGHT, 3 ; person diff --git a/data/maps/objects/CeladonMart5F.asm b/data/maps/objects/CeladonMart5F.asm index 61a7428e..834b3248 100755 --- a/data/maps/objects/CeladonMart5F.asm +++ b/data/maps/objects/CeladonMart5F.asm @@ -1,15 +1,15 @@ CeladonMart5F_Object: db $f ; border block - db 3 ; warps + def_warps warp 12, 1, 0, CELADON_MART_ROOF warp 16, 1, 1, CELADON_MART_4F warp 1, 1, 0, CELADON_MART_ELEVATOR - db 1 ; signs + def_signs sign 14, 1, 5 ; CeladonMart5Text5 - db 4 ; objects + def_objects object SPRITE_GENTLEMAN, 14, 5, WALK, UP_DOWN, 1 ; person object SPRITE_SAILOR, 2, 6, STAY, NONE, 2 ; person object SPRITE_CLERK, 5, 3, STAY, DOWN, 3 ; person diff --git a/data/maps/objects/CeladonMartElevator.asm b/data/maps/objects/CeladonMartElevator.asm index 9688daef..ebb930b4 100755 --- a/data/maps/objects/CeladonMartElevator.asm +++ b/data/maps/objects/CeladonMartElevator.asm @@ -1,14 +1,14 @@ CeladonMartElevator_Object: db $f ; border block - db 2 ; warps + def_warps warp 1, 3, 5, CELADON_MART_1F warp 2, 3, 5, CELADON_MART_1F - db 1 ; signs + def_signs sign 3, 0, 1 ; CeladonMartElevatorText1 - db 0 ; objects + def_objects ; warp-to warp_to 1, 3, CELADON_MART_ELEVATOR_WIDTH ; CELADON_MART_1F diff --git a/data/maps/objects/CeladonMartRoof.asm b/data/maps/objects/CeladonMartRoof.asm index b358183e..7ec98888 100755 --- a/data/maps/objects/CeladonMartRoof.asm +++ b/data/maps/objects/CeladonMartRoof.asm @@ -1,16 +1,16 @@ CeladonMartRoof_Object: db $42 ; border block - db 1 ; warps + def_warps warp 15, 2, 0, CELADON_MART_5F - db 4 ; signs + def_signs sign 10, 1, 3 ; CeladonMartRoofText3 sign 11, 1, 4 ; CeladonMartRoofText4 sign 12, 2, 5 ; CeladonMartRoofText5 sign 13, 2, 6 ; CeladonMartRoofText6 - db 2 ; objects + def_objects object SPRITE_SUPER_NERD, 10, 4, STAY, LEFT, 1 ; person object SPRITE_LITTLE_GIRL, 5, 5, WALK, ANY_DIR, 2 ; person diff --git a/data/maps/objects/CeladonPokecenter.asm b/data/maps/objects/CeladonPokecenter.asm index a3392021..955c82ac 100755 --- a/data/maps/objects/CeladonPokecenter.asm +++ b/data/maps/objects/CeladonPokecenter.asm @@ -1,13 +1,13 @@ CeladonPokecenter_Object: db $0 ; border block - db 2 ; warps + def_warps warp 3, 7, 5, LAST_MAP warp 4, 7, 5, LAST_MAP - db 0 ; signs + def_signs - db 4 ; objects + def_objects object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person object SPRITE_GENTLEMAN, 7, 3, WALK, LEFT_RIGHT, 2 ; person object SPRITE_BEAUTY, 10, 5, WALK, ANY_DIR, 3 ; person diff --git a/data/maps/objects/CeruleanBadgeHouse.asm b/data/maps/objects/CeruleanBadgeHouse.asm index 985d989c..d3621660 100755 --- a/data/maps/objects/CeruleanBadgeHouse.asm +++ b/data/maps/objects/CeruleanBadgeHouse.asm @@ -1,14 +1,14 @@ CeruleanBadgeHouse_Object: db $c ; border block - db 3 ; warps + def_warps warp 2, 0, 9, LAST_MAP warp 2, 7, 8, LAST_MAP warp 3, 7, 8, LAST_MAP - db 0 ; signs + def_signs - db 1 ; objects + def_objects object SPRITE_MIDDLE_AGED_MAN, 5, 3, STAY, RIGHT, 1 ; person ; warp-to diff --git a/data/maps/objects/CeruleanCave1F.asm b/data/maps/objects/CeruleanCave1F.asm index 80283f09..b9ffd3fc 100755 --- a/data/maps/objects/CeruleanCave1F.asm +++ b/data/maps/objects/CeruleanCave1F.asm @@ -1,7 +1,7 @@ CeruleanCave1F_Object: db $7d ; border block - db 9 ; warps + def_warps warp 24, 17, 6, LAST_MAP warp 25, 17, 6, LAST_MAP warp 27, 1, 0, CERULEAN_CAVE_2F @@ -12,9 +12,9 @@ CeruleanCave1F_Object: warp 3, 11, 5, CERULEAN_CAVE_2F warp 0, 6, 0, CERULEAN_CAVE_B1F - db 0 ; signs + def_signs - db 3 ; objects + def_objects object SPRITE_POKE_BALL, 7, 13, STAY, NONE, 1, FULL_RESTORE object SPRITE_POKE_BALL, 19, 3, STAY, NONE, 2, MAX_ELIXER object SPRITE_POKE_BALL, 5, 0, STAY, NONE, 3, NUGGET diff --git a/data/maps/objects/CeruleanCave2F.asm b/data/maps/objects/CeruleanCave2F.asm index 26dee8ef..d31977a2 100755 --- a/data/maps/objects/CeruleanCave2F.asm +++ b/data/maps/objects/CeruleanCave2F.asm @@ -1,7 +1,7 @@ CeruleanCave2F_Object: db $7d ; border block - db 6 ; warps + def_warps warp 29, 1, 2, CERULEAN_CAVE_1F warp 22, 6, 3, CERULEAN_CAVE_1F warp 19, 7, 4, CERULEAN_CAVE_1F @@ -9,9 +9,9 @@ CeruleanCave2F_Object: warp 1, 3, 6, CERULEAN_CAVE_1F warp 3, 11, 7, CERULEAN_CAVE_1F - db 0 ; signs + def_signs - db 3 ; objects + def_objects object SPRITE_POKE_BALL, 29, 9, STAY, NONE, 1, PP_UP object SPRITE_POKE_BALL, 4, 15, STAY, NONE, 2, ULTRA_BALL object SPRITE_POKE_BALL, 13, 6, STAY, NONE, 3, FULL_RESTORE diff --git a/data/maps/objects/CeruleanCaveB1F.asm b/data/maps/objects/CeruleanCaveB1F.asm index 642ff0c7..5e4fb531 100755 --- a/data/maps/objects/CeruleanCaveB1F.asm +++ b/data/maps/objects/CeruleanCaveB1F.asm @@ -1,12 +1,12 @@ CeruleanCaveB1F_Object: db $7d ; border block - db 1 ; warps + def_warps warp 3, 6, 8, CERULEAN_CAVE_1F - db 0 ; signs + def_signs - db 3 ; objects + def_objects object SPRITE_MONSTER, 27, 13, STAY, DOWN, 1, MEWTWO, 70 object SPRITE_POKE_BALL, 16, 9, STAY, NONE, 2, ULTRA_BALL object SPRITE_POKE_BALL, 18, 1, STAY, NONE, 3, MAX_REVIVE diff --git a/data/maps/objects/CeruleanCity.asm b/data/maps/objects/CeruleanCity.asm index a7601890..fa28858e 100755 --- a/data/maps/objects/CeruleanCity.asm +++ b/data/maps/objects/CeruleanCity.asm @@ -1,7 +1,7 @@ CeruleanCity_Object: db $f ; border block - db 10 ; warps + def_warps warp 27, 11, 0, CERULEAN_TRASHED_HOUSE warp 13, 15, 0, CERULEAN_TRADE_HOUSE warp 19, 17, 0, CERULEAN_POKECENTER @@ -13,7 +13,7 @@ CeruleanCity_Object: warp 9, 11, 1, CERULEAN_BADGE_HOUSE warp 9, 9, 0, CERULEAN_BADGE_HOUSE - db 6 ; signs + def_signs sign 23, 19, 12 ; CeruleanCityText12 sign 17, 29, 13 ; CeruleanCityText13 sign 26, 25, 14 ; MartSignText @@ -21,7 +21,7 @@ CeruleanCity_Object: sign 11, 25, 16 ; CeruleanCityText16 sign 27, 21, 17 ; CeruleanCityText17 - db 11 ; objects + def_objects object SPRITE_BLUE, 20, 2, STAY, DOWN, 1 ; person object SPRITE_ROCKET, 30, 8, STAY, NONE, 2, OPP_ROCKET, 5 object SPRITE_COOLTRAINER_M, 31, 20, STAY, DOWN, 3 ; person diff --git a/data/maps/objects/CeruleanGym.asm b/data/maps/objects/CeruleanGym.asm index a8c9f106..d85750cc 100755 --- a/data/maps/objects/CeruleanGym.asm +++ b/data/maps/objects/CeruleanGym.asm @@ -1,13 +1,13 @@ CeruleanGym_Object: db $3 ; border block - db 2 ; warps + def_warps warp 4, 13, 3, LAST_MAP warp 5, 13, 3, LAST_MAP - db 0 ; signs + def_signs - db 4 ; objects + def_objects object SPRITE_BRUNETTE_GIRL, 4, 2, STAY, DOWN, 1, OPP_MISTY, 1 object SPRITE_COOLTRAINER_F, 2, 3, STAY, RIGHT, 2, OPP_JR_TRAINER_F, 1 object SPRITE_SWIMMER, 8, 7, STAY, LEFT, 3, OPP_SWIMMER, 1 diff --git a/data/maps/objects/CeruleanMart.asm b/data/maps/objects/CeruleanMart.asm index c6fc6d6f..f15b9f2a 100755 --- a/data/maps/objects/CeruleanMart.asm +++ b/data/maps/objects/CeruleanMart.asm @@ -1,13 +1,13 @@ CeruleanMart_Object: db $0 ; border block - db 2 ; warps + def_warps warp 3, 7, 5, LAST_MAP warp 4, 7, 5, LAST_MAP - db 0 ; signs + def_signs - db 3 ; objects + def_objects object SPRITE_CLERK, 0, 5, STAY, RIGHT, 1 ; person object SPRITE_COOLTRAINER_M, 3, 4, WALK, UP_DOWN, 2 ; person object SPRITE_COOLTRAINER_F, 6, 2, WALK, LEFT_RIGHT, 3 ; person diff --git a/data/maps/objects/CeruleanPokecenter.asm b/data/maps/objects/CeruleanPokecenter.asm index f9c2715a..c1f25b1f 100755 --- a/data/maps/objects/CeruleanPokecenter.asm +++ b/data/maps/objects/CeruleanPokecenter.asm @@ -1,13 +1,13 @@ CeruleanPokecenter_Object: db $0 ; border block - db 2 ; warps + def_warps warp 3, 7, 2, LAST_MAP warp 4, 7, 2, LAST_MAP - db 0 ; signs + def_signs - db 4 ; objects + def_objects object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person object SPRITE_SUPER_NERD, 10, 5, WALK, ANY_DIR, 2 ; person object SPRITE_GENTLEMAN, 4, 3, STAY, DOWN, 3 ; person diff --git a/data/maps/objects/CeruleanTradeHouse.asm b/data/maps/objects/CeruleanTradeHouse.asm index f5f37344..ff3f47b3 100755 --- a/data/maps/objects/CeruleanTradeHouse.asm +++ b/data/maps/objects/CeruleanTradeHouse.asm @@ -1,13 +1,13 @@ CeruleanTradeHouse_Object: db $a ; border block - db 2 ; warps + def_warps warp 2, 7, 1, LAST_MAP warp 3, 7, 1, LAST_MAP - db 0 ; signs + def_signs - db 2 ; objects + def_objects object SPRITE_GRANNY, 5, 4, STAY, LEFT, 1 ; person object SPRITE_GAMBLER, 1, 2, STAY, NONE, 2 ; person diff --git a/data/maps/objects/CeruleanTrashedHouse.asm b/data/maps/objects/CeruleanTrashedHouse.asm index ad29a6ad..d22a8366 100755 --- a/data/maps/objects/CeruleanTrashedHouse.asm +++ b/data/maps/objects/CeruleanTrashedHouse.asm @@ -1,15 +1,15 @@ CeruleanTrashedHouse_Object: db $a ; border block - db 3 ; warps + def_warps warp 2, 7, 0, LAST_MAP warp 3, 7, 0, LAST_MAP warp 3, 0, 7, LAST_MAP - db 1 ; signs + def_signs sign 3, 0, 3 ; CeruleanHouseTrashedText3 - db 2 ; objects + def_objects object SPRITE_FISHING_GURU, 2, 1, STAY, DOWN, 1 ; person object SPRITE_GIRL, 5, 6, WALK, LEFT_RIGHT, 2 ; person diff --git a/data/maps/objects/ChampionsRoom.asm b/data/maps/objects/ChampionsRoom.asm index 1e0cb7f4..7917908a 100755 --- a/data/maps/objects/ChampionsRoom.asm +++ b/data/maps/objects/ChampionsRoom.asm @@ -1,15 +1,15 @@ ChampionsRoom_Object: db $3 ; border block - db 4 ; warps + def_warps warp 3, 7, 1, LANCES_ROOM warp 4, 7, 2, LANCES_ROOM warp 3, 0, 0, HALL_OF_FAME warp 4, 0, 0, HALL_OF_FAME - db 0 ; signs + def_signs - db 2 ; objects + def_objects object SPRITE_BLUE, 4, 2, STAY, DOWN, 1 ; person object SPRITE_OAK, 3, 7, STAY, UP, 2 ; person diff --git a/data/maps/objects/CinnabarGym.asm b/data/maps/objects/CinnabarGym.asm index 6548ddb8..a4223aea 100755 --- a/data/maps/objects/CinnabarGym.asm +++ b/data/maps/objects/CinnabarGym.asm @@ -1,13 +1,13 @@ CinnabarGym_Object: db $2e ; border block - db 2 ; warps + def_warps warp 16, 17, 1, LAST_MAP warp 17, 17, 1, LAST_MAP - db 0 ; signs + def_signs - db 9 ; objects + def_objects object SPRITE_MIDDLE_AGED_MAN, 3, 3, STAY, DOWN, 1, OPP_BLAINE, 1 object SPRITE_SUPER_NERD, 17, 2, STAY, DOWN, 2, OPP_SUPER_NERD, 9 object SPRITE_SUPER_NERD, 17, 8, STAY, DOWN, 3, OPP_BURGLAR, 4 diff --git a/data/maps/objects/CinnabarIsland.asm b/data/maps/objects/CinnabarIsland.asm index 1cb3e28c..f908da0b 100755 --- a/data/maps/objects/CinnabarIsland.asm +++ b/data/maps/objects/CinnabarIsland.asm @@ -1,21 +1,21 @@ CinnabarIsland_Object: db $43 ; border block - db 5 ; warps + def_warps warp 6, 3, 1, POKEMON_MANSION_1F warp 18, 3, 0, CINNABAR_GYM warp 6, 9, 0, CINNABAR_LAB warp 11, 11, 0, CINNABAR_POKECENTER warp 15, 11, 0, CINNABAR_MART - db 5 ; signs + def_signs sign 9, 5, 3 ; CinnabarIslandText3 sign 16, 11, 4 ; MartSignText sign 12, 11, 5 ; PokeCenterSignText sign 9, 11, 6 ; CinnabarIslandText6 sign 13, 3, 7 ; CinnabarIslandText7 - db 2 ; objects + def_objects object SPRITE_GIRL, 12, 5, WALK, LEFT_RIGHT, 1 ; person object SPRITE_GAMBLER, 14, 6, STAY, NONE, 2 ; person diff --git a/data/maps/objects/CinnabarLab.asm b/data/maps/objects/CinnabarLab.asm index 9398dc1e..1a4f182d 100755 --- a/data/maps/objects/CinnabarLab.asm +++ b/data/maps/objects/CinnabarLab.asm @@ -1,20 +1,20 @@ CinnabarLab_Object: db $17 ; border block - db 5 ; warps + def_warps warp 2, 7, 2, LAST_MAP warp 3, 7, 2, LAST_MAP warp 8, 4, 0, CINNABAR_LAB_TRADE_ROOM warp 12, 4, 0, CINNABAR_LAB_METRONOME_ROOM warp 16, 4, 0, CINNABAR_LAB_FOSSIL_ROOM - db 4 ; signs + def_signs sign 3, 2, 2 ; Lab1Text2 sign 9, 4, 3 ; Lab1Text3 sign 13, 4, 4 ; Lab1Text4 sign 17, 4, 5 ; Lab1Text5 - db 1 ; objects + def_objects object SPRITE_FISHING_GURU, 1, 3, STAY, NONE, 1 ; person ; warp-to diff --git a/data/maps/objects/CinnabarLabFossilRoom.asm b/data/maps/objects/CinnabarLabFossilRoom.asm index 9ab531c2..b00bdff1 100755 --- a/data/maps/objects/CinnabarLabFossilRoom.asm +++ b/data/maps/objects/CinnabarLabFossilRoom.asm @@ -1,13 +1,13 @@ CinnabarLabFossilRoom_Object: db $17 ; border block - db 2 ; warps + def_warps warp 2, 7, 4, CINNABAR_LAB warp 3, 7, 4, CINNABAR_LAB - db 0 ; signs + def_signs - db 2 ; objects + def_objects object SPRITE_SCIENTIST, 5, 2, WALK, LEFT_RIGHT, 1 ; person object SPRITE_SCIENTIST, 7, 6, STAY, UP, 2 ; person diff --git a/data/maps/objects/CinnabarLabMetronomeRoom.asm b/data/maps/objects/CinnabarLabMetronomeRoom.asm index d3250af3..ee338b70 100755 --- a/data/maps/objects/CinnabarLabMetronomeRoom.asm +++ b/data/maps/objects/CinnabarLabMetronomeRoom.asm @@ -1,16 +1,16 @@ CinnabarLabMetronomeRoom_Object: db $17 ; border block - db 2 ; warps + def_warps warp 2, 7, 3, CINNABAR_LAB warp 3, 7, 3, CINNABAR_LAB - db 3 ; signs + def_signs sign 0, 4, 3 ; Lab3Text3 sign 1, 4, 4 ; Lab3Text4 sign 2, 1, 5 ; Lab3Text5 - db 2 ; objects + def_objects object SPRITE_SCIENTIST, 7, 2, STAY, DOWN, 1 ; person object SPRITE_SCIENTIST, 2, 3, WALK, LEFT_RIGHT, 2 ; person diff --git a/data/maps/objects/CinnabarLabTradeRoom.asm b/data/maps/objects/CinnabarLabTradeRoom.asm index de9a7d96..7a6c580f 100755 --- a/data/maps/objects/CinnabarLabTradeRoom.asm +++ b/data/maps/objects/CinnabarLabTradeRoom.asm @@ -1,13 +1,13 @@ CinnabarLabTradeRoom_Object: db $17 ; border block - db 2 ; warps + def_warps warp 2, 7, 2, CINNABAR_LAB warp 3, 7, 2, CINNABAR_LAB - db 0 ; signs + def_signs - db 3 ; objects + def_objects object SPRITE_SUPER_NERD, 3, 2, STAY, DOWN, 1 ; person object SPRITE_GRAMPS, 1, 4, STAY, NONE, 2 ; person object SPRITE_BEAUTY, 5, 5, STAY, UP, 3 ; person diff --git a/data/maps/objects/CinnabarMart.asm b/data/maps/objects/CinnabarMart.asm index 206492a7..3c903952 100755 --- a/data/maps/objects/CinnabarMart.asm +++ b/data/maps/objects/CinnabarMart.asm @@ -1,13 +1,13 @@ CinnabarMart_Object: db $0 ; border block - db 2 ; warps + def_warps warp 3, 7, 4, LAST_MAP warp 4, 7, 4, LAST_MAP - db 0 ; signs + def_signs - db 3 ; objects + def_objects object SPRITE_CLERK, 0, 5, STAY, RIGHT, 1 ; person object SPRITE_ERIKA, 6, 2, STAY, NONE, 2 ; person object SPRITE_SCIENTIST, 3, 4, STAY, NONE, 3 ; person diff --git a/data/maps/objects/CinnabarPokecenter.asm b/data/maps/objects/CinnabarPokecenter.asm index 051bcac1..6b77254e 100755 --- a/data/maps/objects/CinnabarPokecenter.asm +++ b/data/maps/objects/CinnabarPokecenter.asm @@ -1,13 +1,13 @@ CinnabarPokecenter_Object: db $0 ; border block - db 2 ; warps + def_warps warp 3, 7, 3, LAST_MAP warp 4, 7, 3, LAST_MAP - db 0 ; signs + def_signs - db 4 ; objects + def_objects object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person object SPRITE_COOLTRAINER_F, 9, 4, WALK, ANY_DIR, 2 ; person object SPRITE_GENTLEMAN, 2, 6, STAY, NONE, 3 ; person diff --git a/data/maps/objects/Colosseum.asm b/data/maps/objects/Colosseum.asm index 18762584..e152c040 100755 --- a/data/maps/objects/Colosseum.asm +++ b/data/maps/objects/Colosseum.asm @@ -1,9 +1,9 @@ Colosseum_Object: db $e ; border block - db 0 ; warps + def_warps - db 0 ; signs + def_signs - db 1 ; objects + def_objects object SPRITE_RED, 2, 2, STAY, 0, 1 ; person diff --git a/data/maps/objects/CopycatsHouse1F.asm b/data/maps/objects/CopycatsHouse1F.asm index 167022e8..978f7834 100755 --- a/data/maps/objects/CopycatsHouse1F.asm +++ b/data/maps/objects/CopycatsHouse1F.asm @@ -1,14 +1,14 @@ CopycatsHouse1F_Object: db $a ; border block - db 3 ; warps + def_warps warp 2, 7, 0, LAST_MAP warp 3, 7, 0, LAST_MAP warp 7, 1, 0, COPYCATS_HOUSE_2F - db 0 ; signs + def_signs - db 3 ; objects + def_objects object SPRITE_MIDDLE_AGED_WOMAN, 2, 2, STAY, DOWN, 1 ; person object SPRITE_MIDDLE_AGED_MAN, 5, 4, STAY, LEFT, 2 ; person object SPRITE_FAIRY, 1, 4, WALK, UP_DOWN, 3 ; person diff --git a/data/maps/objects/CopycatsHouse2F.asm b/data/maps/objects/CopycatsHouse2F.asm index 0b9713ae..170d3756 100755 --- a/data/maps/objects/CopycatsHouse2F.asm +++ b/data/maps/objects/CopycatsHouse2F.asm @@ -1,14 +1,14 @@ CopycatsHouse2F_Object: db $a ; border block - db 1 ; warps + def_warps warp 7, 1, 2, COPYCATS_HOUSE_1F - db 2 ; signs + def_signs sign 3, 5, 6 ; CopycatsHouse2FText6 sign 0, 1, 7 ; CopycatsHouse2FText7 - db 5 ; objects + def_objects object SPRITE_BRUNETTE_GIRL, 4, 3, WALK, ANY_DIR, 1 ; person object SPRITE_BIRD, 4, 6, WALK, LEFT_RIGHT, 2 ; person object SPRITE_MONSTER, 5, 1, STAY, DOWN, 3 ; person diff --git a/data/maps/objects/Daycare.asm b/data/maps/objects/Daycare.asm index e701a846..1679d757 100755 --- a/data/maps/objects/Daycare.asm +++ b/data/maps/objects/Daycare.asm @@ -1,13 +1,13 @@ Daycare_Object: db $a ; border block - db 2 ; warps + def_warps warp 2, 7, 4, LAST_MAP warp 3, 7, 4, LAST_MAP - db 0 ; signs + def_signs - db 1 ; objects + def_objects object SPRITE_GENTLEMAN, 2, 3, STAY, RIGHT, 1 ; person ; warp-to diff --git a/data/maps/objects/DiglettsCave.asm b/data/maps/objects/DiglettsCave.asm index b4fd0af8..f0ad427f 100755 --- a/data/maps/objects/DiglettsCave.asm +++ b/data/maps/objects/DiglettsCave.asm @@ -1,13 +1,13 @@ DiglettsCave_Object: db $19 ; border block - db 2 ; warps + def_warps warp 5, 5, 2, DIGLETTS_CAVE_ROUTE_2 warp 37, 31, 2, DIGLETTS_CAVE_ROUTE_11 - db 0 ; signs + def_signs - db 0 ; objects + def_objects ; warp-to warp_to 5, 5, DIGLETTS_CAVE_WIDTH ; DIGLETTS_CAVE_ROUTE_2 diff --git a/data/maps/objects/DiglettsCaveRoute11.asm b/data/maps/objects/DiglettsCaveRoute11.asm index bbfa84e6..068229d1 100755 --- a/data/maps/objects/DiglettsCaveRoute11.asm +++ b/data/maps/objects/DiglettsCaveRoute11.asm @@ -1,14 +1,14 @@ DiglettsCaveRoute11_Object: db $7d ; border block - db 3 ; warps + def_warps warp 2, 7, 4, LAST_MAP warp 3, 7, 4, LAST_MAP warp 4, 4, 1, DIGLETTS_CAVE - db 0 ; signs + def_signs - db 1 ; objects + def_objects object SPRITE_GAMBLER, 2, 3, STAY, NONE, 1 ; person ; warp-to diff --git a/data/maps/objects/DiglettsCaveRoute2.asm b/data/maps/objects/DiglettsCaveRoute2.asm index 082f6ac6..49a380df 100755 --- a/data/maps/objects/DiglettsCaveRoute2.asm +++ b/data/maps/objects/DiglettsCaveRoute2.asm @@ -1,14 +1,14 @@ DiglettsCaveRoute2_Object: db $7d ; border block - db 3 ; warps + def_warps warp 2, 7, 0, LAST_MAP warp 3, 7, 0, LAST_MAP warp 4, 4, 0, DIGLETTS_CAVE - db 0 ; signs + def_signs - db 1 ; objects + def_objects object SPRITE_FISHING_GURU, 3, 3, STAY, NONE, 1 ; person ; warp-to diff --git a/data/maps/objects/FightingDojo.asm b/data/maps/objects/FightingDojo.asm index ecd00bfb..3e74aa91 100755 --- a/data/maps/objects/FightingDojo.asm +++ b/data/maps/objects/FightingDojo.asm @@ -1,13 +1,13 @@ FightingDojo_Object: db $3 ; border block - db 2 ; warps + def_warps warp 4, 11, 1, LAST_MAP warp 5, 11, 1, LAST_MAP - db 0 ; signs + def_signs - db 7 ; objects + def_objects object SPRITE_HIKER, 5, 3, STAY, DOWN, 1, OPP_BLACKBELT, 1 object SPRITE_HIKER, 3, 4, STAY, RIGHT, 2, OPP_BLACKBELT, 2 object SPRITE_HIKER, 3, 6, STAY, RIGHT, 3, OPP_BLACKBELT, 3 diff --git a/data/maps/objects/FuchsiaBillsGrandpasHouse.asm b/data/maps/objects/FuchsiaBillsGrandpasHouse.asm index 86ebf409..5a052f20 100755 --- a/data/maps/objects/FuchsiaBillsGrandpasHouse.asm +++ b/data/maps/objects/FuchsiaBillsGrandpasHouse.asm @@ -1,13 +1,13 @@ FuchsiaBillsGrandpasHouse_Object: db $a ; border block - db 2 ; warps + def_warps warp 2, 7, 1, LAST_MAP warp 3, 7, 1, LAST_MAP - db 0 ; signs + def_signs - db 3 ; objects + def_objects object SPRITE_MIDDLE_AGED_WOMAN, 2, 3, STAY, RIGHT, 1 ; person object SPRITE_GAMBLER, 7, 2, STAY, UP, 2 ; person object SPRITE_YOUNGSTER, 5, 5, STAY, NONE, 3 ; person diff --git a/data/maps/objects/FuchsiaCity.asm b/data/maps/objects/FuchsiaCity.asm index c5f0ef58..08a88ac3 100755 --- a/data/maps/objects/FuchsiaCity.asm +++ b/data/maps/objects/FuchsiaCity.asm @@ -1,7 +1,7 @@ FuchsiaCity_Object: db $f ; border block - db 9 ; warps + def_warps warp 5, 13, 0, FUCHSIA_MART warp 11, 27, 0, FUCHSIA_BILLS_GRANDPAS_HOUSE warp 19, 27, 0, FUCHSIA_POKECENTER @@ -12,7 +12,7 @@ FuchsiaCity_Object: warp 31, 27, 1, FUCHSIA_GOOD_ROD_HOUSE warp 31, 24, 0, FUCHSIA_GOOD_ROD_HOUSE - db 14 ; signs + def_signs sign 15, 23, 11 ; FuchsiaCityText11 sign 25, 15, 12 ; FuchsiaCityText12 sign 17, 5, 13 ; FuchsiaCityText13 @@ -28,7 +28,7 @@ FuchsiaCity_Object: sign 13, 15, 23 ; FuchsiaCityText23 sign 7, 7, 24 ; FuchsiaCityText24 - db 10 ; objects + def_objects object SPRITE_YOUNGSTER, 10, 12, WALK, LEFT_RIGHT, 1 ; person object SPRITE_GAMBLER, 28, 17, WALK, LEFT_RIGHT, 2 ; person object SPRITE_FISHER, 30, 14, STAY, DOWN, 3 ; person diff --git a/data/maps/objects/FuchsiaGoodRodHouse.asm b/data/maps/objects/FuchsiaGoodRodHouse.asm index b036171b..0dae56c5 100755 --- a/data/maps/objects/FuchsiaGoodRodHouse.asm +++ b/data/maps/objects/FuchsiaGoodRodHouse.asm @@ -1,14 +1,14 @@ FuchsiaGoodRodHouse_Object: db $c ; border block - db 3 ; warps + def_warps warp 2, 0, 8, LAST_MAP warp 2, 7, 7, LAST_MAP warp 3, 7, 7, LAST_MAP - db 0 ; signs + def_signs - db 1 ; objects + def_objects object SPRITE_FISHING_GURU, 5, 3, STAY, RIGHT, 1 ; person ; warp-to diff --git a/data/maps/objects/FuchsiaGym.asm b/data/maps/objects/FuchsiaGym.asm index 6687de41..16f6c604 100755 --- a/data/maps/objects/FuchsiaGym.asm +++ b/data/maps/objects/FuchsiaGym.asm @@ -1,13 +1,13 @@ FuchsiaGym_Object: db $3 ; border block - db 2 ; warps + def_warps warp 4, 17, 5, LAST_MAP warp 5, 17, 5, LAST_MAP - db 0 ; signs + def_signs - db 8 ; objects + def_objects object SPRITE_KOGA, 4, 10, STAY, DOWN, 1, OPP_KOGA, 1 object SPRITE_ROCKER, 8, 13, STAY, DOWN, 2, OPP_JUGGLER, 7 object SPRITE_ROCKER, 7, 8, STAY, RIGHT, 3, OPP_JUGGLER, 3 diff --git a/data/maps/objects/FuchsiaMart.asm b/data/maps/objects/FuchsiaMart.asm index 901a1b49..5ce7ddc5 100755 --- a/data/maps/objects/FuchsiaMart.asm +++ b/data/maps/objects/FuchsiaMart.asm @@ -1,13 +1,13 @@ FuchsiaMart_Object: db $0 ; border block - db 2 ; warps + def_warps warp 3, 7, 0, LAST_MAP warp 4, 7, 0, LAST_MAP - db 0 ; signs + def_signs - db 3 ; objects + def_objects object SPRITE_CLERK, 0, 5, STAY, RIGHT, 1 ; person object SPRITE_MIDDLE_AGED_MAN, 4, 2, STAY, NONE, 2 ; person object SPRITE_COOLTRAINER_F, 6, 5, WALK, UP_DOWN, 3 ; person diff --git a/data/maps/objects/FuchsiaMeetingRoom.asm b/data/maps/objects/FuchsiaMeetingRoom.asm index 24c2c15e..b625429a 100755 --- a/data/maps/objects/FuchsiaMeetingRoom.asm +++ b/data/maps/objects/FuchsiaMeetingRoom.asm @@ -1,13 +1,13 @@ FuchsiaMeetingRoom_Object: db $17 ; border block - db 2 ; warps + def_warps warp 4, 7, 6, LAST_MAP warp 5, 7, 6, LAST_MAP - db 0 ; signs + def_signs - db 3 ; objects + def_objects object SPRITE_SAFARI_ZONE_WORKER, 4, 1, STAY, DOWN, 1 ; person object SPRITE_SAFARI_ZONE_WORKER, 0, 2, STAY, UP, 2 ; person object SPRITE_SAFARI_ZONE_WORKER, 10, 1, STAY, DOWN, 3 ; person diff --git a/data/maps/objects/FuchsiaPokecenter.asm b/data/maps/objects/FuchsiaPokecenter.asm index 1b656f3f..3c808b54 100755 --- a/data/maps/objects/FuchsiaPokecenter.asm +++ b/data/maps/objects/FuchsiaPokecenter.asm @@ -1,13 +1,13 @@ FuchsiaPokecenter_Object: db $0 ; border block - db 2 ; warps + def_warps warp 3, 7, 2, LAST_MAP warp 4, 7, 2, LAST_MAP - db 0 ; signs + def_signs - db 4 ; objects + def_objects object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person object SPRITE_ROCKER, 2, 3, STAY, NONE, 2 ; person object SPRITE_COOLTRAINER_F, 6, 5, WALK, LEFT_RIGHT, 3 ; person diff --git a/data/maps/objects/GameCorner.asm b/data/maps/objects/GameCorner.asm index dc7b6f00..af5ad09f 100755 --- a/data/maps/objects/GameCorner.asm +++ b/data/maps/objects/GameCorner.asm @@ -1,15 +1,15 @@ GameCorner_Object: db $f ; border block - db 3 ; warps + def_warps warp 15, 17, 7, LAST_MAP warp 16, 17, 7, LAST_MAP warp 17, 4, 1, ROCKET_HIDEOUT_B1F - db 1 ; signs + def_signs sign 9, 4, 12 ; CeladonGameCornerText12 - db 11 ; objects + def_objects object SPRITE_BEAUTY, 2, 6, STAY, DOWN, 1 ; person object SPRITE_CLERK, 5, 6, STAY, DOWN, 2 ; person object SPRITE_MIDDLE_AGED_MAN, 2, 10, STAY, LEFT, 3 ; person diff --git a/data/maps/objects/GameCornerPrizeRoom.asm b/data/maps/objects/GameCornerPrizeRoom.asm index 06f96b08..34a562aa 100755 --- a/data/maps/objects/GameCornerPrizeRoom.asm +++ b/data/maps/objects/GameCornerPrizeRoom.asm @@ -1,16 +1,16 @@ GameCornerPrizeRoom_Object: db $f ; border block - db 2 ; warps + def_warps warp 4, 7, 9, LAST_MAP warp 5, 7, 9, LAST_MAP - db 3 ; signs + def_signs sign 2, 2, 3 ; CeladonPrizeRoomText3 sign 4, 2, 4 ; CeladonPrizeRoomText4 sign 6, 2, 5 ; CeladonPrizeRoomText5 - db 2 ; objects + def_objects object SPRITE_BALDING_GUY, 1, 4, STAY, NONE, 1 ; person object SPRITE_GAMBLER, 7, 3, WALK, LEFT_RIGHT, 2 ; person diff --git a/data/maps/objects/HallOfFame.asm b/data/maps/objects/HallOfFame.asm index 3762d871..1cff94b6 100755 --- a/data/maps/objects/HallOfFame.asm +++ b/data/maps/objects/HallOfFame.asm @@ -1,13 +1,13 @@ HallOfFame_Object: db $3 ; border block - db 2 ; warps + def_warps warp 4, 7, 2, CHAMPIONS_ROOM warp 5, 7, 3, CHAMPIONS_ROOM - db 0 ; signs + def_signs - db 1 ; objects + def_objects object SPRITE_OAK, 5, 2, STAY, DOWN, 1 ; person ; warp-to diff --git a/data/maps/objects/IndigoPlateau.asm b/data/maps/objects/IndigoPlateau.asm index 1447be11..c24c5eec 100755 --- a/data/maps/objects/IndigoPlateau.asm +++ b/data/maps/objects/IndigoPlateau.asm @@ -1,13 +1,13 @@ IndigoPlateau_Object: db $e ; border block - db 2 ; warps + def_warps warp 9, 5, 0, INDIGO_PLATEAU_LOBBY warp 10, 5, 0, INDIGO_PLATEAU_LOBBY - db 0 ; signs + def_signs - db 0 ; objects + def_objects ; warp-to warp_to 9, 5, INDIGO_PLATEAU_WIDTH ; INDIGO_PLATEAU_LOBBY diff --git a/data/maps/objects/IndigoPlateauLobby.asm b/data/maps/objects/IndigoPlateauLobby.asm index 7bcb8a23..ac6abb9b 100755 --- a/data/maps/objects/IndigoPlateauLobby.asm +++ b/data/maps/objects/IndigoPlateauLobby.asm @@ -1,14 +1,14 @@ IndigoPlateauLobby_Object: db $0 ; border block - db 3 ; warps + def_warps warp 7, 11, 0, LAST_MAP warp 8, 11, 1, LAST_MAP warp 8, 0, 0, LORELEIS_ROOM - db 0 ; signs + def_signs - db 5 ; objects + def_objects object SPRITE_NURSE, 7, 5, STAY, DOWN, 1 ; person object SPRITE_GYM_GUIDE, 4, 9, STAY, RIGHT, 2 ; person object SPRITE_COOLTRAINER_F, 5, 1, STAY, DOWN, 3 ; person diff --git a/data/maps/objects/LancesRoom.asm b/data/maps/objects/LancesRoom.asm index 6f22631a..ff2ed37c 100755 --- a/data/maps/objects/LancesRoom.asm +++ b/data/maps/objects/LancesRoom.asm @@ -1,14 +1,14 @@ LancesRoom_Object: db $3 ; border block - db 3 ; warps + def_warps warp 24, 16, 2, AGATHAS_ROOM warp 5, 0, 0, CHAMPIONS_ROOM warp 6, 0, 0, CHAMPIONS_ROOM - db 0 ; signs + def_signs - db 1 ; objects + def_objects object SPRITE_LANCE, 6, 1, STAY, DOWN, 1, OPP_LANCE, 1 ; warp-to diff --git a/data/maps/objects/LavenderCuboneHouse.asm b/data/maps/objects/LavenderCuboneHouse.asm index 12761cd2..920aafac 100755 --- a/data/maps/objects/LavenderCuboneHouse.asm +++ b/data/maps/objects/LavenderCuboneHouse.asm @@ -1,13 +1,13 @@ LavenderCuboneHouse_Object: db $a ; border block - db 2 ; warps + def_warps warp 2, 7, 4, LAST_MAP warp 3, 7, 4, LAST_MAP - db 0 ; signs + def_signs - db 2 ; objects + def_objects object SPRITE_MONSTER, 3, 5, STAY, UP, 1 ; person object SPRITE_BRUNETTE_GIRL, 2, 4, STAY, RIGHT, 2 ; person diff --git a/data/maps/objects/LavenderMart.asm b/data/maps/objects/LavenderMart.asm index b11b8df5..25850573 100755 --- a/data/maps/objects/LavenderMart.asm +++ b/data/maps/objects/LavenderMart.asm @@ -1,13 +1,13 @@ LavenderMart_Object: db $0 ; border block - db 2 ; warps + def_warps warp 3, 7, 3, LAST_MAP warp 4, 7, 3, LAST_MAP - db 0 ; signs + def_signs - db 3 ; objects + def_objects object SPRITE_CLERK, 0, 5, STAY, RIGHT, 1 ; person object SPRITE_BALDING_GUY, 3, 4, STAY, NONE, 2 ; person object SPRITE_COOLTRAINER_M, 7, 2, STAY, NONE, 3 ; person diff --git a/data/maps/objects/LavenderPokecenter.asm b/data/maps/objects/LavenderPokecenter.asm index da764b2c..aab03998 100755 --- a/data/maps/objects/LavenderPokecenter.asm +++ b/data/maps/objects/LavenderPokecenter.asm @@ -1,13 +1,13 @@ LavenderPokecenter_Object: db $0 ; border block - db 2 ; warps + def_warps warp 3, 7, 0, LAST_MAP warp 4, 7, 0, LAST_MAP - db 0 ; signs + def_signs - db 4 ; objects + def_objects object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person object SPRITE_GENTLEMAN, 5, 3, STAY, NONE, 2 ; person object SPRITE_LITTLE_GIRL, 2, 6, WALK, UP_DOWN, 3 ; person diff --git a/data/maps/objects/LavenderTown.asm b/data/maps/objects/LavenderTown.asm index 46fcaec5..16f881d8 100755 --- a/data/maps/objects/LavenderTown.asm +++ b/data/maps/objects/LavenderTown.asm @@ -1,7 +1,7 @@ LavenderTown_Object: db $2c ; border block - db 6 ; warps + def_warps warp 3, 5, 0, LAVENDER_POKECENTER warp 14, 5, 0, POKEMON_TOWER_1F warp 7, 9, 0, MR_FUJIS_HOUSE @@ -9,7 +9,7 @@ LavenderTown_Object: warp 3, 13, 0, LAVENDER_CUBONE_HOUSE warp 7, 13, 0, NAME_RATERS_HOUSE - db 6 ; signs + def_signs sign 11, 9, 4 ; LavenderTownText4 sign 9, 3, 5 ; LavenderTownText5 sign 16, 13, 6 ; MartSignText @@ -17,7 +17,7 @@ LavenderTown_Object: sign 5, 9, 8 ; LavenderTownText8 sign 17, 7, 9 ; LavenderTownText9 - db 3 ; objects + def_objects object SPRITE_LITTLE_GIRL, 15, 9, WALK, ANY_DIR, 1 ; person object SPRITE_COOLTRAINER_M, 9, 10, STAY, NONE, 2 ; person object SPRITE_SUPER_NERD, 8, 7, WALK, LEFT_RIGHT, 3 ; person diff --git a/data/maps/objects/LoreleisRoom.asm b/data/maps/objects/LoreleisRoom.asm index 06450bb4..666df02b 100755 --- a/data/maps/objects/LoreleisRoom.asm +++ b/data/maps/objects/LoreleisRoom.asm @@ -1,15 +1,15 @@ LoreleisRoom_Object: db $3 ; border block - db 4 ; warps + def_warps warp 4, 11, 2, INDIGO_PLATEAU_LOBBY warp 5, 11, 2, INDIGO_PLATEAU_LOBBY warp 4, 0, 0, BRUNOS_ROOM warp 5, 0, 1, BRUNOS_ROOM - db 0 ; signs + def_signs - db 1 ; objects + def_objects object SPRITE_LORELEI, 5, 2, STAY, DOWN, 1, OPP_LORELEI, 1 ; warp-to diff --git a/data/maps/objects/MrFujisHouse.asm b/data/maps/objects/MrFujisHouse.asm index 289d3a81..5b8f5ca6 100755 --- a/data/maps/objects/MrFujisHouse.asm +++ b/data/maps/objects/MrFujisHouse.asm @@ -1,13 +1,13 @@ MrFujisHouse_Object: db $a ; border block - db 2 ; warps + def_warps warp 2, 7, 2, LAST_MAP warp 3, 7, 2, LAST_MAP - db 0 ; signs + def_signs - db 6 ; objects + def_objects object SPRITE_SUPER_NERD, 3, 5, STAY, NONE, 1 ; person object SPRITE_LITTLE_GIRL, 6, 3, STAY, DOWN, 2 ; person object SPRITE_MONSTER, 6, 4, STAY, UP, 3 ; person diff --git a/data/maps/objects/MrPsychicsHouse.asm b/data/maps/objects/MrPsychicsHouse.asm index e5296682..5824adc8 100755 --- a/data/maps/objects/MrPsychicsHouse.asm +++ b/data/maps/objects/MrPsychicsHouse.asm @@ -1,13 +1,13 @@ MrPsychicsHouse_Object: db $a ; border block - db 2 ; warps + def_warps warp 2, 7, 7, LAST_MAP warp 3, 7, 7, LAST_MAP - db 0 ; signs + def_signs - db 1 ; objects + def_objects object SPRITE_FISHING_GURU, 5, 3, STAY, LEFT, 1 ; person ; warp-to diff --git a/data/maps/objects/MtMoon1F.asm b/data/maps/objects/MtMoon1F.asm index b82ab9e0..1eb340cf 100755 --- a/data/maps/objects/MtMoon1F.asm +++ b/data/maps/objects/MtMoon1F.asm @@ -1,17 +1,17 @@ MtMoon1F_Object: db $3 ; border block - db 5 ; warps + def_warps warp 14, 35, 1, LAST_MAP warp 15, 35, 1, LAST_MAP warp 5, 5, 0, MT_MOON_B1F warp 17, 11, 2, MT_MOON_B1F warp 25, 15, 3, MT_MOON_B1F - db 1 ; signs + def_signs sign 15, 23, 14 ; MtMoon1Text14 - db 13 ; objects + def_objects object SPRITE_HIKER, 5, 6, STAY, DOWN, 1, OPP_HIKER, 1 object SPRITE_YOUNGSTER, 12, 16, STAY, RIGHT, 2, OPP_YOUNGSTER, 3 object SPRITE_COOLTRAINER_F, 30, 4, STAY, DOWN, 3, OPP_LASS, 5 diff --git a/data/maps/objects/MtMoonB1F.asm b/data/maps/objects/MtMoonB1F.asm index 7c83d2fb..8beaaac4 100755 --- a/data/maps/objects/MtMoonB1F.asm +++ b/data/maps/objects/MtMoonB1F.asm @@ -1,7 +1,7 @@ MtMoonB1F_Object: db $3 ; border block - db 8 ; warps + def_warps warp 5, 5, 2, MT_MOON_1F warp 17, 11, 0, MT_MOON_B2F warp 25, 9, 3, MT_MOON_1F @@ -11,9 +11,9 @@ MtMoonB1F_Object: warp 23, 3, 3, MT_MOON_B2F warp 27, 3, 2, LAST_MAP - db 0 ; signs + def_signs - db 0 ; objects + def_objects ; warp-to warp_to 5, 5, MT_MOON_B1F_WIDTH ; MT_MOON_1F diff --git a/data/maps/objects/MtMoonB2F.asm b/data/maps/objects/MtMoonB2F.asm index 0303406d..60d23305 100755 --- a/data/maps/objects/MtMoonB2F.asm +++ b/data/maps/objects/MtMoonB2F.asm @@ -1,15 +1,15 @@ MtMoonB2F_Object: db $3 ; border block - db 4 ; warps + def_warps warp 25, 9, 1, MT_MOON_B1F warp 21, 17, 4, MT_MOON_B1F warp 15, 27, 5, MT_MOON_B1F warp 5, 7, 6, MT_MOON_B1F - db 0 ; signs + def_signs - db 9 ; objects + def_objects object SPRITE_SUPER_NERD, 12, 8, STAY, RIGHT, 1, OPP_SUPER_NERD, 2 object SPRITE_ROCKET, 11, 16, STAY, DOWN, 2, OPP_ROCKET, 1 object SPRITE_ROCKET, 15, 22, STAY, DOWN, 3, OPP_ROCKET, 2 diff --git a/data/maps/objects/MtMoonPokecenter.asm b/data/maps/objects/MtMoonPokecenter.asm index 5c154ac5..d6161a78 100755 --- a/data/maps/objects/MtMoonPokecenter.asm +++ b/data/maps/objects/MtMoonPokecenter.asm @@ -1,13 +1,13 @@ MtMoonPokecenter_Object: db $0 ; border block - db 2 ; warps + def_warps warp 3, 7, 0, LAST_MAP warp 4, 7, 0, LAST_MAP - db 0 ; signs + def_signs - db 6 ; objects + def_objects object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person object SPRITE_YOUNGSTER, 4, 3, STAY, UP, 2 ; person object SPRITE_GENTLEMAN, 7, 3, STAY, UP, 3 ; person diff --git a/data/maps/objects/Museum1F.asm b/data/maps/objects/Museum1F.asm index bc9ef031..9a847491 100755 --- a/data/maps/objects/Museum1F.asm +++ b/data/maps/objects/Museum1F.asm @@ -1,16 +1,16 @@ Museum1F_Object: db $a ; border block - db 5 ; warps + def_warps warp 10, 7, 0, LAST_MAP warp 11, 7, 0, LAST_MAP warp 16, 7, 1, LAST_MAP warp 17, 7, 1, LAST_MAP warp 7, 7, 0, MUSEUM_2F - db 0 ; signs + def_signs - db 5 ; objects + def_objects object SPRITE_SCIENTIST, 12, 4, STAY, LEFT, 1 ; person object SPRITE_GAMBLER, 1, 4, STAY, NONE, 2 ; person object SPRITE_SCIENTIST, 15, 2, STAY, DOWN, 3 ; person diff --git a/data/maps/objects/Museum2F.asm b/data/maps/objects/Museum2F.asm index 525df06f..68feee78 100755 --- a/data/maps/objects/Museum2F.asm +++ b/data/maps/objects/Museum2F.asm @@ -1,14 +1,14 @@ Museum2F_Object: db $a ; border block - db 1 ; warps + def_warps warp 7, 7, 4, MUSEUM_1F - db 2 ; signs + def_signs sign 11, 2, 6 ; Museum2FText6 sign 2, 5, 7 ; Museum2FText7 - db 5 ; objects + def_objects object SPRITE_YOUNGSTER, 1, 7, WALK, LEFT_RIGHT, 1 ; person object SPRITE_GRAMPS, 0, 5, STAY, DOWN, 2 ; person object SPRITE_SCIENTIST, 7, 5, STAY, DOWN, 3 ; person diff --git a/data/maps/objects/NameRatersHouse.asm b/data/maps/objects/NameRatersHouse.asm index f95d179d..2c40e009 100755 --- a/data/maps/objects/NameRatersHouse.asm +++ b/data/maps/objects/NameRatersHouse.asm @@ -1,13 +1,13 @@ NameRatersHouse_Object: db $a ; border block - db 2 ; warps + def_warps warp 2, 7, 5, LAST_MAP warp 3, 7, 5, LAST_MAP - db 0 ; signs + def_signs - db 1 ; objects + def_objects object SPRITE_SILPH_PRESIDENT, 5, 3, STAY, LEFT, 1 ; person ; warp-to diff --git a/data/maps/objects/OaksLab.asm b/data/maps/objects/OaksLab.asm index 1a784f83..872b163f 100755 --- a/data/maps/objects/OaksLab.asm +++ b/data/maps/objects/OaksLab.asm @@ -1,13 +1,13 @@ OaksLab_Object: db $3 ; border block - db 2 ; warps + def_warps warp 4, 11, 2, LAST_MAP warp 5, 11, 2, LAST_MAP - db 0 ; signs + def_signs - db 11 ; objects + def_objects object SPRITE_BLUE, 4, 3, STAY, NONE, 1, OPP_RIVAL1, 1 object SPRITE_POKE_BALL, 6, 3, STAY, NONE, 2 ; person object SPRITE_POKE_BALL, 7, 3, STAY, NONE, 3 ; person diff --git a/data/maps/objects/PalletTown.asm b/data/maps/objects/PalletTown.asm index 2bd306fe..e80f0fae 100755 --- a/data/maps/objects/PalletTown.asm +++ b/data/maps/objects/PalletTown.asm @@ -1,18 +1,18 @@ PalletTown_Object: db $b ; border block - db 3 ; warps + def_warps warp 5, 5, 0, REDS_HOUSE_1F warp 13, 5, 0, BLUES_HOUSE warp 12, 11, 1, OAKS_LAB - db 4 ; signs + def_signs sign 13, 13, 4 ; PalletTownText4 sign 7, 9, 5 ; PalletTownText5 sign 3, 5, 6 ; PalletTownText6 sign 11, 5, 7 ; PalletTownText7 - db 3 ; objects + def_objects object SPRITE_OAK, 8, 5, STAY, NONE, 1 ; person object SPRITE_GIRL, 3, 8, WALK, ANY_DIR, 2 ; person object SPRITE_FISHER, 11, 14, WALK, ANY_DIR, 3 ; person diff --git a/data/maps/objects/PewterCity.asm b/data/maps/objects/PewterCity.asm index 804ded7f..74e1aff7 100755 --- a/data/maps/objects/PewterCity.asm +++ b/data/maps/objects/PewterCity.asm @@ -1,7 +1,7 @@ PewterCity_Object: db $a ; border block - db 7 ; warps + def_warps warp 14, 7, 0, MUSEUM_1F warp 19, 5, 2, MUSEUM_1F warp 16, 17, 0, PEWTER_GYM @@ -10,7 +10,7 @@ PewterCity_Object: warp 7, 29, 0, PEWTER_SPEECH_HOUSE warp 13, 25, 0, PEWTER_POKECENTER - db 7 ; signs + def_signs sign 19, 29, 6 ; PewterCityText6 sign 33, 19, 7 ; PewterCityText7 sign 24, 17, 8 ; MartSignText @@ -19,7 +19,7 @@ PewterCity_Object: sign 11, 17, 11 ; PewterCityText11 sign 25, 23, 12 ; PewterCityText12 - db 5 ; objects + def_objects object SPRITE_COOLTRAINER_F, 8, 15, STAY, NONE, 1 ; person object SPRITE_COOLTRAINER_M, 17, 25, STAY, NONE, 2 ; person object SPRITE_SUPER_NERD, 27, 17, STAY, NONE, 3 ; person diff --git a/data/maps/objects/PewterGym.asm b/data/maps/objects/PewterGym.asm index adc8076e..2b550270 100755 --- a/data/maps/objects/PewterGym.asm +++ b/data/maps/objects/PewterGym.asm @@ -1,13 +1,13 @@ PewterGym_Object: db $3 ; border block - db 2 ; warps + def_warps warp 4, 13, 2, LAST_MAP warp 5, 13, 2, LAST_MAP - db 0 ; signs + def_signs - db 3 ; objects + def_objects object SPRITE_SUPER_NERD, 4, 1, STAY, DOWN, 1, OPP_BROCK, 1 object SPRITE_COOLTRAINER_M, 3, 6, STAY, RIGHT, 2, OPP_JR_TRAINER_M, 1 object SPRITE_GYM_GUIDE, 7, 10, STAY, DOWN, 3 ; person diff --git a/data/maps/objects/PewterMart.asm b/data/maps/objects/PewterMart.asm index 01e2cbdc..ad69a344 100755 --- a/data/maps/objects/PewterMart.asm +++ b/data/maps/objects/PewterMart.asm @@ -1,13 +1,13 @@ PewterMart_Object: db $0 ; border block - db 2 ; warps + def_warps warp 3, 7, 4, LAST_MAP warp 4, 7, 4, LAST_MAP - db 0 ; signs + def_signs - db 3 ; objects + def_objects object SPRITE_CLERK, 0, 5, STAY, RIGHT, 1 ; person object SPRITE_YOUNGSTER, 3, 3, WALK, UP_DOWN, 2 ; person object SPRITE_SUPER_NERD, 5, 5, STAY, NONE, 3 ; person diff --git a/data/maps/objects/PewterNidoranHouse.asm b/data/maps/objects/PewterNidoranHouse.asm index 8d57ecae..519cf593 100755 --- a/data/maps/objects/PewterNidoranHouse.asm +++ b/data/maps/objects/PewterNidoranHouse.asm @@ -1,13 +1,13 @@ PewterNidoranHouse_Object: db $a ; border block - db 2 ; warps + def_warps warp 2, 7, 3, LAST_MAP warp 3, 7, 3, LAST_MAP - db 0 ; signs + def_signs - db 3 ; objects + def_objects object SPRITE_MONSTER, 4, 5, STAY, LEFT, 1 ; person object SPRITE_LITTLE_BOY, 3, 5, STAY, RIGHT, 2 ; person object SPRITE_MIDDLE_AGED_MAN, 1, 2, STAY, NONE, 3 ; person diff --git a/data/maps/objects/PewterPokecenter.asm b/data/maps/objects/PewterPokecenter.asm index 4ecabf91..2156b3af 100755 --- a/data/maps/objects/PewterPokecenter.asm +++ b/data/maps/objects/PewterPokecenter.asm @@ -1,13 +1,13 @@ PewterPokecenter_Object: db $0 ; border block - db 2 ; warps + def_warps warp 3, 7, 6, LAST_MAP warp 4, 7, 6, LAST_MAP - db 0 ; signs + def_signs - db 4 ; objects + def_objects object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person object SPRITE_GENTLEMAN, 11, 7, STAY, LEFT, 2 ; person object SPRITE_FAIRY, 1, 3, STAY, DOWN, 3 ; person diff --git a/data/maps/objects/PewterSpeechHouse.asm b/data/maps/objects/PewterSpeechHouse.asm index b1c91002..d3dc308a 100755 --- a/data/maps/objects/PewterSpeechHouse.asm +++ b/data/maps/objects/PewterSpeechHouse.asm @@ -1,13 +1,13 @@ PewterSpeechHouse_Object: db $a ; border block - db 2 ; warps + def_warps warp 2, 7, 5, LAST_MAP warp 3, 7, 5, LAST_MAP - db 0 ; signs + def_signs - db 2 ; objects + def_objects object SPRITE_GAMBLER, 2, 3, STAY, RIGHT, 1 ; person object SPRITE_YOUNGSTER, 4, 5, STAY, NONE, 2 ; person diff --git a/data/maps/objects/PokemonFanClub.asm b/data/maps/objects/PokemonFanClub.asm index 33d187bc..6885a22c 100755 --- a/data/maps/objects/PokemonFanClub.asm +++ b/data/maps/objects/PokemonFanClub.asm @@ -1,15 +1,15 @@ PokemonFanClub_Object: db $d ; border block - db 2 ; warps + def_warps warp 2, 7, 1, LAST_MAP warp 3, 7, 1, LAST_MAP - db 2 ; signs + def_signs sign 1, 0, 7 ; FanClubText7 sign 6, 0, 8 ; FanClubText8 - db 6 ; objects + def_objects object SPRITE_FISHER, 6, 3, STAY, LEFT, 1 ; person object SPRITE_GIRL, 1, 3, STAY, RIGHT, 2 ; person object SPRITE_FAIRY, 6, 4, STAY, LEFT, 3 ; person diff --git a/data/maps/objects/PokemonMansion1F.asm b/data/maps/objects/PokemonMansion1F.asm index 7d89e914..43d0a6e2 100755 --- a/data/maps/objects/PokemonMansion1F.asm +++ b/data/maps/objects/PokemonMansion1F.asm @@ -1,7 +1,7 @@ PokemonMansion1F_Object: db $2e ; border block - db 8 ; warps + def_warps warp 4, 27, 0, LAST_MAP warp 5, 27, 0, LAST_MAP warp 6, 27, 0, LAST_MAP @@ -11,9 +11,9 @@ PokemonMansion1F_Object: warp 26, 27, 0, LAST_MAP warp 27, 27, 0, LAST_MAP - db 0 ; signs + def_signs - db 3 ; objects + def_objects object SPRITE_SCIENTIST, 17, 17, STAY, LEFT, 1, OPP_SCIENTIST, 4 object SPRITE_POKE_BALL, 14, 3, STAY, NONE, 2, ESCAPE_ROPE object SPRITE_POKE_BALL, 18, 21, STAY, NONE, 3, CARBOS diff --git a/data/maps/objects/PokemonMansion2F.asm b/data/maps/objects/PokemonMansion2F.asm index 2cc2c9d3..b2146a48 100755 --- a/data/maps/objects/PokemonMansion2F.asm +++ b/data/maps/objects/PokemonMansion2F.asm @@ -1,15 +1,15 @@ PokemonMansion2F_Object: db $1 ; border block - db 4 ; warps + def_warps warp 5, 10, 4, POKEMON_MANSION_1F warp 7, 10, 0, POKEMON_MANSION_3F warp 25, 14, 2, POKEMON_MANSION_3F warp 6, 1, 1, POKEMON_MANSION_3F - db 0 ; signs + def_signs - db 4 ; objects + def_objects object SPRITE_SUPER_NERD, 3, 17, WALK, LEFT_RIGHT, 1, OPP_BURGLAR, 7 object SPRITE_POKE_BALL, 28, 7, STAY, NONE, 2, CALCIUM object SPRITE_POKEDEX, 18, 2, STAY, NONE, 3 ; person diff --git a/data/maps/objects/PokemonMansion3F.asm b/data/maps/objects/PokemonMansion3F.asm index 86696592..8385bd70 100755 --- a/data/maps/objects/PokemonMansion3F.asm +++ b/data/maps/objects/PokemonMansion3F.asm @@ -1,14 +1,14 @@ PokemonMansion3F_Object: db $1 ; border block - db 3 ; warps + def_warps warp 7, 10, 1, POKEMON_MANSION_2F warp 6, 1, 3, POKEMON_MANSION_2F warp 25, 14, 2, POKEMON_MANSION_2F - db 0 ; signs + def_signs - db 5 ; objects + def_objects object SPRITE_SUPER_NERD, 5, 11, WALK, LEFT_RIGHT, 1, OPP_BURGLAR, 8 object SPRITE_SCIENTIST, 20, 11, STAY, LEFT, 2, OPP_SCIENTIST, 12 object SPRITE_POKE_BALL, 1, 16, STAY, NONE, 3, MAX_POTION diff --git a/data/maps/objects/PokemonMansionB1F.asm b/data/maps/objects/PokemonMansionB1F.asm index 0cb994ed..deb68bf0 100755 --- a/data/maps/objects/PokemonMansionB1F.asm +++ b/data/maps/objects/PokemonMansionB1F.asm @@ -1,12 +1,12 @@ PokemonMansionB1F_Object: db $1 ; border block - db 1 ; warps + def_warps warp 23, 22, 5, POKEMON_MANSION_1F - db 0 ; signs + def_signs - db 8 ; objects + def_objects object SPRITE_SUPER_NERD, 16, 23, STAY, NONE, 1, OPP_BURGLAR, 9 object SPRITE_SCIENTIST, 27, 11, STAY, DOWN, 2, OPP_SCIENTIST, 13 object SPRITE_POKE_BALL, 10, 2, STAY, NONE, 3, RARE_CANDY diff --git a/data/maps/objects/PokemonTower1F.asm b/data/maps/objects/PokemonTower1F.asm index a9d48594..4725a70c 100755 --- a/data/maps/objects/PokemonTower1F.asm +++ b/data/maps/objects/PokemonTower1F.asm @@ -1,14 +1,14 @@ PokemonTower1F_Object: db $1 ; border block - db 3 ; warps + def_warps warp 10, 17, 1, LAST_MAP warp 11, 17, 1, LAST_MAP warp 18, 9, 1, POKEMON_TOWER_2F - db 0 ; signs + def_signs - db 5 ; objects + def_objects object SPRITE_LINK_RECEPTIONIST, 15, 13, STAY, UP, 1 ; person object SPRITE_MIDDLE_AGED_WOMAN, 6, 8, STAY, NONE, 2 ; person object SPRITE_BALDING_GUY, 8, 12, STAY, NONE, 3 ; person diff --git a/data/maps/objects/PokemonTower2F.asm b/data/maps/objects/PokemonTower2F.asm index 2b52c1ba..a3f84a52 100755 --- a/data/maps/objects/PokemonTower2F.asm +++ b/data/maps/objects/PokemonTower2F.asm @@ -1,13 +1,13 @@ PokemonTower2F_Object: db $1 ; border block - db 2 ; warps + def_warps warp 3, 9, 0, POKEMON_TOWER_3F warp 18, 9, 2, POKEMON_TOWER_1F - db 0 ; signs + def_signs - db 2 ; objects + def_objects object SPRITE_BLUE, 14, 5, STAY, NONE, 1 ; person object SPRITE_CHANNELER, 3, 7, STAY, RIGHT, 2 ; person diff --git a/data/maps/objects/PokemonTower3F.asm b/data/maps/objects/PokemonTower3F.asm index 21322813..655fb5eb 100755 --- a/data/maps/objects/PokemonTower3F.asm +++ b/data/maps/objects/PokemonTower3F.asm @@ -1,13 +1,13 @@ PokemonTower3F_Object: db $1 ; border block - db 2 ; warps + def_warps warp 3, 9, 0, POKEMON_TOWER_2F warp 18, 9, 1, POKEMON_TOWER_4F - db 0 ; signs + def_signs - db 4 ; objects + def_objects object SPRITE_CHANNELER, 12, 3, STAY, LEFT, 1, OPP_CHANNELER, 5 object SPRITE_CHANNELER, 9, 8, STAY, DOWN, 2, OPP_CHANNELER, 6 object SPRITE_CHANNELER, 10, 13, STAY, DOWN, 3, OPP_CHANNELER, 8 diff --git a/data/maps/objects/PokemonTower4F.asm b/data/maps/objects/PokemonTower4F.asm index 25ef7cb1..d04b525b 100755 --- a/data/maps/objects/PokemonTower4F.asm +++ b/data/maps/objects/PokemonTower4F.asm @@ -1,13 +1,13 @@ PokemonTower4F_Object: db $1 ; border block - db 2 ; warps + def_warps warp 3, 9, 0, POKEMON_TOWER_5F warp 18, 9, 1, POKEMON_TOWER_3F - db 0 ; signs + def_signs - db 6 ; objects + def_objects object SPRITE_CHANNELER, 5, 10, STAY, RIGHT, 1, OPP_CHANNELER, 9 object SPRITE_CHANNELER, 15, 7, STAY, DOWN, 2, OPP_CHANNELER, 10 object SPRITE_CHANNELER, 14, 12, STAY, LEFT, 3, OPP_CHANNELER, 12 diff --git a/data/maps/objects/PokemonTower5F.asm b/data/maps/objects/PokemonTower5F.asm index 4dc7d13b..1bb3eebb 100755 --- a/data/maps/objects/PokemonTower5F.asm +++ b/data/maps/objects/PokemonTower5F.asm @@ -1,13 +1,13 @@ PokemonTower5F_Object: db $1 ; border block - db 2 ; warps + def_warps warp 3, 9, 0, POKEMON_TOWER_4F warp 18, 9, 0, POKEMON_TOWER_6F - db 0 ; signs + def_signs - db 6 ; objects + def_objects object SPRITE_CHANNELER, 12, 8, STAY, NONE, 1 ; person object SPRITE_CHANNELER, 17, 7, STAY, LEFT, 2, OPP_CHANNELER, 14 object SPRITE_CHANNELER, 14, 3, STAY, LEFT, 3, OPP_CHANNELER, 16 diff --git a/data/maps/objects/PokemonTower6F.asm b/data/maps/objects/PokemonTower6F.asm index 361e4e86..2733db2f 100755 --- a/data/maps/objects/PokemonTower6F.asm +++ b/data/maps/objects/PokemonTower6F.asm @@ -1,13 +1,13 @@ PokemonTower6F_Object: db $1 ; border block - db 2 ; warps + def_warps warp 18, 9, 1, POKEMON_TOWER_5F warp 9, 16, 0, POKEMON_TOWER_7F - db 0 ; signs + def_signs - db 5 ; objects + def_objects object SPRITE_CHANNELER, 12, 10, STAY, RIGHT, 1, OPP_CHANNELER, 19 object SPRITE_CHANNELER, 9, 5, STAY, DOWN, 2, OPP_CHANNELER, 20 object SPRITE_CHANNELER, 16, 5, STAY, LEFT, 3, OPP_CHANNELER, 21 diff --git a/data/maps/objects/PokemonTower7F.asm b/data/maps/objects/PokemonTower7F.asm index 79cb5b0d..af8cff29 100755 --- a/data/maps/objects/PokemonTower7F.asm +++ b/data/maps/objects/PokemonTower7F.asm @@ -1,12 +1,12 @@ PokemonTower7F_Object: db $1 ; border block - db 1 ; warps + def_warps warp 9, 16, 1, POKEMON_TOWER_6F - db 0 ; signs + def_signs - db 4 ; objects + def_objects object SPRITE_ROCKET, 9, 11, STAY, RIGHT, 1, OPP_ROCKET, 19 object SPRITE_ROCKET, 12, 9, STAY, LEFT, 2, OPP_ROCKET, 20 object SPRITE_ROCKET, 9, 7, STAY, RIGHT, 3, OPP_ROCKET, 21 diff --git a/data/maps/objects/PowerPlant.asm b/data/maps/objects/PowerPlant.asm index f9261140..3e34a343 100755 --- a/data/maps/objects/PowerPlant.asm +++ b/data/maps/objects/PowerPlant.asm @@ -1,14 +1,14 @@ PowerPlant_Object: db $2e ; border block - db 3 ; warps + def_warps warp 4, 35, 3, LAST_MAP warp 5, 35, 3, LAST_MAP warp 0, 11, 3, LAST_MAP - db 0 ; signs + def_signs - db 14 ; objects + def_objects object SPRITE_POKE_BALL, 9, 20, STAY, NONE, 1, VOLTORB, 40 object SPRITE_POKE_BALL, 32, 18, STAY, NONE, 2, VOLTORB, 40 object SPRITE_POKE_BALL, 21, 25, STAY, NONE, 3, VOLTORB, 40 diff --git a/data/maps/objects/RedsHouse1F.asm b/data/maps/objects/RedsHouse1F.asm index bfa8e1b8..4cb71b42 100755 --- a/data/maps/objects/RedsHouse1F.asm +++ b/data/maps/objects/RedsHouse1F.asm @@ -1,15 +1,15 @@ RedsHouse1F_Object: db $a ; border block - db 3 ; warps + def_warps warp 2, 7, 0, LAST_MAP ; exit1 warp 3, 7, 0, LAST_MAP ; exit2 warp 7, 1, 0, REDS_HOUSE_2F ; staircase - db 1 ; signs + def_signs sign 3, 1, 2 ; TV - db 1 ; objects + def_objects object SPRITE_MOM, 5, 4, STAY, LEFT, 1 ; Mom ; warp-to diff --git a/data/maps/objects/RedsHouse2F.asm b/data/maps/objects/RedsHouse2F.asm index 98e9c236..53a1ab68 100755 --- a/data/maps/objects/RedsHouse2F.asm +++ b/data/maps/objects/RedsHouse2F.asm @@ -1,12 +1,12 @@ RedsHouse2F_Object: db $a ; border block - db 1 ; warps + def_warps warp 7, 1, 2, REDS_HOUSE_1F - db 0 ; signs + def_signs - db 0 ; objects + def_objects ; warp-to warp_to 7, 1, REDS_HOUSE_2F_WIDTH diff --git a/data/maps/objects/RockTunnel1F.asm b/data/maps/objects/RockTunnel1F.asm index 21186cde..ee482538 100755 --- a/data/maps/objects/RockTunnel1F.asm +++ b/data/maps/objects/RockTunnel1F.asm @@ -1,7 +1,7 @@ RockTunnel1F_Object: db $3 ; border block - db 8 ; warps + def_warps warp 15, 3, 1, LAST_MAP warp 15, 0, 1, LAST_MAP warp 15, 33, 2, LAST_MAP @@ -11,10 +11,10 @@ RockTunnel1F_Object: warp 17, 11, 2, ROCK_TUNNEL_B1F warp 37, 17, 3, ROCK_TUNNEL_B1F - db 1 ; signs + def_signs sign 11, 29, 8 ; RockTunnel1Text8 - db 7 ; objects + def_objects object SPRITE_HIKER, 7, 5, STAY, DOWN, 1, OPP_HIKER, 12 object SPRITE_HIKER, 5, 16, STAY, DOWN, 2, OPP_HIKER, 13 object SPRITE_HIKER, 17, 15, STAY, LEFT, 3, OPP_HIKER, 14 diff --git a/data/maps/objects/RockTunnelB1F.asm b/data/maps/objects/RockTunnelB1F.asm index 95b237f5..ea4680e6 100755 --- a/data/maps/objects/RockTunnelB1F.asm +++ b/data/maps/objects/RockTunnelB1F.asm @@ -1,15 +1,15 @@ RockTunnelB1F_Object: db $3 ; border block - db 4 ; warps + def_warps warp 33, 25, 4, ROCK_TUNNEL_1F warp 27, 3, 5, ROCK_TUNNEL_1F warp 23, 11, 6, ROCK_TUNNEL_1F warp 3, 3, 7, ROCK_TUNNEL_1F - db 0 ; signs + def_signs - db 8 ; objects + def_objects object SPRITE_COOLTRAINER_F, 11, 13, STAY, DOWN, 1, OPP_JR_TRAINER_F, 9 object SPRITE_HIKER, 6, 10, STAY, DOWN, 2, OPP_HIKER, 9 object SPRITE_SUPER_NERD, 3, 5, STAY, DOWN, 3, OPP_POKEMANIAC, 3 diff --git a/data/maps/objects/RockTunnelPokecenter.asm b/data/maps/objects/RockTunnelPokecenter.asm index 7c7654d9..fdad5b02 100755 --- a/data/maps/objects/RockTunnelPokecenter.asm +++ b/data/maps/objects/RockTunnelPokecenter.asm @@ -1,13 +1,13 @@ RockTunnelPokecenter_Object: db $0 ; border block - db 2 ; warps + def_warps warp 3, 7, 0, LAST_MAP warp 4, 7, 0, LAST_MAP - db 0 ; signs + def_signs - db 4 ; objects + def_objects object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person object SPRITE_GENTLEMAN, 7, 3, WALK, LEFT_RIGHT, 2 ; person object SPRITE_FISHER, 2, 5, STAY, NONE, 3 ; person diff --git a/data/maps/objects/RocketHideoutB1F.asm b/data/maps/objects/RocketHideoutB1F.asm index 9de04769..e4dfaafd 100755 --- a/data/maps/objects/RocketHideoutB1F.asm +++ b/data/maps/objects/RocketHideoutB1F.asm @@ -1,16 +1,16 @@ RocketHideoutB1F_Object: db $2e ; border block - db 5 ; warps + def_warps warp 23, 2, 0, ROCKET_HIDEOUT_B2F warp 21, 2, 2, GAME_CORNER warp 24, 19, 0, ROCKET_HIDEOUT_ELEVATOR warp 21, 24, 3, ROCKET_HIDEOUT_B2F warp 25, 19, 1, ROCKET_HIDEOUT_ELEVATOR - db 0 ; signs + def_signs - db 7 ; objects + def_objects object SPRITE_ROCKET, 26, 8, STAY, LEFT, 1, OPP_ROCKET, 8 object SPRITE_ROCKET, 12, 6, STAY, RIGHT, 2, OPP_ROCKET, 9 object SPRITE_ROCKET, 18, 17, STAY, DOWN, 3, OPP_ROCKET, 10 diff --git a/data/maps/objects/RocketHideoutB2F.asm b/data/maps/objects/RocketHideoutB2F.asm index ee4f81cd..a9ba082d 100755 --- a/data/maps/objects/RocketHideoutB2F.asm +++ b/data/maps/objects/RocketHideoutB2F.asm @@ -1,16 +1,16 @@ RocketHideoutB2F_Object: db $2e ; border block - db 5 ; warps + def_warps warp 27, 8, 0, ROCKET_HIDEOUT_B1F warp 21, 8, 0, ROCKET_HIDEOUT_B3F warp 24, 19, 0, ROCKET_HIDEOUT_ELEVATOR warp 21, 22, 3, ROCKET_HIDEOUT_B1F warp 25, 19, 1, ROCKET_HIDEOUT_ELEVATOR - db 0 ; signs + def_signs - db 5 ; objects + def_objects object SPRITE_ROCKET, 20, 12, STAY, DOWN, 1, OPP_ROCKET, 13 object SPRITE_POKE_BALL, 1, 11, STAY, NONE, 2, MOON_STONE object SPRITE_POKE_BALL, 16, 8, STAY, NONE, 3, NUGGET diff --git a/data/maps/objects/RocketHideoutB3F.asm b/data/maps/objects/RocketHideoutB3F.asm index 2b0d7e5a..b2d062ae 100755 --- a/data/maps/objects/RocketHideoutB3F.asm +++ b/data/maps/objects/RocketHideoutB3F.asm @@ -1,13 +1,13 @@ RocketHideoutB3F_Object: db $2e ; border block - db 2 ; warps + def_warps warp 25, 6, 1, ROCKET_HIDEOUT_B2F warp 19, 18, 0, ROCKET_HIDEOUT_B4F - db 0 ; signs + def_signs - db 4 ; objects + def_objects object SPRITE_ROCKET, 10, 22, STAY, RIGHT, 1, OPP_ROCKET, 14 object SPRITE_ROCKET, 26, 12, STAY, UP, 2, OPP_ROCKET, 15 object SPRITE_POKE_BALL, 26, 17, STAY, NONE, 3, TM_DOUBLE_EDGE diff --git a/data/maps/objects/RocketHideoutB4F.asm b/data/maps/objects/RocketHideoutB4F.asm index 1f095595..e0aa2665 100755 --- a/data/maps/objects/RocketHideoutB4F.asm +++ b/data/maps/objects/RocketHideoutB4F.asm @@ -1,14 +1,14 @@ RocketHideoutB4F_Object: db $2e ; border block - db 3 ; warps + def_warps warp 19, 10, 1, ROCKET_HIDEOUT_B3F warp 24, 15, 0, ROCKET_HIDEOUT_ELEVATOR warp 25, 15, 1, ROCKET_HIDEOUT_ELEVATOR - db 0 ; signs + def_signs - db 9 ; objects + def_objects object SPRITE_GIOVANNI, 25, 3, STAY, DOWN, 1, OPP_GIOVANNI, 1 object SPRITE_ROCKET, 23, 12, STAY, DOWN, 2, OPP_ROCKET, 16 object SPRITE_ROCKET, 26, 12, STAY, DOWN, 3, OPP_ROCKET, 17 diff --git a/data/maps/objects/RocketHideoutElevator.asm b/data/maps/objects/RocketHideoutElevator.asm index bc4fd7ff..1bb48968 100755 --- a/data/maps/objects/RocketHideoutElevator.asm +++ b/data/maps/objects/RocketHideoutElevator.asm @@ -1,14 +1,14 @@ RocketHideoutElevator_Object: db $f ; border block - db 2 ; warps + def_warps warp 2, 1, 2, ROCKET_HIDEOUT_B1F warp 3, 1, 4, ROCKET_HIDEOUT_B1F - db 1 ; signs + def_signs sign 1, 1, 1 ; RocketHideoutElevatorText1 - db 0 ; objects + def_objects ; warp-to warp_to 2, 1, ROCKET_HIDEOUT_ELEVATOR_WIDTH ; ROCKET_HIDEOUT_B1F diff --git a/data/maps/objects/Route1.asm b/data/maps/objects/Route1.asm index f51ece6a..349118dd 100755 --- a/data/maps/objects/Route1.asm +++ b/data/maps/objects/Route1.asm @@ -1,12 +1,12 @@ Route1_Object: db $b ; border block - db 0 ; warps + def_warps - db 1 ; signs + def_signs sign 9, 27, 3 ; Route1Text3 - db 2 ; objects + def_objects object SPRITE_YOUNGSTER, 5, 24, WALK, UP_DOWN, 1 ; person object SPRITE_YOUNGSTER, 15, 13, WALK, LEFT_RIGHT, 2 ; person diff --git a/data/maps/objects/Route10.asm b/data/maps/objects/Route10.asm index a9c3a188..f5d396fe 100755 --- a/data/maps/objects/Route10.asm +++ b/data/maps/objects/Route10.asm @@ -1,19 +1,19 @@ Route10_Object: db $2c ; border block - db 4 ; warps + def_warps warp 11, 19, 0, ROCK_TUNNEL_POKECENTER warp 8, 17, 0, ROCK_TUNNEL_1F warp 8, 53, 2, ROCK_TUNNEL_1F warp 6, 39, 0, POWER_PLANT - db 4 ; signs + def_signs sign 7, 19, 7 ; Route10Text7 sign 12, 19, 8 ; PokeCenterSignText sign 9, 55, 9 ; Route10Text9 sign 5, 41, 10 ; Route10Text10 - db 6 ; objects + def_objects object SPRITE_SUPER_NERD, 10, 44, STAY, LEFT, 1, OPP_POKEMANIAC, 1 object SPRITE_HIKER, 3, 57, STAY, UP, 2, OPP_HIKER, 7 object SPRITE_SUPER_NERD, 14, 64, STAY, LEFT, 3, OPP_POKEMANIAC, 2 diff --git a/data/maps/objects/Route11.asm b/data/maps/objects/Route11.asm index 6f7241cf..48d9bed1 100755 --- a/data/maps/objects/Route11.asm +++ b/data/maps/objects/Route11.asm @@ -1,17 +1,17 @@ Route11_Object: db $f ; border block - db 5 ; warps + def_warps warp 49, 8, 0, ROUTE_11_GATE_1F warp 49, 9, 1, ROUTE_11_GATE_1F warp 58, 8, 2, ROUTE_11_GATE_1F warp 58, 9, 3, ROUTE_11_GATE_1F warp 4, 5, 0, DIGLETTS_CAVE_ROUTE_11 - db 1 ; signs + def_signs sign 1, 5, 11 ; Route11Text11 - db 10 ; objects + def_objects object SPRITE_GAMBLER, 10, 14, STAY, DOWN, 1, OPP_GAMBLER, 1 object SPRITE_GAMBLER, 26, 9, STAY, DOWN, 2, OPP_GAMBLER, 2 object SPRITE_YOUNGSTER, 13, 5, STAY, LEFT, 3, OPP_YOUNGSTER, 9 diff --git a/data/maps/objects/Route11Gate1F.asm b/data/maps/objects/Route11Gate1F.asm index 45c49ad5..161eb8d7 100755 --- a/data/maps/objects/Route11Gate1F.asm +++ b/data/maps/objects/Route11Gate1F.asm @@ -1,16 +1,16 @@ Route11Gate1F_Object: db $a ; border block - db 5 ; warps + def_warps warp 0, 4, 0, LAST_MAP warp 0, 5, 1, LAST_MAP warp 7, 4, 2, LAST_MAP warp 7, 5, 3, LAST_MAP warp 6, 8, 0, ROUTE_11_GATE_2F - db 0 ; signs + def_signs - db 1 ; objects + def_objects object SPRITE_GUARD, 4, 1, STAY, NONE, 1 ; person ; warp-to diff --git a/data/maps/objects/Route11Gate2F.asm b/data/maps/objects/Route11Gate2F.asm index 68d6b98e..016ee755 100755 --- a/data/maps/objects/Route11Gate2F.asm +++ b/data/maps/objects/Route11Gate2F.asm @@ -1,14 +1,14 @@ Route11Gate2F_Object: db $a ; border block - db 1 ; warps + def_warps warp 7, 7, 4, ROUTE_11_GATE_1F - db 2 ; signs + def_signs sign 1, 2, 3 ; Route11GateUpstairsText3 sign 6, 2, 4 ; Route11GateUpstairsText4 - db 2 ; objects + def_objects object SPRITE_YOUNGSTER, 4, 2, WALK, LEFT_RIGHT, 1 ; person object SPRITE_SCIENTIST, 2, 6, STAY, NONE, 2 ; person diff --git a/data/maps/objects/Route12.asm b/data/maps/objects/Route12.asm index 212b05c8..c5631130 100755 --- a/data/maps/objects/Route12.asm +++ b/data/maps/objects/Route12.asm @@ -1,17 +1,17 @@ Route12_Object: db $43 ; border block - db 4 ; warps + def_warps warp 10, 15, 0, ROUTE_12_GATE_1F warp 11, 15, 1, ROUTE_12_GATE_1F warp 10, 21, 2, ROUTE_12_GATE_1F warp 11, 77, 0, ROUTE_12_SUPER_ROD_HOUSE - db 2 ; signs + def_signs sign 13, 13, 11 ; Route12Text11 sign 11, 63, 12 ; Route12Text12 - db 10 ; objects + def_objects object SPRITE_SNORLAX, 10, 62, STAY, DOWN, 1 ; person object SPRITE_FISHER, 14, 31, STAY, LEFT, 2, OPP_FISHER, 3 object SPRITE_FISHER, 5, 39, STAY, UP, 3, OPP_FISHER, 4 diff --git a/data/maps/objects/Route12Gate1F.asm b/data/maps/objects/Route12Gate1F.asm index f298bfe3..875bc72b 100755 --- a/data/maps/objects/Route12Gate1F.asm +++ b/data/maps/objects/Route12Gate1F.asm @@ -1,16 +1,16 @@ Route12Gate1F_Object: db $a ; border block - db 5 ; warps + def_warps warp 4, 0, 0, LAST_MAP warp 5, 0, 1, LAST_MAP warp 4, 7, 2, LAST_MAP warp 5, 7, 2, LAST_MAP warp 8, 6, 0, ROUTE_12_GATE_2F - db 0 ; signs + def_signs - db 1 ; objects + def_objects object SPRITE_GUARD, 1, 3, STAY, NONE, 1 ; person ; warp-to diff --git a/data/maps/objects/Route12Gate2F.asm b/data/maps/objects/Route12Gate2F.asm index 186f3f49..54422e56 100755 --- a/data/maps/objects/Route12Gate2F.asm +++ b/data/maps/objects/Route12Gate2F.asm @@ -1,14 +1,14 @@ Route12Gate2F_Object: db $a ; border block - db 1 ; warps + def_warps warp 7, 7, 4, ROUTE_12_GATE_1F - db 2 ; signs + def_signs sign 1, 2, 2 ; Route12GateUpstairsText2 sign 6, 2, 3 ; Route12GateUpstairsText3 - db 1 ; objects + def_objects object SPRITE_BRUNETTE_GIRL, 3, 4, WALK, UP_DOWN, 1 ; person ; warp-to diff --git a/data/maps/objects/Route12SuperRodHouse.asm b/data/maps/objects/Route12SuperRodHouse.asm index 08dd8c4c..aa3d48d0 100755 --- a/data/maps/objects/Route12SuperRodHouse.asm +++ b/data/maps/objects/Route12SuperRodHouse.asm @@ -1,13 +1,13 @@ Route12SuperRodHouse_Object: db $a ; border block - db 2 ; warps + def_warps warp 2, 7, 3, LAST_MAP warp 3, 7, 3, LAST_MAP - db 0 ; signs + def_signs - db 1 ; objects + def_objects object SPRITE_FISHING_GURU, 2, 4, STAY, RIGHT, 1 ; person ; warp-to diff --git a/data/maps/objects/Route13.asm b/data/maps/objects/Route13.asm index 6a6b64ad..a1f9c032 100755 --- a/data/maps/objects/Route13.asm +++ b/data/maps/objects/Route13.asm @@ -1,14 +1,14 @@ Route13_Object: db $43 ; border block - db 0 ; warps + def_warps - db 3 ; signs + def_signs sign 15, 13, 11 ; Route13Text11 sign 33, 5, 12 ; Route13Text12 sign 31, 11, 13 ; Route13Text13 - db 10 ; objects + def_objects object SPRITE_COOLTRAINER_M, 49, 10, STAY, RIGHT, 1, OPP_BIRD_KEEPER, 1 object SPRITE_COOLTRAINER_F, 48, 10, STAY, DOWN, 2, OPP_JR_TRAINER_F, 12 object SPRITE_COOLTRAINER_F, 27, 9, STAY, DOWN, 3, OPP_JR_TRAINER_F, 13 diff --git a/data/maps/objects/Route14.asm b/data/maps/objects/Route14.asm index f7a68846..5a3050ca 100755 --- a/data/maps/objects/Route14.asm +++ b/data/maps/objects/Route14.asm @@ -1,12 +1,12 @@ Route14_Object: db $43 ; border block - db 0 ; warps + def_warps - db 1 ; signs + def_signs sign 17, 13, 11 ; Route14Text11 - db 10 ; objects + def_objects object SPRITE_COOLTRAINER_M, 4, 4, STAY, DOWN, 1, OPP_BIRD_KEEPER, 14 object SPRITE_COOLTRAINER_M, 15, 6, STAY, DOWN, 2, OPP_BIRD_KEEPER, 15 object SPRITE_COOLTRAINER_M, 12, 11, STAY, DOWN, 3, OPP_BIRD_KEEPER, 16 diff --git a/data/maps/objects/Route15.asm b/data/maps/objects/Route15.asm index 095e9743..4a46268d 100755 --- a/data/maps/objects/Route15.asm +++ b/data/maps/objects/Route15.asm @@ -1,16 +1,16 @@ Route15_Object: db $43 ; border block - db 4 ; warps + def_warps warp 7, 8, 0, ROUTE_15_GATE_1F warp 7, 9, 1, ROUTE_15_GATE_1F warp 14, 8, 2, ROUTE_15_GATE_1F warp 14, 9, 3, ROUTE_15_GATE_1F - db 1 ; signs + def_signs sign 39, 9, 12 ; Route15Text12 - db 11 ; objects + def_objects object SPRITE_COOLTRAINER_F, 41, 11, STAY, DOWN, 1, OPP_JR_TRAINER_F, 20 object SPRITE_COOLTRAINER_F, 53, 10, STAY, LEFT, 2, OPP_JR_TRAINER_F, 21 object SPRITE_COOLTRAINER_M, 31, 13, STAY, UP, 3, OPP_BIRD_KEEPER, 6 diff --git a/data/maps/objects/Route15Gate1F.asm b/data/maps/objects/Route15Gate1F.asm index 59f39e42..134fdd5c 100755 --- a/data/maps/objects/Route15Gate1F.asm +++ b/data/maps/objects/Route15Gate1F.asm @@ -1,16 +1,16 @@ Route15Gate1F_Object: db $a ; border block - db 5 ; warps + def_warps warp 0, 4, 0, LAST_MAP warp 0, 5, 1, LAST_MAP warp 7, 4, 2, LAST_MAP warp 7, 5, 3, LAST_MAP warp 6, 8, 0, ROUTE_15_GATE_2F - db 0 ; signs + def_signs - db 1 ; objects + def_objects object SPRITE_GUARD, 4, 1, STAY, NONE, 1 ; person ; warp-to diff --git a/data/maps/objects/Route15Gate2F.asm b/data/maps/objects/Route15Gate2F.asm index 63b8bf2a..e93f9efb 100755 --- a/data/maps/objects/Route15Gate2F.asm +++ b/data/maps/objects/Route15Gate2F.asm @@ -1,13 +1,13 @@ Route15Gate2F_Object: db $a ; border block - db 1 ; warps + def_warps warp 7, 7, 4, ROUTE_15_GATE_1F - db 1 ; signs + def_signs sign 6, 2, 2 ; Route15GateUpstairsText2 - db 1 ; objects + def_objects object SPRITE_SCIENTIST, 4, 2, STAY, DOWN, 1 ; warp-to diff --git a/data/maps/objects/Route16.asm b/data/maps/objects/Route16.asm index fb23e6ca..c141a58a 100755 --- a/data/maps/objects/Route16.asm +++ b/data/maps/objects/Route16.asm @@ -1,7 +1,7 @@ Route16_Object: db $f ; border block - db 9 ; warps + def_warps warp 17, 10, 0, ROUTE_16_GATE_1F warp 17, 11, 1, ROUTE_16_GATE_1F warp 24, 10, 2, ROUTE_16_GATE_1F @@ -12,11 +12,11 @@ Route16_Object: warp 24, 5, 7, ROUTE_16_GATE_1F warp 7, 5, 0, ROUTE_16_FLY_HOUSE - db 2 ; signs + def_signs sign 27, 11, 8 ; Route16Text8 sign 5, 17, 9 ; Route16Text9 - db 7 ; objects + def_objects object SPRITE_BIKER, 17, 12, STAY, LEFT, 1, OPP_BIKER, 5 object SPRITE_BIKER, 14, 13, STAY, RIGHT, 2, OPP_CUE_BALL, 1 object SPRITE_BIKER, 11, 12, STAY, UP, 3, OPP_CUE_BALL, 2 diff --git a/data/maps/objects/Route16FlyHouse.asm b/data/maps/objects/Route16FlyHouse.asm index 979eece1..3e638653 100755 --- a/data/maps/objects/Route16FlyHouse.asm +++ b/data/maps/objects/Route16FlyHouse.asm @@ -1,13 +1,13 @@ Route16FlyHouse_Object: db $a ; border block - db 2 ; warps + def_warps warp 2, 7, 8, LAST_MAP warp 3, 7, 8, LAST_MAP - db 0 ; signs + def_signs - db 2 ; objects + def_objects object SPRITE_BRUNETTE_GIRL, 2, 3, STAY, RIGHT, 1 ; person object SPRITE_BIRD, 6, 4, WALK, ANY_DIR, 2 ; person diff --git a/data/maps/objects/Route16Gate1F.asm b/data/maps/objects/Route16Gate1F.asm index 9866bd3e..77b76df8 100755 --- a/data/maps/objects/Route16Gate1F.asm +++ b/data/maps/objects/Route16Gate1F.asm @@ -1,7 +1,7 @@ Route16Gate1F_Object: db $a ; border block - db 9 ; warps + def_warps warp 0, 8, 0, LAST_MAP warp 0, 9, 1, LAST_MAP warp 7, 8, 2, LAST_MAP @@ -12,9 +12,9 @@ Route16Gate1F_Object: warp 7, 3, 7, LAST_MAP warp 6, 12, 0, ROUTE_16_GATE_2F - db 0 ; signs + def_signs - db 2 ; objects + def_objects object SPRITE_GUARD, 4, 5, STAY, DOWN, 1 ; person object SPRITE_GAMBLER, 4, 3, STAY, NONE, 2 ; person diff --git a/data/maps/objects/Route16Gate2F.asm b/data/maps/objects/Route16Gate2F.asm index 21dddd07..a0952ae7 100755 --- a/data/maps/objects/Route16Gate2F.asm +++ b/data/maps/objects/Route16Gate2F.asm @@ -1,14 +1,14 @@ Route16Gate2F_Object: db $a ; border block - db 1 ; warps + def_warps warp 7, 7, 8, ROUTE_16_GATE_1F - db 2 ; signs + def_signs sign 1, 2, 3 ; Route16GateUpstairsText3 sign 6, 2, 4 ; Route16GateUpstairsText4 - db 2 ; objects + def_objects object SPRITE_LITTLE_BOY, 4, 2, STAY, NONE, 1 ; person object SPRITE_LITTLE_GIRL, 2, 5, WALK, LEFT_RIGHT, 2 ; person diff --git a/data/maps/objects/Route17.asm b/data/maps/objects/Route17.asm index f5bc4307..14abc7f0 100755 --- a/data/maps/objects/Route17.asm +++ b/data/maps/objects/Route17.asm @@ -1,9 +1,9 @@ Route17_Object: db $43 ; border block - db 0 ; warps + def_warps - db 6 ; signs + def_signs sign 9, 51, 11 ; Route17Text11 sign 9, 63, 12 ; Route17Text12 sign 9, 75, 13 ; Route17Text13 @@ -11,7 +11,7 @@ Route17_Object: sign 9, 111, 15 ; Route17Text15 sign 9, 141, 16 ; Route17Text16 - db 10 ; objects + def_objects object SPRITE_BIKER, 12, 19, STAY, LEFT, 1, OPP_CUE_BALL, 4 object SPRITE_BIKER, 11, 16, STAY, RIGHT, 2, OPP_CUE_BALL, 5 object SPRITE_BIKER, 4, 18, STAY, UP, 3, OPP_BIKER, 8 diff --git a/data/maps/objects/Route18.asm b/data/maps/objects/Route18.asm index b3a18554..3d3e610d 100755 --- a/data/maps/objects/Route18.asm +++ b/data/maps/objects/Route18.asm @@ -1,17 +1,17 @@ Route18_Object: db $43 ; border block - db 4 ; warps + def_warps warp 33, 8, 0, ROUTE_18_GATE_1F warp 33, 9, 1, ROUTE_18_GATE_1F warp 40, 8, 2, ROUTE_18_GATE_1F warp 40, 9, 3, ROUTE_18_GATE_1F - db 2 ; signs + def_signs sign 43, 7, 4 ; Route18Text4 sign 33, 5, 5 ; Route18Text5 - db 3 ; objects + def_objects object SPRITE_COOLTRAINER_M, 36, 11, STAY, RIGHT, 1, OPP_BIRD_KEEPER, 8 object SPRITE_COOLTRAINER_M, 40, 15, STAY, LEFT, 2, OPP_BIRD_KEEPER, 9 object SPRITE_COOLTRAINER_M, 42, 13, STAY, LEFT, 3, OPP_BIRD_KEEPER, 10 diff --git a/data/maps/objects/Route18Gate1F.asm b/data/maps/objects/Route18Gate1F.asm index 17eacc7e..b3ee3963 100755 --- a/data/maps/objects/Route18Gate1F.asm +++ b/data/maps/objects/Route18Gate1F.asm @@ -1,16 +1,16 @@ Route18Gate1F_Object: db $a ; border block - db 5 ; warps + def_warps warp 0, 4, 0, LAST_MAP warp 0, 5, 1, LAST_MAP warp 7, 4, 2, LAST_MAP warp 7, 5, 3, LAST_MAP warp 6, 8, 0, ROUTE_18_GATE_2F - db 0 ; signs + def_signs - db 1 ; objects + def_objects object SPRITE_GUARD, 4, 1, STAY, DOWN, 1 ; person ; warp-to diff --git a/data/maps/objects/Route18Gate2F.asm b/data/maps/objects/Route18Gate2F.asm index ba5896b8..e2c036ef 100755 --- a/data/maps/objects/Route18Gate2F.asm +++ b/data/maps/objects/Route18Gate2F.asm @@ -1,14 +1,14 @@ Route18Gate2F_Object: db $a ; border block - db 1 ; warps + def_warps warp 7, 7, 4, ROUTE_18_GATE_1F - db 2 ; signs + def_signs sign 1, 2, 2 ; Route18GateUpstairsText2 sign 6, 2, 3 ; Route18GateUpstairsText3 - db 1 ; objects + def_objects object SPRITE_YOUNGSTER, 4, 2, WALK, LEFT_RIGHT, 1 ; person ; warp-to diff --git a/data/maps/objects/Route19.asm b/data/maps/objects/Route19.asm index a2130295..90dca302 100755 --- a/data/maps/objects/Route19.asm +++ b/data/maps/objects/Route19.asm @@ -1,12 +1,12 @@ Route19_Object: db $43 ; border block - db 0 ; warps + def_warps - db 1 ; signs + def_signs sign 11, 9, 11 ; Route19Text11 - db 10 ; objects + def_objects object SPRITE_COOLTRAINER_M, 8, 7, STAY, LEFT, 1, OPP_SWIMMER, 2 object SPRITE_COOLTRAINER_M, 13, 7, STAY, LEFT, 2, OPP_SWIMMER, 3 object SPRITE_SWIMMER, 13, 25, STAY, LEFT, 3, OPP_SWIMMER, 4 diff --git a/data/maps/objects/Route2.asm b/data/maps/objects/Route2.asm index 8645f9c0..cbd8be8c 100755 --- a/data/maps/objects/Route2.asm +++ b/data/maps/objects/Route2.asm @@ -1,7 +1,7 @@ Route2_Object: db $f ; border block - db 6 ; warps + def_warps warp 12, 9, 0, DIGLETTS_CAVE_ROUTE_2 warp 3, 11, 1, VIRIDIAN_FOREST_NORTH_GATE warp 15, 19, 0, ROUTE_2_TRADE_HOUSE @@ -9,11 +9,11 @@ Route2_Object: warp 15, 39, 2, ROUTE_2_GATE warp 3, 43, 2, VIRIDIAN_FOREST_SOUTH_GATE - db 2 ; signs + def_signs sign 5, 65, 3 ; Route2Text3 sign 11, 11, 4 ; Route2Text4 - db 2 ; objects + def_objects object SPRITE_POKE_BALL, 13, 54, STAY, NONE, 1, MOON_STONE object SPRITE_POKE_BALL, 13, 45, STAY, NONE, 2, HP_UP diff --git a/data/maps/objects/Route20.asm b/data/maps/objects/Route20.asm index c2a26861..25ec9218 100755 --- a/data/maps/objects/Route20.asm +++ b/data/maps/objects/Route20.asm @@ -1,15 +1,15 @@ Route20_Object: db $43 ; border block - db 2 ; warps + def_warps warp 48, 5, 0, SEAFOAM_ISLANDS_1F warp 58, 9, 2, SEAFOAM_ISLANDS_1F - db 2 ; signs + def_signs sign 51, 7, 11 ; Route20Text11 sign 57, 11, 12 ; Route20Text12 - db 10 ; objects + def_objects object SPRITE_SWIMMER, 87, 8, STAY, UP, 1, OPP_SWIMMER, 9 object SPRITE_SWIMMER, 68, 11, STAY, UP, 2, OPP_BEAUTY, 15 object SPRITE_SWIMMER, 45, 10, STAY, DOWN, 3, OPP_BEAUTY, 6 diff --git a/data/maps/objects/Route21.asm b/data/maps/objects/Route21.asm index aff8f833..75d050a3 100755 --- a/data/maps/objects/Route21.asm +++ b/data/maps/objects/Route21.asm @@ -1,11 +1,11 @@ Route21_Object: db $43 ; border block - db 0 ; warps + def_warps - db 0 ; signs + def_signs - db 9 ; objects + def_objects object SPRITE_FISHER, 4, 24, STAY, LEFT, 1, OPP_FISHER, 7 object SPRITE_FISHER, 6, 25, STAY, DOWN, 2, OPP_FISHER, 9 object SPRITE_SWIMMER, 10, 31, STAY, UP, 3, OPP_SWIMMER, 12 diff --git a/data/maps/objects/Route22.asm b/data/maps/objects/Route22.asm index 56e759fd..2d28496e 100755 --- a/data/maps/objects/Route22.asm +++ b/data/maps/objects/Route22.asm @@ -1,13 +1,13 @@ Route22_Object: db $2c ; border block - db 1 ; warps + def_warps warp 8, 5, 0, ROUTE_22_GATE - db 1 ; signs + def_signs sign 7, 11, 3 ; Route22FrontGateText - db 2 ; objects + def_objects object SPRITE_BLUE, 25, 5, STAY, NONE, 1 ; person object SPRITE_BLUE, 25, 5, STAY, NONE, 2 ; person diff --git a/data/maps/objects/Route22Gate.asm b/data/maps/objects/Route22Gate.asm index 88bbf8d3..b66d9f71 100755 --- a/data/maps/objects/Route22Gate.asm +++ b/data/maps/objects/Route22Gate.asm @@ -1,15 +1,15 @@ Route22Gate_Object: db $a ; border block - db 4 ; warps + def_warps warp 4, 7, 0, LAST_MAP warp 5, 7, 0, LAST_MAP warp 4, 0, 0, LAST_MAP warp 5, 0, 1, LAST_MAP - db 0 ; signs + def_signs - db 1 ; objects + def_objects object SPRITE_GUARD, 6, 2, STAY, LEFT, 1 ; person ; warp-to diff --git a/data/maps/objects/Route23.asm b/data/maps/objects/Route23.asm index b510c285..f80b6832 100755 --- a/data/maps/objects/Route23.asm +++ b/data/maps/objects/Route23.asm @@ -1,16 +1,16 @@ Route23_Object: db $f ; border block - db 4 ; warps + def_warps warp 7, 139, 2, ROUTE_22_GATE warp 8, 139, 3, ROUTE_22_GATE warp 4, 31, 0, VICTORY_ROAD_1F warp 14, 31, 1, VICTORY_ROAD_2F - db 1 ; signs + def_signs sign 3, 33, 8 ; Route23Text8 - db 7 ; objects + def_objects object SPRITE_GUARD, 4, 35, STAY, DOWN, 1 ; person object SPRITE_GUARD, 10, 56, STAY, DOWN, 2 ; person object SPRITE_SWIMMER, 8, 85, STAY, DOWN, 3 ; person diff --git a/data/maps/objects/Route24.asm b/data/maps/objects/Route24.asm index 08eb3849..edb5730f 100755 --- a/data/maps/objects/Route24.asm +++ b/data/maps/objects/Route24.asm @@ -1,11 +1,11 @@ Route24_Object: db $2c ; border block - db 0 ; warps + def_warps - db 0 ; signs + def_signs - db 8 ; objects + def_objects object SPRITE_COOLTRAINER_M, 11, 15, STAY, LEFT, 1, OPP_ROCKET, 6 object SPRITE_COOLTRAINER_M, 5, 20, STAY, UP, 2, OPP_JR_TRAINER_M, 2 object SPRITE_COOLTRAINER_M, 11, 19, STAY, LEFT, 3, OPP_JR_TRAINER_M, 3 diff --git a/data/maps/objects/Route25.asm b/data/maps/objects/Route25.asm index cafcccf5..ee5d5283 100755 --- a/data/maps/objects/Route25.asm +++ b/data/maps/objects/Route25.asm @@ -1,13 +1,13 @@ Route25_Object: db $2c ; border block - db 1 ; warps + def_warps warp 45, 3, 0, BILLS_HOUSE - db 1 ; signs + def_signs sign 43, 3, 11 ; Route25Text11 - db 10 ; objects + def_objects object SPRITE_YOUNGSTER, 14, 2, STAY, DOWN, 1, OPP_YOUNGSTER, 5 object SPRITE_YOUNGSTER, 18, 5, STAY, UP, 2, OPP_YOUNGSTER, 6 object SPRITE_COOLTRAINER_M, 24, 4, STAY, DOWN, 3, OPP_JR_TRAINER_M, 2 diff --git a/data/maps/objects/Route2Gate.asm b/data/maps/objects/Route2Gate.asm index f4d78598..4b096bd2 100755 --- a/data/maps/objects/Route2Gate.asm +++ b/data/maps/objects/Route2Gate.asm @@ -1,15 +1,15 @@ Route2Gate_Object: db $a ; border block - db 4 ; warps + def_warps warp 4, 0, 3, LAST_MAP warp 5, 0, 3, LAST_MAP warp 4, 7, 4, LAST_MAP warp 5, 7, 4, LAST_MAP - db 0 ; signs + def_signs - db 2 ; objects + def_objects object SPRITE_SCIENTIST, 1, 4, STAY, LEFT, 1 ; person object SPRITE_YOUNGSTER, 5, 4, WALK, LEFT_RIGHT, 2 ; person diff --git a/data/maps/objects/Route2TradeHouse.asm b/data/maps/objects/Route2TradeHouse.asm index 2a345d47..11d4c0d7 100755 --- a/data/maps/objects/Route2TradeHouse.asm +++ b/data/maps/objects/Route2TradeHouse.asm @@ -1,13 +1,13 @@ Route2TradeHouse_Object: db $a ; border block - db 2 ; warps + def_warps warp 2, 7, 2, LAST_MAP warp 3, 7, 2, LAST_MAP - db 0 ; signs + def_signs - db 2 ; objects + def_objects object SPRITE_SCIENTIST, 2, 4, STAY, RIGHT, 1 ; person object SPRITE_GAMEBOY_KID, 4, 1, STAY, DOWN, 2 ; person diff --git a/data/maps/objects/Route3.asm b/data/maps/objects/Route3.asm index d495114a..cc1b21c7 100755 --- a/data/maps/objects/Route3.asm +++ b/data/maps/objects/Route3.asm @@ -1,12 +1,12 @@ Route3_Object: db $2c ; border block - db 0 ; warps + def_warps - db 1 ; signs + def_signs sign 59, 9, 10 ; Route3Text10 - db 9 ; objects + def_objects object SPRITE_SUPER_NERD, 57, 11, STAY, NONE, 1 ; person object SPRITE_YOUNGSTER, 10, 6, STAY, RIGHT, 2, OPP_BUG_CATCHER, 4 object SPRITE_YOUNGSTER, 14, 4, STAY, DOWN, 3, OPP_YOUNGSTER, 1 diff --git a/data/maps/objects/Route4.asm b/data/maps/objects/Route4.asm index fb073cd5..d35ae1e1 100755 --- a/data/maps/objects/Route4.asm +++ b/data/maps/objects/Route4.asm @@ -1,17 +1,17 @@ Route4_Object: db $2c ; border block - db 3 ; warps + def_warps warp 11, 5, 0, MT_MOON_POKECENTER warp 18, 5, 0, MT_MOON_1F warp 24, 5, 7, MT_MOON_B1F - db 3 ; signs + def_signs sign 12, 5, 4 ; PokeCenterSignText sign 17, 7, 5 ; Route4Text5 sign 27, 7, 6 ; Route4Text6 - db 3 ; objects + def_objects object SPRITE_COOLTRAINER_F, 9, 8, WALK, ANY_DIR, 1 ; person object SPRITE_COOLTRAINER_F, 63, 3, STAY, RIGHT, 2, OPP_LASS, 4 object SPRITE_POKE_BALL, 57, 3, STAY, NONE, 3, TM_WHIRLWIND diff --git a/data/maps/objects/Route5.asm b/data/maps/objects/Route5.asm index df2c8c03..34e4cd44 100755 --- a/data/maps/objects/Route5.asm +++ b/data/maps/objects/Route5.asm @@ -1,17 +1,17 @@ Route5_Object: db $a ; border block - db 5 ; warps + def_warps warp 10, 29, 3, ROUTE_5_GATE warp 9, 29, 2, ROUTE_5_GATE warp 10, 33, 0, ROUTE_5_GATE warp 17, 27, 0, UNDERGROUND_PATH_ROUTE_5 warp 10, 21, 0, DAYCARE - db 1 ; signs + def_signs sign 17, 29, 1 ; Route5Text1 - db 0 ; objects + def_objects ; warp-to warp_to 10, 29, ROUTE_5_WIDTH ; ROUTE_5_GATE diff --git a/data/maps/objects/Route5Gate.asm b/data/maps/objects/Route5Gate.asm index 01be0505..0b27bb81 100755 --- a/data/maps/objects/Route5Gate.asm +++ b/data/maps/objects/Route5Gate.asm @@ -1,15 +1,15 @@ Route5Gate_Object: db $a ; border block - db 4 ; warps + def_warps warp 3, 5, 2, LAST_MAP warp 4, 5, 2, LAST_MAP warp 3, 0, 1, LAST_MAP warp 4, 0, 0, LAST_MAP - db 0 ; signs + def_signs - db 1 ; objects + def_objects object SPRITE_GUARD, 1, 3, STAY, RIGHT, 1 ; person ; warp-to diff --git a/data/maps/objects/Route6.asm b/data/maps/objects/Route6.asm index fc0eb35b..efba89d1 100755 --- a/data/maps/objects/Route6.asm +++ b/data/maps/objects/Route6.asm @@ -1,16 +1,16 @@ Route6_Object: db $f ; border block - db 4 ; warps + def_warps warp 9, 1, 2, ROUTE_6_GATE warp 10, 1, 2, ROUTE_6_GATE warp 10, 7, 0, ROUTE_6_GATE warp 17, 13, 0, UNDERGROUND_PATH_ROUTE_6 - db 1 ; signs + def_signs sign 19, 15, 7 ; Route6Text7 - db 6 ; objects + def_objects object SPRITE_COOLTRAINER_M, 10, 21, STAY, RIGHT, 1, OPP_JR_TRAINER_M, 4 object SPRITE_COOLTRAINER_F, 11, 21, STAY, LEFT, 2, OPP_JR_TRAINER_F, 2 object SPRITE_YOUNGSTER, 0, 15, STAY, RIGHT, 3, OPP_BUG_CATCHER, 10 diff --git a/data/maps/objects/Route6Gate.asm b/data/maps/objects/Route6Gate.asm index 2f8a6f20..4fb88e74 100755 --- a/data/maps/objects/Route6Gate.asm +++ b/data/maps/objects/Route6Gate.asm @@ -1,15 +1,15 @@ Route6Gate_Object: db $a ; border block - db 4 ; warps + def_warps warp 3, 5, 2, LAST_MAP warp 4, 5, 2, LAST_MAP warp 3, 0, 1, LAST_MAP warp 4, 0, 1, LAST_MAP - db 0 ; signs + def_signs - db 1 ; objects + def_objects object SPRITE_GUARD, 6, 2, STAY, LEFT, 1 ; person ; warp-to diff --git a/data/maps/objects/Route7.asm b/data/maps/objects/Route7.asm index 182904ef..5dc16acf 100755 --- a/data/maps/objects/Route7.asm +++ b/data/maps/objects/Route7.asm @@ -1,17 +1,17 @@ Route7_Object: db $f ; border block - db 5 ; warps + def_warps warp 18, 9, 2, ROUTE_7_GATE warp 18, 10, 3, ROUTE_7_GATE warp 11, 9, 0, ROUTE_7_GATE warp 11, 10, 1, ROUTE_7_GATE warp 5, 13, 0, UNDERGROUND_PATH_ROUTE_7 - db 1 ; signs + def_signs sign 3, 13, 1 ; Route7Text1 - db 0 ; objects + def_objects ; warp-to warp_to 18, 9, ROUTE_7_WIDTH ; ROUTE_7_GATE diff --git a/data/maps/objects/Route7Gate.asm b/data/maps/objects/Route7Gate.asm index 6f7557f9..dc050767 100755 --- a/data/maps/objects/Route7Gate.asm +++ b/data/maps/objects/Route7Gate.asm @@ -1,15 +1,15 @@ Route7Gate_Object: db $a ; border block - db 4 ; warps + def_warps warp 0, 3, 3, LAST_MAP warp 0, 4, 3, LAST_MAP warp 5, 3, 0, LAST_MAP warp 5, 4, 1, LAST_MAP - db 0 ; signs + def_signs - db 1 ; objects + def_objects object SPRITE_GUARD, 3, 1, STAY, DOWN, 1 ; person ; warp-to diff --git a/data/maps/objects/Route8.asm b/data/maps/objects/Route8.asm index 5b0bc8fb..85bf9d87 100755 --- a/data/maps/objects/Route8.asm +++ b/data/maps/objects/Route8.asm @@ -1,17 +1,17 @@ Route8_Object: db $2c ; border block - db 5 ; warps + def_warps warp 1, 9, 0, ROUTE_8_GATE warp 1, 10, 1, ROUTE_8_GATE warp 8, 9, 2, ROUTE_8_GATE warp 8, 10, 3, ROUTE_8_GATE warp 13, 3, 0, UNDERGROUND_PATH_ROUTE_8 - db 1 ; signs + def_signs sign 17, 3, 10 ; Route8Text10 - db 9 ; objects + def_objects object SPRITE_SUPER_NERD, 8, 5, STAY, RIGHT, 1, OPP_SUPER_NERD, 3 object SPRITE_GAMBLER, 13, 9, STAY, UP, 2, OPP_GAMBLER, 5 object SPRITE_SUPER_NERD, 42, 6, STAY, UP, 3, OPP_SUPER_NERD, 4 diff --git a/data/maps/objects/Route8Gate.asm b/data/maps/objects/Route8Gate.asm index d6739d3d..ae68bce0 100755 --- a/data/maps/objects/Route8Gate.asm +++ b/data/maps/objects/Route8Gate.asm @@ -1,15 +1,15 @@ Route8Gate_Object: db $a ; border block - db 4 ; warps + def_warps warp 0, 3, 0, LAST_MAP warp 0, 4, 1, LAST_MAP warp 5, 3, 2, LAST_MAP warp 5, 4, 3, LAST_MAP - db 0 ; signs + def_signs - db 1 ; objects + def_objects object SPRITE_GUARD, 2, 1, STAY, DOWN, 1 ; person ; warp-to diff --git a/data/maps/objects/Route9.asm b/data/maps/objects/Route9.asm index 756fc8ad..80c4626a 100755 --- a/data/maps/objects/Route9.asm +++ b/data/maps/objects/Route9.asm @@ -1,12 +1,12 @@ Route9_Object: db $2c ; border block - db 0 ; warps + def_warps - db 1 ; signs + def_signs sign 25, 7, 11 ; Route9Text11 - db 10 ; objects + def_objects object SPRITE_COOLTRAINER_F, 13, 10, STAY, LEFT, 1, OPP_JR_TRAINER_F, 5 object SPRITE_COOLTRAINER_M, 24, 7, STAY, LEFT, 2, OPP_JR_TRAINER_M, 7 object SPRITE_COOLTRAINER_M, 31, 7, STAY, RIGHT, 3, OPP_JR_TRAINER_M, 8 diff --git a/data/maps/objects/SSAnne1F.asm b/data/maps/objects/SSAnne1F.asm index 600fb50a..511ec20b 100755 --- a/data/maps/objects/SSAnne1F.asm +++ b/data/maps/objects/SSAnne1F.asm @@ -1,7 +1,7 @@ SSAnne1F_Object: db $c ; border block - db 11 ; warps + def_warps warp 26, 0, 1, VERMILION_DOCK warp 27, 0, 1, VERMILION_DOCK warp 31, 8, 0, SS_ANNE_1F_ROOMS @@ -14,9 +14,9 @@ SSAnne1F_Object: warp 37, 15, 5, SS_ANNE_B1F warp 3, 16, 0, SS_ANNE_KITCHEN - db 0 ; signs + def_signs - db 2 ; objects + def_objects object SPRITE_WAITER, 12, 6, WALK, LEFT_RIGHT, 1 ; person object SPRITE_SAILOR, 27, 5, STAY, NONE, 2 ; person diff --git a/data/maps/objects/SSAnne1FRooms.asm b/data/maps/objects/SSAnne1FRooms.asm index ea135562..4726dcfd 100755 --- a/data/maps/objects/SSAnne1FRooms.asm +++ b/data/maps/objects/SSAnne1FRooms.asm @@ -1,7 +1,7 @@ SSAnne1FRooms_Object: db $c ; border block - db 6 ; warps + def_warps warp 0, 0, 2, SS_ANNE_1F warp 10, 0, 3, SS_ANNE_1F warp 20, 0, 4, SS_ANNE_1F @@ -9,9 +9,9 @@ SSAnne1FRooms_Object: warp 10, 10, 6, SS_ANNE_1F warp 20, 10, 7, SS_ANNE_1F - db 0 ; signs + def_signs - db 11 ; objects + def_objects object SPRITE_GENTLEMAN, 2, 3, STAY, LEFT, 1, OPP_GENTLEMAN, 1 object SPRITE_GENTLEMAN, 11, 4, STAY, UP, 2, OPP_GENTLEMAN, 2 object SPRITE_YOUNGSTER, 11, 14, STAY, UP, 3, OPP_YOUNGSTER, 8 diff --git a/data/maps/objects/SSAnne2F.asm b/data/maps/objects/SSAnne2F.asm index 97dbbcc1..d18935c6 100755 --- a/data/maps/objects/SSAnne2F.asm +++ b/data/maps/objects/SSAnne2F.asm @@ -1,7 +1,7 @@ SSAnne2F_Object: db $c ; border block - db 9 ; warps + def_warps warp 9, 11, 0, SS_ANNE_2F_ROOMS warp 13, 11, 2, SS_ANNE_2F_ROOMS warp 17, 11, 4, SS_ANNE_2F_ROOMS @@ -12,9 +12,9 @@ SSAnne2F_Object: warp 2, 12, 1, SS_ANNE_3F warp 36, 4, 0, SS_ANNE_CAPTAINS_ROOM - db 0 ; signs + def_signs - db 2 ; objects + def_objects object SPRITE_WAITER, 3, 7, WALK, UP_DOWN, 1 ; person object SPRITE_BLUE, 36, 4, STAY, DOWN, 2, OPP_RIVAL1, 1 diff --git a/data/maps/objects/SSAnne2FRooms.asm b/data/maps/objects/SSAnne2FRooms.asm index 454b4c6b..f99ac966 100755 --- a/data/maps/objects/SSAnne2FRooms.asm +++ b/data/maps/objects/SSAnne2FRooms.asm @@ -1,7 +1,7 @@ SSAnne2FRooms_Object: db $c ; border block - db 12 ; warps + def_warps warp 2, 5, 0, SS_ANNE_2F warp 3, 5, 0, SS_ANNE_2F warp 12, 5, 1, SS_ANNE_2F @@ -15,9 +15,9 @@ SSAnne2FRooms_Object: warp 22, 15, 5, SS_ANNE_2F warp 23, 15, 5, SS_ANNE_2F - db 0 ; signs + def_signs - db 13 ; objects + def_objects object SPRITE_GENTLEMAN, 10, 2, STAY, RIGHT, 1, OPP_GENTLEMAN, 3 object SPRITE_FISHER, 13, 4, STAY, LEFT, 2, OPP_FISHER, 1 object SPRITE_GENTLEMAN, 0, 14, STAY, RIGHT, 3, OPP_GENTLEMAN, 5 diff --git a/data/maps/objects/SSAnne3F.asm b/data/maps/objects/SSAnne3F.asm index cd493a96..a969e9ea 100755 --- a/data/maps/objects/SSAnne3F.asm +++ b/data/maps/objects/SSAnne3F.asm @@ -1,13 +1,13 @@ SSAnne3F_Object: db $c ; border block - db 2 ; warps + def_warps warp 0, 3, 0, SS_ANNE_BOW warp 19, 3, 7, SS_ANNE_2F - db 0 ; signs + def_signs - db 1 ; objects + def_objects object SPRITE_SAILOR, 9, 3, WALK, LEFT_RIGHT, 1 ; person ; warp-to diff --git a/data/maps/objects/SSAnneB1F.asm b/data/maps/objects/SSAnneB1F.asm index fe54ea24..667dc4dd 100755 --- a/data/maps/objects/SSAnneB1F.asm +++ b/data/maps/objects/SSAnneB1F.asm @@ -1,7 +1,7 @@ SSAnneB1F_Object: db $c ; border block - db 6 ; warps + def_warps warp 23, 3, 8, SS_ANNE_B1F_ROOMS warp 19, 3, 6, SS_ANNE_B1F_ROOMS warp 15, 3, 4, SS_ANNE_B1F_ROOMS @@ -9,9 +9,9 @@ SSAnneB1F_Object: warp 7, 3, 0, SS_ANNE_B1F_ROOMS warp 27, 5, 9, SS_ANNE_1F - db 0 ; signs + def_signs - db 0 ; objects + def_objects ; warp-to warp_to 23, 3, SS_ANNE_B1F_WIDTH ; SS_ANNE_B1F_ROOMS diff --git a/data/maps/objects/SSAnneB1FRooms.asm b/data/maps/objects/SSAnneB1FRooms.asm index 0f57dd6b..ffd15990 100755 --- a/data/maps/objects/SSAnneB1FRooms.asm +++ b/data/maps/objects/SSAnneB1FRooms.asm @@ -1,7 +1,7 @@ SSAnneB1FRooms_Object: db $c ; border block - db 10 ; warps + def_warps warp 2, 5, 4, SS_ANNE_B1F warp 3, 5, 4, SS_ANNE_B1F warp 12, 5, 3, SS_ANNE_B1F @@ -13,9 +13,9 @@ SSAnneB1FRooms_Object: warp 12, 15, 0, SS_ANNE_B1F warp 13, 15, 0, SS_ANNE_B1F - db 0 ; signs + def_signs - db 11 ; objects + def_objects object SPRITE_SAILOR, 0, 13, STAY, DOWN, 1, OPP_SAILOR, 3 object SPRITE_SAILOR, 2, 11, STAY, DOWN, 2, OPP_SAILOR, 4 object SPRITE_SAILOR, 12, 3, STAY, LEFT, 3, OPP_SAILOR, 5 diff --git a/data/maps/objects/SSAnneBow.asm b/data/maps/objects/SSAnneBow.asm index ee434a79..fdea3614 100755 --- a/data/maps/objects/SSAnneBow.asm +++ b/data/maps/objects/SSAnneBow.asm @@ -1,13 +1,13 @@ SSAnneBow_Object: db $23 ; border block - db 2 ; warps + def_warps warp 13, 6, 0, SS_ANNE_3F warp 13, 7, 0, SS_ANNE_3F - db 0 ; signs + def_signs - db 5 ; objects + def_objects object SPRITE_SUPER_NERD, 5, 2, STAY, UP, 1 ; person object SPRITE_SAILOR, 4, 9, STAY, NONE, 2 ; person object SPRITE_COOLTRAINER_M, 7, 11, STAY, NONE, 3 ; person diff --git a/data/maps/objects/SSAnneCaptainsRoom.asm b/data/maps/objects/SSAnneCaptainsRoom.asm index 9e6bca22..49042dc1 100755 --- a/data/maps/objects/SSAnneCaptainsRoom.asm +++ b/data/maps/objects/SSAnneCaptainsRoom.asm @@ -1,14 +1,14 @@ SSAnneCaptainsRoom_Object: db $c ; border block - db 1 ; warps + def_warps warp 0, 7, 8, SS_ANNE_2F - db 2 ; signs + def_signs sign 4, 1, 2 ; SSAnne7Text2 sign 1, 2, 3 ; SSAnne7Text3 - db 1 ; objects + def_objects object SPRITE_CAPTAIN, 4, 2, STAY, UP, 1 ; person ; warp-to diff --git a/data/maps/objects/SSAnneKitchen.asm b/data/maps/objects/SSAnneKitchen.asm index 5ef35e02..e2559536 100755 --- a/data/maps/objects/SSAnneKitchen.asm +++ b/data/maps/objects/SSAnneKitchen.asm @@ -1,12 +1,12 @@ SSAnneKitchen_Object: db $c ; border block - db 1 ; warps + def_warps warp 6, 0, 10, SS_ANNE_1F - db 0 ; signs + def_signs - db 7 ; objects + def_objects object SPRITE_COOK, 1, 8, WALK, UP_DOWN, 1 ; person object SPRITE_COOK, 5, 8, WALK, UP_DOWN, 2 ; person object SPRITE_COOK, 9, 7, WALK, UP_DOWN, 3 ; person diff --git a/data/maps/objects/SafariZoneCenter.asm b/data/maps/objects/SafariZoneCenter.asm index d94e78f3..8f54a40c 100755 --- a/data/maps/objects/SafariZoneCenter.asm +++ b/data/maps/objects/SafariZoneCenter.asm @@ -1,7 +1,7 @@ SafariZoneCenter_Object: db $0 ; border block - db 9 ; warps + def_warps warp 14, 25, 2, SAFARI_ZONE_GATE warp 15, 25, 3, SAFARI_ZONE_GATE warp 0, 10, 4, SAFARI_ZONE_WEST @@ -12,11 +12,11 @@ SafariZoneCenter_Object: warp 29, 11, 3, SAFARI_ZONE_EAST warp 17, 19, 0, SAFARI_ZONE_CENTER_REST_HOUSE - db 2 ; signs + def_signs sign 18, 20, 2 ; SafariZoneCenterText2 sign 14, 22, 3 ; SafariZoneCenterText3 - db 1 ; objects + def_objects object SPRITE_POKE_BALL, 14, 10, STAY, NONE, 1, NUGGET ; warp-to diff --git a/data/maps/objects/SafariZoneCenterRestHouse.asm b/data/maps/objects/SafariZoneCenterRestHouse.asm index 705873c9..18aa52dd 100755 --- a/data/maps/objects/SafariZoneCenterRestHouse.asm +++ b/data/maps/objects/SafariZoneCenterRestHouse.asm @@ -1,13 +1,13 @@ SafariZoneCenterRestHouse_Object: db $a ; border block - db 2 ; warps + def_warps warp 2, 7, 8, SAFARI_ZONE_CENTER warp 3, 7, 8, SAFARI_ZONE_CENTER - db 0 ; signs + def_signs - db 2 ; objects + def_objects object SPRITE_GIRL, 3, 2, STAY, DOWN, 1 ; person object SPRITE_SCIENTIST, 1, 4, WALK, UP_DOWN, 2 ; person diff --git a/data/maps/objects/SafariZoneEast.asm b/data/maps/objects/SafariZoneEast.asm index fa04087f..b169b288 100755 --- a/data/maps/objects/SafariZoneEast.asm +++ b/data/maps/objects/SafariZoneEast.asm @@ -1,19 +1,19 @@ SafariZoneEast_Object: db $0 ; border block - db 5 ; warps + def_warps warp 0, 4, 6, SAFARI_ZONE_NORTH warp 0, 5, 7, SAFARI_ZONE_NORTH warp 0, 22, 6, SAFARI_ZONE_CENTER warp 0, 23, 6, SAFARI_ZONE_CENTER warp 25, 9, 0, SAFARI_ZONE_EAST_REST_HOUSE - db 3 ; signs + def_signs sign 26, 10, 5 ; SafariZoneEastText5 sign 6, 4, 6 ; SafariZoneEastText6 sign 5, 23, 7 ; SafariZoneEastText7 - db 4 ; objects + def_objects object SPRITE_POKE_BALL, 21, 10, STAY, NONE, 1, FULL_RESTORE object SPRITE_POKE_BALL, 3, 7, STAY, NONE, 2, MAX_POTION object SPRITE_POKE_BALL, 20, 13, STAY, NONE, 3, CARBOS diff --git a/data/maps/objects/SafariZoneEastRestHouse.asm b/data/maps/objects/SafariZoneEastRestHouse.asm index c6b866bc..877747fc 100755 --- a/data/maps/objects/SafariZoneEastRestHouse.asm +++ b/data/maps/objects/SafariZoneEastRestHouse.asm @@ -1,13 +1,13 @@ SafariZoneEastRestHouse_Object: db $a ; border block - db 2 ; warps + def_warps warp 2, 7, 4, SAFARI_ZONE_EAST warp 3, 7, 4, SAFARI_ZONE_EAST - db 0 ; signs + def_signs - db 3 ; objects + def_objects object SPRITE_SCIENTIST, 1, 3, WALK, UP_DOWN, 1 ; person object SPRITE_ROCKER, 4, 2, STAY, NONE, 2 ; person object SPRITE_SILPH_WORKER, 5, 2, STAY, NONE, 3 ; person diff --git a/data/maps/objects/SafariZoneGate.asm b/data/maps/objects/SafariZoneGate.asm index 6cfe256c..52924c55 100755 --- a/data/maps/objects/SafariZoneGate.asm +++ b/data/maps/objects/SafariZoneGate.asm @@ -1,15 +1,15 @@ SafariZoneGate_Object: db $a ; border block - db 4 ; warps + def_warps warp 3, 5, 4, LAST_MAP warp 4, 5, 4, LAST_MAP warp 3, 0, 0, SAFARI_ZONE_CENTER warp 4, 0, 1, SAFARI_ZONE_CENTER - db 0 ; signs + def_signs - db 2 ; objects + def_objects object SPRITE_SAFARI_ZONE_WORKER, 6, 2, STAY, LEFT, 1 ; person object SPRITE_SAFARI_ZONE_WORKER, 1, 4, STAY, RIGHT, 2 ; person diff --git a/data/maps/objects/SafariZoneNorth.asm b/data/maps/objects/SafariZoneNorth.asm index 06563243..edf391b0 100755 --- a/data/maps/objects/SafariZoneNorth.asm +++ b/data/maps/objects/SafariZoneNorth.asm @@ -1,7 +1,7 @@ SafariZoneNorth_Object: db $0 ; border block - db 9 ; warps + def_warps warp 2, 35, 0, SAFARI_ZONE_WEST warp 3, 35, 1, SAFARI_ZONE_WEST warp 8, 35, 2, SAFARI_ZONE_WEST @@ -12,14 +12,14 @@ SafariZoneNorth_Object: warp 39, 31, 1, SAFARI_ZONE_EAST warp 35, 3, 0, SAFARI_ZONE_NORTH_REST_HOUSE - db 5 ; signs + def_signs sign 36, 4, 3 ; SafariZoneNorthText3 sign 4, 25, 4 ; SafariZoneNorthText4 sign 13, 31, 5 ; SafariZoneNorthText5 sign 19, 33, 6 ; SafariZoneNorthText6 sign 26, 28, 7 ; SafariZoneNorthText7 - db 2 ; objects + def_objects object SPRITE_POKE_BALL, 25, 1, STAY, NONE, 1, PROTEIN object SPRITE_POKE_BALL, 19, 7, STAY, NONE, 2, TM_SKULL_BASH diff --git a/data/maps/objects/SafariZoneNorthRestHouse.asm b/data/maps/objects/SafariZoneNorthRestHouse.asm index be460fe0..0e81ded9 100755 --- a/data/maps/objects/SafariZoneNorthRestHouse.asm +++ b/data/maps/objects/SafariZoneNorthRestHouse.asm @@ -1,13 +1,13 @@ SafariZoneNorthRestHouse_Object: db $a ; border block - db 2 ; warps + def_warps warp 2, 7, 8, SAFARI_ZONE_NORTH warp 3, 7, 8, SAFARI_ZONE_NORTH - db 0 ; signs + def_signs - db 3 ; objects + def_objects object SPRITE_SCIENTIST, 6, 3, WALK, LEFT_RIGHT, 1 ; person object SPRITE_SAFARI_ZONE_WORKER, 3, 4, STAY, NONE, 2 ; person object SPRITE_GENTLEMAN, 1, 5, WALK, UP_DOWN, 3 ; person diff --git a/data/maps/objects/SafariZoneSecretHouse.asm b/data/maps/objects/SafariZoneSecretHouse.asm index ea326e67..1c26f7bc 100755 --- a/data/maps/objects/SafariZoneSecretHouse.asm +++ b/data/maps/objects/SafariZoneSecretHouse.asm @@ -1,13 +1,13 @@ SafariZoneSecretHouse_Object: db $17 ; border block - db 2 ; warps + def_warps warp 2, 7, 6, SAFARI_ZONE_WEST warp 3, 7, 6, SAFARI_ZONE_WEST - db 0 ; signs + def_signs - db 1 ; objects + def_objects object SPRITE_FISHING_GURU, 3, 3, STAY, DOWN, 1 ; person ; warp-to diff --git a/data/maps/objects/SafariZoneWest.asm b/data/maps/objects/SafariZoneWest.asm index 2e0692c1..8f337221 100755 --- a/data/maps/objects/SafariZoneWest.asm +++ b/data/maps/objects/SafariZoneWest.asm @@ -1,7 +1,7 @@ SafariZoneWest_Object: db $0 ; border block - db 8 ; warps + def_warps warp 20, 0, 0, SAFARI_ZONE_NORTH warp 21, 0, 1, SAFARI_ZONE_NORTH warp 26, 0, 2, SAFARI_ZONE_NORTH @@ -11,13 +11,13 @@ SafariZoneWest_Object: warp 3, 3, 0, SAFARI_ZONE_SECRET_HOUSE warp 11, 11, 0, SAFARI_ZONE_WEST_REST_HOUSE - db 4 ; signs + def_signs sign 12, 12, 5 ; SafariZoneWestText5 sign 17, 3, 6 ; SafariZoneWestText6 sign 26, 4, 7 ; SafariZoneWestText7 sign 24, 22, 8 ; SafariZoneWestText8 - db 4 ; objects + def_objects object SPRITE_POKE_BALL, 8, 20, STAY, NONE, 1, MAX_POTION object SPRITE_POKE_BALL, 9, 7, STAY, NONE, 2, TM_DOUBLE_TEAM object SPRITE_POKE_BALL, 18, 18, STAY, NONE, 3, MAX_REVIVE diff --git a/data/maps/objects/SafariZoneWestRestHouse.asm b/data/maps/objects/SafariZoneWestRestHouse.asm index 1fa6a3cc..4507f9da 100755 --- a/data/maps/objects/SafariZoneWestRestHouse.asm +++ b/data/maps/objects/SafariZoneWestRestHouse.asm @@ -1,13 +1,13 @@ SafariZoneWestRestHouse_Object: db $a ; border block - db 2 ; warps + def_warps warp 2, 7, 7, SAFARI_ZONE_WEST warp 3, 7, 7, SAFARI_ZONE_WEST - db 0 ; signs + def_signs - db 3 ; objects + def_objects object SPRITE_SCIENTIST, 4, 4, WALK, ANY_DIR, 1 ; person object SPRITE_COOLTRAINER_M, 0, 2, STAY, RIGHT, 2 ; person object SPRITE_ERIKA, 6, 2, STAY, DOWN, 3 ; person diff --git a/data/maps/objects/SaffronCity.asm b/data/maps/objects/SaffronCity.asm index 4dcc7a71..48329891 100755 --- a/data/maps/objects/SaffronCity.asm +++ b/data/maps/objects/SaffronCity.asm @@ -1,7 +1,7 @@ SaffronCity_Object: db $f ; border block - db 8 ; warps + def_warps warp 7, 5, 0, COPYCATS_HOUSE_1F warp 26, 3, 0, FIGHTING_DOJO warp 34, 3, 0, SAFFRON_GYM @@ -11,7 +11,7 @@ SaffronCity_Object: warp 9, 29, 0, SAFFRON_POKECENTER warp 29, 29, 0, MR_PSYCHICS_HOUSE - db 10 ; signs + def_signs sign 17, 5, 16 ; SaffronCityText16 sign 27, 5, 17 ; SaffronCityText17 sign 35, 5, 18 ; SaffronCityText18 @@ -23,7 +23,7 @@ SaffronCity_Object: sign 27, 29, 24 ; SaffronCityText24 sign 1, 19, 25 ; SaffronCityText25 - db 15 ; objects + def_objects object SPRITE_ROCKET, 7, 6, STAY, NONE, 1 ; person object SPRITE_ROCKET, 20, 8, WALK, LEFT_RIGHT, 2 ; person object SPRITE_ROCKET, 34, 4, STAY, NONE, 3 ; person diff --git a/data/maps/objects/SaffronGym.asm b/data/maps/objects/SaffronGym.asm index 54083d60..39ac124a 100755 --- a/data/maps/objects/SaffronGym.asm +++ b/data/maps/objects/SaffronGym.asm @@ -1,7 +1,7 @@ SaffronGym_Object: db $2e ; border block - db 32 ; warps + def_warps warp 8, 17, 2, LAST_MAP warp 9, 17, 2, LAST_MAP warp 1, 3, 22, SAFFRON_GYM @@ -35,9 +35,9 @@ SaffronGym_Object: warp 15, 17, 11, SAFFRON_GYM warp 19, 17, 19, SAFFRON_GYM - db 0 ; signs + def_signs - db 9 ; objects + def_objects object SPRITE_GIRL, 9, 8, STAY, DOWN, 1, OPP_SABRINA, 1 object SPRITE_CHANNELER, 10, 1, STAY, DOWN, 2, OPP_CHANNELER, 22 object SPRITE_YOUNGSTER, 17, 1, STAY, DOWN, 3, OPP_PSYCHIC_TR, 1 diff --git a/data/maps/objects/SaffronMart.asm b/data/maps/objects/SaffronMart.asm index 4680f018..923781e7 100755 --- a/data/maps/objects/SaffronMart.asm +++ b/data/maps/objects/SaffronMart.asm @@ -1,13 +1,13 @@ SaffronMart_Object: db $0 ; border block - db 2 ; warps + def_warps warp 3, 7, 4, LAST_MAP warp 4, 7, 4, LAST_MAP - db 0 ; signs + def_signs - db 3 ; objects + def_objects object SPRITE_CLERK, 0, 5, STAY, RIGHT, 1 ; person object SPRITE_SUPER_NERD, 4, 2, STAY, NONE, 2 ; person object SPRITE_COOLTRAINER_F, 6, 5, WALK, ANY_DIR, 3 ; person diff --git a/data/maps/objects/SaffronPidgeyHouse.asm b/data/maps/objects/SaffronPidgeyHouse.asm index ac0d3f27..173cada8 100755 --- a/data/maps/objects/SaffronPidgeyHouse.asm +++ b/data/maps/objects/SaffronPidgeyHouse.asm @@ -1,13 +1,13 @@ SaffronPidgeyHouse_Object: db $a ; border block - db 2 ; warps + def_warps warp 2, 7, 3, LAST_MAP warp 3, 7, 3, LAST_MAP - db 0 ; signs + def_signs - db 4 ; objects + def_objects object SPRITE_BRUNETTE_GIRL, 2, 3, STAY, RIGHT, 1 ; person object SPRITE_BIRD, 0, 4, WALK, UP_DOWN, 2 ; person object SPRITE_YOUNGSTER, 4, 1, STAY, DOWN, 3 ; person diff --git a/data/maps/objects/SaffronPokecenter.asm b/data/maps/objects/SaffronPokecenter.asm index 8396902b..36249eae 100755 --- a/data/maps/objects/SaffronPokecenter.asm +++ b/data/maps/objects/SaffronPokecenter.asm @@ -1,13 +1,13 @@ SaffronPokecenter_Object: db $0 ; border block - db 2 ; warps + def_warps warp 3, 7, 6, LAST_MAP warp 4, 7, 6, LAST_MAP - db 0 ; signs + def_signs - db 4 ; objects + def_objects object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person object SPRITE_BEAUTY, 5, 5, STAY, NONE, 2 ; person object SPRITE_GENTLEMAN, 8, 3, STAY, DOWN, 3 ; person diff --git a/data/maps/objects/SeafoamIslands1F.asm b/data/maps/objects/SeafoamIslands1F.asm index 2599c6ec..ca89359b 100755 --- a/data/maps/objects/SeafoamIslands1F.asm +++ b/data/maps/objects/SeafoamIslands1F.asm @@ -1,7 +1,7 @@ SeafoamIslands1F_Object: db $7d ; border block - db 7 ; warps + def_warps warp 4, 17, 0, LAST_MAP warp 5, 17, 0, LAST_MAP warp 26, 17, 1, LAST_MAP @@ -10,9 +10,9 @@ SeafoamIslands1F_Object: warp 25, 3, 6, SEAFOAM_ISLANDS_B1F warp 23, 15, 4, SEAFOAM_ISLANDS_B1F - db 0 ; signs + def_signs - db 2 ; objects + def_objects object SPRITE_BOULDER, 18, 10, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person object SPRITE_BOULDER, 26, 7, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person diff --git a/data/maps/objects/SeafoamIslandsB1F.asm b/data/maps/objects/SeafoamIslandsB1F.asm index 426ca0c3..903bc58f 100755 --- a/data/maps/objects/SeafoamIslandsB1F.asm +++ b/data/maps/objects/SeafoamIslandsB1F.asm @@ -1,7 +1,7 @@ SeafoamIslandsB1F_Object: db $7d ; border block - db 7 ; warps + def_warps warp 4, 2, 0, SEAFOAM_ISLANDS_B2F warp 7, 5, 4, SEAFOAM_ISLANDS_1F warp 13, 7, 2, SEAFOAM_ISLANDS_B2F @@ -10,9 +10,9 @@ SeafoamIslandsB1F_Object: warp 25, 11, 5, SEAFOAM_ISLANDS_B2F warp 25, 3, 5, SEAFOAM_ISLANDS_1F - db 0 ; signs + def_signs - db 2 ; objects + def_objects object SPRITE_BOULDER, 17, 6, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person object SPRITE_BOULDER, 22, 6, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person diff --git a/data/maps/objects/SeafoamIslandsB2F.asm b/data/maps/objects/SeafoamIslandsB2F.asm index 9c1a7898..d473712b 100755 --- a/data/maps/objects/SeafoamIslandsB2F.asm +++ b/data/maps/objects/SeafoamIslandsB2F.asm @@ -1,7 +1,7 @@ SeafoamIslandsB2F_Object: db $7d ; border block - db 7 ; warps + def_warps warp 5, 3, 0, SEAFOAM_ISLANDS_B1F warp 5, 13, 0, SEAFOAM_ISLANDS_B3F warp 13, 7, 2, SEAFOAM_ISLANDS_B1F @@ -10,9 +10,9 @@ SeafoamIslandsB2F_Object: warp 25, 11, 5, SEAFOAM_ISLANDS_B1F warp 25, 14, 4, SEAFOAM_ISLANDS_B3F - db 0 ; signs + def_signs - db 2 ; objects + def_objects object SPRITE_BOULDER, 18, 6, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person object SPRITE_BOULDER, 23, 6, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person diff --git a/data/maps/objects/SeafoamIslandsB3F.asm b/data/maps/objects/SeafoamIslandsB3F.asm index d194e1cd..e7cfcd89 100755 --- a/data/maps/objects/SeafoamIslandsB3F.asm +++ b/data/maps/objects/SeafoamIslandsB3F.asm @@ -1,7 +1,7 @@ SeafoamIslandsB3F_Object: db $7d ; border block - db 7 ; warps + def_warps warp 5, 12, 1, SEAFOAM_ISLANDS_B2F warp 8, 6, 2, SEAFOAM_ISLANDS_B4F warp 25, 4, 3, SEAFOAM_ISLANDS_B4F @@ -10,9 +10,9 @@ SeafoamIslandsB3F_Object: warp 20, 17, 0, SEAFOAM_ISLANDS_B4F warp 21, 17, 1, SEAFOAM_ISLANDS_B4F - db 0 ; signs + def_signs - db 6 ; objects + def_objects object SPRITE_BOULDER, 5, 14, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person object SPRITE_BOULDER, 3, 15, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person object SPRITE_BOULDER, 8, 14, STAY, BOULDER_MOVEMENT_BYTE_2, 3 ; person diff --git a/data/maps/objects/SeafoamIslandsB4F.asm b/data/maps/objects/SeafoamIslandsB4F.asm index 62d88b0c..79df2a09 100755 --- a/data/maps/objects/SeafoamIslandsB4F.asm +++ b/data/maps/objects/SeafoamIslandsB4F.asm @@ -1,17 +1,17 @@ SeafoamIslandsB4F_Object: db $7d ; border block - db 4 ; warps + def_warps warp 20, 17, 5, SEAFOAM_ISLANDS_B3F warp 21, 17, 6, SEAFOAM_ISLANDS_B3F warp 11, 7, 1, SEAFOAM_ISLANDS_B3F warp 25, 4, 2, SEAFOAM_ISLANDS_B3F - db 2 ; signs + def_signs sign 9, 15, 4 ; SeafoamIslands5Text4 sign 23, 1, 5 ; SeafoamIslands5Text5 - db 3 ; objects + def_objects object SPRITE_BOULDER, 4, 15, STAY, NONE, 1 ; person object SPRITE_BOULDER, 5, 15, STAY, NONE, 2 ; person object SPRITE_BIRD, 6, 1, STAY, DOWN, 3, ARTICUNO, 50 diff --git a/data/maps/objects/SilphCo10F.asm b/data/maps/objects/SilphCo10F.asm index d13b10cd..c7ea4f03 100755 --- a/data/maps/objects/SilphCo10F.asm +++ b/data/maps/objects/SilphCo10F.asm @@ -1,7 +1,7 @@ SilphCo10F_Object: db $2e ; border block - db 6 ; warps + def_warps warp 8, 0, 0, SILPH_CO_9F warp 10, 0, 0, SILPH_CO_11F warp 12, 0, 0, SILPH_CO_ELEVATOR @@ -9,9 +9,9 @@ SilphCo10F_Object: warp 13, 15, 5, SILPH_CO_4F warp 13, 7, 6, SILPH_CO_4F - db 0 ; signs + def_signs - db 6 ; objects + def_objects object SPRITE_ROCKET, 1, 9, STAY, RIGHT, 1, OPP_ROCKET, 39 object SPRITE_SCIENTIST, 10, 2, STAY, LEFT, 2, OPP_SCIENTIST, 11 object SPRITE_ERIKA, 9, 15, WALK, ANY_DIR, 3 ; person diff --git a/data/maps/objects/SilphCo11F.asm b/data/maps/objects/SilphCo11F.asm index c26d5273..94889369 100755 --- a/data/maps/objects/SilphCo11F.asm +++ b/data/maps/objects/SilphCo11F.asm @@ -1,15 +1,15 @@ SilphCo11F_Object: db $d ; border block - db 4 ; warps + def_warps warp 9, 0, 1, SILPH_CO_10F warp 13, 0, 0, SILPH_CO_ELEVATOR warp 5, 5, 9, LAST_MAP warp 3, 2, 3, SILPH_CO_7F - db 0 ; signs + def_signs - db 5 ; objects + def_objects object SPRITE_SILPH_PRESIDENT, 7, 5, STAY, DOWN, 1 ; person object SPRITE_BEAUTY, 10, 5, STAY, DOWN, 2 ; person object SPRITE_GIOVANNI, 6, 9, STAY, DOWN, 3, OPP_GIOVANNI, 2 diff --git a/data/maps/objects/SilphCo1F.asm b/data/maps/objects/SilphCo1F.asm index 0e0df323..c8c89b21 100755 --- a/data/maps/objects/SilphCo1F.asm +++ b/data/maps/objects/SilphCo1F.asm @@ -1,16 +1,16 @@ SilphCo1F_Object: db $2e ; border block - db 5 ; warps + def_warps warp 10, 17, 5, LAST_MAP warp 11, 17, 5, LAST_MAP warp 26, 0, 0, SILPH_CO_2F warp 20, 0, 0, SILPH_CO_ELEVATOR warp 16, 10, 6, SILPH_CO_3F - db 0 ; signs + def_signs - db 1 ; objects + def_objects object SPRITE_LINK_RECEPTIONIST, 4, 2, STAY, DOWN, 1 ; person ; warp-to diff --git a/data/maps/objects/SilphCo2F.asm b/data/maps/objects/SilphCo2F.asm index c226f4d4..62ebef94 100755 --- a/data/maps/objects/SilphCo2F.asm +++ b/data/maps/objects/SilphCo2F.asm @@ -1,7 +1,7 @@ SilphCo2F_Object: db $2e ; border block - db 7 ; warps + def_warps warp 24, 0, 2, SILPH_CO_1F warp 26, 0, 0, SILPH_CO_3F warp 20, 0, 0, SILPH_CO_ELEVATOR @@ -10,9 +10,9 @@ SilphCo2F_Object: warp 27, 15, 5, SILPH_CO_8F warp 9, 15, 4, SILPH_CO_6F - db 0 ; signs + def_signs - db 5 ; objects + def_objects object SPRITE_ERIKA, 10, 1, STAY, UP, 1 ; person object SPRITE_SCIENTIST, 5, 12, STAY, DOWN, 2, OPP_SCIENTIST, 2 object SPRITE_SCIENTIST, 24, 13, STAY, LEFT, 3, OPP_SCIENTIST, 3 diff --git a/data/maps/objects/SilphCo3F.asm b/data/maps/objects/SilphCo3F.asm index 0c9496de..adfc66da 100755 --- a/data/maps/objects/SilphCo3F.asm +++ b/data/maps/objects/SilphCo3F.asm @@ -1,7 +1,7 @@ SilphCo3F_Object: db $2e ; border block - db 10 ; warps + def_warps warp 26, 0, 1, SILPH_CO_2F warp 24, 0, 0, SILPH_CO_4F warp 20, 0, 0, SILPH_CO_ELEVATOR @@ -13,9 +13,9 @@ SilphCo3F_Object: warp 11, 11, 4, SILPH_CO_7F warp 27, 15, 3, SILPH_CO_3F - db 0 ; signs + def_signs - db 4 ; objects + def_objects object SPRITE_SILPH_WORKER, 24, 8, STAY, NONE, 1 ; person object SPRITE_ROCKET, 20, 7, STAY, LEFT, 2, OPP_ROCKET, 25 object SPRITE_SCIENTIST, 7, 9, STAY, DOWN, 3, OPP_SCIENTIST, 4 diff --git a/data/maps/objects/SilphCo4F.asm b/data/maps/objects/SilphCo4F.asm index ab53309a..ca735995 100755 --- a/data/maps/objects/SilphCo4F.asm +++ b/data/maps/objects/SilphCo4F.asm @@ -1,7 +1,7 @@ SilphCo4F_Object: db $2e ; border block - db 7 ; warps + def_warps warp 24, 0, 1, SILPH_CO_3F warp 26, 0, 1, SILPH_CO_5F warp 20, 0, 0, SILPH_CO_ELEVATOR @@ -10,9 +10,9 @@ SilphCo4F_Object: warp 3, 15, 4, SILPH_CO_10F warp 17, 11, 5, SILPH_CO_10F - db 0 ; signs + def_signs - db 7 ; objects + def_objects object SPRITE_SILPH_WORKER, 6, 2, STAY, NONE, 1 ; person object SPRITE_ROCKET, 9, 14, STAY, RIGHT, 2, OPP_ROCKET, 26 object SPRITE_SCIENTIST, 14, 6, STAY, LEFT, 3, OPP_SCIENTIST, 5 diff --git a/data/maps/objects/SilphCo5F.asm b/data/maps/objects/SilphCo5F.asm index 9b8c74e5..483d400d 100755 --- a/data/maps/objects/SilphCo5F.asm +++ b/data/maps/objects/SilphCo5F.asm @@ -1,7 +1,7 @@ SilphCo5F_Object: db $2e ; border block - db 7 ; warps + def_warps warp 24, 0, 1, SILPH_CO_6F warp 26, 0, 1, SILPH_CO_4F warp 20, 0, 0, SILPH_CO_ELEVATOR @@ -10,9 +10,9 @@ SilphCo5F_Object: warp 11, 5, 4, SILPH_CO_3F warp 3, 15, 5, SILPH_CO_3F - db 0 ; signs + def_signs - db 11 ; objects + def_objects object SPRITE_SILPH_WORKER, 13, 9, STAY, NONE, 1 ; person object SPRITE_ROCKET, 8, 16, STAY, RIGHT, 2, OPP_ROCKET, 28 object SPRITE_SCIENTIST, 8, 3, STAY, RIGHT, 3, OPP_SCIENTIST, 6 diff --git a/data/maps/objects/SilphCo6F.asm b/data/maps/objects/SilphCo6F.asm index fc0787ae..600070b4 100755 --- a/data/maps/objects/SilphCo6F.asm +++ b/data/maps/objects/SilphCo6F.asm @@ -1,16 +1,16 @@ SilphCo6F_Object: db $2e ; border block - db 5 ; warps + def_warps warp 16, 0, 1, SILPH_CO_7F warp 14, 0, 0, SILPH_CO_5F warp 18, 0, 0, SILPH_CO_ELEVATOR warp 3, 3, 4, SILPH_CO_4F warp 23, 3, 6, SILPH_CO_2F - db 0 ; signs + def_signs - db 10 ; objects + def_objects object SPRITE_SILPH_WORKER, 10, 6, STAY, NONE, 1 ; person object SPRITE_SILPH_WORKER, 20, 6, STAY, NONE, 2 ; person object SPRITE_ERIKA, 21, 6, STAY, DOWN, 3 ; person diff --git a/data/maps/objects/SilphCo7F.asm b/data/maps/objects/SilphCo7F.asm index 1b75e66e..caa726fe 100755 --- a/data/maps/objects/SilphCo7F.asm +++ b/data/maps/objects/SilphCo7F.asm @@ -1,7 +1,7 @@ SilphCo7F_Object: db $2e ; border block - db 6 ; warps + def_warps warp 16, 0, 1, SILPH_CO_8F warp 22, 0, 0, SILPH_CO_6F warp 18, 0, 0, SILPH_CO_ELEVATOR @@ -9,9 +9,9 @@ SilphCo7F_Object: warp 5, 3, 8, SILPH_CO_3F warp 21, 15, 3, SILPH_CO_5F - db 0 ; signs + def_signs - db 11 ; objects + def_objects object SPRITE_SILPH_WORKER, 1, 5, STAY, NONE, 1 ; person object SPRITE_SILPH_WORKER, 13, 13, STAY, UP, 2 ; person object SPRITE_SILPH_WORKER, 7, 10, STAY, NONE, 3 ; person diff --git a/data/maps/objects/SilphCo8F.asm b/data/maps/objects/SilphCo8F.asm index 12470f55..e152d07b 100755 --- a/data/maps/objects/SilphCo8F.asm +++ b/data/maps/objects/SilphCo8F.asm @@ -1,7 +1,7 @@ SilphCo8F_Object: db $2e ; border block - db 7 ; warps + def_warps warp 16, 0, 1, SILPH_CO_9F warp 14, 0, 0, SILPH_CO_7F warp 18, 0, 0, SILPH_CO_ELEVATOR @@ -10,9 +10,9 @@ SilphCo8F_Object: warp 11, 5, 5, SILPH_CO_2F warp 11, 9, 3, SILPH_CO_8F - db 0 ; signs + def_signs - db 4 ; objects + def_objects object SPRITE_SILPH_WORKER, 4, 2, STAY, NONE, 1 ; person object SPRITE_ROCKET, 19, 2, STAY, LEFT, 2, OPP_ROCKET, 35 object SPRITE_SCIENTIST, 10, 2, STAY, DOWN, 3, OPP_SCIENTIST, 9 diff --git a/data/maps/objects/SilphCo9F.asm b/data/maps/objects/SilphCo9F.asm index efba45f7..ab834322 100755 --- a/data/maps/objects/SilphCo9F.asm +++ b/data/maps/objects/SilphCo9F.asm @@ -1,16 +1,16 @@ SilphCo9F_Object: db $2e ; border block - db 5 ; warps + def_warps warp 14, 0, 0, SILPH_CO_10F warp 16, 0, 0, SILPH_CO_8F warp 18, 0, 0, SILPH_CO_ELEVATOR warp 9, 3, 7, SILPH_CO_3F warp 17, 15, 4, SILPH_CO_5F - db 0 ; signs + def_signs - db 4 ; objects + def_objects object SPRITE_NURSE, 3, 14, STAY, DOWN, 1 ; person object SPRITE_ROCKET, 2, 4, STAY, UP, 2, OPP_ROCKET, 37 object SPRITE_SCIENTIST, 21, 13, STAY, DOWN, 3, OPP_SCIENTIST, 10 diff --git a/data/maps/objects/SilphCoElevator.asm b/data/maps/objects/SilphCoElevator.asm index 9c4b5a79..fee81f82 100755 --- a/data/maps/objects/SilphCoElevator.asm +++ b/data/maps/objects/SilphCoElevator.asm @@ -1,14 +1,14 @@ SilphCoElevator_Object: db $f ; border block - db 2 ; warps + def_warps warp 1, 3, 0, 237 warp 2, 3, 0, 237 - db 1 ; signs + def_signs sign 3, 0, 1 ; SilphCoElevatorText1 - db 0 ; objects + def_objects ; warp-to warp_to 1, 3, SILPH_CO_ELEVATOR_WIDTH diff --git a/data/maps/objects/TradeCenter.asm b/data/maps/objects/TradeCenter.asm index e6df8087..ea145a15 100755 --- a/data/maps/objects/TradeCenter.asm +++ b/data/maps/objects/TradeCenter.asm @@ -1,9 +1,9 @@ TradeCenter_Object: db $e ; border block - db 0 ; warps + def_warps - db 0 ; signs + def_signs - db 1 ; objects + def_objects object SPRITE_RED, 2, 2, STAY, 0, 1 ; person diff --git a/data/maps/objects/UndergroundPathNorthSouth.asm b/data/maps/objects/UndergroundPathNorthSouth.asm index 35e21cca..9de44f1a 100755 --- a/data/maps/objects/UndergroundPathNorthSouth.asm +++ b/data/maps/objects/UndergroundPathNorthSouth.asm @@ -1,13 +1,13 @@ UndergroundPathNorthSouth_Object: db $1 ; border block - db 2 ; warps + def_warps warp 5, 4, 2, UNDERGROUND_PATH_ROUTE_5 warp 2, 41, 2, UNDERGROUND_PATH_ROUTE_6 - db 0 ; signs + def_signs - db 0 ; objects + def_objects ; warp-to warp_to 5, 4, UNDERGROUND_PATH_NORTH_SOUTH_WIDTH ; UNDERGROUND_PATH_ROUTE_5 diff --git a/data/maps/objects/UndergroundPathRoute5.asm b/data/maps/objects/UndergroundPathRoute5.asm index af96f6dc..cd0052d3 100755 --- a/data/maps/objects/UndergroundPathRoute5.asm +++ b/data/maps/objects/UndergroundPathRoute5.asm @@ -1,14 +1,14 @@ UndergroundPathRoute5_Object: db $a ; border block - db 3 ; warps + def_warps warp 3, 7, 3, LAST_MAP warp 4, 7, 3, LAST_MAP warp 4, 4, 0, UNDERGROUND_PATH_NORTH_SOUTH - db 0 ; signs + def_signs - db 1 ; objects + def_objects object SPRITE_LITTLE_GIRL, 2, 3, STAY, NONE, 1 ; person ; warp-to diff --git a/data/maps/objects/UndergroundPathRoute6.asm b/data/maps/objects/UndergroundPathRoute6.asm index 73626c13..f981aa1b 100755 --- a/data/maps/objects/UndergroundPathRoute6.asm +++ b/data/maps/objects/UndergroundPathRoute6.asm @@ -1,14 +1,14 @@ UndergroundPathRoute6_Object: db $a ; border block - db 3 ; warps + def_warps warp 3, 7, 3, LAST_MAP warp 4, 7, 3, LAST_MAP warp 4, 4, 1, UNDERGROUND_PATH_NORTH_SOUTH - db 0 ; signs + def_signs - db 1 ; objects + def_objects object SPRITE_GIRL, 2, 3, STAY, NONE, 1 ; person ; warp-to diff --git a/data/maps/objects/UndergroundPathRoute7.asm b/data/maps/objects/UndergroundPathRoute7.asm index 4e301811..b67a4017 100755 --- a/data/maps/objects/UndergroundPathRoute7.asm +++ b/data/maps/objects/UndergroundPathRoute7.asm @@ -1,14 +1,14 @@ UndergroundPathRoute7_Object: db $a ; border block - db 3 ; warps + def_warps warp 3, 7, 4, LAST_MAP warp 4, 7, 4, LAST_MAP warp 4, 4, 0, UNDERGROUND_PATH_WEST_EAST - db 0 ; signs + def_signs - db 1 ; objects + def_objects object SPRITE_MIDDLE_AGED_MAN, 2, 4, STAY, NONE, 1 ; person ; warp-to diff --git a/data/maps/objects/UndergroundPathRoute7Copy.asm b/data/maps/objects/UndergroundPathRoute7Copy.asm index 9486fb87..c565f8a1 100755 --- a/data/maps/objects/UndergroundPathRoute7Copy.asm +++ b/data/maps/objects/UndergroundPathRoute7Copy.asm @@ -1,14 +1,14 @@ UndergroundPathRoute7Copy_Object: db $a ; border block - db 3 ; warps + def_warps warp 3, 7, 5, LAST_MAP warp 4, 7, 5, LAST_MAP warp 4, 4, 0, UNDERGROUND_PATH_WEST_EAST - db 0 ; signs + def_signs - db 2 ; objects + def_objects object SPRITE_GIRL, 3, 2, STAY, NONE, 1 ; person object SPRITE_MIDDLE_AGED_MAN, 2, 4, STAY, NONE, 2 ; person diff --git a/data/maps/objects/UndergroundPathRoute8.asm b/data/maps/objects/UndergroundPathRoute8.asm index 8f5c1180..578bcbdb 100755 --- a/data/maps/objects/UndergroundPathRoute8.asm +++ b/data/maps/objects/UndergroundPathRoute8.asm @@ -1,14 +1,14 @@ UndergroundPathRoute8_Object: db $a ; border block - db 3 ; warps + def_warps warp 3, 7, 4, LAST_MAP warp 4, 7, 4, LAST_MAP warp 4, 4, 1, UNDERGROUND_PATH_WEST_EAST - db 0 ; signs + def_signs - db 1 ; objects + def_objects object SPRITE_GIRL, 3, 4, STAY, NONE, 1 ; person ; warp-to diff --git a/data/maps/objects/UndergroundPathWestEast.asm b/data/maps/objects/UndergroundPathWestEast.asm index fa064aca..f0a7f7de 100755 --- a/data/maps/objects/UndergroundPathWestEast.asm +++ b/data/maps/objects/UndergroundPathWestEast.asm @@ -1,13 +1,13 @@ UndergroundPathWestEast_Object: db $1 ; border block - db 2 ; warps + def_warps warp 2, 5, 2, UNDERGROUND_PATH_ROUTE_7 warp 47, 2, 2, UNDERGROUND_PATH_ROUTE_8 - db 0 ; signs + def_signs - db 0 ; objects + def_objects ; warp-to warp_to 2, 5, UNDERGROUND_PATH_WEST_EAST_WIDTH ; UNDERGROUND_PATH_ROUTE_7 diff --git a/data/maps/objects/VermilionCity.asm b/data/maps/objects/VermilionCity.asm index c23db7c6..7d39e369 100755 --- a/data/maps/objects/VermilionCity.asm +++ b/data/maps/objects/VermilionCity.asm @@ -1,7 +1,7 @@ VermilionCity_Object: db $43 ; border block - db 9 ; warps + def_warps warp 11, 3, 0, VERMILION_POKECENTER warp 9, 13, 0, POKEMON_FAN_CLUB warp 23, 13, 0, VERMILION_MART @@ -12,7 +12,7 @@ VermilionCity_Object: warp 15, 13, 0, VERMILION_TRADE_HOUSE warp 7, 3, 0, VERMILION_OLD_ROD_HOUSE - db 7 ; signs + def_signs sign 27, 3, 7 ; VermilionCityText7 sign 37, 13, 8 ; VermilionCityText8 sign 24, 13, 9 ; MartSignText @@ -21,7 +21,7 @@ VermilionCity_Object: sign 7, 19, 12 ; VermilionCityText12 sign 29, 15, 13 ; VermilionCityText13 - db 6 ; objects + def_objects object SPRITE_BEAUTY, 19, 7, WALK, LEFT_RIGHT, 1 ; person object SPRITE_GAMBLER, 14, 6, STAY, NONE, 2 ; person object SPRITE_SAILOR, 19, 30, STAY, UP, 3 ; person diff --git a/data/maps/objects/VermilionDock.asm b/data/maps/objects/VermilionDock.asm index 70a30b31..72aa5e03 100755 --- a/data/maps/objects/VermilionDock.asm +++ b/data/maps/objects/VermilionDock.asm @@ -1,13 +1,13 @@ VermilionDock_Object: db $f ; border block - db 2 ; warps + def_warps warp 14, 0, 5, LAST_MAP warp 14, 2, 1, SS_ANNE_1F - db 0 ; signs + def_signs - db 0 ; objects + def_objects ; warp-to warp_to 14, 0, VERMILION_DOCK_WIDTH diff --git a/data/maps/objects/VermilionGym.asm b/data/maps/objects/VermilionGym.asm index f5cc7b87..34596b40 100755 --- a/data/maps/objects/VermilionGym.asm +++ b/data/maps/objects/VermilionGym.asm @@ -1,13 +1,13 @@ VermilionGym_Object: db $3 ; border block - db 2 ; warps + def_warps warp 4, 17, 3, LAST_MAP warp 5, 17, 3, LAST_MAP - db 0 ; signs + def_signs - db 5 ; objects + def_objects object SPRITE_ROCKER, 5, 1, STAY, DOWN, 1, OPP_LT_SURGE, 1 object SPRITE_GENTLEMAN, 9, 6, STAY, LEFT, 2, OPP_GENTLEMAN, 3 object SPRITE_SUPER_NERD, 3, 8, STAY, LEFT, 3, OPP_ROCKER, 1 diff --git a/data/maps/objects/VermilionMart.asm b/data/maps/objects/VermilionMart.asm index 76291be8..58f77bec 100755 --- a/data/maps/objects/VermilionMart.asm +++ b/data/maps/objects/VermilionMart.asm @@ -1,13 +1,13 @@ VermilionMart_Object: db $0 ; border block - db 2 ; warps + def_warps warp 3, 7, 2, LAST_MAP warp 4, 7, 2, LAST_MAP - db 0 ; signs + def_signs - db 3 ; objects + def_objects object SPRITE_CLERK, 0, 5, STAY, RIGHT, 1 ; person object SPRITE_COOLTRAINER_M, 5, 6, STAY, NONE, 2 ; person object SPRITE_COOLTRAINER_F, 3, 3, WALK, LEFT_RIGHT, 3 ; person diff --git a/data/maps/objects/VermilionOldRodHouse.asm b/data/maps/objects/VermilionOldRodHouse.asm index f81ded30..c208133e 100755 --- a/data/maps/objects/VermilionOldRodHouse.asm +++ b/data/maps/objects/VermilionOldRodHouse.asm @@ -1,13 +1,13 @@ VermilionOldRodHouse_Object: db $a ; border block - db 2 ; warps + def_warps warp 2, 7, 8, LAST_MAP warp 3, 7, 8, LAST_MAP - db 0 ; signs + def_signs - db 1 ; objects + def_objects object SPRITE_FISHING_GURU, 2, 4, STAY, RIGHT, 1 ; person ; warp-to diff --git a/data/maps/objects/VermilionPidgeyHouse.asm b/data/maps/objects/VermilionPidgeyHouse.asm index 11ef4a08..f86ace28 100755 --- a/data/maps/objects/VermilionPidgeyHouse.asm +++ b/data/maps/objects/VermilionPidgeyHouse.asm @@ -1,13 +1,13 @@ VermilionPidgeyHouse_Object: db $a ; border block - db 2 ; warps + def_warps warp 2, 7, 4, LAST_MAP warp 3, 7, 4, LAST_MAP - db 0 ; signs + def_signs - db 3 ; objects + def_objects object SPRITE_YOUNGSTER, 5, 3, STAY, LEFT, 1 ; person object SPRITE_BIRD, 3, 5, WALK, LEFT_RIGHT, 2 ; person object SPRITE_PAPER, 4, 3, STAY, NONE, 3 ; person diff --git a/data/maps/objects/VermilionPokecenter.asm b/data/maps/objects/VermilionPokecenter.asm index f527c890..f09d3859 100755 --- a/data/maps/objects/VermilionPokecenter.asm +++ b/data/maps/objects/VermilionPokecenter.asm @@ -1,13 +1,13 @@ VermilionPokecenter_Object: db $0 ; border block - db 2 ; warps + def_warps warp 3, 7, 0, LAST_MAP warp 4, 7, 0, LAST_MAP - db 0 ; signs + def_signs - db 4 ; objects + def_objects object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person object SPRITE_FISHING_GURU, 10, 5, STAY, NONE, 2 ; person object SPRITE_SAILOR, 5, 4, STAY, NONE, 3 ; person diff --git a/data/maps/objects/VermilionTradeHouse.asm b/data/maps/objects/VermilionTradeHouse.asm index 54c20055..8bc162f2 100755 --- a/data/maps/objects/VermilionTradeHouse.asm +++ b/data/maps/objects/VermilionTradeHouse.asm @@ -1,13 +1,13 @@ VermilionTradeHouse_Object: db $a ; border block - db 2 ; warps + def_warps warp 2, 7, 7, LAST_MAP warp 3, 7, 7, LAST_MAP - db 0 ; signs + def_signs - db 1 ; objects + def_objects object SPRITE_LITTLE_GIRL, 3, 5, STAY, UP, 1 ; person ; warp-to diff --git a/data/maps/objects/VictoryRoad1F.asm b/data/maps/objects/VictoryRoad1F.asm index 271be1b8..539cabfb 100755 --- a/data/maps/objects/VictoryRoad1F.asm +++ b/data/maps/objects/VictoryRoad1F.asm @@ -1,14 +1,14 @@ VictoryRoad1F_Object: db $7d ; border block - db 3 ; warps + def_warps warp 8, 17, 2, LAST_MAP warp 9, 17, 2, LAST_MAP warp 1, 1, 0, VICTORY_ROAD_2F - db 0 ; signs + def_signs - db 7 ; objects + def_objects object SPRITE_COOLTRAINER_F, 7, 5, STAY, RIGHT, 1, OPP_COOLTRAINER_F, 5 object SPRITE_COOLTRAINER_M, 3, 2, STAY, DOWN, 2, OPP_COOLTRAINER_M, 5 object SPRITE_POKE_BALL, 11, 0, STAY, NONE, 3, TM_SKY_ATTACK diff --git a/data/maps/objects/VictoryRoad2F.asm b/data/maps/objects/VictoryRoad2F.asm index a7f6d102..96310c0d 100755 --- a/data/maps/objects/VictoryRoad2F.asm +++ b/data/maps/objects/VictoryRoad2F.asm @@ -1,7 +1,7 @@ VictoryRoad2F_Object: db $7d ; border block - db 7 ; warps + def_warps warp 0, 8, 2, VICTORY_ROAD_1F warp 29, 7, 3, LAST_MAP warp 29, 8, 3, LAST_MAP @@ -10,9 +10,9 @@ VictoryRoad2F_Object: warp 27, 7, 1, VICTORY_ROAD_3F warp 1, 1, 3, VICTORY_ROAD_3F - db 0 ; signs + def_signs - db 13 ; objects + def_objects object SPRITE_HIKER, 12, 9, STAY, LEFT, 1, OPP_BLACKBELT, 9 object SPRITE_SUPER_NERD, 21, 13, STAY, LEFT, 2, OPP_JUGGLER, 2 object SPRITE_COOLTRAINER_M, 19, 8, STAY, DOWN, 3, OPP_TAMER, 5 diff --git a/data/maps/objects/VictoryRoad3F.asm b/data/maps/objects/VictoryRoad3F.asm index ad4bd29f..97325fd3 100755 --- a/data/maps/objects/VictoryRoad3F.asm +++ b/data/maps/objects/VictoryRoad3F.asm @@ -1,15 +1,15 @@ VictoryRoad3F_Object: db $7d ; border block - db 4 ; warps + def_warps warp 23, 7, 3, VICTORY_ROAD_2F warp 26, 8, 5, VICTORY_ROAD_2F warp 27, 15, 4, VICTORY_ROAD_2F warp 2, 0, 6, VICTORY_ROAD_2F - db 0 ; signs + def_signs - db 10 ; objects + def_objects object SPRITE_COOLTRAINER_M, 28, 5, STAY, LEFT, 1, OPP_COOLTRAINER_M, 2 object SPRITE_COOLTRAINER_F, 7, 13, STAY, RIGHT, 2, OPP_COOLTRAINER_F, 2 object SPRITE_COOLTRAINER_M, 6, 14, STAY, LEFT, 3, OPP_COOLTRAINER_M, 3 diff --git a/data/maps/objects/ViridianCity.asm b/data/maps/objects/ViridianCity.asm index 540dadd6..9f7938e9 100755 --- a/data/maps/objects/ViridianCity.asm +++ b/data/maps/objects/ViridianCity.asm @@ -1,14 +1,14 @@ ViridianCity_Object: db $f ; border block - db 5 ; warps + def_warps warp 23, 25, 0, VIRIDIAN_POKECENTER warp 29, 19, 0, VIRIDIAN_MART warp 21, 15, 0, VIRIDIAN_SCHOOL_HOUSE warp 21, 9, 0, VIRIDIAN_NICKNAME_HOUSE warp 32, 7, 0, VIRIDIAN_GYM - db 6 ; signs + def_signs sign 17, 17, 8 ; ViridianCityText8 sign 19, 1, 9 ; ViridianCityText9 sign 21, 29, 10 ; ViridianCityText10 @@ -16,7 +16,7 @@ ViridianCity_Object: sign 24, 25, 12 ; PokeCenterSignText sign 27, 7, 13 ; ViridianCityText13 - db 7 ; objects + def_objects object SPRITE_YOUNGSTER, 13, 20, WALK, ANY_DIR, 1 ; person object SPRITE_GAMBLER, 30, 8, STAY, NONE, 2 ; person object SPRITE_YOUNGSTER, 30, 25, WALK, ANY_DIR, 3 ; person diff --git a/data/maps/objects/ViridianForest.asm b/data/maps/objects/ViridianForest.asm index beee25c2..5612577f 100755 --- a/data/maps/objects/ViridianForest.asm +++ b/data/maps/objects/ViridianForest.asm @@ -1,7 +1,7 @@ ViridianForest_Object: db $3 ; border block - db 6 ; warps + def_warps warp 1, 0, 2, VIRIDIAN_FOREST_NORTH_GATE warp 2, 0, 3, VIRIDIAN_FOREST_NORTH_GATE warp 15, 47, 1, VIRIDIAN_FOREST_SOUTH_GATE @@ -9,7 +9,7 @@ ViridianForest_Object: warp 17, 47, 1, VIRIDIAN_FOREST_SOUTH_GATE warp 18, 47, 1, VIRIDIAN_FOREST_SOUTH_GATE - db 6 ; signs + def_signs sign 24, 40, 9 ; ViridianForestText9 sign 16, 32, 10 ; ViridianForestText10 sign 26, 17, 11 ; ViridianForestText11 @@ -17,7 +17,7 @@ ViridianForest_Object: sign 18, 45, 13 ; ViridianForestText13 sign 2, 1, 14 ; ViridianForestText14 - db 8 ; objects + def_objects object SPRITE_YOUNGSTER, 16, 43, STAY, NONE, 1 ; person object SPRITE_YOUNGSTER, 30, 33, STAY, LEFT, 2, OPP_BUG_CATCHER, 1 object SPRITE_YOUNGSTER, 30, 19, STAY, LEFT, 3, OPP_BUG_CATCHER, 2 diff --git a/data/maps/objects/ViridianForestNorthGate.asm b/data/maps/objects/ViridianForestNorthGate.asm index 9ff88a81..45be8a54 100755 --- a/data/maps/objects/ViridianForestNorthGate.asm +++ b/data/maps/objects/ViridianForestNorthGate.asm @@ -1,15 +1,15 @@ ViridianForestNorthGate_Object: db $a ; border block - db 4 ; warps + def_warps warp 4, 0, 1, LAST_MAP warp 5, 0, 1, LAST_MAP warp 4, 7, 0, VIRIDIAN_FOREST warp 5, 7, 0, VIRIDIAN_FOREST - db 0 ; signs + def_signs - db 2 ; objects + def_objects object SPRITE_SUPER_NERD, 3, 2, STAY, NONE, 1 ; person object SPRITE_GRAMPS, 2, 5, STAY, NONE, 2 ; person diff --git a/data/maps/objects/ViridianForestSouthGate.asm b/data/maps/objects/ViridianForestSouthGate.asm index 95478e37..b37e07f4 100755 --- a/data/maps/objects/ViridianForestSouthGate.asm +++ b/data/maps/objects/ViridianForestSouthGate.asm @@ -1,15 +1,15 @@ ViridianForestSouthGate_Object: db $a ; border block - db 4 ; warps + def_warps warp 4, 0, 3, VIRIDIAN_FOREST warp 5, 0, 4, VIRIDIAN_FOREST warp 4, 7, 5, LAST_MAP warp 5, 7, 5, LAST_MAP - db 0 ; signs + def_signs - db 2 ; objects + def_objects object SPRITE_GIRL, 8, 4, STAY, LEFT, 1 ; person object SPRITE_LITTLE_GIRL, 2, 4, WALK, UP_DOWN, 2 ; person diff --git a/data/maps/objects/ViridianGym.asm b/data/maps/objects/ViridianGym.asm index d6ee127c..f9f78fcb 100755 --- a/data/maps/objects/ViridianGym.asm +++ b/data/maps/objects/ViridianGym.asm @@ -1,13 +1,13 @@ ViridianGym_Object: db $3 ; border block - db 2 ; warps + def_warps warp 16, 17, 4, LAST_MAP warp 17, 17, 4, LAST_MAP - db 0 ; signs + def_signs - db 11 ; objects + def_objects object SPRITE_GIOVANNI, 2, 1, STAY, DOWN, 1, OPP_GIOVANNI, 3 object SPRITE_COOLTRAINER_M, 12, 7, STAY, DOWN, 2, OPP_COOLTRAINER_M, 9 object SPRITE_HIKER, 11, 11, STAY, UP, 3, OPP_BLACKBELT, 6 diff --git a/data/maps/objects/ViridianMart.asm b/data/maps/objects/ViridianMart.asm index fde88d0b..38a3e761 100755 --- a/data/maps/objects/ViridianMart.asm +++ b/data/maps/objects/ViridianMart.asm @@ -1,13 +1,13 @@ ViridianMart_Object: db $0 ; border block - db 2 ; warps + def_warps warp 3, 7, 1, LAST_MAP warp 4, 7, 1, LAST_MAP - db 0 ; signs + def_signs - db 3 ; objects + def_objects object SPRITE_CLERK, 0, 5, STAY, RIGHT, 1 ; person object SPRITE_YOUNGSTER, 5, 5, WALK, UP_DOWN, 2 ; person object SPRITE_COOLTRAINER_M, 3, 3, STAY, NONE, 3 ; person diff --git a/data/maps/objects/ViridianNicknameHouse.asm b/data/maps/objects/ViridianNicknameHouse.asm index 23d60a28..24147aaf 100755 --- a/data/maps/objects/ViridianNicknameHouse.asm +++ b/data/maps/objects/ViridianNicknameHouse.asm @@ -1,13 +1,13 @@ ViridianNicknameHouse_Object: db $a ; border block - db 2 ; warps + def_warps warp 2, 7, 3, LAST_MAP warp 3, 7, 3, LAST_MAP - db 0 ; signs + def_signs - db 4 ; objects + def_objects object SPRITE_BALDING_GUY, 5, 3, STAY, NONE, 1 ; person object SPRITE_LITTLE_GIRL, 1, 4, WALK, UP_DOWN, 2 ; person object SPRITE_BIRD, 5, 5, WALK, LEFT_RIGHT, 3 ; person diff --git a/data/maps/objects/ViridianPokecenter.asm b/data/maps/objects/ViridianPokecenter.asm index 00b3e16c..40f6464b 100755 --- a/data/maps/objects/ViridianPokecenter.asm +++ b/data/maps/objects/ViridianPokecenter.asm @@ -1,13 +1,13 @@ ViridianPokecenter_Object: db $0 ; border block - db 2 ; warps + def_warps warp 3, 7, 0, LAST_MAP warp 4, 7, 0, LAST_MAP - db 0 ; signs + def_signs - db 4 ; objects + def_objects object SPRITE_NURSE, 3, 1, STAY, DOWN, 1 ; person object SPRITE_GENTLEMAN, 10, 5, WALK, UP_DOWN, 2 ; person object SPRITE_COOLTRAINER_M, 4, 3, STAY, NONE, 3 ; person diff --git a/data/maps/objects/ViridianSchoolHouse.asm b/data/maps/objects/ViridianSchoolHouse.asm index 582a4d00..8c37783f 100755 --- a/data/maps/objects/ViridianSchoolHouse.asm +++ b/data/maps/objects/ViridianSchoolHouse.asm @@ -1,13 +1,13 @@ ViridianSchoolHouse_Object: db $a ; border block - db 2 ; warps + def_warps warp 2, 7, 2, LAST_MAP warp 3, 7, 2, LAST_MAP - db 0 ; signs + def_signs - db 2 ; objects + def_objects object SPRITE_BRUNETTE_GIRL, 3, 5, STAY, UP, 1 ; person object SPRITE_COOLTRAINER_F, 4, 1, STAY, DOWN, 2 ; person diff --git a/data/maps/objects/WardensHouse.asm b/data/maps/objects/WardensHouse.asm index 307390f3..6f5b9455 100755 --- a/data/maps/objects/WardensHouse.asm +++ b/data/maps/objects/WardensHouse.asm @@ -1,15 +1,15 @@ WardensHouse_Object: db $17 ; border block - db 2 ; warps + def_warps warp 4, 7, 3, LAST_MAP warp 5, 7, 3, LAST_MAP - db 2 ; signs + def_signs sign 4, 3, 4 ; FuchsiaHouse2Text4 sign 5, 3, 5 ; FuchsiaHouse2Text5 - db 3 ; objects + def_objects object SPRITE_WARDEN, 2, 3, STAY, NONE, 1 ; person object SPRITE_POKE_BALL, 8, 3, STAY, NONE, 2, RARE_CANDY object SPRITE_BOULDER, 8, 4, STAY, BOULDER_MOVEMENT_BYTE_2, 3 ; person diff --git a/macros/scripts/maps.asm b/macros/scripts/maps.asm index 8722b4d0..efe82dc8 100644 --- a/macros/scripts/maps.asm +++ b/macros/scripts/maps.asm @@ -1,3 +1,12 @@ +def_objects: MACRO +if DEF(_NUM_OBJECTS) + PURGE _NUM_OBJECTS +endc +_NUM_OBJECTS EQUS "_NUM_OBJECTS_\@" + db _NUM_OBJECTS +_NUM_OBJECTS = 0 +ENDM + ;\1 sprite id ;\2 x position ;\3 y position @@ -23,6 +32,16 @@ object: MACRO ELSE db \6 ENDC +_NUM_OBJECTS = _NUM_OBJECTS + 1 +ENDM + +def_warps: MACRO +if DEF(_NUM_WARPS) + PURGE _NUM_WARPS +endc +_NUM_WARPS EQUS "_NUM_WARPS_\@" + db _NUM_WARPS +_NUM_WARPS = 0 ENDM ;\1 x position @@ -31,6 +50,16 @@ ENDM ;\4 destination map (-1 = wLastMap) warp: MACRO db \2, \1, \3, \4 +_NUM_WARPS = _NUM_WARPS + 1 +ENDM + +def_signs: MACRO +if DEF(_NUM_SIGNS) + PURGE _NUM_SIGNS +endc +_NUM_SIGNS EQUS "_NUM_SIGNS_\@" + db _NUM_SIGNS +_NUM_SIGNS = 0 ENDM ;\1 x position @@ -38,6 +67,7 @@ ENDM ;\3 sign id sign: MACRO db \2, \1, \3 +_NUM_SIGNS = _NUM_SIGNS + 1 ENDM ;\1 x position -- cgit v1.2.3 From f4514ff53ce74d13013c994cfd321aa711fc95c2 Mon Sep 17 00:00:00 2001 From: Rangi Date: Mon, 17 Aug 2020 17:40:27 -0400 Subject: Use map constants for SilphCoElevator warps --- data/maps/objects/SilphCoElevator.asm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/maps/objects/SilphCoElevator.asm b/data/maps/objects/SilphCoElevator.asm index fee81f82..7c6f9aab 100755 --- a/data/maps/objects/SilphCoElevator.asm +++ b/data/maps/objects/SilphCoElevator.asm @@ -2,8 +2,8 @@ SilphCoElevator_Object: db $f ; border block def_warps - warp 1, 3, 0, 237 - warp 2, 3, 0, 237 + warp 1, 3, 0, UNUSED_MAP_ED + warp 2, 3, 0, UNUSED_MAP_ED def_signs sign 3, 0, 1 ; SilphCoElevatorText1 -- cgit v1.2.3 From 4373aafac152f64621bf3d8c6b8d037cd9c76f7b Mon Sep 17 00:00:00 2001 From: Rangi Date: Mon, 17 Aug 2020 17:47:28 -0400 Subject: Use def_warps_to macro for automatic warp_to entries --- data/maps/objects/AgathasRoom.asm | 6 +---- data/maps/objects/BikeShop.asm | 4 +-- data/maps/objects/BillsHouse.asm | 4 +-- data/maps/objects/BluesHouse.asm | 4 +-- data/maps/objects/BrunosRoom.asm | 6 +---- data/maps/objects/CeladonChiefHouse.asm | 4 +-- data/maps/objects/CeladonCity.asm | 15 +---------- data/maps/objects/CeladonDiner.asm | 4 +-- data/maps/objects/CeladonGym.asm | 4 +-- data/maps/objects/CeladonHotel.asm | 4 +-- data/maps/objects/CeladonMansion1F.asm | 7 +---- data/maps/objects/CeladonMansion2F.asm | 6 +---- data/maps/objects/CeladonMansion3F.asm | 6 +---- data/maps/objects/CeladonMansionRoof.asm | 5 +--- data/maps/objects/CeladonMansionRoofHouse.asm | 4 +-- data/maps/objects/CeladonMart1F.asm | 8 +----- data/maps/objects/CeladonMart2F.asm | 5 +--- data/maps/objects/CeladonMart3F.asm | 5 +--- data/maps/objects/CeladonMart4F.asm | 5 +--- data/maps/objects/CeladonMart5F.asm | 5 +--- data/maps/objects/CeladonMartElevator.asm | 4 +-- data/maps/objects/CeladonMartRoof.asm | 3 +-- data/maps/objects/CeladonPokecenter.asm | 4 +-- data/maps/objects/CeruleanBadgeHouse.asm | 5 +--- data/maps/objects/CeruleanCave1F.asm | 11 +------- data/maps/objects/CeruleanCave2F.asm | 8 +----- data/maps/objects/CeruleanCaveB1F.asm | 3 +-- data/maps/objects/CeruleanCity.asm | 12 +-------- data/maps/objects/CeruleanGym.asm | 4 +-- data/maps/objects/CeruleanMart.asm | 4 +-- data/maps/objects/CeruleanPokecenter.asm | 4 +-- data/maps/objects/CeruleanTradeHouse.asm | 4 +-- data/maps/objects/CeruleanTrashedHouse.asm | 5 +--- data/maps/objects/ChampionsRoom.asm | 6 +---- data/maps/objects/CinnabarGym.asm | 4 +-- data/maps/objects/CinnabarIsland.asm | 7 +---- data/maps/objects/CinnabarLab.asm | 7 +---- data/maps/objects/CinnabarLabFossilRoom.asm | 4 +-- data/maps/objects/CinnabarLabMetronomeRoom.asm | 4 +-- data/maps/objects/CinnabarLabTradeRoom.asm | 4 +-- data/maps/objects/CinnabarMart.asm | 4 +-- data/maps/objects/CinnabarPokecenter.asm | 4 +-- data/maps/objects/Colosseum.asm | 2 ++ data/maps/objects/CopycatsHouse1F.asm | 5 +--- data/maps/objects/CopycatsHouse2F.asm | 3 +-- data/maps/objects/Daycare.asm | 4 +-- data/maps/objects/DiglettsCave.asm | 4 +-- data/maps/objects/DiglettsCaveRoute11.asm | 5 +--- data/maps/objects/DiglettsCaveRoute2.asm | 5 +--- data/maps/objects/FightingDojo.asm | 4 +-- data/maps/objects/FuchsiaBillsGrandpasHouse.asm | 4 +-- data/maps/objects/FuchsiaCity.asm | 11 +------- data/maps/objects/FuchsiaGoodRodHouse.asm | 5 +--- data/maps/objects/FuchsiaGym.asm | 4 +-- data/maps/objects/FuchsiaMart.asm | 4 +-- data/maps/objects/FuchsiaMeetingRoom.asm | 4 +-- data/maps/objects/FuchsiaPokecenter.asm | 4 +-- data/maps/objects/GameCorner.asm | 5 +--- data/maps/objects/GameCornerPrizeRoom.asm | 4 +-- data/maps/objects/HallOfFame.asm | 4 +-- data/maps/objects/IndigoPlateau.asm | 4 +-- data/maps/objects/IndigoPlateauLobby.asm | 5 +--- data/maps/objects/LancesRoom.asm | 5 +--- data/maps/objects/LavenderCuboneHouse.asm | 4 +-- data/maps/objects/LavenderMart.asm | 4 +-- data/maps/objects/LavenderPokecenter.asm | 4 +-- data/maps/objects/LavenderTown.asm | 8 +----- data/maps/objects/LoreleisRoom.asm | 6 +---- data/maps/objects/MrFujisHouse.asm | 4 +-- data/maps/objects/MrPsychicsHouse.asm | 4 +-- data/maps/objects/MtMoon1F.asm | 7 +---- data/maps/objects/MtMoonB1F.asm | 10 +------- data/maps/objects/MtMoonB2F.asm | 6 +---- data/maps/objects/MtMoonPokecenter.asm | 4 +-- data/maps/objects/Museum1F.asm | 7 +---- data/maps/objects/Museum2F.asm | 3 +-- data/maps/objects/NameRatersHouse.asm | 4 +-- data/maps/objects/OaksLab.asm | 4 +-- data/maps/objects/PalletTown.asm | 5 +--- data/maps/objects/PewterCity.asm | 9 +------ data/maps/objects/PewterGym.asm | 4 +-- data/maps/objects/PewterMart.asm | 4 +-- data/maps/objects/PewterNidoranHouse.asm | 4 +-- data/maps/objects/PewterPokecenter.asm | 4 +-- data/maps/objects/PewterSpeechHouse.asm | 4 +-- data/maps/objects/PokemonFanClub.asm | 4 +-- data/maps/objects/PokemonMansion1F.asm | 10 +------- data/maps/objects/PokemonMansion2F.asm | 6 +---- data/maps/objects/PokemonMansion3F.asm | 5 +--- data/maps/objects/PokemonMansionB1F.asm | 3 +-- data/maps/objects/PokemonTower1F.asm | 5 +--- data/maps/objects/PokemonTower2F.asm | 4 +-- data/maps/objects/PokemonTower3F.asm | 4 +-- data/maps/objects/PokemonTower4F.asm | 4 +-- data/maps/objects/PokemonTower5F.asm | 4 +-- data/maps/objects/PokemonTower6F.asm | 4 +-- data/maps/objects/PokemonTower7F.asm | 3 +-- data/maps/objects/PowerPlant.asm | 5 +--- data/maps/objects/RedsHouse1F.asm | 5 +--- data/maps/objects/RedsHouse2F.asm | 3 +-- data/maps/objects/RockTunnel1F.asm | 10 +------- data/maps/objects/RockTunnelB1F.asm | 6 +---- data/maps/objects/RockTunnelPokecenter.asm | 4 +-- data/maps/objects/RocketHideoutB1F.asm | 7 +---- data/maps/objects/RocketHideoutB2F.asm | 7 +---- data/maps/objects/RocketHideoutB3F.asm | 4 +-- data/maps/objects/RocketHideoutB4F.asm | 5 +--- data/maps/objects/RocketHideoutElevator.asm | 4 +-- data/maps/objects/Route1.asm | 4 ++- data/maps/objects/Route10.asm | 6 +---- data/maps/objects/Route11.asm | 7 +---- data/maps/objects/Route11Gate1F.asm | 7 +---- data/maps/objects/Route11Gate2F.asm | 3 +-- data/maps/objects/Route12.asm | 6 +---- data/maps/objects/Route12Gate1F.asm | 7 +---- data/maps/objects/Route12Gate2F.asm | 3 +-- data/maps/objects/Route12SuperRodHouse.asm | 4 +-- data/maps/objects/Route13.asm | 2 ++ data/maps/objects/Route14.asm | 2 ++ data/maps/objects/Route15.asm | 6 +---- data/maps/objects/Route15Gate1F.asm | 7 +---- data/maps/objects/Route15Gate2F.asm | 3 +-- data/maps/objects/Route16.asm | 11 +------- data/maps/objects/Route16FlyHouse.asm | 4 +-- data/maps/objects/Route16Gate1F.asm | 11 +------- data/maps/objects/Route16Gate2F.asm | 3 +-- data/maps/objects/Route17.asm | 2 ++ data/maps/objects/Route18.asm | 6 +---- data/maps/objects/Route18Gate1F.asm | 7 +---- data/maps/objects/Route18Gate2F.asm | 3 +-- data/maps/objects/Route19.asm | 2 +- data/maps/objects/Route2.asm | 8 +----- data/maps/objects/Route20.asm | 4 +-- data/maps/objects/Route21.asm | 2 ++ data/maps/objects/Route22.asm | 3 +-- data/maps/objects/Route22Gate.asm | 6 +---- data/maps/objects/Route23.asm | 6 +---- data/maps/objects/Route24.asm | 2 ++ data/maps/objects/Route25.asm | 3 +-- data/maps/objects/Route2Gate.asm | 6 +---- data/maps/objects/Route2TradeHouse.asm | 4 +-- data/maps/objects/Route3.asm | 2 ++ data/maps/objects/Route4.asm | 5 +--- data/maps/objects/Route5.asm | 7 +---- data/maps/objects/Route5Gate.asm | 6 +---- data/maps/objects/Route6.asm | 6 +---- data/maps/objects/Route6Gate.asm | 6 +---- data/maps/objects/Route7.asm | 7 +---- data/maps/objects/Route7Gate.asm | 6 +---- data/maps/objects/Route8.asm | 7 +---- data/maps/objects/Route8Gate.asm | 6 +---- data/maps/objects/Route9.asm | 2 ++ data/maps/objects/SSAnne1F.asm | 13 +--------- data/maps/objects/SSAnne1FRooms.asm | 8 +----- data/maps/objects/SSAnne2F.asm | 11 +------- data/maps/objects/SSAnne2FRooms.asm | 14 +--------- data/maps/objects/SSAnne3F.asm | 4 +-- data/maps/objects/SSAnneB1F.asm | 8 +----- data/maps/objects/SSAnneB1FRooms.asm | 12 +-------- data/maps/objects/SSAnneBow.asm | 4 +-- data/maps/objects/SSAnneCaptainsRoom.asm | 3 +-- data/maps/objects/SSAnneKitchen.asm | 3 +-- data/maps/objects/SafariZoneCenter.asm | 11 +------- data/maps/objects/SafariZoneCenterRestHouse.asm | 4 +-- data/maps/objects/SafariZoneEast.asm | 7 +---- data/maps/objects/SafariZoneEastRestHouse.asm | 4 +-- data/maps/objects/SafariZoneGate.asm | 6 +---- data/maps/objects/SafariZoneNorth.asm | 11 +------- data/maps/objects/SafariZoneNorthRestHouse.asm | 4 +-- data/maps/objects/SafariZoneSecretHouse.asm | 4 +-- data/maps/objects/SafariZoneWest.asm | 10 +------- data/maps/objects/SafariZoneWestRestHouse.asm | 4 +-- data/maps/objects/SaffronCity.asm | 10 +------- data/maps/objects/SaffronGym.asm | 34 +------------------------ data/maps/objects/SaffronMart.asm | 4 +-- data/maps/objects/SaffronPidgeyHouse.asm | 4 +-- data/maps/objects/SaffronPokecenter.asm | 4 +-- data/maps/objects/SeafoamIslands1F.asm | 9 +------ data/maps/objects/SeafoamIslandsB1F.asm | 9 +------ data/maps/objects/SeafoamIslandsB2F.asm | 9 +------ data/maps/objects/SeafoamIslandsB3F.asm | 9 +------ data/maps/objects/SeafoamIslandsB4F.asm | 6 +---- data/maps/objects/SilphCo10F.asm | 8 +----- data/maps/objects/SilphCo11F.asm | 6 +---- data/maps/objects/SilphCo1F.asm | 7 +---- data/maps/objects/SilphCo2F.asm | 9 +------ data/maps/objects/SilphCo3F.asm | 12 +-------- data/maps/objects/SilphCo4F.asm | 9 +------ data/maps/objects/SilphCo5F.asm | 9 +------ data/maps/objects/SilphCo6F.asm | 7 +---- data/maps/objects/SilphCo7F.asm | 8 +----- data/maps/objects/SilphCo8F.asm | 9 +------ data/maps/objects/SilphCo9F.asm | 7 +---- data/maps/objects/SilphCoElevator.asm | 4 +-- data/maps/objects/TradeCenter.asm | 2 ++ data/maps/objects/UndergroundPathNorthSouth.asm | 4 +-- data/maps/objects/UndergroundPathRoute5.asm | 5 +--- data/maps/objects/UndergroundPathRoute6.asm | 5 +--- data/maps/objects/UndergroundPathRoute7.asm | 5 +--- data/maps/objects/UndergroundPathRoute7Copy.asm | 5 +--- data/maps/objects/UndergroundPathRoute8.asm | 5 +--- data/maps/objects/UndergroundPathWestEast.asm | 4 +-- data/maps/objects/VermilionCity.asm | 11 +------- data/maps/objects/VermilionDock.asm | 4 +-- data/maps/objects/VermilionGym.asm | 4 +-- data/maps/objects/VermilionMart.asm | 4 +-- data/maps/objects/VermilionOldRodHouse.asm | 4 +-- data/maps/objects/VermilionPidgeyHouse.asm | 4 +-- data/maps/objects/VermilionPokecenter.asm | 4 +-- data/maps/objects/VermilionTradeHouse.asm | 4 +-- data/maps/objects/VictoryRoad1F.asm | 5 +--- data/maps/objects/VictoryRoad2F.asm | 9 +------ data/maps/objects/VictoryRoad3F.asm | 6 +---- data/maps/objects/ViridianCity.asm | 7 +---- data/maps/objects/ViridianForest.asm | 8 +----- data/maps/objects/ViridianForestNorthGate.asm | 6 +---- data/maps/objects/ViridianForestSouthGate.asm | 6 +---- data/maps/objects/ViridianGym.asm | 4 +-- data/maps/objects/ViridianMart.asm | 4 +-- data/maps/objects/ViridianNicknameHouse.asm | 4 +-- data/maps/objects/ViridianPokecenter.asm | 4 +-- data/maps/objects/ViridianSchoolHouse.asm | 4 +-- data/maps/objects/WardensHouse.asm | 4 +-- macros/scripts/maps.asm | 23 +++++++++++++++++ 224 files changed, 257 insertions(+), 1019 deletions(-) diff --git a/data/maps/objects/AgathasRoom.asm b/data/maps/objects/AgathasRoom.asm index 4a7f7c02..8244d512 100755 --- a/data/maps/objects/AgathasRoom.asm +++ b/data/maps/objects/AgathasRoom.asm @@ -12,8 +12,4 @@ AgathasRoom_Object: def_objects object SPRITE_AGATHA, 5, 2, STAY, DOWN, 1, OPP_AGATHA, 1 - ; warp-to - warp_to 4, 11, AGATHAS_ROOM_WIDTH ; BRUNOS_ROOM - warp_to 5, 11, AGATHAS_ROOM_WIDTH ; BRUNOS_ROOM - warp_to 4, 0, AGATHAS_ROOM_WIDTH ; LANCES_ROOM - warp_to 5, 0, AGATHAS_ROOM_WIDTH ; LANCES_ROOM + def_warps_to AGATHAS_ROOM diff --git a/data/maps/objects/BikeShop.asm b/data/maps/objects/BikeShop.asm index 7393d65a..5af0d996 100755 --- a/data/maps/objects/BikeShop.asm +++ b/data/maps/objects/BikeShop.asm @@ -12,6 +12,4 @@ BikeShop_Object: object SPRITE_MIDDLE_AGED_WOMAN, 5, 6, WALK, UP_DOWN, 2 ; person object SPRITE_YOUNGSTER, 1, 3, STAY, UP, 3 ; person - ; warp-to - warp_to 2, 7, BIKE_SHOP_WIDTH - warp_to 3, 7, BIKE_SHOP_WIDTH + def_warps_to BIKE_SHOP diff --git a/data/maps/objects/BillsHouse.asm b/data/maps/objects/BillsHouse.asm index e7c94476..7afceef3 100755 --- a/data/maps/objects/BillsHouse.asm +++ b/data/maps/objects/BillsHouse.asm @@ -12,6 +12,4 @@ BillsHouse_Object: object SPRITE_SUPER_NERD, 4, 4, STAY, NONE, 2 ; person object SPRITE_SUPER_NERD, 6, 5, STAY, NONE, 3 ; person - ; warp-to - warp_to 2, 7, BILLS_HOUSE_WIDTH - warp_to 3, 7, BILLS_HOUSE_WIDTH + def_warps_to BILLS_HOUSE diff --git a/data/maps/objects/BluesHouse.asm b/data/maps/objects/BluesHouse.asm index 369b5294..6a5ff757 100755 --- a/data/maps/objects/BluesHouse.asm +++ b/data/maps/objects/BluesHouse.asm @@ -12,6 +12,4 @@ BluesHouse_Object: object SPRITE_DAISY, 6, 4, WALK, UP_DOWN, 2, 0 ; Daisy, walking around object SPRITE_POKEDEX, 3, 3, STAY, NONE, 3, 0 ; map on table - ; warp-to - warp_to 2, 7, BLUES_HOUSE_WIDTH - warp_to 3, 7, BLUES_HOUSE_WIDTH + def_warps_to BLUES_HOUSE diff --git a/data/maps/objects/BrunosRoom.asm b/data/maps/objects/BrunosRoom.asm index 03f62f75..13ac82fe 100755 --- a/data/maps/objects/BrunosRoom.asm +++ b/data/maps/objects/BrunosRoom.asm @@ -12,8 +12,4 @@ BrunosRoom_Object: def_objects object SPRITE_BRUNO, 5, 2, STAY, DOWN, 1, OPP_BRUNO, 1 - ; warp-to - warp_to 4, 11, BRUNOS_ROOM_WIDTH ; LORELEIS_ROOM - warp_to 5, 11, BRUNOS_ROOM_WIDTH ; LORELEIS_ROOM - warp_to 4, 0, BRUNOS_ROOM_WIDTH ; AGATHAS_ROOM - warp_to 5, 0, BRUNOS_ROOM_WIDTH ; AGATHAS_ROOM + def_warps_to BRUNOS_ROOM diff --git a/data/maps/objects/CeladonChiefHouse.asm b/data/maps/objects/CeladonChiefHouse.asm index 33d1833b..c9496d6a 100755 --- a/data/maps/objects/CeladonChiefHouse.asm +++ b/data/maps/objects/CeladonChiefHouse.asm @@ -12,6 +12,4 @@ CeladonChiefHouse_Object: object SPRITE_ROCKET, 1, 4, WALK, ANY_DIR, 2 ; person object SPRITE_SAILOR, 5, 6, STAY, LEFT, 3 ; person - ; warp-to - warp_to 2, 7, CELADON_CHIEF_HOUSE_WIDTH - warp_to 3, 7, CELADON_CHIEF_HOUSE_WIDTH + def_warps_to CELADON_CHIEF_HOUSE diff --git a/data/maps/objects/CeladonCity.asm b/data/maps/objects/CeladonCity.asm index 92ee0bce..cce4464d 100755 --- a/data/maps/objects/CeladonCity.asm +++ b/data/maps/objects/CeladonCity.asm @@ -38,17 +38,4 @@ CeladonCity_Object: object SPRITE_ROCKET, 32, 29, WALK, LEFT_RIGHT, 8 ; person object SPRITE_ROCKET, 42, 14, WALK, LEFT_RIGHT, 9 ; person - ; warp-to - warp_to 8, 13, CELADON_CITY_WIDTH ; CELADON_MART_1F - warp_to 10, 13, CELADON_CITY_WIDTH ; CELADON_MART_1F - warp_to 24, 9, CELADON_CITY_WIDTH ; CELADON_MANSION_1F - warp_to 24, 3, CELADON_CITY_WIDTH ; CELADON_MANSION_1F - warp_to 25, 3, CELADON_CITY_WIDTH ; CELADON_MANSION_1F - warp_to 41, 9, CELADON_CITY_WIDTH ; CELADON_POKECENTER - warp_to 12, 27, CELADON_CITY_WIDTH ; CELADON_GYM - warp_to 28, 19, CELADON_CITY_WIDTH ; GAME_CORNER - warp_to 39, 19, CELADON_CITY_WIDTH ; CELADON_MART_5F - warp_to 33, 19, CELADON_CITY_WIDTH ; GAME_CORNER_PRIZE_ROOM - warp_to 31, 27, CELADON_CITY_WIDTH ; CELADON_DINER - warp_to 35, 27, CELADON_CITY_WIDTH ; CELADON_CHIEF_HOUSE - warp_to 43, 27, CELADON_CITY_WIDTH ; CELADON_HOTEL + def_warps_to CELADON_CITY diff --git a/data/maps/objects/CeladonDiner.asm b/data/maps/objects/CeladonDiner.asm index b1ededf6..9c886e0d 100755 --- a/data/maps/objects/CeladonDiner.asm +++ b/data/maps/objects/CeladonDiner.asm @@ -14,6 +14,4 @@ CeladonDiner_Object: object SPRITE_FISHER, 5, 3, STAY, RIGHT, 4 ; person object SPRITE_GYM_GUIDE, 0, 1, STAY, DOWN, 5 ; person - ; warp-to - warp_to 3, 7, CELADON_DINER_WIDTH - warp_to 4, 7, CELADON_DINER_WIDTH + def_warps_to CELADON_DINER diff --git a/data/maps/objects/CeladonGym.asm b/data/maps/objects/CeladonGym.asm index 43b85caf..2b174d53 100755 --- a/data/maps/objects/CeladonGym.asm +++ b/data/maps/objects/CeladonGym.asm @@ -17,6 +17,4 @@ CeladonGym_Object: object SPRITE_BEAUTY, 3, 3, STAY, DOWN, 7, OPP_BEAUTY, 3 object SPRITE_COOLTRAINER_F, 5, 3, STAY, DOWN, 8, OPP_COOLTRAINER_F, 1 - ; warp-to - warp_to 4, 17, CELADON_GYM_WIDTH - warp_to 5, 17, CELADON_GYM_WIDTH + def_warps_to CELADON_GYM diff --git a/data/maps/objects/CeladonHotel.asm b/data/maps/objects/CeladonHotel.asm index a9232ead..4ea8b817 100755 --- a/data/maps/objects/CeladonHotel.asm +++ b/data/maps/objects/CeladonHotel.asm @@ -12,6 +12,4 @@ CeladonHotel_Object: object SPRITE_BEAUTY, 2, 4, STAY, NONE, 2 ; person object SPRITE_SUPER_NERD, 8, 4, WALK, LEFT_RIGHT, 3 ; person - ; warp-to - warp_to 3, 7, CELADON_HOTEL_WIDTH - warp_to 4, 7, CELADON_HOTEL_WIDTH + def_warps_to CELADON_HOTEL diff --git a/data/maps/objects/CeladonMansion1F.asm b/data/maps/objects/CeladonMansion1F.asm index a8257d69..10c866ff 100755 --- a/data/maps/objects/CeladonMansion1F.asm +++ b/data/maps/objects/CeladonMansion1F.asm @@ -17,9 +17,4 @@ CeladonMansion1F_Object: object SPRITE_FAIRY, 1, 8, WALK, LEFT_RIGHT, 3 ; person object SPRITE_MONSTER, 4, 4, WALK, UP_DOWN, 4 ; person - ; warp-to - warp_to 4, 11, CELADON_MANSION_1F_WIDTH - warp_to 5, 11, CELADON_MANSION_1F_WIDTH - warp_to 4, 0, CELADON_MANSION_1F_WIDTH - warp_to 7, 1, CELADON_MANSION_1F_WIDTH ; CELADON_MANSION_2F - warp_to 2, 1, CELADON_MANSION_1F_WIDTH ; CELADON_MANSION_2F + def_warps_to CELADON_MANSION_1F diff --git a/data/maps/objects/CeladonMansion2F.asm b/data/maps/objects/CeladonMansion2F.asm index c489678e..9e726e0d 100755 --- a/data/maps/objects/CeladonMansion2F.asm +++ b/data/maps/objects/CeladonMansion2F.asm @@ -12,8 +12,4 @@ CeladonMansion2F_Object: def_objects - ; warp-to - warp_to 6, 1, CELADON_MANSION_2F_WIDTH ; CELADON_MANSION_3F - warp_to 7, 1, CELADON_MANSION_2F_WIDTH ; CELADON_MANSION_1F - warp_to 2, 1, CELADON_MANSION_2F_WIDTH ; CELADON_MANSION_1F - warp_to 4, 1, CELADON_MANSION_2F_WIDTH ; CELADON_MANSION_3F + def_warps_to CELADON_MANSION_2F diff --git a/data/maps/objects/CeladonMansion3F.asm b/data/maps/objects/CeladonMansion3F.asm index 761ab5e4..92c2f1af 100755 --- a/data/maps/objects/CeladonMansion3F.asm +++ b/data/maps/objects/CeladonMansion3F.asm @@ -19,8 +19,4 @@ CeladonMansion3F_Object: object SPRITE_SUPER_NERD, 0, 7, STAY, UP, 3 ; person object SPRITE_SILPH_WORKER, 2, 3, STAY, NONE, 4 ; person - ; warp-to - warp_to 6, 1, CELADON_MANSION_3F_WIDTH ; CELADON_MANSION_2F - warp_to 7, 1, CELADON_MANSION_3F_WIDTH ; CELADON_MANSION_ROOF - warp_to 2, 1, CELADON_MANSION_3F_WIDTH ; CELADON_MANSION_ROOF - warp_to 4, 1, CELADON_MANSION_3F_WIDTH ; CELADON_MANSION_2F + def_warps_to CELADON_MANSION_3F diff --git a/data/maps/objects/CeladonMansionRoof.asm b/data/maps/objects/CeladonMansionRoof.asm index a34ffc0f..431080c2 100755 --- a/data/maps/objects/CeladonMansionRoof.asm +++ b/data/maps/objects/CeladonMansionRoof.asm @@ -11,7 +11,4 @@ CeladonMansionRoof_Object: def_objects - ; warp-to - warp_to 6, 1, CELADON_MANSION_ROOF_WIDTH ; CELADON_MANSION_3F - warp_to 2, 1, CELADON_MANSION_ROOF_WIDTH ; CELADON_MANSION_3F - warp_to 2, 7, CELADON_MANSION_ROOF_WIDTH ; CELADON_MANSION_ROOF_HOUSE + def_warps_to CELADON_MANSION_ROOF diff --git a/data/maps/objects/CeladonMansionRoofHouse.asm b/data/maps/objects/CeladonMansionRoofHouse.asm index 7d1feccd..568a7832 100755 --- a/data/maps/objects/CeladonMansionRoofHouse.asm +++ b/data/maps/objects/CeladonMansionRoofHouse.asm @@ -11,6 +11,4 @@ CeladonMansionRoofHouse_Object: object SPRITE_HIKER, 2, 2, STAY, DOWN, 1 ; person object SPRITE_POKE_BALL, 4, 3, STAY, NONE, 2 ; person - ; warp-to - warp_to 2, 7, CELADON_MANSION_ROOF_HOUSE_WIDTH ; CELADON_MANSION_ROOF - warp_to 3, 7, CELADON_MANSION_ROOF_HOUSE_WIDTH ; CELADON_MANSION_ROOF + def_warps_to CELADON_MANSION_ROOF_HOUSE diff --git a/data/maps/objects/CeladonMart1F.asm b/data/maps/objects/CeladonMart1F.asm index 34dccc6d..055f48b9 100755 --- a/data/maps/objects/CeladonMart1F.asm +++ b/data/maps/objects/CeladonMart1F.asm @@ -16,10 +16,4 @@ CeladonMart1F_Object: def_objects object SPRITE_LINK_RECEPTIONIST, 8, 3, STAY, DOWN, 1 ; person - ; warp-to - warp_to 2, 7, CELADON_MART_1F_WIDTH - warp_to 3, 7, CELADON_MART_1F_WIDTH - warp_to 16, 7, CELADON_MART_1F_WIDTH - warp_to 17, 7, CELADON_MART_1F_WIDTH - warp_to 12, 1, CELADON_MART_1F_WIDTH ; CELADON_MART_2F - warp_to 1, 1, CELADON_MART_1F_WIDTH ; CELADON_MART_ELEVATOR + def_warps_to CELADON_MART_1F diff --git a/data/maps/objects/CeladonMart2F.asm b/data/maps/objects/CeladonMart2F.asm index ef7286d4..061a030c 100755 --- a/data/maps/objects/CeladonMart2F.asm +++ b/data/maps/objects/CeladonMart2F.asm @@ -15,7 +15,4 @@ CeladonMart2F_Object: object SPRITE_MIDDLE_AGED_MAN, 19, 5, STAY, NONE, 3 ; person object SPRITE_GIRL, 14, 4, WALK, UP_DOWN, 4 ; person - ; warp-to - warp_to 12, 1, CELADON_MART_2F_WIDTH ; CELADON_MART_1F - warp_to 16, 1, CELADON_MART_2F_WIDTH ; CELADON_MART_3F - warp_to 1, 1, CELADON_MART_2F_WIDTH ; CELADON_MART_ELEVATOR + def_warps_to CELADON_MART_2F diff --git a/data/maps/objects/CeladonMart3F.asm b/data/maps/objects/CeladonMart3F.asm index 4eb7bfe0..ea1688eb 100755 --- a/data/maps/objects/CeladonMart3F.asm +++ b/data/maps/objects/CeladonMart3F.asm @@ -27,7 +27,4 @@ CeladonMart3F_Object: object SPRITE_GAMEBOY_KID, 8, 2, STAY, DOWN, 4 ; person object SPRITE_LITTLE_BOY, 2, 5, STAY, UP, 5 ; person - ; warp-to - warp_to 12, 1, CELADON_MART_3F_WIDTH ; CELADON_MART_4F - warp_to 16, 1, CELADON_MART_3F_WIDTH ; CELADON_MART_2F - warp_to 1, 1, CELADON_MART_3F_WIDTH ; CELADON_MART_ELEVATOR + def_warps_to CELADON_MART_3F diff --git a/data/maps/objects/CeladonMart4F.asm b/data/maps/objects/CeladonMart4F.asm index b452ec1b..adfe5efd 100755 --- a/data/maps/objects/CeladonMart4F.asm +++ b/data/maps/objects/CeladonMart4F.asm @@ -14,7 +14,4 @@ CeladonMart4F_Object: object SPRITE_SUPER_NERD, 15, 5, WALK, LEFT_RIGHT, 2 ; person object SPRITE_YOUNGSTER, 5, 2, WALK, LEFT_RIGHT, 3 ; person - ; warp-to - warp_to 12, 1, CELADON_MART_4F_WIDTH ; CELADON_MART_3F - warp_to 16, 1, CELADON_MART_4F_WIDTH ; CELADON_MART_5F - warp_to 1, 1, CELADON_MART_4F_WIDTH ; CELADON_MART_ELEVATOR + def_warps_to CELADON_MART_4F diff --git a/data/maps/objects/CeladonMart5F.asm b/data/maps/objects/CeladonMart5F.asm index 834b3248..74af3db9 100755 --- a/data/maps/objects/CeladonMart5F.asm +++ b/data/maps/objects/CeladonMart5F.asm @@ -15,7 +15,4 @@ CeladonMart5F_Object: object SPRITE_CLERK, 5, 3, STAY, DOWN, 3 ; person object SPRITE_CLERK, 6, 3, STAY, DOWN, 4 ; person - ; warp-to - warp_to 12, 1, CELADON_MART_5F_WIDTH ; CELADON_MART_ROOF - warp_to 16, 1, CELADON_MART_5F_WIDTH ; CELADON_MART_4F - warp_to 1, 1, CELADON_MART_5F_WIDTH ; CELADON_MART_ELEVATOR + def_warps_to CELADON_MART_5F diff --git a/data/maps/objects/CeladonMartElevator.asm b/data/maps/objects/CeladonMartElevator.asm index ebb930b4..43827517 100755 --- a/data/maps/objects/CeladonMartElevator.asm +++ b/data/maps/objects/CeladonMartElevator.asm @@ -10,6 +10,4 @@ CeladonMartElevator_Object: def_objects - ; warp-to - warp_to 1, 3, CELADON_MART_ELEVATOR_WIDTH ; CELADON_MART_1F - warp_to 2, 3, CELADON_MART_ELEVATOR_WIDTH ; CELADON_MART_1F + def_warps_to CELADON_MART_ELEVATOR diff --git a/data/maps/objects/CeladonMartRoof.asm b/data/maps/objects/CeladonMartRoof.asm index 7ec98888..543dc9b5 100755 --- a/data/maps/objects/CeladonMartRoof.asm +++ b/data/maps/objects/CeladonMartRoof.asm @@ -14,5 +14,4 @@ CeladonMartRoof_Object: object SPRITE_SUPER_NERD, 10, 4, STAY, LEFT, 1 ; person object SPRITE_LITTLE_GIRL, 5, 5, WALK, ANY_DIR, 2 ; person - ; warp-to - warp_to 15, 2, CELADON_MART_ROOF_WIDTH ; CELADON_MART_5F + def_warps_to CELADON_MART_ROOF diff --git a/data/maps/objects/CeladonPokecenter.asm b/data/maps/objects/CeladonPokecenter.asm index 955c82ac..5e3d83fc 100755 --- a/data/maps/objects/CeladonPokecenter.asm +++ b/data/maps/objects/CeladonPokecenter.asm @@ -13,6 +13,4 @@ CeladonPokecenter_Object: object SPRITE_BEAUTY, 10, 5, WALK, ANY_DIR, 3 ; person object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person - ; warp-to - warp_to 3, 7, CELADON_POKECENTER_WIDTH - warp_to 4, 7, CELADON_POKECENTER_WIDTH + def_warps_to CELADON_POKECENTER diff --git a/data/maps/objects/CeruleanBadgeHouse.asm b/data/maps/objects/CeruleanBadgeHouse.asm index d3621660..d238845e 100755 --- a/data/maps/objects/CeruleanBadgeHouse.asm +++ b/data/maps/objects/CeruleanBadgeHouse.asm @@ -11,7 +11,4 @@ CeruleanBadgeHouse_Object: def_objects object SPRITE_MIDDLE_AGED_MAN, 5, 3, STAY, RIGHT, 1 ; person - ; warp-to - warp_to 2, 0, CERULEAN_BADGE_HOUSE_WIDTH - warp_to 2, 7, CERULEAN_BADGE_HOUSE_WIDTH - warp_to 3, 7, CERULEAN_BADGE_HOUSE_WIDTH + def_warps_to CERULEAN_BADGE_HOUSE diff --git a/data/maps/objects/CeruleanCave1F.asm b/data/maps/objects/CeruleanCave1F.asm index b9ffd3fc..badf1a8b 100755 --- a/data/maps/objects/CeruleanCave1F.asm +++ b/data/maps/objects/CeruleanCave1F.asm @@ -19,13 +19,4 @@ CeruleanCave1F_Object: object SPRITE_POKE_BALL, 19, 3, STAY, NONE, 2, MAX_ELIXER object SPRITE_POKE_BALL, 5, 0, STAY, NONE, 3, NUGGET - ; warp-to - warp_to 24, 17, CERULEAN_CAVE_1F_WIDTH - warp_to 25, 17, CERULEAN_CAVE_1F_WIDTH - warp_to 27, 1, CERULEAN_CAVE_1F_WIDTH ; CERULEAN_CAVE_2F - warp_to 23, 7, CERULEAN_CAVE_1F_WIDTH ; CERULEAN_CAVE_2F - warp_to 18, 9, CERULEAN_CAVE_1F_WIDTH ; CERULEAN_CAVE_2F - warp_to 7, 1, CERULEAN_CAVE_1F_WIDTH ; CERULEAN_CAVE_2F - warp_to 1, 3, CERULEAN_CAVE_1F_WIDTH ; CERULEAN_CAVE_2F - warp_to 3, 11, CERULEAN_CAVE_1F_WIDTH ; CERULEAN_CAVE_2F - warp_to 0, 6, CERULEAN_CAVE_1F_WIDTH ; CERULEAN_CAVE_B1F + def_warps_to CERULEAN_CAVE_1F diff --git a/data/maps/objects/CeruleanCave2F.asm b/data/maps/objects/CeruleanCave2F.asm index d31977a2..09cf63e3 100755 --- a/data/maps/objects/CeruleanCave2F.asm +++ b/data/maps/objects/CeruleanCave2F.asm @@ -16,10 +16,4 @@ CeruleanCave2F_Object: object SPRITE_POKE_BALL, 4, 15, STAY, NONE, 2, ULTRA_BALL object SPRITE_POKE_BALL, 13, 6, STAY, NONE, 3, FULL_RESTORE - ; warp-to - warp_to 29, 1, CERULEAN_CAVE_2F_WIDTH ; CERULEAN_CAVE_1F - warp_to 22, 6, CERULEAN_CAVE_2F_WIDTH ; CERULEAN_CAVE_1F - warp_to 19, 7, CERULEAN_CAVE_2F_WIDTH ; CERULEAN_CAVE_1F - warp_to 9, 1, CERULEAN_CAVE_2F_WIDTH ; CERULEAN_CAVE_1F - warp_to 1, 3, CERULEAN_CAVE_2F_WIDTH ; CERULEAN_CAVE_1F - warp_to 3, 11, CERULEAN_CAVE_2F_WIDTH ; CERULEAN_CAVE_1F + def_warps_to CERULEAN_CAVE_2F diff --git a/data/maps/objects/CeruleanCaveB1F.asm b/data/maps/objects/CeruleanCaveB1F.asm index 5e4fb531..7e6b532c 100755 --- a/data/maps/objects/CeruleanCaveB1F.asm +++ b/data/maps/objects/CeruleanCaveB1F.asm @@ -11,5 +11,4 @@ CeruleanCaveB1F_Object: object SPRITE_POKE_BALL, 16, 9, STAY, NONE, 2, ULTRA_BALL object SPRITE_POKE_BALL, 18, 1, STAY, NONE, 3, MAX_REVIVE - ; warp-to - warp_to 3, 6, CERULEAN_CAVE_B1F_WIDTH ; CERULEAN_CAVE_1F + def_warps_to CERULEAN_CAVE_B1F diff --git a/data/maps/objects/CeruleanCity.asm b/data/maps/objects/CeruleanCity.asm index fa28858e..aed54837 100755 --- a/data/maps/objects/CeruleanCity.asm +++ b/data/maps/objects/CeruleanCity.asm @@ -34,14 +34,4 @@ CeruleanCity_Object: object SPRITE_SUPER_NERD, 4, 12, STAY, DOWN, 10 ; person object SPRITE_GUARD, 27, 12, STAY, DOWN, 11 ; person - ; warp-to - warp_to 27, 11, CERULEAN_CITY_WIDTH ; CERULEAN_TRASHED_HOUSE - warp_to 13, 15, CERULEAN_CITY_WIDTH ; CERULEAN_TRADE_HOUSE - warp_to 19, 17, CERULEAN_CITY_WIDTH ; CERULEAN_POKECENTER - warp_to 30, 19, CERULEAN_CITY_WIDTH ; CERULEAN_GYM - warp_to 13, 25, CERULEAN_CITY_WIDTH ; BIKE_SHOP - warp_to 25, 25, CERULEAN_CITY_WIDTH ; CERULEAN_MART - warp_to 4, 11, CERULEAN_CITY_WIDTH ; CERULEAN_CAVE_1F - warp_to 27, 9, CERULEAN_CITY_WIDTH ; CERULEAN_TRASHED_HOUSE - warp_to 9, 11, CERULEAN_CITY_WIDTH ; CERULEAN_BADGE_HOUSE - warp_to 9, 9, CERULEAN_CITY_WIDTH ; CERULEAN_BADGE_HOUSE + def_warps_to CERULEAN_CITY diff --git a/data/maps/objects/CeruleanGym.asm b/data/maps/objects/CeruleanGym.asm index d85750cc..a1dce455 100755 --- a/data/maps/objects/CeruleanGym.asm +++ b/data/maps/objects/CeruleanGym.asm @@ -13,6 +13,4 @@ CeruleanGym_Object: object SPRITE_SWIMMER, 8, 7, STAY, LEFT, 3, OPP_SWIMMER, 1 object SPRITE_GYM_GUIDE, 7, 10, STAY, DOWN, 4 ; person - ; warp-to - warp_to 4, 13, CERULEAN_GYM_WIDTH - warp_to 5, 13, CERULEAN_GYM_WIDTH + def_warps_to CERULEAN_GYM diff --git a/data/maps/objects/CeruleanMart.asm b/data/maps/objects/CeruleanMart.asm index f15b9f2a..cf9895fb 100755 --- a/data/maps/objects/CeruleanMart.asm +++ b/data/maps/objects/CeruleanMart.asm @@ -12,6 +12,4 @@ CeruleanMart_Object: object SPRITE_COOLTRAINER_M, 3, 4, WALK, UP_DOWN, 2 ; person object SPRITE_COOLTRAINER_F, 6, 2, WALK, LEFT_RIGHT, 3 ; person - ; warp-to - warp_to 3, 7, CERULEAN_MART_WIDTH - warp_to 4, 7, CERULEAN_MART_WIDTH + def_warps_to CERULEAN_MART diff --git a/data/maps/objects/CeruleanPokecenter.asm b/data/maps/objects/CeruleanPokecenter.asm index c1f25b1f..4e7ca0df 100755 --- a/data/maps/objects/CeruleanPokecenter.asm +++ b/data/maps/objects/CeruleanPokecenter.asm @@ -13,6 +13,4 @@ CeruleanPokecenter_Object: object SPRITE_GENTLEMAN, 4, 3, STAY, DOWN, 3 ; person object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person - ; warp-to - warp_to 3, 7, CERULEAN_POKECENTER_WIDTH - warp_to 4, 7, CERULEAN_POKECENTER_WIDTH + def_warps_to CERULEAN_POKECENTER diff --git a/data/maps/objects/CeruleanTradeHouse.asm b/data/maps/objects/CeruleanTradeHouse.asm index ff3f47b3..35f3785b 100755 --- a/data/maps/objects/CeruleanTradeHouse.asm +++ b/data/maps/objects/CeruleanTradeHouse.asm @@ -11,6 +11,4 @@ CeruleanTradeHouse_Object: object SPRITE_GRANNY, 5, 4, STAY, LEFT, 1 ; person object SPRITE_GAMBLER, 1, 2, STAY, NONE, 2 ; person - ; warp-to - warp_to 2, 7, CERULEAN_TRADE_HOUSE_WIDTH - warp_to 3, 7, CERULEAN_TRADE_HOUSE_WIDTH + def_warps_to CERULEAN_TRADE_HOUSE diff --git a/data/maps/objects/CeruleanTrashedHouse.asm b/data/maps/objects/CeruleanTrashedHouse.asm index d22a8366..a266e43a 100755 --- a/data/maps/objects/CeruleanTrashedHouse.asm +++ b/data/maps/objects/CeruleanTrashedHouse.asm @@ -13,7 +13,4 @@ CeruleanTrashedHouse_Object: object SPRITE_FISHING_GURU, 2, 1, STAY, DOWN, 1 ; person object SPRITE_GIRL, 5, 6, WALK, LEFT_RIGHT, 2 ; person - ; warp-to - warp_to 2, 7, CERULEAN_TRASHED_HOUSE_WIDTH - warp_to 3, 7, CERULEAN_TRASHED_HOUSE_WIDTH - warp_to 3, 0, CERULEAN_TRASHED_HOUSE_WIDTH + def_warps_to CERULEAN_TRASHED_HOUSE diff --git a/data/maps/objects/ChampionsRoom.asm b/data/maps/objects/ChampionsRoom.asm index 7917908a..53f4ca33 100755 --- a/data/maps/objects/ChampionsRoom.asm +++ b/data/maps/objects/ChampionsRoom.asm @@ -13,8 +13,4 @@ ChampionsRoom_Object: object SPRITE_BLUE, 4, 2, STAY, DOWN, 1 ; person object SPRITE_OAK, 3, 7, STAY, UP, 2 ; person - ; warp-to - warp_to 3, 7, CHAMPIONS_ROOM_WIDTH ; LANCES_ROOM - warp_to 4, 7, CHAMPIONS_ROOM_WIDTH ; LANCES_ROOM - warp_to 3, 0, CHAMPIONS_ROOM_WIDTH ; HALL_OF_FAME - warp_to 4, 0, CHAMPIONS_ROOM_WIDTH ; HALL_OF_FAME + def_warps_to CHAMPIONS_ROOM diff --git a/data/maps/objects/CinnabarGym.asm b/data/maps/objects/CinnabarGym.asm index a4223aea..b2dccbd3 100755 --- a/data/maps/objects/CinnabarGym.asm +++ b/data/maps/objects/CinnabarGym.asm @@ -18,6 +18,4 @@ CinnabarGym_Object: object SPRITE_SUPER_NERD, 3, 8, STAY, DOWN, 8, OPP_SUPER_NERD, 12 object SPRITE_GYM_GUIDE, 16, 13, STAY, DOWN, 9 ; person - ; warp-to - warp_to 16, 17, CINNABAR_GYM_WIDTH - warp_to 17, 17, CINNABAR_GYM_WIDTH + def_warps_to CINNABAR_GYM diff --git a/data/maps/objects/CinnabarIsland.asm b/data/maps/objects/CinnabarIsland.asm index f908da0b..7e93bcb6 100755 --- a/data/maps/objects/CinnabarIsland.asm +++ b/data/maps/objects/CinnabarIsland.asm @@ -19,9 +19,4 @@ CinnabarIsland_Object: object SPRITE_GIRL, 12, 5, WALK, LEFT_RIGHT, 1 ; person object SPRITE_GAMBLER, 14, 6, STAY, NONE, 2 ; person - ; warp-to - warp_to 6, 3, CINNABAR_ISLAND_WIDTH ; POKEMON_MANSION_1F - warp_to 18, 3, CINNABAR_ISLAND_WIDTH ; CINNABAR_GYM - warp_to 6, 9, CINNABAR_ISLAND_WIDTH ; CINNABAR_LAB - warp_to 11, 11, CINNABAR_ISLAND_WIDTH ; CINNABAR_POKECENTER - warp_to 15, 11, CINNABAR_ISLAND_WIDTH ; CINNABAR_MART + def_warps_to CINNABAR_ISLAND diff --git a/data/maps/objects/CinnabarLab.asm b/data/maps/objects/CinnabarLab.asm index 1a4f182d..ac326748 100755 --- a/data/maps/objects/CinnabarLab.asm +++ b/data/maps/objects/CinnabarLab.asm @@ -17,9 +17,4 @@ CinnabarLab_Object: def_objects object SPRITE_FISHING_GURU, 1, 3, STAY, NONE, 1 ; person - ; warp-to - warp_to 2, 7, CINNABAR_LAB_WIDTH - warp_to 3, 7, CINNABAR_LAB_WIDTH - warp_to 8, 4, CINNABAR_LAB_WIDTH ; CINNABAR_LAB_TRADE_ROOM - warp_to 12, 4, CINNABAR_LAB_WIDTH ; CINNABAR_LAB_METRONOME_ROOM - warp_to 16, 4, CINNABAR_LAB_WIDTH ; CINNABAR_LAB_FOSSIL_ROOM + def_warps_to CINNABAR_LAB diff --git a/data/maps/objects/CinnabarLabFossilRoom.asm b/data/maps/objects/CinnabarLabFossilRoom.asm index b00bdff1..66d1da69 100755 --- a/data/maps/objects/CinnabarLabFossilRoom.asm +++ b/data/maps/objects/CinnabarLabFossilRoom.asm @@ -11,6 +11,4 @@ CinnabarLabFossilRoom_Object: object SPRITE_SCIENTIST, 5, 2, WALK, LEFT_RIGHT, 1 ; person object SPRITE_SCIENTIST, 7, 6, STAY, UP, 2 ; person - ; warp-to - warp_to 2, 7, CINNABAR_LAB_FOSSIL_ROOM_WIDTH ; CINNABAR_LAB - warp_to 3, 7, CINNABAR_LAB_FOSSIL_ROOM_WIDTH ; CINNABAR_LAB + def_warps_to CINNABAR_LAB_FOSSIL_ROOM diff --git a/data/maps/objects/CinnabarLabMetronomeRoom.asm b/data/maps/objects/CinnabarLabMetronomeRoom.asm index ee338b70..3b787be6 100755 --- a/data/maps/objects/CinnabarLabMetronomeRoom.asm +++ b/data/maps/objects/CinnabarLabMetronomeRoom.asm @@ -14,6 +14,4 @@ CinnabarLabMetronomeRoom_Object: object SPRITE_SCIENTIST, 7, 2, STAY, DOWN, 1 ; person object SPRITE_SCIENTIST, 2, 3, WALK, LEFT_RIGHT, 2 ; person - ; warp-to - warp_to 2, 7, CINNABAR_LAB_METRONOME_ROOM_WIDTH ; CINNABAR_LAB - warp_to 3, 7, CINNABAR_LAB_METRONOME_ROOM_WIDTH ; CINNABAR_LAB + def_warps_to CINNABAR_LAB_METRONOME_ROOM diff --git a/data/maps/objects/CinnabarLabTradeRoom.asm b/data/maps/objects/CinnabarLabTradeRoom.asm index 7a6c580f..af6a8149 100755 --- a/data/maps/objects/CinnabarLabTradeRoom.asm +++ b/data/maps/objects/CinnabarLabTradeRoom.asm @@ -12,6 +12,4 @@ CinnabarLabTradeRoom_Object: object SPRITE_GRAMPS, 1, 4, STAY, NONE, 2 ; person object SPRITE_BEAUTY, 5, 5, STAY, UP, 3 ; person - ; warp-to - warp_to 2, 7, CINNABAR_LAB_TRADE_ROOM_WIDTH ; CINNABAR_LAB - warp_to 3, 7, CINNABAR_LAB_TRADE_ROOM_WIDTH ; CINNABAR_LAB + def_warps_to CINNABAR_LAB_TRADE_ROOM diff --git a/data/maps/objects/CinnabarMart.asm b/data/maps/objects/CinnabarMart.asm index 3c903952..20776ea8 100755 --- a/data/maps/objects/CinnabarMart.asm +++ b/data/maps/objects/CinnabarMart.asm @@ -12,6 +12,4 @@ CinnabarMart_Object: object SPRITE_ERIKA, 6, 2, STAY, NONE, 2 ; person object SPRITE_SCIENTIST, 3, 4, STAY, NONE, 3 ; person - ; warp-to - warp_to 3, 7, CINNABAR_MART_WIDTH - warp_to 4, 7, CINNABAR_MART_WIDTH + def_warps_to CINNABAR_MART diff --git a/data/maps/objects/CinnabarPokecenter.asm b/data/maps/objects/CinnabarPokecenter.asm index 6b77254e..1f358d52 100755 --- a/data/maps/objects/CinnabarPokecenter.asm +++ b/data/maps/objects/CinnabarPokecenter.asm @@ -13,6 +13,4 @@ CinnabarPokecenter_Object: object SPRITE_GENTLEMAN, 2, 6, STAY, NONE, 3 ; person object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person - ; warp-to - warp_to 3, 7, CINNABAR_POKECENTER_WIDTH - warp_to 4, 7, CINNABAR_POKECENTER_WIDTH + def_warps_to CINNABAR_POKECENTER diff --git a/data/maps/objects/Colosseum.asm b/data/maps/objects/Colosseum.asm index e152c040..dac9bc09 100755 --- a/data/maps/objects/Colosseum.asm +++ b/data/maps/objects/Colosseum.asm @@ -7,3 +7,5 @@ Colosseum_Object: def_objects object SPRITE_RED, 2, 2, STAY, 0, 1 ; person + + def_warps_to COLOSSEUM diff --git a/data/maps/objects/CopycatsHouse1F.asm b/data/maps/objects/CopycatsHouse1F.asm index 978f7834..29a31624 100755 --- a/data/maps/objects/CopycatsHouse1F.asm +++ b/data/maps/objects/CopycatsHouse1F.asm @@ -13,7 +13,4 @@ CopycatsHouse1F_Object: object SPRITE_MIDDLE_AGED_MAN, 5, 4, STAY, LEFT, 2 ; person object SPRITE_FAIRY, 1, 4, WALK, UP_DOWN, 3 ; person - ; warp-to - warp_to 2, 7, COPYCATS_HOUSE_1F_WIDTH - warp_to 3, 7, COPYCATS_HOUSE_1F_WIDTH - warp_to 7, 1, COPYCATS_HOUSE_1F_WIDTH ; COPYCATS_HOUSE_2F + def_warps_to COPYCATS_HOUSE_1F diff --git a/data/maps/objects/CopycatsHouse2F.asm b/data/maps/objects/CopycatsHouse2F.asm index 170d3756..4c073582 100755 --- a/data/maps/objects/CopycatsHouse2F.asm +++ b/data/maps/objects/CopycatsHouse2F.asm @@ -15,5 +15,4 @@ CopycatsHouse2F_Object: object SPRITE_BIRD, 2, 0, STAY, DOWN, 4 ; person object SPRITE_FAIRY, 1, 6, STAY, RIGHT, 5 ; person - ; warp-to - warp_to 7, 1, COPYCATS_HOUSE_2F_WIDTH ; COPYCATS_HOUSE_1F + def_warps_to COPYCATS_HOUSE_2F diff --git a/data/maps/objects/Daycare.asm b/data/maps/objects/Daycare.asm index 1679d757..fe2b8ab8 100755 --- a/data/maps/objects/Daycare.asm +++ b/data/maps/objects/Daycare.asm @@ -10,6 +10,4 @@ Daycare_Object: def_objects object SPRITE_GENTLEMAN, 2, 3, STAY, RIGHT, 1 ; person - ; warp-to - warp_to 2, 7, DAYCARE_WIDTH - warp_to 3, 7, DAYCARE_WIDTH + def_warps_to DAYCARE diff --git a/data/maps/objects/DiglettsCave.asm b/data/maps/objects/DiglettsCave.asm index f0ad427f..1465c34a 100755 --- a/data/maps/objects/DiglettsCave.asm +++ b/data/maps/objects/DiglettsCave.asm @@ -9,6 +9,4 @@ DiglettsCave_Object: def_objects - ; warp-to - warp_to 5, 5, DIGLETTS_CAVE_WIDTH ; DIGLETTS_CAVE_ROUTE_2 - warp_to 37, 31, DIGLETTS_CAVE_WIDTH ; DIGLETTS_CAVE_ROUTE_11 + def_warps_to DIGLETTS_CAVE diff --git a/data/maps/objects/DiglettsCaveRoute11.asm b/data/maps/objects/DiglettsCaveRoute11.asm index 068229d1..e29a40d6 100755 --- a/data/maps/objects/DiglettsCaveRoute11.asm +++ b/data/maps/objects/DiglettsCaveRoute11.asm @@ -11,7 +11,4 @@ DiglettsCaveRoute11_Object: def_objects object SPRITE_GAMBLER, 2, 3, STAY, NONE, 1 ; person - ; warp-to - warp_to 2, 7, DIGLETTS_CAVE_ROUTE_11_WIDTH - warp_to 3, 7, DIGLETTS_CAVE_ROUTE_11_WIDTH - warp_to 4, 4, DIGLETTS_CAVE_ROUTE_11_WIDTH ; DIGLETTS_CAVE + def_warps_to DIGLETTS_CAVE_ROUTE_11 diff --git a/data/maps/objects/DiglettsCaveRoute2.asm b/data/maps/objects/DiglettsCaveRoute2.asm index 49a380df..bb95f541 100755 --- a/data/maps/objects/DiglettsCaveRoute2.asm +++ b/data/maps/objects/DiglettsCaveRoute2.asm @@ -11,7 +11,4 @@ DiglettsCaveRoute2_Object: def_objects object SPRITE_FISHING_GURU, 3, 3, STAY, NONE, 1 ; person - ; warp-to - warp_to 2, 7, DIGLETTS_CAVE_ROUTE_2_WIDTH - warp_to 3, 7, DIGLETTS_CAVE_ROUTE_2_WIDTH - warp_to 4, 4, DIGLETTS_CAVE_ROUTE_2_WIDTH ; DIGLETTS_CAVE + def_warps_to DIGLETTS_CAVE_ROUTE_2 diff --git a/data/maps/objects/FightingDojo.asm b/data/maps/objects/FightingDojo.asm index 3e74aa91..e9f4d7d4 100755 --- a/data/maps/objects/FightingDojo.asm +++ b/data/maps/objects/FightingDojo.asm @@ -16,6 +16,4 @@ FightingDojo_Object: object SPRITE_POKE_BALL, 4, 1, STAY, NONE, 6 ; person object SPRITE_POKE_BALL, 5, 1, STAY, NONE, 7 ; person - ; warp-to - warp_to 4, 11, FIGHTING_DOJO_WIDTH - warp_to 5, 11, FIGHTING_DOJO_WIDTH + def_warps_to FIGHTING_DOJO diff --git a/data/maps/objects/FuchsiaBillsGrandpasHouse.asm b/data/maps/objects/FuchsiaBillsGrandpasHouse.asm index 5a052f20..801f3d6f 100755 --- a/data/maps/objects/FuchsiaBillsGrandpasHouse.asm +++ b/data/maps/objects/FuchsiaBillsGrandpasHouse.asm @@ -12,6 +12,4 @@ FuchsiaBillsGrandpasHouse_Object: object SPRITE_GAMBLER, 7, 2, STAY, UP, 2 ; person object SPRITE_YOUNGSTER, 5, 5, STAY, NONE, 3 ; person - ; warp-to - warp_to 2, 7, FUCHSIA_BILLS_GRANDPAS_HOUSE_WIDTH - warp_to 3, 7, FUCHSIA_BILLS_GRANDPAS_HOUSE_WIDTH + def_warps_to FUCHSIA_BILLS_GRANDPAS_HOUSE diff --git a/data/maps/objects/FuchsiaCity.asm b/data/maps/objects/FuchsiaCity.asm index 08a88ac3..adb68a15 100755 --- a/data/maps/objects/FuchsiaCity.asm +++ b/data/maps/objects/FuchsiaCity.asm @@ -40,13 +40,4 @@ FuchsiaCity_Object: object SPRITE_SEEL, 8, 17, WALK, ANY_DIR, 9 ; person object SPRITE_FOSSIL, 6, 5, STAY, NONE, 10 ; person - ; warp-to - warp_to 5, 13, FUCHSIA_CITY_WIDTH ; FUCHSIA_MART - warp_to 11, 27, FUCHSIA_CITY_WIDTH ; FUCHSIA_BILLS_GRANDPAS_HOUSE - warp_to 19, 27, FUCHSIA_CITY_WIDTH ; FUCHSIA_POKECENTER - warp_to 27, 27, FUCHSIA_CITY_WIDTH ; WARDENS_HOUSE - warp_to 18, 3, FUCHSIA_CITY_WIDTH ; SAFARI_ZONE_GATE - warp_to 5, 27, FUCHSIA_CITY_WIDTH ; FUCHSIA_GYM - warp_to 22, 13, FUCHSIA_CITY_WIDTH ; FUCHSIA_MEETING_ROOM - warp_to 31, 27, FUCHSIA_CITY_WIDTH ; FUCHSIA_GOOD_ROD_HOUSE - warp_to 31, 24, FUCHSIA_CITY_WIDTH ; FUCHSIA_GOOD_ROD_HOUSE + def_warps_to FUCHSIA_CITY diff --git a/data/maps/objects/FuchsiaGoodRodHouse.asm b/data/maps/objects/FuchsiaGoodRodHouse.asm index 0dae56c5..687554b6 100755 --- a/data/maps/objects/FuchsiaGoodRodHouse.asm +++ b/data/maps/objects/FuchsiaGoodRodHouse.asm @@ -11,7 +11,4 @@ FuchsiaGoodRodHouse_Object: def_objects object SPRITE_FISHING_GURU, 5, 3, STAY, RIGHT, 1 ; person - ; warp-to - warp_to 2, 0, FUCHSIA_GOOD_ROD_HOUSE_WIDTH - warp_to 2, 7, FUCHSIA_GOOD_ROD_HOUSE_WIDTH - warp_to 3, 7, FUCHSIA_GOOD_ROD_HOUSE_WIDTH + def_warps_to FUCHSIA_GOOD_ROD_HOUSE diff --git a/data/maps/objects/FuchsiaGym.asm b/data/maps/objects/FuchsiaGym.asm index 16f6c604..0d13782f 100755 --- a/data/maps/objects/FuchsiaGym.asm +++ b/data/maps/objects/FuchsiaGym.asm @@ -17,6 +17,4 @@ FuchsiaGym_Object: object SPRITE_ROCKER, 2, 7, STAY, LEFT, 7, OPP_JUGGLER, 4 object SPRITE_GYM_GUIDE, 7, 15, STAY, DOWN, 8 ; person - ; warp-to - warp_to 4, 17, FUCHSIA_GYM_WIDTH - warp_to 5, 17, FUCHSIA_GYM_WIDTH + def_warps_to FUCHSIA_GYM diff --git a/data/maps/objects/FuchsiaMart.asm b/data/maps/objects/FuchsiaMart.asm index 5ce7ddc5..02b07d46 100755 --- a/data/maps/objects/FuchsiaMart.asm +++ b/data/maps/objects/FuchsiaMart.asm @@ -12,6 +12,4 @@ FuchsiaMart_Object: object SPRITE_MIDDLE_AGED_MAN, 4, 2, STAY, NONE, 2 ; person object SPRITE_COOLTRAINER_F, 6, 5, WALK, UP_DOWN, 3 ; person - ; warp-to - warp_to 3, 7, FUCHSIA_MART_WIDTH - warp_to 4, 7, FUCHSIA_MART_WIDTH + def_warps_to FUCHSIA_MART diff --git a/data/maps/objects/FuchsiaMeetingRoom.asm b/data/maps/objects/FuchsiaMeetingRoom.asm index b625429a..7a0006b0 100755 --- a/data/maps/objects/FuchsiaMeetingRoom.asm +++ b/data/maps/objects/FuchsiaMeetingRoom.asm @@ -12,6 +12,4 @@ FuchsiaMeetingRoom_Object: object SPRITE_SAFARI_ZONE_WORKER, 0, 2, STAY, UP, 2 ; person object SPRITE_SAFARI_ZONE_WORKER, 10, 1, STAY, DOWN, 3 ; person - ; warp-to - warp_to 4, 7, FUCHSIA_MEETING_ROOM_WIDTH - warp_to 5, 7, FUCHSIA_MEETING_ROOM_WIDTH + def_warps_to FUCHSIA_MEETING_ROOM diff --git a/data/maps/objects/FuchsiaPokecenter.asm b/data/maps/objects/FuchsiaPokecenter.asm index 3c808b54..fb873e96 100755 --- a/data/maps/objects/FuchsiaPokecenter.asm +++ b/data/maps/objects/FuchsiaPokecenter.asm @@ -13,6 +13,4 @@ FuchsiaPokecenter_Object: object SPRITE_COOLTRAINER_F, 6, 5, WALK, LEFT_RIGHT, 3 ; person object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person - ; warp-to - warp_to 3, 7, FUCHSIA_POKECENTER_WIDTH - warp_to 4, 7, FUCHSIA_POKECENTER_WIDTH + def_warps_to FUCHSIA_POKECENTER diff --git a/data/maps/objects/GameCorner.asm b/data/maps/objects/GameCorner.asm index af5ad09f..15edca4f 100755 --- a/data/maps/objects/GameCorner.asm +++ b/data/maps/objects/GameCorner.asm @@ -22,7 +22,4 @@ GameCorner_Object: object SPRITE_GENTLEMAN, 17, 13, STAY, RIGHT, 10 ; person object SPRITE_ROCKET, 9, 5, STAY, UP, 11, OPP_ROCKET, 7 - ; warp-to - warp_to 15, 17, GAME_CORNER_WIDTH - warp_to 16, 17, GAME_CORNER_WIDTH - warp_to 17, 4, GAME_CORNER_WIDTH ; ROCKET_HIDEOUT_B1F + def_warps_to GAME_CORNER diff --git a/data/maps/objects/GameCornerPrizeRoom.asm b/data/maps/objects/GameCornerPrizeRoom.asm index 34a562aa..025e44c0 100755 --- a/data/maps/objects/GameCornerPrizeRoom.asm +++ b/data/maps/objects/GameCornerPrizeRoom.asm @@ -14,6 +14,4 @@ GameCornerPrizeRoom_Object: object SPRITE_BALDING_GUY, 1, 4, STAY, NONE, 1 ; person object SPRITE_GAMBLER, 7, 3, WALK, LEFT_RIGHT, 2 ; person - ; warp-to - warp_to 4, 7, GAME_CORNER_PRIZE_ROOM_WIDTH - warp_to 5, 7, GAME_CORNER_PRIZE_ROOM_WIDTH + def_warps_to GAME_CORNER_PRIZE_ROOM diff --git a/data/maps/objects/HallOfFame.asm b/data/maps/objects/HallOfFame.asm index 1cff94b6..613efccf 100755 --- a/data/maps/objects/HallOfFame.asm +++ b/data/maps/objects/HallOfFame.asm @@ -10,6 +10,4 @@ HallOfFame_Object: def_objects object SPRITE_OAK, 5, 2, STAY, DOWN, 1 ; person - ; warp-to - warp_to 4, 7, HALL_OF_FAME_WIDTH ; CHAMPIONS_ROOM - warp_to 5, 7, HALL_OF_FAME_WIDTH ; CHAMPIONS_ROOM + def_warps_to HALL_OF_FAME diff --git a/data/maps/objects/IndigoPlateau.asm b/data/maps/objects/IndigoPlateau.asm index c24c5eec..b3ec1140 100755 --- a/data/maps/objects/IndigoPlateau.asm +++ b/data/maps/objects/IndigoPlateau.asm @@ -9,6 +9,4 @@ IndigoPlateau_Object: def_objects - ; warp-to - warp_to 9, 5, INDIGO_PLATEAU_WIDTH ; INDIGO_PLATEAU_LOBBY - warp_to 10, 5, INDIGO_PLATEAU_WIDTH ; INDIGO_PLATEAU_LOBBY + def_warps_to INDIGO_PLATEAU diff --git a/data/maps/objects/IndigoPlateauLobby.asm b/data/maps/objects/IndigoPlateauLobby.asm index ac6abb9b..9c4c4435 100755 --- a/data/maps/objects/IndigoPlateauLobby.asm +++ b/data/maps/objects/IndigoPlateauLobby.asm @@ -15,7 +15,4 @@ IndigoPlateauLobby_Object: object SPRITE_CLERK, 0, 5, STAY, RIGHT, 4 ; person object SPRITE_LINK_RECEPTIONIST, 13, 6, STAY, DOWN, 5 ; person - ; warp-to - warp_to 7, 11, INDIGO_PLATEAU_LOBBY_WIDTH - warp_to 8, 11, INDIGO_PLATEAU_LOBBY_WIDTH - warp_to 8, 0, INDIGO_PLATEAU_LOBBY_WIDTH ; LORELEIS_ROOM + def_warps_to INDIGO_PLATEAU_LOBBY diff --git a/data/maps/objects/LancesRoom.asm b/data/maps/objects/LancesRoom.asm index ff2ed37c..01cde61e 100755 --- a/data/maps/objects/LancesRoom.asm +++ b/data/maps/objects/LancesRoom.asm @@ -11,7 +11,4 @@ LancesRoom_Object: def_objects object SPRITE_LANCE, 6, 1, STAY, DOWN, 1, OPP_LANCE, 1 - ; warp-to - warp_to 24, 16, LANCES_ROOM_WIDTH ; AGATHAS_ROOM - warp_to 5, 0, LANCES_ROOM_WIDTH ; CHAMPIONS_ROOM - warp_to 6, 0, LANCES_ROOM_WIDTH ; CHAMPIONS_ROOM + def_warps_to LANCES_ROOM diff --git a/data/maps/objects/LavenderCuboneHouse.asm b/data/maps/objects/LavenderCuboneHouse.asm index 920aafac..8b40faa8 100755 --- a/data/maps/objects/LavenderCuboneHouse.asm +++ b/data/maps/objects/LavenderCuboneHouse.asm @@ -11,6 +11,4 @@ LavenderCuboneHouse_Object: object SPRITE_MONSTER, 3, 5, STAY, UP, 1 ; person object SPRITE_BRUNETTE_GIRL, 2, 4, STAY, RIGHT, 2 ; person - ; warp-to - warp_to 2, 7, LAVENDER_CUBONE_HOUSE_WIDTH - warp_to 3, 7, LAVENDER_CUBONE_HOUSE_WIDTH + def_warps_to LAVENDER_CUBONE_HOUSE diff --git a/data/maps/objects/LavenderMart.asm b/data/maps/objects/LavenderMart.asm index 25850573..21694aed 100755 --- a/data/maps/objects/LavenderMart.asm +++ b/data/maps/objects/LavenderMart.asm @@ -12,6 +12,4 @@ LavenderMart_Object: object SPRITE_BALDING_GUY, 3, 4, STAY, NONE, 2 ; person object SPRITE_COOLTRAINER_M, 7, 2, STAY, NONE, 3 ; person - ; warp-to - warp_to 3, 7, LAVENDER_MART_WIDTH - warp_to 4, 7, LAVENDER_MART_WIDTH + def_warps_to LAVENDER_MART diff --git a/data/maps/objects/LavenderPokecenter.asm b/data/maps/objects/LavenderPokecenter.asm index aab03998..e12ac320 100755 --- a/data/maps/objects/LavenderPokecenter.asm +++ b/data/maps/objects/LavenderPokecenter.asm @@ -13,6 +13,4 @@ LavenderPokecenter_Object: object SPRITE_LITTLE_GIRL, 2, 6, WALK, UP_DOWN, 3 ; person object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person - ; warp-to - warp_to 3, 7, LAVENDER_POKECENTER_WIDTH - warp_to 4, 7, LAVENDER_POKECENTER_WIDTH + def_warps_to LAVENDER_POKECENTER diff --git a/data/maps/objects/LavenderTown.asm b/data/maps/objects/LavenderTown.asm index 16f881d8..9dbd9802 100755 --- a/data/maps/objects/LavenderTown.asm +++ b/data/maps/objects/LavenderTown.asm @@ -22,10 +22,4 @@ LavenderTown_Object: object SPRITE_COOLTRAINER_M, 9, 10, STAY, NONE, 2 ; person object SPRITE_SUPER_NERD, 8, 7, WALK, LEFT_RIGHT, 3 ; person - ; warp-to - warp_to 3, 5, LAVENDER_TOWN_WIDTH ; LAVENDER_POKECENTER - warp_to 14, 5, LAVENDER_TOWN_WIDTH ; POKEMON_TOWER_1F - warp_to 7, 9, LAVENDER_TOWN_WIDTH ; MR_FUJIS_HOUSE - warp_to 15, 13, LAVENDER_TOWN_WIDTH ; LAVENDER_MART - warp_to 3, 13, LAVENDER_TOWN_WIDTH ; LAVENDER_CUBONE_HOUSE - warp_to 7, 13, LAVENDER_TOWN_WIDTH ; NAME_RATERS_HOUSE + def_warps_to LAVENDER_TOWN diff --git a/data/maps/objects/LoreleisRoom.asm b/data/maps/objects/LoreleisRoom.asm index 666df02b..0c119ea3 100755 --- a/data/maps/objects/LoreleisRoom.asm +++ b/data/maps/objects/LoreleisRoom.asm @@ -12,8 +12,4 @@ LoreleisRoom_Object: def_objects object SPRITE_LORELEI, 5, 2, STAY, DOWN, 1, OPP_LORELEI, 1 - ; warp-to - warp_to 4, 11, LORELEIS_ROOM_WIDTH ; INDIGO_PLATEAU_LOBBY - warp_to 5, 11, LORELEIS_ROOM_WIDTH ; INDIGO_PLATEAU_LOBBY - warp_to 4, 0, LORELEIS_ROOM_WIDTH ; BRUNOS_ROOM - warp_to 5, 0, LORELEIS_ROOM_WIDTH ; BRUNOS_ROOM + def_warps_to LORELEIS_ROOM diff --git a/data/maps/objects/MrFujisHouse.asm b/data/maps/objects/MrFujisHouse.asm index 5b8f5ca6..fa229664 100755 --- a/data/maps/objects/MrFujisHouse.asm +++ b/data/maps/objects/MrFujisHouse.asm @@ -15,6 +15,4 @@ MrFujisHouse_Object: object SPRITE_MR_FUJI, 3, 1, STAY, NONE, 5 ; person object SPRITE_POKEDEX, 3, 3, STAY, NONE, 6 ; person - ; warp-to - warp_to 2, 7, MR_FUJIS_HOUSE_WIDTH - warp_to 3, 7, MR_FUJIS_HOUSE_WIDTH + def_warps_to MR_FUJIS_HOUSE diff --git a/data/maps/objects/MrPsychicsHouse.asm b/data/maps/objects/MrPsychicsHouse.asm index 5824adc8..6f9c4923 100755 --- a/data/maps/objects/MrPsychicsHouse.asm +++ b/data/maps/objects/MrPsychicsHouse.asm @@ -10,6 +10,4 @@ MrPsychicsHouse_Object: def_objects object SPRITE_FISHING_GURU, 5, 3, STAY, LEFT, 1 ; person - ; warp-to - warp_to 2, 7, MR_PSYCHICS_HOUSE_WIDTH - warp_to 3, 7, MR_PSYCHICS_HOUSE_WIDTH + def_warps_to MR_PSYCHICS_HOUSE diff --git a/data/maps/objects/MtMoon1F.asm b/data/maps/objects/MtMoon1F.asm index 1eb340cf..c095ec84 100755 --- a/data/maps/objects/MtMoon1F.asm +++ b/data/maps/objects/MtMoon1F.asm @@ -26,9 +26,4 @@ MtMoon1F_Object: object SPRITE_POKE_BALL, 20, 33, STAY, NONE, 12, POTION object SPRITE_POKE_BALL, 5, 32, STAY, NONE, 13, TM_WATER_GUN - ; warp-to - warp_to 14, 35, MT_MOON_1F_WIDTH - warp_to 15, 35, MT_MOON_1F_WIDTH - warp_to 5, 5, MT_MOON_1F_WIDTH ; MT_MOON_B1F - warp_to 17, 11, MT_MOON_1F_WIDTH ; MT_MOON_B1F - warp_to 25, 15, MT_MOON_1F_WIDTH ; MT_MOON_B1F + def_warps_to MT_MOON_1F diff --git a/data/maps/objects/MtMoonB1F.asm b/data/maps/objects/MtMoonB1F.asm index 8beaaac4..dc342955 100755 --- a/data/maps/objects/MtMoonB1F.asm +++ b/data/maps/objects/MtMoonB1F.asm @@ -15,12 +15,4 @@ MtMoonB1F_Object: def_objects - ; warp-to - warp_to 5, 5, MT_MOON_B1F_WIDTH ; MT_MOON_1F - warp_to 17, 11, MT_MOON_B1F_WIDTH ; MT_MOON_B2F - warp_to 25, 9, MT_MOON_B1F_WIDTH ; MT_MOON_1F - warp_to 25, 15, MT_MOON_B1F_WIDTH ; MT_MOON_1F - warp_to 21, 17, MT_MOON_B1F_WIDTH ; MT_MOON_B2F - warp_to 13, 27, MT_MOON_B1F_WIDTH ; MT_MOON_B2F - warp_to 23, 3, MT_MOON_B1F_WIDTH ; MT_MOON_B2F - warp_to 27, 3, MT_MOON_B1F_WIDTH + def_warps_to MT_MOON_B1F diff --git a/data/maps/objects/MtMoonB2F.asm b/data/maps/objects/MtMoonB2F.asm index 60d23305..556388cb 100755 --- a/data/maps/objects/MtMoonB2F.asm +++ b/data/maps/objects/MtMoonB2F.asm @@ -20,8 +20,4 @@ MtMoonB2F_Object: object SPRITE_POKE_BALL, 25, 21, STAY, NONE, 8, HP_UP object SPRITE_POKE_BALL, 29, 5, STAY, NONE, 9, TM_MEGA_PUNCH - ; warp-to - warp_to 25, 9, MT_MOON_B2F_WIDTH ; MT_MOON_B1F - warp_to 21, 17, MT_MOON_B2F_WIDTH ; MT_MOON_B1F - warp_to 15, 27, MT_MOON_B2F_WIDTH ; MT_MOON_B1F - warp_to 5, 7, MT_MOON_B2F_WIDTH ; MT_MOON_B1F + def_warps_to MT_MOON_B2F diff --git a/data/maps/objects/MtMoonPokecenter.asm b/data/maps/objects/MtMoonPokecenter.asm index d6161a78..3caf8c36 100755 --- a/data/maps/objects/MtMoonPokecenter.asm +++ b/data/maps/objects/MtMoonPokecenter.asm @@ -15,6 +15,4 @@ MtMoonPokecenter_Object: object SPRITE_CLIPBOARD, 7, 2, STAY, NONE, 5 ; person object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 6 ; person - ; warp-to - warp_to 3, 7, MT_MOON_POKECENTER_WIDTH - warp_to 4, 7, MT_MOON_POKECENTER_WIDTH + def_warps_to MT_MOON_POKECENTER diff --git a/data/maps/objects/Museum1F.asm b/data/maps/objects/Museum1F.asm index 9a847491..9c31b4fb 100755 --- a/data/maps/objects/Museum1F.asm +++ b/data/maps/objects/Museum1F.asm @@ -17,9 +17,4 @@ Museum1F_Object: object SPRITE_SCIENTIST, 17, 4, STAY, NONE, 4 ; person object SPRITE_OLD_AMBER, 16, 2, STAY, NONE, 5 ; person - ; warp-to - warp_to 10, 7, MUSEUM_1F_WIDTH - warp_to 11, 7, MUSEUM_1F_WIDTH - warp_to 16, 7, MUSEUM_1F_WIDTH - warp_to 17, 7, MUSEUM_1F_WIDTH - warp_to 7, 7, MUSEUM_1F_WIDTH ; MUSEUM_2F + def_warps_to MUSEUM_1F diff --git a/data/maps/objects/Museum2F.asm b/data/maps/objects/Museum2F.asm index 68feee78..92700344 100755 --- a/data/maps/objects/Museum2F.asm +++ b/data/maps/objects/Museum2F.asm @@ -15,5 +15,4 @@ Museum2F_Object: object SPRITE_BRUNETTE_GIRL, 11, 5, STAY, NONE, 4 ; person object SPRITE_HIKER, 12, 5, STAY, DOWN, 5 ; person - ; warp-to - warp_to 7, 7, MUSEUM_2F_WIDTH ; MUSEUM_1F + def_warps_to MUSEUM_2F diff --git a/data/maps/objects/NameRatersHouse.asm b/data/maps/objects/NameRatersHouse.asm index 2c40e009..69f5e6ac 100755 --- a/data/maps/objects/NameRatersHouse.asm +++ b/data/maps/objects/NameRatersHouse.asm @@ -10,6 +10,4 @@ NameRatersHouse_Object: def_objects object SPRITE_SILPH_PRESIDENT, 5, 3, STAY, LEFT, 1 ; person - ; warp-to - warp_to 2, 7, NAME_RATERS_HOUSE_WIDTH - warp_to 3, 7, NAME_RATERS_HOUSE_WIDTH + def_warps_to NAME_RATERS_HOUSE diff --git a/data/maps/objects/OaksLab.asm b/data/maps/objects/OaksLab.asm index 872b163f..55066be4 100755 --- a/data/maps/objects/OaksLab.asm +++ b/data/maps/objects/OaksLab.asm @@ -20,6 +20,4 @@ OaksLab_Object: object SPRITE_SCIENTIST, 2, 10, STAY, NONE, 10 ; person object SPRITE_SCIENTIST, 8, 10, STAY, NONE, 11 ; person - ; warp-to - warp_to 4, 11, OAKS_LAB_WIDTH - warp_to 5, 11, OAKS_LAB_WIDTH + def_warps_to OAKS_LAB diff --git a/data/maps/objects/PalletTown.asm b/data/maps/objects/PalletTown.asm index e80f0fae..ba7f91e4 100755 --- a/data/maps/objects/PalletTown.asm +++ b/data/maps/objects/PalletTown.asm @@ -17,7 +17,4 @@ PalletTown_Object: object SPRITE_GIRL, 3, 8, WALK, ANY_DIR, 2 ; person object SPRITE_FISHER, 11, 14, WALK, ANY_DIR, 3 ; person - ; warp-to - warp_to 5, 5, PALLET_TOWN_WIDTH ; REDS_HOUSE_1F - warp_to 13, 5, PALLET_TOWN_WIDTH ; BLUES_HOUSE - warp_to 12, 11, PALLET_TOWN_WIDTH ; OAKS_LAB + def_warps_to PALLET_TOWN diff --git a/data/maps/objects/PewterCity.asm b/data/maps/objects/PewterCity.asm index 74e1aff7..6385f5a5 100755 --- a/data/maps/objects/PewterCity.asm +++ b/data/maps/objects/PewterCity.asm @@ -26,11 +26,4 @@ PewterCity_Object: object SPRITE_SUPER_NERD, 26, 25, WALK, LEFT_RIGHT, 4 ; person object SPRITE_YOUNGSTER, 35, 16, STAY, DOWN, 5 ; person - ; warp-to - warp_to 14, 7, PEWTER_CITY_WIDTH ; MUSEUM_1F - warp_to 19, 5, PEWTER_CITY_WIDTH ; MUSEUM_1F - warp_to 16, 17, PEWTER_CITY_WIDTH ; PEWTER_GYM - warp_to 29, 13, PEWTER_CITY_WIDTH ; PEWTER_NIDORAN_HOUSE - warp_to 23, 17, PEWTER_CITY_WIDTH ; PEWTER_MART - warp_to 7, 29, PEWTER_CITY_WIDTH ; PEWTER_SPEECH_HOUSE - warp_to 13, 25, PEWTER_CITY_WIDTH ; PEWTER_POKECENTER + def_warps_to PEWTER_CITY diff --git a/data/maps/objects/PewterGym.asm b/data/maps/objects/PewterGym.asm index 2b550270..f4e6bf31 100755 --- a/data/maps/objects/PewterGym.asm +++ b/data/maps/objects/PewterGym.asm @@ -12,6 +12,4 @@ PewterGym_Object: object SPRITE_COOLTRAINER_M, 3, 6, STAY, RIGHT, 2, OPP_JR_TRAINER_M, 1 object SPRITE_GYM_GUIDE, 7, 10, STAY, DOWN, 3 ; person - ; warp-to - warp_to 4, 13, PEWTER_GYM_WIDTH - warp_to 5, 13, PEWTER_GYM_WIDTH + def_warps_to PEWTER_GYM diff --git a/data/maps/objects/PewterMart.asm b/data/maps/objects/PewterMart.asm index ad69a344..97981339 100755 --- a/data/maps/objects/PewterMart.asm +++ b/data/maps/objects/PewterMart.asm @@ -12,6 +12,4 @@ PewterMart_Object: object SPRITE_YOUNGSTER, 3, 3, WALK, UP_DOWN, 2 ; person object SPRITE_SUPER_NERD, 5, 5, STAY, NONE, 3 ; person - ; warp-to - warp_to 3, 7, PEWTER_MART_WIDTH - warp_to 4, 7, PEWTER_MART_WIDTH + def_warps_to PEWTER_MART diff --git a/data/maps/objects/PewterNidoranHouse.asm b/data/maps/objects/PewterNidoranHouse.asm index 519cf593..6fe42f2e 100755 --- a/data/maps/objects/PewterNidoranHouse.asm +++ b/data/maps/objects/PewterNidoranHouse.asm @@ -12,6 +12,4 @@ PewterNidoranHouse_Object: object SPRITE_LITTLE_BOY, 3, 5, STAY, RIGHT, 2 ; person object SPRITE_MIDDLE_AGED_MAN, 1, 2, STAY, NONE, 3 ; person - ; warp-to - warp_to 2, 7, PEWTER_NIDORAN_HOUSE_WIDTH - warp_to 3, 7, PEWTER_NIDORAN_HOUSE_WIDTH + def_warps_to PEWTER_NIDORAN_HOUSE diff --git a/data/maps/objects/PewterPokecenter.asm b/data/maps/objects/PewterPokecenter.asm index 2156b3af..855dfbf1 100755 --- a/data/maps/objects/PewterPokecenter.asm +++ b/data/maps/objects/PewterPokecenter.asm @@ -13,6 +13,4 @@ PewterPokecenter_Object: object SPRITE_FAIRY, 1, 3, STAY, DOWN, 3 ; person object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person - ; warp-to - warp_to 3, 7, PEWTER_POKECENTER_WIDTH - warp_to 4, 7, PEWTER_POKECENTER_WIDTH + def_warps_to PEWTER_POKECENTER diff --git a/data/maps/objects/PewterSpeechHouse.asm b/data/maps/objects/PewterSpeechHouse.asm index d3dc308a..6fa890de 100755 --- a/data/maps/objects/PewterSpeechHouse.asm +++ b/data/maps/objects/PewterSpeechHouse.asm @@ -11,6 +11,4 @@ PewterSpeechHouse_Object: object SPRITE_GAMBLER, 2, 3, STAY, RIGHT, 1 ; person object SPRITE_YOUNGSTER, 4, 5, STAY, NONE, 2 ; person - ; warp-to - warp_to 2, 7, PEWTER_SPEECH_HOUSE_WIDTH - warp_to 3, 7, PEWTER_SPEECH_HOUSE_WIDTH + def_warps_to PEWTER_SPEECH_HOUSE diff --git a/data/maps/objects/PokemonFanClub.asm b/data/maps/objects/PokemonFanClub.asm index 6885a22c..ee24d2a4 100755 --- a/data/maps/objects/PokemonFanClub.asm +++ b/data/maps/objects/PokemonFanClub.asm @@ -17,6 +17,4 @@ PokemonFanClub_Object: object SPRITE_GENTLEMAN, 3, 1, STAY, DOWN, 5 ; person object SPRITE_LINK_RECEPTIONIST, 5, 1, STAY, DOWN, 6 ; person - ; warp-to - warp_to 2, 7, POKEMON_FAN_CLUB_WIDTH - warp_to 3, 7, POKEMON_FAN_CLUB_WIDTH + def_warps_to POKEMON_FAN_CLUB diff --git a/data/maps/objects/PokemonMansion1F.asm b/data/maps/objects/PokemonMansion1F.asm index 43d0a6e2..6edd6bce 100755 --- a/data/maps/objects/PokemonMansion1F.asm +++ b/data/maps/objects/PokemonMansion1F.asm @@ -18,12 +18,4 @@ PokemonMansion1F_Object: object SPRITE_POKE_BALL, 14, 3, STAY, NONE, 2, ESCAPE_ROPE object SPRITE_POKE_BALL, 18, 21, STAY, NONE, 3, CARBOS - ; warp-to - warp_to 4, 27, POKEMON_MANSION_1F_WIDTH - warp_to 5, 27, POKEMON_MANSION_1F_WIDTH - warp_to 6, 27, POKEMON_MANSION_1F_WIDTH - warp_to 7, 27, POKEMON_MANSION_1F_WIDTH - warp_to 5, 10, POKEMON_MANSION_1F_WIDTH ; POKEMON_MANSION_2F - warp_to 21, 23, POKEMON_MANSION_1F_WIDTH ; POKEMON_MANSION_B1F - warp_to 26, 27, POKEMON_MANSION_1F_WIDTH - warp_to 27, 27, POKEMON_MANSION_1F_WIDTH + def_warps_to POKEMON_MANSION_1F diff --git a/data/maps/objects/PokemonMansion2F.asm b/data/maps/objects/PokemonMansion2F.asm index b2146a48..95174661 100755 --- a/data/maps/objects/PokemonMansion2F.asm +++ b/data/maps/objects/PokemonMansion2F.asm @@ -15,8 +15,4 @@ PokemonMansion2F_Object: object SPRITE_POKEDEX, 18, 2, STAY, NONE, 3 ; person object SPRITE_POKEDEX, 3, 22, STAY, NONE, 4 ; person - ; warp-to - warp_to 5, 10, POKEMON_MANSION_2F_WIDTH ; POKEMON_MANSION_1F - warp_to 7, 10, POKEMON_MANSION_2F_WIDTH ; POKEMON_MANSION_3F - warp_to 25, 14, POKEMON_MANSION_2F_WIDTH ; POKEMON_MANSION_3F - warp_to 6, 1, POKEMON_MANSION_2F_WIDTH ; POKEMON_MANSION_3F + def_warps_to POKEMON_MANSION_2F diff --git a/data/maps/objects/PokemonMansion3F.asm b/data/maps/objects/PokemonMansion3F.asm index 8385bd70..84ef02d8 100755 --- a/data/maps/objects/PokemonMansion3F.asm +++ b/data/maps/objects/PokemonMansion3F.asm @@ -15,7 +15,4 @@ PokemonMansion3F_Object: object SPRITE_POKE_BALL, 25, 5, STAY, NONE, 4, IRON object SPRITE_POKEDEX, 6, 12, STAY, NONE, 5 ; person - ; warp-to - warp_to 7, 10, POKEMON_MANSION_3F_WIDTH ; POKEMON_MANSION_2F - warp_to 6, 1, POKEMON_MANSION_3F_WIDTH ; POKEMON_MANSION_2F - warp_to 25, 14, POKEMON_MANSION_3F_WIDTH ; POKEMON_MANSION_2F + def_warps_to POKEMON_MANSION_3F diff --git a/data/maps/objects/PokemonMansionB1F.asm b/data/maps/objects/PokemonMansionB1F.asm index deb68bf0..bf0ea0a4 100755 --- a/data/maps/objects/PokemonMansionB1F.asm +++ b/data/maps/objects/PokemonMansionB1F.asm @@ -16,5 +16,4 @@ PokemonMansionB1F_Object: object SPRITE_POKEDEX, 16, 20, STAY, NONE, 7 ; person object SPRITE_POKE_BALL, 5, 13, STAY, NONE, 8, SECRET_KEY - ; warp-to - warp_to 23, 22, POKEMON_MANSION_B1F_WIDTH ; POKEMON_MANSION_1F + def_warps_to POKEMON_MANSION_B1F diff --git a/data/maps/objects/PokemonTower1F.asm b/data/maps/objects/PokemonTower1F.asm index 4725a70c..56615f79 100755 --- a/data/maps/objects/PokemonTower1F.asm +++ b/data/maps/objects/PokemonTower1F.asm @@ -15,7 +15,4 @@ PokemonTower1F_Object: object SPRITE_GIRL, 13, 7, STAY, NONE, 4 ; person object SPRITE_CHANNELER, 17, 7, STAY, LEFT, 5 ; person - ; warp-to - warp_to 10, 17, POKEMON_TOWER_1F_WIDTH - warp_to 11, 17, POKEMON_TOWER_1F_WIDTH - warp_to 18, 9, POKEMON_TOWER_1F_WIDTH ; POKEMON_TOWER_2F + def_warps_to POKEMON_TOWER_1F diff --git a/data/maps/objects/PokemonTower2F.asm b/data/maps/objects/PokemonTower2F.asm index a3f84a52..9c0770e9 100755 --- a/data/maps/objects/PokemonTower2F.asm +++ b/data/maps/objects/PokemonTower2F.asm @@ -11,6 +11,4 @@ PokemonTower2F_Object: object SPRITE_BLUE, 14, 5, STAY, NONE, 1 ; person object SPRITE_CHANNELER, 3, 7, STAY, RIGHT, 2 ; person - ; warp-to - warp_to 3, 9, POKEMON_TOWER_2F_WIDTH ; POKEMON_TOWER_3F - warp_to 18, 9, POKEMON_TOWER_2F_WIDTH ; POKEMON_TOWER_1F + def_warps_to POKEMON_TOWER_2F diff --git a/data/maps/objects/PokemonTower3F.asm b/data/maps/objects/PokemonTower3F.asm index 655fb5eb..3d5272ba 100755 --- a/data/maps/objects/PokemonTower3F.asm +++ b/data/maps/objects/PokemonTower3F.asm @@ -13,6 +13,4 @@ PokemonTower3F_Object: object SPRITE_CHANNELER, 10, 13, STAY, DOWN, 3, OPP_CHANNELER, 8 object SPRITE_POKE_BALL, 12, 1, STAY, NONE, 4, ESCAPE_ROPE - ; warp-to - warp_to 3, 9, POKEMON_TOWER_3F_WIDTH ; POKEMON_TOWER_2F - warp_to 18, 9, POKEMON_TOWER_3F_WIDTH ; POKEMON_TOWER_4F + def_warps_to POKEMON_TOWER_3F diff --git a/data/maps/objects/PokemonTower4F.asm b/data/maps/objects/PokemonTower4F.asm index d04b525b..675a1407 100755 --- a/data/maps/objects/PokemonTower4F.asm +++ b/data/maps/objects/PokemonTower4F.asm @@ -15,6 +15,4 @@ PokemonTower4F_Object: object SPRITE_POKE_BALL, 9, 10, STAY, NONE, 5, AWAKENING object SPRITE_POKE_BALL, 12, 16, STAY, NONE, 6, HP_UP - ; warp-to - warp_to 3, 9, POKEMON_TOWER_4F_WIDTH ; POKEMON_TOWER_5F - warp_to 18, 9, POKEMON_TOWER_4F_WIDTH ; POKEMON_TOWER_3F + def_warps_to POKEMON_TOWER_4F diff --git a/data/maps/objects/PokemonTower5F.asm b/data/maps/objects/PokemonTower5F.asm index 1bb3eebb..bf7ff716 100755 --- a/data/maps/objects/PokemonTower5F.asm +++ b/data/maps/objects/PokemonTower5F.asm @@ -15,6 +15,4 @@ PokemonTower5F_Object: object SPRITE_CHANNELER, 9, 16, STAY, RIGHT, 5, OPP_CHANNELER, 18 object SPRITE_POKE_BALL, 6, 14, STAY, NONE, 6, NUGGET - ; warp-to - warp_to 3, 9, POKEMON_TOWER_5F_WIDTH ; POKEMON_TOWER_4F - warp_to 18, 9, POKEMON_TOWER_5F_WIDTH ; POKEMON_TOWER_6F + def_warps_to POKEMON_TOWER_5F diff --git a/data/maps/objects/PokemonTower6F.asm b/data/maps/objects/PokemonTower6F.asm index 2733db2f..c90e57f2 100755 --- a/data/maps/objects/PokemonTower6F.asm +++ b/data/maps/objects/PokemonTower6F.asm @@ -14,6 +14,4 @@ PokemonTower6F_Object: object SPRITE_POKE_BALL, 6, 8, STAY, NONE, 4, RARE_CANDY object SPRITE_POKE_BALL, 14, 14, STAY, NONE, 5, X_ACCURACY - ; warp-to - warp_to 18, 9, POKEMON_TOWER_6F_WIDTH ; POKEMON_TOWER_5F - warp_to 9, 16, POKEMON_TOWER_6F_WIDTH ; POKEMON_TOWER_7F + def_warps_to POKEMON_TOWER_6F diff --git a/data/maps/objects/PokemonTower7F.asm b/data/maps/objects/PokemonTower7F.asm index af8cff29..427cb39d 100755 --- a/data/maps/objects/PokemonTower7F.asm +++ b/data/maps/objects/PokemonTower7F.asm @@ -12,5 +12,4 @@ PokemonTower7F_Object: object SPRITE_ROCKET, 9, 7, STAY, RIGHT, 3, OPP_ROCKET, 21 object SPRITE_MR_FUJI, 10, 3, STAY, DOWN, 4 ; person - ; warp-to - warp_to 9, 16, POKEMON_TOWER_7F_WIDTH ; POKEMON_TOWER_6F + def_warps_to POKEMON_TOWER_7F diff --git a/data/maps/objects/PowerPlant.asm b/data/maps/objects/PowerPlant.asm index 3e34a343..ab466d89 100755 --- a/data/maps/objects/PowerPlant.asm +++ b/data/maps/objects/PowerPlant.asm @@ -24,7 +24,4 @@ PowerPlant_Object: object SPRITE_POKE_BALL, 26, 32, STAY, NONE, 13, TM_THUNDER object SPRITE_POKE_BALL, 20, 32, STAY, NONE, 14, TM_REFLECT - ; warp-to - warp_to 4, 35, POWER_PLANT_WIDTH - warp_to 5, 35, POWER_PLANT_WIDTH - warp_to 0, 11, POWER_PLANT_WIDTH + def_warps_to POWER_PLANT diff --git a/data/maps/objects/RedsHouse1F.asm b/data/maps/objects/RedsHouse1F.asm index 4cb71b42..17178a32 100755 --- a/data/maps/objects/RedsHouse1F.asm +++ b/data/maps/objects/RedsHouse1F.asm @@ -12,7 +12,4 @@ RedsHouse1F_Object: def_objects object SPRITE_MOM, 5, 4, STAY, LEFT, 1 ; Mom - ; warp-to - warp_to 2, 7, REDS_HOUSE_1F_WIDTH - warp_to 3, 7, REDS_HOUSE_1F_WIDTH - warp_to 7, 1, REDS_HOUSE_1F_WIDTH + def_warps_to REDS_HOUSE_1F diff --git a/data/maps/objects/RedsHouse2F.asm b/data/maps/objects/RedsHouse2F.asm index 53a1ab68..322fbca7 100755 --- a/data/maps/objects/RedsHouse2F.asm +++ b/data/maps/objects/RedsHouse2F.asm @@ -8,5 +8,4 @@ RedsHouse2F_Object: def_objects - ; warp-to - warp_to 7, 1, REDS_HOUSE_2F_WIDTH + def_warps_to REDS_HOUSE_2F diff --git a/data/maps/objects/RockTunnel1F.asm b/data/maps/objects/RockTunnel1F.asm index ee482538..c882cf55 100755 --- a/data/maps/objects/RockTunnel1F.asm +++ b/data/maps/objects/RockTunnel1F.asm @@ -23,12 +23,4 @@ RockTunnel1F_Object: object SPRITE_COOLTRAINER_F, 22, 24, STAY, DOWN, 6, OPP_JR_TRAINER_F, 18 object SPRITE_COOLTRAINER_F, 32, 24, STAY, RIGHT, 7, OPP_JR_TRAINER_F, 19 - ; warp-to - warp_to 15, 3, ROCK_TUNNEL_1F_WIDTH - warp_to 15, 0, ROCK_TUNNEL_1F_WIDTH - warp_to 15, 33, ROCK_TUNNEL_1F_WIDTH - warp_to 15, 35, ROCK_TUNNEL_1F_WIDTH - warp_to 37, 3, ROCK_TUNNEL_1F_WIDTH ; ROCK_TUNNEL_B1F - warp_to 5, 3, ROCK_TUNNEL_1F_WIDTH ; ROCK_TUNNEL_B1F - warp_to 17, 11, ROCK_TUNNEL_1F_WIDTH ; ROCK_TUNNEL_B1F - warp_to 37, 17, ROCK_TUNNEL_1F_WIDTH ; ROCK_TUNNEL_B1F + def_warps_to ROCK_TUNNEL_1F diff --git a/data/maps/objects/RockTunnelB1F.asm b/data/maps/objects/RockTunnelB1F.asm index ea4680e6..4dab88d1 100755 --- a/data/maps/objects/RockTunnelB1F.asm +++ b/data/maps/objects/RockTunnelB1F.asm @@ -19,8 +19,4 @@ RockTunnelB1F_Object: object SPRITE_HIKER, 33, 5, STAY, RIGHT, 7, OPP_HIKER, 11 object SPRITE_SUPER_NERD, 26, 30, STAY, DOWN, 8, OPP_POKEMANIAC, 5 - ; warp-to - warp_to 33, 25, ROCK_TUNNEL_B1F_WIDTH ; ROCK_TUNNEL_1F - warp_to 27, 3, ROCK_TUNNEL_B1F_WIDTH ; ROCK_TUNNEL_1F - warp_to 23, 11, ROCK_TUNNEL_B1F_WIDTH ; ROCK_TUNNEL_1F - warp_to 3, 3, ROCK_TUNNEL_B1F_WIDTH ; ROCK_TUNNEL_1F + def_warps_to ROCK_TUNNEL_B1F diff --git a/data/maps/objects/RockTunnelPokecenter.asm b/data/maps/objects/RockTunnelPokecenter.asm index fdad5b02..efeb4838 100755 --- a/data/maps/objects/RockTunnelPokecenter.asm +++ b/data/maps/objects/RockTunnelPokecenter.asm @@ -13,6 +13,4 @@ RockTunnelPokecenter_Object: object SPRITE_FISHER, 2, 5, STAY, NONE, 3 ; person object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person - ; warp-to - warp_to 3, 7, ROCK_TUNNEL_POKECENTER_WIDTH - warp_to 4, 7, ROCK_TUNNEL_POKECENTER_WIDTH + def_warps_to ROCK_TUNNEL_POKECENTER diff --git a/data/maps/objects/RocketHideoutB1F.asm b/data/maps/objects/RocketHideoutB1F.asm index e4dfaafd..197e821f 100755 --- a/data/maps/objects/RocketHideoutB1F.asm +++ b/data/maps/objects/RocketHideoutB1F.asm @@ -19,9 +19,4 @@ RocketHideoutB1F_Object: object SPRITE_POKE_BALL, 11, 14, STAY, NONE, 6, ESCAPE_ROPE object SPRITE_POKE_BALL, 9, 17, STAY, NONE, 7, HYPER_POTION - ; warp-to - warp_to 23, 2, ROCKET_HIDEOUT_B1F_WIDTH ; ROCKET_HIDEOUT_B2F - warp_to 21, 2, ROCKET_HIDEOUT_B1F_WIDTH ; GAME_CORNER - warp_to 24, 19, ROCKET_HIDEOUT_B1F_WIDTH ; ROCKET_HIDEOUT_ELEVATOR - warp_to 21, 24, ROCKET_HIDEOUT_B1F_WIDTH ; ROCKET_HIDEOUT_B2F - warp_to 25, 19, ROCKET_HIDEOUT_B1F_WIDTH ; ROCKET_HIDEOUT_ELEVATOR + def_warps_to ROCKET_HIDEOUT_B1F diff --git a/data/maps/objects/RocketHideoutB2F.asm b/data/maps/objects/RocketHideoutB2F.asm index a9ba082d..e7fd011e 100755 --- a/data/maps/objects/RocketHideoutB2F.asm +++ b/data/maps/objects/RocketHideoutB2F.asm @@ -17,9 +17,4 @@ RocketHideoutB2F_Object: object SPRITE_POKE_BALL, 6, 12, STAY, NONE, 4, TM_HORN_DRILL object SPRITE_POKE_BALL, 3, 21, STAY, NONE, 5, SUPER_POTION - ; warp-to - warp_to 27, 8, ROCKET_HIDEOUT_B2F_WIDTH ; ROCKET_HIDEOUT_B1F - warp_to 21, 8, ROCKET_HIDEOUT_B2F_WIDTH ; ROCKET_HIDEOUT_B3F - warp_to 24, 19, ROCKET_HIDEOUT_B2F_WIDTH ; ROCKET_HIDEOUT_ELEVATOR - warp_to 21, 22, ROCKET_HIDEOUT_B2F_WIDTH ; ROCKET_HIDEOUT_B1F - warp_to 25, 19, ROCKET_HIDEOUT_B2F_WIDTH ; ROCKET_HIDEOUT_ELEVATOR + def_warps_to ROCKET_HIDEOUT_B2F diff --git a/data/maps/objects/RocketHideoutB3F.asm b/data/maps/objects/RocketHideoutB3F.asm index b2d062ae..62164f92 100755 --- a/data/maps/objects/RocketHideoutB3F.asm +++ b/data/maps/objects/RocketHideoutB3F.asm @@ -13,6 +13,4 @@ RocketHideoutB3F_Object: object SPRITE_POKE_BALL, 26, 17, STAY, NONE, 3, TM_DOUBLE_EDGE object SPRITE_POKE_BALL, 20, 14, STAY, NONE, 4, RARE_CANDY - ; warp-to - warp_to 25, 6, ROCKET_HIDEOUT_B3F_WIDTH ; ROCKET_HIDEOUT_B2F - warp_to 19, 18, ROCKET_HIDEOUT_B3F_WIDTH ; ROCKET_HIDEOUT_B4F + def_warps_to ROCKET_HIDEOUT_B3F diff --git a/data/maps/objects/RocketHideoutB4F.asm b/data/maps/objects/RocketHideoutB4F.asm index e0aa2665..5dcf107f 100755 --- a/data/maps/objects/RocketHideoutB4F.asm +++ b/data/maps/objects/RocketHideoutB4F.asm @@ -19,7 +19,4 @@ RocketHideoutB4F_Object: object SPRITE_POKE_BALL, 25, 2, STAY, NONE, 8, SILPH_SCOPE object SPRITE_POKE_BALL, 10, 2, STAY, NONE, 9, LIFT_KEY - ; warp-to - warp_to 19, 10, ROCKET_HIDEOUT_B4F_WIDTH ; ROCKET_HIDEOUT_B3F - warp_to 24, 15, ROCKET_HIDEOUT_B4F_WIDTH ; ROCKET_HIDEOUT_ELEVATOR - warp_to 25, 15, ROCKET_HIDEOUT_B4F_WIDTH ; ROCKET_HIDEOUT_ELEVATOR + def_warps_to ROCKET_HIDEOUT_B4F diff --git a/data/maps/objects/RocketHideoutElevator.asm b/data/maps/objects/RocketHideoutElevator.asm index 1bb48968..bf09dfbc 100755 --- a/data/maps/objects/RocketHideoutElevator.asm +++ b/data/maps/objects/RocketHideoutElevator.asm @@ -10,6 +10,4 @@ RocketHideoutElevator_Object: def_objects - ; warp-to - warp_to 2, 1, ROCKET_HIDEOUT_ELEVATOR_WIDTH ; ROCKET_HIDEOUT_B1F - warp_to 3, 1, ROCKET_HIDEOUT_ELEVATOR_WIDTH ; ROCKET_HIDEOUT_B1F + def_warps_to ROCKET_HIDEOUT_ELEVATOR diff --git a/data/maps/objects/Route1.asm b/data/maps/objects/Route1.asm index 349118dd..4b9b59b5 100755 --- a/data/maps/objects/Route1.asm +++ b/data/maps/objects/Route1.asm @@ -10,5 +10,7 @@ Route1_Object: object SPRITE_YOUNGSTER, 5, 24, WALK, UP_DOWN, 1 ; person object SPRITE_YOUNGSTER, 15, 13, WALK, LEFT_RIGHT, 2 ; person - ; warp-to (unused) + def_warps_to ROUTE_1 + + ; unused warp_to 2, 7, 4 diff --git a/data/maps/objects/Route10.asm b/data/maps/objects/Route10.asm index f5d396fe..fee3c3dc 100755 --- a/data/maps/objects/Route10.asm +++ b/data/maps/objects/Route10.asm @@ -21,8 +21,4 @@ Route10_Object: object SPRITE_HIKER, 3, 61, STAY, DOWN, 5, OPP_HIKER, 8 object SPRITE_COOLTRAINER_F, 7, 54, STAY, DOWN, 6, OPP_JR_TRAINER_F, 8 - ; warp-to - warp_to 11, 19, ROUTE_10_WIDTH ; ROCK_TUNNEL_POKECENTER - warp_to 8, 17, ROUTE_10_WIDTH ; ROCK_TUNNEL_1F - warp_to 8, 53, ROUTE_10_WIDTH ; ROCK_TUNNEL_1F - warp_to 6, 39, ROUTE_10_WIDTH ; POWER_PLANT + def_warps_to ROUTE_10 diff --git a/data/maps/objects/Route11.asm b/data/maps/objects/Route11.asm index 48d9bed1..aa5eff0a 100755 --- a/data/maps/objects/Route11.asm +++ b/data/maps/objects/Route11.asm @@ -23,9 +23,4 @@ Route11_Object: object SPRITE_SUPER_NERD, 45, 16, STAY, LEFT, 9, OPP_ENGINEER, 3 object SPRITE_YOUNGSTER, 22, 12, STAY, UP, 10, OPP_YOUNGSTER, 12 - ; warp-to - warp_to 49, 8, ROUTE_11_WIDTH ; ROUTE_11_GATE_1F - warp_to 49, 9, ROUTE_11_WIDTH ; ROUTE_11_GATE_1F - warp_to 58, 8, ROUTE_11_WIDTH ; ROUTE_11_GATE_1F - warp_to 58, 9, ROUTE_11_WIDTH ; ROUTE_11_GATE_1F - warp_to 4, 5, ROUTE_11_WIDTH ; DIGLETTS_CAVE_ROUTE_11 + def_warps_to ROUTE_11 diff --git a/data/maps/objects/Route11Gate1F.asm b/data/maps/objects/Route11Gate1F.asm index 161eb8d7..45af716b 100755 --- a/data/maps/objects/Route11Gate1F.asm +++ b/data/maps/objects/Route11Gate1F.asm @@ -13,9 +13,4 @@ Route11Gate1F_Object: def_objects object SPRITE_GUARD, 4, 1, STAY, NONE, 1 ; person - ; warp-to - warp_to 0, 4, ROUTE_11_GATE_1F_WIDTH - warp_to 0, 5, ROUTE_11_GATE_1F_WIDTH - warp_to 7, 4, ROUTE_11_GATE_1F_WIDTH - warp_to 7, 5, ROUTE_11_GATE_1F_WIDTH - warp_to 6, 8, ROUTE_11_GATE_1F_WIDTH ; ROUTE_11_GATE_2F + def_warps_to ROUTE_11_GATE_1F diff --git a/data/maps/objects/Route11Gate2F.asm b/data/maps/objects/Route11Gate2F.asm index 016ee755..b13ceb80 100755 --- a/data/maps/objects/Route11Gate2F.asm +++ b/data/maps/objects/Route11Gate2F.asm @@ -12,5 +12,4 @@ Route11Gate2F_Object: object SPRITE_YOUNGSTER, 4, 2, WALK, LEFT_RIGHT, 1 ; person object SPRITE_SCIENTIST, 2, 6, STAY, NONE, 2 ; person - ; warp-to - warp_to 7, 7, ROUTE_11_GATE_2F_WIDTH ; ROUTE_11_GATE_1F + def_warps_to ROUTE_11_GATE_2F diff --git a/data/maps/objects/Route12.asm b/data/maps/objects/Route12.asm index c5631130..22ac15e8 100755 --- a/data/maps/objects/Route12.asm +++ b/data/maps/objects/Route12.asm @@ -23,8 +23,4 @@ Route12_Object: object SPRITE_POKE_BALL, 14, 35, STAY, NONE, 9, TM_PAY_DAY object SPRITE_POKE_BALL, 5, 89, STAY, NONE, 10, IRON - ; warp-to - warp_to 10, 15, ROUTE_12_WIDTH ; ROUTE_12_GATE_1F - warp_to 11, 15, ROUTE_12_WIDTH ; ROUTE_12_GATE_1F - warp_to 10, 21, ROUTE_12_WIDTH ; ROUTE_12_GATE_1F - warp_to 11, 77, ROUTE_12_WIDTH ; ROUTE_12_SUPER_ROD_HOUSE + def_warps_to ROUTE_12 diff --git a/data/maps/objects/Route12Gate1F.asm b/data/maps/objects/Route12Gate1F.asm index 875bc72b..ed8ade01 100755 --- a/data/maps/objects/Route12Gate1F.asm +++ b/data/maps/objects/Route12Gate1F.asm @@ -13,9 +13,4 @@ Route12Gate1F_Object: def_objects object SPRITE_GUARD, 1, 3, STAY, NONE, 1 ; person - ; warp-to - warp_to 4, 0, ROUTE_12_GATE_1F_WIDTH - warp_to 5, 0, ROUTE_12_GATE_1F_WIDTH - warp_to 4, 7, ROUTE_12_GATE_1F_WIDTH - warp_to 5, 7, ROUTE_12_GATE_1F_WIDTH - warp_to 8, 6, ROUTE_12_GATE_1F_WIDTH ; ROUTE_12_GATE_2F + def_warps_to ROUTE_12_GATE_1F diff --git a/data/maps/objects/Route12Gate2F.asm b/data/maps/objects/Route12Gate2F.asm index 54422e56..e9075cfc 100755 --- a/data/maps/objects/Route12Gate2F.asm +++ b/data/maps/objects/Route12Gate2F.asm @@ -11,5 +11,4 @@ Route12Gate2F_Object: def_objects object SPRITE_BRUNETTE_GIRL, 3, 4, WALK, UP_DOWN, 1 ; person - ; warp-to - warp_to 7, 7, ROUTE_12_GATE_2F_WIDTH ; ROUTE_12_GATE_1F + def_warps_to ROUTE_12_GATE_2F diff --git a/data/maps/objects/Route12SuperRodHouse.asm b/data/maps/objects/Route12SuperRodHouse.asm index aa3d48d0..70fd7cb3 100755 --- a/data/maps/objects/Route12SuperRodHouse.asm +++ b/data/maps/objects/Route12SuperRodHouse.asm @@ -10,6 +10,4 @@ Route12SuperRodHouse_Object: def_objects object SPRITE_FISHING_GURU, 2, 4, STAY, RIGHT, 1 ; person - ; warp-to - warp_to 2, 7, ROUTE_12_SUPER_ROD_HOUSE_WIDTH - warp_to 3, 7, ROUTE_12_SUPER_ROD_HOUSE_WIDTH + def_warps_to ROUTE_12_SUPER_ROD_HOUSE diff --git a/data/maps/objects/Route13.asm b/data/maps/objects/Route13.asm index a1f9c032..41e1a8d6 100755 --- a/data/maps/objects/Route13.asm +++ b/data/maps/objects/Route13.asm @@ -19,3 +19,5 @@ Route13_Object: object SPRITE_BEAUTY, 32, 6, STAY, DOWN, 8, OPP_BEAUTY, 5 object SPRITE_BIKER, 10, 7, STAY, UP, 9, OPP_BIKER, 1 object SPRITE_COOLTRAINER_M, 7, 13, STAY, UP, 10, OPP_BIRD_KEEPER, 3 + + def_warps_to ROUTE_13 diff --git a/data/maps/objects/Route14.asm b/data/maps/objects/Route14.asm index 5a3050ca..4a2240e6 100755 --- a/data/maps/objects/Route14.asm +++ b/data/maps/objects/Route14.asm @@ -17,3 +17,5 @@ Route14_Object: object SPRITE_BIKER, 4, 30, STAY, RIGHT, 8, OPP_BIKER, 14 object SPRITE_BIKER, 15, 30, STAY, LEFT, 9, OPP_BIKER, 15 object SPRITE_BIKER, 4, 31, STAY, RIGHT, 10, OPP_BIKER, 2 + + def_warps_to ROUTE_14 diff --git a/data/maps/objects/Route15.asm b/data/maps/objects/Route15.asm index 4a46268d..76e3ae7c 100755 --- a/data/maps/objects/Route15.asm +++ b/data/maps/objects/Route15.asm @@ -23,8 +23,4 @@ Route15_Object: object SPRITE_COOLTRAINER_F, 18, 13, STAY, UP, 10, OPP_JR_TRAINER_F, 23 object SPRITE_POKE_BALL, 18, 5, STAY, NONE, 11, TM_RAGE - ; warp-to - warp_to 7, 8, ROUTE_15_WIDTH ; ROUTE_15_GATE_1F - warp_to 7, 9, ROUTE_15_WIDTH ; ROUTE_15_GATE_1F - warp_to 14, 8, ROUTE_15_WIDTH ; ROUTE_15_GATE_1F - warp_to 14, 9, ROUTE_15_WIDTH ; ROUTE_15_GATE_1F + def_warps_to ROUTE_15 diff --git a/data/maps/objects/Route15Gate1F.asm b/data/maps/objects/Route15Gate1F.asm index 134fdd5c..dbf38671 100755 --- a/data/maps/objects/Route15Gate1F.asm +++ b/data/maps/objects/Route15Gate1F.asm @@ -13,9 +13,4 @@ Route15Gate1F_Object: def_objects object SPRITE_GUARD, 4, 1, STAY, NONE, 1 ; person - ; warp-to - warp_to 0, 4, ROUTE_15_GATE_1F_WIDTH - warp_to 0, 5, ROUTE_15_GATE_1F_WIDTH - warp_to 7, 4, ROUTE_15_GATE_1F_WIDTH - warp_to 7, 5, ROUTE_15_GATE_1F_WIDTH - warp_to 6, 8, ROUTE_15_GATE_1F_WIDTH ; ROUTE_15_GATE_2F + def_warps_to ROUTE_15_GATE_1F diff --git a/data/maps/objects/Route15Gate2F.asm b/data/maps/objects/Route15Gate2F.asm index e93f9efb..5c5bf450 100755 --- a/data/maps/objects/Route15Gate2F.asm +++ b/data/maps/objects/Route15Gate2F.asm @@ -10,5 +10,4 @@ Route15Gate2F_Object: def_objects object SPRITE_SCIENTIST, 4, 2, STAY, DOWN, 1 - ; warp-to - warp_to 7, 7, ROUTE_15_GATE_2F_WIDTH ; ROUTE_15_GATE_1F + def_warps_to ROUTE_15_GATE_2F diff --git a/data/maps/objects/Route16.asm b/data/maps/objects/Route16.asm index c141a58a..29ccc1a6 100755 --- a/data/maps/objects/Route16.asm +++ b/data/maps/objects/Route16.asm @@ -25,13 +25,4 @@ Route16_Object: object SPRITE_BIKER, 3, 12, STAY, RIGHT, 6, OPP_BIKER, 7 object SPRITE_SNORLAX, 26, 10, STAY, DOWN, 7 ; person - ; warp-to - warp_to 17, 10, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F - warp_to 17, 11, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F - warp_to 24, 10, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F - warp_to 24, 11, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F - warp_to 17, 4, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F - warp_to 17, 5, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F - warp_to 24, 4, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F - warp_to 24, 5, ROUTE_16_WIDTH ; ROUTE_16_GATE_1F - warp_to 7, 5, ROUTE_16_WIDTH ; ROUTE_16_FLY_HOUSE + def_warps_to ROUTE_16 diff --git a/data/maps/objects/Route16FlyHouse.asm b/data/maps/objects/Route16FlyHouse.asm index 3e638653..bdb0cced 100755 --- a/data/maps/objects/Route16FlyHouse.asm +++ b/data/maps/objects/Route16FlyHouse.asm @@ -11,6 +11,4 @@ Route16FlyHouse_Object: object SPRITE_BRUNETTE_GIRL, 2, 3, STAY, RIGHT, 1 ; person object SPRITE_BIRD, 6, 4, WALK, ANY_DIR, 2 ; person - ; warp-to - warp_to 2, 7, ROUTE_16_FLY_HOUSE_WIDTH - warp_to 3, 7, ROUTE_16_FLY_HOUSE_WIDTH + def_warps_to ROUTE_16_FLY_HOUSE diff --git a/data/maps/objects/Route16Gate1F.asm b/data/maps/objects/Route16Gate1F.asm index 77b76df8..31f6d02d 100755 --- a/data/maps/objects/Route16Gate1F.asm +++ b/data/maps/objects/Route16Gate1F.asm @@ -18,13 +18,4 @@ Route16Gate1F_Object: object SPRITE_GUARD, 4, 5, STAY, DOWN, 1 ; person object SPRITE_GAMBLER, 4, 3, STAY, NONE, 2 ; person - ; warp-to - warp_to 0, 8, ROUTE_16_GATE_1F_WIDTH - warp_to 0, 9, ROUTE_16_GATE_1F_WIDTH - warp_to 7, 8, ROUTE_16_GATE_1F_WIDTH - warp_to 7, 9, ROUTE_16_GATE_1F_WIDTH - warp_to 0, 2, ROUTE_16_GATE_1F_WIDTH - warp_to 0, 3, ROUTE_16_GATE_1F_WIDTH - warp_to 7, 2, ROUTE_16_GATE_1F_WIDTH - warp_to 7, 3, ROUTE_16_GATE_1F_WIDTH - warp_to 6, 12, ROUTE_16_GATE_1F_WIDTH ; ROUTE_16_GATE_2F + def_warps_to ROUTE_16_GATE_1F diff --git a/data/maps/objects/Route16Gate2F.asm b/data/maps/objects/Route16Gate2F.asm index a0952ae7..5f428151 100755 --- a/data/maps/objects/Route16Gate2F.asm +++ b/data/maps/objects/Route16Gate2F.asm @@ -12,5 +12,4 @@ Route16Gate2F_Object: object SPRITE_LITTLE_BOY, 4, 2, STAY, NONE, 1 ; person object SPRITE_LITTLE_GIRL, 2, 5, WALK, LEFT_RIGHT, 2 ; person - ; warp-to - warp_to 7, 7, ROUTE_16_GATE_2F_WIDTH ; ROUTE_16_GATE_1F + def_warps_to ROUTE_16_GATE_2F diff --git a/data/maps/objects/Route17.asm b/data/maps/objects/Route17.asm index 14abc7f0..8642b211 100755 --- a/data/maps/objects/Route17.asm +++ b/data/maps/objects/Route17.asm @@ -22,3 +22,5 @@ Route17_Object: object SPRITE_BIKER, 14, 98, STAY, RIGHT, 8, OPP_CUE_BALL, 8 object SPRITE_BIKER, 5, 98, STAY, LEFT, 9, OPP_BIKER, 11 object SPRITE_BIKER, 10, 118, STAY, DOWN, 10, OPP_BIKER, 12 + + def_warps_to ROUTE_17 diff --git a/data/maps/objects/Route18.asm b/data/maps/objects/Route18.asm index 3d3e610d..bd008f3d 100755 --- a/data/maps/objects/Route18.asm +++ b/data/maps/objects/Route18.asm @@ -16,8 +16,4 @@ Route18_Object: object SPRITE_COOLTRAINER_M, 40, 15, STAY, LEFT, 2, OPP_BIRD_KEEPER, 9 object SPRITE_COOLTRAINER_M, 42, 13, STAY, LEFT, 3, OPP_BIRD_KEEPER, 10 - ; warp-to - warp_to 33, 8, ROUTE_18_WIDTH ; ROUTE_18_GATE_1F - warp_to 33, 9, ROUTE_18_WIDTH ; ROUTE_18_GATE_1F - warp_to 40, 8, ROUTE_18_WIDTH ; ROUTE_18_GATE_1F - warp_to 40, 9, ROUTE_18_WIDTH ; ROUTE_18_GATE_1F + def_warps_to ROUTE_18 diff --git a/data/maps/objects/Route18Gate1F.asm b/data/maps/objects/Route18Gate1F.asm index b3ee3963..faceb2c5 100755 --- a/data/maps/objects/Route18Gate1F.asm +++ b/data/maps/objects/Route18Gate1F.asm @@ -13,9 +13,4 @@ Route18Gate1F_Object: def_objects object SPRITE_GUARD, 4, 1, STAY, DOWN, 1 ; person - ; warp-to - warp_to 0, 4, ROUTE_18_GATE_1F_WIDTH - warp_to 0, 5, ROUTE_18_GATE_1F_WIDTH - warp_to 7, 4, ROUTE_18_GATE_1F_WIDTH - warp_to 7, 5, ROUTE_18_GATE_1F_WIDTH - warp_to 6, 8, ROUTE_18_GATE_1F_WIDTH ; ROUTE_18_GATE_2F + def_warps_to ROUTE_18_GATE_1F diff --git a/data/maps/objects/Route18Gate2F.asm b/data/maps/objects/Route18Gate2F.asm index e2c036ef..f78114b6 100755 --- a/data/maps/objects/Route18Gate2F.asm +++ b/data/maps/objects/Route18Gate2F.asm @@ -11,5 +11,4 @@ Route18Gate2F_Object: def_objects object SPRITE_YOUNGSTER, 4, 2, WALK, LEFT_RIGHT, 1 ; person - ; warp-to - warp_to 7, 7, ROUTE_18_GATE_2F_WIDTH ; ROUTE_18_GATE_1F + def_warps_to ROUTE_18_GATE_2F diff --git a/data/maps/objects/Route19.asm b/data/maps/objects/Route19.asm index 90dca302..8f445364 100755 --- a/data/maps/objects/Route19.asm +++ b/data/maps/objects/Route19.asm @@ -18,4 +18,4 @@ Route19_Object: object SPRITE_SWIMMER, 9, 42, STAY, UP, 9, OPP_SWIMMER, 8 object SPRITE_SWIMMER, 10, 44, STAY, DOWN, 10, OPP_BEAUTY, 14 - ; warp-to + def_warps_to ROUTE_19 diff --git a/data/maps/objects/Route2.asm b/data/maps/objects/Route2.asm index cbd8be8c..f9955c2a 100755 --- a/data/maps/objects/Route2.asm +++ b/data/maps/objects/Route2.asm @@ -17,13 +17,7 @@ Route2_Object: object SPRITE_POKE_BALL, 13, 54, STAY, NONE, 1, MOON_STONE object SPRITE_POKE_BALL, 13, 45, STAY, NONE, 2, HP_UP - ; warp-to - warp_to 12, 9, ROUTE_2_WIDTH ; DIGLETTS_CAVE_ROUTE_2 - warp_to 3, 11, ROUTE_2_WIDTH ; VIRIDIAN_FOREST_NORTH_GATE - warp_to 15, 19, ROUTE_2_WIDTH ; ROUTE_2_TRADE_HOUSE - warp_to 16, 35, ROUTE_2_WIDTH ; ROUTE_2_GATE - warp_to 15, 39, ROUTE_2_WIDTH ; ROUTE_2_GATE - warp_to 3, 43, ROUTE_2_WIDTH ; VIRIDIAN_FOREST_SOUTH_GATE + def_warps_to ROUTE_2 ; unused warp_to 2, 7, 4 diff --git a/data/maps/objects/Route20.asm b/data/maps/objects/Route20.asm index 25ec9218..2d9d20f7 100755 --- a/data/maps/objects/Route20.asm +++ b/data/maps/objects/Route20.asm @@ -21,6 +21,4 @@ Route20_Object: object SPRITE_SWIMMER, 24, 12, STAY, DOWN, 9, OPP_JR_TRAINER_F, 16 object SPRITE_SWIMMER, 15, 8, STAY, UP, 10, OPP_BEAUTY, 8 - ; warp-to - warp_to 48, 5, ROUTE_20_WIDTH ; SEAFOAM_ISLANDS_1F - warp_to 58, 9, ROUTE_20_WIDTH ; SEAFOAM_ISLANDS_1F + def_warps_to ROUTE_20 diff --git a/data/maps/objects/Route21.asm b/data/maps/objects/Route21.asm index 75d050a3..71817640 100755 --- a/data/maps/objects/Route21.asm +++ b/data/maps/objects/Route21.asm @@ -15,3 +15,5 @@ Route21_Object: object SPRITE_SWIMMER, 15, 71, STAY, LEFT, 7, OPP_SWIMMER, 15 object SPRITE_FISHER, 14, 56, STAY, LEFT, 8, OPP_FISHER, 8 object SPRITE_FISHER, 17, 57, STAY, RIGHT, 9, OPP_FISHER, 10 + + def_warps_to ROUTE_21 diff --git a/data/maps/objects/Route22.asm b/data/maps/objects/Route22.asm index 2d28496e..714f178f 100755 --- a/data/maps/objects/Route22.asm +++ b/data/maps/objects/Route22.asm @@ -11,5 +11,4 @@ Route22_Object: object SPRITE_BLUE, 25, 5, STAY, NONE, 1 ; person object SPRITE_BLUE, 25, 5, STAY, NONE, 2 ; person - ; warp-to - warp_to 8, 5, ROUTE_22_WIDTH ; ROUTE_22_GATE + def_warps_to ROUTE_22 diff --git a/data/maps/objects/Route22Gate.asm b/data/maps/objects/Route22Gate.asm index b66d9f71..11bb6407 100755 --- a/data/maps/objects/Route22Gate.asm +++ b/data/maps/objects/Route22Gate.asm @@ -12,8 +12,4 @@ Route22Gate_Object: def_objects object SPRITE_GUARD, 6, 2, STAY, LEFT, 1 ; person - ; warp-to - warp_to 4, 7, ROUTE_22_GATE_WIDTH - warp_to 5, 7, ROUTE_22_GATE_WIDTH - warp_to 4, 0, ROUTE_22_GATE_WIDTH - warp_to 5, 0, ROUTE_22_GATE_WIDTH + def_warps_to ROUTE_22_GATE diff --git a/data/maps/objects/Route23.asm b/data/maps/objects/Route23.asm index f80b6832..33c6611b 100755 --- a/data/maps/objects/Route23.asm +++ b/data/maps/objects/Route23.asm @@ -19,8 +19,4 @@ Route23_Object: object SPRITE_GUARD, 8, 119, STAY, DOWN, 6 ; person object SPRITE_GUARD, 8, 136, STAY, DOWN, 7 ; person - ; warp-to - warp_to 7, 139, ROUTE_23_WIDTH ; ROUTE_22_GATE - warp_to 8, 139, ROUTE_23_WIDTH ; ROUTE_22_GATE - warp_to 4, 31, ROUTE_23_WIDTH ; VICTORY_ROAD_1F - warp_to 14, 31, ROUTE_23_WIDTH ; VICTORY_ROAD_2F + def_warps_to ROUTE_23 diff --git a/data/maps/objects/Route24.asm b/data/maps/objects/Route24.asm index edb5730f..d621e2b3 100755 --- a/data/maps/objects/Route24.asm +++ b/data/maps/objects/Route24.asm @@ -14,3 +14,5 @@ Route24_Object: object SPRITE_COOLTRAINER_F, 10, 28, STAY, RIGHT, 6, OPP_LASS, 8 object SPRITE_YOUNGSTER, 11, 31, STAY, LEFT, 7, OPP_BUG_CATCHER, 9 object SPRITE_POKE_BALL, 10, 5, STAY, NONE, 8, TM_THUNDER_WAVE + + def_warps_to ROUTE_24 diff --git a/data/maps/objects/Route25.asm b/data/maps/objects/Route25.asm index ee5d5283..956743fe 100755 --- a/data/maps/objects/Route25.asm +++ b/data/maps/objects/Route25.asm @@ -19,5 +19,4 @@ Route25_Object: object SPRITE_HIKER, 13, 7, STAY, RIGHT, 9, OPP_HIKER, 4 object SPRITE_POKE_BALL, 22, 2, STAY, NONE, 10, TM_SEISMIC_TOSS - ; warp-to - warp_to 45, 3, ROUTE_25_WIDTH ; BILLS_HOUSE + def_warps_to ROUTE_25 diff --git a/data/maps/objects/Route2Gate.asm b/data/maps/objects/Route2Gate.asm index 4b096bd2..017b785a 100755 --- a/data/maps/objects/Route2Gate.asm +++ b/data/maps/objects/Route2Gate.asm @@ -13,8 +13,4 @@ Route2Gate_Object: object SPRITE_SCIENTIST, 1, 4, STAY, LEFT, 1 ; person object SPRITE_YOUNGSTER, 5, 4, WALK, LEFT_RIGHT, 2 ; person - ; warp-to - warp_to 4, 0, ROUTE_2_GATE_WIDTH - warp_to 5, 0, ROUTE_2_GATE_WIDTH - warp_to 4, 7, ROUTE_2_GATE_WIDTH - warp_to 5, 7, ROUTE_2_GATE_WIDTH + def_warps_to ROUTE_2_GATE diff --git a/data/maps/objects/Route2TradeHouse.asm b/data/maps/objects/Route2TradeHouse.asm index 11d4c0d7..c93b7c8a 100755 --- a/data/maps/objects/Route2TradeHouse.asm +++ b/data/maps/objects/Route2TradeHouse.asm @@ -11,6 +11,4 @@ Route2TradeHouse_Object: object SPRITE_SCIENTIST, 2, 4, STAY, RIGHT, 1 ; person object SPRITE_GAMEBOY_KID, 4, 1, STAY, DOWN, 2 ; person - ; warp-to - warp_to 2, 7, ROUTE_2_TRADE_HOUSE_WIDTH - warp_to 3, 7, ROUTE_2_TRADE_HOUSE_WIDTH + def_warps_to ROUTE_2_TRADE_HOUSE diff --git a/data/maps/objects/Route3.asm b/data/maps/objects/Route3.asm index cc1b21c7..6d4dd277 100755 --- a/data/maps/objects/Route3.asm +++ b/data/maps/objects/Route3.asm @@ -16,3 +16,5 @@ Route3_Object: object SPRITE_YOUNGSTER, 22, 9, STAY, LEFT, 7, OPP_YOUNGSTER, 2 object SPRITE_YOUNGSTER, 24, 6, STAY, RIGHT, 8, OPP_BUG_CATCHER, 6 object SPRITE_COOLTRAINER_F, 33, 10, STAY, UP, 9, OPP_LASS, 3 + + def_warps_to ROUTE_3 diff --git a/data/maps/objects/Route4.asm b/data/maps/objects/Route4.asm index d35ae1e1..fccbf542 100755 --- a/data/maps/objects/Route4.asm +++ b/data/maps/objects/Route4.asm @@ -16,7 +16,4 @@ Route4_Object: object SPRITE_COOLTRAINER_F, 63, 3, STAY, RIGHT, 2, OPP_LASS, 4 object SPRITE_POKE_BALL, 57, 3, STAY, NONE, 3, TM_WHIRLWIND - ; warp-to - warp_to 11, 5, ROUTE_4_WIDTH ; MT_MOON_POKECENTER - warp_to 18, 5, ROUTE_4_WIDTH ; MT_MOON_1F - warp_to 24, 5, ROUTE_4_WIDTH ; MT_MOON_B1F + def_warps_to ROUTE_4 diff --git a/data/maps/objects/Route5.asm b/data/maps/objects/Route5.asm index 34e4cd44..e7eadee8 100755 --- a/data/maps/objects/Route5.asm +++ b/data/maps/objects/Route5.asm @@ -13,9 +13,4 @@ Route5_Object: def_objects - ; warp-to - warp_to 10, 29, ROUTE_5_WIDTH ; ROUTE_5_GATE - warp_to 9, 29, ROUTE_5_WIDTH ; ROUTE_5_GATE - warp_to 10, 33, ROUTE_5_WIDTH ; ROUTE_5_GATE - warp_to 17, 27, ROUTE_5_WIDTH ; UNDERGROUND_PATH_ROUTE_5 - warp_to 10, 21, ROUTE_5_WIDTH ; DAYCARE + def_warps_to ROUTE_5 diff --git a/data/maps/objects/Route5Gate.asm b/data/maps/objects/Route5Gate.asm index 0b27bb81..b8843808 100755 --- a/data/maps/objects/Route5Gate.asm +++ b/data/maps/objects/Route5Gate.asm @@ -12,8 +12,4 @@ Route5Gate_Object: def_objects object SPRITE_GUARD, 1, 3, STAY, RIGHT, 1 ; person - ; warp-to - warp_to 3, 5, ROUTE_5_GATE_WIDTH - warp_to 4, 5, ROUTE_5_GATE_WIDTH - warp_to 3, 0, ROUTE_5_GATE_WIDTH - warp_to 4, 0, ROUTE_5_GATE_WIDTH + def_warps_to ROUTE_5_GATE diff --git a/data/maps/objects/Route6.asm b/data/maps/objects/Route6.asm index efba89d1..1141be4b 100755 --- a/data/maps/objects/Route6.asm +++ b/data/maps/objects/Route6.asm @@ -18,8 +18,4 @@ Route6_Object: object SPRITE_COOLTRAINER_F, 11, 30, STAY, LEFT, 5, OPP_JR_TRAINER_F, 3 object SPRITE_YOUNGSTER, 19, 26, STAY, LEFT, 6, OPP_BUG_CATCHER, 11 - ; warp-to - warp_to 9, 1, ROUTE_6_WIDTH ; ROUTE_6_GATE - warp_to 10, 1, ROUTE_6_WIDTH ; ROUTE_6_GATE - warp_to 10, 7, ROUTE_6_WIDTH ; ROUTE_6_GATE - warp_to 17, 13, ROUTE_6_WIDTH ; UNDERGROUND_PATH_ROUTE_6 + def_warps_to ROUTE_6 diff --git a/data/maps/objects/Route6Gate.asm b/data/maps/objects/Route6Gate.asm index 4fb88e74..fb6dbc14 100755 --- a/data/maps/objects/Route6Gate.asm +++ b/data/maps/objects/Route6Gate.asm @@ -12,8 +12,4 @@ Route6Gate_Object: def_objects object SPRITE_GUARD, 6, 2, STAY, LEFT, 1 ; person - ; warp-to - warp_to 3, 5, ROUTE_6_GATE_WIDTH - warp_to 4, 5, ROUTE_6_GATE_WIDTH - warp_to 3, 0, ROUTE_6_GATE_WIDTH - warp_to 4, 0, ROUTE_6_GATE_WIDTH + def_warps_to ROUTE_6_GATE diff --git a/data/maps/objects/Route7.asm b/data/maps/objects/Route7.asm index 5dc16acf..1ea17c6b 100755 --- a/data/maps/objects/Route7.asm +++ b/data/maps/objects/Route7.asm @@ -13,9 +13,4 @@ Route7_Object: def_objects - ; warp-to - warp_to 18, 9, ROUTE_7_WIDTH ; ROUTE_7_GATE - warp_to 18, 10, ROUTE_7_WIDTH ; ROUTE_7_GATE - warp_to 11, 9, ROUTE_7_WIDTH ; ROUTE_7_GATE - warp_to 11, 10, ROUTE_7_WIDTH ; ROUTE_7_GATE - warp_to 5, 13, ROUTE_7_WIDTH ; UNDERGROUND_PATH_ROUTE_7 + def_warps_to ROUTE_7 diff --git a/data/maps/objects/Route7Gate.asm b/data/maps/objects/Route7Gate.asm index dc050767..70628740 100755 --- a/data/maps/objects/Route7Gate.asm +++ b/data/maps/objects/Route7Gate.asm @@ -12,8 +12,4 @@ Route7Gate_Object: def_objects object SPRITE_GUARD, 3, 1, STAY, DOWN, 1 ; person - ; warp-to - warp_to 0, 3, ROUTE_7_GATE_WIDTH - warp_to 0, 4, ROUTE_7_GATE_WIDTH - warp_to 5, 3, ROUTE_7_GATE_WIDTH - warp_to 5, 4, ROUTE_7_GATE_WIDTH + def_warps_to ROUTE_7_GATE diff --git a/data/maps/objects/Route8.asm b/data/maps/objects/Route8.asm index 85bf9d87..6d2c4859 100755 --- a/data/maps/objects/Route8.asm +++ b/data/maps/objects/Route8.asm @@ -22,9 +22,4 @@ Route8_Object: object SPRITE_GAMBLER, 46, 13, STAY, DOWN, 8, OPP_GAMBLER, 7 object SPRITE_COOLTRAINER_F, 51, 12, STAY, LEFT, 9, OPP_LASS, 16 - ; warp-to - warp_to 1, 9, ROUTE_8_WIDTH ; ROUTE_8_GATE - warp_to 1, 10, ROUTE_8_WIDTH ; ROUTE_8_GATE - warp_to 8, 9, ROUTE_8_WIDTH ; ROUTE_8_GATE - warp_to 8, 10, ROUTE_8_WIDTH ; ROUTE_8_GATE - warp_to 13, 3, ROUTE_8_WIDTH ; UNDERGROUND_PATH_ROUTE_8 + def_warps_to ROUTE_8 diff --git a/data/maps/objects/Route8Gate.asm b/data/maps/objects/Route8Gate.asm index ae68bce0..6e406a3c 100755 --- a/data/maps/objects/Route8Gate.asm +++ b/data/maps/objects/Route8Gate.asm @@ -12,8 +12,4 @@ Route8Gate_Object: def_objects object SPRITE_GUARD, 2, 1, STAY, DOWN, 1 ; person - ; warp-to - warp_to 0, 3, ROUTE_8_GATE_WIDTH - warp_to 0, 4, ROUTE_8_GATE_WIDTH - warp_to 5, 3, ROUTE_8_GATE_WIDTH - warp_to 5, 4, ROUTE_8_GATE_WIDTH + def_warps_to ROUTE_8_GATE diff --git a/data/maps/objects/Route9.asm b/data/maps/objects/Route9.asm index 80c4626a..07724323 100755 --- a/data/maps/objects/Route9.asm +++ b/data/maps/objects/Route9.asm @@ -17,3 +17,5 @@ Route9_Object: object SPRITE_HIKER, 45, 15, STAY, RIGHT, 8, OPP_HIKER, 5 object SPRITE_YOUNGSTER, 40, 8, STAY, RIGHT, 9, OPP_BUG_CATCHER, 14 object SPRITE_POKE_BALL, 10, 15, STAY, NONE, 10, TM_TELEPORT + + def_warps_to ROUTE_9 diff --git a/data/maps/objects/SSAnne1F.asm b/data/maps/objects/SSAnne1F.asm index 511ec20b..56c95a68 100755 --- a/data/maps/objects/SSAnne1F.asm +++ b/data/maps/objects/SSAnne1F.asm @@ -20,15 +20,4 @@ SSAnne1F_Object: object SPRITE_WAITER, 12, 6, WALK, LEFT_RIGHT, 1 ; person object SPRITE_SAILOR, 27, 5, STAY, NONE, 2 ; person - ; warp-to - warp_to 26, 0, SS_ANNE_1F_WIDTH ; VERMILION_DOCK - warp_to 27, 0, SS_ANNE_1F_WIDTH ; VERMILION_DOCK - warp_to 31, 8, SS_ANNE_1F_WIDTH ; SS_ANNE_1F_ROOMS - warp_to 23, 8, SS_ANNE_1F_WIDTH ; SS_ANNE_1F_ROOMS - warp_to 19, 8, SS_ANNE_1F_WIDTH ; SS_ANNE_1F_ROOMS - warp_to 15, 8, SS_ANNE_1F_WIDTH ; SS_ANNE_1F_ROOMS - warp_to 11, 8, SS_ANNE_1F_WIDTH ; SS_ANNE_1F_ROOMS - warp_to 7, 8, SS_ANNE_1F_WIDTH ; SS_ANNE_1F_ROOMS - warp_to 2, 6, SS_ANNE_1F_WIDTH ; SS_ANNE_2F - warp_to 37, 15, SS_ANNE_1F_WIDTH ; SS_ANNE_B1F - warp_to 3, 16, SS_ANNE_1F_WIDTH ; SS_ANNE_KITCHEN + def_warps_to SS_ANNE_1F diff --git a/data/maps/objects/SSAnne1FRooms.asm b/data/maps/objects/SSAnne1FRooms.asm index 4726dcfd..f72c7fcf 100755 --- a/data/maps/objects/SSAnne1FRooms.asm +++ b/data/maps/objects/SSAnne1FRooms.asm @@ -24,10 +24,4 @@ SSAnne1FRooms_Object: object SPRITE_POKE_BALL, 12, 15, STAY, NONE, 10, TM_BODY_SLAM object SPRITE_GENTLEMAN, 21, 13, WALK, LEFT_RIGHT, 11 ; person - ; warp-to - warp_to 0, 0, SS_ANNE_1F_ROOMS_WIDTH ; SS_ANNE_1F - warp_to 10, 0, SS_ANNE_1F_ROOMS_WIDTH ; SS_ANNE_1F - warp_to 20, 0, SS_ANNE_1F_ROOMS_WIDTH ; SS_ANNE_1F - warp_to 0, 10, SS_ANNE_1F_ROOMS_WIDTH ; SS_ANNE_1F - warp_to 10, 10, SS_ANNE_1F_ROOMS_WIDTH ; SS_ANNE_1F - warp_to 20, 10, SS_ANNE_1F_ROOMS_WIDTH ; SS_ANNE_1F + def_warps_to SS_ANNE_1F_ROOMS diff --git a/data/maps/objects/SSAnne2F.asm b/data/maps/objects/SSAnne2F.asm index d18935c6..a506570a 100755 --- a/data/maps/objects/SSAnne2F.asm +++ b/data/maps/objects/SSAnne2F.asm @@ -18,13 +18,4 @@ SSAnne2F_Object: object SPRITE_WAITER, 3, 7, WALK, UP_DOWN, 1 ; person object SPRITE_BLUE, 36, 4, STAY, DOWN, 2, OPP_RIVAL1, 1 - ; warp-to - warp_to 9, 11, SS_ANNE_2F_WIDTH ; SS_ANNE_2F_ROOMS - warp_to 13, 11, SS_ANNE_2F_WIDTH ; SS_ANNE_2F_ROOMS - warp_to 17, 11, SS_ANNE_2F_WIDTH ; SS_ANNE_2F_ROOMS - warp_to 21, 11, SS_ANNE_2F_WIDTH ; SS_ANNE_2F_ROOMS - warp_to 25, 11, SS_ANNE_2F_WIDTH ; SS_ANNE_2F_ROOMS - warp_to 29, 11, SS_ANNE_2F_WIDTH ; SS_ANNE_2F_ROOMS - warp_to 2, 4, SS_ANNE_2F_WIDTH ; SS_ANNE_1F - warp_to 2, 12, SS_ANNE_2F_WIDTH ; SS_ANNE_3F - warp_to 36, 4, SS_ANNE_2F_WIDTH ; SS_ANNE_CAPTAINS_ROOM + def_warps_to SS_ANNE_2F diff --git a/data/maps/objects/SSAnne2FRooms.asm b/data/maps/objects/SSAnne2FRooms.asm index f99ac966..b63d10e6 100755 --- a/data/maps/objects/SSAnne2FRooms.asm +++ b/data/maps/objects/SSAnne2FRooms.asm @@ -32,16 +32,4 @@ SSAnne2FRooms_Object: object SPRITE_BRUNETTE_GIRL, 22, 12, STAY, LEFT, 12 ; person object SPRITE_BEAUTY, 20, 12, STAY, RIGHT, 13 ; person - ; warp-to - warp_to 2, 5, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F - warp_to 3, 5, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F - warp_to 12, 5, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F - warp_to 13, 5, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F - warp_to 22, 5, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F - warp_to 23, 5, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F - warp_to 2, 15, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F - warp_to 3, 15, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F - warp_to 12, 15, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F - warp_to 13, 15, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F - warp_to 22, 15, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F - warp_to 23, 15, SS_ANNE_2F_ROOMS_WIDTH ; SS_ANNE_2F + def_warps_to SS_ANNE_2F_ROOMS diff --git a/data/maps/objects/SSAnne3F.asm b/data/maps/objects/SSAnne3F.asm index a969e9ea..af2760ad 100755 --- a/data/maps/objects/SSAnne3F.asm +++ b/data/maps/objects/SSAnne3F.asm @@ -10,6 +10,4 @@ SSAnne3F_Object: def_objects object SPRITE_SAILOR, 9, 3, WALK, LEFT_RIGHT, 1 ; person - ; warp-to - warp_to 0, 3, SS_ANNE_3F_WIDTH ; SS_ANNE_BOW - warp_to 19, 3, SS_ANNE_3F_WIDTH ; SS_ANNE_2F + def_warps_to SS_ANNE_3F diff --git a/data/maps/objects/SSAnneB1F.asm b/data/maps/objects/SSAnneB1F.asm index 667dc4dd..f3c6e0b9 100755 --- a/data/maps/objects/SSAnneB1F.asm +++ b/data/maps/objects/SSAnneB1F.asm @@ -13,10 +13,4 @@ SSAnneB1F_Object: def_objects - ; warp-to - warp_to 23, 3, SS_ANNE_B1F_WIDTH ; SS_ANNE_B1F_ROOMS - warp_to 19, 3, SS_ANNE_B1F_WIDTH ; SS_ANNE_B1F_ROOMS - warp_to 15, 3, SS_ANNE_B1F_WIDTH ; SS_ANNE_B1F_ROOMS - warp_to 11, 3, SS_ANNE_B1F_WIDTH ; SS_ANNE_B1F_ROOMS - warp_to 7, 3, SS_ANNE_B1F_WIDTH ; SS_ANNE_B1F_ROOMS - warp_to 27, 5, SS_ANNE_B1F_WIDTH ; SS_ANNE_1F + def_warps_to SS_ANNE_B1F diff --git a/data/maps/objects/SSAnneB1FRooms.asm b/data/maps/objects/SSAnneB1FRooms.asm index ffd15990..20b3ef0a 100755 --- a/data/maps/objects/SSAnneB1FRooms.asm +++ b/data/maps/objects/SSAnneB1FRooms.asm @@ -28,14 +28,4 @@ SSAnneB1FRooms_Object: object SPRITE_POKE_BALL, 10, 2, STAY, NONE, 10, TM_REST object SPRITE_POKE_BALL, 12, 11, STAY, NONE, 11, MAX_POTION - ; warp-to - warp_to 2, 5, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F - warp_to 3, 5, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F - warp_to 12, 5, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F - warp_to 13, 5, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F - warp_to 22, 5, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F - warp_to 23, 5, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F - warp_to 2, 15, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F - warp_to 3, 15, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F - warp_to 12, 15, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F - warp_to 13, 15, SS_ANNE_B1F_ROOMS_WIDTH ; SS_ANNE_B1F + def_warps_to SS_ANNE_B1F_ROOMS diff --git a/data/maps/objects/SSAnneBow.asm b/data/maps/objects/SSAnneBow.asm index fdea3614..b9f9eb3a 100755 --- a/data/maps/objects/SSAnneBow.asm +++ b/data/maps/objects/SSAnneBow.asm @@ -14,6 +14,4 @@ SSAnneBow_Object: object SPRITE_SAILOR, 4, 4, STAY, DOWN, 4, OPP_SAILOR, 1 object SPRITE_SAILOR, 10, 8, STAY, UP, 5, OPP_SAILOR, 2 - ; warp-to - warp_to 13, 6, SS_ANNE_BOW_WIDTH ; SS_ANNE_3F - warp_to 13, 7, SS_ANNE_BOW_WIDTH ; SS_ANNE_3F + def_warps_to SS_ANNE_BOW diff --git a/data/maps/objects/SSAnneCaptainsRoom.asm b/data/maps/objects/SSAnneCaptainsRoom.asm index 49042dc1..9057db78 100755 --- a/data/maps/objects/SSAnneCaptainsRoom.asm +++ b/data/maps/objects/SSAnneCaptainsRoom.asm @@ -11,5 +11,4 @@ SSAnneCaptainsRoom_Object: def_objects object SPRITE_CAPTAIN, 4, 2, STAY, UP, 1 ; person - ; warp-to - warp_to 0, 7, SS_ANNE_CAPTAINS_ROOM_WIDTH ; SS_ANNE_2F + def_warps_to SS_ANNE_CAPTAINS_ROOM diff --git a/data/maps/objects/SSAnneKitchen.asm b/data/maps/objects/SSAnneKitchen.asm index e2559536..0bc9adfb 100755 --- a/data/maps/objects/SSAnneKitchen.asm +++ b/data/maps/objects/SSAnneKitchen.asm @@ -15,5 +15,4 @@ SSAnneKitchen_Object: object SPRITE_COOK, 13, 10, STAY, NONE, 6 ; person object SPRITE_COOK, 11, 13, STAY, UP, 7 ; person - ; warp-to - warp_to 6, 0, SS_ANNE_KITCHEN_WIDTH ; SS_ANNE_1F + def_warps_to SS_ANNE_KITCHEN diff --git a/data/maps/objects/SafariZoneCenter.asm b/data/maps/objects/SafariZoneCenter.asm index 8f54a40c..ff908da3 100755 --- a/data/maps/objects/SafariZoneCenter.asm +++ b/data/maps/objects/SafariZoneCenter.asm @@ -19,13 +19,4 @@ SafariZoneCenter_Object: def_objects object SPRITE_POKE_BALL, 14, 10, STAY, NONE, 1, NUGGET - ; warp-to - warp_to 14, 25, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_GATE - warp_to 15, 25, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_GATE - warp_to 0, 10, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_WEST - warp_to 0, 11, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_WEST - warp_to 14, 0, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_NORTH - warp_to 15, 0, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_NORTH - warp_to 29, 10, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_EAST - warp_to 29, 11, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_EAST - warp_to 17, 19, SAFARI_ZONE_CENTER_WIDTH ; SAFARI_ZONE_CENTER_REST_HOUSE + def_warps_to SAFARI_ZONE_CENTER diff --git a/data/maps/objects/SafariZoneCenterRestHouse.asm b/data/maps/objects/SafariZoneCenterRestHouse.asm index 18aa52dd..87e5bedb 100755 --- a/data/maps/objects/SafariZoneCenterRestHouse.asm +++ b/data/maps/objects/SafariZoneCenterRestHouse.asm @@ -11,6 +11,4 @@ SafariZoneCenterRestHouse_Object: object SPRITE_GIRL, 3, 2, STAY, DOWN, 1 ; person object SPRITE_SCIENTIST, 1, 4, WALK, UP_DOWN, 2 ; person - ; warp-to - warp_to 2, 7, SAFARI_ZONE_CENTER_REST_HOUSE_WIDTH ; SAFARI_ZONE_CENTER - warp_to 3, 7, SAFARI_ZONE_CENTER_REST_HOUSE_WIDTH ; SAFARI_ZONE_CENTER + def_warps_to SAFARI_ZONE_CENTER_REST_HOUSE diff --git a/data/maps/objects/SafariZoneEast.asm b/data/maps/objects/SafariZoneEast.asm index b169b288..dafb26db 100755 --- a/data/maps/objects/SafariZoneEast.asm +++ b/data/maps/objects/SafariZoneEast.asm @@ -19,9 +19,4 @@ SafariZoneEast_Object: object SPRITE_POKE_BALL, 20, 13, STAY, NONE, 3, CARBOS object SPRITE_POKE_BALL, 15, 12, STAY, NONE, 4, TM_EGG_BOMB - ; warp-to - warp_to 0, 4, SAFARI_ZONE_EAST_WIDTH ; SAFARI_ZONE_NORTH - warp_to 0, 5, SAFARI_ZONE_EAST_WIDTH ; SAFARI_ZONE_NORTH - warp_to 0, 22, SAFARI_ZONE_EAST_WIDTH ; SAFARI_ZONE_CENTER - warp_to 0, 23, SAFARI_ZONE_EAST_WIDTH ; SAFARI_ZONE_CENTER - warp_to 25, 9, SAFARI_ZONE_EAST_WIDTH ; SAFARI_ZONE_EAST_REST_HOUSE + def_warps_to SAFARI_ZONE_EAST diff --git a/data/maps/objects/SafariZoneEastRestHouse.asm b/data/maps/objects/SafariZoneEastRestHouse.asm index 877747fc..beab3428 100755 --- a/data/maps/objects/SafariZoneEastRestHouse.asm +++ b/data/maps/objects/SafariZoneEastRestHouse.asm @@ -12,6 +12,4 @@ SafariZoneEastRestHouse_Object: object SPRITE_ROCKER, 4, 2, STAY, NONE, 2 ; person object SPRITE_SILPH_WORKER, 5, 2, STAY, NONE, 3 ; person - ; warp-to - warp_to 2, 7, SAFARI_ZONE_EAST_REST_HOUSE_WIDTH ; SAFARI_ZONE_EAST - warp_to 3, 7, SAFARI_ZONE_EAST_REST_HOUSE_WIDTH ; SAFARI_ZONE_EAST + def_warps_to SAFARI_ZONE_EAST_REST_HOUSE diff --git a/data/maps/objects/SafariZoneGate.asm b/data/maps/objects/SafariZoneGate.asm index 52924c55..9e74f62b 100755 --- a/data/maps/objects/SafariZoneGate.asm +++ b/data/maps/objects/SafariZoneGate.asm @@ -13,8 +13,4 @@ SafariZoneGate_Object: object SPRITE_SAFARI_ZONE_WORKER, 6, 2, STAY, LEFT, 1 ; person object SPRITE_SAFARI_ZONE_WORKER, 1, 4, STAY, RIGHT, 2 ; person - ; warp-to - warp_to 3, 5, SAFARI_ZONE_GATE_WIDTH - warp_to 4, 5, SAFARI_ZONE_GATE_WIDTH - warp_to 3, 0, SAFARI_ZONE_GATE_WIDTH ; SAFARI_ZONE_CENTER - warp_to 4, 0, SAFARI_ZONE_GATE_WIDTH ; SAFARI_ZONE_CENTER + def_warps_to SAFARI_ZONE_GATE diff --git a/data/maps/objects/SafariZoneNorth.asm b/data/maps/objects/SafariZoneNorth.asm index edf391b0..df5ee294 100755 --- a/data/maps/objects/SafariZoneNorth.asm +++ b/data/maps/objects/SafariZoneNorth.asm @@ -23,13 +23,4 @@ SafariZoneNorth_Object: object SPRITE_POKE_BALL, 25, 1, STAY, NONE, 1, PROTEIN object SPRITE_POKE_BALL, 19, 7, STAY, NONE, 2, TM_SKULL_BASH - ; warp-to - warp_to 2, 35, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_WEST - warp_to 3, 35, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_WEST - warp_to 8, 35, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_WEST - warp_to 9, 35, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_WEST - warp_to 20, 35, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_CENTER - warp_to 21, 35, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_CENTER - warp_to 39, 30, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_EAST - warp_to 39, 31, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_EAST - warp_to 35, 3, SAFARI_ZONE_NORTH_WIDTH ; SAFARI_ZONE_NORTH_REST_HOUSE + def_warps_to SAFARI_ZONE_NORTH diff --git a/data/maps/objects/SafariZoneNorthRestHouse.asm b/data/maps/objects/SafariZoneNorthRestHouse.asm index 0e81ded9..91c4b2b4 100755 --- a/data/maps/objects/SafariZoneNorthRestHouse.asm +++ b/data/maps/objects/SafariZoneNorthRestHouse.asm @@ -12,6 +12,4 @@ SafariZoneNorthRestHouse_Object: object SPRITE_SAFARI_ZONE_WORKER, 3, 4, STAY, NONE, 2 ; person object SPRITE_GENTLEMAN, 1, 5, WALK, UP_DOWN, 3 ; person - ; warp-to - warp_to 2, 7, SAFARI_ZONE_NORTH_REST_HOUSE_WIDTH ; SAFARI_ZONE_NORTH - warp_to 3, 7, SAFARI_ZONE_NORTH_REST_HOUSE_WIDTH ; SAFARI_ZONE_NORTH + def_warps_to SAFARI_ZONE_NORTH_REST_HOUSE diff --git a/data/maps/objects/SafariZoneSecretHouse.asm b/data/maps/objects/SafariZoneSecretHouse.asm index 1c26f7bc..b95fc26d 100755 --- a/data/maps/objects/SafariZoneSecretHouse.asm +++ b/data/maps/objects/SafariZoneSecretHouse.asm @@ -10,6 +10,4 @@ SafariZoneSecretHouse_Object: def_objects object SPRITE_FISHING_GURU, 3, 3, STAY, DOWN, 1 ; person - ; warp-to - warp_to 2, 7, SAFARI_ZONE_SECRET_HOUSE_WIDTH ; SAFARI_ZONE_WEST - warp_to 3, 7, SAFARI_ZONE_SECRET_HOUSE_WIDTH ; SAFARI_ZONE_WEST + def_warps_to SAFARI_ZONE_SECRET_HOUSE diff --git a/data/maps/objects/SafariZoneWest.asm b/data/maps/objects/SafariZoneWest.asm index 8f337221..5e170cbc 100755 --- a/data/maps/objects/SafariZoneWest.asm +++ b/data/maps/objects/SafariZoneWest.asm @@ -23,12 +23,4 @@ SafariZoneWest_Object: object SPRITE_POKE_BALL, 18, 18, STAY, NONE, 3, MAX_REVIVE object SPRITE_POKE_BALL, 19, 7, STAY, NONE, 4, GOLD_TEETH - ; warp-to - warp_to 20, 0, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_NORTH - warp_to 21, 0, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_NORTH - warp_to 26, 0, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_NORTH - warp_to 27, 0, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_NORTH - warp_to 29, 22, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_CENTER - warp_to 29, 23, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_CENTER - warp_to 3, 3, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_SECRET_HOUSE - warp_to 11, 11, SAFARI_ZONE_WEST_WIDTH ; SAFARI_ZONE_WEST_REST_HOUSE + def_warps_to SAFARI_ZONE_WEST diff --git a/data/maps/objects/SafariZoneWestRestHouse.asm b/data/maps/objects/SafariZoneWestRestHouse.asm index 4507f9da..f3c4635b 100755 --- a/data/maps/objects/SafariZoneWestRestHouse.asm +++ b/data/maps/objects/SafariZoneWestRestHouse.asm @@ -12,6 +12,4 @@ SafariZoneWestRestHouse_Object: object SPRITE_COOLTRAINER_M, 0, 2, STAY, RIGHT, 2 ; person object SPRITE_ERIKA, 6, 2, STAY, DOWN, 3 ; person - ; warp-to - warp_to 2, 7, SAFARI_ZONE_WEST_REST_HOUSE_WIDTH ; SAFARI_ZONE_WEST - warp_to 3, 7, SAFARI_ZONE_WEST_REST_HOUSE_WIDTH ; SAFARI_ZONE_WEST + def_warps_to SAFARI_ZONE_WEST_REST_HOUSE diff --git a/data/maps/objects/SaffronCity.asm b/data/maps/objects/SaffronCity.asm index 48329891..04e75c31 100755 --- a/data/maps/objects/SaffronCity.asm +++ b/data/maps/objects/SaffronCity.asm @@ -40,12 +40,4 @@ SaffronCity_Object: object SPRITE_ROCKET, 18, 22, STAY, DOWN, 14 ; person object SPRITE_ROCKET, 19, 22, STAY, DOWN, 15 ; person - ; warp-to - warp_to 7, 5, SAFFRON_CITY_WIDTH ; COPYCATS_HOUSE_1F - warp_to 26, 3, SAFFRON_CITY_WIDTH ; FIGHTING_DOJO - warp_to 34, 3, SAFFRON_CITY_WIDTH ; SAFFRON_GYM - warp_to 13, 11, SAFFRON_CITY_WIDTH ; SAFFRON_PIDGEY_HOUSE - warp_to 25, 11, SAFFRON_CITY_WIDTH ; SAFFRON_MART - warp_to 18, 21, SAFFRON_CITY_WIDTH ; SILPH_CO_1F - warp_to 9, 29, SAFFRON_CITY_WIDTH ; SAFFRON_POKECENTER - warp_to 29, 29, SAFFRON_CITY_WIDTH ; MR_PSYCHICS_HOUSE + def_warps_to SAFFRON_CITY diff --git a/data/maps/objects/SaffronGym.asm b/data/maps/objects/SaffronGym.asm index 39ac124a..86b0fbee 100755 --- a/data/maps/objects/SaffronGym.asm +++ b/data/maps/objects/SaffronGym.asm @@ -48,36 +48,4 @@ SaffronGym_Object: object SPRITE_YOUNGSTER, 3, 1, STAY, DOWN, 8, OPP_PSYCHIC_TR, 4 object SPRITE_GYM_GUIDE, 10, 15, STAY, DOWN, 9 ; person - ; warp-to - warp_to 8, 17, SAFFRON_GYM_WIDTH - warp_to 9, 17, SAFFRON_GYM_WIDTH - warp_to 1, 3, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 5, 3, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 1, 5, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 5, 5, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 1, 9, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 5, 9, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 1, 11, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 5, 11, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 1, 15, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 5, 15, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 1, 17, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 5, 17, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 9, 3, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 11, 3, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 9, 5, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 11, 5, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 11, 11, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 11, 15, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 15, 3, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 19, 3, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 15, 5, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 19, 5, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 15, 9, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 19, 9, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 15, 11, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 19, 11, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 15, 15, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 19, 15, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 15, 17, SAFFRON_GYM_WIDTH ; SAFFRON_GYM - warp_to 19, 17, SAFFRON_GYM_WIDTH ; SAFFRON_GYM + def_warps_to SAFFRON_GYM diff --git a/data/maps/objects/SaffronMart.asm b/data/maps/objects/SaffronMart.asm index 923781e7..5d172ea7 100755 --- a/data/maps/objects/SaffronMart.asm +++ b/data/maps/objects/SaffronMart.asm @@ -12,6 +12,4 @@ SaffronMart_Object: object SPRITE_SUPER_NERD, 4, 2, STAY, NONE, 2 ; person object SPRITE_COOLTRAINER_F, 6, 5, WALK, ANY_DIR, 3 ; person - ; warp-to - warp_to 3, 7, SAFFRON_MART_WIDTH - warp_to 4, 7, SAFFRON_MART_WIDTH + def_warps_to SAFFRON_MART diff --git a/data/maps/objects/SaffronPidgeyHouse.asm b/data/maps/objects/SaffronPidgeyHouse.asm index 173cada8..0357ddfe 100755 --- a/data/maps/objects/SaffronPidgeyHouse.asm +++ b/data/maps/objects/SaffronPidgeyHouse.asm @@ -13,6 +13,4 @@ SaffronPidgeyHouse_Object: object SPRITE_YOUNGSTER, 4, 1, STAY, DOWN, 3 ; person object SPRITE_PAPER, 3, 3, STAY, NONE, 4 ; person - ; warp-to - warp_to 2, 7, SAFFRON_PIDGEY_HOUSE_WIDTH - warp_to 3, 7, SAFFRON_PIDGEY_HOUSE_WIDTH + def_warps_to SAFFRON_PIDGEY_HOUSE diff --git a/data/maps/objects/SaffronPokecenter.asm b/data/maps/objects/SaffronPokecenter.asm index 36249eae..2aa90f3d 100755 --- a/data/maps/objects/SaffronPokecenter.asm +++ b/data/maps/objects/SaffronPokecenter.asm @@ -13,6 +13,4 @@ SaffronPokecenter_Object: object SPRITE_GENTLEMAN, 8, 3, STAY, DOWN, 3 ; person object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person - ; warp-to - warp_to 3, 7, SAFFRON_POKECENTER_WIDTH - warp_to 4, 7, SAFFRON_POKECENTER_WIDTH + def_warps_to SAFFRON_POKECENTER diff --git a/data/maps/objects/SeafoamIslands1F.asm b/data/maps/objects/SeafoamIslands1F.asm index ca89359b..9d098cba 100755 --- a/data/maps/objects/SeafoamIslands1F.asm +++ b/data/maps/objects/SeafoamIslands1F.asm @@ -16,14 +16,7 @@ SeafoamIslands1F_Object: object SPRITE_BOULDER, 18, 10, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person object SPRITE_BOULDER, 26, 7, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person - ; warp-to - warp_to 4, 17, SEAFOAM_ISLANDS_1F_WIDTH - warp_to 5, 17, SEAFOAM_ISLANDS_1F_WIDTH - warp_to 26, 17, SEAFOAM_ISLANDS_1F_WIDTH - warp_to 27, 17, SEAFOAM_ISLANDS_1F_WIDTH - warp_to 7, 5, SEAFOAM_ISLANDS_1F_WIDTH ; SEAFOAM_ISLANDS_B1F - warp_to 25, 3, SEAFOAM_ISLANDS_1F_WIDTH ; SEAFOAM_ISLANDS_B1F - warp_to 23, 15, SEAFOAM_ISLANDS_1F_WIDTH ; SEAFOAM_ISLANDS_B1F + def_warps_to SEAFOAM_ISLANDS_1F ; holes warp_to 17, 6, SEAFOAM_ISLANDS_1F_WIDTH diff --git a/data/maps/objects/SeafoamIslandsB1F.asm b/data/maps/objects/SeafoamIslandsB1F.asm index 903bc58f..b0a9525b 100755 --- a/data/maps/objects/SeafoamIslandsB1F.asm +++ b/data/maps/objects/SeafoamIslandsB1F.asm @@ -16,11 +16,4 @@ SeafoamIslandsB1F_Object: object SPRITE_BOULDER, 17, 6, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person object SPRITE_BOULDER, 22, 6, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person - ; warp-to - warp_to 4, 2, SEAFOAM_ISLANDS_B1F_WIDTH ; SEAFOAM_ISLANDS_B2F - warp_to 7, 5, SEAFOAM_ISLANDS_B1F_WIDTH ; SEAFOAM_ISLANDS_1F - warp_to 13, 7, SEAFOAM_ISLANDS_B1F_WIDTH ; SEAFOAM_ISLANDS_B2F - warp_to 19, 15, SEAFOAM_ISLANDS_B1F_WIDTH ; SEAFOAM_ISLANDS_B2F - warp_to 23, 15, SEAFOAM_ISLANDS_B1F_WIDTH ; SEAFOAM_ISLANDS_1F - warp_to 25, 11, SEAFOAM_ISLANDS_B1F_WIDTH ; SEAFOAM_ISLANDS_B2F - warp_to 25, 3, SEAFOAM_ISLANDS_B1F_WIDTH ; SEAFOAM_ISLANDS_1F + def_warps_to SEAFOAM_ISLANDS_B1F diff --git a/data/maps/objects/SeafoamIslandsB2F.asm b/data/maps/objects/SeafoamIslandsB2F.asm index d473712b..ddebf41c 100755 --- a/data/maps/objects/SeafoamIslandsB2F.asm +++ b/data/maps/objects/SeafoamIslandsB2F.asm @@ -16,11 +16,4 @@ SeafoamIslandsB2F_Object: object SPRITE_BOULDER, 18, 6, STAY, BOULDER_MOVEMENT_BYTE_2, 1 ; person object SPRITE_BOULDER, 23, 6, STAY, BOULDER_MOVEMENT_BYTE_2, 2 ; person - ; warp-to - warp_to 5, 3, SEAFOAM_ISLANDS_B2F_WIDTH ; SEAFOAM_ISLANDS_B1F - warp_to 5, 13, SEAFOAM_ISLANDS_B2F_WIDTH ; SEAFOAM_ISLANDS_B3F - warp_to 13, 7, SEAFOAM_ISLANDS_B2F_WIDTH ; SEAFOAM_ISLANDS_B1F - warp_to 19, 15, SEAFOAM_ISLANDS_B2F_WIDTH ; SEAFOAM_ISLANDS_B1F - warp_to 25, 3, SEAFOAM_ISLANDS_B2F_WIDTH ; SEAFOAM_ISLANDS_B3F - warp_to 25, 11, SEAFOAM_ISLANDS_B2F_WIDTH ; SEAFOAM_ISLANDS_B1F - warp_to 25, 14, SEAFOAM_ISLANDS_B2F_WIDTH ; SEAFOAM_ISLANDS_B3F + def_warps_to SEAFOAM_ISLANDS_B2F diff --git a/data/maps/objects/SeafoamIslandsB3F.asm b/data/maps/objects/SeafoamIslandsB3F.asm index e7cfcd89..ee745aa0 100755 --- a/data/maps/objects/SeafoamIslandsB3F.asm +++ b/data/maps/objects/SeafoamIslandsB3F.asm @@ -20,11 +20,4 @@ SeafoamIslandsB3F_Object: object SPRITE_BOULDER, 18, 6, STAY, NONE, 5 ; person object SPRITE_BOULDER, 19, 6, STAY, NONE, 6 ; person - ; warp-to - warp_to 5, 12, SEAFOAM_ISLANDS_B3F_WIDTH ; SEAFOAM_ISLANDS_B2F - warp_to 8, 6, SEAFOAM_ISLANDS_B3F_WIDTH ; SEAFOAM_ISLANDS_B4F - warp_to 25, 4, SEAFOAM_ISLANDS_B3F_WIDTH ; SEAFOAM_ISLANDS_B4F - warp_to 25, 3, SEAFOAM_ISLANDS_B3F_WIDTH ; SEAFOAM_ISLANDS_B2F - warp_to 25, 14, SEAFOAM_ISLANDS_B3F_WIDTH ; SEAFOAM_ISLANDS_B2F - warp_to 20, 17, SEAFOAM_ISLANDS_B3F_WIDTH ; SEAFOAM_ISLANDS_B4F - warp_to 21, 17, SEAFOAM_ISLANDS_B3F_WIDTH ; SEAFOAM_ISLANDS_B4F + def_warps_to SEAFOAM_ISLANDS_B3F diff --git a/data/maps/objects/SeafoamIslandsB4F.asm b/data/maps/objects/SeafoamIslandsB4F.asm index 79df2a09..07490cd7 100755 --- a/data/maps/objects/SeafoamIslandsB4F.asm +++ b/data/maps/objects/SeafoamIslandsB4F.asm @@ -16,8 +16,4 @@ SeafoamIslandsB4F_Object: object SPRITE_BOULDER, 5, 15, STAY, NONE, 2 ; person object SPRITE_BIRD, 6, 1, STAY, DOWN, 3, ARTICUNO, 50 - ; warp-to - warp_to 20, 17, SEAFOAM_ISLANDS_B4F_WIDTH ; SEAFOAM_ISLANDS_B3F - warp_to 21, 17, SEAFOAM_ISLANDS_B4F_WIDTH ; SEAFOAM_ISLANDS_B3F - warp_to 11, 7, SEAFOAM_ISLANDS_B4F_WIDTH ; SEAFOAM_ISLANDS_B3F - warp_to 25, 4, SEAFOAM_ISLANDS_B4F_WIDTH ; SEAFOAM_ISLANDS_B3F + def_warps_to SEAFOAM_ISLANDS_B4F diff --git a/data/maps/objects/SilphCo10F.asm b/data/maps/objects/SilphCo10F.asm index c7ea4f03..d496a014 100755 --- a/data/maps/objects/SilphCo10F.asm +++ b/data/maps/objects/SilphCo10F.asm @@ -19,10 +19,4 @@ SilphCo10F_Object: object SPRITE_POKE_BALL, 4, 14, STAY, NONE, 5, RARE_CANDY object SPRITE_POKE_BALL, 5, 11, STAY, NONE, 6, CARBOS - ; warp-to - warp_to 8, 0, SILPH_CO_10F_WIDTH ; SILPH_CO_9F - warp_to 10, 0, SILPH_CO_10F_WIDTH ; SILPH_CO_11F - warp_to 12, 0, SILPH_CO_10F_WIDTH ; SILPH_CO_ELEVATOR - warp_to 9, 11, SILPH_CO_10F_WIDTH ; SILPH_CO_4F - warp_to 13, 15, SILPH_CO_10F_WIDTH ; SILPH_CO_4F - warp_to 13, 7, SILPH_CO_10F_WIDTH ; SILPH_CO_4F + def_warps_to SILPH_CO_10F diff --git a/data/maps/objects/SilphCo11F.asm b/data/maps/objects/SilphCo11F.asm index 94889369..28bad624 100755 --- a/data/maps/objects/SilphCo11F.asm +++ b/data/maps/objects/SilphCo11F.asm @@ -16,8 +16,4 @@ SilphCo11F_Object: object SPRITE_ROCKET, 3, 16, STAY, UP, 4, OPP_ROCKET, 41 object SPRITE_ROCKET, 15, 9, STAY, UP, 5, OPP_ROCKET, 40 - ; warp-to - warp_to 9, 0, SILPH_CO_11F_WIDTH ; SILPH_CO_10F - warp_to 13, 0, SILPH_CO_11F_WIDTH ; SILPH_CO_ELEVATOR - warp_to 5, 5, SILPH_CO_11F_WIDTH - warp_to 3, 2, SILPH_CO_11F_WIDTH ; SILPH_CO_7F + def_warps_to SILPH_CO_11F diff --git a/data/maps/objects/SilphCo1F.asm b/data/maps/objects/SilphCo1F.asm index c8c89b21..13ddf8b3 100755 --- a/data/maps/objects/SilphCo1F.asm +++ b/data/maps/objects/SilphCo1F.asm @@ -13,9 +13,4 @@ SilphCo1F_Object: def_objects object SPRITE_LINK_RECEPTIONIST, 4, 2, STAY, DOWN, 1 ; person - ; warp-to - warp_to 10, 17, SILPH_CO_1F_WIDTH - warp_to 11, 17, SILPH_CO_1F_WIDTH - warp_to 26, 0, SILPH_CO_1F_WIDTH ; SILPH_CO_2F - warp_to 20, 0, SILPH_CO_1F_WIDTH ; SILPH_CO_ELEVATOR - warp_to 16, 10, SILPH_CO_1F_WIDTH ; SILPH_CO_3F + def_warps_to SILPH_CO_1F diff --git a/data/maps/objects/SilphCo2F.asm b/data/maps/objects/SilphCo2F.asm index 62ebef94..ed2cda98 100755 --- a/data/maps/objects/SilphCo2F.asm +++ b/data/maps/objects/SilphCo2F.asm @@ -19,11 +19,4 @@ SilphCo2F_Object: object SPRITE_ROCKET, 16, 11, STAY, UP, 4, OPP_ROCKET, 23 object SPRITE_ROCKET, 24, 7, STAY, UP, 5, OPP_ROCKET, 24 - ; warp-to - warp_to 24, 0, SILPH_CO_2F_WIDTH ; SILPH_CO_1F - warp_to 26, 0, SILPH_CO_2F_WIDTH ; SILPH_CO_3F - warp_to 20, 0, SILPH_CO_2F_WIDTH ; SILPH_CO_ELEVATOR - warp_to 3, 3, SILPH_CO_2F_WIDTH ; SILPH_CO_3F - warp_to 13, 3, SILPH_CO_2F_WIDTH ; SILPH_CO_8F - warp_to 27, 15, SILPH_CO_2F_WIDTH ; SILPH_CO_8F - warp_to 9, 15, SILPH_CO_2F_WIDTH ; SILPH_CO_6F + def_warps_to SILPH_CO_2F diff --git a/data/maps/objects/SilphCo3F.asm b/data/maps/objects/SilphCo3F.asm index adfc66da..e8b2ba48 100755 --- a/data/maps/objects/SilphCo3F.asm +++ b/data/maps/objects/SilphCo3F.asm @@ -21,14 +21,4 @@ SilphCo3F_Object: object SPRITE_SCIENTIST, 7, 9, STAY, DOWN, 3, OPP_SCIENTIST, 4 object SPRITE_POKE_BALL, 8, 5, STAY, NONE, 4, HYPER_POTION - ; warp-to - warp_to 26, 0, SILPH_CO_3F_WIDTH ; SILPH_CO_2F - warp_to 24, 0, SILPH_CO_3F_WIDTH ; SILPH_CO_4F - warp_to 20, 0, SILPH_CO_3F_WIDTH ; SILPH_CO_ELEVATOR - warp_to 23, 11, SILPH_CO_3F_WIDTH ; SILPH_CO_3F - warp_to 3, 3, SILPH_CO_3F_WIDTH ; SILPH_CO_5F - warp_to 3, 15, SILPH_CO_3F_WIDTH ; SILPH_CO_5F - warp_to 27, 3, SILPH_CO_3F_WIDTH ; SILPH_CO_2F - warp_to 3, 11, SILPH_CO_3F_WIDTH ; SILPH_CO_9F - warp_to 11, 11, SILPH_CO_3F_WIDTH ; SILPH_CO_7F - warp_to 27, 15, SILPH_CO_3F_WIDTH ; SILPH_CO_3F + def_warps_to SILPH_CO_3F diff --git a/data/maps/objects/SilphCo4F.asm b/data/maps/objects/SilphCo4F.asm index ca735995..f6eb8e31 100755 --- a/data/maps/objects/SilphCo4F.asm +++ b/data/maps/objects/SilphCo4F.asm @@ -21,11 +21,4 @@ SilphCo4F_Object: object SPRITE_POKE_BALL, 4, 7, STAY, NONE, 6, MAX_REVIVE object SPRITE_POKE_BALL, 5, 8, STAY, NONE, 7, ESCAPE_ROPE - ; warp-to - warp_to 24, 0, SILPH_CO_4F_WIDTH ; SILPH_CO_3F - warp_to 26, 0, SILPH_CO_4F_WIDTH ; SILPH_CO_5F - warp_to 20, 0, SILPH_CO_4F_WIDTH ; SILPH_CO_ELEVATOR - warp_to 11, 7, SILPH_CO_4F_WIDTH ; SILPH_CO_10F - warp_to 17, 3, SILPH_CO_4F_WIDTH ; SILPH_CO_6F - warp_to 3, 15, SILPH_CO_4F_WIDTH ; SILPH_CO_10F - warp_to 17, 11, SILPH_CO_4F_WIDTH ; SILPH_CO_10F + def_warps_to SILPH_CO_4F diff --git a/data/maps/objects/SilphCo5F.asm b/data/maps/objects/SilphCo5F.asm index 483d400d..dd6bc542 100755 --- a/data/maps/objects/SilphCo5F.asm +++ b/data/maps/objects/SilphCo5F.asm @@ -25,11 +25,4 @@ SilphCo5F_Object: object SPRITE_CLIPBOARD, 25, 10, STAY, NONE, 10 ; person object SPRITE_CLIPBOARD, 24, 6, STAY, NONE, 11 ; person - ; warp-to - warp_to 24, 0, SILPH_CO_5F_WIDTH ; SILPH_CO_6F - warp_to 26, 0, SILPH_CO_5F_WIDTH ; SILPH_CO_4F - warp_to 20, 0, SILPH_CO_5F_WIDTH ; SILPH_CO_ELEVATOR - warp_to 27, 3, SILPH_CO_5F_WIDTH ; SILPH_CO_7F - warp_to 9, 15, SILPH_CO_5F_WIDTH ; SILPH_CO_9F - warp_to 11, 5, SILPH_CO_5F_WIDTH ; SILPH_CO_3F - warp_to 3, 15, SILPH_CO_5F_WIDTH ; SILPH_CO_3F + def_warps_to SILPH_CO_5F diff --git a/data/maps/objects/SilphCo6F.asm b/data/maps/objects/SilphCo6F.asm index 600070b4..443b3b26 100755 --- a/data/maps/objects/SilphCo6F.asm +++ b/data/maps/objects/SilphCo6F.asm @@ -22,9 +22,4 @@ SilphCo6F_Object: object SPRITE_POKE_BALL, 3, 12, STAY, NONE, 9, HP_UP object SPRITE_POKE_BALL, 2, 15, STAY, NONE, 10, X_ACCURACY - ; warp-to - warp_to 16, 0, SILPH_CO_6F_WIDTH ; SILPH_CO_7F - warp_to 14, 0, SILPH_CO_6F_WIDTH ; SILPH_CO_5F - warp_to 18, 0, SILPH_CO_6F_WIDTH ; SILPH_CO_ELEVATOR - warp_to 3, 3, SILPH_CO_6F_WIDTH ; SILPH_CO_4F - warp_to 23, 3, SILPH_CO_6F_WIDTH ; SILPH_CO_2F + def_warps_to SILPH_CO_6F diff --git a/data/maps/objects/SilphCo7F.asm b/data/maps/objects/SilphCo7F.asm index caa726fe..2fffa334 100755 --- a/data/maps/objects/SilphCo7F.asm +++ b/data/maps/objects/SilphCo7F.asm @@ -24,10 +24,4 @@ SilphCo7F_Object: object SPRITE_POKE_BALL, 1, 9, STAY, NONE, 10, CALCIUM object SPRITE_POKE_BALL, 24, 11, STAY, NONE, 11, TM_SWORDS_DANCE - ; warp-to - warp_to 16, 0, SILPH_CO_7F_WIDTH ; SILPH_CO_8F - warp_to 22, 0, SILPH_CO_7F_WIDTH ; SILPH_CO_6F - warp_to 18, 0, SILPH_CO_7F_WIDTH ; SILPH_CO_ELEVATOR - warp_to 5, 7, SILPH_CO_7F_WIDTH ; SILPH_CO_11F - warp_to 5, 3, SILPH_CO_7F_WIDTH ; SILPH_CO_3F - warp_to 21, 15, SILPH_CO_7F_WIDTH ; SILPH_CO_5F + def_warps_to SILPH_CO_7F diff --git a/data/maps/objects/SilphCo8F.asm b/data/maps/objects/SilphCo8F.asm index e152d07b..91d1c433 100755 --- a/data/maps/objects/SilphCo8F.asm +++ b/data/maps/objects/SilphCo8F.asm @@ -18,11 +18,4 @@ SilphCo8F_Object: object SPRITE_SCIENTIST, 10, 2, STAY, DOWN, 3, OPP_SCIENTIST, 9 object SPRITE_ROCKET, 12, 15, STAY, RIGHT, 4, OPP_ROCKET, 36 - ; warp-to - warp_to 16, 0, SILPH_CO_8F_WIDTH ; SILPH_CO_9F - warp_to 14, 0, SILPH_CO_8F_WIDTH ; SILPH_CO_7F - warp_to 18, 0, SILPH_CO_8F_WIDTH ; SILPH_CO_ELEVATOR - warp_to 3, 11, SILPH_CO_8F_WIDTH ; SILPH_CO_8F - warp_to 3, 15, SILPH_CO_8F_WIDTH ; SILPH_CO_2F - warp_to 11, 5, SILPH_CO_8F_WIDTH ; SILPH_CO_2F - warp_to 11, 9, SILPH_CO_8F_WIDTH ; SILPH_CO_8F_WIDTH + def_warps_to SILPH_CO_8F diff --git a/data/maps/objects/SilphCo9F.asm b/data/maps/objects/SilphCo9F.asm index ab834322..6072faa6 100755 --- a/data/maps/objects/SilphCo9F.asm +++ b/data/maps/objects/SilphCo9F.asm @@ -16,9 +16,4 @@ SilphCo9F_Object: object SPRITE_SCIENTIST, 21, 13, STAY, DOWN, 3, OPP_SCIENTIST, 10 object SPRITE_ROCKET, 13, 16, STAY, UP, 4, OPP_ROCKET, 38 - ; warp-to - warp_to 14, 0, SILPH_CO_9F_WIDTH ; SILPH_CO_10F - warp_to 16, 0, SILPH_CO_9F_WIDTH ; SILPH_CO_8F - warp_to 18, 0, SILPH_CO_9F_WIDTH ; SILPH_CO_ELEVATOR - warp_to 9, 3, SILPH_CO_9F_WIDTH ; SILPH_CO_3F - warp_to 17, 15, SILPH_CO_9F_WIDTH ; SILPH_CO_5F + def_warps_to SILPH_CO_9F diff --git a/data/maps/objects/SilphCoElevator.asm b/data/maps/objects/SilphCoElevator.asm index 7c6f9aab..54aeaf8e 100755 --- a/data/maps/objects/SilphCoElevator.asm +++ b/data/maps/objects/SilphCoElevator.asm @@ -10,6 +10,4 @@ SilphCoElevator_Object: def_objects - ; warp-to - warp_to 1, 3, SILPH_CO_ELEVATOR_WIDTH - warp_to 2, 3, SILPH_CO_ELEVATOR_WIDTH + def_warps_to SILPH_CO_ELEVATOR diff --git a/data/maps/objects/TradeCenter.asm b/data/maps/objects/TradeCenter.asm index ea145a15..ff74a4fa 100755 --- a/data/maps/objects/TradeCenter.asm +++ b/data/maps/objects/TradeCenter.asm @@ -7,3 +7,5 @@ TradeCenter_Object: def_objects object SPRITE_RED, 2, 2, STAY, 0, 1 ; person + + def_warps_to TRADE_CENTER diff --git a/data/maps/objects/UndergroundPathNorthSouth.asm b/data/maps/objects/UndergroundPathNorthSouth.asm index 9de44f1a..61f33087 100755 --- a/data/maps/objects/UndergroundPathNorthSouth.asm +++ b/data/maps/objects/UndergroundPathNorthSouth.asm @@ -9,6 +9,4 @@ UndergroundPathNorthSouth_Object: def_objects - ; warp-to - warp_to 5, 4, UNDERGROUND_PATH_NORTH_SOUTH_WIDTH ; UNDERGROUND_PATH_ROUTE_5 - warp_to 2, 41, UNDERGROUND_PATH_NORTH_SOUTH_WIDTH ; UNDERGROUND_PATH_ROUTE_6 + def_warps_to UNDERGROUND_PATH_NORTH_SOUTH diff --git a/data/maps/objects/UndergroundPathRoute5.asm b/data/maps/objects/UndergroundPathRoute5.asm index cd0052d3..45ba156b 100755 --- a/data/maps/objects/UndergroundPathRoute5.asm +++ b/data/maps/objects/UndergroundPathRoute5.asm @@ -11,7 +11,4 @@ UndergroundPathRoute5_Object: def_objects object SPRITE_LITTLE_GIRL, 2, 3, STAY, NONE, 1 ; person - ; warp-to - warp_to 3, 7, UNDERGROUND_PATH_ROUTE_5_WIDTH - warp_to 4, 7, UNDERGROUND_PATH_ROUTE_5_WIDTH - warp_to 4, 4, UNDERGROUND_PATH_ROUTE_5_WIDTH ; UNDERGROUND_PATH_NORTH_SOUTH + def_warps_to UNDERGROUND_PATH_ROUTE_5 diff --git a/data/maps/objects/UndergroundPathRoute6.asm b/data/maps/objects/UndergroundPathRoute6.asm index f981aa1b..001ade55 100755 --- a/data/maps/objects/UndergroundPathRoute6.asm +++ b/data/maps/objects/UndergroundPathRoute6.asm @@ -11,7 +11,4 @@ UndergroundPathRoute6_Object: def_objects object SPRITE_GIRL, 2, 3, STAY, NONE, 1 ; person - ; warp-to - warp_to 3, 7, UNDERGROUND_PATH_ROUTE_6_WIDTH - warp_to 4, 7, UNDERGROUND_PATH_ROUTE_6_WIDTH - warp_to 4, 4, UNDERGROUND_PATH_ROUTE_6_WIDTH ; UNDERGROUND_PATH_NORTH_SOUTH + def_warps_to UNDERGROUND_PATH_ROUTE_6 diff --git a/data/maps/objects/UndergroundPathRoute7.asm b/data/maps/objects/UndergroundPathRoute7.asm index b67a4017..d3ad9f7c 100755 --- a/data/maps/objects/UndergroundPathRoute7.asm +++ b/data/maps/objects/UndergroundPathRoute7.asm @@ -11,7 +11,4 @@ UndergroundPathRoute7_Object: def_objects object SPRITE_MIDDLE_AGED_MAN, 2, 4, STAY, NONE, 1 ; person - ; warp-to - warp_to 3, 7, UNDERGROUND_PATH_ROUTE_7_WIDTH - warp_to 4, 7, UNDERGROUND_PATH_ROUTE_7_WIDTH - warp_to 4, 4, UNDERGROUND_PATH_ROUTE_7_WIDTH ; UNDERGROUND_PATH_WEST_EAST + def_warps_to UNDERGROUND_PATH_ROUTE_7 diff --git a/data/maps/objects/UndergroundPathRoute7Copy.asm b/data/maps/objects/UndergroundPathRoute7Copy.asm index c565f8a1..1d0d1e5d 100755 --- a/data/maps/objects/UndergroundPathRoute7Copy.asm +++ b/data/maps/objects/UndergroundPathRoute7Copy.asm @@ -12,7 +12,4 @@ UndergroundPathRoute7Copy_Object: object SPRITE_GIRL, 3, 2, STAY, NONE, 1 ; person object SPRITE_MIDDLE_AGED_MAN, 2, 4, STAY, NONE, 2 ; person - ; warp-to - warp_to 3, 7, UNDERGROUND_PATH_ROUTE_7_COPY_WIDTH - warp_to 4, 7, UNDERGROUND_PATH_ROUTE_7_COPY_WIDTH - warp_to 4, 4, UNDERGROUND_PATH_ROUTE_7_COPY_WIDTH ; UNDERGROUND_PATH_WEST_EAST + def_warps_to UNDERGROUND_PATH_ROUTE_7_COPY diff --git a/data/maps/objects/UndergroundPathRoute8.asm b/data/maps/objects/UndergroundPathRoute8.asm index 578bcbdb..7cd89535 100755 --- a/data/maps/objects/UndergroundPathRoute8.asm +++ b/data/maps/objects/UndergroundPathRoute8.asm @@ -11,7 +11,4 @@ UndergroundPathRoute8_Object: def_objects object SPRITE_GIRL, 3, 4, STAY, NONE, 1 ; person - ; warp-to - warp_to 3, 7, UNDERGROUND_PATH_ROUTE_8_WIDTH - warp_to 4, 7, UNDERGROUND_PATH_ROUTE_8_WIDTH - warp_to 4, 4, UNDERGROUND_PATH_ROUTE_8_WIDTH ; UNDERGROUND_PATH_WEST_EAST + def_warps_to UNDERGROUND_PATH_ROUTE_8 diff --git a/data/maps/objects/UndergroundPathWestEast.asm b/data/maps/objects/UndergroundPathWestEast.asm index f0a7f7de..5487a9a7 100755 --- a/data/maps/objects/UndergroundPathWestEast.asm +++ b/data/maps/objects/UndergroundPathWestEast.asm @@ -9,6 +9,4 @@ UndergroundPathWestEast_Object: def_objects - ; warp-to - warp_to 2, 5, UNDERGROUND_PATH_WEST_EAST_WIDTH ; UNDERGROUND_PATH_ROUTE_7 - warp_to 47, 2, UNDERGROUND_PATH_WEST_EAST_WIDTH ; UNDERGROUND_PATH_ROUTE_8 + def_warps_to UNDERGROUND_PATH_WEST_EAST diff --git a/data/maps/objects/VermilionCity.asm b/data/maps/objects/VermilionCity.asm index 7d39e369..e6a28cfd 100755 --- a/data/maps/objects/VermilionCity.asm +++ b/data/maps/objects/VermilionCity.asm @@ -29,13 +29,4 @@ VermilionCity_Object: object SPRITE_MONSTER, 29, 9, WALK, UP_DOWN, 5 ; person object SPRITE_SAILOR, 25, 27, WALK, LEFT_RIGHT, 6 ; person - ; warp-to - warp_to 11, 3, VERMILION_CITY_WIDTH ; VERMILION_POKECENTER - warp_to 9, 13, VERMILION_CITY_WIDTH ; POKEMON_FAN_CLUB - warp_to 23, 13, VERMILION_CITY_WIDTH ; VERMILION_MART - warp_to 12, 19, VERMILION_CITY_WIDTH ; VERMILION_GYM - warp_to 23, 19, VERMILION_CITY_WIDTH ; VERMILION_PIDGEY_HOUSE - warp_to 18, 31, VERMILION_CITY_WIDTH ; VERMILION_DOCK - warp_to 19, 31, VERMILION_CITY_WIDTH ; VERMILION_DOCK - warp_to 15, 13, VERMILION_CITY_WIDTH ; VERMILION_TRADE_HOUSE - warp_to 7, 3, VERMILION_CITY_WIDTH ; VERMILION_OLD_ROD_HOUSE + def_warps_to VERMILION_CITY diff --git a/data/maps/objects/VermilionDock.asm b/data/maps/objects/VermilionDock.asm index 72aa5e03..0b1c4e57 100755 --- a/data/maps/objects/VermilionDock.asm +++ b/data/maps/objects/VermilionDock.asm @@ -9,6 +9,4 @@ VermilionDock_Object: def_objects - ; warp-to - warp_to 14, 0, VERMILION_DOCK_WIDTH - warp_to 14, 2, VERMILION_DOCK_WIDTH ; SS_ANNE_1F + def_warps_to VERMILION_DOCK diff --git a/data/maps/objects/VermilionGym.asm b/data/maps/objects/VermilionGym.asm index 34596b40..1c2699d3 100755 --- a/data/maps/objects/VermilionGym.asm +++ b/data/maps/objects/VermilionGym.asm @@ -14,6 +14,4 @@ VermilionGym_Object: object SPRITE_SAILOR, 0, 10, STAY, RIGHT, 4, OPP_SAILOR, 8 object SPRITE_GYM_GUIDE, 4, 14, STAY, DOWN, 5 ; person - ; warp-to - warp_to 4, 17, VERMILION_GYM_WIDTH - warp_to 5, 17, VERMILION_GYM_WIDTH + def_warps_to VERMILION_GYM diff --git a/data/maps/objects/VermilionMart.asm b/data/maps/objects/VermilionMart.asm index 58f77bec..a8b26992 100755 --- a/data/maps/objects/VermilionMart.asm +++ b/data/maps/objects/VermilionMart.asm @@ -12,6 +12,4 @@ VermilionMart_Object: object SPRITE_COOLTRAINER_M, 5, 6, STAY, NONE, 2 ; person object SPRITE_COOLTRAINER_F, 3, 3, WALK, LEFT_RIGHT, 3 ; person - ; warp-to - warp_to 3, 7, VERMILION_MART_WIDTH - warp_to 4, 7, VERMILION_MART_WIDTH + def_warps_to VERMILION_MART diff --git a/data/maps/objects/VermilionOldRodHouse.asm b/data/maps/objects/VermilionOldRodHouse.asm index c208133e..2034f152 100755 --- a/data/maps/objects/VermilionOldRodHouse.asm +++ b/data/maps/objects/VermilionOldRodHouse.asm @@ -10,6 +10,4 @@ VermilionOldRodHouse_Object: def_objects object SPRITE_FISHING_GURU, 2, 4, STAY, RIGHT, 1 ; person - ; warp-to - warp_to 2, 7, VERMILION_OLD_ROD_HOUSE_WIDTH - warp_to 3, 7, VERMILION_OLD_ROD_HOUSE_WIDTH + def_warps_to VERMILION_OLD_ROD_HOUSE diff --git a/data/maps/objects/VermilionPidgeyHouse.asm b/data/maps/objects/VermilionPidgeyHouse.asm index f86ace28..733aab81 100755 --- a/data/maps/objects/VermilionPidgeyHouse.asm +++ b/data/maps/objects/VermilionPidgeyHouse.asm @@ -12,6 +12,4 @@ VermilionPidgeyHouse_Object: object SPRITE_BIRD, 3, 5, WALK, LEFT_RIGHT, 2 ; person object SPRITE_PAPER, 4, 3, STAY, NONE, 3 ; person - ; warp-to - warp_to 2, 7, VERMILION_PIDGEY_HOUSE_WIDTH - warp_to 3, 7, VERMILION_PIDGEY_HOUSE_WIDTH + def_warps_to VERMILION_PIDGEY_HOUSE diff --git a/data/maps/objects/VermilionPokecenter.asm b/data/maps/objects/VermilionPokecenter.asm index f09d3859..4725e951 100755 --- a/data/maps/objects/VermilionPokecenter.asm +++ b/data/maps/objects/VermilionPokecenter.asm @@ -13,6 +13,4 @@ VermilionPokecenter_Object: object SPRITE_SAILOR, 5, 4, STAY, NONE, 3 ; person object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person - ; warp-to - warp_to 3, 7, VERMILION_POKECENTER_WIDTH - warp_to 4, 7, VERMILION_POKECENTER_WIDTH + def_warps_to VERMILION_POKECENTER diff --git a/data/maps/objects/VermilionTradeHouse.asm b/data/maps/objects/VermilionTradeHouse.asm index 8bc162f2..56cc4c69 100755 --- a/data/maps/objects/VermilionTradeHouse.asm +++ b/data/maps/objects/VermilionTradeHouse.asm @@ -10,6 +10,4 @@ VermilionTradeHouse_Object: def_objects object SPRITE_LITTLE_GIRL, 3, 5, STAY, UP, 1 ; person - ; warp-to - warp_to 2, 7, VERMILION_TRADE_HOUSE_WIDTH - warp_to 3, 7, VERMILION_TRADE_HOUSE_WIDTH + def_warps_to VERMILION_TRADE_HOUSE diff --git a/data/maps/objects/VictoryRoad1F.asm b/data/maps/objects/VictoryRoad1F.asm index 539cabfb..a0179a5a 100755 --- a/data/maps/objects/VictoryRoad1F.asm +++ b/data/maps/objects/VictoryRoad1F.asm @@ -17,7 +17,4 @@ VictoryRoad1F_Object: object SPRITE_BOULDER, 14, 2, STAY, BOULDER_MOVEMENT_BYTE_2, 6 ; person object SPRITE_BOULDER, 2, 10, STAY, BOULDER_MOVEMENT_BYTE_2, 7 ; person - ; warp-to - warp_to 8, 17, VICTORY_ROAD_1F_WIDTH - warp_to 9, 17, VICTORY_ROAD_1F_WIDTH - warp_to 1, 1, VICTORY_ROAD_1F_WIDTH ; VICTORY_ROAD_2F + def_warps_to VICTORY_ROAD_1F diff --git a/data/maps/objects/VictoryRoad2F.asm b/data/maps/objects/VictoryRoad2F.asm index 96310c0d..7b96be84 100755 --- a/data/maps/objects/VictoryRoad2F.asm +++ b/data/maps/objects/VictoryRoad2F.asm @@ -27,11 +27,4 @@ VictoryRoad2F_Object: object SPRITE_BOULDER, 5, 5, STAY, BOULDER_MOVEMENT_BYTE_2, 12 ; person object SPRITE_BOULDER, 23, 16, STAY, BOULDER_MOVEMENT_BYTE_2, 13 ; person - ; warp-to - warp_to 0, 8, VICTORY_ROAD_2F_WIDTH ; VICTORY_ROAD_1F - warp_to 29, 7, VICTORY_ROAD_2F_WIDTH - warp_to 29, 8, VICTORY_ROAD_2F_WIDTH - warp_to 23, 7, VICTORY_ROAD_2F_WIDTH ; VICTORY_ROAD_3F - warp_to 25, 14, VICTORY_ROAD_2F_WIDTH ; VICTORY_ROAD_3F - warp_to 27, 7, VICTORY_ROAD_2F_WIDTH ; VICTORY_ROAD_3F - warp_to 1, 1, VICTORY_ROAD_2F_WIDTH ; VICTORY_ROAD_3F + def_warps_to VICTORY_ROAD_2F diff --git a/data/maps/objects/VictoryRoad3F.asm b/data/maps/objects/VictoryRoad3F.asm index 97325fd3..5c349c9a 100755 --- a/data/maps/objects/VictoryRoad3F.asm +++ b/data/maps/objects/VictoryRoad3F.asm @@ -21,8 +21,4 @@ VictoryRoad3F_Object: object SPRITE_BOULDER, 24, 10, STAY, BOULDER_MOVEMENT_BYTE_2, 9 ; person object SPRITE_BOULDER, 22, 15, STAY, BOULDER_MOVEMENT_BYTE_2, 10 ; person - ; warp-to - warp_to 23, 7, VICTORY_ROAD_3F_WIDTH ; VICTORY_ROAD_2F - warp_to 26, 8, VICTORY_ROAD_3F_WIDTH ; VICTORY_ROAD_2F - warp_to 27, 15, VICTORY_ROAD_3F_WIDTH ; VICTORY_ROAD_2F - warp_to 2, 0, VICTORY_ROAD_3F_WIDTH ; VICTORY_ROAD_2F + def_warps_to VICTORY_ROAD_3F diff --git a/data/maps/objects/ViridianCity.asm b/data/maps/objects/ViridianCity.asm index 9f7938e9..64940a65 100755 --- a/data/maps/objects/ViridianCity.asm +++ b/data/maps/objects/ViridianCity.asm @@ -25,9 +25,4 @@ ViridianCity_Object: object SPRITE_FISHER, 6, 23, STAY, DOWN, 6 ; person object SPRITE_GAMBLER, 17, 5, WALK, LEFT_RIGHT, 7 ; person - ; warp-to - warp_to 23, 25, VIRIDIAN_CITY_WIDTH ; VIRIDIAN_POKECENTER - warp_to 29, 19, VIRIDIAN_CITY_WIDTH ; VIRIDIAN_MART - warp_to 21, 15, VIRIDIAN_CITY_WIDTH ; VIRIDIAN_SCHOOL_HOUSE - warp_to 21, 9, VIRIDIAN_CITY_WIDTH ; VIRIDIAN_NICKNAME_HOUSE - warp_to 32, 7, VIRIDIAN_CITY_WIDTH ; VIRIDIAN_GYM + def_warps_to VIRIDIAN_CITY diff --git a/data/maps/objects/ViridianForest.asm b/data/maps/objects/ViridianForest.asm index 5612577f..a06e67eb 100755 --- a/data/maps/objects/ViridianForest.asm +++ b/data/maps/objects/ViridianForest.asm @@ -27,10 +27,4 @@ ViridianForest_Object: object SPRITE_POKE_BALL, 1, 31, STAY, NONE, 7, POKE_BALL object SPRITE_YOUNGSTER, 27, 40, STAY, NONE, 8 ; person - ; warp-to - warp_to 1, 0, VIRIDIAN_FOREST_WIDTH ; VIRIDIAN_FOREST_NORTH_GATE - warp_to 2, 0, VIRIDIAN_FOREST_WIDTH ; VIRIDIAN_FOREST_NORTH_GATE - warp_to 15, 47, VIRIDIAN_FOREST_WIDTH ; VIRIDIAN_FOREST_SOUTH_GATE - warp_to 16, 47, VIRIDIAN_FOREST_WIDTH ; VIRIDIAN_FOREST_SOUTH_GATE - warp_to 17, 47, VIRIDIAN_FOREST_WIDTH ; VIRIDIAN_FOREST_SOUTH_GATE - warp_to 18, 47, VIRIDIAN_FOREST_WIDTH ; VIRIDIAN_FOREST_SOUTH_GATE + def_warps_to VIRIDIAN_FOREST diff --git a/data/maps/objects/ViridianForestNorthGate.asm b/data/maps/objects/ViridianForestNorthGate.asm index 45be8a54..eda9a75f 100755 --- a/data/maps/objects/ViridianForestNorthGate.asm +++ b/data/maps/objects/ViridianForestNorthGate.asm @@ -13,8 +13,4 @@ ViridianForestNorthGate_Object: object SPRITE_SUPER_NERD, 3, 2, STAY, NONE, 1 ; person object SPRITE_GRAMPS, 2, 5, STAY, NONE, 2 ; person - ; warp-to - warp_to 4, 0, VIRIDIAN_FOREST_NORTH_GATE_WIDTH - warp_to 5, 0, VIRIDIAN_FOREST_NORTH_GATE_WIDTH - warp_to 4, 7, VIRIDIAN_FOREST_NORTH_GATE_WIDTH ; VIRIDIAN_FOREST - warp_to 5, 7, VIRIDIAN_FOREST_NORTH_GATE_WIDTH ; VIRIDIAN_FOREST + def_warps_to VIRIDIAN_FOREST_NORTH_GATE diff --git a/data/maps/objects/ViridianForestSouthGate.asm b/data/maps/objects/ViridianForestSouthGate.asm index b37e07f4..0b98b51b 100755 --- a/data/maps/objects/ViridianForestSouthGate.asm +++ b/data/maps/objects/ViridianForestSouthGate.asm @@ -13,8 +13,4 @@ ViridianForestSouthGate_Object: object SPRITE_GIRL, 8, 4, STAY, LEFT, 1 ; person object SPRITE_LITTLE_GIRL, 2, 4, WALK, UP_DOWN, 2 ; person - ; warp-to - warp_to 4, 0, VIRIDIAN_FOREST_SOUTH_GATE_WIDTH ; VIRIDIAN_FOREST - warp_to 5, 0, VIRIDIAN_FOREST_SOUTH_GATE_WIDTH ; VIRIDIAN_FOREST - warp_to 4, 7, VIRIDIAN_FOREST_SOUTH_GATE_WIDTH - warp_to 5, 7, VIRIDIAN_FOREST_SOUTH_GATE_WIDTH + def_warps_to VIRIDIAN_FOREST_SOUTH_GATE diff --git a/data/maps/objects/ViridianGym.asm b/data/maps/objects/ViridianGym.asm index f9f78fcb..cc158928 100755 --- a/data/maps/objects/ViridianGym.asm +++ b/data/maps/objects/ViridianGym.asm @@ -20,6 +20,4 @@ ViridianGym_Object: object SPRITE_GYM_GUIDE, 16, 15, STAY, DOWN, 10 ; person object SPRITE_POKE_BALL, 16, 9, STAY, NONE, 11, REVIVE - ; warp-to - warp_to 16, 17, VIRIDIAN_GYM_WIDTH - warp_to 17, 17, VIRIDIAN_GYM_WIDTH + def_warps_to VIRIDIAN_GYM diff --git a/data/maps/objects/ViridianMart.asm b/data/maps/objects/ViridianMart.asm index 38a3e761..b183ca6e 100755 --- a/data/maps/objects/ViridianMart.asm +++ b/data/maps/objects/ViridianMart.asm @@ -12,6 +12,4 @@ ViridianMart_Object: object SPRITE_YOUNGSTER, 5, 5, WALK, UP_DOWN, 2 ; person object SPRITE_COOLTRAINER_M, 3, 3, STAY, NONE, 3 ; person - ; warp-to - warp_to 3, 7, VIRIDIAN_MART_WIDTH - warp_to 4, 7, VIRIDIAN_MART_WIDTH + def_warps_to VIRIDIAN_MART diff --git a/data/maps/objects/ViridianNicknameHouse.asm b/data/maps/objects/ViridianNicknameHouse.asm index 24147aaf..7d4c355d 100755 --- a/data/maps/objects/ViridianNicknameHouse.asm +++ b/data/maps/objects/ViridianNicknameHouse.asm @@ -13,6 +13,4 @@ ViridianNicknameHouse_Object: object SPRITE_BIRD, 5, 5, WALK, LEFT_RIGHT, 3 ; person object SPRITE_CLIPBOARD, 4, 0, STAY, NONE, 4 ; person - ; warp-to - warp_to 2, 7, VIRIDIAN_NICKNAME_HOUSE_WIDTH - warp_to 3, 7, VIRIDIAN_NICKNAME_HOUSE_WIDTH + def_warps_to VIRIDIAN_NICKNAME_HOUSE diff --git a/data/maps/objects/ViridianPokecenter.asm b/data/maps/objects/ViridianPokecenter.asm index 40f6464b..f1f3cc68 100755 --- a/data/maps/objects/ViridianPokecenter.asm +++ b/data/maps/objects/ViridianPokecenter.asm @@ -13,6 +13,4 @@ ViridianPokecenter_Object: object SPRITE_COOLTRAINER_M, 4, 3, STAY, NONE, 3 ; person object SPRITE_LINK_RECEPTIONIST, 11, 2, STAY, DOWN, 4 ; person - ; warp-to - warp_to 3, 7, VIRIDIAN_POKECENTER_WIDTH - warp_to 4, 7, VIRIDIAN_POKECENTER_WIDTH + def_warps_to VIRIDIAN_POKECENTER diff --git a/data/maps/objects/ViridianSchoolHouse.asm b/data/maps/objects/ViridianSchoolHouse.asm index 8c37783f..c16b62db 100755 --- a/data/maps/objects/ViridianSchoolHouse.asm +++ b/data/maps/objects/ViridianSchoolHouse.asm @@ -11,6 +11,4 @@ ViridianSchoolHouse_Object: object SPRITE_BRUNETTE_GIRL, 3, 5, STAY, UP, 1 ; person object SPRITE_COOLTRAINER_F, 4, 1, STAY, DOWN, 2 ; person - ; warp-to - warp_to 2, 7, VIRIDIAN_SCHOOL_HOUSE_WIDTH - warp_to 3, 7, VIRIDIAN_SCHOOL_HOUSE_WIDTH + def_warps_to VIRIDIAN_SCHOOL_HOUSE diff --git a/data/maps/objects/WardensHouse.asm b/data/maps/objects/WardensHouse.asm index 6f5b9455..97f52667 100755 --- a/data/maps/objects/WardensHouse.asm +++ b/data/maps/objects/WardensHouse.asm @@ -14,6 +14,4 @@ WardensHouse_Object: object SPRITE_POKE_BALL, 8, 3, STAY, NONE, 2, RARE_CANDY object SPRITE_BOULDER, 8, 4, STAY, BOULDER_MOVEMENT_BYTE_2, 3 ; person - ; warp-to - warp_to 4, 7, WARDENS_HOUSE_WIDTH - warp_to 5, 7, WARDENS_HOUSE_WIDTH + def_warps_to WARDENS_HOUSE diff --git a/macros/scripts/maps.asm b/macros/scripts/maps.asm index efe82dc8..381fe7f5 100644 --- a/macros/scripts/maps.asm +++ b/macros/scripts/maps.asm @@ -42,6 +42,10 @@ endc _NUM_WARPS EQUS "_NUM_WARPS_\@" db _NUM_WARPS _NUM_WARPS = 0 + IF DEF(_WARP_TO_BUFFER) + PURGE _WARP_TO_BUFFER + ENDC +_WARP_TO_BUFFER EQUS "" ENDM ;\1 x position @@ -51,6 +55,10 @@ ENDM warp: MACRO db \2, \1, \3, \4 _NUM_WARPS = _NUM_WARPS + 1 +_TMP EQUS "{_WARP_TO_BUFFER}\1,\2; " + PURGE _WARP_TO_BUFFER +_WARP_TO_BUFFER EQUS "{_TMP}" + PURGE _TMP ENDM def_signs: MACRO @@ -70,6 +78,21 @@ sign: MACRO _NUM_SIGNS = _NUM_SIGNS + 1 ENDM +def_warps_to: MACRO +_WARP_TO_WIDTH EQU \1_WIDTH + REPT _NUM_WARPS +_SEP = STRIN("{_WARP_TO_BUFFER}", ";") +_WARP_TO_NTH EQUS STRCAT(STRCAT("warp_to ", STRSUB("{_WARP_TO_BUFFER}", 1, _SEP - 1)), ", _WARP_TO_WIDTH") +_TMP EQUS STRSUB("{_WARP_TO_BUFFER}", _SEP + 1, STRLEN("{_WARP_TO_BUFFER}") - _SEP) + PURGE _WARP_TO_BUFFER +_WARP_TO_BUFFER EQUS "{_TMP}" + PURGE _TMP + _WARP_TO_NTH +PURGE _WARP_TO_NTH + ENDR +PURGE _WARP_TO_WIDTH +ENDM + ;\1 x position ;\2 y position ;\3 map width -- cgit v1.2.3 From 6fa8a553cbb53a9abe59bee8d0cc176d19cde47f Mon Sep 17 00:00:00 2001 From: Rangi Date: Mon, 17 Aug 2020 18:39:01 -0400 Subject: Fix keyword capitalization and indentation --- macros/scripts/maps.asm | 35 +++++++++++++++++------------------ 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/macros/scripts/maps.asm b/macros/scripts/maps.asm index 381fe7f5..f5f913a2 100644 --- a/macros/scripts/maps.asm +++ b/macros/scripts/maps.asm @@ -1,7 +1,7 @@ def_objects: MACRO -if DEF(_NUM_OBJECTS) - PURGE _NUM_OBJECTS -endc + IF DEF(_NUM_OBJECTS) + PURGE _NUM_OBJECTS + ENDC _NUM_OBJECTS EQUS "_NUM_OBJECTS_\@" db _NUM_OBJECTS _NUM_OBJECTS = 0 @@ -36,9 +36,9 @@ _NUM_OBJECTS = _NUM_OBJECTS + 1 ENDM def_warps: MACRO -if DEF(_NUM_WARPS) - PURGE _NUM_WARPS -endc + IF DEF(_NUM_WARPS) + PURGE _NUM_WARPS + ENDC _NUM_WARPS EQUS "_NUM_WARPS_\@" db _NUM_WARPS _NUM_WARPS = 0 @@ -62,9 +62,9 @@ _WARP_TO_BUFFER EQUS "{_TMP}" ENDM def_signs: MACRO -if DEF(_NUM_SIGNS) - PURGE _NUM_SIGNS -endc + IF DEF(_NUM_SIGNS) + PURGE _NUM_SIGNS + ENDC _NUM_SIGNS EQUS "_NUM_SIGNS_\@" db _NUM_SIGNS _NUM_SIGNS = 0 @@ -79,18 +79,17 @@ _NUM_SIGNS = _NUM_SIGNS + 1 ENDM def_warps_to: MACRO -_WARP_TO_WIDTH EQU \1_WIDTH +_WARP_TO_WIDTH = \1_WIDTH REPT _NUM_WARPS _SEP = STRIN("{_WARP_TO_BUFFER}", ";") _WARP_TO_NTH EQUS STRCAT(STRCAT("warp_to ", STRSUB("{_WARP_TO_BUFFER}", 1, _SEP - 1)), ", _WARP_TO_WIDTH") _TMP EQUS STRSUB("{_WARP_TO_BUFFER}", _SEP + 1, STRLEN("{_WARP_TO_BUFFER}") - _SEP) - PURGE _WARP_TO_BUFFER + PURGE _WARP_TO_BUFFER _WARP_TO_BUFFER EQUS "{_TMP}" - PURGE _TMP - _WARP_TO_NTH -PURGE _WARP_TO_NTH + PURGE _TMP + _WARP_TO_NTH + PURGE _WARP_TO_NTH ENDR -PURGE _WARP_TO_WIDTH ENDM ;\1 x position @@ -149,9 +148,9 @@ ENDM ; Comes after map_header and connection macros end_map_header: MACRO dw CURRENT_MAP_OBJECT -PURGE CURRENT_MAP_WIDTH -PURGE CURRENT_MAP_HEIGHT -PURGE CURRENT_MAP_OBJECT + PURGE CURRENT_MAP_WIDTH + PURGE CURRENT_MAP_HEIGHT + PURGE CURRENT_MAP_OBJECT ENDM ; Connections go in order: north, south, west, east -- cgit v1.2.3 From 5e1865a7b160696de4f82f7d172c038f3b4726e0 Mon Sep 17 00:00:00 2001 From: Rangi Date: Mon, 17 Aug 2020 19:30:32 -0400 Subject: Implement def_warps_to in a simpler way Instead of building a semicolon-separated "array" of warp_to coordinates in _WARP_TO_BUFFER, just declare a new EQUS for each one: _WARP_TO_NUM_1, _WARP_TO_NUM_2, etc. Then have def_warps_to output and PURGE each one of them. --- macros/scripts/maps.asm | 28 ++++++++++++---------------- 1 file changed, 12 insertions(+), 16 deletions(-) diff --git a/macros/scripts/maps.asm b/macros/scripts/maps.asm index f5f913a2..a85d8fe6 100644 --- a/macros/scripts/maps.asm +++ b/macros/scripts/maps.asm @@ -42,10 +42,6 @@ def_warps: MACRO _NUM_WARPS EQUS "_NUM_WARPS_\@" db _NUM_WARPS _NUM_WARPS = 0 - IF DEF(_WARP_TO_BUFFER) - PURGE _WARP_TO_BUFFER - ENDC -_WARP_TO_BUFFER EQUS "" ENDM ;\1 x position @@ -55,10 +51,9 @@ ENDM warp: MACRO db \2, \1, \3, \4 _NUM_WARPS = _NUM_WARPS + 1 -_TMP EQUS "{_WARP_TO_BUFFER}\1,\2; " - PURGE _WARP_TO_BUFFER -_WARP_TO_BUFFER EQUS "{_TMP}" - PURGE _TMP +_WARP_TO_NAME EQUS "_WARP_TO_NUM_{d:{_NUM_WARPS}}" +_WARP_TO_NAME EQUS "warp_to \1, \2, _WARP_TO_WIDTH" + PURGE _WARP_TO_NAME ENDM def_signs: MACRO @@ -78,17 +73,18 @@ sign: MACRO _NUM_SIGNS = _NUM_SIGNS + 1 ENDM +;\1 source map def_warps_to: MACRO _WARP_TO_WIDTH = \1_WIDTH +_WARP_TO_N = 1 REPT _NUM_WARPS -_SEP = STRIN("{_WARP_TO_BUFFER}", ";") -_WARP_TO_NTH EQUS STRCAT(STRCAT("warp_to ", STRSUB("{_WARP_TO_BUFFER}", 1, _SEP - 1)), ", _WARP_TO_WIDTH") -_TMP EQUS STRSUB("{_WARP_TO_BUFFER}", _SEP + 1, STRLEN("{_WARP_TO_BUFFER}") - _SEP) - PURGE _WARP_TO_BUFFER -_WARP_TO_BUFFER EQUS "{_TMP}" - PURGE _TMP - _WARP_TO_NTH - PURGE _WARP_TO_NTH +_WARP_TO_NAME EQUS "_WARP_TO_NUM_{d:_WARP_TO_N}" + _WARP_TO_NAME +_WARP_TO_N = _WARP_TO_N + 1 +_PURGE_WARP_TO_NUM EQUS "PURGE {_WARP_TO_NAME}" + _PURGE_WARP_TO_NUM + PURGE _PURGE_WARP_TO_NUM + PURGE _WARP_TO_NAME ENDR ENDM -- cgit v1.2.3 From d5db0c3dbf78a957e8f10ad410789c4256d64f74 Mon Sep 17 00:00:00 2001 From: Rangi Date: Tue, 18 Aug 2020 08:36:17 -0400 Subject: Comments explain the def_warps_to macros --- macros/scripts/maps.asm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/macros/scripts/maps.asm b/macros/scripts/maps.asm index a85d8fe6..2032629b 100644 --- a/macros/scripts/maps.asm +++ b/macros/scripts/maps.asm @@ -51,6 +51,7 @@ ENDM warp: MACRO db \2, \1, \3, \4 _NUM_WARPS = _NUM_WARPS + 1 +; the Nth warp defines a corresponding Nth warp_to, stored in _WARP_TO_NUM_ _WARP_TO_NAME EQUS "_WARP_TO_NUM_{d:{_NUM_WARPS}}" _WARP_TO_NAME EQUS "warp_to \1, \2, _WARP_TO_WIDTH" PURGE _WARP_TO_NAME @@ -75,6 +76,7 @@ ENDM ;\1 source map def_warps_to: MACRO +; output and purge each _WARP_TO_NUM_ warp_to, from N=1 to _NUM_WARPS _WARP_TO_WIDTH = \1_WIDTH _WARP_TO_N = 1 REPT _NUM_WARPS -- cgit v1.2.3 From 48da6c53be768e85b8ba47430e2fc0f3dd4de61e Mon Sep 17 00:00:00 2001 From: Rangi Date: Fri, 21 Aug 2020 11:57:53 -0400 Subject: Align warp and sign coordinates --- data/maps/objects/AgathasRoom.asm | 8 ++--- data/maps/objects/BikeShop.asm | 4 +-- data/maps/objects/BillsHouse.asm | 4 +-- data/maps/objects/BluesHouse.asm | 4 +-- data/maps/objects/BrunosRoom.asm | 8 ++--- data/maps/objects/CeladonChiefHouse.asm | 4 +-- data/maps/objects/CeladonCity.asm | 14 ++++---- data/maps/objects/CeladonDiner.asm | 4 +-- data/maps/objects/CeladonGym.asm | 4 +-- data/maps/objects/CeladonHotel.asm | 4 +-- data/maps/objects/CeladonMansion1F.asm | 12 +++---- data/maps/objects/CeladonMansion2F.asm | 10 +++--- data/maps/objects/CeladonMansion3F.asm | 16 ++++----- data/maps/objects/CeladonMansionRoof.asm | 8 ++--- data/maps/objects/CeladonMansionRoofHouse.asm | 4 +-- data/maps/objects/CeladonMart1F.asm | 16 ++++----- data/maps/objects/CeladonMart2F.asm | 8 ++--- data/maps/objects/CeladonMart3F.asm | 30 ++++++++-------- data/maps/objects/CeladonMart4F.asm | 8 ++--- data/maps/objects/CeladonMart5F.asm | 8 ++--- data/maps/objects/CeladonMartElevator.asm | 6 ++-- data/maps/objects/CeladonMartRoof.asm | 10 +++--- data/maps/objects/CeladonPokecenter.asm | 4 +-- data/maps/objects/CeruleanBadgeHouse.asm | 6 ++-- data/maps/objects/CeruleanCave1F.asm | 14 ++++---- data/maps/objects/CeruleanCave2F.asm | 12 +++---- data/maps/objects/CeruleanCaveB1F.asm | 2 +- data/maps/objects/CeruleanCity.asm | 8 ++--- data/maps/objects/CeruleanGym.asm | 4 +-- data/maps/objects/CeruleanMart.asm | 4 +-- data/maps/objects/CeruleanPokecenter.asm | 4 +-- data/maps/objects/CeruleanTradeHouse.asm | 4 +-- data/maps/objects/CeruleanTrashedHouse.asm | 8 ++--- data/maps/objects/ChampionsRoom.asm | 8 ++--- data/maps/objects/CinnabarIsland.asm | 12 +++---- data/maps/objects/CinnabarLab.asm | 18 +++++----- data/maps/objects/CinnabarLabFossilRoom.asm | 4 +-- data/maps/objects/CinnabarLabMetronomeRoom.asm | 10 +++--- data/maps/objects/CinnabarLabTradeRoom.asm | 4 +-- data/maps/objects/CinnabarMart.asm | 4 +-- data/maps/objects/CinnabarPokecenter.asm | 4 +-- data/maps/objects/CopycatsHouse1F.asm | 6 ++-- data/maps/objects/CopycatsHouse2F.asm | 6 ++-- data/maps/objects/Daycare.asm | 4 +-- data/maps/objects/DiglettsCave.asm | 2 +- data/maps/objects/DiglettsCaveRoute11.asm | 6 ++-- data/maps/objects/DiglettsCaveRoute2.asm | 6 ++-- data/maps/objects/FightingDojo.asm | 4 +-- data/maps/objects/FuchsiaBillsGrandpasHouse.asm | 4 +-- data/maps/objects/FuchsiaCity.asm | 20 +++++------ data/maps/objects/FuchsiaGoodRodHouse.asm | 6 ++-- data/maps/objects/FuchsiaGym.asm | 4 +-- data/maps/objects/FuchsiaMart.asm | 4 +-- data/maps/objects/FuchsiaMeetingRoom.asm | 4 +-- data/maps/objects/FuchsiaPokecenter.asm | 4 +-- data/maps/objects/GameCorner.asm | 4 +-- data/maps/objects/GameCornerPrizeRoom.asm | 10 +++--- data/maps/objects/HallOfFame.asm | 4 +-- data/maps/objects/IndigoPlateau.asm | 4 +-- data/maps/objects/IndigoPlateauLobby.asm | 6 ++-- data/maps/objects/LancesRoom.asm | 4 +-- data/maps/objects/LavenderCuboneHouse.asm | 4 +-- data/maps/objects/LavenderMart.asm | 4 +-- data/maps/objects/LavenderPokecenter.asm | 4 +-- data/maps/objects/LavenderTown.asm | 20 +++++------ data/maps/objects/LoreleisRoom.asm | 8 ++--- data/maps/objects/MrFujisHouse.asm | 4 +-- data/maps/objects/MrPsychicsHouse.asm | 4 +-- data/maps/objects/MtMoon1F.asm | 2 +- data/maps/objects/MtMoonB1F.asm | 8 ++--- data/maps/objects/MtMoonB2F.asm | 4 +-- data/maps/objects/MtMoonPokecenter.asm | 4 +-- data/maps/objects/Museum1F.asm | 10 +++--- data/maps/objects/Museum2F.asm | 6 ++-- data/maps/objects/NameRatersHouse.asm | 4 +-- data/maps/objects/OaksLab.asm | 4 +-- data/maps/objects/PalletTown.asm | 10 +++--- data/maps/objects/PewterCity.asm | 16 ++++----- data/maps/objects/PewterGym.asm | 4 +-- data/maps/objects/PewterMart.asm | 4 +-- data/maps/objects/PewterNidoranHouse.asm | 4 +-- data/maps/objects/PewterPokecenter.asm | 4 +-- data/maps/objects/PewterSpeechHouse.asm | 4 +-- data/maps/objects/PokemonFanClub.asm | 8 ++--- data/maps/objects/PokemonMansion1F.asm | 10 +++--- data/maps/objects/PokemonMansion2F.asm | 6 ++-- data/maps/objects/PokemonMansion3F.asm | 4 +-- data/maps/objects/PokemonTower1F.asm | 2 +- data/maps/objects/PokemonTower2F.asm | 4 +-- data/maps/objects/PokemonTower3F.asm | 4 +-- data/maps/objects/PokemonTower4F.asm | 4 +-- data/maps/objects/PokemonTower5F.asm | 4 +-- data/maps/objects/PokemonTower6F.asm | 4 +-- data/maps/objects/PokemonTower7F.asm | 2 +- data/maps/objects/PowerPlant.asm | 6 ++-- data/maps/objects/RedsHouse1F.asm | 8 ++--- data/maps/objects/RedsHouse2F.asm | 2 +- data/maps/objects/RockTunnel1F.asm | 8 ++--- data/maps/objects/RockTunnelB1F.asm | 4 +-- data/maps/objects/RockTunnelPokecenter.asm | 4 +-- data/maps/objects/RocketHideoutB1F.asm | 4 +-- data/maps/objects/RocketHideoutB2F.asm | 4 +-- data/maps/objects/RocketHideoutB3F.asm | 2 +- data/maps/objects/RocketHideoutElevator.asm | 6 ++-- data/maps/objects/Route1.asm | 2 +- data/maps/objects/Route10.asm | 12 +++---- data/maps/objects/Route11.asm | 12 +++---- data/maps/objects/Route11Gate1F.asm | 10 +++--- data/maps/objects/Route11Gate2F.asm | 6 ++-- data/maps/objects/Route12Gate1F.asm | 10 +++--- data/maps/objects/Route12Gate2F.asm | 6 ++-- data/maps/objects/Route12SuperRodHouse.asm | 4 +-- data/maps/objects/Route13.asm | 2 +- data/maps/objects/Route15.asm | 10 +++--- data/maps/objects/Route15Gate1F.asm | 10 +++--- data/maps/objects/Route15Gate2F.asm | 4 +-- data/maps/objects/Route16.asm | 12 +++---- data/maps/objects/Route16FlyHouse.asm | 4 +-- data/maps/objects/Route16Gate1F.asm | 18 +++++----- data/maps/objects/Route16Gate2F.asm | 6 ++-- data/maps/objects/Route17.asm | 12 +++---- data/maps/objects/Route18.asm | 12 +++---- data/maps/objects/Route18Gate1F.asm | 10 +++--- data/maps/objects/Route18Gate2F.asm | 6 ++-- data/maps/objects/Route19.asm | 2 +- data/maps/objects/Route2.asm | 8 ++--- data/maps/objects/Route20.asm | 6 ++-- data/maps/objects/Route22.asm | 4 +-- data/maps/objects/Route22Gate.asm | 8 ++--- data/maps/objects/Route23.asm | 8 ++--- data/maps/objects/Route25.asm | 4 +-- data/maps/objects/Route2Gate.asm | 8 ++--- data/maps/objects/Route2TradeHouse.asm | 4 +-- data/maps/objects/Route3.asm | 2 +- data/maps/objects/Route4.asm | 12 +++---- data/maps/objects/Route5.asm | 2 +- data/maps/objects/Route5Gate.asm | 8 ++--- data/maps/objects/Route6.asm | 6 ++-- data/maps/objects/Route6Gate.asm | 8 ++--- data/maps/objects/Route7.asm | 8 ++--- data/maps/objects/Route7Gate.asm | 8 ++--- data/maps/objects/Route8.asm | 12 +++---- data/maps/objects/Route8Gate.asm | 8 ++--- data/maps/objects/Route9.asm | 2 +- data/maps/objects/SSAnne1F.asm | 20 +++++------ data/maps/objects/SSAnne1FRooms.asm | 8 ++--- data/maps/objects/SSAnne2F.asm | 16 ++++----- data/maps/objects/SSAnne2FRooms.asm | 16 ++++----- data/maps/objects/SSAnne3F.asm | 4 +-- data/maps/objects/SSAnneB1F.asm | 12 +++---- data/maps/objects/SSAnneB1FRooms.asm | 16 ++++----- data/maps/objects/SSAnneBow.asm | 4 +-- data/maps/objects/SSAnneCaptainsRoom.asm | 6 ++-- data/maps/objects/SSAnneKitchen.asm | 2 +- data/maps/objects/SafariZoneCenter.asm | 8 ++--- data/maps/objects/SafariZoneCenterRestHouse.asm | 4 +-- data/maps/objects/SafariZoneEast.asm | 14 ++++---- data/maps/objects/SafariZoneEastRestHouse.asm | 4 +-- data/maps/objects/SafariZoneGate.asm | 8 ++--- data/maps/objects/SafariZoneNorth.asm | 14 ++++---- data/maps/objects/SafariZoneNorthRestHouse.asm | 4 +-- data/maps/objects/SafariZoneSecretHouse.asm | 4 +-- data/maps/objects/SafariZoneWest.asm | 14 ++++---- data/maps/objects/SafariZoneWestRestHouse.asm | 4 +-- data/maps/objects/SaffronCity.asm | 18 +++++----- data/maps/objects/SaffronGym.asm | 48 ++++++++++++------------- data/maps/objects/SaffronMart.asm | 4 +-- data/maps/objects/SaffronPidgeyHouse.asm | 4 +-- data/maps/objects/SaffronPokecenter.asm | 4 +-- data/maps/objects/SeafoamIslands1F.asm | 8 ++--- data/maps/objects/SeafoamIslandsB1F.asm | 8 ++--- data/maps/objects/SeafoamIslandsB2F.asm | 8 ++--- data/maps/objects/SeafoamIslandsB3F.asm | 8 ++--- data/maps/objects/SeafoamIslandsB4F.asm | 8 ++--- data/maps/objects/SilphCo10F.asm | 10 +++--- data/maps/objects/SilphCo11F.asm | 8 ++--- data/maps/objects/SilphCo1F.asm | 4 +-- data/maps/objects/SilphCo2F.asm | 12 +++---- data/maps/objects/SilphCo3F.asm | 14 ++++---- data/maps/objects/SilphCo4F.asm | 12 +++---- data/maps/objects/SilphCo5F.asm | 14 ++++---- data/maps/objects/SilphCo6F.asm | 10 +++--- data/maps/objects/SilphCo7F.asm | 10 +++--- data/maps/objects/SilphCo8F.asm | 14 ++++---- data/maps/objects/SilphCo9F.asm | 8 ++--- data/maps/objects/SilphCoElevator.asm | 6 ++-- data/maps/objects/UndergroundPathNorthSouth.asm | 4 +-- data/maps/objects/UndergroundPathRoute5.asm | 6 ++-- data/maps/objects/UndergroundPathRoute6.asm | 6 ++-- data/maps/objects/UndergroundPathRoute7.asm | 6 ++-- data/maps/objects/UndergroundPathRoute7Copy.asm | 6 ++-- data/maps/objects/UndergroundPathRoute8.asm | 6 ++-- data/maps/objects/UndergroundPathWestEast.asm | 4 +-- data/maps/objects/VermilionCity.asm | 18 +++++----- data/maps/objects/VermilionDock.asm | 4 +-- data/maps/objects/VermilionGym.asm | 4 +-- data/maps/objects/VermilionMart.asm | 4 +-- data/maps/objects/VermilionOldRodHouse.asm | 4 +-- data/maps/objects/VermilionPidgeyHouse.asm | 4 +-- data/maps/objects/VermilionPokecenter.asm | 4 +-- data/maps/objects/VermilionTradeHouse.asm | 4 +-- data/maps/objects/VictoryRoad1F.asm | 6 ++-- data/maps/objects/VictoryRoad2F.asm | 12 +++---- data/maps/objects/VictoryRoad3F.asm | 6 ++-- data/maps/objects/ViridianCity.asm | 10 +++--- data/maps/objects/ViridianForest.asm | 10 +++--- data/maps/objects/ViridianForestNorthGate.asm | 8 ++--- data/maps/objects/ViridianForestSouthGate.asm | 8 ++--- data/maps/objects/ViridianMart.asm | 4 +-- data/maps/objects/ViridianNicknameHouse.asm | 4 +-- data/maps/objects/ViridianPokecenter.asm | 4 +-- data/maps/objects/ViridianSchoolHouse.asm | 4 +-- data/maps/objects/WardensHouse.asm | 8 ++--- 213 files changed, 781 insertions(+), 781 deletions(-) diff --git a/data/maps/objects/AgathasRoom.asm b/data/maps/objects/AgathasRoom.asm index 8244d512..0f00ea20 100755 --- a/data/maps/objects/AgathasRoom.asm +++ b/data/maps/objects/AgathasRoom.asm @@ -2,10 +2,10 @@ AgathasRoom_Object: db $0 ; border block def_warps - warp 4, 11, 2, BRUNOS_ROOM - warp 5, 11, 3, BRUNOS_ROOM - warp 4, 0, 0, LANCES_ROOM - warp 5, 0, 0, LANCES_ROOM + warp 4, 11, 2, BRUNOS_ROOM + warp 5, 11, 3, BRUNOS_ROOM + warp 4, 0, 0, LANCES_ROOM + warp 5, 0, 0, LANCES_ROOM def_signs diff --git a/data/maps/objects/BikeShop.asm b/data/maps/objects/BikeShop.asm index 5af0d996..6a6fe6d6 100755 --- a/data/maps/objects/BikeShop.asm +++ b/data/maps/objects/BikeShop.asm @@ -2,8 +2,8 @@ BikeShop_Object: db $e ; border block def_warps - warp 2, 7, 4, LAST_MAP - warp 3, 7, 4, LAST_MAP + warp 2, 7, 4, LAST_MAP + warp 3, 7, 4, LAST_MAP def_signs diff --git a/data/maps/objects/BillsHouse.asm b/data/maps/objects/BillsHouse.asm index 7afceef3..fad8df05 100755 --- a/data/maps/objects/BillsHouse.asm +++ b/data/maps/objects/BillsHouse.asm @@ -2,8 +2,8 @@ BillsHouse_Object: db $d ; border block def_warps - warp 2, 7, 0, LAST_MAP - warp 3, 7, 0, LAST_MAP + warp 2, 7, 0, LAST_MAP + warp 3, 7, 0, LAST_MAP def_signs diff --git a/data/maps/objects/BluesHouse.asm b/data/maps/objects/BluesHouse.asm index 6a5ff757..4858b785 100755 --- a/data/maps/objects/BluesHouse.asm +++ b/data/maps/objects/BluesHouse.asm @@ -2,8 +2,8 @@ BluesHouse_Object: db $a ; border block def_warps - warp 2, 7, 1, LAST_MAP - warp 3, 7, 1, LAST_MAP + warp 2, 7, 1, LAST_MAP + warp 3, 7, 1, LAST_MAP def_signs diff --git a/data/maps/objects/BrunosRoom.asm b/data/maps/objects/BrunosRoom.asm index 13ac82fe..f5399874 100755 --- a/data/maps/objects/BrunosRoom.asm +++ b/data/maps/objects/BrunosRoom.asm @@ -2,10 +2,10 @@ BrunosRoom_Object: db $3 ; border block def_warps - warp 4, 11, 2, LORELEIS_ROOM - warp 5, 11, 3, LORELEIS_ROOM - warp 4, 0, 0, AGATHAS_ROOM - warp 5, 0, 1, AGATHAS_ROOM + warp 4, 11, 2, LORELEIS_ROOM + warp 5, 11, 3, LORELEIS_ROOM + warp 4, 0, 0, AGATHAS_ROOM + warp 5, 0, 1, AGATHAS_ROOM def_signs diff --git a/data/maps/objects/CeladonChiefHouse.asm b/data/maps/objects/CeladonChiefHouse.asm index c9496d6a..97b9e4c9 100755 --- a/data/maps/objects/CeladonChiefHouse.asm +++ b/data/maps/objects/CeladonChiefHouse.asm @@ -2,8 +2,8 @@ CeladonChiefHouse_Object: db $f ; border block def_warps - warp 2, 7, 11, LAST_MAP - warp 3, 7, 11, LAST_MAP + warp 2, 7, 11, LAST_MAP + warp 3, 7, 11, LAST_MAP def_signs diff --git a/data/maps/objects/CeladonCity.asm b/data/maps/objects/CeladonCity.asm index cce4464d..ddf0afdb 100755 --- a/data/maps/objects/CeladonCity.asm +++ b/data/maps/objects/CeladonCity.asm @@ -2,12 +2,12 @@ CeladonCity_Object: db $f ; border block def_warps - warp 8, 13, 0, CELADON_MART_1F + warp 8, 13, 0, CELADON_MART_1F warp 10, 13, 2, CELADON_MART_1F - warp 24, 9, 0, CELADON_MANSION_1F - warp 24, 3, 2, CELADON_MANSION_1F - warp 25, 3, 2, CELADON_MANSION_1F - warp 41, 9, 0, CELADON_POKECENTER + warp 24, 9, 0, CELADON_MANSION_1F + warp 24, 3, 2, CELADON_MANSION_1F + warp 25, 3, 2, CELADON_MANSION_1F + warp 41, 9, 0, CELADON_POKECENTER warp 12, 27, 0, CELADON_GYM warp 28, 19, 0, GAME_CORNER warp 39, 19, 0, CELADON_MART_5F ; beta warp! no longer used @@ -19,9 +19,9 @@ CeladonCity_Object: def_signs sign 27, 15, 10 ; CeladonCityText10 sign 19, 15, 11 ; CeladonCityText11 - sign 42, 9, 12 ; PokeCenterSignText + sign 42, 9, 12 ; PokeCenterSignText sign 13, 29, 13 ; CeladonCityText13 - sign 21, 9, 14 ; CeladonCityText14 + sign 21, 9, 14 ; CeladonCityText14 sign 12, 13, 15 ; CeladonCityText15 sign 39, 21, 16 ; CeladonCityText16 sign 33, 21, 17 ; CeladonCityText17 diff --git a/data/maps/objects/CeladonDiner.asm b/data/maps/objects/CeladonDiner.asm index 9c886e0d..37c8c876 100755 --- a/data/maps/objects/CeladonDiner.asm +++ b/data/maps/objects/CeladonDiner.asm @@ -2,8 +2,8 @@ CeladonDiner_Object: db $f ; border block def_warps - warp 3, 7, 10, LAST_MAP - warp 4, 7, 10, LAST_MAP + warp 3, 7, 10, LAST_MAP + warp 4, 7, 10, LAST_MAP def_signs diff --git a/data/maps/objects/CeladonGym.asm b/data/maps/objects/CeladonGym.asm index 2b174d53..197a254b 100755 --- a/data/maps/objects/CeladonGym.asm +++ b/data/maps/objects/CeladonGym.asm @@ -2,8 +2,8 @@ CeladonGym_Object: db $3 ; border block def_warps - warp 4, 17, 6, LAST_MAP - warp 5, 17, 6, LAST_MAP + warp 4, 17, 6, LAST_MAP + warp 5, 17, 6, LAST_MAP def_signs diff --git a/data/maps/objects/CeladonHotel.asm b/data/maps/objects/CeladonHotel.asm index 4ea8b817..a516f141 100755 --- a/data/maps/objects/CeladonHotel.asm +++ b/data/maps/objects/CeladonHotel.asm @@ -2,8 +2,8 @@ CeladonHotel_Object: db $0 ; border block def_warps - warp 3, 7, 12, LAST_MAP - warp 4, 7, 12, LAST_MAP + warp 3, 7, 12, LAST_MAP + warp 4, 7, 12, LAST_MAP def_signs diff --git a/data/maps/objects/CeladonMansion1F.asm b/data/maps/objects/CeladonMansion1F.asm index 10c866ff..63eb686c 100755 --- a/data/maps/objects/CeladonMansion1F.asm +++ b/data/maps/objects/CeladonMansion1F.asm @@ -2,14 +2,14 @@ CeladonMansion1F_Object: db $f ; border block def_warps - warp 4, 11, 2, LAST_MAP - warp 5, 11, 2, LAST_MAP - warp 4, 0, 4, LAST_MAP - warp 7, 1, 1, CELADON_MANSION_2F - warp 2, 1, 2, CELADON_MANSION_2F + warp 4, 11, 2, LAST_MAP + warp 5, 11, 2, LAST_MAP + warp 4, 0, 4, LAST_MAP + warp 7, 1, 1, CELADON_MANSION_2F + warp 2, 1, 2, CELADON_MANSION_2F def_signs - sign 4, 9, 5 ; CeladonMansion1Text5 + sign 4, 9, 5 ; CeladonMansion1Text5 def_objects object SPRITE_MONSTER, 0, 5, STAY, RIGHT, 1 ; person diff --git a/data/maps/objects/CeladonMansion2F.asm b/data/maps/objects/CeladonMansion2F.asm index 9e726e0d..211abbda 100755 --- a/data/maps/objects/CeladonMansion2F.asm +++ b/data/maps/objects/CeladonMansion2F.asm @@ -2,13 +2,13 @@ CeladonMansion2F_Object: db $f ; border block def_warps - warp 6, 1, 0, CELADON_MANSION_3F - warp 7, 1, 3, CELADON_MANSION_1F - warp 2, 1, 4, CELADON_MANSION_1F - warp 4, 1, 3, CELADON_MANSION_3F + warp 6, 1, 0, CELADON_MANSION_3F + warp 7, 1, 3, CELADON_MANSION_1F + warp 2, 1, 4, CELADON_MANSION_1F + warp 4, 1, 3, CELADON_MANSION_3F def_signs - sign 4, 9, 1 ; CeladonMansion2Text1 + sign 4, 9, 1 ; CeladonMansion2Text1 def_objects diff --git a/data/maps/objects/CeladonMansion3F.asm b/data/maps/objects/CeladonMansion3F.asm index 92c2f1af..442f3c23 100755 --- a/data/maps/objects/CeladonMansion3F.asm +++ b/data/maps/objects/CeladonMansion3F.asm @@ -2,16 +2,16 @@ CeladonMansion3F_Object: db $f ; border block def_warps - warp 6, 1, 0, CELADON_MANSION_2F - warp 7, 1, 0, CELADON_MANSION_ROOF - warp 2, 1, 1, CELADON_MANSION_ROOF - warp 4, 1, 3, CELADON_MANSION_2F + warp 6, 1, 0, CELADON_MANSION_2F + warp 7, 1, 0, CELADON_MANSION_ROOF + warp 2, 1, 1, CELADON_MANSION_ROOF + warp 4, 1, 3, CELADON_MANSION_2F def_signs - sign 1, 3, 5 ; CeladonMansion3Text5 - sign 4, 3, 6 ; CeladonMansion3Text6 - sign 1, 6, 7 ; CeladonMansion3Text7 - sign 4, 9, 8 ; CeladonMansion3Text8 + sign 1, 3, 5 ; CeladonMansion3Text5 + sign 4, 3, 6 ; CeladonMansion3Text6 + sign 1, 6, 7 ; CeladonMansion3Text7 + sign 4, 9, 8 ; CeladonMansion3Text8 def_objects object SPRITE_BIKE_SHOP_CLERK, 0, 4, STAY, UP, 1 ; person diff --git a/data/maps/objects/CeladonMansionRoof.asm b/data/maps/objects/CeladonMansionRoof.asm index 431080c2..e3eb8aa7 100755 --- a/data/maps/objects/CeladonMansionRoof.asm +++ b/data/maps/objects/CeladonMansionRoof.asm @@ -2,12 +2,12 @@ CeladonMansionRoof_Object: db $9 ; border block def_warps - warp 6, 1, 1, CELADON_MANSION_3F - warp 2, 1, 2, CELADON_MANSION_3F - warp 2, 7, 0, CELADON_MANSION_ROOF_HOUSE + warp 6, 1, 1, CELADON_MANSION_3F + warp 2, 1, 2, CELADON_MANSION_3F + warp 2, 7, 0, CELADON_MANSION_ROOF_HOUSE def_signs - sign 3, 7, 1 ; CeladonMansion4Text1 + sign 3, 7, 1 ; CeladonMansion4Text1 def_objects diff --git a/data/maps/objects/CeladonMansionRoofHouse.asm b/data/maps/objects/CeladonMansionRoofHouse.asm index 568a7832..1656bdcf 100755 --- a/data/maps/objects/CeladonMansionRoofHouse.asm +++ b/data/maps/objects/CeladonMansionRoofHouse.asm @@ -2,8 +2,8 @@ CeladonMansionRoofHouse_Object: db $a ; border block def_warps - warp 2, 7, 2, CELADON_MANSION_ROOF - warp 3, 7, 2, CELADON_MANSION_ROOF + warp 2, 7, 2, CELADON_MANSION_ROOF + warp 3, 7, 2, CELADON_MANSION_ROOF def_signs diff --git a/data/maps/objects/CeladonMart1F.asm b/data/maps/objects/CeladonMart1F.asm index 055f48b9..3edcbe3f 100755 --- a/data/maps/objects/CeladonMart1F.asm +++ b/data/maps/objects/CeladonMart1F.asm @@ -2,16 +2,16 @@ CeladonMart1F_Object: db $f ; border block def_warps - warp 2, 7, 0, LAST_MAP - warp 3, 7, 0, LAST_MAP - warp 16, 7, 1, LAST_MAP - warp 17, 7, 1, LAST_MAP - warp 12, 1, 0, CELADON_MART_2F - warp 1, 1, 0, CELADON_MART_ELEVATOR + warp 2, 7, 0, LAST_MAP + warp 3, 7, 0, LAST_MAP + warp 16, 7, 1, LAST_MAP + warp 17, 7, 1, LAST_MAP + warp 12, 1, 0, CELADON_MART_2F + warp 1, 1, 0, CELADON_MART_ELEVATOR def_signs - sign 11, 4, 2 ; CeladonMart1Text2 - sign 14, 1, 3 ; CeladonMart1Text3 + sign 11, 4, 2 ; CeladonMart1Text2 + sign 14, 1, 3 ; CeladonMart1Text3 def_objects object SPRITE_LINK_RECEPTIONIST, 8, 3, STAY, DOWN, 1 ; person diff --git a/data/maps/objects/CeladonMart2F.asm b/data/maps/objects/CeladonMart2F.asm index 061a030c..19b2aa59 100755 --- a/data/maps/objects/CeladonMart2F.asm +++ b/data/maps/objects/CeladonMart2F.asm @@ -2,12 +2,12 @@ CeladonMart2F_Object: db $f ; border block def_warps - warp 12, 1, 4, CELADON_MART_1F - warp 16, 1, 1, CELADON_MART_3F - warp 1, 1, 0, CELADON_MART_ELEVATOR + warp 12, 1, 4, CELADON_MART_1F + warp 16, 1, 1, CELADON_MART_3F + warp 1, 1, 0, CELADON_MART_ELEVATOR def_signs - sign 14, 1, 5 ; CeladonMart2Text5 + sign 14, 1, 5 ; CeladonMart2Text5 def_objects object SPRITE_CLERK, 5, 3, STAY, DOWN, 1 ; person diff --git a/data/maps/objects/CeladonMart3F.asm b/data/maps/objects/CeladonMart3F.asm index ea1688eb..e1e8c8f2 100755 --- a/data/maps/objects/CeladonMart3F.asm +++ b/data/maps/objects/CeladonMart3F.asm @@ -2,23 +2,23 @@ CeladonMart3F_Object: db $f ; border block def_warps - warp 12, 1, 0, CELADON_MART_4F - warp 16, 1, 1, CELADON_MART_2F - warp 1, 1, 0, CELADON_MART_ELEVATOR + warp 12, 1, 0, CELADON_MART_4F + warp 16, 1, 1, CELADON_MART_2F + warp 1, 1, 0, CELADON_MART_ELEVATOR def_signs - sign 2, 4, 6 ; CeladonMart3Text6 - sign 3, 4, 7 ; CeladonMart3Text7 - sign 5, 4, 8 ; CeladonMart3Text8 - sign 6, 4, 9 ; CeladonMart3Text9 - sign 2, 6, 10 ; CeladonMart3Text10 - sign 3, 6, 11 ; CeladonMart3Text11 - sign 5, 6, 12 ; CeladonMart3Text12 - sign 6, 6, 13 ; CeladonMart3Text13 - sign 14, 1, 14 ; CeladonMart3Text14 - sign 4, 1, 15 ; CeladonMart3Text15 - sign 6, 1, 16 ; CeladonMart3Text16 - sign 10, 1, 17 ; CeladonMart3Text17 + sign 2, 4, 6 ; CeladonMart3Text6 + sign 3, 4, 7 ; CeladonMart3Text7 + sign 5, 4, 8 ; CeladonMart3Text8 + sign 6, 4, 9 ; CeladonMart3Text9 + sign 2, 6, 10 ; CeladonMart3Text10 + sign 3, 6, 11 ; CeladonMart3Text11 + sign 5, 6, 12 ; CeladonMart3Text12 + sign 6, 6, 13 ; CeladonMart3Text13 + sign 14, 1, 14 ; CeladonMart3Text14 + sign 4, 1, 15 ; CeladonMart3Text15 + sign 6, 1, 16 ; CeladonMart3Text16 + sign 10, 1, 17 ; CeladonMart3Text17 def_objects object SPRITE_CLERK, 16, 5, STAY, NONE, 1 ; person diff --git a/data/maps/objects/CeladonMart4F.asm b/data/maps/objects/CeladonMart4F.asm index adfe5efd..72ed0338 100755 --- a/data/maps/objects/CeladonMart4F.asm +++ b/data/maps/objects/CeladonMart4F.asm @@ -2,12 +2,12 @@ CeladonMart4F_Object: db $f ; border block def_warps - warp 12, 1, 0, CELADON_MART_3F - warp 16, 1, 1, CELADON_MART_5F - warp 1, 1, 0, CELADON_MART_ELEVATOR + warp 12, 1, 0, CELADON_MART_3F + warp 16, 1, 1, CELADON_MART_5F + warp 1, 1, 0, CELADON_MART_ELEVATOR def_signs - sign 14, 1, 4 ; CeladonMart4Text4 + sign 14, 1, 4 ; CeladonMart4Text4 def_objects object SPRITE_CLERK, 5, 7, STAY, NONE, 1 ; person diff --git a/data/maps/objects/CeladonMart5F.asm b/data/maps/objects/CeladonMart5F.asm index 74af3db9..2583526c 100755 --- a/data/maps/objects/CeladonMart5F.asm +++ b/data/maps/objects/CeladonMart5F.asm @@ -2,12 +2,12 @@ CeladonMart5F_Object: db $f ; border block def_warps - warp 12, 1, 0, CELADON_MART_ROOF - warp 16, 1, 1, CELADON_MART_4F - warp 1, 1, 0, CELADON_MART_ELEVATOR + warp 12, 1, 0, CELADON_MART_ROOF + warp 16, 1, 1, CELADON_MART_4F + warp 1, 1, 0, CELADON_MART_ELEVATOR def_signs - sign 14, 1, 5 ; CeladonMart5Text5 + sign 14, 1, 5 ; CeladonMart5Text5 def_objects object SPRITE_GENTLEMAN, 14, 5, WALK, UP_DOWN, 1 ; person diff --git a/data/maps/objects/CeladonMartElevator.asm b/data/maps/objects/CeladonMartElevator.asm index 43827517..d03984a6 100755 --- a/data/maps/objects/CeladonMartElevator.asm +++ b/data/maps/objects/CeladonMartElevator.asm @@ -2,11 +2,11 @@ CeladonMartElevator_Object: db $f ; border block def_warps - warp 1, 3, 5, CELADON_MART_1F - warp 2, 3, 5, CELADON_MART_1F + warp 1, 3, 5, CELADON_MART_1F + warp 2, 3, 5, CELADON_MART_1F def_signs - sign 3, 0, 1 ; CeladonMartElevatorText1 + sign 3, 0, 1 ; CeladonMartElevatorText1 def_objects diff --git a/data/maps/objects/CeladonMartRoof.asm b/data/maps/objects/CeladonMartRoof.asm index 543dc9b5..49b5ab6f 100755 --- a/data/maps/objects/CeladonMartRoof.asm +++ b/data/maps/objects/CeladonMartRoof.asm @@ -2,13 +2,13 @@ CeladonMartRoof_Object: db $42 ; border block def_warps - warp 15, 2, 0, CELADON_MART_5F + warp 15, 2, 0, CELADON_MART_5F def_signs - sign 10, 1, 3 ; CeladonMartRoofText3 - sign 11, 1, 4 ; CeladonMartRoofText4 - sign 12, 2, 5 ; CeladonMartRoofText5 - sign 13, 2, 6 ; CeladonMartRoofText6 + sign 10, 1, 3 ; CeladonMartRoofText3 + sign 11, 1, 4 ; CeladonMartRoofText4 + sign 12, 2, 5 ; CeladonMartRoofText5 + sign 13, 2, 6 ; CeladonMartRoofText6 def_objects object SPRITE_SUPER_NERD, 10, 4, STAY, LEFT, 1 ; person diff --git a/data/maps/objects/CeladonPokecenter.asm b/data/maps/objects/CeladonPokecenter.asm index 5e3d83fc..65a04a1c 100755 --- a/data/maps/objects/CeladonPokecenter.asm +++ b/data/maps/objects/CeladonPokecenter.asm @@ -2,8 +2,8 @@ CeladonPokecenter_Object: db $0 ; border block def_warps - warp 3, 7, 5, LAST_MAP - warp 4, 7, 5, LAST_MAP + warp 3, 7, 5, LAST_MAP + warp 4, 7, 5, LAST_MAP def_signs diff --git a/data/maps/objects/CeruleanBadgeHouse.asm b/data/maps/objects/CeruleanBadgeHouse.asm index d238845e..50d2087a 100755 --- a/data/maps/objects/CeruleanBadgeHouse.asm +++ b/data/maps/objects/CeruleanBadgeHouse.asm @@ -2,9 +2,9 @@ CeruleanBadgeHouse_Object: db $c ; border block def_warps - warp 2, 0, 9, LAST_MAP - warp 2, 7, 8, LAST_MAP - warp 3, 7, 8, LAST_MAP + warp 2, 0, 9, LAST_MAP + warp 2, 7, 8, LAST_MAP + warp 3, 7, 8, LAST_MAP def_signs diff --git a/data/maps/objects/CeruleanCave1F.asm b/data/maps/objects/CeruleanCave1F.asm index badf1a8b..7e5e8c85 100755 --- a/data/maps/objects/CeruleanCave1F.asm +++ b/data/maps/objects/CeruleanCave1F.asm @@ -4,13 +4,13 @@ CeruleanCave1F_Object: def_warps warp 24, 17, 6, LAST_MAP warp 25, 17, 6, LAST_MAP - warp 27, 1, 0, CERULEAN_CAVE_2F - warp 23, 7, 1, CERULEAN_CAVE_2F - warp 18, 9, 2, CERULEAN_CAVE_2F - warp 7, 1, 3, CERULEAN_CAVE_2F - warp 1, 3, 4, CERULEAN_CAVE_2F - warp 3, 11, 5, CERULEAN_CAVE_2F - warp 0, 6, 0, CERULEAN_CAVE_B1F + warp 27, 1, 0, CERULEAN_CAVE_2F + warp 23, 7, 1, CERULEAN_CAVE_2F + warp 18, 9, 2, CERULEAN_CAVE_2F + warp 7, 1, 3, CERULEAN_CAVE_2F + warp 1, 3, 4, CERULEAN_CAVE_2F + warp 3, 11, 5, CERULEAN_CAVE_2F + warp 0, 6, 0, CERULEAN_CAVE_B1F def_signs diff --git a/data/maps/objects/CeruleanCave2F.asm b/data/maps/objects/CeruleanCave2F.asm index 09cf63e3..6622bb77 100755 --- a/data/maps/objects/CeruleanCave2F.asm +++ b/data/maps/objects/CeruleanCave2F.asm @@ -2,12 +2,12 @@ CeruleanCave2F_Object: db $7d ; border block def_warps - warp 29, 1, 2, CERULEAN_CAVE_1F - warp 22, 6, 3, CERULEAN_CAVE_1F - warp 19, 7, 4, CERULEAN_CAVE_1F - warp 9, 1, 5, CERULEAN_CAVE_1F - warp 1, 3, 6, CERULEAN_CAVE_1F - warp 3, 11, 7, CERULEAN_CAVE_1F + warp 29, 1, 2, CERULEAN_CAVE_1F + warp 22, 6, 3, CERULEAN_CAVE_1F + warp 19, 7, 4, CERULEAN_CAVE_1F + warp 9, 1, 5, CERULEAN_CAVE_1F + warp 1, 3, 6, CERULEAN_CAVE_1F + warp 3, 11, 7, CERULEAN_CAVE_1F def_signs diff --git a/data/maps/objects/CeruleanCaveB1F.asm b/data/maps/objects/CeruleanCaveB1F.asm index 7e6b532c..886238c2 100755 --- a/data/maps/objects/CeruleanCaveB1F.asm +++ b/data/maps/objects/CeruleanCaveB1F.asm @@ -2,7 +2,7 @@ CeruleanCaveB1F_Object: db $7d ; border block def_warps - warp 3, 6, 8, CERULEAN_CAVE_1F + warp 3, 6, 8, CERULEAN_CAVE_1F def_signs diff --git a/data/maps/objects/CeruleanCity.asm b/data/maps/objects/CeruleanCity.asm index aed54837..9b15c1c5 100755 --- a/data/maps/objects/CeruleanCity.asm +++ b/data/maps/objects/CeruleanCity.asm @@ -8,10 +8,10 @@ CeruleanCity_Object: warp 30, 19, 0, CERULEAN_GYM warp 13, 25, 0, BIKE_SHOP warp 25, 25, 0, CERULEAN_MART - warp 4, 11, 0, CERULEAN_CAVE_1F - warp 27, 9, 2, CERULEAN_TRASHED_HOUSE - warp 9, 11, 1, CERULEAN_BADGE_HOUSE - warp 9, 9, 0, CERULEAN_BADGE_HOUSE + warp 4, 11, 0, CERULEAN_CAVE_1F + warp 27, 9, 2, CERULEAN_TRASHED_HOUSE + warp 9, 11, 1, CERULEAN_BADGE_HOUSE + warp 9, 9, 0, CERULEAN_BADGE_HOUSE def_signs sign 23, 19, 12 ; CeruleanCityText12 diff --git a/data/maps/objects/CeruleanGym.asm b/data/maps/objects/CeruleanGym.asm index a1dce455..26709cae 100755 --- a/data/maps/objects/CeruleanGym.asm +++ b/data/maps/objects/CeruleanGym.asm @@ -2,8 +2,8 @@ CeruleanGym_Object: db $3 ; border block def_warps - warp 4, 13, 3, LAST_MAP - warp 5, 13, 3, LAST_MAP + warp 4, 13, 3, LAST_MAP + warp 5, 13, 3, LAST_MAP def_signs diff --git a/data/maps/objects/CeruleanMart.asm b/data/maps/objects/CeruleanMart.asm index cf9895fb..144edd80 100755 --- a/data/maps/objects/CeruleanMart.asm +++ b/data/maps/objects/CeruleanMart.asm @@ -2,8 +2,8 @@ CeruleanMart_Object: db $0 ; border block def_warps - warp 3, 7, 5, LAST_MAP - warp 4, 7, 5, LAST_MAP + warp 3, 7, 5, LAST_MAP + warp 4, 7, 5, LAST_MAP def_signs diff --git a/data/maps/objects/CeruleanPokecenter.asm b/data/maps/objects/CeruleanPokecenter.asm index 4e7ca0df..af6c0ac3 100755 --- a/data/maps/objects/CeruleanPokecenter.asm +++ b/data/maps/objects/CeruleanPokecenter.asm @@ -2,8 +2,8 @@ CeruleanPokecenter_Object: db $0 ; border block def_warps - warp 3, 7, 2, LAST_MAP - warp 4, 7, 2, LAST_MAP + warp 3, 7, 2, LAST_MAP + warp 4, 7, 2, LAST_MAP def_signs diff --git a/data/maps/objects/CeruleanTradeHouse.asm b/data/maps/objects/CeruleanTradeHouse.asm index 35f3785b..04638ded 100755 --- a/data/maps/objects/CeruleanTradeHouse.asm +++ b/data/maps/objects/CeruleanTradeHouse.asm @@ -2,8 +2,8 @@ CeruleanTradeHouse_Object: db $a ; border block def_warps - warp 2, 7, 1, LAST_MAP - warp 3, 7, 1, LAST_MAP + warp 2, 7, 1, LAST_MAP + warp 3, 7, 1, LAST_MAP def_signs diff --git a/data/maps/objects/CeruleanTrashedHouse.asm b/data/maps/objects/CeruleanTrashedHouse.asm index a266e43a..9f502319 100755 --- a/data/maps/objects/CeruleanTrashedHouse.asm +++ b/data/maps/objects/CeruleanTrashedHouse.asm @@ -2,12 +2,12 @@ CeruleanTrashedHouse_Object: db $a ; border block def_warps - warp 2, 7, 0, LAST_MAP - warp 3, 7, 0, LAST_MAP - warp 3, 0, 7, LAST_MAP + warp 2, 7, 0, LAST_MAP + warp 3, 7, 0, LAST_MAP + warp 3, 0, 7, LAST_MAP def_signs - sign 3, 0, 3 ; CeruleanHouseTrashedText3 + sign 3, 0, 3 ; CeruleanHouseTrashedText3 def_objects object SPRITE_FISHING_GURU, 2, 1, STAY, DOWN, 1 ; person diff --git a/data/maps/objects/ChampionsRoom.asm b/data/maps/objects/ChampionsRoom.asm index 53f4ca33..2380fd04 100755 --- a/data/maps/objects/ChampionsRoom.asm +++ b/data/maps/objects/ChampionsRoom.asm @@ -2,10 +2,10 @@ ChampionsRoom_Object: db $3 ; border block def_warps - warp 3, 7, 1, LANCES_ROOM - warp 4, 7, 2, LANCES_ROOM - warp 3, 0, 0, HALL_OF_FAME - warp 4, 0, 0, HALL_OF_FAME + warp 3, 7, 1, LANCES_ROOM + warp 4, 7, 2, LANCES_ROOM + warp 3, 0, 0, HALL_OF_FAME + warp 4, 0, 0, HALL_OF_FAME def_signs diff --git a/data/maps/objects/CinnabarIsland.asm b/data/maps/objects/CinnabarIsland.asm index 7e93bcb6..1dd11a43 100755 --- a/data/maps/objects/CinnabarIsland.asm +++ b/data/maps/objects/CinnabarIsland.asm @@ -2,18 +2,18 @@ CinnabarIsland_Object: db $43 ; border block def_warps - warp 6, 3, 1, POKEMON_MANSION_1F - warp 18, 3, 0, CINNABAR_GYM - warp 6, 9, 0, CINNABAR_LAB + warp 6, 3, 1, POKEMON_MANSION_1F + warp 18, 3, 0, CINNABAR_GYM + warp 6, 9, 0, CINNABAR_LAB warp 11, 11, 0, CINNABAR_POKECENTER warp 15, 11, 0, CINNABAR_MART def_signs - sign 9, 5, 3 ; CinnabarIslandText3 + sign 9, 5, 3 ; CinnabarIslandText3 sign 16, 11, 4 ; MartSignText sign 12, 11, 5 ; PokeCenterSignText - sign 9, 11, 6 ; CinnabarIslandText6 - sign 13, 3, 7 ; CinnabarIslandText7 + sign 9, 11, 6 ; CinnabarIslandText6 + sign 13, 3, 7 ; CinnabarIslandText7 def_objects object SPRITE_GIRL, 12, 5, WALK, LEFT_RIGHT, 1 ; person diff --git a/data/maps/objects/CinnabarLab.asm b/data/maps/objects/CinnabarLab.asm index ac326748..0e007e3a 100755 --- a/data/maps/objects/CinnabarLab.asm +++ b/data/maps/objects/CinnabarLab.asm @@ -2,17 +2,17 @@ CinnabarLab_Object: db $17 ; border block def_warps - warp 2, 7, 2, LAST_MAP - warp 3, 7, 2, LAST_MAP - warp 8, 4, 0, CINNABAR_LAB_TRADE_ROOM - warp 12, 4, 0, CINNABAR_LAB_METRONOME_ROOM - warp 16, 4, 0, CINNABAR_LAB_FOSSIL_ROOM + warp 2, 7, 2, LAST_MAP + warp 3, 7, 2, LAST_MAP + warp 8, 4, 0, CINNABAR_LAB_TRADE_ROOM + warp 12, 4, 0, CINNABAR_LAB_METRONOME_ROOM + warp 16, 4, 0, CINNABAR_LAB_FOSSIL_ROOM def_signs - sign 3, 2, 2 ; Lab1Text2 - sign 9, 4, 3 ; Lab1Text3 - sign 13, 4, 4 ; Lab1Text4 - sign 17, 4, 5 ; Lab1Text5 + sign 3, 2, 2 ; Lab1Text2 + sign 9, 4, 3 ; Lab1Text3 + sign 13, 4, 4 ; Lab1Text4 + sign 17, 4, 5 ; Lab1Text5 def_objects object SPRITE_FISHING_GURU, 1, 3, STAY, NONE, 1 ; person diff --git a/data/maps/objects/CinnabarLabFossilRoom.asm b/data/maps/objects/CinnabarLabFossilRoom.asm index 66d1da69..8269eaeb 100755 --- a/data/maps/objects/CinnabarLabFossilRoom.asm +++ b/data/maps/objects/CinnabarLabFossilRoom.asm @@ -2,8 +2,8 @@ CinnabarLabFossilRoom_Object: db $17 ; border block def_warps - warp 2, 7, 4, CINNABAR_LAB - warp 3, 7, 4, CINNABAR_LAB + warp 2, 7, 4, CINNABAR_LAB + warp 3, 7, 4, CINNABAR_LAB def_signs diff --git a/data/maps/objects/CinnabarLabMetronomeRoom.asm b/data/maps/objects/CinnabarLabMetronomeRoom.asm index 3b787be6..b5969dfa 100755 --- a/data/maps/objects/CinnabarLabMetronomeRoom.asm +++ b/data/maps/objects/CinnabarLabMetronomeRoom.asm @@ -2,13 +2,13 @@ CinnabarLabMetronomeRoom_Object: db $17 ; border block def_warps - warp 2, 7, 3, CINNABAR_LAB - warp 3, 7, 3, CINNABAR_LAB + warp 2, 7, 3, CINNABAR_LAB + warp 3, 7, 3, CINNABAR_LAB def_signs - sign 0, 4, 3 ; Lab3Text3 - sign 1, 4, 4 ; Lab3Text4 - sign 2, 1, 5 ; Lab3Text5 + sign 0, 4, 3 ; Lab3Text3 + sign 1, 4, 4 ; Lab3Text4 + sign 2, 1, 5 ; Lab3Text5 def_objects object SPRITE_SCIENTIST, 7, 2, STAY, DOWN, 1 ; person diff --git a/data/maps/objects/CinnabarLabTradeRoom.asm b/data/maps/objects/CinnabarLabTradeRoom.asm index af6a8149..e23a19cf 100755 --- a/data/maps/objects/CinnabarLabTradeRoom.asm +++ b/data/maps/objects/CinnabarLabTradeRoom.asm @@ -2,8 +2,8 @@ CinnabarLabTradeRoom_Object: db $17 ; border block def_warps - warp 2, 7, 2, CINNABAR_LAB - warp 3, 7, 2, CINNABAR_LAB + warp 2, 7, 2, CINNABAR_LAB + warp 3, 7, 2, CINNABAR_LAB def_signs diff --git a/data/maps/objects/CinnabarMart.asm b/data/maps/objects/CinnabarMart.asm index 20776ea8..2413d993 100755 --- a/data/maps/objects/CinnabarMart.asm +++ b/data/maps/objects/CinnabarMart.asm @@ -2,8 +2,8 @@ CinnabarMart_Object: db $0 ; border block def_warps - warp 3, 7, 4, LAST_MAP - warp 4, 7, 4, LAST_MAP + warp 3, 7, 4, LAST_MAP + warp 4, 7, 4, LAST_MAP def_signs diff --git a/data/maps/objects/CinnabarPokecenter.asm b/data/maps/objects/CinnabarPokecenter.asm index 1f358d52..b1d89678 100755 --- a/data/maps/objects/CinnabarPokecenter.asm +++ b/data/maps/objects/CinnabarPokecenter.asm @@ -2,8 +2,8 @@ CinnabarPokecenter_Object: db $0 ; border block def_warps - warp 3, 7, 3, LAST_MAP - warp 4, 7, 3, LAST_MAP + warp 3, 7, 3, LAST_MAP + warp 4, 7, 3, LAST_MAP def_signs diff --git a/data/maps/objects/CopycatsHouse1F.asm b/data/maps/objects/CopycatsHouse1F.asm index 29a31624..c1250c91 100755 --- a/data/maps/objects/CopycatsHouse1F.asm +++ b/data/maps/objects/CopycatsHouse1F.asm @@ -2,9 +2,9 @@ CopycatsHouse1F_Object: db $a ; border block def_warps - warp 2, 7, 0, LAST_MAP - warp 3, 7, 0, LAST_MAP - warp 7, 1, 0, COPYCATS_HOUSE_2F + warp 2, 7, 0, LAST_MAP + warp 3, 7, 0, LAST_MAP + warp 7, 1, 0, COPYCATS_HOUSE_2F def_signs diff --git a/data/maps/objects/CopycatsHouse2F.asm b/data/maps/objects/CopycatsHouse2F.asm index 4c073582..e04edee7 100755 --- a/data/maps/objects/CopycatsHouse2F.asm +++ b/data/maps/objects/CopycatsHouse2F.asm @@ -2,11 +2,11 @@ CopycatsHouse2F_Object: db $a ; border block def_warps - warp 7, 1, 2, COPYCATS_HOUSE_1F + warp 7, 1, 2, COPYCATS_HOUSE_1F def_signs - sign 3, 5, 6 ; CopycatsHouse2FText6 - sign 0, 1, 7 ; CopycatsHouse2FText7 + sign 3, 5, 6 ; CopycatsHouse2FText6 + sign 0, 1, 7 ; CopycatsHouse2FText7 def_objects object SPRITE_BRUNETTE_GIRL, 4, 3, WALK, ANY_DIR, 1 ; person diff --git a/data/maps/objects/Daycare.asm b/data/maps/objects/Daycare.asm index fe2b8ab8..2feecff3 100755 --- a/data/maps/objects/Daycare.asm +++ b/data/maps/objects/Daycare.asm @@ -2,8 +2,8 @@ Daycare_Object: db $a ; border block def_warps - warp 2, 7, 4, LAST_MAP - warp 3, 7, 4, LAST_MAP + warp 2, 7, 4, LAST_MAP + warp 3, 7, 4, LAST_MAP def_signs diff --git a/data/maps/objects/DiglettsCave.asm b/data/maps/objects/DiglettsCave.asm index 1465c34a..dc4889e5 100755 --- a/data/maps/objects/DiglettsCave.asm +++ b/data/maps/objects/DiglettsCave.asm @@ -2,7 +2,7 @@ DiglettsCave_Object: db $19 ; border block def_warps - warp 5, 5, 2, DIGLETTS_CAVE_ROUTE_2 + warp 5, 5, 2, DIGLETTS_CAVE_ROUTE_2 warp 37, 31, 2, DIGLETTS_CAVE_ROUTE_11 def_signs diff --git a/data/maps/objects/DiglettsCaveRoute11.asm b/data/maps/objects/DiglettsCaveRoute11.asm index e29a40d6..f6c884d9 100755 --- a/data/maps/objects/DiglettsCaveRoute11.asm +++ b/data/maps/objects/DiglettsCaveRoute11.asm @@ -2,9 +2,9 @@ DiglettsCaveRoute11_Object: db $7d ; border block def_warps - warp 2, 7, 4, LAST_MAP - warp 3, 7, 4, LAST_MAP - warp 4, 4, 1, DIGLETTS_CAVE + warp 2, 7, 4, LAST_MAP + warp 3, 7, 4, LAST_MAP + warp 4, 4, 1, DIGLETTS_CAVE def_signs diff --git a/data/maps/objects/DiglettsCaveRoute2.asm b/data/maps/objects/DiglettsCaveRoute2.asm index bb95f541..948a82e3 100755 --- a/data/maps/objects/DiglettsCaveRoute2.asm +++ b/data/maps/objects/DiglettsCaveRoute2.asm @@ -2,9 +2,9 @@ DiglettsCaveRoute2_Object: db $7d ; border block def_warps - warp 2, 7, 0, LAST_MAP - warp 3, 7, 0, LAST_MAP - warp 4, 4, 0, DIGLETTS_CAVE + warp 2, 7, 0, LAST_MAP + warp 3, 7, 0, LAST_MAP + warp 4, 4, 0, DIGLETTS_CAVE def_signs diff --git a/data/maps/objects/FightingDojo.asm b/data/maps/objects/FightingDojo.asm index e9f4d7d4..5345a7aa 100755 --- a/data/maps/objects/FightingDojo.asm +++ b/data/maps/objects/FightingDojo.asm @@ -2,8 +2,8 @@ FightingDojo_Object: db $3 ; border block def_warps - warp 4, 11, 1, LAST_MAP - warp 5, 11, 1, LAST_MAP + warp 4, 11, 1, LAST_MAP + warp 5, 11, 1, LAST_MAP def_signs diff --git a/data/maps/objects/FuchsiaBillsGrandpasHouse.asm b/data/maps/objects/FuchsiaBillsGrandpasHouse.asm index 801f3d6f..30aff6c5 100755 --- a/data/maps/objects/FuchsiaBillsGrandpasHouse.asm +++ b/data/maps/objects/FuchsiaBillsGrandpasHouse.asm @@ -2,8 +2,8 @@ FuchsiaBillsGrandpasHouse_Object: db $a ; border block def_warps - warp 2, 7, 1, LAST_MAP - warp 3, 7, 1, LAST_MAP + warp 2, 7, 1, LAST_MAP + warp 3, 7, 1, LAST_MAP def_signs diff --git a/data/maps/objects/FuchsiaCity.asm b/data/maps/objects/FuchsiaCity.asm index adb68a15..d0230a01 100755 --- a/data/maps/objects/FuchsiaCity.asm +++ b/data/maps/objects/FuchsiaCity.asm @@ -2,12 +2,12 @@ FuchsiaCity_Object: db $f ; border block def_warps - warp 5, 13, 0, FUCHSIA_MART + warp 5, 13, 0, FUCHSIA_MART warp 11, 27, 0, FUCHSIA_BILLS_GRANDPAS_HOUSE warp 19, 27, 0, FUCHSIA_POKECENTER warp 27, 27, 0, WARDENS_HOUSE - warp 18, 3, 0, SAFARI_ZONE_GATE - warp 5, 27, 0, FUCHSIA_GYM + warp 18, 3, 0, SAFARI_ZONE_GATE + warp 5, 27, 0, FUCHSIA_GYM warp 22, 13, 0, FUCHSIA_MEETING_ROOM warp 31, 27, 1, FUCHSIA_GOOD_ROD_HOUSE warp 31, 24, 0, FUCHSIA_GOOD_ROD_HOUSE @@ -15,18 +15,18 @@ FuchsiaCity_Object: def_signs sign 15, 23, 11 ; FuchsiaCityText11 sign 25, 15, 12 ; FuchsiaCityText12 - sign 17, 5, 13 ; FuchsiaCityText13 - sign 6, 13, 14 ; MartSignText + sign 17, 5, 13 ; FuchsiaCityText13 + sign 6, 13, 14 ; MartSignText sign 20, 27, 15 ; PokeCenterSignText sign 27, 29, 16 ; FuchsiaCityText16 sign 21, 15, 17 ; FuchsiaCityText17 - sign 5, 29, 18 ; FuchsiaCityText18 - sign 33, 7, 19 ; FuchsiaCityText19 - sign 27, 7, 20 ; FuchsiaCityText20 - sign 13, 7, 21 ; FuchsiaCityText21 + sign 5, 29, 18 ; FuchsiaCityText18 + sign 33, 7, 19 ; FuchsiaCityText19 + sign 27, 7, 20 ; FuchsiaCityText20 + sign 13, 7, 21 ; FuchsiaCityText21 sign 31, 13, 22 ; FuchsiaCityText22 sign 13, 15, 23 ; FuchsiaCityText23 - sign 7, 7, 24 ; FuchsiaCityText24 + sign 7, 7, 24 ; FuchsiaCityText24 def_objects object SPRITE_YOUNGSTER, 10, 12, WALK, LEFT_RIGHT, 1 ; person diff --git a/data/maps/objects/FuchsiaGoodRodHouse.asm b/data/maps/objects/FuchsiaGoodRodHouse.asm index 687554b6..434cec8b 100755 --- a/data/maps/objects/FuchsiaGoodRodHouse.asm +++ b/data/maps/objects/FuchsiaGoodRodHouse.asm @@ -2,9 +2,9 @@ FuchsiaGoodRodHouse_Object: db $c ; border block def_warps - warp 2, 0, 8, LAST_MAP - warp 2, 7, 7, LAST_MAP - warp 3, 7, 7, LAST_MAP + warp 2, 0, 8, LAST_MAP + warp 2, 7, 7, LAST_MAP + warp 3, 7, 7, LAST_MAP def_signs diff --git a/data/maps/objects/FuchsiaGym.asm b/data/maps/objects/FuchsiaGym.asm index 0d13782f..a48794ff 100755 --- a/data/maps/objects/FuchsiaGym.asm +++ b/data/maps/objects/FuchsiaGym.asm @@ -2,8 +2,8 @@ FuchsiaGym_Object: db $3 ; border block def_warps - warp 4, 17, 5, LAST_MAP - warp 5, 17, 5, LAST_MAP + warp 4, 17, 5, LAST_MAP + warp 5, 17, 5, LAST_MAP def_signs diff --git a/data/maps/objects/FuchsiaMart.asm b/data/maps/objects/FuchsiaMart.asm index 02b07d46..0a238a87 100755 --- a/data/maps/objects/FuchsiaMart.asm +++ b/data/maps/objects/FuchsiaMart.asm @@ -2,8 +2,8 @@ FuchsiaMart_Object: db $0 ; border block def_warps - warp 3, 7, 0, LAST_MAP - warp 4, 7, 0, LAST_MAP + warp 3, 7, 0, LAST_MAP + warp 4, 7, 0, LAST_MAP def_signs diff --git a/data/maps/objects/FuchsiaMeetingRoom.asm b/data/maps/objects/FuchsiaMeetingRoom.asm index 7a0006b0..e4c2a83b 100755 --- a/data/maps/objects/FuchsiaMeetingRoom.asm +++ b/data/maps/objects/FuchsiaMeetingRoom.asm @@ -2,8 +2,8 @@ FuchsiaMeetingRoom_Object: db $17 ; border block def_warps - warp 4, 7, 6, LAST_MAP - warp 5, 7, 6, LAST_MAP + warp 4, 7, 6, LAST_MAP + warp 5, 7, 6, LAST_MAP def_signs diff --git a/data/maps/objects/FuchsiaPokecenter.asm b/data/maps/objects/FuchsiaPokecenter.asm index fb873e96..54c5952b 100755 --- a/data/maps/objects/FuchsiaPokecenter.asm +++ b/data/maps/objects/FuchsiaPokecenter.asm @@ -2,8 +2,8 @@ FuchsiaPokecenter_Object: db $0 ; border block def_warps - warp 3, 7, 2, LAST_MAP - warp 4, 7, 2, LAST_MAP + warp 3, 7, 2, LAST_MAP + warp 4, 7, 2, LAST_MAP def_signs diff --git a/data/maps/objects/GameCorner.asm b/data/maps/objects/GameCorner.asm index 15edca4f..90708941 100755 --- a/data/maps/objects/GameCorner.asm +++ b/data/maps/objects/GameCorner.asm @@ -4,10 +4,10 @@ GameCorner_Object: def_warps warp 15, 17, 7, LAST_MAP warp 16, 17, 7, LAST_MAP - warp 17, 4, 1, ROCKET_HIDEOUT_B1F + warp 17, 4, 1, ROCKET_HIDEOUT_B1F def_signs - sign 9, 4, 12 ; CeladonGameCornerText12 + sign 9, 4, 12 ; CeladonGameCornerText12 def_objects object SPRITE_BEAUTY, 2, 6, STAY, DOWN, 1 ; person diff --git a/data/maps/objects/GameCornerPrizeRoom.asm b/data/maps/objects/GameCornerPrizeRoom.asm index 025e44c0..d55decf1 100755 --- a/data/maps/objects/GameCornerPrizeRoom.asm +++ b/data/maps/objects/GameCornerPrizeRoom.asm @@ -2,13 +2,13 @@ GameCornerPrizeRoom_Object: db $f ; border block def_warps - warp 4, 7, 9, LAST_MAP - warp 5, 7, 9, LAST_MAP + warp 4, 7, 9, LAST_MAP + warp 5, 7, 9, LAST_MAP def_signs - sign 2, 2, 3 ; CeladonPrizeRoomText3 - sign 4, 2, 4 ; CeladonPrizeRoomText4 - sign 6, 2, 5 ; CeladonPrizeRoomText5 + sign 2, 2, 3 ; CeladonPrizeRoomText3 + sign 4, 2, 4 ; CeladonPrizeRoomText4 + sign 6, 2, 5 ; CeladonPrizeRoomText5 def_objects object SPRITE_BALDING_GUY, 1, 4, STAY, NONE, 1 ; person diff --git a/data/maps/objects/HallOfFame.asm b/data/maps/objects/HallOfFame.asm index 613efccf..caa55bf6 100755 --- a/data/maps/objects/HallOfFame.asm +++ b/data/maps/objects/HallOfFame.asm @@ -2,8 +2,8 @@ HallOfFame_Object: db $3 ; border block def_warps - warp 4, 7, 2, CHAMPIONS_ROOM - warp 5, 7, 3, CHAMPIONS_ROOM + warp 4, 7, 2, CHAMPIONS_ROOM + warp 5, 7, 3, CHAMPIONS_ROOM def_signs diff --git a/data/maps/objects/IndigoPlateau.asm b/data/maps/objects/IndigoPlateau.asm index b3ec1140..d67c9f8a 100755 --- a/data/maps/objects/IndigoPlateau.asm +++ b/data/maps/objects/IndigoPlateau.asm @@ -2,8 +2,8 @@ IndigoPlateau_Object: db $e ; border block def_warps - warp 9, 5, 0, INDIGO_PLATEAU_LOBBY - warp 10, 5, 0, INDIGO_PLATEAU_LOBBY + warp 9, 5, 0, INDIGO_PLATEAU_LOBBY + warp 10, 5, 0, INDIGO_PLATEAU_LOBBY def_signs diff --git a/data/maps/objects/IndigoPlateauLobby.asm b/data/maps/objects/IndigoPlateauLobby.asm index 9c4c4435..3244b4ad 100755 --- a/data/maps/objects/IndigoPlateauLobby.asm +++ b/data/maps/objects/IndigoPlateauLobby.asm @@ -2,9 +2,9 @@ IndigoPlateauLobby_Object: db $0 ; border block def_warps - warp 7, 11, 0, LAST_MAP - warp 8, 11, 1, LAST_MAP - warp 8, 0, 0, LORELEIS_ROOM + warp 7, 11, 0, LAST_MAP + warp 8, 11, 1, LAST_MAP + warp 8, 0, 0, LORELEIS_ROOM def_signs diff --git a/data/maps/objects/LancesRoom.asm b/data/maps/objects/LancesRoom.asm index 01cde61e..a8dc4777 100755 --- a/data/maps/objects/LancesRoom.asm +++ b/data/maps/objects/LancesRoom.asm @@ -3,8 +3,8 @@ LancesRoom_Object: def_warps warp 24, 16, 2, AGATHAS_ROOM - warp 5, 0, 0, CHAMPIONS_ROOM - warp 6, 0, 0, CHAMPIONS_ROOM + warp 5, 0, 0, CHAMPIONS_ROOM + warp 6, 0, 0, CHAMPIONS_ROOM def_signs diff --git a/data/maps/objects/LavenderCuboneHouse.asm b/data/maps/objects/LavenderCuboneHouse.asm index 8b40faa8..7e7443e2 100755 --- a/data/maps/objects/LavenderCuboneHouse.asm +++ b/data/maps/objects/LavenderCuboneHouse.asm @@ -2,8 +2,8 @@ LavenderCuboneHouse_Object: db $a ; border block def_warps - warp 2, 7, 4, LAST_MAP - warp 3, 7, 4, LAST_MAP + warp 2, 7, 4, LAST_MAP + warp 3, 7, 4, LAST_MAP def_signs diff --git a/data/maps/objects/LavenderMart.asm b/data/maps/objects/LavenderMart.asm index 21694aed..00d5a64b 100755 --- a/data/maps/objects/LavenderMart.asm +++ b/data/maps/objects/LavenderMart.asm @@ -2,8 +2,8 @@ LavenderMart_Object: db $0 ; border block def_warps - warp 3, 7, 3, LAST_MAP - warp 4, 7, 3, LAST_MAP + warp 3, 7, 3, LAST_MAP + warp 4, 7, 3, LAST_MAP def_signs diff --git a/data/maps/objects/LavenderPokecenter.asm b/data/maps/objects/LavenderPokecenter.asm index e12ac320..98975531 100755 --- a/data/maps/objects/LavenderPokecenter.asm +++ b/data/maps/objects/LavenderPokecenter.asm @@ -2,8 +2,8 @@ LavenderPokecenter_Object: db $0 ; border block def_warps - warp 3, 7, 0, LAST_MAP - warp 4, 7, 0, LAST_MAP + warp 3, 7, 0, LAST_MAP + warp 4, 7, 0, LAST_MAP def_signs diff --git a/data/maps/objects/LavenderTown.asm b/data/maps/objects/LavenderTown.asm index 9dbd9802..f34659c1 100755 --- a/data/maps/objects/LavenderTown.asm +++ b/data/maps/objects/LavenderTown.asm @@ -2,20 +2,20 @@ LavenderTown_Object: db $2c ; border block def_warps - warp 3, 5, 0, LAVENDER_POKECENTER - warp 14, 5, 0, POKEMON_TOWER_1F - warp 7, 9, 0, MR_FUJIS_HOUSE + warp 3, 5, 0, LAVENDER_POKECENTER + warp 14, 5, 0, POKEMON_TOWER_1F + warp 7, 9, 0, MR_FUJIS_HOUSE warp 15, 13, 0, LAVENDER_MART - warp 3, 13, 0, LAVENDER_CUBONE_HOUSE - warp 7, 13, 0, NAME_RATERS_HOUSE + warp 3, 13, 0, LAVENDER_CUBONE_HOUSE + warp 7, 13, 0, NAME_RATERS_HOUSE def_signs - sign 11, 9, 4 ; LavenderTownText4 - sign 9, 3, 5 ; LavenderTownText5 + sign 11, 9, 4 ; LavenderTownText4 + sign 9, 3, 5 ; LavenderTownText5 sign 16, 13, 6 ; MartSignText - sign 4, 5, 7 ; PokeCenterSignText - sign 5, 9, 8 ; LavenderTownText8 - sign 17, 7, 9 ; LavenderTownText9 + sign 4, 5, 7 ; PokeCenterSignText + sign 5, 9, 8 ; LavenderTownText8 + sign 17, 7, 9 ; LavenderTownText9 def_objects object SPRITE_LITTLE_GIRL, 15, 9, WALK, ANY_DIR, 1 ; person diff --git a/data/maps/objects/LoreleisRoom.asm b/data/maps/objects/LoreleisRoom.asm index 0c119ea3..91a306b8 100755 --- a/data/maps/objects/LoreleisRoom.asm +++ b/data/maps/objects/LoreleisRoom.asm @@ -2,10 +2,10 @@ LoreleisRoom_Object: db $3 ; border block def_warps - warp 4, 11, 2, INDIGO_PLATEAU_LOBBY - warp 5, 11, 2, INDIGO_PLATEAU_LOBBY - warp 4, 0, 0, BRUNOS_ROOM - warp 5, 0, 1, BRUNOS_ROOM + warp 4, 11, 2, INDIGO_PLATEAU_LOBBY + warp 5, 11, 2, INDIGO_PLATEAU_LOBBY + warp 4, 0, 0, BRUNOS_ROOM + warp 5, 0, 1, BRUNOS_ROOM def_signs diff --git a/data/maps/objects/MrFujisHouse.asm b/data/maps/objects/MrFujisHouse.asm index fa229664..6ec762f6 100755 --- a/data/maps/objects/MrFujisHouse.asm +++ b/data/maps/objects/MrFujisHouse.asm @@ -2,8 +2,8 @@ MrFujisHouse_Object: db $a ; border block def_warps - warp 2, 7, 2, LAST_MAP - warp 3, 7, 2, LAST_MAP + warp 2, 7, 2, LAST_MAP + warp 3, 7, 2, LAST_MAP def_signs diff --git a/data/maps/objects/MrPsychicsHouse.asm b/data/maps/objects/MrPsychicsHouse.asm index 6f9c4923..44367b20 100755 --- a/data/maps/objects/MrPsychicsHouse.asm +++ b/data/maps/objects/MrPsychicsHouse.asm @@ -2,8 +2,8 @@ MrPsychicsHouse_Object: db $a ; border block def_warps - warp 2, 7, 7, LAST_MAP - warp 3, 7, 7, LAST_MAP + warp 2, 7, 7, LAST_MAP + warp 3, 7, 7, LAST_MAP def_signs diff --git a/data/maps/objects/MtMoon1F.asm b/data/maps/objects/MtMoon1F.asm index c095ec84..8b40ac4f 100755 --- a/data/maps/objects/MtMoon1F.asm +++ b/data/maps/objects/MtMoon1F.asm @@ -4,7 +4,7 @@ MtMoon1F_Object: def_warps warp 14, 35, 1, LAST_MAP warp 15, 35, 1, LAST_MAP - warp 5, 5, 0, MT_MOON_B1F + warp 5, 5, 0, MT_MOON_B1F warp 17, 11, 2, MT_MOON_B1F warp 25, 15, 3, MT_MOON_B1F diff --git a/data/maps/objects/MtMoonB1F.asm b/data/maps/objects/MtMoonB1F.asm index dc342955..69fa3c17 100755 --- a/data/maps/objects/MtMoonB1F.asm +++ b/data/maps/objects/MtMoonB1F.asm @@ -2,14 +2,14 @@ MtMoonB1F_Object: db $3 ; border block def_warps - warp 5, 5, 2, MT_MOON_1F + warp 5, 5, 2, MT_MOON_1F warp 17, 11, 0, MT_MOON_B2F - warp 25, 9, 3, MT_MOON_1F + warp 25, 9, 3, MT_MOON_1F warp 25, 15, 4, MT_MOON_1F warp 21, 17, 1, MT_MOON_B2F warp 13, 27, 2, MT_MOON_B2F - warp 23, 3, 3, MT_MOON_B2F - warp 27, 3, 2, LAST_MAP + warp 23, 3, 3, MT_MOON_B2F + warp 27, 3, 2, LAST_MAP def_signs diff --git a/data/maps/objects/MtMoonB2F.asm b/data/maps/objects/MtMoonB2F.asm index 556388cb..7b2e7e5a 100755 --- a/data/maps/objects/MtMoonB2F.asm +++ b/data/maps/objects/MtMoonB2F.asm @@ -2,10 +2,10 @@ MtMoonB2F_Object: db $3 ; border block def_warps - warp 25, 9, 1, MT_MOON_B1F + warp 25, 9, 1, MT_MOON_B1F warp 21, 17, 4, MT_MOON_B1F warp 15, 27, 5, MT_MOON_B1F - warp 5, 7, 6, MT_MOON_B1F + warp 5, 7, 6, MT_MOON_B1F def_signs diff --git a/data/maps/objects/MtMoonPokecenter.asm b/data/maps/objects/MtMoonPokecenter.asm index 3caf8c36..5648de6e 100755 --- a/data/maps/objects/MtMoonPokecenter.asm +++ b/data/maps/objects/MtMoonPokecenter.asm @@ -2,8 +2,8 @@ MtMoonPokecenter_Object: db $0 ; border block def_warps - warp 3, 7, 0, LAST_MAP - warp 4, 7, 0, LAST_MAP + warp 3, 7, 0, LAST_MAP + warp 4, 7, 0, LAST_MAP def_signs diff --git a/data/maps/objects/Museum1F.asm b/data/maps/objects/Museum1F.asm index 9c31b4fb..3628173c 100755 --- a/data/maps/objects/Museum1F.asm +++ b/data/maps/objects/Museum1F.asm @@ -2,11 +2,11 @@ Museum1F_Object: db $a ; border block def_warps - warp 10, 7, 0, LAST_MAP - warp 11, 7, 0, LAST_MAP - warp 16, 7, 1, LAST_MAP - warp 17, 7, 1, LAST_MAP - warp 7, 7, 0, MUSEUM_2F + warp 10, 7, 0, LAST_MAP + warp 11, 7, 0, LAST_MAP + warp 16, 7, 1, LAST_MAP + warp 17, 7, 1, LAST_MAP + warp 7, 7, 0, MUSEUM_2F def_signs diff --git a/data/maps/objects/Museum2F.asm b/data/maps/objects/Museum2F.asm index 92700344..72f98f9b 100755 --- a/data/maps/objects/Museum2F.asm +++ b/data/maps/objects/Museum2F.asm @@ -2,11 +2,11 @@ Museum2F_Object: db $a ; border block def_warps - warp 7, 7, 4, MUSEUM_1F + warp 7, 7, 4, MUSEUM_1F def_signs - sign 11, 2, 6 ; Museum2FText6 - sign 2, 5, 7 ; Museum2FText7 + sign 11, 2, 6 ; Museum2FText6 + sign 2, 5, 7 ; Museum2FText7 def_objects object SPRITE_YOUNGSTER, 1, 7, WALK, LEFT_RIGHT, 1 ; person diff --git a/data/maps/objects/NameRatersHouse.asm b/data/maps/objects/NameRatersHouse.asm index 69f5e6ac..935a6887 100755 --- a/data/maps/objects/NameRatersHouse.asm +++ b/data/maps/objects/NameRatersHouse.asm @@ -2,8 +2,8 @@ NameRatersHouse_Object: db $a ; border block def_warps - warp 2, 7, 5, LAST_MAP - warp 3, 7, 5, LAST_MAP + warp 2, 7, 5, LAST_MAP + warp 3, 7, 5, LAST_MAP def_signs diff --git a/data/maps/objects/OaksLab.asm b/data/maps/objects/OaksLab.asm index 55066be4..e7f3701c 100755 --- a/data/maps/objects/OaksLab.asm +++ b/data/maps/objects/OaksLab.asm @@ -2,8 +2,8 @@ OaksLab_Object: db $3 ; border block def_warps - warp 4, 11, 2, LAST_MAP - warp 5, 11, 2, LAST_MAP + warp 4, 11, 2, LAST_MAP + warp 5, 11, 2, LAST_MAP def_signs diff --git a/data/maps/objects/PalletTown.asm b/data/maps/objects/PalletTown.asm index ba7f91e4..d362b2c9 100755 --- a/data/maps/objects/PalletTown.asm +++ b/data/maps/objects/PalletTown.asm @@ -2,15 +2,15 @@ PalletTown_Object: db $b ; border block def_warps - warp 5, 5, 0, REDS_HOUSE_1F - warp 13, 5, 0, BLUES_HOUSE + warp 5, 5, 0, REDS_HOUSE_1F + warp 13, 5, 0, BLUES_HOUSE warp 12, 11, 1, OAKS_LAB def_signs sign 13, 13, 4 ; PalletTownText4 - sign 7, 9, 5 ; PalletTownText5 - sign 3, 5, 6 ; PalletTownText6 - sign 11, 5, 7 ; PalletTownText7 + sign 7, 9, 5 ; PalletTownText5 + sign 3, 5, 6 ; PalletTownText6 + sign 11, 5, 7 ; PalletTownText7 def_objects object SPRITE_OAK, 8, 5, STAY, NONE, 1 ; person diff --git a/data/maps/objects/PewterCity.asm b/data/maps/objects/PewterCity.asm index 6385f5a5..13d228f2 100755 --- a/data/maps/objects/PewterCity.asm +++ b/data/maps/objects/PewterCity.asm @@ -2,20 +2,20 @@ PewterCity_Object: db $a ; border block def_warps - warp 14, 7, 0, MUSEUM_1F - warp 19, 5, 2, MUSEUM_1F + warp 14, 7, 0, MUSEUM_1F + warp 19, 5, 2, MUSEUM_1F warp 16, 17, 0, PEWTER_GYM warp 29, 13, 0, PEWTER_NIDORAN_HOUSE warp 23, 17, 0, PEWTER_MART - warp 7, 29, 0, PEWTER_SPEECH_HOUSE + warp 7, 29, 0, PEWTER_SPEECH_HOUSE warp 13, 25, 0, PEWTER_POKECENTER def_signs - sign 19, 29, 6 ; PewterCityText6 - sign 33, 19, 7 ; PewterCityText7 - sign 24, 17, 8 ; MartSignText - sign 14, 25, 9 ; PokeCenterSignText - sign 15, 9, 10 ; PewterCityText10 + sign 19, 29, 6 ; PewterCityText6 + sign 33, 19, 7 ; PewterCityText7 + sign 24, 17, 8 ; MartSignText + sign 14, 25, 9 ; PokeCenterSignText + sign 15, 9, 10 ; PewterCityText10 sign 11, 17, 11 ; PewterCityText11 sign 25, 23, 12 ; PewterCityText12 diff --git a/data/maps/objects/PewterGym.asm b/data/maps/objects/PewterGym.asm index f4e6bf31..9c21701a 100755 --- a/data/maps/objects/PewterGym.asm +++ b/data/maps/objects/PewterGym.asm @@ -2,8 +2,8 @@ PewterGym_Object: db $3 ; border block def_warps - warp 4, 13, 2, LAST_MAP - warp 5, 13, 2, LAST_MAP + warp 4, 13, 2, LAST_MAP + warp 5, 13, 2, LAST_MAP def_signs diff --git a/data/maps/objects/PewterMart.asm b/data/maps/objects/PewterMart.asm index 97981339..9685d5c7 100755 --- a/data/maps/objects/PewterMart.asm +++ b/data/maps/objects/PewterMart.asm @@ -2,8 +2,8 @@ PewterMart_Object: db $0 ; border block def_warps - warp 3, 7, 4, LAST_MAP - warp 4, 7, 4, LAST_MAP + warp 3, 7, 4, LAST_MAP + warp 4, 7, 4, LAST_MAP def_signs diff --git a/data/maps/objects/PewterNidoranHouse.asm b/data/maps/objects/PewterNidoranHouse.asm index 6fe42f2e..b1fd0a74 100755 --- a/data/maps/objects/PewterNidoranHouse.asm +++ b/data/maps/objects/PewterNidoranHouse.asm @@ -2,8 +2,8 @@ PewterNidoranHouse_Object: db $a ; border block def_warps - warp 2, 7, 3, LAST_MAP - warp 3, 7, 3, LAST_MAP + warp 2, 7, 3, LAST_MAP + warp 3, 7, 3, LAST_MAP def_signs diff --git a/data/maps/objects/PewterPokecenter.asm b/data/maps/objects/PewterPokecenter.asm index 855dfbf1..8d41a155 100755 --- a/data/maps/objects/PewterPokecenter.asm +++ b/data/maps/objects/PewterPokecenter.asm @@ -2,8 +2,8 @@ PewterPokecenter_Object: db $0 ; border block def_warps - warp 3, 7, 6, LAST_MAP - warp 4, 7, 6, LAST_MAP + warp 3, 7, 6, LAST_MAP + warp 4, 7, 6, LAST_MAP def_signs diff --git a/data/maps/objects/PewterSpeechHouse.asm b/data/maps/objects/PewterSpeechHouse.asm index 6fa890de..4dafb7be 100755 --- a/data/maps/objects/PewterSpeechHouse.asm +++ b/data/maps/objects/PewterSpeechHouse.asm @@ -2,8 +2,8 @@ PewterSpeechHouse_Object: db $a ; border block def_warps - warp 2, 7, 5, LAST_MAP - warp 3, 7, 5, LAST_MAP + warp 2, 7, 5, LAST_MAP + warp 3, 7, 5, LAST_MAP def_signs diff --git a/data/maps/objects/PokemonFanClub.asm b/data/maps/objects/PokemonFanClub.asm index ee24d2a4..19fbb129 100755 --- a/data/maps/objects/PokemonFanClub.asm +++ b/data/maps/objects/PokemonFanClub.asm @@ -2,12 +2,12 @@ PokemonFanClub_Object: db $d ; border block def_warps - warp 2, 7, 1, LAST_MAP - warp 3, 7, 1, LAST_MAP + warp 2, 7, 1, LAST_MAP + warp 3, 7, 1, LAST_MAP def_signs - sign 1, 0, 7 ; FanClubText7 - sign 6, 0, 8 ; FanClubText8 + sign 1, 0, 7 ; FanClubText7 + sign 6, 0, 8 ; FanClubText8 def_objects object SPRITE_FISHER, 6, 3, STAY, LEFT, 1 ; person diff --git a/data/maps/objects/PokemonMansion1F.asm b/data/maps/objects/PokemonMansion1F.asm index 6edd6bce..70eef1a1 100755 --- a/data/maps/objects/PokemonMansion1F.asm +++ b/data/maps/objects/PokemonMansion1F.asm @@ -2,11 +2,11 @@ PokemonMansion1F_Object: db $2e ; border block def_warps - warp 4, 27, 0, LAST_MAP - warp 5, 27, 0, LAST_MAP - warp 6, 27, 0, LAST_MAP - warp 7, 27, 0, LAST_MAP - warp 5, 10, 0, POKEMON_MANSION_2F + warp 4, 27, 0, LAST_MAP + warp 5, 27, 0, LAST_MAP + warp 6, 27, 0, LAST_MAP + warp 7, 27, 0, LAST_MAP + warp 5, 10, 0, POKEMON_MANSION_2F warp 21, 23, 0, POKEMON_MANSION_B1F warp 26, 27, 0, LAST_MAP warp 27, 27, 0, LAST_MAP diff --git a/data/maps/objects/PokemonMansion2F.asm b/data/maps/objects/PokemonMansion2F.asm index 95174661..8d504eef 100755 --- a/data/maps/objects/PokemonMansion2F.asm +++ b/data/maps/objects/PokemonMansion2F.asm @@ -2,10 +2,10 @@ PokemonMansion2F_Object: db $1 ; border block def_warps - warp 5, 10, 4, POKEMON_MANSION_1F - warp 7, 10, 0, POKEMON_MANSION_3F + warp 5, 10, 4, POKEMON_MANSION_1F + warp 7, 10, 0, POKEMON_MANSION_3F warp 25, 14, 2, POKEMON_MANSION_3F - warp 6, 1, 1, POKEMON_MANSION_3F + warp 6, 1, 1, POKEMON_MANSION_3F def_signs diff --git a/data/maps/objects/PokemonMansion3F.asm b/data/maps/objects/PokemonMansion3F.asm index 84ef02d8..fdf16a8d 100755 --- a/data/maps/objects/PokemonMansion3F.asm +++ b/data/maps/objects/PokemonMansion3F.asm @@ -2,8 +2,8 @@ PokemonMansion3F_Object: db $1 ; border block def_warps - warp 7, 10, 1, POKEMON_MANSION_2F - warp 6, 1, 3, POKEMON_MANSION_2F + warp 7, 10, 1, POKEMON_MANSION_2F + warp 6, 1, 3, POKEMON_MANSION_2F warp 25, 14, 2, POKEMON_MANSION_2F def_signs diff --git a/data/maps/objects/PokemonTower1F.asm b/data/maps/objects/PokemonTower1F.asm index 56615f79..b73c7562 100755 --- a/data/maps/objects/PokemonTower1F.asm +++ b/data/maps/objects/PokemonTower1F.asm @@ -4,7 +4,7 @@ PokemonTower1F_Object: def_warps warp 10, 17, 1, LAST_MAP warp 11, 17, 1, LAST_MAP - warp 18, 9, 1, POKEMON_TOWER_2F + warp 18, 9, 1, POKEMON_TOWER_2F def_signs diff --git a/data/maps/objects/PokemonTower2F.asm b/data/maps/objects/PokemonTower2F.asm index 9c0770e9..27bd2f1b 100755 --- a/data/maps/objects/PokemonTower2F.asm +++ b/data/maps/objects/PokemonTower2F.asm @@ -2,8 +2,8 @@ PokemonTower2F_Object: db $1 ; border block def_warps - warp 3, 9, 0, POKEMON_TOWER_3F - warp 18, 9, 2, POKEMON_TOWER_1F + warp 3, 9, 0, POKEMON_TOWER_3F + warp 18, 9, 2, POKEMON_TOWER_1F def_signs diff --git a/data/maps/objects/PokemonTower3F.asm b/data/maps/objects/PokemonTower3F.asm index 3d5272ba..af1b17dc 100755 --- a/data/maps/objects/PokemonTower3F.asm +++ b/data/maps/objects/PokemonTower3F.asm @@ -2,8 +2,8 @@ PokemonTower3F_Object: db $1 ; border block def_warps - warp 3, 9, 0, POKEMON_TOWER_2F - warp 18, 9, 1, POKEMON_TOWER_4F + warp 3, 9, 0, POKEMON_TOWER_2F + warp 18, 9, 1, POKEMON_TOWER_4F def_signs diff --git a/data/maps/objects/PokemonTower4F.asm b/data/maps/objects/PokemonTower4F.asm index 675a1407..64801e23 100755 --- a/data/maps/objects/PokemonTower4F.asm +++ b/data/maps/objects/PokemonTower4F.asm @@ -2,8 +2,8 @@ PokemonTower4F_Object: db $1 ; border block def_warps - warp 3, 9, 0, POKEMON_TOWER_5F - warp 18, 9, 1, POKEMON_TOWER_3F + warp 3, 9, 0, POKEMON_TOWER_5F + warp 18, 9, 1, POKEMON_TOWER_3F def_signs diff --git a/data/maps/objects/PokemonTower5F.asm b/data/maps/objects/PokemonTower5F.asm index bf7ff716..33482ed5 100755 --- a/data/maps/objects/PokemonTower5F.asm +++ b/data/maps/objects/PokemonTower5F.asm @@ -2,8 +2,8 @@ PokemonTower5F_Object: db $1 ; border block def_warps - warp 3, 9, 0, POKEMON_TOWER_4F - warp 18, 9, 0, POKEMON_TOWER_6F + warp 3, 9, 0, POKEMON_TOWER_4F + warp 18, 9, 0, POKEMON_TOWER_6F def_signs diff --git a/data/maps/objects/PokemonTower6F.asm b/data/maps/objects/PokemonTower6F.asm index c90e57f2..8e7b276c 100755 --- a/data/maps/objects/PokemonTower6F.asm +++ b/data/maps/objects/PokemonTower6F.asm @@ -2,8 +2,8 @@ PokemonTower6F_Object: db $1 ; border block def_warps - warp 18, 9, 1, POKEMON_TOWER_5F - warp 9, 16, 0, POKEMON_TOWER_7F + warp 18, 9, 1, POKEMON_TOWER_5F + warp 9, 16, 0, POKEMON_TOWER_7F def_signs diff --git a/data/maps/objects/PokemonTower7F.asm b/data/maps/objects/PokemonTower7F.asm index 427cb39d..6d258f0d 100755 --- a/data/maps/objects/PokemonTower7F.asm +++ b/data/maps/objects/PokemonTower7F.asm @@ -2,7 +2,7 @@ PokemonTower7F_Object: db $1 ; border block def_warps - warp 9, 16, 1, POKEMON_TOWER_6F + warp 9, 16, 1, POKEMON_TOWER_6F def_signs diff --git a/data/maps/objects/PowerPlant.asm b/data/maps/objects/PowerPlant.asm index ab466d89..6802ce4f 100755 --- a/data/maps/objects/PowerPlant.asm +++ b/data/maps/objects/PowerPlant.asm @@ -2,9 +2,9 @@ PowerPlant_Object: db $2e ; border block def_warps - warp 4, 35, 3, LAST_MAP - warp 5, 35, 3, LAST_MAP - warp 0, 11, 3, LAST_MAP + warp 4, 35, 3, LAST_MAP + warp 5, 35, 3, LAST_MAP + warp 0, 11, 3, LAST_MAP def_signs diff --git a/data/maps/objects/RedsHouse1F.asm b/data/maps/objects/RedsHouse1F.asm index 17178a32..f7cd0819 100755 --- a/data/maps/objects/RedsHouse1F.asm +++ b/data/maps/objects/RedsHouse1F.asm @@ -2,12 +2,12 @@ RedsHouse1F_Object: db $a ; border block def_warps - warp 2, 7, 0, LAST_MAP ; exit1 - warp 3, 7, 0, LAST_MAP ; exit2 - warp 7, 1, 0, REDS_HOUSE_2F ; staircase + warp 2, 7, 0, LAST_MAP ; exit1 + warp 3, 7, 0, LAST_MAP ; exit2 + warp 7, 1, 0, REDS_HOUSE_2F ; staircase def_signs - sign 3, 1, 2 ; TV + sign 3, 1, 2 ; TV def_objects object SPRITE_MOM, 5, 4, STAY, LEFT, 1 ; Mom diff --git a/data/maps/objects/RedsHouse2F.asm b/data/maps/objects/RedsHouse2F.asm index 322fbca7..826e68fd 100755 --- a/data/maps/objects/RedsHouse2F.asm +++ b/data/maps/objects/RedsHouse2F.asm @@ -2,7 +2,7 @@ RedsHouse2F_Object: db $a ; border block def_warps - warp 7, 1, 2, REDS_HOUSE_1F + warp 7, 1, 2, REDS_HOUSE_1F def_signs diff --git a/data/maps/objects/RockTunnel1F.asm b/data/maps/objects/RockTunnel1F.asm index c882cf55..b3d4da48 100755 --- a/data/maps/objects/RockTunnel1F.asm +++ b/data/maps/objects/RockTunnel1F.asm @@ -2,12 +2,12 @@ RockTunnel1F_Object: db $3 ; border block def_warps - warp 15, 3, 1, LAST_MAP - warp 15, 0, 1, LAST_MAP + warp 15, 3, 1, LAST_MAP + warp 15, 0, 1, LAST_MAP warp 15, 33, 2, LAST_MAP warp 15, 35, 2, LAST_MAP - warp 37, 3, 0, ROCK_TUNNEL_B1F - warp 5, 3, 1, ROCK_TUNNEL_B1F + warp 37, 3, 0, ROCK_TUNNEL_B1F + warp 5, 3, 1, ROCK_TUNNEL_B1F warp 17, 11, 2, ROCK_TUNNEL_B1F warp 37, 17, 3, ROCK_TUNNEL_B1F diff --git a/data/maps/objects/RockTunnelB1F.asm b/data/maps/objects/RockTunnelB1F.asm index 4dab88d1..3fadaa5b 100755 --- a/data/maps/objects/RockTunnelB1F.asm +++ b/data/maps/objects/RockTunnelB1F.asm @@ -3,9 +3,9 @@ RockTunnelB1F_Object: def_warps warp 33, 25, 4, ROCK_TUNNEL_1F - warp 27, 3, 5, ROCK_TUNNEL_1F + warp 27, 3, 5, ROCK_TUNNEL_1F warp 23, 11, 6, ROCK_TUNNEL_1F - warp 3, 3, 7, ROCK_TUNNEL_1F + warp 3, 3, 7, ROCK_TUNNEL_1F def_signs diff --git a/data/maps/objects/RockTunnelPokecenter.asm b/data/maps/objects/RockTunnelPokecenter.asm index efeb4838..4f5a1906 100755 --- a/data/maps/objects/RockTunnelPokecenter.asm +++ b/data/maps/objects/RockTunnelPokecenter.asm @@ -2,8 +2,8 @@ RockTunnelPokecenter_Object: db $0 ; border block def_warps - warp 3, 7, 0, LAST_MAP - warp 4, 7, 0, LAST_MAP + warp 3, 7, 0, LAST_MAP + warp 4, 7, 0, LAST_MAP def_signs diff --git a/data/maps/objects/RocketHideoutB1F.asm b/data/maps/objects/RocketHideoutB1F.asm index 197e821f..81049d63 100755 --- a/data/maps/objects/RocketHideoutB1F.asm +++ b/data/maps/objects/RocketHideoutB1F.asm @@ -2,8 +2,8 @@ RocketHideoutB1F_Object: db $2e ; border block def_warps - warp 23, 2, 0, ROCKET_HIDEOUT_B2F - warp 21, 2, 2, GAME_CORNER + warp 23, 2, 0, ROCKET_HIDEOUT_B2F + warp 21, 2, 2, GAME_CORNER warp 24, 19, 0, ROCKET_HIDEOUT_ELEVATOR warp 21, 24, 3, ROCKET_HIDEOUT_B2F warp 25, 19, 1, ROCKET_HIDEOUT_ELEVATOR diff --git a/data/maps/objects/RocketHideoutB2F.asm b/data/maps/objects/RocketHideoutB2F.asm index e7fd011e..f6ce5113 100755 --- a/data/maps/objects/RocketHideoutB2F.asm +++ b/data/maps/objects/RocketHideoutB2F.asm @@ -2,8 +2,8 @@ RocketHideoutB2F_Object: db $2e ; border block def_warps - warp 27, 8, 0, ROCKET_HIDEOUT_B1F - warp 21, 8, 0, ROCKET_HIDEOUT_B3F + warp 27, 8, 0, ROCKET_HIDEOUT_B1F + warp 21, 8, 0, ROCKET_HIDEOUT_B3F warp 24, 19, 0, ROCKET_HIDEOUT_ELEVATOR warp 21, 22, 3, ROCKET_HIDEOUT_B1F warp 25, 19, 1, ROCKET_HIDEOUT_ELEVATOR diff --git a/data/maps/objects/RocketHideoutB3F.asm b/data/maps/objects/RocketHideoutB3F.asm index 62164f92..4cba5422 100755 --- a/data/maps/objects/RocketHideoutB3F.asm +++ b/data/maps/objects/RocketHideoutB3F.asm @@ -2,7 +2,7 @@ RocketHideoutB3F_Object: db $2e ; border block def_warps - warp 25, 6, 1, ROCKET_HIDEOUT_B2F + warp 25, 6, 1, ROCKET_HIDEOUT_B2F warp 19, 18, 0, ROCKET_HIDEOUT_B4F def_signs diff --git a/data/maps/objects/RocketHideoutElevator.asm b/data/maps/objects/RocketHideoutElevator.asm index bf09dfbc..20ab4956 100755 --- a/data/maps/objects/RocketHideoutElevator.asm +++ b/data/maps/objects/RocketHideoutElevator.asm @@ -2,11 +2,11 @@ RocketHideoutElevator_Object: db $f ; border block def_warps - warp 2, 1, 2, ROCKET_HIDEOUT_B1F - warp 3, 1, 4, ROCKET_HIDEOUT_B1F + warp 2, 1, 2, ROCKET_HIDEOUT_B1F + warp 3, 1, 4, ROCKET_HIDEOUT_B1F def_signs - sign 1, 1, 1 ; RocketHideoutElevatorText1 + sign 1, 1, 1 ; RocketHideoutElevatorText1 def_objects diff --git a/data/maps/objects/Route1.asm b/data/maps/objects/Route1.asm index 4b9b59b5..ee1b03a5 100755 --- a/data/maps/objects/Route1.asm +++ b/data/maps/objects/Route1.asm @@ -4,7 +4,7 @@ Route1_Object: def_warps def_signs - sign 9, 27, 3 ; Route1Text3 + sign 9, 27, 3 ; Route1Text3 def_objects object SPRITE_YOUNGSTER, 5, 24, WALK, UP_DOWN, 1 ; person diff --git a/data/maps/objects/Route10.asm b/data/maps/objects/Route10.asm index fee3c3dc..54a0936e 100755 --- a/data/maps/objects/Route10.asm +++ b/data/maps/objects/Route10.asm @@ -3,15 +3,15 @@ Route10_Object: def_warps warp 11, 19, 0, ROCK_TUNNEL_POKECENTER - warp 8, 17, 0, ROCK_TUNNEL_1F - warp 8, 53, 2, ROCK_TUNNEL_1F - warp 6, 39, 0, POWER_PLANT + warp 8, 17, 0, ROCK_TUNNEL_1F + warp 8, 53, 2, ROCK_TUNNEL_1F + warp 6, 39, 0, POWER_PLANT def_signs - sign 7, 19, 7 ; Route10Text7 + sign 7, 19, 7 ; Route10Text7 sign 12, 19, 8 ; PokeCenterSignText - sign 9, 55, 9 ; Route10Text9 - sign 5, 41, 10 ; Route10Text10 + sign 9, 55, 9 ; Route10Text9 + sign 5, 41, 10 ; Route10Text10 def_objects object SPRITE_SUPER_NERD, 10, 44, STAY, LEFT, 1, OPP_POKEMANIAC, 1 diff --git a/data/maps/objects/Route11.asm b/data/maps/objects/Route11.asm index aa5eff0a..ce7d3490 100755 --- a/data/maps/objects/Route11.asm +++ b/data/maps/objects/Route11.asm @@ -2,14 +2,14 @@ Route11_Object: db $f ; border block def_warps - warp 49, 8, 0, ROUTE_11_GATE_1F - warp 49, 9, 1, ROUTE_11_GATE_1F - warp 58, 8, 2, ROUTE_11_GATE_1F - warp 58, 9, 3, ROUTE_11_GATE_1F - warp 4, 5, 0, DIGLETTS_CAVE_ROUTE_11 + warp 49, 8, 0, ROUTE_11_GATE_1F + warp 49, 9, 1, ROUTE_11_GATE_1F + warp 58, 8, 2, ROUTE_11_GATE_1F + warp 58, 9, 3, ROUTE_11_GATE_1F + warp 4, 5, 0, DIGLETTS_CAVE_ROUTE_11 def_signs - sign 1, 5, 11 ; Route11Text11 + sign 1, 5, 11 ; Route11Text11 def_objects object SPRITE_GAMBLER, 10, 14, STAY, DOWN, 1, OPP_GAMBLER, 1 diff --git a/data/maps/objects/Route11Gate1F.asm b/data/maps/objects/Route11Gate1F.asm index 45af716b..d0c9c461 100755 --- a/data/maps/objects/Route11Gate1F.asm +++ b/data/maps/objects/Route11Gate1F.asm @@ -2,11 +2,11 @@ Route11Gate1F_Object: db $a ; border block def_warps - warp 0, 4, 0, LAST_MAP - warp 0, 5, 1, LAST_MAP - warp 7, 4, 2, LAST_MAP - warp 7, 5, 3, LAST_MAP - warp 6, 8, 0, ROUTE_11_GATE_2F + warp 0, 4, 0, LAST_MAP + warp 0, 5, 1, LAST_MAP + warp 7, 4, 2, LAST_MAP + warp 7, 5, 3, LAST_MAP + warp 6, 8, 0, ROUTE_11_GATE_2F def_signs diff --git a/data/maps/objects/Route11Gate2F.asm b/data/maps/objects/Route11Gate2F.asm index b13ceb80..fa48409c 100755 --- a/data/maps/objects/Route11Gate2F.asm +++ b/data/maps/objects/Route11Gate2F.asm @@ -2,11 +2,11 @@ Route11Gate2F_Object: db $a ; border block def_warps - warp 7, 7, 4, ROUTE_11_GATE_1F + warp 7, 7, 4, ROUTE_11_GATE_1F def_signs - sign 1, 2, 3 ; Route11GateUpstairsText3 - sign 6, 2, 4 ; Route11GateUpstairsText4 + sign 1, 2, 3 ; Route11GateUpstairsText3 + sign 6, 2, 4 ; Route11GateUpstairsText4 def_objects object SPRITE_YOUNGSTER, 4, 2, WALK, LEFT_RIGHT, 1 ; person diff --git a/data/maps/objects/Route12Gate1F.asm b/data/maps/objects/Route12Gate1F.asm index ed8ade01..356bf67a 100755 --- a/data/maps/objects/Route12Gate1F.asm +++ b/data/maps/objects/Route12Gate1F.asm @@ -2,11 +2,11 @@ Route12Gate1F_Object: db $a ; border block def_warps - warp 4, 0, 0, LAST_MAP - warp 5, 0, 1, LAST_MAP - warp 4, 7, 2, LAST_MAP - warp 5, 7, 2, LAST_MAP - warp 8, 6, 0, ROUTE_12_GATE_2F + warp 4, 0, 0, LAST_MAP + warp 5, 0, 1, LAST_MAP + warp 4, 7, 2, LAST_MAP + warp 5, 7, 2, LAST_MAP + warp 8, 6, 0, ROUTE_12_GATE_2F def_signs diff --git a/data/maps/objects/Route12Gate2F.asm b/data/maps/objects/Route12Gate2F.asm index e9075cfc..413adf25 100755 --- a/data/maps/objects/Route12Gate2F.asm +++ b/data/maps/objects/Route12Gate2F.asm @@ -2,11 +2,11 @@ Route12Gate2F_Object: db $a ; border block def_warps - warp 7, 7, 4, ROUTE_12_GATE_1F + warp 7, 7, 4, ROUTE_12_GATE_1F def_signs - sign 1, 2, 2 ; Route12GateUpstairsText2 - sign 6, 2, 3 ; Route12GateUpstairsText3 + sign 1, 2, 2 ; Route12GateUpstairsText2 + sign 6, 2, 3 ; Route12GateUpstairsText3 def_objects object SPRITE_BRUNETTE_GIRL, 3, 4, WALK, UP_DOWN, 1 ; person diff --git a/data/maps/objects/Route12SuperRodHouse.asm b/data/maps/objects/Route12SuperRodHouse.asm index 70fd7cb3..4cd43639 100755 --- a/data/maps/objects/Route12SuperRodHouse.asm +++ b/data/maps/objects/Route12SuperRodHouse.asm @@ -2,8 +2,8 @@ Route12SuperRodHouse_Object: db $a ; border block def_warps - warp 2, 7, 3, LAST_MAP - warp 3, 7, 3, LAST_MAP + warp 2, 7, 3, LAST_MAP + warp 3, 7, 3, LAST_MAP def_signs diff --git a/data/maps/objects/Route13.asm b/data/maps/objects/Route13.asm index 41e1a8d6..365eea7d 100755 --- a/data/maps/objects/Route13.asm +++ b/data/maps/objects/Route13.asm @@ -5,7 +5,7 @@ Route13_Object: def_signs sign 15, 13, 11 ; Route13Text11 - sign 33, 5, 12 ; Route13Text12 + sign 33, 5, 12 ; Route13Text12 sign 31, 11, 13 ; Route13Text13 def_objects diff --git a/data/maps/objects/Route15.asm b/data/maps/objects/Route15.asm index 76e3ae7c..d145dbfb 100755 --- a/data/maps/objects/Route15.asm +++ b/data/maps/objects/Route15.asm @@ -2,13 +2,13 @@ Route15_Object: db $43 ; border block def_warps - warp 7, 8, 0, ROUTE_15_GATE_1F - warp 7, 9, 1, ROUTE_15_GATE_1F - warp 14, 8, 2, ROUTE_15_GATE_1F - warp 14, 9, 3, ROUTE_15_GATE_1F + warp 7, 8, 0, ROUTE_15_GATE_1F + warp 7, 9, 1, ROUTE_15_GATE_1F + warp 14, 8, 2, ROUTE_15_GATE_1F + warp 14, 9, 3, ROUTE_15_GATE_1F def_signs - sign 39, 9, 12 ; Route15Text12 + sign 39, 9, 12 ; Route15Text12 def_objects object SPRITE_COOLTRAINER_F, 41, 11, STAY, DOWN, 1, OPP_JR_TRAINER_F, 20 diff --git a/data/maps/objects/Route15Gate1F.asm b/data/maps/objects/Route15Gate1F.asm index dbf38671..e611e98b 100755 --- a/data/maps/objects/Route15Gate1F.asm +++ b/data/maps/objects/Route15Gate1F.asm @@ -2,11 +2,11 @@ Route15Gate1F_Object: db $a ; border block def_warps - warp 0, 4, 0, LAST_MAP - warp 0, 5, 1, LAST_MAP - warp 7, 4, 2, LAST_MAP - warp 7, 5, 3, LAST_MAP - warp 6, 8, 0, ROUTE_15_GATE_2F + warp 0, 4, 0, LAST_MAP + warp 0, 5, 1, LAST_MAP + warp 7, 4, 2, LAST_MAP + warp 7, 5, 3, LAST_MAP + warp 6, 8, 0, ROUTE_15_GATE_2F def_signs diff --git a/data/maps/objects/Route15Gate2F.asm b/data/maps/objects/Route15Gate2F.asm index 5c5bf450..608b69e5 100755 --- a/data/maps/objects/Route15Gate2F.asm +++ b/data/maps/objects/Route15Gate2F.asm @@ -2,10 +2,10 @@ Route15Gate2F_Object: db $a ; border block def_warps - warp 7, 7, 4, ROUTE_15_GATE_1F + warp 7, 7, 4, ROUTE_15_GATE_1F def_signs - sign 6, 2, 2 ; Route15GateUpstairsText2 + sign 6, 2, 2 ; Route15GateUpstairsText2 def_objects object SPRITE_SCIENTIST, 4, 2, STAY, DOWN, 1 diff --git a/data/maps/objects/Route16.asm b/data/maps/objects/Route16.asm index 29ccc1a6..44e2de01 100755 --- a/data/maps/objects/Route16.asm +++ b/data/maps/objects/Route16.asm @@ -6,15 +6,15 @@ Route16_Object: warp 17, 11, 1, ROUTE_16_GATE_1F warp 24, 10, 2, ROUTE_16_GATE_1F warp 24, 11, 3, ROUTE_16_GATE_1F - warp 17, 4, 4, ROUTE_16_GATE_1F - warp 17, 5, 5, ROUTE_16_GATE_1F - warp 24, 4, 6, ROUTE_16_GATE_1F - warp 24, 5, 7, ROUTE_16_GATE_1F - warp 7, 5, 0, ROUTE_16_FLY_HOUSE + warp 17, 4, 4, ROUTE_16_GATE_1F + warp 17, 5, 5, ROUTE_16_GATE_1F + warp 24, 4, 6, ROUTE_16_GATE_1F + warp 24, 5, 7, ROUTE_16_GATE_1F + warp 7, 5, 0, ROUTE_16_FLY_HOUSE def_signs sign 27, 11, 8 ; Route16Text8 - sign 5, 17, 9 ; Route16Text9 + sign 5, 17, 9 ; Route16Text9 def_objects object SPRITE_BIKER, 17, 12, STAY, LEFT, 1, OPP_BIKER, 5 diff --git a/data/maps/objects/Route16FlyHouse.asm b/data/maps/objects/Route16FlyHouse.asm index bdb0cced..be6cdc61 100755 --- a/data/maps/objects/Route16FlyHouse.asm +++ b/data/maps/objects/Route16FlyHouse.asm @@ -2,8 +2,8 @@ Route16FlyHouse_Object: db $a ; border block def_warps - warp 2, 7, 8, LAST_MAP - warp 3, 7, 8, LAST_MAP + warp 2, 7, 8, LAST_MAP + warp 3, 7, 8, LAST_MAP def_signs diff --git a/data/maps/objects/Route16Gate1F.asm b/data/maps/objects/Route16Gate1F.asm index 31f6d02d..4f876e7f 100755 --- a/data/maps/objects/Route16Gate1F.asm +++ b/data/maps/objects/Route16Gate1F.asm @@ -2,15 +2,15 @@ Route16Gate1F_Object: db $a ; border block def_warps - warp 0, 8, 0, LAST_MAP - warp 0, 9, 1, LAST_MAP - warp 7, 8, 2, LAST_MAP - warp 7, 9, 2, LAST_MAP - warp 0, 2, 4, LAST_MAP - warp 0, 3, 5, LAST_MAP - warp 7, 2, 6, LAST_MAP - warp 7, 3, 7, LAST_MAP - warp 6, 12, 0, ROUTE_16_GATE_2F + warp 0, 8, 0, LAST_MAP + warp 0, 9, 1, LAST_MAP + warp 7, 8, 2, LAST_MAP + warp 7, 9, 2, LAST_MAP + warp 0, 2, 4, LAST_MAP + warp 0, 3, 5, LAST_MAP + warp 7, 2, 6, LAST_MAP + warp 7, 3, 7, LAST_MAP + warp 6, 12, 0, ROUTE_16_GATE_2F def_signs diff --git a/data/maps/objects/Route16Gate2F.asm b/data/maps/objects/Route16Gate2F.asm index 5f428151..53511ae5 100755 --- a/data/maps/objects/Route16Gate2F.asm +++ b/data/maps/objects/Route16Gate2F.asm @@ -2,11 +2,11 @@ Route16Gate2F_Object: db $a ; border block def_warps - warp 7, 7, 8, ROUTE_16_GATE_1F + warp 7, 7, 8, ROUTE_16_GATE_1F def_signs - sign 1, 2, 3 ; Route16GateUpstairsText3 - sign 6, 2, 4 ; Route16GateUpstairsText4 + sign 1, 2, 3 ; Route16GateUpstairsText3 + sign 6, 2, 4 ; Route16GateUpstairsText4 def_objects object SPRITE_LITTLE_BOY, 4, 2, STAY, NONE, 1 ; person diff --git a/data/maps/objects/Route17.asm b/data/maps/objects/Route17.asm index 8642b211..f170b695 100755 --- a/data/maps/objects/Route17.asm +++ b/data/maps/objects/Route17.asm @@ -4,12 +4,12 @@ Route17_Object: def_warps def_signs - sign 9, 51, 11 ; Route17Text11 - sign 9, 63, 12 ; Route17Text12 - sign 9, 75, 13 ; Route17Text13 - sign 9, 87, 14 ; Route17Text14 - sign 9, 111, 15 ; Route17Text15 - sign 9, 141, 16 ; Route17Text16 + sign 9, 51, 11 ; Route17Text11 + sign 9, 63, 12 ; Route17Text12 + sign 9, 75, 13 ; Route17Text13 + sign 9, 87, 14 ; Route17Text14 + sign 9, 111, 15 ; Route17Text15 + sign 9, 141, 16 ; Route17Text16 def_objects object SPRITE_BIKER, 12, 19, STAY, LEFT, 1, OPP_CUE_BALL, 4 diff --git a/data/maps/objects/Route18.asm b/data/maps/objects/Route18.asm index bd008f3d..eafdf1d0 100755 --- a/data/maps/objects/Route18.asm +++ b/data/maps/objects/Route18.asm @@ -2,14 +2,14 @@ Route18_Object: db $43 ; border block def_warps - warp 33, 8, 0, ROUTE_18_GATE_1F - warp 33, 9, 1, ROUTE_18_GATE_1F - warp 40, 8, 2, ROUTE_18_GATE_1F - warp 40, 9, 3, ROUTE_18_GATE_1F + warp 33, 8, 0, ROUTE_18_GATE_1F + warp 33, 9, 1, ROUTE_18_GATE_1F + warp 40, 8, 2, ROUTE_18_GATE_1F + warp 40, 9, 3, ROUTE_18_GATE_1F def_signs - sign 43, 7, 4 ; Route18Text4 - sign 33, 5, 5 ; Route18Text5 + sign 43, 7, 4 ; Route18Text4 + sign 33, 5, 5 ; Route18Text5 def_objects object SPRITE_COOLTRAINER_M, 36, 11, STAY, RIGHT, 1, OPP_BIRD_KEEPER, 8 diff --git a/data/maps/objects/Route18Gate1F.asm b/data/maps/objects/Route18Gate1F.asm index faceb2c5..3bfdefaa 100755 --- a/data/maps/objects/Route18Gate1F.asm +++ b/data/maps/objects/Route18Gate1F.asm @@ -2,11 +2,11 @@ Route18Gate1F_Object: db $a ; border block def_warps - warp 0, 4, 0, LAST_MAP - warp 0, 5, 1, LAST_MAP - warp 7, 4, 2, LAST_MAP - warp 7, 5, 3, LAST_MAP - warp 6, 8, 0, ROUTE_18_GATE_2F + warp 0, 4, 0, LAST_MAP + warp 0, 5, 1, LAST_MAP + warp 7, 4, 2, LAST_MAP + warp 7, 5, 3, LAST_MAP + warp 6, 8, 0, ROUTE_18_GATE_2F def_signs diff --git a/data/maps/objects/Route18Gate2F.asm b/data/maps/objects/Route18Gate2F.asm index f78114b6..2fa6fd58 100755 --- a/data/maps/objects/Route18Gate2F.asm +++ b/data/maps/objects/Route18Gate2F.asm @@ -2,11 +2,11 @@ Route18Gate2F_Object: db $a ; border block def_warps - warp 7, 7, 4, ROUTE_18_GATE_1F + warp 7, 7, 4, ROUTE_18_GATE_1F def_signs - sign 1, 2, 2 ; Route18GateUpstairsText2 - sign 6, 2, 3 ; Route18GateUpstairsText3 + sign 1, 2, 2 ; Route18GateUpstairsText2 + sign 6, 2, 3 ; Route18GateUpstairsText3 def_objects object SPRITE_YOUNGSTER, 4, 2, WALK, LEFT_RIGHT, 1 ; person diff --git a/data/maps/objects/Route19.asm b/data/maps/objects/Route19.asm index 8f445364..224b2cbb 100755 --- a/data/maps/objects/Route19.asm +++ b/data/maps/objects/Route19.asm @@ -4,7 +4,7 @@ Route19_Object: def_warps def_signs - sign 11, 9, 11 ; Route19Text11 + sign 11, 9, 11 ; Route19Text11 def_objects object SPRITE_COOLTRAINER_M, 8, 7, STAY, LEFT, 1, OPP_SWIMMER, 2 diff --git a/data/maps/objects/Route2.asm b/data/maps/objects/Route2.asm index f9955c2a..66f9ff1e 100755 --- a/data/maps/objects/Route2.asm +++ b/data/maps/objects/Route2.asm @@ -2,15 +2,15 @@ Route2_Object: db $f ; border block def_warps - warp 12, 9, 0, DIGLETTS_CAVE_ROUTE_2 - warp 3, 11, 1, VIRIDIAN_FOREST_NORTH_GATE + warp 12, 9, 0, DIGLETTS_CAVE_ROUTE_2 + warp 3, 11, 1, VIRIDIAN_FOREST_NORTH_GATE warp 15, 19, 0, ROUTE_2_TRADE_HOUSE warp 16, 35, 1, ROUTE_2_GATE warp 15, 39, 2, ROUTE_2_GATE - warp 3, 43, 2, VIRIDIAN_FOREST_SOUTH_GATE + warp 3, 43, 2, VIRIDIAN_FOREST_SOUTH_GATE def_signs - sign 5, 65, 3 ; Route2Text3 + sign 5, 65, 3 ; Route2Text3 sign 11, 11, 4 ; Route2Text4 def_objects diff --git a/data/maps/objects/Route20.asm b/data/maps/objects/Route20.asm index 2d9d20f7..19e7cce7 100755 --- a/data/maps/objects/Route20.asm +++ b/data/maps/objects/Route20.asm @@ -2,11 +2,11 @@ Route20_Object: db $43 ; border block def_warps - warp 48, 5, 0, SEAFOAM_ISLANDS_1F - warp 58, 9, 2, SEAFOAM_ISLANDS_1F + warp 48, 5, 0, SEAFOAM_ISLANDS_1F + warp 58, 9, 2, SEAFOAM_ISLANDS_1F def_signs - sign 51, 7, 11 ; Route20Text11 + sign 51, 7, 11 ; Route20Text11 sign 57, 11, 12 ; Route20Text12 def_objects diff --git a/data/maps/objects/Route22.asm b/data/maps/objects/Route22.asm index 714f178f..857b8a86 100755 --- a/data/maps/objects/Route22.asm +++ b/data/maps/objects/Route22.asm @@ -2,10 +2,10 @@ Route22_Object: db $2c ; border block def_warps - warp 8, 5, 0, ROUTE_22_GATE + warp 8, 5, 0, ROUTE_22_GATE def_signs - sign 7, 11, 3 ; Route22FrontGateText + sign 7, 11, 3 ; Route22FrontGateText def_objects object SPRITE_BLUE, 25, 5, STAY, NONE, 1 ; person diff --git a/data/maps/objects/Route22Gate.asm b/data/maps/objects/Route22Gate.asm index 11bb6407..68593daa 100755 --- a/data/maps/objects/Route22Gate.asm +++ b/data/maps/objects/Route22Gate.asm @@ -2,10 +2,10 @@ Route22Gate_Object: db $a ; border block def_warps - warp 4, 7, 0, LAST_MAP - warp 5, 7, 0, LAST_MAP - warp 4, 0, 0, LAST_MAP - warp 5, 0, 1, LAST_MAP + warp 4, 7, 0, LAST_MAP + warp 5, 7, 0, LAST_MAP + warp 4, 0, 0, LAST_MAP + warp 5, 0, 1, LAST_MAP def_signs diff --git a/data/maps/objects/Route23.asm b/data/maps/objects/Route23.asm index 33c6611b..bd74afb4 100755 --- a/data/maps/objects/Route23.asm +++ b/data/maps/objects/Route23.asm @@ -2,13 +2,13 @@ Route23_Object: db $f ; border block def_warps - warp 7, 139, 2, ROUTE_22_GATE - warp 8, 139, 3, ROUTE_22_GATE - warp 4, 31, 0, VICTORY_ROAD_1F + warp 7, 139, 2, ROUTE_22_GATE + warp 8, 139, 3, ROUTE_22_GATE + warp 4, 31, 0, VICTORY_ROAD_1F warp 14, 31, 1, VICTORY_ROAD_2F def_signs - sign 3, 33, 8 ; Route23Text8 + sign 3, 33, 8 ; Route23Text8 def_objects object SPRITE_GUARD, 4, 35, STAY, DOWN, 1 ; person diff --git a/data/maps/objects/Route25.asm b/data/maps/objects/Route25.asm index 956743fe..4f0be4d4 100755 --- a/data/maps/objects/Route25.asm +++ b/data/maps/objects/Route25.asm @@ -2,10 +2,10 @@ Route25_Object: db $2c ; border block def_warps - warp 45, 3, 0, BILLS_HOUSE + warp 45, 3, 0, BILLS_HOUSE def_signs - sign 43, 3, 11 ; Route25Text11 + sign 43, 3, 11 ; Route25Text11 def_objects object SPRITE_YOUNGSTER, 14, 2, STAY, DOWN, 1, OPP_YOUNGSTER, 5 diff --git a/data/maps/objects/Route2Gate.asm b/data/maps/objects/Route2Gate.asm index 017b785a..3151ce79 100755 --- a/data/maps/objects/Route2Gate.asm +++ b/data/maps/objects/Route2Gate.asm @@ -2,10 +2,10 @@ Route2Gate_Object: db $a ; border block def_warps - warp 4, 0, 3, LAST_MAP - warp 5, 0, 3, LAST_MAP - warp 4, 7, 4, LAST_MAP - warp 5, 7, 4, LAST_MAP + warp 4, 0, 3, LAST_MAP + warp 5, 0, 3, LAST_MAP + warp 4, 7, 4, LAST_MAP + warp 5, 7, 4, LAST_MAP def_signs diff --git a/data/maps/objects/Route2TradeHouse.asm b/data/maps/objects/Route2TradeHouse.asm index c93b7c8a..d14df485 100755 --- a/data/maps/objects/Route2TradeHouse.asm +++ b/data/maps/objects/Route2TradeHouse.asm @@ -2,8 +2,8 @@ Route2TradeHouse_Object: db $a ; border block def_warps - warp 2, 7, 2, LAST_MAP - warp 3, 7, 2, LAST_MAP + warp 2, 7, 2, LAST_MAP + warp 3, 7, 2, LAST_MAP def_signs diff --git a/data/maps/objects/Route3.asm b/data/maps/objects/Route3.asm index 6d4dd277..153fa795 100755 --- a/data/maps/objects/Route3.asm +++ b/data/maps/objects/Route3.asm @@ -4,7 +4,7 @@ Route3_Object: def_warps def_signs - sign 59, 9, 10 ; Route3Text10 + sign 59, 9, 10 ; Route3Text10 def_objects object SPRITE_SUPER_NERD, 57, 11, STAY, NONE, 1 ; person diff --git a/data/maps/objects/Route4.asm b/data/maps/objects/Route4.asm index fccbf542..79e79b79 100755 --- a/data/maps/objects/Route4.asm +++ b/data/maps/objects/Route4.asm @@ -2,14 +2,14 @@ Route4_Object: db $2c ; border block def_warps - warp 11, 5, 0, MT_MOON_POKECENTER - warp 18, 5, 0, MT_MOON_1F - warp 24, 5, 7, MT_MOON_B1F + warp 11, 5, 0, MT_MOON_POKECENTER + warp 18, 5, 0, MT_MOON_1F + warp 24, 5, 7, MT_MOON_B1F def_signs - sign 12, 5, 4 ; PokeCenterSignText - sign 17, 7, 5 ; Route4Text5 - sign 27, 7, 6 ; Route4Text6 + sign 12, 5, 4 ; PokeCenterSignText + sign 17, 7, 5 ; Route4Text5 + sign 27, 7, 6 ; Route4Text6 def_objects object SPRITE_COOLTRAINER_F, 9, 8, WALK, ANY_DIR, 1 ; person diff --git a/data/maps/objects/Route5.asm b/data/maps/objects/Route5.asm index e7eadee8..75f4a629 100755 --- a/data/maps/objects/Route5.asm +++ b/data/maps/objects/Route5.asm @@ -3,7 +3,7 @@ Route5_Object: def_warps warp 10, 29, 3, ROUTE_5_GATE - warp 9, 29, 2, ROUTE_5_GATE + warp 9, 29, 2, ROUTE_5_GATE warp 10, 33, 0, ROUTE_5_GATE warp 17, 27, 0, UNDERGROUND_PATH_ROUTE_5 warp 10, 21, 0, DAYCARE diff --git a/data/maps/objects/Route5Gate.asm b/data/maps/objects/Route5Gate.asm index b8843808..81c8c43e 100755 --- a/data/maps/objects/Route5Gate.asm +++ b/data/maps/objects/Route5Gate.asm @@ -2,10 +2,10 @@ Route5Gate_Object: db $a ; border block def_warps - warp 3, 5, 2, LAST_MAP - warp 4, 5, 2, LAST_MAP - warp 3, 0, 1, LAST_MAP - warp 4, 0, 0, LAST_MAP + warp 3, 5, 2, LAST_MAP + warp 4, 5, 2, LAST_MAP + warp 3, 0, 1, LAST_MAP + warp 4, 0, 0, LAST_MAP def_signs diff --git a/data/maps/objects/Route6.asm b/data/maps/objects/Route6.asm index 1141be4b..bafcdf90 100755 --- a/data/maps/objects/Route6.asm +++ b/data/maps/objects/Route6.asm @@ -2,9 +2,9 @@ Route6_Object: db $f ; border block def_warps - warp 9, 1, 2, ROUTE_6_GATE - warp 10, 1, 2, ROUTE_6_GATE - warp 10, 7, 0, ROUTE_6_GATE + warp 9, 1, 2, ROUTE_6_GATE + warp 10, 1, 2, ROUTE_6_GATE + warp 10, 7, 0, ROUTE_6_GATE warp 17, 13, 0, UNDERGROUND_PATH_ROUTE_6 def_signs diff --git a/data/maps/objects/Route6Gate.asm b/data/maps/objects/Route6Gate.asm index fb6dbc14..2ef5a8b5 100755 --- a/data/maps/objects/Route6Gate.asm +++ b/data/maps/objects/Route6Gate.asm @@ -2,10 +2,10 @@ Route6Gate_Object: db $a ; border block def_warps - warp 3, 5, 2, LAST_MAP - warp 4, 5, 2, LAST_MAP - warp 3, 0, 1, LAST_MAP - warp 4, 0, 1, LAST_MAP + warp 3, 5, 2, LAST_MAP + warp 4, 5, 2, LAST_MAP + warp 3, 0, 1, LAST_MAP + warp 4, 0, 1, LAST_MAP def_signs diff --git a/data/maps/objects/Route7.asm b/data/maps/objects/Route7.asm index 1ea17c6b..d2346f2c 100755 --- a/data/maps/objects/Route7.asm +++ b/data/maps/objects/Route7.asm @@ -2,14 +2,14 @@ Route7_Object: db $f ; border block def_warps - warp 18, 9, 2, ROUTE_7_GATE + warp 18, 9, 2, ROUTE_7_GATE warp 18, 10, 3, ROUTE_7_GATE - warp 11, 9, 0, ROUTE_7_GATE + warp 11, 9, 0, ROUTE_7_GATE warp 11, 10, 1, ROUTE_7_GATE - warp 5, 13, 0, UNDERGROUND_PATH_ROUTE_7 + warp 5, 13, 0, UNDERGROUND_PATH_ROUTE_7 def_signs - sign 3, 13, 1 ; Route7Text1 + sign 3, 13, 1 ; Route7Text1 def_objects diff --git a/data/maps/objects/Route7Gate.asm b/data/maps/objects/Route7Gate.asm index 70628740..2b165016 100755 --- a/data/maps/objects/Route7Gate.asm +++ b/data/maps/objects/Route7Gate.asm @@ -2,10 +2,10 @@ Route7Gate_Object: db $a ; border block def_warps - warp 0, 3, 3, LAST_MAP - warp 0, 4, 3, LAST_MAP - warp 5, 3, 0, LAST_MAP - warp 5, 4, 1, LAST_MAP + warp 0, 3, 3, LAST_MAP + warp 0, 4, 3, LAST_MAP + warp 5, 3, 0, LAST_MAP + warp 5, 4, 1, LAST_MAP def_signs diff --git a/data/maps/objects/Route8.asm b/data/maps/objects/Route8.asm index 6d2c4859..d375b23e 100755 --- a/data/maps/objects/Route8.asm +++ b/data/maps/objects/Route8.asm @@ -2,14 +2,14 @@ Route8_Object: db $2c ; border block def_warps - warp 1, 9, 0, ROUTE_8_GATE - warp 1, 10, 1, ROUTE_8_GATE - warp 8, 9, 2, ROUTE_8_GATE - warp 8, 10, 3, ROUTE_8_GATE - warp 13, 3, 0, UNDERGROUND_PATH_ROUTE_8 + warp 1, 9, 0, ROUTE_8_GATE + warp 1, 10, 1, ROUTE_8_GATE + warp 8, 9, 2, ROUTE_8_GATE + warp 8, 10, 3, ROUTE_8_GATE + warp 13, 3, 0, UNDERGROUND_PATH_ROUTE_8 def_signs - sign 17, 3, 10 ; Route8Text10 + sign 17, 3, 10 ; Route8Text10 def_objects object SPRITE_SUPER_NERD, 8, 5, STAY, RIGHT, 1, OPP_SUPER_NERD, 3 diff --git a/data/maps/objects/Route8Gate.asm b/data/maps/objects/Route8Gate.asm index 6e406a3c..f03530b5 100755 --- a/data/maps/objects/Route8Gate.asm +++ b/data/maps/objects/Route8Gate.asm @@ -2,10 +2,10 @@ Route8Gate_Object: db $a ; border block def_warps - warp 0, 3, 0, LAST_MAP - warp 0, 4, 1, LAST_MAP - warp 5, 3, 2, LAST_MAP - warp 5, 4, 3, LAST_MAP + warp 0, 3, 0, LAST_MAP + warp 0, 4, 1, LAST_MAP + warp 5, 3, 2, LAST_MAP + warp 5, 4, 3, LAST_MAP def_signs diff --git a/data/maps/objects/Route9.asm b/data/maps/objects/Route9.asm index 07724323..8d110629 100755 --- a/data/maps/objects/Route9.asm +++ b/data/maps/objects/Route9.asm @@ -4,7 +4,7 @@ Route9_Object: def_warps def_signs - sign 25, 7, 11 ; Route9Text11 + sign 25, 7, 11 ; Route9Text11 def_objects object SPRITE_COOLTRAINER_F, 13, 10, STAY, LEFT, 1, OPP_JR_TRAINER_F, 5 diff --git a/data/maps/objects/SSAnne1F.asm b/data/maps/objects/SSAnne1F.asm index 56c95a68..bf4e7292 100755 --- a/data/maps/objects/SSAnne1F.asm +++ b/data/maps/objects/SSAnne1F.asm @@ -2,17 +2,17 @@ SSAnne1F_Object: db $c ; border block def_warps - warp 26, 0, 1, VERMILION_DOCK - warp 27, 0, 1, VERMILION_DOCK - warp 31, 8, 0, SS_ANNE_1F_ROOMS - warp 23, 8, 1, SS_ANNE_1F_ROOMS - warp 19, 8, 2, SS_ANNE_1F_ROOMS - warp 15, 8, 3, SS_ANNE_1F_ROOMS - warp 11, 8, 4, SS_ANNE_1F_ROOMS - warp 7, 8, 5, SS_ANNE_1F_ROOMS - warp 2, 6, 6, SS_ANNE_2F + warp 26, 0, 1, VERMILION_DOCK + warp 27, 0, 1, VERMILION_DOCK + warp 31, 8, 0, SS_ANNE_1F_ROOMS + warp 23, 8, 1, SS_ANNE_1F_ROOMS + warp 19, 8, 2, SS_ANNE_1F_ROOMS + warp 15, 8, 3, SS_ANNE_1F_ROOMS + warp 11, 8, 4, SS_ANNE_1F_ROOMS + warp 7, 8, 5, SS_ANNE_1F_ROOMS + warp 2, 6, 6, SS_ANNE_2F warp 37, 15, 5, SS_ANNE_B1F - warp 3, 16, 0, SS_ANNE_KITCHEN + warp 3, 16, 0, SS_ANNE_KITCHEN def_signs diff --git a/data/maps/objects/SSAnne1FRooms.asm b/data/maps/objects/SSAnne1FRooms.asm index f72c7fcf..3a1fc459 100755 --- a/data/maps/objects/SSAnne1FRooms.asm +++ b/data/maps/objects/SSAnne1FRooms.asm @@ -2,10 +2,10 @@ SSAnne1FRooms_Object: db $c ; border block def_warps - warp 0, 0, 2, SS_ANNE_1F - warp 10, 0, 3, SS_ANNE_1F - warp 20, 0, 4, SS_ANNE_1F - warp 0, 10, 5, SS_ANNE_1F + warp 0, 0, 2, SS_ANNE_1F + warp 10, 0, 3, SS_ANNE_1F + warp 20, 0, 4, SS_ANNE_1F + warp 0, 10, 5, SS_ANNE_1F warp 10, 10, 6, SS_ANNE_1F warp 20, 10, 7, SS_ANNE_1F diff --git a/data/maps/objects/SSAnne2F.asm b/data/maps/objects/SSAnne2F.asm index a506570a..dda0fee6 100755 --- a/data/maps/objects/SSAnne2F.asm +++ b/data/maps/objects/SSAnne2F.asm @@ -2,15 +2,15 @@ SSAnne2F_Object: db $c ; border block def_warps - warp 9, 11, 0, SS_ANNE_2F_ROOMS - warp 13, 11, 2, SS_ANNE_2F_ROOMS - warp 17, 11, 4, SS_ANNE_2F_ROOMS - warp 21, 11, 6, SS_ANNE_2F_ROOMS - warp 25, 11, 8, SS_ANNE_2F_ROOMS + warp 9, 11, 0, SS_ANNE_2F_ROOMS + warp 13, 11, 2, SS_ANNE_2F_ROOMS + warp 17, 11, 4, SS_ANNE_2F_ROOMS + warp 21, 11, 6, SS_ANNE_2F_ROOMS + warp 25, 11, 8, SS_ANNE_2F_ROOMS warp 29, 11, 10, SS_ANNE_2F_ROOMS - warp 2, 4, 8, SS_ANNE_1F - warp 2, 12, 1, SS_ANNE_3F - warp 36, 4, 0, SS_ANNE_CAPTAINS_ROOM + warp 2, 4, 8, SS_ANNE_1F + warp 2, 12, 1, SS_ANNE_3F + warp 36, 4, 0, SS_ANNE_CAPTAINS_ROOM def_signs diff --git a/data/maps/objects/SSAnne2FRooms.asm b/data/maps/objects/SSAnne2FRooms.asm index b63d10e6..78a2dd38 100755 --- a/data/maps/objects/SSAnne2FRooms.asm +++ b/data/maps/objects/SSAnne2FRooms.asm @@ -2,14 +2,14 @@ SSAnne2FRooms_Object: db $c ; border block def_warps - warp 2, 5, 0, SS_ANNE_2F - warp 3, 5, 0, SS_ANNE_2F - warp 12, 5, 1, SS_ANNE_2F - warp 13, 5, 1, SS_ANNE_2F - warp 22, 5, 2, SS_ANNE_2F - warp 23, 5, 2, SS_ANNE_2F - warp 2, 15, 3, SS_ANNE_2F - warp 3, 15, 3, SS_ANNE_2F + warp 2, 5, 0, SS_ANNE_2F + warp 3, 5, 0, SS_ANNE_2F + warp 12, 5, 1, SS_ANNE_2F + warp 13, 5, 1, SS_ANNE_2F + warp 22, 5, 2, SS_ANNE_2F + warp 23, 5, 2, SS_ANNE_2F + warp 2, 15, 3, SS_ANNE_2F + warp 3, 15, 3, SS_ANNE_2F warp 12, 15, 4, SS_ANNE_2F warp 13, 15, 4, SS_ANNE_2F warp 22, 15, 5, SS_ANNE_2F diff --git a/data/maps/objects/SSAnne3F.asm b/data/maps/objects/SSAnne3F.asm index af2760ad..f230aeb9 100755 --- a/data/maps/objects/SSAnne3F.asm +++ b/data/maps/objects/SSAnne3F.asm @@ -2,8 +2,8 @@ SSAnne3F_Object: db $c ; border block def_warps - warp 0, 3, 0, SS_ANNE_BOW - warp 19, 3, 7, SS_ANNE_2F + warp 0, 3, 0, SS_ANNE_BOW + warp 19, 3, 7, SS_ANNE_2F def_signs diff --git a/data/maps/objects/SSAnneB1F.asm b/data/maps/objects/SSAnneB1F.asm index f3c6e0b9..619dd33c 100755 --- a/data/maps/objects/SSAnneB1F.asm +++ b/data/maps/objects/SSAnneB1F.asm @@ -2,12 +2,12 @@ SSAnneB1F_Object: db $c ; border block def_warps - warp 23, 3, 8, SS_ANNE_B1F_ROOMS - warp 19, 3, 6, SS_ANNE_B1F_ROOMS - warp 15, 3, 4, SS_ANNE_B1F_ROOMS - warp 11, 3, 2, SS_ANNE_B1F_ROOMS - warp 7, 3, 0, SS_ANNE_B1F_ROOMS - warp 27, 5, 9, SS_ANNE_1F + warp 23, 3, 8, SS_ANNE_B1F_ROOMS + warp 19, 3, 6, SS_ANNE_B1F_ROOMS + warp 15, 3, 4, SS_ANNE_B1F_ROOMS + warp 11, 3, 2, SS_ANNE_B1F_ROOMS + warp 7, 3, 0, SS_ANNE_B1F_ROOMS + warp 27, 5, 9, SS_ANNE_1F def_signs diff --git a/data/maps/objects/SSAnneB1FRooms.asm b/data/maps/objects/SSAnneB1FRooms.asm index 20b3ef0a..c7540482 100755 --- a/data/maps/objects/SSAnneB1FRooms.asm +++ b/data/maps/objects/SSAnneB1FRooms.asm @@ -2,14 +2,14 @@ SSAnneB1FRooms_Object: db $c ; border block def_warps - warp 2, 5, 4, SS_ANNE_B1F - warp 3, 5, 4, SS_ANNE_B1F - warp 12, 5, 3, SS_ANNE_B1F - warp 13, 5, 3, SS_ANNE_B1F - warp 22, 5, 2, SS_ANNE_B1F - warp 23, 5, 2, SS_ANNE_B1F - warp 2, 15, 1, SS_ANNE_B1F - warp 3, 15, 1, SS_ANNE_B1F + warp 2, 5, 4, SS_ANNE_B1F + warp 3, 5, 4, SS_ANNE_B1F + warp 12, 5, 3, SS_ANNE_B1F + warp 13, 5, 3, SS_ANNE_B1F + warp 22, 5, 2, SS_ANNE_B1F + warp 23, 5, 2, SS_ANNE_B1F + warp 2, 15, 1, SS_ANNE_B1F + warp 3, 15, 1, SS_ANNE_B1F warp 12, 15, 0, SS_ANNE_B1F warp 13, 15, 0, SS_ANNE_B1F diff --git a/data/maps/objects/SSAnneBow.asm b/data/maps/objects/SSAnneBow.asm index b9f9eb3a..080fe623 100755 --- a/data/maps/objects/SSAnneBow.asm +++ b/data/maps/objects/SSAnneBow.asm @@ -2,8 +2,8 @@ SSAnneBow_Object: db $23 ; border block def_warps - warp 13, 6, 0, SS_ANNE_3F - warp 13, 7, 0, SS_ANNE_3F + warp 13, 6, 0, SS_ANNE_3F + warp 13, 7, 0, SS_ANNE_3F def_signs diff --git a/data/maps/objects/SSAnneCaptainsRoom.asm b/data/maps/objects/SSAnneCaptainsRoom.asm index 9057db78..c07be59e 100755 --- a/data/maps/objects/SSAnneCaptainsRoom.asm +++ b/data/maps/objects/SSAnneCaptainsRoom.asm @@ -2,11 +2,11 @@ SSAnneCaptainsRoom_Object: db $c ; border block def_warps - warp 0, 7, 8, SS_ANNE_2F + warp 0, 7, 8, SS_ANNE_2F def_signs - sign 4, 1, 2 ; SSAnne7Text2 - sign 1, 2, 3 ; SSAnne7Text3 + sign 4, 1, 2 ; SSAnne7Text2 + sign 1, 2, 3 ; SSAnne7Text3 def_objects object SPRITE_CAPTAIN, 4, 2, STAY, UP, 1 ; person diff --git a/data/maps/objects/SSAnneKitchen.asm b/data/maps/objects/SSAnneKitchen.asm index 0bc9adfb..75fc497f 100755 --- a/data/maps/objects/SSAnneKitchen.asm +++ b/data/maps/objects/SSAnneKitchen.asm @@ -2,7 +2,7 @@ SSAnneKitchen_Object: db $c ; border block def_warps - warp 6, 0, 10, SS_ANNE_1F + warp 6, 0, 10, SS_ANNE_1F def_signs diff --git a/data/maps/objects/SafariZoneCenter.asm b/data/maps/objects/SafariZoneCenter.asm index ff908da3..59f4e2a4 100755 --- a/data/maps/objects/SafariZoneCenter.asm +++ b/data/maps/objects/SafariZoneCenter.asm @@ -4,10 +4,10 @@ SafariZoneCenter_Object: def_warps warp 14, 25, 2, SAFARI_ZONE_GATE warp 15, 25, 3, SAFARI_ZONE_GATE - warp 0, 10, 4, SAFARI_ZONE_WEST - warp 0, 11, 5, SAFARI_ZONE_WEST - warp 14, 0, 4, SAFARI_ZONE_NORTH - warp 15, 0, 5, SAFARI_ZONE_NORTH + warp 0, 10, 4, SAFARI_ZONE_WEST + warp 0, 11, 5, SAFARI_ZONE_WEST + warp 14, 0, 4, SAFARI_ZONE_NORTH + warp 15, 0, 5, SAFARI_ZONE_NORTH warp 29, 10, 2, SAFARI_ZONE_EAST warp 29, 11, 3, SAFARI_ZONE_EAST warp 17, 19, 0, SAFARI_ZONE_CENTER_REST_HOUSE diff --git a/data/maps/objects/SafariZoneCenterRestHouse.asm b/data/maps/objects/SafariZoneCenterRestHouse.asm index 87e5bedb..5b256347 100755 --- a/data/maps/objects/SafariZoneCenterRestHouse.asm +++ b/data/maps/objects/SafariZoneCenterRestHouse.asm @@ -2,8 +2,8 @@ SafariZoneCenterRestHouse_Object: db $a ; border block def_warps - warp 2, 7, 8, SAFARI_ZONE_CENTER - warp 3, 7, 8, SAFARI_ZONE_CENTER + warp 2, 7, 8, SAFARI_ZONE_CENTER + warp 3, 7, 8, SAFARI_ZONE_CENTER def_signs diff --git a/data/maps/objects/SafariZoneEast.asm b/data/maps/objects/SafariZoneEast.asm index dafb26db..999c51b0 100755 --- a/data/maps/objects/SafariZoneEast.asm +++ b/data/maps/objects/SafariZoneEast.asm @@ -2,16 +2,16 @@ SafariZoneEast_Object: db $0 ; border block def_warps - warp 0, 4, 6, SAFARI_ZONE_NORTH - warp 0, 5, 7, SAFARI_ZONE_NORTH - warp 0, 22, 6, SAFARI_ZONE_CENTER - warp 0, 23, 6, SAFARI_ZONE_CENTER - warp 25, 9, 0, SAFARI_ZONE_EAST_REST_HOUSE + warp 0, 4, 6, SAFARI_ZONE_NORTH + warp 0, 5, 7, SAFARI_ZONE_NORTH + warp 0, 22, 6, SAFARI_ZONE_CENTER + warp 0, 23, 6, SAFARI_ZONE_CENTER + warp 25, 9, 0, SAFARI_ZONE_EAST_REST_HOUSE def_signs sign 26, 10, 5 ; SafariZoneEastText5 - sign 6, 4, 6 ; SafariZoneEastText6 - sign 5, 23, 7 ; SafariZoneEastText7 + sign 6, 4, 6 ; SafariZoneEastText6 + sign 5, 23, 7 ; SafariZoneEastText7 def_objects object SPRITE_POKE_BALL, 21, 10, STAY, NONE, 1, FULL_RESTORE diff --git a/data/maps/objects/SafariZoneEastRestHouse.asm b/data/maps/objects/SafariZoneEastRestHouse.asm index beab3428..31940542 100755 --- a/data/maps/objects/SafariZoneEastRestHouse.asm +++ b/data/maps/objects/SafariZoneEastRestHouse.asm @@ -2,8 +2,8 @@ SafariZoneEastRestHouse_Object: db $a ; border block def_warps - warp 2, 7, 4, SAFARI_ZONE_EAST - warp 3, 7, 4, SAFARI_ZONE_EAST + warp 2, 7, 4, SAFARI_ZONE_EAST + warp 3, 7, 4, SAFARI_ZONE_EAST def_signs diff --git a/data/maps/objects/SafariZoneGate.asm b/data/maps/objects/SafariZoneGate.asm index 9e74f62b..2423ae8a 100755 --- a/data/maps/objects/SafariZoneGate.asm +++ b/data/maps/objects/SafariZoneGate.asm @@ -2,10 +2,10 @@ SafariZoneGate_Object: db $a ; border block def_warps - warp 3, 5, 4, LAST_MAP - warp 4, 5, 4, LAST_MAP - warp 3, 0, 0, SAFARI_ZONE_CENTER - warp 4, 0, 1, SAFARI_ZONE_CENTER + warp 3, 5, 4, LAST_MAP + warp 4, 5, 4, LAST_MAP + warp 3, 0, 0, SAFARI_ZONE_CENTER + warp 4, 0, 1, SAFARI_ZONE_CENTER def_signs diff --git a/data/maps/objects/SafariZoneNorth.asm b/data/maps/objects/SafariZoneNorth.asm index df5ee294..2094e742 100755 --- a/data/maps/objects/SafariZoneNorth.asm +++ b/data/maps/objects/SafariZoneNorth.asm @@ -2,19 +2,19 @@ SafariZoneNorth_Object: db $0 ; border block def_warps - warp 2, 35, 0, SAFARI_ZONE_WEST - warp 3, 35, 1, SAFARI_ZONE_WEST - warp 8, 35, 2, SAFARI_ZONE_WEST - warp 9, 35, 3, SAFARI_ZONE_WEST + warp 2, 35, 0, SAFARI_ZONE_WEST + warp 3, 35, 1, SAFARI_ZONE_WEST + warp 8, 35, 2, SAFARI_ZONE_WEST + warp 9, 35, 3, SAFARI_ZONE_WEST warp 20, 35, 4, SAFARI_ZONE_CENTER warp 21, 35, 5, SAFARI_ZONE_CENTER warp 39, 30, 0, SAFARI_ZONE_EAST warp 39, 31, 1, SAFARI_ZONE_EAST - warp 35, 3, 0, SAFARI_ZONE_NORTH_REST_HOUSE + warp 35, 3, 0, SAFARI_ZONE_NORTH_REST_HOUSE def_signs - sign 36, 4, 3 ; SafariZoneNorthText3 - sign 4, 25, 4 ; SafariZoneNorthText4 + sign 36, 4, 3 ; SafariZoneNorthText3 + sign 4, 25, 4 ; SafariZoneNorthText4 sign 13, 31, 5 ; SafariZoneNorthText5 sign 19, 33, 6 ; SafariZoneNorthText6 sign 26, 28, 7 ; SafariZoneNorthText7 diff --git a/data/maps/objects/SafariZoneNorthRestHouse.asm b/data/maps/objects/SafariZoneNorthRestHouse.asm index 91c4b2b4..38087622 100755 --- a/data/maps/objects/SafariZoneNorthRestHouse.asm +++ b/data/maps/objects/SafariZoneNorthRestHouse.asm @@ -2,8 +2,8 @@ SafariZoneNorthRestHouse_Object: db $a ; border block def_warps - warp 2, 7, 8, SAFARI_ZONE_NORTH - warp 3, 7, 8, SAFARI_ZONE_NORTH + warp 2, 7, 8, SAFARI_ZONE_NORTH + warp 3, 7, 8, SAFARI_ZONE_NORTH def_signs diff --git a/data/maps/objects/SafariZoneSecretHouse.asm b/data/maps/objects/SafariZoneSecretHouse.asm index b95fc26d..1431d711 100755 --- a/data/maps/objects/SafariZoneSecretHouse.asm +++ b/data/maps/objects/SafariZoneSecretHouse.asm @@ -2,8 +2,8 @@ SafariZoneSecretHouse_Object: db $17 ; border block def_warps - warp 2, 7, 6, SAFARI_ZONE_WEST - warp 3, 7, 6, SAFARI_ZONE_WEST + warp 2, 7, 6, SAFARI_ZONE_WEST + warp 3, 7, 6, SAFARI_ZONE_WEST def_signs diff --git a/data/maps/objects/SafariZoneWest.asm b/data/maps/objects/SafariZoneWest.asm index 5e170cbc..d53ee37b 100755 --- a/data/maps/objects/SafariZoneWest.asm +++ b/data/maps/objects/SafariZoneWest.asm @@ -2,19 +2,19 @@ SafariZoneWest_Object: db $0 ; border block def_warps - warp 20, 0, 0, SAFARI_ZONE_NORTH - warp 21, 0, 1, SAFARI_ZONE_NORTH - warp 26, 0, 2, SAFARI_ZONE_NORTH - warp 27, 0, 3, SAFARI_ZONE_NORTH + warp 20, 0, 0, SAFARI_ZONE_NORTH + warp 21, 0, 1, SAFARI_ZONE_NORTH + warp 26, 0, 2, SAFARI_ZONE_NORTH + warp 27, 0, 3, SAFARI_ZONE_NORTH warp 29, 22, 2, SAFARI_ZONE_CENTER warp 29, 23, 3, SAFARI_ZONE_CENTER - warp 3, 3, 0, SAFARI_ZONE_SECRET_HOUSE + warp 3, 3, 0, SAFARI_ZONE_SECRET_HOUSE warp 11, 11, 0, SAFARI_ZONE_WEST_REST_HOUSE def_signs sign 12, 12, 5 ; SafariZoneWestText5 - sign 17, 3, 6 ; SafariZoneWestText6 - sign 26, 4, 7 ; SafariZoneWestText7 + sign 17, 3, 6 ; SafariZoneWestText6 + sign 26, 4, 7 ; SafariZoneWestText7 sign 24, 22, 8 ; SafariZoneWestText8 def_objects diff --git a/data/maps/objects/SafariZoneWestRestHouse.asm b/data/maps/objects/SafariZoneWestRestHouse.asm index f3c4635b..26bb481e 100755 --- a/data/maps/objects/SafariZoneWestRestHouse.asm +++ b/data/maps/objects/SafariZoneWestRestHouse.asm @@ -2,8 +2,8 @@ SafariZoneWestRestHouse_Object: db $a ; border block def_warps - warp 2, 7, 7, SAFARI_ZONE_WEST - warp 3, 7, 7, SAFARI_ZONE_WEST + warp 2, 7, 7, SAFARI_ZONE_WEST + warp 3, 7, 7, SAFARI_ZONE_WEST def_signs diff --git a/data/maps/objects/SaffronCity.asm b/data/maps/objects/SaffronCity.asm index 04e75c31..f69b3333 100755 --- a/data/maps/objects/SaffronCity.asm +++ b/data/maps/objects/SaffronCity.asm @@ -2,26 +2,26 @@ SaffronCity_Object: db $f ; border block def_warps - warp 7, 5, 0, COPYCATS_HOUSE_1F - warp 26, 3, 0, FIGHTING_DOJO - warp 34, 3, 0, SAFFRON_GYM + warp 7, 5, 0, COPYCATS_HOUSE_1F + warp 26, 3, 0, FIGHTING_DOJO + warp 34, 3, 0, SAFFRON_GYM warp 13, 11, 0, SAFFRON_PIDGEY_HOUSE warp 25, 11, 0, SAFFRON_MART warp 18, 21, 0, SILPH_CO_1F - warp 9, 29, 0, SAFFRON_POKECENTER + warp 9, 29, 0, SAFFRON_POKECENTER warp 29, 29, 0, MR_PSYCHICS_HOUSE def_signs - sign 17, 5, 16 ; SaffronCityText16 - sign 27, 5, 17 ; SaffronCityText17 - sign 35, 5, 18 ; SaffronCityText18 + sign 17, 5, 16 ; SaffronCityText16 + sign 27, 5, 17 ; SaffronCityText17 + sign 35, 5, 18 ; SaffronCityText18 sign 26, 11, 19 ; MartSignText sign 39, 19, 20 ; SaffronCityText20 - sign 5, 21, 21 ; SaffronCityText21 + sign 5, 21, 21 ; SaffronCityText21 sign 15, 21, 22 ; SaffronCityText22 sign 10, 29, 23 ; PokeCenterSignText sign 27, 29, 24 ; SaffronCityText24 - sign 1, 19, 25 ; SaffronCityText25 + sign 1, 19, 25 ; SaffronCityText25 def_objects object SPRITE_ROCKET, 7, 6, STAY, NONE, 1 ; person diff --git a/data/maps/objects/SaffronGym.asm b/data/maps/objects/SaffronGym.asm index 86b0fbee..9623440a 100755 --- a/data/maps/objects/SaffronGym.asm +++ b/data/maps/objects/SaffronGym.asm @@ -2,32 +2,32 @@ SaffronGym_Object: db $2e ; border block def_warps - warp 8, 17, 2, LAST_MAP - warp 9, 17, 2, LAST_MAP - warp 1, 3, 22, SAFFRON_GYM - warp 5, 3, 15, SAFFRON_GYM - warp 1, 5, 18, SAFFRON_GYM - warp 5, 5, 8, SAFFRON_GYM - warp 1, 9, 27, SAFFRON_GYM - warp 5, 9, 16, SAFFRON_GYM - warp 1, 11, 5, SAFFRON_GYM - warp 5, 11, 13, SAFFRON_GYM - warp 1, 15, 23, SAFFRON_GYM - warp 5, 15, 30, SAFFRON_GYM - warp 1, 17, 17, SAFFRON_GYM - warp 5, 17, 9, SAFFRON_GYM - warp 9, 3, 26, SAFFRON_GYM - warp 11, 3, 3, SAFFRON_GYM - warp 9, 5, 7, SAFFRON_GYM - warp 11, 5, 12, SAFFRON_GYM + warp 8, 17, 2, LAST_MAP + warp 9, 17, 2, LAST_MAP + warp 1, 3, 22, SAFFRON_GYM + warp 5, 3, 15, SAFFRON_GYM + warp 1, 5, 18, SAFFRON_GYM + warp 5, 5, 8, SAFFRON_GYM + warp 1, 9, 27, SAFFRON_GYM + warp 5, 9, 16, SAFFRON_GYM + warp 1, 11, 5, SAFFRON_GYM + warp 5, 11, 13, SAFFRON_GYM + warp 1, 15, 23, SAFFRON_GYM + warp 5, 15, 30, SAFFRON_GYM + warp 1, 17, 17, SAFFRON_GYM + warp 5, 17, 9, SAFFRON_GYM + warp 9, 3, 26, SAFFRON_GYM + warp 11, 3, 3, SAFFRON_GYM + warp 9, 5, 7, SAFFRON_GYM + warp 11, 5, 12, SAFFRON_GYM warp 11, 11, 4, SAFFRON_GYM warp 11, 15, 31, SAFFRON_GYM - warp 15, 3, 24, SAFFRON_GYM - warp 19, 3, 28, SAFFRON_GYM - warp 15, 5, 2, SAFFRON_GYM - warp 19, 5, 10, SAFFRON_GYM - warp 15, 9, 20, SAFFRON_GYM - warp 19, 9, 29, SAFFRON_GYM + warp 15, 3, 24, SAFFRON_GYM + warp 19, 3, 28, SAFFRON_GYM + warp 15, 5, 2, SAFFRON_GYM + warp 19, 5, 10, SAFFRON_GYM + warp 15, 9, 20, SAFFRON_GYM + warp 19, 9, 29, SAFFRON_GYM warp 15, 11, 14, SAFFRON_GYM warp 19, 11, 6, SAFFRON_GYM warp 15, 15, 21, SAFFRON_GYM diff --git a/data/maps/objects/SaffronMart.asm b/data/maps/objects/SaffronMart.asm index 5d172ea7..0a9aed7a 100755 --- a/data/maps/objects/SaffronMart.asm +++ b/data/maps/objects/SaffronMart.asm @@ -2,8 +2,8 @@ SaffronMart_Object: db $0 ; border block def_warps - warp 3, 7, 4, LAST_MAP - warp 4, 7, 4, LAST_MAP + warp 3, 7, 4, LAST_MAP + warp 4, 7, 4, LAST_MAP def_signs diff --git a/data/maps/objects/SaffronPidgeyHouse.asm b/data/maps/objects/SaffronPidgeyHouse.asm index 0357ddfe..59af6fc0 100755 --- a/data/maps/objects/SaffronPidgeyHouse.asm +++ b/data/maps/objects/SaffronPidgeyHouse.asm @@ -2,8 +2,8 @@ SaffronPidgeyHouse_Object: db $a ; border block def_warps - warp 2, 7, 3, LAST_MAP - warp 3, 7, 3, LAST_MAP + warp 2, 7, 3, LAST_MAP + warp 3, 7, 3, LAST_MAP def_signs diff --git a/data/maps/objects/SaffronPokecenter.asm b/data/maps/objects/SaffronPokecenter.asm index 2aa90f3d..aa6161ca 100755 --- a/data/maps/objects/SaffronPokecenter.asm +++ b/data/maps/objects/SaffronPokecenter.asm @@ -2,8 +2,8 @@ SaffronPokecenter_Object: db $0 ; border block def_warps - warp 3, 7, 6, LAST_MAP - warp 4, 7, 6, LAST_MAP + warp 3, 7, 6, LAST_MAP + warp 4, 7, 6, LAST_MAP def_signs diff --git a/data/maps/objects/SeafoamIslands1F.asm b/data/maps/objects/SeafoamIslands1F.asm index 9d098cba..3d92f199 100755 --- a/data/maps/objects/SeafoamIslands1F.asm +++ b/data/maps/objects/SeafoamIslands1F.asm @@ -2,12 +2,12 @@ SeafoamIslands1F_Object: db $7d ; border block def_warps - warp 4, 17, 0, LAST_MAP - warp 5, 17, 0, LAST_MAP + warp 4, 17, 0, LAST_MAP + warp 5, 17, 0, LAST_MAP warp 26, 17, 1, LAST_MAP warp 27, 17, 1, LAST_MAP - warp 7, 5, 1, SEAFOAM_ISLANDS_B1F - warp 25, 3, 6, SEAFOAM_ISLANDS_B1F + warp 7, 5, 1, SEAFOAM_ISLANDS_B1F + warp 25, 3, 6, SEAFOAM_ISLANDS_B1F warp 23, 15, 4, SEAFOAM_ISLANDS_B1F def_signs diff --git a/data/maps/objects/SeafoamIslandsB1F.asm b/data/maps/objects/SeafoamIslandsB1F.asm index b0a9525b..c9a4d235 100755 --- a/data/maps/objects/SeafoamIslandsB1F.asm +++ b/data/maps/objects/SeafoamIslandsB1F.asm @@ -2,13 +2,13 @@ SeafoamIslandsB1F_Object: db $7d ; border block def_warps - warp 4, 2, 0, SEAFOAM_ISLANDS_B2F - warp 7, 5, 4, SEAFOAM_ISLANDS_1F - warp 13, 7, 2, SEAFOAM_ISLANDS_B2F + warp 4, 2, 0, SEAFOAM_ISLANDS_B2F + warp 7, 5, 4, SEAFOAM_ISLANDS_1F + warp 13, 7, 2, SEAFOAM_ISLANDS_B2F warp 19, 15, 3, SEAFOAM_ISLANDS_B2F warp 23, 15, 6, SEAFOAM_ISLANDS_1F warp 25, 11, 5, SEAFOAM_ISLANDS_B2F - warp 25, 3, 5, SEAFOAM_ISLANDS_1F + warp 25, 3, 5, SEAFOAM_ISLANDS_1F def_signs diff --git a/data/maps/objects/SeafoamIslandsB2F.asm b/data/maps/objects/SeafoamIslandsB2F.asm index ddebf41c..ff9e55fd 100755 --- a/data/maps/objects/SeafoamIslandsB2F.asm +++ b/data/maps/objects/SeafoamIslandsB2F.asm @@ -2,11 +2,11 @@ SeafoamIslandsB2F_Object: db $7d ; border block def_warps - warp 5, 3, 0, SEAFOAM_ISLANDS_B1F - warp 5, 13, 0, SEAFOAM_ISLANDS_B3F - warp 13, 7, 2, SEAFOAM_ISLANDS_B1F + warp 5, 3, 0, SEAFOAM_ISLANDS_B1F + warp 5, 13, 0, SEAFOAM_ISLANDS_B3F + warp 13, 7, 2, SEAFOAM_ISLANDS_B1F warp 19, 15, 3, SEAFOAM_ISLANDS_B1F - warp 25, 3, 3, SEAFOAM_ISLANDS_B3F + warp 25, 3, 3, SEAFOAM_ISLANDS_B3F warp 25, 11, 5, SEAFOAM_ISLANDS_B1F warp 25, 14, 4, SEAFOAM_ISLANDS_B3F diff --git a/data/maps/objects/SeafoamIslandsB3F.asm b/data/maps/objects/SeafoamIslandsB3F.asm index ee745aa0..418cdde6 100755 --- a/data/maps/objects/SeafoamIslandsB3F.asm +++ b/data/maps/objects/SeafoamIslandsB3F.asm @@ -2,10 +2,10 @@ SeafoamIslandsB3F_Object: db $7d ; border block def_warps - warp 5, 12, 1, SEAFOAM_ISLANDS_B2F - warp 8, 6, 2, SEAFOAM_ISLANDS_B4F - warp 25, 4, 3, SEAFOAM_ISLANDS_B4F - warp 25, 3, 4, SEAFOAM_ISLANDS_B2F + warp 5, 12, 1, SEAFOAM_ISLANDS_B2F + warp 8, 6, 2, SEAFOAM_ISLANDS_B4F + warp 25, 4, 3, SEAFOAM_ISLANDS_B4F + warp 25, 3, 4, SEAFOAM_ISLANDS_B2F warp 25, 14, 6, SEAFOAM_ISLANDS_B2F warp 20, 17, 0, SEAFOAM_ISLANDS_B4F warp 21, 17, 1, SEAFOAM_ISLANDS_B4F diff --git a/data/maps/objects/SeafoamIslandsB4F.asm b/data/maps/objects/SeafoamIslandsB4F.asm index 07490cd7..f2d35831 100755 --- a/data/maps/objects/SeafoamIslandsB4F.asm +++ b/data/maps/objects/SeafoamIslandsB4F.asm @@ -4,12 +4,12 @@ SeafoamIslandsB4F_Object: def_warps warp 20, 17, 5, SEAFOAM_ISLANDS_B3F warp 21, 17, 6, SEAFOAM_ISLANDS_B3F - warp 11, 7, 1, SEAFOAM_ISLANDS_B3F - warp 25, 4, 2, SEAFOAM_ISLANDS_B3F + warp 11, 7, 1, SEAFOAM_ISLANDS_B3F + warp 25, 4, 2, SEAFOAM_ISLANDS_B3F def_signs - sign 9, 15, 4 ; SeafoamIslands5Text4 - sign 23, 1, 5 ; SeafoamIslands5Text5 + sign 9, 15, 4 ; SeafoamIslands5Text4 + sign 23, 1, 5 ; SeafoamIslands5Text5 def_objects object SPRITE_BOULDER, 4, 15, STAY, NONE, 1 ; person diff --git a/data/maps/objects/SilphCo10F.asm b/data/maps/objects/SilphCo10F.asm index d496a014..6840c13a 100755 --- a/data/maps/objects/SilphCo10F.asm +++ b/data/maps/objects/SilphCo10F.asm @@ -2,12 +2,12 @@ SilphCo10F_Object: db $2e ; border block def_warps - warp 8, 0, 0, SILPH_CO_9F - warp 10, 0, 0, SILPH_CO_11F - warp 12, 0, 0, SILPH_CO_ELEVATOR - warp 9, 11, 3, SILPH_CO_4F + warp 8, 0, 0, SILPH_CO_9F + warp 10, 0, 0, SILPH_CO_11F + warp 12, 0, 0, SILPH_CO_ELEVATOR + warp 9, 11, 3, SILPH_CO_4F warp 13, 15, 5, SILPH_CO_4F - warp 13, 7, 6, SILPH_CO_4F + warp 13, 7, 6, SILPH_CO_4F def_signs diff --git a/data/maps/objects/SilphCo11F.asm b/data/maps/objects/SilphCo11F.asm index 28bad624..fd1167f0 100755 --- a/data/maps/objects/SilphCo11F.asm +++ b/data/maps/objects/SilphCo11F.asm @@ -2,10 +2,10 @@ SilphCo11F_Object: db $d ; border block def_warps - warp 9, 0, 1, SILPH_CO_10F - warp 13, 0, 0, SILPH_CO_ELEVATOR - warp 5, 5, 9, LAST_MAP - warp 3, 2, 3, SILPH_CO_7F + warp 9, 0, 1, SILPH_CO_10F + warp 13, 0, 0, SILPH_CO_ELEVATOR + warp 5, 5, 9, LAST_MAP + warp 3, 2, 3, SILPH_CO_7F def_signs diff --git a/data/maps/objects/SilphCo1F.asm b/data/maps/objects/SilphCo1F.asm index 13ddf8b3..7a9bdb61 100755 --- a/data/maps/objects/SilphCo1F.asm +++ b/data/maps/objects/SilphCo1F.asm @@ -4,8 +4,8 @@ SilphCo1F_Object: def_warps warp 10, 17, 5, LAST_MAP warp 11, 17, 5, LAST_MAP - warp 26, 0, 0, SILPH_CO_2F - warp 20, 0, 0, SILPH_CO_ELEVATOR + warp 26, 0, 0, SILPH_CO_2F + warp 20, 0, 0, SILPH_CO_ELEVATOR warp 16, 10, 6, SILPH_CO_3F def_signs diff --git a/data/maps/objects/SilphCo2F.asm b/data/maps/objects/SilphCo2F.asm index ed2cda98..186d1581 100755 --- a/data/maps/objects/SilphCo2F.asm +++ b/data/maps/objects/SilphCo2F.asm @@ -2,13 +2,13 @@ SilphCo2F_Object: db $2e ; border block def_warps - warp 24, 0, 2, SILPH_CO_1F - warp 26, 0, 0, SILPH_CO_3F - warp 20, 0, 0, SILPH_CO_ELEVATOR - warp 3, 3, 6, SILPH_CO_3F - warp 13, 3, 4, SILPH_CO_8F + warp 24, 0, 2, SILPH_CO_1F + warp 26, 0, 0, SILPH_CO_3F + warp 20, 0, 0, SILPH_CO_ELEVATOR + warp 3, 3, 6, SILPH_CO_3F + warp 13, 3, 4, SILPH_CO_8F warp 27, 15, 5, SILPH_CO_8F - warp 9, 15, 4, SILPH_CO_6F + warp 9, 15, 4, SILPH_CO_6F def_signs diff --git a/data/maps/objects/SilphCo3F.asm b/data/maps/objects/SilphCo3F.asm index e8b2ba48..e9ea1cce 100755 --- a/data/maps/objects/SilphCo3F.asm +++ b/data/maps/objects/SilphCo3F.asm @@ -2,14 +2,14 @@ SilphCo3F_Object: db $2e ; border block def_warps - warp 26, 0, 1, SILPH_CO_2F - warp 24, 0, 0, SILPH_CO_4F - warp 20, 0, 0, SILPH_CO_ELEVATOR + warp 26, 0, 1, SILPH_CO_2F + warp 24, 0, 0, SILPH_CO_4F + warp 20, 0, 0, SILPH_CO_ELEVATOR warp 23, 11, 9, SILPH_CO_3F - warp 3, 3, 5, SILPH_CO_5F - warp 3, 15, 6, SILPH_CO_5F - warp 27, 3, 3, SILPH_CO_2F - warp 3, 11, 3, SILPH_CO_9F + warp 3, 3, 5, SILPH_CO_5F + warp 3, 15, 6, SILPH_CO_5F + warp 27, 3, 3, SILPH_CO_2F + warp 3, 11, 3, SILPH_CO_9F warp 11, 11, 4, SILPH_CO_7F warp 27, 15, 3, SILPH_CO_3F diff --git a/data/maps/objects/SilphCo4F.asm b/data/maps/objects/SilphCo4F.asm index f6eb8e31..6c30b526 100755 --- a/data/maps/objects/SilphCo4F.asm +++ b/data/maps/objects/SilphCo4F.asm @@ -2,12 +2,12 @@ SilphCo4F_Object: db $2e ; border block def_warps - warp 24, 0, 1, SILPH_CO_3F - warp 26, 0, 1, SILPH_CO_5F - warp 20, 0, 0, SILPH_CO_ELEVATOR - warp 11, 7, 3, SILPH_CO_10F - warp 17, 3, 3, SILPH_CO_6F - warp 3, 15, 4, SILPH_CO_10F + warp 24, 0, 1, SILPH_CO_3F + warp 26, 0, 1, SILPH_CO_5F + warp 20, 0, 0, SILPH_CO_ELEVATOR + warp 11, 7, 3, SILPH_CO_10F + warp 17, 3, 3, SILPH_CO_6F + warp 3, 15, 4, SILPH_CO_10F warp 17, 11, 5, SILPH_CO_10F def_signs diff --git a/data/maps/objects/SilphCo5F.asm b/data/maps/objects/SilphCo5F.asm index dd6bc542..553ec0c3 100755 --- a/data/maps/objects/SilphCo5F.asm +++ b/data/maps/objects/SilphCo5F.asm @@ -2,13 +2,13 @@ SilphCo5F_Object: db $2e ; border block def_warps - warp 24, 0, 1, SILPH_CO_6F - warp 26, 0, 1, SILPH_CO_4F - warp 20, 0, 0, SILPH_CO_ELEVATOR - warp 27, 3, 5, SILPH_CO_7F - warp 9, 15, 4, SILPH_CO_9F - warp 11, 5, 4, SILPH_CO_3F - warp 3, 15, 5, SILPH_CO_3F + warp 24, 0, 1, SILPH_CO_6F + warp 26, 0, 1, SILPH_CO_4F + warp 20, 0, 0, SILPH_CO_ELEVATOR + warp 27, 3, 5, SILPH_CO_7F + warp 9, 15, 4, SILPH_CO_9F + warp 11, 5, 4, SILPH_CO_3F + warp 3, 15, 5, SILPH_CO_3F def_signs diff --git a/data/maps/objects/SilphCo6F.asm b/data/maps/objects/SilphCo6F.asm index 443b3b26..3dba7414 100755 --- a/data/maps/objects/SilphCo6F.asm +++ b/data/maps/objects/SilphCo6F.asm @@ -2,11 +2,11 @@ SilphCo6F_Object: db $2e ; border block def_warps - warp 16, 0, 1, SILPH_CO_7F - warp 14, 0, 0, SILPH_CO_5F - warp 18, 0, 0, SILPH_CO_ELEVATOR - warp 3, 3, 4, SILPH_CO_4F - warp 23, 3, 6, SILPH_CO_2F + warp 16, 0, 1, SILPH_CO_7F + warp 14, 0, 0, SILPH_CO_5F + warp 18, 0, 0, SILPH_CO_ELEVATOR + warp 3, 3, 4, SILPH_CO_4F + warp 23, 3, 6, SILPH_CO_2F def_signs diff --git a/data/maps/objects/SilphCo7F.asm b/data/maps/objects/SilphCo7F.asm index 2fffa334..55f2ade6 100755 --- a/data/maps/objects/SilphCo7F.asm +++ b/data/maps/objects/SilphCo7F.asm @@ -2,11 +2,11 @@ SilphCo7F_Object: db $2e ; border block def_warps - warp 16, 0, 1, SILPH_CO_8F - warp 22, 0, 0, SILPH_CO_6F - warp 18, 0, 0, SILPH_CO_ELEVATOR - warp 5, 7, 3, SILPH_CO_11F - warp 5, 3, 8, SILPH_CO_3F + warp 16, 0, 1, SILPH_CO_8F + warp 22, 0, 0, SILPH_CO_6F + warp 18, 0, 0, SILPH_CO_ELEVATOR + warp 5, 7, 3, SILPH_CO_11F + warp 5, 3, 8, SILPH_CO_3F warp 21, 15, 3, SILPH_CO_5F def_signs diff --git a/data/maps/objects/SilphCo8F.asm b/data/maps/objects/SilphCo8F.asm index 91d1c433..1a50df07 100755 --- a/data/maps/objects/SilphCo8F.asm +++ b/data/maps/objects/SilphCo8F.asm @@ -2,13 +2,13 @@ SilphCo8F_Object: db $2e ; border block def_warps - warp 16, 0, 1, SILPH_CO_9F - warp 14, 0, 0, SILPH_CO_7F - warp 18, 0, 0, SILPH_CO_ELEVATOR - warp 3, 11, 6, SILPH_CO_8F - warp 3, 15, 4, SILPH_CO_2F - warp 11, 5, 5, SILPH_CO_2F - warp 11, 9, 3, SILPH_CO_8F + warp 16, 0, 1, SILPH_CO_9F + warp 14, 0, 0, SILPH_CO_7F + warp 18, 0, 0, SILPH_CO_ELEVATOR + warp 3, 11, 6, SILPH_CO_8F + warp 3, 15, 4, SILPH_CO_2F + warp 11, 5, 5, SILPH_CO_2F + warp 11, 9, 3, SILPH_CO_8F def_signs diff --git a/data/maps/objects/SilphCo9F.asm b/data/maps/objects/SilphCo9F.asm index 6072faa6..e6de70fd 100755 --- a/data/maps/objects/SilphCo9F.asm +++ b/data/maps/objects/SilphCo9F.asm @@ -2,10 +2,10 @@ SilphCo9F_Object: db $2e ; border block def_warps - warp 14, 0, 0, SILPH_CO_10F - warp 16, 0, 0, SILPH_CO_8F - warp 18, 0, 0, SILPH_CO_ELEVATOR - warp 9, 3, 7, SILPH_CO_3F + warp 14, 0, 0, SILPH_CO_10F + warp 16, 0, 0, SILPH_CO_8F + warp 18, 0, 0, SILPH_CO_ELEVATOR + warp 9, 3, 7, SILPH_CO_3F warp 17, 15, 4, SILPH_CO_5F def_signs diff --git a/data/maps/objects/SilphCoElevator.asm b/data/maps/objects/SilphCoElevator.asm index 54aeaf8e..d894ba65 100755 --- a/data/maps/objects/SilphCoElevator.asm +++ b/data/maps/objects/SilphCoElevator.asm @@ -2,11 +2,11 @@ SilphCoElevator_Object: db $f ; border block def_warps - warp 1, 3, 0, UNUSED_MAP_ED - warp 2, 3, 0, UNUSED_MAP_ED + warp 1, 3, 0, UNUSED_MAP_ED + warp 2, 3, 0, UNUSED_MAP_ED def_signs - sign 3, 0, 1 ; SilphCoElevatorText1 + sign 3, 0, 1 ; SilphCoElevatorText1 def_objects diff --git a/data/maps/objects/UndergroundPathNorthSouth.asm b/data/maps/objects/UndergroundPathNorthSouth.asm index 61f33087..abf2d715 100755 --- a/data/maps/objects/UndergroundPathNorthSouth.asm +++ b/data/maps/objects/UndergroundPathNorthSouth.asm @@ -2,8 +2,8 @@ UndergroundPathNorthSouth_Object: db $1 ; border block def_warps - warp 5, 4, 2, UNDERGROUND_PATH_ROUTE_5 - warp 2, 41, 2, UNDERGROUND_PATH_ROUTE_6 + warp 5, 4, 2, UNDERGROUND_PATH_ROUTE_5 + warp 2, 41, 2, UNDERGROUND_PATH_ROUTE_6 def_signs diff --git a/data/maps/objects/UndergroundPathRoute5.asm b/data/maps/objects/UndergroundPathRoute5.asm index 45ba156b..0e0f64e0 100755 --- a/data/maps/objects/UndergroundPathRoute5.asm +++ b/data/maps/objects/UndergroundPathRoute5.asm @@ -2,9 +2,9 @@ UndergroundPathRoute5_Object: db $a ; border block def_warps - warp 3, 7, 3, LAST_MAP - warp 4, 7, 3, LAST_MAP - warp 4, 4, 0, UNDERGROUND_PATH_NORTH_SOUTH + warp 3, 7, 3, LAST_MAP + warp 4, 7, 3, LAST_MAP + warp 4, 4, 0, UNDERGROUND_PATH_NORTH_SOUTH def_signs diff --git a/data/maps/objects/UndergroundPathRoute6.asm b/data/maps/objects/UndergroundPathRoute6.asm index 001ade55..ff4d66b3 100755 --- a/data/maps/objects/UndergroundPathRoute6.asm +++ b/data/maps/objects/UndergroundPathRoute6.asm @@ -2,9 +2,9 @@ UndergroundPathRoute6_Object: db $a ; border block def_warps - warp 3, 7, 3, LAST_MAP - warp 4, 7, 3, LAST_MAP - warp 4, 4, 1, UNDERGROUND_PATH_NORTH_SOUTH + warp 3, 7, 3, LAST_MAP + warp 4, 7, 3, LAST_MAP + warp 4, 4, 1, UNDERGROUND_PATH_NORTH_SOUTH def_signs diff --git a/data/maps/objects/UndergroundPathRoute7.asm b/data/maps/objects/UndergroundPathRoute7.asm index d3ad9f7c..2532c380 100755 --- a/data/maps/objects/UndergroundPathRoute7.asm +++ b/data/maps/objects/UndergroundPathRoute7.asm @@ -2,9 +2,9 @@ UndergroundPathRoute7_Object: db $a ; border block def_warps - warp 3, 7, 4, LAST_MAP - warp 4, 7, 4, LAST_MAP - warp 4, 4, 0, UNDERGROUND_PATH_WEST_EAST + warp 3, 7, 4, LAST_MAP + warp 4, 7, 4, LAST_MAP + warp 4, 4, 0, UNDERGROUND_PATH_WEST_EAST def_signs diff --git a/data/maps/objects/UndergroundPathRoute7Copy.asm b/data/maps/objects/UndergroundPathRoute7Copy.asm index 1d0d1e5d..57e6d093 100755 --- a/data/maps/objects/UndergroundPathRoute7Copy.asm +++ b/data/maps/objects/UndergroundPathRoute7Copy.asm @@ -2,9 +2,9 @@ UndergroundPathRoute7Copy_Object: db $a ; border block def_warps - warp 3, 7, 5, LAST_MAP - warp 4, 7, 5, LAST_MAP - warp 4, 4, 0, UNDERGROUND_PATH_WEST_EAST + warp 3, 7, 5, LAST_MAP + warp 4, 7, 5, LAST_MAP + warp 4, 4, 0, UNDERGROUND_PATH_WEST_EAST def_signs diff --git a/data/maps/objects/UndergroundPathRoute8.asm b/data/maps/objects/UndergroundPathRoute8.asm index 7cd89535..d84188ab 100755 --- a/data/maps/objects/UndergroundPathRoute8.asm +++ b/data/maps/objects/UndergroundPathRoute8.asm @@ -2,9 +2,9 @@ UndergroundPathRoute8_Object: db $a ; border block def_warps - warp 3, 7, 4, LAST_MAP - warp 4, 7, 4, LAST_MAP - warp 4, 4, 1, UNDERGROUND_PATH_WEST_EAST + warp 3, 7, 4, LAST_MAP + warp 4, 7, 4, LAST_MAP + warp 4, 4, 1, UNDERGROUND_PATH_WEST_EAST def_signs diff --git a/data/maps/objects/UndergroundPathWestEast.asm b/data/maps/objects/UndergroundPathWestEast.asm index 5487a9a7..15141e93 100755 --- a/data/maps/objects/UndergroundPathWestEast.asm +++ b/data/maps/objects/UndergroundPathWestEast.asm @@ -2,8 +2,8 @@ UndergroundPathWestEast_Object: db $1 ; border block def_warps - warp 2, 5, 2, UNDERGROUND_PATH_ROUTE_7 - warp 47, 2, 2, UNDERGROUND_PATH_ROUTE_8 + warp 2, 5, 2, UNDERGROUND_PATH_ROUTE_7 + warp 47, 2, 2, UNDERGROUND_PATH_ROUTE_8 def_signs diff --git a/data/maps/objects/VermilionCity.asm b/data/maps/objects/VermilionCity.asm index e6a28cfd..1b989ad7 100755 --- a/data/maps/objects/VermilionCity.asm +++ b/data/maps/objects/VermilionCity.asm @@ -2,23 +2,23 @@ VermilionCity_Object: db $43 ; border block def_warps - warp 11, 3, 0, VERMILION_POKECENTER - warp 9, 13, 0, POKEMON_FAN_CLUB + warp 11, 3, 0, VERMILION_POKECENTER + warp 9, 13, 0, POKEMON_FAN_CLUB warp 23, 13, 0, VERMILION_MART warp 12, 19, 0, VERMILION_GYM warp 23, 19, 0, VERMILION_PIDGEY_HOUSE warp 18, 31, 0, VERMILION_DOCK warp 19, 31, 0, VERMILION_DOCK warp 15, 13, 0, VERMILION_TRADE_HOUSE - warp 7, 3, 0, VERMILION_OLD_ROD_HOUSE + warp 7, 3, 0, VERMILION_OLD_ROD_HOUSE def_signs - sign 27, 3, 7 ; VermilionCityText7 - sign 37, 13, 8 ; VermilionCityText8 - sign 24, 13, 9 ; MartSignText - sign 12, 3, 10 ; PokeCenterSignText - sign 7, 13, 11 ; VermilionCityText11 - sign 7, 19, 12 ; VermilionCityText12 + sign 27, 3, 7 ; VermilionCityText7 + sign 37, 13, 8 ; VermilionCityText8 + sign 24, 13, 9 ; MartSignText + sign 12, 3, 10 ; PokeCenterSignText + sign 7, 13, 11 ; VermilionCityText11 + sign 7, 19, 12 ; VermilionCityText12 sign 29, 15, 13 ; VermilionCityText13 def_objects diff --git a/data/maps/objects/VermilionDock.asm b/data/maps/objects/VermilionDock.asm index 0b1c4e57..f8143aaa 100755 --- a/data/maps/objects/VermilionDock.asm +++ b/data/maps/objects/VermilionDock.asm @@ -2,8 +2,8 @@ VermilionDock_Object: db $f ; border block def_warps - warp 14, 0, 5, LAST_MAP - warp 14, 2, 1, SS_ANNE_1F + warp 14, 0, 5, LAST_MAP + warp 14, 2, 1, SS_ANNE_1F def_signs diff --git a/data/maps/objects/VermilionGym.asm b/data/maps/objects/VermilionGym.asm index 1c2699d3..ce0fd9f0 100755 --- a/data/maps/objects/VermilionGym.asm +++ b/data/maps/objects/VermilionGym.asm @@ -2,8 +2,8 @@ VermilionGym_Object: db $3 ; border block def_warps - warp 4, 17, 3, LAST_MAP - warp 5, 17, 3, LAST_MAP + warp 4, 17, 3, LAST_MAP + warp 5, 17, 3, LAST_MAP def_signs diff --git a/data/maps/objects/VermilionMart.asm b/data/maps/objects/VermilionMart.asm index a8b26992..c473b5d1 100755 --- a/data/maps/objects/VermilionMart.asm +++ b/data/maps/objects/VermilionMart.asm @@ -2,8 +2,8 @@ VermilionMart_Object: db $0 ; border block def_warps - warp 3, 7, 2, LAST_MAP - warp 4, 7, 2, LAST_MAP + warp 3, 7, 2, LAST_MAP + warp 4, 7, 2, LAST_MAP def_signs diff --git a/data/maps/objects/VermilionOldRodHouse.asm b/data/maps/objects/VermilionOldRodHouse.asm index 2034f152..878262f2 100755 --- a/data/maps/objects/VermilionOldRodHouse.asm +++ b/data/maps/objects/VermilionOldRodHouse.asm @@ -2,8 +2,8 @@ VermilionOldRodHouse_Object: db $a ; border block def_warps - warp 2, 7, 8, LAST_MAP - warp 3, 7, 8, LAST_MAP + warp 2, 7, 8, LAST_MAP + warp 3, 7, 8, LAST_MAP def_signs diff --git a/data/maps/objects/VermilionPidgeyHouse.asm b/data/maps/objects/VermilionPidgeyHouse.asm index 733aab81..0a357409 100755 --- a/data/maps/objects/VermilionPidgeyHouse.asm +++ b/data/maps/objects/VermilionPidgeyHouse.asm @@ -2,8 +2,8 @@ VermilionPidgeyHouse_Object: db $a ; border block def_warps - warp 2, 7, 4, LAST_MAP - warp 3, 7, 4, LAST_MAP + warp 2, 7, 4, LAST_MAP + warp 3, 7, 4, LAST_MAP def_signs diff --git a/data/maps/objects/VermilionPokecenter.asm b/data/maps/objects/VermilionPokecenter.asm index 4725e951..e656b80c 100755 --- a/data/maps/objects/VermilionPokecenter.asm +++ b/data/maps/objects/VermilionPokecenter.asm @@ -2,8 +2,8 @@ VermilionPokecenter_Object: db $0 ; border block def_warps - warp 3, 7, 0, LAST_MAP - warp 4, 7, 0, LAST_MAP + warp 3, 7, 0, LAST_MAP + warp 4, 7, 0, LAST_MAP def_signs diff --git a/data/maps/objects/VermilionTradeHouse.asm b/data/maps/objects/VermilionTradeHouse.asm index 56cc4c69..ec60415f 100755 --- a/data/maps/objects/VermilionTradeHouse.asm +++ b/data/maps/objects/VermilionTradeHouse.asm @@ -2,8 +2,8 @@ VermilionTradeHouse_Object: db $a ; border block def_warps - warp 2, 7, 7, LAST_MAP - warp 3, 7, 7, LAST_MAP + warp 2, 7, 7, LAST_MAP + warp 3, 7, 7, LAST_MAP def_signs diff --git a/data/maps/objects/VictoryRoad1F.asm b/data/maps/objects/VictoryRoad1F.asm index a0179a5a..e3798128 100755 --- a/data/maps/objects/VictoryRoad1F.asm +++ b/data/maps/objects/VictoryRoad1F.asm @@ -2,9 +2,9 @@ VictoryRoad1F_Object: db $7d ; border block def_warps - warp 8, 17, 2, LAST_MAP - warp 9, 17, 2, LAST_MAP - warp 1, 1, 0, VICTORY_ROAD_2F + warp 8, 17, 2, LAST_MAP + warp 9, 17, 2, LAST_MAP + warp 1, 1, 0, VICTORY_ROAD_2F def_signs diff --git a/data/maps/objects/VictoryRoad2F.asm b/data/maps/objects/VictoryRoad2F.asm index 7b96be84..84a32fa2 100755 --- a/data/maps/objects/VictoryRoad2F.asm +++ b/data/maps/objects/VictoryRoad2F.asm @@ -2,13 +2,13 @@ VictoryRoad2F_Object: db $7d ; border block def_warps - warp 0, 8, 2, VICTORY_ROAD_1F - warp 29, 7, 3, LAST_MAP - warp 29, 8, 3, LAST_MAP - warp 23, 7, 0, VICTORY_ROAD_3F + warp 0, 8, 2, VICTORY_ROAD_1F + warp 29, 7, 3, LAST_MAP + warp 29, 8, 3, LAST_MAP + warp 23, 7, 0, VICTORY_ROAD_3F warp 25, 14, 2, VICTORY_ROAD_3F - warp 27, 7, 1, VICTORY_ROAD_3F - warp 1, 1, 3, VICTORY_ROAD_3F + warp 27, 7, 1, VICTORY_ROAD_3F + warp 1, 1, 3, VICTORY_ROAD_3F def_signs diff --git a/data/maps/objects/VictoryRoad3F.asm b/data/maps/objects/VictoryRoad3F.asm index 5c349c9a..fcab3e74 100755 --- a/data/maps/objects/VictoryRoad3F.asm +++ b/data/maps/objects/VictoryRoad3F.asm @@ -2,10 +2,10 @@ VictoryRoad3F_Object: db $7d ; border block def_warps - warp 23, 7, 3, VICTORY_ROAD_2F - warp 26, 8, 5, VICTORY_ROAD_2F + warp 23, 7, 3, VICTORY_ROAD_2F + warp 26, 8, 5, VICTORY_ROAD_2F warp 27, 15, 4, VICTORY_ROAD_2F - warp 2, 0, 6, VICTORY_ROAD_2F + warp 2, 0, 6, VICTORY_ROAD_2F def_signs diff --git a/data/maps/objects/ViridianCity.asm b/data/maps/objects/ViridianCity.asm index 64940a65..c4ee9b69 100755 --- a/data/maps/objects/ViridianCity.asm +++ b/data/maps/objects/ViridianCity.asm @@ -5,16 +5,16 @@ ViridianCity_Object: warp 23, 25, 0, VIRIDIAN_POKECENTER warp 29, 19, 0, VIRIDIAN_MART warp 21, 15, 0, VIRIDIAN_SCHOOL_HOUSE - warp 21, 9, 0, VIRIDIAN_NICKNAME_HOUSE - warp 32, 7, 0, VIRIDIAN_GYM + warp 21, 9, 0, VIRIDIAN_NICKNAME_HOUSE + warp 32, 7, 0, VIRIDIAN_GYM def_signs - sign 17, 17, 8 ; ViridianCityText8 - sign 19, 1, 9 ; ViridianCityText9 + sign 17, 17, 8 ; ViridianCityText8 + sign 19, 1, 9 ; ViridianCityText9 sign 21, 29, 10 ; ViridianCityText10 sign 30, 19, 11 ; MartSignText sign 24, 25, 12 ; PokeCenterSignText - sign 27, 7, 13 ; ViridianCityText13 + sign 27, 7, 13 ; ViridianCityText13 def_objects object SPRITE_YOUNGSTER, 13, 20, WALK, ANY_DIR, 1 ; person diff --git a/data/maps/objects/ViridianForest.asm b/data/maps/objects/ViridianForest.asm index a06e67eb..22d0b67a 100755 --- a/data/maps/objects/ViridianForest.asm +++ b/data/maps/objects/ViridianForest.asm @@ -2,20 +2,20 @@ ViridianForest_Object: db $3 ; border block def_warps - warp 1, 0, 2, VIRIDIAN_FOREST_NORTH_GATE - warp 2, 0, 3, VIRIDIAN_FOREST_NORTH_GATE + warp 1, 0, 2, VIRIDIAN_FOREST_NORTH_GATE + warp 2, 0, 3, VIRIDIAN_FOREST_NORTH_GATE warp 15, 47, 1, VIRIDIAN_FOREST_SOUTH_GATE warp 16, 47, 1, VIRIDIAN_FOREST_SOUTH_GATE warp 17, 47, 1, VIRIDIAN_FOREST_SOUTH_GATE warp 18, 47, 1, VIRIDIAN_FOREST_SOUTH_GATE def_signs - sign 24, 40, 9 ; ViridianForestText9 + sign 24, 40, 9 ; ViridianForestText9 sign 16, 32, 10 ; ViridianForestText10 sign 26, 17, 11 ; ViridianForestText11 - sign 4, 24, 12 ; ViridianForestText12 + sign 4, 24, 12 ; ViridianForestText12 sign 18, 45, 13 ; ViridianForestText13 - sign 2, 1, 14 ; ViridianForestText14 + sign 2, 1, 14 ; ViridianForestText14 def_objects object SPRITE_YOUNGSTER, 16, 43, STAY, NONE, 1 ; person diff --git a/data/maps/objects/ViridianForestNorthGate.asm b/data/maps/objects/ViridianForestNorthGate.asm index eda9a75f..137b8b3b 100755 --- a/data/maps/objects/ViridianForestNorthGate.asm +++ b/data/maps/objects/ViridianForestNorthGate.asm @@ -2,10 +2,10 @@ ViridianForestNorthGate_Object: db $a ; border block def_warps - warp 4, 0, 1, LAST_MAP - warp 5, 0, 1, LAST_MAP - warp 4, 7, 0, VIRIDIAN_FOREST - warp 5, 7, 0, VIRIDIAN_FOREST + warp 4, 0, 1, LAST_MAP + warp 5, 0, 1, LAST_MAP + warp 4, 7, 0, VIRIDIAN_FOREST + warp 5, 7, 0, VIRIDIAN_FOREST def_signs diff --git a/data/maps/objects/ViridianForestSouthGate.asm b/data/maps/objects/ViridianForestSouthGate.asm index 0b98b51b..3693e7ec 100755 --- a/data/maps/objects/ViridianForestSouthGate.asm +++ b/data/maps/objects/ViridianForestSouthGate.asm @@ -2,10 +2,10 @@ ViridianForestSouthGate_Object: db $a ; border block def_warps - warp 4, 0, 3, VIRIDIAN_FOREST - warp 5, 0, 4, VIRIDIAN_FOREST - warp 4, 7, 5, LAST_MAP - warp 5, 7, 5, LAST_MAP + warp 4, 0, 3, VIRIDIAN_FOREST + warp 5, 0, 4, VIRIDIAN_FOREST + warp 4, 7, 5, LAST_MAP + warp 5, 7, 5, LAST_MAP def_signs diff --git a/data/maps/objects/ViridianMart.asm b/data/maps/objects/ViridianMart.asm index b183ca6e..cbb5a4a3 100755 --- a/data/maps/objects/ViridianMart.asm +++ b/data/maps/objects/ViridianMart.asm @@ -2,8 +2,8 @@ ViridianMart_Object: db $0 ; border block def_warps - warp 3, 7, 1, LAST_MAP - warp 4, 7, 1, LAST_MAP + warp 3, 7, 1, LAST_MAP + warp 4, 7, 1, LAST_MAP def_signs diff --git a/data/maps/objects/ViridianNicknameHouse.asm b/data/maps/objects/ViridianNicknameHouse.asm index 7d4c355d..c2e6b70f 100755 --- a/data/maps/objects/ViridianNicknameHouse.asm +++ b/data/maps/objects/ViridianNicknameHouse.asm @@ -2,8 +2,8 @@ ViridianNicknameHouse_Object: db $a ; border block def_warps - warp 2, 7, 3, LAST_MAP - warp 3, 7, 3, LAST_MAP + warp 2, 7, 3, LAST_MAP + warp 3, 7, 3, LAST_MAP def_signs diff --git a/data/maps/objects/ViridianPokecenter.asm b/data/maps/objects/ViridianPokecenter.asm index f1f3cc68..889281e1 100755 --- a/data/maps/objects/ViridianPokecenter.asm +++ b/data/maps/objects/ViridianPokecenter.asm @@ -2,8 +2,8 @@ ViridianPokecenter_Object: db $0 ; border block def_warps - warp 3, 7, 0, LAST_MAP - warp 4, 7, 0, LAST_MAP + warp 3, 7, 0, LAST_MAP + warp 4, 7, 0, LAST_MAP def_signs diff --git a/data/maps/objects/ViridianSchoolHouse.asm b/data/maps/objects/ViridianSchoolHouse.asm index c16b62db..8f228632 100755 --- a/data/maps/objects/ViridianSchoolHouse.asm +++ b/data/maps/objects/ViridianSchoolHouse.asm @@ -2,8 +2,8 @@ ViridianSchoolHouse_Object: db $a ; border block def_warps - warp 2, 7, 2, LAST_MAP - warp 3, 7, 2, LAST_MAP + warp 2, 7, 2, LAST_MAP + warp 3, 7, 2, LAST_MAP def_signs diff --git a/data/maps/objects/WardensHouse.asm b/data/maps/objects/WardensHouse.asm index 97f52667..68210d65 100755 --- a/data/maps/objects/WardensHouse.asm +++ b/data/maps/objects/WardensHouse.asm @@ -2,12 +2,12 @@ WardensHouse_Object: db $17 ; border block def_warps - warp 4, 7, 3, LAST_MAP - warp 5, 7, 3, LAST_MAP + warp 4, 7, 3, LAST_MAP + warp 5, 7, 3, LAST_MAP def_signs - sign 4, 3, 4 ; FuchsiaHouse2Text4 - sign 5, 3, 5 ; FuchsiaHouse2Text5 + sign 4, 3, 4 ; FuchsiaHouse2Text4 + sign 5, 3, 5 ; FuchsiaHouse2Text5 def_objects object SPRITE_WARDEN, 2, 3, STAY, NONE, 1 ; person -- cgit v1.2.3 From 407b813250a768a85c619e06c3f1f010575f31c4 Mon Sep 17 00:00:00 2001 From: Rangi Date: Thu, 27 Aug 2020 12:25:34 -0400 Subject: Separate splash screen, intro, and credits (like pokegold/pokecrystal) --- Makefile | 20 +-- data/tilemaps.asm | 6 +- engine/movie/credits.asm | 2 +- engine/movie/gamefreak.asm | 243 ------------------------------- engine/movie/intro.asm | 22 +-- engine/movie/splash.asm | 243 +++++++++++++++++++++++++++++++ gfx/credits/the_end.png | Bin 0 -> 139 bytes gfx/font.asm | 2 +- gfx/intro/blue_jigglypuff_1.png | Bin 0 -> 366 bytes gfx/intro/blue_jigglypuff_2.png | Bin 0 -> 360 bytes gfx/intro/blue_jigglypuff_3.png | Bin 0 -> 416 bytes gfx/intro/gengar.png | Bin 0 -> 1089 bytes gfx/intro/gengar_1.tilemap | Bin 0 -> 49 bytes gfx/intro/gengar_2.tilemap | Bin 0 -> 49 bytes gfx/intro/gengar_3.tilemap | Bin 0 -> 49 bytes gfx/intro/red_nidorino_1.png | Bin 0 -> 462 bytes gfx/intro/red_nidorino_2.png | Bin 0 -> 449 bytes gfx/intro/red_nidorino_3.png | Bin 0 -> 495 bytes gfx/intro_credits/blue_jigglypuff_1.png | Bin 366 -> 0 bytes gfx/intro_credits/blue_jigglypuff_2.png | Bin 360 -> 0 bytes gfx/intro_credits/blue_jigglypuff_3.png | Bin 416 -> 0 bytes gfx/intro_credits/copyright.png | Bin 220 -> 0 bytes gfx/intro_credits/falling_star.png | Bin 90 -> 0 bytes gfx/intro_credits/gamefreak_logo.png | Bin 139 -> 0 bytes gfx/intro_credits/gamefreak_presents.png | Bin 180 -> 0 bytes gfx/intro_credits/gengar.png | Bin 1089 -> 0 bytes gfx/intro_credits/gengar_1.tilemap | Bin 49 -> 0 bytes gfx/intro_credits/gengar_2.tilemap | Bin 49 -> 0 bytes gfx/intro_credits/gengar_3.tilemap | Bin 49 -> 0 bytes gfx/intro_credits/red_nidorino_1.png | Bin 462 -> 0 bytes gfx/intro_credits/red_nidorino_2.png | Bin 449 -> 0 bytes gfx/intro_credits/red_nidorino_3.png | Bin 495 -> 0 bytes gfx/intro_credits/the_end.png | Bin 139 -> 0 bytes gfx/splash/copyright.png | Bin 0 -> 220 bytes gfx/splash/falling_star.png | Bin 0 -> 90 bytes gfx/splash/gamefreak_logo.png | Bin 0 -> 139 bytes gfx/splash/gamefreak_presents.png | Bin 0 -> 180 bytes main.asm | 2 +- 38 files changed, 270 insertions(+), 270 deletions(-) delete mode 100755 engine/movie/gamefreak.asm create mode 100755 engine/movie/splash.asm create mode 100644 gfx/credits/the_end.png create mode 100644 gfx/intro/blue_jigglypuff_1.png create mode 100644 gfx/intro/blue_jigglypuff_2.png create mode 100644 gfx/intro/blue_jigglypuff_3.png create mode 100644 gfx/intro/gengar.png create mode 100644 gfx/intro/gengar_1.tilemap create mode 100644 gfx/intro/gengar_2.tilemap create mode 100644 gfx/intro/gengar_3.tilemap create mode 100644 gfx/intro/red_nidorino_1.png create mode 100644 gfx/intro/red_nidorino_2.png create mode 100644 gfx/intro/red_nidorino_3.png delete mode 100644 gfx/intro_credits/blue_jigglypuff_1.png delete mode 100644 gfx/intro_credits/blue_jigglypuff_2.png delete mode 100644 gfx/intro_credits/blue_jigglypuff_3.png delete mode 100644 gfx/intro_credits/copyright.png delete mode 100644 gfx/intro_credits/falling_star.png delete mode 100644 gfx/intro_credits/gamefreak_logo.png delete mode 100644 gfx/intro_credits/gamefreak_presents.png delete mode 100644 gfx/intro_credits/gengar.png delete mode 100644 gfx/intro_credits/gengar_1.tilemap delete mode 100644 gfx/intro_credits/gengar_2.tilemap delete mode 100644 gfx/intro_credits/gengar_3.tilemap delete mode 100644 gfx/intro_credits/red_nidorino_1.png delete mode 100644 gfx/intro_credits/red_nidorino_2.png delete mode 100644 gfx/intro_credits/red_nidorino_3.png delete mode 100644 gfx/intro_credits/the_end.png create mode 100644 gfx/splash/copyright.png create mode 100644 gfx/splash/falling_star.png create mode 100644 gfx/splash/gamefreak_logo.png create mode 100644 gfx/splash/gamefreak_presents.png diff --git a/Makefile b/Makefile index 7a8f8ac3..6d432ec9 100644 --- a/Makefile +++ b/Makefile @@ -114,16 +114,16 @@ pokeblue_debug_opt = -jsv -n 0 -k 01 -l 0x33 -m 0x13 -r 03 -t "POKEMON BLUE" gfx/battle/attack_anim_1.2bpp: tools/gfx += --trim-whitespace gfx/battle/attack_anim_2.2bpp: tools/gfx += --trim-whitespace -gfx/intro_credits/blue_jigglypuff_1.2bpp: rgbgfx += -h -gfx/intro_credits/blue_jigglypuff_2.2bpp: rgbgfx += -h -gfx/intro_credits/blue_jigglypuff_3.2bpp: rgbgfx += -h -gfx/intro_credits/red_nidorino_1.2bpp: rgbgfx += -h -gfx/intro_credits/red_nidorino_2.2bpp: rgbgfx += -h -gfx/intro_credits/red_nidorino_3.2bpp: rgbgfx += -h -gfx/intro_credits/gengar.2bpp: rgbgfx += -h -gfx/intro_credits/gengar.2bpp: tools/gfx += --remove-duplicates --preserve=0x19,0x76 - -gfx/intro_credits/the_end.2bpp: tools/gfx += --interleave --png=$< +gfx/intro/blue_jigglypuff_1.2bpp: rgbgfx += -h +gfx/intro/blue_jigglypuff_2.2bpp: rgbgfx += -h +gfx/intro/blue_jigglypuff_3.2bpp: rgbgfx += -h +gfx/intro/red_nidorino_1.2bpp: rgbgfx += -h +gfx/intro/red_nidorino_2.2bpp: rgbgfx += -h +gfx/intro/red_nidorino_3.2bpp: rgbgfx += -h +gfx/intro/gengar.2bpp: rgbgfx += -h +gfx/intro/gengar.2bpp: tools/gfx += --remove-duplicates --preserve=0x19,0x76 + +gfx/credits/the_end.2bpp: tools/gfx += --interleave --png=$< gfx/slots/red_slots_1.2bpp: tools/gfx += --trim-whitespace gfx/slots/blue_slots_1.2bpp: tools/gfx += --trim-whitespace diff --git a/data/tilemaps.asm b/data/tilemaps.asm index c7efb222..97e687fd 100644 --- a/data/tilemaps.asm +++ b/data/tilemaps.asm @@ -31,13 +31,13 @@ SlideDownMonTiles_7x3: INCBIN "gfx/pokemon/slide_down_7x3.tilemap" GengarIntroTiles1: - INCBIN "gfx/intro_credits/gengar_1.tilemap" + INCBIN "gfx/intro/gengar_1.tilemap" GengarIntroTiles2: - INCBIN "gfx/intro_credits/gengar_2.tilemap" + INCBIN "gfx/intro/gengar_2.tilemap" GengarIntroTiles3: - INCBIN "gfx/intro_credits/gengar_3.tilemap" + INCBIN "gfx/intro/gengar_3.tilemap" GameBoyTiles: INCBIN "gfx/trade/game_boy.tilemap" diff --git a/engine/movie/credits.asm b/engine/movie/credits.asm index 6fb0598e..0410de21 100755 --- a/engine/movie/credits.asm +++ b/engine/movie/credits.asm @@ -266,5 +266,5 @@ INCLUDE "data/credits/credits_order.asm" INCLUDE "data/credits/credits_text.asm" TheEndGfx: - INCBIN "gfx/intro_credits/the_end.2bpp" + INCBIN "gfx/credits/the_end.2bpp" TheEndGfxEnd: diff --git a/engine/movie/gamefreak.asm b/engine/movie/gamefreak.asm deleted file mode 100755 index 1f837443..00000000 --- a/engine/movie/gamefreak.asm +++ /dev/null @@ -1,243 +0,0 @@ -LoadShootingStarGraphics: - ld a, $f9 - ldh [rOBP0], a - ld a, $a4 - ldh [rOBP1], a - ld de, AnimationTileset2 tile 3 ; star tile (top left quadrant) - ld hl, vChars1 tile $20 - lb bc, BANK(AnimationTileset2), 1 - call CopyVideoData - ld de, AnimationTileset2 tile 19 ; star tile (bottom left quadrant) - ld hl, vChars1 tile $21 - lb bc, BANK(AnimationTileset2), 1 - call CopyVideoData - ld de, FallingStar - ld hl, vChars1 tile $22 - lb bc, BANK(FallingStar), (FallingStarEnd - FallingStar) / $10 - call CopyVideoData - ld hl, GameFreakLogoOAMData - ld de, wOAMBuffer + $60 - ld bc, GameFreakLogoOAMDataEnd - GameFreakLogoOAMData - call CopyData - ld hl, GameFreakShootingStarOAMData - ld de, wOAMBuffer - ld bc, GameFreakShootingStarOAMDataEnd - GameFreakShootingStarOAMData - jp CopyData - -AnimateShootingStar: - call LoadShootingStarGraphics - ld a, SFX_SHOOTING_STAR - call PlaySound - -; Move the big star down and left across the screen. - ld hl, wOAMBuffer - lb bc, $a0, $4 -.bigStarLoop - push hl - push bc -.bigStarInnerLoop - ld a, [hl] ; Y - add 4 - ld [hli], a - ld a, [hl] ; X - add -4 - ld [hli], a - inc hl - inc hl - dec c - jr nz, .bigStarInnerLoop - ld c, 1 - call CheckForUserInterruption - pop bc - pop hl - ret c - ld a, [hl] - cp 80 - jr nz, .next - jr .bigStarLoop -.next - cp b - jr nz, .bigStarLoop - -; Clear big star OAM. - ld hl, wOAMBuffer - ld c, 4 - ld de, 4 -.clearOAMLoop - ld [hl], 160 - add hl, de - dec c - jr nz, .clearOAMLoop - -; Make Gamefreak logo flash. - ld b, 3 -.flashLogoLoop - ld hl, rOBP0 - rrc [hl] - rrc [hl] - ld c, 10 - call CheckForUserInterruption - ret c - dec b - jr nz, .flashLogoLoop - -; Copy 24 instances of the small stars OAM data. -; Note that their coordinates put them off-screen. - ld de, wOAMBuffer - ld a, 24 -.initSmallStarsOAMLoop - push af - ld hl, SmallStarsOAM - ld bc, SmallStarsOAMEnd - SmallStarsOAM - call CopyData - pop af - dec a - jr nz, .initSmallStarsOAMLoop - -; Animate the small stars falling from the Gamefreak logo. - xor a - ld [wMoveDownSmallStarsOAMCount], a - ld hl, SmallStarsWaveCoordsPointerTable - ld c, 6 -.smallStarsLoop - ld a, [hli] - ld e, a - ld a, [hli] - ld d, a - push bc - push hl - ld hl, wOAMBuffer + $50 - ld c, 4 -.smallStarsInnerLoop ; introduce new wave of 4 small stars OAM entries - ld a, [de] - cp $ff - jr z, .next2 - ld [hli], a ; Y - inc de - ld a, [de] - ld [hli], a ; X - inc de - inc hl - inc hl - dec c - jr nz, .smallStarsInnerLoop - ld a, [wMoveDownSmallStarsOAMCount] - cp 24 - jr z, .next2 - add 6 ; should be 4, but the extra 2 aren't visible on screen - ld [wMoveDownSmallStarsOAMCount], a -.next2 - call MoveDownSmallStars - push af - -; shift the existing OAM entries down to make room for the next wave - ld hl, wOAMBuffer + $10 - ld de, wOAMBuffer - ld bc, $50 - call CopyData - - pop af - pop hl - pop bc - ret c - dec c - jr nz, .smallStarsLoop - and a - ret - -SmallStarsOAM: - dbsprite 0, 0, 0, 0, $A2, OAM_BEHIND_BG | OAM_OBP1 -SmallStarsOAMEnd: - -SmallStarsWaveCoordsPointerTable: - dw SmallStarsWave1Coords - dw SmallStarsWave2Coords - dw SmallStarsWave3Coords - dw SmallStarsWave4Coords - dw SmallStarsEmptyWave - dw SmallStarsEmptyWave - -; The stars that fall from the Gamefreak logo come in 4 waves of 4 OAM entries. -; These arrays contain the Y and X coordinates of each OAM entry. - -SmallStarsWave1Coords: - db $68, $30 - db $68, $40 - db $68, $58 - db $68, $78 - -SmallStarsWave2Coords: - db $68, $38 - db $68, $48 - db $68, $60 - db $68, $70 - -SmallStarsWave3Coords: - db $68, $34 - db $68, $4C - db $68, $54 - db $68, $64 - -SmallStarsWave4Coords: - db $68, $3C - db $68, $5C - db $68, $6C - db $68, $74 - -SmallStarsEmptyWave: - db $FF - -MoveDownSmallStars: - ld b, 8 -.loop - ld hl, wOAMBuffer + $5c - ld a, [wMoveDownSmallStarsOAMCount] - ld de, -4 - ld c, a -.innerLoop - inc [hl] ; Y - add hl, de - dec c - jr nz, .innerLoop -; Toggle the palette so that the lower star in the small stars tile blinks in -; and out. - ldh a, [rOBP1] - xor %10100000 - ldh [rOBP1], a - - ld c, 3 - call CheckForUserInterruption - ret c - dec b - jr nz, .loop - ret - -GameFreakLogoOAMData: - dbsprite 10, 9, 0, 0, $8d, 0 - dbsprite 11, 9, 0, 0, $8e, 0 - dbsprite 10, 10, 0, 0, $8f, 0 - dbsprite 11, 10, 0, 0, $90, 0 - dbsprite 10, 11, 0, 0, $91, 0 - dbsprite 11, 11, 0, 0, $92, 0 - dbsprite 6, 12, 0, 0, $80, 0 - dbsprite 7, 12, 0, 0, $81, 0 - dbsprite 8, 12, 0, 0, $82, 0 - dbsprite 9, 12, 0, 0, $83, 0 - dbsprite 10, 12, 0, 0, $93, 0 - dbsprite 11, 12, 0, 0, $84, 0 - dbsprite 12, 12, 0, 0, $85, 0 - dbsprite 13, 12, 0, 0, $83, 0 - dbsprite 14, 12, 0, 0, $81, 0 - dbsprite 15, 12, 0, 0, $86, 0 -GameFreakLogoOAMDataEnd: - -GameFreakShootingStarOAMData: - dbsprite 20, 0, 0, 0, $a0, OAM_OBP1 - dbsprite 21, 0, 0, 0, $a0, OAM_OBP1 | OAM_HFLIP - dbsprite 20, 1, 0, 0, $a1, OAM_OBP1 - dbsprite 21, 1, 0, 0, $a1, OAM_OBP1 | OAM_HFLIP -GameFreakShootingStarOAMDataEnd: - -FallingStar: - INCBIN "gfx/intro_credits/falling_star.2bpp" -FallingStarEnd: diff --git a/engine/movie/intro.asm b/engine/movie/intro.asm index d8ec8e6e..040d643d 100755 --- a/engine/movie/intro.asm +++ b/engine/movie/intro.asm @@ -433,32 +433,32 @@ IntroNidorinoAnimation7: db ANIMATION_END GameFreakIntro: - INCBIN "gfx/intro_credits/gamefreak_presents.2bpp" - INCBIN "gfx/intro_credits/gamefreak_logo.2bpp" + INCBIN "gfx/splash/gamefreak_presents.2bpp" + INCBIN "gfx/splash/gamefreak_logo.2bpp" ds 16, $00 ; blank tile GameFreakIntroEnd: FightIntroBackMon: - INCBIN "gfx/intro_credits/gengar.2bpp" + INCBIN "gfx/intro/gengar.2bpp" ds 16, $00 ; blank tile FightIntroBackMonEnd: -FightIntroFrontMon: - IF DEF(_RED) - INCBIN "gfx/intro_credits/red_nidorino_1.2bpp" +FightIntroFrontMon: + INCBIN "gfx/intro/red_nidorino_1.2bpp" FightIntroFrontMon2: - INCBIN "gfx/intro_credits/red_nidorino_2.2bpp" + INCBIN "gfx/intro/red_nidorino_2.2bpp" FightIntroFrontMon3: - INCBIN "gfx/intro_credits/red_nidorino_3.2bpp" + INCBIN "gfx/intro/red_nidorino_3.2bpp" ENDC IF DEF(_BLUE) - INCBIN "gfx/intro_credits/blue_jigglypuff_1.2bpp" +FightIntroFrontMon: + INCBIN "gfx/intro/blue_jigglypuff_1.2bpp" FightIntroFrontMon2: - INCBIN "gfx/intro_credits/blue_jigglypuff_2.2bpp" + INCBIN "gfx/intro/blue_jigglypuff_2.2bpp" FightIntroFrontMon3: - INCBIN "gfx/intro_credits/blue_jigglypuff_3.2bpp" + INCBIN "gfx/intro/blue_jigglypuff_3.2bpp" ENDC FightIntroFrontMonEnd: diff --git a/engine/movie/splash.asm b/engine/movie/splash.asm new file mode 100755 index 00000000..be97b8e5 --- /dev/null +++ b/engine/movie/splash.asm @@ -0,0 +1,243 @@ +LoadShootingStarGraphics: + ld a, $f9 + ldh [rOBP0], a + ld a, $a4 + ldh [rOBP1], a + ld de, AnimationTileset2 tile 3 ; star tile (top left quadrant) + ld hl, vChars1 tile $20 + lb bc, BANK(AnimationTileset2), 1 + call CopyVideoData + ld de, AnimationTileset2 tile 19 ; star tile (bottom left quadrant) + ld hl, vChars1 tile $21 + lb bc, BANK(AnimationTileset2), 1 + call CopyVideoData + ld de, FallingStar + ld hl, vChars1 tile $22 + lb bc, BANK(FallingStar), (FallingStarEnd - FallingStar) / $10 + call CopyVideoData + ld hl, GameFreakLogoOAMData + ld de, wOAMBuffer + $60 + ld bc, GameFreakLogoOAMDataEnd - GameFreakLogoOAMData + call CopyData + ld hl, GameFreakShootingStarOAMData + ld de, wOAMBuffer + ld bc, GameFreakShootingStarOAMDataEnd - GameFreakShootingStarOAMData + jp CopyData + +AnimateShootingStar: + call LoadShootingStarGraphics + ld a, SFX_SHOOTING_STAR + call PlaySound + +; Move the big star down and left across the screen. + ld hl, wOAMBuffer + lb bc, $a0, $4 +.bigStarLoop + push hl + push bc +.bigStarInnerLoop + ld a, [hl] ; Y + add 4 + ld [hli], a + ld a, [hl] ; X + add -4 + ld [hli], a + inc hl + inc hl + dec c + jr nz, .bigStarInnerLoop + ld c, 1 + call CheckForUserInterruption + pop bc + pop hl + ret c + ld a, [hl] + cp 80 + jr nz, .next + jr .bigStarLoop +.next + cp b + jr nz, .bigStarLoop + +; Clear big star OAM. + ld hl, wOAMBuffer + ld c, 4 + ld de, 4 +.clearOAMLoop + ld [hl], 160 + add hl, de + dec c + jr nz, .clearOAMLoop + +; Make Gamefreak logo flash. + ld b, 3 +.flashLogoLoop + ld hl, rOBP0 + rrc [hl] + rrc [hl] + ld c, 10 + call CheckForUserInterruption + ret c + dec b + jr nz, .flashLogoLoop + +; Copy 24 instances of the small stars OAM data. +; Note that their coordinates put them off-screen. + ld de, wOAMBuffer + ld a, 24 +.initSmallStarsOAMLoop + push af + ld hl, SmallStarsOAM + ld bc, SmallStarsOAMEnd - SmallStarsOAM + call CopyData + pop af + dec a + jr nz, .initSmallStarsOAMLoop + +; Animate the small stars falling from the Gamefreak logo. + xor a + ld [wMoveDownSmallStarsOAMCount], a + ld hl, SmallStarsWaveCoordsPointerTable + ld c, 6 +.smallStarsLoop + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + push bc + push hl + ld hl, wOAMBuffer + $50 + ld c, 4 +.smallStarsInnerLoop ; introduce new wave of 4 small stars OAM entries + ld a, [de] + cp $ff + jr z, .next2 + ld [hli], a ; Y + inc de + ld a, [de] + ld [hli], a ; X + inc de + inc hl + inc hl + dec c + jr nz, .smallStarsInnerLoop + ld a, [wMoveDownSmallStarsOAMCount] + cp 24 + jr z, .next2 + add 6 ; should be 4, but the extra 2 aren't visible on screen + ld [wMoveDownSmallStarsOAMCount], a +.next2 + call MoveDownSmallStars + push af + +; shift the existing OAM entries down to make room for the next wave + ld hl, wOAMBuffer + $10 + ld de, wOAMBuffer + ld bc, $50 + call CopyData + + pop af + pop hl + pop bc + ret c + dec c + jr nz, .smallStarsLoop + and a + ret + +SmallStarsOAM: + dbsprite 0, 0, 0, 0, $A2, OAM_BEHIND_BG | OAM_OBP1 +SmallStarsOAMEnd: + +SmallStarsWaveCoordsPointerTable: + dw SmallStarsWave1Coords + dw SmallStarsWave2Coords + dw SmallStarsWave3Coords + dw SmallStarsWave4Coords + dw SmallStarsEmptyWave + dw SmallStarsEmptyWave + +; The stars that fall from the Gamefreak logo come in 4 waves of 4 OAM entries. +; These arrays contain the Y and X coordinates of each OAM entry. + +SmallStarsWave1Coords: + db $68, $30 + db $68, $40 + db $68, $58 + db $68, $78 + +SmallStarsWave2Coords: + db $68, $38 + db $68, $48 + db $68, $60 + db $68, $70 + +SmallStarsWave3Coords: + db $68, $34 + db $68, $4C + db $68, $54 + db $68, $64 + +SmallStarsWave4Coords: + db $68, $3C + db $68, $5C + db $68, $6C + db $68, $74 + +SmallStarsEmptyWave: + db $FF + +MoveDownSmallStars: + ld b, 8 +.loop + ld hl, wOAMBuffer + $5c + ld a, [wMoveDownSmallStarsOAMCount] + ld de, -4 + ld c, a +.innerLoop + inc [hl] ; Y + add hl, de + dec c + jr nz, .innerLoop +; Toggle the palette so that the lower star in the small stars tile blinks in +; and out. + ldh a, [rOBP1] + xor %10100000 + ldh [rOBP1], a + + ld c, 3 + call CheckForUserInterruption + ret c + dec b + jr nz, .loop + ret + +GameFreakLogoOAMData: + dbsprite 10, 9, 0, 0, $8d, 0 + dbsprite 11, 9, 0, 0, $8e, 0 + dbsprite 10, 10, 0, 0, $8f, 0 + dbsprite 11, 10, 0, 0, $90, 0 + dbsprite 10, 11, 0, 0, $91, 0 + dbsprite 11, 11, 0, 0, $92, 0 + dbsprite 6, 12, 0, 0, $80, 0 + dbsprite 7, 12, 0, 0, $81, 0 + dbsprite 8, 12, 0, 0, $82, 0 + dbsprite 9, 12, 0, 0, $83, 0 + dbsprite 10, 12, 0, 0, $93, 0 + dbsprite 11, 12, 0, 0, $84, 0 + dbsprite 12, 12, 0, 0, $85, 0 + dbsprite 13, 12, 0, 0, $83, 0 + dbsprite 14, 12, 0, 0, $81, 0 + dbsprite 15, 12, 0, 0, $86, 0 +GameFreakLogoOAMDataEnd: + +GameFreakShootingStarOAMData: + dbsprite 20, 0, 0, 0, $a0, OAM_OBP1 + dbsprite 21, 0, 0, 0, $a0, OAM_OBP1 | OAM_HFLIP + dbsprite 20, 1, 0, 0, $a1, OAM_OBP1 + dbsprite 21, 1, 0, 0, $a1, OAM_OBP1 | OAM_HFLIP +GameFreakShootingStarOAMDataEnd: + +FallingStar: + INCBIN "gfx/splash/falling_star.2bpp" +FallingStarEnd: diff --git a/gfx/credits/the_end.png b/gfx/credits/the_end.png new file mode 100644 index 00000000..025ebb61 Binary files /dev/null and b/gfx/credits/the_end.png differ diff --git a/gfx/font.asm b/gfx/font.asm index b3dda1e7..fc2aff4f 100644 --- a/gfx/font.asm +++ b/gfx/font.asm @@ -13,7 +13,7 @@ BattleHudTiles2: INCBIN "gfx/battle/battle_hud_2.1bpp" BattleHudTiles3: INCBIN "gfx/battle/battle_hud_3.1bpp" BattleHudTiles3End: -NintendoCopyrightLogoGraphics: INCBIN "gfx/intro_credits/copyright.2bpp" +NintendoCopyrightLogoGraphics: INCBIN "gfx/splash/copyright.2bpp" GamefreakLogoGraphics: INCBIN "gfx/title/gamefreak_inc.2bpp" GamefreakLogoGraphicsEnd: diff --git a/gfx/intro/blue_jigglypuff_1.png b/gfx/intro/blue_jigglypuff_1.png new file mode 100644 index 00000000..0e53582c Binary files /dev/null and b/gfx/intro/blue_jigglypuff_1.png differ diff --git a/gfx/intro/blue_jigglypuff_2.png b/gfx/intro/blue_jigglypuff_2.png new file mode 100644 index 00000000..21107af0 Binary files /dev/null and b/gfx/intro/blue_jigglypuff_2.png differ diff --git a/gfx/intro/blue_jigglypuff_3.png b/gfx/intro/blue_jigglypuff_3.png new file mode 100644 index 00000000..1c30a0e8 Binary files /dev/null and b/gfx/intro/blue_jigglypuff_3.png differ diff --git a/gfx/intro/gengar.png b/gfx/intro/gengar.png new file mode 100644 index 00000000..9558d1a1 Binary files /dev/null and b/gfx/intro/gengar.png differ diff --git a/gfx/intro/gengar_1.tilemap b/gfx/intro/gengar_1.tilemap new file mode 100644 index 00000000..c962326a Binary files /dev/null and b/gfx/intro/gengar_1.tilemap differ diff --git a/gfx/intro/gengar_2.tilemap b/gfx/intro/gengar_2.tilemap new file mode 100644 index 00000000..a909ba5e Binary files /dev/null and b/gfx/intro/gengar_2.tilemap differ diff --git a/gfx/intro/gengar_3.tilemap b/gfx/intro/gengar_3.tilemap new file mode 100644 index 00000000..231106d8 Binary files /dev/null and b/gfx/intro/gengar_3.tilemap differ diff --git a/gfx/intro/red_nidorino_1.png b/gfx/intro/red_nidorino_1.png new file mode 100644 index 00000000..4c7804a1 Binary files /dev/null and b/gfx/intro/red_nidorino_1.png differ diff --git a/gfx/intro/red_nidorino_2.png b/gfx/intro/red_nidorino_2.png new file mode 100644 index 00000000..a29a4814 Binary files /dev/null and b/gfx/intro/red_nidorino_2.png differ diff --git a/gfx/intro/red_nidorino_3.png b/gfx/intro/red_nidorino_3.png new file mode 100644 index 00000000..e920d55d Binary files /dev/null and b/gfx/intro/red_nidorino_3.png differ diff --git a/gfx/intro_credits/blue_jigglypuff_1.png b/gfx/intro_credits/blue_jigglypuff_1.png deleted file mode 100644 index 0e53582c..00000000 Binary files a/gfx/intro_credits/blue_jigglypuff_1.png and /dev/null differ diff --git a/gfx/intro_credits/blue_jigglypuff_2.png b/gfx/intro_credits/blue_jigglypuff_2.png deleted file mode 100644 index 21107af0..00000000 Binary files a/gfx/intro_credits/blue_jigglypuff_2.png and /dev/null differ diff --git a/gfx/intro_credits/blue_jigglypuff_3.png b/gfx/intro_credits/blue_jigglypuff_3.png deleted file mode 100644 index 1c30a0e8..00000000 Binary files a/gfx/intro_credits/blue_jigglypuff_3.png and /dev/null differ diff --git a/gfx/intro_credits/copyright.png b/gfx/intro_credits/copyright.png deleted file mode 100644 index 49174349..00000000 Binary files a/gfx/intro_credits/copyright.png and /dev/null differ diff --git a/gfx/intro_credits/falling_star.png b/gfx/intro_credits/falling_star.png deleted file mode 100644 index 9093bef4..00000000 Binary files a/gfx/intro_credits/falling_star.png and /dev/null differ diff --git a/gfx/intro_credits/gamefreak_logo.png b/gfx/intro_credits/gamefreak_logo.png deleted file mode 100644 index 1671943b..00000000 Binary files a/gfx/intro_credits/gamefreak_logo.png and /dev/null differ diff --git a/gfx/intro_credits/gamefreak_presents.png b/gfx/intro_credits/gamefreak_presents.png deleted file mode 100644 index f65c64ed..00000000 Binary files a/gfx/intro_credits/gamefreak_presents.png and /dev/null differ diff --git a/gfx/intro_credits/gengar.png b/gfx/intro_credits/gengar.png deleted file mode 100644 index 9558d1a1..00000000 Binary files a/gfx/intro_credits/gengar.png and /dev/null differ diff --git a/gfx/intro_credits/gengar_1.tilemap b/gfx/intro_credits/gengar_1.tilemap deleted file mode 100644 index c962326a..00000000 Binary files a/gfx/intro_credits/gengar_1.tilemap and /dev/null differ diff --git a/gfx/intro_credits/gengar_2.tilemap b/gfx/intro_credits/gengar_2.tilemap deleted file mode 100644 index a909ba5e..00000000 Binary files a/gfx/intro_credits/gengar_2.tilemap and /dev/null differ diff --git a/gfx/intro_credits/gengar_3.tilemap b/gfx/intro_credits/gengar_3.tilemap deleted file mode 100644 index 231106d8..00000000 Binary files a/gfx/intro_credits/gengar_3.tilemap and /dev/null differ diff --git a/gfx/intro_credits/red_nidorino_1.png b/gfx/intro_credits/red_nidorino_1.png deleted file mode 100644 index 4c7804a1..00000000 Binary files a/gfx/intro_credits/red_nidorino_1.png and /dev/null differ diff --git a/gfx/intro_credits/red_nidorino_2.png b/gfx/intro_credits/red_nidorino_2.png deleted file mode 100644 index a29a4814..00000000 Binary files a/gfx/intro_credits/red_nidorino_2.png and /dev/null differ diff --git a/gfx/intro_credits/red_nidorino_3.png b/gfx/intro_credits/red_nidorino_3.png deleted file mode 100644 index e920d55d..00000000 Binary files a/gfx/intro_credits/red_nidorino_3.png and /dev/null differ diff --git a/gfx/intro_credits/the_end.png b/gfx/intro_credits/the_end.png deleted file mode 100644 index 025ebb61..00000000 Binary files a/gfx/intro_credits/the_end.png and /dev/null differ diff --git a/gfx/splash/copyright.png b/gfx/splash/copyright.png new file mode 100644 index 00000000..49174349 Binary files /dev/null and b/gfx/splash/copyright.png differ diff --git a/gfx/splash/falling_star.png b/gfx/splash/falling_star.png new file mode 100644 index 00000000..9093bef4 Binary files /dev/null and b/gfx/splash/falling_star.png differ diff --git a/gfx/splash/gamefreak_logo.png b/gfx/splash/gamefreak_logo.png new file mode 100644 index 00000000..1671943b Binary files /dev/null and b/gfx/splash/gamefreak_logo.png differ diff --git a/gfx/splash/gamefreak_presents.png b/gfx/splash/gamefreak_presents.png new file mode 100644 index 00000000..f65c64ed Binary files /dev/null and b/gfx/splash/gamefreak_presents.png differ diff --git a/main.asm b/main.asm index 8e8ee1a1..31506a29 100755 --- a/main.asm +++ b/main.asm @@ -314,7 +314,7 @@ INCLUDE "gfx/version.asm" SECTION "bank1C", ROMX -INCLUDE "engine/movie/gamefreak.asm" +INCLUDE "engine/movie/splash.asm" INCLUDE "engine/movie/hall_of_fame.asm" INCLUDE "engine/overworld/healing_machine.asm" INCLUDE "engine/overworld/player_animations.asm" -- cgit v1.2.3 From 637f38b139c43c15eb1f4a67562a78389d4f42a7 Mon Sep 17 00:00:00 2001 From: Rangi Date: Fri, 28 Aug 2020 12:10:55 -0400 Subject: Use decimal, not hex, for sprite (object) coordinates in map scripts --- scripts/BillsHouse.asm | 4 ++-- scripts/CeruleanCity.asm | 4 ++-- scripts/CinnabarIsland.asm | 4 ++-- scripts/FightingDojo.asm | 4 ++-- scripts/GameCorner.asm | 4 ++-- scripts/MtMoonB2F.asm | 4 ++-- scripts/Museum1F.asm | 12 ++++++------ scripts/OaksLab.asm | 28 ++++++++++++++-------------- scripts/PewterCity.asm | 8 ++++---- scripts/Route22Gate.asm | 2 +- scripts/SSAnne2F.asm | 4 ++-- scripts/SeafoamIslandsB3F.asm | 8 ++++---- scripts/ViridianCity.asm | 8 ++++---- 13 files changed, 47 insertions(+), 47 deletions(-) diff --git a/scripts/BillsHouse.asm b/scripts/BillsHouse.asm index 75594801..2085f417 100755 --- a/scripts/BillsHouse.asm +++ b/scripts/BillsHouse.asm @@ -69,9 +69,9 @@ BillsHouseScript3: ldh [hSpriteScreenYCoord], a ld a, $40 ldh [hSpriteScreenXCoord], a - ld a, $6 + ld a, 6 ldh [hSpriteMapYCoord], a - ld a, $5 + ld a, 5 ldh [hSpriteMapXCoord], a call SetSpritePosition1 ld a, HS_BILL_1 diff --git a/scripts/CeruleanCity.asm b/scripts/CeruleanCity.asm index eef63536..5ac75075 100755 --- a/scripts/CeruleanCity.asm +++ b/scripts/CeruleanCity.asm @@ -80,7 +80,7 @@ ENDC ld a, $f0 ld [wJoyIgnore], a ld a, [wXCoord] - cp $14 + cp 20 jr z, .asm_19535 ld a, $1 ldh [hSpriteIndex], a @@ -183,7 +183,7 @@ CeruleanCityScript2: ldh [hSpriteIndex], a call SetSpriteMovementBytesToFF ld a, [wXCoord] - cp $14 + cp 20 jr nz, .asm_195f0 ld de, CeruleanCityMovement4 jr .asm_195f3 diff --git a/scripts/CinnabarIsland.asm b/scripts/CinnabarIsland.asm index f74890e8..a1b20cd3 100755 --- a/scripts/CinnabarIsland.asm +++ b/scripts/CinnabarIsland.asm @@ -17,10 +17,10 @@ CinnabarIslandScript0: call IsItemInBag ret nz ld a, [wYCoord] - cp $4 + cp 4 ret nz ld a, [wXCoord] - cp $12 + cp 18 ret nz ld a, PLAYER_DIR_UP ld [wPlayerMovingDirection], a diff --git a/scripts/FightingDojo.asm b/scripts/FightingDojo.asm index 365e23e0..e5d0a0a7 100755 --- a/scripts/FightingDojo.asm +++ b/scripts/FightingDojo.asm @@ -33,10 +33,10 @@ FightingDojoScript1: ldh [hJoyHeld], a ld [wcf0d], a ld a, [wYCoord] - cp $3 + cp 3 ret nz ld a, [wXCoord] - cp $4 + cp 4 ret nz ld a, $1 ld [wcf0d], a diff --git a/scripts/GameCorner.asm b/scripts/GameCorner.asm index c933fd63..94c35883 100755 --- a/scripts/GameCorner.asm +++ b/scripts/GameCorner.asm @@ -64,13 +64,13 @@ CeladonGameCornerScript1: call SetSpriteMovementBytesToFF ld de, MovementData_48c5a ld a, [wYCoord] - cp $6 + cp 6 jr nz, .asm_48c43 ld de, MovementData_48c63 jr .asm_48c4d .asm_48c43 ld a, [wXCoord] - cp $8 + cp 8 jr nz, .asm_48c4d ld de, MovementData_48c63 .asm_48c4d diff --git a/scripts/MtMoonB2F.asm b/scripts/MtMoonB2F.asm index addfb2c2..9faf038a 100755 --- a/scripts/MtMoonB2F.asm +++ b/scripts/MtMoonB2F.asm @@ -56,10 +56,10 @@ MtMoon3Script0: CheckEvent EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD jp nz, MtMoon3Script_49d91 ld a, [wYCoord] - cp $8 + cp 8 jp nz, MtMoon3Script_49d91 ld a, [wXCoord] - cp $d + cp 13 jp nz, MtMoon3Script_49d91 xor a ldh [hJoyHeld], a diff --git a/scripts/Museum1F.asm b/scripts/Museum1F.asm index b7240154..ee3473ff 100755 --- a/scripts/Museum1F.asm +++ b/scripts/Museum1F.asm @@ -13,13 +13,13 @@ Museum1F_ScriptPointers: Museum1FScript0: ld a, [wYCoord] - cp $4 + cp 4 ret nz ld a, [wXCoord] - cp $9 + cp 9 jr z, .asm_5c120 ld a, [wXCoord] - cp $a + cp 10 ret nz .asm_5c120 xor a @@ -41,17 +41,17 @@ Museum1F_TextPointers: Museum1FText1: text_asm ld a, [wYCoord] - cp $4 + cp 4 jr nz, .asm_8774b ld a, [wXCoord] - cp $d + cp 13 jp z, Museum1FScript_5c1f9 jr .asm_b8709 .asm_8774b cp $3 jr nz, .asm_d49e7 ld a, [wXCoord] - cp $c + cp 12 jp z, Museum1FScript_5c1f9 .asm_d49e7 CheckEvent EVENT_BOUGHT_MUSEUM_TICKET diff --git a/scripts/OaksLab.asm b/scripts/OaksLab.asm index 9d60cc19..0eab35aa 100755 --- a/scripts/OaksLab.asm +++ b/scripts/OaksLab.asm @@ -152,7 +152,7 @@ OaksLabScript5: OaksLabScript6: ld a, [wYCoord] - cp $6 + cp 6 ret nz ld a, $5 ldh [hSpriteIndex], a @@ -200,7 +200,7 @@ OaksLabScript8: .Charmander ld de, .MiddleBallMovement1 ld a, [wYCoord] - cp $4 ; is the player standing below the table? + cp 4 ; is the player standing below the table? jr z, .moveBlue ld de, .MiddleBallMovement2 jr .moveBlue @@ -224,7 +224,7 @@ OaksLabScript8: .Squirtle ld de, .RightBallMovement1 ld a, [wYCoord] - cp $4 ; is the player standing below the table? + cp 4 ; is the player standing below the table? jr z, .moveBlue ld de, .RightBallMovement2 jr .moveBlue @@ -250,7 +250,7 @@ OaksLabScript8: .Bulbasaur ld de, .LeftBallMovement1 ld a, [wXCoord] - cp $9 ; is the player standing to the right of the table? + cp 9 ; is the player standing to the right of the table? jr nz, .moveBlue push hl ld a, $1 @@ -341,7 +341,7 @@ OaksLabScript9: OaksLabScript10: ld a, [wYCoord] - cp $6 + cp 6 ret nz ld a, $1 ldh [hSpriteIndex], a @@ -447,7 +447,7 @@ OaksLabScript13: ld de, .RivalExitMovement call MoveSprite ld a, [wXCoord] - cp $4 + cp 4 ; move left or right depending on where the player is standing jr nz, .moveLeft ld a, NPC_MOVEMENT_RIGHT @@ -489,7 +489,7 @@ OaksLabScript14: cp $5 jr nz, .turnPlayerDown ld a, [wXCoord] - cp $4 + cp 4 jr nz, .turnPlayerLeft ld a, SPRITE_FACING_RIGHT ld [wSpritePlayerStateData1FacingDirection], a @@ -673,30 +673,30 @@ OaksLabScript_RemoveParcel: OaksLabScript_1d02b: ld a, $7c ldh [hSpriteScreenYCoord], a - ld a, $8 + ld a, 8 ldh [hSpriteMapXCoord], a ld a, [wYCoord] - cp $3 + cp 3 jr nz, .asm_1d045 ld a, $4 ld [wNPCMovementDirections2Index], a ld a, $30 - ld b, $b + ld b, 11 jr .asm_1d068 .asm_1d045 - cp $1 + cp 1 jr nz, .asm_1d054 ld a, $2 ld [wNPCMovementDirections2Index], a ld a, $30 - ld b, $9 + ld b, 9 jr .asm_1d068 .asm_1d054 ld a, $3 ld [wNPCMovementDirections2Index], a - ld b, $a + ld b, 10 ld a, [wXCoord] - cp $4 + cp 4 jr nz, .asm_1d066 ld a, $40 jr .asm_1d068 diff --git a/scripts/PewterCity.asm b/scripts/PewterCity.asm index f44d2de5..221834de 100755 --- a/scripts/PewterCity.asm +++ b/scripts/PewterCity.asm @@ -65,9 +65,9 @@ PewterCityScript1: ldh [hSpriteScreenYCoord], a ld a, $30 ldh [hSpriteScreenXCoord], a - ld a, $c + ld a, 12 ldh [hSpriteMapYCoord], a - ld a, $11 + ld a, 17 ldh [hSpriteMapXCoord], a ld a, $3 ld [wSpriteIndex], a @@ -133,9 +133,9 @@ PewterCityScript4: ldh [hSpriteScreenYCoord], a ld a, $40 ldh [hSpriteScreenXCoord], a - ld a, $16 + ld a, 22 ldh [hSpriteMapYCoord], a - ld a, $10 + ld a, 16 ldh [hSpriteMapXCoord], a ld a, $5 ld [wSpriteIndex], a diff --git a/scripts/Route22Gate.asm b/scripts/Route22Gate.asm index 78143481..5acc343c 100755 --- a/scripts/Route22Gate.asm +++ b/scripts/Route22Gate.asm @@ -4,7 +4,7 @@ Route22Gate_Script: ld a, [wRoute22GateCurScript] call CallFunctionInTable ld a, [wYCoord] - cp $4 + cp 4 ld a, ROUTE_23 jr c, .asm_1e69a ld a, ROUTE_22 diff --git a/scripts/SSAnne2F.asm b/scripts/SSAnne2F.asm index b9f15b56..d15ec180 100755 --- a/scripts/SSAnne2F.asm +++ b/scripts/SSAnne2F.asm @@ -71,7 +71,7 @@ CoordsData_61411: SSAnne2Script_61416: ld a, [wXCoord] - cp $25 + cp 37 jr nz, .asm_61426 ld a, PLAYER_DIR_LEFT ld [wPlayerMovingDirection], a @@ -134,7 +134,7 @@ SSAnne2Script2: ldh [hSpriteIndex], a call SetSpriteMovementBytesToFF ld a, [wXCoord] - cp $25 + cp 37 jr nz, .asm_61497 ld de, MovementData_614b9 jr .asm_6149a diff --git a/scripts/SeafoamIslandsB3F.asm b/scripts/SeafoamIslandsB3F.asm index d735f824..9d1093e5 100755 --- a/scripts/SeafoamIslandsB3F.asm +++ b/scripts/SeafoamIslandsB3F.asm @@ -59,10 +59,10 @@ SeafoamIslands4Script0: CheckBothEventsSet EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE ret z ld a, [wYCoord] - cp $8 + cp 8 ret nz ld a, [wXCoord] - cp $f + cp 15 ret nz ld hl, wSimulatedJoypadStatesEnd ld de, RLEMovement46632 @@ -94,9 +94,9 @@ SeafoamIslands4Script2: CheckBothEventsSet EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE, EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE ret z ld a, [wXCoord] - cp $12 + cp 18 jr z, .asm_4665e - cp $13 + cp 19 ld a, $0 jr nz, .asm_4667b ld de, RLEData_4667f diff --git a/scripts/ViridianCity.asm b/scripts/ViridianCity.asm index 543ffa97..96e58a19 100755 --- a/scripts/ViridianCity.asm +++ b/scripts/ViridianCity.asm @@ -24,10 +24,10 @@ ViridianCityScript_1900b: ret .gym_closed ld a, [wYCoord] - cp $8 + cp 8 ret nz ld a, [wXCoord] - cp $20 + cp 32 ret nz ld a, $e ldh [hSpriteIndexOrTextID], a @@ -43,10 +43,10 @@ ViridianCityScript_1903d: CheckEvent EVENT_GOT_POKEDEX ret nz ld a, [wYCoord] - cp $9 + cp 9 ret nz ld a, [wXCoord] - cp $13 + cp 19 ret nz ld a, $5 ldh [hSpriteIndexOrTextID], a -- cgit v1.2.3 From 6ee9cb9f97b31604c7133782d4401bbf5b64f2d8 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 30 Aug 2020 15:45:41 -0400 Subject: Document more hidden object data and behavior --- data/events/hidden_objects.asm | 127 +++++++++++++++------------- engine/events/hidden_objects/bench_guys.asm | 47 +++++----- 2 files changed, 87 insertions(+), 87 deletions(-) diff --git a/data/events/hidden_objects.asm b/data/events/hidden_objects.asm index 80528cb4..efb99026 100755 --- a/data/events/hidden_objects.asm +++ b/data/events/hidden_objects.asm @@ -188,19 +188,24 @@ hidden_text_predef: MACRO dba \4 ; object routine ENDM +; Some hidden objects use SPRITE_FACING_* values, +; but these do not actually prevent the player +; from interacting with them in any direction. +ANY_FACING EQU $d0 + TradeCenterHiddenObjects: - hidden_object 5, 4, $d0, CableClubRightGameboy - hidden_object 4, 4, $d0, CableClubLeftGameboy + hidden_object 5, 4, ANY_FACING, CableClubRightGameboy + hidden_object 4, 4, ANY_FACING, CableClubLeftGameboy db -1 ; end ColosseumHiddenObjects: - hidden_object 5, 4, $d0, CableClubRightGameboy - hidden_object 4, 4, $d0, CableClubLeftGameboy + hidden_object 5, 4, ANY_FACING, CableClubRightGameboy + hidden_object 4, 4, ANY_FACING, CableClubLeftGameboy db -1 ; end RedsHouse2FHiddenObjects: hidden_object 0, 1, SPRITE_FACING_UP, OpenRedsPC - hidden_object 3, 5, $d0, PrintRedSNESText + hidden_object 3, 5, ANY_FACING, PrintRedSNESText db -1 ; end BluesHouseHiddenObjects: @@ -279,16 +284,17 @@ VermilionGymHiddenObjects: hidden_object 3, 14, SPRITE_FACING_UP, GymStatues hidden_object 6, 14, SPRITE_FACING_UP, GymStatues hidden_object 6, 1, SPRITE_FACING_DOWN, PrintTrashText - hidden_object 1, 7, 0, GymTrashScript - hidden_object 1, 9, 1, GymTrashScript - hidden_object 1, 11, 2, GymTrashScript - hidden_object 3, 7, 3, GymTrashScript - hidden_object 3, 9, 4, GymTrashScript - hidden_object 3, 11, 5, GymTrashScript - hidden_object 5, 7, 6, GymTrashScript - hidden_object 5, 9, 7, GymTrashScript - hidden_object 5, 11, 8, GymTrashScript - hidden_object 7, 7, 9, GymTrashScript + ; third param: [wGymTrashCanIndex] + hidden_object 1, 7, 0, GymTrashScript + hidden_object 1, 9, 1, GymTrashScript + hidden_object 1, 11, 2, GymTrashScript + hidden_object 3, 7, 3, GymTrashScript + hidden_object 3, 9, 4, GymTrashScript + hidden_object 3, 11, 5, GymTrashScript + hidden_object 5, 7, 6, GymTrashScript + hidden_object 5, 9, 7, GymTrashScript + hidden_object 5, 11, 8, GymTrashScript + hidden_object 7, 7, 9, GymTrashScript hidden_object 7, 9, 10, GymTrashScript hidden_object 7, 11, 11, GymTrashScript hidden_object 9, 7, 12, GymTrashScript @@ -311,42 +317,42 @@ CeladonGymHiddenObjects: db -1 ; end GameCornerHiddenObjects: - hidden_object 18, 15, $d0, StartSlotMachine - hidden_object 18, 14, $d0, StartSlotMachine - hidden_object 18, 13, $d0, StartSlotMachine - hidden_object 18, 12, $d0, StartSlotMachine - hidden_object 18, 11, $d0, StartSlotMachine + hidden_object 18, 15, ANY_FACING, StartSlotMachine + hidden_object 18, 14, ANY_FACING, StartSlotMachine + hidden_object 18, 13, ANY_FACING, StartSlotMachine + hidden_object 18, 12, ANY_FACING, StartSlotMachine + hidden_object 18, 11, ANY_FACING, StartSlotMachine hidden_object 18, 10, SLOTS_SOMEONESKEYS, StartSlotMachine - hidden_object 13, 10, $d0, StartSlotMachine - hidden_object 13, 11, $d0, StartSlotMachine + hidden_object 13, 10, ANY_FACING, StartSlotMachine + hidden_object 13, 11, ANY_FACING, StartSlotMachine hidden_object 13, 12, SLOTS_OUTTOLUNCH, StartSlotMachine - hidden_object 13, 13, $d0, StartSlotMachine - hidden_object 13, 14, $d0, StartSlotMachine - hidden_object 13, 15, $d0, StartSlotMachine - hidden_object 12, 15, $d0, StartSlotMachine - hidden_object 12, 14, $d0, StartSlotMachine - hidden_object 12, 13, $d0, StartSlotMachine - hidden_object 12, 12, $d0, StartSlotMachine - hidden_object 12, 11, $d0, StartSlotMachine - hidden_object 12, 10, $d0, StartSlotMachine - hidden_object 7, 10, $d0, StartSlotMachine - hidden_object 7, 11, $d0, StartSlotMachine - hidden_object 7, 12, $d0, StartSlotMachine - hidden_object 7, 13, $d0, StartSlotMachine - hidden_object 7, 14, $d0, StartSlotMachine - hidden_object 7, 15, $d0, StartSlotMachine - hidden_object 6, 15, $d0, StartSlotMachine - hidden_object 6, 14, $d0, StartSlotMachine - hidden_object 6, 13, $d0, StartSlotMachine + hidden_object 13, 13, ANY_FACING, StartSlotMachine + hidden_object 13, 14, ANY_FACING, StartSlotMachine + hidden_object 13, 15, ANY_FACING, StartSlotMachine + hidden_object 12, 15, ANY_FACING, StartSlotMachine + hidden_object 12, 14, ANY_FACING, StartSlotMachine + hidden_object 12, 13, ANY_FACING, StartSlotMachine + hidden_object 12, 12, ANY_FACING, StartSlotMachine + hidden_object 12, 11, ANY_FACING, StartSlotMachine + hidden_object 12, 10, ANY_FACING, StartSlotMachine + hidden_object 7, 10, ANY_FACING, StartSlotMachine + hidden_object 7, 11, ANY_FACING, StartSlotMachine + hidden_object 7, 12, ANY_FACING, StartSlotMachine + hidden_object 7, 13, ANY_FACING, StartSlotMachine + hidden_object 7, 14, ANY_FACING, StartSlotMachine + hidden_object 7, 15, ANY_FACING, StartSlotMachine + hidden_object 6, 15, ANY_FACING, StartSlotMachine + hidden_object 6, 14, ANY_FACING, StartSlotMachine + hidden_object 6, 13, ANY_FACING, StartSlotMachine hidden_object 6, 12, SLOTS_OUTOFORDER, StartSlotMachine - hidden_object 6, 11, $d0, StartSlotMachine - hidden_object 6, 10, $d0, StartSlotMachine - hidden_object 1, 10, $d0, StartSlotMachine - hidden_object 1, 11, $d0, StartSlotMachine - hidden_object 1, 12, $d0, StartSlotMachine - hidden_object 1, 13, $d0, StartSlotMachine - hidden_object 1, 14, $d0, StartSlotMachine - hidden_object 1, 15, $d0, StartSlotMachine + hidden_object 6, 11, ANY_FACING, StartSlotMachine + hidden_object 6, 10, ANY_FACING, StartSlotMachine + hidden_object 1, 10, ANY_FACING, StartSlotMachine + hidden_object 1, 11, ANY_FACING, StartSlotMachine + hidden_object 1, 12, ANY_FACING, StartSlotMachine + hidden_object 1, 13, ANY_FACING, StartSlotMachine + hidden_object 1, 14, ANY_FACING, StartSlotMachine + hidden_object 1, 15, ANY_FACING, StartSlotMachine hidden_object 0, 8, COIN+10, HiddenCoins hidden_object 1, 16, COIN+10, HiddenCoins hidden_object 3, 11, COIN+20, HiddenCoins @@ -378,12 +384,13 @@ FuchsiaGymHiddenObjects: CinnabarGymHiddenObjects: hidden_object 17, 13, SPRITE_FACING_UP, GymStatues - hidden_object 15, 7, (0 << 4) | 1, PrintCinnabarQuiz - hidden_object 10, 1, (1 << 4) | 2, PrintCinnabarQuiz - hidden_object 9, 7, (1 << 4) | 3, PrintCinnabarQuiz - hidden_object 9, 13, (1 << 4) | 4, PrintCinnabarQuiz - hidden_object 1, 13, (0 << 4) | 5, PrintCinnabarQuiz - hidden_object 1, 7, (1 << 4) | 6, PrintCinnabarQuiz + ; third param: ([hGymGateAnswer] << 4) | [hGymGateIndex] + hidden_object 15, 7, (FALSE << 4) | 1, PrintCinnabarQuiz + hidden_object 10, 1, (TRUE << 4) | 2, PrintCinnabarQuiz + hidden_object 9, 7, (TRUE << 4) | 3, PrintCinnabarQuiz + hidden_object 9, 13, (TRUE << 4) | 4, PrintCinnabarQuiz + hidden_object 1, 13, (FALSE << 4) | 5, PrintCinnabarQuiz + hidden_object 1, 7, (TRUE << 4) | 6, PrintCinnabarQuiz db -1 ; end CinnabarPokecenterHiddenObjects: @@ -602,12 +609,12 @@ CinnabarLab4HiddenObjects: db -1 ; end BikeShopHiddenObjects: - hidden_object 1, 0, $d0, PrintNewBikeText - hidden_object 2, 1, $d0, PrintNewBikeText - hidden_object 1, 2, $d0, PrintNewBikeText - hidden_object 3, 2, $d0, PrintNewBikeText - hidden_object 0, 4, $d0, PrintNewBikeText - hidden_object 1, 5, $d0, PrintNewBikeText + hidden_object 1, 0, ANY_FACING, PrintNewBikeText + hidden_object 2, 1, ANY_FACING, PrintNewBikeText + hidden_object 1, 2, ANY_FACING, PrintNewBikeText + hidden_object 3, 2, ANY_FACING, PrintNewBikeText + hidden_object 0, 4, ANY_FACING, PrintNewBikeText + hidden_object 1, 5, ANY_FACING, PrintNewBikeText db -1 ; end Route11HiddenObjects: diff --git a/engine/events/hidden_objects/bench_guys.asm b/engine/events/hidden_objects/bench_guys.asm index d5db99ec..2a38e0d1 100644 --- a/engine/events/hidden_objects/bench_guys.asm +++ b/engine/events/hidden_objects/bench_guys.asm @@ -5,7 +5,7 @@ PrintBenchGuyText: ld b, a .loop ld a, [hli] - cp $ff + cp -1 ret z cp b jr z, .match @@ -21,33 +21,26 @@ PrintBenchGuyText: ld a, [hl] jp PrintPredefTextID -; format: db map id, player sprite facing direction, text id of PredefTextIDPointerTable +bench_guy_text: MACRO + db \1, \2 + db_tx_pre \3 +ENDM + BenchGuyTextPointers: - db VIRIDIAN_POKECENTER, SPRITE_FACING_LEFT - db_tx_pre ViridianCityPokecenterBenchGuyText - db PEWTER_POKECENTER, SPRITE_FACING_LEFT - db_tx_pre PewterCityPokecenterBenchGuyText - db CERULEAN_POKECENTER, SPRITE_FACING_LEFT - db_tx_pre CeruleanCityPokecenterBenchGuyText - db LAVENDER_POKECENTER, SPRITE_FACING_LEFT - db_tx_pre LavenderCityPokecenterBenchGuyText - db VERMILION_POKECENTER, SPRITE_FACING_LEFT - db_tx_pre VermilionCityPokecenterBenchGuyText - db CELADON_POKECENTER, SPRITE_FACING_LEFT - db_tx_pre CeladonCityPokecenterBenchGuyText - db CELADON_HOTEL, SPRITE_FACING_LEFT - db_tx_pre CeladonCityHotelText - db FUCHSIA_POKECENTER, SPRITE_FACING_LEFT - db_tx_pre FuchsiaCityPokecenterBenchGuyText - db CINNABAR_POKECENTER, SPRITE_FACING_LEFT - db_tx_pre CinnabarIslandPokecenterBenchGuyText - db SAFFRON_POKECENTER, SPRITE_FACING_LEFT - db_tx_pre SaffronCityPokecenterBenchGuyText - db MT_MOON_POKECENTER, SPRITE_FACING_LEFT - db_tx_pre MtMoonPokecenterBenchGuyText - db ROCK_TUNNEL_POKECENTER,SPRITE_FACING_LEFT - db_tx_pre RockTunnelPokecenterBenchGuyText - db $FF + ; map id, player facing direction, predef text + bench_guy_text VIRIDIAN_POKECENTER, SPRITE_FACING_LEFT, ViridianCityPokecenterBenchGuyText + bench_guy_text PEWTER_POKECENTER, SPRITE_FACING_LEFT, PewterCityPokecenterBenchGuyText + bench_guy_text CERULEAN_POKECENTER, SPRITE_FACING_LEFT, CeruleanCityPokecenterBenchGuyText + bench_guy_text LAVENDER_POKECENTER, SPRITE_FACING_LEFT, LavenderCityPokecenterBenchGuyText + bench_guy_text VERMILION_POKECENTER, SPRITE_FACING_LEFT, VermilionCityPokecenterBenchGuyText + bench_guy_text CELADON_POKECENTER, SPRITE_FACING_LEFT, CeladonCityPokecenterBenchGuyText + bench_guy_text CELADON_HOTEL, SPRITE_FACING_LEFT, CeladonCityHotelText + bench_guy_text FUCHSIA_POKECENTER, SPRITE_FACING_LEFT, FuchsiaCityPokecenterBenchGuyText + bench_guy_text CINNABAR_POKECENTER, SPRITE_FACING_LEFT, CinnabarIslandPokecenterBenchGuyText + bench_guy_text SAFFRON_POKECENTER, SPRITE_FACING_LEFT, SaffronCityPokecenterBenchGuyText + bench_guy_text MT_MOON_POKECENTER, SPRITE_FACING_LEFT, MtMoonPokecenterBenchGuyText + bench_guy_text ROCK_TUNNEL_POKECENTER, SPRITE_FACING_LEFT, RockTunnelPokecenterBenchGuyText + db -1 ; end ViridianCityPokecenterBenchGuyText:: text_far _ViridianCityPokecenterGuyText -- cgit v1.2.3 From b506214f68b3b6cfc75e40373b29961af7cbd6f2 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 30 Aug 2020 16:33:14 -0400 Subject: Identify some hSpriteDataOffset values --- home/map_objects.asm | 8 ++++---- scripts/CeruleanCity.asm | 4 ++-- scripts/OaksLab.asm | 18 +++++++++--------- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/home/map_objects.asm b/home/map_objects.asm index 02555e35..27a69965 100644 --- a/home/map_objects.asm +++ b/home/map_objects.asm @@ -80,7 +80,7 @@ SetSpriteFacingDirectionAndDelay:: jp DelayFrames SetSpriteFacingDirection:: - ld a, $9 + ld a, SPRITESTATEDATA1_FACINGDIRECTION ldh [hSpriteDataOffset], a call GetPointerWithinSpriteStateData1 ldh a, [hSpriteFacingDirection] @@ -88,7 +88,7 @@ SetSpriteFacingDirection:: ret SetSpriteImageIndexAfterSettingFacingDirection:: - ld de, -7 + ld de, SPRITESTATEDATA1_IMAGEINDEX - SPRITESTATEDATA1_FACINGDIRECTION add hl, de ld [hl], a ret @@ -158,11 +158,11 @@ CheckBoulderCoords:: jp CheckCoords GetPointerWithinSpriteStateData1:: - ld h, $c1 + ld h, HIGH(wSpriteStateData1) jr _GetPointerWithinSpriteStateData GetPointerWithinSpriteStateData2:: - ld h, $c2 + ld h, HIGH(wSpriteStateData2) _GetPointerWithinSpriteStateData: ldh a, [hSpriteDataOffset] diff --git a/scripts/CeruleanCity.asm b/scripts/CeruleanCity.asm index 5ac75075..7505cb20 100755 --- a/scripts/CeruleanCity.asm +++ b/scripts/CeruleanCity.asm @@ -84,10 +84,10 @@ ENDC jr z, .asm_19535 ld a, $1 ldh [hSpriteIndex], a - ld a, $5 + ld a, SPRITESTATEDATA2_MAPX ldh [hSpriteDataOffset], a call GetPointerWithinSpriteStateData2 - ld [hl], $19 + ld [hl], 25 .asm_19535 ld a, HS_CERULEAN_RIVAL ld [wMissableObjectIndex], a diff --git a/scripts/OaksLab.asm b/scripts/OaksLab.asm index 0eab35aa..0df74dcf 100755 --- a/scripts/OaksLab.asm +++ b/scripts/OaksLab.asm @@ -255,19 +255,19 @@ OaksLabScript8: push hl ld a, $1 ldh [hSpriteIndex], a - ld a, $4 + ld a, SPRITESTATEDATA1_YPIXELS ldh [hSpriteDataOffset], a call GetPointerWithinSpriteStateData1 push hl - ld [hl], $4c + ld [hl], $4c ; SPRITESTATEDATA1_YPIXELS inc hl inc hl - ld [hl], $0 + ld [hl], $0 ; SPRITESTATEDATA1_XPIXELS pop hl inc h - ld [hl], $8 + ld [hl], 8 ; SPRITESTATEDATA2_MAPY inc hl - ld [hl], $9 + ld [hl], 9 ; SPRITESTATEDATA2_MAPX ld de, .LeftBallMovement2 ; the rival is not currently onscreen, so account for that pop hl jr .moveBlue @@ -841,13 +841,13 @@ OaksLabText39: OaksLabScript_1d157: ld a, $5 ldh [hSpriteIndex], a - ld a, $9 + ld a, SPRITESTATEDATA1_FACINGDIRECTION ldh [hSpriteDataOffset], a call GetPointerWithinSpriteStateData1 ld [hl], SPRITE_FACING_DOWN ld a, $1 ldh [hSpriteIndex], a - ld a, $9 + ld a, SPRITESTATEDATA1_FACINGDIRECTION ldh [hSpriteDataOffset], a call GetPointerWithinSpriteStateData1 ld [hl], SPRITE_FACING_RIGHT @@ -948,10 +948,10 @@ OaksLabReceivedMonText: OaksLabScript_1d22d: ld a, $5 ldh [hSpriteIndex], a - ld a, $9 + ld a, SPRITESTATEDATA1_FACINGDIRECTION ldh [hSpriteDataOffset], a call GetPointerWithinSpriteStateData1 - ld [hl], $0 + ld [hl], SPRITE_FACING_DOWN ld hl, OaksLabLastMonText call PrintText jp TextScriptEnd -- cgit v1.2.3 From 70eac3a1f7a27d5b71b968708f423dbbff6b146c Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 30 Aug 2020 23:22:39 -0400 Subject: Factor out data/tilesets/pair_collision_tile_ids.asm --- data/tilesets/pair_collision_tile_ids.asm | 24 ++++++++++++++++++++++++ home/overworld.asm | 25 +------------------------ 2 files changed, 25 insertions(+), 24 deletions(-) create mode 100644 data/tilesets/pair_collision_tile_ids.asm diff --git a/data/tilesets/pair_collision_tile_ids.asm b/data/tilesets/pair_collision_tile_ids.asm new file mode 100644 index 00000000..84869556 --- /dev/null +++ b/data/tilesets/pair_collision_tile_ids.asm @@ -0,0 +1,24 @@ +; FORMAT: tileset number, tile 1, tile 2 +; terminated by -1 +; these entries indicate that the player may not cross between tile 1 and tile 2 +; it's mainly used to simulate differences in elevation + +TilePairCollisionsLand:: + db CAVERN, $20, $05 + db CAVERN, $41, $05 + db FOREST, $30, $2E + db CAVERN, $2A, $05 + db CAVERN, $05, $21 + db FOREST, $52, $2E + db FOREST, $55, $2E + db FOREST, $56, $2E + db FOREST, $20, $2E + db FOREST, $5E, $2E + db FOREST, $5F, $2E + db -1 ; end + +TilePairCollisionsWater:: + db FOREST, $14, $2E + db FOREST, $48, $2E + db CAVERN, $14, $05 + db -1 ; end diff --git a/home/overworld.asm b/home/overworld.asm index 741b8b7e..9d5e42ef 100644 --- a/home/overworld.asm +++ b/home/overworld.asm @@ -1345,30 +1345,7 @@ CheckForTilePairCollisions:: and a ret -; FORMAT: tileset number, tile 1, tile 2 -; terminated by 0xFF -; these entries indicate that the player may not cross between tile 1 and tile 2 -; it's mainly used to simulate differences in elevation - -TilePairCollisionsLand:: - db CAVERN, $20, $05 - db CAVERN, $41, $05 - db FOREST, $30, $2E - db CAVERN, $2A, $05 - db CAVERN, $05, $21 - db FOREST, $52, $2E - db FOREST, $55, $2E - db FOREST, $56, $2E - db FOREST, $20, $2E - db FOREST, $5E, $2E - db FOREST, $5F, $2E - db $FF - -TilePairCollisionsWater:: - db FOREST, $14, $2E - db FOREST, $48, $2E - db CAVERN, $14, $05 - db $FF +INCLUDE "data/tilesets/pair_collision_tile_ids.asm" ; this builds a tile map from the tile block map based on the current X/Y coordinates of the player's character LoadCurrentMapView:: -- cgit v1.2.3 From bfd9f617c96af851ad4100b752ea967ef8989edc Mon Sep 17 00:00:00 2001 From: Rangi Date: Mon, 31 Aug 2020 10:23:19 -0400 Subject: Use constants to delineate map types, and factor out more data --- constants/map_constants.asm | 5 ++- data/events/bench_guys.asm | 20 ++++++++++++ data/events/card_key_coords.asm | 36 ++++++++++++++++++++++ data/events/card_key_maps.asm | 12 ++++++++ data/maps/dungeon_maps.asm | 5 +++ engine/battle/battle_transitions.asm | 3 -- engine/battle/wild_encounters.asm | 2 +- engine/events/card_key.asm | 15 ++------- engine/events/diploma.asm | 21 +++++++------ engine/events/hidden_objects/bench_guys.asm | 23 ++------------ engine/events/pokedex_rating.asm | 48 ++++++++++------------------- engine/gfx/palettes.asm | 6 ++-- engine/items/item_effects.asm | 43 ++------------------------ engine/items/town_map.asm | 14 +++++---- engine/overworld/map_sprites.asm | 2 +- engine/overworld/missable_objects.asm | 2 +- wram.asm | 4 +-- 17 files changed, 126 insertions(+), 135 deletions(-) create mode 100644 data/events/bench_guys.asm create mode 100644 data/events/card_key_coords.asm create mode 100644 data/events/card_key_maps.asm diff --git a/constants/map_constants.asm b/constants/map_constants.asm index b6ec77d5..d33ffe12 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -13,6 +13,7 @@ ENDM ; - MapSpriteSets (see data/maps/sprite_sets.asm) ; - ExternalMapEntries (see data/maps/town_map_entries.asm) ; Each map also has associated data in maps.asm. +; Order: towns/cities, then routes, then indoor/dungeon maps const_def mapconst PALLET_TOWN, 9, 10 ; $00 mapconst VIRIDIAN_CITY, 18, 20 ; $01 @@ -25,7 +26,9 @@ ENDM mapconst CINNABAR_ISLAND, 9, 10 ; $08 mapconst INDIGO_PLATEAU, 9, 10 ; $09 mapconst SAFFRON_CITY, 18, 20 ; $0A +NUM_CITY_MAPS EQU const_value mapconst UNUSED_MAP_0B, 0, 0 ; $0B +FIRST_ROUTE_MAP EQU const_value mapconst ROUTE_1, 18, 10 ; $0C mapconst ROUTE_2, 36, 10 ; $0D mapconst ROUTE_3, 9, 35 ; $0E @@ -51,6 +54,7 @@ ENDM mapconst ROUTE_23, 72, 10 ; $22 mapconst ROUTE_24, 18, 10 ; $23 mapconst ROUTE_25, 9, 30 ; $24 +FIRST_INDOOR_MAP EQU const_value mapconst REDS_HOUSE_1F, 4, 4 ; $25 mapconst REDS_HOUSE_2F, 4, 4 ; $26 mapconst BLUES_HOUSE, 4, 4 ; $27 @@ -263,7 +267,6 @@ ENDM mapconst BRUNOS_ROOM, 6, 5 ; $F6 mapconst AGATHAS_ROOM, 6, 5 ; $F7 - ; Indoor maps, such as houses, use this as the Map ID in their exit warps ; This map ID takes the player back to the last outdoor map they were on, stored in wLastMap LAST_MAP EQU -1 diff --git a/data/events/bench_guys.asm b/data/events/bench_guys.asm new file mode 100644 index 00000000..2e7eeb2a --- /dev/null +++ b/data/events/bench_guys.asm @@ -0,0 +1,20 @@ +bench_guy_text: MACRO + db \1, \2 + db_tx_pre \3 +ENDM + +BenchGuyTextPointers: + ; map id, player facing direction, predef text + bench_guy_text VIRIDIAN_POKECENTER, SPRITE_FACING_LEFT, ViridianCityPokecenterBenchGuyText + bench_guy_text PEWTER_POKECENTER, SPRITE_FACING_LEFT, PewterCityPokecenterBenchGuyText + bench_guy_text CERULEAN_POKECENTER, SPRITE_FACING_LEFT, CeruleanCityPokecenterBenchGuyText + bench_guy_text LAVENDER_POKECENTER, SPRITE_FACING_LEFT, LavenderCityPokecenterBenchGuyText + bench_guy_text VERMILION_POKECENTER, SPRITE_FACING_LEFT, VermilionCityPokecenterBenchGuyText + bench_guy_text CELADON_POKECENTER, SPRITE_FACING_LEFT, CeladonCityPokecenterBenchGuyText + bench_guy_text CELADON_HOTEL, SPRITE_FACING_LEFT, CeladonCityHotelText + bench_guy_text FUCHSIA_POKECENTER, SPRITE_FACING_LEFT, FuchsiaCityPokecenterBenchGuyText + bench_guy_text CINNABAR_POKECENTER, SPRITE_FACING_LEFT, CinnabarIslandPokecenterBenchGuyText + bench_guy_text SAFFRON_POKECENTER, SPRITE_FACING_LEFT, SaffronCityPokecenterBenchGuyText + bench_guy_text MT_MOON_POKECENTER, SPRITE_FACING_LEFT, MtMoonPokecenterBenchGuyText + bench_guy_text ROCK_TUNNEL_POKECENTER, SPRITE_FACING_LEFT, RockTunnelPokecenterBenchGuyText + db -1 ; end diff --git a/data/events/card_key_coords.asm b/data/events/card_key_coords.asm new file mode 100644 index 00000000..afdcfbd4 --- /dev/null +++ b/data/events/card_key_coords.asm @@ -0,0 +1,36 @@ +; These tables are probably supposed to be door locations in Silph Co., +; but they are unused. +; The reason there are 3 tables is unknown. + +; Format: map ID, Y, X, gate ID? + +CardKeyTable1: + db SILPH_CO_2F, $04, $04, 0 + db SILPH_CO_2F, $04, $05, 1 + db SILPH_CO_4F, $0C, $04, 2 + db SILPH_CO_4F, $0C, $05, 3 + db SILPH_CO_7F, $06, $0A, 4 + db SILPH_CO_7F, $06, $0B, 5 + db SILPH_CO_9F, $04, $12, 6 + db SILPH_CO_9F, $04, $13, 7 + db SILPH_CO_10F, $08, $0A, 8 + db SILPH_CO_10F, $08, $0B, 9 + db -1 ; end + +CardKeyTable2: + db SILPH_CO_3F, $08, $09, 10 + db SILPH_CO_3F, $09, $09, 11 + db SILPH_CO_5F, $04, $07, 12 + db SILPH_CO_5F, $05, $07, 13 + db SILPH_CO_6F, $0C, $05, 14 + db SILPH_CO_6F, $0D, $05, 15 + db SILPH_CO_8F, $08, $07, 16 + db SILPH_CO_8F, $09, $07, 17 + db SILPH_CO_9F, $08, $03, 18 + db SILPH_CO_9F, $09, $03, 19 + db -1 ; end + +CardKeyTable3: + db SILPH_CO_11F, $08, $09, 20 + db SILPH_CO_11F, $09, $09, 21 + db -1 ; end diff --git a/data/events/card_key_maps.asm b/data/events/card_key_maps.asm new file mode 100644 index 00000000..c66f31d9 --- /dev/null +++ b/data/events/card_key_maps.asm @@ -0,0 +1,12 @@ +SilphCoMapList: + db SILPH_CO_2F + db SILPH_CO_3F + db SILPH_CO_4F + db SILPH_CO_5F + db SILPH_CO_6F + db SILPH_CO_7F + db SILPH_CO_8F + db SILPH_CO_9F + db SILPH_CO_10F + db SILPH_CO_11F + db -1 ; end diff --git a/data/maps/dungeon_maps.asm b/data/maps/dungeon_maps.asm index bec97b48..d647923c 100644 --- a/data/maps/dungeon_maps.asm +++ b/data/maps/dungeon_maps.asm @@ -1,3 +1,8 @@ +; GetBattleTransitionID_IsDungeonMap fails to recognize +; VICTORY_ROAD_2F, VICTORY_ROAD_3F, all ROCKET_HIDEOUT maps, +; POKEMON_MANSION_1F, SEAFOAM_ISLANDS_[B1F-B4F], POWER_PLANT, +; DIGLETTS_CAVE, and SILPH_CO_[9-11]F as dungeon maps + ; GetBattleTransitionID_IsDungeonMap checks if wCurMap ; is equal to one of these maps DungeonMaps1: diff --git a/engine/battle/battle_transitions.asm b/engine/battle/battle_transitions.asm index 98040fa1..3a6db0b5 100644 --- a/engine/battle/battle_transitions.asm +++ b/engine/battle/battle_transitions.asm @@ -118,9 +118,6 @@ GetBattleTransitionID_CompareLevels: ld [wBattleTransitionSpiralDirection], a ret -; fails to recognize VICTORY_ROAD_2F, VICTORY_ROAD_3F, all ROCKET_HIDEOUT maps, -; POKEMON_MANSION_1F, SEAFOAM_ISLANDS_[B1F-B4F], POWER_PLANT, DIGLETTS_CAVE -; and SILPH_CO_[9-11]F as dungeon maps GetBattleTransitionID_IsDungeonMap: ld a, [wCurMap] ld e, a diff --git a/engine/battle/wild_encounters.asm b/engine/battle/wild_encounters.asm index e24f9632..8c9c1529 100644 --- a/engine/battle/wild_encounters.asm +++ b/engine/battle/wild_encounters.asm @@ -39,7 +39,7 @@ TryDoWildEncounter: ; so long as the map is "indoor" and has wild pokemon defined. ; ...as long as it's not Viridian Forest or Safari Zone. ld a, [wCurMap] - cp REDS_HOUSE_1F ; is this an indoor map? + cp FIRST_INDOOR_MAP ; is this an indoor map? jr c, .CantEncounter2 ld a, [wCurMapTileset] cp FOREST ; Viridian Forest/Safari Zone diff --git a/engine/events/card_key.asm b/engine/events/card_key.asm index 7ac39a6f..b052d3e2 100755 --- a/engine/events/card_key.asm +++ b/engine/events/card_key.asm @@ -4,7 +4,7 @@ PrintCardKeyText: ld b, a .silphCoMapListLoop ld a, [hli] - cp $ff + cp -1 ret z cp b jr nz, .silphCoMapListLoop @@ -58,18 +58,7 @@ PrintCardKeyText: ldh [hSpriteIndexOrTextID], a jp PrintPredefTextID -SilphCoMapList: - db SILPH_CO_2F - db SILPH_CO_3F - db SILPH_CO_4F - db SILPH_CO_5F - db SILPH_CO_6F - db SILPH_CO_7F - db SILPH_CO_8F - db SILPH_CO_9F - db SILPH_CO_10F - db SILPH_CO_11F - db $FF +INCLUDE "data/events/card_key_maps.asm" CardKeySuccessText:: text_far _CardKeySuccessText1 diff --git a/engine/events/diploma.asm b/engine/events/diploma.asm index c282b49b..91541f09 100755 --- a/engine/events/diploma.asm +++ b/engine/events/diploma.asm @@ -83,17 +83,18 @@ UnusedPlayerNameLengthFunc: dec c jr .loop +diploma_text: MACRO + dw \3 + dwcoord \1, \2 +ENDM + DiplomaTextPointersAndCoords: - dw DiplomaText - dwcoord 5, 2 - dw DiplomaPlayer - dwcoord 3, 4 - dw DiplomaEmptyText - dwcoord 15, 4 - dw DiplomaCongrats - dwcoord 2, 6 - dw DiplomaGameFreak - dwcoord 9, 16 + ; x, y, text + diploma_text 5, 2, DiplomaText + diploma_text 3, 4, DiplomaPlayer + diploma_text 15, 4, DiplomaEmptyText + diploma_text 2, 6, DiplomaCongrats + diploma_text 9, 16, DiplomaGameFreak DiplomaText: db CIRCLE_TILE_ID, "Diploma", CIRCLE_TILE_ID, "@" diff --git a/engine/events/hidden_objects/bench_guys.asm b/engine/events/hidden_objects/bench_guys.asm index 2a38e0d1..b41434ad 100644 --- a/engine/events/hidden_objects/bench_guys.asm +++ b/engine/events/hidden_objects/bench_guys.asm @@ -17,30 +17,11 @@ PrintBenchGuyText: ld b, a ld a, [wSpritePlayerStateData1FacingDirection] cp b - jr nz, .loop ; player isn't facing left at the bench guy + jr nz, .loop ; player isn't facing the bench guy ld a, [hl] jp PrintPredefTextID -bench_guy_text: MACRO - db \1, \2 - db_tx_pre \3 -ENDM - -BenchGuyTextPointers: - ; map id, player facing direction, predef text - bench_guy_text VIRIDIAN_POKECENTER, SPRITE_FACING_LEFT, ViridianCityPokecenterBenchGuyText - bench_guy_text PEWTER_POKECENTER, SPRITE_FACING_LEFT, PewterCityPokecenterBenchGuyText - bench_guy_text CERULEAN_POKECENTER, SPRITE_FACING_LEFT, CeruleanCityPokecenterBenchGuyText - bench_guy_text LAVENDER_POKECENTER, SPRITE_FACING_LEFT, LavenderCityPokecenterBenchGuyText - bench_guy_text VERMILION_POKECENTER, SPRITE_FACING_LEFT, VermilionCityPokecenterBenchGuyText - bench_guy_text CELADON_POKECENTER, SPRITE_FACING_LEFT, CeladonCityPokecenterBenchGuyText - bench_guy_text CELADON_HOTEL, SPRITE_FACING_LEFT, CeladonCityHotelText - bench_guy_text FUCHSIA_POKECENTER, SPRITE_FACING_LEFT, FuchsiaCityPokecenterBenchGuyText - bench_guy_text CINNABAR_POKECENTER, SPRITE_FACING_LEFT, CinnabarIslandPokecenterBenchGuyText - bench_guy_text SAFFRON_POKECENTER, SPRITE_FACING_LEFT, SaffronCityPokecenterBenchGuyText - bench_guy_text MT_MOON_POKECENTER, SPRITE_FACING_LEFT, MtMoonPokecenterBenchGuyText - bench_guy_text ROCK_TUNNEL_POKECENTER, SPRITE_FACING_LEFT, RockTunnelPokecenterBenchGuyText - db -1 ; end +INCLUDE "data/events/bench_guys.asm" ViridianCityPokecenterBenchGuyText:: text_far _ViridianCityPokecenterGuyText diff --git a/engine/events/pokedex_rating.asm b/engine/events/pokedex_rating.asm index 490ae05a..c61253b7 100755 --- a/engine/events/pokedex_rating.asm +++ b/engine/events/pokedex_rating.asm @@ -56,38 +56,22 @@ PokedexRatingText_441cc: text_end DexRatingsTable: - db 10 - dw PokedexRatingText_44201 - db 20 - dw PokedexRatingText_44206 - db 30 - dw PokedexRatingText_4420b - db 40 - dw PokedexRatingText_44210 - db 50 - dw PokedexRatingText_44215 - db 60 - dw PokedexRatingText_4421a - db 70 - dw PokedexRatingText_4421f - db 80 - dw PokedexRatingText_44224 - db 90 - dw PokedexRatingText_44229 - db 100 - dw PokedexRatingText_4422e - db 110 - dw PokedexRatingText_44233 - db 120 - dw PokedexRatingText_44238 - db 130 - dw PokedexRatingText_4423d - db 140 - dw PokedexRatingText_44242 - db 150 - dw PokedexRatingText_44247 - db NUM_POKEMON + 1 - dw PokedexRatingText_4424c + dbw 10, PokedexRatingText_44201 + dbw 20, PokedexRatingText_44206 + dbw 30, PokedexRatingText_4420b + dbw 40, PokedexRatingText_44210 + dbw 50, PokedexRatingText_44215 + dbw 60, PokedexRatingText_4421a + dbw 70, PokedexRatingText_4421f + dbw 80, PokedexRatingText_44224 + dbw 90, PokedexRatingText_44229 + dbw 100, PokedexRatingText_4422e + dbw 110, PokedexRatingText_44233 + dbw 120, PokedexRatingText_44238 + dbw 130, PokedexRatingText_4423d + dbw 140, PokedexRatingText_44242 + dbw 150, PokedexRatingText_44247 + dbw NUM_POKEMON + 1, PokedexRatingText_4424c PokedexRatingText_44201: text_far _OaksLabText_44201 diff --git a/engine/gfx/palettes.asm b/engine/gfx/palettes.asm index f2019e85..f25ff215 100755 --- a/engine/gfx/palettes.asm +++ b/engine/gfx/palettes.asm @@ -145,11 +145,11 @@ SetPal_Overworld: cp CAVERN jr z, .caveOrBruno ld a, [wCurMap] - cp REDS_HOUSE_1F + cp FIRST_INDOOR_MAP jr c, .townOrRoute cp CERULEAN_CAVE_2F jr c, .normalDungeonOrBuilding - cp NAME_RATERS_HOUSE + cp CERULEAN_CAVE_1F + 1 jr c, .caveOrBruno cp LORELEIS_ROOM jr z, .Lorelei @@ -158,7 +158,7 @@ SetPal_Overworld: .normalDungeonOrBuilding ld a, [wLastMap] ; town or route that current dungeon or building is located .townOrRoute - cp SAFFRON_CITY + 1 + cp NUM_CITY_MAPS jr c, .town ld a, PAL_ROUTE - 1 .town diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm index 05f8038f..9a030d9d 100755 --- a/engine/items/item_effects.asm +++ b/engine/items/item_effects.asm @@ -1573,7 +1573,7 @@ ItemUseCardKey: ld b, a .loop ld a, [hli] - cp $ff + cp -1 jp z, ItemUseNotTime cp b jr nz, .nextEntry1 @@ -1600,46 +1600,7 @@ ItemUseCardKey: set 7, [hl] ret -; These tables are probably supposed to be door locations in Silph Co., -; but they are unused. -; The reason there are 3 tables is unknown. - -; Format: -; 00: Map ID -; 01: Y -; 02: X -; 03: ID? - -CardKeyTable1: - db SILPH_CO_2F,$04,$04,$00 - db SILPH_CO_2F,$04,$05,$01 - db SILPH_CO_4F,$0C,$04,$02 - db SILPH_CO_4F,$0C,$05,$03 - db SILPH_CO_7F,$06,$0A,$04 - db SILPH_CO_7F,$06,$0B,$05 - db SILPH_CO_9F,$04,$12,$06 - db SILPH_CO_9F,$04,$13,$07 - db SILPH_CO_10F,$08,$0A,$08 - db SILPH_CO_10F,$08,$0B,$09 - db $ff - -CardKeyTable2: - db SILPH_CO_3F,$08,$09,$0A - db SILPH_CO_3F,$09,$09,$0B - db SILPH_CO_5F,$04,$07,$0C - db SILPH_CO_5F,$05,$07,$0D - db SILPH_CO_6F,$0C,$05,$0E - db SILPH_CO_6F,$0D,$05,$0F - db SILPH_CO_8F,$08,$07,$10 - db SILPH_CO_8F,$09,$07,$11 - db SILPH_CO_9F,$08,$03,$12 - db SILPH_CO_9F,$09,$03,$13 - db $ff - -CardKeyTable3: - db SILPH_CO_11F,$08,$09,$14 - db SILPH_CO_11F,$09,$09,$15 - db $ff +INCLUDE "data/events/card_key_coords.asm" ItemUsePokedoll: ld a, [wIsInBattle] diff --git a/engine/items/town_map.asm b/engine/items/town_map.asm index 83ea81bf..42d313d9 100755 --- a/engine/items/town_map.asm +++ b/engine/items/town_map.asm @@ -1,3 +1,5 @@ +NOT_VISITED EQU $fe + DisplayTownMap: call LoadTownMap ld hl, wUpdateSpritesEnabled @@ -224,7 +226,7 @@ LoadTownMap_Fly:: ld a, [hl] cp $ff jr z, .wrapToStartOfList - cp $fe + cp NOT_VISITED jr z, .pressedUp ; skip past unvisited towns jp .townMapFlyLoop .wrapToStartOfList @@ -236,11 +238,11 @@ LoadTownMap_Fly:: ld a, [hl] cp $ff jr z, .wrapToEndOfList - cp $fe + cp NOT_VISITED jr z, .pressedDown ; skip past unvisited towns jp .townMapFlyLoop .wrapToEndOfList - ld hl, wFlyLocationsList + 11 + ld hl, wFlyLocationsList + NUM_CITY_MAPS jr .pressedDown ToText: @@ -254,11 +256,11 @@ BuildFlyLocationsList: ld e, a ld a, [wTownVisitedFlag + 1] ld d, a - ld bc, SAFFRON_CITY + 1 + lb bc, 0, NUM_CITY_MAPS .loop srl d rr e - ld a, $fe ; store $fe if the town hasn't been visited + ld a, NOT_VISITED jr nc, .notVisited ld a, b ; store the map number of the town if it has been visited .notVisited @@ -554,7 +556,7 @@ ZeroOutDuplicatesInList: LoadTownMapEntry: ; in: a = map number ; out: lower nybble of [de] = x, upper nybble of [de] = y, hl = address of name - cp REDS_HOUSE_1F + cp FIRST_INDOOR_MAP jr c, .external ld bc, 4 ld hl, InternalMapEntries diff --git a/engine/overworld/map_sprites.asm b/engine/overworld/map_sprites.asm index 031ddc76..fa3a37dc 100755 --- a/engine/overworld/map_sprites.asm +++ b/engine/overworld/map_sprites.asm @@ -255,7 +255,7 @@ ReadSpriteSheetData: ; sets carry if the map is a city or route, unsets carry if not InitOutsideMapSprites: ld a, [wCurMap] - cp REDS_HOUSE_1F ; is the map a city or a route (map ID less than $25)? + cp FIRST_INDOOR_MAP ; is the map a city or a route? ret nc ; if not, return ld hl, MapSpriteSets add l diff --git a/engine/overworld/missable_objects.asm b/engine/overworld/missable_objects.asm index fd2fe578..31fdc257 100644 --- a/engine/overworld/missable_objects.asm +++ b/engine/overworld/missable_objects.asm @@ -1,6 +1,6 @@ MarkTownVisitedAndLoadMissableObjects:: ld a, [wCurMap] - cp ROUTE_1 + cp FIRST_ROUTE_MAP jr nc, .notInTown ld c, a ld b, FLAG_SET diff --git a/wram.asm b/wram.asm index c6eb750e..b2332f61 100755 --- a/wram.asm +++ b/wram.asm @@ -897,7 +897,7 @@ wBadgeNameTile:: ; first tile ID of the name being drawn wFlyLocationsList:: -; 11 bytes plus $ff sentinel values at each end +; NUM_CITY_MAPS bytes plus $ff sentinel values at each end wSlotMachineWheel1Offset:: @@ -2818,7 +2818,7 @@ wWalkBikeSurfState:: ds 10 wTownVisitedFlag:: - flag_array 13 + flag_array NUM_CITY_MAPS wSafariSteps:: ; starts at 502 -- cgit v1.2.3 From 8ce20e5c31ed2255e708e6a38c7b75d3d8bee48c Mon Sep 17 00:00:00 2001 From: Rangi Date: Mon, 31 Aug 2020 10:58:41 -0400 Subject: Define a constant for the ghost Marowak (hard-coded throughout the engine, like the starters) --- constants.asm | 1 - constants/pokemon_constants.asm | 8 ++++++++ constants/starter_mons.asm | 3 --- engine/battle/common_text.asm | 2 +- engine/battle/core.asm | 2 +- engine/battle/ghost_marowak_anim.asm | 2 +- engine/items/item_effects.asm | 2 +- engine/movie/title.asm | 3 ++- 8 files changed, 14 insertions(+), 9 deletions(-) delete mode 100755 constants/starter_mons.asm diff --git a/constants.asm b/constants.asm index 3d428283..36a7acf5 100644 --- a/constants.asm +++ b/constants.asm @@ -32,7 +32,6 @@ INCLUDE "constants/credits_constants.asm" INCLUDE "constants/audio_constants.asm" INCLUDE "constants/music_constants.asm" INCLUDE "constants/tileset_constants.asm" -INCLUDE "constants/starter_mons.asm" INCLUDE "constants/event_constants.asm" INCLUDE "constants/text_constants.asm" INCLUDE "constants/menu_constants.asm" diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm index 5a91f0f8..7312dbf1 100644 --- a/constants/pokemon_constants.asm +++ b/constants/pokemon_constants.asm @@ -199,3 +199,11 @@ const VICTREEBEL ; $BE NUM_POKEMON_INDEXES EQU const_value - 1 + +; starters +STARTER1 EQU CHARMANDER +STARTER2 EQU SQUIRTLE +STARTER3 EQU BULBASAUR + +; ghost in Pokémon Tower +GHOST_MON EQU MAROWAK diff --git a/constants/starter_mons.asm b/constants/starter_mons.asm deleted file mode 100755 index 16de35d4..00000000 --- a/constants/starter_mons.asm +++ /dev/null @@ -1,3 +0,0 @@ -STARTER1 EQU CHARMANDER -STARTER2 EQU SQUIRTLE -STARTER3 EQU BULBASAUR diff --git a/engine/battle/common_text.asm b/engine/battle/common_text.asm index 9f6f90b6..8c9e6afa 100644 --- a/engine/battle/common_text.asm +++ b/engine/battle/common_text.asm @@ -33,7 +33,7 @@ PrintBeginningBattleText: call IsItemInBag ld a, [wEnemyMonSpecies2] ld [wcf91], a - cp MAROWAK + cp GHOST_MON jr z, .isMarowak ld a, b and a diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 4f35ba39..8289ecc9 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -6784,7 +6784,7 @@ InitWildBattle: call LoadEnemyMonData call DoBattleTransitionAndInitBattleVariables ld a, [wCurOpponent] - cp MAROWAK + cp GHOST_MON jr z, .isGhost call IsGhostBattle jr nz, .isNoGhost diff --git a/engine/battle/ghost_marowak_anim.asm b/engine/battle/ghost_marowak_anim.asm index 7405c40b..975bb937 100644 --- a/engine/battle/ghost_marowak_anim.asm +++ b/engine/battle/ghost_marowak_anim.asm @@ -11,7 +11,7 @@ MarowakAnim: xor a ldh [hAutoBGTransferEnabled], a ; disable BG transfer so we don't see the Marowak too soon ; replace ghost pic with Marowak in BG - ld a, MAROWAK + ld a, GHOST_MON ld [wChangeMonPicEnemyTurnSpecies], a ld a, $1 ldh [hWhoseTurn], a diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm index 9a030d9d..244474ef 100755 --- a/engine/items/item_effects.asm +++ b/engine/items/item_effects.asm @@ -170,7 +170,7 @@ ItemUseBall: cp POKEMON_TOWER_6F jr nz, .loop ld a, [wEnemyMonSpecies2] - cp MAROWAK + cp GHOST_MON ld b, $10 ; can't be caught value jp z, .setAnimData diff --git a/engine/movie/title.asm b/engine/movie/title.asm index 7b883cfd..a75c64ee 100755 --- a/engine/movie/title.asm +++ b/engine/movie/title.asm @@ -117,15 +117,16 @@ DisplayTitleScreen: call SaveScreenTilesToBuffer2 call LoadScreenTilesFromBuffer2 call EnableLCD + IF DEF(_RED) ld a, CHARMANDER ; which Pokemon to show first on the title screen ENDC IF DEF(_BLUE) ld a, SQUIRTLE ; which Pokemon to show first on the title screen ENDC - ld [wTitleMonSpecies], a call LoadTitleMonSprite + ld a, HIGH(vBGMap0 + $300) call TitleScreenCopyTileMapToVRAM call SaveScreenTilesToBuffer1 -- cgit v1.2.3 From 1143019ac61bf88e0e4e3d62cdfaad6f846a5c67 Mon Sep 17 00:00:00 2001 From: Rangi Date: Mon, 31 Aug 2020 19:01:13 -0400 Subject: Separate the two lists of unused names --- data/text/unused_names.asm | 4 +++- home/names2.asm | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/data/text/unused_names.asm b/data/text/unused_names.asm index e629c44e..349a31cf 100644 --- a/data/text/unused_names.asm +++ b/data/text/unused_names.asm @@ -1,4 +1,4 @@ -UnusedNames:: +UnusedBadgeNames:: db "かみなりバッヂ@" ; THUNDER BADGE db "かいがらバッヂ@" ; SHELL BADGE db "おじぞうバッヂ@" ; JIZOU BADGE @@ -8,6 +8,8 @@ UnusedNames:: db "バラバッヂ@" ; ROSE BADGE db "ひのたまバッヂ@" ; FIREBALL BADGE db "ゴールドバッヂ@" ; GOLD BADGE + +UnusedRankingNames: db "たまご@" ; EGG db "ひよこ@" ; CHICK db "ブロンズ@" ; BRONZE diff --git a/home/names2.asm b/home/names2.asm index 71f6c646..39ba1f55 100644 --- a/home/names2.asm +++ b/home/names2.asm @@ -2,7 +2,7 @@ NamePointers:: ; entries correspond to *_NAME constants dw MonsterNames dw MoveNames - dw UnusedNames + dw UnusedBadgeNames dw ItemNames dw wPartyMonOT ; player's OT names list dw wEnemyMonOT ; enemy's OT names list -- cgit v1.2.3 From df144ec5f35e2a8856ee5a91f031076560140eab Mon Sep 17 00:00:00 2001 From: Rangi Date: Tue, 1 Sep 2020 12:19:24 -0400 Subject: Pan Docs: "When sending three or more data sets, data is continued in further packet(s). Unused bytes at the end of the last packet should be set to zero." --- data/sgb/sgb_packets.asm | 162 +++++++++++++++++++++++++---------------------- 1 file changed, 88 insertions(+), 74 deletions(-) diff --git a/data/sgb/sgb_packets.asm b/data/sgb/sgb_packets.asm index cae91883..0d52c479 100755 --- a/data/sgb/sgb_packets.asm +++ b/data/sgb/sgb_packets.asm @@ -13,35 +13,35 @@ ENDM PAL_SET: MACRO db ($a << 3) + 1 dw \1, \2, \3, \4 - ds 7 + ds 7, 0 ENDM PAL_TRN: MACRO - db ($b<< 3) + 1 - ds 15 + db ($b << 3) + 1 + ds 15, 0 ENDM MLT_REQ: MACRO db ($11 << 3) + 1 db \1 - 1 - ds 14 + ds 14, 0 ENDM CHR_TRN: MACRO db ($13 << 3) + 1 db \1 + (\2 << 1) - ds 14 + ds 14, 0 ENDM PCT_TRN: MACRO db ($14 << 3) + 1 - ds 15 + ds 15, 0 ENDM MASK_EN: MACRO db ($17 << 3) + 1 db \1 - ds 14 + ds 14, 0 ENDM DATA_SND: MACRO @@ -54,9 +54,11 @@ ENDM BlkPacket_WholeScreen: ATTR_BLK 1 ATTR_BLK_DATA %011, 0,0,0, 00,00, 19,17 - ds 8 + ds 8, 0 - db $03,$00,$00,$13,$11,$00,$00 +; unused + db $03, 00,00, 19,17, $00 + db $00 BlkPacket_Battle: ATTR_BLK 5 @@ -66,34 +68,39 @@ BlkPacket_Battle: ATTR_BLK_DATA %011, 2,2,0, 00,04, 08,11 ; player mon: pal 2 ATTR_BLK_DATA %011, 3,3,0, 11,00, 19,06 ; enemy mon : pal 3 - db $03,$00,$00,$13,$0b,$00 - db $03,$00,$0c,$13,$11,$02 - db $03,$01,$00,$0a,$03,$01 - db $03,$0a,$08,$13,$0a,$00 - db $03,$00,$04,$08,$0b,$02 - db $03,$0b,$00,$13,$07,$03 +; unused + db $03, 00,00, 19,11, $00 + db $03, 00,12, 19,17, $02 + db $03, 01,00, 10,03, $01 + db $03, 10,08, 19,10, $00 + db $03, 00,04, 08,11, $02 + db $03, 11,00, 19,07, $03 db $00 BlkPacket_StatusScreen: ATTR_BLK 1 ATTR_BLK_DATA %111, 1,1,0, 01,00, 07,06 ; mon: pal 1, HP bar: pal 0 - ds 8 + ds 8, 0 - db $02,$00,$00,$11,$00,$03 - db $01,$00,$07,$06,$01,$03 - db $01,$07,$13,$11,$00,$03 - db $08,$00,$13,$06,$00,$00 +; unused + db $02, 00,00, 17,00 + db $03, 01,00, 07,06, $01 + db $03, 01,07, 19,17, $00 + db $03, 08,00, 19,06, $00 + db $00 BlkPacket_Pokedex: ATTR_BLK 1 ATTR_BLK_DATA %111, 1,1,0, 01,01, 08,08 ; mon: pal 1, everything else: pal 0 - ds 8 - - db $02,$00,$00,$11,$00,$01 - db $00,$01,$13,$00,$03,$01 - db $01,$08,$08,$01,$03,$01 - db $09,$08,$11,$00,$03,$09 - db $01,$13,$11,$00,$00 + ds 8, 0 + +; unused + db $02, 00,00, 17,00 + db $01, 00,01, 19,00 + db $03, 01,01, 08,08, $01 + db $03, 01,09, 08,17, $00 + db $03, 09,01, 19,17, $00 + db $00 BlkPacket_Slots: ATTR_BLK 5 @@ -103,11 +110,12 @@ BlkPacket_Slots: ATTR_BLK_DATA %011, 0,0,0, 04,04, 15,09 ; slot reels: pal 0 ATTR_BLK_DATA %011, 0,0,0, 00,12, 19,17 ; message box: pal 0 - db $03,$00,$00,$13,$0b,$01 - db $03,$00,$04,$13,$09,$02 - db $03,$00,$06,$13,$07,$03 - db $03,$04,$04,$0f,$09,$00 - db $03,$00,$0c,$13,$11,$00 +; unused + db $03, 00,00, 19,11, $01 + db $03, 00,04, 19,09, $02 + db $03, 00,06, 19,07, $03 + db $03, 04,04, 15,09, $00 + db $03, 00,12, 19,17, $00 db $00 BlkPacket_Titlescreen: @@ -115,11 +123,12 @@ BlkPacket_Titlescreen: ATTR_BLK_DATA %011, 0,0,0, 00,00, 19,07 ; pokemon logo: pal 0 ATTR_BLK_DATA %010, 1,1,0, 00,08, 19,09 ; version text: pal 1 ATTR_BLK_DATA %011, 2,2,0, 00,10, 19,17 ; player, mon, copyright text: pal 2 - ds 12 + ds 12, 0 - db $03,$00,$00,$13,$07,$00 - db $03,$00,$08,$13,$09,$01 - db $03,$00,$0a,$13,$11,$02 +; unused + db $03, 00,00, 19,07, $00 + db $03, 00,08, 19,09, $01 + db $03, 00,10, 19,17, $02 db $00 BlkPacket_NidorinoIntro: @@ -127,11 +136,12 @@ BlkPacket_NidorinoIntro: ATTR_BLK_DATA %011, 1,1,0, 00,00, 19,03 ; upper black bar: pal 1 ATTR_BLK_DATA %011, 0,0,0, 00,04, 19,13 ; letterbox: pal 0 ATTR_BLK_DATA %011, 1,1,0, 00,14, 19,17 ; lower black bar: pal 1 - ds 12 + ds 12, 0 - db $03,$00,$00,$13,$03,$01 - db $03,$00,$04,$13,$0d,$00 - db $03,$00,$0e,$13,$11,$01 +; unused + db $03, 00,00, 19,03, $01 + db $03, 00,04, 19,13, $00 + db $03, 00,14, 19,17, $01 db $00 BlkPacket_PartyMenu: @@ -143,18 +153,20 @@ BlkPacket_PartyMenu: ATTR_BLK_DATA %010, 0,0,0, 05,07, 11,07 ; HP bar 3: pal set dynamically ATTR_BLK_DATA %010, 0,0,0, 05,09, 11,09 ; HP bar 4: pal set dynamically ATTR_BLK_DATA %010, 0,0,0, 05,11, 11,11 ; HP bar 5: pal set dynamically - ds 4 - - db $02,$00,$00,$11,$01,$03 - db $01,$00,$02,$0c,$00,$03 - db $01,$0d,$02,$11,$01,$03 - db $03,$00,$13,$11,$01,$03 - db $0c,$00,$12,$01,$00,$03 - db $0c,$02,$12,$03,$00,$03 - db $0c,$04,$12,$05,$00,$03 - db $0c,$06,$12,$07,$00,$03 - db $0c,$08,$12,$09,$00,$03 - db $0c,$0a,$12,$0b,$00,$00 + ds 4, 0 + +; unused + db $02, 00,00, 17,01 + db $03, 01,00, 02,12, $00 + db $03, 01,13, 02,17, $01 + db $03, 03,00, 19,17, $01 + db $03, 12,00, 18,01, $00 + db $03, 12,02, 18,03, $00 + db $03, 12,04, 18,05, $00 + db $03, 12,06, 18,07, $00 + db $03, 12,08, 18,09, $00 + db $03, 12,10, 18,11, $00 + db $00 BlkPacket_TrainerCard: ATTR_BLK 10 @@ -168,18 +180,19 @@ BlkPacket_TrainerCard: ATTR_BLK_DATA %010, 3,3,0, 07,15, 08,16 ; Marsh Badge ATTR_BLK_DATA %010, 2,2,0, 11,15, 12,16 ; Volcano Badge ATTR_BLK_DATA %010, 1,1,0, 15,15, 16,16 ; Earth Badge - ds 2 - - db $03,$03,$0c,$04,$0d,$00 - db $03,$07,$0c,$08,$0d,$01 - db $03,$0b,$0c,$0c,$0d,$03 - db $03,$10,$0b,$11,$0c,$02 - db $03,$0e,$0d,$0f,$0e,$01 - db $03,$10,$0d,$11,$0e,$03 - db $03,$03,$0f,$04,$10,$02 - db $03,$07,$0f,$08,$10,$03 - db $03,$0b,$0f,$0c,$10,$02 - db $03,$0f,$0f,$10,$10,$01 + ds 2, 0 + +; unused + db $03, 03,12, 04,13, $00 + db $03, 07,12, 08,13, $01 + db $03, 11,12, 12,13, $03 + db $03, 16,11, 17,12, $02 + db $03, 14,13, 15,14, $01 + db $03, 16,13, 17,14, $03 + db $03, 03,15, 04,16, $02 + db $03, 07,15, 08,16, $03 + db $03, 11,15, 12,16, $02 + db $03, 15,15, 16,16, $01 db $00 BlkPacket_GameFreakIntro: @@ -187,15 +200,16 @@ BlkPacket_GameFreakIntro: ATTR_BLK_DATA %111, 1,1,0, 05,11, 07,13 ; falling stars (left): pal 1, GameFreak logo: pal 0 ATTR_BLK_DATA %010, 2,2,0, 08,11, 09,13 ; falling stars (middle): pal 2 ATTR_BLK_DATA %011, 3,3,0, 12,11, 14,13 ; falling stars (right): pal 3 - ds 12 - - db $03,$00,$00,$13,$0a,$00 - db $03,$00,$0b,$04,$0d,$00 - db $03,$05,$0b,$07,$0d,$01 - db $03,$08,$0b,$13,$0d,$00 - db $03,$00,$0e,$13,$11,$00 - db $03,$08,$0b,$09,$0d,$02 - db $03,$0c,$0b,$0e,$0d,$03 + ds 12, 0 + +; unused + db $03, 00,00, 19,10, $00 + db $03, 00,11, 04,13, $00 + db $03, 05,11, 07,13, $01 + db $03, 08,11, 19,13, $00 + db $03, 00,14, 19,17, $00 + db $03, 08,11, 09,13, $02 + db $03, 12,11, 14,13, $03 db $00 @@ -229,7 +243,7 @@ DataSnd_72548: DATA_SND $85d, $0, 11 db $8C ; cpx #$8c (2) db $D0, $F4 ; bne -$0c db $60 ; rts - ds 7 + ds 7, 0 DataSnd_72558: DATA_SND $852, $0, 11 db $A9, $E7 ; lda #$e7 -- cgit v1.2.3 From ca2e63e447f34f92d79214b3ca9496abfccdd86d Mon Sep 17 00:00:00 2001 From: Rangi Date: Wed, 2 Sep 2020 12:09:18 -0400 Subject: Add the pic.py (de)compressor from pokemon-reverse-engineering-tools $ tools/pic.py decompress x.pic # creates x.2bpp $ tools/gfx.py png x.2bpp # creates x.png $ tools/gfx.py 2bpp x.png # creates x.2bpp $ tools/pic.py compress x.2bpp # creates x.pic --- tools/pic.py | 491 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 491 insertions(+) create mode 100644 tools/pic.py diff --git a/tools/pic.py b/tools/pic.py new file mode 100644 index 00000000..afc34c90 --- /dev/null +++ b/tools/pic.py @@ -0,0 +1,491 @@ +#!/usr/bin/env python2 +# -*- coding: utf-8 -*- + +""" +A library for use with compressed monster and trainer pics in pokered. +""" +from __future__ import absolute_import +from __future__ import division + +import os +import sys +import argparse +from math import sqrt + +from pokemontools import gfx + + +def bitflip(x, n): + r = 0 + while n: + r = (r << 1) | (x & 1) + x >>= 1 + n -= 1 + return r + + +class Decompressor: + """ + pokered pic decompression. + + Ported to python 2.7 from the python 3 code at https://github.com/magical/pokemon-sprites-rby. + """ + + table1 = [(2 << i) - 1 for i in range(16)] + table2 = [ + [0x0, 0x1, 0x3, 0x2, 0x7, 0x6, 0x4, 0x5, 0xf, 0xe, 0xc, 0xd, 0x8, 0x9, 0xb, 0xa], + [0xf, 0xe, 0xc, 0xd, 0x8, 0x9, 0xb, 0xa, 0x0, 0x1, 0x3, 0x2, 0x7, 0x6, 0x4, 0x5], # prev ^ 0xf + [0x0, 0x8, 0xc, 0x4, 0xe, 0x6, 0x2, 0xa, 0xf, 0x7, 0x3, 0xb, 0x1, 0x9, 0xd, 0x5], + [0xf, 0x7, 0x3, 0xb, 0x1, 0x9, 0xd, 0x5, 0x0, 0x8, 0xc, 0x4, 0xe, 0x6, 0x2, 0xa], # prev ^ 0xf + ] + table3 = [bitflip(i, 4) for i in range(16)] + + tilesize = 8 + + + def __init__(self, f, mirror=False, planar=True): + self.bs = fbitstream(f) + self.mirror = mirror + self.planar = planar + self.data = None + + def decompress(self): + rams = [[], []] + + self.sizex = self._readint(4) * self.tilesize + self.sizey = self._readint(4) + + self.size = self.sizex * self.sizey + + self.ramorder = self._readbit() + + r1 = self.ramorder + r2 = self.ramorder ^ 1 + + self._fillram(rams[r1]) + mode = self._readbit() + if mode: + mode += self._readbit() + self._fillram(rams[r2]) + + rams[0] = bytearray(bitgroups_to_bytes(rams[0])) + rams[1] = bytearray(bitgroups_to_bytes(rams[1])) + + if mode == 0: + self._decode(rams[0]) + self._decode(rams[1]) + elif mode == 1: + self._decode(rams[r1]) + self._xor(rams[r1], rams[r2]) + elif mode == 2: + self._decode(rams[r2], mirror=False) + self._decode(rams[r1]) + self._xor(rams[r1], rams[r2]) + else: + raise Exception("Invalid deinterlace mode!") + + data = [] + if self.planar: + for a, b in zip(rams[0], rams[1]): + data += [a, b] + self.data = bytearray(data) + else: + for a, b in zip(bitstream(rams[0]), bitstream(rams[1])): + data.append(a | (b << 1)) + self.data = bitgroups_to_bytes(data) + + def _fillram(self, ram): + mode = ['rle', 'data'][self._readbit()] + size = self.size * 4 + while len(ram) < size: + if mode == 'rle': + self._read_rle_chunk(ram) + mode = 'data' + elif mode == 'data': + self._read_data_chunk(ram, size) + mode = 'rle' + if len(ram) > size: + #ram = ram[:size] + raise ValueError(size, len(ram)) + + ram[:] = self._deinterlace_bitgroups(ram) + + def _read_rle_chunk(self, ram): + + i = 0 + while self._readbit(): + i += 1 + + n = self.table1[i] + a = self._readint(i + 1) + n += a + + for i in range(n): + ram.append(0) + + def _read_data_chunk(self, ram, size): + while 1: + bitgroup = self._readint(2) + if bitgroup == 0: + break + ram.append(bitgroup) + + if size <= len(ram): + break + + def _decode(self, ram, mirror=None): + if mirror is None: + mirror = self.mirror + + for x in range(self.sizex): + bit = 0 + for y in range(self.sizey): + i = y * self.sizex + x + a = (ram[i] >> 4) & 0xf + b = ram[i] & 0xf + + a = self.table2[bit][a] + bit = a & 1 + if mirror: + a = self.table3[a] + + b = self.table2[bit][b] + bit = b & 1 + if mirror: + b = self.table3[b] + + ram[i] = (a << 4) | b + + def _xor(self, ram1, ram2, mirror=None): + if mirror is None: + mirror = self.mirror + + for i in range(len(ram2)): + if mirror: + a = (ram2[i] >> 4) & 0xf + b = ram2[i] & 0xf + a = self.table3[a] + b = self.table3[b] + ram2[i] = (a << 4) | b + + ram2[i] ^= ram1[i] + + def _deinterlace_bitgroups(self, bits): + l = [] + for y in range(self.sizey): + for x in range(self.sizex): + i = 4 * y * self.sizex + x + for j in range(4): + l.append(bits[i]) + i += self.sizex + return l + + + def _readbit(self): + return next(self.bs) + + def _readint(self, count): + return readint(self.bs, count) + + +def fbitstream(f): + while 1: + char = f.read(1) + if not char: + break + byte = ord(char) + + for i in range(7, -1, -1): + yield (byte >> i) & 1 + +def bitstream(b): + for byte in b: + for i in range(7, -1, -1): + yield (byte >> i) & 1 + +def readint(bs, count): + n = 0 + while count: + n <<= 1 + n |= next(bs) + count -= 1 + return n + +def bitgroups_to_bytes(bits): + l = [] + for i in range(0, len(bits) - 3, 4): + n = ((bits[i + 0] << 6) + | (bits[i + 1] << 4) + | (bits[i + 2] << 2) + | (bits[i + 3] << 0)) + l.append(n) + return bytearray(l) + + +def bytes_to_bits(bytelist): + return list(bitstream(bytelist)) + + +class Compressor: + """ + pokered pic compression. + + Adapted from stag019's C compressor. + """ + + table1 = [(2 << i) - 1 for i in range(16)] + table2 = [ + [0x0, 0x1, 0x3, 0x2, 0x6, 0x7, 0x5, 0x4, 0xc, 0xd, 0xf, 0xe, 0xa, 0xb, 0x9, 0x8], + [0x8, 0x9, 0xb, 0xa, 0xe, 0xf, 0xd, 0xc, 0x4, 0x5, 0x7, 0x6, 0x2, 0x3, 0x1, 0x0], # reverse + ] + table3 = [bitflip(i, 4) for i in range(16)] + + def __init__(self, image, width=None, height=None): + self.image = bytearray(image) + self.size = len(self.image) + + planar_tile = 8 * 8 // 4 + tile_size = self.size // planar_tile + if height and not width: width = tile_size // height + elif width and not height: height = tile_size // width + elif not width and not height: width = height = int(sqrt(tile_size)) + self.width, self.height = width, height + + def compress(self): + """ + Compress the image five times (twice for each mode, except 0) + and use the smallest one (in bits). + """ + rams = [[],[]] + datas = [] + + for mode in range(3): + + # Order is redundant for mode 0. + + # While this seems like an optimization, + # it's actually required for 1:1 compression + # to the original compressed pics. + + # This appears to be the algorithm + # that Game Freak's compressor used. + + # Using order 0 instead of 1 breaks this feature. + + for order in range(2): + if mode == 0 and order == 0: + continue + for i in range(2): + rams[i] = self.image[i::2] + self._interpret_compress(rams, mode, order) + datas += [(self.data[:], int(self.which_bit))] + + # Pick the smallest pic, measured in bits. + datas = sorted(datas, key=lambda data_bit: (len(data_bit[0]), -data_bit[1])) + self.data, self.which_bit = datas[0] + + def _interpret_compress(self, rams, mode, order): + self.data = [] + self.which_bit = 0 + + r1 = order + r2 = order ^ 1 + + if mode == 0: + self._encode(rams[1]) + self._encode(rams[0]) + elif mode == 1: + self._xor(rams[r1], rams[r2]) + self._encode(rams[r1]) + elif mode == 2: + self._xor(rams[r1], rams[r2]) + self._encode(rams[r1]) + self._encode(rams[r2], mirror=False) + else: + raise Exception('invalid interlace mode!') + + self._writeint(self.height, 4) + self._writeint(self.width, 4) + + self._writebit(order) + + self._fillram(rams[r1]) + if mode == 0: + self._writebit(0) + else: + self._writebit(1) + self._writebit(mode - 1) + self._fillram(rams[r2]) + + def _fillram(self, ram): + rle = 0 + nums = 0 + bitgroups = [] + + for x in range(self.width): + for bit in range(0, 8, 2): + byte = x * self.height * 8 + for y in range(self.height * 8): + bitgroup = (ram[byte] >> (6 - bit)) & 3 + if bitgroup == 0: + if rle == 0: + self._writebit(0) + elif rle == 1: + nums += 1 + else: + self._data_packet(bitgroups) + self._writebit(0) + self._writebit(0) + rle = 1 + bitgroups = [] + else: + if rle == 0: + self._writebit(1) + elif rle == 1: + self._rle(nums) + rle = -1 + bitgroups += [bitgroup] + nums = 0 + byte += 1 + + if rle == 1: + self._rle(nums) + else: + self._data_packet(bitgroups) + + def _data_packet(self, bitgroups): + for bitgroup in bitgroups: + self._writebit((bitgroup >> 1) & 1) + self._writebit((bitgroup >> 0) & 1) + + def _rle(self, nums): + nums += 1 + + # Get the previous power of 2. + # Deriving the bitcount from that seems to be + # faster on average than using the lookup table. + v = nums + v += 1 + v |= v >> 1 + v |= v >> 2 + v |= v >> 4 + v |= v >> 8 + v |= v >> 16 + v -= v >> 1 + v -= 1 + number = nums - v + + bitcount = -1 + while v: + v >>= 1 + bitcount += 1 + + for j in range(bitcount): + self._writebit(1) + self._writebit(0) + for j in range(bitcount, -1, -1): + self._writebit((number >> j) & 1) + + def _encode(self, ram, mirror=None): + a = b = 0 + for i in range(len(ram)): + j = i // self.height + j += i % self.height * self.width * 8 + if i % self.height == 0: + b = 0 + + a = (ram[j] >> 4) & 0xf + table = b & 1 + code_1 = self.table2[table][a] + + b = ram[j] & 0xf + table = a & 1 + code_2 = self.table2[table][b] + + ram[j] = (code_1 << 4) | code_2 + + def _xor(self, ram1, ram2): + for i in range(len(ram2)): + ram2[i] ^= ram1[i] + + def _writebit(self, bit): + self.which_bit -= 1 + if self.which_bit == -1: + self.which_bit = 7 + self.data += [0] + if bit: self.data[-1] |= bit << self.which_bit + + def _writeint(self, num, size=None): + bits = [] + if size: + for i in range(size): + bits += [num & 1] + num >>= 1 + else: + while num > 0: + bits += [num & 1] + num >>= 1 + for bit in reversed(bits): + self._writebit(bit) + + +def decompress(f, offset=None, mirror=False): + """ + Decompress a pic given a file object. Return a planar 2bpp image. + + Optional: offset (for roms). + """ + if offset is not None: + f.seek(offset) + dcmp = Decompressor(f, mirror=mirror) + dcmp.decompress() + return dcmp.data + + +def compress(f): + """ + Compress a planar 2bpp into a pic. + """ + comp = Compressor(f) + comp.compress() + return comp.data + + +def decompress_file(filename): + """ + Decompress a pic given a filename. + Export the resulting planar 2bpp image to + """ + pic = open(filename, 'rb') + image = decompress(pic) + image = gfx.transpose_tiles(image) + image = bytearray(image) + output_filename = os.path.splitext(filename)[0] + '.2bpp' + with open(output_filename, 'wb') as out: + out.write(image) + +def compress_file(filename): + image = open(filename, 'rb').read() + image = gfx.transpose_tiles(image) + pic = compress(image) + pic = bytearray(pic) + output_filename = os.path.splitext(filename)[0] + '.pic' + with open(output_filename, 'wb') as out: + out.write(pic) + + +def main(): + ap = argparse.ArgumentParser() + ap.add_argument('mode') + ap.add_argument('filenames', nargs='*') + args = ap.parse_args() + + for filename in args.filenames: + if args.mode == 'decompress': + decompress_file(filename) + elif args.mode == 'compress': + compress_file(filename) + +if __name__ == '__main__': + main() + -- cgit v1.2.3 From 8d32c456781bbafc619e6ee0205842140454250d Mon Sep 17 00:00:00 2001 From: Rangi Date: Tue, 15 Sep 2020 08:36:29 -0400 Subject: rgbds has moved from rednex to gbdev --- .travis.yml | 2 +- INSTALL.md | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.travis.yml b/.travis.yml index 03d6eab0..1147a117 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ os: install: - |- ( cd - git clone -b v0.4.1 --depth=1 https://github.com/rednex/rgbds + git clone -b v0.4.1 --depth=1 https://github.com/gbdev/rgbds sudo make -C rgbds install rm -rf rgbds ) diff --git a/INSTALL.md b/INSTALL.md index 860fbfa0..f619bffc 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -1,6 +1,6 @@ # Instructions -These instructions explain how to set up the tools required to build **pokered**, including [**rgbds**](https://github.com/rednex/rgbds), which assembles the source files into a ROM. +These instructions explain how to set up the tools required to build **pokered**, including [**rgbds**](https://github.com/gbdev/rgbds), which assembles the source files into a ROM. If you run into trouble, ask for help on IRC or Discord (see [README.md](README.md)). @@ -36,7 +36,7 @@ Run setup and leave the default settings. At the "**Select Packages**" step, cho Double click on the text that says "**Skip**" next to each package to select the most recent version to install. -Then download [**rgbds**](https://github.com/rednex/rgbds/releases/): the latest **win64.zip** or **win32.zip** release. Extract it and put all the `exe` and `dll` files individually in **C:\cygwin64\usr\local\bin**. +Then download [**rgbds**](https://github.com/gbdev/rgbds/releases/): the latest **win64.zip** or **win32.zip** release. Extract it and put all the `exe` and `dll` files individually in **C:\cygwin64\usr\local\bin**. **Note: If you already have an older rgbds, you will need to update to 0.4.1.** Ignore this if you have never installed rgbds before. If a version newer than 0.4.1 does not work, try downloading 0.4.1. @@ -86,7 +86,7 @@ To install **rgbds**: ```bash sudo apt-get install pkg-config flex bison libpng-dev -git clone -b v0.4.1 --depth=1 https://github.com/rednex/rgbds +git clone -b v0.4.1 --depth=1 https://github.com/gbdev/rgbds sudo make -C rgbds install ``` @@ -102,7 +102,7 @@ To install **rgbds**: ```bash sudo zypper install pkg-config flex bison libpng16-devel -git clone -b v0.4.1 --depth=1 https://github.com/rednex/rgbds +git clone -b v0.4.1 --depth=1 https://github.com/gbdev/rgbds sudo make -C rgbds install ``` @@ -120,7 +120,7 @@ Alternatively, to install **rgbds** manually: ```bash sudo pacman -S pkg-config flex bison libpng -git clone -b v0.4.1 --depth=1 https://github.com/rednex/rgbds +git clone -b v0.4.1 --depth=1 https://github.com/gbdev/rgbds sudo make -C rgbds install ``` @@ -157,7 +157,7 @@ If `rgbds` is not available, you'll also need these: To install **rgbds**: ```bash -git clone -b v0.4.1 --depth=1 https://github.com/rednex/rgbds +git clone -b v0.4.1 --depth=1 https://github.com/gbdev/rgbds sudo make -C rgbds install ``` -- cgit v1.2.3 From 5ec206d0c537e04f0b277d06ff3eea075bd11c27 Mon Sep 17 00:00:00 2001 From: Akatsuki-py Date: Sat, 19 Sep 2020 09:08:01 +0900 Subject: fix ExecuteCurMapScriptInTable's comment --- home/trainers.asm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/home/trainers.asm b/home/trainers.asm index 4bb355b7..4dc63fef 100644 --- a/home/trainers.asm +++ b/home/trainers.asm @@ -6,8 +6,9 @@ StoreTrainerHeaderPointer:: ld [wTrainerHeaderPtr+1], a ret -; executes the current map script from the function pointer array provided in hl. +; executes the current map script from the function pointer array provided in de. ; a: map script index to execute (unless overridden by [wd733] bit 4) +; hl: trainer header pointer ExecuteCurMapScriptInTable:: push af push de -- cgit v1.2.3 From 2ff7b40d8294d386332b7895a5afec0269b153fd Mon Sep 17 00:00:00 2001 From: SatoMew Date: Tue, 22 Sep 2020 18:38:29 +0100 Subject: Replace ghost Marowak's ambiguous constant --- constants/pokemon_constants.asm | 2 +- engine/battle/common_text.asm | 2 +- engine/battle/core.asm | 2 +- engine/battle/ghost_marowak_anim.asm | 2 +- engine/items/item_effects.asm | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm index 7312dbf1..fd7e9f6d 100644 --- a/constants/pokemon_constants.asm +++ b/constants/pokemon_constants.asm @@ -206,4 +206,4 @@ STARTER2 EQU SQUIRTLE STARTER3 EQU BULBASAUR ; ghost in Pokémon Tower -GHOST_MON EQU MAROWAK +RESTLESS_SOUL EQU MAROWAK diff --git a/engine/battle/common_text.asm b/engine/battle/common_text.asm index 8c9e6afa..0e270424 100644 --- a/engine/battle/common_text.asm +++ b/engine/battle/common_text.asm @@ -33,7 +33,7 @@ PrintBeginningBattleText: call IsItemInBag ld a, [wEnemyMonSpecies2] ld [wcf91], a - cp GHOST_MON + cp RESTLESS_SOUL jr z, .isMarowak ld a, b and a diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 8289ecc9..4628e86a 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -6784,7 +6784,7 @@ InitWildBattle: call LoadEnemyMonData call DoBattleTransitionAndInitBattleVariables ld a, [wCurOpponent] - cp GHOST_MON + cp RESTLESS_SOUL jr z, .isGhost call IsGhostBattle jr nz, .isNoGhost diff --git a/engine/battle/ghost_marowak_anim.asm b/engine/battle/ghost_marowak_anim.asm index 975bb937..6760c3d5 100644 --- a/engine/battle/ghost_marowak_anim.asm +++ b/engine/battle/ghost_marowak_anim.asm @@ -11,7 +11,7 @@ MarowakAnim: xor a ldh [hAutoBGTransferEnabled], a ; disable BG transfer so we don't see the Marowak too soon ; replace ghost pic with Marowak in BG - ld a, GHOST_MON + ld a, RESTLESS_SOUL ld [wChangeMonPicEnemyTurnSpecies], a ld a, $1 ldh [hWhoseTurn], a diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm index 244474ef..d4164332 100755 --- a/engine/items/item_effects.asm +++ b/engine/items/item_effects.asm @@ -170,7 +170,7 @@ ItemUseBall: cp POKEMON_TOWER_6F jr nz, .loop ld a, [wEnemyMonSpecies2] - cp GHOST_MON + cp RESTLESS_SOUL ld b, $10 ; can't be caught value jp z, .setAnimData -- cgit v1.2.3 From 9e8caa1a10e238f2a7aaae0cbd697fdd7a21ae9d Mon Sep 17 00:00:00 2001 From: SatoMew Date: Tue, 22 Sep 2020 19:15:37 +0100 Subject: Use the constant in all relevant situations --- scripts/PokemonTower6F.asm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/PokemonTower6F.asm b/scripts/PokemonTower6F.asm index 11091e85..e236488e 100755 --- a/scripts/PokemonTower6F.asm +++ b/scripts/PokemonTower6F.asm @@ -32,7 +32,7 @@ PokemonTower6Script0: ld a, $6 ldh [hSpriteIndexOrTextID], a call DisplayTextID - ld a, MAROWAK + ld a, RESTLESS_SOUL ld [wCurOpponent], a ld a, 30 ld [wCurEnemyLVL], a @@ -134,7 +134,7 @@ PokemonTower6Text7: text_asm ld hl, PokemonTower2Text_60c1f call PrintText - ld a, MAROWAK + ld a, RESTLESS_SOUL call PlayCry call WaitForSoundToFinish ld c, 30 -- cgit v1.2.3 From e535af3dffd5df0bc868a983a1006f603bb17722 Mon Sep 17 00:00:00 2001 From: SatoMew Date: Tue, 22 Sep 2020 20:02:05 +0100 Subject: =?UTF-8?q?Fix=20alignment=20in=20Pok=C3=A9mon=20name=20constants?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- constants/pokemon_constants.asm | 382 ++++++++++++++++++++-------------------- 1 file changed, 191 insertions(+), 191 deletions(-) diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm index fd7e9f6d..1b91d73d 100644 --- a/constants/pokemon_constants.asm +++ b/constants/pokemon_constants.asm @@ -6,197 +6,197 @@ ; - PokedexOrder (see data/pokemon/dex_order.asm) ; - PokedexEntryPointers (see data/pokemon/dex_entries.asm) const_def - const NO_MON ; $00 - const RHYDON ; $01 - const KANGASKHAN ; $02 - const NIDORAN_M ; $03 - const CLEFAIRY ; $04 - const SPEAROW ; $05 - const VOLTORB ; $06 - const NIDOKING ; $07 - const SLOWBRO ; $08 - const IVYSAUR ; $09 - const EXEGGUTOR ; $0A - const LICKITUNG ; $0B - const EXEGGCUTE ; $0C - const GRIMER ; $0D - const GENGAR ; $0E - const NIDORAN_F ; $0F - const NIDOQUEEN ; $10 - const CUBONE ; $11 - const RHYHORN ; $12 - const LAPRAS ; $13 - const ARCANINE ; $14 - const MEW ; $15 - const GYARADOS ; $16 - const SHELLDER ; $17 - const TENTACOOL ; $18 - const GASTLY ; $19 - const SCYTHER ; $1A - const STARYU ; $1B - const BLASTOISE ; $1C - const PINSIR ; $1D - const TANGELA ; $1E - const_skip ; $1F - const_skip ; $20 - const GROWLITHE ; $21 - const ONIX ; $22 - const FEAROW ; $23 - const PIDGEY ; $24 - const SLOWPOKE ; $25 - const KADABRA ; $26 - const GRAVELER ; $27 - const CHANSEY ; $28 - const MACHOKE ; $29 - const MR_MIME ; $2A - const HITMONLEE ; $2B - const HITMONCHAN ; $2C - const ARBOK ; $2D - const PARASECT ; $2E - const PSYDUCK ; $2F - const DROWZEE ; $30 - const GOLEM ; $31 - const_skip ; $32 - const MAGMAR ; $33 - const_skip ; $34 - const ELECTABUZZ ; $35 - const MAGNETON ; $36 - const KOFFING ; $37 - const_skip ; $38 - const MANKEY ; $39 - const SEEL ; $3A - const DIGLETT ; $3B - const TAUROS ; $3C - const_skip ; $3D - const_skip ; $3E - const_skip ; $3F - const FARFETCHD ; $40 - const VENONAT ; $41 - const DRAGONITE ; $42 - const_skip ; $43 - const_skip ; $44 - const_skip ; $45 - const DODUO ; $46 - const POLIWAG ; $47 - const JYNX ; $48 - const MOLTRES ; $49 - const ARTICUNO ; $4A - const ZAPDOS ; $4B - const DITTO ; $4C - const MEOWTH ; $4D - const KRABBY ; $4E - const_skip ; $4F - const_skip ; $50 - const_skip ; $51 - const VULPIX ; $52 - const NINETALES ; $53 - const PIKACHU ; $54 - const RAICHU ; $55 - const_skip ; $56 - const_skip ; $57 - const DRATINI ; $58 - const DRAGONAIR ; $59 - const KABUTO ; $5A - const KABUTOPS ; $5B - const HORSEA ; $5C - const SEADRA ; $5D - const_skip ; $5E - const_skip ; $5F - const SANDSHREW ; $60 - const SANDSLASH ; $61 - const OMANYTE ; $62 - const OMASTAR ; $63 - const JIGGLYPUFF ; $64 - const WIGGLYTUFF ; $65 - const EEVEE ; $66 - const FLAREON ; $67 - const JOLTEON ; $68 - const VAPOREON ; $69 - const MACHOP ; $6A - const ZUBAT ; $6B - const EKANS ; $6C - const PARAS ; $6D - const POLIWHIRL ; $6E - const POLIWRATH ; $6F - const WEEDLE ; $70 - const KAKUNA ; $71 - const BEEDRILL ; $72 - const_skip ; $73 - const DODRIO ; $74 - const PRIMEAPE ; $75 - const DUGTRIO ; $76 - const VENOMOTH ; $77 - const DEWGONG ; $78 - const_skip ; $79 - const_skip ; $7A - const CATERPIE ; $7B - const METAPOD ; $7C - const BUTTERFREE ; $7D - const MACHAMP ; $7E - const_skip ; $7F - const GOLDUCK ; $80 - const HYPNO ; $81 - const GOLBAT ; $82 - const MEWTWO ; $83 - const SNORLAX ; $84 - const MAGIKARP ; $85 - const_skip ; $86 - const_skip ; $87 - const MUK ; $88 - const_skip ; $89 - const KINGLER ; $8A - const CLOYSTER ; $8B - const_skip ; $8C - const ELECTRODE ; $8D - const CLEFABLE ; $8E - const WEEZING ; $8F - const PERSIAN ; $90 - const MAROWAK ; $91 - const_skip ; $92 - const HAUNTER ; $93 - const ABRA ; $94 - const ALAKAZAM ; $95 - const PIDGEOTTO ; $96 - const PIDGEOT ; $97 - const STARMIE ; $98 - const BULBASAUR ; $99 - const VENUSAUR ; $9A - const TENTACRUEL ; $9B - const_skip ; $9C - const GOLDEEN ; $9D - const SEAKING ; $9E - const_skip ; $9F - const_skip ; $A0 - const_skip ; $A1 - const_skip ; $A2 - const PONYTA ; $A3 - const RAPIDASH ; $A4 - const RATTATA ; $A5 - const RATICATE ; $A6 - const NIDORINO ; $A7 - const NIDORINA ; $A8 - const GEODUDE ; $A9 - const PORYGON ; $AA - const AERODACTYL ; $AB - const_skip ; $AC - const MAGNEMITE ; $AD - const_skip ; $AE - const_skip ; $AF - const CHARMANDER ; $B0 - const SQUIRTLE ; $B1 - const CHARMELEON ; $B2 - const WARTORTLE ; $B3 - const CHARIZARD ; $B4 - const_skip ; $B5 - const FOSSIL_KABUTOPS ; $B6 - const FOSSIL_AERODACTYL ; $B7 - const MON_GHOST ; $B8 - const ODDISH ; $B9 - const GLOOM ; $BA - const VILEPLUME ; $BB - const BELLSPROUT ; $BC - const WEEPINBELL ; $BD - const VICTREEBEL ; $BE + const NO_MON ; $00 + const RHYDON ; $01 + const KANGASKHAN ; $02 + const NIDORAN_M ; $03 + const CLEFAIRY ; $04 + const SPEAROW ; $05 + const VOLTORB ; $06 + const NIDOKING ; $07 + const SLOWBRO ; $08 + const IVYSAUR ; $09 + const EXEGGUTOR ; $0A + const LICKITUNG ; $0B + const EXEGGCUTE ; $0C + const GRIMER ; $0D + const GENGAR ; $0E + const NIDORAN_F ; $0F + const NIDOQUEEN ; $10 + const CUBONE ; $11 + const RHYHORN ; $12 + const LAPRAS ; $13 + const ARCANINE ; $14 + const MEW ; $15 + const GYARADOS ; $16 + const SHELLDER ; $17 + const TENTACOOL ; $18 + const GASTLY ; $19 + const SCYTHER ; $1A + const STARYU ; $1B + const BLASTOISE ; $1C + const PINSIR ; $1D + const TANGELA ; $1E + const_skip ; $1F + const_skip ; $20 + const GROWLITHE ; $21 + const ONIX ; $22 + const FEAROW ; $23 + const PIDGEY ; $24 + const SLOWPOKE ; $25 + const KADABRA ; $26 + const GRAVELER ; $27 + const CHANSEY ; $28 + const MACHOKE ; $29 + const MR_MIME ; $2A + const HITMONLEE ; $2B + const HITMONCHAN ; $2C + const ARBOK ; $2D + const PARASECT ; $2E + const PSYDUCK ; $2F + const DROWZEE ; $30 + const GOLEM ; $31 + const_skip ; $32 + const MAGMAR ; $33 + const_skip ; $34 + const ELECTABUZZ ; $35 + const MAGNETON ; $36 + const KOFFING ; $37 + const_skip ; $38 + const MANKEY ; $39 + const SEEL ; $3A + const DIGLETT ; $3B + const TAUROS ; $3C + const_skip ; $3D + const_skip ; $3E + const_skip ; $3F + const FARFETCHD ; $40 + const VENONAT ; $41 + const DRAGONITE ; $42 + const_skip ; $43 + const_skip ; $44 + const_skip ; $45 + const DODUO ; $46 + const POLIWAG ; $47 + const JYNX ; $48 + const MOLTRES ; $49 + const ARTICUNO ; $4A + const ZAPDOS ; $4B + const DITTO ; $4C + const MEOWTH ; $4D + const KRABBY ; $4E + const_skip ; $4F + const_skip ; $50 + const_skip ; $51 + const VULPIX ; $52 + const NINETALES ; $53 + const PIKACHU ; $54 + const RAICHU ; $55 + const_skip ; $56 + const_skip ; $57 + const DRATINI ; $58 + const DRAGONAIR ; $59 + const KABUTO ; $5A + const KABUTOPS ; $5B + const HORSEA ; $5C + const SEADRA ; $5D + const_skip ; $5E + const_skip ; $5F + const SANDSHREW ; $60 + const SANDSLASH ; $61 + const OMANYTE ; $62 + const OMASTAR ; $63 + const JIGGLYPUFF ; $64 + const WIGGLYTUFF ; $65 + const EEVEE ; $66 + const FLAREON ; $67 + const JOLTEON ; $68 + const VAPOREON ; $69 + const MACHOP ; $6A + const ZUBAT ; $6B + const EKANS ; $6C + const PARAS ; $6D + const POLIWHIRL ; $6E + const POLIWRATH ; $6F + const WEEDLE ; $70 + const KAKUNA ; $71 + const BEEDRILL ; $72 + const_skip ; $73 + const DODRIO ; $74 + const PRIMEAPE ; $75 + const DUGTRIO ; $76 + const VENOMOTH ; $77 + const DEWGONG ; $78 + const_skip ; $79 + const_skip ; $7A + const CATERPIE ; $7B + const METAPOD ; $7C + const BUTTERFREE ; $7D + const MACHAMP ; $7E + const_skip ; $7F + const GOLDUCK ; $80 + const HYPNO ; $81 + const GOLBAT ; $82 + const MEWTWO ; $83 + const SNORLAX ; $84 + const MAGIKARP ; $85 + const_skip ; $86 + const_skip ; $87 + const MUK ; $88 + const_skip ; $89 + const KINGLER ; $8A + const CLOYSTER ; $8B + const_skip ; $8C + const ELECTRODE ; $8D + const CLEFABLE ; $8E + const WEEZING ; $8F + const PERSIAN ; $90 + const MAROWAK ; $91 + const_skip ; $92 + const HAUNTER ; $93 + const ABRA ; $94 + const ALAKAZAM ; $95 + const PIDGEOTTO ; $96 + const PIDGEOT ; $97 + const STARMIE ; $98 + const BULBASAUR ; $99 + const VENUSAUR ; $9A + const TENTACRUEL ; $9B + const_skip ; $9C + const GOLDEEN ; $9D + const SEAKING ; $9E + const_skip ; $9F + const_skip ; $A0 + const_skip ; $A1 + const_skip ; $A2 + const PONYTA ; $A3 + const RAPIDASH ; $A4 + const RATTATA ; $A5 + const RATICATE ; $A6 + const NIDORINO ; $A7 + const NIDORINA ; $A8 + const GEODUDE ; $A9 + const PORYGON ; $AA + const AERODACTYL ; $AB + const_skip ; $AC + const MAGNEMITE ; $AD + const_skip ; $AE + const_skip ; $AF + const CHARMANDER ; $B0 + const SQUIRTLE ; $B1 + const CHARMELEON ; $B2 + const WARTORTLE ; $B3 + const CHARIZARD ; $B4 + const_skip ; $B5 + const FOSSIL_KABUTOPS ; $B6 + const FOSSIL_AERODACTYL ; $B7 + const MON_GHOST ; $B8 + const ODDISH ; $B9 + const GLOOM ; $BA + const VILEPLUME ; $BB + const BELLSPROUT ; $BC + const WEEPINBELL ; $BD + const VICTREEBEL ; $BE NUM_POKEMON_INDEXES EQU const_value - 1 -- cgit v1.2.3 From 886225f5deeeb3c52d58a16a97fe35677b7dbf2a Mon Sep 17 00:00:00 2001 From: SatoMew Date: Sun, 27 Sep 2020 00:49:03 +0100 Subject: Clarify comment in constants/pokemon_constants.asm --- constants/pokemon_constants.asm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm index 1b91d73d..d01398b8 100644 --- a/constants/pokemon_constants.asm +++ b/constants/pokemon_constants.asm @@ -205,5 +205,5 @@ STARTER1 EQU CHARMANDER STARTER2 EQU SQUIRTLE STARTER3 EQU BULBASAUR -; ghost in Pokémon Tower +; ghost Marowak in Pokémon Tower RESTLESS_SOUL EQU MAROWAK -- cgit v1.2.3 From b49277f485a390f211c7cb5418d2bf7852250010 Mon Sep 17 00:00:00 2001 From: Rangi Date: Sun, 4 Oct 2020 21:03:36 -0400 Subject: tools/unnamed.py -r . -l N prints up to N unnamed symbols next to their filenames --- tools/unnamed.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/tools/unnamed.py b/tools/unnamed.py index 8235bdb8..803685df 100755 --- a/tools/unnamed.py +++ b/tools/unnamed.py @@ -32,6 +32,7 @@ import argparse parser = argparse.ArgumentParser(description="Parse the symfile to find unnamed symbols") parser.add_argument('symfile', type=argparse.FileType('r'), help="the list of symbols") parser.add_argument('-r', '--rootdir', type=str, help="scan the output files to obtain a list of files with unnamed symbols (NOTE: will rebuild objects as necessary)") +parser.add_argument('-l', '--list', type=int, default=0, help="output this many of each file's unnamed symbols (NOTE: requires -r)") args = parser.parse_args() # Get list of object files @@ -97,10 +98,12 @@ for objfile in objects: continue if sym_filename not in files: - files[sym_filename] = 0 - files[sym_filename] += 1 + files[sym_filename] = [] + files[sym_filename].append(sym_name) # Sort the files, the one with the most amount of symbols first -files = sorted([(fname, files[fname]) for fname in files], key=lambda x: x[1], reverse=True) +files = sorted(((f, files[f]) for f in files), key=lambda x: len(x[1]), reverse=True) for f in files: - print("%s: %d" % (f[0], f[1])) + filename, unnamed = f + sym_list = ', '.join(unnamed[:args.list]) + print("%s: %d%s" % (filename, len(unnamed), ': ' + sym_list if sym_list else '')) -- cgit v1.2.3 From 5ebae4747b49d7067cc75919a2b0983fae6a88d7 Mon Sep 17 00:00:00 2001 From: Rangi Date: Thu, 8 Oct 2020 18:55:19 -0400 Subject: PedalDanceAnim -> PetalDanceAnim --- data/moves/animations.asm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/moves/animations.asm b/data/moves/animations.asm index 40cb89fa..8249c50d 100755 --- a/data/moves/animations.asm +++ b/data/moves/animations.asm @@ -78,7 +78,7 @@ AttackAnimationPointers: dw PoisonPowderAnim dw StunSporeAnim dw SleepPowderAnim - dw PedalDanceAnim + dw PetalDanceAnim dw StringShotAnim dw DragonRageAnim dw FireSpinAnim @@ -650,7 +650,7 @@ SleepPowderAnim: battle_anim SLEEP_POWDER, SUBANIM_36, 0, 6 db -1 ; end -PedalDanceAnim: +PetalDanceAnim: battle_anim PETAL_DANCE, SE_LIGHT_SCREEN_PALETTE battle_anim NO_MOVE, SE_PETALS_FALLING battle_anim NO_MOVE, SE_RESET_SCREEN_PALETTE -- cgit v1.2.3 From bc287b9b80cec819e6df7b6b1ff7110eabf606f7 Mon Sep 17 00:00:00 2001 From: Rangi Date: Mon, 19 Oct 2020 20:26:35 -0400 Subject: Some formatting changes --- audio.asm | 9 ++-- data/sgb/sgb_packets.asm | 26 +++++++---- data/text_predef_pointers.asm | 3 +- engine/battle/battle_transitions.asm | 79 +++++++++++++++++--------------- engine/battle/trainer_ai.asm | 4 +- engine/movie/splash.asm | 8 +--- engine/overworld/field_move_messages.asm | 3 +- engine/overworld/push_boulder.asm | 12 +++-- 8 files changed, 83 insertions(+), 61 deletions(-) diff --git a/audio.asm b/audio.asm index 94d63f25..7b8ceab7 100644 --- a/audio.asm +++ b/audio.asm @@ -43,7 +43,8 @@ INCLUDE "audio/sfx/noise_instrument17_1.asm" INCLUDE "audio/sfx/noise_instrument18_1.asm" INCLUDE "audio/sfx/noise_instrument19_1.asm" -Audio1_WavePointers: INCLUDE "audio/wave_instruments.asm" +Audio1_WavePointers: +INCLUDE "audio/wave_instruments.asm" INCLUDE "audio/sfx/start_menu_1.asm" INCLUDE "audio/sfx/pokeflute.asm" @@ -142,7 +143,8 @@ INCLUDE "audio/sfx/noise_instrument17_2.asm" INCLUDE "audio/sfx/noise_instrument18_2.asm" INCLUDE "audio/sfx/noise_instrument19_2.asm" -Audio2_WavePointers: INCLUDE "audio/wave_instruments.asm" +Audio2_WavePointers: +INCLUDE "audio/wave_instruments.asm" INCLUDE "audio/sfx/press_ab_2.asm" INCLUDE "audio/sfx/start_menu_2.asm" @@ -267,7 +269,8 @@ INCLUDE "audio/sfx/noise_instrument17_3.asm" INCLUDE "audio/sfx/noise_instrument18_3.asm" INCLUDE "audio/sfx/noise_instrument19_3.asm" -Audio3_WavePointers: INCLUDE "audio/wave_instruments.asm" +Audio3_WavePointers: +INCLUDE "audio/wave_instruments.asm" INCLUDE "audio/sfx/start_menu_3.asm" INCLUDE "audio/sfx/cut_3.asm" diff --git a/data/sgb/sgb_packets.asm b/data/sgb/sgb_packets.asm index 0d52c479..0b6219e1 100755 --- a/data/sgb/sgb_packets.asm +++ b/data/sgb/sgb_packets.asm @@ -4,6 +4,7 @@ ATTR_BLK: MACRO db ($4 << 3) + ((\1 * 6) / 16 + 1) db \1 ENDM + ATTR_BLK_DATA: MACRO db \1 ; which regions are affected db \2 + (\3 << 2) + (\4 << 4) ; palette for each region @@ -51,6 +52,7 @@ DATA_SND: MACRO db \3 ; length (1-11) ENDM + BlkPacket_WholeScreen: ATTR_BLK 1 ATTR_BLK_DATA %011, 0,0,0, 00,00, 19,17 @@ -239,13 +241,15 @@ MaskEnCancelPacket: MASK_EN 0 ; This set of packets is found in several Japanese SGB-compatible titles. ; It appears to be part of NCL's SGB devkit. -DataSnd_72548: DATA_SND $85d, $0, 11 +DataSnd_72548: + DATA_SND $85d, $0, 11 db $8C ; cpx #$8c (2) db $D0, $F4 ; bne -$0c db $60 ; rts ds 7, 0 -DataSnd_72558: DATA_SND $852, $0, 11 +DataSnd_72558: + DATA_SND $852, $0, 11 db $A9, $E7 ; lda #$e7 db $9F, $01, $C0, $7E ; sta $7ec001, x db $E8 ; inx @@ -254,7 +258,8 @@ DataSnd_72558: DATA_SND $852, $0, 11 db $E8 ; inx db $E0 ; cpx #$8c (1) -DataSnd_72568: DATA_SND $847, $0, 11 +DataSnd_72568: + DATA_SND $847, $0, 11 db $C4 ; cmp #$c4 (2) db $D0, $16 ; bne +$16 db $A5 ; lda dp @@ -263,7 +268,8 @@ DataSnd_72568: DATA_SND $847, $0, 11 db $D0, $10 ; bne +$10 db $A2, $28 ; ldx #$28 -DataSnd_72578: DATA_SND $83c, $0, 11 +DataSnd_72578: + DATA_SND $83c, $0, 11 db $F0, $12 ; beq +$12 db $A5 ; lda dp db $C9, $C9 ; cmp #$c9 @@ -273,7 +279,8 @@ DataSnd_72578: DATA_SND $83c, $0, 11 db $CA ; dex db $C9 ; cmp #$c4 (1) -DataSnd_72588: DATA_SND $831, $0, 11 +DataSnd_72588: + DATA_SND $831, $0, 11 dbw $0C, $CAA5 ; tsb $caa5 db $C9, $7E ; cmp #$7e db $D0, $06 ; bne +$06 @@ -281,7 +288,8 @@ DataSnd_72588: DATA_SND $831, $0, 11 db $CB ; wai db $C9, $7E ; cmp #$7e -DataSnd_72598: DATA_SND $826, $0, 11 +DataSnd_72598: + DATA_SND $826, $0, 11 db $39 ; bne +$39 (2) dbw $CD, $C48 ; cmp $c48 db $D0, $34 ; bne +$34 @@ -289,7 +297,8 @@ DataSnd_72598: DATA_SND $826, $0, 11 db $C9, $C9 ; cmp #$c9 db $80, $D0 ; bra -$30 -DataSnd_725a8: DATA_SND $81b, $0, 11 +DataSnd_725a8: + DATA_SND $81b, $0, 11 db $EA ; nop db $EA ; nop db $EA ; nop @@ -300,7 +309,8 @@ DataSnd_725a8: DATA_SND $81b, $0, 11 dbw $CD,$C4F ; cmp $c4f db $D0 ; bne +$39 (1) -DataSnd_725b8: DATA_SND $810, $0, 11 +DataSnd_725b8: + DATA_SND $810, $0, 11 dbw $4C, $820 ; jmp $820 db $EA ; nop db $EA ; nop diff --git a/data/text_predef_pointers.asm b/data/text_predef_pointers.asm index bbe9c8d8..8c125fa0 100644 --- a/data/text_predef_pointers.asm +++ b/data/text_predef_pointers.asm @@ -1,5 +1,6 @@ add_tx_pre: MACRO -\1_id:: dw \1 +\1_id:: + dw \1 ENDM TextPredefs:: diff --git a/engine/battle/battle_transitions.asm b/engine/battle/battle_transitions.asm index 3a6db0b5..90e99f98 100644 --- a/engine/battle/battle_transitions.asm +++ b/engine/battle/battle_transitions.asm @@ -335,7 +335,18 @@ BattleTransition_FlashScreen_: ret BattleTransition_FlashScreenPalettes: - db $F9,$FE,$FF,$FE,$F9,$E4,$90,$40,$00,$40,$90,$E4 + db %11111001 + db %11111110 + db %11111111 + db %11111110 + db %11111001 + db %11100100 + db %10010000 + db %01000000 + db %00000000 + db %01000000 + db %10010000 + db %11100100 db 1 ; end ; used for low level trainer dungeon battles @@ -646,6 +657,11 @@ BattleTransition_Circle_Sub2: ld l, a jp BattleTransition_Circle_Sub3 +; halves + const_def + const CIRCLE_LEFT + const CIRCLE_RIGHT + half_circle: MACRO ; quadrant x, circle data, target coord db \1 @@ -654,28 +670,28 @@ half_circle: MACRO ENDM BattleTransition_HalfCircle1: - half_circle $01, BattleTransition_CircleData1, 18, 6 - half_circle $01, BattleTransition_CircleData2, 19, 3 - half_circle $01, BattleTransition_CircleData3, 18, 0 - half_circle $01, BattleTransition_CircleData4, 14, 0 - half_circle $01, BattleTransition_CircleData5, 10, 0 - half_circle $00, BattleTransition_CircleData5, 9, 0 - half_circle $00, BattleTransition_CircleData4, 5, 0 - half_circle $00, BattleTransition_CircleData3, 1, 0 - half_circle $00, BattleTransition_CircleData2, 0, 3 - half_circle $00, BattleTransition_CircleData1, 1, 6 + half_circle CIRCLE_RIGHT, BattleTransition_CircleData1, 18, 6 + half_circle CIRCLE_RIGHT, BattleTransition_CircleData2, 19, 3 + half_circle CIRCLE_RIGHT, BattleTransition_CircleData3, 18, 0 + half_circle CIRCLE_RIGHT, BattleTransition_CircleData4, 14, 0 + half_circle CIRCLE_RIGHT, BattleTransition_CircleData5, 10, 0 + half_circle CIRCLE_LEFT, BattleTransition_CircleData5, 9, 0 + half_circle CIRCLE_LEFT, BattleTransition_CircleData4, 5, 0 + half_circle CIRCLE_LEFT, BattleTransition_CircleData3, 1, 0 + half_circle CIRCLE_LEFT, BattleTransition_CircleData2, 0, 3 + half_circle CIRCLE_LEFT, BattleTransition_CircleData1, 1, 6 BattleTransition_HalfCircle2: - half_circle $00, BattleTransition_CircleData1, 1, 11 - half_circle $00, BattleTransition_CircleData2, 0, 14 - half_circle $00, BattleTransition_CircleData3, 1, 17 - half_circle $00, BattleTransition_CircleData4, 5, 17 - half_circle $00, BattleTransition_CircleData5, 9, 17 - half_circle $01, BattleTransition_CircleData5, 10, 17 - half_circle $01, BattleTransition_CircleData4, 14, 17 - half_circle $01, BattleTransition_CircleData3, 18, 17 - half_circle $01, BattleTransition_CircleData2, 19, 14 - half_circle $01, BattleTransition_CircleData1, 18, 11 + half_circle CIRCLE_LEFT, BattleTransition_CircleData1, 1, 11 + half_circle CIRCLE_LEFT, BattleTransition_CircleData2, 0, 14 + half_circle CIRCLE_LEFT, BattleTransition_CircleData3, 1, 17 + half_circle CIRCLE_LEFT, BattleTransition_CircleData4, 5, 17 + half_circle CIRCLE_LEFT, BattleTransition_CircleData5, 9, 17 + half_circle CIRCLE_RIGHT, BattleTransition_CircleData5, 10, 17 + half_circle CIRCLE_RIGHT, BattleTransition_CircleData4, 14, 17 + half_circle CIRCLE_RIGHT, BattleTransition_CircleData3, 18, 17 + half_circle CIRCLE_RIGHT, BattleTransition_CircleData2, 19, 14 + half_circle CIRCLE_RIGHT, BattleTransition_CircleData1, 18, 11 BattleTransition_Circle_Sub3: push hl @@ -704,7 +720,7 @@ BattleTransition_Circle_Sub3: add hl, bc ld a, [de] inc de - cp $ff + cp -1 ret z and a jr z, BattleTransition_Circle_Sub3 @@ -722,17 +738,8 @@ BattleTransition_Circle_Sub3: jr nz, .loop2 jr BattleTransition_Circle_Sub3 -BattleTransition_CircleData1: - db $02,$03,$05,$04,$09,$FF - -BattleTransition_CircleData2: - db $01,$01,$02,$02,$04,$02,$04,$02,$03,$FF - -BattleTransition_CircleData3: - db $02,$01,$03,$01,$04,$01,$04,$01,$04,$01,$03,$01,$02,$01,$01,$01,$01,$FF - -BattleTransition_CircleData4: - db $04,$01,$04,$00,$03,$01,$03,$00,$02,$01,$02,$00,$01,$FF - -BattleTransition_CircleData5: - db $04,$00,$03,$00,$03,$00,$02,$00,$02,$00,$01,$00,$01,$00,$01,$FF +BattleTransition_CircleData1: db 2, 3, 5, 4, 9, -1 +BattleTransition_CircleData2: db 1, 1, 2, 2, 4, 2, 4, 2, 3, -1 +BattleTransition_CircleData3: db 2, 1, 3, 1, 4, 1, 4, 1, 4, 1, 3, 1, 2, 1, 1, 1, 1, -1 +BattleTransition_CircleData4: db 4, 1, 4, 0, 3, 1, 3, 0, 2, 1, 2, 0, 1, -1 +BattleTransition_CircleData5: db 4, 0, 3, 0, 3, 0, 2, 0, 2, 0, 1, 0, 1, 0, 1, -1 diff --git a/engine/battle/trainer_ai.asm b/engine/battle/trainer_ai.asm index 87bec842..2225dca1 100644 --- a/engine/battle/trainer_ai.asm +++ b/engine/battle/trainer_ai.asm @@ -146,11 +146,11 @@ AIMoveChoiceModification1: jr .nextMove StatusAilmentMoveEffects: - db $01 ; unused sleep effect + db EFFECT_01 ; unused sleep effect db SLEEP_EFFECT db POISON_EFFECT db PARALYZE_EFFECT - db $FF + db -1 ; end ; slightly encourage moves with specific effects. ; in particular, stat-modifying moves and other move effects diff --git a/engine/movie/splash.asm b/engine/movie/splash.asm index be97b8e5..eede8ccb 100755 --- a/engine/movie/splash.asm +++ b/engine/movie/splash.asm @@ -110,7 +110,7 @@ AnimateShootingStar: ld c, 4 .smallStarsInnerLoop ; introduce new wave of 4 small stars OAM entries ld a, [de] - cp $ff + cp -1 jr z, .next2 ld [hli], a ; Y inc de @@ -165,27 +165,23 @@ SmallStarsWave1Coords: db $68, $40 db $68, $58 db $68, $78 - SmallStarsWave2Coords: db $68, $38 db $68, $48 db $68, $60 db $68, $70 - SmallStarsWave3Coords: db $68, $34 db $68, $4C db $68, $54 db $68, $64 - SmallStarsWave4Coords: db $68, $3C db $68, $5C db $68, $6C db $68, $74 - SmallStarsEmptyWave: - db $FF + db -1 ; end MoveDownSmallStars: ld b, 8 diff --git a/engine/overworld/field_move_messages.asm b/engine/overworld/field_move_messages.asm index 8e849e46..520ef8ad 100644 --- a/engine/overworld/field_move_messages.asm +++ b/engine/overworld/field_move_messages.asm @@ -46,7 +46,8 @@ IsSurfingAllowed: jp PrintText CoordsData_cdf7: - db $0B,$07,$FF + dbmapcoord 7, 11 + db -1 ; end CurrentTooFastText: text_far _CurrentTooFastText diff --git a/engine/overworld/push_boulder.asm b/engine/overworld/push_boulder.asm index 4cef8b64..a8e532d3 100644 --- a/engine/overworld/push_boulder.asm +++ b/engine/overworld/push_boulder.asm @@ -71,16 +71,20 @@ TryPushingBoulder:: ret PushBoulderUpMovementData: - db NPC_MOVEMENT_UP,$FF + db NPC_MOVEMENT_UP + db -1 ; end PushBoulderDownMovementData: - db NPC_MOVEMENT_DOWN,$FF + db NPC_MOVEMENT_DOWN + db -1 ; end PushBoulderLeftMovementData: - db NPC_MOVEMENT_LEFT,$FF + db NPC_MOVEMENT_LEFT + db -1 ; end PushBoulderRightMovementData: - db NPC_MOVEMENT_RIGHT,$FF + db NPC_MOVEMENT_RIGHT + db -1 ; end DoBoulderDustAnimation:: ld a, [wd730] -- cgit v1.2.3 From 14622114cfc92478f5d2854fad4f7f6b5b6db0ba Mon Sep 17 00:00:00 2001 From: 95girl <55912274+95girl@users.noreply.github.com> Date: Mon, 26 Oct 2020 18:03:14 +0100 Subject: Add files via upload --- maps/green/CeruleanCave1F.blk | 3 +++ maps/green/CeruleanCave2F.blk | 1 + maps/green/CeruleanCaveB1F.blk | 1 + 3 files changed, 5 insertions(+) create mode 100644 maps/green/CeruleanCave1F.blk create mode 100644 maps/green/CeruleanCave2F.blk create mode 100644 maps/green/CeruleanCaveB1F.blk diff --git a/maps/green/CeruleanCave1F.blk b/maps/green/CeruleanCave1F.blk new file mode 100644 index 00000000..689593fd --- /dev/null +++ b/maps/green/CeruleanCave1F.blk @@ -0,0 +1,3 @@ +|_vvvv|bRvvvvvfm,+vvvvv'fv,+|vvtvf,v=vvv f S + ^-f+ +$ \ No newline at end of file diff --git a/maps/green/CeruleanCave2F.blk b/maps/green/CeruleanCave2F.blk new file mode 100644 index 00000000..c62864da --- /dev/null +++ b/maps/green/CeruleanCave2F.blk @@ -0,0 +1 @@ + (  ((    (#( \ No newline at end of file diff --git a/maps/green/CeruleanCaveB1F.blk b/maps/green/CeruleanCaveB1F.blk new file mode 100644 index 00000000..8411849f --- /dev/null +++ b/maps/green/CeruleanCaveB1F.blk @@ -0,0 +1 @@ +n !"n,- " L  "avvv "Q-+tv "vfvvNvvvvvvf--SQvvvvvL  \ No newline at end of file -- cgit v1.2.3 From 6d56d10e15186039e80f992749d1c526ba5d24e1 Mon Sep 17 00:00:00 2001 From: Rangi Date: Fri, 30 Oct 2020 11:30:39 -0400 Subject: Fix #296 and #297: update the install instructions --- INSTALL.md | 66 +++++++++++++++++++------------------------------------------- 1 file changed, 20 insertions(+), 46 deletions(-) diff --git a/INSTALL.md b/INSTALL.md index f619bffc..5ef1b34c 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -9,6 +9,12 @@ If you run into trouble, ask for help on IRC or Discord (see [README.md](README. Download and install [**Windows Subsystem for Linux**](https://docs.microsoft.com/en-us/windows/wsl/install-win10). Then open the **WSL terminal**. +Update WSL's software before continuing. If you chose Debian, Ubuntu, or another distribution that uses `apt-get`, then enter this command: + +```bash +apt-get update && apt-get upgrade +``` + WSL has its own file system that's not accessible from Windows, but Windows files *are* accessible from WSL. So you're going to want to install pokered within Windows. You'll have to change the **current working directory** every time you open WSL. For example, if you want to store pokered in **C:\Users\\*\*\Desktop**, enter this command: @@ -19,9 +25,9 @@ cd /mnt/c/Users//Desktop (The Windows `C:\` drive is called `/mnt/c/` in WSL. Replace *\* in the example path with your username.) -Then follow [the instructions for **Linux**](#linux). +If this works, then follow [the instructions for **Linux**](#linux) below for whatever distribution you installed for WSL. -If this doesn't work, try following [the regular Windows instructions](#windows) below. +Otherwise, continue reading below for [the older Windows instructions](#windows). ## Windows @@ -36,9 +42,9 @@ Run setup and leave the default settings. At the "**Select Packages**" step, cho Double click on the text that says "**Skip**" next to each package to select the most recent version to install. -Then download [**rgbds**](https://github.com/gbdev/rgbds/releases/): the latest **win64.zip** or **win32.zip** release. Extract it and put all the `exe` and `dll` files individually in **C:\cygwin64\usr\local\bin**. +Then follow the [**rgbds** install instructions](https://rgbds.gbdev.io/install/windows) for Windows with Cygwin to install **rgbds 0.4.1**. -**Note: If you already have an older rgbds, you will need to update to 0.4.1.** Ignore this if you have never installed rgbds before. If a version newer than 0.4.1 does not work, try downloading 0.4.1. +**Note:** If you already have an older rgbds, you will need to update to 0.4.1. Ignore this if you have never installed rgbds before. If a version newer than 0.4.1 does not work, try downloading 0.4.1. Now open the **Cygwin terminal** and enter the following commands. @@ -55,17 +61,13 @@ cd /cygdrive/c/Users//Desktop Now you're ready to [build **pokered**](#build-pokered). -## Mac OS X +## macOS Install [**Homebrew**](https://brew.sh/). Follow the official instructions. -Open **Terminal** and enter the following commands. +Open **Terminal** and prepare to enter commands. -To install **rgbds**: - -```bash -brew install rgbds -``` +Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/macos) for macOS to install **rgbds 0.4.1**. Now you're ready to [build **pokered**](#build-pokered). @@ -82,13 +84,7 @@ To install the software required for **pokered**: sudo apt-get install make gcc git ``` -To install **rgbds**: - -```bash -sudo apt-get install pkg-config flex bison libpng-dev -git clone -b v0.4.1 --depth=1 https://github.com/gbdev/rgbds -sudo make -C rgbds install -``` +Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/source) to build **rgbds 0.4.1** from source. ### OpenSUSE @@ -98,13 +94,7 @@ To install the software required for **pokered**: sudo zypper install make gcc git ``` -To install **rgbds**: - -```bash -sudo zypper install pkg-config flex bison libpng16-devel -git clone -b v0.4.1 --depth=1 https://github.com/gbdev/rgbds -sudo make -C rgbds install -``` +Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/source) to build **rgbds 0.4.1** from source. ### Arch Linux @@ -114,15 +104,9 @@ To install the software required for **pokered**: sudo pacman -S make gcc git ``` -**rgbds** is available on the [AUR](https://aur.archlinux.org/packages/rgbds/). +Then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/arch) for Arch Linux to install **rgbds 0.4.1**. -Alternatively, to install **rgbds** manually: - -```bash -sudo pacman -S pkg-config flex bison libpng -git clone -b v0.4.1 --depth=1 https://github.com/gbdev/rgbds -sudo make -C rgbds install -``` +If you want to compile and install **rgbds** yourself instead, then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/source) to build **rgbds 0.4.1** from source. ### Termux @@ -138,6 +122,8 @@ To install **rgbds**: sudo apt install rgbds ``` +If you want to compile and install **rgbds** yourself instead, then follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/source) to build **rgbds 0.4.1** from source. + ### Other distros If your distro is not listed here, try to find the required software in its repositories: @@ -147,19 +133,7 @@ If your distro is not listed here, try to find the required software in its repo - `git` - `rgbds` -If `rgbds` is not available, you'll also need these: - -- `pkg-config` -- `flex` -- `bison` -- `libpng` (and the development headers) - -To install **rgbds**: - -```bash -git clone -b v0.4.1 --depth=1 https://github.com/gbdev/rgbds -sudo make -C rgbds install -``` +If `rgbds` is not available, you'll need to follow the [**rgbds** instructions](https://rgbds.gbdev.io/install/source) to build **rgbds 0.4.1** from source. Now you're ready to [build **pokered**](#build-pokered). -- cgit v1.2.3